From e48420d45c0d2e3a038f515653e1463a1e23822b Mon Sep 17 00:00:00 2001 From: cvsextras Date: Mon, 8 Nov 2004 05:29:07 +0000 Subject: [PATCH 01/81] auto-import changelog data from tripwire-2.3.1-18.fdr.3.1.src.rpm 2.3.1-18.fdr.3 - Thanks to Michael Schwendt for really cleaning up the Spec file - The remaining parts of the original tripwire-2.3.1-gcc3.patch have now been implemented - Debuginfo fully builds now 2.3.1-18.fdr.2 - Removed version specific grep dependency, since grep >= 2.3 is common - Added openssl-devel and autoconf to build dependencies - The tripwire-jbj.patch is now confirmed to be merged with tw-20030919.patch - Added RPM optimization flags option, disabled by default since it breaks the code - Fixed file permissions of packaged files 2.3.1-18.fdr.1 - Implemented Paul Herman's tw-20030919.patch - Removed the fhs gcc3 and jbj patches, which are now broken/obsoleted by the above - Both the mkstemp and rfc822 patches are still implemented - Build uses autoconf for now - Spec file given complete overhaul for stricter compliance. Still more to do Wed Jan 22 2003 Tim Powers - rebuilt Sat Nov 16 2002 Jeff Johnson 2.3.1-16 - rebuild from cvs. - comment out debug messages to achieve compilation. - include policyguide.txt (#72259). - use mkstemp, not mktemp. Fri Aug 02 2002 Mike A. Harris 2.3.1-14 - Modified default sample twpol file to remove bogus warnings (#70502) Fri Jun 21 2002 Tim Powers 2.3.1-13 - automated rebuild Sun May 26 2002 Tim Powers 2.3.1-12 - automated rebuild Wed May 22 2002 Mike A. Harris 2.3.1-11 - Rebuilt in new build environment with gcc 3.1 Tue Feb 26 2002 Mike A. Harris 2.3.1-9 - Conditionalized gcc3 patch - Added back the ExclusiveArch that is required but disappeared somewhere along the line. - Rebuild in new build environment Thu Jan 31 2002 Mike A. Harris 2.3.1-7 - Bump release and rebuild in new environment. - (Elliot Lee) Add patch to make it build with gcc3. Thu Aug 09 2001 Nalin Dahyabhai 2.3.1-5 - define USE_FHS when USES_FHS is defined, so that the database winds up in the right directory (#51332) - update default twpol file to include files recently-added to the full installation tree Tue Jul 17 2001 Mike A. Harris 2.3.1-4 - Applied bugfix for (#47276) to make tripwire email RFC822 compliant, using patch in bugreport from Michael Schwendt Tue Jul 10 2001 Mike A. Harris 2.3.1-3 - Made package own dir /var/lib/tripwire Mon Jun 25 2001 Nalin Dahyabhai - update to 2.3.1-2 Thu Mar 01 2001 Bill Nottingham - rebuild, fix defattr. Weird. Tue Feb 27 2001 Nalin Dahyabhai - refresh from upstream - modify the default policy to match the current tree more closely (#28744) - make the text files 0644, not 0755 - defattr for the sake of the docs Wed Sep 20 2000 Nalin Dahyabhai - change exclusivearch: i386 to exclusivearch: %{ix86} (#17759) Wed Aug 23 2000 Than Ngo - remove copyleft information in specfile (Bug #16765) Tue Aug 22 2000 Nalin Dahyabhai - remove duplicate source files - sync up description with specspo Fri Aug 04 2000 Than Ngo - remove Vendor and Distribution from specfile (Bug #15246) Fri Aug 04 2000 Than Ngo - starts tripwire --check if it was configured before. (Bug #15384) Fri Aug 04 2000 Nalin Dahyabhai - fix sense of checking for the database's existence in the cron job - actually include twinstall.sh, twcfg.txt, twpol.txt Thu Aug 03 2000 Than Ngo - permission fix (bug #15246) Mon Jul 31 2000 Nalin Dahyabhai - add quickstart docs (Ed) - tweak description text (Ed) Thu Jul 20 2000 Nalin Dahyabhai - update .spec file to follow RPM conventions - add tripwire --check to cron.daily --- .cvsignore | 1 + Latest-Changes | 94 + License-Issues | 57 + README.RPM | 4 + sources | 1 + tripwire-2.3.0-50-rfc822.patch | 12 + tripwire-2.3.1-gcc3.new.patch | 44 + tripwire-mkstemp.patch | 30 + tripwire.cron.in | 8 + tripwire.gif | Bin 0 -> 4679 bytes tripwire.spec | 255 + tripwire.txt | 82 + tw-20030919.patch | 132435 ++++++++++++++++++++++++++++++ twcfg.txt.in | 15 + twinstall.sh.in | 316 + twpol.txt.in | 1104 + 16 files changed, 134458 insertions(+) create mode 100644 Latest-Changes create mode 100644 License-Issues create mode 100644 README.RPM create mode 100644 tripwire-2.3.0-50-rfc822.patch create mode 100644 tripwire-2.3.1-gcc3.new.patch create mode 100644 tripwire-mkstemp.patch create mode 100644 tripwire.cron.in create mode 100644 tripwire.gif create mode 100644 tripwire.spec create mode 100644 tripwire.txt create mode 100644 tw-20030919.patch create mode 100644 twcfg.txt.in create mode 100644 twinstall.sh.in create mode 100644 twpol.txt.in diff --git a/.cvsignore b/.cvsignore index e69de29..79852b8 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1 @@ +tripwire-2.3.1-2.tar.gz diff --git a/Latest-Changes b/Latest-Changes new file mode 100644 index 0000000..230afe6 --- /dev/null +++ b/Latest-Changes @@ -0,0 +1,94 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + +###### + +tripwire-2.3.1-18.fdr.1: Keith G. Roberts-Turner + + +* First Fedora release + +* Implemented Paul Herman's tw-20030919.patch + +Features: + multi-platform configuration via Autoconf's "./configure" + optional linking against OpenSSL + optional linking against STLport + +This patch has been known to work with the following OSes: + RedHat 7.x, 8.0 + FreeBSD 4.x, 5.0 + NetBSD 1.6.1 (requires pthreads port) + OpenBSD 3.x (3.3 must disable propolice) + Solaris 8 + Cygwin (version?) + MacOS X 10.2.6/Darwin 6.6 + (prebinding compatibility not available) + +Furthermore, the following compiler versions have been successfully tested: + GCC 2.95, 3.0, 3.1, 3.2, 3.3 + Apple Computer, Inc. GCC version 1175 + +* Both the mkstemp and rfc822 patches are still implemented + +* Missing Patches + +tripwire-jbj.patch: Obsoleted by tw-20030919.patch +tripwire-2.3.1-2-fhs.patch: Unknown status. Further testing required +tripwire-2.3.1-gcc3.patch: Partially implemented/obsoleted + +* RPM Spec file given complete overhaul for stricter compliance + +###### + +tripwire-2.3.1-18.fdr.2: + +* Removed version specific grep dependency, since grep >= 2.3 is common + +* Added openssl-devel and autoconf to build dependencies + +* The tripwire-jbj.patch is now confirmed to be merged with + tw-20030919.patch + +* Added RPM optimization flags option + +Unfortunately, this breaks the code + +To quote Michael Schwendt + "RPM opt flags break "cryptlib". twadmin enters a deadlock in + SubatomicDivide() (cryptlib/integer.cpp) while generating a key." + +Therefore this option has been commented out until integer.cpp is fixed + +* set umask 022 during install, rather than allowing group writable + permissions + +* Added License-Issues to documentation + +###### + +tripwire-2.3.1-18.fdr.3: + +* Thanks to Michael Schwendt for really cleaning up the Spec file + + All the hard coded paths have now been replaced with variables, + including some nice rpm macros and templates + +* Proper debuginfo packages build now + +* The remaining parts of the original tripwire-2.3.1-gcc3.patch have now + been implemented + + The new patch is called tripwire-2.3.1-gcc3.new.patch, and + basically just patches references to gmake to ${MAKE}. There's + also a small function patch that was part of the original + +###### + +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.2.2 (GNU/Linux) + +iD8DBQE/x2SD2XoLj+pGfn8RAlJdAJ9dNbyrmw6YiTSRAIm543igMbCGQACfejl6 +FsHjHaNznTiGjCnLR/+q4JA= +=K/+A +-----END PGP SIGNATURE----- diff --git a/License-Issues b/License-Issues new file mode 100644 index 0000000..5e7fc8b --- /dev/null +++ b/License-Issues @@ -0,0 +1,57 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + +There seems to be some speculation as to the legal status of this software. + +The problem seems to stem from patents, copyrights and licenses in the +cryptlib distribution, by Wei Dei. + +For more information on the exact issues, please refer to the following URL: + +http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=153007 + +The situation with the Fedora release is not as complex however, since many +of the questionable components are not included, specifically: + +The following are not in the archive, so there is no issue: +src/cryptlib/idea.cpp +src/cryptlib/haval.cpp +src/cryptlib/mars.cpp +src/cryptlib/serpent.cpp +src/cryptlib/md5.cpp +src/cryptlib/md5mac.cpp +src/cryptlib/cast.cpp + +The following are copyrighted, but have no license: +src/cryptlib/zbits.cpp +src/cryptlib/ztrees.cpp +src/cryptlib/zdeflate.cpp +src/cryptlib/sha.cpp ? + +With regards to those last four files, Stephen Zander +is apparently going to approach Wei Dei with regards clearing up the "no +license" issues. However, I don't think this is a "fatal" problem at this +stage. Hopefully this will include clearing up the implications of section +2 of src/cryptlib/license.txt, which reads: + +"2. Users of the software included in this compilation agree to use +their best efforts to provide Wei Dai with any modifications containing +improvements or extensions and hereby grant Wei Dai a perpetual, +royalty-free license to use and distribute such modifications under +the terms of this license." + +I'm no GPL/OSS expert, but there are some who believe this is incompatible +with the GPL. Discussions are ongoing, and I will continue to update this +file in future releases with any news. + +Keith G. Robertson-Turner +tripwire-devel@genesis-x.nildram.co.uk + + +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.2.2 (GNU/Linux) + +iD8DBQE/xiN72XoLj+pGfn8RAqnQAJ944Fm/V3gyws8oSVdsrq+ChWckuQCfaB27 +hgduYwJ2Z4qQEGHfdtypOrw= +=28t6 +-----END PGP SIGNATURE----- diff --git a/README.RPM b/README.RPM new file mode 100644 index 0000000..74eccb4 --- /dev/null +++ b/README.RPM @@ -0,0 +1,4 @@ +After installing this package, you should run "/etc/tripwire/twinstall.sh" +to generate cryptographic keys, and "tripwire --init" to initialize the +database Tripwire uses. This must be done manually because the key used to +sign the database should be different for each system. diff --git a/sources b/sources index e69de29..5e32f40 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +6a15fe110565cef9ed33c1c7e070355e tripwire-2.3.1-2.tar.gz diff --git a/tripwire-2.3.0-50-rfc822.patch b/tripwire-2.3.0-50-rfc822.patch new file mode 100644 index 0000000..7811135 --- /dev/null +++ b/tripwire-2.3.0-50-rfc822.patch @@ -0,0 +1,12 @@ +diff -Naur tripwire-2.3.0-50-orig/src/tripwire/mailmessage.cpp tripwire-2.3.0-50/src/tripwire/mailmessage.cpp +--- tripwire-2.3.0-50-orig/src/tripwire/mailmessage.cpp Sat Oct 28 02:26:18 2000 ++++ tripwire-2.3.0-50/src/tripwire/mailmessage.cpp Thu Jul 5 05:12:54 2001 +@@ -241,7 +241,7 @@ + time_t current_time = time(NULL); + tm = localtime ( ¤t_time ); + +- const TCHAR* szFormat = _T("%a %d %b %Y %H:%M:%S %z"); ++ const TCHAR* szFormat = _T("%a, %d %b %Y %H:%M:%S %z"); + + size_t numChars = _tcsftime( szDate, countof( szDate ), szFormat, tm ); + diff --git a/tripwire-2.3.1-gcc3.new.patch b/tripwire-2.3.1-gcc3.new.patch new file mode 100644 index 0000000..5f83bfd --- /dev/null +++ b/tripwire-2.3.1-gcc3.new.patch @@ -0,0 +1,44 @@ +diff -Nur tripwire-2.3.1-2/src/cryptlib/i686-pc-linux.mak tripwire-2.3.1-2.gcc3.backport/src/cryptlib/i686-pc-linux.mak +--- tripwire-2.3.1-2/src/cryptlib/i686-pc-linux.mak 2000-10-28 01:26:21.000000000 +0100 ++++ tripwire-2.3.1-2.gcc3.backport/src/cryptlib/i686-pc-linux.mak 2003-11-28 14:00:29.000000000 +0000 +@@ -71,12 +71,12 @@ + # Recusively call make defining the appropriate $(D_FLAGS) var + + debug: +- gmake -f $(MAKEFILE) cryptlib_d.a "D_FLAGS=$(DEBUG_FLAGS)" "LDFLAGS=DEBUG_LDFLAGS" +-# gmake -f $(MAKEFILE) cryptest_d "D_FLAGS=$(DEBUG_FLAGS)" "LDFLAGS=DEBUG_LDFLAGS" ++ $(MAKE) -f $(MAKEFILE) cryptlib_d.a "D_FLAGS=$(DEBUG_FLAGS)" "LDFLAGS=DEBUG_LDFLAGS" ++# $(MAKE) -f $(MAKEFILE) cryptest_d "D_FLAGS=$(DEBUG_FLAGS)" "LDFLAGS=DEBUG_LDFLAGS" + + release: +- gmake -f $(MAKEFILE) cryptlib.a "D_FLAGS=$(NDEBUG_FLAGS)" "LDFLAGS=NDEBUG_LDFLAGS" +-# gmake -f $(MAKEFILE) cryptest "D_FLAGS=$(NDEBUG_FLAGS)" "LDFLAGS=NDEBUG_LDFLAGS" ++ $(MAKE) -f $(MAKEFILE) cryptlib.a "D_FLAGS=$(NDEBUG_FLAGS)" "LDFLAGS=NDEBUG_LDFLAGS" ++# $(MAKE) -f $(MAKEFILE) cryptest "D_FLAGS=$(NDEBUG_FLAGS)" "LDFLAGS=NDEBUG_LDFLAGS" + + + ############################################################################### +diff -Nur tripwire-2.3.1-2/src/cryptlib/misc.h tripwire-2.3.1-2.gcc3.backport/src/cryptlib/misc.h +--- tripwire-2.3.1-2/src/cryptlib/misc.h 2003-11-28 14:03:03.000000000 +0000 ++++ tripwire-2.3.1-2.gcc3.backport/src/cryptlib/misc.h 2003-11-28 14:00:29.000000000 +0000 +@@ -150,7 +150,7 @@ + operator T *() + {return ptr;} + +-#if !defined(_MSC_VER) && !defined(_KCC) ++#if !defined(_MSC_VER) && !defined(_KCC) && 0 + T *operator +(unsigned int offset) + {return ptr+offset;} + const T *operator +(unsigned int offset) const +diff -Nur tripwire-2.3.1-2/src/Makefile tripwire-2.3.1-2.gcc3.backport/src/Makefile +--- tripwire-2.3.1-2/src/Makefile 2001-03-04 04:03:52.000000000 +0000 ++++ tripwire-2.3.1-2.gcc3.backport/src/Makefile 2003-11-28 14:01:21.000000000 +0000 +@@ -93,7 +93,7 @@ + # file to Makefile.linux_intel or something similar. + + MAKEFILE = Makefile +-GMAKE = gmake ++GMAKE = ${MAKE} + + #----------------------------------------------------------------------------- + # STLPORT diff --git a/tripwire-mkstemp.patch b/tripwire-mkstemp.patch new file mode 100644 index 0000000..daeae8c --- /dev/null +++ b/tripwire-mkstemp.patch @@ -0,0 +1,30 @@ +--- tripwire-2.3.1-2/src/core/unix/unixfsservices.cpp.mkstemp 2001-02-24 14:02:12.000000000 -0500 ++++ tripwire-2.3.1-2/src/core/unix/unixfsservices.cpp 2003-01-04 12:54:33.000000000 -0500 +@@ -243,6 +243,7 @@ + { + char* pchTempFileName; + char szTemplate[MAXPATHLEN]; ++ int fd; + + #ifdef _UNICODE + // convert template from wide character to multi-byte string +@@ -253,13 +254,12 @@ + strcpy( szTemplate, strName.c_str() ); + #endif + +- // create temp filename +- pchTempFileName = mktemp( szTemplate ); +- +- //check to see if mktemp failed +- if ( pchTempFileName == NULL || strlen(pchTempFileName) == 0) { +- throw eFSServicesGeneric( strName ); +- } ++ // create temp filename and check to see if mkstemp failed ++ if ((fd = mkstemp( szTemplate )) == -1) ++ throw eFSServicesGeneric( strName ); ++ else ++ close(fd); ++ pchTempFileName = szTemplate; + + // change name so that it has the XXXXXX part filled in + #ifdef _UNICODE diff --git a/tripwire.cron.in b/tripwire.cron.in new file mode 100644 index 0000000..d951ec1 --- /dev/null +++ b/tripwire.cron.in @@ -0,0 +1,8 @@ +#!/bin/sh +HOST_NAME=`uname -n` +if [ ! -e @vardir@/lib/tripwire/${HOST_NAME}.twd ] ; then + echo "**** Error: Tripwire database for ${HOST_NAME} not found. ****" + echo "**** Run "@sysconfdir@/tripwire/twinstall.sh" and/or "tripwire --init". ****" +else + test -f @sysconfdir@/tripwire/tw.cfg && @sbindir@/tripwire --check +fi diff --git a/tripwire.gif b/tripwire.gif new file mode 100644 index 0000000000000000000000000000000000000000..ac9d5eb05b55a69eadc9b4aa2c2f6088e22059a1 GIT binary patch literal 4679 zcmV-N61eS0Nk%v~VNwBN0`LF;1Ox>C|Nkri0000|0b&9G0{)DTsmtvTqnxzbi?iOm z`wxcVNS5Y_rs`S(?hD8AOxN}uv--~WJ_Pt}g2JNlh|Ca^lO^*BjsBcc2DOUKYB^U= zH}u_#$K*s<<3gRw>~?g03BtMVx?MVttMB}NF>e8=T_DEN|wsgx(bW+sxupF%T#-KyW8oO%M0wP5GjX{V*r=; z8_cY7wboT^*3w*E_8jnXAd{^vZH(-lmQ7wPzOZbq{y0taO%DE!JYPO6jR3lNG-RQYH<`JqufDVu*Wk}R# zL3`k~dM#P?s#r8F@xgOS^`W$i`A%9H3s=%xoNPgfylXOo)wtHOz9T8_X-^1jOVi1+n5*Rp^+;y9W&W7EShH}49uiCGH1{b<%UiS$gRh=0YQCa?fEq0)LbnR zo(NX2Y}8F^-=h+;VnW@!`O*f9uy)tav5Ut|4Y;md+=iPwAA8(1yX#`J8~w?>`{M9d zGkYOlemwf1=3TBAiX*=K`Sjbr&uIVt_5Aw&i}UX<+kXItCg6aU6=j;pL_p^v2ishE(Y5SgKoo8&^{B}#Hq%M$4z`J{W)Tv_ELQ}UE0CCjixWtR|& z0H&CZ{PI$mW@`6AO=_+=VVlD-31=^Dyjdr4kL5`So?Y?Dho7YZdWWEw5xOUvopD4N zqNV`FVWd_%s-96Nfh5pxQDI;xrH5K599?Fu1*xa3=n-mL$z@uqsbUbbRb3K&YMrZ? zp~}^3m=+cethSzd=dZvfD(n`WcIy7=vBka`NQ}vBx2!Cj{t>Mfm>9;ZZRdS5AWP}Bw`r^DxZO&-h^*lj_3gUewrdYyUo{!0ybZO<0=bU9vX{SzDyuIPiYRkb z!3HZDO~MNA>)A)#fD~25ROS0HwawWDTtv!wTx-S}6IY#-uc?|AzD0^`#Brpm1#Ud? zvMhukfsMrKrGag8Jxf(MUU^^wN6->-0=KPEGX;Q5Pcc)l6%R zAJ<)b-6Ggwi@i_QWIK7bI%cQcDBI1f?e?T`0|WQmWZ6wO-g)c2OWk~v_VrzH< zob=GI&Rb&yE9iaGa7~ZI_u-#k`fT8%V>tV&kv<{$BX{4r%}lqSbsWcRYmz${d&BHf!h zs6UjHOoW877hC=(I|Ek1gY)AO@+^l#`T-AisN>uOWtasN{!oHF{G4&%<%xrZtTROP z;d3(Bx+SVEhO}Z={tjnIz${uV9ugBwuQKJ0?OE(%!nMIyd7Mrj&2p~4DeYwkFCKF=C1m-cF$w^~E6PdkK<}-t+#cXbnn$5)J+tjwqjexT+ z;rt*u&w0xv&`?o(OK17U=^=OiC>Um}rZ<_fP61YtmfgHXK0l$BFsbREp_9z4s5DS` z_6;EL;^#H~{Yg)T?o*u7TxdJJ*iUBS6GRC`r-nLO4T4J1nj~%KH|-hCkScVV6vZbL zEh^r1S<>1N7V!-#s6r7}IKN>Qp&$>7YW6-}v0nF!OSCe;=V z6KYI@icGxK(m+4Qp4AL=%GU zw4`fo+mhlsw7TA~uU9>5CDh6(8t#>wcG_Vh7VFT)K8>(a73*UmgIHMd^`3rshVZag zD8LFsvaNxtUpp&WqxGq(JoBGwHuc3}zzwpTtwR{#$gw?!M0bHoEiF(>#ef!)Rhay$ z_-g(e*~geNj>BcG6$D0Gr*^U`Wz^#(cc!P~N_VrB9l}K6r&-1(*H~^!MP|3lQ_B)l zjoQrOdewUkbIFCKvegVor<+|%Rnljbxi5aH>&1?k42~mJUw5$?x(nu}xcUrGVY#~; z-Da|&4nA;q+sIsY+V{a~Tv>ET1;b>BbgJWhR9m^@U*L{5JSpxhW=C9N^!7;??`bjC zQUGHJ!}m;I%CU~`dRWl1n8Vt|oPKP~W0&}ts8|j1-4cXkFL7%?QAS)QmTcFS>XgDZ zBJzyE+hq$cPOB8E@{pn^Av2$uk!kkwWf@!{HP5p{axN>K-Aq{w)p^bF6!VcdivH)v z0@}}l{b-;mw`bNRI(3U~ESA5_{FwA z5bXAxl5dUc6ngh}roHxHyB!mEZ%5sygf>3}KD&bd8rvb7cf1I`yMHfSdlMITsr~J6 zC6uYZ8ISR@$+U5OKbhLbr9;SvIC6&Do8FGq;m1jCy9S-yz!;CTk?&n^{w}+G-)Fh) zmEXr--o9JN$KH9m_shbdzkKLJrxV9{c)iyaW=>V57zrmiN232Ye^7s;0=@1)yex86 z7ngXm*^_VyPZHD=jMYJb9&weEDD4@ppiC|pE~wIu+1T-`&IX(_Nk+IFE>sTOwO;J; zp?l^x@3=9vP1Y$>yypF`c!7(q^uUT-@-|;NZv{N{)x7qt*|Yq2E8m;lO3LxA4WP{2 zzF?hC9`kH=E~K8N@ZbWzji4vD;w^u(oBfaKp1!_Bo}WyT6~isz`)5PGiwF8@A1>IbgL>@#!+dO%7k(GBWpzwP zxckVbedp(HdRr$sE`obW^K{84fNzB$Utn%6mvRQTdafmU2jO~{Hb$6aJpI>q0hoA8 zhZb^lP@)nucDH)p=YQ$-fMSO({!<#5l3{3Obewl~?1W+O5_TY?U<`O5tVd!PH$sIs zDn7A$(cu)f7lU*KaQPK^Jm-5Gh=3i)gqatG&c}66=y6jBf$M;9^Cxt27jQ#?Zv>Qn z{GxhRScM&?ewZVFM~DkKXINgKD;L9o&&OVZG7H>ic20;z-v(q>Vh(($gtPYs8Tfx? z!5loe69QFa-?0{M7;|j6V_w)~2ULiYID-vWiEkKh@R9z6n#hG^(}}(IiCP$n)s}{5 zn1F2Fgu&9fFRg6%$Wzl$r(DW_n=8GzZdXeZ=@-tiYm~7d&k0z#%?Wj~_){J1djud8)5CvwN zmV3L?kkLcWFyj#I7c*|j6eWp`Er~!s zIDUZ%m<`5r=CwbanL&8zex*5nO=6ke*p!T@k{c~^ zPKTeK=nFb{ejtX2+qYlP$#g3=ZR=T5i`k#zGI)>3lcj`F%QrD;8AA|CQc`yp6o`Qr zNMNcNowGSAui2qUIR&?=21qiWuC;%Lr=oPpqHlPXrKm`C_kJ_up}E<3CMsJ|`C*a7 zp{Mhs*79OhnTOexq&HfECV7!Q^Q2HZpvq~HRZ3nhph=XbrCEq9|9GSXI+JrKrTp}z zn2}d6iJ|RDeA`)E5x%+lAlVa7P+UJ zXh&)4V)&SlL@&iV;PRCDy_{oBegnA@TqIfs$z2KY~IS1ovCcqs%YX$Hqjb5 z@|vpec&5LKj@5~*_Uf*}TCU1krpyYk_-d^BDvp`!!wXh5eujQ7nTX~NY zd!b`BtO?r*S=p`T>ZR9et2oB1S6X8c8=fU6Z|WLW47y<|YhfU(u_B9BK?)!Z`;070 za{~*goq8WOJBV6I9zOnSun}V*LVK|?IAkuHZ4tR2CfhGi#IcdNR3)pl)Y4FBSz1)< zu|MmVzHt$*fe<*0c2zrB0mM_S-sJMsCgOz%zBV>^r8Vqn3d7{g>yTc zDYJW73#sfFv{7q6JR83Z>z$EDz?jIuOliRE2ys2zZc|!e<*2yeRIG6)D0mtefr1!YFIPE{v)-jKi`TuCf-jDa@}Ki?Bhw!^tYdM_j~2+`|Pc z!%E!5NW8=X3&lxH!$aIV_qoL9E4e4qP)Gf?Djj zSA48+Ot*sQ#Xua!WK6|*jK?heuqf=q73{xd2FQaOXKt*sSb?j~L&$Wz#l`x)*=oU$ z9LKgh{=K6}irY)L^e4%WJGPD6$ji#ebBwXS=c=8&$!)s9n7n=-+=Rhf$*l{zubjT0 zOM0_R%CH>Ew;aloYq)fH%HFq=H(|&p+{(P{%DQ}QQ4+|uoXH25yoan5&n&vmtjg02 ziq+h6HoSy;iOjORKVNki*^AAb=wV?=n4zX>YBkJ5kjU-q&IRaxUuQ^Px6QEw&yz`- zfYd_RDaXl~m^><*Ujf6#qZcH4ek{dG?%OZiitrdd3^gXeoVlugB6fwaz-6At9uvzlpZo%+Uon zEz+kuydymaHC@JmXw+DE(I*YTz?(Z0-Oo-f(L+hlDG54I{m@d4(p3FwSl!c>>^AQV JIgC*N06V>yOq>7! literal 0 HcmV?d00001 diff --git a/tripwire.spec b/tripwire.spec new file mode 100644 index 0000000..8e534f0 --- /dev/null +++ b/tripwire.spec @@ -0,0 +1,255 @@ +%define path_to_vi /bin/vi +%define path_to_sendmail /usr/sbin/sendmail +Summary: A system integrity assessment tool. +Name: tripwire +Version: 2.3.1 +Release: 18.fdr.3.1 +Epoch: 0 +License: GPL +Group: Applications/System +Source0: http://download.sourceforge.net/tripwire/tripwire-2.3.1-2.tar.gz +Source1: tripwire.cron.in +Source2: tripwire.txt +Source3: tripwire.gif +Source4: twcfg.txt.in +Source5: twinstall.sh.in +Source6: twpol.txt.in +Source7: README.RPM +Source8: Latest-Changes +Source9: License-Issues +URL: http://www.tripwire.org/ +Buildrequires: autoconf, openssl-devel +Requires: sed, grep, gzip, tar, gawk +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +# Tripwire is NOT 64bit clean, nor endian clean, and only works properly +# on x86 architecture. The open source code doesn't seem to be maintained, +# so this is probably unlikely to change. We exclude non x86 arches. +ExclusiveArch: %{ix86} + +Patch0: tripwire-2.3.0-50-rfc822.patch +Patch1: tripwire-mkstemp.patch +Patch2: tw-20030919.patch +Patch3: tripwire-2.3.1-gcc3.new.patch + +%description +Tripwire is a very valuable security tool for Linux systems, if it is +installed to a clean system. Tripwire should be installed right after +the OS installation, and before you have connected your system to a +network (i.e., before any possibility exists that someone could alter +files on your system). + +When Tripwire is initially set up, it creates a database that records +certain file information. Then when it is run, it compares a +designated set of files and directories to the information stored in +the database. Added or deleted files are flagged and reported, as are +any files that have changed from their previously recorded state in +the database. When Tripwire is run against system files on a regular +basis, any file changes will be spotted when Tripwire is run. +Tripwire will report the changes, which will give system +administrators a clue that they need to enact damage control measures +immediately if certain files have been altered. + +After installing this package, run %{_sysconfdir}/tripwire/twinstall.sh to +generate cryptographic keys and run tripwire --init to initialize the +database. + +%prep +%setup -q -n %{name}-2.3.1-2 +cp -p %{SOURCE2} quickstart.txt +cp -p %{SOURCE3} quickstart.gif + +%patch0 -p1 -b .rfc822 +%patch1 -p1 -b .mkstemp +%patch2 -p1 -b .tw-20030919 +%patch3 -p1 -b .gcc3.new + +%build +chmod 755 configure +# RPM_OPT_FLAGS break the code (deadlock). +export CXXFLAGS="-O -Wall -pipe -g" +./configure \ + path_to_vi=%{path_to_vi} \ + path_to_sendmail=%{path_to_sendmail} \ + --prefix=/ \ + --sysconfdir=%{_sysconfdir}/tripwire \ + --sbindir=%{_sbindir} \ + --libdir=%{_var}/lib \ + --mandir=%{_mandir} + +# Do not parallelize this with _smp_flags or -j +make + +%install +rm -fr ${RPM_BUILD_ROOT} + +# Install the binaries. +mkdir -p ${RPM_BUILD_ROOT}%{_sbindir} +install -p -m755 bin/siggen ${RPM_BUILD_ROOT}%{_sbindir} +install -p -m755 bin/tripwire ${RPM_BUILD_ROOT}%{_sbindir} +install -p -m755 bin/twadmin ${RPM_BUILD_ROOT}%{_sbindir} +install -p -m755 bin/twprint ${RPM_BUILD_ROOT}%{_sbindir} + +# Install the man pages. +mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/{man4,man5,man8} +install -p -m644 man/man4/*.4 ${RPM_BUILD_ROOT}%{_mandir}/man4/ +install -p -m644 man/man5/*.5 ${RPM_BUILD_ROOT}%{_mandir}/man5/ +install -p -m644 man/man8/*.8 ${RPM_BUILD_ROOT}%{_mandir}/man8/ + +# Create configuration files from templates. +rm -rf _tmpcfg +mkdir _tmpcfg +for infile in %{SOURCE1} %{SOURCE4} %{SOURCE5} %{SOURCE6} ; do + outfile=${infile##/*/} + outfile=${outfile%.*n} + cat ${infile} |\ + sed -e 's|@path_to_vi@|%{path_to_vi}|g' |\ + sed -e 's|@path_to_sendmail@|%{path_to_sendmail}|g' |\ + sed -e 's|@sysconfdir@|%{_sysconfdir}|g' |\ + sed -e 's|@sbindir@|%{_sbindir}|g' |\ + sed -e 's|@vardir@|%{_var}|g' >\ + _tmpcfg/${outfile} +done + +# Create the reports directory. +install -d -m700 ${RPM_BUILD_ROOT}%{_var}/lib/tripwire/report + +# Install the cron job. +install -d -m755 ${RPM_BUILD_ROOT}%{_sysconfdir}/cron.daily +install -p -m755 _tmpcfg/tripwire.cron \ + ${RPM_BUILD_ROOT}%{_sysconfdir}/cron.daily/tripwire-check +rm _tmpcfg/tripwire.cron + +# Install configuration files. +mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/tripwire +for file in _tmpcfg/* ; do + install -p -m644 ${file} ${RPM_BUILD_ROOT}%{_sysconfdir}/tripwire +done + +# Fix permissions on documentation files. +cp -p %{SOURCE7} %{SOURCE8} %{SOURCE9} . +chmod 644 README Release_Notes ChangeLog COPYING TRADEMARK quickstart.gif quickstart.txt README.RPM policy/policyguide.txt Latest-Changes License-Issues + +%clean +rm -fr ${RPM_BUILD_ROOT} + +%files +%defattr(-,root,root,-) +%doc README Release_Notes ChangeLog COPYING TRADEMARK quickstart.gif quickstart.txt README.RPM policy/policyguide.txt Latest-Changes License-Issues +%attr(0755,root,root) %dir %{_sysconfdir}/tripwire +%attr(0755,root,root) %{_sysconfdir}/tripwire/twinstall.sh +%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/tripwire/twcfg.txt +%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/tripwire/twpol.txt +%attr(0755,root,root) %config(noreplace) %{_sysconfdir}/cron.daily/tripwire-check +%attr(0755,root,root) %dir %{_var}/lib/tripwire +%attr(0755,root,root) %dir %{_var}/lib/tripwire/report +%attr(0644,root,root) %{_mandir}/*/* +%attr(0755,root,root) %{_sbindir}/* + +%changelog +* Fri Nov 28 2003 Keith G. Robertson-Turner 0:2.3.1-18.fdr.3 +- Thanks to Michael Schwendt for really cleaning up the Spec file +- The remaining parts of the original tripwire-2.3.1-gcc3.patch have now been implemented +- Debuginfo fully builds now + +* Thu Nov 27 2003 Keith G. Robertson-Turner 0:2.3.1-18.fdr.2 +- Removed version specific grep dependency, since grep >= 2.3 is common +- Added openssl-devel and autoconf to build dependencies +- The tripwire-jbj.patch is now confirmed to be merged with tw-20030919.patch +- Added RPM optimization flags option, disabled by default since it breaks the code +- Fixed file permissions of packaged files + +* Wed Nov 26 2003 Keith G. Robertson-Turner 0:2.3.1-18.fdr.1 +- Implemented Paul Herman's tw-20030919.patch +- Removed the fhs gcc3 and jbj patches, which are now broken/obsoleted by the above +- Both the mkstemp and rfc822 patches are still implemented +- Build uses autoconf for now +- Spec file given complete overhaul for stricter compliance. Still more to do + +* Wed Jan 22 2003 Tim Powers +- rebuilt + +* Sat Nov 16 2002 Jeff Johnson 2.3.1-16 +- rebuild from cvs. +- comment out debug messages to achieve compilation. +- include policyguide.txt (#72259). +- use mkstemp, not mktemp. + +* Fri Aug 02 2002 Mike A. Harris 2.3.1-14 +- Modified default sample twpol file to remove bogus warnings (#70502) + +* Fri Jun 21 2002 Tim Powers 2.3.1-13 +- automated rebuild + +* Sun May 26 2002 Tim Powers 2.3.1-12 +- automated rebuild + +* Wed May 22 2002 Mike A. Harris 2.3.1-11 +- Rebuilt in new build environment with gcc 3.1 + +* Tue Feb 26 2002 Mike A. Harris 2.3.1-9 +- Conditionalized gcc3 patch +- Added back the ExclusiveArch that is required but disappeared somewhere along + the line. +- Rebuild in new build environment + +* Thu Jan 31 2002 Mike A. Harris 2.3.1-7 +- Bump release and rebuild in new environment. +- (Elliot Lee) Add patch to make it build with gcc3. + +* Thu Aug 9 2001 Nalin Dahyabhai 2.3.1-5 +- define USE_FHS when USES_FHS is defined, so that the database winds up + in the right directory (#51332) +- update default twpol file to include files recently-added to the full + installation tree + +* Tue Jul 17 2001 Mike A. Harris 2.3.1-4 +- Applied bugfix for (#47276) to make tripwire email RFC822 compliant, using + patch in bugreport from Michael Schwendt + +* Tue Jul 10 2001 Mike A. Harris 2.3.1-3 +- Made package own dir /var/lib/tripwire + +* Mon Jun 25 2001 Nalin Dahyabhai +- update to 2.3.1-2 + +* Thu Mar 1 2001 Bill Nottingham +- rebuild, fix defattr. Weird. + +* Tue Feb 27 2001 Nalin Dahyabhai +- refresh from upstream +- modify the default policy to match the current tree more closely (#28744) +- make the text files 0644, not 0755 +- defattr for the sake of the docs + +* Wed Sep 20 2000 Nalin Dahyabhai +- change exclusivearch: i386 to exclusivearch: %%{ix86} (#17759) + +* Wed Aug 23 2000 Than Ngo +- remove copyleft information in specfile (Bug #16765) + +* Tue Aug 22 2000 Nalin Dahyabhai +- remove duplicate source files +- sync up description with specspo + +* Fri Aug 4 2000 Than Ngo +- remove Vendor and Distribution from specfile (Bug #15246) + +* Fri Aug 4 2000 Than Ngo +- starts tripwire --check if it was configured before. (Bug #15384) + +* Fri Aug 4 2000 Nalin Dahyabhai +- fix sense of checking for the database's existence in the cron job +- actually include twinstall.sh, twcfg.txt, twpol.txt + +* Thu Aug 3 2000 Than Ngo +- permission fix (bug #15246) + +* Mon Jul 31 2000 Nalin Dahyabhai +- add quickstart docs (Ed) +- tweak description text (Ed) + +* Thu Jul 20 2000 Nalin Dahyabhai +- update .spec file to follow RPM conventions +- add tripwire --check to cron.daily + diff --git a/tripwire.txt b/tripwire.txt new file mode 100644 index 0000000..b29aa7e --- /dev/null +++ b/tripwire.txt @@ -0,0 +1,82 @@ +Introduction +Tripwire v2.3 software ensures the integrity of critical system files and directories by identifying all changes made to specified system files and directories. Configure Tripwire software to monitor your system in the way that is best for you. + +Tripwire software works by comparing files and directories against a baseline. It generates the baseline by taking a "snapshot" of specified files and directories in a known secure state. Tripwire software then compares the current system against the baseline and reports any modifications, additions, or deletions. Use Tripwire software for system security, intrusion detection, damage assessment, and recovery forensics. + +To install Tripwire v2.3 +1. Locate the RPM directory on the CD. +2. Locate the Tripwire RPM. +3. Type rpm -i "name" +4. After installing the Tripwire binary RPM, follow these Post-Installation instructions. +5. We recommend you read the Release Notes and README file. + +Post-Installation Instructions +The Tripwire binary RPM installs the basic program files needed to run the software. However, this installation does not complete custom configurations that Tripwire 2.3 needs to perform correctly. After you unpack the RPM, you must: +1. Run the configuration script: /etc/tripwire/twinstall.sh to sign these files. This script walks you through the processes of setting passphrases and signing the Tripwire policy and configuration files. +Note: Once encoded and signed, the configuration file should not be renamed or moved. +2. Initialize the Tripwire database file. (/usr/sbin/tripwire--init) +3. Run the first integrity check. (/usr/sbin/tripwire--check) +4. Edit the configuration file (twcfg.txt) with a text editor, if desired. +5. Edit the policy file (twpol.txt) with a text editor, if desired. + +Note: If you plan to modify the policy file, we recommend you do so before running the configuration script. If you modify the policy file after running the configuration script, you must re-run the configuration file before initializing the database file. + +Modifying the Policy File +You can specify how Tripwire software checks your system in the Tripwire policy file (twpol.txt). A default policy file is included in the Tripwire software installation. We recommend you tailor this policy file to fit your particular system. Tailoring the policy file greatly increases Tripwire software's ability to ensure the integrity of your system. + +Locate the default policy file at /etc/tripwire/twpol.txt. An example policy file (located at /usr/doc/tripwire-VER#-REL#/policyguide.txt) is included to help you learn the policy language. Read the sample policy file and the comments in the sample policy file to learn the policy language. + +After you modify the policy file, follow the Post-Installation Instructions (run the configuration script). This script signs the modified policy file and renames it to tw.pol. This is the active policy file that runs as part of the Tripwire software. + +Selecting Passphrases +Tripwire files are signed or encrypted using site or local keys. These keys are protected by passphrases. When selecting passphrases, the following recommendations apply: +Use at least eight alphanumeric and symbolic characters for each passphrase. The maximum length of a passphrase is 1023 characters. Quotes should not be used as passphrase characters. + +Assign a unique passphrase for the site key. The site key passphrase protects the site key, which is used to sign Tripwire software configuration and policy files. Assign a unique passphrase for the local key. The local key signs Tripwire database files. The local key may sign the Tripwire report files also. + +Store the passphrases in a secure location. There is no way to remove encryption from a signed file if you forget your passphrase. If you forget the passphrases, the files are unusable. In that case you must reinitialize the baseline database. + +Initializing the Database +In Database Initialization mode, Tripwire software builds a database of filesystem objects based on the rules in the policy file. This database serves as the baseline for integrity checks. The syntax for Database Initialization mode is: +tripwire --init + +Running an Integrity Check +The Integrity Check mode compares the current file system objects with their properties recorded in the Tripwire database. Violations are printed to stdout. The report file is saved and can later be accessed by twprint. An email option enables you to send email. The syntax for Integrity Check mode is: +tripwire --check + +Printing Reports - twprint Print Report Mode +The twprint --print-report mode prints the contents of a Tripwire report. If you do not specify a report with the --twrfile or -r command-line argument, the default report file specified by the configuration file REPORTFILE variable is used. +Example: On a machine named LIGHTHOUSE, the command would be: +./twprint -m r --twrfile LIGHTHOUSE-19990622-021212.twr + +Updating the Database after an Integrity Check +Database Update mode enables you to update the Tripwire database after an integrity check if you determine that the violations discovered are valid. This update process saves time by enabling you to update the database without having to re-initialize it. It also enables selective updating, which cannot be done through re-initialization. The syntax for Database Update mode is: +tripwire --update + +Updating the Policy File +Change the way that Tripwire software scans the system by changing the rules in the policy file. You can then update the database without a complete re-initialization. This saves a significant amount of time and preserves security by keeping the policy file synchronized with the database it uses. The syntax for Policy Update mode is: +tripwire --update-policy + +Testing email functions +Test mode tests the software's email notification system, using the settings currently specified in the configuration file. The syntax for Email Test Reporting mode is: +tripwire --test + +Tripwire Components +The policy file begins as a text file containing comments, rules, directives, and variables. These dictate the way Tripwire software checks your system. Each rule in the policy file specifies a system object to be monitored. Rules also describe which changes to the object to report, and which to ignore. + +System objects are the files and directories you wish to monitor. Each object is identified by an object name. A property refers to a single characteristic of an object that Tripwire software can monitor. Directives control conditional processing of sets of rules in a policy file. During installation, the text policy file is encrypted and renamed, and becomes the active policy file. + +The database file is an important component of Tripwire software. When first installed, Tripwire software uses the policy file rules to create the database file. The database file is a baseline "snapshot" of the system in a known secure state. Tripwire software compares this baseline against the current system to determine what changes have occurred. This is an integrity check. + +When you perform an integrity check, Tripwire software produces report files. Report files summarize any changes that violated the policy file rules during the integrity check. You can view the report file in a variety of formats, at varying levels of detail. + +The Tripwire configuration file stores system-specific information, such as the location of Tripwire data files. Tripwire software generates some of the configuration file information during installation. The system administrator can change parameters in the configuration file at any time. The configuration file variables POLFILE, DBFILE, REPORTFILE, SITEKEYFILE, and LOCALKEYFILE specify where the policy file, database file, report files, and site and local key files reside. These variables must be defined or the configuration file is invalid. If any of these variables are undefined, an error occurs on execution of Tripwire software and the program exits. + +Tripwire Help +All Tripwire commands support the help arguments. Example: To get help with Create Configuration File mode, type: ./twadmin --help --create-cfgfile + +-? Display usage and version information +--help Display all command modes +--help all Display help for all command modes +--help [mode] Display help for current command mode +--version Display version information diff --git a/tw-20030919.patch b/tw-20030919.patch new file mode 100644 index 0000000..01c6d89 --- /dev/null +++ b/tw-20030919.patch @@ -0,0 +1,132435 @@ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/Makefile.am tripwire-2.3.1-2/Makefile.am +--- tripwire-2.3.1-2.old/Makefile.am Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/Makefile.am Fri Aug 16 14:25:07 2002 +@@ -0,0 +1,7 @@ ++AUTOMAKE_OPTIONS = foreign no-dependencies ++SUBDIRS = man src ++ ++install-data-hook: ++ prefix="$(prefix)" sysconfdir="$(sysconfdir)" \ ++ path_to_vi="$(path_to_vi)" path_to_sendmail="$(path_to_sendmail)" \ ++ ./install/install.sh +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/Makefile.in tripwire-2.3.1-2/Makefile.in +--- tripwire-2.3.1-2.old/Makefile.in Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/Makefile.in Mon Sep 22 09:40:54 2003 +@@ -0,0 +1,413 @@ ++# Makefile.in generated automatically by automake 1.5 from Makefile.am. ++ ++# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 ++# Free Software Foundation, Inc. ++# This Makefile.in is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without ++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A ++# PARTICULAR PURPOSE. ++ ++@SET_MAKE@ ++ ++SHELL = @SHELL@ ++ ++srcdir = @srcdir@ ++top_srcdir = @top_srcdir@ ++VPATH = @srcdir@ ++prefix = @prefix@ ++exec_prefix = @exec_prefix@ ++ ++bindir = @bindir@ ++sbindir = @sbindir@ ++libexecdir = @libexecdir@ ++datadir = @datadir@ ++sysconfdir = @sysconfdir@ ++sharedstatedir = @sharedstatedir@ ++localstatedir = @localstatedir@ ++libdir = @libdir@ ++infodir = @infodir@ ++mandir = @mandir@ ++includedir = @includedir@ ++oldincludedir = /usr/include ++pkgdatadir = $(datadir)/@PACKAGE@ ++pkglibdir = $(libdir)/@PACKAGE@ ++pkgincludedir = $(includedir)/@PACKAGE@ ++top_builddir = . ++ ++ACLOCAL = @ACLOCAL@ ++AUTOCONF = @AUTOCONF@ ++AUTOMAKE = @AUTOMAKE@ ++AUTOHEADER = @AUTOHEADER@ ++ ++INSTALL = @INSTALL@ ++INSTALL_PROGRAM = @INSTALL_PROGRAM@ ++INSTALL_DATA = @INSTALL_DATA@ ++INSTALL_SCRIPT = @INSTALL_SCRIPT@ ++INSTALL_HEADER = $(INSTALL_DATA) ++transform = @program_transform_name@ ++NORMAL_INSTALL = : ++PRE_INSTALL = : ++POST_INSTALL = : ++NORMAL_UNINSTALL = : ++PRE_UNINSTALL = : ++POST_UNINSTALL = : ++AMTAR = @AMTAR@ ++AWK = @AWK@ ++CC = @CC@ ++CORE_CRYPT_O = @CORE_CRYPT_O@ ++CXX = @CXX@ ++DEPDIR = @DEPDIR@ ++EXEEXT = @EXEEXT@ ++GMAKE = @GMAKE@ ++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ ++OBJEXT = @OBJEXT@ ++PACKAGE = @PACKAGE@ ++RANLIB = @RANLIB@ ++STLPORT_INCLUDE = @STLPORT_INCLUDE@ ++STLPORT_LD = @STLPORT_LD@ ++STLPORT_LIBRARY = @STLPORT_LIBRARY@ ++STLPORT_MAKEFILE = @STLPORT_MAKEFILE@ ++STLPORT_SUBDIR = @STLPORT_SUBDIR@ ++SYSPRE = @SYSPRE@ ++VERSION = @VERSION@ ++YACC = @YACC@ ++am__include = @am__include@ ++am__quote = @am__quote@ ++install_sh = @install_sh@ ++path_to_sendmail = @path_to_sendmail@ ++path_to_vi = @path_to_vi@ ++ ++AUTOMAKE_OPTIONS = foreign no-dependencies ++SUBDIRS = man src ++subdir = . ++ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ++mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs ++CONFIG_HEADER = config.h ++CONFIG_CLEAN_FILES = ++depcomp = ++DIST_SOURCES = ++ ++RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \ ++ uninstall-info-recursive all-recursive install-data-recursive \ ++ install-exec-recursive installdirs-recursive install-recursive \ ++ uninstall-recursive check-recursive installcheck-recursive ++DIST_COMMON = README ./stamp-h.in COPYING ChangeLog INSTALL Makefile.am \ ++ Makefile.in aclocal.m4 config.guess config.h.in config.sub \ ++ configure configure.in install-sh missing mkinstalldirs ++DIST_SUBDIRS = $(SUBDIRS) ++all: config.h ++ $(MAKE) $(AM_MAKEFLAGS) all-recursive ++ ++.SUFFIXES: ++$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) ++ cd $(top_srcdir) && \ ++ $(AUTOMAKE) --foreign Makefile ++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status ++ cd $(top_builddir) && \ ++ CONFIG_HEADERS= CONFIG_LINKS= \ ++ CONFIG_FILES=$@ $(SHELL) ./config.status ++ ++$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) ++ $(SHELL) ./config.status --recheck ++$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) ++ cd $(srcdir) && $(AUTOCONF) ++ ++$(ACLOCAL_M4): configure.in ++ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) ++config.h: stamp-h ++ @if test ! -f $@; then \ ++ rm -f stamp-h; \ ++ $(MAKE) stamp-h; \ ++ else :; fi ++stamp-h: $(srcdir)/config.h.in $(top_builddir)/config.status ++ @rm -f stamp-h stamp-hT ++ @echo timestamp > stamp-hT 2> /dev/null ++ cd $(top_builddir) \ ++ && CONFIG_FILES= CONFIG_HEADERS=config.h \ ++ $(SHELL) ./config.status ++ @mv stamp-hT stamp-h ++$(srcdir)/config.h.in: $(srcdir)/./stamp-h.in ++ @if test ! -f $@; then \ ++ rm -f $(srcdir)/./stamp-h.in; \ ++ $(MAKE) $(srcdir)/./stamp-h.in; \ ++ else :; fi ++$(srcdir)/./stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) ++ @rm -f $(srcdir)/./stamp-h.in $(srcdir)/./stamp-h.inT ++ @echo timestamp > $(srcdir)/./stamp-h.inT 2> /dev/null ++ cd $(top_srcdir) && $(AUTOHEADER) ++ @mv $(srcdir)/./stamp-h.inT $(srcdir)/./stamp-h.in ++ ++distclean-hdr: ++ -rm -f config.h ++uninstall-info-am: ++ ++# This directory's subdirectories are mostly independent; you can cd ++# into them and run `make' without going through this Makefile. ++# To change the values of `make' variables: instead of editing Makefiles, ++# (1) if the variable is set in `config.status', edit `config.status' ++# (which will cause the Makefiles to be regenerated when you run `make'); ++# (2) otherwise, pass the desired values on the `make' command line. ++$(RECURSIVE_TARGETS): ++ @set fnord $(MAKEFLAGS); amf=$$2; \ ++ dot_seen=no; \ ++ target=`echo $@ | sed s/-recursive//`; \ ++ list='$(SUBDIRS)'; for subdir in $$list; do \ ++ echo "Making $$target in $$subdir"; \ ++ if test "$$subdir" = "."; then \ ++ dot_seen=yes; \ ++ local_target="$$target-am"; \ ++ else \ ++ local_target="$$target"; \ ++ fi; \ ++ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ ++ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ ++ done; \ ++ if test "$$dot_seen" = "no"; then \ ++ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ ++ fi; test -z "$$fail" ++ ++mostlyclean-recursive clean-recursive distclean-recursive \ ++maintainer-clean-recursive: ++ @set fnord $(MAKEFLAGS); amf=$$2; \ ++ dot_seen=no; \ ++ case "$@" in \ ++ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ ++ *) list='$(SUBDIRS)' ;; \ ++ esac; \ ++ rev=''; for subdir in $$list; do \ ++ if test "$$subdir" = "."; then :; else \ ++ rev="$$subdir $$rev"; \ ++ fi; \ ++ done; \ ++ rev="$$rev ."; \ ++ target=`echo $@ | sed s/-recursive//`; \ ++ for subdir in $$rev; do \ ++ echo "Making $$target in $$subdir"; \ ++ if test "$$subdir" = "."; then \ ++ local_target="$$target-am"; \ ++ else \ ++ local_target="$$target"; \ ++ fi; \ ++ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ ++ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ ++ done && test -z "$$fail" ++tags-recursive: ++ list='$(SUBDIRS)'; for subdir in $$list; do \ ++ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ ++ done ++ ++tags: TAGS ++ ++ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ++ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ mkid -fID $$unique $(LISP) ++ ++TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ ++ $(TAGS_FILES) $(LISP) ++ tags=; \ ++ here=`pwd`; \ ++ list='$(SUBDIRS)'; for subdir in $$list; do \ ++ if test "$$subdir" = .; then :; else \ ++ test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ ++ fi; \ ++ done; \ ++ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ test -z "$(ETAGS_ARGS)config.h.in$$unique$(LISP)$$tags" \ ++ || etags $(ETAGS_ARGS) $$tags config.h.in $$unique $(LISP) ++ ++GTAGS: ++ here=`CDPATH=: && cd $(top_builddir) && pwd` \ ++ && cd $(top_srcdir) \ ++ && gtags -i $(GTAGS_ARGS) $$here ++ ++distclean-tags: ++ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH ++ ++DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ++ ++top_distdir = . ++# Avoid unsightly `./'. ++distdir = $(PACKAGE)-$(VERSION) ++ ++GZIP_ENV = --best ++ ++distdir: $(DISTFILES) ++ -chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir) ++ mkdir $(distdir) ++ @for file in $(DISTFILES); do \ ++ if test -f $$file; then d=.; else d=$(srcdir); fi; \ ++ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ ++ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ ++ $(mkinstalldirs) "$(distdir)/$$dir"; \ ++ fi; \ ++ if test -d $$d/$$file; then \ ++ cp -pR $$d/$$file $(distdir) \ ++ || exit 1; \ ++ else \ ++ test -f $(distdir)/$$file \ ++ || cp -p $$d/$$file $(distdir)/$$file \ ++ || exit 1; \ ++ fi; \ ++ done ++ for subdir in $(SUBDIRS); do \ ++ if test "$$subdir" = .; then :; else \ ++ test -d $(distdir)/$$subdir \ ++ || mkdir $(distdir)/$$subdir \ ++ || exit 1; \ ++ (cd $$subdir && \ ++ $(MAKE) $(AM_MAKEFLAGS) \ ++ top_distdir="$(top_distdir)" \ ++ distdir=../$(distdir)/$$subdir \ ++ distdir) \ ++ || exit 1; \ ++ fi; \ ++ done ++ -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ ++ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ++ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ++ ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ ++ || chmod -R a+r $(distdir) ++dist: distdir ++ $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz ++ -chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir) ++ ++# This target untars the dist file and tries a VPATH configuration. Then ++# it guarantees that the distribution is self-contained by making another ++# tarfile. ++distcheck: dist ++ -chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir) ++ GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - ++ chmod -R a-w $(distdir); chmod a+w $(distdir) ++ mkdir $(distdir)/=build ++ mkdir $(distdir)/=inst ++ chmod a-w $(distdir) ++ dc_install_base=`CDPATH=: && cd $(distdir)/=inst && pwd` \ ++ && cd $(distdir)/=build \ ++ && ../configure --srcdir=.. --prefix=$$dc_install_base \ ++ && $(MAKE) $(AM_MAKEFLAGS) \ ++ && $(MAKE) $(AM_MAKEFLAGS) dvi \ ++ && $(MAKE) $(AM_MAKEFLAGS) check \ ++ && $(MAKE) $(AM_MAKEFLAGS) install \ ++ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ ++ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ ++ && (test `find $$dc_install_base -type f -print | wc -l` -le 1 \ ++ || (echo "Error: files left after uninstall" 1>&2; \ ++ exit 1) ) \ ++ && $(MAKE) $(AM_MAKEFLAGS) dist \ ++ && $(MAKE) $(AM_MAKEFLAGS) distclean \ ++ && rm -f $(distdir).tar.gz \ ++ && (test `find . -type f -print | wc -l` -eq 0 \ ++ || (echo "Error: files left after distclean" 1>&2; \ ++ exit 1) ) ++ -chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir) ++ @echo "$(distdir).tar.gz is ready for distribution" | \ ++ sed 'h;s/./=/g;p;x;p;x' ++check-am: all-am ++check: check-recursive ++all-am: Makefile config.h ++installdirs: installdirs-recursive ++installdirs-am: ++ ++install: install-recursive ++install-exec: install-exec-recursive ++install-data: install-data-recursive ++uninstall: uninstall-recursive ++ ++install-am: all-am ++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am ++ ++installcheck: installcheck-recursive ++install-strip: ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ `test -z '$(STRIP)' || \ ++ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install ++mostlyclean-generic: ++ ++clean-generic: ++ ++distclean-generic: ++ -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* ++ ++maintainer-clean-generic: ++ @echo "This command is intended for maintainers to use" ++ @echo "it deletes files that may require special tools to rebuild." ++clean: clean-recursive ++ ++clean-am: clean-generic mostlyclean-am ++ ++dist-all: distdir ++ $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz ++ -chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir) ++distclean: distclean-recursive ++ -rm -f config.status config.cache config.log ++distclean-am: clean-am distclean-generic distclean-hdr distclean-tags ++ ++dvi: dvi-recursive ++ ++dvi-am: ++ ++info: info-recursive ++ ++info-am: ++ ++install-data-am: ++ @$(NORMAL_INSTALL) ++ $(MAKE) $(AM_MAKEFLAGS) install-data-hook ++ ++install-exec-am: ++ ++install-info: install-info-recursive ++ ++install-man: ++ ++installcheck-am: ++ ++maintainer-clean: maintainer-clean-recursive ++ ++maintainer-clean-am: distclean-am maintainer-clean-generic ++ ++mostlyclean: mostlyclean-recursive ++ ++mostlyclean-am: mostlyclean-generic ++ ++uninstall-am: uninstall-info-am ++ ++uninstall-info: uninstall-info-recursive ++ ++.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \ ++ clean-generic clean-recursive dist dist-all distcheck distclean \ ++ distclean-generic distclean-hdr distclean-recursive \ ++ distclean-tags distdir dvi dvi-am dvi-recursive info info-am \ ++ info-recursive install install-am install-data install-data-am \ ++ install-data-recursive install-exec install-exec-am \ ++ install-exec-recursive install-info install-info-am \ ++ install-info-recursive install-man install-recursive \ ++ install-strip installcheck installcheck-am installdirs \ ++ installdirs-am installdirs-recursive maintainer-clean \ ++ maintainer-clean-generic maintainer-clean-recursive mostlyclean \ ++ mostlyclean-generic mostlyclean-recursive tags tags-recursive \ ++ uninstall uninstall-am uninstall-info-am \ ++ uninstall-info-recursive uninstall-recursive ++ ++ ++install-data-hook: ++ prefix="$(prefix)" sysconfdir="$(sysconfdir)" \ ++ path_to_vi="$(path_to_vi)" path_to_sendmail="$(path_to_sendmail)" \ ++ ./install/install.sh ++# Tell versions [3.59,3.63) of GNU make to not export all variables. ++# Otherwise a system limit (for SysV at least) may be exceeded. ++.NOEXPORT: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/Release_Notes tripwire-2.3.1-2/Release_Notes +--- tripwire-2.3.1-2.old/Release_Notes Sat Mar 3 16:26:40 2001 ++++ tripwire-2.3.1-2/Release_Notes Sat Jun 7 18:59:55 2003 +@@ -1,5 +1,5 @@ + ------------------------------------------------------------------------------ +- Open Source Tripwire 2.3.1, build 2 for Linux Release Notes ++ Open Source Tripwire 2.3.1, build 2 Release Notes + March 3, 2001 + ------------------------------------------------------------------------------ + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/aclocal.m4 tripwire-2.3.1-2/aclocal.m4 +--- tripwire-2.3.1-2.old/aclocal.m4 Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/aclocal.m4 Mon Sep 22 09:40:52 2003 +@@ -0,0 +1,560 @@ ++# aclocal.m4 generated automatically by aclocal 1.5 ++ ++# Copyright 1996, 1997, 1998, 1999, 2000, 2001 ++# Free Software Foundation, Inc. ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without ++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A ++# PARTICULAR PURPOSE. ++ ++# Do all the work for Automake. This macro actually does too much -- ++# some checks are only needed if your package does certain things. ++# But this isn't really a big deal. ++ ++# serial 5 ++ ++# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be ++# written in clear, in which case automake, when reading aclocal.m4, ++# will think it sees a *use*, and therefore will trigger all it's ++# C support machinery. Also note that it means that autoscan, seeing ++# CC etc. in the Makefile, will ask for an AC_PROG_CC use... ++ ++ ++# We require 2.13 because we rely on SHELL being computed by configure. ++AC_PREREQ([2.13]) ++ ++# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) ++# ----------------------------------------------------------- ++# If MACRO-NAME is provided do IF-PROVIDED, else IF-NOT-PROVIDED. ++# The purpose of this macro is to provide the user with a means to ++# check macros which are provided without letting her know how the ++# information is coded. ++# If this macro is not defined by Autoconf, define it here. ++ifdef([AC_PROVIDE_IFELSE], ++ [], ++ [define([AC_PROVIDE_IFELSE], ++ [ifdef([AC_PROVIDE_$1], ++ [$2], [$3])])]) ++ ++ ++# AM_INIT_AUTOMAKE(PACKAGE,VERSION, [NO-DEFINE]) ++# ---------------------------------------------- ++AC_DEFUN([AM_INIT_AUTOMAKE], ++[AC_REQUIRE([AC_PROG_INSTALL])dnl ++# test to see if srcdir already configured ++if test "`CDPATH=:; cd $srcdir && pwd`" != "`pwd`" && ++ test -f $srcdir/config.status; then ++ AC_MSG_ERROR([source directory already configured; run \"make distclean\" there first]) ++fi ++ ++# Define the identity of the package. ++PACKAGE=$1 ++AC_SUBST(PACKAGE)dnl ++VERSION=$2 ++AC_SUBST(VERSION)dnl ++ifelse([$3],, ++[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) ++AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])]) ++ ++# Autoconf 2.50 wants to disallow AM_ names. We explicitly allow ++# the ones we care about. ++ifdef([m4_pattern_allow], ++ [m4_pattern_allow([^AM_[A-Z]+FLAGS])])dnl ++ ++# Autoconf 2.50 always computes EXEEXT. However we need to be ++# compatible with 2.13, for now. So we always define EXEEXT, but we ++# don't compute it. ++AC_SUBST(EXEEXT) ++# Similar for OBJEXT -- only we only use OBJEXT if the user actually ++# requests that it be used. This is a bit dumb. ++: ${OBJEXT=o} ++AC_SUBST(OBJEXT) ++ ++# Some tools Automake needs. ++AC_REQUIRE([AM_SANITY_CHECK])dnl ++AC_REQUIRE([AC_ARG_PROGRAM])dnl ++AM_MISSING_PROG(ACLOCAL, aclocal) ++AM_MISSING_PROG(AUTOCONF, autoconf) ++AM_MISSING_PROG(AUTOMAKE, automake) ++AM_MISSING_PROG(AUTOHEADER, autoheader) ++AM_MISSING_PROG(MAKEINFO, makeinfo) ++AM_MISSING_PROG(AMTAR, tar) ++AM_PROG_INSTALL_SH ++AM_PROG_INSTALL_STRIP ++# We need awk for the "check" target. The system "awk" is bad on ++# some platforms. ++AC_REQUIRE([AC_PROG_AWK])dnl ++AC_REQUIRE([AC_PROG_MAKE_SET])dnl ++AC_REQUIRE([AM_DEP_TRACK])dnl ++AC_REQUIRE([AM_SET_DEPDIR])dnl ++AC_PROVIDE_IFELSE([AC_PROG_][CC], ++ [_AM_DEPENDENCIES(CC)], ++ [define([AC_PROG_][CC], ++ defn([AC_PROG_][CC])[_AM_DEPENDENCIES(CC)])])dnl ++AC_PROVIDE_IFELSE([AC_PROG_][CXX], ++ [_AM_DEPENDENCIES(CXX)], ++ [define([AC_PROG_][CXX], ++ defn([AC_PROG_][CXX])[_AM_DEPENDENCIES(CXX)])])dnl ++]) ++ ++# ++# Check to make sure that the build environment is sane. ++# ++ ++# serial 3 ++ ++# AM_SANITY_CHECK ++# --------------- ++AC_DEFUN([AM_SANITY_CHECK], ++[AC_MSG_CHECKING([whether build environment is sane]) ++# Just in case ++sleep 1 ++echo timestamp > conftest.file ++# Do `set' in a subshell so we don't clobber the current shell's ++# arguments. Must try -L first in case configure is actually a ++# symlink; some systems play weird games with the mod time of symlinks ++# (eg FreeBSD returns the mod time of the symlink's containing ++# directory). ++if ( ++ set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` ++ if test "$[*]" = "X"; then ++ # -L didn't work. ++ set X `ls -t $srcdir/configure conftest.file` ++ fi ++ rm -f conftest.file ++ if test "$[*]" != "X $srcdir/configure conftest.file" \ ++ && test "$[*]" != "X conftest.file $srcdir/configure"; then ++ ++ # If neither matched, then we have a broken ls. This can happen ++ # if, for instance, CONFIG_SHELL is bash and it inherits a ++ # broken ls alias from the environment. This has actually ++ # happened. Such a system could not be considered "sane". ++ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken ++alias in your environment]) ++ fi ++ ++ test "$[2]" = conftest.file ++ ) ++then ++ # Ok. ++ : ++else ++ AC_MSG_ERROR([newly created file is older than distributed files! ++Check your system clock]) ++fi ++AC_MSG_RESULT(yes)]) ++ ++ ++# serial 2 ++ ++# AM_MISSING_PROG(NAME, PROGRAM) ++# ------------------------------ ++AC_DEFUN([AM_MISSING_PROG], ++[AC_REQUIRE([AM_MISSING_HAS_RUN]) ++$1=${$1-"${am_missing_run}$2"} ++AC_SUBST($1)]) ++ ++ ++# AM_MISSING_HAS_RUN ++# ------------------ ++# Define MISSING if not defined so far and test if it supports --run. ++# If it does, set am_missing_run to use it, otherwise, to nothing. ++AC_DEFUN([AM_MISSING_HAS_RUN], ++[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl ++test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" ++# Use eval to expand $SHELL ++if eval "$MISSING --run true"; then ++ am_missing_run="$MISSING --run " ++else ++ am_missing_run= ++ am_backtick='`' ++ AC_MSG_WARN([${am_backtick}missing' script is too old or missing]) ++fi ++]) ++ ++# AM_AUX_DIR_EXPAND ++ ++# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets ++# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to ++# `$srcdir', `$srcdir/..', or `$srcdir/../..'. ++# ++# Of course, Automake must honor this variable whenever it calls a ++# tool from the auxiliary directory. The problem is that $srcdir (and ++# therefore $ac_aux_dir as well) can be either absolute or relative, ++# depending on how configure is run. This is pretty annoying, since ++# it makes $ac_aux_dir quite unusable in subdirectories: in the top ++# source directory, any form will work fine, but in subdirectories a ++# relative path needs to be adjusted first. ++# ++# $ac_aux_dir/missing ++# fails when called from a subdirectory if $ac_aux_dir is relative ++# $top_srcdir/$ac_aux_dir/missing ++# fails if $ac_aux_dir is absolute, ++# fails when called from a subdirectory in a VPATH build with ++# a relative $ac_aux_dir ++# ++# The reason of the latter failure is that $top_srcdir and $ac_aux_dir ++# are both prefixed by $srcdir. In an in-source build this is usually ++# harmless because $srcdir is `.', but things will broke when you ++# start a VPATH build or use an absolute $srcdir. ++# ++# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, ++# iff we strip the leading $srcdir from $ac_aux_dir. That would be: ++# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` ++# and then we would define $MISSING as ++# MISSING="\${SHELL} $am_aux_dir/missing" ++# This will work as long as MISSING is not called from configure, because ++# unfortunately $(top_srcdir) has no meaning in configure. ++# However there are other variables, like CC, which are often used in ++# configure, and could therefore not use this "fixed" $ac_aux_dir. ++# ++# Another solution, used here, is to always expand $ac_aux_dir to an ++# absolute PATH. The drawback is that using absolute paths prevent a ++# configured tree to be moved without reconfiguration. ++ ++AC_DEFUN([AM_AUX_DIR_EXPAND], [ ++# expand $ac_aux_dir to an absolute path ++am_aux_dir=`CDPATH=:; cd $ac_aux_dir && pwd` ++]) ++ ++# AM_PROG_INSTALL_SH ++# ------------------ ++# Define $install_sh. ++AC_DEFUN([AM_PROG_INSTALL_SH], ++[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl ++install_sh=${install_sh-"$am_aux_dir/install-sh"} ++AC_SUBST(install_sh)]) ++ ++# One issue with vendor `install' (even GNU) is that you can't ++# specify the program used to strip binaries. This is especially ++# annoying in cross-compiling environments, where the build's strip ++# is unlikely to handle the host's binaries. ++# Fortunately install-sh will honor a STRIPPROG variable, so we ++# always use install-sh in `make install-strip', and initialize ++# STRIPPROG with the value of the STRIP variable (set by the user). ++AC_DEFUN([AM_PROG_INSTALL_STRIP], ++[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl ++INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" ++AC_SUBST([INSTALL_STRIP_PROGRAM])]) ++ ++# serial 4 -*- Autoconf -*- ++ ++ ++ ++# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be ++# written in clear, in which case automake, when reading aclocal.m4, ++# will think it sees a *use*, and therefore will trigger all it's ++# C support machinery. Also note that it means that autoscan, seeing ++# CC etc. in the Makefile, will ask for an AC_PROG_CC use... ++ ++ ++ ++# _AM_DEPENDENCIES(NAME) ++# --------------------- ++# See how the compiler implements dependency checking. ++# NAME is "CC", "CXX" or "OBJC". ++# We try a few techniques and use that to set a single cache variable. ++# ++# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was ++# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular ++# dependency, and given that the user is not expected to run this macro, ++# just rely on AC_PROG_CC. ++AC_DEFUN([_AM_DEPENDENCIES], ++[AC_REQUIRE([AM_SET_DEPDIR])dnl ++AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl ++AC_REQUIRE([AM_MAKE_INCLUDE])dnl ++AC_REQUIRE([AM_DEP_TRACK])dnl ++ ++ifelse([$1], CC, [depcc="$CC" am_compiler_list=], ++ [$1], CXX, [depcc="$CXX" am_compiler_list=], ++ [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'] ++ [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], ++ [depcc="$$1" am_compiler_list=]) ++ ++AC_CACHE_CHECK([dependency style of $depcc], ++ [am_cv_$1_dependencies_compiler_type], ++[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then ++ # We make a subdir and do the tests there. Otherwise we can end up ++ # making bogus files that we don't know about and never remove. For ++ # instance it was reported that on HP-UX the gcc test will end up ++ # making a dummy file named `D' -- because `-MD' means `put the output ++ # in D'. ++ mkdir conftest.dir ++ # Copy depcomp to subdir because otherwise we won't find it if we're ++ # using a relative directory. ++ cp "$am_depcomp" conftest.dir ++ cd conftest.dir ++ ++ am_cv_$1_dependencies_compiler_type=none ++ if test "$am_compiler_list" = ""; then ++ am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` ++ fi ++ for depmode in $am_compiler_list; do ++ # We need to recreate these files for each test, as the compiler may ++ # overwrite some of them when testing with obscure command lines. ++ # This happens at least with the AIX C compiler. ++ echo '#include "conftest.h"' > conftest.c ++ echo 'int i;' > conftest.h ++ echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf ++ ++ case $depmode in ++ nosideeffect) ++ # after this tag, mechanisms are not by side-effect, so they'll ++ # only be used when explicitly requested ++ if test "x$enable_dependency_tracking" = xyes; then ++ continue ++ else ++ break ++ fi ++ ;; ++ none) break ;; ++ esac ++ # We check with `-c' and `-o' for the sake of the "dashmstdout" ++ # mode. It turns out that the SunPro C++ compiler does not properly ++ # handle `-M -o', and we need to detect this. ++ if depmode=$depmode \ ++ source=conftest.c object=conftest.o \ ++ depfile=conftest.Po tmpdepfile=conftest.TPo \ ++ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && ++ grep conftest.h conftest.Po > /dev/null 2>&1 && ++ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then ++ am_cv_$1_dependencies_compiler_type=$depmode ++ break ++ fi ++ done ++ ++ cd .. ++ rm -rf conftest.dir ++else ++ am_cv_$1_dependencies_compiler_type=none ++fi ++]) ++$1DEPMODE="depmode=$am_cv_$1_dependencies_compiler_type" ++AC_SUBST([$1DEPMODE]) ++]) ++ ++ ++# AM_SET_DEPDIR ++# ------------- ++# Choose a directory name for dependency files. ++# This macro is AC_REQUIREd in _AM_DEPENDENCIES ++AC_DEFUN([AM_SET_DEPDIR], ++[rm -f .deps 2>/dev/null ++mkdir .deps 2>/dev/null ++if test -d .deps; then ++ DEPDIR=.deps ++else ++ # MS-DOS does not allow filenames that begin with a dot. ++ DEPDIR=_deps ++fi ++rmdir .deps 2>/dev/null ++AC_SUBST(DEPDIR) ++]) ++ ++ ++# AM_DEP_TRACK ++# ------------ ++AC_DEFUN([AM_DEP_TRACK], ++[AC_ARG_ENABLE(dependency-tracking, ++[ --disable-dependency-tracking Speeds up one-time builds ++ --enable-dependency-tracking Do not reject slow dependency extractors]) ++if test "x$enable_dependency_tracking" != xno; then ++ am_depcomp="$ac_aux_dir/depcomp" ++ AMDEPBACKSLASH='\' ++fi ++AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) ++pushdef([subst], defn([AC_SUBST])) ++subst(AMDEPBACKSLASH) ++popdef([subst]) ++]) ++ ++# Generate code to set up dependency tracking. ++# This macro should only be invoked once -- use via AC_REQUIRE. ++# Usage: ++# AM_OUTPUT_DEPENDENCY_COMMANDS ++ ++# ++# This code is only required when automatic dependency tracking ++# is enabled. FIXME. This creates each `.P' file that we will ++# need in order to bootstrap the dependency handling code. ++AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],[ ++AC_OUTPUT_COMMANDS([ ++test x"$AMDEP_TRUE" != x"" || ++for mf in $CONFIG_FILES; do ++ case "$mf" in ++ Makefile) dirpart=.;; ++ */Makefile) dirpart=`echo "$mf" | sed -e 's|/[^/]*$||'`;; ++ *) continue;; ++ esac ++ grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue ++ # Extract the definition of DEP_FILES from the Makefile without ++ # running `make'. ++ DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"` ++ test -z "$DEPDIR" && continue ++ # When using ansi2knr, U may be empty or an underscore; expand it ++ U=`sed -n -e '/^U = / s///p' < "$mf"` ++ test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" ++ # We invoke sed twice because it is the simplest approach to ++ # changing $(DEPDIR) to its actual value in the expansion. ++ for file in `sed -n -e ' ++ /^DEP_FILES = .*\\\\$/ { ++ s/^DEP_FILES = // ++ :loop ++ s/\\\\$// ++ p ++ n ++ /\\\\$/ b loop ++ p ++ } ++ /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ ++ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do ++ # Make sure the directory exists. ++ test -f "$dirpart/$file" && continue ++ fdir=`echo "$file" | sed -e 's|/[^/]*$||'` ++ $ac_aux_dir/mkinstalldirs "$dirpart/$fdir" > /dev/null 2>&1 ++ # echo "creating $dirpart/$file" ++ echo '# dummy' > "$dirpart/$file" ++ done ++done ++], [AMDEP_TRUE="$AMDEP_TRUE" ++ac_aux_dir="$ac_aux_dir"])]) ++ ++# AM_MAKE_INCLUDE() ++# ----------------- ++# Check to see how make treats includes. ++AC_DEFUN([AM_MAKE_INCLUDE], ++[am_make=${MAKE-make} ++cat > confinc << 'END' ++doit: ++ @echo done ++END ++# If we don't find an include directive, just comment out the code. ++AC_MSG_CHECKING([for style of include used by $am_make]) ++am__include='#' ++am__quote= ++_am_result=none ++# First try GNU make style include. ++echo "include confinc" > confmf ++# We grep out `Entering directory' and `Leaving directory' ++# messages which can occur if `w' ends up in MAKEFLAGS. ++# In particular we don't look at `^make:' because GNU make might ++# be invoked under some other name (usually "gmake"), in which ++# case it prints its new name instead of `make'. ++if test "`$am_make -s -f confmf 2> /dev/null | fgrep -v 'ing directory'`" = "done"; then ++ am__include=include ++ am__quote= ++ _am_result=GNU ++fi ++# Now try BSD make style include. ++if test "$am__include" = "#"; then ++ echo '.include "confinc"' > confmf ++ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then ++ am__include=.include ++ am__quote='"' ++ _am_result=BSD ++ fi ++fi ++AC_SUBST(am__include) ++AC_SUBST(am__quote) ++AC_MSG_RESULT($_am_result) ++rm -f confinc confmf ++]) ++ ++# serial 3 ++ ++# AM_CONDITIONAL(NAME, SHELL-CONDITION) ++# ------------------------------------- ++# Define a conditional. ++# ++# FIXME: Once using 2.50, use this: ++# m4_match([$1], [^TRUE\|FALSE$], [AC_FATAL([$0: invalid condition: $1])])dnl ++AC_DEFUN([AM_CONDITIONAL], ++[ifelse([$1], [TRUE], ++ [errprint(__file__:__line__: [$0: invalid condition: $1 ++])dnl ++m4exit(1)])dnl ++ifelse([$1], [FALSE], ++ [errprint(__file__:__line__: [$0: invalid condition: $1 ++])dnl ++m4exit(1)])dnl ++AC_SUBST([$1_TRUE]) ++AC_SUBST([$1_FALSE]) ++if $2; then ++ $1_TRUE= ++ $1_FALSE='#' ++else ++ $1_TRUE='#' ++ $1_FALSE= ++fi]) ++ ++# Like AC_CONFIG_HEADER, but automatically create stamp file. ++ ++# serial 3 ++ ++# When config.status generates a header, we must update the stamp-h file. ++# This file resides in the same directory as the config header ++# that is generated. We must strip everything past the first ":", ++# and everything past the last "/". ++ ++AC_PREREQ([2.12]) ++ ++AC_DEFUN([AM_CONFIG_HEADER], ++[ifdef([AC_FOREACH],dnl ++ [dnl init our file count if it isn't already ++ m4_ifndef([_AM_Config_Header_Index], m4_define([_AM_Config_Header_Index], [0])) ++ dnl prepare to store our destination file list for use in config.status ++ AC_FOREACH([_AM_File], [$1], ++ [m4_pushdef([_AM_Dest], m4_patsubst(_AM_File, [:.*])) ++ m4_define([_AM_Config_Header_Index], m4_incr(_AM_Config_Header_Index)) ++ dnl and add it to the list of files AC keeps track of, along ++ dnl with our hook ++ AC_CONFIG_HEADERS(_AM_File, ++dnl COMMANDS, [, INIT-CMDS] ++[# update the timestamp ++echo timestamp >"AS_ESCAPE(_AM_DIRNAME(]_AM_Dest[))/stamp-h]_AM_Config_Header_Index[" ++][$2]m4_ifval([$3], [, [$3]]))dnl AC_CONFIG_HEADERS ++ m4_popdef([_AM_Dest])])],dnl ++[AC_CONFIG_HEADER([$1]) ++ AC_OUTPUT_COMMANDS( ++ ifelse(patsubst([$1], [[^ ]], []), ++ [], ++ [test -z "$CONFIG_HEADERS" || echo timestamp >dnl ++ patsubst([$1], [^\([^:]*/\)?.*], [\1])stamp-h]),dnl ++[am_indx=1 ++for am_file in $1; do ++ case " \$CONFIG_HEADERS " in ++ *" \$am_file "*) ++ am_dir=\`echo \$am_file |sed 's%:.*%%;s%[^/]*\$%%'\` ++ if test -n "\$am_dir"; then ++ am_tmpdir=\`echo \$am_dir |sed 's%^\(/*\).*\$%\1%'\` ++ for am_subdir in \`echo \$am_dir |sed 's%/% %'\`; do ++ am_tmpdir=\$am_tmpdir\$am_subdir/ ++ if test ! -d \$am_tmpdir; then ++ mkdir \$am_tmpdir ++ fi ++ done ++ fi ++ echo timestamp > "\$am_dir"stamp-h\$am_indx ++ ;; ++ esac ++ am_indx=\`expr \$am_indx + 1\` ++done]) ++])]) # AM_CONFIG_HEADER ++ ++# _AM_DIRNAME(PATH) ++# ----------------- ++# Like AS_DIRNAME, only do it during macro expansion ++AC_DEFUN([_AM_DIRNAME], ++ [m4_if(m4_regexp([$1], [^.*[^/]//*[^/][^/]*/*$]), -1, ++ m4_if(m4_regexp([$1], [^//\([^/]\|$\)]), -1, ++ m4_if(m4_regexp([$1], [^/.*]), -1, ++ [.], ++ m4_patsubst([$1], [^\(/\).*], [\1])), ++ m4_patsubst([$1], [^\(//\)\([^/].*\|$\)], [\1])), ++ m4_patsubst([$1], [^\(.*[^/]\)//*[^/][^/]*/*$], [\1]))[]dnl ++]) # _AM_DIRNAME ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/config.guess tripwire-2.3.1-2/config.guess +--- tripwire-2.3.1-2.old/config.guess Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/config.guess Wed Jul 3 11:00:05 2002 +@@ -0,0 +1,1298 @@ ++#! /bin/sh ++# Attempt to guess a canonical system name. ++# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 ++# Free Software Foundation, Inc. ++ ++timestamp='2001-07-12' ++ ++# This file is free software; you can redistribute it and/or modify it ++# under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of the License, or ++# (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, but ++# WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++# General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ++# ++# As a special exception to the GNU General Public License, if you ++# distribute this file as part of a program that contains a ++# configuration script generated by Autoconf, you may include it under ++# the same distribution terms that you use for the rest of that program. ++ ++# Written by Per Bothner . ++# Please send patches to . ++# ++# This script attempts to guess a canonical system name similar to ++# config.sub. If it succeeds, it prints the system name on stdout, and ++# exits with 0. Otherwise, it exits with 1. ++# ++# The plan is that this can be called by configure scripts if you ++# don't specify an explicit build system type. ++ ++me=`echo "$0" | sed -e 's,.*/,,'` ++ ++usage="\ ++Usage: $0 [OPTION] ++ ++Output the configuration name of the system \`$me' is run on. ++ ++Operation modes: ++ -h, --help print this help, then exit ++ -t, --time-stamp print date of last modification, then exit ++ -v, --version print version number, then exit ++ ++Report bugs and patches to ." ++ ++version="\ ++GNU config.guess ($timestamp) ++ ++Originally written by Per Bothner. ++Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 ++Free Software Foundation, Inc. ++ ++This is free software; see the source for copying conditions. There is NO ++warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." ++ ++help=" ++Try \`$me --help' for more information." ++ ++# Parse command line ++while test $# -gt 0 ; do ++ case $1 in ++ --time-stamp | --time* | -t ) ++ echo "$timestamp" ; exit 0 ;; ++ --version | -v ) ++ echo "$version" ; exit 0 ;; ++ --help | --h* | -h ) ++ echo "$usage"; exit 0 ;; ++ -- ) # Stop option processing ++ shift; break ;; ++ - ) # Use stdin as input. ++ break ;; ++ -* ) ++ echo "$me: invalid option $1$help" >&2 ++ exit 1 ;; ++ * ) ++ break ;; ++ esac ++done ++ ++if test $# != 0; then ++ echo "$me: too many arguments$help" >&2 ++ exit 1 ++fi ++ ++ ++dummy=dummy-$$ ++trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15 ++ ++# CC_FOR_BUILD -- compiler used by this script. ++# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still ++# use `HOST_CC' if defined, but it is deprecated. ++ ++set_cc_for_build='case $CC_FOR_BUILD,$HOST_CC,$CC in ++ ,,) echo "int dummy(){}" > $dummy.c ; ++ for c in cc gcc c89 ; do ++ ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ; ++ if test $? = 0 ; then ++ CC_FOR_BUILD="$c"; break ; ++ fi ; ++ done ; ++ rm -f $dummy.c $dummy.o $dummy.rel ; ++ if test x"$CC_FOR_BUILD" = x ; then ++ CC_FOR_BUILD=no_compiler_found ; ++ fi ++ ;; ++ ,,*) CC_FOR_BUILD=$CC ;; ++ ,*,*) CC_FOR_BUILD=$HOST_CC ;; ++esac' ++ ++# This is needed to find uname on a Pyramid OSx when run in the BSD universe. ++# (ghazi@noc.rutgers.edu 1994-08-24) ++if (test -f /.attbin/uname) >/dev/null 2>&1 ; then ++ PATH=$PATH:/.attbin ; export PATH ++fi ++ ++UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown ++UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown ++UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown ++UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown ++ ++# Note: order is significant - the case branches are not exclusive. ++ ++case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in ++ *:NetBSD:*:*) ++ # Netbsd (nbsd) targets should (where applicable) match one or ++ # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, ++ # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently ++ # switched to ELF, *-*-netbsd* would select the old ++ # object file format. This provides both forward ++ # compatibility and a consistent mechanism for selecting the ++ # object file format. ++ # Determine the machine/vendor (is the vendor relevant). ++ case "${UNAME_MACHINE}" in ++ amiga) machine=m68k-unknown ;; ++ arm32) machine=arm-unknown ;; ++ atari*) machine=m68k-atari ;; ++ sun3*) machine=m68k-sun ;; ++ mac68k) machine=m68k-apple ;; ++ macppc) machine=powerpc-apple ;; ++ hp3[0-9][05]) machine=m68k-hp ;; ++ ibmrt|romp-ibm) machine=romp-ibm ;; ++ *) machine=${UNAME_MACHINE}-unknown ;; ++ esac ++ # The Operating System including object format, if it has switched ++ # to ELF recently, or will in the future. ++ case "${UNAME_MACHINE}" in ++ i386|sparc|amiga|arm*|hp300|mvme68k|vax|atari|luna68k|mac68k|news68k|next68k|pc532|sun3*|x68k) ++ eval $set_cc_for_build ++ if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ ++ | grep __ELF__ >/dev/null ++ then ++ # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). ++ # Return netbsd for either. FIX? ++ os=netbsd ++ else ++ os=netbsdelf ++ fi ++ ;; ++ *) ++ os=netbsd ++ ;; ++ esac ++ # The OS release ++ release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` ++ # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: ++ # contains redundant information, the shorter form: ++ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. ++ echo "${machine}-${os}${release}" ++ exit 0 ;; ++ alpha:OSF1:*:*) ++ if test $UNAME_RELEASE = "V4.0"; then ++ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ++ fi ++ # A Vn.n version is a released version. ++ # A Tn.n version is a released field test version. ++ # A Xn.n version is an unreleased experimental baselevel. ++ # 1.2 uses "1.2" for uname -r. ++ cat <$dummy.s ++ .data ++\$Lformat: ++ .byte 37,100,45,37,120,10,0 # "%d-%x\n" ++ ++ .text ++ .globl main ++ .align 4 ++ .ent main ++main: ++ .frame \$30,16,\$26,0 ++ ldgp \$29,0(\$27) ++ .prologue 1 ++ .long 0x47e03d80 # implver \$0 ++ lda \$2,-1 ++ .long 0x47e20c21 # amask \$2,\$1 ++ lda \$16,\$Lformat ++ mov \$0,\$17 ++ not \$1,\$18 ++ jsr \$26,printf ++ ldgp \$29,0(\$26) ++ mov 0,\$16 ++ jsr \$26,exit ++ .end main ++EOF ++ eval $set_cc_for_build ++ $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null ++ if test "$?" = 0 ; then ++ case `./$dummy` in ++ 0-0) ++ UNAME_MACHINE="alpha" ++ ;; ++ 1-0) ++ UNAME_MACHINE="alphaev5" ++ ;; ++ 1-1) ++ UNAME_MACHINE="alphaev56" ++ ;; ++ 1-101) ++ UNAME_MACHINE="alphapca56" ++ ;; ++ 2-303) ++ UNAME_MACHINE="alphaev6" ++ ;; ++ 2-307) ++ UNAME_MACHINE="alphaev67" ++ ;; ++ esac ++ fi ++ rm -f $dummy.s $dummy ++ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` ++ exit 0 ;; ++ Alpha\ *:Windows_NT*:*) ++ # How do we know it's Interix rather than the generic POSIX subsystem? ++ # Should we change UNAME_MACHINE based on the output of uname instead ++ # of the specific Alpha model? ++ echo alpha-pc-interix ++ exit 0 ;; ++ 21064:Windows_NT:50:3) ++ echo alpha-dec-winnt3.5 ++ exit 0 ;; ++ Amiga*:UNIX_System_V:4.0:*) ++ echo m68k-unknown-sysv4 ++ exit 0;; ++ amiga:OpenBSD:*:*) ++ echo m68k-unknown-openbsd${UNAME_RELEASE} ++ exit 0 ;; ++ *:[Aa]miga[Oo][Ss]:*:*) ++ echo ${UNAME_MACHINE}-unknown-amigaos ++ exit 0 ;; ++ arc64:OpenBSD:*:*) ++ echo mips64el-unknown-openbsd${UNAME_RELEASE} ++ exit 0 ;; ++ arc:OpenBSD:*:*) ++ echo mipsel-unknown-openbsd${UNAME_RELEASE} ++ exit 0 ;; ++ hkmips:OpenBSD:*:*) ++ echo mips-unknown-openbsd${UNAME_RELEASE} ++ exit 0 ;; ++ pmax:OpenBSD:*:*) ++ echo mipsel-unknown-openbsd${UNAME_RELEASE} ++ exit 0 ;; ++ sgi:OpenBSD:*:*) ++ echo mips-unknown-openbsd${UNAME_RELEASE} ++ exit 0 ;; ++ wgrisc:OpenBSD:*:*) ++ echo mipsel-unknown-openbsd${UNAME_RELEASE} ++ exit 0 ;; ++ *:OS/390:*:*) ++ echo i370-ibm-openedition ++ exit 0 ;; ++ arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) ++ echo arm-acorn-riscix${UNAME_RELEASE} ++ exit 0;; ++ SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) ++ echo hppa1.1-hitachi-hiuxmpp ++ exit 0;; ++ Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) ++ # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. ++ if test "`(/bin/universe) 2>/dev/null`" = att ; then ++ echo pyramid-pyramid-sysv3 ++ else ++ echo pyramid-pyramid-bsd ++ fi ++ exit 0 ;; ++ NILE*:*:*:dcosx) ++ echo pyramid-pyramid-svr4 ++ exit 0 ;; ++ sun4H:SunOS:5.*:*) ++ echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` ++ exit 0 ;; ++ sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) ++ echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` ++ exit 0 ;; ++ i86pc:SunOS:5.*:*) ++ echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` ++ exit 0 ;; ++ sun4*:SunOS:6*:*) ++ # According to config.sub, this is the proper way to canonicalize ++ # SunOS6. Hard to guess exactly what SunOS6 will be like, but ++ # it's likely to be more like Solaris than SunOS4. ++ echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` ++ exit 0 ;; ++ sun4*:SunOS:*:*) ++ case "`/usr/bin/arch -k`" in ++ Series*|S4*) ++ UNAME_RELEASE=`uname -v` ++ ;; ++ esac ++ # Japanese Language versions have a version number like `4.1.3-JL'. ++ echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` ++ exit 0 ;; ++ sun3*:SunOS:*:*) ++ echo m68k-sun-sunos${UNAME_RELEASE} ++ exit 0 ;; ++ sun*:*:4.2BSD:*) ++ UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` ++ test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 ++ case "`/bin/arch`" in ++ sun3) ++ echo m68k-sun-sunos${UNAME_RELEASE} ++ ;; ++ sun4) ++ echo sparc-sun-sunos${UNAME_RELEASE} ++ ;; ++ esac ++ exit 0 ;; ++ aushp:SunOS:*:*) ++ echo sparc-auspex-sunos${UNAME_RELEASE} ++ exit 0 ;; ++ atari*:OpenBSD:*:*) ++ echo m68k-unknown-openbsd${UNAME_RELEASE} ++ exit 0 ;; ++ # The situation for MiNT is a little confusing. The machine name ++ # can be virtually everything (everything which is not ++ # "atarist" or "atariste" at least should have a processor ++ # > m68000). The system name ranges from "MiNT" over "FreeMiNT" ++ # to the lowercase version "mint" (or "freemint"). Finally ++ # the system name "TOS" denotes a system which is actually not ++ # MiNT. But MiNT is downward compatible to TOS, so this should ++ # be no problem. ++ atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) ++ echo m68k-atari-mint${UNAME_RELEASE} ++ exit 0 ;; ++ atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) ++ echo m68k-atari-mint${UNAME_RELEASE} ++ exit 0 ;; ++ *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) ++ echo m68k-atari-mint${UNAME_RELEASE} ++ exit 0 ;; ++ milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) ++ echo m68k-milan-mint${UNAME_RELEASE} ++ exit 0 ;; ++ hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) ++ echo m68k-hades-mint${UNAME_RELEASE} ++ exit 0 ;; ++ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) ++ echo m68k-unknown-mint${UNAME_RELEASE} ++ exit 0 ;; ++ sun3*:OpenBSD:*:*) ++ echo m68k-unknown-openbsd${UNAME_RELEASE} ++ exit 0 ;; ++ mac68k:OpenBSD:*:*) ++ echo m68k-unknown-openbsd${UNAME_RELEASE} ++ exit 0 ;; ++ mvme68k:OpenBSD:*:*) ++ echo m68k-unknown-openbsd${UNAME_RELEASE} ++ exit 0 ;; ++ mvme88k:OpenBSD:*:*) ++ echo m88k-unknown-openbsd${UNAME_RELEASE} ++ exit 0 ;; ++ powerpc:machten:*:*) ++ echo powerpc-apple-machten${UNAME_RELEASE} ++ exit 0 ;; ++ RISC*:Mach:*:*) ++ echo mips-dec-mach_bsd4.3 ++ exit 0 ;; ++ RISC*:ULTRIX:*:*) ++ echo mips-dec-ultrix${UNAME_RELEASE} ++ exit 0 ;; ++ VAX*:ULTRIX*:*:*) ++ echo vax-dec-ultrix${UNAME_RELEASE} ++ exit 0 ;; ++ 2020:CLIX:*:* | 2430:CLIX:*:*) ++ echo clipper-intergraph-clix${UNAME_RELEASE} ++ exit 0 ;; ++ mips:*:*:UMIPS | mips:*:*:RISCos) ++ sed 's/^ //' << EOF >$dummy.c ++#ifdef __cplusplus ++#include /* for printf() prototype */ ++ int main (int argc, char *argv[]) { ++#else ++ int main (argc, argv) int argc; char *argv[]; { ++#endif ++ #if defined (host_mips) && defined (MIPSEB) ++ #if defined (SYSTYPE_SYSV) ++ printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); ++ #endif ++ #if defined (SYSTYPE_SVR4) ++ printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); ++ #endif ++ #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) ++ printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); ++ #endif ++ #endif ++ exit (-1); ++ } ++EOF ++ eval $set_cc_for_build ++ $CC_FOR_BUILD $dummy.c -o $dummy \ ++ && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ ++ && rm -f $dummy.c $dummy && exit 0 ++ rm -f $dummy.c $dummy ++ echo mips-mips-riscos${UNAME_RELEASE} ++ exit 0 ;; ++ Motorola:PowerMAX_OS:*:*) ++ echo powerpc-motorola-powermax ++ exit 0 ;; ++ Night_Hawk:Power_UNIX:*:*) ++ echo powerpc-harris-powerunix ++ exit 0 ;; ++ m88k:CX/UX:7*:*) ++ echo m88k-harris-cxux7 ++ exit 0 ;; ++ m88k:*:4*:R4*) ++ echo m88k-motorola-sysv4 ++ exit 0 ;; ++ m88k:*:3*:R3*) ++ echo m88k-motorola-sysv3 ++ exit 0 ;; ++ AViiON:dgux:*:*) ++ # DG/UX returns AViiON for all architectures ++ UNAME_PROCESSOR=`/usr/bin/uname -p` ++ if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] ++ then ++ if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ ++ [ ${TARGET_BINARY_INTERFACE}x = x ] ++ then ++ echo m88k-dg-dgux${UNAME_RELEASE} ++ else ++ echo m88k-dg-dguxbcs${UNAME_RELEASE} ++ fi ++ else ++ echo i586-dg-dgux${UNAME_RELEASE} ++ fi ++ exit 0 ;; ++ M88*:DolphinOS:*:*) # DolphinOS (SVR3) ++ echo m88k-dolphin-sysv3 ++ exit 0 ;; ++ M88*:*:R3*:*) ++ # Delta 88k system running SVR3 ++ echo m88k-motorola-sysv3 ++ exit 0 ;; ++ XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) ++ echo m88k-tektronix-sysv3 ++ exit 0 ;; ++ Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) ++ echo m68k-tektronix-bsd ++ exit 0 ;; ++ *:IRIX*:*:*) ++ echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` ++ exit 0 ;; ++ ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. ++ echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id ++ exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' ++ i*86:AIX:*:*) ++ echo i386-ibm-aix ++ exit 0 ;; ++ ia64:AIX:*:*) ++ if [ -x /usr/bin/oslevel ] ; then ++ IBM_REV=`/usr/bin/oslevel` ++ else ++ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} ++ fi ++ echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} ++ exit 0 ;; ++ *:AIX:2:3) ++ if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then ++ sed 's/^ //' << EOF >$dummy.c ++ #include ++ ++ main() ++ { ++ if (!__power_pc()) ++ exit(1); ++ puts("powerpc-ibm-aix3.2.5"); ++ exit(0); ++ } ++EOF ++ eval $set_cc_for_build ++ $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0 ++ rm -f $dummy.c $dummy ++ echo rs6000-ibm-aix3.2.5 ++ elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then ++ echo rs6000-ibm-aix3.2.4 ++ else ++ echo rs6000-ibm-aix3.2 ++ fi ++ exit 0 ;; ++ *:AIX:*:[45]) ++ IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'` ++ if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then ++ IBM_ARCH=rs6000 ++ else ++ IBM_ARCH=powerpc ++ fi ++ if [ -x /usr/bin/oslevel ] ; then ++ IBM_REV=`/usr/bin/oslevel` ++ else ++ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} ++ fi ++ echo ${IBM_ARCH}-ibm-aix${IBM_REV} ++ exit 0 ;; ++ *:AIX:*:*) ++ echo rs6000-ibm-aix ++ exit 0 ;; ++ ibmrt:4.4BSD:*|romp-ibm:BSD:*) ++ echo romp-ibm-bsd4.4 ++ exit 0 ;; ++ ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and ++ echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to ++ exit 0 ;; # report: romp-ibm BSD 4.3 ++ *:BOSX:*:*) ++ echo rs6000-bull-bosx ++ exit 0 ;; ++ DPX/2?00:B.O.S.:*:*) ++ echo m68k-bull-sysv3 ++ exit 0 ;; ++ 9000/[34]??:4.3bsd:1.*:*) ++ echo m68k-hp-bsd ++ exit 0 ;; ++ hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) ++ echo m68k-hp-bsd4.4 ++ exit 0 ;; ++ 9000/[34678]??:HP-UX:*:*) ++ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` ++ case "${UNAME_MACHINE}" in ++ 9000/31? ) HP_ARCH=m68000 ;; ++ 9000/[34]?? ) HP_ARCH=m68k ;; ++ 9000/[678][0-9][0-9]) ++ case "${HPUX_REV}" in ++ 11.[0-9][0-9]) ++ if [ -x /usr/bin/getconf ]; then ++ sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` ++ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` ++ case "${sc_cpu_version}" in ++ 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 ++ 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 ++ 532) # CPU_PA_RISC2_0 ++ case "${sc_kernel_bits}" in ++ 32) HP_ARCH="hppa2.0n" ;; ++ 64) HP_ARCH="hppa2.0w" ;; ++ esac ;; ++ esac ++ fi ;; ++ esac ++ if [ "${HP_ARCH}" = "" ]; then ++ sed 's/^ //' << EOF >$dummy.c ++ ++ #define _HPUX_SOURCE ++ #include ++ #include ++ ++ int main () ++ { ++ #if defined(_SC_KERNEL_BITS) ++ long bits = sysconf(_SC_KERNEL_BITS); ++ #endif ++ long cpu = sysconf (_SC_CPU_VERSION); ++ ++ switch (cpu) ++ { ++ case CPU_PA_RISC1_0: puts ("hppa1.0"); break; ++ case CPU_PA_RISC1_1: puts ("hppa1.1"); break; ++ case CPU_PA_RISC2_0: ++ #if defined(_SC_KERNEL_BITS) ++ switch (bits) ++ { ++ case 64: puts ("hppa2.0w"); break; ++ case 32: puts ("hppa2.0n"); break; ++ default: puts ("hppa2.0"); break; ++ } break; ++ #else /* !defined(_SC_KERNEL_BITS) */ ++ puts ("hppa2.0"); break; ++ #endif ++ default: puts ("hppa1.0"); break; ++ } ++ exit (0); ++ } ++EOF ++ eval $set_cc_for_build ++ (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy` ++ if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi ++ rm -f $dummy.c $dummy ++ fi ;; ++ esac ++ echo ${HP_ARCH}-hp-hpux${HPUX_REV} ++ exit 0 ;; ++ ia64:HP-UX:*:*) ++ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` ++ echo ia64-hp-hpux${HPUX_REV} ++ exit 0 ;; ++ 3050*:HI-UX:*:*) ++ sed 's/^ //' << EOF >$dummy.c ++ #include ++ int ++ main () ++ { ++ long cpu = sysconf (_SC_CPU_VERSION); ++ /* The order matters, because CPU_IS_HP_MC68K erroneously returns ++ true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct ++ results, however. */ ++ if (CPU_IS_PA_RISC (cpu)) ++ { ++ switch (cpu) ++ { ++ case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; ++ case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; ++ case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; ++ default: puts ("hppa-hitachi-hiuxwe2"); break; ++ } ++ } ++ else if (CPU_IS_HP_MC68K (cpu)) ++ puts ("m68k-hitachi-hiuxwe2"); ++ else puts ("unknown-hitachi-hiuxwe2"); ++ exit (0); ++ } ++EOF ++ eval $set_cc_for_build ++ $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0 ++ rm -f $dummy.c $dummy ++ echo unknown-hitachi-hiuxwe2 ++ exit 0 ;; ++ 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) ++ echo hppa1.1-hp-bsd ++ exit 0 ;; ++ 9000/8??:4.3bsd:*:*) ++ echo hppa1.0-hp-bsd ++ exit 0 ;; ++ *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) ++ echo hppa1.0-hp-mpeix ++ exit 0 ;; ++ hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) ++ echo hppa1.1-hp-osf ++ exit 0 ;; ++ hp8??:OSF1:*:*) ++ echo hppa1.0-hp-osf ++ exit 0 ;; ++ i*86:OSF1:*:*) ++ if [ -x /usr/sbin/sysversion ] ; then ++ echo ${UNAME_MACHINE}-unknown-osf1mk ++ else ++ echo ${UNAME_MACHINE}-unknown-osf1 ++ fi ++ exit 0 ;; ++ parisc*:Lites*:*:*) ++ echo hppa1.1-hp-lites ++ exit 0 ;; ++ hppa*:OpenBSD:*:*) ++ echo hppa-unknown-openbsd ++ exit 0 ;; ++ C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) ++ echo c1-convex-bsd ++ exit 0 ;; ++ C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) ++ if getsysinfo -f scalar_acc ++ then echo c32-convex-bsd ++ else echo c2-convex-bsd ++ fi ++ exit 0 ;; ++ C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) ++ echo c34-convex-bsd ++ exit 0 ;; ++ C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) ++ echo c38-convex-bsd ++ exit 0 ;; ++ C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) ++ echo c4-convex-bsd ++ exit 0 ;; ++ CRAY*X-MP:*:*:*) ++ echo xmp-cray-unicos ++ exit 0 ;; ++ CRAY*Y-MP:*:*:*) ++ echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' ++ exit 0 ;; ++ CRAY*[A-Z]90:*:*:*) ++ echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ ++ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ ++ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ ++ -e 's/\.[^.]*$/.X/' ++ exit 0 ;; ++ CRAY*TS:*:*:*) ++ echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' ++ exit 0 ;; ++ CRAY*T3D:*:*:*) ++ echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' ++ exit 0 ;; ++ CRAY*T3E:*:*:*) ++ echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' ++ exit 0 ;; ++ CRAY*SV1:*:*:*) ++ echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' ++ exit 0 ;; ++ CRAY-2:*:*:*) ++ echo cray2-cray-unicos ++ exit 0 ;; ++ F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) ++ FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` ++ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` ++ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` ++ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" ++ exit 0 ;; ++ hp300:OpenBSD:*:*) ++ echo m68k-unknown-openbsd${UNAME_RELEASE} ++ exit 0 ;; ++ i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) ++ echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} ++ exit 0 ;; ++ sparc*:BSD/OS:*:*) ++ echo sparc-unknown-bsdi${UNAME_RELEASE} ++ exit 0 ;; ++ *:BSD/OS:*:*) ++ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} ++ exit 0 ;; ++ *:FreeBSD:*:*) ++ echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ++ exit 0 ;; ++ *:OpenBSD:*:*) ++ echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` ++ exit 0 ;; ++ i*:CYGWIN*:*) ++ echo ${UNAME_MACHINE}-pc-cygwin ++ exit 0 ;; ++ i*:MINGW*:*) ++ echo ${UNAME_MACHINE}-pc-mingw32 ++ exit 0 ;; ++ i*:PW*:*) ++ echo ${UNAME_MACHINE}-pc-pw32 ++ exit 0 ;; ++ i*:Windows_NT*:* | Pentium*:Windows_NT*:*) ++ # How do we know it's Interix rather than the generic POSIX subsystem? ++ # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we ++ # UNAME_MACHINE based on the output of uname instead of i386? ++ echo i386-pc-interix ++ exit 0 ;; ++ i*:UWIN*:*) ++ echo ${UNAME_MACHINE}-pc-uwin ++ exit 0 ;; ++ p*:CYGWIN*:*) ++ echo powerpcle-unknown-cygwin ++ exit 0 ;; ++ prep*:SunOS:5.*:*) ++ echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` ++ exit 0 ;; ++ *:GNU:*:*) ++ echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` ++ exit 0 ;; ++ i*86:Minix:*:*) ++ echo ${UNAME_MACHINE}-pc-minix ++ exit 0 ;; ++ arm*:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-gnu ++ exit 0 ;; ++ ia64:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux ++ exit 0 ;; ++ m68*:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-gnu ++ exit 0 ;; ++ mips:Linux:*:*) ++ case `sed -n '/^byte/s/^.*: \(.*\) endian/\1/p' < /proc/cpuinfo` in ++ big) echo mips-unknown-linux-gnu && exit 0 ;; ++ little) echo mipsel-unknown-linux-gnu && exit 0 ;; ++ esac ++ ;; ++ ppc:Linux:*:*) ++ echo powerpc-unknown-linux-gnu ++ exit 0 ;; ++ alpha:Linux:*:*) ++ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in ++ EV5) UNAME_MACHINE=alphaev5 ;; ++ EV56) UNAME_MACHINE=alphaev56 ;; ++ PCA56) UNAME_MACHINE=alphapca56 ;; ++ PCA57) UNAME_MACHINE=alphapca56 ;; ++ EV6) UNAME_MACHINE=alphaev6 ;; ++ EV67) UNAME_MACHINE=alphaev67 ;; ++ EV68*) UNAME_MACHINE=alphaev67 ;; ++ esac ++ objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null ++ if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi ++ echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ++ exit 0 ;; ++ parisc:Linux:*:* | hppa:Linux:*:*) ++ # Look for CPU level ++ case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in ++ PA7*) echo hppa1.1-unknown-linux-gnu ;; ++ PA8*) echo hppa2.0-unknown-linux-gnu ;; ++ *) echo hppa-unknown-linux-gnu ;; ++ esac ++ exit 0 ;; ++ parisc64:Linux:*:* | hppa64:Linux:*:*) ++ echo hppa64-unknown-linux-gnu ++ exit 0 ;; ++ s390:Linux:*:* | s390x:Linux:*:*) ++ echo ${UNAME_MACHINE}-ibm-linux ++ exit 0 ;; ++ sh*:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-gnu ++ exit 0 ;; ++ sparc:Linux:*:* | sparc64:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-gnu ++ exit 0 ;; ++ x86_64:Linux:*:*) ++ echo x86_64-unknown-linux-gnu ++ exit 0 ;; ++ i*86:Linux:*:*) ++ # The BFD linker knows what the default object file format is, so ++ # first see if it will tell us. cd to the root directory to prevent ++ # problems with other programs or directories called `ld' in the path. ++ ld_supported_targets=`cd /; ld --help 2>&1 \ ++ | sed -ne '/supported targets:/!d ++ s/[ ][ ]*/ /g ++ s/.*supported targets: *// ++ s/ .*// ++ p'` ++ case "$ld_supported_targets" in ++ elf32-i386) ++ TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" ++ ;; ++ a.out-i386-linux) ++ echo "${UNAME_MACHINE}-pc-linux-gnuaout" ++ exit 0 ;; ++ coff-i386) ++ echo "${UNAME_MACHINE}-pc-linux-gnucoff" ++ exit 0 ;; ++ "") ++ # Either a pre-BFD a.out linker (linux-gnuoldld) or ++ # one that does not give us useful --help. ++ echo "${UNAME_MACHINE}-pc-linux-gnuoldld" ++ exit 0 ;; ++ esac ++ # Determine whether the default compiler is a.out or elf ++ cat >$dummy.c < ++#ifdef __cplusplus ++#include /* for printf() prototype */ ++ int main (int argc, char *argv[]) { ++#else ++ int main (argc, argv) int argc; char *argv[]; { ++#endif ++#ifdef __ELF__ ++# ifdef __GLIBC__ ++# if __GLIBC__ >= 2 ++ printf ("%s-pc-linux-gnu\n", argv[1]); ++# else ++ printf ("%s-pc-linux-gnulibc1\n", argv[1]); ++# endif ++# else ++ printf ("%s-pc-linux-gnulibc1\n", argv[1]); ++# endif ++#else ++ printf ("%s-pc-linux-gnuaout\n", argv[1]); ++#endif ++ return 0; ++} ++EOF ++ eval $set_cc_for_build ++ $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0 ++ rm -f $dummy.c $dummy ++ test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 ++ ;; ++ i*86:DYNIX/ptx:4*:*) ++ # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. ++ # earlier versions are messed up and put the nodename in both ++ # sysname and nodename. ++ echo i386-sequent-sysv4 ++ exit 0 ;; ++ i*86:UNIX_SV:4.2MP:2.*) ++ # Unixware is an offshoot of SVR4, but it has its own version ++ # number series starting with 2... ++ # I am not positive that other SVR4 systems won't match this, ++ # I just have to hope. -- rms. ++ # Use sysv4.2uw... so that sysv4* matches it. ++ echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} ++ exit 0 ;; ++ i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) ++ UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` ++ if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then ++ echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} ++ else ++ echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} ++ fi ++ exit 0 ;; ++ i*86:*:5:[78]*) ++ case `/bin/uname -X | grep "^Machine"` in ++ *486*) UNAME_MACHINE=i486 ;; ++ *Pentium) UNAME_MACHINE=i586 ;; ++ *Pent*|*Celeron) UNAME_MACHINE=i686 ;; ++ esac ++ echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} ++ exit 0 ;; ++ i*86:*:3.2:*) ++ if test -f /usr/options/cb.name; then ++ UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then ++ UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')` ++ (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486 ++ (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \ ++ && UNAME_MACHINE=i586 ++ (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \ ++ && UNAME_MACHINE=i686 ++ (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \ ++ && UNAME_MACHINE=i686 ++ echo ${UNAME_MACHINE}-pc-sco$UNAME_REL ++ else ++ echo ${UNAME_MACHINE}-pc-sysv32 ++ fi ++ exit 0 ;; ++ i*86:*DOS:*:*) ++ echo ${UNAME_MACHINE}-pc-msdosdjgpp ++ exit 0 ;; ++ pc:*:*:*) ++ # Left here for compatibility: ++ # uname -m prints for DJGPP always 'pc', but it prints nothing about ++ # the processor, so we play safe by assuming i386. ++ echo i386-pc-msdosdjgpp ++ exit 0 ;; ++ Intel:Mach:3*:*) ++ echo i386-pc-mach3 ++ exit 0 ;; ++ paragon:*:*:*) ++ echo i860-intel-osf1 ++ exit 0 ;; ++ i860:*:4.*:*) # i860-SVR4 ++ if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then ++ echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 ++ else # Add other i860-SVR4 vendors below as they are discovered. ++ echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 ++ fi ++ exit 0 ;; ++ mini*:CTIX:SYS*5:*) ++ # "miniframe" ++ echo m68010-convergent-sysv ++ exit 0 ;; ++ M68*:*:R3V[567]*:*) ++ test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; ++ 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0) ++ OS_REL='' ++ test -r /etc/.relid \ ++ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` ++ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ ++ && echo i486-ncr-sysv4.3${OS_REL} && exit 0 ++ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ ++ && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; ++ 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) ++ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ ++ && echo i486-ncr-sysv4 && exit 0 ;; ++ m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) ++ echo m68k-unknown-lynxos${UNAME_RELEASE} ++ exit 0 ;; ++ mc68030:UNIX_System_V:4.*:*) ++ echo m68k-atari-sysv4 ++ exit 0 ;; ++ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) ++ echo i386-unknown-lynxos${UNAME_RELEASE} ++ exit 0 ;; ++ TSUNAMI:LynxOS:2.*:*) ++ echo sparc-unknown-lynxos${UNAME_RELEASE} ++ exit 0 ;; ++ rs6000:LynxOS:2.*:*) ++ echo rs6000-unknown-lynxos${UNAME_RELEASE} ++ exit 0 ;; ++ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) ++ echo powerpc-unknown-lynxos${UNAME_RELEASE} ++ exit 0 ;; ++ SM[BE]S:UNIX_SV:*:*) ++ echo mips-dde-sysv${UNAME_RELEASE} ++ exit 0 ;; ++ RM*:ReliantUNIX-*:*:*) ++ echo mips-sni-sysv4 ++ exit 0 ;; ++ RM*:SINIX-*:*:*) ++ echo mips-sni-sysv4 ++ exit 0 ;; ++ *:SINIX-*:*:*) ++ if uname -p 2>/dev/null >/dev/null ; then ++ UNAME_MACHINE=`(uname -p) 2>/dev/null` ++ echo ${UNAME_MACHINE}-sni-sysv4 ++ else ++ echo ns32k-sni-sysv ++ fi ++ exit 0 ;; ++ PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort ++ # says ++ echo i586-unisys-sysv4 ++ exit 0 ;; ++ *:UNIX_System_V:4*:FTX*) ++ # From Gerald Hewes . ++ # How about differentiating between stratus architectures? -djm ++ echo hppa1.1-stratus-sysv4 ++ exit 0 ;; ++ *:*:*:FTX*) ++ # From seanf@swdc.stratus.com. ++ echo i860-stratus-sysv4 ++ exit 0 ;; ++ mc68*:A/UX:*:*) ++ echo m68k-apple-aux${UNAME_RELEASE} ++ exit 0 ;; ++ news*:NEWS-OS:6*:*) ++ echo mips-sony-newsos6 ++ exit 0 ;; ++ R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) ++ if [ -d /usr/nec ]; then ++ echo mips-nec-sysv${UNAME_RELEASE} ++ else ++ echo mips-unknown-sysv${UNAME_RELEASE} ++ fi ++ exit 0 ;; ++ BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. ++ echo powerpc-be-beos ++ exit 0 ;; ++ BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. ++ echo powerpc-apple-beos ++ exit 0 ;; ++ BePC:BeOS:*:*) # BeOS running on Intel PC compatible. ++ echo i586-pc-beos ++ exit 0 ;; ++ SX-4:SUPER-UX:*:*) ++ echo sx4-nec-superux${UNAME_RELEASE} ++ exit 0 ;; ++ SX-5:SUPER-UX:*:*) ++ echo sx5-nec-superux${UNAME_RELEASE} ++ exit 0 ;; ++ Power*:Rhapsody:*:*) ++ echo powerpc-apple-rhapsody${UNAME_RELEASE} ++ exit 0 ;; ++ *:Rhapsody:*:*) ++ echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} ++ exit 0 ;; ++ *:Darwin:*:*) ++ echo `uname -p`-apple-darwin${UNAME_RELEASE} ++ exit 0 ;; ++ *:procnto*:*:* | *:QNX:[0123456789]*:*) ++ if test "${UNAME_MACHINE}" = "x86pc"; then ++ UNAME_MACHINE=pc ++ fi ++ echo `uname -p`-${UNAME_MACHINE}-nto-qnx ++ exit 0 ;; ++ *:QNX:*:4*) ++ echo i386-pc-qnx ++ exit 0 ;; ++ NSR-[KW]:NONSTOP_KERNEL:*:*) ++ echo nsr-tandem-nsk${UNAME_RELEASE} ++ exit 0 ;; ++ *:NonStop-UX:*:*) ++ echo mips-compaq-nonstopux ++ exit 0 ;; ++ BS2000:POSIX*:*:*) ++ echo bs2000-siemens-sysv ++ exit 0 ;; ++ DS/*:UNIX_System_V:*:*) ++ echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} ++ exit 0 ;; ++ *:Plan9:*:*) ++ # "uname -m" is not consistent, so use $cputype instead. 386 ++ # is converted to i386 for consistency with other x86 ++ # operating systems. ++ if test "$cputype" = "386"; then ++ UNAME_MACHINE=i386 ++ else ++ UNAME_MACHINE="$cputype" ++ fi ++ echo ${UNAME_MACHINE}-unknown-plan9 ++ exit 0 ;; ++ i*86:OS/2:*:*) ++ # If we were able to find `uname', then EMX Unix compatibility ++ # is probably installed. ++ echo ${UNAME_MACHINE}-pc-os2-emx ++ exit 0 ;; ++ *:TOPS-10:*:*) ++ echo pdp10-unknown-tops10 ++ exit 0 ;; ++ *:TENEX:*:*) ++ echo pdp10-unknown-tenex ++ exit 0 ;; ++ KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) ++ echo pdp10-dec-tops20 ++ exit 0 ;; ++ XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) ++ echo pdp10-xkl-tops20 ++ exit 0 ;; ++ *:TOPS-20:*:*) ++ echo pdp10-unknown-tops20 ++ exit 0 ;; ++ *:ITS:*:*) ++ echo pdp10-unknown-its ++ exit 0 ;; ++esac ++ ++#echo '(No uname command or uname output not recognized.)' 1>&2 ++#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 ++ ++cat >$dummy.c < ++# include ++#endif ++main () ++{ ++#if defined (sony) ++#if defined (MIPSEB) ++ /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, ++ I don't know.... */ ++ printf ("mips-sony-bsd\n"); exit (0); ++#else ++#include ++ printf ("m68k-sony-newsos%s\n", ++#ifdef NEWSOS4 ++ "4" ++#else ++ "" ++#endif ++ ); exit (0); ++#endif ++#endif ++ ++#if defined (__arm) && defined (__acorn) && defined (__unix) ++ printf ("arm-acorn-riscix"); exit (0); ++#endif ++ ++#if defined (hp300) && !defined (hpux) ++ printf ("m68k-hp-bsd\n"); exit (0); ++#endif ++ ++#if defined (NeXT) ++#if !defined (__ARCHITECTURE__) ++#define __ARCHITECTURE__ "m68k" ++#endif ++ int version; ++ version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; ++ if (version < 4) ++ printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); ++ else ++ printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); ++ exit (0); ++#endif ++ ++#if defined (MULTIMAX) || defined (n16) ++#if defined (UMAXV) ++ printf ("ns32k-encore-sysv\n"); exit (0); ++#else ++#if defined (CMU) ++ printf ("ns32k-encore-mach\n"); exit (0); ++#else ++ printf ("ns32k-encore-bsd\n"); exit (0); ++#endif ++#endif ++#endif ++ ++#if defined (__386BSD__) ++ printf ("i386-pc-bsd\n"); exit (0); ++#endif ++ ++#if defined (sequent) ++#if defined (i386) ++ printf ("i386-sequent-dynix\n"); exit (0); ++#endif ++#if defined (ns32000) ++ printf ("ns32k-sequent-dynix\n"); exit (0); ++#endif ++#endif ++ ++#if defined (_SEQUENT_) ++ struct utsname un; ++ ++ uname(&un); ++ ++ if (strncmp(un.version, "V2", 2) == 0) { ++ printf ("i386-sequent-ptx2\n"); exit (0); ++ } ++ if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ ++ printf ("i386-sequent-ptx1\n"); exit (0); ++ } ++ printf ("i386-sequent-ptx\n"); exit (0); ++ ++#endif ++ ++#if defined (vax) ++# if !defined (ultrix) ++# include ++# if defined (BSD) ++# if BSD == 43 ++ printf ("vax-dec-bsd4.3\n"); exit (0); ++# else ++# if BSD == 199006 ++ printf ("vax-dec-bsd4.3reno\n"); exit (0); ++# else ++ printf ("vax-dec-bsd\n"); exit (0); ++# endif ++# endif ++# else ++ printf ("vax-dec-bsd\n"); exit (0); ++# endif ++# else ++ printf ("vax-dec-ultrix\n"); exit (0); ++# endif ++#endif ++ ++#if defined (alliant) && defined (i860) ++ printf ("i860-alliant-bsd\n"); exit (0); ++#endif ++ ++ exit (1); ++} ++EOF ++ ++eval $set_cc_for_build ++$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0 ++rm -f $dummy.c $dummy ++ ++# Apollos put the system type in the environment. ++ ++test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } ++ ++# Convex versions that predate uname can use getsysinfo(1) ++ ++if [ -x /usr/convex/getsysinfo ] ++then ++ case `getsysinfo -f cpu_type` in ++ c1*) ++ echo c1-convex-bsd ++ exit 0 ;; ++ c2*) ++ if getsysinfo -f scalar_acc ++ then echo c32-convex-bsd ++ else echo c2-convex-bsd ++ fi ++ exit 0 ;; ++ c34*) ++ echo c34-convex-bsd ++ exit 0 ;; ++ c38*) ++ echo c38-convex-bsd ++ exit 0 ;; ++ c4*) ++ echo c4-convex-bsd ++ exit 0 ;; ++ esac ++fi ++ ++cat >&2 < in order to provide the needed ++information to handle your system. ++ ++config.guess timestamp = $timestamp ++ ++uname -m = `(uname -m) 2>/dev/null || echo unknown` ++uname -r = `(uname -r) 2>/dev/null || echo unknown` ++uname -s = `(uname -s) 2>/dev/null || echo unknown` ++uname -v = `(uname -v) 2>/dev/null || echo unknown` ++ ++/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` ++/bin/uname -X = `(/bin/uname -X) 2>/dev/null` ++ ++hostinfo = `(hostinfo) 2>/dev/null` ++/bin/universe = `(/bin/universe) 2>/dev/null` ++/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` ++/bin/arch = `(/bin/arch) 2>/dev/null` ++/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` ++/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` ++ ++UNAME_MACHINE = ${UNAME_MACHINE} ++UNAME_RELEASE = ${UNAME_RELEASE} ++UNAME_SYSTEM = ${UNAME_SYSTEM} ++UNAME_VERSION = ${UNAME_VERSION} ++EOF ++ ++exit 1 ++ ++# Local variables: ++# eval: (add-hook 'write-file-hooks 'time-stamp) ++# time-stamp-start: "timestamp='" ++# time-stamp-format: "%:y-%02m-%02d" ++# time-stamp-end: "'" ++# End: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/config.h.in tripwire-2.3.1-2/config.h.in +--- tripwire-2.3.1-2.old/config.h.in Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/config.h.in Mon Sep 22 09:40:54 2003 +@@ -0,0 +1,167 @@ ++/* config.h.in. Generated automatically from configure.in by autoheader. */ ++ ++/* Compile with debug code */ ++#undef DEBUG ++ ++/* this is the prefix for STLPort exception functions */ ++#undef EXCEPTION_NAMESPACE ++ ++/* Define if you have the header file. */ ++#undef HAVE_BITS_SIGNUM_H ++ ++/* Uses the GNU gcc compiler */ ++#undef HAVE_GCC ++ ++/* Define if you have the `gethostid' function. */ ++#undef HAVE_GETHOSTID ++ ++/* Define if you have the `gethostname' function. */ ++#undef HAVE_GETHOSTNAME ++ ++/* Define if you have the header file. */ ++#undef HAVE_ICONV_H ++ ++/* Define if you have the header file. */ ++#undef HAVE_INTTYPES_H ++ ++/* Define if you have the header file. */ ++#undef HAVE_IOSTREAM ++ ++/* Define if you have the header file. */ ++#undef HAVE_LANGINFO_H ++ ++/* Define if you have the header file. */ ++#undef HAVE_MALLOC_H ++ ++/* Define if you have the header file. */ ++#undef HAVE_MEMORY_H ++ ++/* Define if you have the `mkstemp' function. */ ++#undef HAVE_MKSTEMP ++ ++/* Define if you have the `mktemp' function. */ ++#undef HAVE_MKTEMP ++ ++/* Define if you have the header file. */ ++#undef HAVE_OPENSSL_MD5_H ++ ++/* Define if you have the header file. */ ++#undef HAVE_OPENSSL_SHA_H ++ ++/* Define if you have the header file. */ ++#undef HAVE_SIGNUM_H ++ ++/* Define if you have the header file. */ ++#undef HAVE_STDARG_H ++ ++/* Define if you have the header file. */ ++#undef HAVE_STDINT_H ++ ++/* Define if you have the header file. */ ++#undef HAVE_STDLIB_H ++ ++/* Define if you have the `strftime' function. */ ++#undef HAVE_STRFTIME ++ ++/* Define if you have the header file. */ ++#undef HAVE_STRINGS_H ++ ++/* Define if you have the header file. */ ++#undef HAVE_STRING_H ++ ++/* Define if you have the header file. */ ++#undef HAVE_SYSLOG_H ++ ++/* Define if you have the header file. */ ++#undef HAVE_SYS_MOUNT_H ++ ++/* Define if you have the header file. */ ++#undef HAVE_SYS_PARAM_H ++ ++/* Define if you have the header file. */ ++#undef HAVE_SYS_STATFS_H ++ ++/* Define if you have the header file. */ ++#undef HAVE_SYS_STAT_H ++ ++/* Define if you have the header file. */ ++#undef HAVE_SYS_SYSLOG_H ++ ++/* Define if you have the header file. */ ++#undef HAVE_SYS_SYSMACROS_H ++ ++/* Define if you have the header file. */ ++#undef HAVE_SYS_TYPES_H ++ ++/* Define if you have the header file. */ ++#undef HAVE_SYS_USTAT_H ++ ++/* Define if you have the header file. */ ++#undef HAVE_UNISTD_H ++ ++/* Define if you have the header file. */ ++#undef HAVE_VARARGS_H ++ ++/* define if you have wchar.h */ ++#undef HAVE_WCHAR_H ++ ++/* Is byte aligned */ ++#undef IS_BYTE_ALIGNED ++ ++/* Is a unix type platform */ ++#undef IS_UNIX ++ ++/* don't generate debuging code */ ++#undef NDEBUG ++ ++/* Name of package */ ++#undef PACKAGE ++ ++/* The size of a `int', as computed by sizeof. */ ++#undef SIZEOF_INT ++ ++/* The size of a `long', as computed by sizeof. */ ++#undef SIZEOF_LONG ++ ++/* The size of a `long long', as computed by sizeof. */ ++#undef SIZEOF_LONG_LONG ++ ++/* Don't use gethostbyname() on Solaris */ ++#undef SOLARIS_NO_GETHOSTBYNAME ++ ++/* Define if you have the ANSI C header files. */ ++#undef STDC_HEADERS ++ ++/* Target OS */ ++#undef TARGET_OS ++ ++/* Define if you can safely include both and . */ ++#undef TIME_WITH_SYS_TIME ++ ++/* Uses one's complement */ ++#undef USES_1S_COMPLEMENT ++ ++/* Uses two's complement */ ++#undef USES_2S_COMPLEMENT ++ ++/* Uses signed magnitute */ ++#undef USES_SIGNED_MAGNITUDE ++ ++/* Version number of package */ ++#undef VERSION ++ ++/* Define if your processor stores words with the most significant byte first ++ (like Motorola and SPARC, unlike Intel and VAX). */ ++#undef WORDS_BIGENDIAN ++ ++/* define if you don't have wchar.h */ ++#undef _STLP_NO_WCHAR_T ++ ++/* define if you are OpenBSD */ ++#undef __NetBSD__ ++ ++/* Define to empty if `const' does not conform to ANSI C. */ ++#undef const ++ ++/* Define to `unsigned' if does not define. */ ++#undef size_t +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/config.sub tripwire-2.3.1-2/config.sub +--- tripwire-2.3.1-2.old/config.sub Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/config.sub Wed Jul 3 11:00:05 2002 +@@ -0,0 +1,1375 @@ ++#! /bin/sh ++# Configuration validation subroutine script. ++# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 ++# Free Software Foundation, Inc. ++ ++timestamp='2001-06-08' ++ ++# This file is (in principle) common to ALL GNU software. ++# The presence of a machine in this file suggests that SOME GNU software ++# can handle that machine. It does not imply ALL GNU software can. ++# ++# This file is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of the License, or ++# (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 59 Temple Place - Suite 330, ++# Boston, MA 02111-1307, USA. ++ ++# As a special exception to the GNU General Public License, if you ++# distribute this file as part of a program that contains a ++# configuration script generated by Autoconf, you may include it under ++# the same distribution terms that you use for the rest of that program. ++ ++# Please send patches to . ++# ++# Configuration subroutine to validate and canonicalize a configuration type. ++# Supply the specified configuration type as an argument. ++# If it is invalid, we print an error message on stderr and exit with code 1. ++# Otherwise, we print the canonical config type on stdout and succeed. ++ ++# This file is supposed to be the same for all GNU packages ++# and recognize all the CPU types, system types and aliases ++# that are meaningful with *any* GNU software. ++# Each package is responsible for reporting which valid configurations ++# it does not support. The user should be able to distinguish ++# a failure to support a valid configuration from a meaningless ++# configuration. ++ ++# The goal of this file is to map all the various variations of a given ++# machine specification into a single specification in the form: ++# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM ++# or in some cases, the newer four-part form: ++# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM ++# It is wrong to echo any other type of specification. ++ ++me=`echo "$0" | sed -e 's,.*/,,'` ++ ++usage="\ ++Usage: $0 [OPTION] CPU-MFR-OPSYS ++ $0 [OPTION] ALIAS ++ ++Canonicalize a configuration name. ++ ++Operation modes: ++ -h, --help print this help, then exit ++ -t, --time-stamp print date of last modification, then exit ++ -v, --version print version number, then exit ++ ++Report bugs and patches to ." ++ ++version="\ ++GNU config.sub ($timestamp) ++ ++Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 ++Free Software Foundation, Inc. ++ ++This is free software; see the source for copying conditions. There is NO ++warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." ++ ++help=" ++Try \`$me --help' for more information." ++ ++# Parse command line ++while test $# -gt 0 ; do ++ case $1 in ++ --time-stamp | --time* | -t ) ++ echo "$timestamp" ; exit 0 ;; ++ --version | -v ) ++ echo "$version" ; exit 0 ;; ++ --help | --h* | -h ) ++ echo "$usage"; exit 0 ;; ++ -- ) # Stop option processing ++ shift; break ;; ++ - ) # Use stdin as input. ++ break ;; ++ -* ) ++ echo "$me: invalid option $1$help" ++ exit 1 ;; ++ ++ *local*) ++ # First pass through any local machine types. ++ echo $1 ++ exit 0;; ++ ++ * ) ++ break ;; ++ esac ++done ++ ++case $# in ++ 0) echo "$me: missing argument$help" >&2 ++ exit 1;; ++ 1) ;; ++ *) echo "$me: too many arguments$help" >&2 ++ exit 1;; ++esac ++ ++# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). ++# Here we must recognize all the valid KERNEL-OS combinations. ++maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` ++case $maybe_os in ++ nto-qnx* | linux-gnu* | storm-chaos* | os2-emx* | windows32-*) ++ os=-$maybe_os ++ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ++ ;; ++ *) ++ basic_machine=`echo $1 | sed 's/-[^-]*$//'` ++ if [ $basic_machine != $1 ] ++ then os=`echo $1 | sed 's/.*-/-/'` ++ else os=; fi ++ ;; ++esac ++ ++### Let's recognize common machines as not being operating systems so ++### that things like config.sub decstation-3100 work. We also ++### recognize some manufacturers as not being operating systems, so we ++### can provide default operating systems below. ++case $os in ++ -sun*os*) ++ # Prevent following clause from handling this invalid input. ++ ;; ++ -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ ++ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ ++ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ ++ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ ++ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ ++ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ ++ -apple | -axis) ++ os= ++ basic_machine=$1 ++ ;; ++ -sim | -cisco | -oki | -wec | -winbond) ++ os= ++ basic_machine=$1 ++ ;; ++ -scout) ++ ;; ++ -wrs) ++ os=-vxworks ++ basic_machine=$1 ++ ;; ++ -chorusos*) ++ os=-chorusos ++ basic_machine=$1 ++ ;; ++ -chorusrdb) ++ os=-chorusrdb ++ basic_machine=$1 ++ ;; ++ -hiux*) ++ os=-hiuxwe2 ++ ;; ++ -sco5) ++ os=-sco3.2v5 ++ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ++ ;; ++ -sco4) ++ os=-sco3.2v4 ++ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ++ ;; ++ -sco3.2.[4-9]*) ++ os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` ++ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ++ ;; ++ -sco3.2v[4-9]*) ++ # Don't forget version if it is 3.2v4 or newer. ++ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ++ ;; ++ -sco*) ++ os=-sco3.2v2 ++ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ++ ;; ++ -udk*) ++ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ++ ;; ++ -isc) ++ os=-isc2.2 ++ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ++ ;; ++ -clix*) ++ basic_machine=clipper-intergraph ++ ;; ++ -isc*) ++ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ++ ;; ++ -lynx*) ++ os=-lynxos ++ ;; ++ -ptx*) ++ basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` ++ ;; ++ -windowsnt*) ++ os=`echo $os | sed -e 's/windowsnt/winnt/'` ++ ;; ++ -psos*) ++ os=-psos ++ ;; ++ -mint | -mint[0-9]*) ++ basic_machine=m68k-atari ++ os=-mint ++ ;; ++esac ++ ++# Decode aliases for certain CPU-COMPANY combinations. ++case $basic_machine in ++ # Recognize the basic CPU types without company name. ++ # Some are omitted here because they have special meanings below. ++ tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc \ ++ | arm | arme[lb] | arm[bl]e | armv[2345] | armv[345][lb] | strongarm | xscale \ ++ | pyramid | mn10200 | mn10300 | tron | a29k \ ++ | 580 | i960 | h8300 \ ++ | x86 | ppcbe | mipsbe | mipsle | shbe | shle \ ++ | hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \ ++ | hppa64 \ ++ | alpha | alphaev[4-8] | alphaev56 | alphapca5[67] \ ++ | alphaev6[78] \ ++ | we32k | ns16k | clipper | i370 | sh | sh[34] \ ++ | powerpc | powerpcle \ ++ | 1750a | dsp16xx | pdp10 | pdp11 \ ++ | mips16 | mips64 | mipsel | mips64el \ ++ | mips64orion | mips64orionel | mipstx39 | mipstx39el \ ++ | mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \ ++ | mips64vr5000 | mips64vr5000el | mcore | s390 | s390x \ ++ | sparc | sparclet | sparclite | sparc64 | sparcv9 | sparcv9b \ ++ | v850 | c4x \ ++ | thumb | d10v | d30v | fr30 | avr | openrisc | tic80 \ ++ | pj | pjl | h8500 | z8k) ++ basic_machine=$basic_machine-unknown ++ ;; ++ m6811 | m68hc11 | m6812 | m68hc12) ++ # Motorola 68HC11/12. ++ basic_machine=$basic_machine-unknown ++ os=-none ++ ;; ++ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ++ ;; ++ ++ # We use `pc' rather than `unknown' ++ # because (1) that's what they normally are, and ++ # (2) the word "unknown" tends to confuse beginning users. ++ i*86 | x86_64) ++ basic_machine=$basic_machine-pc ++ ;; ++ # Object if more than one company name word. ++ *-*-*) ++ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 ++ exit 1 ++ ;; ++ # Recognize the basic CPU types with company name. ++ # FIXME: clean up the formatting here. ++ vax-* | tahoe-* | i*86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \ ++ | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | c[123]* \ ++ | arm-* | armbe-* | armle-* | armv*-* | strongarm-* | xscale-* \ ++ | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \ ++ | power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \ ++ | xmp-* | ymp-* \ ++ | x86-* | ppcbe-* | mipsbe-* | mipsle-* | shbe-* | shle-* \ ++ | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* \ ++ | hppa2.0n-* | hppa64-* \ ++ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphapca5[67]-* \ ++ | alphaev6[78]-* \ ++ | we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \ ++ | clipper-* | orion-* \ ++ | sparclite-* | pdp10-* | pdp11-* | sh-* | sh[34]-* | sh[34]eb-* \ ++ | powerpc-* | powerpcle-* | sparc64-* | sparcv9-* | sparcv9b-* | sparc86x-* \ ++ | mips16-* | mips64-* | mipsel-* \ ++ | mips64el-* | mips64orion-* | mips64orionel-* \ ++ | mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \ ++ | mipstx39-* | mipstx39el-* | mcore-* \ ++ | f30[01]-* | f700-* | s390-* | s390x-* | sv1-* | t3e-* \ ++ | [cjt]90-* \ ++ | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \ ++ | thumb-* | v850-* | d30v-* | tic30-* | tic80-* | c30-* | fr30-* \ ++ | bs2000-* | tic54x-* | c54x-* | x86_64-* | pj-* | pjl-*) ++ ;; ++ # Recognize the various machine names and aliases which stand ++ # for a CPU type and a company and sometimes even an OS. ++ 386bsd) ++ basic_machine=i386-unknown ++ os=-bsd ++ ;; ++ 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) ++ basic_machine=m68000-att ++ ;; ++ 3b*) ++ basic_machine=we32k-att ++ ;; ++ a29khif) ++ basic_machine=a29k-amd ++ os=-udi ++ ;; ++ adobe68k) ++ basic_machine=m68010-adobe ++ os=-scout ++ ;; ++ alliant | fx80) ++ basic_machine=fx80-alliant ++ ;; ++ altos | altos3068) ++ basic_machine=m68k-altos ++ ;; ++ am29k) ++ basic_machine=a29k-none ++ os=-bsd ++ ;; ++ amdahl) ++ basic_machine=580-amdahl ++ os=-sysv ++ ;; ++ amiga | amiga-*) ++ basic_machine=m68k-unknown ++ ;; ++ amigaos | amigados) ++ basic_machine=m68k-unknown ++ os=-amigaos ++ ;; ++ amigaunix | amix) ++ basic_machine=m68k-unknown ++ os=-sysv4 ++ ;; ++ apollo68) ++ basic_machine=m68k-apollo ++ os=-sysv ++ ;; ++ apollo68bsd) ++ basic_machine=m68k-apollo ++ os=-bsd ++ ;; ++ aux) ++ basic_machine=m68k-apple ++ os=-aux ++ ;; ++ balance) ++ basic_machine=ns32k-sequent ++ os=-dynix ++ ;; ++ convex-c1) ++ basic_machine=c1-convex ++ os=-bsd ++ ;; ++ convex-c2) ++ basic_machine=c2-convex ++ os=-bsd ++ ;; ++ convex-c32) ++ basic_machine=c32-convex ++ os=-bsd ++ ;; ++ convex-c34) ++ basic_machine=c34-convex ++ os=-bsd ++ ;; ++ convex-c38) ++ basic_machine=c38-convex ++ os=-bsd ++ ;; ++ cray | ymp) ++ basic_machine=ymp-cray ++ os=-unicos ++ ;; ++ cray2) ++ basic_machine=cray2-cray ++ os=-unicos ++ ;; ++ [cjt]90) ++ basic_machine=${basic_machine}-cray ++ os=-unicos ++ ;; ++ crds | unos) ++ basic_machine=m68k-crds ++ ;; ++ cris | cris-* | etrax*) ++ basic_machine=cris-axis ++ ;; ++ da30 | da30-*) ++ basic_machine=m68k-da30 ++ ;; ++ decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) ++ basic_machine=mips-dec ++ ;; ++ delta | 3300 | motorola-3300 | motorola-delta \ ++ | 3300-motorola | delta-motorola) ++ basic_machine=m68k-motorola ++ ;; ++ delta88) ++ basic_machine=m88k-motorola ++ os=-sysv3 ++ ;; ++ dpx20 | dpx20-*) ++ basic_machine=rs6000-bull ++ os=-bosx ++ ;; ++ dpx2* | dpx2*-bull) ++ basic_machine=m68k-bull ++ os=-sysv3 ++ ;; ++ ebmon29k) ++ basic_machine=a29k-amd ++ os=-ebmon ++ ;; ++ elxsi) ++ basic_machine=elxsi-elxsi ++ os=-bsd ++ ;; ++ encore | umax | mmax) ++ basic_machine=ns32k-encore ++ ;; ++ es1800 | OSE68k | ose68k | ose | OSE) ++ basic_machine=m68k-ericsson ++ os=-ose ++ ;; ++ fx2800) ++ basic_machine=i860-alliant ++ ;; ++ genix) ++ basic_machine=ns32k-ns ++ ;; ++ gmicro) ++ basic_machine=tron-gmicro ++ os=-sysv ++ ;; ++ go32) ++ basic_machine=i386-pc ++ os=-go32 ++ ;; ++ h3050r* | hiux*) ++ basic_machine=hppa1.1-hitachi ++ os=-hiuxwe2 ++ ;; ++ h8300hms) ++ basic_machine=h8300-hitachi ++ os=-hms ++ ;; ++ h8300xray) ++ basic_machine=h8300-hitachi ++ os=-xray ++ ;; ++ h8500hms) ++ basic_machine=h8500-hitachi ++ os=-hms ++ ;; ++ harris) ++ basic_machine=m88k-harris ++ os=-sysv3 ++ ;; ++ hp300-*) ++ basic_machine=m68k-hp ++ ;; ++ hp300bsd) ++ basic_machine=m68k-hp ++ os=-bsd ++ ;; ++ hp300hpux) ++ basic_machine=m68k-hp ++ os=-hpux ++ ;; ++ hp3k9[0-9][0-9] | hp9[0-9][0-9]) ++ basic_machine=hppa1.0-hp ++ ;; ++ hp9k2[0-9][0-9] | hp9k31[0-9]) ++ basic_machine=m68000-hp ++ ;; ++ hp9k3[2-9][0-9]) ++ basic_machine=m68k-hp ++ ;; ++ hp9k6[0-9][0-9] | hp6[0-9][0-9]) ++ basic_machine=hppa1.0-hp ++ ;; ++ hp9k7[0-79][0-9] | hp7[0-79][0-9]) ++ basic_machine=hppa1.1-hp ++ ;; ++ hp9k78[0-9] | hp78[0-9]) ++ # FIXME: really hppa2.0-hp ++ basic_machine=hppa1.1-hp ++ ;; ++ hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) ++ # FIXME: really hppa2.0-hp ++ basic_machine=hppa1.1-hp ++ ;; ++ hp9k8[0-9][13679] | hp8[0-9][13679]) ++ basic_machine=hppa1.1-hp ++ ;; ++ hp9k8[0-9][0-9] | hp8[0-9][0-9]) ++ basic_machine=hppa1.0-hp ++ ;; ++ hppa-next) ++ os=-nextstep3 ++ ;; ++ hppaosf) ++ basic_machine=hppa1.1-hp ++ os=-osf ++ ;; ++ hppro) ++ basic_machine=hppa1.1-hp ++ os=-proelf ++ ;; ++ i370-ibm* | ibm*) ++ basic_machine=i370-ibm ++ ;; ++# I'm not sure what "Sysv32" means. Should this be sysv3.2? ++ i*86v32) ++ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` ++ os=-sysv32 ++ ;; ++ i*86v4*) ++ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` ++ os=-sysv4 ++ ;; ++ i*86v) ++ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` ++ os=-sysv ++ ;; ++ i*86sol2) ++ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` ++ os=-solaris2 ++ ;; ++ i386mach) ++ basic_machine=i386-mach ++ os=-mach ++ ;; ++ i386-vsta | vsta) ++ basic_machine=i386-unknown ++ os=-vsta ++ ;; ++ iris | iris4d) ++ basic_machine=mips-sgi ++ case $os in ++ -irix*) ++ ;; ++ *) ++ os=-irix4 ++ ;; ++ esac ++ ;; ++ isi68 | isi) ++ basic_machine=m68k-isi ++ os=-sysv ++ ;; ++ m88k-omron*) ++ basic_machine=m88k-omron ++ ;; ++ magnum | m3230) ++ basic_machine=mips-mips ++ os=-sysv ++ ;; ++ merlin) ++ basic_machine=ns32k-utek ++ os=-sysv ++ ;; ++ mingw32) ++ basic_machine=i386-pc ++ os=-mingw32 ++ ;; ++ miniframe) ++ basic_machine=m68000-convergent ++ ;; ++ *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) ++ basic_machine=m68k-atari ++ os=-mint ++ ;; ++ mipsel*-linux*) ++ basic_machine=mipsel-unknown ++ os=-linux-gnu ++ ;; ++ mips*-linux*) ++ basic_machine=mips-unknown ++ os=-linux-gnu ++ ;; ++ mips3*-*) ++ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ++ ;; ++ mips3*) ++ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ++ ;; ++ mmix*) ++ basic_machine=mmix-knuth ++ os=-mmixware ++ ;; ++ monitor) ++ basic_machine=m68k-rom68k ++ os=-coff ++ ;; ++ msdos) ++ basic_machine=i386-pc ++ os=-msdos ++ ;; ++ mvs) ++ basic_machine=i370-ibm ++ os=-mvs ++ ;; ++ ncr3000) ++ basic_machine=i486-ncr ++ os=-sysv4 ++ ;; ++ netbsd386) ++ basic_machine=i386-unknown ++ os=-netbsd ++ ;; ++ netwinder) ++ basic_machine=armv4l-rebel ++ os=-linux ++ ;; ++ news | news700 | news800 | news900) ++ basic_machine=m68k-sony ++ os=-newsos ++ ;; ++ news1000) ++ basic_machine=m68030-sony ++ os=-newsos ++ ;; ++ news-3600 | risc-news) ++ basic_machine=mips-sony ++ os=-newsos ++ ;; ++ necv70) ++ basic_machine=v70-nec ++ os=-sysv ++ ;; ++ next | m*-next ) ++ basic_machine=m68k-next ++ case $os in ++ -nextstep* ) ++ ;; ++ -ns2*) ++ os=-nextstep2 ++ ;; ++ *) ++ os=-nextstep3 ++ ;; ++ esac ++ ;; ++ nh3000) ++ basic_machine=m68k-harris ++ os=-cxux ++ ;; ++ nh[45]000) ++ basic_machine=m88k-harris ++ os=-cxux ++ ;; ++ nindy960) ++ basic_machine=i960-intel ++ os=-nindy ++ ;; ++ mon960) ++ basic_machine=i960-intel ++ os=-mon960 ++ ;; ++ nonstopux) ++ basic_machine=mips-compaq ++ os=-nonstopux ++ ;; ++ np1) ++ basic_machine=np1-gould ++ ;; ++ nsr-tandem) ++ basic_machine=nsr-tandem ++ ;; ++ op50n-* | op60c-*) ++ basic_machine=hppa1.1-oki ++ os=-proelf ++ ;; ++ OSE68000 | ose68000) ++ basic_machine=m68000-ericsson ++ os=-ose ++ ;; ++ os68k) ++ basic_machine=m68k-none ++ os=-os68k ++ ;; ++ pa-hitachi) ++ basic_machine=hppa1.1-hitachi ++ os=-hiuxwe2 ++ ;; ++ paragon) ++ basic_machine=i860-intel ++ os=-osf ++ ;; ++ pbd) ++ basic_machine=sparc-tti ++ ;; ++ pbb) ++ basic_machine=m68k-tti ++ ;; ++ pc532 | pc532-*) ++ basic_machine=ns32k-pc532 ++ ;; ++ pentium | p5 | k5 | k6 | nexgen) ++ basic_machine=i586-pc ++ ;; ++ pentiumpro | p6 | 6x86 | athlon) ++ basic_machine=i686-pc ++ ;; ++ pentiumii | pentium2) ++ basic_machine=i686-pc ++ ;; ++ pentium-* | p5-* | k5-* | k6-* | nexgen-*) ++ basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ++ ;; ++ pentiumpro-* | p6-* | 6x86-* | athlon-*) ++ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ++ ;; ++ pentiumii-* | pentium2-*) ++ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ++ ;; ++ pn) ++ basic_machine=pn-gould ++ ;; ++ power) basic_machine=power-ibm ++ ;; ++ ppc) basic_machine=powerpc-unknown ++ ;; ++ ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ++ ;; ++ ppcle | powerpclittle | ppc-le | powerpc-little) ++ basic_machine=powerpcle-unknown ++ ;; ++ ppcle-* | powerpclittle-*) ++ basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ++ ;; ++ ps2) ++ basic_machine=i386-ibm ++ ;; ++ pw32) ++ basic_machine=i586-unknown ++ os=-pw32 ++ ;; ++ rom68k) ++ basic_machine=m68k-rom68k ++ os=-coff ++ ;; ++ rm[46]00) ++ basic_machine=mips-siemens ++ ;; ++ rtpc | rtpc-*) ++ basic_machine=romp-ibm ++ ;; ++ sa29200) ++ basic_machine=a29k-amd ++ os=-udi ++ ;; ++ sequent) ++ basic_machine=i386-sequent ++ ;; ++ sh) ++ basic_machine=sh-hitachi ++ os=-hms ++ ;; ++ sparclite-wrs) ++ basic_machine=sparclite-wrs ++ os=-vxworks ++ ;; ++ sps7) ++ basic_machine=m68k-bull ++ os=-sysv2 ++ ;; ++ spur) ++ basic_machine=spur-unknown ++ ;; ++ st2000) ++ basic_machine=m68k-tandem ++ ;; ++ stratus) ++ basic_machine=i860-stratus ++ os=-sysv4 ++ ;; ++ sun2) ++ basic_machine=m68000-sun ++ ;; ++ sun2os3) ++ basic_machine=m68000-sun ++ os=-sunos3 ++ ;; ++ sun2os4) ++ basic_machine=m68000-sun ++ os=-sunos4 ++ ;; ++ sun3os3) ++ basic_machine=m68k-sun ++ os=-sunos3 ++ ;; ++ sun3os4) ++ basic_machine=m68k-sun ++ os=-sunos4 ++ ;; ++ sun4os3) ++ basic_machine=sparc-sun ++ os=-sunos3 ++ ;; ++ sun4os4) ++ basic_machine=sparc-sun ++ os=-sunos4 ++ ;; ++ sun4sol2) ++ basic_machine=sparc-sun ++ os=-solaris2 ++ ;; ++ sun3 | sun3-*) ++ basic_machine=m68k-sun ++ ;; ++ sun4) ++ basic_machine=sparc-sun ++ ;; ++ sun386 | sun386i | roadrunner) ++ basic_machine=i386-sun ++ ;; ++ sv1) ++ basic_machine=sv1-cray ++ os=-unicos ++ ;; ++ symmetry) ++ basic_machine=i386-sequent ++ os=-dynix ++ ;; ++ t3e) ++ basic_machine=t3e-cray ++ os=-unicos ++ ;; ++ tic54x | c54x*) ++ basic_machine=tic54x-unknown ++ os=-coff ++ ;; ++ tx39) ++ basic_machine=mipstx39-unknown ++ ;; ++ tx39el) ++ basic_machine=mipstx39el-unknown ++ ;; ++ tower | tower-32) ++ basic_machine=m68k-ncr ++ ;; ++ udi29k) ++ basic_machine=a29k-amd ++ os=-udi ++ ;; ++ ultra3) ++ basic_machine=a29k-nyu ++ os=-sym1 ++ ;; ++ v810 | necv810) ++ basic_machine=v810-nec ++ os=-none ++ ;; ++ vaxv) ++ basic_machine=vax-dec ++ os=-sysv ++ ;; ++ vms) ++ basic_machine=vax-dec ++ os=-vms ++ ;; ++ vpp*|vx|vx-*) ++ basic_machine=f301-fujitsu ++ ;; ++ vxworks960) ++ basic_machine=i960-wrs ++ os=-vxworks ++ ;; ++ vxworks68) ++ basic_machine=m68k-wrs ++ os=-vxworks ++ ;; ++ vxworks29k) ++ basic_machine=a29k-wrs ++ os=-vxworks ++ ;; ++ w65*) ++ basic_machine=w65-wdc ++ os=-none ++ ;; ++ w89k-*) ++ basic_machine=hppa1.1-winbond ++ os=-proelf ++ ;; ++ windows32) ++ basic_machine=i386-pc ++ os=-windows32-msvcrt ++ ;; ++ xmp) ++ basic_machine=xmp-cray ++ os=-unicos ++ ;; ++ xps | xps100) ++ basic_machine=xps100-honeywell ++ ;; ++ z8k-*-coff) ++ basic_machine=z8k-unknown ++ os=-sim ++ ;; ++ none) ++ basic_machine=none-none ++ os=-none ++ ;; ++ ++# Here we handle the default manufacturer of certain CPU types. It is in ++# some cases the only manufacturer, in others, it is the most popular. ++ w89k) ++ basic_machine=hppa1.1-winbond ++ ;; ++ op50n) ++ basic_machine=hppa1.1-oki ++ ;; ++ op60c) ++ basic_machine=hppa1.1-oki ++ ;; ++ mips) ++ if [ x$os = x-linux-gnu ]; then ++ basic_machine=mips-unknown ++ else ++ basic_machine=mips-mips ++ fi ++ ;; ++ romp) ++ basic_machine=romp-ibm ++ ;; ++ rs6000) ++ basic_machine=rs6000-ibm ++ ;; ++ vax) ++ basic_machine=vax-dec ++ ;; ++ pdp10) ++ # there are many clones, so DEC is not a safe bet ++ basic_machine=pdp10-unknown ++ ;; ++ pdp11) ++ basic_machine=pdp11-dec ++ ;; ++ we32k) ++ basic_machine=we32k-att ++ ;; ++ sh3 | sh4) ++ basic_machine=sh-unknown ++ ;; ++ sparc | sparcv9 | sparcv9b) ++ basic_machine=sparc-sun ++ ;; ++ cydra) ++ basic_machine=cydra-cydrome ++ ;; ++ orion) ++ basic_machine=orion-highlevel ++ ;; ++ orion105) ++ basic_machine=clipper-highlevel ++ ;; ++ mac | mpw | mac-mpw) ++ basic_machine=m68k-apple ++ ;; ++ pmac | pmac-mpw) ++ basic_machine=powerpc-apple ++ ;; ++ c4x*) ++ basic_machine=c4x-none ++ os=-coff ++ ;; ++ *-unknown) ++ # Make sure to match an already-canonicalized machine name. ++ ;; ++ *) ++ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 ++ exit 1 ++ ;; ++esac ++ ++# Here we canonicalize certain aliases for manufacturers. ++case $basic_machine in ++ *-digital*) ++ basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ++ ;; ++ *-commodore*) ++ basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ++ ;; ++ *) ++ ;; ++esac ++ ++# Decode manufacturer-specific aliases for certain operating systems. ++ ++if [ x"$os" != x"" ] ++then ++case $os in ++ # First match some system type aliases ++ # that might get confused with valid system types. ++ # -solaris* is a basic system type, with this one exception. ++ -solaris1 | -solaris1.*) ++ os=`echo $os | sed -e 's|solaris1|sunos4|'` ++ ;; ++ -solaris) ++ os=-solaris2 ++ ;; ++ -svr4*) ++ os=-sysv4 ++ ;; ++ -unixware*) ++ os=-sysv4.2uw ++ ;; ++ -gnu/linux*) ++ os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ++ ;; ++ # First accept the basic system types. ++ # The portable systems comes first. ++ # Each alternative MUST END IN A *, to match a version number. ++ # -sysv* is not here because it comes later, after sysvr4. ++ -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ ++ | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ ++ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ ++ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ ++ | -aos* \ ++ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ ++ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ ++ | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \ ++ | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ ++ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ ++ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ ++ | -chorusos* | -chorusrdb* \ ++ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ ++ | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \ ++ | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \ ++ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ ++ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* | -os2*) ++ # Remember, each alternative MUST END IN *, to match a version number. ++ ;; ++ -qnx*) ++ case $basic_machine in ++ x86-* | i*86-*) ++ ;; ++ *) ++ os=-nto$os ++ ;; ++ esac ++ ;; ++ -nto*) ++ os=-nto-qnx ++ ;; ++ -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ ++ | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ ++ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ++ ;; ++ -mac*) ++ os=`echo $os | sed -e 's|mac|macos|'` ++ ;; ++ -linux*) ++ os=`echo $os | sed -e 's|linux|linux-gnu|'` ++ ;; ++ -sunos5*) ++ os=`echo $os | sed -e 's|sunos5|solaris2|'` ++ ;; ++ -sunos6*) ++ os=`echo $os | sed -e 's|sunos6|solaris3|'` ++ ;; ++ -opened*) ++ os=-openedition ++ ;; ++ -wince*) ++ os=-wince ++ ;; ++ -osfrose*) ++ os=-osfrose ++ ;; ++ -osf*) ++ os=-osf ++ ;; ++ -utek*) ++ os=-bsd ++ ;; ++ -dynix*) ++ os=-bsd ++ ;; ++ -acis*) ++ os=-aos ++ ;; ++ -386bsd) ++ os=-bsd ++ ;; ++ -ctix* | -uts*) ++ os=-sysv ++ ;; ++ -ns2 ) ++ os=-nextstep2 ++ ;; ++ -nsk*) ++ os=-nsk ++ ;; ++ # Preserve the version number of sinix5. ++ -sinix5.*) ++ os=`echo $os | sed -e 's|sinix|sysv|'` ++ ;; ++ -sinix*) ++ os=-sysv4 ++ ;; ++ -triton*) ++ os=-sysv3 ++ ;; ++ -oss*) ++ os=-sysv3 ++ ;; ++ -svr4) ++ os=-sysv4 ++ ;; ++ -svr3) ++ os=-sysv3 ++ ;; ++ -sysvr4) ++ os=-sysv4 ++ ;; ++ # This must come after -sysvr4. ++ -sysv*) ++ ;; ++ -ose*) ++ os=-ose ++ ;; ++ -es1800*) ++ os=-ose ++ ;; ++ -xenix) ++ os=-xenix ++ ;; ++ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) ++ os=-mint ++ ;; ++ -none) ++ ;; ++ *) ++ # Get rid of the `-' at the beginning of $os. ++ os=`echo $os | sed 's/[^-]*-//'` ++ echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 ++ exit 1 ++ ;; ++esac ++else ++ ++# Here we handle the default operating systems that come with various machines. ++# The value should be what the vendor currently ships out the door with their ++# machine or put another way, the most popular os provided with the machine. ++ ++# Note that if you're going to try to match "-MANUFACTURER" here (say, ++# "-sun"), then you have to tell the case statement up towards the top ++# that MANUFACTURER isn't an operating system. Otherwise, code above ++# will signal an error saying that MANUFACTURER isn't an operating ++# system, and we'll never get to this point. ++ ++case $basic_machine in ++ *-acorn) ++ os=-riscix1.2 ++ ;; ++ arm*-rebel) ++ os=-linux ++ ;; ++ arm*-semi) ++ os=-aout ++ ;; ++ pdp10-*) ++ os=-tops20 ++ ;; ++ pdp11-*) ++ os=-none ++ ;; ++ *-dec | vax-*) ++ os=-ultrix4.2 ++ ;; ++ m68*-apollo) ++ os=-domain ++ ;; ++ i386-sun) ++ os=-sunos4.0.2 ++ ;; ++ m68000-sun) ++ os=-sunos3 ++ # This also exists in the configure program, but was not the ++ # default. ++ # os=-sunos4 ++ ;; ++ m68*-cisco) ++ os=-aout ++ ;; ++ mips*-cisco) ++ os=-elf ++ ;; ++ mips*-*) ++ os=-elf ++ ;; ++ *-tti) # must be before sparc entry or we get the wrong os. ++ os=-sysv3 ++ ;; ++ sparc-* | *-sun) ++ os=-sunos4.1.1 ++ ;; ++ *-be) ++ os=-beos ++ ;; ++ *-ibm) ++ os=-aix ++ ;; ++ *-wec) ++ os=-proelf ++ ;; ++ *-winbond) ++ os=-proelf ++ ;; ++ *-oki) ++ os=-proelf ++ ;; ++ *-hp) ++ os=-hpux ++ ;; ++ *-hitachi) ++ os=-hiux ++ ;; ++ i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) ++ os=-sysv ++ ;; ++ *-cbm) ++ os=-amigaos ++ ;; ++ *-dg) ++ os=-dgux ++ ;; ++ *-dolphin) ++ os=-sysv3 ++ ;; ++ m68k-ccur) ++ os=-rtu ++ ;; ++ m88k-omron*) ++ os=-luna ++ ;; ++ *-next ) ++ os=-nextstep ++ ;; ++ *-sequent) ++ os=-ptx ++ ;; ++ *-crds) ++ os=-unos ++ ;; ++ *-ns) ++ os=-genix ++ ;; ++ i370-*) ++ os=-mvs ++ ;; ++ *-next) ++ os=-nextstep3 ++ ;; ++ *-gould) ++ os=-sysv ++ ;; ++ *-highlevel) ++ os=-bsd ++ ;; ++ *-encore) ++ os=-bsd ++ ;; ++ *-sgi) ++ os=-irix ++ ;; ++ *-siemens) ++ os=-sysv4 ++ ;; ++ *-masscomp) ++ os=-rtu ++ ;; ++ f30[01]-fujitsu | f700-fujitsu) ++ os=-uxpv ++ ;; ++ *-rom68k) ++ os=-coff ++ ;; ++ *-*bug) ++ os=-coff ++ ;; ++ *-apple) ++ os=-macos ++ ;; ++ *-atari*) ++ os=-mint ++ ;; ++ *) ++ os=-none ++ ;; ++esac ++fi ++ ++# Here we handle the case where we know the os, and the CPU type, but not the ++# manufacturer. We pick the logical manufacturer. ++vendor=unknown ++case $basic_machine in ++ *-unknown) ++ case $os in ++ -riscix*) ++ vendor=acorn ++ ;; ++ -sunos*) ++ vendor=sun ++ ;; ++ -aix*) ++ vendor=ibm ++ ;; ++ -beos*) ++ vendor=be ++ ;; ++ -hpux*) ++ vendor=hp ++ ;; ++ -mpeix*) ++ vendor=hp ++ ;; ++ -hiux*) ++ vendor=hitachi ++ ;; ++ -unos*) ++ vendor=crds ++ ;; ++ -dgux*) ++ vendor=dg ++ ;; ++ -luna*) ++ vendor=omron ++ ;; ++ -genix*) ++ vendor=ns ++ ;; ++ -mvs* | -opened*) ++ vendor=ibm ++ ;; ++ -ptx*) ++ vendor=sequent ++ ;; ++ -vxsim* | -vxworks*) ++ vendor=wrs ++ ;; ++ -aux*) ++ vendor=apple ++ ;; ++ -hms*) ++ vendor=hitachi ++ ;; ++ -mpw* | -macos*) ++ vendor=apple ++ ;; ++ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) ++ vendor=atari ++ ;; ++ esac ++ basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ++ ;; ++esac ++ ++echo $basic_machine$os ++exit 0 ++ ++# Local variables: ++# eval: (add-hook 'write-file-hooks 'time-stamp) ++# time-stamp-start: "timestamp='" ++# time-stamp-format: "%:y-%02m-%02d" ++# time-stamp-end: "'" ++# End: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/configure tripwire-2.3.1-2/configure +--- tripwire-2.3.1-2.old/configure Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/configure Mon Sep 22 09:40:58 2003 +@@ -0,0 +1,6923 @@ ++#! /bin/sh ++# Guess values for system-dependent variables and create Makefiles. ++# Generated by Autoconf 2.52. ++# ++# Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 ++# Free Software Foundation, Inc. ++# This configure script is free software; the Free Software Foundation ++# gives unlimited permission to copy, distribute and modify it. ++ ++# Avoid depending upon Character Ranges. ++as_cr_letters='abcdefghijklmnopqrstuvwxyz' ++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' ++as_cr_Letters=$as_cr_letters$as_cr_LETTERS ++as_cr_digits='0123456789' ++as_cr_alnum=$as_cr_Letters$as_cr_digits ++ ++# Sed expression to map a string onto a valid variable name. ++as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" ++ ++# Sed expression to map a string onto a valid CPP name. ++as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" ++ ++# Be Bourne compatible ++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then ++ emulate sh ++ NULLCMD=: ++elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then ++ set -o posix ++fi ++ ++# Name of the executable. ++as_me=`echo "$0" |sed 's,.*[\\/],,'` ++ ++if expr a : '\(a\)' >/dev/null 2>&1; then ++ as_expr=expr ++else ++ as_expr=false ++fi ++ ++rm -f conf$$ conf$$.exe conf$$.file ++echo >conf$$.file ++if ln -s conf$$.file conf$$ 2>/dev/null; then ++ # We could just check for DJGPP; but this test a) works b) is more generic ++ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). ++ if test -f conf$$.exe; then ++ # Don't use ln at all; we don't have any links ++ as_ln_s='cp -p' ++ else ++ as_ln_s='ln -s' ++ fi ++elif ln conf$$.file conf$$ 2>/dev/null; then ++ as_ln_s=ln ++else ++ as_ln_s='cp -p' ++fi ++rm -f conf$$ conf$$.exe conf$$.file ++ ++as_executable_p="test -f" ++ ++# Support unset when possible. ++if (FOO=FOO; unset FOO) >/dev/null 2>&1; then ++ as_unset=unset ++else ++ as_unset=false ++fi ++ ++# NLS nuisances. ++$as_unset LANG || test "${LANG+set}" != set || { LANG=C; export LANG; } ++$as_unset LC_ALL || test "${LC_ALL+set}" != set || { LC_ALL=C; export LC_ALL; } ++$as_unset LC_TIME || test "${LC_TIME+set}" != set || { LC_TIME=C; export LC_TIME; } ++$as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set || { LC_CTYPE=C; export LC_CTYPE; } ++$as_unset LANGUAGE || test "${LANGUAGE+set}" != set || { LANGUAGE=C; export LANGUAGE; } ++$as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set || { LC_COLLATE=C; export LC_COLLATE; } ++$as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set || { LC_NUMERIC=C; export LC_NUMERIC; } ++$as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set || { LC_MESSAGES=C; export LC_MESSAGES; } ++ ++# IFS ++# We need space, tab and new line, in precisely that order. ++as_nl=' ++' ++IFS=" $as_nl" ++ ++# CDPATH. ++$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; } ++ ++# Name of the host. ++# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, ++# so uname gets run too. ++ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` ++ ++exec 6>&1 ++ ++# ++# Initializations. ++# ++ac_default_prefix=/usr/local ++cross_compiling=no ++subdirs= ++MFLAGS= MAKEFLAGS= ++SHELL=${CONFIG_SHELL-/bin/sh} ++ ++# Maximum number of lines to put in a shell here document. ++# This variable seems obsolete. It should probably be removed, and ++# only ac_max_sed_lines should be used. ++: ${ac_max_here_lines=38} ++ ++ac_unique_file="src/tw/tw.cpp" ++# Factoring default headers for most tests. ++ac_includes_default="\ ++#include ++#if HAVE_SYS_TYPES_H ++# include ++#endif ++#if HAVE_SYS_STAT_H ++# include ++#endif ++#if STDC_HEADERS ++# include ++# include ++#else ++# if HAVE_STDLIB_H ++# include ++# endif ++#endif ++#if HAVE_STRING_H ++# if !STDC_HEADERS && HAVE_MEMORY_H ++# include ++# endif ++# include ++#endif ++#if HAVE_STRINGS_H ++# include ++#endif ++#if HAVE_INTTYPES_H ++# include ++#else ++# if HAVE_STDINT_H ++# include ++# endif ++#endif ++#if HAVE_UNISTD_H ++# include ++#endif" ++ ++# Initialize some variables set by options. ++ac_init_help= ++ac_init_version=false ++# The variables have the same names as the options, with ++# dashes changed to underlines. ++cache_file=/dev/null ++exec_prefix=NONE ++no_create= ++no_recursion= ++prefix=NONE ++program_prefix=NONE ++program_suffix=NONE ++program_transform_name=s,x,x, ++silent= ++site= ++srcdir= ++verbose= ++x_includes=NONE ++x_libraries=NONE ++ ++# Installation directory options. ++# These are left unexpanded so users can "make install exec_prefix=/foo" ++# and all the variables that are supposed to be based on exec_prefix ++# by default will actually change. ++# Use braces instead of parens because sh, perl, etc. also accept them. ++bindir='${exec_prefix}/bin' ++sbindir='${exec_prefix}/sbin' ++libexecdir='${exec_prefix}/libexec' ++datadir='${prefix}/share' ++sysconfdir='${prefix}/etc' ++sharedstatedir='${prefix}/com' ++localstatedir='${prefix}/var' ++libdir='${exec_prefix}/lib' ++includedir='${prefix}/include' ++oldincludedir='/usr/include' ++infodir='${prefix}/info' ++mandir='${prefix}/man' ++ ++# Identity of this package. ++PACKAGE_NAME= ++PACKAGE_TARNAME= ++PACKAGE_VERSION= ++PACKAGE_STRING= ++PACKAGE_BUGREPORT= ++ ++ac_prev= ++for ac_option ++do ++ # If the previous option needs an argument, assign it. ++ if test -n "$ac_prev"; then ++ eval "$ac_prev=\$ac_option" ++ ac_prev= ++ continue ++ fi ++ ++ ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` ++ ++ # Accept the important Cygnus configure options, so we can diagnose typos. ++ ++ case $ac_option in ++ ++ -bindir | --bindir | --bindi | --bind | --bin | --bi) ++ ac_prev=bindir ;; ++ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) ++ bindir=$ac_optarg ;; ++ ++ -build | --build | --buil | --bui | --bu) ++ ac_prev=build_alias ;; ++ -build=* | --build=* | --buil=* | --bui=* | --bu=*) ++ build_alias=$ac_optarg ;; ++ ++ -cache-file | --cache-file | --cache-fil | --cache-fi \ ++ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ++ ac_prev=cache_file ;; ++ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ ++ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) ++ cache_file=$ac_optarg ;; ++ ++ --config-cache | -C) ++ cache_file=config.cache ;; ++ ++ -datadir | --datadir | --datadi | --datad | --data | --dat | --da) ++ ac_prev=datadir ;; ++ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ ++ | --da=*) ++ datadir=$ac_optarg ;; ++ ++ -disable-* | --disable-*) ++ ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && ++ { echo "$as_me: error: invalid feature name: $ac_feature" >&2 ++ { (exit 1); exit 1; }; } ++ ac_feature=`echo $ac_feature | sed 's/-/_/g'` ++ eval "enable_$ac_feature=no" ;; ++ ++ -enable-* | --enable-*) ++ ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && ++ { echo "$as_me: error: invalid feature name: $ac_feature" >&2 ++ { (exit 1); exit 1; }; } ++ ac_feature=`echo $ac_feature | sed 's/-/_/g'` ++ case $ac_option in ++ *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; ++ *) ac_optarg=yes ;; ++ esac ++ eval "enable_$ac_feature='$ac_optarg'" ;; ++ ++ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ ++ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ ++ | --exec | --exe | --ex) ++ ac_prev=exec_prefix ;; ++ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ ++ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ ++ | --exec=* | --exe=* | --ex=*) ++ exec_prefix=$ac_optarg ;; ++ ++ -gas | --gas | --ga | --g) ++ # Obsolete; use --with-gas. ++ with_gas=yes ;; ++ ++ -help | --help | --hel | --he | -h) ++ ac_init_help=long ;; ++ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ++ ac_init_help=recursive ;; ++ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ++ ac_init_help=short ;; ++ ++ -host | --host | --hos | --ho) ++ ac_prev=host_alias ;; ++ -host=* | --host=* | --hos=* | --ho=*) ++ host_alias=$ac_optarg ;; ++ ++ -includedir | --includedir | --includedi | --included | --include \ ++ | --includ | --inclu | --incl | --inc) ++ ac_prev=includedir ;; ++ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ ++ | --includ=* | --inclu=* | --incl=* | --inc=*) ++ includedir=$ac_optarg ;; ++ ++ -infodir | --infodir | --infodi | --infod | --info | --inf) ++ ac_prev=infodir ;; ++ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) ++ infodir=$ac_optarg ;; ++ ++ -libdir | --libdir | --libdi | --libd) ++ ac_prev=libdir ;; ++ -libdir=* | --libdir=* | --libdi=* | --libd=*) ++ libdir=$ac_optarg ;; ++ ++ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ ++ | --libexe | --libex | --libe) ++ ac_prev=libexecdir ;; ++ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ ++ | --libexe=* | --libex=* | --libe=*) ++ libexecdir=$ac_optarg ;; ++ ++ -localstatedir | --localstatedir | --localstatedi | --localstated \ ++ | --localstate | --localstat | --localsta | --localst \ ++ | --locals | --local | --loca | --loc | --lo) ++ ac_prev=localstatedir ;; ++ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ ++ | --localstate=* | --localstat=* | --localsta=* | --localst=* \ ++ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) ++ localstatedir=$ac_optarg ;; ++ ++ -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ++ ac_prev=mandir ;; ++ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) ++ mandir=$ac_optarg ;; ++ ++ -nfp | --nfp | --nf) ++ # Obsolete; use --without-fp. ++ with_fp=no ;; ++ ++ -no-create | --no-create | --no-creat | --no-crea | --no-cre \ ++ | --no-cr | --no-c) ++ no_create=yes ;; ++ ++ -no-recursion | --no-recursion | --no-recursio | --no-recursi \ ++ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ++ no_recursion=yes ;; ++ ++ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ ++ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ ++ | --oldin | --oldi | --old | --ol | --o) ++ ac_prev=oldincludedir ;; ++ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ ++ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ ++ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) ++ oldincludedir=$ac_optarg ;; ++ ++ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ++ ac_prev=prefix ;; ++ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) ++ prefix=$ac_optarg ;; ++ ++ -program-prefix | --program-prefix | --program-prefi | --program-pref \ ++ | --program-pre | --program-pr | --program-p) ++ ac_prev=program_prefix ;; ++ -program-prefix=* | --program-prefix=* | --program-prefi=* \ ++ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) ++ program_prefix=$ac_optarg ;; ++ ++ -program-suffix | --program-suffix | --program-suffi | --program-suff \ ++ | --program-suf | --program-su | --program-s) ++ ac_prev=program_suffix ;; ++ -program-suffix=* | --program-suffix=* | --program-suffi=* \ ++ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) ++ program_suffix=$ac_optarg ;; ++ ++ -program-transform-name | --program-transform-name \ ++ | --program-transform-nam | --program-transform-na \ ++ | --program-transform-n | --program-transform- \ ++ | --program-transform | --program-transfor \ ++ | --program-transfo | --program-transf \ ++ | --program-trans | --program-tran \ ++ | --progr-tra | --program-tr | --program-t) ++ ac_prev=program_transform_name ;; ++ -program-transform-name=* | --program-transform-name=* \ ++ | --program-transform-nam=* | --program-transform-na=* \ ++ | --program-transform-n=* | --program-transform-=* \ ++ | --program-transform=* | --program-transfor=* \ ++ | --program-transfo=* | --program-transf=* \ ++ | --program-trans=* | --program-tran=* \ ++ | --progr-tra=* | --program-tr=* | --program-t=*) ++ program_transform_name=$ac_optarg ;; ++ ++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ ++ | -silent | --silent | --silen | --sile | --sil) ++ silent=yes ;; ++ ++ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ++ ac_prev=sbindir ;; ++ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ ++ | --sbi=* | --sb=*) ++ sbindir=$ac_optarg ;; ++ ++ -sharedstatedir | --sharedstatedir | --sharedstatedi \ ++ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ ++ | --sharedst | --shareds | --shared | --share | --shar \ ++ | --sha | --sh) ++ ac_prev=sharedstatedir ;; ++ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ ++ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ ++ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ ++ | --sha=* | --sh=*) ++ sharedstatedir=$ac_optarg ;; ++ ++ -site | --site | --sit) ++ ac_prev=site ;; ++ -site=* | --site=* | --sit=*) ++ site=$ac_optarg ;; ++ ++ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ++ ac_prev=srcdir ;; ++ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) ++ srcdir=$ac_optarg ;; ++ ++ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ ++ | --syscon | --sysco | --sysc | --sys | --sy) ++ ac_prev=sysconfdir ;; ++ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ ++ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) ++ sysconfdir=$ac_optarg ;; ++ ++ -target | --target | --targe | --targ | --tar | --ta | --t) ++ ac_prev=target_alias ;; ++ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) ++ target_alias=$ac_optarg ;; ++ ++ -v | -verbose | --verbose | --verbos | --verbo | --verb) ++ verbose=yes ;; ++ ++ -version | --version | --versio | --versi | --vers | -V) ++ ac_init_version=: ;; ++ ++ -with-* | --with-*) ++ ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && ++ { echo "$as_me: error: invalid package name: $ac_package" >&2 ++ { (exit 1); exit 1; }; } ++ ac_package=`echo $ac_package| sed 's/-/_/g'` ++ case $ac_option in ++ *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; ++ *) ac_optarg=yes ;; ++ esac ++ eval "with_$ac_package='$ac_optarg'" ;; ++ ++ -without-* | --without-*) ++ ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && ++ { echo "$as_me: error: invalid package name: $ac_package" >&2 ++ { (exit 1); exit 1; }; } ++ ac_package=`echo $ac_package | sed 's/-/_/g'` ++ eval "with_$ac_package=no" ;; ++ ++ --x) ++ # Obsolete; use --with-x. ++ with_x=yes ;; ++ ++ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ ++ | --x-incl | --x-inc | --x-in | --x-i) ++ ac_prev=x_includes ;; ++ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ ++ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) ++ x_includes=$ac_optarg ;; ++ ++ -x-libraries | --x-libraries | --x-librarie | --x-librari \ ++ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ++ ac_prev=x_libraries ;; ++ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ ++ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) ++ x_libraries=$ac_optarg ;; ++ ++ -*) { echo "$as_me: error: unrecognized option: $ac_option ++Try \`$0 --help' for more information." >&2 ++ { (exit 1); exit 1; }; } ++ ;; ++ ++ *=*) ++ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && ++ { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 ++ { (exit 1); exit 1; }; } ++ ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ++ eval "$ac_envvar='$ac_optarg'" ++ export $ac_envvar ;; ++ ++ *) ++ # FIXME: should be removed in autoconf 3.0. ++ echo "$as_me: WARNING: you should use --build, --host, --target" >&2 ++ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && ++ echo "$as_me: WARNING: invalid host type: $ac_option" >&2 ++ : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ++ ;; ++ ++ esac ++done ++ ++if test -n "$ac_prev"; then ++ ac_option=--`echo $ac_prev | sed 's/_/-/g'` ++ { echo "$as_me: error: missing argument to $ac_option" >&2 ++ { (exit 1); exit 1; }; } ++fi ++ ++# Be sure to have absolute paths. ++for ac_var in exec_prefix prefix ++do ++ eval ac_val=$`echo $ac_var` ++ case $ac_val in ++ [\\/$]* | ?:[\\/]* | NONE | '' ) ;; ++ *) { echo "$as_me: error: expected an absolute path for --$ac_var: $ac_val" >&2 ++ { (exit 1); exit 1; }; };; ++ esac ++done ++ ++# Be sure to have absolute paths. ++for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ ++ localstatedir libdir includedir oldincludedir infodir mandir ++do ++ eval ac_val=$`echo $ac_var` ++ case $ac_val in ++ [\\/$]* | ?:[\\/]* ) ;; ++ *) { echo "$as_me: error: expected an absolute path for --$ac_var: $ac_val" >&2 ++ { (exit 1); exit 1; }; };; ++ esac ++done ++ ++# There might be people who depend on the old broken behavior: `$host' ++# used to hold the argument of --host etc. ++build=$build_alias ++host=$host_alias ++target=$target_alias ++ ++# FIXME: should be removed in autoconf 3.0. ++if test "x$host_alias" != x; then ++ if test "x$build_alias" = x; then ++ cross_compiling=maybe ++ echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. ++ If a cross compiler is detected then cross compile mode will be used." >&2 ++ elif test "x$build_alias" != "x$host_alias"; then ++ cross_compiling=yes ++ fi ++fi ++ ++ac_tool_prefix= ++test -n "$host_alias" && ac_tool_prefix=$host_alias- ++ ++test "$silent" = yes && exec 6>/dev/null ++ ++# Find the source files, if location was not specified. ++if test -z "$srcdir"; then ++ ac_srcdir_defaulted=yes ++ # Try the directory containing this script, then its parent. ++ ac_prog=$0 ++ ac_confdir=`echo "$ac_prog" | sed 's%[\\/][^\\/][^\\/]*$%%'` ++ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. ++ srcdir=$ac_confdir ++ if test ! -r $srcdir/$ac_unique_file; then ++ srcdir=.. ++ fi ++else ++ ac_srcdir_defaulted=no ++fi ++if test ! -r $srcdir/$ac_unique_file; then ++ if test "$ac_srcdir_defaulted" = yes; then ++ { echo "$as_me: error: cannot find sources in $ac_confdir or .." >&2 ++ { (exit 1); exit 1; }; } ++ else ++ { echo "$as_me: error: cannot find sources in $srcdir" >&2 ++ { (exit 1); exit 1; }; } ++ fi ++fi ++srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` ++ac_env_build_alias_set=${build_alias+set} ++ac_env_build_alias_value=$build_alias ++ac_cv_env_build_alias_set=${build_alias+set} ++ac_cv_env_build_alias_value=$build_alias ++ac_env_host_alias_set=${host_alias+set} ++ac_env_host_alias_value=$host_alias ++ac_cv_env_host_alias_set=${host_alias+set} ++ac_cv_env_host_alias_value=$host_alias ++ac_env_target_alias_set=${target_alias+set} ++ac_env_target_alias_value=$target_alias ++ac_cv_env_target_alias_set=${target_alias+set} ++ac_cv_env_target_alias_value=$target_alias ++ac_env_CC_set=${CC+set} ++ac_env_CC_value=$CC ++ac_cv_env_CC_set=${CC+set} ++ac_cv_env_CC_value=$CC ++ac_env_CFLAGS_set=${CFLAGS+set} ++ac_env_CFLAGS_value=$CFLAGS ++ac_cv_env_CFLAGS_set=${CFLAGS+set} ++ac_cv_env_CFLAGS_value=$CFLAGS ++ac_env_LDFLAGS_set=${LDFLAGS+set} ++ac_env_LDFLAGS_value=$LDFLAGS ++ac_cv_env_LDFLAGS_set=${LDFLAGS+set} ++ac_cv_env_LDFLAGS_value=$LDFLAGS ++ac_env_CPPFLAGS_set=${CPPFLAGS+set} ++ac_env_CPPFLAGS_value=$CPPFLAGS ++ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} ++ac_cv_env_CPPFLAGS_value=$CPPFLAGS ++ac_env_CXX_set=${CXX+set} ++ac_env_CXX_value=$CXX ++ac_cv_env_CXX_set=${CXX+set} ++ac_cv_env_CXX_value=$CXX ++ac_env_CXXFLAGS_set=${CXXFLAGS+set} ++ac_env_CXXFLAGS_value=$CXXFLAGS ++ac_cv_env_CXXFLAGS_set=${CXXFLAGS+set} ++ac_cv_env_CXXFLAGS_value=$CXXFLAGS ++ac_env_CPP_set=${CPP+set} ++ac_env_CPP_value=$CPP ++ac_cv_env_CPP_set=${CPP+set} ++ac_cv_env_CPP_value=$CPP ++ac_env_CXXCPP_set=${CXXCPP+set} ++ac_env_CXXCPP_value=$CXXCPP ++ac_cv_env_CXXCPP_set=${CXXCPP+set} ++ac_cv_env_CXXCPP_value=$CXXCPP ++ ++# ++# Report the --help message. ++# ++if test "$ac_init_help" = "long"; then ++ # Omit some internal or obsolete options to make the list less imposing. ++ # This message is too long to be a string in the A/UX 3.1 sh. ++ cat < if you have libraries in a ++ nonstandard directory ++ CPPFLAGS C/C++ preprocessor flags, e.g. -I if you have ++ headers in a nonstandard directory ++ CXX C++ compiler command ++ CXXFLAGS C++ compiler flags ++ CPP C preprocessor ++ CXXCPP C++ preprocessor ++ ++Use these variables to override the choices made by `configure' or to help ++it to find libraries and programs with nonstandard names/locations. ++ ++EOF ++fi ++ ++if test "$ac_init_help" = "recursive"; then ++ # If there are subdirs, report their specific --help. ++ ac_popdir=`pwd` ++ for ac_subdir in : $ac_subdirs_all; do test "x$ac_subdir" = x: && continue ++ cd $ac_subdir ++ # A "../" for each directory in /$ac_subdir. ++ ac_dots=`echo $ac_subdir | ++ sed 's,^\./,,;s,[^/]$,&/,;s,[^/]*/,../,g'` ++ ++ case $srcdir in ++ .) # No --srcdir option. We are building in place. ++ ac_sub_srcdir=$srcdir ;; ++ [\\/]* | ?:[\\/]* ) # Absolute path. ++ ac_sub_srcdir=$srcdir/$ac_subdir ;; ++ *) # Relative path. ++ ac_sub_srcdir=$ac_dots$srcdir/$ac_subdir ;; ++ esac ++ ++ # Check for guested configure; otherwise get Cygnus style configure. ++ if test -f $ac_sub_srcdir/configure.gnu; then ++ echo ++ $SHELL $ac_sub_srcdir/configure.gnu --help=recursive ++ elif test -f $ac_sub_srcdir/configure; then ++ echo ++ $SHELL $ac_sub_srcdir/configure --help=recursive ++ elif test -f $ac_sub_srcdir/configure.ac || ++ test -f $ac_sub_srcdir/configure.in; then ++ echo ++ $ac_configure --help ++ else ++ echo "$as_me: WARNING: no configuration information is in $ac_subdir" >&2 ++ fi ++ cd $ac_popdir ++ done ++fi ++ ++test -n "$ac_init_help" && exit 0 ++if $ac_init_version; then ++ cat <<\EOF ++ ++Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 ++Free Software Foundation, Inc. ++This configure script is free software; the Free Software Foundation ++gives unlimited permission to copy, distribute and modify it. ++EOF ++ exit 0 ++fi ++exec 5>config.log ++cat >&5 </dev/null | sed 1q` ++uname -m = `(uname -m) 2>/dev/null || echo unknown` ++uname -r = `(uname -r) 2>/dev/null || echo unknown` ++uname -s = `(uname -s) 2>/dev/null || echo unknown` ++uname -v = `(uname -v) 2>/dev/null || echo unknown` ++ ++/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` ++/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` ++ ++/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` ++/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` ++/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` ++hostinfo = `(hostinfo) 2>/dev/null || echo unknown` ++/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` ++/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` ++/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` ++ ++PATH = $PATH ++ ++_ASUNAME ++} >&5 ++ ++cat >&5 <\?\"\']*) ++ ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ++ ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" ++ ac_sep=" " ;; ++ *) ac_configure_args="$ac_configure_args$ac_sep$ac_arg" ++ ac_sep=" " ;; ++ esac ++ # Get rid of the leading space. ++done ++ ++# When interrupted or exit'd, cleanup temporary files, and complete ++# config.log. We remove comments because anyway the quotes in there ++# would cause problems or look ugly. ++trap 'exit_status=$? ++ # Save into config.log some information that might help in debugging. ++ echo >&5 ++ echo "## ----------------- ##" >&5 ++ echo "## Cache variables. ##" >&5 ++ echo "## ----------------- ##" >&5 ++ echo >&5 ++ # The following way of writing the cache mishandles newlines in values, ++{ ++ (set) 2>&1 | ++ case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in ++ *ac_space=\ *) ++ sed -n \ ++ "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; ++ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" ++ ;; ++ *) ++ sed -n \ ++ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" ++ ;; ++ esac; ++} >&5 ++ sed "/^$/d" confdefs.h >conftest.log ++ if test -s conftest.log; then ++ echo >&5 ++ echo "## ------------ ##" >&5 ++ echo "## confdefs.h. ##" >&5 ++ echo "## ------------ ##" >&5 ++ echo >&5 ++ cat conftest.log >&5 ++ fi ++ (echo; echo) >&5 ++ test "$ac_signal" != 0 && ++ echo "$as_me: caught signal $ac_signal" >&5 ++ echo "$as_me: exit $exit_status" >&5 ++ rm -rf conftest* confdefs* core core.* *.core conf$$* $ac_clean_files && ++ exit $exit_status ++ ' 0 ++for ac_signal in 1 2 13 15; do ++ trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal ++done ++ac_signal=0 ++ ++# confdefs.h avoids OS command line length limits that DEFS can exceed. ++rm -rf conftest* confdefs.h ++# AIX cpp loses on an empty file, so make sure it contains at least a newline. ++echo >confdefs.h ++ ++# Let the site file select an alternate cache file if it wants to. ++# Prefer explicitly selected file to automatically selected ones. ++if test -z "$CONFIG_SITE"; then ++ if test "x$prefix" != xNONE; then ++ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" ++ else ++ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" ++ fi ++fi ++for ac_site_file in $CONFIG_SITE; do ++ if test -r "$ac_site_file"; then ++ { echo "$as_me:894: loading site script $ac_site_file" >&5 ++echo "$as_me: loading site script $ac_site_file" >&6;} ++ cat "$ac_site_file" >&5 ++ . "$ac_site_file" ++ fi ++done ++ ++if test -r "$cache_file"; then ++ # Some versions of bash will fail to source /dev/null (special ++ # files actually), so we avoid doing that. ++ if test -f "$cache_file"; then ++ { echo "$as_me:905: loading cache $cache_file" >&5 ++echo "$as_me: loading cache $cache_file" >&6;} ++ case $cache_file in ++ [\\/]* | ?:[\\/]* ) . $cache_file;; ++ *) . ./$cache_file;; ++ esac ++ fi ++else ++ { echo "$as_me:913: creating cache $cache_file" >&5 ++echo "$as_me: creating cache $cache_file" >&6;} ++ >$cache_file ++fi ++ ++# Check that the precious variables saved in the cache have kept the same ++# value. ++ac_cache_corrupted=false ++for ac_var in `(set) 2>&1 | ++ sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do ++ eval ac_old_set=\$ac_cv_env_${ac_var}_set ++ eval ac_new_set=\$ac_env_${ac_var}_set ++ eval ac_old_val="\$ac_cv_env_${ac_var}_value" ++ eval ac_new_val="\$ac_env_${ac_var}_value" ++ case $ac_old_set,$ac_new_set in ++ set,) ++ { echo "$as_me:929: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 ++echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ++ ac_cache_corrupted=: ;; ++ ,set) ++ { echo "$as_me:933: error: \`$ac_var' was not set in the previous run" >&5 ++echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ++ ac_cache_corrupted=: ;; ++ ,);; ++ *) ++ if test "x$ac_old_val" != "x$ac_new_val"; then ++ { echo "$as_me:939: error: \`$ac_var' has changed since the previous run:" >&5 ++echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ++ { echo "$as_me:941: former value: $ac_old_val" >&5 ++echo "$as_me: former value: $ac_old_val" >&2;} ++ { echo "$as_me:943: current value: $ac_new_val" >&5 ++echo "$as_me: current value: $ac_new_val" >&2;} ++ ac_cache_corrupted=: ++ fi;; ++ esac ++ # Pass precious variables to config.status. It doesn't matter if ++ # we pass some twice (in addition to the command line arguments). ++ if test "$ac_new_set" = set; then ++ case $ac_new_val in ++ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) ++ ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ++ ac_configure_args="$ac_configure_args '$ac_arg'" ++ ;; ++ *) ac_configure_args="$ac_configure_args $ac_var=$ac_new_val" ++ ;; ++ esac ++ fi ++done ++if $ac_cache_corrupted; then ++ { echo "$as_me:962: error: changes in the environment can compromise the build" >&5 ++echo "$as_me: error: changes in the environment can compromise the build" >&2;} ++ { { echo "$as_me:964: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 ++echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} ++ { (exit 1); exit 1; }; } ++fi ++ ++ac_ext=c ++ac_cpp='$CPP $CPPFLAGS' ++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_c_compiler_gnu ++ ++case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in ++ *c*,-n*) ECHO_N= ECHO_C=' ++' ECHO_T=' ' ;; ++ *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; ++ *) ECHO_N= ECHO_C='\c' ECHO_T= ;; ++esac ++echo "#! $SHELL" >conftest.sh ++echo "exit 0" >>conftest.sh ++chmod +x conftest.sh ++if { (echo "$as_me:984: PATH=\".;.\"; conftest.sh") >&5 ++ (PATH=".;."; conftest.sh) 2>&5 ++ ac_status=$? ++ echo "$as_me:987: \$? = $ac_status" >&5 ++ (exit $ac_status); }; then ++ ac_path_separator=';' ++else ++ ac_path_separator=: ++fi ++PATH_SEPARATOR="$ac_path_separator" ++rm -f conftest.sh ++ ++ac_aux_dir= ++for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do ++ if test -f $ac_dir/install-sh; then ++ ac_aux_dir=$ac_dir ++ ac_install_sh="$ac_aux_dir/install-sh -c" ++ break ++ elif test -f $ac_dir/install.sh; then ++ ac_aux_dir=$ac_dir ++ ac_install_sh="$ac_aux_dir/install.sh -c" ++ break ++ elif test -f $ac_dir/shtool; then ++ ac_aux_dir=$ac_dir ++ ac_install_sh="$ac_aux_dir/shtool install -c" ++ break ++ fi ++done ++if test -z "$ac_aux_dir"; then ++ { { echo "$as_me:1013: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 ++echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;} ++ { (exit 1); exit 1; }; } ++fi ++ac_config_guess="$SHELL $ac_aux_dir/config.guess" ++ac_config_sub="$SHELL $ac_aux_dir/config.sub" ++ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. ++ ++# Make sure we can run config.sub. ++$ac_config_sub sun4 >/dev/null 2>&1 || ++ { { echo "$as_me:1023: error: cannot run $ac_config_sub" >&5 ++echo "$as_me: error: cannot run $ac_config_sub" >&2;} ++ { (exit 1); exit 1; }; } ++ ++echo "$as_me:1027: checking build system type" >&5 ++echo $ECHO_N "checking build system type... $ECHO_C" >&6 ++if test "${ac_cv_build+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_cv_build_alias=$build_alias ++test -z "$ac_cv_build_alias" && ++ ac_cv_build_alias=`$ac_config_guess` ++test -z "$ac_cv_build_alias" && ++ { { echo "$as_me:1036: error: cannot guess build type; you must specify one" >&5 ++echo "$as_me: error: cannot guess build type; you must specify one" >&2;} ++ { (exit 1); exit 1; }; } ++ac_cv_build=`$ac_config_sub $ac_cv_build_alias` || ++ { { echo "$as_me:1040: error: $ac_config_sub $ac_cv_build_alias failed." >&5 ++echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed." >&2;} ++ { (exit 1); exit 1; }; } ++ ++fi ++echo "$as_me:1045: result: $ac_cv_build" >&5 ++echo "${ECHO_T}$ac_cv_build" >&6 ++build=$ac_cv_build ++build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` ++build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` ++build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` ++ ++echo "$as_me:1052: checking host system type" >&5 ++echo $ECHO_N "checking host system type... $ECHO_C" >&6 ++if test "${ac_cv_host+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_cv_host_alias=$host_alias ++test -z "$ac_cv_host_alias" && ++ ac_cv_host_alias=$ac_cv_build_alias ++ac_cv_host=`$ac_config_sub $ac_cv_host_alias` || ++ { { echo "$as_me:1061: error: $ac_config_sub $ac_cv_host_alias failed" >&5 ++echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;} ++ { (exit 1); exit 1; }; } ++ ++fi ++echo "$as_me:1066: result: $ac_cv_host" >&5 ++echo "${ECHO_T}$ac_cv_host" >&6 ++host=$ac_cv_host ++host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` ++host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` ++host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` ++ ++echo "$as_me:1073: checking target system type" >&5 ++echo $ECHO_N "checking target system type... $ECHO_C" >&6 ++if test "${ac_cv_target+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_cv_target_alias=$target_alias ++test "x$ac_cv_target_alias" = "x" && ++ ac_cv_target_alias=$ac_cv_host_alias ++ac_cv_target=`$ac_config_sub $ac_cv_target_alias` || ++ { { echo "$as_me:1082: error: $ac_config_sub $ac_cv_target_alias failed" >&5 ++echo "$as_me: error: $ac_config_sub $ac_cv_target_alias failed" >&2;} ++ { (exit 1); exit 1; }; } ++ ++fi ++echo "$as_me:1087: result: $ac_cv_target" >&5 ++echo "${ECHO_T}$ac_cv_target" >&6 ++target=$ac_cv_target ++target_cpu=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` ++target_vendor=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` ++target_os=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` ++ ++# The aliases save the names the user supplied, while $host etc. ++# will get canonicalized. ++test -n "$target_alias" && ++ test "$program_prefix$program_suffix$program_transform_name" = \ ++ NONENONEs,x,x, && ++ program_prefix=${target_alias}- ++# Find a good install program. We prefer a C program (faster), ++# so one script is as good as another. But avoid the broken or ++# incompatible versions: ++# SysV /etc/install, /usr/sbin/install ++# SunOS /usr/etc/install ++# IRIX /sbin/install ++# AIX /bin/install ++# AmigaOS /C/install, which installs bootblocks on floppy discs ++# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag ++# AFS /usr/afsws/bin/install, which mishandles nonexistent args ++# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" ++# ./install, which can be erroneously created by make from ./install.sh. ++echo "$as_me:1112: checking for a BSD compatible install" >&5 ++echo $ECHO_N "checking for a BSD compatible install... $ECHO_C" >&6 ++if test -z "$INSTALL"; then ++if test "${ac_cv_path_install+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_save_IFS=$IFS; IFS=$ac_path_separator ++ for ac_dir in $PATH; do ++ IFS=$ac_save_IFS ++ # Account for people who put trailing slashes in PATH elements. ++ case $ac_dir/ in ++ / | ./ | .// | /cC/* \ ++ | /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* \ ++ | /usr/ucb/* ) ;; ++ *) ++ # OSF1 and SCO ODT 3.0 have their own names for install. ++ # Don't use installbsd from OSF since it installs stuff as root ++ # by default. ++ for ac_prog in ginstall scoinst install; do ++ if $as_executable_p "$ac_dir/$ac_prog"; then ++ if test $ac_prog = install && ++ grep dspmsg "$ac_dir/$ac_prog" >/dev/null 2>&1; then ++ # AIX install. It has an incompatible calling convention. ++ : ++ elif test $ac_prog = install && ++ grep pwplus "$ac_dir/$ac_prog" >/dev/null 2>&1; then ++ # program-specific install script used by HP pwplus--don't use. ++ : ++ else ++ ac_cv_path_install="$ac_dir/$ac_prog -c" ++ break 2 ++ fi ++ fi ++ done ++ ;; ++ esac ++ done ++ ++fi ++ if test "${ac_cv_path_install+set}" = set; then ++ INSTALL=$ac_cv_path_install ++ else ++ # As a last resort, use the slow shell script. We don't cache a ++ # path for INSTALL within a source directory, because that will ++ # break other packages using the cache if that directory is ++ # removed, or if the path is relative. ++ INSTALL=$ac_install_sh ++ fi ++fi ++echo "$as_me:1161: result: $INSTALL" >&5 ++echo "${ECHO_T}$INSTALL" >&6 ++ ++# Use test -z because SunOS4 sh mishandles braces in ${var-val}. ++# It thinks the first close brace ends the variable substitution. ++test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' ++ ++test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' ++ ++test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' ++ ++echo "$as_me:1172: checking whether build environment is sane" >&5 ++echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6 ++# Just in case ++sleep 1 ++echo timestamp > conftest.file ++# Do `set' in a subshell so we don't clobber the current shell's ++# arguments. Must try -L first in case configure is actually a ++# symlink; some systems play weird games with the mod time of symlinks ++# (eg FreeBSD returns the mod time of the symlink's containing ++# directory). ++if ( ++ set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` ++ if test "$*" = "X"; then ++ # -L didn't work. ++ set X `ls -t $srcdir/configure conftest.file` ++ fi ++ rm -f conftest.file ++ if test "$*" != "X $srcdir/configure conftest.file" \ ++ && test "$*" != "X conftest.file $srcdir/configure"; then ++ ++ # If neither matched, then we have a broken ls. This can happen ++ # if, for instance, CONFIG_SHELL is bash and it inherits a ++ # broken ls alias from the environment. This has actually ++ # happened. Such a system could not be considered "sane". ++ { { echo "$as_me:1196: error: ls -t appears to fail. Make sure there is not a broken ++alias in your environment" >&5 ++echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken ++alias in your environment" >&2;} ++ { (exit 1); exit 1; }; } ++ fi ++ ++ test "$2" = conftest.file ++ ) ++then ++ # Ok. ++ : ++else ++ { { echo "$as_me:1209: error: newly created file is older than distributed files! ++Check your system clock" >&5 ++echo "$as_me: error: newly created file is older than distributed files! ++Check your system clock" >&2;} ++ { (exit 1); exit 1; }; } ++fi ++echo "$as_me:1215: result: yes" >&5 ++echo "${ECHO_T}yes" >&6 ++test "$program_prefix" != NONE && ++ program_transform_name="s,^,$program_prefix,;$program_transform_name" ++# Use a double $ so make ignores it. ++test "$program_suffix" != NONE && ++ program_transform_name="s,\$,$program_suffix,;$program_transform_name" ++# Double any \ or $. echo might interpret backslashes. ++# By default was `s,x,x', remove it if useless. ++cat <<\_ACEOF >conftest.sed ++s/[\\$]/&&/g;s/;s,x,x,$// ++_ACEOF ++program_transform_name=`echo $program_transform_name | sed -f conftest.sed` ++rm conftest.sed ++ ++# expand $ac_aux_dir to an absolute path ++am_aux_dir=`CDPATH=:; cd $ac_aux_dir && pwd` ++ ++test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" ++# Use eval to expand $SHELL ++if eval "$MISSING --run true"; then ++ am_missing_run="$MISSING --run " ++else ++ am_missing_run= ++ am_backtick='`' ++ { echo "$as_me:1240: WARNING: ${am_backtick}missing' script is too old or missing" >&5 ++echo "$as_me: WARNING: ${am_backtick}missing' script is too old or missing" >&2;} ++fi ++ ++for ac_prog in mawk gawk nawk awk ++do ++ # Extract the first word of "$ac_prog", so it can be a program name with args. ++set dummy $ac_prog; ac_word=$2 ++echo "$as_me:1248: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_prog_AWK+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$AWK"; then ++ ac_cv_prog_AWK="$AWK" # Let the user override the test. ++else ++ ac_save_IFS=$IFS; IFS=$ac_path_separator ++ac_dummy="$PATH" ++for ac_dir in $ac_dummy; do ++ IFS=$ac_save_IFS ++ test -z "$ac_dir" && ac_dir=. ++ $as_executable_p "$ac_dir/$ac_word" || continue ++ac_cv_prog_AWK="$ac_prog" ++echo "$as_me:1263: found $ac_dir/$ac_word" >&5 ++break ++done ++ ++fi ++fi ++AWK=$ac_cv_prog_AWK ++if test -n "$AWK"; then ++ echo "$as_me:1271: result: $AWK" >&5 ++echo "${ECHO_T}$AWK" >&6 ++else ++ echo "$as_me:1274: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++ test -n "$AWK" && break ++done ++ ++echo "$as_me:1281: checking whether ${MAKE-make} sets \${MAKE}" >&5 ++echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6 ++set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'` ++if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.make <<\EOF ++all: ++ @echo 'ac_maketemp="${MAKE}"' ++EOF ++# GNU make sometimes prints "make[1]: Entering...", which would confuse us. ++eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=` ++if test -n "$ac_maketemp"; then ++ eval ac_cv_prog_make_${ac_make}_set=yes ++else ++ eval ac_cv_prog_make_${ac_make}_set=no ++fi ++rm -f conftest.make ++fi ++if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then ++ echo "$as_me:1301: result: yes" >&5 ++echo "${ECHO_T}yes" >&6 ++ SET_MAKE= ++else ++ echo "$as_me:1305: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++ SET_MAKE="MAKE=${MAKE-make}" ++fi ++ ++# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given. ++if test "${enable_dependency_tracking+set}" = set; then ++ enableval="$enable_dependency_tracking" ++ ++fi; ++if test "x$enable_dependency_tracking" != xno; then ++ am_depcomp="$ac_aux_dir/depcomp" ++ AMDEPBACKSLASH='\' ++fi ++ ++if test "x$enable_dependency_tracking" != xno; then ++ AMDEP_TRUE= ++ AMDEP_FALSE='#' ++else ++ AMDEP_TRUE='#' ++ AMDEP_FALSE= ++fi ++ ++rm -f .deps 2>/dev/null ++mkdir .deps 2>/dev/null ++if test -d .deps; then ++ DEPDIR=.deps ++else ++ # MS-DOS does not allow filenames that begin with a dot. ++ DEPDIR=_deps ++fi ++rmdir .deps 2>/dev/null ++ ++# test to see if srcdir already configured ++if test "`CDPATH=:; cd $srcdir && pwd`" != "`pwd`" && ++ test -f $srcdir/config.status; then ++ { { echo "$as_me:1341: error: source directory already configured; run \"make distclean\" there first" >&5 ++echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} ++ { (exit 1); exit 1; }; } ++fi ++ ++# Define the identity of the package. ++PACKAGE=tripwire ++VERSION=2.3.1 ++ ++cat >>confdefs.h <>confdefs.h < /dev/null ++chmod 755 install-sh 2> /dev/null ++ ++CFLAGS=${CFLAGS:-"-O -pipe -Wall"} ++CXXFLAGS=${CXXFLAGS:-"-O -pipe -Wall"} ++ ++if test "x${STLPORT_MAKEFILE}" = "x"; then STLPORT_MAKEFILE="gcc.mak"; fi ++if test "x${STLPORT_LIBRARY}" = "x"; then STLPORT_LIBRARY="libstlport_gcc.a"; fi ++if test "x${STLPORT_LD}" = "x"; then STLPORT_LD="-lstlport"; fi ++if test "x${STLPORT_INCLUDE}" = "x"; then STLPORT_INCLUDE="-I../STLport-4.0/stlport"; fi ++if test "x${STLPORT_SUBDIR}" = "x"; then STLPORT_SUBDIR="STLport-4.0"; fi ++ ++# Check whether --enable-static or --disable-static was given. ++if test "${enable_static+set}" = set; then ++ enableval="$enable_static" ++ ++fi; ++if test "x$enable_static" = xyes ++then LDFLAGS="${LDFLAGS} -static" ++fi ++# Check whether --enable-debug or --disable-debug was given. ++if test "${enable_debug+set}" = set; then ++ enableval="$enable_debug" ++ ++fi; ++if test "x$enable_debug" = xyes ++then ++ CFLAGS="${CFLAGS} -g" ++ CXXFLAGS="${CXXFLAGS} -g" ++ ++cat >>confdefs.h <<\EOF ++#define DEBUG 1 ++EOF ++ ++fi ++ ++ac_ext=c ++ac_cpp='$CPP $CPPFLAGS' ++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_c_compiler_gnu ++if test -n "$ac_tool_prefix"; then ++ # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. ++set dummy ${ac_tool_prefix}gcc; ac_word=$2 ++echo "$as_me:1436: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_prog_CC+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$CC"; then ++ ac_cv_prog_CC="$CC" # Let the user override the test. ++else ++ ac_save_IFS=$IFS; IFS=$ac_path_separator ++ac_dummy="$PATH" ++for ac_dir in $ac_dummy; do ++ IFS=$ac_save_IFS ++ test -z "$ac_dir" && ac_dir=. ++ $as_executable_p "$ac_dir/$ac_word" || continue ++ac_cv_prog_CC="${ac_tool_prefix}gcc" ++echo "$as_me:1451: found $ac_dir/$ac_word" >&5 ++break ++done ++ ++fi ++fi ++CC=$ac_cv_prog_CC ++if test -n "$CC"; then ++ echo "$as_me:1459: result: $CC" >&5 ++echo "${ECHO_T}$CC" >&6 ++else ++ echo "$as_me:1462: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++fi ++if test -z "$ac_cv_prog_CC"; then ++ ac_ct_CC=$CC ++ # Extract the first word of "gcc", so it can be a program name with args. ++set dummy gcc; ac_word=$2 ++echo "$as_me:1471: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_prog_ac_ct_CC+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$ac_ct_CC"; then ++ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. ++else ++ ac_save_IFS=$IFS; IFS=$ac_path_separator ++ac_dummy="$PATH" ++for ac_dir in $ac_dummy; do ++ IFS=$ac_save_IFS ++ test -z "$ac_dir" && ac_dir=. ++ $as_executable_p "$ac_dir/$ac_word" || continue ++ac_cv_prog_ac_ct_CC="gcc" ++echo "$as_me:1486: found $ac_dir/$ac_word" >&5 ++break ++done ++ ++fi ++fi ++ac_ct_CC=$ac_cv_prog_ac_ct_CC ++if test -n "$ac_ct_CC"; then ++ echo "$as_me:1494: result: $ac_ct_CC" >&5 ++echo "${ECHO_T}$ac_ct_CC" >&6 ++else ++ echo "$as_me:1497: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++ CC=$ac_ct_CC ++else ++ CC="$ac_cv_prog_CC" ++fi ++ ++if test -z "$CC"; then ++ if test -n "$ac_tool_prefix"; then ++ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. ++set dummy ${ac_tool_prefix}cc; ac_word=$2 ++echo "$as_me:1510: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_prog_CC+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$CC"; then ++ ac_cv_prog_CC="$CC" # Let the user override the test. ++else ++ ac_save_IFS=$IFS; IFS=$ac_path_separator ++ac_dummy="$PATH" ++for ac_dir in $ac_dummy; do ++ IFS=$ac_save_IFS ++ test -z "$ac_dir" && ac_dir=. ++ $as_executable_p "$ac_dir/$ac_word" || continue ++ac_cv_prog_CC="${ac_tool_prefix}cc" ++echo "$as_me:1525: found $ac_dir/$ac_word" >&5 ++break ++done ++ ++fi ++fi ++CC=$ac_cv_prog_CC ++if test -n "$CC"; then ++ echo "$as_me:1533: result: $CC" >&5 ++echo "${ECHO_T}$CC" >&6 ++else ++ echo "$as_me:1536: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++fi ++if test -z "$ac_cv_prog_CC"; then ++ ac_ct_CC=$CC ++ # Extract the first word of "cc", so it can be a program name with args. ++set dummy cc; ac_word=$2 ++echo "$as_me:1545: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_prog_ac_ct_CC+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$ac_ct_CC"; then ++ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. ++else ++ ac_save_IFS=$IFS; IFS=$ac_path_separator ++ac_dummy="$PATH" ++for ac_dir in $ac_dummy; do ++ IFS=$ac_save_IFS ++ test -z "$ac_dir" && ac_dir=. ++ $as_executable_p "$ac_dir/$ac_word" || continue ++ac_cv_prog_ac_ct_CC="cc" ++echo "$as_me:1560: found $ac_dir/$ac_word" >&5 ++break ++done ++ ++fi ++fi ++ac_ct_CC=$ac_cv_prog_ac_ct_CC ++if test -n "$ac_ct_CC"; then ++ echo "$as_me:1568: result: $ac_ct_CC" >&5 ++echo "${ECHO_T}$ac_ct_CC" >&6 ++else ++ echo "$as_me:1571: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++ CC=$ac_ct_CC ++else ++ CC="$ac_cv_prog_CC" ++fi ++ ++fi ++if test -z "$CC"; then ++ # Extract the first word of "cc", so it can be a program name with args. ++set dummy cc; ac_word=$2 ++echo "$as_me:1584: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_prog_CC+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$CC"; then ++ ac_cv_prog_CC="$CC" # Let the user override the test. ++else ++ ac_prog_rejected=no ++ ac_save_IFS=$IFS; IFS=$ac_path_separator ++ac_dummy="$PATH" ++for ac_dir in $ac_dummy; do ++ IFS=$ac_save_IFS ++ test -z "$ac_dir" && ac_dir=. ++ $as_executable_p "$ac_dir/$ac_word" || continue ++if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then ++ ac_prog_rejected=yes ++ continue ++fi ++ac_cv_prog_CC="cc" ++echo "$as_me:1604: found $ac_dir/$ac_word" >&5 ++break ++done ++ ++if test $ac_prog_rejected = yes; then ++ # We found a bogon in the path, so make sure we never use it. ++ set dummy $ac_cv_prog_CC ++ shift ++ if test $# != 0; then ++ # We chose a different compiler from the bogus one. ++ # However, it has the same basename, so the bogon will be chosen ++ # first if we set CC to just the basename; use the full file name. ++ shift ++ set dummy "$ac_dir/$ac_word" ${1+"$@"} ++ shift ++ ac_cv_prog_CC="$@" ++ fi ++fi ++fi ++fi ++CC=$ac_cv_prog_CC ++if test -n "$CC"; then ++ echo "$as_me:1626: result: $CC" >&5 ++echo "${ECHO_T}$CC" >&6 ++else ++ echo "$as_me:1629: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++fi ++if test -z "$CC"; then ++ if test -n "$ac_tool_prefix"; then ++ for ac_prog in cl ++ do ++ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. ++set dummy $ac_tool_prefix$ac_prog; ac_word=$2 ++echo "$as_me:1640: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_prog_CC+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$CC"; then ++ ac_cv_prog_CC="$CC" # Let the user override the test. ++else ++ ac_save_IFS=$IFS; IFS=$ac_path_separator ++ac_dummy="$PATH" ++for ac_dir in $ac_dummy; do ++ IFS=$ac_save_IFS ++ test -z "$ac_dir" && ac_dir=. ++ $as_executable_p "$ac_dir/$ac_word" || continue ++ac_cv_prog_CC="$ac_tool_prefix$ac_prog" ++echo "$as_me:1655: found $ac_dir/$ac_word" >&5 ++break ++done ++ ++fi ++fi ++CC=$ac_cv_prog_CC ++if test -n "$CC"; then ++ echo "$as_me:1663: result: $CC" >&5 ++echo "${ECHO_T}$CC" >&6 ++else ++ echo "$as_me:1666: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++ test -n "$CC" && break ++ done ++fi ++if test -z "$CC"; then ++ ac_ct_CC=$CC ++ for ac_prog in cl ++do ++ # Extract the first word of "$ac_prog", so it can be a program name with args. ++set dummy $ac_prog; ac_word=$2 ++echo "$as_me:1679: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_prog_ac_ct_CC+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$ac_ct_CC"; then ++ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. ++else ++ ac_save_IFS=$IFS; IFS=$ac_path_separator ++ac_dummy="$PATH" ++for ac_dir in $ac_dummy; do ++ IFS=$ac_save_IFS ++ test -z "$ac_dir" && ac_dir=. ++ $as_executable_p "$ac_dir/$ac_word" || continue ++ac_cv_prog_ac_ct_CC="$ac_prog" ++echo "$as_me:1694: found $ac_dir/$ac_word" >&5 ++break ++done ++ ++fi ++fi ++ac_ct_CC=$ac_cv_prog_ac_ct_CC ++if test -n "$ac_ct_CC"; then ++ echo "$as_me:1702: result: $ac_ct_CC" >&5 ++echo "${ECHO_T}$ac_ct_CC" >&6 ++else ++ echo "$as_me:1705: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++ test -n "$ac_ct_CC" && break ++done ++ ++ CC=$ac_ct_CC ++fi ++ ++fi ++ ++test -z "$CC" && { { echo "$as_me:1717: error: no acceptable cc found in \$PATH" >&5 ++echo "$as_me: error: no acceptable cc found in \$PATH" >&2;} ++ { (exit 1); exit 1; }; } ++ ++# Provide some information about the compiler. ++echo "$as_me:1722:" \ ++ "checking for C compiler version" >&5 ++ac_compiler=`set X $ac_compile; echo $2` ++{ (eval echo "$as_me:1725: \"$ac_compiler --version &5\"") >&5 ++ (eval $ac_compiler --version &5) 2>&5 ++ ac_status=$? ++ echo "$as_me:1728: \$? = $ac_status" >&5 ++ (exit $ac_status); } ++{ (eval echo "$as_me:1730: \"$ac_compiler -v &5\"") >&5 ++ (eval $ac_compiler -v &5) 2>&5 ++ ac_status=$? ++ echo "$as_me:1733: \$? = $ac_status" >&5 ++ (exit $ac_status); } ++{ (eval echo "$as_me:1735: \"$ac_compiler -V &5\"") >&5 ++ (eval $ac_compiler -V &5) 2>&5 ++ ac_status=$? ++ echo "$as_me:1738: \$? = $ac_status" >&5 ++ (exit $ac_status); } ++ ++cat >conftest.$ac_ext <<_ACEOF ++#line 1742 "configure" ++#include "confdefs.h" ++ ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++ac_clean_files_save=$ac_clean_files ++ac_clean_files="$ac_clean_files a.out a.exe" ++# Try to create an executable without -o first, disregard a.out. ++# It will help us diagnose broken compilers, and finding out an intuition ++# of exeext. ++echo "$as_me:1758: checking for C compiler default output" >&5 ++echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6 ++ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` ++if { (eval echo "$as_me:1761: \"$ac_link_default\"") >&5 ++ (eval $ac_link_default) 2>&5 ++ ac_status=$? ++ echo "$as_me:1764: \$? = $ac_status" >&5 ++ (exit $ac_status); }; then ++ # Find the output, starting from the most likely. This scheme is ++# not robust to junk in `.', hence go to wildcards (a.*) only as a last ++# resort. ++for ac_file in `ls a.exe conftest.exe 2>/dev/null; ++ ls a.out conftest 2>/dev/null; ++ ls a.* conftest.* 2>/dev/null`; do ++ case $ac_file in ++ *.$ac_ext | *.o | *.obj | *.xcoff | *.tds | *.d | *.pdb ) ;; ++ a.out ) # We found the default executable, but exeext='' is most ++ # certainly right. ++ break;; ++ *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` ++ # FIXME: I believe we export ac_cv_exeext for Libtool --akim. ++ export ac_cv_exeext ++ break;; ++ * ) break;; ++ esac ++done ++else ++ echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++{ { echo "$as_me:1787: error: C compiler cannot create executables" >&5 ++echo "$as_me: error: C compiler cannot create executables" >&2;} ++ { (exit 77); exit 77; }; } ++fi ++ ++ac_exeext=$ac_cv_exeext ++echo "$as_me:1793: result: $ac_file" >&5 ++echo "${ECHO_T}$ac_file" >&6 ++ ++# Check the compiler produces executables we can run. If not, either ++# the compiler is broken, or we cross compile. ++echo "$as_me:1798: checking whether the C compiler works" >&5 ++echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6 ++# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 ++# If not cross compiling, check that we can run a simple program. ++if test "$cross_compiling" != yes; then ++ if { ac_try='./$ac_file' ++ { (eval echo "$as_me:1804: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:1807: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ cross_compiling=no ++ else ++ if test "$cross_compiling" = maybe; then ++ cross_compiling=yes ++ else ++ { { echo "$as_me:1814: error: cannot run C compiled programs. ++If you meant to cross compile, use \`--host'." >&5 ++echo "$as_me: error: cannot run C compiled programs. ++If you meant to cross compile, use \`--host'." >&2;} ++ { (exit 1); exit 1; }; } ++ fi ++ fi ++fi ++echo "$as_me:1822: result: yes" >&5 ++echo "${ECHO_T}yes" >&6 ++ ++rm -f a.out a.exe conftest$ac_cv_exeext ++ac_clean_files=$ac_clean_files_save ++# Check the compiler produces executables we can run. If not, either ++# the compiler is broken, or we cross compile. ++echo "$as_me:1829: checking whether we are cross compiling" >&5 ++echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 ++echo "$as_me:1831: result: $cross_compiling" >&5 ++echo "${ECHO_T}$cross_compiling" >&6 ++ ++echo "$as_me:1834: checking for executable suffix" >&5 ++echo $ECHO_N "checking for executable suffix... $ECHO_C" >&6 ++if { (eval echo "$as_me:1836: \"$ac_link\"") >&5 ++ (eval $ac_link) 2>&5 ++ ac_status=$? ++ echo "$as_me:1839: \$? = $ac_status" >&5 ++ (exit $ac_status); }; then ++ # If both `conftest.exe' and `conftest' are `present' (well, observable) ++# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will ++# work properly (i.e., refer to `conftest.exe'), while it won't with ++# `rm'. ++for ac_file in `(ls conftest.exe; ls conftest; ls conftest.*) 2>/dev/null`; do ++ case $ac_file in ++ *.$ac_ext | *.o | *.obj | *.xcoff | *.tds | *.d | *.pdb ) ;; ++ *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` ++ export ac_cv_exeext ++ break;; ++ * ) break;; ++ esac ++done ++else ++ { { echo "$as_me:1855: error: cannot compute EXEEXT: cannot compile and link" >&5 ++echo "$as_me: error: cannot compute EXEEXT: cannot compile and link" >&2;} ++ { (exit 1); exit 1; }; } ++fi ++ ++rm -f conftest$ac_cv_exeext ++echo "$as_me:1861: result: $ac_cv_exeext" >&5 ++echo "${ECHO_T}$ac_cv_exeext" >&6 ++ ++rm -f conftest.$ac_ext ++EXEEXT=$ac_cv_exeext ++ac_exeext=$EXEEXT ++echo "$as_me:1867: checking for object suffix" >&5 ++echo $ECHO_N "checking for object suffix... $ECHO_C" >&6 ++if test "${ac_cv_objext+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line 1873 "configure" ++#include "confdefs.h" ++ ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.o conftest.obj ++if { (eval echo "$as_me:1885: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:1888: \$? = $ac_status" >&5 ++ (exit $ac_status); }; then ++ for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do ++ case $ac_file in ++ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb ) ;; ++ *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` ++ break;; ++ esac ++done ++else ++ echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++{ { echo "$as_me:1900: error: cannot compute OBJEXT: cannot compile" >&5 ++echo "$as_me: error: cannot compute OBJEXT: cannot compile" >&2;} ++ { (exit 1); exit 1; }; } ++fi ++ ++rm -f conftest.$ac_cv_objext conftest.$ac_ext ++fi ++echo "$as_me:1907: result: $ac_cv_objext" >&5 ++echo "${ECHO_T}$ac_cv_objext" >&6 ++OBJEXT=$ac_cv_objext ++ac_objext=$OBJEXT ++echo "$as_me:1911: checking whether we are using the GNU C compiler" >&5 ++echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 ++if test "${ac_cv_c_compiler_gnu+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line 1917 "configure" ++#include "confdefs.h" ++ ++int ++main () ++{ ++#ifndef __GNUC__ ++ choke me ++#endif ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:1932: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:1935: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:1938: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:1941: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_compiler_gnu=yes ++else ++ echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++ac_compiler_gnu=no ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++ac_cv_c_compiler_gnu=$ac_compiler_gnu ++ ++fi ++echo "$as_me:1953: result: $ac_cv_c_compiler_gnu" >&5 ++echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 ++GCC=`test $ac_compiler_gnu = yes && echo yes` ++ac_test_CFLAGS=${CFLAGS+set} ++ac_save_CFLAGS=$CFLAGS ++CFLAGS="-g" ++echo "$as_me:1959: checking whether $CC accepts -g" >&5 ++echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 ++if test "${ac_cv_prog_cc_g+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line 1965 "configure" ++#include "confdefs.h" ++ ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:1977: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:1980: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:1983: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:1986: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_cv_prog_cc_g=yes ++else ++ echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++ac_cv_prog_cc_g=no ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++fi ++echo "$as_me:1996: result: $ac_cv_prog_cc_g" >&5 ++echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 ++if test "$ac_test_CFLAGS" = set; then ++ CFLAGS=$ac_save_CFLAGS ++elif test $ac_cv_prog_cc_g = yes; then ++ if test "$GCC" = yes; then ++ CFLAGS="-g -O2" ++ else ++ CFLAGS="-g" ++ fi ++else ++ if test "$GCC" = yes; then ++ CFLAGS="-O2" ++ else ++ CFLAGS= ++ fi ++fi ++# Some people use a C++ compiler to compile C. Since we use `exit', ++# in C++ we need to declare it. In case someone uses the same compiler ++# for both compiling C and C++ we need to have the C++ compiler decide ++# the declaration of exit, since it's the most demanding environment. ++cat >conftest.$ac_ext <<_ACEOF ++#ifndef __cplusplus ++ choke me ++#endif ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:2023: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:2026: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:2029: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:2032: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ for ac_declaration in \ ++ ''\ ++ '#include ' \ ++ 'extern "C" void std::exit (int) throw (); using std::exit;' \ ++ 'extern "C" void std::exit (int); using std::exit;' \ ++ 'extern "C" void exit (int) throw ();' \ ++ 'extern "C" void exit (int);' \ ++ 'void exit (int);' ++do ++ cat >conftest.$ac_ext <<_ACEOF ++#line 2044 "configure" ++#include "confdefs.h" ++#include ++$ac_declaration ++int ++main () ++{ ++exit (42); ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:2057: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:2060: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:2063: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:2066: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ : ++else ++ echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++continue ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++ cat >conftest.$ac_ext <<_ACEOF ++#line 2076 "configure" ++#include "confdefs.h" ++$ac_declaration ++int ++main () ++{ ++exit (42); ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:2088: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:2091: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:2094: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:2097: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ break ++else ++ echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++done ++rm -f conftest* ++if test -n "$ac_declaration"; then ++ echo '#ifdef __cplusplus' >>confdefs.h ++ echo $ac_declaration >>confdefs.h ++ echo '#endif' >>confdefs.h ++fi ++ ++else ++ echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++ac_ext=c ++ac_cpp='$CPP $CPPFLAGS' ++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_c_compiler_gnu ++ ++ac_config_commands="$ac_config_commands default-1" ++ ++am_make=${MAKE-make} ++cat > confinc << 'END' ++doit: ++ @echo done ++END ++# If we don't find an include directive, just comment out the code. ++echo "$as_me:2132: checking for style of include used by $am_make" >&5 ++echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6 ++am__include='#' ++am__quote= ++_am_result=none ++# First try GNU make style include. ++echo "include confinc" > confmf ++# We grep out `Entering directory' and `Leaving directory' ++# messages which can occur if `w' ends up in MAKEFLAGS. ++# In particular we don't look at `^make:' because GNU make might ++# be invoked under some other name (usually "gmake"), in which ++# case it prints its new name instead of `make'. ++if test "`$am_make -s -f confmf 2> /dev/null | fgrep -v 'ing directory'`" = "done"; then ++ am__include=include ++ am__quote= ++ _am_result=GNU ++fi ++# Now try BSD make style include. ++if test "$am__include" = "#"; then ++ echo '.include "confinc"' > confmf ++ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then ++ am__include=.include ++ am__quote='"' ++ _am_result=BSD ++ fi ++fi ++ ++echo "$as_me:2159: result: $_am_result" >&5 ++echo "${ECHO_T}$_am_result" >&6 ++rm -f confinc confmf ++ ++depcc="$CC" am_compiler_list= ++ ++echo "$as_me:2165: checking dependency style of $depcc" >&5 ++echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 ++if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then ++ # We make a subdir and do the tests there. Otherwise we can end up ++ # making bogus files that we don't know about and never remove. For ++ # instance it was reported that on HP-UX the gcc test will end up ++ # making a dummy file named `D' -- because `-MD' means `put the output ++ # in D'. ++ mkdir conftest.dir ++ # Copy depcomp to subdir because otherwise we won't find it if we're ++ # using a relative directory. ++ cp "$am_depcomp" conftest.dir ++ cd conftest.dir ++ ++ am_cv_CC_dependencies_compiler_type=none ++ if test "$am_compiler_list" = ""; then ++ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` ++ fi ++ for depmode in $am_compiler_list; do ++ # We need to recreate these files for each test, as the compiler may ++ # overwrite some of them when testing with obscure command lines. ++ # This happens at least with the AIX C compiler. ++ echo '#include "conftest.h"' > conftest.c ++ echo 'int i;' > conftest.h ++ echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf ++ ++ case $depmode in ++ nosideeffect) ++ # after this tag, mechanisms are not by side-effect, so they'll ++ # only be used when explicitly requested ++ if test "x$enable_dependency_tracking" = xyes; then ++ continue ++ else ++ break ++ fi ++ ;; ++ none) break ;; ++ esac ++ # We check with `-c' and `-o' for the sake of the "dashmstdout" ++ # mode. It turns out that the SunPro C++ compiler does not properly ++ # handle `-M -o', and we need to detect this. ++ if depmode=$depmode \ ++ source=conftest.c object=conftest.o \ ++ depfile=conftest.Po tmpdepfile=conftest.TPo \ ++ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && ++ grep conftest.h conftest.Po > /dev/null 2>&1 && ++ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then ++ am_cv_CC_dependencies_compiler_type=$depmode ++ break ++ fi ++ done ++ ++ cd .. ++ rm -rf conftest.dir ++else ++ am_cv_CC_dependencies_compiler_type=none ++fi ++ ++fi ++echo "$as_me:2227: result: $am_cv_CC_dependencies_compiler_type" >&5 ++echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 ++CCDEPMODE="depmode=$am_cv_CC_dependencies_compiler_type" ++ ++ac_ext=cc ++ac_cpp='$CXXCPP $CPPFLAGS' ++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ++if test -n "$ac_tool_prefix"; then ++ for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC ++ do ++ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. ++set dummy $ac_tool_prefix$ac_prog; ac_word=$2 ++echo "$as_me:2241: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_prog_CXX+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$CXX"; then ++ ac_cv_prog_CXX="$CXX" # Let the user override the test. ++else ++ ac_save_IFS=$IFS; IFS=$ac_path_separator ++ac_dummy="$PATH" ++for ac_dir in $ac_dummy; do ++ IFS=$ac_save_IFS ++ test -z "$ac_dir" && ac_dir=. ++ $as_executable_p "$ac_dir/$ac_word" || continue ++ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" ++echo "$as_me:2256: found $ac_dir/$ac_word" >&5 ++break ++done ++ ++fi ++fi ++CXX=$ac_cv_prog_CXX ++if test -n "$CXX"; then ++ echo "$as_me:2264: result: $CXX" >&5 ++echo "${ECHO_T}$CXX" >&6 ++else ++ echo "$as_me:2267: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++ test -n "$CXX" && break ++ done ++fi ++if test -z "$CXX"; then ++ ac_ct_CXX=$CXX ++ for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC ++do ++ # Extract the first word of "$ac_prog", so it can be a program name with args. ++set dummy $ac_prog; ac_word=$2 ++echo "$as_me:2280: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$ac_ct_CXX"; then ++ ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. ++else ++ ac_save_IFS=$IFS; IFS=$ac_path_separator ++ac_dummy="$PATH" ++for ac_dir in $ac_dummy; do ++ IFS=$ac_save_IFS ++ test -z "$ac_dir" && ac_dir=. ++ $as_executable_p "$ac_dir/$ac_word" || continue ++ac_cv_prog_ac_ct_CXX="$ac_prog" ++echo "$as_me:2295: found $ac_dir/$ac_word" >&5 ++break ++done ++ ++fi ++fi ++ac_ct_CXX=$ac_cv_prog_ac_ct_CXX ++if test -n "$ac_ct_CXX"; then ++ echo "$as_me:2303: result: $ac_ct_CXX" >&5 ++echo "${ECHO_T}$ac_ct_CXX" >&6 ++else ++ echo "$as_me:2306: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++ test -n "$ac_ct_CXX" && break ++done ++test -n "$ac_ct_CXX" || ac_ct_CXX="g++" ++ ++ CXX=$ac_ct_CXX ++fi ++ ++# Provide some information about the compiler. ++echo "$as_me:2318:" \ ++ "checking for C++ compiler version" >&5 ++ac_compiler=`set X $ac_compile; echo $2` ++{ (eval echo "$as_me:2321: \"$ac_compiler --version &5\"") >&5 ++ (eval $ac_compiler --version &5) 2>&5 ++ ac_status=$? ++ echo "$as_me:2324: \$? = $ac_status" >&5 ++ (exit $ac_status); } ++{ (eval echo "$as_me:2326: \"$ac_compiler -v &5\"") >&5 ++ (eval $ac_compiler -v &5) 2>&5 ++ ac_status=$? ++ echo "$as_me:2329: \$? = $ac_status" >&5 ++ (exit $ac_status); } ++{ (eval echo "$as_me:2331: \"$ac_compiler -V &5\"") >&5 ++ (eval $ac_compiler -V &5) 2>&5 ++ ac_status=$? ++ echo "$as_me:2334: \$? = $ac_status" >&5 ++ (exit $ac_status); } ++ ++echo "$as_me:2337: checking whether we are using the GNU C++ compiler" >&5 ++echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 ++if test "${ac_cv_cxx_compiler_gnu+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line 2343 "configure" ++#include "confdefs.h" ++ ++int ++main () ++{ ++#ifndef __GNUC__ ++ choke me ++#endif ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:2358: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:2361: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:2364: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:2367: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_compiler_gnu=yes ++else ++ echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++ac_compiler_gnu=no ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++ac_cv_cxx_compiler_gnu=$ac_compiler_gnu ++ ++fi ++echo "$as_me:2379: result: $ac_cv_cxx_compiler_gnu" >&5 ++echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 ++GXX=`test $ac_compiler_gnu = yes && echo yes` ++ac_test_CXXFLAGS=${CXXFLAGS+set} ++ac_save_CXXFLAGS=$CXXFLAGS ++CXXFLAGS="-g" ++echo "$as_me:2385: checking whether $CXX accepts -g" >&5 ++echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 ++if test "${ac_cv_prog_cxx_g+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line 2391 "configure" ++#include "confdefs.h" ++ ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:2403: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:2406: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:2409: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:2412: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_cv_prog_cxx_g=yes ++else ++ echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++ac_cv_prog_cxx_g=no ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++fi ++echo "$as_me:2422: result: $ac_cv_prog_cxx_g" >&5 ++echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 ++if test "$ac_test_CXXFLAGS" = set; then ++ CXXFLAGS=$ac_save_CXXFLAGS ++elif test $ac_cv_prog_cxx_g = yes; then ++ if test "$GXX" = yes; then ++ CXXFLAGS="-g -O2" ++ else ++ CXXFLAGS="-g" ++ fi ++else ++ if test "$GXX" = yes; then ++ CXXFLAGS="-O2" ++ else ++ CXXFLAGS= ++ fi ++fi ++for ac_declaration in \ ++ ''\ ++ '#include ' \ ++ 'extern "C" void std::exit (int) throw (); using std::exit;' \ ++ 'extern "C" void std::exit (int); using std::exit;' \ ++ 'extern "C" void exit (int) throw ();' \ ++ 'extern "C" void exit (int);' \ ++ 'void exit (int);' ++do ++ cat >conftest.$ac_ext <<_ACEOF ++#line 2449 "configure" ++#include "confdefs.h" ++#include ++$ac_declaration ++int ++main () ++{ ++exit (42); ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:2462: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:2465: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:2468: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:2471: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ : ++else ++ echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++continue ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++ cat >conftest.$ac_ext <<_ACEOF ++#line 2481 "configure" ++#include "confdefs.h" ++$ac_declaration ++int ++main () ++{ ++exit (42); ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:2493: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:2496: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:2499: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:2502: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ break ++else ++ echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++done ++rm -f conftest* ++if test -n "$ac_declaration"; then ++ echo '#ifdef __cplusplus' >>confdefs.h ++ echo $ac_declaration >>confdefs.h ++ echo '#endif' >>confdefs.h ++fi ++ ++ac_ext=c ++ac_cpp='$CPP $CPPFLAGS' ++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_c_compiler_gnu ++ ++depcc="$CXX" am_compiler_list= ++ ++echo "$as_me:2526: checking dependency style of $depcc" >&5 ++echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 ++if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then ++ # We make a subdir and do the tests there. Otherwise we can end up ++ # making bogus files that we don't know about and never remove. For ++ # instance it was reported that on HP-UX the gcc test will end up ++ # making a dummy file named `D' -- because `-MD' means `put the output ++ # in D'. ++ mkdir conftest.dir ++ # Copy depcomp to subdir because otherwise we won't find it if we're ++ # using a relative directory. ++ cp "$am_depcomp" conftest.dir ++ cd conftest.dir ++ ++ am_cv_CXX_dependencies_compiler_type=none ++ if test "$am_compiler_list" = ""; then ++ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` ++ fi ++ for depmode in $am_compiler_list; do ++ # We need to recreate these files for each test, as the compiler may ++ # overwrite some of them when testing with obscure command lines. ++ # This happens at least with the AIX C compiler. ++ echo '#include "conftest.h"' > conftest.c ++ echo 'int i;' > conftest.h ++ echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf ++ ++ case $depmode in ++ nosideeffect) ++ # after this tag, mechanisms are not by side-effect, so they'll ++ # only be used when explicitly requested ++ if test "x$enable_dependency_tracking" = xyes; then ++ continue ++ else ++ break ++ fi ++ ;; ++ none) break ;; ++ esac ++ # We check with `-c' and `-o' for the sake of the "dashmstdout" ++ # mode. It turns out that the SunPro C++ compiler does not properly ++ # handle `-M -o', and we need to detect this. ++ if depmode=$depmode \ ++ source=conftest.c object=conftest.o \ ++ depfile=conftest.Po tmpdepfile=conftest.TPo \ ++ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && ++ grep conftest.h conftest.Po > /dev/null 2>&1 && ++ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then ++ am_cv_CXX_dependencies_compiler_type=$depmode ++ break ++ fi ++ done ++ ++ cd .. ++ rm -rf conftest.dir ++else ++ am_cv_CXX_dependencies_compiler_type=none ++fi ++ ++fi ++echo "$as_me:2588: result: $am_cv_CXX_dependencies_compiler_type" >&5 ++echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6 ++CXXDEPMODE="depmode=$am_cv_CXX_dependencies_compiler_type" ++ ++if test -n "$ac_tool_prefix"; then ++ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. ++set dummy ${ac_tool_prefix}ranlib; ac_word=$2 ++echo "$as_me:2595: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_prog_RANLIB+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$RANLIB"; then ++ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. ++else ++ ac_save_IFS=$IFS; IFS=$ac_path_separator ++ac_dummy="$PATH" ++for ac_dir in $ac_dummy; do ++ IFS=$ac_save_IFS ++ test -z "$ac_dir" && ac_dir=. ++ $as_executable_p "$ac_dir/$ac_word" || continue ++ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" ++echo "$as_me:2610: found $ac_dir/$ac_word" >&5 ++break ++done ++ ++fi ++fi ++RANLIB=$ac_cv_prog_RANLIB ++if test -n "$RANLIB"; then ++ echo "$as_me:2618: result: $RANLIB" >&5 ++echo "${ECHO_T}$RANLIB" >&6 ++else ++ echo "$as_me:2621: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++fi ++if test -z "$ac_cv_prog_RANLIB"; then ++ ac_ct_RANLIB=$RANLIB ++ # Extract the first word of "ranlib", so it can be a program name with args. ++set dummy ranlib; ac_word=$2 ++echo "$as_me:2630: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$ac_ct_RANLIB"; then ++ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. ++else ++ ac_save_IFS=$IFS; IFS=$ac_path_separator ++ac_dummy="$PATH" ++for ac_dir in $ac_dummy; do ++ IFS=$ac_save_IFS ++ test -z "$ac_dir" && ac_dir=. ++ $as_executable_p "$ac_dir/$ac_word" || continue ++ac_cv_prog_ac_ct_RANLIB="ranlib" ++echo "$as_me:2645: found $ac_dir/$ac_word" >&5 ++break ++done ++ ++ test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":" ++fi ++fi ++ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB ++if test -n "$ac_ct_RANLIB"; then ++ echo "$as_me:2654: result: $ac_ct_RANLIB" >&5 ++echo "${ECHO_T}$ac_ct_RANLIB" >&6 ++else ++ echo "$as_me:2657: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++ RANLIB=$ac_ct_RANLIB ++else ++ RANLIB="$ac_cv_prog_RANLIB" ++fi ++ ++for ac_prog in 'bison -y' byacc ++do ++ # Extract the first word of "$ac_prog", so it can be a program name with args. ++set dummy $ac_prog; ac_word=$2 ++echo "$as_me:2670: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_prog_YACC+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$YACC"; then ++ ac_cv_prog_YACC="$YACC" # Let the user override the test. ++else ++ ac_save_IFS=$IFS; IFS=$ac_path_separator ++ac_dummy="$PATH" ++for ac_dir in $ac_dummy; do ++ IFS=$ac_save_IFS ++ test -z "$ac_dir" && ac_dir=. ++ $as_executable_p "$ac_dir/$ac_word" || continue ++ac_cv_prog_YACC="$ac_prog" ++echo "$as_me:2685: found $ac_dir/$ac_word" >&5 ++break ++done ++ ++fi ++fi ++YACC=$ac_cv_prog_YACC ++if test -n "$YACC"; then ++ echo "$as_me:2693: result: $YACC" >&5 ++echo "${ECHO_T}$YACC" >&6 ++else ++ echo "$as_me:2696: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++ test -n "$YACC" && break ++done ++test -n "$YACC" || YACC="yacc" ++ ++# Extract the first word of "vi", so it can be a program name with args. ++set dummy vi; ac_word=$2 ++echo "$as_me:2706: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_path_path_to_vi+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ case $path_to_vi in ++ [\\/]* | ?:[\\/]*) ++ ac_cv_path_path_to_vi="$path_to_vi" # Let the user override the test with a path. ++ ;; ++ *) ++ ac_save_IFS=$IFS; IFS=$ac_path_separator ++ac_dummy="$PATH" ++for ac_dir in $ac_dummy; do ++ IFS=$ac_save_IFS ++ test -z "$ac_dir" && ac_dir=. ++ if $as_executable_p "$ac_dir/$ac_word"; then ++ ac_cv_path_path_to_vi="$ac_dir/$ac_word" ++ echo "$as_me:2723: found $ac_dir/$ac_word" >&5 ++ break ++fi ++done ++ ++ ;; ++esac ++fi ++path_to_vi=$ac_cv_path_path_to_vi ++ ++if test -n "$path_to_vi"; then ++ echo "$as_me:2734: result: $path_to_vi" >&5 ++echo "${ECHO_T}$path_to_vi" >&6 ++else ++ echo "$as_me:2737: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++# Extract the first word of "sendmail", so it can be a program name with args. ++set dummy sendmail; ac_word=$2 ++echo "$as_me:2743: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_path_path_to_sendmail+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ case $path_to_sendmail in ++ [\\/]* | ?:[\\/]*) ++ ac_cv_path_path_to_sendmail="$path_to_sendmail" # Let the user override the test with a path. ++ ;; ++ *) ++ ac_save_IFS=$IFS; IFS=$ac_path_separator ++ac_dummy="$PATH" ++for ac_dir in $ac_dummy; do ++ IFS=$ac_save_IFS ++ test -z "$ac_dir" && ac_dir=. ++ if $as_executable_p "$ac_dir/$ac_word"; then ++ ac_cv_path_path_to_sendmail="$ac_dir/$ac_word" ++ echo "$as_me:2760: found $ac_dir/$ac_word" >&5 ++ break ++fi ++done ++ ++ test -z "$ac_cv_path_path_to_sendmail" && ac_cv_path_path_to_sendmail="$PATH:/usr/libexec" ++ ;; ++esac ++fi ++path_to_sendmail=$ac_cv_path_path_to_sendmail ++ ++if test -n "$path_to_sendmail"; then ++ echo "$as_me:2772: result: $path_to_sendmail" >&5 ++echo "${ECHO_T}$path_to_sendmail" >&6 ++else ++ echo "$as_me:2775: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++if test "x${GXX}" != "x"; then ++ ++cat >>confdefs.h <<\EOF ++#define HAVE_GCC 1 ++EOF ++ ++ STLPORT_MAKEFILE="gcc.mak" ++ STLPORT_LIBRARY="libstlport_gcc.a" ++else ++ ++cat >>confdefs.h <<\EOF ++#define HAVE_GCC 0 ++EOF ++ ++fi ++ ++ac_ext=c ++ac_cpp='$CPP $CPPFLAGS' ++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_c_compiler_gnu ++echo "$as_me:2800: checking how to run the C preprocessor" >&5 ++echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 ++# On Suns, sometimes $CPP names a directory. ++if test -n "$CPP" && test -d "$CPP"; then ++ CPP= ++fi ++if test -z "$CPP"; then ++ if test "${ac_cv_prog_CPP+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ # Double quotes because CPP needs to be expanded ++ for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" ++ do ++ ac_preproc_ok=false ++for ac_c_preproc_warn_flag in '' yes ++do ++ # Use a header file that comes with gcc, so configuring glibc ++ # with a fresh cross-compiler works. ++ # On the NeXT, cc -E runs the code through the compiler's parser, ++ # not just through cpp. "Syntax error" is here to catch this case. ++ cat >conftest.$ac_ext <<_ACEOF ++#line 2821 "configure" ++#include "confdefs.h" ++#include ++ Syntax error ++_ACEOF ++if { (eval echo "$as_me:2826: \"$ac_cpp conftest.$ac_ext\"") >&5 ++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ++ ac_status=$? ++ egrep -v '^ *\+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:2832: \$? = $ac_status" >&5 ++ (exit $ac_status); } >/dev/null; then ++ if test -s conftest.err; then ++ ac_cpp_err=$ac_c_preproc_warn_flag ++ else ++ ac_cpp_err= ++ fi ++else ++ ac_cpp_err=yes ++fi ++if test -z "$ac_cpp_err"; then ++ : ++else ++ echo "$as_me: failed program was:" >&5 ++ cat conftest.$ac_ext >&5 ++ # Broken: fails on valid input. ++continue ++fi ++rm -f conftest.err conftest.$ac_ext ++ ++ # OK, works on sane cases. Now check whether non-existent headers ++ # can be detected and how. ++ cat >conftest.$ac_ext <<_ACEOF ++#line 2855 "configure" ++#include "confdefs.h" ++#include ++_ACEOF ++if { (eval echo "$as_me:2859: \"$ac_cpp conftest.$ac_ext\"") >&5 ++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ++ ac_status=$? ++ egrep -v '^ *\+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:2865: \$? = $ac_status" >&5 ++ (exit $ac_status); } >/dev/null; then ++ if test -s conftest.err; then ++ ac_cpp_err=$ac_c_preproc_warn_flag ++ else ++ ac_cpp_err= ++ fi ++else ++ ac_cpp_err=yes ++fi ++if test -z "$ac_cpp_err"; then ++ # Broken: success on invalid input. ++continue ++else ++ echo "$as_me: failed program was:" >&5 ++ cat conftest.$ac_ext >&5 ++ # Passes both tests. ++ac_preproc_ok=: ++break ++fi ++rm -f conftest.err conftest.$ac_ext ++ ++done ++# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. ++rm -f conftest.err conftest.$ac_ext ++if $ac_preproc_ok; then ++ break ++fi ++ ++ done ++ ac_cv_prog_CPP=$CPP ++ ++fi ++ CPP=$ac_cv_prog_CPP ++else ++ ac_cv_prog_CPP=$CPP ++fi ++echo "$as_me:2902: result: $CPP" >&5 ++echo "${ECHO_T}$CPP" >&6 ++ac_preproc_ok=false ++for ac_c_preproc_warn_flag in '' yes ++do ++ # Use a header file that comes with gcc, so configuring glibc ++ # with a fresh cross-compiler works. ++ # On the NeXT, cc -E runs the code through the compiler's parser, ++ # not just through cpp. "Syntax error" is here to catch this case. ++ cat >conftest.$ac_ext <<_ACEOF ++#line 2912 "configure" ++#include "confdefs.h" ++#include ++ Syntax error ++_ACEOF ++if { (eval echo "$as_me:2917: \"$ac_cpp conftest.$ac_ext\"") >&5 ++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ++ ac_status=$? ++ egrep -v '^ *\+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:2923: \$? = $ac_status" >&5 ++ (exit $ac_status); } >/dev/null; then ++ if test -s conftest.err; then ++ ac_cpp_err=$ac_c_preproc_warn_flag ++ else ++ ac_cpp_err= ++ fi ++else ++ ac_cpp_err=yes ++fi ++if test -z "$ac_cpp_err"; then ++ : ++else ++ echo "$as_me: failed program was:" >&5 ++ cat conftest.$ac_ext >&5 ++ # Broken: fails on valid input. ++continue ++fi ++rm -f conftest.err conftest.$ac_ext ++ ++ # OK, works on sane cases. Now check whether non-existent headers ++ # can be detected and how. ++ cat >conftest.$ac_ext <<_ACEOF ++#line 2946 "configure" ++#include "confdefs.h" ++#include ++_ACEOF ++if { (eval echo "$as_me:2950: \"$ac_cpp conftest.$ac_ext\"") >&5 ++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ++ ac_status=$? ++ egrep -v '^ *\+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:2956: \$? = $ac_status" >&5 ++ (exit $ac_status); } >/dev/null; then ++ if test -s conftest.err; then ++ ac_cpp_err=$ac_c_preproc_warn_flag ++ else ++ ac_cpp_err= ++ fi ++else ++ ac_cpp_err=yes ++fi ++if test -z "$ac_cpp_err"; then ++ # Broken: success on invalid input. ++continue ++else ++ echo "$as_me: failed program was:" >&5 ++ cat conftest.$ac_ext >&5 ++ # Passes both tests. ++ac_preproc_ok=: ++break ++fi ++rm -f conftest.err conftest.$ac_ext ++ ++done ++# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. ++rm -f conftest.err conftest.$ac_ext ++if $ac_preproc_ok; then ++ : ++else ++ { { echo "$as_me:2984: error: C preprocessor \"$CPP\" fails sanity check" >&5 ++echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check" >&2;} ++ { (exit 1); exit 1; }; } ++fi ++ ++ac_ext=c ++ac_cpp='$CPP $CPPFLAGS' ++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_c_compiler_gnu ++ ++echo "$as_me:2995: checking for ANSI C header files" >&5 ++echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 ++if test "${ac_cv_header_stdc+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line 3001 "configure" ++#include "confdefs.h" ++#include ++#include ++#include ++#include ++ ++_ACEOF ++if { (eval echo "$as_me:3009: \"$ac_cpp conftest.$ac_ext\"") >&5 ++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ++ ac_status=$? ++ egrep -v '^ *\+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:3015: \$? = $ac_status" >&5 ++ (exit $ac_status); } >/dev/null; then ++ if test -s conftest.err; then ++ ac_cpp_err=$ac_c_preproc_warn_flag ++ else ++ ac_cpp_err= ++ fi ++else ++ ac_cpp_err=yes ++fi ++if test -z "$ac_cpp_err"; then ++ ac_cv_header_stdc=yes ++else ++ echo "$as_me: failed program was:" >&5 ++ cat conftest.$ac_ext >&5 ++ ac_cv_header_stdc=no ++fi ++rm -f conftest.err conftest.$ac_ext ++ ++if test $ac_cv_header_stdc = yes; then ++ # SunOS 4.x string.h does not declare mem*, contrary to ANSI. ++ cat >conftest.$ac_ext <<_ACEOF ++#line 3037 "configure" ++#include "confdefs.h" ++#include ++ ++_ACEOF ++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | ++ egrep "memchr" >/dev/null 2>&1; then ++ : ++else ++ ac_cv_header_stdc=no ++fi ++rm -f conftest* ++ ++fi ++ ++if test $ac_cv_header_stdc = yes; then ++ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. ++ cat >conftest.$ac_ext <<_ACEOF ++#line 3055 "configure" ++#include "confdefs.h" ++#include ++ ++_ACEOF ++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | ++ egrep "free" >/dev/null 2>&1; then ++ : ++else ++ ac_cv_header_stdc=no ++fi ++rm -f conftest* ++ ++fi ++ ++if test $ac_cv_header_stdc = yes; then ++ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. ++ if test "$cross_compiling" = yes; then ++ : ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line 3076 "configure" ++#include "confdefs.h" ++#include ++#if ((' ' & 0x0FF) == 0x020) ++# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') ++# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) ++#else ++# define ISLOWER(c) (('a' <= (c) && (c) <= 'i') \ ++ || ('j' <= (c) && (c) <= 'r') \ ++ || ('s' <= (c) && (c) <= 'z')) ++# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) ++#endif ++ ++#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) ++int ++main () ++{ ++ int i; ++ for (i = 0; i < 256; i++) ++ if (XOR (islower (i), ISLOWER (i)) ++ || toupper (i) != TOUPPER (i)) ++ exit(2); ++ exit (0); ++} ++_ACEOF ++rm -f conftest$ac_exeext ++if { (eval echo "$as_me:3102: \"$ac_link\"") >&5 ++ (eval $ac_link) 2>&5 ++ ac_status=$? ++ echo "$as_me:3105: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ++ { (eval echo "$as_me:3107: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:3110: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ : ++else ++ echo "$as_me: program exited with status $ac_status" >&5 ++echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++ac_cv_header_stdc=no ++fi ++rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext ++fi ++fi ++fi ++echo "$as_me:3123: result: $ac_cv_header_stdc" >&5 ++echo "${ECHO_T}$ac_cv_header_stdc" >&6 ++if test $ac_cv_header_stdc = yes; then ++ ++cat >>confdefs.h <<\EOF ++#define STDC_HEADERS 1 ++EOF ++ ++fi ++ ++for ac_header in sys/param.h ++do ++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` ++echo "$as_me:3136: checking for $ac_header" >&5 ++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 ++if eval "test \"\${$as_ac_Header+set}\" = set"; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line 3142 "configure" ++#include "confdefs.h" ++#include <$ac_header> ++_ACEOF ++if { (eval echo "$as_me:3146: \"$ac_cpp conftest.$ac_ext\"") >&5 ++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ++ ac_status=$? ++ egrep -v '^ *\+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:3152: \$? = $ac_status" >&5 ++ (exit $ac_status); } >/dev/null; then ++ if test -s conftest.err; then ++ ac_cpp_err=$ac_c_preproc_warn_flag ++ else ++ ac_cpp_err= ++ fi ++else ++ ac_cpp_err=yes ++fi ++if test -z "$ac_cpp_err"; then ++ eval "$as_ac_Header=yes" ++else ++ echo "$as_me: failed program was:" >&5 ++ cat conftest.$ac_ext >&5 ++ eval "$as_ac_Header=no" ++fi ++rm -f conftest.err conftest.$ac_ext ++fi ++echo "$as_me:3171: result: `eval echo '${'$as_ac_Header'}'`" >&5 ++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 ++if test `eval echo '${'$as_ac_Header'}'` = yes; then ++ cat >>confdefs.h <&5 ++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 ++if eval "test \"\${$as_ac_Header+set}\" = set"; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line 3190 "configure" ++#include "confdefs.h" ++#include <$ac_header> ++_ACEOF ++if { (eval echo "$as_me:3194: \"$ac_cpp conftest.$ac_ext\"") >&5 ++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ++ ac_status=$? ++ egrep -v '^ *\+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:3200: \$? = $ac_status" >&5 ++ (exit $ac_status); } >/dev/null; then ++ if test -s conftest.err; then ++ ac_cpp_err=$ac_c_preproc_warn_flag ++ else ++ ac_cpp_err= ++ fi ++else ++ ac_cpp_err=yes ++fi ++if test -z "$ac_cpp_err"; then ++ eval "$as_ac_Header=yes" ++else ++ echo "$as_me: failed program was:" >&5 ++ cat conftest.$ac_ext >&5 ++ eval "$as_ac_Header=no" ++fi ++rm -f conftest.err conftest.$ac_ext ++fi ++echo "$as_me:3219: result: `eval echo '${'$as_ac_Header'}'`" >&5 ++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 ++if test `eval echo '${'$as_ac_Header'}'` = yes; then ++ cat >>confdefs.h <&5 ++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 ++if eval "test \"\${$as_ac_Header+set}\" = set"; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line 3238 "configure" ++#include "confdefs.h" ++#include <$ac_header> ++_ACEOF ++if { (eval echo "$as_me:3242: \"$ac_cpp conftest.$ac_ext\"") >&5 ++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ++ ac_status=$? ++ egrep -v '^ *\+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:3248: \$? = $ac_status" >&5 ++ (exit $ac_status); } >/dev/null; then ++ if test -s conftest.err; then ++ ac_cpp_err=$ac_c_preproc_warn_flag ++ else ++ ac_cpp_err= ++ fi ++else ++ ac_cpp_err=yes ++fi ++if test -z "$ac_cpp_err"; then ++ eval "$as_ac_Header=yes" ++else ++ echo "$as_me: failed program was:" >&5 ++ cat conftest.$ac_ext >&5 ++ eval "$as_ac_Header=no" ++fi ++rm -f conftest.err conftest.$ac_ext ++fi ++echo "$as_me:3267: result: `eval echo '${'$as_ac_Header'}'`" >&5 ++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 ++if test `eval echo '${'$as_ac_Header'}'` = yes; then ++ cat >>confdefs.h <&5 ++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 ++if eval "test \"\${$as_ac_Header+set}\" = set"; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line 3286 "configure" ++#include "confdefs.h" ++#include <$ac_header> ++_ACEOF ++if { (eval echo "$as_me:3290: \"$ac_cpp conftest.$ac_ext\"") >&5 ++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ++ ac_status=$? ++ egrep -v '^ *\+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:3296: \$? = $ac_status" >&5 ++ (exit $ac_status); } >/dev/null; then ++ if test -s conftest.err; then ++ ac_cpp_err=$ac_c_preproc_warn_flag ++ else ++ ac_cpp_err= ++ fi ++else ++ ac_cpp_err=yes ++fi ++if test -z "$ac_cpp_err"; then ++ eval "$as_ac_Header=yes" ++else ++ echo "$as_me: failed program was:" >&5 ++ cat conftest.$ac_ext >&5 ++ eval "$as_ac_Header=no" ++fi ++rm -f conftest.err conftest.$ac_ext ++fi ++echo "$as_me:3315: result: `eval echo '${'$as_ac_Header'}'`" >&5 ++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 ++if test `eval echo '${'$as_ac_Header'}'` = yes; then ++ cat >>confdefs.h <&5 ++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 ++if eval "test \"\${$as_ac_Header+set}\" = set"; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line 3334 "configure" ++#include "confdefs.h" ++#include <$ac_header> ++_ACEOF ++if { (eval echo "$as_me:3338: \"$ac_cpp conftest.$ac_ext\"") >&5 ++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ++ ac_status=$? ++ egrep -v '^ *\+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:3344: \$? = $ac_status" >&5 ++ (exit $ac_status); } >/dev/null; then ++ if test -s conftest.err; then ++ ac_cpp_err=$ac_c_preproc_warn_flag ++ else ++ ac_cpp_err= ++ fi ++else ++ ac_cpp_err=yes ++fi ++if test -z "$ac_cpp_err"; then ++ eval "$as_ac_Header=yes" ++else ++ echo "$as_me: failed program was:" >&5 ++ cat conftest.$ac_ext >&5 ++ eval "$as_ac_Header=no" ++fi ++rm -f conftest.err conftest.$ac_ext ++fi ++echo "$as_me:3363: result: `eval echo '${'$as_ac_Header'}'`" >&5 ++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 ++if test `eval echo '${'$as_ac_Header'}'` = yes; then ++ cat >>confdefs.h <&5 ++echo $ECHO_N "checking for wchar.h... $ECHO_C" >&6 ++if test "${ac_cv_header_wchar_h+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line 3379 "configure" ++#include "confdefs.h" ++#include ++_ACEOF ++if { (eval echo "$as_me:3383: \"$ac_cpp conftest.$ac_ext\"") >&5 ++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ++ ac_status=$? ++ egrep -v '^ *\+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:3389: \$? = $ac_status" >&5 ++ (exit $ac_status); } >/dev/null; then ++ if test -s conftest.err; then ++ ac_cpp_err=$ac_c_preproc_warn_flag ++ else ++ ac_cpp_err= ++ fi ++else ++ ac_cpp_err=yes ++fi ++if test -z "$ac_cpp_err"; then ++ ac_cv_header_wchar_h=yes ++else ++ echo "$as_me: failed program was:" >&5 ++ cat conftest.$ac_ext >&5 ++ ac_cv_header_wchar_h=no ++fi ++rm -f conftest.err conftest.$ac_ext ++fi ++echo "$as_me:3408: result: $ac_cv_header_wchar_h" >&5 ++echo "${ECHO_T}$ac_cv_header_wchar_h" >&6 ++if test $ac_cv_header_wchar_h = yes; then ++ ++cat >>confdefs.h <<\EOF ++#define HAVE_WCHAR_H 1 ++EOF ++ ++else ++ ++cat >>confdefs.h <<\EOF ++#define _STLP_NO_WCHAR_T 1 ++EOF ++ ++fi ++ ++CPPFLAGS_SAVE="${CPPFLAGS}" ++CPPFLAGS="${CPPFLAGS} -Werror" ++ ++for ac_header in malloc.h ++do ++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` ++echo "$as_me:3430: checking for $ac_header" >&5 ++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 ++if eval "test \"\${$as_ac_Header+set}\" = set"; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line 3436 "configure" ++#include "confdefs.h" ++#include <$ac_header> ++_ACEOF ++if { (eval echo "$as_me:3440: \"$ac_cpp conftest.$ac_ext\"") >&5 ++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ++ ac_status=$? ++ egrep -v '^ *\+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:3446: \$? = $ac_status" >&5 ++ (exit $ac_status); } >/dev/null; then ++ if test -s conftest.err; then ++ ac_cpp_err=$ac_c_preproc_warn_flag ++ else ++ ac_cpp_err= ++ fi ++else ++ ac_cpp_err=yes ++fi ++if test -z "$ac_cpp_err"; then ++ eval "$as_ac_Header=yes" ++else ++ echo "$as_me: failed program was:" >&5 ++ cat conftest.$ac_ext >&5 ++ eval "$as_ac_Header=no" ++fi ++rm -f conftest.err conftest.$ac_ext ++fi ++echo "$as_me:3465: result: `eval echo '${'$as_ac_Header'}'`" >&5 ++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 ++if test `eval echo '${'$as_ac_Header'}'` = yes; then ++ cat >>confdefs.h <&5 ++echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 ++if test "${ac_cv_prog_cc_stdc+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_cv_prog_cc_stdc=no ++ac_save_CC=$CC ++cat >conftest.$ac_ext <<_ACEOF ++#line 3485 "configure" ++#include "confdefs.h" ++#include ++#include ++#include ++#include ++/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ ++struct buf { int x; }; ++FILE * (*rcsopen) (struct buf *, struct stat *, int); ++static char *e (p, i) ++ char **p; ++ int i; ++{ ++ return p[i]; ++} ++static char *f (char * (*g) (char **, int), char **p, ...) ++{ ++ char *s; ++ va_list v; ++ va_start (v,p); ++ s = g (p, va_arg (v,int)); ++ va_end (v); ++ return s; ++} ++int test (int i, double x); ++struct s1 {int (*f) (int a);}; ++struct s2 {int (*f) (double a);}; ++int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); ++int argc; ++char **argv; ++int ++main () ++{ ++return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ++ ; ++ return 0; ++} ++_ACEOF ++# Don't try gcc -ansi; that turns off useful extensions and ++# breaks some systems' header files. ++# AIX -qlanglvl=ansi ++# Ultrix and OSF/1 -std1 ++# HP-UX 10.20 and later -Ae ++# HP-UX older versions -Aa -D_HPUX_SOURCE ++# SVR4 -Xc -D__EXTENSIONS__ ++for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" ++do ++ CC="$ac_save_CC $ac_arg" ++ rm -f conftest.$ac_objext ++if { (eval echo "$as_me:3534: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:3537: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:3540: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:3543: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_cv_prog_cc_stdc=$ac_arg ++break ++else ++ echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++fi ++rm -f conftest.$ac_objext ++done ++rm -f conftest.$ac_ext conftest.$ac_objext ++CC=$ac_save_CC ++ ++fi ++ ++case "x$ac_cv_prog_cc_stdc" in ++ x|xno) ++ echo "$as_me:3560: result: none needed" >&5 ++echo "${ECHO_T}none needed" >&6 ;; ++ *) ++ echo "$as_me:3563: result: $ac_cv_prog_cc_stdc" >&5 ++echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 ++ CC="$CC $ac_cv_prog_cc_stdc" ;; ++esac ++ ++echo "$as_me:3568: checking for an ANSI C-conforming const" >&5 ++echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6 ++if test "${ac_cv_c_const+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line 3574 "configure" ++#include "confdefs.h" ++ ++int ++main () ++{ ++/* FIXME: Include the comments suggested by Paul. */ ++#ifndef __cplusplus ++ /* Ultrix mips cc rejects this. */ ++ typedef int charset[2]; ++ const charset x; ++ /* SunOS 4.1.1 cc rejects this. */ ++ char const *const *ccp; ++ char **p; ++ /* NEC SVR4.0.2 mips cc rejects this. */ ++ struct point {int x, y;}; ++ static struct point const zero = {0,0}; ++ /* AIX XL C 1.02.0.0 rejects this. ++ It does not let you subtract one const X* pointer from another in ++ an arm of an if-expression whose if-part is not a constant ++ expression */ ++ const char *g = "string"; ++ ccp = &g + (g ? g-g : 0); ++ /* HPUX 7.0 cc rejects these. */ ++ ++ccp; ++ p = (char**) ccp; ++ ccp = (char const *const *) p; ++ { /* SCO 3.2v4 cc rejects this. */ ++ char *t; ++ char const *s = 0 ? (char *) 0 : (char const *) 0; ++ ++ *t++ = 0; ++ } ++ { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ ++ int x[] = {25, 17}; ++ const int *foo = &x[0]; ++ ++foo; ++ } ++ { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ ++ typedef const int *iptr; ++ iptr p = 0; ++ ++p; ++ } ++ { /* AIX XL C 1.02.0.0 rejects this saying ++ "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ ++ struct s { int j; const int *ap[3]; }; ++ struct s *b; b->j = 5; ++ } ++ { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ ++ const int foo = 10; ++ } ++#endif ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:3632: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:3635: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:3638: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:3641: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_cv_c_const=yes ++else ++ echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++ac_cv_c_const=no ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++fi ++echo "$as_me:3651: result: $ac_cv_c_const" >&5 ++echo "${ECHO_T}$ac_cv_c_const" >&6 ++if test $ac_cv_c_const = no; then ++ ++cat >>confdefs.h <<\EOF ++#define const ++EOF ++ ++fi ++ ++# On IRIX 5.3, sys/types and inttypes.h are conflicting. ++ ++for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ ++ inttypes.h stdint.h unistd.h ++do ++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` ++echo "$as_me:3667: checking for $ac_header" >&5 ++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 ++if eval "test \"\${$as_ac_Header+set}\" = set"; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line 3673 "configure" ++#include "confdefs.h" ++$ac_includes_default ++#include <$ac_header> ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:3679: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:3682: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:3685: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:3688: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ eval "$as_ac_Header=yes" ++else ++ echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++eval "$as_ac_Header=no" ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++fi ++echo "$as_me:3698: result: `eval echo '${'$as_ac_Header'}'`" >&5 ++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 ++if test `eval echo '${'$as_ac_Header'}'` = yes; then ++ cat >>confdefs.h <&5 ++echo $ECHO_N "checking for size_t... $ECHO_C" >&6 ++if test "${ac_cv_type_size_t+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line 3714 "configure" ++#include "confdefs.h" ++$ac_includes_default ++int ++main () ++{ ++if ((size_t *) 0) ++ return 0; ++if (sizeof (size_t)) ++ return 0; ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:3729: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:3732: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:3735: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:3738: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_cv_type_size_t=yes ++else ++ echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++ac_cv_type_size_t=no ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++fi ++echo "$as_me:3748: result: $ac_cv_type_size_t" >&5 ++echo "${ECHO_T}$ac_cv_type_size_t" >&6 ++if test $ac_cv_type_size_t = yes; then ++ : ++else ++ ++cat >>confdefs.h <&5 ++echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6 ++if test "${ac_cv_header_time+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line 3766 "configure" ++#include "confdefs.h" ++#include ++#include ++#include ++ ++int ++main () ++{ ++if ((struct tm *) 0) ++return 0; ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:3782: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:3785: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:3788: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:3791: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_cv_header_time=yes ++else ++ echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++ac_cv_header_time=no ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++fi ++echo "$as_me:3801: result: $ac_cv_header_time" >&5 ++echo "${ECHO_T}$ac_cv_header_time" >&6 ++if test $ac_cv_header_time = yes; then ++ ++cat >>confdefs.h <<\EOF ++#define TIME_WITH_SYS_TIME 1 ++EOF ++ ++fi ++ ++echo "$as_me:3811: checking whether byte ordering is bigendian" >&5 ++echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6 ++if test "${ac_cv_c_bigendian+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_cv_c_bigendian=unknown ++# See if sys/param.h defines the BYTE_ORDER macro. ++cat >conftest.$ac_ext <<_ACEOF ++#line 3819 "configure" ++#include "confdefs.h" ++#include ++#include ++ ++int ++main () ++{ ++#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN ++ bogus endian macros ++#endif ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:3836: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:3839: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:3842: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:3845: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ # It does; now see whether it defined to BIG_ENDIAN or not. ++cat >conftest.$ac_ext <<_ACEOF ++#line 3849 "configure" ++#include "confdefs.h" ++#include ++#include ++ ++int ++main () ++{ ++#if BYTE_ORDER != BIG_ENDIAN ++ not big endian ++#endif ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:3866: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:3869: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:3872: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:3875: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_cv_c_bigendian=yes ++else ++ echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++ac_cv_c_bigendian=no ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++else ++ echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++if test $ac_cv_c_bigendian = unknown; then ++if test "$cross_compiling" = yes; then ++ { { echo "$as_me:3891: error: cannot run test program while cross compiling" >&5 ++echo "$as_me: error: cannot run test program while cross compiling" >&2;} ++ { (exit 1); exit 1; }; } ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line 3896 "configure" ++#include "confdefs.h" ++int ++main () ++{ ++ /* Are we little or big endian? From Harbison&Steele. */ ++ union ++ { ++ long l; ++ char c[sizeof (long)]; ++ } u; ++ u.l = 1; ++ exit (u.c[sizeof (long) - 1] == 1); ++} ++_ACEOF ++rm -f conftest$ac_exeext ++if { (eval echo "$as_me:3912: \"$ac_link\"") >&5 ++ (eval $ac_link) 2>&5 ++ ac_status=$? ++ echo "$as_me:3915: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ++ { (eval echo "$as_me:3917: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:3920: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_cv_c_bigendian=no ++else ++ echo "$as_me: program exited with status $ac_status" >&5 ++echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++ac_cv_c_bigendian=yes ++fi ++rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext ++fi ++fi ++fi ++echo "$as_me:3933: result: $ac_cv_c_bigendian" >&5 ++echo "${ECHO_T}$ac_cv_c_bigendian" >&6 ++if test $ac_cv_c_bigendian = yes; then ++ ++cat >>confdefs.h <<\EOF ++#define WORDS_BIGENDIAN 1 ++EOF ++ ++fi ++ ++echo "$as_me:3943: checking for int" >&5 ++echo $ECHO_N "checking for int... $ECHO_C" >&6 ++if test "${ac_cv_type_int+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line 3949 "configure" ++#include "confdefs.h" ++$ac_includes_default ++int ++main () ++{ ++if ((int *) 0) ++ return 0; ++if (sizeof (int)) ++ return 0; ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:3964: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:3967: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:3970: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:3973: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_cv_type_int=yes ++else ++ echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++ac_cv_type_int=no ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++fi ++echo "$as_me:3983: result: $ac_cv_type_int" >&5 ++echo "${ECHO_T}$ac_cv_type_int" >&6 ++ ++echo "$as_me:3986: checking size of int" >&5 ++echo $ECHO_N "checking size of int... $ECHO_C" >&6 ++if test "${ac_cv_sizeof_int+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test "$ac_cv_type_int" = yes; then ++ if test "$cross_compiling" = yes; then ++ # Depending upon the size, compute the lo and hi bounds. ++cat >conftest.$ac_ext <<_ACEOF ++#line 3995 "configure" ++#include "confdefs.h" ++$ac_includes_default ++int ++main () ++{ ++int _array_ [1 - 2 * !((sizeof (int)) >= 0)] ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:4007: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:4010: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:4013: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:4016: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_lo=0 ac_mid=0 ++ while :; do ++ cat >conftest.$ac_ext <<_ACEOF ++#line 4021 "configure" ++#include "confdefs.h" ++$ac_includes_default ++int ++main () ++{ ++int _array_ [1 - 2 * !((sizeof (int)) <= $ac_mid)] ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:4033: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:4036: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:4039: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:4042: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_hi=$ac_mid; break ++else ++ echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++ac_lo=`expr $ac_mid + 1`; ac_mid=`expr 2 '*' $ac_mid + 1` ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++ done ++else ++ echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++ac_hi=-1 ac_mid=-1 ++ while :; do ++ cat >conftest.$ac_ext <<_ACEOF ++#line 4058 "configure" ++#include "confdefs.h" ++$ac_includes_default ++int ++main () ++{ ++int _array_ [1 - 2 * !((sizeof (int)) >= $ac_mid)] ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:4070: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:4073: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:4076: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:4079: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_lo=$ac_mid; break ++else ++ echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++ac_hi=`expr $ac_mid - 1`; ac_mid=`expr 2 '*' $ac_mid` ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++ done ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++# Binary search between lo and hi bounds. ++while test "x$ac_lo" != "x$ac_hi"; do ++ ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` ++ cat >conftest.$ac_ext <<_ACEOF ++#line 4095 "configure" ++#include "confdefs.h" ++$ac_includes_default ++int ++main () ++{ ++int _array_ [1 - 2 * !((sizeof (int)) <= $ac_mid)] ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:4107: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:4110: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:4113: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:4116: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_hi=$ac_mid ++else ++ echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++ac_lo=`expr $ac_mid + 1` ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++done ++ac_cv_sizeof_int=$ac_lo ++else ++ if test "$cross_compiling" = yes; then ++ { { echo "$as_me:4129: error: cannot run test program while cross compiling" >&5 ++echo "$as_me: error: cannot run test program while cross compiling" >&2;} ++ { (exit 1); exit 1; }; } ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line 4134 "configure" ++#include "confdefs.h" ++$ac_includes_default ++int ++main () ++{ ++FILE *f = fopen ("conftest.val", "w"); ++if (!f) ++ exit (1); ++fprintf (f, "%d", (sizeof (int))); ++fclose (f); ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest$ac_exeext ++if { (eval echo "$as_me:4150: \"$ac_link\"") >&5 ++ (eval $ac_link) 2>&5 ++ ac_status=$? ++ echo "$as_me:4153: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ++ { (eval echo "$as_me:4155: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:4158: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_cv_sizeof_int=`cat conftest.val` ++else ++ echo "$as_me: program exited with status $ac_status" >&5 ++echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++fi ++rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext ++fi ++fi ++rm -f conftest.val ++else ++ ac_cv_sizeof_int=0 ++fi ++fi ++echo "$as_me:4174: result: $ac_cv_sizeof_int" >&5 ++echo "${ECHO_T}$ac_cv_sizeof_int" >&6 ++cat >>confdefs.h <&5 ++echo $ECHO_N "checking for long... $ECHO_C" >&6 ++if test "${ac_cv_type_long+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line 4186 "configure" ++#include "confdefs.h" ++$ac_includes_default ++int ++main () ++{ ++if ((long *) 0) ++ return 0; ++if (sizeof (long)) ++ return 0; ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:4201: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:4204: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:4207: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:4210: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_cv_type_long=yes ++else ++ echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++ac_cv_type_long=no ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++fi ++echo "$as_me:4220: result: $ac_cv_type_long" >&5 ++echo "${ECHO_T}$ac_cv_type_long" >&6 ++ ++echo "$as_me:4223: checking size of long" >&5 ++echo $ECHO_N "checking size of long... $ECHO_C" >&6 ++if test "${ac_cv_sizeof_long+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test "$ac_cv_type_long" = yes; then ++ if test "$cross_compiling" = yes; then ++ # Depending upon the size, compute the lo and hi bounds. ++cat >conftest.$ac_ext <<_ACEOF ++#line 4232 "configure" ++#include "confdefs.h" ++$ac_includes_default ++int ++main () ++{ ++int _array_ [1 - 2 * !((sizeof (long)) >= 0)] ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:4244: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:4247: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:4250: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:4253: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_lo=0 ac_mid=0 ++ while :; do ++ cat >conftest.$ac_ext <<_ACEOF ++#line 4258 "configure" ++#include "confdefs.h" ++$ac_includes_default ++int ++main () ++{ ++int _array_ [1 - 2 * !((sizeof (long)) <= $ac_mid)] ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:4270: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:4273: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:4276: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:4279: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_hi=$ac_mid; break ++else ++ echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++ac_lo=`expr $ac_mid + 1`; ac_mid=`expr 2 '*' $ac_mid + 1` ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++ done ++else ++ echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++ac_hi=-1 ac_mid=-1 ++ while :; do ++ cat >conftest.$ac_ext <<_ACEOF ++#line 4295 "configure" ++#include "confdefs.h" ++$ac_includes_default ++int ++main () ++{ ++int _array_ [1 - 2 * !((sizeof (long)) >= $ac_mid)] ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:4307: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:4310: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:4313: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:4316: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_lo=$ac_mid; break ++else ++ echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++ac_hi=`expr $ac_mid - 1`; ac_mid=`expr 2 '*' $ac_mid` ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++ done ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++# Binary search between lo and hi bounds. ++while test "x$ac_lo" != "x$ac_hi"; do ++ ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` ++ cat >conftest.$ac_ext <<_ACEOF ++#line 4332 "configure" ++#include "confdefs.h" ++$ac_includes_default ++int ++main () ++{ ++int _array_ [1 - 2 * !((sizeof (long)) <= $ac_mid)] ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:4344: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:4347: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:4350: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:4353: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_hi=$ac_mid ++else ++ echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++ac_lo=`expr $ac_mid + 1` ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++done ++ac_cv_sizeof_long=$ac_lo ++else ++ if test "$cross_compiling" = yes; then ++ { { echo "$as_me:4366: error: cannot run test program while cross compiling" >&5 ++echo "$as_me: error: cannot run test program while cross compiling" >&2;} ++ { (exit 1); exit 1; }; } ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line 4371 "configure" ++#include "confdefs.h" ++$ac_includes_default ++int ++main () ++{ ++FILE *f = fopen ("conftest.val", "w"); ++if (!f) ++ exit (1); ++fprintf (f, "%d", (sizeof (long))); ++fclose (f); ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest$ac_exeext ++if { (eval echo "$as_me:4387: \"$ac_link\"") >&5 ++ (eval $ac_link) 2>&5 ++ ac_status=$? ++ echo "$as_me:4390: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ++ { (eval echo "$as_me:4392: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:4395: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_cv_sizeof_long=`cat conftest.val` ++else ++ echo "$as_me: program exited with status $ac_status" >&5 ++echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++fi ++rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext ++fi ++fi ++rm -f conftest.val ++else ++ ac_cv_sizeof_long=0 ++fi ++fi ++echo "$as_me:4411: result: $ac_cv_sizeof_long" >&5 ++echo "${ECHO_T}$ac_cv_sizeof_long" >&6 ++cat >>confdefs.h <&5 ++echo $ECHO_N "checking for long long... $ECHO_C" >&6 ++if test "${ac_cv_type_long_long+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line 4423 "configure" ++#include "confdefs.h" ++$ac_includes_default ++int ++main () ++{ ++if ((long long *) 0) ++ return 0; ++if (sizeof (long long)) ++ return 0; ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:4438: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:4441: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:4444: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:4447: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_cv_type_long_long=yes ++else ++ echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++ac_cv_type_long_long=no ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++fi ++echo "$as_me:4457: result: $ac_cv_type_long_long" >&5 ++echo "${ECHO_T}$ac_cv_type_long_long" >&6 ++ ++echo "$as_me:4460: checking size of long long" >&5 ++echo $ECHO_N "checking size of long long... $ECHO_C" >&6 ++if test "${ac_cv_sizeof_long_long+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test "$ac_cv_type_long_long" = yes; then ++ if test "$cross_compiling" = yes; then ++ # Depending upon the size, compute the lo and hi bounds. ++cat >conftest.$ac_ext <<_ACEOF ++#line 4469 "configure" ++#include "confdefs.h" ++$ac_includes_default ++int ++main () ++{ ++int _array_ [1 - 2 * !((sizeof (long long)) >= 0)] ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:4481: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:4484: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:4487: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:4490: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_lo=0 ac_mid=0 ++ while :; do ++ cat >conftest.$ac_ext <<_ACEOF ++#line 4495 "configure" ++#include "confdefs.h" ++$ac_includes_default ++int ++main () ++{ ++int _array_ [1 - 2 * !((sizeof (long long)) <= $ac_mid)] ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:4507: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:4510: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:4513: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:4516: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_hi=$ac_mid; break ++else ++ echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++ac_lo=`expr $ac_mid + 1`; ac_mid=`expr 2 '*' $ac_mid + 1` ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++ done ++else ++ echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++ac_hi=-1 ac_mid=-1 ++ while :; do ++ cat >conftest.$ac_ext <<_ACEOF ++#line 4532 "configure" ++#include "confdefs.h" ++$ac_includes_default ++int ++main () ++{ ++int _array_ [1 - 2 * !((sizeof (long long)) >= $ac_mid)] ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:4544: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:4547: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:4550: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:4553: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_lo=$ac_mid; break ++else ++ echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++ac_hi=`expr $ac_mid - 1`; ac_mid=`expr 2 '*' $ac_mid` ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++ done ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++# Binary search between lo and hi bounds. ++while test "x$ac_lo" != "x$ac_hi"; do ++ ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` ++ cat >conftest.$ac_ext <<_ACEOF ++#line 4569 "configure" ++#include "confdefs.h" ++$ac_includes_default ++int ++main () ++{ ++int _array_ [1 - 2 * !((sizeof (long long)) <= $ac_mid)] ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:4581: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:4584: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:4587: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:4590: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_hi=$ac_mid ++else ++ echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++ac_lo=`expr $ac_mid + 1` ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++done ++ac_cv_sizeof_long_long=$ac_lo ++else ++ if test "$cross_compiling" = yes; then ++ { { echo "$as_me:4603: error: cannot run test program while cross compiling" >&5 ++echo "$as_me: error: cannot run test program while cross compiling" >&2;} ++ { (exit 1); exit 1; }; } ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line 4608 "configure" ++#include "confdefs.h" ++$ac_includes_default ++int ++main () ++{ ++FILE *f = fopen ("conftest.val", "w"); ++if (!f) ++ exit (1); ++fprintf (f, "%d", (sizeof (long long))); ++fclose (f); ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest$ac_exeext ++if { (eval echo "$as_me:4624: \"$ac_link\"") >&5 ++ (eval $ac_link) 2>&5 ++ ac_status=$? ++ echo "$as_me:4627: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ++ { (eval echo "$as_me:4629: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:4632: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_cv_sizeof_long_long=`cat conftest.val` ++else ++ echo "$as_me: program exited with status $ac_status" >&5 ++echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++fi ++rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext ++fi ++fi ++rm -f conftest.val ++else ++ ac_cv_sizeof_long_long=0 ++fi ++fi ++echo "$as_me:4648: result: $ac_cv_sizeof_long_long" >&5 ++echo "${ECHO_T}$ac_cv_sizeof_long_long" >&6 ++cat >>confdefs.h <>confdefs.h <<\EOF ++#define USES_1S_COMPLEMENT 0 ++EOF ++ ++cat >>confdefs.h <<\EOF ++#define USES_2S_COMPLEMENT 1 ++EOF ++ ++cat >>confdefs.h <<\EOF ++#define USES_SIGNED_MAGNITUDE 0 ++EOF ++ ++cat >>confdefs.h <<\EOF ++#define IS_BYTE_ALIGNED 1 ++EOF ++ ++cat >>confdefs.h <<\EOF ++#define EXCEPTION_NAMESPACE std:: ++EOF ++ ++cat >>confdefs.h <<\EOF ++#define IS_UNIX 1 ++EOF ++ ++cat >>confdefs.h <<\EOF ++#define NDEBUG 1 ++EOF ++ ++for ac_func in strftime gethostname gethostid ++do ++as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` ++echo "$as_me:4685: checking for $ac_func" >&5 ++echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 ++if eval "test \"\${$as_ac_var+set}\" = set"; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line 4691 "configure" ++#include "confdefs.h" ++/* System header to define __stub macros and hopefully few prototypes, ++ which can conflict with char $ac_func (); below. */ ++#include ++/* Override any gcc2 internal prototype to avoid an error. */ ++#ifdef __cplusplus ++extern "C" ++#endif ++/* We use char because int might match the return type of a gcc2 ++ builtin and then its argument prototype would still apply. */ ++char $ac_func (); ++char (*f) (); ++ ++int ++main () ++{ ++/* The GNU C library defines this for functions which it implements ++ to always fail with ENOSYS. Some functions are actually named ++ something starting with __ and the normal name is an alias. */ ++#if defined (__stub_$ac_func) || defined (__stub___$ac_func) ++choke me ++#else ++f = $ac_func; ++#endif ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext conftest$ac_exeext ++if { (eval echo "$as_me:4722: \"$ac_link\"") >&5 ++ (eval $ac_link) 2>&5 ++ ac_status=$? ++ echo "$as_me:4725: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest$ac_exeext' ++ { (eval echo "$as_me:4728: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:4731: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ eval "$as_ac_var=yes" ++else ++ echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++eval "$as_ac_var=no" ++fi ++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext ++fi ++echo "$as_me:4741: result: `eval echo '${'$as_ac_var'}'`" >&5 ++echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 ++if test `eval echo '${'$as_ac_var'}'` = yes; then ++ cat >>confdefs.h <&5 ++echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 ++if eval "test \"\${$as_ac_var+set}\" = set"; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line 4760 "configure" ++#include "confdefs.h" ++/* System header to define __stub macros and hopefully few prototypes, ++ which can conflict with char $ac_func (); below. */ ++#include ++/* Override any gcc2 internal prototype to avoid an error. */ ++#ifdef __cplusplus ++extern "C" ++#endif ++/* We use char because int might match the return type of a gcc2 ++ builtin and then its argument prototype would still apply. */ ++char $ac_func (); ++char (*f) (); ++ ++int ++main () ++{ ++/* The GNU C library defines this for functions which it implements ++ to always fail with ENOSYS. Some functions are actually named ++ something starting with __ and the normal name is an alias. */ ++#if defined (__stub_$ac_func) || defined (__stub___$ac_func) ++choke me ++#else ++f = $ac_func; ++#endif ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext conftest$ac_exeext ++if { (eval echo "$as_me:4791: \"$ac_link\"") >&5 ++ (eval $ac_link) 2>&5 ++ ac_status=$? ++ echo "$as_me:4794: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest$ac_exeext' ++ { (eval echo "$as_me:4797: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:4800: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ eval "$as_ac_var=yes" ++else ++ echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++eval "$as_ac_var=no" ++fi ++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext ++fi ++echo "$as_me:4810: result: `eval echo '${'$as_ac_var'}'`" >&5 ++echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 ++if test `eval echo '${'$as_ac_var'}'` = yes; then ++ cat >>confdefs.h <&5 ++echo $ECHO_N "checking for socket in -lc... $ECHO_C" >&6 ++if test "${ac_cv_lib_c_socket+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-lc $LIBS" ++cat >conftest.$ac_ext <<_ACEOF ++#line 4828 "configure" ++#include "confdefs.h" ++ ++/* Override any gcc2 internal prototype to avoid an error. */ ++#ifdef __cplusplus ++extern "C" ++#endif ++/* We use char because int might match the return type of a gcc2 ++ builtin and then its argument prototype would still apply. */ ++char socket (); ++int ++main () ++{ ++socket (); ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext conftest$ac_exeext ++if { (eval echo "$as_me:4847: \"$ac_link\"") >&5 ++ (eval $ac_link) 2>&5 ++ ac_status=$? ++ echo "$as_me:4850: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest$ac_exeext' ++ { (eval echo "$as_me:4853: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:4856: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_cv_lib_c_socket=yes ++else ++ echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++ac_cv_lib_c_socket=no ++fi ++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++echo "$as_me:4867: result: $ac_cv_lib_c_socket" >&5 ++echo "${ECHO_T}$ac_cv_lib_c_socket" >&6 ++if test $ac_cv_lib_c_socket = yes; then ++ : ++else ++ ++ echo "$as_me:4873: checking for socket in -lsocket" >&5 ++echo $ECHO_N "checking for socket in -lsocket... $ECHO_C" >&6 ++if test "${ac_cv_lib_socket_socket+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-lsocket $LIBS" ++cat >conftest.$ac_ext <<_ACEOF ++#line 4881 "configure" ++#include "confdefs.h" ++ ++/* Override any gcc2 internal prototype to avoid an error. */ ++#ifdef __cplusplus ++extern "C" ++#endif ++/* We use char because int might match the return type of a gcc2 ++ builtin and then its argument prototype would still apply. */ ++char socket (); ++int ++main () ++{ ++socket (); ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext conftest$ac_exeext ++if { (eval echo "$as_me:4900: \"$ac_link\"") >&5 ++ (eval $ac_link) 2>&5 ++ ac_status=$? ++ echo "$as_me:4903: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest$ac_exeext' ++ { (eval echo "$as_me:4906: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:4909: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_cv_lib_socket_socket=yes ++else ++ echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++ac_cv_lib_socket_socket=no ++fi ++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++echo "$as_me:4920: result: $ac_cv_lib_socket_socket" >&5 ++echo "${ECHO_T}$ac_cv_lib_socket_socket" >&6 ++if test $ac_cv_lib_socket_socket = yes; then ++ ++ LIBS="-lsocket $LIBS" ++ ++else ++ : ++fi ++ ++fi ++ ++echo "$as_me:4932: checking for gethostbyname in -lc" >&5 ++echo $ECHO_N "checking for gethostbyname in -lc... $ECHO_C" >&6 ++if test "${ac_cv_lib_c_gethostbyname+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-lc $LIBS" ++cat >conftest.$ac_ext <<_ACEOF ++#line 4940 "configure" ++#include "confdefs.h" ++ ++/* Override any gcc2 internal prototype to avoid an error. */ ++#ifdef __cplusplus ++extern "C" ++#endif ++/* We use char because int might match the return type of a gcc2 ++ builtin and then its argument prototype would still apply. */ ++char gethostbyname (); ++int ++main () ++{ ++gethostbyname (); ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext conftest$ac_exeext ++if { (eval echo "$as_me:4959: \"$ac_link\"") >&5 ++ (eval $ac_link) 2>&5 ++ ac_status=$? ++ echo "$as_me:4962: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest$ac_exeext' ++ { (eval echo "$as_me:4965: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:4968: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_cv_lib_c_gethostbyname=yes ++else ++ echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++ac_cv_lib_c_gethostbyname=no ++fi ++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++echo "$as_me:4979: result: $ac_cv_lib_c_gethostbyname" >&5 ++echo "${ECHO_T}$ac_cv_lib_c_gethostbyname" >&6 ++if test $ac_cv_lib_c_gethostbyname = yes; then ++ : ++else ++ ++ echo "$as_me:4985: checking for gethostbyname in -lnsl" >&5 ++echo $ECHO_N "checking for gethostbyname in -lnsl... $ECHO_C" >&6 ++if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-lnsl $LIBS" ++cat >conftest.$ac_ext <<_ACEOF ++#line 4993 "configure" ++#include "confdefs.h" ++ ++/* Override any gcc2 internal prototype to avoid an error. */ ++#ifdef __cplusplus ++extern "C" ++#endif ++/* We use char because int might match the return type of a gcc2 ++ builtin and then its argument prototype would still apply. */ ++char gethostbyname (); ++int ++main () ++{ ++gethostbyname (); ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext conftest$ac_exeext ++if { (eval echo "$as_me:5012: \"$ac_link\"") >&5 ++ (eval $ac_link) 2>&5 ++ ac_status=$? ++ echo "$as_me:5015: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest$ac_exeext' ++ { (eval echo "$as_me:5018: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:5021: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_cv_lib_nsl_gethostbyname=yes ++else ++ echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++ac_cv_lib_nsl_gethostbyname=no ++fi ++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++echo "$as_me:5032: result: $ac_cv_lib_nsl_gethostbyname" >&5 ++echo "${ECHO_T}$ac_cv_lib_nsl_gethostbyname" >&6 ++if test $ac_cv_lib_nsl_gethostbyname = yes; then ++ ++ LIBS="-lnsl $LIBS" ++ ++else ++ : ++fi ++ ++fi ++ ++ac_ext=cc ++ac_cpp='$CXXCPP $CPPFLAGS' ++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ++ ++ac_ext=cc ++ac_cpp='$CXXCPP $CPPFLAGS' ++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ++echo "$as_me:5055: checking how to run the C++ preprocessor" >&5 ++echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6 ++if test -z "$CXXCPP"; then ++ if test "${ac_cv_prog_CXXCPP+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ # Double quotes because CXXCPP needs to be expanded ++ for CXXCPP in "$CXX -E" "/lib/cpp" ++ do ++ ac_preproc_ok=false ++for ac_cxx_preproc_warn_flag in '' yes ++do ++ # Use a header file that comes with gcc, so configuring glibc ++ # with a fresh cross-compiler works. ++ # On the NeXT, cc -E runs the code through the compiler's parser, ++ # not just through cpp. "Syntax error" is here to catch this case. ++ cat >conftest.$ac_ext <<_ACEOF ++#line 5072 "configure" ++#include "confdefs.h" ++#include ++ Syntax error ++_ACEOF ++if { (eval echo "$as_me:5077: \"$ac_cpp conftest.$ac_ext\"") >&5 ++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ++ ac_status=$? ++ egrep -v '^ *\+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:5083: \$? = $ac_status" >&5 ++ (exit $ac_status); } >/dev/null; then ++ if test -s conftest.err; then ++ ac_cpp_err=$ac_cxx_preproc_warn_flag ++ else ++ ac_cpp_err= ++ fi ++else ++ ac_cpp_err=yes ++fi ++if test -z "$ac_cpp_err"; then ++ : ++else ++ echo "$as_me: failed program was:" >&5 ++ cat conftest.$ac_ext >&5 ++ # Broken: fails on valid input. ++continue ++fi ++rm -f conftest.err conftest.$ac_ext ++ ++ # OK, works on sane cases. Now check whether non-existent headers ++ # can be detected and how. ++ cat >conftest.$ac_ext <<_ACEOF ++#line 5106 "configure" ++#include "confdefs.h" ++#include ++_ACEOF ++if { (eval echo "$as_me:5110: \"$ac_cpp conftest.$ac_ext\"") >&5 ++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ++ ac_status=$? ++ egrep -v '^ *\+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:5116: \$? = $ac_status" >&5 ++ (exit $ac_status); } >/dev/null; then ++ if test -s conftest.err; then ++ ac_cpp_err=$ac_cxx_preproc_warn_flag ++ else ++ ac_cpp_err= ++ fi ++else ++ ac_cpp_err=yes ++fi ++if test -z "$ac_cpp_err"; then ++ # Broken: success on invalid input. ++continue ++else ++ echo "$as_me: failed program was:" >&5 ++ cat conftest.$ac_ext >&5 ++ # Passes both tests. ++ac_preproc_ok=: ++break ++fi ++rm -f conftest.err conftest.$ac_ext ++ ++done ++# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. ++rm -f conftest.err conftest.$ac_ext ++if $ac_preproc_ok; then ++ break ++fi ++ ++ done ++ ac_cv_prog_CXXCPP=$CXXCPP ++ ++fi ++ CXXCPP=$ac_cv_prog_CXXCPP ++else ++ ac_cv_prog_CXXCPP=$CXXCPP ++fi ++echo "$as_me:5153: result: $CXXCPP" >&5 ++echo "${ECHO_T}$CXXCPP" >&6 ++ac_preproc_ok=false ++for ac_cxx_preproc_warn_flag in '' yes ++do ++ # Use a header file that comes with gcc, so configuring glibc ++ # with a fresh cross-compiler works. ++ # On the NeXT, cc -E runs the code through the compiler's parser, ++ # not just through cpp. "Syntax error" is here to catch this case. ++ cat >conftest.$ac_ext <<_ACEOF ++#line 5163 "configure" ++#include "confdefs.h" ++#include ++ Syntax error ++_ACEOF ++if { (eval echo "$as_me:5168: \"$ac_cpp conftest.$ac_ext\"") >&5 ++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ++ ac_status=$? ++ egrep -v '^ *\+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:5174: \$? = $ac_status" >&5 ++ (exit $ac_status); } >/dev/null; then ++ if test -s conftest.err; then ++ ac_cpp_err=$ac_cxx_preproc_warn_flag ++ else ++ ac_cpp_err= ++ fi ++else ++ ac_cpp_err=yes ++fi ++if test -z "$ac_cpp_err"; then ++ : ++else ++ echo "$as_me: failed program was:" >&5 ++ cat conftest.$ac_ext >&5 ++ # Broken: fails on valid input. ++continue ++fi ++rm -f conftest.err conftest.$ac_ext ++ ++ # OK, works on sane cases. Now check whether non-existent headers ++ # can be detected and how. ++ cat >conftest.$ac_ext <<_ACEOF ++#line 5197 "configure" ++#include "confdefs.h" ++#include ++_ACEOF ++if { (eval echo "$as_me:5201: \"$ac_cpp conftest.$ac_ext\"") >&5 ++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ++ ac_status=$? ++ egrep -v '^ *\+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:5207: \$? = $ac_status" >&5 ++ (exit $ac_status); } >/dev/null; then ++ if test -s conftest.err; then ++ ac_cpp_err=$ac_cxx_preproc_warn_flag ++ else ++ ac_cpp_err= ++ fi ++else ++ ac_cpp_err=yes ++fi ++if test -z "$ac_cpp_err"; then ++ # Broken: success on invalid input. ++continue ++else ++ echo "$as_me: failed program was:" >&5 ++ cat conftest.$ac_ext >&5 ++ # Passes both tests. ++ac_preproc_ok=: ++break ++fi ++rm -f conftest.err conftest.$ac_ext ++ ++done ++# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. ++rm -f conftest.err conftest.$ac_ext ++if $ac_preproc_ok; then ++ : ++else ++ { { echo "$as_me:5235: error: C++ preprocessor \"$CXXCPP\" fails sanity check" >&5 ++echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check" >&2;} ++ { (exit 1); exit 1; }; } ++fi ++ ++ac_ext=cc ++ac_cpp='$CXXCPP $CPPFLAGS' ++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ++ ++echo "$as_me:5246: checking for locale" >&5 ++echo $ECHO_N "checking for locale... $ECHO_C" >&6 ++if test "${ac_cv_header_locale+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line 5252 "configure" ++#include "confdefs.h" ++#include ++_ACEOF ++if { (eval echo "$as_me:5256: \"$ac_cpp conftest.$ac_ext\"") >&5 ++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ++ ac_status=$? ++ egrep -v '^ *\+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:5262: \$? = $ac_status" >&5 ++ (exit $ac_status); } >/dev/null; then ++ if test -s conftest.err; then ++ ac_cpp_err=$ac_cxx_preproc_warn_flag ++ else ++ ac_cpp_err= ++ fi ++else ++ ac_cpp_err=yes ++fi ++if test -z "$ac_cpp_err"; then ++ ac_cv_header_locale=yes ++else ++ echo "$as_me: failed program was:" >&5 ++ cat conftest.$ac_ext >&5 ++ ac_cv_header_locale=no ++fi ++rm -f conftest.err conftest.$ac_ext ++fi ++echo "$as_me:5281: result: $ac_cv_header_locale" >&5 ++echo "${ECHO_T}$ac_cv_header_locale" >&6 ++if test $ac_cv_header_locale = yes; then ++ ++ STLPORT_INCLUDE=" " ++ STLPORT_LD=" " ++ STLPORT_SUBDIR=" " ++ GMAKE=$MAKE ++ ++else ++ ++ echo "$as_me:5292: checking for pthread_getspecific" >&5 ++echo $ECHO_N "checking for pthread_getspecific... $ECHO_C" >&6 ++if test "${ac_cv_func_pthread_getspecific+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line 5298 "configure" ++#include "confdefs.h" ++/* System header to define __stub macros and hopefully few prototypes, ++ which can conflict with char pthread_getspecific (); below. */ ++#include ++/* Override any gcc2 internal prototype to avoid an error. */ ++#ifdef __cplusplus ++extern "C" ++#endif ++/* We use char because int might match the return type of a gcc2 ++ builtin and then its argument prototype would still apply. */ ++char pthread_getspecific (); ++char (*f) (); ++ ++int ++main () ++{ ++/* The GNU C library defines this for functions which it implements ++ to always fail with ENOSYS. Some functions are actually named ++ something starting with __ and the normal name is an alias. */ ++#if defined (__stub_pthread_getspecific) || defined (__stub___pthread_getspecific) ++choke me ++#else ++f = pthread_getspecific; ++#endif ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext conftest$ac_exeext ++if { (eval echo "$as_me:5329: \"$ac_link\"") >&5 ++ (eval $ac_link) 2>&5 ++ ac_status=$? ++ echo "$as_me:5332: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest$ac_exeext' ++ { (eval echo "$as_me:5335: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:5338: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_cv_func_pthread_getspecific=yes ++else ++ echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++ac_cv_func_pthread_getspecific=no ++fi ++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext ++fi ++echo "$as_me:5348: result: $ac_cv_func_pthread_getspecific" >&5 ++echo "${ECHO_T}$ac_cv_func_pthread_getspecific" >&6 ++if test $ac_cv_func_pthread_getspecific = yes; then ++ : ++else ++ ++ LDFLAGS_TEMP="${LDFLAGS}" ++ LDFLAGS="${LDFLAGS_TEMP} -pthread" ++ unset ac_cv_func_pthread_getspecific ++ echo "$as_me:5357: checking for pthread_getspecific" >&5 ++echo $ECHO_N "checking for pthread_getspecific... $ECHO_C" >&6 ++if test "${ac_cv_func_pthread_getspecific+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line 5363 "configure" ++#include "confdefs.h" ++/* System header to define __stub macros and hopefully few prototypes, ++ which can conflict with char pthread_getspecific (); below. */ ++#include ++/* Override any gcc2 internal prototype to avoid an error. */ ++#ifdef __cplusplus ++extern "C" ++#endif ++/* We use char because int might match the return type of a gcc2 ++ builtin and then its argument prototype would still apply. */ ++char pthread_getspecific (); ++char (*f) (); ++ ++int ++main () ++{ ++/* The GNU C library defines this for functions which it implements ++ to always fail with ENOSYS. Some functions are actually named ++ something starting with __ and the normal name is an alias. */ ++#if defined (__stub_pthread_getspecific) || defined (__stub___pthread_getspecific) ++choke me ++#else ++f = pthread_getspecific; ++#endif ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext conftest$ac_exeext ++if { (eval echo "$as_me:5394: \"$ac_link\"") >&5 ++ (eval $ac_link) 2>&5 ++ ac_status=$? ++ echo "$as_me:5397: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest$ac_exeext' ++ { (eval echo "$as_me:5400: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:5403: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_cv_func_pthread_getspecific=yes ++else ++ echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++ac_cv_func_pthread_getspecific=no ++fi ++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext ++fi ++echo "$as_me:5413: result: $ac_cv_func_pthread_getspecific" >&5 ++echo "${ECHO_T}$ac_cv_func_pthread_getspecific" >&6 ++if test $ac_cv_func_pthread_getspecific = yes; then ++ : ++else ++ ++ LDFLAGS="${LDFLAGS_TEMP} -lpthread" ++ unset ac_cv_func_pthread_getspecific ++ echo "$as_me:5421: checking for pthread_getspecific" >&5 ++echo $ECHO_N "checking for pthread_getspecific... $ECHO_C" >&6 ++if test "${ac_cv_func_pthread_getspecific+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line 5427 "configure" ++#include "confdefs.h" ++/* System header to define __stub macros and hopefully few prototypes, ++ which can conflict with char pthread_getspecific (); below. */ ++#include ++/* Override any gcc2 internal prototype to avoid an error. */ ++#ifdef __cplusplus ++extern "C" ++#endif ++/* We use char because int might match the return type of a gcc2 ++ builtin and then its argument prototype would still apply. */ ++char pthread_getspecific (); ++char (*f) (); ++ ++int ++main () ++{ ++/* The GNU C library defines this for functions which it implements ++ to always fail with ENOSYS. Some functions are actually named ++ something starting with __ and the normal name is an alias. */ ++#if defined (__stub_pthread_getspecific) || defined (__stub___pthread_getspecific) ++choke me ++#else ++f = pthread_getspecific; ++#endif ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext conftest$ac_exeext ++if { (eval echo "$as_me:5458: \"$ac_link\"") >&5 ++ (eval $ac_link) 2>&5 ++ ac_status=$? ++ echo "$as_me:5461: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest$ac_exeext' ++ { (eval echo "$as_me:5464: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:5467: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_cv_func_pthread_getspecific=yes ++else ++ echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++ac_cv_func_pthread_getspecific=no ++fi ++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext ++fi ++echo "$as_me:5477: result: $ac_cv_func_pthread_getspecific" >&5 ++echo "${ECHO_T}$ac_cv_func_pthread_getspecific" >&6 ++if test $ac_cv_func_pthread_getspecific = yes; then ++ : ++else ++ ++ LDFLAGS="${LDFLAGS_TEMP}" ++ { { echo "$as_me:5484: error: No posix threads detected, cannot continue." >&5 ++echo "$as_me: error: No posix threads detected, cannot continue." >&2;} ++ { (exit 1); exit 1; }; } ++fi ++ ++fi ++ ++fi ++ ++ # Extract the first word of "gmake", so it can be a program name with args. ++set dummy gmake; ac_word=$2 ++echo "$as_me:5495: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_prog_GMAKE+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$GMAKE"; then ++ ac_cv_prog_GMAKE="$GMAKE" # Let the user override the test. ++else ++ ac_save_IFS=$IFS; IFS=$ac_path_separator ++ac_dummy="$PATH" ++for ac_dir in $ac_dummy; do ++ IFS=$ac_save_IFS ++ test -z "$ac_dir" && ac_dir=. ++ $as_executable_p "$ac_dir/$ac_word" || continue ++ac_cv_prog_GMAKE="gmake" ++echo "$as_me:5510: found $ac_dir/$ac_word" >&5 ++break ++done ++ ++fi ++fi ++GMAKE=$ac_cv_prog_GMAKE ++if test -n "$GMAKE"; then ++ echo "$as_me:5518: result: $GMAKE" >&5 ++echo "${ECHO_T}$GMAKE" >&6 ++else ++ echo "$as_me:5521: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++fi ++ ++ac_ext=c ++ac_cpp='$CPP $CPPFLAGS' ++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_c_compiler_gnu ++ ++cat >>confdefs.h <>confdefs.h <<\EOF ++#define __NetBSD__ 1 ++EOF ++ ++ ;; ++ *-*-netbsd*) ++ SYSPRE="i386-unknown-netbsd" ++ ;; ++ i[0-9]86-pc-linux*) ++ SYSPRE="i686-pc-linux" ++ ;; ++ sparc-*-linux*) ++ SYSPRE="sparc-linux" ++ ;; ++ *-sun-solaris*) ++ if test "x$enable_static" = xyes ++ then ++ { echo "$as_me:5564: WARNING: ++ ++Sorry, tripwire will not properly link staticaly under Solaris. ++This is due to tripwire's extensive use of gethostbyname(), ++which can only be linked dynamicaly. Please rerun configure ++without the --enable-static option. ++" >&5 ++echo "$as_me: WARNING: ++ ++Sorry, tripwire will not properly link staticaly under Solaris. ++This is due to tripwire's extensive use of gethostbyname(), ++which can only be linked dynamicaly. Please rerun configure ++without the --enable-static option. ++" >&2;} ++ ++cat >>confdefs.h <<\EOF ++#define SOLARIS_NO_GETHOSTBYNAME 1 ++EOF ++ ++ fi ++ SYSPRE=${target} ++ LIBS="-ldl $LIBS" ++ ++for ac_header in strings.h ++do ++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` ++echo "$as_me:5590: checking for $ac_header" >&5 ++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 ++if eval "test \"\${$as_ac_Header+set}\" = set"; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line 5596 "configure" ++#include "confdefs.h" ++#include <$ac_header> ++_ACEOF ++if { (eval echo "$as_me:5600: \"$ac_cpp conftest.$ac_ext\"") >&5 ++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ++ ac_status=$? ++ egrep -v '^ *\+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:5606: \$? = $ac_status" >&5 ++ (exit $ac_status); } >/dev/null; then ++ if test -s conftest.err; then ++ ac_cpp_err=$ac_c_preproc_warn_flag ++ else ++ ac_cpp_err= ++ fi ++else ++ ac_cpp_err=yes ++fi ++if test -z "$ac_cpp_err"; then ++ eval "$as_ac_Header=yes" ++else ++ echo "$as_me: failed program was:" >&5 ++ cat conftest.$ac_ext >&5 ++ eval "$as_ac_Header=no" ++fi ++rm -f conftest.err conftest.$ac_ext ++fi ++echo "$as_me:5625: result: `eval echo '${'$as_ac_Header'}'`" >&5 ++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 ++if test `eval echo '${'$as_ac_Header'}'` = yes; then ++ cat >>confdefs.h <&5 ++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 ++if eval "test \"\${$as_ac_Header+set}\" = set"; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line 5660 "configure" ++#include "confdefs.h" ++#include <$ac_header> ++_ACEOF ++if { (eval echo "$as_me:5664: \"$ac_cpp conftest.$ac_ext\"") >&5 ++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ++ ac_status=$? ++ egrep -v '^ *\+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:5670: \$? = $ac_status" >&5 ++ (exit $ac_status); } >/dev/null; then ++ if test -s conftest.err; then ++ ac_cpp_err=$ac_cxx_preproc_warn_flag ++ else ++ ac_cpp_err= ++ fi ++else ++ ac_cpp_err=yes ++fi ++if test -z "$ac_cpp_err"; then ++ eval "$as_ac_Header=yes" ++else ++ echo "$as_me: failed program was:" >&5 ++ cat conftest.$ac_ext >&5 ++ eval "$as_ac_Header=no" ++fi ++rm -f conftest.err conftest.$ac_ext ++fi ++echo "$as_me:5689: result: `eval echo '${'$as_ac_Header'}'`" >&5 ++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 ++if test `eval echo '${'$as_ac_Header'}'` = yes; then ++ cat >>confdefs.h <conftest.$ac_ext <<_ACEOF ++#line 5715 "configure" ++#include "confdefs.h" ++ ++int ++main () ++{ ++return 0 ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext conftest$ac_exeext ++if { (eval echo "$as_me:5727: \"$ac_link\"") >&5 ++ (eval $ac_link) 2>&5 ++ ac_status=$? ++ echo "$as_me:5730: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest$ac_exeext' ++ { (eval echo "$as_me:5733: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:5736: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ : ++else ++ echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++ { echo "$as_me:5742: WARNING: ++ ++Hmmm... doesn't look so good. I just tried linking a program ++and it failed. One reason could be missing static libraries ++if you are trying to compile a static binary. ++" >&5 ++echo "$as_me: WARNING: ++ ++Hmmm... doesn't look so good. I just tried linking a program ++and it failed. One reason could be missing static libraries ++if you are trying to compile a static binary. ++" >&2;} ++fi ++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext ++ ++# Check whether --enable-openssl or --disable-openssl was given. ++if test "${enable_openssl+set}" = set; then ++ enableval="$enable_openssl" ++ ++fi; ++ ++# Check whether --with-ssl-dir or --without-ssl-dir was given. ++if test "${with_ssl_dir+set}" = set; then ++ withval="$with_ssl_dir" ++ ++ if test "x$withval" != "xno" ; then ++ tryssldir=$withval ++ fi ++ ++fi; ++ ++CORE_CRYPT_O="md5.o sha.o" ++if test "x${enable_openssl}" != "xno" ++then ++ saved_LIBS="$LIBS" ++ saved_LDFLAGS="$LDFLAGS" ++ saved_CPPFLAGS="$CPPFLAGS" ++ if test "x$prefix" != "xNONE" ; then ++ tryssldir="$tryssldir $prefix" ++ fi ++ echo "$as_me:5782: checking for OpenSSL directory" >&5 ++echo $ECHO_N "checking for OpenSSL directory... $ECHO_C" >&6 ++if test "${ac_cv_openssldir+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ++ for ssldir in $tryssldir "" /usr/local/openssl /usr/lib/openssl /usr/local/ssl /usr/lib/ssl /usr/local /usr/pkg /opt /opt/openssl ; do ++ CPPFLAGS="$saved_CPPFLAGS" ++ LDFLAGS="$saved_LDFLAGS" ++ LIBS="$saved_LIBS -lcrypto" ++ ++ # Skip directories if they don't exist ++ if test ! -z "$ssldir" -a ! -d "$ssldir" ; then ++ continue; ++ fi ++ if test ! -z "$ssldir" -a "x$ssldir" != "x/usr"; then ++ # Try to use $ssldir/lib if it exists, otherwise ++ # $ssldir ++ if test -d "$ssldir/lib" ; then ++ LDFLAGS="-L$ssldir/lib $saved_LDFLAGS" ++ if test ! -z "$need_dash_r" ; then ++ LDFLAGS="-R$ssldir/lib $LDFLAGS" ++ fi ++ else ++ LDFLAGS="-L$ssldir $saved_LDFLAGS" ++ if test ! -z "$need_dash_r" ; then ++ LDFLAGS="-R$ssldir $LDFLAGS" ++ fi ++ fi ++ # Try to use $ssldir/include if it exists, otherwise ++ # $ssldir ++ if test -d "$ssldir/include" ; then ++ CPPFLAGS="-I$ssldir/include $saved_CPPFLAGS" ++ else ++ CPPFLAGS="-I$ssldir $saved_CPPFLAGS" ++ fi ++ fi ++ ++ # Basic test to check for compatible library and ++ # correct linking ++ if test "$cross_compiling" = yes; then ++ { { echo "$as_me:5823: error: cannot run test program while cross compiling" >&5 ++echo "$as_me: error: cannot run test program while cross compiling" >&2;} ++ { (exit 1); exit 1; }; } ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line 5828 "configure" ++#include "confdefs.h" ++ ++#include ++#include ++int main(void) ++{ ++ char a[2048]; ++ memset(a, 0, sizeof(a)); ++ RAND_add(a, sizeof(a), sizeof(a)); ++ return(RAND_status() <= 0); ++} ++ ++_ACEOF ++rm -f conftest$ac_exeext ++if { (eval echo "$as_me:5843: \"$ac_link\"") >&5 ++ (eval $ac_link) 2>&5 ++ ac_status=$? ++ echo "$as_me:5846: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ++ { (eval echo "$as_me:5848: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:5851: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ++ found_crypto=1 ++ break; ++ ++else ++ echo "$as_me: program exited with status $ac_status" >&5 ++echo "$as_me: failed program was:" >&5 ++cat conftest.$ac_ext >&5 ++ ++fi ++rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext ++fi ++ ++ if test ! -z "$found_crypto" ; then ++ break; ++ fi ++ done ++ ++ if test -z "$ssldir" ; then ++ ssldir="(system)" ++ fi ++ ++ if test -z "$found_crypto" ; then ++ ac_cv_openssldir="not found" ++ else ++ ac_cv_openssldir=$ssldir ++ fi ++ ++fi ++echo "$as_me:5882: result: $ac_cv_openssldir" >&5 ++echo "${ECHO_T}$ac_cv_openssldir" >&6 ++ ++LIBS="$saved_LIBS" ++ ++if (test ! -z "$ac_cv_openssldir" && test "x$ac_cv_openssldir" != "xnot found") ; then ++ ssldir=$ac_cv_openssldir ++ if test "x$ssldir" != "x/usr" -a "x$ssldir" != "x(system)"; then ++ # Try to use $ssldir/lib if it exists, otherwise ++ # $ssldir ++ if test -d "$ssldir/lib" ; then ++ LDFLAGS="-L$ssldir/lib $saved_LDFLAGS" ++ if test ! -z "$need_dash_r" ; then ++ LDFLAGS="-R$ssldir/lib $LDFLAGS" ++ fi ++ else ++ LDFLAGS="-L$ssldir $saved_LDFLAGS" ++ if test ! -z "$need_dash_r" ; then ++ LDFLAGS="-R$ssldir $LDFLAGS" ++ fi ++ fi ++ # Try to use $ssldir/include if it exists, otherwise ++ # $ssldir ++ if test -d "$ssldir/include" ; then ++ CPPFLAGS="-I$ssldir/include $saved_CPPFLAGS" ++ else ++ CPPFLAGS="-I$ssldir $saved_CPPFLAGS" ++ fi ++ fi ++ LIBS="$saved_LIBS -lcrypto" ++ ++for ac_header in openssl/md5.h openssl/sha.h ++do ++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` ++echo "$as_me:5916: checking for $ac_header" >&5 ++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 ++if eval "test \"\${$as_ac_Header+set}\" = set"; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line 5922 "configure" ++#include "confdefs.h" ++#include <$ac_header> ++_ACEOF ++if { (eval echo "$as_me:5926: \"$ac_cpp conftest.$ac_ext\"") >&5 ++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ++ ac_status=$? ++ egrep -v '^ *\+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:5932: \$? = $ac_status" >&5 ++ (exit $ac_status); } >/dev/null; then ++ if test -s conftest.err; then ++ ac_cpp_err=$ac_c_preproc_warn_flag ++ else ++ ac_cpp_err= ++ fi ++else ++ ac_cpp_err=yes ++fi ++if test -z "$ac_cpp_err"; then ++ eval "$as_ac_Header=yes" ++else ++ echo "$as_me: failed program was:" >&5 ++ cat conftest.$ac_ext >&5 ++ eval "$as_ac_Header=no" ++fi ++rm -f conftest.err conftest.$ac_ext ++fi ++echo "$as_me:5951: result: `eval echo '${'$as_ac_Header'}'`" >&5 ++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 ++if test `eval echo '${'$as_ac_Header'}'` = yes; then ++ cat >>confdefs.h <confcache <<\_ACEOF ++# This file is a shell script that caches the results of configure ++# tests run on this system so they can be shared between configure ++# scripts and configure runs, see configure's option --config-cache. ++# It is not useful on other systems. If it contains results you don't ++# want to keep, you may remove or edit it. ++# ++# config.status only pays attention to the cache file if you give it ++# the --recheck option to rerun configure. ++# ++# `ac_cv_env_foo' variables (set or unset) will be overriden when ++# loading this file, other *unset* `ac_cv_foo' will be assigned the ++# following values. ++ ++_ACEOF ++ ++# The following way of writing the cache mishandles newlines in values, ++# but we know of no workaround that is simple, portable, and efficient. ++# So, don't put newlines in cache variables' values. ++# Ultrix sh set writes to stderr and can't be redirected directly, ++# and sets the high bit in the cache file unless we assign to the vars. ++{ ++ (set) 2>&1 | ++ case `(ac_space=' '; set | grep ac_space) 2>&1` in ++ *ac_space=\ *) ++ # `set' does not quote correctly, so add quotes (double-quote ++ # substitution turns \\\\ into \\, and sed turns \\ into \). ++ sed -n \ ++ "s/'/'\\\\''/g; ++ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ++ ;; ++ *) ++ # `set' quotes correctly as required by POSIX, so do not add quotes. ++ sed -n \ ++ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" ++ ;; ++ esac; ++} | ++ sed ' ++ t clear ++ : clear ++ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ ++ t end ++ /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ ++ : end' >>confcache ++if cmp -s $cache_file confcache; then :; else ++ if test -w $cache_file; then ++ test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" ++ cat confcache >$cache_file ++ else ++ echo "not updating unwritable cache $cache_file" ++ fi ++fi ++rm -f confcache ++ ++test "x$prefix" = xNONE && prefix=$ac_default_prefix ++# Let make expand exec_prefix. ++test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' ++ ++# VPATH may cause trouble with some makes, so we remove $(srcdir), ++# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and ++# trailing colons and then remove the whole line if VPATH becomes empty ++# (actually we leave an empty line to preserve line numbers). ++if test "x$srcdir" = x.; then ++ ac_vpsub='/^[ ]*VPATH[ ]*=/{ ++s/:*\$(srcdir):*/:/; ++s/:*\${srcdir}:*/:/; ++s/:*@srcdir@:*/:/; ++s/^\([^=]*=[ ]*\):*/\1/; ++s/:*$//; ++s/^[^=]*=[ ]*$//; ++}' ++fi ++ ++DEFS=-DHAVE_CONFIG_H ++ ++: ${CONFIG_STATUS=./config.status} ++ac_clean_files_save=$ac_clean_files ++ac_clean_files="$ac_clean_files $CONFIG_STATUS" ++{ echo "$as_me:6046: creating $CONFIG_STATUS" >&5 ++echo "$as_me: creating $CONFIG_STATUS" >&6;} ++cat >$CONFIG_STATUS <<_ACEOF ++#! $SHELL ++# Generated automatically by configure. ++# Run this file to recreate the current configuration. ++# Compiler output produced by configure, useful for debugging ++# configure, is in config.log if it exists. ++ ++debug=false ++SHELL=\${CONFIG_SHELL-$SHELL} ++ac_cs_invocation="\$0 \$@" ++ ++_ACEOF ++ ++cat >>$CONFIG_STATUS <<\_ACEOF ++# Be Bourne compatible ++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then ++ emulate sh ++ NULLCMD=: ++elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then ++ set -o posix ++fi ++ ++# Name of the executable. ++as_me=`echo "$0" |sed 's,.*[\\/],,'` ++ ++if expr a : '\(a\)' >/dev/null 2>&1; then ++ as_expr=expr ++else ++ as_expr=false ++fi ++ ++rm -f conf$$ conf$$.exe conf$$.file ++echo >conf$$.file ++if ln -s conf$$.file conf$$ 2>/dev/null; then ++ # We could just check for DJGPP; but this test a) works b) is more generic ++ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). ++ if test -f conf$$.exe; then ++ # Don't use ln at all; we don't have any links ++ as_ln_s='cp -p' ++ else ++ as_ln_s='ln -s' ++ fi ++elif ln conf$$.file conf$$ 2>/dev/null; then ++ as_ln_s=ln ++else ++ as_ln_s='cp -p' ++fi ++rm -f conf$$ conf$$.exe conf$$.file ++ ++as_executable_p="test -f" ++ ++# Support unset when possible. ++if (FOO=FOO; unset FOO) >/dev/null 2>&1; then ++ as_unset=unset ++else ++ as_unset=false ++fi ++ ++# NLS nuisances. ++$as_unset LANG || test "${LANG+set}" != set || { LANG=C; export LANG; } ++$as_unset LC_ALL || test "${LC_ALL+set}" != set || { LC_ALL=C; export LC_ALL; } ++$as_unset LC_TIME || test "${LC_TIME+set}" != set || { LC_TIME=C; export LC_TIME; } ++$as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set || { LC_CTYPE=C; export LC_CTYPE; } ++$as_unset LANGUAGE || test "${LANGUAGE+set}" != set || { LANGUAGE=C; export LANGUAGE; } ++$as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set || { LC_COLLATE=C; export LC_COLLATE; } ++$as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set || { LC_NUMERIC=C; export LC_NUMERIC; } ++$as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set || { LC_MESSAGES=C; export LC_MESSAGES; } ++ ++# IFS ++# We need space, tab and new line, in precisely that order. ++as_nl=' ++' ++IFS=" $as_nl" ++ ++# CDPATH. ++$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; } ++ ++exec 6>&1 ++ ++_ACEOF ++ ++# Files that config.status was made for. ++if test -n "$ac_config_files"; then ++ echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS ++fi ++ ++if test -n "$ac_config_headers"; then ++ echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS ++fi ++ ++if test -n "$ac_config_links"; then ++ echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS ++fi ++ ++if test -n "$ac_config_commands"; then ++ echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS ++fi ++ ++cat >>$CONFIG_STATUS <<\EOF ++ ++ac_cs_usage="\ ++\`$as_me' instantiates files from templates according to the ++current configuration. ++ ++Usage: $0 [OPTIONS] [FILE]... ++ ++ -h, --help print this help, then exit ++ -V, --version print version number, then exit ++ -d, --debug don't remove temporary files ++ --recheck update $as_me by reconfiguring in the same conditions ++ --file=FILE[:TEMPLATE] ++ instantiate the configuration file FILE ++ --header=FILE[:TEMPLATE] ++ instantiate the configuration header FILE ++ ++Configuration files: ++$config_files ++ ++Configuration headers: ++$config_headers ++ ++Configuration commands: ++$config_commands ++ ++Report bugs to ." ++EOF ++ ++cat >>$CONFIG_STATUS <>$CONFIG_STATUS <<\EOF ++# If no file are specified by the user, then we need to provide default ++# value. By we need to know if files were specified by the user. ++ac_need_defaults=: ++while test $# != 0 ++do ++ case $1 in ++ --*=*) ++ ac_option=`expr "x$1" : 'x\([^=]*\)='` ++ ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` ++ shift ++ set dummy "$ac_option" "$ac_optarg" ${1+"$@"} ++ shift ++ ;; ++ -*);; ++ *) # This is not an option, so the user has probably given explicit ++ # arguments. ++ ac_need_defaults=false;; ++ esac ++ ++ case $1 in ++ # Handling of the options. ++EOF ++cat >>$CONFIG_STATUS <>$CONFIG_STATUS <<\EOF ++ --version | --vers* | -V ) ++ echo "$ac_cs_version"; exit 0 ;; ++ --he | --h) ++ # Conflict between --help and --header ++ { { echo "$as_me:6222: error: ambiguous option: $1 ++Try \`$0 --help' for more information." >&5 ++echo "$as_me: error: ambiguous option: $1 ++Try \`$0 --help' for more information." >&2;} ++ { (exit 1); exit 1; }; };; ++ --help | --hel | -h ) ++ echo "$ac_cs_usage"; exit 0 ;; ++ --debug | --d* | -d ) ++ debug=: ;; ++ --file | --fil | --fi | --f ) ++ shift ++ CONFIG_FILES="$CONFIG_FILES $1" ++ ac_need_defaults=false;; ++ --header | --heade | --head | --hea ) ++ shift ++ CONFIG_HEADERS="$CONFIG_HEADERS $1" ++ ac_need_defaults=false;; ++ ++ # This is an error. ++ -*) { { echo "$as_me:6241: error: unrecognized option: $1 ++Try \`$0 --help' for more information." >&5 ++echo "$as_me: error: unrecognized option: $1 ++Try \`$0 --help' for more information." >&2;} ++ { (exit 1); exit 1; }; } ;; ++ ++ *) ac_config_targets="$ac_config_targets $1" ;; ++ ++ esac ++ shift ++done ++ ++exec 5>>config.log ++cat >&5 << _ACEOF ++ ++## ----------------------- ## ++## Running config.status. ## ++## ----------------------- ## ++ ++This file was extended by $as_me 2.52, executed with ++ CONFIG_FILES = $CONFIG_FILES ++ CONFIG_HEADERS = $CONFIG_HEADERS ++ CONFIG_LINKS = $CONFIG_LINKS ++ CONFIG_COMMANDS = $CONFIG_COMMANDS ++ > $ac_cs_invocation ++on `(hostname || uname -n) 2>/dev/null | sed 1q` ++ ++_ACEOF ++EOF ++ ++cat >>$CONFIG_STATUS <>$CONFIG_STATUS <<\EOF ++for ac_config_target in $ac_config_targets ++do ++ case "$ac_config_target" in ++ # Handling of arguments. ++ "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; ++ "man/Makefile" ) CONFIG_FILES="$CONFIG_FILES man/Makefile" ;; ++ "man/man4/Makefile" ) CONFIG_FILES="$CONFIG_FILES man/man4/Makefile" ;; ++ "man/man5/Makefile" ) CONFIG_FILES="$CONFIG_FILES man/man5/Makefile" ;; ++ "man/man8/Makefile" ) CONFIG_FILES="$CONFIG_FILES man/man8/Makefile" ;; ++ "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; ++ "src/STLport-4.0/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/STLport-4.0/Makefile" ;; ++ "src/cryptlib/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/cryptlib/Makefile" ;; ++ "src/core/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/core/Makefile" ;; ++ "src/db/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/db/Makefile" ;; ++ "src/fco/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/fco/Makefile" ;; ++ "src/fs/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/fs/Makefile" ;; ++ "src/tw/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/tw/Makefile" ;; ++ "src/twcrypto/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/twcrypto/Makefile" ;; ++ "src/twparser/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/twparser/Makefile" ;; ++ "src/util/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/util/Makefile" ;; ++ "src/twprint/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/twprint/Makefile" ;; ++ "src/twadmin/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/twadmin/Makefile" ;; ++ "src/siggen/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/siggen/Makefile" ;; ++ "src/tripwire/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/tripwire/Makefile" ;; ++ "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; ++ "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; ++ *) { { echo "$as_me:6308: error: invalid argument: $ac_config_target" >&5 ++echo "$as_me: error: invalid argument: $ac_config_target" >&2;} ++ { (exit 1); exit 1; }; };; ++ esac ++done ++ ++# If the user did not use the arguments to specify the items to instantiate, ++# then the envvar interface is used. Set only those that are not. ++# We use the long form for the default assignment because of an extremely ++# bizarre bug on SunOS 4.1.3. ++if $ac_need_defaults; then ++ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files ++ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers ++ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands ++fi ++ ++# Create a temporary directory, and hook for its removal unless debugging. ++$debug || ++{ ++ trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 ++ trap '{ (exit 1); exit 1; }' 1 2 13 15 ++} ++ ++# Create a (secure) tmp directory for tmp files. ++: ${TMPDIR=/tmp} ++{ ++ tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` && ++ test -n "$tmp" && test -d "$tmp" ++} || ++{ ++ tmp=$TMPDIR/cs$$-$RANDOM ++ (umask 077 && mkdir $tmp) ++} || ++{ ++ echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ++ { (exit 1); exit 1; } ++} ++ ++EOF ++ ++cat >>$CONFIG_STATUS <\$tmp/subs.sed <<\\CEOF ++s,@SHELL@,$SHELL,;t t ++s,@exec_prefix@,$exec_prefix,;t t ++s,@prefix@,$prefix,;t t ++s,@program_transform_name@,$program_transform_name,;t t ++s,@bindir@,$bindir,;t t ++s,@sbindir@,$sbindir,;t t ++s,@libexecdir@,$libexecdir,;t t ++s,@datadir@,$datadir,;t t ++s,@sysconfdir@,$sysconfdir,;t t ++s,@sharedstatedir@,$sharedstatedir,;t t ++s,@localstatedir@,$localstatedir,;t t ++s,@libdir@,$libdir,;t t ++s,@includedir@,$includedir,;t t ++s,@oldincludedir@,$oldincludedir,;t t ++s,@infodir@,$infodir,;t t ++s,@mandir@,$mandir,;t t ++s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t ++s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t ++s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t ++s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t ++s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t ++s,@build_alias@,$build_alias,;t t ++s,@host_alias@,$host_alias,;t t ++s,@target_alias@,$target_alias,;t t ++s,@ECHO_C@,$ECHO_C,;t t ++s,@ECHO_N@,$ECHO_N,;t t ++s,@ECHO_T@,$ECHO_T,;t t ++s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t ++s,@DEFS@,$DEFS,;t t ++s,@LIBS@,$LIBS,;t t ++s,@build@,$build,;t t ++s,@build_cpu@,$build_cpu,;t t ++s,@build_vendor@,$build_vendor,;t t ++s,@build_os@,$build_os,;t t ++s,@host@,$host,;t t ++s,@host_cpu@,$host_cpu,;t t ++s,@host_vendor@,$host_vendor,;t t ++s,@host_os@,$host_os,;t t ++s,@target@,$target,;t t ++s,@target_cpu@,$target_cpu,;t t ++s,@target_vendor@,$target_vendor,;t t ++s,@target_os@,$target_os,;t t ++s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t ++s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t ++s,@INSTALL_DATA@,$INSTALL_DATA,;t t ++s,@PACKAGE@,$PACKAGE,;t t ++s,@VERSION@,$VERSION,;t t ++s,@EXEEXT@,$EXEEXT,;t t ++s,@OBJEXT@,$OBJEXT,;t t ++s,@ACLOCAL@,$ACLOCAL,;t t ++s,@AUTOCONF@,$AUTOCONF,;t t ++s,@AUTOMAKE@,$AUTOMAKE,;t t ++s,@AUTOHEADER@,$AUTOHEADER,;t t ++s,@MAKEINFO@,$MAKEINFO,;t t ++s,@AMTAR@,$AMTAR,;t t ++s,@install_sh@,$install_sh,;t t ++s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t ++s,@AWK@,$AWK,;t t ++s,@SET_MAKE@,$SET_MAKE,;t t ++s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t ++s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t ++s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t ++s,@DEPDIR@,$DEPDIR,;t t ++s,@CC@,$CC,;t t ++s,@CFLAGS@,$CFLAGS,;t t ++s,@LDFLAGS@,$LDFLAGS,;t t ++s,@CPPFLAGS@,$CPPFLAGS,;t t ++s,@ac_ct_CC@,$ac_ct_CC,;t t ++s,@am__include@,$am__include,;t t ++s,@am__quote@,$am__quote,;t t ++s,@CCDEPMODE@,$CCDEPMODE,;t t ++s,@CXX@,$CXX,;t t ++s,@CXXFLAGS@,$CXXFLAGS,;t t ++s,@ac_ct_CXX@,$ac_ct_CXX,;t t ++s,@CXXDEPMODE@,$CXXDEPMODE,;t t ++s,@RANLIB@,$RANLIB,;t t ++s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t ++s,@YACC@,$YACC,;t t ++s,@path_to_vi@,$path_to_vi,;t t ++s,@path_to_sendmail@,$path_to_sendmail,;t t ++s,@CPP@,$CPP,;t t ++s,@CXXCPP@,$CXXCPP,;t t ++s,@GMAKE@,$GMAKE,;t t ++s,@OSHASIOSTREAM_TRUE@,$OSHASIOSTREAM_TRUE,;t t ++s,@OSHASIOSTREAM_FALSE@,$OSHASIOSTREAM_FALSE,;t t ++s,@STLPORT_MAKEFILE@,$STLPORT_MAKEFILE,;t t ++s,@STLPORT_LIBRARY@,$STLPORT_LIBRARY,;t t ++s,@STLPORT_LD@,$STLPORT_LD,;t t ++s,@STLPORT_INCLUDE@,$STLPORT_INCLUDE,;t t ++s,@STLPORT_SUBDIR@,$STLPORT_SUBDIR,;t t ++s,@CORE_CRYPT_O@,$CORE_CRYPT_O,;t t ++s,@SYSPRE@,$SYSPRE,;t t ++CEOF ++ ++EOF ++ ++ cat >>$CONFIG_STATUS <<\EOF ++ # Split the substitutions into bite-sized pieces for seds with ++ # small command number limits, like on Digital OSF/1 and HP-UX. ++ ac_max_sed_lines=48 ++ ac_sed_frag=1 # Number of current file. ++ ac_beg=1 # First line for current file. ++ ac_end=$ac_max_sed_lines # Line after last line for current file. ++ ac_more_lines=: ++ ac_sed_cmds= ++ while $ac_more_lines; do ++ if test $ac_beg -gt 1; then ++ sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag ++ else ++ sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag ++ fi ++ if test ! -s $tmp/subs.frag; then ++ ac_more_lines=false ++ else ++ # The purpose of the label and of the branching condition is to ++ # speed up the sed processing (if there are no `@' at all, there ++ # is no need to browse any of the substitutions). ++ # These are the two extra sed commands mentioned above. ++ (echo ':t ++ /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed ++ if test -z "$ac_sed_cmds"; then ++ ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" ++ else ++ ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" ++ fi ++ ac_sed_frag=`expr $ac_sed_frag + 1` ++ ac_beg=$ac_end ++ ac_end=`expr $ac_end + $ac_max_sed_lines` ++ fi ++ done ++ if test -z "$ac_sed_cmds"; then ++ ac_sed_cmds=cat ++ fi ++fi # test -n "$CONFIG_FILES" ++ ++EOF ++cat >>$CONFIG_STATUS <<\EOF ++for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue ++ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". ++ case $ac_file in ++ - | *:- | *:-:* ) # input from stdin ++ cat >$tmp/stdin ++ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ++ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; ++ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ++ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; ++ * ) ac_file_in=$ac_file.in ;; ++ esac ++ ++ # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. ++ ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$ac_file" : 'X\(//\)[^/]' \| \ ++ X"$ac_file" : 'X\(//\)$' \| \ ++ X"$ac_file" : 'X\(/\)' \| \ ++ . : '\(.\)' 2>/dev/null || ++echo X"$ac_file" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } ++ /^X\(\/\/\)[^/].*/{ s//\1/; q; } ++ /^X\(\/\/\)$/{ s//\1/; q; } ++ /^X\(\/\).*/{ s//\1/; q; } ++ s/.*/./; q'` ++ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then ++ { case "$ac_dir" in ++ [\\/]* | ?:[\\/]* ) as_incr_dir=;; ++ *) as_incr_dir=.;; ++esac ++as_dummy="$ac_dir" ++for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do ++ case $as_mkdir_dir in ++ # Skip DOS drivespec ++ ?:) as_incr_dir=$as_mkdir_dir ;; ++ *) ++ as_incr_dir=$as_incr_dir/$as_mkdir_dir ++ test -d "$as_incr_dir" || mkdir "$as_incr_dir" ++ ;; ++ esac ++done; } ++ ++ ac_dir_suffix="/`echo $ac_dir|sed 's,^\./,,'`" ++ # A "../" for each directory in $ac_dir_suffix. ++ ac_dots=`echo "$ac_dir_suffix" | sed 's,/[^/]*,../,g'` ++ else ++ ac_dir_suffix= ac_dots= ++ fi ++ ++ case $srcdir in ++ .) ac_srcdir=. ++ if test -z "$ac_dots"; then ++ ac_top_srcdir=. ++ else ++ ac_top_srcdir=`echo $ac_dots | sed 's,/$,,'` ++ fi ;; ++ [\\/]* | ?:[\\/]* ) ++ ac_srcdir=$srcdir$ac_dir_suffix; ++ ac_top_srcdir=$srcdir ;; ++ *) # Relative path. ++ ac_srcdir=$ac_dots$srcdir$ac_dir_suffix ++ ac_top_srcdir=$ac_dots$srcdir ;; ++ esac ++ ++ case $INSTALL in ++ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; ++ *) ac_INSTALL=$ac_dots$INSTALL ;; ++ esac ++ ++ if test x"$ac_file" != x-; then ++ { echo "$as_me:6566: creating $ac_file" >&5 ++echo "$as_me: creating $ac_file" >&6;} ++ rm -f "$ac_file" ++ fi ++ # Let's still pretend it is `configure' which instantiates (i.e., don't ++ # use $as_me), people would be surprised to read: ++ # /* config.h. Generated automatically by config.status. */ ++ configure_input="Generated automatically from `echo $ac_file_in | ++ sed 's,.*/,,'` by configure." ++ ++ # First look for the input files in the build tree, otherwise in the ++ # src tree. ++ ac_file_inputs=`IFS=: ++ for f in $ac_file_in; do ++ case $f in ++ -) echo $tmp/stdin ;; ++ [\\/$]*) ++ # Absolute (can't be DOS-style, as IFS=:) ++ test -f "$f" || { { echo "$as_me:6584: error: cannot find input file: $f" >&5 ++echo "$as_me: error: cannot find input file: $f" >&2;} ++ { (exit 1); exit 1; }; } ++ echo $f;; ++ *) # Relative ++ if test -f "$f"; then ++ # Build tree ++ echo $f ++ elif test -f "$srcdir/$f"; then ++ # Source tree ++ echo $srcdir/$f ++ else ++ # /dev/null tree ++ { { echo "$as_me:6597: error: cannot find input file: $f" >&5 ++echo "$as_me: error: cannot find input file: $f" >&2;} ++ { (exit 1); exit 1; }; } ++ fi;; ++ esac ++ done` || { (exit 1); exit 1; } ++EOF ++cat >>$CONFIG_STATUS <>$CONFIG_STATUS <<\EOF ++:t ++/@[a-zA-Z_][a-zA-Z_0-9]*@/!b ++s,@configure_input@,$configure_input,;t t ++s,@srcdir@,$ac_srcdir,;t t ++s,@top_srcdir@,$ac_top_srcdir,;t t ++s,@INSTALL@,$ac_INSTALL,;t t ++" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out ++ rm -f $tmp/stdin ++ if test x"$ac_file" != x-; then ++ mv $tmp/out $ac_file ++ else ++ cat $tmp/out ++ rm -f $tmp/out ++ fi ++ ++done ++EOF ++cat >>$CONFIG_STATUS <<\EOF ++ ++# ++# CONFIG_HEADER section. ++# ++ ++# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where ++# NAME is the cpp macro being defined and VALUE is the value it is being given. ++# ++# ac_d sets the value in "#define NAME VALUE" lines. ++ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' ++ac_dB='[ ].*$,\1#\2' ++ac_dC=' ' ++ac_dD=',;t' ++# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". ++ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' ++ac_uB='$,\1#\2define\3' ++ac_uC=' ' ++ac_uD=',;t' ++ ++for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue ++ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". ++ case $ac_file in ++ - | *:- | *:-:* ) # input from stdin ++ cat >$tmp/stdin ++ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ++ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; ++ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ++ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; ++ * ) ac_file_in=$ac_file.in ;; ++ esac ++ ++ test x"$ac_file" != x- && { echo "$as_me:6658: creating $ac_file" >&5 ++echo "$as_me: creating $ac_file" >&6;} ++ ++ # First look for the input files in the build tree, otherwise in the ++ # src tree. ++ ac_file_inputs=`IFS=: ++ for f in $ac_file_in; do ++ case $f in ++ -) echo $tmp/stdin ;; ++ [\\/$]*) ++ # Absolute (can't be DOS-style, as IFS=:) ++ test -f "$f" || { { echo "$as_me:6669: error: cannot find input file: $f" >&5 ++echo "$as_me: error: cannot find input file: $f" >&2;} ++ { (exit 1); exit 1; }; } ++ echo $f;; ++ *) # Relative ++ if test -f "$f"; then ++ # Build tree ++ echo $f ++ elif test -f "$srcdir/$f"; then ++ # Source tree ++ echo $srcdir/$f ++ else ++ # /dev/null tree ++ { { echo "$as_me:6682: error: cannot find input file: $f" >&5 ++echo "$as_me: error: cannot find input file: $f" >&2;} ++ { (exit 1); exit 1; }; } ++ fi;; ++ esac ++ done` || { (exit 1); exit 1; } ++ # Remove the trailing spaces. ++ sed 's/[ ]*$//' $ac_file_inputs >$tmp/in ++ ++EOF ++ ++# Transform confdefs.h into two sed scripts, `conftest.defines' and ++# `conftest.undefs', that substitutes the proper values into ++# config.h.in to produce config.h. The first handles `#define' ++# templates, and the second `#undef' templates. ++# And first: Protect against being on the right side of a sed subst in ++# config.status. Protect against being in an unquoted here document ++# in config.status. ++rm -f conftest.defines conftest.undefs ++# Using a here document instead of a string reduces the quoting nightmare. ++# Putting comments in sed scripts is not portable. ++# ++# `end' is used to avoid that the second main sed command (meant for ++# 0-ary CPP macros) applies to n-ary macro definitions. ++# See the Autoconf documentation for `clear'. ++cat >confdef2sed.sed <<\EOF ++s/[\\&,]/\\&/g ++s,[\\$`],\\&,g ++t clear ++: clear ++s,^[ ]*#[ ]*define[ ][ ]*\(\([^ (][^ (]*\)([^)]*)\)[ ]*\(.*\)$,${ac_dA}\2${ac_dB}\1${ac_dC}\3${ac_dD},gp ++t end ++s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp ++: end ++EOF ++# If some macros were called several times there might be several times ++# the same #defines, which is useless. Nevertheless, we may not want to ++# sort them, since we want the *last* AC-DEFINE to be honored. ++uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines ++sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs ++rm -f confdef2sed.sed ++ ++# This sed command replaces #undef with comments. This is necessary, for ++# example, in the case of _POSIX_SOURCE, which is predefined and required ++# on some systems where configure will not decide to define it. ++cat >>conftest.undefs <<\EOF ++s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, ++EOF ++ ++# Break up conftest.defines because some shells have a limit on the size ++# of here documents, and old seds have small limits too (100 cmds). ++echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS ++echo ' if egrep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS ++echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS ++echo ' :' >>$CONFIG_STATUS ++rm -f conftest.tail ++while grep . conftest.defines >/dev/null ++do ++ # Write a limited-size here document to $tmp/defines.sed. ++ echo ' cat >$tmp/defines.sed <>$CONFIG_STATUS ++ # Speed up: don't consider the non `#define' lines. ++ echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS ++ # Work around the forget-to-reset-the-flag bug. ++ echo 't clr' >>$CONFIG_STATUS ++ echo ': clr' >>$CONFIG_STATUS ++ sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS ++ echo 'CEOF ++ sed -f $tmp/defines.sed $tmp/in >$tmp/out ++ rm -f $tmp/in ++ mv $tmp/out $tmp/in ++' >>$CONFIG_STATUS ++ sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail ++ rm -f conftest.defines ++ mv conftest.tail conftest.defines ++done ++rm -f conftest.defines ++echo ' fi # egrep' >>$CONFIG_STATUS ++echo >>$CONFIG_STATUS ++ ++# Break up conftest.undefs because some shells have a limit on the size ++# of here documents, and old seds have small limits too (100 cmds). ++echo ' # Handle all the #undef templates' >>$CONFIG_STATUS ++rm -f conftest.tail ++while grep . conftest.undefs >/dev/null ++do ++ # Write a limited-size here document to $tmp/undefs.sed. ++ echo ' cat >$tmp/undefs.sed <>$CONFIG_STATUS ++ # Speed up: don't consider the non `#undef' ++ echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS ++ # Work around the forget-to-reset-the-flag bug. ++ echo 't clr' >>$CONFIG_STATUS ++ echo ': clr' >>$CONFIG_STATUS ++ sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS ++ echo 'CEOF ++ sed -f $tmp/undefs.sed $tmp/in >$tmp/out ++ rm -f $tmp/in ++ mv $tmp/out $tmp/in ++' >>$CONFIG_STATUS ++ sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail ++ rm -f conftest.undefs ++ mv conftest.tail conftest.undefs ++done ++rm -f conftest.undefs ++ ++cat >>$CONFIG_STATUS <<\EOF ++ # Let's still pretend it is `configure' which instantiates (i.e., don't ++ # use $as_me), people would be surprised to read: ++ # /* config.h. Generated automatically by config.status. */ ++ if test x"$ac_file" = x-; then ++ echo "/* Generated automatically by configure. */" >$tmp/config.h ++ else ++ echo "/* $ac_file. Generated automatically by configure. */" >$tmp/config.h ++ fi ++ cat $tmp/in >>$tmp/config.h ++ rm -f $tmp/in ++ if test x"$ac_file" != x-; then ++ if cmp -s $ac_file $tmp/config.h 2>/dev/null; then ++ { echo "$as_me:6799: $ac_file is unchanged" >&5 ++echo "$as_me: $ac_file is unchanged" >&6;} ++ else ++ ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$ac_file" : 'X\(//\)[^/]' \| \ ++ X"$ac_file" : 'X\(//\)$' \| \ ++ X"$ac_file" : 'X\(/\)' \| \ ++ . : '\(.\)' 2>/dev/null || ++echo X"$ac_file" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } ++ /^X\(\/\/\)[^/].*/{ s//\1/; q; } ++ /^X\(\/\/\)$/{ s//\1/; q; } ++ /^X\(\/\).*/{ s//\1/; q; } ++ s/.*/./; q'` ++ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then ++ { case "$ac_dir" in ++ [\\/]* | ?:[\\/]* ) as_incr_dir=;; ++ *) as_incr_dir=.;; ++esac ++as_dummy="$ac_dir" ++for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do ++ case $as_mkdir_dir in ++ # Skip DOS drivespec ++ ?:) as_incr_dir=$as_mkdir_dir ;; ++ *) ++ as_incr_dir=$as_incr_dir/$as_mkdir_dir ++ test -d "$as_incr_dir" || mkdir "$as_incr_dir" ++ ;; ++ esac ++done; } ++ ++ fi ++ rm -f $ac_file ++ mv $tmp/config.h $ac_file ++ fi ++ else ++ cat $tmp/config.h ++ rm -f $tmp/config.h ++ fi ++ # Run the commands associated with the file. ++ case $ac_file in ++ config.h ) # update the timestamp ++echo timestamp >"./stamp-h1" ++ ;; ++ esac ++done ++EOF ++cat >>$CONFIG_STATUS <<\EOF ++ ++# ++# CONFIG_COMMANDS section. ++# ++for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue ++ ac_dest=`echo "$ac_file" | sed 's,:.*,,'` ++ ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'` ++ ++ case $ac_dest in ++ default-1 ) ++test x"$AMDEP_TRUE" != x"" || ++for mf in $CONFIG_FILES; do ++ case "$mf" in ++ Makefile) dirpart=.;; ++ */Makefile) dirpart=`echo "$mf" | sed -e 's|/[^/]*$||'`;; ++ *) continue;; ++ esac ++ grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue ++ # Extract the definition of DEP_FILES from the Makefile without ++ # running `make'. ++ DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"` ++ test -z "$DEPDIR" && continue ++ # When using ansi2knr, U may be empty or an underscore; expand it ++ U=`sed -n -e '/^U = / s///p' < "$mf"` ++ test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" ++ # We invoke sed twice because it is the simplest approach to ++ # changing $(DEPDIR) to its actual value in the expansion. ++ for file in `sed -n -e ' ++ /^DEP_FILES = .*\\\\$/ { ++ s/^DEP_FILES = // ++ :loop ++ s/\\\\$// ++ p ++ n ++ /\\\\$/ b loop ++ p ++ } ++ /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ ++ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do ++ # Make sure the directory exists. ++ test -f "$dirpart/$file" && continue ++ fdir=`echo "$file" | sed -e 's|/[^/]*$||'` ++ $ac_aux_dir/mkinstalldirs "$dirpart/$fdir" > /dev/null 2>&1 ++ # echo "creating $dirpart/$file" ++ echo '# dummy' > "$dirpart/$file" ++ done ++done ++ ;; ++ esac ++done ++EOF ++ ++cat >>$CONFIG_STATUS <<\EOF ++ ++{ (exit 0); exit 0; } ++EOF ++chmod +x $CONFIG_STATUS ++ac_clean_files=$ac_clean_files_save ++ ++# configure is writing to config.log, and then calls config.status. ++# config.status does its own redirection, appending to config.log. ++# Unfortunately, on DOS this fails, as config.log is still kept open ++# by configure, so config.status won't be able to write to it; its ++# output is simply discarded. So we exec the FD to /dev/null, ++# effectively closing config.log, so it can be properly (re)opened and ++# appended to by config.status. When coming back to configure, we ++# need to make the FD available again. ++if test "$no_create" != yes; then ++ ac_cs_success=: ++ exec 5>/dev/null ++ $SHELL $CONFIG_STATUS || ac_cs_success=false ++ exec 5>>config.log ++ # Use ||, not &&, to avoid exiting from the if with $? = 1, which ++ # would make configure fail if this is the last instruction. ++ $ac_cs_success || { (exit 1); exit 1; } ++fi ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/configure.in tripwire-2.3.1-2/configure.in +--- tripwire-2.3.1-2.old/configure.in Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/configure.in Fri Jun 20 09:34:46 2003 +@@ -0,0 +1,401 @@ ++dnl Process this file with autoconf to produce a configure script. ++dnl ++dnl ++ ++AC_INIT ++AC_CONFIG_SRCDIR([src/tw/tw.cpp]) ++AC_CANONICAL_TARGET([]) ++AM_INIT_AUTOMAKE(tripwire, 2.3.1) ++AM_CONFIG_HEADER(config.h) ++ ++dnl ################################# ++dnl Cleanup Cruft Leftover From Patch ++dnl ################################# ++rm -f src/tripwire/syslog.h 2> /dev/null ++chmod 755 install-sh 2> /dev/null ++ ++dnl ############### ++dnl Setup defaults ++dnl ############### ++CFLAGS=${CFLAGS:-"-O -pipe -Wall"} ++CXXFLAGS=${CXXFLAGS:-"-O -pipe -Wall"} ++ ++if test "x${STLPORT_MAKEFILE}" = "x"; then STLPORT_MAKEFILE="gcc.mak"; fi ++if test "x${STLPORT_LIBRARY}" = "x"; then STLPORT_LIBRARY="libstlport_gcc.a"; fi ++if test "x${STLPORT_LD}" = "x"; then STLPORT_LD="-lstlport"; fi ++if test "x${STLPORT_INCLUDE}" = "x"; then STLPORT_INCLUDE="-I../STLport-4.0/stlport"; fi ++if test "x${STLPORT_SUBDIR}" = "x"; then STLPORT_SUBDIR="STLport-4.0"; fi ++ ++dnl ##################### ++dnl Configuration options ++dnl ##################### ++AC_ARG_ENABLE(static, [ --enable-static compile static binaries]) ++if test "x$enable_static" = xyes ++then LDFLAGS="${LDFLAGS} -static" ++fi ++AC_ARG_ENABLE(debug, [ --enable-debug compile with debuging enabled]) ++if test "x$enable_debug" = xyes ++then ++ CFLAGS="${CFLAGS} -g" ++ CXXFLAGS="${CXXFLAGS} -g" ++ AC_DEFINE(DEBUG, 1, [Compile with debug code]) ++fi ++ ++dnl ################### ++dnl Checks for programs ++dnl ################### ++AC_PROG_CC ++AC_PROG_CXX ++AC_PROG_RANLIB ++AC_PROG_YACC ++AC_PATH_PROG(path_to_vi, vi) ++AC_PATH_PROG(path_to_sendmail, sendmail, [$PATH:/usr/libexec]) ++ ++if test "x${GXX}" != "x"; then ++ AC_DEFINE(HAVE_GCC, 1, [Uses the GNU gcc compiler]) ++ STLPORT_MAKEFILE="gcc.mak" ++ STLPORT_LIBRARY="libstlport_gcc.a" ++else ++ AC_DEFINE(HAVE_GCC, 0, [Uses the GNU gcc compiler]) ++fi ++ ++dnl ####################### ++dnl Checks for header files ++dnl ####################### ++AC_HEADER_STDC ++AC_CHECK_HEADERS(sys/param.h) ++AC_CHECK_HEADERS(sys/mount.h sys/ustat.h sys/sysmacros.h sys/syslog.h) ++AC_CHECK_HEADERS(unistd.h syslog.h iconv.h langinfo.h sys/statfs.h) ++AC_CHECK_HEADERS(signum.h bits/signum.h, break ) ++AC_CHECK_HEADERS(stdarg.h varargs.h, break ) ++AC_CHECK_HEADER(wchar.h, ++ [ AC_DEFINE(HAVE_WCHAR_H, 1, [define if you have wchar.h]) ], ++ [ AC_DEFINE(_STLP_NO_WCHAR_T, 1, [define if you don't have wchar.h]) ] ++ ) ++ ++dnl # Special case for malloc.h, because it's depreciated on most systems. ++CPPFLAGS_SAVE="${CPPFLAGS}" ++CPPFLAGS="${CPPFLAGS} -Werror" ++AC_CHECK_HEADERS(malloc.h) ++CPPFLAGS="${CPPFLAGS_SAVE}" ++ ++dnl ############################################################# ++dnl Checks for typedefs, structures, and compiler characteristics ++dnl ############################################################# ++AC_C_CONST ++AC_TYPE_SIZE_T ++AC_HEADER_TIME ++AC_C_BIGENDIAN ++AC_CHECK_SIZEOF(int) ++AC_CHECK_SIZEOF(long) ++AC_CHECK_SIZEOF(long long) ++ ++dnl All platforms we support use 2's complement, are byte aligned, etc... ++AC_DEFINE(USES_1S_COMPLEMENT, 0, [Uses one's complement]) ++AC_DEFINE(USES_2S_COMPLEMENT, 1, [Uses two's complement]) ++AC_DEFINE(USES_SIGNED_MAGNITUDE, 0, [Uses signed magnitute]) ++AC_DEFINE(IS_BYTE_ALIGNED, 1, [Is byte aligned]) ++AC_DEFINE(EXCEPTION_NAMESPACE, std::, [this is the prefix for STLPort exception functions]) ++ ++dnl We used to check for UNIX or Unix-like target platforms, ++dnl but that is a little extreme, so just assume that the ++dnl target is unix. This can still be changed in config.h ++AC_DEFINE(IS_UNIX, 1, [Is a unix type platform]) ++ ++dnl whether or not to generate debuging code? ++AC_DEFINE(NDEBUG, 1, [don't generate debuging code]) ++ ++dnl ############################# ++dnl Checks for standard functions ++dnl ############################# ++AC_CHECK_FUNCS(strftime gethostname gethostid) ++AC_CHECK_FUNCS(mkstemp mktemp, break) ++ ++dnl ############################################## ++dnl Checks for various platform specific libraries ++dnl ############################################## ++ ++dnl socket? Solaris has it somewhere else. ++AC_CHECK_LIB(c, socket, [:], [ ++ AC_CHECK_LIB(socket, socket, [ ++ LIBS="-lsocket $LIBS" ++ ], [:]) ]) ++ ++dnl gethostbyname? Solaris has it somewhere else. ++AC_CHECK_LIB(c, gethostbyname, [:], [ ++ AC_CHECK_LIB(nsl, gethostbyname, [ ++ LIBS="-lnsl $LIBS" ++ ], [:]) ]) ++ ++dnl check for stl library ++AC_LANG_SAVE ++AC_LANG_CPLUSPLUS ++AC_CHECK_HEADER(locale, [ ++ STLPORT_INCLUDE=" " ++ STLPORT_LD=" " ++ STLPORT_SUBDIR=" " ++ GMAKE=$MAKE ++], [ ++ dnl check for POSIX threads if we compile STLport, because it needs it ++ AC_CHECK_FUNC(pthread_getspecific, [:], [ ++ ++ LDFLAGS_TEMP="${LDFLAGS}" ++ LDFLAGS="${LDFLAGS_TEMP} -pthread" ++ unset ac_cv_func_pthread_getspecific ++ AC_CHECK_FUNC(pthread_getspecific, [:], [ ++ ++ LDFLAGS="${LDFLAGS_TEMP} -lpthread" ++ unset ac_cv_func_pthread_getspecific ++ AC_CHECK_FUNC(pthread_getspecific, [:], [ ++ LDFLAGS="${LDFLAGS_TEMP}" ++ AC_MSG_ERROR([No posix threads detected, cannot continue.]) ]) ++ ]) ++ ]) ++ dnl we don't require GNU make, but STLport does ++ AC_CHECK_PROG(GMAKE, gmake, gmake) ++]) ++AC_LANG_RESTORE ++ ++dnl ####################################################################### ++dnl Local checks/hacks. The goal is to make this part as short as possible ++dnl ####################################################################### ++AC_DEFINE_UNQUOTED(TARGET_OS, "${target}", [Target OS]) ++case $target in ++ i386-*-freebsd*) ++ SYSPRE="i386-unknown-freebsd" ++ ;; ++ alpha-*-freebsd*) ++ SYSPRE="alpha-unknown-freebsd" ++ ;; ++ i386-*-openbsd*) ++ SYSPRE="i386-unknown-openbsd" ++ AC_DEFINE(__NetBSD__, 1, [define if you are OpenBSD]) ++ ;; ++ *-*-netbsd*) ++ SYSPRE="i386-unknown-netbsd" ++ ;; ++ i[[0-9]]86-pc-linux*) ++ SYSPRE="i686-pc-linux" ++ ;; ++ sparc-*-linux*) ++ SYSPRE="sparc-linux" ++ ;; ++ *-sun-solaris*) ++ if test "x$enable_static" = xyes ++ then ++ AC_MSG_WARN( [ ++ ++Sorry, tripwire will not properly link staticaly under Solaris. ++This is due to tripwire's extensive use of gethostbyname(), ++which can only be linked dynamicaly. Please rerun configure ++without the --enable-static option. ++]) ++ AC_DEFINE(SOLARIS_NO_GETHOSTBYNAME, 1, [Don't use gethostbyname() on Solaris]) ++ fi ++ SYSPRE=${target} ++ LIBS="-ldl $LIBS" ++ AC_CHECK_HEADERS(strings.h) ++ ;; ++ alpha*-*-osf*) ++ CXXFLAGS="${CXXFLAGS} -D_ALPHA" ++ STLPORT_MAKEFILE="dec.mak" ++ STLPORT_LIBRARY="libstlport_dec.a" ++ ;; ++ *) ++ SYSPRE="unknown" ;; ++esac ++ ++dnl ####################################################### ++dnl cryptlib tries to include files in it's directory that ++dnl have standard names. Check to see if we have them, and ++dnl make a note of it. ++dnl XXX: This is really dumb. The files should just be ++dnl deleted, but this is a patch, which doesn't ++dnl remove files. If the system doesn't have the ++dnl file, it should (STL-port has it, too.) ++dnl ####################################################### ++AC_LANG_SAVE ++AC_LANG_CPLUSPLUS ++AC_CHECK_HEADERS(iostream, have_iostream="yes") ++AM_CONDITIONAL(OSHASIOSTREAM, test "x${have_iostream}" = "xyes" ) ++AC_LANG_RESTORE ++ ++dnl ################################################## ++dnl Pray make works. A better check would be to grep ++dnl Better yet: ween tripwire (STLport) off of gmake ++dnl Better still: ween tripwire off of STLport ++dnl ################################################## ++if test "x${GMAKE}" = "x"; then GMAKE="make"; fi ++ ++dnl ################################################### ++dnl Try linking a simple program with the flags we have ++dnl ################################################### ++AC_TRY_LINK( , return 0 , , [ AC_MSG_WARN( [ ++ ++Hmmm... doesn't look so good. I just tried linking a program ++and it failed. One reason could be missing static libraries ++if you are trying to compile a static binary. ++]) ] ) ++ ++dnl Check for OpenSSL, now that we have a working compiler ++AC_ARG_ENABLE(openssl, ++ [ --disable-openssl don't link against OpenSSL libraries]) ++AC_ARG_WITH(ssl-dir, ++ [ --with-ssl-dir=PATH Specify path to OpenSSL installation ], ++ [ ++ if test "x$withval" != "xno" ; then ++ tryssldir=$withval ++ fi ++ ] ++) ++ ++dnl ################# ++dnl Check for OpenSSL ++dnl ################# ++CORE_CRYPT_O="md5.o sha.o" ++if test "x${enable_openssl}" != "xno" ++then ++ saved_LIBS="$LIBS" ++ saved_LDFLAGS="$LDFLAGS" ++ saved_CPPFLAGS="$CPPFLAGS" ++ if test "x$prefix" != "xNONE" ; then ++ tryssldir="$tryssldir $prefix" ++ fi ++ AC_CACHE_CHECK([for OpenSSL directory], ac_cv_openssldir, [ ++ for ssldir in $tryssldir "" /usr/local/openssl /usr/lib/openssl /usr/local/ssl /usr/lib/ssl /usr/local /usr/pkg /opt /opt/openssl ; do ++ CPPFLAGS="$saved_CPPFLAGS" ++ LDFLAGS="$saved_LDFLAGS" ++ LIBS="$saved_LIBS -lcrypto" ++ ++ # Skip directories if they don't exist ++ if test ! -z "$ssldir" -a ! -d "$ssldir" ; then ++ continue; ++ fi ++ if test ! -z "$ssldir" -a "x$ssldir" != "x/usr"; then ++ # Try to use $ssldir/lib if it exists, otherwise ++ # $ssldir ++ if test -d "$ssldir/lib" ; then ++ LDFLAGS="-L$ssldir/lib $saved_LDFLAGS" ++ if test ! -z "$need_dash_r" ; then ++ LDFLAGS="-R$ssldir/lib $LDFLAGS" ++ fi ++ else ++ LDFLAGS="-L$ssldir $saved_LDFLAGS" ++ if test ! -z "$need_dash_r" ; then ++ LDFLAGS="-R$ssldir $LDFLAGS" ++ fi ++ fi ++ # Try to use $ssldir/include if it exists, otherwise ++ # $ssldir ++ if test -d "$ssldir/include" ; then ++ CPPFLAGS="-I$ssldir/include $saved_CPPFLAGS" ++ else ++ CPPFLAGS="-I$ssldir $saved_CPPFLAGS" ++ fi ++ fi ++ ++ # Basic test to check for compatible library and ++ # correct linking ++ AC_TRY_RUN( ++ [ ++#include ++#include ++int main(void) ++{ ++ char a[2048]; ++ memset(a, 0, sizeof(a)); ++ RAND_add(a, sizeof(a), sizeof(a)); ++ return(RAND_status() <= 0); ++} ++ ], ++ [ ++ found_crypto=1 ++ break; ++ ], [] ++ ) ++ ++ if test ! -z "$found_crypto" ; then ++ break; ++ fi ++ done ++ ++ if test -z "$ssldir" ; then ++ ssldir="(system)" ++ fi ++ ++ if test -z "$found_crypto" ; then ++ ac_cv_openssldir="not found" ++ else ++ ac_cv_openssldir=$ssldir ++ fi ++]) ++ ++LIBS="$saved_LIBS" ++ ++if (test ! -z "$ac_cv_openssldir" && test "x$ac_cv_openssldir" != "xnot found") ; then ++ dnl Need to recover ssldir - test above runs in subshell ++ ssldir=$ac_cv_openssldir ++ if test "x$ssldir" != "x/usr" -a "x$ssldir" != "x(system)"; then ++ # Try to use $ssldir/lib if it exists, otherwise ++ # $ssldir ++ if test -d "$ssldir/lib" ; then ++ LDFLAGS="-L$ssldir/lib $saved_LDFLAGS" ++ if test ! -z "$need_dash_r" ; then ++ LDFLAGS="-R$ssldir/lib $LDFLAGS" ++ fi ++ else ++ LDFLAGS="-L$ssldir $saved_LDFLAGS" ++ if test ! -z "$need_dash_r" ; then ++ LDFLAGS="-R$ssldir $LDFLAGS" ++ fi ++ fi ++ # Try to use $ssldir/include if it exists, otherwise ++ # $ssldir ++ if test -d "$ssldir/include" ; then ++ CPPFLAGS="-I$ssldir/include $saved_CPPFLAGS" ++ else ++ CPPFLAGS="-I$ssldir $saved_CPPFLAGS" ++ fi ++ fi ++ LIBS="$saved_LIBS -lcrypto" ++ AC_CHECK_HEADERS(openssl/md5.h openssl/sha.h) ++ CORE_CRYPT_O="" ++ fi ++fi ++ ++dnl ##################################### ++dnl Export the variables we use ++dnl ##################################### ++AC_SUBST(STLPORT_MAKEFILE) ++AC_SUBST(STLPORT_LIBRARY) ++AC_SUBST(STLPORT_LD) ++AC_SUBST(STLPORT_INCLUDE) ++AC_SUBST(STLPORT_SUBDIR) ++AC_SUBST(CORE_CRYPT_O) ++ ++dnl SYSPRE should eventually go away. Is now currently only used for STLport ++AC_SUBST(SYSPRE) ++ ++AC_CONFIG_FILES([ ++Makefile ++man/Makefile ++man/man4/Makefile ++man/man5/Makefile ++man/man8/Makefile ++src/Makefile ++src/STLport-4.0/Makefile ++src/cryptlib/Makefile ++src/core/Makefile ++src/db/Makefile ++src/fco/Makefile ++src/fs/Makefile ++src/tw/Makefile ++src/twcrypto/Makefile ++src/twparser/Makefile ++src/util/Makefile ++src/twprint/Makefile ++src/twadmin/Makefile ++src/siggen/Makefile ++src/tripwire/Makefile ++]) ++AC_OUTPUT +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/install/install.cfg tripwire-2.3.1-2/install/install.cfg +--- tripwire-2.3.1-2.old/install/install.cfg Fri Oct 27 17:26:25 2000 ++++ tripwire-2.3.1-2/install/install.cfg Sat Jun 7 19:00:03 2003 +@@ -2,7 +2,7 @@ + # install.cfg + # + # default install.cfg for: +-# Tripwire(R) 2.3 Open Source for Linux ++# Tripwire(R) 2.3 Open Source + # + # NOTE: This is a Bourne shell script that stores installation + # parameters for your installation. The installer will +@@ -24,19 +24,19 @@ + CLOBBER=false + + # Tripwire binaries are stored in TWBIN. +-TWBIN="/usr/sbin" ++TWBIN="${prefix}/sbin" + + # Tripwire policy files are stored in TWPOLICY. +-TWPOLICY="/etc/tripwire" ++TWPOLICY="${sysconfdir}" + + # Tripwire manual pages are stored in TWMAN. +-TWMAN="/usr/man" ++TWMAN="${prefix}/man" + + # Tripwire database files are stored in TWDB. +-TWDB="/var/lib/tripwire" ++TWDB="${prefix}/lib/tripwire" + + # Tripwire documents directory +-TWDOCS="/usr/doc/tripwire" ++TWDOCS="${prefix}/doc/tripwire" + + # The Tripwire site key files are stored in TWSITEKEYDIR. + TWSITEKEYDIR="${TWPOLICY}" +@@ -48,7 +48,7 @@ + TWREPORT="${TWDB}/report" + + # This sets the default text editor for Tripwire. +-TWEDITOR="/bin/vi" ++TWEDITOR="${path_to_vi}" + + # TWLATEPROMTING controls the point when tripwire asks for a password. + TWLATEPROMPTING=false +@@ -85,7 +85,7 @@ + ##################################### + + TWMAILMETHOD=SENDMAIL +-TWMAILPROGRAM="/usr/lib/sendmail -oi -t" ++TWMAILPROGRAM="${path_to_sendmail} -oi -t" + + ##################################### + # SMTP options +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/install/install.sh tripwire-2.3.1-2/install/install.sh +--- tripwire-2.3.1-2.old/install/install.sh Fri Oct 27 17:26:26 2000 ++++ tripwire-2.3.1-2/install/install.sh Sat Jun 7 19:00:03 2003 +@@ -3,7 +3,7 @@ + ######################################################### + ######################################################### + ## +-## Tripwire(R) 2.3 Open Source for LINUX install script ++## Tripwire(R) 2.3 Open Source install script + ## + ######################################################### + ######################################################### +@@ -144,20 +144,23 @@ + ## Miscellaneous configuration parameters. + ##------------------------------------------------------- + ++# prefix ++prefix="${prefix:=/usr}" ++ + # License File name + TWLICENSEFILE="COPYING" + + # Default Tripwire configuration file. + TW_CONFIG_FILE="tw.cfg" + +-# Name of initial cleartext Tripwire policy file. ++# Name of initial cleartext Tripwire config file. + CLR_CONFIG_FILE="twcfg.txt" + + # Name of initial cleartext Tripwire policy file. + CLR_POLICY_FILE="twpol.txt" + + # Default installation script configuration file. +-INSTALL_CONFIG_FILE="install.cfg" ++INSTALL_CONFIG_FILE="./install/install.cfg" + + # Name of the Readme file. + README="README" +@@ -189,6 +192,16 @@ + # If prompt==true, ask for confirmation before continuing with install. + PROMPT="true" + ++# Guess where the toplevel for the distribution is. ++# A bad guess is the current directory ++TAR_DIR=${TAR_DIR:-${START_DIR}} ++ ++OS=`uname -s` ++POLICYSRC="twpol-${OS:=GENERIC}.txt" ++if [ ! -r ${TAR_DIR}/policy/${POLICYSRC} ] ++then POLICYSRC="twpol-GENERIC.txt" ++fi ++ + ##------------------------------------------------------- + ## Parse the command line. + ##------------------------------------------------------- +@@ -234,7 +247,7 @@ + cat << END_OF_TEXT + + Installer program for: +-Tripwire(R) 2.3 Open Source for LINUX ++Tripwire(R) 2.3 Open Source + + Copyright (C) 1998-2000 Tripwire (R) Security Systems, Inc. Tripwire (R) + is a registered trademark of the Purdue Research Foundation and is +@@ -242,53 +255,6 @@ + + END_OF_TEXT + +-##------------------------------------------------------- +-## Are we installing on a supported OS? +-##------------------------------------------------------- +- +-osokay=0 +-if [ "$UNAME" != "" ] && [ "$GREP" != "" ]; then +- unamOS=`uname -s` +- unamVER=`uname -v -r` +- if ((echo "$unamOS" | $GREP -i "Linux" > /dev/null) || +- (echo "$unamOS" | $GREP -i "HP-UX" > /dev/null) || +- (echo "$unamOS" | $GREP -i "AIX" > /dev/null)); then +- unamHW=`uname -m` +- else +- unamHW=`uname -p` +- fi +- if (echo "$unamOS" | $GREP -i "Linux" > /dev/null); then +- osokay=1 +- fi +- if [ "$osokay" -eq 0 ] ; then +-cat << END_OF_TEXT +- +-* * * * Warning * * * * +-The uname command, which tells what operating system is running on this +-machine, returned a result that this installation script did not expect. +-Tripwire 2.3 Open Source for LINUX is supported on Linux Kernels only. +- +-Use of this software with any other operating system is completely unsupported. +- +-END_OF_TEXT +- +-##------------------------------------------------------- +-## Prompt to continue. +-##------------------------------------------------------- +- +- if [ "$PROMPT" = "true" ] ; then +- echo +- (echo $n "Continue with installation? [y/n] " $c) 1>&2 +- read ans +- case "$ans" in +- [yY]*) ;; +- *) echo "Installation has been halted." +- exit 1 +- ;; +- esac +- fi +- fi +-fi + + ##------------------------------------------------------- + ## Print a message if the user aborts the install. +@@ -312,14 +278,7 @@ + ##------------------------------------------------------- + ## Where is the license agreement file? + ##------------------------------------------------------- +- +-EULA_BASE_DIR=`basename $0` +-EULA_BASE_DIR=`echo $0 | sed s/$EULA_BASE_DIR\$//` +-if [ ! -z "$EULA_BASE_DIR" ] ; then +- EULA_PATH="${EULA_BASE_DIR}$TWLICENSEFILE" +-else +- EULA_PATH="$TWLICENSEFILE" +-fi ++EULA_PATH="$TWLICENSEFILE" + + ##------------------------------------------------------- + ## If prompting is turned on, get acceptance from user before moving on. +@@ -327,7 +286,7 @@ + + if [ "$PROMPT" = "true" ] ; then + echo +- echo "LICENSE AGREEMENT for Tripwire(R) 2.3 Open Source for LINUX" ++ echo "LICENSE AGREEMENT for Tripwire(R) 2.3 Open Source" + echo + echo "Please read the following license agreement. You must accept the" + echo "agreement to continue installing Tripwire." +@@ -484,13 +443,9 @@ + echo "Verifying existence of binaries..." + echo + +-BASE_DIR=`basename $0` +-BASE_DIR=`echo $0 | sed s/$BASE_DIR\$//` ++BASE_DIR="./" + if [ ! -z "$BASE_DIR" ] ; then +- TAR_DIR="${BASE_DIR}" +- BIN_DIR="${BASE_DIR}bin/i686-pc-linux_r" +-else +- TAR_DIR="${BASE_DIR}" ++ BIN_DIR="${BASE_DIR}bin" + fi + + CWD=`pwd` +@@ -621,23 +576,24 @@ + f1=' ff=$README ; d="" ; dd=$TWDOCS ; rr=0444 ' + f2=' ff=$REL_NOTES ; d="" ; dd=$TWDOCS ; rr=0444 ' + f3=' ff=$TWLICENSEFILE ; d="" ; dd=$TWDOCS ; rr=0444 ' +-f4=' ff=tripwire ; d="/bin/i686-pc-linux_r" ; dd=$TWBIN ; rr=0550 ' +-f5=' ff=twadmin ; d="/bin/i686-pc-linux_r" ; dd=$TWBIN ; rr=0550 ' +-f6=' ff=twprint ; d="/bin/i686-pc-linux_r" ; dd=$TWBIN ; rr=0550 ' +-f7=' ff=siggen ; d="/bin/i686-pc-linux_r" ; dd=$TWBIN ; rr=0550 ' ++#f4=' ff=tripwire ; d="/bin" ; dd=$TWBIN ; rr=0550 ' ++#f5=' ff=twadmin ; d="/bin" ; dd=$TWBIN ; rr=0550 ' ++#f6=' ff=twprint ; d="/bin" ; dd=$TWBIN ; rr=0550 ' ++#f7=' ff=siggen ; d="/bin" ; dd=$TWBIN ; rr=0550 ' + f8=' ff=TRADEMARK ; d="" ; dd=$TWDOCS ; rr=0444 ' +-f9=' ff=policyguide.txt ; d="" ; dd=$TWDOCS ; rr=0444 ' +-f10=' ff=twpol.txt ; d="/policy/" ; dd=$TWPOLICY ; rr=0640 ' +-f11=' ff=twpolicy.4 ; d="/man/man4" ; dd=$TWMAN/man4 ; rr=0444 ' +-f12=' ff=twconfig.4 ; d="/man/man4" ; dd=$TWMAN/man4 ; rr=0444 ' +-f13=' ff=twfiles.5 ; d="/man/man5" ; dd=$TWMAN/man5 ; rr=0444 ' +-f14=' ff=siggen.8 ; d="/man/man8" ; dd=$TWMAN/man8 ; rr=0444 ' +-f15=' ff=tripwire.8 ; d="/man/man8" ; dd=$TWMAN/man8 ; rr=0444 ' +-f16=' ff=twadmin.8 ; d="/man/man8" ; dd=$TWMAN/man8 ; rr=0444 ' +-f17=' ff=twintro.8 ; d="/man/man8" ; dd=$TWMAN/man8 ; rr=0444 ' +-f18=' ff=twprint.8 ; d="/man/man8" ; dd=$TWMAN/man8 ; rr=0444 ' ++f9=' ff=policyguide.txt ; d="/policy" ; dd=$TWDOCS ; rr=0444 ' ++f10=' ff=${POLICYSRC} ; d="/policy" ; dd=$TWPOLICY ; rr=0640 ' ++#f11=' ff=twpolicy.4 ; d="/man/man4" ; dd=$TWMAN/man4 ; rr=0444 ' ++#f12=' ff=twconfig.4 ; d="/man/man4" ; dd=$TWMAN/man4 ; rr=0444 ' ++#f13=' ff=twfiles.5 ; d="/man/man5" ; dd=$TWMAN/man5 ; rr=0444 ' ++#f14=' ff=siggen.8 ; d="/man/man8" ; dd=$TWMAN/man8 ; rr=0444 ' ++#f15=' ff=tripwire.8 ; d="/man/man8" ; dd=$TWMAN/man8 ; rr=0444 ' ++#f16=' ff=twadmin.8 ; d="/man/man8" ; dd=$TWMAN/man8 ; rr=0444 ' ++#f17=' ff=twintro.8 ; d="/man/man8" ; dd=$TWMAN/man8 ; rr=0444 ' ++#f18=' ff=twprint.8 ; d="/man/man8" ; dd=$TWMAN/man8 ; rr=0444 ' + +-loosefiles="f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18" ++# Binaries and manpages are already installed by the install target ++loosefiles="f1 f2 f3 f8 f9 f10" + + for i in $loosefiles; do + eval "eval \"\$$i\"" +@@ -665,13 +621,9 @@ + ## Set default values for Tripwire file names. + ##------------------------------------------------------- + +-HOST_NAME='localhost' +-(uname -n) 2> /dev/null 1>&2 +-if [ $? -eq 0 ]; then +- HOST_NAME=`uname -n` +-fi ++HOST_NAME=`uname -n 2>/dev/null` + +-LOCAL_KEY="${TWLOCALKEYDIR}/${HOST_NAME}-local.key" ++LOCAL_KEY="${TWLOCALKEYDIR}/${HOST_NAME:=localhost}-local.key" + SITE_KEY="${TWSITEKEYDIR}/site.key" + CONFIG_FILE="${TWPOLICY}/$TW_CONFIG_FILE" # Signed config file + POLICY_FILE="${TWPOLICY}/tw.pol" # Signed policy file +@@ -883,15 +835,16 @@ + s?^\(TWLKEY=\).*$?\1'\""$TWLOCALKEYDIR"\"';? + s?^\(TWREPORT=\).*$?\1'\""$TWREPORT"\"';? + s?^\(HOSTNAME=\).*$?\1'"$HOST_NAME"';? +-}' "${TXT_POL}" > "${TXT_POL}.tmp" ++}' "${TWPOLICY}/${POLICYSRC}" > "${TXT_POL}.tmp" + + # copy the tmp file back over the default policy +-cp "${TXT_POL}" "${TXT_POL}.bak" ++[ -f "${TXT_POL}" ] && cp "${TXT_POL}" "${TXT_POL}.bak" + mv "${TXT_POL}.tmp" "${TXT_POL}" ++rm -f "${TWPOLICY}/${POLICYSRC}" + + # reset rights on the policy files to 640 +-chmod 640 "$TXT_POL" +-chmod 640 "${TXT_POL}.bak" ++[ -f "${TXT_POL}" ] && chmod 640 "$TXT_POL" ++[ -f "${TXT_POL}.bak" ] && chmod 640 "${TXT_POL}.bak" + + + ##======================================================= +@@ -968,7 +921,7 @@ + + Please refer to $README_LOC + for release information and to the printed user documentation +-for further instructions on using Tripwire 2.3 Open Source for LINUX. ++for further instructions on using Tripwire 2.3 Open Source. + + END_OF_TEXT + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/install-sh tripwire-2.3.1-2/install-sh +--- tripwire-2.3.1-2.old/install-sh Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/install-sh Sun Feb 18 07:08:31 2001 +@@ -0,0 +1,251 @@ ++#!/bin/sh ++# ++# install - install a program, script, or datafile ++# This comes from X11R5 (mit/util/scripts/install.sh). ++# ++# Copyright 1991 by the Massachusetts Institute of Technology ++# ++# Permission to use, copy, modify, distribute, and sell this software and its ++# documentation for any purpose is hereby granted without fee, provided that ++# the above copyright notice appear in all copies and that both that ++# copyright notice and this permission notice appear in supporting ++# documentation, and that the name of M.I.T. not be used in advertising or ++# publicity pertaining to distribution of the software without specific, ++# written prior permission. M.I.T. makes no representations about the ++# suitability of this software for any purpose. It is provided "as is" ++# without express or implied warranty. ++# ++# Calling this script install-sh is preferred over install.sh, to prevent ++# `make' implicit rules from creating a file called install from it ++# when there is no Makefile. ++# ++# This script is compatible with the BSD install script, but was written ++# from scratch. It can only install one file at a time, a restriction ++# shared with many OS's install programs. ++ ++ ++# set DOITPROG to echo to test this script ++ ++# Don't use :- since 4.3BSD and earlier shells don't like it. ++doit="${DOITPROG-}" ++ ++ ++# put in absolute paths if you don't have them in your path; or use env. vars. ++ ++mvprog="${MVPROG-mv}" ++cpprog="${CPPROG-cp}" ++chmodprog="${CHMODPROG-chmod}" ++chownprog="${CHOWNPROG-chown}" ++chgrpprog="${CHGRPPROG-chgrp}" ++stripprog="${STRIPPROG-strip}" ++rmprog="${RMPROG-rm}" ++mkdirprog="${MKDIRPROG-mkdir}" ++ ++transformbasename="" ++transform_arg="" ++instcmd="$mvprog" ++chmodcmd="$chmodprog 0755" ++chowncmd="" ++chgrpcmd="" ++stripcmd="" ++rmcmd="$rmprog -f" ++mvcmd="$mvprog" ++src="" ++dst="" ++dir_arg="" ++ ++while [ x"$1" != x ]; do ++ case $1 in ++ -c) instcmd="$cpprog" ++ shift ++ continue;; ++ ++ -d) dir_arg=true ++ shift ++ continue;; ++ ++ -m) chmodcmd="$chmodprog $2" ++ shift ++ shift ++ continue;; ++ ++ -o) chowncmd="$chownprog $2" ++ shift ++ shift ++ continue;; ++ ++ -g) chgrpcmd="$chgrpprog $2" ++ shift ++ shift ++ continue;; ++ ++ -s) stripcmd="$stripprog" ++ shift ++ continue;; ++ ++ -t=*) transformarg=`echo $1 | sed 's/-t=//'` ++ shift ++ continue;; ++ ++ -b=*) transformbasename=`echo $1 | sed 's/-b=//'` ++ shift ++ continue;; ++ ++ *) if [ x"$src" = x ] ++ then ++ src=$1 ++ else ++ # this colon is to work around a 386BSD /bin/sh bug ++ : ++ dst=$1 ++ fi ++ shift ++ continue;; ++ esac ++done ++ ++if [ x"$src" = x ] ++then ++ echo "install: no input file specified" ++ exit 1 ++else ++ true ++fi ++ ++if [ x"$dir_arg" != x ]; then ++ dst=$src ++ src="" ++ ++ if [ -d $dst ]; then ++ instcmd=: ++ chmodcmd="" ++ else ++ instcmd=mkdir ++ fi ++else ++ ++# Waiting for this to be detected by the "$instcmd $src $dsttmp" command ++# might cause directories to be created, which would be especially bad ++# if $src (and thus $dsttmp) contains '*'. ++ ++ if [ -f $src -o -d $src ] ++ then ++ true ++ else ++ echo "install: $src does not exist" ++ exit 1 ++ fi ++ ++ if [ x"$dst" = x ] ++ then ++ echo "install: no destination specified" ++ exit 1 ++ else ++ true ++ fi ++ ++# If destination is a directory, append the input filename; if your system ++# does not like double slashes in filenames, you may need to add some logic ++ ++ if [ -d $dst ] ++ then ++ dst="$dst"/`basename $src` ++ else ++ true ++ fi ++fi ++ ++## this sed command emulates the dirname command ++dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` ++ ++# Make sure that the destination directory exists. ++# this part is taken from Noah Friedman's mkinstalldirs script ++ ++# Skip lots of stat calls in the usual case. ++if [ ! -d "$dstdir" ]; then ++defaultIFS=' ++' ++IFS="${IFS-${defaultIFS}}" ++ ++oIFS="${IFS}" ++# Some sh's can't handle IFS=/ for some reason. ++IFS='%' ++set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` ++IFS="${oIFS}" ++ ++pathcomp='' ++ ++while [ $# -ne 0 ] ; do ++ pathcomp="${pathcomp}${1}" ++ shift ++ ++ if [ ! -d "${pathcomp}" ] ; ++ then ++ $mkdirprog "${pathcomp}" ++ else ++ true ++ fi ++ ++ pathcomp="${pathcomp}/" ++done ++fi ++ ++if [ x"$dir_arg" != x ] ++then ++ $doit $instcmd $dst && ++ ++ if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi && ++ if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi && ++ if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi && ++ if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi ++else ++ ++# If we're going to rename the final executable, determine the name now. ++ ++ if [ x"$transformarg" = x ] ++ then ++ dstfile=`basename $dst` ++ else ++ dstfile=`basename $dst $transformbasename | ++ sed $transformarg`$transformbasename ++ fi ++ ++# don't allow the sed command to completely eliminate the filename ++ ++ if [ x"$dstfile" = x ] ++ then ++ dstfile=`basename $dst` ++ else ++ true ++ fi ++ ++# Make a temp file name in the proper directory. ++ ++ dsttmp=$dstdir/#inst.$$# ++ ++# Move or copy the file name to the temp name ++ ++ $doit $instcmd $src $dsttmp && ++ ++ trap "rm -f ${dsttmp}" 0 && ++ ++# and set any options; do chmod last to preserve setuid bits ++ ++# If any of these fail, we abort the whole thing. If we want to ++# ignore errors from any of these, just make sure not to ignore ++# errors from the above "$doit $instcmd $src $dsttmp" command. ++ ++ if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi && ++ if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi && ++ if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi && ++ if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi && ++ ++# Now rename the file to the real destination. ++ ++ $doit $rmcmd -f $dstdir/$dstfile && ++ $doit $mvcmd $dsttmp $dstdir/$dstfile ++ ++fi && ++ ++ ++exit 0 +Only in tripwire-2.3.1-2.old/man: Makefile +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/man/Makefile.am tripwire-2.3.1-2/man/Makefile.am +--- tripwire-2.3.1-2.old/man/Makefile.am Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/man/Makefile.am Sun Feb 18 07:36:44 2001 +@@ -0,0 +1,12 @@ ++AUTOMAKE_OPTIONS = foreign no-dependencies ++SUBDIRS = man4 man5 man8 ++ ++#man_MANS = \ ++# ./man4/twconfig.4 \ ++# ./man4/twpolicy.4 \ ++# ./man5/twfiles.5 \ ++# ./man8/siggen.8 \ ++# ./man8/tripwire.8 \ ++# ./man8/twadmin.8 \ ++# ./man8/twintro.8 \ ++# ./man8/twprint.8 +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/man/Makefile.in tripwire-2.3.1-2/man/Makefile.in +--- tripwire-2.3.1-2.old/man/Makefile.in Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/man/Makefile.in Mon Sep 22 09:40:54 2003 +@@ -0,0 +1,331 @@ ++# Makefile.in generated automatically by automake 1.5 from Makefile.am. ++ ++# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 ++# Free Software Foundation, Inc. ++# This Makefile.in is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without ++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A ++# PARTICULAR PURPOSE. ++ ++@SET_MAKE@ ++ ++SHELL = @SHELL@ ++ ++srcdir = @srcdir@ ++top_srcdir = @top_srcdir@ ++VPATH = @srcdir@ ++prefix = @prefix@ ++exec_prefix = @exec_prefix@ ++ ++bindir = @bindir@ ++sbindir = @sbindir@ ++libexecdir = @libexecdir@ ++datadir = @datadir@ ++sysconfdir = @sysconfdir@ ++sharedstatedir = @sharedstatedir@ ++localstatedir = @localstatedir@ ++libdir = @libdir@ ++infodir = @infodir@ ++mandir = @mandir@ ++includedir = @includedir@ ++oldincludedir = /usr/include ++pkgdatadir = $(datadir)/@PACKAGE@ ++pkglibdir = $(libdir)/@PACKAGE@ ++pkgincludedir = $(includedir)/@PACKAGE@ ++top_builddir = .. ++ ++ACLOCAL = @ACLOCAL@ ++AUTOCONF = @AUTOCONF@ ++AUTOMAKE = @AUTOMAKE@ ++AUTOHEADER = @AUTOHEADER@ ++ ++INSTALL = @INSTALL@ ++INSTALL_PROGRAM = @INSTALL_PROGRAM@ ++INSTALL_DATA = @INSTALL_DATA@ ++INSTALL_SCRIPT = @INSTALL_SCRIPT@ ++INSTALL_HEADER = $(INSTALL_DATA) ++transform = @program_transform_name@ ++NORMAL_INSTALL = : ++PRE_INSTALL = : ++POST_INSTALL = : ++NORMAL_UNINSTALL = : ++PRE_UNINSTALL = : ++POST_UNINSTALL = : ++AMTAR = @AMTAR@ ++AWK = @AWK@ ++CC = @CC@ ++CORE_CRYPT_O = @CORE_CRYPT_O@ ++CXX = @CXX@ ++DEPDIR = @DEPDIR@ ++EXEEXT = @EXEEXT@ ++GMAKE = @GMAKE@ ++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ ++OBJEXT = @OBJEXT@ ++PACKAGE = @PACKAGE@ ++RANLIB = @RANLIB@ ++STLPORT_INCLUDE = @STLPORT_INCLUDE@ ++STLPORT_LD = @STLPORT_LD@ ++STLPORT_LIBRARY = @STLPORT_LIBRARY@ ++STLPORT_MAKEFILE = @STLPORT_MAKEFILE@ ++STLPORT_SUBDIR = @STLPORT_SUBDIR@ ++SYSPRE = @SYSPRE@ ++VERSION = @VERSION@ ++YACC = @YACC@ ++am__include = @am__include@ ++am__quote = @am__quote@ ++install_sh = @install_sh@ ++path_to_sendmail = @path_to_sendmail@ ++path_to_vi = @path_to_vi@ ++ ++AUTOMAKE_OPTIONS = foreign no-dependencies ++SUBDIRS = man4 man5 man8 ++subdir = man ++mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs ++CONFIG_HEADER = $(top_builddir)/config.h ++CONFIG_CLEAN_FILES = ++depcomp = ++DIST_SOURCES = ++ ++RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \ ++ uninstall-info-recursive all-recursive install-data-recursive \ ++ install-exec-recursive installdirs-recursive install-recursive \ ++ uninstall-recursive check-recursive installcheck-recursive ++DIST_COMMON = Makefile.am Makefile.in ++DIST_SUBDIRS = $(SUBDIRS) ++all: all-recursive ++ ++.SUFFIXES: ++$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) ++ cd $(top_srcdir) && \ ++ $(AUTOMAKE) --foreign man/Makefile ++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status ++ cd $(top_builddir) && \ ++ CONFIG_HEADERS= CONFIG_LINKS= \ ++ CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status ++uninstall-info-am: ++ ++# This directory's subdirectories are mostly independent; you can cd ++# into them and run `make' without going through this Makefile. ++# To change the values of `make' variables: instead of editing Makefiles, ++# (1) if the variable is set in `config.status', edit `config.status' ++# (which will cause the Makefiles to be regenerated when you run `make'); ++# (2) otherwise, pass the desired values on the `make' command line. ++$(RECURSIVE_TARGETS): ++ @set fnord $(MAKEFLAGS); amf=$$2; \ ++ dot_seen=no; \ ++ target=`echo $@ | sed s/-recursive//`; \ ++ list='$(SUBDIRS)'; for subdir in $$list; do \ ++ echo "Making $$target in $$subdir"; \ ++ if test "$$subdir" = "."; then \ ++ dot_seen=yes; \ ++ local_target="$$target-am"; \ ++ else \ ++ local_target="$$target"; \ ++ fi; \ ++ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ ++ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ ++ done; \ ++ if test "$$dot_seen" = "no"; then \ ++ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ ++ fi; test -z "$$fail" ++ ++mostlyclean-recursive clean-recursive distclean-recursive \ ++maintainer-clean-recursive: ++ @set fnord $(MAKEFLAGS); amf=$$2; \ ++ dot_seen=no; \ ++ case "$@" in \ ++ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ ++ *) list='$(SUBDIRS)' ;; \ ++ esac; \ ++ rev=''; for subdir in $$list; do \ ++ if test "$$subdir" = "."; then :; else \ ++ rev="$$subdir $$rev"; \ ++ fi; \ ++ done; \ ++ rev="$$rev ."; \ ++ target=`echo $@ | sed s/-recursive//`; \ ++ for subdir in $$rev; do \ ++ echo "Making $$target in $$subdir"; \ ++ if test "$$subdir" = "."; then \ ++ local_target="$$target-am"; \ ++ else \ ++ local_target="$$target"; \ ++ fi; \ ++ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ ++ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ ++ done && test -z "$$fail" ++tags-recursive: ++ list='$(SUBDIRS)'; for subdir in $$list; do \ ++ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ ++ done ++ ++tags: TAGS ++ ++ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ++ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ mkid -fID $$unique $(LISP) ++ ++TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ ++ $(TAGS_FILES) $(LISP) ++ tags=; \ ++ here=`pwd`; \ ++ list='$(SUBDIRS)'; for subdir in $$list; do \ ++ if test "$$subdir" = .; then :; else \ ++ test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ ++ fi; \ ++ done; \ ++ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ ++ || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) ++ ++GTAGS: ++ here=`CDPATH=: && cd $(top_builddir) && pwd` \ ++ && cd $(top_srcdir) \ ++ && gtags -i $(GTAGS_ARGS) $$here ++ ++distclean-tags: ++ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH ++ ++DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ++ ++top_distdir = .. ++distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) ++ ++distdir: $(DISTFILES) ++ @for file in $(DISTFILES); do \ ++ if test -f $$file; then d=.; else d=$(srcdir); fi; \ ++ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ ++ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ ++ $(mkinstalldirs) "$(distdir)/$$dir"; \ ++ fi; \ ++ if test -d $$d/$$file; then \ ++ cp -pR $$d/$$file $(distdir) \ ++ || exit 1; \ ++ else \ ++ test -f $(distdir)/$$file \ ++ || cp -p $$d/$$file $(distdir)/$$file \ ++ || exit 1; \ ++ fi; \ ++ done ++ for subdir in $(SUBDIRS); do \ ++ if test "$$subdir" = .; then :; else \ ++ test -d $(distdir)/$$subdir \ ++ || mkdir $(distdir)/$$subdir \ ++ || exit 1; \ ++ (cd $$subdir && \ ++ $(MAKE) $(AM_MAKEFLAGS) \ ++ top_distdir="$(top_distdir)" \ ++ distdir=../$(distdir)/$$subdir \ ++ distdir) \ ++ || exit 1; \ ++ fi; \ ++ done ++check-am: all-am ++check: check-recursive ++all-am: Makefile ++installdirs: installdirs-recursive ++installdirs-am: ++ ++install: install-recursive ++install-exec: install-exec-recursive ++install-data: install-data-recursive ++uninstall: uninstall-recursive ++ ++install-am: all-am ++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am ++ ++installcheck: installcheck-recursive ++install-strip: ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ `test -z '$(STRIP)' || \ ++ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install ++mostlyclean-generic: ++ ++clean-generic: ++ ++distclean-generic: ++ -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* ++ ++maintainer-clean-generic: ++ @echo "This command is intended for maintainers to use" ++ @echo "it deletes files that may require special tools to rebuild." ++clean: clean-recursive ++ ++clean-am: clean-generic mostlyclean-am ++ ++distclean: distclean-recursive ++ ++distclean-am: clean-am distclean-generic distclean-tags ++ ++dvi: dvi-recursive ++ ++dvi-am: ++ ++info: info-recursive ++ ++info-am: ++ ++install-data-am: ++ ++install-exec-am: ++ ++install-info: install-info-recursive ++ ++install-man: ++ ++installcheck-am: ++ ++maintainer-clean: maintainer-clean-recursive ++ ++maintainer-clean-am: distclean-am maintainer-clean-generic ++ ++mostlyclean: mostlyclean-recursive ++ ++mostlyclean-am: mostlyclean-generic ++ ++uninstall-am: uninstall-info-am ++ ++uninstall-info: uninstall-info-recursive ++ ++.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \ ++ clean-generic clean-recursive distclean distclean-generic \ ++ distclean-recursive distclean-tags distdir dvi dvi-am \ ++ dvi-recursive info info-am info-recursive install install-am \ ++ install-data install-data-am install-data-recursive \ ++ install-exec install-exec-am install-exec-recursive \ ++ install-info install-info-am install-info-recursive install-man \ ++ install-recursive install-strip installcheck installcheck-am \ ++ installdirs installdirs-am installdirs-recursive \ ++ maintainer-clean maintainer-clean-generic \ ++ maintainer-clean-recursive mostlyclean mostlyclean-generic \ ++ mostlyclean-recursive tags tags-recursive uninstall \ ++ uninstall-am uninstall-info-am uninstall-info-recursive \ ++ uninstall-recursive ++ ++ ++#man_MANS = \ ++# ./man4/twconfig.4 \ ++# ./man4/twpolicy.4 \ ++# ./man5/twfiles.5 \ ++# ./man8/siggen.8 \ ++# ./man8/tripwire.8 \ ++# ./man8/twadmin.8 \ ++# ./man8/twintro.8 \ ++# ./man8/twprint.8 ++# Tell versions [3.59,3.63) of GNU make to not export all variables. ++# Otherwise a system limit (for SysV at least) may be exceeded. ++.NOEXPORT: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/man/man4/Makefile.am tripwire-2.3.1-2/man/man4/Makefile.am +--- tripwire-2.3.1-2.old/man/man4/Makefile.am Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/man/man4/Makefile.am Sun Feb 18 07:36:44 2001 +@@ -0,0 +1,2 @@ ++AUTOMAKE_OPTIONS = foreign no-dependencies ++man_MANS = twconfig.4 twpolicy.4 +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/man/man4/Makefile.in tripwire-2.3.1-2/man/man4/Makefile.in +--- tripwire-2.3.1-2.old/man/man4/Makefile.in Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/man/man4/Makefile.in Mon Sep 22 09:40:55 2003 +@@ -0,0 +1,250 @@ ++# Makefile.in generated automatically by automake 1.5 from Makefile.am. ++ ++# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 ++# Free Software Foundation, Inc. ++# This Makefile.in is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without ++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A ++# PARTICULAR PURPOSE. ++ ++@SET_MAKE@ ++ ++SHELL = @SHELL@ ++ ++srcdir = @srcdir@ ++top_srcdir = @top_srcdir@ ++VPATH = @srcdir@ ++prefix = @prefix@ ++exec_prefix = @exec_prefix@ ++ ++bindir = @bindir@ ++sbindir = @sbindir@ ++libexecdir = @libexecdir@ ++datadir = @datadir@ ++sysconfdir = @sysconfdir@ ++sharedstatedir = @sharedstatedir@ ++localstatedir = @localstatedir@ ++libdir = @libdir@ ++infodir = @infodir@ ++mandir = @mandir@ ++includedir = @includedir@ ++oldincludedir = /usr/include ++pkgdatadir = $(datadir)/@PACKAGE@ ++pkglibdir = $(libdir)/@PACKAGE@ ++pkgincludedir = $(includedir)/@PACKAGE@ ++top_builddir = ../.. ++ ++ACLOCAL = @ACLOCAL@ ++AUTOCONF = @AUTOCONF@ ++AUTOMAKE = @AUTOMAKE@ ++AUTOHEADER = @AUTOHEADER@ ++ ++INSTALL = @INSTALL@ ++INSTALL_PROGRAM = @INSTALL_PROGRAM@ ++INSTALL_DATA = @INSTALL_DATA@ ++INSTALL_SCRIPT = @INSTALL_SCRIPT@ ++INSTALL_HEADER = $(INSTALL_DATA) ++transform = @program_transform_name@ ++NORMAL_INSTALL = : ++PRE_INSTALL = : ++POST_INSTALL = : ++NORMAL_UNINSTALL = : ++PRE_UNINSTALL = : ++POST_UNINSTALL = : ++AMTAR = @AMTAR@ ++AWK = @AWK@ ++CC = @CC@ ++CORE_CRYPT_O = @CORE_CRYPT_O@ ++CXX = @CXX@ ++DEPDIR = @DEPDIR@ ++EXEEXT = @EXEEXT@ ++GMAKE = @GMAKE@ ++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ ++OBJEXT = @OBJEXT@ ++PACKAGE = @PACKAGE@ ++RANLIB = @RANLIB@ ++STLPORT_INCLUDE = @STLPORT_INCLUDE@ ++STLPORT_LD = @STLPORT_LD@ ++STLPORT_LIBRARY = @STLPORT_LIBRARY@ ++STLPORT_MAKEFILE = @STLPORT_MAKEFILE@ ++STLPORT_SUBDIR = @STLPORT_SUBDIR@ ++SYSPRE = @SYSPRE@ ++VERSION = @VERSION@ ++YACC = @YACC@ ++am__include = @am__include@ ++am__quote = @am__quote@ ++install_sh = @install_sh@ ++path_to_sendmail = @path_to_sendmail@ ++path_to_vi = @path_to_vi@ ++ ++AUTOMAKE_OPTIONS = foreign no-dependencies ++man_MANS = twconfig.4 twpolicy.4 ++subdir = man/man4 ++mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs ++CONFIG_HEADER = $(top_builddir)/config.h ++CONFIG_CLEAN_FILES = ++depcomp = ++DIST_SOURCES = ++ ++NROFF = nroff ++MANS = $(man_MANS) ++DIST_COMMON = Makefile.am Makefile.in ++all: all-am ++ ++.SUFFIXES: ++$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) ++ cd $(top_srcdir) && \ ++ $(AUTOMAKE) --foreign man/man4/Makefile ++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status ++ cd $(top_builddir) && \ ++ CONFIG_HEADERS= CONFIG_LINKS= \ ++ CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status ++uninstall-info-am: ++ ++man4dir = $(mandir)/man4 ++install-man4: $(man4_MANS) $(man_MANS) ++ @$(NORMAL_INSTALL) ++ $(mkinstalldirs) $(DESTDIR)$(man4dir) ++ @list='$(man4_MANS) $(dist_man4_MANS) $(nodist_man4_MANS)'; \ ++ l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ ++ for i in $$l2; do \ ++ case "$$i" in \ ++ *.4*) list="$$list $$i" ;; \ ++ esac; \ ++ done; \ ++ for i in $$list; do \ ++ if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ ++ else file=$$i; fi; \ ++ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ ++ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ ++ inst=`echo $$inst | sed -e 's/^.*\///'`; \ ++ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ ++ echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man4dir)/$$inst"; \ ++ $(INSTALL_DATA) $$file $(DESTDIR)$(man4dir)/$$inst; \ ++ done ++uninstall-man4: ++ @$(NORMAL_UNINSTALL) ++ @list='$(man4_MANS) $(dist_man4_MANS) $(nodist_man4_MANS)'; \ ++ l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ ++ for i in $$l2; do \ ++ case "$$i" in \ ++ *.4*) list="$$list $$i" ;; \ ++ esac; \ ++ done; \ ++ for i in $$list; do \ ++ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ ++ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ ++ inst=`echo $$inst | sed -e 's/^.*\///'`; \ ++ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ ++ echo " rm -f $(DESTDIR)$(man4dir)/$$inst"; \ ++ rm -f $(DESTDIR)$(man4dir)/$$inst; \ ++ done ++tags: TAGS ++TAGS: ++ ++ ++DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ++ ++top_distdir = ../.. ++distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) ++ ++distdir: $(DISTFILES) ++ @for file in $(DISTFILES); do \ ++ if test -f $$file; then d=.; else d=$(srcdir); fi; \ ++ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ ++ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ ++ $(mkinstalldirs) "$(distdir)/$$dir"; \ ++ fi; \ ++ if test -d $$d/$$file; then \ ++ cp -pR $$d/$$file $(distdir) \ ++ || exit 1; \ ++ else \ ++ test -f $(distdir)/$$file \ ++ || cp -p $$d/$$file $(distdir)/$$file \ ++ || exit 1; \ ++ fi; \ ++ done ++check-am: all-am ++check: check-am ++all-am: Makefile $(MANS) ++ ++installdirs: ++ $(mkinstalldirs) $(DESTDIR)$(man4dir) ++ ++install: install-am ++install-exec: install-exec-am ++install-data: install-data-am ++uninstall: uninstall-am ++ ++install-am: all-am ++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am ++ ++installcheck: installcheck-am ++install-strip: ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ `test -z '$(STRIP)' || \ ++ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install ++mostlyclean-generic: ++ ++clean-generic: ++ ++distclean-generic: ++ -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* ++ ++maintainer-clean-generic: ++ @echo "This command is intended for maintainers to use" ++ @echo "it deletes files that may require special tools to rebuild." ++clean: clean-am ++ ++clean-am: clean-generic mostlyclean-am ++ ++distclean: distclean-am ++ ++distclean-am: clean-am distclean-generic ++ ++dvi: dvi-am ++ ++dvi-am: ++ ++info: info-am ++ ++info-am: ++ ++install-data-am: install-man ++ ++install-exec-am: ++ ++install-info: install-info-am ++ ++install-man: install-man4 ++ ++installcheck-am: ++ ++maintainer-clean: maintainer-clean-am ++ ++maintainer-clean-am: distclean-am maintainer-clean-generic ++ ++mostlyclean: mostlyclean-am ++ ++mostlyclean-am: mostlyclean-generic ++ ++uninstall-am: uninstall-info-am uninstall-man ++ ++uninstall-man: uninstall-man4 ++ ++.PHONY: all all-am check check-am clean clean-generic distclean \ ++ distclean-generic distdir dvi dvi-am info info-am install \ ++ install-am install-data install-data-am install-exec \ ++ install-exec-am install-info install-info-am install-man \ ++ install-man4 install-strip installcheck installcheck-am \ ++ installdirs maintainer-clean maintainer-clean-generic \ ++ mostlyclean mostlyclean-generic uninstall uninstall-am \ ++ uninstall-info-am uninstall-man uninstall-man4 ++ ++# Tell versions [3.59,3.63) of GNU make to not export all variables. ++# Otherwise a system limit (for SysV at least) may be exceeded. ++.NOEXPORT: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/man/man5/Makefile.am tripwire-2.3.1-2/man/man5/Makefile.am +--- tripwire-2.3.1-2.old/man/man5/Makefile.am Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/man/man5/Makefile.am Sun Feb 18 07:36:44 2001 +@@ -0,0 +1,2 @@ ++AUTOMAKE_OPTIONS = foreign no-dependencies ++man_MANS = twfiles.5 +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/man/man5/Makefile.in tripwire-2.3.1-2/man/man5/Makefile.in +--- tripwire-2.3.1-2.old/man/man5/Makefile.in Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/man/man5/Makefile.in Mon Sep 22 09:40:55 2003 +@@ -0,0 +1,250 @@ ++# Makefile.in generated automatically by automake 1.5 from Makefile.am. ++ ++# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 ++# Free Software Foundation, Inc. ++# This Makefile.in is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without ++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A ++# PARTICULAR PURPOSE. ++ ++@SET_MAKE@ ++ ++SHELL = @SHELL@ ++ ++srcdir = @srcdir@ ++top_srcdir = @top_srcdir@ ++VPATH = @srcdir@ ++prefix = @prefix@ ++exec_prefix = @exec_prefix@ ++ ++bindir = @bindir@ ++sbindir = @sbindir@ ++libexecdir = @libexecdir@ ++datadir = @datadir@ ++sysconfdir = @sysconfdir@ ++sharedstatedir = @sharedstatedir@ ++localstatedir = @localstatedir@ ++libdir = @libdir@ ++infodir = @infodir@ ++mandir = @mandir@ ++includedir = @includedir@ ++oldincludedir = /usr/include ++pkgdatadir = $(datadir)/@PACKAGE@ ++pkglibdir = $(libdir)/@PACKAGE@ ++pkgincludedir = $(includedir)/@PACKAGE@ ++top_builddir = ../.. ++ ++ACLOCAL = @ACLOCAL@ ++AUTOCONF = @AUTOCONF@ ++AUTOMAKE = @AUTOMAKE@ ++AUTOHEADER = @AUTOHEADER@ ++ ++INSTALL = @INSTALL@ ++INSTALL_PROGRAM = @INSTALL_PROGRAM@ ++INSTALL_DATA = @INSTALL_DATA@ ++INSTALL_SCRIPT = @INSTALL_SCRIPT@ ++INSTALL_HEADER = $(INSTALL_DATA) ++transform = @program_transform_name@ ++NORMAL_INSTALL = : ++PRE_INSTALL = : ++POST_INSTALL = : ++NORMAL_UNINSTALL = : ++PRE_UNINSTALL = : ++POST_UNINSTALL = : ++AMTAR = @AMTAR@ ++AWK = @AWK@ ++CC = @CC@ ++CORE_CRYPT_O = @CORE_CRYPT_O@ ++CXX = @CXX@ ++DEPDIR = @DEPDIR@ ++EXEEXT = @EXEEXT@ ++GMAKE = @GMAKE@ ++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ ++OBJEXT = @OBJEXT@ ++PACKAGE = @PACKAGE@ ++RANLIB = @RANLIB@ ++STLPORT_INCLUDE = @STLPORT_INCLUDE@ ++STLPORT_LD = @STLPORT_LD@ ++STLPORT_LIBRARY = @STLPORT_LIBRARY@ ++STLPORT_MAKEFILE = @STLPORT_MAKEFILE@ ++STLPORT_SUBDIR = @STLPORT_SUBDIR@ ++SYSPRE = @SYSPRE@ ++VERSION = @VERSION@ ++YACC = @YACC@ ++am__include = @am__include@ ++am__quote = @am__quote@ ++install_sh = @install_sh@ ++path_to_sendmail = @path_to_sendmail@ ++path_to_vi = @path_to_vi@ ++ ++AUTOMAKE_OPTIONS = foreign no-dependencies ++man_MANS = twfiles.5 ++subdir = man/man5 ++mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs ++CONFIG_HEADER = $(top_builddir)/config.h ++CONFIG_CLEAN_FILES = ++depcomp = ++DIST_SOURCES = ++ ++NROFF = nroff ++MANS = $(man_MANS) ++DIST_COMMON = Makefile.am Makefile.in ++all: all-am ++ ++.SUFFIXES: ++$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) ++ cd $(top_srcdir) && \ ++ $(AUTOMAKE) --foreign man/man5/Makefile ++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status ++ cd $(top_builddir) && \ ++ CONFIG_HEADERS= CONFIG_LINKS= \ ++ CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status ++uninstall-info-am: ++ ++man5dir = $(mandir)/man5 ++install-man5: $(man5_MANS) $(man_MANS) ++ @$(NORMAL_INSTALL) ++ $(mkinstalldirs) $(DESTDIR)$(man5dir) ++ @list='$(man5_MANS) $(dist_man5_MANS) $(nodist_man5_MANS)'; \ ++ l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ ++ for i in $$l2; do \ ++ case "$$i" in \ ++ *.5*) list="$$list $$i" ;; \ ++ esac; \ ++ done; \ ++ for i in $$list; do \ ++ if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ ++ else file=$$i; fi; \ ++ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ ++ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ ++ inst=`echo $$inst | sed -e 's/^.*\///'`; \ ++ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ ++ echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man5dir)/$$inst"; \ ++ $(INSTALL_DATA) $$file $(DESTDIR)$(man5dir)/$$inst; \ ++ done ++uninstall-man5: ++ @$(NORMAL_UNINSTALL) ++ @list='$(man5_MANS) $(dist_man5_MANS) $(nodist_man5_MANS)'; \ ++ l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ ++ for i in $$l2; do \ ++ case "$$i" in \ ++ *.5*) list="$$list $$i" ;; \ ++ esac; \ ++ done; \ ++ for i in $$list; do \ ++ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ ++ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ ++ inst=`echo $$inst | sed -e 's/^.*\///'`; \ ++ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ ++ echo " rm -f $(DESTDIR)$(man5dir)/$$inst"; \ ++ rm -f $(DESTDIR)$(man5dir)/$$inst; \ ++ done ++tags: TAGS ++TAGS: ++ ++ ++DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ++ ++top_distdir = ../.. ++distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) ++ ++distdir: $(DISTFILES) ++ @for file in $(DISTFILES); do \ ++ if test -f $$file; then d=.; else d=$(srcdir); fi; \ ++ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ ++ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ ++ $(mkinstalldirs) "$(distdir)/$$dir"; \ ++ fi; \ ++ if test -d $$d/$$file; then \ ++ cp -pR $$d/$$file $(distdir) \ ++ || exit 1; \ ++ else \ ++ test -f $(distdir)/$$file \ ++ || cp -p $$d/$$file $(distdir)/$$file \ ++ || exit 1; \ ++ fi; \ ++ done ++check-am: all-am ++check: check-am ++all-am: Makefile $(MANS) ++ ++installdirs: ++ $(mkinstalldirs) $(DESTDIR)$(man5dir) ++ ++install: install-am ++install-exec: install-exec-am ++install-data: install-data-am ++uninstall: uninstall-am ++ ++install-am: all-am ++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am ++ ++installcheck: installcheck-am ++install-strip: ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ `test -z '$(STRIP)' || \ ++ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install ++mostlyclean-generic: ++ ++clean-generic: ++ ++distclean-generic: ++ -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* ++ ++maintainer-clean-generic: ++ @echo "This command is intended for maintainers to use" ++ @echo "it deletes files that may require special tools to rebuild." ++clean: clean-am ++ ++clean-am: clean-generic mostlyclean-am ++ ++distclean: distclean-am ++ ++distclean-am: clean-am distclean-generic ++ ++dvi: dvi-am ++ ++dvi-am: ++ ++info: info-am ++ ++info-am: ++ ++install-data-am: install-man ++ ++install-exec-am: ++ ++install-info: install-info-am ++ ++install-man: install-man5 ++ ++installcheck-am: ++ ++maintainer-clean: maintainer-clean-am ++ ++maintainer-clean-am: distclean-am maintainer-clean-generic ++ ++mostlyclean: mostlyclean-am ++ ++mostlyclean-am: mostlyclean-generic ++ ++uninstall-am: uninstall-info-am uninstall-man ++ ++uninstall-man: uninstall-man5 ++ ++.PHONY: all all-am check check-am clean clean-generic distclean \ ++ distclean-generic distdir dvi dvi-am info info-am install \ ++ install-am install-data install-data-am install-exec \ ++ install-exec-am install-info install-info-am install-man \ ++ install-man5 install-strip installcheck installcheck-am \ ++ installdirs maintainer-clean maintainer-clean-generic \ ++ mostlyclean mostlyclean-generic uninstall uninstall-am \ ++ uninstall-info-am uninstall-man uninstall-man5 ++ ++# Tell versions [3.59,3.63) of GNU make to not export all variables. ++# Otherwise a system limit (for SysV at least) may be exceeded. ++.NOEXPORT: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/man/man8/Makefile.am tripwire-2.3.1-2/man/man8/Makefile.am +--- tripwire-2.3.1-2.old/man/man8/Makefile.am Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/man/man8/Makefile.am Sun Feb 18 07:36:44 2001 +@@ -0,0 +1,2 @@ ++AUTOMAKE_OPTIONS = foreign no-dependencies ++man_MANS = siggen.8 tripwire.8 twadmin.8 twintro.8 twprint.8 +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/man/man8/Makefile.in tripwire-2.3.1-2/man/man8/Makefile.in +--- tripwire-2.3.1-2.old/man/man8/Makefile.in Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/man/man8/Makefile.in Mon Sep 22 09:40:55 2003 +@@ -0,0 +1,250 @@ ++# Makefile.in generated automatically by automake 1.5 from Makefile.am. ++ ++# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 ++# Free Software Foundation, Inc. ++# This Makefile.in is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without ++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A ++# PARTICULAR PURPOSE. ++ ++@SET_MAKE@ ++ ++SHELL = @SHELL@ ++ ++srcdir = @srcdir@ ++top_srcdir = @top_srcdir@ ++VPATH = @srcdir@ ++prefix = @prefix@ ++exec_prefix = @exec_prefix@ ++ ++bindir = @bindir@ ++sbindir = @sbindir@ ++libexecdir = @libexecdir@ ++datadir = @datadir@ ++sysconfdir = @sysconfdir@ ++sharedstatedir = @sharedstatedir@ ++localstatedir = @localstatedir@ ++libdir = @libdir@ ++infodir = @infodir@ ++mandir = @mandir@ ++includedir = @includedir@ ++oldincludedir = /usr/include ++pkgdatadir = $(datadir)/@PACKAGE@ ++pkglibdir = $(libdir)/@PACKAGE@ ++pkgincludedir = $(includedir)/@PACKAGE@ ++top_builddir = ../.. ++ ++ACLOCAL = @ACLOCAL@ ++AUTOCONF = @AUTOCONF@ ++AUTOMAKE = @AUTOMAKE@ ++AUTOHEADER = @AUTOHEADER@ ++ ++INSTALL = @INSTALL@ ++INSTALL_PROGRAM = @INSTALL_PROGRAM@ ++INSTALL_DATA = @INSTALL_DATA@ ++INSTALL_SCRIPT = @INSTALL_SCRIPT@ ++INSTALL_HEADER = $(INSTALL_DATA) ++transform = @program_transform_name@ ++NORMAL_INSTALL = : ++PRE_INSTALL = : ++POST_INSTALL = : ++NORMAL_UNINSTALL = : ++PRE_UNINSTALL = : ++POST_UNINSTALL = : ++AMTAR = @AMTAR@ ++AWK = @AWK@ ++CC = @CC@ ++CORE_CRYPT_O = @CORE_CRYPT_O@ ++CXX = @CXX@ ++DEPDIR = @DEPDIR@ ++EXEEXT = @EXEEXT@ ++GMAKE = @GMAKE@ ++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ ++OBJEXT = @OBJEXT@ ++PACKAGE = @PACKAGE@ ++RANLIB = @RANLIB@ ++STLPORT_INCLUDE = @STLPORT_INCLUDE@ ++STLPORT_LD = @STLPORT_LD@ ++STLPORT_LIBRARY = @STLPORT_LIBRARY@ ++STLPORT_MAKEFILE = @STLPORT_MAKEFILE@ ++STLPORT_SUBDIR = @STLPORT_SUBDIR@ ++SYSPRE = @SYSPRE@ ++VERSION = @VERSION@ ++YACC = @YACC@ ++am__include = @am__include@ ++am__quote = @am__quote@ ++install_sh = @install_sh@ ++path_to_sendmail = @path_to_sendmail@ ++path_to_vi = @path_to_vi@ ++ ++AUTOMAKE_OPTIONS = foreign no-dependencies ++man_MANS = siggen.8 tripwire.8 twadmin.8 twintro.8 twprint.8 ++subdir = man/man8 ++mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs ++CONFIG_HEADER = $(top_builddir)/config.h ++CONFIG_CLEAN_FILES = ++depcomp = ++DIST_SOURCES = ++ ++NROFF = nroff ++MANS = $(man_MANS) ++DIST_COMMON = Makefile.am Makefile.in ++all: all-am ++ ++.SUFFIXES: ++$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) ++ cd $(top_srcdir) && \ ++ $(AUTOMAKE) --foreign man/man8/Makefile ++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status ++ cd $(top_builddir) && \ ++ CONFIG_HEADERS= CONFIG_LINKS= \ ++ CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status ++uninstall-info-am: ++ ++man8dir = $(mandir)/man8 ++install-man8: $(man8_MANS) $(man_MANS) ++ @$(NORMAL_INSTALL) ++ $(mkinstalldirs) $(DESTDIR)$(man8dir) ++ @list='$(man8_MANS) $(dist_man8_MANS) $(nodist_man8_MANS)'; \ ++ l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ ++ for i in $$l2; do \ ++ case "$$i" in \ ++ *.8*) list="$$list $$i" ;; \ ++ esac; \ ++ done; \ ++ for i in $$list; do \ ++ if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ ++ else file=$$i; fi; \ ++ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ ++ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ ++ inst=`echo $$inst | sed -e 's/^.*\///'`; \ ++ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ ++ echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man8dir)/$$inst"; \ ++ $(INSTALL_DATA) $$file $(DESTDIR)$(man8dir)/$$inst; \ ++ done ++uninstall-man8: ++ @$(NORMAL_UNINSTALL) ++ @list='$(man8_MANS) $(dist_man8_MANS) $(nodist_man8_MANS)'; \ ++ l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ ++ for i in $$l2; do \ ++ case "$$i" in \ ++ *.8*) list="$$list $$i" ;; \ ++ esac; \ ++ done; \ ++ for i in $$list; do \ ++ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ ++ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ ++ inst=`echo $$inst | sed -e 's/^.*\///'`; \ ++ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ ++ echo " rm -f $(DESTDIR)$(man8dir)/$$inst"; \ ++ rm -f $(DESTDIR)$(man8dir)/$$inst; \ ++ done ++tags: TAGS ++TAGS: ++ ++ ++DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ++ ++top_distdir = ../.. ++distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) ++ ++distdir: $(DISTFILES) ++ @for file in $(DISTFILES); do \ ++ if test -f $$file; then d=.; else d=$(srcdir); fi; \ ++ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ ++ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ ++ $(mkinstalldirs) "$(distdir)/$$dir"; \ ++ fi; \ ++ if test -d $$d/$$file; then \ ++ cp -pR $$d/$$file $(distdir) \ ++ || exit 1; \ ++ else \ ++ test -f $(distdir)/$$file \ ++ || cp -p $$d/$$file $(distdir)/$$file \ ++ || exit 1; \ ++ fi; \ ++ done ++check-am: all-am ++check: check-am ++all-am: Makefile $(MANS) ++ ++installdirs: ++ $(mkinstalldirs) $(DESTDIR)$(man8dir) ++ ++install: install-am ++install-exec: install-exec-am ++install-data: install-data-am ++uninstall: uninstall-am ++ ++install-am: all-am ++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am ++ ++installcheck: installcheck-am ++install-strip: ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ `test -z '$(STRIP)' || \ ++ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install ++mostlyclean-generic: ++ ++clean-generic: ++ ++distclean-generic: ++ -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* ++ ++maintainer-clean-generic: ++ @echo "This command is intended for maintainers to use" ++ @echo "it deletes files that may require special tools to rebuild." ++clean: clean-am ++ ++clean-am: clean-generic mostlyclean-am ++ ++distclean: distclean-am ++ ++distclean-am: clean-am distclean-generic ++ ++dvi: dvi-am ++ ++dvi-am: ++ ++info: info-am ++ ++info-am: ++ ++install-data-am: install-man ++ ++install-exec-am: ++ ++install-info: install-info-am ++ ++install-man: install-man8 ++ ++installcheck-am: ++ ++maintainer-clean: maintainer-clean-am ++ ++maintainer-clean-am: distclean-am maintainer-clean-generic ++ ++mostlyclean: mostlyclean-am ++ ++mostlyclean-am: mostlyclean-generic ++ ++uninstall-am: uninstall-info-am uninstall-man ++ ++uninstall-man: uninstall-man8 ++ ++.PHONY: all all-am check check-am clean clean-generic distclean \ ++ distclean-generic distdir dvi dvi-am info info-am install \ ++ install-am install-data install-data-am install-exec \ ++ install-exec-am install-info install-info-am install-man \ ++ install-man8 install-strip installcheck installcheck-am \ ++ installdirs maintainer-clean maintainer-clean-generic \ ++ mostlyclean mostlyclean-generic uninstall uninstall-am \ ++ uninstall-info-am uninstall-man uninstall-man8 ++ ++# Tell versions [3.59,3.63) of GNU make to not export all variables. ++# Otherwise a system limit (for SysV at least) may be exceeded. ++.NOEXPORT: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/missing tripwire-2.3.1-2/missing +--- tripwire-2.3.1-2.old/missing Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/missing Wed Jul 3 10:38:30 2002 +@@ -0,0 +1,283 @@ ++#! /bin/sh ++# Common stub for a few missing GNU programs while installing. ++# Copyright 1996, 1997, 1999, 2000 Free Software Foundation, Inc. ++# Originally by Fran,cois Pinard , 1996. ++ ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2, or (at your option) ++# any later version. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++ ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA ++# 02111-1307, USA. ++ ++# As a special exception to the GNU General Public License, if you ++# distribute this file as part of a program that contains a ++# configuration script generated by Autoconf, you may include it under ++# the same distribution terms that you use for the rest of that program. ++ ++if test $# -eq 0; then ++ echo 1>&2 "Try \`$0 --help' for more information" ++ exit 1 ++fi ++ ++run=: ++ ++# In the cases where this matters, `missing' is being run in the ++# srcdir already. ++if test -f configure.ac; then ++ configure_ac=configure.ac ++else ++ configure_ac=configure.in ++fi ++ ++case "$1" in ++--run) ++ # Try to run requested program, and just exit if it succeeds. ++ run= ++ shift ++ "$@" && exit 0 ++ ;; ++esac ++ ++# If it does not exist, or fails to run (possibly an outdated version), ++# try to emulate it. ++case "$1" in ++ ++ -h|--h|--he|--hel|--help) ++ echo "\ ++$0 [OPTION]... PROGRAM [ARGUMENT]... ++ ++Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an ++error status if there is no known handling for PROGRAM. ++ ++Options: ++ -h, --help display this help and exit ++ -v, --version output version information and exit ++ --run try to run the given command, and emulate it if it fails ++ ++Supported PROGRAM values: ++ aclocal touch file \`aclocal.m4' ++ autoconf touch file \`configure' ++ autoheader touch file \`config.h.in' ++ automake touch all \`Makefile.in' files ++ bison create \`y.tab.[ch]', if possible, from existing .[ch] ++ flex create \`lex.yy.c', if possible, from existing .c ++ help2man touch the output file ++ lex create \`lex.yy.c', if possible, from existing .c ++ makeinfo touch the output file ++ tar try tar, gnutar, gtar, then tar without non-portable flags ++ yacc create \`y.tab.[ch]', if possible, from existing .[ch]" ++ ;; ++ ++ -v|--v|--ve|--ver|--vers|--versi|--versio|--version) ++ echo "missing 0.3 - GNU automake" ++ ;; ++ ++ -*) ++ echo 1>&2 "$0: Unknown \`$1' option" ++ echo 1>&2 "Try \`$0 --help' for more information" ++ exit 1 ++ ;; ++ ++ aclocal) ++ echo 1>&2 "\ ++WARNING: \`$1' is missing on your system. You should only need it if ++ you modified \`acinclude.m4' or \`${configure_ac}'. You might want ++ to install the \`Automake' and \`Perl' packages. Grab them from ++ any GNU archive site." ++ touch aclocal.m4 ++ ;; ++ ++ autoconf) ++ echo 1>&2 "\ ++WARNING: \`$1' is missing on your system. You should only need it if ++ you modified \`${configure_ac}'. You might want to install the ++ \`Autoconf' and \`GNU m4' packages. Grab them from any GNU ++ archive site." ++ touch configure ++ ;; ++ ++ autoheader) ++ echo 1>&2 "\ ++WARNING: \`$1' is missing on your system. You should only need it if ++ you modified \`acconfig.h' or \`${configure_ac}'. You might want ++ to install the \`Autoconf' and \`GNU m4' packages. Grab them ++ from any GNU archive site." ++ files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` ++ test -z "$files" && files="config.h" ++ touch_files= ++ for f in $files; do ++ case "$f" in ++ *:*) touch_files="$touch_files "`echo "$f" | ++ sed -e 's/^[^:]*://' -e 's/:.*//'`;; ++ *) touch_files="$touch_files $f.in";; ++ esac ++ done ++ touch $touch_files ++ ;; ++ ++ automake) ++ echo 1>&2 "\ ++WARNING: \`$1' is missing on your system. You should only need it if ++ you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. ++ You might want to install the \`Automake' and \`Perl' packages. ++ Grab them from any GNU archive site." ++ find . -type f -name Makefile.am -print | ++ sed 's/\.am$/.in/' | ++ while read f; do touch "$f"; done ++ ;; ++ ++ bison|yacc) ++ echo 1>&2 "\ ++WARNING: \`$1' is missing on your system. You should only need it if ++ you modified a \`.y' file. You may need the \`Bison' package ++ in order for those modifications to take effect. You can get ++ \`Bison' from any GNU archive site." ++ rm -f y.tab.c y.tab.h ++ if [ $# -ne 1 ]; then ++ eval LASTARG="\${$#}" ++ case "$LASTARG" in ++ *.y) ++ SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` ++ if [ -f "$SRCFILE" ]; then ++ cp "$SRCFILE" y.tab.c ++ fi ++ SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` ++ if [ -f "$SRCFILE" ]; then ++ cp "$SRCFILE" y.tab.h ++ fi ++ ;; ++ esac ++ fi ++ if [ ! -f y.tab.h ]; then ++ echo >y.tab.h ++ fi ++ if [ ! -f y.tab.c ]; then ++ echo 'main() { return 0; }' >y.tab.c ++ fi ++ ;; ++ ++ lex|flex) ++ echo 1>&2 "\ ++WARNING: \`$1' is missing on your system. You should only need it if ++ you modified a \`.l' file. You may need the \`Flex' package ++ in order for those modifications to take effect. You can get ++ \`Flex' from any GNU archive site." ++ rm -f lex.yy.c ++ if [ $# -ne 1 ]; then ++ eval LASTARG="\${$#}" ++ case "$LASTARG" in ++ *.l) ++ SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` ++ if [ -f "$SRCFILE" ]; then ++ cp "$SRCFILE" lex.yy.c ++ fi ++ ;; ++ esac ++ fi ++ if [ ! -f lex.yy.c ]; then ++ echo 'main() { return 0; }' >lex.yy.c ++ fi ++ ;; ++ ++ help2man) ++ echo 1>&2 "\ ++WARNING: \`$1' is missing on your system. You should only need it if ++ you modified a dependency of a manual page. You may need the ++ \`Help2man' package in order for those modifications to take ++ effect. You can get \`Help2man' from any GNU archive site." ++ ++ file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` ++ if test -z "$file"; then ++ file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` ++ fi ++ if [ -f "$file" ]; then ++ touch $file ++ else ++ test -z "$file" || exec >$file ++ echo ".ab help2man is required to generate this page" ++ exit 1 ++ fi ++ ;; ++ ++ makeinfo) ++ if test -z "$run" && (makeinfo --version > /dev/null 2>&1); then ++ # We have makeinfo, but it failed. ++ exit 1 ++ fi ++ ++ echo 1>&2 "\ ++WARNING: \`$1' is missing on your system. You should only need it if ++ you modified a \`.texi' or \`.texinfo' file, or any other file ++ indirectly affecting the aspect of the manual. The spurious ++ call might also be the consequence of using a buggy \`make' (AIX, ++ DU, IRIX). You might want to install the \`Texinfo' package or ++ the \`GNU make' package. Grab either from any GNU archive site." ++ file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` ++ if test -z "$file"; then ++ file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` ++ file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` ++ fi ++ touch $file ++ ;; ++ ++ tar) ++ shift ++ if test -n "$run"; then ++ echo 1>&2 "ERROR: \`tar' requires --run" ++ exit 1 ++ fi ++ ++ # We have already tried tar in the generic part. ++ # Look for gnutar/gtar before invocation to avoid ugly error ++ # messages. ++ if (gnutar --version > /dev/null 2>&1); then ++ gnutar ${1+"$@"} && exit 0 ++ fi ++ if (gtar --version > /dev/null 2>&1); then ++ gtar ${1+"$@"} && exit 0 ++ fi ++ firstarg="$1" ++ if shift; then ++ case "$firstarg" in ++ *o*) ++ firstarg=`echo "$firstarg" | sed s/o//` ++ tar "$firstarg" ${1+"$@"} && exit 0 ++ ;; ++ esac ++ case "$firstarg" in ++ *h*) ++ firstarg=`echo "$firstarg" | sed s/h//` ++ tar "$firstarg" ${1+"$@"} && exit 0 ++ ;; ++ esac ++ fi ++ ++ echo 1>&2 "\ ++WARNING: I can't seem to be able to run \`tar' with the given arguments. ++ You may want to install GNU tar or Free paxutils, or check the ++ command line arguments." ++ exit 1 ++ ;; ++ ++ *) ++ echo 1>&2 "\ ++WARNING: \`$1' is needed, and you do not seem to have it handy on your ++ system. You might have modified some files without having the ++ proper tools for further handling them. Check the \`README' file, ++ it often tells you about the needed prerequirements for installing ++ this package. You may also peek at any GNU archive site, in case ++ some other package would contain this missing \`$1' program." ++ exit 1 ++ ;; ++esac ++ ++exit 0 +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/mkinstalldirs tripwire-2.3.1-2/mkinstalldirs +--- tripwire-2.3.1-2.old/mkinstalldirs Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/mkinstalldirs Sun Feb 18 07:08:31 2001 +@@ -0,0 +1,40 @@ ++#! /bin/sh ++# mkinstalldirs --- make directory hierarchy ++# Author: Noah Friedman ++# Created: 1993-05-16 ++# Public domain ++ ++# $Id: mkinstalldirs,v 1.1 2001/02/18 15:08:31 pherman Exp $ ++ ++errstatus=0 ++ ++for file ++do ++ set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` ++ shift ++ ++ pathcomp= ++ for d ++ do ++ pathcomp="$pathcomp$d" ++ case "$pathcomp" in ++ -* ) pathcomp=./$pathcomp ;; ++ esac ++ ++ if test ! -d "$pathcomp"; then ++ echo "mkdir $pathcomp" ++ ++ mkdir "$pathcomp" || lasterr=$? ++ ++ if test ! -d "$pathcomp"; then ++ errstatus=$lasterr ++ fi ++ fi ++ ++ pathcomp="$pathcomp/" ++ done ++done ++ ++exit $errstatus ++ ++# mkinstalldirs ends here +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/policy/twpol-Darwin.txt tripwire-2.3.1-2/policy/twpol-Darwin.txt +--- tripwire-2.3.1-2.old/policy/twpol-Darwin.txt Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/policy/twpol-Darwin.txt Thu Sep 18 22:55:41 2003 +@@ -0,0 +1,381 @@ ++ ############################################################################## ++ # ## ++############################################################################## # ++# # # ++# Policy file for Mac OS X # # ++# September 3, 2003 # # ++# ## ++############################################################################## ++ ++ ############################################################################## ++ # ## ++############################################################################## # ++# # # ++# Global Variable Definitions # # ++# # # ++# These are defined at install time by the installation script. You may # # ++# manually edit these if you are using this file directly and not from the # # ++# installation script itself. # # ++# ## ++############################################################################## ++ ++@@section GLOBAL ++ ++TWROOT=; ++TWBIN=; ++TWPOL=; ++TWDB=; ++TWSKEY=; ++TWLKEY=; ++TWREPORT=; ++#USER1=frodo ; ++ ++ ++ ############################################################################## ++ # Predefined Variables # ++############################################################################## ++# ++# Property Masks ++# ++# - ignore the following properties ++# + check the following properties ++# ++# a access timestamp (mutually exclusive with +CMSH) ++# b number of blocks allocated ++# c inode creation/modification timestamp ++# d ID of device on which inode resides ++# g group id of owner ++# i inode number ++# l growing files (logfiles for example) ++# m modification timestamp ++# n number of links ++# p permission and file mode bits ++# r ID of device pointed to by inode (valid only for device objects) ++# s file size ++# t file type ++# u user id of owner ++# ++# C CRC-32 hash ++# H HAVAL hash ++# M MD5 hash ++# S SHA hash ++# ++############################################################################## ++ ++SEC_DEVICE = +pugsr-dintlbamcCMSH ; ++SEC_DYNAMIC = +pinugt-dsrlbamcCMSH ; ++SEC_READONLY = +pinugtsbmCM-drlacSH ; ++SEC_GROWING = +pinugtl-dsrbamcCMSH ; ++ ++IgnoreAll = -pinugtsdrlbamcCMSH ; ++IgnoreNone = +pinugtsdrbamcCMSH-l ; ++Temporary = +pugt ; ++ ++@@section FS ++ ++ ######################################## ++ # ## ++######################################## # ++# # # ++# Tripwire Binaries and Data Files # # ++# ## ++######################################## ++ ++# Tripwire Binaries ++( ++ rulename = "Tripwire Binaries", severity=100 ++) ++{ ++ $(TWBIN)/siggen -> $(SEC_READONLY) ; ++ $(TWBIN)/tripwire -> $(SEC_READONLY) ; ++ $(TWBIN)/twadmin -> $(SEC_READONLY) ; ++ $(TWBIN)/twprint -> $(SEC_READONLY) ; ++} ++ ++# Tripwire Data Files - Configuration Files, Policy Files, Keys, Reports, Databases ++( ++ rulename = "Tripwire Data Files", severity=100 ++) ++{ ++ # NOTE: We remove the inode attribute because when Tripwire creates a backup, ++ # it does so by renaming the old file and creating a new one (which will ++ # have a new inode number). Inode is left turned on for keys, which shouldn't ++ # ever change. ++ ++ # NOTE: The first integrity check triggers this rule and each integrity check ++ # afterward triggers this rule until a database update is run, since the ++ # database file does not exist before that point. ++ ++ $(TWDB) -> $(SEC_DYNAMIC) -i ; ++ $(TWPOL)/tw.pol -> $(SEC_READONLY) -i ; ++ $(TWPOL)/tw.cfg -> $(SEC_READONLY) -i ; ++ $(TWLKEY)/local.key -> $(SEC_READONLY) ; ++ $(TWSKEY)/site.key -> $(SEC_READONLY) ; ++ ++ # don't scan the individual reports ++ $(TWREPORT) -> $(SEC_DYNAMIC)(recurse=0) ; ++ ++ ++} ++ ++ ################################################ ++ # ## ++################################################ # ++# # # ++# OS Boot and Configuration Files # # ++# ## ++################################################ ++( ++ rulename = "OS Boot and Configuration Files", severity=100 ++) ++{ ++ /mach.sym -> $(SEC_READONLY)-im ; ++ /mach_kernel -> $(SEC_READONLY) ; ++ /private/etc -> $(SEC_READONLY)-m ; ++ ++ #/private/etc/appletalk.cfg -> $(SEC_READONLY)-im ; ++ #/private/etc/appletalk.nvram.en0 -> $(SEC_DYNAMIC) ; ++ /private/etc/cups/certs -> $(SEC_DYNAMIC) -i(recurse=0) ; ++ /private/etc/smb.conf -> $(SEC_READONLY)-im ; ++ ++ /Library -> $(SEC_READONLY) ; ++ /System -> $(SEC_READONLY) ; ++ ++ /Library/Printers -> $(SEC_READONLY)(recurse=2) ; ++ /Library/Documentation -> $(SEC_READONLY)(recurse=2) ; ++ /Library/Filesystems -> $(SEC_DYNAMIC)-i ; ++ /Library/"Application Support" -> $(SEC_DYNAMIC)-im(recurse=2) ; ++ ++ /System/Library/Filesystems -> $(SEC_DYNAMIC)-i ; ++ /System/Library/CoreServices -> $(SEC_READONLY)-im ; ++ /System/Library/Filesystems/hfs.fs -> $(SEC_DYNAMIC)(recurse=0) ; ++ ++} ++ ++ ################################################### ++ # ## ++################################################### # ++# # # ++# Mount Points # # ++# ## ++################################################### ++( ++ rulename = "Mount Points", severity=60 ++) ++{ ++ / -> $(SEC_READONLY)(recurse=0) ; ++ /Volumes -> $(SEC_READONLY)-M (recurse=0) ; ++ /usr -> $(SEC_READONLY)(recurse=0) ; ++ ++} ++ ++ ++ ################################################ ++ # ## ++################################################ # ++# # # ++# System Devices # # ++# ## ++################################################ ++( ++ rulename = "System Devices", severity=60 ++) ++{ ++ /dev -> $(SEC_DEVICE)(recurse=0) ; ++ #/private/var/cron/tabs/.sock -> $(SEC_DEVICE) ; ++ ++} ++ ++ ################################################ ++ # ## ++################################################ # ++# # # ++# OS Binaries and Libraries # # ++# ## ++################################################ ++( ++ rulename = "OS Binaries and Libraries", severity=100 ++) ++{ ++ /bin -> $(SEC_READONLY) ; ++ /sbin -> $(SEC_READONLY) ; ++ /usr/bin -> $(SEC_READONLY) ; ++ /usr/lib -> $(SEC_READONLY) ; ++ /usr/libexec -> $(SEC_READONLY) ; ++ /usr/sbin -> $(SEC_READONLY) ; ++ #/usr/X11R6 -> $(SEC_READONLY)(recurse=2) ; # May not be present ++ #/usr/X11R6/man -> $(SEC_DYNAMIC)-i(recurse=1) ; # May not be present ++ /usr/share -> $(SEC_READONLY) ; ++ /usr/share/man -> $(SEC_DYNAMIC)-i(recurse=1) ; ++ ++} ++ ++ ++ ################################################ ++ # ## ++################################################ # ++# # # ++# OS X Applications # # ++# ## ++################################################ ++( ++ rulename = "OS Binaries and Libraries", severity=100 ++) ++{ ++ /Applications -> $(SEC_READONLY)-im(recurse=2) ; ++ "/Applications (Mac OS 9)" -> $(SEC_READONLY) ; ++ ++ ++ !/Applications/Internet/P2P/Downloads ; ++ !/Applications/Games/"Warcraft III Folder"/Save ; ++ ++} ++ ++ ################################################ ++ # ## ++################################################ # ++# # # ++# Usr Local Files # # ++# ## ++################################################ ++( ++ rulename = "Usr Local Files", severity=60 ++) ++{ ++ /usr/local -> $(SEC_READONLY) ; ++ #/usr/local/bin -> $(SEC_READONLY) ; ++ /usr/local/etc -> $(SEC_READONLY) ; ++ #/usr/local/sbin -> $(SEC_READONLY) ; ++ #/usr/local/share -> $(SEC_READONLY) ; ++} ++ ++ ++ ################################################ ++ # ## ++################################################ # ++# # # ++# Temporary Files and Directories # # ++# ## ++################################################ ++( ++ rulename = "Variable System Files", severity=60 ++) ++{ ++ /private/tmp -> $(SEC_DYNAMIC)-in(recurse=0) ; ++ ++ /private/var -> $(SEC_READONLY)-i ; ++ /private/var/backups -> $(SEC_READONLY)-imc(severity=100) ; ++ #/private/var/backups/local.nidump -> $(SEC_DYNAMIC) -i(severity=100) ; ++ #/private/var/cron -> $(SEC_DYNAMIC) -i ; ++ /private/var/db -> $(SEC_READONLY)-im ; ++ /private/var/db/BootCache.playlist -> $(SEC_DYNAMIC) -i ; ++ /private/var/db/netinfo/local.nidb/Store.384 -> $(SEC_READONLY)-imc(severity=100) ; ++ #/private/var/db/netinfo/local.nidb/Store.672 -> $(SEC_READONLY)-imc(severity=100) ; ++ /private/var/db/prebindOnDemandBadFiles -> $(SEC_DYNAMIC) -i ; ++ /private/var/log -> $(SEC_DYNAMIC) -i ; ++ #/private/var/mail -> $(SEC_DYNAMIC) ; ++ /private/var/msgs/bounds -> $(SEC_READONLY)-smbCM ; ++ /private/var/root/Library/Caches -> $(SEC_DYNAMIC) -i ; ++ /private/var/run -> $(SEC_DYNAMIC) -i(rulename="Running Services") ; ++ #/private/var/slp.regfile -> $(SEC_READONLY)-im ; ++ /private/var/spool/clientmqueue -> $(SEC_DYNAMIC)(recurse=0) ; ++ /private/var/spool/mqueue -> $(SEC_DYNAMIC)(recurse=0) ; ++ /private/var/spool/lock -> $(SEC_DYNAMIC) -i(recurse=1) ; ++ /private/var/spool/cups -> $(SEC_DYNAMIC) -i(recurse=0) ; ++ /private/var/tmp -> $(SEC_DYNAMIC) -i(recurse=0) ; ++ /private/var/vm -> $(SEC_DYNAMIC)(recurse=0) ; ++ ++ /Library/Caches -> $(SEC_DYNAMIC) -i ; ++ /Library/Logs -> $(SEC_DYNAMIC) -i(recurse=1) ; ++ /Library/Preferences -> $(SEC_DYNAMIC) -i(recurse=1) ; ++ "/Library/Internet Plug-Ins" -> $(SEC_DYNAMIC) -i ; ++ ++ !/private/var/db/dhcpclient ; ++ !/private/var/db/dhcpd_leases ; ++ !/private/var/db/locate.database ; ++ !/private/var/db/SystemEntropyCache ; ++ !/private/var/db/samba/secrets.tdb ; ++ ++} ++ ++ ++ ++ ################################################ ++ # ## ++################################################ # ++# # # ++# Classic Environment # # ++# ## ++################################################ ++( ++ rulename = "Classic Environment", severity=100 ++) ++{ ++ ++ /"System Folder" -> $(SEC_READONLY) ; ++ /"System Folder"/Preferences -> $(SEC_DYNAMIC)-i(recurse=0) ; ++ /"System Folder"/Extensions -> $(SEC_READONLY)-im ; ++ /"System Folder/Apple Menu Items" -> $(SEC_READONLY)-im(recurse=0) ; ++ /"System Folder"/Clipboard -> $(SEC_DYNAMIC) ; ++ ++ !/"System Folder"/VolumeNameIconPict ; ++ ++} ++ ++ ++ ++ ++ ################################################### ++ # ## ++################################################### # ++# # # ++# User Home Directories # # ++# ## ++################################################### ++( ++ rulename = "Home Directories", severity=60 ++) ++{ ++ /Users -> $(SEC_READONLY)(recurse=0) ; # Modify as needed ++ ++ ++##### ++# ++# USER1 as defined at top of policy ++# ++##### ++ ++# /Users/$(USER1) -> $(SEC_READONLY)-mc ; ++# /Users/$(USER1)/Library/Preferences -> $(SEC_DYNAMIC)-i ; ++# "/Users/$(USER1)/Library/Recent Servers" -> $(SEC_DYNAMIC)-i ; ++# "/Users/$(USER1)/Library/Safari" -> $(SEC_DYNAMIC)-i(recurse=3) ; ++# "/Users/$(USER1)/Library/Spelling" -> $(SEC_DYNAMIC)-i ; ++# "/Users/$(USER1)/Library/Mail" -> $(SEC_DYNAMIC)-i(recurse=2) ; ++# "/Users/$(USER1)/Pictures/iPhoto Library" -> $(SEC_DYNAMIC)-i(recurse=1) ; ++# "/Users/$(USER1)/Library/Application Support" -> $(SEC_DYNAMIC)-im(recurse=2) ; ++# /Users/$(USER1)/Documents -> $(SEC_DYNAMIC)(recurse=0) ; ++# /Users/$(USER1)/Desktop -> $(SEC_DYNAMIC)(recurse=0) ; ++ ++ ++#!"/Users/$(USER1)/Documents/Virtual PC List" ; # These items are *huge*, and are of little value to scan. ++#!"/Users/$(USER1)/Library/Preferences/Microsoft/Clipboard" ; ++#!"/Users/$(USER1)/Library/Safari/Icons" ; ++#!"/Users/$(USER1)/Music/iTunes" ; ++#!"/Users/$(USER1)/Library/Caches" ; ++#!"/Users/$(USER1)/Library/Cookies" ; ++#!"/Users/$(USER1)/Library/Logs" ; ++#!"/Users/$(USER1)/Library/Folding@home" ; ++#!"/Users/$(USER1)/setiathome" ; ++#!"/Users/$(USER1)/Documents/seti-A" ; ++#!"/Users/$(USER1)/Documents/seti-B" ; ++#!"/Users/$(USER1)/.tcsh_history" ; ++#!"/Users/$(USER1)/.DS_Store" ; ++#!"/Users/$(USER1)/Public/.DS_Store" ; ++#!"/Users/$(USER1)/.jpi_cache" ; ++#!"/Users/$(USER1)/.lpoptions" ; ++#!"/Users/$(USER1)/.Trash" ; ++} ++ ++# ++# JTI ++# +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/policy/twpol-FreeBSD.txt tripwire-2.3.1-2/policy/twpol-FreeBSD.txt +--- tripwire-2.3.1-2.old/policy/twpol-FreeBSD.txt Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/policy/twpol-FreeBSD.txt Sat Jun 7 19:00:06 2003 +@@ -0,0 +1,655 @@ ++# ++# Policy file for FreeBSD ++# ++# $FreeBSD: ports/security/tripwire/files/twpol.txt,v 1.2 2002/03/04 16:55:21 cy Exp $ ++# $Id: twpol-FreeBSD.txt,v 1.1 2003/06/08 02:00:06 pherman Exp $ ++ ++# ++# This is the example Tripwire Policy file. It is intended as a place to ++# start creating your own custom Tripwire Policy file. Referring to it as ++# well as the Tripwire Policy Guide should give you enough information to ++# make a good custom Tripwire Policy file that better covers your ++# configuration and security needs. A text version of this policy file is ++# called twpol.txt. ++# ++# Note that this file is tuned to an install of FreeBSD using ++# buildworld. If run unmodified, this file should create no errors on ++# database creation, or violations on a subsiquent integrity check. ++# However it is impossible for there to be one policy file for all machines, ++# so this existing one errs on the side of security. Your FreeBSD ++# configuration will most likey differ from the one our policy file was ++# tuned to, and will therefore require some editing of the default ++# Tripwire Policy file. ++# ++# The example policy file is best run with 'Loose Directory Checking' ++# enabled. Set LOOSEDIRECTORYCHECKING=TRUE in the Tripwire Configuration ++# file. ++# ++# Email support is not included and must be added to this file. ++# Add the 'emailto=' to the rule directive section of each rule (add a comma ++# after the 'severity=' line and add an 'emailto=' and include the email ++# addresses you want the violation reports to go to). Addresses are ++# semi-colon delimited. ++# ++ ++ ++ ++# ++# Global Variable Definitions ++# ++# These are defined at install time by the installation script. You may ++# Manually edit these if you are using this file directly and not from the ++# installation script itself. ++# ++ ++@@section GLOBAL ++TWROOT=; ++TWBIN=; ++TWPOL=; ++TWDB=; ++TWSKEY=; ++TWLKEY=; ++TWREPORT=; ++HOSTNAME=; ++ ++@@section FS ++SEC_CRIT = $(IgnoreNone)-SHa ; # Critical files that cannot change ++SEC_SUID = $(IgnoreNone)-SHa ; # Binaries with the SUID or SGID flags set ++SEC_BIN = $(ReadOnly) ; # Binaries that should not change ++SEC_CONFIG = $(Dynamic) ; # Config files that are changed infrequently but accessed often ++SEC_TTY = $(Dynamic)-ugp ; # Tty files that change ownership at login ++SEC_LOG = $(Growing) ; # Files that grow, but that should never change ownership ++SEC_INVARIANT = +tpug ; # Directories that should never change permission or ownership ++SIG_LOW = 33 ; # Non-critical files that are of minimal security impact ++SIG_MED = 66 ; # Non-critical files that are of significant security impact ++SIG_HI = 100 ; # Critical files that are significant points of vulnerability ++ ++ ++# Tripwire Binaries ++( ++ rulename = "Tripwire Binaries", ++ severity = $(SIG_HI) ++) ++{ ++ $(TWBIN)/siggen -> $(SEC_BIN) ; ++ $(TWBIN)/tripwire -> $(SEC_BIN) ; ++ $(TWBIN)/twadmin -> $(SEC_BIN) ; ++ $(TWBIN)/twprint -> $(SEC_BIN) ; ++} ++ ++# Tripwire Data Files - Configuration Files, Policy Files, Keys, Reports, Databases ++( ++ rulename = "Tripwire Data Files", ++ severity = $(SIG_HI) ++) ++{ ++ # NOTE: We remove the inode attribute because when Tripwire creates a backup, ++ # it does so by renaming the old file and creating a new one (which will ++ # have a new inode number). Inode is left turned on for keys, which shouldn't ++ # ever change. ++ ++ # NOTE: The first integrity check triggers this rule and each integrity check ++ # afterward triggers this rule until a database update is run, since the ++ # database file does not exist before that point. ++ ++ $(TWDB) -> $(SEC_CONFIG) -i ; ++ $(TWPOL)/tw.pol -> $(SEC_BIN) -i ; ++ $(TWPOL)/tw.cfg -> $(SEC_BIN) -i ; ++ $(TWPOL)/twcfg.txt -> $(SEC_BIN) ; ++ $(TWPOL)/twpol.txt -> $(SEC_BIN) ; ++ $(TWLKEY)/$(HOSTNAME)-local.key -> $(SEC_BIN) ; ++ $(TWSKEY)/site.key -> $(SEC_BIN) ; ++ ++ #don't scan the individual reports ++ $(TWREPORT) -> $(SEC_CONFIG) (recurse=0) ; ++} ++ ++ ++# Tripwire HQ Connector Binaries ++#( ++# rulename = "Tripwire HQ Connector Binaries", ++# severity = $(SIG_HI) ++#) ++#{ ++# $(TWBIN)/hqagent -> $(SEC_BIN) ; ++#} ++# ++# Tripwire HQ Connector - Configuration Files, Keys, and Logs ++ ++# ++# Note: File locations here are different than in a stock HQ Connector ++# installation. This is because Tripwire 2.3 uses a different path ++# structure than Tripwire 2.2.1. ++# ++# You may need to update your HQ Agent configuation file (or this policy ++# file) to correct the paths. We have attempted to support the FHS standard ++# here by placing the HQ Agent files similarly to the way Tripwire 2.3 ++# places them. ++# ++ ++#( ++# rulename = "Tripwire HQ Connector Data Files", ++# severity = $(SIG_HI) ++#) ++#{ ++# ++# # NOTE: Removing the inode attribute because when Tripwire creates a backup ++# # it does so by renaming the old file and creating a new one (which will ++# # have a new inode number). Leaving inode turned on for keys, which ++# # shouldn't ever change. ++# ++# ++# $(TWBIN)/agent.cfg -> $(SEC_BIN) -i ; ++# $(TWLKEY)/authentication.key -> $(SEC_BIN) ; ++# $(TWDB)/tasks.dat -> $(SEC_CONFIG) ; ++# $(TWDB)/schedule.dat -> $(SEC_CONFIG) ; ++# ++# # Uncomment if you have agent logging enabled. ++# #/var/log/tripwire/agent.log -> $(SEC_LOG) ; ++#} ++ ++ ++ ++# Commonly accessed directories that should remain static with regards to owner and group ++( ++ rulename = "Invariant Directories", ++ severity = $(SIG_MED) ++) ++{ ++ / -> $(SEC_INVARIANT) (recurse = false) ; ++ /home -> $(SEC_INVARIANT) (recurse = false) ; ++} ++ ++# ++# First, root's "home" ++# ++ ++( ++ rulename = "Root's home", ++ severity = $(SIG_HI) ++) ++{ ++ # /.rhosts -> $(SEC_CRIT) ; ++ /.profile -> $(SEC_CRIT) ; ++ /.cshrc -> $(SEC_CRIT) ; ++ /.login -> $(SEC_CRIT) ; ++ # /.exrc -> $(SEC_CRIT) ; ++ # /.logout -> $(SEC_CRIT) ; ++ # /.forward -> $(SEC_CRIT) ; ++ /root -> $(SEC_CRIT) (recurse = true) ; ++ !/root/.history ; ++ !/root/.bash_history ; ++ # !/root/.lsof_SYSTEM_NAME ; # Uncomment if lsof is installed ++} ++ ++ ++# ++# FreeBSD Kernel ++# ++ ++( ++ rulename = "FreeBSD Kernel", ++ severity = $(SIG_HI) ++) ++{ ++ /kernel -> $(SEC_CRIT) ; ++ /kernel.old -> $(SEC_CRIT) ; ++ /kernel.GENERIC -> $(SEC_CRIT) ; ++} ++ ++ ++# ++# FreeBSD Modules ++# ++ ++( ++ rulename = "FreeBSD Modules", ++ severity = $(SIG_HI) ++) ++{ ++ /modules -> $(SEC_CRIT) (recurse = true) ; ++ /modules.old -> $(SEC_CRIT) (recurse = true) ; ++ # /lkm -> $(SEC_CRIT) (recurse = true) ; # uncomment if using lkm kld ++} ++ ++ ++# ++# System Administration Programs ++# ++ ++( ++ rulename = "System Administration Programs", ++ severity = $(SIG_HI) ++) ++{ ++ /sbin -> $(SEC_CRIT) (recurse = true) ; ++ /usr/sbin -> $(SEC_CRIT) (recurse = true) ; ++} ++ ++ ++# ++# User Utilities ++# ++ ++( ++ rulename = "User Utilities", ++ severity = $(SIG_HI) ++) ++{ ++ /bin -> $(SEC_CRIT) (recurse = true) ; ++ /usr/bin -> $(SEC_CRIT) (recurse = true) ; ++} ++ ++ ++# ++# /dev ++# ++ ++( ++ rulename = "/dev", ++ severity = $(SIG_HI) ++) ++{ ++ /dev -> $(Device) (recurse = true) ; ++ !/dev/vga ; ++ !/dev/dri ; ++ /dev/console -> $(SEC_TTY) ; ++ /dev/ttyv0 -> $(SEC_TTY) ; ++ /dev/ttyv1 -> $(SEC_TTY) ; ++ /dev/ttyv2 -> $(SEC_TTY) ; ++ /dev/ttyv3 -> $(SEC_TTY) ; ++ /dev/ttyv4 -> $(SEC_TTY) ; ++ /dev/ttyv5 -> $(SEC_TTY) ; ++ /dev/ttyv6 -> $(SEC_TTY) ; ++ /dev/ttyv7 -> $(SEC_TTY) ; ++ /dev/ttyp0 -> $(SEC_TTY) ; ++ /dev/ttyp1 -> $(SEC_TTY) ; ++ /dev/ttyp2 -> $(SEC_TTY) ; ++ /dev/ttyp3 -> $(SEC_TTY) ; ++ /dev/ttyp4 -> $(SEC_TTY) ; ++ /dev/ttyp5 -> $(SEC_TTY) ; ++ /dev/ttyp6 -> $(SEC_TTY) ; ++ /dev/ttyp7 -> $(SEC_TTY) ; ++ /dev/ttyp8 -> $(SEC_TTY) ; ++ /dev/ttyp9 -> $(SEC_TTY) ; ++ /dev/ttypa -> $(SEC_TTY) ; ++ /dev/ttypb -> $(SEC_TTY) ; ++ /dev/ttypc -> $(SEC_TTY) ; ++ /dev/ttypd -> $(SEC_TTY) ; ++ /dev/ttype -> $(SEC_TTY) ; ++ /dev/ttypf -> $(SEC_TTY) ; ++ /dev/ttypg -> $(SEC_TTY) ; ++ /dev/ttyph -> $(SEC_TTY) ; ++ /dev/ttypi -> $(SEC_TTY) ; ++ /dev/ttypj -> $(SEC_TTY) ; ++ /dev/ttypl -> $(SEC_TTY) ; ++ /dev/ttypm -> $(SEC_TTY) ; ++ /dev/ttypn -> $(SEC_TTY) ; ++ /dev/ttypo -> $(SEC_TTY) ; ++ /dev/ttypp -> $(SEC_TTY) ; ++ /dev/ttypq -> $(SEC_TTY) ; ++ /dev/ttypr -> $(SEC_TTY) ; ++ /dev/ttyps -> $(SEC_TTY) ; ++ /dev/ttypt -> $(SEC_TTY) ; ++ /dev/ttypu -> $(SEC_TTY) ; ++ /dev/ttypv -> $(SEC_TTY) ; ++ /dev/cuaa0 -> $(SEC_TTY) ; # modem ++} ++ ++ ++# ++# /etc ++# ++ ++( ++ rulename = "/etc", ++ severity = $(SIG_HI) ++) ++{ ++ /etc -> $(SEC_CRIT) (recurse = true) ; ++ # /etc/mail/aliases -> $(SEC_CONFIG) ; ++ /etc/dumpdates -> $(SEC_CONFIG) ; ++ /etc/motd -> $(SEC_CONFIG) ; ++ !/etc/ppp/connect-errors ; ++ /etc/skeykeys -> $(SEC_CONFIG) ; ++ # Uncomment the following 4 lines if your password file does not change ++ # /etc/passwd -> $(SEC_CONFIG) ; ++ # /etc/master.passwd -> $(SEC_CONFIG) ; ++ # /etc/pwd.db -> $(SEC_CONFIG) ; ++ # /etc/spwd.db -> $(SEC_CONFIG) ; ++} ++ ++ ++# ++# Copatibility (Linux) ++# ++ ++( ++ rulename = "Linux Compatibility", ++ severity = $(SIG_HI) ++) ++{ ++ /compat -> $(SEC_CRIT) (recurse = true) ; ++# ++# Uncomment the following if Linux compatibility is used. Replace ++# HOSTNAME1 and HOSTNAME2 with the hosts that have Linux emulation port ++# installed. ++# ++#@@ifhost HOSTNAME1 || HOSTNAME2 ++# /compat/linux/etc -> $(SEC_INVARIANT) (recurse = false) ; ++# /compat/linux/etc/X11 -> $(SEC_CONFIG) (recurse = true) ; ++# /compat/linux/etc/pam.d -> $(SEC_CONFIG) (recurse = true) ; ++# /compat/linux/etc/profile.d -> $(SEC_CONFIG) (recurse = true) ; ++# /compat/linux/etc/real -> $(SEC_CONFIG) (recurse = true) ; ++# /compat/linux/etc/bashrc -> $(SEC_CONFIG) ; ++# /compat/linux/etc/csh.login -> $(SEC_CONFIG) ; ++# /compat/linux/etc/host.conf -> $(SEC_CONFIG) ; ++# /compat/linux/etc/hosts.allow -> $(SEC_CONFIG) ; ++# /compat/linux/etc/hosts.deny -> $(SEC_CONFIG) ; ++# /compat/linux/etc/info-dir -> $(SEC_CONFIG) ; ++# /compat/linux/etc/inputrc -> $(SEC_CONFIG) ; ++# /compat/linux/etc/ld.so.conf -> $(SEC_CONFIG) ; ++# /compat/linux/etc/nsswitch.conf -> $(SEC_CONFIG) ; ++# /compat/linux/etc/profile -> $(SEC_CONFIG) ; ++# /compat/linux/etc/redhat-release -> $(SEC_CONFIG) ; ++# /compat/linux/etc/rpc -> $(SEC_CONFIG) ; ++# /compat/linux/etc/securetty -> $(SEC_CONFIG) ; ++# /compat/linux/etc/shells -> $(SEC_CONFIG) ; ++# /compat/linux/etc/termcap -> $(SEC_CONFIG) ; ++# /compat/linux/etc/yp.conf -> $(SEC_CONFIG) ; ++# !/compat/linux/etc/ld.so.cache ; ++# !/compat/linux/var/spool/mail ; ++#@@endif ++} ++ ++ ++# ++# Libraries, include files, and other system files ++# ++ ++( ++ rulename = "Libraries, include files, and other system files", ++ severity = $(SIG_HI) ++) ++{ ++ /usr/include -> $(SEC_CRIT) (recurse = true) ; ++ /usr/lib -> $(SEC_CRIT) (recurse = true) ; ++ /usr/libdata -> $(SEC_CRIT) (recurse = true) ; ++ /usr/libexec -> $(SEC_CRIT) (recurse = true) ; ++ /usr/share -> $(SEC_CRIT) (recurse = true) ; ++ /usr/share/man -> $(SEC_CONFIG) ; ++ !/usr/share/man/whatis ; ++ !/usr/share/man/.glimpse_filenames ; ++ !/usr/share/man/.glimpse_filenames_index ; ++ !/usr/share/man/.glimpse_filetimes ; ++ !/usr/share/man/.glimpse_filters ; ++ !/usr/share/man/.glimpse_index ; ++ !/usr/share/man/.glimpse_messages ; ++ !/usr/share/man/.glimpse_partitions ; ++ !/usr/share/man/.glimpse_statistics ; ++ !/usr/share/man/.glimpse_turbo ; ++ /usr/share/man/man1 -> $(SEC_CRIT) (recurse = true) ; ++ /usr/share/man/man2 -> $(SEC_CRIT) (recurse = true) ; ++ /usr/share/man/man3 -> $(SEC_CRIT) (recurse = true) ; ++ /usr/share/man/man4 -> $(SEC_CRIT) (recurse = true) ; ++ /usr/share/man/man5 -> $(SEC_CRIT) (recurse = true) ; ++ /usr/share/man/man6 -> $(SEC_CRIT) (recurse = true) ; ++ /usr/share/man/man7 -> $(SEC_CRIT) (recurse = true) ; ++ /usr/share/man/man8 -> $(SEC_CRIT) (recurse = true) ; ++ /usr/share/man/man9 -> $(SEC_CRIT) (recurse = true) ; ++ /usr/share/man/mann -> $(SEC_CRIT) (recurse = true) ; ++ ! /usr/share/man/cat1 ; ++ ! /usr/share/man/cat2 ; ++ ! /usr/share/man/cat3 ; ++ ! /usr/share/man/cat4 ; ++ ! /usr/share/man/cat5 ; ++ ! /usr/share/man/cat6 ; ++ ! /usr/share/man/cat7 ; ++ ! /usr/share/man/cat8 ; ++ ! /usr/share/man/cat9 ; ++ ! /usr/share/man/catl ; ++ ! /usr/share/man/catn ; ++ /usr/share/perl/man -> $(SEC_CONFIG) ; ++ !/usr/share/perl/man/whatis ; ++ !/usr/share/perl/man/.glimpse_filenames ; ++ !/usr/share/perl/man/.glimpse_filenames_index ; ++ !/usr/share/perl/man/.glimpse_filetimes ; ++ !/usr/share/perl/man/.glimpse_filters ; ++ !/usr/share/perl/man/.glimpse_index ; ++ !/usr/share/perl/man/.glimpse_messages ; ++ !/usr/share/perl/man/.glimpse_partitions ; ++ !/usr/share/perl/man/.glimpse_statistics ; ++ !/usr/share/perl/man/.glimpse_turbo ; ++ /usr/share/perl/man/man3 -> $(SEC_CRIT) (recurse = true) ; ++ ! /usr/share/perl/man/cat3 ; ++ /usr/local/lib/perl5/5.00503/man -> $(SEC_CONFIG) ; ++ ! /usr/local/lib/perl5/5.00503/man/whatis ; ++ ! /usr/local/lib/perl5/5.00503/man/.glimpse_filters ; ++ ! /usr/local/lib/perl5/5.00503/man/.glimpse_filetimes ; ++ ! /usr/local/lib/perl5/5.00503/man/.glimpse_messages ; ++ ! /usr/local/lib/perl5/5.00503/man/.glimpse_statistics ; ++ ! /usr/local/lib/perl5/5.00503/man/.glimpse_index ; ++ ! /usr/local/lib/perl5/5.00503/man/.glimpse_turbo ; ++ ! /usr/local/lib/perl5/5.00503/man/.glimpse_partitions ; ++ ! /usr/local/lib/perl5/5.00503/man/.glimpse_filenames ; ++ ! /usr/local/lib/perl5/5.00503/man/.glimpse_filenames_index ; ++ /usr/local/lib/perl5/5.00503/man/man3 -> $(SEC_CRIT) (recurse = true) ; ++ ! /usr/local/lib/perl5/5.00503/man/cat3 ; ++} ++ ++ ++# ++# X11R6 ++# ++ ++( ++ rulename = "X11R6", ++ severity = $(SIG_HI) ++) ++{ ++ /usr/X11R6 -> $(SEC_CRIT) (recurse = true) ; ++ /usr/X11R6/lib/X11/xdm -> $(SEC_CONFIG) (recurse = true) ; ++ !/usr/X11R6/lib/X11/xdm/xdm-errors ; ++ !/usr/X11R6/lib/X11/xdm/authdir/authfiles ; ++ !/usr/X11R6/lib/X11/xdm/xdm-pid ; ++ /usr/X11R6/lib/X11/xkb/compiled -> $(SEC_CONFIG) (recurse = true) ; ++ /usr/X11R6/man -> $(SEC_CONFIG) ; ++ !/usr/X11R6/man/whatis ; ++ !/usr/X11R6/man/.glimpse_filenames ; ++ !/usr/X11R6/man/.glimpse_filenames_index ; ++ !/usr/X11R6/man/.glimpse_filetimes ; ++ !/usr/X11R6/man/.glimpse_filters ; ++ !/usr/X11R6/man/.glimpse_index ; ++ !/usr/X11R6/man/.glimpse_messages ; ++ !/usr/X11R6/man/.glimpse_partitions ; ++ !/usr/X11R6/man/.glimpse_statistics ; ++ !/usr/X11R6/man/.glimpse_turbo ; ++ /usr/X11R6/man/man1 -> $(SEC_CRIT) (recurse = true) ; ++ /usr/X11R6/man/man2 -> $(SEC_CRIT) (recurse = true) ; ++ /usr/X11R6/man/man3 -> $(SEC_CRIT) (recurse = true) ; ++ /usr/X11R6/man/man4 -> $(SEC_CRIT) (recurse = true) ; ++ /usr/X11R6/man/man5 -> $(SEC_CRIT) (recurse = true) ; ++ /usr/X11R6/man/man6 -> $(SEC_CRIT) (recurse = true) ; ++ /usr/X11R6/man/man7 -> $(SEC_CRIT) (recurse = true) ; ++ /usr/X11R6/man/man8 -> $(SEC_CRIT) (recurse = true) ; ++ /usr/X11R6/man/man9 -> $(SEC_CRIT) (recurse = true) ; ++ /usr/X11R6/man/manl -> $(SEC_CRIT) (recurse = true) ; ++ /usr/X11R6/man/mann -> $(SEC_CRIT) (recurse = true) ; ++ ! /usr/X11R6/man/cat1 ; ++ ! /usr/X11R6/man/cat2 ; ++ ! /usr/X11R6/man/cat3 ; ++ ! /usr/X11R6/man/cat4 ; ++ ! /usr/X11R6/man/cat5 ; ++ ! /usr/X11R6/man/cat6 ; ++ ! /usr/X11R6/man/cat7 ; ++ ! /usr/X11R6/man/cat8 ; ++ ! /usr/X11R6/man/cat9 ; ++ ! /usr/X11R6/man/catl ; ++ ! /usr/X11R6/man/catn ; ++} ++ ++ ++# ++# sources ++# ++ ++( ++ rulename = "Sources", ++ severity = $(SIG_HI) ++) ++{ ++ /usr/src -> $(SEC_CRIT) (recurse = true) ; ++ /usr/src/sys/compile -> $(SEC_CONFIG) (recurse = false) ; ++} ++ ++ ++# ++# NIS ++# ++ ++( ++ rulename = "NIS", ++ severity = $(SIG_HI) ++) ++{ ++ /var/yp -> $(SEC_CRIT) (recurse = true) ; ++ !/var/yp/binding ; ++} ++ ++ ++# ++# Temporary directories ++# ++( ++ rulename = "Temporary directories", ++ recurse = false, ++ severity = $(SIG_LOW) ++) ++{ ++ /usr/tmp -> $(SEC_INVARIANT) ; ++ /var/tmp -> $(SEC_INVARIANT) ; ++ /var/preserve -> $(SEC_INVARIANT) ; ++ /tmp -> $(SEC_INVARIANT) ; ++} ++ ++# ++# Local files ++# ++ ++( ++ rulename = "Local files", ++ severity = $(SIG_MED) ++) ++{ ++ /usr/local/bin -> $(SEC_BIN) (recurse = true) ; ++ /usr/local/sbin -> $(SEC_BIN) (recurse = true) ; ++ /usr/local/etc -> $(SEC_BIN) (recurse = true) ; ++ /usr/local/lib -> $(SEC_BIN) (recurse = true ) ; ++ /usr/local/libexec -> $(SEC_BIN) (recurse = true ) ; ++ /usr/local/share -> $(SEC_BIN) (recurse = true ) ; ++ /usr/local/man -> $(SEC_CONFIG) ; ++ !/usr/local/man/whatis ; ++ !/usr/local/man/.glimpse_filenames ; ++ !/usr/local/man/.glimpse_filenames_index ; ++ !/usr/local/man/.glimpse_filetimes ; ++ !/usr/local/man/.glimpse_filters ; ++ !/usr/local/man/.glimpse_index ; ++ !/usr/local/man/.glimpse_messages ; ++ !/usr/local/man/.glimpse_partitions ; ++ !/usr/local/man/.glimpse_statistics ; ++ !/usr/local/man/.glimpse_turbo ; ++ /usr/local/man/man1 -> $(SEC_CRIT) (recurse = true) ; ++ /usr/local/man/man2 -> $(SEC_CRIT) (recurse = true) ; ++ /usr/local/man/man3 -> $(SEC_CRIT) (recurse = true) ; ++ /usr/local/man/man4 -> $(SEC_CRIT) (recurse = true) ; ++ /usr/local/man/man5 -> $(SEC_CRIT) (recurse = true) ; ++ /usr/local/man/man6 -> $(SEC_CRIT) (recurse = true) ; ++ /usr/local/man/man7 -> $(SEC_CRIT) (recurse = true) ; ++ /usr/local/man/man8 -> $(SEC_CRIT) (recurse = true) ; ++ /usr/local/man/man9 -> $(SEC_CRIT) (recurse = true) ; ++ /usr/local/man/manl -> $(SEC_CRIT) (recurse = true) ; ++ /usr/local/man/mann -> $(SEC_CRIT) (recurse = true) ; ++ ! /usr/local/man/cat1 ; ++ ! /usr/local/man/cat2 ; ++ ! /usr/local/man/cat3 ; ++ ! /usr/local/man/cat4 ; ++ ! /usr/local/man/cat5 ; ++ ! /usr/local/man/cat6 ; ++ ! /usr/local/man/cat7 ; ++ ! /usr/local/man/cat8 ; ++ ! /usr/local/man/cat9 ; ++ ! /usr/local/man/catl ; ++ ! /usr/local/man/catn ; ++ /usr/local/krb5 -> $(SEC_CRIT) (recurse = true) ; ++ /usr/local/krb5/man -> $(SEC_CONFIG) ; ++ !/usr/local/krb5/man/whatis ; ++ !/usr/local/krb5/man/.glimpse_filenames ; ++ !/usr/local/krb5/man/.glimpse_filenames_index ; ++ !/usr/local/krb5/man/.glimpse_filetimes ; ++ !/usr/local/krb5/man/.glimpse_filters ; ++ !/usr/local/krb5/man/.glimpse_index ; ++ !/usr/local/krb5/man/.glimpse_messages ; ++ !/usr/local/krb5/man/.glimpse_partitions ; ++ !/usr/local/krb5/man/.glimpse_statistics ; ++ !/usr/local/krb5/man/.glimpse_turbo ; ++ /usr/local/krb5/man/man1 -> $(SEC_CRIT) (recurse = true) ; ++ /usr/local/krb5/man/man2 -> $(SEC_CRIT) (recurse = true) ; ++ /usr/local/krb5/man/man3 -> $(SEC_CRIT) (recurse = true) ; ++ /usr/local/krb5/man/man4 -> $(SEC_CRIT) (recurse = true) ; ++ /usr/local/krb5/man/man5 -> $(SEC_CRIT) (recurse = true) ; ++ /usr/local/krb5/man/man6 -> $(SEC_CRIT) (recurse = true) ; ++ /usr/local/krb5/man/man7 -> $(SEC_CRIT) (recurse = true) ; ++ /usr/local/krb5/man/man8 -> $(SEC_CRIT) (recurse = true) ; ++ /usr/local/krb5/man/man9 -> $(SEC_CRIT) (recurse = true) ; ++ /usr/local/krb5/man/manl -> $(SEC_CRIT) (recurse = true) ; ++ /usr/local/krb5/man/mann -> $(SEC_CRIT) (recurse = true) ; ++ ! /usr/local/krb5/man/cat1 ; ++ ! /usr/local/krb5/man/cat2 ; ++ ! /usr/local/krb5/man/cat3 ; ++ ! /usr/local/krb5/man/cat4 ; ++ ! /usr/local/krb5/man/cat5 ; ++ ! /usr/local/krb5/man/cat6 ; ++ ! /usr/local/krb5/man/cat7 ; ++ ! /usr/local/krb5/man/cat8 ; ++ ! /usr/local/krb5/man/cat9 ; ++ ! /usr/local/krb5/man/catl ; ++ ! /usr/local/krb5/man/catn ; ++ /usr/local/www -> $(SEC_CONFIG) (recurse = true) ; ++} ++ ++ ++( ++ rulename = "Security Control", ++ severity = $(SIG_HI) ++) ++{ ++ /etc/group -> $(SEC_CRIT) ; ++ /etc/crontab -> $(SEC_CRIT) ; ++} ++ ++#============================================================================= ++# ++# Copyright 2000 Tripwire, Inc. Tripwire is a registered trademark of Tripwire, ++# Inc. in the United States and other countries. All rights reserved. ++# ++# FreeBSD is a registered trademark of the FreeBSD Project Inc. ++# ++# UNIX is a registered trademark of The Open Group. ++# ++#============================================================================= ++# ++# Permission is granted to make and distribute verbatim copies of this document ++# provided the copyright notice and this permission notice are preserved on all ++# copies. ++# ++# Permission is granted to copy and distribute modified versions of this ++# document under the conditions for verbatim copying, provided that the entire ++# resulting derived work is distributed under the terms of a permission notice ++# identical to this one. ++# ++# Permission is granted to copy and distribute translations of this document ++# into another language, under the above conditions for modified versions, ++# except that this permission notice may be stated in a translation approved by ++# Tripwire, Inc. ++# ++# DCM +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/policy/twpol-GENERIC.txt tripwire-2.3.1-2/policy/twpol-GENERIC.txt +--- tripwire-2.3.1-2.old/policy/twpol-GENERIC.txt Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/policy/twpol-GENERIC.txt Sat Jun 7 19:00:06 2003 +@@ -0,0 +1,1107 @@ ++ ############################################################################## ++ # ## ++############################################################################## # ++# # # ++# Generic Policy file # # ++# V1.2.0rh # # ++# August 9, 2001 # # ++# ## ++############################################################################## ++ ++ ++ ############################################################################## ++ # ## ++############################################################################## # ++# # # ++# This is the example Tripwire Policy file. It is intended as a place to # # ++# start creating your own custom Tripwire Policy file. Referring to it as # # ++# well as the Tripwire Policy Guide should give you enough information to # # ++# make a good custom Tripwire Policy file that better covers your # # ++# configuration and security needs. A text version of this policy file is # # ++# called twpol.txt. # # ++# # # ++# Note that this file is tuned to an 'everything' install of Red Hat Linux. # # ++# If run unmodified, this file should create no errors on database # # ++# creation, or violations on a subsiquent integrity check. However, it is # # ++# impossible for there to be one policy file for all machines, so this # # ++# existing one errs on the side of security. Your Linux configuration will # # ++# most likey differ from the one our policy file was tuned to, and will # # ++# therefore require some editing of the default Tripwire Policy file. # # ++# # # ++# The example policy file is best run with 'Loose Directory Checking' # # ++# enabled. Set LOOSEDIRECTORYCHECKING=TRUE in the Tripwire Configuration # # ++# file. # # ++# # # ++# Email support is not included and must be added to this file. # # ++# Add the 'emailto=' to the rule directive section of each rule (add a comma # # ++# after the 'severity=' line and add an 'emailto=' and include the email # # ++# addresses you want the violation reports to go to). Addresses are # # ++# semi-colon delimited. # # ++# ## ++############################################################################## ++ ++ ++ ++ ############################################################################## ++ # ## ++############################################################################## # ++# # # ++# Global Variable Definitions # # ++# # # ++# These are defined at install time by the installation script. You may # # ++# Manually edit these if you are using this file directly and not from the # # ++# installation script itself. # # ++# ## ++############################################################################## ++ ++@@section GLOBAL ++TWROOT=; ++TWBIN=; ++TWPOL=; ++TWDB=; ++TWSKEY=; ++TWLKEY=; ++TWREPORT=; ++HOSTNAME=; ++ ++@@section FS ++SEC_CRIT = $(IgnoreNone)-SHa ; # Critical files that cannot change ++SEC_SUID = $(IgnoreNone)-SHa ; # Binaries with the SUID or SGID flags set ++SEC_BIN = $(ReadOnly) ; # Binaries that should not change ++SEC_CONFIG = $(Dynamic) ; # Config files that are changed infrequently but accessed often ++SEC_LOG = $(Growing) ; # Files that grow, but that should never change ownership ++SEC_INVARIANT = +tpug ; # Directories that should never change permission or ownership ++SIG_LOW = 33 ; # Non-critical files that are of minimal security impact ++SIG_MED = 66 ; # Non-critical files that are of significant security impact ++SIG_HI = 100 ; # Critical files that are significant points of vulnerability ++ ++ ++# Tripwire Binaries ++( ++ rulename = "Tripwire Binaries", ++ severity = $(SIG_HI) ++) ++{ ++ $(TWBIN)/siggen -> $(SEC_BIN) ; ++ $(TWBIN)/tripwire -> $(SEC_BIN) ; ++ $(TWBIN)/twadmin -> $(SEC_BIN) ; ++ $(TWBIN)/twprint -> $(SEC_BIN) ; ++} ++ ++# Tripwire Data Files - Configuration Files, Policy Files, Keys, Reports, Databases ++( ++ rulename = "Tripwire Data Files", ++ severity = $(SIG_HI) ++) ++{ ++ # NOTE: We remove the inode attribute because when Tripwire creates a backup, ++ # it does so by renaming the old file and creating a new one (which will ++ # have a new inode number). Inode is left turned on for keys, which shouldn't ++ # ever change. ++ ++ # NOTE: The first integrity check triggers this rule and each integrity check ++ # afterward triggers this rule until a database update is run, since the ++ # database file does not exist before that point. ++ ++ $(TWDB) -> $(SEC_CONFIG) -i ; ++ $(TWPOL)/tw.pol -> $(SEC_BIN) -i ; ++ $(TWPOL)/tw.cfg -> $(SEC_BIN) -i ; ++ $(TWLKEY)/$(HOSTNAME)-local.key -> $(SEC_BIN) ; ++ $(TWSKEY)/site.key -> $(SEC_BIN) ; ++ ++ #don't scan the individual reports ++ $(TWREPORT) -> $(SEC_CONFIG) (recurse=0) ; ++} ++ ++ ++# Tripwire HQ Connector Binaries ++#( ++# rulename = "Tripwire HQ Connector Binaries", ++# severity = $(SIG_HI) ++#) ++#{ ++# $(TWBIN)/hqagent -> $(SEC_BIN) ; ++#} ++# ++# Tripwire HQ Connector - Configuration Files, Keys, and Logs ++ ++ ############################################################################## ++ # ## ++############################################################################## # ++# # # ++# Note: File locations here are different than in a stock HQ Connector # # ++# installation. This is because Tripwire 2.3 uses a different path # # ++# structure than Tripwire 2.2.1. # # ++# # # ++# You may need to update your HQ Agent configuation file (or this policy # # ++# file) to correct the paths. We have attempted to support the FHS standard # # ++# here by placing the HQ Agent files similarly to the way Tripwire 2.3 # # ++# places them. # # ++# ## ++############################################################################## ++ ++#( ++# rulename = "Tripwire HQ Connector Data Files", ++# severity = $(SIG_HI) ++#) ++#{ ++# ############################################################################# ++# ############################################################################## ++# # NOTE: Removing the inode attribute because when Tripwire creates a backup ## ++# # it does so by renaming the old file and creating a new one (which will ## ++# # have a new inode number). Leaving inode turned on for keys, which ## ++# # shouldn't ever change. ## ++# ############################################################################# ++# ++# $(TWBIN)/agent.cfg -> $(SEC_BIN) -i ; ++# $(TWLKEY)/authentication.key -> $(SEC_BIN) ; ++# $(TWDB)/tasks.dat -> $(SEC_CONFIG) ; ++# $(TWDB)/schedule.dat -> $(SEC_CONFIG) ; ++# ++# # Uncomment if you have agent logging enabled. ++# #/var/log/tripwire/agent.log -> $(SEC_LOG) ; ++#} ++ ++ ++ ++# Commonly accessed directories that should remain static with regards to owner and group ++( ++ rulename = "Invariant Directories", ++ severity = $(SIG_MED) ++) ++{ ++ / -> $(SEC_INVARIANT) (recurse = 0) ; ++ /home -> $(SEC_INVARIANT) (recurse = 0) ; ++ /etc -> $(SEC_INVARIANT) (recurse = 0) ; ++} ++ ################################################ ++ # ## ++################################################ # ++# # # ++# File System and Disk Administration Programs # # ++# ## ++################################################ ++ ++( ++ rulename = "File System and Disk Administraton Programs", ++ severity = $(SIG_HI) ++) ++{ ++ /sbin/accton -> $(SEC_CRIT) ; ++ /sbin/badblocks -> $(SEC_CRIT) ; ++ /sbin/busybox -> $(SEC_CRIT) ; ++ /sbin/busybox.anaconda -> $(SEC_CRIT) ; ++ /sbin/convertquota -> $(SEC_CRIT) ; ++ /sbin/dosfsck -> $(SEC_CRIT) ; ++ /sbin/debugfs -> $(SEC_CRIT) ; ++ /sbin/debugreiserfs -> $(SEC_CRIT) ; ++ /sbin/dumpe2fs -> $(SEC_CRIT) ; ++ /sbin/dump -> $(SEC_CRIT) ; ++ /sbin/dump.static -> $(SEC_CRIT) ; ++ # /sbin/e2fsadm -> $(SEC_CRIT) ; tune2fs? ++ /sbin/e2fsck -> $(SEC_CRIT) ; ++ /sbin/e2label -> $(SEC_CRIT) ; ++ /sbin/fdisk -> $(SEC_CRIT) ; ++ /sbin/fsck -> $(SEC_CRIT) ; ++ /sbin/fsck.ext2 -> $(SEC_CRIT) ; ++ /sbin/fsck.ext3 -> $(SEC_CRIT) ; ++ /sbin/fsck.minix -> $(SEC_CRIT) ; ++ /sbin/fsck.msdos -> $(SEC_CRIT) ; ++ /sbin/fsck.vfat -> $(SEC_CRIT) ; ++ /sbin/ftl_check -> $(SEC_CRIT) ; ++ /sbin/ftl_format -> $(SEC_CRIT) ; ++ /sbin/hdparm -> $(SEC_CRIT) ; ++ #/sbin/lvchange -> $(SEC_CRIT) ; ++ #/sbin/lvcreate -> $(SEC_CRIT) ; ++ #/sbin/lvdisplay -> $(SEC_CRIT) ; ++ #/sbin/lvextend -> $(SEC_CRIT) ; ++ #/sbin/lvmchange -> $(SEC_CRIT) ; ++ #/sbin/lvmcreate_initrd -> $(SEC_CRIT) ; ++ #/sbin/lvmdiskscan -> $(SEC_CRIT) ; ++ #/sbin/lvmsadc -> $(SEC_CRIT) ; ++ #/sbin/lvmsar -> $(SEC_CRIT) ; ++ #/sbin/lvreduce -> $(SEC_CRIT) ; ++ #/sbin/lvremove -> $(SEC_CRIT) ; ++ #/sbin/lvrename -> $(SEC_CRIT) ; ++ #/sbin/lvscan -> $(SEC_CRIT) ; ++ /sbin/mkbootdisk -> $(SEC_CRIT) ; ++ /sbin/mkdosfs -> $(SEC_CRIT) ; ++ /sbin/mke2fs -> $(SEC_CRIT) ; ++ /sbin/mkfs -> $(SEC_CRIT) ; ++ /sbin/mkfs.bfs -> $(SEC_CRIT) ; ++ /sbin/mkfs.ext2 -> $(SEC_CRIT) ; ++ /sbin/mkfs.minix -> $(SEC_CRIT) ; ++ /sbin/mkfs.msdos -> $(SEC_CRIT) ; ++ /sbin/mkfs.vfat -> $(SEC_CRIT) ; ++ /sbin/mkinitrd -> $(SEC_CRIT) ; ++ #/sbin/mkpv -> $(SEC_CRIT) ; ++ /sbin/mkraid -> $(SEC_CRIT) ; ++ /sbin/mkreiserfs -> $(SEC_CRIT) ; ++ /sbin/mkswap -> $(SEC_CRIT) ; ++ #/sbin/mtx -> $(SEC_CRIT) ; ++ /sbin/pam_console_apply -> $(SEC_CRIT) ; ++ /sbin/parted -> $(SEC_CRIT) ; ++ /sbin/pcinitrd -> $(SEC_CRIT) ; ++ #/sbin/pvchange -> $(SEC_CRIT) ; ++ #/sbin/pvcreate -> $(SEC_CRIT) ; ++ #/sbin/pvdata -> $(SEC_CRIT) ; ++ #/sbin/pvdisplay -> $(SEC_CRIT) ; ++ #/sbin/pvmove -> $(SEC_CRIT) ; ++ #/sbin/pvscan -> $(SEC_CRIT) ; ++ /sbin/quotacheck -> $(SEC_CRIT) ; ++ /sbin/quotaon -> $(SEC_CRIT) ; ++ /sbin/raidstart -> $(SEC_CRIT) ; ++ /sbin/reiserfsck -> $(SEC_CRIT) ; ++ /sbin/resize2fs -> $(SEC_CRIT) ; ++ /sbin/resize_reiserfs -> $(SEC_CRIT) ; ++ /sbin/restore -> $(SEC_CRIT) ; ++ /sbin/restore.static -> $(SEC_CRIT) ; ++ /sbin/scsi_info -> $(SEC_CRIT) ; ++ /sbin/sfdisk -> $(SEC_CRIT) ; ++ /sbin/stinit -> $(SEC_CRIT) ; ++ #/sbin/tapeinfo -> $(SEC_CRIT) ; ++ /sbin/tune2fs -> $(SEC_CRIT) ; ++ /sbin/unpack -> $(SEC_CRIT) ; ++ /sbin/update -> $(SEC_CRIT) ; ++ #/sbin/vgcfgbackup -> $(SEC_CRIT) ; ++ #/sbin/vgcfgrestore -> $(SEC_CRIT) ; ++ #/sbin/vgchange -> $(SEC_CRIT) ; ++ #/sbin/vgck -> $(SEC_CRIT) ; ++ #/sbin/vgcreate -> $(SEC_CRIT) ; ++ #/sbin/vgdisplay -> $(SEC_CRIT) ; ++ #/sbin/vgexport -> $(SEC_CRIT) ; ++ #/sbin/vgextend -> $(SEC_CRIT) ; ++ #/sbin/vgimport -> $(SEC_CRIT) ; ++ #/sbin/vgmerge -> $(SEC_CRIT) ; ++ #/sbin/vgmknodes -> $(SEC_CRIT) ; ++ #/sbin/vgreduce -> $(SEC_CRIT) ; ++ #/sbin/vgremove -> $(SEC_CRIT) ; ++ #/sbin/vgrename -> $(SEC_CRIT) ; ++ #/sbin/vgscan -> $(SEC_CRIT) ; ++ #/sbin/vgsplit -> $(SEC_CRIT) ; ++ /bin/chgrp -> $(SEC_CRIT) ; ++ /bin/chmod -> $(SEC_CRIT) ; ++ /bin/chown -> $(SEC_CRIT) ; ++ /bin/cp -> $(SEC_CRIT) ; ++ /bin/cpio -> $(SEC_CRIT) ; ++ /bin/mount -> $(SEC_CRIT) ; ++ /bin/umount -> $(SEC_CRIT) ; ++ /bin/mkdir -> $(SEC_CRIT) ; ++ /bin/mknod -> $(SEC_CRIT) ; ++ /bin/mktemp -> $(SEC_CRIT) ; ++ /bin/rm -> $(SEC_CRIT) ; ++ /bin/rmdir -> $(SEC_CRIT) ; ++ /bin/touch -> $(SEC_CRIT) ; ++} ++ ++ ################################## ++ # ## ++################################## # ++# # # ++# Kernel Administration Programs # # ++# ## ++################################## ++ ++( ++ rulename = "Kernel Administration Programs", ++ severity = $(SIG_HI) ++) ++{ ++ /sbin/adjtimex -> $(SEC_CRIT) ; ++ /sbin/ctrlaltdel -> $(SEC_CRIT) ; ++ /sbin/depmod -> $(SEC_CRIT) ; ++ /sbin/insmod -> $(SEC_CRIT) ; ++ /sbin/insmod.static -> $(SEC_CRIT) ; ++ /sbin/insmod_ksymoops_clean -> $(SEC_CRIT) ; ++ /sbin/klogd -> $(SEC_CRIT) ; ++ /sbin/ldconfig -> $(SEC_CRIT) ; ++ /sbin/minilogd -> $(SEC_CRIT) ; ++ /sbin/modinfo -> $(SEC_CRIT) ; ++ #/sbin/nuactlun -> $(SEC_CRIT) ; ++ #/sbin/nuscsitcpd -> $(SEC_CRIT) ; ++ /sbin/pivot_root -> $(SEC_CRIT) ; ++ /sbin/sndconfig -> $(SEC_CRIT) ; ++ /sbin/sysctl -> $(SEC_CRIT) ; ++} ++ ++ ####################### ++ # ## ++####################### # ++# # # ++# Networking Programs # # ++# ## ++####################### ++ ++( ++ rulename = "Networking Programs", ++ severity = $(SIG_HI) ++) ++{ ++ /etc/sysconfig/network-scripts/ifdown -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/ifdown-cipcb -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/ifdown-ippp -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/ifdown-ipv6 -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/ifdown-isdn -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/ifdown-post -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/ifdown-ppp -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/ifdown-sit -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/ifdown-sl -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/ifup -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/ifup-aliases -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/ifup-cipcb -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/ifup-ippp -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/ifup-ipv6 -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/ifup-isdn -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/ifup-plip -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/ifup-plusb -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/ifup-post -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/ifup-ppp -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/ifup-routes -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/ifup-sit -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/ifup-sl -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/ifup-wireless -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/network-functions -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/network-functions-ipv6 -> $(SEC_CRIT) ; ++ /bin/ping -> $(SEC_CRIT) ; ++ /sbin/agetty -> $(SEC_CRIT) ; ++ /sbin/arp -> $(SEC_CRIT) ; ++ /sbin/arping -> $(SEC_CRIT) ; ++ /sbin/dhcpcd -> $(SEC_CRIT) ; ++ /sbin/ether-wake -> $(SEC_CRIT) ; ++ #/sbin/getty -> $(SEC_CRIT) ; ++ /sbin/ifcfg -> $(SEC_CRIT) ; ++ /sbin/ifconfig -> $(SEC_CRIT) ; ++ /sbin/ifdown -> $(SEC_CRIT) ; ++ /sbin/ifenslave -> $(SEC_CRIT) ; ++ /sbin/ifport -> $(SEC_CRIT) ; ++ /sbin/ifup -> $(SEC_CRIT) ; ++ /sbin/ifuser -> $(SEC_CRIT) ; ++ /sbin/ip -> $(SEC_CRIT) ; ++ /sbin/ip6tables -> $(SEC_CRIT) ; ++ /sbin/ipchains -> $(SEC_CRIT) ; ++ /sbin/ipchains-restore -> $(SEC_CRIT) ; ++ /sbin/ipchains-save -> $(SEC_CRIT) ; ++ /sbin/ipfwadm -> $(SEC_CRIT) ; ++ /sbin/ipmaddr -> $(SEC_CRIT) ; ++ /sbin/iptables -> $(SEC_CRIT) ; ++ /sbin/iptables-restore -> $(SEC_CRIT) ; ++ /sbin/iptables-save -> $(SEC_CRIT) ; ++ /sbin/iptunnel -> $(SEC_CRIT) ; ++ #/sbin/ipvsadm -> $(SEC_CRIT) ; ++ #/sbin/ipvsadm-restore -> $(SEC_CRIT) ; ++ #/sbin/ipvsadm-save -> $(SEC_CRIT) ; ++ /sbin/ipx_configure -> $(SEC_CRIT) ; ++ /sbin/ipx_interface -> $(SEC_CRIT) ; ++ /sbin/ipx_internal_net -> $(SEC_CRIT) ; ++ /sbin/iwconfig -> $(SEC_CRIT) ; ++ /sbin/iwgetid -> $(SEC_CRIT) ; ++ /sbin/iwlist -> $(SEC_CRIT) ; ++ /sbin/iwpriv -> $(SEC_CRIT) ; ++ /sbin/iwspy -> $(SEC_CRIT) ; ++ /sbin/mgetty -> $(SEC_CRIT) ; ++ /sbin/mingetty -> $(SEC_CRIT) ; ++ /sbin/nameif -> $(SEC_CRIT) ; ++ /sbin/netreport -> $(SEC_CRIT) ; ++ /sbin/plipconfig -> $(SEC_CRIT) ; ++ /sbin/portmap -> $(SEC_CRIT) ; ++ /sbin/ppp-watch -> $(SEC_CRIT) ; ++ #/sbin/rarp -> $(SEC_CRIT) ; ++ /sbin/route -> $(SEC_CRIT) ; ++ /sbin/slattach -> $(SEC_CRIT) ; ++ /sbin/tc -> $(SEC_CRIT) ; ++ #/sbin/uugetty -> $(SEC_CRIT) ; ++ /sbin/vgetty -> $(SEC_CRIT) ; ++ /sbin/ypbind -> $(SEC_CRIT) ; ++} ++ ++ ################################## ++ # ## ++################################## # ++# # # ++# System Administration Programs # # ++# ## ++################################## ++ ++( ++ rulename = "System Administration Programs", ++ severity = $(SIG_HI) ++) ++{ ++ /sbin/chkconfig -> $(SEC_CRIT) ; ++ /sbin/fuser -> $(SEC_CRIT) ; ++ /sbin/halt -> $(SEC_CRIT) ; ++ /sbin/init -> $(SEC_CRIT) ; ++ /sbin/initlog -> $(SEC_CRIT) ; ++ /sbin/install-info -> $(SEC_CRIT) ; ++ /sbin/killall5 -> $(SEC_CRIT) ; ++ #/sbin/linuxconf -> $(SEC_CRIT) ; ++ #/sbin/linuxconf-auth -> $(SEC_CRIT) ; ++ /sbin/pam_tally -> $(SEC_CRIT) ; ++ /sbin/pwdb_chkpwd -> $(SEC_CRIT) ; ++ #/sbin/remadmin -> $(SEC_CRIT) ; ++ /sbin/rescuept -> $(SEC_CRIT) ; ++ /sbin/rmt -> $(SEC_CRIT) ; ++ /sbin/rpc.lockd -> $(SEC_CRIT) ; ++ /sbin/rpc.statd -> $(SEC_CRIT) ; ++ /sbin/rpcdebug -> $(SEC_CRIT) ; ++ /sbin/service -> $(SEC_CRIT) ; ++ /sbin/setsysfont -> $(SEC_CRIT) ; ++ /sbin/shutdown -> $(SEC_CRIT) ; ++ /sbin/sulogin -> $(SEC_CRIT) ; ++ /sbin/swapon -> $(SEC_CRIT) ; ++ /sbin/syslogd -> $(SEC_CRIT) ; ++ /sbin/unix_chkpwd -> $(SEC_CRIT) ; ++ /bin/pwd -> $(SEC_CRIT) ; ++ /bin/uname -> $(SEC_CRIT) ; ++} ++ ++ ######################################## ++ # ## ++######################################## # ++# # # ++# Hardware and Device Control Programs # # ++# ## ++######################################## ++( ++ rulename = "Hardware and Device Control Programs", ++ severity = $(SIG_HI) ++) ++{ ++ /bin/setserial -> $(SEC_CRIT) ; ++ /bin/sfxload -> $(SEC_CRIT) ; ++ /sbin/blockdev -> $(SEC_CRIT) ; ++ /sbin/cardctl -> $(SEC_CRIT) ; ++ /sbin/cardmgr -> $(SEC_CRIT) ; ++ /sbin/cbq -> $(SEC_CRIT) ; ++ /sbin/dump_cis -> $(SEC_CRIT) ; ++ /sbin/elvtune -> $(SEC_CRIT) ; ++ /sbin/hotplug -> $(SEC_CRIT) ; ++ /sbin/hwclock -> $(SEC_CRIT) ; ++ /sbin/ide_info -> $(SEC_CRIT) ; ++ #/sbin/isapnp -> $(SEC_CRIT) ; ++ /sbin/kbdrate -> $(SEC_CRIT) ; ++ /sbin/losetup -> $(SEC_CRIT) ; ++ /sbin/lspci -> $(SEC_CRIT) ; ++ /sbin/lspnp -> $(SEC_CRIT) ; ++ /sbin/mii-tool -> $(SEC_CRIT) ; ++ /sbin/pack_cis -> $(SEC_CRIT) ; ++ #/sbin/pnpdump -> $(SEC_CRIT) ; ++ /sbin/probe -> $(SEC_CRIT) ; ++ /sbin/pump -> $(SEC_CRIT) ; ++ /sbin/setpci -> $(SEC_CRIT) ; ++ /sbin/shapecfg -> $(SEC_CRIT) ; ++} ++ ++ ############################### ++ # ## ++############################### # ++# # # ++# System Information Programs # # ++# ## ++############################### ++( ++ rulename = "System Information Programs", ++ severity = $(SIG_HI) ++) ++{ ++ /sbin/consoletype -> $(SEC_CRIT) ; ++ /sbin/kernelversion -> $(SEC_CRIT) ; ++ /sbin/runlevel -> $(SEC_CRIT) ; ++} ++ ++ #################################### ++ # ## ++#################################### # ++# # # ++# Application Information Programs # # ++# ## ++#################################### ++ ++( ++ rulename = "Application Information Programs", ++ severity = $(SIG_HI) ++) ++{ ++ /sbin/genksyms -> $(SEC_CRIT) ; ++ #/sbin/genksyms.old -> $(SEC_CRIT) ; ++ /sbin/rtmon -> $(SEC_CRIT) ; ++} ++ ++ ########################## ++ # ## ++########################## # ++# # # ++# Shell Related Programs # # ++# ## ++########################## ++( ++ rulename = "Shell Related Programs", ++ severity = $(SIG_HI) ++) ++{ ++ /sbin/getkey -> $(SEC_CRIT) ; ++ /sbin/nash -> $(SEC_CRIT) ; ++ /sbin/sash -> $(SEC_CRIT) ; ++} ++ ++ ++ ################ ++ # ## ++################ # ++# # # ++# OS Utilities # # ++# ## ++################ ++( ++ rulename = "Operating System Utilities", ++ severity = $(SIG_HI) ++) ++{ ++ /bin/arch -> $(SEC_CRIT) ; ++ /bin/ash -> $(SEC_CRIT) ; ++ /bin/ash.static -> $(SEC_CRIT) ; ++ /bin/aumix-minimal -> $(SEC_CRIT) ; ++ /bin/basename -> $(SEC_CRIT) ; ++ /bin/cat -> $(SEC_CRIT) ; ++ /bin/consolechars -> $(SEC_CRIT) ; ++ /bin/cut -> $(SEC_CRIT) ; ++ /bin/date -> $(SEC_CRIT) ; ++ /bin/dd -> $(SEC_CRIT) ; ++ /bin/df -> $(SEC_CRIT) ; ++ /bin/dmesg -> $(SEC_CRIT) ; ++ /bin/doexec -> $(SEC_CRIT) ; ++ /bin/echo -> $(SEC_CRIT) ; ++ /bin/ed -> $(SEC_CRIT) ; ++ /bin/egrep -> $(SEC_CRIT) ; ++ /bin/false -> $(SEC_CRIT) ; ++ /bin/fgrep -> $(SEC_CRIT) ; ++ /bin/gawk -> $(SEC_CRIT) ; ++ /bin/gawk-3.1.0 -> $(SEC_CRIT) ; ++ /bin/gettext -> $(SEC_CRIT) ; ++ /bin/grep -> $(SEC_CRIT) ; ++ /bin/gunzip -> $(SEC_CRIT) ; ++ /bin/gzip -> $(SEC_CRIT) ; ++ /bin/hostname -> $(SEC_CRIT) ; ++ /bin/igawk -> $(SEC_CRIT) ; ++ /bin/ipcalc -> $(SEC_CRIT) ; ++ /bin/kill -> $(SEC_CRIT) ; ++ /bin/ln -> $(SEC_CRIT) ; ++ /bin/loadkeys -> $(SEC_CRIT) ; ++ /bin/login -> $(SEC_CRIT) ; ++ /bin/ls -> $(SEC_CRIT) ; ++ /bin/mail -> $(SEC_CRIT) ; ++ /bin/more -> $(SEC_CRIT) ; ++ /bin/mt -> $(SEC_CRIT) ; ++ /bin/mv -> $(SEC_CRIT) ; ++ /bin/netstat -> $(SEC_CRIT) ; ++ /bin/nice -> $(SEC_CRIT) ; ++ /bin/pgawk -> $(SEC_CRIT) ; ++ /bin/ps -> $(SEC_CRIT) ; ++ /bin/rpm -> $(SEC_CRIT) ; ++ /bin/sed -> $(SEC_CRIT) ; ++ /bin/sleep -> $(SEC_CRIT) ; ++ /bin/sort -> $(SEC_CRIT) ; ++ /bin/stty -> $(SEC_CRIT) ; ++ /bin/su -> $(SEC_CRIT) ; ++ /bin/sync -> $(SEC_CRIT) ; ++ /bin/tar -> $(SEC_CRIT) ; ++ /bin/true -> $(SEC_CRIT) ; ++ /bin/usleep -> $(SEC_CRIT) ; ++ /bin/vi -> $(SEC_CRIT) ; ++ /bin/zcat -> $(SEC_CRIT) ; ++ /bin/zsh -> $(SEC_CRIT) ; ++ #/bin/zsh-4.0.2 -> $(SEC_CRIT) ; ++ /sbin/sln -> $(SEC_CRIT) ; ++ /usr/bin/vimtutor -> $(SEC_CRIT) ; ++} ++ ++ ############################## ++ # ## ++############################## # ++# # # ++# Critical Utility Sym-Links # # ++# ## ++############################## ++( ++ rulename = "Critical Utility Sym-Links", ++ severity = $(SIG_HI) ++) ++{ ++ #/sbin/askrunlevel -> $(SEC_CRIT) ; ++ /sbin/clock -> $(SEC_CRIT) ; ++ #/sbin/fixperm -> $(SEC_CRIT) ; ++ /sbin/fsck.reiserfs -> $(SEC_CRIT) ; ++ #/sbin/fsconf -> $(SEC_CRIT) ; ++ /sbin/ipfwadm-wrapper -> $(SEC_CRIT) ; ++ /sbin/kallsyms -> $(SEC_CRIT) ; ++ /sbin/ksyms -> $(SEC_CRIT) ; ++ /sbin/lsmod -> $(SEC_CRIT) ; ++ #/sbin/mailconf -> $(SEC_CRIT) ; ++ /sbin/mkfs.reiserfs -> $(SEC_CRIT) ; ++ #/sbin/modemconf -> $(SEC_CRIT) ; ++ /sbin/modprobe -> $(SEC_CRIT) ; ++ /sbin/mount.ncp -> $(SEC_CRIT) ; ++ /sbin/mount.ncpfs -> $(SEC_CRIT) ; ++ /sbin/mount.smb -> $(SEC_CRIT) ; ++ /sbin/mount.smbfs -> $(SEC_CRIT) ; ++ #/sbin/netconf -> $(SEC_CRIT) ; ++ /sbin/pidof -> $(SEC_CRIT) ; ++ /sbin/poweroff -> $(SEC_CRIT) ; ++ /sbin/quotaoff -> $(SEC_CRIT) ; ++ /sbin/raid0run -> $(SEC_CRIT) ; ++ /sbin/raidhotadd -> $(SEC_CRIT) ; ++ /sbin/raidhotgenerateerror -> $(SEC_CRIT) ; ++ /sbin/raidhotremove -> $(SEC_CRIT) ; ++ /sbin/raidstop -> $(SEC_CRIT) ; ++ /sbin/rdump -> $(SEC_CRIT) ; ++ /sbin/rdump.static -> $(SEC_CRIT) ; ++ /sbin/reboot -> $(SEC_CRIT) ; ++ /sbin/rmmod -> $(SEC_CRIT) ; ++ /sbin/rrestore -> $(SEC_CRIT) ; ++ /sbin/rrestore.static -> $(SEC_CRIT) ; ++ /sbin/swapoff -> $(SEC_CRIT) ; ++ /sbin/telinit -> $(SEC_CRIT) ; ++ #/sbin/userconf -> $(SEC_CRIT) ; ++ #/sbin/uucpconf -> $(SEC_CRIT) ; ++ #/sbin/vregistry -> $(SEC_CRIT) ; ++ /bin/awk -> $(SEC_CRIT) ; ++ /bin/bash2 -> $(SEC_CRIT) ; ++ /bin/bsh -> $(SEC_CRIT) ; ++ /bin/csh -> $(SEC_CRIT) ; ++ /bin/dnsdomainname -> $(SEC_CRIT) ; ++ /bin/domainname -> $(SEC_CRIT) ; ++ /bin/ex -> $(SEC_CRIT) ; ++ /bin/gtar -> $(SEC_CRIT) ; ++ /bin/nisdomainname -> $(SEC_CRIT) ; ++ /bin/red -> $(SEC_CRIT) ; ++ /bin/rvi -> $(SEC_CRIT) ; ++ /bin/rview -> $(SEC_CRIT) ; ++ /bin/view -> $(SEC_CRIT) ; ++ /bin/ypdomainname -> $(SEC_CRIT) ; ++} ++ ++ ++ ######################### ++ # ## ++######################### # ++# # # ++# Temporary directories # # ++# ## ++######################### ++( ++ rulename = "Temporary directories", ++ recurse = false, ++ severity = $(SIG_LOW) ++) ++{ ++ /usr/tmp -> $(SEC_INVARIANT) ; ++ /var/tmp -> $(SEC_INVARIANT) ; ++ /tmp -> $(SEC_INVARIANT) ; ++} ++ ++ ############### ++ # ## ++############### # ++# # # ++# Local files # # ++# ## ++############### ++( ++ rulename = "User binaries", ++ severity = $(SIG_MED) ++) ++{ ++ /sbin -> $(SEC_BIN) (recurse = 1) ; ++ /usr/bin -> $(SEC_BIN) (recurse = 1) ; ++ /usr/sbin -> $(SEC_BIN) (recurse = 1) ; ++ /usr/local/bin -> $(SEC_BIN) (recurse = 1) ; ++} ++ ++( ++ rulename = "Shell Binaries", ++ severity = $(SIG_HI) ++) ++{ ++ /bin/bash -> $(SEC_BIN) ; ++ /bin/ksh -> $(SEC_BIN) ; ++ # /bin/psh -> $(SEC_BIN) ; # No longer used? ++ # /bin/Rsh -> $(SEC_BIN) ; # No longer used? ++ /bin/sh -> $(SEC_BIN) ; ++ # /bin/shell -> $(SEC_SUID) ; # No longer used? ++ # /bin/tsh -> $(SEC_BIN) ; # No longer used? ++ /bin/tcsh -> $(SEC_BIN) ; ++ /sbin/nologin -> $(SEC_BIN) ; ++} ++ ++( ++ rulename = "Security Control", ++ severity = $(SIG_HI) ++) ++{ ++ /etc/group -> $(SEC_CRIT) ; ++ /etc/security -> $(SEC_CRIT) ; ++ #/var/spool/cron/crontabs -> $(SEC_CRIT) ; # Uncomment when this file exists ++} ++ ++#( ++# rulename = "Boot Scripts", ++# severity = $(SIG_HI) ++#) ++#{ ++# /etc/rc -> $(SEC_CONFIG) ; ++# /etc/rc.bsdnet -> $(SEC_CONFIG) ; ++# /etc/rc.dt -> $(SEC_CONFIG) ; ++# /etc/rc.net -> $(SEC_CONFIG) ; ++# /etc/rc.net.serial -> $(SEC_CONFIG) ; ++# /etc/rc.nfs -> $(SEC_CONFIG) ; ++# /etc/rc.powerfail -> $(SEC_CONFIG) ; ++# /etc/rc.tcpip -> $(SEC_CONFIG) ; ++# /etc/trcfmt.Z -> $(SEC_CONFIG) ; ++#} ++ ++( ++ rulename = "Login Scripts", ++ severity = $(SIG_HI) ++) ++{ ++ /etc/bashrc -> $(SEC_CONFIG) ; ++ /etc/csh.cshrc -> $(SEC_CONFIG) ; ++ /etc/csh.login -> $(SEC_CONFIG) ; ++ /etc/inputrc -> $(SEC_CONFIG) ; ++ # /etc/tsh_profile -> $(SEC_CONFIG) ; #Uncomment when this file exists ++ /etc/profile -> $(SEC_CONFIG) ; ++} ++ ++# Libraries ++( ++ rulename = "Libraries", ++ severity = $(SIG_MED) ++) ++{ ++ /usr/lib -> $(SEC_BIN) ; ++ /usr/local/lib -> $(SEC_BIN) ; ++} ++ ++ ++ ###################################################### ++ # ## ++###################################################### # ++# # # ++# Critical System Boot Files # # ++# These files are critical to a correct system boot. # # ++# ## ++###################################################### ++ ++( ++ rulename = "Critical system boot files", ++ severity = $(SIG_HI) ++) ++{ ++ /boot -> $(SEC_CRIT) ; ++ #/sbin/devfsd -> $(SEC_CRIT) ; ++ /sbin/grub -> $(SEC_CRIT) ; ++ /sbin/grub-install -> $(SEC_CRIT) ; ++ /sbin/grub-md5-crypt -> $(SEC_CRIT) ; ++ /sbin/installkernel -> $(SEC_CRIT) ; ++ /sbin/lilo -> $(SEC_CRIT) ; ++ /sbin/mkkerneldoth -> $(SEC_CRIT) ; ++ !/boot/System.map ; ++ !/boot/module-info ; ++ /usr/share/grub/i386-redhat/e2fs_stage1_5 -> $(SEC_CRIT) ; ++ /usr/share/grub/i386-redhat/fat_stage1_5 -> $(SEC_CRIT) ; ++ /usr/share/grub/i386-redhat/ffs_stage1_5 -> $(SEC_CRIT) ; ++ /usr/share/grub/i386-redhat/minix_stage1_5 -> $(SEC_CRIT) ; ++ /usr/share/grub/i386-redhat/reiserfs_stage1_5 -> $(SEC_CRIT) ; ++ /usr/share/grub/i386-redhat/stage1 -> $(SEC_CRIT) ; ++ /usr/share/grub/i386-redhat/stage2 -> $(SEC_CRIT) ; ++ /usr/share/grub/i386-redhat/vstafs_stage1_5 -> $(SEC_CRIT) ; ++ # other boot files may exist. Look for: ++ #/ufsboot -> $(SEC_CRIT) ; ++} ++ ################################################## ++ ################################################### ++ # These files change every time the system boots ## ++ ################################################## ++( ++ rulename = "System boot changes", ++ severity = $(SIG_HI) ++) ++{ ++ !/var/run/ftp.pids-all ; # Comes and goes on reboot. ++ !/root/.enlightenment ; ++ /dev/log -> $(SEC_CONFIG) ; ++ /dev/cua0 -> $(SEC_CONFIG) ; ++ # /dev/printer -> $(SEC_CONFIG) ; # Uncomment if you have a printer device ++ /dev/console -> $(SEC_CONFIG) -u ; # User ID may change on console login/logout. ++ /dev/tty1 -> $(SEC_CONFIG) ; # tty devices ++ /dev/tty2 -> $(SEC_CONFIG) ; # tty devices ++ /dev/tty3 -> $(SEC_CONFIG) ; # are extremely ++ /dev/tty4 -> $(SEC_CONFIG) ; # variable ++ /dev/tty5 -> $(SEC_CONFIG) ; ++ /dev/tty6 -> $(SEC_CONFIG) ; ++ /dev/urandom -> $(SEC_CONFIG) ; ++ /dev/initctl -> $(SEC_CONFIG) ; ++ /var/lock/subsys -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/amd -> $(SEC_CONFIG) ; ++ /var/lock/subsys/anacron -> $(SEC_CONFIG) ; ++ /var/lock/subsys/apmd -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/arpwatch -> $(SEC_CONFIG) ; ++ /var/lock/subsys/atd -> $(SEC_CONFIG) ; ++ /var/lock/subsys/autofs -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/bcm5820 -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/bgpd -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/bootparamd -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/canna -> $(SEC_CONFIG) ; ++ /var/lock/subsys/crond -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/cWnn -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/dhcpd -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/firewall -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/freeWnn -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/gated -> $(SEC_CONFIG) ; ++ /var/lock/subsys/gpm -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/httpd -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/identd -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/innd -> $(SEC_CONFIG) ; ++ /var/lock/subsys/ipchains -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/iptables -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/ipvsadm -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/irda -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/iscsi -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/isdn -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/junkbuster -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/kadmin -> $(SEC_CONFIG) ; ++ /var/lock/subsys/keytable -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/kprop -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/krb524 -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/krb5kdc -> $(SEC_CONFIG) ; ++ /var/lock/subsys/kudzu -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/kWnn -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/ldap -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/linuxconf -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/lpd -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/mars_nwe -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/mcserv -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/mysqld -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/named -> $(SEC_CONFIG) ; ++ /var/lock/subsys/netfs -> $(SEC_CONFIG) ; ++ /var/lock/subsys/network -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/nfs -> $(SEC_CONFIG) ; ++ /var/lock/subsys/nfslock -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/nscd -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/ntpd -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/ospf6d -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/ospfd -> $(SEC_CONFIG) ; ++ /var/lock/subsys/pcmcia -> $(SEC_CONFIG) ; ++ /var/lock/subsys/portmap -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/postgresql -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/pxe -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/radvd -> $(SEC_CONFIG) ; ++ /var/lock/subsys/random -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/rarpd -> $(SEC_CONFIG) ; ++ /var/lock/subsys/reconfig -> $(SEC_CONFIG) ; ++ /var/lock/subsys/rhnsd -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/ripd -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/ripngd -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/routed -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/rstatd -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/rusersd -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/rwalld -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/rwhod -> $(SEC_CONFIG) ; ++ /var/lock/subsys/sendmail -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/smb -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/snmpd -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/squid -> $(SEC_CONFIG) ; ++ /var/lock/subsys/sshd -> $(SEC_CONFIG) ; ++ /var/lock/subsys/syslog -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/tux -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/tWnn -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/ups -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/vncserver -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/wine -> $(SEC_CONFIG) ; ++ /var/lock/subsys/xfs -> $(SEC_CONFIG) ; ++ /var/lock/subsys/xinetd -> $(SEC_CONFIG) ; ++ /var/lock/subsys/ypbind -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/yppasswdd -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/ypserv -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/ypxfrd -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/zebra -> $(SEC_CONFIG) ; ++ /var/run -> $(SEC_CONFIG) ; ++ /var/log -> $(SEC_CONFIG) ; ++ /etc/ioctl.save -> $(SEC_CONFIG) ; ++ /etc/issue.net -> $(SEC_CONFIG) -i ; # Inode number changes ++ /etc/issue -> $(SEC_CONFIG) ; ++ /etc/mtab -> $(SEC_CONFIG) -i ; # Inode number changes on any mount/unmount ++ /lib/modules -> $(SEC_CONFIG) ; ++ /etc/.pwd.lock -> $(SEC_CONFIG) ; ++ # /lib/modules/preferred -> $(SEC_CONFIG) ; #Uncomment when this file exists ++} ++ ++# These files change the behavior of the root account ++( ++ rulename = "Root config files", ++ severity = 100 ++) ++{ ++ /root -> $(SEC_CRIT) ; # Catch all additions to /root ++ #/root/.Xresources -> $(SEC_CONFIG) ; ++ /root/.bashrc -> $(SEC_CONFIG) ; ++ /root/.bash_profile -> $(SEC_CONFIG) ; ++ /root/.bash_logout -> $(SEC_CONFIG) ; ++ /root/.cshrc -> $(SEC_CONFIG) ; ++ /root/.tcshrc -> $(SEC_CONFIG) ; ++ /root/Mail -> $(SEC_CONFIG) ; ++ #/root/mail -> $(SEC_CONFIG) ; ++ #/root/.amandahosts -> $(SEC_CONFIG) ; ++ #/root/.addressbook.lu -> $(SEC_CONFIG) ; ++ #/root/.addressbook -> $(SEC_CONFIG) ; ++ /root/.bash_history -> $(SEC_CONFIG) ; ++ /root/.elm -> $(SEC_CONFIG) ; ++ #/root/.esd_auth -> $(SEC_CONFIG) ; ++ /root/.gnome_private -> $(SEC_CONFIG) ; ++ /root/.gnome-desktop -> $(SEC_CONFIG) ; ++ /root/.gnome -> $(SEC_CONFIG) ; ++ /root/.ICEauthority -> $(SEC_CONFIG) ; ++ #/root/.mc -> $(SEC_CONFIG) ; ++ #/root/.pinerc -> $(SEC_CONFIG) ; ++ /root/.sawfish -> $(SEC_CONFIG) ; ++ /root/.Xauthority -> $(SEC_CONFIG) -i ; # Changes Inode number on login ++ #/root/.xauth -> $(SEC_CONFIG) ; ++ /root/.xsession-errors -> $(SEC_CONFIG) ; ++} ++ ++ ################################ ++ # ## ++################################ # ++# # # ++# Critical configuration files # # ++# ## ++################################ ++( ++ rulename = "Critical configuration files", ++ severity = $(SIG_HI) ++) ++{ ++ #/etc/conf.linuxconf -> $(SEC_BIN) ; ++ /etc/crontab -> $(SEC_BIN) ; ++ /etc/cron.hourly -> $(SEC_BIN) ; ++ /etc/cron.daily -> $(SEC_BIN) ; ++ /etc/cron.weekly -> $(SEC_BIN) ; ++ /etc/cron.monthly -> $(SEC_BIN) ; ++ /etc/default -> $(SEC_BIN) ; ++ /etc/fstab -> $(SEC_BIN) ; ++ /etc/exports -> $(SEC_BIN) ; ++ /etc/group- -> $(SEC_BIN) ; # changes should be infrequent ++ /etc/host.conf -> $(SEC_BIN) ; ++ /etc/hosts.allow -> $(SEC_BIN) ; ++ /etc/hosts.deny -> $(SEC_BIN) ; ++ /etc/httpd/conf -> $(SEC_BIN) ; # changes should be infrequent ++ /etc/protocols -> $(SEC_BIN) ; ++ /etc/services -> $(SEC_BIN) ; ++ /etc/rc.d/init.d -> $(SEC_BIN) ; ++ /etc/rc.d -> $(SEC_BIN) ; ++ /etc/mail.rc -> $(SEC_BIN) ; ++ /etc/modules.conf -> $(SEC_BIN) ; ++ /etc/motd -> $(SEC_BIN) ; ++ /etc/named.conf -> $(SEC_BIN) ; ++ /etc/passwd -> $(SEC_CONFIG) ; ++ /etc/passwd- -> $(SEC_CONFIG) ; ++ /etc/profile.d -> $(SEC_BIN) ; ++ /var/lib/nfs/rmtab -> $(SEC_BIN) ; ++ /usr/sbin/fixrmtab -> $(SEC_BIN) ; ++ /etc/rpc -> $(SEC_BIN) ; ++ /etc/sysconfig -> $(SEC_BIN) ; ++ /etc/samba/smb.conf -> $(SEC_CONFIG) ; ++ #/etc/gettydefs -> $(SEC_BIN) ; ++ /etc/nsswitch.conf -> $(SEC_BIN) ; ++ /etc/yp.conf -> $(SEC_BIN) ; ++ /etc/hosts -> $(SEC_CONFIG) ; ++ /etc/xinetd.conf -> $(SEC_CONFIG) ; ++ /etc/inittab -> $(SEC_CONFIG) ; ++ /etc/resolv.conf -> $(SEC_CONFIG) ; ++ /etc/syslog.conf -> $(SEC_CONFIG) ; ++} ++ ++ #################### ++ # ## ++#################### # ++# # # ++# Critical devices # # ++# ## ++#################### ++( ++ rulename = "Critical devices", ++ severity = $(SIG_HI), ++ recurse = false ++) ++{ ++ /dev/kmem -> $(Device) ; ++ /dev/mem -> $(Device) ; ++ /dev/null -> $(Device) ; ++ /dev/zero -> $(Device) ; ++ /proc/devices -> $(Device) ; ++ /proc/net -> $(Device) ; ++ /proc/sys -> $(Device) ; ++ /proc/cpuinfo -> $(Device) ; ++ /proc/modules -> $(Device) ; ++ /proc/mounts -> $(Device) ; ++ /proc/dma -> $(Device) ; ++ /proc/filesystems -> $(Device) ; ++ /proc/pci -> $(Device) ; ++ /proc/interrupts -> $(Device) ; ++ /proc/driver/rtc -> $(Device) ; ++ /proc/ioports -> $(Device) ; ++ #/proc/scsi -> $(Device) ; ++ /proc/kcore -> $(Device) ; ++ /proc/self -> $(Device) ; ++ /proc/kmsg -> $(Device) ; ++ /proc/stat -> $(Device) ; ++ /proc/ksyms -> $(Device) ; ++ /proc/loadavg -> $(Device) ; ++ /proc/uptime -> $(Device) ; ++ /proc/locks -> $(Device) ; ++ /proc/version -> $(Device) ; ++ /proc/mdstat -> $(Device) ; ++ /proc/meminfo -> $(Device) ; ++ /proc/cmdline -> $(Device) ; ++ /proc/misc -> $(Device) ; ++} ++ ++# Rest of critical system binaries ++( ++ rulename = "OS executables and libraries", ++ severity = $(SIG_HI) ++) ++{ ++ /bin -> $(SEC_BIN) ; ++ /lib -> $(SEC_BIN) ; ++} ++ ++#============================================================================= ++# ++# Copyright 2000 Tripwire, Inc. Tripwire is a registered trademark of Tripwire, ++# Inc. in the United States and other countries. All rights reserved. ++# ++# Linux is a registered trademark of Linus Torvalds. ++# ++# UNIX is a registered trademark of The Open Group. ++# ++#============================================================================= ++# ++# Permission is granted to make and distribute verbatim copies of this document ++# provided the copyright notice and this permission notice are preserved on all ++# copies. ++# ++# Permission is granted to copy and distribute modified versions of this ++# document under the conditions for verbatim copying, provided that the entire ++# resulting derived work is distributed under the terms of a permission notice ++# identical to this one. ++# ++# Permission is granted to copy and distribute translations of this document ++# into another language, under the above conditions for modified versions, ++# except that this permission notice may be stated in a translation approved by ++# Tripwire, Inc. ++# ++# DCM ++# ++# $Id: twpol-GENERIC.txt,v 1.1 2003/06/08 02:00:06 pherman Exp $ ++# +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/policy/twpol-Linux.txt tripwire-2.3.1-2/policy/twpol-Linux.txt +--- tripwire-2.3.1-2.old/policy/twpol-Linux.txt Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/policy/twpol-Linux.txt Sat Jun 7 19:00:06 2003 +@@ -0,0 +1,1107 @@ ++ ############################################################################## ++ # ## ++############################################################################## # ++# # # ++# Policy file for Red Hat Linux # # ++# V1.2.0rh # # ++# August 9, 2001 # # ++# ## ++############################################################################## ++ ++ ++ ############################################################################## ++ # ## ++############################################################################## # ++# # # ++# This is the example Tripwire Policy file. It is intended as a place to # # ++# start creating your own custom Tripwire Policy file. Referring to it as # # ++# well as the Tripwire Policy Guide should give you enough information to # # ++# make a good custom Tripwire Policy file that better covers your # # ++# configuration and security needs. A text version of this policy file is # # ++# called twpol.txt. # # ++# # # ++# Note that this file is tuned to an 'everything' install of Red Hat Linux. # # ++# If run unmodified, this file should create no errors on database # # ++# creation, or violations on a subsiquent integrity check. However, it is # # ++# impossible for there to be one policy file for all machines, so this # # ++# existing one errs on the side of security. Your Linux configuration will # # ++# most likey differ from the one our policy file was tuned to, and will # # ++# therefore require some editing of the default Tripwire Policy file. # # ++# # # ++# The example policy file is best run with 'Loose Directory Checking' # # ++# enabled. Set LOOSEDIRECTORYCHECKING=TRUE in the Tripwire Configuration # # ++# file. # # ++# # # ++# Email support is not included and must be added to this file. # # ++# Add the 'emailto=' to the rule directive section of each rule (add a comma # # ++# after the 'severity=' line and add an 'emailto=' and include the email # # ++# addresses you want the violation reports to go to). Addresses are # # ++# semi-colon delimited. # # ++# ## ++############################################################################## ++ ++ ++ ++ ############################################################################## ++ # ## ++############################################################################## # ++# # # ++# Global Variable Definitions # # ++# # # ++# These are defined at install time by the installation script. You may # # ++# Manually edit these if you are using this file directly and not from the # # ++# installation script itself. # # ++# ## ++############################################################################## ++ ++@@section GLOBAL ++TWROOT=; ++TWBIN=; ++TWPOL=; ++TWDB=; ++TWSKEY=; ++TWLKEY=; ++TWREPORT=; ++HOSTNAME=; ++ ++@@section FS ++SEC_CRIT = $(IgnoreNone)-SHa ; # Critical files that cannot change ++SEC_SUID = $(IgnoreNone)-SHa ; # Binaries with the SUID or SGID flags set ++SEC_BIN = $(ReadOnly) ; # Binaries that should not change ++SEC_CONFIG = $(Dynamic) ; # Config files that are changed infrequently but accessed often ++SEC_LOG = $(Growing) ; # Files that grow, but that should never change ownership ++SEC_INVARIANT = +tpug ; # Directories that should never change permission or ownership ++SIG_LOW = 33 ; # Non-critical files that are of minimal security impact ++SIG_MED = 66 ; # Non-critical files that are of significant security impact ++SIG_HI = 100 ; # Critical files that are significant points of vulnerability ++ ++ ++# Tripwire Binaries ++( ++ rulename = "Tripwire Binaries", ++ severity = $(SIG_HI) ++) ++{ ++ $(TWBIN)/siggen -> $(SEC_BIN) ; ++ $(TWBIN)/tripwire -> $(SEC_BIN) ; ++ $(TWBIN)/twadmin -> $(SEC_BIN) ; ++ $(TWBIN)/twprint -> $(SEC_BIN) ; ++} ++ ++# Tripwire Data Files - Configuration Files, Policy Files, Keys, Reports, Databases ++( ++ rulename = "Tripwire Data Files", ++ severity = $(SIG_HI) ++) ++{ ++ # NOTE: We remove the inode attribute because when Tripwire creates a backup, ++ # it does so by renaming the old file and creating a new one (which will ++ # have a new inode number). Inode is left turned on for keys, which shouldn't ++ # ever change. ++ ++ # NOTE: The first integrity check triggers this rule and each integrity check ++ # afterward triggers this rule until a database update is run, since the ++ # database file does not exist before that point. ++ ++ $(TWDB) -> $(SEC_CONFIG) -i ; ++ $(TWPOL)/tw.pol -> $(SEC_BIN) -i ; ++ $(TWPOL)/tw.cfg -> $(SEC_BIN) -i ; ++ $(TWLKEY)/$(HOSTNAME)-local.key -> $(SEC_BIN) ; ++ $(TWSKEY)/site.key -> $(SEC_BIN) ; ++ ++ #don't scan the individual reports ++ $(TWREPORT) -> $(SEC_CONFIG) (recurse=0) ; ++} ++ ++ ++# Tripwire HQ Connector Binaries ++#( ++# rulename = "Tripwire HQ Connector Binaries", ++# severity = $(SIG_HI) ++#) ++#{ ++# $(TWBIN)/hqagent -> $(SEC_BIN) ; ++#} ++# ++# Tripwire HQ Connector - Configuration Files, Keys, and Logs ++ ++ ############################################################################## ++ # ## ++############################################################################## # ++# # # ++# Note: File locations here are different than in a stock HQ Connector # # ++# installation. This is because Tripwire 2.3 uses a different path # # ++# structure than Tripwire 2.2.1. # # ++# # # ++# You may need to update your HQ Agent configuation file (or this policy # # ++# file) to correct the paths. We have attempted to support the FHS standard # # ++# here by placing the HQ Agent files similarly to the way Tripwire 2.3 # # ++# places them. # # ++# ## ++############################################################################## ++ ++#( ++# rulename = "Tripwire HQ Connector Data Files", ++# severity = $(SIG_HI) ++#) ++#{ ++# ############################################################################# ++# ############################################################################## ++# # NOTE: Removing the inode attribute because when Tripwire creates a backup ## ++# # it does so by renaming the old file and creating a new one (which will ## ++# # have a new inode number). Leaving inode turned on for keys, which ## ++# # shouldn't ever change. ## ++# ############################################################################# ++# ++# $(TWBIN)/agent.cfg -> $(SEC_BIN) -i ; ++# $(TWLKEY)/authentication.key -> $(SEC_BIN) ; ++# $(TWDB)/tasks.dat -> $(SEC_CONFIG) ; ++# $(TWDB)/schedule.dat -> $(SEC_CONFIG) ; ++# ++# # Uncomment if you have agent logging enabled. ++# #/var/log/tripwire/agent.log -> $(SEC_LOG) ; ++#} ++ ++ ++ ++# Commonly accessed directories that should remain static with regards to owner and group ++( ++ rulename = "Invariant Directories", ++ severity = $(SIG_MED) ++) ++{ ++ / -> $(SEC_INVARIANT) (recurse = 0) ; ++ /home -> $(SEC_INVARIANT) (recurse = 0) ; ++ /etc -> $(SEC_INVARIANT) (recurse = 0) ; ++} ++ ################################################ ++ # ## ++################################################ # ++# # # ++# File System and Disk Administration Programs # # ++# ## ++################################################ ++ ++( ++ rulename = "File System and Disk Administraton Programs", ++ severity = $(SIG_HI) ++) ++{ ++ /sbin/accton -> $(SEC_CRIT) ; ++ /sbin/badblocks -> $(SEC_CRIT) ; ++ /sbin/busybox -> $(SEC_CRIT) ; ++ /sbin/busybox.anaconda -> $(SEC_CRIT) ; ++ /sbin/convertquota -> $(SEC_CRIT) ; ++ /sbin/dosfsck -> $(SEC_CRIT) ; ++ /sbin/debugfs -> $(SEC_CRIT) ; ++ /sbin/debugreiserfs -> $(SEC_CRIT) ; ++ /sbin/dumpe2fs -> $(SEC_CRIT) ; ++ /sbin/dump -> $(SEC_CRIT) ; ++ /sbin/dump.static -> $(SEC_CRIT) ; ++ # /sbin/e2fsadm -> $(SEC_CRIT) ; tune2fs? ++ /sbin/e2fsck -> $(SEC_CRIT) ; ++ /sbin/e2label -> $(SEC_CRIT) ; ++ /sbin/fdisk -> $(SEC_CRIT) ; ++ /sbin/fsck -> $(SEC_CRIT) ; ++ /sbin/fsck.ext2 -> $(SEC_CRIT) ; ++ /sbin/fsck.ext3 -> $(SEC_CRIT) ; ++ /sbin/fsck.minix -> $(SEC_CRIT) ; ++ /sbin/fsck.msdos -> $(SEC_CRIT) ; ++ /sbin/fsck.vfat -> $(SEC_CRIT) ; ++ /sbin/ftl_check -> $(SEC_CRIT) ; ++ /sbin/ftl_format -> $(SEC_CRIT) ; ++ /sbin/hdparm -> $(SEC_CRIT) ; ++ #/sbin/lvchange -> $(SEC_CRIT) ; ++ #/sbin/lvcreate -> $(SEC_CRIT) ; ++ #/sbin/lvdisplay -> $(SEC_CRIT) ; ++ #/sbin/lvextend -> $(SEC_CRIT) ; ++ #/sbin/lvmchange -> $(SEC_CRIT) ; ++ #/sbin/lvmcreate_initrd -> $(SEC_CRIT) ; ++ #/sbin/lvmdiskscan -> $(SEC_CRIT) ; ++ #/sbin/lvmsadc -> $(SEC_CRIT) ; ++ #/sbin/lvmsar -> $(SEC_CRIT) ; ++ #/sbin/lvreduce -> $(SEC_CRIT) ; ++ #/sbin/lvremove -> $(SEC_CRIT) ; ++ #/sbin/lvrename -> $(SEC_CRIT) ; ++ #/sbin/lvscan -> $(SEC_CRIT) ; ++ /sbin/mkbootdisk -> $(SEC_CRIT) ; ++ /sbin/mkdosfs -> $(SEC_CRIT) ; ++ /sbin/mke2fs -> $(SEC_CRIT) ; ++ /sbin/mkfs -> $(SEC_CRIT) ; ++ /sbin/mkfs.bfs -> $(SEC_CRIT) ; ++ /sbin/mkfs.ext2 -> $(SEC_CRIT) ; ++ /sbin/mkfs.minix -> $(SEC_CRIT) ; ++ /sbin/mkfs.msdos -> $(SEC_CRIT) ; ++ /sbin/mkfs.vfat -> $(SEC_CRIT) ; ++ /sbin/mkinitrd -> $(SEC_CRIT) ; ++ #/sbin/mkpv -> $(SEC_CRIT) ; ++ /sbin/mkraid -> $(SEC_CRIT) ; ++ /sbin/mkreiserfs -> $(SEC_CRIT) ; ++ /sbin/mkswap -> $(SEC_CRIT) ; ++ #/sbin/mtx -> $(SEC_CRIT) ; ++ /sbin/pam_console_apply -> $(SEC_CRIT) ; ++ /sbin/parted -> $(SEC_CRIT) ; ++ /sbin/pcinitrd -> $(SEC_CRIT) ; ++ #/sbin/pvchange -> $(SEC_CRIT) ; ++ #/sbin/pvcreate -> $(SEC_CRIT) ; ++ #/sbin/pvdata -> $(SEC_CRIT) ; ++ #/sbin/pvdisplay -> $(SEC_CRIT) ; ++ #/sbin/pvmove -> $(SEC_CRIT) ; ++ #/sbin/pvscan -> $(SEC_CRIT) ; ++ /sbin/quotacheck -> $(SEC_CRIT) ; ++ /sbin/quotaon -> $(SEC_CRIT) ; ++ /sbin/raidstart -> $(SEC_CRIT) ; ++ /sbin/reiserfsck -> $(SEC_CRIT) ; ++ /sbin/resize2fs -> $(SEC_CRIT) ; ++ /sbin/resize_reiserfs -> $(SEC_CRIT) ; ++ /sbin/restore -> $(SEC_CRIT) ; ++ /sbin/restore.static -> $(SEC_CRIT) ; ++ /sbin/scsi_info -> $(SEC_CRIT) ; ++ /sbin/sfdisk -> $(SEC_CRIT) ; ++ /sbin/stinit -> $(SEC_CRIT) ; ++ #/sbin/tapeinfo -> $(SEC_CRIT) ; ++ /sbin/tune2fs -> $(SEC_CRIT) ; ++ /sbin/unpack -> $(SEC_CRIT) ; ++ /sbin/update -> $(SEC_CRIT) ; ++ #/sbin/vgcfgbackup -> $(SEC_CRIT) ; ++ #/sbin/vgcfgrestore -> $(SEC_CRIT) ; ++ #/sbin/vgchange -> $(SEC_CRIT) ; ++ #/sbin/vgck -> $(SEC_CRIT) ; ++ #/sbin/vgcreate -> $(SEC_CRIT) ; ++ #/sbin/vgdisplay -> $(SEC_CRIT) ; ++ #/sbin/vgexport -> $(SEC_CRIT) ; ++ #/sbin/vgextend -> $(SEC_CRIT) ; ++ #/sbin/vgimport -> $(SEC_CRIT) ; ++ #/sbin/vgmerge -> $(SEC_CRIT) ; ++ #/sbin/vgmknodes -> $(SEC_CRIT) ; ++ #/sbin/vgreduce -> $(SEC_CRIT) ; ++ #/sbin/vgremove -> $(SEC_CRIT) ; ++ #/sbin/vgrename -> $(SEC_CRIT) ; ++ #/sbin/vgscan -> $(SEC_CRIT) ; ++ #/sbin/vgsplit -> $(SEC_CRIT) ; ++ /bin/chgrp -> $(SEC_CRIT) ; ++ /bin/chmod -> $(SEC_CRIT) ; ++ /bin/chown -> $(SEC_CRIT) ; ++ /bin/cp -> $(SEC_CRIT) ; ++ /bin/cpio -> $(SEC_CRIT) ; ++ /bin/mount -> $(SEC_CRIT) ; ++ /bin/umount -> $(SEC_CRIT) ; ++ /bin/mkdir -> $(SEC_CRIT) ; ++ /bin/mknod -> $(SEC_CRIT) ; ++ /bin/mktemp -> $(SEC_CRIT) ; ++ /bin/rm -> $(SEC_CRIT) ; ++ /bin/rmdir -> $(SEC_CRIT) ; ++ /bin/touch -> $(SEC_CRIT) ; ++} ++ ++ ################################## ++ # ## ++################################## # ++# # # ++# Kernel Administration Programs # # ++# ## ++################################## ++ ++( ++ rulename = "Kernel Administration Programs", ++ severity = $(SIG_HI) ++) ++{ ++ /sbin/adjtimex -> $(SEC_CRIT) ; ++ /sbin/ctrlaltdel -> $(SEC_CRIT) ; ++ /sbin/depmod -> $(SEC_CRIT) ; ++ /sbin/insmod -> $(SEC_CRIT) ; ++ /sbin/insmod.static -> $(SEC_CRIT) ; ++ /sbin/insmod_ksymoops_clean -> $(SEC_CRIT) ; ++ /sbin/klogd -> $(SEC_CRIT) ; ++ /sbin/ldconfig -> $(SEC_CRIT) ; ++ /sbin/minilogd -> $(SEC_CRIT) ; ++ /sbin/modinfo -> $(SEC_CRIT) ; ++ #/sbin/nuactlun -> $(SEC_CRIT) ; ++ #/sbin/nuscsitcpd -> $(SEC_CRIT) ; ++ /sbin/pivot_root -> $(SEC_CRIT) ; ++ /sbin/sndconfig -> $(SEC_CRIT) ; ++ /sbin/sysctl -> $(SEC_CRIT) ; ++} ++ ++ ####################### ++ # ## ++####################### # ++# # # ++# Networking Programs # # ++# ## ++####################### ++ ++( ++ rulename = "Networking Programs", ++ severity = $(SIG_HI) ++) ++{ ++ /etc/sysconfig/network-scripts/ifdown -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/ifdown-cipcb -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/ifdown-ippp -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/ifdown-ipv6 -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/ifdown-isdn -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/ifdown-post -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/ifdown-ppp -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/ifdown-sit -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/ifdown-sl -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/ifup -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/ifup-aliases -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/ifup-cipcb -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/ifup-ippp -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/ifup-ipv6 -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/ifup-isdn -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/ifup-plip -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/ifup-plusb -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/ifup-post -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/ifup-ppp -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/ifup-routes -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/ifup-sit -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/ifup-sl -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/ifup-wireless -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/network-functions -> $(SEC_CRIT) ; ++ /etc/sysconfig/network-scripts/network-functions-ipv6 -> $(SEC_CRIT) ; ++ /bin/ping -> $(SEC_CRIT) ; ++ /sbin/agetty -> $(SEC_CRIT) ; ++ /sbin/arp -> $(SEC_CRIT) ; ++ /sbin/arping -> $(SEC_CRIT) ; ++ /sbin/dhcpcd -> $(SEC_CRIT) ; ++ /sbin/ether-wake -> $(SEC_CRIT) ; ++ #/sbin/getty -> $(SEC_CRIT) ; ++ /sbin/ifcfg -> $(SEC_CRIT) ; ++ /sbin/ifconfig -> $(SEC_CRIT) ; ++ /sbin/ifdown -> $(SEC_CRIT) ; ++ /sbin/ifenslave -> $(SEC_CRIT) ; ++ /sbin/ifport -> $(SEC_CRIT) ; ++ /sbin/ifup -> $(SEC_CRIT) ; ++ /sbin/ifuser -> $(SEC_CRIT) ; ++ /sbin/ip -> $(SEC_CRIT) ; ++ /sbin/ip6tables -> $(SEC_CRIT) ; ++ /sbin/ipchains -> $(SEC_CRIT) ; ++ /sbin/ipchains-restore -> $(SEC_CRIT) ; ++ /sbin/ipchains-save -> $(SEC_CRIT) ; ++ /sbin/ipfwadm -> $(SEC_CRIT) ; ++ /sbin/ipmaddr -> $(SEC_CRIT) ; ++ /sbin/iptables -> $(SEC_CRIT) ; ++ /sbin/iptables-restore -> $(SEC_CRIT) ; ++ /sbin/iptables-save -> $(SEC_CRIT) ; ++ /sbin/iptunnel -> $(SEC_CRIT) ; ++ #/sbin/ipvsadm -> $(SEC_CRIT) ; ++ #/sbin/ipvsadm-restore -> $(SEC_CRIT) ; ++ #/sbin/ipvsadm-save -> $(SEC_CRIT) ; ++ /sbin/ipx_configure -> $(SEC_CRIT) ; ++ /sbin/ipx_interface -> $(SEC_CRIT) ; ++ /sbin/ipx_internal_net -> $(SEC_CRIT) ; ++ /sbin/iwconfig -> $(SEC_CRIT) ; ++ /sbin/iwgetid -> $(SEC_CRIT) ; ++ /sbin/iwlist -> $(SEC_CRIT) ; ++ /sbin/iwpriv -> $(SEC_CRIT) ; ++ /sbin/iwspy -> $(SEC_CRIT) ; ++ /sbin/mgetty -> $(SEC_CRIT) ; ++ /sbin/mingetty -> $(SEC_CRIT) ; ++ /sbin/nameif -> $(SEC_CRIT) ; ++ /sbin/netreport -> $(SEC_CRIT) ; ++ /sbin/plipconfig -> $(SEC_CRIT) ; ++ /sbin/portmap -> $(SEC_CRIT) ; ++ /sbin/ppp-watch -> $(SEC_CRIT) ; ++ #/sbin/rarp -> $(SEC_CRIT) ; ++ /sbin/route -> $(SEC_CRIT) ; ++ /sbin/slattach -> $(SEC_CRIT) ; ++ /sbin/tc -> $(SEC_CRIT) ; ++ #/sbin/uugetty -> $(SEC_CRIT) ; ++ /sbin/vgetty -> $(SEC_CRIT) ; ++ /sbin/ypbind -> $(SEC_CRIT) ; ++} ++ ++ ################################## ++ # ## ++################################## # ++# # # ++# System Administration Programs # # ++# ## ++################################## ++ ++( ++ rulename = "System Administration Programs", ++ severity = $(SIG_HI) ++) ++{ ++ /sbin/chkconfig -> $(SEC_CRIT) ; ++ /sbin/fuser -> $(SEC_CRIT) ; ++ /sbin/halt -> $(SEC_CRIT) ; ++ /sbin/init -> $(SEC_CRIT) ; ++ /sbin/initlog -> $(SEC_CRIT) ; ++ /sbin/install-info -> $(SEC_CRIT) ; ++ /sbin/killall5 -> $(SEC_CRIT) ; ++ #/sbin/linuxconf -> $(SEC_CRIT) ; ++ #/sbin/linuxconf-auth -> $(SEC_CRIT) ; ++ /sbin/pam_tally -> $(SEC_CRIT) ; ++ /sbin/pwdb_chkpwd -> $(SEC_CRIT) ; ++ #/sbin/remadmin -> $(SEC_CRIT) ; ++ /sbin/rescuept -> $(SEC_CRIT) ; ++ /sbin/rmt -> $(SEC_CRIT) ; ++ /sbin/rpc.lockd -> $(SEC_CRIT) ; ++ /sbin/rpc.statd -> $(SEC_CRIT) ; ++ /sbin/rpcdebug -> $(SEC_CRIT) ; ++ /sbin/service -> $(SEC_CRIT) ; ++ /sbin/setsysfont -> $(SEC_CRIT) ; ++ /sbin/shutdown -> $(SEC_CRIT) ; ++ /sbin/sulogin -> $(SEC_CRIT) ; ++ /sbin/swapon -> $(SEC_CRIT) ; ++ /sbin/syslogd -> $(SEC_CRIT) ; ++ /sbin/unix_chkpwd -> $(SEC_CRIT) ; ++ /bin/pwd -> $(SEC_CRIT) ; ++ /bin/uname -> $(SEC_CRIT) ; ++} ++ ++ ######################################## ++ # ## ++######################################## # ++# # # ++# Hardware and Device Control Programs # # ++# ## ++######################################## ++( ++ rulename = "Hardware and Device Control Programs", ++ severity = $(SIG_HI) ++) ++{ ++ /bin/setserial -> $(SEC_CRIT) ; ++ /bin/sfxload -> $(SEC_CRIT) ; ++ /sbin/blockdev -> $(SEC_CRIT) ; ++ /sbin/cardctl -> $(SEC_CRIT) ; ++ /sbin/cardmgr -> $(SEC_CRIT) ; ++ /sbin/cbq -> $(SEC_CRIT) ; ++ /sbin/dump_cis -> $(SEC_CRIT) ; ++ /sbin/elvtune -> $(SEC_CRIT) ; ++ /sbin/hotplug -> $(SEC_CRIT) ; ++ /sbin/hwclock -> $(SEC_CRIT) ; ++ /sbin/ide_info -> $(SEC_CRIT) ; ++ #/sbin/isapnp -> $(SEC_CRIT) ; ++ /sbin/kbdrate -> $(SEC_CRIT) ; ++ /sbin/losetup -> $(SEC_CRIT) ; ++ /sbin/lspci -> $(SEC_CRIT) ; ++ /sbin/lspnp -> $(SEC_CRIT) ; ++ /sbin/mii-tool -> $(SEC_CRIT) ; ++ /sbin/pack_cis -> $(SEC_CRIT) ; ++ #/sbin/pnpdump -> $(SEC_CRIT) ; ++ /sbin/probe -> $(SEC_CRIT) ; ++ /sbin/pump -> $(SEC_CRIT) ; ++ /sbin/setpci -> $(SEC_CRIT) ; ++ /sbin/shapecfg -> $(SEC_CRIT) ; ++} ++ ++ ############################### ++ # ## ++############################### # ++# # # ++# System Information Programs # # ++# ## ++############################### ++( ++ rulename = "System Information Programs", ++ severity = $(SIG_HI) ++) ++{ ++ /sbin/consoletype -> $(SEC_CRIT) ; ++ /sbin/kernelversion -> $(SEC_CRIT) ; ++ /sbin/runlevel -> $(SEC_CRIT) ; ++} ++ ++ #################################### ++ # ## ++#################################### # ++# # # ++# Application Information Programs # # ++# ## ++#################################### ++ ++( ++ rulename = "Application Information Programs", ++ severity = $(SIG_HI) ++) ++{ ++ /sbin/genksyms -> $(SEC_CRIT) ; ++ #/sbin/genksyms.old -> $(SEC_CRIT) ; ++ /sbin/rtmon -> $(SEC_CRIT) ; ++} ++ ++ ########################## ++ # ## ++########################## # ++# # # ++# Shell Related Programs # # ++# ## ++########################## ++( ++ rulename = "Shell Related Programs", ++ severity = $(SIG_HI) ++) ++{ ++ /sbin/getkey -> $(SEC_CRIT) ; ++ /sbin/nash -> $(SEC_CRIT) ; ++ /sbin/sash -> $(SEC_CRIT) ; ++} ++ ++ ++ ################ ++ # ## ++################ # ++# # # ++# OS Utilities # # ++# ## ++################ ++( ++ rulename = "Operating System Utilities", ++ severity = $(SIG_HI) ++) ++{ ++ /bin/arch -> $(SEC_CRIT) ; ++ /bin/ash -> $(SEC_CRIT) ; ++ /bin/ash.static -> $(SEC_CRIT) ; ++ /bin/aumix-minimal -> $(SEC_CRIT) ; ++ /bin/basename -> $(SEC_CRIT) ; ++ /bin/cat -> $(SEC_CRIT) ; ++ /bin/consolechars -> $(SEC_CRIT) ; ++ /bin/cut -> $(SEC_CRIT) ; ++ /bin/date -> $(SEC_CRIT) ; ++ /bin/dd -> $(SEC_CRIT) ; ++ /bin/df -> $(SEC_CRIT) ; ++ /bin/dmesg -> $(SEC_CRIT) ; ++ /bin/doexec -> $(SEC_CRIT) ; ++ /bin/echo -> $(SEC_CRIT) ; ++ /bin/ed -> $(SEC_CRIT) ; ++ /bin/egrep -> $(SEC_CRIT) ; ++ /bin/false -> $(SEC_CRIT) ; ++ /bin/fgrep -> $(SEC_CRIT) ; ++ /bin/gawk -> $(SEC_CRIT) ; ++ /bin/gawk-3.1.0 -> $(SEC_CRIT) ; ++ /bin/gettext -> $(SEC_CRIT) ; ++ /bin/grep -> $(SEC_CRIT) ; ++ /bin/gunzip -> $(SEC_CRIT) ; ++ /bin/gzip -> $(SEC_CRIT) ; ++ /bin/hostname -> $(SEC_CRIT) ; ++ /bin/igawk -> $(SEC_CRIT) ; ++ /bin/ipcalc -> $(SEC_CRIT) ; ++ /bin/kill -> $(SEC_CRIT) ; ++ /bin/ln -> $(SEC_CRIT) ; ++ /bin/loadkeys -> $(SEC_CRIT) ; ++ /bin/login -> $(SEC_CRIT) ; ++ /bin/ls -> $(SEC_CRIT) ; ++ /bin/mail -> $(SEC_CRIT) ; ++ /bin/more -> $(SEC_CRIT) ; ++ /bin/mt -> $(SEC_CRIT) ; ++ /bin/mv -> $(SEC_CRIT) ; ++ /bin/netstat -> $(SEC_CRIT) ; ++ /bin/nice -> $(SEC_CRIT) ; ++ /bin/pgawk -> $(SEC_CRIT) ; ++ /bin/ps -> $(SEC_CRIT) ; ++ /bin/rpm -> $(SEC_CRIT) ; ++ /bin/sed -> $(SEC_CRIT) ; ++ /bin/sleep -> $(SEC_CRIT) ; ++ /bin/sort -> $(SEC_CRIT) ; ++ /bin/stty -> $(SEC_CRIT) ; ++ /bin/su -> $(SEC_CRIT) ; ++ /bin/sync -> $(SEC_CRIT) ; ++ /bin/tar -> $(SEC_CRIT) ; ++ /bin/true -> $(SEC_CRIT) ; ++ /bin/usleep -> $(SEC_CRIT) ; ++ /bin/vi -> $(SEC_CRIT) ; ++ /bin/zcat -> $(SEC_CRIT) ; ++ /bin/zsh -> $(SEC_CRIT) ; ++ #/bin/zsh-4.0.2 -> $(SEC_CRIT) ; ++ /sbin/sln -> $(SEC_CRIT) ; ++ /usr/bin/vimtutor -> $(SEC_CRIT) ; ++} ++ ++ ############################## ++ # ## ++############################## # ++# # # ++# Critical Utility Sym-Links # # ++# ## ++############################## ++( ++ rulename = "Critical Utility Sym-Links", ++ severity = $(SIG_HI) ++) ++{ ++ #/sbin/askrunlevel -> $(SEC_CRIT) ; ++ /sbin/clock -> $(SEC_CRIT) ; ++ #/sbin/fixperm -> $(SEC_CRIT) ; ++ /sbin/fsck.reiserfs -> $(SEC_CRIT) ; ++ #/sbin/fsconf -> $(SEC_CRIT) ; ++ /sbin/ipfwadm-wrapper -> $(SEC_CRIT) ; ++ /sbin/kallsyms -> $(SEC_CRIT) ; ++ /sbin/ksyms -> $(SEC_CRIT) ; ++ /sbin/lsmod -> $(SEC_CRIT) ; ++ #/sbin/mailconf -> $(SEC_CRIT) ; ++ /sbin/mkfs.reiserfs -> $(SEC_CRIT) ; ++ #/sbin/modemconf -> $(SEC_CRIT) ; ++ /sbin/modprobe -> $(SEC_CRIT) ; ++ /sbin/mount.ncp -> $(SEC_CRIT) ; ++ /sbin/mount.ncpfs -> $(SEC_CRIT) ; ++ /sbin/mount.smb -> $(SEC_CRIT) ; ++ /sbin/mount.smbfs -> $(SEC_CRIT) ; ++ #/sbin/netconf -> $(SEC_CRIT) ; ++ /sbin/pidof -> $(SEC_CRIT) ; ++ /sbin/poweroff -> $(SEC_CRIT) ; ++ /sbin/quotaoff -> $(SEC_CRIT) ; ++ /sbin/raid0run -> $(SEC_CRIT) ; ++ /sbin/raidhotadd -> $(SEC_CRIT) ; ++ /sbin/raidhotgenerateerror -> $(SEC_CRIT) ; ++ /sbin/raidhotremove -> $(SEC_CRIT) ; ++ /sbin/raidstop -> $(SEC_CRIT) ; ++ /sbin/rdump -> $(SEC_CRIT) ; ++ /sbin/rdump.static -> $(SEC_CRIT) ; ++ /sbin/reboot -> $(SEC_CRIT) ; ++ /sbin/rmmod -> $(SEC_CRIT) ; ++ /sbin/rrestore -> $(SEC_CRIT) ; ++ /sbin/rrestore.static -> $(SEC_CRIT) ; ++ /sbin/swapoff -> $(SEC_CRIT) ; ++ /sbin/telinit -> $(SEC_CRIT) ; ++ #/sbin/userconf -> $(SEC_CRIT) ; ++ #/sbin/uucpconf -> $(SEC_CRIT) ; ++ #/sbin/vregistry -> $(SEC_CRIT) ; ++ /bin/awk -> $(SEC_CRIT) ; ++ /bin/bash2 -> $(SEC_CRIT) ; ++ /bin/bsh -> $(SEC_CRIT) ; ++ /bin/csh -> $(SEC_CRIT) ; ++ /bin/dnsdomainname -> $(SEC_CRIT) ; ++ /bin/domainname -> $(SEC_CRIT) ; ++ /bin/ex -> $(SEC_CRIT) ; ++ /bin/gtar -> $(SEC_CRIT) ; ++ /bin/nisdomainname -> $(SEC_CRIT) ; ++ /bin/red -> $(SEC_CRIT) ; ++ /bin/rvi -> $(SEC_CRIT) ; ++ /bin/rview -> $(SEC_CRIT) ; ++ /bin/view -> $(SEC_CRIT) ; ++ /bin/ypdomainname -> $(SEC_CRIT) ; ++} ++ ++ ++ ######################### ++ # ## ++######################### # ++# # # ++# Temporary directories # # ++# ## ++######################### ++( ++ rulename = "Temporary directories", ++ recurse = false, ++ severity = $(SIG_LOW) ++) ++{ ++ /usr/tmp -> $(SEC_INVARIANT) ; ++ /var/tmp -> $(SEC_INVARIANT) ; ++ /tmp -> $(SEC_INVARIANT) ; ++} ++ ++ ############### ++ # ## ++############### # ++# # # ++# Local files # # ++# ## ++############### ++( ++ rulename = "User binaries", ++ severity = $(SIG_MED) ++) ++{ ++ /sbin -> $(SEC_BIN) (recurse = 1) ; ++ /usr/bin -> $(SEC_BIN) (recurse = 1) ; ++ /usr/sbin -> $(SEC_BIN) (recurse = 1) ; ++ /usr/local/bin -> $(SEC_BIN) (recurse = 1) ; ++} ++ ++( ++ rulename = "Shell Binaries", ++ severity = $(SIG_HI) ++) ++{ ++ /bin/bash -> $(SEC_BIN) ; ++ /bin/ksh -> $(SEC_BIN) ; ++ # /bin/psh -> $(SEC_BIN) ; # No longer used? ++ # /bin/Rsh -> $(SEC_BIN) ; # No longer used? ++ /bin/sh -> $(SEC_BIN) ; ++ # /bin/shell -> $(SEC_SUID) ; # No longer used? ++ # /bin/tsh -> $(SEC_BIN) ; # No longer used? ++ /bin/tcsh -> $(SEC_BIN) ; ++ /sbin/nologin -> $(SEC_BIN) ; ++} ++ ++( ++ rulename = "Security Control", ++ severity = $(SIG_HI) ++) ++{ ++ /etc/group -> $(SEC_CRIT) ; ++ /etc/security -> $(SEC_CRIT) ; ++ #/var/spool/cron/crontabs -> $(SEC_CRIT) ; # Uncomment when this file exists ++} ++ ++#( ++# rulename = "Boot Scripts", ++# severity = $(SIG_HI) ++#) ++#{ ++# /etc/rc -> $(SEC_CONFIG) ; ++# /etc/rc.bsdnet -> $(SEC_CONFIG) ; ++# /etc/rc.dt -> $(SEC_CONFIG) ; ++# /etc/rc.net -> $(SEC_CONFIG) ; ++# /etc/rc.net.serial -> $(SEC_CONFIG) ; ++# /etc/rc.nfs -> $(SEC_CONFIG) ; ++# /etc/rc.powerfail -> $(SEC_CONFIG) ; ++# /etc/rc.tcpip -> $(SEC_CONFIG) ; ++# /etc/trcfmt.Z -> $(SEC_CONFIG) ; ++#} ++ ++( ++ rulename = "Login Scripts", ++ severity = $(SIG_HI) ++) ++{ ++ /etc/bashrc -> $(SEC_CONFIG) ; ++ /etc/csh.cshrc -> $(SEC_CONFIG) ; ++ /etc/csh.login -> $(SEC_CONFIG) ; ++ /etc/inputrc -> $(SEC_CONFIG) ; ++ # /etc/tsh_profile -> $(SEC_CONFIG) ; #Uncomment when this file exists ++ /etc/profile -> $(SEC_CONFIG) ; ++} ++ ++# Libraries ++( ++ rulename = "Libraries", ++ severity = $(SIG_MED) ++) ++{ ++ /usr/lib -> $(SEC_BIN) ; ++ /usr/local/lib -> $(SEC_BIN) ; ++} ++ ++ ++ ###################################################### ++ # ## ++###################################################### # ++# # # ++# Critical System Boot Files # # ++# These files are critical to a correct system boot. # # ++# ## ++###################################################### ++ ++( ++ rulename = "Critical system boot files", ++ severity = $(SIG_HI) ++) ++{ ++ /boot -> $(SEC_CRIT) ; ++ #/sbin/devfsd -> $(SEC_CRIT) ; ++ /sbin/grub -> $(SEC_CRIT) ; ++ /sbin/grub-install -> $(SEC_CRIT) ; ++ /sbin/grub-md5-crypt -> $(SEC_CRIT) ; ++ /sbin/installkernel -> $(SEC_CRIT) ; ++ /sbin/lilo -> $(SEC_CRIT) ; ++ /sbin/mkkerneldoth -> $(SEC_CRIT) ; ++ !/boot/System.map ; ++ !/boot/module-info ; ++ /usr/share/grub/i386-redhat/e2fs_stage1_5 -> $(SEC_CRIT) ; ++ /usr/share/grub/i386-redhat/fat_stage1_5 -> $(SEC_CRIT) ; ++ /usr/share/grub/i386-redhat/ffs_stage1_5 -> $(SEC_CRIT) ; ++ /usr/share/grub/i386-redhat/minix_stage1_5 -> $(SEC_CRIT) ; ++ /usr/share/grub/i386-redhat/reiserfs_stage1_5 -> $(SEC_CRIT) ; ++ /usr/share/grub/i386-redhat/stage1 -> $(SEC_CRIT) ; ++ /usr/share/grub/i386-redhat/stage2 -> $(SEC_CRIT) ; ++ /usr/share/grub/i386-redhat/vstafs_stage1_5 -> $(SEC_CRIT) ; ++ # other boot files may exist. Look for: ++ #/ufsboot -> $(SEC_CRIT) ; ++} ++ ################################################## ++ ################################################### ++ # These files change every time the system boots ## ++ ################################################## ++( ++ rulename = "System boot changes", ++ severity = $(SIG_HI) ++) ++{ ++ !/var/run/ftp.pids-all ; # Comes and goes on reboot. ++ !/root/.enlightenment ; ++ /dev/log -> $(SEC_CONFIG) ; ++ /dev/cua0 -> $(SEC_CONFIG) ; ++ # /dev/printer -> $(SEC_CONFIG) ; # Uncomment if you have a printer device ++ /dev/console -> $(SEC_CONFIG) -u ; # User ID may change on console login/logout. ++ /dev/tty1 -> $(SEC_CONFIG) ; # tty devices ++ /dev/tty2 -> $(SEC_CONFIG) ; # tty devices ++ /dev/tty3 -> $(SEC_CONFIG) ; # are extremely ++ /dev/tty4 -> $(SEC_CONFIG) ; # variable ++ /dev/tty5 -> $(SEC_CONFIG) ; ++ /dev/tty6 -> $(SEC_CONFIG) ; ++ /dev/urandom -> $(SEC_CONFIG) ; ++ /dev/initctl -> $(SEC_CONFIG) ; ++ /var/lock/subsys -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/amd -> $(SEC_CONFIG) ; ++ /var/lock/subsys/anacron -> $(SEC_CONFIG) ; ++ /var/lock/subsys/apmd -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/arpwatch -> $(SEC_CONFIG) ; ++ /var/lock/subsys/atd -> $(SEC_CONFIG) ; ++ /var/lock/subsys/autofs -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/bcm5820 -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/bgpd -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/bootparamd -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/canna -> $(SEC_CONFIG) ; ++ /var/lock/subsys/crond -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/cWnn -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/dhcpd -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/firewall -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/freeWnn -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/gated -> $(SEC_CONFIG) ; ++ /var/lock/subsys/gpm -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/httpd -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/identd -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/innd -> $(SEC_CONFIG) ; ++ /var/lock/subsys/ipchains -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/iptables -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/ipvsadm -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/irda -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/iscsi -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/isdn -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/junkbuster -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/kadmin -> $(SEC_CONFIG) ; ++ /var/lock/subsys/keytable -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/kprop -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/krb524 -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/krb5kdc -> $(SEC_CONFIG) ; ++ /var/lock/subsys/kudzu -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/kWnn -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/ldap -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/linuxconf -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/lpd -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/mars_nwe -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/mcserv -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/mysqld -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/named -> $(SEC_CONFIG) ; ++ /var/lock/subsys/netfs -> $(SEC_CONFIG) ; ++ /var/lock/subsys/network -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/nfs -> $(SEC_CONFIG) ; ++ /var/lock/subsys/nfslock -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/nscd -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/ntpd -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/ospf6d -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/ospfd -> $(SEC_CONFIG) ; ++ /var/lock/subsys/pcmcia -> $(SEC_CONFIG) ; ++ /var/lock/subsys/portmap -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/postgresql -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/pxe -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/radvd -> $(SEC_CONFIG) ; ++ /var/lock/subsys/random -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/rarpd -> $(SEC_CONFIG) ; ++ /var/lock/subsys/reconfig -> $(SEC_CONFIG) ; ++ /var/lock/subsys/rhnsd -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/ripd -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/ripngd -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/routed -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/rstatd -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/rusersd -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/rwalld -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/rwhod -> $(SEC_CONFIG) ; ++ /var/lock/subsys/sendmail -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/smb -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/snmpd -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/squid -> $(SEC_CONFIG) ; ++ /var/lock/subsys/sshd -> $(SEC_CONFIG) ; ++ /var/lock/subsys/syslog -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/tux -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/tWnn -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/ups -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/vncserver -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/wine -> $(SEC_CONFIG) ; ++ /var/lock/subsys/xfs -> $(SEC_CONFIG) ; ++ /var/lock/subsys/xinetd -> $(SEC_CONFIG) ; ++ /var/lock/subsys/ypbind -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/yppasswdd -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/ypserv -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/ypxfrd -> $(SEC_CONFIG) ; ++ #/var/lock/subsys/zebra -> $(SEC_CONFIG) ; ++ /var/run -> $(SEC_CONFIG) ; ++ /var/log -> $(SEC_CONFIG) ; ++ /etc/ioctl.save -> $(SEC_CONFIG) ; ++ /etc/issue.net -> $(SEC_CONFIG) -i ; # Inode number changes ++ /etc/issue -> $(SEC_CONFIG) ; ++ /etc/mtab -> $(SEC_CONFIG) -i ; # Inode number changes on any mount/unmount ++ /lib/modules -> $(SEC_CONFIG) ; ++ /etc/.pwd.lock -> $(SEC_CONFIG) ; ++ # /lib/modules/preferred -> $(SEC_CONFIG) ; #Uncomment when this file exists ++} ++ ++# These files change the behavior of the root account ++( ++ rulename = "Root config files", ++ severity = 100 ++) ++{ ++ /root -> $(SEC_CRIT) ; # Catch all additions to /root ++ #/root/.Xresources -> $(SEC_CONFIG) ; ++ /root/.bashrc -> $(SEC_CONFIG) ; ++ /root/.bash_profile -> $(SEC_CONFIG) ; ++ /root/.bash_logout -> $(SEC_CONFIG) ; ++ /root/.cshrc -> $(SEC_CONFIG) ; ++ /root/.tcshrc -> $(SEC_CONFIG) ; ++ /root/Mail -> $(SEC_CONFIG) ; ++ #/root/mail -> $(SEC_CONFIG) ; ++ #/root/.amandahosts -> $(SEC_CONFIG) ; ++ #/root/.addressbook.lu -> $(SEC_CONFIG) ; ++ #/root/.addressbook -> $(SEC_CONFIG) ; ++ /root/.bash_history -> $(SEC_CONFIG) ; ++ /root/.elm -> $(SEC_CONFIG) ; ++ #/root/.esd_auth -> $(SEC_CONFIG) ; ++ /root/.gnome_private -> $(SEC_CONFIG) ; ++ /root/.gnome-desktop -> $(SEC_CONFIG) ; ++ /root/.gnome -> $(SEC_CONFIG) ; ++ /root/.ICEauthority -> $(SEC_CONFIG) ; ++ #/root/.mc -> $(SEC_CONFIG) ; ++ #/root/.pinerc -> $(SEC_CONFIG) ; ++ /root/.sawfish -> $(SEC_CONFIG) ; ++ /root/.Xauthority -> $(SEC_CONFIG) -i ; # Changes Inode number on login ++ #/root/.xauth -> $(SEC_CONFIG) ; ++ /root/.xsession-errors -> $(SEC_CONFIG) ; ++} ++ ++ ################################ ++ # ## ++################################ # ++# # # ++# Critical configuration files # # ++# ## ++################################ ++( ++ rulename = "Critical configuration files", ++ severity = $(SIG_HI) ++) ++{ ++ #/etc/conf.linuxconf -> $(SEC_BIN) ; ++ /etc/crontab -> $(SEC_BIN) ; ++ /etc/cron.hourly -> $(SEC_BIN) ; ++ /etc/cron.daily -> $(SEC_BIN) ; ++ /etc/cron.weekly -> $(SEC_BIN) ; ++ /etc/cron.monthly -> $(SEC_BIN) ; ++ /etc/default -> $(SEC_BIN) ; ++ /etc/fstab -> $(SEC_BIN) ; ++ /etc/exports -> $(SEC_BIN) ; ++ /etc/group- -> $(SEC_BIN) ; # changes should be infrequent ++ /etc/host.conf -> $(SEC_BIN) ; ++ /etc/hosts.allow -> $(SEC_BIN) ; ++ /etc/hosts.deny -> $(SEC_BIN) ; ++ /etc/httpd/conf -> $(SEC_BIN) ; # changes should be infrequent ++ /etc/protocols -> $(SEC_BIN) ; ++ /etc/services -> $(SEC_BIN) ; ++ /etc/rc.d/init.d -> $(SEC_BIN) ; ++ /etc/rc.d -> $(SEC_BIN) ; ++ /etc/mail.rc -> $(SEC_BIN) ; ++ /etc/modules.conf -> $(SEC_BIN) ; ++ /etc/motd -> $(SEC_BIN) ; ++ /etc/named.conf -> $(SEC_BIN) ; ++ /etc/passwd -> $(SEC_CONFIG) ; ++ /etc/passwd- -> $(SEC_CONFIG) ; ++ /etc/profile.d -> $(SEC_BIN) ; ++ /var/lib/nfs/rmtab -> $(SEC_BIN) ; ++ /usr/sbin/fixrmtab -> $(SEC_BIN) ; ++ /etc/rpc -> $(SEC_BIN) ; ++ /etc/sysconfig -> $(SEC_BIN) ; ++ /etc/samba/smb.conf -> $(SEC_CONFIG) ; ++ #/etc/gettydefs -> $(SEC_BIN) ; ++ /etc/nsswitch.conf -> $(SEC_BIN) ; ++ /etc/yp.conf -> $(SEC_BIN) ; ++ /etc/hosts -> $(SEC_CONFIG) ; ++ /etc/xinetd.conf -> $(SEC_CONFIG) ; ++ /etc/inittab -> $(SEC_CONFIG) ; ++ /etc/resolv.conf -> $(SEC_CONFIG) ; ++ /etc/syslog.conf -> $(SEC_CONFIG) ; ++} ++ ++ #################### ++ # ## ++#################### # ++# # # ++# Critical devices # # ++# ## ++#################### ++( ++ rulename = "Critical devices", ++ severity = $(SIG_HI), ++ recurse = false ++) ++{ ++ /dev/kmem -> $(Device) ; ++ /dev/mem -> $(Device) ; ++ /dev/null -> $(Device) ; ++ /dev/zero -> $(Device) ; ++ /proc/devices -> $(Device) ; ++ /proc/net -> $(Device) ; ++ /proc/sys -> $(Device) ; ++ /proc/cpuinfo -> $(Device) ; ++ /proc/modules -> $(Device) ; ++ /proc/mounts -> $(Device) ; ++ /proc/dma -> $(Device) ; ++ /proc/filesystems -> $(Device) ; ++ /proc/pci -> $(Device) ; ++ /proc/interrupts -> $(Device) ; ++ /proc/driver/rtc -> $(Device) ; ++ /proc/ioports -> $(Device) ; ++ #/proc/scsi -> $(Device) ; ++ /proc/kcore -> $(Device) ; ++ /proc/self -> $(Device) ; ++ /proc/kmsg -> $(Device) ; ++ /proc/stat -> $(Device) ; ++ /proc/ksyms -> $(Device) ; ++ /proc/loadavg -> $(Device) ; ++ /proc/uptime -> $(Device) ; ++ /proc/locks -> $(Device) ; ++ /proc/version -> $(Device) ; ++ /proc/mdstat -> $(Device) ; ++ /proc/meminfo -> $(Device) ; ++ /proc/cmdline -> $(Device) ; ++ /proc/misc -> $(Device) ; ++} ++ ++# Rest of critical system binaries ++( ++ rulename = "OS executables and libraries", ++ severity = $(SIG_HI) ++) ++{ ++ /bin -> $(SEC_BIN) ; ++ /lib -> $(SEC_BIN) ; ++} ++ ++#============================================================================= ++# ++# Copyright 2000 Tripwire, Inc. Tripwire is a registered trademark of Tripwire, ++# Inc. in the United States and other countries. All rights reserved. ++# ++# Linux is a registered trademark of Linus Torvalds. ++# ++# UNIX is a registered trademark of The Open Group. ++# ++#============================================================================= ++# ++# Permission is granted to make and distribute verbatim copies of this document ++# provided the copyright notice and this permission notice are preserved on all ++# copies. ++# ++# Permission is granted to copy and distribute modified versions of this ++# document under the conditions for verbatim copying, provided that the entire ++# resulting derived work is distributed under the terms of a permission notice ++# identical to this one. ++# ++# Permission is granted to copy and distribute translations of this document ++# into another language, under the above conditions for modified versions, ++# except that this permission notice may be stated in a translation approved by ++# Tripwire, Inc. ++# ++# DCM ++# ++# $Id: twpol-Linux.txt,v 1.1 2003/06/08 02:00:06 pherman Exp $ ++# +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/policy/twpol-OpenBSD.txt tripwire-2.3.1-2/policy/twpol-OpenBSD.txt +--- tripwire-2.3.1-2.old/policy/twpol-OpenBSD.txt Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/policy/twpol-OpenBSD.txt Sat Jun 7 19:00:06 2003 +@@ -0,0 +1,292 @@ ++ ############################################################################## ++ # ## ++############################################################################## # ++# # # ++# Policy file for OpenBSD 3.3 # # ++# May 20, 2003 # # ++# ## ++############################################################################## ++ ++ ############################################################################## ++ # ## ++############################################################################## # ++# # # ++# Global Variable Definitions # # ++# # # ++# These are defined at install time by the installation script. You may # # ++# manually edit these if you are using this file directly and not from the # # ++# installation script itself. # # ++# ## ++############################################################################## ++ ++@@section GLOBAL ++TWROOT=; ++TWBIN=; ++TWPOL=; ++TWDB=; ++TWSKEY=; ++TWLKEY=; ++TWREPORT=; ++HOSTNAME=; ++ ++ ############################################################################## ++ # Predefined Variables # ++############################################################################## ++# ++# Property Masks ++# ++# - ignore the following properties ++# + check the following properties ++# ++# a access timestamp (mutually exclusive with +CMSH) ++# b number of blocks allocated ++# c inode creation/modification timestamp ++# d ID of device on which inode resides ++# g group id of owner ++# i inode number ++# l growing files (logfiles for example) ++# m modification timestamp ++# n number of links ++# p permission and file mode bits ++# r ID of device pointed to by inode (valid only for device objects) ++# s file size ++# t file type ++# u user id of owner ++# ++# C CRC-32 hash ++# H HAVAL hash ++# M MD5 hash ++# S SHA hash ++# ++############################################################################## ++ ++Device = +pugsdr-intlbamcCMSH ; ++Dynamic = +pinugtd-srlbamcCMSH ; ++Growing = +pinugtdl-srbamcCMSH ; ++IgnoreAll = -pinugtsdrlbamcCMSH ; ++IgnoreNone = +pinugtsdrbamcCMSH-l ; ++ReadOnly = +pinugtsdbmCM-rlacSH ; ++Temporary = +pugt ; ++ ++@@section FS ++ ++ ######################################## ++ # ## ++######################################## # ++# # # ++# Tripwire Binaries and Data Files # # ++# ## ++######################################## ++ ++# Tripwire Binaries ++( ++ rulename = "Tripwire Binaries", ++) ++{ ++ $(TWBIN)/siggen -> $(ReadOnly) ; ++ $(TWBIN)/tripwire -> $(ReadOnly) ; ++ $(TWBIN)/twadmin -> $(ReadOnly) ; ++ $(TWBIN)/twprint -> $(ReadOnly) ; ++} ++ ++# Tripwire Data Files - Configuration Files, Policy Files, Keys, Reports, Databases ++( ++ rulename = "Tripwire Data Files", ++) ++{ ++ # NOTE: We remove the inode attribute because when Tripwire creates a backup, ++ # it does so by renaming the old file and creating a new one (which will ++ # have a new inode number). Inode is left turned on for keys, which shouldn't ++ # ever change. ++ ++ # NOTE: The first integrity check triggers this rule and each integrity check ++ # afterward triggers this rule until a database update is run, since the ++ # database file does not exist before that point. ++ ++ $(TWDB) -> $(Dynamic) -i ; ++ $(TWPOL)/tw.pol -> $(ReadOnly) -i ; ++ $(TWPOL)/tw.cfg -> $(ReadOnly) -i ; ++ $(TWLKEY)/$(HOSTNAME)-local.key -> $(ReadOnly) ; ++ $(TWSKEY)/site.key -> $(ReadOnly) ; ++ ++ # don't scan the individual reports ++ $(TWREPORT) -> $(Dynamic) (recurse=0) ; ++ ++ # In this configuration /usr/local is a symbolic link to /home/local. ++ # We want to ignore the following directories since they are already ++ # scanned using the real directory or mount point. Otherwise we see ++ # duplicates in the reports. ++ ++ !/home/local ; ++} ++ ++ ################################################ ++ # ## ++################################################ # ++# # # ++# OS Boot and Configuration Files # # ++# ## ++################################################ ++( ++ rulename = "OS Boot and Configuration Files", ++) ++{ ++ /boot -> $(ReadOnly) ; ++ /bsd -> $(ReadOnly) ; ++ /etc -> $(IgnoreNone) -SHa ; ++} ++ ++ ################################################### ++ # ## ++################################################### # ++# # # ++# Mount Points # # ++# ## ++################################################### ++( ++ rulename = "Mount Points", ++) ++{ ++ / -> $(ReadOnly) ; ++ /cdrom -> $(Dynamic) ; ++ /floppy -> $(Dynamic) ; ++ /home -> $(ReadOnly) ; # Modify as needed ++ /mnt -> $(Dynamic) ; ++ /usr -> $(ReadOnly) ; ++ /var -> $(ReadOnly) ; ++} ++ ++ ################################################### ++ # ## ++################################################### # ++# # # ++# Misc Top-Level Directories # # ++# ## ++################################################### ++( ++ rulename = "Misc Top-Level Directories", ++) ++{ ++ /altroot -> $(Dynamic) ; ++ /stand -> $(Dynamic) ; ++} ++ ++ ################################################ ++ # ## ++################################################ # ++# # # ++# System Devices # # ++# ## ++################################################ ++( ++ rulename = "System Devices", ++) ++{ ++ /dev -> $(Device) ; ++ /dev/fd -> $(Device) ; ++ /var/cron/tabs/.sock -> $(Device) ; ++ /var/empty/dev/log -> $(Device) ; ++} ++ ++ ################################################ ++ # ## ++################################################ # ++# # # ++# OS Binaries and Libraries # # ++# ## ++################################################ ++( ++ rulename = "OS Binaries and Libraries", ++) ++{ ++ /bin -> $(ReadOnly) ; ++ /sbin -> $(ReadOnly) ; ++ /usr/bin -> $(ReadOnly) ; ++ /usr/lib -> $(ReadOnly) ; ++ /usr/libexec -> $(ReadOnly) ; ++ /usr/sbin -> $(ReadOnly) ; ++ /usr/X11R6/bin -> $(ReadOnly) ; ++ /usr/X11R6/lib -> $(ReadOnly) ; ++} ++ ################################################ ++ # ## ++################################################ # ++# # # ++# Usr Local Files # # ++# ## ++################################################ ++#OK( ++ #OKrulename = "Usr Local Files", ++#OK) ++#OK{ ++ #OK/usr/local -> $(ReadOnly) ; ++ #OK/usr/local/bin -> $(ReadOnly) ; ++ #OK/usr/local/doc -> $(ReadOnly) ; ++ #OK/usr/local/etc -> $(ReadOnly) ; ++ #OK/usr/local/include -> $(ReadOnly) ; ++ #OK/usr/local/info -> $(ReadOnly) ; ++ #OK/usr/local/lib -> $(ReadOnly) ; ++ #OK/usr/local/libdata -> $(ReadOnly) ; ++ #OK/usr/local/libexec -> $(ReadOnly) ; ++ #OK/usr/local/man -> $(ReadOnly) ; ++ #OK/usr/local/sbin -> $(ReadOnly) ; ++ #OK/usr/local/share -> $(ReadOnly) ; ++ #OK/usr/local/src -> $(ReadOnly) ; ++#OK} ++ ++ ################################################ ++ # ## ++################################################ # ++# # # ++# Root Directory and Files # # ++# ## ++################################################ ++( ++ rulename = "Root Directory and Files", ++) ++{ ++ /root -> $(IgnoreNone) -SHa ; ++ /root/.cshrc -> $(Dynamic) ; ++ /root/.profile -> $(Dynamic) ; ++} ++ ++ ################################################ ++ # ## ++################################################ # ++# # # ++# Temporary Directories # # ++# ## ++################################################ ++( ++ rulename = "Temporary Directories", ++) ++{ ++ /tmp -> $(Temporary) ; ++ /var/tmp -> $(Temporary) ; ++} ++ ++ ################################################ ++ # ## ++################################################ # ++# # # ++# System and Boot Changes # # ++# ## ++################################################ ++( ++ rulename = "System and Boot Changes", ++) ++{ ++ /var/backups -> $(Dynamic) -i ; ++ /var/db/host.random -> $(ReadOnly) -mCM ; ++ /var/cron -> $(Growing) -i ; ++ /var/log -> $(Growing) -i ; ++ /var/run -> $(Dynamic) -i ; ++ /var/mail -> $(Growing) ; ++ /var/msgs/bounds -> $(ReadOnly) -smbCM ; ++ /var/spool/clientmqueue -> $(Temporary) ; ++ /var/spool/mqueue -> $(Temporary) ; ++} ++ ++# ++# $Id: twpol-OpenBSD.txt,v 1.1 2003/06/08 02:00:06 pherman Exp $ ++# +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/policy/twpol-SunOS.txt tripwire-2.3.1-2/policy/twpol-SunOS.txt +--- tripwire-2.3.1-2.old/policy/twpol-SunOS.txt Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/policy/twpol-SunOS.txt Sat Jun 7 19:00:06 2003 +@@ -0,0 +1,822 @@ ++ ############################################################################## ++ # ## ++############################################################################## # ++# # # ++# Policy file for Solaris 2.8 # # ++# V1.0.0 # # ++# September 4, 2002 # # ++# ## ++############################################################################## ++ ++ ++ ############################################################################## ++ # ## ++############################################################################## # ++# # # ++# This is the example Tripwire Policy file. It is intended as a place to # # ++# start creating your own custom Tripwire Policy file. Referring to it as # # ++# well as the Tripwire Policy Guide should give you enough information to # # ++# make a good custom Tripwire Policy file that better covers your # # ++# configuration and security needs. A text version of this policy file is # # ++# called twpol.txt. # # ++# # # ++# Note that this file is tuned to an 'everything' install of Solaris. # # ++# If run unmodified, this file should create no errors on database # # ++# creation, or violations on a subsiquent integrity check. However, it is # # ++# impossible for there to be one policy file for all machines, so this # # ++# existing one errs on the side of security. Your Solaris configuration # # ++# will most likey differ from the one our policy file was tuned to, and will # # ++# therefore require some editing of the default Tripwire Policy file. # # ++# # # ++# The example policy file is best run with 'Loose Directory Checking' # # ++# enabled. Set LOOSEDIRECTORYCHECKING=TRUE in the Tripwire Configuration # # ++# file. # # ++# # # ++# Email support is not included and must be added to this file. # # ++# Add the 'emailto=' to the rule directive section of each rule (add a comma # # ++# after the 'severity=' line and add an 'emailto=' and include the email # # ++# addresses you want the violation reports to go to). Addresses are # # ++# semi-colon delimited. # # ++# ## ++############################################################################## ++ ++ ++ ++ ############################################################################## ++ # ## ++############################################################################## # ++# # # ++# Global Variable Definitions # # ++# # # ++# These are defined at install time by the installation script. You may # # ++# Manually edit these if you are using this file directly and not from the # # ++# installation script itself. # # ++# ## ++############################################################################## ++ ++@@section GLOBAL ++TWROOT=; ++TWBIN=; ++TWPOL=; ++TWDB=; ++TWSKEY=; ++TWLKEY=; ++TWREPORT=; ++HOSTNAME=; ++ ++@@section FS ++SEC_CRIT = $(IgnoreNone)-SHa ; # Critical files that cannot change ++SEC_SUID = $(IgnoreNone)-SHa ; # Binaries with the SUID or SGID flags set ++SEC_BIN = $(ReadOnly) ; # Binaries that should not change ++SEC_CONFIG = $(Dynamic) ; # Config files that are changed ++ # infrequently but accessed often ++SEC_LOG = $(Growing) ; # Files that grow, but that should ++ # never change ownership ++SEC_INVARIANT = +tpug ; # Directories that should never ++ # change permission or ownership ++SIG_LOW = 33 ; # Non-critical files that are of ++ # minimal security impact ++SIG_MED = 66 ; # Non-critical files that are of ++ # significant security impact ++SIG_HI = 100 ; # Critical files that are ++ # significant points of vulnerability ++ ++ ++# Tripwire Binaries ++( ++ rulename = "Tripwire Binaries", ++ severity = $(SIG_HI) ++) ++{ ++ $(TWBIN)/siggen -> $(SEC_BIN) ; ++ $(TWBIN)/tripwire -> $(SEC_BIN) ; ++ $(TWBIN)/twadmin -> $(SEC_BIN) ; ++ $(TWBIN)/twprint -> $(SEC_BIN) ; ++} ++ ++# Tripwire Data Files - Configuration Files, Policy Files, Keys, ++# Reports, Databases ++( ++ rulename = "Tripwire Data Files", ++ severity = $(SIG_HI) ++) ++{ ++ # NOTE: We remove the inode attribute because when Tripwire creates a ++ # backup,it does so by renaming the old file and creating a new one ++ # (which will have a new inode number). Inode is left turned on for ++ # keys, which shouldn't ever change. ++ ++ # NOTE: The first integrity check triggers this rule and each ++ # integrity check afterward triggers this rule until a database ++ # update is run, since the database file does not exist before that ++ # point. ++ ++ $(TWDB) -> $(SEC_CONFIG) -i ; ++ $(TWPOL)/tw.pol -> $(SEC_BIN) -i ; ++ $(TWPOL)/tw.cfg -> $(SEC_BIN) -i ; ++ $(TWLKEY)/$(HOSTNAME)-local.key -> $(SEC_BIN) ; ++ $(TWSKEY)/site.key -> $(SEC_BIN) ; ++ ++ #don't scan the individual reports ++ $(TWREPORT) -> $(SEC_CONFIG) (recurse=0) ; ++} ++ ++ ++# Tripwire HQ Connector Binaries ++#( ++# rulename = "Tripwire HQ Connector Binaries", ++# severity = $(SIG_HI) ++#) ++#{ ++# $(TWBIN)/hqagent -> $(SEC_BIN) ; ++#} ++# ++# Tripwire HQ Connector - Configuration Files, Keys, and Logs ++ ++ ############################################################################## ++ # ## ++############################################################################## # ++# # # ++# Note: File locations here are different than in a stock HQ Connector # # ++# installation. This is because Tripwire 2.3 uses a different path # # ++# structure than Tripwire 2.2.1. # # ++# # # ++# You may need to update your HQ Agent configuation file (or this policy # # ++# file) to correct the paths. We have attempted to support the FHS standard # # ++# here by placing the HQ Agent files similarly to the way Tripwire 2.3 # # ++# places them. # # ++# ## ++############################################################################## ++ ++#( ++# rulename = "Tripwire HQ Connector Data Files", ++# severity = $(SIG_HI) ++#) ++#{ ++ ############################################################################## ++ # ## ++############################################################################## # ++# # # ++# NOTE: Removing the inode attribute because when Tripwire creates a backup # # ++# it does so by renaming the old file and creating a new one (which will # # ++# have a new inode number). Leaving inode turned on for keys, which # # ++# shouldn't ever change. # # ++# ## ++############################################################################# ++# ++# $(TWBIN)/agent.cfg -> $(SEC_BIN) -i ; ++# $(TWLKEY)/authentication.key -> $(SEC_BIN) ; ++# $(TWDB)/tasks.dat -> $(SEC_CONFIG) ; ++# $(TWDB)/schedule.dat -> $(SEC_CONFIG) ; ++# ++# # Uncomment if you have agent logging enabled. ++# #/var/log/tripwire/agent.log -> $(SEC_LOG) ; ++#} ++ ++ ++ ++# Commonly accessed directories that should remain static with regards ++# to owner and group ++( ++ rulename = "Invariant Directories", ++ severity = $(SIG_MED) ++) ++{ ++ / -> $(SEC_INVARIANT) (recurse = 0) ; ++ /home -> $(SEC_INVARIANT) (recurse = 0) ; ++ /etc -> $(SEC_INVARIANT) (recurse = 0) ; ++ /usr/local/etc -> $(SEC_INVARIANT) (recurse = 0) ; ++} ++ ################################################ ++ # ## ++################################################ # ++# # # ++# File System and Disk Administration Programs # # ++# ## ++################################################ ++ ++( ++ rulename = "File System and Disk Administraton Programs", ++ severity = $(SIG_HI) ++) ++{ ++ /usr/lib/acct/accton -> $(SEC_CRIT) ; ++ /usr/ccs/bin/dump -> $(SEC_CRIT) ; ++ /usr/bin/fdformat -> $(SEC_CRIT) ; ++ /usr/sbin/fdisk -> $(SEC_CRIT) ; ++ /usr/sbin/fsck -> $(SEC_CRIT) ; ++ /usr/sbin/format -> $(SEC_CRIT) ; ++ #/sbin/lvchange -> $(SEC_CRIT) ; ++ #/sbin/lvcreate -> $(SEC_CRIT) ; ++ #/sbin/lvdisplay -> $(SEC_CRIT) ; ++ #/sbin/lvextend -> $(SEC_CRIT) ; ++ #/sbin/lvmchange -> $(SEC_CRIT) ; ++ #/sbin/lvmcreate_initrd -> $(SEC_CRIT) ; ++ #/sbin/lvmdiskscan -> $(SEC_CRIT) ; ++ #/sbin/lvmsadc -> $(SEC_CRIT) ; ++ #/sbin/lvmsar -> $(SEC_CRIT) ; ++ #/sbin/lvreduce -> $(SEC_CRIT) ; ++ #/sbin/lvremove -> $(SEC_CRIT) ; ++ #/sbin/lvrename -> $(SEC_CRIT) ; ++ #/sbin/lvscan -> $(SEC_CRIT) ; ++ /usr/sbin/installboot -> $(SEC_CRIT) ; ++ /usr/sbin/mkfs -> $(SEC_CRIT) ; ++ #/sbin/pvchange -> $(SEC_CRIT) ; ++ #/sbin/pvcreate -> $(SEC_CRIT) ; ++ #/sbin/pvdata -> $(SEC_CRIT) ; ++ #/sbin/pvdisplay -> $(SEC_CRIT) ; ++ #/sbin/pvmove -> $(SEC_CRIT) ; ++ #/sbin/pvscan -> $(SEC_CRIT) ; ++ /usr/sbin/quotacheck -> $(SEC_CRIT) ; ++ /usr/sbin/quotaon -> $(SEC_CRIT) ; ++ /usr/sbin/tunefs -> $(SEC_CRIT) ; ++ /usr/sbin/ufsdump -> $(SEC_CRIT) ; ++ /usr/sbin/ufsrestore -> $(SEC_CRIT) ; ++ /usr/bin/unpack -> $(SEC_CRIT) ; ++ #/sbin/vgcfgbackup -> $(SEC_CRIT) ; ++ #/sbin/vgcfgrestore -> $(SEC_CRIT) ; ++ #/sbin/vgchange -> $(SEC_CRIT) ; ++ #/sbin/vgck -> $(SEC_CRIT) ; ++ #/sbin/vgcreate -> $(SEC_CRIT) ; ++ #/sbin/vgdisplay -> $(SEC_CRIT) ; ++ #/sbin/vgexport -> $(SEC_CRIT) ; ++ #/sbin/vgextend -> $(SEC_CRIT) ; ++ #/sbin/vgimport -> $(SEC_CRIT) ; ++ #/sbin/vgmerge -> $(SEC_CRIT) ; ++ #/sbin/vgmknodes -> $(SEC_CRIT) ; ++ #/sbin/vgreduce -> $(SEC_CRIT) ; ++ #/sbin/vgremove -> $(SEC_CRIT) ; ++ #/sbin/vgrename -> $(SEC_CRIT) ; ++ #/sbin/vgscan -> $(SEC_CRIT) ; ++ #/sbin/vgsplit -> $(SEC_CRIT) ; ++ /usr/bin/chgrp -> $(SEC_CRIT) ; ++ /usr/bin/chmod -> $(SEC_CRIT) ; ++ /usr/bin/chown -> $(SEC_CRIT) ; ++ /usr/bin/cp -> $(SEC_CRIT) ; ++ /usr/bin/cpio -> $(SEC_CRIT) ; ++ /usr/sbin/mount -> $(SEC_CRIT) ; ++ /usr/sbin/umount -> $(SEC_CRIT) ; ++ /usr/bin/mkdir -> $(SEC_CRIT) ; ++ /usr/sbin/mknod -> $(SEC_CRIT) ; ++ /usr/bin/rm -> $(SEC_CRIT) ; ++ /usr/bin/rmdir -> $(SEC_CRIT) ; ++ /usr/bin/touch -> $(SEC_CRIT) ; ++} ++ ++ ################################## ++ # ## ++################################## # ++# # # ++# Kernel Administration Programs # # ++# ## ++################################## ++ ++( ++ rulename = "Kernel Administration Programs", ++ severity = $(SIG_HI) ++) ++{ ++ /usr/sbin/modinfo -> $(SEC_CRIT) ; ++ /usr/sbin/modload -> $(SEC_CRIT) ; ++ /usr/sbin/modunload -> $(SEC_CRIT) ; ++} ++ ++ ####################### ++ # ## ++####################### # ++# # # ++# Networking Programs # # ++# ## ++####################### ++ ++( ++ rulename = "Networking Programs", ++ severity = $(SIG_HI) ++) ++{ ++ /usr/sbin/ping -> $(SEC_CRIT) ; ++ /usr/sbin/arp -> $(SEC_CRIT) ; ++ /usr/sbin/dhcpd -> $(SEC_CRIT) ; ++ /usr/sbin/ifconfig -> $(SEC_CRIT) ; ++ /usr/lib/inet/in.dhcpd -> $(SEC_CRIT) ; ++ /usr/lib/inet/in.ndpd -> $(SEC_CRIT) ; ++ /usr/lib/inet/in.ripngd -> $(SEC_CRIT) ; ++ #/sbin/ipvsadm -> $(SEC_CRIT) ; ++ #/sbin/ipvsadm-restore -> $(SEC_CRIT) ; ++ #/sbin/ipvsadm-save -> $(SEC_CRIT) ; ++ /usr/lib/saf/listen -> $(SEC_CRIT) ; ++ /usr/lib/saf/nlps_server -> $(SEC_CRIT) ; ++ #/usr/sbin/in.rarpd -> $(SEC_CRIT) ; ++ /usr/sbin/route -> $(SEC_CRIT) ; ++ /usr/lib/saf/sac -> $(SEC_CRIT) ; ++ /usr/lib/inet/slpd -> $(SEC_CRIT) ; ++ /usr/lib/saf/ttymon -> $(SEC_CRIT) ; ++ /usr/lib/inet/xntpd -> $(SEC_CRIT) ; ++ /usr/lib/netsvc/yp/ypbind -> $(SEC_CRIT) ; ++} ++ ++ ################################## ++ # ## ++################################## # ++# # # ++# System Administration Programs # # ++# ## ++################################## ++ ++( ++ rulename = "System Administration Programs", ++ severity = $(SIG_HI) ++) ++{ ++ /usr/sbin/fuser -> $(SEC_CRIT) ; ++ /usr/sbin/halt -> $(SEC_CRIT) ; ++ /usr/sbin/init -> $(SEC_CRIT) ; ++ /usr/local/bin/install-info -> $(SEC_CRIT) ; ++ /usr/sbin/killall -> $(SEC_CRIT) ; ++ /usr/sbin/rmt -> $(SEC_CRIT) ; ++ /usr/lib/netsvc/rstat/rpc.rstatd -> $(SEC_CRIT) ; ++ /usr/sbin/shutdown -> $(SEC_CRIT) ; ++ /sbin/sulogin -> $(SEC_CRIT) ; ++ /usr/sbin/swap -> $(SEC_CRIT) ; ++ /usr/sbin/syslogd -> $(SEC_CRIT) ; ++ /usr/bin/pwd -> $(SEC_CRIT) ; ++ /usr/bin/uname -> $(SEC_CRIT) ; ++} ++ ++ ######################################## ++ # ## ++######################################## # ++# # # ++# Hardware and Device Control Programs # # ++# ## ++######################################## ++( ++ rulename = "Hardware and Device Control Programs", ++ severity = $(SIG_HI) ++) ++{ ++} ++ ++ ############################### ++ # ## ++############################### # ++# # # ++# System Information Programs # # ++# ## ++############################### ++( ++ rulename = "System Information Programs", ++ severity = $(SIG_HI) ++) ++{ ++ /usr/bin/uptime -> $(SEC_CRIT) ; ++ /usr/bin/who -> $(SEC_CRIT) ; ++} ++ ++ #################################### ++ # ## ++#################################### # ++# # # ++# Application Information Programs # # ++# ## ++#################################### ++ ++( ++ rulename = "Application Information Programs", ++ severity = $(SIG_HI) ++) ++{ ++} ++ ++ ########################## ++ # ## ++########################## # ++# # # ++# Shell Related Programs # # ++# ## ++########################## ++( ++ rulename = "Shell Related Programs", ++ severity = $(SIG_HI) ++) ++{ ++} ++ ++ ++ ################ ++ # ## ++################ # ++# # # ++# OS Utilities # # ++# ## ++################ ++( ++ rulename = "Operating System Utilities", ++ severity = $(SIG_HI) ++) ++{ ++ /usr/bin/arch -> $(SEC_CRIT) ; ++ /usr/bin/basename -> $(SEC_CRIT) ; ++ /usr/bin/cat -> $(SEC_CRIT) ; ++ /usr/bin/cut -> $(SEC_CRIT) ; ++ /usr/bin/date -> $(SEC_CRIT) ; ++ /usr/bin/dd -> $(SEC_CRIT) ; ++ /usr/bin/df -> $(SEC_CRIT) ; ++ /usr/bin/dmesg -> $(SEC_CRIT) ; ++ /usr/bin/echo -> $(SEC_CRIT) ; ++ /usr/bin/ed -> $(SEC_CRIT) ; ++ /usr/bin/egrep -> $(SEC_CRIT) ; ++ /usr/bin/false -> $(SEC_CRIT) ; ++ /usr/bin/fgrep -> $(SEC_CRIT) ; ++ #/usr/local/bin/gawk -> $(SEC_CRIT) ; ++ /usr/bin/gettext -> $(SEC_CRIT) ; ++ /usr/bin/grep -> $(SEC_CRIT) ; ++ /usr/bin/gunzip -> $(SEC_CRIT) ; ++ /usr/bin/gzip -> $(SEC_CRIT) ; ++ /usr/bin/hostname -> $(SEC_CRIT) ; ++ /usr/bin/kill -> $(SEC_CRIT) ; ++ /usr/bin/ln -> $(SEC_CRIT) ; ++ /usr/bin/loadkeys -> $(SEC_CRIT) ; ++ /usr/bin/login -> $(SEC_CRIT) ; ++ /usr/bin/ls -> $(SEC_CRIT) ; ++ /usr/bin/mail -> $(SEC_CRIT) ; ++ /usr/bin/more -> $(SEC_CRIT) ; ++ /usr/bin/mt -> $(SEC_CRIT) ; ++ /usr/bin/mv -> $(SEC_CRIT) ; ++ /usr/bin/nawk -> $(SEC_CRIT) ; ++ /usr/bin/netstat -> $(SEC_CRIT) ; ++ /usr/bin/nice -> $(SEC_CRIT) ; ++ /usr/bin/ps -> $(SEC_CRIT) ; ++ /usr/bin/sed -> $(SEC_CRIT) ; ++ /usr/bin/sleep -> $(SEC_CRIT) ; ++ /usr/bin/sort -> $(SEC_CRIT) ; ++ /usr/bin/stty -> $(SEC_CRIT) ; ++ /usr/bin/su -> $(SEC_CRIT) ; ++ /usr/bin/sync -> $(SEC_CRIT) ; ++ /usr/bin/tar -> $(SEC_CRIT) ; ++ /usr/bin/true -> $(SEC_CRIT) ; ++ /usr/bin/vi -> $(SEC_CRIT) ; ++ /usr/bin/zcat -> $(SEC_CRIT) ; ++ /usr/bin/zsh -> $(SEC_CRIT) ; ++ /usr/local/bin/vimtutor -> $(SEC_CRIT) ; ++} ++ ++ ############################## ++ # ## ++############################## # ++# # # ++# Critical Utility Sym-Links # # ++# ## ++############################## ++( ++ rulename = "Critical Utility Sym-Links", ++ severity = $(SIG_HI) ++) ++{ ++ #/usr/openwin/bin/clock -> $(SEC_CRIT) ; ++ /usr/sbin/poweroff -> $(SEC_CRIT) ; ++ /usr/sbin/quotaoff -> $(SEC_CRIT) ; ++ /usr/sbin/reboot -> $(SEC_CRIT) ; ++ /usr/bin/awk -> $(SEC_CRIT) ; ++ /usr/bin/csh -> $(SEC_CRIT) ; ++ /usr/bin/domainname -> $(SEC_CRIT) ; ++ /usr/bin/ex -> $(SEC_CRIT) ; ++ /usr/local/bin/gtar -> $(SEC_CRIT) ; ++ /usr/bin/red -> $(SEC_CRIT) ; ++ /usr/local/bin/rview -> $(SEC_CRIT) ; ++ /usr/bin/view -> $(SEC_CRIT) ; ++} ++ ++ ++ ######################### ++ # ## ++######################### # ++# # # ++# Temporary directories # # ++# ## ++######################### ++( ++ rulename = "Temporary directories", ++ recurse = false, ++ severity = $(SIG_LOW) ++) ++{ ++ /usr/tmp -> $(SEC_INVARIANT) ; ++ /var/tmp -> $(SEC_INVARIANT) ; ++ /tmp -> $(SEC_INVARIANT) ; ++} ++ ++ ############### ++ # ## ++############### # ++# # # ++# Local files # # ++# ## ++############### ++( ++ rulename = "User binaries", ++ severity = $(SIG_MED) ++) ++{ ++ /sbin -> $(SEC_BIN) (recurse = 1) ; ++ /usr/bin -> $(SEC_BIN) (recurse = 1) ; ++ /usr/sbin -> $(SEC_BIN) (recurse = 1) ; ++ /usr/local/bin -> $(SEC_BIN) (recurse = 1) ; ++ /usr/local/sbin -> $(SEC_BIN) (recurse = 1) ; ++} ++ ++( ++ rulename = "Shell Binaries", ++ severity = $(SIG_HI) ++) ++{ ++ /usr/bin/bash -> $(SEC_BIN) ; ++ /usr/bin/ksh -> $(SEC_BIN) ; ++ /usr/bin/sh -> $(SEC_BIN) ; ++ /usr/bin/tcsh -> $(SEC_BIN) ; ++} ++ ++( ++ rulename = "Security Control", ++ severity = $(SIG_HI) ++) ++{ ++ /etc/group -> $(SEC_CRIT) ; ++ /etc/security -> $(SEC_CRIT) ; ++ /var/spool/cron/crontabs -> $(SEC_CRIT) ; ++} ++ ++( ++ rulename = "Boot Scripts", ++ severity = $(SIG_HI) ++) ++{ ++ /sbin/autopush -> $(SEC_CRIT) ; ++ /sbin/bpgetfile -> $(SEC_CRIT) ; ++ /sbin/dhclient -> $(SEC_CRIT) ; ++ /sbin/dhcpagent -> $(SEC_CRIT) ; ++ /sbin/dhcpinfo -> $(SEC_CRIT) ; ++ /sbin/fdisk -> $(SEC_CRIT) ; ++ /sbin/hostconfig -> $(SEC_CRIT) ; ++ /sbin/ifconfig -> $(SEC_CRIT) ; ++ /sbin/in.mpathd -> $(SEC_CRIT) ; ++ /sbin/init -> $(SEC_CRIT) ; ++ /sbin/jsh -> $(SEC_CRIT) ; ++ /sbin/mount -> $(SEC_CRIT) ; ++ /sbin/mountall -> $(SEC_CRIT) ; ++ /sbin/netstrategy -> $(SEC_CRIT) ; ++ /sbin/rc0 -> $(SEC_CRIT) ; ++ /sbin/rc1 -> $(SEC_CRIT) ; ++ /sbin/rc2 -> $(SEC_CRIT) ; ++ /sbin/rc3 -> $(SEC_CRIT) ; ++ /sbin/rc5 -> $(SEC_CRIT) ; ++ /sbin/rc6 -> $(SEC_CRIT) ; ++ /sbin/rcS -> $(SEC_CRIT) ; ++ /sbin/sh -> $(SEC_CRIT) ; ++ /sbin/soconfig -> $(SEC_CRIT) ; ++ /sbin/su -> $(SEC_CRIT) ; ++ /sbin/su.static -> $(SEC_CRIT) ; ++ /sbin/swapadd -> $(SEC_CRIT) ; ++ /sbin/sync -> $(SEC_CRIT) ; ++ /sbin/uadmin -> $(SEC_CRIT) ; ++ /sbin/umount -> $(SEC_CRIT) ; ++ /sbin/umountall -> $(SEC_CRIT) ; ++ /sbin/uname -> $(SEC_CRIT) ; ++ /etc/init.d -> $(SEC_CRIT) ; ++ /etc/rc0.d -> $(SEC_CRIT) ; ++ /etc/rc1.d -> $(SEC_CRIT) ; ++ /etc/rc2.d -> $(SEC_CRIT) ; ++ /etc/rc3.d -> $(SEC_CRIT) ; ++ /etc/rcS.d -> $(SEC_CRIT) ; ++} ++ ++( ++ rulename = "Login Scripts", ++ severity = $(SIG_HI) ++) ++{ ++ /etc/default/login -> $(SEC_CONFIG) ; ++ /etc/profile -> $(SEC_CONFIG) ; ++} ++ ++# Libraries ++( ++ rulename = "Libraries", ++ severity = $(SIG_MED) ++) ++{ ++ /usr/lib -> $(SEC_BIN) ; ++ /usr/local/lib -> $(SEC_BIN) ; ++} ++ ++ ++ ###################################################### ++ # ## ++###################################################### # ++# # # ++# Critical System Boot Files # # ++# These files are critical to a correct system boot. # # ++# ## ++###################################################### ++ ++( ++ rulename = "Critical system boot files", ++ severity = $(SIG_HI) ++) ++{ ++} ++ ################################################## ++ ################################################### ++ # These files change every time the system boots ## ++ ################################################## ++( ++ rulename = "System boot changes", ++ severity = $(SIG_HI) ++) ++{ ++ /devices/pseudo/log@0:log -> $(SEC_CONFIG) ; ++ /devices/pseudo/cn@0:console -> $(SEC_CONFIG) -u ; # User ID may change on console login/logout. ++ /dev/urandom -> $(SEC_CONFIG) ; ++ /dev/random -> $(SEC_CONFIG) ; ++ /var/run -> $(SEC_CONFIG) ; ++ /var/run/rpc_door -> $(SEC_CONFIG) (recurse=0) ; ++ !/var/run/picld_door ; ++ !/var/run/name_service_door ; ++ !/var/run/syslog_door ; ++ /var/log -> $(SEC_CONFIG) ; ++ /etc/mnttab -> $(SEC_CONFIG) -i ; # Inode number changes on any mount/unmount ++ /etc/.pwd.lock -> $(SEC_CONFIG) ; ++} ++ ++# These files change the behavior of the root account ++( ++ rulename = "Root config files", ++ severity = 100 ++) ++{ ++ #/.Xresources -> $(SEC_CONFIG) ; ++ #/.bashrc -> $(SEC_CONFIG) ; ++ #/.bash_profile -> $(SEC_CONFIG) ; ++ #/.bash_logout -> $(SEC_CONFIG) ; ++ #/.cshrc -> $(SEC_CONFIG) ; ++ /.dtprofile -> $(SEC_CONFIG) ; ++ /.kshrc -> $(SEC_CONFIG) ; ++ /.profile -> $(SEC_CONFIG) ; ++ #/.tcshrc -> $(SEC_CONFIG) ; ++ /Mail -> $(SEC_CONFIG) ; ++ #/mail -> $(SEC_CONFIG) ; ++ #/.addressbook.lu -> $(SEC_CONFIG) ; ++ #/.addressbook -> $(SEC_CONFIG) ; ++ #/.bash_history -> $(SEC_CONFIG) ; ++ /.elm -> $(SEC_CONFIG) ; ++ #/root/.esd_auth -> $(SEC_CONFIG) ; ++ #/.gnome_private -> $(SEC_CONFIG) ; ++ #/.gnome-desktop -> $(SEC_CONFIG) ; ++ #/.gnome -> $(SEC_CONFIG) ; ++ #/.ICEauthority -> $(SEC_CONFIG) ; ++ #/.mc -> $(SEC_CONFIG) ; ++ #/.pinerc -> $(SEC_CONFIG) ; ++ #/.sawfish -> $(SEC_CONFIG) ; ++ /.Xauthority -> $(SEC_CONFIG) -i ; # Changes Inode number on login ++ #/root/.xauth -> $(SEC_CONFIG) ; ++ #/.xsession-errors -> $(SEC_CONFIG) ; ++} ++ ++ ################################ ++ # ## ++################################ # ++# # # ++# Critical configuration files # # ++# ## ++################################ ++( ++ rulename = "Critical configuration files", ++ severity = $(SIG_HI) ++) ++{ ++ /usr/spool/cron/crontabs/adm -> $(SEC_BIN) ; ++ /usr/spool/cron/crontabs/lp -> $(SEC_BIN) ; ++ /usr/spool/cron/crontabs/root -> $(SEC_BIN) ; ++ /usr/spool/cron/crontabs/sys -> $(SEC_BIN) ; ++ /usr/spool/cron/crontabs/uucp -> $(SEC_BIN) ; ++ /etc/default -> $(SEC_BIN) ; ++ /etc/dfs/dfstab -> $(SEC_BIN) ; ++ /etc/vfstab -> $(SEC_BIN) ; ++ /etc/coreadm.conf -> $(SEC_BIN) ; ++ /etc/dacf.conf -> $(SEC_BIN) ; ++ /etc/dhcpd.conf -> $(SEC_BIN) ; ++ /etc/dumpadm.conf -> $(SEC_BIN) ; ++ /etc/inetd.conf -> $(SEC_BIN) ; ++ /etc/nfssec.conf -> $(SEC_BIN) ; ++ /etc/nscd.conf -> $(SEC_BIN) ; ++ /etc/nsswitch.conf -> $(SEC_BIN) ; ++ /etc/pam.conf -> $(SEC_BIN) ; ++ /etc/power.conf -> $(SEC_BIN) ; ++ /etc/printers.conf -> $(SEC_BIN) ; ++ /etc/prngd.conf -> $(SEC_BIN) ; ++ /etc/prtconf -> $(SEC_BIN) ; ++ /etc/resolv.conf -> $(SEC_BIN) ; ++ /etc/rmmount.conf -> $(SEC_BIN) ; ++ /etc/rpld.conf -> $(SEC_BIN) ; ++ /etc/syslog.conf -> $(SEC_BIN) ; ++ /etc/vold.conf -> $(SEC_BIN) ; ++ /usr/local/apache/conf/httpd.conf -> $(SEC_BIN) ; ++ /usr/local/apache2/conf/httpd.conf -> $(SEC_BIN) ; ++ /etc/protocols -> $(SEC_BIN) ; ++ /etc/services -> $(SEC_BIN) ; ++ /etc/motd -> $(SEC_BIN) ; ++ /etc/named.conf -> $(SEC_BIN) ; ++ /usr/bin/passwd -> $(SEC_CONFIG) ; ++ /etc/rmtab -> $(SEC_BIN) ; ++ /etc/rpc -> $(SEC_BIN) ; ++ /usr/local/samba/lib/smb.conf -> $(SEC_CONFIG) ; ++ /etc/hosts -> $(SEC_CONFIG) ; ++ /etc/inittab -> $(SEC_CONFIG) ; ++} ++ ++ #################### ++ # ## ++#################### # ++# # # ++# Critical devices # # ++# ## ++#################### ++( ++ rulename = "Critical devices", ++ severity = $(SIG_HI), ++ recurse = false ++) ++{ ++ /dev/arp -> $(Device) ; ++ /dev/audio -> $(Device) ; ++ /dev/audioctl -> $(Device) ; ++ /dev/cfg -> $(Device) ; ++ /dev/conslog -> $(Device) ; ++ /dev/console -> $(Device) ; ++ /dev/cua -> $(Device) ; ++ /devices -> $(Device) ; ++ /dev/dump -> $(Device) ; ++ /dev/dsk -> $(Device) ; ++ /dev/fbs -> $(Device) ; ++ /dev/fd -> $(Device) ; ++ /dev/hme -> $(Device) ; ++ /dev/kmem -> $(Device) ; ++ /dev/le -> $(Device) ; ++ /dev/log -> $(Device) ; ++ /dev/mem -> $(Device) ; ++ /dev/null -> $(Device) ; ++ /dev/rdsk -> $(Device) ; ++ /dev/rmt -> $(Device) ; ++ /dev/sad -> $(Device) ; ++ /dev/sound -> $(Device) ; ++ /dev/stderr -> $(Device) ; ++ /dev/stdin -> $(Device) ; ++ /dev/stdout -> $(Device) ; ++ /dev/swap -> $(Device) ; ++ /dev/syscon -> $(Device) ; ++ /dev/sysmsg -> $(Device) ; ++ /dev/term -> $(Device) ; ++ /dev/volctl -> $(Device) ; ++ /dev/wscons -> $(Device) ; ++ /dev/zero -> $(Device) ; ++} ++ ++# Rest of critical system binaries ++( ++ rulename = "OS executables and libraries", ++ severity = $(SIG_HI) ++) ++{ ++ /bin -> $(SEC_BIN) ; ++ /lib -> $(SEC_BIN) ; ++} ++ ++#============================================================================= ++# ++# Copyright 2000 Tripwire, Inc. Tripwire is a registered trademark of Tripwire, ++# Inc. in the United States and other countries. All rights reserved. ++# ++# Solaris is a registered trademark of Sun Microsystems. ++# ++# UNIX is a registered trademark of The Open Group. ++# ++#============================================================================= ++# ++# Permission is granted to make and distribute verbatim copies of this document ++# provided the copyright notice and this permission notice are preserved on all ++# copies. ++# ++# Permission is granted to copy and distribute modified versions of this ++# document under the conditions for verbatim copying, provided that the entire ++# resulting derived work is distributed under the terms of a permission notice ++# identical to this one. ++# ++# Permission is granted to copy and distribute translations of this document ++# into another language, under the above conditions for modified versions, ++# except that this permission notice may be stated in a translation approved by ++# Tripwire, Inc. ++# ++# DCM ++# ++# $Id: twpol-SunOS.txt,v 1.1 2003/06/08 02:00:06 pherman Exp $ ++# +Only in tripwire-2.3.1-2.old/policy: twpol.txt +Only in tripwire-2.3.1-2.old/src: Makefile +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/Makefile.am tripwire-2.3.1-2/src/Makefile.am +--- tripwire-2.3.1-2.old/src/Makefile.am Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/Makefile.am Mon Aug 12 21:23:08 2002 +@@ -0,0 +1,3 @@ ++SUBDIRS = @STLPORT_SUBDIR@ ++SUBDIRS+= cryptlib core db fco fs tw twcrypto twparser util ++SUBDIRS+= twprint twadmin siggen tripwire +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/Makefile.in tripwire-2.3.1-2/src/Makefile.in +--- tripwire-2.3.1-2.old/src/Makefile.in Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/Makefile.in Mon Sep 22 09:40:55 2003 +@@ -0,0 +1,319 @@ ++# Makefile.in generated automatically by automake 1.5 from Makefile.am. ++ ++# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 ++# Free Software Foundation, Inc. ++# This Makefile.in is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without ++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A ++# PARTICULAR PURPOSE. ++ ++@SET_MAKE@ ++ ++SHELL = @SHELL@ ++ ++srcdir = @srcdir@ ++top_srcdir = @top_srcdir@ ++VPATH = @srcdir@ ++prefix = @prefix@ ++exec_prefix = @exec_prefix@ ++ ++bindir = @bindir@ ++sbindir = @sbindir@ ++libexecdir = @libexecdir@ ++datadir = @datadir@ ++sysconfdir = @sysconfdir@ ++sharedstatedir = @sharedstatedir@ ++localstatedir = @localstatedir@ ++libdir = @libdir@ ++infodir = @infodir@ ++mandir = @mandir@ ++includedir = @includedir@ ++oldincludedir = /usr/include ++pkgdatadir = $(datadir)/@PACKAGE@ ++pkglibdir = $(libdir)/@PACKAGE@ ++pkgincludedir = $(includedir)/@PACKAGE@ ++top_builddir = .. ++ ++ACLOCAL = @ACLOCAL@ ++AUTOCONF = @AUTOCONF@ ++AUTOMAKE = @AUTOMAKE@ ++AUTOHEADER = @AUTOHEADER@ ++ ++INSTALL = @INSTALL@ ++INSTALL_PROGRAM = @INSTALL_PROGRAM@ ++INSTALL_DATA = @INSTALL_DATA@ ++INSTALL_SCRIPT = @INSTALL_SCRIPT@ ++INSTALL_HEADER = $(INSTALL_DATA) ++transform = @program_transform_name@ ++NORMAL_INSTALL = : ++PRE_INSTALL = : ++POST_INSTALL = : ++NORMAL_UNINSTALL = : ++PRE_UNINSTALL = : ++POST_UNINSTALL = : ++AMTAR = @AMTAR@ ++AWK = @AWK@ ++CC = @CC@ ++CORE_CRYPT_O = @CORE_CRYPT_O@ ++CXX = @CXX@ ++DEPDIR = @DEPDIR@ ++EXEEXT = @EXEEXT@ ++GMAKE = @GMAKE@ ++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ ++OBJEXT = @OBJEXT@ ++PACKAGE = @PACKAGE@ ++RANLIB = @RANLIB@ ++STLPORT_INCLUDE = @STLPORT_INCLUDE@ ++STLPORT_LD = @STLPORT_LD@ ++STLPORT_LIBRARY = @STLPORT_LIBRARY@ ++STLPORT_MAKEFILE = @STLPORT_MAKEFILE@ ++STLPORT_SUBDIR = @STLPORT_SUBDIR@ ++SYSPRE = @SYSPRE@ ++VERSION = @VERSION@ ++YACC = @YACC@ ++am__include = @am__include@ ++am__quote = @am__quote@ ++install_sh = @install_sh@ ++path_to_sendmail = @path_to_sendmail@ ++path_to_vi = @path_to_vi@ ++ ++SUBDIRS = @STLPORT_SUBDIR@ cryptlib core db fco fs tw twcrypto twparser util twprint twadmin siggen tripwire ++subdir = src ++mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs ++CONFIG_HEADER = $(top_builddir)/config.h ++CONFIG_CLEAN_FILES = ++DIST_SOURCES = ++ ++RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \ ++ uninstall-info-recursive all-recursive install-data-recursive \ ++ install-exec-recursive installdirs-recursive install-recursive \ ++ uninstall-recursive check-recursive installcheck-recursive ++DIST_COMMON = Makefile.am Makefile.in ++DIST_SUBDIRS = $(SUBDIRS) ++all: all-recursive ++ ++.SUFFIXES: ++$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) ++ cd $(top_srcdir) && \ ++ $(AUTOMAKE) --gnu src/Makefile ++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status ++ cd $(top_builddir) && \ ++ CONFIG_HEADERS= CONFIG_LINKS= \ ++ CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status ++uninstall-info-am: ++ ++# This directory's subdirectories are mostly independent; you can cd ++# into them and run `make' without going through this Makefile. ++# To change the values of `make' variables: instead of editing Makefiles, ++# (1) if the variable is set in `config.status', edit `config.status' ++# (which will cause the Makefiles to be regenerated when you run `make'); ++# (2) otherwise, pass the desired values on the `make' command line. ++$(RECURSIVE_TARGETS): ++ @set fnord $(MAKEFLAGS); amf=$$2; \ ++ dot_seen=no; \ ++ target=`echo $@ | sed s/-recursive//`; \ ++ list='$(SUBDIRS)'; for subdir in $$list; do \ ++ echo "Making $$target in $$subdir"; \ ++ if test "$$subdir" = "."; then \ ++ dot_seen=yes; \ ++ local_target="$$target-am"; \ ++ else \ ++ local_target="$$target"; \ ++ fi; \ ++ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ ++ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ ++ done; \ ++ if test "$$dot_seen" = "no"; then \ ++ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ ++ fi; test -z "$$fail" ++ ++mostlyclean-recursive clean-recursive distclean-recursive \ ++maintainer-clean-recursive: ++ @set fnord $(MAKEFLAGS); amf=$$2; \ ++ dot_seen=no; \ ++ case "$@" in \ ++ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ ++ *) list='$(SUBDIRS)' ;; \ ++ esac; \ ++ rev=''; for subdir in $$list; do \ ++ if test "$$subdir" = "."; then :; else \ ++ rev="$$subdir $$rev"; \ ++ fi; \ ++ done; \ ++ rev="$$rev ."; \ ++ target=`echo $@ | sed s/-recursive//`; \ ++ for subdir in $$rev; do \ ++ echo "Making $$target in $$subdir"; \ ++ if test "$$subdir" = "."; then \ ++ local_target="$$target-am"; \ ++ else \ ++ local_target="$$target"; \ ++ fi; \ ++ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ ++ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ ++ done && test -z "$$fail" ++tags-recursive: ++ list='$(SUBDIRS)'; for subdir in $$list; do \ ++ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ ++ done ++ ++tags: TAGS ++ ++ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ++ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ mkid -fID $$unique $(LISP) ++ ++TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ ++ $(TAGS_FILES) $(LISP) ++ tags=; \ ++ here=`pwd`; \ ++ list='$(SUBDIRS)'; for subdir in $$list; do \ ++ if test "$$subdir" = .; then :; else \ ++ test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ ++ fi; \ ++ done; \ ++ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ ++ || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) ++ ++GTAGS: ++ here=`CDPATH=: && cd $(top_builddir) && pwd` \ ++ && cd $(top_srcdir) \ ++ && gtags -i $(GTAGS_ARGS) $$here ++ ++distclean-tags: ++ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH ++ ++DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ++ ++top_distdir = .. ++distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) ++ ++distdir: $(DISTFILES) ++ @for file in $(DISTFILES); do \ ++ if test -f $$file; then d=.; else d=$(srcdir); fi; \ ++ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ ++ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ ++ $(mkinstalldirs) "$(distdir)/$$dir"; \ ++ fi; \ ++ if test -d $$d/$$file; then \ ++ cp -pR $$d/$$file $(distdir) \ ++ || exit 1; \ ++ else \ ++ test -f $(distdir)/$$file \ ++ || cp -p $$d/$$file $(distdir)/$$file \ ++ || exit 1; \ ++ fi; \ ++ done ++ for subdir in $(SUBDIRS); do \ ++ if test "$$subdir" = .; then :; else \ ++ test -d $(distdir)/$$subdir \ ++ || mkdir $(distdir)/$$subdir \ ++ || exit 1; \ ++ (cd $$subdir && \ ++ $(MAKE) $(AM_MAKEFLAGS) \ ++ top_distdir="$(top_distdir)" \ ++ distdir=../$(distdir)/$$subdir \ ++ distdir) \ ++ || exit 1; \ ++ fi; \ ++ done ++check-am: all-am ++check: check-recursive ++all-am: Makefile ++installdirs: installdirs-recursive ++installdirs-am: ++ ++install: install-recursive ++install-exec: install-exec-recursive ++install-data: install-data-recursive ++uninstall: uninstall-recursive ++ ++install-am: all-am ++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am ++ ++installcheck: installcheck-recursive ++install-strip: ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ `test -z '$(STRIP)' || \ ++ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install ++mostlyclean-generic: ++ ++clean-generic: ++ ++distclean-generic: ++ -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* ++ ++maintainer-clean-generic: ++ @echo "This command is intended for maintainers to use" ++ @echo "it deletes files that may require special tools to rebuild." ++clean: clean-recursive ++ ++clean-am: clean-generic mostlyclean-am ++ ++distclean: distclean-recursive ++ ++distclean-am: clean-am distclean-generic distclean-tags ++ ++dvi: dvi-recursive ++ ++dvi-am: ++ ++info: info-recursive ++ ++info-am: ++ ++install-data-am: ++ ++install-exec-am: ++ ++install-info: install-info-recursive ++ ++install-man: ++ ++installcheck-am: ++ ++maintainer-clean: maintainer-clean-recursive ++ ++maintainer-clean-am: distclean-am maintainer-clean-generic ++ ++mostlyclean: mostlyclean-recursive ++ ++mostlyclean-am: mostlyclean-generic ++ ++uninstall-am: uninstall-info-am ++ ++uninstall-info: uninstall-info-recursive ++ ++.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \ ++ clean-generic clean-recursive distclean distclean-generic \ ++ distclean-recursive distclean-tags distdir dvi dvi-am \ ++ dvi-recursive info info-am info-recursive install install-am \ ++ install-data install-data-am install-data-recursive \ ++ install-exec install-exec-am install-exec-recursive \ ++ install-info install-info-am install-info-recursive install-man \ ++ install-recursive install-strip installcheck installcheck-am \ ++ installdirs installdirs-am installdirs-recursive \ ++ maintainer-clean maintainer-clean-generic \ ++ maintainer-clean-recursive mostlyclean mostlyclean-generic \ ++ mostlyclean-recursive tags tags-recursive uninstall \ ++ uninstall-am uninstall-info-am uninstall-info-recursive \ ++ uninstall-recursive ++ ++# Tell versions [3.59,3.63) of GNU make to not export all variables. ++# Otherwise a system limit (for SysV at least) may be exceeded. ++.NOEXPORT: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/ChangeLog tripwire-2.3.1-2/src/STLport-4.0/ChangeLog +--- tripwire-2.3.1-2.old/src/STLport-4.0/ChangeLog Sat Feb 24 10:44:04 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/ChangeLog Mon Mar 17 12:57:55 2003 +@@ -1,671 +1,905 @@ +-The following fix was made in 4.0 since 4.0 Release Candidate : ++The following changes were made in 4.5.3 since 4.5.1 release: + +- * _threads.h/_config.h : for all platforms, static mutexes made non-indirect ++ * iostreams ported to Windows CE (thanks Andrew Waters) + +- * _iterator_base.h : made possible to choose between iterator_traits approach +- and old-style iterator queries like iterator_category(), value_type(), etc. +- (Thanks to John R. Bandela for pointing this out) +- * _config.h, stl_user_config.h : introduced __STL_OLD_HP_ITERATOR_QUERIES switch to +- allow old-style and new-style iterator queries (for all compilers). +- iterator_traits<> made always defined. ++ * iostreams ported to AmigaOS (thanks Steven Solie) + +- * _ptr_specialize.h - specializations of type_traits<> for compilers w/o partial spec +- moved into separate file. Added iterator_traits<> specializations for pointer types +- for __STL_NO_OLD_HP_ITERATOR_QUERIES case. Macro __STL_POINTERS_SPECIALIZE is now available +- to specialize both type_traits and iterator_traits for a pointer to user-defined +- type (latter for standard-style iterator queries mode only) ++ * iostreams ported to NCR 3.x (thanks Emmanuel Soden) ++ ++ * _hash_map::operator[] : enhanced to avoid calling default object constructor ++ (Thanks Yuri Taranenko for the report) ++ ++ * Identifier "__value" changed everywhere to "__val" to avoid clashes with Microsoft's "managed C++" keyword (thanks Crow for the report) + +- * vc5.mak : __STL_NO_FORCE_INSTANTIATE flag restored ++ * Most containers : swap() fixed to swap non-stateless allocators correctly (thanks Scott Meyers) + +- * _site_config.h : if __STL_NO_NEW_IOSTREAMS or __STL_NO_IOSTREAMS specified, +- SGI iostreams are being turned off. __STL_NO_SGI_IOSTREAMS moved into stl_user_config.h +- (Thanks to Sathish T C for the report) ++ * _sstream : fix to account for ios_base::app flag properly + +- * stl_watcom.h : _REENTRANT is being set if _MT is set (thanks to Ricardo E. Gayoso for the input) ++ * type_traits.h : _IsOKToMemCpy() fixed to only allow memcpy() for same type arguments (thanks Ed Brey for the report) ++ ++ * stl/_num_put.c, stl/_list.c : workarounds for Debian gcc (thanks Levente Farkas) + +-The following fix was made in 4.0 Release Candidate : +- * _threads.h, _alloc.c : fixed use of _STL_mutex_base instead of _STL_STATIC_MUTEX macro ++ * : fixed MS workaround (thanks Wil Evers, Andrew Ushakov) + +-The following changes were made in 4.0 Release Candidate since 4.0 beta 8: ++ * _pthread_alloc.h : added per_thread_allocator class; returns memory to the same thread it's been allocated in. + +- * fstream.cpp : WIN32 fstreambuf::open flag mapping fixed +- (thanks to Alberto Barbati for the reports) ++ * _iterator_old.h : restored ->() operator for MSVC (thanks Daniel Anderson) + +- * ctype.cpp : fixed classic table regarding ios_base::print/ios_base::space +- conflict (thanks to Alberto Barbati for the report) ++ * a bunch of MPW fixes (thanks Tsutomu Yoshida) + +- * cmath : added same workaround for SUN's math exception/std::exception name clash +- as was there in math.h before ++ * _config_compat.h : fixed compatibility definition for _STLP_NO_EXCEPTIONS (thanks Nicolas) ++ ++ * _fstream.c : fixed bug in _M_seek_init (thanks Pavel Kuznetsov) + +- * _streambuf.c : added "typename" to out-of-line functions (thanks to Michael Tsirkin for the report) ++ * _rope.h : rope<>::swap() methods fixed for non-partial ordering case (thanks Eric Musser) ++ ++ * comlex_trig.cpp : fixed bug on SGI (thanks Mortis) + +- * README fixed to be consistent about SGI iostreams setting (thanks to Ed Brey for the report) ++ * A bunch of fixes for HP aCC compilation with -AA option (thanks John Bossom) + +- * _bitset.h : fixed SUN CC 4.2 crash with -g option (thanks to Alex Vanic for the report), +- fixed bug in bitset<>::reference base bitset typedef ++ * *.c files : added conditional inclusion of corresponding *.h file to fix xlC issues with -tempinc option (thanks Alla Bogolyubov for the report) + +- * _threads.h/.c - fixed issue with inconsistent system's macro for initialization +- and warning about partially bracketed initializer ++ * _auto_ptr.h : "struct" changed to "class" (thanks Alex Pinsker for the report) + +- * debug/_vector.h : fixed _Vector_nonconst_traits specialization for bit_vector +- (thanks for Dave Abrahams for the fix & reminder) ++ * _config.h/stl_user_config.h : handling of macro _STLP_WHOLE_VENDOR_STD rectified + +- * config/msvc.h - addidional level 4 warnings suppressed (thanks to Ed Brey for the report) +- * _ios.h : fixed DLL export decl for MSVC (thanks to Alberto Barbati for the report) ++ * _num_put.c : do_put(const void*) changed to output pointers in hex format (thanks Alex Rosenberg) + +- * stdio_streambuf.cpp : compatibility fix for glibc 2.2 (thanks to Bill Shanahan for the patch) +- * _iterator_base.h : added iterator specialization; +- _stream_iterator.h : ostream_iterator changed to inherit from iterator<> +- (thanks to Raphael Bossek for the report) ++ * test/eh/test_algobase.cpp : fixed alignment to work on 64-bit architectures + +- * INSTALL : added some exaples and fixed typos (thanks to Beman Dawes for the report) ++The following changes were made in 4.5.1 beta 1 since 4.5 release: + +- * _site_config.h : more consistency checks for MT (thanks to John Maddock for the input) ++ * _config.h, _epilog.h : new namespace inclusion schema implemented for own iostreams mode ++ (no std:: redefinition; _STL:: namespace imported into std::, instead of std:: imported to _STL. ++ C library header files wrappers become obsolete if this mode is used and no own namespace is selected. ++ They will be moved out to distinct directory in the next release, and default is going to be no own namespace ++ with own iostreams.) ++ For some compilers (VC6), this only works with _STLP_NO_OWN_NAMESPACE and _STLP_OWN_IOSTREAMS settings. ++ ++ * iostreams ported to SCO OpenServer (thanks Emmanuel Soden) + +- * _messages_facets.h : added DLL export decls (thanks to John Maddock for the report) ++ * sparc_atomic.s : added "stbar" to fix multiprocessor crashes on SPARC + +- * complex_io_w.cpp : fixed specialization syntax for aCC (thanks to Paul E. Blanchard for the report) ++ * dll_main.cpp : forced link of Bs_G static data members (thanks Sandy Martel). Function wrapped in STLport namespace. + +- * complex_exp.cpp : fixed pow() bug for negative arguments (thanks to Anton Sergeev for the report) +- * _fstream.h/_streambuf.h : MRC/MPW workarounds (thanks for Tsutomu Yoshida for the report) ++ * _alloc.c : fixed _STLP_CHUNK_MALLOC for debug malloc configuration (thanks Markus Schöpflin) + +- * using/fstream.h : added missing end-of-line (thanks to Jean-Francois Panisset for the report) ++ * _config_compat.h : fixed compatibility section for _STLP_NO_OWN_IOSTREAMS + +- * : workaround for VC++ 6.0 defining type_info in gobal namespace (thanks to Bosko Ivanisevic for pointing that out) ++ * fstram.cpp , vc6.unicode.mak : fixed bug in wide streams handling for VC6 (thanks Jim Dolter) + +- * _threads.h/_threads.c/pthread_alloc : improved pthreads portability (thatnks to Michael Tsirkin for the patch) ++ * etc/*.txt : files list broken up into several categories for future reorganization + +- * _debug.h/_debug.c : __STL_ASSERT/__STL_VERBOSE_ASSERT/__STL_VERBOSE_RETUN macros guarded to be overridable by user (thanks to Tony Gould for the input) ++ * stl_msvc.h : fixed library selection for .NET (Thanks Franz Zetting) + +- * _valarray.h : added assert to operator= ++ * _ftsream.h, iostream.cpp : fixed compilation for _STLP_NO_EXTENSIONS case (thanks Ben Dorman for the report) + +- * config/vc_select_lib.h : added _AFXDLL recognition (thanks to Andrew Phipps for input) ++ * char_traits.h : fpos<> operators == made members (thanks Thomas Witt) + +- * _rope.h : added default constructors to please gcc-2.7.2 ++ * _threads.h : added using directive for Solaris x86 compile (thanks Mukesh Kapoor) + +- * _set.h/_hash_set.h : pointer and reference typedefs fixed (thanks to Anton Sergeev for the report) ++ * _threads.h : fixed InterlockedXXX definitions for VC++ 6.0 SP5 (thanks AndreasM) + +- * stl/_config.h : stl_user config.h included prior to other parts of configuration +- (thanks to Frank Samuel for the report) +- +-The following changes were made in 4.0 beta 8 since 4.0 beta 7: ++ * gcc-install-apple-macosx.mak : INSTALL_STEP set to install_unix (Thanks Tron Thomas) + +- * Merged changes for 06/08 SGI library snapshot; mostly in locale +- +- * Merged series of fixes/workarounds by Tsutomu Yoshida (thanks!): +- * _rope.c - fixed memory leak bug; +- * _debug.c/_debug.h - added extra zero-initialization for more robustness; +- * _list.h - MPW - specific fixes; +- * _hashtable.h - fixed debug renaming clash for __STL_USE_ABBREVS +- * EH workarounds to make Apple compilers behave ++ * common.mak : default install directory for Unix set to /usr/local + +- * _fstream.c : fixed tellg() bug in text mode ++ * _string.h : _M_null expressed via _STLP_DEFAULT_CONSTRUCTED (Thanks Anthony) + +- * : added sig_atomic_t import ++ * _site_config.h : made sure _STLP_NO_THREADS are set if _NOTHREADS is on (Thanks Jeppe Madsen) + +- * series of fixes for HP aCC 1.23 ( thanks to Michael Tsirkin for the patch ): +- _bvector.h : all relops are specialized; +- stl_hpacc.h - fixed config; +- hpacc.mak : added makefiles for HP aCC in src and test +- debug/_iterator.h, debug/_vector.h - removed future errors due to baseclass member use +- +- * : added import of system() call (thanks to Petr Ovchenkov for the report) ++ * _config.h : _STLP_WIN32THREADS is set (bugfix) ( thanks to Andreas Malzahn ) + +- * _REENTRANT is now set by default to be on for all SGI iostreams compilations. +- Same is being enforced if SGI iostreams are used. +- +- * _pair.h : added workaround for make_pair in case of char literals +- (extension, only works with partial function order) ++ * _num_put.c, common_rules.mak : patches by Levente Farkas + +- * config/stl_gcc.h - fixed configuration problem for "g++-3" directory used in Cygnus and Mingw +- distributions for gcc-2.95.2, while all other platforms use "g++". Added recognition section. +- Thanks to Dave Abrahams for the report. ++ * etc/STLport-4.5.1.spec : spec file to build STLport-4.5.1 RPM added (thanks Levente Farkas) + +- * config/stl_mlc.h : added support for MLC compiler (thanks to Anton Sergeev for the patch) ++ * _auto_ptr.h , _debug.c, _debug.h : debug check for auto_ptr pointer added (thanks Gerd Hoeren for the idea) + +- * : auto_ptr simplified (thanks to Kon Tantos for problem report) +- +- * num_get.cpp : included to get external symbols right. ++ * debug/_vector.h : invalidation for erase() corrected not to invalidate current iterator (Thanks ALberto Barbati) + +- * stl_ibm.h : __STL_NO_TYPEINFO added for OS/2 (thanks to Willie Arbuckle for the report) ++ * stl_bc.h : restored automatic library link directive for cases when STLport is not a native library + +- * stl_bc.h : fixed enforcement of static library until dynamic made to work (thanks to J. Lambert for the report) +- * src/stlport.rc : improved version definition to work with mingw32, changed to +- +- * src/mingw32.mak : Made use of stlport.rc for DLL build (thanks to Danny Smith for the suggestion) +- * debug/_vector.h : name clash removed for _Base (thanks to Will Fike for the report) + +- * _monetary.h - added "static const bool intl" member to meneypunct<> templates +- (thanks to Anton Sergeev for the report) ++ * _auto_ptr.h : template constructor conversion bug fixed (thanks mbergal) + +- * _bitset.h : added forward friend decraration for reference (thanks to Anton Sergeev for the report) ++ * MIngw32 patches integrated (thanks Wu Yongwei) + +- * _tree.h : made _Rb_tree_base_iterator::_M_node initialized in default constructor (thanks to Dean Sturtevant for the report) ++ * src/complex_impl.h : case for DEC CXX changed to general, instead of extension functions for float and long double, to get it compliled with CC 6.1 (thanks Tony McConnell) + +- * _set.h : reinterpret_cast<> changed to C-style cast (thanks to Dave Abrahams for the suggestion) ++ * dll_main.cpp : added __malloc_alloc instantiation (thanks Michael Ehrig) + +- * Use of raw SGI allocators (like __node_alloc) as an allocator parameter deprecated, +- available only with __STL_USE_RAW_SGI_ALLOCATORS macro. May be removed later. +- __allocator still available unless __STL_NO_EXTENSIONS is specified ++ * _debug.c : fixed race condition in _M_detach (thanks Achim Stremplat) + +- * _limits.h/_limits.c - alignment fix for Solaris; +- * Modified __format_float* routines to take long double as parameter; +- (thatnks to Anthony Williams for the patch) ++ * test/*/hpacc.mak : fixed flags and libs (thanks Michael Ehrig) + +- * debug/_iterator.h - wrappers for noncompliant compilers moved under +- #ifdef __SGI_STL_NO_ARROW_OPERATOR (thanks to Dave Abrahams for the input) ++ * typeinfo : added fix for MS VC ::bad_cast confusion (thanks Alberto Barbati) ++ ++ * debug/_vector.h : removed extra guard for MSCV around member template constructor (thanks Alberto Barbati) ++ ++ * _fstream.h : added extension basic_fstream<> constructors taking protection parameter (thanks Mukesh Kapoor for the idea) + +- * _numeric_facets.h - num_put<> , num_get<> virtual members made outline to work +- aroung gcc-2.95 bug. ++ * stl_sunpro.h : added additional C include directory choice for Solaris 6&7 (thanks John E. Bossom) + +- * : undefined obsolete C macros : getchar/putchar & the like. ++ * _vector.c : added _vector.h inclusion for _STLP_LINK_TIME_INSTANTIATION case (thanks Alex Vanic) ++ + +- * ctype.cpp : fixed bug with ctype::is (const char*, const char*, mask) ++ * _num_put.c : fixed overflow case with grouping (thanks Will Evers) + +- * ctype.cpp : fixed is(print) for certain platforms where print is a separate flag ++ * _istreambuf_iterator.h : fixed distance_type return type (thanks Anthony Williams) ++ ++ * debug/_vector.h : debug version of push_back() added (thanks) ++ ++ * Iostreams ported to LynxOS 3.0 (thanks Dmitry Azovtsev) ++ ++ * wrappers/*.h : added inclusions of the master header to fix xlC 3.x compile (Thanks Dmitry Azovtsev) + +- * ftstream.cpp : fixed corner case bug for Win32 text output (thanks for Dirk Schreib for the report) ++ * Changes for BCB6 integration (thanks Nathan York) + +- * _streambuf.h, _fstream.h, stdio_strembuf.h : fixed overflow/pbackfail() virtuals definition; +- * _bitset.h : _M_copy_from_string fixed for non-member-template case (thanks to Alex Vanic for the report) ++ * Removed all dead code blocks marked by #if OBSOLETE and #if 0 + +- * gcc-glibc.mak, common_macros.mak : GLIBC compilation fixes (thanks to Thomas Witt for the report) +- * WCHAR_MIN, WCHAR_MAX definitions moved from to ++ * Updates build spec file for Linux rpm (thanks Levene Farkas, Harold van Oostrom) + +- * char_traits::to_char_type : parameter changed to int ++ * complex_trig.cpp : limits changed to be static, for performance optimization (thanks Sergei Nikolaev) + +- * included in (for size_t) ++ * _algo.c : eliminated default-constructed iterators, to lift unnecessary restriction (thanks Tonci Tomic ) ++ ++ * _vector.h : fixed bug in assign() : copy used instead of __copy_aux (Thanks Tim Finer) + +- * _codecvt<>::do_length: fixed first parameter to be const mbstate_t &; +- virtual fns moved into .cpp, to work aroung gcc bugs ++ * stl_sunpro.h : restored _STLP_HAS_NO_NEW_C_HEADERS switch for SUN CC 4.2 + +- * _complex.h : fixed complex<>::operator= and constructors signature to take const T& ++ * : __stl_new definition put into the namespace (thanks Satoshi Nakamura) + +- * _istream.c : fixed formatted input involving binary '0' ++ * bcb*.mak : fixed md command and DYN_LINK (thanks Kirby Zhou) + +- * locale_impl.cpp : insertion of time_put fixed ++ * stl_user_config.h : added _STLP_USE_CUSTOM_CHAR_TYPES_IO switch to optimize iostreams for default case + +-The following changes were made in 4.0 beta 7 since 4.0 beta 6: ++ * debug/_vector.h : fixed debug check bug (thanks Gerd Hoeren) + +- * Merged series of fixes/workarounds by Tsutomu Yoshida (thanks!): +- * cmath, _complex.h, stl_apple.h, _deque.h - MPW/MRC specific workarounds +- * _bitset.h - removed the obsolete _WordT template parameters. +- * _ctype.h, _codecvt.h, _collate.h, _istream.h, _messages_facets.h, _monetary.c +- _monetary.h, _numeric_facets.h, _time_facets.h - added workaround for locale's nested class. +- * _ostream.c_ostream.h - added proposed modification against the circular inclusion problem. +- * test/eh/test_deque.cpp - removed the obsolete template argument ++ * _alloc.h : allocator::construct uses std::_Construct (thanks Gert Grossmann) + +- * _bitset.h - removed obsolete adaptor (thanks to Alex Vanic for the report) ++ * stl/_alloc_old.h : restored (thanks Gert Grossmann) + +- * _[io]stream.h - removed extra DLL specs (thanks to Danny Smith for the report) ++ * stl/_threads.h : fixed _STLP_ATOMIC_xxx macros for DEC (thanks Gert Grossman) + +- * stl_msvc.h - fixed bug caused static lib to always be selected ++ * src/_locale_impl.cpp : added missing guards for codecvt<> in _STLP_NO_MBSTATE_T case ++ + +- * gcc.mak - fixed AR definition for static link ++The following changes were made in 4.5 release since 4.5 beta 8 : ++ ++ * _threads.h, debug/_debug.h etc : STLport iostreams library made binary compatible with user code compiler w/o multithreaded switch, for some platforms ++ ++ * config/stl_msvc.h, : corrected _STLP_NO_USING_FOR_GLOBAL_FUNCTIONS for VC++ 6.0 SP5 ++ (Thanks Alberto Barbati) ++ ++ * src/vc6.mak : RC macro definition restored (Thanks Graham) ++ ++ * stl/_cmath.h, : parts of code moved to as uses it (Thanks Synge Todo) ++ ++ * stl/_tree.c : fixed insert_unique() with a hint bug (Thanks Serge Pashkov) ++ ++ * src/gcc-*.mak : removed -nostdinc++ option + +- * Added workaround for static locale::id member in DLL for mingw32 (thanks for Danny Smith for the report) ++ * stl_solaris.h : definition of _STLP_SUNPRO_EXCLUDE made dependant on _XOPEN macro instead of SUN CC macros (Thanks ecohen for the report) ++ ++ * fstream.cpp : mmap_chunk made to be 1M instead of 16M as was originally intended (thanks Alexey Starikovskiy) ++ * stl_sunpro.h : _STLP_LIMITED_DEFAULT_TEMPLATES not defined for compat mode anymore ( thanks Michael Kopp) ++ * dll_main.cpp : added instantiation for _Swap_lock_struct<> (thanks simonb) ++ ++ * _ostream.c : fixed formatting bug for width()==1 ++ ++ * config/_epilog.h : added option pop section for Borland. ++ ++ * stl/_threads.h : fixed InterlockedXXX declarations for MS .NET (thanks Piers Haken) ++ ++ * vc7.mak makefile added for MS VC++ 7.0 (.NET) ++ ++ * fixed _STLP_ITERATOR_CATEGORY, etc. for Mwerks CodeWarrior 5.0 ++ ++ * stl/_num_put.c : fixed operator<<(void*) to use _STLP_LONG_LONG where available. ++ ++ * _STLP_WHOLE_VENDOR_STD option is back supported (Thanks anton ephanov for the input) ++ ++ * _cmath.h : added guard to mask additional overloads (thanks Tim Smith) ++ ++ * stl_solaris.h : mbstate_t stuff defined here, old-style C headers used (Thanks Mukesh Kapoor) ++ ++ * type_traits.h : __default_constructed() inlined (Thanks Matt Davies) ++ ++ * new.h : fix for gcc-3.0 to look in backward directory (Thanks Ken) ++ ++ * stlport/using/h/streambuf.h added (Thanks Gennadiy) ++ ++ * A bunch of changes for Borland static and DLL compile (Thanks Nathan York) ++ ++ * stl/_algo.c : fixed find_end() bug (Thanks Alberto Barbati) ++ ++ * stl/_queue.h : priority_queue<>::_comp renamed to "comp" as standard states (thanks Todd Greer) ++ ++ * _limits.c : added correct data member representations for AS400 and Alpha machines (thanks Holger Stash) ++ ++ * _vector.h : added check to avoid calling allocator<>::deallocate(0) (thanks Stephen Cleary) ++ ++ * config/_prolog.h, config/_epilog.h : added push/pop pack(8) pragmas for MSVC (thanks Todd Greer, Alberto Barbati) ++ ++ * gcc.mak's : default spelling for "-pthreads" option changed to "-pthread" as more platforms use that. ++ ++ ++The following changes were made in 4.5 beta 8 since 4.5 beta 7 : + +- * _string_io.h : added _widen() to get getline() compile with wchar (somewhat missing in b6 , thanks to Mikhail Leonov for reminder) ++ * stl/_fstream.c : _M_underflow bug fix for custom codecvt facets (thanks Alberto Barbati) + +- * threads.h - fixed guards for DreamSega WinCE (thanks to Ben Nason for the report) ++ * bcc55.mak : c_locale.c added to the link command (thanks Steve Loves) ++ ++ * _iterator_base.h & many other places : iterator tags are being accepted by const reference ++ instead of value, to fix segmentation faults experienced on certain platforms with beta7. ++ That also should improve efficiency on same platforms (apparently, empty unreferenced ++ objects with no constructors/destructors were copied on the stack when passed by value). ++ Accompanied change eliminates hardcoded deference hack used in previous beta. ++ Thanks everybody who reported this. ++ ++ * stl_user_config.h : added _STLP_GCC_USES_GNU_LD switch. This is for those platforms ++ where native linker does not let gcc to implement automatic instantiation of static ++ template data members (Tru64, AIX, HP-UX). ++ It is being put in this file as there is no automatic way to check if we are using GNU ld or not. ++ ++ * _range_erors.h : depandancy on and removed for own iostreams mode ++ (thanks Doug Gilbert) ++ ++ * debug/_list.h : "typename" added in new methods (thanks Doug Gilbert) ++ ++ * _config.h, src/common_macros.mak : beta version number bumped ++ ++ * src/ftream.cpp, c_locale_win32.c : fixes for UNICODE compilation (thanks Valo) ++ ++ * stl_gcc.h, etc : changes for GCC support on Tru64 (thanks Tobias Ernst) ++ ++ * _alloc.c : for MS VC, malloc_dbg only used when _STLP_DEBUG_ALLOC is set, not for all debug configs ++ (Thanks Anton Ephanov) ++ ++ * test/eh/gcc.mak : directories stuff fixed (Thanks Brodie) ++ ++ * stl/_complex.h : fixed declarations for long double specializations (Thanks Tsutomu Yoshida) + +- * fstream.cpp : fixed truncation for WIN32 (thanks to Bruce Alderson for the report) ++ * locale_byname.cpp, etc. : fixes for Apple compilers by Tsutomu Yoshida. + +- * _istream.c/_M_ignore_unbuffered() - fixed count bug ++ * _ios_base.h : __evenk id changed not to clash with MS VC++ 7 (thanks Paul Ghezzi) + +- * _istream.c/ readsome() : fixed extra failbit setting on eof ++ * _fstream.c : added basic_filebuf constructor workaround for compiler which do not initialize builtins ++ to zero when default constructed (thanks Alberto Barbati) + +- * __get_integer - enhanced using a table; input value made unchanged in case of error. ++ * _locale.h : relaxed guerd around templated locale constructor (thanks Alberto Barbati) + +- * __get_base_or_zero - more code factored out ++ * stl_mwerks.h : changes to accomodate CodeWarrior 6.2 (thanks cprosser) + +- * stl_wince.h : fixed assert() definition for Win CE (thanks to Andrew Waters for the report) ++ * stl/_cmath.h : extracted from for better decoupling + +- * vc_select_lib.h " fixed __declspec selection for Win CE (thanks to Andrew Waters for the report) ++ * stl/_std_prolog.h, stl/_std_epilog.h : hooks for future alternative namespace inclusion style. + +- * _rope.c - fixed bug in _S_destr_concat_char_iter (thanks to E.Musser for the fix) ++ * config/stl_gcc.h : gcc-3.0 now supported + +- * debug/_vector.h - fixed DLL export for vector ++ * src/gcc-beos.h : only static library is being built (dynamic stil don't work) (thanks John Maddock) + +- * _vector.h, _deque.h, _bvector.h - obsolete guards around at() methods removed ; +- * type_traits.h - WinCE compatibility fixes for -> operator definition ; +- * _vector.h, _deque,h - removed extra casts (thanks to Andrew Waters for the report) ++ * using/iostream : included using/istream and using/ostream + +- * _algobase.h - optimized lexicografical_compare() overload for char* ++ * dll_main.cpp : force_link() fix to prevent numeric_limits static members and ++ _M_increment/decrement from _tree.c from being optimized out by VC++ ++ (thanks Sofus Mortensen, Alberto Barbati ) ++ ++ * _alloc.c : added CHECK_NULL_ALLOC for _STLP_CHUNK_ALLOC with malloc, to throw exception if malloc returns 0 (thanks ghunt) ++ ++ * stl_bc.h, : fixed Borland C++ import of unexpected handler stuff ++ ++ * stl_ibm.h, etc. : fixes for IBM VisualAge 5.02 to compile ++ ++ * type_traits.h : bool2type<> changed to be parameterized on int, to work around SUN CC bugs (probably others, too) ++ ++The following changes were made in 4.5 beta 7 since 4.1 beta 6 : ++ ++ * sparc_atomic.s : file missing from the distribution restored ++ ++ * etc/ subdirectory created; miscellanous files moved there ++ ++ * STLport ported to BeOs, complete with iostreams (thanks John Maddock) ++ ++ * Macro _STLP_NO_SGI_IOSTREAMS renamed to _STLP_NO_OWN_IOSTREAMS, old references to SGI removed; ++ ++ * "prepare" target added to all makefiles in src/; should be run before using STLport; ++ on most platforms it's empty, on some of them it creates necessary symbolic links, etc. + +-The following changes were made in 4.0 beta 6 since 4.0 beta 5: ++ * stl/_deque.h : deque<>::erase bug (introduced in 4.1b4) fixed (thanks to BruceFlorman) ++ : default parameter in constructor bug fixed (Thanks to Alex Vanic) + +- * Merged changes from SGI STL snapshots 04/03, 04/14, 04/18. ++ * stl_msvc.h : explicit template function agruments enabled for VC++; + +- * Iostreams ported to Apple MPW/MRC (thanks to Tsutomu Yoshida for the contribution) ++ * stl_wince.h : added inclusion + +- * Iostreams ported to OSF1/Tru64 (thanks to Marc W. Mengel for the contribution) ++ * stl/_limits.h : numeric_limits::digits changed from 0 to 1 (Thanks Mukesh Kapoor) + +- * Iostreams ported to FreeBSD ( Thanks to Sms for the contribution) ++ * stl/_function_base.h : added __identity_element() (extension name), _numeric.h : this one used instead of identity_element() (Thanks Hafeez) ++ ++ * stl_msvc.h : explicit template function agruments enabled for VC++; ++ ++ use_facet<> now fully conforms to the standard with VC++. (Thanks Jeff Kohn for the input) ++ ++ * fstream.cpp : LARGE_INTEGER used to work around Intel shift instruction bug (thanks Thomas Meischner) ++ * fstream.cpp : ULL macro fixed for Win32 ++ * fstream.cpp : Added test for for INVALID_HANDLE_VALUE and NULL base and _M_view_id, ++ for _M_close on Win32 (Thanks Stephen Baker) ++ * fstream.cpp : Fixed corner case with mmap() on EOF (Thanks Jens Maurer) ++ ++ * _istream.c : fixed _M_read_buffered sssso that it does not skip delimiters (Thanks Gerd Hoeren) ++ ++ * stl/_string.h : operator __std_string() uses constructor with a size to correctly initialize string containing null chars (Thanks Armin) ++ ++ * iomanip : added operator for setfill object and istream (was ostream only) (Thanks Mukesh Kapoor) ++ ++ * stl/_locale.h , stl_intel.h : fixes for Intel 5.0 compiler (Thanks Anton and Marcello Pietrobon) ++ ++ * stl_solaris.h : added _STLP_NO_NATIVE_WIDE_FUNCTIONS ++ ++ * New makefiles added for Intel C++ 5.0 and VC++ 6.0 in src/, test/eh, test/regression (Thanks to Marcello Pietrobon) ++ ++ * _STLP_NO_LONG_DOUBLE case handled for STLport iostreams as well (thanks John Daniel) ++ ++ * SUN CC compiler template cache is being properly cleaned up (Thanks Whitney Kew) ++ ++ * dll_main.cpp : added extern "C" around DllMain() (Thanks Danny Smith) + +- * : extra template parameter removed ++ * type_traits.h : added bool parameter to shut up warnings on some compilers (Thanks glassman) + +- * locale::id, locale::facet : reverted to nested classes as standard prescribes ++ * stl/_rope.h/.c, src/mrcpp.mak, src/mrc.mak, stl/_tree.h : MPW & MRC fixes by Tsutomu Yoshida ++ ++ * stl_gcc.h : added path for et al for gcc-2.95.3 on FreeBSD (Thanks to + +- * _string_io.h : added _widen() to get getline() compile with wchar (thanks to Mikhail Leonov for the patch) ++ * _tree.h /_tree.c : pointers used as return values instead of iterators for implementation ++ functions, for efficiency. + +- * collate_byname[_w].cpp : fixes for VC++ 5.0 build w/__STL_DEBUG (thanks to Petr Ovchenkov for the patch) ++ * _algo.h/.c : added leading underscrore to some symbols (Thanks to Ed James-Beckerman for the report) ++ ++ * dll_main.cpp : fixed nothrow object initialization (Thanks to Dan Ingold) + +- * : __STL_COMPLEX_NAMESPACE defined before inclusion of impl. header +- (thanks to Matthew Kelly for the patch) ++ * beta suffix in common_macros.mak updated (thanks to Whitney Kew) + +- * makefiles in "src" : improved to get each compiler to put object files in separate directory : +- ./obj/$(COMP)/Debug, etc. COMP is given some default value for each compiler, but may be also overridden. ++ * c_locale_win32.c : incomple fix for locale completed (thanks to Alberto Barbati) + +- * "src" subdirectory : added stlport_prefix.h file for precompiled header support; +- VC++ makefiles make use of them ++ * c_locale.h : _Locale_ALPHA definition for VC++ and mingw32 fixed (thanks Danny Smith) + +- * stl/_iterator_base.h : provided __STL_NONTEMPL_BASE_MATCH_BUG +- workaround for new form of distance(). ++ * _threads.h : fixed _DECTHREADS block to work on both DEC and HP + +- * : added cast to WCHAR_MAX definition (thanks for Dave Abrahams for the report). ++ * _hash_set.h : fixed typo in MSVC++ bug workaround ( Thanks to Jon_Hanson for the report) + +- * stl_user_config.h, stl/_config.h - setting splitted and organized more properly. ++ * stlport/strstream.h : fixed inclusion for MSVC 6 (Thanks Joachim Achtzehnter) ++ ++ * _config.h : _STLP_RETHROW changed to avoid warnings with NO_EXCEPTIONS (thanks Richmond) + +- * time_facets.cpp - extra instantiations removed (thanks to Matti Rintala for the report). ++ * _hashtable.c : prime list definition made consistent (thanks Rainer Schnitker) + +- * stdio_streambuf.h : added explicit qualifications of C lib functions for gcc-2.91 ++ * stl_hpacc.h : _STLP_FORCE_ALLOCATORS workaround used for Version 3.15 also (thanks Rainer Schnitker) + +- * SGI code used for compatibility w/older versions are guarded with #ifndef __STL_NO_ANACHRONISMS ++ * stl/_string_io.c : fixed using directive in operator >>() (thanks Rainer Schnitker) + +- * SGI extensions are guarded with #ifndef __STL_NO_EXTENSIONS ++ * debug/_deque.h : a check in erase() fixed (thanks Andreas Malzahn) + +- * SGI/HP anachronisms are guarded with #ifndef __STL_NO_ANACHRONISMS ++ * debug/_list.h : added remove() to do iterator invalidation; range erase() fixed to do invalidation + +- * : .h file included if __STL_NO_NEW_NEW header is set +- (thanks to Willie Arbuckle for the report) ++ * stl_watcom.h : added switches; disabled own iosterams by default; ++ enabled ->() operator for iterators (thanks Steven Green) + +- * Suppresed spurious BC55 warnings about iterators ++ * : added throw spec for what(); stl_sgi.h : made _STLP_NO_EXCEPTIONS depend on __EXCEPTIONS macro (Thanks Anton Ephanov) + +- * complex_io.h - fixed operators declarations for MetroWerks ++ * _string_io.c : operator << : fixed width() interpretation bug + +- * debug/_slist.h - cleaned up use of stl_debug_do obsolete macro (thanks to Matti Rintala) ++ * stl_hpacc.h/cmath : fixed HP aCC settings for -AA option (thanks Doug Gilbert) + +- * debug/_iterator.h, debug/_vector.h - fixed relaxed iterator constructors (thanks to Dave Abrahams for the patch) + +- * stl/_complex.h - fixes for gcc-2.95 on IRIX (thanks to Marc W. Mengel) + +- * debug/_iterator.h : fixed relaxed const/non-const iterator construction for debug mode +- (thanks to Dave Abrahams for the patch) ++The following changes were made in 4.1 beta 6 since 4.1 beta 5 : ++ ++ * _istream.h, _ostream.h, _ios.h, _fstream.h : guard macros fixed to not clash with .h files in "stlport" directory ++ Also all uses of those macros fixed. (thanks to Gerd Hoeren for the report) ++ ++ * _debug.c/_debug.h : fixed swap() for rb_tree and list (thanks to Gerd Hoeren for the report) ++ swap() changed not to invalidate any iterators, as prescribed by the standard ++ ++ * forced _REENTRANT to be defined when compiling with STLport iostreams and _STLP_DEBUG ++ (without _STLP_DEBUG it seems to be binary compatible even without that) + +- * collate : added workaround for SUNpro linker (thanks to Petr Ovchenkov for the fix) ++ * facets_byname.cpp source introduced to replace all xx_byname.cpp files; ++ restored separate facets .cpp complilation (they used to be included in locale_impl.cpp) + +- * _ios.h, _streambuf.h - added obsolete stuff required by the standard ++ * introduced _STLP_USE_PERTHREAD_ALLOC to optionally use per-thread allocator ++ (_Pthread_alloc from _pthread_alloc.h) as the deafult node allocator. Only works with pthreads for now. ++ ++ * Switches _STLP_DONT_REDEFINE_STD and _STLP_WHOLE_VENOR_STD are back (thanks to Anton Ephanov for the report) ++ ++ * _vector.h : fixed bug in template version of insert (Thanks to Yotam Medini for the report) ++ ++ * monetary.cpp : unneded hack for cygwin removed (thanks to Dean Sturtevant) + +- * _config.h/stdexcept - introduced __STL_NOTHROW_INHERITED to be used when we actually need +- exception specification due to inheritance (thanks to Joe for the report) ++ * : fixed _STLP_OUTERMOST_HEADER_ID macro + +- * _locale.h:104 : fixed ummaned parameters ++ * cin/cout/cerr redefined if no namespaces and SGI iostreams are used, for all compilers, just in case. ++ * _sparc_atomic.h : fixed and improved atomic ops for gcc + +- * _tempbuf.h - fixed absent inclusion of _tempbuf.c ++ * test/regression : non-backward-compatible old-style __STL_xx macros use changed to _STLP_xx + +- * : relaxed rules for importing vendor symbols ++ * config/st_gcc.h : disabled non-standard "extern" use for non-DLL templates + +- * _deque.h - added != operator ++ * mingw32 - used 'windows.h replacement' section in _threads.h (thanks to Danny Smith) + +- * _streambuf.h - fixed snextc() bug for wchar_t ++ * locale Win32 bug fixed (thanks to Alberto Balbarti) + +- * , _numeric_facets.h - circular dependency resolved ++ * mingw32 : _STLP_CONST_INIT_BUG defined for dll (thanks to Danny Smith) + +- * stl/_iosfwd.h - added include guard ++ * "make clean" glitches fixed (thanks to Whitney Kew for the report) + +- * basic_[io]stream::sentry made inner class again (as per standard) +- for non-DLL compilations. ++ * _fstream.c : fixed codecvt bug for variable width encoding + +- * vector is used in locale implementation to reduce code bloat, +- vector exported from DLL ++ * _STLP_ABORT macro introduced to avoid clashes with third-party sw redefining abort() (thanks to Jerry) + +- * : exported more stuff ++ * c_locale_win32 : fixed parse bug in __ParseLocaleString (thanks to Danny Smith) + +- * stl_intel.h : ICL config merged into stl_msvc.h ++ * extra declspecs removed from templates to fix VC++ 7.0 ; only concrete classes have specifiers (thanks to Holger Stasch for the report) + +- * gcc.mak - fixed for shared target ++ * stl_msvc.h, _hashtable.h/.c : fixes for IA64 compilation (thanks to Rainer Schnitker ) ++ ++ * fixed bugs in "make install" on Unix (thanks to Carlos Paniago) ++ ++ * dll_main.cpp : DisableThreadLibraryCalls used for optimization (thanks to Alberto Barbati) + +-The following changes were made in 4.0 beta 5 since 4.0 beta 4: ++ * dll_main.cpp : a dummy function added to force guts for static VC++ link (thanks to Alberto Barbati) ++ ++ * gcc-linux.mak : flags fixed (thanks to Levente Farkas ) + +- * _hastable.c:263 : removed inneeded cast (thanks to Will Fike for the report) ++ * stl_msvc.h, stl_intel.h : fixed __ICL version test (thanks to Serge Pashkov) + +- * debug/_string.h : added conversion to non-SGI string (thanks to Todd Richmond for the report) ++ * versioning schema changed on Windows to have .dll extension (thanks everybody for the feedback) + +- * _complex.h : fixed DLL declarations for i/o operators ++ * NetBSD makefiles fixed + +- * _ostream.h : fixed sentry behavoiur and DLL specs. ++ * A bunch of fixes by Tsutomu Yoshida : MPW fixes plus : ++ * stl/_config.h : I believe the definition for _STLP_STD under debug/non-debug configurations swapped. + +- * _istream.h : fixed DLL specs, optimized some try/catch blocks ++ * typeinfo.h : added check for _STLP_NO_NEW_HEADER for using declaration. ++ Otherwise three classes will not be included in the namespace std when #include . + +- * _vector.h : fixed vector::insert body definition for __STL_INLINE_MEMBER_TEMPLATES ++ * _istream.c : use of bind2nd (which required _function.h inclusion) changed to use alternate functor (thanks to Sergei Nikolaev) ++ ++ * stl_msvc.h : removed erroneous _STLP_USE_TEMPLATE_EXPORT setting which caused major code bloat for native streams builds on VC++ (Thanks to Johannes Brunen for the report) + +- * : more compilers listed as having full exception header ++ * _string_io.c : fixed Intel C++ compilation bug in native streams mode + +- * debug/_debug.h : added namespace to __STL_ASSERT for EH test which uses this internal macro. ++ * fstream.cpp : added write-sharing for fstream file handle (Thanks to Leland Best) + +- * resource info fixed (thanks to Michael Entin for the report) ++ * stl_gcc.h : disabled wide function imports for linux (some xx_POSIX macro should be really used; disabled for all linuxes for now). Thanks everybody for the reports. + +- * debug/_string.h : fixed _M_start resolution bug (thanks to Rob for the report ) ++ * KAI C++ 4.0 is now supported on SUN + +- * : added import of new_handler stuff from vendor namespace (thanks to Niran Bala for the report). ++ * MAC OS X compilation fixed (thanks Patrick Luby for the patch) + +- * src/c_locale_glibc - missed directory contents restored (thanks to Todd Rider for the report) ++ * HP aCC fixes by Michael Tsirkin ++ ++ * "INF/NAN" string representation for uppercase changed to "Inf/NaN" to behave like printf() on most systems. ++ ++ * debug/_iterator.c : fixed SUN 6.0 compiler internal error + +- * mwerks_prj - project updated for new file set, target names for x86 changed to conform to common schema ++ * typeinfo.h : global scope used to import bad_cast, etc. (thanks to Val Melamed) ++ ++ * debug/_list.h : missing template versions of remove_if(), merge() added. Missing regular sort() added. ++ (Thanks to dgehri) + +- * _ostream.c/_istream.c : fixed lookup for _S_eof symbol (thanks to Anton Sergeev for the report) ++ * debug/_slist.h : missing sort() (template and regular) interface added + +- * _ios.h - fixed VC++ DLL warning for specializations ++ * _istream.h : eliminated warning about comparison with unsigned (Thanks to Gerd Hoeren for the report) + +- * stl_ibm.h - disabled "long long" due to incomplete support on MVS by request (thanks to Tinny Ng) ++ * template constructors for containers changed to be one version with default allocator agrument, where possible. + +- * char_traits.h - worked around weird gcc internal bug (__sz identifier changed to _Sz) ++ * remaining _STL_ prefixes changed to _STLP_ + +-The following changes were made in 4.0 beta 4 since 4.0 beta 3: ++ * Solaris 7 compilation fixed ++ ++ * fstream.cpp : seek() allowed to seek past the end of the stream (Thanks to Phillip Toland for the input) ++The following changes were made in 4.1 beta 5 since 4.1 beta 4 : + +- * "src" directory : source divided into smaller parts to be more manageable and to +- get more cache locality ++ * All internal macros changed to have prefix _STLP_ instead of __STL or __STLPORT or __SGI_STL. ++ That is to allow seamless wrapping on platforms that use SGI STL as native STL/iostreams. ++ For backward compatibility, most of user-settable __STL_xxx macros are accepted. + +- * throw specifications removed (macros made void) - thanks to Dave Abrahams for the suggestion ++ * Versioning of shared libraries made UNIX-compliant + +- * stl/_list.c - fixed reverse() "inline", +- _deque.h - fixed cast bug for xlC (thanks to Alex Vanic for the reports) +- +- * stl/_strstream.h - fixed DLL specs (thanks to Parcival Willems for the report) ++ * Some temporary lifetime problems in SGI iostreams which may introduce memory corruption, fixed. ++ ++ * : fixed memory leak bug due to unclever macro expansion in __stl_new (thanks to Joachim Achtzehnter) ++ ++ * stl/_tree.h : fixed several bugs in new code for corner cases in insert_equal()/insert_unique() with a hint ++ (thanks to Micheal Tsirkin for the report and patch) + +- * stl/_string.h, debug/_string.h - fixed conversion from native string with __STL_DEBUG +- (thanks to Todd Richmond for the report). ++ * _vector.h:284 : __copy call fixed to be __copy_aux (thanks to Alex Vanic) + +- * stl/_istream.h - fixed clash of "__N" symbol with ctype.h macro for some compilers +- (thanks to Kees de Bruin for the report) ++ * _config.h : fixed static build bug due to __STL_EXPOSE_GLOBALS_IMPLEMENTATION typo (thanks to Serge Pashkov) ++ ++ * fstream.cpp: __pioinfo definition for mingw32 fixed (Thanks to Danny Smith) + +- * Configuration fixed for Borland C++ 5.02 compiler [ deque still does not work with it ] ++ * *.SUNWCCh files changed to regular files; moved to "stlport" directory + +- * gcc-2.7.2 configuration fixed ++ * pthread_alloc : split into / + +- * SGI iostreams now work for Borland 5.5 with static lib , some problems with +- locale initialization when DLL is used. ++ * lightweight atomic ops used on SPARC v8plus and v9 (gcc and SUN CC) + +- * __get_c_string exported in DLL (thanks to Ed Ball for the report). ++ * Mac OS X support introduced (thanks to Patrick Luby) ++ ++ * SGI iostreams ported to DJGPP (thanks to Tanes Sriviroolchai) ++ ++ * SGI iostreams ported to NetBSD (thanks to Michael Rauch) ++ ++ * FreeBSD build fixed, now builds for wchar_t too ++ ++ * DEC CXX build fixed; restricted to dynamic lib only + +- * ENDIAN fixes for CodeWarrior/DEC (thanks to Kevin Wooten for bringing this up) ++ * SGI MIPSpro build fixed; GNU make has to be used + +- * wrap_std/h/strstream.h - added missing wrapper (Thanks to Laurent for the report) ++ * Set of HP fixes by Michael Tsirkin + +- * stl_hpacc.h - fixed #endif bug, +- _limits.h/.c - fixed array initialization, +- _string_io.h, _locale.h - fixed circular dependancy, +- _set.[hc], _hashtable.c, _set.h - added __REINTERPRET_CAST need by some compilers; +- _i[o]stream.c, _rope.[hc] - lookup fixed for dependant symbols +- (thanks to Alain Miniussi for the reports) ++ * Set of Watcom fixes by Ricardo Gayozo ++ ++ * Bunch of Apple MRC/MPW fixes by Tsutomu Yoshida integrated + +-After-release minor bugfixes for beta3: ++ * Bunch of iostream fixes for Cygwin, Borland and Intel 4.5, by Serge Pashkov + +- * stl/_list.c - fixed reverse() [ new SGI code, merged unported first ] +- Thanks for everybody who reported it. ++ * debug/_list.h : added checking versions of pop_back/pop_front (thanks to Per Liboriussen) ++ ++ * src/c_locale_win32.c : fix for VC5sp3 (thanks to Petr Ovchenkov), fix for day of week order (thanks to Danny Smith), ++ fix for null-termination in my_ltoa (thanks to Serge Pashkov) + +- * stl/_bvector.h : fixed ambiguity problem with relational iterators +- for __STL_NO_BOOL case (thanks to Alex Vanic for the report). ++ * Some warnings in debug mode fixed (thanks to Marco) + +- * stl/_alloc.c, stl/_threads.c - fixed static member definitions for compilers +- that lack automatic static data members (gcc-2.7). Thanks to Huang-Ming Huang +- for the report. ++ * type_traits.h : IsP functions return types changed to be more portable (thanks to Serge Pashkov for the suggestion), ++ __cdecl added for Win (thanks to Todd Wilson) + +- * standard wide streams initialization bug on Win32 fixed (thanks to Harold Putman for the +- report) +- +-The following changes were made in 4.0 beta 3 since 4.0 beta 2: ++ * debug/_tree.h : added owner check for erase() (thanks to Alberto Barbati) + +- * Merged SGI changes from 02/18 snapshot. ++ * stl/_ostream.h : << operator specializations added for compilers w/o partial ordering ++ (thanks to Alberto Barbati for pointing this out). ++ ++ * "make install" on UNIX : fixed the target not to remove lib directory; ++ default installdir restored to be /usr/local (thanks to Jeff de Vries for the input) ++ ++ * _construct.h : extra cast for __STL_SHRED_BYTE removed (thanks to khesin) + +- * Ming32W (gcc Win32 port using MS runtime lib) is now fully supported. ++ * _relops.h header obsoleted; some extra includes removed + +- * .dll build schema improved, now builds with mingw32 and Borland C++ +- (Borland has some problem with numeric i/o) ++ * __STL_STATIC_CONST_INIT_BUG use normalized; now it's used for all compilers not able ++ to treat const members as coplile-time constants; enum used for them (e.g VC++). ++ Thanks to Dean Sturtevant and Gavin Collins for the ideas. + +- * VC++ version bugfixes in // +- (thanks to Todd Richmond for the report) ++ * stlport/cmath : fixed SUN CC 5.0 compatibility mode bug (thanks to ade for the report) + +- * _bvector.h - relational operators defined only for "bit_vector", +- not for "vector" specializations (thanks to Edward Ball for the report) ++ * debug/_hashtable.h : fixed equal_range() bug (thanks to decraft for the report) + +- * src/locale_impl.h - fixed multiple defined symbol problem with gcc +- (Thanks to Matti Rintala for the report) ++ * streambuf.cpp/_streambuf.h : fixes xsgetn() bug (thanks to Vadim Egorov) ++ ++ * istreambuf_iterator<> : nonconforming behaviour fixed (thanks to Tom Widmer) + +- * config/stl_ibm.h - __STL_NO_TYPEINFO added (thanks for Tinny Ng). ++ * _num_put.c : fixed corner case for 0x8000000 output. ++ ++ * num_get<> : extra get() and do_get() members for "int" and "short" removed; istream operators changed accordingly + +- * : _stl_string_io.h/c introduced to fight inter-dependencies ++ * _itreambuf_iterator.h/_ostreambuf_iterator.h introduced to decouple those from num_get/num_put + +- * _bvector.h - added fix for -tempinc compilation on AIX (thanks to Alex Vanic for the patch) ++ * gcc makefiles in src : "-fno-implement-inlines" removed + +- * fstream.cpp - _M_write bug for Win32 text mode fixed (thanks to Mike Pyle) ++ * Added workaround for gcc's limits.h and SUN Ultra with -mcpu=ultrasparc in 32-bit mode. ++ ++ * ios_base:: type for constants made "int" for all compilers, as it more efficient and perfectly compliant. ++ ++ * debug/_hashtable.h : fixed typo in swap() ( thanks to Gerd Hoeren for the report) + +- * _string.h : debug version included prior to _string.c; ++ * debug/_string.h : +() operators defined unconditionally ( thanks to Gerd Hoeren for the report) + +- * debug/_debug.h/.c, debug/_deque.h, debug/_string.h - fixed debug mode bugs; +- Apple compilers config fixes / iostream wrapping fixes / EH test fixes, +- (thanks to Tsutomu Youshida for the patch) ++ * _istream.c : removed dependancy on _function.h (thanks to Kenny Simpson for the report) + +- * csetjmp/setjmp.h - guards added against VC++ #defines (thanks to Gavin Wood) ++ * _limits.c : fixed little-endian representation of infinity & NaN (thanks to Rene van Oostrum) + +- * stl/_iosfwd.h : __STL_DEFAULT_CONSTRUCTED used instead of __STL_NULL_CHAR_INIT +- (thanks to Alex Vanic for the report) ++ * _stdio_file.h : fixed postdecr macro for 64-bit Solaris (thanks to Jim Cole) + +- * __stl_get_c_string() - made extern non-template for SGI iostreams mode. ++ ++The following changes were made in 4.1 beta 4 since 4.1 beta 3 : ++ ++ * Simulation of class partial specialization (thanks to Mat Marcus and Jesse Jones of Adobe) ++ used to provide following enhancements : ++ ++ - type_traits are automatically specialized for all pointer types for all compilers, ++ which makes them able to utilize type_traits-based optimizations when dealing with pointer types, ++ automatically. ++ ++ - all functions specialized for pointers and optimized via __type_traits ++ ( like copy()/copy_backward(), _uninitialized_xx) now enjoy this optimization for all compilers! ++ ++ - generic __value_type()/__difference_type()/__iterator_category() are written so user does not have ++ to supply any of its own even when partial specialization is not available. ++ (Note : gcc-2.7 and VC++ 5.x, 6.x have bugs which prevents them from using this enhancement, still) ++ ++ * : by default, non-standard iterator query names like ++ value_type()/difference_type()/iterator_category() are not used ++ ++ * : major revision: ++ - algorithms without explicit Compare() function expressed via the one that has it where possible. ++ This considerably reduces header size and reduces code bloat for programs which use both flavours of ++ those algorithms. ++ - some function bodies moved between .c and .h ++ - all functions used internally moved out to _algobase.h, so no other header includes <_algo.h> anymore ++ - find() specialized for random access iterators regardless of partial spec. + +- * __cdecl calling convention fixes - now works for debug & non-debug code. ++ * Dynamic libraries (.DLL and .so) : name versioning used to prevent clashes between STLport versions + +- * _limits.h/.c : static data moved from inline functions into a class. ++ * src/ : code regrouped between .cpp files to provide for less executable size with dumb linkers; + +- * stlport_msvc.rc resource file added for DLL's (thanks to Michael Entin) ++ * locale subsystem initialization : startup changed to use statically allocated structures as much as possible; ++ ++ * : basic stuff moved to _function_base.h ; ++ other STL headers now include _function_base.h instead + +- * stlport/config/stl_wince.h : added abort()/assert() definitions +- (thanks to Gavin Wood for the report) ++ * _threads.h : MT support for OS/2 added (only tested with VAC++) + +- * Initial iostreams port for xlC (thanks to Alexander Vanic for the patch). ++ * _stdio_file.h : added support for Solaris in ELF64 mode (thanks to Holger Stasch) ++ ++ * stl/_hashtable.h : [] operator for hash_map optimized to take no more than find() when element is present ++ (Thanks to Thomas Witt et al.) + +- * config files - made safe for C compilers ++ * _ostream.h : fix for default unsigned char (thanks to Holger Stasch) ++ ++ * all __STL_ABBREVS abbreviations moved aside in _abbrevs.h header. + +- * src/c_locale_stub.c - made structure for full platform-dependent +- locales other than "C". Glibc implementation merged. ++ * Fujitsu C++ Compiler support added (thanks to Holger Stasch) + +-The following changes were made in 4.0 release candidate 2 since 4.0 release candidate 1: ++ * Initial SGI iostreams port to OS/390 introduced (thanks to Holger Stasch). + +- * Solid approach to __STL_DEFAULT_CONSTRUCTOR_BUG problem implemented, +- rope.h typo fixed (thanks to Alex Vanic for the report) ++ * More on SGI iostreams port to xlC 5.0 (thanks to Holger Stasch). + +- * getline and stream operators moved from _istream.c to _string.c +- where they belong (thanks for Petr Ovchenkov) ++ * Fixes for SGI MIPSpro compilers (Thanks to Ralph) + +- * fixed to import nothrow and nothrow_t ++ * Fixes for HP aCC compiler (Thanks to Michael Tsirkin) + +- * Borland C++ 5.5 (free compiler) supported (iostreams won't compile yet). ++ * stlport/SC5 directory : removed C library .h files to fix circular inclusion problem with WS6.0 + C programs. + +- * SUN CC 6.0 EA - new features unabled (most announced features still don't work though) ++ * hash_map::swap() in debug mode fixed (thanks to Anton) + +- * HP ACC configuration updated, some fixes for new aCC beta(thanks to Alain Miniussi). ++ * __STL_COMPILE_INSTANTIATE hack for DEC removed (thanks to Ralph) ++ ++ * __STL_INLINE_STRING_LITERAL_BUG defined for HP aCC ( thanks to Jason Taylor) + +- * Windows CE compatibility fixed (thanks to Gavin Wood for the report) ++ * _bitset.h - member workaround operators made const (thanks to dzwick) ++ ++ * _bitset.h/.c, hashtable.h -- small bugfixes (thanks to Levente Farkas) + +- * fixed for non-SGI case, ios.cpp bug in __STL_NO_EXCEPTIONS +- mode fixed, debug iterators fix (thanks to Todd Richmond). ++ * - now includes exception.h if only that is available. ++ ++ * vector::assign() inplemented for vector::iterator when member templates are not available (Thanks to dzwick) ++ ++ * fstream.cpp : __pioinfo used for MinGW32 (thanks to Danny Smith) + +- * VC++ 5.0 and 4.2 compatibility fixed (thanks to Ilya for the report) ++The following changes were made in 4.1 beta 3 since 4.1 beta 2 : ++ ++ * list<>::clear() : protected access bug fixed + +- * __cdecl calling convention explicitly specified for VC++ & static/global functions. ++ * __STL_MUTEX_INITIALIZER set back to PTHREAD_MUTEX_INITIALIZER for pthreads case, ++ as some platforms (eg AIX) do not treat zero-initialized mutex as valid one (thanks to Alex Vanic, Jack Andrews for help) ++ ++ * stl/_limits.c : fixed typo preventing numeric limits constants to be defined for __STL_LITTLE_ENDIAN, ++ constants initialization fixed (thanks to Ingo Donasch) + +- * vc_common.mk : debug type changed to CV (thanks to Mike Pyle for the solution) ++ * real implementation of locales for Win32 contributed by Anton Lapach (thanks !) merged in. + +- * fstream.cpp : Win32 text mode : bugs fixed, SGI code used. +- fixed _M_open() creation flags for Win32 (thanks to Mike Pyle for the report) ++ * stl_user_config.h, _config.h : changed default to not define relops:: operators ++ in __STL_NO_NAMESPACES mode. ++ ++ * _numeric_facets.c/num_put.cpp : printing of integer do not use sprintf() anymore ++ ++ * "install" target implemented for UNIX & VC++ Makefiles. It now installs headers and libraries. + +- * "install" target added for VC++ to install .dll's into Win system directory. ++ * "src" : files merged to get less compilation time and less space overhead for imperfect compilers + +- * __STL_USE_STATIC_LIB switch added to add flexibility to VC++ linking. ++ * "debug" flavour of STLport excluded from default build and auto-select ; ++ please use __STL_USE_DEBUG_LIB and build debug STLport lib explicitly with "make debug_dynamic" ++ if you really need it). "all" now builds 2 kinds : "release" and "STLdebug", for static and dynamic builds. ++ ++ * stlport_prefix.h : WIN32_LEAN_AND_MEAN set for Win32 build of STLport library, for speed. ++ ++ * FreeBSD compile fixed; makefiles added. ++ ++ * All "__init" changed to "_Init" to fix clashes with DEC conventions (thanks to Holger Stasch) ++ ++ * _range_errors.h -- fixed to always set __STL_EXTERN_RANGE_ERRORS for SGI iostreams (thanks to Serge Pashkov) + +- * __stl_debug_message for WIN32/Unicode/MFC improved +- (thanks to Edward Ball, Chvetsov for the reports) ++ * *gcc* mak : some files renamed to gcc-platform mak ++ ++ * "extern template" extension used for gcc & standard i/o classes, to reduce code bloat in application's .o + +- * MVS fix for auto_ptr<> (thanks to Tinny Ng) ++ * "extern template" extension used for VC++ & standard i/o classes (was for DLL only) + +- * debug/_tree.h, debug/_vector.h "typename" fixes, thanks to Matti Rintala. ++ * _iterator.h : added template(and non-template) assignment operator for reverse_iterator<> (thanks to psw). Obsolete HP-style code moved to _iterator_old.h + +- * c_locale.h : fix for Solaris 2.5.x (thanks to B. K. Oxley) ++ * _alloc.h : obsolete code for raw SGI allocators support moved to separate header, for compile-time improvement + +- * _bvector.h : Watcom compatibility fixed (thanks to Ricardo E. Gayoso for the report) ++ * More iostreams code conditionally moved out for clients who only use standard i/o and can set __STL_NO_CUSTOM_IO flag ++ ++ * , : initialization of locale subsystem made independent of standard streams. ++ sync_with_stdio call before iostream initialization now works. ++ ++ * , : added initialization code for locale , same as in ++ (thanks to George Trojan for the report) + +- * __STL_DONT_REDEFINE_STD flag behaviour fixed ++ * fstream.cpp : fixed resource leak in case memory map fails on Win32 (thanks to Mark Laffoon) + +-The following changes were made in 4.0 release candidate 1 since 3.2.2 Beta 4 : ++ * , : added additonal overload signatures required by chapter 26.5 of ANSI (thanks to Levente Farkas for ++ the suggestion), plus "long long" flavour where applicable. + +- * Merged changes made to SGI standard library snapshot on 01/28. ++ * __STL_LONG_LONG generalized to support __int64 on Win32 (thanks to Adam Gates for the suggestion) ++ ++ * _fstream.h : added constructor from file descriptor, as extension (thanks to eric_a_benson) + +- * Fixed bug with istream reading numbers in hex mode (thanks to Dave Abrahams +- for the patch). ++ * _fstream.h : added basic_filebuf<>::fd() file descriptor accessor, as extension (thanks to George Trojan) + +- * Debug mode redesigned (again) - no extra namespaces is being used +- Finally, it works for MSVC and all other platforms. ++ * stl_sunpro.h : strstream masked for CC 4.2 to avoid virtual table clash (thanks to Ken) + +- * __SGI_STL_OWN_IOSTREAMS made to be the default mode except few platforms +- not provided with makefiles to build STLport yet. ++ * stl_msvc.h : member templates allowed for VC5, it's capable of hadling most of them (same restrictions as VC6 -- inline). + +- * Changed strategy on redefinig std:: namespace. +- prolog/epilog technology used to get clean namespace wrapping. +- It also allows for managing stack of pragmas +- (see stlport/stl/config/_prolog.h,_epilog.h) to get rid of warnings. +- Note : default namespace changed to _STL:: to satisfy implementation +- constraints and to allow for more compact symbols. +- "stlport::" namespace is still defined for backwards compatibility. ++ * debug/_debug.c : slightly changed format of debug message to please VC++ IDE (thanks for Bruce Dawson for the suggestion) + +- * iostreams library now compiles on HP with aCC (thanks to Steven Serocki for the patch). ++ * src/sgi_mipspro.mak added, for SGI MIPSPro compilation + +- * Configuration for SUN Workshop 6.0 EA provided. ++ * merged series of HP/SUN minor fixes by Petr Ovchenkov + +- * For VC++, corresponding [selected by /MT(d) or /MD(d) switch] +- STLport iostreams library is being linked automatically - all you +- need is to put library in lib search path or specify additional library path. ++ * merged series of Intel 4.5 fixes by Serge + +- * Ability to turn on all warnings in your own code if you're using +- a compiler with appropriate support (e.g. MSVC6). +- +- * Small fixes posted to the forum integrated: ++ * vc_common.mak : -Yd dropped, as obsolete (thanks to psw) ++ ++ * _range_errors.h:95 : unused argument removed (thanks to George Trojan) ++ ++ * _string_io.h : refined _WRTLING workaround for Watcom (thanks to Serge Pashkov) ++ ++ * _threads.h : fixed SGI threads dafines for gcc on IRIX (thanks to Brett Denner for the report) ++ ++ * , : mutually-exclusive machanism added to allow including both in same unit. ++ ++ * Inclusion of SGI iostreams headers put to some order; _streambuf_iterator.h file introduced to resolve circular dependancies + +- * config/stl_wince.h : added __STL_HAS_NO_NEW_C_HEADERS switch +- * wrap_std/strsream : fixed preprocessor bug, strstream.h included +- when not using new-style headers +- * other fixes ++The following changes were made in 4.1 beta 2 since 4.1 beta 1 : + +-The following changes were made in 3.2.2 beta 4 since 3.2.2 Beta 3: ++ * _algobase.h : fixed __STL_DECLARE_COPY_TRIVIAL definition ++ (thanks to Charles Burfoot for the report) + +- * Merged changes made to SGI standard library snapshot on 01/10. ++ * _algobase.h : added copy_backward specializations for builtin types for compilers w/o partial spec. + +- * Major restructuring of header files - for maintainability and +- 8.3 filesystems benefit. ++ * _char_traits.h : fixed zero-length check for copy (thanks to Michael Tsirkin) + +- * Major debug mode improvements - new debug mode now works with +- VC++, gcc, intel, SUNpro, MetroWerks. ++ * msvc_warnings_off.h : fixed "and" typo ++ (thanks to Charles Burfoot for the report) + +- * Regression test suite changed to new-style headers - thanks to +- Dima Pasechnik for the initial port. ++ * num_put_float.cpp : fixed rounding for "g" format (thanks to Bernd Mohr for the report) + +- * fixes for Watcom +- +- * many miscellanous fixes. ++ * Initial port of iostreams to xlC 5.0 added (thanks to Jack Andrews) + +-The following changes were made in 3.2.2 beta 3 since 3.2.2 Beta 2: ++ * stl_sunpro.h : a fix for Forte config (Thanks to Alex Vanic for the report) ++ ++ * old_hp/iterator.h : fixed iterator_category()/etc. import ++ ++ * _threads.h : __stl_atomic_t used instead of "unsigned long" (thanks to Alex Vanic for the report) ++ * using/iomanip : old-streams path used for native iomanip.h (thanks to Michael Tsirkin for the report). ++ ++ * _bitset.h , _bitset.c : direct STL_THROW replaced with __stl_throw_xxx calls (thanks to Michael Tsirkin for the report) ++ ++ * range_errors.h/cpp : added functions to support throwing of overflow_error and invalid_argument ++ ++ * _threads.h : enganced HP-specific guards for HP-UX 11 (thanks to Matthew Collins for the report) + +- * Merged changes made to SGI standard library snapshot in December. ++ * _string.h : compare() bugfix (thanks to Anton Sergeev) ++ ++ * moneypunct_byname_w.cpp : rolled back wrong bugfix (thanks to Ken) ++ ++ * _vector.h, _deque.h, _list.h : nonstandard versions of push_back()/push_front() ++ moved under __STL_NO_ANACHRONISMS guard (thanks to Ed Brey) + +- * std:: is not used for STLport namespace even with SGI iostreams, +- to avoid possible clashes and facilitate 3rd-party library use. +- Same macro redefinition technique for stlport:: used to keep clients +- code with literal std:: happy as in native iostreams mode. ++ * _tree.c, _list.c, _slist.c, _debug.c : compile-time improvements + +- * C library headers wrapping changed to allow multiple inclusion tricks +- (needed by gcc-2.95 mostly) ++ * _tree.h/c, _list.h/c, _slist.h/c, _vector.h/c, _string.h/c : using directive for data members ++ changed to explicit "this->". + +- * gcc-2.95 and CodeWarrior configurations updated. ++ * _complex.h : signatures of some methods changed to take value_type instead of const value_type&, ++ for better conformance (thanks to Petr Ovchenkov) + +- * HP aCC fixes applied. ++ * Bunch of fixes to compile with gcc on HP-UX 10, 11 (thanks to Petr Ovchenkov) + +- * Visual C++ - added static library targets, build refined. +- Fixed memory-mapping bugs. +- +- * auto_ptr updated, now it passes polymorphic tests with VC++. ++ * Code duplication for __STL_INLINE_MEMBER_TEMPLATES removed -- corresponding methods are always inlined ++ ++ * stl_sunpro.h : fix for "-compat" mode (thanks to Vijay Ramachandran) ++ ++ * pthread.h : new wrapper added + +- * Many small bugfixes. ++ * Added custom prolog/epilog for HP aCC to select kthreads on HP-UX 11 (Thanks to Michael Tsirkin) ++ ++ * : fixed throw specification for bad_alloc (has to be inherited) ++ ++ * Macro __STL_NATIVE_CPP_RUNTIME_INCLUDE_PATH introduced to specify separate path for , , . ++ (thanks to Bryan Byrnes) ++ ++ * : moved from stlport/stl to stlport directory, for SGI compatibility + +-The following changes were made in 3.2.2 beta 2 since 3.2.2 Beta 1: ++The following changes were made in 4.1 beta 1 since 4.0 : + +- * Fixed SUN CC deque<> problem with -g ++ * Sun Forte 6.0 C++ configuration provided (thanks to Alexander Vanic for the input) + +- * Added configuration and makefiles for DEC VMS, Borland and Win32 gcc. ++ * _threads.h/_config.h : added efficient support for atomic operations for ++ DEC CXX and Watcom (thanks to Ricardo Gayoso for the input). ++ Macros __STL_ATOMIC_xxx introduced to facilitate this. + +- * Merged changes made to November SGI standard library snapshot. ++ * _tree.h : optimizations to lower number of comparisons (thanks to Craig Powers for the patch) + +- * config changes - "configure" made obsolete and moved into "stlport/config/new_compiler". ++ * _tree.h, _hashtable.h and clients : added templated find() as an extension (thanks to Michael Tsirkin for the suggestion) + +- * __STL_TYPENAME_ON_RETURN_TYPE handling changed. ++ * _tree.h : changed some inlining for performance optimization + +- * Miscellanous fixes. ++ * __node_alloc:: allocate broken into two functions for better inlining ++ ++ * _threads.h : added PTHREAD_MUTEX_INITIALIZER guard for HP workaround ++ ++ * stl_bc.h : option set to control alignment and virtual table behaviour to be consistent; ++ library name adjusted to stlport_bcc55_xxx + +-The following changes were made in 3.2.2 Beta 1 since 3.2.1 release: ++ * _algobase.h, _uninitialized.h, char_traits.h -- optimized out empty memcpy() calls ++ (thanks to Michael Tsirkin for the report). ++ ++ * _iterator.h : fixed reverse_iterator::operator+(int, reverse_iterator) resolution ++ (thanks to Anton Sergeev for the input) + +- * SGI iostreams adopted. To use SGI iostreams, user have to set +- __SGI_STL_OWN_IOSTREAMS flag and to build the library in "src" +- directory to link with. Please read INSTALL file for detailed +- instructions. +- Default setting is NOT to use SGI iostreams (wrappers used as before). ++ * _bitset.h : bitset<>::test bugfix (thanks to Anton Sergeev for the patch) + +- * Debug mode completely redesigned - debug mode containers are +- implemented in terms of wrappers around non-debug ones. +- That provides for more clean and efficient implementation and +- binary compatibility between debug and non-debug versions. ++ * complex_trig.cpp : use of __STL_NO_LONG_DOUBLE made consistent, fixes for Borland on Linux ++ (thanks to John Wiegley for the input) ++ ++ * moneypunct_byname_w.cpp : bugfixes for string copying (thanks to Anton Sergeev for the input) ++ ++ * Watcom-specific fixes (thanks to Ricardo Gayoso for the input) + +- * Additional configurations added for platforms : +- - gcc-2.95 +- - SUNpro CC 5.0 in "compatibility" mode +- "configure" made obsolete. ++ * src/common_macros.mak : some intermediate targets added (thanks to Jeremy for the suggestion) + +- * Bugfixes reported by users since 3.2.1 release merged ++ * _debug.c : fixes for Win CE (thanks to John Hynes for the patch) + +-The following changes were made in 3.2.1 since 3.2 release: ++ * Intel CC 4.0-specific fixes (thanks to Sean Cavanaugh for the input) + +- * Now, by default, STLPort renames std:: namespace for user +- if __STL_USE_OWN_NAMESPACE is used. To make it possible, many new +- wrapper headers introduced. Internally, STLport uses stlport:: namespace, +- so no link- or run- time clashes are possible, and you don't have to rebuild +- the runtime lib (which you don't want to). +- This feature makes STLport usable out-of-the box, without any modifications +- for client code, with any compiler. ++ * _list.c : workaround for Watcom C++ (thanks to Mike Steed for the report) + +- * Code bloat reduction : hashtable uses vector internally. ++ * __STL_NO_NATIVE_WIDE_STREAMS definition fixed (thanks to Glen Summers for the patch) + +- * Vector : efficiency/code bloat reduction fixes. ++ * cast macros fixed to be more robust (thanks to Geoff Oakham for the report) + +- * Visual C++ : DLL export is supported for allocators and strings. To use it, +- please define __STL_USE_DECLSPEC in all modules and __STL_DESIGNATED_DLL +- for the DLL which is supposed to instantiate STLport exports (at least one +- source of this DLL must include . ++ * "strstream.h" native inclusion for VC 6.0 fixed (thanks to Sathish T C for the report) ++ ++ * debug/_string.h : improvement to string with __STL_DEBUG w/o member templates ++ (thanks to Paul Furnanz for the report) + +- * Visual C++ : for MT synchronization, is not included anymore. ++ * debug/_string.h : fixed internal compiler error for VC++ 5.x (thanks to chvetsov for the report) + +- * For Sunpro C++ 5.0 : all headers are linked into stlport/SC5, so only +- one include path is needed. Note that SC5.0 has problems with relative +- search path. It is easy to work around : in your makefiles, instead of +- "STL_INCL=../.." , write "STL_INCL=${PWD}/../..". ++ * cstdio, stl/_streambuf.h : fixes to allow gcc compilation with -ansi flag + +- * Configuration files provided for compilers : +- KAI C++ +- DEC C++ (6.x, 5.x) +- Borland 5.02 is back on the road (finally !) +- +- * Windows CE config provided for Visual C++. ++ * workaround for cin/cout renaming on HPUX11 for -D_REENTRANT (thankf to Jeff Sparkes for the report) + +- * __STL_NO_IOSTREAMS switch introduced for embedded platforms. ++ * cin/cout/cerr/clog renaming in STLport for CC 4.0 and SGI iostreams, ++ to avoid symbol clashes with native ones (thanks to Dirk Schreib for the report) ++ ++ * type_info scope fixes for VC++ 6.0 (thanks to Sathish T C for the report) ++ ++ * typeinfo.h using fixes (thanks to Glen Summers for the input) ++ ++ * stlcomp.h : fixes to allow compilation of .c modules with VAC++, Sun CC, DEC CC, Watcom CC ++ (thanks to Dmitry A.Steklenev, Jonathan Richardson for the report) + +- * Lots of minor config fixes and improvements for various platforms. ++ * debug/_tree.h : fixed insert_unique() bug (thanks to Ben Liblit for the report) + ++ * regression/gcc.mak made non-dependant on "." in the path ++ (thanks to Thomas Matelich for the report) ++ ++ * hmset1.cpp fixed to compile under OS390 ( thanks to Andrey Khovanskiy for the report) ++ + +- +\ No newline at end of file +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/ChangeLog-4.0 tripwire-2.3.1-2/src/STLport-4.0/ChangeLog-4.0 +--- tripwire-2.3.1-2.old/src/STLport-4.0/ChangeLog-4.0 Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/ChangeLog-4.0 Sun Aug 11 18:59:17 2002 +@@ -0,0 +1,668 @@ ++The following fix was made in 4.0 since 4.0 Release Candidate : ++ ++ * _threads.h/_config.h : for all platforms, static mutexes made non-indirect ++ ++ * _iterator_base.h : made possible to choose between iterator_traits approach ++ and old-style iterator queries like iterator_category(), value_type(), etc. ++ (Thanks to John R. Bandela for pointing this out) ++ * _config.h, stl_user_config.h : introduced __STL_OLD_HP_ITERATOR_QUERIES switch to ++ allow old-style and new-style iterator queries (for all compilers). ++ iterator_traits<> made always defined. ++ ++ * _ptr_specialize.h - specializations of type_traits<> for compilers w/o partial spec ++ moved into separate file. Added iterator_traits<> specializations for pointer types ++ for __STL_NO_OLD_HP_ITERATOR_QUERIES case. Macro __STL_POINTERS_SPECIALIZE is now available ++ to specialize both type_traits and iterator_traits for a pointer to user-defined ++ type (latter for standard-style iterator queries mode only) ++ ++ * vc5.mak : __STL_NO_FORCE_INSTANTIATE flag restored ++ ++ * _site_config.h : if __STL_NO_NEW_IOSTREAMS or __STL_NO_IOSTREAMS specified, ++ SGI iostreams are being turned off. __STL_NO_SGI_IOSTREAMS moved into stl_user_config.h ++ (Thanks to Sathish T C for the report) ++ ++ * stl_watcom.h : _REENTRANT is being set if _MT is set (thanks to Ricardo E. Gayoso for the input) ++ ++The following fix was made in 4.0 Release Candidate : ++ * _threads.h, _alloc.c : fixed use of _STL_mutex_base instead of _STL_STATIC_MUTEX macro ++ ++The following changes were made in 4.0 Release Candidate since 4.0 beta 8: ++ ++ * fstream.cpp : WIN32 fstreambuf::open flag mapping fixed ++ (thanks to Alberto Barbati for the reports) ++ ++ * ctype.cpp : fixed classic table regarding ios_base::print/ios_base::space ++ conflict (thanks to Alberto Barbati for the report) ++ ++ * cmath : added same workaround for SUN's math exception/std::exception name clash ++ as was there in math.h before ++ ++ * _streambuf.c : added "typename" to out-of-line functions (thanks to Michael Tsirkin for the report) ++ ++ * README fixed to be consistent about SGI iostreams setting (thanks to Ed Brey for the report) ++ ++ * _bitset.h : fixed SUN CC 4.2 crash with -g option (thanks to Alex Vanic for the report), ++ fixed bug in bitset<>::reference base bitset typedef ++ ++ * _threads.h/.c - fixed issue with inconsistent system's macro for initialization ++ and warning about partially bracketed initializer ++ ++ * debug/_vector.h : fixed _Vector_nonconst_traits specialization for bit_vector ++ (thanks for Dave Abrahams for the fix & reminder) ++ ++ * config/msvc.h - addidional level 4 warnings suppressed (thanks to Ed Brey for the report) ++ * _ios.h : fixed DLL export decl for MSVC (thanks to Alberto Barbati for the report) ++ ++ * stdio_streambuf.cpp : compatibility fix for glibc 2.2 (thanks to Bill Shanahan for the patch) ++ * _iterator_base.h : added iterator specialization; ++ _stream_iterator.h : ostream_iterator changed to inherit from iterator<> ++ (thanks to Raphael Bossek for the report) ++ ++ * INSTALL : added some exaples and fixed typos (thanks to Beman Dawes for the report) ++ ++ * _site_config.h : more consistency checks for MT (thanks to John Maddock for the input) ++ ++ * _messages_facets.h : added DLL export decls (thanks to John Maddock for the report) ++ ++ * complex_io_w.cpp : fixed specialization syntax for aCC (thanks to Paul E. Blanchard for the report) ++ ++ * complex_exp.cpp : fixed pow() bug for negative arguments (thanks to Anton Sergeev for the report) ++ * _fstream.h/_streambuf.h : MRC/MPW workarounds (thanks for Tsutomu Yoshida for the report) ++ ++ * using/fstream.h : added missing end-of-line (thanks to Jean-Francois Panisset for the report) ++ ++ * : workaround for VC++ 6.0 defining type_info in gobal namespace (thanks to Bosko Ivanisevic for pointing that out) ++ ++ * _threads.h/_threads.c/pthread_alloc : improved pthreads portability (thatnks to Michael Tsirkin for the patch) ++ ++ * _debug.h/_debug.c : __STL_ASSERT/__STL_VERBOSE_ASSERT/__STL_VERBOSE_RETUN macros guarded to be overridable by user (thanks to Tony Gould for the input) ++ ++ * _valarray.h : added assert to operator= ++ ++ * config/vc_select_lib.h : added _AFXDLL recognition (thanks to Andrew Phipps for input) ++ ++ * _rope.h : added default constructors to please gcc-2.7.2 ++ ++ * _set.h/_hash_set.h : pointer and reference typedefs fixed (thanks to Anton Sergeev for the report) ++ ++ * stl/_config.h : stl_user config.h included prior to other parts of configuration ++ (thanks to Frank Samuel for the report) ++ ++The following changes were made in 4.0 beta 8 since 4.0 beta 7: ++ ++ * Merged changes for 06/08 SGI library snapshot; mostly in locale ++ ++ * Merged series of fixes/workarounds by Tsutomu Yoshida (thanks!): ++ * _rope.c - fixed memory leak bug; ++ * _debug.c/_debug.h - added extra zero-initialization for more robustness; ++ * _list.h - MPW - specific fixes; ++ * _hashtable.h - fixed debug renaming clash for __STL_USE_ABBREVS ++ * EH workarounds to make Apple compilers behave ++ ++ * _fstream.c : fixed tellg() bug in text mode ++ ++ * : added sig_atomic_t import ++ ++ * series of fixes for HP aCC 1.23 ( thanks to Michael Tsirkin for the patch ): ++ _bvector.h : all relops are specialized; ++ stl_hpacc.h - fixed config; ++ hpacc.mak : added makefiles for HP aCC in src and test ++ debug/_iterator.h, debug/_vector.h - removed future errors due to baseclass member use ++ ++ * : added import of system() call (thanks to Petr Ovchenkov for the report) ++ ++ * _REENTRANT is now set by default to be on for all SGI iostreams compilations. ++ Same is being enforced if SGI iostreams are used. ++ ++ * _pair.h : added workaround for make_pair in case of char literals ++ (extension, only works with partial function order) ++ ++ * config/stl_gcc.h - fixed configuration problem for "g++-3" directory used in Cygnus and Mingw ++ distributions for gcc-2.95.2, while all other platforms use "g++". Added recognition section. ++ Thanks to Dave Abrahams for the report. ++ ++ * config/stl_mlc.h : added support for MLC compiler (thanks to Anton Sergeev for the patch) ++ ++ * : auto_ptr simplified (thanks to Kon Tantos for problem report) ++ ++ * num_get.cpp : included to get external symbols right. ++ ++ * stl_ibm.h : __STL_NO_TYPEINFO added for OS/2 (thanks to Willie Arbuckle for the report) ++ ++ * stl_bc.h : fixed enforcement of static library until dynamic made to work (thanks to J. Lambert for the report) ++ * src/stlport.rc : improved version definition to work with mingw32, changed to ++ ++ * src/mingw32.mak : Made use of stlport.rc for DLL build (thanks to Danny Smith for the suggestion) ++ * debug/_vector.h : name clash removed for _Base (thanks to Will Fike for the report) ++ ++ * _monetary.h - added "static const bool intl" member to meneypunct<> templates ++ (thanks to Anton Sergeev for the report) ++ ++ * _bitset.h : added forward friend decraration for reference (thanks to Anton Sergeev for the report) ++ ++ * _tree.h : made _Rb_tree_base_iterator::_M_node initialized in default constructor (thanks to Dean Sturtevant for the report) ++ ++ * _set.h : reinterpret_cast<> changed to C-style cast (thanks to Dave Abrahams for the suggestion) ++ ++ * Use of raw SGI allocators (like __node_alloc) as an allocator parameter deprecated, ++ available only with __STL_USE_RAW_SGI_ALLOCATORS macro. May be removed later. ++ __allocator still available unless __STL_NO_EXTENSIONS is specified ++ ++ * _limits.h/_limits.c - alignment fix for Solaris; ++ * Modified __format_float* routines to take long double as parameter; ++ (thatnks to Anthony Williams for the patch) ++ ++ * debug/_iterator.h - wrappers for noncompliant compilers moved under ++ #ifdef __SGI_STL_NO_ARROW_OPERATOR (thanks to Dave Abrahams for the input) ++ ++ * _numeric_facets.h - num_put<> , num_get<> virtual members made outline to work ++ aroung gcc-2.95 bug. ++ ++ * : undefined obsolete C macros : getchar/putchar & the like. ++ ++ * ctype.cpp : fixed bug with ctype::is (const char*, const char*, mask) ++ ++ * ctype.cpp : fixed is(print) for certain platforms where print is a separate flag ++ ++ * ftstream.cpp : fixed corner case bug for Win32 text output (thanks for Dirk Schreib for the report) ++ ++ * _streambuf.h, _fstream.h, stdio_strembuf.h : fixed overflow/pbackfail() virtuals definition; ++ * _bitset.h : _M_copy_from_string fixed for non-member-template case (thanks to Alex Vanic for the report) ++ ++ * gcc-glibc.mak, common_macros.mak : GLIBC compilation fixes (thanks to Thomas Witt for the report) ++ * WCHAR_MIN, WCHAR_MAX definitions moved from to ++ ++ * char_traits::to_char_type : parameter changed to int ++ ++ * included in (for size_t) ++ ++ * _codecvt<>::do_length: fixed first parameter to be const mbstate_t &; ++ virtual fns moved into .cpp, to work aroung gcc bugs ++ ++ * _complex.h : fixed complex<>::operator= and constructors signature to take const T& ++ ++ * _istream.c : fixed formatted input involving binary '0' ++ ++ * locale_impl.cpp : insertion of time_put fixed ++ ++The following changes were made in 4.0 beta 7 since 4.0 beta 6: ++ ++ * Merged series of fixes/workarounds by Tsutomu Yoshida (thanks!): ++ * cmath, _complex.h, stl_apple.h, _deque.h - MPW/MRC specific workarounds ++ * _bitset.h - removed the obsolete _WordT template parameters. ++ * _ctype.h, _codecvt.h, _collate.h, _istream.h, _messages_facets.h, _monetary.c ++ _monetary.h, _numeric_facets.h, _time_facets.h - added workaround for locale's nested class. ++ * _ostream.c_ostream.h - added proposed modification against the circular inclusion problem. ++ * test/eh/test_deque.cpp - removed the obsolete template argument ++ ++ * _bitset.h - removed obsolete adaptor (thanks to Alex Vanic for the report) ++ ++ * _[io]stream.h - removed extra DLL specs (thanks to Danny Smith for the report) ++ ++ * stl_msvc.h - fixed bug caused static lib to always be selected ++ ++ * gcc.mak - fixed AR definition for static link ++ ++ * Added workaround for static locale::id member in DLL for mingw32 (thanks for Danny Smith for the report) ++ ++ * _string_io.h : added _widen() to get getline() compile with wchar (somewhat missing in b6 , thanks to Mikhail Leonov for reminder) ++ ++ * threads.h - fixed guards for DreamSega WinCE (thanks to Ben Nason for the report) ++ ++ * fstream.cpp : fixed truncation for WIN32 (thanks to Bruce Alderson for the report) ++ ++ * _istream.c/_M_ignore_unbuffered() - fixed count bug ++ ++ * _istream.c/ readsome() : fixed extra failbit setting on eof ++ ++ * __get_integer - enhanced using a table; input value made unchanged in case of error. ++ ++ * __get_base_or_zero - more code factored out ++ ++ * stl_wince.h : fixed assert() definition for Win CE (thanks to Andrew Waters for the report) ++ ++ * vc_select_lib.h " fixed __declspec selection for Win CE (thanks to Andrew Waters for the report) ++ ++ * _rope.c - fixed bug in _S_destr_concat_char_iter (thanks to E.Musser for the fix) ++ ++ * debug/_vector.h - fixed DLL export for vector ++ ++ * _vector.h, _deque.h, _bvector.h - obsolete guards around at() methods removed ; ++ * type_traits.h - WinCE compatibility fixes for -> operator definition ; ++ * _vector.h, _deque,h - removed extra casts (thanks to Andrew Waters for the report) ++ ++ * _algobase.h - optimized lexicografical_compare() overload for char* ++ ++The following changes were made in 4.0 beta 6 since 4.0 beta 5: ++ ++ * Merged changes from SGI STL snapshots 04/03, 04/14, 04/18. ++ ++ * Iostreams ported to Apple MPW/MRC (thanks to Tsutomu Yoshida for the contribution) ++ ++ * Iostreams ported to OSF1/Tru64 (thanks to Marc W. Mengel for the contribution) ++ ++ * Iostreams ported to FreeBSD ( Thanks to Sms for the contribution) ++ ++ * : extra template parameter removed ++ ++ * locale::id, locale::facet : reverted to nested classes as standard prescribes ++ ++ * _string_io.h : added _widen() to get getline() compile with wchar (thanks to Mikhail Leonov for the patch) ++ ++ * collate_byname[_w].cpp : fixes for VC++ 5.0 build w/__STL_DEBUG (thanks to Petr Ovchenkov for the patch) ++ ++ * : __STL_COMPLEX_NAMESPACE defined before inclusion of impl. header ++ (thanks to Matthew Kelly for the patch) ++ ++ * makefiles in "src" : improved to get each compiler to put object files in separate directory : ++ ./obj/$(COMP)/Debug, etc. COMP is given some default value for each compiler, but may be also overridden. ++ ++ * "src" subdirectory : added stlport_prefix.h file for precompiled header support; ++ VC++ makefiles make use of them ++ ++ * stl/_iterator_base.h : provided __STL_NONTEMPL_BASE_MATCH_BUG ++ workaround for new form of distance(). ++ ++ * : added cast to WCHAR_MAX definition (thanks for Dave Abrahams for the report). ++ ++ * stl_user_config.h, stl/_config.h - setting splitted and organized more properly. ++ ++ * time_facets.cpp - extra instantiations removed (thanks to Matti Rintala for the report). ++ ++ * stdio_streambuf.h : added explicit qualifications of C lib functions for gcc-2.91 ++ ++ * SGI code used for compatibility w/older versions are guarded with #ifndef __STL_NO_ANACHRONISMS ++ ++ * SGI extensions are guarded with #ifndef __STL_NO_EXTENSIONS ++ ++ * SGI/HP anachronisms are guarded with #ifndef __STL_NO_ANACHRONISMS ++ ++ * : .h file included if __STL_NO_NEW_NEW header is set ++ (thanks to Willie Arbuckle for the report) ++ ++ * Suppresed spurious BC55 warnings about iterators ++ ++ * complex_io.h - fixed operators declarations for MetroWerks ++ ++ * debug/_slist.h - cleaned up use of stl_debug_do obsolete macro (thanks to Matti Rintala) ++ ++ * debug/_iterator.h, debug/_vector.h - fixed relaxed iterator constructors (thanks to Dave Abrahams for the patch) ++ ++ * stl/_complex.h - fixes for gcc-2.95 on IRIX (thanks to Marc W. Mengel) ++ ++ * debug/_iterator.h : fixed relaxed const/non-const iterator construction for debug mode ++ (thanks to Dave Abrahams for the patch) ++ ++ * collate : added workaround for SUNpro linker (thanks to Petr Ovchenkov for the fix) ++ ++ * _ios.h, _streambuf.h - added obsolete stuff required by the standard ++ ++ * _config.h/stdexcept - introduced __STL_NOTHROW_INHERITED to be used when we actually need ++ exception specification due to inheritance (thanks to Joe for the report) ++ ++ * _locale.h:104 : fixed ummaned parameters ++ ++ * _tempbuf.h - fixed absent inclusion of _tempbuf.c ++ ++ * : relaxed rules for importing vendor symbols ++ ++ * _deque.h - added != operator ++ ++ * _streambuf.h - fixed snextc() bug for wchar_t ++ ++ * , _numeric_facets.h - circular dependency resolved ++ ++ * stl/_iosfwd.h - added include guard ++ ++ * basic_[io]stream::sentry made inner class again (as per standard) ++ for non-DLL compilations. ++ ++ * vector is used in locale implementation to reduce code bloat, ++ vector exported from DLL ++ ++ * : exported more stuff ++ ++ * stl_intel.h : ICL config merged into stl_msvc.h ++ ++ * gcc.mak - fixed for shared target ++ ++The following changes were made in 4.0 beta 5 since 4.0 beta 4: ++ ++ * _hastable.c:263 : removed inneeded cast (thanks to Will Fike for the report) ++ ++ * debug/_string.h : added conversion to non-SGI string (thanks to Todd Richmond for the report) ++ ++ * _complex.h : fixed DLL declarations for i/o operators ++ ++ * _ostream.h : fixed sentry behavoiur and DLL specs. ++ ++ * _istream.h : fixed DLL specs, optimized some try/catch blocks ++ ++ * _vector.h : fixed vector::insert body definition for __STL_INLINE_MEMBER_TEMPLATES ++ ++ * : more compilers listed as having full exception header ++ ++ * debug/_debug.h : added namespace to __STL_ASSERT for EH test which uses this internal macro. ++ ++ * resource info fixed (thanks to Michael Entin for the report) ++ ++ * debug/_string.h : fixed _M_start resolution bug (thanks to Rob for the report ) ++ ++ * : added import of new_handler stuff from vendor namespace (thanks to Niran Bala for the report). ++ ++ * src/c_locale_glibc - missed directory contents restored (thanks to Todd Rider for the report) ++ ++ * mwerks_prj - project updated for new file set, target names for x86 changed to conform to common schema ++ ++ * _ostream.c/_istream.c : fixed lookup for _S_eof symbol (thanks to Anton Sergeev for the report) ++ ++ * _ios.h - fixed VC++ DLL warning for specializations ++ ++ * stl_ibm.h - disabled "long long" due to incomplete support on MVS by request (thanks to Tinny Ng) ++ ++ * char_traits.h - worked around weird gcc internal bug (__sz identifier changed to _Sz) ++ ++The following changes were made in 4.0 beta 4 since 4.0 beta 3: ++ ++ * "src" directory : source divided into smaller parts to be more manageable and to ++ get more cache locality ++ ++ * throw specifications removed (macros made void) - thanks to Dave Abrahams for the suggestion ++ ++ * stl/_list.c - fixed reverse() "inline", ++ _deque.h - fixed cast bug for xlC (thanks to Alex Vanic for the reports) ++ ++ * stl/_strstream.h - fixed DLL specs (thanks to Parcival Willems for the report) ++ ++ * stl/_string.h, debug/_string.h - fixed conversion from native string with __STL_DEBUG ++ (thanks to Todd Richmond for the report). ++ ++ * stl/_istream.h - fixed clash of "__N" symbol with ctype.h macro for some compilers ++ (thanks to Kees de Bruin for the report) ++ ++ * Configuration fixed for Borland C++ 5.02 compiler [ deque still does not work with it ] ++ ++ * gcc-2.7.2 configuration fixed ++ ++ * SGI iostreams now work for Borland 5.5 with static lib , some problems with ++ locale initialization when DLL is used. ++ ++ * __get_c_string exported in DLL (thanks to Ed Ball for the report). ++ ++ * ENDIAN fixes for CodeWarrior/DEC (thanks to Kevin Wooten for bringing this up) ++ ++ * wrap_std/h/strstream.h - added missing wrapper (Thanks to Laurent for the report) ++ ++ * stl_hpacc.h - fixed #endif bug, ++ _limits.h/.c - fixed array initialization, ++ _string_io.h, _locale.h - fixed circular dependancy, ++ _set.[hc], _hashtable.c, _set.h - added __REINTERPRET_CAST need by some compilers; ++ _i[o]stream.c, _rope.[hc] - lookup fixed for dependant symbols ++ (thanks to Alain Miniussi for the reports) ++ ++After-release minor bugfixes for beta3: ++ ++ * stl/_list.c - fixed reverse() [ new SGI code, merged unported first ] ++ Thanks for everybody who reported it. ++ ++ * stl/_bvector.h : fixed ambiguity problem with relational iterators ++ for __STL_NO_BOOL case (thanks to Alex Vanic for the report). ++ ++ * stl/_alloc.c, stl/_threads.c - fixed static member definitions for compilers ++ that lack automatic static data members (gcc-2.7). Thanks to Huang-Ming Huang ++ for the report. ++ ++ * standard wide streams initialization bug on Win32 fixed (thanks to Harold Putman for the ++ report) ++ ++The following changes were made in 4.0 beta 3 since 4.0 beta 2: ++ ++ * Merged SGI changes from 02/18 snapshot. ++ ++ * Ming32W (gcc Win32 port using MS runtime lib) is now fully supported. ++ ++ * .dll build schema improved, now builds with mingw32 and Borland C++ ++ (Borland has some problem with numeric i/o) ++ ++ * VC++ version bugfixes in // ++ (thanks to Todd Richmond for the report) ++ ++ * _bvector.h - relational operators defined only for "bit_vector", ++ not for "vector" specializations (thanks to Edward Ball for the report) ++ ++ * src/locale_impl.h - fixed multiple defined symbol problem with gcc ++ (Thanks to Matti Rintala for the report) ++ ++ * config/stl_ibm.h - __STL_NO_TYPEINFO added (thanks for Tinny Ng). ++ ++ * : _stl_string_io.h/c introduced to fight inter-dependencies ++ ++ * _bvector.h - added fix for -tempinc compilation on AIX (thanks to Alex Vanic for the patch) ++ ++ * fstream.cpp - _M_write bug for Win32 text mode fixed (thanks to Mike Pyle) ++ ++ * _string.h : debug version included prior to _string.c; ++ ++ * debug/_debug.h/.c, debug/_deque.h, debug/_string.h - fixed debug mode bugs; ++ Apple compilers config fixes / iostream wrapping fixes / EH test fixes, ++ (thanks to Tsutomu Youshida for the patch) ++ ++ * csetjmp/setjmp.h - guards added against VC++ #defines (thanks to Gavin Wood) ++ ++ * stl/_iosfwd.h : __STL_DEFAULT_CONSTRUCTED used instead of __STL_NULL_CHAR_INIT ++ (thanks to Alex Vanic for the report) ++ ++ * __stl_get_c_string() - made extern non-template for SGI iostreams mode. ++ ++ * __cdecl calling convention fixes - now works for debug & non-debug code. ++ ++ * _limits.h/.c : static data moved from inline functions into a class. ++ ++ * stlport_msvc.rc resource file added for DLL's (thanks to Michael Entin) ++ ++ * stlport/config/stl_wince.h : added abort()/assert() definitions ++ (thanks to Gavin Wood for the report) ++ ++ * Initial iostreams port for xlC (thanks to Alexander Vanic for the patch). ++ ++ * config files - made safe for C compilers ++ ++ * src/c_locale_stub.c - made structure for full platform-dependent ++ locales other than "C". Glibc implementation merged. ++ ++The following changes were made in 4.0 release candidate 2 since 4.0 release candidate 1: ++ ++ * Solid approach to __STL_DEFAULT_CONSTRUCTOR_BUG problem implemented, ++ rope.h typo fixed (thanks to Alex Vanic for the report) ++ ++ * getline and stream operators moved from _istream.c to _string.c ++ where they belong (thanks for Petr Ovchenkov) ++ ++ * fixed to import nothrow and nothrow_t ++ ++ * Borland C++ 5.5 (free compiler) supported (iostreams won't compile yet). ++ ++ * SUN CC 6.0 EA - new features unabled (most announced features still don't work though) ++ ++ * HP ACC configuration updated, some fixes for new aCC beta(thanks to Alain Miniussi). ++ ++ * Windows CE compatibility fixed (thanks to Gavin Wood for the report) ++ ++ * fixed for non-SGI case, ios.cpp bug in __STL_NO_EXCEPTIONS ++ mode fixed, debug iterators fix (thanks to Todd Richmond). ++ ++ * VC++ 5.0 and 4.2 compatibility fixed (thanks to Ilya for the report) ++ ++ * __cdecl calling convention explicitly specified for VC++ & static/global functions. ++ ++ * vc_common.mk : debug type changed to CV (thanks to Mike Pyle for the solution) ++ ++ * fstream.cpp : Win32 text mode : bugs fixed, SGI code used. ++ fixed _M_open() creation flags for Win32 (thanks to Mike Pyle for the report) ++ ++ * "install" target added for VC++ to install .dll's into Win system directory. ++ ++ * __STL_USE_STATIC_LIB switch added to add flexibility to VC++ linking. ++ ++ * __stl_debug_message for WIN32/Unicode/MFC improved ++ (thanks to Edward Ball, Chvetsov for the reports) ++ ++ * MVS fix for auto_ptr<> (thanks to Tinny Ng) ++ ++ * debug/_tree.h, debug/_vector.h "typename" fixes, thanks to Matti Rintala. ++ ++ * c_locale.h : fix for Solaris 2.5.x (thanks to B. K. Oxley) ++ ++ * _bvector.h : Watcom compatibility fixed (thanks to Ricardo E. Gayoso for the report) ++ ++ * __STL_DONT_REDEFINE_STD flag behaviour fixed ++ ++The following changes were made in 4.0 release candidate 1 since 3.2.2 Beta 4 : ++ ++ * Merged changes made to SGI standard library snapshot on 01/28. ++ ++ * Fixed bug with istream reading numbers in hex mode (thanks to Dave Abrahams ++ for the patch). ++ ++ * Debug mode redesigned (again) - no extra namespaces is being used ++ Finally, it works for MSVC and all other platforms. ++ ++ * __SGI_STL_OWN_IOSTREAMS made to be the default mode except few platforms ++ not provided with makefiles to build STLport yet. ++ ++ * Changed strategy on redefinig std:: namespace. ++ prolog/epilog technology used to get clean namespace wrapping. ++ It also allows for managing stack of pragmas ++ (see stlport/stl/config/_prolog.h,_epilog.h) to get rid of warnings. ++ Note : default namespace changed to _STL:: to satisfy implementation ++ constraints and to allow for more compact symbols. ++ "stlport::" namespace is still defined for backwards compatibility. ++ ++ * iostreams library now compiles on HP with aCC (thanks to Steven Serocki for the patch). ++ ++ * Configuration for SUN Workshop 6.0 EA provided. ++ ++ * For VC++, corresponding [selected by /MT(d) or /MD(d) switch] ++ STLport iostreams library is being linked automatically - all you ++ need is to put library in lib search path or specify additional library path. ++ ++ * Ability to turn on all warnings in your own code if you're using ++ a compiler with appropriate support (e.g. MSVC6). ++ ++ * Small fixes posted to the forum integrated: ++ ++ * config/stl_wince.h : added __STL_HAS_NO_NEW_C_HEADERS switch ++ * wrap_std/strsream : fixed preprocessor bug, strstream.h included ++ when not using new-style headers ++ * other fixes ++ ++The following changes were made in 3.2.2 beta 4 since 3.2.2 Beta 3: ++ ++ * Merged changes made to SGI standard library snapshot on 01/10. ++ ++ * Major restructuring of header files - for maintainability and ++ 8.3 filesystems benefit. ++ ++ * Major debug mode improvements - new debug mode now works with ++ VC++, gcc, intel, SUNpro, MetroWerks. ++ ++ * Regression test suite changed to new-style headers - thanks to ++ Dima Pasechnik for the initial port. ++ ++ * fixes for Watcom ++ ++ * many miscellanous fixes. ++ ++The following changes were made in 3.2.2 beta 3 since 3.2.2 Beta 2: ++ ++ * Merged changes made to SGI standard library snapshot in December. ++ ++ * std:: is not used for STLport namespace even with SGI iostreams, ++ to avoid possible clashes and facilitate 3rd-party library use. ++ Same macro redefinition technique for stlport:: used to keep clients ++ code with literal std:: happy as in native iostreams mode. ++ ++ * C library headers wrapping changed to allow multiple inclusion tricks ++ (needed by gcc-2.95 mostly) ++ ++ * gcc-2.95 and CodeWarrior configurations updated. ++ ++ * HP aCC fixes applied. ++ ++ * Visual C++ - added static library targets, build refined. ++ Fixed memory-mapping bugs. ++ ++ * auto_ptr updated, now it passes polymorphic tests with VC++. ++ ++ * Many small bugfixes. ++ ++The following changes were made in 3.2.2 beta 2 since 3.2.2 Beta 1: ++ ++ * Fixed SUN CC deque<> problem with -g ++ ++ * Added configuration and makefiles for DEC VMS, Borland and Win32 gcc. ++ ++ * Merged changes made to November SGI standard library snapshot. ++ ++ * config changes - "configure" made obsolete and moved into "stlport/config/new_compiler". ++ ++ * __STL_TYPENAME_ON_RETURN_TYPE handling changed. ++ ++ * Miscellanous fixes. ++ ++The following changes were made in 3.2.2 Beta 1 since 3.2.1 release: ++ ++ * SGI iostreams adopted. To use SGI iostreams, user have to set ++ __SGI_STL_OWN_IOSTREAMS flag and to build the library in "src" ++ directory to link with. Please read INSTALL file for detailed ++ instructions. ++ Default setting is NOT to use SGI iostreams (wrappers used as before). ++ ++ * Debug mode completely redesigned - debug mode containers are ++ implemented in terms of wrappers around non-debug ones. ++ That provides for more clean and efficient implementation and ++ binary compatibility between debug and non-debug versions. ++ ++ * Additional configurations added for platforms : ++ - gcc-2.95 ++ - SUNpro CC 5.0 in "compatibility" mode ++ "configure" made obsolete. ++ ++ * Bugfixes reported by users since 3.2.1 release merged ++ ++The following changes were made in 3.2.1 since 3.2 release: ++ ++ * Now, by default, STLPort renames std:: namespace for user ++ if __STL_USE_OWN_NAMESPACE is used. To make it possible, many new ++ wrapper headers introduced. Internally, STLport uses stlport:: namespace, ++ so no link- or run- time clashes are possible, and you don't have to rebuild ++ the runtime lib (which you don't want to). ++ This feature makes STLport usable out-of-the box, without any modifications ++ for client code, with any compiler. ++ ++ * Code bloat reduction : hashtable uses vector internally. ++ ++ * Vector : efficiency/code bloat reduction fixes. ++ ++ * Visual C++ : DLL export is supported for allocators and strings. To use it, ++ please define __STL_USE_DECLSPEC in all modules and __STL_DESIGNATED_DLL ++ for the DLL which is supposed to instantiate STLport exports (at least one ++ source of this DLL must include . ++ ++ * Visual C++ : for MT synchronization, is not included anymore. ++ ++ * For Sunpro C++ 5.0 : all headers are linked into stlport/SC5, so only ++ one include path is needed. Note that SC5.0 has problems with relative ++ search path. It is easy to work around : in your makefiles, instead of ++ "STL_INCL=../.." , write "STL_INCL=${PWD}/../..". ++ ++ * Configuration files provided for compilers : ++ KAI C++ ++ DEC C++ (6.x, 5.x) ++ Borland 5.02 is back on the road (finally !) ++ ++ * Windows CE config provided for Visual C++. ++ ++ * __STL_NO_IOSTREAMS switch introduced for embedded platforms. ++ ++ * Lots of minor config fixes and improvements for various platforms. +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/Makefile.am tripwire-2.3.1-2/src/STLport-4.0/Makefile.am +--- tripwire-2.3.1-2.old/src/STLport-4.0/Makefile.am Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/Makefile.am Sun Sep 7 16:00:01 2003 +@@ -0,0 +1,31 @@ ++LIBDIR = ../../lib ++STLLIB_R=$(STLPORT_LIBRARY) ++INSTLIB = $(LIBDIR)/libstlport.a ++CC = @CC@ ++CXX = @CXX@ ++CFLAGS = @CFLAGS@ ++CXXFLAGS = @CXXFLAGS@ ++ ++all: release ++ ++clean: ++ PATH=./stlport:${PATH}; export PATH; \ ++ $(GMAKE) -C ./src -f $(STLPORT_MAKEFILE) clean ++ test -h "include" && rm -f include || true ++ rm -f lib/$(STLLIB_R) $(INSTLIB) ++distclean: clean ++ -rm -f Makefile ++clobber: ++ PATH=./stlport:${PATH}; export PATH; \ ++ $(GMAKE) -C ./src -f $(STLPORT_MAKEFILE) clobber ++debug release: ++ @test -d $(LIBDIR) || mkdir $(LIBDIR) ++ @test -d "include" || test -h "include" || test "x$(SYSPRE)" != "xi386-unknown-freebsd" || ln -s /usr/include/g++ include ++ @test -d "include" || test -h "include" || test "x$(SYSPRE)" != "xi386-unknown-openbsd" || ln -s /usr/include/g++ include ++ @test -d "include" || test -h "include" || test "x$(SYSPRE)" != "xi386-unknown-netbsd" || ln -s /usr/include/g++ include ++ PATH=./stlport:${PATH}; export PATH; \ ++ $(GMAKE) -C ./src -f $(STLPORT_MAKEFILE) \ ++ CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" \ ++ ../lib/$(STLLIB_R) ++ ln -f lib/$(STLLIB_R) $(INSTLIB) ++ $(RANLIB) $(INSTLIB) +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/Makefile.in tripwire-2.3.1-2/src/STLport-4.0/Makefile.in +--- tripwire-2.3.1-2.old/src/STLport-4.0/Makefile.in Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/Makefile.in Mon Sep 22 09:40:55 2003 +@@ -0,0 +1,230 @@ ++# Makefile.in generated automatically by automake 1.5 from Makefile.am. ++ ++# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 ++# Free Software Foundation, Inc. ++# This Makefile.in is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without ++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A ++# PARTICULAR PURPOSE. ++ ++@SET_MAKE@ ++ ++SHELL = @SHELL@ ++ ++srcdir = @srcdir@ ++top_srcdir = @top_srcdir@ ++VPATH = @srcdir@ ++prefix = @prefix@ ++exec_prefix = @exec_prefix@ ++ ++bindir = @bindir@ ++sbindir = @sbindir@ ++libexecdir = @libexecdir@ ++datadir = @datadir@ ++sysconfdir = @sysconfdir@ ++sharedstatedir = @sharedstatedir@ ++localstatedir = @localstatedir@ ++libdir = @libdir@ ++infodir = @infodir@ ++mandir = @mandir@ ++includedir = @includedir@ ++oldincludedir = /usr/include ++pkgdatadir = $(datadir)/@PACKAGE@ ++pkglibdir = $(libdir)/@PACKAGE@ ++pkgincludedir = $(includedir)/@PACKAGE@ ++top_builddir = ../.. ++ ++ACLOCAL = @ACLOCAL@ ++AUTOCONF = @AUTOCONF@ ++AUTOMAKE = @AUTOMAKE@ ++AUTOHEADER = @AUTOHEADER@ ++ ++INSTALL = @INSTALL@ ++INSTALL_PROGRAM = @INSTALL_PROGRAM@ ++INSTALL_DATA = @INSTALL_DATA@ ++INSTALL_SCRIPT = @INSTALL_SCRIPT@ ++INSTALL_HEADER = $(INSTALL_DATA) ++transform = @program_transform_name@ ++NORMAL_INSTALL = : ++PRE_INSTALL = : ++POST_INSTALL = : ++NORMAL_UNINSTALL = : ++PRE_UNINSTALL = : ++POST_UNINSTALL = : ++AMTAR = @AMTAR@ ++AWK = @AWK@ ++CORE_CRYPT_O = @CORE_CRYPT_O@ ++DEPDIR = @DEPDIR@ ++EXEEXT = @EXEEXT@ ++GMAKE = @GMAKE@ ++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ ++OBJEXT = @OBJEXT@ ++PACKAGE = @PACKAGE@ ++RANLIB = @RANLIB@ ++STLPORT_INCLUDE = @STLPORT_INCLUDE@ ++STLPORT_LD = @STLPORT_LD@ ++STLPORT_LIBRARY = @STLPORT_LIBRARY@ ++STLPORT_MAKEFILE = @STLPORT_MAKEFILE@ ++STLPORT_SUBDIR = @STLPORT_SUBDIR@ ++SYSPRE = @SYSPRE@ ++VERSION = @VERSION@ ++YACC = @YACC@ ++am__include = @am__include@ ++am__quote = @am__quote@ ++install_sh = @install_sh@ ++path_to_sendmail = @path_to_sendmail@ ++path_to_vi = @path_to_vi@ ++CC = @CC@ ++CXX = @CXX@ ++ ++LIBDIR = ../../lib ++STLLIB_R = $(STLPORT_LIBRARY) ++INSTLIB = $(LIBDIR)/libstlport.a ++CFLAGS = @CFLAGS@ ++CXXFLAGS = @CXXFLAGS@ ++subdir = src/STLport-4.0 ++mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs ++CONFIG_HEADER = $(top_builddir)/config.h ++CONFIG_CLEAN_FILES = ++DIST_SOURCES = ++DIST_COMMON = README ChangeLog INSTALL Makefile.am Makefile.in TODO ++all: all-am ++ ++.SUFFIXES: ++$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) ++ cd $(top_srcdir) && \ ++ $(AUTOMAKE) --gnu src/STLport-4.0/Makefile ++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status ++ cd $(top_builddir) && \ ++ CONFIG_HEADERS= CONFIG_LINKS= \ ++ CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status ++uninstall-info-am: ++tags: TAGS ++TAGS: ++ ++ ++DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ++ ++top_distdir = ../.. ++distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) ++ ++distdir: $(DISTFILES) ++ @for file in $(DISTFILES); do \ ++ if test -f $$file; then d=.; else d=$(srcdir); fi; \ ++ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ ++ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ ++ $(mkinstalldirs) "$(distdir)/$$dir"; \ ++ fi; \ ++ if test -d $$d/$$file; then \ ++ cp -pR $$d/$$file $(distdir) \ ++ || exit 1; \ ++ else \ ++ test -f $(distdir)/$$file \ ++ || cp -p $$d/$$file $(distdir)/$$file \ ++ || exit 1; \ ++ fi; \ ++ done ++check-am: all-am ++check: check-am ++all-am: Makefile ++ ++installdirs: ++ ++install: install-am ++install-exec: install-exec-am ++install-data: install-data-am ++uninstall: uninstall-am ++ ++install-am: all-am ++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am ++ ++installcheck: installcheck-am ++install-strip: ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ `test -z '$(STRIP)' || \ ++ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install ++mostlyclean-generic: ++ ++clean-generic: ++ ++distclean-generic: ++ -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* ++ ++maintainer-clean-generic: ++ @echo "This command is intended for maintainers to use" ++ @echo "it deletes files that may require special tools to rebuild." ++clean: clean-am ++ ++clean-am: clean-generic mostlyclean-am ++ ++distclean: distclean-am ++ ++distclean-am: clean-am distclean-generic ++ ++dvi: dvi-am ++ ++dvi-am: ++ ++info: info-am ++ ++info-am: ++ ++install-data-am: ++ ++install-exec-am: ++ ++install-info: install-info-am ++ ++install-man: ++ ++installcheck-am: ++ ++maintainer-clean: maintainer-clean-am ++ ++maintainer-clean-am: distclean-am maintainer-clean-generic ++ ++mostlyclean: mostlyclean-am ++ ++mostlyclean-am: mostlyclean-generic ++ ++uninstall-am: uninstall-info-am ++ ++.PHONY: all all-am check check-am clean clean-generic distclean \ ++ distclean-generic distdir dvi dvi-am info info-am install \ ++ install-am install-data install-data-am install-exec \ ++ install-exec-am install-info install-info-am install-man \ ++ install-strip installcheck installcheck-am installdirs \ ++ maintainer-clean maintainer-clean-generic mostlyclean \ ++ mostlyclean-generic uninstall uninstall-am uninstall-info-am ++ ++ ++all: release ++ ++clean: ++ PATH=./stlport:${PATH}; export PATH; \ ++ $(GMAKE) -C ./src -f $(STLPORT_MAKEFILE) clean ++ test -h "include" && rm -f include || true ++ rm -f lib/$(STLLIB_R) $(INSTLIB) ++distclean: clean ++ -rm -f Makefile ++clobber: ++ PATH=./stlport:${PATH}; export PATH; \ ++ $(GMAKE) -C ./src -f $(STLPORT_MAKEFILE) clobber ++debug release: ++ @test -d $(LIBDIR) || mkdir $(LIBDIR) ++ @test -d "include" || test -h "include" || test "x$(SYSPRE)" != "xi386-unknown-freebsd" || ln -s /usr/include/g++ include ++ @test -d "include" || test -h "include" || test "x$(SYSPRE)" != "xi386-unknown-openbsd" || ln -s /usr/include/g++ include ++ @test -d "include" || test -h "include" || test "x$(SYSPRE)" != "xi386-unknown-netbsd" || ln -s /usr/include/g++ include ++ PATH=./stlport:${PATH}; export PATH; \ ++ $(GMAKE) -C ./src -f $(STLPORT_MAKEFILE) \ ++ CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" \ ++ ../lib/$(STLLIB_R) ++ ln -f lib/$(STLLIB_R) $(INSTLIB) ++ $(RANLIB) $(INSTLIB) ++# Tell versions [3.59,3.63) of GNU make to not export all variables. ++# Otherwise a system limit (for SysV at least) may be exceeded. ++.NOEXPORT: +Only in tripwire-2.3.1-2.old/src/STLport-4.0: STLport.mak +Only in tripwire-2.3.1-2.old/src/STLport-4.0/doc: FAQ.html +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.BC.html tripwire-2.3.1-2/src/STLport-4.0/doc/README.BC.html +--- tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.BC.html Sat Feb 24 10:45:49 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/doc/README.BC.html Mon Mar 17 12:57:57 2003 +@@ -1,107 +1,6 @@ +- +- +- +-STLport - Note For Borland C++ Users ++STLport: STLport - Note For Borland C++ Users




+ +- +- +- +- +- +- +- +- +-
+-
+- +- +-
+- +- +- +- +- +-
+- STLport.org - "Templates that fit" +- +- +- +- +- +-
+- +-
+-
+-
+-
+-
+- +- +- +- +-
+-
+- +- +- +- +-
+- +- +- +- +- +- +- +- +-
Contents
+- Introduction
+- +-   About STLport
+-   SGI STL Base
+-   STLport Story
+- +- +-

STLport Features
+-   Portability
+-   Debug Mode
+-   Thread Safety
+-   Exception Safety +-

+- +-

Getting Started
+- +-   Download and Install
+-   Select Streams Mode
+-   Compiling with STLport +-

+- +-

White Papers
+-   Release Notes
+- +-   READMEs
+-   Interface with std::
+-   Wrappers
+-   Config manual
+-   Regression Test
+-   Exception Test +-

+- +-

Feedback
+-   Bug Reports
+-   Forum
+-

+- +-

Appendix
+-   Acknowledgements
+- +-   Your Free Licence

+- +-
+- +-
+- +-

Note For Borland C++ / C++ Builder Users

++ Note For Borland C++ / C++ Builder Users +

 

+

Known problems

+

Compiling

+@@ -113,10 +12,10 @@ + with <string>, so BC50 is configured to use native one. You may face other problems with + 5.0. Please direct your bug reports and workarounds to the Forum. +
  • This release should work out-of-the box for Borland C++ Builder 4. Builder 3 may require +- some configuration adjustments to enable features added in BCB 3. You may also utilize <iostream.h> ++ some configuration adjustments to enable features added in BCB 3. You may also utilize <iostream.h> + wrapper in stlport/BCB directory to compile programs using old-style header.
  • +
  • With 5.0, you may also encounter problems with too long symbols when compiling +- with debug information. To handle this, try defining __STL_USE_ABBREVS ++ with debug information. To handle this, try defining _STLP_USE_ABBREVS + in stlcomp.h.
  • +
  • If your program is multi-threaded, be sure to define macro _REENTRANT + for proper synchronization (if you are using SGI node +@@ -124,7 +23,7 @@ + need that).
  • +
  • You may encounter problems using new-style BC++ 5.0 <iostream> + in mix with SGI STL <string>, <stdexcept> +- without defining __STL_USE_OWN_NAMESPACE.
  • ++ without defining _STLP_USE_OWN_NAMESPACE. + +
    +

    Migration notes

    +@@ -138,37 +37,4 @@ + Borland C++ versions older than 4.52 have not been tested. Probably it + would work with 4.50-4.51. + +- +- +- +-
    +-
    +-
    +- +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    +-
    +-
    Copyright © 1999,2000 by Boris Fomitchev.   +-  Last modified: July 14, 2000 +-
    +-
    +- +- +- +- +- +- ++

    Table of Contents


    Copyright 2001 by STLport
    +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.CW.html tripwire-2.3.1-2/src/STLport-4.0/doc/README.CW.html +--- tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.CW.html Sat Feb 24 10:45:49 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/doc/README.CW.html Mon Mar 17 12:57:57 2003 +@@ -1,108 +1,6 @@ +- +- +- +-STLport - Note For Metrowerks CodeWarrior Users ++STLport: Note For Metrowerks CodeWarrior Users




    + +- +- +- +- +- +- +- +- +-
    +-
    +- +- +-
    +- +- +- +- +- +-
    +- STLport.org - "Templates that fit" +- +- +- +- +- +-
    +- +-
    +-
    +-
    +-
    +-
    +- +- +- +- +-
    +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    Contents
    +- Introduction
    +- +-   About STLport
    +-   SGI STL Base
    +-   STLport Story
    +- +- +-

    STLport Features
    +-   Portability
    +-   Debug Mode
    +-   Thread Safety
    +-   Exception Safety +-

    +- +-

    Getting Started
    +- +-   Download and Install
    +-   Select Streams Mode
    +-   Compiling with STLport +-

    +- +-

    White Papers
    +-   Release Notes
    +- +-   READMEs
    +-   Interface with std::
    +-   Wrappers
    +-   Config manual
    +-   Regression Test
    +-   Exception Test +-

    +- +-

    Feedback
    +-   Bug Reports
    +-   Forum
    +-

    +- +-

    Appendix
    +-   Acknowledgements
    +- +-   Your Free Licence

    +- +-
    +- +-
    +- +- +-

    Note For Metrowerks CodeWarrior Users

    ++ Note For Metrowerks CodeWarrior Users +
    +

    Known problems

    +

    Compiling

    +@@ -110,15 +8,15 @@ +
  • You may have to edit relative/full path to CodeWarrior native + headers .
  • +
  • To avoid editing the headers mentioned above, Metrowerks users +- should put the "STLport" directory in the "Metrowerks +- Standard Library" directory, and add the "STLport" ++ should put the "STLport" directory in the "Metrowerks ++ Standard Library" directory, and add the "STLport" + directory as the first item in the system search paths of the + projects that wish to use it.
  • +
  • If you want your code to be portable, you should avoid explicit + usage of reverse_iterator<Iterator,T,T&,T*,Distance>.
  • +
  • It's better to use coherent set of headers in the project: all + new-style, including STL ones;
  • +-
  • IMPORTANT : You should either have __STL_USE_OWN_NAMESPACE ++
  • IMPORTANT : You should either have _STLP_USE_OWN_NAMESPACE + defined, or you should recompile CodeWarrior runtime libraries after + you installed STLport.
  • +
  • For earlier versions, you have to copy <functional> +@@ -127,37 +25,4 @@ + on 8.3 systems
  • + + +- +- +- +-
    +-
    +-
    +- +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    +-
    +-
    Copyright © 1999,2000 by Boris Fomitchev.   +-  Last modified: July 14, 2000 +-
    +-
    +- +- +- +- +- +- ++

    Table of Contents


    Copyright 2001 by STLport
    +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.DEC.html tripwire-2.3.1-2/src/STLport-4.0/doc/README.DEC.html +--- tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.DEC.html Sat Feb 24 10:45:50 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/doc/README.DEC.html Mon Mar 17 12:57:57 2003 +@@ -1,108 +1,6 @@ +- +- +- +-STLport - Notes for DEC CXX Users ++STLport: Notes for DEC CXX Users




    + +- +- +- +- +- +- +- +- +-
    +-
    +- +- +-
    +- +- +- +- +- +-
    +- STLport.org - "Templates that fit" +- +- +- +- +- +-
    +- +-
    +-
    +-
    +-
    +-
    +- +- +- +- +-
    +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    Contents
    +- Introduction
    +- +-   About STLport
    +-   SGI STL Base
    +-   STLport Story
    +- +- +-

    STLport Features
    +-   Portability
    +-   Debug Mode
    +-   Thread Safety
    +-   Exception Safety +-

    +- +-

    Getting Started
    +- +-   Download and Install
    +-   Select Streams Mode
    +-   Compiling with STLport +-

    +- +-

    White Papers
    +-   Release Notes
    +- +-   READMEs
    +-   Interface with std::
    +-   Wrappers
    +-   Config manual
    +-   Regression Test
    +-   Exception Test +-

    +- +-

    Feedback
    +-   Bug Reports
    +-   Forum
    +-

    +- +-

    Appendix
    +-   Acknowledgements
    +- +-   Your Free Licence

    +- +-
    +- +-
    +- +- +-

    Note for DEC CXX users

    ++ Note for DEC CXX users +
    +

    Known problems

    +

    Compiling

    +@@ -124,7 +22,7 @@ + of two kinds : unresolved symbols and duplicate symbols. The latter + problem was never reported to occur with DEC CXX. The problem with + undefined symbols is also may require manual intervention. General rule +- is : if you get "unresolved symbol" errors, explicit ++ is : if you get "unresolved symbol" errors, explicit + instantiation will most likely help, for example: +

    Unresolved:
    + __default_alloc_template<0, 0>::allocate(unsigned long)
    +@@ -134,39 +32,6 @@ + explicitly in some module:

    +

    template class __default_alloc_template<0,0>;

    +

    Another way to solve this problem may be use of -pts compiler +- option, but I'm not sure it works in all cases. +- +- +- +- +-

    +-
    +-
    +- +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    +-
    +-
    Copyright © 1999,2000 by Boris Fomitchev.   +-  Last modified: July 14, 2000 +-
    +-
    +- +- +- +- ++ option, but I'm not sure it works in all cases.

    + +- ++

    Table of Contents


    Copyright 2001 by STLport
    +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.MPW.html tripwire-2.3.1-2/src/STLport-4.0/doc/README.MPW.html +--- tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.MPW.html Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/doc/README.MPW.html Mon Mar 17 12:57:57 2003 +@@ -0,0 +1,35 @@ ++STLport: Note for Apple MPW users




    ++ ++Note for Apple MPW users ++ ++

    ++03/22/2001
    ++Tsutomu Yoshida
    ++Minokamo, Japan ++

    ++ ++

    Installation

    ++For the installation of STLport package, please follow the instruction contained in "ReadMe.MPW" located in "test:regression:" folder. ++The MPW shell scripts embedded in this document will set up the shell variable "{STL}" which points to the main STLport package folder "stlport:". ++A small MPW shell script named "!STL_Folder_SetUp" will be placed in "{MPW}StartUp Items:" so that this "{STL}" will be automatically reestablished ++at the subsequent MPW startups. ++The script also set up an alias to MPW's "{CIncludes}" at the same level as "stlport:" which is used to look up the native C headers refered from STLport. ++ ++

    The installation script will build and install stlport library binary which contains iostreams code and other commonly used class binaries. ++The library binaries are stored in "{STL}:lib:" folder with the names:
    ++

      ++
    • "STLportLib.68K.DBG.o" : 68K (SCpp) with debugging code
    • ++
    • "STLportLib.68K.o" : 68K (SCpp) without debugging code
    • ++
    • "STLportLib.PPC.DBG.o" : PPC (MrCpp) with debugging code
    • ++
    • "STLportLib.PPC.o" : PPC (MrCpp) without debugging code
    • ++
    ++
    ++For the sample setup of makefile utilizing STLport and accompanying library binary, please refer to:
    ++
      ++
    • "{STL}:src:MrCpp.mak"
    • ++
    • "{STL}:test:regression:MrCpp.mak"
    • ++
    • "{STL}:src:SCpp.mak"
    • ++
    • "{STL}:test:regression:SCpp.mak"
    • ++
    ++

    ++

    Table of Contents


    Copyright 2001 by STLport
    +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.VC++.html tripwire-2.3.1-2/src/STLport-4.0/doc/README.VC++.html +--- tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.VC++.html Sat Feb 24 10:45:50 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/doc/README.VC++.html Mon Mar 17 12:57:57 2003 +@@ -1,108 +1,6 @@ +- +- +- +-STLport - Note For Visual C++ Users ++STLport: Note For Visual C++ Users




    + +- +- +- +- +- +- +- +- +-
    +-
    +- +- +-
    +- +- +- +- +- +-
    +- STLport.org - "Templates that fit" +- +- +- +- +- +-
    +- +-
    +-
    +-
    +-
    +-
    +- +- +- +- +-
    +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    Contents
    +- Introduction
    +- +-   About STLport
    +-   SGI STL Base
    +-   STLport Story
    +- +- +-

    STLport Features
    +-   Portability
    +-   Debug Mode
    +-   Thread Safety
    +-   Exception Safety +-

    +- +-

    Getting Started
    +- +-   Download and Install
    +-   Select Streams Mode
    +-   Compiling with STLport +-

    +- +-

    White Papers
    +-   Release Notes
    +- +-   READMEs
    +-   Interface with std::
    +-   Wrappers
    +-   Config manual
    +-   Regression Test
    +-   Exception Test +-

    +- +-

    Feedback
    +-   Bug Reports
    +-   Forum
    +-

    +- +-

    Appendix
    +-   Acknowledgements
    +- +-   Your Free Licence

    +- +-
    +- +-
    +- +- +-

    Note For Visual C++ Users

    ++ Note For Visual C++ Users +
    +

    Known problems

    +

    Compiling

    +@@ -113,24 +11,24 @@ + won't need that). +
  • You may encounter problems using  <iostream> in + mix with SGI STL <string>, <stdexcept> without +- defining __STL_USE_OWN_NAMESPACE.  Using  __STL_USE_OWN_NAMESPACE  ++ defining _STLP_USE_OWN_NAMESPACE.  Using  _STLP_USE_OWN_NAMESPACE  + is the most safe way to cooperate with new I/O
    + library and is definitely recommended unless you recompile the whole + C++ std library with STLport installed.
  • +-
  • __STL_USE_EXCEPTIONS is being defined ++
  • _STLP_USE_EXCEPTIONS is being defined + automatically if the compiler defined _CPPUNWIND +- macro ("/GX" option). So you should not ++ macro ("/GX" option). So you should not + worry about it.
  • +
  • There were reports that Visual C++ 4.0 have problems with +- namespaces in certain cases. Due to that, __STL_NO_NAMESPACES  ++ namespaces in certain cases. Due to that, _STLP_NO_NAMESPACES  + defined for it in <stlcomp.h>.
  • +
  • You may encounter problems with too long symbols when compiling +- with debug information. To handle this, try defining __STL_USE_ABBREVS ++ with debug information. To handle this, try defining _STLP_USE_ABBREVS + in stlcomp.h.
  • +
  • You may experience problems with default SGI node allocator. I had + no such problems, though. Default node allocator is quite fast, so I + wouldn't recommend disabling it without serious reason. However, if +- it causes problems, define __STL_USE_MALLOC or __STL_USE_NEWALLOC ++ it causes problems, define _STLP_USE_MALLOC or _STLP_USE_NEWALLOC + to get bare malloc()-based or new()-based default allocator.
  • +
  • If your program is multi-threaded, make sure you defined macro _REENTRANT + to enable proper synchronization.
  • +@@ -142,11 +40,11 @@ + If you want to use old-style <iostream.h> in your + project: +
      +-
    • define macro __STL_NO_NEW_IOSTREAMS in <stl_user_config.h> ++
    • define macro _STLP_NO_NEW_IOSTREAMS in <stl_user_config.h> + or at the command line.
    • +
    + If you are going to use new-style <iostream> without +- defining __STL_USE_OWN_NAMESPACE: ++ defining _STLP_USE_OWN_NAMESPACE: +
      +
    • You may have to edit relative (or set full) path to VC++  + native headers in <stl_user_config.h>. Using +@@ -174,37 +72,4 @@ +

       

      +
      + +- +- +- +-
    +-
    +-
    +- +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    +-
    +-
    Copyright © 1999,2000 by Boris Fomitchev.   +-  Last modified: July 14, 2000 +-
    +-
    +- +- +- +- +- +- ++

    Table of Contents


    Copyright 2001 by STLport
    +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.aCC.html tripwire-2.3.1-2/src/STLport-4.0/doc/README.aCC.html +--- tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.aCC.html Sat Feb 24 10:45:50 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/doc/README.aCC.html Mon Mar 17 12:57:57 2003 +@@ -1,108 +1,6 @@ +- +- +- +-STLport - Note for HP ANSI C++ Compiler users ++STLport: Note for HP ANSI C++ Compiler users




    + +- +- +- +- +- +- +- +- +-
    +-
    +- +- +-
    +- +- +- +- +- +-
    +- STLport.org - "Templates that fit" +- +- +- +- +- +-
    +- +-
    +-
    +-
    +-
    +-
    +- +- +- +- +-
    +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    Contents
    +- Introduction
    +- +-   About STLport
    +-   SGI STL Base
    +-   STLport Story
    +- +- +-

    STLport Features
    +-   Portability
    +-   Debug Mode
    +-   Thread Safety
    +-   Exception Safety +-

    +- +-

    Getting Started
    +- +-   Download and Install
    +-   Select Streams Mode
    +-   Compiling with STLport +-

    +- +-

    White Papers
    +-   Release Notes
    +- +-   READMEs
    +-   Interface with std::
    +-   Wrappers
    +-   Config manual
    +-   Regression Test
    +-   Exception Test +-

    +- +-

    Feedback
    +-   Bug Reports
    +-   Forum
    +-

    +- +-

    Appendix
    +-   Acknowledgements
    +- +-   Your Free Licence

    +- +-
    +- +-
    +- +- +-

    Note for HP ANSI C++ Compiler users

    ++ Note for HP ANSI C++ Compiler users +

     

    +
    +

    Known problems

    +@@ -110,7 +8,7 @@ + stlcomp.h provides recognition section usable with aCC 1.06. + You should be able to use unconfigured STL distribution with it. If you + are using more recent version, you might want to enable more features +- (see comments in stlcomp.h). Basically, "configure" ++ (see comments in stlcomp.h). Basically, "configure" + script was reported to work with aCC. However, your aCC version might + contain bugs (not showing in simple example) that could prevent your + code from compiling. In this case, refer to stlcomp.h to figure +@@ -119,39 +17,6 @@ + aCC enforces stricter name lookup checking than many other compilers.  + Also it uses initial template name lookup scheme different from many + compilers. This scheme prevents any use of inherited typenames without +- explicit "using" directive, etc. +- +- +- +- +-
    +-
    +-
    +- +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    +-
    +-
    Copyright © 1999,2000 by Boris Fomitchev.   +-  Last modified: July 14, 2000 +-
    +-
    +- +- +- +- ++ explicit "using" directive, etc. + +- ++

    Table of Contents


    Copyright 2001 by STLport
    +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.gcc.html tripwire-2.3.1-2/src/STLport-4.0/doc/README.gcc.html +--- tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.gcc.html Sat Feb 24 10:45:50 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/doc/README.gcc.html Mon Mar 17 12:57:57 2003 +@@ -1,112 +1,12 @@ +- +- +- +-STLport - Note for GCC users ++STLport: Note for GCC users




    + +- +- +- +- +- +- +- +- +-
    +-
    +- +- +-
    +- +- +- +- +- +-
    +- STLport.org - "Templates that fit" +- +- +- +- +- +-
    +- +-
    +-
    +-
    +-
    +-
    +- +- +- +- +-
    +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    Contents
    +- Introduction
    +- +-   About STLport
    +-   SGI STL Base
    +-   STLport Story
    +- +- +-

    STLport Features
    +-   Portability
    +-   Debug Mode
    +-   Thread Safety
    +-   Exception Safety +-

    +- +-

    Getting Started
    +- +-   Download and Install
    +-   Select Streams Mode
    +-   Compiling with STLport +-

    +- +-

    White Papers
    +-   Release Notes
    +- +-   READMEs
    +-   Interface with std::
    +-   Wrappers
    +-   Config manual
    +-   Regression Test
    +-   Exception Test +-

    +- +-

    Feedback
    +-   Bug Reports
    +-   Forum
    +-

    +- +-

    Appendix
    +-   Acknowledgements
    +- +-   Your Free Licence

    +- +-
    +- +-
    +- +- +-

    Note for GCC users

    ++ Note for GCC users +
    +

    GCC versions

    + STLport works with the following GCC flavours: +-

    Cygnus "egcs": ++

    gcc-3.0 Note : "wrapper mode" w/o STLport iostreams doesn't work with 3.0, as gcc 3.0 implements Koenig lookup properly, which leads to ambiguity errors when trying to wrap new-style gcc iostreams into STLport namespace.

    ++

    gcc-2.95.x Note: on some platforms (HP, AIX) gcc-2.95 does not implement automatic instantiation of static template data members. Please refer to gcc-2.7 section below for workaround.

    ++

    Cygnus "egcs": + Based on gcc-2.8 development tree, it provides better template + support than in FSF gcc-2.8.1, and many modern commercial compilers. It + features full-blown default template parameters, namespaces, partial +@@ -116,7 +16,7 @@ + you may still want to use STLport because of debug mode.

    +

    gcc-2.8.1: About the same as egcs.
    + ( Note : you may encounter problems compiling with 2.8.1 due to bugs +- in partial template specialization. Just #define __STL_PARTIAL_SPECIALIZATION_BUG ++ in partial template specialization. Just #define _STLP_PARTIAL_SPECIALIZATION_BUG + then ) .

    +

    If you use egcs or 2.8.1 or higher, you may stop reading here.

    +

     

    +@@ -143,7 +43,7 @@ +
    +

    Known problems

    +

    Compiling

    +- See Migration notes. ++ See Migration notes. +

    Linking

    + When using __attribute__((weak))__ , you may run into + linker errors like : 'multiple definition of `global constructors +@@ -153,11 +53,11 @@ + global.
    + The workaround is simple : just put some dummy global variable before + including STL headers. That worked for me.
    +- Another way is to #define __STL_WEAK_ATTRIBUTE 0 in stlconf.h ++ Another way is to #define _STLP_WEAK_ATTRIBUTE 0 in stlconf.h + and use __PUT_STATIC_DATA_MEMBERS_HERE scheme described above. +-

    On some non-ELF systems (SunOS 4.x) "configure" sets +- __STL_WEAK_ATTRIBUTE. Unfortunately, this won't work unless you +- are using GNU linker. To justify this, #define __STL_WEAK_ATTRIBUTE ++

    On some non-ELF systems (SunOS 4.x) "configure" sets ++ _STLP_WEAK_ATTRIBUTE. Unfortunately, this won't work unless you ++ are using GNU linker. To justify this, #define _STLP_WEAK_ATTRIBUTE + 0 in stlconf.h and use __PUT_STATIC_DATA_MEMBERS_HERE + scheme described above.

    +

    You may have troubles getting _linker_ errors compiling complex cases +@@ -166,7 +66,7 @@ + examples. Be sure to supply -frepo switch on the link stage, too.

    +

     

    +
    +-

    Migration notes

    ++

    Migration notes

    + You may have to define operators ==() and <() on all classes you are + using with most containers, even if they are not really used. That is + the gcc bug. Another bug is that gcc won't find this operators defined +@@ -175,8 +75,8 @@ + in resolution and report that as ambiguity with templates in function.h. +

    If you use <string> from libg++ the described + problem of the definition of !=, >, <= and >= +- occurs: something like: "ambiguous template instantiation in +- sinst.h" The concrete solution is to disable the definitions ++ occurs: something like: "ambiguous template instantiation in ++ sinst.h" The concrete solution is to disable the definitions + of those operators in g++-include/std/sinst.h (line 59):

    +

    __DOB (==)
    + //__DOB (!=)
    +@@ -186,39 +86,6 @@ + //__DOB (<=)
    + //__DOB (>=)

    +

    This would be a general fix due to gcc problems. The other possible +- solution is to #include <string> after STL headers. +- +- +- +- +-

    +-
    +-
    +- +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    +-
    +-
    Copyright © 1999,2000 by Boris Fomitchev.   +-  Last modified: July 14, 2000 +-
    +-
    +- +- +- +- ++ solution is to #include <string> after STL headers.

    + +- ++

    Table of Contents


    Copyright 2001 by STLport
    +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.os390.html tripwire-2.3.1-2/src/STLport-4.0/doc/README.os390.html +--- tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.os390.html Sat Feb 24 10:45:50 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/doc/README.os390.html Mon Mar 17 12:57:57 2003 +@@ -1,108 +1,6 @@ +- +- +- +-STLport - Note for IBM OS/390 C/C++ Users ++STLport: Note for IBM OS/390 C/C++ Users




    + +- +- +- +- +- +- +- +- +-
    +-
    +- +- +-
    +- +- +- +- +- +-
    +- STLport.org - "Templates that fit" +- +- +- +- +- +-
    +- +-
    +-
    +-
    +-
    +-
    +- +- +- +- +-
    +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    Contents
    +- Introduction
    +- +-   About STLport
    +-   SGI STL Base
    +-   STLport Story
    +- +- +-

    STLport Features
    +-   Portability
    +-   Debug Mode
    +-   Thread Safety
    +-   Exception Safety +-

    +- +-

    Getting Started
    +- +-   Download and Install
    +-   Select Streams Mode
    +-   Compiling with STLport +-

    +- +-

    White Papers
    +-   Release Notes
    +- +-   READMEs
    +-   Interface with std::
    +-   Wrappers
    +-   Config manual
    +-   Regression Test
    +-   Exception Test +-

    +- +-

    Feedback
    +-   Bug Reports
    +-   Forum
    +-

    +- +-

    Appendix
    +-   Acknowledgements
    +- +-   Your Free Licence

    +- +-
    +- +-
    +- +- +-

    Note for IBM OS/390 C/C++ Users

    ++ Note for IBM OS/390 C/C++ Users +

     

    +
    +
    +@@ -129,7 +27,7 @@ + This adaptation works around the above OS/390 C/C++ requirement, but + may cause compatibility problems when porting template code from other + platforms. +-
  • OS/390 C++, does not allow passing an extern "C" ++
  • OS/390 C++, does not allow passing an extern "C" + function pointer as an argument to a C++ function. For example:
  • +


    +
    +@@ -143,11 +41,11 @@ +   p = ptr_gen(rand);   // error for OS/390 C/C++

    + In the above template, ptr_gen takes a function pointer as its + argument and returns a function pointer adaptor (a type of function +- object), and rand is an extern "C" library pointer. ++ object), and rand is an extern "C" library pointer. + This is not allowed because C and C++ linkage is different on OS/390 + C/C++. +

    To work around this problem, provide a C++ wrapper around the +- extern "C" function and pass the C++ wrapper instead:

    ++ extern "C" function and pass the C++ wrapper instead:

    +


    +
    +   int cxxrand(void) { return rand();}
    +@@ -229,39 +127,6 @@ +   template class __default_alloc_template<0,0>;

    +

    Useful Links

    +

    Check out :

    +-

    http://www.software.ibm.com/ad/c390/cmvsstlp.htm +- +- +- +- +-

    +-
    +-
    +- +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    +-
    +-
    Copyright © 1999,2000 by Boris Fomitchev.   +-  Last modified: July 14, 2000 +-
    +-
    +- +- +- +- ++

    http://www.software.ibm.com/ad/c390/cmvsstlp.htm

    + +- ++

    Table of Contents


    Copyright 2001 by STLport
    +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.pow.html tripwire-2.3.1-2/src/STLport-4.0/doc/README.pow.html +--- tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.pow.html Sat Feb 24 10:45:51 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/doc/README.pow.html Mon Mar 17 12:57:57 2003 +@@ -1,108 +1,6 @@ +- +- +- +-STLport - Note for PowerSoft's Power++ Users ++STLport: Note for PowerSoft's Power++ Users




    + +- +- +- +- +- +- +- +- +-
    +-
    +- +- +-
    +- +- +- +- +- +-
    +- STLport.org - "Templates that fit" +- +- +- +- +- +-
    +- +-
    +-
    +-
    +-
    +-
    +- +- +- +- +-
    +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    Contents
    +- Introduction
    +- +-   About STLport
    +-   SGI STL Base
    +-   STLport Story
    +- +- +-

    STLport Features
    +-   Portability
    +-   Debug Mode
    +-   Thread Safety
    +-   Exception Safety +-

    +- +-

    Getting Started
    +- +-   Download and Install
    +-   Select Streams Mode
    +-   Compiling with STLport +-

    +- +-

    White Papers
    +-   Release Notes
    +- +-   READMEs
    +-   Interface with std::
    +-   Wrappers
    +-   Config manual
    +-   Regression Test
    +-   Exception Test +-

    +- +-

    Feedback
    +-   Bug Reports
    +-   Forum
    +-

    +- +-

    Appendix
    +-   Acknowledgements
    +- +-   Your Free Licence

    +- +-
    +- +-
    +- +- +-

    Note for PowerSoft's Power++ Users

    ++ Note for PowerSoft's Power++ Users + +
    +

    Known problems

    +@@ -134,7 +32,7 @@ + // 'sizeof' operand contains compiler generated information // This + warning remains disabled after loading this file.

    +

    #pragma warning 549 9;

    +-

    /* Redefine the C++ "new" and "delete" ++

    /* Redefine the C++ "new" and "delete" + operators to not go through the component library's memory checker. */
    + #if defined( _DEBUG ) && defined( new )
    + # undef new
    +@@ -143,69 +41,36 @@ + #endif

    +

    // If can get STL debug working, use the following
    + // #if defined( _DEBUG )
    +- // # define __STL_DEBUG 1 // #endif

    ++ // # define _STLP_DEBUG 1 // #endif

    +

    // Get rid of Watcom's min and max macros
    + #undef min
    + #undef max

    +-

    // Get configuration defines #include "stlcomp.h"

    +-

    #include "algo.h"
    +- #include "bvector.h"
    +- #include "deque.h"
    +- #include "heap.h"
    +- #include "list.h"
    +- #include "map.h"
    +- #include "multimap.h"
    +- #include "multiset.h"
    +- #include "pair.h"
    +- #include "set.h"
    +- #include "stack.h"
    +- #include "tempbuf.h"
    +- #include "vector.h"

    ++

    // Get configuration defines #include "stlcomp.h"

    ++

    #include "algo.h"
    ++ #include "bvector.h"
    ++ #include "deque.h"
    ++ #include "heap.h"
    ++ #include "list.h"
    ++ #include "map.h"
    ++ #include "multimap.h"
    ++ #include "multiset.h"
    ++ #include "pair.h"
    ++ #include "set.h"
    ++ #include "stack.h"
    ++ #include "tempbuf.h"
    ++ #include "vector.h"

    +

    // SGI-specific additions
    +- #include "rope.h"
    +- #include "slist.h"
    +- #include "function.h"
    +- #include "hash_map.h"
    +- #include "hash_set.h"

    ++ #include "rope.h"
    ++ #include "slist.h"
    ++ #include "function.h"
    ++ #include "hash_map.h"
    ++ #include "hash_set.h"

    +

    #ifdef _REDEFINE_WNEW
    +- # include "wnew.hpp"
    ++ # include "wnew.hpp"
    + # undef _REDEFINE_WNEW
    + #endif

    +

    #endif

    +

     

    +
    + +- +- +- +-
    +-
    +-
    +- +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    +-
    +-
    Copyright © 1999,2000 by Boris Fomitchev.   +-  Last modified: July 14, 2000 +-
    +-
    +- +- +- +- +- +- ++

    Table of Contents


    Copyright 2001 by STLport
    +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.sgi40.html tripwire-2.3.1-2/src/STLport-4.0/doc/README.sgi40.html +--- tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.sgi40.html Sat Feb 24 10:45:51 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/doc/README.sgi40.html Mon Mar 17 12:57:57 2003 +@@ -1,150 +1,15 @@ +- +- +- +-STLport - Note for SGI's CC v4 Compiler users ++STLport: Note for SGI's CC v4 Compiler users




    + +- +- +- +- +- +- +- +- +-
    +-
    +- +- +-
    +- +- +- +- +- +-
    +- STLport.org - "Templates that fit" +- +- +- +- +- +-
    +- +-
    +-
    +-
    +-
    +-
    +- +- +- +- +-
    +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    Contents
    +- Introduction
    +- +-   About STLport
    +-   SGI STL Base
    +-   STLport Story
    +- +- +-

    STLport Features
    +-   Portability
    +-   Debug Mode
    +-   Thread Safety
    +-   Exception Safety +-

    +- +-

    Getting Started
    +- +-   Download and Install
    +-   Select Streams Mode
    +-   Compiling with STLport +-

    +- +-

    White Papers
    +-   Release Notes
    +- +-   READMEs
    +-   Interface with std::
    +-   Wrappers
    +-   Config manual
    +-   Regression Test
    +-   Exception Test +-

    +- +-

    Feedback
    +-   Bug Reports
    +-   Forum
    +-

    +- +-

    Appendix
    +-   Acknowledgements
    +- +-   Your Free Licence

    +- +-
    +- +-
    +- +- +-

    Note for SGI's CC v4 Compiler users

    ++ Note for SGI's CC v4 Compiler users + +
    +

    Known problems

    +

    Patches required

    + - You have to make sure that you have installed the C++_non_shared_libs +- package (from the "C++ translator" CD). ++ package (from the "C++ translator" CD). +

    - You must then install CC patch 1599 (you may also installed patches + 1260,1600, and 1628 though they should not be necessary).

    +

     

    +
    + +- +- +- +-
    +-
    +-
    +- +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    +-
    +-
    Copyright © 1999,2000 by Boris Fomitchev.   +-  Last modified: July 14, 2000 +-
    +-
    +- +- +- +- +- +- ++

    Table of Contents


    Copyright 2001 by STLport
    +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.sunpro.html tripwire-2.3.1-2/src/STLport-4.0/doc/README.sunpro.html +--- tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.sunpro.html Sat Feb 24 10:45:51 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/doc/README.sunpro.html Mon Mar 17 12:57:57 2003 +@@ -1,133 +1,24 @@ +- +- +- +-STLport - Notes for SUNPro C++ Users ++STLport: Notes for SUNPro C++ Users




    + +- +- +- +- +- +- +- +- +-
    +-
    +- +- +-
    +- +- +- +- +- +-
    +- STLport.org - "Templates that fit" +- +- +- +- +- +-
    +- +-
    +-
    +-
    +-
    +-
    +- +- +- +- +-
    +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    Contents
    +- Introduction
    +- +-   About STLport
    +-   SGI STL Base
    +-   STLport Story
    +- +- +-

    STLport Features
    +-   Portability
    +-   Debug Mode
    +-   Thread Safety
    +-   Exception Safety +-

    +- +-

    Getting Started
    +- +-   Download and Install
    +-   Select Streams Mode
    +-   Compiling with STLport +-

    +- +-

    White Papers
    +-   Release Notes
    +- +-   READMEs
    +-   Interface with std::
    +-   Wrappers
    +-   Config manual
    +-   Regression Test
    +-   Exception Test +-

    +- +-

    Feedback
    +-   Bug Reports
    +-   Forum
    +-

    +- +-

    Appendix
    +-   Acknowledgements
    +- +-   Your Free Licence

    +- +-
    +- +-
    +- +- +-

    Notes for SUNPro C++ Users

    ++ Notes for SUNPro C++ Users +

     

    +

    Common Notes

    +- For all SUN compilers, STLport 3.2 enables separate compilation with ++ For all SUN compilers, STLport nables separate compilation with + non-inline template members defined in .c file. That is supposed to + help with code bloat, but does not make a big difference for SUN compilers. +- So, if having any problems with this mode, just turn off __STL_LINK_TIME_INSTANTIATION switch. +-

    Notes for SUNPro C++ 5.0 users

    ++ So, if having any problems with this mode, just turn off _STLP_LINK_TIME_INSTANTIATION switch. ++ Installation: please note that even if you do not use STLport iostreams, you still have to go to "src" subdirectory and do "make" or at least "make prepare" to produce additional .SUNWCCh files necessary for compilation) ++ ++

    Notes for SUNPro C++ users

    +

    Known problems

    +

    Compiling

    +-
      +-
    • Directory STLport/SC5/ contains some extra files SunPro C++ +- expects to see on the path. Make sure you put STLport/SC5 in
      +- your search path along with STLport main directory.
    • +-
    • You may encounter problems using  <iostream> in +- mix with STLport <string>, <stdexcept> without +- defining __STL_USE_OWN_NAMESPACE.
    • +-
    +-
    +

    Known problems

    +

    Bugs (Note for SUNPro C++ 4.2 or before)

    +-

    Note : in 3.2, proposed workaround is implemented for this bug for all relevant STLport code. ++
    Note: proposed workaround is implemented for this bug for all relevant STLport code. + However, please be aware of this bug because it might affect your own code. +-

    Perry R. Ross 3/12/99
    ++
    Perry R. Ross 3/12/99
    + pross@platinum.com
    +-
    ++

    + The SunPro 4.2 compiler has a serious problem handling string literals
    + passed as arguments to inline functions. Each time the dummy argument + representing the string literal appears in the function, it receives a +@@ -141,21 +32,21 @@ + inline void func(char *s) {
    + // Each of these will print a different address for s
    + // if the arg was a string literal.
    +- cout << "address of " << s << " is +- " << (int) s << endl;
    +- cout << "address of " << s << " is +- " << (int) s << endl;
    +- cout << "address of " << s << " is +- " << (int) s << endl;
    ++ cout << "address of " << s << " is ++ " << (int) s << endl;
    ++ cout << "address of " << s << " is ++ " << (int) s << endl;
    ++ cout << "address of " << s << " is ++ " << (int) s << endl;
    +
    + // This will print a negative number if the arg is a literal.
    +- cout << "the difference between (s+1) and s is " ++ cout << "the difference between (s+1) and s is " + << ( (s+1) - s) << endl;
    + }

    +

    int
    + main(int argc, char *argv[]) {
    +- func("hello");
    +- char *bye = "goodbye";
    ++ func("hello");
    ++ char *bye = "goodbye";
    + func(bye);
    + return 0;
    + }
    +@@ -165,14 +56,14 @@ + #include <iostream.h>
    + #include <string>
    +
    +- string str("hello");
    ++ string str("hello");
    +
    + int main(int argc, char *argv[]) {
    + cout << str << endl;
    + return 0;
    + }
    +
    +- This will print "hellohello" on a broken compiler version.
    ++ This will print "hellohello" on a broken compiler version.
    +
    + The fix for this is to add this line to the beginning of func():
    +
    +@@ -226,7 +117,7 @@ +

    STL code itself is now free of this problem.

    +

    C++ 4.1 may also suffer from optimization bugs when using exception + handling. If your application doesn't use exceptions, you'd better use -noex +- option along with __STL_NO_EXCEPTIONS flag.

    ++ option along with _STLP_NO_EXCEPTIONS flag.

    +

    Linking

    + You may have troubles getting linker errors compiling multiple targets + in one directory ( for example, running cygnus testsuite). That is a bug +@@ -269,15 +160,15 @@ +

    More severe problems arise when given template argument's typedefs + are used as template arguments for base class. The example is function + adaptors from function.h . Refer to workarounds for binders & +- composers to see how it can be hanled ( proposed by "Martin +- Abernethy" <gma@paston.co.uk> ).

    ++ composers to see how it can be hanled ( proposed by "Martin ++ Abernethy" <gma@paston.co.uk> ).

    +

    C++ 4.01 may also suffer from optimization bugs when using exception + handling. If your application doesn't use exceptions, you'd better use -noex +- option along with __STL_NO_EXCEPTIONS flag.

    ++ option along with _STLP_NO_EXCEPTIONS flag.

    +

    Linking

    + You may still have to use explicit instantiations and/or specific +- template database controls for complex cases to avoid "unresolved +- symbol" linker errors. ++ template database controls for complex cases to avoid "unresolved ++ symbol" linker errors. +

    You may have troubles getting linker errors compiling multiple + targets in one directory ( for example, running cygnus testsuite). That + is a bug in handling Templates.DB dependencies. Known solutions are :

    +@@ -297,35 +188,4 @@ + For info on SUNPro C++ 4.0.1, see README.sunpro401. SUNPro C++ older + than 4.0.1 won't compile STL. You have to upgrade. + +- +- +- +-
    +-
    +-
    +- +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    +-
    +-
    Copyright © 1999,2000 by Boris Fomitchev.   +-  Last modified: July 14, 2000 +-
    +-
    +- +- +- +- ++

    Table of Contents


    Copyright 2001 by STLport
    +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.xlC.html tripwire-2.3.1-2/src/STLport-4.0/doc/README.xlC.html +--- tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.xlC.html Sat Feb 24 10:45:51 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/doc/README.xlC.html Mon Mar 17 12:57:57 2003 +@@ -1,108 +1,6 @@ +- +- +- +-STLport - Note for xlC & Visual Age C++ users ++STLport: Note for xlC & Visual Age C++ users




    + +- +- +- +- +- +- +- +- +-
    +-
    +- +- +-
    +- +- +- +- +- +-
    +- STLport.org - "Templates that fit" +- +- +- +- +- +-
    +- +-
    +-
    +-
    +-
    +-
    +- +- +- +- +-
    +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    Contents
    +- Introduction
    +- +-   About STLport
    +-   SGI STL Base
    +-   STLport Story
    +- +- +-

    STLport Features
    +-   Portability
    +-   Debug Mode
    +-   Thread Safety
    +-   Exception Safety +-

    +- +-

    Getting Started
    +- +-   Download and Install
    +-   Select Streams Mode
    +-   Compiling with STLport +-

    +- +-

    White Papers
    +-   Release Notes
    +- +-   READMEs
    +-   Interface with std::
    +-   Wrappers
    +-   Config manual
    +-   Regression Test
    +-   Exception Test +-

    +- +-

    Feedback
    +-   Bug Reports
    +-   Forum
    +-

    +- +-

    Appendix
    +-   Acknowledgements
    +- +-   Your Free Licence

    +- +-
    +- +-
    +- +- +-

    Note for xlC & Visual Age C++ users

    ++ Note for xlC & Visual Age C++ users +
    +

    Known problems

    +

    Compiling

    +@@ -129,7 +27,7 @@ + scheme, these compilers produce better results (around 50% code size reduction, less duplicate symbols). + The problem with undefined symbols is also caused by imperfect + repository handling, but it may require manual intervention. General +- rule is : if you get "unresolved symbol" errors, explicit ++ rule is : if you get "unresolved symbol" errors, explicit + instantiation will most likely help, for example: +

    Unresolved:
    + __default_alloc_template<0, 0>::allocate(unsigned long)
    +@@ -138,38 +36,6 @@ +

    To work around this problem, just instantiate __default_alloc_template<0,0> + explicitly in some module:

    +

    template class __default_alloc_template<0,0>;

    +-

      +- +- +- +- +-

    +-
    +-
    +- +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    +-
    +-
    Copyright © 1999,2000 by Boris Fomitchev.   +-  Last modified: July 14, 2000 +-
    +-
    +- +- ++

     

    + +- +- ++

    Table of Contents


    Copyright 2001 by STLport
    +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/auto_configure.html tripwire-2.3.1-2/src/STLport-4.0/doc/auto_configure.html +--- tripwire-2.3.1-2.old/src/STLport-4.0/doc/auto_configure.html Sat Feb 24 10:45:52 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/doc/auto_configure.html Mon Mar 17 12:57:57 2003 +@@ -1,108 +1,6 @@ +- +- +- +-STLport - Running "configure" +- +- +- +- +- +- +- +- +- +-
    +-
    +- +- +-
    +- +- +- +- +- +-
    +- STLport.org - "Templates that fit" +- +- +- +- +- +-
    +- +-
    +-
    +-
    +-
    +-
    +- +- +- +- +-
    +-
    +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    Contents
    +- Introduction
    +- +-   About STLport
    +-   SGI STL Base
    +-   STLport Story
    +- +- +-

    STLport Features
    +-   Portability
    +-   Debug Mode
    +-   Thread Safety
    +-   Exception Safety +-

    +- +-

    Getting Started
    +- +-   Download and Install
    +-   Select Streams Mode
    +-   Compiling with STLport +-

    +- +-

    White Papers
    +-   Release Notes
    +- +-   READMEs
    +-   Interface with std::
    +-   Wrappers
    +-   Config manual
    +-   Regression Test
    +-   Exception Test +-

    +- +-

    Feedback
    +-   Bug Reports
    +-   Forum
    +-

    +- +-

    Appendix
    +-   Acknowledgements
    +- +-   Your Free Licence

    +- +-
    +- +-
    ++STLport: Running configure +-




    + +- +-

    Running "configure"

    ++ Running "configure" + + by Boris Fomitchev + +@@ -110,9 +8,9 @@ + +

    Note: this document describes the procedure ot tuning STLport for + new compiler, not the one that is already supported. If your compiler is listed +- as supported, this is absolutely unnecessary. ++ as supported, this is absolutely unnecessary.

    + +-

    STLport comes with "configure" shell script to help in the ++

    STLport comes with "configure" shell script to help in the + initial step to tune the library for a new compiler. + It sets up stlconf.h configuration header + with proper flags depending on features of the compiler and user-defined +@@ -121,20 +19,22 @@ + in "config/new_compiler" directory and create stl_yourcompiler.h in "config" + directory based on switches defined by "configure" in stlconf.h. + Do not expect STLport to be configured just by running "configure". ++

    + +

    Here is an example how to specify the parameters to "configure" (for Bourne-like + shells):
    + host> cd STLport/config
    +- host> CXX=CC CXXFLAGS="-xwe -noex" ./configure --enable-malloc

    +-

    This will set up workarounds necessary for "CC" ++ host> CXX=CC CXXFLAGS="-xwe -noex" ./configure --enable-malloc

    ++

    This will set up workarounds necessary for "CC" + compiler as well as specify malloc-based allocator as the default one.
    ++ + +- Run "configure --help" to see list of options ++ Run "configure --help" to see list of options + available. For most reliable results, you should specify CXXFLAGS + to contain the option turning warnings into errors. +- "configure" tries to scan warnings, but that not always works. ++ "configure" tries to scan warnings, but that not always works. + After testing your compiler features and setting options specified, +- "configure" creates stlconf.h file using config/stlconf.h ++ "configure" creates stlconf.h file using config/stlconf.h + as input. Macro __AUTO_CONFIGURED indicates that the package has + been configured. If it is not set (before you run configure), stlconf.h + includes stlcomp.h header to set up conservative configuration +@@ -147,22 +47,22 @@ + them. 
    + + For example, the cygwin32  +- suite for Windows 95/NT runs "configure" just fine.    ++ suite for Windows 95/NT runs "configure" just fine.    +
    + + You can also change <stlcomp.h> for your system manually.
    + Please consider contributing your changes back to the  STLport + project! + +-

    "configure" synopsys (Bourne shells):

    ++

    "configure" synopsys (Bourne shells):

    + +

    > [environment] ./configure [user-defined options]

    + +-

    "configure" synopsys (C-shells):

    ++

    "configure" synopsys (C-shells):

    +

    > env [environment] ./configure [user-defined + options]

    + +-

    "configure" script runs series of tests to determine ++

    "configure" script runs series of tests to determine + detailed characteristics of your compiler.

    +

    In [environment] , you may specify the following parameters

    +

    CXX=<compiler_name>, default is c++

    +@@ -173,48 +73,16 @@ + them by default, specify the option enabling EH there.
    + It is also helpful to specify an option turning warnings into errors + here to get most reliable configuration ( For example, warnings could be +- like that : "Warning: namespaces are mostly broken in this +- release", and they're indeed broken. ).

    ++ like that : "Warning: namespaces are mostly broken in this ++ release", and they're indeed broken. ).

    + +

    In case you are not able to run configure, you might have to know + internal STLport macros describing compiler features/bugs +- Please refer to the Configuration Manual for the values. ++ Please refer to the Configuration Manual for the values. ++

    + +

    Modifying the configuration engine

    +-

    Don't edit the "configure" script directly, use config/configure.in +- source + GNU autoconf instead. +- +- +- +- +-

    +- +- +- +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    +-
    +-
    Copyright © 1999,2000 by Boris Fomitchev.   +-  Last modified: July 14, 2000 +-
    +-
    +- +- +- +- ++

    Don't edit the "configure" script directly, use config/configure.in ++ source + GNU autoconf instead.

    + +- ++

    Table of Contents


    Copyright 2001 by STLport
    +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/bug_report.html tripwire-2.3.1-2/src/STLport-4.0/doc/bug_report.html +--- tripwire-2.3.1-2.old/src/STLport-4.0/doc/bug_report.html Sat Feb 24 10:45:52 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/doc/bug_report.html Mon Mar 17 12:57:57 2003 +@@ -1,108 +1,6 @@ +- +- +- +-STLport - Bug Reports ++STLport: Bug Reports




    + +- +- +- +- +- +- +- +- +-
    +-
    +- +- +-
    +- +- +- +- +- +-
    +- STLport.org - "Templates that fit" +- +- +- +- +- +-
    +- +-
    +-
    +-
    +-
    +-
    +- +- +- +- +-
    +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    Contents
    +- Introduction
    +- +-   About STLport
    +-   SGI STL Base
    +-   STLport Story
    +- +- +-

    STLport Features
    +-   Portability
    +-   Debug Mode
    +-   Thread Safety
    +-   Exception Safety +-

    +- +-

    Getting Started
    +- +-   Download and Install
    +-   Select Streams Mode
    +-   Compiling with STLport +-

    +- +-

    White Papers
    +-   Release Notes
    +- +-   READMEs
    +-   Interface with std::
    +-   Wrappers
    +-   Config manual
    +-   Regression Test
    +-   Exception Test +-

    +- +-

    Feedback
    +-   Bug Reports
    +-   Forum
    +-

    +- +-

    Appendix
    +-   Acknowledgements
    +- +-   Your Free Licence

    +- +-
    +- +-
    +- +- +-

    Bug Reports and Questions

    ++ Bug Reports and Questions +


    +
    Bug reports and questions are welcome. Please supply a source + code fragment and compiler/OS information along with bug reports.

    +@@ -110,54 +8,18 @@ + and Known Bugs to see if your bug has been + reported already. Refer also to READMEs + to see if it's common problem with your compiler.

    +-

    Please direct your bug reports and questions to STLport +- forum to get better feedback. Answers are being normally posted ++

    Please direct your bug reports and questions to STLport ++ Forum to get better feedback. Answers are being normally posted + there, too. Please keep in mind the support is done on a pure volunteer + basis.

    +

    If you make a port for your compiler and would like to make it +- available to the public, contact me +- and I'll be happy to include it with this package, provided that your ++ available to the public, contact us ++ and we'll be happy to include it with this package, provided that your + modifications are freely distributable.

    +-

    STLport is  committed to correspond to  SGI STL code base.
    +- Last SGI STL version processed: 3.3 (stdlib snapshot 08/08/2000).

    +

    If you wish to be notified about STLport updates automatically : please + indicate it in download form. You may alter your mail list option + anytime via the same form.

    +-

    Report your +- bug +- +- +- +-

    +-
    +-
    +- +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    +-
    +-
    Copyright © 1999,2000 by Boris Fomitchev.   +-  Last modified: July 14, 2000 +-
    +-
    +- +- +- +- +- +- +- ++

    Report your ++ bug

    + ++

    Table of Contents


    Copyright 2001 by STLport
    +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/buglist.html tripwire-2.3.1-2/src/STLport-4.0/doc/buglist.html +--- tripwire-2.3.1-2.old/src/STLport-4.0/doc/buglist.html Sat Feb 24 10:45:52 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/doc/buglist.html Mon Mar 17 12:57:57 2003 +@@ -1,165 +1,18 @@ +- +- +- +-STLport - Current buglist ++STLport: Current buglist




    + +- +- +- +- +- +- +- +- +-
    +-
    +- +- +-
    +- +- +- +- +- +-
    +- STLport.org - "Templates that fit" +- +- +- +- +- +-
    +- +-
    +-
    +-
    +-
    +-
    +- +- +- +- +-
    +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    Contents
    +- Introduction
    +- +-   About STLport
    +-   SGI STL Base
    +-   STLport Story
    +- +- +-

    STLport Features
    +-   Portability
    +-   Debug Mode
    +-   Thread Safety
    +-   Exception Safety +-

    +- +-

    Getting Started
    +- +-   Download and Install
    +-   Select Streams Mode
    +-   Compiling with STLport +-

    +- +-

    White Papers
    +-   Release Notes
    +- +-   READMEs
    +-   Interface with std::
    +-   Wrappers
    +-   Config manual
    +-   Regression Test
    +-   Exception Test +-

    +- +-

    Feedback
    +-   Bug Reports
    +-   Forum
    +-

    +- +-

    Appendix
    +-   Acknowledgements
    +- +-   Your Free Licence

    +- +-
    +- +-
    +- +- +-

    Known bugs

    +-
    ++ Known bugs ++
    +

    Borland C++ 5.0
    + This release is known to still have problems with BC 5.0x. + Directory STLport/BC50/ contains some extra files Borland C++ 5.x + expects to see on the path. Make sure you put STLport/BC50 in
    + your search path before STLport main directory. The problems still persist + with <string>, so BC50 is configured to use native one. You may face other problems with +- 5.0. Please direct your bug reports and workarounds to the Forum. ++ 5.0. Please direct your bug reports and workarounds to the Forum.

    ++ +

    Visual C++ 6.0 :
    +
    To fix internal compiler errors on large compilations, please refer to VC knowledge base to see what extra options may be supplied.

    +-
    +-

    Sunpro CC 4.2 and before :
    +- There is a serious bug in the SUNpro 4.2 (and earlier?) compiler with +- inline functions being passed string literals. Each time the dummy +- argument that represents the string literal appears in the inline +- function, a new copy of the string literal is created. If the function +- does any pointer arithmetic on the string, the answer is horribly wrong.
    +-
    +- Refer to SunPro CC Readme file for +- details. In 3.2, the workaround is provide for all relevant STLport code. +- However, please be aware of this bug because it might affect your own code. +- In general, with CC 4.2, NEVER pass string literals as arguments to functions that +- could be inlined.

    +-
    +-

    Report a bug +- +- +- +- +-

    +-
    +-
    +- +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    +-
    +-
    Copyright © 1999,2000 by Boris Fomitchev.   +-  Last modified: July 14, 2000 +-
    +-
    +- +- +- +- ++
    ++

    Report a bug

    + +- ++

    Table of Contents


    Copyright 2001 by STLport
    +Only in tripwire-2.3.1-2.old/src/STLport-4.0/doc: build.html +Only in tripwire-2.3.1-2.old/src/STLport-4.0/doc: build_nosgi.html +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/compiler_readmes.html tripwire-2.3.1-2/src/STLport-4.0/doc/compiler_readmes.html +--- tripwire-2.3.1-2.old/src/STLport-4.0/doc/compiler_readmes.html Sat Feb 24 10:45:52 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/doc/compiler_readmes.html Mon Mar 17 12:57:57 2003 +@@ -1,108 +1,7 @@ +- +- +- +-STLport - README Files for Particular Compilers ++STLport: README Files for Particular Compilers




    + +- +- +- +- +- + +- +- +-
    +-
    +- +- +-
    +- +- +- +- +- +-
    +- STLport.org - "Templates that fit" +- +- +- +- +- +-
    +- +-
    +-
    +-
    +-
    +-
    +- +- +- +- +-
    +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    Contents
    +- Introduction
    +- +-   About STLport
    +-   SGI STL Base
    +-   STLport Story
    +- +- +-

    STLport Features
    +-   Portability
    +-   Debug Mode
    +-   Thread Safety
    +-   Exception Safety +-

    +- +-

    Getting Started
    +- +-   Download and Install
    +-   Select Streams Mode
    +-   Compiling with STLport +-

    +- +-

    White Papers
    +-   Release Notes
    +- +-   READMEs
    +-   Interface with std::
    +-   Wrappers
    +-   Config manual
    +-   Regression Test
    +-   Exception Test +-

    +- +-

    Feedback
    +-   Bug Reports
    +-   Forum
    +-

    +- +-

    Appendix
    +-   Acknowledgements
    +- +-   Your Free Licence

    +- +-
    +- +-
    +- +- +-

    README Files for Particular Compilers

    ++ README Files for Particular Compilers +

     

    +

    Some compilers have bugs that require specific workarounds in your + source code. They compile STLport headers OK but crash on using certain +@@ -111,7 +10,7 @@ +

    +
  • GCC README 
  • +
  • SunPro C++  README
  • +-
  • Visual C++ 4.x/5.0 README
  • ++
  • Visual C++ README
  • +
  • Borland C++ 5.x README
  • +
  • AIX xlC README
  • +
  • IBM Visual Age C++ README
  • +@@ -122,39 +21,7 @@ +
  • IBM OS/390 C/C++ 1.x - 2.x  + README 
  • +
  • SGI MIPSpro C++ 4.0 README
  • ++
  • Apple MPW MrCpp and SCpp README
  • +
    + +- +- +- +-
    +-
    +-
    +- +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    +-
    +-
    Copyright © 1999,2000 by Boris Fomitchev.   +-  Last modified: July 14, 2000 +-
    +-
    +- +- +- +- +- +- ++

    Table of Contents


    Copyright 2001 by STLport
    +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/configure.html tripwire-2.3.1-2/src/STLport-4.0/doc/configure.html +--- tripwire-2.3.1-2.old/src/STLport-4.0/doc/configure.html Sat Feb 24 10:45:54 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/doc/configure.html Mon Mar 17 12:57:57 2003 +@@ -1,109 +1,9 @@ +- +- +- +-STLport - Configuration Manual +- +- +- +- +- +- +- +- +- +-
    +-
    +- +- +-
    +- +- +- +- +- +-
    +- STLport.org - "Templates that fit" +- +- +- +- +- +-
    +- +-
    +-
    +-
    +-
    +-
    +- +- +- +- +-
    +-
    +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    Contents
    +- Introduction
    +- +-   About STLport
    +-   SGI STL Base
    +-   STLport Story
    +- +- +-

    STLport Features
    +-   Portability
    +-   Debug Mode
    +-   Thread Safety
    +-   Exception Safety +-

    +- +-

    Getting Started
    +- +-   Download and Install
    +-   Select Streams Mode
    +-   Compiling with STLport +-

    +- +-

    White Papers
    +-   Release Notes
    +- +-   READMEs
    +-   Interface with std::
    +-   Wrappers
    +-   Config manual
    +-   Regression Test
    +-   Exception Test +-

    +- +-

    Feedback
    +-   Bug Reports
    +-   Forum
    +-

    +- +-

    Appendix
    +-   Acknowledgements
    +- +-   Your Free Licence

    +- +-
    +- +-
    ++STLport: Configuration Manual +-




    + +- +-

    STLport Configuration Manual

    ++ STLport Configuration Manual ++

    + by Boris Fomitchev ++

    +

    Parameters

    +

    There are two major categories of STLport configuration parameters:

    +
      +@@ -130,15 +30,15 @@ + headers for different projects. +
    • Specifying corresponding flag on compiler command-line. Some + options also may be suppressed. For example, you may configure the +- distribution to exploit exception handling with setting __STL_USE_EXCEPTIONS +- macro to 1, then turning exception handling off with -D__STL_NO_EXCEPTIONS ++ distribution to exploit exception handling with setting _STLP_USE_EXCEPTIONS ++ macro to 1, then turning exception handling off with -D_STLP_NO_EXCEPTIONS + command-line option for particular project
    • + +

      Below is a stable set of of user-defined options with description. If + not indicated otherwise, default for these options is that they are + undefined.
      +

      +- ++
      + +@@ -147,88 +47,84 @@ + + + +- + + + +- + + + +- + + ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ + +- + + + +- + ++ automatically if _STLP_USE_NAMESPACES is set. + + +- + + + +- +- +- +- +- +- +- +- +- +- +- +- +- ++ + + + +- + + + +- ++ + + + +- ++ + + + +- ++ + + + + +- ++ + + + +- ++ + + + +- + +@@ -274,54 +170,54 @@ + use any multithreading support. + + +- ++ + + + +- + + + +- ++ + + + +- ++ + + + +- ++ + + + +- ++ + + + +- ++ + + + +- ++ + + + +- + + + +- ++ + + + +- ++ + + + +- ++ + + + +- ++ + + + +- + + + + +- + + + +@@ -397,7 +294,7 @@ +

      Notes:

      +
        +
      • When using tools like Purify (c), Codeguard (c) or BoundsChecker +- (c), it is advised to #define __STL_USE_MALLOC or __STL_USE_NEWALLOC, ++ (c), it is advised to #define _STLP_USE_MALLOC or _STLP_USE_NEWALLOC, + otherwise pointer checking will generally not be available on most + STL internal structures, thus defeating the purpose of those tools.
      • +
      +@@ -426,195 +323,204 @@ + + + +- ++ ++ ++ ++ ++ + + + + +- ++ + + + + + +- ++ + + + + +- + + + + +- ++ + + + + +- ++ + + + + +- ++ + + + + +- ++ + + + + +- ++ + + + + +- ++ + + + + +- ++ + + + + +- ++ + + + + +- ++ + + + + +- ++ + + + + +- ++ + + + + +- ++ + + + + +- ++ + + + + +- ++ + + + + +- ++ + + + + +- ++ + + + + +- +- + + + +- ++ + + + + +- ++ + + + + +- + + + + +- ++ + + + + +- ++ + + + + +- ++ + + + + +- ++ + + + + +- + + + + +- ++ + + + + +- + + + +- + + + +- + + + + +- ++ + + + + +- ++ + + + + +- ++ + + + + +- + + + + +- ++ + + + + +- ++ + + + + +- ++ + + + + +- ++ + + + + +- ++ + + + + +- + + + +- ++ + + + + +- ++ + + + + +- ++ + + + + +- ++ + + + + +- ++ + + + + +- ++ + + + + +- ++ + + + + +- ++ + + + + +- ++ + + + + +- + +@@ -772,88 +678,88 @@ + + + +- + + + + +- + + + + +- + + + + +- + + + + +- + + + + +- ++ + + + + +- ++ + + + + +- ++ + + + + +- + + + + +- + + + + +- + + + + +- ++ + ++ compiler does not understand "/". + + + +- + + + +- + + + + +- + + + + +- + +- ++ + + +
      +

      User-defined options for STLport

      +
      Description
      __SGI_STL_OWN_IOSTREAMS ++ _STLP_NO_OWN_IOSTREAMS + This switch is used to select + one from two major STLport iostream modes. Please visit "Getting Started" section for details. +
      __STL_NO_NEW_IOSTREAMS ++ _STLP_NO_NEW_IOSTREAMS + Suppress using new-style + iostreams even if they are available.
      __STL_NO_IOSTREAMS ++ _STLP_NO_IOSTREAMS + This switch is experimental and + is intended to be used in embedded environments. It makes STLport assume that + no iostreams are available at all.
      _STLP_NO_CUSTOM_IO ++ This switch is experimental. Define this if you do not instantiate basic_xxx iostream classes with custom types (which is most likely the case). "Custom" means types other than char, wchar and char_traits<>, like basic_ostream<my_char_type, my_traits<my_char_type> >. When this option is on, most non-inline template functions definitions for iostreams are not seen by the client. Default is off, just not to break compilation for those who do use those types. When on, it saves a lot of compile time for most compilers, also object and executable size for some. That also guarantees that you still use optimized standard i/o when you compile your program without optimization and link with optimized library. Option does not affect STLport library build; you may use the same binary library with and without this option, on per-project basis.
      _STLP_USE_DEBUG_LIB (Windows compilers only) ++ Normally, optimized STLport library is being automatically linked in even when you compile your project with _DEBUG set (Debug build). If you wish to use debug build of STLport library for your debug builds, define this option (you will also have to build STLport library with debug flags, via additional "make debug_static debug_dynamic" command, as "make all" only builds "release" and "stldebug" versions of the libraries). ++
      _STLP_USE_STATIC_LIB, _STLP_USE_STATICX_LIB, _STLP_USE_DYNAMIC_LIB (Windows compilers only) ++ Normally, a version of STLport library iwhich corresponds to your RTL library setting is being automatically linked in (if you use dynamic RTL DLL, dynamic STLport DLL is being used, and vice versa). ++ If you wish to force use of particular (static, dynamic, or "staticx" which is static STLport lib built with dynamic RTL) STLport lib, please make use one of those options. ++
      __STL_NO_OWN_NAMESPACE ++ _STLP_NO_OWN_NAMESPACE + Suppresses STLport use of +- namespace stlport:: even if it is recommended, forces ++ namespace _STL:: even if it is recommended, forces + STLport to use std::. Normally, STLport uses _STL:: + namespace instead of std::, to prevent clashes with iostreams/string stuff that comes + with the compiler.
      __STL_USE_OWN_NAMESPACE ++ _STLP_USE_OWN_NAMESPACE + Forces STLport to use _STL:: + namespace instead of std:: STLport sets this flag +- automatically if __STL_USE_NAMESPACES is set.
      __STL_DONT_RENAME_STD ++ _STLP_DONT_RENAME_STD + Precludes STLport from redefining std:: + to _STL::. Define it only if renaming scheme does not work for you for some reason. +
      __STLPORT_NAMESPACE This is the namespace +- STLport uses in the above case. Default is _STL. Do NOT try to +- change it to std.
      __STL_USE_SGI_STRING Forces use of SGI string +- even if you share namespace std:: with native C++ library +- and use new <iostream>. IMPORTANT: DO NOT use SGI +- <string> with native <iostream> unless +- you recompile +- standard C++ runtime library with STLport installed, or (better) +- define __STL_USE_OWN_NAMESPACE +-
      __STL_NATIVE_INCLUDE_PATH +- The path where native +- compiler headers are located. STLport uses this information to +- import std:: names into _STL:: namespace. Default +- is ../include. Hint : never install STLport headers in the +- directory that ends with include.
      __STL_DEBUG _STLP_DEBUG Turns the Debug + Mode on. That gets you checked iterators and ranges. + Thread-safe.
      __STL_USE_SYSTEM_ASSERT ++ _STLP_USE_SYSTEM_ASSERT + use the system-defined + assert instead of fprintf to stderr
      __STL_DEBUG_MESSAGE _STLP_DEBUG_MESSAGE Uncomment this to force + all failed assertions to be directed through a user-defined global + function: void __stl_debug_message(const char * format_str, ...). +@@ -236,28 +132,28 @@ + purposes. Note : If you set this macro, you must supply __stl_debug_message function definition somewhere.
      __STL_DEBUG_TERMINATE _STLP_DEBUG_TERMINATE Uncomment this to force +- all failed assertions to be executed through user-defined global function: void __stl_debug_terminate(void). This allows you to take control of assertion behaviour for debugging purposes. Default routine throws unique exception if __STL_NO_DEBUG_EXCEPTIONS is not set, calls abort() otherwise.
      Note : If you set this macro, you must supply __stl_debug_terminate function definition somewhere. ++ all failed assertions to be executed through user-defined global function: void __stl_debug_terminate(void). This allows you to take control of assertion behaviour for debugging purposes. Default routine throws unique exception if _STLP_NO_DEBUG_EXCEPTIONS is not set, calls abort() otherwise.
      Note : If you set this macro, you must supply __stl_debug_terminate function definition somewhere. +
      __STL_NO_DEBUG_EXCEPTIONS _STLP_NO_DEBUG_EXCEPTIONS Comment this out to enable throwing unique exceptions from default __stl_debug_terminate() instead of calling abort().
      __STL_NO_EXCEPTIONS _STLP_NO_EXCEPTIONS Disables exception + handling code.
      __STL_NO_NAMESPACES _STLP_NO_NAMESPACES Puts STLport into global + namespace, even if the compiler supports namespaces.
      __STL_NO_RELOPS_NAMESPACE ++ _STLP_NO_RELOPS_NAMESPACE + if defined, don't put the + relational operators in namespace std::rel_ops.
      __STL_NO_NEW_C_HEADERS_STLP_NO_NEW_C_HEADERSIf defined, STLport don't + use native new-style C headers even if they are available.
      __STL_USE_SGI_ALLOCATORS ++ _STLP_USE_RAW_SGI_ALLOCATORS + Force STLport to use + older SGI-style allocators as default ones for containers, instead + of standard-conforming allocator<>.
      __STL_USE_MALLOC _STLP_USE_MALLOC This makes allocator<> + to do plain malloc() calls instead of using SGI optimized + node allocator engine.
      __STL_USE_NEWALLOC _STLP_USE_NEWALLOC This makes allocator<> + to do plain new() calls instead of using SGI optimized node + allocator engine.
      __STL_DEBUG_ALLOC _STLP_DEBUG_ALLOC This makes allocator<> + to perform memory debugging, such as padding/checking for memory + consistency.
      __STL_DEBUG_UNINITIALIZED _STLP_DEBUG_UNINITIALIZED + Use this option to catch uninitialized members in your classes. + When it is set, construct() and destroy() fill the class storage +- with __STL_SHRED_BYTE (see below). +- Note : __STL_DEBUG and __STL_DEBUG_ALLOC don't set this option automatically ++ with _STLP_SHRED_BYTE (see below). ++ Note : _STLP_DEBUG and _STLP_DEBUG_ALLOC don't set this option automatically +
      __STL_SHRED_BYTE _STLP_SHRED_BYTE Provides a definition for +- the byte with which raw memory will be filled if __STL_DEBUG_ALLOC or __STL_DEBUG_UNINITIALIZED ++ the byte with which raw memory will be filled if _STLP_DEBUG_ALLOC or _STLP_DEBUG_UNINITIALIZED + is defined. Choose a value which is likely to cause a noticeable + problem if dereferenced or otherwise abused. A good value may + already be defined for your platform; see stldebug.h
      __STL_DONT_THROW_RANGE_ERRORS _STLP_DONT_THROW_RANGE_ERRORS + This macro prevents instantiation of at() member function + for containers (vector and deque). +@@ -330,7 +226,7 @@ +
      __STL_MSVC50_COMPATIBILITY ++ _STLP_MSVC50_COMPATIBILITY + This definition makes SGI + reverse_iterator to be compatible with other parts of MSVC +@@ -339,22 +235,22 @@ + being set automatically.
      __STL_USE_MFC _STLP_USE_MFC + You should define this macro if compiling with MFC - STLport <stl/_config.h> + then include <afx.h> instead of <windows.h> to get synchronisation primitives +
      __STL_MINIMUM_DEFAULT _TEMPLATE_PARAMS_STLP_MINIMUM_DEFAULT_TEMPLATE_PARAMS + Use minimum set of default arguments on template classes that have more + than one - for example map<>, set<>. +- This has effect only if __STL_LIMITED_DEFAULT_TEMPLATES is on. ++ This has effect only if _STLP_LIMITED_DEFAULT_TEMPLATES is on. +
      __STL_NO_PROXY_ARROW_OPERATOR_STLP_NO_PROXY_ARROW_OPERATOR + By default, STLport uses proxy technique to enable operator -> for + iterators even for those compilers that check the return type of +@@ -363,33 +259,34 @@ +
      __STL_USE_ABBREVS_STLP_USE_ABBREVSUse abbreviated class + names internally for linker benefit (don't affect interface). This + option is obsolete, but should work in this release.
      __STL_USE_DECLSPEC ++ _STLP_USE_DECLSPEC + +- (Windows only) This switch makes some STLport symbols exported from DLL. ++ (Obsolete, Windows only) This switch makes STLport symbols exported from DLL. + To use export feature, you should define this macro for all compilation units and +- also define __STL_DESIGNATED_DLL macro for one of your DLL's which is supposed to export ++ also define _STLP_DESIGNATED_DLL macro for one of your DLL's which is supposed to export + all STLport symbols. You must use this feature if you use default node allocator and pass +- objects across DLL boundaries. Defined automatically if you use STLport/SGI iostreams and +- compile with /MD flag. ++ objects across DLL boundaries, and do not use STLport iostreams. ++ Defined automatically if you use STLport iostreams and ++ compile with /MD flag. +
      __STL_DESIGNATED_DLL ++ _STLP_DESIGNATED_DLL + +- (Windows only) Designed to be used together with __STL_USE_DECLSPEC switch to ++ (Obsolete, Windows only) Designed to be used together with _STLP_USE_DECLSPEC switch to + make one of your DLL's to export STLport symbols for other modules. + The library which is designated to export DLL symbols, must have both of +- those switches defined for compilation and it should include at least <string> +- header from at least one source file. Used by STLport internally to build STLport DLL. ++ those switches defined for compilation and it should include at least <string> ++ header from at least one source file. Normally you should not be using this, it is used by STLport internally to build STLport DLL. +
      Default
      __STL_UINT32_T_STLP_NATIVE_INCLUDE_PATH ++ The path where native ++ compiler headers are located. STLport uses this information to ++ import std:: names into _STL:: namespace. Default ++ is ../include. Hint : never install STLport headers in the ++ directory that ends with include.
      _STLP_UINT32_TUnsigned 32-bit integral + typeunsigned long
      __STL_LONG_LONG_STLP_LONG_LONGDefined if compiler + supports non-standard long long typeOff
      __STL_NO_WCHAR_T_STLP_NO_WCHAR_TDefined if compiler + does not support wchar_t typeOff
      __STL_WCHAR_T_IS_USHORT ++ _STLP_WCHAR_T_IS_USHORT + wchar_t is not a unique + type, and is actually a typedef to unsigned short Off
      __STL_NO_LONG_DOUBLE_STLP_NO_LONG_DOUBLEDefined if compiler + does not support long double typeOff
      __STL_NO_TYPENAME_STLP_NO_TYPENAMEDefined if your compiler + does not support typename keywordOff
      __STL_NO_EXPLICIT_STLP_NO_EXPLICITDefined if your compiler + does not support explicit keywordOff
      __STL_NO_MUTABLE_STLP_NO_MUTABLEDefined if your compiler + does not support mutable keywordOff
      __STL_NO_NEW_STYLE_CASTS_STLP_NO_NEW_STYLE_CASTSDefined if compiler + does not support new-style const_cast<>Off
      __STL_NO_BOOL_STLP_NO_BOOLDefined if the compiler + does not support boolOff
      __STL_DONT_USE_BOOL_TYPEDEF_STLP_DONT_USE_BOOL_TYPEDEFBool not supported, but + keyword is reserved for future useOff
      __STL_YVALS_H_STLP_YVALS_Htrue/false defined + in <yvals.h> header ( Visual C++ 4.2)Off
      __STL_DEFAULT_TEMPLATE_PARAM_STLP_DEFAULT_TEMPLATE_PARAMDefined if compiler + does not support default template parametersOff
      __STL_DEFAULT_TYPE_PARAM_STLP_DEFAULT_TYPE_PARAMDefined if compiler + support only complete types as default parametersOff
      __STL_LIMITED_DEFAULT_TEMPLATES_STLP_LIMITED_DEFAULT_TEMPLATESDefined if the compiler + cannot handle default non-type template parametersOff
      __STL_NON_TYPE_TMPL_PARAM_BUG_STLP_NON_TYPE_TMPL_PARAM_BUGDefined if compiler has + trouble with functions getting non-type-parameterized classes as + parametersOff
      __STL_NO_STATIC_TEMPLATE_DATA_STLP_NO_STATIC_TEMPLATE_DATADefined if compiler does + not support static class data template definitionOff
      __STL_STATIC_CONST_INIT_BUG_STLP_STATIC_CONST_INIT_BUGDefined if compiler does + not support initialization of const static class data template members within class.Off
      __STL_WEAK_ATTRIBUTE_STLP_WEAK_ATTRIBUTEDefined if your compiler + provides __attribute((weak))__ construct as extension. Only needed if + the compiler can't handle static template data members (gcc 2.7.2)Off
      __STL_HAS_NO_NAMESPACES_STLP_HAS_NO_NAMESPACESDefined if your compiler + does not support namespacesOff
      __STL_BROKEN_USING_DIRECTIVE ++ _STLP_BROKEN_USING_DIRECTIVE + "using" ++ "using" + keyword does not work with template types Off
      __STL_HAS_NO_EXCEPTIONS_STLP_HAS_NO_EXCEPTIONSDefined if your compiler + does not support exception-handlingOff
      __STL_NO_EXCEPTION_SPEC_STLP_NO_EXCEPTION_SPECDefined if your compiler + does not support exception specificationsOff
      __STL_THROW_RETURN_BUG ++ _STLP_THROW_RETURN_BUG + Compiler requires return + statement after throw() Off
      __STL_NO_BAD_ALLOC _STLP_NO_BAD_ALLOC Header <new> + that comes with the compiler does not define bad_alloc + exception Off
      __STL_NO_MEMBER_TEMPLATES_STLP_NO_MEMBER_TEMPLATESDefined if compiler + does not support member templatesOff
      __STL_NO_MEMBER_TEMPLATE_CLASSES_STLP_NO_MEMBER_TEMPLATE_CLASSESDefined if compiler + does not support member template classesOff
      __STL_NO_FRIEND_TEMPLATES_STLP_NO_FRIEND_TEMPLATESDefined if compiler + does not support friend templatesOff
      __STL_NO_QUALIFIED_FRIENDS ++ _STLP_NO_QUALIFIED_FRIENDS + Compiler does not accept + friend declaration qualified with namespace name. Off
      __STL_NO_CLASS_PARTIAL_SPECIALIZATION_STLP_NO_CLASS_PARTIAL_SPECIALIZATIONDefined if compiler + does not support partial template class specializationOff
      __STL_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS ++ _STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS + Class being partially + specialized require full name (template parameters) of itself for +@@ -622,7 +528,7 @@ + Off
      __STL_PARTIAL_SPECIALIZATION_BUG ++ _STLP_PARTIAL_SPECIALIZATION_BUG + Partial specialization + has bugs that prevent you from using new-style reverse_iterator +@@ -630,71 +536,71 @@ + Off
      __STL_MEMBER_SPECIALIZATION_BUG ++ _STLP_MEMBER_SPECIALIZATION_BUG + Compiler has problems + specializing members of partially specialized class Off
      __STL_NO_METHOD_SPECIALIZATION_STLP_NO_METHOD_SPECIALIZATIONDefined if the compiler + does not support specializations of single template method.Off
      __STL_NO_FUNC_PARTIAL_ORDERING_STLP_NO_FUNC_PARTIAL_ORDERINGDefined if compiler + does not support partial template functions orderingOff
      __STL_NO_PARTIAL_SPECIALIZATION_SYNTAX_STLP_NO_PARTIAL_SPECIALIZATION_SYNTAXDefined if compiler + does not support full template specialization syntaxOff
      __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS ++ _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS + Compiler does not support + explicit template arguments for functions Off
      __STL_AUTOMATIC_TYPE_TRAITS_STLP_AUTOMATIC_TYPE_TRAITSDefined if the compiler + specializes predefined class type_traits<T> for every + type. This is an extensionOff
      __STL_LOOP_INLINE_PROBLEMS_STLP_LOOP_INLINE_PROBLEMSDefined if your compiler + can't inline while(), for()Off
      __STL_BASE_MATCH_BUG_STLP_BASE_MATCH_BUGDefined if the compiler + fails to match a template function argument of base typeOff
      __STL_NONTEMPL_BASE_MATCH_BUG_STLP_NONTEMPL_BASE_MATCH_BUGDefined if the compiler + fails to match a template function argument of base + (non-template) typeOff
      __STL_NESTED_TYPE_PARAM_BUG_STLP_NESTED_TYPE_PARAM_BUGDefined if the compiler + rejects outline method definition explicitly taking nested types/typedefsOff
      __STL_TYPENAME_ON_RETURN_TYPE ++ _STLP_TYPENAME_ON_RETURN_TYPE + Compiler requires + typename keyword on outline method definition explicitly taking +@@ -702,63 +608,63 @@ + Off
      __STL_BASE_TYPEDEF_BUG_STLP_BASE_TYPEDEF_BUGDefined if your compiler + have serious problems with typedefsOff
      __STL_BASE_TYPEDEF_OUTSIDE_BUG_STLP_BASE_TYPEDEF_OUTSIDE_BUGDefined if the baseclass + typedefs not visible from outsideOff
      __STL_MEMBER_POINTER_PARAM_BUG_STLP_MEMBER_POINTER_PARAM_BUGDefined if the compiler + can't handle pointer-to-member type as function parameterOff
      __STL_UNINITIALIZABLE_PRIVATE_STLP_UNINITIALIZABLE_PRIVATEDefined if the compiler + has problems with static private data members initializationOff
      __STL_STATIC_ARRAY_BUG_STLP_STATIC_ARRAY_BUGDefined if the compiler + has trouble instantiating static array members with dimension + defined as enum.Off
      __STL_DEFAULT_CONSTRUCTOR_BUG_STLP_DEFAULT_CONSTRUCTOR_BUGDefined if default + constructor for builtin integer type fails to initialize it to 0 Off
      __STL_CONST_CONSTRUCTOR_BUG_STLP_CONST_CONSTRUCTOR_BUGDefined if constructor + required to explicitly call member's default constructors for + const objectsOff
      __STL_TRIVIAL_CONSTRUCTOR_BUG_STLP_TRIVIAL_CONSTRUCTOR_BUGDefined if the compiler + has trouble calling POD-types constructorsOff
      __STL_TRIVIAL_DESTRUCTOR_BUG_STLP_TRIVIAL_DESTRUCTOR_BUGDefined if the compiler + has trouble calling POD-types destructorsOff
      __STL_MULTI_CONST_TEMPLATE_ARG_BUG ++ _STLP_MULTI_CONST_TEMPLATE_ARG_BUG + problems specializing + maps/sets with key type being const Off
      __STL_NO_AT_MEMBER_FUNCTION ++ _STLP_NO_AT_MEMBER_FUNCTION + Disables at() + member functions for containers Off
      __STL_HAS_NO_NEW_IOSTREAMS ++ _STLP_HAS_NO_NEW_IOSTREAMS + Native C++ library does not provide + new-style templatized iostreams Off
      __STL_NO_EXCEPTION_HEADER ++ _STLP_NO_EXCEPTION_HEADER + compiler lacks <exception> + header Off
      __STL_HAS_NO_NEW_C_HEADERS ++ _STLP_HAS_NO_NEW_C_HEADERS + Native library does not provide new-style headers + like <cstddef>, only old-style like: <stddef.h> Off
      __STL_HAS_NO_NEW_NEW_HEADER ++ _STLP_NO_NEW_NEW_HEADER + Native library does not provide new-style + like <new> header. Off
      __STL_VENDOR_GLOBAL_STD _STLP_VENDOR_GLOBAL_STD compiler-supplied standard library + resides in global namespace, not std:: std::
      __STL_VENDOR_GLOBAL_CSTD _STLP_VENDOR_GLOBAL_CSTD compiler-supplied <cstdio> + and the like put stuff in global namespace, not std:: Off
      __STL_RAND48_STLP_RAND48Defined if C library has lrand48() + functionOff
      __STL_NATIVE_INCLUDE_PATH ++ _STLP_NATIVE_INCLUDE_PATH + Path to get native + compiler headers included. May be relative or absolute. ../include
      __STL_NATIVE_C_INCLUDE_PATH ++ _STLP_NATIVE_C_INCLUDE_PATH + Path to get native + compiler's old-style C headers (like stdio.h) included. May be relative or absolute. ../include
      __STL_NATIVE_CPP_C_INCLUDE_PATH ++ _STLP_NATIVE_CPP_C_INCLUDE_PATH + Path to get native + compiler new-style C headers (like cstdio) included. May be relative or absolute. ../include
      __STL_MAKE_HEADER _STLP_MAKE_HEADER This macro constructs + header path from directory and name. You may change it if your +- compiler does not understand "/". <path/header>
      __STL_NATIVE_HEADER(header) ++ _STLP_NATIVE_HEADER(header) + This macro constructs + native include header path from include path and name. You may +@@ -861,64 +767,27 @@ + See stl_config.h
      __STL_NATIVE_C_HEADER(header) ++ _STLP_NATIVE_C_HEADER(header) + Same for old-style C headers See stl_config.h
      __STL_NATIVE_CPP_C_HEADER(header) ++ _STLP_NATIVE_CPP_C_HEADER(header) + Same for new-style C headers See stl_config.h
      __STL_LINK_TIME_INSTANTIATION ++ _STLP_LINK_TIME_INSTANTIATION + + This switch should be set on if the compiler supports separate template compilation model, + with non-inlined functions and methods being defined in implementation .c file. + OffOff
      +

       

      +-

      Modifying the configuration engine

      +-

      Don't edit the "configure" script directly, use config/configure.in +- source + GNU autoconf instead. +- +- +- +- +-

    +- +- +- +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    +-
    +-
    Copyright © 1999,2000 by Boris Fomitchev.   +-  Last modified: July 14, 2000 +-
    +-
    +- +- +- +- +- +- ++

    Table of Contents


    Copyright 2001 by STLport
    +Only in tripwire-2.3.1-2.old/src/STLport-4.0/doc: contributors.html +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/copyrights.html tripwire-2.3.1-2/src/STLport-4.0/doc/copyrights.html +--- tripwire-2.3.1-2.old/src/STLport-4.0/doc/copyrights.html Sat Feb 24 10:45:54 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/doc/copyrights.html Mon Mar 17 12:57:57 2003 +@@ -1,112 +1,11 @@ +- +- +- +-STLport - Copyrights and Permissions +- +- +- +- +- +- +- +- +- +-
    +-
    +- +- +-
    +- +- +- +- +- +-
    +- STLport.org - "Templates that fit" +- +- +- +- +- +-
    +- +-
    +-
    +-
    +-
    +-
    +- +- +- +- +-
    +-
    +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    Contents
    +- Introduction
    +- +-   About STLport
    +-   SGI STL Base
    +-   STLport Story
    +- +- +-

    STLport Features
    +-   Portability
    +-   Debug Mode
    +-   Thread Safety
    +-   Exception Safety +-

    +- +-

    Getting Started
    +- +-   Download and Install
    +-   Select Streams Mode
    +-   Compiling with STLport +-

    +- +-

    White Papers
    +-   Release Notes
    +- +-   READMEs
    +-   Interface with std::
    +-   Wrappers
    +-   Config manual
    +-   Regression Test
    +-   Exception Test +-

    +- +-

    Feedback
    +-   Bug Reports
    +-   Forum
    +-

    +- +-

    Appendix
    +-   Acknowledgements
    +- +-   Your Free Licence

    +- +-
    +- +-
    +- +-

    Copyrights and Permissions

    ++STLport: Copyrights and Permissions +-




    ++ ++ Copyrights and Permissions +

     

    +

    STLport library is

    +

    Copyright (c) 1999, 2000 Boris Fomitchev

    +

    See license agreement for details.

    +-

    STLport is build upon the SGI ++

    STLport is build upon the SGI + STL distribution, which is:

    +

    Copyright (c) 1994 Hewlett-Packard Company

    +

    Copyright (c) 1996,97,98,99 Silicon Graphics Computer Systems, Inc.

    +@@ -120,7 +19,7 @@ + in all copies and that both that copyright notice and this permission + notice appear in supporting documentation. Hewlett-Packard Company + makes no representations about the suitability of this software for +- any purpose. It is provided "as is" without express or ++ any purpose. It is provided "as is" without express or + implied warranty.

    +

    Permission to use, copy, modify, distribute and + sell this software and its documentation for any purpose is hereby +@@ -128,7 +27,7 @@ + in all copies and that both that copyright notice and this permission + notice appear in supporting documentation. Silicon Graphics makes no + representations about the suitability of this software for any +- purpose. It is provided "as is" without express or implied ++ purpose. It is provided "as is" without express or implied + warranty.

    + +
    +@@ -138,7 +37,7 @@ + copies and that both that copyright notice and this permission notice + appear in supporting documentation. Moscow Center for SPARC Technology  + makes no representations about the suitability of this software for +- any purpose. It is provided "as is" without express or ++ any purpose. It is provided "as is" without express or + implied warranty. +
    +

    The Exception Handling Test Suite is

    +@@ -150,41 +49,8 @@ + in all copies and that both that copyright notice and this permission + notice appear in supporting documentation. Mark of the Unicorn makes + no representations about the suitability of this software for any +- purpose. It is provided "as is" without express or implied ++ purpose. It is provided "as is" without express or implied + warranty.

    + + +- +- +- +-
    +- +- +- +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    +-
    +-
    Copyright © 1999,2000 by Boris Fomitchev.   +-  Last modified: July 14, 2000 +-
    +-
    +- +- +- +- +- +- ++

    Table of Contents


    Copyright 2001 by STLport
    +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/cvs.html tripwire-2.3.1-2/src/STLport-4.0/doc/cvs.html +--- tripwire-2.3.1-2.old/src/STLport-4.0/doc/cvs.html Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/doc/cvs.html Mon Mar 17 12:57:57 2003 +@@ -0,0 +1,38 @@ ++STLport: Early Access




    ++ ++Early access ++ ++ ++ ++ ++ ++
    ++ ++

    Setting up CVS

    ++Please download 'scvs' script from "http://www.stlport.com/beta/cvsaccess" directory. ++To use it, you need three programs : perl, cvs and ssh installed on your system. ++The script is already modified to work with stlpor.com under cygwin. ++You might have to edit location for your perl installation and cvs program. ++ ++Use this script like that : ++

    ++scvs -d pserver:cvs@www.stlport.com/stlport <cvs command> ++ ++

    ++ ++

    CVS Accounts

    ++Note : example above use "cvs" account -- this allows anonymous readonly access. ++If you have been given individual account with write permissions, use your account name instead. ++If you do not have individual account but wish to have one, please submit the patches that you made ++ (using read-only access and cvs diff) along with your request to boris@stlport.com. ++ ++More detailed instructions on using scvs script can be found at : ++ ++http://www.prima.eu.org/tobez/cvs-howto.html ++ ++

    Tags and Branches

    ++STLport CVS repository provides static tags and branches. Branches are provided for bugfixes maintenance. ++Please use static tags to retrieve particular snapshots. ++Tags have the form : STLPORT<VERSION_MAJOR><VERSION_MINOR><YYMMDD>, where YYMMDD is the time stamp when the tag was created. ++
    ++

    Table of Contents


    Copyright 2001 by STLport
    +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/debug_mode.html tripwire-2.3.1-2/src/STLport-4.0/doc/debug_mode.html +--- tripwire-2.3.1-2.old/src/STLport-4.0/doc/debug_mode.html Sat Feb 24 10:45:55 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/doc/debug_mode.html Mon Mar 17 12:57:57 2003 +@@ -1,108 +1,6 @@ +- +- +- +-STLport - Debug Mode ++STLport: Debug Mode




    + +- +- +- +- +- +- +- +- +-
    +-
    +- +- +-
    +- +- +- +- +- +-
    +- STLport.org - "Templates that fit" +- +- +- +- +- +-
    +- +-
    +-
    +-
    +-
    +-
    +- +- +- +- +-
    +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    Contents
    +- Introduction
    +- +-   About STLport
    +-   SGI STL Base
    +-   STLport Story
    +- +- +-

    STLport Features
    +-   Portability
    +-   Debug Mode
    +-   Thread Safety
    +-   Exception Safety +-

    +- +-

    Getting Started
    +- +-   Download and Install
    +-   Select Streams Mode
    +-   Compiling with STLport +-

    +- +-

    White Papers
    +-   Release Notes
    +- +-   READMEs
    +-   Interface with std::
    +-   Wrappers
    +-   Config manual
    +-   Regression Test
    +-   Exception Test +-

    +- +-

    Feedback
    +-   Bug Reports
    +-   Forum
    +-

    +- +-

    Appendix
    +-   Acknowledgements
    +- +-   Your Free Licence

    +- +-
    +- +-
    +- +- +-

    STLport : Debug Mode

    ++ STLport : Debug Mode + +

    by Boris Fomitchev

    +

    Abstract

    +@@ -115,7 +13,7 @@ + thread-safe as in release mode.

    +

    Debugging facilities provided

    +
      +-
    • "Safe iterators" for all STL containers.
      ++
    • "Safe iterators" for all STL containers.
      + They report detailed diagnostics when being used in invalid ways.
    • +
    +
      +@@ -130,7 +28,7 @@ +

      Implementation

      +

      Checked iterators keep track of their container while the container + keeps track of them. The idea was introduced in Cay +- Horstmann's "Safe STL".

      ++ Horstmann's "Safe STL".

      +
        +
      • If the container goes out of scope, its iterators are being + invalidated;
      • +@@ -138,22 +36,22 @@ + operation, all instances of this iterator are invalidated. +
      +

      Usage

      +-

      To turn on the debug mode, you should somehow #define __STL_DEBUG ++

      To turn on the debug mode, you should somehow #define _STLP_DEBUG + macro before including any STL header. You can either supply the + definition via compiler command-line or within CXXFLAGS in your makefile:

      +-

      $> CC -g -D__STL_DEBUG foo.cpp

      ++

      $> CC -g -D_STLP_DEBUG foo.cpp

      +

      Naturally, you may also wrap it into your project configuration + header :

      +

      # ifdef _NDEBUG
      +- # undef __STL_DEBUG
      ++ # undef _STLP_DEBUG
      + # else
      +- # define __STL_DEBUG 1
      ++ # define _STLP_DEBUG 1
      + # endif

      +-

      Important : you must recompile your project after changing __STL_DEBUG ++

      Important : you must recompile your project after changing _STLP_DEBUG + definition.

      +

      Examples

      +

      Here are some error examples with corresponding runtime output:

      +-

      char string[23] = "A string to be copied.";
      ++

      char string[23] = "A string to be copied.";
      + char result[23];
      + copy(string+20, string+10, result);

      + _debug.h:168 STL error : Range [first,last) is invalid
      +@@ -200,14 +98,14 @@ + it in your code - it's non-standard and is subject to change. + +

    • The ability to throw exceptions instead of calling abort() +- is provided since 3.2. Please comment out __STL_NO_DEBUG_EXCEPTIONS switch which ++ is provided since 3.2. Please comment out _STLP_NO_DEBUG_EXCEPTIONS switch which + disables it as default.
    • + +
    • If those two defaults do not match your debugging needs, + you may force all failed assertions to be executed through user-defined global function:
      void __stl_debug_terminate(void). This allows you to take control of assertion behavior for debugging purposes.
    • + +
    • You can control the way the debug checking messages are being printed out by defining +-your own debug output function. To do so, you should define __STL_DEBUG_MESSAGE switch in stl_user_config.h and ++your own debug output function. To do so, you should define _STLP_DEBUG_MESSAGE switch in stl_user_config.h and + provide your function with the following signature :
      + void __stl_debug_message(const char * format_str, ...). The parameters are printf()-like. + STLport will then use it to format debug message output.
    • +@@ -224,37 +122,4 @@ + error. +
    + +- +- +- +-
    +-
    +-
    +- +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    +-
    +-
    Copyright © 1999,2000 by Boris Fomitchev.   +-  Last modified: July 14, 2000 +-
    +-
    +- +- +- +- +- +- ++

    Table of Contents


    Copyright 2001 by STLport
    +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/doc.css tripwire-2.3.1-2/src/STLport-4.0/doc/doc.css +--- tripwire-2.3.1-2.old/src/STLport-4.0/doc/doc.css Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/doc/doc.css Sun Aug 11 19:12:57 2002 +@@ -0,0 +1,12 @@ ++BODY { margin: 0 0; background: #FFFFFF; font-family: "Tahoma", "Helvetica", "Arial", "sans-serif"; } ++ ++A:link {font-size: 14px; text-decoration:none; color: #0c70b6;} ++ ++A:visited {font-size: 14px; text-decoration:none; color: #0c70b6;} ++ ++.copyright { font-size: 10px; font-family: "Tahoma", "Helvetica", "Arial", "sans-serif"; line-height: 12px; color: #999999; } ++ ++.bottomNav { font-size: 11px; font-family: "Tahoma", "Helvetica", "Arial", "sans-serif"; text-decoration: none; font-weight: bold; color: #325A30; } ++ ++.heading { font-size: 18px; font-family: "Tahoma", "Helvetica", "Arial", "sans-serif"; line-height: 14px; color: #e35a23; } ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/eh_testsuite.html tripwire-2.3.1-2/src/STLport-4.0/doc/eh_testsuite.html +--- tripwire-2.3.1-2.old/src/STLport-4.0/doc/eh_testsuite.html Sat Feb 24 10:45:55 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/doc/eh_testsuite.html Mon Mar 17 12:57:57 2003 +@@ -1,110 +1,8 @@ +- +- +- +-STLport - Exception Handling Testsuite +- +- +- +- +- +- +- +- +- +-
    +-
    +- +- +-
    +- +- +- +- +- +-
    +- STLport.org - "Templates that fit" +- +- +- +- +- +-
    +- +-
    +-
    +-
    +-
    +-
    +- +- +- +- +-
    +-
    +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    Contents
    +- Introduction
    +- +-   About STLport
    +-   SGI STL Base
    +-   STLport Story
    +- +- +-

    STLport Features
    +-   Portability
    +-   Debug Mode
    +-   Thread Safety
    +-   Exception Safety +-

    +- +-

    Getting Started
    +- +-   Download and Install
    +-   Select Streams Mode
    +-   Compiling with STLport +-

    +- +-

    White Papers
    +-   Release Notes
    +- +-   READMEs
    +-   Interface with std::
    +-   Wrappers
    +-   Config manual
    +-   Regression Test
    +-   Exception Test +-

    +- +-

    Feedback
    +-   Bug Reports
    +-   Forum
    +-

    +- +-

    Appendix
    +-   Acknowledgements
    +- +-   Your Free Licence

    +- +-
    +- +-
    +- +- +-

    Exception Handling Test Suite for STLport

    +- ++STLport: Exception Handling Testsuite +-




    ++ Exception Handling Test Suite for STLport ++

    + by Dave Abrahams, Boris Fomitchev ++

    +

    Synopsis

    +

    eh_test [-n <iterations>] [-s <size>] [-l] [-e] + [-q]/[-v] [-t]

    +@@ -152,24 +50,24 @@ +

    How To

    +

    EH testsuite comes in directory test/eh with your STLport + distribution. Edit appropriate makefile to fit your compiler and include +- directories . After you've done, try "make check". That ++ directories . After you've done, try "make check". That + should build test executable and run it with default options (see + Synopsis). If writing your own makefile or working from within some IDE, + you should specify the following switches to get proper testing :

    +-

    __STL_USE_NEWALLOC - use new-based allocator (that will ++

    _STLP_USE_NEWALLOC - use new-based allocator (that will + promptly throw on common test scheme). Otherwise, only + assignment/comparison will throw,

    +-

    __STL_USE_DEBUG_ALLOC - to catch other potential memory ++

    _STLP_USE_DEBUG_ALLOC - to catch other potential memory + problems.

    +

    EH_NEW_HEADERS - if you wish to use new-style C++ headers. + This option may be useful to test some other STL implementation.

    +-

    For Borland C++ 5.x , you have to #define __STL_NO_NAMESPACES ++

    For Borland C++ 5.x , you have to #define _STLP_NO_NAMESPACES + to compile.

    +

    For 16-bit platforms, you have to #define NO_FAST_ALLOCATOR to + compile.

    +

    The testsuite may be used to test not only STLport adaptation against + particular compiler. It does not contain any adaptation-specific code, +- so it may be used with regular SGI release (note __STL_USE_NEWALLOC has ++ so it may be used with regular SGI release (note _STLP_USE_NEWALLOC has + no effect then) or with other STL implementation (hash + containers and rope may not work).

    +

    Copyright

    +@@ -181,39 +79,7 @@ + all copies and that both that copyright notice and this permission + notice appear in supporting documentation. Mark of the Unicorn makes no + representations about the suitability of this software for any purpose. +- It is provided "as is" without express or implied warranty. +- +- +- +- +-
    +- +- +- +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    +-
    +-
    Copyright © 1999,2000 by Boris Fomitchev.   +-  Last modified: July 14, 2000 +-
    +-
    +- +- +- +- ++ It is provided "as is" without express or implied warranty. ++

    + +- ++

    Table of Contents


    Copyright 2001 by STLport
    +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/exception_safety.html tripwire-2.3.1-2/src/STLport-4.0/doc/exception_safety.html +--- tripwire-2.3.1-2.old/src/STLport-4.0/doc/exception_safety.html Sat Feb 24 10:45:55 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/doc/exception_safety.html Mon Mar 17 12:57:57 2003 +@@ -1,109 +1,9 @@ +- +- +- +-STLport - Exception Handling ++STLport: Exception Handling + + + +@@ -568,37 +468,4 @@ + +




    + +- +- +- +- +- +- +- +- +-
    +-
    +- +- +-
    +- +- +- +- +- +-
    +- STLport.org - "Templates that fit" +- +- +- +- +- +-
    +- +-
    +-
    +-
    +-
    +-
    +- +- +- +- +-
    +-
    +- +- +- +- + + +- ++ + + + +- ++ + + + +- ++ + + +
    +- +- +- +- +- +- +- +- +-
    Contents
    +- Introduction
    +- +-   About STLport
    +-   SGI STL Base
    +-   STLport Story
    +- +- +-

    STLport Features
    +-   Portability
    +-   Debug Mode
    +-   Thread Safety
    +-   Exception Safety +-

    +- +-

    Getting Started
    +- +-   Download and Install
    +-   Select Streams Mode
    +-   Compiling with STLport +-

    +- +-

    White Papers
    +-   Release Notes
    +- +-   READMEs
    +-   Interface with std::
    +-   Wrappers
    +-   Config manual
    +-   Regression Test
    +-   Exception Test +-

    +- +-

    Feedback
    +-   Bug Reports
    +-   Forum
    +-

    +- +-

    Appendix
    +-   Acknowledgements
    +- +-   Your Free Licence

    +- +-
    +- +-
    +- +- +-

    Exception Safety in STLport

    ++ Exception Safety in STLport ++

    + by Dave Abrahams ++

    +

    Basic Library Guarantees

    +

    STLport makes the guarantee that no resources are leaked in + the face of exceptions.

    +@@ -139,8 +39,8 @@ + remain unchanged. For example, vector<T,A>::push_back() + leaves the vector unchanged if an exception is thrown, provided the + library client fulfills the basic +- requirements below. For some operations, the "strong +- guarantee" is available if additional requirements are ++ requirements below. For some operations, the "strong ++ guarantee" is available if additional requirements are + filled. + +

     

    +@@ -153,7 +53,7 @@ +
      +
    • Destructors of any classes used by the library. This includes all + classes used as library template parameters. It also includes all +- classes which fulfill "type requirements" of classes used ++ classes which fulfill "type requirements" of classes used + as library templates- an allocator's size_type, for + example.
    • +
    • Valid uses of any of the required functionality of the following +@@ -198,7 +98,7 @@ + has no function in its public interface to tell you how far it has been + advanced.

      +

       

      +-

      The "Strong Guarantee"

      ++

      The "Strong Guarantee"

      +

      In many programs, some objects will be destroyed automatically during + exception-unwinding. For these, the basic guarantee that resources won't + be leaked is good enough. If a program hopes to survive an exception and +@@ -211,7 +111,7 @@ +

        +

        If an exception is thrown, the operation has no effects.

        +
      +-

      You can get the strong guarantee by "brute force" for any ++

      You can get the strong guarantee by "brute force" for any + container operation as follows, provided the container's swap() + member function can't fail (this is true for most real-world + containers):

      +@@ -223,7 +123,7 @@ + for others, you can either use the above technique or conform to some additional + requirements.

      +

       

      +-

      Operations that give the "strong guarantee" with no ++

      Operations that give the "strong guarantee" with no + additional requirements

      +

      ( Operations labelled with * are guaranteed to + return normally if all basic requirements +@@ -360,16 +260,16 @@ + (x and yof type T)

    "guaranteed copyable""guaranteed copyable"T z(x) and x = y may not exit via + exception.
    "guaranteed equality-comparable""guaranteed equality-comparable"x == y may not exit via exception.
    "guaranteed comparable""guaranteed comparable"x < y may not exit via exception.
    +@@ -443,7 +343,7 @@ +
    insert (iterator position, const_iterator first, + const_iterator last); +-

    void insert (iterator position, size_type n, const T& ++
    void insert (iterator position, size_type n, const T& + x);

    T guaranteed copyable
    + +- +- +- +- +- +-
    +-
    +- +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    +-
    +-
    Copyright © 1999,2000 by Boris Fomitchev.   +-  Last modified: July 14, 2000 +-
    +-
    +- +- +- +- +- +- ++
    Table of Contents


    Copyright 2001 by STLport
    +Only in tripwire-2.3.1-2.old/src/STLport-4.0/doc: extensions.html +Only in tripwire-2.3.1-2.old/src/STLport-4.0/doc: getting_started.html +Only in tripwire-2.3.1-2.old/src/STLport-4.0/doc/images: blue.gif +Only in tripwire-2.3.1-2.old/src/STLport-4.0/doc/images: logo.jpg +Only in tripwire-2.3.1-2.old/src/STLport-4.0/doc/images: logo_1.jpg +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/index.html tripwire-2.3.1-2/src/STLport-4.0/doc/index.html +--- tripwire-2.3.1-2.old/src/STLport-4.0/doc/index.html Sat Feb 24 10:45:56 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/doc/index.html Mon Mar 17 12:57:57 2003 +@@ -1,181 +1,56 @@ +- +- +-STLport - Multiplatform ANSI C++ library +- +- +- +- +- +- +- +- +- +-
    +-
    +- +- +-
    +- +- +- +- +- +-
    +- STLport.org - "Templates that fit" +- +- +- +- +- +-
    +- +-
    +-
    +-
    +-
    +-
    +- +- +- +- +-
    +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    Contents
    +- Introduction
    +- +-   About STLport
    +-   SGI STL Base
    +-   STLport Story
    +- +- +-

    STLport Features
    +-   Portability
    +-   Debug Mode
    +-   Thread Safety
    +-   Exception Safety +-

    +- +-

    Getting Started
    +- +-   Download and Install
    +-   Select Streams Mode
    +-   Compiling with STLport +-

    +- +-

    White Papers
    +-   Release Notes
    +- +-   READMEs
    +-   Interface with std::
    +-   Wrappers
    +-   Config manual
    +-   Regression Test
    +-   Exception Test +-

    +- +-

    Feedback
    +-   Bug Reports
    +-   Forum
    +-

    +- +-

    Appendix
    +-   Acknowledgements
    +- +-   Your Free Licence

    +- +-
    +- +-
    +- +- +-

    STLport Project : Overview

    +-

    STLport is an open-source, volunteer-driven project. Its goal is to build +- complete, multiplatform ANSI C++ Standard library +- with SGI STL code base. From this base, +- it inherits the following advantages: +-

      +-
    • Advanced technology for maximum efficiency
    • +-
    • Exception safety and thread safety
    • +-
    • Standard compliance and reliability
    • +-
    • Important extensions - hash tables, singly-linked list, rope
    • +-
    +-

    Learn more about STLport story.

    +- +-

    STLport Distinction

    +- STLport ports SGI STL to any platform possible and provides all necessary wrap-ups, like DLL builds, +- to be a seamless drop-in for modern production environments. +- Besides that, it offers important functionality not provided by any other vendor: +-
      +-
    • Debug mode: "Safe iterators" with rigorous validity +- checking for all containers. Also, checking of preconditions for algorithms and container methods. +-
    • +-
    • Flexibility for use in exotic environments, such as vxWorks or Windows CE. +-
    • +-
    +- +-

    When Portability Matters

    +-

    With STLport, you rely on uniform tested code base for all compilers +- used in the project. +- That makes STLport to be the ultimate choice for multiplatform development. Here is the list of compilers supported by STLport. +- +-

    Free and Unrestricted

    +-

    +-Copyright © 1999,2000 Boris Fomitchev
    +-
    +-This material is provided "as is", with absolutely no warranty +-expressed or implied. Any use is at your own risk. +-Permission to use or copy this software for any purpose is hereby granted +-without fee, provided the above notices are retained on all copies. Permission +-to modify the code and to distribute modified code is granted, provided the +-above notices are retained, and a notice that the code was modified is included +-with the above copyright notice. +-

    +- +- +- +- +-
    +-
    +-
    +- +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    +-
    +-
    Copyright © 1999,2000 by Boris Fomitchev.   +-  Last modified: July 14, 2000 +-
    +-
    +- ++STLport: STLport Documentation Index




    + ++STLport Documentation Index ++

    + +- ++ ++ ++ + +- ++ ++ ++
    ++ Introduction
    ++ ++   Documentation Index
    ++   SGI STL Base
    ++   STLport Story
    ++ ++ ++

    STLport Features
    ++   Portability
    ++   Debug Mode
    ++   Thread Safety
    ++   Exception Safety ++

    ++ ++

    Getting Started
    ++ ++   Download and Install
    ++   Select Streams Mode
    ++   Compiling with STLport ++

    ++
    ++

    White Papers
    ++   Release Notes
    ++ ++   READMEs
    ++   Interface with std::
    ++   Wrappers
    ++   Config manual
    ++   Regression Test
    ++   Exception Test ++

    ++ ++

    Feedback
    ++   Bug Reports
    ++   Forum
    ++

    ++ ++

    Appendix
    ++   Acknowledgements
    ++ ++   Your Free Licence

    ++
    + ++

    Table of Contents


    Copyright 2001 by STLport
    +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/install.html tripwire-2.3.1-2/src/STLport-4.0/doc/install.html +--- tripwire-2.3.1-2.old/src/STLport-4.0/doc/install.html Sat Feb 24 10:45:56 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/doc/install.html Mon Mar 17 12:57:57 2003 +@@ -1,128 +1,27 @@ +- +- +-STLport - Getting Started : Installing STLport +- +- +- +- +- +- +- +- +- +-
    +-
    +- +- +-
    +- +- +- +- +- +-
    +- STLport.org - "Templates that fit" +- +- +- +- +- +-
    +- +-
    +-
    +-
    +-
    +-
    +- +- +- +- +- +-
    +-
    +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    Contents
    +- Introduction
    +- +-   About STLport
    +-   SGI STL Base
    +-   STLport Story
    +- +- +-

    STLport Features
    +-   Portability
    +-   Debug Mode
    +-   Thread Safety
    +-   Exception Safety +-

    +- +-

    Getting Started
    +- +-   Download and Install
    +-   Select Streams Mode
    +-   Compiling with STLport +-

    +- +-

    White Papers
    +-   Release Notes
    +- +-   READMEs
    +-   Interface with std::
    +-   Wrappers
    +-   Config manual
    +-   Regression Test
    +-   Exception Test +-

    +- +-

    Feedback
    +-   Bug Reports
    +-   Forum
    +-

    +- +-

    Appendix
    +-   Acknowledgements
    +- +-   Your Free Licence

    +- +-
    +- +-
    ++STLport: Getting Started: Installing STLport +-




    + + +-

    Getting Started : Installing STLport

    ++ Getting Started: Installing STLport + +

    Download

    +- To download STLport, please visit download page at stlport.org. +- It provides stable STLport releases from 2.x to the latest one. +- If you are interested in contributing to STLport development, you are welcome to try out +- beta snapshots (usually, pretty stable). ++ To get STLport, please visit download page at stlport.com. ++ It provides STLport releases from 2.x to the latest one as well as beta snapshots. ++ If you are interested in contributing to STLport development, please take a look at Early Access page. + +

    Unpack

    +

    After downloading STLport-XXX.tar.gz [zip],  + unpack it to some place where it is going to be accesible for all + compilers you plan to use with this installation. +
    Note : Never overwrite header files that come with the compiler, +- even if you made a backup - this won't work ! ++ even if you made a backup - this won't work! + Also, please make sure you do not rename this "stlport" subdirectory + into anything else - that may render installation unusable. ++

    + +

    Setup Preferences

    + +

    Look through <stl/_site_config.h> and <stl_user_config.h> +- to adjust preferences. ++ to adjust preferences.

    + +

    + Do NOT attempt to run "configure" script! +@@ -131,49 +30,16 @@ + Your compiler should be auto-recognized. + Please edit appropriate configuration header for your compiler + directly if you have to make small compiler-specific configuration changes. ++

    + +

    Only if you recieve error message during compilation which explicitly says + "Your compiler version is not recognized by STLport", you + will have to do major configuration of STLport before use. + To learn how to configure STLport, please read +- configuration manual. ++ configuration manual. +

    + +-

    Please be sure to read about STLport iostreams modes +- and select the one appropriate for your project before using the library. +- +- +- +- +-

    +- +- +- +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    +-
    +-
    Copyright © 1999,2000 by Boris Fomitchev.   +-  Last modified: July 14, 2000 +-
    +-
    +- +- +- +- +- +- ++

    Please be sure to read about STLport iostreams modes ++ and select the one appropriate for your project before using the library.

    + ++

    Table of Contents


    Copyright 2001 by STLport
    +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/license.html tripwire-2.3.1-2/src/STLport-4.0/doc/license.html +--- tripwire-2.3.1-2.old/src/STLport-4.0/doc/license.html Sat Feb 24 10:45:57 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/doc/license.html Mon Mar 17 12:57:57 2003 +@@ -1,106 +1,6 @@ +- +- ++STLport: License Agreement




    + +- +- +- +- +- +- +- +- +-
    +-
    +- +- +-
    +- +- +- +- +- +-
    +- STLport.org - "Templates that fit" +- +- +- +- +- +-
    +- +-
    +-
    +-
    +-
    +-
    +- +- +- +- +-
    +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    Contents
    +- Introduction
    +- +-   About STLport
    +-   SGI STL Base
    +-   STLport Story
    +- +- +-

    STLport Features
    +-   Portability
    +-   Debug Mode
    +-   Thread Safety
    +-   Exception Safety +-

    +- +-

    Getting Started
    +- +-   Download and Install
    +-   Select Streams Mode
    +-   Compiling with STLport +-

    +- +-

    White Papers
    +-   Release Notes
    +- +-   READMEs
    +-   Interface with std::
    +-   Wrappers
    +-   Config manual
    +-   Regression Test
    +-   Exception Test +-

    +- +-

    Feedback
    +-   Bug Reports
    +-   Forum
    +-

    +- +-

    Appendix
    +-   Acknowledgements
    +- +-   Your Free Licence

    +- +-
    +- +-
    +- +- +-

    License Agreement

    ++License Agreement + +

    Boris Fomitchev grants Licensee a non-exclusive, + non-transferable, royalty-free license to use STLport and its +@@ -115,9 +15,9 @@ + notices on STLport sources and its documentation unchanged :

    + + +-Copyright © 1999,2000 Boris Fomitchev
    ++Copyright 1999,2000 Boris Fomitchev
    +
    +-This material is provided "as is", with absolutely no warranty ++This material is provided "as is", with absolutely no warranty + expressed or implied. Any use is at your own risk.
    + Permission to use or copy this software for any purpose is hereby granted + without fee, provided the above notices are retained on all copies. Permission +@@ -135,23 +35,23 @@ +
  • The following copyright notices are retained when present, and conditions + provided in accompanying permission notices are met :
  • + +-

    Copyright © 1994 Hewlett-Packard Company

    +-

    Copyright © 1996,97 Silicon Graphics Computer Systems, Inc.

    +-

    Copyright © 1997 Moscow Center for SPARC Technology.

    ++

    Copyright 1994 Hewlett-Packard Company

    ++

    Copyright 1996,97 Silicon Graphics Computer Systems, Inc.

    ++

    Copyright 1997 Moscow Center for SPARC Technology.

    +
    +

    Permission to use, copy, modify, distribute and sell this + software and its documentation for any purpose is hereby granted without fee, + provided that the above copyright notice appear in all copies and that both + that copyright notice and this permission notice appear in supporting + documentation. Hewlett-Packard Company makes no representations about the +- suitability of this software for any purpose. It is provided "as is" ++ suitability of this software for any purpose. It is provided "as is" + without express or implied warranty.

    +

    Permission to use, copy, modify, distribute and sell this + software and its documentation for any purpose is hereby granted without fee, + provided that the above copyright notice appear in all copies and that both + that copyright notice and this permission notice appear in supporting + documentation. Silicon Graphics makes no representations about the suitability +- of this software for any purpose. It is provided "as is" without ++ of this software for any purpose. It is provided "as is" without + express or implied warranty.

    +
    +
    +@@ -161,41 +61,8 @@ + that copyright notice and this permission notice appear in supporting + documentation. Moscow Center for SPARC Technology  makes no + representations about the suitability of this software for any purpose. It is +- provided "as is" without express or implied warranty. ++ provided "as is" without express or implied warranty. +
    + + +- +- +- +-
    +-
    +-
    +- +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    +-
    +-
    Copyright © 1999,2000 by Boris Fomitchev.   +-  Last modified: July 14, 2000 +-
    +-
    +- +- +- +- +- +- ++

    Table of Contents


    Copyright 2001 by STLport
    +Only in tripwire-2.3.1-2.old/src/STLport-4.0/doc: major_modes.html +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/platforms.html tripwire-2.3.1-2/src/STLport-4.0/doc/platforms.html +--- tripwire-2.3.1-2.old/src/STLport-4.0/doc/platforms.html Sat Feb 24 10:45:57 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/doc/platforms.html Mon Mar 17 12:57:57 2003 +@@ -1,122 +1,19 @@ +- +- +- +-STLport - Platforms +- +- +- +- +- +- +- +- +- +-
    +-
    +- +- +-
    +- +- +- +- +- +-
    +- STLport.org - "Templates that fit" +- +- +- +- +- +-
    +- +-
    +-
    +-
    +-
    +-
    +- +- +- +- +-
    +-
    +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    Contents
    +- Introduction
    +- +-   About STLport
    +-   SGI STL Base
    +-   STLport Story
    +- +- +-

    STLport Features
    +-   Portability
    +-   Debug Mode
    +-   Thread Safety
    +-   Exception Safety +-

    +- +-

    Getting Started
    +- +-   Download and Install
    +-   Select Streams Mode
    +-   Compiling with STLport +-

    +- +-

    White Papers
    +-   Release Notes
    +- +-   READMEs
    +-   Interface with std::
    +-   Wrappers
    +-   Config manual
    +-   Regression Test
    +-   Exception Test +-

    +- +-

    Feedback
    +-   Bug Reports
    +-   Forum
    +-

    +- +-

    Appendix
    +-   Acknowledgements
    +- +-   Your Free Licence

    +- +-
    +- +-
    ++STLport: Platforms +-




    + +- +-

    Compilers supported by STLport

    ++ Compilers supported by STLport +

    Portability is a key feature of STLport. It allows for having single, +- thoroughly tested code base on all platforms used in the project. +-

    STLport was reported to work with the compilers listed below. +-

    Please follow links to see README files for particular compilers. ++ thoroughly tested code base on all platforms used in the project.

    ++

    STLport was reported to work with the compilers listed below.

    ++

    Please follow links to see README files for particular compilers.

    + + + +- +- +- +-
    +- +- +- +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    +-
    +-
    Copyright © 1999,2000 by Boris Fomitchev.   +-  Last modified: July 14, 2000 +-
    +-
    +- +- +- +- +- +- ++

    Table of Contents


    Copyright 2001 by STLport
    +Only in tripwire-2.3.1-2.old/src/STLport-4.0/doc: prepare.html +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/projects.html tripwire-2.3.1-2/src/STLport-4.0/doc/projects.html +--- tripwire-2.3.1-2.old/src/STLport-4.0/doc/projects.html Sat Feb 24 10:45:58 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/doc/projects.html Mon Mar 17 12:57:57 2003 +@@ -1,108 +1,6 @@ +- +- +- +-STLport - Real World Projects ++STLport: Real World Projects




    + +- +- +- +- +- +- +- +- +-
    +-
    +- +- +-
    +- +- +- +- +- +-
    +- STLport.org - "Templates that fit" +- +- +- +- +- +-
    +- +-
    +-
    +-
    +-
    +-
    +- +- +- +- +-
    +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    Contents
    +- Introduction
    +- +-   About STLport
    +-   SGI STL Base
    +-   STLport Story
    +- +- +-

    STLport Features
    +-   Portability
    +-   Debug Mode
    +-   Thread Safety
    +-   Exception Safety +-

    +- +-

    Getting Started
    +- +-   Download and Install
    +-   Select Streams Mode
    +-   Compiling with STLport +-

    +- +-

    White Papers
    +-   Release Notes
    +- +-   READMEs
    +-   Interface with std::
    +-   Wrappers
    +-   Config manual
    +-   Regression Test
    +-   Exception Test +-

    +- +-

    Feedback
    +-   Bug Reports
    +-   Forum
    +-

    +- +-

    Appendix
    +-   Acknowledgements
    +- +-   Your Free Licence

    +- +-
    +- +-
    +- +- +-

    STLport Portofolio - Real World Projects

    ++ STLport Portfolio - Real World Projects + +

    Many people still won't consider using STL in industrial projects. + The reason is often that the code could may turn out to be nonportable, +@@ -111,7 +9,7 @@ + multiplatform project.  Below is very incomplete list of software + projects using STLport  (thanks to all contributors who have + submitted the information).

    +-

    Coming soon : Add Your Project

    ++

    Coming soon : Add Your Project

    +
    +

    Organization: Moscow Center for + SPARC Technology

    +@@ -128,14 +26,14 @@ +
    + Organization: Mark of the Unicorn, + Inc. +-

    Product : "Composer's Mosaic"

    ++

    Product : "Composer's Mosaic"

    +
    Description :
    +
    State-of-the-art music desktop publishing software for the + Macintosh. Provides a WYSIWYG environment in which you can produce + publication-quality music notation, from lead sheets to full + orchestra scores. Includes real-time MIDI playback and recording, + using the transcription engine that Keyboard magazine called +- "The best we've ever seen". Also supports convenient ++ "The best we've ever seen". Also supports convenient + step-record and mouse and keyboard note entry. Supports standard + MIDI file format. Unlimited voices, staves, and voices per staff. + Unlimited Undo/Redo.
    +@@ -146,7 +44,7 @@ +
    +

    Organization: Mark of the Unicorn, + Inc.

    +-

    Product : "FreeStyle"

    ++

    Product : "FreeStyle"

    +
    Description :
    +
    Trackless MIDI sequencing and notation program for songwriters and + arrangers, combining simplicity and ease-of-use with sophisticated +@@ -184,7 +82,7 @@ +
    +

    Organization:Askesis + B.V

    +-

    Product : "ICAS"

    ++

    Product : "ICAS"

    +
    Description :
    +
    A client/server patient database management system for the + intensive care departement in the hospital of the University of +@@ -202,7 +100,7 @@ +
    +

    Organization: Entegrity + Solutions Inc

    +-

    Product : "Security Development Platform"

    ++

    Product : "Security Development Platform"

    +
    Description :
    +
    A comprehensive framework/library for developping secure + applications. Includes symmetric and assymetric cryptography and +@@ -221,8 +119,8 @@ + Reserve University School of Medicine,
    + Department of Molecular and + Genetic Epidemiology, S.A.G.E. Group

    +-

    Product : "S.A.G.E. (Statistical Analysis for Genetic +- Epidemiology)"

    ++

    Product : "S.A.G.E. (Statistical Analysis for Genetic ++ Epidemiology)"

    +
    Description :
    +
    For detailed package information, see http://darwin.cwru.edu. + Use of the STL : in upcoming 4.0 release, ~50k+ lines of code relies +@@ -239,7 +137,7 @@ +
    +

    Organization: Formatek + Inc.

    +-

    Product : "Softmap"

    ++

    Product : "Softmap"

    +
    Description :
    +
    SoftMap is a GIS software bundled to a set of standard maps + (topographic maps, city maps, thematic maps) on CD-ROM to which +@@ -255,7 +153,7 @@ +
    +

    Organization: Interactive Network + Technologies, Inc (INT)

    +-

    Product : "Carnac", Graphics Toolkit

    ++

    Product : "Carnac", Graphics Toolkit

    +
    Description :
    +
    Carnac is a multi-platform high-performance graphics + toolkit written in C++ targeted at handling of huge volumes of +@@ -275,7 +173,7 @@ + upcoming ANSI C++ standard: templates, exception handling, standard + library based on STL. The biggest problem of our multi-platform + project was a diversity of C++ compilers. They have a variety of +- different bugs and "features", and somewhat incompatible ++ different bugs and "features", and somewhat incompatible + interpretations of templates. Some of them didn't support HP STL we + started with. HP STL had a limited set of containers (notably it + lacks hash-based containers). ObjectSpace STL was modeled after HP +@@ -342,39 +240,5 @@ +   More informations are available on the PadFEM homepage at
    + http://www.uni-paderborn.de/cs/padfem/. +
    +- +- +- +- +- +-
    +-
    +-
    +- +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    +-
    +-
    Copyright © 1999,2000 by Boris Fomitchev.   +-  Last modified: July 14, 2000 +-
    +-
    +- +- +- +- + +- ++

    Table of Contents


    Copyright 2001 by STLport
    +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/release_notes.html tripwire-2.3.1-2/src/STLport-4.0/doc/release_notes.html +--- tripwire-2.3.1-2.old/src/STLport-4.0/doc/release_notes.html Sat Feb 24 10:45:58 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/doc/release_notes.html Mon Mar 17 12:57:57 2003 +@@ -1,109 +1,14 @@ +- +- +- +-STLport - Release Notes +- +- +- +- +- +- +- +- +- +-
    +-
    +- +- +-
    +- +- +- +- +- +-
    +- STLport.org - "Templates that fit" +- +- +- +- +- +-
    +- +-
    +-
    +-
    +-
    +-
    +- +- +- +- +-
    +-
    +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    Contents
    +- Introduction
    +- +-   About STLport
    +-   SGI STL Base
    +-   STLport Story
    +- +- +-

    STLport Features
    +-   Portability
    +-   Debug Mode
    +-   Thread Safety
    +-   Exception Safety +-

    +- +-

    Getting Started
    +- +-   Download and Install
    +-   Select Streams Mode
    +-   Compiling with STLport +-

    +- +-

    White Papers
    +-   Release Notes
    +- +-   READMEs
    +-   Interface with std::
    +-   Wrappers
    +-   Config manual
    +-   Regression Test
    +-   Exception Test +-

    +- +-

    Feedback
    +-   Bug Reports
    +-   Forum
    +-

    +- +-

    Appendix
    +-   Acknowledgements
    +- +-   Your Free Licence

    +- +-
    +- +-
    +- +- +-

    STLport 4.0 Release Notes

    ++STLport: Release Notes +-




    + ++ STLport 4.5 Release Notes ++

    ++ Please see etc/ChangeLog for the list of changes since 4.0. ++ A number of new platforms are supported; STLport iostreams ported to many new platforms. ++ 4.5 should provide for much greater reliability and efficiency, especially in iostreams part. ++ Code bloat should be significantly reduced. Versioning is introduced for dynamic libraries. ++

    ++ STLport 4.0 Release Notes ++

    + STLport 4.0 is a major release. Finally, it offers complete C++ standard library! + Here is a list of major changes in 4.0 : +

      +@@ -139,11 +44,12 @@ +
    • config changes - "configure" made obsolete and moved into "stlport/config/new_compiler"
    • +
    • Lot of minor bugfixes.
    • +
    ++

    + +

    STLport 3.2.1 Release Notes

    + +

    STLport 3.2.1 is a minor release in terms of functionality, but it is a huge +- leap forward in terms of usability. ++ leap forward in terms of usability.

    + +

    std::renaming

    + 3.2.1 finally solved the conflict between STLport string and std::string, which +@@ -162,12 +68,12 @@ + from a designated user's DLL, which solves the problem observed with default allocator + and passing objects across DLL boundaries. Currently, one of user's DLL is supposed to + be designated to export STLport symbols. That will change as soon as STLport will provide +- iostreams library.

    ++ iostreams library.

    + For MT compilation, <windows.h> is not included anymore to get synchronization + function prototypes. That significally reduces compilation time. +-

    ++

    +

    Quality improvements

    +-

    3.2.1 provides further code bloat reduction - hashtable uses vector <void*> internally. ++

    3.2.1 provides further code bloat reduction - hashtable uses vector <void*> internally.

    +

    New platforms

    + Configuration files provided for DEC C++ 6.x/5.x , Borland C++ 5.02, KAI C++. + Windows CE configuration provided. +@@ -176,7 +82,7 @@ +

    STLport 3.2 Release Notes

    + +

    STLport 3.2 is a major change from 3.12. It provides new components, new wrappers +- and fixes many portability issues. ++ and fixes many portability issues.

    +

    New Components

    + New standard header files are provided : <limits;> and <valarray>. + Also, STLport now provide complete set of C library headers which are currently +@@ -188,23 +94,28 @@ +

    3.2 provides new workarounds for standard allocators : EBO (empty-base optimization), + for automatic space optimization for instanceless allocators. Allocators with instances + now can be used with any compiler. Chunking problem is fixed - no memory overuse. ++

    +

    Major restructuring - non-inline code moved to .c implementation files. + That makes huge code bloat reduction for compilers that support separate compilation model, + like IBM xlC. If this model is not supported, .c file is being included in corresponding .h file. ++

    +

    Debug mode redesigned for less code bloat and memory footprint. + Now it use single-linked lists for iterators lists and tables for error reporting. Also it provides more flexible control on error reporting for user - now you can control whether debug aasertion throws an exception or not, or to supply your own termination routine in addition to reporting one. ++

    +

    New platforms

    + Configuration files provided for Apogee C++, Borland C++ Builder 4. +

    Smoother portability

    +

    New workarounds are used for compilers with limited capabilities. Standard forms of distance() + and operator -> for iterators is supported for them in 3.2. Additional user-level switch +- __STL_MINIMUM_DEFAULT_TEMPLATE_PARAMS is added to use minimum set of default arguments on ++ _STLP_MINIMUM_DEFAULT_TEMPLATE_PARAMS is added to use minimum set of default arguments on + template classes that have more than one - for example map<>, set<>. This is supposed to help compiling existing standard code which use shortest notation. +- Many other portability issues reported for 3.12 are fixed, including workaround for famous Sun CC 4.2 bug. __STL_USE_MFC switch added for MFC cooperation. ++ Many other portability issues reported for 3.12 are fixed, including workaround for famous Sun CC 4.2 bug. _STLP_USE_MFC switch added for MFC cooperation. ++

    +

    Configuration engine changes

    +

    Configuration switches changed - those describing compiler misfeatures changed so that + the compiler that implements complete ANSI C++ Standard and has no bugs would have empty + configuration file. ++

    +
    +
    +

    STLport 3.12 Release Notes

    +@@ -221,7 +132,7 @@ + please be sure to read the document + describing this technique.

    +

    New-style iostreams:

    +-

    In STLport 3.12, __STL_USE_NEW_IOSTREAMS  macro controls ++

    In STLport 3.12, _STLP_USE_NEW_IOSTREAMS  macro controls + whether you are using templatized iostreams or not. This setting is + important - STLport's <iostream> imports appropriate + version of native iostreams (<iostream> vs. <iostream.h> +@@ -236,9 +147,9 @@ + other new features).

    +

    Underscored  names

    +

    All inernal names in STLport 3.12 starts with undercsore +- ("_"), as specified by C++ standard.

    +-

    New-style C library headers

    +- In this release, __STL_USE_NEW_STYLE_HEADERS only controls ++ ("_"), as specified by C++ standard.

    ++

    New-style C library headers

    ++ In this release, _STLP_USE_NEW_STYLE_HEADERS only controls + STLport choice of using new-style C library headers : <cstdio> vs. + <stdio.h>, etc. +

    Bitset - additional parameter

    +@@ -258,41 +169,8 @@ +

    Note that explicit use of extra parameter will lead to + non-portability with other STL implementations. You may force full + version to be the default ( deque<class T, class Alloc=allocator<T>, +- size_t BufSize=0> ) by disabling __STL_NON_TYPE_TMPL_PARAM_BUG ++ size_t BufSize=0> ) by disabling _STLP_NON_TYPE_TMPL_PARAM_BUG + switch. Note that you may have problems instantiating template functions + taking deque as its argument then.

    + +- +- +- +-
    +- +- +- +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    +-
    +-
    Copyright © 1999,2000 by Boris Fomitchev.   +-  Last modified: July 14, 2000 +-
    +-
    +- +- +- +- +- +- ++

    Table of Contents


    Copyright 2001 by STLport
    +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/select_io.html tripwire-2.3.1-2/src/STLport-4.0/doc/select_io.html +--- tripwire-2.3.1-2.old/src/STLport-4.0/doc/select_io.html Sat Feb 24 10:45:58 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/doc/select_io.html Mon Mar 17 12:57:57 2003 +@@ -1,158 +1,59 @@ +- +- +-STLport - Getting Started : Selecting IOStreams mode +- +- +- +- +- +- +- +- +- +-
    +-
    +- +- +-
    +- +- +- +- +- +-
    +- STLport.org - "Templates that fit" +- +- +- +- +- +-
    +- +-
    +-
    +-
    +-
    +-
    +- +- +- +- +- +-
    +-
    +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    Contents
    +- Introduction
    +- +-   About STLport
    +-   SGI STL Base
    +-   STLport Story
    +- +- +-

    STLport Features
    +-   Portability
    +-   Debug Mode
    +-   Thread Safety
    +-   Exception Safety +-

    +- +-

    Getting Started
    +- +-   Download and Install
    +-   Select Streams Mode
    +-   Compiling with STLport +-

    +- +-

    White Papers
    +-   Release Notes
    +- +-   READMEs
    +-   Interface with std::
    +-   Wrappers
    +-   Config manual
    +-   Regression Test
    +-   Exception Test +-

    +- +-

    Feedback
    +-   Bug Reports
    +-   Forum
    +-

    +- +-

    Appendix
    +-   Acknowledgements
    +- +-   Your Free Licence

    +- +-
    +- +-
    ++STLport: Getting Started: Selecting IOStreams mode +-




    + +- +-

    Selecting IOStreams Mode

    ++ Selecting IOStreams Mode + +-

    Major IOStream Modes

    ++

    Major IOStream Modes

    + + STLport 4.0 may be used in two different major modes : +
      +-
    • With SGI iostreams (default). In this mode, you are going to use iostreams ++
    • With STLport iostreams (default). In this mode, you are going to use iostreams + and complex libraries provided by STLport. + To do so, first you have to build STLport library from sources + provided in "src" subdirectory and link your programs with it. +- This is major change since pre-4.0 releases, please read the instructions carefully. ++ This is major change since pre-4.0 releases, please read the instructions carefully.
    • + +-
    • Without SGI iostreams. In this mode, STLport will use wrappers around ++
    • Without STLport iostreams. In this mode, STLport will use wrappers around + your compiler's iostreams and complex libraries, just like in STLport +- releases prior to 4.0. ++ releases prior to 4.0.
    • +
    + +-

    Installing STLport for use without SGI iostreams

    ++ For any of these modes, please make sure ++ "stlport" directory containing header files ++ is the first one in your include search path when you compile the project
    ++ ++

    Installing STLport for use without STLport iostream library ("wrapper mode")

    + + In this mode, you will use wrappers around your compiler's iostreams + libabry, as in previous STLport releases. + + All you have to do to use STLport in this mode is to uncomment +- __STL_NO_SGI_IOSTREAMS setting in "stlport/stl/_site_config.h" +- to disable use of SGI iostreams and to use wrappers around your existing iostreams. ++ _STLP_NO_OWN_IOSTREAMS setting in "stlport/stl/_site_config.h" ++ to disable use of STLport iostreams and to use wrappers around your existing iostreams. ++ (For SUN CC, you still have to go to "src" subdirectory and do "make" or at least "make prepare" to produce additional .SUNWCCh files necessary for compilation) + + Note though : +
      ++
    • For the most modern compilers which implements Koenig lookup properly, this option may not be available due to ambiguities during namespace lookup. Example: gcc-3.0
    • +
    • New-style ANSI iostreams and/or complex library + may not be provided by your compiler vendor;
    • +-
    • If provided, vendor iostreams are most likely slower than SGI version.
    • ++
    • If provided, vendor iostreams may appear to be slower than STLport version.
    • +
    +- If you have decided to disable SGI iostreams, you may stop reading here. ++ If you have decided to disable STLport iostreams, you may stop reading here. + To use wrapper mode, you do not have to build any binary libraries, as everything you need + is contained in the header files already. + +-

    Building STLport iostreams library (Default Mode)

    ++

    Building STLport iostreams library (Default Mode)

    + +- In this mode, you will use SGI implementation of iostreams instead of the one that comes ++ In this mode, you will use STLport implementation of iostreams instead of the one that comes + with your compiler. It does contain some non-template code so you have to build STLport + iostreams library in "src" directory to link your project with. + + Below are step-by-step instructions to build STLport library: +
      +-
    1. Unpack STLport as described in "Install" document.
    2. ++
    3. Do make sure you have followed instructions for default installation above.
    4. + +-
    5. Go to "src" subdirectory. It contains makefiles for different compilers. +- If iostreams library is not yet ported to your compiler +- (please see Release Notes for details), +- you may revert to use no-SGI-iostreams mode or port it. +- Please refer ++
    6. Go to "src" subdirectory. It contains various makefiles for different compilers. ++ If iostreams library is not yet ported to your compiler (please see Release Notes for details), you may revert to use "wrapper" mode or port it. Please refer + to porting document to learn how to port iostreams library + to your compiler. The porting procedure is usually straightforward on UNIXes. +
    7. +@@ -163,52 +64,16 @@ + Note : your make program may have different name, like "nmake" for Visual C++, so, with "nmake", do "nmake clean all" + + +-
    8. If make fails, you may try fixing the build yourself and/or report it to STLport Forum. ++
    9. If make fails, you may try fixing the build yourself and/or report it to STLport Forum. +
    10. + +
    11. Do "make install" to install resulting libraries into "lib" subdirectory. On Windows, this step also copies .dll libraries to system directory to be accessible at runtime.
    12. + +- +
    +-

    + +

    Testing STLport

    + STLport provides two test suites - regression + test and exception handling test.
    + It is recommended that you build and run them in place to verify your new STLport installation is OK. +-

      +- +- +- +- +-

    +- +- +- +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    +-
    +-
    Copyright © 1999,2000 by Boris Fomitchev.   +-  Last modified: July 14, 2000 +-
    +-
    +- +- +- +- + +- ++

    Table of Contents


    Copyright 2001 by STLport
    +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/sgi_stl.html tripwire-2.3.1-2/src/STLport-4.0/doc/sgi_stl.html +--- tripwire-2.3.1-2.old/src/STLport-4.0/doc/sgi_stl.html Sat Feb 24 10:45:59 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/doc/sgi_stl.html Mon Mar 17 12:57:57 2003 +@@ -1,111 +1,9 @@ +- +- +- +-STLport - SGI STL Overview ++STLport: SGI STL Overview




    + +- +- +- +- +- +- +- +- +-
    +-
    +- +- +-
    +- +- +- +- +- +-
    +- STLport.org - "Templates that fit" +- +- +- +- +- +-
    +- +-
    +-
    +-
    +-
    +-
    +- +- +- +- +-
    +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    Contents
    +- Introduction
    +- +-   About STLport
    +-   SGI STL Base
    +-   STLport Story
    +- +- +-

    STLport Features
    +-   Portability
    +-   Debug Mode
    +-   Thread Safety
    +-   Exception Safety +-

    +- +-

    Getting Started
    +- +-   Download and Install
    +-   Select Streams Mode
    +-   Compiling with STLport +-

    +- +-

    White Papers
    +-   Release Notes
    +- +-   READMEs
    +-   Interface with std::
    +-   Wrappers
    +-   Config manual
    +-   Regression Test
    +-   Exception Test +-

    +- +-

    Feedback
    +-   Bug Reports
    +-   Forum
    +-

    +- +-

    Appendix
    +-   Acknowledgements
    +- +-   Your Free Licence

    +- +-
    +- +-
    +- +- +-

    SGI Standard Template Library

    ++ SGI Standard Template Library + +

    Overview

    +-

    Silicon Graphics has made its implementation of the C++ ++

    Silicon Graphics has made its implementation of the C++ + Standard Template Library freely available to the public. The SGI + Standard Template Library features thread safety, improved memory + utilization, improved run-time efficiency, and new data structures, +@@ -174,7 +72,7 @@ + all copies and that both that copyright notice and this permission + notice appear in supporting documentation. Hewlett-Packard Company makes + no representations about the suitability of this software for any +- purpose. It is provided "as is" without express or implied ++ purpose. It is provided "as is" without express or implied + warranty.

    +

    Permission to use, copy, modify, distribute and + sell this software and its documentation for any purpose is hereby +@@ -182,39 +80,7 @@ + all copies and that both that copyright notice and this permission + notice appear in supporting documentation. Silicon Graphics makes no + representations about the suitability of this software for any purpose. +- It is provided "as is" without express or implied warranty. +- +- +- +-

    +-
    +-
    +- +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    +-
    +-
    Copyright © 1999,2000 by Boris Fomitchev.   +-  Last modified: July 14, 2000 +-
    +-
    +- +- +- +- +- +- ++ It is provided "as is" without express or implied warranty. ++

    + ++

    Table of Contents


    Copyright 2001 by STLport
    +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/story.html tripwire-2.3.1-2/src/STLport-4.0/doc/story.html +--- tripwire-2.3.1-2.old/src/STLport-4.0/doc/story.html Sat Feb 24 10:45:59 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/doc/story.html Mon Mar 17 12:57:57 2003 +@@ -1,109 +1,8 @@ +- +- +-STLport Story +- +- +- +- +- +- +- +- +- +-
    +-
    +- +- +-
    +- +- +- +- +- +-
    +- STLport.org - "Templates that fit" +- +- +- +- +- +-
    +- +-
    +-
    +-
    +-
    +-
    +- +- +- +- +-
    +-
    +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    Contents
    +- Introduction
    +- +-   About STLport
    +-   SGI STL Base
    +-   STLport Story
    +- +- +-

    STLport Features
    +-   Portability
    +-   Debug Mode
    +-   Thread Safety
    +-   Exception Safety +-

    +- +-

    Getting Started
    +- +-   Download and Install
    +-   Select Streams Mode
    +-   Compiling with STLport +-

    +- +-

    White Papers
    +-   Release Notes
    +- +-   READMEs
    +-   Interface with std::
    +-   Wrappers
    +-   Config manual
    +-   Regression Test
    +-   Exception Test +-

    +- +-

    Feedback
    +-   Bug Reports
    +-   Forum
    +-

    +- +-

    Appendix
    +-   Acknowledgements
    +- +-   Your Free Licence

    +- +-
    +- +-
    ++STLport: History +-




    + ++STLport Story + +-

    STLport Story

    +- +-
    by Boris Fomitchev
    ++
    by Boris Fomitchev
    + +

    First Step

    + +@@ -127,52 +26,18 @@ + + The first time STLport went ahead of SGI STL was introduction of exception handling support. Dave Abrahams implemented exception-safe standard containers and algorithms on the base of SGI STL to present to ANSI C++ Commitee. At the time, no EH guarantees/requirements were present in the draft standard. Dave proposed to merge his changes into STLport, for maintenance reasons, which I happily did. In the meantime, SGI somewhat independently implemented the exception-safety guarantees in the proposal Dave brought before the committee with Greg Colvin. The STLport exception-handling testsuite was instrumental in getting these implementations right. Dave and Greg managed to get the proposal approved by the standards commitee, due in part to the existence of two working implementations. + +-

    Making the Difference

    ++

    Making the Difference

    + +-Debug Mode was implemented after "Safe STL" (debug version of HP STL, by Cay Horstmann) in 1997. It is still the feature which makes STLport different from all other standard libraries. No matter how simple the idea of this mode might look, it took severaseveral complete redesigns to get it to its current level. I am very pleased to be able to present this unique feature. ++Debug Mode was implemented after "Safe STL" (debug version of HP STL, by Cay Horstmann) in 1997. It is still the feature which makes STLport different from all other standard libraries. No matter how simple the idea of this mode might look, it took several complete redesigns to get it to its current level. I am very pleased to be able to present this unique feature. + +-

    Letting Go

    ++

    Letting Go

    + + I have to confess that there was a time when I was serious about selling STLport as a commercial library. + It took me two years to get a slight idea of how the industry works. So I decided to stick with open source. + +-

    Growing Up

    ++

    Growing Up

    + Using open source component does not necessarily mean relying on self-maintenance and volunteers good will. + In 1999, STLport Consulting, Inc. was founded. We offer STLport support contracts as well as custom development and +-other consulting services. You may reach us at consulting@stlport.com. +- +- +- +- +-
    +- +- +- +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    +-
    +-
    Copyright © 1999,2000 by Boris Fomitchev.   +-  Last modified: July 14, 2000 +-
    +-
    +- +- +- +- +- +- ++other consulting services. You may reach us at consulting@stlport.com. + ++

    Table of Contents


    Copyright 2001 by STLport
    +Only in tripwire-2.3.1-2.old/src/STLport-4.0/doc: style.css +Only in tripwire-2.3.1-2.old/src/STLport-4.0/doc: test.html +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/testsuite.html tripwire-2.3.1-2/src/STLport-4.0/doc/testsuite.html +--- tripwire-2.3.1-2.old/src/STLport-4.0/doc/testsuite.html Sat Feb 24 10:45:59 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/doc/testsuite.html Mon Mar 17 12:57:57 2003 +@@ -1,108 +1,9 @@ +- +- +- +-STLport - Testsuite ++STLport: Testsuite




    + +- +- +- +- +- +- +- +- +-
    +-
    +- +- +-
    +- +- +- +- +- +-
    +- STLport.org - "Templates that fit" +- +- +- +- +- +-
    +- +-
    +-
    +-
    +-
    +-
    +- +- +- +- +-
    +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    Contents
    +- Introduction
    +- +-   About STLport
    +-   SGI STL Base
    +-   STLport Story
    +- +- +-

    STLport Features
    +-   Portability
    +-   Debug Mode
    +-   Thread Safety
    +-   Exception Safety +-

    +- +-

    Getting Started
    +- +-   Download and Install
    +-   Select Streams Mode
    +-   Compiling with STLport +-

    +- +-

    White Papers
    +-   Release Notes
    +- +-   READMEs
    +-   Interface with std::
    +-   Wrappers
    +-   Config manual
    +-   Regression Test
    +-   Exception Test +-

    +- +-

    Feedback
    +-   Bug Reports
    +-   Forum
    +-

    +- +-

    Appendix
    +-   Acknowledgements
    +- +-   Your Free Licence

    +- +-
    +- +-
    +- +-

    STLport Test Suite

    ++ STLport Test Suite ++

    + by Boris Fomitchev ++

    +

    Abstract

    +

    STLport test suite performs extensive test of basic STLport + functionality.
    +@@ -131,7 +32,7 @@ + distribution.
    + You may have to edit appropriate makefile to fit your compiler and + include directories .
    +- After you've done, try "make check". This target is ++ After you've done, try "make check". This target is + output (stl_test.out) of single executable containing all the + tests.
    + Compare it with stl_test.exp output. There should be no +@@ -140,44 +41,12 @@ + uses rand() function, you should compare the result with stl_test.rand.exp. + Obviously, there is no guarantee for matching of different rand() + implementations.
    +- If some test fails to compile, you may try "make test_name.out" ++ If some test fails to compile, you may try "make test_name.out" + to produce single test executable and run it.

    +

    Linux (glibc) note

    +

    GNU libc, being used widely on Linux platforms, has different + random generator implementation than one used on most UNIX platforms. + You should ignore the output difference of tests using random generator. ++

    + +- +- +- +-
    +-
    +-
    +- +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    +-
    +-
    Copyright © 1999,2000 by Boris Fomitchev.   +-  Last modified: July 14, 2000 +-
    +-
    +- +- +- +- +- +- ++

    Table of Contents


    Copyright 2001 by STLport
    +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/thanks.html tripwire-2.3.1-2/src/STLport-4.0/doc/thanks.html +--- tripwire-2.3.1-2.old/src/STLport-4.0/doc/thanks.html Sat Feb 24 10:45:59 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/doc/thanks.html Mon Mar 17 12:57:57 2003 +@@ -1,121 +1,18 @@ +- +- +- +-STLport - Acknowledgements ++STLport: Acknowledgements --




    + +- +- +- +- +- +- +- +- +-
    +-
    +- +- +-
    +- +- +- +- +- +-
    +- STLport.org - "Templates that fit" +- +- +- +- +- +-
    +- +-
    +-
    +-
    +-
    +-
    +- +- +- +- +-
    +-
    +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    Contents
    +- Introduction
    +- +-   About STLport
    +-   SGI STL Base
    +-   STLport Story
    +- +- +-

    STLport Features
    +-   Portability
    +-   Debug Mode
    +-   Thread Safety
    +-   Exception Safety +-

    +- +-

    Getting Started
    +- +-   Download and Install
    +-   Select Streams Mode
    +-   Compiling with STLport +-

    +- +-

    White Papers
    +-   Release Notes
    +- +-   READMEs
    +-   Interface with std::
    +-   Wrappers
    +-   Config manual
    +-   Regression Test
    +-   Exception Test +-

    +- +-

    Feedback
    +-   Bug Reports
    +-   Forum
    +-

    +- +-

    Appendix
    +-   Acknowledgements
    +- +-   Your Free Licence

    +- +-
    +- +-
    +- +- +-

    Acknowledgements

    ++ Acknowledgements + +

    Special thanks to:

    +
      +
    • Alexander Stepanov for his fundamental work;
    • +-
    • SGI +- STL  team and personally to Matt Austern, for his valuable collaboration
    • ++
    • Matt Austern, for his valuable collaboration
    • +
    • Dave Abrahams, for his continuous help, exception-handling code contribution, + EH testsuite and Metrowerks support
    • +
    • Cay Horstmann, for debug approach example
    • +
    +- Thanks to all contributors who ++ Thanks to all contributors who + have submitted bug reports, patches and suggestions: +- ++
    + + +- ++ + +@@ -223,37 +195,4 @@ + + + +- +- +- +- +-
    + +@@ -165,10 +62,6 @@ +
  • Catherine Lung
  • +
  • Joachim Achtzehnter
  • +
  • Steven Woolgar
  • +-
    +-
    +- +
  • Michael Carr
  • +
  • Simon-Pierre Cadieux
  • +
  • Tinny Ng
  • +@@ -209,13 +102,92 @@ +
  • Marc W. Mengel
  • +
  • Willie Arbuckle
  • +
  • Matthew Kelly
  • ++
    ++
    ++ +
  • Mikhail Leonov
  • +
  • E.Musser
  • +
  • Andrew Waters
  • +
  • Bruce Alderson
  • +
  • Ben Nason
  • +
  • Danny Smith
  • +- ++
  • Andrey Khovanskiy
  • ++
  • Ben Liblit
  • ++
  • Mike Steed
  • ++
  • Sean Cavanaugh
  • ++
  • John Hynes
  • ++
  • Glen Summers
  • ++
  • Dirk Schreib
  • ++
  • Jeff Sparkes
  • ++
  • Ricardo Gayoso
  • ++
  • John Wiegley
  • ++
  • Craig Powers
  • ++
  • Bryan Byrnes
  • ++
  • Vijay Ramachandran
  • ++
  • Ed Brey
  • ++
  • Matthew Collins
  • ++
  • Jack Andrews
  • ++
  • Bernd Mohr
  • ++
  • Charles Burfoot
  • ++
  • Brett Denner
  • ++
  • Serge Pashkov
  • ++
  • George Trojan
  • ++
  • Bruce Dawson
  • ++
  • Adam Gates
  • ++
  • Levente Farkas
  • ++
  • Mark Laffoon
  • ++
  • Holger Stasch
  • ++
  • Anton Lapach
  • ++
  • Ingo Donasch
  • ++
  • Jack Andrews
  • ++
  • Jason Taylor
  • ++
  • Thomas Witt
  • ++
  • Mat Marcus
  • ++
  • Jesse Jones
  • ++
  • Jim Cole
  • ++
  • Rene van Oostrum
  • ++
  • Kenny Simpson
  • ++
  • Gerd Hoeren
  • ++
  • Tom Widmer
  • ++
  • Vadim Egorov
  • ++
  • Dean Sturtevant
  • ++
  • Gavin Collins
  • ++
  • Alberto Barbati
  • ++
  • Todd Wilson
  • ++
  • Per Liboriussen
  • ++
  • Michael Rauch
  • ++
  • Tanes Sriviroolchai
  • ++
  • Patrick Luby
  • ++
  • Joachim Achtzehnter
  • ++
  • Phillip Toland
  • ++
  • Val Melamed
  • ++
  • Johannes Brunen
  • ++
  • Sergei Nikolaev
  • ++
  • Levente Farkas
  • ++
  • Rainer Schnitker
  • ++
  • Carlos Paniago
  • ++
  • Yotam Medini
  • ++
  • Anton Ephanov
  • ++
  • Doug Gilbert
  • ++
  • Steven Green
  • ++
  • Andreas Malzahn
  • ++
  • Whitney Kew
  • ++
  • Dan Ingold
  • ++
  • Ed James-Beckerman
  • ++
  • John Daniel
  • ++
  • Marcello Pietrobon
  • ++
  • Mukesh Kapoor
  • ++
  • Jens Maurer
  • ++
  • Stephen Baker
  • ++
  • Thomas Meischner
  • ++
  • Bruce Florman
  • ++
  • Paul Ghezzi
  • ++
  • Tobias Ernst
  • ++
  • Steve Loves
  • ++
  • Piers Haken
  • ++
  • Michael Kopp
  • ++
  • Synge Todo
  • +
    +
    +- +- +- +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    +-
    +-
    Copyright © 1999,2000 by Boris Fomitchev.   +-  Last modified: July 14, 2000 +-
    +-
    +- +- +- +- +- +- ++

    Table of Contents


    Copyright 2001 by STLport
    +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/use_stlport.html tripwire-2.3.1-2/src/STLport-4.0/doc/use_stlport.html +--- tripwire-2.3.1-2.old/src/STLport-4.0/doc/use_stlport.html Sat Feb 24 10:45:59 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/doc/use_stlport.html Mon Mar 17 12:57:57 2003 +@@ -1,108 +1,6 @@ +- +- +-STLport - Getting Started : Compiling with STLport ++STLport: Getting Started: Compiling with STLport




    + +- +- +- +- +- +- +- +- +-
    +-
    +- +- +-
    +- +- +- +- +- +-
    +- STLport.org - "Templates that fit" +- +- +- +- +- +-
    +- +-
    +-
    +-
    +-
    +-
    +- +- +- +- +- +-
    +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    Contents
    +- Introduction
    +- +-   About STLport
    +-   SGI STL Base
    +-   STLport Story
    +- +- +-

    STLport Features
    +-   Portability
    +-   Debug Mode
    +-   Thread Safety
    +-   Exception Safety +-

    +- +-

    Getting Started
    +- +-   Download and Install
    +-   Select Streams Mode
    +-   Compiling with STLport +-

    +- +-

    White Papers
    +-   Release Notes
    +- +-   READMEs
    +-   Interface with std::
    +-   Wrappers
    +-   Config manual
    +-   Regression Test
    +-   Exception Test +-

    +- +-

    Feedback
    +-   Bug Reports
    +-   Forum
    +-

    +- +-

    Appendix
    +-   Acknowledgements
    +- +-   Your Free Licence

    +- +-
    +- +-
    +- +- +-

    Compiling Your Project with STLport

    ++ Compiling Your Project with STLport + +

    + Please make sure +@@ -111,52 +9,19 @@ +

    + Note: for SunPro CC 5.0 and higher, there is special directory "stlport/SC5" + to be set in search path due to specific SUNpro search rules) ++

    + +- +-

    Special Notes for SGI IOstreams Mode

    ++

    Special Notes for STLport as a dynamic library

    ++

    + When using STLport as a dynamic library, please make sure you put in the PATH + and distribute it together with your executable. This extra dependency is certainly + in favor of using static linking. However, if your project deploys any + Win DLL's using STLport, you have to use STLport as Win DLL, too. This is because + it contains some static variables (like cerr stream) which would otherwise be duplicated +- in every DLL. This problem does not arise in Unix world. ++ in every DLL. This problem does not arise in Unix world.

    +

    + [ Visual C++ specific ] If using STLport as DLL, please be sure to use /MD[d] + compiler option to pick up all dynamic libraries. ++

    + +-

      +- +- +- +- +-

    +-
    +-
    +- +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    +-
    +-
    Copyright © 1999,2000 by Boris Fomitchev.   +-  Last modified: July 14, 2000 +-
    +-
    +- +- +- +- +- +- ++

    Table of Contents


    Copyright 2001 by STLport
    +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/vendor_interface.html tripwire-2.3.1-2/src/STLport-4.0/doc/vendor_interface.html +--- tripwire-2.3.1-2.old/src/STLport-4.0/doc/vendor_interface.html Sat Feb 24 10:46:00 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/doc/vendor_interface.html Mon Mar 17 12:57:57 2003 +@@ -1,121 +1,20 @@ +- +- +- +-STLport - Native C++ Library Interface +- +- +- +- +- +- +- +- +- +-
    +-
    +- +- +-
    +- +- +- +- +- +-
    +- STLport.org - "Templates that fit" +- +- +- +- +- +-
    +- +-
    +-
    +-
    +-
    +-
    +- +- +- +- +-
    +-
    +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    Contents
    +- Introduction
    +- +-   About STLport
    +-   SGI STL Base
    +-   STLport Story
    +- +- +-

    STLport Features
    +-   Portability
    +-   Debug Mode
    +-   Thread Safety
    +-   Exception Safety +-

    +- +-

    Getting Started
    +- +-   Download and Install
    +-   Select Streams Mode
    +-   Compiling with STLport +-

    +- +-

    White Papers
    +-   Release Notes
    +- +-   READMEs
    +-   Interface with std::
    +-   Wrappers
    +-   Config manual
    +-   Regression Test
    +-   Exception Test +-

    +- +-

    Feedback
    +-   Bug Reports
    +-   Forum
    +-

    +- +-

    Appendix
    +-   Acknowledgements
    +- +-   Your Free Licence

    +- +-
    +- +-
    ++STLport: Native C++ Library Interface +-




    + + +-

    STLport and Vendor's C++ Library

    ++ STLport and Vendor's C++ Library +

    Modern compilers come with more or less complete ANSI standard C++ +- library.  Below, term "native" ++ library.  Below, term "native" + is being used to refer to standard C++ headers and object code libraries +- supplied with the compiler. ++ supplied with the compiler.

    + +

    The problem that arises when you want to use STLport with them, is + that putting STLport into namespace std:: may violate ODR(One + Definition Rule). This can happen if some parts of native + library (such as string, locale, iostream) are + instantiated already and compiled into native runtime C++ support +- libraries.
    ++ libraries.


    + +- Example : Visual C++ 6.x

    ++ Example : Visual C++ 6.x + +

    In practice, if the compiler supplies  new-style <iostream>, + you have this problem almost for sure - typically that means you have +@@ -123,12 +22,12 @@ + library. The clash can happen even if you do not utilize new-style + iostreams.

    + +-

    Even if you use STLport with SGI iostreams, which means your code do not +- use any part of native C++ library, you may still encounter clashes at ++

    Even if you use STLport with its own iostreams, which means your code do not ++ use any part of native C++ standard library, you may still encounter clashes at + link stage. Just magine using 3rd-party lib which was compiled with +- native library.
    ++ native library.

    +

    To resolve this namespace conflict, after long experiments, +- it was decided to put STLport into its own namespace "_STL::". ++ it was decided to put STLport into its own namespace "_STL::". +
    + This provides seamless drop-in compatibility and ensures no conflicts + are ever possible.

    +@@ -137,42 +36,13 @@ + you use _STL:: components, + not the native std:: one, STLport provides macro redefinition + of std:: into _STL::. +- This is completely transparent to the user. ++ This is completely transparent to the user.

    +

    + As STLport code uses namespace different from std::, + it never clashes with native library - neither at compile nor at link time. ++

    ++

    For the most modern compilers which implements Koenig lookup properly, "wrapper mode" w/o STLport iostreams may not be available due to ambiguities during namespace lookup. Example: gcc-3.0. ++

    + +- +- + +-
    +- +- +- +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    +-
    +-
    Copyright © 1999,2000 by Boris Fomitchev.   +-  Last modified: July 14, 2000 +-
    +-
    +- +- +- +- +- +- ++

    Table of Contents


    Copyright 2001 by STLport
    +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/wrappers.html tripwire-2.3.1-2/src/STLport-4.0/doc/wrappers.html +--- tripwire-2.3.1-2.old/src/STLport-4.0/doc/wrappers.html Sat Feb 24 10:46:00 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/doc/wrappers.html Mon Mar 17 12:57:57 2003 +@@ -1,115 +1,16 @@ +- +- +- +-STLport - Wrappers Technique ++STLport: Wrappers Technique




    + +- +- +- +- +- + +- +- +-
    +-
    +- +- +-
    +- +- +- +- +- +-
    +- STLport.org - "Templates that fit" +- +- +- +- +- +-
    +- +-
    +-
    +-
    +-
    +-
    +- +- +- +- +-
    +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    Contents
    +- Introduction
    +- +-   About STLport
    +-   SGI STL Base
    +-   STLport Story
    +- +- +-

    STLport Features
    +-   Portability
    +-   Debug Mode
    +-   Thread Safety
    +-   Exception Safety +-

    +- +-

    Getting Started
    +- +-   Download and Install
    +-   Select Streams Mode
    +-   Compiling with STLport +-

    +- +-

    White Papers
    +-   Release Notes
    +- +-   READMEs
    +-   Interface with std::
    +-   Wrappers
    +-   Config manual
    +-   Regression Test
    +-   Exception Test +-

    +- +-

    Feedback
    +-   Bug Reports
    +-   Forum
    +-

    +- +-

    Appendix
    +-   Acknowledgements
    +- +-   Your Free Licence

    +- +-
    +- +-
    +- +- +-

    Wrapper Technique in STLport

    ++ Wrapper Technique in STLport ++

    + Considerable point of non-portability was the lack of default + template class parameters in many compilers. C++ template syntax doesn't + allow an easy way to hide that behind any macro magic. +-

    STLport uses wrapper technique to work around that:
    +- Full functionality for 'container' is implemented via class '__container__'.

    ++
    STLport uses wrapper technique to work around that:
    ++ Full functionality for 'container' is implemented via class '__container__'. ++

    +

    For example:

    +-
    #ifdef __STL_DEFAULT_TYPE_PARAM
    ++        
    #ifdef _STLP_DEFAULT_TYPE_PARAM
    + template <class T, class Alloc = alloc>
    + #else
    + #  define vector __vector
    +@@ -118,7 +19,7 @@
    + class vector {
    + public:
    + ......
    +-#ifdef __STL_DEFAULT_TYPE_PARAM
    ++#ifdef _STLP_DEFAULT_TYPE_PARAM
    + define __vector__ vector
    + # else
    + template <class T>
    +@@ -126,7 +27,7 @@
    + {
    + .....
    + #define __vector__ __vector
    +-# endif /* __STL_DEFAULT_TYPE_PARAM */
    ++# endif /* _STLP_DEFAULT_TYPE_PARAM */
    + So, you are provided with two versions of container: with and without + default parameters. It buys you a way to access full functionality while + not breaking code using the short notation.
    +@@ -136,48 +37,16 @@ + to be able to switch easily.
    + If you don't use different allocators, don't bother. +

    New in STLport 3.2:
    +- __STL_MINIMUM_DEFAULT_TEMPLATE_PARAMS switch is introduced for user to take control ++ _STLP_MINIMUM_DEFAULT_TEMPLATE_PARAMS switch is introduced for user to take control + of wrappers behavior with classes that have more than one default template argument. With this switch defined, + STLport will use minimum set of default arguments on template classes that have more than one - + for example map<>, set<>. +- This is supposed to help compiling existing standard code which use shortest notation. ++ This is supposed to help compiling existing standard code which use shortest notation.

    + +

    Here is the list of compilers that cannot handle dependant + default template parameters:
    + SunPro CC, BC++ 4.52, VC++ 4.2, xlC 3.1.4, DEC C++ 5.5, Visual Age C++ +- 3.0. +- +- +- +- +-

    +-
    +-
    +- +-
    +- +- +- +- +-
    +- +- +- +- +- +- +- +- +-
    +-
    +-
    Copyright © 1999,2000 by Boris Fomitchev.   +-  Last modified: July 14, 2000 +-
    +-
    +- +- ++ 3.0.

    + +- + +- ++

    Table of Contents


    Copyright 2001 by STLport
    +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/MrCpp.mak tripwire-2.3.1-2/src/STLport-4.0/src/MrCpp.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/MrCpp.mak Sat Feb 24 10:44:12 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/MrCpp.mak Sun Aug 11 18:59:22 2002 +@@ -5,7 +5,7 @@ + !ifdef DEBUG + config_ = .PPC.DBG + MrCpp_DebugOptions = -inline none,global -opt none {Sym-PPC} +-STL_DebugOptions = -d __STL_DEBUG -d __STL_DEBUG_ALLOC -d __STL_DEBUG_UNINITIALIZED ++STL_DebugOptions = -d _STLP_DEBUG -d _STLP_DEBUG_ALLOC -d _STLP_DEBUG_UNINITIALIZED + !else + config_ = .PPC + MrCpp_DebugOptions = +@@ -18,8 +18,8 @@ + + MrCpp_Options = -ansi on -ansifor -bool on -exceptions on -rtti on -align power -j0 -traceback -opt size -inline 3,global -includes unix_mac + +-STL_Options = #-d __STL_USE_NEWALLOC ¶ +- -d __STL_NO_SGI_IOSTREAMS ¶ ++STL_Options = #-d _STLP_USE_NEWALLOC ¶ ++ #-d _STLP_NO_SGI_IOSTREAMS ¶ + # end + + Link_options = ¶ +@@ -79,135 +79,77 @@ + ### Source Files ### + + STLportLibSrcFiles = ¶ +- c_locale_stub.cpp ¶ ++ c_locale_stub.cpp ¶ + codecvt.cpp ¶ +- codecvt_byname.cpp ¶ +- codecvt_w.cpp ¶ + collate.cpp ¶ +- collate_byname.cpp ¶ +- collate_byname_w.cpp ¶ +- collate_w.cpp ¶ + complex.cpp ¶ + complex_exp.cpp ¶ + complex_io.cpp ¶ + complex_io_w.cpp ¶ + complex_trig.cpp ¶ + ctype.cpp ¶ +- ctype_byname.cpp ¶ +- ctype_byname_w.cpp ¶ +- ctype_w.cpp ¶ +-# dll_main.cpp ¶ ++ dll_main.cpp ¶ + fstream.cpp ¶ +- fstream_w.cpp ¶ + ios.cpp ¶ +- ios_base.cpp ¶ +- ios_w.cpp ¶ + iostream.cpp ¶ ++ istream.cpp ¶ + locale.cpp ¶ + locale_catalog.cpp ¶ ++ facets_byname.cpp ¶ + locale_impl.cpp ¶ +- message_facets.cpp ¶ +- message_facets_w.cpp ¶ ++ messages.cpp ¶ + monetary.cpp ¶ +- money_get.cpp ¶ +- money_get_w.cpp ¶ +- money_put.cpp ¶ +- money_put_w.cpp ¶ +- moneypunct.cpp ¶ +- moneypunct_byname.cpp ¶ +- moneypunct_byname_w.cpp ¶ +- moneypunct_w.cpp ¶ + num_get.cpp ¶ + num_get_float.cpp ¶ +- num_get_inst.cpp ¶ +- num_get_inst_w.cpp ¶ + num_put.cpp ¶ + num_put_float.cpp ¶ +- num_put_inst.cpp ¶ +- num_put_inst_w.cpp ¶ + numpunct.cpp ¶ +- numpunct_byname.cpp ¶ +- numpunct_w.cpp ¶ +- range_errors.cpp ¶ ++ ostream.cpp ¶ + sstream.cpp ¶ + stdio_streambuf.cpp ¶ + streambuf.cpp ¶ +- string.cpp ¶ + string_w.cpp ¶ + strstream.cpp ¶ +-# test.cpp ¶ + time_facets.cpp ¶ +- time_get.cpp ¶ +- time_get_w.cpp ¶ +- time_put.cpp ¶ +- time_put_w.cpp ¶ +- # end ++ # end #*TY 11/25/2000 - updated for STLport.4.1 + + + ### Object Files ### + + STLportLibObjFiles-PPC = ¶ +- "{ObjDir}"c_locale_stub.cpp.x ¶ +- "{ObjDir}"codecvt.cpp.x ¶ +- "{ObjDir}"codecvt_byname.cpp.x ¶ +- "{ObjDir}"codecvt_w.cpp.x ¶ +- "{ObjDir}"collate.cpp.x ¶ +- "{ObjDir}"collate_byname.cpp.x ¶ +- "{ObjDir}"collate_byname_w.cpp.x ¶ +- "{ObjDir}"collate_w.cpp.x ¶ +- "{ObjDir}"complex.cpp.x ¶ +- "{ObjDir}"complex_exp.cpp.x ¶ +- "{ObjDir}"complex_io.cpp.x ¶ +- "{ObjDir}"complex_io_w.cpp.x ¶ +- "{ObjDir}"complex_trig.cpp.x ¶ +- "{ObjDir}"ctype.cpp.x ¶ +- "{ObjDir}"ctype_byname.cpp.x ¶ +- "{ObjDir}"ctype_byname_w.cpp.x ¶ +- "{ObjDir}"ctype_w.cpp.x ¶ +- "{ObjDir}"fstream.cpp.x ¶ +- "{ObjDir}"fstream_w.cpp.x ¶ +- "{ObjDir}"ios.cpp.x ¶ +- "{ObjDir}"ios_base.cpp.x ¶ +- "{ObjDir}"ios_w.cpp.x ¶ +- "{ObjDir}"iostream.cpp.x ¶ +- "{ObjDir}"locale.cpp.x ¶ +- "{ObjDir}"locale_catalog.cpp.x ¶ +- "{ObjDir}"locale_impl.cpp.x ¶ +- "{ObjDir}"message_facets.cpp.x ¶ +- "{ObjDir}"message_facets_w.cpp.x ¶ +- "{ObjDir}"monetary.cpp.x ¶ +- "{ObjDir}"money_get.cpp.x ¶ +- "{ObjDir}"money_get_w.cpp.x ¶ +- "{ObjDir}"money_put.cpp.x ¶ +- "{ObjDir}"money_put_w.cpp.x ¶ +- "{ObjDir}"moneypunct.cpp.x ¶ +- "{ObjDir}"moneypunct_byname.cpp.x ¶ +- "{ObjDir}"moneypunct_byname_w.cpp.x ¶ +- "{ObjDir}"moneypunct_w.cpp.x ¶ +- "{ObjDir}"num_get.cpp.x ¶ +- "{ObjDir}"num_get_float.cpp.x ¶ +- "{ObjDir}"num_get_inst.cpp.x ¶ +- "{ObjDir}"num_get_inst_w.cpp.x ¶ +- "{ObjDir}"num_put.cpp.x ¶ +- "{ObjDir}"num_put_float.cpp.x ¶ +- "{ObjDir}"num_put_inst.cpp.x ¶ +- "{ObjDir}"num_put_inst_w.cpp.x ¶ +- "{ObjDir}"numpunct.cpp.x ¶ +- "{ObjDir}"numpunct_byname.cpp.x ¶ +- "{ObjDir}"numpunct_w.cpp.x ¶ +- "{ObjDir}"range_errors.cpp.x ¶ +- "{ObjDir}"sstream.cpp.x ¶ +- "{ObjDir}"stdio_streambuf.cpp.x ¶ +- "{ObjDir}"streambuf.cpp.x ¶ +- "{ObjDir}"string.cpp.x ¶ +- "{ObjDir}"string_w.cpp.x ¶ +- "{ObjDir}"strstream.cpp.x ¶ +- "{ObjDir}"time_facets.cpp.x ¶ +- "{ObjDir}"time_get.cpp.x ¶ +- "{ObjDir}"time_get_w.cpp.x ¶ +- "{ObjDir}"time_put.cpp.x ¶ +- "{ObjDir}"time_put_w.cpp.x ¶ +- # end ++ {ObjDir}c_locale_stub.cpp.x ¶ ++ {ObjDir}codecvt.cpp.x ¶ ++ {ObjDir}collate.cpp.x ¶ ++ {ObjDir}complex.cpp.x ¶ ++ {ObjDir}complex_exp.cpp.x ¶ ++ {ObjDir}complex_io.cpp.x ¶ ++ {ObjDir}complex_io_w.cpp.x ¶ ++ {ObjDir}complex_trig.cpp.x ¶ ++ {ObjDir}ctype.cpp.x ¶ ++ {ObjDir}dll_main.cpp.x ¶ ++ {ObjDir}fstream.cpp.x ¶ ++ {ObjDir}ios.cpp.x ¶ ++ {ObjDir}iostream.cpp.x ¶ ++ {ObjDir}istream.cpp.x ¶ ++ {ObjDir}locale.cpp.x ¶ ++ {ObjDir}locale_catalog.cpp.x ¶ ++ {ObjDir}facets_byname.cpp.x ¶ ++ {ObjDir}locale_impl.cpp.x ¶ ++ {ObjDir}messages.cpp.x ¶ ++ {ObjDir}monetary.cpp.x ¶ ++ {ObjDir}num_get.cpp.x ¶ ++ {ObjDir}num_get_float.cpp.x ¶ ++ {ObjDir}num_put.cpp.x ¶ ++ {ObjDir}num_put_float.cpp.x ¶ ++ {ObjDir}numpunct.cpp.x ¶ ++ {ObjDir}ostream.cpp.x ¶ ++ {ObjDir}sstream.cpp.x ¶ ++ {ObjDir}stdio_streambuf.cpp.x ¶ ++ {ObjDir}streambuf.cpp.x ¶ ++ {ObjDir}string_w.cpp.x ¶ ++ {ObjDir}strstream.cpp.x ¶ ++ {ObjDir}time_facets.cpp.x ¶ ++ # end #*TY 11/25/2000 - updated for STLport.4.1 + + + ### Build Rules ### +@@ -218,6 +160,9 @@ + install ÄÄ build + ### + echo "¶nInstalling: ¶{stl¶}:lib:STLportLib{config_}.o" ++ if !`exists "{stl}":lib:` ++ newfolder "{stl}":lib: ++ end + duplicate -y "{ObjDir}"STLportLib{config_}.o "{stl}":lib:STLportLib{config_}.o + + "{ObjDir}"STLportLib{config_}.o ÄÄ {STLportLibObjFiles-PPC} {¥MondoBuild¥} +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/SCpp.mak tripwire-2.3.1-2/src/STLport-4.0/src/SCpp.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/SCpp.mak Sat Feb 24 10:44:15 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/SCpp.mak Sun Aug 11 18:59:22 2002 +@@ -5,7 +5,7 @@ + !ifdef DEBUG + config_ = .68K.DBG + SCpp_DebugOptions = -inline none,global -opt none -frames {Sym-68K} +-STL_DebugOptions = -d __STL_DEBUG -d __STL_DEBUG_ALLOC -d __STL_DEBUG_UNINITIALIZED ++STL_DebugOptions = -d _STLP_DEBUG -d _STLP_DEBUG_ALLOC -d _STLP_DEBUG_UNINITIALIZED + !else + config_ = .68K + SCpp_DebugOptions = +@@ -18,8 +18,8 @@ + + SCpp_Options = -model far -ansi on -ansifor -bool on -exceptions on -rtti on -b2 -mbg full -opt all -inline all,global -includes unix_mac -w 12 + +-STL_Options = #-d __STL_USE_NEWALLOC ¶ +- -d __STL_NO_SGI_IOSTREAMS ¶ ++STL_Options = #-d _STLP_USE_NEWALLOC ¶ ++ #-d _STLP_NO_SGI_IOSTREAMS ¶ + # end + + Link_options = ¶ +@@ -82,137 +82,79 @@ + ### Source Files ### + + STLportLibSrcFiles = ¶ +- c_locale_stub.cpp ¶ ++ c_locale_stub.cpp ¶ + codecvt.cpp ¶ +- codecvt_byname.cpp ¶ +- codecvt_w.cpp ¶ + collate.cpp ¶ +- collate_byname.cpp ¶ +- collate_byname_w.cpp ¶ +- collate_w.cpp ¶ + complex.cpp ¶ + complex_exp.cpp ¶ + complex_io.cpp ¶ + complex_io_w.cpp ¶ + complex_trig.cpp ¶ + ctype.cpp ¶ +- ctype_byname.cpp ¶ +- ctype_byname_w.cpp ¶ +- ctype_w.cpp ¶ +-# dll_main.cpp ¶ ++ dll_main.cpp ¶ + fstream.cpp ¶ +- fstream_w.cpp ¶ + ios.cpp ¶ +- ios_base.cpp ¶ +- ios_w.cpp ¶ + iostream.cpp ¶ ++ istream.cpp ¶ + locale.cpp ¶ + locale_catalog.cpp ¶ ++ facets_byname.cpp ¶ + locale_impl.cpp ¶ +- message_facets.cpp ¶ +- message_facets_w.cpp ¶ ++ messages.cpp ¶ + monetary.cpp ¶ +- money_get.cpp ¶ +- money_get_w.cpp ¶ +- money_put.cpp ¶ +- money_put_w.cpp ¶ +- moneypunct.cpp ¶ +- moneypunct_byname.cpp ¶ +- moneypunct_byname_w.cpp ¶ +- moneypunct_w.cpp ¶ + num_get.cpp ¶ + num_get_float.cpp ¶ +- num_get_inst.cpp ¶ +- num_get_inst_w.cpp ¶ + num_put.cpp ¶ + num_put_float.cpp ¶ +- num_put_inst.cpp ¶ +- num_put_inst_w.cpp ¶ + numpunct.cpp ¶ +- numpunct_byname.cpp ¶ +- numpunct_w.cpp ¶ +- range_errors.cpp ¶ ++ ostream.cpp ¶ + sstream.cpp ¶ + stdio_streambuf.cpp ¶ + streambuf.cpp ¶ +- string.cpp ¶ + string_w.cpp ¶ + strstream.cpp ¶ +-# test.cpp ¶ + time_facets.cpp ¶ +- time_get.cpp ¶ +- time_get_w.cpp ¶ +- time_put.cpp ¶ +- time_put_w.cpp ¶ +- # end ++ # end #*TY 11/25/2000 - updated for STLport.4.1 + + + ### Object Files ### + + STLportLibObjFiles1-68K = ¶ +- "{ObjDir}"c_locale_stub.cpp.o ¶ +- "{ObjDir}"codecvt.cpp.o ¶ +- "{ObjDir}"codecvt_byname.cpp.o ¶ +- "{ObjDir}"codecvt_w.cpp.o ¶ +- "{ObjDir}"collate.cpp.o ¶ +- "{ObjDir}"collate_byname.cpp.o ¶ +- "{ObjDir}"collate_byname_w.cpp.o ¶ +- "{ObjDir}"collate_w.cpp.o ¶ +- "{ObjDir}"complex.cpp.o ¶ +- "{ObjDir}"complex_exp.cpp.o ¶ +- "{ObjDir}"complex_io.cpp.o ¶ +- "{ObjDir}"complex_io_w.cpp.o ¶ +- "{ObjDir}"complex_trig.cpp.o ¶ +- "{ObjDir}"ctype.cpp.o ¶ +- "{ObjDir}"ctype_byname.cpp.o ¶ +- "{ObjDir}"ctype_byname_w.cpp.o ¶ +- "{ObjDir}"ctype_w.cpp.o ¶ +- "{ObjDir}"fstream.cpp.o ¶ +- "{ObjDir}"fstream_w.cpp.o ¶ +- "{ObjDir}"ios.cpp.o ¶ +- "{ObjDir}"ios_base.cpp.o ¶ +- "{ObjDir}"ios_w.cpp.o ¶ +- "{ObjDir}"iostream.cpp.o ¶ +- "{ObjDir}"locale.cpp.o ¶ +- "{ObjDir}"locale_catalog.cpp.o ¶ +- "{ObjDir}"locale_impl.cpp.o ¶ +- "{ObjDir}"message_facets.cpp.o ¶ +- "{ObjDir}"message_facets_w.cpp.o ¶ +- "{ObjDir}"monetary.cpp.o ¶ +- "{ObjDir}"money_get.cpp.o ¶ ++ {ObjDir}c_locale_stub.cpp.o ¶ ++ {ObjDir}codecvt.cpp.o ¶ ++ {ObjDir}collate.cpp.o ¶ ++ {ObjDir}complex.cpp.o ¶ ++ {ObjDir}complex_exp.cpp.o ¶ ++ {ObjDir}complex_io.cpp.o ¶ ++ {ObjDir}complex_io_w.cpp.o ¶ ++ {ObjDir}complex_trig.cpp.o ¶ ++ {ObjDir}ctype.cpp.o ¶ ++ {ObjDir}dll_main.cpp.o ¶ ++ {ObjDir}fstream.cpp.o ¶ ++ {ObjDir}ios.cpp.o ¶ ++ {ObjDir}iostream.cpp.o ¶ ++ {ObjDir}istream.cpp.o ¶ ++ {ObjDir}locale.cpp.o ¶ ++ {ObjDir}locale_catalog.cpp.o ¶ + # + STLportLibObjFiles2-68K = ¶ +- "{ObjDir}"money_get_w.cpp.o ¶ +- "{ObjDir}"money_put.cpp.o ¶ +- "{ObjDir}"money_put_w.cpp.o ¶ +- "{ObjDir}"moneypunct.cpp.o ¶ +- "{ObjDir}"moneypunct_byname.cpp.o ¶ +- "{ObjDir}"moneypunct_byname_w.cpp.o ¶ +- "{ObjDir}"moneypunct_w.cpp.o ¶ +- "{ObjDir}"num_get.cpp.o ¶ +- "{ObjDir}"num_get_float.cpp.o ¶ +- "{ObjDir}"num_get_inst.cpp.o ¶ +- "{ObjDir}"num_get_inst_w.cpp.o ¶ +- "{ObjDir}"num_put.cpp.o ¶ +- "{ObjDir}"num_put_float.cpp.o ¶ +- "{ObjDir}"num_put_inst.cpp.o ¶ +- "{ObjDir}"num_put_inst_w.cpp.o ¶ +- "{ObjDir}"numpunct.cpp.o ¶ +- "{ObjDir}"numpunct_byname.cpp.o ¶ +- "{ObjDir}"numpunct_w.cpp.o ¶ +- "{ObjDir}"range_errors.cpp.o ¶ +- "{ObjDir}"sstream.cpp.o ¶ +- "{ObjDir}"stdio_streambuf.cpp.o ¶ +- "{ObjDir}"streambuf.cpp.o ¶ +- "{ObjDir}"string.cpp.o ¶ +- "{ObjDir}"string_w.cpp.o ¶ +- "{ObjDir}"strstream.cpp.o ¶ +- "{ObjDir}"time_facets.cpp.o ¶ +- "{ObjDir}"time_get.cpp.o ¶ +- "{ObjDir}"time_get_w.cpp.o ¶ +- "{ObjDir}"time_put.cpp.o ¶ +- "{ObjDir}"time_put_w.cpp.o ¶ +- # end ++ {ObjDir}facets_byname.cpp.o ¶ ++ {ObjDir}locale_impl.cpp.o ¶ ++ {ObjDir}messages.cpp.o ¶ ++ {ObjDir}monetary.cpp.o ¶ ++ {ObjDir}num_get.cpp.o ¶ ++ {ObjDir}num_get_float.cpp.o ¶ ++ {ObjDir}num_put.cpp.o ¶ ++ {ObjDir}num_put_float.cpp.o ¶ ++ {ObjDir}numpunct.cpp.o ¶ ++ {ObjDir}ostream.cpp.o ¶ ++ {ObjDir}sstream.cpp.o ¶ ++ {ObjDir}stdio_streambuf.cpp.o ¶ ++ {ObjDir}streambuf.cpp.o ¶ ++ {ObjDir}string_w.cpp.o ¶ ++ {ObjDir}strstream.cpp.o ¶ ++ {ObjDir}time_facets.cpp.o ¶ ++ # end #*TY 11/25/2000 - updated for STLport.4.1 + + + ### Build Rules ### +@@ -248,4 +190,7 @@ + install ÄÄ build + ### + echo "¶nInstalling: ¶{stl¶}:lib:STLportLib{config_}.o" ++ if !`exists "{stl}":lib:` ++ newfolder "{stl}":lib: ++ end + duplicate -y "{ObjDir}"STLportLib{config_}.o "{stl}":lib:STLportLib{config_}.o +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/aligned_buffer.h tripwire-2.3.1-2/src/STLport-4.0/src/aligned_buffer.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/aligned_buffer.h Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/aligned_buffer.h Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,13 @@ ++# ifndef ALIGNED_BUFFER_H ++# define ALIGNED_BUFFER_H ++ ++_STLP_BEGIN_NAMESPACE ++// this is for fake initialization ++template ++union _Stl_aligned_buffer { ++ char buf[sizeof(T)]; ++ struct { double a; double b; } padding; ++}; ++_STLP_END_NAMESPACE ++ ++# endif +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/bc502.mak tripwire-2.3.1-2/src/STLport-4.0/src/bc502.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/bc502.mak Sat Feb 24 10:44:04 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/bc502.mak Sun Aug 11 18:59:22 2002 +@@ -7,7 +7,7 @@ + RC=brc32 + COMP=BCC502 + +-LIB_BASENAME=stlport_bcc ++LIB_BASENAME=stlport_bcb + + # --------------------------------------------------------------------------- + +@@ -15,22 +15,22 @@ + DYNLINK_OUT= + LINK = tlib /P128 + DYN_LINK = ilink32 +-OBJEXT=obj +-DYNEXT=dll +-STEXT=lib +-RM=@erase /F /Q +-PATH_SEP=\\ +-MKDIR=mkdir -p ++OBJEXT=obj ++DYNEXT=dll ++STEXT=lib ++RM=@erase /F /Q ++PATH_SEP=\\ ++MKDIR=mkdir + STATIC_SUFFIX=_static +-INSTALL_STEP=do_install ++INSTALL_STEP=install_bc + + # static builds, but cannot be used - some weird compile errors.. + all : all_dynamic + +-!include common_macros.mak ++!include common_macros_windows.mak + + DYNAMIC_DEFS=_RTLDLL +-STATIC_DEFS=_LIB ++STATIC_DEFS=_LIB;_STLP_NO_FORCE_INSTANTIATE + + LINKSTARTUP= c0d32.obj + +@@ -58,90 +58,111 @@ + + CXXFLAGS_RELEASE_static= $(FLAGS_COMMON_static) -O2 -n$(RELEASE_OBJDIR_static) + CXXFLAGS_DEBUG_static= $(FLAGS_COMMON_static) -v -N -x -xp -n$(DEBUG_OBJDIR_static) +-CXXFLAGS_STLDEBUG_static= $(FLAGS_COMMON_static) -v -N -x -xp -n$(STLDEBUG_OBJDIR_static) -D__STLDEBUG ++CXXFLAGS_STLDEBUG_static= $(FLAGS_COMMON_static) -v -N -x -xp -n$(STLDEBUG_OBJDIR_static) -D_STLP_DEBUG + + CXXFLAGS_RELEASE_dynamic= $(FLAGS_COMMON_dynamic) -O2 -n$(RELEASE_OBJDIR_dynamic) + CXXFLAGS_DEBUG_dynamic= $(FLAGS_COMMON_dynamic) -v -N -x -xp -n$(DEBUG_OBJDIR_dynamic) +-CXXFLAGS_STLDEBUG_dynamic= $(FLAGS_COMMON_dynamic) -v -N -x -xp -n$(STLDEBUG_OBJDIR_dynamic) -D__STLDEBUG ++CXXFLAGS_STLDEBUG_dynamic= $(FLAGS_COMMON_dynamic) -v -N -x -xp -n$(STLDEBUG_OBJDIR_dynamic) -D_STLP_DEBUG + + RELEASE_LINK_COMMANDS_static=\ +- +$(RELEASE_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ +- +$(RELEASE_OBJDIR_static)$(PATH_SEP)c_numeric_facets.$(OBJEXT) \ +- +$(RELEASE_OBJDIR_static)$(PATH_SEP)codecvt.$(OBJEXT) \ +- +$(RELEASE_OBJDIR_static)$(PATH_SEP)collate.$(OBJEXT) \ +- +$(RELEASE_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ +- +$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ +- +$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ +- +$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ +- +$(RELEASE_OBJDIR_static)$(PATH_SEP)ctype.$(OBJEXT) \ +- +$(RELEASE_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ +- +$(RELEASE_OBJDIR_static)$(PATH_SEP)ios.$(OBJEXT) \ +- +$(RELEASE_OBJDIR_static)$(PATH_SEP)iostream.$(OBJEXT) \ +- +$(RELEASE_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ +- +$(RELEASE_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ +- +$(RELEASE_OBJDIR_static)$(PATH_SEP)message_facets.$(OBJEXT) \ +- +$(RELEASE_OBJDIR_static)$(PATH_SEP)monetary.$(OBJEXT) \ +- +$(RELEASE_OBJDIR_static)$(PATH_SEP)numeric_facets.$(OBJEXT) \ +- +$(RELEASE_OBJDIR_static)$(PATH_SEP)range_errors.$(OBJEXT) \ +- +$(RELEASE_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ +- +$(RELEASE_OBJDIR_static)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ +- +$(RELEASE_OBJDIR_static)$(PATH_SEP)dll_main.$(OBJEXT) \ +- +$(RELEASE_OBJDIR_static)$(PATH_SEP)streambuf.$(OBJEXT) \ +- +$(RELEASE_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ +- +$(RELEASE_OBJDIR_static)$(PATH_SEP)time_facets.$(OBJEXT) +- +-DEBUG_LINK_COMMANDS_static=\ +- +$(DEBUG_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ +- +$(DEBUG_OBJDIR_static)$(PATH_SEP)c_numeric_facets.$(OBJEXT) \ +- +$(DEBUG_OBJDIR_static)$(PATH_SEP)codecvt.$(OBJEXT) \ +- +$(DEBUG_OBJDIR_static)$(PATH_SEP)collate.$(OBJEXT) \ +- +$(DEBUG_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ +- +$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ +- +$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ +- +$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ +- +$(DEBUG_OBJDIR_static)$(PATH_SEP)ctype.$(OBJEXT) \ +- +$(DEBUG_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ +- +$(DEBUG_OBJDIR_static)$(PATH_SEP)ios.$(OBJEXT) \ +- +$(DEBUG_OBJDIR_static)$(PATH_SEP)iostream.$(OBJEXT) \ +- +$(DEBUG_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ +- +$(DEBUG_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ +- +$(DEBUG_OBJDIR_static)$(PATH_SEP)message_facets.$(OBJEXT) \ +- +$(DEBUG_OBJDIR_static)$(PATH_SEP)monetary.$(OBJEXT) \ +- +$(DEBUG_OBJDIR_static)$(PATH_SEP)numeric_facets.$(OBJEXT) \ +- +$(DEBUG_OBJDIR_static)$(PATH_SEP)range_errors.$(OBJEXT) \ +- +$(DEBUG_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ +- +$(DEBUG_OBJDIR_static)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ +- +$(DEBUG_OBJDIR_static)$(PATH_SEP)dll_main.$(OBJEXT) \ +- +$(DEBUG_OBJDIR_static)$(PATH_SEP)streambuf.$(OBJEXT) \ +- +$(DEBUG_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ +- +$(DEBUG_OBJDIR_static)$(PATH_SEP)time_facets.$(OBJEXT) +- +-STLDEBUG_LINK_COMMANDS_static=\ +- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ +- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)c_numeric_facets.$(OBJEXT) \ +- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)codecvt.$(OBJEXT) \ +- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)collate.$(OBJEXT) \ +- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ +- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ +- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ +- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ +- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ctype.$(OBJEXT) \ +- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ +- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ios.$(OBJEXT) \ +- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)iostream.$(OBJEXT) \ +- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ +- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ +- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)message_facets.$(OBJEXT) \ +- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)monetary.$(OBJEXT) \ +- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)numeric_facets.$(OBJEXT) \ +- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)range_errors.$(OBJEXT) \ +- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ +- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ +- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)dll_main.$(OBJEXT) \ +- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)streambuf.$(OBJEXT) \ +- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ +- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)time_facets.$(OBJEXT) +- +++$(RELEASE_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)dll_main.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)ios.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)streambuf.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)iostream.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)istream.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)ostream.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)codecvt.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)collate.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)ctype.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)messages.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)monetary.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)num_get.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)num_get_float.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)num_put.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)num_put_float.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)numpunct.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)time_facets.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)facets_byname.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_io_w.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) ++ ++ ++DEBUG_LINK_COMMANDS_static= \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)dll_main.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)ios.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)streambuf.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)iostream.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)istream.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)ostream.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)codecvt.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)collate.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)ctype.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)messages.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)monetary.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)num_get.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)num_get_float.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)num_put.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)num_put_float.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)numpunct.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)time_facets.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)facets_byname.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_io_w.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) ++ ++STLDEBUG_LINK_COMMANDS_static= \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)dll_main.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ios.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)streambuf.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)iostream.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)istream.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ostream.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)codecvt.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)collate.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ctype.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)messages.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)monetary.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_get.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_get_float.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_put.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_put_float.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)numpunct.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)time_facets.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)facets_byname.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_io_w.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) + + # + # Target directories +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/bcb.mak tripwire-2.3.1-2/src/STLport-4.0/src/bcb.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/bcb.mak Sat Feb 24 10:44:05 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/bcb.mak Sun Aug 11 18:59:22 2002 +@@ -1,43 +1,55 @@ + # --------------------------------------------------------------------------- + ++!if !$d(BCB) ++BCB = $(MAKEDIR)\.. ++!endif ++ + CPP=cpp32 + CC=bcc32 -P + CXX=bcc32 + + RC=brc32 +-COMP=BCC ++COMP=BCB + +-LIB_BASENAME=stlport_bcc ++LIB_BASENAME=stlp + + # --------------------------------------------------------------------------- + + LINK_OUT= + DYNLINK_OUT= +-LINK = tlib /P128 +-DYN_LINK = ilink32 +-OBJEXT=obj +-DYNEXT=dll +-STEXT=lib +-RM=@erase /F /Q +-PATH_SEP=\\ +-MKDIR=-mkdir +-STATIC_SUFFIX=_static +-INSTALL_STEP=do_install +- +-all : all_dynamic all_static +- +-!include common_macros.mak ++LINK = tlib /P256 ++# Use objs in RTL build tree ++DYN_LINK = ilink32 -L$(BCB)\lib ++OBJEXT=obj ++DYNEXT=dll ++STEXT=lib ++# We use 4NT, which does not know about /Q ++#RM=-rd /S /Q ++RM=-rd /S ++PATH_SEP=\\ ++MKDIR=-mkdir ++STATIC_SUFFIX=st ++INSTALL_STEP=install_bc ++ ++all : platform all_dynamic all_static ++ ++!include common_macros_windows.mak ++ ++#RM=-rd /S /Q ++RM=-rd /S ++MKDIR=-mkdir + +-DYNAMIC_DEFS=_RTLDLL;_DLL +-STATIC_DEFS=_LIB ++DYNAMIC_DEFS=_RTLDLL;_WIN32;_DLL;_STLP_DESIGNATED_DLL ++STATIC_DEFS=_LIB;_WIN32;_STLP_NO_FORCE_INSTANTIATE + + LINKSTARTUP= c0d32.obj + +-FLAGS_COMMON= -I.;..\stlport;$(BCB)\include -jb -j1 -w -c -w-par -w-inl -tWM ++FLAGS_COMMON= -I.;..\stlport;$(BCB)\include;$(BCB)\include\windows -jb -j1 -w -c -w-par -w-inl -w-stl + FLAGS_COMMON_static = $(FLAGS_COMMON) -D$(SYSDEFINES);$(USERDEFINES);$(STATIC_DEFS) + FLAGS_COMMON_dynamic = $(FLAGS_COMMON) -D$(SYSDEFINES);$(USERDEFINES);$(DYNAMIC_DEFS) -tWDR + +-LDFLAGS_COMMON=-Gn -Gi -Tpd -aa -L$(MAKEDIR)\..\lib -x ++# -L$(MAKEDIR)\..\lib removed ...it should get ilink32.cfg values instead ++LDFLAGS_COMMON=-Gn -Gi -Tpd -aa -x + LDFLAGS_COMMON_static= $(LDFLAGS_COMMON) + LDFLAGS_COMMON_dynamic= $(LDFLAGS_COMMON) + +@@ -50,18 +62,18 @@ + LDFLAGS_DEBUG_dynamic= $(LDFLAGS_COMMON_dynamic) $(LINKSTARTUP) + LDFLAGS_STLDEBUG_dynamic= $(LDFLAGS_COMMON_dynamic) $(LINKSTARTUP) + +-LDLIBS_RELEASE_dynamic= import32.lib cw32mti.lib +-LDLIBS_DEBUG_dynamic= import32.lib cw32mti.lib +-LDLIBS_STLDEBUG_dynamic= import32.lib cw32mti.lib ++LDLIBS_RELEASE_dynamic= import32.lib cw32i.lib ++LDLIBS_DEBUG_dynamic= import32.lib cw32i.lib ++LDLIBS_STLDEBUG_dynamic= import32.lib cw32i.lib + + +-CXXFLAGS_RELEASE_static= $(FLAGS_COMMON_static) -O2 -n$(RELEASE_OBJDIR_static) -H -H=$(RELEASE_OBJDIR_static)$(PATH_SEP)stlport.csm +-CXXFLAGS_DEBUG_static= $(FLAGS_COMMON_static) -v -N -x -xp -n$(DEBUG_OBJDIR_static) -H -H=$(DEBUG_OBJDIR_static)$(PATH_SEP)stlport.csm +-CXXFLAGS_STLDEBUG_static= $(FLAGS_COMMON_static) -v -N -x -xp -n$(STLDEBUG_OBJDIR_static) -D__STL_DEBUG -H -H=$(STLDEBUG_OBJDIR_static)$(PATH_SEP)stlport.csm +- +-CXXFLAGS_RELEASE_dynamic= $(FLAGS_COMMON_dynamic) -O2 -n$(RELEASE_OBJDIR_dynamic) -H -H=$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)stlport.csm +-CXXFLAGS_DEBUG_dynamic= $(FLAGS_COMMON_dynamic) -v -N -x -xp -n$(DEBUG_OBJDIR_dynamic) -H -H=$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)stlport.csm +-CXXFLAGS_STLDEBUG_dynamic= $(FLAGS_COMMON_dynamic) -v -N -x -xp -n$(STLDEBUG_OBJDIR_dynamic) -D__STL_DEBUG -H -H=$(STLDEBUG_OBJDIR_static)$(PATH_SEP)stlport.csm ++CXXFLAGS_RELEASE_static= $(FLAGS_COMMON_static) -O2 -n$(RELEASE_OBJDIR_static) ++CXXFLAGS_DEBUG_static= $(FLAGS_COMMON_static) -v -N -x -xp -n$(DEBUG_OBJDIR_static) ++CXXFLAGS_STLDEBUG_static= $(FLAGS_COMMON_static) -v -N -x -xp -n$(STLDEBUG_OBJDIR_static) -D_STLP_DEBUG ++ ++CXXFLAGS_RELEASE_dynamic= $(FLAGS_COMMON_dynamic) -O2 -n$(RELEASE_OBJDIR_dynamic) ++CXXFLAGS_DEBUG_dynamic= $(FLAGS_COMMON_dynamic) -v -N -x -xp -n$(DEBUG_OBJDIR_dynamic) ++CXXFLAGS_STLDEBUG_dynamic= $(FLAGS_COMMON_dynamic) -v -N -x -xp -n$(STLDEBUG_OBJDIR_dynamic) -D_STLP_DEBUG + + RELEASE_LINK_COMMANDS_static=\ + +$(RELEASE_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ +@@ -69,196 +81,111 @@ + +$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ + +$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ + +$(RELEASE_OBJDIR_static)$(PATH_SEP)dll_main.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)range_errors.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)string.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)ios_base.$(OBJEXT) \ + +$(RELEASE_OBJDIR_static)$(PATH_SEP)ios.$(OBJEXT) \ + +$(RELEASE_OBJDIR_static)$(PATH_SEP)streambuf.$(OBJEXT) \ + +$(RELEASE_OBJDIR_static)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ + +$(RELEASE_OBJDIR_static)$(PATH_SEP)iostream.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)istream.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)ostream.$(OBJEXT) \ + +$(RELEASE_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ + +$(RELEASE_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ + +$(RELEASE_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ + +$(RELEASE_OBJDIR_static)$(PATH_SEP)codecvt.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)codecvt_byname.$(OBJEXT) \ + +$(RELEASE_OBJDIR_static)$(PATH_SEP)collate.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)collate_byname.$(OBJEXT) \ + +$(RELEASE_OBJDIR_static)$(PATH_SEP)ctype.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)ctype_byname.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)message_facets.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)messages.$(OBJEXT) \ + +$(RELEASE_OBJDIR_static)$(PATH_SEP)monetary.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)money_get.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)money_put.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)moneypunct.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)moneypunct_byname.$(OBJEXT) \ + +$(RELEASE_OBJDIR_static)$(PATH_SEP)num_get.$(OBJEXT) \ + +$(RELEASE_OBJDIR_static)$(PATH_SEP)num_get_float.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)num_get_inst.$(OBJEXT) \ + +$(RELEASE_OBJDIR_static)$(PATH_SEP)num_put.$(OBJEXT) \ + +$(RELEASE_OBJDIR_static)$(PATH_SEP)num_put_float.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)num_put_inst.$(OBJEXT) \ + +$(RELEASE_OBJDIR_static)$(PATH_SEP)numpunct.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)numpunct_byname.$(OBJEXT) \ + +$(RELEASE_OBJDIR_static)$(PATH_SEP)time_facets.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)time_get.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)time_put.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)facets_byname.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)c_locale.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ + +$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_io_w.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)ctype_byname_w.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)fstream_w.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)codecvt_w.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)collate_byname_w.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)collate_w.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)ctype_w.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)ios_w.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)message_facets_w.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)money_get_w.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)money_put_w.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)moneypunct_byname_w.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)moneypunct_w.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)num_get_inst_w.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)num_put_inst_w.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)numpunct_w.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)time_get_w.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)time_put_w.$(OBJEXT) +++$(RELEASE_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) ++ + + DEBUG_LINK_COMMANDS_static= \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ + +$(DEBUG_OBJDIR_static)$(PATH_SEP)dll_main.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)range_errors.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)string.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)ios_base.$(OBJEXT) \ + +$(DEBUG_OBJDIR_static)$(PATH_SEP)ios.$(OBJEXT) \ + +$(DEBUG_OBJDIR_static)$(PATH_SEP)streambuf.$(OBJEXT) \ + +$(DEBUG_OBJDIR_static)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ + +$(DEBUG_OBJDIR_static)$(PATH_SEP)iostream.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)istream.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)ostream.$(OBJEXT) \ + +$(DEBUG_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ + +$(DEBUG_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ + +$(DEBUG_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ + +$(DEBUG_OBJDIR_static)$(PATH_SEP)codecvt.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)codecvt_byname.$(OBJEXT) \ + +$(DEBUG_OBJDIR_static)$(PATH_SEP)collate.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)collate_byname.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ + +$(DEBUG_OBJDIR_static)$(PATH_SEP)ctype.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)ctype_byname.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)message_facets.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)messages.$(OBJEXT) \ + +$(DEBUG_OBJDIR_static)$(PATH_SEP)monetary.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)money_get.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)money_put.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)moneypunct.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)moneypunct_byname.$(OBJEXT) \ + +$(DEBUG_OBJDIR_static)$(PATH_SEP)num_get.$(OBJEXT) \ + +$(DEBUG_OBJDIR_static)$(PATH_SEP)num_get_float.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)num_get_inst.$(OBJEXT) \ + +$(DEBUG_OBJDIR_static)$(PATH_SEP)num_put.$(OBJEXT) \ + +$(DEBUG_OBJDIR_static)$(PATH_SEP)num_put_float.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)num_put_inst.$(OBJEXT) \ + +$(DEBUG_OBJDIR_static)$(PATH_SEP)numpunct.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)numpunct_byname.$(OBJEXT) \ + +$(DEBUG_OBJDIR_static)$(PATH_SEP)time_facets.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)time_get.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)time_put.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)facets_byname.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)c_locale.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ + +$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_io_w.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)ctype_byname_w.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)fstream_w.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)codecvt_w.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)collate_byname_w.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)collate_w.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)ctype_w.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)ios_w.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)message_facets_w.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)money_get_w.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)money_put_w.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)moneypunct_byname_w.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)moneypunct_w.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)num_get_inst_w.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)num_put_inst_w.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)numpunct_w.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)time_get_w.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)time_put_w.$(OBJEXT) +++$(DEBUG_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) + + STLDEBUG_LINK_COMMANDS_static= \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ + +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)dll_main.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)range_errors.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)string.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ios_base.$(OBJEXT) \ + +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ios.$(OBJEXT) \ + +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)streambuf.$(OBJEXT) \ + +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ + +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)iostream.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)istream.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ostream.$(OBJEXT) \ + +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ + +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ + +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ + +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)codecvt.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)codecvt_byname.$(OBJEXT) \ + +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)collate.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)collate_byname.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ + +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ctype.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ctype_byname.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)message_facets.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)messages.$(OBJEXT) \ + +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)monetary.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)money_get.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)money_put.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)moneypunct.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)moneypunct_byname.$(OBJEXT) \ + +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_get.$(OBJEXT) \ + +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_get_float.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_get_inst.$(OBJEXT) \ + +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_put.$(OBJEXT) \ + +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_put_float.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_put_inst.$(OBJEXT) \ + +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)numpunct.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)numpunct_byname.$(OBJEXT) \ + +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)time_facets.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)time_get.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)time_put.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)facets_byname.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)c_locale.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ + +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_io_w.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)time_get_w.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ctype_byname_w.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)fstream_w.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)codecvt_w.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)collate_byname_w.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)collate_w.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ctype_w.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ios_w.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)message_facets_w.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)money_get_w.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)money_put_w.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)moneypunct_byname_w.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)moneypunct_w.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_get_inst_w.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_put_inst_w.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)numpunct_w.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)time_put_w.$(OBJEXT) +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) + + # + # Target directories + # + # + +-$(OUTDIR) : +- $(MKDIR) $(OUTDIR) + $(RELEASE_OBJDIR_dynamic) : + $(MKDIR) $(RELEASE_OBJDIR_dynamic) + $(DEBUG_OBJDIR_dynamic) : +@@ -289,23 +216,27 @@ + -$(RM) $(OUTDIR)$(PATH_SEP)$(DEBUG_NAME).* \ + $(OUTDIR)$(PATH_SEP)$(RELEASE_NAME).* $(OUTDIR)$(PATH_SEP)$(STLDEBUG_NAME).* + ++#create a compiler platform directory ++platform: ++ -$(MKDIR) $(OBJDIR_COMMON) ++ -$(MKDIR) $(OBJDIR) + +-$(OUTDIR)$(PATH_SEP)$(RELEASE_DYNLIB) : $(OUTDIR) $(RELEASE_OBJDIR_dynamic) $(DEF_FILE) $(RELEASE_OBJECTS_dynamic) ++$(OUTDIR)$(PATH_SEP)$(RELEASE_DYNLIB) : $(RELEASE_OBJDIR_dynamic) $(DEF_FILE) $(RELEASE_OBJECTS_dynamic) + $(DYN_LINK) $(LDFLAGS_RELEASE_dynamic) $(RELEASE_OBJECTS_dynamic) , $(OUTDIR)$(PATH_SEP)$(RELEASE_DYNLIB),,$(LDLIBS_RELEASE_dynamic) + +-$(OUTDIR)$(PATH_SEP)$(DEBUG_DYNLIB) : $(OUTDIR) $(DEBUG_OBJDIR_dynamic) $(DEF_FILE) $(DEBUG_OBJECTS_dynamic) ++$(OUTDIR)$(PATH_SEP)$(DEBUG_DYNLIB) : $(DEBUG_OBJDIR_dynamic) $(DEF_FILE) $(DEBUG_OBJECTS_dynamic) + $(DYN_LINK) $(LDFLAGS_DEBUG_dynamic) $(DEBUG_OBJECTS_dynamic), $(DYNLINK_OUT)$(OUTDIR)$(PATH_SEP)$(DEBUG_DYNLIB) ,, $(LDLIBS_DEBUG_dynamic) + +-$(OUTDIR)$(PATH_SEP)$(STLDEBUG_DYNLIB) : $(OUTDIR) $(STLDEBUG_OBJDIR_dynamic) $(DEF_FILE) $(STLDEBUG_OBJECTS_dynamic) ++$(OUTDIR)$(PATH_SEP)$(STLDEBUG_DYNLIB) : $(STLDEBUG_OBJDIR_dynamic) $(DEF_FILE) $(STLDEBUG_OBJECTS_dynamic) + $(DYN_LINK) $(LDFLAGS_STLDEBUG_dynamic) $(STLDEBUG_OBJECTS_dynamic) , $(DYNLINK_OUT)$(OUTDIR)$(PATH_SEP)$(STLDEBUG_DYNLIB) ,, $(LDLIBS_STLDEBUG_dynamic) + +-$(OUTDIR)$(PATH_SEP)$(RELEASE_LIB) : $(OUTDIR) $(RELEASE_OBJDIR_static) $(DEF_FILE) $(RELEASE_OBJECTS_static) ++$(OUTDIR)$(PATH_SEP)$(RELEASE_LIB) : $(RELEASE_OBJDIR_static) $(DEF_FILE) $(RELEASE_OBJECTS_static) + $(LINK) $(OUTDIR)$(PATH_SEP)$(RELEASE_LIB) $(RELEASE_LINK_COMMANDS_static) + +-$(OUTDIR)$(PATH_SEP)$(DEBUG_LIB) : $(OUTDIR) $(DEBUG_OBJDIR_static) $(DEF_FILE) $(DEBUG_OBJECTS_static) ++$(OUTDIR)$(PATH_SEP)$(DEBUG_LIB) : $(DEBUG_OBJDIR_static) $(DEF_FILE) $(DEBUG_OBJECTS_static) + $(LINK) $(OUTDIR)$(PATH_SEP)$(DEBUG_LIB) $(DEBUG_LINK_COMMANDS_static) + +-$(OUTDIR)$(PATH_SEP)$(STLDEBUG_LIB) : $(OUTDIR) $(STLDEBUG_OBJDIR_static) $(DEF_FILE) $(STLDEBUG_OBJECTS_static) ++$(OUTDIR)$(PATH_SEP)$(STLDEBUG_LIB) : $(STLDEBUG_OBJDIR_static) $(DEF_FILE) $(STLDEBUG_OBJECTS_static) + $(LINK) $(OUTDIR)$(PATH_SEP)$(STLDEBUG_LIB) $(STLDEBUG_LINK_COMMANDS_static) + + ######################################### +@@ -315,7 +246,7 @@ + !include nmake_common.mak + + .cpp.i: +- $(CPP) $(CXXFLAGS_RELEASE_dynamic) -n. -Sr -Ss -Sd {$< } ++ $(CPP) $(CXXFLAGS_DEBUG_dynamic) -n. -Sr -Ss -Sd {$< } + + # --------------------------------------------------------------------------- + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/bcb55.mak tripwire-2.3.1-2/src/STLport-4.0/src/bcb55.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/bcb55.mak Sat Feb 24 10:44:05 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/bcb55.mak Sun Aug 11 18:59:22 2002 +@@ -1,39 +1,50 @@ + # --------------------------------------------------------------------------- + ++!if !$d(BCB) ++BCB = $(MAKEDIR)\.. ++!endif ++ + CPP=cpp32 + CC=bcc32 -P + CXX=bcc32 + + RC=brc32 +-COMP=BCB55 ++COMP=BCB + +-LIB_BASENAME=stlport_bcb55 ++LIB_BASENAME=stlp + + # --------------------------------------------------------------------------- + + LINK_OUT= + DYNLINK_OUT= +-LINK = tlib /P128 +-DYN_LINK = ilink32 ++LINK = tlib /P256 ++# Use objs in RTL build tree ++DYN_LINK = ilink32 -L$(BCB)\lib + OBJEXT=obj + DYNEXT=dll + STEXT=lib +-RM=-rd /S /Q ++# We use 4NT, which does not know about /Q ++#RM=-rd /S /Q ++RM=-rd /S + PATH_SEP=\\ +-MKDIR=-mkdir +-STATIC_SUFFIX=_static +-INSTALL_STEP=do_install ++MKDIR=-md ++STATIC_SUFFIX=st ++INSTALL_STEP=install_bc + + all : platform all_dynamic all_static +- +-!include common_macros.mak + +-DYNAMIC_DEFS=_RTLDLL;_DLL +-STATIC_DEFS=_LIB ++!include common_macros_windows.mak ++ ++#RM=-rd /S /Q ++RM=-rd /S ++MKDIR=-md ++ ++DYNAMIC_DEFS=_RTLDLL;_WIN32;_DLL;_STLP_DESIGNATED_DLL ++STATIC_DEFS=_LIB;_WIN32;_STLP_NO_FORCE_INSTANTIATE + + LINKSTARTUP= c0d32.obj + +-FLAGS_COMMON= -I.;..\stlport;$(BCB)\include -jb -j1 -w -c -w-par -w-inl -tWM -w-stl ++FLAGS_COMMON= -I.;..\stlport;$(BCB)\include;$(BCB)\include\windows -jb -j1 -w -c -w-par -w-inl -w-stl + FLAGS_COMMON_static = $(FLAGS_COMMON) -D$(SYSDEFINES);$(USERDEFINES);$(STATIC_DEFS) + FLAGS_COMMON_dynamic = $(FLAGS_COMMON) -D$(SYSDEFINES);$(USERDEFINES);$(DYNAMIC_DEFS) -tWDR + +@@ -51,18 +62,18 @@ + LDFLAGS_DEBUG_dynamic= $(LDFLAGS_COMMON_dynamic) $(LINKSTARTUP) + LDFLAGS_STLDEBUG_dynamic= $(LDFLAGS_COMMON_dynamic) $(LINKSTARTUP) + +-LDLIBS_RELEASE_dynamic= import32.lib cw32mti.lib +-LDLIBS_DEBUG_dynamic= import32.lib cw32mti.lib +-LDLIBS_STLDEBUG_dynamic= import32.lib cw32mti.lib ++LDLIBS_RELEASE_dynamic= import32.lib cw32i.lib ++LDLIBS_DEBUG_dynamic= import32.lib cw32i.lib ++LDLIBS_STLDEBUG_dynamic= import32.lib cw32i.lib + + + CXXFLAGS_RELEASE_static= $(FLAGS_COMMON_static) -O2 -n$(RELEASE_OBJDIR_static) + CXXFLAGS_DEBUG_static= $(FLAGS_COMMON_static) -v -N -x -xp -n$(DEBUG_OBJDIR_static) +-CXXFLAGS_STLDEBUG_static= $(FLAGS_COMMON_static) -v -N -x -xp -n$(STLDEBUG_OBJDIR_static) -D__STL_DEBUG ++CXXFLAGS_STLDEBUG_static= $(FLAGS_COMMON_static) -v -N -x -xp -n$(STLDEBUG_OBJDIR_static) -D_STLP_DEBUG + + CXXFLAGS_RELEASE_dynamic= $(FLAGS_COMMON_dynamic) -O2 -n$(RELEASE_OBJDIR_dynamic) + CXXFLAGS_DEBUG_dynamic= $(FLAGS_COMMON_dynamic) -v -N -x -xp -n$(DEBUG_OBJDIR_dynamic) +-CXXFLAGS_STLDEBUG_dynamic= $(FLAGS_COMMON_dynamic) -v -N -x -xp -n$(STLDEBUG_OBJDIR_dynamic) -D__STL_DEBUG ++CXXFLAGS_STLDEBUG_dynamic= $(FLAGS_COMMON_dynamic) -v -N -x -xp -n$(STLDEBUG_OBJDIR_dynamic) -D_STLP_DEBUG + + RELEASE_LINK_COMMANDS_static=\ + +$(RELEASE_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ +@@ -70,196 +81,111 @@ + +$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ + +$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ + +$(RELEASE_OBJDIR_static)$(PATH_SEP)dll_main.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)range_errors.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)string.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)ios_base.$(OBJEXT) \ + +$(RELEASE_OBJDIR_static)$(PATH_SEP)ios.$(OBJEXT) \ + +$(RELEASE_OBJDIR_static)$(PATH_SEP)streambuf.$(OBJEXT) \ + +$(RELEASE_OBJDIR_static)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ + +$(RELEASE_OBJDIR_static)$(PATH_SEP)iostream.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)istream.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)ostream.$(OBJEXT) \ + +$(RELEASE_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ + +$(RELEASE_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ + +$(RELEASE_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ + +$(RELEASE_OBJDIR_static)$(PATH_SEP)codecvt.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)codecvt_byname.$(OBJEXT) \ + +$(RELEASE_OBJDIR_static)$(PATH_SEP)collate.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)collate_byname.$(OBJEXT) \ + +$(RELEASE_OBJDIR_static)$(PATH_SEP)ctype.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)ctype_byname.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)message_facets.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)messages.$(OBJEXT) \ + +$(RELEASE_OBJDIR_static)$(PATH_SEP)monetary.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)money_get.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)money_put.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)moneypunct.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)moneypunct_byname.$(OBJEXT) \ + +$(RELEASE_OBJDIR_static)$(PATH_SEP)num_get.$(OBJEXT) \ + +$(RELEASE_OBJDIR_static)$(PATH_SEP)num_get_float.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)num_get_inst.$(OBJEXT) \ + +$(RELEASE_OBJDIR_static)$(PATH_SEP)num_put.$(OBJEXT) \ + +$(RELEASE_OBJDIR_static)$(PATH_SEP)num_put_float.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)num_put_inst.$(OBJEXT) \ + +$(RELEASE_OBJDIR_static)$(PATH_SEP)numpunct.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)numpunct_byname.$(OBJEXT) \ + +$(RELEASE_OBJDIR_static)$(PATH_SEP)time_facets.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)time_get.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)time_put.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)facets_byname.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)c_locale.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ + +$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_io_w.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)ctype_byname_w.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)fstream_w.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)codecvt_w.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)collate_byname_w.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)collate_w.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)ctype_w.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)ios_w.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)message_facets_w.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)money_get_w.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)money_put_w.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)moneypunct_byname_w.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)moneypunct_w.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)num_get_inst_w.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)num_put_inst_w.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)numpunct_w.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)time_get_w.$(OBJEXT) \ +-+$(RELEASE_OBJDIR_static)$(PATH_SEP)time_put_w.$(OBJEXT) +++$(RELEASE_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) ++ + + DEBUG_LINK_COMMANDS_static= \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ + +$(DEBUG_OBJDIR_static)$(PATH_SEP)dll_main.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)range_errors.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)string.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)ios_base.$(OBJEXT) \ + +$(DEBUG_OBJDIR_static)$(PATH_SEP)ios.$(OBJEXT) \ + +$(DEBUG_OBJDIR_static)$(PATH_SEP)streambuf.$(OBJEXT) \ + +$(DEBUG_OBJDIR_static)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ + +$(DEBUG_OBJDIR_static)$(PATH_SEP)iostream.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)istream.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)ostream.$(OBJEXT) \ + +$(DEBUG_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ + +$(DEBUG_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ + +$(DEBUG_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ + +$(DEBUG_OBJDIR_static)$(PATH_SEP)codecvt.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)codecvt_byname.$(OBJEXT) \ + +$(DEBUG_OBJDIR_static)$(PATH_SEP)collate.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)collate_byname.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ + +$(DEBUG_OBJDIR_static)$(PATH_SEP)ctype.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)ctype_byname.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)message_facets.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)messages.$(OBJEXT) \ + +$(DEBUG_OBJDIR_static)$(PATH_SEP)monetary.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)money_get.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)money_put.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)moneypunct.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)moneypunct_byname.$(OBJEXT) \ + +$(DEBUG_OBJDIR_static)$(PATH_SEP)num_get.$(OBJEXT) \ + +$(DEBUG_OBJDIR_static)$(PATH_SEP)num_get_float.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)num_get_inst.$(OBJEXT) \ + +$(DEBUG_OBJDIR_static)$(PATH_SEP)num_put.$(OBJEXT) \ + +$(DEBUG_OBJDIR_static)$(PATH_SEP)num_put_float.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)num_put_inst.$(OBJEXT) \ + +$(DEBUG_OBJDIR_static)$(PATH_SEP)numpunct.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)numpunct_byname.$(OBJEXT) \ + +$(DEBUG_OBJDIR_static)$(PATH_SEP)time_facets.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)time_get.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)time_put.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)facets_byname.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)c_locale.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ + +$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_io_w.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)ctype_byname_w.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)fstream_w.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)codecvt_w.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)collate_byname_w.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)collate_w.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)ctype_w.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)ios_w.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)message_facets_w.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)money_get_w.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)money_put_w.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)moneypunct_byname_w.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)moneypunct_w.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)num_get_inst_w.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)num_put_inst_w.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)numpunct_w.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)time_get_w.$(OBJEXT) \ +-+$(DEBUG_OBJDIR_static)$(PATH_SEP)time_put_w.$(OBJEXT) +++$(DEBUG_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) + + STLDEBUG_LINK_COMMANDS_static= \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ + +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)dll_main.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)range_errors.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)string.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ios_base.$(OBJEXT) \ + +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ios.$(OBJEXT) \ + +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)streambuf.$(OBJEXT) \ + +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ + +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)iostream.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)istream.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ostream.$(OBJEXT) \ + +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ + +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ + +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ + +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)codecvt.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)codecvt_byname.$(OBJEXT) \ + +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)collate.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)collate_byname.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ + +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ctype.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ctype_byname.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)message_facets.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)messages.$(OBJEXT) \ + +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)monetary.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)money_get.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)money_put.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)moneypunct.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)moneypunct_byname.$(OBJEXT) \ + +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_get.$(OBJEXT) \ + +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_get_float.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_get_inst.$(OBJEXT) \ + +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_put.$(OBJEXT) \ + +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_put_float.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_put_inst.$(OBJEXT) \ + +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)numpunct.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)numpunct_byname.$(OBJEXT) \ + +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)time_facets.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)time_get.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)time_put.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)facets_byname.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)c_locale.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ + +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_io_w.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)time_get_w.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ctype_byname_w.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)fstream_w.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)codecvt_w.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)collate_byname_w.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)collate_w.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ctype_w.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ios_w.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)message_facets_w.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)money_get_w.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)money_put_w.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)moneypunct_byname_w.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)moneypunct_w.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_get_inst_w.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_put_inst_w.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)numpunct_w.$(OBJEXT) \ +-+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)time_put_w.$(OBJEXT) +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) + + # + # Target directories + # + # + +-$(OUTDIR) : +- $(MKDIR) $(OUTDIR) + $(RELEASE_OBJDIR_dynamic) : + $(MKDIR) $(RELEASE_OBJDIR_dynamic) + $(DEBUG_OBJDIR_dynamic) : +@@ -290,27 +216,27 @@ + -$(RM) $(OUTDIR)$(PATH_SEP)$(DEBUG_NAME).* \ + $(OUTDIR)$(PATH_SEP)$(RELEASE_NAME).* $(OUTDIR)$(PATH_SEP)$(STLDEBUG_NAME).* + +- ++#create a compiler platform directory + platform: +- -@$(MKDIR) obj +- -@$(MKDIR) obj$(PATH_SEP)$(COMP) ++ -$(MKDIR) $(OBJDIR_COMMON) ++ -$(MKDIR) $(OBJDIR) + +-$(OUTDIR)$(PATH_SEP)$(RELEASE_DYNLIB) : $(OUTDIR) $(RELEASE_OBJDIR_dynamic) $(DEF_FILE) $(RELEASE_OBJECTS_dynamic) ++$(OUTDIR)$(PATH_SEP)$(RELEASE_DYNLIB) : $(RELEASE_OBJDIR_dynamic) $(DEF_FILE) $(RELEASE_OBJECTS_dynamic) + $(DYN_LINK) $(LDFLAGS_RELEASE_dynamic) $(RELEASE_OBJECTS_dynamic) , $(OUTDIR)$(PATH_SEP)$(RELEASE_DYNLIB),,$(LDLIBS_RELEASE_dynamic) + +-$(OUTDIR)$(PATH_SEP)$(DEBUG_DYNLIB) : $(OUTDIR) $(DEBUG_OBJDIR_dynamic) $(DEF_FILE) $(DEBUG_OBJECTS_dynamic) ++$(OUTDIR)$(PATH_SEP)$(DEBUG_DYNLIB) : $(DEBUG_OBJDIR_dynamic) $(DEF_FILE) $(DEBUG_OBJECTS_dynamic) + $(DYN_LINK) $(LDFLAGS_DEBUG_dynamic) $(DEBUG_OBJECTS_dynamic), $(DYNLINK_OUT)$(OUTDIR)$(PATH_SEP)$(DEBUG_DYNLIB) ,, $(LDLIBS_DEBUG_dynamic) + +-$(OUTDIR)$(PATH_SEP)$(STLDEBUG_DYNLIB) : $(OUTDIR) $(STLDEBUG_OBJDIR_dynamic) $(DEF_FILE) $(STLDEBUG_OBJECTS_dynamic) ++$(OUTDIR)$(PATH_SEP)$(STLDEBUG_DYNLIB) : $(STLDEBUG_OBJDIR_dynamic) $(DEF_FILE) $(STLDEBUG_OBJECTS_dynamic) + $(DYN_LINK) $(LDFLAGS_STLDEBUG_dynamic) $(STLDEBUG_OBJECTS_dynamic) , $(DYNLINK_OUT)$(OUTDIR)$(PATH_SEP)$(STLDEBUG_DYNLIB) ,, $(LDLIBS_STLDEBUG_dynamic) + +-$(OUTDIR)$(PATH_SEP)$(RELEASE_LIB) : $(OUTDIR) $(RELEASE_OBJDIR_static) $(DEF_FILE) $(RELEASE_OBJECTS_static) ++$(OUTDIR)$(PATH_SEP)$(RELEASE_LIB) : $(RELEASE_OBJDIR_static) $(DEF_FILE) $(RELEASE_OBJECTS_static) + $(LINK) $(OUTDIR)$(PATH_SEP)$(RELEASE_LIB) $(RELEASE_LINK_COMMANDS_static) + +-$(OUTDIR)$(PATH_SEP)$(DEBUG_LIB) : $(OUTDIR) $(DEBUG_OBJDIR_static) $(DEF_FILE) $(DEBUG_OBJECTS_static) ++$(OUTDIR)$(PATH_SEP)$(DEBUG_LIB) : $(DEBUG_OBJDIR_static) $(DEF_FILE) $(DEBUG_OBJECTS_static) + $(LINK) $(OUTDIR)$(PATH_SEP)$(DEBUG_LIB) $(DEBUG_LINK_COMMANDS_static) + +-$(OUTDIR)$(PATH_SEP)$(STLDEBUG_LIB) : $(OUTDIR) $(STLDEBUG_OBJDIR_static) $(DEF_FILE) $(STLDEBUG_OBJECTS_static) ++$(OUTDIR)$(PATH_SEP)$(STLDEBUG_LIB) : $(STLDEBUG_OBJDIR_static) $(DEF_FILE) $(STLDEBUG_OBJECTS_static) + $(LINK) $(OUTDIR)$(PATH_SEP)$(STLDEBUG_LIB) $(STLDEBUG_LINK_COMMANDS_static) + + ######################################### +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/bcb60.mak tripwire-2.3.1-2/src/STLport-4.0/src/bcb60.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/bcb60.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/bcb60.mak Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,254 @@ ++# --------------------------------------------------------------------------- ++ ++!if !$d(BCB) ++BCB = $(MAKEDIR)\.. ++!endif ++ ++CPP=cpp32 ++CC=bcc32 -P ++CXX=bcc32 ++ ++RC=brc32 ++COMP=BCB ++ ++LIB_BASENAME=stlp ++ ++# --------------------------------------------------------------------------- ++ ++LINK_OUT= ++DYNLINK_OUT= ++LINK = tlib /P256 ++# Use objs in RTL build tree ++DYN_LINK = ilink32 -L$(BCB)\lib ++OBJEXT=obj ++DYNEXT=dll ++STEXT=lib ++# We use 4NT, which does not know about /Q ++#RM=-rd /S /Q ++RM=-rd /S ++PATH_SEP=\\ ++MKDIR=-md ++STATIC_SUFFIX=st ++INSTALL_STEP=install_bc ++ ++all : platform all_dynamic all_static ++ ++!include common_macros_windows.mak ++ ++#RM=-rd /S /Q ++RM=-rd /S ++MKDIR=-md ++ ++DYNAMIC_DEFS=_RTLDLL;_WIN32;_DLL;_STLP_DESIGNATED_DLL ++STATIC_DEFS=_LIB;_WIN32;_STLP_NO_FORCE_INSTANTIATE ++ ++LINKSTARTUP= c0d32.obj ++ ++FLAGS_COMMON= -I.;..\stlport;$(BCB)\include;$(BCB)\include\windows -jb -j1 -w -c -w-par -w-inl -w-stl -D_STLP_DONT_REDEFINE_STD ++ ++FLAGS_COMMON_static = $(FLAGS_COMMON) -D$(SYSDEFINES);$(USERDEFINES);$(STATIC_DEFS) ++FLAGS_COMMON_dynamic = $(FLAGS_COMMON) -D$(SYSDEFINES);$(USERDEFINES);$(DYNAMIC_DEFS) -tWDR ++ ++# -L$(MAKEDIR)\..\lib removed ...it should get ilink32.cfg values instead ++LDFLAGS_COMMON=-Gn -Gi -Tpd -aa -x ++LDFLAGS_COMMON_static= $(LDFLAGS_COMMON) ++LDFLAGS_COMMON_dynamic= $(LDFLAGS_COMMON) ++ ++ ++LDFLAGS_RELEASE_static= $(LDFLAGS_COMMON_static) $(LINKSTARTUP) ++LDFLAGS_DEBUG_static= $(LDFLAGS_COMMON_static) $(LINKSTARTUP) ++LDFLAGS_STLDEBUG_static= $(LDFLAGS_COMMON_static) $(LINKSTARTUP) ++ ++LDFLAGS_RELEASE_dynamic= $(LDFLAGS_COMMON_dynamic) $(LINKSTARTUP) ++LDFLAGS_DEBUG_dynamic= $(LDFLAGS_COMMON_dynamic) $(LINKSTARTUP) ++LDFLAGS_STLDEBUG_dynamic= $(LDFLAGS_COMMON_dynamic) $(LINKSTARTUP) ++ ++LDLIBS_RELEASE_dynamic= import32.lib cw32i.lib ++LDLIBS_DEBUG_dynamic= import32.lib cw32i.lib ++LDLIBS_STLDEBUG_dynamic= import32.lib cw32i.lib ++ ++ ++CXXFLAGS_RELEASE_static= $(FLAGS_COMMON_static) -O2 -n$(RELEASE_OBJDIR_static) ++CXXFLAGS_DEBUG_static= $(FLAGS_COMMON_static) -v -N -x -xp -n$(DEBUG_OBJDIR_static) ++CXXFLAGS_STLDEBUG_static= $(FLAGS_COMMON_static) -v -N -x -xp -n$(STLDEBUG_OBJDIR_static) -D_STLP_DEBUG ++ ++CXXFLAGS_RELEASE_dynamic= $(FLAGS_COMMON_dynamic) -O2 -n$(RELEASE_OBJDIR_dynamic) ++CXXFLAGS_DEBUG_dynamic= $(FLAGS_COMMON_dynamic) -v -N -x -xp -n$(DEBUG_OBJDIR_dynamic) ++CXXFLAGS_STLDEBUG_dynamic= $(FLAGS_COMMON_dynamic) -v -N -x -xp -n$(STLDEBUG_OBJDIR_dynamic) -D_STLP_DEBUG ++ ++RELEASE_LINK_COMMANDS_static=\ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)dll_main.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)ios.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)streambuf.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)iostream.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)istream.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)ostream.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)codecvt.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)collate.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)ctype.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)messages.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)monetary.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)num_get.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)num_get_float.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)num_put.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)num_put_float.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)numpunct.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)time_facets.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)facets_byname.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)c_locale.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_io_w.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) ++ ++ ++DEBUG_LINK_COMMANDS_static= \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)dll_main.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)ios.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)streambuf.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)iostream.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)istream.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)ostream.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)codecvt.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)collate.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)ctype.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)messages.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)monetary.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)num_get.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)num_get_float.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)num_put.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)num_put_float.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)numpunct.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)time_facets.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)facets_byname.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)c_locale.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_io_w.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) ++ ++STLDEBUG_LINK_COMMANDS_static= \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)dll_main.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ios.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)streambuf.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)iostream.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)istream.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ostream.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)codecvt.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)collate.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ctype.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)messages.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)monetary.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_get.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_get_float.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_put.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_put_float.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)numpunct.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)time_facets.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)facets_byname.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)c_locale.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_io_w.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) ++ ++# ++# Target directories ++# ++# ++ ++$(RELEASE_OBJDIR_dynamic) : ++ $(MKDIR) $(RELEASE_OBJDIR_dynamic) ++$(DEBUG_OBJDIR_dynamic) : ++ $(MKDIR) $(DEBUG_OBJDIR_dynamic) ++$(STLDEBUG_OBJDIR_dynamic) : ++ $(MKDIR) $(STLDEBUG_OBJDIR_dynamic) ++$(RELEASE_OBJDIR_static) : ++ $(MKDIR) $(RELEASE_OBJDIR_static) ++$(DEBUG_OBJDIR_static) : ++ $(MKDIR) $(DEBUG_OBJDIR_static) ++$(STLDEBUG_OBJDIR_static) : ++ $(MKDIR) $(STLDEBUG_OBJDIR_static) ++ ++###### Targets ################## ++ ++all_static : $(ALL_STATIC_LIBS) ++ ++all_dynamic : $(ALL_DYNAMIC_LIBS) ++ ++install : $(INSTALL_STEP) ++ ++clean : $(CLEAN_SPECIFIC) ++ -$(RM) $(RELEASE_OBJDIR_static) $(DEBUG_OBJDIR_static) \ ++ $(STLDEBUG_OBJDIR_static) $(RELEASE_OBJDIR_dynamic) \ ++ $(DEBUG_OBJDIR_dynamic) $(STLDEBUG_OBJDIR_dynamic) ++ ++clobber : clean ++ -$(RM) $(OUTDIR)$(PATH_SEP)$(DEBUG_NAME).* \ ++ $(OUTDIR)$(PATH_SEP)$(RELEASE_NAME).* $(OUTDIR)$(PATH_SEP)$(STLDEBUG_NAME).* ++ ++#create a compiler platform directory ++platform: ++ -$(MKDIR) $(OBJDIR_COMMON) ++ -$(MKDIR) $(OBJDIR) ++ ++$(OUTDIR)$(PATH_SEP)$(RELEASE_DYNLIB) : $(RELEASE_OBJDIR_dynamic) $(DEF_FILE) $(RELEASE_OBJECTS_dynamic) ++ $(DYN_LINK) $(LDFLAGS_RELEASE_dynamic) $(RELEASE_OBJECTS_dynamic) , $(OUTDIR)$(PATH_SEP)$(RELEASE_DYNLIB),,$(LDLIBS_RELEASE_dynamic) ++ ++$(OUTDIR)$(PATH_SEP)$(DEBUG_DYNLIB) : $(DEBUG_OBJDIR_dynamic) $(DEF_FILE) $(DEBUG_OBJECTS_dynamic) ++ $(DYN_LINK) $(LDFLAGS_DEBUG_dynamic) $(DEBUG_OBJECTS_dynamic), $(DYNLINK_OUT)$(OUTDIR)$(PATH_SEP)$(DEBUG_DYNLIB) ,, $(LDLIBS_DEBUG_dynamic) ++ ++$(OUTDIR)$(PATH_SEP)$(STLDEBUG_DYNLIB) : $(STLDEBUG_OBJDIR_dynamic) $(DEF_FILE) $(STLDEBUG_OBJECTS_dynamic) ++ $(DYN_LINK) $(LDFLAGS_STLDEBUG_dynamic) $(STLDEBUG_OBJECTS_dynamic) , $(DYNLINK_OUT)$(OUTDIR)$(PATH_SEP)$(STLDEBUG_DYNLIB) ,, $(LDLIBS_STLDEBUG_dynamic) ++ ++$(OUTDIR)$(PATH_SEP)$(RELEASE_LIB) : $(RELEASE_OBJDIR_static) $(DEF_FILE) $(RELEASE_OBJECTS_static) ++ $(LINK) $(OUTDIR)$(PATH_SEP)$(RELEASE_LIB) $(RELEASE_LINK_COMMANDS_static) ++ ++$(OUTDIR)$(PATH_SEP)$(DEBUG_LIB) : $(DEBUG_OBJDIR_static) $(DEF_FILE) $(DEBUG_OBJECTS_static) ++ $(LINK) $(OUTDIR)$(PATH_SEP)$(DEBUG_LIB) $(DEBUG_LINK_COMMANDS_static) ++ ++$(OUTDIR)$(PATH_SEP)$(STLDEBUG_LIB) : $(STLDEBUG_OBJDIR_static) $(DEF_FILE) $(STLDEBUG_OBJECTS_static) ++ $(LINK) $(OUTDIR)$(PATH_SEP)$(STLDEBUG_LIB) $(STLDEBUG_LINK_COMMANDS_static) ++ ++######################################### ++ ++# --------------------------------------------------------------------------- ++ ++!include nmake_common.mak ++ ++.cpp.i: ++ $(CPP) $(FLAGS_COMMON_static) -n. -Sr -Ss -Sd {$< } ++ ++# --------------------------------------------------------------------------- ++ ++# --------------------------------------------------------------------------- +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/bcb60mt.mak tripwire-2.3.1-2/src/STLport-4.0/src/bcb60mt.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/bcb60mt.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/bcb60mt.mak Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,253 @@ ++# --------------------------------------------------------------------------- ++ ++!if !$d(BCB) ++BCB = $(MAKEDIR)\.. ++!endif ++ ++CPP=cpp32 ++CC=bcc32 -P ++CXX=bcc32 ++ ++RC=brc32 ++COMP=BCB60MT ++ ++LIB_BASENAME=stlpmt ++ ++# --------------------------------------------------------------------------- ++ ++LINK_OUT= ++DYNLINK_OUT= ++LINK = tlib /P256 ++# Use objs in RTL build tree ++DYN_LINK = ilink32 -L$(BCB)\..\lib ++OBJEXT=obj ++DYNEXT=dll ++STEXT=lib ++# We use 4NT, which does not know about /Q ++#RM=-rd /S /Q ++RM=-rd /S ++PATH_SEP=\\ ++MKDIR=-md /S ++STATIC_SUFFIX=st ++INSTALL_STEP=install_bc ++ ++all : platform all_dynamic all_static ++ ++!include common_macros_windows.mak ++ ++#RM=-rd /S /Q ++RM=-rd /S ++MKDIR=-md /S ++ ++DYNAMIC_DEFS=_RTLDLL;_WIN32;_DLL;_STLP_DESIGNATED_DLL ++STATIC_DEFS=_LIB;_WIN32;_STLP_NO_FORCE_INSTANTIATE ++ ++LINKSTARTUP= c0d32.obj ++ ++FLAGS_COMMON= -I.;..\stlport;$(BCB)\include;$(BCB)\include\windows -jb -j1 -w -c -w-par -w-inl -tWM -w-stl ++FLAGS_COMMON_static = $(FLAGS_COMMON) -D$(SYSDEFINES);$(USERDEFINES);$(STATIC_DEFS) ++FLAGS_COMMON_dynamic = $(FLAGS_COMMON) -D$(SYSDEFINES);$(USERDEFINES);$(DYNAMIC_DEFS) -tWDR ++ ++# -L$(MAKEDIR)\..\lib removed ...it should get ilink32.cfg values instead ++LDFLAGS_COMMON=-Gn -Gi -Tpd -aa -x ++LDFLAGS_COMMON_static= $(LDFLAGS_COMMON) ++LDFLAGS_COMMON_dynamic= $(LDFLAGS_COMMON) ++ ++ ++LDFLAGS_RELEASE_static= $(LDFLAGS_COMMON_static) $(LINKSTARTUP) ++LDFLAGS_DEBUG_static= $(LDFLAGS_COMMON_static) $(LINKSTARTUP) ++LDFLAGS_STLDEBUG_static= $(LDFLAGS_COMMON_static) $(LINKSTARTUP) ++ ++LDFLAGS_RELEASE_dynamic= $(LDFLAGS_COMMON_dynamic) $(LINKSTARTUP) ++LDFLAGS_DEBUG_dynamic= $(LDFLAGS_COMMON_dynamic) $(LINKSTARTUP) ++LDFLAGS_STLDEBUG_dynamic= $(LDFLAGS_COMMON_dynamic) $(LINKSTARTUP) ++ ++LDLIBS_RELEASE_dynamic= import32.lib cw32mti.lib ++LDLIBS_DEBUG_dynamic= import32.lib cw32mti.lib ++LDLIBS_STLDEBUG_dynamic= import32.lib cw32mti.lib ++ ++ ++CXXFLAGS_RELEASE_static= $(FLAGS_COMMON_static) -O2 -n$(RELEASE_OBJDIR_static) ++CXXFLAGS_DEBUG_static= $(FLAGS_COMMON_static) -v -N -x -xp -n$(DEBUG_OBJDIR_static) ++CXXFLAGS_STLDEBUG_static= $(FLAGS_COMMON_static) -v -N -x -xp -n$(STLDEBUG_OBJDIR_static) -D_STLP_DEBUG ++ ++CXXFLAGS_RELEASE_dynamic= $(FLAGS_COMMON_dynamic) -O2 -n$(RELEASE_OBJDIR_dynamic) ++CXXFLAGS_DEBUG_dynamic= $(FLAGS_COMMON_dynamic) -v -N -x -xp -n$(DEBUG_OBJDIR_dynamic) ++CXXFLAGS_STLDEBUG_dynamic= $(FLAGS_COMMON_dynamic) -v -N -x -xp -n$(STLDEBUG_OBJDIR_dynamic) -D_STLP_DEBUG ++ ++RELEASE_LINK_COMMANDS_static=\ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)dll_main.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)ios.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)streambuf.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)iostream.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)istream.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)ostream.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)codecvt.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)collate.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)ctype.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)messages.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)monetary.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)num_get.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)num_get_float.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)num_put.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)num_put_float.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)numpunct.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)time_facets.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)facets_byname.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)c_locale.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_io_w.$(OBJEXT) \ +++$(RELEASE_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) ++ ++ ++DEBUG_LINK_COMMANDS_static= \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)dll_main.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)ios.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)streambuf.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)iostream.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)istream.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)ostream.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)codecvt.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)collate.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)ctype.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)messages.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)monetary.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)num_get.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)num_get_float.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)num_put.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)num_put_float.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)numpunct.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)time_facets.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)facets_byname.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)c_locale.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_io_w.$(OBJEXT) \ +++$(DEBUG_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) ++ ++STLDEBUG_LINK_COMMANDS_static= \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)dll_main.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ios.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)streambuf.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)iostream.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)istream.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ostream.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)codecvt.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)collate.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ctype.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)messages.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)monetary.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_get.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_get_float.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_put.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_put_float.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)numpunct.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)time_facets.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)facets_byname.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)c_locale.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_io_w.$(OBJEXT) \ +++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) ++ ++# ++# Target directories ++# ++# ++ ++$(RELEASE_OBJDIR_dynamic) : ++ $(MKDIR) $(RELEASE_OBJDIR_dynamic) ++$(DEBUG_OBJDIR_dynamic) : ++ $(MKDIR) $(DEBUG_OBJDIR_dynamic) ++$(STLDEBUG_OBJDIR_dynamic) : ++ $(MKDIR) $(STLDEBUG_OBJDIR_dynamic) ++$(RELEASE_OBJDIR_static) : ++ $(MKDIR) $(RELEASE_OBJDIR_static) ++$(DEBUG_OBJDIR_static) : ++ $(MKDIR) $(DEBUG_OBJDIR_static) ++$(STLDEBUG_OBJDIR_static) : ++ $(MKDIR) $(STLDEBUG_OBJDIR_static) ++ ++###### Targets ################## ++ ++all_static : $(ALL_STATIC_LIBS) ++ ++all_dynamic : $(ALL_DYNAMIC_LIBS) ++ ++install : $(INSTALL_STEP) ++ ++clean : $(CLEAN_SPECIFIC) ++ -$(RM) $(RELEASE_OBJDIR_static) $(DEBUG_OBJDIR_static) \ ++ $(STLDEBUG_OBJDIR_static) $(RELEASE_OBJDIR_dynamic) \ ++ $(DEBUG_OBJDIR_dynamic) $(STLDEBUG_OBJDIR_dynamic) ++ ++clobber : clean ++ -$(RM) $(OUTDIR)$(PATH_SEP)$(DEBUG_NAME).* \ ++ $(OUTDIR)$(PATH_SEP)$(RELEASE_NAME).* $(OUTDIR)$(PATH_SEP)$(STLDEBUG_NAME).* ++ ++#create a compiler platform directory ++platform: ++ -$(MKDIR) $(OBJDIR_COMMON) ++ -$(MKDIR) $(OBJDIR) ++ ++$(OUTDIR)$(PATH_SEP)$(RELEASE_DYNLIB) : $(RELEASE_OBJDIR_dynamic) $(DEF_FILE) $(RELEASE_OBJECTS_dynamic) ++ $(DYN_LINK) $(LDFLAGS_RELEASE_dynamic) $(RELEASE_OBJECTS_dynamic) , $(OUTDIR)$(PATH_SEP)$(RELEASE_DYNLIB),,$(LDLIBS_RELEASE_dynamic) ++ ++$(OUTDIR)$(PATH_SEP)$(DEBUG_DYNLIB) : $(DEBUG_OBJDIR_dynamic) $(DEF_FILE) $(DEBUG_OBJECTS_dynamic) ++ $(DYN_LINK) $(LDFLAGS_DEBUG_dynamic) $(DEBUG_OBJECTS_dynamic), $(DYNLINK_OUT)$(OUTDIR)$(PATH_SEP)$(DEBUG_DYNLIB) ,, $(LDLIBS_DEBUG_dynamic) ++ ++$(OUTDIR)$(PATH_SEP)$(STLDEBUG_DYNLIB) : $(STLDEBUG_OBJDIR_dynamic) $(DEF_FILE) $(STLDEBUG_OBJECTS_dynamic) ++ $(DYN_LINK) $(LDFLAGS_STLDEBUG_dynamic) $(STLDEBUG_OBJECTS_dynamic) , $(DYNLINK_OUT)$(OUTDIR)$(PATH_SEP)$(STLDEBUG_DYNLIB) ,, $(LDLIBS_STLDEBUG_dynamic) ++ ++$(OUTDIR)$(PATH_SEP)$(RELEASE_LIB) : $(RELEASE_OBJDIR_static) $(DEF_FILE) $(RELEASE_OBJECTS_static) ++ $(LINK) $(OUTDIR)$(PATH_SEP)$(RELEASE_LIB) $(RELEASE_LINK_COMMANDS_static) ++ ++$(OUTDIR)$(PATH_SEP)$(DEBUG_LIB) : $(DEBUG_OBJDIR_static) $(DEF_FILE) $(DEBUG_OBJECTS_static) ++ $(LINK) $(OUTDIR)$(PATH_SEP)$(DEBUG_LIB) $(DEBUG_LINK_COMMANDS_static) ++ ++$(OUTDIR)$(PATH_SEP)$(STLDEBUG_LIB) : $(STLDEBUG_OBJDIR_static) $(DEF_FILE) $(STLDEBUG_OBJECTS_static) ++ $(LINK) $(OUTDIR)$(PATH_SEP)$(STLDEBUG_LIB) $(STLDEBUG_LINK_COMMANDS_static) ++ ++######################################### ++ ++# --------------------------------------------------------------------------- ++ ++!include nmake_common.mak ++ ++.cpp.i: ++ $(CPP) $(CXXFLAGS_DEBUG_dynamic) -n. -Sr -Ss -Sd {$< } ++ ++# --------------------------------------------------------------------------- ++ ++# --------------------------------------------------------------------------- +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/beos-setup tripwire-2.3.1-2/src/STLport-4.0/src/beos-setup +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/beos-setup Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/beos-setup Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,87 @@ ++#!/bin/sh ++ ++function intel_setup ++{ ++files='alloca assert ctype dirent err fcntl float new inttypes libio limits locale malloc math memory signal stdarg stddef stdio stdlib string time va_list wchar wctype' ++ ++for file in $files; do ++ echo '#include_next "'"$file"'.h"' > "../stlport/beos/$file"'.h' ++ echo '#include_next "'"c$file"'"' > "../stlport/beos/c$file"'' ++done ++ ++files='fstream new exception typeinfo iomanip iosfwd iostream istream ostream stdexcept stdiostream stream streambuf strstream' ++ ++for file in $files; do ++ echo '#include_next "'"$file"'.h"' > "../stlport/beos/$file"'.h' ++ echo '#include_next "'"$file"'"' > "../stlport/beos/$file"'' ++done ++} ++ ++function intel_uninstall ++{ ++ rm -fr ~/config/include/stlport ++ cd ../lib ++ for file in libstlport_gcc*; do ++ rm -f ~/config/lib/$file ++ done ++ rm -f ~/config/lib/libstlport_gcc*.so ++} ++ ++function intel_install ++{ ++ cp -R ../stlport ~/config/include ++ ++ cd ../lib ++ for file in libstlport_gcc*.so.*; do ++ basename=`echo $file | sed 's/\(.*\.so\).*/\1/'` ++ cp $file ~/config/lib ++ if test "$file" != "$basename"; then ++ ln -s ~/config/lib/$file ~/config/lib/$basename ++ fi ++ done ++ ++ for file in libstlport_gcc*.a; do ++ cp $file ~/config/lib ++ done ++ ++ echo include files are in ~/config/include ++ echo libraries are in ~/config/lib ++} ++ ++ ++if test $# -ne 1; then ++echo usage: ++echo " beos-setup -setup # sets up headers" ++echo " beos-setup -install # installs STLPort" ++echo " beos-setup -uninstall #uninstalls STLPort" ++ ++else ++ ++if test $1 = "-setup"; then ++ intel_setup ++ exit 0 ++fi ++ ++if test $1 = "-uninstall"; then ++ intel_uninstall ++ exit 0 ++fi ++ ++if test $1 = "-install"; then ++ intel_install ++ exit 0 ++fi ++ ++echo unknown option $* ++exit 1 ++ ++ ++ ++fi ++ ++ ++ ++ ++ ++ ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/build-tempinc-xlc.mk tripwire-2.3.1-2/src/STLport-4.0/src/build-tempinc-xlc.mk +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/build-tempinc-xlc.mk Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/build-tempinc-xlc.mk Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,16 @@ ++tempIncConst = tempinc ++buildDir = . ++tempIncDir = $(buildDir)/$(tempIncConst) ++ ++TempInc_CFiles := $(wildcard $(tempIncDir)/*.C) ++TempInc_OFiles := $(patsubst %.C,%.o, $(TempInc_CFiles)) ++ ++all.PHONY : $(TempInc_OFiles) ++ ++%.o : %.C ++ @echo "Compiling File $@" ++ @xlC_r \ ++ -I/tools/STLport-4.0/stlport -qmaxerr=10 -qtempinc=$(tempIncDir) ++-qrtti=all -qsrcmsg \ ++ -o $(@) \ ++ -c $< +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/build-tempinc-xlc.sh tripwire-2.3.1-2/src/STLport-4.0/src/build-tempinc-xlc.sh +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/build-tempinc-xlc.sh Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/build-tempinc-xlc.sh Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,18 @@ ++#!/bin/sh ++ ++GNUMake=gmake ++MakeFile=build-tempinc-xlc.mk ++ ++PassNumber=0 ++echo "Building the AIX tempinc directory." ++echo "Calling $MakeFile." ++until { $GNUMake -f $MakeFile -q ; } ++do ++ let PassNumber=$PassNumber+1 ++ echo "Pass Number: $PassNumber" ++ if { ! $GNUMake -f $MakeFile ; } then ++ echo "An error occurred.. aborting" ++ exit 1; ++ fi ++done ++echo "Finished the AIX tempinc directory." +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/c_locale.c tripwire-2.3.1-2/src/STLport-4.0/src/c_locale.c +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/c_locale.c Sat Feb 24 10:44:08 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/c_locale.c Fri Aug 16 20:47:29 2002 +@@ -15,13 +15,21 @@ + * modified is included with the above copyright notice. + * + */ +-# ifdef __STL_REAL_LOCALE_IMPLEMENTED +-# define __BUILDING_STLPORT 1 + +-# include +-# include ++# include "stlport_prefix.h" ++ ++#if !defined(__APPLE__) /* XXX: Darwin seems to have trouble with this... leave it out for now. */ ++# include ++#endif + +-# if defined (__STL_USE_GLIBC) && ! defined (__CYGWIN__) ++# ifdef _STLP_REAL_LOCALE_IMPLEMENTED ++# include ++# include "c_locale.h" ++# if defined (WIN32) || defined (_WIN32) ++# include "c_locale_win32/c_locale_win32.c" ++# elif defined (_STLP_USE_GLIBC) && ! defined (__CYGWIN__) + # include "c_locale_glibc/c_locale_glibc.c" ++# elif defined __ISCPP__ ++# include "c_locale_is/c_locale_is.cpp" + # endif + # endif +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/c_locale.h tripwire-2.3.1-2/src/STLport-4.0/src/c_locale.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/c_locale.h Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/c_locale.h Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,403 @@ ++/* ++ * Copyright (c) 1999 ++ * Silicon Graphics Computer Systems, Inc. ++ * ++ * Copyright (c) 1999 ++ * Boris Fomitchev ++ * ++ * This material is provided "as is", with absolutely no warranty expressed ++ * or implied. Any use is at your own risk. ++ * ++ * Permission to use or copy this software for any purpose is hereby granted ++ * without fee, provided the above notices are retained on all copies. ++ * Permission to modify the code and to distribute modified code is granted, ++ * provided the above notices are retained, and a notice that the code was ++ * modified is included with the above copyright notice. ++ * ++ */ ++ ++/* ++ * It is impossible to write the C++ locale library in terms of locales ++ * as defined in the C standard. Instead, we write the C++ locale and I/O ++ * library in terms of a low level C-like interface. This file defines ++ * that interface. ++ * ++ * The low-level locale interface can't be written portably; there ++ * must be a version of it for each platform that the C++ library ++ * is ported to. On many systems this interface may be a thin wrapper ++ * for existing functionality. ++ */ ++ ++#ifndef _STLP_C_LOCALE_IMPL_H ++# define _STLP_C_LOCALE_IMPL_H ++ ++# include ++// # include ++# include ++ ++#define _Locale_MAX_SIMPLE_NAME 256 ++ ++/* ++ * A number: the maximum length of a simple locale name. ++ * (i.e. a name like like en_US, as opposed to a name like ++ * en_US/de_AT/de_AT/es_MX/en_US/en_US) */ ++#define _Locale_MAX_COMPOSITE_NAME 6*(_Locale_MAX_SIMPLE_NAME+3) ++ ++/* ++ * Maximum length of a composite locale. ++ */ ++ ++#ifdef __cplusplus ++_STLP_BEGIN_NAMESPACE ++extern "C" { ++#endif ++ ++/* ++ * Typedefs: ++ */ ++ ++#if defined (__GNUC__) || defined (_KCC) ++typedef unsigned short int _Locale_mask_t; ++#else ++typedef unsigned int _Locale_mask_t; ++#endif ++ ++void * _Locale_ctype_create(const char *); ++void * _Locale_numeric_create(const char *); ++void * _Locale_time_create(const char *); ++void * _Locale_collate_create(const char *); ++void * _Locale_monetary_create(const char *); ++void * _Locale_messages_create(const char *); ++ ++/* ++ * The char* argument is a simple locale name. ++ * These functions return NULL to indicate failure. ++ * The char* argument is a simple locale name, which may not ++ * be "". These functions return NULL to indicate failure. ++ */ ++ ++const char * _Locale_ctype_default(char * __buf); ++const char * _Locale_numeric_default(char * __buf); ++const char * _Locale_time_default(char * __buf); ++const char * _Locale_collate_default(char * __buf); ++const char * _Locale_monetary_default(char * __buf); ++const char * _Locale_messages_default(char * __buf); ++ ++/* ++ * Returns the name of the user's default locale in each ++ * category, as a null-terminated string. A NULL value ++ * means the default "C" locale. ++ */ ++ ++char * _Locale_ctype_name(const void *, char *); ++char * _Locale_numeric_name(const void *, char *); ++char * _Locale_time_name(const void *, char *); ++char * _Locale_collate_name(const void *, char *); ++char * _Locale_monetary_name(const void *, char *); ++char * _Locale_messages_name(const void *, char *); ++ ++/* ++ * __buf points to a buffer that can hold at least _Locale_MAX_SIMPLE_NAME ++ * characters. These functions store the name, as a null-terminated ++ * string, in __buf. ++ */ ++ ++void _Locale_ctype_destroy(void *); ++void _Locale_numeric_destroy(void *); ++void _Locale_time_destroy(void *); ++void _Locale_collate_destroy(void *); ++void _Locale_monetary_destroy(void *); ++void _Locale_messages_destroy(void *); ++ ++char * _Locale_extract_ctype_name(const char *cname, char *__buf); ++char * _Locale_extract_numeric_name(const char *cname, char *__buf); ++char * _Locale_extract_time_name(const char *cname, char *__buf); ++char * _Locale_extract_collate_name(const char *cname, char *__buf); ++char * _Locale_extract_monetary_name(const char *cname, char *__buf); ++char * _Locale_extract_messages_name(const char *cname, char *__buf); ++ ++/* ++ * cname is a (possibly composite) locale name---i.e. a name that can ++ * be passed to setlocale. _buf points to an array large enough to ++ * store at least _Locale_MAX_SIMPLE_NAME characters, and each of these ++ * functions extracts the name of a single category, stores it in buf ++ * as a null-terminated string, and returns buf. ++ */ ++ ++char * _Locale_compose_name(char *__buf, ++ const char *__Ctype, const char *__Numeric, ++ const char *__Time, const char *__Collate, ++ const char *__Monetary, const char *__Messages); ++ ++/* ++ * The inputs to this function are six null-terminated strings: the ++ * names of a locale's six categories. __buf is a pointer to an array ++ * large enough to store at least _Locale_MAX_COMPOSITE_NAME characters. ++ * This function constructs a (possibly composite) name describing the ++ * locale as a whole, stores that name in buf as a null-terminated ++ * string, and returns buf. ++ */ ++ ++/* ++ * FUNCTIONS THAT USE CTYPE ++ */ ++ ++/* ++ * Narrow character functions: ++ */ ++ ++_Locale_mask_t * _Locale_ctype_table(struct _Locale_ctype *); ++ ++/* ++ * Returns a pointer to the beginning of the ctype table. The table is ++ * at least 257 bytes long; if p is the pointer returned by this ++ * function, then p[c] is valid if c is EOF or if p is any value of ++ * type unsigned char. ++ */ ++ ++int _Locale_toupper(struct _Locale_ctype *, int); ++int _Locale_tolower(struct _Locale_ctype *, int); ++ ++/* ++ * c is either EOF, or an unsigned char value. ++ */ ++ ++# ifndef _STLP_NO_WCHAR_T ++/* ++ * Wide character functions: ++ */ ++_Locale_mask_t _Locale_wchar_ctype(struct _Locale_ctype *, wint_t); ++wint_t _Locale_wchar_tolower(struct _Locale_ctype *, wint_t); ++wint_t _Locale_wchar_toupper(struct _Locale_ctype *, wint_t); ++# endif ++ ++# if !defined ( _STLP_NO_MBSTATE_T ) ++ ++/* ++ * Multibyte functions: ++ */ ++ ++int _Locale_mb_cur_max (struct _Locale_ctype *); ++/* ++ * Returns the number of bytes of the longest allowed multibyte ++ * character in the current encoding. ++ */ ++ ++int _Locale_mb_cur_min (struct _Locale_ctype *); ++/* ++ * Returns the number of bytes of the shortest allowed multibyte ++ * character in the current encoding. ++ */ ++ ++int _Locale_is_stateless (struct _Locale_ctype *); ++/* ++ * Returns 1 if the current multibyte encoding is stateless ++ * and does not require the use of an mbstate_t value. ++ */ ++ ++# ifndef _STLP_NO_WCHAR_T ++wint_t _Locale_btowc(struct _Locale_ctype *, int); ++int _Locale_wctob(struct _Locale_ctype *, wint_t); ++ ++/* ++ * Just like btowc and wctob, from 4.6.5.1 of the C standard, Normative ++ * Addendum 1. (And just like widen/narrow, from clause 22 of the C++ ++ * standard.) ++ */ ++ ++size_t _Locale_mbtowc(struct _Locale_ctype *, ++ wchar_t *, ++ const char *, size_t, ++ mbstate_t *); ++ ++/* ++ * Almost identical to mbrtowc, from 4.6.5.3.2 of NA1. The only ++ * important difference is that mbrtowc treats null wide characters ++ * as special, and we don't. Specifically: examines the characters ++ * in [from, from + n), extracts a single wide character, and stores ++ * it in *to. Modifies shift_state if appropriate. The return value, ++ * which is always positive, is the number of characters extracted from ++ * the input sequence. Return value is (size_t) -1 if there was an ++ * encoding error in the input sequence, and (size_t) -2 if ++ * [from, from + n) is correct but not complete. None of the pointer ++ * arguments may be null pointers. ++ */ ++ ++size_t _Locale_wctomb(struct _Locale_ctype *, ++ char *, size_t, ++ const wchar_t, ++ mbstate_t *); ++ ++/* ++ * Again, very similar to wcrtomb. The differences are that (1) it ++ * doesn't treat null characters as special; and (2) it stores at most ++ * n characters. Converts c to a multibyte sequence, stores that ++ * sequence in the array 'to', and returns the length of the sequence. ++ * Modifies shift_state if appropriate. The return value is (size_t) -1 ++ * if c is not a valid wide character, and (size_t) -2 if the length of ++ * the multibyte character sequence is greater than n. ++ */ ++# endif ++ ++size_t _Locale_unshift(struct _Locale_ctype *, ++ mbstate_t *, ++ char *, size_t, char **); ++ ++/* ++ * Inserts whatever characters are necessary to restore st to an ++ * initial shift state. Sets *next to buf + m, where m is the number ++ * of characters inserted. (0 <= m <= n.) Returns m to indicate ++ * success, (size_t) -1 to indicate error, (size_t) -2 to indicate ++ * partial success (more than n characters needed). For success or partial ++ * success, sets *next to buf + m. ++ */ ++ ++# endif /* _STLP_NO_MBSTATE_T */ ++ ++/* ++ * FUNCTIONS THAT USE COLLATE ++ */ ++ ++int _Locale_strcmp(struct _Locale_collate *, ++ const char *, size_t, ++ const char *, size_t); ++# ifndef _STLP_NO_WCHAR_T ++int _Locale_strwcmp(struct _Locale_collate *, ++ const wchar_t *, size_t, ++ const wchar_t *, size_t); ++# endif ++/* ++ * Compares the two sequences [s1, s1 + n1) and [s2, s2 + n2). Neither ++ * sequence is assumed to be null-terminated, and null characters ++ * aren't special. If the two sequences are the same up through ++ * min(n1, n2), then the sequence that compares less is whichever one ++ * is shorter. ++ */ ++ ++size_t _Locale_strxfrm(struct _Locale_collate *, ++ char *, size_t, ++ const char *, size_t); ++ ++# ifndef _STLP_NO_WCHAR_T ++size_t _Locale_strwxfrm(struct _Locale_collate *, ++ wchar_t *, size_t, ++ const wchar_t *, size_t); ++# endif ++ ++/* ++ * Creates a transformed version of the string [s2, s2 + n2). The ++ * string may contain embedded null characters; nulls aren't special. ++ * The transformed string begins at s1, and contains at most n1 ++ * characters. The return value is the length of the transformed ++ * string. If the return value is greater than n1 then this is an ++ * error condition: it indicates that there wasn't enough space. In ++ * that case, the contents of [s1, s1 + n1) is unspecified. ++*/ ++ ++/* ++ * FUNCTIONS THAT USE NUMERIC ++ */ ++ ++char _Locale_decimal_point(struct _Locale_numeric *); ++char _Locale_thousands_sep(struct _Locale_numeric *); ++const char * _Locale_grouping(struct _Locale_numeric *); ++ ++/* ++ * Equivalent to the first three fields in struct lconv. (C standard, ++ * section 7.4.) ++ */ ++ ++const char * _Locale_true(struct _Locale_numeric *); ++const char * _Locale_false(struct _Locale_numeric *); ++ ++/* ++ * Return "true" and "false" in English locales, and something ++ * appropriate in non-English locales. ++ */ ++ ++/* ++ * FUNCTIONS THAT USE MONETARY ++ */ ++ ++const char * _Locale_int_curr_symbol(struct _Locale_monetary *); ++const char * _Locale_currency_symbol(struct _Locale_monetary *); ++char _Locale_mon_decimal_point(struct _Locale_monetary *); ++char _Locale_mon_thousands_sep(struct _Locale_monetary *); ++const char * _Locale_mon_grouping(struct _Locale_monetary *); ++const char * _Locale_positive_sign(struct _Locale_monetary *); ++const char * _Locale_negative_sign(struct _Locale_monetary *); ++char _Locale_int_frac_digits(struct _Locale_monetary *); ++char _Locale_frac_digits(struct _Locale_monetary *); ++int _Locale_p_cs_precedes(struct _Locale_monetary *); ++int _Locale_p_sep_by_space(struct _Locale_monetary *); ++int _Locale_p_sign_posn(struct _Locale_monetary *); ++int _Locale_n_cs_precedes(struct _Locale_monetary *); ++int _Locale_n_sep_by_space(struct _Locale_monetary *); ++int _Locale_n_sign_posn(struct _Locale_monetary *); ++ ++/* ++ * Return the obvious fields of struct lconv. ++ */ ++ ++/* ++ * FUNCTIONS THAT USE TIME ++ */ ++ ++const char ** _Locale_full_monthname(struct _Locale_time *); ++const char ** _Locale_abbrev_monthname(struct _Locale_time *); ++ ++/* ++ * month is in the range [0, 12). ++ */ ++ ++const char ** _Locale_full_dayofweek(struct _Locale_time *); ++const char ** _Locale_abbrev_dayofweek(struct _Locale_time *); ++ ++/* ++ * day is in the range [0, 7). Sunday is 0. ++ */ ++ ++const char * _Locale_d_t_fmt(struct _Locale_time *); ++const char * _Locale_d_fmt(struct _Locale_time *); ++const char * _Locale_t_fmt(struct _Locale_time *); ++const char * _Locale_long_d_t_fmt(struct _Locale_time*); ++const char * _Locale_long_d_fmt(struct _Locale_time*); ++ ++const char * _Locale_am_str(struct _Locale_time *); ++const char * _Locale_pm_str(struct _Locale_time *); ++const char * _Locale_t_fmt_ampm(struct _Locale_time *); ++ ++ ++/* ++ * FUNCTIONS THAT USE MESSAGES ++ */ ++ ++int _Locale_catopen(struct _Locale_messages*, const char*); ++ ++/* ++ * Very similar to catopen, except that it uses L to determine ++ * which catalog to open. ++ */ ++ ++void _Locale_catclose(struct _Locale_messages*, int); ++ ++/* ++ * catalog is a value that was returned by a previous call to ++ * _Locale_catopen ++ */ ++ ++const char * _Locale_catgets(struct _Locale_messages *, int, ++ int, int,const char *); ++ ++/* ++ * Returns a string, identified by a set index and a message index, ++ * from an opened message catalog. Returns default if no such ++ * string exists. ++ */ ++ ++# ifdef __cplusplus ++} ++_STLP_END_NAMESPACE ++# endif ++ ++# endif /* _STLP_C_LOCALE_IMPL_H */ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/c_locale_glibc/c_locale_glibc.c tripwire-2.3.1-2/src/STLport-4.0/src/c_locale_glibc/c_locale_glibc.c +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/c_locale_glibc/c_locale_glibc.c Sat Feb 24 10:44:17 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/c_locale_glibc/c_locale_glibc.c Sun Aug 11 18:59:23 2002 +@@ -22,7 +22,7 @@ + #include + #include + #include +-#include ++/* #include */ + + #include + #include +@@ -30,9 +30,10 @@ + + wint_t btowc(int c); + int wctob (wint_t c); +-size_t __mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps); +-size_t __wcrtomb (char *s, wchar_t wc, mbstate_t *ps); +-size_t __mbrlen (const char* s, size_t n, mbstate_t *ps); ++ ++size_t mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps); ++size_t wcrtomb (char *s, wchar_t wc, mbstate_t *ps); ++size_t mbrlen (const char* s, size_t n, mbstate_t *ps); + + #include + +@@ -114,7 +115,7 @@ + _Find_locale (char *locale_path, size_t locale_path_len, + int category, char **name) + { +- return _nl_find_locale(locale_path, locale_path_len, category, name); ++ return __nl_find_locale(locale_path, locale_path_len, category, name); + } + + +@@ -139,11 +140,11 @@ + locpath_var = __secure_getenv("LOCPATH"); + + if (locpath_var != NULL && locpath_var[0] != '\0') +- if (__argz_create_sep (locpath_var, ':', +- &locale_path, &locale_path_len) != 0) ++ if (argz_create_sep (locpath_var, ':', ++ &locale_path, &locale_path_len) != 0) + return NULL; +- +- if (__argz_add_sep (&locale_path, &locale_path_len, __LOCALE_PATH, ':') != 0) ++ ++ if (argz_add_sep (&locale_path, &locale_path_len, __LOCALE_PATH, ':') != 0) + return NULL; + + return _Find_locale(locale_path, locale_path_len, +@@ -215,21 +216,21 @@ + + /****** Numeric Category ******/ + +-struct _Locale_numeric* ++void* + _Locale_numeric_create(const char * name) { + L_numeric_t* lnum = (L_numeric_t*)malloc(sizeof(L_numeric_t)); + lnum->gcc_data = _Category_create(name, LC_NUMERIC); +- return lnum; ++ return (void*)lnum; + } + + +-char* _Locale_numeric_name(const struct _Locale_numeric* lnum, ++char* _Locale_numeric_name(const void* lnum, + char* buf) { +- return _Locale_name(lnum->gcc_data, buf); ++ return _Locale_name(((struct _Locale_ctype*)lnum)->gcc_data, buf); + } +-void _Locale_numeric_destroy(struct _Locale_numeric* lnum) ++void _Locale_numeric_destroy(void* lnum) + { +- _Remove_locale(LC_NUMERIC, (struct locale_data *)lnum->gcc_data); ++ _Remove_locale(LC_NUMERIC, (struct locale_data *)((struct _Locale_ctype*)lnum)->gcc_data); + free(lnum); + } + char* _Locale_extract_numeric_name(const char* cname, char* buf) +@@ -264,18 +265,19 @@ + + /****** Monetary Category ******/ + +-struct _Locale_monetary* _Locale_monetary_create(const char* name) { ++void* _Locale_monetary_create(const char* name) { + L_monetary_t* lmon = (L_monetary_t*)malloc(sizeof(L_monetary_t)); + lmon->gcc_data = _Category_create(name, LC_MONETARY); + return lmon; + } +-char* _Locale_monetary_name(const struct _Locale_monetary* lmon, +- char* buf) { +- return _Locale_name(lmon->gcc_data, buf); ++ ++char* _Locale_monetary_name(const void* lmon, ++ char* buf) { ++ return _Locale_name(((struct _Locale_monetary*)lmon)->gcc_data, buf); + } + +-void _Locale_monetary_destroy(struct _Locale_monetary* lmon) { +- _Remove_locale(LC_MONETARY, (struct locale_data *)lmon->gcc_data); ++void _Locale_monetary_destroy(void*lmon) { ++ _Remove_locale(LC_MONETARY, (struct locale_data *)((struct _Locale_monetary*)lmon)->gcc_data); + free(lmon); + } + +@@ -331,20 +333,21 @@ + + /****** Time Category ******/ + +-struct _Locale_time* _Locale_time_create(const char * name) { ++void* _Locale_time_create(const char * name) { + L_time_t* ltime = (L_time_t*)malloc(sizeof(L_time_t)); + ltime->gcc_data = _Category_create(name, LC_TIME); + return ltime; + } +-char* _Locale_time_name(const struct _Locale_time* ltime, ++ ++char* _Locale_time_name(const void* ltime, + char* buf) { +- return _Locale_name(ltime->gcc_data, buf); ++ return _Locale_name(((struct _Locale_time*)ltime)->gcc_data, buf); + } + char* _Locale_extract_time_name(const char* cname, char* buf) { + return _Locale_extract_name(cname, buf, LC_TIME); + } +-void _Locale_time_destroy(struct _Locale_time* ltime) { +- _Remove_locale(LC_TIME, (struct locale_data *)ltime->gcc_data); ++void _Locale_time_destroy(void* ltime) { ++ _Remove_locale(LC_TIME, (struct locale_data *)((struct _Locale_time*)ltime)->gcc_data); + free(ltime); + } + const char ** _Locale_full_monthname(struct _Locale_time *ltime) { +@@ -362,10 +365,17 @@ + const char* _Locale_d_t_fmt(struct _Locale_time* ltime) { + return ltime->gcc_data->values[_NL_ITEM_INDEX(D_T_FMT)].string; + } ++const char* _Locale_long_d_t_fmt(struct _Locale_time* ltime) { ++ return ltime->gcc_data->values[_NL_ITEM_INDEX(D_T_FMT)].string; ++} + const char* _Locale_d_fmt(struct _Locale_time* ltime) + { + return ltime->gcc_data->values[_NL_ITEM_INDEX(D_FMT)].string; + } ++const char* _Locale_long_d_fmt(struct _Locale_time* ltime) ++{ ++ return ltime->gcc_data->values[_NL_ITEM_INDEX(D_FMT)].string; ++} + const char* _Locale_t_fmt(struct _Locale_time* ltime) { + return ltime->gcc_data->values[_NL_ITEM_INDEX(T_FMT)].string; + } +@@ -383,18 +393,18 @@ + + /****** Messages Category ******/ + +-struct _Locale_messages* _Locale_messages_create(const char * name) { ++void* _Locale_messages_create(const char * name) { + L_messages_t* lmsg = (L_messages_t*)malloc(sizeof(L_messages_t)); + lmsg->gcc_data = _Category_create(name, LC_MESSAGES); + return lmsg; + } + +-char* _Locale_messages_name(const struct _Locale_messages* lmsg, char* buf) { +- return _Locale_name(lmsg->gcc_data, buf); ++char* _Locale_messages_name(const void* lmsg, char* buf) { ++ return _Locale_name(((struct _Locale_messages*)lmsg)->gcc_data, buf); + } + +-void _Locale_messages_destroy(struct _Locale_messages* lmsg) { +- _Remove_locale(LC_MESSAGES, (struct locale_data *)lmsg->gcc_data); ++void _Locale_messages_destroy(void* lmsg) { ++ _Remove_locale(LC_MESSAGES, (struct locale_data *)((struct _Locale_messages*)lmsg)->gcc_data); + free(lmsg); + } + +@@ -451,7 +461,7 @@ + } + + +-struct _Locale_ctype* _Locale_ctype_create(const char * name) { ++void* _Locale_ctype_create(const char * name) { + const union locale_data_value *ctypes; + L_ctype_t* lctype; + +@@ -476,16 +486,16 @@ + #endif + return lctype; + } +-char* _Locale_ctype_name(const struct _Locale_ctype* lctype, +- char* buf) { +- return _Locale_name(lctype->gcc_data, buf); ++char* _Locale_ctype_name(const void* lctype, ++ char* buf) { ++ return _Locale_name(((struct _Locale_ctype*)lctype)->gcc_data, buf); + } +-void _Locale_ctype_destroy(struct _Locale_ctype* lctype) { +- _Remove_locale(LC_CTYPE, (struct locale_data *)lctype->gcc_data); ++void _Locale_ctype_destroy(void* lctype) { ++ _Remove_locale(LC_CTYPE, (struct locale_data *)((struct _Locale_ctype*)lctype)->gcc_data); + free(lctype); + } + char* _Locale_extract_ctype_name(const char* cname, char* buf) { +- return _Locale_extract_name(cname, buf, LC_TIME); ++ return _Locale_extract_name(cname, buf, LC_CTYPE); + } + _Locale_mask_t* _Locale_ctype_table(struct _Locale_ctype* lctype) { + return lctype->__class; +@@ -601,9 +611,9 @@ + { + int ret; + if (to) +- ret = __mbrtowc(to, from, n, shift_state); ++ ret = mbrtowc(to, from, n, shift_state); + else +- ret = __mbrlen(from, n, shift_state); ++ ret = mbrlen(from, n, shift_state); + return ret; + } + +@@ -615,7 +625,7 @@ + char buf [MB_LEN_MAX]; + int ret; + char* mb = buf; +- ret = __wcrtomb(mb, c, shift_state); ++ ret = wcrtomb(mb, c, shift_state); + + if (ret > n) + return (size_t)-2; +@@ -639,18 +649,18 @@ + + /****** Collate Category ******/ + +-struct _Locale_collate* _Locale_collate_create(const char * name) { ++void* _Locale_collate_create(const char * name) { + L_collate_t* lcollate = (L_collate_t*)malloc(sizeof(L_collate_t)); + lcollate->gcc_data = _Category_create(name, LC_COLLATE); + return lcollate; + } + +-char* _Locale_collate_name(const struct _Locale_collate* lcollate, char* buf) { +- return _Locale_name(lcollate->gcc_data, buf); ++char* _Locale_collate_name(const void* lcollate, char* buf) { ++ return _Locale_name(((struct _Locale_collate*)lcollate)->gcc_data, buf); + } + +-void _Locale_collate_destroy(struct _Locale_collate* lcollate) { +- _Remove_locale(LC_COLLATE, (struct locale_data *)lcollate->gcc_data); ++void _Locale_collate_destroy(void* lcollate) { ++ _Remove_locale(LC_COLLATE, (struct locale_data *)((struct _Locale_collate*)lcollate)->gcc_data); + free(lcollate); + } + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/c_locale_stub.cpp tripwire-2.3.1-2/src/STLport-4.0/src/c_locale_stub.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/c_locale_stub.cpp Sat Feb 24 10:44:08 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/c_locale_stub.cpp Sun Aug 11 18:59:22 2002 +@@ -16,18 +16,17 @@ + * + */ + # include "stlport_prefix.h" +- +-#include ++#include "c_locale.h" + #include + +-# ifdef __STL_REAL_LOCALE_IMPLEMENTED ++# ifdef _STLP_REAL_LOCALE_IMPLEMENTED + + // here, we'll put C locale implementation for those compilers where + // it has to be done in C++ + + # else + +-/* This is a "stub" implementation of the interface, ++/* This is a "stub" implementation of the "c_locale.h" interface, + intended for operating systems where we have not yet written + a real implementation. A C++ library using this stub implementation + is still standard-conforming, since the C++ standard does not require +@@ -44,7 +43,7 @@ + struct _Locale_messages /* { } */; + + # ifdef __cplusplus +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + extern "C" { + # define __DUMMY_PAR + # define __DUMMY_PAR1 +@@ -122,7 +121,7 @@ + int _Locale_toupper(struct _Locale_ctype*__DUMMY_PAR1, int __DUMMY_PAR) { return 0; } + int _Locale_tolower(struct _Locale_ctype*__DUMMY_PAR1, int __DUMMY_PAR) { return 0; } + +-# ifndef __STL_NO_WCHAR_T ++# ifndef _STLP_NO_WCHAR_T + _Locale_mask_t _Locale_wchar_ctype(struct _Locale_ctype*__DUMMY_PAR1, wint_t __DUMMY_PAR) + { return 0; } + wint_t _Locale_wchar_tolower(struct _Locale_ctype*__DUMMY_PAR1, wint_t __DUMMY_PAR) +@@ -131,13 +130,15 @@ + { return 0; } + # endif + +-# ifndef __STL_NO_MBSTATE_T ++# ifndef _STLP_NO_MBSTATE_T + + int _Locale_mb_cur_max (struct _Locale_ctype * __DUMMY_PAR) { return 0; } + int _Locale_mb_cur_min (struct _Locale_ctype * __DUMMY_PAR) { return 0; } + int _Locale_is_stateless (struct _Locale_ctype * __DUMMY_PAR) { return 1; } ++#ifndef _STLP_NO_WCHAR_T + wint_t _Locale_btowc(struct _Locale_ctype * __DUMMY_PAR1, int __DUMMY_PAR) { return 0; } + int _Locale_wctob(struct _Locale_ctype * __DUMMY_PAR2, wint_t __DUMMY_PAR) { return 0; } ++ + size_t _Locale_mbtowc(struct _Locale_ctype *__DUMMY_PAR1, + wchar_t *__DUMMY_PAR2, + const char *__DUMMY_PAR3, size_t __DUMMY_PAR4, +@@ -150,13 +151,15 @@ + mbstate_t *__DUMMY_PAR5) { + return (size_t) -1; + } ++# endif ++ + size_t _Locale_unshift(struct _Locale_ctype *__DUMMY_PAR1, + mbstate_t *__DUMMY_PAR2, + char *__DUMMY_PAR3, size_t __DUMMY_PAR4, char ** __DUMMY_PAR5) { + return (size_t) -1; + } + +-# endif /* __STL_NO_MBSTATE_T */ ++# endif /* _STLP_NO_MBSTATE_T */ + + + /* Collate */ +@@ -166,7 +169,7 @@ + return 0; + } + +-# ifndef __STL_NO_WCHAR_T ++# ifndef _STLP_NO_WCHAR_T + + int _Locale_strwcmp(struct _Locale_collate* __DUMMY_PAR1, + const wchar_t* __DUMMY_PAR2, size_t __DUMMY_PAR3, +@@ -182,7 +185,7 @@ + return 0; + } + +-# ifndef __STL_NO_WCHAR_T ++# ifndef _STLP_NO_WCHAR_T + + size_t _Locale_strwxfrm(struct _Locale_collate* __DUMMY_PAR1, + wchar_t* __DUMMY_PAR2, size_t __DUMMY_PAR3, +@@ -251,6 +254,8 @@ + const char* _Locale_d_t_fmt(struct _Locale_time* __DUMMY_PAR) { return 0; } + const char* _Locale_d_fmt(struct _Locale_time* __DUMMY_PAR) { return 0; } + const char* _Locale_t_fmt(struct _Locale_time* __DUMMY_PAR) { return 0; } ++ const char* _Locale_long_d_t_fmt(struct _Locale_time* __DUMMY_PAR){ return 0; } ++ const char* _Locale_long_d_fmt(struct _Locale_time* __DUMMY_PAR) { return 0; } + const char* _Locale_am_str(struct _Locale_time* __DUMMY_PAR) { return 0; } + const char* _Locale_pm_str(struct _Locale_time* __DUMMY_PAR) { return 0; } + const char* _Locale_t_fmt_ampm(struct _Locale_time* __DUMMY_PAR) { return 0; } +@@ -267,7 +272,7 @@ + + #ifdef __cplusplus + } /* extern C */ +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + #endif + + #endif /* real locale */ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/codecvt.cpp tripwire-2.3.1-2/src/STLport-4.0/src/codecvt.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/codecvt.cpp Sat Feb 24 10:44:05 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/codecvt.cpp Sun Aug 11 18:59:22 2002 +@@ -1,104 +1,165 @@ +-/* +- * Copyright (c) 1999 +- * Silicon Graphics Computer Systems, Inc. +- * +- * Copyright (c) 1999 +- * Boris Fomitchev +- * +- * This material is provided "as is", with absolutely no warranty expressed +- * or implied. Any use is at your own risk. +- * +- * Permission to use or copy this software for any purpose is hereby granted +- * without fee, provided the above notices are retained on all copies. +- * Permission to modify the code and to distribute modified code is granted, +- * provided the above notices are retained, and a notice that the code was +- * modified is included with the above copyright notice. +- * +- */ +-# include "stlport_prefix.h" +- +-#include +-#include +-#include +-#include +-#include +- +-# ifndef __STL_NO_MBSTATE_T +- +-__STL_BEGIN_NAMESPACE +- +-//---------------------------------------------------------------------- +-// codecvt +- +-codecvt::codecvt(size_t refs) +-#if !(defined(__MRC__) || defined(__SC__) ) //*TY 04/29/2000 - added workaround for mpw +- : locale::facet(refs) +-#else //*TY 04/29/2000 - +- : _facet(refs) //*TY 04/29/2000 - they forget to look into the nested class for the ctor +-#endif //*TY 04/29/2000 - +-{} +- +-codecvt::~codecvt() +-{} +- +-int codecvt::do_length(const mbstate_t&, +- const char* from, +- const char* end, +- size_t max) const +-{ +- return min( __STATIC_CAST(size_t, (end - from)), max); +-} +- +-int codecvt::do_max_length() const __STL_NOTHROW +-{ +- return 1; +-} +- +-bool +-codecvt::do_always_noconv() const __STL_NOTHROW +-{ +- return true; +-} +- +-int +-codecvt::do_encoding() const __STL_NOTHROW +-{ +- return 1; +-} +- +- +-codecvt_base::result +-codecvt::do_unshift(mbstate_t& /* __state */, +- char* __to, +- char* /* __to_limit */, +- char*& __to_next) const +-{ __to_next = __to; return noconv; } +- +-codecvt_base::result +-codecvt::do_in (mbstate_t& /* __state */ , +- const char* __from, +- const char* /* __from_end */, +- const char*& __from_next, +- char* __to, +- char* /* __to_end */, +- char*& __to_next) const +-{ __from_next = __from; __to_next = __to; return noconv; } +- +-codecvt_base::result +-codecvt::do_out(mbstate_t& /* __state */, +- const char* __from, +- const char* /* __from_end */, +- const char*& __from_next, +- char* __to, +- char* /* __to_limit */, +- char*& __to_next) const +-{ __from_next = __from; __to_next = __to; return noconv; } +- +-__STL_END_NAMESPACE +- +-# endif /* __STL_NO_MBSTATE_T */ +- +-// Local Variables: +-// mode:C++ +-// End: +- ++/* ++ * Copyright (c) 1999 ++ * Silicon Graphics Computer Systems, Inc. ++ * ++ * Copyright (c) 1999 ++ * Boris Fomitchev ++ * ++ * This material is provided "as is", with absolutely no warranty expressed ++ * or implied. Any use is at your own risk. ++ * ++ * Permission to use or copy this software for any purpose is hereby granted ++ * without fee, provided the above notices are retained on all copies. ++ * Permission to modify the code and to distribute modified code is granted, ++ * provided the above notices are retained, and a notice that the code was ++ * modified is included with the above copyright notice. ++ * ++ */ ++# include "stlport_prefix.h" ++ ++# ifndef _STLP_NO_MBSTATE_T ++ ++#include ++#include ++ ++_STLP_BEGIN_NAMESPACE ++ ++//---------------------------------------------------------------------- ++// codecvt ++ ++codecvt::~codecvt() {} ++ ++int codecvt::do_length(const mbstate_t&, ++ const char* from, ++ const char* end, ++ size_t mx) const ++{ ++ return (int)(min) ( __STATIC_CAST(size_t, (end - from)), mx); ++} ++ ++int codecvt::do_max_length() const _STLP_NOTHROW ++{ ++ return 1; ++} ++ ++bool ++codecvt::do_always_noconv() const _STLP_NOTHROW ++{ ++ return true; ++} ++ ++int ++codecvt::do_encoding() const _STLP_NOTHROW ++{ ++ return 1; ++} ++ ++ ++codecvt_base::result ++codecvt::do_unshift(mbstate_t& /* __state */, ++ char* __to, ++ char* /* __to_limit */, ++ char*& __to_next) const ++{ __to_next = __to; return noconv; } ++ ++codecvt_base::result ++codecvt::do_in (mbstate_t& /* __state */ , ++ const char* __from, ++ const char* /* __from_end */, ++ const char*& __from_next, ++ char* __to, ++ char* /* __to_end */, ++ char*& __to_next) const ++{ __from_next = __from; __to_next = __to; return noconv; } ++ ++codecvt_base::result ++codecvt::do_out(mbstate_t& /* __state */, ++ const char* __from, ++ const char* /* __from_end */, ++ const char*& __from_next, ++ char* __to, ++ char* /* __to_limit */, ++ char*& __to_next) const ++{ __from_next = __from; __to_next = __to; return noconv; } ++ ++ ++# ifndef _STLP_NO_WCHAR_T ++//---------------------------------------------------------------------- ++// codecvt ++ ++codecvt::~codecvt() {} ++ ++ ++codecvt::result ++codecvt::do_out(state_type& /* state */, ++ const intern_type* from, ++ const intern_type* from_end, ++ const intern_type*& from_next, ++ extern_type* to, ++ extern_type* to_limit, ++ extern_type*& to_next) const ++{ ++ ptrdiff_t len = (min) (from_end - from, to_limit - to); ++ copy(from, from + len, to); ++ from_next = from + len; ++ to_next = to + len; ++ return ok; ++} ++ ++codecvt::result ++codecvt::do_in (state_type& /* state */, ++ const extern_type* from, ++ const extern_type* from_end, ++ const extern_type*& from_next, ++ intern_type* to, ++ intern_type* to_limit, ++ intern_type*& to_next) const ++{ ++ ptrdiff_t len = (min) (from_end - from, to_limit - to); ++ copy(from, from + len, to); ++ from_next = from + len; ++ to_next = to + len; ++ return ok; ++} ++ ++codecvt::result ++codecvt::do_unshift(state_type& /* state */, ++ extern_type* to, ++ extern_type* , ++ extern_type*& to_next) const ++{ ++ to_next = to; ++ return noconv; ++} ++ ++int codecvt::do_encoding() const _STLP_NOTHROW { ++ return 1; ++} ++ ++ ++bool codecvt::do_always_noconv() const _STLP_NOTHROW ++{ ++ return true; ++} ++ ++int codecvt::do_length(const state_type&, ++ const extern_type* from, ++ const extern_type* end, ++ size_t mx) const ++{ ++ return (int)(min) ((size_t) (end - from), mx); ++} ++ ++int codecvt::do_max_length() const _STLP_NOTHROW { ++ return 1; ++} ++# endif /* wchar_t */ ++ ++_STLP_END_NAMESPACE ++ ++# endif /* _STLP_NO_MBSTATE_T */ ++ ++// Local Variables: ++// mode:C++ ++// End: ++ +Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: codecvt_byname.cpp +Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: codecvt_w.cpp +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/collate.cpp tripwire-2.3.1-2/src/STLport-4.0/src/collate.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/collate.cpp Sat Feb 24 10:44:06 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/collate.cpp Sun Aug 11 18:59:22 2002 +@@ -1,76 +1,83 @@ +-/* +- * Copyright (c) 1999 +- * Silicon Graphics Computer Systems, Inc. +- * +- * Copyright (c) 1999 +- * Boris Fomitchev +- * +- * This material is provided "as is", with absolutely no warranty expressed +- * or implied. Any use is at your own risk. +- * +- * Permission to use or copy this software for any purpose is hereby granted +- * without fee, provided the above notices are retained on all copies. +- * Permission to modify the code and to distribute modified code is granted, +- * provided the above notices are retained, and a notice that the code was +- * modified is included with the above copyright notice. +- * +- */ +-# include "stlport_prefix.h" +- +-#include +- +-//*TY 05/01/2000 - removed unnecessary workaround +-//#if defined(__MRC__)||defined(__SC__) //*TY 03/04/2000 - added workaround for MPW compilers; to force its instantiation which the compiler forget to do so implicitly +-//template void std::_String_base >::_M_throw_length_error() const; +-//#endif //*TY 03/04/2000 - +- +-#include +- +-#include +-#include +- +-__STL_BEGIN_NAMESPACE +- +-// collate +- +-collate::collate(size_t refs) +-#if !(defined(__MRC__) || defined(__SC__) ) //*TY 04/29/2000 - added workaround for mpw +- : locale::facet(refs) +-#else //*TY 04/29/2000 - +- : _facet(refs) //*TY 04/29/2000 - they forget to look into the nested class for the ctor +-#endif //*TY 04/29/2000 - +-{} +- +-collate::~collate() +-{} +- +-int collate::do_compare(const char* low1, const char* high1, +- const char* low2, const char* high2) const +-{ +- return __lexicographical_compare_3way(low1, high1, low2, high2); +-} +- +-string collate::transform(const char* low, const char* high) const +-{ +- return do_transform(low, high); +-} +- +-string collate::do_transform(const char* low, const char* high) const +-{ +- return string(low, high); +-} +- +-long collate::do_hash(const char* low, const char* high) const { +- unsigned long result = 0; +- for ( ; low < high; ++low) +- result = 5 * result + *low; +- return result; +-} +- +-__STL_END_NAMESPACE +- +- +-// Local Variables: +-// mode:C++ +-// End: +- ++/* ++ * Copyright (c) 1999 ++ * Silicon Graphics Computer Systems, Inc. ++ * ++ * Copyright (c) 1999 ++ * Boris Fomitchev ++ * ++ * This material is provided "as is", with absolutely no warranty expressed ++ * or implied. Any use is at your own risk. ++ * ++ * Permission to use or copy this software for any purpose is hereby granted ++ * without fee, provided the above notices are retained on all copies. ++ * Permission to modify the code and to distribute modified code is granted, ++ * provided the above notices are retained, and a notice that the code was ++ * modified is included with the above copyright notice. ++ * ++ */ ++# include "stlport_prefix.h" ++ ++#include "stl/_collate.h" ++ ++_STLP_BEGIN_NAMESPACE ++ ++// collate ++ ++collate::~collate() {} ++ ++int collate::do_compare(const char* low1, const char* high1, ++ const char* low2, const char* high2) const ++{ ++ return __lexicographical_compare_3way(low1, high1, low2, high2); ++} ++ ++string collate::do_transform(const char* low, const char* high) const ++{ ++ return string(low, high); ++} ++ ++long collate::do_hash(const char* low, const char* high) const { ++ unsigned long result = 0; ++ for ( ; low < high; ++low) ++ result = 5 * result + *low; ++ return result; ++} ++ ++ ++ ++ ++# ifndef _STLP_NO_WCHAR_T ++// collate ++ ++collate::~collate() {} ++ ++int ++collate::do_compare(const wchar_t* low1, const wchar_t* high1, ++ const wchar_t* low2, const wchar_t* high2) const ++{ ++ return __lexicographical_compare_3way(low1, high1, low2, high2); ++} ++ ++ ++wstring ++collate::do_transform(const wchar_t* low, const wchar_t* high) const ++{ ++ return wstring(low, high); ++} ++ ++long collate::do_hash(const wchar_t* low, const wchar_t* high) const ++{ ++ unsigned long result = 0; ++ for ( ; low < high; ++low) ++ result = 5 * result + *low; ++ return result; ++} ++# endif ++ ++_STLP_END_NAMESPACE ++ ++ ++// Local Variables: ++// mode:C++ ++// End: ++ +Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: collate_byname.cpp +Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: collate_byname_w.cpp +Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: collate_w.cpp +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/common_macros.mak tripwire-2.3.1-2/src/STLport-4.0/src/common_macros.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/common_macros.mak Sat Feb 24 10:44:06 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/common_macros.mak Sun Aug 11 18:59:22 2002 +@@ -1,19 +1,57 @@ ++SHELL=/bin/sh ++ ++# ++# Versioning ++# ++VERSION_MAJOR=4 ++VERSION_MINOR=5 ++ ++# This one is not always present; it should be empty for release versions. ++# We do not assume any binary compatibility for betas. ++BETA_SUFFIX= ++ ++VERSION_SUFFIX= .$(VERSION_MAJOR).$(VERSION_MINOR)$(BETA_SUFFIX) ++WIN_VERSION_SUFFIX= $(VERSION_MAJOR)$(VERSION_MINOR)$(BETA_SUFFIX) ++ ++# DYNAMIC_SUFFIX= $(VERSION_SUFFIX)$(PATCH_SUFFIX) ++DYNAMIC_SUFFIX= $(VERSION_SUFFIX) ++WIN_DYNAMIC_SUFFIX= $(WIN_VERSION_SUFFIX) ++ + # + # Directories + # + # + + SRCDIR=. +-STLPORT_DIR=..$(PATH_SEP)stlport +-OUTDIR=..$(PATH_SEP)lib ++STLPORT_DIR=$(CUR_DIR)..$(PATH_SEP)stlport ++OUTDIR=$(CUR_DIR)..$(PATH_SEP)lib ++OBJDIR_COMMON=$(OUTDIR)$(PATH_SEP)obj ++OBJDIR=$(OUTDIR)$(PATH_SEP)obj$(PATH_SEP)$(COMP) ++ ++RELEASE_OBJDIR_static=$(OBJDIR)$(PATH_SEP)Release ++DEBUG_OBJDIR_static=$(OBJDIR)$(PATH_SEP)Debug ++STLDEBUG_OBJDIR_static=$(OBJDIR)$(PATH_SEP)DebugSTL ++RELEASE_OBJDIR_staticx=$(OBJDIR)$(PATH_SEP)Releasex ++DEBUG_OBJDIR_staticx=$(OBJDIR)$(PATH_SEP)Debugx ++STLDEBUG_OBJDIR_staticx=$(OBJDIR)$(PATH_SEP)DebugSTLx ++RELEASE_OBJDIR_dynamic=$(OBJDIR)$(PATH_SEP)ReleaseD ++DEBUG_OBJDIR_dynamic=$(OBJDIR)$(PATH_SEP)DebugD ++STLDEBUG_OBJDIR_dynamic=$(OBJDIR)$(PATH_SEP)DebugSTLD + +-RELEASE_OBJDIR_static=obj$(PATH_SEP)$(COMP)$(PATH_SEP)Release +-DEBUG_OBJDIR_static=obj$(PATH_SEP)$(COMP)$(PATH_SEP)Debug +-STLDEBUG_OBJDIR_static=obj$(PATH_SEP)$(COMP)$(PATH_SEP)DebugSTL +-RELEASE_OBJDIR_dynamic=obj$(PATH_SEP)$(COMP)$(PATH_SEP)ReleaseD +-DEBUG_OBJDIR_dynamic=obj$(PATH_SEP)$(COMP)$(PATH_SEP)DebugD +-STLDEBUG_OBJDIR_dynamic=obj$(PATH_SEP)$(COMP)$(PATH_SEP)DebugSTLD ++# ++# By default on UNIX, STLport headers go into /usr/local/include/stlport, ++# and libraries go into /usr/local/lib. Please override any of them if desired. ++# + ++INSTALLDIR=/usr/local ++# INSTALLDIR=/tmp ++INSTALLDIR_INC=$(INSTALLDIR)/include/stlport ++INSTALLDIR_LIB=$(INSTALLDIR)/lib ++ ++RM = rm -fr ++INSTALL = ./install.sh -c ++INSTALL_LIB = $(INSTALL) ++INSTALL_H = $(INSTALL) -m 444 + + # + # +@@ -24,411 +62,355 @@ + DEBUG_NAME=$(LIB_BASENAME)_debug + STLDEBUG_NAME=$(LIB_BASENAME)_stldebug + +-RELEASE_DYNLIB=$(RELEASE_NAME).$(DYNEXT) +-DEBUG_DYNLIB=$(DEBUG_NAME).$(DYNEXT) +-STLDEBUG_DYNLIB=$(STLDEBUG_NAME).$(DYNEXT) ++RELEASE_DYNLIB=$(RELEASE_NAME).$(DYNEXT)$(DYNAMIC_SUFFIX) ++DEBUG_DYNLIB=$(DEBUG_NAME).$(DYNEXT)$(DYNAMIC_SUFFIX) ++STLDEBUG_DYNLIB=$(STLDEBUG_NAME).$(DYNEXT)$(DYNAMIC_SUFFIX) ++ ++RELEASE_DYNLIB_SONAME=$(RELEASE_NAME).$(DYNEXT)$(VERSION_SUFFIX) ++DEBUG_DYNLIB_SONAME=$(DEBUG_NAME).$(DYNEXT)$(VERSION_SUFFIX) ++STLDEBUG_DYNLIB_SONAME=$(STLDEBUG_NAME).$(DYNEXT)$(VERSION_SUFFIX) + + RELEASE_LIB=$(RELEASE_NAME)$(STATIC_SUFFIX).$(STEXT) + DEBUG_LIB=$(DEBUG_NAME)$(STATIC_SUFFIX).$(STEXT) + STLDEBUG_LIB=$(STLDEBUG_NAME)$(STATIC_SUFFIX).$(STEXT) + +-ALL_STATIC_LIBS=$(OUTDIR)$(PATH_SEP)$(RELEASE_LIB) $(OUTDIR)$(PATH_SEP)$(DEBUG_LIB) $(OUTDIR)$(PATH_SEP)$(STLDEBUG_LIB) ++RELEASEX_LIB=$(RELEASE_NAME)$(STATIC_SUFFIX)x.$(STEXT) ++DEBUGX_LIB=$(DEBUG_NAME)$(STATIC_SUFFIX)x.$(STEXT) ++STLDEBUGX_LIB=$(STLDEBUG_NAME)$(STATIC_SUFFIX)x.$(STEXT) ++ ++ALL_STATIC_LIBS=$(OUTDIR)$(PATH_SEP)$(RELEASE_LIB) $(OUTDIR)$(PATH_SEP)$(STLDEBUG_LIB) ++DEBUG_STATIC_LIBS=$(ALL_STATIC_LIBS) $(OUTDIR)$(PATH_SEP)$(DEBUG_LIB) ++ ++ALL_STATICX_LIBS=$(OUTDIR)$(PATH_SEP)$(RELEASEX_LIB) $(OUTDIR)$(PATH_SEP)$(STLDEBUGX_LIB) ++DEBUG_STATICX_LIBS=$(ALL_STATICX_LIBS) $(OUTDIR)$(PATH_SEP)$(DEBUGX_LIB) ++ ++ALL_DYNAMIC_LIBS=$(OUTDIR)$(PATH_SEP)$(RELEASE_DYNLIB) $(OUTDIR)$(PATH_SEP)$(STLDEBUG_DYNLIB) ++DEBUG_DYNAMIC_LIBS=$(OUTDIR)$(PATH_SEP)$(RELEASE_DYNLIB) $(OUTDIR)$(PATH_SEP)$(STLDEBUG_DYNLIB) + +-ALL_DYNAMIC_LIBS=$(OUTDIR)$(PATH_SEP)$(RELEASE_DYNLIB) $(OUTDIR)$(PATH_SEP)$(DEBUG_DYNLIB) $(OUTDIR)$(PATH_SEP)$(STLDEBUG_DYNLIB) + + RELEASE_OBJECTS_static= \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ + $(RELEASE_OBJDIR_static)$(PATH_SEP)dll_main.$(OBJEXT) \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)range_errors.$(OBJEXT) \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)string.$(OBJEXT) \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)ios_base.$(OBJEXT) \ ++$(RELEASE_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ ++$(RELEASE_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ ++$(RELEASE_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ + $(RELEASE_OBJDIR_static)$(PATH_SEP)ios.$(OBJEXT) \ + $(RELEASE_OBJDIR_static)$(PATH_SEP)streambuf.$(OBJEXT) \ + $(RELEASE_OBJDIR_static)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ ++$(RELEASE_OBJDIR_static)$(PATH_SEP)istream.$(OBJEXT) \ ++$(RELEASE_OBJDIR_static)$(PATH_SEP)ostream.$(OBJEXT) \ + $(RELEASE_OBJDIR_static)$(PATH_SEP)iostream.$(OBJEXT) \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)c_locale.$(OBJEXT) \ + $(RELEASE_OBJDIR_static)$(PATH_SEP)codecvt.$(OBJEXT) \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)codecvt_byname.$(OBJEXT) \ + $(RELEASE_OBJDIR_static)$(PATH_SEP)collate.$(OBJEXT) \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)collate_byname.$(OBJEXT) \ + $(RELEASE_OBJDIR_static)$(PATH_SEP)ctype.$(OBJEXT) \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)ctype_byname.$(OBJEXT) \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)message_facets.$(OBJEXT) \ + $(RELEASE_OBJDIR_static)$(PATH_SEP)monetary.$(OBJEXT) \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)money_get.$(OBJEXT) \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)money_put.$(OBJEXT) \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)moneypunct.$(OBJEXT) \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)moneypunct_byname.$(OBJEXT) \ + $(RELEASE_OBJDIR_static)$(PATH_SEP)num_get.$(OBJEXT) \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)num_get_float.$(OBJEXT) \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)num_get_inst.$(OBJEXT) \ + $(RELEASE_OBJDIR_static)$(PATH_SEP)num_put.$(OBJEXT) \ ++$(RELEASE_OBJDIR_static)$(PATH_SEP)num_get_float.$(OBJEXT) \ + $(RELEASE_OBJDIR_static)$(PATH_SEP)num_put_float.$(OBJEXT) \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)num_put_inst.$(OBJEXT) \ + $(RELEASE_OBJDIR_static)$(PATH_SEP)numpunct.$(OBJEXT) \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)numpunct_byname.$(OBJEXT) \ + $(RELEASE_OBJDIR_static)$(PATH_SEP)time_facets.$(OBJEXT) \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)time_get.$(OBJEXT) \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)time_put.$(OBJEXT) \ ++$(RELEASE_OBJDIR_static)$(PATH_SEP)messages.$(OBJEXT) \ ++$(RELEASE_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ ++$(RELEASE_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ ++$(RELEASE_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ ++$(RELEASE_OBJDIR_static)$(PATH_SEP)facets_byname.$(OBJEXT) \ ++$(RELEASE_OBJDIR_static)$(PATH_SEP)c_locale.$(OBJEXT) \ ++$(RELEASE_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ ++$(RELEASE_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ ++$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ ++$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ ++$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ + $(RELEASE_OBJDIR_static)$(PATH_SEP)complex_io_w.$(OBJEXT) \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)ctype_byname_w.$(OBJEXT) \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)fstream_w.$(OBJEXT) \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)codecvt_w.$(OBJEXT) \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)collate_byname_w.$(OBJEXT) \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)collate_w.$(OBJEXT) \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)ctype_w.$(OBJEXT) \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)ios_w.$(OBJEXT) \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)message_facets_w.$(OBJEXT) \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)money_get_w.$(OBJEXT) \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)money_put_w.$(OBJEXT) \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)moneypunct_byname_w.$(OBJEXT) \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)moneypunct_w.$(OBJEXT) \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)num_get_inst_w.$(OBJEXT) \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)num_put_inst_w.$(OBJEXT) \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)numpunct_w.$(OBJEXT) \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)time_get_w.$(OBJEXT) \ +-$(RELEASE_OBJDIR_static)$(PATH_SEP)time_put_w.$(OBJEXT) +- ++$(RELEASE_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) + + + DEBUG_OBJECTS_static= \ + $(DEBUG_OBJDIR_static)$(PATH_SEP)dll_main.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)range_errors.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)string.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)ios_base.$(OBJEXT) \ ++$(DEBUG_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ ++$(DEBUG_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ ++$(DEBUG_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ + $(DEBUG_OBJDIR_static)$(PATH_SEP)ios.$(OBJEXT) \ + $(DEBUG_OBJDIR_static)$(PATH_SEP)streambuf.$(OBJEXT) \ + $(DEBUG_OBJDIR_static)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ ++$(DEBUG_OBJDIR_static)$(PATH_SEP)istream.$(OBJEXT) \ ++$(DEBUG_OBJDIR_static)$(PATH_SEP)ostream.$(OBJEXT) \ + $(DEBUG_OBJDIR_static)$(PATH_SEP)iostream.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)c_locale.$(OBJEXT) \ + $(DEBUG_OBJDIR_static)$(PATH_SEP)codecvt.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)codecvt_byname.$(OBJEXT) \ + $(DEBUG_OBJDIR_static)$(PATH_SEP)collate.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)collate_byname.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ + $(DEBUG_OBJDIR_static)$(PATH_SEP)ctype.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)ctype_byname.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)message_facets.$(OBJEXT) \ + $(DEBUG_OBJDIR_static)$(PATH_SEP)monetary.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)money_get.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)money_put.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)moneypunct.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)moneypunct_byname.$(OBJEXT) \ + $(DEBUG_OBJDIR_static)$(PATH_SEP)num_get.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)num_get_float.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)num_get_inst.$(OBJEXT) \ + $(DEBUG_OBJDIR_static)$(PATH_SEP)num_put.$(OBJEXT) \ ++$(DEBUG_OBJDIR_static)$(PATH_SEP)num_get_float.$(OBJEXT) \ + $(DEBUG_OBJDIR_static)$(PATH_SEP)num_put_float.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)num_put_inst.$(OBJEXT) \ + $(DEBUG_OBJDIR_static)$(PATH_SEP)numpunct.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)numpunct_byname.$(OBJEXT) \ + $(DEBUG_OBJDIR_static)$(PATH_SEP)time_facets.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)time_get.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)time_put.$(OBJEXT) \ ++$(DEBUG_OBJDIR_static)$(PATH_SEP)messages.$(OBJEXT) \ ++$(DEBUG_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ ++$(DEBUG_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ ++$(DEBUG_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ ++$(DEBUG_OBJDIR_static)$(PATH_SEP)facets_byname.$(OBJEXT) \ ++$(DEBUG_OBJDIR_static)$(PATH_SEP)c_locale.$(OBJEXT) \ ++$(DEBUG_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ ++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ ++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ ++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ ++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ + $(DEBUG_OBJDIR_static)$(PATH_SEP)complex_io_w.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)ctype_byname_w.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)fstream_w.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)codecvt_w.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)collate_byname_w.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)collate_w.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)ctype_w.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)ios_w.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)message_facets_w.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)money_get_w.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)money_put_w.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)moneypunct_byname_w.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)moneypunct_w.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)num_get_inst_w.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)num_put_inst_w.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)numpunct_w.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)time_get_w.$(OBJEXT) \ +-$(DEBUG_OBJDIR_static)$(PATH_SEP)time_put_w.$(OBJEXT) +- +- ++$(DEBUG_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) + + STLDEBUG_OBJECTS_static= \ + $(STLDEBUG_OBJDIR_static)$(PATH_SEP)dll_main.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)range_errors.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)string.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ios_base.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ + $(STLDEBUG_OBJDIR_static)$(PATH_SEP)ios.$(OBJEXT) \ + $(STLDEBUG_OBJDIR_static)$(PATH_SEP)streambuf.$(OBJEXT) \ + $(STLDEBUG_OBJDIR_static)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)istream.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ostream.$(OBJEXT) \ + $(STLDEBUG_OBJDIR_static)$(PATH_SEP)iostream.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)c_locale.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ + $(STLDEBUG_OBJDIR_static)$(PATH_SEP)codecvt.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)codecvt_byname.$(OBJEXT) \ + $(STLDEBUG_OBJDIR_static)$(PATH_SEP)collate.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)collate_byname.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ + $(STLDEBUG_OBJDIR_static)$(PATH_SEP)ctype.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ctype_byname.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)message_facets.$(OBJEXT) \ + $(STLDEBUG_OBJDIR_static)$(PATH_SEP)monetary.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)money_get.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)money_put.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)moneypunct.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)moneypunct_byname.$(OBJEXT) \ + $(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_get.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_get_float.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_get_inst.$(OBJEXT) \ + $(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_put.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_get_float.$(OBJEXT) \ + $(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_put_float.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_put_inst.$(OBJEXT) \ + $(STLDEBUG_OBJDIR_static)$(PATH_SEP)numpunct.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)numpunct_byname.$(OBJEXT) \ + $(STLDEBUG_OBJDIR_static)$(PATH_SEP)time_facets.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)time_get.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)time_put.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)messages.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)facets_byname.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)c_locale.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ + $(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_io_w.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)time_get_w.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ctype_byname_w.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)fstream_w.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)codecvt_w.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)collate_byname_w.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)collate_w.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ctype_w.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ios_w.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)message_facets_w.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)money_get_w.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)money_put_w.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)moneypunct_byname_w.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)moneypunct_w.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_get_inst_w.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_put_inst_w.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)numpunct_w.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_static)$(PATH_SEP)time_put_w.$(OBJEXT) ++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) ++ ++########################################################### ++ ++RELEASE_OBJECTS_staticx= \ ++$(RELEASE_OBJDIR_staticx)$(PATH_SEP)dll_main.$(OBJEXT) \ ++$(RELEASE_OBJDIR_staticx)$(PATH_SEP)fstream.$(OBJEXT) \ ++$(RELEASE_OBJDIR_staticx)$(PATH_SEP)strstream.$(OBJEXT) \ ++$(RELEASE_OBJDIR_staticx)$(PATH_SEP)sstream.$(OBJEXT) \ ++$(RELEASE_OBJDIR_staticx)$(PATH_SEP)ios.$(OBJEXT) \ ++$(RELEASE_OBJDIR_staticx)$(PATH_SEP)streambuf.$(OBJEXT) \ ++$(RELEASE_OBJDIR_staticx)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ ++$(RELEASE_OBJDIR_staticx)$(PATH_SEP)istream.$(OBJEXT) \ ++$(RELEASE_OBJDIR_staticx)$(PATH_SEP)ostream.$(OBJEXT) \ ++$(RELEASE_OBJDIR_staticx)$(PATH_SEP)iostream.$(OBJEXT) \ ++$(RELEASE_OBJDIR_staticx)$(PATH_SEP)codecvt.$(OBJEXT) \ ++$(RELEASE_OBJDIR_staticx)$(PATH_SEP)collate.$(OBJEXT) \ ++$(RELEASE_OBJDIR_staticx)$(PATH_SEP)ctype.$(OBJEXT) \ ++$(RELEASE_OBJDIR_staticx)$(PATH_SEP)monetary.$(OBJEXT) \ ++$(RELEASE_OBJDIR_staticx)$(PATH_SEP)num_get.$(OBJEXT) \ ++$(RELEASE_OBJDIR_staticx)$(PATH_SEP)num_put.$(OBJEXT) \ ++$(RELEASE_OBJDIR_staticx)$(PATH_SEP)num_get_float.$(OBJEXT) \ ++$(RELEASE_OBJDIR_staticx)$(PATH_SEP)num_put_float.$(OBJEXT) \ ++$(RELEASE_OBJDIR_staticx)$(PATH_SEP)numpunct.$(OBJEXT) \ ++$(RELEASE_OBJDIR_staticx)$(PATH_SEP)time_facets.$(OBJEXT) \ ++$(RELEASE_OBJDIR_staticx)$(PATH_SEP)messages.$(OBJEXT) \ ++$(RELEASE_OBJDIR_staticx)$(PATH_SEP)locale_impl.$(OBJEXT) \ ++$(RELEASE_OBJDIR_staticx)$(PATH_SEP)locale.$(OBJEXT) \ ++$(RELEASE_OBJDIR_staticx)$(PATH_SEP)locale_catalog.$(OBJEXT) \ ++$(RELEASE_OBJDIR_staticx)$(PATH_SEP)facets_byname.$(OBJEXT) \ ++$(RELEASE_OBJDIR_staticx)$(PATH_SEP)c_locale.$(OBJEXT) \ ++$(RELEASE_OBJDIR_staticx)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ ++$(RELEASE_OBJDIR_staticx)$(PATH_SEP)complex.$(OBJEXT) \ ++$(RELEASE_OBJDIR_staticx)$(PATH_SEP)complex_exp.$(OBJEXT) \ ++$(RELEASE_OBJDIR_staticx)$(PATH_SEP)complex_io.$(OBJEXT) \ ++$(RELEASE_OBJDIR_staticx)$(PATH_SEP)complex_trig.$(OBJEXT) \ ++$(RELEASE_OBJDIR_staticx)$(PATH_SEP)complex_io_w.$(OBJEXT) \ ++$(RELEASE_OBJDIR_staticx)$(PATH_SEP)string_w.$(OBJEXT) ++ ++ ++DEBUG_OBJECTS_staticx= \ ++$(DEBUG_OBJDIR_staticx)$(PATH_SEP)dll_main.$(OBJEXT) \ ++$(DEBUG_OBJDIR_staticx)$(PATH_SEP)fstream.$(OBJEXT) \ ++$(DEBUG_OBJDIR_staticx)$(PATH_SEP)strstream.$(OBJEXT) \ ++$(DEBUG_OBJDIR_staticx)$(PATH_SEP)sstream.$(OBJEXT) \ ++$(DEBUG_OBJDIR_staticx)$(PATH_SEP)ios.$(OBJEXT) \ ++$(DEBUG_OBJDIR_staticx)$(PATH_SEP)streambuf.$(OBJEXT) \ ++$(DEBUG_OBJDIR_staticx)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ ++$(DEBUG_OBJDIR_staticx)$(PATH_SEP)istream.$(OBJEXT) \ ++$(DEBUG_OBJDIR_staticx)$(PATH_SEP)ostream.$(OBJEXT) \ ++$(DEBUG_OBJDIR_staticx)$(PATH_SEP)iostream.$(OBJEXT) \ ++$(DEBUG_OBJDIR_staticx)$(PATH_SEP)codecvt.$(OBJEXT) \ ++$(DEBUG_OBJDIR_staticx)$(PATH_SEP)collate.$(OBJEXT) \ ++$(DEBUG_OBJDIR_staticx)$(PATH_SEP)ctype.$(OBJEXT) \ ++$(DEBUG_OBJDIR_staticx)$(PATH_SEP)monetary.$(OBJEXT) \ ++$(DEBUG_OBJDIR_staticx)$(PATH_SEP)num_get.$(OBJEXT) \ ++$(DEBUG_OBJDIR_staticx)$(PATH_SEP)num_put.$(OBJEXT) \ ++$(DEBUG_OBJDIR_staticx)$(PATH_SEP)num_get_float.$(OBJEXT) \ ++$(DEBUG_OBJDIR_staticx)$(PATH_SEP)num_put_float.$(OBJEXT) \ ++$(DEBUG_OBJDIR_staticx)$(PATH_SEP)numpunct.$(OBJEXT) \ ++$(DEBUG_OBJDIR_staticx)$(PATH_SEP)time_facets.$(OBJEXT) \ ++$(DEBUG_OBJDIR_staticx)$(PATH_SEP)messages.$(OBJEXT) \ ++$(DEBUG_OBJDIR_staticx)$(PATH_SEP)locale_impl.$(OBJEXT) \ ++$(DEBUG_OBJDIR_staticx)$(PATH_SEP)locale.$(OBJEXT) \ ++$(DEBUG_OBJDIR_staticx)$(PATH_SEP)locale_catalog.$(OBJEXT) \ ++$(DEBUG_OBJDIR_staticx)$(PATH_SEP)facets_byname.$(OBJEXT) \ ++$(DEBUG_OBJDIR_staticx)$(PATH_SEP)c_locale.$(OBJEXT) \ ++$(DEBUG_OBJDIR_staticx)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ ++$(DEBUG_OBJDIR_staticx)$(PATH_SEP)complex.$(OBJEXT) \ ++$(DEBUG_OBJDIR_staticx)$(PATH_SEP)complex_exp.$(OBJEXT) \ ++$(DEBUG_OBJDIR_staticx)$(PATH_SEP)complex_io.$(OBJEXT) \ ++$(DEBUG_OBJDIR_staticx)$(PATH_SEP)complex_trig.$(OBJEXT) \ ++$(DEBUG_OBJDIR_staticx)$(PATH_SEP)complex_io_w.$(OBJEXT) \ ++$(DEBUG_OBJDIR_staticx)$(PATH_SEP)string_w.$(OBJEXT) ++ ++STLDEBUG_OBJECTS_staticx= \ ++$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)dll_main.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)fstream.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)strstream.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)sstream.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)ios.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)streambuf.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)istream.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)ostream.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)iostream.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)codecvt.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)collate.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)ctype.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)monetary.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)num_get.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)num_put.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)num_get_float.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)num_put_float.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)numpunct.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)time_facets.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)messages.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)locale_impl.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)locale.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)locale_catalog.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)facets_byname.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)c_locale.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)complex.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)complex_exp.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)complex_io.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)complex_trig.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)complex_io_w.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)string_w.$(OBJEXT) ++ + + ########################################################### + + RELEASE_OBJECTS_dynamic= \ + $(RELEASE_OBJDIR_dynamic)$(PATH_SEP)dll_main.$(OBJEXT) \ +-$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)range_errors.$(OBJEXT) \ +-$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)string.$(OBJEXT) \ +-$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)ios_base.$(OBJEXT) \ ++$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)fstream.$(OBJEXT) \ ++$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)strstream.$(OBJEXT) \ ++$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)sstream.$(OBJEXT) \ + $(RELEASE_OBJDIR_dynamic)$(PATH_SEP)ios.$(OBJEXT) \ + $(RELEASE_OBJDIR_dynamic)$(PATH_SEP)streambuf.$(OBJEXT) \ + $(RELEASE_OBJDIR_dynamic)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ ++$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)istream.$(OBJEXT) \ ++$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)ostream.$(OBJEXT) \ + $(RELEASE_OBJDIR_dynamic)$(PATH_SEP)iostream.$(OBJEXT) \ +-$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)fstream.$(OBJEXT) \ +-$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)strstream.$(OBJEXT) \ +-$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)sstream.$(OBJEXT) \ +-$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)c_locale.$(OBJEXT) \ +-$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ + $(RELEASE_OBJDIR_dynamic)$(PATH_SEP)codecvt.$(OBJEXT) \ +-$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)codecvt_byname.$(OBJEXT) \ + $(RELEASE_OBJDIR_dynamic)$(PATH_SEP)collate.$(OBJEXT) \ +-$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)collate_byname.$(OBJEXT) \ +-$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)complex.$(OBJEXT) \ +-$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)complex_exp.$(OBJEXT) \ +-$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)complex_io.$(OBJEXT) \ +-$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)complex_trig.$(OBJEXT) \ + $(RELEASE_OBJDIR_dynamic)$(PATH_SEP)ctype.$(OBJEXT) \ +-$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)ctype_byname.$(OBJEXT) \ +-$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)locale.$(OBJEXT) \ +-$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)locale_catalog.$(OBJEXT) \ +-$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)locale_impl.$(OBJEXT) \ +-$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)message_facets.$(OBJEXT) \ + $(RELEASE_OBJDIR_dynamic)$(PATH_SEP)monetary.$(OBJEXT) \ +-$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)money_get.$(OBJEXT) \ +-$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)money_put.$(OBJEXT) \ +-$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)moneypunct.$(OBJEXT) \ +-$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)moneypunct_byname.$(OBJEXT) \ + $(RELEASE_OBJDIR_dynamic)$(PATH_SEP)num_get.$(OBJEXT) \ +-$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)num_get_float.$(OBJEXT) \ +-$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)num_get_inst.$(OBJEXT) \ + $(RELEASE_OBJDIR_dynamic)$(PATH_SEP)num_put.$(OBJEXT) \ ++$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)num_get_float.$(OBJEXT) \ + $(RELEASE_OBJDIR_dynamic)$(PATH_SEP)num_put_float.$(OBJEXT) \ +-$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)num_put_inst.$(OBJEXT) \ + $(RELEASE_OBJDIR_dynamic)$(PATH_SEP)numpunct.$(OBJEXT) \ +-$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)numpunct_byname.$(OBJEXT) \ + $(RELEASE_OBJDIR_dynamic)$(PATH_SEP)time_facets.$(OBJEXT) \ +-$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)time_get.$(OBJEXT) \ +-$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)time_put.$(OBJEXT) \ ++$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)messages.$(OBJEXT) \ ++$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)locale_impl.$(OBJEXT) \ ++$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)locale.$(OBJEXT) \ ++$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)locale_catalog.$(OBJEXT) \ ++$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)facets_byname.$(OBJEXT) \ ++$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)c_locale.$(OBJEXT) \ ++$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ ++$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)complex.$(OBJEXT) \ ++$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)complex_exp.$(OBJEXT) \ ++$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)complex_io.$(OBJEXT) \ ++$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)complex_trig.$(OBJEXT) \ + $(RELEASE_OBJDIR_dynamic)$(PATH_SEP)complex_io_w.$(OBJEXT) \ +-$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)ctype_byname_w.$(OBJEXT) \ +-$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)fstream_w.$(OBJEXT) \ +-$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)codecvt_w.$(OBJEXT) \ +-$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)collate_byname_w.$(OBJEXT) \ +-$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)collate_w.$(OBJEXT) \ +-$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)ctype_w.$(OBJEXT) \ +-$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)ios_w.$(OBJEXT) \ +-$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)message_facets_w.$(OBJEXT) \ +-$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)money_get_w.$(OBJEXT) \ +-$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)money_put_w.$(OBJEXT) \ +-$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)moneypunct_byname_w.$(OBJEXT) \ +-$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)moneypunct_w.$(OBJEXT) \ +-$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)num_get_inst_w.$(OBJEXT) \ +-$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)num_put_inst_w.$(OBJEXT) \ +-$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)numpunct_w.$(OBJEXT) \ + $(RELEASE_OBJDIR_dynamic)$(PATH_SEP)string_w.$(OBJEXT) \ +-$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)time_get_w.$(OBJEXT) \ +-$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)time_put_w.$(OBJEXT) \ + $(RESFILE) + + DEBUG_OBJECTS_dynamic= \ + $(DEBUG_OBJDIR_dynamic)$(PATH_SEP)dll_main.$(OBJEXT) \ +-$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)range_errors.$(OBJEXT) \ +-$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)string.$(OBJEXT) \ +-$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)ios_base.$(OBJEXT) \ ++$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)fstream.$(OBJEXT) \ ++$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)strstream.$(OBJEXT) \ ++$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)sstream.$(OBJEXT) \ + $(DEBUG_OBJDIR_dynamic)$(PATH_SEP)ios.$(OBJEXT) \ + $(DEBUG_OBJDIR_dynamic)$(PATH_SEP)streambuf.$(OBJEXT) \ + $(DEBUG_OBJDIR_dynamic)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ ++$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)istream.$(OBJEXT) \ ++$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)ostream.$(OBJEXT) \ + $(DEBUG_OBJDIR_dynamic)$(PATH_SEP)iostream.$(OBJEXT) \ +-$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)fstream.$(OBJEXT) \ +-$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)strstream.$(OBJEXT) \ +-$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)sstream.$(OBJEXT) \ +-$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)c_locale.$(OBJEXT) \ +-$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ + $(DEBUG_OBJDIR_dynamic)$(PATH_SEP)codecvt.$(OBJEXT) \ +-$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)codecvt_byname.$(OBJEXT) \ + $(DEBUG_OBJDIR_dynamic)$(PATH_SEP)collate.$(OBJEXT) \ +-$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)collate_byname.$(OBJEXT) \ +-$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)complex.$(OBJEXT) \ +-$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)complex_exp.$(OBJEXT) \ +-$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)complex_io.$(OBJEXT) \ +-$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)complex_trig.$(OBJEXT) \ + $(DEBUG_OBJDIR_dynamic)$(PATH_SEP)ctype.$(OBJEXT) \ +-$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)ctype_byname.$(OBJEXT) \ +-$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)locale.$(OBJEXT) \ +-$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)locale_catalog.$(OBJEXT) \ +-$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)locale_impl.$(OBJEXT) \ +-$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)message_facets.$(OBJEXT) \ + $(DEBUG_OBJDIR_dynamic)$(PATH_SEP)monetary.$(OBJEXT) \ +-$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)money_get.$(OBJEXT) \ +-$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)money_put.$(OBJEXT) \ +-$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)moneypunct.$(OBJEXT) \ +-$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)moneypunct_byname.$(OBJEXT) \ + $(DEBUG_OBJDIR_dynamic)$(PATH_SEP)num_get.$(OBJEXT) \ +-$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)num_get_float.$(OBJEXT) \ +-$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)num_get_inst.$(OBJEXT) \ + $(DEBUG_OBJDIR_dynamic)$(PATH_SEP)num_put.$(OBJEXT) \ ++$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)num_get_float.$(OBJEXT) \ + $(DEBUG_OBJDIR_dynamic)$(PATH_SEP)num_put_float.$(OBJEXT) \ +-$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)num_put_inst.$(OBJEXT) \ + $(DEBUG_OBJDIR_dynamic)$(PATH_SEP)numpunct.$(OBJEXT) \ +-$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)numpunct_byname.$(OBJEXT) \ + $(DEBUG_OBJDIR_dynamic)$(PATH_SEP)time_facets.$(OBJEXT) \ +-$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)time_get.$(OBJEXT) \ ++$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)messages.$(OBJEXT) \ ++$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)locale_impl.$(OBJEXT) \ ++$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)locale.$(OBJEXT) \ ++$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)locale_catalog.$(OBJEXT) \ ++$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)facets_byname.$(OBJEXT) \ ++$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)c_locale.$(OBJEXT) \ ++$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ ++$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)complex.$(OBJEXT) \ ++$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)complex_exp.$(OBJEXT) \ ++$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)complex_io.$(OBJEXT) \ ++$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)complex_trig.$(OBJEXT) \ + $(DEBUG_OBJDIR_dynamic)$(PATH_SEP)complex_io_w.$(OBJEXT) \ +-$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)time_put.$(OBJEXT) \ +-$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)ctype_byname_w.$(OBJEXT) \ +-$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)fstream_w.$(OBJEXT) \ +-$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)codecvt_w.$(OBJEXT) \ +-$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)collate_byname_w.$(OBJEXT) \ +-$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)collate_w.$(OBJEXT) \ +-$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)ctype_w.$(OBJEXT) \ +-$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)ios_w.$(OBJEXT) \ +-$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)message_facets_w.$(OBJEXT) \ +-$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)money_get_w.$(OBJEXT) \ +-$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)money_put_w.$(OBJEXT) \ +-$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)moneypunct_byname_w.$(OBJEXT) \ +-$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)moneypunct_w.$(OBJEXT) \ +-$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)num_get_inst_w.$(OBJEXT) \ +-$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)num_put_inst_w.$(OBJEXT) \ +-$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)numpunct_w.$(OBJEXT) \ + $(DEBUG_OBJDIR_dynamic)$(PATH_SEP)string_w.$(OBJEXT) \ +-$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)time_get_w.$(OBJEXT) \ +-$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)time_put_w.$(OBJEXT) \ + $(RESFILE_debug) + +- + STLDEBUG_OBJECTS_dynamic= \ + $(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)dll_main.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)range_errors.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)string.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)ios_base.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)fstream.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)strstream.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)sstream.$(OBJEXT) \ + $(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)ios.$(OBJEXT) \ + $(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)streambuf.$(OBJEXT) \ + $(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)istream.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)ostream.$(OBJEXT) \ + $(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)iostream.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)fstream.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)strstream.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)sstream.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)c_locale.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ + $(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)codecvt.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)codecvt_byname.$(OBJEXT) \ + $(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)collate.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)collate_byname.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)complex.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)complex_exp.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)complex_io.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)complex_trig.$(OBJEXT) \ + $(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)ctype.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)ctype_byname.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)locale.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)locale_catalog.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)locale_impl.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)message_facets.$(OBJEXT) \ + $(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)monetary.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)money_get.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)money_put.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)moneypunct.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)moneypunct_byname.$(OBJEXT) \ + $(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)num_get.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)num_get_float.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)num_get_inst.$(OBJEXT) \ + $(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)num_put.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)num_get_float.$(OBJEXT) \ + $(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)num_put_float.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)num_put_inst.$(OBJEXT) \ + $(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)numpunct.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)numpunct_byname.$(OBJEXT) \ + $(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)time_facets.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)time_get.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)time_put.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)messages.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)locale_impl.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)locale.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)locale_catalog.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)facets_byname.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)c_locale.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)complex.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)complex_exp.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)complex_io.$(OBJEXT) \ ++$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)complex_trig.$(OBJEXT) \ + $(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)complex_io_w.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)ctype_byname_w.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)fstream_w.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)codecvt_w.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)collate_byname_w.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)collate_w.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)ctype_w.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)ios_w.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)message_facets_w.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)money_get_w.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)money_put_w.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)moneypunct_byname_w.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)moneypunct_w.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)num_get_inst_w.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)num_put_inst_w.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)numpunct_w.$(OBJEXT) \ + $(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)string_w.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)time_get_w.$(OBJEXT) \ +-$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)time_put_w.$(OBJEXT) \ + $(RESFILE_stldebug) +- + + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/common_macros_windows.mak tripwire-2.3.1-2/src/STLport-4.0/src/common_macros_windows.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/common_macros_windows.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/common_macros_windows.mak Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,30 @@ ++SHELL=/bin/sh ++ ++!include common_macros.mak ++ ++# INSTALLDIR=/usr/local ++# INSTALLDIR_INC=$(INSTALLDIR)/include/stlport ++# INSTALLDIR_LIB=$(INSTALLDIR)/lib ++ ++# RM = rm -fr ++ ++# INSTALL = ./install.sh -c ++# INSTALL_LIB = $(INSTALL) ++# INSTALL_H = $(INSTALL) -m 444 ++ ++# ++# ++# Targets ++# ++ ++# those are defined "Unix way" in common_macros.mak; redefine them here ++RELEASE_DYNLIB=$(RELEASE_NAME)$(WIN_DYNAMIC_SUFFIX).$(DYNEXT) ++DEBUG_DYNLIB=$(DEBUG_NAME)$(WIN_DYNAMIC_SUFFIX).$(DYNEXT) ++STLDEBUG_DYNLIB=$(STLDEBUG_NAME)$(WIN_DYNAMIC_SUFFIX).$(DYNEXT) ++ ++RELEASE_DYNLIB_SONAME=$(RELEASE_NAME)$(WIN_VERSION_SUFFIX).$(DYNEXT) ++DEBUG_DYNLIB_SONAME=$(DEBUG_NAME)$(WIN_VERSION_SUFFIX).$(DYNEXT) ++STLDEBUG_DYNLIB_SONAME=$(STLDEBUG_NAME)$(WIN_VERSION_SUFFIX).$(DYNEXT) ++ ++ALL_DYNAMIC_LIBS=$(OUTDIR)$(PATH_SEP)$(RELEASE_DYNLIB) $(OUTDIR)$(PATH_SEP)$(STLDEBUG_DYNLIB) ++DEBUG_DYNAMIC_LIBS=$(OUTDIR)$(PATH_SEP)$(RELEASE_DYNLIB) $(OUTDIR)$(PATH_SEP)$(STLDEBUG_DYNLIB) +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/common_percent_rules.mak tripwire-2.3.1-2/src/STLport-4.0/src/common_percent_rules.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/common_percent_rules.mak Sat Feb 24 10:44:06 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/common_percent_rules.mak Sun Aug 11 18:59:22 2002 +@@ -1,3 +1,4 @@ ++ + .SUFFIXES: .cpp .c .o .so .a + + $(RELEASE_OBJDIR_static)/%.o: %.cpp +@@ -41,3 +42,5 @@ + $(CC) $(CXXFLAGS_STLDEBUG_dynamic) $< -c -o $@ + $(STLDEBUG_OBJDIR_dynamic)/%.i : %.cpp + $(CXX) $(CXXFLAGS_STLDEBUG_dynamic) $< -E $@ ++ ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/common_rules.mak tripwire-2.3.1-2/src/STLport-4.0/src/common_rules.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/common_rules.mak Sat Feb 24 10:44:06 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/common_rules.mak Sun Aug 11 18:59:22 2002 +@@ -17,14 +17,26 @@ + $(MKDIR) $(DEBUG_OBJDIR_static) + $(STLDEBUG_OBJDIR_static) : + $(MKDIR) $(STLDEBUG_OBJDIR_static) ++$(RELEASE_OBJDIR_staticx) : ++ $(MKDIR) $(RELEASE_OBJDIR_staticx) ++$(DEBUG_OBJDIR_staticx) : ++ $(MKDIR) $(DEBUG_OBJDIR_staticx) ++$(STLDEBUG_OBJDIR_staticx) : ++ $(MKDIR) $(STLDEBUG_OBJDIR_staticx) + + #create a compiler platform directory +-platform: +- -@$(MKDIR) obj +- -@$(MKDIR) obj$(PATH_SEP)$(COMP) ++platform: $(PREPARE_STEP) ++ -@$(MKDIR) $(OUTDIR) ++ -@$(MKDIR) $(OBJDIR_COMMON) ++ -@$(MKDIR) $(OBJDIR) ++ ++prepare: $(PREPARE_STEP) ++ @echo "STLport installation is prepared for use in-place. No iostreams are built yet !" ++ @echo "To build and use STLport iostreams, please do : make -f all." ++ @echo "To install STLport in a designated directory, please do : make -f install." + + clean_all_obj: +- -$(RM) obj ++ -$(RM) $(OUTDIR)$(PATH_SEP)obj + + ###### Targets ################## + +@@ -32,33 +44,117 @@ + + all_dynamic : platform $(ALL_DYNAMIC_LIBS) + +-install : $(INSTALL_STEP) ++all_staticx : platform $(ALL_STATICX_LIBS) ++ ++release_static : platform $(OUTDIR)$(PATH_SEP)$(RELEASE_LIB) ++ ++debug_static : platform $(OUTDIR)$(PATH_SEP)$(DEBUG_LIB) ++ ++stldebug_static : platform $(OUTDIR)$(PATH_SEP)$(STLDEBUG_LIB) ++ ++release_staticx : platform $(OUTDIR)$(PATH_SEP)$(RELEASEX_LIB) ++ ++debug_staticx : platform $(OUTDIR)$(PATH_SEP)$(DEBUGX_LIB) ++ ++stldebug_staticx : platform $(OUTDIR)$(PATH_SEP)$(STLDEBUGX_LIB) ++ ++release_dynamic : platform $(OUTDIR)$(PATH_SEP)$(RELEASE_DYNLIB) ++ ++debug_dynamic : platform $(OUTDIR)$(PATH_SEP)$(DEBUG_DYNLIB) ++ ++stldebug_dynamic : platform $(OUTDIR)$(PATH_SEP)$(STLDEBUG_DYNLIB) ++ ++install : all $(INSTALL_STEP) + + clean : $(CLEAN_SPECIFIC) +- -$(RM) $(RELEASE_OBJDIR_static) $(DEBUG_OBJDIR_static) \ +- $(STLDEBUG_OBJDIR_static) $(RELEASE_OBJDIR_dynamic) \ +- $(DEBUG_OBJDIR_dynamic) $(STLDEBUG_OBJDIR_dynamic) SunWS_cache Templates.DB tempinc ++ -$(RM) $(RELEASE_OBJDIR_static) $(DEBUG_OBJDIR_static) $(STLDEBUG_OBJDIR_static) \ ++ $(RELEASE_OBJDIR_staticx) $(DEBUG_OBJDIR_staticx) $(STLDEBUG_OBJDIR_staticx) \ ++ $(RELEASE_OBJDIR_dynamic) $(DEBUG_OBJDIR_dynamic) $(STLDEBUG_OBJDIR_dynamic) \ ++ $(OUTDIR)$(PATH_SEP)SunWS_cache SunWS_cache $(OUTDIR)$(PATH_SEP)Templates.DB Templates.DB tempinc + + clobber : clean clean_all_obj + -$(RM) $(OUTDIR)$(PATH_SEP)$(DEBUG_NAME).* \ + $(OUTDIR)$(PATH_SEP)$(RELEASE_NAME).* $(OUTDIR)$(PATH_SEP)$(STLDEBUG_NAME).* + ++HEADER_DIRS1 = . using wrap_std old_hp ++HEADER_DIRS2 = config stl stl/debug stl/wrappers using/h wrap_std/h ++ ++symbolic_links : ++ $(RM) $(OUTDIR)/$(RELEASE_NAME).$(DYNEXT) ++ $(RM) $(OUTDIR)/$(STLDEBUG_NAME).$(DYNEXT) ++ $(RM) $(OUTDIR)/$(DEBUG_NAME).$(DYNEXT) ++ ln -s $(RELEASE_DYNLIB) $(OUTDIR)/$(RELEASE_NAME).$(DYNEXT) ++ -ln -s $(DEBUG_DYNLIB) $(OUTDIR)/$(DEBUG_NAME).$(DYNEXT) ++ ln -s $(STLDEBUG_DYNLIB) $(OUTDIR)/$(STLDEBUG_NAME).$(DYNEXT) ++ ++install_unix : ++ -$(RM) $(INSTALLDIR_INC) ++ for dir in $(HEADER_DIRS1); \ ++ do \ ++ ./mkinstalldirs $(INSTALLDIR_INC)/$$dir; \ ++ for file in `cat ../stlport/$$dir/export`; \ ++ do \ ++ $(INSTALL_H) ../stlport/$$dir/$$file $(INSTALLDIR_INC)/$$dir ; \ ++ done \ ++ done ++ for dir in $(HEADER_DIRS2); \ ++ do \ ++ ./mkinstalldirs $(INSTALLDIR_INC)/$$dir; \ ++ for file in `ls ../stlport/$$dir/*.*`; \ ++ do \ ++ $(INSTALL_H) $$file $(INSTALLDIR_INC)/$$dir ; \ ++ done \ ++ done ++ ./mkinstalldirs $(INSTALLDIR_LIB) ++ for file in `ls $(OUTDIR)/$(LIB_BASENAME)*`; \ ++ do \ ++ $(RM) $(INSTALLDIR_LIB)/$$file; \ ++ $(INSTALL_LIB) $$file $(INSTALLDIR_LIB); \ ++ done ++ $(RM) $(INSTALLDIR_LIB)/$(RELEASE_NAME).$(DYNEXT) ++ $(RM) $(INSTALLDIR_LIB)/$(STLDEBUG_NAME).$(DYNEXT) ++ ln -s $(RELEASE_DYNLIB) $(INSTALLDIR_LIB)/$(RELEASE_NAME).$(DYNEXT) ++ ln -s $(STLDEBUG_DYNLIB) $(INSTALLDIR_LIB)/$(STLDEBUG_NAME).$(DYNEXT) ++ ++# ln -s $(INSTALLDIR_LIB)/$(RELEASE_DYNLIB) $(INSTALLDIR_LIB)/$(RELEASE_NAME).$(DYNEXT) ++# ln -s $(INSTALLDIR_LIB)/$(STLDEBUG_DYNLIB) $(INSTALLDIR_LIB)/$(STLDEBUG_NAME).$(DYNEXT) ++ ++install_sun : install_unix ++ for file in `cat ../stlport/$$dir/export.sun`; \ ++ do \ ++ $(INSTALL_H) ../stlport/$$dir/$$file $(INSTALLDIR_INC)/$$dir ; \ ++ done ++ + $(OUTDIR)$(PATH_SEP)$(RELEASE_DYNLIB) : $(OUTDIR) $(RELEASE_OBJDIR_dynamic) $(DEF_FILE) $(RELEASE_OBJECTS_dynamic) + $(DYN_LINK) $(DYNLINK_OUT)$(OUTDIR)$(PATH_SEP)$(RELEASE_DYNLIB) $(LDFLAGS_RELEASE_dynamic) $(RELEASE_OBJECTS_dynamic) $(LDLIBS_RELEASE_dynamic) + + $(OUTDIR)$(PATH_SEP)$(RELEASE_LIB) : $(OUTDIR) $(RELEASE_OBJDIR_static) $(DEF_FILE) $(RELEASE_OBJECTS_static) + $(LINK) $(LINK_OUT)$(OUTDIR)$(PATH_SEP)$(RELEASE_LIB) $(LDFLAGS_RELEASE_static) $(RELEASE_OBJECTS_static) $(LDLIBS_RELEASE_static) + ++$(OUTDIR)$(PATH_SEP)$(RELEASEX_LIB) : $(OUTDIR) $(RELEASE_OBJDIR_staticx) $(DEF_FILE) $(RELEASE_OBJECTS_staticx) ++ $(LINK) $(LINK_OUT)$(OUTDIR)$(PATH_SEP)$(RELEASEX_LIB) $(LDFLAGS_RELEASE_static) $(RELEASE_OBJECTS_staticx) $(LDLIBS_RELEASE_static) ++ + $(OUTDIR)$(PATH_SEP)$(DEBUG_DYNLIB) : $(OUTDIR) $(DEBUG_OBJDIR_dynamic) $(DEF_FILE) $(DEBUG_OBJECTS_dynamic) + $(DYN_LINK) $(DYNLINK_OUT)$(OUTDIR)$(PATH_SEP)$(DEBUG_DYNLIB) $(LDFLAGS_DEBUG_dynamic) $(DEBUG_OBJECTS_dynamic) $(LDLIBS_DEBUG_dynamic) + + $(OUTDIR)$(PATH_SEP)$(DEBUG_LIB) : $(OUTDIR) $(DEBUG_OBJDIR_static) $(DEF_FILE) $(DEBUG_OBJECTS_static) + $(LINK) $(LINK_OUT)$(OUTDIR)$(PATH_SEP)$(DEBUG_LIB) $(LDLIBS_DEBUG_static) $(LDFLAGS_DEBUG_static) $(DEBUG_OBJECTS_static) + ++$(OUTDIR)$(PATH_SEP)$(DEBUGX_LIB) : $(OUTDIR) $(DEBUG_OBJDIR_staticx) $(DEF_FILE) $(DEBUG_OBJECTS_staticx) ++ $(LINK) $(LINK_OUT)$(OUTDIR)$(PATH_SEP)$(DEBUGX_LIB) $(LDLIBS_DEBUG_static) $(LDFLAGS_DEBUG_static) $(DEBUG_OBJECTS_staticx) ++ + $(OUTDIR)$(PATH_SEP)$(STLDEBUG_DYNLIB) : $(OUTDIR) $(STLDEBUG_OBJDIR_dynamic) $(DEF_FILE) $(STLDEBUG_OBJECTS_dynamic) + $(DYN_LINK) $(DYNLINK_OUT)$(OUTDIR)$(PATH_SEP)$(STLDEBUG_DYNLIB) $(LDFLAGS_STLDEBUG_dynamic) $(STLDEBUG_OBJECTS_dynamic) $(LDLIBS_STLDEBUG_dynamic) + + $(OUTDIR)$(PATH_SEP)$(STLDEBUG_LIB) : $(OUTDIR) $(STLDEBUG_OBJDIR_static) $(DEF_FILE) $(STLDEBUG_OBJECTS_static) + $(LINK) $(LINK_OUT)$(OUTDIR)$(PATH_SEP)$(STLDEBUG_LIB) $(LDFLAGS_STLDEBUG_static) $(STLDEBUG_OBJECTS_static) $(LDLIBS_STLDEBUG_static) + +-######################################### +\ No newline at end of file ++$(OUTDIR)$(PATH_SEP)$(STLDEBUGX_LIB) : $(OUTDIR) $(STLDEBUG_OBJDIR_staticx) $(DEF_FILE) $(STLDEBUG_OBJECTS_staticx) ++ $(LINK) $(LINK_OUT)$(OUTDIR)$(PATH_SEP)$(STLDEBUGX_LIB) $(LDFLAGS_STLDEBUG_static) $(STLDEBUG_OBJECTS_staticx) $(LDLIBS_STLDEBUG_static) ++ ++# locale_impl.cpp : codecvt.cpp collate.cpp ctype.cpp monetary.cpp num_get.cpp num_get_float.cpp num_put.cpp num_put_float.cpp numpunct.cpp time_facets.cpp messages.cpp ++ ++# locale_catalog.cpp : ctype_byname.cpp collate_byname.cpp codecvt_byname.cpp numpunct_byname.cpp monetary_byname.cpp messages_byname.cpp ++ ++ ++######################################### +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/como.mak tripwire-2.3.1-2/src/STLport-4.0/src/como.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/como.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/como.mak Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,53 @@ ++# ++# Note : this makefile has been only tested in como + gcc setup ++# ++ ++# ++# compiler ++# ++CC = gcc ++CXX = como ++ ++# ++# Basename for libraries ++# ++LIB_BASENAME = libstlport_como ++ ++# ++# guts for common stuff ++# ++# ++LINK=ar cr ++# 2.95 flag ++DYN_LINK=-copt="-shared -all" -G -o ++ ++OBJEXT=o ++DYNEXT=so ++STEXT=a ++RM=rm -rf ++PATH_SEP=/ ++MKDIR=mkdir -p ++COMP=COMO_$(ARCH) ++INSTALL_STEP = install_unix ++ ++all: all_static symbolic_links ++ ++include common_macros.mak ++ ++WARNING_FLAGS= -DLIBCIO= --diag_suppress=68 ++ ++CXXFLAGS_COMMON = -I. -I${STLPORT_DIR} ${WARNING_FLAGS} ++ ++CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O2 ++CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -O2 -fPIC ++ ++CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -g -O ++CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -g -O -fPIC ++ ++CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG ++CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG ++ ++include common_percent_rules.mak ++include common_rules.mak ++ ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/complex.cpp tripwire-2.3.1-2/src/STLport-4.0/src/complex.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/complex.cpp Sat Feb 24 10:44:07 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/complex.cpp Sun Aug 11 18:59:22 2002 +@@ -18,64 +18,69 @@ + # include "stlport_prefix.h" + // Complex division and square roots. + +-#include ++#include "complex_impl.h" + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + // Absolute value +-__STL_DECLSPEC float __STL_CALL abs(const complex& __z) ++_STLP_DECLSPEC float _STLP_CALL abs(const complex& __z) + { +- return __STL_HYPOTF(__z._M_re, __z._M_im); ++ return _STLP_HYPOTF(__z._M_re, __z._M_im); + } + +-__STL_DECLSPEC double __STL_CALL abs(const complex& __z) ++_STLP_DECLSPEC double _STLP_CALL abs(const complex& __z) + { +- return __STL_HYPOT(__z._M_re, __z._M_im); ++ return _STLP_HYPOT(__z._M_re, __z._M_im); + } + +-__STL_DECLSPEC long double __STL_CALL abs(const complex& __z) ++#ifndef _STLP_NO_LONG_DOUBLE ++_STLP_DECLSPEC long double _STLP_CALL abs(const complex& __z) + { +- return __STL_HYPOTL(__z._M_re, __z._M_im); ++ return _STLP_HYPOTL(__z._M_re, __z._M_im); + } ++#endif + + // Phase + +-__STL_DECLSPEC float __STL_CALL arg(const complex& __z) ++_STLP_DECLSPEC float _STLP_CALL arg(const complex& __z) + { +- return __STL_ATAN2F(__z._M_im, __z._M_re); ++ return _STLP_ATAN2F(__z._M_im, __z._M_re); + } + +-__STL_DECLSPEC double __STL_CALL arg(const complex& __z) ++_STLP_DECLSPEC double _STLP_CALL arg(const complex& __z) + { +- return __STL_ATAN2(__z._M_im, __z._M_re); ++ return _STLP_ATAN2(__z._M_im, __z._M_re); + } + +-__STL_DECLSPEC long double __STL_CALL arg(const complex& __z) ++#ifndef _STLP_NO_LONG_DOUBLE ++_STLP_DECLSPEC long double _STLP_CALL arg(const complex& __z) + { +- return __STL_ATAN2L(__z._M_im, __z._M_re); ++ return _STLP_ATAN2L(__z._M_im, __z._M_re); + } ++#endif + + // Construct a complex number from polar representation + +-__STL_DECLSPEC complex __STL_CALL polar(const float& __rho, const float& __phi) ++_STLP_DECLSPEC complex _STLP_CALL polar(const float& __rho, const float& __phi) + { +- return complex(__rho * __STL_COSF(__phi), __rho * __STL_SINF(__phi)); ++ return complex(__rho * _STLP_COSF(__phi), __rho * _STLP_SINF(__phi)); + } + +-__STL_DECLSPEC complex __STL_CALL polar(const double& __rho, const double& __phi) ++_STLP_DECLSPEC complex _STLP_CALL polar(const double& __rho, const double& __phi) + { +- return complex(__rho * __STL_COS(__phi), __rho * __STL_SIN(__phi)); ++ return complex(__rho * _STLP_COS(__phi), __rho * _STLP_SIN(__phi)); + } + +-__STL_DECLSPEC complex __STL_CALL polar(const long double& __rho, const long double& __phi) ++#ifndef _STLP_NO_LONG_DOUBLE ++_STLP_DECLSPEC complex _STLP_CALL polar(const long double& __rho, const long double& __phi) + { +- return complex(__rho * __STL_COSL(__phi), __rho * __STL_SINL(__phi)); ++ return complex(__rho * _STLP_COSL(__phi), __rho * _STLP_SINL(__phi)); + } +- ++#endif + + // Division + +-void __STL_CALL ++void _STLP_CALL + complex::_div(const float& __z1_r, const float& __z1_i, + const float& __z2_r, const float& __z2_i, + float& __res_r, float& __res_i) { +@@ -96,7 +101,7 @@ + } + } + +-void __STL_CALL ++void _STLP_CALL + complex::_div(const float& __z1_r, + const float& __z2_r, const float& __z2_i, + float& __res_r, float& __res_i) { +@@ -118,7 +123,7 @@ + } + + +-void __STL_CALL ++void _STLP_CALL + complex::_div(const double& __z1_r, const double& __z1_i, + const double& __z2_r, const double& __z2_i, + double& __res_r, double& __res_i) { +@@ -139,7 +144,7 @@ + } + } + +-void __STL_CALL ++void _STLP_CALL + complex::_div(const double& __z1_r, + const double& __z2_r, const double& __z2_i, + double& __res_r, double& __res_i) { +@@ -160,8 +165,8 @@ + } + } + +- +-void __STL_CALL ++#ifndef _STLP_NO_LONG_DOUBLE ++void _STLP_CALL + complex::_div(const long double& __z1_r, const long double& __z1_i, + const long double& __z2_r, const long double& __z2_i, + long double& __res_r, long double& __res_i) { +@@ -183,7 +188,7 @@ + } + + +-void __STL_CALL ++void _STLP_CALL + complex::_div(const long double& __z1_r, + const long double& __z2_r, const long double& __z2_i, + long double& __res_r, long double& __res_i) { +@@ -203,25 +208,26 @@ + __res_i = - (__z1_r * __ratio) / __denom; + } + } ++#endif + + //---------------------------------------------------------------------- + // Square root + + +-complex __STL_CALL ++complex _STLP_CALL + sqrt(const complex& z) { + float re = z._M_re; + float im = z._M_im; +- float mag = __STL_HYPOTF(re, im); ++ float mag = _STLP_HYPOTF(re, im); + complex result; + + if (mag == 0.) { + result._M_re = result._M_im = 0.f; + } else if (re > 0.f) { +- result._M_re = __STL_SQRTF(0.5f * (mag + re)); ++ result._M_re = _STLP_SQRTF(0.5f * (mag + re)); + result._M_im = im/result._M_re/2.f; + } else { +- result._M_im = __STL_SQRTF(0.5f * (mag - re)); ++ result._M_im = _STLP_SQRTF(0.5f * (mag - re)); + if (im < 0.f) + result._M_im = - result._M_im; + result._M_re = im/result._M_im/2.f; +@@ -230,20 +236,20 @@ + } + + +-complex __STL_CALL ++complex _STLP_CALL + sqrt(const complex& z) { + double re = z._M_re; + double im = z._M_im; +- double mag = __STL_HYPOT(re, im); ++ double mag = _STLP_HYPOT(re, im); + complex result; + + if (mag == 0.) { + result._M_re = result._M_im = 0.; + } else if (re > 0.) { +- result._M_re = __STL_SQRT(0.5 * (mag + re)); ++ result._M_re = _STLP_SQRT(0.5 * (mag + re)); + result._M_im = im/result._M_re/2; + } else { +- result._M_im = __STL_SQRT(0.5 * (mag - re)); ++ result._M_im = _STLP_SQRT(0.5 * (mag - re)); + if (im < 0.) + result._M_im = - result._M_im; + result._M_re = im/result._M_im/2; +@@ -251,26 +257,28 @@ + return result; + } + +- +-complex __STL_CALL ++#ifndef _STLP_NO_LONG_DOUBLE ++complex _STLP_CALL + sqrt(const complex& z) { + long double re = z._M_re; + long double im = z._M_im; +- long double mag = __STL_HYPOTL(re, im); ++ long double mag = _STLP_HYPOTL(re, im); + complex result; + + if (mag == 0.L) { + result._M_re = result._M_im = 0.L; + } else if (re > 0.L) { +- result._M_re = __STL_SQRTL(0.5L * (mag + re)); ++ result._M_re = _STLP_SQRTL(0.5L * (mag + re)); + result._M_im = (im/result._M_re) * .5L; + } else { +- result._M_im = __STL_SQRTL(0.5L * (mag - re)); ++ result._M_im = _STLP_SQRTL(0.5L * (mag - re)); + if (im < 0.L) + result._M_im = - result._M_im; + result._M_re = (im/result._M_im) * .5L; + } + return result; + } ++#endif ++ ++_STLP_END_NAMESPACE + +-__STL_END_NAMESPACE +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/complex_exp.cpp tripwire-2.3.1-2/src/STLport-4.0/src/complex_exp.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/complex_exp.cpp Sat Feb 24 10:44:07 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/complex_exp.cpp Sun Aug 11 18:59:22 2002 +@@ -1,235 +1,235 @@ +-/* +- * Copyright (c) 1999 +- * Silicon Graphics Computer Systems, Inc. +- * +- * Copyright (c) 1999 +- * Boris Fomitchev +- * +- * This material is provided "as is", with absolutely no warranty expressed +- * or implied. Any use is at your own risk. +- * +- * Permission to use or copy this software for any purpose is hereby granted +- * without fee, provided the above notices are retained on all copies. +- * Permission to modify the code and to distribute modified code is granted, +- * provided the above notices are retained, and a notice that the code was +- * modified is included with the above copyright notice. +- * +- */ +- +-# include "stlport_prefix.h" +-// exp, log, pow for complex, complex, and complex +- +-#include +-#include +- +-__STL_BEGIN_NAMESPACE +- +- +-//---------------------------------------------------------------------- +-// exp +- +-__STL_DECLSPEC complex __STL_CALL +-exp(const complex& z) +-{ +- float expx = __STL_EXPF(z._M_re); +- return complex(expx * __STL_COSF(z._M_im), +- expx * __STL_SINF(z._M_im)); +-} +- +-__STL_DECLSPEC complex __STL_CALL exp(const complex& z) +-{ +- double expx = __STL_EXP(z._M_re); +- return complex(expx * __STL_COS(z._M_im), +- expx * __STL_SIN(z._M_im)); +-} +- +-__STL_DECLSPEC complex __STL_CALL exp(const complex& z) +-{ +- long double expx = __STL_EXPL(z._M_re); +- return complex(expx * __STL_COSL(z._M_im), +- expx * __STL_SINL(z._M_im)); +-} +- +-//---------------------------------------------------------------------- +-// log10 +- +-__STL_DECLSPEC complex __STL_CALL log10(const complex& z) +-{ +- complex r; +- static float ln10_inv = 1.f / __STL_LOGF(10.f); +- +- r._M_im = __STL_ATAN2F(z._M_im, z._M_re) * ln10_inv; +- r._M_re = __STL_LOG10F(__STL_HYPOTF(z._M_re, z._M_im)); +- return r; +-} +- +-__STL_DECLSPEC complex __STL_CALL log10(const complex& z) +-{ +- complex r; +- static double ln10_inv = 1. / __STL_LOG(10.); +- +- r._M_im = __STL_ATAN2(z._M_im, z._M_re) * ln10_inv; +- r._M_re = __STL_LOG10(__STL_HYPOT(z._M_re, z._M_im)); +- return r; +-} +- +-__STL_DECLSPEC complex __STL_CALL log10(const complex& z) +-{ +- complex result; +- static long double ln10_inv = 1.l / __STL_LOGL(10.l); +- +- result._M_im = __STL_ATAN2L(z._M_im, z._M_re) * ln10_inv; +- result._M_re = __STL_LOG10L(__STL_HYPOTL(z._M_re, z._M_im)); +- return result; +-} +- +- +-//---------------------------------------------------------------------- +-// log +- +-__STL_DECLSPEC complex __STL_CALL log(const complex& z) +-{ +- complex r; +- +- r._M_im = __STL_ATAN2F(z._M_im, z._M_re); +- r._M_re = __STL_LOGF(__STL_HYPOTF(z._M_re, z._M_im)); +- return r; +-} +- +-__STL_DECLSPEC complex __STL_CALL log(const complex& z) +-{ +- complex r; +- +- r._M_im = __STL_ATAN2(z._M_im, z._M_re); +- r._M_re = __STL_LOG(__STL_HYPOT(z._M_re, z._M_im)); +- return r; +-} +- +-__STL_DECLSPEC complex __STL_CALL log(const complex& z) +-{ +- complex result; +- +- result._M_im = __STL_ATAN2L(z._M_im, z._M_re); +- result._M_re = __STL_LOGL(__STL_HYPOTL(z._M_re, z._M_im)); +- return result; +-} +- +- +-//---------------------------------------------------------------------- +-// pow +- +-__STL_DECLSPEC complex __STL_CALL pow(const float& a, const complex& b) { +- float logr = __STL_LOGF(a); +- float x = __STL_EXPF(logr*b._M_re); +- float y = logr*b._M_im; +- +- return complex(x * __STL_COSF(y), x * __STL_SINF(y)); +-} +- +-__STL_DECLSPEC complex __STL_CALL pow(const complex& z_in, int n) { +- complex z = z_in; +- z = __power(z, (n < 0 ? -n : n), multiplies< complex >()); +- if (n < 0) +- return 1.f / z; +- else +- return z; +-} +- +-__STL_DECLSPEC complex __STL_CALL pow(const complex& a, const float& b) { +- float logr = __STL_LOGF(__STL_HYPOTF(a._M_re,a._M_im)); +- float logi = __STL_ATAN2F(a._M_im, a._M_re); +- float x = __STL_EXPF(logr * b); +- float y = logi * b; +- +- return complex(x * __STL_COSF(y), x * __STL_SINF(y)); +-} +- +-__STL_DECLSPEC complex __STL_CALL pow(const complex& a, const complex& b) { +- float logr = __STL_LOGF(__STL_HYPOTF(a._M_re,a._M_im)); +- float logi = __STL_ATAN2F(a._M_im, a._M_re); +- float x = __STL_EXPF(logr*b._M_re - logi*b._M_im); +- float y = logr*b._M_im + logi*b._M_re; +- +- return complex(x * __STL_COSF(y), x * __STL_SINF(y)); +-} +- +- +-__STL_DECLSPEC complex __STL_CALL pow(const double& a, const complex& b) { +- double logr = __STL_LOG(a); +- double x = __STL_EXP(logr*b._M_re); +- double y = logr*b._M_im; +- +- return complex(x * __STL_COS(y), x * __STL_SIN(y)); +-} +- +-__STL_DECLSPEC complex __STL_CALL pow(const complex& z_in, int n) { +- complex z = z_in; +- z = __power(z, (n < 0 ? -n : n), multiplies< complex >()); +- if (n < 0) +-#if !defined(__SC__) //*TY 04/15/2000 - +- return 1. / z; +-#else //*TY 04/15/2000 - added workaround for SCpp compiler +- return double(1.0) / z; //*TY 04/15/2000 - it incorrectly assign long double attribute to floating point literals +-#endif //*TY 04/15/2000 - +- else +- return z; +-} +- +-__STL_DECLSPEC complex __STL_CALL pow(const complex& a, const double& b) { +- double logr = __STL_LOG(__STL_HYPOT(a._M_re,a._M_im)); +- double logi = __STL_ATAN2(a._M_im, a._M_re); +- double x = __STL_EXP(logr * b); +- double y = logi * b; +- +- return complex(x * __STL_COS(y), x * __STL_SIN(y)); +-} +- +-__STL_DECLSPEC complex __STL_CALL pow(const complex& a, const complex& b) { +- double logr = __STL_LOG(__STL_HYPOT(a._M_re,a._M_im)); +- double logi = __STL_ATAN2(a._M_im, a._M_re); +- double x = __STL_EXP(logr*b._M_re - logi*b._M_im); +- double y = logr*b._M_im + logi*b._M_re; +- +- return complex(x * __STL_COS(y), x * __STL_SIN(y)); +-} +- +- +-__STL_DECLSPEC complex __STL_CALL pow(const long double& a, +- const complex& b) { +- long double logr = __STL_LOGL(a); +- long double x = __STL_EXPL(logr*b._M_re); +- long double y = logr*b._M_im; +- +- return complex(x * __STL_COSL(y), x * __STL_SINL(y)); +-} +- +-__STL_DECLSPEC complex __STL_CALL pow(const complex& z_in, int n) { +- complex z = z_in; +- z = __power(z, (n < 0 ? -n : n), multiplies< complex >()); +- if (n < 0) +- return 1.l / z; +- else +- return z; +-} +- +-__STL_DECLSPEC complex __STL_CALL pow(const complex& a, +- const long double& b) { +- long double logr = __STL_LOGL(__STL_HYPOTL(a._M_re,a._M_im)); +- long double logi = __STL_ATAN2L(a._M_im, a._M_re); +- long double x = __STL_EXPL(logr * b); +- long double y = logi * b; +- +- return complex(x * __STL_COSL(y), x * __STL_SINL(y)); +-} +- +-__STL_DECLSPEC complex __STL_CALL pow(const complex& a, +- const complex& b) { +- long double logr = __STL_LOGL(__STL_HYPOTL(a._M_re,a._M_im)); +- long double logi = __STL_ATAN2L(a._M_im, a._M_re); +- long double x = __STL_EXPL(logr*b._M_re - logi*b._M_im); +- long double y = logr*b._M_im + logi*b._M_re; +- +- return complex(x * __STL_COSL(y), x * __STL_SINL(y)); +-} +- +-__STL_END_NAMESPACE ++/* ++ * Copyright (c) 1999 ++ * Silicon Graphics Computer Systems, Inc. ++ * ++ * Copyright (c) 1999 ++ * Boris Fomitchev ++ * ++ * This material is provided "as is", with absolutely no warranty expressed ++ * or implied. Any use is at your own risk. ++ * ++ * Permission to use or copy this software for any purpose is hereby granted ++ * without fee, provided the above notices are retained on all copies. ++ * Permission to modify the code and to distribute modified code is granted, ++ * provided the above notices are retained, and a notice that the code was ++ * modified is included with the above copyright notice. ++ * ++ */ ++ ++# include "stlport_prefix.h" ++// exp, log, pow for complex, complex, and complex ++ ++#include ++#include "complex_impl.h" ++ ++_STLP_BEGIN_NAMESPACE ++ ++//---------------------------------------------------------------------- ++// exp ++ ++_STLP_DECLSPEC complex _STLP_CALL ++exp(const complex& z) ++{ ++ float expx = _STLP_EXPF(z._M_re); ++ return complex(expx * _STLP_COSF(z._M_im), ++ expx * _STLP_SINF(z._M_im)); ++} ++ ++_STLP_DECLSPEC complex _STLP_CALL exp(const complex& z) ++{ ++ double expx = _STLP_EXP(z._M_re); ++ return complex(expx * _STLP_COS(z._M_im), ++ expx * _STLP_SIN(z._M_im)); ++} ++ ++_STLP_DECLSPEC complex _STLP_CALL exp(const complex& z) ++{ ++ long double expx = _STLP_EXPL(z._M_re); ++ return complex(expx * _STLP_COSL(z._M_im), ++ expx * _STLP_SINL(z._M_im)); ++} ++ ++//---------------------------------------------------------------------- ++// log10 ++ ++_STLP_DECLSPEC complex _STLP_CALL log10(const complex& z) ++{ ++ complex r; ++ static float ln10_inv = 1.f / _STLP_LOGF(10.f); ++ ++ r._M_im = _STLP_ATAN2F(z._M_im, z._M_re) * ln10_inv; ++ r._M_re = _STLP_LOG10F(_STLP_HYPOTF(z._M_re, z._M_im)); ++ return r; ++} ++ ++_STLP_DECLSPEC complex _STLP_CALL log10(const complex& z) ++{ ++ complex r; ++ static double ln10_inv = 1. / _STLP_LOG(10.); ++ ++ r._M_im = _STLP_ATAN2(z._M_im, z._M_re) * ln10_inv; ++ r._M_re = _STLP_LOG10(_STLP_HYPOT(z._M_re, z._M_im)); ++ return r; ++} ++ ++_STLP_DECLSPEC complex _STLP_CALL log10(const complex& z) ++{ ++ complex result; ++ static long double ln10_inv = 1.l / _STLP_LOGL(10.l); ++ ++ result._M_im = _STLP_ATAN2L(z._M_im, z._M_re) * ln10_inv; ++ result._M_re = _STLP_LOG10L(_STLP_HYPOTL(z._M_re, z._M_im)); ++ return result; ++} ++ ++ ++//---------------------------------------------------------------------- ++// log ++ ++_STLP_DECLSPEC complex _STLP_CALL log(const complex& z) ++{ ++ complex r; ++ ++ r._M_im = _STLP_ATAN2F(z._M_im, z._M_re); ++ r._M_re = _STLP_LOGF(_STLP_HYPOTF(z._M_re, z._M_im)); ++ return r; ++} ++ ++_STLP_DECLSPEC complex _STLP_CALL log(const complex& z) ++{ ++ complex r; ++ ++ r._M_im = _STLP_ATAN2(z._M_im, z._M_re); ++ r._M_re = _STLP_LOG(_STLP_HYPOT(z._M_re, z._M_im)); ++ return r; ++} ++ ++_STLP_DECLSPEC complex _STLP_CALL log(const complex& z) ++{ ++ complex result; ++ ++ result._M_im = _STLP_ATAN2L(z._M_im, z._M_re); ++ result._M_re = _STLP_LOGL(_STLP_HYPOTL(z._M_re, z._M_im)); ++ return result; ++} ++ ++ ++//---------------------------------------------------------------------- ++// pow ++ ++_STLP_DECLSPEC complex _STLP_CALL pow(const float& a, const complex& b) { ++ float logr = _STLP_LOGF(a); ++ float x = _STLP_EXPF(logr*b._M_re); ++ float y = logr*b._M_im; ++ ++ return complex(x * _STLP_COSF(y), x * _STLP_SINF(y)); ++} ++ ++_STLP_DECLSPEC complex _STLP_CALL pow(const complex& z_in, int n) { ++ complex z = z_in; ++ z = __power(z, (n < 0 ? -n : n), multiplies< complex >()); ++ if (n < 0) ++ return 1.f / z; ++ else ++ return z; ++} ++ ++_STLP_DECLSPEC complex _STLP_CALL pow(const complex& a, const float& b) { ++ float logr = _STLP_LOGF(_STLP_HYPOTF(a._M_re,a._M_im)); ++ float logi = _STLP_ATAN2F(a._M_im, a._M_re); ++ float x = _STLP_EXPF(logr * b); ++ float y = logi * b; ++ ++ return complex(x * _STLP_COSF(y), x * _STLP_SINF(y)); ++} ++ ++_STLP_DECLSPEC complex _STLP_CALL pow(const complex& a, const complex& b) { ++ float logr = _STLP_LOGF(_STLP_HYPOTF(a._M_re,a._M_im)); ++ float logi = _STLP_ATAN2F(a._M_im, a._M_re); ++ float x = _STLP_EXPF(logr*b._M_re - logi*b._M_im); ++ float y = logr*b._M_im + logi*b._M_re; ++ ++ return complex(x * _STLP_COSF(y), x * _STLP_SINF(y)); ++} ++ ++ ++_STLP_DECLSPEC complex _STLP_CALL pow(const double& a, const complex& b) { ++ double logr = _STLP_LOG(a); ++ double x = _STLP_EXP(logr*b._M_re); ++ double y = logr*b._M_im; ++ ++ return complex(x * _STLP_COS(y), x * _STLP_SIN(y)); ++} ++ ++_STLP_DECLSPEC complex _STLP_CALL pow(const complex& z_in, int n) { ++ complex z = z_in; ++ z = __power(z, (n < 0 ? -n : n), multiplies< complex >()); ++ if (n < 0) ++#if !defined(__SC__) //*TY 04/15/2000 - ++ return 1. / z; ++#else //*TY 04/15/2000 - added workaround for SCpp compiler ++ return double(1.0) / z; //*TY 04/15/2000 - it incorrectly assign long double attribute to floating point literals ++#endif //*TY 04/15/2000 - ++ else ++ return z; ++} ++ ++_STLP_DECLSPEC complex _STLP_CALL pow(const complex& a, const double& b) { ++ double logr = _STLP_LOG(_STLP_HYPOT(a._M_re,a._M_im)); ++ double logi = _STLP_ATAN2(a._M_im, a._M_re); ++ double x = _STLP_EXP(logr * b); ++ double y = logi * b; ++ ++ return complex(x * _STLP_COS(y), x * _STLP_SIN(y)); ++} ++ ++_STLP_DECLSPEC complex _STLP_CALL pow(const complex& a, const complex& b) { ++ double logr = _STLP_LOG(_STLP_HYPOT(a._M_re,a._M_im)); ++ double logi = _STLP_ATAN2(a._M_im, a._M_re); ++ double x = _STLP_EXP(logr*b._M_re - logi*b._M_im); ++ double y = logr*b._M_im + logi*b._M_re; ++ ++ return complex(x * _STLP_COS(y), x * _STLP_SIN(y)); ++} ++ ++ ++_STLP_DECLSPEC complex _STLP_CALL pow(const long double& a, ++ const complex& b) { ++ long double logr = _STLP_LOGL(a); ++ long double x = _STLP_EXPL(logr*b._M_re); ++ long double y = logr*b._M_im; ++ ++ return complex(x * _STLP_COSL(y), x * _STLP_SINL(y)); ++} ++ ++_STLP_DECLSPEC complex _STLP_CALL pow(const complex& z_in, int n) { ++ complex z = z_in; ++ z = __power(z, (n < 0 ? -n : n), multiplies< complex >()); ++ if (n < 0) ++ return 1.l / z; ++ else ++ return z; ++} ++ ++_STLP_DECLSPEC complex _STLP_CALL pow(const complex& a, ++ const long double& b) { ++ long double logr = _STLP_LOGL(_STLP_HYPOTL(a._M_re,a._M_im)); ++ long double logi = _STLP_ATAN2L(a._M_im, a._M_re); ++ long double x = _STLP_EXPL(logr * b); ++ long double y = logi * b; ++ ++ return complex(x * _STLP_COSL(y), x * _STLP_SINL(y)); ++} ++ ++_STLP_DECLSPEC complex _STLP_CALL pow(const complex& a, ++ const complex& b) { ++ long double logr = _STLP_LOGL(_STLP_HYPOTL(a._M_re,a._M_im)); ++ long double logi = _STLP_ATAN2L(a._M_im, a._M_re); ++ long double x = _STLP_EXPL(logr*b._M_re - logi*b._M_im); ++ long double y = logr*b._M_im + logi*b._M_re; ++ ++ return complex(x * _STLP_COSL(y), x * _STLP_SINL(y)); ++} ++ ++_STLP_END_NAMESPACE ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/complex_impl.h tripwire-2.3.1-2/src/STLport-4.0/src/complex_impl.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/complex_impl.h Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/complex_impl.h Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,94 @@ ++/* ++ * Copyright (c) 1999 ++ * Silicon Graphics Computer Systems, Inc. ++ * ++ * Copyright (c) 1999 ++ * Boris Fomitchev ++ * ++ * This material is provided "as is", with absolutely no warranty expressed ++ * or implied. Any use is at your own risk. ++ * ++ * Permission to use or copy this software for any purpose is hereby granted ++ * without fee, provided the above notices are retained on all copies. ++ * Permission to modify the code and to distribute modified code is granted, ++ * provided the above notices are retained, and a notice that the code was ++ * modified is included with the above copyright notice. ++ * ++ */ ++ ++# ifndef COMPLEX_IMPL_H ++# define COMPLEX_IMPL_H ++ ++#include ++#include ++#include ++#include ++ ++# if (defined (__sgi) && !defined(__GNUC__)) /* || defined (__DECCXX) */ ++ ++# define _STLP_ABSF _STLP_VENDOR_CSTD::fabsf ++# define _STLP_ATAN2F _STLP_VENDOR_CSTD::atan2f ++# define _STLP_SINF _STLP_VENDOR_CSTD::sinf ++# define _STLP_COSF _STLP_VENDOR_CSTD::cosf ++# define _STLP_SQRTF _STLP_VENDOR_CSTD::sqrtf ++# define _STLP_EXPF _STLP_VENDOR_CSTD::expf ++# define _STLP_LOG10F _STLP_VENDOR_CSTD::log10f ++# define _STLP_LOGF _STLP_VENDOR_CSTD::logf ++# define _STLP_SINHF _STLP_VENDOR_CSTD::sinhf ++# define _STLP_COSHF _STLP_VENDOR_CSTD::coshf ++# define _STLP_HYPOTF _STLP_VENDOR_CSTD::hypotf ++ ++ ++# define _STLP_ABSL _STLP_VENDOR_CSTD::fabsl ++# define _STLP_ATAN2L _STLP_VENDOR_CSTD::atan2l ++# define _STLP_SINL _STLP_VENDOR_CSTD::sinl ++# define _STLP_COSL _STLP_VENDOR_CSTD::cosl ++# define _STLP_SQRTL _STLP_VENDOR_CSTD::sqrtl ++# define _STLP_EXPL _STLP_VENDOR_CSTD::expl ++# define _STLP_LOG10L _STLP_VENDOR_CSTD::log10l ++# define _STLP_LOGL _STLP_VENDOR_CSTD::logl ++# define _STLP_SINHL _STLP_VENDOR_CSTD::sinhl ++# define _STLP_COSHL _STLP_VENDOR_CSTD::coshl ++// # define _STLP_HYPOT ::hypot ++# define _STLP_HYPOTL _STLP_VENDOR_CSTD::hypotl ++ ++#else ++ ++# define _STLP_ABSF (float)_STLP_DO_ABS(double) ++# define _STLP_ABSL (long double)_STLP_DO_ABS(double) ++# define _STLP_ATAN2F (float)_STLP_DO_ATAN2(double) ++# define _STLP_ATAN2L (long double)_STLP_DO_ATAN2(double) ++# define _STLP_SINF (float)_STLP_DO_SIN(double) ++# define _STLP_SINL (long double)_STLP_DO_SIN(double) ++# define _STLP_COSF (float)_STLP_DO_COS(double) ++# define _STLP_COSL (long double)_STLP_DO_COS(double) ++# define _STLP_SQRTF (float)_STLP_DO_SQRT(double) ++# define _STLP_SQRTL (long double)_STLP_DO_SQRT(double) ++# define _STLP_EXPF (float)_STLP_DO_EXP(double) ++# define _STLP_EXPL (long double)_STLP_DO_EXP(double) ++# define _STLP_LOG10F (float)_STLP_DO_LOG10(double) ++# define _STLP_LOG10L (long double)_STLP_DO_LOG10(double) ++# define _STLP_LOGF (float)_STLP_DO_LOG(double) ++# define _STLP_LOGL (long double)_STLP_DO_LOG(double) ++# define _STLP_SINHF (float)_STLP_DO_SINH(double) ++# define _STLP_SINHL (long double)_STLP_DO_SINH(double) ++# define _STLP_COSHF (float)_STLP_DO_COSH(double) ++# define _STLP_COSHL (long double)_STLP_DO_COSH(double) ++# define _STLP_HYPOTF (float)_STLP_DO_HYPOT(double) ++# define _STLP_HYPOTL (long double)_STLP_DO_HYPOT(double) ++ ++#endif ++ ++# define _STLP_ABS (double)_STLP_DO_ABS(double) ++# define _STLP_ATAN2 (double)_STLP_DO_ATAN2(double) ++# define _STLP_SIN (double)_STLP_DO_SIN(double) ++# define _STLP_COS (double)_STLP_DO_COS(double) ++# define _STLP_SQRT (double)_STLP_DO_SQRT(double) ++# define _STLP_EXP (double)_STLP_DO_EXP(double) ++# define _STLP_LOG10 (double)_STLP_DO_LOG10(double) ++# define _STLP_LOG (double)_STLP_DO_LOG(double) ++# define _STLP_SINH (double)_STLP_DO_SINH(double) ++# define _STLP_COSH (double)_STLP_DO_COSH(double) ++# define _STLP_HYPOT _STLP_DO_HYPOT(double) ++ ++#endif +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/complex_io.cpp tripwire-2.3.1-2/src/STLport-4.0/src/complex_io.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/complex_io.cpp Sat Feb 24 10:44:07 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/complex_io.cpp Sun Aug 11 18:59:22 2002 +@@ -1,146 +1,144 @@ +-/* +- * Copyright (c) 1999 +- * Silicon Graphics Computer Systems, Inc. +- * +- * Copyright (c) 1999 +- * Boris Fomitchev +- * +- * This material is provided "as is", with absolutely no warranty expressed +- * or implied. Any use is at your own risk. +- * +- * Permission to use or copy this software for any purpose is hereby granted +- * without fee, provided the above notices are retained on all copies. +- * Permission to modify the code and to distribute modified code is granted, +- * provided the above notices are retained, and a notice that the code was +- * modified is included with the above copyright notice. +- * +- */ +- +-# include "stlport_prefix.h" +-#include +-#include +-#include +- +-__STL_BEGIN_NAMESPACE +- +-# if defined (__STL_FUNCTION_TMPL_PARTIAL_ORDER) || defined (__BORLANDC__) +-# define __STL_OPERATOR_SPEC __STL_DECLSPEC +-# else +-# define __STL_OPERATOR_SPEC __STL_TEMPLATE_NULL __STL_DECLSPEC +-# endif +- +-# if ! (defined (__STL_MSVC) && __STL_MSVC < 1200) +- +-// Specializations for narrow characters; lets us avoid the nuisance of +-// widening. +-__STL_OPERATOR_SPEC +-basic_ostream >& __STL_CALL +-operator<< (basic_ostream >& __os, const complex& __z) +-{ +- return __os << '(' << (double)__z.real() << ',' << (double)__z.imag() << ')'; +-} +- +-__STL_OPERATOR_SPEC +-basic_ostream >& __STL_CALL +-operator<< (basic_ostream >& __os, const complex& __z) +-{ +- return __os << '(' << __z.real() << ',' << __z.imag() << ')'; +-} +- +-__STL_OPERATOR_SPEC +-basic_ostream >& __STL_CALL +-operator<< (basic_ostream >& __os, const complex& __z) +-{ +- return __os << '(' << __z.real() << ',' << __z.imag() << ')'; +-} +- +- +-// Specialization for narrow characters; lets us avoid widen. +-__STL_OPERATOR_SPEC +-basic_istream >& __STL_CALL +-operator>>(basic_istream >& __is, complex& __z) +-{ +- float __re = 0; +- float __im = 0; +- +- char __c; +- +- __is >> __c; +- if (__c == '(') { +- __is >> __re >> __c; +- if (__c == ',') +- __is >> __im >> __c; +- if (__c != ')') +- __is.setstate(ios_base::failbit); +- } +- else { +- __is.putback(__c); +- __is >> __re; +- } +- +- if (__is) +- __z = complex(__re, __im); +- return __is; +-} +- +-__STL_OPERATOR_SPEC +-basic_istream >& __STL_CALL +-operator>>(basic_istream >& __is, complex& __z) +-{ +- double __re = 0; +- double __im = 0; +- +- char __c; +- +- __is >> __c; +- if (__c == '(') { +- __is >> __re >> __c; +- if (__c == ',') +- __is >> __im >> __c; +- if (__c != ')') +- __is.setstate(ios_base::failbit); +- } +- else { +- __is.putback(__c); +- __is >> __re; +- } +- +- if (__is) +- __z = complex(__re, __im); +- return __is; +-} +- +-__STL_OPERATOR_SPEC +-basic_istream >& __STL_CALL +-operator>>(basic_istream >& __is, complex& __z) { +- long double __re = 0; +- long double __im = 0; +- +- char __c; +- +- __is >> __c; +- if (__c == '(') { +- __is >> __re >> __c; +- if (__c == ',') +- __is >> __im >> __c; +- if (__c != ')') +- __is.setstate(ios_base::failbit); +- } +- else { +- __is.putback(__c); +- __is >> __re; +- } +- +- if (__is) +- __z = complex(__re, __im); +- return __is; +-} +- +-# endif /* MSVC */ +- +-__STL_END_NAMESPACE +- +- +-// Local Variables: +-// mode:C++ +-// End: ++/* ++ * Copyright (c) 1999 ++ * Silicon Graphics Computer Systems, Inc. ++ * ++ * Copyright (c) 1999 ++ * Boris Fomitchev ++ * ++ * This material is provided "as is", with absolutely no warranty expressed ++ * or implied. Any use is at your own risk. ++ * ++ * Permission to use or copy this software for any purpose is hereby granted ++ * without fee, provided the above notices are retained on all copies. ++ * Permission to modify the code and to distribute modified code is granted, ++ * provided the above notices are retained, and a notice that the code was ++ * modified is included with the above copyright notice. ++ * ++ */ ++ ++# include "stlport_prefix.h" ++// #include ++#include "complex_impl.h" ++#include ++ ++_STLP_BEGIN_NAMESPACE ++ ++# if ! (defined (_STLP_MSVC) && _STLP_MSVC < 1200) ++ ++// Specializations for narrow characters; lets us avoid the nuisance of ++// widening. ++_STLP_OPERATOR_SPEC ++basic_ostream >& _STLP_CALL ++operator<< (basic_ostream >& __os, const complex& __z) ++{ ++ return __os << '(' << (double)__z.real() << ',' << (double)__z.imag() << ')'; ++} ++ ++_STLP_OPERATOR_SPEC ++basic_ostream >& _STLP_CALL ++operator<< (basic_ostream >& __os, const complex& __z) ++{ ++ return __os << '(' << __z.real() << ',' << __z.imag() << ')'; ++} ++ ++#ifndef _STLP_NO_LONG_DOUBLE ++_STLP_OPERATOR_SPEC ++basic_ostream >& _STLP_CALL ++operator<< (basic_ostream >& __os, const complex& __z) ++{ ++ return __os << '(' << __z.real() << ',' << __z.imag() << ')'; ++} ++#endif ++ ++// Specialization for narrow characters; lets us avoid widen. ++_STLP_OPERATOR_SPEC ++basic_istream >& _STLP_CALL ++operator>>(basic_istream >& __is, complex& __z) ++{ ++ float __re = 0; ++ float __im = 0; ++ ++ char __c; ++ ++ __is >> __c; ++ if (__c == '(') { ++ __is >> __re >> __c; ++ if (__c == ',') ++ __is >> __im >> __c; ++ if (__c != ')') ++ __is.setstate(ios_base::failbit); ++ } ++ else { ++ __is.putback(__c); ++ __is >> __re; ++ } ++ ++ if (__is) ++ __z = complex(__re, __im); ++ return __is; ++} ++ ++_STLP_OPERATOR_SPEC ++basic_istream >& _STLP_CALL ++operator>>(basic_istream >& __is, complex& __z) ++{ ++ double __re = 0; ++ double __im = 0; ++ ++ char __c; ++ ++ __is >> __c; ++ if (__c == '(') { ++ __is >> __re >> __c; ++ if (__c == ',') ++ __is >> __im >> __c; ++ if (__c != ')') ++ __is.setstate(ios_base::failbit); ++ } ++ else { ++ __is.putback(__c); ++ __is >> __re; ++ } ++ ++ if (__is) ++ __z = complex(__re, __im); ++ return __is; ++} ++ ++# ifndef _STLP_NO_LONG_DOUBLE ++_STLP_OPERATOR_SPEC ++basic_istream >& _STLP_CALL ++operator>>(basic_istream >& __is, complex& __z) { ++ long double __re = 0; ++ long double __im = 0; ++ ++ char __c; ++ ++ __is >> __c; ++ if (__c == '(') { ++ __is >> __re >> __c; ++ if (__c == ',') ++ __is >> __im >> __c; ++ if (__c != ')') ++ __is.setstate(ios_base::failbit); ++ } ++ else { ++ __is.putback(__c); ++ __is >> __re; ++ } ++ ++ if (__is) ++ __z = complex(__re, __im); ++ return __is; ++} ++# endif ++ ++# endif /* MSVC */ ++ ++_STLP_END_NAMESPACE ++ ++ ++// Local Variables: ++// mode:C++ ++// End: ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/complex_io_w.cpp tripwire-2.3.1-2/src/STLport-4.0/src/complex_io_w.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/complex_io_w.cpp Sat Feb 24 10:44:07 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/complex_io_w.cpp Sun Aug 11 18:59:22 2002 +@@ -1,66 +1,57 @@ +-/* +- * Copyright (c) 1999 +- * Silicon Graphics Computer Systems, Inc. +- * +- * Copyright (c) 1999 +- * Boris Fomitchev +- * +- * This material is provided "as is", with absolutely no warranty expressed +- * or implied. Any use is at your own risk. +- * +- * Permission to use or copy this software for any purpose is hereby granted +- * without fee, provided the above notices are retained on all copies. +- * Permission to modify the code and to distribute modified code is granted, +- * provided the above notices are retained, and a notice that the code was +- * modified is included with the above copyright notice. +- * +- */ +- +-# include "stlport_prefix.h" +-#include +-#include +-#include +- +- +-# if defined (__STL_FUNCTION_TMPL_PARTIAL_ORDER) || defined (__BORLANDC__) +-# define __STL_OPERATOR_SPEC __STL_DECLSPEC +-# else +-# define __STL_OPERATOR_SPEC __STL_TEMPLATE_NULL __STL_DECLSPEC +-# endif +- +-__STL_BEGIN_NAMESPACE +- +-// Force instantiation of complex I/O functions +- +-#if !(defined (__STL_NO_FORCE_INSTANTIATE) || defined (__STL_NO_WCHAR_T)) +- +-#if defined(__MRC__)||defined(__SC__) //*TY 04/29/2000 - added workaround for mpw +-template class basic_istream >; //*TY 04/29/2000 - they confuse on the nested class sentry of basic_istream if the class is not instantiated before it is used. +-template class basic_ostream >; //*TY 04/29/2000 - +-#endif //*TY 04/29/2000 - +- +-__STL_OPERATOR_SPEC basic_istream >& __STL_CALL +-operator>>(basic_istream >&, complex&); +- +-__STL_OPERATOR_SPEC basic_istream >& __STL_CALL +-operator>>(basic_istream >&, complex&); +- +-__STL_OPERATOR_SPEC basic_istream >& __STL_CALL +-operator>>(basic_istream >&, complex&); +- +-__STL_OPERATOR_SPEC basic_ostream >& __STL_CALL +-operator<<(basic_ostream >&, const complex&); +- +-__STL_OPERATOR_SPEC basic_ostream >& __STL_CALL +-operator<<(basic_ostream >&, const complex&); +- +-__STL_OPERATOR_SPEC basic_ostream >& __STL_CALL +-operator<<(basic_ostream >&, const complex&); +- +-# endif /* __STL_NO_WCHAR_T */ +- +-__STL_END_NAMESPACE +- +-// Local Variables: +-// mode:C++ +-// End: ++/* ++ * Copyright (c) 1999 ++ * Silicon Graphics Computer Systems, Inc. ++ * ++ * Copyright (c) 1999 ++ * Boris Fomitchev ++ * ++ * This material is provided "as is", with absolutely no warranty expressed ++ * or implied. Any use is at your own risk. ++ * ++ * Permission to use or copy this software for any purpose is hereby granted ++ * without fee, provided the above notices are retained on all copies. ++ * Permission to modify the code and to distribute modified code is granted, ++ * provided the above notices are retained, and a notice that the code was ++ * modified is included with the above copyright notice. ++ * ++ */ ++ ++# include "stlport_prefix.h" ++// #include ++#include ++#include ++ ++_STLP_BEGIN_NAMESPACE ++ ++// Force instantiation of complex I/O functions ++ ++#if !(defined (_STLP_NO_FORCE_INSTANTIATE) || defined (_STLP_NO_WCHAR_T)) ++ ++_STLP_OPERATOR_SPEC basic_istream >& _STLP_CALL ++operator>>(basic_istream >&, complex&); ++ ++_STLP_OPERATOR_SPEC basic_istream >& _STLP_CALL ++operator>>(basic_istream >&, complex&); ++ ++#ifndef _STLP_NO_LONG_DOUBLE ++_STLP_OPERATOR_SPEC basic_istream >& _STLP_CALL ++operator>>(basic_istream >&, complex&); ++ ++_STLP_OPERATOR_SPEC basic_ostream >& _STLP_CALL ++operator<<(basic_ostream >&, const complex&); ++#endif ++ ++_STLP_OPERATOR_SPEC basic_ostream >& _STLP_CALL ++operator<<(basic_ostream >&, const complex&); ++ ++_STLP_OPERATOR_SPEC basic_ostream >& _STLP_CALL ++operator<<(basic_ostream >&, const complex&); ++ ++# endif /* _STLP_NO_WCHAR_T */ ++ ++_STLP_END_NAMESPACE ++ ++// Local Variables: ++// mode:C++ ++// End: ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/complex_trig.cpp tripwire-2.3.1-2/src/STLport-4.0/src/complex_trig.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/complex_trig.cpp Sat Feb 24 10:44:07 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/complex_trig.cpp Sun Aug 11 18:59:22 2002 +@@ -21,219 +21,198 @@ + // Trigonometric and hyperbolic functions for complex, + // complex, and complex + +-#include ++ ++#include "complex_impl.h" ++ + #include + #include + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE ++ ++ ++//---------------------------------------------------------------------- ++// helpers ++ ++#ifdef __sgi ++ static const union { unsigned int i; float f; } float_ulimit = { 0x42b2d4fc }; ++ static const float float_limit = float_ulimit.f; ++ static union { ++ struct { unsigned int h; unsigned int l; } w; ++ double d; ++ } double_ulimit = { 0x408633ce, 0x8fb9f87d }; ++ static const double double_limit = double_ulimit.d; ++ static union { ++ struct { unsigned int h[2]; unsigned int l[2]; } w; ++ long double ld; ++ } ldouble_ulimit = {0x408633ce, 0x8fb9f87e, 0xbd23b659, 0x4e9bd8b1}; ++# ifndef _STLP_NO_LONG_DOUBLE ++ static const long double ldouble_limit = ldouble_ulimit.ld; ++# endif ++#else ++ static const float float_limit = _STLP_LOGF(FLT_MAX); ++ static const double double_limit = _STLP_DO_LOG(double)(DBL_MAX); ++# ifndef _STLP_NO_LONG_DOUBLE ++ static const long double ldouble_limit = _STLP_LOGL(LDBL_MAX); ++# endif ++#endif ++ + + //---------------------------------------------------------------------- + // sin + +-__STL_DECLSPEC complex __STL_CALL sin(const complex& z) { +- return complex(__STL_SINF(z._M_re) * __STL_COSHF(z._M_im), +- __STL_COSF(z._M_re) * __STL_SINHF(z._M_im)); ++_STLP_DECLSPEC complex _STLP_CALL sin(const complex& z) { ++ return complex(_STLP_SINF(z._M_re) * _STLP_COSHF(z._M_im), ++ _STLP_COSF(z._M_re) * _STLP_SINHF(z._M_im)); + } + +-__STL_DECLSPEC complex __STL_CALL sin(const complex& z) { +- return complex(__STL_SIN(z._M_re) * __STL_COSH(z._M_im), +- __STL_COS(z._M_re) * __STL_SINH(z._M_im)); ++_STLP_DECLSPEC complex _STLP_CALL sin(const complex& z) { ++ return complex(_STLP_SIN(z._M_re) * _STLP_COSH(z._M_im), ++ _STLP_COS(z._M_re) * _STLP_SINH(z._M_im)); + } + +-__STL_DECLSPEC complex __STL_CALL sin(const complex& z) { +- return complex(__STL_SINL(z._M_re) * __STL_COSHL(z._M_im), +- __STL_COSL(z._M_re) * __STL_SINHL(z._M_im)); ++#ifndef _STLP_NO_LONG_DOUBLE ++_STLP_DECLSPEC complex _STLP_CALL sin(const complex& z) { ++ return complex(_STLP_SINL(z._M_re) * _STLP_COSHL(z._M_im), ++ _STLP_COSL(z._M_re) * _STLP_SINHL(z._M_im)); + } +- ++#endif + + //---------------------------------------------------------------------- + // cos + +-__STL_DECLSPEC complex __STL_CALL cos(const complex& z) { +- return complex(__STL_COSF(z._M_re) * __STL_COSHF(z._M_im), +- -__STL_SINF(z._M_re) * __STL_SINHF(z._M_im)); ++_STLP_DECLSPEC complex _STLP_CALL cos(const complex& z) { ++ return complex(_STLP_COSF(z._M_re) * _STLP_COSHF(z._M_im), ++ -_STLP_SINF(z._M_re) * _STLP_SINHF(z._M_im)); + } + +-__STL_DECLSPEC complex __STL_CALL cos(const complex& z) { +- return complex(__STL_COS(z._M_re) * __STL_COSH(z._M_im), +- -__STL_SIN(z._M_re) * __STL_SINH(z._M_im)); ++_STLP_DECLSPEC complex _STLP_CALL cos(const complex& z) { ++ return complex(_STLP_COS(z._M_re) * _STLP_COSH(z._M_im), ++ -_STLP_SIN(z._M_re) * _STLP_SINH(z._M_im)); + } + +-__STL_DECLSPEC complex __STL_CALL cos(const complex& z) { +- return complex(__STL_COSL(z._M_re) * __STL_COSHL(z._M_im), +- -__STL_SINL(z._M_re) * __STL_SINHL(z._M_im)); ++#ifndef _STLP_NO_LONG_DOUBLE ++_STLP_DECLSPEC complex _STLP_CALL cos(const complex& z) { ++ return complex(_STLP_COSL(z._M_re) * _STLP_COSHL(z._M_im), ++ -_STLP_SINL(z._M_re) * _STLP_SINHL(z._M_im)); + } +- ++# endif + + //---------------------------------------------------------------------- + // tan + +-__STL_DECLSPEC complex __STL_CALL tan(const complex& z) { ++_STLP_DECLSPEC complex _STLP_CALL tan(const complex& z) { + float re2 = 2.f * z._M_re; + float im2 = 2.f * z._M_im; + +-#ifdef __sgi +- const union { unsigned int i; float f; } ulimit = { 0x42b2d4fc }; +- const float limit = ulimit.f; +-#else +- const float limit = __STL_LOGF(FLT_MAX); +-#endif +- +- if (__STL_ABSF(im2) > limit) ++ if (_STLP_ABSF(im2) > float_limit) + return complex(0.f, (im2 > 0 ? 1.f : -1.f)); + else { +- float den = __STL_COSF(re2) + __STL_COSHF(im2); +- return complex(__STL_SINF(re2) / den, __STL_SINHF(im2) / den); ++ float den = _STLP_COSF(re2) + _STLP_COSHF(im2); ++ return complex(_STLP_SINF(re2) / den, _STLP_SINHF(im2) / den); + } + } + +-__STL_DECLSPEC complex __STL_CALL tan(const complex& z) { ++_STLP_DECLSPEC complex _STLP_CALL tan(const complex& z) { + double re2 = 2. * z._M_re; + double im2 = 2. * z._M_im; + +-#ifdef __sgi +- union { +- struct { unsigned int h; unsigned int l; } w; +- double d; +- } ulimit = { 0x408633ce, 0x8fb9f87d }; +- const double limit = ulimit.d; +-#else +- const double limit = __STL_DO_LOG(double)(DBL_MAX); +-#endif +- +- if (fabs(im2) > limit) ++ if (fabs(float(im2)) > double_limit) + return complex(0., (im2 > 0 ? 1. : -1.)); + else { +- double den = __STL_COS(re2) + __STL_COSH(im2); +- return complex(__STL_SIN(re2) / den, __STL_SINH(im2) / den); ++ double den = _STLP_COS(re2) + _STLP_COSH(im2); ++ return complex(_STLP_SIN(re2) / den, _STLP_SINH(im2) / den); + } + } + +-__STL_DECLSPEC complex __STL_CALL tan(const complex& z) { ++#ifndef _STLP_NO_LONG_DOUBLE ++_STLP_DECLSPEC complex _STLP_CALL tan(const complex& z) { + long double re2 = 2.l * z._M_re; + long double im2 = 2.l * z._M_im; +- +-#ifdef __sgi +- union { +- struct { unsigned int h[2]; unsigned int l[2]; } w; +- long double ld; +- } ulimit = {0x408633ce, 0x8fb9f87e, 0xbd23b659, 0x4e9bd8b1}; +- const long double limit = ulimit.ld; +-#else +- const long double limit = __STL_LOGL(LDBL_MAX); +-#endif +- +- if (__STL_ABSL(im2) > limit) ++ if (_STLP_ABSL(im2) > ldouble_limit) + return complex(0.l, (im2 > 0 ? 1.l : -1.l)); + else { +- long double den = __STL_COSL(re2) + __STL_COSHL(im2); +- return complex(__STL_SINL(re2) / den, __STL_SINHL(im2) / den); ++ long double den = _STLP_COSL(re2) + _STLP_COSHL(im2); ++ return complex(_STLP_SINL(re2) / den, _STLP_SINHL(im2) / den); + } + } + ++# endif + + //---------------------------------------------------------------------- + // sinh + +-__STL_DECLSPEC complex __STL_CALL sinh(const complex& z) { +- return complex(__STL_SINHF(z._M_re) * __STL_COSF(z._M_im), +- __STL_COSHF(z._M_re) * __STL_SINF(z._M_im)); ++_STLP_DECLSPEC complex _STLP_CALL sinh(const complex& z) { ++ return complex(_STLP_SINHF(z._M_re) * _STLP_COSF(z._M_im), ++ _STLP_COSHF(z._M_re) * _STLP_SINF(z._M_im)); + } + +-__STL_DECLSPEC complex __STL_CALL sinh(const complex& z) { +- return complex(__STL_SINH(z._M_re) * __STL_COS(z._M_im), +- __STL_COSH(z._M_re) * __STL_SIN(z._M_im)); ++_STLP_DECLSPEC complex _STLP_CALL sinh(const complex& z) { ++ return complex(_STLP_SINH(z._M_re) * _STLP_COS(z._M_im), ++ _STLP_COSH(z._M_re) * _STLP_SIN(z._M_im)); + } + +-__STL_DECLSPEC complex __STL_CALL sinh(const complex& z) { +- return complex(__STL_SINHL(z._M_re) * __STL_COSL(z._M_im), +- __STL_COSHL(z._M_re) * __STL_SINL(z._M_im)); ++#ifndef _STLP_NO_LONG_DOUBLE ++_STLP_DECLSPEC complex _STLP_CALL sinh(const complex& z) { ++ return complex(_STLP_SINHL(z._M_re) * _STLP_COSL(z._M_im), ++ _STLP_COSHL(z._M_re) * _STLP_SINL(z._M_im)); + } +- ++#endif + + //---------------------------------------------------------------------- + // cosh + +-__STL_DECLSPEC complex __STL_CALL cosh(const complex& z) { +- return complex(__STL_COSHF(z._M_re) * __STL_COSF(z._M_im), +- __STL_SINHF(z._M_re) * __STL_SINF(z._M_im)); ++_STLP_DECLSPEC complex _STLP_CALL cosh(const complex& z) { ++ return complex(_STLP_COSHF(z._M_re) * _STLP_COSF(z._M_im), ++ _STLP_SINHF(z._M_re) * _STLP_SINF(z._M_im)); + } + +-__STL_DECLSPEC complex __STL_CALL cosh(const complex& z) { +- return complex(__STL_COSH(z._M_re) * __STL_COS(z._M_im), +- __STL_SINH(z._M_re) * __STL_SIN(z._M_im)); ++_STLP_DECLSPEC complex _STLP_CALL cosh(const complex& z) { ++ return complex(_STLP_COSH(z._M_re) * _STLP_COS(z._M_im), ++ _STLP_SINH(z._M_re) * _STLP_SIN(z._M_im)); + } + +-__STL_DECLSPEC complex __STL_CALL cosh(const complex& z) { +- return complex(__STL_COSHL(z._M_re) * __STL_COSL(z._M_im), +- __STL_SINHL(z._M_re) * __STL_SINL(z._M_im)); ++#ifndef _STLP_NO_LONG_DOUBLE ++_STLP_DECLSPEC complex _STLP_CALL cosh(const complex& z) { ++ return complex(_STLP_COSHL(z._M_re) * _STLP_COSL(z._M_im), ++ _STLP_SINHL(z._M_re) * _STLP_SINL(z._M_im)); + } +- ++#endif + + //---------------------------------------------------------------------- + // tanh + +-__STL_DECLSPEC complex __STL_CALL tanh(const complex& z) { ++_STLP_DECLSPEC complex _STLP_CALL tanh(const complex& z) { + float re2 = 2.f * z._M_re; + float im2 = 2.f * z._M_im; +- +-#ifdef __sgi +- const union { unsigned int i; float f; } ulimit = { 0x42b2d4fc }; +- const float limit = ulimit.f; +-#else +- const float limit = __STL_LOGF(FLT_MAX); +-#endif +- +- if (__STL_ABSF(re2) > limit) ++ if (_STLP_ABSF(re2) > float_limit) + return complex((re2 > 0 ? 1.f : -1.f), 0.f); + else { +- float den = __STL_COSHF(re2) + __STL_COSF(im2); +- return complex(__STL_SINHF(re2) / den, __STL_SINF(im2) / den); ++ float den = _STLP_COSHF(re2) + _STLP_COSF(im2); ++ return complex(_STLP_SINHF(re2) / den, _STLP_SINF(im2) / den); + } + } + +-__STL_DECLSPEC complex __STL_CALL tanh(const complex& z) { ++_STLP_DECLSPEC complex _STLP_CALL tanh(const complex& z) { + double re2 = 2. * z._M_re; +- double im2 = 2. * z._M_im; +- +-#ifdef __sgi +- union { +- struct { unsigned int h; unsigned int l; } w; +- double d; +- } ulimit = { 0x408633ce, 0x8fb9f87d }; +- const double limit = ulimit.d; +-#else +- const double limit = __STL_DO_LOG(double)(DBL_MAX); +-#endif +- +- if (fabs(re2) > limit) ++ double im2 = 2. * z._M_im; ++ if (fabs(float(re2)) > double_limit) + return complex((re2 > 0 ? 1. : -1.), 0.); + else { +- double den = __STL_COSH(re2) + __STL_COS(im2); +- return complex(__STL_SINH(re2) / den, __STL_SIN(im2) / den); ++ double den = _STLP_COSH(re2) + _STLP_COS(im2); ++ return complex(_STLP_SINH(re2) / den, _STLP_SIN(im2) / den); + } + } + +-__STL_DECLSPEC complex __STL_CALL tanh(const complex& z) { ++#ifndef _STLP_NO_LONG_DOUBLE ++_STLP_DECLSPEC complex _STLP_CALL tanh(const complex& z) { + long double re2 = 2.l * z._M_re; + long double im2 = 2.l * z._M_im; +- +-#ifdef __sgi +- union { +- struct { unsigned int h[2]; unsigned int l[2]; } w; +- long double ld; +- } ulimit = {0x408633ce, 0x8fb9f87e, 0xbd23b659, 0x4e9bd8b1}; +- const long double limit = ulimit.ld; +-#else +- const long double limit = __STL_LOGL(LDBL_MAX); +-#endif +- +- if (__STL_ABSL(re2) > limit) ++ if (_STLP_ABSL(re2) > ldouble_limit) + return complex((re2 > 0 ? 1.l : -1.l), 0.l); + else { +- long double den = __STL_COSHL(re2) + __STL_COSL(im2); +- return complex(__STL_SINHL(re2) / den, __STL_SINL(im2) / den); ++ long double den = _STLP_COSHL(re2) + _STLP_COSL(im2); ++ return complex(_STLP_SINHL(re2) / den, _STLP_SINL(im2) / den); + } + } +- +-__STL_END_NAMESPACE ++#endif ++_STLP_END_NAMESPACE +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/ctype.cpp tripwire-2.3.1-2/src/STLport-4.0/src/ctype.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/ctype.cpp Sat Feb 24 10:44:08 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/ctype.cpp Sun Aug 11 18:59:22 2002 +@@ -18,79 +18,19 @@ + + # include "stlport_prefix.h" + +-#include +-#include ++#include + #include +-#include ++#include ++#include "c_locale.h" + +-__STL_BEGIN_NAMESPACE +- +-// Some helper functions used in ctype<>::scan_is and scan_is_not. +- +-struct _Ctype_is_mask { +- typedef char argument_type; +- typedef bool result_type; +- +- ctype_base::mask M; +- const ctype_base::mask* table; +- +- _Ctype_is_mask(ctype_base::mask m, const ctype_base::mask* t) : M(m), table(t) {} +- bool operator()(char c) const { return (table[(unsigned char) c] & M) != 0; } +-}; ++_STLP_BEGIN_NAMESPACE + + //---------------------------------------------------------------------- + // ctype + +-ctype::ctype(const mask* tab, bool del, size_t refs) +-#if !(defined(__MRC__) || defined(__SC__) ) //*TY 04/29/2000 - added workaround for mpw +- : locale::facet(refs), +-#else //*TY 04/29/2000 - +- : _facet(refs), //*TY 04/29/2000 - they forget to look into the nested class for the ctor +-#endif //*TY 04/29/2000 - +- _M_ctype_table(0) +-{ +- _M_ctype_table = tab ? tab : classic_table(); +- _M_delete = tab && del; +-} +- +-ctype::~ctype() { +- if (_M_delete) +- delete[] __CONST_CAST(mask*, _M_ctype_table); +-} +- +-const char* +-ctype::is(const char* low, const char* high, mask* vec) const { +- for (const char* p = low;p != high; ++p, ++vec) { +- *vec = table()[(unsigned char)*p]; +- } +- return high; +-} +- +-const char* +-ctype::scan_is(mask m, const char* low, const char* high) const { +- return find_if(low, high, _Ctype_is_mask(m, this->table())); +-} +- +-const char* +-ctype::scan_not(mask m, const char* low, const char* high) const { +- return find_if(low, high, not1(_Ctype_is_mask(m, this->table()))); +-} +- +-const char* ctype::do_toupper(char* low, const char* high) const { +- for ( ; low < high; ++low) +- *low = (char) _S_upper[(unsigned char) *low]; +- return high; +-} +- +-const char* ctype::do_tolower(char* low, const char* high) const { +- for ( ; low < high; ++low) +- *low = (char) _S_lower[(unsigned char) *low]; +- return high; +-} +- + // The classic table: static data members. + +-# if !defined(__STL_STATIC_CONST_INIT_BUG) && !(defined(__MRC__) || defined(__SC__)) ++# if !defined(_STLP_STATIC_CONST_INIT_BUG) && !(defined(__MRC__) || defined(__SC__)) + //*TY 02/25/2000 - added workaround for MPW compilers; they confuse on in-class static const + const size_t ctype::table_size; + # endif +@@ -98,7 +38,7 @@ + // This macro is specifically for platforms where isprint() relies + // on separate flag + +-# define PRINTFLAG mask( _Locale_PRINT & ~(_Locale_UPPER | _Locale_LOWER | _Locale_ALPHA | _Locale_DIGIT | _Locale_PUNCT | _Locale_SPACE | _Locale_XDIGIT )) ++# define PRINTFLAG ctype_base::mask( _Locale_PRINT & ~(_Locale_UPPER | _Locale_LOWER | _Locale_ALPHA | _Locale_DIGIT | _Locale_PUNCT | _Locale_SPACE | _Locale_XDIGIT )) + + // Ctype table for the ASCII character set. + // There are 257 entries in this table. The first is EOF (-1). +@@ -107,7 +47,7 @@ + const ctype_base::mask + ctype::_S_classic_table[257] = + { +- mask(0) /* EOF */, ++ ctype_base::mask(0) /* EOF */, + cntrl /* null */, + cntrl /* ^A */, + cntrl /* ^B */, +@@ -117,11 +57,11 @@ + cntrl /* ^F */, + cntrl /* ^G */, + cntrl /* ^H */, +- mask(space | cntrl) /* tab */, +- mask(space | cntrl) /* LF */, +- mask(space | cntrl) /* ^K */, +- mask(space | cntrl) /* FF */, +- mask(space | cntrl) /* ^M */, ++ ctype_base::mask(space | cntrl) /* tab */, ++ ctype_base::mask(space | cntrl) /* LF */, ++ ctype_base::mask(space | cntrl) /* ^K */, ++ ctype_base::mask(space | cntrl) /* FF */, ++ ctype_base::mask(space | cntrl) /* ^M */, + cntrl /* ^N */, + cntrl /* ^O */, + cntrl /* ^P */, +@@ -140,119 +80,119 @@ + cntrl /* ^] */, + cntrl /* ^^ */, + cntrl /* ^_ */, +- mask (space | PRINTFLAG) /* */, +- mask (punct | PRINTFLAG ) /* ! */, +- mask (punct | PRINTFLAG ) /* " */, +- mask (punct | PRINTFLAG ) /* # */, +- mask (punct | PRINTFLAG ) /* $ */, +- mask (punct | PRINTFLAG ) /* % */, +- mask (punct | PRINTFLAG ) /* & */, +- mask (punct | PRINTFLAG ) /* ' */, +- mask (punct | PRINTFLAG ) /* ( */, +- mask (punct | PRINTFLAG ) /* ) */, +- mask (punct | PRINTFLAG ) /* * */, +- mask (punct | PRINTFLAG ) /* + */, +- mask (punct | PRINTFLAG ) /* , */, +- mask (punct | PRINTFLAG ) /* - */, +- mask (punct | PRINTFLAG ) /* . */, +- mask (punct | PRINTFLAG ) /* / */, +- mask(digit | PRINTFLAG | xdigit) /* 0 */, +- mask(digit | PRINTFLAG | xdigit) /* 1 */, +- mask(digit | PRINTFLAG | xdigit) /* 2 */, +- mask(digit | PRINTFLAG | xdigit) /* 3 */, +- mask(digit | PRINTFLAG | xdigit) /* 4 */, +- mask(digit | PRINTFLAG | xdigit) /* 5 */, +- mask(digit | PRINTFLAG | xdigit) /* 6 */, +- mask(digit | PRINTFLAG | xdigit) /* 7 */, +- mask(digit | PRINTFLAG | xdigit) /* 8 */, +- mask(digit | PRINTFLAG | xdigit) /* 9 */, +- mask (punct | PRINTFLAG ) /* : */, +- mask (punct | PRINTFLAG ) /* ; */, +- mask (punct | PRINTFLAG ) /* < */, +- mask (punct | PRINTFLAG ) /* = */, +- mask (punct | PRINTFLAG ) /* > */, +- mask (punct | PRINTFLAG ) /* ? */, +- mask (punct | PRINTFLAG ) /* ! */, +- mask(alpha | PRINTFLAG | upper | xdigit) /* A */, +- mask(alpha | PRINTFLAG | upper | xdigit) /* B */, +- mask(alpha | PRINTFLAG | upper | xdigit) /* C */, +- mask(alpha | PRINTFLAG | upper | xdigit) /* D */, +- mask(alpha | PRINTFLAG | upper | xdigit) /* E */, +- mask(alpha | PRINTFLAG | upper | xdigit) /* F */, +- mask(alpha | PRINTFLAG | upper) /* G */, +- mask(alpha | PRINTFLAG | upper) /* H */, +- mask(alpha | PRINTFLAG | upper) /* I */, +- mask(alpha | PRINTFLAG | upper) /* J */, +- mask(alpha | PRINTFLAG | upper) /* K */, +- mask(alpha | PRINTFLAG | upper) /* L */, +- mask(alpha | PRINTFLAG | upper) /* M */, +- mask(alpha | PRINTFLAG | upper) /* N */, +- mask(alpha | PRINTFLAG | upper) /* O */, +- mask(alpha | PRINTFLAG | upper) /* P */, +- mask(alpha | PRINTFLAG | upper) /* Q */, +- mask(alpha | PRINTFLAG | upper) /* R */, +- mask(alpha | PRINTFLAG | upper) /* S */, +- mask(alpha | PRINTFLAG | upper) /* T */, +- mask(alpha | PRINTFLAG | upper) /* U */, +- mask(alpha | PRINTFLAG | upper) /* V */, +- mask(alpha | PRINTFLAG | upper) /* W */, +- mask(alpha | PRINTFLAG | upper) /* X */, +- mask(alpha | PRINTFLAG | upper) /* Y */, +- mask(alpha | PRINTFLAG | upper) /* Z */, +- mask (punct | PRINTFLAG ) /* [ */, +- mask (punct | PRINTFLAG ) /* \ */, +- mask (punct | PRINTFLAG ) /* ] */, +- mask (punct | PRINTFLAG ) /* ^ */, +- mask (punct | PRINTFLAG ) /* _ */, +- mask (punct | PRINTFLAG ) /* ` */, +- mask(alpha | PRINTFLAG | lower | xdigit) /* a */, +- mask(alpha | PRINTFLAG | lower | xdigit) /* b */, +- mask(alpha | PRINTFLAG | lower | xdigit) /* c */, +- mask(alpha | PRINTFLAG | lower | xdigit) /* d */, +- mask(alpha | PRINTFLAG | lower | xdigit) /* e */, +- mask(alpha | PRINTFLAG | lower | xdigit) /* f */, +- mask(alpha | PRINTFLAG | lower) /* g */, +- mask(alpha | PRINTFLAG | lower) /* h */, +- mask(alpha | PRINTFLAG | lower) /* i */, +- mask(alpha | PRINTFLAG | lower) /* j */, +- mask(alpha | PRINTFLAG | lower) /* k */, +- mask(alpha | PRINTFLAG | lower) /* l */, +- mask(alpha | PRINTFLAG | lower) /* m */, +- mask(alpha | PRINTFLAG | lower) /* n */, +- mask(alpha | PRINTFLAG | lower) /* o */, +- mask(alpha | PRINTFLAG | lower) /* p */, +- mask(alpha | PRINTFLAG | lower) /* q */, +- mask(alpha | PRINTFLAG | lower) /* r */, +- mask(alpha | PRINTFLAG | lower) /* s */, +- mask(alpha | PRINTFLAG | lower) /* t */, +- mask(alpha | PRINTFLAG | lower) /* u */, +- mask(alpha | PRINTFLAG | lower) /* v */, +- mask(alpha | PRINTFLAG | lower) /* w */, +- mask(alpha | PRINTFLAG | lower) /* x */, +- mask(alpha | PRINTFLAG | lower) /* y */, +- mask(alpha | PRINTFLAG | lower) /* x */, +- mask (punct | PRINTFLAG ) /* { */, +- mask (punct | PRINTFLAG ) /* | */, +- mask (punct | PRINTFLAG ) /* } */, +- mask (punct | PRINTFLAG ) /* ~ */, ++ ctype_base::mask (space | PRINTFLAG) /* */, ++ ctype_base::mask (punct | PRINTFLAG ) /* ! */, ++ ctype_base::mask (punct | PRINTFLAG ) /* " */, ++ ctype_base::mask (punct | PRINTFLAG ) /* # */, ++ ctype_base::mask (punct | PRINTFLAG ) /* $ */, ++ ctype_base::mask (punct | PRINTFLAG ) /* % */, ++ ctype_base::mask (punct | PRINTFLAG ) /* & */, ++ ctype_base::mask (punct | PRINTFLAG ) /* ' */, ++ ctype_base::mask (punct | PRINTFLAG ) /* ( */, ++ ctype_base::mask (punct | PRINTFLAG ) /* ) */, ++ ctype_base::mask (punct | PRINTFLAG ) /* * */, ++ ctype_base::mask (punct | PRINTFLAG ) /* + */, ++ ctype_base::mask (punct | PRINTFLAG ) /* , */, ++ ctype_base::mask (punct | PRINTFLAG ) /* - */, ++ ctype_base::mask (punct | PRINTFLAG ) /* . */, ++ ctype_base::mask (punct | PRINTFLAG ) /* / */, ++ ctype_base::mask(digit | PRINTFLAG | xdigit) /* 0 */, ++ ctype_base::mask(digit | PRINTFLAG | xdigit) /* 1 */, ++ ctype_base::mask(digit | PRINTFLAG | xdigit) /* 2 */, ++ ctype_base::mask(digit | PRINTFLAG | xdigit) /* 3 */, ++ ctype_base::mask(digit | PRINTFLAG | xdigit) /* 4 */, ++ ctype_base::mask(digit | PRINTFLAG | xdigit) /* 5 */, ++ ctype_base::mask(digit | PRINTFLAG | xdigit) /* 6 */, ++ ctype_base::mask(digit | PRINTFLAG | xdigit) /* 7 */, ++ ctype_base::mask(digit | PRINTFLAG | xdigit) /* 8 */, ++ ctype_base::mask(digit | PRINTFLAG | xdigit) /* 9 */, ++ ctype_base::mask (punct | PRINTFLAG ) /* : */, ++ ctype_base::mask (punct | PRINTFLAG ) /* ; */, ++ ctype_base::mask (punct | PRINTFLAG ) /* < */, ++ ctype_base::mask (punct | PRINTFLAG ) /* = */, ++ ctype_base::mask (punct | PRINTFLAG ) /* > */, ++ ctype_base::mask (punct | PRINTFLAG ) /* ? */, ++ ctype_base::mask (punct | PRINTFLAG ) /* ! */, ++ ctype_base::mask(alpha | PRINTFLAG | upper | xdigit) /* A */, ++ ctype_base::mask(alpha | PRINTFLAG | upper | xdigit) /* B */, ++ ctype_base::mask(alpha | PRINTFLAG | upper | xdigit) /* C */, ++ ctype_base::mask(alpha | PRINTFLAG | upper | xdigit) /* D */, ++ ctype_base::mask(alpha | PRINTFLAG | upper | xdigit) /* E */, ++ ctype_base::mask(alpha | PRINTFLAG | upper | xdigit) /* F */, ++ ctype_base::mask(alpha | PRINTFLAG | upper) /* G */, ++ ctype_base::mask(alpha | PRINTFLAG | upper) /* H */, ++ ctype_base::mask(alpha | PRINTFLAG | upper) /* I */, ++ ctype_base::mask(alpha | PRINTFLAG | upper) /* J */, ++ ctype_base::mask(alpha | PRINTFLAG | upper) /* K */, ++ ctype_base::mask(alpha | PRINTFLAG | upper) /* L */, ++ ctype_base::mask(alpha | PRINTFLAG | upper) /* M */, ++ ctype_base::mask(alpha | PRINTFLAG | upper) /* N */, ++ ctype_base::mask(alpha | PRINTFLAG | upper) /* O */, ++ ctype_base::mask(alpha | PRINTFLAG | upper) /* P */, ++ ctype_base::mask(alpha | PRINTFLAG | upper) /* Q */, ++ ctype_base::mask(alpha | PRINTFLAG | upper) /* R */, ++ ctype_base::mask(alpha | PRINTFLAG | upper) /* S */, ++ ctype_base::mask(alpha | PRINTFLAG | upper) /* T */, ++ ctype_base::mask(alpha | PRINTFLAG | upper) /* U */, ++ ctype_base::mask(alpha | PRINTFLAG | upper) /* V */, ++ ctype_base::mask(alpha | PRINTFLAG | upper) /* W */, ++ ctype_base::mask(alpha | PRINTFLAG | upper) /* X */, ++ ctype_base::mask(alpha | PRINTFLAG | upper) /* Y */, ++ ctype_base::mask(alpha | PRINTFLAG | upper) /* Z */, ++ ctype_base::mask (punct | PRINTFLAG ) /* [ */, ++ ctype_base::mask (punct | PRINTFLAG ) /* \ */, ++ ctype_base::mask (punct | PRINTFLAG ) /* ] */, ++ ctype_base::mask (punct | PRINTFLAG ) /* ^ */, ++ ctype_base::mask (punct | PRINTFLAG ) /* _ */, ++ ctype_base::mask (punct | PRINTFLAG ) /* ` */, ++ ctype_base::mask(alpha | PRINTFLAG | lower | xdigit) /* a */, ++ ctype_base::mask(alpha | PRINTFLAG | lower | xdigit) /* b */, ++ ctype_base::mask(alpha | PRINTFLAG | lower | xdigit) /* c */, ++ ctype_base::mask(alpha | PRINTFLAG | lower | xdigit) /* d */, ++ ctype_base::mask(alpha | PRINTFLAG | lower | xdigit) /* e */, ++ ctype_base::mask(alpha | PRINTFLAG | lower | xdigit) /* f */, ++ ctype_base::mask(alpha | PRINTFLAG | lower) /* g */, ++ ctype_base::mask(alpha | PRINTFLAG | lower) /* h */, ++ ctype_base::mask(alpha | PRINTFLAG | lower) /* i */, ++ ctype_base::mask(alpha | PRINTFLAG | lower) /* j */, ++ ctype_base::mask(alpha | PRINTFLAG | lower) /* k */, ++ ctype_base::mask(alpha | PRINTFLAG | lower) /* l */, ++ ctype_base::mask(alpha | PRINTFLAG | lower) /* m */, ++ ctype_base::mask(alpha | PRINTFLAG | lower) /* n */, ++ ctype_base::mask(alpha | PRINTFLAG | lower) /* o */, ++ ctype_base::mask(alpha | PRINTFLAG | lower) /* p */, ++ ctype_base::mask(alpha | PRINTFLAG | lower) /* q */, ++ ctype_base::mask(alpha | PRINTFLAG | lower) /* r */, ++ ctype_base::mask(alpha | PRINTFLAG | lower) /* s */, ++ ctype_base::mask(alpha | PRINTFLAG | lower) /* t */, ++ ctype_base::mask(alpha | PRINTFLAG | lower) /* u */, ++ ctype_base::mask(alpha | PRINTFLAG | lower) /* v */, ++ ctype_base::mask(alpha | PRINTFLAG | lower) /* w */, ++ ctype_base::mask(alpha | PRINTFLAG | lower) /* x */, ++ ctype_base::mask(alpha | PRINTFLAG | lower) /* y */, ++ ctype_base::mask(alpha | PRINTFLAG | lower) /* x */, ++ ctype_base::mask (punct | PRINTFLAG ) /* { */, ++ ctype_base::mask (punct | PRINTFLAG ) /* | */, ++ ctype_base::mask (punct | PRINTFLAG ) /* } */, ++ ctype_base::mask (punct | PRINTFLAG ) /* ~ */, + cntrl /* del (0x7f)*/, + /* ASCII is a 7-bit code, so everything else is non-ASCII */ +-mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), +-mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), +-mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), +-mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), +-mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), +-mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), +-mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), +-mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), +-mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), +-mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), +-mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), +-mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), +-mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), +-mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), +-mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), +-mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0) ++ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ++ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ++ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ++ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ++ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ++ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ++ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ++ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ++ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ++ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ++ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ++ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ++ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ++ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ++ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ++ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0) + }; + + // For every c in the range 0 <= c < 256, _S_upper[c] is the +@@ -332,7 +272,217 @@ + 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff + }; + +-__STL_END_NAMESPACE ++ ++// Some helper functions used in ctype<>::scan_is and scan_is_not. ++ ++struct _Ctype_is_mask { ++ typedef char argument_type; ++ typedef bool result_type; ++ ++ ctype_base::mask _Mask; ++ const ctype_base::mask* _M_table; ++ ++ _Ctype_is_mask(ctype_base::mask __m, const ctype_base::mask* __t) : _Mask(__m), _M_table(__t) {} ++ bool operator()(char __c) const { return (_M_table[(unsigned char) __c] & _Mask) != 0; } ++}; ++ ++struct _Ctype_not_mask { ++ typedef char argument_type; ++ typedef bool result_type; ++ ++ ctype_base::mask _Mask; ++ const ctype_base::mask* _M_table; ++ ++ _Ctype_not_mask(ctype_base::mask __m, const ctype_base::mask* __t) : _Mask(__m), _M_table(__t) {} ++ bool operator()(char __c) const { return (_M_table[(unsigned char) __c] & _Mask) == 0; } ++}; ++ ++ctype::ctype(const ctype_base::mask * __tab, bool __del, size_t __refs) : ++ _BaseFacet(__refs) /* , _M_ctype_table(0) */ { ++ _M_ctype_table = __tab ? __tab : classic_table(); ++ _M_delete = __tab && __del; ++} ++ ++ctype::~ctype() { ++ if (_M_delete) ++ delete[] __CONST_CAST(ctype_base::mask *, _M_ctype_table); ++} ++ ++const char* ++ctype::scan_is(ctype_base::mask __m, const char* __low, const char* __high) const { ++ return _STLP_STD::find_if(__low, __high, _Ctype_is_mask(__m, _M_ctype_table)); ++} ++ ++const char* ++ctype::scan_not(ctype_base::mask __m, const char* __low, const char* __high) const { ++ return _STLP_STD::find_if(__low, __high, _Ctype_not_mask(__m, _M_ctype_table)); ++} ++ ++char ++ctype::do_toupper(char __c) const ++{ return (char) _S_upper[(unsigned char) __c]; } ++char ++ctype::do_tolower(char __c) const ++{ return (char) _S_lower[(unsigned char) __c]; } ++const char* ++ctype::do_toupper(char* __low, const char* __high) const { ++ for ( ; __low < __high; ++__low) ++ *__low = (char) _S_upper[(unsigned char) *__low]; ++ return __high; ++} ++ ++const char* ++ctype::do_tolower(char* __low, const char* __high) const { ++ for ( ; __low < __high; ++__low) ++ *__low = (char) _S_lower[(unsigned char) *__low]; ++ return __high; ++} ++ ++char ++ctype::do_widen(char __c) const { return __c; } ++ ++const char* ++ctype::do_widen(const char* __low, const char* __high, ++ char* __to) const { ++ __copy_trivial(__low, __high, __to); ++ return __high; ++} ++char ++ctype::do_narrow(char __c, char /* dfault */ ) const { return __c; } ++const char* ++ctype::do_narrow(const char* __low, const char* __high, ++ char /* dfault */, char* __to) const { ++ __copy_trivial(__low, __high, __to); ++ return __high; ++} ++ ++ ++# ifndef _STLP_NO_WCHAR_T ++ ++ struct _Ctype_w_is_mask { ++ typedef wchar_t argument_type; ++ typedef bool result_type; ++ ++ ctype_base::mask M; ++ const ctype_base::mask* table; ++ ++ _Ctype_w_is_mask(ctype_base::mask m, const ctype_base::mask* t) ++ : M(m), table(t) {} ++ bool operator()(wchar_t c) const ++ { return c >= 0 && size_t(c) < ctype::table_size && (table[c] & M); } ++ }; ++ ++ ++//---------------------------------------------------------------------- ++// ctype ++ ++ctype::~ctype() {} ++ ++ ++bool ctype::do_is(ctype_base::mask m, wchar_t c) const ++{ ++ const ctype_base::mask * table = ctype::classic_table(); ++ return c >= 0 && size_t(c) < ctype::table_size && (m & table[c]); ++} ++ ++const wchar_t* ctype::do_is(const wchar_t* low, const wchar_t* high, ++ ctype_base::mask * vec) const ++{ ++ // boris : not clear if this is the right thing to do... ++ const ctype_base::mask * table = ctype::classic_table(); ++ for ( ; low < high; ++low, ++vec) { ++ wchar_t c = *low; ++ *vec = c >= 0 && size_t(c) < ctype::table_size ? table[c] : ctype_base::mask (0); ++ } ++ return high; ++} ++ ++const wchar_t* ++ctype::do_scan_is(ctype_base::mask m, ++ const wchar_t* low, const wchar_t* high) const ++{ ++ return find_if(low, high, _Ctype_w_is_mask(m, ctype::classic_table())); ++} ++ ++ ++const wchar_t* ++ctype::do_scan_not(ctype_base::mask m, ++ const wchar_t* low, const wchar_t* high) const ++{ ++ return find_if(low, high, not1(_Ctype_w_is_mask(m, ctype::classic_table()))); ++} ++ ++wchar_t ctype::do_toupper(wchar_t c) const ++{ ++ return c >= 0 && size_t(c) < ctype::table_size ++ ? (wchar_t) ctype::_S_upper[c] ++ : c; ++} ++ ++const wchar_t* ++ctype::do_toupper(wchar_t* low, const wchar_t* high) const ++{ ++ for ( ; low < high; ++low) { ++ wchar_t c = *low; ++ *low = c >= 0 && size_t(c) < ctype::table_size ++ ? (wchar_t) ctype::_S_upper[c] ++ : c; ++ } ++ return high; ++} ++ ++wchar_t ctype::do_tolower(wchar_t c) const ++{ ++ return c >= 0 && size_t(c) < ctype::table_size ++ ? (wchar_t) ctype::_S_lower[c] ++ : c; ++} ++ ++const wchar_t* ++ctype::do_tolower(wchar_t* low, const wchar_t* high) const ++{ ++ for ( ; low < high; ++low) { ++ wchar_t c = *low; ++ *low = c >= 0 && size_t(c) < ctype::table_size ++ ? (wchar_t) ctype::_S_lower[c] ++ : c; ++ } ++ return high; ++} ++ ++wchar_t ctype::do_widen(char c) const ++{ ++ return (wchar_t) c; ++} ++ ++const char* ++ctype::do_widen(const char* low, const char* high, ++ wchar_t* dest) const ++{ ++ while (low != high) ++ *dest++ = (wchar_t) *low++; ++ return high; ++} ++ ++char ctype::do_narrow(wchar_t c, char dfault) const ++{ ++ return (char) c == c ? c : dfault; ++} ++ ++const wchar_t* ctype::do_narrow(const wchar_t* low, ++ const wchar_t* high, ++ char dfault, char* dest) const ++{ ++ while (low != high) { ++ wchar_t c = *low++; ++ *dest++ = (char) c == c ? c : dfault; ++ } ++ ++ return high; ++} ++ ++# endif ++_STLP_END_NAMESPACE + + // Local Variables: + // mode:C++ +Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: ctype_byname.cpp +Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: ctype_byname_w.cpp +Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: ctype_w.cpp +Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: cygwin.mak +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/dec.mak tripwire-2.3.1-2/src/STLport-4.0/src/dec.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/dec.mak Sat Feb 24 10:44:08 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/dec.mak Sun Aug 11 18:59:22 2002 +@@ -1,8 +1,13 @@ + # ++# Note : this requires GNU make ++# ++ + # Basename for libraries + # + LIB_BASENAME = libstlport_dec + ++CUR_DIR= $(PWD)/ ++ + # point this to proper location + STL_INCL= -I. -I../stlport -I/usr/include + +@@ -13,8 +18,8 @@ + CC = cxx + CXX = cxx + +-LINK=$(CXX) +-DYN_LINK=$(CXX) ++LINK=$(CXX) -o ++DYN_LINK=$(CXX) -o + + OBJEXT=o + DYNEXT=so +@@ -27,7 +32,15 @@ + # LINK_OUT=-xar -o + # DYNLINK_OUT=-o + +-all: all_dynamic all_static ++# all: all_dynamic all_static ++# Boris : do not see a reasonable way to link static library witout instantiating in .o ++# Anyone ? ++all: msg all_dynamic symbolic_links ++ ++msg: ++ @echo "*** ATTENTION! ***" ++ @echo "This makefile requires GNU make!" ++ @echo "******************" + + include common_macros.mak + +@@ -35,37 +48,45 @@ + + MTFLAGS = -pthread + +-CXXFLAGS_COMMON = -std strict_ansi -protect_headers none -tall_repository -rtti $(MTFLAGS) ${STL_INCL} -D_PTHREADS -D__STL_LONG_LONG -D__SGI_STL_OWN_IOSTREAMS ++CXXFLAGS_COMMON = -std ansi -nousing_std -pt -rtti $(MTFLAGS) ${STL_INCL} -D_PTHREADS + + SHCXXFLAGS = -shared +-# DEBUG_FLAGS = -g ++RELEASE_FLAGS = -O + +-LIBS = ++LIBS = + +-# RELEASE_static_rep = -ptr${RELEASE_OBJDIR_static} +-# RELEASE_dynamic_rep = -ptr${RELEASE_OBJDIR_dynamic} +-# DEBUG_static_rep = -ptr${DEBUG_OBJDIR_static} +-# DEBUG_dynamic_rep = -ptr${DEBUG_OBJDIR_dynamic} +-# STLDEBUG_static_rep = -ptr${STLDEBUG_OBJDIR_static} +-# STLDEBUG_dynamic_rep = -ptr${STLDEBUG_OBJDIR_dynamic} ++RELEASE_static_rep = -ptr ${RELEASE_OBJDIR_static} ++RELEASE_dynamic_rep = -ptr ${RELEASE_OBJDIR_dynamic} ++DEBUG_static_rep = -ptr ${DEBUG_OBJDIR_static} ++DEBUG_dynamic_rep = -ptr ${DEBUG_OBJDIR_dynamic} ++STLDEBUG_static_rep = -ptr ${STLDEBUG_OBJDIR_static} ++STLDEBUG_dynamic_rep = -ptr ${STLDEBUG_OBJDIR_dynamic} + + CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) ${RELEASE_FLAGS} ${RELEASE_static_rep} + CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) ${RELEASE_FLAGS} $(SHCXXFLAGS) ${RELEASE_dynamic_rep} + +-CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -g ${DEBUG_static_rep} +-CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -g $(SHCXXFLAGS) ${DEBUG_dynamic_rep} ++CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -O -g ${DEBUG_static_rep} ++CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -O -g $(SHCXXFLAGS) ${DEBUG_dynamic_rep} + +-CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_COMMON) -g ${STLDEBUG_static_rep} -D__STL_DEBUG +-CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_COMMON) -g $(SHCXXFLAGS) ${STLDEBUG_dynamic_rep} -D__STL_DEBUG ++CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_COMMON) -O -g ${STLDEBUG_static_rep} -D_STLP_DEBUG ++CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_COMMON) -O -g $(SHCXXFLAGS) ${STLDEBUG_dynamic_rep} -D_STLP_DEBUG + + LDFLAGS_RELEASE_static = ${CXXFLAGS_RELEASE_static} + LDFLAGS_RELEASE_dynamic = ${CXXFLAGS_RELEASE_dynamic} ++LDLIBS_RELEASE_dynamic = -lm ++LDLIBS_RELEASE_static = -lm + + LDFLAGS_DEBUG_static = ${CXXFLAGS_DEBUG_static} + LDFLAGS_DEBUG_dynamic = ${CXXFLAGS_DEBUG_dynamic} ++LDLIBS_DEBUG_dynamic = -lm ++LDLIBS_DEBUG_static = -lm + + LDFLAGS_STLDEBUG_static = ${CXXFLAGS_STLDEBUG_static} + LDFLAGS_STLDEBUG_dynamic = ${CXXFLAGS_STLDEBUG_dynamic} ++LDLIBS_STLDEBUG_dynamic = -lm ++LDLIBS_STLDEBUG_static = -lm ++ ++INSTALL_STEP = install_unix + + include common_percent_rules.mak + include common_rules.mak +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/djgpp.mak tripwire-2.3.1-2/src/STLport-4.0/src/djgpp.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/djgpp.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/djgpp.mak Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,72 @@ ++ ++# ++# This is makefile for compiling with DJGPP. ++# Since DJGPP is used to create DOS protected mode, it has no ++# dynamic link library. Only static libraries are created. ++# With DJGPP, gcc is used to compile c++. It will know the ++# language being compiled automatically from file extension of ++# the source code being compiled. ++# ++# Tanes Sriviroolchai (tanes73@yahoo.com) ++# Jan 4, 2001 ++# ++ ++# ++# compiler ++# ++CC = gcc ++CXX = gcc ++ ++# ++# Basename for libraries ++# ++LIB_BASENAME = libstlport_djgpp ++ ++# ++# guts for common stuff ++# ++# ++LINK=ar crv ++ ++OBJEXT=o ++STEXT=a ++RM=rm -rf ++PATH_SEP=/ ++MKDIR=mkdir -p ++COMP=DJGPP ++ ++STATIC_SUFFIX=_static ++ ++all: all_static ++ ++include common_macros.mak ++ ++RESFILE=$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)stlport.o ++RESFILE_debug=$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)stlport.o ++RESFILE_stldebug=$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)stlport.o ++ ++WARNING_FLAGS= -W -Wno-sign-compare -Wno-unused -Wno-uninitialized ++ ++CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} -ftemplate-depth-32 -mbnu210 ++ ++CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O2 ++ ++CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -O -g ++ ++CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG ++ ++LDFLAGS_RELEASE_static = ++ ++LDFLAGS_DEBUG_static = ++ ++LDFLAGS_STLDEBUG_static = ++ ++ ++include common_percent_rules.mak ++include common_rules.mak ++ ++ ++#%.s: %.cpp ++# $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ ++ ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/dll_main.cpp tripwire-2.3.1-2/src/STLport-4.0/src/dll_main.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/dll_main.cpp Sat Feb 24 10:44:08 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/dll_main.cpp Sun Aug 11 18:59:22 2002 +@@ -1,42 +1,207 @@ ++ /* ++ * ++ * Copyright (c) 1994 ++ * Hewlett-Packard Company ++ * ++ * Copyright (c) 1996,1997 ++ * Silicon Graphics Computer Systems, Inc. ++ * ++ * Copyright (c) 1997 ++ * Moscow Center for SPARC Technology ++ * ++ * Copyright (c) 1999 ++ * Boris Fomitchev ++ * ++ * This material is provided "as is", with absolutely no warranty expressed ++ * or implied. Any use is at your own risk. ++ * ++ * Permission to use or copy this software for any purpose is hereby granted ++ * without fee, provided the above notices are retained on all copies. ++ * Permission to modify the code and to distribute modified code is granted, ++ * provided the above notices are retained, and a notice that the code was ++ * modified is included with the above copyright notice. ++ * ++ */ ++ ++# define __PUT_STATIC_DATA_MEMBERS_HERE ++# define _STLP_EXPOSE_GLOBALS_IMPLEMENTATION + + # include "stlport_prefix.h" + ++# if !defined(_STLP_DEBUG) && ! defined (_STLP_ASSERTIONS) ++# define _STLP_ASSERTIONS 1 ++# endif ++ + #include ++ ++#include + #include + #include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++# if ( _STLP_STATIC_TEMPLATE_DATA < 1 ) ++// for rope, locale static members ++# include ++# include ++# endif ++ ++# if defined (_STLP_UNIX) ++# define _STLP_HAS_PERTHREAD_ALLOCATOR ++# include ++# endif ++ ++// boris : this piece of code duplicated from _range_errors.h ++#undef _STLP_THROW_MSG ++#if defined(_STLP_THROW_RANGE_ERRORS) ++# ifndef _STLP_STDEXCEPT ++# include ++# endif ++# ifndef _STLP_STRING ++# include ++# endif ++# define _STLP_THROW_MSG(ex,msg) throw ex(string(msg)) ++#else ++# if defined (_STLP_WINCE) ++# define _STLP_THROW_MSG(ex,msg) TerminateProcess(GetCurrentProcess(), 0) ++# else ++# include ++# include ++# define _STLP_THROW_MSG(ex,msg) puts(msg),_STLP_ABORT() ++# endif ++#endif ++ ++#ifdef _STLP_MSVC ++#pragma optimize("g",off) ++#endif ++ ++_STLP_BEGIN_NAMESPACE ++ ++void _STLP_DECLSPEC _STLP_CALL __stl_throw_range_error(const char* __msg) { ++ _STLP_THROW_MSG(range_error, __msg); ++} ++ ++void _STLP_DECLSPEC _STLP_CALL __stl_throw_out_of_range(const char* __msg) { ++ _STLP_THROW_MSG(out_of_range, __msg); ++} ++ ++void _STLP_DECLSPEC _STLP_CALL __stl_throw_length_error(const char* __msg) { ++ _STLP_THROW_MSG(length_error, __msg); ++} ++ ++void _STLP_DECLSPEC _STLP_CALL __stl_throw_invalid_argument(const char* __msg) { ++ _STLP_THROW_MSG(invalid_argument, __msg); ++} ++ ++void _STLP_DECLSPEC _STLP_CALL __stl_throw_overflow_error(const char* __msg) { ++ _STLP_THROW_MSG(overflow_error, __msg); ++} ++ ++_STLP_DECLSPEC const char* _STLP_CALL ++__get_c_string(const string& __str) { ++ return __str.c_str(); ++} ++ ++ ++# if defined (_STLP_NO_EXCEPTION_HEADER) || defined(_STLP_BROKEN_EXCEPTION_CLASS) ++exception::exception() _STLP_NOTHROW {} ++exception::~exception() _STLP_NOTHROW {} ++bad_exception::bad_exception() _STLP_NOTHROW {} ++bad_exception::~bad_exception() _STLP_NOTHROW {} ++const char* exception::what() const _STLP_NOTHROW {return "class exception";} ++const char* bad_exception::what() const _STLP_NOTHROW {return "class bad_exception";} ++# endif ++ ++# ifdef _STLP_OWN_STDEXCEPT ++__Named_exception::__Named_exception(const string& __str) { ++ strncpy(_M_name, __get_c_string(__str), _S_bufsize); ++ _M_name[_S_bufsize - 1] = '\0'; ++} + +-__STL_BEGIN_NAMESPACE ++const char* __Named_exception::what() const _STLP_NOTHROW_INHERENTLY { return _M_name; } ++ ++// boris : those are needed to force typeinfo nodes to be created in here only ++__Named_exception::~__Named_exception() _STLP_NOTHROW_INHERENTLY {} ++ ++logic_error::~logic_error() _STLP_NOTHROW_INHERENTLY {} ++runtime_error::~runtime_error() _STLP_NOTHROW_INHERENTLY {} ++domain_error::~domain_error() _STLP_NOTHROW_INHERENTLY {} ++invalid_argument::~invalid_argument() _STLP_NOTHROW_INHERENTLY {} ++length_error::~length_error() _STLP_NOTHROW_INHERENTLY {} ++out_of_range::~out_of_range() _STLP_NOTHROW_INHERENTLY {} ++range_error::~range_error() _STLP_NOTHROW_INHERENTLY {} ++overflow_error::~overflow_error() _STLP_NOTHROW_INHERENTLY {} ++underflow_error::~underflow_error() _STLP_NOTHROW_INHERENTLY {} ++ ++# endif ++ ++# ifdef _STLP_NO_BAD_ALLOC ++const nothrow_t nothrow /* = {} */; ++# endif + +-#if !defined(__STL_NO_FORCE_INSTANTIATE) ++# ifndef _STLP_NO_FORCE_INSTANTIATE + +-# ifdef __STL_DEBUG +-template struct __STL_CLASS_DECLSPEC __stl_debug_engine; ++# if defined (_STLP_DEBUG) || defined (_STLP_ASSERTIONS) ++template struct _STLP_CLASS_DECLSPEC __stl_debug_engine; + # endif + +-template class __STL_CLASS_DECLSPEC __node_alloc; +-template class __STL_CLASS_DECLSPEC __node_alloc; +-template class __STL_CLASS_DECLSPEC __debug_alloc<_Node_alloc>; ++template class _STLP_CLASS_DECLSPEC __node_alloc; ++template class _STLP_CLASS_DECLSPEC __node_alloc; ++template class _STLP_CLASS_DECLSPEC __debug_alloc< __node_alloc >; ++template class _STLP_CLASS_DECLSPEC __debug_alloc< __node_alloc >; ++template class _STLP_CLASS_DECLSPEC __debug_alloc<__new_alloc>; ++#ifdef _STLP_HAS_PERTHREAD_ALLOCATOR ++template class _STLP_CLASS_DECLSPEC _Pthread_alloc<_MAX_BYTES>; ++template class _STLP_CLASS_DECLSPEC __debug_alloc<__pthread_alloc>; ++#endif ++template class _STLP_CLASS_DECLSPEC __malloc_alloc<0>; + +-template class __STL_CLASS_DECLSPEC __debug_alloc<__new_alloc>; ++# if defined (_STLP_THREADS) && ! defined ( _STLP_ATOMIC_EXCHANGE ) && (defined(_STLP_PTHREADS) || defined (_STLP_UITHREADS) || defined (_STLP_OS2THREADS)) ++template class _STLP_CLASS_DECLSPEC _Swap_lock_struct<0>; ++# endif + + template class allocator; +-template class _STL_alloc_proxy >; ++template class _STLP_alloc_proxy >; + template class _Vector_base >; +-# if defined (__STL_DEBUG) ++# if defined (_STLP_DEBUG) && ! defined (__SUNPRO_CC) + template class __WORKAROUND_DBG_RENAME(vector) >; + # endif + template class __vector__ >; + ++template class _Rb_global; ++template class _List_global; ++template class _Sl_global; ++template class _Stl_prime; ++template class _LimG; ++template class _Bs_G; ++ ++template class _STLP_CLASS_DECLSPEC allocator; ++template class _STLP_CLASS_DECLSPEC _STLP_alloc_proxy >; ++template class _STLP_CLASS_DECLSPEC _String_base >; ++ ++# if defined (_STLP_DEBUG) && ! defined (__SUNPRO_CC) ++template class _STLP_CLASS_DECLSPEC _Nondebug_string, allocator >; + # endif + +-__STL_END_NAMESPACE ++template class basic_string, allocator >; ++# endif + ++_STLP_END_NAMESPACE + +-# if defined (_WIN32) && defined (__STL_USE_DECLSPEC) ++# if defined (_WIN32) && defined (_STLP_USE_DECLSPEC) && ! defined (_STLP_USE_STATIC_LIB) && ! defined (_STLP_USE_STATICX_LIB) + // stlportmt.cpp : Defines the entry point for the DLL application. + // + #define WIN32_LEAN_AND_MEAN +-#include "windows.h" ++#include ++ ++extern "C" { ++ + BOOL APIENTRY DllMain( HANDLE hModule, + DWORD ul_reason_for_call, + LPVOID lpReserved +@@ -45,6 +210,7 @@ + switch (ul_reason_for_call) + { + case DLL_PROCESS_ATTACH: ++ DisableThreadLibraryCalls((HINSTANCE)hModule); + case DLL_THREAD_ATTACH: + case DLL_THREAD_DETACH: + case DLL_PROCESS_DETACH: +@@ -52,4 +218,38 @@ + } + return TRUE; + } ++ ++} /* extern "C" */ ++ ++_STLP_BEGIN_NAMESPACE ++ ++void force_link() ++{ ++ float f; ++ f = numeric_limits::infinity(); ++ f = numeric_limits::quiet_NaN(); ++ f = numeric_limits::signaling_NaN(); ++ double d; ++ d = numeric_limits::infinity(); ++ d = numeric_limits::quiet_NaN(); ++ d = numeric_limits::signaling_NaN(); ++#ifndef _STLP_NO_LONG_DOUBLE ++ long double ld; ++ ld = numeric_limits::infinity(); ++ ld = numeric_limits::quiet_NaN(); ++ ld = numeric_limits::signaling_NaN(); ++#endif ++ ++ set::iterator iter; ++ // _M_increment; _M_decrement instantiation ++ ++iter; ++ --iter; ++ ++ // force bitset globals to be instantiated ++ unsigned char uc = _Bs_G::_S_bit_count[0]; ++ uc += _Bs_G::_S_first_one[0]; ++} ++ ++_STLP_END_NAMESPACE ++ + # endif +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/facets_byname.cpp tripwire-2.3.1-2/src/STLport-4.0/src/facets_byname.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/facets_byname.cpp Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/facets_byname.cpp Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,1167 @@ ++/* ++ * Copyright (c) 1999 ++ * Silicon Graphics Computer Systems, Inc. ++ * ++ * Copyright (c) 1999 ++ * Boris Fomitchev ++ * ++ * This material is provided "as is", with absolutely no warranty expressed ++ * or implied. Any use is at your own risk. ++ * ++ * Permission to use or copy this software for any purpose is hereby granted ++ * without fee, provided the above notices are retained on all copies. ++ * Permission to modify the code and to distribute modified code is granted, ++ * provided the above notices are retained, and a notice that the code was ++ * modified is included with the above copyright notice. ++ * ++ */ ++# include "stlport_prefix.h" ++ ++#include ++#include "locale_impl.h" ++#include "c_locale.h" ++ ++#include "locale_nonclassic.h" ++ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include ++// #include ++#include ++#include "c_locale.h" ++ ++_STLP_BEGIN_NAMESPACE ++ ++_Locale_ctype* __acquire_ctype(const char* name); ++void __release_ctype(_Locale_ctype* cat); ++ ++ ++//---------------------------------------------------------------------- ++// ctype_byname ++ ++ctype_byname::ctype_byname(const char* name, size_t refs) ++ : ctype(_M_byname_table+1, false, refs), ++ _M_ctype(__acquire_ctype(name)) ++{ ++ ++ if (!_M_ctype) ++ locale::_M_throw_runtime_error(); ++ ++ // We have to do this, instead of just pointer twiddling, because ++ // ctype_base::mask isn't the same type as _Locale_mask_t. ++ ++ _Locale_mask_t* p = _Locale_ctype_table(_M_ctype); ++ ++ if (!p) ++ locale::_M_throw_runtime_error(); ++ ++ for (size_t i = 0; i < table_size + 1; ++i) { ++ _Locale_mask_t __m = p[i]; ++ if (__m & (upper | lower)) ++ __m |= alpha; ++ _M_byname_table[i] = ctype_base::mask(__m); ++ } ++} ++ ++ctype_byname::~ctype_byname() ++{ ++ __release_ctype(_M_ctype); ++} ++ ++char ctype_byname::do_toupper(char c) const ++{ ++ return _Locale_toupper(_M_ctype, c); ++} ++ ++char ctype_byname::do_tolower(char c) const ++{ ++ return _Locale_tolower(_M_ctype, c); ++} ++ ++const char* ++ctype_byname::do_toupper(char* first, const char* last) const ++{ ++ for ( ; first != last ; ++first) ++ *first = _Locale_toupper(_M_ctype, *first); ++ return last; ++} ++ ++const char* ++ctype_byname::do_tolower(char* first, const char* last) const ++{ ++ for ( ; first != last ; ++first) ++ *first = _Locale_tolower(_M_ctype, *first); ++ return last; ++} ++ ++ ++// Some helper functions used in ctype<>::scan_is and scan_is_not. ++ ++# ifndef _STLP_NO_WCHAR_T ++ ++// ctype_byname ++ ++ struct _Ctype_byname_w_is_mask { ++ typedef wchar_t argument_type; ++ typedef bool result_type; ++ ++ /* ctype_base::mask*/ int M; ++ _Locale_ctype* M_ctp; ++ ++ _Ctype_byname_w_is_mask(/* ctype_base::mask */ int m, _Locale_ctype* c) : M((int)m), M_ctp(c) {} ++ bool operator()(wchar_t c) const ++ { return (M & _Locale_wchar_ctype(M_ctp, c)) != 0; } ++ }; ++ ++ctype_byname::ctype_byname(const char* name, size_t refs) ++ : ctype(refs), ++ _M_ctype(__acquire_ctype(name)) ++{ ++ if (!_M_ctype) ++ locale::_M_throw_runtime_error(); ++} ++ ++ctype_byname::~ctype_byname() ++{ ++ __release_ctype(_M_ctype); ++} ++ ++bool ctype_byname::do_is(ctype_base::mask m, wchar_t c) const ++{ ++ return (m & _Locale_wchar_ctype(_M_ctype, c)) != 0; ++} ++ ++const wchar_t* ++ctype_byname::do_is(const wchar_t* low, const wchar_t* high, ++ ctype_base::mask * m) const ++{ ++ for ( ; low < high; ++low, ++m) ++ *m = ctype_base::mask (_Locale_wchar_ctype(_M_ctype, *low)); ++ return high; ++} ++ ++ ++const wchar_t* ++ctype_byname ++ ::do_scan_is(ctype_base::mask m, const wchar_t* low, const wchar_t* high) const ++{ ++ return find_if(low, high, _Ctype_byname_w_is_mask(m, _M_ctype)); ++} ++ ++const wchar_t* ++ctype_byname ++ ::do_scan_not(ctype_base::mask m, const wchar_t* low, const wchar_t* high) const ++{ ++ return find_if(low, high, not1(_Ctype_byname_w_is_mask(m, _M_ctype))); ++} ++ ++wchar_t ctype_byname::do_toupper(wchar_t c) const ++{ ++ return _Locale_wchar_toupper(_M_ctype, c); ++} ++ ++const wchar_t* ++ctype_byname::do_toupper(wchar_t* low, const wchar_t* high) const ++{ ++ for ( ; low < high; ++low) ++ *low = _Locale_wchar_toupper(_M_ctype, *low); ++ return high; ++} ++ ++wchar_t ctype_byname::do_tolower(wchar_t c) const ++{ ++ return _Locale_wchar_tolower(_M_ctype, c); ++} ++ ++const wchar_t* ++ctype_byname::do_tolower(wchar_t* low, const wchar_t* high) const ++{ ++ for ( ; low < high; ++low) ++ *low = _Locale_wchar_tolower(_M_ctype, *low); ++ return high; ++} ++ ++# endif /* WCHAR_T */ ++ ++_STLP_END_NAMESPACE ++ ++ ++// # include "collate_byname.cpp" ++ ++#include "stl/_collate.h" ++#include "c_locale.h" ++#include ++ ++_STLP_BEGIN_NAMESPACE ++ ++// collate_byname ++_Locale_collate* __acquire_collate(const char* name); ++void __release_collate(_Locale_collate* cat); ++ ++collate_byname::collate_byname(const char* name, size_t refs) ++ : collate(refs), ++ _M_collate(__acquire_collate(name)) ++{ ++ if (!_M_collate) ++ locale::_M_throw_runtime_error(); ++} ++ ++collate_byname::~collate_byname() ++{ ++ __release_collate(_M_collate); ++} ++ ++int collate_byname::do_compare(const char* __low1, ++ const char* __high1, ++ const char* __low2, ++ const char* __high2) const { ++ return _Locale_strcmp(_M_collate, ++ __low1, __high1 - __low1, ++ __low2, __high2 - __low2); ++} ++ ++collate_byname::string_type ++collate_byname::do_transform(const char* low, const char* high) const { ++ size_t n = _Locale_strxfrm(_M_collate, ++ NULL, 0, ++ low, high - low); ++ ++ __vector__ > buf(n); ++ _Locale_strxfrm(_M_collate, &buf.front(), n, ++ low, high - low); ++ ++ char& __c1 = *(buf.begin()); ++ char& __c2 = (n == (size_t)-1) ? *(buf.begin() + (high-low-1)) : *(buf.begin() + n); ++ // char& __c2 = *(buf.begin() + n); ++ return string_type( &__c1, &__c2 ); ++} ++ ++ ++# ifndef _STLP_NO_WCHAR_T ++ ++// collate_byname ++ ++collate_byname::collate_byname(const char* name, size_t refs) ++ : collate(refs), ++ _M_collate(__acquire_collate(name)) ++{ ++ if (!_M_collate) ++ locale::_M_throw_runtime_error(); ++} ++ ++collate_byname::~collate_byname() ++{ ++ __release_collate(_M_collate); ++} ++ ++int collate_byname::do_compare(const wchar_t* low1, ++ const wchar_t* high1, ++ const wchar_t* low2, ++ const wchar_t* high2) const ++{ ++ return _Locale_strwcmp(_M_collate, ++ low1, high1 - low1, ++ low2, high2 - low2); ++} ++ ++collate_byname::string_type ++collate_byname ++ ::do_transform(const wchar_t* low, const wchar_t* high) const ++{ ++ size_t n = _Locale_strwxfrm(_M_collate, ++ NULL, 0, ++ low, high - low); ++ ++ __vector__ > buf(high - low); ++ _Locale_strwxfrm(_M_collate, &buf.front(), n, ++ low, high - low); ++ wchar_t& __c1 = *(buf.begin()); ++ wchar_t& __c2 = (n == (size_t)-1) ? *(buf.begin() + (high-low-1)) : *(buf.begin() + n); ++ // wchar_t& __c2 = *(buf.begin() + n); ++ return string_type( &__c1, &__c2 ); ++} ++ ++# endif /* _STLP_NO_WCHAR_T */ ++ ++_STLP_END_NAMESPACE ++ ++# ifndef _STLP_NO_MBSTATE_T ++ ++#include ++#include ++#include "c_locale.h" ++ ++_STLP_BEGIN_NAMESPACE ++ ++ ++//---------------------------------------------------------------------- ++// codecvt_byname ++ ++codecvt_byname ++ ::codecvt_byname(const char* /* name */, size_t refs) ++ : codecvt(refs) ++{} ++ ++codecvt_byname::~codecvt_byname() {} ++ ++ ++# ifndef _STLP_NO_WCHAR_T ++ ++//---------------------------------------------------------------------- ++// codecvt_byname ++ ++_Locale_ctype* __acquire_ctype(const char* name); ++void __release_ctype(_Locale_ctype* cat); ++ ++codecvt_byname ++ ::codecvt_byname(const char* name, size_t refs) ++ : codecvt(refs), ++ _M_ctype(__acquire_ctype(name)) ++{ ++ if (!_M_ctype) ++ locale::_M_throw_runtime_error(); ++} ++ ++codecvt_byname::~codecvt_byname() ++{ ++ __release_ctype(_M_ctype); ++} ++ ++codecvt::result ++codecvt_byname ++ ::do_out(state_type& state, ++ const wchar_t* from, ++ const wchar_t* from_end, ++ const wchar_t*& from_next, ++ char* to, ++ char* to_limit, ++ char*& to_next) const ++{ ++ while (from != from_end) { ++ size_t chars_stored = _Locale_wctomb(_M_ctype, ++ to, to_limit - to, *from, ++ &state); ++ if (chars_stored == (size_t) -1) { ++ from_next = from; ++ to_next = to; ++ return error; ++ } ++ ++ else if (chars_stored == (size_t) -2) { ++ from_next = from; ++ to_next = to; ++ return partial; ++ } ++ ++ ++from; ++ to += chars_stored; ++ } ++ ++ from_next = from; ++ to_next = to; ++ return ok; ++} ++ ++codecvt::result ++codecvt_byname ++ ::do_in(state_type& state, ++ const extern_type* from, ++ const extern_type* from_end, ++ const extern_type*& from_next, ++ intern_type* to, ++ intern_type* , ++ intern_type*& to_next) const ++{ ++ while (from != from_end) { ++ size_t chars_read = _Locale_mbtowc(_M_ctype, ++ to, from, from_end - from, ++ &state); ++ if (chars_read == (size_t) -1) { ++ from_next = from; ++ to_next = to; ++ return error; ++ } ++ ++ if (chars_read == (size_t) -2) { ++ from_next = from; ++ to_next = to; ++ return partial; ++ } ++ ++ from += chars_read; ++ to++; ++ } ++ ++ from_next = from; ++ to_next = to; ++ return ok; ++} ++ ++codecvt::result ++codecvt_byname ++ ::do_unshift(state_type& state, ++ extern_type* to, ++ extern_type* to_limit, ++ extern_type*& to_next) const ++{ ++ to_next = to; ++ size_t result = _Locale_unshift(_M_ctype, &state, ++ to, to_limit - to, &to_next); ++ if (result == (size_t) -1) ++ return error; ++ else if (result == (size_t) -2) ++ return partial; ++ else ++#ifdef __ISCPP__ ++ return /*to_next == to ? noconv :*/ ok; ++#else ++ return to_next == to ? noconv : ok; ++#endif ++} ++ ++int ++codecvt_byname::do_encoding() const _STLP_NOTHROW ++{ ++ if (_Locale_is_stateless(_M_ctype)) { ++ int max_width = _Locale_mb_cur_max(_M_ctype); ++ int min_width = _Locale_mb_cur_min(_M_ctype); ++ return min_width == max_width ? min_width : 0; ++ } ++ else ++ return -1; ++} ++ ++ ++bool codecvt_byname ++ ::do_always_noconv() const _STLP_NOTHROW ++{ ++ return false; ++} ++ ++int ++codecvt_byname::do_length( ++ const state_type&, ++ const extern_type* from, const extern_type* end, ++ size_t mx) const ++{ ++ return (int)(min) ((size_t) (end - from), mx); ++} ++ ++int ++codecvt_byname::do_max_length() const _STLP_NOTHROW ++{ ++ return _Locale_mb_cur_max(_M_ctype); ++} ++# endif /* WCHAR_T */ ++ ++_STLP_END_NAMESPACE ++ ++# endif /* MBSTATE_T */ ++ ++#include "locale_impl.h" ++# include ++ ++_STLP_BEGIN_NAMESPACE ++ ++_Locale_numeric* _STLP_CALL __acquire_numeric(const char* name); ++void _STLP_CALL __release_numeric(_Locale_numeric* cat); ++ ++// numpunct_byname ++ ++numpunct_byname::numpunct_byname(const char* name, size_t refs) ++ : numpunct(refs), ++ _M_numeric(__acquire_numeric(name)) ++{ ++ if (!_M_numeric) ++ locale::_M_throw_runtime_error(); ++ ++ _M_truename = _Locale_true(_M_numeric); ++ _M_falsename = _Locale_false(_M_numeric); ++} ++ ++numpunct_byname::~numpunct_byname() ++{ ++ __release_numeric(_M_numeric); ++} ++ ++char numpunct_byname::do_decimal_point() const { ++ return _Locale_decimal_point(_M_numeric); ++} ++ ++char numpunct_byname::do_thousands_sep() const { ++ return _Locale_thousands_sep(_M_numeric); ++} ++ ++string numpunct_byname::do_grouping() const { ++ const char * __grouping = _Locale_grouping(_M_numeric); ++ if (__grouping != NULL && __grouping[0] == CHAR_MAX) ++ __grouping = ""; ++ return __grouping; ++} ++ ++//---------------------------------------------------------------------- ++// numpunct ++ ++# ifndef _STLP_NO_WCHAR_T ++ ++// numpunct_byname ++ ++numpunct_byname::numpunct_byname(const char* name, size_t refs) ++ : numpunct(refs), ++ _M_numeric(__acquire_numeric(name)) ++{ ++ if (!_M_numeric) ++ locale::_M_throw_runtime_error(); ++ ++ const char* truename = _Locale_true(_M_numeric); ++ const char* falsename = _Locale_false(_M_numeric); ++ _M_truename.resize(strlen(truename)); ++ _M_falsename.resize(strlen(falsename)); ++ copy(truename, truename + strlen(truename), _M_truename.begin()); ++ copy(falsename, falsename + strlen(falsename), _M_falsename.begin()); ++} ++ ++numpunct_byname::~numpunct_byname() ++{ ++ __release_numeric(_M_numeric); ++} ++ ++wchar_t numpunct_byname::do_decimal_point() const { ++ return (wchar_t) _Locale_decimal_point(_M_numeric); ++} ++ ++wchar_t numpunct_byname::do_thousands_sep() const { ++ return (wchar_t) _Locale_thousands_sep(_M_numeric); ++} ++ ++string numpunct_byname::do_grouping() const { ++ const char * __grouping = _Locale_grouping(_M_numeric); ++ if (__grouping != NULL && __grouping[0] == CHAR_MAX) ++ __grouping = ""; ++ return __grouping; ++} ++ ++# endif ++ ++_STLP_END_NAMESPACE ++ ++#include ++// #include ++// #include ++#include "c_locale.h" ++ ++ ++_STLP_BEGIN_NAMESPACE ++ ++static void _Init_monetary_formats(money_base::pattern& pos_format, ++ money_base::pattern& neg_format, ++ _Locale_monetary * monetary) { ++ switch (_Locale_p_sign_posn(monetary)) { ++ case 0: case 1: ++ pos_format.field[0] = (char) money_base::sign; ++ if (_Locale_p_cs_precedes(monetary)) { ++ pos_format.field[1] = (char) money_base::symbol; ++ if (_Locale_p_sep_by_space(monetary)) { ++ pos_format.field[2] = (char) money_base::space; ++ pos_format.field[3] = (char) money_base::value; ++ } ++ else { ++ pos_format.field[2] = (char) money_base::value; ++ pos_format.field[3] = (char) money_base::none; ++ } ++ } ++ else { ++ pos_format.field[2] = (char) money_base::value; ++ if (_Locale_p_sep_by_space(monetary)) { ++ pos_format.field[2] = (char) money_base::space; ++ pos_format.field[3] = (char) money_base::symbol; ++ } ++ else { ++ pos_format.field[2] = (char) money_base::symbol; ++ pos_format.field[3] = (char) money_base::none; ++ } ++ } ++ break; ++ case 2: ++ if (_Locale_p_cs_precedes(monetary)) { ++ pos_format.field[0] = (char) money_base::symbol; ++ if (_Locale_p_sep_by_space(monetary)) { ++ pos_format.field[1] = (char) money_base::space; ++ pos_format.field[2] = (char) money_base::value; ++ pos_format.field[3] = (char) money_base::sign; ++ } ++ else { ++ pos_format.field[1] = (char) money_base::value; ++ pos_format.field[2] = (char) money_base::sign; ++ pos_format.field[3] = (char) money_base::none; ++ } ++ } ++ else { ++ pos_format.field[1] = (char) money_base::value; ++ if (_Locale_p_sep_by_space(monetary)) { ++ pos_format.field[1] = (char) money_base::space; ++ pos_format.field[2] = (char) money_base::symbol; ++ pos_format.field[3] = (char) money_base::sign; ++ } ++ else { ++ pos_format.field[1] = (char) money_base::symbol; ++ pos_format.field[2] = (char) money_base::sign; ++ pos_format.field[3] = (char) money_base::none; ++ } ++ } ++ break; ++ case 3: ++ if (_Locale_p_cs_precedes(monetary)) { ++ pos_format.field[0] = (char) money_base::sign; ++ pos_format.field[1] = (char) money_base::symbol; ++ if (_Locale_p_sep_by_space(monetary)) { ++ pos_format.field[2] = (char) money_base::space; ++ pos_format.field[3] = (char) money_base::value; ++ } ++ else { ++ pos_format.field[2] = (char) money_base::value; ++ pos_format.field[3] = (char) money_base::none; ++ } ++ } ++ else { ++ pos_format.field[0] = (char) money_base::value; ++ pos_format.field[1] = (char) money_base::sign; ++ pos_format.field[2] = (char) money_base::symbol; ++ pos_format.field[3] = (char) money_base::none; ++ } ++ break; ++ case 4: default: ++ if (_Locale_p_cs_precedes(monetary)) { ++ pos_format.field[0] = (char) money_base::symbol; ++ pos_format.field[1] = (char) money_base::sign; ++ pos_format.field[2] = (char) money_base::value; ++ pos_format.field[3] = (char) money_base::none; ++ } ++ else { ++ pos_format.field[0] = (char) money_base::value; ++ if (_Locale_p_sep_by_space(monetary)) { ++ pos_format.field[1] = (char) money_base::space; ++ pos_format.field[2] = (char) money_base::symbol; ++ pos_format.field[3] = (char) money_base::sign; ++ } ++ else { ++ pos_format.field[1] = (char) money_base::symbol; ++ pos_format.field[2] = (char) money_base::sign; ++ pos_format.field[3] = (char) money_base::none; ++ } ++ } ++ break; ++ } ++ ++ switch (_Locale_n_sign_posn(monetary)) { ++ case 0: case 1: ++ neg_format.field[0] = (char) money_base::sign; ++ if (_Locale_n_cs_precedes(monetary)) { ++ neg_format.field[1] = (char) money_base::symbol; ++ if (_Locale_n_sep_by_space(monetary)) { ++ neg_format.field[2] = (char) money_base::space; ++ neg_format.field[3] = (char) money_base::value; ++ } ++ else { ++ neg_format.field[2] = (char) money_base::value; ++ neg_format.field[3] = (char) money_base::none; ++ } ++ } ++ else { ++ neg_format.field[2] = (char) money_base::value; ++ if (_Locale_n_sep_by_space(monetary)) { ++ neg_format.field[2] = (char) money_base::space; ++ neg_format.field[3] = (char) money_base::symbol; ++ } ++ else { ++ neg_format.field[2] = (char) money_base::symbol; ++ neg_format.field[3] = (char) money_base::none; ++ } ++ } ++ break; ++ case 2: ++ if (_Locale_n_cs_precedes(monetary)) { ++ neg_format.field[0] = (char) money_base::symbol; ++ if (_Locale_n_sep_by_space(monetary)) { ++ neg_format.field[1] = (char) money_base::space; ++ neg_format.field[2] = (char) money_base::value; ++ neg_format.field[3] = (char) money_base::sign; ++ } ++ else { ++ neg_format.field[1] = (char) money_base::value; ++ neg_format.field[2] = (char) money_base::sign; ++ neg_format.field[3] = (char) money_base::none; ++ } ++ } ++ else { ++ neg_format.field[1] = (char) money_base::value; ++ if (_Locale_n_sep_by_space(monetary)) { ++ neg_format.field[1] = (char) money_base::space; ++ neg_format.field[2] = (char) money_base::symbol; ++ neg_format.field[3] = (char) money_base::sign; ++ } ++ else { ++ neg_format.field[1] = (char) money_base::symbol; ++ neg_format.field[2] = (char) money_base::sign; ++ neg_format.field[3] = (char) money_base::none; ++ } ++ } ++ break; ++ case 3: ++ if (_Locale_n_cs_precedes(monetary)) { ++ neg_format.field[0] = (char) money_base::sign; ++ neg_format.field[1] = (char) money_base::symbol; ++ if (_Locale_n_sep_by_space(monetary)) { ++ neg_format.field[2] = (char) money_base::space; ++ neg_format.field[3] = (char) money_base::value; ++ } ++ else { ++ neg_format.field[2] = (char) money_base::value; ++ neg_format.field[3] = (char) money_base::none; ++ } ++ } ++ else { ++ neg_format.field[0] = (char) money_base::value; ++ neg_format.field[1] = (char) money_base::sign; ++ neg_format.field[2] = (char) money_base::symbol; ++ neg_format.field[3] = (char) money_base::none; ++ } ++ break; ++ case 4: default: ++ if (_Locale_n_cs_precedes(monetary)) { ++ neg_format.field[0] = (char) money_base::symbol; ++ neg_format.field[1] = (char) money_base::sign; ++ neg_format.field[2] = (char) money_base::value; ++ neg_format.field[3] = (char) money_base::none; ++ } ++ else { ++ neg_format.field[0] = (char) money_base::value; ++ if (_Locale_n_sep_by_space(monetary)) { ++ neg_format.field[1] = (char) money_base::space; ++ neg_format.field[2] = (char) money_base::symbol; ++ neg_format.field[3] = (char) money_base::sign; ++ } ++ else { ++ neg_format.field[1] = (char) money_base::symbol; ++ neg_format.field[2] = (char) money_base::sign; ++ neg_format.field[3] = (char) money_base::none; ++ } ++ } ++ break; ++ } ++} ++ ++ ++// ++// moneypunct_byname<> ++// ++ ++_Locale_monetary* __acquire_monetary(const char* name); ++void __release_monetary(_Locale_monetary* mon); ++ ++moneypunct_byname::moneypunct_byname(const char * name, ++ size_t refs): ++ moneypunct(refs), ++ _M_monetary(__acquire_monetary(name)) ++{ ++ if (!_M_monetary) ++ locale::_M_throw_runtime_error(); ++ _Init_monetary_formats(_M_pos_format, _M_neg_format, _M_monetary); ++} ++ ++moneypunct_byname::~moneypunct_byname() ++{ ++ __release_monetary(_M_monetary); ++} ++ ++char moneypunct_byname::do_decimal_point() const ++ {return _Locale_mon_decimal_point(_M_monetary);} ++ ++char moneypunct_byname::do_thousands_sep() const ++ {return _Locale_mon_thousands_sep(_M_monetary);} ++ ++string moneypunct_byname::do_grouping() const ++ {return _Locale_mon_grouping(_M_monetary);} ++ ++string moneypunct_byname::do_curr_symbol() const ++ {return _Locale_int_curr_symbol(_M_monetary);} ++ ++string moneypunct_byname::do_positive_sign() const ++ {return _Locale_positive_sign(_M_monetary);} ++ ++string moneypunct_byname::do_negative_sign() const ++ {return _Locale_negative_sign(_M_monetary);} ++ ++int moneypunct_byname::do_frac_digits() const ++ {return _Locale_int_frac_digits(_M_monetary);} ++ ++moneypunct_byname::moneypunct_byname(const char * name, ++ size_t refs): ++ moneypunct(refs), ++ _M_monetary(__acquire_monetary(name)) ++{ ++ if (!_M_monetary) ++ locale::_M_throw_runtime_error(); ++ _Init_monetary_formats(_M_pos_format, _M_neg_format, _M_monetary); ++} ++ ++moneypunct_byname::~moneypunct_byname() ++{ ++ __release_monetary(_M_monetary); ++} ++ ++char moneypunct_byname::do_decimal_point() const ++ {return _Locale_mon_decimal_point(_M_monetary);} ++ ++char moneypunct_byname::do_thousands_sep() const ++ {return _Locale_mon_thousands_sep(_M_monetary);} ++ ++string moneypunct_byname::do_grouping() const ++ {return _Locale_mon_grouping(_M_monetary);} ++ ++string moneypunct_byname::do_curr_symbol() const ++ {return _Locale_currency_symbol(_M_monetary);} ++ ++string moneypunct_byname::do_positive_sign() const ++ {return _Locale_positive_sign(_M_monetary);} ++ ++string moneypunct_byname::do_negative_sign() const ++ {return _Locale_negative_sign(_M_monetary);} ++ ++int moneypunct_byname::do_frac_digits() const ++ {return _Locale_frac_digits(_M_monetary);} ++ ++// ++// moneypunct_byname ++// ++# ifndef _STLP_NO_WCHAR_T ++ ++moneypunct_byname::moneypunct_byname(const char * name, ++ size_t refs): ++ moneypunct(refs), ++ _M_monetary(__acquire_monetary(name)) ++{ ++ if (!_M_monetary) ++ locale::_M_throw_runtime_error(); ++ _Init_monetary_formats(_M_pos_format, _M_neg_format, _M_monetary); ++} ++ ++moneypunct_byname::~moneypunct_byname() ++{ ++ __release_monetary(_M_monetary); ++} ++ ++wchar_t moneypunct_byname::do_decimal_point() const ++ {return _Locale_mon_decimal_point(_M_monetary);} ++ ++wchar_t moneypunct_byname::do_thousands_sep() const ++ {return _Locale_mon_thousands_sep(_M_monetary);} ++ ++string moneypunct_byname::do_grouping() const ++ {return _Locale_mon_grouping(_M_monetary);} ++ ++wstring moneypunct_byname::do_curr_symbol() const ++{ ++ string str = _Locale_int_curr_symbol(_M_monetary); ++# if defined (_STLP_NO_MEMBER_TEMPLATES) || defined (_STLP_MSVC) || defined(__MRC__) || defined(__SC__) //*ty 05/26/2001 - added workaround for mpw ++ wstring result(wstring::_Reserve_t(), str.size()); ++ copy(str.begin(), str.end(), result.begin()); ++# else ++ wstring result(str.begin(), str.end()); ++# endif ++ return result; ++} ++ ++wstring moneypunct_byname::do_positive_sign() const ++{ ++ string str = _Locale_positive_sign(_M_monetary); ++# if defined (_STLP_NO_MEMBER_TEMPLATES) || defined (_STLP_MSVC) || defined(__MRC__) || defined(__SC__) //*ty 05/26/2001 - added workaround for mpw ++ wstring result(wstring::_Reserve_t(), str.size()); ++ copy(str.begin(), str.end(), result.begin()); ++# else ++ wstring result(str.begin(), str.end()); ++# endif ++ return result; ++} ++ ++ ++wstring moneypunct_byname::do_negative_sign() const ++{ ++ string str = _Locale_negative_sign(_M_monetary); ++# if defined (_STLP_NO_MEMBER_TEMPLATES) || defined (_STLP_MSVC) || defined(__MRC__) || defined(__SC__) //*ty 05/26/2001 - added workaround for mpw ++ wstring result(wstring::_Reserve_t(), str.size()); ++ copy(str.begin(), str.end(), result.begin()); ++# else ++ wstring result(str.begin(), str.end()); ++# endif ++ return result; ++} ++ ++int moneypunct_byname::do_frac_digits() const ++ {return _Locale_int_frac_digits(_M_monetary);} ++ ++moneypunct_byname::moneypunct_byname(const char * name, ++ size_t refs): ++ moneypunct(refs), ++ _M_monetary(__acquire_monetary(name)) ++{ ++ if (!_M_monetary) ++ locale::_M_throw_runtime_error() ; ++ _Init_monetary_formats(_M_pos_format, _M_neg_format, _M_monetary); ++} ++ ++moneypunct_byname::~moneypunct_byname() ++{ ++ __release_monetary(_M_monetary); ++} ++ ++wchar_t moneypunct_byname::do_decimal_point() const ++ {return _Locale_mon_decimal_point(_M_monetary);} ++ ++wchar_t moneypunct_byname::do_thousands_sep() const ++ {return _Locale_mon_thousands_sep(_M_monetary);} ++ ++string moneypunct_byname::do_grouping() const ++ {return _Locale_mon_grouping(_M_monetary);} ++ ++wstring moneypunct_byname::do_curr_symbol() const ++{ ++ string str = _Locale_currency_symbol(_M_monetary); ++# if defined (_STLP_NO_MEMBER_TEMPLATES) || defined (_STLP_MSVC) || defined(__MRC__) || defined(__SC__) //*ty 05/26/2001 - added workaround for mpw ++ wstring result(wstring::_Reserve_t(), str.size()); ++ copy(str.begin(), str.end(), result.begin()); ++# else ++ wstring result(str.begin(), str.end()); ++# endif ++ return result; ++} ++ ++wstring moneypunct_byname::do_positive_sign() const ++{ ++ string str = _Locale_positive_sign(_M_monetary); ++# if defined (_STLP_NO_MEMBER_TEMPLATES) || defined (_STLP_MSVC) || defined(__MRC__) || defined(__SC__) //*ty 05/26/2001 - added workaround for mpw ++ wstring result(wstring::_Reserve_t(), str.size()); ++ copy(str.begin(), str.end(), result.begin()); ++# else ++ wstring result(str.begin(), str.end()); ++# endif ++ return result; ++} ++ ++wstring moneypunct_byname::do_negative_sign() const ++{ ++ string str = _Locale_negative_sign(_M_monetary); ++# if defined (_STLP_NO_MEMBER_TEMPLATES) || defined (_STLP_MSVC) || defined(__MRC__) || defined(__SC__) //*ty 05/26/2001 - added workaround for mpw ++ wstring result(wstring::_Reserve_t(), str.size()); ++ copy(str.begin(), str.end(), result.begin()); ++# else ++ wstring result(str.begin(), str.end()); ++# endif ++ return result; ++} ++ ++int moneypunct_byname::do_frac_digits() const ++ {return _Locale_frac_digits(_M_monetary);} ++ ++# endif ++ ++_STLP_END_NAMESPACE ++ ++#include ++#include "message_facets.h" ++#include ++ ++_STLP_BEGIN_NAMESPACE ++ ++void _Catalog_locale_map::insert(int key, const locale& L) ++{ ++# ifdef _STLP_NO_WCHAR_T ++ typedef char _Char; ++# else ++ typedef wchar_t _Char; ++# endif ++#if !defined(_STLP_NO_TYPEINFO) ++ // Don't bother to do anything unless we're using a non-default ctype facet ++ _STLP_TRY { ++ typedef ctype<_Char> wctype; ++ wctype& wct = (wctype &)use_facet(L); ++ wctype* zz; ++ if (typeid(&wct) != typeid(zz)) { ++ if (!M) ++ M = new hash_map, equal_to >; ++ ++#if defined(__SC__) ++ if (!M) delete M; ++#endif ++ if (M->find(key) == M->end()) ++ M->insert(pair(key, L)); ++ } ++ } ++ _STLP_CATCH_ALL {} ++# endif /* _STLP_NO_TYPEINFO */ ++} ++ ++void _Catalog_locale_map::erase(int key) ++{ ++ if (M) ++ M->erase(key); ++} ++ ++locale _Catalog_locale_map::lookup(int key) const ++{ ++ if (M) { ++ hash_map, equal_to >::iterator i = M->find(key); ++ return i != M->end() ? (*i).second : locale::classic(); ++ } ++ else ++ return locale::classic(); ++} ++ ++ ++//---------------------------------------------------------------------- ++// ++// ++ ++_Messages_impl::_Messages_impl(bool is_wide) : ++ _M_message_obj(0), _M_map(0) ++{ ++ _M_delete = true; ++ if (is_wide) ++ _M_map = new _Catalog_locale_map; ++ _M_message_obj = __acquire_messages("C"); ++} ++ ++_Messages_impl::_Messages_impl(bool is_wide, _Locale_messages* msg_obj ) : ++ _M_message_obj(msg_obj), _M_map(0) ++{ ++ _M_delete = true; ++ if (is_wide) ++ _M_map = new _Catalog_locale_map; ++} ++ ++_Messages_impl::~_Messages_impl() ++{ ++ __release_messages(_M_message_obj); ++ if (_M_map) delete _M_map; ++} ++ ++int _Messages_impl::do_open(const string& filename, const locale& L) const ++{ ++ int result = _M_message_obj ++ ? _Locale_catopen(_M_message_obj, filename.c_str()) ++ : -1; ++ ++ if (result >= 0 && _M_map != 0) ++ _M_map->insert(result, L); ++ ++ return result; ++} ++ ++string _Messages_impl::do_get(catalog cat, ++ int set, int p_id, const string& dfault) const ++{ ++ return _M_message_obj != 0 && cat >= 0 ++ ? string(_Locale_catgets(_M_message_obj, cat, set, p_id, dfault.c_str())) ++ : dfault; ++} ++ ++# ifndef _STLP_NO_WCHAR_T ++ ++wstring ++_Messages_impl::do_get(catalog thecat, ++ int set, int p_id, const wstring& dfault) const ++{ ++ typedef ctype wctype; ++ const wctype& ct = use_facet(_M_map->lookup(thecat)); ++ ++ const char* str = _Locale_catgets(_M_message_obj, thecat, set, p_id, ""); ++ ++ // Verify that the lookup failed; an empty string might represent success. ++ if (!str) ++ return dfault; ++ else if (str[0] == '\0') { ++ const char* str2 = _Locale_catgets(_M_message_obj, thecat, set, p_id, "*"); ++ if (!str2 || strcmp(str2, "*") == 0) ++ return dfault; ++ } ++ ++ // str is correct. Now we must widen it to get a wstring. ++ size_t n = strlen(str); ++ ++ // NOT PORTABLE. What we're doing relies on internal details of the ++ // string implementation. (Contiguity of string elements.) ++ wstring result(n, wchar_t(0)); ++ ct.widen(str, str + n, &*result.begin()); ++ return result; ++} ++ ++# endif ++ ++void _Messages_impl::do_close(catalog thecat) const ++{ ++ if (_M_message_obj) ++ _Locale_catclose(_M_message_obj, thecat); ++ if (_M_map) _M_map->erase(thecat); ++} ++ ++ ++//---------------------------------------------------------------------- ++// messages ++ ++messages::messages(size_t refs) : ++ _BaseFacet(refs), _M_impl(new _Messages_impl(false)) ++{} ++ ++messages::messages(size_t refs, _Locale_messages* msg_obj) : _BaseFacet(refs), ++ _M_impl(new _Messages_impl(false, msg_obj)) ++{} ++ ++ ++//---------------------------------------------------------------------- ++// messages_byname ++ ++messages_byname::messages_byname(const char* name, size_t refs) ++ : messages(refs, name ? __acquire_messages(name) : 0) ++{} ++ ++messages_byname::~messages_byname() ++{} ++ ++# ifndef _STLP_NO_WCHAR_T ++ ++//---------------------------------------------------------------------- ++// messages ++ ++messages::messages(size_t refs) : ++ _BaseFacet(refs), _M_impl(new _Messages_impl(true)) ++{} ++ ++messages::messages(size_t refs, _Locale_messages* msg_obj) ++ : _BaseFacet(refs), ++ _M_impl(new _Messages_impl(true, msg_obj)) ++{} ++ ++//---------------------------------------------------------------------- ++// messages_byname ++ ++ ++messages_byname::messages_byname(const char* name, size_t refs) ++ : messages(refs, name ? __acquire_messages(name) : 0) ++{} ++ ++messages_byname::~messages_byname() ++{} ++ ++# endif ++ ++_STLP_END_NAMESPACE ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/fstream.cpp tripwire-2.3.1-2/src/STLport-4.0/src/fstream.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/fstream.cpp Sat Feb 24 10:44:09 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/fstream.cpp Fri Feb 14 16:26:12 2003 +@@ -1,1054 +1,1134 @@ +-/* +- * Copyright (c) 1999 +- * Silicon Graphics Computer Systems, Inc. +- * +- * Copyright (c) 1999 +- * Boris Fomitchev +- * +- * This material is provided "as is", with absolutely no warranty expressed +- * or implied. Any use is at your own risk. +- * +- * Permission to use or copy this software for any purpose is hereby granted +- * without fee, provided the above notices are retained on all copies. +- * Permission to modify the code and to distribute modified code is granted, +- * provided the above notices are retained, and a notice that the code was +- * modified is included with the above copyright notice. +- * +- */ +- +-# include "stlport_prefix.h" +- +-#include +- +-#ifdef __CYGWIN__ +-# define __int64 long long +-#endif +- +-#if defined (__STL_USE_UNIX_IO) +-// open/close/read/write +-# include // For stat +-# include // For mmap +-# include +-# include +-#elif defined (__STL_USE_WIN32_IO) +-# define WIN32_LEAN_AND_MEAN +-# include +-# ifdef __BORLANDC__ +-# if (__BORLANDC__ > 0x530) +-# include // For _O_RDONLY, etc +-# else +-# include // For _O_RDONLY, etc +-# endif +-# include // For _fstat +-# else +-# include // For _get_osfhandle +-# include // For _O_RDONLY, etc +-# include // For _fstat +-# endif +-# define _TEXTBUF_SIZE 0x1000 +-#elif defined (__STL_USE_UNIX_EMULATION_IO) +-# if defined( __MSL__ ) +-# include +-# else +-# include +-# endif +-# include +-# include +-#elif defined (__STL_USE_STDIO_IO) +-# include +-# if !(defined(__MRC__)||defined(__SC__)) //*TY 02/25/2000 - MPW does not come with +-# include +-# endif //*TY 02/25/2000 - +-# if defined( __MSL__ ) +-# include +-# endif +-#else +-#error "Configure i/o !" +-#endif +- +-// map permission masks +-#if defined (__STL_USE_UNIX_EMULATION_IO) || defined (__STL_USE_STDIO_IO) +-# ifndef S_IRUSR +-# define S_IRUSR _S_IREAD +-# define S_IWUSR _S_IWRITE +-# define S_IRGRP _S_IREAD +-# define S_IWGRP _S_IWRITE +-# define S_IROTH _S_IREAD +-# define S_IWOTH _S_IWRITE +-# endif +-# ifndef O_RDONLY +-# define O_RDONLY _O_RDONLY +-# define O_WRONLY _O_WRONLY +-# define O_RDWR _O_RDWR +-# define O_APPEND _O_APPEND +-# define O_CREAT _O_CREAT +-# define O_TRUNC _O_TRUNC +-# define O_TEXT _O_TEXT +-# define O_BINARY _O_BINARY +-# endif +- +-# ifdef __MSL__ +-# define _O_TEXT 0x0 +-# if !defined( O_TEXT ) +-# define O_TEXT _O_TEXT +-# endif +-# define _S_IFREG S_IFREG +-# define S_IREAD S_IRUSR +-# define S_IWRITE S_IWUSR +-# define S_IEXEC S_IXUSR +-# define _S_IWRITE S_IWRITE +-# define _S_IREAD S_IREAD +-# define _open open +-# define _lseek lseek +-# define _close close +-# define _read read +-# define _write write +-# endif +- +-#endif +- +-#ifndef O_ACCMODE +-# define O_ACCMODE (O_RDONLY|O_WRONLY|O_RDWR) +-#endif +- +-#include "fstream_impl.h" +- +-# ifdef __STL_LONG_LONG +-# define ULL(x) ((unsigned long long)x) +-# elif defined (_MSC_VER) || defined (__BORLANDC__) +-# define ULL(x) ((__int64)x) +-# elif defined(__MRC__) || defined(__SC__) //*TY 02/25/2000 - added support for MPW compilers +-# include +-# define ULL(x) (U64SetU(x)) +-# else +-# error "there should be some long long type on the system!" +-# endif +- +-__SGI_BEGIN_NAMESPACE +- +-#if !defined(__MSL__) && !defined(__MRC__) && !defined(__SC__) //*TY 04/15/2000 - exclude mpw compilers also +-ios_base::openmode flag_to_openmode(int mode) +-{ +- ios_base::openmode ret; +- +- switch(mode & O_ACCMODE) { +- +- case O_RDONLY: +- ret = ios_base::in; break; +- +- case O_WRONLY: +- ret = ios_base::out; break; +- +- case O_RDWR: +- ret = ios_base::in | ios_base::out; break; +- +- } +- +- if (mode & O_APPEND) +- ret |= ios_base::app; +- +-# ifdef __STL_USE_WIN32_IO +- if (mode & O_BINARY) +- ret |= ios_base::binary; +-# endif // _MSC_VER +- +- return ret; +- +-} +-# endif /* MSL */ +- +-// Helper functions for _Filebuf_base. +- +-bool __is_regular_file(_STL_fd fd) { +- +-#if defined (__STL_UNIX) +- +- struct stat buf; +- return fstat(fd, &buf) == 0 && S_ISREG(buf.st_mode); +- +-#elif defined(__MRC__) || defined(__SC__) //*TY 02/25/2000 - added support for MPW compilers +- +- #pragma unused(fd) +- return true; // each file is a regular file under mac os, isn't it? (we don't have fstat()) +- +-#elif defined(__STL_USE_UNIX_EMULATION_IO) || defined (__STL_USE_STDIO_IO) +- +- struct stat buf; +- return fstat(fd, &buf) == 0 && (buf.st_mode & _S_IFREG) != 0 ; +- +-# elif defined (__STL_USE_WIN32_IO) +- +- return (GetFileType(fd) & ~FILE_TYPE_REMOTE) == FILE_TYPE_DISK; +- +-#else +- (void)fd; // dwa 4/27/00 - suppress unused parameter warning +- return false; +- +-#endif +-} +- +-// Number of characters in the file. +-streamoff __file_size(_STL_fd fd) { +- streamoff ret = 0; +- +-#if defined (__STL_UNIX) +- +- struct stat buf; +- if(fstat(fd, &buf) == 0 && S_ISREG(buf.st_mode)) +- ret = buf.st_size > 0 ? buf.st_size : 0; +- +-#elif defined(__MRC__) || defined(__SC__) //*TY 02/25/2000 - added support for MPW compilers +- +- #pragma unused(fd) +- +-#elif defined(__STL_USE_UNIX_EMULATION_IO) || defined (__STL_USE_STDIO_IO) +- +- struct stat buf; +- if(fstat(fd, &buf) == 0 && (buf.st_mode & _S_IFREG) != 0) +- ret = buf.st_size > 0 ? buf.st_size : 0; +- +-# elif defined (__STL_USE_WIN32_IO) +- +- DWORD FileSizeHigh; +- DWORD FileSize = GetFileSize(fd, &FileSizeHigh); +- // may use 64-bit +- ret = (((__int64)FileSizeHigh) << 32) | (__int64)FileSize; +- +-# else +- (void)fd; // dwa 4/27/00 - suppress unused parameter warning +-# endif +- +- return ret; +- +-} +- +- +-// Visual C++ and Intel use this, but not Metrowerks +-#if !defined(__MSL__) && defined ( _MSC_VER ) && defined (_WIN32) +- +-// fcntl(fileno, F_GETFL) for Microsoft library +-// 'semi-documented' defines: +-#define IOINFO_L2E 5 +-#define IOINFO_ARRAY_ELTS (1 << IOINFO_L2E) +-#define _pioinfo(i) ( __pioinfo[(i) >> IOINFO_L2E] + \ +- ((i) & (IOINFO_ARRAY_ELTS - 1)) ) +-#define FAPPEND 0x20 // O_APPEND flag +-#define FTEXT 0x80 // O_TEXT flag +-// end of 'semi-documented' defines +- +-// fbp : empirical +-#define F_WRITABLE 0x04 +- +-// 'semi-documented' internal structure +-extern "C" { +- struct ioinfo { +- long osfhnd; // the real os HANDLE +- char osfile; // file handle flags +- char pipech; // pipe buffer +-# ifdef _MT +- // multi-threaded locking +- int lockinitflag; +- CRITICAL_SECTION lock; +-# endif /* _MT */ +- }; +- extern _CRTIMP ioinfo * __pioinfo[]; +-} // extern "C" +-// end of 'semi-documented' declarations +- +-ios_base::openmode _get_osfflags(int fd, HANDLE oshandle) { +- char dosflags = 0; +- +- dosflags = _pioinfo(fd)->osfile; +- // end of 'semi-documented' stuff +- int mode = 0; +- +- if (dosflags & FAPPEND) +- mode |= O_APPEND; +- if (dosflags & FTEXT) +- mode |= O_TEXT; +- else +- mode |= O_BINARY; +- +- // we have to guess +-# ifdef __macintosh +- DWORD dummy, dummy2; +- if (WriteFile(oshandle, &dummy2, 0, &dummy, 0)) +- mode |= O_RDWR; +- else +- mode |= O_RDONLY; +-# else +- // on Windows, this seems to work... +- if (dosflags & F_WRITABLE) +- mode |= O_RDWR; +- else +- mode |= O_RDONLY; +-# endif +- +- return flag_to_openmode(mode); +-} +- +-#endif // _MSC_VER +- +-__SGI_END_NAMESPACE +- +-// All version of Unix have mmap and lseek system calls. Some also have +-// longer versions of thos system calls to accommodate 64-bit offsets. +-// If we're on a Unix system, define some macros to encapsulate those +-// differences. +-#ifdef __STL_USE_UNIX_IO +-# ifdef __sgi /* IRIX */ +-# define LSEEK lseek64 +-# define MMAP mmap64 +-# else +-# define LSEEK lseek +-# define MMAP mmap +-# endif +- +-#ifndef MAP_FAILED /* MMAP failure return code */ +-# define MAP_FAILED -1 +-#endif +- +-#elif defined (__STL_USE_UNIX_EMULATION_IO) +-# define LSEEK _lseek +-#endif +- +- +-__STL_BEGIN_NAMESPACE +- +-size_t +-_Filebuf_base::_M_page_size = 4096; +- +-_Filebuf_base::_Filebuf_base() +- : _M_file_id((_STL_fd)-1), +- _M_openmode(0), +- _M_is_open(false), +- _M_should_close(false) +-{ +- if (!_M_page_size) +-#if defined (__STL_UNIX) +- _M_page_size = sysconf(_SC_PAGESIZE); +-# elif defined (__STL_USE_WIN32_IO) +- { +- SYSTEM_INFO SystemInfo; +- GetSystemInfo(&SystemInfo); +- _M_page_size = SystemInfo.dwPageSize; +- // might be .dwAllocationGranularity +- } +- // _M_CRLF_trans_buf = 0, +- // _M_trans_buf_end=0, +- _M_view_id = 0; +-#endif +- +- if (_M_page_size <=0 ) +- _M_page_size = 4096; +- +-} +- +- +-// Return the size of the file. This is a wrapper for stat. +-// Returns zero if the size cannot be determined or is ill-defined. +-streamoff +-_Filebuf_base::_M_file_size() +-{ +- return SGI::__file_size(_M_file_id); +-} +- +-bool _Filebuf_base::_M_open(const char* name, ios_base::openmode openmode, +- long permission) +-{ +- _STL_fd file_no; +- +- if (_M_is_open) +- return false; +- +-#if defined (__STL_USE_UNIX_IO) || defined (__STL_USE_UNIX_EMULATION_IO) +- +- int flags = 0; +- +- // Unix makes no distinction between text and binary files. +- switch(openmode & (~ios_base::ate & ~ios_base::binary)) { +- case ios_base::out: +- case ios_base::out | ios_base::trunc: +- flags = O_WRONLY | O_CREAT | O_TRUNC; +- break; +- case ios_base::out | ios_base::app: +- flags = O_WRONLY | O_CREAT | O_APPEND; +- break; +- case ios_base::in: +- flags = O_RDONLY; +- permission = 0; // Irrelevant unless we're writing. +- break; +- case ios_base::in | ios_base::out: +- flags = O_RDWR; +- break; +- case ios_base::in | ios_base::out | ios_base::trunc: +- flags = O_RDWR | O_CREAT | O_TRUNC; +- break; +- default: // The above are the only combinations of +- return false; // flags allowed by the C++ standard. +- } +- +-# if defined (__STL_USE_UNIX_EMULATION_IO) +- +- if (openmode & ios_base::binary) +- flags |= O_BINARY; +- else +- flags |= O_TEXT; +- +- file_no = _open(name, flags, permission); +- +-# else +- +- file_no = open(name, flags, permission); +- +-# endif /* __STL_USE_UNIX_EMULATION_IO */ +- +- if (file_no < 0) +- return false; +- +- _M_is_open = true; +- +- if (openmode & ios_base::ate) +- if (LSEEK(file_no, 0, SEEK_END) == -1) +- _M_is_open = false; +- +-#elif defined (__STL_USE_STDIO_IO) +- // use FILE-based i/o +- const char* flags; +- +- switch(openmode & (~ios_base::ate)) { +- case ios_base::out: +- case ios_base::out | ios_base::trunc: +- flags = "w"; +- break; +- +- case ios_base::out | ios_base::binary: +- case ios_base::out | ios_base::trunc | ios_base::binary: +- flags = "wb"; +- break; +- +- case ios_base::out | ios_base::app: +- flags = "a"; +- break; +- +- case ios_base::out | ios_base::app | ios_base::binary: +- flags = "ab"; +- break; +- +- case ios_base::in: +- flags = "r"; +- break; +- +- case ios_base::in | ios_base::binary: +- flags = "rb"; +- break; +- +- case ios_base::in | ios_base::out: +- flags = "r+"; +- break; +- +- case ios_base::in | ios_base::out | ios_base::binary: +- flags = "r+b"; +- break; +- +- +- case ios_base::in | ios_base::out | ios_base::trunc: +- flags = "w+"; +- break; +- +- case ios_base::in | ios_base::out | ios_base::trunc | ios_base::binary: +- flags = "w+b"; +- break; +- +- default: // The above are the only combinations of +- return false; // flags allowed by the C++ standard. +- } +- +- // fbp : TODO : set permissions ! +- (void)permission; // currently unused //*TY 02/26/2000 - added to suppress warning message +- _M_file = fopen(name, flags); +- +- if (_M_file) { +- file_no = fileno(_M_file); +- } +- else +- return false; +- +- // unset buffering immediately +- setbuf(_M_file, 0); +- +- _M_is_open = true; +- +- if (openmode & ios_base::ate) +- if (fseek(_M_file, 0, SEEK_END) == -1) +- _M_is_open = false; +- +-# elif defined (__STL_USE_WIN32_IO) +- +- DWORD dwDesiredAccess, dwShareMode, dwCreationDisposition; +- bool doTruncate = false; +- +- switch(openmode & (~ios_base::ate & ~ios_base::binary)) { +- case ios_base::out: +- case ios_base::out | ios_base::trunc: +- dwDesiredAccess = GENERIC_WRITE; +- dwShareMode = FILE_SHARE_READ; +- dwCreationDisposition = OPEN_ALWAYS; +- // boris : even though it is very non-intuitive, standard +- // requires them both to behave same. +- doTruncate = true; +- break; +- +- case ios_base::out | ios_base::app: +- dwDesiredAccess = GENERIC_WRITE; +- dwShareMode = FILE_SHARE_READ; +- dwCreationDisposition = OPEN_ALWAYS; +- break; +- case ios_base::in: +- dwDesiredAccess = GENERIC_READ; +- dwShareMode = FILE_SHARE_READ | FILE_SHARE_WRITE; +- dwCreationDisposition = OPEN_EXISTING; +- permission = 0; // Irrelevant unless we're writing. +- break; +- case ios_base::in | ios_base::out: +- dwDesiredAccess = GENERIC_READ | GENERIC_WRITE; +- dwShareMode = FILE_SHARE_READ; +- dwCreationDisposition = OPEN_EXISTING; +- break; +- case ios_base::in | ios_base::out | ios_base::trunc: +- dwDesiredAccess = GENERIC_READ | GENERIC_WRITE; +- dwShareMode = FILE_SHARE_READ; +- dwCreationDisposition = OPEN_ALWAYS; +- doTruncate = true; +- break; +- default: // The above are the only combinations of +- return false; // flags allowed by the C++ standard. +- } +- +-# ifdef _UNICODE +- file_no = CreateFileA( +-# else +- file_no = CreateFile( +-# endif +- name, dwDesiredAccess, dwShareMode, 0, +- dwCreationDisposition, permission, 0); +- +- if ( file_no == INVALID_HANDLE_VALUE ) +- return false; +- +- if ((doTruncate && SetEndOfFile(file_no) == 0) || +- ((openmode & ios_base::ate) && SetFilePointer(file_no, 0, NULL, FILE_END) == -1)) { +- CloseHandle(file_no); +- return false; +- } +- +- _M_is_open = true; +- +-#else +-# error "Port!" +-#endif /* __unix */ +- +- +- _M_file_id = file_no; +- _M_should_close = _M_is_open; +- _M_openmode = openmode; +- +- if (_M_is_open) +- _M_regular_file = SGI::__is_regular_file(_M_file_id); +- +- return _M_is_open; +-} +- +- +-bool _Filebuf_base::_M_open(const char* name, ios_base::openmode openmode) +-{ +- // This doesn't really grant everyone in the world read/write +- // access. On Unix, file-creation system calls always clear +- // bits that are set in the umask from the permissions flag. +-# ifdef __STL_USE_WIN32_IO +- return this->_M_open(name, openmode, FILE_ATTRIBUTE_NORMAL); +-# elif defined(__MRC__) || defined(__SC__) //*TY 02/26/2000 - added support for MPW compilers +- return this->_M_open(name, openmode, 0); +-# else +- return this->_M_open(name, openmode, S_IRUSR | S_IWUSR | S_IRGRP | +- S_IWGRP | S_IROTH | S_IWOTH); +-# endif +-} +- +- +-// Associated the filebuf with a file descriptor pointing to an already- +-// open file. Mode is set to be consistent with the way that the file +-// was opened. +-bool _Filebuf_base::_M_open(int file_no, ios_base::openmode init_mode) { +- +- if (_M_is_open || file_no < 0) +- return false; +- +-# if defined (__STL_UNIX) +- (void)init_mode; // dwa 4/27/00 - suppress unused parameter warning +- int mode ; +- mode = fcntl(file_no, F_GETFL); +- +- if (mode == -1) +- return false; +- +- _M_openmode = SGI::flag_to_openmode(mode); +- +-# elif defined(__MRC__) || defined(__SC__) //*TY 02/26/2000 - added support for MPW compilers +- (void)init_mode; // dwa 4/27/00 - suppress unused parameter warning +- switch( _iob[file_no]._flag & (_IOREAD|_IOWRT|_IORW) ) +- { +- case _IOREAD: +- _M_openmode = ios_base::in; break; +- case _IOWRT: +- _M_openmode = ios_base::out; break; +- case _IORW: +- _M_openmode = ios_base::in | ios_base::out; break; +- default: +- return false; +- } +- +-# elif defined (__STL_USE_UNIX_EMULATION_IO) || defined (__STL_USE_STDIO_IO) +- (void)init_mode; // dwa 4/27/00 - suppress unused parameter warning +- int mode ; +- struct stat buf; +- if (fstat(file_no, &buf) != 0) +- return false; +- mode = buf.st_mode; +- +- switch(mode & (_S_IWRITE | _S_IREAD) ) { +- case _S_IREAD: +- _M_openmode = ios_base::in; break; +- case _S_IWRITE: +- _M_openmode = ios_base::out; break; +- case (_S_IWRITE | _S_IREAD): +- _M_openmode = ios_base::in | ios_base::out; break; +- default: +- return false; +- } +-# elif defined(__STL_USE_WIN32_IO) && defined (_MSC_VER) +- +- if (_M_is_open || file_no == -1) +- return false; +- +- HANDLE oshandle = (HANDLE)_get_osfhandle(file_no); +- +- if ((long)oshandle != -1) +- file_no = (int)oshandle; +- else +- return false; +- +- if (init_mode != ios_base::__default_mode) +- _M_openmode = init_mode; +- else +- _M_openmode = SGI::_get_osfflags(file_no, oshandle); +- +-# else +- (void)init_mode; // dwa 4/27/00 - suppress unused parameter warning +- +- // not available for the API +- return false; +- +-# endif +- +- +- _M_is_open = true; +- _M_file_id = (_STL_fd)file_no; +- _M_should_close = false; +- _M_regular_file = SGI::__is_regular_file(_M_file_id); +- +- return true; +-} +- +-bool _Filebuf_base::_M_close() { +- if (!_M_is_open) +- return false; +- +- bool ok; +- +- if (!_M_should_close) +- ok = true; +- else { +- +-# if defined (__STL_USE_UNIX_IO) +- +- ok = (close(_M_file_id) == 0); +- +-# elif defined (__STL_USE_UNIX_EMULATION_IO) +- +- ok = (_close(_M_file_id) == 0); +- +-# elif defined (__STL_USE_STDIO_IO) +- +- ok = (fclose(_M_file) == 0); +- +-# elif defined (__STL_USE_WIN32_IO) +- +- ok = (CloseHandle(_M_file_id) != 0); +- +-# else +- +- ok = false; +- +-# endif /* __STL_USE_UNIX_IO */ +- } +- +- _M_is_open = _M_should_close = false; +- _M_openmode = 0; +- return ok; +-} +- +- +-# define __STL_LF 10 +-# define __STL_CR 13 +-# define __STL_CTRLZ 26 +- +-// Read up to n characters into a buffer. Return value is number of +-// characters read. +-ptrdiff_t _Filebuf_base::_M_read(char* buf, ptrdiff_t n) { +-# if defined (__STL_USE_UNIX_IO) +- +- return read(_M_file_id, buf, n); +- +-# elif defined (__STL_USE_UNIX_EMULATION_IO) +- +- return _read(_M_file_id, buf, n); +- +-# elif defined (__STL_USE_WIN32_IO) +- +- DWORD NumberOfBytesRead; +- ReadFile(_M_file_id, (LPVOID)buf, (DWORD)n, +- &NumberOfBytesRead, 0); +- +- if ((! (_M_openmode & ios_base::binary)) && NumberOfBytesRead) { +- // translate CR-LFs to LFs in the buffer +- char * to = buf, * last = buf + NumberOfBytesRead - 1; +- char * from; +- for (from = buf; from <= last && * from != __STL_CTRLZ; ++ from ) { +- if (* from != __STL_CR) +- * to ++ = * from; +- else { // found CR +- if (from < last) { // not at buffer end +- if (* (from + 1) != __STL_LF) +- * to ++ = __STL_CR; +- } +- else { // last char is CR, peek for LF +- char peek = ' '; +- DWORD NumberOfBytesPeeked; +- ReadFile(_M_file_id, (LPVOID)&peek, +- 1, &NumberOfBytesPeeked, 0); +- if (NumberOfBytesPeeked) +- SetFilePointer(_M_file_id,(LONG)-1,0,SEEK_CUR); +- if (peek != __STL_LF) +- * to ++ = __STL_CR; +- } +- } // found CR +- } // for +- // seek back to TEXT end of file if hit CTRL-Z +- if (from <= last) // terminated due to CTRLZ +- SetFilePointer(_M_file_id,(LONG)((last+1) - from),0,SEEK_CUR); +- NumberOfBytesRead = to - buf; +- } +- return (ptrdiff_t)NumberOfBytesRead; +- +-# elif defined (__STL_USE_STDIO_IO) +- +- return fread(buf, 1, n, _M_file); +- +-# else +-# error "Port!" +-# endif /* __unix */ +-} +- +-// Write n characters from a buffer. Return value: true if we managed +-// to write the entire buffer, false if we didn't. +-bool _Filebuf_base::_M_write(char* buf, ptrdiff_t n) { +- +- while (true) { +- ptrdiff_t written; +- +-# if defined (__STL_USE_UNIX_IO) +- +- written = write(_M_file_id, buf, n); +- +-# elif defined (__STL_USE_UNIX_EMULATION_IO) +- +- written = _write(_M_file_id, buf, n); +- +-# elif defined (__STL_USE_WIN32_IO) +- +- // In append mode, every write does an implicit seek to the end +- // of the file. +- if (_M_openmode & ios_base::app) +- _M_seek( 0, ios_base::end); +- +- if (_M_openmode & ios_base::binary) { +- // binary mode +- DWORD NumberOfBytesWritten; +- WriteFile(_M_file_id, (LPVOID)buf, (DWORD)n, +- &NumberOfBytesWritten, 0); +- written = (ptrdiff_t)NumberOfBytesWritten; +- } +- else { +- char textbuf[_TEXTBUF_SIZE + 1]; // extra 1 in case LF at end +- char * nextblock = buf, * ptrtextbuf = textbuf; +- char * endtextbuf = textbuf + _TEXTBUF_SIZE; +- char * endblock = buf + n; +- ptrdiff_t nextblocksize = (__STLPORT_STD::min)(n, _TEXTBUF_SIZE); +- char * nextlf; +- +- while ( (nextblocksize > 0) && +- (nextlf = (char *)memchr(nextblock, __STL_LF, nextblocksize)) != 0) { +- ptrdiff_t linelength = nextlf - nextblock; +- memcpy(ptrtextbuf, nextblock, linelength); +- ptrtextbuf += linelength; +- nextblock += (linelength + 1); +- * ptrtextbuf ++ = __STL_CR; +- * ptrtextbuf ++ = __STL_LF; +- nextblocksize = (__STLPORT_STD::min)(ptrdiff_t(endblock - nextblock), +- (__STLPORT_STD::max)(ptrdiff_t(0), ptrdiff_t(endtextbuf - ptrtextbuf))); +- } +- // write out what's left, > condition is here since for LF at the end , +- // endtextbuf may get < ptrtextbuf ... +- if (nextblocksize > 0) { +- memcpy(ptrtextbuf, nextblock, nextblocksize); +- ptrtextbuf += nextblocksize; +- nextblock += nextblocksize; +- } +- // now write out the translated buffer +- char * writetextbuf = textbuf; +- for (ptrdiff_t NumberOfBytesToWrite = ptrtextbuf - textbuf; +- NumberOfBytesToWrite;) { +- DWORD NumberOfBytesWritten; +- WriteFile((HANDLE)_M_file_id, (LPVOID)writetextbuf, +- NumberOfBytesToWrite, &NumberOfBytesWritten, 0); +- if (NumberOfBytesWritten == NumberOfBytesToWrite) +- break; +- if (!NumberOfBytesWritten) // write shortfall +- return false; +- writetextbuf += NumberOfBytesWritten; +- NumberOfBytesToWrite -= NumberOfBytesWritten; +- } +- // count non-translated characters +- written = (nextblock - buf); +- } +- +-# elif defined (__STL_USE_STDIO_IO) +- +- written = fwrite(buf, 1, n, _M_file); +- +-# else +-# error "Port!" +-# endif /* __unix */ +- +- if (n == written) +- return true; +- else if (written > 0 && written < n) { +- n -= written; +- buf += written; +- } +- else +- return false; +- } +-} +- +- +-#ifdef __STL_USE_WIN32_IO +-# define STL_SEEK_SET FILE_BEGIN +-# define STL_SEEK_CUR FILE_CURRENT +-# define STL_SEEK_END FILE_END +-#else +-# define STL_SEEK_SET SEEK_SET +-# define STL_SEEK_CUR SEEK_CUR +-# define STL_SEEK_END SEEK_END +-#endif +- +-// Wrapper for lseek or the like. +-streamoff _Filebuf_base::_M_seek(streamoff offset, ios_base::seekdir dir) +-{ +- streamoff result = -1; +- +- int whence; +- +- switch(dir) { +- case ios_base::beg: +- if (offset < 0 || offset > _M_file_size()) +- return streamoff(-1); +- whence = STL_SEEK_SET; +- break; +- case ios_base::cur: +- whence = STL_SEEK_CUR; +- break; +- case ios_base::end: +- if (offset > 0 || -offset > _M_file_size()) +- return streamoff(-1); +- whence = STL_SEEK_END; +- break; +- default: +- return streamoff(-1); +- } +- +-#if defined (__STL_USE_UNIX_IO) || defined (__STL_USE_UNIX_EMULATION_IO) +- +- result = LSEEK(_M_file_id, offset, whence); +- +-#elif defined (__STL_USE_STDIO_IO) +- +- result = fseek(_M_file, offset, whence); +- +-#elif defined (__STL_USE_WIN32_IO) +- +- long hi_seek = ULL(offset) >> 32; +- long ret = SetFilePointer(_M_file_id, offset, &hi_seek, whence); +- if (ret == -1) +- result = ret; +- else { +- result = hi_seek; +- result = (ULL(result)<<32) | ret; +- } +- +-#else +-# error "Port!" +-#endif +- +- return result; +-} +- +- +-// Attempts to memory-map len bytes of the current file, starting +-// at position offset. Precondition: offset is a multiple of the +-// page size. Postcondition: return value is a null pointer if the +-// memory mapping failed. Otherwise the return value is a pointer to +-// the memory-mapped file and the file position is set to offset. +-void* _Filebuf_base::_M_mmap(streamoff offset, streamoff len) { +- void* base; +-#if defined (__STL_UNIX) +- base = MMAP(0, len, PROT_READ, MAP_PRIVATE, _M_file_id, offset); +- if (base != (void*)MAP_FAILED) { +- if (LSEEK(_M_file_id, offset + len, SEEK_SET) < 0) { +- this->_M_unmap(base, len); +- base = 0; +- } +- } else +- base =0; +- +-#elif defined (__STL_USE_WIN32_IO) +- +- _M_view_id = CreateFileMapping(_M_file_id, (PSECURITY_ATTRIBUTES)0 , +- PAGE_READONLY, 0 /* len >> 32 */ , +- 0 /* len & 0xFFFFFFFF */ , // low-order DWORD of size +- 0); +- +- if (_M_view_id) { +-# if 0 +- printf("view %x created from file %x, error = %d, size = %d, map_offset = %d map_len = %d\n", +- _M_view_id, _M_file_id, GetLastError(), +- (int)cur_filesize, ULL(offset) & 0xffffffff, len); +-# endif +- +- base = MapViewOfFile(_M_view_id, FILE_MAP_READ, ULL(offset)>>32, +- ULL(offset) & 0xffffffff, len); +- +- if (base) { +- if (_M_seek(offset+len, ios_base::beg) < 0) { +- this->_M_unmap(base, len); +- base = 0; +- } +- } +- } +-#else +- (void)len; //*TY 02/26/2000 - unused variables +- (void)offset; //*TY 02/26/2000 - +- base = 0; +-#endif +- return base; +-} +- +-void _Filebuf_base::_M_unmap(void* base, streamoff len) { +- // precondition : there is a valid mapping at the moment +-#if defined (__STL_UNIX) +- munmap((caddr_t)base, len); +-#elif defined (__STL_USE_WIN32_IO) +- UnmapViewOfFile(base); +- // destroy view handle as well +- CloseHandle(_M_view_id); +- _M_view_id = 0; +-#else +- (void)len; //*TY 02/26/2000 - unused variables +- (void)base; //*TY 02/26/2000 - +-#endif +-} +- +-# define MMAP_CHUNK 0x1000000UL +- +-int __STL_CALL +-_Underflow >::_M_doit (basic_filebuf >* __this) +-{ +- if (!__this->_M_in_input_mode) { +- if (!__this->_M_switch_to_input_mode()) +- return traits_type::eof(); +- } +- +- else if (__this->_M_in_putback_mode) { +- __this->_M_exit_putback_mode(); +- if (__this->gptr() != __this->egptr()) { +- int_type __c = traits_type::to_int_type(*__this->gptr()); +- return __c; +- } +- } +- +- // If it's a disk file, and if the internal and external character +- // sequences are guaranteed to be identical, then try to use memory +- // mapped I/O. Otherwise, revert to ordinary read. +- if (__this->_M_base.__regular_file() +- && __this->_M_always_noconv +- && __this->_M_base._M_in_binary_mode()) { +- // If we've mmapped part of the file already, then unmap it. +- if (__this->_M_mmap_base) +- __this->_M_base._M_unmap(__this->_M_mmap_base, __this->_M_mmap_len); +- +- // Determine the position where we start mapping. It has to be +- // a multiple of the page size. +- streamoff __cur = __this->_M_base._M_seek(0, ios_base::cur); +- streamoff __size = __this->_M_base._M_file_size(); +- if (__size > 0 && __cur >= 0 && __cur < __size) { +- streamoff __offset = (__cur / __this->_M_base.__page_size()) +- * __this->_M_base.__page_size(); +- streamoff __remainder = __cur - __offset; +- +- __this->_M_mmap_len = __size - __offset; +- +- // fbp : let us map 1 MB maximum, just be sure not to trash VM +- if (__this->_M_mmap_len > MMAP_CHUNK) +- __this->_M_mmap_len = MMAP_CHUNK; +- +- if ((__this->_M_mmap_base = +- __this->_M_base._M_mmap(__offset, __this->_M_mmap_len)) != 0) { +- __this->setg((char*) __this->_M_mmap_base, +- (char*) __this->_M_mmap_base + __remainder, +- (char*) __this->_M_mmap_base + __this->_M_mmap_len); +- return traits_type::to_int_type(*__this->gptr()); +- } +- } +- } +- +- return __this->_M_underflow_aux(); +-} +- +- +-//---------------------------------------------------------------------- +-// Force instantiation of filebuf and fstream classes. +-#if !defined(__STL_NO_FORCE_INSTANTIATE) +- +-template class basic_filebuf >; +-template class basic_ifstream >; +-template class basic_ofstream >; +-template class basic_fstream >; +- +-#endif +-__STL_END_NAMESPACE +- +-// Local Variables: +-// mode:C++ +-// End: +- ++/* ++ * Copyright (c) 1999 ++ * Silicon Graphics Computer Systems, Inc. ++ * ++ * Copyright (c) 1999 ++ * Boris Fomitchev ++ * ++ * This material is provided "as is", with absolutely no warranty expressed ++ * or implied. Any use is at your own risk. ++ * ++ * Permission to use or copy this software for any purpose is hereby granted ++ * without fee, provided the above notices are retained on all copies. ++ * Permission to modify the code and to distribute modified code is granted, ++ * provided the above notices are retained, and a notice that the code was ++ * modified is included with the above copyright notice. ++ * ++ */ ++ ++ ++# include "stlport_prefix.h" ++ ++# if defined (__SUNPPRO_CC) && !defined (_STLP_NO_NEW_C_HEADERS) ++# include ++// For sunpro, it chokes if time.h is included through stat.h ++# endif ++ ++#include ++ ++ ++#ifdef __CYGWIN__ ++# define __int64 long long ++#endif ++ ++#if defined (_STLP_USE_UNIX_IO) ++extern "C" { ++// open/close/read/write ++# include // For stat ++# include // For mmap ++ ++// on HP-UX 11, this one contradicts with pthread.h on pthread_atfork, unless we unset this ++# if defined (__hpux) && defined (__GNUC__) ++# undef _INCLUDE_POSIX1C_SOURCE ++# endif ++ ++# include ++# include ++} ++# ifdef __APPLE__ ++# include ++# endif ++#elif defined (_STLP_USE_WIN32_IO) ++# define WIN32_LEAN_AND_MEAN ++# include ++ ++# ifdef __BORLANDC__ ++# if (__BORLANDC__ > 0x530) ++# include // For _O_RDONLY, etc ++# else ++# include // For _O_RDONLY, etc ++# endif ++# include // For _fstat ++# elif !defined(_STLP_WINCE) ++# include // For _get_osfhandle ++# include // For _O_RDONLY, etc ++# include // For _fstat ++# endif ++ ++# define _TEXTBUF_SIZE 0x1000 ++#elif defined (_STLP_USE_UNIX_EMULATION_IO) ++# if defined( __MSL__ ) ++# include ++# else ++# include ++# endif ++# include ++# include ++ ++#elif defined (_STLP_USE_STDIO_IO) ++# include ++ ++# if !(defined(__MRC__) || defined(__SC__) || defined(__ISCPP__) ) ++extern "C" { ++# include ++} ++# endif ++# if defined( __MSL__ ) ++# include ++# endif ++# if defined(__ISCPP__) ++# include ++# endif ++# if defined(__BEOS__) && defined(__INTEL__) ++# include ++# include // For _fstat ++# define _S_IREAD S_IREAD ++# define _S_IWRITE S_IWRITE ++# define _S_IFREG S_IFREG ++# endif ++#else ++#error "Configure i/o !" ++#endif ++ ++// map permission masks ++#if defined (_STLP_USE_UNIX_EMULATION_IO) || defined (_STLP_USE_STDIO_IO) ++# ifndef S_IRUSR ++# define S_IRUSR _S_IREAD ++# define S_IWUSR _S_IWRITE ++# define S_IRGRP _S_IREAD ++# define S_IWGRP _S_IWRITE ++# define S_IROTH _S_IREAD ++# define S_IWOTH _S_IWRITE ++# endif ++# ifndef O_RDONLY ++# define O_RDONLY _O_RDONLY ++# define O_WRONLY _O_WRONLY ++# define O_RDWR _O_RDWR ++# define O_APPEND _O_APPEND ++# define O_CREAT _O_CREAT ++# define O_TRUNC _O_TRUNC ++# define O_TEXT _O_TEXT ++# define O_BINARY _O_BINARY ++# endif ++ ++# ifdef __MSL__ ++# define _O_TEXT 0x0 ++# if !defined( O_TEXT ) ++# define O_TEXT _O_TEXT ++# endif ++# define _S_IFREG S_IFREG ++# define S_IREAD S_IRUSR ++# define S_IWRITE S_IWUSR ++# define S_IEXEC S_IXUSR ++# define _S_IWRITE S_IWRITE ++# define _S_IREAD S_IREAD ++# define _open open ++# define _lseek lseek ++# define _close close ++# define _read read ++# define _write write ++# endif ++ ++#endif ++ ++#ifndef O_ACCMODE ++# define O_ACCMODE (O_RDONLY|O_WRONLY|O_RDWR) ++#endif ++ ++#include "fstream_impl.h" ++ ++# ifdef _STLP_LONG_LONG ++# define ULL(x) ((unsigned _STLP_LONG_LONG)x) ++// # elif defined (_MSC_VER) || defined (__BORLANDC__) ++// # define ULL(x) ((__int64)x) ++# elif defined(__MRC__) || defined(__SC__) //*TY 02/25/2000 - added support for MPW compilers ++# include ++# define ULL(x) (U64SetU(x)) ++# elif defined(__ISCPP__) ++# include "uint64.h" ++# else ++# error "there should be some long long type on the system!" ++# endif ++ ++__SGI_BEGIN_NAMESPACE ++ ++#if !defined(__MSL__) && !defined(__MRC__) && !defined(__SC__) && !defined(_STLP_WINCE) //*TY 04/15/2000 - exclude mpw compilers also ++ios_base::openmode flag_to_openmode(int mode) ++{ ++ ios_base::openmode ret; ++ ++ switch(mode & O_ACCMODE) { ++ ++ case O_RDONLY: ++ ret = ios_base::in; break; ++ ++ case O_WRONLY: ++ ret = ios_base::out; break; ++ ++ case O_RDWR: ++ ret = ios_base::in | ios_base::out; break; ++ ++ } ++ ++ if (mode & O_APPEND) ++ ret |= ios_base::app; ++ ++# ifdef _STLP_USE_WIN32_IO ++ if (mode & O_BINARY) ++ ret |= ios_base::binary; ++# endif // _MSC_VER ++ ++ return ret; ++ ++} ++# endif /* MSL */ ++ ++// Helper functions for _Filebuf_base. ++ ++bool __is_regular_file(_STLP_fd fd) { ++ ++#if defined (_STLP_UNIX) ++ ++ struct stat buf; ++ return fstat(fd, &buf) == 0 && S_ISREG(buf.st_mode); ++ ++#elif defined(__MRC__) || defined(__SC__) //*TY 02/25/2000 - added support for MPW compilers ++ ++ #pragma unused(fd) ++ return true; // each file is a regular file under mac os, isn't it? (we don't have fstat()) ++ ++#elif defined(_STLP_USE_UNIX_EMULATION_IO) || defined (_STLP_USE_STDIO_IO) ++ ++ struct stat buf; ++ return fstat(fd, &buf) == 0 && (buf.st_mode & _S_IFREG) != 0 ; ++ ++# elif defined (_STLP_USE_WIN32_IO) && !defined(_STLP_WINCE) ++ ++ return (GetFileType(fd) & ~FILE_TYPE_REMOTE) == FILE_TYPE_DISK; ++ ++#else ++ (void)fd; // dwa 4/27/00 - suppress unused parameter warning ++ return false; ++ ++#endif ++} ++ ++// Number of characters in the file. ++streamoff __file_size(_STLP_fd fd) { ++ streamoff ret = 0; ++ ++#if defined (_STLP_UNIX) ++ ++ struct stat buf; ++ if(fstat(fd, &buf) == 0 && S_ISREG(buf.st_mode)) ++ ret = buf.st_size > 0 ? buf.st_size : 0; ++ ++#elif defined(__MRC__) || defined(__SC__) //*TY 02/25/2000 - added support for MPW compilers ++ ++ #pragma unused(fd) ++ ++#elif defined(_STLP_USE_UNIX_EMULATION_IO) || defined (_STLP_USE_STDIO_IO) ++ ++ struct stat buf; ++ if(fstat(fd, &buf) == 0 && (buf.st_mode & _S_IFREG) != 0) ++ ret = buf.st_size > 0 ? buf.st_size : 0; ++ ++# elif defined (_STLP_USE_WIN32_IO) ++ ++ LARGE_INTEGER li; ++ li.LowPart = GetFileSize(fd, (unsigned long*) &li.HighPart); ++ if (li.LowPart == 0xFFFFFFFF && GetLastError() != NO_ERROR ) ++ { ++ ret = 0; ++ } else ++ ret = li.QuadPart; ++ ++# else ++ (void)fd; // dwa 4/27/00 - suppress unused parameter warning ++# endif ++ ++ return ret; ++} ++ ++ ++// Visual C++ and Intel use this, but not Metrowerks ++// Also MinGW, msvcrt.dll (but not crtdll.dll) dependent version ++#if (!defined(__MSL__) && !defined(_STLP_WINCE) && defined( _MSC_VER ) && defined(_WIN32)) || \ ++ (defined(__MINGW32__) && defined(__MSVCRT__)) ++ ++// fcntl(fileno, F_GETFL) for Microsoft library ++// 'semi-documented' defines: ++#define IOINFO_L2E 5 ++#define IOINFO_ARRAY_ELTS (1 << IOINFO_L2E) ++#define _pioinfo(i) ( __pioinfo[(i) >> IOINFO_L2E] + \ ++ ((i) & (IOINFO_ARRAY_ELTS - 1)) ) ++#define FAPPEND 0x20 // O_APPEND flag ++#define FTEXT 0x80 // O_TEXT flag ++// end of 'semi-documented' defines ++ ++// fbp : empirical ++#define F_WRITABLE 0x04 ++ ++// 'semi-documented' internal structure ++extern "C" { ++ struct ioinfo { ++ long osfhnd; // the real os HANDLE ++ char osfile; // file handle flags ++ char pipech; // pipe buffer ++# ifdef _MT ++ // multi-threaded locking ++ int lockinitflag; ++ CRITICAL_SECTION lock; ++# endif /* _MT */ ++ }; ++#ifdef __MINGW32__ ++ __MINGW_IMPORT ioinfo * __pioinfo[]; ++#else ++ extern _CRTIMP ioinfo * __pioinfo[]; ++#endif ++ ++} // extern "C" ++// end of 'semi-documented' declarations ++ ++ios_base::openmode _get_osfflags(int fd, HANDLE oshandle) { ++ char dosflags = 0; ++ ++ dosflags = _pioinfo(fd)->osfile; ++ // end of 'semi-documented' stuff ++ int mode = 0; ++ ++ if (dosflags & FAPPEND) ++ mode |= O_APPEND; ++ if (dosflags & FTEXT) ++ mode |= O_TEXT; ++ else ++ mode |= O_BINARY; ++ ++ // we have to guess ++# ifdef __macintosh ++ DWORD dummy, dummy2; ++ if (WriteFile(oshandle, &dummy2, 0, &dummy, 0)) ++ mode |= O_RDWR; ++ else ++ mode |= O_RDONLY; ++# else ++ // on Windows, this seems to work... ++ if (dosflags & F_WRITABLE) ++ mode |= O_RDWR; ++ else ++ mode |= O_RDONLY; ++# endif ++ ++ return flag_to_openmode(mode); ++} ++ ++#endif // _MSC_VER ++ ++__SGI_END_NAMESPACE ++ ++// All version of Unix have mmap and lseek system calls. Some also have ++// longer versions of thos system calls to accommodate 64-bit offsets. ++// If we're on a Unix system, define some macros to encapsulate those ++// differences. ++#ifdef _STLP_USE_UNIX_IO ++# ifdef __sgi /* IRIX */ ++# define LSEEK lseek64 ++# define MMAP mmap64 ++# else ++# define LSEEK lseek ++# define MMAP mmap ++# endif ++ ++#ifndef MAP_FAILED /* MMAP failure return code */ ++# define MAP_FAILED -1 ++#endif ++ ++#elif defined (_STLP_USE_UNIX_EMULATION_IO) ++# define LSEEK _lseek ++#endif ++ ++ ++_STLP_BEGIN_NAMESPACE ++ ++size_t ++_Filebuf_base::_M_page_size = 4096; ++ ++_Filebuf_base::_Filebuf_base() ++ : _M_file_id((_STLP_fd)-1), ++ _M_openmode(0), ++ _M_is_open(false), ++ _M_should_close(false) ++{ ++ if (!_M_page_size) ++#if defined (_STLP_UNIX) && !defined(__DJGPP) ++# if defined (__APPLE__) ++ { ++ int mib[2]; ++ size_t pagesize, len; ++ mib[0] = CTL_HW; ++ mib[1] = HW_PAGESIZE; ++ len = sizeof(pagesize); ++ sysctl(mib, 2, &pagesize, &len, NULL, 0); ++ _M_page_size = pagesize; ++ } ++# elif defined(__DJGPP) ++ _M_page_size = BUFSIZ; ++# else ++ _M_page_size = sysconf(_SC_PAGESIZE); ++# endif ++# elif defined (_STLP_USE_WIN32_IO) ++ { ++ SYSTEM_INFO SystemInfo; ++ GetSystemInfo(&SystemInfo); ++ _M_page_size = SystemInfo.dwPageSize; ++ // might be .dwAllocationGranularity ++ } ++ // _M_CRLF_trans_buf = 0, ++ // _M_trans_buf_end=0, ++ _M_view_id = 0; ++#endif ++ ++ if (_M_page_size <=0 ) ++ _M_page_size = 4096; ++ ++} ++ ++ ++// Return the size of the file. This is a wrapper for stat. ++// Returns zero if the size cannot be determined or is ill-defined. ++streamoff ++_Filebuf_base::_M_file_size() ++{ ++ return _SgI::__file_size(_M_file_id); ++} ++ ++bool _Filebuf_base::_M_open(const char* name, ios_base::openmode openmode, ++ long permission) ++{ ++ _STLP_fd file_no; ++ ++ if (_M_is_open) ++ return false; ++ ++#if defined (_STLP_USE_UNIX_IO) || defined (_STLP_USE_UNIX_EMULATION_IO) ++ ++ int flags = 0; ++ ++ // Unix makes no distinction between text and binary files. ++ switch(openmode & (~ios_base::ate & ~ios_base::binary)) { ++ case ios_base::out: ++ case ios_base::out | ios_base::trunc: ++ flags = O_WRONLY | O_CREAT | O_TRUNC; ++ break; ++ case ios_base::out | ios_base::app: ++ flags = O_WRONLY | O_CREAT | O_APPEND; ++ break; ++ case ios_base::in: ++ flags = O_RDONLY; ++ permission = 0; // Irrelevant unless we're writing. ++ break; ++ case ios_base::in | ios_base::out: ++ flags = O_RDWR; ++ break; ++ case ios_base::in | ios_base::out | ios_base::trunc: ++ flags = O_RDWR | O_CREAT | O_TRUNC; ++ break; ++ default: // The above are the only combinations of ++ return false; // flags allowed by the C++ standard. ++ } ++ ++# if defined (_STLP_USE_UNIX_EMULATION_IO) ++ ++ if (openmode & ios_base::binary) ++ flags |= O_BINARY; ++ else ++ flags |= O_TEXT; ++ ++ file_no = _open(name, flags, permission); ++ ++# else ++ ++ file_no = open(name, flags, permission); ++ ++# endif /* _STLP_USE_UNIX_EMULATION_IO */ ++ ++ if (file_no < 0) ++ return false; ++ ++ _M_is_open = true; ++ ++ if (openmode & ios_base::ate) ++ if (LSEEK(file_no, 0, SEEK_END) == -1) ++ _M_is_open = false; ++ ++#elif defined (_STLP_USE_STDIO_IO) ++ // use FILE-based i/o ++ const char* flags; ++ ++ switch(openmode & (~ios_base::ate)) { ++ case ios_base::out: ++ case ios_base::out | ios_base::trunc: ++ flags = "w"; ++ break; ++ ++ case ios_base::out | ios_base::binary: ++ case ios_base::out | ios_base::trunc | ios_base::binary: ++ flags = "wb"; ++ break; ++ ++ case ios_base::out | ios_base::app: ++ flags = "a"; ++ break; ++ ++ case ios_base::out | ios_base::app | ios_base::binary: ++ flags = "ab"; ++ break; ++ ++ case ios_base::in: ++ flags = "r"; ++ break; ++ ++ case ios_base::in | ios_base::binary: ++ flags = "rb"; ++ break; ++ ++ case ios_base::in | ios_base::out: ++ flags = "r+"; ++ break; ++ ++ case ios_base::in | ios_base::out | ios_base::binary: ++ flags = "r+b"; ++ break; ++ ++ ++ case ios_base::in | ios_base::out | ios_base::trunc: ++ flags = "w+"; ++ break; ++ ++ case ios_base::in | ios_base::out | ios_base::trunc | ios_base::binary: ++ flags = "w+b"; ++ break; ++ ++ default: // The above are the only combinations of ++ return false; // flags allowed by the C++ standard. ++ } ++ ++ // fbp : TODO : set permissions ! ++ (void)permission; // currently unused //*TY 02/26/2000 - added to suppress warning message ++ _M_file = fopen(name, flags); ++ ++ if (_M_file) { ++ file_no = fileno(_M_file); ++ } ++ else ++ return false; ++ ++ // unset buffering immediately ++ setbuf(_M_file, 0); ++ ++ _M_is_open = true; ++ ++ if (openmode & ios_base::ate) ++ if (fseek(_M_file, 0, SEEK_END) == -1) ++ _M_is_open = false; ++ ++# elif defined (_STLP_USE_WIN32_IO) ++ ++ DWORD dwDesiredAccess, dwShareMode, dwCreationDisposition; ++ bool doTruncate = false; ++ ++ switch(openmode & (~ios_base::ate & ~ios_base::binary)) { ++ case ios_base::out: ++ case ios_base::out | ios_base::trunc: ++ dwDesiredAccess = GENERIC_WRITE; ++ dwShareMode = FILE_SHARE_READ | FILE_SHARE_WRITE; ++ dwCreationDisposition = OPEN_ALWAYS; ++ // boris : even though it is very non-intuitive, standard ++ // requires them both to behave same. ++ doTruncate = true; ++ break; ++ ++ case ios_base::out | ios_base::app: ++ dwDesiredAccess = GENERIC_WRITE; ++ dwShareMode = FILE_SHARE_READ | FILE_SHARE_WRITE; ++ dwCreationDisposition = OPEN_ALWAYS; ++ break; ++ case ios_base::in: ++ dwDesiredAccess = GENERIC_READ; ++ dwShareMode = FILE_SHARE_READ | FILE_SHARE_WRITE; ++ dwCreationDisposition = OPEN_EXISTING; ++ permission = 0; // Irrelevant unless we're writing. ++ break; ++ case ios_base::in | ios_base::out: ++ dwDesiredAccess = GENERIC_READ | GENERIC_WRITE; ++ dwShareMode = FILE_SHARE_READ | FILE_SHARE_WRITE; ++ dwCreationDisposition = OPEN_EXISTING; ++ break; ++ case ios_base::in | ios_base::out | ios_base::trunc: ++ dwDesiredAccess = GENERIC_READ | GENERIC_WRITE; ++ dwShareMode = FILE_SHARE_READ | FILE_SHARE_WRITE; ++ dwCreationDisposition = OPEN_ALWAYS; ++ doTruncate = true; ++ break; ++ default: // The above are the only combinations of ++ return false; // flags allowed by the C++ standard. ++ } ++ ++ #if defined(_STLP_WINCE) ++ file_no = CreateFile(__ASCIIToWide(name).c_str(), ++ #else ++ file_no = CreateFileA(name, ++ #endif ++ dwDesiredAccess, dwShareMode, 0, ++ dwCreationDisposition, permission, 0); ++ ++ if ( file_no == INVALID_HANDLE_VALUE ) ++ return false; ++ ++ if ((doTruncate && SetEndOfFile(file_no) == 0) || ++ ((openmode & ios_base::ate) && SetFilePointer(file_no, 0, NULL, FILE_END) == -1)) { ++ CloseHandle(file_no); ++ return false; ++ } ++ ++ _M_is_open = true; ++ ++#else ++# error "Port!" ++#endif /* __unix */ ++ ++ ++ _M_file_id = file_no; ++ _M_should_close = _M_is_open; ++ _M_openmode = openmode; ++ ++ if (_M_is_open) ++ _M_regular_file = _SgI::__is_regular_file(_M_file_id); ++ ++ return _M_is_open; ++} ++ ++ ++bool _Filebuf_base::_M_open(const char* name, ios_base::openmode openmode) ++{ ++ // This doesn't really grant everyone in the world read/write ++ // access. On Unix, file-creation system calls always clear ++ // bits that are set in the umask from the permissions flag. ++# ifdef _STLP_USE_WIN32_IO ++ return this->_M_open(name, openmode, FILE_ATTRIBUTE_NORMAL); ++# elif defined(__MRC__) || defined(__SC__) //*TY 02/26/2000 - added support for MPW compilers ++ return this->_M_open(name, openmode, 0); ++# else ++ return this->_M_open(name, openmode, S_IRUSR | S_IWUSR | S_IRGRP | ++ S_IWGRP | S_IROTH | S_IWOTH); ++# endif ++} ++ ++ ++// Associated the filebuf with a file descriptor pointing to an already- ++// open file. Mode is set to be consistent with the way that the file ++// was opened. ++bool _Filebuf_base::_M_open(int file_no, ios_base::openmode init_mode) { ++ ++ if (_M_is_open || file_no < 0) ++ return false; ++ ++# if defined (_STLP_UNIX) ++ (void)init_mode; // dwa 4/27/00 - suppress unused parameter warning ++ int mode ; ++ mode = fcntl(file_no, F_GETFL); ++ ++ if (mode == -1) ++ return false; ++ ++ _M_openmode = _SgI::flag_to_openmode(mode); ++ ++# elif defined(__MRC__) || defined(__SC__) //*TY 02/26/2000 - added support for MPW compilers ++ (void)init_mode; // dwa 4/27/00 - suppress unused parameter warning ++ switch( _iob[file_no]._flag & (_IOREAD|_IOWRT|_IORW) ) ++ { ++ case _IOREAD: ++ _M_openmode = ios_base::in; break; ++ case _IOWRT: ++ _M_openmode = ios_base::out; break; ++ case _IORW: ++ _M_openmode = ios_base::in | ios_base::out; break; ++ default: ++ return false; ++ } ++ ++# elif defined (_STLP_USE_UNIX_EMULATION_IO) || defined (_STLP_USE_STDIO_IO) ++ (void)init_mode; // dwa 4/27/00 - suppress unused parameter warning ++ int mode ; ++ struct stat buf; ++ if (fstat(file_no, &buf) != 0) ++ return false; ++ mode = buf.st_mode; ++ ++ switch(mode & (_S_IWRITE | _S_IREAD) ) { ++ case _S_IREAD: ++ _M_openmode = ios_base::in; break; ++ case _S_IWRITE: ++ _M_openmode = ios_base::out; break; ++ case (_S_IWRITE | _S_IREAD): ++ _M_openmode = ios_base::in | ios_base::out; break; ++ default: ++ return false; ++ } ++# elif (defined(_STLP_USE_WIN32_IO) && defined (_MSC_VER) && !defined(_STLP_WINCE)) || \ ++ (defined(__MINGW32__) && defined(__MSVCRT__)) ++ ++ if (_M_is_open || file_no == -1) ++ return false; ++ ++ HANDLE oshandle = (HANDLE)_get_osfhandle(file_no); ++ ++ if ((long)oshandle != -1) ++ file_no = (int)oshandle; ++ else ++ return false; ++ ++ if (init_mode != ios_base::__default_mode) ++ _M_openmode = init_mode; ++ else ++ _M_openmode = _SgI::_get_osfflags(file_no, oshandle); ++ ++# else ++ (void)init_mode; // dwa 4/27/00 - suppress unused parameter warning ++ ++ // not available for the API ++ return false; ++ ++# endif ++ ++ ++ _M_is_open = true; ++ _M_file_id = (_STLP_fd)file_no; ++ _M_should_close = false; ++ _M_regular_file = _SgI::__is_regular_file(_M_file_id); ++ ++ return true; ++} ++ ++bool _Filebuf_base::_M_close() { ++ if (!_M_is_open) ++ return false; ++ ++ bool ok; ++ ++ if (!_M_should_close) ++ ok = true; ++ else { ++ ++# if defined (_STLP_USE_UNIX_IO) ++ ++ ok = (close(_M_file_id) == 0); ++ ++# elif defined (_STLP_USE_UNIX_EMULATION_IO) ++ ++ ok = (_close(_M_file_id) == 0); ++ ++# elif defined (_STLP_USE_STDIO_IO) ++ ++ ok = (fclose(_M_file) == 0); ++ ++# elif defined (_STLP_USE_WIN32_IO) ++ ++ if ( _M_file_id != INVALID_HANDLE_VALUE ) { ++ ok = (CloseHandle(_M_file_id) != 0); ++ } ++ else { ++ ok = false; ++ } ++ ++# else ++ ++ ok = false; ++ ++# endif /* _STLP_USE_UNIX_IO */ ++ } ++ ++ _M_is_open = _M_should_close = false; ++ _M_openmode = 0; ++ return ok; ++} ++ ++ ++# define _STLP_LF 10 ++# define _STLP_CR 13 ++# define _STLP_CTRLZ 26 ++ ++// Read up to n characters into a buffer. Return value is number of ++// characters read. ++ptrdiff_t _Filebuf_base::_M_read(char* buf, ptrdiff_t n) { ++# if defined (_STLP_USE_UNIX_IO) ++ ++ return read(_M_file_id, buf, n); ++ ++# elif defined (_STLP_USE_UNIX_EMULATION_IO) ++ ++ return _read(_M_file_id, buf, n); ++ ++# elif defined (_STLP_USE_WIN32_IO) ++ ++ DWORD NumberOfBytesRead; ++ ReadFile(_M_file_id, (LPVOID)buf, (DWORD)n, ++ &NumberOfBytesRead, 0); ++ ++ if ((! (_M_openmode & ios_base::binary)) && NumberOfBytesRead) { ++ // translate CR-LFs to LFs in the buffer ++ char * to = buf, * last = buf + NumberOfBytesRead - 1; ++ char * from; ++ for (from = buf; from <= last && * from != _STLP_CTRLZ; ++ from ) { ++ if (* from != _STLP_CR) ++ * to ++ = * from; ++ else { // found CR ++ if (from < last) { // not at buffer end ++ if (* (from + 1) != _STLP_LF) ++ * to ++ = _STLP_CR; ++ } ++ else { // last char is CR, peek for LF ++ char peek = ' '; ++ DWORD NumberOfBytesPeeked; ++ ReadFile(_M_file_id, (LPVOID)&peek, ++ 1, &NumberOfBytesPeeked, 0); ++ if (NumberOfBytesPeeked) ++ SetFilePointer(_M_file_id,(LONG)-1,0,SEEK_CUR); ++ if (peek != _STLP_LF) ++ * to ++ = _STLP_CR; ++ } ++ } // found CR ++ } // for ++ // seek back to TEXT end of file if hit CTRL-Z ++ if (from <= last) // terminated due to CTRLZ ++ SetFilePointer(_M_file_id,(LONG)((last+1) - from),0,SEEK_CUR); ++ NumberOfBytesRead = to - buf; ++ } ++ return (ptrdiff_t)NumberOfBytesRead; ++ ++# elif defined (_STLP_USE_STDIO_IO) ++ ++ return fread(buf, 1, n, _M_file); ++ ++# else ++# error "Port!" ++# endif /* __unix */ ++} ++ ++// Write n characters from a buffer. Return value: true if we managed ++// to write the entire buffer, false if we didn't. ++bool _Filebuf_base::_M_write(char* buf, ptrdiff_t n) { ++ ++ while (true) { ++ ptrdiff_t written; ++ ++# if defined (_STLP_USE_UNIX_IO) ++ ++ written = write(_M_file_id, buf, n); ++ ++# elif defined (_STLP_USE_UNIX_EMULATION_IO) ++ ++ written = _write(_M_file_id, buf, n); ++ ++# elif defined (_STLP_USE_WIN32_IO) ++ ++ // In append mode, every write does an implicit seek to the end ++ // of the file. ++ if (_M_openmode & ios_base::app) ++ _M_seek( 0, ios_base::end); ++ ++ if (_M_openmode & ios_base::binary) { ++ // binary mode ++ DWORD NumberOfBytesWritten; ++ WriteFile(_M_file_id, (LPVOID)buf, (DWORD)n, ++ &NumberOfBytesWritten, 0); ++ written = (ptrdiff_t)NumberOfBytesWritten; ++ } ++ else { ++ char textbuf[_TEXTBUF_SIZE + 1]; // extra 1 in case LF at end ++ char * nextblock = buf, * ptrtextbuf = textbuf; ++ char * endtextbuf = textbuf + _TEXTBUF_SIZE; ++ char * endblock = buf + n; ++ ptrdiff_t nextblocksize = (min) (n, (ptrdiff_t)_TEXTBUF_SIZE); ++ char * nextlf; ++ ++ while ( (nextblocksize > 0) && ++ (nextlf = (char *)memchr(nextblock, _STLP_LF, nextblocksize)) != 0) { ++ ptrdiff_t linelength = nextlf - nextblock; ++ memcpy(ptrtextbuf, nextblock, linelength); ++ ptrtextbuf += linelength; ++ nextblock += (linelength + 1); ++ * ptrtextbuf ++ = _STLP_CR; ++ * ptrtextbuf ++ = _STLP_LF; ++ nextblocksize = (min) (ptrdiff_t(endblock - nextblock), ++ (max) (ptrdiff_t(0), ptrdiff_t(endtextbuf - ptrtextbuf))); ++ } ++ // write out what's left, > condition is here since for LF at the end , ++ // endtextbuf may get < ptrtextbuf ... ++ if (nextblocksize > 0) { ++ memcpy(ptrtextbuf, nextblock, nextblocksize); ++ ptrtextbuf += nextblocksize; ++ nextblock += nextblocksize; ++ } ++ // now write out the translated buffer ++ char * writetextbuf = textbuf; ++ for (ptrdiff_t NumberOfBytesToWrite = ptrtextbuf - textbuf; ++ NumberOfBytesToWrite;) { ++ DWORD NumberOfBytesWritten; ++ WriteFile((HANDLE)_M_file_id, (LPVOID)writetextbuf, ++ NumberOfBytesToWrite, &NumberOfBytesWritten, 0); ++ if (NumberOfBytesWritten == NumberOfBytesToWrite) ++ break; ++ if (!NumberOfBytesWritten) // write shortfall ++ return false; ++ writetextbuf += NumberOfBytesWritten; ++ NumberOfBytesToWrite -= NumberOfBytesWritten; ++ } ++ // count non-translated characters ++ written = (nextblock - buf); ++ } ++ ++# elif defined (_STLP_USE_STDIO_IO) ++ ++ written = fwrite(buf, 1, n, _M_file); ++ ++# else ++# error "Port!" ++# endif /* __unix */ ++ ++ if (n == written) ++ return true; ++ else if (written > 0 && written < n) { ++ n -= written; ++ buf += written; ++ } ++ else ++ return false; ++ } ++} ++ ++ ++#ifdef _STLP_USE_WIN32_IO ++# define STL_SEEK_SET FILE_BEGIN ++# define STL_SEEK_CUR FILE_CURRENT ++# define STL_SEEK_END FILE_END ++#else ++# define STL_SEEK_SET SEEK_SET ++# define STL_SEEK_CUR SEEK_CUR ++# define STL_SEEK_END SEEK_END ++#endif ++ ++// Wrapper for lseek or the like. ++streamoff _Filebuf_base::_M_seek(streamoff offset, ios_base::seekdir dir) ++{ ++ streamoff result = -1; ++ ++ int whence; ++ ++ switch(dir) { ++ case ios_base::beg: ++ if (offset < 0 /* || offset > _M_file_size() */ ) ++ return streamoff(-1); ++ whence = STL_SEEK_SET; ++ break; ++ case ios_base::cur: ++ whence = STL_SEEK_CUR; ++ break; ++ case ios_base::end: ++ if (/* offset > 0 || */ -offset > _M_file_size() ) ++ return streamoff(-1); ++ whence = STL_SEEK_END; ++ break; ++ default: ++ return streamoff(-1); ++ } ++ ++#if defined (_STLP_USE_UNIX_IO) || defined (_STLP_USE_UNIX_EMULATION_IO) ++ ++ result = LSEEK(_M_file_id, offset, whence); ++ ++#elif defined (_STLP_USE_STDIO_IO) ++ ++ result = fseek(_M_file, offset, whence); ++ ++#elif defined (_STLP_USE_WIN32_IO) ++ ++ LARGE_INTEGER li; ++ li.QuadPart = offset; ++ li.LowPart = SetFilePointer(_M_file_id, li.LowPart, &li.HighPart, whence); ++ if (li.LowPart == 0xFFFFFFFF && GetLastError() != NO_ERROR) ++ result = -1; // Error ++ else ++ result = li.QuadPart; ++ ++#else ++# error "Port!" ++#endif ++ ++ return result; ++} ++ ++// Attempts to memory-map len bytes of the current file, starting ++// at position offset. Precondition: offset is a multiple of the ++// page size. Postcondition: return value is a null pointer if the ++// memory mapping failed. Otherwise the return value is a pointer to ++// the memory-mapped file and the file position is set to offset. ++void* _Filebuf_base::_M_mmap(streamoff offset, streamoff len) { ++ void* base; ++#if defined (_STLP_UNIX) && !defined(__DJGPP) ++ base = MMAP(0, len, PROT_READ, MAP_PRIVATE, _M_file_id, offset); ++ if (base != (void*)MAP_FAILED) { ++ if (LSEEK(_M_file_id, offset + len, SEEK_SET) < 0) { ++ this->_M_unmap(base, len); ++ base = 0; ++ } ++ } else ++ base =0; ++ ++#elif defined (_STLP_USE_WIN32_IO) ++ ++ _M_view_id = CreateFileMapping(_M_file_id, (PSECURITY_ATTRIBUTES)0 , ++ PAGE_READONLY, 0 /* len >> 32 */ , ++ 0 /* len & 0xFFFFFFFF */ , // low-order DWORD of size ++ 0); ++ ++ if (_M_view_id) { ++# if 0 ++ printf("view %x created from file %x, error = %d, size = %d, map_offset = %d map_len = %d\n", ++ _M_view_id, _M_file_id, GetLastError(), ++ (int)cur_filesize, ULL(offset) & 0xffffffff, len); ++# endif ++ ++ base = MapViewOfFile(_M_view_id, FILE_MAP_READ, ULL(offset)>>32, ++ ULL(offset) & 0xffffffff, len); ++ // check if mapping succeded and is usable ++ if (base ==0 || _M_seek(offset+len, ios_base::beg) < 0) { ++ this->_M_unmap(base, len); ++ base = 0; ++ } ++ } else ++ base = 0; ++#else ++ (void)len; //*TY 02/26/2000 - unused variables ++ (void)offset; //*TY 02/26/2000 - ++ base = 0; ++#endif ++ return base; ++} ++ ++void _Filebuf_base::_M_unmap(void* base, streamoff len) { ++ // precondition : there is a valid mapping at the moment ++#if defined (_STLP_UNIX) && !defined(__DJGPP) ++ munmap((char*)base, len); ++#elif defined (_STLP_USE_WIN32_IO) ++ if ( base != NULL ) ++ UnmapViewOfFile(base); ++ // destroy view handle as well ++ if ( _M_view_id != NULL ) ++ CloseHandle(_M_view_id); ++ _M_view_id = 0; ++ base = 0; ++#else ++ (void)len; //*TY 02/26/2000 - unused variables ++ (void)base; //*TY 02/26/2000 - ++#endif ++} ++ ++// fbp : let us map 1 MB maximum, just be sure not to trash VM ++# define MMAP_CHUNK 0x100000UL ++ ++int _STLP_CALL ++_Underflow >::_M_doit (basic_filebuf >* __this) ++{ ++ if (!__this->_M_in_input_mode) { ++ if (!__this->_M_switch_to_input_mode()) ++ return traits_type::eof(); ++ } ++ ++ else if (__this->_M_in_putback_mode) { ++ __this->_M_exit_putback_mode(); ++ if (__this->gptr() != __this->egptr()) { ++ int_type __c = traits_type::to_int_type(*__this->gptr()); ++ return __c; ++ } ++ } ++ ++ // If it's a disk file, and if the internal and external character ++ // sequences are guaranteed to be identical, then try to use memory ++ // mapped I/O. Otherwise, revert to ordinary read. ++ if (__this->_M_base.__regular_file() ++ && __this->_M_always_noconv ++ && __this->_M_base._M_in_binary_mode()) { ++ // If we've mmapped part of the file already, then unmap it. ++ if (__this->_M_mmap_base) ++ __this->_M_base._M_unmap(__this->_M_mmap_base, __this->_M_mmap_len); ++ __this->_M_mmap_base = 0; ++ __this->_M_mmap_len = 0; ++ ++ // Determine the position where we start mapping. It has to be ++ // a multiple of the page size. ++ streamoff __cur = __this->_M_base._M_seek(0, ios_base::cur); ++ streamoff __size = __this->_M_base._M_file_size(); ++ if (__size > 0 && __cur >= 0 && __cur < __size) { ++ streamoff __offset = (__cur / __this->_M_base.__page_size()) ++ * __this->_M_base.__page_size(); ++ streamoff __remainder = __cur - __offset; ++ ++ __this->_M_mmap_len = __size - __offset; ++ ++ if (__this->_M_mmap_len > MMAP_CHUNK) ++ __this->_M_mmap_len = MMAP_CHUNK; ++ ++ if ((__this->_M_mmap_base = ++ __this->_M_base._M_mmap(__offset, __this->_M_mmap_len)) != 0) { ++ __this->setg((char*) __this->_M_mmap_base, ++ (char*) __this->_M_mmap_base + __remainder, ++ (char*) __this->_M_mmap_base + __this->_M_mmap_len); ++ return traits_type::to_int_type(*__this->gptr()); ++ } ++ } else /* size > 0 ... */ { ++ // There is nothing to map. We unmapped the file above, now zap pointers. ++ __this->_M_mmap_base = 0; ++ __this->_M_mmap_len = 0; ++ } ++ } ++ ++ return __this->_M_underflow_aux(); ++} ++ ++ ++//---------------------------------------------------------------------- ++// Force instantiation of filebuf and fstream classes. ++#if !defined(_STLP_NO_FORCE_INSTANTIATE) ++ ++template class basic_filebuf >; ++template class basic_ifstream >; ++template class basic_ofstream >; ++template class basic_fstream >; ++ ++# ifndef _STLP_NO_WCHAR_T ++template class _Underflow >; ++template class basic_filebuf >; ++template class basic_ifstream >; ++template class basic_ofstream >; ++template class basic_fstream >; ++# endif /* _STLP_NO_WCHAR_T */ ++ ++#endif ++ ++_STLP_END_NAMESPACE ++ ++// Local Variables: ++// mode:C++ ++// End: ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/fstream_impl.h tripwire-2.3.1-2/src/STLport-4.0/src/fstream_impl.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/fstream_impl.h Sat Feb 24 10:44:09 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/fstream_impl.h Sun Aug 11 18:59:22 2002 +@@ -21,33 +21,33 @@ + + #include + +-# ifdef __STL_HAS_NO_NAMESPACES ++# ifdef _STLP_HAS_NO_NAMESPACES + # define __SGI_BEGIN_NAMESPACE + # define __SGI_END_NAMESPACE +-# define SGI ++# define _SgI + # else +-# define __SGI_BEGIN_NAMESPACE namespace SGI { ++# define __SGI_BEGIN_NAMESPACE namespace _SgI { + # define __SGI_END_NAMESPACE } + # endif + + __SGI_BEGIN_NAMESPACE + +-# ifndef __STL_HAS_NO_NAMESPACES +-using __STLPORT_STD::streamoff; +-using __STLPORT_STD::ios_base; +-using __STLPORT_STD::streamsize; +-using __STLPORT_STD::streamoff; +-using __STLPORT_STD::char_traits; +-# ifndef __STL_USE_UNIX_IO +-using __STL_VENDOR_CSTD::FILE; +-using __STL_VENDOR_CSTD::ftell; ++# ifndef _STLP_HAS_NO_NAMESPACES ++using _STLP_STD::streamoff; ++using _STLP_STD::ios_base; ++using _STLP_STD::streamsize; ++using _STLP_STD::streamoff; ++using _STLP_STD::char_traits; ++# ifndef _STLP_USE_UNIX_IO ++using _STLP_VENDOR_CSTD::FILE; ++using _STLP_VENDOR_CSTD::ftell; + # endif + +-using __STLPORT_STD::_FILE_fd; ++using _STLP_STD::_FILE_fd; + # endif + +-extern bool __is_regular_file(_STL_fd fd); +-extern streamoff __file_size(_STL_fd fd); ++extern bool __is_regular_file(_STLP_fd fd); ++extern streamoff __file_size(_STLP_fd fd); + + __SGI_END_NAMESPACE + +Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: fstream_w.cpp +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-99r1-sun.mak tripwire-2.3.1-2/src/STLport-4.0/src/gcc-99r1-sun.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-99r1-sun.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/gcc-99r1-sun.mak Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,66 @@ ++# ++# Note : this makefile is for gcc-2.95 and later ! ++# ++ ++# ++# compiler ++# ++CC = gcc ++CXX = c++ -pthreads ++ ++# ++# Basename for libraries ++# ++LIB_BASENAME = libstlport_gcc99r1 ++ ++# ++# guts for common stuff ++# ++# ++LINK=ar cr ++# 2.95 flag ++DYN_LINK=c++ -pthreads -shared -o ++ ++OBJEXT=o ++DYNEXT=so ++STEXT=a ++RM=rm -rf ++PATH_SEP=/ ++MKDIR=mkdir -p ++COMP=GCC-99r1 ++INSTALL_STEP = install_unix ++ ++all: all_dynamic all_static symbolic_links ++ ++include common_macros.mak ++ ++WARNING_FLAGS= -Wall -W -Wno-sign-compare -Wno-unused -Wno-uninitialized ++ ++CXXFLAGS_COMMON = -nostdinc++ -fexceptions -ftemplate-depth-32 -D_STLP_HAS_NO_NAMESPACES -shared -I${STLPORT_DIR} ${WARNING_FLAGS} ++ ++CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O2 ++CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -O2 -fPIC ++ ++CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -gstabs ++CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -gstabs -fPIC ++ ++CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG ++CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG ++ ++LDFLAGS_RELEASE_dynamic = ${CXXFLAGS_RELEASE_dynamic} ++ ++LDFLAGS_DEBUG_dynamic = ${CXXFLAGS_DEBUG_dynamic} ++ ++LDFLAGS_STLDEBUG_dynamic = ${CXXFLAGS_STLDEBUG_dynamic} ++ ++LDLIBS_RELEASE_dynamic = -lposix4 ++ ++LDLIBS_STLDEBUG_dynamic = -lposix4 ++ ++include common_percent_rules.mak ++include common_rules.mak ++ ++#%.s: %.cpp ++# $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ ++ ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-amigaos-m68k.mak tripwire-2.3.1-2/src/STLport-4.0/src/gcc-amigaos-m68k.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-amigaos-m68k.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/gcc-amigaos-m68k.mak Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,46 @@ ++# ++# Note : this makefile is for gcc-2.95.3 and later ! ++# ++ ++# ++# compiler ++# ++CC = gcc -noixemul -m68020 ++CXX = g++ -noixemul -m68020 -ftemplate-depth-32 ++ ++# ++# Basename for libraries ++# ++LIB_BASENAME = libstlport_gcc ++ ++# ++# guts for common stuff ++# ++# ++LINK=ar cr ++OBJEXT=o ++STEXT=a ++RM=rm -rf ++PATH_SEP=/ ++MKDIR=mkdir -p ++COMP=GCC$(ARCH) ++ ++all: release_static ++ ++include common_macros.mak ++ ++WARNING_FLAGS= -Wall -W -Wno-sign-compare -Wno-unused -Wno-uninitialized ++ ++CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} ++ ++CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O2 ++ ++CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -g ++ ++CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG ++ ++include common_percent_rules.mak ++include common_rules.mak ++ ++$(OUTDIR)$(PATH_SEP)$(RELEASE_LIB) : $(OUTDIR) $(RELEASE_OBJDIR_static) $(DEF_FILE) $(RELEASE_OBJECTS_static) ++ $(LINK) $(LINK_OUT)$(OUTDIR)$(PATH_SEP)$(RELEASE_LIB) $(LDFLAGS_RELEASE_static) $(RELEASE_OBJDIR_static)$(PATH_SEP)*.$(OBJEXT) $(LDLIBS_RELEASE_static) +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-apple-macosx.mak tripwire-2.3.1-2/src/STLport-4.0/src/gcc-apple-macosx.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-apple-macosx.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/gcc-apple-macosx.mak Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,52 @@ ++# ++# Note : this makefile is for gcc-2.95 and later ! ++# ++ ++# ++# compiler ++# ++CC = cc ++CXX = cc ++ ++# ++# Basename for libraries ++# ++LIB_BASENAME = libstlport_gcc ++ ++# ++# guts for common stuff ++# ++# ++LINK=libtool -static -o ++# 2.95 flag ++DYN_LINK=libtool -dynamic -framework System -lcc_dynamic -lstdc++ -install_name @executable_path/$(@F) -o ++ ++OBJEXT=o ++DYNEXT=dylib ++STEXT=a ++RM=rm -Rf ++PATH_SEP=/ ++MKDIR=mkdir -p ++COMP=GCC$(ARCH) ++INSTALL_STEP = install_unix ++ ++all: all_dynamic all_static ++ ++include common_macros.mak ++ ++WARNING_FLAGS= -W -Wno-sign-compare -Wno-unused -Wno-uninitialized ++ ++CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} -traditional-cpp -fno-coalesce ++ ++CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O2 ++CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -O2 -fPIC ++ ++CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -O -g ++CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -O -g -fPIC ++ ++CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG ++CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG -fPIC ++ ++include common_percent_rules.mak ++include common_rules.mak ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-beos.mak tripwire-2.3.1-2/src/STLport-4.0/src/gcc-beos.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-beos.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/gcc-beos.mak Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,63 @@ ++# ++# compiler ++# ++CC = gcc ++CXX = c++ ++ ++# ++# Basename for libraries ++# ++LIB_BASENAME = libstlport_gcc ++ ++# ++# guts for common stuff ++# ++# ++LINK=ar crv ++DYN_LINK=g++ -nostart -o ++ ++OBJEXT=o ++DYNEXT=so ++STEXT=a ++RM=rm -rf ++PATH_SEP=/ ++MKDIR=mkdir -p ++COMP=GCC-BEOS ++ ++all: msg all_static ++ ++msg: ++ mkdir -p ../stlport/beos ++ ./beos-setup -setup ++ ++include common_macros.mak ++ ++WARNING_FLAGS= -W -Wno-sign-compare -Wno-unused -Wno-uninitialized ++ ++# boris : real locale implementation does not really work ++# CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} -D_STLP_REAL_LOCALE_IMPLEMENTED ++CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} ++ ++CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O2 ++CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -O2 -fPIC ++ ++CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -O -g ++CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -O -g -fPIC ++ ++CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG ++CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG -fPIC ++ ++include common_percent_rules.mak ++include common_rules.mak ++ ++ ++install: all ++ ./beos-setup -install ++ ++uninstall: ++ ./beos-setup -uninstall ++ ++#%.s: %.cpp ++# $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ ++ ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-cygwin.mak tripwire-2.3.1-2/src/STLport-4.0/src/gcc-cygwin.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-cygwin.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/gcc-cygwin.mak Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,62 @@ ++# ++# compiler ++# ++CC = gcc ++CXX = c++ ++ ++COMP = cygwin ++ ++# ++# Basename for libraries ++# ++LIB_BASENAME = libstlport_cygwin ++ ++# ++# guts for common stuff ++# ++# ++LINK=ar crv ++DYN_LINK=c++ -o ++ ++OBJEXT=o ++DYNEXT=dll ++STEXT=a ++RM=rm -rf ++PATH_SEP=/ ++MKDIR=mkdir -p ++COMP=cygwin ++ ++# STATIC_SUFFIX=_static ++ ++all: all_static ++INSTALL_STEP = install_unix ++ ++include common_macros.mak ++ ++WARNING_FLAGS= -W -Wno-sign-compare -Wno-unused -Wno-uninitialized ++ ++CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} ++ ++CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O2 ++CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -O2 -D_STLP_USE_DYNAMIC_LIB ++ ++CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -O -g ++CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -O -g -D_STLP_USE_DYNAMIC_LIB ++ ++CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG ++CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG -D_STLP_USE_DYNAMIC_LIB ++ ++LDFLAGS_RELEASE_static = ++LDFLAGS_RELEASE_dynamic = ${CXXFLAGS_RELEASE_dynamic} -Wl,-d ++ ++LDFLAGS_DEBUG_static = ++LDFLAGS_DEBUG_dynamic = ${CXXFLAGS_DEBUG_dynamic} -Wl,--export-all-symbols -Wl,-d -Wl,--out-implib,${OUTDIR}/${DEBUG_NAME}.a ++ ++LDFLAGS_STLDEBUG_static = ++LDFLAGS_STLDEBUG_dynamic = ${CXXFLAGS_STLDEBUG_dynamic} -Wl,--export-all-symbols -Wl,--out-implib,${OUTDIR}/${STLDEBUG_NAME}.a ++ ++include common_percent_rules.mak ++ ++include common_rules.mak ++ ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-freebsd.mak tripwire-2.3.1-2/src/STLport-4.0/src/gcc-freebsd.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-freebsd.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/gcc-freebsd.mak Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,63 @@ ++# ++# Note : this makefile is for gcc-2.95 and later ! ++# ++ ++# ++# compiler ++# ++CC = gcc -pthread ++CXX = c++ -pthread -fexceptions ++ ++# ++# Basename for libraries ++# ++LIB_BASENAME = libstlport_gcc ++ ++# ++# guts for common stuff ++# ++# ++LINK=ar cr ++# 2.95 flag ++DYN_LINK=c++ -pthread -fexceptions -shared -o ++ ++OBJEXT=o ++DYNEXT=so ++STEXT=a ++RM=rm -rf ++PATH_SEP=/ ++MKDIR=mkdir -p ++COMP=GCC-FREEBSD ++INSTALL_STEP = install_unix ++ ++all: gmake_message all_dynamic all_static symbolic_links ++ ++gmake_message: ++ echo "Note : this makefile requires gmake on FreeBSD" ++ ++include common_macros.mak ++ ++WARNING_FLAGS= -Wall -W -Wno-sign-compare -Wno-unused -Wno-uninitialized -ftemplate-depth-32 ++ ++CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} ++ ++CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O2 ++CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -O2 -fPIC ++ ++CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -O -g ++CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -O -g -fPIC ++ ++CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG ++CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG -fPIC ++ ++include common_percent_rules.mak ++include common_rules.mak ++ ++ ++#install: all ++# cp -p $(LIB_TARGET) ${D_LIB_TARGET} ../lib ++ ++#%.s: %.cpp ++# $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ ++ ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-glibc.mak tripwire-2.3.1-2/src/STLport-4.0/src/gcc-glibc.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-glibc.mak Sat Feb 24 10:44:09 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/gcc-glibc.mak Sun Aug 11 18:59:22 2002 +@@ -23,28 +23,29 @@ + PATH_SEP=/ + MKDIR=mkdir -p + COMP=GCC$(ARCH) ++INSTALL_STEP = install_unix + +-all: msg all_dynamic all_static ++all: msg all_dynamic all_static symbolic_links + + msg: + @echo "*** ATTENTION! ***" + @echo "This makefile tries to use system locale which might not work well with all glibc flavours." +- @echo "If build fails, please resort to gcc.mak which will build C-locale only version for STLport 4.0" ++ @echo "If build fails, please resort to gcc.mak which will build C-locale only version for STLport" + @echo "******************" + include common_macros.mak + +-WARNING_FLAGS= -W -Wno-sign-compare -Wno-unused -Wno-uninitialized -D__STL_USE_GLIBC ++WARNING_FLAGS= -W -Wno-sign-compare -Wno-unused -Wno-uninitialized -D_STLP_USE_GLIBC + +-CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} -D__STL_REAL_LOCALE_IMPLEMENTED ++CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} -D_STLP_REAL_LOCALE_IMPLEMENTED + + CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O2 + CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -O2 -fpic + +-CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -g +-CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -g -fpic ++CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -O -g ++CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -O -g -fpic + +-CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D__STL_DEBUG +-CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D__STL_DEBUG -fpic ++CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG ++CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG -fpic + + include common_percent_rules.mak + include common_rules.mak +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-hp.mak tripwire-2.3.1-2/src/STLport-4.0/src/gcc-hp.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-hp.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/gcc-hp.mak Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,69 @@ ++# ++# Note : this makefile is for gcc-2.95 and later (HP-UX)! ++# ++ ++# ++# compiler ++# ++CC = gcc ++CXX = c++ -pthreads ++ ++# -fkeep-inline-functions ++# -finline-functions ++# -fno-default-inline ++ ++# ++# Basename for libraries ++# ++LIB_BASENAME = libstlport_gcc ++ ++# ++# guts for common stuff ++# ++# ++LINK=ar cr ++# 2.95 flag ++# DYN_LINK=c++ -pthreads -fPIC -shared -o ++# DYN_LINK=c++ -pthreads -nostdinc++ -fexceptions -frtti -fPIC -O -fno-implement-inlines -Winline -Wextern-inline -shared -D_STLP_DEBUG -o ++# DYN_LINK=ld -shared -export-dynamic -Bdynamic -Bsymbolic -Ur -o ++DYN_LINK=ld -z -b -o ++ ++OBJEXT=o ++DYNEXT=sl ++STEXT=a ++RM=rm -rf ++PATH_SEP=/ ++MKDIR=mkdir -p ++COMP=GCC-HP ++INSTALL_STEP = install_unix ++ ++all: all_dynamic all_static symbolic_links ++ ++include common_macros.mak ++ ++WARNING_FLAGS= -Wall -W -Wno-sign-compare -Wno-unused -Wno-uninitialized ++ ++# CXXFLAGS_COMMON = -ftemplate-depth-32 -I${STLPORT_DIR} ${WARNING_FLAGS} ++CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} ++ ++CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O ++CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -O -fPIC ++ ++CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -O -g ++CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -O -g -fPIC ++ ++CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG ++CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG ++ ++LDFLAGS_RELEASE_dynamic = ${CXXFLAGS_RELEASE_dynamic} -Wl,+h${RELEASE_DYNLIB_SONAME} ++LDFLAGS_DEBUG_dynamic = ${CXXFLAGS_DEBUG_dynamic} -Wl,+h${DEBUG_DYNLIB_SONAME} ++LDFLAGS_STLDEBUG_dynamic = ${CXXFLAGS_STLDEBUG_dynamic} -Wl,+h${STLDEBUG_DYNLIB_SONAME} ++ ++include common_percent_rules.mak ++include common_rules.mak ++ ++#install: all ++# cp -p $(LIB_TARGET) ${D_LIB_TARGET} ../lib ++ ++#%.s: %.cpp ++# $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-hp11.mak tripwire-2.3.1-2/src/STLport-4.0/src/gcc-hp11.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-hp11.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/gcc-hp11.mak Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,75 @@ ++# ++# Note : this makefile is for gcc-2.95 and later (HP-UX)! ++# ++ ++# ++# compiler ++# ++CC = gcc ++CXX = c++ ++ ++# -fkeep-inline-functions ++# -finline-functions ++# -fno-default-inline ++ ++# ++# Basename for libraries ++# ++LIB_BASENAME = libstlport_gcc ++ ++# ++# guts for common stuff ++# ++# ++LINK=ar cr ++# 2.95 flag ++# DYN_LINK=c++ -pthreads -fPIC -shared -o ++# DYN_LINK=c++ -pthreads -nostdinc++ -fexceptions -frtti -fPIC -O -fno-implement-inlines -Winline -Wextern-inline -shared -D_STLP_DEBUG -o ++# DYN_LINK=ld -shared -export-dynamic -Bdynamic -Bsymbolic -Ur -o ++# DYN_LINK=/usr/bin/ld -z -b -o ++ ++DYN_LINK= c++ -shared -o ++ ++OBJEXT=o ++DYNEXT=sl ++STEXT=a ++RM=rm -rf ++PATH_SEP=/ ++MKDIR=mkdir -p ++COMP=GCC-HP ++INSTALL_STEP = install_unix ++ ++all: all_dynamic all_static symbolic_links ++ ++include common_macros.mak ++ ++WARNING_FLAGS= -Wall -W -Wno-sign-compare -Wno-unused -Wno-uninitialized -D_REENTRANT -D_POSIX_C_SOURCE=199506L -D__EXTENSIONS__ ++ ++# CXXFLAGS_COMMON = -ftemplate-depth-32 -I${STLPORT_DIR} ${WARNING_FLAGS} ++CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} ++ ++CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O ++CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -O -fPIC ++ ++CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -O -g ++CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -O -g -fPIC ++ ++CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG ++CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG ++ ++# LDFLAGS_RELEASE_dynamic = ${CXXFLAGS_RELEASE_dynamic} -Wl,+h${RELEASE_DYNLIB_SONAME} ++# LDFLAGS_DEBUG_dynamic = ${CXXFLAGS_DEBUG_dynamic} -Wl,+h${DEBUG_DYNLIB_SONAME} ++# LDFLAGS_STLDEBUG_dynamic = ${CXXFLAGS_STLDEBUG_dynamic} -Wl,+h${STLDEBUG_DYNLIB_SONAME} ++ ++LDFLAGS_RELEASE_dynamic = ${CXXFLAGS_RELEASE_dynamic} ++LDFLAGS_DEBUG_dynamic = ${CXXFLAGS_DEBUG_dynamic} ++LDFLAGS_STLDEBUG_dynamic = ${CXXFLAGS_STLDEBUG_dynamic} ++ ++include common_percent_rules.mak ++include common_rules.mak ++ ++#install: all ++# cp -p $(LIB_TARGET) ${D_LIB_TARGET} ../lib ++ ++#%.s: %.cpp ++# $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-irix.mak tripwire-2.3.1-2/src/STLport-4.0/src/gcc-irix.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-irix.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/gcc-irix.mak Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,51 @@ ++# ++# Note : this makefile is for gcc-2.95 and later ! ++# ++ ++# ++# compiler ++# ++CC = gcc ++CXX = c++ -fexceptions ++ ++# ++# Basename for libraries ++# ++LIB_BASENAME = libstlport_gcc ++ ++# ++# guts for common stuff ++# ++# ++LINK=ar cr ++# 2.95 flag ++DYN_LINK=c++ -lpthread -fexceptions -shared -o ++ ++OBJEXT=o ++DYNEXT=so ++STEXT=a ++RM=rm -rf ++PATH_SEP=/ ++MKDIR=mkdir -p ++COMP=GCC$(ARCH) ++INSTALL_STEP = install_unix ++ ++all: all_dynamic all_static symbolic_links ++ ++include common_macros.mak ++ ++WARNING_FLAGS= -Wall -W -Wno-sign-compare -Wno-unused -Wno-uninitialized -ftemplate-depth-32 ++ ++CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} ++ ++CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O2 ++CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -O2 -fPIC ++ ++CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -O -g ++CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -O -g -fPIC ++ ++CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG ++CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG ++ ++include common_percent_rules.mak ++include common_rules.mak +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-linux.mak tripwire-2.3.1-2/src/STLport-4.0/src/gcc-linux.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-linux.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/gcc-linux.mak Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,62 @@ ++# ++# compiler ++# ++CC = gcc ++CXX = c++ -pthread -fexceptions ++ ++# ++# Basename for libraries ++# ++LIB_BASENAME = libstlport_gcc ++ ++# ++# guts for common stuff ++# ++# ++LINK=ar crv ++DYN_LINK=gcc -shared -o ++ ++OBJEXT=o ++DYNEXT=so ++STEXT=a ++RM=rm -rf ++PATH_SEP=/ ++MKDIR=mkdir -p ++COMP=GCC-LINUX ++INSTALL_STEP = install_unix ++ ++all: msg all_dynamic all_static symbolic_links ++ ++msg: ++ @echo "*** ATTENTION! ***" ++ @echo "This makefile tries to use system locale which might not work well with all glibc flavours." ++ @echo "If build fails, please resort to gcc.mak which will build C-locale only version for STLport" ++ @echo "******************" ++include common_macros.mak ++ ++WARNING_FLAGS= -W -Wno-sign-compare -Wno-unused -Wno-uninitialized -D_STLP_USE_GLIBC ++ ++# boris : real locale implementation may not really work ++# CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} -D_STLP_REAL_LOCALE_IMPLEMENTED ++CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} ++ ++CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O2 ++CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -O2 -fPIC ++ ++CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -O -g ++CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -O -g -fPIC ++ ++CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG ++CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG -fPIC ++ ++include common_percent_rules.mak ++include common_rules.mak ++ ++ ++#install: all ++# cp -p $(LIB_TARGET) ${D_LIB_TARGET} ../lib ++ ++#%.s: %.cpp ++# $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ ++ ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-mingw32.mak tripwire-2.3.1-2/src/STLport-4.0/src/gcc-mingw32.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-mingw32.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/gcc-mingw32.mak Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,78 @@ ++# ++# compiler ++# ++CC = gcc ++CXX = c++ ++ ++# ++# Basename for libraries ++# ++LIB_BASENAME = libstlport_mingw32 ++ ++# ++# guts for common stuff ++# ++# ++LINK=ar crv ++DYN_LINK=c++ -shared -o ++ ++OBJEXT=o ++DYNEXT=dll ++STEXT=a ++RM=rm -rf ++PATH_SEP=/ ++MKDIR=mkdir -p ++COMP=MINGW32 ++ ++STATIC_SUFFIX=_static ++ ++all: all_dynamic all_static ++ ++include common_macros.mak ++ ++RESFILE=$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)stlport.o ++RESFILE_debug=$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)stlport.o ++RESFILE_stldebug=$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)stlport.o ++ ++WARNING_FLAGS= -W -Wno-sign-compare -Wno-unused -Wno-uninitialized ++ ++CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} ++ ++CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O2 ++# CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -O2 -shared -D_STLP_USE_DYNAMIC_LIB ++CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -O2 -D_STLP_USE_DYNAMIC_LIB ++ ++CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -O -g ++CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -O -g -shared -D_STLP_USE_DYNAMIC_LIB ++ ++CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG ++CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG -shared -D_STLP_USE_DYNAMIC_LIB ++ ++LDFLAGS_RELEASE_static = ++# LDFLAGS_RELEASE_dynamic = ${CXXFLAGS_RELEASE_dynamic} -Wl,--no-undefined, -Wl,--export-all-symbols -Wl,-d -Wl,--out-implib,${OUTDIR}/${RELEASE_NAME}.a ++LDFLAGS_RELEASE_dynamic = ${CXXFLAGS_RELEASE_dynamic} -Wl,--export-all-symbols -Wl,-d -Wl,--out-implib,${OUTDIR}/${RELEASE_NAME}.a ++ ++LDFLAGS_DEBUG_static = ++LDFLAGS_DEBUG_dynamic = ${CXXFLAGS_DEBUG_dynamic} -Wl,--export-all-symbols -Wl,-d -Wl,--out-implib,${OUTDIR}/${DEBUG_NAME}.a ++ ++LDFLAGS_STLDEBUG_static = ++LDFLAGS_STLDEBUG_dynamic = ${CXXFLAGS_STLDEBUG_dynamic} -Wl,--export-all-symbols -Wl,--out-implib,${OUTDIR}/${STLDEBUG_NAME}.a ++ ++ ++include common_percent_rules.mak ++include common_rules.mak ++ ++ ++${RESFILE}: stlport.rc ++ windres -O coff --define COMP=${COMP} --define BUILD= -o $(RELEASE_OBJDIR_dynamic)$(PATH_SEP)stlport.o stlport.rc ++ ++${RESFILE_debug}: stlport.rc ++ windres -O coff --define COMP=${COMP} --define BUILD=_DEBUG -o $(DEBUG_OBJDIR_dynamic)$(PATH_SEP)stlport.o stlport.rc ++ ++${RESFILE_stldebug}: stlport.rc ++ windres -O coff --define COMP=${COMP} --define BUILD=_STLDEBUG -o $(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)stlport.o stlport.rc ++ ++#%.s: %.cpp ++# $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ ++ ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-ncr.mak tripwire-2.3.1-2/src/STLport-4.0/src/gcc-ncr.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-ncr.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/gcc-ncr.mak Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,60 @@ ++# ++# Note : this makefile is for gcc-2.95 and later ! ++# ++ ++# ++# compiler ++# ++CC = gcc ++CXX = c++ -fexceptions ++ ++# ++# Basename for libraries ++# ++LIB_BASENAME = libstlport_gcc ++ ++# ++# guts for common stuff ++# ++# ++LINK=ar cr ++# 2.95 flag ++DYN_LINK=c++ -pthreads -fexceptions -shared -o ++ ++OBJEXT=o ++DYNEXT=so ++STEXT=a ++RM=rm -rf ++PATH_SEP=/ ++MKDIR=mkdir -p ++COMP=GCC-NCR ++INSTALL_STEP = install_unix ++ ++all: all_dynamic all_static symbolic_links ++ ++include common_macros.mak ++ ++WARNING_FLAGS= -Wall -W -Wno-sign-compare -Wno-unused -Wno-uninitialized -ftemplate-depth-32 ++ ++CXXFLAGS_COMMON = -D__NCR_SVR -I${STLPORT_DIR} ${WARNING_FLAGS} ++ ++CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O2 ++CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -O2 -fPIC ++ ++CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -g ++CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -g -fPIC ++ ++CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG ++CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG ++ ++include common_percent_rules.mak ++include common_rules.mak ++ ++ ++#install: all ++# cp -p $(LIB_TARGET) ${D_LIB_TARGET} ../lib ++ ++#%.s: %.cpp ++# $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ ++ ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-netbsd.mak tripwire-2.3.1-2/src/STLport-4.0/src/gcc-netbsd.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-netbsd.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/gcc-netbsd.mak Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,60 @@ ++# ++# Note : this makefile is for gcc-2.95 and later ! ++# ++ ++# ++# compiler ++# ++CC = gcc ++CXX = c++ -fexceptions ++ ++# ++# Basename for libraries ++# ++LIB_BASENAME = libstlport_gcc ++ ++# ++# guts for common stuff ++# ++# ++LINK=ar crv ++# 2.95 flag ++DYN_LINK=c++ -lpthread -fexceptions -shared -fPIC -o ++ ++OBJEXT=o ++DYNEXT=so ++STEXT=a ++RM=rm -rf ++PATH_SEP=/ ++MKDIR=mkdir -p ++COMP=GCC-NETBSD ++INSTALL_STEP = install_unix ++ ++all: all_dynamic all_static symbolic_links ++ ++include common_macros.mak ++ ++WARNING_FLAGS= -Wall -W -Wno-sign-compare -Wno-unused -Wno-uninitialized -ftemplate-depth-32 ++ ++CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} ++ ++CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O2 ++CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -O2 -fPIC ++ ++CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -O -g ++CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -O -g -fPIC ++ ++CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG ++CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG -fPIC ++ ++include common_percent_rules.mak ++include common_rules.mak ++ ++ ++#install: all ++# cp -p $(LIB_TARGET) ${D_LIB_TARGET} ../lib ++ ++#%.s: %.cpp ++# $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ ++ ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-sun.mak tripwire-2.3.1-2/src/STLport-4.0/src/gcc-sun.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-sun.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/gcc-sun.mak Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,71 @@ ++# ++# Note : this makefile is for gcc-2.95 and later ! ++# ++ ++# ++# compiler ++# ++CC = gcc ++CXX = c++ -pthreads ++ ++CUR_DIR= ${PWD}/ ++ ++STLPORT_DIR=${PWD}/../stlport ++ ++# ++# Basename for libraries ++# ++LIB_BASENAME = libstlport_gcc ++ ++# ++# guts for common stuff ++# ++# ++LINK=ar cr ++# 2.95 flag ++DYN_LINK=c++ -pthreads -shared -o ++ ++OBJEXT=o ++DYNEXT=so ++STEXT=a ++RM=rm -rf ++PATH_SEP=/ ++MKDIR=mkdir -p ++COMP=GCC-SUN ++INSTALL_STEP = install_unix ++ ++all: all_dynamic all_static symbolic_links ++ ++include common_macros.mak ++ ++WARNING_FLAGS= -Wall -W -Wno-sign-compare -Wno-unused -Wno-uninitialized ++ ++CXXFLAGS_COMMON = -fexceptions -ftemplate-depth-32 -shared -I${STLPORT_DIR} ${WARNING_FLAGS} ++ ++CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O2 ++CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -O2 -fPIC ++ ++CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -gstabs ++CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -gstabs -fPIC ++ ++CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG ++CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG ++ ++# LDFLAGS_RELEASE_dynamic = ${CXXFLAGS_RELEASE_dynamic} -Wl,-soname,${RELEASE_DYNLIB_SONAME} ++# LDFLAGS_DEBUG_dynamic = ${CXXFLAGS_DEBUG_dynamic} -Wl,-soname,${DEBUG_DYNLIB_SONAME} ++# LDFLAGS_STLDEBUG_dynamic = ${CXXFLAGS_STLDEBUG_dynamic} -Wl,-soname,${STLDEBUG_DYNLIB_SONAME} ++ ++LDFLAGS_RELEASE_dynamic = ${CXXFLAGS_RELEASE_dynamic} ++LDFLAGS_DEBUG_dynamic = ${CXXFLAGS_DEBUG_dynamic} ++LDFLAGS_STLDEBUG_dynamic = ${CXXFLAGS_STLDEBUG_dynamic} ++ ++# LDLIBS_RELEASE_dynamic = -lposix4 ++# LDLIBS_STLDEBUG_dynamic = -lposix4 ++ ++include common_percent_rules.mak ++include common_rules.mak ++ ++#%.s: %.cpp ++# $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ ++ ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc.mak tripwire-2.3.1-2/src/STLport-4.0/src/gcc.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc.mak Sat Feb 24 10:44:09 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/gcc.mak Sat Mar 22 16:42:12 2003 +@@ -5,8 +5,9 @@ + # + # compiler + # +-CC = gcc +-CXX = c++ ++CC ?= gcc ++CXX ?= c++ ++CXXFLAGS ?= -pthread -fexceptions + + # + # Basename for libraries +@@ -19,7 +20,7 @@ + # + LINK=ar cr + # 2.95 flag +-DYN_LINK=gcc -shared -o ++DYN_LINK=c++ -pthread -fexceptions -shared -o + + OBJEXT=o + DYNEXT=so +@@ -28,23 +29,24 @@ + PATH_SEP=/ + MKDIR=mkdir -p + COMP=GCC$(ARCH) ++INSTALL_STEP = install_unix + +-all: all_dynamic all_static ++all: all_dynamic all_static symbolic_links + + include common_macros.mak + + WARNING_FLAGS= -Wall -W -Wno-sign-compare -Wno-unused -Wno-uninitialized -ftemplate-depth-32 + +-CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} ++CXXFLAGS_COMMON = $(CXXFLAGS) -I${STLPORT_DIR} ${WARNING_FLAGS} + +-CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O2 +-CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -O2 -fPIC ++CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) ++CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -fPIC + + CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -g + CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -g -fPIC + +-CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D__STL_DEBUG +-CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D__STL_DEBUG -fPIC ++CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG ++CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG + + include common_percent_rules.mak + include common_rules.mak +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc7.mak tripwire-2.3.1-2/src/STLport-4.0/src/gcc7.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc7.mak Sat Feb 24 10:44:09 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/gcc7.mak Sun Aug 11 18:59:22 2002 +@@ -23,23 +23,24 @@ + PATH_SEP=/ + MKDIR=mkdir -p + COMP=GCC7${ARCH} ++INSTALL_STEP = install_unix + +-all: all_dynamic all_static ++all: all_dynamic all_static symbolic_links + + include common_macros.mak + +-WARNING_FLAGS= -W -Wno-sign-compare -Wno-unused -Wno-uninitialized -D__STL_NO_TYPEINFO -D__STL_NO_EXCEPTIONS -frtti ++WARNING_FLAGS= -W -Wno-sign-compare -Wno-unused -Wno-uninitialized -D_STLP_NO_TYPEINFO -D_STLP_NO_EXCEPTIONS -frtti + + CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} + + CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O2 + CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -O2 -fpic + +-CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -g +-CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -g -fpic ++CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -O -g ++CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -O -g -fpic + +-CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D__STL_DEBUG +-CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D__STL_DEBUG -fpic ++CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG ++CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG -fpic + + include common_percent_rules.mak + include common_rules.mak +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc8.mak tripwire-2.3.1-2/src/STLport-4.0/src/gcc8.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc8.mak Sat Feb 24 10:44:09 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/gcc8.mak Sun Aug 11 18:59:22 2002 +@@ -23,6 +23,7 @@ + PATH_SEP=/ + MKDIR=mkdir -p + COMP=GCC8${ARCH} ++INSTALL_STEP = install_unix + + all: all_static + +@@ -30,17 +31,17 @@ + + WARNING_FLAGS= -Wall -W -Wno-sign-compare -Wno-unused -Wno-uninitialized + +-CXXFLAGS_COMMON = -I${STLPORT_DIR} -I/usr/local/depot/libstdc++/2.8.1.1/include/g++ -I/usr/local/depot/libstdc++/2.8.1.1/sparc-sun-solaris2.6/include ${WARNING_FLAGS} ++CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} + + # -O does not always work for gcc-2.8 + CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) + CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -fpic + +-CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -g +-CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -g -fpic ++CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -O -g ++CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -O -g -fpic + +-CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D__STL_DEBUG +-CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D__STL_DEBUG -fpic ++CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG ++CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG -fpic + + include common_percent_rules.mak + include common_rules.mak +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/hpacc.mak tripwire-2.3.1-2/src/STLport-4.0/src/hpacc.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/hpacc.mak Sat Feb 24 10:44:09 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/hpacc.mak Sun Aug 11 18:59:22 2002 +@@ -26,14 +26,17 @@ + PATH_SEP=/ + MKDIR=mkdir -p + COMP=ACC$(ARCH) ++INSTALL_STEP = install_unix + +-all: all_dynamic all_static ++all: all_dynamic all_static symbolic_links + + include common_macros.mak + + WARNING_FLAGS= + +-CXXFLAGS_COMMON = +ESlit -Aa -I${STLPORT_DIR} ${WARNING_FLAGS} ++# CXXFLAGS_COMMON = +ESlit -Aa -I${STLPORT_DIR} ${WARNING_FLAGS} ++# CXXFLAGS_COMMON = -Aa -I${STLPORT_DIR} -D_REENTRANT +inst_close ${WARNING_FLAGS} ++CXXFLAGS_COMMON = -AA -I${STLPORT_DIR} +inst_close ${WARNING_FLAGS} ${CXX_EXTRA_FLAGS} + + CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) ${OPTIM} -z + CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) ${OPTIM} -z +Z +@@ -41,8 +44,8 @@ + CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -g ${OPTIM} -z + CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -g ${OPTIM} -z +Z + +-CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D__STL_DEBUG +-CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D__STL_DEBUG ++CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG ++CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG + + include common_percent_rules.mak + include common_rules.mak +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/install.sh tripwire-2.3.1-2/src/STLport-4.0/src/install.sh +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/install.sh Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/install.sh Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,238 @@ ++#! /bin/sh ++# ++# install - install a program, script, or datafile ++# This comes from X11R5. ++# ++# Calling this script install-sh is preferred over install.sh, to prevent ++# `make' implicit rules from creating a file called install from it ++# when there is no Makefile. ++# ++# This script is compatible with the BSD install script, but was written ++# from scratch. ++# ++ ++ ++# set DOITPROG to echo to test this script ++ ++# Don't use :- since 4.3BSD and earlier shells don't like it. ++doit="${DOITPROG-}" ++ ++ ++# put in absolute paths if you don't have them in your path; or use env. vars. ++ ++mvprog="${MVPROG-mv}" ++cpprog="${CPPROG-cp}" ++chmodprog="${CHMODPROG-chmod}" ++chownprog="${CHOWNPROG-chown}" ++chgrpprog="${CHGRPPROG-chgrp}" ++stripprog="${STRIPPROG-strip}" ++rmprog="${RMPROG-rm}" ++mkdirprog="${MKDIRPROG-mkdir}" ++ ++tranformbasename="" ++transform_arg="" ++instcmd="$mvprog" ++chmodcmd="$chmodprog 0755" ++chowncmd="" ++chgrpcmd="" ++stripcmd="" ++rmcmd="$rmprog -f" ++mvcmd="$mvprog" ++src="" ++dst="" ++dir_arg="" ++ ++while [ x"$1" != x ]; do ++ case $1 in ++ -c) instcmd="$cpprog" ++ shift ++ continue;; ++ ++ -d) dir_arg=true ++ shift ++ continue;; ++ ++ -m) chmodcmd="$chmodprog $2" ++ shift ++ shift ++ continue;; ++ ++ -o) chowncmd="$chownprog $2" ++ shift ++ shift ++ continue;; ++ ++ -g) chgrpcmd="$chgrpprog $2" ++ shift ++ shift ++ continue;; ++ ++ -s) stripcmd="$stripprog" ++ shift ++ continue;; ++ ++ -t=*) transformarg=`echo $1 | sed 's/-t=//'` ++ shift ++ continue;; ++ ++ -b=*) transformbasename=`echo $1 | sed 's/-b=//'` ++ shift ++ continue;; ++ ++ *) if [ x"$src" = x ] ++ then ++ src=$1 ++ else ++ # this colon is to work around a 386BSD /bin/sh bug ++ : ++ dst=$1 ++ fi ++ shift ++ continue;; ++ esac ++done ++ ++if [ x"$src" = x ] ++then ++ echo "install: no input file specified" ++ exit 1 ++else ++ true ++fi ++ ++if [ x"$dir_arg" != x ]; then ++ dst=$src ++ src="" ++ ++ if [ -d $dst ]; then ++ instcmd=: ++ else ++ instcmd=mkdir ++ fi ++else ++ ++# Waiting for this to be detected by the "$instcmd $src $dsttmp" command ++# might cause directories to be created, which would be especially bad ++# if $src (and thus $dsttmp) contains '*'. ++ ++ if [ -f $src -o -d $src ] ++ then ++ true ++ else ++ echo "install: $src does not exist" ++ exit 1 ++ fi ++ ++ if [ x"$dst" = x ] ++ then ++ echo "install: no destination specified" ++ exit 1 ++ else ++ true ++ fi ++ ++# If destination is a directory, append the input filename; if your system ++# does not like double slashes in filenames, you may need to add some logic ++ ++ if [ -d $dst ] ++ then ++ dst="$dst"/`basename $src` ++ else ++ true ++ fi ++fi ++ ++## this sed command emulates the dirname command ++dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` ++ ++# Make sure that the destination directory exists. ++# this part is taken from Noah Friedman's mkinstalldirs script ++ ++# Skip lots of stat calls in the usual case. ++if [ ! -d "$dstdir" ]; then ++defaultIFS=' ++' ++IFS="${IFS-${defaultIFS}}" ++ ++oIFS="${IFS}" ++# Some sh's can't handle IFS=/ for some reason. ++IFS='%' ++set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` ++IFS="${oIFS}" ++ ++pathcomp='' ++ ++while [ $# -ne 0 ] ; do ++ pathcomp="${pathcomp}${1}" ++ shift ++ ++ if [ ! -d "${pathcomp}" ] ; ++ then ++ $mkdirprog "${pathcomp}" ++ else ++ true ++ fi ++ ++ pathcomp="${pathcomp}/" ++done ++fi ++ ++if [ x"$dir_arg" != x ] ++then ++ $doit $instcmd $dst && ++ ++ if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi && ++ if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi && ++ if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi && ++ if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi ++else ++ ++# If we're going to rename the final executable, determine the name now. ++ ++ if [ x"$transformarg" = x ] ++ then ++ dstfile=`basename $dst` ++ else ++ dstfile=`basename $dst $transformbasename | ++ sed $transformarg`$transformbasename ++ fi ++ ++# don't allow the sed command to completely eliminate the filename ++ ++ if [ x"$dstfile" = x ] ++ then ++ dstfile=`basename $dst` ++ else ++ true ++ fi ++ ++# Make a temp file name in the proper directory. ++ ++ dsttmp=$dstdir/#inst.$$# ++ ++# Move or copy the file name to the temp name ++ ++ $doit $instcmd $src $dsttmp && ++ ++ trap "rm -f ${dsttmp}" 0 && ++ ++# and set any options; do chmod last to preserve setuid bits ++ ++# If any of these fail, we abort the whole thing. If we want to ++# ignore errors from any of these, just make sure not to ignore ++# errors from the above "$doit $instcmd $src $dsttmp" command. ++ ++ if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi && ++ if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi && ++ if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi && ++ if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi && ++ ++# Now rename the file to the real destination. ++ ++ $doit $rmcmd -f $dstdir/$dstfile && ++ $doit $mvcmd $dsttmp $dstdir/$dstfile ++ ++fi && ++ ++ ++exit 0 +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/intel40.mak tripwire-2.3.1-2/src/STLport-4.0/src/intel40.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/intel40.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/intel40.mak Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,26 @@ ++# ++# Tools ++# ++ ++CXX=icl.exe ++CC=icl.exe ++RC=rc ++ ++LIB_BASENAME=stlport_icl ++ ++# EXTRA_COMMON_FLAGS=/D "_MBCS" ++EXTRA_COMMON_FLAGS= -D_MBCS ++EXTRA_DEBUG_FLAGS= ++EXTRA_NDEBUG_FLAGS= -Qipo -Qsox- ++ ++COMP=ICL ++ ++all: all_static ++ ++!INCLUDE vc_common.mak ++ ++# ++# ++ ++ ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/intel45.mak tripwire-2.3.1-2/src/STLport-4.0/src/intel45.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/intel45.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/intel45.mak Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,30 @@ ++# ++# Makefile for Intel C++ compiler v.4.5 ++ ++# ++# Tools ++# ++CXX=icl.exe ++CC=icl.exe ++# Intel frontend tools ++# LINK=xilib.exe ++ ++DYN_LINK=xilink.exe ++ ++ ++LIB_BASENAME=stlport_icl ++COMP=ICL ++ ++EXTRA_COMMON_FLAGS= -D_MBCS -Qwd186 ++EXTRA_DEBUG_FLAGS= ++EXTRA_NDEBUG_FLAGS= -Qsox- ++ ++all: platform all_dynamic all_static ++ ++!INCLUDE vc_common.mak ++ ++# ++# ++ ++ ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/intel50.mak tripwire-2.3.1-2/src/STLport-4.0/src/intel50.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/intel50.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/intel50.mak Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,33 @@ ++# ++# Makefile for Intel C++ compiler v.5.0 ++ ++# ++# Tools ++# ++ ++CXX=icl.exe ++CC=icl.exe ++RC=rc ++ ++# Intel frontend tools ++# LINK=xilib.exe ++ ++DYN_LINK=xilink.exe ++ ++ ++LIB_BASENAME=stlport_icl ++COMP=ICL ++ ++EXTRA_COMMON_FLAGS= -D_MBCS -Qwd186,985 ++EXTRA_DEBUG_FLAGS= ++EXTRA_NDEBUG_FLAGS= -Qsox- ++ ++all: platform all_static all_dynamic ++ ++!INCLUDE vc_common.mak ++ ++# ++# ++ ++ ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/ios.cpp tripwire-2.3.1-2/src/STLport-4.0/src/ios.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/ios.cpp Sat Feb 24 10:44:09 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/ios.cpp Sun Aug 11 18:59:22 2002 +@@ -15,25 +15,298 @@ + * modified is included with the above copyright notice. + * + */ ++ + # include "stlport_prefix.h" +-#include +-#include +-#include +-#include +-#include +-#include +-#include ++# include ++# include ++ ++_STLP_BEGIN_NAMESPACE ++ ++char* _STLP_CALL ++__write_integer(char* buf, ios_base::fmtflags flags, long x); ++ ++//---------------------------------------------------------------------- ++// ios_base members ++ ++// class ios_base::failure, a subclass of exception. It's used solely ++// for reporting errors. ++ ++ios_base::failure::failure(const string& s) ++ : __Named_exception(s) ++{} ++ ++ios_base::failure::~failure() _STLP_NOTHROW_INHERENTLY {} ++ ++#if !defined (_STLP_STATIC_CONST_INIT_BUG) ++ ++// Definitions of ios_base's formatting flags. ++const ios_base::fmtflags ios_base::left; ++const ios_base::fmtflags ios_base::right; ++const ios_base::fmtflags ios_base::internal; ++const ios_base::fmtflags ios_base::dec; ++const ios_base::fmtflags ios_base::hex; ++const ios_base::fmtflags ios_base::oct; ++const ios_base::fmtflags ios_base::fixed; ++const ios_base::fmtflags ios_base::scientific; ++const ios_base::fmtflags ios_base::boolalpha; ++const ios_base::fmtflags ios_base::showbase; ++const ios_base::fmtflags ios_base::showpoint; ++const ios_base::fmtflags ios_base::showpos; ++const ios_base::fmtflags ios_base::skipws; ++const ios_base::fmtflags ios_base::unitbuf; ++const ios_base::fmtflags ios_base::uppercase; ++const ios_base::fmtflags ios_base::adjustfield; ++const ios_base::fmtflags ios_base::basefield; ++const ios_base::fmtflags ios_base::floatfield; ++ ++// Definitions of ios_base's state flags. ++const ios_base::iostate ios_base::goodbit; ++const ios_base::iostate ios_base::badbit; ++const ios_base::iostate ios_base::eofbit; ++const ios_base::iostate ios_base::failbit; ++ ++// Definitions of ios_base's openmode flags. ++const ios_base::openmode ios_base::app; ++const ios_base::openmode ios_base::ate; ++const ios_base::openmode ios_base::binary; ++const ios_base::openmode ios_base::in; ++const ios_base::openmode ios_base::out; ++const ios_base::openmode ios_base::trunc; ++ ++// Definitions of ios_base's seekdir flags. ++const ios_base::seekdir ios_base::beg; ++const ios_base::seekdir ios_base::cur; ++const ios_base::seekdir ios_base::end; ++ ++# endif /* _STLP_STATIC_CONST_INIT_BUG */ ++ ++// Internal functions used for managing exponentially-growing arrays of ++// POD types. ++ ++// array is a pointer to N elements of type PODType. Expands the array, ++// if necessary, so that array[index] is meaningful. All new elements are ++// initialized to zero. Returns a pointer to the new array, and the new ++// size. ++template ++pair ++_Stl_expand_array(PODType* array, size_t N, int index) ++{ ++ if ((int)N < index + 1) { ++ size_t new_N = (max)(2 * N, size_t(index + 1)); ++ PODType* new_array ++ = __STATIC_CAST(PODType*,realloc(array, new_N * sizeof(PODType))); ++ if (new_array) { ++ fill(new_array + N, new_array + new_N, PODType()); ++ return pair(new_array, new_N); ++ } ++ else ++ return pair(__STATIC_CAST(PODType*,0), 0); ++ } ++ else ++ return pair(array, N); ++} ++ ++// array is a pointer to N elements of type PODType. Allocate a new ++// array of N elements, copying the values from the old array to the new. ++// Return a pointer to the new array. It is assumed that array is non-null ++// and N is nonzero. ++template ++PODType* _Stl_copy_array(const PODType* array, size_t N) { ++ PODType* result = __STATIC_CAST(PODType*,malloc(N * sizeof(PODType))); ++ if (result) ++ copy(array, array + N, result); ++ return result; ++} ++ ++locale ios_base::imbue(const locale& loc) { ++ locale previous = _M_locale; ++ _M_locale = loc; ++ _M_invoke_callbacks(imbue_event); ++ return previous; ++} ++ ++int ios_base::_S_index = 0; ++ ++int _STLP_CALL ios_base::xalloc() ++{ ++ static _STLP_STATIC_MUTEX L _STLP_MUTEX_INITIALIZER; ++ _STLP_auto_lock sentry(L); ++ return _S_index++; ++} ++ ++long& ios_base::iword(int index) { ++ static long dummy = 0; ++ ++ pair tmp = _Stl_expand_array(_M_iwords, _M_num_iwords, index); ++ if (tmp.first) { // The allocation, if any, succeeded. ++ _M_iwords = tmp.first; ++ _M_num_iwords = tmp.second; ++ return _M_iwords[index]; ++ } ++ else { ++ _M_setstate_nothrow(badbit); ++ _M_check_exception_mask(); ++ return dummy; ++ } ++} ++ ++ ++void*& ios_base::pword(int index) { ++ static void* dummy = 0; ++ ++ pair tmp = _Stl_expand_array(_M_pwords, _M_num_pwords, index); ++ if (tmp.first) { // The allocation, if any, succeeded. ++ _M_pwords = tmp.first; ++ _M_num_pwords = tmp.second; ++ return _M_pwords[index]; ++ } ++ else { ++ _M_setstate_nothrow(badbit); ++ _M_check_exception_mask(); ++ return dummy; ++ } ++} ++ ++void ios_base::register_callback(event_callback __fn, int index) { ++ pair*, size_t> tmp ++ = _Stl_expand_array(_M_callbacks, _M_num_callbacks, (int)_M_callback_index /* fbp: index ??? */ ); ++ if (tmp.first) { ++ _M_callbacks = tmp.first; ++ _M_num_callbacks = tmp.second; ++ _M_callbacks[_M_callback_index++] = make_pair(__fn, index); ++ } ++ else { ++ _M_setstate_nothrow(badbit); ++ _M_check_exception_mask(); ++ } ++} ++ ++// Invokes all currently registered callbacks for a particular event. ++// Behaves correctly even if one of the callbacks adds a new callback. ++void ios_base::_M_invoke_callbacks(event E) { ++ for (size_t i = _M_callback_index; i > 0; --i) { ++ event_callback f = _M_callbacks[i-1].first; ++ int n = _M_callbacks[i-1].second; ++ f(E, *this, n); ++ } ++} ++ ++// This function is called if the state, rdstate(), has a bit set ++// that is also set in the exception mask exceptions(). ++void ios_base::_M_throw_failure() { ++ const char* arg ; ++# if 0 ++ char buffer[256]; ++ char* ptr; ++ strcpy(buffer, "ios failure: rdstate = 0x"); ++ ptr = __write_integer(buffer+strlen(buffer), ios_base::hex, __STATIC_CAST(unsigned long,_M_iostate)); ++ strcpy(ptr, " mask = 0x"); ++ ptr = __write_integer(buffer+strlen(buffer), ios_base::hex, __STATIC_CAST(unsigned long,_M_exception_mask)); ++ *ptr = 0; ++ arg = buffer; ++# else ++ arg = "ios failure"; ++# endif ++ ++# ifndef _STLP_USE_EXCEPTIONS ++ fputs(arg, stderr); ++# else ++ throw failure(arg); ++# endif ++} ++ ++// Copy x's state to *this. This member function is used in the ++// implementation of basic_ios::copyfmt. Does not copy _M_exception_mask ++// or _M_iostate. ++void ios_base::_M_copy_state(const ios_base& x) { ++ _M_fmtflags = x._M_fmtflags; // Copy the flags, except for _M_iostate ++ _M_openmode = x._M_openmode; // and _M_exception_mask. ++ _M_seekdir = x._M_seekdir; ++ _M_precision = x._M_precision; ++ _M_width = x._M_width; ++ ++ if (_M_locale != x._M_locale) { ++ _M_locale = x._M_locale; ++ _M_cached_ctype = x._M_cached_ctype; ++ _M_cached_numpunct = x._M_cached_numpunct; ++ } ++ ++ if (x._M_callbacks) { ++ pair* tmp = _Stl_copy_array(x._M_callbacks, x._M_callback_index); ++ if (tmp) { ++ free(_M_callbacks); ++ _M_callbacks = tmp; ++ _M_num_callbacks = _M_callback_index = x._M_callback_index; ++ } ++ else { ++ _M_setstate_nothrow(badbit); ++ _M_check_exception_mask(); ++ } ++ } ++ ++ if (x._M_iwords) { ++ long* tmp = _Stl_copy_array(x._M_iwords, x._M_num_iwords); ++ if (tmp) { ++ free(_M_iwords); ++ _M_iwords = tmp; ++ _M_num_iwords = x._M_num_iwords; ++ } ++ else { ++ _M_setstate_nothrow(badbit); ++ _M_check_exception_mask(); ++ } ++ } ++ ++ if (x._M_pwords) { ++ void** tmp = _Stl_copy_array(x._M_pwords, x._M_num_pwords); ++ if (tmp) { ++ free(_M_pwords); ++ _M_pwords = tmp; ++ _M_num_pwords = x._M_num_pwords; ++ } ++ else { ++ _M_setstate_nothrow(badbit); ++ _M_check_exception_mask(); ++ } ++ } ++} ++ ++ ++// ios's (protected) default constructor. The standard says that all ++// fields have indeterminate values; we initialize them to zero for ++// simplicity. The only thing that really matters is that the arrays ++// are all initially null pointers, and the array element counts are all ++// initially zero. ++ios_base::ios_base() ++ : _M_fmtflags(0), _M_iostate(0), _M_openmode(0), _M_seekdir(0), ++ _M_exception_mask(0), ++ _M_precision(0), _M_width(0), ++ _M_locale(), ++ _M_callbacks(0), _M_num_callbacks(0), _M_callback_index(0), ++ _M_iwords(0), _M_num_iwords(0), ++ _M_pwords(0), ++ _M_num_pwords(0) , _M_cached_ctype(0), _M_cached_numpunct(0) ++{ } + +-__STL_BEGIN_NAMESPACE ++// ios's destructor. ++ios_base::~ios_base() { ++ _M_invoke_callbacks(erase_event); ++ free(_M_callbacks); ++ free(_M_iwords); ++ free(_M_pwords); ++} + + //---------------------------------------------------------------------- + // Force instantiation of basic_ios + // For DLL exports, they are already instantiated. +-# if !defined(__STL_NO_FORCE_INSTANTIATE) +-template class __STL_CLASS_DECLSPEC basic_ios >; ++# if !defined(_STLP_NO_FORCE_INSTANTIATE) ++template class _STLP_CLASS_DECLSPEC basic_ios >; ++# ifndef _STLP_NO_WCHAR_T ++template class _STLP_CLASS_DECLSPEC basic_ios >; ++# endif /* _STLP_NO_WCHAR_T */ + # endif + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + + // Local Variables: + // mode:C++ +Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: ios_base.cpp +Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: ios_w.cpp +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/iostream.cpp tripwire-2.3.1-2/src/STLport-4.0/src/iostream.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/iostream.cpp Sat Feb 24 10:44:10 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/iostream.cpp Sun Aug 11 18:59:22 2002 +@@ -17,59 +17,27 @@ + */ + # include "stlport_prefix.h" + +-#include + #include +-#include +-#include +-#include +-#include ++// #include + +-__STL_BEGIN_NAMESPACE +- +-#if defined (__BORLANDC__) +-using __STL_VENDOR_CSTD::_streams; ++#include ++#include ++#include "aligned_buffer.h" ++ ++// boris : note this is repeated in ++#ifndef _STLP_USE_NAMESPACES ++// in case of SGI iostreams, we have to rename our streams not to clash with those ++// provided in native lib ++# define cin _STLP_cin ++# define cout _STLP_cout ++# define cerr _STLP_cerr ++# define clog _STLP_clog + #endif + +-// Good guess for having problems with global +-// native iostream objects is the absence of new-style ones +-# ifdef __STL_HAS_NO_NEW_IOSTREAMS +-# define GLOBAL_NATIVE_STREAM_OBJECTS +-# ifndef __STL_NO_WCHAR_T +-# define GLOBAL_NATIVE_WIDE_STREAM_OBJECTS +-# endif +-# endif +- +-#if !defined(__STL_NO_FORCE_INSTANTIATE) +- +-// instantiations +-template class __STL_CLASS_DECLSPEC istreambuf_iterator >; +-template class __STL_CLASS_DECLSPEC ostreambuf_iterator >; +- +-template class __STL_CLASS_DECLSPEC basic_ostream >; +- +-# if defined (__STL_USE_TEMPLATE_EXPORT) +-template class __STL_CLASS_DECLSPEC _Osentry >; +-template class __STL_CLASS_DECLSPEC _Isentry >; +-# endif +- +-template class __STL_CLASS_DECLSPEC basic_istream >; +-template class __STL_CLASS_DECLSPEC basic_iostream >; +- +-#ifndef __STL_NO_WCHAR_T +- +-template class __STL_CLASS_DECLSPEC ostreambuf_iterator >; +-template class __STL_CLASS_DECLSPEC istreambuf_iterator >; +- +-# if defined (__STL_USE_TEMPLATE_EXPORT) +-template class __STL_CLASS_DECLSPEC _Osentry >; +-template class __STL_CLASS_DECLSPEC _Isentry >; +-# endif +- +-template class __STL_CLASS_DECLSPEC basic_ostream >; +-template class __STL_CLASS_DECLSPEC basic_istream >; +-template class __STL_CLASS_DECLSPEC basic_iostream >; +-#endif /* INSTANTIATE_WIDE_STREAMS */ ++_STLP_BEGIN_NAMESPACE + ++#if defined (__BORLANDC__) && ! defined (_STLP_USE_GLIBC) ++using _STLP_VENDOR_CSTD::_streams; + #endif + + // This file handles iostream initialization. It is inherently +@@ -77,13 +45,13 @@ + // for controlling order of initialization of nonlocal objects. + // Initialization has three parts, which must be performed in the following + // order: +-// (1) Initialize the locale system by calling __initialize_locales() ++// (1) Initialize the locale system + // (2) Call the constructors for the eight global stream objects. + // (3) Create streambufs for the global stream objects, and initialize + // the stream objects by calling the init() member function. + + +-#if defined (__STL_MSVC) || defined(__MWERKS__) || defined (__ICL) ++#if defined (_STLP_MSVC) || defined(__MWERKS__) || defined (__ICL) || defined (__ISCPP__) + + // Definitions of the eight global I/O objects that are declared in + // . For VC++ we use the init_seg pragma to put the global I/O +@@ -94,18 +62,18 @@ + #if defined(__MWERKS__) + # pragma suppress_init_code on + #else +-# pragma init_seg("SGI_STL_NO_INIT") ++# pragma init_seg("STLPORT_NO_INIT") + #endif + +-__STL_DECLSPEC istream cin(0); +-__STL_DECLSPEC ostream cout(0); +-__STL_DECLSPEC ostream cerr(0); +-__STL_DECLSPEC ostream clog(0); +- +-__STL_DECLSPEC wistream wcin(0); +-__STL_DECLSPEC wostream wcout(0); +-__STL_DECLSPEC wostream wcerr(0); +-__STL_DECLSPEC wostream wclog(0); ++_STLP_DECLSPEC istream cin(0); ++_STLP_DECLSPEC ostream cout(0); ++_STLP_DECLSPEC ostream cerr(0); ++_STLP_DECLSPEC ostream clog(0); ++ ++_STLP_DECLSPEC wistream wcin(0); ++_STLP_DECLSPEC wostream wcout(0); ++_STLP_DECLSPEC wostream wcerr(0); ++_STLP_DECLSPEC wostream wclog(0); + + #if defined(__MWERKS__) + # pragma suppress_init_code off +@@ -125,47 +93,38 @@ + // Most compilers, however, silently accept this instead of diagnosing + // it as an error. + +-template +-union _Stl_aligned_buffer { +- char buf[sizeof(T)]; +- struct { double a; double b; } padding; +-}; +- +-__STL_DECLSPEC _Stl_aligned_buffer cin; +-__STL_DECLSPEC _Stl_aligned_buffer cout; +-__STL_DECLSPEC _Stl_aligned_buffer cerr; +-__STL_DECLSPEC _Stl_aligned_buffer clog; +- +-# ifndef __STL_NO_WCHAR_T +- +-__STL_DECLSPEC _Stl_aligned_buffer wcin; +-__STL_DECLSPEC _Stl_aligned_buffer wcout; +-__STL_DECLSPEC _Stl_aligned_buffer wcerr; +-__STL_DECLSPEC _Stl_aligned_buffer wclog; ++_STLP_DECLSPEC _Stl_aligned_buffer cin; ++_STLP_DECLSPEC _Stl_aligned_buffer cout; ++_STLP_DECLSPEC _Stl_aligned_buffer cerr; ++_STLP_DECLSPEC _Stl_aligned_buffer clog; ++ ++# ifndef _STLP_NO_WCHAR_T ++ ++_STLP_DECLSPEC _Stl_aligned_buffer wcin; ++_STLP_DECLSPEC _Stl_aligned_buffer wcout; ++_STLP_DECLSPEC _Stl_aligned_buffer wcerr; ++_STLP_DECLSPEC _Stl_aligned_buffer wclog; + + # endif + +-# ifdef GLOBAL_NATIVE_STREAM_OBJECTS +- +-_Stl_aligned_buffer saved_cin; +-_Stl_aligned_buffer saved_cout; +-_Stl_aligned_buffer saved_cerr; +-_Stl_aligned_buffer saved_clog; +- +-# ifndef __STL_NO_WCHAR_T +- +-_Stl_aligned_buffer saved_wcin; +-_Stl_aligned_buffer saved_wcout; +-_Stl_aligned_buffer saved_wcerr; +-_Stl_aligned_buffer saved_wclog; +- +-# endif +-# endif /* GLOBAL */ + #endif /* STL_MSVC || __MWERKS__ */ + + // Member functions from class ios_base and ios_base::Init + + long ios_base::Init::_S_count = 0; ++// by default, those are synced ++bool ios_base::_S_was_synced = true; ++ ++ios_base::Init::Init() { ++ if (_S_count++ == 0) ++ ios_base::_S_initialize(); ++} ++ ++ios_base::Init::~Init() { ++ if (--_S_count == 0) ++ ios_base::_S_uninitialize(); ++} ++ + + filebuf* + _Stl_create_filebuf(FILE* f, ios_base::openmode mode ) +@@ -174,10 +133,10 @@ + + result = new basic_filebuf >(); + +- try { +- result->open(_FILE_fd(*f), mode); ++ _STLP_TRY { ++ result->_M_open(_FILE_fd(f), mode); + } +- catch(...) {} ++ _STLP_CATCH_ALL {} + + if (!result->is_open()) { + delete result; +@@ -186,7 +145,7 @@ + return result; + } + +-# ifndef __STL_NO_WCHAR_T ++# ifndef _STLP_NO_WCHAR_T + + wfilebuf* + _Stl_create_wfilebuf(FILE* f, ios_base::openmode mode ) +@@ -195,10 +154,10 @@ + + result = new basic_filebuf >(); + +- try { +- result->open(_FILE_fd(*f), mode); ++ _STLP_TRY { ++ result->_M_open(_FILE_fd(f), mode); + } +- catch(...) {} ++ _STLP_CATCH_ALL {} + + if (!result->is_open()) { + delete result; +@@ -209,70 +168,46 @@ + + # endif + +-void __STL_CALL ios_base::_S_initialize() ++void _STLP_CALL ios_base::_S_initialize() + { +-# ifndef __STL_HAS_NO_NAMESPACES +- using SGI::stdio_istreambuf; +- using SGI::stdio_ostreambuf; ++# if !defined(_STLP_HAS_NO_NAMESPACES) && !defined(_STLP_WINCE) ++ using _SgI::stdio_istreambuf; ++ using _SgI::stdio_ostreambuf; + # endif +- // Initialize the locale system. +- locale::_S_initialize(); +- +- __STL_TRY { ++ _STLP_TRY { + // Run constructors for the four narrow stream objects. +-# if defined(__STL_MSVC) || defined(__MWERKS__) || defined (__ICL) +- istream* ptr_cin = new(&cin) istream(0); +- ostream* ptr_cout = new(&cout) ostream(0); +- ostream* ptr_cerr = new(&cerr) ostream(0); +- ostream* ptr_clog = new(&clog) ostream(0); +-# else +- +-# ifdef GLOBAL_NATIVE_STREAM_OBJECTS +- memcpy(saved_cin.buf, cin.buf, sizeof(cin)); +- memcpy(saved_cout.buf, cout.buf, sizeof(cout)); +- memcpy(saved_cerr.buf, cerr.buf, sizeof(cerr)); +- memcpy(saved_clog.buf, clog.buf, sizeof(clog)); +-# endif ++ // check with locale system ++ if (_Loc_init::_S_count++ == 0) { ++ locale::_S_initialize(); ++ } ++#if !defined(_STLP_WINCE) ++ istream* ptr_cin = new((void*)&cin) istream(0); ++ ostream* ptr_cout = new((void*)&cout) ostream(0); ++ ostream* ptr_cerr = new((void*)&cerr) ostream(0); ++ ostream* ptr_clog = new((void*)&clog) ostream(0); + +- istream* ptr_cin = new(cin.buf) istream(0); +- ostream* ptr_cout = new(cout.buf) ostream(0); +- ostream* ptr_cerr = new(cerr.buf) ostream(0); +- ostream* ptr_clog = new(clog.buf) ostream(0); +-# endif + // Initialize the four narrow stream objects. +- ptr_cin->init(new stdio_istreambuf(stdin)); +- ptr_cout->init(new stdio_ostreambuf(stdout)); +- ptr_cerr->init(new stdio_ostreambuf(stderr)); +- ptr_clog->init(new stdio_ostreambuf(stderr)); +- ++ if (_S_was_synced) { ++ ptr_cin->init(new stdio_istreambuf(stdin)); ++ ptr_cout->init(new stdio_ostreambuf(stdout)); ++ ptr_cerr->init(new stdio_ostreambuf(stderr)); ++ ptr_clog->init(new stdio_ostreambuf(stderr)); ++ } else { ++ ptr_cin->init(_Stl_create_filebuf(stdin, ios_base::in)); ++ ptr_cin->init(_Stl_create_filebuf(stdout, ios_base::out)); ++ ptr_cin->init(_Stl_create_filebuf(stderr, ios_base::out)); ++ ptr_cin->init(_Stl_create_filebuf(stderr, ios_base::out)); ++ } + ptr_cin->tie(ptr_cout); + ptr_cerr->setf(ios_base::unitbuf); + +-# ifndef __STL_NO_WCHAR_T ++# ifndef _STLP_NO_WCHAR_T + +-# if defined(__STL_MSVC) || defined(__MWERKS__) || defined (__ICL) + // Run constructors for the four wide stream objects. + wistream* ptr_wcin = new(&wcin) wistream(0); + wostream* ptr_wcout = new(&wcout) wostream(0); + wostream* ptr_wcerr = new(&wcerr) wostream(0); + wostream* ptr_wclog = new(&wclog) wostream(0); +-# else +- +- +-# ifdef GLOBAL_NATIVE_WIDE_STREAM_OBJECTS +- memcpy(saved_wcin.buf, wcin.buf, sizeof(wcin)); +- memcpy(saved_wcout.buf, wcout.buf, sizeof(wcout)); +- memcpy(saved_wcerr.buf, wcerr.buf, sizeof(wcerr)); +- memcpy(saved_wclog.buf, wclog.buf, sizeof(wclog)); +-# endif +- +- // Run constructors for the four wide stream objects. +- wistream* ptr_wcin = new(wcin.buf) wistream(0); +- wostream* ptr_wcout = new(wcout.buf) wostream(0); +- wostream* ptr_wcerr = new(wcerr.buf) wostream(0); +- wostream* ptr_wclog = new(wclog.buf) wostream(0); +- +-# endif /*__STL_MSVC */ + + wfilebuf* win = _Stl_create_wfilebuf(stdin, ios_base::in); + wfilebuf* wout = _Stl_create_wfilebuf(stdout, ios_base::out);; +@@ -287,14 +222,15 @@ + ptr_wcin->tie(ptr_wcout); + ptr_wcerr->setf(ios_base::unitbuf); + +-# endif /* __STL_NO_WCHAR_T */ ++# endif /* _STLP_NO_WCHAR_T */ ++#endif /* _STLP_WINCE */ + + } + +- __STL_CATCH_ALL {} ++ _STLP_CATCH_ALL {} + } + +-void __STL_CALL ios_base::_S_uninitialize() ++void _STLP_CALL ios_base::_S_uninitialize() + { + // Note that destroying output streambufs flushes the buffers. + +@@ -303,13 +239,19 @@ + ostream* ptr_cerr = __REINTERPRET_CAST(ostream*,&cerr); + ostream* ptr_clog = __REINTERPRET_CAST(ostream*,&clog); + +-# ifndef __STL_NO_WCHAR_T ++# ifndef _STLP_NO_WCHAR_T + wistream* ptr_wcin = __REINTERPRET_CAST(wistream*,&wcin); + wostream* ptr_wcout = __REINTERPRET_CAST(wostream*,&wcout); + wostream* ptr_wcerr = __REINTERPRET_CAST(wostream*,&wcerr); + wostream* ptr_wclog = __REINTERPRET_CAST(wostream*,&wclog); + # endif + ++ // we don't want any exceptions being thrown here ++ ptr_cin->exceptions(0); ++ ptr_cout->exceptions(0); ++ ptr_cerr->exceptions(0); ++ ptr_clog->exceptions(0); ++ + delete ptr_cin->rdbuf(0); + delete ptr_cout->rdbuf(0); + delete ptr_cerr->rdbuf(0); +@@ -320,7 +262,13 @@ + _Destroy(ptr_cerr); + _Destroy(ptr_clog); + +-# ifndef __STL_NO_WCHAR_T ++# ifndef _STLP_NO_WCHAR_T ++ // we don't want any exceptions being thrown here ++ ptr_wcin->exceptions(0); ++ ptr_wcout->exceptions(0); ++ ptr_wcerr->exceptions(0); ++ ptr_wclog->exceptions(0); ++ + delete ptr_wcin->rdbuf(0); + delete ptr_wcout->rdbuf(0); + delete ptr_wcerr->rdbuf(0); +@@ -332,30 +280,28 @@ + _Destroy(ptr_wclog); + + # endif ++ if (--_Loc_init::_S_count == 0) { ++ locale::_S_uninitialize(); ++ } ++} + +- // Shut down the locale subsystem. +- locale::_S_uninitialize(); +-# ifdef GLOBAL_NATIVE_STREAM_OBJECTS +- memcpy(cin.buf, saved_cin.buf, sizeof(cin)); +- memcpy(cout.buf, saved_cout.buf, sizeof(cout)); +- memcpy(cerr.buf, saved_cerr.buf, sizeof(cerr)); +- memcpy(clog.buf, saved_clog.buf, sizeof(clog)); +-# endif + +-# ifdef GLOBAL_NATIVE_WIDE_STREAM_OBJECTS +- memcpy(wcin.buf, saved_wcin.buf, sizeof(wcin)); +- memcpy(wcout.buf, saved_wcout.buf, sizeof(wcout)); +- memcpy(wcerr.buf, saved_wcerr.buf, sizeof(wcerr)); +- memcpy(wclog.buf, saved_wclog.buf, sizeof(wclog)); ++bool _STLP_CALL ios_base::sync_with_stdio(bool sync) { ++#if !defined(STLP_WINCE) ++# ifndef _STLP_HAS_NO_NAMESPACES ++ using _SgI::stdio_istreambuf; ++ using _SgI::stdio_ostreambuf; + # endif +-} ++ ++ bool was_synced = _S_was_synced; + ++ // if by any chance we got there before std streams initialization, ++ // just set the sync flag and exit ++ if (Init::_S_count == 0) { ++ _S_was_synced = sync; ++ return was_synced; ++ } + +-bool __STL_CALL ios_base::sync_with_stdio(bool sync) { +-# ifndef __STL_HAS_NO_NAMESPACES +- using SGI::stdio_istreambuf; +- using SGI::stdio_ostreambuf; +-# endif + istream* ptr_cin = __REINTERPRET_CAST(istream*,&cin); + ostream* ptr_cout = __REINTERPRET_CAST(ostream*,&cout); + ostream* ptr_cerr = __REINTERPRET_CAST(ostream*,&cerr); +@@ -365,15 +311,13 @@ + streambuf* old_cout = ptr_cout->rdbuf(); + streambuf* old_cerr = ptr_cerr->rdbuf(); + streambuf* old_clog = ptr_clog->rdbuf(); +- bool was_synced = old_cin != 0 && +- __DYNAMIC_CAST(stdio_istreambuf*,old_cin) != 0; + + streambuf* new_cin = 0; + streambuf* new_cout = 0; + streambuf* new_cerr = 0; + streambuf* new_clog = 0; + +- try { ++ _STLP_TRY { + if (sync && !was_synced) { + new_cin = new stdio_istreambuf(stdin); + new_cout = new stdio_ostreambuf(stdout); +@@ -387,7 +331,7 @@ + new_clog = _Stl_create_filebuf(stderr, ios_base::out); + } + } +- catch(...) {} ++ _STLP_CATCH_ALL {} + + if (new_cin && new_cout && new_cerr && new_clog) { + ptr_cin->rdbuf(new_cin); +@@ -408,10 +352,12 @@ + } + + return was_synced; ++#else ++ return false; ++#endif /* _STLP_WINCE */ + } + +-__STL_END_NAMESPACE +- ++_STLP_END_NAMESPACE + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/istream.cpp tripwire-2.3.1-2/src/STLport-4.0/src/istream.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/istream.cpp Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/istream.cpp Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,49 @@ ++/* ++ * Copyright (c) 1999 ++ * Silicon Graphics Computer Systems, Inc. ++ * ++ * Copyright (c) 1999 ++ * Boris Fomitchev ++ * ++ * This material is provided "as is", with absolutely no warranty expressed ++ * or implied. Any use is at your own risk. ++ * ++ * Permission to use or copy this software for any purpose is hereby granted ++ * without fee, provided the above notices are retained on all copies. ++ * Permission to modify the code and to distribute modified code is granted, ++ * provided the above notices are retained, and a notice that the code was ++ * modified is included with the above copyright notice. ++ * ++ */ ++# include "stlport_prefix.h" ++ ++#include ++ ++_STLP_BEGIN_NAMESPACE ++ ++#if !defined(_STLP_NO_FORCE_INSTANTIATE) ++// instantiations ++# if defined (_STLP_USE_TEMPLATE_EXPORT) ++template class _STLP_CLASS_DECLSPEC _Isentry >; ++# endif ++template class _STLP_CLASS_DECLSPEC basic_iostream >; ++#if !defined(_STLP_MSVC) || (_STLP_MSVC > 1100) ++template class _STLP_CLASS_DECLSPEC basic_istream >; ++#endif ++ ++#ifndef _STLP_NO_WCHAR_T ++# if defined (_STLP_USE_TEMPLATE_EXPORT) ++template class _STLP_CLASS_DECLSPEC _Isentry >; ++# endif ++#if !defined(_STLP_MSVC) || (_STLP_MSVC > 1100) ++template class _STLP_CLASS_DECLSPEC basic_istream >; ++#endif ++template class _STLP_CLASS_DECLSPEC basic_iostream >; ++#endif /* INSTANTIATE_WIDE_STREAMS */ ++#endif ++ ++_STLP_END_NAMESPACE ++ ++// Local Variables: ++// mode:C++ ++// End: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/kai-sun.mak tripwire-2.3.1-2/src/STLport-4.0/src/kai-sun.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/kai-sun.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/kai-sun.mak Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,67 @@ ++# ++# compiler ++# ++CC = KCC ++CXX = $(CC) ++ ++# ++# Basename for libraries ++# ++LIB_BASENAME = libstlport_kcc ++ ++# ++# guts for common stuff ++# ++# ++ ++WARNING_FLAGS= --one_per --thread_safe --exceptions --abstract_pointer ++ ++CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} ++ ++LINK=KCC ${CXXFLAGS_COMMON} -o ++DYN_LINK=KCC ${CXXFLAGS_COMMON} -o ++ ++OBJEXT=o ++DYNEXT=so ++STEXT=a ++RM=rm -rf ++PATH_SEP=/ ++MKDIR=mkdir -p ++COMP=KAI${ARCH} ++INSTALL_STEP = install_unix ++ ++all: sparc_atomic.o all_static all_dynamic symbolic_links ++ ++include common_macros.mak ++ ++CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) +K3 -O2 ++CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) +K3 -O2 -KPIC ++ ++CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) +K0 ++CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) +K0 -KPIC ++ ++CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG ++CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG ++ ++include common_percent_rules.mak ++include common_rules.mak ++ ++sparc_atomic.o : sparc_atomic.s ++ ${AS} sparc_atomic.s -o sparc_atomic.o ++sparc_atomic64.o : sparc_atomic64.s ++ ${AS} sparc_atomic64.s -o sparc_atomic64.o ++ ++LDFLAGS_RELEASE_static = ${CXXFLAGS_RELEASE_static} ++LDFLAGS_RELEASE_dynamic = ${CXXFLAGS_RELEASE_dynamic} --soname ${RELEASE_DYNLIB_SONAME} sparc_atomic.o ++ ++LDFLAGS_DEBUG_static = ${CXXFLAGS_DEBUG_static} sparc_atomic.o ++LDFLAGS_DEBUG_dynamic = ${CXXFLAGS_DEBUG_dynamic} --soname ${DEBUG_DYNLIB_SONAME} sparc_atomic.o ++ ++LDFLAGS_STLDEBUG_static = ${CXXFLAGS_STLDEBUG_static} sparc_atomic.o ++LDFLAGS_STLDEBUG_dynamic = ${CXXFLAGS_STLDEBUG_dynamic} --soname ${STLDEBUG_DYNLIB_SONAME} sparc_atomic.o ++ ++# LDLIBS_RELEASE_dynamic = -lposix4 ++# LDLIBS_STLDEBUG_dynamic = -lposix4 ++ ++ ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/kai.mak tripwire-2.3.1-2/src/STLport-4.0/src/kai.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/kai.mak Sat Feb 24 10:44:10 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/kai.mak Sun Aug 11 18:59:22 2002 +@@ -13,8 +13,13 @@ + # guts for common stuff + # + # ++ ++WARNING_FLAGS= --one_per --thread_safe --exceptions --abstract_pointer ++ ++CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} ++ + LINK=ar crv +-DYN_LINK=ar crv ++DYN_LINK=KCC ${CXXFLAGS_COMMON} -o + + OBJEXT=o + DYNEXT=so +@@ -23,32 +28,36 @@ + PATH_SEP=/ + MKDIR=mkdir -p + COMP=KAI${ARCH} ++INSTALL_STEP = install_unix + +-all: all_dynamic all_static ++all: all_static all_dynamic symbolic_links + + include common_macros.mak + +-WARNING_FLAGS= --one_per --thread_safe +K0 --exceptions --abstract_pointer +- +-CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} +- +-CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O2 +-CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -O2 -KPIC ++CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) +K3 -O2 ++CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) +K3 -O2 -KPIC + +-CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -g +-CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -g -KPIC ++CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -K0 ++CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -K0 -KPIC + +-CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D__STL_DEBUG +-CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D__STL_DEBUG -fpic ++CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG ++CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG + + include common_percent_rules.mak + include common_rules.mak + + +-#install: all +-# cp -p $(LIB_TARGET) ${D_LIB_TARGET} ../lib ++LDFLAGS_RELEASE_static = ${CXXFLAGS_RELEASE_static} ++LDFLAGS_RELEASE_dynamic = ${CXXFLAGS_RELEASE_dynamic} --soname ${RELEASE_DYNLIB_SONAME} ++ ++LDFLAGS_DEBUG_static = ${CXXFLAGS_DEBUG_static} ++LDFLAGS_DEBUG_dynamic = ${CXXFLAGS_DEBUG_dynamic} --soname ${DEBUG_DYNLIB_SONAME} ++ ++LDFLAGS_STLDEBUG_static = ${CXXFLAGS_STLDEBUG_static} sparc_atomic.S ++LDFLAGS_STLDEBUG_dynamic = ${CXXFLAGS_STLDEBUG_dynamic} --soname ${STLDEBUG_DYNLIB_SONAME} ++ ++LDLIBS_RELEASE_dynamic = -lposix4 ++LDLIBS_STLDEBUG_dynamic = -lposix4 + +-#%.s: %.cpp +-# $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ + + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/locale.cpp tripwire-2.3.1-2/src/STLport-4.0/src/locale.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/locale.cpp Sat Feb 24 10:44:10 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/locale.cpp Sun Aug 11 18:59:22 2002 +@@ -18,376 +18,103 @@ + # include "stlport_prefix.h" + + #include +-#include +-#include "locale_impl.h" ++#include ++#include + +-__STL_BEGIN_NAMESPACE ++#include "locale_nonclassic.h" + +-locale::facet::~facet() {} ++_STLP_BEGIN_NAMESPACE + +-# if ! defined ( __STL_MEMBER_TEMPLATES ) || defined (__STL_INLINE_MEMBER_TEMPLATES) +- +-template +-inline bool +-locale_do_operator_call (const locale* __that, const basic_string<_CharT, char_traits<_CharT>, allocator<_CharT> >& __x, +- const basic_string<_CharT, char_traits<_CharT>, allocator<_CharT> >& __y) ++_Locale::_Locale(const _Locale_impl& L) ++ : _Locale_impl(L), _Refcount_Base(1), facets_vec((void**)L.facets, (void**)L.facets+L.size()) + { +- // typedef char _CharT; +- const __STLPORT_STD::collate<_CharT>& __col = +- use_facet<__STLPORT_STD::collate<_CharT> >(*__that); +- return __col.compare(__x.data(), __x.data() + __x.size(), +- __y.data(), __y.data() + __y.size()); +-} +- +-// members that fail to be templates +-bool locale::operator()(const string& __x, +- const string& __y) const { +- return locale_do_operator_call(this, __x, __y); ++ for (size_t i = 1; i < L.size(); ++i) { ++ locale::facet* f = L.facets[i]; ++ if (f && f->_M_delete) ++ f->_M_incr(); ++ } ++ facets = (locale::facet**)&facets_vec[0]; ++ _M_size = facets_vec.size(); + } + +-# ifndef __STL_NO_WCHAR_T +-bool locale::operator()(const wstring& __x, +- const wstring& __y) const { +- return locale_do_operator_call(this, __x, __y); ++_Locale::~_Locale() { ++ size_t sz = facets_vec.size(); ++ for (size_t i = 1; i < sz ; ++i) ++ this->remove(i); + } +-# endif +-# endif + +-//---------------------------------------------------------------------- +-// struct locale::id +- +-size_t locale::id::_S_max; +-locale* _Stl_loc_classic_locale = 0; +-_STL_STATIC_MUTEX _Stl_loc_global_locale_lock __STL_MUTEX_INITIALIZER; +- +- +-//---------------------------------------------------------------------- +-// class locale +- +-// Helper function: return a copy of I. If do_clone is true +-// we create a new _Locale_impl object, otherwise we just adjust +-// the reference counts. +-_Locale_impl* __STL_CALL +-locale::_S_copy_impl(_Locale_impl* I, bool do_clone) +-{ +- if (do_clone) { +- _Locale_impl* result = new _Locale_impl(*I); +- result->name = "*"; +- return result; +- } +- else { +- I->_M_incr(); +- return I; ++void _Locale::remove(size_t index) { ++ if (index > 0 && index < facets_vec.size()) { ++ locale::facet* old = (locale::facet*)facets_vec[index]; ++ if (old && old->_M_delete) { ++ old->_M_decr(); ++ if (old->_M_ref_count == 0) ++ delete old; ++ } ++ facets_vec[index] = 0; + } + } + +-void locale::_M_insert(facet* f, locale::id& n) +-{ +- if (f) +- _M_impl->insert(f, _Stl_loc_get_index(n), false); +-} +- +- +-void __STL_CALL +-locale::_M_throw_runtime_error(const char* name) +-{ +- char buf[256]; +- +- if (name) { +- const char* prefix = "bad locale name: "; +- strcpy(buf, prefix); +- strncat(buf, name, 256 - strlen(prefix)); +- buf[255] = '\0'; +- } +- else { +- strcpy(buf, "locale error"); ++locale::facet* ++_Locale::insert(locale::facet* f, size_t index, bool do_incr) { ++ if (f != 0 && index != 0) { ++ if (index >= facets_vec.size()) { ++ facets_vec.insert(facets_vec.end(), ++ index - facets_vec.size() + 1, (void*) 0); ++ facets = (locale::facet**)&facets_vec[0]; ++ _M_size = facets_vec.size(); ++ } ++ if (do_incr) ++ f->_M_incr(); ++ ++ remove(index); ++ facets_vec[index] = (void*)f; ++ return f; + } +- __STL_THROW(runtime_error(buf)); ++ else ++ return 0; + } + +- +-// Initialization of the locale system. This must be called before +-// any locales are constructed. (Meaning that it must be called when +-// the I/O library itself is initialized.) +-void __STL_CALL +-locale::_S_initialize() +-{ +- +- _Stl_loc_assign_ids(); +- _Locale_impl* classic_impl = _Stl_loc_make_classic_locale(); +- _Stl_loc_global_impl = classic_impl; +- _Stl_loc_classic_locale = new locale(classic_impl, false); +- // Postcondition: number of references to classic_impl is 2. ++void _Locale::insert(_Locale_impl* from, const locale::id& n) { ++ size_t index = n._M_index; ++ this->remove(index); ++ if (index > 0 && index < from->size()) ++ this->insert(from->facets[index], index, true); + } + + ++static _STLP_STATIC_MUTEX _Index_lock _STLP_MUTEX_INITIALIZER; + +-void __STL_CALL +-locale::_S_uninitialize() ++// Takes a reference to a locale::id, and returns its numeric index. ++// If no numeric index has yet been assigned, assigns one. The return ++// value is always positive. ++static size_t _Stl_loc_get_index(locale::id& id) + { +- if (_Stl_loc_global_impl->_M_decr() == 0) +- delete _Stl_loc_global_impl; +- delete _Stl_loc_classic_locale; +- +- _Stl_loc_global_impl = 0; +- _Stl_loc_classic_locale = 0; ++ if (id._M_index == 0) { ++ _STLP_auto_lock sentry(_Index_lock); ++ size_t new_index = locale::id::_S_max++; ++ id._M_index = new_index; ++ } ++ return id._M_index; + } + +- +-// Default constructor: create a copy of the global locale. +-locale::locale() +- : _M_impl(0) ++void locale::_M_insert(facet* f, locale::id& n) + { +- _M_impl = _S_copy_impl(_Stl_loc_global_impl, false); ++ if (f) ++ ((_Locale*)_M_impl)->insert(f, _Stl_loc_get_index(n), false); + } + +-// Copy constructor +-locale::locale(const locale& L) __STL_NOTHROW +- : _M_impl(0) +-{ +- _M_impl = _S_copy_impl(L._M_impl, false); +-} + + // Make a locale directly from a _Locale_impl object. If the second argument + // is true, we clone the _Locale_impl. If false, we just twiddle pointers. + locale::locale(_Locale_impl* impl, bool do_copy) + : _M_impl(0) + { +- _M_impl = _S_copy_impl(impl, do_copy); +-} +- +- +-// Create a locale from a name. +-locale::locale(const char* name) +- : _M_impl(0) +-{ +- if (!name) +- _M_throw_runtime_error(0); +- +- __STL_TRY { +- _M_impl = new _Locale_impl(locale::id::_S_max, name); +- +- // Insert categories one at a time. +- _M_impl->insert_ctype_facets(name); +- _M_impl->insert_numeric_facets(name); +- _M_impl->insert_time_facets(name); +- _M_impl->insert_collate_facets(name); +- _M_impl->insert_monetary_facets(name); +- _M_impl->insert_messages_facets(name); +- } +- __STL_UNWIND(delete _M_impl); +-} +- +-// Contruct a new locale where all facets that aren't in category c +-// come from L1, and all those that are in category c come from L2. +-locale::locale(const locale& L1, const locale& L2, category c) +- : _M_impl(0) +-{ +- _M_impl = new _Locale_impl(*L1._M_impl); +- _Locale_impl* i2 = L2._M_impl; +- +- static string nameless("*"); +- if (L1.name() != nameless && L2.name() != nameless) +- _Stl_loc_combine_names(_M_impl, +- L1._M_impl->name.c_str(), L2._M_impl->name.c_str(), +- c); +- else { ++ if (do_copy) { ++ _M_impl = new _Locale(*impl); + _M_impl->name = "*"; +- } +- +- if (c & collate) { +- _M_impl->insert( i2, __STLPORT_STD::collate::id); +-# ifndef __STL_NO_WCHAR_T +- _M_impl->insert( i2, __STLPORT_STD::collate::id); +-# endif +- } +- if (c & ctype) { +- _M_impl->insert( i2, __STLPORT_STD::ctype::id); +- _M_impl->insert( i2, __STLPORT_STD::codecvt::id); +-# ifndef __STL_NO_WCHAR_T +- _M_impl->insert( i2, __STLPORT_STD::ctype::id); +- _M_impl->insert( i2, __STLPORT_STD::codecvt::id); +-# endif +- } +- if (c & monetary) { +- _M_impl->insert( i2, __STLPORT_STD::moneypunct::id); +- _M_impl->insert( i2, __STLPORT_STD::moneypunct::id); +- _M_impl->insert( i2, __STLPORT_STD::money_get > >::id); +- _M_impl->insert( i2, __STLPORT_STD::money_put > >::id); +-# ifndef __STL_NO_WCHAR_T +- _M_impl->insert( i2, __STLPORT_STD::moneypunct::id); +- _M_impl->insert( i2, __STLPORT_STD::moneypunct::id); +- _M_impl->insert( i2, __STLPORT_STD::money_get > >::id); +- _M_impl->insert( i2, __STLPORT_STD::money_put > >::id); +-# endif +- } +- if (c & numeric) { +- _M_impl->insert( i2, __STLPORT_STD::numpunct::id); +- _M_impl->insert( i2, __STLPORT_STD::num_get > >::id); +- _M_impl->insert( i2, __STLPORT_STD::num_put > >::id); +-# ifndef __STL_NO_WCHAR_T +- _M_impl->insert( i2, __STLPORT_STD::numpunct::id); +- _M_impl->insert( i2, num_get > >::id); +- _M_impl->insert( i2, num_put > >::id); +-# endif +- } +- if (c & time) { +- _M_impl->insert( i2, __STLPORT_STD::time_get > >::id); +- _M_impl->insert( i2, __STLPORT_STD::time_put > >::id); +-# ifndef __STL_NO_WCHAR_T +- _M_impl->insert( i2, __STLPORT_STD::time_get > >::id); +- _M_impl->insert( i2, __STLPORT_STD::time_put > >::id); +-# endif +- } +- if (c & messages) { +- _M_impl->insert( i2, __STLPORT_STD::messages::id); +-# ifndef __STL_NO_WCHAR_T +- _M_impl->insert( i2, __STLPORT_STD::messages::id); +-# endif +- } ++ } else ++ _M_impl = _S_copy_impl(impl); + } + +-// Create a locale that's a copy of L, except that all of the facets +-// in category c are instead constructed by name. +-locale::locale(const locale& L, const char* name, locale::category c) +- : _M_impl(0) +-{ +- if (name == 0 || strcmp(name, "*") == 0) +- _M_throw_runtime_error(name); +- +- __STL_TRY { +- _M_impl = new _Locale_impl(*L._M_impl); +- _Stl_loc_combine_names(_M_impl, L._M_impl->name.c_str(), name, c); +- +- if (c & locale::ctype) +- _M_impl->insert_ctype_facets(name); +- if (c & locale::numeric) +- _M_impl->insert_numeric_facets(name); +- if (c & locale::time) +- _M_impl->insert_time_facets(name); +- if (c & locale::collate) +- _M_impl->insert_collate_facets(name); +- if (c & locale::monetary) +- _M_impl->insert_monetary_facets(name); +- if (c & locale::messages) +- _M_impl->insert_messages_facets(name); +- } +- __STL_UNWIND(delete _M_impl) +-} +- +-// Destructor. +-locale::~locale() __STL_NOTHROW +-{ +- if (_M_impl->_M_decr() == 0) +- delete _M_impl; +-} +- +-// Assignment operator. Much like the copy constructor: just a bit of +-// pointer twiddling. +-const locale& locale::operator=(const locale& L) __STL_NOTHROW +-{ +- if (this->_M_impl != L._M_impl) { +- if (this->_M_impl->_M_decr() == 0) +- delete this->_M_impl; +- this->_M_impl = _S_copy_impl(L._M_impl, false); +- } +- return *this; +-} +- +-locale::facet* locale::_M_get_facet(const locale::id& n) const +-{ +- return n._M_index < _M_impl->facets.size() +- ? (locale::facet*)_M_impl->facets[n._M_index] +- : (locale::facet*) 0; +-} +- +-string locale::name() const { +- return _M_impl->name; +-} +- +- +-// Compare two locales for equality. +-bool locale::operator==(const locale& L) const { +- static string nameless("*"); +- +- return this->_M_impl == L._M_impl || +- (this->name() == L.name() && this->name() != nameless); +-} +- +-bool locale::operator!=(const locale& L) const { +- return !(*this == L); +-} +- +-// Static member functions. +-const locale& __STL_CALL +-locale::classic() { +- return *_Stl_loc_classic_locale; +-} +- +-locale __STL_CALL +-locale::global(const locale& L) +-{ +- locale old; // A copy of the old global locale. +- +- L._M_impl->_M_incr(); +- { +- _STL_auto_lock lock(_Stl_loc_global_locale_lock); +- _Stl_loc_global_impl->_M_decr(); // We made a copy, so it can't be zero. +- _Stl_loc_global_impl = L._M_impl; +- } +- +- // Set the global C locale, if appropriate. +- static string nameless("*"); +- if (L.name() != nameless) +- setlocale(LC_ALL, L.name().c_str()); +- +- return old; +-} +- +- +-// static data members. +- +-# if !defined (__STL_STATIC_CONST_INIT_BUG) && ! defined (__STL_USE_DECLSPEC) +- +-const locale::category locale::none; +-const locale::category locale::collate; +-const locale::category locale::ctype; +-const locale::category locale::monetary; +-const locale::category locale::numeric; +-const locale::category locale::time; +-const locale::category locale::messages; +-const locale::category locale::all; +- +-# endif +- +- +-//---------------------------------------------------------------------- +-// Declarations of (non-template) facets' static data members +-__STL_STATIC_MEMBER_DECLSPEC locale::id collate::id; +-__STL_STATIC_MEMBER_DECLSPEC locale::id ctype::id; +- +-__STL_STATIC_MEMBER_DECLSPEC locale::id numpunct::id; +- +- +-# ifndef __STL_NO_MBSTATE_T +-__STL_STATIC_MEMBER_DECLSPEC locale::id codecvt::id; +-__STL_STATIC_MEMBER_DECLSPEC locale::id codecvt::id; +-# endif +- +-__STL_STATIC_MEMBER_DECLSPEC locale::id moneypunct::id; +-__STL_STATIC_MEMBER_DECLSPEC locale::id moneypunct::id; +- +-__STL_STATIC_MEMBER_DECLSPEC locale::id messages::id; +- +-# ifndef __STL_NO_WCHAR_T +-__STL_STATIC_MEMBER_DECLSPEC locale::id numpunct::id; +-__STL_STATIC_MEMBER_DECLSPEC locale::id ctype::id; +-__STL_STATIC_MEMBER_DECLSPEC locale::id collate::id; +-__STL_STATIC_MEMBER_DECLSPEC locale::id moneypunct::id; +-__STL_STATIC_MEMBER_DECLSPEC locale::id moneypunct::id; +-__STL_STATIC_MEMBER_DECLSPEC locale::id messages::id; +-# endif +- +- +- +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/locale_catalog.cpp tripwire-2.3.1-2/src/STLport-4.0/src/locale_catalog.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/locale_catalog.cpp Sat Feb 24 10:44:11 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/locale_catalog.cpp Sun Aug 11 18:59:22 2002 +@@ -17,11 +17,26 @@ + */ + # include "stlport_prefix.h" + +-#include ++// #include + #include + #include "locale_impl.h" ++#include "c_locale.h" + +-__STL_BEGIN_NAMESPACE ++#include "locale_nonclassic.h" ++ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++ ++_STLP_BEGIN_NAMESPACE + + // those wrappers are needed to avoid extern "C" + +@@ -107,7 +122,7 @@ + // We have a single lock for all of the hash tables. We may wish to + // replace it with six different locks. + /* REFERENCED */ +-_STL_STATIC_MUTEX __category_hash_lock __STL_MUTEX_INITIALIZER; ++_STLP_STATIC_MUTEX __category_hash_lock _STLP_MUTEX_INITIALIZER; + + static void* + __acquire_category(const char* name, loc_create_func_t create_obj, +@@ -115,7 +130,7 @@ + { + typedef Category_Map::iterator Category_iterator; + pair result; +- _STL_auto_lock sentry(__category_hash_lock); ++ _STLP_auto_lock sentry(__category_hash_lock); + + typedef const char* key_type; + pair > __e(name, pair((void*)0,size_t(0))); +@@ -155,7 +170,7 @@ + loc_name_func_t get_name, + Category_Map* M) + { +- _STL_auto_lock sentry(__category_hash_lock); ++ _STLP_auto_lock sentry(__category_hash_lock); + + if (cat && M) { + // Find the name of the category object. +@@ -177,42 +192,545 @@ + } + } + +-_Locale_ctype* __STL_CALL __acquire_ctype(const char* name) ++_Locale_ctype* _STLP_CALL __acquire_ctype(const char* name) + { return __REINTERPRET_CAST(_Locale_ctype*, + __acquire_category(name, _Loc_ctype_create, _Loc_ctype_default, &ctype_hash)); } +-_Locale_numeric* __STL_CALL __acquire_numeric(const char* name) ++_Locale_numeric* _STLP_CALL __acquire_numeric(const char* name) + { return __REINTERPRET_CAST(_Locale_numeric*, + __acquire_category(name, _Loc_numeric_create, _Loc_numeric_default, &numeric_hash)); } +-_Locale_time* __STL_CALL __acquire_time(const char* name) ++_Locale_time* _STLP_CALL __acquire_time(const char* name) + { return __REINTERPRET_CAST(_Locale_time*, + __acquire_category(name, _Loc_time_create, _Loc_time_default, &time_hash)); } +-_Locale_collate* __STL_CALL __acquire_collate(const char* name) ++_Locale_collate* _STLP_CALL __acquire_collate(const char* name) + { return __REINTERPRET_CAST(_Locale_collate*, + __acquire_category(name, _Loc_collate_create, _Loc_collate_default, &collate_hash)); } +-_Locale_monetary* __STL_CALL __acquire_monetary(const char* name) ++_Locale_monetary* _STLP_CALL __acquire_monetary(const char* name) + { return __REINTERPRET_CAST(_Locale_monetary*, + __acquire_category(name, _Loc_monetary_create, _Loc_monetary_default, &monetary_hash)); } +-_Locale_messages* __STL_CALL __acquire_messages(const char* name) ++_Locale_messages* _STLP_CALL __acquire_messages(const char* name) + { return __REINTERPRET_CAST(_Locale_messages*, + __acquire_category(name, _Loc_messages_create, _Loc_messages_default, &messages_hash)); } + +-void __STL_CALL __release_ctype(_Locale_ctype* cat) { ++void _STLP_CALL __release_ctype(_Locale_ctype* cat) { + __release_category(cat, _Loc_ctype_destroy, _Loc_ctype_name, ctype_hash); + } +-void __STL_CALL __release_numeric(_Locale_numeric* cat) { ++void _STLP_CALL __release_numeric(_Locale_numeric* cat) { + __release_category(cat, _Loc_numeric_destroy, _Loc_numeric_name, numeric_hash); + } +-void __STL_CALL __release_time(_Locale_time* cat) { ++void _STLP_CALL __release_time(_Locale_time* cat) { + __release_category(cat, _Loc_time_destroy, _Loc_time_name, time_hash); + } +-void __STL_CALL __release_collate(_Locale_collate* cat) { ++void _STLP_CALL __release_collate(_Locale_collate* cat) { + __release_category(cat, _Loc_collate_destroy, _Loc_collate_name, collate_hash); + } +-void __STL_CALL __release_monetary(_Locale_monetary* cat) { ++void _STLP_CALL __release_monetary(_Locale_monetary* cat) { + __release_category(cat, _Loc_monetary_destroy, _Loc_monetary_name, monetary_hash); + } +-void __STL_CALL __release_messages(_Locale_messages* cat) { ++void _STLP_CALL __release_messages(_Locale_messages* cat) { + __release_category(cat, _Loc_messages_destroy, _Loc_messages_name, messages_hash); + } + +-__STL_END_NAMESPACE ++ ++// ++// content which is dependent on the name ++// ++ ++template ++inline locale::facet* ++_Locale_insert(_Locale* __that, Facet* f) { ++ return __that->insert(f, Facet::id._M_index, false); ++} ++ ++// Give L a name where all facets except those in category c ++// are taken from name1, and those in category c are taken from name2. ++void _Stl_loc_combine_names(_Locale* L, ++ const char* name1, const char* name2, ++ locale::category c) ++{ ++ if ((c & locale::all) == 0 || strcmp(name1, name2) == 0) ++ L->name = name1; ++ else if ((c & locale::all) == locale::all) ++ L->name = name2; ++ else { ++ // Decompose the names. ++ char ctype_buf[_Locale_MAX_SIMPLE_NAME]; ++ char numeric_buf[_Locale_MAX_SIMPLE_NAME]; ++ char time_buf[_Locale_MAX_SIMPLE_NAME]; ++ char collate_buf[_Locale_MAX_SIMPLE_NAME]; ++ char monetary_buf[_Locale_MAX_SIMPLE_NAME]; ++ char messages_buf[_Locale_MAX_SIMPLE_NAME]; ++ ++ _Locale_extract_ctype_name((c & locale::ctype) ? name2 : name1, ++ ctype_buf); ++ _Locale_extract_numeric_name((c & locale::numeric) ? name2 : name1, ++ numeric_buf); ++ _Locale_extract_time_name((c & locale::time) ? name2 : name1, ++ time_buf); ++ _Locale_extract_collate_name((c & locale::collate) ? name2 : name1, ++ collate_buf); ++ _Locale_extract_monetary_name((c & locale::monetary) ? name2 : name1, ++ monetary_buf); ++ _Locale_extract_messages_name((c & locale::messages) ? name2 : name1, ++ messages_buf); ++ ++ // Construct a new composite name. ++ char composite_buf[_Locale_MAX_COMPOSITE_NAME]; ++ _Locale_compose_name(composite_buf, ++ ctype_buf, numeric_buf, time_buf, ++ collate_buf, monetary_buf, messages_buf); ++ L->name = composite_buf; ++ } ++} ++ ++ ++// Create a locale from a name. ++locale::locale(const char* name) ++ : _M_impl(0) ++{ ++ if (!name) ++ _M_throw_runtime_error(0); ++ ++ _Locale* impl = 0; ++ ++ _STLP_TRY { ++ impl = new _Locale(locale::id::_S_max, name); ++ ++ // Insert categories one at a time. ++ impl->insert_ctype_facets(name); ++ impl->insert_numeric_facets(name); ++ impl->insert_time_facets(name); ++ impl->insert_collate_facets(name); ++ impl->insert_monetary_facets(name); ++ impl->insert_messages_facets(name); ++ // reassign impl ++ _M_impl = impl; ++ } ++ _STLP_UNWIND(delete impl); ++} ++ ++// Create a locale that's a copy of L, except that all of the facets ++// in category c are instead constructed by name. ++locale::locale(const locale& L, const char* name, locale::category c) ++ : _M_impl(0) ++{ ++ if (name == 0 || strcmp(name, "*") == 0) ++ _M_throw_runtime_error(name); ++ ++ _Locale* impl = 0; ++ ++ _STLP_TRY { ++ impl = new _Locale(*L._M_impl); ++ _Stl_loc_combine_names(impl, L._M_impl->name.c_str(), name, c); ++ ++ if (c & locale::ctype) ++ impl->insert_ctype_facets(name); ++ if (c & locale::numeric) ++ impl->insert_numeric_facets(name); ++ if (c & locale::time) ++ impl->insert_time_facets(name); ++ if (c & locale::collate) ++ impl->insert_collate_facets(name); ++ if (c & locale::monetary) ++ impl->insert_monetary_facets(name); ++ if (c & locale::messages) ++ impl->insert_messages_facets(name); ++ _M_impl = impl; ++ } ++ _STLP_UNWIND(delete impl) ++ ++} ++ ++// Contruct a new locale where all facets that aren't in category c ++// come from L1, and all those that are in category c come from L2. ++locale::locale(const locale& L1, const locale& L2, category c) ++ : _M_impl(0) ++{ ++ _Locale* impl = new _Locale(*L1._M_impl); ++ ++ _Locale_impl* i2 = L2._M_impl; ++ ++ static string nameless("*"); ++ if (L1.name() != nameless && L2.name() != nameless) ++ _Stl_loc_combine_names(impl, ++ L1._M_impl->name.c_str(), L2._M_impl->name.c_str(), ++ c); ++ else { ++ impl->name = "*"; ++ } ++ ++ if (c & collate) { ++ impl->insert( i2, _STLP_STD::collate::id); ++# ifndef _STLP_NO_WCHAR_T ++ impl->insert( i2, _STLP_STD::collate::id); ++# endif ++ } ++ if (c & ctype) { ++ impl->insert( i2, _STLP_STD::ctype::id); ++ impl->insert( i2, _STLP_STD::codecvt::id); ++# ifndef _STLP_NO_WCHAR_T ++ impl->insert( i2, _STLP_STD::ctype::id); ++ impl->insert( i2, _STLP_STD::codecvt::id); ++# endif ++ } ++ if (c & monetary) { ++ impl->insert( i2, _STLP_STD::moneypunct::id); ++ impl->insert( i2, _STLP_STD::moneypunct::id); ++ impl->insert( i2, _STLP_STD::money_get > >::id); ++ impl->insert( i2, _STLP_STD::money_put > >::id); ++# ifndef _STLP_NO_WCHAR_T ++ impl->insert( i2, _STLP_STD::moneypunct::id); ++ impl->insert( i2, _STLP_STD::moneypunct::id); ++ impl->insert( i2, _STLP_STD::money_get > >::id); ++ impl->insert( i2, _STLP_STD::money_put > >::id); ++# endif ++ } ++ if (c & numeric) { ++ impl->insert( i2, _STLP_STD::numpunct::id); ++ impl->insert( i2, _STLP_STD::num_get > >::id); ++ impl->insert( i2, _STLP_STD::num_put > >::id); ++# ifndef _STLP_NO_WCHAR_T ++ impl->insert( i2, _STLP_STD::numpunct::id); ++ impl->insert( i2, num_get > >::id); ++ impl->insert( i2, num_put > >::id); ++# endif ++ } ++ if (c & time) { ++ impl->insert( i2, _STLP_STD::time_get > >::id); ++ impl->insert( i2, _STLP_STD::time_put > >::id); ++# ifndef _STLP_NO_WCHAR_T ++ impl->insert( i2, _STLP_STD::time_get > >::id); ++ impl->insert( i2, _STLP_STD::time_put > >::id); ++# endif ++ } ++ if (c & messages) { ++ impl->insert( i2, _STLP_STD::messages::id); ++# ifndef _STLP_NO_WCHAR_T ++ impl->insert( i2, _STLP_STD::messages::id); ++# endif ++ } ++ _M_impl = impl; ++} ++ ++// Six functions, one for each category. Each of them takes a ++// _Locale* and a name, constructs that appropriate category ++// facets by name, and inserts them into the locale. ++ ++void _Locale::insert_ctype_facets(const char* pname) ++{ ++ char buf[_Locale_MAX_SIMPLE_NAME]; ++ _Locale_impl* i2 = locale::classic()._M_impl; ++ ++ if (pname == 0 || pname[0] == 0) ++ pname = _Locale_ctype_default(buf); ++ ++ if (pname == 0 || pname[0] == 0 || strcmp(pname, "C") == 0) { ++ this->insert(i2, ctype::id); ++# ifndef _STLP_NO_MBSTATE_T ++ this->insert(i2, codecvt::id); ++# endif ++# ifndef _STLP_NO_WCHAR_T ++ this->insert(i2, ctype::id); ++# ifndef _STLP_NO_MBSTATE_T ++ this->insert(i2, codecvt::id); ++# endif ++# endif ++ } ++ else { ++ ctype* ct = 0; ++# ifndef _STLP_NO_MBSTATE_T ++ codecvt* cvt = 0; ++# endif ++# ifndef _STLP_NO_WCHAR_T ++ ctype* wct = 0; ++ codecvt* wcvt = 0; ++# endif ++ _STLP_TRY { ++ ct = new ctype_byname(pname); ++# ifndef _STLP_NO_MBSTATE_T ++ cvt = new codecvt_byname(pname); ++# endif ++# ifndef _STLP_NO_WCHAR_T ++ wct = new ctype_byname(pname); ++ wcvt = new codecvt_byname(pname); ++# endif ++ } ++ ++# ifndef _STLP_NO_WCHAR_T ++# ifdef _STLP_NO_MBSTATE_T ++ _STLP_UNWIND(delete ct; delete wct; delete wcvt); ++# else ++ _STLP_UNWIND(delete ct; delete wct; delete cvt; delete wcvt); ++# endif ++# else ++# ifdef _STLP_NO_MBSTATE_T ++ _STLP_UNWIND(delete ct); ++# else ++ _STLP_UNWIND(delete ct; delete cvt); ++# endif ++# endif ++ _Locale_insert(this, ct); ++# ifndef _STLP_NO_MBSTATE_T ++ _Locale_insert(this, cvt); ++# endif ++# ifndef _STLP_NO_WCHAR_T ++ _Locale_insert(this, wct); ++ _Locale_insert(this, wcvt); ++# endif ++ } ++} ++ ++void _Locale::insert_numeric_facets(const char* pname) ++{ ++ _Locale_impl* i2 = locale::classic()._M_impl; ++ ++ numpunct* punct = 0; ++ num_get > >* get = 0; ++ num_put > >* put = 0; ++# ifndef _STLP_NO_WCHAR_T ++ numpunct* wpunct = 0; ++ num_get > >* wget = 0; ++ num_put > >* wput = 0; ++# endif ++ ++ char buf[_Locale_MAX_SIMPLE_NAME]; ++ if (pname == 0 || pname[0] == 0) ++ pname = _Locale_numeric_default(buf); ++ ++ if (pname == 0 || pname[0] == 0 || strcmp(pname, "C") == 0) { ++ this->insert(i2, numpunct::id); ++ this->insert(i2, ++ num_put > >::id); ++ this->insert(i2, ++ num_get > >::id); ++# ifndef _STLP_NO_WCHAR_T ++ this->insert(i2, numpunct::id); ++ this->insert(i2, ++ num_get > >::id); ++ this->insert(i2, ++ num_put > >::id); ++# endif ++ } ++ else { ++ _STLP_TRY { ++ punct = new numpunct_byname(pname); ++ get = new num_get > >; ++ put = new num_put > >; ++# ifndef _STLP_NO_WCHAR_T ++ wpunct = new numpunct_byname(pname); ++ wget = new num_get > >; ++ wput = new num_put > >; ++# endif ++ } ++# ifndef _STLP_NO_WCHAR_T ++ _STLP_UNWIND(delete punct; delete wpunct; delete get; delete wget; ++ delete put; delete wput); ++# else ++ _STLP_UNWIND(delete punct; delete get;delete put); ++# endif ++ ++ _Locale_insert(this,punct); ++ _Locale_insert(this,get); ++ _Locale_insert(this,put); ++ ++# ifndef _STLP_NO_WCHAR_T ++ _Locale_insert(this,wpunct); ++ _Locale_insert(this,wget); ++ _Locale_insert(this,wput); ++# endif ++ } ++} ++ ++void _Locale::insert_time_facets(const char* pname) ++{ ++ _Locale_impl* i2 = locale::classic()._M_impl; ++ time_get > >* get = 0; ++ time_put > >* put = 0; ++# ifndef _STLP_NO_WCHAR_T ++ time_get > >* wget = 0; ++ time_put > >* wput = 0; ++# endif ++ ++ char buf[_Locale_MAX_SIMPLE_NAME]; ++ if (pname == 0 || pname[0] == 0) ++ pname = _Locale_time_default(buf); ++ ++ if (pname == 0 || pname[0] == 0 || strcmp(pname, "C") == 0) { ++ ++ this->insert(i2, ++ time_get > >::id); ++ this->insert(i2, ++ time_put > >::id); ++# ifndef _STLP_NO_WCHAR_T ++ this->insert(i2, ++ time_get > >::id); ++ this->insert(i2, ++ time_put > >::id); ++# endif ++ } ++ else { ++ _STLP_TRY { ++ get = new time_get_byname > >(pname); ++ put = new time_put_byname > >(pname); ++# ifndef _STLP_NO_WCHAR_T ++ wget = new time_get_byname > >(pname); ++ wput = new time_put_byname > >(pname); ++# endif ++ } ++# ifndef _STLP_NO_WCHAR_T ++ _STLP_UNWIND(delete get; delete wget; delete put; delete wput); ++# else ++ _STLP_UNWIND(delete get; delete put); ++# endif ++ _Locale_insert(this,get); ++ _Locale_insert(this,put); ++# ifndef _STLP_NO_WCHAR_T ++ _Locale_insert(this,wget); ++ _Locale_insert(this,wput); ++# endif ++ } ++} ++ ++void _Locale::insert_collate_facets(const char* nam) ++{ ++ _Locale_impl* i2 = locale::classic()._M_impl; ++ ++ collate* col = 0; ++# ifndef _STLP_NO_WCHAR_T ++ collate* wcol = 0; ++# endif ++ ++ char buf[_Locale_MAX_SIMPLE_NAME]; ++ if (nam == 0 || nam[0] == 0) ++ nam = _Locale_collate_default(buf); ++ ++ if (nam == 0 || nam[0] == 0 || strcmp(nam, "C") == 0) { ++ this->insert(i2, collate::id); ++# ifndef _STLP_NO_WCHAR_T ++ this->insert(i2, collate::id); ++# endif ++ } ++ else { ++ _STLP_TRY { ++ col = new collate_byname(nam); ++# ifndef _STLP_NO_WCHAR_T ++ wcol = new collate_byname(nam); ++# endif ++ } ++# ifndef _STLP_NO_WCHAR_T ++ _STLP_UNWIND(delete col; delete wcol); ++# else ++ _STLP_UNWIND(delete col); ++# endif ++ _Locale_insert(this,col); ++# ifndef _STLP_NO_WCHAR_T ++ _Locale_insert(this,wcol); ++# endif ++ } ++} ++ ++void _Locale::insert_monetary_facets(const char* pname) ++{ ++ _Locale_impl* i2 = locale::classic()._M_impl; ++ ++ moneypunct* punct = 0; ++ moneypunct* ipunct = 0; ++ money_get > >* get = 0; ++ money_put > >* put = 0; ++ ++# ifndef _STLP_NO_WCHAR_T ++ moneypunct* wpunct = 0; ++ moneypunct* wipunct = 0; ++ money_get > >* wget = 0; ++ money_put > >* wput = 0; ++# endif ++ ++ char buf[_Locale_MAX_SIMPLE_NAME]; ++ if (pname == 0 || pname[0] == 0) ++ pname = _Locale_monetary_default(buf); ++ ++ if (pname == 0 || pname[0] == 0 || strcmp(pname, "C") == 0) { ++ this->insert(i2, moneypunct::id); ++ this->insert(i2, moneypunct::id); ++ this->insert(i2, money_get > >::id); ++ this->insert(i2, money_put > >::id); ++# ifndef _STLP_NO_WCHAR_T ++ this->insert(i2, moneypunct::id); ++ this->insert(i2, moneypunct::id); ++ this->insert(i2, money_get > >::id); ++ this->insert(i2, money_put > >::id); ++# endif ++ } ++ else { ++ _STLP_TRY { ++ punct = new moneypunct_byname(pname); ++ ipunct = new moneypunct_byname(pname); ++ get = new money_get > >; ++ put = new money_put > >; ++# ifndef _STLP_NO_WCHAR_T ++ wpunct = new moneypunct_byname(pname); ++ wipunct = new moneypunct_byname(pname); ++ wget = new money_get > >; ++ wput = new money_put > >; ++# endif ++ } ++# ifndef _STLP_NO_WCHAR_T ++ _STLP_UNWIND(delete punct; delete ipunct; delete wpunct; delete wipunct; ++ delete get; delete wget; delete put; delete wput); ++# else ++ _STLP_UNWIND(delete punct; delete ipunct; delete get; delete put); ++# endif ++ _Locale_insert(this,punct); ++ _Locale_insert(this,ipunct); ++ _Locale_insert(this,get); ++ _Locale_insert(this,put); ++# ifndef _STLP_NO_WCHAR_T ++ _Locale_insert(this,wget); ++ _Locale_insert(this,wpunct); ++ _Locale_insert(this,wipunct); ++ _Locale_insert(this,wput); ++# endif ++ } ++} ++ ++ ++void _Locale::insert_messages_facets(const char* pname) ++{ ++ _Locale_impl* i2 = locale::classic()._M_impl; ++ messages* msg = 0; ++# ifndef _STLP_NO_WCHAR_T ++ messages* wmsg = 0; ++# endif ++ ++ char buf[_Locale_MAX_SIMPLE_NAME]; ++ if (pname == 0 || pname[0] == 0) ++ pname = _Locale_messages_default(buf); ++ ++ if (pname == 0 || pname[0] == 0 || strcmp(pname, "C") == 0) { ++ this->insert(i2, messages::id); ++# ifndef _STLP_NO_WCHAR_T ++ this->insert(i2, messages::id); ++# endif ++ } ++ else { ++ _STLP_TRY { ++ msg = new messages_byname(pname); ++# ifndef _STLP_NO_WCHAR_T ++ wmsg = new messages_byname(pname); ++# endif ++ } ++# ifndef _STLP_NO_WCHAR_T ++ _STLP_UNWIND(delete msg; delete wmsg); ++# else ++ _STLP_UNWIND(delete msg); ++# endif ++ _Locale_insert(this,msg); ++# ifndef _STLP_NO_WCHAR_T ++ _Locale_insert(this,wmsg); ++# endif ++ } ++} ++ ++_STLP_END_NAMESPACE ++ ++ ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/locale_impl.cpp tripwire-2.3.1-2/src/STLport-4.0/src/locale_impl.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/locale_impl.cpp Sat Feb 24 10:44:11 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/locale_impl.cpp Sun Aug 11 18:59:22 2002 +@@ -17,537 +17,458 @@ + */ + # include "stlport_prefix.h" + +-//# ifdef __CYGWIN__ +-//# define __STL_IN_LOCALE_CPP 1 +-//# endif +- + #include "locale_impl.h" ++#include ++#include ++#include ++#include "c_locale.h" ++#include "aligned_buffer.h" + +-__STL_BEGIN_NAMESPACE + +-// _Locale_impl non-inline member functions. ++#include "locale_impl.h" ++#include ++#include ++#include ++#include ++#include "message_facets.h" ++ ++_STLP_BEGIN_NAMESPACE ++ ++_Locale_impl::_Locale_impl(const char* s) : name(s) {} ++_Locale_impl::~_Locale_impl() {} ++void _Locale_impl::incr() {} ++void _Locale_impl::decr() {} + +-_Locale_impl::_Locale_impl(const _Locale_impl& L) +- : _Refcount_Base(1), facets(L.facets), +- name(L.name) ++// _Locale_impl non-inline member functions. ++void _STLP_CALL ++_Locale_impl::_M_throw_bad_cast() + { +- for (size_t i = 1; i < L.facets.size(); ++i) { +- if (L.facets[i] && ((locale::facet*)L.facets[i])->_M_delete) +- ((locale::facet*)L.facets[i])->_M_incr(); +- } ++ _STLP_THROW(bad_cast()); + } + +-_Locale_impl::~_Locale_impl() { +- for (size_t i = 1; i < facets.size(); ++i) +- remove(i); +-} ++static void ++_Stl_loc_assign_ids() { ++ // This assigns ids to every facet that is a member of a category, ++ // and also to money_get/put, num_get/put, and time_get/put ++ // instantiated using ordinary pointers as the input/output ++ // iterators. (The default is [io]streambuf_iterator.) + ++ money_get > >::id._M_index = 8; ++ money_get::id._M_index = 9; ++ money_put > >::id._M_index = 10; ++ money_put::id._M_index = 11; ++ ++ num_get > >::id._M_index = 12; ++ num_get::id._M_index = 13; ++ num_put > >::id._M_index = 14; ++ num_put::id._M_index = 15; ++ time_get > >::id._M_index = 16; ++ time_get::id._M_index = 17; ++ time_put > >::id._M_index = 18; ++ time_put::id._M_index = 19; ++ ++# ifndef _STLP_NO_WCHAR_T ++ ++ money_get > >::id._M_index = 27; ++ money_get::id._M_index = 28; ++ money_put > >::id._M_index = 29; ++ money_put::id._M_index = 30; ++ ++ num_get > >::id._M_index = 31; ++ num_get::id._M_index = 32; ++ num_put > > ::id._M_index = 33; ++ num_put::id._M_index = 34; ++ time_get > >::id._M_index = 35; ++ time_get::id._M_index = 36; ++ time_put > >::id._M_index = 37; ++ time_put::id._M_index = 38; ++ // messages::id._M_index = 38; ++# endif ++ ++ // locale::id::_S_max = 39; ++} ++ ++static _Stl_aligned_buffer<_Locale_impl> _S_classic_locale; ++ ++static _Stl_aligned_buffer > _S_collate_char; ++static _Stl_aligned_buffer > _S_ctype_char; ++ ++# ifndef _STLP_NO_MBSTATE_T ++static _Stl_aligned_buffer > _S_codecvt_char; ++# endif ++ ++static _Stl_aligned_buffer > _S_moneypunct_true_char; ++static _Stl_aligned_buffer > _S_moneypunct_false_char; ++static _Stl_aligned_buffer > _S_numpunct_char; ++static _Stl_aligned_buffer > _S_messages_char; ++ ++static _Stl_aligned_buffer > > > _S_money_get_char; ++static _Stl_aligned_buffer > > > _S_money_put_char; ++static _Stl_aligned_buffer > > > _S_num_get_char; ++static _Stl_aligned_buffer > > > _S_num_put_char; ++static _Stl_aligned_buffer > > > _S_time_get_char; ++static _Stl_aligned_buffer > > > _S_time_put_char; ++ ++# ifndef _STLP_NO_WCHAR_T ++static _Stl_aligned_buffer > _S_collate_wchar; ++static _Stl_aligned_buffer > _S_ctype_wchar; ++# ifndef _STLP_NO_MBSTATE_T ++static _Stl_aligned_buffer > _S_codecvt_wchar; ++# endif ++static _Stl_aligned_buffer > _S_moneypunct_true_wchar; ++static _Stl_aligned_buffer > _S_moneypunct_false_wchar; ++static _Stl_aligned_buffer > _S_numpunct_wchar; ++static _Stl_aligned_buffer > _S_messages_wchar; ++ ++static _Stl_aligned_buffer > > > _S_money_get_wchar; ++static _Stl_aligned_buffer > > > _S_money_put_wchar; ++static _Stl_aligned_buffer > > > _S_num_get_wchar; ++static _Stl_aligned_buffer > > > _S_num_put_wchar; ++static _Stl_aligned_buffer > > > _S_time_get_wchar; ++static _Stl_aligned_buffer > > > _S_time_put_wchar; ++ ++# endif ++ ++static _Messages _Null_messages; ++ ++static locale::facet* _S_classic_facets[] = { ++ (locale::facet*)0, ++ (locale::facet*)&_S_collate_char, ++ (locale::facet*)&_S_ctype_char, ++# ifndef _STLP_NO_MBSTATE_T ++ (locale::facet*)&_S_codecvt_char, ++# else ++ (locale::facet*)0, ++# endif ++ (locale::facet*)&_S_moneypunct_true_char, ++ (locale::facet*)&_S_moneypunct_false_char, ++ (locale::facet*)&_S_numpunct_char, ++ (locale::facet*)&_S_messages_char, ++ ++ (locale::facet*)&_S_money_get_char, ++ (locale::facet*)0, ++ (locale::facet*)&_S_money_put_char, ++ (locale::facet*)0, ++ ++ (locale::facet*)&_S_num_get_char, ++ (locale::facet*)0, ++ (locale::facet*)&_S_num_put_char, ++ (locale::facet*)0, ++ (locale::facet*)&_S_time_get_char, ++ (locale::facet*)0, ++ (locale::facet*)&_S_time_put_char, ++ (locale::facet*)0, ++# ifndef _STLP_NO_WCHAR_T ++ (locale::facet*)&_S_collate_wchar, ++ (locale::facet*)&_S_ctype_wchar, + +-void _Locale_impl::remove(size_t index) { +- if (index > 0 && index < facets.size()) { +- locale::facet* old = (locale::facet*)facets[index]; +- if (old && old->_M_delete) +- if (old->_M_decr() == 0) +- delete old; +- facets[index] = 0; +- } +-} ++# ifndef _STLP_NO_MBSTATE_T ++ (locale::facet*)&_S_codecvt_wchar, ++# else ++(locale::facet*)0 ++# endif ++ (locale::facet*)&_S_moneypunct_true_wchar, ++ (locale::facet*)&_S_moneypunct_false_wchar, ++ (locale::facet*)&_S_numpunct_wchar, ++ (locale::facet*)&_S_messages_wchar, ++ ++ (locale::facet*)&_S_money_get_wchar, ++ (locale::facet*)0, ++ (locale::facet*)&_S_money_put_wchar, ++ (locale::facet*)0, ++ ++ (locale::facet*)&_S_num_get_wchar, ++ (locale::facet*)0, ++ (locale::facet*)&_S_num_put_wchar, ++ (locale::facet*)0, ++ (locale::facet*)&_S_time_get_wchar, ++ (locale::facet*)0, ++ (locale::facet*)&_S_time_put_wchar, ++ (locale::facet*)0, ++# endif ++ 0 ++}; + +-locale::facet* +-_Locale_impl::insert(locale::facet* f, size_t index, bool do_incr) { +- if (f != 0 && index != 0) { +- if (index >= facets.size()) +- facets.insert(facets.end(), +- index - facets.size() + 1, (void*) 0); +- if (do_incr) +- f->_M_incr(); +- +- remove(index); +- facets[index] = (void*)f; +- return f; +- } +- else +- return 0; +-} ++_Locale_impl* ++_Locale_impl::make_classic_locale() { ++ // The classic locale contains every facet that belongs to a category. ++ _Locale_impl* classic = (_Locale_impl*) &_S_classic_locale; ++ ++ new (classic) _Locale_impl("C"); + +-void _Locale_impl::insert(_Locale_impl* from, const locale::id& n) { +- size_t index = n._M_index; +- this->remove(index); +- if (index > 0 && index < from->facets.size()) +- this->insert((locale::facet*)from->facets[index], index, true); +-} ++ classic->facets = _S_classic_facets; ++ classic->_M_size = locale::id::_S_max; + +-// Six functions, one for each category. Each of them takes a +-// _Locale_impl* and a name, constructs that appropriate category +-// facets by name, and inserts them into the locale. ++ // ctype category ++ new(&_S_ctype_char) ctype(0, false, 1); ++ // collate category ++ new(&_S_collate_char) collate(1); ++ new(&_S_codecvt_char) codecvt(1); ++ // numeric category ++ new(&_S_numpunct_char) numpunct(1); ++ new (&_S_num_get_char) num_get > >(1); ++ new (&_S_num_put_char) num_put > >(1); ++ new (&_S_time_get_char) time_get > >(1); ++ new (&_S_time_put_char) time_put > >(1); ++ // monetary category ++ new (&_S_moneypunct_true_char) moneypunct(1); ++ new (&_S_moneypunct_false_char) moneypunct(1); ++ new (&_S_money_get_char) money_get > >(1); ++ new (&_S_money_put_char) money_put > >(1); ++ // messages category ++ new (&_S_messages_char)messages(&_Null_messages); + +-void _Locale_impl::insert_ctype_facets(const char* pname) +-{ +- ctype* ct = 0; +-# ifndef __STL_NO_MBSTATE_T +- codecvt* cvt = 0; +-# endif +-# ifndef __STL_NO_WCHAR_T +- ctype* wct = 0; +- codecvt* wcvt = 0; +-# endif +- +- char buf[_Locale_MAX_SIMPLE_NAME]; +- if (pname == 0 || pname[0] == 0) +- pname = _Locale_ctype_default(buf); +- +- if (pname == 0 || pname[0] == 0 || strcmp(pname, "C") == 0) { +- this->insert(_Stl_loc_classic_locale->_M_impl, ctype::id); +- this->insert(_Stl_loc_classic_locale->_M_impl, +- codecvt::id); +-# ifndef __STL_NO_WCHAR_T +- this->insert(_Stl_loc_classic_locale->_M_impl, ctype::id); +- this->insert(_Stl_loc_classic_locale->_M_impl, +- codecvt::id); ++# ifndef _STLP_NO_WCHAR_T ++ // ctype category ++ new(&_S_ctype_wchar) ctype(1); ++ // collate category ++ new(&_S_collate_wchar) collate(1); ++ new(&_S_codecvt_wchar) codecvt(1); ++ // numeric category ++ new(&_S_numpunct_wchar) numpunct(1); ++ new (&_S_num_get_wchar) num_get > >(1); ++ new (&_S_num_put_wchar) num_put > >(1); ++ new (&_S_time_get_wchar) time_get > >(1); ++ new (&_S_time_put_wchar) time_put > >(1); ++ new (&_S_messages_wchar)messages(&_Null_messages); ++ // monetary category ++ new (&_S_moneypunct_true_wchar) moneypunct(1); ++ new (&_S_moneypunct_false_wchar) moneypunct(1); ++ new (&_S_money_get_wchar) money_get > >(1); ++ new (&_S_money_put_wchar) money_put > >(1); + # endif +- } +- else { +- __STL_TRY { +- ct = new ctype_byname(pname); +-# ifndef __STL_NO_MBSTATE_T +- cvt = new codecvt_byname(pname); +-# endif +-# ifndef __STL_NO_WCHAR_T +- wct = new ctype_byname(pname); +- wcvt = new codecvt_byname(pname); +-# endif +- } +- +-# ifndef __STL_NO_WCHAR_T +-# ifdef __STL_NO_MBSTATE_T +- __STL_UNWIND(delete ct; delete wct; delete cvt); +-# else +- __STL_UNWIND(delete ct; delete wct; delete cvt; delete wcvt); +-# endif +-# else +-# ifdef __STL_NO_MBSTATE_T +- __STL_UNWIND(delete ct); +-# else +- __STL_UNWIND(delete ct; delete cvt); +-# endif +-# endif +- _Locale_impl_insert(this, ct); +-# ifndef __STL_NO_MBSTATE_T +- _Locale_impl_insert(this, cvt); +-# endif +-# ifndef __STL_NO_WCHAR_T +- _Locale_impl_insert(this, wct); +- _Locale_impl_insert(this, wcvt); +-# endif +- } ++ ++ return classic; + } + +-void _Locale_impl::insert_numeric_facets(const char* pname) +-{ +- numpunct* punct = 0; +- num_get > >* get = 0; +- num_put > >* put = 0; +-# ifndef __STL_NO_WCHAR_T +- numpunct* wpunct = 0; +- num_get > >* wget = 0; +- num_put > >* wput = 0; +-# endif +- +- char buf[_Locale_MAX_SIMPLE_NAME]; +- if (pname == 0 || pname[0] == 0) +- pname = _Locale_numeric_default(buf); +- +- if (pname == 0 || pname[0] == 0 || strcmp(pname, "C") == 0) { +- this->insert(_Stl_loc_classic_locale->_M_impl, numpunct::id); +- this->insert(_Stl_loc_classic_locale->_M_impl, +- num_put > >::id); +- this->insert(_Stl_loc_classic_locale->_M_impl, +- num_get > >::id); +-# ifndef __STL_NO_WCHAR_T +- this->insert(_Stl_loc_classic_locale->_M_impl, numpunct::id); +- this->insert(_Stl_loc_classic_locale->_M_impl, +- num_get > >::id); +- this->insert(_Stl_loc_classic_locale->_M_impl, +- num_put > >::id); +-# endif +- } +- else { +- __STL_TRY { +- punct = new numpunct_byname(pname); +- get = new num_get > >; +- put = new num_put > >; +-# ifndef __STL_NO_WCHAR_T +- wpunct = new numpunct_byname(pname); +- wget = new num_get > >; +- wput = new num_put > >; +-# endif +- } +-# ifndef __STL_NO_WCHAR_T +- __STL_UNWIND(delete punct; delete wpunct; delete get; delete wget; +- delete put; delete wput); +-# else +- __STL_UNWIND(delete punct; delete get;delete put); ++ ++//---------------------------------------------------------------------- ++ ++// Declarations of (non-template) facets' static data members ++size_t locale::id::_S_max = 39; ++ ++_STLP_STATIC_MEMBER_DECLSPEC locale::id collate::id = { 1 }; ++_STLP_STATIC_MEMBER_DECLSPEC locale::id ctype::id = { 2 }; ++ ++# ifndef _STLP_NO_MBSTATE_T ++_STLP_STATIC_MEMBER_DECLSPEC locale::id codecvt::id = { 3 }; ++# ifndef _STLP_NO_WCHAR_T ++_STLP_STATIC_MEMBER_DECLSPEC locale::id codecvt::id = { 22 }; ++# endif + # endif +- +- _Locale_impl_insert(this,punct); +- _Locale_impl_insert(this,get); +- _Locale_impl_insert(this,put); +- +-# ifndef __STL_NO_WCHAR_T +- _Locale_impl_insert(this,wpunct); +- _Locale_impl_insert(this,wget); +- _Locale_impl_insert(this,wput); ++ ++_STLP_STATIC_MEMBER_DECLSPEC locale::id moneypunct::id = { 4 }; ++_STLP_STATIC_MEMBER_DECLSPEC locale::id moneypunct::id = { 5 }; ++_STLP_STATIC_MEMBER_DECLSPEC locale::id numpunct::id = { 6 } ; ++_STLP_STATIC_MEMBER_DECLSPEC locale::id messages::id = { 7 }; ++ ++# ifndef _STLP_NO_WCHAR_T ++_STLP_STATIC_MEMBER_DECLSPEC locale::id collate::id = { 20 }; ++_STLP_STATIC_MEMBER_DECLSPEC locale::id ctype::id = { 21 }; ++ ++_STLP_STATIC_MEMBER_DECLSPEC locale::id moneypunct::id = { 23 } ; ++_STLP_STATIC_MEMBER_DECLSPEC locale::id moneypunct::id = { 24 } ; ++ ++_STLP_STATIC_MEMBER_DECLSPEC locale::id numpunct::id = { 25 }; ++_STLP_STATIC_MEMBER_DECLSPEC locale::id messages::id = { 26 }; + # endif +- } +-} + +-void _Locale_impl::insert_time_facets(const char* pname) +-{ ++// ++// locale class ++// + +- time_get > >* get = 0; +- time_put > >* put = 0; +-# ifndef __STL_NO_WCHAR_T +- time_get > >* wget = 0; +- time_put > >* wput = 0; ++locale::facet::~facet() {} ++ ++# if ! defined ( _STLP_MEMBER_TEMPLATES ) || defined (_STLP_INLINE_MEMBER_TEMPLATES) ++// members that fail to be templates ++bool locale::operator()(const string& __x, ++ const string& __y) const { ++ return __locale_do_operator_call(this, __x, __y); ++} ++ ++# ifndef _STLP_NO_WCHAR_T ++bool locale::operator()(const wstring& __x, ++ const wstring& __y) const { ++ return __locale_do_operator_call(this, __x, __y); ++} ++# endif + # endif + +- char buf[_Locale_MAX_SIMPLE_NAME]; +- if (pname == 0 || pname[0] == 0) +- pname = _Locale_time_default(buf); ++ ++_Locale_impl* _Stl_loc_global_impl = 0; ++locale _Stl_loc_classic_locale((_Locale_impl*) &_S_classic_locale); ++_STLP_STATIC_MUTEX _Stl_loc_global_locale_lock _STLP_MUTEX_INITIALIZER; ++ + +- if (pname == 0 || pname[0] == 0 || strcmp(pname, "C") == 0) { ++//---------------------------------------------------------------------- ++// class locale + +- this->insert(_Stl_loc_classic_locale->_M_impl, +- time_get > >::id); +- this->insert(_Stl_loc_classic_locale->_M_impl, +- time_put > >::id); +-# ifndef __STL_NO_WCHAR_T +- this->insert(_Stl_loc_classic_locale->_M_impl, +- time_get > >::id); +- this->insert(_Stl_loc_classic_locale->_M_impl, +- time_put > >::id); +-# endif ++void _STLP_CALL ++locale::_M_throw_runtime_error(const char* name) ++{ ++ char buf[256]; ++ ++ if (name) { ++ const char* prefix = "bad locale name: "; ++ strcpy(buf, prefix); ++ strncat(buf, name, 256 - strlen(prefix)); ++ buf[255] = '\0'; + } + else { +- __STL_TRY { +- get = new time_get_byname > >(pname); +- put = new time_put_byname > >(pname); +-# ifndef __STL_NO_WCHAR_T +- wget = new time_get_byname > >(pname); +- wput = new time_put_byname > >(pname); +-# endif +- } +-# ifndef __STL_NO_WCHAR_T +- __STL_UNWIND(delete get; delete wget; delete put; delete wput); +-# else +- __STL_UNWIND(delete get; delete put); +-# endif +- _Locale_impl_insert(this,get); +- _Locale_impl_insert(this,put); +-# ifndef __STL_NO_WCHAR_T +- _Locale_impl_insert(this,wget); +- _Locale_impl_insert(this,wput); +-# endif ++ strcpy(buf, "locale error"); + } ++ _STLP_THROW(runtime_error(buf)); + } + +-void _Locale_impl::insert_collate_facets(const char* nam) +-{ +- collate* col = 0; +-# ifndef __STL_NO_WCHAR_T +- collate* wcol = 0; +-# endif ++#if !( defined (__BORLANDC__) && defined(_RTLDLL)) + +- char buf[_Locale_MAX_SIMPLE_NAME]; +- if (nam == 0 || nam[0] == 0) +- nam = _Locale_collate_default(buf); +- +- if (nam == 0 || nam[0] == 0 || strcmp(nam, "C") == 0) { +- this->insert(_Stl_loc_classic_locale->_M_impl, collate::id); +-# ifndef __STL_NO_WCHAR_T +- this->insert(_Stl_loc_classic_locale->_M_impl, collate::id); +-# endif +- } +- else { +- __STL_TRY { +- col = new collate_byname(nam); +-# ifndef __STL_NO_WCHAR_T +- wcol = new collate_byname(nam); +-# endif +- } +-# ifndef __STL_NO_WCHAR_T +- __STL_UNWIND(delete col; delete wcol); +-# else +- __STL_UNWIND(delete col); +-# endif +- _Locale_impl_insert(this,col); +-# ifndef __STL_NO_WCHAR_T +- _Locale_impl_insert(this,wcol); +-# endif +- } ++long ios_base::_Loc_init::_S_count = 0; ++ ++ios_base::_Loc_init::_Loc_init() { ++ if (_S_count++ == 0) ++ locale::_S_initialize(); + } + +-void _Locale_impl::insert_monetary_facets(const char* pname) ++ios_base::_Loc_init::~_Loc_init() { ++ if (--_S_count == 0) ++ locale::_S_uninitialize(); ++} ++ ++#endif /* _RTLDLL */ ++ ++// Initialization of the locale system. This must be called before ++// any locales are constructed. (Meaning that it must be called when ++// the I/O library itself is initialized.) ++void _STLP_CALL ++locale::_S_initialize() + { +- moneypunct* punct = 0; +- moneypunct* ipunct = 0; +- money_get > >* get = 0; +- money_put > >* put = 0; +- +-# ifndef __STL_NO_WCHAR_T +- moneypunct* wpunct = 0; +- moneypunct* wipunct = 0; +- money_get > >* wget = 0; +- money_put > >* wput = 0; +-# endif +- +- char buf[_Locale_MAX_SIMPLE_NAME]; +- if (pname == 0 || pname[0] == 0) +- pname = _Locale_monetary_default(buf); +- +- if (pname == 0 || pname[0] == 0 || strcmp(pname, "C") == 0) { +- this->insert(_Stl_loc_classic_locale->_M_impl, moneypunct::id); +- this->insert(_Stl_loc_classic_locale->_M_impl, moneypunct::id); +- this->insert(_Stl_loc_classic_locale->_M_impl, money_get > >::id); +- this->insert(_Stl_loc_classic_locale->_M_impl, money_put > >::id); +-# ifndef __STL_NO_WCHAR_T +- this->insert(_Stl_loc_classic_locale->_M_impl, moneypunct::id); +- this->insert(_Stl_loc_classic_locale->_M_impl, moneypunct::id); +- this->insert(_Stl_loc_classic_locale->_M_impl, money_get > >::id); +- this->insert(_Stl_loc_classic_locale->_M_impl, money_put > >::id); +-# endif +- } +- else { +- __STL_TRY { +- punct = new moneypunct_byname(pname); +- ipunct = new moneypunct_byname(pname); +- get = new money_get > >; +- put = new money_put > >; +-# ifndef __STL_NO_WCHAR_T +- wpunct = new moneypunct_byname(pname); +- wipunct = new moneypunct_byname(pname); +- wget = new money_get > >; +- wput = new money_put > >; +-# endif +- } +-# ifndef __STL_NO_WCHAR_T +- __STL_UNWIND(delete punct; delete ipunct; delete wpunct; delete wipunct; +- delete get; delete wget; delete put; delete wput); +-# else +- __STL_UNWIND(delete punct; delete ipunct; delete get; delete put); +-# endif +- _Locale_impl_insert(this,punct); +- _Locale_impl_insert(this,ipunct); +- _Locale_impl_insert(this,get); +- _Locale_impl_insert(this,put); +-# ifndef __STL_NO_WCHAR_T +- _Locale_impl_insert(this,wget); +- _Locale_impl_insert(this,wpunct); +- _Locale_impl_insert(this,wipunct); +- _Locale_impl_insert(this,wput); +-# endif +- } ++ _Stl_loc_assign_ids(); ++ _Stl_loc_global_impl = _Locale_impl::make_classic_locale(); + } + +-void _Locale_impl::insert_messages_facets(const char* pname) ++ ++ ++void _STLP_CALL ++locale::_S_uninitialize() + { +- messages* msg = 0; +-# ifndef __STL_NO_WCHAR_T +- messages* wmsg = 0; +-# endif ++ _Stl_loc_global_impl->decr(); ++} + +- char buf[_Locale_MAX_SIMPLE_NAME]; +- if (pname == 0 || pname[0] == 0) +- pname = _Locale_messages_default(buf); +- +- if (pname == 0 || pname[0] == 0 || strcmp(pname, "C") == 0) { +- this->insert(_Stl_loc_classic_locale->_M_impl, messages::id); +-# ifndef __STL_NO_WCHAR_T +- this->insert(_Stl_loc_classic_locale->_M_impl, messages::id); +-# endif +- } +- else { +- __STL_TRY { +- msg = new messages_byname(pname); +-# ifndef __STL_NO_WCHAR_T +- wmsg = new messages_byname(pname); +-# endif +- } +-# ifndef __STL_NO_WCHAR_T +- __STL_UNWIND(delete msg; delete wmsg); +-# else +- __STL_UNWIND(delete msg); +-# endif +- _Locale_impl_insert(this,msg); +-# ifndef __STL_NO_WCHAR_T +- _Locale_impl_insert(this,wmsg); +-# endif +- } ++ ++// Default constructor: create a copy of the global locale. ++locale::locale() : _M_impl(0) { ++ _M_impl = _S_copy_impl(_Stl_loc_global_impl); + } + +-static _STL_STATIC_MUTEX _Index_lock __STL_MUTEX_INITIALIZER; ++locale::locale(_Locale_impl* impl) : _M_impl(impl) ++{} ++ ++// Copy constructor ++locale::locale(const locale& L) _STLP_NOTHROW ++ : _M_impl(0) ++{ ++ _M_impl = _S_copy_impl(L._M_impl); ++} + +-// Takes a reference to a locale::id, and returns its numeric index. +-// If no numeric index has yet been assigned, assigns one. The return +-// value is always positive. +-size_t _Stl_loc_get_index(locale::id& id) ++// Destructor. ++locale::~locale() _STLP_NOTHROW + { +- if (id._M_index == 0) { +- _STL_auto_lock sentry(_Index_lock); +- size_t new_index = locale::id::_S_max++; +- id._M_index = new_index; ++ _M_impl->decr(); ++} ++ ++// Assignment operator. Much like the copy constructor: just a bit of ++// pointer twiddling. ++const locale& locale::operator=(const locale& L) _STLP_NOTHROW ++{ ++ if (this->_M_impl != L._M_impl) { ++ this->_M_impl->decr(); ++ this->_M_impl = _S_copy_impl(L._M_impl); + } +- return id._M_index; ++ return *this; + } + +-void _Stl_loc_assign_ids() { +- // This assigns ids to every facet that is a member of a category, +- // and also to money_get/put, num_get/put, and time_get/put +- // instantiated using ordinary pointers as the input/output +- // iterators. (The default is [io]streambuf_iterator.) ++locale::facet* locale::_M_get_facet(const locale::id& n) const ++{ ++ return n._M_index < _M_impl->size() ++ ? (locale::facet*)_M_impl->facets[n._M_index] ++ : (locale::facet*) 0; ++} + +- collate::id._M_index = 1; +- ctype::id._M_index = 3; +- codecvt::id._M_index = 5; +- moneypunct::id._M_index = 7; +- moneypunct::id._M_index = 8; +- money_get > >::id._M_index = 11; +- money_get::id._M_index = 13; +- money_put > >::id._M_index = 15; +- money_put::id._M_index = 17; +- numpunct::id._M_index = 19; +- num_get > >::id._M_index = 21; +- num_get::id._M_index = 23; +- num_put > >::id._M_index = 25; +- num_put::id._M_index = 27; +- time_get > >::id._M_index = 29; +- time_get::id._M_index = 31; +- time_put > >::id._M_index = 33; +- time_put::id._M_index = 35; +- messages::id._M_index = 37; +- +-# ifndef __STL_NO_WCHAR_T +- collate::id._M_index = 2; +- ctype::id._M_index = 4; +- codecvt::id._M_index = 6; +- moneypunct::id._M_index = 9; +- moneypunct::id._M_index = 10; +- money_get > >::id._M_index = 12; +- money_get::id._M_index = 14; +- money_put > >::id._M_index = 16; +- money_put::id._M_index = 18; +- numpunct::id._M_index = 20; +- num_get > >::id._M_index = 22; +- num_get::id._M_index = 24; +- num_put > > ::id._M_index = 26; +- num_put::id._M_index = 28; +- time_get > >::id._M_index = 30; +- time_get::id._M_index = 32; +- time_put > >::id._M_index = 34; +- time_put::id._M_index = 36; +- messages::id._M_index = 38; +-# endif ++locale::facet* locale::_M_use_facet(const locale::id& n) const ++{ ++ locale::facet* f = (n._M_index < _M_impl->size() ++ ? (locale::facet*)_M_impl->facets[n._M_index] ++ : (locale::facet*) 0); ++ if (!f) ++ _M_impl->_M_throw_bad_cast(); ++ return f; ++} + +- locale::id::_S_max = 39; ++string locale::name() const { ++ return _M_impl->name; + } + +-_Locale_impl* _Stl_loc_make_classic_locale() { +- // The classic locale contains every facet that belongs to a category. +- _Locale_impl* classic = new _Locale_impl(locale::id::_S_max, "C"); ++static string _Nameless("*"); + +- // collate category +- _Locale_impl_insert(classic, new collate(0)); +-# ifndef __STL_NO_WCHAR_T +- _Locale_impl_insert(classic, new collate(0)); +-# endif +- // ctype category +- _Locale_impl_insert(classic,new ctype(0, false, 0)); +- _Locale_impl_insert(classic,new codecvt(0)); +-# ifndef __STL_NO_WCHAR_T +- _Locale_impl_insert(classic,new ctype(0)); +- _Locale_impl_insert(classic,new codecvt(0)); +-# endif +- // monetary category +- _Locale_impl_insert(classic, new moneypunct(0)); +- _Locale_impl_insert(classic,new moneypunct(0)); +- _Locale_impl_insert(classic,new money_get > >(0)); +- _Locale_impl_insert(classic,new money_put > >(0)); +-# ifndef __STL_NO_WCHAR_T +- _Locale_impl_insert(classic,new moneypunct(0)); +- _Locale_impl_insert(classic,new moneypunct(0)); +- _Locale_impl_insert(classic,new money_get > >(0)); +- _Locale_impl_insert(classic,new money_put > >(0)); +-# endif +- // numeric category +- _Locale_impl_insert(classic,new numpunct(0)); +- _Locale_impl_insert(classic,new num_get > >(0)); +- _Locale_impl_insert(classic,new num_put > >(0)); +-# ifndef __STL_NO_WCHAR_T +- _Locale_impl_insert(classic,new numpunct(0)); +- _Locale_impl_insert(classic,new num_get > >(0)); +- _Locale_impl_insert(classic,new num_put > >(0)); +-# endif +- // time category +- _Locale_impl_insert(classic,new time_get > >(0)); +- _Locale_impl_insert(classic,new time_put > >(0)); +- +-# ifndef __STL_NO_WCHAR_T +- _Locale_impl_insert(classic,new time_get > > (0)); +- _Locale_impl_insert(classic,new time_put > > (0)); +-# endif +- +- // messages category +- _Locale_impl_insert(classic,new messages(0)); +-# ifndef __STL_NO_WCHAR_T +- _Locale_impl_insert(classic,new messages(0)); +-# endif ++// Compare two locales for equality. ++bool locale::operator==(const locale& L) const { + +- return classic; ++ return this->_M_impl == L._M_impl || ++ (this->name() == L.name() && this->name() != _Nameless); + } + +-// Give L a name where all facets except those in category c +-// are taken from name1, and those in category c are taken from name2. +-void _Stl_loc_combine_names(_Locale_impl* L, +- const char* name1, const char* name2, +- locale::category c) ++bool locale::operator!=(const locale& L) const { ++ return !(*this == L); ++} ++ ++// Static member functions. ++const locale& _STLP_CALL ++locale::classic() { ++ return _Stl_loc_classic_locale; ++} ++ ++locale _STLP_CALL ++locale::global(const locale& L) + { +- if ((c & locale::all) == 0 || strcmp(name1, name2) == 0) +- L->name = name1; +- else if ((c & locale::all) == locale::all) +- L->name = name2; +- else { +- // Decompose the names. +- char ctype_buf[_Locale_MAX_SIMPLE_NAME]; +- char numeric_buf[_Locale_MAX_SIMPLE_NAME]; +- char time_buf[_Locale_MAX_SIMPLE_NAME]; +- char collate_buf[_Locale_MAX_SIMPLE_NAME]; +- char monetary_buf[_Locale_MAX_SIMPLE_NAME]; +- char messages_buf[_Locale_MAX_SIMPLE_NAME]; +- +- _Locale_extract_ctype_name((c & locale::ctype) ? name1 : name2, +- ctype_buf); +- _Locale_extract_numeric_name((c & locale::numeric) ? name1 : name2, +- numeric_buf); +- _Locale_extract_time_name((c & locale::time) ? name1 : name2, +- time_buf); +- _Locale_extract_collate_name((c & locale::collate) ? name1 : name2, +- collate_buf); +- _Locale_extract_monetary_name((c & locale::monetary) ? name1 : name2, +- monetary_buf); +- _Locale_extract_messages_name((c & locale::messages) ? name1 : name2, +- messages_buf); +- +- // Construct a new composite name. +- char composite_buf[_Locale_MAX_COMPOSITE_NAME]; +- _Locale_compose_name(composite_buf, +- ctype_buf, numeric_buf, time_buf, +- collate_buf, monetary_buf, messages_buf); +- L->name = composite_buf; ++ locale old; // A copy of the old global locale. ++ ++ L._M_impl->incr(); ++ { ++ _STLP_auto_lock lock(_Stl_loc_global_locale_lock); ++ _Stl_loc_global_impl->decr(); // We made a copy, so it can't be zero. ++ _Stl_loc_global_impl = L._M_impl; + } ++ ++ // Set the global C locale, if appropriate. ++#if !defined(_STLP_WINCE) ++ if (L.name() != _Nameless) ++ setlocale(LC_ALL, L.name().c_str()); ++#endif ++ ++ return old; + } + +-_Locale_impl* _Stl_loc_global_impl = 0; ++ ++// static data members. ++ ++# if !defined (_STLP_STATIC_CONST_INIT_BUG) && ! defined (_STLP_USE_DECLSPEC) ++ ++const locale::category locale::none; ++const locale::category locale::collate; ++const locale::category locale::ctype; ++const locale::category locale::monetary; ++const locale::category locale::numeric; ++const locale::category locale::time; ++const locale::category locale::messages; ++const locale::category locale::all; ++ ++# endif ++ ++_STLP_END_NAMESPACE ++ ++// ++// Facets included in classic locale : ++// + + + +-__STL_END_NAMESPACE +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/locale_impl.h tripwire-2.3.1-2/src/STLport-4.0/src/locale_impl.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/locale_impl.h Sat Feb 24 10:44:11 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/locale_impl.h Sun Aug 11 18:59:22 2002 +@@ -21,60 +21,53 @@ + + #include // C locale header file. + #include +-#include ++#include ++#include ++#include "c_locale.h" + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + //---------------------------------------------------------------------- + // Class _Locale_impl +- +-class __STL_CLASS_DECLSPEC _Locale_impl : public _Refcount_Base ++// This is the base class which implements access only and is supposed to ++// be used for classic locale only ++class _STLP_CLASS_DECLSPEC _Locale_impl + { + public: +- _Locale_impl(size_t n, const char* s) : _Refcount_Base(1), facets(n, (void*)0 ), name(s) {} +- _Locale_impl(const _Locale_impl&); +- ~_Locale_impl(); +- +- void remove(size_t index); +- locale::facet* insert(locale::facet*, size_t index, bool do_incr); +- void insert(_Locale_impl* from, const locale::id& n); +- +-// Helper functions for byname construction of locales. +- void insert_ctype_facets(const char* name); +- void insert_numeric_facets(const char* name); +- void insert_time_facets(const char* name); +- void insert_collate_facets(const char* name); +- void insert_monetary_facets(const char* name); +- void insert_messages_facets(const char* name); ++ _Locale_impl(const char* s); ++ // _Locale_impl(const _Locale_impl&); ++ virtual ~_Locale_impl(); ++ ++ virtual void incr(); ++ virtual void decr(); ++ ++ size_t size() const { return _M_size; } ++ ++ static _Locale_impl* make_classic_locale(); + +- vector facets; ++ locale::facet** facets; ++ size_t _M_size; ++ + basic_string, allocator > name; + ++ static void _STLP_CALL _M_throw_bad_cast(); ++ + private: + void operator=(const _Locale_impl&); + }; + +-template +-inline locale::facet* +-_Locale_impl_insert(_Locale_impl* __that, Facet* f) { +- return __that->insert(f, Facet::id._M_index, false); ++inline _Locale_impl* _STLP_CALL _S_copy_impl(_Locale_impl* I) { ++ _STLP_ASSERT( I != 0 ); ++ I->incr(); ++ return I; + } + +-size_t _Stl_loc_get_index(locale::id& id); +-void _Stl_loc_assign_ids(); +-_Locale_impl* _Stl_loc_make_classic_locale(); +-void _Stl_loc_combine_names(_Locale_impl* L, +- const char* name1, const char* name2, +- locale::category c); +- + extern _Locale_impl* _Stl_loc_global_impl; +-extern locale* _Stl_loc_classic_locale; +-extern _STL_STATIC_MUTEX _Stl_loc_global_locale_lock; +- +-// this is really from locale.cpp +-_Locale_numeric* __STL_CALL __acquire_numeric(const char* name); +-void __STL_CALL __release_numeric(_Locale_numeric* cat); ++// extern locale* _Stl_loc_classic_locale; ++extern _STLP_STATIC_MUTEX _Stl_loc_global_locale_lock; + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + + #endif ++ ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/locale_nonclassic.h tripwire-2.3.1-2/src/STLport-4.0/src/locale_nonclassic.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/locale_nonclassic.h Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/locale_nonclassic.h Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,59 @@ ++/* ++ * Copyright (c) 1999 ++ * Silicon Graphics Computer Systems, Inc. ++ * ++ * Copyright (c) 1999 ++ * Boris Fomitchev ++ * ++ * This material is provided "as is", with absolutely no warranty expressed ++ * or implied. Any use is at your own risk. ++ * ++ * Permission to use or copy this software for any purpose is hereby granted ++ * without fee, provided the above notices are retained on all copies. ++ * Permission to modify the code and to distribute modified code is granted, ++ * provided the above notices are retained, and a notice that the code was ++ * modified is included with the above copyright notice. ++ * ++ */ ++ ++# ifndef LOCALE_nonclassic_H ++# define LOCALE_nonclassic_H ++ ++# include "locale_impl.h" ++ ++_STLP_BEGIN_NAMESPACE ++ ++class _STLP_CLASS_DECLSPEC _Locale : public _Locale_impl, public _Refcount_Base ++{ ++public: ++ _Locale(size_t n, const char* s) : _Locale_impl(s), _Refcount_Base(1), ++ facets_vec(n, (void*)0 ) { facets = (locale::facet**)&facets_vec[0]; _M_size = n; } ++ _Locale(const _Locale_impl&); ++ ~_Locale(); ++ ++ virtual void incr() { this->_M_incr(); } ++ virtual void decr() { this->_M_decr(); if (!this->_M_ref_count) delete this;} ++ ++ void remove(size_t index); ++ locale::facet* insert(locale::facet*, size_t index, bool do_incr); ++ void insert(_Locale_impl* from, const locale::id& n); ++ ++// Helper functions for byname construction of locales. ++ void insert_ctype_facets(const char* name); ++ void insert_numeric_facets(const char* name); ++ void insert_time_facets(const char* name); ++ void insert_collate_facets(const char* name); ++ void insert_monetary_facets(const char* name); ++ void insert_messages_facets(const char* name); ++ ++ vector facets_vec; ++ ++ static void _STLP_CALL _M_throw_bad_cast(); ++ ++private: ++ void operator=(const _Locale_impl&); ++}; ++ ++_STLP_END_NAMESPACE ++ ++#endif +Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: message_facets.cpp +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/message_facets.h tripwire-2.3.1-2/src/STLport-4.0/src/message_facets.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/message_facets.h Sat Feb 24 10:44:11 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/message_facets.h Sun Aug 11 18:59:22 2002 +@@ -19,11 +19,17 @@ + # define MESSAGE_FACETS_H + + #include +-#include ++#include ++#include ++// #include + #include + #include ++#include "c_locale.h" + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE ++ ++// Forward declaration of an opaque type. ++struct _Catalog_locale_map; + + _Locale_messages* __acquire_messages(const char* name); + void __release_messages(_Locale_messages* cat); +@@ -49,6 +55,48 @@ + void operator=(const _Catalog_locale_map&); + }; + +-__STL_END_NAMESPACE ++ ++class _Messages { ++public: ++ typedef messages_base::catalog catalog; ++ ++ _Messages(); ++ ++ virtual catalog do_open(const string& __fn, const locale& __loc) const; ++ virtual string do_get(catalog __c, int __set, int __msgid, ++ const string& __dfault) const; ++# ifndef _STLP_NO_WCHAR_T ++ virtual wstring do_get(catalog __c, int __set, int __msgid, ++ const wstring& __dfault) const; ++# endif ++ virtual void do_close(catalog __c) const; ++ virtual ~_Messages(); ++ bool _M_delete; ++}; ++ ++class _Messages_impl : public _Messages { ++public: ++ ++ _Messages_impl(bool); ++ ++ _Messages_impl(bool, _Locale_messages*); ++ ++ catalog do_open(const string& __fn, const locale& __loc) const; ++ string do_get(catalog __c, int __set, int __msgid, ++ const string& __dfault) const; ++# ifndef _STLP_NO_WCHAR_T ++ wstring do_get(catalog __c, int __set, int __msgid, ++ const wstring& __dfault) const; ++# endif ++ void do_close(catalog __c) const; ++ ++ ~_Messages_impl(); ++ ++private: ++ _Locale_messages* _M_message_obj; ++ _Catalog_locale_map* _M_map; ++}; ++ ++_STLP_END_NAMESPACE + + #endif +Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: message_facets_w.cpp +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/messages.cpp tripwire-2.3.1-2/src/STLport-4.0/src/messages.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/messages.cpp Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/messages.cpp Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,111 @@ ++/* ++ * Copyright (c) 1999 ++ * Silicon Graphics Computer Systems, Inc. ++ * ++ * Copyright (c) 1999 ++ * Boris Fomitchev ++ * ++ * This material is provided "as is", with absolutely no warranty expressed ++ * or implied. Any use is at your own risk. ++ * ++ * Permission to use or copy this software for any purpose is hereby granted ++ * without fee, provided the above notices are retained on all copies. ++ * Permission to modify the code and to distribute modified code is granted, ++ * provided the above notices are retained, and a notice that the code was ++ * modified is included with the above copyright notice. ++ * ++ */ ++# include "stlport_prefix.h" ++ ++# include "message_facets.h" ++ ++_STLP_BEGIN_NAMESPACE ++ ++//---------------------------------------------------------------------- ++// messages ++ ++messages::messages(_Messages* imp) : ++ _BaseFacet(1), _M_impl(imp) { imp->_M_delete = false; } ++ ++messages::~messages() ++{ ++ if (_M_impl && _M_impl->_M_delete) delete _M_impl; ++} ++ ++int messages::do_open(const string& filename, const locale& l) const ++{ ++ return _M_impl->do_open(filename, l); ++} ++ ++string messages::do_get(catalog cat, ++ int set, int p_id, const string& dfault) const ++{ ++ return _M_impl->do_get(cat, set, p_id, dfault); ++} ++ ++void messages::do_close(catalog cat) const ++{ ++ _M_impl->do_close(cat); ++} ++ ++_Messages::_Messages() ++{ } ++ ++_Messages::~_Messages() ++{} ++ ++int _Messages::do_open(const string&, const locale&) const ++{ ++ return -1; ++} ++ ++string _Messages::do_get(catalog, ++ int, int, const string& dfault) const ++{ ++ return dfault; ++} ++ ++void _Messages::do_close(catalog) const ++{} ++ ++ ++# ifndef _STLP_NO_WCHAR_T ++ ++messages::messages(_Messages* imp) : ++ _BaseFacet(1), _M_impl(imp) { imp->_M_delete = false; } ++ ++messages::~messages() ++{ if (_M_impl && _M_impl->_M_delete) delete _M_impl; } ++ ++int messages::do_open(const string& filename, const locale& L) const ++{ ++ return _M_impl->do_open(filename, L); ++} ++ ++wstring ++messages::do_get(catalog thecat, ++ int set, int p_id, const wstring& dfault) const ++{ ++ return _M_impl->do_get(thecat, set, p_id, dfault); ++} ++ ++void messages::do_close(catalog cat) const ++{ ++ _M_impl->do_close(cat); ++} ++ ++wstring ++_Messages::do_get(catalog, ++ int, int, const wstring& dfault) const ++{ ++ return dfault; ++} ++ ++# endif ++ ++_STLP_END_NAMESPACE ++ ++// Local Variables: ++// mode:C++ ++// End: ++ +Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: mingw32.mak +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/mkinstalldirs tripwire-2.3.1-2/src/STLport-4.0/src/mkinstalldirs +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/mkinstalldirs Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/mkinstalldirs Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,32 @@ ++#! /bin/sh ++# mkinstalldirs --- make directory hierarchy ++# Author: Noah Friedman ++# Created: 1993-05-16 ++# Last modified: 1994-03-25 ++# Public domain ++ ++errstatus=0 ++ ++for file in ${1+"$@"} ; do ++ set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` ++ shift ++ ++ pathcomp= ++ for d in ${1+"$@"} ; do ++ pathcomp="$pathcomp$d" ++ case "$pathcomp" in ++ -* ) pathcomp=./$pathcomp ;; ++ esac ++ ++ if test ! -d "$pathcomp"; then ++ echo "mkdir $pathcomp" 1>&2 ++ mkdir "$pathcomp" || errstatus=$? ++ fi ++ ++ pathcomp="$pathcomp/" ++ done ++done ++ ++exit $errstatus ++ ++# mkinstalldirs ends here +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/monetary.cpp tripwire-2.3.1-2/src/STLport-4.0/src/monetary.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/monetary.cpp Sat Feb 24 10:44:12 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/monetary.cpp Sun Aug 11 18:59:22 2002 +@@ -17,18 +17,13 @@ + */ + # include "stlport_prefix.h" + +-#include +-#include +-#include ++#include ++#include + +-#include +-// #include // for copy ++_STLP_BEGIN_NAMESPACE + +- +-__STL_BEGIN_NAMESPACE +- +-void __init_monetary_formats(money_base::pattern& pos_format, +- money_base::pattern& neg_format) { ++static void _Init_monetary_formats(money_base::pattern& pos_format, ++ money_base::pattern& neg_format) { + pos_format.field[0] = (char) money_base::symbol; + pos_format.field[1] = (char) money_base::sign; + pos_format.field[2] = (char) money_base::none; +@@ -40,205 +35,114 @@ + neg_format.field[3] = (char) money_base::value; + } + +-void __init_monetary_formats(money_base::pattern& pos_format, +- money_base::pattern& neg_format, +- _Locale_monetary * monetary) { +- switch (_Locale_p_sign_posn(monetary)) { +- case 0: case 1: +- pos_format.field[0] = (char) money_base::sign; +- if (_Locale_p_cs_precedes(monetary)) { +- pos_format.field[1] = (char) money_base::symbol; +- if (_Locale_p_sep_by_space(monetary)) { +- pos_format.field[2] = (char) money_base::space; +- pos_format.field[3] = (char) money_base::value; +- } +- else { +- pos_format.field[2] = (char) money_base::value; +- pos_format.field[3] = (char) money_base::none; +- } +- } +- else { +- pos_format.field[2] = (char) money_base::value; +- if (_Locale_p_sep_by_space(monetary)) { +- pos_format.field[2] = (char) money_base::space; +- pos_format.field[3] = (char) money_base::symbol; +- } +- else { +- pos_format.field[2] = (char) money_base::symbol; +- pos_format.field[3] = (char) money_base::none; +- } +- } +- break; +- case 2: +- if (_Locale_p_cs_precedes(monetary)) { +- pos_format.field[0] = (char) money_base::symbol; +- if (_Locale_p_sep_by_space(monetary)) { +- pos_format.field[1] = (char) money_base::space; +- pos_format.field[2] = (char) money_base::value; +- pos_format.field[3] = (char) money_base::sign; +- } +- else { +- pos_format.field[1] = (char) money_base::value; +- pos_format.field[2] = (char) money_base::sign; +- pos_format.field[3] = (char) money_base::none; +- } +- } +- else { +- pos_format.field[1] = (char) money_base::value; +- if (_Locale_p_sep_by_space(monetary)) { +- pos_format.field[1] = (char) money_base::space; +- pos_format.field[2] = (char) money_base::symbol; +- pos_format.field[3] = (char) money_base::sign; +- } +- else { +- pos_format.field[1] = (char) money_base::symbol; +- pos_format.field[2] = (char) money_base::sign; +- pos_format.field[3] = (char) money_base::none; +- } +- } +- break; +- case 3: +- if (_Locale_p_cs_precedes(monetary)) { +- pos_format.field[0] = (char) money_base::sign; +- pos_format.field[1] = (char) money_base::symbol; +- if (_Locale_p_sep_by_space(monetary)) { +- pos_format.field[2] = (char) money_base::space; +- pos_format.field[3] = (char) money_base::value; +- } +- else { +- pos_format.field[2] = (char) money_base::value; +- pos_format.field[3] = (char) money_base::none; +- } +- } +- else { +- pos_format.field[0] = (char) money_base::value; +- pos_format.field[1] = (char) money_base::sign; +- pos_format.field[2] = (char) money_base::symbol; +- pos_format.field[3] = (char) money_base::none; +- } +- break; +- case 4: default: +- if (_Locale_p_cs_precedes(monetary)) { +- pos_format.field[0] = (char) money_base::symbol; +- pos_format.field[1] = (char) money_base::sign; +- pos_format.field[2] = (char) money_base::value; +- pos_format.field[3] = (char) money_base::none; +- } +- else { +- pos_format.field[0] = (char) money_base::value; +- if (_Locale_p_sep_by_space(monetary)) { +- pos_format.field[1] = (char) money_base::space; +- pos_format.field[2] = (char) money_base::symbol; +- pos_format.field[3] = (char) money_base::sign; +- } +- else { +- pos_format.field[1] = (char) money_base::symbol; +- pos_format.field[2] = (char) money_base::sign; +- pos_format.field[3] = (char) money_base::none; +- } +- } +- break; +- } +- +- switch (_Locale_n_sign_posn(monetary)) { +- case 0: case 1: +- neg_format.field[0] = (char) money_base::sign; +- if (_Locale_n_cs_precedes(monetary)) { +- neg_format.field[1] = (char) money_base::symbol; +- if (_Locale_n_sep_by_space(monetary)) { +- neg_format.field[2] = (char) money_base::space; +- neg_format.field[3] = (char) money_base::value; +- } +- else { +- neg_format.field[2] = (char) money_base::value; +- neg_format.field[3] = (char) money_base::none; +- } +- } +- else { +- neg_format.field[2] = (char) money_base::value; +- if (_Locale_n_sep_by_space(monetary)) { +- neg_format.field[2] = (char) money_base::space; +- neg_format.field[3] = (char) money_base::symbol; +- } +- else { +- neg_format.field[2] = (char) money_base::symbol; +- neg_format.field[3] = (char) money_base::none; +- } +- } +- break; +- case 2: +- if (_Locale_n_cs_precedes(monetary)) { +- neg_format.field[0] = (char) money_base::symbol; +- if (_Locale_n_sep_by_space(monetary)) { +- neg_format.field[1] = (char) money_base::space; +- neg_format.field[2] = (char) money_base::value; +- neg_format.field[3] = (char) money_base::sign; +- } +- else { +- neg_format.field[1] = (char) money_base::value; +- neg_format.field[2] = (char) money_base::sign; +- neg_format.field[3] = (char) money_base::none; +- } +- } +- else { +- neg_format.field[1] = (char) money_base::value; +- if (_Locale_n_sep_by_space(monetary)) { +- neg_format.field[1] = (char) money_base::space; +- neg_format.field[2] = (char) money_base::symbol; +- neg_format.field[3] = (char) money_base::sign; +- } +- else { +- neg_format.field[1] = (char) money_base::symbol; +- neg_format.field[2] = (char) money_base::sign; +- neg_format.field[3] = (char) money_base::none; +- } +- } +- break; +- case 3: +- if (_Locale_n_cs_precedes(monetary)) { +- neg_format.field[0] = (char) money_base::sign; +- neg_format.field[1] = (char) money_base::symbol; +- if (_Locale_n_sep_by_space(monetary)) { +- neg_format.field[2] = (char) money_base::space; +- neg_format.field[3] = (char) money_base::value; +- } +- else { +- neg_format.field[2] = (char) money_base::value; +- neg_format.field[3] = (char) money_base::none; +- } +- } +- else { +- neg_format.field[0] = (char) money_base::value; +- neg_format.field[1] = (char) money_base::sign; +- neg_format.field[2] = (char) money_base::symbol; +- neg_format.field[3] = (char) money_base::none; +- } +- break; +- case 4: default: +- if (_Locale_n_cs_precedes(monetary)) { +- neg_format.field[0] = (char) money_base::symbol; +- neg_format.field[1] = (char) money_base::sign; +- neg_format.field[2] = (char) money_base::value; +- neg_format.field[3] = (char) money_base::none; +- } +- else { +- neg_format.field[0] = (char) money_base::value; +- if (_Locale_n_sep_by_space(monetary)) { +- neg_format.field[1] = (char) money_base::space; +- neg_format.field[2] = (char) money_base::symbol; +- neg_format.field[3] = (char) money_base::sign; +- } +- else { +- neg_format.field[1] = (char) money_base::symbol; +- neg_format.field[2] = (char) money_base::sign; +- neg_format.field[3] = (char) money_base::none; +- } +- } +- break; +- } ++// This is being used throughout the library ++string _S_empty_string(""); ++# ifndef _STLP_NO_WCHAR_T ++wstring _S_empty_wstring(L""); ++# endif ++ ++// ++// moneypunct<> ++// ++ ++moneypunct::moneypunct(size_t __refs) : _BaseFacet(__refs) { ++ _Init_monetary_formats(_M_pos_format, _M_neg_format); + } ++moneypunct::~moneypunct() {} ++ ++char moneypunct::do_decimal_point() const {return ' ';} ++char moneypunct::do_thousands_sep() const {return ' ';} ++string moneypunct::do_grouping() const { return _S_empty_string; } ++string moneypunct::do_curr_symbol() const { return _S_empty_string; } ++string moneypunct::do_positive_sign() const { return _S_empty_string; } ++string moneypunct::do_negative_sign() const { return _S_empty_string; } ++money_base::pattern moneypunct::do_pos_format() const {return _M_pos_format;} ++money_base::pattern moneypunct::do_neg_format() const {return _M_neg_format;} ++int moneypunct::do_frac_digits() const {return 0;} ++ ++moneypunct::moneypunct(size_t __refs) : _BaseFacet(__refs) { ++ _Init_monetary_formats(_M_pos_format, _M_neg_format); ++} ++moneypunct::~moneypunct() {} ++ ++char moneypunct::do_decimal_point() const {return ' ';} ++char moneypunct::do_thousands_sep() const {return ' ';} ++ ++string moneypunct::do_grouping() const { return _S_empty_string; } ++string moneypunct::do_curr_symbol() const { return _S_empty_string; } ++string moneypunct::do_positive_sign() const { return _S_empty_string; } ++string moneypunct::do_negative_sign() const { return _S_empty_string; } ++money_base::pattern moneypunct::do_pos_format() const {return _M_pos_format;} ++money_base::pattern moneypunct::do_neg_format() const {return _M_neg_format;} ++int moneypunct::do_frac_digits() const {return 0;} ++ ++ ++# ifndef _STLP_NO_WCHAR_T ++ ++moneypunct::moneypunct(size_t __refs) : _BaseFacet(__refs) { ++ _Init_monetary_formats(_M_pos_format, _M_neg_format); ++} ++moneypunct::~moneypunct() {} ++ ++wchar_t moneypunct::do_decimal_point() const {return L' ';} ++wchar_t moneypunct::do_thousands_sep() const {return L' ';} ++string moneypunct::do_grouping() const {return _S_empty_string;} ++ ++wstring moneypunct::do_curr_symbol() const ++ {return _S_empty_wstring;} ++wstring moneypunct::do_positive_sign() const ++ {return _S_empty_wstring;} ++wstring moneypunct::do_negative_sign() const ++ {return _S_empty_wstring;} ++int moneypunct::do_frac_digits() const {return 0;} ++money_base::pattern moneypunct::do_pos_format() const ++ {return _M_pos_format;} ++money_base::pattern moneypunct::do_neg_format() const ++ {return _M_neg_format;} ++ ++moneypunct::moneypunct(size_t __refs) : _BaseFacet(__refs) { ++ _Init_monetary_formats(_M_pos_format, _M_neg_format); ++} ++moneypunct::~moneypunct() {} ++ ++wchar_t moneypunct::do_decimal_point() const {return L' ';} ++wchar_t moneypunct::do_thousands_sep() const {return L' ';} ++string moneypunct::do_grouping() const { return _S_empty_string;} ++wstring moneypunct::do_curr_symbol() const ++ {return _S_empty_wstring;} ++wstring moneypunct::do_positive_sign() const ++ {return _S_empty_wstring;} ++wstring moneypunct::do_negative_sign() const ++ {return _S_empty_wstring;} ++int moneypunct::do_frac_digits() const {return 0;} ++ ++money_base::pattern moneypunct::do_pos_format() const ++ {return _M_pos_format;} ++money_base::pattern moneypunct::do_neg_format() const ++ {return _M_neg_format;} ++ ++# endif /* WCHAR_T */ ++ ++// ++// Instantiations ++// ++ ++# if !defined(_STLP_NO_FORCE_INSTANTIATE) ++ ++template class money_get > >; ++template class money_put > >; ++// template class money_put; ++ ++#ifndef _STLP_NO_WCHAR_T ++template class money_get > >; ++template class money_put > >; ++// template class money_put; ++// template class money_get; ++#endif ++ ++# endif + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + + // Local Variables: + // mode:C++ +Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: money_get.cpp +Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: money_get_w.cpp +Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: money_put.cpp +Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: money_put_w.cpp +Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: moneypunct.cpp +Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: moneypunct_byname.cpp +Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: moneypunct_byname_w.cpp +Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: moneypunct_w.cpp +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/mwerks_debug_prefix.h tripwire-2.3.1-2/src/STLport-4.0/src/mwerks_debug_prefix.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/mwerks_debug_prefix.h Sat Feb 24 10:44:12 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/mwerks_debug_prefix.h Sun Aug 11 18:59:22 2002 +@@ -1,3 +1,3 @@ + #define __BUILDING_STLPORT 1 +-#define __SGI_STL_OWN_IOSTREAMS 1 +-#define __STL_DEBUG 1 ++#define _STLP_OWN_IOSTREAMS 1 ++#define _STLP_DEBUG 1 +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/mwerks_prefix.h tripwire-2.3.1-2/src/STLport-4.0/src/mwerks_prefix.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/mwerks_prefix.h Sat Feb 24 10:44:12 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/mwerks_prefix.h Sun Aug 11 18:59:22 2002 +@@ -1,2 +1,2 @@ + #define __BUILDING_STLPORT 1 +-#define __SGI_STL_OWN_IOSTREAMS 1 +\ No newline at end of file ++#define _STLP_OWN_IOSTREAMS 1 +Only in tripwire-2.3.1-2.old/src/STLport-4.0/src/mwerks_prj: libstlport.mcp +Binary files tripwire-2.3.1-2.old/src/STLport-4.0/src/mwerks_prj/libstlport_Data/CWSettingsWindows.stg and tripwire-2.3.1-2/src/STLport-4.0/src/mwerks_prj/libstlport_Data/CWSettingsWindows.stg differ +Only in tripwire-2.3.1-2.old/src/STLport-4.0/src/mwerks_prj: tlib.cfg +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/mwerks_x86_prefix.h tripwire-2.3.1-2/src/STLport-4.0/src/mwerks_x86_prefix.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/mwerks_x86_prefix.h Sat Feb 24 10:44:12 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/mwerks_x86_prefix.h Sun Aug 11 18:59:22 2002 +@@ -1,4 +1,4 @@ + // #define __BUILDING_STLPORT 1 +-#define __SGI_STL_OWN_IOSTREAMS 1 ++#define _STLP_OWN_IOSTREAMS 1 + // #define _DLL + #define _WIN32 +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/nmake_common.mak tripwire-2.3.1-2/src/STLport-4.0/src/nmake_common.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/nmake_common.mak Sat Feb 24 10:44:13 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/nmake_common.mak Sun Aug 11 18:59:22 2002 +@@ -1,11 +1,33 @@ + +-do_install: all ++install_dlls: + @echo Copying STLport DLLs to Windows system directory... + @if "%OS%" == "Windows_NT" copy $(OUTDIR)\$(LIB_BASENAME)*.dll $(WINDIR)\System32 + @if "%OS%" == "" copy $(OUTDIR)\$(LIB_BASENAME)*.dll $(WINDIR)\System + @echo STLport DLL libraries are installed on your system. + +-# if not exist "$(OUTDIR)/$(NULL)" $(MKDIR) "$(OUTDIR)" ++install_libs_vc: ++ @echo Copying STLport .lib files to VC lib directory : %MSVCDir%\lib... ++ @copy $(OUTDIR)\$(LIB_BASENAME)*.lib "%MSVCDir%\lib" ++ @echo Done copying .lib files. ++ ++install_headers_vc: ++ @echo Copying STLport headers files to VC include directory : %MSVCDir%\include\stlport... ++ @xcopy /Q /R /K /I /S ..\stlport "%MSVCDir%\include\stlport\" ++ @echo Done copying STLport headers. ++ ++check_env_vc: ++ @if not exist "%MSVCDir%\lib\*.*" echo "Please set up MSVCDir environment variable. Did you run vcvars32.bat ?" ++ @if not exist "%MSVCDir%\lib\*.*" dir "%MSVCDir%\lib" ++ ++install_vc : all check_env_vc install_libs_vc install_dlls install_headers_vc report_dirs_vc ++ ++install_bc : all install_dlls ++ ++report_dirs_vc : ++ @echo STLport installation complete. ++ @echo Please find STLport headers in %MSVCDir%\include\stlport. ++ @echo Please find STLport .lib files in %MSVCDir%\lib. ++ @echo Please find STLport DLLs in Windows system directory. + + {$(SRCDIR)}.cpp{$(RELEASE_OBJDIR_static)}.obj: + $(CXX) $(CXXFLAGS_RELEASE_static) $< +@@ -20,6 +42,19 @@ + $(CXX) $(CXXFLAGS_RELEASE_static) $< + + ++{$(SRCDIR)}.cpp{$(RELEASE_OBJDIR_staticx)}.obj: ++ $(CXX) $(CXXFLAGS_RELEASE_staticx) $< ++ ++{$(SRCDIR)}.c{$(RELEASE_OBJDIR_staticx)}.obj: ++ $(CC) $(CXXFLAGS_RELEASE_staticx) $< ++ ++{$(SRCDIR)}.c{$(RELEASE_OBJDIR_staticx)}.sbr: ++ $(CC) $(CXXFLAGS_RELEASE_staticx) $< ++ ++{$(SRCDIR)}.cpp{$(RELEASE_OBJDIR_staticx)}.sbr: ++ $(CXX) $(CXXFLAGS_RELEASE_staticx) $< ++ ++ + {$(SRCDIR)}.cpp{$(RELEASE_OBJDIR_dynamic)}.obj: + $(CXX) $(CXXFLAGS_RELEASE_dynamic) $< + +@@ -46,6 +81,18 @@ + {$(SRCDIR)}.cpp{$(DEBUG_OBJDIR_static)}.sbr: + $(CXX) $(CXXFLAGS_DEBUG_static) $< + ++{$(SRCDIR)}.cpp{$(DEBUG_OBJDIR_staticx)}.obj: ++ $(CXX) $(CXXFLAGS_DEBUG_staticx) $< ++ ++{$(SRCDIR)}.c{$(DEBUG_OBJDIR_staticx)}.obj: ++ $(CC) $(CXXFLAGS_DEBUG_staticx) $< ++ ++{$(SRCDIR)}.c{$(DEBUG_OBJDIR_staticx)}.sbr: ++ $(CC) $(CXXFLAGS_DEBUG_staticx) $< ++ ++{$(SRCDIR)}.cpp{$(DEBUG_OBJDIR_staticx)}.sbr: ++ $(CXX) $(CXXFLAGS_DEBUG_staticx) $< ++ + {$(SRCDIR)}.cpp{$(DEBUG_OBJDIR_dynamic)}.obj: + $(CXX) $(CXXFLAGS_DEBUG_dynamic) $< + +@@ -72,6 +119,18 @@ + {$(SRCDIR)}.cpp{$(STLDEBUG_OBJDIR_static)}.sbr: + $(CXX) $(CXXFLAGS_STLDEBUG_static) $< + ++{$(SRCDIR)}.cpp{$(STLDEBUG_OBJDIR_staticx)}.obj: ++ $(CXX) $(CXXFLAGS_STLDEBUG_staticx) $< ++ ++{$(SRCDIR)}.c{$(STLDEBUG_OBJDIR_staticx)}.obj: ++ $(CC) $(CXXFLAGS_STLDEBUG_staticx) $< ++ ++{$(SRCDIR)}.c{$(STLDEBUG_OBJDIR_staticx)}.sbr: ++ $(CC) $(CXXFLAGS_STLDEBUG_staticx) $< ++ ++{$(SRCDIR)}.cpp{$(STLDEBUG_OBJDIR_staticx)}.sbr: ++ $(CXX) $(CXXFLAGS_STLDEBUG_staticx) $< ++ + {$(SRCDIR)}.cpp{$(STLDEBUG_OBJDIR_dynamic)}.obj: + $(CXX) $(CXXFLAGS_STLDEBUG_dynamic) $< + +@@ -90,8 +149,9 @@ + $(RC) /d COMP=$(COMP) /fo $(RELEASE_OBJDIR_dynamic)\stlport.res $< + + {$(SRCDIR)}.rc{$(DEBUG_OBJDIR_dynamic)}.res: +- $(RC) /d COMP=$(COMP) /d BUILD=DEBUG /fo $(DEBUG_OBJDIR_dynamic)\stlport.res $< ++ $(RC) /d COMP=$(COMP) /d BUILD=_DEBUG /fo $(DEBUG_OBJDIR_dynamic)\stlport.res $< + + {$(SRCDIR)}.rc{$(STLDEBUG_OBJDIR_dynamic)}.res: +- $(RC) /d COMP=$(COMP) /d BUILD=STLDEBUG /fo $(STLDEBUG_OBJDIR_dynamic)\stlport.res $< ++ $(RC) /d COMP=$(COMP) /d BUILD=_STLDEBUG /fo $(STLDEBUG_OBJDIR_dynamic)\stlport.res $< ++ + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/num_get.cpp tripwire-2.3.1-2/src/STLport-4.0/src/num_get.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/num_get.cpp Sat Feb 24 10:44:13 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/num_get.cpp Sun Aug 11 18:59:22 2002 +@@ -16,31 +16,25 @@ + * + */ + # include "stlport_prefix.h" +-#include +-#include +-#include +-#include +-#include +- +-#include +-#include +-#include +-#include ++#include ++#include ++#include + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + //---------------------------------------------------------------------- + // num_get + +-// Helper functions for _M_do_get_integer. + +-void __STL_CALL +-__initialize_get_digit(wchar_t* digits, wchar_t* xdigits, ++static char narrow_digits[11] = "0123456789"; ++static char narrow_xdigits[13] = "aAbBcCdDeEfF"; ++ ++# ifndef _STLP_NO_WCHAR_T ++ ++void _STLP_CALL ++_Initialize_get_digit(wchar_t* digits, wchar_t* xdigits, + const ctype& ct) + { +- char narrow_digits[11] = "0123456789"; +- char narrow_xdigits[13] = "aAbBcCdDeEfF"; +- + ct.widen(narrow_digits + 0, narrow_digits + 10, digits); + ct.widen(narrow_xdigits + 0, narrow_xdigits + 10, xdigits); + } +@@ -48,9 +42,9 @@ + // Return either the digit corresponding to c, or a negative number if + // if c isn't a digit. We return -1 if c is the separator character, and + // -2 if it's some other non-digit. +-int __get_digit(wchar_t c, +- const wchar_t* digits, const wchar_t* xdigits, +- wchar_t separator) ++int _STLP_CALL __get_digit(wchar_t c, ++ const wchar_t* digits, const wchar_t* xdigits, ++ wchar_t separator) + { + // Test if it's the separator. + if (c == separator) +@@ -61,16 +55,18 @@ + // Test if it's a decimal digit. + p = find(digits, digits + 10, c); + if (p != digits + 10) +- return p - digits; ++ return (int)(p - digits); + + // Test if it's a hex digit. + p = find(xdigits, xdigits + 12, c); + if (p != xdigits + 12) +- return 10 + (xdigits - p) / 2; ++ return (int)(10 + (xdigits - p) / 2); + else + return -2; // It's not a digit and not the separator. + } + ++# endif /* _STLP_NO_WCHAR_T */ ++ + // __valid_grouping compares two strings, one representing the + // group sizes encountered when reading an integer, and the other + // representing the valid group sizes as returned by the numpunct +@@ -80,28 +76,29 @@ + // the first string must be equal to the corresponding term in the + // second, except for the last, which must be less than or equal. + +-bool __STL_CALL +-__valid_grouping(const string& group_sizes, +- const string& prescribed_grouping) +-{ +- const char * first1 = group_sizes.data(); +- const char * last1 = first1 + group_sizes.size(); +- const char * first2 = prescribed_grouping.data(); +- const char * last2 = first2 + prescribed_grouping.size(); +- ++// boris : this takes reversed first string ! ++bool _STLP_CALL ++__valid_grouping(const char * first1, const char * last1, ++ const char * first2, const char * last2) ++{ + if (first1 == last1 || first2 == last2) return true; + + --last1; --last2; + + while (first1 != last1) { +- if (*first1 != *first2) ++ if (*last1 != *first2) + return false; +- ++first1; ++ --last1; + if (first2 != last2) ++first2; + } +- return *first1 <= *first2; ++ ++ return *last1 <= *first2; + } + ++// this needed for some compilers to make sure sumbols are extern ++extern const unsigned char __digit_val_table[]; ++extern const char __narrow_atoms[]; ++ + + const unsigned char __digit_val_table[128] = + { +@@ -119,8 +116,55 @@ + + // index is actually a char + ++# ifndef _STLP_NO_WCHAR_T ++ ++// Similar, except return the character itself instead of the numeric ++// value. Used for floating-point input. ++bool _STLP_CALL __get_fdigit(wchar_t& c, const wchar_t* digits) ++{ ++ const wchar_t* p = find(digits, digits + 10, c); ++ if (p != digits + 10) { ++ c = (char)('0' + (p - digits)); ++ return true; ++ } ++ else ++ return false; ++} ++ ++bool _STLP_CALL __get_fdigit_or_sep(wchar_t& c, wchar_t sep, ++ const wchar_t * digits) ++{ ++ if (c == sep) { ++ c = (char)','; ++ return true; ++ } ++ else ++ return __get_fdigit(c, digits); ++} ++ ++//---------------------------------------------------------------------- ++// Force instantiation of of num_get<> ++ ++#if !defined(_STLP_NO_FORCE_INSTANTIATE) ++template class _STLP_CLASS_DECLSPEC istreambuf_iterator >; ++template class num_get > >; ++// template class num_get; ++#endif ++ ++# endif /* _STLP_NO_WCHAR_T */ ++ ++//---------------------------------------------------------------------- ++// Force instantiation of of num_get<> ++ ++#if !defined(_STLP_NO_FORCE_INSTANTIATE) ++template class _STLP_CLASS_DECLSPEC istreambuf_iterator >; ++// template class num_get; ++template class num_get > >; ++#endif ++ ++// basic_streambuf >* _STLP_CALL _M_get_istreambuf(basic_istream >& ) ; + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/num_get_float.cpp tripwire-2.3.1-2/src/STLport-4.0/src/num_get_float.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/num_get_float.cpp Sat Feb 24 10:44:14 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/num_get_float.cpp Sun Aug 11 18:59:22 2002 +@@ -17,62 +17,30 @@ + */ + + # include "stlport_prefix.h" +-#include +-#include +-#include +-#include +-#include +- +-#include +-#include +-#include ++#include ++#include ++#include + +-// #include "c_numeric_facets.h" +- +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + //---------------------------------------------------------------------- + // num_get + + // Helper functions for _M_do_get_float. + +-void __STL_CALL +-__initialize_get_float(const locale& loc, +- char& Plus, char& Minus, char& dot_char, +- char& pow_e, char& pow_E, +- char& sep, string& grouping, +- char* /* digits */) +-{ +- const numpunct& fac = (const numpunct&)use_facet >(loc); +- Plus = '+'; +- Minus = '-'; +- dot_char = fac.decimal_point(); +- pow_e = 'e'; +- pow_E = 'E'; +- sep = fac.thousands_sep(); +- grouping = fac.grouping(); +-} ++# ifndef _STLP_NO_WCHAR_T + +- +-# ifndef __STL_NO_WCHAR_T +- +-void __STL_CALL +-__initialize_get_float(const locale& loc, +- wchar_t& Plus, wchar_t& Minus, wchar_t& dot_char, ++void _STLP_CALL ++_Initialize_get_float( const ctype& ct, ++ wchar_t& Plus, wchar_t& Minus, + wchar_t& pow_e, wchar_t& pow_E, +- wchar_t& sep, string& grouping, + wchar_t* digits) + { + char ndigits[11] = "0123456789"; +- const ctype& ct = use_facet >(loc); +- const numpunct& np = use_facet >(loc); + Plus = ct.widen('+'); + Minus = ct.widen('-'); +- dot_char = np.decimal_point(); + pow_e = ct.widen('e'); + pow_E = ct.widen('E'); +- sep = np.thousands_sep(); +- grouping = np.grouping(); + ct.widen(ndigits + 0, ndigits + 10, digits); + } + +@@ -86,12 +54,12 @@ + */ + + typedef unsigned int uint32; +-# ifdef __STL_LONG_LONG +-typedef unsigned long long uint64; +-# define ULL(x) x##ull +-# elif defined (__STL_MSVC) || defined (__BORLANDC__) +-typedef unsigned __int64 uint64; +-# define ULL(x) uint64(x) ++# if defined (_STLP_MSVC) || defined (__BORLANDC__) || defined (__ICL) ++# define ULL(x) x##Ui64 ++typedef unsigned _STLP_LONG_LONG uint64; ++# elif defined (_STLP_LONG_LONG) ++typedef unsigned _STLP_LONG_LONG uint64; ++# define ULL(x) x##ULL + # elif defined(__MRC__) || defined(__SC__) //*TY 02/25/2000 - added support for MPW compilers + # include "uint64.h" //*TY 03/25/2000 - added 64bit math type definition + # else +@@ -99,12 +67,11 @@ + # define NUMERIC_NO_64 1 + # endif + +- + // Multiplication of two 64-bit integers, giving a 128-bit result. + // Taken from Algorithm M in Knuth section 4.3.1, with the loop + // hand-unrolled. +-inline void _Stl_mult64(const uint64 u, const uint64 v, +- uint64& high, uint64& low) ++void _Stl_mult64(const uint64 u, const uint64 v, ++ uint64& high, uint64& low) + { + const uint64 low_mask = ULL(0xffffffff); + const uint64 u0 = u & low_mask; +@@ -124,8 +91,8 @@ + high = u1 * v1 + w2 + (x >> 32); + } + +- static const uint64 bit11 = ULL(0x7ff); +- static const uint64 exponent_mask = bit11 << 52; ++# define bit11 ULL(0x7ff) ++# define exponent_mask (bit11 << 52) + + inline void _Stl_set_exponent(uint64& val, uint64 exp) + { +@@ -262,7 +229,7 @@ + # define NUM_HI_P 11 + # define NUM_HI_N 13 + +-const uint64 _Stl_HIBITULL = ULL(1) << 63; ++# define _Stl_HIBITULL (ULL(1) << 63) + + void _Stl_norm_and_round(uint64& p, int& norm, uint64 prodhi, uint64 prodlo) + { +@@ -279,7 +246,7 @@ + p = _Stl_HIBITULL; + return; + } +- p = prodhi<<1 | prodlo>>63; /* normalize */ ++ p = (prodhi<<1) | (prodlo>>63); /* normalize */ + norm=1; + prodlo <<= 1; + } +@@ -289,10 +256,10 @@ + + if( (prodlo & _Stl_HIBITULL) != 0 ) { /* first guard bit a one */ //*TY 03/25/2000 - added explicit comparison to zero to avoid reliance to the implicit conversion from uint64 to bool + #if !defined(__SC__) //*TY 03/25/2000 - +- if( (p & ULL(0x1) != 0) || /* LSB on, round to even */ //*TY 03/25/2000 - added explicit comparison to zero ++ if( ((p & 0x1) != 0) || + prodlo != _Stl_HIBITULL ) { /* not borderline for round to even */ + #else //*TY 03/25/2000 - added workaround for SCpp compiler +- bool b1 = ((p & ULL(0x1)) != 0); ++ bool b1 = ((p & 0x1) != 0); + if( b1 || prodlo != _Stl_HIBITULL ) { //*TY 03/25/2000 - SCpp confuses on this particular original boolean expression + #endif //*TY 03/25/2000 - + /* round */ +@@ -348,7 +315,7 @@ + return; + } + while(exp_hi) { /* scale */ +- hi = min(exp_hi,num_hi); /* only a few large powers of 10 */ ++ hi = (min) (exp_hi,num_hi); /* only a few large powers of 10 */ + exp_hi -= hi; /* could iterate in extreme case */ + hi += thi-1; + _Stl_mult64(p, _Stl_tenpow[hi], prodhi, prodlo); +@@ -372,9 +339,9 @@ + #if defined(__SC__) || defined(__MRC__) + + //*TY 04/06/2000 - powermac's 68K emulator utilizes apple's SANE floating point, which is not compatible with IEEE format. +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + # include +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + inline double _Stl_atod(char *buffer, int ndigit, int dexp) + { + decimal d; // ref. inside macintosh powerpc numerics p.9-13 +@@ -391,6 +358,11 @@ + + #else /* IEEE representation */ + ++#if 0 // def __ICL ++// turn off optimization here ++# pragma optimize "off" ++#endif ++ + double _Stl_atod(char *buffer, int ndigit, int dexp) + { + +@@ -481,9 +453,9 @@ + { + rest = value & ((ULL(1)<< 63)-1); + #if !defined(__SC__) +- guard = (uint32) ((value>> 63) & ULL(1) ); ++ guard = (uint32) ((value>> 63) & 1 ); + #else +- guard = to_ulong((value>> 63) & ULL(1) ); //*TY 03/25/2000 - use member function instead of problematic conversion operator utilization ++ guard = to_ulong((value>> 63) & 1 ); //*TY 03/25/2000 - use member function instead of problematic conversion operator utilization + #endif + value = 0; + } +@@ -491,9 +463,9 @@ + { + rest = value & (((ULL(1) << lead0)-1)-1); + #if !defined(__SC__) +- guard = (uint32) (((value>> lead0)-1) & ULL(1)); ++ guard = (uint32) (((value>> lead0)-1) & 1); + #else //*TY 03/25/2000 - +- guard = to_ulong(((value>> lead0)-1) & ULL(1)); ++ guard = to_ulong(((value>> lead0)-1) & 1); + #endif //*TY 03/25/2000 - + value >>= /*(uint64)*/ lead0; /* exponent is zero */ + } +@@ -512,7 +484,7 @@ + else { /* not zero or denorm */ + /* Round to 53 bits */ + +- rest = value & (ULL(1)<<10)-1; ++ rest = value & (1<<10)-1; + value >>= 10; + #if !defined(__SC__) + guard = (uint32) value & 1; +@@ -671,6 +643,7 @@ + } + + ++#ifndef _STLP_NO_LONG_DOUBLE + /* + * __string_to_long_double is just lifted from atold, the difference being + * that we just use '.' for the decimal point, rather than let it +@@ -793,23 +766,26 @@ + + return x; + } ++#endif + +-void __STL_CALL ++void _STLP_CALL + __string_to_float(const string& v, float& val) { + val = _Stl_string_to_double(v.data()); + } + +-void __STL_CALL ++void _STLP_CALL + __string_to_float(const string& v, double& val) { + val = _Stl_string_to_double(v.data()); + } + +-void __STL_CALL ++#ifndef _STLP_NO_LONG_DOUBLE ++void _STLP_CALL + __string_to_float(const string& v, long double& val) { + val = _Stl_string_to_long_double(v.data()); + } ++#endif + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + + // Local Variables: + // mode:C++ +Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: num_get_inst.cpp +Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: num_get_inst_w.cpp +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/num_put.cpp tripwire-2.3.1-2/src/STLport-4.0/src/num_put.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/num_put.cpp Sat Feb 24 10:44:14 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/num_put.cpp Sun Aug 11 18:59:22 2002 +@@ -16,91 +16,32 @@ + * + */ + ++# include "stlport_prefix.h" + # include "num_put.h" + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + //---------------------------------------------------------------------- + // num_put + +-// Helper functions for _M_do_put_integer ++extern const char __hex_char_table_lo[]; ++extern const char __hex_char_table_hi[]; + +-void __STL_CALL +-__make_integer_conversion_spec(char * cvtspec, +- ios_base::fmtflags flags, +- bool is_signed, +- bool is_long_long) +-{ +- *cvtspec++ = '%'; +- if (flags & ios_base::showpos) *cvtspec++ = '+'; +- if (flags & ios_base::showbase) *cvtspec++ = '#'; +- +- *cvtspec++ = 'l'; // %l... for long, %ll... for unsigned long. +- if (is_long_long) // We never construct a conversion specifier +- *cvtspec++ = 'l'; // for any type shorter than long. +- +- switch (flags & ios_base::basefield) { +- case ios_base::oct: +- *cvtspec++ = 'o'; break; +- case ios_base::hex: +- *cvtspec++ = flags & ios_base::uppercase ? 'X' : 'x'; break; +- default: +- *cvtspec++ = is_signed ? 'd' : 'u'; +- } +- +- *cvtspec++ = 0; +-} ++const char __hex_char_table_lo[18] = "0123456789abcdefx"; ++const char __hex_char_table_hi[18] = "0123456789ABCDEFX"; + +-char* __STL_CALL ++char* _STLP_CALL + __write_integer(char* buf, ios_base::fmtflags flags, long x) + { +- char cvtspec[64]; +- __make_integer_conversion_spec(cvtspec, flags, true, false); +- sprintf(buf, cvtspec, x); +- return buf + strlen(buf); +-} +- +-char* __STL_CALL +-__write_integer(char* buf, ios_base::fmtflags flags, unsigned long x) +-{ +- char cvtspec[64]; +- __make_integer_conversion_spec(cvtspec, flags, false, false); +- sprintf(buf, cvtspec, x); +- return buf + strlen(buf); +-} +- +-#ifdef __STL_LONG_LONG +- +-char* __STL_CALL +-__write_integer(char* buf, ios_base::fmtflags flags, long long x) +-{ +- char cvtspec[64]; +- __make_integer_conversion_spec(cvtspec, flags, true, true); +- sprintf(buf, cvtspec, x); +- return buf + strlen(buf); ++ char tmp[64]; ++ char* bufend = tmp+64; ++ char* beg = __write_integer_backward(bufend, flags, x); ++ return copy(beg, bufend, buf); + } + +-char* __STL_CALL +-__write_integer(char* buf, ios_base::fmtflags flags, unsigned long long x) +-{ +- char cvtspec[64]; +- __make_integer_conversion_spec(cvtspec, flags, false, true); +- sprintf(buf, cvtspec, x); +- return buf + strlen(buf); +-} +- +-#endif /* __STL_LONG_LONG */ +- +- +-ptrdiff_t __STL_CALL +-__insert_grouping(char* first, char* last, const string& grouping, +- char separator, int basechars) +-{ +- return __insert_grouping_aux(first, last, grouping, separator, +- '+', '-', basechars); +-} ++///------------------------------------- + +-ptrdiff_t __STL_CALL ++ptrdiff_t _STLP_CALL + __insert_grouping(char * first, char * last, const string& grouping, + char separator, char Plus, char Minus, int basechars) + { +@@ -108,9 +49,9 @@ + separator, Plus, Minus, basechars); + } + +-# ifndef __STL_NO_WCHAR_T ++# ifndef _STLP_NO_WCHAR_T + +-ptrdiff_t __STL_CALL ++ptrdiff_t _STLP_CALL + __insert_grouping(wchar_t* first, wchar_t* last, const string& grouping, + wchar_t separator, wchar_t Plus, wchar_t Minus, + int basechars) +@@ -121,7 +62,21 @@ + + # endif + +-__STL_END_NAMESPACE ++ ++//---------------------------------------------------------------------- ++// Force instantiation of num_put<> ++#if !defined(_STLP_NO_FORCE_INSTANTIATE) ++template class _STLP_CLASS_DECLSPEC ostreambuf_iterator >; ++// template class num_put; ++template class num_put > >; ++# ifndef _STLP_NO_WCHAR_T ++template class ostreambuf_iterator >; ++template class num_put > >; ++// template class num_put; ++# endif /* INSTANTIATE_WIDE_STREAMS */ ++#endif ++ ++_STLP_END_NAMESPACE + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/num_put.h tripwire-2.3.1-2/src/STLport-4.0/src/num_put.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/num_put.h Sat Feb 24 10:44:14 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/num_put.h Sun Aug 11 18:59:22 2002 +@@ -16,22 +16,17 @@ + * + */ + +-# ifndef __STL_NUM_PUT_H +-# define __STL_NUM_PUT_H ++# ifndef _STLP_NUM_PUT_H ++# define _STLP_NUM_PUT_H + +-#define __BUILDING_STLPORT 1 +-#include +-#include +-#include +-#include +-// #include +- +-#include +-#include +-#include +-#include ++#ifndef _STLP_INTERNAL_NUM_PUT_H ++#include ++#endif ++#ifndef _STLP_INTERNAL_OSTREAM_H ++#include ++#endif + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + // Note that grouping[0] is the number of digits in the *rightmost* group. + // We assume, without checking, that *last is null and that there is enough +@@ -77,6 +72,6 @@ + return (last - first) + sign + basechars; + } + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + + # endif +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/num_put_float.cpp tripwire-2.3.1-2/src/STLport-4.0/src/num_put_float.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/num_put_float.cpp Sat Feb 24 10:44:14 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/num_put_float.cpp Sun Aug 11 18:59:22 2002 +@@ -24,7 +24,7 @@ + #define NDIG 82 + # endif + +-# ifdef __STL_NO_LONG_DOUBLE ++# ifdef _STLP_NO_LONG_DOUBLE + # define MAXECVT 17 + # define MAXFCVT 18 + typedef double max_double_type; +@@ -41,29 +41,33 @@ + + # include + +-# ifdef __STL_UNIX +- +-# ifdef __OpenBSD__ +-# include +-# include +-# else +-# include +-# endif ++# ifdef _STLP_UNIX + + # if defined (__sun) + # include + # endif + +-# if !defined(__STL_USE_GLIBC) && !defined(__FreeBSD__) && !defined(__OpenBSD__) // dwa 1/10/00 - nan.h not supplied with gcc +-// DEC & Solaris need this ++//# if !(defined(_STLP_USE_GLIBC) || defined(__FreeBSD__) || defined(__NetBSD__) || defined (_AIX) || defined(__MVS__) || defined (__OS400__) || defined (__QNXNTO__) || defined (__APPLE__) || defined (__DJGPP)) ++# if defined (__sun) || defined (__digital__) || defined (__sgi) || defined (_STLP_SCO_OPENSERVER) || defined (__NCR_SVR) ++// DEC, SGI & Solaris need this ++# include + # include + # endif + ++# if defined (__QNXNTO__) || ( defined(__GNUC__) && defined(__APPLE__) ) ++# define USE_SPRINTF_INSTEAD + # endif + +-# include ++# if defined( _AIX ) // JFA 3-Aug-2000 ++# include ++# include ++# endif ++ ++# endif + +-#if defined (_MSC_VER) || defined (__MINGW32__) || defined (__BORLANDC__) ++# include ++ ++#if defined (_MSC_VER) || defined (__MINGW32__) || defined (__BORLANDC__) || defined (__DJGPP) || defined (_STLP_SCO_OPENSERVER) || defined (__NCR_SVR) + # include + #endif + +@@ -80,113 +84,255 @@ + # include + #endif + +-# include ++#if defined (__ISCPP__) ++# include ++#endif ++ ++ ++# include "num_put.h" + # include + +-__STL_BEGIN_NAMESPACE + ++#if defined(__hpux) && !defined(_INCLUDE_HPUX_SOURCE) ++ extern "C" double erf(double); ++ extern "C" double erfc(double); ++ extern "C" double gamma(double); /* obsolescent */ ++ extern "C" double hypot(double, double); ++ extern "C" int isnan(double); ++ extern "C" double j0(double); ++ extern "C" double j1(double); ++ extern "C" double jn(int, double); ++ extern "C" double lgamma(double); ++ extern "C" double y0(double); ++ extern "C" double y1(double); ++ extern "C" double yn(int, double); ++ ++# define HUGE_VALF _SINFINITY ++# define INFINITY _SINFINITY ++# define NAN _SQNAN ++ ++# define isnan(x) _ISNAN(x) ++# define isinf(x) _ISINF(x) ++# define signbit(x) _SIGNBIT(x) ++# define isfinite(x) _ISFINITE(x) ++# define isnormal(x) _ISNORMAL(x) ++# define fpclassify(x) _FPCLASSIFY(x) ++# define isunordered(x,y) _ISUNORDERED(x,y) ++# define isgreater(x,y) _ISGREATER(x,y) ++# define isgreaterequal(x,y) _ISGREATEREQUAL(x,y) ++# define isless(x,y) _ISLESS(x,y) ++# define islessequal(x,y) _ISLESSEQUAL(x,y) ++# define islessgreater(x,y) _ISLESSGREATER(x,y) ++ ++# define FP_NORMAL 0 ++# define FP_ZERO 1 ++# define FP_INFINITE 2 ++# define FP_SUBNORMAL 3 ++# define FP_NAN 4 ++ ++# define DECIMAL_DIG 17 ++ ++# define _IS64(x) (sizeof(x)==sizeof(double)) ++# define _IS32(x) (sizeof(x)==sizeof(float)) ++ ++extern "C" { ++ extern double copysign(double, double); ++ extern const float _SINFINITY; ++ extern const float _SQNAN; ++# ifdef _PA_RISC ++# define _ISNAN(x) (_IS32(x)?_Isnanf(x):(isnan)(x)) ++# define _ISINF(x) (_IS32(x)?_Isinff(x):_Isinf(x)) ++# define _SIGNBIT(x) (_IS32(x)?_Signbitf(x):_Signbit(x)) ++# define _ISFINITE(x) (_IS32(x)?_Isfinitef(x):_Isfinite(x)) ++# define _ISNORMAL(x) (_IS32(x)?_Isnormalf(x):_Isnormal(x)) ++# define _FPCLASSIFY(x) (_IS32(x)?_Fpclassifyf(x)>>1:_Fpclassify(x)>>1) ++# define _ISUNORDERED(x,y) (_IS32(x)&&_IS32(y)?_Isunorderedf(x,y):_Isunordered(x,y)) ++ extern int _Signbit(double); ++ extern int _Signbitf(float); ++ extern int _Isnanf(float); ++ extern int _Isfinite(double); ++ extern int _Isfinitef(float); ++ extern int _Isinf(double); ++ extern int _Isinff(float); ++ extern int _Isnormal(double); ++ extern int _Isnormalf(float); ++ extern int _Isunordered(double, double); ++ extern int _Isunorderedf(float, float); ++ extern int _Fpclassify(double); ++ extern int _Fpclassifyf(float); ++# else ++# include "math_ia64_internal.h" ++# define _FPCLASSIFY(x) (_IS32(x)?_Fpclassf(x):_Fpclass(x)) ++ extern int _Fpclass(double); ++ extern int _Fpclassf(float); ++# endif ++} + +-// Tests for infinity and NaN differ on different OSs. We encapsulate +-// these differences here. ++#ifndef _INCLUDE_XOPEN_SOURCE_EXTENDED ++extern "C" char *fcvt(double, int, int *, int *); ++extern "C" char *ecvt(double, int, int *, int *); ++#endif ++#ifndef _INCLUDE_HPUX_SOURCE ++# ifndef _LONG_DOUBLE ++# define _LONG_DOUBLE ++ typedef struct { ++ uint32_t word1, word2, word3, word4; ++ } long_double; ++# endif /* _LONG_DOUBLE */ ++extern "C" char *_ldecvt(long_double, int, int *, int *); ++extern "C" char *_ldfcvt(long_double, int, int *, int *); ++ ++#endif ++ ++#endif /* __hpux */ + +-#if defined(__STL_USE_GLIBC) || defined (__hpux) || defined(__MSL__) +-# if defined(__MSL__) +- // dwa 1/16/00 -- untested! +- inline bool _Stl_is_nan_or_inf(double x) { int fp_class = fpclassify(x); return x == FP_NAN || x == FP_INFINITE; } +- inline bool _Stl_is_neg_nan(double x) { return isnan(x) && ( __STL_VENDOR_STD::copysign(1., x) < 0 ); } ++_STLP_BEGIN_NAMESPACE ++ ++#if defined (__MWERKS__) || defined(__BEOS__) ++# define USE_SPRINTF_INSTEAD ++#endif ++ ++# if defined (_AIX) ++// Some OS'es only provide non-reentrant primitives, so we have to use additional synchronization here ++# ifdef _REENTRANT ++static _STLP_STATIC_MUTEX __put_float_mutex _STLP_MUTEX_INITIALIZER; ++# define LOCK_CVT _STLP_auto_lock lock(__put_float_mutex); ++# define RETURN_CVT(ecvt, x, n, pt, sign, buf) strcpy(buf, ecvt(x, n, pt, sign)); return buf; + # else +- inline bool _Stl_is_nan_or_inf(double x) { return !finite(x); } +- inline bool _Stl_is_neg_nan(double x) { return isnan(x) && ( copysign(1., x) < 0 ); } ++# define LOCK_CVT ++# define RETURN_CVT(ecvt, x, n, pt, sign, buf) return ecvt(x, n, pt, sign); + # endif +- inline bool _Stl_is_inf(double x) { return isinf(x); } +- inline bool _Stl_is_neg_inf(double x) { return isinf(x) < 0; } +-#elif defined(__unix) && !defined(__FreeBSD__) && !defined(__OpenBSD__) /* (__sgi) || defined (__sun) IRIX , Solaris, others ? */ +- inline bool _Stl_is_nan_or_inf(double x) { return IsNANorINF(x); } +- inline bool _Stl_is_inf(double x) { return IsNANorINF(x) && IsINF(x); } +- inline bool _Stl_is_neg_inf(double x) { return (IsINF(x)) && (x < 0.0); } +- inline bool _Stl_is_neg_nan(double x) { return IsNegNAN(x); } +-# elif defined (__BORLANDC__) && __BORLANDC__ < 0x540 +- inline bool _Stl_is_nan_or_inf(double x) { return !_finite(x); } +- inline bool _Stl_is_inf(double x) { +- return _Stl_is_nan_or_inf(x) && ! _isnan(x); +- } +- inline bool _Stl_is_neg_inf(double x) { +- return _Stl_is_inf(x) && x < 0 ; +- } +- inline bool _Stl_is_neg_nan(double x) { return _isnan(x) && x < 0 ; } ++# endif ++ ++// Tests for infinity and NaN differ on different OSs. We encapsulate ++// these differences here. ++ ++#ifdef USE_SPRINTF_INSTEAD ++ ++#elif defined (__hpux) || defined (__DJGPP) || ( defined(_STLP_USE_GLIBC) && ! defined (__MSL__) ) ++# if defined (isfinite) ++inline bool _Stl_is_nan_or_inf(double x) { return !isfinite(x); } ++# else ++inline bool _Stl_is_nan_or_inf(double x) { return !finite(x); } ++# endif ++inline bool _Stl_is_neg_nan(double x) { return isnan(x) && ( copysign(1., x) < 0 ); } ++inline bool _Stl_is_inf(double x) { return isinf(x); } ++// inline bool _Stl_is_neg_inf(double x) { return isinf(x) < 0; } ++inline bool _Stl_is_neg_inf(double x) { return isinf(x) && x < 0; } ++#elif defined(__unix) && !defined(__FreeBSD__) && !defined(__NetBSD__) \ ++ && !defined(__APPLE__) && !defined(__DJGPP) && !defined(__osf__) ++inline bool _Stl_is_nan_or_inf(double x) { return IsNANorINF(x); } ++inline bool _Stl_is_inf(double x) { return IsNANorINF(x) && IsINF(x); } ++inline bool _Stl_is_neg_inf(double x) { return (IsINF(x)) && (x < 0.0); } ++inline bool _Stl_is_neg_nan(double x) { return IsNegNAN(x); } ++# elif defined (__BORLANDC__) && ( __BORLANDC__ < 0x540 ) ++inline bool _Stl_is_nan_or_inf(double x) { return !_finite(x); } ++inline bool _Stl_is_inf(double x) { return _Stl_is_nan_or_inf(x) && ! _isnan(x);} ++inline bool _Stl_is_neg_inf(double x) { return _Stl_is_inf(x) && x < 0 ; } ++inline bool _Stl_is_neg_nan(double x) { return _isnan(x) && x < 0 ; } + #elif defined (_MSC_VER) || defined (__MINGW32__) || defined (__BORLANDC__) +- inline bool _Stl_is_nan_or_inf(double x) { return !_finite(x); } +- inline bool _Stl_is_inf(double x) { +- int fclass = _fpclass(x); +- return fclass == _FPCLASS_NINF || fclass == _FPCLASS_PINF; +- } +- inline bool _Stl_is_neg_inf(double x) { +- return _fpclass(x) == _FPCLASS_NINF; +- } +- inline bool _Stl_is_neg_nan(double x) { return _isnan(x) && _copysign(1., x) < 0 ; } ++inline bool _Stl_is_nan_or_inf(double x) { return !_finite(x); } ++inline bool _Stl_is_inf(double x) { ++ int fclass = _fpclass(x); ++ return fclass == _FPCLASS_NINF || fclass == _FPCLASS_PINF; ++} ++inline bool _Stl_is_neg_inf(double x) { return _fpclass(x) == _FPCLASS_NINF; } ++inline bool _Stl_is_neg_nan(double x) { return _isnan(x) && _copysign(1., x) < 0 ; } + #elif defined(__MRC__) || defined(__SC__) //*TY 02/24/2000 - added support for MPW +- bool _Stl_is_nan_or_inf(double x) { return isnan(x) || !isfinite(x); } +- bool _Stl_is_inf(double x) { return !isfinite(x); } +- bool _Stl_is_neg_inf(double x) { return !isfinite(x) && signbit(x); } +- bool _Stl_is_neg_nan(double x) { return isnan(x) && signbit(x); } +-#elif defined (__FreeBSD__) || defined(__OpenBSD__) +- inline bool _Stl_is_nan_or_inf(double x) { return !finite(x); } +- inline bool _Stl_is_inf(double x) { +- return _Stl_is_nan_or_inf(x) && ! isnan(x); +- } +- inline bool _Stl_is_neg_inf(double x) { +- return _Stl_is_inf(x) && x < 0 ; +- } +- inline bool _Stl_is_neg_nan(double x) { return isnan(x) && copysign(1., x) < 0 ; } ++bool _Stl_is_nan_or_inf(double x) { return isnan(x) || !isfinite(x); } ++bool _Stl_is_inf(double x) { return !isfinite(x); } ++bool _Stl_is_neg_inf(double x) { return !isfinite(x) && signbit(x); } ++bool _Stl_is_neg_nan(double x) { return isnan(x) && signbit(x); } ++#elif /* defined (__FreeBSD__) */ ( defined (__GNUC__) && defined (__APPLE__) ) ++inline bool _Stl_is_nan_or_inf(double x) { return !finite(x); } ++inline bool _Stl_is_inf(double x) { return _Stl_is_nan_or_inf(x) && ! isnan(x); } ++inline bool _Stl_is_neg_inf(double x) { return _Stl_is_inf(x) && x < 0 ; } ++inline bool _Stl_is_neg_nan(double x) { return isnan(x) && copysign(1., x) < 0 ; } ++#elif defined( _AIX ) // JFA 11-Aug-2000 ++bool _Stl_is_nan_or_inf(double x) { return isnan(x) || !finite(x); } ++bool _Stl_is_inf(double x) { return !finite(x); } ++// bool _Stl_is_neg_inf(double x) { return _class(x) == FP_MINUS_INF; } ++bool _Stl_is_neg_inf(double x) { return _Stl_is_inf(x) && ( copysign(1., x) < 0 ); } ++bool _Stl_is_neg_nan(double x) { return isnan(x) && ( copysign(1., x) < 0 ); } ++#elif defined (__ISCPP__) ++inline bool _Stl_is_nan_or_inf (double x) { return _fp_isINF(x) || _fp_isNAN(x); } ++inline bool _Stl_is_inf (double x) { return _fp_isINF(x); } ++inline bool _Stl_is_neg_inf (double x) { return _fp_isINF(x) && x < 0; } ++inline bool _Stl_is_neg_nan (double x) { return _fp_isNAN(x) && x < 0; } ++#elif ! defined (USE_SPRINTF_INSTEAD) ++# define USE_SPRINTF_INSTEAD + #endif + ++ ++# ifndef USE_SPRINTF_INSTEAD + // Reentrant versions of floating-point conversion functions. The argument + // lists look slightly different on different operating systems, so we're + // encapsulating the differences here. + +-#if defined (__CYGWIN__) ++#if defined (__CYGWIN__) || defined(__DJGPP) + inline char* _Stl_ecvtR(double x, int n, int* pt, int* sign, char* buf) + { return ecvtbuf(x, n, pt, sign, buf); } + inline char* _Stl_fcvtR(double x, int n, int* pt, int* sign, char* buf) + { return fcvtbuf(x, n, pt, sign, buf); } ++# ifndef _STLP_NO_LONG_DOUBLE + inline char* _Stl_qecvtR(long double x, int n, int* pt, int* sign, char* buf) + { return ecvtbuf(x, n, pt, sign, buf); } + inline char* _Stl_qfcvtR(long double x, int n, int* pt, int* sign, char* buf) + { return fcvtbuf(x, n, pt, sign, buf); } +-#elif defined (__STL_USE_GLIBC) ++# endif ++#elif defined (_STLP_USE_GLIBC) + inline char* _Stl_ecvtR(double x, int n, int* pt, int* sign, char* buf) + { return buf + ecvt_r(x, n, pt, sign, buf, NDIG+2); } + inline char* _Stl_fcvtR(double x, int n, int* pt, int* sign, char* buf) + { return buf + fcvt_r(x, n, pt, sign, buf, NDIG+2); } ++# ifndef _STLP_NO_LONG_DOUBLE + inline char* _Stl_qecvtR(long double x, int n, int* pt, int* sign, char* buf) + { return buf + qecvt_r(x, n, pt, sign, buf, NDIG+2); } + inline char* _Stl_qfcvtR(long double x, int n, int* pt, int* sign, char* buf) + { return buf + qfcvt_r(x, n, pt, sign, buf, NDIG+2); } ++# endif ++#elif defined (_STLP_SCO_OPENSERVER) || defined (__NCR_SVR) ++ inline char* _Stl_ecvtR(double x, int n, int* pt, int* sign, char* buf) ++ { return ecvt(x, n, pt, sign); } ++ inline char* _Stl_fcvtR(double x, int n, int* pt, int* sign, char* buf) ++ { return fcvt(x, n, pt, sign); } ++# ifndef _STLP_NO_LONG_DOUBLE ++ inline char* _Stl_qecvtR(long double x, int n, int* pt, int* sign, char* buf) ++ { return ecvtl(x, n, pt, sign); } ++ inline char* _Stl_qfcvtR(long double x, int n, int* pt, int* sign, char* buf) ++ { return fcvtl(x, n, pt, sign); } ++# endif + #elif defined (__sun) + inline char* _Stl_ecvtR(double x, int n, int* pt, int* sign, char* buf) + { return econvert(x, n, pt, sign, buf); } + inline char* _Stl_fcvtR(double x, int n, int* pt, int* sign, char* buf) + { return fconvert(x, n, pt, sign, buf); } ++# ifndef _STLP_NO_LONG_DOUBLE + inline char* _Stl_qecvtR(long double x, int n, int* pt, int* sign, char* buf) + { return qeconvert(&x, n, pt, sign, buf); } + inline char* _Stl_qfcvtR(long double x, int n, int* pt, int* sign, char* buf) + { return qfconvert(&x, n, pt, sign, buf); } ++# endif + #elif defined (__DECCXX) + inline char* _Stl_ecvtR(double x, int n, int* pt, int* sign, char* buf) + { return (ecvt_r(x, n, pt, sign, buf, NDIG)==0 ? buf : 0); } + inline char* _Stl_fcvtR(double x, int n, int* pt, int* sign, char* buf) + { return (fcvt_r(x, n, pt, sign, buf, NDIG)==0 ? buf : 0); } ++# ifndef _STLP_NO_LONG_DOUBLE + // fbp : no "long double" conversions ! + inline char* _Stl_qecvtR(long double x, int n, int* pt, int* sign, char* buf) + { return (ecvt_r((double)x, n, pt, sign, buf, NDIG)==0 ? buf : 0) ; } + inline char* _Stl_qfcvtR(long double x, int n, int* pt, int* sign, char* buf) + { return (fcvt_r((double)x, n, pt, sign, buf, NDIG)==0 ? buf : 0); } ++# endif + #elif defined (__hpux) + inline char* _Stl_ecvtR(double x, int n, int* pt, int* sign, char* buf) + { return ecvt(x, n, pt, sign); } + inline char* _Stl_fcvtR(double x, int n, int* pt, int* sign, char* buf) + { return fcvt(x, n, pt, sign); } +-# ifdef _REENTRANT ++# ifndef _STLP_NO_LONG_DOUBLE ++ ++# if defined( _REENTRANT ) && (defined(_PTHREADS_DRAFT4) || defined(PTHREAD_THREADS_MAX)) + inline char* _Stl_qecvtR(long double x, int n, int* pt, int* sign, char* buf) + { return (_ldecvt_r(*(long_double*)&x, n, pt, sign, buf, NDIG+2)==0 ? buf : 0); } + inline char* _Stl_qfcvtR(long double x, int n, int* pt, int* sign, char* buf) +@@ -197,343 +343,62 @@ + inline char* _Stl_qfcvtR(long double x, int n, int* pt, int* sign, char* buf) + { return _ldfcvt(*(long_double*)&x, n, pt, sign); } + # endif +- +-#elif defined (__unix) && !defined(__FreeBSD__) && !defined(__OpenBSD__) /* defined(__sgi) IRIX */ ++# endif ++#elif defined (_AIX) ++ inline char* _Stl_ecvtR(double x, int n, int* pt, int* sign, char* buf) ++ { LOCK_CVT RETURN_CVT(ecvt, x, n, pt, sign, buf) } ++ inline char* _Stl_fcvtR(double x, int n, int* pt, int* sign, char* buf) ++ { LOCK_CVT RETURN_CVT(fcvt, x, n, pt, sign, buf) } ++# ifndef _STLP_NO_LONG_DOUBLE ++ inline char* _Stl_qecvtR(long double x, int n, int* pt, int* sign, char* buf) ++ { LOCK_CVT RETURN_CVT(ecvt, x, n, pt, sign, buf) } ++ inline char* _Stl_qfcvtR(long double x, int n, int* pt, int* sign, char* buf) ++ { LOCK_CVT RETURN_CVT(fcvt, x, n, pt, sign, buf) } ++# endif ++#elif defined (__unix) && !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__APPLE__) + inline char* _Stl_ecvtR(double x, int n, int* pt, int* sign, char* buf) + { return ecvt_r(x, n, pt, sign, buf); } + inline char* _Stl_fcvtR(double x, int n, int* pt, int* sign, char* buf) + { return fcvt_r(x, n, pt, sign, buf); } ++# ifndef _STLP_NO_LONG_DOUBLE + inline char* _Stl_qecvtR(long double x, int n, int* pt, int* sign, char* buf) + { return qecvt_r(x, n, pt, sign, buf); } + inline char* _Stl_qfcvtR(long double x, int n, int* pt, int* sign, char* buf) + { return qfcvt_r(x, n, pt, sign, buf); } +- +-#elif defined (__FreeBSD__) || defined(__OpenBSD__) +- +-/* +- * Copyright (c) 1995-1997 The Apache Group. All rights reserved. +- * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in +- * the documentation and/or other materials provided with the +- * distribution. +- * +- * 3. All advertising materials mentioning features or use of this +- * software must display the following acknowledgment: +- * "This product includes software developed by the Apache Group +- * for use in the Apache HTTP server project (http://www.apache.org/)." +- * +- * 4. The names "Apache Server" and "Apache Group" must not be used to +- * endorse or promote products derived from this software without +- * prior written permission. +- * +- * 5. Redistributions of any form whatsoever must retain the following +- * acknowledgment: +- * "This product includes software developed by the Apache Group +- * for use in the Apache HTTP server project (http://www.apache.org/)." +- */ +- +-static char * +- ap_cvt(double arg, int ndigits, int *decpt, int *sign, int eflag, char *str) +-{ +- register int r2; +- double fi, fj; +- register char *p, *p1; +- static char buf[NDIG]; +- +- if (ndigits >= NDIG - 1) +- ndigits = NDIG - 2; +- r2 = 0; +- *sign = 0; +- p = &buf[0]; +- if (arg < 0) { +- *sign = 1; +- arg = -arg; +- } +- arg = modf(arg, &fi); +- p1 = &buf[NDIG]; +- /* +- * Do integer part +- */ +- if (fi != 0) { +- p1 = &buf[NDIG]; +- while (fi != 0) { +- fj = modf(fi / 10, &fi); +- *--p1 = (int) ((fj + .03) * 10) + '0'; +- r2++; +- } +- while (p1 < &buf[NDIG]) +- *p++ = *p1++; +- } +- else if (arg > 0) { +- while ((fj = arg * 10) < 1) { +- arg = fj; +- r2--; +- } +- } +- p1 = &buf[ndigits]; +- if (eflag == 0) +- p1 += r2; +- *decpt = r2; +- if (p1 < &buf[0]) { +- buf[0] = '\0'; +- str = buf; +- return (buf); +- } +- while (p <= p1 && p < &buf[NDIG]) { +- arg *= 10; +- arg = modf(arg, &fj); +- *p++ = (int) fj + '0'; +- } +- if (p1 >= &buf[NDIG]) { +- buf[NDIG - 1] = '\0'; +- str = buf; +- return (buf); +- } +- p = p1; +- *p1 += 5; +- while (*p1 > '9') { +- *p1 = '0'; +- if (p1 > buf) +- ++ * --p1; +- else { +- *p1 = '1'; +- (*decpt)++; +- if (eflag == 0) { +- if (p > buf) +- *p = '0'; +- p++; +- } +- } +- } +- *p = '\0'; +- str = buf; +- return (buf); +-} +- +-static char * +- ap_ecvt(double arg, int ndigits, int *decpt, int *sign, char *buf) +-{ +- return ap_cvt(arg, ndigits, decpt, sign, 1, buf); +-} +- +-static char * +- ap_fcvt(double arg, int ndigits, int *decpt, int *sign, char *buf) +-{ +- return ap_cvt(arg, ndigits, decpt, sign, 0, buf); +-} +-/*** End of Apache code ***/ ++# endif ++#elif defined (_MSC_VER) || defined (__MINGW32__) || defined (__BORLANDC__) ++// those guys claim _cvt functions being reentrant. ++inline char* _Stl_ecvtR(double x, int n, int* pt, int* sign, char* buf) { return _ecvt(x, n, pt, sign); } ++inline char* _Stl_fcvtR(double x, int n, int* pt, int* sign, char* buf) { return _fcvt(x, n, pt, sign); } ++# ifndef _STLP_NO_LONG_DOUBLE ++inline char* _Stl_qecvtR(long double x, int n, int* pt, int* sign, char* buf) { return _ecvt((double)x, n, pt, sign); } ++inline char* _Stl_qfcvtR(long double x, int n, int* pt, int* sign, char* buf) { return _fcvt((double)x, n, pt, sign); } ++# endif ++#elif defined (__ISCPP__) + inline char* _Stl_ecvtR(double x, int n, int* pt, int* sign, char* buf) +- { return ap_ecvt(x, n, pt, sign, buf); } +-inline char* _Stl_fcvtR(double x, int n, int* pt, int* sign, char* buf) +- { return ap_fcvt(x, n, pt, sign, buf); } +-inline char* _Stl_qecvtR(long double x, int n, int* pt, int* sign, char* buf) +- { return ap_ecvt(x, n, pt, sign, buf); } +-inline char* _Stl_qfcvtR(long double x, int n, int* pt, int* sign, char* buf) +- { return ap_fcvt(x, n, pt, sign, buf); } +- +-#elif defined (__MSL__) ++{ return _fp_ecvt( x, n, pt, sign, buf); } + +- // dwa 1/16/00 -- untested! +- // dwa 1/16/00: I would be not be shocked if this wasn't reentrant +- namespace { +- // extra bytes for sign, leading zero, decimal point, exponent, +- // null termination +- const int scientific_buffer_extra = 30; +- +- char* cvt_nan_inf_aux(int fp_class, const int n, int* const pt, char* const result) +- { +- if (fp_class == FP_NAN) +- strcpy(result, "Nan"); +- else if (fp_class == FP_INFINITE) +- strcpy(result, n < 8 ? "Inf" : "Infinity"); +- else +- return 0; +- +- return result; +- } +- +- // Returns 0 if the number is not a NAN or INF. Otherwise suitable return value for +- // ecvt. +- template +- char* cvt_nan_inf(const T x, const int n, int* const pt, int* const sign, char* const buf) +- { +- char* const result = cvt_nan_inf_aux(fpclassify(x), n, pt, buf); +- if (result != 0) +- { +- // documentation gives no indication of what this should really be. +- *pt = 0; +- *sign = x < 0.0; +- } +- return result; +- } +- +- template const char* ecvt_fmt_string(); +- template <> inline const char* ecvt_fmt_string() { return "%0.*E"; } +- template <> inline const char* ecvt_fmt_string() { return "%0.*LE"; } +- +- template const char* fcvt_fmt_string(); +- template <> inline const char* fcvt_fmt_string() { return "%0.*f"; } +- template <> inline const char* fcvt_fmt_string() { return "%0.*Lf"; } +- +- #if defined( NDEBUG ) +- const size_t stack_buffer_size = 400; // set large for efficiency +- #else +- const size_t stack_buffer_size = 4; // set small for testing purposes +- #endif +- +- +- template +- char* ecvtR(const T x, const int n, int* const pt, int* const sign, char* const result) +- { +- char* const nan_inf_result = cvt_nan_inf(x, n, pt, sign, result); +- if (nan_inf_result != 0) +- return nan_inf_result; +- +- int buffer_size = n + scientific_buffer_extra; +- +- char stack_buffer[stack_buffer_size]; +- char* const buffer = buffer_size > stack_buffer_size +- ? new char[buffer_size] : stack_buffer; // no alloca provided for mac +- +- // One significant digit will come before the decimal point, so we only +- // want n-1 digits afterwards. (snprintf not supported by CW!) +- sprintf(buffer, ecvt_fmt_string(), n - 1, x); +- char* const begin = buffer; +- char* const end = find(begin, begin + buffer_size, '\0'); +- +- // Handle the sign +- const bool neg = *buffer == '-'; +- char* const mantissa = neg ? begin + 1 : begin; +- *sign = neg; +- +- char* const end_mantissa = find(mantissa, end, 'E'); +- +- *result = *mantissa; // copy the first digit of the mantissa +- +- // copy the rest (skipping over the decimal point) +- char* const end_result = copy(mantissa + 2, end_mantissa, result + 1); +- +- // if this ever goes off, I guess we need to zero-fill +- assert(end_result == result + n); +- +- // null-terminate +- *end_result = '\0'; +- +- // The exponent is just after the 'E' +- char* const exponent = end_mantissa + 1; +- +- // There was one digit before the decimal, so we must adjust +- *pt = atoi(exponent) + 1; +- +- if (buffer_size > stack_buffer_size) +- delete[] buffer; +- +- return result; +- } +- +- template +- char* fcvtR(const T x, const int n, int* const pt, int* const sign, char* const result) +- { +- char* const nan_inf_result = cvt_nan_inf(x, n, pt, sign, result); +- if (nan_inf_result != 0) +- return nan_inf_result; +- +- // 310 is a constant gleaned from the Sun documentation. It might need to be changed. +- int buffer_size = 310 + max(n, 0) + scientific_buffer_extra; +- +- char stack_buffer[stack_buffer_size]; +- char* const buffer = buffer_size > stack_buffer_size +- ? new char[buffer_size] : stack_buffer; // no alloca provided for mac +- +- // One significant digit will come before the decimal point, so we only +- // want n-1 digits afterwards. (snprintf not supported by CW!) +- sprintf(buffer, fcvt_fmt_string(), n - 1, x); +- char* const begin = buffer; +- char* const end = find(begin, begin + buffer_size, '\0'); +- +- // Handle the sign +- const bool neg = *buffer == '-'; +- char* const first_digit_pos = neg ? begin + 1 : begin; +- *sign = neg; +- +- char* const pt_pos = find(first_digit_pos, end, '.'); +- *pt = pt_pos - first_digit_pos; +- char* const frac_pos = pt_pos == end ? pt_pos : pt_pos + 1; +- +- // add everything from after the decimal point through the null terminator +- copy(frac_pos, end + 1, +- // to the sequence from the first digit to the decimal point +- copy(first_digit_pos, pt_pos, result) ); +- +- if (buffer_size > stack_buffer_size) +- delete[] buffer; +- +- return result; +- } +- +- } +- +- inline char* _Stl_ecvtR(double x, int n, int* pt, int* sign, char* result) +- { +- return ecvtR(x, n, pt, sign, result); +- } +- +- char* _Stl_fcvtR(double x, int n, int* pt, int* sign, char* result) +- { +- return fcvtR(x, n, pt, sign, result); +- } +- +- inline char* _Stl_qecvtR(long double x, int n, int* pt, int* sign, char* result) +- { +- return ecvtR(x, n, pt, sign, result); +- } +- +- inline char* _Stl_qfcvtR(long double x, int n, int* pt, int* sign, char* result) +- { +- return fcvtR(x, n, pt, sign, result); +- } +- +-#elif defined (_MSC_VER) || defined (__MINGW32__) || defined (__BORLANDC__) +- inline char* _Stl_ecvtR(double x, int n, int* pt, int* sign, char* buf) +- { +- strcpy(buf, _ecvt(x, n, pt, sign)); +- return buf; +- } +- inline char* _Stl_fcvtR(double x, int n, int* pt, int* sign, char* buf) +- { +- strcpy(buf, _fcvt(x, n, pt, sign)); +- return buf; +- } +- inline char* _Stl_qecvtR(long double x, int n, int* pt, int* sign, char* buf) +- { +- strcpy(buf, _ecvt((double)x, n, pt, sign)); +- return buf; +- } +- inline char* _Stl_qfcvtR(long double x, int n, int* pt, int* sign, char* buf) +- { +- strcpy(buf, _fcvt((double)x, n, pt, sign)); +- return buf; +- } +-#elif defined (__MRC__) || defined(__SC__) //*TY 02/24/2000 - added support for MPW +- inline char* _Stl_ecvtR(double x, int n, int* pt, int* sign, char* ) +- { return ecvt( x, n, pt, sign ); } +- +- inline char* _Stl_fcvtR(double x, int n, int* pt, int* sign, char* ) +- { return fcvt(x, n, pt, sign); } ++inline char* _Stl_fcvtR(double x, int n, int* pt, int* sign, char* buf) ++{ return _fp_fcvt(x, n, pt, sign, buf); } + +- inline char* _Stl_qecvtR(long double x, int n, int* pt, int* sign, char* ) +- { return ecvt( x, n, pt, sign ); } ++# ifndef _STLP_NO_LONG_DOUBLE ++inline char* _Stl_qecvtR(long double x, int n, int* pt, int* sign, char* buf) ++{ return _fp_ecvt( x, n, pt, sign, buf); } + +- inline char* _Stl_qfcvtR(long double x, int n, int* pt, int* sign, char* ) +- { return fcvt(x, n, pt, sign); } ++inline char* _Stl_qfcvtR(long double x, int n, int* pt, int* sign, char* buf) ++{ return _fp_fcvt(x, n, pt, sign, buf); } ++# endif ++#elif defined (__MRC__) || defined(__SC__) ++inline char* _Stl_ecvtR(double x, int n, int* pt, int* sign, char* ) ++{ return ecvt( x, n, pt, sign ); } ++inline char* _Stl_fcvtR(double x, int n, int* pt, int* sign, char* ) ++{ return fcvt(x, n, pt, sign); } ++#ifndef _STLP_NO_LONG_DOUBLE ++inline char* _Stl_qecvtR(long double x, int n, int* pt, int* sign, char* ) ++{ return ecvt( x, n, pt, sign ); } ++inline char* _Stl_qfcvtR(long double x, int n, int* pt, int* sign, char* ) ++{ return fcvt(x, n, pt, sign); } ++#endif + #endif + + +@@ -551,9 +416,9 @@ + // __copy_float_and_fill. + + void __format_float_scientific(char * buf, const char * bp, +- int decpt, int sign, max_double_type x, +- ios_base::fmtflags flags, +- int precision, bool /* islong */) ++ int decpt, int sign, bool is_zero, ++ ios_base::fmtflags flags, ++ int precision, bool /* islong */) + { + char * suffix; + char expbuf[MAXESIZ + 2]; +@@ -576,7 +441,7 @@ + + // exponent + *(suffix = &expbuf[MAXESIZ]) = 0; +- if (x != 0) { ++ if (!is_zero) { + int nn = decpt - 1; + if (nn < 0) + nn = -nn; +@@ -590,7 +455,7 @@ + *--suffix = '0'; + + // put in the exponent sign +- *--suffix = (char) ((decpt > 0 || x == 0) ? '+' : '-'); ++ *--suffix = (char) ((decpt > 0 || is_zero ) ? '+' : '-'); + + // put in the e + *--suffix = flags & ios_base::uppercase ? 'E' : 'e'; +@@ -600,9 +465,9 @@ + } + + void __format_float_fixed(char * buf, const char * bp, +- int decpt, int sign, max_double_type /* x */, +- ios_base::fmtflags flags, +- int precision, bool islong ) ++ int decpt, int sign, bool /* x */, ++ ios_base::fmtflags flags, ++ int precision, bool islong ) + { + if (sign && decpt > -precision && *bp != 0) + *buf++ = '-'; +@@ -624,7 +489,7 @@ + *buf++ = '.'; + + // digits after decimal point if any +- nn = min(precision, MAXFCVT); ++ nn = (min) (precision, MAXFCVT); + if (precision > nn) + rzero = precision - nn; + while (--nn >= 0) +@@ -637,120 +502,196 @@ + *buf++ = '\0'; + } + ++ ++void __format_nan_or_inf(char * buf, double x, ++ ios_base::fmtflags flags) ++{ ++ static const char* inf[2] = { "inf", "Inf" }; ++ static const char* nan[2] = { "nan", "NaN" }; ++ const char** inf_or_nan = 0; ++ if (_Stl_is_inf((double)x)) { // Infinity ++ inf_or_nan = inf; ++ if (_Stl_is_neg_inf((double)x)) ++ *buf++ = '-'; ++ else if (flags & ios_base::showpos) ++ *buf++ = '+'; ++ } ++ else { // NaN ++ inf_or_nan = nan; ++ if (_Stl_is_neg_nan((double)x)) ++ *buf++ = '-'; ++ else if (flags & ios_base::showpos) ++ *buf++ = '+'; ++ } ++ strcpy(buf, flags & ios_base::uppercase ? inf_or_nan[1] : inf_or_nan[0]); ++} ++ ++template ++static inline + void __format_float(char * buf, const char * bp, + int decpt, int sign, max_double_type x, + ios_base::fmtflags flags, + int precision, bool islong) + { +- const char* inf[2] = { "inf", "INF" }; +- const char* nan[2] = { "nan", "NAN" }; +- + // Output of infinities and NANs does not depend on the format flags + if (_Stl_is_nan_or_inf((double)x)) { // Infinity or NaN +- const char** inf_or_nan = 0; +- if (_Stl_is_inf((double)x)) { // Infinity +- inf_or_nan = inf; +- if (_Stl_is_neg_inf((double)x)) +- *buf++ = '-'; +- else if (flags & ios_base::showpos) +- *buf++ = '+'; +- } +- else { // NaN +- inf_or_nan = nan; +- if (_Stl_is_neg_nan((double)x)) +- *buf++ = '-'; +- else if (flags & ios_base::showpos) +- *buf++ = '+'; +- } +- strcpy(buf, flags & ios_base::uppercase ? inf_or_nan[1] : inf_or_nan[0]); +- } ++ __format_nan_or_inf(buf, x, flags); ++ } + else { // representable number + switch (flags & ios_base::floatfield) { +- case ios_base::scientific: +- __format_float_scientific(buf, bp, decpt, sign, x, flags, +- precision, islong); +- break; +- +- case ios_base::fixed: +- __format_float_fixed(buf, bp, decpt, sign, x, flags, +- precision, islong); +- break; +- +- default: // g format +- // establish default precision +- if (flags & ios_base::showpoint || precision > 0) { +- if (precision == 0) precision = 1; +- } +- else +- precision = 6; +- +- // reset exponent if value is zero +- if (x == 0) +- decpt = 1; +- +- int kk = precision; +- if (!(flags & ios_base::showpoint)) { +- int n = strlen(bp); +- if (n < kk) +- kk = n; +- while (kk >= 1 && bp[kk-1] == '0') +- --kk; +- } +- +- if (decpt < -3 || decpt > precision) { +- precision = kk - 1; +- __format_float_scientific(buf, bp, decpt, sign, x, +- flags, precision, islong); +- } +- else { +- precision = kk - decpt; +- __format_float_fixed(buf, bp, decpt, sign, x, +- flags, precision, islong); +- } ++ case ios_base::scientific: ++ __format_float_scientific(buf, bp, decpt, sign, x == 0.0, flags, ++ precision, islong); ++ break; ++ ++ case ios_base::fixed: ++ __format_float_fixed(buf, bp, decpt, sign, true, flags, ++ precision, islong); ++ break; ++ ++ default: // g format ++ // establish default precision ++ if (flags & ios_base::showpoint || precision > 0) { ++ if (precision == 0) precision = 1; ++ } ++ else ++ precision = 6; ++ ++ // reset exponent if value is zero ++ if (x == 0) ++ decpt = 1; ++ ++ int kk = precision; ++ if (!(flags & ios_base::showpoint)) { ++ size_t n = strlen(bp); ++ if (n < kk) ++ kk = (int)n; ++ while (kk >= 1 && bp[kk-1] == '0') ++ --kk; ++ } ++ ++ if (decpt < -3 || decpt > precision) { ++ precision = kk - 1; ++ __format_float_scientific(buf, bp, decpt, sign, x == 0, ++ flags, precision, islong); ++ } ++ else { ++ precision = kk - decpt; ++ __format_float_fixed(buf, bp, decpt, sign, true, ++ flags, precision, islong); ++ } + break; + } /* switch */ + } /* else */ + } + +-char* __STL_CALL ++# else ++// Creates a format string for sprintf() ++static int fill_fmtbuf(char* fmtbuf, ios_base::fmtflags flags, char long_modifier) ++{ ++ fmtbuf[0] = '%'; ++ int i = 1; ++ ++ if (flags & ios_base::showpos) ++ fmtbuf[i++] = '+'; ++ ++ if (flags & ios_base::showpoint) ++ fmtbuf[i++] = '#'; ++ ++ fmtbuf[i++] = '.'; ++ fmtbuf[i++] = '*'; ++ ++ if (long_modifier) ++ fmtbuf[i++] = long_modifier; ++ ++ switch (flags & ios_base::floatfield) ++ { ++ case ios_base::scientific: ++ fmtbuf[i++] = (flags & ios_base::uppercase) ? 'E' : 'e'; ++ break; ++ case ios_base::fixed: ++ fmtbuf[i++] = (flags & ios_base::uppercase) ? 'F' : 'f'; ++ break; ++ default: ++ fmtbuf[i++] = (flags & ios_base::uppercase) ? 'G' : 'g'; ++ break; ++ } ++ ++ fmtbuf[i] = 0; ++ return i; ++} ++# endif /* USE_SPRINTF_INSTEAD */ ++ ++ ++char* _STLP_CALL + __write_float(char* buf, ios_base::fmtflags flags, int precision, + double x) + { ++# ifdef USE_SPRINTF_INSTEAD ++ char fmtbuf[32]; ++ fill_fmtbuf(fmtbuf, flags, 0); ++ sprintf(buf, fmtbuf, precision, x); ++ // we should be able to return buf + sprintf(), but we do not trust'em... ++ return buf + strlen(buf); ++# else + char cvtbuf[NDIG+2]; + char * bp; + int decpt, sign; + +- if (flags & ios_base::fixed) +- bp = _Stl_fcvtR(x, min(precision, MAXFCVT), &decpt, &sign, cvtbuf); +- else +- bp = _Stl_ecvtR(x, min(precision + 1, MAXECVT), &decpt, &sign, cvtbuf); +- ++ switch (flags & ios_base::floatfield) { ++ case ios_base::fixed: ++ bp = _Stl_fcvtR(x, (min) (precision, MAXFCVT), &decpt, &sign, cvtbuf); ++ break; ++ case ios_base::scientific : ++ bp = _Stl_ecvtR(x, (min) (precision + 1, MAXECVT), &decpt, &sign, cvtbuf); ++ break; ++ default : ++ bp = _Stl_ecvtR(x, (min) (precision, MAXECVT), &decpt, &sign, cvtbuf); ++ break; ++ } + __format_float(buf, bp, decpt, sign, x, flags, precision, false); +- + return buf + strlen(buf); ++# endif ++ + } + +-char* __STL_CALL ++# ifndef _STLP_NO_LONG_DOUBLE ++char* _STLP_CALL + __write_float(char* buf, ios_base::fmtflags flags, int precision, + long double x) + { ++# ifdef USE_SPRINTF_INSTEAD ++ char fmtbuf[64]; ++ int i = fill_fmtbuf(fmtbuf, flags, 'L'); ++ sprintf(buf, fmtbuf, precision, x); ++ // we should be able to return buf + sprintf(), but we do not trust'em... ++ return buf + strlen(buf); ++# else + char cvtbuf[NDIG+2]; + char * bp; + int decpt, sign; + +- if (flags & ios_base::scientific) +- bp = _Stl_qecvtR(x, min(precision + 1, MAXECVT), &decpt, &sign, cvtbuf); +- else +- bp = _Stl_qfcvtR(x, min(precision, MAXFCVT), &decpt, &sign, cvtbuf); +- ++ switch (flags & ios_base::floatfield) { ++ case ios_base::fixed: ++ bp = _Stl_qfcvtR(x, (min) (precision, MAXFCVT), &decpt, &sign, cvtbuf); ++ break; ++ case ios_base::scientific : ++ bp = _Stl_qecvtR(x, (min) (precision + 1, MAXECVT), &decpt, &sign, cvtbuf); ++ break; ++ default : ++ bp = _Stl_qecvtR(x, (min) (precision, MAXECVT), &decpt, &sign, cvtbuf); ++ break; ++ } + __format_float(buf, bp, decpt, sign, x, flags, precision, true); +- + return buf + strlen(buf); ++# endif + } ++# endif ++ + +-# ifndef __STL_NO_WCHAR_T ++# ifndef _STLP_NO_WCHAR_T + +-wchar_t* __STL_CALL ++wchar_t* _STLP_CALL + __convert_float_buffer(const char* first, const char* last, wchar_t* out, + const ctype& ct, wchar_t dot) + { +@@ -761,13 +702,13 @@ + + # endif + +-void __STL_CALL ++void _STLP_CALL + __adjust_float_buffer(char* first, char* last, char dot) + { + replace(first, last, '.', dot); + } + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + + // Local Variables: + // mode:C++ +Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: num_put_inst.cpp +Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: num_put_inst_w.cpp +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/numpunct.cpp tripwire-2.3.1-2/src/STLport-4.0/src/numpunct.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/numpunct.cpp Sat Feb 24 10:44:13 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/numpunct.cpp Sun Aug 11 18:59:22 2002 +@@ -1,53 +1,73 @@ +-/* +- * Copyright (c) 1999 +- * Silicon Graphics Computer Systems, Inc. +- * +- * Copyright (c) 1999 +- * Boris Fomitchev +- * +- * This material is provided "as is", with absolutely no warranty expressed +- * or implied. Any use is at your own risk. +- * +- * Permission to use or copy this software for any purpose is hereby granted +- * without fee, provided the above notices are retained on all copies. +- * Permission to modify the code and to distribute modified code is granted, +- * provided the above notices are retained, and a notice that the code was +- * modified is included with the above copyright notice. +- * +- */ +-# include "stlport_prefix.h" +- +-#include "locale_impl.h" +-#include +- +- +-__STL_BEGIN_NAMESPACE +- +-//---------------------------------------------------------------------- +-// numpunct +- +-numpunct::numpunct(size_t refs) +-#if !(defined(__MRC__) || defined(__SC__) ) //*TY 04/29/2000 - added workaround for mpw +- : locale::facet(refs), +-#else //*TY 04/29/2000 - +- : _facet(refs), //*TY 04/29/2000 - they forget to look into the nested class for the ctor +-#endif //*TY 04/29/2000 - +- _M_truename("true"), +- _M_falsename("false") +-{ +-} +- +-numpunct::~numpunct() +-{} +- +-char numpunct::do_decimal_point() const { return '.'; } +-char numpunct::do_thousands_sep() const { return ','; } +-string numpunct::do_grouping() const { return string();} +-string numpunct::do_truename() const { return _M_truename;} +-string numpunct::do_falsename() const { return _M_falsename; } +- +-__STL_END_NAMESPACE +- +-// Local Variables: +-// mode:C++ +-// End: ++/* ++ * Copyright (c) 1999 ++ * Silicon Graphics Computer Systems, Inc. ++ * ++ * Copyright (c) 1999 ++ * Boris Fomitchev ++ * ++ * This material is provided "as is", with absolutely no warranty expressed ++ * or implied. Any use is at your own risk. ++ * ++ * Permission to use or copy this software for any purpose is hereby granted ++ * without fee, provided the above notices are retained on all copies. ++ * Permission to modify the code and to distribute modified code is granted, ++ * provided the above notices are retained, and a notice that the code was ++ * modified is included with the above copyright notice. ++ * ++ */ ++# include "stlport_prefix.h" ++# include ++ ++_STLP_BEGIN_NAMESPACE ++ ++//---------------------------------------------------------------------- ++// numpunct ++char numpunct::do_decimal_point() const {return '.';} ++char numpunct::do_thousands_sep() const { return ','; } ++string numpunct::do_grouping() const { return string();} ++string numpunct::do_truename() const { return _M_truename;} ++string numpunct::do_falsename() const { return _M_falsename; } ++numpunct::~numpunct() {} ++ ++_STLP_STATIC_MEMBER_DECLSPEC string numpunct::_M_truename("true"); ++_STLP_STATIC_MEMBER_DECLSPEC string numpunct::_M_falsename("false"); ++_STLP_STATIC_MEMBER_DECLSPEC string numpunct::_M_grouping(""); ++ ++# ifndef _STLP_NO_WCHAR_T ++ ++numpunct::~numpunct() {} ++ ++wchar_t numpunct::do_decimal_point() const { return L'.'; } ++ ++wchar_t numpunct::do_thousands_sep() const ++{ ++ return L','; ++} ++ ++string numpunct::do_grouping() const ++{ ++ return string(); ++} ++ ++ ++wstring numpunct::do_truename() const ++{ ++ return _M_truename; ++} ++ ++wstring numpunct::do_falsename() const ++{ ++ return _M_falsename; ++} ++ ++_STLP_STATIC_MEMBER_DECLSPEC wstring numpunct::_M_truename(L"true"); ++_STLP_STATIC_MEMBER_DECLSPEC wstring numpunct::_M_falsename(L"false"); ++_STLP_STATIC_MEMBER_DECLSPEC string numpunct::_M_grouping(""); ++# endif ++ ++_STLP_END_NAMESPACE ++ ++// Local Variables: ++// mode:C++ ++// End: ++ +Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: numpunct_byname.cpp +Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: numpunct_w.cpp +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/ostream.cpp tripwire-2.3.1-2/src/STLport-4.0/src/ostream.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/ostream.cpp Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/ostream.cpp Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,57 @@ ++/* ++ * Copyright (c) 1999 ++ * Silicon Graphics Computer Systems, Inc. ++ * ++ * Copyright (c) 1999 ++ * Boris Fomitchev ++ * ++ * This material is provided "as is", with absolutely no warranty expressed ++ * or implied. Any use is at your own risk. ++ * ++ * Permission to use or copy this software for any purpose is hereby granted ++ * without fee, provided the above notices are retained on all copies. ++ * Permission to modify the code and to distribute modified code is granted, ++ * provided the above notices are retained, and a notice that the code was ++ * modified is included with the above copyright notice. ++ * ++ */ ++# include "stlport_prefix.h" ++#include ++ ++_STLP_BEGIN_NAMESPACE ++ ++#if !defined(_STLP_NO_FORCE_INSTANTIATE) ++ ++// instantiations ++template class _STLP_CLASS_DECLSPEC basic_ostream >; ++ ++template _STLP_DECLSPEC basic_ostream >& _STLP_CALL ++_M_put_num(basic_ostream >&, long); ++template _STLP_DECLSPEC basic_ostream >& _STLP_CALL ++_M_put_num(basic_ostream >&, unsigned long); ++# if defined (_STLP_LONG_LONG) ++template _STLP_DECLSPEC basic_ostream >& _STLP_CALL ++_M_put_num(basic_ostream >&, unsigned _STLP_LONG_LONG); ++template _STLP_DECLSPEC basic_ostream >& _STLP_CALL ++_M_put_num(basic_ostream >&, _STLP_LONG_LONG); ++# endif ++ ++# if defined (_STLP_USE_TEMPLATE_EXPORT) ++template class _STLP_CLASS_DECLSPEC _Osentry >; ++# endif ++ ++#ifndef _STLP_NO_WCHAR_T ++ ++# if defined (_STLP_USE_TEMPLATE_EXPORT) ++template class _STLP_CLASS_DECLSPEC _Osentry >; ++# endif ++template class _STLP_CLASS_DECLSPEC basic_ostream >; ++#endif ++ ++#endif ++ ++_STLP_END_NAMESPACE ++ ++// Local Variables: ++// mode:C++ ++// End: +Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: range_errors.cpp +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/sgi_mipspro.mak tripwire-2.3.1-2/src/STLport-4.0/src/sgi_mipspro.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/sgi_mipspro.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/sgi_mipspro.mak Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,70 @@ ++# ++# Basename for libraries ++# ++.POSIX: ++ ++SHELL=/bin/sh ++ ++LIB_BASENAME = libstlport_mipspro ++ ++STL_INCL= -I. -I${PWD}/../stlport/ ++CUR_DIR=./ ++ ++CC = CC ++CXX = CC ++ ++# ++# guts for common stuff ++# ++# ++LINK=$(CC) -ar -all -o ++DYN_LINK=$(CC) -shared -all -o ++ ++OBJEXT=o ++DYNEXT=so ++STEXT=a ++RM=rm -rf ++PATH_SEP=/ ++MKDIR=mkdir -p ++COMP=MIPS ++INSTALL_STEP = install_unix ++ ++all: msg all_dynamic all_static symbolic_links ++ ++msg: ++ @echo "*** ATTENTION! ***" ++ @echo "This makefile requires GNU make!" ++ @echo "******************" ++ ++include common_macros.mak ++ ++CXXFLAGS_COMMON = -J 4 -ansi -LANG:std -I. -D_PTHREADS ${STL_INCL} ++ ++DEBUG_FLAGS = -g +w2 -D_STLP_DEBUG ++RELEASE_FLAGS = -O2 ++ ++ ++# install: $(TARGETS) ++# cp -p $(TARGETS) ${INSTALLDIR} ++ ++CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) ${RELEASE_FLAGS} ++CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) ${RELEASE_FLAGS} $(SHCXXFLAGS) ++ ++CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -O -g ++CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -O -g ++ ++CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_COMMON) -O -g -D_STLP_DEBUG ++CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_COMMON) -O -g -D_STLP_DEBUG ++ ++LDFLAGS_RELEASE_static = ${CXXFLAGS_RELEASE_static} ++LDFLAGS_RELEASE_dynamic = ${CXXFLAGS_RELEASE_dynamic} ++ ++LDFLAGS_DEBUG_static = ${CXXFLAGS_DEBUG_static} ++LDFLAGS_DEBUG_dynamic = ${CXXFLAGS_DEBUG_dynamic} ++ ++LDFLAGS_STLDEBUG_static = ${CXXFLAGS_STLDEBUG_static} ++LDFLAGS_STLDEBUG_dynamic = ${CXXFLAGS_STLDEBUG_dynamic} ++ ++include common_percent_rules.mak ++include common_rules.mak ++ +Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: sources +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/sparc_atomic.s tripwire-2.3.1-2/src/STLport-4.0/src/sparc_atomic.s +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/sparc_atomic.s Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/sparc_atomic.s Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,68 @@ ++ .section ".text",#alloc,#execinstr ++ .align 8 ++ .skip 16 ++ ++ ++ /* ++ ** int _STLP_atomic_exchange (void *pvalue, int value) ++ */ ++ ++ .type _STLP_atomic_exchange,#function ++ .global _STLP_atomic_exchange ++ .align 8 ++ ++_STLP_atomic_exchange: ++0: ++ ld [%o0], %o2 ! Set the current value ++ mov %o1, %o3 ! Set the new value ++! swap [%o0], %o3 ! Do the compare and swap ++ cas [%o0], %o2, %o3 ++ cmp %o2, %o3 ! Check whether successful ++ bne 0b ! Retry upon failure ++ stbar ++ mov %o2, %o0 ! Set the new value ++ retl ! return ++ nop ++ .size _STLP_atomic_exchange,(.-_STLP_atomic_exchange) ++ ++ /* int _STLP_atomic_increment (void *pvalue) */ ++ ++ .type _STLP_atomic_increment,#function ++ .global _STLP_atomic_increment ++ .align 8 ++_STLP_atomic_increment: ++1: ++ ld [%o0], %o2 ! set the current ++ add %o2, 0x1, %o3 ! Increment and store current ++! swap [%o0], %o3 ! Do the compare and swap ++ cas [%o0], %o2, %o3 ++ cmp %o3, %o2 ! Check whether successful ++ bne 1b ! Retry if we failed. ++ membar #LoadLoad | #LoadStore ! Ensure the cas finishes before ++ ! returning ++ nop ++ retl ! return ++ nop ++ ++ .size _STLP_atomic_increment,(.-_STLP_atomic_increment) ++ ++ ++ /* int _STLP_atomic_decrement (void *pvalue) */ ++ .type _STLP_atomic_decrement,#function ++ .global _STLP_atomic_decrement ++ .align 8 ++ ++_STLP_atomic_decrement: ++2: ++ ld [%o0], %o2 ! set the current ++ sub %o2, 0x1, %o3 ! decrement and store current ++! swap [%o0], %o3 ! Do the compare and swap ++ cas [%o0], %o2, %o3 ++ cmp %o3, %o2 ! Check whether successful ++ bne 2b ! Retry if we failed. ++ membar #LoadLoad | #LoadStore ! Ensure the cas finishes before ++ nop ++ ! returning ++ retl ! return ++ nop ++ .size _STLP_atomic_decrement,(.-_STLP_atomic_decrement) +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/sparc_atomic64.s tripwire-2.3.1-2/src/STLport-4.0/src/sparc_atomic64.s +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/sparc_atomic64.s Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/sparc_atomic64.s Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,65 @@ ++ .section ".text",#alloc,#execinstr ++ .align 8 ++ .skip 16 ++ ++! int _STLP_atomic_exchange (void *pvalue, int value) ++! ++ ++ .type _STLP_atomic_exchange,#function ++ .global _STLP_atomic_exchange ++ .align 8 ++ ++_STLP_atomic_exchange: ++1: ++ ldx [%o0], %o2 ! Set the current value ++ mov %o1, %o3 ! Set the new value ++ casx [%o0], %o2, %o3 ! Do the compare and swap ++ cmp %o2, %o3 ! Check whether successful ++ bne 1b ! Retry upon failure ++ membar #LoadLoad | #LoadStore ! Ensure the cas finishes before ++ ! returning ++ retl ! return ++ mov %o2, %o0 ! Set the new value ++ .size _STLP_atomic_exchange,(.-_STLP_atomic_exchange) ++ ++ ++! int _STLP_atomic_increment (void *pvalue) ++ ++ .type _STLP_atomic_increment,#function ++ .global _STLP_atomic_increment ++ .align 8 ++_STLP_atomic_increment: ++0: ++ ldx [%o0], %o2 ! set the current ++ addx %o2, 0x1, %o3 ! Increment and store current ++ casx [%o0], %o2, %o3 ! Do the compare and swap ++ cmp %o3, %o2 ! Check whether successful ++ bne 0b ++ membar #LoadLoad | #LoadStore ! Ensure the cas finishes before ++ ! returning ++ retl ! return ++ mov %o1, %o0 ! Set the return value ++ ++ .size _STLP_atomic_increment,(.-_STLP_atomic_increment) ++ ++ ++! /* int _STLP_atomic_decrement (void *pvalue) */ ++ .type _STLP_atomic_decrement,#function ++ .global _STLP_atomic_decrement ++ .align 8 ++ ++_STLP_atomic_decrement: ++0: ++ ldx [%o0], %o2 ! set the current ++ subx %o2, 0x1, %o3 ! decrement and store current ++ casx [%o0], %o2, %o3 ! Do the compare and swap ++ cmp %o3, %o2 ! Check whether successful ++ bne 0b ++ membar #LoadLoad | #LoadStore ! Ensure the cas finishes before ++ ! returning ++ retl ! return ++ nop ++ .size _STLP_atomic_decrement,(.-_STLP_atomic_decrement) ++ ++ ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/sstream.cpp tripwire-2.3.1-2/src/STLport-4.0/src/sstream.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/sstream.cpp Sat Feb 24 10:44:15 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/sstream.cpp Sun Aug 11 18:59:22 2002 +@@ -16,30 +16,28 @@ + * + */ + # include "stlport_prefix.h" +-#include ++#include + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + +-# ifndef __STL_NO_FORCE_INSTANTIATE ++# ifndef _STLP_NO_FORCE_INSTANTIATE + + // Force instantiation of stringstream classes. +- +-template class __STL_CLASS_DECLSPEC basic_stringbuf, allocator >; +-template class __STL_CLASS_DECLSPEC basic_ostringstream, allocator >; +-template class __STL_CLASS_DECLSPEC basic_istringstream, allocator >; +-template class __STL_CLASS_DECLSPEC basic_stringstream, allocator >; +- +-#ifndef __STL_NO_WCHAR_T +-template class __STL_CLASS_DECLSPEC basic_stringbuf, allocator >; +-template class __STL_CLASS_DECLSPEC basic_ostringstream, allocator >; +-template class __STL_CLASS_DECLSPEC basic_istringstream, allocator >; +-template class __STL_CLASS_DECLSPEC basic_stringstream, allocator >; ++template class _STLP_CLASS_DECLSPEC basic_stringbuf, allocator >; ++template class _STLP_CLASS_DECLSPEC basic_ostringstream, allocator >; ++template class _STLP_CLASS_DECLSPEC basic_istringstream, allocator >; ++template class _STLP_CLASS_DECLSPEC basic_stringstream, allocator >; ++ ++#ifndef _STLP_NO_WCHAR_T ++template class _STLP_CLASS_DECLSPEC basic_stringbuf, allocator >; ++template class _STLP_CLASS_DECLSPEC basic_ostringstream, allocator >; ++template class _STLP_CLASS_DECLSPEC basic_istringstream, allocator >; ++template class _STLP_CLASS_DECLSPEC basic_stringstream, allocator >; + #endif /* INSTANTIATE_WIDE_STREAMS */ + + # endif + +- +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/stdio_streambuf.cpp tripwire-2.3.1-2/src/STLport-4.0/src/stdio_streambuf.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/stdio_streambuf.cpp Sat Feb 24 10:44:15 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/stdio_streambuf.cpp Sun Aug 11 18:59:22 2002 +@@ -16,13 +16,9 @@ + * + */ + # include "stlport_prefix.h" +-#include +-#include +-#include +-#include ++#include + +- +-#ifdef __STL_UNIX ++#ifdef _STLP_UNIX + #include + #include + #endif /* __unix */ +@@ -30,7 +26,7 @@ + #include + #include "fstream_impl.h" + +-# if defined (__STL_USE_WIN32_IO) ++# if defined (_STLP_USE_WIN32_IO) && !defined(_STLP_WINCE) + # if defined (__BORLANDC__) + // # include + # include +@@ -42,25 +38,23 @@ + # include + # endif + +- +- + __SGI_BEGIN_NAMESPACE + //---------------------------------------------------------------------- + // Class stdio_streambuf_base + + stdio_streambuf_base::stdio_streambuf_base(FILE* file) +- : __STLPORT_STD::basic_streambuf >(file, 0), ++ : _STLP_STD::basic_streambuf >(file, 0), + _M_file(file) + {} + + stdio_streambuf_base::~stdio_streambuf_base() + { +- __STL_VENDOR_CSTD::fflush(_M_file); ++ _STLP_VENDOR_CSTD::fflush(_M_file); + } + +-__STLPORT_STD::streambuf* stdio_streambuf_base::setbuf(char* s, streamsize n) ++_STLP_STD::streambuf* stdio_streambuf_base::setbuf(char* s, streamsize n) + { +- __STL_VENDOR_CSTD::setvbuf(_M_file, s, (s == 0 && n == 0) ? _IONBF : _IOFBF, n); ++ _STLP_VENDOR_CSTD::setvbuf(_M_file, s, (s == 0 && n == 0) ? _IONBF : _IOFBF, n); + return this; + } + +@@ -83,13 +77,15 @@ + return pos_type(-1); + } + +- if (__STL_VENDOR_CSTD::fseek(_M_file, off, whence) == 0) { ++ if (_STLP_VENDOR_CSTD::fseek(_M_file, off, whence) == 0) { + fpos_t pos; +- __STL_VENDOR_CSTD::fgetpos(_M_file, &pos); ++ _STLP_VENDOR_CSTD::fgetpos(_M_file, &pos); + // added 21 june 00 mdb,rjf,wjs: glibc 2.2 changed fpos_t to be a struct instead + // of a primitive type + #if (defined(__GLIBC__) && ( (__GLIBC__ > 2) || ( (__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 2) ) ) ) + return pos_type((streamoff)pos.__pos); ++#elif defined(__ISCPP__) || defined(__MVS__) || (__OS400__) ++ return pos_type(pos.__fpos_elem[ 0 ]); + #else + return pos_type(pos); + #endif +@@ -109,11 +105,14 @@ + fpos_t p; + p.__pos = pos; + memset( &(p.__state), 0, sizeof(p.__state) ); ++#elif defined(__MVS__) || (__OS400__) ++ fpos_t p; ++ p.__fpos_elem[0] = pos; + #else + fpos_t p(pos); + #endif + +- if (__STL_VENDOR_CSTD::fsetpos(_M_file, &p) == 0) ++ if (_STLP_VENDOR_CSTD::fsetpos(_M_file, &p) == 0) + return pos; + else + return pos_type(-1); +@@ -121,19 +120,21 @@ + + int stdio_streambuf_base::sync() + { +- return __STL_VENDOR_CSTD::fflush(_M_file) == 0 ? 0 : -1; ++ return _STLP_VENDOR_CSTD::fflush(_M_file) == 0 ? 0 : -1; + } + + //---------------------------------------------------------------------- + // Class stdio_istreambuf + ++stdio_istreambuf::~stdio_istreambuf() {} ++ + streamsize stdio_istreambuf::showmanyc() + { + if (feof(_M_file)) + return -1; + else { +- int fd = _FILE_fd(*_M_file); +-# ifdef __STL_USE_WIN32_IO ++ int fd = _FILE_fd(_M_file); ++# ifdef _STLP_USE_WIN32_IO + // in this case, __file_size works with Win32 fh , not libc one + streamoff size; + struct stat buf; +@@ -146,10 +147,10 @@ + else + size = 0; + # else +- streamoff size = SGI::__file_size(fd); ++ streamoff size = _SgI::__file_size(fd); + # endif + // fbp : we can use ftell as this flavour always use stdio. +- long pos = __STL_VENDOR_CSTD::ftell(_M_file); ++ long pos = _STLP_VENDOR_CSTD::ftell(_M_file); + return pos >= 0 && size > pos ? size - pos : 0; + } + } +@@ -158,7 +159,7 @@ + { + int c = getc(_M_file); + if (c != EOF) { +- __STL_VENDOR_CSTD::ungetc(c, _M_file); ++ _STLP_VENDOR_CSTD::ungetc(c, _M_file); + return c; + } + else +@@ -174,7 +175,7 @@ + stdio_istreambuf::int_type stdio_istreambuf::pbackfail(int_type c) + { + if (c != traits_type::eof()) { +- int result = __STL_VENDOR_CSTD::ungetc(c, _M_file); ++ int result = _STLP_VENDOR_CSTD::ungetc(c, _M_file); + return result != EOF ? result : traits_type::eof(); + } + else{ +@@ -190,6 +191,8 @@ + //---------------------------------------------------------------------- + // Class stdio_ostreambuf + ++stdio_ostreambuf::~stdio_ostreambuf() {} ++ + streamsize stdio_ostreambuf::showmanyc() + { + return -1; +@@ -202,7 +205,7 @@ + // Do we have a buffer to write? + ptrdiff_t unwritten = this->pptr() - this->pbase(); + if (unwritten != 0) { +- __STL_VENDOR_CSTD::fflush(_M_file); ++ _STLP_VENDOR_CSTD::fflush(_M_file); + // Test if the write succeeded. + if (this->pptr() - this->pbase() < unwritten) + return traits_type::not_eof(c); +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/stlport.rc tripwire-2.3.1-2/src/STLport-4.0/src/stlport.rc +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/stlport.rc Sat Feb 24 10:44:15 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/stlport.rc Sun Aug 11 18:59:23 2002 +@@ -6,9 +6,9 @@ + #include + + #define VER_MAJOR 4 +-#define VER_MINOR 0 ++#define VER_MINOR 1 + #define VER_YEAR 2000 +-#define VER_MMDD 0707 ++#define VER_MMDD 1111 + + #define VERSION_STRING2(x) #x "\0" + #define VERSION_STRING(x) VERSION_STRING2(x) +@@ -17,8 +17,7 @@ + + #define VERSION_STRING1(x) #x + #define DLLNAME_STRING2(compstr,buildstr) \ +-"STLPORT_" VERSION_STRING1(compstr) VERSION_STRING1(buildstr) ".DLL\0" +-// #define DLLNAME_STRING2(compstr, buildstr) "STLPORT_" #compstr #buildstr ".DLL\0" ++"STLPORT_" VERSION_STRING1(compstr) VERSION_STRING1(buildstr) "_\0" VERSION_STRING1(VER_MAJOR) VERSION_STRING1(VER_MINOR) ".DLL\0" + + VS_VERSION_INFO VERSIONINFO + FILEVERSION VERSION_ID +@@ -38,7 +37,7 @@ + VALUE "CompanyName", "STLport Consulting, Inc.\0" + VALUE "FileDescription", "STLport\0" + VALUE "FileVersion", VERSION_STR +-VALUE "InternalName", "stlport.dll\0" ++VALUE "InternalName", "STLPORT.DLL\0" + VALUE "LegalCopyright", "Copyright (C) Boris Fomitchev\0" + + VALUE "OriginalFilename", DLLNAME_STRING2(COMP,BUILD) +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/stlport_prefix.h tripwire-2.3.1-2/src/STLport-4.0/src/stlport_prefix.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/stlport_prefix.h Sat Feb 24 10:44:15 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/stlport_prefix.h Sun Aug 11 18:59:23 2002 +@@ -3,18 +3,41 @@ + + # define __BUILDING_STLPORT 1 + +-// Please add extra compilation switches for particular compilers here ++# if defined (_WIN32) || defined (WIN32) ++# ifdef __cplusplus ++# define WIN32_LEAN_AND_MEAN ++# define NOSERVICE ++# endif ++# if !(defined (__CYGWIN__) || defined(_WIN32_WCE)) ++# define _STLP_REAL_LOCALE_IMPLEMENTED ++# endif ++# endif ++ ++# undef _STLP_NO_FORCE_INSTANTIATE ++ ++/* Please add extra compilation switches for particular compilers here */ + + # include + ++# if defined (_STLP_USE_TEMPLATE_EXPORT) && defined (_STLP_USE_DECLSPEC) && ! defined (_STLP_EXPOSE_GLOBALS_IMPLEMENTATION) ++# define _STLP_EXPOSE_GLOBALS_IMPLEMENTATION ++# endif ++ ++# ifdef __cplusplus ++ ++# include ++# if defined (_STLP_USE_NAMESPACES) && ! defined (_STLP_VENDOR_GLOBAL_CSTD) ++using _STLP_VENDOR_CSTD::time_t; ++# endif ++ + // This section is only for compilers that support precompiled headers ! + // Currently there are : Visual C++ + // Please remember to make sure to turn on precompiled header option in + // the platform makefile when addinf compilers to this list, otherwise + // this will result in worse build performance. + +-# if defined (__STL_MSVC) +-# ifndef __STL_USE_DECLSPEC ++# if defined (_STLP_MSVC) || defined (__ICL) ++# ifndef _STLP_USE_DECLSPEC + # include + # include + # include +@@ -33,13 +56,22 @@ + # include + # include + // # include +-# endif + +-# ifdef __STL_MSVC ++# ifdef _STLP_MSVC + # pragma hdrstop + # endif + ++# endif + + # endif /* precompiler headers */ + ++# if defined (_STLP_FUNCTION_TMPL_PARTIAL_ORDER) || defined (__BORLANDC__) ++# define _STLP_OPERATOR_SPEC _STLP_DECLSPEC ++# else ++# define _STLP_OPERATOR_SPEC _STLP_TEMPLATE_NULL _STLP_DECLSPEC ++# endif ++ ++# endif /* __cplusplus */ ++ + #endif /* PREFIX */ ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/streambuf.cpp tripwire-2.3.1-2/src/STLport-4.0/src/streambuf.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/streambuf.cpp Sat Feb 24 10:44:15 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/streambuf.cpp Sun Aug 11 18:59:23 2002 +@@ -18,57 +18,42 @@ + # include "stlport_prefix.h" + + +-#include ++#include + #include + + // Implementation of non-inline member functions of class + // basic_streambuf > + + # if defined (__hpux) +-# define FILE_CAST(x) (*__REINTERPRET_CAST(FILE*, &x)) ++# define FILE_CAST(x) (__REINTERPRET_CAST(FILE*, x)) + # else + # define FILE_CAST(x) x + # endif + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + +-locale basic_streambuf >::pubimbue(const locale& loc) +-{ +- this->imbue(loc); +- locale tmp = _M_locale; +- _M_locale = loc; +- return tmp; +-} ++#if !defined(_STLP_WINCE) + + basic_streambuf >::~basic_streambuf() {} + +-// The default constructor. +-basic_streambuf >::basic_streambuf() +- : _M_get(FILE_CAST(_M_default_get)), +- _M_put(FILE_CAST(_M_default_put)), _M_locale() +-{ +- // _M_lock._M_initialize(); +- +- _FILE_I_set(_M_get, 0, 0, 0); +- _FILE_O_set(_M_put, 0, 0, 0); +-} +- + // This constructor is an extension. It is for streambuf subclasses that + // are synchronized with C stdio files. + basic_streambuf > + ::basic_streambuf(FILE* __get, FILE* __put) +- : _M_get(__get ? *__get : FILE_CAST(_M_default_get)), +- _M_put(__put ? *__put : FILE_CAST(_M_default_put)), ++ : _M_get(__get ? __get : FILE_CAST(&_M_default_get)), ++ _M_put(__put ? __put : FILE_CAST(&_M_default_put)), + _M_locale() + { + _M_lock._M_initialize(); + +- if (&_M_get == &FILE_CAST(_M_default_get)) ++ if (_M_get == FILE_CAST(&_M_default_get)) + _FILE_I_set(_M_get, 0, 0, 0); +- if (&_M_put == &FILE_CAST(_M_default_put)) ++ if (_M_put == FILE_CAST(&_M_default_put)) + _FILE_O_set(_M_put, 0, 0, 0); + } + ++// virtual functions ++ + void basic_streambuf >::imbue(const locale&) + {} + +@@ -110,7 +95,7 @@ + + while (result < n) { + if (_FILE_I_avail(_M_get) > 0) { +- size_t chunk = min(__STATIC_CAST(size_t,_FILE_I_avail(_M_get)), ++ size_t chunk = (min) (__STATIC_CAST(size_t,_FILE_I_avail(_M_get)), + __STATIC_CAST(size_t,n - result)); + traits_type::copy(s, _FILE_I_next(_M_get), chunk); + result += chunk; +@@ -120,9 +105,9 @@ + else { + int_type c = sbumpc(); + if (c != eof) { +- s[result] = c; ++ *s = c; + ++result; +- ++s; ++ ++s; + } + else + break; +@@ -162,12 +147,12 @@ + + while (result < n) { + if (_FILE_O_avail(_M_put) > 0) { +- size_t chunk = min(__STATIC_CAST(size_t,_FILE_O_avail(_M_put)), ++ size_t chunk = (min) (__STATIC_CAST(size_t,_FILE_O_avail(_M_put)), + __STATIC_CAST(size_t,n - result)); + traits_type::copy(_FILE_O_next(_M_put), s, chunk); + result += chunk; + s += chunk; +- _FILE_O_bump(_M_put, chunk); ++ _FILE_O_bump(_M_put, (int)chunk); + } + + else if (this->overflow(traits_type::to_int_type(*s)) != eof) { +@@ -188,11 +173,11 @@ + + while (result < n) { + if (_FILE_O_avail(_M_put) > 0) { +- size_t chunk = min(__STATIC_CAST(size_t,_FILE_O_avail(_M_put)), ++ size_t chunk = (min) (__STATIC_CAST(size_t,_FILE_O_avail(_M_put)), + __STATIC_CAST(size_t,n - result)); + traits_type::assign(_FILE_O_next(_M_put), chunk, c); + result += chunk; +- _FILE_O_bump(_M_put, chunk); ++ _FILE_O_bump(_M_put, (int)chunk); + } + + else if (this->overflow(traits_type::to_int_type(c)) != eof) +@@ -222,22 +207,35 @@ + } + } + ++ ++locale basic_streambuf >::pubimbue(const locale& loc) ++{ ++ this->imbue(loc); ++ locale tmp = _M_locale; ++ _M_locale = loc; ++ return tmp; ++} ++ ++#else ++ ++#if !defined(_STLP_NO_FORCE_INSTANTIATE) ++template class basic_streambuf >; ++#endif ++ ++#endif /* _STLP_WINCE */ ++ + //---------------------------------------------------------------------- + // Force instantiation of basic_streambuf + + // not basic_streambuf, because it's specialized. + +-#if !defined(__STL_NO_FORCE_INSTANTIATE) +-#if !defined (__STL_NO_WCHAR_T) ++#if !defined(_STLP_NO_FORCE_INSTANTIATE) ++#if !defined (_STLP_NO_WCHAR_T) + template class basic_streambuf >; + #endif /* INSTANTIATE_WIDE_STREAMS */ + #endif + +-//static void __dummy_inst() { +-// basic_streambuf >* buf; +-//} +- +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + + // Local Variables: + // mode:C++ +Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: string.cpp +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/string_w.cpp tripwire-2.3.1-2/src/STLport-4.0/src/string_w.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/string_w.cpp Sat Feb 24 10:44:15 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/string_w.cpp Sun Aug 11 18:59:23 2002 +@@ -1,16 +1,16 @@ + #include "stlport_prefix.h" +-#include ++#include + +-__STL_BEGIN_NAMESPACE +-# ifndef __STL_NO_FORCE_INSTANTIATE +-# ifndef __STL_NO_WCHAR_T +-template class __STL_CLASS_DECLSPEC allocator; +-template class __STL_CLASS_DECLSPEC _String_base >; +-# ifdef __STL_DEBUG +-template class __STL_CLASS_DECLSPEC _Nondebug_string, allocator >; ++_STLP_BEGIN_NAMESPACE ++# ifndef _STLP_NO_FORCE_INSTANTIATE ++# ifndef _STLP_NO_WCHAR_T ++template class _STLP_CLASS_DECLSPEC allocator; ++template class _STLP_CLASS_DECLSPEC _String_base >; ++# ifdef _STLP_DEBUG ++template class _STLP_CLASS_DECLSPEC _Nondebug_string, allocator >; + # endif +-template class __STL_CLASS_DECLSPEC basic_string, allocator >; ++template class _STLP_CLASS_DECLSPEC basic_string, allocator >; + # endif + # endif +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/strstream.cpp tripwire-2.3.1-2/src/STLport-4.0/src/strstream.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/strstream.cpp Sat Feb 24 10:44:15 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/strstream.cpp Sun Aug 11 18:59:23 2002 +@@ -23,16 +23,10 @@ + // header instead. + + # include "stlport_prefix.h" +-#include +-#include +-#include +-#include +-#include +-#include ++#include ++#include + +- +- +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + // strstreambuf constructor, destructor. + +@@ -40,7 +34,7 @@ + : _M_alloc_fun(0), _M_free_fun(0), + _M_dynamic(true), _M_frozen(false), _M_constant(false) + { +- streamsize n = max(initial_capacity, streamsize(16)); ++ streamsize n = (max)(initial_capacity, streamsize(16)); + + char* buf = _M_alloc(n); + if (buf) { +@@ -127,7 +121,7 @@ + + int strstreambuf::pcount() const + { +- return pptr() ? pptr() - pbase() : 0; ++ return int(pptr() ? pptr() - pbase() : 0); + } + + strstreambuf::int_type strstreambuf::overflow(int_type c) { +@@ -137,7 +131,7 @@ + // Try to expand the buffer. + if (pptr() == epptr() && _M_dynamic && !_M_frozen && !_M_constant) { + ptrdiff_t old_size = epptr() - pbase(); +- ptrdiff_t new_size = max(2 * old_size, ptrdiff_t(1)); ++ ptrdiff_t new_size = (max)(2 * old_size, ptrdiff_t(1)); + + char* buf = _M_alloc(new_size); + if (buf) { +@@ -152,10 +146,10 @@ + } + + setp(buf, buf + new_size); +- pbump(old_size); ++ pbump((int)old_size); + + if (reposition_get) +- setg(buf, buf + old_get_offset, buf + max(old_get_offset, old_size)); ++ setg(buf, buf + old_get_offset, buf + (max)(old_get_offset, old_size)); + + _M_free(old_buffer); + } +@@ -254,11 +248,11 @@ + if (do_put) { + if (seeklow + off < pbase()) { + setp(seeklow, epptr()); +- pbump(off); ++ pbump((int)off); + } + else { + setp(pbase(), epptr()); +- pbump(off - (pbase() - seeklow)); ++ pbump((int)(off - (pbase() - seeklow))); + } + } + if (do_get) { +@@ -424,8 +418,7 @@ + return _M_buf.str(); + } + +-__STL_END_NAMESPACE +- ++_STLP_END_NAMESPACE + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/sunpro-64.mak tripwire-2.3.1-2/src/STLport-4.0/src/sunpro-64.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/sunpro-64.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/sunpro-64.mak Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,16 @@ ++# ++# Basename for libraries ++# ++LIB_BASENAME = libstlport_sunpro64 ++ ++# ++# This makefile will work for SUN CC 5.0-5.3 (Forte 6 Update 2) ++# ++ ++CC = CC -xarch=v9 ++CXX = CC -xarch=v9 ++ ++COMP = SUN64 ++ATOMIC_ASM = sparc_atomic64.s ++ ++include sunpro-common.mak +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/sunpro-common.mak tripwire-2.3.1-2/src/STLport-4.0/src/sunpro-common.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/sunpro-common.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/sunpro-common.mak Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,94 @@ ++ ++CUR_DIR= ${PWD}/ ++ ++STL_INCL= -I. -I${PWD}/../stlport ++ ++# ++# guts for common stuff ++# ++# ++LINK=$(CC) -xar -o ++DYN_LINK=$(CC) -G -o ++ ++OBJEXT=o ++DYNEXT=so ++STEXT=a ++RM=rm -rf ++PATH_SEP=/ ++MKDIR=mkdir -p ++INSTALL_STEP = install_sun ++PREPARE_STEP = prepare_sunpro ++ ++all: all_dynamic symbolic_links all_static ++ ++include common_macros.mak ++ ++CXXFLAGS_COMMON = -mt +w2 -library=no%Cstd -features=rtti -xildoff ${STL_INCL} $(EXTRA_COMMON_FLAGS) ++ ++SHCXXFLAGS = -PIC ++ ++DEBUG_FLAGS = -O -g +w2 -D_STLP_DEBUG ++ ++# ++# Try those flags to see if they help to get maximum efficiency : ++# -Qoption iropt -R,-Ml30,-Ms30,-Mi1000000,-Mm1000000,-Mr1000000,-Ma1000000,-Mc1000000,-Mt1000000 ++RELEASE_FLAGS = -O2 +w2 -qoption ccfe -expand=1000 ++ ++ ++# install: $(TARGETS) ++# cp -p $(TARGETS) ${INSTALLDIR} ++ ++RELEASE_static_rep = -ptr${RELEASE_OBJDIR_static} ++RELEASE_dynamic_rep = -ptr${RELEASE_OBJDIR_dynamic} ++DEBUG_static_rep = -ptr${DEBUG_OBJDIR_static} ++DEBUG_dynamic_rep = -ptr${DEBUG_OBJDIR_dynamic} ++STLDEBUG_static_rep = -ptr${STLDEBUG_OBJDIR_static} ++STLDEBUG_dynamic_rep = -ptr${STLDEBUG_OBJDIR_dynamic} ++ ++CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) ${RELEASE_FLAGS} ${RELEASE_static_rep} ++CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) ${RELEASE_FLAGS} $(SHCXXFLAGS) ${RELEASE_dynamic_rep} ++ ++CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -O -g ${DEBUG_static_rep} ++CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -O -g $(SHCXXFLAGS) ${DEBUG_dynamic_rep} ++ ++CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_COMMON) -O -g ${STLDEBUG_static_rep} -D_STLP_DEBUG ++CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_COMMON) -O -g $(SHCXXFLAGS) ${STLDEBUG_dynamic_rep} -D_STLP_DEBUG ++ ++ ++LDFLAGS_RELEASE_static = ${CXXFLAGS_RELEASE_static} ${ATOMIC_ASM} ++LDFLAGS_RELEASE_dynamic = ${CXXFLAGS_RELEASE_dynamic} -h${RELEASE_DYNLIB_SONAME} ${ATOMIC_ASM} ++ ++LDFLAGS_DEBUG_static = ${CXXFLAGS_DEBUG_static} ${ATOMIC_ASM} ++LDFLAGS_DEBUG_dynamic = ${CXXFLAGS_DEBUG_dynamic} -h${DEBUG_DYNLIB_SONAME} ${ATOMIC_ASM} ++ ++LDFLAGS_STLDEBUG_static = ${CXXFLAGS_STLDEBUG_static} ${ATOMIC_ASM} ++LDFLAGS_STLDEBUG_dynamic = ${CXXFLAGS_STLDEBUG_dynamic} -h${STLDEBUG_DYNLIB_SONAME} ${ATOMIC_ASM} ++ ++#LDLIBS_RELEASE_dynamic = -lposix4 ++#LDLIBS_STLDEBUG_dynamic = -lposix4 ++ ++include common_percent_rules.mak ++ ++# for file in `cat ../etc/std_headers.txt ../etc/std_headers_classic_iostreams.txt ../etc/std_headers_cpp_runtime.txt ../etc/std_headers_cpp_runtime_h.txt`; \ ++ ++../stlport/algorithm.SUNWCCh : ++ for file in `cat ../etc/std_headers.txt ../etc/std_headers_classic_iostreams.txt ../etc/std_headers_c.txt ../etc/std_headers_cpp_runtime.txt ../etc/std_headers_c_h.txt ../etc/std_headers_cpp_runtime_h.txt`; \ ++ do \ ++ rm -f ../stlport/$$file.SUNWCCh ; \ ++ (cd ../stlport ; ln -s $$file $$file.SUNWCCh) ; \ ++ done ++ ++# for file in `cat ../etc/std_headers_c_h.txt ../etc/std_headers_c.txt`; \ ++# do \ ++# rm -f ../stlport/$$file; \ ++# done ++ ++prepare_sunpro : ../stlport/algorithm.SUNWCCh ++ ++remove_c_headers : ++ for file in `cat ../etc/std_headers_c_h.txt ../etc/std_headers_c.txt`; \ ++ do \ ++ rm -f ../stlport/$$file ../stlport/$$file.SUNWCCh; \ ++ done ++ ++include common_rules.mak +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/sunpro-compat.mak tripwire-2.3.1-2/src/STLport-4.0/src/sunpro-compat.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/sunpro-compat.mak Sat Feb 24 10:44:15 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/sunpro-compat.mak Sun Aug 11 18:59:23 2002 +@@ -1,75 +1,10 @@ + # + # Basename for libraries + # +-LIB_BASENAME = libstlport_sunpro +- +-STL_INCL= -I. -I${PWD}/../stlport/SC5 ++LIB_BASENAME = libstlport_sunpro_compat + + CC = CC + CXX = CC -compat=4 + +-# +-# guts for common stuff +-# +-# +-LINK=$(CC) -xar -o +-DYN_LINK=$(CC) -G -o +- +-OBJEXT=o +-DYNEXT=so +-STEXT=a +-RM=rm -rf +-PATH_SEP=/ +-MKDIR=mkdir -p +-COMP=SUN-compat +- +-# LINK_OUT=-xar -o +-# DYNLINK_OUT=-o +- +-all: all_static +- +-include common_macros.mak +- +-CXXFLAGS_COMMON = -mt -pta +w2 -features=rtti -xildoff ${STL_INCL} -D__SGI_STL_OWN_IOSTREAMS +- +-SHCXXFLAGS = -PIC +- +-DEBUG_FLAGS = -g +w2 -D__STL_DEBUG +- +-# +-# Try those flags to see if they help to get maximum efficiency : +-# -Qoption iropt -R,-Ml30,-Ms30,-Mi1000000,-Mm1000000,-Mr1000000,-Ma1000000,-Mc1000000,-Mt1000000 +-RELEASE_FLAGS = -O2 +w2 -Qoption iropt -R,-Ml30,-Ms30,-Mi1000000,-Mm1000000,-Mr1000000,-Ma1000000,-Mc1000000,-Mt1000000 +- +- +-# install: $(TARGETS) +-# cp -p $(TARGETS) ${INSTALLDIR} +- +-RELEASE_static_rep = -ptr${RELEASE_OBJDIR_static} +-RELEASE_dynamic_rep = -ptr${RELEASE_OBJDIR_dynamic} +-DEBUG_static_rep = -ptr${DEBUG_OBJDIR_static} +-DEBUG_dynamic_rep = -ptr${DEBUG_OBJDIR_dynamic} +-STLDEBUG_static_rep = -ptr${STLDEBUG_OBJDIR_static} +-STLDEBUG_dynamic_rep = -ptr${STLDEBUG_OBJDIR_dynamic} +- +-CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) ${RELEASE_FLAGS} ${RELEASE_static_rep} +-CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) ${RELEASE_FLAGS} $(SHCXXFLAGS) ${RELEASE_dynamic_rep} +- +-CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -g ${DEBUG_static_rep} +-CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -g $(SHCXXFLAGS) ${DEBUG_dynamic_rep} +- +-CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) ${STLDEBUG_static_rep} -D__STL_DEBUG +-CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) ${STLDEBUG_dynamic_rep} -D__STL_DEBUG +- +-LDFLAGS_RELEASE_static = ${CXXFLAGS_RELEASE_static} +-LDFLAGS_RELEASE_dynamic = ${CXXFLAGS_RELEASE_dynamic} +- +-LDFLAGS_DEBUG_static = ${CXXFLAGS_DEBUG_static} +-LDFLAGS_DEBUG_dynamic = ${CXXFLAGS_DEBUG_dynamic} +- +-LDFLAGS_STLDEBUG_static = ${CXXFLAGS_STLDEBUG_static} +-LDFLAGS_STLDEBUG_dynamic = ${CXXFLAGS_STLDEBUG_dynamic} +- +-include common_percent_rules.mak +-include common_rules.mak ++COMP=SUN-COMPAT + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/sunpro-v8plus.mak tripwire-2.3.1-2/src/STLport-4.0/src/sunpro-v8plus.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/sunpro-v8plus.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/sunpro-v8plus.mak Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,16 @@ ++# ++# Basename for libraries ++# ++LIB_BASENAME = libstlport_sunpro64 ++ ++# ++# This makefile will work for SUN CC 5.0-5.3 (Forte 6 Update 2) ++# ++ ++CC = CC -xarch=v8plus ++CXX = CC -xarch=v8plus ++ ++COMP = SUN64 ++ATOMIC_ASM = sparc_atomic.s ++ ++include sunpro-common.mak +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/sunpro.mak tripwire-2.3.1-2/src/STLport-4.0/src/sunpro.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/sunpro.mak Sat Feb 24 10:44:15 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/sunpro.mak Sun Aug 11 18:59:23 2002 +@@ -1,75 +1,16 @@ + # + # Basename for libraries + # +-LIB_BASENAME = libstlport_sunpro +- +-STL_INCL= -I. -I${PWD}/../stlport/SC5 + +-CC = CC +-CXX = CC +- +-# +-# guts for common stuff + # ++# This makefile will work for SUN 5.0 and higher + # +-LINK=$(CC) -xar -o +-DYN_LINK=$(CC) -G -o + +-OBJEXT=o +-DYNEXT=so +-STEXT=a +-RM=rm -rf +-PATH_SEP=/ +-MKDIR=mkdir -p ++LIB_BASENAME = libstlport_sunpro + COMP=SUN ++CC = CC ++CXX = CC + +-# LINK_OUT=-xar -o +-# DYNLINK_OUT=-o +- +-all: all_dynamic all_static +- +-include common_macros.mak +- +-CXXFLAGS_COMMON = -mt -pta +w2 -features=rtti -xildoff ${STL_INCL} -D__SGI_STL_OWN_IOSTREAMS +- +-SHCXXFLAGS = -PIC +- +-DEBUG_FLAGS = -g +w2 -D__STL_DEBUG +- +-# +-# Try those flags to see if they help to get maximum efficiency : +-# -Qoption iropt -R,-Ml30,-Ms30,-Mi1000000,-Mm1000000,-Mr1000000,-Ma1000000,-Mc1000000,-Mt1000000 +-RELEASE_FLAGS = -O2 +w2 -Qoption iropt -R,-Ml30,-Ms30,-Mi1000000,-Mm1000000,-Mr1000000,-Ma1000000,-Mc1000000,-Mt1000000 +- +- +-# install: $(TARGETS) +-# cp -p $(TARGETS) ${INSTALLDIR} +- +-RELEASE_static_rep = -ptr${RELEASE_OBJDIR_static} +-RELEASE_dynamic_rep = -ptr${RELEASE_OBJDIR_dynamic} +-DEBUG_static_rep = -ptr${DEBUG_OBJDIR_static} +-DEBUG_dynamic_rep = -ptr${DEBUG_OBJDIR_dynamic} +-STLDEBUG_static_rep = -ptr${STLDEBUG_OBJDIR_static} +-STLDEBUG_dynamic_rep = -ptr${STLDEBUG_OBJDIR_dynamic} +- +-CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) ${RELEASE_FLAGS} ${RELEASE_static_rep} +-CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) ${RELEASE_FLAGS} $(SHCXXFLAGS) ${RELEASE_dynamic_rep} +- +-CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -g ${DEBUG_static_rep} +-CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -g $(SHCXXFLAGS) ${DEBUG_dynamic_rep} +- +-CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_COMMON) -g ${STLDEBUG_static_rep} -D__STL_DEBUG +-CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_COMMON) -g $(SHCXXFLAGS) ${STLDEBUG_dynamic_rep} -D__STL_DEBUG +- +-LDFLAGS_RELEASE_static = ${CXXFLAGS_RELEASE_static} +-LDFLAGS_RELEASE_dynamic = ${CXXFLAGS_RELEASE_dynamic} +- +-LDFLAGS_DEBUG_static = ${CXXFLAGS_DEBUG_static} +-LDFLAGS_DEBUG_dynamic = ${CXXFLAGS_DEBUG_dynamic} +- +-LDFLAGS_STLDEBUG_static = ${CXXFLAGS_STLDEBUG_static} +-LDFLAGS_STLDEBUG_dynamic = ${CXXFLAGS_STLDEBUG_dynamic} ++include sunpro-common.mak + +-include common_percent_rules.mak +-include common_rules.mak + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/sunpro42.mak tripwire-2.3.1-2/src/STLport-4.0/src/sunpro42.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/sunpro42.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/sunpro42.mak Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,11 @@ ++# ++# Basename for libraries ++# ++LIB_BASENAME = libstlport_sunpro42 ++COMP=SUN42 ++CC = CC ++CXX = CC ++ ++include sunpro-common.mak ++ ++ +Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: sunpro6.mak +Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: test.cpp +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/time_facets.cpp tripwire-2.3.1-2/src/STLport-4.0/src/time_facets.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/time_facets.cpp Sat Feb 24 10:44:16 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/time_facets.cpp Sun Aug 11 18:59:23 2002 +@@ -17,22 +17,22 @@ + */ + + +-# include "stlport_prefix.h" +-#include +-#include +-#include +-#include +-#include ++#include "stlport_prefix.h" ++#include ++#include ++#include "c_locale.h" + ++_STLP_BEGIN_NAMESPACE + +-__STL_BEGIN_NAMESPACE ++char* _STLP_CALL ++__write_integer(char* buf, ios_base::fmtflags flags, long x); + + // The function copy_cstring is used to initialize a string + // with a C-style string. Used to initialize the month and weekday +-// tables in time_get and time_put. Called only by __init_timeinfo ++// tables in time_get and time_put. Called only by _Init_timeinfo + // so its name does not require leading underscores. + +-inline void copy_cstring(const char * s, string& v) { ++static inline void copy_cstring(const char * s, string& v) { + copy(s, s + strlen(s), back_insert_iterator(v)); + } + +@@ -49,11 +49,11 @@ + "January", "February", "March", "April", "May", "June", + "July", "August", "September", "October", "November", "December"}; + +-// __init_time_info: initialize table with ++// _Init_time_info: initialize table with + // "C" values (note these are not defined in the C standard, so this + // is somewhat arbitrary). + +-void __STL_CALL __init_timeinfo(_Time_Info& table) { ++void _STLP_CALL _Init_timeinfo(_Time_Info& table) { + int i; + for (i = 0; i < 14; ++i) + copy_cstring(default_dayname[i], table._M_dayname[i]); +@@ -66,7 +66,7 @@ + copy_cstring("%a %b %e %H:%M:%S %Y", table._M_date_time_format); + } + +-void __STL_CALL __init_timeinfo(_Time_Info& table, _Locale_time * time) { ++void _STLP_CALL _Init_timeinfo(_Time_Info& table, _Locale_time * time) { + int i; + for (i = 0; i < 7; ++i) + copy_cstring(_Locale_abbrev_dayofweek(time)[i], +@@ -87,6 +87,8 @@ + copy_cstring(_Locale_t_fmt(time), table._M_time_format); + copy_cstring(_Locale_d_fmt(time), table._M_date_format); + copy_cstring(_Locale_d_t_fmt(time), table._M_date_time_format); ++ copy_cstring(_Locale_long_d_fmt(time), table._M_long_date_format); ++ copy_cstring(_Locale_long_d_t_fmt(time), table._M_long_date_time_format); + } + + inline char* __subformat(string format, char*& buf, +@@ -95,8 +97,12 @@ + const char * cp_end = cp + format.size(); + while (cp != cp_end) { + if (*cp == '%') { ++ char mod = 0; + ++cp; +- buf = __write_formatted_time(buf, *cp++, table, t); ++ if(*cp == '#') { ++ mod = *cp; ++cp; ++ } ++ buf = __write_formatted_time(buf, *cp++, mod, table, t); + } else + *buf++ = *cp++; + } +@@ -124,7 +130,10 @@ + #define __is_leap(year) \ + ((year) % 4 == 0 && ((year) % 100 != 0 || (year) % 400 == 0)) + +-char * __write_formatted_time(char* buf, char format, ++#define __hour12(hour) \ ++ (((hour) % 12 == 0) ? (12) : (hour) % 12) ++ ++char * __write_formatted_time(char* buf, char format, char modifier, + const _Time_Info& table, const tm* t) { + switch(format) { + case 'a': +@@ -148,12 +157,15 @@ + buf); + + case 'c': { +- const char * cp = table._M_date_time_format.data(); +- const char* cp_end = cp + table._M_date_time_format.size(); ++ const char * cp = (modifier != '#') ? table._M_date_time_format.data():\ ++ table._M_long_date_time_format.data(); ++ const char* cp_end = (modifier != '#') ? cp + table._M_date_time_format.size():\ ++ cp + table._M_long_date_time_format.size(); ++ char mod = 0; + while (cp != cp_end) { + if (*cp == '%') { +- ++cp; +- buf = __write_formatted_time(buf, *cp++, table, t); ++ ++cp; if(*cp == '#') mod = *cp++; else mod = 0; ++ buf = __write_formatted_time(buf, *cp++, mod, table, t); + } + else + *buf++ = *cp++; +@@ -162,31 +174,31 @@ + } + + case 'd': +- sprintf(buf, "%.2ld", (long)t->tm_mday); +- return buf + 2; ++ sprintf(buf, (modifier != '#')?"%.2ld":"%ld", (long)t->tm_mday); ++ return ((long)t->tm_mday < 10L && modifier == '#')?buf+1:buf + 2; + + case 'e': + sprintf(buf, "%2ld", (long)t->tm_mday); + return buf + 2; + + case 'H': +- sprintf(buf, "%.2ld", (long)t->tm_hour); +- return buf + 2; ++ sprintf(buf, (modifier != '#')?"%.2ld":"%ld", (long)t->tm_hour); ++ return ((long)t->tm_hour < 10L && modifier == '#')?buf+1:buf + 2; + + case 'I': +- sprintf(buf, "%.2ld", (long)t->tm_hour % 12); +- return buf + 2; ++ sprintf(buf, (modifier != '#')?"%.2ld":"%ld", (long)__hour12(t->tm_hour)); ++ return ((long)__hour12(t->tm_hour) < 10L && modifier == '#')?buf+1:buf + 2; + + case 'j': + return __write_integer(buf, 0, (long)((long)t->tm_yday + 1)); + + case 'm': +- sprintf(buf, "%.2ld", (long)t->tm_mon + 1); +- return buf + 2; ++ sprintf(buf, (modifier != '#')?"%.2ld":"%ld", (long)t->tm_mon + 1); ++ return ((long)(t->tm_mon + 1) < 10L && modifier == '#')?buf+1:buf + 2; + + case 'M': +- sprintf(buf, "%.2ld", (long)t->tm_min); +- return buf + 2; ++ sprintf(buf, (modifier != '#')?"%.2ld":"%ld", (long)t->tm_min); ++ return ((long)t->tm_min < 10L && modifier == '#')?buf+1:buf + 2; + + case 'p': + return copy(table._M_am_pm[t->tm_hour/12].begin(), +@@ -194,8 +206,8 @@ + buf); + + case 'S': // pad with zeros +- sprintf(buf, "%.2ld", (long)t->tm_sec); +- return buf + 2; ++ sprintf(buf, (modifier != '#')?"%.2ld":"%ld", (long)t->tm_sec); ++ return ((long)t->tm_sec < 10L && modifier == '#')?buf+1:buf + 2; + + case 'U': + return __write_integer(buf, 0, +@@ -213,12 +225,15 @@ + (t->tm_yday + 8 - t->tm_wday) / 7)); + + case'x': { +- const char * cp = table._M_date_format.data(); +- const char* cp_end = cp + table._M_date_format.size(); ++ const char * cp = (modifier != '#') ? table._M_date_format.data():\ ++ table._M_long_date_format.data(); ++ const char* cp_end = (modifier != '#') ? cp + table._M_date_format.size():\ ++ cp + table._M_long_date_format.size(); ++ char mod = 0; + while (cp != cp_end) { + if (*cp == '%') { +- ++cp; +- buf = __write_formatted_time(buf, *cp++, table, t); ++ ++cp; if(*cp == '#') mod = *cp++; else mod = 0; ++ buf = __write_formatted_time(buf, *cp++, mod, table, t); + } + else + *buf++ = *cp++; +@@ -229,10 +244,11 @@ + case 'X': { + const char * cp = table._M_time_format.data(); + const char* cp_end = cp + table._M_time_format.size(); ++ char mod = 0; + while (cp != cp_end) { + if (*cp == '%') { +- ++cp; +- buf = __write_formatted_time(buf, *cp++, table, t); ++ ++cp; if(*cp == '#') mod = *cp++; else mod = 0; ++ buf = __write_formatted_time(buf, *cp++, mod, table, t); + } + else + *buf++ = *cp++; +@@ -252,7 +268,7 @@ + #ifdef __GNUC__ + + // fbp : at least on SUN +-# if defined ( __STL_UNIX ) && ! defined (__linux__) ++# if defined ( _STLP_UNIX ) && ! defined (__linux__) + # define __USE_BSD 1 + # endif + +@@ -336,13 +352,13 @@ + } + } + +-# if defined ( __STL_USE_GLIBC ) && ! defined (__CYGWIN__) ++# if defined ( _STLP_USE_GLIBC ) && ! defined (__CYGWIN__) + case 'z': /* GNU extension. */ + if (t->tm_isdst < 0) + break; + { + int diff; +-#ifdef __USE_BSD ++#if defined(__USE_BSD) || defined(__BEOS__) + diff = t->tm_gmtoff; + #else + diff = t->__tm_gmtoff; +@@ -367,7 +383,7 @@ + return buf; + } + +-time_base::dateorder __STL_CALL ++time_base::dateorder _STLP_CALL + __get_date_order(_Locale_time* time) + { + const char * fmt = _Locale_d_fmt(time); +@@ -406,4 +422,20 @@ + return time_base::no_order; + } + } +-__STL_END_NAMESPACE ++ ++#if !defined(_STLP_NO_FORCE_INSTANTIATE) ++template class time_get > >; ++// template class time_get; ++template class time_put > >; ++// template class time_put; ++ ++#ifndef _STLP_NO_WCHAR_T ++template class time_get > >; ++// template class time_get; ++template class time_put > >; ++// template class time_put; ++#endif /* INSTANTIATE_WIDE_STREAMS */ ++ ++#endif ++ ++_STLP_END_NAMESPACE +Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: time_get.cpp +Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: time_get_w.cpp +Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: time_put.cpp +Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: time_put_w.cpp +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/uint64.h tripwire-2.3.1-2/src/STLport-4.0/src/uint64.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/uint64.h Sat Feb 24 10:44:16 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/uint64.h Sun Aug 11 18:59:23 2002 +@@ -125,12 +125,13 @@ + + #if defined(__MRC__)||defined(__SC__) + +-__STL_END_NAMESPACE // ugly! ++_STLP_END_NAMESPACE // ugly! + # include + # include + # undef modff //*TY 04/06/2000 - defined in which conflicts with definition + # include +-__STL_BEGIN_NAMESPACE ++ ++_STLP_BEGIN_NAMESPACE + + # if TYPE_LONGLONG + typedef UInt64 uint64; +@@ -150,33 +151,33 @@ + # define ULL2(hi,lo) {hi,lo} + + // Constructors, destructor, assignment operator. +-__STL_TEMPLATE_NULL inline _compound_int::_compound_int() { hi = 0; lo = 0; } +-__STL_TEMPLATE_NULL inline _compound_int::_compound_int(unsigned long val) { hi = 0; lo = val; } +-__STL_TEMPLATE_NULL inline _compound_int::_compound_int(unsigned long h, unsigned long l) { hi = h; lo = l; } ++_STLP_TEMPLATE_NULL inline _compound_int::_compound_int() { hi = 0; lo = 0; } ++_STLP_TEMPLATE_NULL inline _compound_int::_compound_int(unsigned long val) { hi = 0; lo = val; } ++_STLP_TEMPLATE_NULL inline _compound_int::_compound_int(unsigned long h, unsigned long l) { hi = h; lo = l; } + + // Arithmetic op= operations involving two _compound_int. +-__STL_TEMPLATE_NULL inline _compound_int& _compound_int::operator+= (const _compound_int& rhs) { *this = U64Add( *this, rhs ); return *this; } +-__STL_TEMPLATE_NULL inline _compound_int& _compound_int::operator-= (const _compound_int& rhs) { *this = U64Subtract( *this, rhs ); return *this; } +-__STL_TEMPLATE_NULL inline _compound_int& _compound_int::operator*= (const _compound_int& rhs) { *this = U64Multiply( *this, rhs ); return *this; } +-__STL_TEMPLATE_NULL inline _compound_int& _compound_int::operator/= (const _compound_int& rhs) { *this = U64Divide( *this, rhs, NULL ); return *this; } +-__STL_TEMPLATE_NULL inline _compound_int& _compound_int::operator%= (const _compound_int& rhs) { U64Divide( *this, rhs, this ); return *this; } +-__STL_TEMPLATE_NULL inline _compound_int& _compound_int::operator&= (const _compound_int& rhs) { *this = U64BitwiseAnd( *this, rhs ); return *this; } +-__STL_TEMPLATE_NULL inline _compound_int& _compound_int::operator|= (const _compound_int& rhs) { *this = U64BitwiseOr( *this, rhs ); return *this; } +-__STL_TEMPLATE_NULL inline _compound_int& _compound_int::operator^= (const _compound_int& rhs) { *this = U64BitwiseEor( *this, rhs ); return *this; } ++_STLP_TEMPLATE_NULL inline _compound_int& _compound_int::operator+= (const _compound_int& rhs) { *this = U64Add( *this, rhs ); return *this; } ++_STLP_TEMPLATE_NULL inline _compound_int& _compound_int::operator-= (const _compound_int& rhs) { *this = U64Subtract( *this, rhs ); return *this; } ++_STLP_TEMPLATE_NULL inline _compound_int& _compound_int::operator*= (const _compound_int& rhs) { *this = U64Multiply( *this, rhs ); return *this; } ++_STLP_TEMPLATE_NULL inline _compound_int& _compound_int::operator/= (const _compound_int& rhs) { *this = U64Divide( *this, rhs, NULL ); return *this; } ++_STLP_TEMPLATE_NULL inline _compound_int& _compound_int::operator%= (const _compound_int& rhs) { U64Divide( *this, rhs, this ); return *this; } ++_STLP_TEMPLATE_NULL inline _compound_int& _compound_int::operator&= (const _compound_int& rhs) { *this = U64BitwiseAnd( *this, rhs ); return *this; } ++_STLP_TEMPLATE_NULL inline _compound_int& _compound_int::operator|= (const _compound_int& rhs) { *this = U64BitwiseOr( *this, rhs ); return *this; } ++_STLP_TEMPLATE_NULL inline _compound_int& _compound_int::operator^= (const _compound_int& rhs) { *this = U64BitwiseEor( *this, rhs ); return *this; } + + // Arithmetic op= operations involving built-in integer. +-__STL_TEMPLATE_NULL inline _compound_int& _compound_int::operator<<= (unsigned int rhs) { *this = U64ShiftLeft( *this, rhs ); return *this; } +-__STL_TEMPLATE_NULL inline _compound_int& _compound_int::operator>>= (unsigned int rhs) { *this = U64ShiftRight( *this, rhs ); return *this; } ++_STLP_TEMPLATE_NULL inline _compound_int& _compound_int::operator<<= (unsigned int rhs) { *this = U64ShiftLeft( *this, rhs ); return *this; } ++_STLP_TEMPLATE_NULL inline _compound_int& _compound_int::operator>>= (unsigned int rhs) { *this = U64ShiftRight( *this, rhs ); return *this; } + + // Comparison operators. +-__STL_TEMPLATE_NULL inline bool operator==(const _compound_int& lhs, const _compound_int& rhs) { return (lhs.hi == rhs.hi) && (lhs.lo == rhs.lo); } +-__STL_TEMPLATE_NULL inline bool operator< (const _compound_int& lhs, const _compound_int& rhs) { return U64Compare( lhs, rhs ) < 0; } +-__STL_TEMPLATE_NULL inline bool operator==(const _compound_int& lhs, unsigned long rhs) { return (lhs.hi == 0) && (lhs.lo == rhs); } ++_STLP_TEMPLATE_NULL inline bool operator==(const _compound_int& lhs, const _compound_int& rhs) { return (lhs.hi == rhs.hi) && (lhs.lo == rhs.lo); } ++_STLP_TEMPLATE_NULL inline bool operator< (const _compound_int& lhs, const _compound_int& rhs) { return U64Compare( lhs, rhs ) < 0; } ++_STLP_TEMPLATE_NULL inline bool operator==(const _compound_int& lhs, unsigned long rhs) { return (lhs.hi == 0) && (lhs.lo == rhs); } + + // Unary non-member arithmetic operators. +-__STL_TEMPLATE_NULL inline unsigned long to_ulong(const _compound_int& val) { return val.lo; } +-__STL_TEMPLATE_NULL inline _compound_int operator~(const _compound_int& val) { return U64BitwiseNot( val ); } +-__STL_TEMPLATE_NULL inline bool operator!(const _compound_int& val) { return !((val.hi == 0) && (val.lo == 0)); } ++_STLP_TEMPLATE_NULL inline unsigned long to_ulong(const _compound_int& val) { return val.lo; } ++_STLP_TEMPLATE_NULL inline _compound_int operator~(const _compound_int& val) { return U64BitwiseNot( val ); } ++_STLP_TEMPLATE_NULL inline bool operator!(const _compound_int& val) { return !((val.hi == 0) && (val.lo == 0)); } + + # endif // TYPE_LONGLONG + #endif // __MRC__ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/vc5.mak tripwire-2.3.1-2/src/STLport-4.0/src/vc5.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/vc5.mak Sat Feb 24 10:44:16 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/vc5.mak Sun Aug 11 18:59:23 2002 +@@ -9,9 +9,12 @@ + LIB_BASENAME=stlport_vc5 + COMP=VC5 + +-EXTRA_COMMON_FLAGS=/D "_MBCS" /D "__STL_NO_FORCE_INSTANTIATE" ++# EXTRA_COMMON_FLAGS=/D "_MBCS" /D "_STLP_NO_FORCE_INSTANTIATE" ++EXTRA_COMMON_FLAGS=/Zm800 /FI "vc_warning_disable.h" /D "_MBCS" ++EXTRA_DEBUG_FLAGS= ++EXTRA_NDEBUG_FLAGS= + +-all: all_static ++all: all_static all_staticx + + !INCLUDE vc_common.mak + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/vc6-unicode.mak tripwire-2.3.1-2/src/STLport-4.0/src/vc6-unicode.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/vc6-unicode.mak Sat Feb 24 10:44:16 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/vc6-unicode.mak Sun Aug 11 18:59:23 2002 +@@ -6,12 +6,15 @@ + CC=cl.exe + RC=rc + +-LIB_BASENAME=stlport_vc6_unicode +-COMP=VC6_UNICODE ++LIB_BASENAME=stlport_vc6 ++COMP=VC6 + +-EXTRA_COMMON_FLAGS=/D "_UNICODE" /D "UNICODE" ++# EXTRA_COMMON_FLAGS=/D "_MBCS" ++EXTRA_COMMON_FLAGS=/Zm800 /FI "vc_warning_disable.h" /D "_MBCS" ++EXTRA_DEBUG_FLAGS= ++EXTRA_NDEBUG_FLAGS= + +-all: all_dynamic all_static ++all: platform all_static all_dynamic + + !INCLUDE vc_common.mak + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/vc6.mak tripwire-2.3.1-2/src/STLport-4.0/src/vc6.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/vc6.mak Sat Feb 24 10:44:16 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/vc6.mak Sun Aug 11 18:59:23 2002 +@@ -4,11 +4,15 @@ + + CXX=cl.exe + CC=cl.exe ++RC=rc + + LIB_BASENAME=stlport_vc6 + COMP=VC6 + +-EXTRA_COMMON_FLAGS=/D "_MBCS" ++# EXTRA_COMMON_FLAGS=/D "_MBCS" ++EXTRA_COMMON_FLAGS=/Zm800 /FI "vc_warning_disable.h" /D "_MBCS" ++EXTRA_DEBUG_FLAGS= ++EXTRA_NDEBUG_FLAGS= + + all: platform all_static all_dynamic + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/vc7.mak tripwire-2.3.1-2/src/STLport-4.0/src/vc7.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/vc7.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/vc7.mak Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,25 @@ ++# ++# STLport makefile for VC++ 7 (.NET) ++# ++ ++CXX=cl.exe ++CC=cl.exe ++RC=rc ++ ++LIB_BASENAME=stlport_vc7 ++COMP=VC7 ++ ++# EXTRA_COMMON_FLAGS=/D "_MBCS" ++EXTRA_COMMON_FLAGS=/FI "vc_warning_disable.h" /D "_MBCS" ++EXTRA_DEBUG_FLAGS= ++EXTRA_NDEBUG_FLAGS= ++ ++all: platform all_static all_dynamic ++ ++!INCLUDE vc_common.mak ++ ++# ++# ++ ++ ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/vc_common.mak tripwire-2.3.1-2/src/STLport-4.0/src/vc_common.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/vc_common.mak Sat Feb 24 10:44:16 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/vc_common.mak Sun Aug 11 18:59:23 2002 +@@ -1,80 +1,115 @@ +-# +-# +- +-!IF "$(OS)" == "Windows_NT" +-NULL= +-!ELSE +-NULL=nul +-!ENDIF +- +- +-# +-# Tools +-# +- +-# RSC=rc.exe +-LINK=lib.exe +-DYN_LINK=link.exe +-OBJEXT=obj +-DYNEXT=dll +-STEXT=lib +-RM=-rd /S /Q +- +-PATH_SEP=\\ +- +-MKDIR=-mkdir +-LINK_OUT=/out: +-DYNLINK_OUT=/out: +-STATIC_SUFFIX=_static +-INSTALL_STEP=do_install +- +-!include common_macros.mak +- +-# +-# +-# Flags +-# +- +-FLAGS_COMMON =/Zm800 /nologo /W3 /GR /GX /FI "vc_warning_disable.h" /D "WIN32" /D "_WINDOWS" /I "$(STLPORT_DIR)" /D "__SGI_STL_OWN_IOSTREAMS" $(EXTRA_COMMON_FLAGS) +- +-FLAGS_COMMON_static = $(FLAGS_COMMON) /D "_LIB" /FD +-FLAGS_COMMON_dynamic = $(FLAGS_COMMON) /D "_USRDLL" +- +- +-LDFLAGS_COMMON_static=/nologo /machine:I386 +-LDFLAGS_COMMON_dynamic=/nologo /dll /incremental:no /machine:I386 +- +-CXXFLAGS_DEBUG_static=$(FLAGS_COMMON_static) /MTd /Zi /Yd /Gm /Od /D "_DEBUG" /Fo"$(DEBUG_OBJDIR_static)\\" /Fd"$(DEBUG_OBJDIR_static)\\" /YXstlport_prefix.h /Fp$(DEBUG_OBJDIR_static)\stlport.pch /c +- +-CXXFLAGS_DEBUG_dynamic=$(FLAGS_COMMON_dynamic) /MDd /Zi /Yd /Gm /Od /D "_DEBUG" /Fo"$(DEBUG_OBJDIR_dynamic)\\" /Fd"$(DEBUG_OBJDIR_dynamic)\\" /YXstlport_prefix.h /Fp$(DEBUG_OBJDIR_dynamic)\stlport.pch /c +- +-CXXFLAGS_STLDEBUG_static=$(FLAGS_COMMON_static) /MTd /Zi /Yd /Gm /Od /D "_DEBUG" /D "__STL_DEBUG" /Fo"$(STLDEBUG_OBJDIR_static)\\" /Fd"$(STLDEBUG_OBJDIR_static)\\" /YXstlport_prefix.h /Fp$(STLDEBUG_OBJDIR_static)\stlport.pch /c +- +-CXXFLAGS_STLDEBUG_dynamic=$(FLAGS_COMMON_dynamic) /MDd /Zi /Yd /Gm /Od /D "_DEBUG" /D "__STL_DEBUG" /Fo"$(STLDEBUG_OBJDIR_dynamic)\\" /Fd"$(STLDEBUG_OBJDIR_dynamic)\\" /YXstlport_prefix.h /Fp$(STLDEBUG_OBJDIR_dynamic)\stlport.pch /c +- +-LDFLAGS_DEBUG_static=$(LDFLAGS_COMMON_static) /NODEFAULTLIB:MTD /DEBUGTYPE:CV +-LDFLAGS_DEBUG_dynamic=$(LDFLAGS_COMMON_dynamic) /DEBUG /DEBUGTYPE:CV /implib:"$(OUTDIR)\$(DEBUG_NAME).$(STEXT)" +- +-LDFLAGS_STLDEBUG_static=$(LDFLAGS_COMMON_static) /NODEFAULTLIB:MTD /DEBUGTYPE:CV +-LDFLAGS_STLDEBUG_dynamic=$(LDFLAGS_COMMON_dynamic) /DEBUG /DEBUGTYPE:CV /implib:"$(OUTDIR)\$(STLDEBUG_NAME).$(STEXT)" +- +-CXXFLAGS_RELEASE_static=$(FLAGS_COMMON_static) /O2 /MT /D "NDEBUG" /Fo"$(RELEASE_OBJDIR_static)\\" /Fd"$(RELEASE_OBJDIR_static)\\" /YXstlport_prefix.h /Fp$(RELEASE_OBJDIR_static)\stlport.pch /c +- +-CXXFLAGS_RELEASE_dynamic=$(FLAGS_COMMON_dynamic) /O2 /MD /D "NDEBUG" /Fo"$(RELEASE_OBJDIR_dynamic)\\" /Fd"$(RELEASE_OBJDIR_dynamic)\\" /YXstlport_prefix.h /Fp$(RELEASE_OBJDIR_dynamic)\stlport.pch /c +- +-LDFLAGS_RELEASE_static=$(LDFLAGS_COMMON_static) +-LDFLAGS_RELEASE_dynamic=$(LDFLAGS_COMMON_dynamic) /implib:"$(OUTDIR)\$(RELEASE_NAME).$(STEXT)" +- +-RESFILE=$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)stlport.res +-RESFILE_debug=$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)stlport.res +-RESFILE_stldebug=$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)stlport.res +- +- +-# +-# Rules +-# +- +-!include common_rules.mak +- +-!include nmake_common.mak +- ++# ++# ++ ++ ++# ++# Tools ++# ++ ++#Default tools ++ ++!IF "$(CC)" == "" ++CC=cl.exe ++!ENDIF ++!IF "$(CXX)" == "" ++CXX=cl.exe ++!ENDIF ++!IF "$(DYN_LINK)" == "" ++DYN_LINK=link.exe ++!ENDIF ++!IF "$(LINK)" == "" ++LINK=lib.exe ++!ENDIF ++ ++#Files extension ++ ++OBJEXT=obj ++DYNEXT=dll ++STEXT=lib ++ ++PATH_SEP=\\ ++ ++MKDIR=-mkdir ++LINK_OUT=/out: ++DYNLINK_OUT=/out: ++STATIC_SUFFIX=_static ++INSTALL_STEP=install_vc ++ ++!include common_macros_windows.mak ++ ++!IF "$(OS)" == "Windows_NT" ++NULL= ++RM=-rd /S /Q ++!ELSE ++RM=-deltree /Y ++NULL=nul ++!ENDIF ++ ++ ++# ++# Flags ++# ++ ++# FLAGS_COMMON =/nologo /c /W3 /GR /GX /D "WIN32" /D "_WINDOWS" /I "$(STLPORT_DIR)" $(EXTRA_COMMON_FLAGS) ++FLAGS_COMMON =/nologo /c /Zi /W3 /GR /GX /D "WIN32" /D "_WINDOWS" /I "$(STLPORT_DIR)" $(EXTRA_COMMON_FLAGS) ++FLAGS_COMMON_static = $(FLAGS_COMMON) /FD /D "_STLP_NO_FORCE_INSTANTIATE" ++FLAGS_COMMON_dynamic = $(FLAGS_COMMON) ++ ++FLAGS_DEBUG=/Gm /Od /D_DEBUG $(EXTRA_DEBUG_FLAGS) ++# FLAGS_DEBUG=/Zi /Gm /Od /D_DEBUG $(EXTRA_DEBUG_FLAGS) ++FLAGS_NDEBUG=/O2 /DNDEBUG $(EXTRA_NDEBUG_FLAGS) ++ ++LDFLAGS_COMMON=/nologo /machine:I386 /debugtype:cv ++LDFLAGS_DEBUG=/debug ++LDFLAGS_RELEASE=/opt:ref ++ ++LDFLAGS_COMMON_static=$(LDFLAGS_COMMON) ++LDFLAGS_COMMON_dynamic=$(LDFLAGS_COMMON) /dll /incremental:no ++ ++ ++CXXFLAGS_DEBUG_static=$(FLAGS_COMMON_static) /MTd $(FLAGS_DEBUG) /Fo"$(DEBUG_OBJDIR_static)\\" /Fd"$(DEBUG_OBJDIR_static)\\" /YXstlport_prefix.h /Fp$(DEBUG_OBJDIR_static)\stlport.pch ++ ++CXXFLAGS_DEBUG_staticx=$(FLAGS_COMMON_static) /MDd $(FLAGS_DEBUG) /Fo"$(DEBUG_OBJDIR_staticx)\\" /Fd"$(DEBUG_OBJDIR_staticx)\\" /YXstlport_prefix.h /Fp$(DEBUG_OBJDIR_staticx)\stlport.pch ++ ++CXXFLAGS_DEBUG_dynamic=$(FLAGS_COMMON_dynamic) /MDd $(FLAGS_DEBUG) /Fo"$(DEBUG_OBJDIR_dynamic)\\" /Fd"$(DEBUG_OBJDIR_dynamic)\\" /YXstlport_prefix.h /Fp$(DEBUG_OBJDIR_dynamic)\stlport.pch ++ ++CXXFLAGS_STLDEBUG_static=$(FLAGS_COMMON_static) /MTd $(FLAGS_DEBUG) /D "_STLP_DEBUG" /Fo"$(STLDEBUG_OBJDIR_static)\\" /Fd"$(STLDEBUG_OBJDIR_static)\\" /YXstlport_prefix.h /Fp$(STLDEBUG_OBJDIR_static)\stlport.pch ++ ++CXXFLAGS_STLDEBUG_staticx=$(FLAGS_COMMON_static) /MDd $(FLAGS_DEBUG) /D "_STLP_DEBUG" /Fo"$(STLDEBUG_OBJDIR_staticx)\\" /Fd"$(STLDEBUG_OBJDIR_staticx)\\" /YXstlport_prefix.h /Fp$(STLDEBUG_OBJDIR_staticx)\stlport.pch ++ ++CXXFLAGS_STLDEBUG_dynamic=$(FLAGS_COMMON_dynamic) /MDd $(FLAGS_DEBUG) /D "_STLP_DEBUG" /Fo"$(STLDEBUG_OBJDIR_dynamic)\\" /Fd"$(STLDEBUG_OBJDIR_dynamic)\\" /YXstlport_prefix.h /Fp$(STLDEBUG_OBJDIR_dynamic)\stlport.pch ++ ++ ++LDFLAGS_DEBUG_static=$(LDFLAGS_COMMON_static) ++LDFLAGS_DEBUG_dynamic=$(LDFLAGS_COMMON_dynamic) $(LDFLAGS_DEBUG) /implib:"$(OUTDIR)\$(DEBUG_NAME).$(STEXT)" ++LDFLAGS_STLDEBUG_static=$(LDFLAGS_COMMON_static) ++LDFLAGS_STLDEBUG_dynamic=$(LDFLAGS_COMMON_dynamic) $(LDFLAGS_DEBUG) /implib:"$(OUTDIR)\$(STLDEBUG_NAME).$(STEXT)" ++ ++# LDFLAGS_DEBUG_static=$(LDFLAGS_COMMON_static) /DEBUGTYPE:CV ++# LDFLAGS_DEBUG_dynamic=$(LDFLAGS_COMMON_dynamic) /DEBUG /DEBUGTYPE:CV /implib:"$(OUTDIR)\$(DEBUG_NAME).$(STEXT)" ++# LDFLAGS_STLDEBUG_static=$(LDFLAGS_COMMON_static) /DEBUGTYPE:CV ++# LDFLAGS_STLDEBUG_dynamic=$(LDFLAGS_COMMON_dynamic) /DEBUG /DEBUGTYPE:CV /implib:"$(OUTDIR)\$(STLDEBUG_NAME).$(STEXT)" ++ ++CXXFLAGS_RELEASE_static=$(FLAGS_COMMON_static) /MT $(FLAGS_NDEBUG) /Fo"$(RELEASE_OBJDIR_static)\\" /Fd"$(RELEASE_OBJDIR_static)\\" /YXstlport_prefix.h /Fp$(RELEASE_OBJDIR_static)\stlport.pch ++ ++CXXFLAGS_RELEASE_staticx=$(FLAGS_COMMON_static) /MD $(FLAGS_NDEBUG) /Fo"$(RELEASE_OBJDIR_staticx)\\" /Fd"$(RELEASE_OBJDIR_staticx)\\" /YXstlport_prefix.h /Fp$(RELEASE_OBJDIR_staticx)\stlport.pch ++ ++CXXFLAGS_RELEASE_dynamic=$(FLAGS_COMMON_dynamic) /MD $(FLAGS_NDEBUG) /Fo"$(RELEASE_OBJDIR_dynamic)\\" /Fd"$(RELEASE_OBJDIR_dynamic)\\" /YXstlport_prefix.h /Fp$(RELEASE_OBJDIR_dynamic)\stlport.pch ++ ++LDFLAGS_RELEASE_static=$(LDFLAGS_COMMON_static) ++LDFLAGS_RELEASE_dynamic=$(LDFLAGS_COMMON_dynamic) $(LDFLAGS_RELEASE) /implib:"$(OUTDIR)\$(RELEASE_NAME).$(STEXT)" ++# LDFLAGS_RELEASE_dynamic=$(LDFLAGS_COMMON_dynamic) /implib:"$(OUTDIR)\$(RELEASE_NAME).$(STEXT)" ++ ++RESFILE=$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)stlport.res ++RESFILE_debug=$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)stlport.res ++RESFILE_stldebug=$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)stlport.res ++ ++ ++# ++# Rules ++# ++ ++!include common_rules.mak ++ ++!include nmake_common.mak ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/vc_warning_disable.h tripwire-2.3.1-2/src/STLport-4.0/src/vc_warning_disable.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/vc_warning_disable.h Sat Feb 24 10:44:16 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/vc_warning_disable.h Sun Aug 11 18:59:23 2002 +@@ -12,3 +12,12 @@ + #pragma warning( disable : 4670) // throwing class with private base class + #pragma warning( disable : 4018) // signed/unsigned mismatch + #pragma warning( disable : 4505 ) // unreferenced local function has been removed ++#pragma warning( disable : 4146 ) // unary minus applied to unsigned type ++#pragma warning( disable : 4244 ) // arithmetic conversion - possible loss of data ++#pragma warning( disable : 4290 ) // c++ exception specification ignored ++ ++// dwa 1/28/00 - actually I think this may indicate real bugs. We should look ++// into these ++#pragma warning( disable : 4018 ) // signed/unsigned mismatch ++#pragma warning( disable : 4251 ) // DLL interface needed ++#pragma warning( disable : 4284 ) // for -> operator +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/watcom-qnx.mak tripwire-2.3.1-2/src/STLport-4.0/src/watcom-qnx.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/watcom-qnx.mak Sat Feb 24 10:44:17 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/watcom-qnx.mak Sun Aug 11 18:59:23 2002 +@@ -23,19 +23,20 @@ + PATH_SEP=/ + MKDIR=mkdir -p + COMP=WATCOM ++INSTALL_STEP = install_unix + +-all: all_dynamic all_static ++all: all_dynamic symbolic_links all_static + + CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} + + CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O2 + CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -O2 + +-CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -g +-CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -g ++CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -O -g ++CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -O -g + +-CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D__STL_DEBUG +-CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D__STL_DEBUG ++CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG ++CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG + + include common_percent_rules.mak + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/xlC50.mak tripwire-2.3.1-2/src/STLport-4.0/src/xlC50.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/src/xlC50.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/src/xlC50.mak Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,43 @@ ++# ++# compiler ++# ++CC = xlc_r -qcpluscmt ++CXX = xlC_r -qnotempinc ++ ++# ++# Basename for libraries ++# ++LIB_BASENAME = libstlport_xlC50 ++ ++# ++# guts for common stuff ++# ++# ++ ++LINK=ar crv ++ ++OBJEXT=o ++DYNEXT=so ++STEXT=a ++RM=rm -rf ++PATH_SEP=/ ++MKDIR=mkdir -p ++COMP=XLC50-AIX ++INSTALL_STEP = install_unix ++ ++# Alex Vanic, 07Aug2001, only want static libraries. ++all: all_static ++ ++include common_macros.mak ++ ++CXXFLAGS_COMMON = -I${STLPORT_DIR} ++ ++CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O2 ++ ++CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -O -g ++ ++CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG ++ ++include common_percent_rules.mak ++include common_rules.mak ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/cstring.h tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/cstring.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/cstring.h Sat Feb 24 10:44:26 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/cstring.h Sun Aug 11 18:59:23 2002 +@@ -1,54 +1,54 @@ +-using __STL_VENDOR_CSTD::size_t; ++using _STLP_VENDOR_CSTD::size_t; + +-# ifndef __STL_NO_CSTD_FUNCTION_IMPORTS ++# ifndef _STLP_NO_CSTD_FUNCTION_IMPORTS + # if defined(__MSL__) && __MC68K__ && !_No_BlockMove && __dest_os == __mac_os + # undef memcpy + # undef memmove + inline void* memcpy(void* dst, const void* src, size_t len) + { +- return __STL_VENDOR_CSTD::__memcpy(dst, src, len); ++ return _STLP_VENDOR_CSTD::__memcpy(dst, src, len); + } + inline void* memmove(void* dst, const void* src, size_t len) + { +- return __STL_VENDOR_CSTD::__memmove(dst, src, len); ++ return _STLP_VENDOR_CSTD::__memmove(dst, src, len); + } + # else + +- using __STL_VENDOR_CSTD::memmove; +- using __STL_VENDOR_CSTD::memcpy; ++ using _STLP_VENDOR_CSTD::memmove; ++ using _STLP_VENDOR_CSTD::memcpy; + + # endif + + # if ! defined (__BORLANDC__) +-using __STL_VENDOR_CSTD::memchr; +-using __STL_VENDOR_CSTD::strchr; +-using __STL_VENDOR_CSTD::strpbrk; +-using __STL_VENDOR_CSTD::strrchr; +-using __STL_VENDOR_CSTD::strstr; ++using _STLP_VENDOR_CSTD::memchr; ++using _STLP_VENDOR_CSTD::strchr; ++using _STLP_VENDOR_CSTD::strpbrk; ++using _STLP_VENDOR_CSTD::strrchr; ++using _STLP_VENDOR_CSTD::strstr; + # endif + +-using __STL_VENDOR_CSTD::memcmp; +-using __STL_VENDOR_CSTD::memset; ++using _STLP_VENDOR_CSTD::memcmp; ++using _STLP_VENDOR_CSTD::memset; + +-using __STL_VENDOR_CSTD::strcat; ++using _STLP_VENDOR_CSTD::strcat; + + # if !defined (strcmp) +-using __STL_VENDOR_CSTD::strcmp; ++using _STLP_VENDOR_CSTD::strcmp; + # endif + +-using __STL_VENDOR_CSTD::strcoll; ++using _STLP_VENDOR_CSTD::strcoll; + # if !defined (strcpy) +-using __STL_VENDOR_CSTD::strcpy; ++using _STLP_VENDOR_CSTD::strcpy; + # endif +-using __STL_VENDOR_CSTD::strcspn; +-using __STL_VENDOR_CSTD::strerror; +-using __STL_VENDOR_CSTD::strlen; +-using __STL_VENDOR_CSTD::strncat; +-using __STL_VENDOR_CSTD::strncmp; +- +-using __STL_VENDOR_CSTD::strncpy; +-using __STL_VENDOR_CSTD::strspn; +- +-using __STL_VENDOR_CSTD::strtok; +-using __STL_VENDOR_CSTD::strxfrm; +-# endif /* __STL_NO_CSTD_FUNCTION_IMPORTS */ ++using _STLP_VENDOR_CSTD::strcspn; ++using _STLP_VENDOR_CSTD::strerror; ++using _STLP_VENDOR_CSTD::strlen; ++using _STLP_VENDOR_CSTD::strncat; ++using _STLP_VENDOR_CSTD::strncmp; ++ ++using _STLP_VENDOR_CSTD::strncpy; ++using _STLP_VENDOR_CSTD::strspn; ++ ++using _STLP_VENDOR_CSTD::strtok; ++using _STLP_VENDOR_CSTD::strxfrm; ++# endif /* _STLP_NO_CSTD_FUNCTION_IMPORTS */ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/fstream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/fstream.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/fstream.h Sat Feb 24 10:44:26 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/fstream.h Sun Aug 11 18:59:23 2002 +@@ -1,19 +1,19 @@ +-#ifdef __STL_BROKEN_USING_DIRECTIVE +-using namespace __STLPORT_STD; ++#ifdef _STLP_BROKEN_USING_DIRECTIVE ++using namespace _STLP_STD; + #else +-using __STL_NEW_IO_NAMESPACE::basic_filebuf; +-using __STL_NEW_IO_NAMESPACE::filebuf; +-using __STL_NEW_IO_NAMESPACE::basic_ifstream; +-using __STL_NEW_IO_NAMESPACE::basic_ofstream; +-using __STL_NEW_IO_NAMESPACE::ifstream; +-using __STL_NEW_IO_NAMESPACE::ofstream; +-using __STL_NEW_IO_NAMESPACE::basic_fstream; +-using __STL_NEW_IO_NAMESPACE::fstream; ++using _STLP_NEW_IO_NAMESPACE::basic_filebuf; ++using _STLP_NEW_IO_NAMESPACE::filebuf; ++using _STLP_NEW_IO_NAMESPACE::basic_ifstream; ++using _STLP_NEW_IO_NAMESPACE::basic_ofstream; ++using _STLP_NEW_IO_NAMESPACE::ifstream; ++using _STLP_NEW_IO_NAMESPACE::ofstream; ++using _STLP_NEW_IO_NAMESPACE::basic_fstream; ++using _STLP_NEW_IO_NAMESPACE::fstream; + +-# ifndef __STL_NO_WIDE_STREAMS +-using __STL_NEW_IO_NAMESPACE::wofstream; +-using __STL_NEW_IO_NAMESPACE::wfilebuf; +-using __STL_NEW_IO_NAMESPACE::wifstream; +-using __STL_NEW_IO_NAMESPACE::wfstream; ++# ifndef _STLP_NO_WIDE_STREAMS ++using _STLP_NEW_IO_NAMESPACE::wofstream; ++using _STLP_NEW_IO_NAMESPACE::wfilebuf; ++using _STLP_NEW_IO_NAMESPACE::wifstream; ++using _STLP_NEW_IO_NAMESPACE::wfstream; + # endif +-#endif +\ No newline at end of file ++#endif +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/iomanip.h tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/iomanip.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/iomanip.h Sat Feb 24 10:44:26 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/iomanip.h Sun Aug 11 18:59:23 2002 +@@ -1,6 +1,6 @@ +-using __STL_NEW_IO_NAMESPACE::setiosflags; +-using __STL_NEW_IO_NAMESPACE::resetiosflags; +-using __STL_NEW_IO_NAMESPACE::setbase; +-using __STL_NEW_IO_NAMESPACE::setfill; +-using __STL_NEW_IO_NAMESPACE::setprecision; +-using __STL_NEW_IO_NAMESPACE::setw; ++using _STLP_NEW_IO_NAMESPACE::setiosflags; ++using _STLP_NEW_IO_NAMESPACE::resetiosflags; ++using _STLP_NEW_IO_NAMESPACE::setbase; ++using _STLP_NEW_IO_NAMESPACE::setfill; ++using _STLP_NEW_IO_NAMESPACE::setprecision; ++using _STLP_NEW_IO_NAMESPACE::setw; +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/ios.h tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/ios.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/ios.h Sat Feb 24 10:44:26 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/ios.h Sun Aug 11 18:59:23 2002 +@@ -1,41 +1,41 @@ +-# ifdef __STL_BROKEN_USING_DIRECTIVE +-using namespace __STL_NEW_IO_NAMESPACE; ++# ifdef _STLP_BROKEN_USING_DIRECTIVE ++using namespace _STLP_NEW_IO_NAMESPACE; + # else + +-using __STL_NEW_IO_NAMESPACE::ios; +-using __STL_NEW_IO_NAMESPACE::streamoff; +-using __STL_NEW_IO_NAMESPACE::streamsize; ++using _STLP_NEW_IO_NAMESPACE::ios; ++using _STLP_NEW_IO_NAMESPACE::streamoff; ++using _STLP_NEW_IO_NAMESPACE::streamsize; + +-using __STL_NEW_IO_NAMESPACE::ios_base; +-using __STL_NEW_IO_NAMESPACE::basic_ios; ++using _STLP_NEW_IO_NAMESPACE::ios_base; ++using _STLP_NEW_IO_NAMESPACE::basic_ios; + + // _lib.std.ios.manip_, manipulators: +-using __STL_NEW_IO_NAMESPACE::boolalpha; +-using __STL_NEW_IO_NAMESPACE::noboolalpha; +-using __STL_NEW_IO_NAMESPACE::showbase; +-using __STL_NEW_IO_NAMESPACE::noshowbase; +-using __STL_NEW_IO_NAMESPACE::showpoint; +-using __STL_NEW_IO_NAMESPACE::noshowpoint; +-using __STL_NEW_IO_NAMESPACE::showpos; +-using __STL_NEW_IO_NAMESPACE::noshowpos; +-using __STL_NEW_IO_NAMESPACE::skipws; +-using __STL_NEW_IO_NAMESPACE::noskipws; +-using __STL_NEW_IO_NAMESPACE::uppercase; +-using __STL_NEW_IO_NAMESPACE::nouppercase; ++using _STLP_NEW_IO_NAMESPACE::boolalpha; ++using _STLP_NEW_IO_NAMESPACE::noboolalpha; ++using _STLP_NEW_IO_NAMESPACE::showbase; ++using _STLP_NEW_IO_NAMESPACE::noshowbase; ++using _STLP_NEW_IO_NAMESPACE::showpoint; ++using _STLP_NEW_IO_NAMESPACE::noshowpoint; ++using _STLP_NEW_IO_NAMESPACE::showpos; ++using _STLP_NEW_IO_NAMESPACE::noshowpos; ++using _STLP_NEW_IO_NAMESPACE::skipws; ++using _STLP_NEW_IO_NAMESPACE::noskipws; ++using _STLP_NEW_IO_NAMESPACE::uppercase; ++using _STLP_NEW_IO_NAMESPACE::nouppercase; + + // _lib.adjustfield.manip_ adjustfield: +-using __STL_NEW_IO_NAMESPACE::internal; +-using __STL_NEW_IO_NAMESPACE::left; +-using __STL_NEW_IO_NAMESPACE::right; ++using _STLP_NEW_IO_NAMESPACE::internal; ++using _STLP_NEW_IO_NAMESPACE::left; ++using _STLP_NEW_IO_NAMESPACE::right; + + // _lib.basefield.manip_ basefield: +-using __STL_NEW_IO_NAMESPACE::dec; +-using __STL_NEW_IO_NAMESPACE::hex; +-using __STL_NEW_IO_NAMESPACE::oct; ++using _STLP_NEW_IO_NAMESPACE::dec; ++using _STLP_NEW_IO_NAMESPACE::hex; ++using _STLP_NEW_IO_NAMESPACE::oct; + + // _lib.floatfield.manip_ floatfield: +-using __STL_NEW_IO_NAMESPACE::fixed; +-using __STL_NEW_IO_NAMESPACE::scientific; ++using _STLP_NEW_IO_NAMESPACE::fixed; ++using _STLP_NEW_IO_NAMESPACE::scientific; + +-# endif /* __STL_BROKEN_USING_DIRECTIVE */ ++# endif /* _STLP_BROKEN_USING_DIRECTIVE */ + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/iosfwd.h tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/iosfwd.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/iosfwd.h Sat Feb 24 10:44:27 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/iosfwd.h Sun Aug 11 18:59:23 2002 +@@ -1,54 +1,54 @@ +-# if defined (__STL_USE_NEW_IOSTREAMS) +-using __STL_NEW_IO_NAMESPACE::char_traits; +-using __STL_NEW_IO_NAMESPACE::basic_ios; +-using __STL_NEW_IO_NAMESPACE::basic_streambuf; +-using __STL_NEW_IO_NAMESPACE::basic_istream; +-using __STL_NEW_IO_NAMESPACE::basic_ostream; +-using __STL_NEW_IO_NAMESPACE::basic_iostream; +-using __STL_NEW_IO_NAMESPACE::basic_stringbuf; +-using __STL_NEW_IO_NAMESPACE::basic_istringstream; +-using __STL_NEW_IO_NAMESPACE::basic_ostringstream; +-using __STL_NEW_IO_NAMESPACE::basic_stringstream; +-using __STL_NEW_IO_NAMESPACE::basic_filebuf; +-using __STL_NEW_IO_NAMESPACE::basic_ifstream; +-using __STL_NEW_IO_NAMESPACE::basic_ofstream; +-using __STL_NEW_IO_NAMESPACE::basic_fstream; +-using __STL_NEW_IO_NAMESPACE::fpos; +-using __STL_NEW_IO_NAMESPACE::istreambuf_iterator; +-using __STL_NEW_IO_NAMESPACE::ostreambuf_iterator; +-using __STL_NEW_IO_NAMESPACE::stringbuf; +-using __STL_NEW_IO_NAMESPACE::istringstream; +-using __STL_NEW_IO_NAMESPACE::ostringstream; +-using __STL_NEW_IO_NAMESPACE::stringstream; ++# if defined (_STLP_USE_NEW_IOSTREAMS) ++using _STLP_NEW_IO_NAMESPACE::char_traits; ++using _STLP_NEW_IO_NAMESPACE::basic_ios; ++using _STLP_NEW_IO_NAMESPACE::basic_streambuf; ++using _STLP_NEW_IO_NAMESPACE::basic_istream; ++using _STLP_NEW_IO_NAMESPACE::basic_ostream; ++using _STLP_NEW_IO_NAMESPACE::basic_iostream; ++using _STLP_NEW_IO_NAMESPACE::basic_stringbuf; ++using _STLP_NEW_IO_NAMESPACE::basic_istringstream; ++using _STLP_NEW_IO_NAMESPACE::basic_ostringstream; ++using _STLP_NEW_IO_NAMESPACE::basic_stringstream; ++using _STLP_NEW_IO_NAMESPACE::basic_filebuf; ++using _STLP_NEW_IO_NAMESPACE::basic_ifstream; ++using _STLP_NEW_IO_NAMESPACE::basic_ofstream; ++using _STLP_NEW_IO_NAMESPACE::basic_fstream; ++using _STLP_NEW_IO_NAMESPACE::fpos; ++using _STLP_NEW_IO_NAMESPACE::istreambuf_iterator; ++using _STLP_NEW_IO_NAMESPACE::ostreambuf_iterator; ++using _STLP_NEW_IO_NAMESPACE::stringbuf; ++using _STLP_NEW_IO_NAMESPACE::istringstream; ++using _STLP_NEW_IO_NAMESPACE::ostringstream; ++using _STLP_NEW_IO_NAMESPACE::stringstream; + # endif + +-using __STL_NEW_IO_NAMESPACE::ios; +-using __STL_NEW_IO_NAMESPACE::streambuf; +-using __STL_NEW_IO_NAMESPACE::istream; +-using __STL_NEW_IO_NAMESPACE::ostream; +-using __STL_NEW_IO_NAMESPACE::iostream; ++using _STLP_NEW_IO_NAMESPACE::ios; ++using _STLP_NEW_IO_NAMESPACE::streambuf; ++using _STLP_NEW_IO_NAMESPACE::istream; ++using _STLP_NEW_IO_NAMESPACE::ostream; ++using _STLP_NEW_IO_NAMESPACE::iostream; + +-using __STL_NEW_IO_NAMESPACE::filebuf; +-using __STL_NEW_IO_NAMESPACE::ifstream; +-using __STL_NEW_IO_NAMESPACE::ofstream; +-using __STL_NEW_IO_NAMESPACE::fstream; ++using _STLP_NEW_IO_NAMESPACE::filebuf; ++using _STLP_NEW_IO_NAMESPACE::ifstream; ++using _STLP_NEW_IO_NAMESPACE::ofstream; ++using _STLP_NEW_IO_NAMESPACE::fstream; + +-using __STL_NEW_IO_NAMESPACE::streampos; +-using __STL_NEW_IO_NAMESPACE::streamoff; ++using _STLP_NEW_IO_NAMESPACE::streampos; ++using _STLP_NEW_IO_NAMESPACE::streamoff; + +-# if !defined (__STL_NO_WIDE_STREAMS) +-using __STL_NEW_IO_NAMESPACE::wios; +-using __STL_NEW_IO_NAMESPACE::wstreambuf; +-using __STL_NEW_IO_NAMESPACE::wistream; +-using __STL_NEW_IO_NAMESPACE::wostream; +-using __STL_NEW_IO_NAMESPACE::wiostream; +-using __STL_NEW_IO_NAMESPACE::wstringbuf; +-using __STL_NEW_IO_NAMESPACE::wistringstream; +-using __STL_NEW_IO_NAMESPACE::wostringstream; +-using __STL_NEW_IO_NAMESPACE::wstringstream; +-using __STL_NEW_IO_NAMESPACE::wfilebuf; +-using __STL_NEW_IO_NAMESPACE::wifstream; +-using __STL_NEW_IO_NAMESPACE::wofstream; +-using __STL_NEW_IO_NAMESPACE::wfstream; +-using __STL_NEW_IO_NAMESPACE::wstreampos; ++# if !defined (_STLP_NO_WIDE_STREAMS) ++using _STLP_NEW_IO_NAMESPACE::wios; ++using _STLP_NEW_IO_NAMESPACE::wstreambuf; ++using _STLP_NEW_IO_NAMESPACE::wistream; ++using _STLP_NEW_IO_NAMESPACE::wostream; ++using _STLP_NEW_IO_NAMESPACE::wiostream; ++using _STLP_NEW_IO_NAMESPACE::wstringbuf; ++using _STLP_NEW_IO_NAMESPACE::wistringstream; ++using _STLP_NEW_IO_NAMESPACE::wostringstream; ++using _STLP_NEW_IO_NAMESPACE::wstringstream; ++using _STLP_NEW_IO_NAMESPACE::wfilebuf; ++using _STLP_NEW_IO_NAMESPACE::wifstream; ++using _STLP_NEW_IO_NAMESPACE::wofstream; ++using _STLP_NEW_IO_NAMESPACE::wfstream; ++using _STLP_NEW_IO_NAMESPACE::wstreampos; + # endif +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/iostream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/iostream.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/iostream.h Sat Feb 24 10:44:27 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/iostream.h Sun Aug 11 18:59:23 2002 +@@ -1,11 +1,11 @@ +-using __STL_VENDOR_STD::cin; +-using __STL_VENDOR_STD::cout; +-using __STL_VENDOR_STD::cerr; +-using __STL_VENDOR_STD::clog; ++using _STLP_VENDOR_STD::cin; ++using _STLP_VENDOR_STD::cout; ++using _STLP_VENDOR_STD::cerr; ++using _STLP_VENDOR_STD::clog; + +-# if ! defined (__STL_NO_WIDE_STREAMS) +-using __STL_VENDOR_STD::wcin; +-using __STL_VENDOR_STD::wcout; +-using __STL_VENDOR_STD::wcerr; +-using __STL_VENDOR_STD::wclog; ++# if ! defined (_STLP_NO_WIDE_STREAMS) ++using _STLP_VENDOR_STD::wcin; ++using _STLP_VENDOR_STD::wcout; ++using _STLP_VENDOR_STD::wcerr; ++using _STLP_VENDOR_STD::wclog; + # endif +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/istream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/istream.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/istream.h Sat Feb 24 10:44:27 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/istream.h Sun Aug 11 18:59:23 2002 +@@ -1,15 +1,15 @@ + +-using __STL_NEW_IO_NAMESPACE::basic_istream; +-using __STL_NEW_IO_NAMESPACE::basic_iostream; ++using _STLP_NEW_IO_NAMESPACE::basic_istream; ++using _STLP_NEW_IO_NAMESPACE::basic_iostream; + +-using __STL_NEW_IO_NAMESPACE::istream; +-using __STL_NEW_IO_NAMESPACE::iostream; ++using _STLP_NEW_IO_NAMESPACE::istream; ++using _STLP_NEW_IO_NAMESPACE::iostream; + +-# if !defined (__STL_NO_NATIVE_WIDE_STREAMS) +-using __STL_NEW_IO_NAMESPACE::wistream; +-using __STL_NEW_IO_NAMESPACE::wiostream; ++# if !defined (_STLP_NO_NATIVE_WIDE_STREAMS) ++using _STLP_NEW_IO_NAMESPACE::wistream; ++using _STLP_NEW_IO_NAMESPACE::wiostream; + # endif + +-#if !(defined (__STL_MSVC) && (__STL_MSVC < 1200)) +-using __STL_NEW_IO_NAMESPACE::ws; ++#if !(defined (_STLP_MSVC) && (_STLP_MSVC < 1200)) ++using _STLP_NEW_IO_NAMESPACE::ws; + #endif +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/locale.h tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/locale.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/locale.h Sat Feb 24 10:44:27 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/locale.h Sun Aug 11 18:59:23 2002 +@@ -1,62 +1,62 @@ + // from +-#if !defined (__STL_NO_MBSTATE_T) +-using __STL_VENDOR_MB_NAMESPACE::mbstate_t; ++#if !defined (_STLP_NO_MBSTATE_T) ++using _STLP_VENDOR_MB_NAMESPACE::mbstate_t; + #endif + + // _lib.locale_, locale: +-using __STL_NEW_IO_NAMESPACE::locale; +-using __STL_NEW_IO_NAMESPACE::use_facet; +-using __STL_NEW_IO_NAMESPACE::has_facet; ++using _STLP_NEW_IO_NAMESPACE::locale; ++using _STLP_NEW_IO_NAMESPACE::use_facet; ++using _STLP_NEW_IO_NAMESPACE::has_facet; + + // _lib.locale.convenience_, convenience interfaces: +-using __STL_NEW_IO_NAMESPACE::isspace; +-using __STL_NEW_IO_NAMESPACE::isprint; +-using __STL_NEW_IO_NAMESPACE::iscntrl; +-using __STL_NEW_IO_NAMESPACE::isupper; +-using __STL_NEW_IO_NAMESPACE::islower; +-using __STL_NEW_IO_NAMESPACE::isalpha; +-using __STL_NEW_IO_NAMESPACE::isdigit; +-using __STL_NEW_IO_NAMESPACE::ispunct; +-using __STL_NEW_IO_NAMESPACE::isxdigit; +-using __STL_NEW_IO_NAMESPACE::isalnum; +-using __STL_NEW_IO_NAMESPACE::isgraph; +-using __STL_NEW_IO_NAMESPACE::toupper; +-using __STL_NEW_IO_NAMESPACE::tolower; ++using _STLP_NEW_IO_NAMESPACE::isspace; ++using _STLP_NEW_IO_NAMESPACE::isprint; ++using _STLP_NEW_IO_NAMESPACE::iscntrl; ++using _STLP_NEW_IO_NAMESPACE::isupper; ++using _STLP_NEW_IO_NAMESPACE::islower; ++using _STLP_NEW_IO_NAMESPACE::isalpha; ++using _STLP_NEW_IO_NAMESPACE::isdigit; ++using _STLP_NEW_IO_NAMESPACE::ispunct; ++using _STLP_NEW_IO_NAMESPACE::isxdigit; ++using _STLP_NEW_IO_NAMESPACE::isalnum; ++using _STLP_NEW_IO_NAMESPACE::isgraph; ++using _STLP_NEW_IO_NAMESPACE::toupper; ++using _STLP_NEW_IO_NAMESPACE::tolower; + + // _lib.category.ctype_ and _lib.facet.ctype.special_, ctype: +-using __STL_NEW_IO_NAMESPACE::ctype_base; +-using __STL_NEW_IO_NAMESPACE::ctype; +-using __STL_NEW_IO_NAMESPACE::ctype_byname; +-using __STL_NEW_IO_NAMESPACE::codecvt_base; +-using __STL_NEW_IO_NAMESPACE::codecvt; +-using __STL_NEW_IO_NAMESPACE::codecvt_byname; ++using _STLP_NEW_IO_NAMESPACE::ctype_base; ++using _STLP_NEW_IO_NAMESPACE::ctype; ++using _STLP_NEW_IO_NAMESPACE::ctype_byname; ++using _STLP_NEW_IO_NAMESPACE::codecvt_base; ++using _STLP_NEW_IO_NAMESPACE::codecvt; ++using _STLP_NEW_IO_NAMESPACE::codecvt_byname; + + // _lib.category.numeric_ and _lib.facet.numpunct_, numeric: +-using __STL_NEW_IO_NAMESPACE::num_get; +-using __STL_NEW_IO_NAMESPACE::num_put; +-using __STL_NEW_IO_NAMESPACE::numpunct; +-using __STL_NEW_IO_NAMESPACE::numpunct_byname; ++using _STLP_NEW_IO_NAMESPACE::num_get; ++using _STLP_NEW_IO_NAMESPACE::num_put; ++using _STLP_NEW_IO_NAMESPACE::numpunct; ++using _STLP_NEW_IO_NAMESPACE::numpunct_byname; + + // _lib.category.collate_, collation: +-using __STL_NEW_IO_NAMESPACE::collate; +-using __STL_NEW_IO_NAMESPACE::collate_byname; ++using _STLP_NEW_IO_NAMESPACE::collate; ++using _STLP_NEW_IO_NAMESPACE::collate_byname; + + // _lib.category.time_, date and time: +-using __STL_NEW_IO_NAMESPACE::time_base; +-using __STL_NEW_IO_NAMESPACE::time_get; +-using __STL_NEW_IO_NAMESPACE::time_get_byname; +-using __STL_NEW_IO_NAMESPACE::time_put; +-using __STL_NEW_IO_NAMESPACE::time_put_byname; ++using _STLP_NEW_IO_NAMESPACE::time_base; ++using _STLP_NEW_IO_NAMESPACE::time_get; ++using _STLP_NEW_IO_NAMESPACE::time_get_byname; ++using _STLP_NEW_IO_NAMESPACE::time_put; ++using _STLP_NEW_IO_NAMESPACE::time_put_byname; + + // _lib.category.monetary_, money: +-using __STL_NEW_IO_NAMESPACE::money_base; +-using __STL_NEW_IO_NAMESPACE::money_get; +-using __STL_NEW_IO_NAMESPACE::money_put; +-using __STL_NEW_IO_NAMESPACE::moneypunct; +-using __STL_NEW_IO_NAMESPACE::moneypunct_byname; +- +-#if !defined (__SGI_STL_OWN_IOSTREAMS) && !defined (__STL_NO_NATIVE_MESSAGE_FACET) +-using __STL_NEW_IO_NAMESPACE::messages_base; +-using __STL_NEW_IO_NAMESPACE::messages; +-using __STL_NEW_IO_NAMESPACE::messages_byname; ++using _STLP_NEW_IO_NAMESPACE::money_base; ++using _STLP_NEW_IO_NAMESPACE::money_get; ++using _STLP_NEW_IO_NAMESPACE::money_put; ++using _STLP_NEW_IO_NAMESPACE::moneypunct; ++using _STLP_NEW_IO_NAMESPACE::moneypunct_byname; ++ ++#if !defined (_STLP_OWN_IOSTREAMS) && !defined (_STLP_NO_NATIVE_MESSAGE_FACET) ++using _STLP_NEW_IO_NAMESPACE::messages_base; ++using _STLP_NEW_IO_NAMESPACE::messages; ++using _STLP_NEW_IO_NAMESPACE::messages_byname; + #endif // _MSL_NO_MESSAGE_FACET +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/ostream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/ostream.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/ostream.h Sat Feb 24 10:44:27 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/ostream.h Sun Aug 11 18:59:23 2002 +@@ -1,10 +1,10 @@ +-using __STL_NEW_IO_NAMESPACE::basic_ostream; +-using __STL_NEW_IO_NAMESPACE::ostream; ++using _STLP_NEW_IO_NAMESPACE::basic_ostream; ++using _STLP_NEW_IO_NAMESPACE::ostream; + +-# ifndef __STL_NO_WIDE_STREAMS +-using __STL_NEW_IO_NAMESPACE::wostream; ++# ifndef _STLP_NO_WIDE_STREAMS ++using _STLP_NEW_IO_NAMESPACE::wostream; + # endif + +-using __STL_NEW_IO_NAMESPACE::endl; +-using __STL_NEW_IO_NAMESPACE::ends; +-using __STL_NEW_IO_NAMESPACE::flush; ++using _STLP_NEW_IO_NAMESPACE::endl; ++using _STLP_NEW_IO_NAMESPACE::ends; ++using _STLP_NEW_IO_NAMESPACE::flush; +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/sstream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/sstream.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/sstream.h Sat Feb 24 10:44:27 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/sstream.h Sun Aug 11 18:59:23 2002 +@@ -1,16 +1,16 @@ +-using __STL_NEW_IO_NAMESPACE::basic_stringbuf; +-using __STL_NEW_IO_NAMESPACE::stringbuf; ++using _STLP_NEW_IO_NAMESPACE::basic_stringbuf; ++using _STLP_NEW_IO_NAMESPACE::stringbuf; + +-using __STL_NEW_IO_NAMESPACE::basic_istringstream; +-using __STL_NEW_IO_NAMESPACE::basic_ostringstream; +-using __STL_NEW_IO_NAMESPACE::basic_stringstream; +-using __STL_NEW_IO_NAMESPACE::istringstream; +-using __STL_NEW_IO_NAMESPACE::ostringstream; +-using __STL_NEW_IO_NAMESPACE::stringstream; ++using _STLP_NEW_IO_NAMESPACE::basic_istringstream; ++using _STLP_NEW_IO_NAMESPACE::basic_ostringstream; ++using _STLP_NEW_IO_NAMESPACE::basic_stringstream; ++using _STLP_NEW_IO_NAMESPACE::istringstream; ++using _STLP_NEW_IO_NAMESPACE::ostringstream; ++using _STLP_NEW_IO_NAMESPACE::stringstream; + +-#ifndef __STL_NO_WIDE_STREAMS +-using __STL_NEW_IO_NAMESPACE::wstringbuf; +-using __STL_NEW_IO_NAMESPACE::wistringstream; +-using __STL_NEW_IO_NAMESPACE::wostringstream; +-using __STL_NEW_IO_NAMESPACE::wstringstream; ++#ifndef _STLP_NO_WIDE_STREAMS ++using _STLP_NEW_IO_NAMESPACE::wstringbuf; ++using _STLP_NEW_IO_NAMESPACE::wistringstream; ++using _STLP_NEW_IO_NAMESPACE::wostringstream; ++using _STLP_NEW_IO_NAMESPACE::wstringstream; + #endif +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/streambuf.h tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/streambuf.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/streambuf.h Sat Feb 24 10:44:27 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/streambuf.h Sun Aug 11 18:59:23 2002 +@@ -1,5 +1,5 @@ +-using __STL_NEW_IO_NAMESPACE::basic_streambuf; +-using __STL_NEW_IO_NAMESPACE::streambuf; +-#ifndef __STL_NO_WIDE_STREAMS +-using __STL_NEW_IO_NAMESPACE::wstreambuf; ++using _STLP_NEW_IO_NAMESPACE::basic_streambuf; ++using _STLP_NEW_IO_NAMESPACE::streambuf; ++#ifndef _STLP_NO_WIDE_STREAMS ++using _STLP_NEW_IO_NAMESPACE::wstreambuf; + # endif +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/strstream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/strstream.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/strstream.h Sat Feb 24 10:44:27 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/strstream.h Sun Aug 11 18:59:23 2002 +@@ -1,4 +1,4 @@ +-using __STL_NEW_IO_NAMESPACE::strstreambuf; +-using __STL_NEW_IO_NAMESPACE::istrstream; +-using __STL_NEW_IO_NAMESPACE::ostrstream; +-using __STL_NEW_IO_NAMESPACE::strstream; ++using _STLP_NEW_IO_NAMESPACE::strstreambuf; ++using _STLP_NEW_IO_NAMESPACE::istrstream; ++using _STLP_NEW_IO_NAMESPACE::ostrstream; ++using _STLP_NEW_IO_NAMESPACE::strstream; +Only in tripwire-2.3.1-2.old/src/STLport-4.0/stlport/SC5: README +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/algorithm tripwire-2.3.1-2/src/STLport-4.0/stlport/algorithm +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/algorithm Sat Feb 24 10:44:21 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/algorithm Sun Aug 11 18:59:23 2002 +@@ -23,51 +23,33 @@ + * + */ + +-#ifndef __SGI_STL_ALGORITHM +-#define __SGI_STL_ALGORITHM ++#ifndef _STLP_ALGORITHM ++#define _STLP_ALGORITHM + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x1 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x1 + # include + # endif + +-#ifndef __SGI_STL_INTERNAL_ALGOBASE_H +-# include +-#endif +- +-# if ! defined (__STL_USE_NAMESPACES) ++# if ! defined (_STLP_USE_NAMESPACES) + // remove() conflicts, should always go first + # include + # endif + +-# ifndef __SGI_STL_INTERNAL_ALGO_H ++# ifndef _STLP_INTERNAL_ALGO_H + # include + # endif + +-#if defined (__STL_IMPORT_VENDOR_STD) +- +-# if defined(__MSL__) && ( __MSL__ < 0x5201 ) // dwa 2/28/99 - help MSL get its own headers and prevent it from including ours +-# include __STL_NATIVE_HEADER(algobase.h) +-# ifndef __SGI_STL_ALGOBASE_H +-# define __SGI_STL_ALGOBASE_H +-# endif +-# include __STL_NATIVE_HEADER(heap.h) +-# ifndef __SGI_STL_HEAP_H +-# define __SGI_STL_HEAP_H +-# endif +-# endif +- +-# include __STL_NATIVE_HEADER(algorithm) +- +-#endif /* __STL_IMPORT_VENDOR_STD */ +- ++#if defined (_STLP_IMPORT_VENDOR_STD) ++# include _STLP_NATIVE_HEADER(algorithm) ++#endif /* _STLP_IMPORT_VENDOR_STD */ + +-# if (__STL_OUTERMOST_HEADER_ID == 0x1 ) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x1 ) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_ALGORITHM */ ++#endif /* _STLP_ALGORITHM */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/bitset tripwire-2.3.1-2/src/STLport-4.0/stlport/bitset +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/bitset Sat Feb 24 10:44:21 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/bitset Sun Aug 11 18:59:23 2002 +@@ -16,8 +16,8 @@ + * + */ + +-#ifndef __SGI_STL_BITSET +-#define __SGI_STL_BITSET ++#ifndef _STLP_BITSET ++#define _STLP_BITSET + + // This implementation of bitset<> has a second template parameter, + // _WordT, which defaults to unsigned long. *YOU SHOULD NOT USE +@@ -39,23 +39,19 @@ + // to test(), except that it does no range checking. The non-const version + // returns a reference to a bit, again without doing any range checking. + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x2 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x2 + # include + # endif + + # include + +-#if defined (__STL_WHOLE_NATIVE_STD) +-# include __STL_NATIVE_HEADER(bitset) +-#endif +- +-# if (__STL_OUTERMOST_HEADER_ID == 0x2 ) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x2 ) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_BITSET */ ++#endif /* _STLP_BITSET */ + + + // Local Variables: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cassert tripwire-2.3.1-2/src/STLport-4.0/stlport/cassert +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cassert Sat Feb 24 10:44:21 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/cassert Sun Aug 11 18:59:23 2002 +@@ -13,26 +13,26 @@ + * + */ + +-#ifndef __STLPORT_CASSERT +-# define __STLPORT_CASSERT ++#ifndef _STLP_CASSERT ++# define _STLP_CASSERT + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x103 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x103 + # include + # endif + +-# if defined (__STL_USE_NEW_C_HEADERS) || defined (__IN_STLPORT_CASSERT) +-# include __STL_NATIVE_CPP_C_HEADER(cassert) +-# else ++# if defined (_STLP_USE_NEW_C_HEADERS) || defined (__IN_STLPORT_CASSERT) ++# include _STLP_NATIVE_CPP_C_HEADER(cassert) ++# elif !defined(_STLP_WINCE) + # include + # endif + +-# if (__STL_OUTERMOST_HEADER_ID == 0x103 ) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x103 ) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __STLPORT_CASSERT */ ++#endif /* _STLP_CASSERT */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cctype tripwire-2.3.1-2/src/STLport-4.0/stlport/cctype +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cctype Sat Feb 24 10:44:21 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/cctype Sun Aug 11 18:59:23 2002 +@@ -13,17 +13,17 @@ + * + */ + +-#ifndef __STLPORT_CCTYPE +-# define __STLPORT_CCTYPE ++#ifndef _STLP_CCTYPE ++# define _STLP_CCTYPE + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x104 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x104 + # include + # endif + +-# if defined (__STL_USE_NEW_C_HEADERS) ++# if defined (_STLP_USE_NEW_C_HEADERS) + +-# include __STL_NATIVE_CPP_C_HEADER(cctype) ++# include _STLP_NATIVE_CPP_C_HEADER(cctype) + + # else + +@@ -44,34 +44,34 @@ + #undef toupper + #undef tolower + +-# endif /* __STL_USE_NEW_C_HEADERS */ ++# endif /* _STLP_USE_NEW_C_HEADERS */ + +-# if ! defined (__STL_NO_CSTD_FUNCTION_IMPORTS) +-# if defined ( __STL_IMPORT_VENDOR_CSTD ) +-__STL_BEGIN_NAMESPACE +-using __STL_VENDOR_CSTD::isalnum; +-using __STL_VENDOR_CSTD::isalpha; +-using __STL_VENDOR_CSTD::iscntrl; +-using __STL_VENDOR_CSTD::isdigit; +-using __STL_VENDOR_CSTD::isgraph; +-using __STL_VENDOR_CSTD::islower; +-using __STL_VENDOR_CSTD::isprint; +-using __STL_VENDOR_CSTD::ispunct; +-using __STL_VENDOR_CSTD::isspace; +-using __STL_VENDOR_CSTD::isupper; +-using __STL_VENDOR_CSTD::isxdigit; +-using __STL_VENDOR_CSTD::tolower; +-using __STL_VENDOR_CSTD::toupper; +-__STL_END_NAMESPACE +-# endif /* __STL_IMPORT_VENDOR_CSTD*/ +-# endif /* __STL_NO_CSTD_FUNCTION_IMPORTS */ ++# if ! defined (_STLP_NO_CSTD_FUNCTION_IMPORTS) ++# if defined ( _STLP_IMPORT_VENDOR_CSTD ) ++_STLP_BEGIN_NAMESPACE ++using _STLP_VENDOR_CSTD::isalnum; ++using _STLP_VENDOR_CSTD::isalpha; ++using _STLP_VENDOR_CSTD::iscntrl; ++using _STLP_VENDOR_CSTD::isdigit; ++using _STLP_VENDOR_CSTD::isgraph; ++using _STLP_VENDOR_CSTD::islower; ++using _STLP_VENDOR_CSTD::isprint; ++using _STLP_VENDOR_CSTD::ispunct; ++using _STLP_VENDOR_CSTD::isspace; ++using _STLP_VENDOR_CSTD::isupper; ++using _STLP_VENDOR_CSTD::isxdigit; ++using _STLP_VENDOR_CSTD::tolower; ++using _STLP_VENDOR_CSTD::toupper; ++_STLP_END_NAMESPACE ++# endif /* _STLP_IMPORT_VENDOR_CSTD*/ ++# endif /* _STLP_NO_CSTD_FUNCTION_IMPORTS */ + +-# if (__STL_OUTERMOST_HEADER_ID == 0x104 ) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x104 ) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __STLPORT_CCTYPE */ ++#endif /* _STLP_CCTYPE */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cerrno tripwire-2.3.1-2/src/STLport-4.0/stlport/cerrno +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cerrno Sat Feb 24 10:44:21 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/cerrno Sun Aug 11 18:59:23 2002 +@@ -13,36 +13,40 @@ + * + */ + +-#ifndef __STLPORT_CERRNO +-# define __STLPORT_CERRNO ++#ifndef _STLP_CERRNO ++# define _STLP_CERRNO + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x105 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x105 + # include + # endif + +-# if defined (__STL_USE_NEW_C_HEADERS) +-# include __STL_NATIVE_CPP_C_HEADER(cerrno) ++#if !defined(_STLP_WINCE) ++ ++# if defined (_STLP_USE_NEW_C_HEADERS) ++# include _STLP_NATIVE_CPP_C_HEADER(cerrno) + # else + # include + # endif + + #ifndef errno + +-# ifdef __STL_IMPORT_VENDOR_CSTD +-__STL_BEGIN_NAMESPACE +-using __STL_VENDOR_CSTD::errno; +-__STL_END_NAMESPACE +-# endif /* __STL_IMPORT_VENDOR_CSTD */ ++# if defined (_STLP_IMPORT_VENDOR_CSTD) && ! defined (__IBMCPP__) && ! defined(__hpux) ++_STLP_BEGIN_NAMESPACE ++using _STLP_VENDOR_CSTD::errno; ++_STLP_END_NAMESPACE ++# endif /* _STLP_IMPORT_VENDOR_CSTD */ + + #endif + +-# if (__STL_OUTERMOST_HEADER_ID == 0x105 ) ++#endif /* _STLP_WINCE */ ++ ++# if (_STLP_OUTERMOST_HEADER_ID == 0x105 ) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __STLPORT_CERRNO */ ++#endif /* _STLP_CERRNO */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cfloat tripwire-2.3.1-2/src/STLport-4.0/stlport/cfloat +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cfloat Sat Feb 24 10:44:21 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/cfloat Sun Aug 11 18:59:23 2002 +@@ -13,28 +13,28 @@ + * + */ + +-#ifndef __STLPORT_CFLOAT +-# define __STLPORT_CFLOAT ++#ifndef _STLP_CFLOAT ++# define _STLP_CFLOAT + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x106 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x106 + # include + # endif + + // Borland defines some implementation constants in std:: namespace, + // we do not want to import them. +-# if defined (__STL_USE_NEW_C_HEADERS) && ! defined (__BORLANDC__) +-# include __STL_NATIVE_CPP_C_HEADER(cfloat) ++# if defined (_STLP_USE_NEW_C_HEADERS) && ! defined (__BORLANDC__) ++# include _STLP_NATIVE_CPP_C_HEADER(cfloat) + # else +-# include __STL_NATIVE_C_HEADER(float.h) ++# include _STLP_NATIVE_C_HEADER(float.h) + # endif + +-# if (__STL_OUTERMOST_HEADER_ID == 0x106 ) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x106 ) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __STLPORT_CFLOAT */ ++#endif /* _STLP_CFLOAT */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/climits tripwire-2.3.1-2/src/STLport-4.0/stlport/climits +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/climits Sat Feb 24 10:44:21 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/climits Sun Aug 11 18:59:23 2002 +@@ -13,32 +13,32 @@ + * + */ + +-#ifndef __STLPORT_CLIMITS +-# define __STLPORT_CLIMITS ++#ifndef _STLP_CLIMITS ++# define _STLP_CLIMITS + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x107 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x107 + # include + # endif + + # if defined (__SUNPRO_CC) && ((__SUNPRO_CC == 0x500) && (__SUNPRO_CC_COMPAT > 4)) + # include +-# elif defined (__STL_USE_NEW_C_HEADERS) +-# include __STL_NATIVE_CPP_C_HEADER(climits) ++# elif defined (_STLP_USE_NEW_C_HEADERS) ++# include _STLP_NATIVE_CPP_C_HEADER(climits) + # else + # ifdef __BORLANDC__ +-# include __STL_NATIVE_C_HEADER(limits.h) ++# include _STLP_NATIVE_C_HEADER(limits.h) + # else + # include + # endif + # endif + +-# if (__STL_OUTERMOST_HEADER_ID == 0x107 ) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x107 ) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __STLPORT_CLIMITS */ ++#endif /* _STLP_CLIMITS */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/clocale tripwire-2.3.1-2/src/STLport-4.0/stlport/clocale +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/clocale Sat Feb 24 10:44:21 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/clocale Sun Aug 11 18:59:23 2002 +@@ -13,36 +13,40 @@ + * + */ + +-#ifndef __STLPORT_CLOCALE +-# define __STLPORT_CLOCALE ++#ifndef _STLP_CLOCALE ++# define _STLP_CLOCALE + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x108 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x108 + # include + # endif + +-# if defined (__STL_USE_NEW_C_HEADERS) +-# include __STL_NATIVE_CPP_C_HEADER(clocale) ++#if !defined(_STLP_WINCE) ++ ++# if defined (_STLP_USE_NEW_C_HEADERS) ++# include _STLP_NATIVE_CPP_C_HEADER(clocale) + # else +-# include __STL_NATIVE_C_HEADER(locale.h) ++# include _STLP_NATIVE_C_HEADER(locale.h) + # endif + +-# ifdef __STL_IMPORT_VENDOR_CSTD +-__STL_BEGIN_NAMESPACE +-using __STL_VENDOR_CSTD::lconv; +-# if ! defined (__STL_NO_CSTD_FUNCTION_IMPORTS) +-using __STL_VENDOR_CSTD::localeconv; +-using __STL_VENDOR_CSTD::setlocale; ++# ifdef _STLP_IMPORT_VENDOR_CSTD ++_STLP_BEGIN_NAMESPACE ++using _STLP_VENDOR_CSTD::lconv; ++# if ! defined (_STLP_NO_CSTD_FUNCTION_IMPORTS) ++using _STLP_VENDOR_CSTD::localeconv; ++using _STLP_VENDOR_CSTD::setlocale; + # endif +-__STL_END_NAMESPACE +-# endif /* __STL_IMPORT_VENDOR_CSTD */ ++_STLP_END_NAMESPACE ++# endif /* _STLP_IMPORT_VENDOR_CSTD */ ++ ++#endif /* _STLP_WINCE */ + +-# if (__STL_OUTERMOST_HEADER_ID == 0x108 ) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x108 ) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __STLPORT_CLOCALE */ ++#endif /* _STLP_CLOCALE */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cmath tripwire-2.3.1-2/src/STLport-4.0/stlport/cmath +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cmath Sat Feb 24 10:44:21 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/cmath Sun Aug 11 18:59:23 2002 +@@ -13,135 +13,78 @@ + * + */ + +-#ifndef __STLPORT_CMATH +-# define __STLPORT_CMATH ++#ifndef _STLP_CMATH ++# define _STLP_CMATH + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x109 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x109 + # include + # endif + +-# if defined (__STL_USE_NEW_C_HEADERS) +-# if defined (__STL_HAS_NO_NAMESPACES) && ! defined (exception) ++# if defined (_STLP_USE_NEW_C_HEADERS) ++# if defined (_STLP_HAS_NO_NAMESPACES) && ! defined (exception) + # define exception __math_exception + # endif +-# include __STL_NATIVE_CPP_C_HEADER(cmath) +-# if defined (__STL_HAS_NO_NAMESPACES) ++# include _STLP_NATIVE_CPP_C_HEADER(cmath) ++# if defined (_STLP_HAS_NO_NAMESPACES) + # undef exception + # endif + # else + # include + # endif + +-# if defined (__SUNPRO_CC) && (__SUNPRO_CC > 0x500) ++# if (defined (__SUNPRO_CC) && (__SUNPRO_CC > 0x500)) || \ ++ !( defined (__IBMCPP__) && (__IBMCPP__ >= 500) || ! ( defined (__HP_aCC) && (__HP_aCC >= 30000) )) ++# ifndef _STLP_HAS_NO_NAMESPACES + namespace std { ++# endif + extern "C" double hypot(double x, double y); ++# ifndef _STLP_HAS_NO_NAMESPACES + } +-# endif +- +-# ifdef __STL_IMPORT_VENDOR_CSTD +-__STL_BEGIN_NAMESPACE +-# if ! defined (__STL_NO_CSTD_FUNCTION_IMPORTS) +-using __STL_VENDOR_CSTD::acos; +-using __STL_VENDOR_CSTD::asin; +-using __STL_VENDOR_CSTD::atan2; +-using __STL_VENDOR_CSTD::atan; +-using __STL_VENDOR_CSTD::ceil; +-using __STL_VENDOR_CSTD::cos; +-using __STL_VENDOR_CSTD::cosh; +-using __STL_VENDOR_CSTD::exp; +-using __STL_VENDOR_CSTD::fabs; +-using __STL_VENDOR_CSTD::floor; +-using __STL_VENDOR_CSTD::fmod; +-using __STL_VENDOR_CSTD::frexp; +-using __STL_VENDOR_CSTD::ldexp; +-using __STL_VENDOR_CSTD::log10; +-using __STL_VENDOR_CSTD::log; +-using __STL_VENDOR_CSTD::modf; +-using __STL_VENDOR_CSTD::pow; +-using __STL_VENDOR_CSTD::sin; +-using __STL_VENDOR_CSTD::sinh; +-using __STL_VENDOR_CSTD::sqrt; +-using __STL_VENDOR_CSTD::tan; +-using __STL_VENDOR_CSTD::tanh; +-# endif /* BUG */ +-__STL_END_NAMESPACE +-# endif /* __STL_IMPORT_VENDOR_CSTD */ +- +-__STL_BEGIN_NAMESPACE +- +-# ifdef __STL_SAME_FUNCTION_NAME_RESOLUTION_BUG ++# endif + +-// this proxy is needed for some compilers to resolve problems +-// calling sqrt() from within sqrt(), etc. +-template +-struct _STL_math_proxy { +- static inline _Tp _do_abs(const _Tp& __x) { return __STL_VENDOR_CSTD::fabs(__x); } +- static inline _Tp _do_acos(const _Tp& __x) { return __STL_VENDOR_CSTD::acos(__x); } +- static inline _Tp _do_asin(const _Tp& __x) { return __STL_VENDOR_CSTD::asin(__x); } +- static inline _Tp _do_atan(const _Tp& __x) { return __STL_VENDOR_CSTD::atan(__x); } +- static inline _Tp _do_atan2(const _Tp& __x, const _Tp& __y) { return __STL_VENDOR_CSTD::atan2(__x, __y); } +- static inline _Tp _do_cos(const _Tp& __x) { return __STL_VENDOR_CSTD::cos(__x); } +- static inline _Tp _do_cosh(const _Tp& __x) { return __STL_VENDOR_CSTD::cosh(__x); } +- static inline _Tp _do_log(const _Tp& __x) { return __STL_VENDOR_CSTD::log(__x); } +- static inline _Tp _do_log10(const _Tp& __x) { return __STL_VENDOR_CSTD::log10(__x); } +- static inline _Tp _do_pow(const _Tp& __x, const _Tp& __y) { return __STL_VENDOR_CSTD::pow(__x, __y); } +- static inline _Tp _do_sin(const _Tp& __x) { return __STL_VENDOR_CSTD::sin(__x); } +- static inline _Tp _do_sinh(const _Tp& __x) { return __STL_VENDOR_CSTD::sinh(__x); } +- +- static inline _Tp _do_sqrt(const _Tp& __x) { return __STL_VENDOR_CSTD::sqrt(__x); } +- static inline _Tp _do_tan(const _Tp& __x) { return __STL_VENDOR_CSTD::tan(__x); } +- static inline _Tp _do_tanh(const _Tp& __x) { return __STL_VENDOR_CSTD::tanh(__x); } +- static inline _Tp _do_exp(const _Tp& __x) { return __STL_VENDOR_CSTD::exp(__x); } +- static inline _Tp _do_hypot(const _Tp& __x, const _Tp& __y) { return __STL_VENDOR_CSTD::hypot(__x, __y); } +-}; +- +-# define __STL_DO_ABS(_Tp) _STL_math_proxy<_Tp>::_do_abs +-# define __STL_DO_ACOS(_Tp) _STL_math_proxy<_Tp>::_do_acos +-# define __STL_DO_ASIN(_Tp) _STL_math_proxy<_Tp>::_do_asin +-# define __STL_DO_ATAN(_Tp) _STL_math_proxy<_Tp>::_do_atan +-# define __STL_DO_ATAN2(_Tp) _STL_math_proxy<_Tp>::_do_atan2 +-# define __STL_DO_COS(_Tp) _STL_math_proxy<_Tp>::_do_cos +-# define __STL_DO_COSH(_Tp) _STL_math_proxy<_Tp>::_do_cosh +-# define __STL_DO_LOG(_Tp) _STL_math_proxy<_Tp>::_do_log +-# define __STL_DO_LOG10(_Tp) _STL_math_proxy<_Tp>::_do_log10 +-# define __STL_DO_POW(_Tp) _STL_math_proxy<_Tp>::_do_pow +-# define __STL_DO_SIN(_Tp) _STL_math_proxy<_Tp>::_do_sin +-# define __STL_DO_SINH(_Tp) _STL_math_proxy<_Tp>::_do_sinh +-# define __STL_DO_SQRT(_Tp) _STL_math_proxy<_Tp>::_do_sqrt +-# define __STL_DO_TAN(_Tp) _STL_math_proxy<_Tp>::_do_tan +-# define __STL_DO_TANH(_Tp) _STL_math_proxy<_Tp>::_do_tanh +-# define __STL_DO_EXP(_Tp) _STL_math_proxy<_Tp>::_do_exp +-# define __STL_DO_HYPOT(_Tp) _STL_math_proxy<_Tp>::_do_hypot +-# else ++# endif + +-# define __STL_DO_ABS(_Tp) __STL_VENDOR_CSTD::fabs +-# define __STL_DO_ACOS(_Tp) __STL_VENDOR_CSTD::acos +-# define __STL_DO_ASIN(_Tp) __STL_VENDOR_CSTD::asin +-# define __STL_DO_ATAN(_Tp) __STL_VENDOR_CSTD::atan +-# define __STL_DO_ATAN2(_Tp) __STL_VENDOR_CSTD::atan2 +-# define __STL_DO_COS(_Tp) __STL_VENDOR_CSTD::cos +-# define __STL_DO_COSH(_Tp) __STL_VENDOR_CSTD::cosh +-# define __STL_DO_LOG(_Tp) __STL_VENDOR_CSTD::log +-# define __STL_DO_LOG10(_Tp) __STL_VENDOR_CSTD::log10 +-# define __STL_DO_POW(_Tp) __STL_VENDOR_CSTD::pow +-# define __STL_DO_SIN(_Tp) __STL_VENDOR_CSTD::sin +-# define __STL_DO_SINH(_Tp) __STL_VENDOR_CSTD::sinh +-# define __STL_DO_SQRT(_Tp) __STL_VENDOR_CSTD::sqrt +-# define __STL_DO_TAN(_Tp) __STL_VENDOR_CSTD::tan +-# define __STL_DO_TANH(_Tp) __STL_VENDOR_CSTD::tanh +-# define __STL_DO_EXP(_Tp) __STL_VENDOR_CSTD::exp +-# define __STL_DO_HYPOT(_Tp) __STL_VENDOR_CSTD::hypot ++# ifdef _STLP_IMPORT_VENDOR_CSTD ++_STLP_BEGIN_NAMESPACE ++# if ! defined (_STLP_NO_CSTD_FUNCTION_IMPORTS) ++# ifdef _STLP_HAS_NATIVE_FLOAT_ABS ++using _STLP_VENDOR_CSTD::abs; + # endif ++using _STLP_VENDOR_CSTD::acos; ++using _STLP_VENDOR_CSTD::asin; ++using _STLP_VENDOR_CSTD::atan2; ++using _STLP_VENDOR_CSTD::atan; ++using _STLP_VENDOR_CSTD::ceil; ++using _STLP_VENDOR_CSTD::cos; ++using _STLP_VENDOR_CSTD::cosh; ++using _STLP_VENDOR_CSTD::exp; ++using _STLP_VENDOR_CSTD::fabs; ++using _STLP_VENDOR_CSTD::floor; ++using _STLP_VENDOR_CSTD::fmod; ++using _STLP_VENDOR_CSTD::frexp; ++using _STLP_VENDOR_CSTD::ldexp; ++using _STLP_VENDOR_CSTD::log10; ++using _STLP_VENDOR_CSTD::log; ++using _STLP_VENDOR_CSTD::modf; ++using _STLP_VENDOR_CSTD::pow; ++using _STLP_VENDOR_CSTD::sin; ++using _STLP_VENDOR_CSTD::sinh; ++using _STLP_VENDOR_CSTD::sqrt; ++using _STLP_VENDOR_CSTD::tan; ++using _STLP_VENDOR_CSTD::tanh; ++# endif /* BUG */ ++_STLP_END_NAMESPACE ++# endif /* _STLP_IMPORT_VENDOR_CSTD */ + +-__STL_END_NAMESPACE ++# include + +-# if (__STL_OUTERMOST_HEADER_ID == 0x109 ) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x109 ) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __STLPORT_CMATH */ ++#endif /* _STLP_CMATH */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/complex tripwire-2.3.1-2/src/STLport-4.0/stlport/complex +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/complex Sat Feb 24 10:44:21 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/complex Sun Aug 11 18:59:23 2002 +@@ -16,15 +16,15 @@ + * + */ + +-#ifndef __sgi_template_complex +-#define __sgi_template_complex ++#ifndef _STLP_template_complex ++# define _STLP_template_complex + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x10 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x10 + # include + # endif + +-# ifdef __SGI_STL_OWN_IOSTREAMS ++# ifdef _STLP_OWN_IOSTREAMS + // This header declares the template class complex, as described in + // in the draft C++ standard. Single-precision complex numbers + // are complex, double-precision are complex, and +@@ -33,19 +33,19 @@ + // Note that the template class complex is declared within namespace + // std, as called for by the draft C++ standard + +-# define __STL_COMPLEX_NAMESPACE __STLPORT_STD ++# define _STLP_COMPLEX_NAMESPACE _STLP_STD + # include + # else +-# define __STL_COMPLEX_NAMESPACE __STL_VENDOR_STD ++# define _STLP_COMPLEX_NAMESPACE _STLP_VENDOR_STD + # include + # endif + +-# if (__STL_OUTERMOST_HEADER_ID == 0x10 ) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x10 ) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __sgi_template_complex */ ++#endif /* _STLP_template_complex */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/_epilog.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/_epilog.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/_epilog.h Sat Feb 24 10:44:29 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/_epilog.h Sun Aug 11 18:59:24 2002 +@@ -1,8 +1,15 @@ +-#if defined (__STL_MSVC) || defined (__ICL) || defined (__BORLANDC__) ++#if defined (_STLP_MSVC) || defined (__ICL) || defined (__BORLANDC__) + +-# if !(defined (__STL_MSVC) && (__STL_MSVC < 1200)) +-# pragma warning (pop) ++# if defined (__BORLANDC__) ++# pragma option pop ++# pragma option -w-8062 ++# else ++# if !(defined (_STLP_MSVC) && (_STLP_MSVC < 1200)) ++# pragma warning (pop) ++# endif ++# pragma pack (pop) + # endif ++ + + #elif defined(__sgi) && !defined(__GNUC__) && (_MIPS_SIM != _MIPS_SIM_ABI32) + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/_msvc_warnings_off.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/_msvc_warnings_off.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/_msvc_warnings_off.h Sat Feb 24 10:44:29 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/_msvc_warnings_off.h Sun Aug 11 18:59:24 2002 +@@ -7,9 +7,11 @@ + * "forcing value to bool 'true' or 'false' + * typedef used instaead of full type + * 4018 : signed/unsigned mismatch, 4146 - result still unsigned ++ * 4100: unreferenced formal parameter ++ * 4663: C++ language change: to explicitly specialize class template 'identifier' use the following syntax + */ +-# pragma warning ( disable : 4355 4284 4231 4511 4512 4097 4786 4800 4018 4146 4244 4514 4127) +-# pragma warning ( disable : 4245 ) // conversion from enum to unsigned int signed/unsigned mismatch ++# pragma warning ( disable : 4355 4284 4231 4511 4512 4097 4786 4800 4018 4146 4244 4514 4127 4100 4663) ++# pragma warning ( disable : 4245 4514 4660) // conversion from enum to unsigned int signed/unsigned mismatch + # if (_MSC_VER > 1200) + // multiple copy constructors/assignment operators specified, + // with member templates are bogus... +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/_prolog.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/_prolog.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/_prolog.h Sat Feb 24 10:44:29 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/_prolog.h Sun Aug 11 18:59:24 2002 +@@ -1,20 +1,19 @@ + +-# undef min +-# undef max +- +-#if defined (__STL_MSVC) || defined (__ICL) || defined (__BORLANDC__) +- +-# if !(defined (__STL_MSVC) && (__STL_MSVC < 1200)) +-# pragma warning(push) +-# endif ++#if defined (_STLP_MSVC) || defined (__ICL) || defined (__BORLANDC__) + + # if defined (__BORLANDC__) +-# pragma warning(disable:8012) +-# pragma warning(disable:8091) ++# if (__BORLANDC__ >= 0x510) ++# pragma option push -Vx- -Ve- -a8 -b -pc -w-inl -w-aus -w-sig -w-8062 -w-8041 -w-8008 -w-8012 -w-8027 -w-8057 -w-8091 -w-8092 -w-8066 /* P_O_1 */ ++# endif + # else ++# if !(defined (_STLP_MSVC) && (_STLP_MSVC < 1200)) ++# pragma warning(push) ++# endif ++# pragma pack(push,8) + # include + # endif + ++ + #elif defined(__sgi) && !defined(__GNUC__) && (_MIPS_SIM != _MIPS_SIM_ABI32) + + #pragma set woff 1209 +@@ -34,4 +33,14 @@ + // supress EDC3130: A constant is being used as a conditional expression + #pragma info(nocnd) + ++#elif defined (__HP_aCC) ++/* _REENTRANT selects Posix 1c threads unless draft4 selected. ++ * * This usage is obsolescent, "-D_POSIX_C_SOURCE=199506" is preferred */ ++# if 0 /* defined (_REENTRANT) && ! defined (_POSIX_C_SOURCE) */ ++# define _POSIX_C_SOURCE 199506 ++# endif ++#elif defined (__WATCOMCPLUSPLUS__) ++# pragma warning 604 10 // must lookahead to determine... ++# pragma warning 594 10 // resolved as declaration/type ++# pragma warning 595 10 // resolved as an expression + #endif +Only in tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/new_compiler: confdefs.h +Only in tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/new_compiler: config.log +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/new_compiler/configure tripwire-2.3.1-2/src/STLport-4.0/stlport/config/new_compiler/configure +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/new_compiler/configure Sat Feb 24 10:44:32 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/new_compiler/configure Sun Aug 11 18:59:24 2002 +@@ -781,7 +781,7 @@ + + if test "$ac_cv_sizeof_int" = "4"; then + cat >> confdefs.h <> confdefs.h <> confdefs.h <&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 ++#define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 + EOF + ac_cv_spec_syntax="no" _FULL_SPEC="" + fi +@@ -980,7 +980,7 @@ + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_NO_BOOL 1 ++#define _STLP_NO_BOOL 1 + EOF + ac_cv_bool="no" + fi +@@ -1002,7 +1002,7 @@ + if { (eval echo configure:1003: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_YVALS_H 1 ++#define _STLP_YVALS_H 1 + EOF + echo "$ac_t""yes" 1>&6 + else +@@ -1029,7 +1029,7 @@ + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_DONT_USE_BOOL_TYPEDEF 1 ++#define _STLP_DONT_USE_BOOL_TYPEDEF 1 + EOF + ac_cv_bool_reserved="yes" + fi +@@ -1059,7 +1059,7 @@ + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_NO_WCHAR_T 1 ++#define _STLP_NO_WCHAR_T 1 + EOF + ac_cv_wchar="no" + fi +@@ -1092,7 +1092,7 @@ + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_WCHAR_T_IS_USHORT 1 ++#define _STLP_WCHAR_T_IS_USHORT 1 + EOF + ac_cv_wchar_short="yes" + fi +@@ -1112,7 +1112,7 @@ + if { (eval echo configure:1113: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_LONG_LONG 1 ++#define _STLP_LONG_LONG 1 + EOF + ac_cv_long_long="yes" + else +@@ -1142,7 +1142,7 @@ + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_NO_LONG_DOUBLE 1 ++#define _STLP_NO_LONG_DOUBLE 1 + EOF + ac_cv_long_double="no" + fi +@@ -1196,7 +1196,7 @@ + rm -rf conftest* + __TYPENAME="" + cat >> confdefs.h <<\EOF +-#define __STL_NEED_TYPENAME 1 ++#define _STLP_NEED_TYPENAME 1 + EOF + + ac_cv_typename="no" +@@ -1224,7 +1224,7 @@ + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_NO_EXPLICIT 1 ++#define _STLP_NO_EXPLICIT 1 + EOF + ac_cv_explicit="no" + fi +@@ -1251,7 +1251,7 @@ + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_NEED_MUTABLE 1 ++#define _STLP_NEED_MUTABLE 1 + EOF + ac_cv_mutable="no" + fi +@@ -1282,7 +1282,7 @@ + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_NO_NEW_STYLE_CASTS 1 ++#define _STLP_NO_NEW_STYLE_CASTS 1 + EOF + ac_cv_new_cast="no" + fi +@@ -1302,7 +1302,7 @@ + #include + #include + #include +- #ifndef __STL_NO_WCHAR_T ++ #ifndef _STLP_NO_WCHAR_T + #include + #endif + +@@ -1318,7 +1318,7 @@ + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_HAS_NO_NEW_C_HEADERS 1 ++#define _STLP_HAS_NO_NEW_C_HEADERS 1 + EOF + ac_cv_newheaders="no" + fi +@@ -1345,7 +1345,7 @@ + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_NO_NEW_NEW_HEADER 1 ++#define _STLP_NO_NEW_NEW_HEADER 1 + EOF + ac_cv_new_new="no" + fi +@@ -1380,7 +1380,7 @@ + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_NO_MEMBER_TEMPLATES 1 ++#define _STLP_NO_MEMBER_TEMPLATES 1 + EOF + ac_cv_member_templates="no" + +@@ -1416,7 +1416,7 @@ + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_NO_FRIEND_TEMPLATES 1 ++#define _STLP_NO_FRIEND_TEMPLATES 1 + EOF + ac_cv_friend_templates="no" + +@@ -1456,7 +1456,7 @@ + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_NO_QUALIFIED_FRIENDS 1 ++#define _STLP_NO_QUALIFIED_FRIENDS 1 + EOF + ac_cv_qual_friend_templates="no" + +@@ -1498,7 +1498,7 @@ + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_NO_MEMBER_TEMPLATE_KEYWORD 1 ++#define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1 + EOF + ac_cv_member_template_keyword="no" + +@@ -1541,7 +1541,7 @@ + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_NO_MEMBER_TEMPLATE_CLASSES 1 ++#define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1 + EOF + ac_cv_member_template_classes="no" + +@@ -1588,7 +1588,7 @@ + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_NO_CLASS_PARTIAL_SPECIALIZATION 1 ++#define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1 + EOF + ac_cv_partial_spec="no" + +@@ -1634,7 +1634,7 @@ + if { (eval echo configure:1635: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS 1 ++#define _STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS 1 + EOF + ac_cv_partial_spec_needs_args="yes" + else +@@ -1681,7 +1681,7 @@ + if { (eval echo configure:1682: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS 1 ++#define _STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS 1 + EOF + ac_cv_partial_spec_needs_args="yes" + else +@@ -1729,7 +1729,7 @@ + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 ++#define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 + EOF + ac_cv_partial_ord="no" + +@@ -1771,7 +1771,7 @@ + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_NO_METHOD_SPECIALIZATION 1 ++#define _STLP_NO_METHOD_SPECIALIZATION 1 + EOF + ac_cv_method_spec="no" + +@@ -1792,7 +1792,7 @@ + if { (eval echo configure:1793: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_RAND48 1 ++#define _STLP_RAND48 1 + EOF + ac_cv_func_lrand48="yes" + else +@@ -1827,7 +1827,7 @@ + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_LIMITED_DEFAULT_TEMPLATES 1 ++#define _STLP_LIMITED_DEFAULT_TEMPLATES 1 + EOF + ac_cv_default_template_param="no" + fi +@@ -1867,7 +1867,7 @@ + if { (eval echo configure:1868: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_DEFAULT_TYPE_PARAM 1 ++#define _STLP_DEFAULT_TYPE_PARAM 1 + EOF + ac_cv_default_type_param="yes" + else +@@ -1912,7 +1912,7 @@ + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_NO_DEFAULT_NON_TYPE_PARAM 1 ++#define _STLP_NO_DEFAULT_NON_TYPE_PARAM 1 + EOF + ac_cv_default_nontype_param="no" + +@@ -1954,7 +1954,7 @@ + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_NON_TYPE_TMPL_PARAM_BUG 1 ++#define _STLP_NON_TYPE_TMPL_PARAM_BUG 1 + EOF + ac_cv_nontype_param_bug="yes" + +@@ -1981,7 +1981,7 @@ + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_NO_STATIC_TEMPLATE_DATA 1 ++#define _STLP_NO_STATIC_TEMPLATE_DATA 1 + EOF + ac_cv_static_templates="no" + fi +@@ -2002,7 +2002,7 @@ + if { (eval echo configure:2003: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_WEAK_ATTRIBUTE 1 ++#define _STLP_WEAK_ATTRIBUTE 1 + EOF + ac_cv_weak_attribute="yes" + else +@@ -2035,7 +2035,7 @@ + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_STATIC_ARRAY_BUG 1 ++#define _STLP_STATIC_ARRAY_BUG 1 + EOF + ac_cv_static_array_bug="yes" + fi +@@ -2062,7 +2062,7 @@ + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_STATIC_CONST_INIT_BUG 1 ++#define _STLP_STATIC_CONST_INIT_BUG 1 + EOF + ac_cv_static_init_bug="yes" + fi +@@ -2098,7 +2098,7 @@ + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_HAS_NO_NAMESPACES 1 ++#define _STLP_HAS_NO_NAMESPACES 1 + EOF + _TEST_STD="" _TEST_STD_BEGIN="" _TEST_STD_END="" ac_cv_namespaces="no" + fi +@@ -2139,13 +2139,13 @@ + ac_cv_broken_using=no + else + cat >> confdefs.h <<\EOF +-#define __STL_BROKEN_USING_DIRECTIVE 1 ++#define _STLP_BROKEN_USING_DIRECTIVE 1 + EOF + + fi + else + cat >> confdefs.h <<\EOF +-#define __STL_BROKEN_USING_DIRECTIVE 1 ++#define _STLP_BROKEN_USING_DIRECTIVE 1 + EOF + + fi +@@ -2159,7 +2159,7 @@ + + case "$enableval" in + no) cat >> confdefs.h <<\EOF +-#define __STL_NO_NAMESPACES 1 ++#define _STLP_NO_NAMESPACES 1 + EOF + + _TEST_STD="" +@@ -2203,7 +2203,7 @@ + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_HAS_NO_EXCEPTIONS 1 ++#define _STLP_HAS_NO_EXCEPTIONS 1 + EOF + ac_cv_exceptions="no" + fi +@@ -2230,7 +2230,7 @@ + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_NO_EXCEPTION_SPEC 1 ++#define _STLP_NO_EXCEPTION_SPEC 1 + EOF + ac_cv_exception_spec="no" + fi +@@ -2261,7 +2261,7 @@ + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_THROW_RETURN_BUG 1 ++#define _STLP_THROW_RETURN_BUG 1 + EOF + ac_cv_throw_return_bug="yes" + fi +@@ -2273,7 +2273,7 @@ + ac_cv_throw_return_bug="no" + else + cat >> confdefs.h <<\EOF +-#define __STL_THROW_RETURN_BUG 1 ++#define _STLP_THROW_RETURN_BUG 1 + EOF + + ac_cv_throw_return_bug="yes" +@@ -2290,7 +2290,7 @@ + #include "confdefs.h" + + #include +- # if !defined (__STL_HAS_NO_NAMESPACES) ++ # if !defined (_STLP_HAS_NO_NAMESPACES) + using namespace $_TEST_STD; + # endif + basic_string, allocator > bs; +@@ -2308,7 +2308,7 @@ + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_NO_STRING_HEADER 1 ++#define _STLP_NO_STRING_HEADER 1 + EOF + ac_cv_string_header="no" + +@@ -2324,7 +2324,7 @@ + #include "confdefs.h" + + #include +- # if !defined (__STL_HAS_NO_NAMESPACES) ++ # if !defined (_STLP_HAS_NO_NAMESPACES) + using namespace $_TEST_STD; + # endif + string s; +@@ -2350,7 +2350,7 @@ + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_NO_STDEXCEPT_HEADER 1 ++#define _STLP_NO_STDEXCEPT_HEADER 1 + EOF + ac_cv_stdexcept_header="no" + +@@ -2366,7 +2366,7 @@ + + #include + #include +- # if !defined (__STL_HAS_NO_NAMESPACES) ++ # if !defined (_STLP_HAS_NO_NAMESPACES) + using namespace $_TEST_STD; + # endif + +@@ -2389,7 +2389,7 @@ + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_HAS_NO_NEW_IOSTREAMS 1 ++#define _STLP_HAS_NO_NEW_IOSTREAMS 1 + EOF + ac_cv_newstreams="no" + fi +@@ -2406,7 +2406,7 @@ + #include "confdefs.h" + + #include +- # if !defined (__STL_HAS_NO_NAMESPACES) ++ # if !defined (_STLP_HAS_NO_NAMESPACES) + using namespace $_TEST_STD; + # endif + class my_exception: public $_TEST_STD::exception {}; +@@ -2424,7 +2424,7 @@ + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_NO_EXCEPTION_HEADER 1 ++#define _STLP_NO_EXCEPTION_HEADER 1 + EOF + ac_cv_exception_header="no" + +@@ -2436,7 +2436,7 @@ + echo "configure:2437: checking builtin constructor bug" >&5 + if test "$cross_compiling" = yes; then + cat >> confdefs.h <<\EOF +-#define __STL_DEFAULT_CONSTRUCTOR_BUG 1 ++#define _STLP_DEFAULT_CONSTRUCTOR_BUG 1 + EOF + ac_cv_builtin_c_bug="yes" + +@@ -2448,7 +2448,7 @@ + extern "C" void exit(int); + #endif + +-# ifdef __STL_USE_NEW_STYLE_HEADERS ++# ifdef _STLP_USE_NEW_STYLE_HEADERS + # include + # include + # include +@@ -2500,7 +2500,7 @@ + cat conftest.$ac_ext >&5 + rm -fr conftest* + cat >> confdefs.h <<\EOF +-#define __STL_DEFAULT_CONSTRUCTOR_BUG 1 ++#define _STLP_DEFAULT_CONSTRUCTOR_BUG 1 + EOF + ac_cv_builtin_c_bug="yes" + fi +@@ -2529,7 +2529,7 @@ + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_TRIVIAL_CONSTRUCTOR_BUG 1 ++#define _STLP_TRIVIAL_CONSTRUCTOR_BUG 1 + EOF + ac_cv_tc_bug="yes" + fi +@@ -2557,7 +2557,7 @@ + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_TRIVIAL_DESTRUCTOR_BUG 1 ++#define _STLP_TRIVIAL_DESTRUCTOR_BUG 1 + EOF + ac_cv_td_bug="yes" + fi +@@ -2592,7 +2592,7 @@ + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 ++#define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 + EOF + ac_cv_expl_fun_args="no" _NULLARGS="" + fi +@@ -2646,7 +2646,7 @@ + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_BASE_MATCH_BUG 1 ++#define _STLP_BASE_MATCH_BUG 1 + EOF + ac_cv_base_match="no" + fi +@@ -2696,7 +2696,7 @@ + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_NONTEMPL_BASE_MATCH_BUG 1 ++#define _STLP_NONTEMPL_BASE_MATCH_BUG 1 + EOF + ac_cv_nont_base_match="no" + fi +@@ -2722,7 +2722,7 @@ + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_NESTED_TYPE_PARAM_BUG 1 ++#define _STLP_NESTED_TYPE_PARAM_BUG 1 + EOF + ac_cv_nested_type_param_bug="yes" + fi +@@ -2780,11 +2780,11 @@ + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_BASE_TYPEDEF_BUG 1 ++#define _STLP_BASE_TYPEDEF_BUG 1 + EOF + + cat >> confdefs.h <<\EOF +-#define __STL_BASE_TYPEDEF_OUTSIDE_BUG 1 ++#define _STLP_BASE_TYPEDEF_OUTSIDE_BUG 1 + EOF + ac_cv_typebug="yes" + fi +@@ -2828,7 +2828,7 @@ + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_BASE_TYPEDEF_OUTSIDE_BUG 1 ++#define _STLP_BASE_TYPEDEF_OUTSIDE_BUG 1 + EOF + ac_cv_outside_typedef="no" + fi +@@ -2859,7 +2859,7 @@ + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_UNINITIALIZABLE_PRIVATE 1 ++#define _STLP_UNINITIALIZABLE_PRIVATE 1 + EOF + ac_cv_private="no" + fi +@@ -2894,7 +2894,7 @@ + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_CONST_CONSTRUCTOR_BUG 1 ++#define _STLP_CONST_CONSTRUCTOR_BUG 1 + EOF + ac_cv_const_constructor_bug="yes" + fi +@@ -2920,7 +2920,7 @@ + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_LOOP_INLINE_PROBLEMS 1 ++#define _STLP_LOOP_INLINE_PROBLEMS 1 + EOF + ac_cv_inline_problems="yes" + fi +@@ -2931,7 +2931,7 @@ + ac_cv_inline_problems="no" + else + cat >> confdefs.h <<\EOF +-#define __STL_LOOP_INLINE_PROBLEMS 1 ++#define _STLP_LOOP_INLINE_PROBLEMS 1 + EOF + + ac_cv_inline_problems="yes" +@@ -2972,7 +2972,7 @@ + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __SGI_STL_NO_ARROW_OPERATOR 1 ++#define _STLP_NO_ARROW_OPERATOR 1 + EOF + ac_cv_unused_required="yes" + +@@ -3019,7 +3019,7 @@ + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_MEMBER_POINTER_PARAM_BUG 1 ++#define _STLP_MEMBER_POINTER_PARAM_BUG 1 + EOF + ac_cv_pmf_bug="yes" + fi +@@ -3032,13 +3032,13 @@ + #line 3033 "configure" + #include "confdefs.h" + +- #if !defined (__STL_NO_NEW_STYLE_HEADERS) ++ #if !defined (_STLP_NO_NEW_STYLE_HEADERS) + #include + #else + #include + #endif + +- # if !defined (__STL_HAS_NO_NAMESPACES) ++ # if !defined (_STLP_HAS_NO_NAMESPACES) + using namespace $_TEST_STD; + # endif + +@@ -3055,7 +3055,7 @@ + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_NO_BAD_ALLOC 1 ++#define _STLP_NO_BAD_ALLOC 1 + EOF + ac_cv_bad_alloc="no" + fi +@@ -3078,7 +3078,7 @@ + if { (eval echo configure:3079: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then + rm -rf conftest* + cat >> confdefs.h <<\EOF +-#define __STL_AUTOMATIC_TYPE_TRAITS 1 ++#define _STLP_AUTOMATIC_TYPE_TRAITS 1 + EOF + ac_cv_type_traits="yes" + else +@@ -3103,7 +3103,7 @@ + + case "$enableval" in + no) cat >> confdefs.h <<\EOF +-#define __STL_NO_EXCEPTIONS 1 ++#define _STLP_NO_EXCEPTIONS 1 + EOF + + echo "$ac_t""Config arg --disable-exceptions : disabling exceptions by user request" 1>&6;; +@@ -3126,7 +3126,7 @@ + + case "$enableval" in + no) cat >> confdefs.h <<\EOF +-#define __STL_NO_RELOPS_NAMESPACE 1 ++#define _STLP_NO_RELOPS_NAMESPACE 1 + EOF + + echo "$ac_t""Config arg --disable-relops : no std::rel_ops namespace by user request" 1>&6;; +@@ -3140,7 +3140,7 @@ + + else + cat >> confdefs.h <<\EOF +-#define __STL_NO_RELOPS_NAMESPACE 1 ++#define _STLP_NO_RELOPS_NAMESPACE 1 + EOF + + fi +@@ -3152,7 +3152,7 @@ + + case "$enableval" in + no) cat >> confdefs.h <<\EOF +-#define __STL_NO_NEW_STYLE_HEADERS 1 ++#define _STLP_NO_NEW_STYLE_HEADERS 1 + EOF + + echo "$ac_t""Config arg --disable-new-style-headers : not using new-style headers" 1>&6;; +@@ -3166,7 +3166,7 @@ + + else + cat >> confdefs.h <<\EOF +-#define __STL_NO_NEW_STYLE_HEADERS 1 ++#define _STLP_NO_NEW_STYLE_HEADERS 1 + EOF + + fi +@@ -3178,7 +3178,7 @@ + + case "$enableval" in + no) cat >> confdefs.h <<\EOF +-#define __STL_NO_NEW_IOSTREAMS 1 ++#define _STLP_NO_NEW_IOSTREAMS 1 + EOF + + echo "$ac_t""Config arg --disable-new-iostreams : not using new iostreams" 1>&6;; +@@ -3192,7 +3192,7 @@ + + else + cat >> confdefs.h <<\EOF +-#define __STL_NO_NEW_IOSTREAMS 1 ++#define _STLP_NO_NEW_IOSTREAMS 1 + EOF + + fi +@@ -3204,7 +3204,7 @@ + case "$enableval" in + yes ) echo "$ac_t""Config arg --enable-sgi-allocators : SGI-style alloc as default allocator" 1>&6 + cat >> confdefs.h <<\EOF +-#define __STL_USE_SGI_ALLOCATORS 1 ++#define _STLP_USE_RAW_SGI_ALLOCATORS 1 + EOF + ;; + * ) echo "$ac_t""Config default: using allocator as default allocator if possible " 1>&6 +@@ -3225,7 +3225,7 @@ + case "$enableval" in + yes ) echo "$ac_t""Config arg --enable-malloc : setting malloc_alloc as default alloc" 1>&6 + cat >> confdefs.h <<\EOF +-#define __STL_USE_MALLOC 1 ++#define _STLP_USE_MALLOC 1 + EOF + ;; + * ) echo "$ac_t""Config default: not using malloc_alloc as default alloc" 1>&6 +@@ -3246,7 +3246,7 @@ + case "$enableval" in + yes ) echo "$ac_t""Config arg --enable-newalloc : setting new_alloc as default alloc" 1>&6 + cat >> confdefs.h <<\EOF +-#define __STL_USE_NEWALLOC 1 ++#define _STLP_USE_NEWALLOC 1 + EOF + ;; + * ) +@@ -3270,7 +3270,7 @@ + + * ) echo "$ac_t""Config default : including HP-style defalloc.h into alloc.h" 1>&6 + cat >> confdefs.h <<\EOF +-#define __STL_USE_DEFALLOC 1 ++#define _STLP_USE_DEFALLOC 1 + EOF + + esac +@@ -3291,7 +3291,7 @@ + case "$enableval" in + yes ) echo "$ac_t""Config arg --enable-debugalloc : use debug versions of allocators " 1>&6 + cat >> confdefs.h <<\EOF +-#define __STL_DEBUG_ALLOC 1 ++#define _STLP_DEBUG_ALLOC 1 + EOF + ;; + * ) +@@ -3314,7 +3314,7 @@ + case "$enableval" in + yes ) echo "$ac_t""Config arg --enable-abbrevs : using abbreviated class names internally" 1>&6 + cat >> confdefs.h <<\EOF +-#define __STL_USE_ABBREVS 1 ++#define _STLP_USE_ABBREVS 1 + EOF + ;; + * ) +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/new_compiler/configure.in tripwire-2.3.1-2/src/STLport-4.0/stlport/config/new_compiler/configure.in +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/new_compiler/configure.in Sat Feb 24 10:44:33 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/new_compiler/configure.in Sun Aug 11 18:59:24 2002 +@@ -59,17 +59,17 @@ + ac_ext=$use_ac_ext + + if test "$ac_cv_sizeof_int" = "4"; then +- AC_DEFINE_UNQUOTED(__STL_UINT32_T,unsigned int) ++ AC_DEFINE_UNQUOTED(_STLP_UINT32_T,unsigned int) + else + AC_CHECK_SIZEOF(long,4) + ac_ext=$use_ac_ext + if test "$ac_cv_sizeof_long" = "4"; then +- AC_DEFINE_UNQUOTED(__STL_UINT32_T,unsigned long) ++ AC_DEFINE_UNQUOTED(_STLP_UINT32_T,unsigned long) + else + dnl ELBRUS ??? ;) + AC_CHECK_SIZEOF(short,4) + if test "$ac_cv_sizeof_short" = "4"; then +- AC_DEFINE_UNQUOTED(__STL_UINT32_T,unsigned short) ++ AC_DEFINE_UNQUOTED(_STLP_UINT32_T,unsigned short) + else + AC_MSG_ERROR(Cannot find any 32-bit integer type for your compiler) + fi +@@ -118,7 +118,7 @@ + template <> class fs_foo {};], + [ fs_foo i;], + [ _FULL_SPEC="template <>" ac_cv_spec_syntax="yes"], +- [ AC_DEFINE(__STL_NO_PARTIAL_SPECIALIZATION_SYNTAX) ac_cv_spec_syntax="no" _FULL_SPEC=""]) ++ [ AC_DEFINE(_STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX) ac_cv_spec_syntax="no" _FULL_SPEC=""]) + AC_MSG_RESULT($ac_cv_spec_syntax) + + AC_MSG_CHECKING(for bool keyword) +@@ -126,14 +126,14 @@ + [bool b_foo() { return true; }], + [(void)b_foo();], + [ac_cv_bool="yes"], +- [AC_DEFINE(__STL_NO_BOOL) ac_cv_bool="no"]) ++ [AC_DEFINE(_STLP_NO_BOOL) ac_cv_bool="no"]) + AC_MSG_RESULT($ac_cv_bool) + if test "$ac_cv_bool" = "no"; then + AC_MSG_CHECKING(for yvals.h header) + AC_TRY_COMPILE([#include + extern bool aaa=true; + ], [], +- [AC_DEFINE(__STL_YVALS_H) AC_MSG_RESULT(yes) ], ++ [AC_DEFINE(_STLP_YVALS_H) AC_MSG_RESULT(yes) ], + [ + AC_MSG_RESULT(no) + AC_MSG_CHECKING(whether bool is reserved word) +@@ -141,7 +141,7 @@ + [typedef int bool;], + [], + [ac_cv_bool_reserved="no"], +- [AC_DEFINE(__STL_DONT_USE_BOOL_TYPEDEF) ac_cv_bool_reserved="yes"]) ++ [AC_DEFINE(_STLP_DONT_USE_BOOL_TYPEDEF) ac_cv_bool_reserved="yes"]) + AC_MSG_RESULT($ac_cv_bool_reserved) + ]) + fi +@@ -152,7 +152,7 @@ + wchar_t wc_foo() { return 'a'; }], + [(void)wc_foo();], + [ac_cv_wchar="yes"], +- [AC_DEFINE(__STL_NO_WCHAR_T) ac_cv_wchar="no"]) ++ [AC_DEFINE(_STLP_NO_WCHAR_T) ac_cv_wchar="no"]) + AC_MSG_RESULT($ac_cv_wchar) + + AC_MSG_CHECKING(if wchar_t is unsigned short) +@@ -168,14 +168,14 @@ + ], + [], + [ac_cv_wchar_short="no"], +- [AC_DEFINE(__STL_WCHAR_T_IS_USHORT) ac_cv_wchar_short="yes"]) ++ [AC_DEFINE(_STLP_WCHAR_T_IS_USHORT) ac_cv_wchar_short="yes"]) + AC_MSG_RESULT($ac_cv_wchar_short) + + AC_MSG_CHECKING(for long long type) + AC_TRY_COMPILE( + [long long ll_foo() { return 0; }], + [(void)ll_foo();], +- [AC_DEFINE(__STL_LONG_LONG) ac_cv_long_long="yes"], ++ [AC_DEFINE(_STLP_LONG_LONG) ac_cv_long_long="yes"], + [ac_cv_long_long="no"]) + AC_MSG_RESULT($ac_cv_long_long) + +@@ -184,7 +184,7 @@ + [long double ld_foo() { return 0; }], + [(void)ld_foo();], + [ac_cv_long_double="yes"], +- [AC_DEFINE(__STL_NO_LONG_DOUBLE) ac_cv_long_double="no"]) ++ [AC_DEFINE(_STLP_NO_LONG_DOUBLE) ac_cv_long_double="no"]) + AC_MSG_RESULT($ac_cv_long_double) + + AC_MSG_CHECKING(for typename keyword) +@@ -221,7 +221,7 @@ + [__TYPENAME="typename" + ac_cv_typename="yes"], + [__TYPENAME="" +- AC_DEFINE(__STL_NEED_TYPENAME) ++ AC_DEFINE(_STLP_NEED_TYPENAME) + ac_cv_typename="no"]) + AC_MSG_RESULT($ac_cv_typename) + +@@ -232,7 +232,7 @@ + ], + [], + [ac_cv_explicit="yes"], +- [AC_DEFINE(__STL_NO_EXPLICIT) ac_cv_explicit="no"]) ++ [AC_DEFINE(_STLP_NO_EXPLICIT) ac_cv_explicit="no"]) + AC_MSG_RESULT($ac_cv_explicit) + + AC_MSG_CHECKING(for mutable keyword) +@@ -242,7 +242,7 @@ + ], + [c.update()], + [ac_cv_mutable="yes"], +- [AC_DEFINE(__STL_NEED_MUTABLE) ac_cv_mutable="no"]) ++ [AC_DEFINE(_STLP_NEED_MUTABLE) ac_cv_mutable="no"]) + AC_MSG_RESULT($ac_cv_mutable) + + AC_MSG_CHECKING(for new style casts) +@@ -256,7 +256,7 @@ + c.update(const_cast(&a)) + ], + [ac_cv_new_cast="yes"], +- [AC_DEFINE(__STL_NO_NEW_STYLE_CASTS) ac_cv_new_cast="no"]) ++ [AC_DEFINE(_STLP_NO_NEW_STYLE_CASTS) ac_cv_new_cast="no"]) + AC_MSG_RESULT($ac_cv_new_cast) + + AC_MSG_CHECKING(for new-style C library headers) +@@ -269,13 +269,13 @@ + #include + #include + #include +- #ifndef __STL_NO_WCHAR_T ++ #ifndef _STLP_NO_WCHAR_T + #include + #endif + ], + [], + [ac_cv_newheaders="yes"], +- [AC_DEFINE(__STL_HAS_NO_NEW_C_HEADERS) ac_cv_newheaders="no"]) ++ [AC_DEFINE(_STLP_HAS_NO_NEW_C_HEADERS) ac_cv_newheaders="no"]) + AC_MSG_RESULT($ac_cv_newheaders) + + AC_MSG_CHECKING(for new-style header) +@@ -285,7 +285,7 @@ + ], + [], + [ac_cv_new_new="yes"], +- [AC_DEFINE(__STL_NO_NEW_NEW_HEADER) ac_cv_new_new="no"]) ++ [AC_DEFINE(_STLP_NO_NEW_NEW_HEADER) ac_cv_new_new="no"]) + AC_MSG_RESULT($ac_cv_new_new) + + +@@ -302,7 +302,7 @@ + (void)p.operate((char*)"aaa"); + ], + [ac_cv_member_templates="yes"], +-[AC_DEFINE(__STL_NO_MEMBER_TEMPLATES) ac_cv_member_templates="no"] ++[AC_DEFINE(_STLP_NO_MEMBER_TEMPLATES) ac_cv_member_templates="no"] + ) + AC_MSG_RESULT($ac_cv_member_templates) + +@@ -320,7 +320,7 @@ + ], + [], + [ac_cv_friend_templates="yes"], +-[AC_DEFINE(__STL_NO_FRIEND_TEMPLATES) ac_cv_friend_templates="no"] ++[AC_DEFINE(_STLP_NO_FRIEND_TEMPLATES) ac_cv_friend_templates="no"] + ) + AC_MSG_RESULT($ac_cv_friend_templates) + +@@ -342,7 +342,7 @@ + ], + [], + [ac_cv_qual_friend_templates="yes"], +-[AC_DEFINE(__STL_NO_QUALIFIED_FRIENDS) ac_cv_qual_friend_templates="no"] ++[AC_DEFINE(_STLP_NO_QUALIFIED_FRIENDS) ac_cv_qual_friend_templates="no"] + ) + AC_MSG_RESULT($ac_cv_qual_friend_templates) + +@@ -366,7 +366,7 @@ + ], + [], + [ac_cv_member_template_keyword="yes"], +-[AC_DEFINE(__STL_NO_MEMBER_TEMPLATE_KEYWORD) ac_cv_member_template_keyword="no"] ++[AC_DEFINE(_STLP_NO_MEMBER_TEMPLATE_KEYWORD) ac_cv_member_template_keyword="no"] + ) + AC_MSG_RESULT($ac_cv_member_template_keyword) + +@@ -391,7 +391,7 @@ + ], + [], + [ac_cv_member_template_classes="yes"], +-[AC_DEFINE(__STL_NO_MEMBER_TEMPLATE_CLASSES) ac_cv_member_template_classes="no"] ++[AC_DEFINE(_STLP_NO_MEMBER_TEMPLATE_CLASSES) ac_cv_member_template_classes="no"] + ) + AC_MSG_RESULT($ac_cv_member_template_classes) + fi +@@ -420,7 +420,7 @@ + [p.bar(); + p1.foo();], + [ac_cv_partial_spec="yes"], +-[AC_DEFINE(__STL_NO_CLASS_PARTIAL_SPECIALIZATION) ac_cv_partial_spec="no"] ++[AC_DEFINE(_STLP_NO_CLASS_PARTIAL_SPECIALIZATION) ac_cv_partial_spec="no"] + ) + AC_MSG_RESULT($ac_cv_partial_spec) + +@@ -452,7 +452,7 @@ + ], + [p.bar(); + p1.foo();], +-[AC_DEFINE(__STL_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS) ac_cv_partial_spec_needs_args="yes"], ++[AC_DEFINE(_STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS) ac_cv_partial_spec_needs_args="yes"], + [ac_cv_partial_spec_needs_args="no"] + ) + AC_MSG_RESULT($ac_cv_partial_spec_needs_args) +@@ -481,7 +481,7 @@ + ], + [p.bar(); + p1.foo();], +-[AC_DEFINE(__STL_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS) ac_cv_partial_spec_needs_args="yes"], ++[AC_DEFINE(_STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS) ac_cv_partial_spec_needs_args="yes"], + [ac_cv_partial_spec_needs_args="no"] + ) + AC_MSG_RESULT($ac_cv_partial_spec_needs_args) +@@ -507,7 +507,7 @@ + A po_a(0); A po_b(1); (void)po_foo(po_b, po_a) + ], + [ac_cv_partial_ord="yes"], +-[AC_DEFINE(__STL_NO_FUNCTION_TMPL_PARTIAL_ORDER) ac_cv_partial_ord="no"] ++[AC_DEFINE(_STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER) ac_cv_partial_ord="no"] + ) + AC_MSG_RESULT($ac_cv_partial_ord) + +@@ -531,7 +531,7 @@ + [p.bar(); + p1.bar();], + [ac_cv_method_spec="yes"], +-[AC_DEFINE(__STL_NO_METHOD_SPECIALIZATION) ac_cv_method_spec="no"] ++[AC_DEFINE(_STLP_NO_METHOD_SPECIALIZATION) ac_cv_method_spec="no"] + ) + AC_MSG_RESULT($ac_cv_method_spec) + +@@ -539,7 +539,7 @@ + AC_TRY_LINK( + [#include ], + [long i = lrand48();], +- [AC_DEFINE(__STL_RAND48) ac_cv_func_lrand48="yes"], ++ [AC_DEFINE(_STLP_RAND48) ac_cv_func_lrand48="yes"], + [ac_cv_func_lrand48="no"]) + AC_MSG_RESULT($ac_cv_func_lrand48) + +@@ -553,7 +553,7 @@ + ], + [], + [ac_cv_default_template_param="yes"], +- [AC_DEFINE(__STL_LIMITED_DEFAULT_TEMPLATES) ac_cv_default_template_param="no"]) ++ [AC_DEFINE(_STLP_LIMITED_DEFAULT_TEMPLATES) ac_cv_default_template_param="no"]) + AC_MSG_RESULT($ac_cv_default_template_param) + if test "$ac_cv_default_template_param" = "no"; then + AC_MSG_CHECKING(for default type parameters) +@@ -580,7 +580,7 @@ + Class > cl2; + ], + [], +- [AC_DEFINE(__STL_DEFAULT_TYPE_PARAM) ac_cv_default_type_param="yes"], ++ [AC_DEFINE(_STLP_DEFAULT_TYPE_PARAM) ac_cv_default_type_param="yes"], + [ac_cv_default_type_param="no"]) + AC_MSG_RESULT($ac_cv_default_type_param) + +@@ -605,7 +605,7 @@ + ], + [], + [ac_cv_default_nontype_param="yes"], +- [AC_DEFINE(__STL_NO_DEFAULT_NON_TYPE_PARAM) ac_cv_default_nontype_param="no"] ++ [AC_DEFINE(_STLP_NO_DEFAULT_NON_TYPE_PARAM) ac_cv_default_nontype_param="no"] + ) + AC_MSG_RESULT($ac_cv_default_nontype_param) + +@@ -630,7 +630,7 @@ + ], + [], + [ac_cv_nontype_param_bug="no"], +- [AC_DEFINE(__STL_NON_TYPE_TMPL_PARAM_BUG) ac_cv_nontype_param_bug="yes"] ++ [AC_DEFINE(_STLP_NON_TYPE_TMPL_PARAM_BUG) ac_cv_nontype_param_bug="yes"] + ) + AC_MSG_RESULT($ac_cv_nontype_param_bug) + +@@ -640,7 +640,7 @@ + template int Class::a;], + [], + [ac_cv_static_templates="yes"], +- [AC_DEFINE(__STL_NO_STATIC_TEMPLATE_DATA) ac_cv_static_templates="no"]) ++ [AC_DEFINE(_STLP_NO_STATIC_TEMPLATE_DATA) ac_cv_static_templates="no"]) + AC_MSG_RESULT($ac_cv_static_templates) + + if test "$ac_cv_static_templates" = no; then +@@ -648,7 +648,7 @@ + AC_TRY_COMPILE( + [int a_w __attribute__((weak));], + [], +- [AC_DEFINE(__STL_WEAK_ATTRIBUTE) ac_cv_weak_attribute="yes"], ++ [AC_DEFINE(_STLP_WEAK_ATTRIBUTE) ac_cv_weak_attribute="yes"], + [ac_cv_weak_attribute="no"]) + AC_MSG_RESULT($ac_cv_weak_attribute) + fi +@@ -660,7 +660,7 @@ + template int Class::a[Class::sz];], + [], + [ac_cv_static_array_bug="no"], +- [AC_DEFINE(__STL_STATIC_ARRAY_BUG) ac_cv_static_array_bug="yes"]) ++ [AC_DEFINE(_STLP_STATIC_ARRAY_BUG) ac_cv_static_array_bug="yes"]) + AC_MSG_RESULT($ac_cv_static_array_bug) + fi + +@@ -670,7 +670,7 @@ + template const int Class::a;], + [], + [ac_cv_static_init_bug="no"], +- [AC_DEFINE(__STL_STATIC_CONST_INIT_BUG) ac_cv_static_init_bug="yes"]) ++ [AC_DEFINE(_STLP_STATIC_CONST_INIT_BUG) ac_cv_static_init_bug="yes"]) + AC_MSG_RESULT($ac_cv_static_init_bug) + + AC_MSG_CHECKING(for namespaces support) +@@ -689,7 +689,7 @@ + ], + [(void)ns_foo(1);], + [_TEST_STD="std" _TEST_STD_BEGIN="namespace $_TEST_STD" _TEST_STD_END="namespace $_TEST_STD" ac_cv_namespaces="yes"], +- [AC_DEFINE(__STL_HAS_NO_NAMESPACES) _TEST_STD="" _TEST_STD_BEGIN="" _TEST_STD_END="" ac_cv_namespaces="no"]) ++ [AC_DEFINE(_STLP_HAS_NO_NAMESPACES) _TEST_STD="" _TEST_STD_BEGIN="" _TEST_STD_END="" ac_cv_namespaces="no"]) + AC_MSG_RESULT($ac_cv_namespaces) + + AC_MSG_CHECKING(for broken "using" directive) +@@ -711,10 +711,10 @@ + if `check_warning` ; then + ac_cv_broken_using=no + else +- AC_DEFINE(__STL_BROKEN_USING_DIRECTIVE) ++ AC_DEFINE(_STLP_BROKEN_USING_DIRECTIVE) + fi + else +- AC_DEFINE(__STL_BROKEN_USING_DIRECTIVE) ++ AC_DEFINE(_STLP_BROKEN_USING_DIRECTIVE) + fi + AC_MSG_RESULT($ac_cv_broken_using) + +@@ -724,7 +724,7 @@ + --disable-namespaces Don't use namespaces support], + [ + case "$enableval" in +- no) AC_DEFINE(__STL_NO_NAMESPACES) ++ no) AC_DEFINE(_STLP_NO_NAMESPACES) + _TEST_STD="" + _TEST_STD_BEGIN="" + _TEST_STD_END="" +@@ -750,7 +750,7 @@ + }], + [(void)ex_foo();], + [ac_cv_exceptions="yes"], +- [AC_DEFINE(__STL_HAS_NO_EXCEPTIONS) ac_cv_exceptions="no"]) ++ [AC_DEFINE(_STLP_HAS_NO_EXCEPTIONS) ac_cv_exceptions="no"]) + AC_MSG_RESULT($ac_cv_exceptions) + + if test "$ac_cv_exceptions" = yes; then +@@ -760,11 +760,11 @@ + [template inline int ex_spec_foo(const T&) throw () { return 0;} ], + [(void)ex_spec_foo(5);], + [ac_cv_exception_spec="yes"], +- [AC_DEFINE(__STL_NO_EXCEPTION_SPEC) ac_cv_exception_spec="no"]) ++ [AC_DEFINE(_STLP_NO_EXCEPTION_SPEC) ac_cv_exception_spec="no"]) + dnl if test "$ac_cv_exception_spec" = yes; then + dnl # check if no warnings have been issued + dnl if `check_warning` ; then +-dnl AC_DEFINE(__STL_EXCEPTION_SPEC) ++dnl AC_DEFINE(_STLP_EXCEPTION_SPEC) + dnl else + dnl ac_cv_exception_spec=no + dnl fi +@@ -782,14 +782,14 @@ + }], + [(void)ex_foo();], + [ac_cv_throw_return_bug="no"], +- [AC_DEFINE(__STL_THROW_RETURN_BUG) ac_cv_throw_return_bug="yes"]) ++ [AC_DEFINE(_STLP_THROW_RETURN_BUG) ac_cv_throw_return_bug="yes"]) + + if test "$ac_cv_throw_return_bug" = no; then + # check if no warnings have been issued + if `check_warning` ; then + ac_cv_throw_return_bug="no" + else +- AC_DEFINE(__STL_THROW_RETURN_BUG) ++ AC_DEFINE(_STLP_THROW_RETURN_BUG) + ac_cv_throw_return_bug="yes" + fi + fi +@@ -801,7 +801,7 @@ + AC_TRY_COMPILE( + [ + #include +- # if !defined (__STL_HAS_NO_NAMESPACES) ++ # if !defined (_STLP_HAS_NO_NAMESPACES) + using namespace $_TEST_STD; + # endif + basic_string, allocator > bs; +@@ -809,7 +809,7 @@ + ], + [], + [ ac_cv_string_header="yes"], +- [ AC_DEFINE(__STL_NO_STRING_HEADER) ac_cv_string_header="no"] ++ [ AC_DEFINE(_STLP_NO_STRING_HEADER) ac_cv_string_header="no"] + ) + AC_MSG_RESULT($ac_cv_string_header) + +@@ -819,7 +819,7 @@ + AC_TRY_COMPILE( + [ + #include +- # if !defined (__STL_HAS_NO_NAMESPACES) ++ # if !defined (_STLP_HAS_NO_NAMESPACES) + using namespace $_TEST_STD; + # endif + string s; +@@ -835,7 +835,7 @@ + ], + [], + [ac_cv_stdexcept_header="yes"], +- [AC_DEFINE(__STL_NO_STDEXCEPT_HEADER) ac_cv_stdexcept_header="no"] ++ [AC_DEFINE(_STLP_NO_STDEXCEPT_HEADER) ac_cv_stdexcept_header="no"] + ) + AC_MSG_RESULT($ac_cv_stdexcept_header) + +@@ -844,7 +844,7 @@ + [ + #include + #include +- # if !defined (__STL_HAS_NO_NAMESPACES) ++ # if !defined (_STLP_HAS_NO_NAMESPACES) + using namespace $_TEST_STD; + # endif + +@@ -857,7 +857,7 @@ + outp(cout, "Hello World\n") + ], + [ac_cv_newstreams="yes"], +- [AC_DEFINE(__STL_HAS_NO_NEW_IOSTREAMS) ac_cv_newstreams="no"]) ++ [AC_DEFINE(_STLP_HAS_NO_NEW_IOSTREAMS) ac_cv_newstreams="no"]) + AC_MSG_RESULT($ac_cv_newstreams) + + dnl end namespace-related tests +@@ -868,7 +868,7 @@ + AC_TRY_COMPILE( + [ + #include +- # if !defined (__STL_HAS_NO_NAMESPACES) ++ # if !defined (_STLP_HAS_NO_NAMESPACES) + using namespace $_TEST_STD; + # endif + class my_exception: public $_TEST_STD::exception {}; +@@ -876,13 +876,13 @@ + ], + [], + [ac_cv_exception_header="yes"], +- [AC_DEFINE(__STL_NO_EXCEPTION_HEADER) ac_cv_exception_header="no"] ++ [AC_DEFINE(_STLP_NO_EXCEPTION_HEADER) ac_cv_exception_header="no"] + ) + AC_MSG_RESULT($ac_cv_exception_header) + + AC_MSG_CHECKING(builtin constructor bug) + AC_TRY_RUN( [ +-# ifdef __STL_USE_NEW_STYLE_HEADERS ++# ifdef _STLP_USE_NEW_STYLE_HEADERS + # include + # include + # include +@@ -926,8 +926,8 @@ + } + ], + [ ac_cv_builtin_c_bug="no"], +-[ AC_DEFINE(__STL_DEFAULT_CONSTRUCTOR_BUG) ac_cv_builtin_c_bug="yes"], +-[ AC_DEFINE(__STL_DEFAULT_CONSTRUCTOR_BUG) ac_cv_builtin_c_bug="yes"] ++[ AC_DEFINE(_STLP_DEFAULT_CONSTRUCTOR_BUG) ac_cv_builtin_c_bug="yes"], ++[ AC_DEFINE(_STLP_DEFAULT_CONSTRUCTOR_BUG) ac_cv_builtin_c_bug="yes"] + ) + AC_MSG_RESULT($ac_cv_builtin_c_bug) + +@@ -938,7 +938,7 @@ + inline void tc_test_foo() { tc_bug_foo(output_iterator_tag()); }], + [tc_test_foo();], + [ac_cv_tc_bug="no"], +- [AC_DEFINE(__STL_TRIVIAL_CONSTRUCTOR_BUG) ac_cv_tc_bug="yes"]) ++ [AC_DEFINE(_STLP_TRIVIAL_CONSTRUCTOR_BUG) ac_cv_tc_bug="yes"]) + AC_MSG_RESULT($ac_cv_tc_bug) + + AC_MSG_CHECKING(for trivial destructor bug) +@@ -949,7 +949,7 @@ + [ td_bug_bar->~output_iterator_tag(); + ], + [ac_cv_td_bug="no"], +- [AC_DEFINE(__STL_TRIVIAL_DESTRUCTOR_BUG) ac_cv_td_bug="yes"]) ++ [AC_DEFINE(_STLP_TRIVIAL_DESTRUCTOR_BUG) ac_cv_td_bug="yes"]) + AC_MSG_RESULT($ac_cv_td_bug) + + AC_MSG_CHECKING(for explicit function template arguments) +@@ -967,7 +967,7 @@ + [ foo f1, f2; + int ret= (f1==f2) ], + [ _NULLARGS="<>" ac_cv_expl_fun_args="yes"], +- [ AC_DEFINE(__STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS) ac_cv_expl_fun_args="no" _NULLARGS=""]) ++ [ AC_DEFINE(_STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS) ac_cv_expl_fun_args="no" _NULLARGS=""]) + AC_MSG_RESULT($ac_cv_expl_fun_args) + + AC_MSG_CHECKING(for template parameter baseclass matching) +@@ -1004,7 +1004,7 @@ + ], + [ (void)tbase_foo((int)1); ], + [ac_cv_base_match="yes"], +- [AC_DEFINE(__STL_BASE_MATCH_BUG) ac_cv_base_match="no"]) ++ [AC_DEFINE(_STLP_BASE_MATCH_BUG) ac_cv_base_match="no"]) + AC_MSG_RESULT($ac_cv_base_match) + + AC_MSG_CHECKING(for non-template parameter baseclass matching ) +@@ -1037,7 +1037,7 @@ + ], + [ nont_base_foo((int)1); ], + [ac_cv_nont_base_match="yes"], +- [AC_DEFINE(__STL_NONTEMPL_BASE_MATCH_BUG) ac_cv_nont_base_match="no"]) ++ [AC_DEFINE(_STLP_NONTEMPL_BASE_MATCH_BUG) ac_cv_nont_base_match="no"]) + AC_MSG_RESULT($ac_cv_nont_base_match) + + AC_MSG_CHECKING(for nested type parameters bug) +@@ -1046,7 +1046,7 @@ + template inline nt_o::ii nt_o::foo(ii) { return 0; }], + [], + [ac_cv_nested_type_param_bug="no"], +- [AC_DEFINE(__STL_NESTED_TYPE_PARAM_BUG) ac_cv_nested_type_param_bug="yes"]) ++ [AC_DEFINE(_STLP_NESTED_TYPE_PARAM_BUG) ac_cv_nested_type_param_bug="yes"]) + AC_MSG_RESULT($ac_cv_nested_type_param_bug) + + +@@ -1087,8 +1087,8 @@ + (void)n(1,2); + ], + [ac_cv_typebug="no"], +- [AC_DEFINE(__STL_BASE_TYPEDEF_BUG) +- AC_DEFINE(__STL_BASE_TYPEDEF_OUTSIDE_BUG) ac_cv_typebug="yes"]) ++ [AC_DEFINE(_STLP_BASE_TYPEDEF_BUG) ++ AC_DEFINE(_STLP_BASE_TYPEDEF_OUTSIDE_BUG) ac_cv_typebug="yes"]) + AC_MSG_RESULT($ac_cv_typebug) + + AC_MSG_CHECKING(if inherited typedefs visible from outside) +@@ -1115,7 +1115,7 @@ + ], + [], + [ac_cv_outside_typedef="yes"], +- [AC_DEFINE(__STL_BASE_TYPEDEF_OUTSIDE_BUG) ac_cv_outside_typedef="no"]) ++ [AC_DEFINE(_STLP_BASE_TYPEDEF_OUTSIDE_BUG) ac_cv_outside_typedef="no"]) + AC_MSG_RESULT($ac_cv_outside_typedef) + + # fi +@@ -1129,7 +1129,7 @@ + ], + [], + [ac_cv_private="yes"], +- [AC_DEFINE(__STL_UNINITIALIZABLE_PRIVATE) ac_cv_private="no"]) ++ [AC_DEFINE(_STLP_UNINITIALIZABLE_PRIVATE) ac_cv_private="no"]) + AC_MSG_RESULT($ac_cv_private) + + +@@ -1146,7 +1146,7 @@ + ], + [], + [ac_cv_const_constructor_bug="no"], +- [AC_DEFINE(__STL_CONST_CONSTRUCTOR_BUG) ac_cv_const_constructor_bug="yes"]) ++ [AC_DEFINE(_STLP_CONST_CONSTRUCTOR_BUG) ac_cv_const_constructor_bug="yes"]) + AC_MSG_RESULT($ac_cv_const_constructor_bug) + + AC_MSG_CHECKING(for loop inline problems) +@@ -1155,13 +1155,13 @@ + int i; for (i=0; i0) a-=3; return a; }], + [(void)il_foo(2);], + [ac_cv_inline_problems="no"], +- [AC_DEFINE(__STL_LOOP_INLINE_PROBLEMS) ac_cv_inline_problems="yes"]) ++ [AC_DEFINE(_STLP_LOOP_INLINE_PROBLEMS) ac_cv_inline_problems="yes"]) + if test "$ac_cv_inline_problems" = no; then + # check if no warnings have been issued + if `check_warning` ; then + ac_cv_inline_problems="no" + else +- AC_DEFINE(__STL_LOOP_INLINE_PROBLEMS) ++ AC_DEFINE(_STLP_LOOP_INLINE_PROBLEMS) + ac_cv_inline_problems="yes" + fi + fi +@@ -1187,7 +1187,7 @@ + [ + int b(5); a.ptr=&b;], + [ac_cv_unused_required="no"], +- [AC_DEFINE(__SGI_STL_NO_ARROW_OPERATOR) ac_cv_unused_required="yes"] ++ [AC_DEFINE(_STPL_NO_ARROW_OPERATOR) ac_cv_unused_required="yes"] + ) + AC_MSG_RESULT($ac_cv_unused_required) + +@@ -1217,26 +1217,26 @@ + ], + [pmf_foo pmf; (void)mem_fun(&pmf_foo::bar)(&pmf)], + [ac_cv_pmf_bug="no"], +- [AC_DEFINE( __STL_MEMBER_POINTER_PARAM_BUG) ac_cv_pmf_bug="yes"]) ++ [AC_DEFINE( _STLP_MEMBER_POINTER_PARAM_BUG) ac_cv_pmf_bug="yes"]) + AC_MSG_RESULT($ac_cv_pmf_bug) + + AC_MSG_CHECKING(if bad_alloc defined in ) + AC_TRY_COMPILE( + [ +- #if !defined (__STL_NO_NEW_STYLE_HEADERS) ++ #if !defined (_STLP_NO_NEW_STYLE_HEADERS) + #include + #else + #include + #endif + +- # if !defined (__STL_HAS_NO_NAMESPACES) ++ # if !defined (_STLP_HAS_NO_NAMESPACES) + using namespace $_TEST_STD; + # endif + + bad_alloc badalloc_foo() { bad_alloc err; return err;}], + [(void)badalloc_foo()], + [ac_cv_bad_alloc="yes"], +- [AC_DEFINE(__STL_NO_BAD_ALLOC) ac_cv_bad_alloc="no"]) ++ [AC_DEFINE(_STLP_NO_BAD_ALLOC) ac_cv_bad_alloc="no"]) + AC_MSG_RESULT($ac_cv_bad_alloc) + + AC_MSG_CHECKING(for __type_traits automatic specialization) +@@ -1246,7 +1246,7 @@ + return 0; + }], + [(void)tt_foo(5)], +- [AC_DEFINE(__STL_AUTOMATIC_TYPE_TRAITS) ac_cv_type_traits="yes"], ++ [AC_DEFINE(_STLP_AUTOMATIC_TYPE_TRAITS) ac_cv_type_traits="yes"], + [ac_cv_type_traits="no"]) + AC_MSG_RESULT($ac_cv_type_traits) + +@@ -1261,7 +1261,7 @@ + --disable-exceptions Don't use exceptions support], + [ + case "$enableval" in +- no) AC_DEFINE(__STL_NO_EXCEPTIONS) ++ no) AC_DEFINE(_STLP_NO_EXCEPTIONS) + AC_MSG_RESULT(Config arg --disable-exceptions : disabling exceptions by user request);; + *) AC_MSG_RESULT(Config default: exceptions enabled) + esac +@@ -1277,7 +1277,7 @@ + --disable-relops No separate rel_ops namespace for relational operators], + [ + case "$enableval" in +- no) AC_DEFINE(__STL_NO_RELOPS_NAMESPACE) ++ no) AC_DEFINE(_STLP_NO_RELOPS_NAMESPACE) + AC_MSG_RESULT(Config arg --disable-relops : no std::rel_ops namespace by user request);; + *) AC_MSG_RESULT(Config default: Separate std::rel_ops namespace for relational operators) + esac +@@ -1285,7 +1285,7 @@ + [AC_MSG_RESULT(Config default: Separate std::rel_ops namespace for relational operators)] + ) + else +- AC_DEFINE(__STL_NO_RELOPS_NAMESPACE) ++ AC_DEFINE(_STLP_NO_RELOPS_NAMESPACE) + fi + + if test "$ac_cv_newheaders" = yes; then +@@ -1293,7 +1293,7 @@ + --disable-new-style-headers Don't use new-style headers], + [ + case "$enableval" in +- no) AC_DEFINE(__STL_NO_NEW_STYLE_HEADERS) ++ no) AC_DEFINE(_STLP_NO_NEW_STYLE_HEADERS) + AC_MSG_RESULT(Config arg --disable-new-style-headers : not using new-style headers);; + *) AC_MSG_RESULT(Config default: using new-style headers) + esac +@@ -1301,7 +1301,7 @@ + [AC_MSG_RESULT(Config default: using new-style headers)] + ) + else +- AC_DEFINE(__STL_NO_NEW_STYLE_HEADERS) ++ AC_DEFINE(_STLP_NO_NEW_STYLE_HEADERS) + fi + + if test "$ac_cv_newstreams" = yes; then +@@ -1309,7 +1309,7 @@ + --disable-new-iostreams Don't use new iostreams], + [ + case "$enableval" in +- no) AC_DEFINE(__STL_NO_NEW_IOSTREAMS) ++ no) AC_DEFINE(_STLP_NO_NEW_IOSTREAMS) + AC_MSG_RESULT(Config arg --disable-new-iostreams : not using new iostreams);; + *) AC_MSG_RESULT(Config default: using new iostreams) + esac +@@ -1317,7 +1317,7 @@ + [AC_MSG_RESULT(Config default: using new iostreams)] + ) + else +- AC_DEFINE(__STL_NO_NEW_IOSTREAMS) ++ AC_DEFINE(_STLP_NO_NEW_IOSTREAMS) + fi + + AC_ARG_ENABLE(sgi-allocators,[--enable-sgi-allocators : set default parameter to SGI-style default alloc, not allocator +@@ -1325,7 +1325,7 @@ + [ + case "$enableval" in + yes ) AC_MSG_RESULT(Config arg --enable-sgi-allocators : SGI-style alloc as default allocator) +- AC_DEFINE(__STL_USE_SGI_ALLOCATORS);; ++ AC_DEFINE(_STLP_USE_RAW_SGI_ALLOCATORS);; + * ) AC_MSG_RESULT(Config default: using allocator as default allocator if possible ) + esac + ], +@@ -1339,7 +1339,7 @@ + [ + case "$enableval" in + yes ) AC_MSG_RESULT(Config arg --enable-malloc : setting malloc_alloc as default alloc) +- AC_DEFINE(__STL_USE_MALLOC);; ++ AC_DEFINE(_STLP_USE_MALLOC);; + * ) AC_MSG_RESULT(Config default: not using malloc_alloc as default alloc) + esac + ], +@@ -1353,7 +1353,7 @@ + [ + case "$enableval" in + yes ) AC_MSG_RESULT(Config arg --enable-newalloc : setting new_alloc as default alloc) +- AC_DEFINE(__STL_USE_NEWALLOC);; ++ AC_DEFINE(_STLP_USE_NEWALLOC);; + * ) + AC_MSG_RESULT(Config default: not using new_alloc as default alloc) + esac +@@ -1370,7 +1370,7 @@ + no ) AC_MSG_RESULT(Config arg --disable-defalloc : not including HP-style defalloc.h into alloc.h);; + + * ) AC_MSG_RESULT(Config default : including HP-style defalloc.h into alloc.h) +- AC_DEFINE(__STL_USE_DEFALLOC) ++ AC_DEFINE(_STLP_USE_DEFALLOC) + esac + ], + [ +@@ -1384,7 +1384,7 @@ + [ + case "$enableval" in + yes ) AC_MSG_RESULT(Config arg --enable-debugalloc : use debug versions of allocators ) +- AC_DEFINE(__STL_DEBUG_ALLOC);; ++ AC_DEFINE(_STLP_DEBUG_ALLOC);; + * ) + AC_MSG_RESULT(Config default : not using debug allocators) + esac +@@ -1400,7 +1400,7 @@ + [ + case "$enableval" in + yes ) AC_MSG_RESULT(Config arg --enable-abbrevs : using abbreviated class names internally) +- AC_DEFINE(__STL_USE_ABBREVS);; ++ AC_DEFINE(_STLP_USE_ABBREVS);; + * ) + AC_MSG_RESULT(Config default : not using abbreviated class names internally) + esac +Only in tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/new_compiler: stlconf.h +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/new_compiler/stlconf.h.in tripwire-2.3.1-2/src/STLport-4.0/stlport/config/new_compiler/stlconf.h.in +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/new_compiler/stlconf.h.in Sat Feb 24 10:44:33 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/new_compiler/stlconf.h.in Sun Aug 11 18:59:24 2002 +@@ -16,8 +16,8 @@ + * + */ + +-#ifndef __SGI_STL_STLCONF_H +-# define __SGI_STL_STLCONF_H ++#ifndef _STLP_STLCONF_H ++# define _STLP_STLCONF_H + + # undef __AUTO_CONFIGURED + +@@ -31,102 +31,103 @@ + # if defined (__AUTO_CONFIGURED) + // auto-configured section + +-# undef __STL_NO_EXCEPTIONS +-# undef __STL_NO_NAMESPACES +-# undef __STL_NO_RELOPS_NAMESPACE +-# undef __STL_NO_NEW_NEW_HEADER ++# undef _STLP_NO_EXCEPTIONS ++# undef _STLP_NO_NAMESPACES ++# undef _STLP_NO_RELOPS_NAMESPACE ++# undef _STLP_NO_NEW_NEW_HEADER + +-# undef __STL_NO_NEW_IOSTREAMS ++# undef _STLP_NO_NEW_IOSTREAMS + + // select threads strategy + # undef _PTHREADS + # undef _NOTHREADS + + // select SGI-style alloc instead of allocator +-# undef __STL_USE_SGI_ALLOCATORS ++# undef _STLP_USE_SGI_ALLOCATORS + + // select allocation method you like +-# undef __STL_USE_MALLOC +-# undef __STL_USE_NEWALLOC ++# undef _STLP_USE_MALLOC ++# undef _STLP_USE_NEWALLOC + + // this one is not mandatory, just enabled +-# undef __STL_USE_DEFALLOC ++# undef _STLP_USE_DEFALLOC + +-// define __STL_USE_ABBREVS if your linker has trouble with long ++// define _STLP_USE_ABBREVS if your linker has trouble with long + // external symbols +-# undef __STL_USE_ABBREVS ++# undef _STLP_USE_ABBREVS + + + // unsigned 32-bit integer type +-# define __STL_UINT32_T unsigned +-# undef __STL_NO_BOOL +-# undef __STL_DONT_USE_BOOL_TYPEDEF +-# undef __STL_YVALS_H +-# undef __STL_LIMITED_DEFAULT_TEMPLATES +-# undef __STL_DEFAULT_TYPE_PARAM +-# undef __STL_NO_STATIC_TEMPLATE_DATA +-# undef __STL_RAND48 +-# undef __STL_LOOP_INLINE_PROBLEMS +- +-# undef __STL_HAS_NO_NAMESPACES +- +-# undef __STL_NEED_TYPENAME +-# undef __STL_NEED_EXPLICIT +-# undef __STL_HAS_NO_EXCEPTIONS +-# undef __STL_NO_EXCEPTION_SPEC +-# undef __STL_WEAK_ATTRIBUTE +-# undef __STL_BASE_MATCH_BUG +-# undef __STL_NONTEMPL_BASE_MATCH_BUG +-# undef __STL_NESTED_TYPE_PARAM_BUG +-# undef __SGI_STL_NO_ARROW_OPERATOR +-# undef __STL_UNINITIALIZABLE_PRIVATE +-# undef __STL_BASE_TYPEDEF_BUG +-# undef __STL_BASE_TYPEDEF_OUTSIDE_BUG +-# undef __STL_CONST_CONSTRUCTOR_BUG +- +-# undef __STL_NO_NEW_STYLE_CASTS +-# undef __STL_NO_WCHAR_T +-# undef __STL_WCHAR_T_IS_USHORT +-# undef __STL_LONG_LONG +-# undef __STL_NO_LONG_DOUBLE +-# undef __STL_NEED_MUTABLE +-# undef __STL_NO_PARTIAL_SPECIALIZATION_SYNTAX +-# undef __STL_NO_BAD_ALLOC +-# undef __STL_DEBUG_ALLOC +-# undef __STL_NO_MEMBER_TEMPLATES +-# undef __STL_NO_MEMBER_TEMPLATE_CLASSES +-# undef __STL_NO_MEMBER_TEMPLATE_KEYWORD +-# undef __STL_NO_FRIEND_TEMPLATES +-# undef __STL_NO_QUALIFIED_FRIENDS +-# undef __STL_NO_CLASS_PARTIAL_SPECIALIZATION +-# undef __STL_NO_FUNCTION_TMPL_PARTIAL_ORDER +-# undef __STL_AUTOMATIC_TYPE_TRAITS +-# undef __STL_MEMBER_POINTER_PARAM_BUG +-# undef __STL_NON_TYPE_TMPL_PARAM_BUG +-# undef __STL_NO_DEFAULT_NON_TYPE_PARAM +-# undef __STL_NO_METHOD_SPECIALIZATION +-# undef __STL_STATIC_ARRAY_BUG +-# undef __STL_STATIC_CONST_INIT_BUG +-# undef __STL_TRIVIAL_CONSTRUCTOR_BUG +-# undef __STL_TRIVIAL_DESTRUCTOR_BUG +-# undef __STL_BROKEN_USING_DIRECTIVE +-# undef __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS +-# undef __STL_NO_EXCEPTION_HEADER +-# undef __STL_DEFAULT_CONSTRUCTOR_BUG +- +-# undef __STL_HAS_NO_NEW_IOSTREAMS +-# undef __STL_HAS_NO_NEW_C_HEADERS +-# undef __STL_STATIC_CONST_INIT_BUG ++# define _STLP_UINT32_T unsigned ++# undef _STLP_NO_BOOL ++# undef _STLP_DONT_USE_BOOL_TYPEDEF ++# undef _STLP_YVALS_H ++# undef _STLP_LIMITED_DEFAULT_TEMPLATES ++# undef _STLP_DEFAULT_TYPE_PARAM ++# undef _STLP_NO_STATIC_TEMPLATE_DATA ++# undef _STLP_RAND48 ++# undef _STLP_LOOP_INLINE_PROBLEMS ++ ++# undef _STLP_HAS_NO_NAMESPACES ++ ++# undef _STLP_NEED_TYPENAME ++# undef _STLP_NEED_EXPLICIT ++# undef _STLP_HAS_NO_EXCEPTIONS ++# undef _STLP_NO_EXCEPTION_SPEC ++# undef _STLP_WEAK_ATTRIBUTE ++# undef _STLP_BASE_MATCH_BUG ++# undef _STLP_NONTEMPL_BASE_MATCH_BUG ++# undef _STLP_NESTED_TYPE_PARAM_BUG ++# undef _STLP_NO_ARROW_OPERATOR ++# undef _STLP_UNINITIALIZABLE_PRIVATE ++# undef _STLP_BASE_TYPEDEF_BUG ++# undef _STLP_BASE_TYPEDEF_OUTSIDE_BUG ++# undef _STLP_CONST_CONSTRUCTOR_BUG ++ ++# undef _STLP_NO_NEW_STYLE_CASTS ++# undef _STLP_NO_WCHAR_T ++# undef _STLP_WCHAR_T_IS_USHORT ++# undef _STLP_LONG_LONG ++# undef _STLP_NO_LONG_DOUBLE ++# undef _STLP_NEED_MUTABLE ++# undef _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX ++# undef _STLP_NO_BAD_ALLOC ++# undef _STLP_DEBUG_ALLOC ++# undef _STLP_NO_MEMBER_TEMPLATES ++# undef _STLP_NO_MEMBER_TEMPLATE_CLASSES ++# undef _STLP_NO_MEMBER_TEMPLATE_KEYWORD ++# undef _STLP_NO_FRIEND_TEMPLATES ++# undef _STLP_NO_QUALIFIED_FRIENDS ++# undef _STLP_NO_CLASS_PARTIAL_SPECIALIZATION ++# undef _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER ++# undef _STLP_AUTOMATIC_TYPE_TRAITS ++# undef _STLP_MEMBER_POINTER_PARAM_BUG ++# undef _STLP_NON_TYPE_TMPL_PARAM_BUG ++# undef _STLP_NO_DEFAULT_NON_TYPE_PARAM ++# undef _STLP_NO_METHOD_SPECIALIZATION ++# undef _STLP_STATIC_ARRAY_BUG ++# undef _STLP_STATIC_CONST_INIT_BUG ++# undef _STLP_TRIVIAL_CONSTRUCTOR_BUG ++# undef _STLP_TRIVIAL_DESTRUCTOR_BUG ++# undef _STLP_BROKEN_USING_DIRECTIVE ++# undef _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS ++# undef _STLP_NO_EXCEPTION_HEADER ++# undef _STLP_DEFAULT_CONSTRUCTOR_BUG ++ ++# undef _STLP_HAS_NO_NEW_IOSTREAMS ++# undef _STLP_HAS_NO_NEW_C_HEADERS ++# undef _STLP_STATIC_CONST_INIT_BUG + // new ones +-# undef __STL_THROW_RETURN_BUG ++# undef _STLP_THROW_RETURN_BUG + // unimp +-# undef __STL_LINK_TIME_INSTANTIATION +-# undef __STL_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS ++# undef _STLP_LINK_TIME_INSTANTIATION ++# undef _STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS + // unimp +-# undef __STL_NO_TEMPLATE_CONVERSIONS ++# undef _STLP_NO_TEMPLATE_CONVERSIONS + # endif /* AUTO_CONFIGURED */ + + //========================================================== + + + #endif /* __STLCONF_H */ ++ +Only in tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/new_compiler: test.cpp +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_apcc.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_apcc.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_apcc.h Sat Feb 24 10:44:27 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_apcc.h Sun Aug 11 18:59:24 2002 +@@ -1,29 +1,32 @@ + // STLport config file for Apogee 4.x + +-# define __STL_NO_NEW_NEW_HEADER 1 +-# define __STL_HAS_NO_NEW_IOSTREAMS 1 +-# define __STL_HAS_NO_NEW_C_HEADERS 1 ++# define _STLP_NO_NEW_NEW_HEADER 1 ++# define _STLP_HAS_NO_NEW_IOSTREAMS 1 ++# define _STLP_HAS_NO_NEW_C_HEADERS 1 + +-# define __STL_RAND48 1 +-# define __STL_LONG_LONG 1 +-# define __STL_NO_BAD_ALLOC 1 +-# define __STL_NO_MEMBER_TEMPLATE_KEYWORD 1 +-# define __STL_NON_TYPE_TMPL_PARAM_BUG 1 +-// # define __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 +-# define __STL_NO_EXCEPTION_HEADER 1 ++#if defined(_XOPEN_SOURCE) && (_XOPEN_VERSION - 0 >= 4) ++# define _STLP_RAND48 1 ++#endif ++// # define _STLP_RAND48 1 ++# define _STLP_LONG_LONG long long ++# define _STLP_NO_BAD_ALLOC 1 ++# define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1 ++# define _STLP_NON_TYPE_TMPL_PARAM_BUG 1 ++// # define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 ++# define _STLP_NO_EXCEPTION_HEADER 1 + +-# undef __STL_LINK_TIME_INSTANTIATION +-# define __STL_LINK_TIME_INSTANTIATION 1 ++# undef _STLP_LINK_TIME_INSTANTIATION ++# define _STLP_LINK_TIME_INSTANTIATION 1 + + # ifdef __STDLIB +-# undef __STL_HAS_NO_NEW_IOSTREAMS +-# undef __STL_NO_NEW_C_HEADERS +-# undef __STL_NO_NEW_NEW_HEADER +-# undef __STL_NO_BAD_ALLOC +-# undef __STL_LONG_LONG ++# undef _STLP_HAS_NO_NEW_IOSTREAMS ++# undef _STLP_NO_NEW_C_HEADERS ++# undef _STLP_NO_NEW_NEW_HEADER ++# undef _STLP_NO_BAD_ALLOC ++# undef _STLP_LONG_LONG + # else +-# undef __STL_NO_EXCEPTION_SPEC +-# define __STL_NO_EXCEPTION_SPEC 1 ++# undef _STLP_NO_EXCEPTION_SPEC ++# define _STLP_NO_EXCEPTION_SPEC 1 + # endif + + +Only in tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config: stl_apple.bak.h +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_apple.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_apple.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_apple.h Sat Feb 24 10:44:27 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_apple.h Sun Aug 11 18:59:24 2002 +@@ -1,105 +1,112 @@ +-// STLport configuration file +-// It is internal STLport header - DO NOT include it directly +- +-// common configuration settings for Apple MPW MrCpp / SCpp +- +-#if defined(__MRC__) && __MRC__ < 0x500 +-# error Apple's MPW MrCpp v.5.0.0 or better compiler required +-#endif +-#if defined(__SC__) && __SC__ < 0x890 +-# error Apple's MPW SCpp v.8.9.0 or better compiler required +-#endif +- +-#ifdef qMacApp +-# ifndef __CONDITIONALMACROS__ // skip including ConditionalMacros_AC.h if ConditionalMacros.h is already included +-# include +-# include +-# include +-# define __STL_FILE__ _FILE_AC +-# define __STL_DEBUG_MESSAGE +-# define __stl_debug_message ProgramBreak_AC +-# include +-# endif +-# include +-#else +-# include +-# include +-#endif +- +-#define __STL_UINT32_T UInt32 +-typedef int wint_t; +- +-#ifndef TYPE_BOOL +-# error must be included. (TYPE_BOOL) +-#endif +-#if !TYPE_BOOL +-# define __STL_NO_BOOL +-# define __STL_DONT_USE_BOOL_TYPEDEF +-#endif +- +-#ifndef TYPE_LONGLONG +-# error must be included. (TYPE_LONGLONG) +-#endif +-#if TYPE_LONGLONG +-//# define __STL_LONG_LONG // deactivated since long long is not allowed as a template value argument [File "{STL}stl:_limits.h"; line 282] +-#endif +- +-#if !__option(exceptions) +-# define __STL_HAS_NO_EXCEPTIONS +-#endif +- +-#define __STL_DEBUG_MESSAGE_POST DebugStr("\pSTL diagnosis issued. See 'stderr' for detail."); +-#define __STL_ASSERT_MSG_TRAILER " " +- +-#ifdef __STL_DEBUG +-# define __STL_THROW(x) (DebugStr("\pSTL is about to throw exception: "#x),throw x) +-#endif +- +-#if defined(__MRC__) +-# ifndef __spillargs +-# define __spillargs 1 // MrCpp requires this symbol to be defined as 1 to properly handle va_start; ref.[ file stdarg.h; line 26 ] +-# endif +-#endif +- +-#ifndef __STL_NATIVE_INCLUDE_PATH +-# if __option(unix_includes) +-# define __STL_NATIVE_INCLUDE_PATH ../CIncludes // expects the alias to {CIncludes} under the same folder as {STL} +-# else +-# define __STL_NATIVE_INCLUDE_PATH ::CIncludes // expects the alias to {CIncludes} under the same folder as {STL} +-# endif +-#endif +-#if !defined(__STL_MAKE_HEADER) +-# if !__option(unix_includes) +-# define __STL_MAKE_HEADER(path, header) // Mac uses ":" for directory delimiter +-# endif +-#endif +- +-# define _STLD _DBG // to keep the length of generated symbols within the compiler limitation +- +-#define __SGI_STL_OWN_IOSTREAMS //*TY 01/11/2000 - EXPERIMENTAL +-#define __STL_USE_STDIO_IO 1 //*TY 02/24/2000 - see also ; ref.[ file _fstream.h; line 36 ] +- +- +-// native library limitations +-#define __STL_VENDOR_GLOBAL_STD // mpw's c++ libs do not utilize namespace std yet +-#define __STL_NO_BAD_ALLOC // known limitation +-#define __STL_HAS_NO_NEW_C_HEADERS // known limitation +-#define __STL_NO_NEW_NEW_HEADER // known limitation +-#define __STL_HAS_NO_NEW_IOSTREAMS // known limitation +-#define __STL_NO_NATIVE_MBSTATE_T // known limitation +-#define __STL_NO_NATIVE_WIDE_FUNCTIONS // known limitation +-#define __STL_NO_NATIVE_WIDE_STREAMS // known limitation +-# define __STL_NO_EXCEPTION_HEADER 1 // fbp : please double-check the opportunity to use native header ! +- +-// compiler limitations +-# define __STL_MPWFIX_TRY try{ //*TY 06/01/2000 - exception handling bug workaround +-# define __STL_MPWFIX_CATCH }catch(...){throw;} //*TY 06/01/2000 - exception handling bug workaround +-# define __STL_MPWFIX_CATCH_ACTION(action) }catch(...){action;throw;} //*TY 06/01/2000 - exception handling bug workaround +-# define __STL_NO_METHOD_SPECIALIZATION //*TY 04/15/2000 - late breaking compiler bug; ref.[ file _ios.h; line 161 ] +-# define __STL_NO_COMPLEX_SPECIALIZATIONS //*TY 02/25/2000 - late breaking compiler bug; ref.[ file _complex.h; line 36 ] +-# define __STL_THROW_RETURN_BUG // known limitation +-# define __STL_NO_CLASS_PARTIAL_SPECIALIZATION // known limitation +-# define __STL_NO_PARTIAL_SPECIALIZATION_SYNTAX // known limitation +-# define __STL_NO_FUNCTION_TMPL_PARTIAL_ORDER // known limitation +-# define __STL_NO_RELOPS_NAMESPACE // known limitation +-// end of stl_apple.h ++// STLport configuration file ++// It is internal STLport header - DO NOT include it directly ++ ++// common configuration settings for Apple MPW MrCpp / SCpp ++ ++#if defined(__MRC__) && __MRC__ < 0x500 ++# error Apple's MPW MrCpp v.5.0.0 or better compiler required ++#endif ++#if defined(__SC__) && __SC__ < 0x890 ++# error Apple's MPW SCpp v.8.9.0 or better compiler required ++#endif ++ ++#ifdef qMacApp ++# ifndef __CONDITIONALMACROS__ // skip including ConditionalMacros_AC.h if ConditionalMacros.h is already included ++# include ++# include ++# include ++# define _STLP_FILE__ _FILE_AC ++# define _STLP_DEBUG_MESSAGE ++# define __stl_debug_message ProgramBreak_AC ++# include ++# endif ++# include ++#else ++# include ++# include ++#endif ++ ++#define _STLP_UINT32_T UInt32 ++typedef int wint_t; ++ ++#ifndef TYPE_BOOL ++# error must be included. (TYPE_BOOL) ++#endif ++#if !TYPE_BOOL ++# define _STLP_NO_BOOL ++# define _STLP_DONT_USE_BOOL_TYPEDEF ++#endif ++ ++#ifndef TYPE_LONGLONG ++# error must be included. (TYPE_LONGLONG) ++#endif ++#if TYPE_LONGLONG ++# define _STLP_LONG_LONG long long ++#endif ++ ++#if !__option(exceptions) ++# define _STLP_HAS_NO_EXCEPTIONS ++#endif ++ ++#define _STLP_DEBUG_MESSAGE_POST DebugStr("\pSTL diagnosis issued. See 'stderr' for detail."); ++#define _STLP_ASSERT_MSG_TRAILER " " ++ ++#ifdef _STLP_DEBUG ++# define _STLP_THROW(x) (DebugStr("\pSTL is about to throw exception: "#x),throw x) ++#endif ++ ++#if defined(__MRC__) ++# ifndef __spillargs ++# define __spillargs 1 // MrCpp requires this symbol to be defined as 1 to properly handle va_start; ref.[ file stdarg.h; line 26 ] ++# endif ++#endif ++ ++#if defined(__SC__) ++#define _STLP_VENDOR_LONG_DOUBLE_MATH //*TY 12/03/2000 - SCpp's native math type is long double ++#endif ++ ++#ifndef _STLP_NATIVE_INCLUDE_PATH ++# if __option(unix_includes) ++# define _STLP_NATIVE_INCLUDE_PATH ../CIncludes // expects the alias to {CIncludes} under the same folder as {STL} ++# else ++# define _STLP_NATIVE_INCLUDE_PATH ::CIncludes // expects the alias to {CIncludes} under the same folder as {STL} ++# endif ++#endif ++#if !defined(_STLP_MAKE_HEADER) ++# if !__option(unix_includes) ++# define _STLP_MAKE_HEADER(path, header) // Mac uses ":" for directory delimiter ++# endif ++#endif ++ ++# define _STLD _DBG // to keep the length of generated symbols within the compiler limitation ++ ++#define _STLP_OWN_IOSTREAMS ++#define _STLP_USE_STDIO_IO 1 //*TY 02/24/2000 - see also ; ref.[ file _fstream.h; line 36 ] ++#define _STLP_NO_THREADS //*TY 12/17/2000 - multi-thread capability not explored, yet. ++#undef _REENTRANT //*ty 11/24/2001 - to make sure no thread facility is activated ++#define _NOTHREADS //*ty 12/07/2001 - ++ ++// native library limitations ++#define _STLP_VENDOR_GLOBAL_STD // mpw's c++ libs do not utilize namespace std yet ++#define _STLP_NO_BAD_ALLOC // known limitation ++#define _STLP_HAS_NO_NEW_C_HEADERS // known limitation ++#define _STLP_NO_NEW_NEW_HEADER // known limitation ++#define _STLP_HAS_NO_NEW_IOSTREAMS // known limitation ++#define _STLP_NO_NATIVE_MBSTATE_T // known limitation ++#define _STLP_NO_NATIVE_WIDE_FUNCTIONS // known limitation ++#define _STLP_NO_NATIVE_WIDE_STREAMS // known limitation ++#define _STLP_INCOMPLETE_EXCEPTION_HEADER // known limitation ++#define _STLP_BROKEN_EXCEPTION_CLASS // known limitation ++ ++// compiler limitations ++# define _STLP_DONT_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS ++ ++# define _STLP_MPWFIX_TRY try{ //*TY 06/01/2000 - exception handling bug workaround ++# define _STLP_MPWFIX_CATCH }catch(...){throw;} //*TY 06/01/2000 - exception handling bug workaround ++# define _STLP_MPWFIX_CATCH_ACTION(action) }catch(...){action;throw;} //*TY 06/01/2000 - exception handling bug workaround ++# define _STLP_THROW_RETURN_BUG // known limitation ++# define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION // known limitation ++# define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX // known limitation ++# define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER // known limitation ++# define _STLP_NO_RELOPS_NAMESPACE // known limitation ++// end of stl_apple.h +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_as400.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_as400.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_as400.h Sat Feb 24 10:44:27 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_as400.h Sun Aug 11 18:59:24 2002 +@@ -3,52 +3,58 @@ + + // AS/400 C++ config + +-# define __STL_NO_BOOL +-# define __STL_LIMITED_DEFAULT_TEMPLATES +- +-# define __STL_HAS_NO_NAMESPACES +-# define __STL_NEED_TYPENAME +-# define __STL_NEED_EXPLICIT +-# define __STL_HAS_NO_EXCEPTIONS +-# define __STL_NO_EXCEPTION_SPEC +-# define __SGI_STL_NO_ARROW_OPERATOR +-# define __STL_NO_PROXY_ARROW_OPERATOR +-# define __STL_NO_NEW_STYLE_CASTS +- +-# define __STL_NEED_MUTABLE +-# define __STL_NO_PARTIAL_SPECIALIZATION_SYNTAX +-# define __STL_NO_BAD_ALLOC +-# define __STL_NO_MEMBER_TEMPLATES +-# define __STL_NO_MEMBER_TEMPLATE_CLASSES +-# define __STL_NO_MEMBER_TEMPLATE_KEYWORD +-# define __STL_NO_FRIEND_TEMPLATES +-# define __STL_NO_QUALIFIED_FRIENDS +-# define __STL_NO_CLASS_PARTIAL_SPECIALIZATION +-# define __STL_NO_FUNCTION_TMPL_PARTIAL_ORDER +- +-# define __STL_NO_METHOD_SPECIALIZATION +-# define __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS +-# define __STL_NO_EXCEPTION_HEADER +- +-# define __STL_HAS_NO_NEW_IOSTREAMS +-# define __STL_HAS_NO_NEW_C_HEADERS +- +-# define __STL_STATIC_CONST_INIT_BUG +-# define __STL_THROW_RETURN_BUG +-# define __STL_LINK_TIME_INSTANTIATION +-# define __STL_NO_TEMPLATE_CONVERSIONS +- +-# define __STL_UNINITIALIZABLE_PRIVATE 1 +-# define __STL_STATIC_ARRAY_BUG 1 +-# define __STL_NON_TYPE_TMPL_PARAM_BUG 1 +-# define __STL_TRIVIAL_DESTRUCTOR_BUG 1 ++# ifdef _REENTRANT ++# define _PTHREADS ++# endif ++ ++# define _STLP_NO_NEW_NEW_HEADER 1 ++ ++# define _STLP_NO_BOOL ++# define _STLP_LIMITED_DEFAULT_TEMPLATES ++ ++# define _STLP_HAS_NO_NAMESPACES ++# define _STLP_NEED_TYPENAME ++# define _STLP_NEED_EXPLICIT ++# define _STLP_HAS_NO_EXCEPTIONS ++# define _STLP_NO_EXCEPTION_SPEC ++# define _STLP_NO_ARROW_OPERATOR ++# define _STLP_NO_NEW_STYLE_CASTS ++ ++# define _STLP_NEED_MUTABLE ++# define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX ++# define _STLP_NO_BAD_ALLOC ++# define _STLP_NO_MEMBER_TEMPLATES ++# define _STLP_NO_MEMBER_TEMPLATE_CLASSES ++# define _STLP_NO_MEMBER_TEMPLATE_KEYWORD ++# define _STLP_NO_FRIEND_TEMPLATES ++# define _STLP_NO_QUALIFIED_FRIENDS ++# define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION ++# define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER ++ ++# define _STLP_NO_METHOD_SPECIALIZATION ++# define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS ++ ++// # define _STLP_NO_EXCEPTION_HEADER ++ ++# define _STLP_HAS_NO_NEW_IOSTREAMS ++# define _STLP_HAS_NO_NEW_C_HEADERS ++ ++# define _STLP_STATIC_CONST_INIT_BUG ++# define _STLP_THROW_RETURN_BUG ++# define _STLP_LINK_TIME_INSTANTIATION ++# define _STLP_NO_TEMPLATE_CONVERSIONS ++ ++# define _STLP_UNINITIALIZABLE_PRIVATE 1 ++# define _STLP_STATIC_ARRAY_BUG 1 ++# define _STLP_NON_TYPE_TMPL_PARAM_BUG 1 ++# define _STLP_TRIVIAL_DESTRUCTOR_BUG 1 + + # if defined(_LONG_LONG) +-# define __STL_LONG_LONG 1 ++# define _STLP_LONG_LONG long long + # endif +-// # define __STL_LONG_DOUBLE 1 ++// # define _STLP_LONG_DOUBLE 1 + # if defined(_PTHREADS) + # define _MULTI_THREADED + # endif + // fbp : to fix __partition() problem +-# define __STL_NONTEMPL_BASE_MATCH_BUG 1 ++# define _STLP_NONTEMPL_BASE_MATCH_BUG 1 +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_bc.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_bc.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_bc.h Sat Feb 24 10:44:27 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_bc.h Sun Aug 11 18:59:24 2002 +@@ -3,106 +3,109 @@ + + + // versions ? +-# define __STL_CALL __cdecl +-# define __STL_DLLEXPORT_NEEDS_PREDECLARATION +-# define __STL_OPERATOR_SPEC_NEEDS_TEMPLATE_ARGS ++# if defined(_STLP_DESIGNATED_DLL) ++# define _STLP_CALL __cdecl __export ++# elif defined(_RTLDLL) ++# define _STLP_CALL __cdecl __import ++# else ++# define _STLP_CALL __cdecl ++# endif + +-// most of contents is still in global namespace +-# define __STL_VENDOR_UNEXPECTED_STD ++# define _USE_STLP ++// # define _STLP_USE_OWN_NAMESPACE ++# define _STLP_DLLEXPORT_NEEDS_PREDECLARATION ++# define _STLP_OPERATOR_SPEC_NEEDS_TEMPLATE_ARGS + +-// cannot work with dynamic lib as for now - locale initialization problems +-#ifndef __STL_USE_STATIC_LIB +-# define __STL_USE_STATIC_LIB +-#endif ++// most of contents is still in global namespace ++// # define _STLP_VENDOR_UNEXPECTED_STD + + // problem +-# define __STL_STATIC_CONST_INIT_BUG ++# define _STLP_STATIC_CONST_INIT_BUG + + // problems +-# define __STL_MEMBER_SPECIALIZATION_BUG +-# define __STL_USING_BASE_MEMBER +-# define __STL_HAS_SPECIFIC_PROLOG_EPILOG 1 ++# define _STLP_MEMBER_SPECIALIZATION_BUG ++# define _STLP_HAS_SPECIFIC_PROLOG_EPILOG 1 + + #if ( __BORLANDC__ < 0x540 ) + // Borland C++ Builder 3 (?) + // those are assumptions, if some of them actually work, please let me know +-# define __STL_STATIC_CONST_INIT_BUG 1 +-// # define __STL_THROW_RETURN_BUG 1 +-# define __STL_NO_TEMPLATE_CONVERSIONS 1 +-# define __STL_DEFAULT_CONSTRUCTOR_BUG 1 +-# define __STL_NO_TYPENAME_ON_RETURN_TYPE ++// # define _STLP_STATIC_CONST_INIT_BUG 1 ++// # define _STLP_THROW_RETURN_BUG 1 ++# define _STLP_NO_TEMPLATE_CONVERSIONS 1 ++# define _STLP_DEFAULT_CONSTRUCTOR_BUG 1 ++# define _STLP_NO_TYPENAME_ON_RETURN_TYPE ++#else ++# define _STLP_LONG_LONG __int64 + #endif + + // BCB 2 or less (Borland 5.02) + #if ( __BORLANDC__ < 0x530 ) + +-# define __STL_NO_SGI_IOSTREAMS +-# undef __SGI_STL_OWN_IOSTREAMS ++# define _STLP_NO_OWN_IOSTREAMS ++# undef _STLP_OWN_IOSTREAMS + +-# define __STL_GLOBAL_VENDOR_CSTD 1 +-# define __STL_HAS_NO_NEW_IOSTREAMS 1 +-# define __STL_HAS_NO_NEW_C_HEADERS 1 +- +-# define __STL_NO_MEMBER_TEMPLATES 1 +-# define __STL_NO_MEMBER_TEMPLATE_CLASSES 1 +-# define __STL_NO_MEMBER_TEMPLATE_KEYWORD 1 +-# define __STL_NO_FRIEND_TEMPLATES 1 +-# define __STL_NO_QUALIFIED_FRIENDS 1 +-# define __STL_NO_CLASS_PARTIAL_SPECIALIZATION 1 +-# define __STL_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 +-# define __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 +- +-# define __STL_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 +- +-# define __STL_NO_DEFAULT_NON_TYPE_PARAM 1 +-# define __STL_NON_TYPE_TMPL_PARAM_BUG 1 +-# define __STL_MEMBER_SPECIALIZATION_BUG +-# define __STL_NO_EXCEPTION_HEADER 1 +-# define __STL_NO_EXCEPTION_SPEC 1 +- +-# define __STL_NO_BAD_ALLOC 1 +-# define __SGI_STL_NO_ARROW_OPERATOR 1 +-# define __STL_NO_PROXY_ARROW_OPERATOR 1 ++# define _STLP_GLOBAL_VENDOR_CSTD 1 ++# define _STLP_HAS_NO_NEW_IOSTREAMS 1 ++# define _STLP_HAS_NO_NEW_C_HEADERS 1 ++ ++# define _STLP_NO_MEMBER_TEMPLATES 1 ++# define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1 ++# define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1 ++# define _STLP_NO_FRIEND_TEMPLATES 1 ++# define _STLP_NO_QUALIFIED_FRIENDS 1 ++# define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1 ++# define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 ++# define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 ++ ++# define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 ++ ++# define _STLP_NO_DEFAULT_NON_TYPE_PARAM 1 ++# define _STLP_NON_TYPE_TMPL_PARAM_BUG 1 ++# define _STLP_MEMBER_SPECIALIZATION_BUG ++# define _STLP_NO_EXCEPTION_HEADER 1 ++# define _STLP_NO_EXCEPTION_SPEC 1 + ++# define _STLP_NO_BAD_ALLOC 1 ++# define _STLP_NO_ARROW_OPERATOR 1 + + typedef char mbstate_t; + +-# define __STL_LIMITED_DEFAULT_TEMPLATES 1 +-# define __STL_NO_TYPEINFO +-# define __STL_NO_METHOD_SPECIALIZATION ++# define _STLP_LIMITED_DEFAULT_TEMPLATES 1 ++# define _STLP_NO_TYPEINFO ++# define _STLP_NO_METHOD_SPECIALIZATION + + #endif + + // Borland 5.0x + #if ( __BORLANDC__ < 0x520 ) + +-# define __STL_BROKEN_USING_DIRECTIVE 1 +-# define __STLPORT_EXPORT_KEYWORD _export +-# define __STLPORT_IMPORT_KEYWORD _import +-# define __STLPORT_EXPORT_TEMPLATE_KEYWORD _export +-# define __STLPORT_IMPORT_TEMPLATE_KEYWORD _import ++# define _STLP_BROKEN_USING_DIRECTIVE 1 ++# define _STLP_EXPORT_KEYWORD _export ++# define _STLP_IMPORT_KEYWORD _import ++# define _STLP_EXPORT_TEMPLATE_KEYWORD _export ++# define _STLP_IMPORT_TEMPLATE_KEYWORD _import + #endif + + #if ( __BORLANDC__ < 0x501 ) +-# define __STL_NONTEMPL_BASE_MATCH_BUG 1 +-# define __STL_NO_WCHAR_T 1 ++# define _STLP_NONTEMPL_BASE_MATCH_BUG 1 ++# define _STLP_NO_WCHAR_T 1 + #endif + + // 4.x + #if ( __BORLANDC__ < 0x500 ) +-# define __STL_NESTED_TYPE_PARAM_BUG 1 +-# define __STL_STATIC_ARRAY_BUG 1 +-# define __STL_NO_BOOL 1 +-# define __STL_HAS_NO_NAMESPACES 1 +-# define __STL_NEED_TYPENAME 1 +-# define __STL_NEED_EXPLICIT 1 +-# define __STL_NEED_MUTABLE 1 +-# define __STL_NO_WCHAR_T 1 ++# define _STLP_NESTED_TYPE_PARAM_BUG 1 ++# define _STLP_STATIC_ARRAY_BUG 1 ++# define _STLP_NO_BOOL 1 ++# define _STLP_HAS_NO_NAMESPACES 1 ++# define _STLP_NEED_TYPENAME 1 ++# define _STLP_NEED_EXPLICIT 1 ++# define _STLP_NEED_MUTABLE 1 ++# define _STLP_NO_WCHAR_T 1 + #endif + + // auto enable thread safety and exceptions: + # ifndef _CPPUNWIND +-# define __STL_HAS_NO_EXCEPTIONS ++# define _STLP_HAS_NO_EXCEPTIONS + # endif + + # if defined ( __MT__ ) && !defined (_NOTHREADS) && !defined (_REENTRANT) +@@ -110,38 +113,91 @@ + # endif + + # if defined ( __DEBUG ) && ( __DEBUG > 1 ) +-# define __STL_DEBUG ++# define _STLP_DEBUG + # endif + +-// Stop complaints about functions not inlined +-# pragma option -w-inl +-// Stop complaints about significant digits +-# pragma option -w-sig +-// Stop complaint about constant being long +-# pragma option -w-cln +- +-# define __STL_LIB_BASENAME "stlport_bcc" ++# define _STLP_LIB_BASENAME "stlp" + + # if (__BORLANDC__ < 0x540) + +-# define __STL_EXPORT_DECLSPEC __declspec(dllexport) +-# define __STL_IMPORT_DECLSPEC __declspec(dllimport) +-# define __STL_IMPORT_TEMPLATE_KEYWORD extern +-# define __STL_EXPORT_TEMPLATE_KEYWORD ++# define _STLP_EXPORT_DECLSPEC __declspec(dllexport) ++# define _STLP_IMPORT_DECLSPEC __declspec(dllimport) ++# define _STLP_IMPORT_TEMPLATE_KEYWORD extern ++# define _STLP_EXPORT_TEMPLATE_KEYWORD + +-# define __STL_CLASS_EXPORT_DECLSPEC __declspec(dllexport) +-# define __STL_CLASS_IMPORT_DECLSPEC __declspec(dllimport) ++# define _STLP_CLASS_EXPORT_DECLSPEC __declspec(dllexport) ++# define _STLP_CLASS_IMPORT_DECLSPEC __declspec(dllimport) + +-# if !defined (__STL_NO_SGI_IOSTREAMS) ++# if !defined (_STLP_NO_OWN_IOSTREAMS) + + # if ( defined (__DLL) || defined (_DLL) || defined (_WINDLL) || defined (_RTLDLL) \ +- || defined (__STL_USE_DYNAMIC_LIB) ) \ +- && ! defined (__STL_USE_STATIC_LIB) +-# undef __STL_USE_DECLSPEC +-# define __STL_USE_DECLSPEC ++ || defined (_STLP_USE_DYNAMIC_LIB) ) \ ++ && ! defined (_STLP_USE_STATIC_LIB) ++# undef _STLP_USE_DECLSPEC ++# define _STLP_USE_DECLSPEC + # endif + # endif + + # else +-# include ++ ++# define _STLP_EXPORT_DECLSPEC __declspec(dllexport) ++# define _STLP_IMPORT_DECLSPEC __declspec(dllimport) ++ ++# define _STLP_CLASS_EXPORT_DECLSPEC __declspec(dllexport) ++# define _STLP_CLASS_IMPORT_DECLSPEC __declspec(dllimport) ++ ++# if !defined (_STLP_NO_OWN_IOSTREAMS) ++ ++# if ( defined (__DLL) || defined (_DLL) || defined (_WINDLL) || defined (_RTLDLL) \ ++ || defined(_AFXDLL) || defined (_STLP_USE_DYNAMIC_LIB) ) ++# undef _STLP_USE_DECLSPEC ++# define _STLP_USE_DECLSPEC 1 ++# endif ++ ++# ifndef _STLP_IMPORT_TEMPLATE_KEYWORD ++# define _STLP_IMPORT_TEMPLATE_KEYWORD __declspec(dllimport) ++# endif ++# define _STLP_EXPORT_TEMPLATE_KEYWORD __declspec(dllexport) ++ ++# if (__BORLANDC__ >= 0x560) && ! defined (_STLP_OWN_IOSTREAMS) ++// # define _STLP_IS_NATIVE_LIB ++# define _STLP_NATIVE_INCLUDE_PATH ../include/oldstl ++# define _STLP_NATIVE_CPP_C_INCLUDE_PATH ../include/oldstl ++# define _STLP_NATIVE_C_INCLUDE_PATH ../include/oldstl ++# define _STLP_NATIVE_CPP_RUNTIME_PATH ../include/oldstl ++# endif ++ ++# ifndef __BUILDING_STLPORT ++# ifdef _STLP_DEBUG ++# ifdef _MT ++# ifdef _RTLDLL ++# pragma comment(lib,"stlpmt_stldebug45.lib") ++# else ++# pragma comment(lib,"stlpmt_stldebugst.lib") ++# endif ++# else ++# ifdef _RTLDLL ++# pragma comment(lib,"stlp_stldebug45.lib") ++# else ++# pragma comment(lib,"stlp_stldebugst.lib") ++# endif ++# endif ++# else ++# ifdef _MT ++# ifdef _RTLDLL ++# pragma comment(lib,"stlpmt45.lib") ++# else ++# pragma comment(lib,"stlpmtst.lib") ++# endif ++# else ++# ifdef _RTLDLL ++# pragma comment(lib,"stlp45.lib") ++# else ++# pragma comment(lib,"stlpst.lib") ++# endif ++# endif ++# endif ++# endif ++ ++# endif /* _STLP_OWN_IOSTREAMS */ + # endif +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_como.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_como.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_como.h Sat Feb 24 10:44:27 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_como.h Sun Aug 11 18:59:24 2002 +@@ -1,30 +1,209 @@ ++ + // STLport configuration file + // It is internal STLport header - DO NOT include it directly + +-// COMO 4.238 with MSVC + +-# define __STL_UINT32_T unsigned int ++# define _STLP_UINT32_T unsigned int ++ ++# define _STLP_HAS_NO_NEW_C_HEADERS ++// # define _STLP_VENDOR_GLOBAL_EXCEPT_STD ++// # define _STLP_LONG_LONG ++ ++ ++// ++// ADDITIONS FOR COMEAU C++, made by Comeau Computing. ++// We can be reached through comeau@comeaucomputing.com ++// You shouldn't need to change anything below here for Comeau C++. ++// If you do, please tell us at comeau@comeaucomputing.com ++// ++// Changes made here, AND THROUGH ALL FILES, based upon the __COMO__ macro ++// (and SIMILAR NAMES INVOLVING COMO).... no doubt some of this will ++// change as SGI integrates the changes into their code base since ++// some changes are not really Comeau C++ specific, but required to ++// make the SGI code compliant with Standard C++). ++// ++// Testing was done with Comeau C++ 4.2.44 and 4.2.45.2. Changes were made for ++// both Comeau relaxed mode and Comeau strict mode, especially for end user code ++// (that is, some of the .cxx files cannot compile in strict mode, because they ++// contain extensions to Standard C++, however their object code forms can ++// be used once compiled in relaxed mode, even if the end user code uses ++// strict mode). ++// ++// These changes may also work for some earlier versions of Comeau C++, ++// though we have not tested them. ++// ++// Actual mods made under RedHat 6.1 LINUX, should be ok with SuSE too and ++// other LINUX's, and older Caldera LINUX, Solaris/SPARC, SunOS, SCO UNIX, ++// and NetBSD. Other platforms may be added. Comeau will also perform ++// custom ports for you. ++// ++// Check libcomo details at http://www.comeaucomputing.com/libcomo and ++// http://www.comeaucomputing.com ++// ++// History of Comeau changes (this is rough, as work was often going on in parallel): ++// BETA1 July 14, 2000, Initial port for RedHat 6.1 INTEL/ELF ++// BETA2 Aug 4, 2000, Stronger RedHat support ++// Support for Comeau strict mode for end user code ++// BETA3 Aug 22, 2000, Support for other LINUX/INTEL/ELF's, including older ones ++// BETA4 Sept 2, 2000, Initial support for SCO UNIX + other UNIX x86 SVR3's ++// Stronger support for end user Comeau strict mode ++// BETA5 Oct 5, 2000, Initial support for Solaris/SPARC ++// More SCO support (though still incomplete) ++// BETA6 Feb 5, 2001, Minor mods to accomodate Comeau C++ 4.2.45.1 ++// BETA7 Mar 13, 2001, Verified with Comeau C++ 4.2.45.2 ++// Minor NetBSD support ++// BETA8 Apr 1. 2001, Initial support for SunOS/SPARC ++// BETA9 Apr 7, 2001, Stronger SCO support + other UNIX x86 SVR3's ++// Mods for an fpos_t problem for some LINUXes ++// Mods since Destroy did not work in strict mode ++// BETA10 Apr 12. 2001, Stronger NetBSD support ++// ++// PLANNED: ++// BETAx TBA TBA, 2001, NetBSD, UNIXWARE, and Windows support expected ++// ++ ++ ++#ifdef __linux__ ++ ++# define _STLP_NO_NATIVE_MBSTATE_T 1 ++# define _STLP_NO_NATIVE_WIDE_FUNCTIONS 1 ++# define _STLP_NO_NATIVE_WIDE_STREAMS 1 ++# define _STLP_NO_LONG_DOUBLE 1 ++ ++// Comeau C++ under LINUX/INTEL/ELF ++// Preprocess away "long long" routines for now, even in relaxed mode ++# define __wcstoull_internal_defined 1 ++# define __wcstoll_internal_defined 1 ++ ++#endif /* __COMO__ under __linux__ */ ++ ++#ifdef __USING_x86SVR3x_WITH_COMO /* SCO et al */ ++/* UNIX 386+ SVR3 mods made with __USING_x86SVR3x_WITH_COMO ++ in other sources, not here */ ++# define atan2l atan2 ++# define cosl cos ++# define sinl sin ++# define sqrtl sqrt ++# include ++ inline long double expl(long double arg) { return exp(arg); } ++ inline long double logl(long double arg) { return log(arg); } ++# define log10l log10 ++ ++# define sinhl sinh ++# define coshl cosh ++# define fabsl fabs ++namespace std { ++ inline int min(int a, int b) { return a>b ? b : a; } ++} ++#endif ++ ++#ifdef sun ++// Comeau C++ under Solaris/SPARC or SunOS ++ ++#ifdef solarissparc ++#define __USING_SOLARIS_SPARC_WITH_COMO /* show this in the source when grep'ing for COMO */ ++// Note comowchar.h for Solaris/SPARC wchar stuff ++ ++#include ++# define sinf sin ++# define sinl sin ++# define sinhf sinh ++# define sinhl sinh ++# define cosf cos ++# define cosl cos ++# define coshf cosh ++# define coshl cosh ++# define atan2l atan2 ++# define atan2f atan2 ++ inline float logf(float arg) { return log(arg); } ++ inline long double logl(long double arg) { return log(arg); } ++# define log10f log10 ++# define log10l log10 ++# define expf exp ++ inline long double expl(long double arg) { return exp(arg); } ++# define sqrtf sqrt ++# define sqrtl sqrt ++# define fabsf fabs ++# define fabsl fabs ++#else ++#define __USING_SUNOS_WITH_COMO ++ ++#define __unix 1 ++#define __EXTENSIONS__ /* This might create undue noise somewhere */ ++#endif ++#endif /* sun */ ++ ++#if defined(__NetBSD__) ++// From non-como #ifdef __GNUC__ above ++#undef _STLP_NO_FUNCTION_PTR_IN_CLASS_TEMPLATE ++#define __unix 1 ++ ++#include ++// Some joker #define'd __END_DECLS as }; ++#undef __END_DECLS ++#define __END_DECLS } ++ ++// prob ++#include ++#undef __RENAME ++#define __RENAME(x) ++ ++#define wchar_t __COMO_WCHAR_T ++#include ++#undef wchar_t ++ ++#include ++# ifdef BORIS_DISABLED ++# define atan2l atan2 ++# define cosl cos ++# define sinl sin ++# define sqrtl sqrt ++ inline long double expl(long double arg) { return exp(arg); } ++ inline long double logl(long double arg) { return log(arg); } ++# define log10l log10 ++# define sinhl sinh ++# define coshl cosh ++# define fabsl fabs ++# endif ++#endif /* __NetBSD__ under __COMO__ */ ++ ++// Shouldn't need to change anything below here for Comeau C++ ++// If so, tell us at comeau@comeaucomputing.com ++ ++#define _STLP_NO_DRAND48 ++ ++#define _STLP_PARTIAL_SPECIALIZATION_SYNTAX ++#define _STLP_NO_USING_CLAUSE_IN_CLASS ++ ++ ++#if __COMO_VERSION__ >= 4245 ++#define _STLP_NO_EXCEPTION_HEADER /**/ ++#endif ++#define _STLP_NO_BAD_ALLOC /**/ ++#define _STLP_USE_AUTO_PTR_CONVERSIONS /**/ ++ ++#if __COMO_VERSION__ >= 4245 ++// Is this needed? ++#include ++// ++// ALSO: SEE THE END OF THIS FILE FOR #INCLUDE ++// ++#endif + + // this one is true only with MS + # if defined (_MSC_VER) +-# define __STL_WCHAR_T_IS_USHORT 1 ++# define _STLP_WCHAR_T_IS_USHORT 1 + # if _MSC_VER <= 1200 +-# define __STL_VENDOR_GLOBAL_CSTD ++# define _STLP_VENDOR_GLOBAL_CSTD + # endif + # if _MSC_VER < 1100 +-# define __STL_NO_BAD_ALLOC 1 +-# define __STL_NO_EXCEPTION_HEADER 1 +-# define __STL_HAS_NO_NEW_C_HEADERS 1 +-# define __STL_NO_NEW_NEW_HEADER 1 +-# define __STL_NO_NEW_IOSTREAMS 1 ++# define _STLP_NO_BAD_ALLOC 1 ++# define _STLP_NO_EXCEPTION_HEADER 1 ++# define _STLP_NO_NEW_NEW_HEADER 1 ++# define _STLP_NO_NEW_IOSTREAMS 1 + # endif + # endif + +-// # define __STL_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 +-// # define __STL_NON_TYPE_TMPL_PARAM_BUG 1 +-// # define __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 +- +- +-# define __EDG_SWITCHES ++// # define __EDG_SWITCHES + + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_confix.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_confix.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_confix.h Sat Feb 24 10:44:27 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_confix.h Sun Aug 11 18:59:24 2002 +@@ -21,65 +21,57 @@ + * + */ + +-#ifndef __STL_CONFIX_H +-# define __STL_CONFIX_H ++#ifndef _STLP_CONFIX_H ++# define _STLP_CONFIX_H + +-/* If, by any chance, C compiler get there, try to help it to pass smoothly */ +-# if ! defined (__cplusplus) && ! defined (__STL_HAS_NO_NAMESPACES) +-# define __STL_HAS_NO_NAMESPACES +-# endif +- +-/* list of compilers to use SGI string */ +-# if (defined (__sgi) || defined (__GNUC__)) +-# if !defined (__STL_USE_SGI_STRING) +-# define __STL_USE_SGI_STRING 1 +-# endif +-# undef __STL_USE_OWN_NAMESPACE ++/* If, by any chance, C compiler gets there, try to help it to pass smoothly */ ++# if ! defined (__cplusplus) && ! defined (_STLP_HAS_NO_NAMESPACES) ++# define _STLP_HAS_NO_NAMESPACES + # endif + + # if defined(__MINGW32__) +-# define __STL_NO_DRAND48 ++# define _STLP_NO_DRAND48 + # endif + + /* Modena C++ library */ +-#if defined (__MWERKS__) && __MWERKS__ <= 0x2303 || defined (__KCC) ++#if defined (__MWERKS__) && __MWERKS__ <= 0x2303 || (defined (__KCC) && __KCC_VERSION < 3400) + # include +-# define __STL_USE_MSIPL 1 ++# define _STLP_USE_MSIPL 1 + # if defined (__KCC) || (defined(__MSL_CPP__) && \ + ( (__MSL_CPP__ >= 0x5000 && defined( _MSL_NO_MESSAGE_FACET )) || \ + (__MSL_CPP__ < 0x5000 && defined( MSIPL_NL_TYPES ))) \ + ) +-# define __STL_NO_NATIVE_MESSAGE_FACET 1 ++# define _STLP_NO_NATIVE_MESSAGE_FACET 1 + # endif + #endif + + /* common switches for EDG front-end */ + # if defined (__EDG_SWITCHES) + # if !(defined(_TYPENAME) || defined (_TYPENAME_IS_KEYWORD)) +-# undef __STL_NEED_TYPENAME +-# define __STL_NEED_TYPENAME 1 ++# undef _STLP_NEED_TYPENAME ++# define _STLP_NEED_TYPENAME 1 + # endif + # if !defined(_WCHAR_T_IS_KEYWORD) +-# undef __STL_NO_WCHAR_T +-# define __STL_NO_WCHAR_T 1 ++# undef _STLP_NO_WCHAR_T ++# define _STLP_NO_WCHAR_T 1 + # endif + # ifndef _PARTIAL_SPECIALIZATION_OF_CLASS_TEMPLATES +-# undef __STL_NO_CLASS_PARTIAL_SPECIALIZATION +-# define __STL_NO_CLASS_PARTIAL_SPECIALIZATION 1 ++# undef _STLP_NO_CLASS_PARTIAL_SPECIALIZATION ++# define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1 + # endif + # ifndef _MEMBER_TEMPLATES +-# undef __STL_NO_MEMBER_TEMPLATES +-# define __STL_NO_MEMBER_TEMPLATES 1 +-# undef __STL_NO_MEMBER_TEMPLATE_CLASSES +-# define __STL_NO_MEMBER_TEMPLATE_CLASSES 1 ++# undef _STLP_NO_MEMBER_TEMPLATES ++# define _STLP_NO_MEMBER_TEMPLATES 1 ++# undef _STLP_NO_MEMBER_TEMPLATE_CLASSES ++# define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1 + # endif + # if !defined(_MEMBER_TEMPLATE_KEYWORD) +-# undef __STL_NO_MEMBER_TEMPLATE_KEYWORD +-# define __STL_NO_MEMBER_TEMPLATE_KEYWORD 1 ++# undef _STLP_NO_MEMBER_TEMPLATE_KEYWORD ++# define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1 + # endif + # if !defined (__EXCEPTIONS) && ! defined (_EXCEPTIONS) +-# undef __STL_HAS_NO_EXCEPTIONS +-# define __STL_HAS_NO_EXCEPTIONS ++# undef _STLP_HAS_NO_EXCEPTIONS ++# define _STLP_HAS_NO_EXCEPTIONS + # endif + # undef __EDG_SWITCHES + # endif /* EDG */ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_dec.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_dec.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_dec.h Sat Feb 24 10:44:27 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_dec.h Sun Aug 11 18:59:24 2002 +@@ -1,53 +1,61 @@ +-# define __STL_HAS_SPECIFIC_PROLOG_EPILOG ++# define _STLP_HAS_SPECIFIC_PROLOG_EPILOG + +-# define __STL_NATIVE_HEADER(header) <../cxx/##header> +-# define __STL_NATIVE_C_HEADER(x) <../include/##x> +-# define __STL_NATIVE_CPP_C_HEADER(header) <../cxx/##header> +-# define __STL_NATIVE_OLD_STREAMS_HEADER(header) <../cxx/##header> ++ ++# define _STLP_NATIVE_HEADER(header) <../cxx/##header> ++# define _STLP_NATIVE_C_HEADER(x) <../include/##x> ++ ++#if (__DECCXX_VER < 60300000) ++# define _STLP_NATIVE_CPP_C_HEADER(header) <../cxx/##header> ++#else ++# define _STLP_NATIVE_CPP_C_HEADER(header) ++#endif ++ ++# define _STLP_NATIVE_OLD_STREAMS_HEADER(header) <../cxx/##header> ++# define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <../cxx/##header> + + // Alpha is little-endian +-# define __STL_LITTLE_ENDIAN ++# define _STLP_LITTLE_ENDIAN + + // collisions +-# define __STL_DONT_PUT_STLPORT_IN_STD +- +-# define __STL_NAMESPACE_FUNCTION_AMBIGUITY_BUG 1 ++# define _STLP_DONT_PUT_STLPORT_IN_STD + + #if (__DECCXX_VER < 60000000) + + // automatic template instantiation does not + // work with namespaces ;( +-# define __STL_HAS_NO_NAMESPACES 1 ++# define _STLP_HAS_NO_NAMESPACES 1 ++ ++# define _STLP_NO_NEW_NEW_HEADER 1 + +-# define __STL_NO_WCHAR_T 1 +-# define __STL_NEED_EXPLICIT 1 ++# define _STLP_NO_WCHAR_T 1 ++# define _STLP_NEED_EXPLICIT 1 + +-# define __STL_NO_BOOL 1 +-# define __STL_NEED_TYPENAME 1 +-# define __STL_NO_NEW_STYLE_CASTS 1 +-# define __STL_NEED_MUTABLE 1 +-# define __STL_NO_BAD_ALLOC 1 +- +-# define __STL_NO_NEW_NEW_HEADER 1 +-# define __STL_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 +- +-# define __STL_NO_MEMBER_TEMPLATES 1 +-# define __STL_NO_MEMBER_TEMPLATE_CLASSES 1 +-# define __STL_NO_MEMBER_TEMPLATE_KEYWORD 1 +-# define __STL_NO_FRIEND_TEMPLATES 1 +-# define __STL_NO_QUALIFIED_FRIENDS 1 +-# define __STL_NO_CLASS_PARTIAL_SPECIALIZATION 1 +-# define __STL_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 +-# define __STL_NON_TYPE_TMPL_PARAM_BUG 1 +-# define __STL_BROKEN_USING_DIRECTIVE 1 +-# define __STL_NO_EXCEPTION_HEADER 1 +-# define __STL_DEFAULT_CONSTRUCTOR_BUG 1 ++# define _STLP_NO_BOOL 1 ++# define _STLP_NEED_TYPENAME 1 ++# define _STLP_NO_NEW_STYLE_CASTS 1 ++# define _STLP_NEED_MUTABLE 1 ++# define _STLP_NO_BAD_ALLOC 1 ++ ++ ++# define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 ++ ++# define _STLP_NO_MEMBER_TEMPLATES 1 ++# define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1 ++# define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1 ++# define _STLP_NO_FRIEND_TEMPLATES 1 ++# define _STLP_NO_QUALIFIED_FRIENDS 1 ++# define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1 ++# define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 ++# define _STLP_NON_TYPE_TMPL_PARAM_BUG 1 ++# define _STLP_BROKEN_USING_DIRECTIVE 1 ++# define _STLP_NO_EXCEPTION_HEADER 1 ++# define _STLP_DEFAULT_CONSTRUCTOR_BUG 1 + + #endif + + + #ifdef __NO_USE_STD_IOSTREAM +-# define __STL_HAS_NO_NEW_IOSTREAMS 1 ++# define _STLP_HAS_NO_NEW_IOSTREAMS 1 + # else + // default is to use new iostreams, anyway + # ifndef __USE_STD_IOSTREAM +@@ -55,51 +63,49 @@ + # endif + #endif + +-// # if !defined (__STLPORT_NEW_IOSTREAMS) && ! defined (__STL_DONT_REDEFINE_STD) \ +-// && ! defined (__STL_REDEFINE_STD) ++// # if !defined (_STLP_NEW_IOSTREAMS) && ! defined (_STLP_DONT_REDEFINE_STD) \ ++// && ! defined (_STLP_REDEFINE_STD) + // # undef __PRAGMA_ENVIRONMENT +-// # define __STL_DONT_REDEFINE_STD ++// # define _STLP_DONT_REDEFINE_STD + // # endif + + //# ifndef __STD_STRICT_ANSI_ERRORS + //# endif + + #ifndef __EXCEPTIONS +-# define __STL_HAS_NO_EXCEPTIONS 1 ++# define _STLP_HAS_NO_EXCEPTIONS 1 + #endif + + # ifdef __IMPLICIT_INCLUDE_ENABLED + +-#ifndef __SGI_STL_OWN_IOSTREAMS +-// implicit include introduces conflicts +-// between stlport and native lib. +-# undef __IMPLICIT_INCLUDE_ENABLED +-#endif +- + // but, works with ours ;). +-# define __STL_LINK_TIME_INSTANTIATION 1 +- ++# define _STLP_LINK_TIME_INSTANTIATION 1 ++# else ++# undef _STLP_LINK_TIME_INSTANTIATION + # endif + + # if defined (__IMPLICIT_USING_STD) && !defined (__NO_USE_STD_IOSTREAM) + // we should ban that ! +-# error "STLport won't work with new iostreams and std:: being implicitly included. Please use -std strict_ansi[_errors] or specify __NO_USE_STD_IOSTREAM" ++// # error "STLport won't work with new iostreams and std:: being implicitly included. Please use -std strict_ansi[_errors] or specify __NO_USE_STD_IOSTREAM" + # endif + +-# if !(defined (__STD_STRICT_ANSI) || defined (__STD_STRICT_ANSI_ERRORS)) ++# if (defined (__STD_STRICT_ANSI) || defined (__STD_STRICT_ANSI_ERRORS)) ++# define _STLP_STRICT_ANSI 1 ++# else + // we want to enforce it +-# define __STL_LONG_LONG 1 ++# define _STLP_LONG_LONG long long + # endif + + // unsigned 32-bit integer type +-# define __STL_UINT32_T unsigned int +-# define __STL_RAND48 1 ++# define _STLP_UINT32_T unsigned int ++#if defined(_XOPEN_SOURCE) && (_XOPEN_VERSION - 0 >= 4) ++# define _STLP_RAND48 1 ++#endif ++// # define _STLP_RAND48 1 + +-# define __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 ++# define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 + +-# if (__DECCXX_VER <= 60200000) +-# define __STL_HAS_NO_NEW_C_HEADERS 1 ++# if (__DECCXX_VER <= 60300000) ++# define _STLP_HAS_NO_NEW_C_HEADERS 1 + # endif +- +- + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_dec_vms.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_dec_vms.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_dec_vms.h Sat Feb 24 10:44:27 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_dec_vms.h Sun Aug 11 18:59:24 2002 +@@ -1,44 +1,45 @@ + // OpenVMS version + +-# define __STL_NATIVE_HEADER(header) +-# define __STL_NATIVE_C_HEADER(x) +-# define __STL_NATIVE_CPP_C_HEADER(header) ++# define _STLP_NATIVE_HEADER(header) ++# define _STLP_NATIVE_C_HEADER(x) ++# define _STLP_NATIVE_CPP_C_HEADER(header) ++# define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) + + #if (__DECCXX_VER < 60000000) + + // automatic template instantiation does not + // work with namespaces ;( +-# define __STL_HAS_NO_NAMESPACES 1 ++# define _STLP_HAS_NO_NAMESPACES 1 + +-# define __STL_NO_WCHAR_T 1 +-# define __STL_NEED_EXPLICIT 1 ++# define _STLP_NO_WCHAR_T 1 ++# define _STLP_NEED_EXPLICIT 1 + +-# define __STL_NO_BOOL 1 +-# define __STL_NEED_TYPENAME 1 +-# define __STL_NO_NEW_STYLE_CASTS 1 +-# define __STL_NEED_MUTABLE 1 +-# define __STL_NO_BAD_ALLOC 1 +- +-# define __STL_NO_NEW_NEW_HEADER 1 +-# define __STL_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 +- +-# define __STL_NO_MEMBER_TEMPLATES 1 +-# define __STL_NO_MEMBER_TEMPLATE_CLASSES 1 +-# define __STL_NO_MEMBER_TEMPLATE_KEYWORD 1 +-# define __STL_NO_FRIEND_TEMPLATES 1 +-# define __STL_NO_QUALIFIED_FRIENDS 1 +-# define __STL_NO_CLASS_PARTIAL_SPECIALIZATION 1 +-# define __STL_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 +-# define __STL_NON_TYPE_TMPL_PARAM_BUG 1 +-# define __STL_BROKEN_USING_DIRECTIVE 1 +-# define __STL_NO_EXCEPTION_HEADER 1 +-# define __STL_DEFAULT_CONSTRUCTOR_BUG 1 ++# define _STLP_NO_BOOL 1 ++# define _STLP_NEED_TYPENAME 1 ++# define _STLP_NO_NEW_STYLE_CASTS 1 ++# define _STLP_NEED_MUTABLE 1 ++# define _STLP_NO_BAD_ALLOC 1 ++ ++# define _STLP_NO_NEW_NEW_HEADER 1 ++# define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 ++ ++# define _STLP_NO_MEMBER_TEMPLATES 1 ++# define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1 ++# define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1 ++# define _STLP_NO_FRIEND_TEMPLATES 1 ++# define _STLP_NO_QUALIFIED_FRIENDS 1 ++# define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1 ++# define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 ++# define _STLP_NON_TYPE_TMPL_PARAM_BUG 1 ++# define _STLP_BROKEN_USING_DIRECTIVE 1 ++# define _STLP_NO_EXCEPTION_HEADER 1 ++# define _STLP_DEFAULT_CONSTRUCTOR_BUG 1 + + #endif + + + #ifdef __NO_USE_STD_IOSTREAM +-# define __STL_HAS_NO_NEW_IOSTREAMS 1 ++# define _STLP_HAS_NO_NEW_IOSTREAMS 1 + # else + // default is to use new iostreams, anyway + # ifndef __USE_STD_IOSTREAM +@@ -46,29 +47,29 @@ + # endif + #endif + +-// # if !defined (__STLPORT_NEW_IOSTREAMS) && ! defined (__STL_DONT_REDEFINE_STD) \ +-// && ! defined (__STL_REDEFINE_STD) ++// # if !defined (_STLP_NEW_IOSTREAMS) && ! defined (_STLP_DONT_REDEFINE_STD) \ ++// && ! defined (_STLP_REDEFINE_STD) + // # undef __PRAGMA_ENVIRONMENT +-// # define __STL_DONT_REDEFINE_STD ++// # define _STLP_DONT_REDEFINE_STD + // # endif + + //# ifndef __STD_STRICT_ANSI_ERRORS + //# endif + + #ifndef __EXCEPTIONS +-# define __STL_HAS_NO_EXCEPTIONS 1 ++# define _STLP_HAS_NO_EXCEPTIONS 1 + #endif + + # ifdef __IMPLICIT_INCLUDE_ENABLED + +-#ifndef __STLPORT_IOSTREAMS ++#ifndef _STLP_IOSTREAMS + // implicit include introduces conflicts + // between stlport and native lib. + # undef __IMPLICIT_INCLUDE_ENABLED + #endif + + // but, works with ours ;). +-# define __STL_LINK_TIME_INSTANTIATION 1 ++# define _STLP_LINK_TIME_INSTANTIATION 1 + + # endif + +@@ -79,14 +80,17 @@ + + # if !(defined (__STD_STRICT_ANSI) || defined (__STD_STRICT_ANSI_ERRORS)) + // we want to enforce it +-# define __STL_LONG_LONG 1 ++# define _STLP_LONG_LONG long long + # endif + + // unsigned 32-bit integer type +-# define __STL_UINT32_T unsigned int +-# define __STL_RAND48 1 ++# define _STLP_UINT32_T unsigned int ++#if defined(_XOPEN_SOURCE) && (_XOPEN_VERSION - 0 >= 4) ++# define _STLP_RAND48 1 ++#endif ++// # define _STLP_RAND48 1 + +-# define __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 ++# define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 + +-#define __STL_HAS_NO_NEW_C_HEADERS 1 ++#define _STLP_HAS_NO_NEW_C_HEADERS 1 + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_fujitsu.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_fujitsu.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_fujitsu.h Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_fujitsu.h Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,5 @@ ++/* STLport configuration for Fujitsu compiler : looks like a perfect one ! */ ++# define _STLP_NATIVE_INCLUDE_PATH ../std ++# define _STLP_UINT32_T unsigned int ++# define _STLP_LONG_LONG long long ++# define _STLP_WCHAR_SUNPRO_EXCLUDE 1 +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_gcc.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_gcc.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_gcc.h Sat Feb 24 10:44:28 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_gcc.h Sun Aug 11 18:59:24 2002 +@@ -3,102 +3,182 @@ + */ + + /* Systems having GLIBC installed have different traits */ +-#if ! defined (__STL_USE_GLIBC) && \ +- ( defined (__linux__) || defined (__CYGWIN__) ) +-# define __STL_USE_GLIBC ++#if ! defined (_STLP_USE_GLIBC) && ( defined (__linux__) || defined (__CYGWIN__) ) ++# define _STLP_USE_GLIBC + #endif + +-/* gcc has weird problems in debug mode */ +-# define __STL_NAMESPACE_FUNCTION_AMBIGUITY_BUG 1 ++# define _STLP_NO_MEMBER_TEMPLATE_KEYWORD + +-# define __STL_HAS_NO_NEW_C_HEADERS 1 ++# if defined(__FreeBSD__) || defined (__hpux) || defined(__amigaos__) ++# define _STLP_NO_WCHAR_T ++# endif ++ ++# if defined (__sun) ++ ++// gcc does not support ELF64 yet ; however; it supports ultrasparc + v8plus. ++// limits.h contains invalid values for this combination ++# if (defined (__sparc_v9__) || defined (__sparcv9)) && ! defined ( __WORD64 ) ++# define __LONG_MAX__ 2147483647L ++# endif ++ ++# include ++# endif ++ ++// no thread support on AmigaOS ++#if defined (__amigaos__) ++# define _NOTHREADS ++# define _STLP_NO_THREADS ++#endif + +-# if defined(__FreeBSD__) +-# define __STL_NATIVE_CPP_C_INCLUDE_PATH /usr/include/g++ +- /* Emulate a small wchar.h */ +-# include +-# define _WCHAR_T +-# define _WINT_T +- typedef unsigned int wint_t; +- typedef unsigned int wchar_t; +- extern size_t __wcslen __P ((__const wchar_t *__s)); +- extern size_t wcslen __P ((__const wchar_t *__s)); +-# endif +- +-# if defined(__OpenBSD__) +-# define __STL_NATIVE_CPP_C_INCLUDE_PATH /usr/include/g++ +-# define __STL_UNIX /* Yes, OpenBSD is Unix-like */ +-# define _NOTHREADS /* Has no pthread capabilities */ +-# include /* Necessary for __P() macro */ +- /* Emulate a small wchar.h */ +-# define _WCHAR_T +-# define _WINT_T +- typedef unsigned int wint_t; +- typedef unsigned int wchar_t; +- extern size_t __wcslen __P ((__const wchar_t *__s)); +- extern size_t wcslen __P ((__const wchar_t *__s)); ++// azov: gcc on lynx have a bug that causes internal ++// compiler errors when compiling STLport with namespaces turned on. ++// When the compiler gets better - comment out _STLP_HAS_NO_NAMESPACES ++# if defined (__Lynx__) && (__GNUC__ < 3) ++# define _STLP_HAS_NO_NAMESPACES 1 ++# define _STLP_NO_STATIC_TEMPLATE_DATA 1 ++// turn off useless warning about including system headers ++# define __NO_INCLUDE_WARN__ 1 + # endif + ++ ++/* Tru64 Unix, AIX, HP : gcc there by default uses uses native ld and hence cannot auto-instantiate ++ static template data. If you are using GNU ld, please say so in stl_user_config.h header */ ++# if (__GNUC__ < 3) && ! (_STLP_GCC_USES_GNU_LD) && \ ++ ((defined (__osf__) && defined (__alpha__)) || defined (_AIX) || defined (__hpux) || defined(__amigaos__) ) ++# define _STLP_NO_STATIC_TEMPLATE_DATA ++# endif ++ ++# if defined(__DJGPP) ++# define _STLP_RAND48 1 ++# define _NOTHREADS 1 ++# undef _PTHREADS ++# define _STLP_LITTLE_ENDIAN ++# endif ++ + # if defined(__MINGW32__) + /* Mingw32, egcs compiler using the Microsoft C runtime */ +-# undef __STL_NO_DRAND48 +-# define __STL_NO_DRAND48 ++# undef _STLP_NO_DRAND48 ++# define _STLP_NO_DRAND48 + # ifdef _MT + # define _REENTRANT + # endif +-# define __STL_IMPORT_DECLSPEC __attribute__((dllimport)) +-# define __STL_EXPORT_DECLSPEC __attribute__((dllexport)) +-# define __STL_CLASS_IMPORT_DECLSPEC __attribute__((dllimport)) +-# define __STL_CLASS_EXPORT_DECLSPEC __attribute__((dllexport)) +-# define __STL_CALL __cdecl +- +-# if defined (__STL_USE_DYNAMIC_LIB) +-# define __STL_USE_DECLSPEC 1 ++# define _STLP_IMPORT_DECLSPEC __attribute__((dllimport)) ++# define _STLP_EXPORT_DECLSPEC __attribute__((dllexport)) ++# define _STLP_CLASS_IMPORT_DECLSPEC __attribute__((dllimport)) ++# define _STLP_CLASS_EXPORT_DECLSPEC __attribute__((dllexport)) ++# define _STLP_CALL ++ ++# if defined (_STLP_USE_DYNAMIC_LIB) ++# define _STLP_USE_DECLSPEC 1 ++// # define _STLP_USE_TEMPLATE_EXPORT 1 ++/* Using dynamic library in MinGW requires _STLP_NO_CUSTOM_IO */ ++# define _STLP_NO_CUSTOM_IO + # endif + + # endif + +-/* cygwin is a little bit different, but most traits are same. */ +-# if defined ( __STL_USE_GLIBC ) && !defined (__CYGWIN__) +-# else +-# define __STL_NO_NATIVE_MBSTATE_T 1 ++#if defined (__CYGWIN__) || defined (__MINGW32__) || !(defined (_STLP_USE_GLIBC) || defined (__sun)) ++#ifndef __MINGW32__ ++# define _STLP_NO_NATIVE_MBSTATE_T 1 ++#endif ++# define _STLP_NO_NATIVE_WIDE_FUNCTIONS 1 ++# define _STLP_NO_NATIVE_WIDE_STREAMS 1 ++# elif defined(__linux__) ++# define _STLP_NO_NATIVE_WIDE_FUNCTIONS 1 ++# define _STLP_NO_NATIVE_WIDE_STREAMS 1 ++# elif defined (__sun) ++# define _STLP_WCHAR_BORLAND_EXCLUDE ++# define _STLP_NO_NATIVE_WIDE_FUNCTIONS 1 ++#endif ++ ++/* Mac OS X is a little different with namespaces and cannot instantiate ++ * static data members in template classes */ ++# if defined (__APPLE__) ++/* Mac OS X is missing a required typedef and standard macro */ ++typedef unsigned int wint_t; ++ ++# define __unix ++ ++ /* Mac OS X needs one and only one source file to initialize all static data ++ * members in template classes. Only one source file in an executable or ++ * library can declare instances for such data members, otherwise duplicate ++ * symbols will be generated. */ ++ ++# define _STLP_NO_STATIC_TEMPLATE_DATA ++# define _STLP_STATIC_CONST_INIT_BUG 1 ++# define _STLP_STATIC_TEMPLATE_DATA 0 ++# define _STLP_WEAK_ATTRIBUTE 0 ++# define _STLP_NO_LONG_DOUBLE ++ ++/* Mac OS X needs all "::" scope references to be "std::" */ ++# undef _STLP_VENDOR_GLOBAL_STD ++# undef _STLP_VENDOR_GLOBAL_CSTD ++# define _STLP_NO_CSTD_FUNCTION_IMPORTS ++ /* Workaround for the broken Mac OS X C++ preprocessor which cannot handle ++ * parameterized macros in #include statements */ ++# define _STLP_NATIVE_HEADER(header) <../g++/##header##> ++# define _STLP_NATIVE_C_HEADER(header) <../include/##header##> ++# define _STLP_NATIVE_CPP_C_HEADER(header) <../g++/##header##> ++# define _STLP_NATIVE_OLD_STREAMS_HEADER(header) <../g++/##header##> ++# define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <../g++/##header##> ++# endif ++ ++ ++# if defined(__BEOS__) && defined(__INTEL__) ++# define _STLP_NATIVE_HEADER(header) <../stlport/beos/##header##> ++# define _STLP_NATIVE_C_HEADER(header) <../stlport/beos/##header##> ++# define _STLP_NATIVE_CPP_C_HEADER(header) <../stlport/beos/##header##> ++# define _STLP_NATIVE_OLD_STREAMS_HEADER(header) <../stlport/beos/##header##> ++# define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <../stlport/beos/##header##> ++# define _STLP_NO_NATIVE_WIDE_FUNCTIONS 1 ++# define _STLP_NO_NATIVE_WIDE_STREAMS 1 ++//# define _NOTHREADS 1 ++# ifdef _PTHREADS ++# undef _PTHREADS ++# endif ++# ifdef _STLP_PTHREADS ++# undef _STLP_PTHREADS ++# endif ++# define _STLP_USE_STDIO_IO 1 ++# define _STLP_USE_GLIBC 1 + # endif + + + /* g++ 2.7.x and above */ +-# define __STL_LONG_LONG 1 +-# define __STL_NO_NATIVE_WIDE_FUNCTIONS 1 +-# define __STL_NO_NATIVE_WIDE_STREAMS 1 +-# define __STL_HAS_NO_NEW_IOSTREAMS 1 ++# define _STLP_LONG_LONG long long + +-# ifdef __HONOR_STD +-# define __STL_VENDOR_GLOBAL_CSTD 1 +-# else +-/* dwa 12/18/99 -- fhonor-std doesn't actually work in gcc 2.95.2 +- * also note that __HONOR_STD is not automatically defined in +- * accordance with -fhonor-std. */ +-# define __STL_VENDOR_GLOBAL_EXCEPT_STD 1 +-# endif ++# if (__GNUC__ >= 3) ++# define _STLP_HAS_NATIVE_FLOAT_ABS ++# endif ++ ++# if (__GNUC__ < 3) ++# define _STLP_HAS_NO_NEW_C_HEADERS 1 ++# define _STLP_VENDOR_GLOBAL_CSTD 1 ++# define _STLP_HAS_NO_NEW_IOSTREAMS 1 ++# ifndef __HONOR_STD ++# define _STLP_VENDOR_GLOBAL_EXCEPT_STD 1 ++# endif ++# endif + +-# if (__GNUC_MINOR__ < 95) +-# define __STL_VENDOR_GLOBAL_EXCEPT_STD 1 ++# if (__GNUC_MINOR__ < 95) && (__GNUC__ < 3) + /* egcs fails to initialize builtin types in expr. like this : new(p) char(); */ +-# define __STL_DEFAULT_CONSTRUCTOR_BUG 1 +-# else +-// boris : this is temporary +-# undef __STL_INCOMPLETE_EXCEPTION_HEADER ++# define _STLP_DEFAULT_CONSTRUCTOR_BUG 1 ++# define _STLP_INCOMPLETE_EXCEPTION_HEADER + # endif + +-# if (__GNUC_MINOR__ < 90) /* egcs 1.1 */ +-# define __STL_NO_TEMPLATE_CONVERSIONS +-# define __STL_NO_MEMBER_TEMPLATE_CLASSES 1 +-# define __STL_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 +-# define __STL_NO_FRIEND_TEMPLATES 1 +-# define __STL_HAS_NO_NAMESPACES 1 +-# define __STL_NO_METHOD_SPECIALIZATION 1 ++# if (__GNUC_MINOR__ < 9) && (__GNUC__ < 3) /* gcc 2.8 */ ++# define _STLP_NO_TEMPLATE_CONVERSIONS ++# define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1 ++# define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 ++# define _STLP_NO_FRIEND_TEMPLATES 1 ++# define _STLP_HAS_NO_NAMESPACES 1 ++# define _STLP_NO_METHOD_SPECIALIZATION 1 ++# define _STLP_NO_MEMBER_TEMPLATES 1 ++# define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1 ++# define _STLP_DONT_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS + /* DJGPP doesn't seem to implement it in 2.8.x */ + # ifdef DJGPP +-# define __STL_NO_STATIC_TEMPLATE_DATA 1 ++# define _STLP_NO_STATIC_TEMPLATE_DATA 1 + # endif + # endif + +@@ -107,108 +187,167 @@ + # if ( __GNUC_MINOR__ < 6 ) + __GIVE_UP_WITH_STL(GCC_272); + # endif +-# define __STL_NON_TYPE_TMPL_PARAM_BUG +-# define __STL_LIMITED_DEFAULT_TEMPLATES 1 +-# define __STL_DEFAULT_TYPE_PARAM 1 +-# define __STL_NO_BAD_ALLOC +-# define __SGI_STL_NO_ARROW_OPERATOR 1 +-# ifndef __STL_NO_STATIC_TEMPLATE_DATA +-# define __STL_NO_STATIC_TEMPLATE_DATA +-# endif +-# define __STL_NO_MEMBER_TEMPLATES 1 +-# define __STL_NO_CLASS_PARTIAL_SPECIALIZATION 1 +-# define __STL_NO_METHOD_SPECIALIZATION 1 ++ ++# define _STLP_NO_RELOPS_NAMESPACE ++# define _STLP_NON_TYPE_TMPL_PARAM_BUG ++# define _STLP_LIMITED_DEFAULT_TEMPLATES 1 ++# define _STLP_DEFAULT_TYPE_PARAM 1 ++# define _STLP_NO_BAD_ALLOC ++# define _STLP_NO_ARROW_OPERATOR 1 ++# ifndef _STLP_NO_STATIC_TEMPLATE_DATA ++# define _STLP_NO_STATIC_TEMPLATE_DATA ++# endif ++# define _STLP_STATIC_CONST_INIT_BUG 1 ++# define _STLP_NO_METHOD_SPECIALIZATION 1 + + # if !defined (__CYGWIN32__) +-# define __STL_NESTED_TYPE_PARAM_BUG 1 +-# define __STL_BASE_MATCH_BUG 1 ++# define _STLP_NESTED_TYPE_PARAM_BUG 1 ++# define _STLP_BASE_MATCH_BUG 1 + /* unused operators are required (forward) */ +-# define __STL_CONST_CONSTRUCTOR_BUG +-# define __STL_NO_DEFAULT_NON_TYPE_PARAM ++# define _STLP_CONST_CONSTRUCTOR_BUG ++# define _STLP_NO_DEFAULT_NON_TYPE_PARAM + # endif +-# define __STL_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 +-# define __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 +-# define __STL_NO_EXCEPTION_HEADER 1 ++# define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 ++# define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 ++# define _STLP_NO_EXCEPTION_HEADER 1 + # else /* ! <= 2.7.* */ + # endif /* ! <= 2.7.* */ + + /* static template data members workaround strategy for gcc tries + * to use weak symbols. +- * if you don't want to use that, #define __STL_WEAK_ATTRIBUTE=0 ( you'll ++ * if you don't want to use that, #define _STLP_WEAK_ATTRIBUTE=0 ( you'll + * have to put "#define __PUT_STATIC_DATA_MEMBERS_HERE" line in one of your + * compilation unit ( or CFLAGS for it ) _before_ including any STL header ). + */ +-# if defined (__STL_NO_STATIC_TEMPLATE_DATA) && ! defined (__STL_WEAK_ATTRIBUTE ) ++# if defined (_STLP_NO_STATIC_TEMPLATE_DATA) && ! defined (_STLP_WEAK_ATTRIBUTE ) + /* systems using GNU ld or format that supports weak symbols + may use "weak" attribute + Linux & Solaris ( x86 & SPARC ) are being auto-recognized here */ +-# if defined(__STL_GNU_LD) || defined(__ELF__) || defined (__CYGWIN__) || \ ++# if defined(_STLP_GNU_LD) || defined(__ELF__) || defined (__CYGWIN__) || \ + (( defined (__SVR4) || defined ( __svr4__ )) && \ + ( defined (sun) || defined ( __sun__ ))) +-# define __STL_WEAK_ATTRIBUTE 1 ++# define _STLP_WEAK_ATTRIBUTE 1 + # endif +-# endif /* __STL_WEAK_ATTRIBUTE */ ++# endif /* _STLP_WEAK_ATTRIBUTE */ + + + /* strict ANSI prohibits "long long" ( gcc) */ + # if defined ( __STRICT_ANSI__ ) +-# undef __STL_LONG_LONG ++# undef _STLP_LONG_LONG ++// # define _STLP_STRICT_ANSI 1 + # endif + ++//# if !defined (__STRICT_ANSI__) || defined (__BUILDING_STLPORT) ++//# define _STLP_USE_TEMPLATE_EXPORT ++//# define _STLP_EXPORT_TEMPLATE_KEYWORD extern ++//# define _STLP_IMPORT_TEMPLATE_KEYWORD extern ++//# endif ++ + # ifndef __EXCEPTIONS +-# undef __STL_HAS_NO_EXCEPTIONS +-# define __STL_HAS_NO_EXCEPTIONS 1 ++# undef _STLP_HAS_NO_EXCEPTIONS ++# define _STLP_HAS_NO_EXCEPTIONS 1 + # endif + +-#if (__GNUC_MINOR__ < 8) ++# if (__GNUC__ >= 3) + +-# define __STL_NO_SGI_IOSTREAMS 1 +-# undef __SGI_STL_OWN_IOSTREAMS +-# define __STL_NATIVE_INCLUDE_PATH ../g++-include ++# define _STLP_NATIVE_INCLUDE_PATH ../g++-v3 ++# define _STLP_NATIVE_OLD_STREAMS_INCLUDE_PATH ../g++-v3/backward + +-# if defined ( __STL_NO_STATIC_TEMPLATE_DATA ) +-# define __STL_STATIC_TEMPLATE_DATA 0 +-# if !defined ( __STL_WEAK_ATTRIBUTE ) +-# define __STL_WEAK_ATTRIBUTE 0 +-# endif +-# else +-# define __STL_STATIC_TEMPLATE_DATA 1 +-# endif ++# elif (__GNUC_MINOR__ < 8) ++ ++# define _STLP_NO_OWN_IOSTREAMS 1 ++# undef _STLP_OWN_IOSTREAMS ++# define _STLP_NATIVE_INCLUDE_PATH ../g++-include + + /* tuning of static template data members workaround */ +-# if ( __STL_STATIC_TEMPLATE_DATA < 1 ) +-# if ( __STL_WEAK_ATTRIBUTE > 0 ) +-# define __STL_WEAK __attribute__ (( weak )) +-# else +-# define __STL_WEAK +-# endif /* __STL_WEAK_ATTRIBUTE */ ++# if ( _STLP_STATIC_TEMPLATE_DATA < 1 ) ++# if ( _STLP_WEAK_ATTRIBUTE > 0 ) ++# define _STLP_WEAK __attribute__ (( weak )) ++# else ++# define _STLP_WEAK ++# endif /* _STLP_WEAK_ATTRIBUTE */ + + # ifdef __PUT_STATIC_DATA_MEMBERS_HERE +-# define __DECLARE_INSTANCE(type,item,init) type item __STL_WEAK init ++# define __DECLARE_INSTANCE(type,item,init) type item _STLP_WEAK init + # else + # define __DECLARE_INSTANCE(type,item,init) + # endif /* __PUT_STATIC_DATA_MEMBERS_HERE */ ++# endif /* _STLP_STATIC_TEMPLATE_DATA */ + +-# endif /* __STL_STATIC_TEMPLATE_DATA */ +- +-#else ++# else + + // gcc-2.95.0 used to use "g++-3" directory which has been changed to "g++" in + // system-dependent "include" for 2.95.2 except for Cygwin and Mingw packages. +-// I expect "g++-3" not being used in leter releases. ++// I expect "g++-3" not being used in later releases. + // If your installation use "g++-3" include directory for any reason (pre-2.95.2 or Win binary kit), + // please change the macro below to point to your directory. +-# if (__GNUC_MINOR__ == 95) && ( defined (__CYGWIN__) || defined (__MINGW32__)) +-# define __STL_NATIVE_INCLUDE_PATH ../g++-3 ++ ++# if defined(__DJGPP) ++# define _STLP_NATIVE_INCLUDE_PATH ../lang/cxx ++# elif (__GNUC__ >= 3) || (__GNUC_MINOR__ >= 97) ++# define _STLP_NATIVE_INCLUDE_PATH ../include/g++-v3 ++# elif ((__GNUC_MINOR__ >= 95 && __GNUC_MINOR__ < 97) && !( defined (__FreeBSD__) || defined (__NetBSD__) || defined(__sgi) ) ) ++# define _STLP_NATIVE_INCLUDE_PATH ../g++-3 ++# elif (__GNUC_MINOR__ > 8) && (__GNUC_MINOR__ < 95) && (__GNUC__ < 3) && !defined( __Lynx__ ) ++// this really sucks, as GNUpro does not really identifies itself, so we have to guess ++// depending on a platform ++# ifdef __hpux ++# define _STLP_NATIVE_INCLUDE_PATH ../g++-3 ++# else ++# define _STLP_NATIVE_INCLUDE_PATH ../g++-2 ++# endif ++# else ++# define _STLP_NATIVE_INCLUDE_PATH g++ ++# endif ++ ++// et al ++# ifdef __FreeBSD__ ++# if (__GNUC__ > 2) || (__GNUC__ == 2 && __GNUC_MINOR__ > 95) ++# define _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH ../include ++# endif + # else +-# define __STL_NATIVE_INCLUDE_PATH ../g++ ++// azov ++# ifdef __Lynx__ ++# define _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH _STLP_NATIVE_INCLUDE_PATH ++# else ++# if (__GNUC__ > 2) || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97) ++// # define _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH ../g++-v3 ++# else ++# define _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH ../include ++# endif ++# endif + # endif + + #endif /* GNUC_MINOR < 8 */ + +-#if !defined(__STL_NATIVE_CPP_C_INCLUDE_PATH) +-# define __STL_NATIVE_CPP_C_INCLUDE_PATH __STL_NATIVE_INCLUDE_PATH +-#endif +-#if !defined(__STL_NATIVE_C_INCLUDE_PATH) +-# define __STL_NATIVE_C_INCLUDE_PATH ../include ++# define _STLP_NATIVE_CPP_C_INCLUDE_PATH _STLP_NATIVE_INCLUDE_PATH ++# define _STLP_NATIVE_C_INCLUDE_PATH ../include ++ ++ ++#ifdef _SCO_ELF ++# define _STLP_SCO_OPENSERVER ++# if defined(_REENTRANT) ++# define _UITHREADS /* if UnixWare < 7.0.1 */ ++# define _STLP_UITHREADS ++# endif /* _REENTRANT */ + #endif ++ ++// Tune settings for the case where static template data members are not ++// instaniated by default ++# if defined ( _STLP_NO_STATIC_TEMPLATE_DATA ) ++# define _STLP_STATIC_TEMPLATE_DATA 0 ++# if !defined ( _STLP_WEAK_ATTRIBUTE ) ++# define _STLP_WEAK_ATTRIBUTE 0 ++# endif ++# ifdef __PUT_STATIC_DATA_MEMBERS_HERE ++# define __DECLARE_INSTANCE(type,item,init) type item init ++# else ++# define __DECLARE_INSTANCE(type,item,init) ++# endif ++# else ++# define _STLP_STATIC_TEMPLATE_DATA 1 ++# endif ++ ++ ++ ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_hpacc.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_hpacc.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_hpacc.h Sat Feb 24 10:44:28 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_hpacc.h Sun Aug 11 18:59:24 2002 +@@ -1,153 +1,217 @@ +-// STLport configuration file +-// It is internal STLport header - DO NOT include it directly +- +-// system C-library dependent +-# define __STL_RAND48 1 +-# define __STL_NO_NATIVE_MBSTATE_T 1 +-# define __STL_HPACC_BROKEN_BUFEND 1 +-# define __STL_WCHAR_HPACC_EXCLUDE 1 +- +-// HP aCC with +noeh +-# ifdef __HPACC_NOEH +-# define __STL_HAS_NO_EXCEPTIONS 1 +-# endif +- +-// HP compilers +-// At that point, we only know we are on HP (and _not_ using gcc, +-// according to "stlcomp.h" +- +-// __HP_aCC indicate HP ANSI C++, but not always (03.xx does not +-// define it before 3.13, for example). +-// +-# if defined(__HP_aCC) +- +-# define __STL_NATIVE_OLD_STREAMS_INCLUDE_PATH ../iostream +-# define __STL_LONG_LONG 1 +- +-#if (__HP_aCC <= 30000 && __HP_aCC >= 12300) +- +-//Special kludge to workaround bug in aCC A.01.23, CR JAGac40634 +-#ifdef __STL_DEBUG +-static void __STL_dummy_literal() { const char *p = "x";} +-static void __STL_dummy_literal_2() { const char *p = "123456789"; } +-static void __STL_dummy_literal_3() { const char *p = "123456700000000000000089";} +-#endif +- +-# define __STL_HP_ACC 0123 +-# define __STL_NATIVE_INCLUDE_PATH ../include +-# define __STL_NATIVE_C_INCLUDE_PATH ../include +-# define __STL_NATIVE_CPP_C_INCLUDE_PATH ../include +-# define __STL_VENDOR_GLOBAL_STD 1 +-# define __STL_VENDOR_GLOBAL_CSTD 1 +-# define __STL_HAS_NO_NEW_IOSTREAMS 1 +-# define __STL_DONT_THROW_RANGE_ERRORS 1 +-# define __STL_USING_BASE_MEMBER using +-# define __STL_STATIC_CONST_INIT_BUG 1 +-# define __STL_NO_OLD_SGI_ALLOCATORS 1 +-# endif /* 123 */ +- +-// lates version and up +-# if (__HP_aCC >= 31400) +-# define __STL_HP_ACC 0314 +-# if defined(_NAMESPACE_STD) // option -AA +-// from now, we have a full standard lib in namespace std +-# define __STL_NATIVE_INCLUDE_PATH ../include_std +-# define __STL_NATIVE_C_INCLUDE_PATH ../include_std +-# define __STL_NATIVE_CPP_C_INCLUDE_PATH ../include_std +-# define __STL_HPACC_ONLY_NATIVE_STRING 1 // STLPort _string.c includes +-// fbp : what are exact problems - we may add those headers to IMPORT_NATIVE_STD +-# define __STL_WHOLE_NATIVE_STD 1 // rw needs to acces to it's own components +-// fbp : why is that ? +-# define __STL_DONT_REDEFINE_STD 1 +-# define __STL_HP_ACC_COMPAT -1 +-# else // kind of compatibility mode +-# define __STL_NATIVE_INCLUDE_PATH ../include +-# define __STL_NATIVE_C_INCLUDE_PATH ../include +-# define __STL_NATIVE_CPP_C_INCLUDE_PATH ../include +-# define __STL_VENDOR_GLOBAL_STD 1 +-# define __STL_VENDOR_GLOBAL_CSTD 1 +-# define __STL_HAS_NO_NEW_IOSTREAMS 1 +-// comment if "-Wc,-koenig_lookup,on" id used +-# define __STL_NO_KOENIG_LOOKUP 1 +-# define __STL_DONT_THROW_RANGE_ERRORS 1 +-# define __STL_NO_ROPE 1 +-# define __STL_HP_ACC 0314 +-# endif /* _NAMESPACE_STD */ +-# endif /* 314 */ +- +-# if (__HP_aCC >= 30000 && __HP_aCC < 31400) +- +-// the folllowing was true for version A03.10 +-// # define __STL_PARTIAL_SPECIALIZATION_BUG 1 +- +-# define __STL_HAS_NO_NEW_C_HEADERS 1 +- +-# define __STL_HAS_NO_NEW_IOSTREAMS +-# define __STL_NO_QUALIFIED_FRIENDS 1 +-// aCC bug ? need explicit args on constructors of partial specialized +-// classes +-# define __STL_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS 1 +-// ?? fbp: really needed ? +-# define __STL_STATIC_ARRAY_BUG 1 +-// ?? fbp : maybe present in some versions ? +-# define __STL_NO_MEMBER_TEMPLATE_CLASSES 1 +-# define __STL_NO_MEMBER_TEMPLATE_KEYWORD 1 +-// and stuff is in global namespace +-# define __STL_VENDOR_GLOBAL_EXCEPT_STD +-// fbp : moved here +-# define __STL_uSING_BASE_MEMBER +- +-# endif /* < 314 */ +- +-# endif /* HP_ACC */ +- +-// +-# ifndef __HP_aCC +-# define __STL_NATIVE_INCLUDE_PATH ../CC +-# define __STL_NATIVE_C_INCLUDE_PATH ../include +-// it is HP's old cfront-based compiler. +-# define __STL_NO_BOOL 1 +-// # define __STL_DONT_USE_BOOL_TYPEDEF 1 +-# define __STL_NO_NEW_NEW_HEADER 1 +-# define __STL_HAS_NO_NEW_IOSTREAMS 1 +-# define __STL_LIMITED_DEFAULT_TEMPLATES 1 +-# define __STL_NO_SIGNED_BUILTINS +-# define __STL_HAS_NO_NAMESPACES 1 +-# define __STL_NEED_TYPENAME 1 +-# define __STL_NEED_EXPLICIT 1 +-# define __STL_NO_EXCEPTION_SPEC 1 +-# define __STL_NONTEMPL_BASE_MATCH_BUG 1 +-# define __SGI_STL_NO_ARROW_OPERATOR 1 +-# define __STL_BASE_MATCH_BUG +-# define __STL_BASE_TYPEDEF_OUTSIDE_BUG 1 +-# define __STL_NO_NEW_STYLE_CASTS 1 +-// # define __STL_NO_WCHAR_T 1 +-// # define __STL_LONG_LONG 1 +-# define __STL_NEED_MUTABLE 1 +-# define __STL_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 +-# define __STL_NO_BAD_ALLOC 1 +-# define __STL_NO_MEMBER_TEMPLATES 1 +-# define __STL_NO_MEMBER_TEMPLATE_CLASSES 1 +-# define __STL_NO_MEMBER_TEMPLATE_KEYWORD 1 +-# define __STL_NO_FRIEND_TEMPLATES 1 +-# define __STL_NO_QUALIFIED_FRIENDS 1 +-# define __STL_NO_CLASS_PARTIAL_SPECIALIZATION 1 +-# define __STL_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 +-# define __STL_MEMBER_POINTER_PARAM_BUG 1 +-# define __STL_NON_TYPE_TMPL_PARAM_BUG 1 +-# define __STL_NO_DEFAULT_NON_TYPE_PARAM 1 +-// # define __STL_NO_METHOD_SPECIALIZATION 1 +-# define __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 +-# define __STL_NO_EXCEPTION_HEADER 1 +-# define __STL_DEFAULT_CONSTRUCTOR_BUG 1 +-# define __STL_HAS_NO_NEW_C_HEADERS 1 +-// # define __STL_STATIC_CONST_INIT_BUG 1 +-// # define __STL_THROW_RETURN_BUG 1 +-// # define __STL_LINK_TIME_INSTANTIATION 1 +-// # define __STL_NO_TEMPLATE_CONVERSIONS 1 +-# define __STL_NO_TYPEINFO 1 +-# define __STL_WCHAR_T_IS_USHORT 1 +-# define __STL_NO_PROXY_ARROW_OPERATOR 1 +-# endif /* cfront */ +- +- ++// STLport configuration file ++// It is internal STLport header - DO NOT include it directly ++ ++// system C-library dependent ++#if defined(_XOPEN_SOURCE) && (_XOPEN_VERSION - 0 >= 4) ++# define _STLP_RAND48 1 ++#endif ++// # define _STLP_RAND48 1 ++# define _STLP_NO_NATIVE_MBSTATE_T 1 ++# define _STLP_HPACC_BROKEN_BUFEND 1 ++# define _STLP_WCHAR_HPACC_EXCLUDE 1 ++ ++// this was reported to help, just as with SUN CC 4.2 ++# define _STLP_INLINE_STRING_LITERAL_BUG ++ ++ ++// specific prolog is needed to select correct threads impl ++# define _STLP_HAS_SPECIFIC_PROLOG_EPILOG ++ ++// HP aCC with +noeh ++# ifdef __HPACC_NOEH ++# define _STLP_HAS_NO_EXCEPTIONS 1 ++# endif ++ ++// HP compilers ++// At that point, we only know we are on HP (and _not_ using gcc, ++// according to "stlcomp.h" ++ ++// __HP_aCC indicate HP ANSI C++, but not always (03.xx does not ++// define it before 3.13, for example). ++// ++# if defined(__HP_aCC) ++ ++# if __HP_aCC < 33100 ++# define _STLP_NATIVE_OLD_STREAMS_INCLUDE_PATH ../iostream ++# else ++# define _STLP_NATIVE_OLD_STREAMS_INCLUDE_PATH ../include/iostream ++# endif ++ ++# define _STLP_LONG_LONG long long ++ ++#if (__HP_aCC <= 30000 && __HP_aCC >= 12100) ++ ++//Special kludge to workaround bug in aCC A.01.23, CR JAGac40634 ++#ifdef _STLP_DEBUG ++static void _STLP_dummy_literal() { const char *p = "x";} ++static void _STLP_dummy_literal_2() { const char *p = "123456789"; } ++static void _STLP_dummy_literal_3() { const char *p = "123456700000000000000089";} ++#endif ++ ++# define _STLP_HP_ACC 0123 ++# define _STLP_NATIVE_INCLUDE_PATH ../include ++# define _STLP_NATIVE_C_INCLUDE_PATH ../include ++# define _STLP_NATIVE_CPP_C_INCLUDE_PATH ../include ++# define _STLP_VENDOR_GLOBAL_STD 1 ++# define _STLP_VENDOR_GLOBAL_CSTD 1 ++# define _STLP_HAS_NO_NEW_IOSTREAMS 1 ++# define _STLP_DONT_THROW_RANGE_ERRORS 1 ++# define _STLP_STATIC_CONST_INIT_BUG 1 ++#if (__HP_aCC < 12700) ++//new flag: on most HP compilers cwchar is missing ++# define _STLP_NO_CWCHAR ++#endif ++ ++# define _STLP_FORCE_ALLOCATORS(t,a) \ ++ typedef typename _Alloc_traits::_Orig _STLP_dummy_type1;\ ++ typedef typename _STLP_dummy_type1:: _STLP_TEMPLATE rebind::other _STLP_dummy_type2; ++ ++# endif /* 123 */ ++ ++// latest version and up ++# if (__HP_aCC >= 32500 ) ++# define _STLP_HP_ACC 0325 ++ ++# define _STLP_FORCE_ALLOCATORS(t,a) \ ++ typedef typename _Alloc_traits::_Orig _STLP_dummy_type1;\ ++ typedef typename _STLP_dummy_type1:: _STLP_TEMPLATE rebind::other _STLP_dummy_type2; ++ ++# if !defined( _INCLUDE__STDC_A1_SOURCE ) // HP-UX 11i only ++# define _STLP_HAS_NO_UNIX98_WCHAR_EXTENSIONS ++# endif ++# if defined(_HP_NAMESPACE_STD) // option -AA ++// from now, we have a full standard lib in namespace std ++// ++// -AA indicates that we are compiling against Rogue Wave 2.2.1 ++// STL shipped with the HP aCC compiler. -AA tells the compiler ++// to use the STL defined in the include_std directory. ++// ++# define _STLP_NATIVE_INCLUDE_PATH ../include_std ++# define _STLP_NATIVE_C_INCLUDE_PATH ../include_std ++# define _STLP_NATIVE_CPP_C_INCLUDE_PATH ../include_std ++ ++// # define _STLP_HPACC_ONLY_NATIVE_STRING 1 // STLPort _string.c includes ++# define _STLP_HP_ACC_COMPAT -1 ++# else // option -Aa ++# define _STLP_NATIVE_INCLUDE_PATH ../include ++# define _STLP_NATIVE_C_INCLUDE_PATH ../include ++# define _STLP_NATIVE_CPP_C_INCLUDE_PATH ../include ++# define _STLP_VENDOR_GLOBAL_STD 1 ++# define _STLP_VENDOR_GLOBAL_CSTD 1 ++# define _STLP_HAS_NO_NEW_IOSTREAMS 1 ++// Add the following in _site_config.h if "-Wc,-koenig_lookup,on" not used ++//# define _STLP_NO_KOENIG_LOOKUP 1 ++# define _STLP_DONT_THROW_RANGE_ERRORS 1 ++# endif /* _NAMESPACE_STD */ ++# endif ++ ++# if (__HP_aCC >= 31400 && __HP_aCC < 32500) ++# define _STLP_HP_ACC 0314 ++ ++# define _STLP_FORCE_ALLOCATORS(t,a) \ ++typedef typename _Alloc_traits::_Orig _STLP_dummy_type1;\ ++typedef typename _STLP_dummy_type1:: _STLP_TEMPLATE rebind::other _STLP_dummy_type2; ++# define _STLP_NO_CWCHAR ++# if defined(_NAMESPACE_STD) // option -AA ++// from now, we have a full standard lib in namespace std ++# define _STLP_NATIVE_INCLUDE_PATH ../include_std ++# define _STLP_NATIVE_C_INCLUDE_PATH ../include_std ++# define _STLP_NATIVE_CPP_C_INCLUDE_PATH ../include_std ++// # define _STLP_HPACC_ONLY_NATIVE_STRING 1 // STLPort _string.c includes ++# define _STLP_HP_ACC_COMPAT -1 ++# else // kind of compatibility mode ++# define _STLP_NATIVE_INCLUDE_PATH ../include ++# define _STLP_NATIVE_C_INCLUDE_PATH ../include ++# define _STLP_NATIVE_CPP_C_INCLUDE_PATH ../include ++# define _STLP_VENDOR_GLOBAL_STD 1 ++# define _STLP_VENDOR_GLOBAL_CSTD 1 ++# define _STLP_HAS_NO_NEW_IOSTREAMS 1 ++// comment if "-Wc,-koenig_lookup,on" id used ++# define _STLP_NO_KOENIG_LOOKUP 1 ++# define _STLP_DONT_THROW_RANGE_ERRORS 1 ++# define _STLP_NO_ROPE 1 ++# endif /* _NAMESPACE_STD */ ++# endif /* 314 */ ++ ++# if ((__HP_aCC >= 30000 && __HP_aCC < 31400) || (__HP_aCC == 1)) // A.03.13: __HP_aCC == 1 ++ ++#if (__HP_aCC != 1) ++# define _STLP_HAS_NO_NEW_C_HEADERS 1 ++#endif ++ ++# define _STLP_HAS_NO_NEW_IOSTREAMS ++# define _STLP_NO_QUALIFIED_FRIENDS 1 ++// aCC bug ? need explicit args on constructors of partial specialized ++// classes ++# define _STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS 1 ++// ?? fbp: really needed ? ++# define _STLP_STATIC_ARRAY_BUG 1 ++// ?? fbp : maybe present in some versions ? ++# define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1 ++# define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1 ++// and stuff is in global namespace ++# define _STLP_VENDOR_GLOBAL_EXCEPT_STD ++// fbp : moved here ++# define _STLP_VENDOR_GLOBAL_CSTD 1 ++// # define _INCLUDE_HPUX_SOURCE ++# define _XPG4 ++# define _INCLUDE_XOPEN_SOURCE ++# define _INCLUDE_AES_SOURCE ++# endif /* < 314 */ ++# if __HP_aCC == 1 ++# define _STLP_BROKEN_USING_IN_CLASS ++# define _STLP_USING_BASE_MEMBER ++# define _STLP_NO_CWCHAR ++// # define _STLP_NO_WCHAR_T 1 ++# endif ++# endif /* HP_ACC */ ++ ++// ++# ifndef __HP_aCC ++# define _STLP_NATIVE_INCLUDE_PATH ../CC ++# define _STLP_NATIVE_C_INCLUDE_PATH ../include ++// it is HP's old cfront-based compiler. ++# define _STLP_NO_BOOL 1 ++// # define _STLP_DONT_USE_BOOL_TYPEDEF 1 ++# define _STLP_NO_NEW_NEW_HEADER 1 ++# define _STLP_HAS_NO_NEW_IOSTREAMS 1 ++# define _STLP_LIMITED_DEFAULT_TEMPLATES 1 ++# define _STLP_NO_SIGNED_BUILTINS ++# define _STLP_HAS_NO_NAMESPACES 1 ++# define _STLP_NEED_TYPENAME 1 ++# define _STLP_NEED_EXPLICIT 1 ++# define _STLP_NO_EXCEPTION_SPEC 1 ++# define _STLP_NONTEMPL_BASE_MATCH_BUG 1 ++# define _STLP_NO_ARROW_OPERATOR 1 ++# define _STLP_BASE_MATCH_BUG ++# define _STLP_BASE_TYPEDEF_OUTSIDE_BUG 1 ++# define _STLP_NO_NEW_STYLE_CASTS 1 ++// # define _STLP_NO_WCHAR_T 1 ++// # define _STLP_LONG_LONG long long ++# define _STLP_NEED_MUTABLE 1 ++# define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 ++# define _STLP_NO_BAD_ALLOC 1 ++# define _STLP_NO_MEMBER_TEMPLATES 1 ++# define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1 ++# define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1 ++# define _STLP_NO_FRIEND_TEMPLATES 1 ++# define _STLP_NO_QUALIFIED_FRIENDS 1 ++# define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1 ++# define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 ++# define _STLP_MEMBER_POINTER_PARAM_BUG 1 ++# define _STLP_NON_TYPE_TMPL_PARAM_BUG 1 ++# define _STLP_NO_DEFAULT_NON_TYPE_PARAM 1 ++// # define _STLP_NO_METHOD_SPECIALIZATION 1 ++# define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 ++# define _STLP_NO_EXCEPTION_HEADER 1 ++# define _STLP_DEFAULT_CONSTRUCTOR_BUG 1 ++# define _STLP_HAS_NO_NEW_C_HEADERS 1 ++// # define _STLP_STATIC_CONST_INIT_BUG 1 ++// # define _STLP_THROW_RETURN_BUG 1 ++// # define _STLP_LINK_TIME_INSTANTIATION 1 ++// # define _STLP_NO_TEMPLATE_CONVERSIONS 1 ++# define _STLP_NO_TYPEINFO 1 ++# define _STLP_WCHAR_T_IS_USHORT 1 ++ ++# endif /* cfront */ ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_ibm.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_ibm.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_ibm.h Sat Feb 24 10:44:28 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_ibm.h Sun Aug 11 18:59:24 2002 +@@ -1,40 +1,55 @@ + // STLport configuration file + // It is internal STLport header - DO NOT include it directly + ++#if !defined(__IBMCPP__) || (__IBMCPP__ < 500) ++# define _STLP_HAS_NO_NEW_C_HEADERS 1 ++#endif ++ ++// string literal problem, same as with SUN and aCC ++# define _STLP_INLINE_STRING_LITERAL_BUG 1 ++# define _STLP_HAS_NATIVE_FLOAT_ABS ++ ++# define _STLP_DEFAULT_CONSTRUCTOR_BUG 1 ++ + + # ifdef __IBMCPP__ +-# define __STL_HAS_SPECIFIC_PROLOG_EPILOG ++# define _STLP_HAS_SPECIFIC_PROLOG_EPILOG + # endif + ++// # if ( defined (__MULTI__) && defined (__WINDOWS__)) ++// # define _STLP_WIN32THREADS 1 // Only Visual Age 3.5 for Windows ++// # endif ++ ++# if ( defined (__MULTI__) && defined (__OS2__)) ++# define _STLP_OS2THREADS 1 ++# endif ++ + // __TEMPINC__ is set when /Ft+ option is used + # ifdef __TEMPINC__ +-# define __STL_LINK_TIME_INSTANTIATION 1 ++# define _STLP_LINK_TIME_INSTANTIATION 1 + # endif + + # if defined (__MVS__) + // long long support is buggy - reported by Tinny Ng + // # if __EXTENDED__ && __COMPILER_VER__ >= 0x22060000 +-// # define __STL_LONG_LONG 1 ++// # define _STLP_LONG_LONG long long + // # endif +-# define __STL_NO_TYPEINFO 1 +-# undef __STL_NATIVE_INCLUDE_PATH +-# define __STL_NATIVE_INCLUDE_PATH /usr/lpp/ioclib/include ++// boris : hstash reported it can be treated like UNIX ++# define _STLP_UNIX 1 ++# define _STLP_NO_TYPEINFO 1 ++# undef _STLP_NATIVE_INCLUDE_PATH ++# define _STLP_NATIVE_INCLUDE_PATH /usr/lpp/ioclib/include + // same for C headers like +-# undef __STL_NATIVE_C_INCLUDE_PATH +-# define __STL_NATIVE_C_INCLUDE_PATH /usr/include ++# undef _STLP_NATIVE_C_INCLUDE_PATH ++# define _STLP_NATIVE_C_INCLUDE_PATH /usr/include ++# define _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH /usr/include + + # elif (defined (__WINDOWS__) || defined (_AIX) || defined (__OS2__) ) && (__IBMCPP__ >= 350) + +-# define __STL_LONG_LONG 1 ++# define _STLP_LONG_LONG long long + + #endif + +-# if ( defined (__MULTI__) && defined (__WINDOWS__)) +-# define __STL_WIN32THREADS 1 // Only Visual Age 3.5 for Windows +-# endif +- +-# define __STL_HAS_NO_NEW_C_HEADERS 1 +- + #if !( defined( __xlC__ ) && __xlC__ >= 0x500 ) + + // AIX xlC 3.1 , 3.0.1 ==0x301 +@@ -42,70 +57,82 @@ + // OS-390 C++ + // fbp : should be more version-specific! + +-# define __STL_NO_BOOL 1 +-# define __STL_DONT_USE_BOOL_TYPEDEF 1 +-# define __STL_LIMITED_DEFAULT_TEMPLATES 1 +-# define __STL_HAS_NO_NAMESPACES 1 +- +-# define __STL_NEED_TYPENAME 1 +-# define __STL_NEED_EXPLICIT 1 +- +-// # define __STL_HAS_NO_EXCEPTIONS 1 +-// # define __STL_NO_EXCEPTION_SPEC 1 +- +-# define __SGI_STL_NO_ARROW_OPERATOR 1 +-# define __STL_NO_PROXY_ARROW_OPERATOR 1 +-# define __STL_NO_NEW_STYLE_CASTS 1 +-# define __STL_NO_WCHAR_T 1 +-# define __STL_NEED_MUTABLE 1 +-# define __STL_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 +-# define __STL_NO_BAD_ALLOC 1 +- +-# define __STL_NO_MEMBER_TEMPLATES 1 +-# define __STL_NO_MEMBER_TEMPLATE_CLASSES 1 +-# define __STL_NO_MEMBER_TEMPLATE_KEYWORD 1 +-# define __STL_NO_FRIEND_TEMPLATES 1 +-# define __STL_NO_QUALIFIED_FRIENDS 1 +-# define __STL_NO_CLASS_PARTIAL_SPECIALIZATION 1 +-# define __STL_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 +- +-# define __STL_NO_DEFAULT_NON_TYPE_PARAM 1 +-# define __STL_NO_METHOD_SPECIALIZATION 1 +-# define __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 +-# define __STL_NO_EXCEPTION_HEADER 1 ++# define _STLP_NO_BOOL 1 ++# define _STLP_DONT_USE_BOOL_TYPEDEF 1 ++# define _STLP_LIMITED_DEFAULT_TEMPLATES 1 ++# define _STLP_HAS_NO_NAMESPACES 1 ++# define _STLP_NEED_TYPENAME 1 ++# define _STLP_NEED_EXPLICIT 1 ++# define _STLP_NO_ARROW_OPERATOR 1 ++# define _STLP_NO_NEW_STYLE_CASTS 1 ++# define _STLP_NO_WCHAR_T 1 ++# define _STLP_NEED_MUTABLE 1 ++# define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 ++# define _STLP_NO_BAD_ALLOC 1 ++ ++# define _STLP_NO_MEMBER_TEMPLATES 1 ++# define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1 ++# define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1 ++# define _STLP_NO_FRIEND_TEMPLATES 1 ++# define _STLP_NO_QUALIFIED_FRIENDS 1 ++# define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1 ++# define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 ++ ++# define _STLP_NO_DEFAULT_NON_TYPE_PARAM 1 ++# define _STLP_NO_METHOD_SPECIALIZATION 1 ++# define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 ++# define _STLP_NO_EXCEPTION_HEADER 1 + +-# define __STL_HAS_NO_NEW_IOSTREAMS 1 +-# define __STL_NO_NEW_NEW_HEADER 1 ++# define _STLP_HAS_NO_NEW_IOSTREAMS 1 ++# define _STLP_NO_NEW_NEW_HEADER 1 + +-# if defined (__OS2__) +-# define __STL_NO_TYPEINFO 1 ++# if defined (__OS2__) && (__IBMCPP__ <= 350) ++# define _STLP_NO_TYPEINFO 1 + # endif +-# define __STL_NO_NEW_NEW_HEADER 1 ++# define _STLP_NO_NEW_NEW_HEADER 1 + +-# define __STL_STATIC_CONST_INIT_BUG 1 +-// # define __STL_THROW_RETURN_BUG 1 ++# define _STLP_STATIC_CONST_INIT_BUG 1 ++// # define _STLP_THROW_RETURN_BUG 1 + + +-# define __STL_NO_TEMPLATE_CONVERSIONS 1 +-# define __STL_UNINITIALIZABLE_PRIVATE 1 +-# define __STL_BASE_TYPEDEF_OUTSIDE_BUG 1 +-# define __STL_STATIC_ARRAY_BUG 1 ++# define _STLP_NO_TEMPLATE_CONVERSIONS 1 ++# define _STLP_UNINITIALIZABLE_PRIVATE 1 ++# define _STLP_BASE_TYPEDEF_OUTSIDE_BUG 1 ++# define _STLP_STATIC_ARRAY_BUG 1 + + // AIX xlC, Visual Age 3.0 for OS/2 and MS +-# define __STL_TRIVIAL_DESTRUCTOR_BUG ++# define _STLP_TRIVIAL_DESTRUCTOR_BUG + +-# define __STL_NON_TYPE_TMPL_PARAM_BUG 1 +-# define __STL_NONTEMPL_BASE_MATCH_BUG 1 ++# define _STLP_NON_TYPE_TMPL_PARAM_BUG 1 ++# define _STLP_NONTEMPL_BASE_MATCH_BUG 1 + + #if __IBMCPP__ <= 350 +-# define __STL_NEED_UNREACHABLE_RETURN 1 ++# define _STLP_NEED_UNREACHABLE_RETURN 1 + #endif + + #if __IBMCPP__ < 350 +-# define __STL_NO_LONG_DOUBLE 1 ++# define _STLP_NO_LONG_DOUBLE 1 ++#endif ++ ++#if __IBMCPP__ >= 365 ++// does not have new C headers, but has div() ++# define _STLP_LDIV + #endif + + #endif /* xlC 5 */ ++ ++/* detect xlC5 by: */ ++#if defined(__IBMCPP__) && (500 <= __IBMCPP__) && (__IBMCPP__ < 600) ++#define _STLP_USE_EXCEPTIONS 1 ++#define _STLP_STATIC_CONST_INIT_BUG 1 ++//#pragma report(disable,CPPC1500029) ++// unsigned 32-bit integer type ++# define _STLP_UINT32_T unsigned int ++#if defined(_XOPEN_SOURCE) && (_XOPEN_VERSION - 0 >= 4) ++# define _STLP_RAND48 1 ++#endif ++// # define _STLP_RAND48 1 ++# endif /* __IBMCPP__ == 500 */ + + + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_intel.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_intel.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_intel.h Sat Feb 24 10:44:28 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_intel.h Sun Aug 11 18:59:24 2002 +@@ -1,11 +1,14 @@ + // STLport configuration file + // It is internal STLport header - DO NOT include it directly + +-# define __STL_DLLEXPORT_NEEDS_PREDECLARATION 1 ++# if (__ICL >= 450) ++# define _STLP_DLLEXPORT_NEEDS_PREDECLARATION 1 ++# endif ++ ++# define _STLP_IMPORT_TEMPLATE_KEYWORD extern + + # include + +-// debug mode problems in +-# define __STL_NAMESPACE_FUNCTION_AMBIGUITY_BUG 1 +-# define __STL_LONG_LONG 1 ++# undef _STLP_LONG_LONG ++# define _STLP_LONG_LONG long long + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_kai.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_kai.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_kai.h Sat Feb 24 10:44:28 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_kai.h Sun Aug 11 18:59:24 2002 +@@ -1,26 +1,58 @@ + // STLport config file for KAI C++ compiler + +-# define __STL_RAND48 1 +- +-# define __STL_VENDOR_MB_NAMESPACE __STL_VENDOR_STD ++#if defined(_XOPEN_SOURCE) && (_XOPEN_VERSION - 0 >= 4) ++# define _STLP_RAND48 1 ++#endif + + # ifndef __KAI_STRICT /* _NO_LONGLONG */ +-# define __STL_LONG_LONG 1 ++# define _STLP_LONG_LONG long long + # endif + + # if !defined (__EXCEPTIONS) && ! defined (_EXCEPTIONS) +-# define __STL_HAS_NO_EXCEPTIONS ++# define _STLP_HAS_NO_EXCEPTIONS + # endif + +-// # define __STL_LINK_TIME_INSTANTIATION 1 +-# define __STL_VENDOR_GLOBAL_CSTD 1 +-# define __STL_NO_NATIVE_WIDE_STREAMS 1 ++# ifndef __BUILDING_STLPORT ++# define _STLP_LINK_TIME_INSTANTIATION 1 ++# endif + + // two levels of macros do not work good with kcc. +-# define __STL_NATIVE_HEADER(header) <../include/##header> +-# define __STL_NATIVE_C_HEADER(header) <../include/##header> +-# define __STL_NATIVE_CPP_C_HEADER(header) <../include/##header> ++# define _STLP_NATIVE_HEADER(header) <../include/##header> ++# define _STLP_NATIVE_C_HEADER(header) <../include/##header> ++# define _STLP_NATIVE_CPP_C_HEADER(header) <../include/##header> ++# define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <../include/##header> ++ ++# ifdef _WIN32 ++# define _STLP_MINIMUM_IMPORT_STD ++# endif + + // KAI C++ uses EDG front-end, but apparently different switches + // # define __EDG_SWITCHES 1 ++ ++ ++# define _STLP_VENDOR_GLOBAL_CSTD 1 ++# define _STLP_VENDOR_MB_NAMESPACE std ++ ++// boris : some of those may also apply to KCC 3.4 ++# if __KCC_VERSION < 4000 ++# define _STLP_VENDOR_GLOBAL_EXCEPT_STD 1 ++ ++# endif ++ ++// this is multiplatform compiler, so here should go system-dependant section ++// This really should be in platform-specific files, like stl_solaris.h ++# ifdef __linux__ ++# define _STLP_NO_NATIVE_WIDE_STREAMS 1 ++# define _STLP_NO_NATIVE_WIDE_FUNCTIONS 1 ++# elif defined (__sun) || defined (sun) ++// # define _STLP_VENDOR_MB_NAMESPACE ++# include ++# elif defined (__hpux) ++# define _STLP_NO_NATIVE_WIDE_FUNCTIONS ++# elif defined (__sgi) ++// this requires some discrimination on whether we are actually on ++// a system officially supported by KAI. ++# define _STLP_HAS_NO_NEW_C_HEADERS 1 ++# include ++# endif + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_mlc.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_mlc.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_mlc.h Sat Feb 24 10:44:28 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_mlc.h Sun Aug 11 18:59:24 2002 +@@ -1,8 +1,8 @@ + // STLport configuration file + // It is internal STLport header - DO NOT include it directly + +-#define __STL_NO_MEMBER_TEMPLATES // Compiler does not support member templates +-#define __STL_NO_MEMBER_TEMPLATE_CLASSES // Compiler does not support member template classes ++#define _STLP_NO_MEMBER_TEMPLATES // Compiler does not support member templates ++#define _STLP_NO_MEMBER_TEMPLATE_CLASSES // Compiler does not support member template classes + +-#define __STL_HAS_NEW_NEW_HEADER +-#define __STL_HAS_NO_NEW_IOSTREAMS // Native C++ library does not provide new-style templatized iostreams ++#define _STLP_HAS_NEW_NEW_HEADER ++#define _STLP_HAS_NO_NEW_IOSTREAMS // Native C++ library does not provide new-style templatized iostreams +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_msvc.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_msvc.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_msvc.h Sat Feb 24 10:44:28 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_msvc.h Sun Aug 11 18:59:24 2002 +@@ -2,122 +2,163 @@ + // It is internal STLport header - DO NOT include it directly + // Microsoft Visual C++ 4.0, 4.1, 4.2, 5.0, ICL + ++ + // Common features for VC++ 4.0 and higher +-# define __STL_NATIVE_HEADER(x) <../include/##x> +-# define __STL_NATIVE_C_HEADER(x) <../include/##x> +-# define __STL_NATIVE_CPP_C_HEADER(x) <../include/##x> +-# define __STL_NATIVE_OLD_STREAMS_HEADER(x) <../include/##x> ++# ifdef _M_IA64 ++# define _STLP_NATIVE_HEADER(x) <../crt/##x> ++# define _STLP_NATIVE_C_HEADER(x) <../crt/##x> ++# define _STLP_NATIVE_CPP_C_HEADER(x) <../crt/##x> ++# define _STLP_NATIVE_OLD_STREAMS_HEADER(x) <../crt/##x> ++# define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <../crt/##header> ++# define _STLP_GLOBAL_NEW_HANDLER ++# else ++# define _STLP_NATIVE_HEADER(x) <../include/##x> ++# define _STLP_NATIVE_C_HEADER(x) <../include/##x> ++# define _STLP_NATIVE_CPP_C_HEADER(x) <../include/##x> ++# define _STLP_NATIVE_OLD_STREAMS_HEADER(x) <../include/##x> ++# define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <../include/##header> ++# endif + +-# define __STL_MSVC50_COMPATIBILITY 1 ++# define _STLP_CALL __cdecl + +-# define __STL_CALL __cdecl ++# ifndef _STLP_LONG_LONG ++# define _STLP_LONG_LONG __int64 ++# endif + + // these switches depend on compiler flags + # ifndef _CPPUNWIND +-# define __STL_HAS_NO_EXCEPTIONS 1 ++# define _STLP_HAS_NO_EXCEPTIONS 1 + # endif + +-# define __STL_VENDOR_UNEXPECTED_STD ++# define _STLP_VENDOR_UNEXPECTED_STD + +-# if defined ( _MT ) && !defined (_NOTHREADS) && !defined (_REENTRANT) ++# if defined ( _MT ) && !defined (_STLP_NO_THREADS) && !defined (_REENTRANT) + # define _REENTRANT 1 + # endif + +-# define __STL_WCHAR_T_IS_USHORT 1 ++# define _STLP_WCHAR_T_IS_USHORT 1 ++# define _STLP_MINIMUM_IMPORT_STD ++ ++# ifdef _STLP_MSVC ++ ++# ifndef _STLP_MSVC50_COMPATIBILITY ++# define _STLP_MSVC50_COMPATIBILITY 1 ++# endif ++ ++// # define _STLP_STATIC_CONST_INIT_BUG 1 ++# define _STLP_DEFAULT_CONSTRUCTOR_BUG 1 ++ ++# define _STLP_DLLEXPORT_NEEDS_PREDECLARATION 1 + +-// common for VC++ and ICL +-# define __STL_STATIC_CONST_INIT_BUG 1 +-# define __STL_DEFAULT_CONSTRUCTOR_BUG 1 +- +-# ifdef __STL_MSVC +-# define __STL_DLLEXPORT_NEEDS_PREDECLARATION 1 +-# define __STL_HAS_SPECIFIC_PROLOG_EPILOG +-# define __STL_NO_TYPENAME_IN_TEMPLATE_HEADER ++// # ifndef __BUILDING_STLPORT ++// # define _STLP_USE_TEMPLATE_EXPORT 1 ++// # endif ++ ++# define _STLP_HAS_SPECIFIC_PROLOG_EPILOG ++# define _STLP_NO_TYPENAME_IN_TEMPLATE_HEADER + // fails to properly resolve call to sin() from within sin() +-# define __STL_SAME_FUNCTION_NAME_RESOLUTION_BUG ++# define _STLP_SAME_FUNCTION_NAME_RESOLUTION_BUG + +-# if (__STL_MSVC > 1100) ++# if (_STLP_MSVC > 1100) + typedef char __stl_char; +-# define __STL_DEFAULTCHAR __stl_char +-# endif /* (__STL_MSVC < 1100 ) */ ++# define _STLP_DEFAULTCHAR __stl_char ++# endif /* (_STLP_MSVC < 1100 ) */ + +-# define __STL_NO_TYPENAME_ON_RETURN_TYPE 1 ++# define _STLP_NO_TYPENAME_ON_RETURN_TYPE 1 + // using ::func_name results in ambiguity +-# define __STL_NO_USING_FOR_GLOBAL_FUNCTIONS 1 +-# define __STL_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 +-# define __STL_NO_CLASS_PARTIAL_SPECIALIZATION 1 +-# define __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 +-# define __STL_NO_MEMBER_TEMPLATE_KEYWORD 1 +-# define __STL_NO_MEMBER_TEMPLATE_CLASSES 1 +-# define __STL_NO_FRIEND_TEMPLATES +-# define __STL_NO_QUALIFIED_FRIENDS 1 +-# define __STL_DONT_USE_BOOL_TYPEDEF 1 +-# endif /* __STL_MSVC */ +- +-# if (_MSC_VER <= 1200) // including MSVC 6.0 +-# define __STL_GLOBAL_NEW_HANDLER +-// and the like still put stuff in ::namespace +-// up to version 6 +-# define __STL_VENDOR_GLOBAL_CSTD + +-# ifdef __STL_MSVC ++# if (_STLP_MSVC <= 1300) ++// boris : not defining this macro for SP5 causes other problems ++// # if !defined (_MSC_FULL_VER) || (_MSC_FULL_VER < 12008804 ) ++# define _STLP_NO_USING_FOR_GLOBAL_FUNCTIONS 1 ++//# endif ++# define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 ++# define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1 ++# define _STLP_NO_FRIEND_TEMPLATES ++# define _STLP_STATIC_CONST_INIT_BUG 1 + // these work, as long they are inline +-# define __STL_INLINE_MEMBER_TEMPLATES 1 +-# endif ++# define _STLP_INLINE_MEMBER_TEMPLATES 1 ++// VC++ cannot handle default allocator argument in template constructors ++# define _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS ++// there is no partial spec, and MSVC breaks on simulating it for iterator_traits queries ++# define _STLP_USE_OLD_HP_ITERATOR_QUERIES ++# endif ++ ++// # define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 ++# define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1 ++# define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1 ++ ++# define _STLP_NO_QUALIFIED_FRIENDS 1 ++# define _STLP_DONT_USE_BOOL_TYPEDEF 1 ++ ++# endif /* _STLP_MSVC */ ++ ++ ++# if (_MSC_VER <= 1300) ++# define _STLP_VENDOR_GLOBAL_CSTD ++// They included the necessary coding, ++// but the beta still has an issue with template classes ++// ok: class a { static const int v = 2; }; ++// error: template <class _Tp> class a { static const int v = 2; }; ++# endif /* (_MSC_VER <= 1300) */ ++ ++# if (_MSC_VER <= 1200) // including MSVC 6.0 ++# define _STLP_GLOBAL_NEW_HANDLER + # endif /* (_MSC_VER <= 1200) */ + + # if ( _MSC_VER<=1010 ) + // "bool" is reserved in MSVC 4.1 while absent, so : +-// # define __STL_USE_ABBREVS 1 +-# define __STL_NO_BAD_ALLOC +-# define __STL_HAS_NO_NEW_C_HEADERS 1 +-# define __STL_NO_NEW_NEW_HEADER 1 ++// # define _STLP_USE_ABBREVS 1 ++# define _STLP_NO_BAD_ALLOC ++# define _STLP_HAS_NO_NEW_C_HEADERS 1 ++# define _STLP_NO_NEW_NEW_HEADER 1 + # elif (_MSC_VER < 1100) + // VC++ 4.2 and higher +-# define __STL_YVALS_H 1 +-# define __STL_HAS_NO_NEW_IOSTREAMS 1 ++# define _STLP_YVALS_H 1 ++# define _STLP_HAS_NO_NEW_IOSTREAMS 1 + # endif /* 1010 */ + +-# if defined (__STL_MSVC) && ( __STL_MSVC < 1200 ) /* VC++ 6.0 */ +-# define __STL_NO_MEMBER_TEMPLATES 1 +-# define __STL_NON_TYPE_TMPL_PARAM_BUG 1 +-# define __STL_THROW_RETURN_BUG 1 ++# if defined (_STLP_MSVC) && ( _STLP_MSVC < 1200 ) /* VC++ 6.0 */ ++// # define _STLP_NO_MEMBER_TEMPLATES 1 ++// # define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 ++# define _STLP_NON_TYPE_TMPL_PARAM_BUG 1 ++# define _STLP_THROW_RETURN_BUG 1 + # endif + +-# if defined (__STL_MSVC) && ( __STL_MSVC < 1100 ) +-# ifndef __STL_NO_SGI_IOSTREAMS +-# define __STL_NO_SGI_IOSTREAMS +-# undef __SGI_STL_OWN_IOSTREAMS ++# if defined (_STLP_MSVC) && ( _STLP_MSVC < 1100 ) ++# ifndef _STLP_NO_OWN_IOSTREAMS ++# define _STLP_NO_OWN_IOSTREAMS ++# undef _STLP_OWN_IOSTREAMS + # endif +-// # define __STL_NESTED_TYPE_PARAM_BUG 1 ++// # define _STLP_NESTED_TYPE_PARAM_BUG 1 + // Debug mode does not work for 4.2 +-# ifdef __STL_DEBUG +-# pragma message ("STLport debug mode does not work for VC++ 4.2, turning __STL_DEBUG off ...") +-# undef __STL_DEBUG ++# ifdef _STLP_DEBUG ++# pragma message ("STLport debug mode does not work for VC++ 4.2, turning _STLP_DEBUG off ...") ++# undef _STLP_DEBUG + # endif +-# define __STL_NO_BOOL 1 +-# define __STL_NEED_TYPENAME 1 +-# define __STL_NEED_EXPLICIT 1 +-# define __STL_NEED_MUTABLE 1 +-# define __STL_NO_PARTIAL_SPECIALIZATION_SYNTAX +-# define __STL_LIMITED_DEFAULT_TEMPLATES 1 ++# define _STLP_NO_BOOL 1 ++# define _STLP_NEED_TYPENAME 1 ++# define _STLP_NEED_EXPLICIT 1 ++# define _STLP_NEED_MUTABLE 1 ++# define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX ++# define _STLP_LIMITED_DEFAULT_TEMPLATES 1 + + // up to 4.2, library is in global namespace +-# define __STL_VENDOR_GLOBAL_STD +-# define __STL_NONTEMPL_BASE_MATCH_BUG 1 +-# define __STL_BROKEN_USING_DIRECTIVE 1 +-# define __SGI_STL_NO_ARROW_OPERATOR +-# define __STL_NO_SIGNED_BUILTINS 1 +-# define __STL_NO_EXCEPTION_SPEC 1 +-# undef __STL_DEFAULT_TYPE_PARAM +-# undef __STL_HAS_NO_NAMESPACES +-# undef __STL_NO_AT_MEMBER_FUNCTION +-# undef __STL_NO_MEMBER_TEMPLATES +-# undef __STL_NO_MEMBER_TEMPLATE_CLASSES +-# define __STL_HAS_NO_NAMESPACES 1 +-# define __STL_NO_AT_MEMBER_FUNCTION 1 +-# define __STL_NO_MEMBER_TEMPLATES +-# define __STL_NO_MEMBER_TEMPLATE_CLASSES ++# define _STLP_VENDOR_GLOBAL_STD ++# define _STLP_NONTEMPL_BASE_MATCH_BUG 1 ++# define _STLP_BROKEN_USING_DIRECTIVE 1 ++# define _STLP_NO_ARROW_OPERATOR ++# define _STLP_NO_SIGNED_BUILTINS 1 ++# define _STLP_NO_EXCEPTION_SPEC 1 ++# undef _STLP_DEFAULT_TYPE_PARAM ++# undef _STLP_HAS_NO_NAMESPACES ++# undef _STLP_NO_AT_MEMBER_FUNCTION ++# undef _STLP_NO_MEMBER_TEMPLATES ++# undef _STLP_NO_MEMBER_TEMPLATE_CLASSES ++# define _STLP_HAS_NO_NAMESPACES 1 ++# define _STLP_NO_AT_MEMBER_FUNCTION 1 ++# define _STLP_NO_MEMBER_TEMPLATES ++# define _STLP_NO_MEMBER_TEMPLATE_CLASSES + # endif /* 1100 */ + + // If we are under Windows CE, include appropriate config +@@ -127,30 +168,32 @@ + # endif + + # ifdef __ICL +-# define __STL_LIB_BASENAME "stlport_icl" ++# define _STLP_LIB_BASENAME "stlport_icl" + # else +-# if (_MSC_VER >= 1200) +-# ifdef _UNICODE +-# define __STL_LIB_BASENAME "stlport_vc6_unicode" +-# else +-# define __STL_LIB_BASENAME "stlport_vc6" +-# endif ++# if (_MSC_VER >= 1300) ++# define _STLP_LIB_BASENAME "stlport_vc7" ++# elif (_MSC_VER >= 1200) ++//# ifdef _UNICODE ++//# define _STLP_LIB_BASENAME "stlport_vc6_unicode" ++//# else ++# define _STLP_LIB_BASENAME "stlport_vc6" ++//# endif + # elif (_MSC_VER >= 1100) +-# ifdef _UNICODE +-# define __STL_LIB_BASENAME "stlport_vc5_unicode" +-# else +-# define __STL_LIB_BASENAME "stlport_vc5" +-# endif ++//# ifdef _UNICODE ++//# define _STLP_LIB_BASENAME "stlport_vc5_unicode" ++//# else ++# define _STLP_LIB_BASENAME "stlport_vc5" ++//# endif + # endif /* (_MSC_VER >= 1200) */ + # endif /* __ICL */ + + +-# if defined (__ICL) || (_MSC_VER < 1200) && ! defined (__BUILDING_STLPORT) +-// only static SGI lib now works for ICL and VC 5.0 +-# undef __STL_USE_STATIC_LIB +-# define __STL_USE_STATIC_LIB ++# if (defined (__ICL) && (__ICL < 450)) || (_MSC_VER < 1200) ++// only static STLport lib now works for ICL and VC 5.0 ++# undef _STLP_USE_STATIC_LIB ++# define _STLP_USE_STATIC_LIB + // disable hook which makes template symbols to be searched for in the library +-# undef __STL_NO_CUSTOM_IO ++# undef _STLP_NO_CUSTOM_IO + # endif + + # include +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_mwerks.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_mwerks.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_mwerks.h Sat Feb 24 10:44:28 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_mwerks.h Sun Aug 11 18:59:24 2002 +@@ -1,126 +1,140 @@ +-// STLport configuration file +-// It is internal STLport header - DO NOT include it directly +- +-// Bring in definition of __MSL__ and related items +-#include +-#include +- +-// +-// Compiler features +-// +- +- +-// *** CodeWarrior Compiler Common Features *** +-# if __option(longlong) +-# define __STL_LONG_LONG 1 +-# endif +- +-# define __STL_USE_UNIX_EMULATION_IO 1 +-# define __SGI_STL_USE_AUTO_PTR_CONVERSIONS 1 +-# define __STL_STATIC_CONST_INIT_BUG +- +-# ifdef __INTEL__ +-# define __STL_LITTLE_ENDIAN +-# else +-# define __STL_BIG_ENDIAN +-# endif +- +-// *** CodeWarrior Compiler Common Bugs *** +-# define __MSL_FIX_ITERATORS__(myType) // Some MSL headers rely on this +-# define __STL_NO_FRIEND_TEMPLATES 1 // Bug mysteriously reintroduced in this version. +-# define __STL_THROW_RETURN_BUG 1 +- +-# if __MWERKS__ <= 0x2303 +-# define __STL_NO_TEMPLATE_CONVERSIONS 1 +-# define __STL_NO_MEMBER_TEMPLATE_KEYWORD 1 +-# endif +- +-// *** Version-specific settings *** +- +-# if __MWERKS__ < 0x2301 +-# define __STL_MEMBER_SPECIALIZATION_BUG 1 +-# endif +- +-# if __MWERKS__ < 0x2300 // CW Pro5 features +-# define __STL_INLINE_MEMBER_TEMPLATES 1 +-# define __STL_RELOPS_IN_STD_BUG 1 +-# define __STL_DEFAULT_CONSTRUCTOR_BUG 1 +-# define __STL_NO_TYPENAME_ON_RETURN_TYPE +-# endif +- +-# if __MWERKS__ < 0x2200 // CW Pro4 features +-# define __STL_BROKEN_USING_DIRECTIVE 1 +-# define __STL_NO_MEMBER_TEMPLATES 1 +-# define __STL_NO_MEMBER_TEMPLATE_CLASSES 1 +-# define __STL_NO_MEMBER_TEMPLATE_KEYWORD 1 +-# define __STL_NO_FRIEND_TEMPLATES 1 +-# define __STL_NO_QUALIFIED_FRIENDS 1 +-# define __STL_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 +-# endif +- +-# if __MWERKS__ < 0x2100 // CW Pro3 features +-# define __STL_NO_CLASS_PARTIAL_SPECIALIZATION 1 +-# define __STL_HAS_NO_NAMESPACES 1 +-# define __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 +- +-# define __STL_NEED_TYPENAME 1 +-# define __SGI_STL_NO_ARROW_OPERATOR 1 +-# define __STL_TEMPLATE_PARAM_SUBTYPE_BUG 1 +-# define __STL_FORCED_INLINE_INSTANTIATION_BUG 1 +-# define __STL_MULTI_CONST_TEMPLATE_ARG_BUG 1 +-# define __STL_INLINE_NAME_RESOLUTION_BUG 1 +-// *** Metrowerks Standard Library Bug *** +-# define __STL_MSVC50_COMPATIBILITY 1 +-# endif +- +-# if __MWERKS__ < 0x2000 // v. 2.0 features +-# define __STL_NO_WCHAR_T 1 +-# define __STL_NO_DEFAULT_NON_TYPE_PARAM 1 +-# define __STL_NON_TYPE_TMPL_PARAM_BUG 1 // dwa 8/21/97 - this bug fixed for CWPro2 +-# define __STL_UNINITIALIZABLE_PRIVATE 1 // dwa 10/23/97 - this bug fixed for CWPro2 +-# endif +- +-# if __MWERKS__ < 0x1900 // dwa 8/19/97 - 1.9 Compiler feature defines +-# define __STL_LIMITED_DEFAULT_TEMPLATES 1 +-# define __STL_BASE_TYPEDEF_BUG 1 +-# define __STL_BASE_MATCH_BUG 1 +-# define __STL_NONTEMPL_BASE_MATCH_BUG 1 +-# define __STL_DEFAULT_TYPE_PARAM 1 // More limited template parameters +- +-# if __MWERKS__ < 0x1800 +- __GIVE_UP_WITH_STL(CW_18) +-# endif +- +-# endif +- +- +-// fixes to native inclusion wrappers. +-# if __MWERKS__ >= 0x2300 // CWPro5 changes paths - dwa 2/28/99 +- +-# define __STL_NATIVE_INCLUDE_PATH ../include +-# define __STL_NATIVE_C_INCLUDE_PATH ../include +-# define __STL_NATIVE_HEADER(header) <../include/##header> +- // fbp +- +-# define __STL_NATIVE_CPP_C_HEADER(header) <../include/##header> +-# define __STL_NATIVE_C_HEADER(header) <../include/##header> +- +-# else +- +-# define __STL_NATIVE_INCLUDE_PATH Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C++:Include +-# define __STL_NATIVE_C_INCLUDE_PATH Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:MSL Common:Public Includes +-# define __STL_NATIVE_HEADER(header) +-# define __STL_NATIVE_CPP_C_HEADER(header) +-# define __STL_NATIVE_C_HEADER(header) +- +-# endif +- +- // fbp +-# if !defined( __MSL_CPP__ ) || __MSL_CPP__ <= 0x4105 +-# define __STL_NO_NATIVE_WIDE_STREAMS 1 +-# endif +- +-# define __STL_LIB_BASENAME stlport_mwerks_x86 +-# define __STL_DLLEXPORT_NEEDS_PREDECLARATION 1 +- +-// # include ++// STLport configuration file ++// It is internal STLport header - DO NOT include it directly ++ ++// Bring in definition of __MSL__ and related items ++#include ++#include ++ ++// ++// Compiler features ++// ++ ++ ++// *** CodeWarrior Compiler Common Features *** ++# if __option(longlong) ++# define _STLP_LONG_LONG long long ++# endif ++ ++# define _STLP_USE_UNIX_EMULATION_IO 1 ++# define _STLP_USE_AUTO_PTR_CONVERSIONS 1 ++ ++# ifdef __INTEL__ ++# define _STLP_LITTLE_ENDIAN ++# else ++# define _STLP_BIG_ENDIAN ++# endif ++ ++#if defined(_MSL_NO_LOCALE) ++#define _STLP_NO_IMPORT_LOCALE ++#endif ++#if !__option( wchar_type ) ++# define _STLP_WCHAR_T_IS_USHORT ++#endif ++ ++// *** CodeWarrior Compiler Common Bugs *** ++# define __MSL_FIX_ITERATORS__(myType) // Some MSL headers rely on this ++# define _STLP_NO_FRIEND_TEMPLATES 1 // Bug mysteriously reintroduced in this version. ++# define _STLP_THROW_RETURN_BUG 1 ++ ++// *** Version-specific settings *** ++ ++# if __MWERKS__ >= 0x2405 ++# define _STLP_HAS_NATIVE_FLOAT_ABS ++# endif ++ ++# if __MWERKS__ < 0x2405 ++# define _STLP_STATIC_CONST_INIT_BUG ++# endif ++ ++# if __MWERKS__ <= 0x2303 ++# define _STLP_NO_TEMPLATE_CONVERSIONS 1 ++# define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1 ++# endif ++ ++# if __MWERKS__ < 0x2301 ++# define _STLP_MEMBER_SPECIALIZATION_BUG 1 ++# endif ++ ++# if __MWERKS__ < 0x2300 // CW Pro5 features ++# define _STLP_INLINE_MEMBER_TEMPLATES 1 ++# define _STLP_RELOPS_IN_STD_BUG 1 ++# define _STLP_DEFAULT_CONSTRUCTOR_BUG 1 ++# define _STLP_NO_TYPENAME_ON_RETURN_TYPE ++# endif ++ ++# if __MWERKS__ < 0x2200 // CW Pro4 features ++# define _STLP_BROKEN_USING_DIRECTIVE 1 ++# define _STLP_NO_MEMBER_TEMPLATES 1 ++# define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1 ++# define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1 ++# define _STLP_NO_FRIEND_TEMPLATES 1 ++# define _STLP_NO_QUALIFIED_FRIENDS 1 ++# define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 ++# endif ++ ++# if __MWERKS__ < 0x2100 // CW Pro3 features ++# define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1 ++# define _STLP_HAS_NO_NAMESPACES 1 ++# define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 ++ ++# define _STLP_NEED_TYPENAME 1 ++# define _STLP_NO_ARROW_OPERATOR 1 ++# define _STLP_TEMPLATE_PARAM_SUBTYPE_BUG 1 ++# define _STLP_FORCED_INLINE_INSTANTIATION_BUG 1 ++# define _STLP_MULTI_CONST_TEMPLATE_ARG_BUG 1 ++# define _STLP_INLINE_NAME_RESOLUTION_BUG 1 ++// *** Metrowerks Standard Library Bug *** ++# define _STLP_MSVC50_COMPATIBILITY 1 ++# endif ++ ++# if __MWERKS__ < 0x2000 // v. 2.0 features ++# define _STLP_NO_WCHAR_T 1 ++# define _STLP_NO_DEFAULT_NON_TYPE_PARAM 1 ++# define _STLP_NON_TYPE_TMPL_PARAM_BUG 1 // dwa 8/21/97 - this bug fixed for CWPro2 ++# define _STLP_UNINITIALIZABLE_PRIVATE 1 // dwa 10/23/97 - this bug fixed for CWPro2 ++# endif ++ ++# if __MWERKS__ < 0x1900 // dwa 8/19/97 - 1.9 Compiler feature defines ++# define _STLP_LIMITED_DEFAULT_TEMPLATES 1 ++# define _STLP_BASE_TYPEDEF_BUG 1 ++# define _STLP_BASE_MATCH_BUG 1 ++# define _STLP_NONTEMPL_BASE_MATCH_BUG 1 ++# define _STLP_DEFAULT_TYPE_PARAM 1 // More limited template parameters ++ ++# if __MWERKS__ < 0x1800 ++ __GIVE_UP_WITH_STL(CW_18) ++# endif ++ ++# endif ++ ++ ++// fixes to native inclusion wrappers. ++# if __MWERKS__ >= 0x2300 // CWPro5 changes paths - dwa 2/28/99 ++ ++# define _STLP_NATIVE_INCLUDE_PATH ../include ++# define _STLP_NATIVE_C_INCLUDE_PATH ../include ++# define _STLP_NATIVE_HEADER(header) <../include/##header> ++# define _STLP_NATIVE_CPP_C_HEADER(header) <../include/##header> ++# define _STLP_NATIVE_C_HEADER(header) <../include/##header> ++# define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <../include/##header> ++ ++# else ++ ++# define _STLP_NATIVE_INCLUDE_PATH Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C++:Include ++# define _STLP_NATIVE_C_INCLUDE_PATH Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:MSL Common:Public Includes ++# define _STLP_NATIVE_HEADER(header) ++# define _STLP_NATIVE_CPP_C_HEADER(header) ++# define _STLP_NATIVE_C_HEADER(header) ++# define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) ++ ++# endif ++ ++ // fbp ++# if !defined( __MSL_CPP__ ) || __MSL_CPP__ <= 0x4105 ++# define _STLP_NO_NATIVE_WIDE_STREAMS 1 ++# endif ++ ++# define _STLP_LIB_BASENAME stlport_mwerks_x86 ++# define _STLP_DLLEXPORT_NEEDS_PREDECLARATION 1 ++ ++// # include +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_mycomp.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_mycomp.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_mycomp.h Sat Feb 24 10:44:28 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_mycomp.h Sun Aug 11 18:59:24 2002 +@@ -27,8 +27,8 @@ + * macros. + * + */ +-# ifndef __STLPORT_MYCOMP_H +-# define __STLPORT_MYCOMP_H ++# ifndef _STLP_MYCOMP_H ++# define _STLP_MYCOMP_H + + # error "Your compiler version is not recognized by STLport. Please edit " + +@@ -39,225 +39,221 @@ + + // Mostly correct guess, change it for Alpha (and other environments + // that has 64-bit "long") +-// # define __STL_UINT32_T unsigned long ++// # define _STLP_UINT32_T unsigned long + + // Disables wchar_t functinality +-// # define __STL_NO_WCHAR_T 1 ++// # define _STLP_NO_WCHAR_T 1 + + // Define if wchar_t is not a unique type, and is actually a typedef to unsigned short. +-// # define __STL_WCHAR_T_IS_USHORT 1 ++// # define _STLP_WCHAR_T_IS_USHORT 1 + + // Uncomment if long long is available +-// # define __STL_LONG_LONG 1 ++// # define _STLP_LONG_LONG long long + + // Uncomment if long double is not available +-// # define __STL_NO_LONG_DOUBLE 1 ++// # define _STLP_NO_LONG_DOUBLE 1 + + // Uncomment this if your compiler does not support "typename" keyword +-// # define __STL_NEED_TYPENAME 1 ++// # define _STLP_NEED_TYPENAME 1 + + // Uncomment this if your compiler does not support "mutable" keyword +-// # define __STL_NEED_MUTABLE 1 ++// # define _STLP_NEED_MUTABLE 1 + + // Uncomment this if your compiler does not support "explicit" keyword +-// # define __STL_NEED_EXPLICIT 1 ++// # define _STLP_NEED_EXPLICIT 1 + + // Uncomment if new-style-casts like const_cast<> are not available +-// # define __STL_NO_NEW_STYLE_CASTS 1 ++// # define _STLP_NO_NEW_STYLE_CASTS 1 + + // Uncomment this if your compiler does not have "bool" type +-// # define __STL_NO_BOOL 1 ++// # define _STLP_NO_BOOL 1 + + // Uncomment this if your compiler does not have "bool" type, but has "bool" keyword reserved +-// # define __STL_DONT_USE_BOOL_TYPEDEF 1 ++// # define _STLP_DONT_USE_BOOL_TYPEDEF 1 + + // Uncomment this if your compiler does not have "bool" type, but defines "bool" in +-// # define __STL_YVALS_H 1 ++// # define _STLP_YVALS_H 1 + + // Uncomment this if your compiler has limited or no default template arguments for classes +-// # define __STL_LIMITED_DEFAULT_TEMPLATES 1 ++// # define _STLP_LIMITED_DEFAULT_TEMPLATES 1 + + // Uncomment this if your compiler support only complete (not dependent on other parameters) + // types as default parameters for class templates +-// # define __STL_DEFAULT_TYPE_PARAM 1 ++// # define _STLP_DEFAULT_TYPE_PARAM 1 + + // Uncomment this if your compiler has problem with not-type + // default template parameters +-// # define __STL_NO_DEFAULT_NON_TYPE_PARAM 1 ++// # define _STLP_NO_DEFAULT_NON_TYPE_PARAM 1 + + // Define if compiler has + // trouble with functions getting non-type-parameterized classes as parameters +-// # define __STL_NON_TYPE_TMPL_PARAM_BUG 1 ++// # define _STLP_NON_TYPE_TMPL_PARAM_BUG 1 + + // Uncomment this if your compiler lacks static data members. + // Uncomment next line if your compiler supports __attribute__((weak)) +-// # define __STL_NO_STATIC_TEMPLATE_DATA 1 +-// # define __STL_WEAK_ATTRIBUTE 1 ++// # define _STLP_NO_STATIC_TEMPLATE_DATA 1 ++// # define _STLP_WEAK_ATTRIBUTE 1 + + // Uncomment this if your compiler does not support namespaces +-// # define __STL_HAS_NO_NAMESPACES 1 ++// # define _STLP_HAS_NO_NAMESPACES 1 + + // Uncomment if "using" keyword does not work with template types +-// # define __STL_BROKEN_USING_DIRECTIVE 1 ++// # define _STLP_BROKEN_USING_DIRECTIVE 1 + + // Uncomment this if your compiler does not support exceptions +-// # define __STL_HAS_NO_EXCEPTIONS 1 ++// # define _STLP_HAS_NO_EXCEPTIONS 1 + + // Uncomment this if your compiler does not support exception specifications +-// # define __STL_NO_EXCEPTION_SPEC ++// # define _STLP_NO_EXCEPTION_SPEC + + // Define this if your compiler requires return statement after throw() +-// # define __STL_THROW_RETURN_BUG 1 ++// # define _STLP_THROW_RETURN_BUG 1 + + // Header that comes with the compiler + // does not define bad_alloc exception +-// # define __STL_NO_BAD_ALLOC 1 ++// # define _STLP_NO_BAD_ALLOC 1 + + // Uncomment if member template methods are not available +-// # define __STL_NO_MEMBER_TEMPLATES 1 ++// # define _STLP_NO_MEMBER_TEMPLATES 1 + + // Uncomment if member template classes are not available +-// # define __STL_NO_MEMBER_TEMPLATE_CLASSES 1 ++// # define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1 + + // Uncomment if no "template" keyword should be used with member template classes +-// # define __STL_NO_MEMBER_TEMPLATE_KEYWORD 1 ++// # define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1 + + // Uncomment if friend member templates are not available +-// # define __STL_NO_FRIEND_TEMPLATES 1 ++// # define _STLP_NO_FRIEND_TEMPLATES 1 + + // Compiler does not accept friend declaration qualified with namespace name. +-// # define __STL_NO_QUALIFIED_FRIENDS 1 ++// # define _STLP_NO_QUALIFIED_FRIENDS 1 + + // Uncomment if partial specialization is not available +-// # define __STL_NO_CLASS_PARTIAL_SPECIALIZATION 1 ++// # define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1 + + // Define if class being partially specialized require full name (template parameters) + // of itself for method declarations +-// # define __STL_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS +- +-// partial specialization has bugs that prevent you from +-// using new-style reverse_iterator +-// # define __STL_PARTIAL_SPECIALIZATION_BUG ++// # define _STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS + + // Compiler has problems specializing members of partially + // specialized class +-// # define __STL_MEMBER_SPECIALIZATION_BUG ++// # define _STLP_MEMBER_SPECIALIZATION_BUG + + // Uncomment if partial order of template functions is not available +-// # define __STL_NO_FUNC_PARTIAL_ORDERING 1 ++// # define _STLP_NO_FUNC_PARTIAL_ORDERING 1 + + // Uncomment if specialization of methods is not allowed +-// # define __STL_NO_METHOD_SPECIALIZATION 1 ++// # define _STLP_NO_METHOD_SPECIALIZATION 1 + + // Uncomment if full specialization does not use partial spec. syntax : template <> struct .... +-// # define __STL_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 ++// # define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 + + // Uncomment if compiler does not support explicit template arguments for functions +-// # define __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS ++// # define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS + + // Uncomment if "__typetraits is being instaniated automatically by the compiler (SGI only ?) +-// # define __STL_AUTOMATIC_TYPE_TRAITS 1 ++// # define _STLP_AUTOMATIC_TYPE_TRAITS 1 + + // Uncomment this if your compiler can't inline while(), for() +-// # define __STL_LOOP_INLINE_PROBLEMS 1 ++// # define _STLP_LOOP_INLINE_PROBLEMS 1 + + // Define if the compiler fails to match a template function argument of base +-// # define __STL_BASE_MATCH_BUG 1 ++// # define _STLP_BASE_MATCH_BUG 1 + + // Define if the compiler fails to match a template function argument of base + // (non-template) +-//# define __STL_NONTEMPL_BASE_MATCH_BUG 1 ++//# define _STLP_NONTEMPL_BASE_MATCH_BUG 1 + + // Define if the compiler rejects outline method definition + // explicitly taking nested types/typedefs +-// # define __STL_NESTED_TYPE_PARAM_BUG 1 ++// # define _STLP_NESTED_TYPE_PARAM_BUG 1 + + // Compiler requires typename keyword on outline method definition + // explicitly taking nested types/typedefs +-// #define __STL_TYPENAME_ON_RETURN_TYPE ++// #define _STLP_TYPENAME_ON_RETURN_TYPE + + // Define if the baseclass typedefs not visible from outside +-// # define __STL_BASE_TYPEDEF_OUTSIDE_BUG 1 ++// # define _STLP_BASE_TYPEDEF_OUTSIDE_BUG 1 + + // if your compiler have serious problems with typedefs, try this one +-// # define __STL_BASE_TYPEDEF_BUG 1 ++// # define _STLP_BASE_TYPEDEF_BUG 1 + + // Uncomment if getting errors compiling mem_fun* adaptors +-// # define __STL_MEMBER_POINTER_PARAM_BUG 1 ++// # define _STLP_MEMBER_POINTER_PARAM_BUG 1 + +-// # define __STL_UNINITIALIZABLE_PRIVATE 1 ++// # define _STLP_UNINITIALIZABLE_PRIVATE 1 + + // Defined if the compiler + // has trouble instantiating static array members with dimension defined as enum +-// # define __STL_STATIC_ARRAY_BUG ++// # define _STLP_STATIC_ARRAY_BUG + +-// * __STL_STATIC_CONST_INIT_BUG: defined if the compiler can't handle a ++// * _STLP_STATIC_CONST_INIT_BUG: defined if the compiler can't handle a + // constant-initializer in the declaration of a static const data member + // of integer type. (See section 9.4.2, paragraph 4, of the C++ standard.) +-// # define __STL_STATIC_CONST_INIT_BUG ++// # define _STLP_STATIC_CONST_INIT_BUG + + // Define if default constructor for builtin integer type fails to initialize it to 0 +-// # define __STL_DEFAULT_CONSTRUCTOR_BUG 1 ++// # define _STLP_DEFAULT_CONSTRUCTOR_BUG 1 + + // Defined if constructor + // required to explicitly call member's default constructors for const objects +-// # define __STL_CONST_CONSTRUCTOR_BUG 1 ++// # define _STLP_CONST_CONSTRUCTOR_BUG 1 + + // Defined if the compiler has trouble calling POD-types constructors/destructors +-// # define __STL_TRIVIAL_CONSTRUCTOR_BUG 1 +-// # define __STL_TRIVIAL_DESTRUCTOR_BUG 1 ++// # define _STLP_TRIVIAL_CONSTRUCTOR_BUG 1 ++// # define _STLP_TRIVIAL_DESTRUCTOR_BUG 1 + + // Define if having problems specializing maps/sets with + // key type being const +-// # define __STL_MULTI_CONST_TEMPLATE_ARG_BUG ++// # define _STLP_MULTI_CONST_TEMPLATE_ARG_BUG + + // Uncomment this to disable -> operators on all iterators +-// # define __SGI_STL_NO_ARROW_OPERATOR 1 ++// # define _STLP_NO_ARROW_OPERATOR 1 + + // Uncomment this to disble at() member functions for containers +-// # define __STL_NO_AT_MEMBER_FUNCTION 1 ++// # define _STLP_NO_AT_MEMBER_FUNCTION 1 + + // Uncomment if native new-style iostreams are not available +-// #define __STL_HAS_NO_NEW_IOSTREAMS 1 ++// #define _STLP_HAS_NO_NEW_IOSTREAMS 1 + + // Define this if compiler lacks header +-// # define __STL_NO_EXCEPTION_HEADER 1 ++// # define _STLP_NO_EXCEPTION_HEADER 1 + + // Uncomment this if your C library has lrand48() function +-// # define __STL_RAND48 1 ++// # define _STLP_RAND48 1 + + // Uncomment if native new-style C library headers lile , etc are not available. +-// # define __STL_HAS_NO_NEW_C_HEADERS 1 ++// # define _STLP_HAS_NO_NEW_C_HEADERS 1 + + // uncomment if new-style headers is available +-// # define __STL_HAS_NEW_NEW_HEADER 1 ++// # define _STLP_HAS_NEW_NEW_HEADER 1 + + // uncomment this if and other STD headers put their stuff in ::namespace, + // not std:: +-// # define __STL_VENDOR_GLOBAL_STD ++// # define _STLP_VENDOR_GLOBAL_STD + + // uncomment this if and the like put stuff in ::namespace, + // not std:: +-// # define __STL_VENDOR_GLOBAL_CSTD ++// # define _STLP_VENDOR_GLOBAL_CSTD + + // Edit relative path below (or put full path) to get native + // compiler headers included. Default is "../include". + // C headers may reside in different directory, so separate macro is provided. + // Hint : never install STLport in the directory that ends with "include" +-// # define __STL_NATIVE_INCLUDE_PATH ../include +-// # define __STL_NATIVE_C_INCLUDE_PATH ../include +-// # define __STL_NATIVE_CPP_C_INCLUDE_PATH ../include ++// # define _STLP_NATIVE_INCLUDE_PATH ../include ++// # define _STLP_NATIVE_C_INCLUDE_PATH ../include ++// # define _STLP_NATIVE_CPP_C_INCLUDE_PATH ../include + + // This macro constructs header path from directory and name. + // You may change it if your compiler does not understand "/". +-// # define __STL_MAKE_HEADER(path, header) ++// # define _STLP_MAKE_HEADER(path, header) + + // This macro constructs native include header path from include path and name. + // You may have do define it if experirncing problems with preprocessor +-// # define __STL_NATIVE_HEADER(header) __STL_MAKE_HEADER(__STL_NATIVE_INCLUDE_PATH,header) ++// # define _STLP_NATIVE_HEADER(header) _STLP_MAKE_HEADER(_STLP_NATIVE_INCLUDE_PATH,header) + + // Same for C headers +-// __STL_NATIVE_C_HEADER(header) ++// _STLP_NATIVE_C_HEADER(header) + + //========================================================== + # endif +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_sco.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_sco.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_sco.h Sat Feb 24 10:44:28 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_sco.h Sun Aug 11 18:59:24 2002 +@@ -1,38 +1,35 @@ + // SCO UDK 7 compiler (UnixWare 7x, OSR 5, UnixWare 2x) + + +-//# define __SGI_STL_NO_ARROW_OPERATOR 1 +-//# define __STL_NO_NEW_STYLE_CASTS 1 +- +-// # define __STL_NEED_MUTABLE 1 +- +-.. # define __STL_NO_BAD_ALLOC 1 ++# define _STLP_NO_BAD_ALLOC 1 + + // allocator::rebind used not to work properly +-// # define __STL_NO_MEMBER_TEMPLATE_CLASSES 1 +-// # define __STL_NO_MEMBER_TEMPLATE_KEYWORD 1 ++// # define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1 ++// # define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1 + +-# define __STL_NO_FRIEND_TEMPLATES 1 +-# define __STL_NO_QUALIFIED_FRIENDS 1 ++# define _STLP_NO_FRIEND_TEMPLATES 1 ++# define _STLP_NO_QUALIFIED_FRIENDS 1 + + +-// # define __STL_NO_DEFAULT_NON_TYPE_PARAM 1 ++// # define _STLP_NO_DEFAULT_NON_TYPE_PARAM 1 + +-//# define __STL_HAS_NO_NEW_IOSTREAMS 1 +-//# define __STL_HAS_NO_NEW_C_HEADERS 1 ++//# define _STLP_HAS_NO_NEW_IOSTREAMS 1 ++//# define _STLP_HAS_NO_NEW_C_HEADERS 1 + + // ??? +-//# define __STL_STATIC_CONST_INIT_BUG 1 ++//# define _STLP_STATIC_CONST_INIT_BUG 1 + + // ??? +-//# define __STL_LINK_TIME_INSTANTIATION 1 ++//# define _STLP_LINK_TIME_INSTANTIATION 1 + + // ??? +-# define __STL_NO_TEMPLATE_CONVERSIONS 1 ++# define _STLP_NO_TEMPLATE_CONVERSIONS 1 + +-# define __STL_LONG_LONG 1 ++# define _STLP_LONG_LONG long long + + # if defined(_REENTRANT) + # define _UITHREADS /* if UnixWare < 7.0.1 */ +-# define __STL_UITHREADS ++# define _STLP_UITHREADS + # endif /* _REENTRANT */ ++ ++# define _STLP_SCO_OPENSERVER +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_select_lib.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_select_lib.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_select_lib.h Sat Feb 24 10:44:28 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_select_lib.h Sun Aug 11 18:59:24 2002 +@@ -1,36 +1,36 @@ +-# if !defined (__STL_NO_SGI_IOSTREAMS) ++# if !defined (_STLP_NO_OWN_IOSTREAMS) + +-# if ! defined (__STL_LIB_STATIC_SUFFIX) +-# define __STL_LIB_STATIC_SUFFIX "" ++# if ! defined (_STLP_LIB_STATIC_SUFFIX) ++# define _STLP_LIB_STATIC_SUFFIX "" + # endif + + // Note : the code below is intended to make use of compiled +-// SGI iostreams easier. If you are with to change names used for ++// STLport iostreams easier. If you are with to change names used for + // STLport libraries , please also change RELEASE_NAME and DEBUG_NAME + // macros in makefile ../../src/vc6.mak (or whatever .mak you are using to build + // STLport). If you are using binaries, you may just rename the binaries. +-# if ! defined (__BUILDING_STLPORT) && ! defined (__STL_DONT_FORCE_MSVC_LIB_NAME) +-# if defined (__STL_USE_DECLSPEC) +-# ifdef __STL_DEBUG +-# pragma comment(lib, __STL_LIB_BASENAME"_stldebug.lib") +-# elif defined (_DEBUG) || defined (__DEBUG) +-# pragma comment(lib, __STL_LIB_BASENAME"_debug.lib") ++# if ! defined (__BUILDING_STLPORT) && ! defined (_STLP_DONT_FORCE_MSVC_LIB_NAME) ++# if defined (_STLP_USE_DECLSPEC) ++# ifdef _STLP_DEBUG ++# pragma comment(lib, _STLP_LIB_BASENAME"_stldebug.lib") ++# elif (defined (_DEBUG) || defined (__DEBUG)) && defined (_STLP_USE_DEBUG_LIB) ++# pragma comment(lib, _STLP_LIB_BASENAME"_debug.lib") + # else +-# pragma comment(lib, __STL_LIB_BASENAME".lib") ++# pragma comment(lib, _STLP_LIB_BASENAME".lib") + # endif +-# else /* __STL_USE_DECLSPEC */ ++# else /* _STLP_USE_DECLSPEC */ + // fbp : for static linking, debug setting _MUST_ correspond to what + // has been compiled into binary lib +-# ifdef __STL_DEBUG ++# ifdef _STLP_DEBUG + # if (! defined (_DEBUG)) +-# error "For static link with STLport library, _DEBUG setting MUST be on when __STL_DEBUG is on. (/MTd forces _DEBUG)" ++# error "For static link with STLport library, _DEBUG setting MUST be on when _STLP_DEBUG is on. (/MTd forces _DEBUG)" + # endif +-# pragma comment(lib, __STL_LIB_BASENAME"_stldebug"__STL_LIB_STATIC_SUFFIX".lib") +-# elif defined (_DEBUG) || defined (__DEBUG) +-# pragma comment(lib, __STL_LIB_BASENAME"_debug"__STL_LIB_STATIC_SUFFIX".lib") ++# pragma comment(lib, _STLP_LIB_BASENAME"_stldebug"_STLP_LIB_STATIC_SUFFIX".lib") ++# elif (defined (_DEBUG) || defined (__DEBUG)) && defined (_STLP_USE_DEBUG_LIB) ++# pragma comment(lib, _STLP_LIB_BASENAME"_debug"_STLP_LIB_STATIC_SUFFIX".lib") + # else +-# pragma comment(lib, __STL_LIB_BASENAME""__STL_LIB_STATIC_SUFFIX".lib") ++# pragma comment(lib, _STLP_LIB_BASENAME""_STLP_LIB_STATIC_SUFFIX".lib") + # endif +-# endif /* __STL_USE_DECLSPEC */ ++# endif /* _STLP_USE_DECLSPEC */ + # endif /* __BUILDING_STLPORT */ +-# endif /* __SGI_STL_OWN_IOSTREAMS */ ++# endif /* _STLP_OWN_IOSTREAMS */ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_sgi.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_sgi.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_sgi.h Sat Feb 24 10:44:28 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_sgi.h Sun Aug 11 18:59:24 2002 +@@ -1,71 +1,94 @@ + // STLport configuration file + // It is internal STLport header - DO NOT include it directly + +-# define __STL_HAS_SPECIFIC_PROLOG_EPILOG ++# define _STLP_HAS_SPECIFIC_PROLOG_EPILOG + + // define native include path before trying to include anything + +-# define __STL_NATIVE_HEADER(__x) +-# define __STL_NATIVE_C_HEADER(__x) +-# define __STL_NATIVE_OLD_STREAMS_HEADER(__x) +-# define __STL_NATIVE_CPP_C_HEADER(__x) ++# define _STLP_NATIVE_HEADER(__x) ++# define _STLP_NATIVE_C_HEADER(__x) ++# define _STLP_NATIVE_OLD_STREAMS_HEADER(__x) ++# define _STLP_NATIVE_CPP_C_HEADER(__x) ++# define _STLP_NATIVE_CPP_RUNTIME_HEADER(__x) + +-# define __STL_NO_NATIVE_MBSTATE_T ++# define _STLP_NO_NATIVE_MBSTATE_T + ++#define _STLP_NO_CSTD_FUNCTION_IMPORTS ++#define _STLP_NO_NATIVE_WIDE_FUNCTIONS ++#define _STLP_NO_MEMBER_TEMPLATE_CLASSES ++ ++// #define _STLP_NO_BAD_ALLOC ++ ++#define _STL_HAS_NAMESPACES ++ ++#if ! defined (__EXCEPTIONS) && ! defined (_STLP_NO_EXCEPTIONS) ++# define _STLP_NO_EXCEPTIONS ++#endif ++ ++// #define _STLP_NOTHROW throw() ++ + # define __EDG_SWITCHES + + // any version ??? +-# define __STL_AUTOMATIC_TYPE_TRAITS 1 ++# define _STLP_AUTOMATIC_TYPE_TRAITS 1 + +-# define __STL_USE_SGI_STRING 1 ++# define _STLP_USE_SGI_STRING 1 + +-# define __STL_HAS_NO_NEW_C_HEADERS 1 ++# define _STLP_HAS_NO_NEW_C_HEADERS 1 ++// # define _STLP_VENDOR_GLOBAL_EXCEPT_STD + +-# include ++// # if ! defined (_STLP_NO_OWN_IOSTREAMS) && ! defined (_STLP_NO_NEW_IOSTREAMS) ++# define _STLP_NO_POST_COMPATIBLE_SECTION ++// # endif + +-// # if !(_COMPILER_VERSION >= 700) +-# define __STL_NO_NEW_NEW_HEADER 1 +-// # endif ++# include + ++# if !(_COMPILER_VERSION >= 730) ++# define _STLP_NO_NEW_NEW_HEADER 1 ++# endif ++ ++# if (_COMPILER_VERSION >= 730 && defined(_STANDARD_C_PLUS_PLUS)) ++# define _STLP_EXTERN_RANGE_ERRORS ++# endif + + # if !defined(_BOOL) +-# define __STL_NO_BOOL ++# define _STLP_NO_BOOL + # endif + # if defined(_MIPS_SIM) && _MIPS_SIM == _ABIO32 +-# define __STL_STATIC_CONST_INIT_BUG ++# define _STLP_STATIC_CONST_INIT_BUG + # endif + +-# if COMPILER_VERSION < 720 || (defined(_MIPS_SIM) && _MIPS_SIM == _ABIO32) +-# define __STL_DEFAULT_CONSTRUCTOR_BUG ++# if (_COMPILER_VERSION < 720) || (defined(_MIPS_SIM) && _MIPS_SIM == _ABIO32) ++# define _STLP_DEFAULT_CONSTRUCTOR_BUG + # endif + # if !((_COMPILER_VERSION >= 730) && defined(_MIPS_SIM) && _MIPS_SIM != _ABIO32) +-# define __STL_NO_MEMBER_TEMPLATE_KEYWORD ++# define _STLP_NO_MEMBER_TEMPLATE_KEYWORD + # endif + # if !defined(_STANDARD_C_PLUS_PLUS) +-# define __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS ++# define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS + # endif + # if !((_COMPILER_VERSION >= 721) && defined(_NAMESPACES)) +-# define __STL_HAS_NO_NAMESPACES ++# define _STLP_HAS_NO_NAMESPACES + # endif +-# if (_COMPILER_VERSION < 721) || !defined(_STL_HAS_NAMESPACES) || defined(__STL_NO_NAMESPACES) +-# define __STL_NO_EXCEPTION_HEADER ++# if (_COMPILER_VERSION < 721) || !defined(_STL_HAS_NAMESPACES) || defined(_STLP_NO_NAMESPACES) ++# define _STLP_NO_EXCEPTION_HEADER + # endif + # if _COMPILER_VERSION < 730 || !defined(_STANDARD_C_PLUS_PLUS) || !defined(_NAMESPACES) +-# define __STL_NO_BAD_ALLOC ++# define _STLP_NO_BAD_ALLOC + # endif + # if defined(_LONGLONG) && defined(_SGIAPI) && _SGIAPI +-# define __STL_LONG_LONG ++# define _STLP_LONG_LONG long long + # endif + # if !(_COMPILER_VERSION >= 730 && defined(_STANDARD_C_PLUS_PLUS)) +-# define __STL_HAS_NO_NEW_IOSTREAMS ++# define _STLP_HAS_NO_NEW_IOSTREAMS + # endif + # if !(_COMPILER_VERSION >= 730 && defined(_STANDARD_C_PLUS_PLUS)) +-# define __STL_NO_AT_MEMBER_FUNCTION ++# define _STLP_NO_AT_MEMBER_FUNCTION + # endif + // # if !(_COMPILER_VERSION >= 730 && defined(_STANDARD_C_PLUS_PLUS)) + # if !(_COMPILER_VERSION >= 721 && defined(_STANDARD_C_PLUS_PLUS)) +-# define __STL_NO_TEMPLATE_CONVERSIONS ++# define _STLP_NO_TEMPLATE_CONVERSIONS + # endif + # if !((_COMPILER_VERSION >= 730) && defined(_MIPS_SIM) && _MIPS_SIM != _ABIO32) +-# define __STL_NO_FUNCTION_TMPL_PARTIAL_ORDER ++# define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER + # endif +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_solaris.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_solaris.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_solaris.h Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_solaris.h Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,36 @@ ++ ++// include system features file ++# include ++ ++// system-dependent defines ++ ++# if defined (__SunOS_5_8) && ! defined (_STLP_HAS_NO_NEW_C_HEADERS) && ( __cplusplus >= 199711L) ++# define _STLP_HAS_NATIVE_FLOAT_ABS ++# endif ++ ++#if defined(_XOPEN_SOURCE) && (_XOPEN_VERSION - 0 >= 4) ++# define _STLP_RAND48 1 ++#endif ++ ++#if (defined(_XOPEN_SOURCE) && (_XOPEN_VERSION - 0 == 4)) || defined (__SunOS_5_6) ++# define _STLP_WCHAR_SUNPRO_EXCLUDE 1 ++# define _STLP_NO_NATIVE_WIDE_FUNCTIONS 1 ++#endif ++ ++// boris : this should always be defined for Solaris 5 & 6. Any ideas how to do it ? ++# if !(defined ( __KCC ) && __KCC_VERSION > 3400 ) && \ ++ ((defined(__SunOS_5_5_1) || defined(__SunOS_5_6) )) ++# ifndef _STLP_NO_NATIVE_MBSTATE_T ++# define _STLP_NO_NATIVE_MBSTATE_T 1 ++# endif ++# endif /* KCC */ ++ ++// For SPARC we use lightweight synchronization ++# if defined (__sparc) /* && (defined (_REENTRANT) || defined (_PTHREADS)) */ \ ++ && ((defined (__GNUC__) && defined (__sparc_v9__)) || \ ++ ((defined (__sparcv9) || defined (__sparcv8plus)) && ! defined (_STLP_NO_OWN_IOSTREAMS)) ) \ ++ && !defined(_NOTHREADS) && ! defined (_STLP_NO_SPARC_SOLARIS_THREADS) ++# define _STLP_SPARC_SOLARIS_THREADS ++# define _STLP_THREADS_DEFINED ++# endif ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_sunpro.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_sunpro.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_sunpro.h Sat Feb 24 10:44:29 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_sunpro.h Sun Aug 11 18:59:24 2002 +@@ -1,124 +1,148 @@ + // STLport configuration file + // It is internal STLport header - DO NOT include it directly + +-// system-dependent defines +- +-# if defined(__SunOS_5_5_1) +-# define __STL_NO_NATIVE_WIDE_FUNCTIONS 1 +-# endif +- +-# define __STL_LONG_LONG 1 +-// on solaris 2.x only ? +- +-# define __STL_RAND48 1 +- +-# define __STL_LINK_TIME_INSTANTIATION 1 ++# define _STLP_LONG_LONG long long ++# define _STLP_LINK_TIME_INSTANTIATION 1 + + # if ! defined(_BOOL) +-# define __STL_NO_BOOL 1 ++# define _STLP_NO_BOOL 1 + # endif + ++# if (__SUNPRO_CC >= 0x500 ) && (!defined (__SUNPRO_CC_COMPAT) || (__SUNPRO_CC_COMPAT == 5 )) \ ++ && defined (_STLP_NO_OWN_IOSTREAMS) && ! defined (_STLP_HAS_NO_NEW_IOSTREAMS) ++# error "The wrapper (_STLP_NO_OWN_IOSTREAMS) mode does not work well without _STLP_HAS_NO_NEW_IOSTREAMS. Please set this flag. You will also have to use -liostream option on link phase." ++// # define _STLP_HAS_NO_NEW_IOSTREAMS ++# endif + + // compatibility mode stuff +-# if (defined (__SUNPRO_CC_COMPAT) && __SUNPRO_CC_COMPAT == 4) +-# define __STL_NATIVE_INCLUDE_PATH ../CC4 ++# if (__SUNPRO_CC >= 0x510) && (!defined (__SUNPRO_CC_COMPAT) || (__SUNPRO_CC_COMPAT == 5 )) ++# define _STLP_NATIVE_INCLUDE_PATH ../CC/Cstd ++# define _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH ../CC ++# elif (__SUNPRO_CC >= 0x500) && (!defined (__SUNPRO_CC_COMPAT) || (__SUNPRO_CC_COMPAT == 5 )) ++# define _STLP_NATIVE_INCLUDE_PATH ../CC ++# elif (defined (__SUNPRO_CC_COMPAT) && __SUNPRO_CC_COMPAT == 4) ++# define _STLP_NATIVE_INCLUDE_PATH ../CC4 + # else +-# define __STL_NATIVE_INCLUDE_PATH ../CC +-// if the project is set up to use libiostream (__STL_NO_NEW_IOSTREAMS should be defined then), ++# define _STLP_NATIVE_INCLUDE_PATH ../CC ++# endif ++ ++# if (__SUNPRO_CC >= 0x500 ) && ( defined (_STLP_NO_NEW_IOSTREAMS) || defined (_STLP_HAS_NO_NEW_IOSTREAMS) ) ++// if the project is set up to use libiostream (_STLP_NO_NEW_IOSTREAMS should be defined then), + // use classic iostreams +-# if (__SUNPRO_CC >= 0x500 ) && ( defined (__STL_NO_NEW_IOSTREAMS) || defined (__STL_HAS_NO_NEW_IOSTREAMS) ) +-# define __STL_NATIVE_OLD_STREAMS_INCLUDE_PATH ../CCios ++# define _STLP_NATIVE_OLD_STREAMS_INCLUDE_PATH ../CCios + # endif +-# endif + +-# if (__SUNPRO_CC < 0x600) ++# define _STLP_STATIC_CONST_INIT_BUG 1 ++ ++# if (__SUNPRO_CC < 0x530) + // those are tested and proved not to work... +-# define __STL_STATIC_ARRAY_BUG 1 +-# define __STL_STATIC_CONST_INIT_BUG 1 +-# define __STL_USING_BASE_MEMBER ++# define _STLP_STATIC_ARRAY_BUG 1 ++# define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1 ++# define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1 ++# define _STLP_USE_OLD_HP_ITERATOR_QUERIES ++# endif + +-// no partial , just for explicit one +-# define __STL_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS + +-# define __STL_NO_QUALIFIED_FRIENDS 1 ++# if defined (_STLP_OWN_IOSTREAMS) ++//# if ! defined (_STLP_NO_OWN_NAMESPACE) ++//# define _STLP_NO_OWN_NAMESPACE ++//# endif ++# else ++# define _STLP_HAS_NO_NEW_C_HEADERS 1 ++# endif + +-// constructor problem +-# define __STL_NO_MEMBER_TEMPLATES 1 +-# define __STL_NO_MEMBER_TEMPLATE_KEYWORD 1 +-# define __STL_NO_MEMBER_TEMPLATE_CLASSES 1 +-# define __STL_NO_FRIEND_TEMPLATES 1 ++// those do not depend on compatibility ++# if (__SUNPRO_CC < 0x510) ++# define _STLP_NO_TYPENAME_ON_RETURN_TYPE 1 ++# define _STLP_NONTEMPL_BASE_MATCH_BUG 1 ++# endif + +-// ambiguity problems +-# define __STL_NO_CLASS_PARTIAL_SPECIALIZATION 1 +-# define __STL_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 ++# if (__SUNPRO_CC < 0x510) || (defined (__SUNPRO_CC_COMPAT) && (__SUNPRO_CC_COMPAT < 5)) + +-# endif ++# define _STLP_NO_QUALIFIED_FRIENDS 1 ++ ++// no partial , just for explicit one ++# define _STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS ++# define _STLP_NON_TYPE_TMPL_PARAM_BUG 1 + ++# define _STLP_NO_MEMBER_TEMPLATES 1 ++# define _STLP_NO_FRIEND_TEMPLATES 1 + +-# if (__SUNPRO_CC < 0x600) +-# define __STL_NO_TYPENAME_ON_RETURN_TYPE 1 +-# define __STL_HAS_NO_NEW_C_HEADERS 1 +-# define __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS +-# define __STL_NON_TYPE_TMPL_PARAM_BUG 1 +-# define __STL_NONTEMPL_BASE_MATCH_BUG 1 ++# define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 ++# define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS ++# define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1 + # endif + + // Features that depend on compatibility switch + # if ( __SUNPRO_CC < 0x500 ) || (defined (__SUNPRO_CC_COMPAT) && (__SUNPRO_CC_COMPAT < 5)) +-# define __STL_HAS_NO_NEW_IOSTREAMS 1 +-# define __STL_NO_NEW_NEW_HEADER 1 +-// # define __STL_NO_RELOPS_NAMESPACE +-# define __STL_HAS_NO_NAMESPACES 1 +-# define __STL_NEED_MUTABLE 1 +-# define __STL_NO_BAD_ALLOC 1 +-# define __STL_NO_EXCEPTION_HEADER 1 +-# define __STL_NATIVE_C_INCLUDE_PATH ../include +-# elif (__SUNPRO_CC < 0x600) +-# define __STL_NATIVE_C_HEADER(header) <../CC/##header##.SUNWCCh> +-# define __STL_NATIVE_CPP_C_HEADER(header) <../CC/##header##.SUNWCCh> ++ ++# ifndef _STLP_HAS_NO_NEW_IOSTREAMS ++# define _STLP_HAS_NO_NEW_IOSTREAMS 1 ++# endif ++# define _STLP_NO_NEW_NEW_HEADER 1 ++// # define _STLP_NO_RELOPS_NAMESPACE ++# define _STLP_HAS_NO_NAMESPACES 1 ++# define _STLP_NEED_MUTABLE 1 ++# define _STLP_NO_BAD_ALLOC 1 ++# define _STLP_NO_EXCEPTION_HEADER 1 ++# define _STLP_NATIVE_C_INCLUDE_PATH ../include ++# elif (__SUNPRO_CC < 0x510) ++// # define _STLP_NATIVE_C_HEADER(header) <../CC/##header##.SUNWCCh> ++# define _STLP_NATIVE_CPP_C_HEADER(header) <../CC/##header##.SUNWCCh> ++# define _STLP_NATIVE_C_INCLUDE_PATH /usr/include ++# elif defined( __SunOS_5_5_1 ) || defined( __SunOS_5_6 ) || defined( __SunOS_5_7 ) ++# define _STLP_NATIVE_C_INCLUDE_PATH ../CC/std ++# define _STLP_NATIVE_CPP_C_INCLUDE_PATH ../CC/std + # else +-# define __STL_NATIVE_C_INCLUDE_PATH ../CC/std +-# define __STL_NATIVE_CPP_C_INCLUDE_PATH ../CC/std ++# define _STLP_NATIVE_C_INCLUDE_PATH /usr/include ++# define _STLP_NATIVE_CPP_C_INCLUDE_PATH ../CC/std + # endif + ++ ++ + # if ( __SUNPRO_CC < 0x500 ) + +-# undef __STL_NATIVE_C_HEADER +-# undef __STL_NATIVE_CPP_C_HEADER ++# undef _STLP_NATIVE_C_HEADER ++# undef _STLP_NATIVE_CPP_C_HEADER + + # define wint_t __wint_t + // famous CC 4.2 bug +-# define __STL_INLINE_STRING_LITERAL_BUG 1 ++# define _STLP_INLINE_STRING_LITERAL_BUG 1 + // /usr/include +-# define __STL_NATIVE_C_INCLUDE_PATH ../include ++# define _STLP_NATIVE_C_INCLUDE_PATH ../include ++ ++// 4.2 cannot handle iterator_traits<_Tp>::iterator_category as a return type ;( ++# define _STLP_USE_OLD_HP_ITERATOR_QUERIES + + // 4.2 does not like it +-# undef __STL_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS ++# undef _STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS + +-# define __STL_LIMITED_DEFAULT_TEMPLATES 1 ++# define _STLP_LIMITED_DEFAULT_TEMPLATES 1 + +-# define __STL_NEED_TYPENAME 1 +-# define __STL_NEED_EXPLICIT 1 +-# define __STL_UNINITIALIZABLE_PRIVATE 1 +-# define __STL_NO_BAD_ALLOC 1 +-# define __SGI_STL_NO_ARROW_OPERATOR 1 +-# define __STL_NO_PROXY_ARROW_OPERATOR 1 +-# define __STL_DEFAULT_CONSTRUCTOR_BUG 1 +-# define __STL_GLOBAL_NESTED_RETURN_TYPE_PARAM_BUG 1 ++# define _STLP_NEED_TYPENAME 1 ++# define _STLP_NEED_EXPLICIT 1 ++# define _STLP_UNINITIALIZABLE_PRIVATE 1 ++# define _STLP_NO_BAD_ALLOC 1 ++# define _STLP_NO_ARROW_OPERATOR 1 ++ ++# define _STLP_DEFAULT_CONSTRUCTOR_BUG 1 ++# define _STLP_GLOBAL_NESTED_RETURN_TYPE_PARAM_BUG 1 ++# undef _STLP_HAS_NO_NEW_C_HEADERS ++# define _STLP_HAS_NO_NEW_C_HEADERS 1 ++// # define _STLP_DONT_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS + + # if ( __SUNPRO_CC < 0x420 ) +-# define __STL_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 +-# define __STL_NO_NEW_STYLE_CASTS 1 +-# define __STL_NO_METHOD_SPECIALIZATION 1 +- ++# define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 ++# define _STLP_NO_NEW_STYLE_CASTS 1 ++# define _STLP_NO_METHOD_SPECIALIZATION 1 + # if ( __SUNPRO_CC > 0x401 ) + # if (__SUNPRO_CC==0x410) +-# define __STL_BASE_TYPEDEF_OUTSIDE_BUG 1 ++# define _STLP_BASE_TYPEDEF_OUTSIDE_BUG 1 + # endif + # else + // SUNPro C++ 4.0.1 +-# define __STL_BASE_MATCH_BUG 1 +-# define __STL_BASE_TYPEDEF_BUG 1 ++# define _STLP_BASE_MATCH_BUG 1 ++# define _STLP_BASE_TYPEDEF_BUG 1 + # if ( __SUNPRO_CC < 0x401 ) + __GIVE_UP_WITH_STL(SUNPRO_401) + # endif +@@ -127,3 +151,23 @@ + + # endif /* < 5.0 */ + ++# include ++ ++#ifndef _MBSTATET_H ++# define _MBSTATET_H ++# undef _MBSTATE_T ++# define _MBSTATE_T ++ typedef struct __mbstate_t { ++ #if defined(_LP64) ++ long __filler[4]; ++ #else ++ int __filler[6]; ++ #endif ++ } __mbstate_t; ++# ifndef _STLP_HAS_NO_NAMESPACES ++ namespace std { ++ typedef __mbstate_t mbstate_t; ++ } ++ using std::mbstate_t; ++# endif ++#endif /* __MBSTATET_H */ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_symantec.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_symantec.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_symantec.h Sat Feb 24 10:44:29 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_symantec.h Sun Aug 11 18:59:24 2002 +@@ -3,40 +3,40 @@ + + // if not using maximum ANSI compatibility ( -A -Ab -Aw), + // uncomment the following two lines: +-//# define __STL_NO_BOOL 1 +-//# define __STL_NO_WCHAR_T 1 ++//# define _STLP_NO_BOOL 1 ++//# define _STLP_NO_WCHAR_T 1 + + +-# define __STL_HAS_NO_NAMESPACES 1 ++# define _STLP_HAS_NO_NAMESPACES 1 + +-# define __STL_NEED_TYPENAME 1 +-# define __STL_NEED_EXPLICIT 1 +-# define __STL_NO_NEW_STYLE_CASTS 1 +-# define __STL_NEED_MUTABLE 1 +-# define __STL_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 +-// # define __STL_NO_BAD_ALLOC 1 +- +-# define __STL_NO_MEMBER_TEMPLATES 1 +-# define __STL_NO_MEMBER_TEMPLATE_CLASSES 1 +-# define __STL_NO_MEMBER_TEMPLATE_KEYWORD 1 +-# define __STL_NO_FRIEND_TEMPLATES 1 +-# define __STL_NO_QUALIFIED_FRIENDS 1 +-# define __STL_NO_CLASS_PARTIAL_SPECIALIZATION 1 +-# define __STL_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 +- +-// # define __STL_NO_DEFAULT_NON_TYPE_PARAM 1 +-# define __STL_NO_METHOD_SPECIALIZATION 1 +-# define __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 +-// # define __STL_NO_EXCEPTION_HEADER 1 +- +-# define __STL_HAS_NO_NEW_IOSTREAMS 1 +-# define __STL_HAS_NO_NEW_C_HEADERS 1 +- +-# define __STL_STATIC_CONST_INIT_BUG 1 +-# define __STL_THROW_RETURN_BUG 1 +-// # define __STL_LINK_TIME_INSTANTIATION 1 +-# define __STL_NO_TEMPLATE_CONVERSIONS 1 ++# define _STLP_NEED_TYPENAME 1 ++# define _STLP_NEED_EXPLICIT 1 ++# define _STLP_NO_NEW_STYLE_CASTS 1 ++# define _STLP_NEED_MUTABLE 1 ++# define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 ++// # define _STLP_NO_BAD_ALLOC 1 ++ ++# define _STLP_NO_MEMBER_TEMPLATES 1 ++# define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1 ++# define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1 ++# define _STLP_NO_FRIEND_TEMPLATES 1 ++# define _STLP_NO_QUALIFIED_FRIENDS 1 ++# define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1 ++# define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 ++ ++// # define _STLP_NO_DEFAULT_NON_TYPE_PARAM 1 ++# define _STLP_NO_METHOD_SPECIALIZATION 1 ++# define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 ++// # define _STLP_NO_EXCEPTION_HEADER 1 ++ ++# define _STLP_HAS_NO_NEW_IOSTREAMS 1 ++# define _STLP_HAS_NO_NEW_C_HEADERS 1 ++ ++# define _STLP_STATIC_CONST_INIT_BUG 1 ++# define _STLP_THROW_RETURN_BUG 1 ++// # define _STLP_LINK_TIME_INSTANTIATION 1 ++# define _STLP_NO_TEMPLATE_CONVERSIONS 1 + +-# define __STL_NON_TYPE_TMPL_PARAM_BUG 1 +-# define __STL_UNINITIALIZABLE_PRIVATE 1 ++# define _STLP_NON_TYPE_TMPL_PARAM_BUG 1 ++# define _STLP_UNINITIALIZABLE_PRIVATE 1 + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_watcom.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_watcom.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_watcom.h Sat Feb 24 10:44:29 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_watcom.h Sun Aug 11 18:59:24 2002 +@@ -1,58 +1,136 @@ + // STLport configuration file + // It is internal STLport header - DO NOT include it directly + ++# ifndef _STLP_NO_OWN_IOSTREAMS ++# define _STLP_NO_OWN_IOSTREAMS ++# endif ++ ++# define _STLP_NO_RELOPS_NAMESPACE ++# define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX ++ ++# define _STLP_HAS_SPECIFIC_PROLOG_EPILOG ++# define _STLP_DONT_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS ++# define _STLP_USE_OLD_HP_ITERATOR_QUERIES + + // On QNX, headers are supposed to be found in /usr/include, + // so default "../include" should work. + # ifndef __QNX__ +-# define __STL_NATIVE_INCLUDE_PATH ../h ++# define _STLP_NATIVE_INCLUDE_PATH ../h + # endif + ++// Inline replacements for locking calls under Watcom ++// Define _STLP_NO_WATCOM_INLINE_INTERLOCK to keep using ++// standard WIN32 calls ++// Define _STL_MULTIPROCESSOR to enable lock ++#if !defined(_STLP_NO_WATCOM_INLINE_INTERLOCK) ++ ++long __stl_InterlockedIncrement( long *var ); ++long __stl_InterlockedDecrement( long *var ); ++ ++#ifdef _STL_MULTIPROCESSOR ++// Multiple Processors, add lock prefix ++#pragma aux __stl_InterlockedIncrement parm [ ecx ] = \ ++ ".586" \ ++ "mov eax, 1" \ ++ "lock xadd [ecx], eax" \ ++ "inc eax" \ ++ value [eax]; ++ ++ ++#pragma aux __stl_InterlockedDecrement parm [ ecx ] = \ ++ ".586" \ ++ "mov eax, 0FFFFFFFFh" \ ++ "lock xadd [ecx], eax" \ ++ "dec eax" \ ++ value [eax]; ++#else ++// Single Processor, lock prefix not needed ++#pragma aux __stl_InterlockedIncrement parm [ ecx ] = \ ++ ".586" \ ++ "mov eax, 1" \ ++ "xadd [ecx], eax" \ ++ "inc eax" \ ++ value [eax]; ++ ++#pragma aux __stl_InterlockedDecrement parm [ ecx ] = \ ++ ".586" \ ++ "mov eax, 0FFFFFFFFh" \ ++ "xadd [ecx], eax" \ ++ "dec eax" \ ++ value [eax]; ++#endif // _STL_MULTIPROCESSOR ++ ++long __stl_InterlockedExchange( long *Destination, long Value ); ++ ++// xchg has auto-lock ++#pragma aux __stl_InterlockedExchange parm [ecx] [eax] = \ ++ ".586" \ ++ "xchg eax, [ecx]" \ ++ value [eax]; ++#else ++ ++#define __stl_InterlockedIncrement InterlockedIncrement ++#define __stl_InterlockedDecrement InterlockedDecrement ++#define __stl_InterlockedExchange InterlockedExchange ++#endif /* INLINE INTERLOCK */ ++ ++#define _STLP_ATOMIC_INCREMENT(__x) __stl_InterlockedIncrement((long*)__x) ++#define _STLP_ATOMIC_DECREMENT(__x) __stl_InterlockedDecrement((long*)__x) ++#define _STLP_ATOMIC_EXCHANGE(__x, __y) __stl_InterlockedExchange((long*)__x, (long)__y) ++ + // boris : is this true or just the header is not in /usr/include ? + # ifdef __QNX__ +-# define __STL_NO_TYPEINFO 1 ++# define _STLP_NO_TYPEINFO 1 + # endif + +-# define __STL_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 +-# define __STL_NO_CLASS_PARTIAL_SPECIALIZATION 1 +-# define __STL_NO_MEMBER_TEMPLATE_KEYWORD 1 +-# define __STL_NO_MEMBER_TEMPLATES 1 +-# define __STL_NO_FRIEND_TEMPLATES 1 +-# define __STL_NO_MEMBER_TEMPLATE_CLASSES 1 +- +- +-# define __STL_LIMITED_DEFAULT_TEMPLATES 1 +-# define __STL_HAS_NO_NAMESPACES 1 +-# define __STL_NEED_TYPENAME 1 +-# define __STL_NO_WCHAR_T 1 +-# define __STL_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 +-# define __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 +- +-# define __STL_STATIC_CONST_INIT_BUG 1 +-// # define __STL_THROW_RETURN_BUG 1 +-# define __STL_NO_TEMPLATE_CONVERSIONS 1 +- +-# define __STL_BASE_TYPEDEF_OUTSIDE_BUG 1 +- +-# define __STL_HAS_NO_NEW_IOSTREAMS 1 +-# define __STL_HAS_NO_NEW_C_HEADERS 1 +-# define __STL_NO_NEW_NEW_HEADER 1 +- +-# define __STL_NO_DEFAULT_NON_TYPE_PARAM 1 +-# define __STL_NON_TYPE_TMPL_PARAM_BUG 1 +-# define __STL_NONTEMPL_BASE_MATCH_BUG +-# define __STL_NO_EXCEPTION_HEADER 1 +-# define __STL_NO_BAD_ALLOC 1 +-# define __SGI_STL_NO_ARROW_OPERATOR 1 +-# define __STL_NESTED_TYPE_PARAM_BUG 1 ++# define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 ++# define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1 ++# define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1 ++# define _STLP_NO_MEMBER_TEMPLATES 1 ++# define _STLP_NO_FRIEND_TEMPLATES 1 ++# define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1 ++ ++ ++# define _STLP_LIMITED_DEFAULT_TEMPLATES 1 ++# define _STLP_HAS_NO_NAMESPACES 1 ++# define _STLP_NEED_TYPENAME 1 ++ ++# if __WATCOMC__ < 1100 ++# define _STLP_NO_WCHAR_T 1 ++# define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 ++# endif ++ ++# define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 ++ ++# define _STLP_STATIC_CONST_INIT_BUG 1 ++// # define _STLP_THROW_RETURN_BUG 1 ++# define _STLP_NO_TEMPLATE_CONVERSIONS 1 ++ ++# define _STLP_BASE_TYPEDEF_OUTSIDE_BUG 1 ++ ++# define _STLP_HAS_NO_NEW_IOSTREAMS 1 ++# define _STLP_HAS_NO_NEW_C_HEADERS 1 ++# define _STLP_NO_NEW_NEW_HEADER 1 ++# define _STLP_VENDOR_GLOBAL_STD ++ ++# define _STLP_NO_DEFAULT_NON_TYPE_PARAM 1 ++# define _STLP_NON_TYPE_TMPL_PARAM_BUG 1 ++# define _STLP_NONTEMPL_BASE_MATCH_BUG ++# define _STLP_NO_EXCEPTION_HEADER 1 ++# define _STLP_NO_BAD_ALLOC 1 ++ ++# define _STLP_NESTED_TYPE_PARAM_BUG 1 ++ ++# define _STLP_NO_CSTD_FUNCTION_IMPORTS 1 + + # if (__WATCOM_CPLUSPLUS__ < 1100 ) +-# define __STL_NO_BOOL 1 +-# define __STL_NEED_EXPLICIT 1 +-# define __STL_NEED_MUTABLE 1 ++# define _STLP_NO_BOOL 1 ++# define _STLP_NEED_EXPLICIT 1 ++# define _STLP_NEED_MUTABLE 1 ++# define _STLP_NO_ARROW_OPERATOR 1 + # endif + // This one is present in 11, but apparently has bugs (with auto_ptr). +-# define __STL_NO_NEW_STYLE_CASTS 1 ++# define _STLP_NO_NEW_STYLE_CASTS 1 + + // Get rid of Watcom's min and max macros + #undef min +@@ -61,10 +139,14 @@ + // for switches (-xs, -xss, -xst) + // + #if !(defined (__SW_XS) || defined (__SW_XSS) || defined(__SW_XST)) +-# define __STL_HAS_NO_EXCEPTIONS 1 ++# define _STLP_HAS_NO_EXCEPTIONS 1 + # endif + + # if defined ( _MT ) && !defined (_NOTHREADS) && !defined (_REENTRANT) + # define _REENTRANT 1 + # endif ++ ++ ++ ++ + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_wince.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_wince.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_wince.h Sat Feb 24 10:44:29 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_wince.h Sun Aug 11 18:59:24 2002 +@@ -4,39 +4,49 @@ + * Origin : Giuseppe Govi - g.govi@iol.it + */ + +-#ifndef __STL_WINCE_H +-#define __STL_WINCE_H ++#ifndef _STLP_WINCE_H ++#define _STLP_WINCE_H + + // this flag is being used by STLport +-# define __STL_WINCE ++# define _STLP_WINCE + +-// tell other parts no iostreams are desired +-# define __STL_NO_IOSTREAMS 1 ++#ifndef _MT // Always threaded in CE ++ #define _MT ++#endif ++ ++#define _STLP_NO_NATIVE_MBSTATE_T ++#define _STLP_NO_TYPEINFO ++#define _STLP_NO_BAD_ALLOC ++#define _STLP_NO_NEW_NEW_HEADER ++#define _STLP_OWN_IOSTREAMS ++ ++// tell other parts no threads are there ++# define _STLP_NO_THREADS 1 + + // not all new-style headers are available... +-# define __STL_HAS_NO_NEW_C_HEADERS ++# define _STLP_HAS_NO_NEW_C_HEADERS + +-# undef __STL_HAS_NO_EXCEPTIONS +-# define __STL_HAS_NO_EXCEPTIONS +-# undef __STL_NO_EXCEPTION_HEADER +-# define __STL_NO_EXCEPTION_HEADER ++# undef _STLP_HAS_NO_EXCEPTIONS ++# define _STLP_HAS_NO_EXCEPTIONS ++# undef _STLP_NO_EXCEPTION_HEADER ++# define _STLP_NO_EXCEPTION_HEADER + + // we have to use malloc instead of new +-# undef __STL_USE_NEWALLOC +-# define __STL_USE_MALLOC ++# undef _STLP_USE_NEWALLOC ++# define _STLP_USE_MALLOC + +-//# ifdef __STL_MSVC ++//# ifdef _STLP_MSVC + //# pragma warning (disable: 4786) + //# endif + +-#ifdef __STL_WINCE_USE_OUTPUTDEBUGSTRING +-#define __STL_WINCE_TRACE(msg) OutputDebugString(msg) ++#ifdef _STLP_WINCE_USE_OUTPUTDEBUGSTRING ++#define _STLP_WINCE_TRACE(msg) OutputDebugString(msg) + #else +-#define __STL_WINCE_TRACE(msg) MessageBox(NULL,(msg),NULL,MB_OK) ++#define _STLP_WINCE_TRACE(msg) MessageBox(NULL,(msg),NULL,MB_OK) + #endif + + #ifndef __THROW_BAD_ALLOC +-#define __THROW_BAD_ALLOC __STL_WINCE_TRACE(L"out of memory"); ExitThread(1) ++#define __THROW_BAD_ALLOC _STLP_WINCE_TRACE(L"out of memory"); ExitThread(1) + #endif + + #ifndef _SIZE_T_DEFINED +@@ -44,33 +54,135 @@ + #define _SIZE_T_DEFINED + #endif + +-#ifndef __PLACEMENT_NEW_INLINE +-inline void *__cdecl operator new(size_t, void *_P) { return (_P); } +-#define __PLACEMENT_NEW_INLINE +-#endif +- + #ifndef _WCHAR_T_DEFINED + typedef unsigned short wchar_t; + #define _WCHAR_T_DEFINED + #endif + ++#ifndef _TIME_T_DEFINED ++typedef unsigned long time_t; ++#define _TIME_T_DEFINED ++#endif ++ + //ptrdiff_t is not defined in Windows CE SDK + #ifndef _PTRDIFF_T_DEFINED + typedef int ptrdiff_t; + #define _PTRDIFF_T_DEFINED + #endif + ++//clock_t is not defined in Windows CE SDK ++#ifndef _CLOCK_T_DEFINED ++typedef long clock_t; ++#define _CLOCK_T_DEFINED ++#endif ++ ++//struct tm is not defined in Windows CE SDK ++#ifndef _TM_DEFINED ++struct tm { ++ int tm_sec; /* seconds after the minute - [0,59] */ ++ int tm_min; /* minutes after the hour - [0,59] */ ++ int tm_hour; /* hours since midnight - [0,23] */ ++ int tm_mday; /* day of the month - [1,31] */ ++ int tm_mon; /* months since January - [0,11] */ ++ int tm_year; /* years since 1900 */ ++ int tm_wday; /* days since Sunday - [0,6] */ ++ int tm_yday; /* days since January 1 - [0,365] */ ++ int tm_isdst; /* daylight savings time flag */ ++ }; ++#define _TM_DEFINED ++#endif ++ ++// Some useful routines that are missing in Windows CE SDK ++#ifdef __cplusplus ++extern "C" ++{ ++#endif ++ ++ char * __cdecl getenv(const char *); ++ struct tm * __cdecl gmtime(const time_t *); ++ int __cdecl remove(const char *); ++ int __cdecl rename(const char *, const char *); ++ time_t __cdecl time(time_t *); ++ ++ #if (_WIN32_WCE < 300) ++ char * __cdecl strrchr(const char *, int); ++ #endif ++ ++#ifdef __cplusplus ++} ++ ++#ifndef __PLACEMENT_NEW_INLINE ++inline void *__cdecl operator new(size_t, void *_P) { return (_P); } ++#define __PLACEMENT_NEW_INLINE ++#endif ++ ++// Only defined as macros in Windows CE SDK ++#include _STLP_NATIVE_C_HEADER(ctype.h) ++ ++#if (_WIN32_WCE < 300) // Only wide chars for older versions ++#define _isctype iswctype ++#endif ++ ++inline int (isalpha)(int c) { return _isctype(c, _ALPHA); } ++inline int (isupper)(int c) { return _isctype(c, _UPPER); } ++inline int (islower)(int c) { return _isctype(c, _LOWER); } ++inline int (isdigit)(int c) { return _isctype(c, _DIGIT); } ++inline int (isxdigit)(int c) { return _isctype(c, _HEX); } ++inline int (isspace)(int c) { return _isctype(c, _SPACE); } ++inline int (ispunct)(int c) { return _isctype(c, _PUNCT); } ++inline int (isalnum)(int c) { return _isctype(c, _ALPHA|_DIGIT); } ++inline int (isprint)(int c) { return _isctype(c, _BLANK|_PUNCT|_ALPHA|_DIGIT); } ++inline int (isgraph)(int c) { return _isctype(c, _PUNCT|_ALPHA|_DIGIT); } ++inline int (iscntrl)(int c) { return _isctype(c, _CONTROL); } ++inline int (isascii)(int c) { return ((unsigned)(c) < 0x80); } ++ ++#undef _isctype ++ ++inline int (iswalpha)(int c) { return iswctype(c, _ALPHA); } ++inline int (iswupper)(int c) { return iswctype(c, _UPPER); } ++inline int (iswlower)(int c) { return iswctype(c, _LOWER); } ++inline int (iswdigit)(int c) { return iswctype(c, _DIGIT); } ++inline int (iswxdigit)(int c) { return iswctype(c, _HEX); } ++inline int (iswspace)(int c) { return iswctype(c, _SPACE); } ++inline int (iswpunct)(int c) { return iswctype(c, _PUNCT); } ++inline int (iswalnum)(int c) { return iswctype(c, _ALPHA|_DIGIT); } ++inline int (iswprint)(int c) { return iswctype(c, _BLANK|_PUNCT|_ALPHA|_DIGIT); } ++inline int (iswgraph)(int c) { return iswctype(c, _PUNCT|_ALPHA|_DIGIT); } ++inline int (iswcntrl)(int c) { return iswctype(c, _CONTROL); } ++inline int (iswascii)(int c) { return ((unsigned)(c) < 0x80); } ++ ++#endif /* __cplusplus */ ++ ++#if !defined(WIN32_LEAN_AND_MEAN) // Minimise windows includes ++ #define WIN32_LEAN_AND_MEAN ++#endif ++#if !defined(VC_EXTRALEAN) ++ #define VC_EXTRALEAN ++#endif ++#if !defined(STRICT) ++ #define STRICT ++#endif ++#if !defined(NOMINMAX) ++ #define NOMINMAX ++#endif ++ ++#ifndef __WINDOWS__ ++#include ++#endif ++ + #ifndef _ABORT_DEFINED +-# define abort() TerminateProcess(GetCurrentProcess(), 0) ++# define _STLP_ABORT() TerminateProcess(GetCurrentProcess(), 0) + # define _ABORT_DEFINED + #endif + +- + #ifndef _ASSERT_DEFINED +-# define assert(expr) __STL_ASSERT(expr) ++# define assert(expr) _STLP_ASSERT(expr) + # define _ASSERT_DEFINED + #endif + +-#endif /* __STL_WCE_H */ ++// they say it's needed ++# include ++ ++#endif /* _STLP_WCE_H */ + + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stlcomp.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stlcomp.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stlcomp.h Sat Feb 24 10:44:27 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stlcomp.h Sun Aug 11 18:59:24 2002 +@@ -33,43 +33,39 @@ + * + */ + +-#ifndef __STLCOMP_H +-# define __STLCOMP_H ++#ifndef _STLP_COMP_H ++# define _STLP_COMP_H + + # define __GIVE_UP_WITH_STL(message) void give_up() \ + { upgrade_the_compiler_to_use_STL;} + + /* distinguish real MSC from Metrowerks and Intel */ + # if defined(_MSC_VER) && !defined(__MWERKS__) && !defined (__ICL) && !defined (__COMO__) +-# define __STL_MSVC _MSC_VER ++# define _STLP_MSVC _MSC_VER + # endif + +-# if defined(__sgi) && !defined(__GNUC__) ++# if defined (__xlC__) || defined (__IBMC__) || defined ( __IBMCPP__ ) ++/* AIX xlC, Visual Age C++ , OS-390 C++ */ ++# include ++# elif defined (__GNUC__ ) ++# include ++# elif defined (__KCC) ++# include ++# elif defined(__sgi) + # include + # elif (defined(__OS400__)) + /* AS/400 C++ */ + # include +-# elif ( defined (__xlC__) && __xlC__ < 0x400 ) || \ +- (defined(__MVS__) && defined ( __IBMCPP__ ) && (__IBMCPP__ < 23000 )) || \ +- ( defined ( __IBMCPP__ ) && ( __IBMCPP__ < 400 ) && !defined(__OS400__) ) +-/* AIX xlC 3.1 , 3.0.1 ==0x301 +- * Visual Age C++ 3.x +- * OS-390 C++ +- */ +-# include +-# elif defined(__STL_MSVC) ++# elif defined(_STLP_MSVC) + /* Microsoft Visual C++ 4.0, 4.1, 4.2, 5.0 */ + # include + # elif defined ( __BORLANDC__ ) + /* Borland C++ ( 4.x - 5.x ) */ + # include +-# elif defined(__SUNPRO_CC) ++# elif defined(__SUNPRO_CC) || defined (__SUNPRO_C) + /* SUN CC 4.0.1-5.0 */ + # include +-# elif defined (__GNUC__ ) +-/* g++ 2.7.x and above */ +-# include +-# elif defined (__WATCOM_CPLUSPLUS__) ++# elif defined (__WATCOM_CPLUSPLUS__) || defined (__WATCOMC__) + /* Watcom C++ */ + # include + # elif defined(__COMO__) || defined (__COMO_VERSION_) +@@ -96,16 +92,17 @@ + /* Apogee 4.x */ + # elif defined (__APOGEE__) + # include +-# elif defined (__KCC) +-# include +-# elif defined (__DECCXX) ++# elif defined (__DECCXX) || defined (__DECC) + # ifdef __vms + # include + # else + # include + # endif +-# elif defined (__MLCCPP__) +-# include ++# elif defined (__ISCPP__) ++# include ++# elif defined (__FCC_VERSION) ++/* Fujutsu Compiler, v4.0 assumed */ ++# include + # else + /* Unable to identify the compiler, issue error diagnostic. + * Edit to set STLport up for your compiler. */ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/vc_select_lib.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/vc_select_lib.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/vc_select_lib.h Sat Feb 24 10:44:29 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/vc_select_lib.h Sun Aug 11 18:59:24 2002 +@@ -1,28 +1,35 @@ +-# if !( defined(__STL_WINCE) ) +-# define __STL_EXPORT_DECLSPEC __declspec(dllexport) +-# define __STL_IMPORT_DECLSPEC __declspec(dllimport) ++# if !( defined(_STLP_WINCE) ) ++# define _STLP_EXPORT_DECLSPEC __declspec(dllexport) ++# define _STLP_IMPORT_DECLSPEC __declspec(dllimport) + # endif + +-# define __STL_IMPORT_TEMPLATE_KEYWORD extern +-# define __STL_EXPORT_TEMPLATE_KEYWORD +- +-# if !( defined(__STL_MSVC) && __STL_MSVC < 1100) +-# define __STL_CLASS_EXPORT_DECLSPEC __declspec(dllexport) +-# define __STL_CLASS_IMPORT_DECLSPEC __declspec(dllimport) ++# if !( defined(_STLP_MSVC) && _STLP_MSVC < 1100) ++# define _STLP_CLASS_EXPORT_DECLSPEC __declspec(dllexport) ++# define _STLP_CLASS_IMPORT_DECLSPEC __declspec(dllimport) + # endif + +- +-# if !defined (__STL_NO_SGI_IOSTREAMS) ++# if !defined (_STLP_NO_OWN_IOSTREAMS) + + # if ( defined (__DLL) || defined (_DLL) || defined (_WINDLL) || defined (_RTLDLL) \ +- || defined(_AFXDLL) || defined (__STL_USE_DYNAMIC_LIB) ) \ +- && ! defined (__STL_USE_STATIC_LIB) +-# undef __STL_USE_DECLSPEC +-# define __STL_USE_DECLSPEC 1 ++ || defined(_AFXDLL) || defined (_STLP_USE_DYNAMIC_LIB) ) \ ++ && ! defined (_STLP_USE_STATIC_LIB) ++# undef _STLP_USE_DECLSPEC ++# define _STLP_USE_DECLSPEC 1 + # endif +-# define __STL_LIB_STATIC_SUFFIX "_static" ++ ++# ifndef _STLP_IMPORT_TEMPLATE_KEYWORD ++# define _STLP_IMPORT_TEMPLATE_KEYWORD extern ++# endif ++# define _STLP_EXPORT_TEMPLATE_KEYWORD ++ ++# if defined (_RTLDLL) && defined (_STLP_USE_STATIC_LIB) ++# define _STLP_LIB_STATIC_SUFFIX "_staticx" ++# else ++# define _STLP_LIB_STATIC_SUFFIX "_static" ++# endif ++ + # include + +-# endif /* __SGI_STL_OWN_IOSTREAMS */ ++# endif /* _STLP_OWN_IOSTREAMS */ + + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/csetjmp tripwire-2.3.1-2/src/STLport-4.0/stlport/csetjmp +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/csetjmp Sat Feb 24 10:44:21 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/csetjmp Sun Aug 11 18:59:23 2002 +@@ -13,41 +13,41 @@ + * + */ + +-#ifndef __STLPORT_CSETJMP +-# define __STLPORT_CSETJMP ++#ifndef _STLP_CSETJMP ++# define _STLP_CSETJMP + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x111 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x111 + # include + # endif + + // if the macro is on, the header is already there + # ifndef setjmp +-# if defined (__STL_USE_NEW_C_HEADERS) +-# include __STL_NATIVE_CPP_C_HEADER(csetjmp) ++# if defined (_STLP_USE_NEW_C_HEADERS) ++# include _STLP_NATIVE_CPP_C_HEADER(csetjmp) + # else +-# include __STL_NATIVE_C_HEADER(setjmp.h) ++# include _STLP_NATIVE_C_HEADER(setjmp.h) + # endif + # endif + +-# ifdef __STL_IMPORT_VENDOR_CSTD +-__STL_BEGIN_NAMESPACE +-using __STL_VENDOR_CSTD::jmp_buf; +-# ifndef __STL_NO_CSTD_FUNCTION_IMPORTS ++# ifdef _STLP_IMPORT_VENDOR_CSTD ++_STLP_BEGIN_NAMESPACE ++using _STLP_VENDOR_CSTD::jmp_buf; ++# ifndef _STLP_NO_CSTD_FUNCTION_IMPORTS + # ifndef setjmp +-using __STL_VENDOR_CSTD::setjmp; ++using _STLP_VENDOR_CSTD::setjmp; + # endif +-using __STL_VENDOR_CSTD::longjmp; ++using _STLP_VENDOR_CSTD::longjmp; + # endif +-__STL_END_NAMESPACE +-#endif /* __STL_IMPORT_VENDOR_CSTD */ ++_STLP_END_NAMESPACE ++#endif /* _STLP_IMPORT_VENDOR_CSTD */ + +-# if (__STL_OUTERMOST_HEADER_ID == 0x111 ) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x111 ) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __STLPORT_CSETJMP */ ++#endif /* _STLP_CSETJMP */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/csignal tripwire-2.3.1-2/src/STLport-4.0/stlport/csignal +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/csignal Sat Feb 24 10:44:21 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/csignal Sun Aug 11 18:59:23 2002 +@@ -13,36 +13,36 @@ + * + */ + +-#ifndef __STLPORT_CSIGNAL +-# define __STLPORT_CSIGNAL ++#ifndef _STLP_CSIGNAL ++# define _STLP_CSIGNAL + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x112 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x112 + # include + # endif + +-# if defined (__STL_USE_NEW_C_HEADERS) +-# include __STL_NATIVE_CPP_C_HEADER(csignal) ++# if defined (_STLP_USE_NEW_C_HEADERS) ++# include _STLP_NATIVE_CPP_C_HEADER(csignal) + # else +-# include __STL_NATIVE_C_HEADER(signal.h) ++# include _STLP_NATIVE_C_HEADER(signal.h) + # endif + +-# ifdef __STL_IMPORT_VENDOR_CSTD +-__STL_BEGIN_NAMESPACE +-# ifndef __STL_NO_CSTD_FUNCTION_IMPORTS +-using __STL_VENDOR_CSTD::signal; +-using __STL_VENDOR_CSTD::raise; +-# endif /* __STL_NO_CSTD_FUNCTION_IMPORTS */ +-using __STL_VENDOR_CSTD::sig_atomic_t; +-__STL_END_NAMESPACE +-# endif /* __STL_IMPORT_VENDOR_CSTD */ ++# ifdef _STLP_IMPORT_VENDOR_CSTD ++_STLP_BEGIN_NAMESPACE ++# ifndef _STLP_NO_CSTD_FUNCTION_IMPORTS ++using _STLP_VENDOR_CSTD::signal; ++using _STLP_VENDOR_CSTD::raise; ++# endif /* _STLP_NO_CSTD_FUNCTION_IMPORTS */ ++using _STLP_VENDOR_CSTD::sig_atomic_t; ++_STLP_END_NAMESPACE ++# endif /* _STLP_IMPORT_VENDOR_CSTD */ + +-# if (__STL_OUTERMOST_HEADER_ID == 0x112 ) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x112 ) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __STLPORT_CSIGNAL */ ++#endif /* _STLP_CSIGNAL */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cstdarg tripwire-2.3.1-2/src/STLport-4.0/stlport/cstdarg +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cstdarg Sat Feb 24 10:44:21 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/cstdarg Sun Aug 11 18:59:23 2002 +@@ -13,32 +13,32 @@ + * + */ + +-#ifndef __STLPORT_CSTDARG +-# define __STLPORT_CSTDARG ++#ifndef _STLP_CSTDARG ++# define _STLP_CSTDARG + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x113 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x113 + # include + # endif + +-# if defined (__STL_USE_NEW_C_HEADERS) +-# include __STL_NATIVE_CPP_C_HEADER(cstdarg) ++# if defined (_STLP_USE_NEW_C_HEADERS) ++# include _STLP_NATIVE_CPP_C_HEADER(cstdarg) + # else +-# include __STL_NATIVE_C_HEADER(stdarg.h) ++# include _STLP_NATIVE_C_HEADER(stdarg.h) + # endif + +-# ifdef __STL_IMPORT_VENDOR_CSTD +-__STL_BEGIN_NAMESPACE +-using __STL_VENDOR_CSTD::va_list; +-__STL_END_NAMESPACE +-#endif /* __STL_IMPORT_VENDOR_CSTD */ ++# ifdef _STLP_IMPORT_VENDOR_CSTD ++_STLP_BEGIN_NAMESPACE ++using _STLP_VENDOR_CSTD::va_list; ++_STLP_END_NAMESPACE ++#endif /* _STLP_IMPORT_VENDOR_CSTD */ + +-# if (__STL_OUTERMOST_HEADER_ID == 0x113 ) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x113 ) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __STLPORT_CSTDARG */ ++#endif /* _STLP_CSTDARG */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cstddef tripwire-2.3.1-2/src/STLport-4.0/stlport/cstddef +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cstddef Sat Feb 24 10:44:21 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/cstddef Sun Aug 11 18:59:23 2002 +@@ -13,37 +13,41 @@ + * + */ + +-#ifndef __STLPORT_CSTDDEF +-# define __STLPORT_CSTDDEF ++#ifndef _STLP_CSTDDEF ++# define _STLP_CSTDDEF + +-# if ! defined (__STL_WINCE) +- +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x114 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x114 + # include + # endif + +-# if defined (__STL_USE_NEW_C_HEADERS) +-# include __STL_NATIVE_CPP_C_HEADER(cstddef) ++# if (__GNUC__ >= 3) && defined(__CYGWIN__) // this total HACK is the only expedient way I could cygwin to work with GCC 3.0 ++# define __need_wint_t // mostly because wint_t didn't seem to get defined otherwise :( ++# define __need_wchar_t ++# define __need_size_t ++# define __need_ptrdiff_t ++# define __need_NULL ++# endif ++ ++# if defined (_STLP_USE_NEW_C_HEADERS) ++# include _STLP_NATIVE_CPP_C_HEADER(cstddef) + # else +-# include __STL_NATIVE_C_HEADER(stddef.h) ++# include _STLP_NATIVE_C_HEADER(stddef.h) + # endif + +-# ifdef __STL_IMPORT_VENDOR_CSTD +-__STL_BEGIN_NAMESPACE +-using __STL_VENDOR_CSTD::ptrdiff_t; +-using __STL_VENDOR_CSTD::size_t; +-__STL_END_NAMESPACE +-#endif /* __STL_IMPORT_VENDOR_CSTD */ ++# ifdef _STLP_IMPORT_VENDOR_CSTD ++_STLP_BEGIN_NAMESPACE ++using _STLP_VENDOR_CSTD::ptrdiff_t; ++using _STLP_VENDOR_CSTD::size_t; ++_STLP_END_NAMESPACE ++#endif /* _STLP_IMPORT_VENDOR_CSTD */ + +-# if (__STL_OUTERMOST_HEADER_ID == 0x114 ) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x114 ) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __STL_WINCE */ +- +-#endif /* __STLPORT_CSTDDEF */ ++#endif /* _STLP_CSTDDEF */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cstdio tripwire-2.3.1-2/src/STLport-4.0/stlport/cstdio +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cstdio Sat Feb 24 10:44:21 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/cstdio Sun Aug 11 18:59:23 2002 +@@ -13,45 +13,48 @@ + * + */ + +-#ifndef __STLPORT_CSTDIO +-# define __STLPORT_CSTDIO ++#ifndef _STLP_CSTDIO ++# define _STLP_CSTDIO + +-# if ! defined (__STL_WINCE) +- +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 15 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 15 + # include + # endif + +-# if defined (__STL_USE_NEW_C_HEADERS) +-# include __STL_NATIVE_CPP_C_HEADER(cstdio) ++#ifdef __Lynx__ ++# include _STLP_NATIVE_C_HEADER(stdarg.h) ++#endif ++ ++# if defined (_STLP_USE_NEW_C_HEADERS) ++# include _STLP_NATIVE_CPP_C_HEADER(cstdio) + # else +-# include __STL_NATIVE_C_HEADER(stdio.h) ++# include _STLP_NATIVE_C_HEADER(stdio.h) + # endif + + # ifdef __MWERKS__ + # undef stdin + # undef stdout + # undef stderr +-# define stdin (&__STL_VENDOR_CSTD::__files[0]) +-# define stdout (&__STL_VENDOR_CSTD::__files[1]) +-# define stderr (&__STL_VENDOR_CSTD::__files[2]) ++# define stdin (&_STLP_VENDOR_CSTD::__files[0]) ++# define stdout (&_STLP_VENDOR_CSTD::__files[1]) ++# define stderr (&_STLP_VENDOR_CSTD::__files[2]) + # endif + +-# if defined (__STL_MSVC) || defined (__ICL) ++# if defined (_STLP_MSVC) || defined (__ICL) + inline + int vsnprintf(char *s1, size_t n, const char *s2, va_list v) + { +- return __STL_VENDOR_CSTD::_vsnprintf(s1, n, s2, v); ++ return _STLP_VENDOR_CSTD::_vsnprintf(s1, n, s2, v); + } + # endif + +-# ifdef __STL_IMPORT_VENDOR_CSTD +-__STL_BEGIN_NAMESPACE +-using __STL_VENDOR_CSTD::FILE; +-using __STL_VENDOR_CSTD::fpos_t; +-using __STL_VENDOR_CSTD::size_t; ++# ifdef _STLP_IMPORT_VENDOR_CSTD ++_STLP_BEGIN_NAMESPACE ++using _STLP_VENDOR_CSTD::FILE; ++using _STLP_VENDOR_CSTD::fpos_t; ++using _STLP_VENDOR_CSTD::size_t; + ++# if !defined(__amigaos__) + // undef obsolete macros + # undef putc + # undef getc +@@ -59,63 +62,66 @@ + # undef putchar + # undef feof + # undef ferror ++# endif + +-# ifndef __STL_NO_CSTD_FUNCTION_IMPORTS +-using __STL_VENDOR_CSTD::clearerr; +-using __STL_VENDOR_CSTD::fclose; +-using __STL_VENDOR_CSTD::feof; +-using __STL_VENDOR_CSTD::ferror; +-using __STL_VENDOR_CSTD::fflush; +-using __STL_VENDOR_CSTD::fgetc; +-using __STL_VENDOR_CSTD::fgetpos; +-using __STL_VENDOR_CSTD::fgets; +-using __STL_VENDOR_CSTD::fopen; +-using __STL_VENDOR_CSTD::fprintf; +-using __STL_VENDOR_CSTD::fputc; +-using __STL_VENDOR_CSTD::fputs; +-using __STL_VENDOR_CSTD::fread; +-using __STL_VENDOR_CSTD::freopen; +-using __STL_VENDOR_CSTD::fscanf; +-using __STL_VENDOR_CSTD::fseek; +-using __STL_VENDOR_CSTD::fsetpos; +-using __STL_VENDOR_CSTD::ftell; +-using __STL_VENDOR_CSTD::fwrite; +-using __STL_VENDOR_CSTD::getc; +-using __STL_VENDOR_CSTD::getchar; +-using __STL_VENDOR_CSTD::gets; +-using __STL_VENDOR_CSTD::perror; +-using __STL_VENDOR_CSTD::printf; +-using __STL_VENDOR_CSTD::putc; +-using __STL_VENDOR_CSTD::putchar; +-using __STL_VENDOR_CSTD::puts; +-using __STL_VENDOR_CSTD::remove; +-using __STL_VENDOR_CSTD::rename; +-using __STL_VENDOR_CSTD::rewind; +-using __STL_VENDOR_CSTD::scanf; +-using __STL_VENDOR_CSTD::setbuf; +-using __STL_VENDOR_CSTD::setvbuf; +-using __STL_VENDOR_CSTD::sprintf; +-using __STL_VENDOR_CSTD::sscanf; +-using __STL_VENDOR_CSTD::tmpfile; +-using __STL_VENDOR_CSTD::tmpnam; +-using __STL_VENDOR_CSTD::ungetc; +-using __STL_VENDOR_CSTD::vfprintf; +-using __STL_VENDOR_CSTD::vprintf; +-using __STL_VENDOR_CSTD::vsprintf; +-# if defined (__MWERKS__) || defined (__STL_MSVC) || defined (__ICL) || \ +-( defined (__BORLANDC__) && __BORLANDC__ > 0x530) || ( defined (__STL_USE_GLIBC) && ! defined (__CYGWIN__)) +-using __STL_VENDOR_CSTD::vsnprintf; ++# ifndef _STLP_NO_CSTD_FUNCTION_IMPORTS ++using _STLP_VENDOR_CSTD::clearerr; ++using _STLP_VENDOR_CSTD::fclose; ++using _STLP_VENDOR_CSTD::feof; ++using _STLP_VENDOR_CSTD::ferror; ++using _STLP_VENDOR_CSTD::fflush; ++using _STLP_VENDOR_CSTD::fgetc; ++using _STLP_VENDOR_CSTD::fgetpos; ++using _STLP_VENDOR_CSTD::fgets; ++using _STLP_VENDOR_CSTD::fopen; ++using _STLP_VENDOR_CSTD::fprintf; ++using _STLP_VENDOR_CSTD::fputc; ++using _STLP_VENDOR_CSTD::fputs; ++using _STLP_VENDOR_CSTD::fread; ++using _STLP_VENDOR_CSTD::freopen; ++using _STLP_VENDOR_CSTD::fscanf; ++using _STLP_VENDOR_CSTD::fseek; ++using _STLP_VENDOR_CSTD::fsetpos; ++using _STLP_VENDOR_CSTD::ftell; ++using _STLP_VENDOR_CSTD::fwrite; ++ ++# if ( !( defined (__IBMCPP__) && (__IBMCPP__ >= 500) ) ) ++ using _STLP_VENDOR_CSTD::getc; ++ using _STLP_VENDOR_CSTD::getchar; ++ using _STLP_VENDOR_CSTD::putc; ++ using _STLP_VENDOR_CSTD::putchar; + # endif +-# endif /* __STL_NO_CSTD_FUNCTION_IMPORTS */ +-__STL_END_NAMESPACE +-# endif /* __STL_IMPORT_VENDOR_CSTD */ + +-# if (__STL_OUTERMOST_HEADER_ID == 15) ++using _STLP_VENDOR_CSTD::gets; ++using _STLP_VENDOR_CSTD::perror; ++using _STLP_VENDOR_CSTD::printf; ++using _STLP_VENDOR_CSTD::puts; ++using _STLP_VENDOR_CSTD::remove; ++using _STLP_VENDOR_CSTD::rename; ++using _STLP_VENDOR_CSTD::rewind; ++using _STLP_VENDOR_CSTD::scanf; ++using _STLP_VENDOR_CSTD::setbuf; ++using _STLP_VENDOR_CSTD::setvbuf; ++using _STLP_VENDOR_CSTD::sprintf; ++using _STLP_VENDOR_CSTD::sscanf; ++using _STLP_VENDOR_CSTD::tmpfile; ++using _STLP_VENDOR_CSTD::tmpnam; ++using _STLP_VENDOR_CSTD::ungetc; ++using _STLP_VENDOR_CSTD::vfprintf; ++using _STLP_VENDOR_CSTD::vprintf; ++using _STLP_VENDOR_CSTD::vsprintf; ++# if (defined (__MWERKS__) || defined (_STLP_MSVC) || defined (__ICL) || \ ++( defined (__BORLANDC__) && __BORLANDC__ > 0x530)) ++using _STLP_VENDOR_CSTD::vsnprintf; ++# endif ++# endif /* _STLP_NO_CSTD_FUNCTION_IMPORTS */ ++_STLP_END_NAMESPACE ++# endif /* _STLP_IMPORT_VENDOR_CSTD */ ++ ++# if (_STLP_OUTERMOST_HEADER_ID == 15) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif +- +-# endif /* ! defined (__STL_WINCE) */ + + #endif + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cstdlib tripwire-2.3.1-2/src/STLport-4.0/stlport/cstdlib +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cstdlib Sat Feb 24 10:44:21 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/cstdlib Sun Aug 11 18:59:23 2002 +@@ -13,24 +13,20 @@ + * + */ + +-#ifndef __STLPORT_CSTDLIB +-# define __STLPORT_CSTDLIB ++#ifndef _STLP_CSTDLIB ++# define _STLP_CSTDLIB + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x116 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x116 + # include + # endif + +-# if defined (__STL_USE_NEW_C_HEADERS) +-# include __STL_NATIVE_CPP_C_HEADER(cstdlib) ++# if defined (_STLP_USE_NEW_C_HEADERS) ++# include _STLP_NATIVE_CPP_C_HEADER(cstdlib) + # else +-# include __STL_NATIVE_C_HEADER(stdlib.h) ++# include _STLP_NATIVE_C_HEADER(stdlib.h) + # endif + +-// dwa 2/28/99 - work around MSL bugs. Not strictly correct (actual +-// namespace where div_t is defined is detectable), but probably the +-// best we can do. We expect this to be fixed by the time Pro5 is +-// released. + # if defined( __MSL__ ) && __MSL__ <= 0x5003 + namespace std { + typedef ::div_t div_t; +@@ -41,56 +37,77 @@ + } + # endif + +-# ifdef __STL_IMPORT_VENDOR_CSTD +-__STL_BEGIN_NAMESPACE +-using __STL_VENDOR_CSTD::div_t; +-using __STL_VENDOR_CSTD::ldiv_t; +-# ifdef __STL_LONG_LONG +-// using __STL_VENDOR_CSTD::lldiv_t; +-# endif +-using __STL_VENDOR_CSTD::size_t; +-# ifndef __STL_NO_CSTD_FUNCTION_IMPORTS +-using __STL_VENDOR_CSTD::abort; +-using __STL_VENDOR_CSTD::atexit; +-using __STL_VENDOR_CSTD::exit; +-using __STL_VENDOR_CSTD::getenv; +-using __STL_VENDOR_CSTD::calloc; +-using __STL_VENDOR_CSTD::free; +-using __STL_VENDOR_CSTD::malloc; +-using __STL_VENDOR_CSTD::realloc; +-using __STL_VENDOR_CSTD::atof; +-using __STL_VENDOR_CSTD::atoi; +-using __STL_VENDOR_CSTD::atol; +-using __STL_VENDOR_CSTD::mblen; +-using __STL_VENDOR_CSTD::mbstowcs; +-using __STL_VENDOR_CSTD::mbtowc; +-using __STL_VENDOR_CSTD::strtod; +-using __STL_VENDOR_CSTD::strtol; +-using __STL_VENDOR_CSTD::strtoul; +-using __STL_VENDOR_CSTD::system; +- +-#if ! (defined (__STL_NO_NATIVE_WIDE_STREAMS) || defined (__STL_NO_MBSTATE_T)) +-using __STL_VENDOR_CSTD::wcstombs; +-using __STL_VENDOR_CSTD::wctomb; ++# ifdef _STLP_IMPORT_VENDOR_CSTD ++_STLP_BEGIN_NAMESPACE ++using _STLP_VENDOR_CSTD::div_t; ++using _STLP_VENDOR_CSTD::ldiv_t; ++using _STLP_VENDOR_CSTD::size_t; ++ ++# ifndef _STLP_NO_CSTD_FUNCTION_IMPORTS ++using _STLP_VENDOR_CSTD::abort; ++using _STLP_VENDOR_CSTD::atexit; ++using _STLP_VENDOR_CSTD::exit; ++using _STLP_VENDOR_CSTD::getenv; ++using _STLP_VENDOR_CSTD::calloc; ++using _STLP_VENDOR_CSTD::free; ++using _STLP_VENDOR_CSTD::malloc; ++using _STLP_VENDOR_CSTD::realloc; ++using _STLP_VENDOR_CSTD::atof; ++using _STLP_VENDOR_CSTD::atoi; ++using _STLP_VENDOR_CSTD::atol; ++using _STLP_VENDOR_CSTD::mblen; ++using _STLP_VENDOR_CSTD::mbstowcs; ++using _STLP_VENDOR_CSTD::mbtowc; ++using _STLP_VENDOR_CSTD::strtod; ++using _STLP_VENDOR_CSTD::strtol; ++using _STLP_VENDOR_CSTD::strtoul; ++using _STLP_VENDOR_CSTD::system; ++ ++#if ! (defined (_STLP_NO_NATIVE_WIDE_STREAMS) || defined (_STLP_NO_MBSTATE_T) ) ++using _STLP_VENDOR_CSTD::wcstombs; ++using _STLP_VENDOR_CSTD::wctomb; + #endif +-using __STL_VENDOR_CSTD::bsearch; +-using __STL_VENDOR_CSTD::qsort; +-using __STL_VENDOR_CSTD::abs; +-using __STL_VENDOR_CSTD::div; +-using __STL_VENDOR_CSTD::labs; +-using __STL_VENDOR_CSTD::ldiv; +-using __STL_VENDOR_CSTD::rand; +-using __STL_VENDOR_CSTD::srand; +-# endif /* __STL_NO_CSTD_FUNCTION_IMPORTS */ +-__STL_END_NAMESPACE +-#endif /* __STL_IMPORT_VENDOR_CSTD */ ++using _STLP_VENDOR_CSTD::bsearch; ++using _STLP_VENDOR_CSTD::qsort; ++// boris : if we do not have native float abs, we define ours; then we cannot do "using" for "other" abs ++# ifdef _STLP_HAS_NATIVE_FLOAT_ABS ++using _STLP_VENDOR_CSTD::abs; ++# endif ++using _STLP_VENDOR_CSTD::div; ++using _STLP_VENDOR_CSTD::labs; ++using _STLP_VENDOR_CSTD::ldiv; ++using _STLP_VENDOR_CSTD::rand; ++using _STLP_VENDOR_CSTD::srand; ++# endif /* _STLP_NO_CSTD_FUNCTION_IMPORTS */ ++_STLP_END_NAMESPACE ++#endif /* _STLP_IMPORT_VENDOR_CSTD */ ++ ++_STLP_BEGIN_NAMESPACE ++ ++# ifdef _STLP_HAS_NO_NEW_C_HEADERS ++# if !defined ( _STLP_LABS ) ++inline long abs(long __x) { return _STLP_VENDOR_CSTD::labs(__x); } ++# endif ++# if !defined ( _STLP_LDIV ) ++inline ldiv_t div(long __x, long __y) { return _STLP_VENDOR_CSTD::ldiv(__x, __y); } ++# endif ++# endif ++ ++# if defined ( _STLP_LLABS ) ++_STLP_LONG_LONG abs(_STLP_LONG_LONG __x) { return _STLP_VENDOR_CSTD::_STLP_LLABS(__x); } ++# endif ++# if defined ( _STLP_LLDIV ) ++_STLP_LLDIV_T div(_STLP_LONG_LONG __x, _STLP_LONG_LONG __y) { return _STLP_VENDOR_CSTD::_STLP_LLDIV(__x, __y); } ++# endif ++ ++_STLP_END_NAMESPACE + +-# if (__STL_OUTERMOST_HEADER_ID == 0x116) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x116) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __STLPORT_CSTDLIB */ ++#endif /* _STLP_CSTDLIB */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cstring tripwire-2.3.1-2/src/STLport-4.0/stlport/cstring +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cstring Sat Feb 24 10:44:22 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/cstring Sun Aug 11 18:59:23 2002 +@@ -13,32 +13,32 @@ + * + */ + +-#ifndef __STLPORT_CSTRING +-# define __STLPORT_CSTRING ++#ifndef _STLP_CSTRING ++# define _STLP_CSTRING + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x117 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x117 + # include + # endif + +-# if defined (__STL_USE_NEW_C_HEADERS) +-# include __STL_NATIVE_CPP_C_HEADER(cstring) ++# if defined (_STLP_USE_NEW_C_HEADERS) ++# include _STLP_NATIVE_CPP_C_HEADER(cstring) + # else +-# include __STL_NATIVE_C_HEADER(string.h) ++# include _STLP_NATIVE_C_HEADER(string.h) + # endif + +-# ifdef __STL_IMPORT_VENDOR_CSTD +-__STL_BEGIN_NAMESPACE ++# ifdef _STLP_IMPORT_VENDOR_CSTD ++_STLP_BEGIN_NAMESPACE + # include +-__STL_END_NAMESPACE +-#endif /* __STL_IMPORT_VENDOR_CSTD */ ++_STLP_END_NAMESPACE ++#endif /* _STLP_IMPORT_VENDOR_CSTD */ + +-# if (__STL_OUTERMOST_HEADER_ID == 0x117) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x117) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __STLPORT_CSTRING */ ++#endif /* _STLP_CSTRING */ + + // Local Variables: + // mode:C++ +Only in tripwire-2.3.1-2.old/src/STLport-4.0/stlport: cstring.h +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/ctime tripwire-2.3.1-2/src/STLport-4.0/stlport/ctime +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/ctime Sat Feb 24 10:44:22 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/ctime Sun Aug 11 18:59:23 2002 +@@ -13,46 +13,46 @@ + * + */ + +-#ifndef __STLPORT_CTIME +-# define __STLPORT_CTIME ++#ifndef _STLP_CTIME ++# define _STLP_CTIME + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x118 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x118 + # include + # endif + +-# if defined (__STL_USE_NEW_C_HEADERS) +-# include __STL_NATIVE_CPP_C_HEADER(ctime) +-# else +-# include __STL_NATIVE_C_HEADER(time.h) ++# if defined (_STLP_USE_NEW_C_HEADERS) ++# include _STLP_NATIVE_CPP_C_HEADER(ctime) ++# elif !defined(_STLP_WINCE) ++# include _STLP_NATIVE_C_HEADER(time.h) + # endif + +-# ifdef __STL_IMPORT_VENDOR_CSTD +-__STL_BEGIN_NAMESPACE +-using __STL_VENDOR_CSTD::size_t; +-using __STL_VENDOR_CSTD::clock_t; +-using __STL_VENDOR_CSTD::time_t; +-using __STL_VENDOR_CSTD::tm; +-# ifndef __STL_NO_CSTD_FUNCTION_IMPORTS +-using __STL_VENDOR_CSTD::clock; +-using __STL_VENDOR_CSTD::asctime; +-using __STL_VENDOR_CSTD::ctime; +-using __STL_VENDOR_CSTD::gmtime; +-using __STL_VENDOR_CSTD::difftime; +-using __STL_VENDOR_CSTD::mktime; +-using __STL_VENDOR_CSTD::localtime; +-using __STL_VENDOR_CSTD::strftime; +-using __STL_VENDOR_CSTD::time; +-# endif /* __STL_NO_CSTD_FUNCTION_IMPORTS */ +-__STL_END_NAMESPACE +-#endif /* __STL_IMPORT_VENDOR_CSTD */ ++# ifdef _STLP_IMPORT_VENDOR_CSTD ++_STLP_BEGIN_NAMESPACE ++using _STLP_VENDOR_CSTD::size_t; ++using _STLP_VENDOR_CSTD::clock_t; ++using _STLP_VENDOR_CSTD::time_t; ++using _STLP_VENDOR_CSTD::tm; ++# ifndef _STLP_NO_CSTD_FUNCTION_IMPORTS ++using _STLP_VENDOR_CSTD::clock; ++using _STLP_VENDOR_CSTD::asctime; ++using _STLP_VENDOR_CSTD::ctime; ++using _STLP_VENDOR_CSTD::gmtime; ++using _STLP_VENDOR_CSTD::difftime; ++using _STLP_VENDOR_CSTD::mktime; ++using _STLP_VENDOR_CSTD::localtime; ++using _STLP_VENDOR_CSTD::strftime; ++using _STLP_VENDOR_CSTD::time; ++# endif /* _STLP_NO_CSTD_FUNCTION_IMPORTS */ ++_STLP_END_NAMESPACE ++#endif /* _STLP_IMPORT_VENDOR_CSTD */ + +-# if (__STL_OUTERMOST_HEADER_ID == 0x118) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x118) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __STLPORT_CTIME */ ++#endif /* _STLP_CTIME */ + // Local Variables: + // mode:C++ + // End: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/ctype.h tripwire-2.3.1-2/src/STLport-4.0/stlport/ctype.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/ctype.h Sat Feb 24 10:44:22 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/ctype.h Sun Aug 11 18:59:23 2002 +@@ -13,21 +13,21 @@ + * + */ + +-# if !defined (__STL_OUTERMOST_HEADER_ID) +-# define __STL_OUTERMOST_HEADER_ID 0x219 ++# if !defined (_STLP_OUTERMOST_HEADER_ID) ++# define _STLP_OUTERMOST_HEADER_ID 0x219 + # include +-# elif (__STL_OUTERMOST_HEADER_ID == 0x219) && ! defined (__STL_DONT_POP_0x219) +-# define __STL_DONT_POP_0x219 ++# elif (_STLP_OUTERMOST_HEADER_ID == 0x219) && ! defined (_STLP_DONT_POP_0x219) ++# define _STLP_DONT_POP_0x219 + # endif + +-# include __STL_NATIVE_C_HEADER(ctype.h) ++# include _STLP_NATIVE_C_HEADER(ctype.h) + +-# if (__STL_OUTERMOST_HEADER_ID == 0x219) +-# if ! defined (__STL_DONT_POP_0x219) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x219) ++# if ! defined (_STLP_DONT_POP_0x219) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif +-# undef __STL_DONT_POP_0x219 ++# undef _STLP_DONT_POP_0x219 + # endif + + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cwchar tripwire-2.3.1-2/src/STLport-4.0/stlport/cwchar +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cwchar Sat Feb 24 10:44:22 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/cwchar Fri Feb 14 16:26:17 2003 +@@ -13,240 +13,290 @@ + * + */ + +-#ifndef __STLPORT_CWCHAR +-# define __STLPORT_CWCHAR ++#ifndef _STLP_CWCHAR ++# define _STLP_CWCHAR + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x120 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x120 + # include + # endif + + # ifdef __GNUC__ +-# include ++# include + # endif + +-# if ! defined (__STL_WINCE) +- +-# if defined (__BORLANDC__) && (__BORLANDC__ >= 0x530 ) && ! defined (__SGI_STL_OWN_IOSTREAMS) +-// Borland defines this stuff here ++# if defined (__BORLANDC__) && (__BORLANDC__ >= 0x530 ) && ! defined (_STLP_OWN_IOSTREAMS) ++/* Borland defines this stuff here */ + # include + # endif + +-# if defined (__STL_USE_NEW_C_HEADERS) && ! defined (__HP_aCC) +-# include __STL_NATIVE_CPP_C_HEADER(cwchar) +-# elif defined (__MRC__) || defined (__SC__) || defined (__BORLANDC__) +-# include __STL_NATIVE_C_HEADER(stddef.h) +-# else +-# if !defined(__STL_NO_WCHAR_T) && !defined(__FreeBSD__) && !defined(__OpenBSD__) +-# include __STL_NATIVE_C_HEADER(wchar.h) ++# if ! defined (_STLP_NO_CWCHAR) && defined (_STLP_USE_NEW_C_HEADERS) ++# include _STLP_NATIVE_CPP_C_HEADER(cwchar) ++ ++# elif defined (__MRC__) || defined (__SC__) || defined (__BORLANDC__) \ ++ || defined(__FreeBSD__) || defined(__OpenBSD__) \ ++ || (defined (__GNUC__) && defined (__APPLE__) || defined( __Lynx__ )) \ ++ || defined (_STLP_NO_WCHAR_T) ++ ++# include _STLP_NATIVE_C_HEADER(stddef.h) ++# if defined (__FreeBSD__) || defined(__OpenBSD__) || defined (__Lynx__) ++# ifndef _WINT_T ++typedef long int wint_t; ++# define _WINT_T ++# endif /* _WINT_T */ ++# endif ++ ++# elif defined(_STLP_WINCE) ++# include _STLP_NATIVE_C_HEADER(stdlib.h) ++# else ++# include _STLP_NATIVE_C_HEADER(wchar.h) ++ ++# if defined(__sun) && (defined(_XOPEN_SOURCE) || (_XOPEN_VERSION - 0 == 4)) ++extern wint_t btowc(); ++extern int fwprintf(); ++extern int fwscanf(); ++extern int fwide(); ++extern int mbsinit(); ++extern size_t mbrlen(); ++extern size_t mbrtowc(); ++extern size_t mbsrtowcs(); ++extern int swprintf(); ++extern int swscanf(); ++extern int vfwprintf(); ++extern int vwprintf(); ++extern int vswprintf(); ++extern size_t wcrtomb(); ++extern size_t wcsrtombs(); ++extern wchar_t *wcsstr(); ++extern int wctob(); ++extern wchar_t *wmemchr(); ++extern int wmemcmp(); ++extern wchar_t *wmemcpy(); ++extern wchar_t *wmemmove(); ++extern wchar_t *wmemset(); ++extern int wprintf(); ++extern int wscanf(); + # endif + # endif + +-// this stuff is varying a lot between platforms +-#if defined(__MSL__) && __MSL__ <= 0x51FF // dwa 2/28/99 - not yet implemented by MSL +-# define __STL_WCHAR_MSL_EXCLUDE 1 +-// dwa 2/28/99 - Fix an MSL bug. We expect this to be fixed in the next release. ++#if defined(__MSL__) && __MSL__ <= 0x51FF /* dwa 2/28/99 - not yet implemented by MSL */ ++# define _STLP_WCHAR_MSL_EXCLUDE 1 + namespace std + { + extern "C" size_t wcsftime(wchar_t * str, size_t max_size, const wchar_t * format_str, const struct tm * timeptr); + } +-# define __STL_NO_MBSTATE_T 1 +-#elif defined(__sun) && defined (__SVR4) && !defined (_MBSTATE_T) && !defined (_STD_MBSTATE_T) \ +- && (defined(__SunOS_5_5_1) || defined(__SunOS_5_6) || ! defined (_WCHAR_ISO_SUNWCC_H)) +-# ifndef __STL_NO_NATIVE_MBSTATE_T +-# define __STL_NO_NATIVE_MBSTATE_T 1 +-# endif +-# define __STL_WCHAR_SUNPRO_EXCLUDE 1 +-# if defined ( __SGI_STL_OWN_IOSTREAMS ) +-# define _MBSTATE_T +-# define _STD_MBSTATE_T +-# else +-# define __STL_NO_MBSTATE_T 1 +-# endif ++# define _STLP_NO_MBSTATE_T 1 + #elif defined (__BORLANDC__) +-# ifdef __SGI_STL_OWN_IOSTREAMS +-# define __STL_NO_NATIVE_MBSTATE_T ++# ifdef _STLP_OWN_IOSTREAMS ++# define _STLP_NO_NATIVE_MBSTATE_T + # endif +-# define __STL_WCHAR_BORLAND_EXCLUDE 1 ++# define _STLP_WCHAR_BORLAND_EXCLUDE 1 + # if (__BORLANDC__ < 0x540 ) +-# define __STL_NO_MBSTATE_T 1 +-# define __STL_WCHAR_SUNPRO_EXCLUDE ++# define _STLP_NO_MBSTATE_T 1 ++# define _STLP_WCHAR_SUNPRO_EXCLUDE + # endif + #endif + +-# if defined ( __SGI_STL_OWN_IOSTREAMS ) \ +- && defined (__STL_NO_NATIVE_MBSTATE_T) && ! defined (__STL_NO_MBSTATE_T) +-# define __STL_USE_OWN_MBSTATE_T ++# if defined ( _STLP_OWN_IOSTREAMS ) && defined (_STLP_NO_NATIVE_MBSTATE_T) && ! defined (_STLP_NO_MBSTATE_T) && ! defined (_MBSTATE_T) && ! defined (__mbstate_t_defined) ++# define _STLP_USE_OWN_MBSTATE_T ++# define _MBSTATE_T + # endif + +-# ifdef __STL_USE_OWN_MBSTATE_T ++# ifdef _STLP_USE_OWN_MBSTATE_T ++ ++// to be compatible across different SUN platforms ++#ifdef __sun ++# define __stl_mbstate_t __mbstate_t ++#endif + +-__STL_BEGIN_NAMESPACE ++struct __stl_mbstate_t; + ++# ifdef __cplusplus + struct __stl_mbstate_t { +- __stl_mbstate_t( long __st = 0 ) : _M_state(__st) {} ++ __stl_mbstate_t( long __st = 0 ) { _M_state[0] = __st ; } + __stl_mbstate_t& operator=(const long __st) { +- _M_state= __st; ++ _M_state[0] = __st; + return *this; + } +- // default ones +- __stl_mbstate_t(const __stl_mbstate_t& __x) : _M_state(__x._M_state) {} ++ __stl_mbstate_t(const __stl_mbstate_t& __x) {_M_state[0]= __x._M_state[0]; } + __stl_mbstate_t& operator=(const __stl_mbstate_t& __x) { +- _M_state= __x._M_state; ++ _M_state[0]= __x._M_state[0]; + return *this; +- } +- long _M_state; +- // friend inline bool operator==(const __stl_mbstate_t& __x, const __stl_mbstate_t& __y); +- // friend inline bool operator!=(const __stl_mbstate_t& __x, const __stl_mbstate_t& __y); ++ } ++# if defined (__sun) ++# ifdef _LP64 ++ long _M_state[4]; ++# else ++ int _M_state[6]; ++# endif ++# else ++ long _M_state[1]; ++# endif + }; + + inline bool operator==(const __stl_mbstate_t& __x, const __stl_mbstate_t& __y) { +- return ( __x._M_state == __y._M_state ); ++ return ( __x._M_state[0] == __y._M_state[0] ); + } + + inline bool operator!=(const __stl_mbstate_t& __x, const __stl_mbstate_t& __y) { +- return ( __x._M_state == __y._M_state ); ++ return ( __x._M_state[0] == __y._M_state[0] ); + } ++# endif + +-typedef __stl_mbstate_t mbstate_t; + +-__STL_END_NAMESPACE ++_STLP_BEGIN_NAMESPACE + +-# endif ++typedef struct __stl_mbstate_t mbstate_t; ++ ++_STLP_END_NAMESPACE + ++# endif /* _STLP_USE_OWN_MBSTATE_T */ + +-# if defined (__STL_NO_MBSTATE_T) && !defined (__STL_NO_NATIVE_MBSTATE_T) +-# define __STL_NO_NATIVE_MBSTATE_T 1 ++ ++# ifdef _STLP_IMPORT_VENDOR_CSTD ++ ++#if defined (__SUNPRO_CC) && defined (_STLP_NO_OWN_IOSTREAMS) && !defined (_STLP_HAS_NO_NEW_C_HEADERS) ++using _STLP_VENDOR_CSTD::wint_t; ++#endif ++ ++_STLP_BEGIN_NAMESPACE ++# ifdef _STLP_NO_WCHAR_T ++typedef int wint_t; ++# else ++// gcc 3.0 has a glitch : wint_t only sucked into the global namespace if _GLIBCPP_USE_WCHAR_T is defined ++# if defined (__GNUC__) && ! defined (_GLIBCPP_USE_WCHAR_T) ++using ::wint_t; ++# else ++using _STLP_VENDOR_CSTD::wint_t; + # endif ++# endif + + +-# ifdef __STL_IMPORT_VENDOR_CSTD +-__STL_BEGIN_NAMESPACE +-using __STL_VENDOR_CSTD::wint_t; +-using __STL_VENDOR_CSTD::size_t; ++using _STLP_VENDOR_CSTD::size_t; + +-# if !defined (__STL_NO_NATIVE_MBSTATE_T) +-using __STL_VENDOR_MB_NAMESPACE::mbstate_t; ++# if !defined (_STLP_NO_NATIVE_MBSTATE_T) && ! defined (_STLP_USE_OWN_MBSTATE_T) ++using _STLP_VENDOR_MB_NAMESPACE::mbstate_t; + +-# if !defined (__STL_NO_CSTD_FUNCTION_IMPORTS) && !defined(__STL_WCHAR_BORLAND_EXCLUDE) \ ++# if !defined (_STLP_NO_CSTD_FUNCTION_IMPORTS) && !defined(_STLP_WCHAR_BORLAND_EXCLUDE) \ + && (!defined(__MSL__) || __MSL__ > 0x6001) +-using __STL_VENDOR_MB_NAMESPACE::btowc; +-using __STL_VENDOR_MB_NAMESPACE::mbrlen; +-using __STL_VENDOR_MB_NAMESPACE::mbrtowc; +-using __STL_VENDOR_MB_NAMESPACE::mbsinit; +-using __STL_VENDOR_MB_NAMESPACE::mbsrtowcs; +-using __STL_VENDOR_MB_NAMESPACE::wcrtomb; +-using __STL_VENDOR_MB_NAMESPACE::wcsrtombs; ++# if ! (defined (__KCC) || defined (__GNUC__)) ++using _STLP_VENDOR_MB_NAMESPACE::btowc; ++# if (!defined(__MSL__) || __MSL__ > 0x7001) ++using _STLP_VENDOR_MB_NAMESPACE::mbsinit; ++# endif ++# endif ++# if ! defined (__GNUC__) ++using _STLP_VENDOR_MB_NAMESPACE::mbrlen; ++using _STLP_VENDOR_MB_NAMESPACE::mbrtowc; ++using _STLP_VENDOR_MB_NAMESPACE::mbsrtowcs; ++using _STLP_VENDOR_MB_NAMESPACE::wcrtomb; ++using _STLP_VENDOR_MB_NAMESPACE::wcsrtombs; ++# endif + # endif /* BORLAND && !__MSL__ || __MSL__ > 0x6001 */ + +-# endif /* __STL_NO_NATIVE_MBSTATE_T */ ++# endif /* _STLP_NO_NATIVE_MBSTATE_T */ + +-# if !defined (__STL_NO_NATIVE_WIDE_FUNCTIONS) && ! defined (__STL_NO_CSTD_FUNCTION_IMPORTS) ++# if !defined (_STLP_NO_NATIVE_WIDE_FUNCTIONS) && ! defined (_STLP_NO_CSTD_FUNCTION_IMPORTS) + +-# if !defined (__STL_WCHAR_BORLAND_EXCLUDE) && ! defined (__STL_NO_CSTD_FUNCTION_IMPORTS) +-using __STL_VENDOR_CSTD::fgetwc; +-using __STL_VENDOR_CSTD::fgetws; +-using __STL_VENDOR_CSTD::fputwc; +-using __STL_VENDOR_CSTD::fputws; ++# if !defined (_STLP_WCHAR_BORLAND_EXCLUDE) && ! defined (_STLP_NO_CSTD_FUNCTION_IMPORTS) ++using _STLP_VENDOR_CSTD::fgetwc; ++using _STLP_VENDOR_CSTD::fgetws; ++using _STLP_VENDOR_CSTD::fputwc; ++using _STLP_VENDOR_CSTD::fputws; + # endif + +-# if !( defined (__STL_WCHAR_SUNPRO_EXCLUDE) || defined (__STL_WCHAR_BORLAND_EXCLUDE) \ +- || defined(__STL_WCHAR_HPACC_EXCLUDE) ) ++# if !( defined (_STLP_WCHAR_SUNPRO_EXCLUDE) || defined (_STLP_WCHAR_BORLAND_EXCLUDE) \ ++ || defined(_STLP_WCHAR_HPACC_EXCLUDE) ) + # ifndef __DECCXX +-using __STL_VENDOR_CSTD::fwide; ++using _STLP_VENDOR_CSTD::fwide; + # endif +-using __STL_VENDOR_CSTD::fwprintf; +-using __STL_VENDOR_CSTD::fwscanf; +-using __STL_VENDOR_CSTD::getwchar; ++using _STLP_VENDOR_CSTD::fwprintf; ++using _STLP_VENDOR_CSTD::fwscanf; ++using _STLP_VENDOR_CSTD::getwchar; + # endif + +-# ifndef __STL_WCHAR_BORLAND_EXCLUDE +-using __STL_VENDOR_CSTD::getwc; +-using __STL_VENDOR_CSTD::ungetwc; +- +-using __STL_VENDOR_CSTD::putwc; +-using __STL_VENDOR_CSTD::putwchar; +-# endif ++# ifndef _STLP_WCHAR_BORLAND_EXCLUDE ++using _STLP_VENDOR_CSTD::getwc; ++using _STLP_VENDOR_CSTD::ungetwc; ++ ++using _STLP_VENDOR_CSTD::putwc; ++using _STLP_VENDOR_CSTD::putwchar; ++# endif ++ ++# if !( defined (_STLP_WCHAR_SUNPRO_EXCLUDE) || defined (_STLP_WCHAR_BORLAND_EXCLUDE)\ ++ || defined(_STLP_WCHAR_HPACC_EXCLUDE) ) ++using _STLP_VENDOR_CSTD::swprintf; ++using _STLP_VENDOR_CSTD::swscanf; ++using _STLP_VENDOR_CSTD::vfwprintf; ++using _STLP_VENDOR_CSTD::vwprintf; ++using _STLP_VENDOR_CSTD::vswprintf; + +-# if !( defined (__STL_WCHAR_SUNPRO_EXCLUDE) || defined (__STL_WCHAR_BORLAND_EXCLUDE)\ +- || defined(__STL_WCHAR_HPACC_EXCLUDE) ) +-using __STL_VENDOR_CSTD::swprintf; +-using __STL_VENDOR_CSTD::swscanf; +-using __STL_VENDOR_CSTD::vfwprintf; +-using __STL_VENDOR_CSTD::vwprintf; +-using __STL_VENDOR_CSTD::vswprintf; +- +-# if !defined(__MSL__) || __MSL__ > 0x6001 +-using __STL_VENDOR_CSTD::wcsftime; ++# if !defined(__MSL__) || __MSL__ > 0x7001 ++using _STLP_VENDOR_CSTD::wcsftime; + # endif +-using __STL_VENDOR_CSTD::wcstok; ++using _STLP_VENDOR_CSTD::wcstok; + + # endif + + # if !(defined (__BORLANDC__) && (__BORLANDC__ < 0x540)) +-using __STL_VENDOR_CSTD::wcscat; +-using __STL_VENDOR_CSTD::wcsrchr; +-using __STL_VENDOR_CSTD::wcscmp; +-using __STL_VENDOR_CSTD::wcscoll; ++using _STLP_VENDOR_CSTD::wcscat; ++using _STLP_VENDOR_CSTD::wcsrchr; ++using _STLP_VENDOR_CSTD::wcscmp; ++using _STLP_VENDOR_CSTD::wcscoll; + +-using __STL_VENDOR_CSTD::wcscpy; +-using __STL_VENDOR_CSTD::wcscspn; ++using _STLP_VENDOR_CSTD::wcscpy; ++using _STLP_VENDOR_CSTD::wcscspn; + +-using __STL_VENDOR_CSTD::wcslen; +-using __STL_VENDOR_CSTD::wcsncat; +-using __STL_VENDOR_CSTD::wcsncmp; +-using __STL_VENDOR_CSTD::wcsncpy; +-using __STL_VENDOR_CSTD::wcspbrk; +-using __STL_VENDOR_CSTD::wcschr; ++using _STLP_VENDOR_CSTD::wcslen; ++using _STLP_VENDOR_CSTD::wcsncat; ++using _STLP_VENDOR_CSTD::wcsncmp; ++using _STLP_VENDOR_CSTD::wcsncpy; ++using _STLP_VENDOR_CSTD::wcspbrk; ++using _STLP_VENDOR_CSTD::wcschr; + +-using __STL_VENDOR_CSTD::wcsspn; +-using __STL_VENDOR_CSTD::wcsxfrm; ++using _STLP_VENDOR_CSTD::wcsspn; ++using _STLP_VENDOR_CSTD::wcsxfrm; + + # endif + +-# if !defined (__STL_WCHAR_BORLAND_EXCLUDE) ++# if !defined (_STLP_WCHAR_BORLAND_EXCLUDE) + +-using __STL_VENDOR_CSTD::wcstod; +-using __STL_VENDOR_CSTD::wcstol; ++using _STLP_VENDOR_CSTD::wcstod; ++using _STLP_VENDOR_CSTD::wcstol; + + # endif + +-# if !( defined (__STL_WCHAR_SUNPRO_EXCLUDE) || defined(__STL_WCHAR_HPACC_EXCLUDE) ) ++# if !( defined (_STLP_WCHAR_SUNPRO_EXCLUDE) || defined(_STLP_WCHAR_HPACC_EXCLUDE) ) + +-using __STL_VENDOR_CSTD::wcsstr; +-using __STL_VENDOR_CSTD::wmemchr; ++using _STLP_VENDOR_CSTD::wcsstr; ++using _STLP_VENDOR_CSTD::wmemchr; + +-# if !defined (__STL_WCHAR_BORLAND_EXCLUDE) ++# if !defined (_STLP_WCHAR_BORLAND_EXCLUDE) + +-using __STL_VENDOR_CSTD::wctob; +-using __STL_VENDOR_CSTD::wmemcmp; +-using __STL_VENDOR_CSTD::wmemmove; +-using __STL_VENDOR_CSTD::wprintf; +-using __STL_VENDOR_CSTD::wscanf; ++using _STLP_VENDOR_CSTD::wctob; ++using _STLP_VENDOR_CSTD::wmemcmp; ++using _STLP_VENDOR_CSTD::wmemmove; ++using _STLP_VENDOR_CSTD::wprintf; ++using _STLP_VENDOR_CSTD::wscanf; + + # endif + +-using __STL_VENDOR_CSTD::wmemcpy; +-using __STL_VENDOR_CSTD::wmemset; ++using _STLP_VENDOR_CSTD::wmemcpy; ++using _STLP_VENDOR_CSTD::wmemset; + # endif + +-# endif /* __STL_NO_NATIVE_WIDE_FUNCTIONS */ +-__STL_END_NAMESPACE +-# endif /* __STL_IMPORT_VENDOR_CSTD */ +- +-# undef __STL_WCHAR_SUNPRO_EXCLUDE +-# undef __STL_WCHAR_MSL_EXCLUDE ++# endif /* _STLP_NO_NATIVE_WIDE_FUNCTIONS */ ++_STLP_END_NAMESPACE ++# endif /* _STLP_IMPORT_VENDOR_CSTD */ + +-# endif /* WINCE */ ++# undef _STLP_WCHAR_SUNPRO_EXCLUDE ++# undef _STLP_WCHAR_MSL_EXCLUDE + +- +- +- +-#if !defined (__STL_NO_WCHAR_T) ++#if !defined (_STLP_NO_WCHAR_T) + # ifndef WCHAR_MIN + # define WCHAR_MIN 0 + // SUNpro has some bugs with casts. wchar_t is size of int there anyway. +-# ifdef __SUNPRO_CC ++# if defined (__SUNPRO_CC) || defined (__DJGPP) + # define WCHAR_MAX (~0) + # else + # define WCHAR_MAX ((wchar_t)~0) +@@ -254,14 +304,10 @@ + # endif + #endif + +-# if (__STL_OUTERMOST_HEADER_ID == 0x120) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x120) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __STLPORT_CWCHAR */ +- +-// Local Variables: +-// mode:C++ +-// End: ++#endif /* _STLP_CWCHAR */ + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cwctype tripwire-2.3.1-2/src/STLport-4.0/stlport/cwctype +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cwctype Sat Feb 24 10:44:22 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/cwctype Sun Aug 11 18:59:23 2002 +@@ -13,11 +13,11 @@ + * + */ + +-#ifndef __STLPORT_CWCTYPE +-# define __STLPORT_CWCTYPE ++#ifndef _STLP_CWCTYPE ++# define _STLP_CWCTYPE + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x121 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x121 + # include + # endif + +@@ -25,8 +25,8 @@ + # include + #endif + +-# if defined (__STL_USE_NEW_C_HEADERS) +-# include __STL_NATIVE_CPP_C_HEADER(cwctype) ++# if defined (_STLP_USE_NEW_C_HEADERS) ++# include _STLP_NATIVE_CPP_C_HEADER(cwctype) + # if defined (__MSL__) + namespace std { + typedef wchar_t wctrans_t; +@@ -34,47 +34,51 @@ + wctrans_t wctrans(const char *name); + } + # endif ++# elif defined(_STLP_WINCE) ++# include _STLP_NATIVE_C_HEADER(stdlib.h) + # else +-# include __STL_NATIVE_C_HEADER(wctype.h) ++# include _STLP_NATIVE_C_HEADER(wctype.h) + # endif + +-# ifdef __STL_IMPORT_VENDOR_CSTD +-__STL_BEGIN_NAMESPACE +-using __STL_VENDOR_CSTD::wctype_t; +-using __STL_VENDOR_CSTD::wint_t; +-# ifndef __STL_NO_CSTD_FUNCTION_IMPORTS ++# ifdef _STLP_IMPORT_VENDOR_CSTD ++_STLP_BEGIN_NAMESPACE ++using _STLP_VENDOR_CSTD::wctype_t; ++using _STLP_VENDOR_CSTD::wint_t; ++# ifndef _STLP_NO_CSTD_FUNCTION_IMPORTS + # if ! defined (__BORLANDC__) +-using __STL_VENDOR_CSTD::wctrans_t; +-using __STL_VENDOR_CSTD::towctrans; +-using __STL_VENDOR_CSTD::wctrans; +-using __STL_VENDOR_CSTD::wctype; +-using __STL_VENDOR_CSTD::iswctype; ++# if ! defined ( _STLP_HAS_NO_UNIX98_WCHAR_EXTENSIONS ) ++using _STLP_VENDOR_CSTD::wctrans_t; ++using _STLP_VENDOR_CSTD::towctrans; ++using _STLP_VENDOR_CSTD::wctrans; ++# endif ++using _STLP_VENDOR_CSTD::wctype; ++using _STLP_VENDOR_CSTD::iswctype; + # endif +-using __STL_VENDOR_CSTD::iswalnum; +-using __STL_VENDOR_CSTD::iswalpha; +-using __STL_VENDOR_CSTD::iswcntrl; +- +-using __STL_VENDOR_CSTD::iswdigit; +-using __STL_VENDOR_CSTD::iswgraph; +-using __STL_VENDOR_CSTD::iswlower; +-using __STL_VENDOR_CSTD::iswprint; +-using __STL_VENDOR_CSTD::iswpunct; +-using __STL_VENDOR_CSTD::iswspace; +-using __STL_VENDOR_CSTD::iswupper; +-using __STL_VENDOR_CSTD::iswxdigit; +- +-using __STL_VENDOR_CSTD::towlower; +-using __STL_VENDOR_CSTD::towupper; +-# endif /* __STL_NO_CSTD_FUNCTION_IMPORTS */ +-__STL_END_NAMESPACE +-#endif /* __STL_IMPORT_VENDOR_CSTD */ ++using _STLP_VENDOR_CSTD::iswalnum; ++using _STLP_VENDOR_CSTD::iswalpha; ++using _STLP_VENDOR_CSTD::iswcntrl; ++ ++using _STLP_VENDOR_CSTD::iswdigit; ++using _STLP_VENDOR_CSTD::iswgraph; ++using _STLP_VENDOR_CSTD::iswlower; ++using _STLP_VENDOR_CSTD::iswprint; ++using _STLP_VENDOR_CSTD::iswpunct; ++using _STLP_VENDOR_CSTD::iswspace; ++using _STLP_VENDOR_CSTD::iswupper; ++using _STLP_VENDOR_CSTD::iswxdigit; ++ ++using _STLP_VENDOR_CSTD::towlower; ++using _STLP_VENDOR_CSTD::towupper; ++# endif /* _STLP_NO_CSTD_FUNCTION_IMPORTS */ ++_STLP_END_NAMESPACE ++#endif /* _STLP_IMPORT_VENDOR_CSTD */ + +-# if (__STL_OUTERMOST_HEADER_ID == 0x121) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x121) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __STLPORT_CWCTYPE */ ++#endif /* _STLP_CWCTYPE */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/deque tripwire-2.3.1-2/src/STLport-4.0/stlport/deque +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/deque Sat Feb 24 10:44:22 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/deque Sun Aug 11 18:59:23 2002 +@@ -23,28 +23,28 @@ + * + */ + +-#ifndef __SGI_STL_DEQUE +-#define __SGI_STL_DEQUE ++#ifndef _STLP_DEQUE ++#define _STLP_DEQUE + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x22 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x22 + # include + # endif + +-#ifndef __SGI_STL_INTERNAL_DEQUE_H ++#ifndef _STLP_INTERNAL_DEQUE_H + # include + #endif + +-#if defined (__STL_WHOLE_NATIVE_STD) +-# include __STL_NATIVE_HEADER(deque) ++#if defined (_STLP_WHOLE_VENDOR_STD) ++# include _STLP_NATIVE_HEADER(deque) + #endif + +-# if (__STL_OUTERMOST_HEADER_ID == 0x22) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x22) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_DEQUE */ ++#endif /* _STLP_DEQUE */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/exception tripwire-2.3.1-2/src/STLport-4.0/stlport/exception +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/exception Sat Feb 24 10:44:22 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/exception Sun Aug 11 18:59:23 2002 +@@ -29,101 +29,123 @@ + // in , but it suffices to support a bare minimum of STL + // functionality. + +-# if !defined (__STL_OUTERMOST_HEADER_ID) +-# define __STL_OUTERMOST_HEADER_ID 0x423 ++# if !defined (_STLP_OUTERMOST_HEADER_ID) ++# define _STLP_OUTERMOST_HEADER_ID 0x423 + # include +-# elif (__STL_OUTERMOST_HEADER_ID == 0x423) && ! defined (__STL_DONT_POP_0x423) +-# define __STL_DONT_POP_0x423 ++# elif (_STLP_OUTERMOST_HEADER_ID == 0x423) && ! defined (_STLP_DONT_POP_0x423) ++# define _STLP_DONT_POP_0x423 + # endif + +-# if ! defined (__STL_NO_EXCEPTION_HEADER) ++# if ! defined (_STLP_NO_EXCEPTION_HEADER) + +-# if defined ( _UNCAUGHT_EXCEPTION ) +-# undef __STL_INCOMPLETE_EXCEPTION_HEADER +-# endif ++# if defined ( _UNCAUGHT_EXCEPTION ) ++# undef _STLP_INCOMPLETE_EXCEPTION_HEADER ++# endif + +-# if defined (__GNUC__) && (__GNUC_MINOR__ >= 8 ) +-# include <../include/exception> ++# if defined(_STLP_BROKEN_EXCEPTION_CLASS) ++# define exception _STLP_NULLIFIED_BROKEN_EXCEPTION_CLASS ++# define bad_exception _STLP_NULLIFIED_BROKEN_BAD_EXCEPTION_CLASS ++# if defined (_STLP_NO_NEW_NEW_HEADER) ++# include _STLP_NATIVE_CPP_RUNTIME_HEADER(Exception.h) + # else +-# include __STL_NATIVE_HEADER(exception) ++# include _STLP_NATIVE_CPP_RUNTIME_HEADER(Exception) + # endif ++# undef exception ++# undef bad_exception ++# else ++ ++# if defined (_STLP_NO_NEW_NEW_HEADER) ++# include _STLP_NATIVE_CPP_RUNTIME_HEADER(exception.h) ++# else ++# include _STLP_NATIVE_CPP_RUNTIME_HEADER(exception) ++# endif ++ ++# endif ++ ++# if defined (_STLP_MSVC) || defined (__ICL) + // dwa 02/04/00 - here I'm assuming that __ICL uses the same library headers as vc6. + // the header which ships with vc6 and is included by its native + // actually turns on warnings, so we have to turn them back off. +-# if defined (__STL_MSVC) || defined (__ICL) + # include + # endif + +-# ifndef __STL_EXCEPTION_BASE +-# define __STL_EXCEPTION_BASE __STL_VENDOR_EXCEPT_STD::exception ++# if !defined(_STLP_EXCEPTION_BASE) && !defined(_STLP_BROKEN_EXCEPTION_CLASS) ++# define _STLP_EXCEPTION_BASE _STLP_VENDOR_EXCEPT_STD::exception + # endif + +-# ifdef __STL_USE_OWN_NAMESPACE ++# ifdef _STLP_USE_OWN_NAMESPACE + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + +-using __STL_VENDOR_EXCEPT_STD::exception; +-using __STL_VENDOR_EXCEPT_STD::bad_exception; ++#if !defined(_STLP_BROKEN_EXCEPTION_CLASS) ++using _STLP_VENDOR_EXCEPT_STD::exception; ++using _STLP_VENDOR_EXCEPT_STD::bad_exception; ++#endif + +-# if ! defined (__STL_NO_USING_FOR_GLOBAL_FUNCTIONS) ++# if ! defined (_STLP_NO_USING_FOR_GLOBAL_FUNCTIONS) + + // fbp : many platforms present strange mix of + // those in various namespaces +-# if !defined(__STL_VENDOR_UNEXPECTED_STD) +-# define __STL_VENDOR_UNEXPECTED_STD __STL_VENDOR_EXCEPT_STD ++# if !defined(_STLP_VENDOR_UNEXPECTED_STD) ++# define _STLP_VENDOR_UNEXPECTED_STD _STLP_VENDOR_EXCEPT_STD + # endif + + // weird errors +-# ifndef __BORLANDC__ +-using __STL_VENDOR_UNEXPECTED_STD ::unexpected; +-using __STL_VENDOR_UNEXPECTED_STD ::unexpected_handler; +-using __STL_VENDOR_UNEXPECTED_STD ::set_unexpected; +-using __STL_VENDOR_UNEXPECTED_STD ::terminate; +-using __STL_VENDOR_UNEXPECTED_STD ::terminate_handler; +-using __STL_VENDOR_UNEXPECTED_STD ::set_terminate; ++# if (! defined (__BORLANDC__)) || (defined (__STD_EXCEPTION) && defined (__RWSTD_EXCEPTION_SEEN) && defined ( _STLP_DONT_POP_0x423)) ++using _STLP_VENDOR_UNEXPECTED_STD::unexpected; ++using _STLP_VENDOR_UNEXPECTED_STD::unexpected_handler; ++using _STLP_VENDOR_UNEXPECTED_STD::set_unexpected; ++using _STLP_VENDOR_UNEXPECTED_STD::terminate; ++using _STLP_VENDOR_UNEXPECTED_STD::terminate_handler; ++using _STLP_VENDOR_UNEXPECTED_STD::set_terminate; + # endif + +-# if !defined (__STL_INCOMPLETE_EXCEPTION_HEADER) +-using __STL_VENDOR_UNEXPECTED_STD::uncaught_exception; ++# if !defined (_STLP_INCOMPLETE_EXCEPTION_HEADER) ++using _STLP_VENDOR_UNEXPECTED_STD::uncaught_exception; + # endif + + # endif + +-__STL_END_NAMESPACE +- +-# endif /* __STL_OWN_NAMESPACE */ +- +-#else /* __STL_NO_EXCEPTION_HEADER */ ++_STLP_END_NAMESPACE + +-# ifndef __SGI_STL_EXCEPTION_H +-# define __SGI_STL_EXCEPTION_H ++# endif /* _STLP_OWN_NAMESPACE */ + +-__STL_BEGIN_NAMESPACE ++#else /* _STLP_NO_EXCEPTION_HEADER */ + +-// section 18.6 +- class exception; +- class bad_exception; +- + // fbp : absence of usually means that those + // functions are not going to be called by compiler. + // Still, define them for the user. +- typedef void (*unexpected_handler)(); +- unexpected_handler set_unexpected(unexpected_handler f) __STL_NOTHROW; +- void unexpected(); +- +- typedef void (*terminate_handler)(); +- terminate_handler set_terminate(terminate_handler f) __STL_NOTHROW; +- void terminate(); +- +- bool uncaught_exception(); // not implemented under mpw as of Jan/1999 ++typedef void (*unexpected_handler)(); ++unexpected_handler set_unexpected(unexpected_handler f) _STLP_NOTHROW_INHERENTLY; ++void unexpected(); ++ ++typedef void (*terminate_handler)(); ++terminate_handler set_terminate(terminate_handler f) _STLP_NOTHROW_INHERENTLY; ++void terminate(); ++ ++bool uncaught_exception(); // not implemented under mpw as of Jan/1999 ++ ++#endif /* _STLP_NO_EXCEPTION_HEADER */ ++ ++# if defined (_STLP_NO_EXCEPTION_HEADER) || defined(_STLP_BROKEN_EXCEPTION_CLASS) ++# ifndef _STLP_EXCEPTION_H ++# define _STLP_EXCEPTION_H ++ ++_STLP_BEGIN_NAMESPACE + + // section 18.6.1 + class exception + { + public: +- exception()__STL_NOTHROW {} +- virtual ~exception() __STL_NOTHROW {} +- virtual const char* what() const __STL_NOTHROW {return "class exception";} ++# ifdef _STLP_OWN_IOSTREAMS ++ exception() _STLP_NOTHROW; ++ virtual ~exception() _STLP_NOTHROW; ++ virtual const char* what() const _STLP_NOTHROW; ++# else ++ exception() _STLP_NOTHROW {} ++ virtual ~exception() _STLP_NOTHROW {} ++ virtual const char* what() const _STLP_NOTHROW {return "class exception";} ++# endif + }; + + +@@ -132,31 +154,40 @@ + class bad_exception : public exception + { + public: +- bad_exception() __STL_NOTHROW {} +- virtual ~bad_exception() __STL_NOTHROW {} +- virtual const char* what() const __STL_NOTHROW {return "class bad_exception";} ++# ifdef _STLP_OWN_IOSTREAMS ++ bad_exception() _STLP_NOTHROW; ++ ~bad_exception() _STLP_NOTHROW; ++ const char* what() const _STLP_NOTHROW; ++# else ++ bad_exception() _STLP_NOTHROW {} ++ ~bad_exception() _STLP_NOTHROW {} ++ const char* what() const _STLP_NOTHROW {return "class bad_exception";} ++# endif + }; + +-# define __STL_EXCEPTION_BASE exception ++# define _STLP_EXCEPTION_BASE exception + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-#endif /* __STL_NO_EXCEPTION_HEADER */ ++#endif /* _STLP_NO_EXCEPTION_HEADER */ + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + // forward declaration + class __Named_exception; +-__STL_END_NAMESPACE +-#endif /* __SGI_STL_EXCEPTION_H */ ++_STLP_END_NAMESPACE ++#endif /* _STLP_EXCEPTION_H */ + +-# if (__STL_OUTERMOST_HEADER_ID == 0x423) +-# if ! defined (__STL_DONT_POP_0x423) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x423) ++# if ! defined (_STLP_DONT_POP_0x423) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif +-# undef __STL_DONT_POP_0x423 ++# undef _STLP_DONT_POP_0x423 + # endif + + // Local Variables: + // mode:C++ + // End: ++ ++ ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/exception.h tripwire-2.3.1-2/src/STLport-4.0/stlport/exception.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/exception.h Sat Feb 24 10:44:22 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/exception.h Sun Aug 11 18:59:23 2002 +@@ -13,33 +13,33 @@ + * + */ + +-#ifndef __STLPORT_OLDSTD_exception +-# define __STLPORT_OLDSTD_exception ++#ifndef _STLP_OLDSTD_exception ++# define _STLP_OLDSTD_exception + +-# if !defined (__STL_OUTERMOST_HEADER_ID) +-# define __STL_OUTERMOST_HEADER_ID 0x824 ++# if !defined (_STLP_OUTERMOST_HEADER_ID) ++# define _STLP_OUTERMOST_HEADER_ID 0x824 + # include +-# elif (__STL_OUTERMOST_HEADER_ID == 0x824) && ! defined (__STL_DONT_POP_0x824) +-# define __STL_DONT_POP_0x824 ++# elif (_STLP_OUTERMOST_HEADER_ID == 0x824) && ! defined (_STLP_DONT_POP_0x824) ++# define _STLP_DONT_POP_0x824 + # endif + +-# if defined (__GNUC__) && (__GNUC_MINOR__ >= 8 ) +-# include <../include/exception.h> +-# elif defined (__BORLANDC__) ++# if defined (__BORLANDC__) + # include ++# elif defined (_MSC_VER) ++# include + # else +-# include __STL_NATIVE_HEADER(exception.h) ++# include _STLP_NATIVE_CPP_RUNTIME_HEADER(exception.h) + # endif + +-# if (__STL_OUTERMOST_HEADER_ID == 0x824) +-# if ! defined (__STL_DONT_POP_0x824) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x824) ++# if ! defined (_STLP_DONT_POP_0x824) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif +-# undef __STL_DONT_POP_0x824 ++# undef _STLP_DONT_POP_0x824 + # endif + +-#endif /* __STLPORT_OLDSTD_exception */ ++#endif /* _STLP_OLDSTD_exception */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/export tripwire-2.3.1-2/src/STLport-4.0/stlport/export +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/export Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/export Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,85 @@ ++./algorithm ++./bitset ++./cassert ++./cctype ++./cerrno ++./cfloat ++./climits ++./clocale ++./cmath ++./complex ++./csetjmp ++./csignal ++./cstdarg ++./cstddef ++./cstdio ++./cstdlib ++./cstring ++./ctime ++./ctype.h ++./cwchar ++./cwctype ++./deque ++./exception ++./exception.h ++./export ++./fstream ++./fstream.h ++./functional ++./hash_map ++./hash_set ++./iomanip ++./iomanip.h ++./ios ++./ios.h ++./iosfwd ++./iostream ++./iostream.h ++./istream ++./istream.h ++./iterator ++./limits ++./list ++./locale ++./locale.h ++./map ++./math.h ++./mem.h ++./memory ++./mmemory.h ++./new ++./new.h ++./numeric ++./ostream ++./ostream.h ++./pthread.h ++./pthread_alloc ++./queue ++./rope ++./set ++./setjmp.h ++./signal.h ++./slist ++./sstream ++./stack ++./stdarg.h ++./stddef.h ++./stdexcept ++./stdio.h ++./stdio_streambuf ++./stdlib.h ++./stl_user_config.h ++./streambuf ++./streambuf.h ++./string ++./string.h ++./strstream ++./strstream.h ++./time.h ++./typeinfo ++./typeinfo.h ++./utility ++./valarray ++./vector ++./wchar.h ++./wctype.h +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/export.sun tripwire-2.3.1-2/src/STLport-4.0/stlport/export.sun +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/export.sun Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/export.sun Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,48 @@ ++./algorithm.SUNWCCh ++./bitset.SUNWCCh ++./complex.SUNWCCh ++./deque.SUNWCCh ++./exception.SUNWCCh ++./fstream.SUNWCCh ++./fstream.h.SUNWCCh ++./functional.SUNWCCh ++./hash_map.SUNWCCh ++./hash_set.SUNWCCh ++./iomanip.SUNWCCh ++./iomanip.h.SUNWCCh ++./ios.SUNWCCh ++./ios.h.SUNWCCh ++./iosfwd.SUNWCCh ++./iostream.SUNWCCh ++./iostream.h.SUNWCCh ++./istream.SUNWCCh ++./istream.h.SUNWCCh ++./iterator.SUNWCCh ++./limits.SUNWCCh ++./list.SUNWCCh ++./locale.SUNWCCh ++./map.SUNWCCh ++./memory.SUNWCCh ++./new.SUNWCCh ++./numeric.SUNWCCh ++./ostream.SUNWCCh ++./ostream.h.SUNWCCh ++./pthread_alloc.SUNWCCh ++./queue.SUNWCCh ++./set.SUNWCCh ++./slist.SUNWCCh ++./sstream.SUNWCCh ++./stack.SUNWCCh ++./stdexcept.SUNWCCh ++./streambuf.SUNWCCh ++./streambuf.h.SUNWCCh ++./string.SUNWCCh ++./strstream.SUNWCCh ++./strstream.h.SUNWCCh ++./typeinfo.SUNWCCh ++./utility.SUNWCCh ++./valarray.SUNWCCh ++./vector.SUNWCCh ++ ++ ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/fstream tripwire-2.3.1-2/src/STLport-4.0/stlport/fstream +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/fstream Sat Feb 24 10:44:22 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/fstream Sun Aug 11 18:59:23 2002 +@@ -21,30 +21,35 @@ + // basic_ofstream, and basic_fstream. These classes represent + // streambufs and streams whose sources or destinations are files. + +-#ifndef __SGI_STL_FSTREAM +-#define __SGI_STL_FSTREAM ++#ifndef _STLP_FSTREAM ++#define _STLP_FSTREAM + +-# if defined(__sgi) && !defined(__GNUC__) && !defined(_STANDARD_C_PLUS_PLUS) +-# error New-style iostreams header files require the -LANG:std option +-# endif +- +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x1025 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x1025 + # include + # endif + +-# if defined (__SGI_STL_OWN_IOSTREAMS) ++# if defined (_STLP_OWN_IOSTREAMS) + # include +-# elif !defined(__STL_USE_NO_IOSTREAMS) ++ ++# ifndef __LOCALE_INITIALIZED ++# define __LOCALE_INITIALIZED ++_STLP_BEGIN_NAMESPACE ++// Global initializer object, to ensure construction of static objects. ++static ios_base::_Loc_init _LocInit; ++_STLP_END_NAMESPACE ++# endif ++ ++# elif !defined(_STLP_USE_NO_IOSTREAMS) + # include + # endif + +-# if (__STL_OUTERMOST_HEADER_ID == 0x1025) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x1025) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_FSTREAM */ ++#endif /* _STLP_FSTREAM */ + + + // Local Variables: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/fstream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/fstream.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/fstream.h Sat Feb 24 10:44:22 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/fstream.h Sun Aug 11 18:59:23 2002 +@@ -13,33 +13,43 @@ + * + */ + +-#ifndef __STLPORT_FSTREAM_H +-# define __STLPORT_FSTREAM_H ++#ifndef _STLP_FSTREAM_H ++# define _STLP_FSTREAM_H + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x2026 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x2026 + # include + # endif + +-# if defined (__SGI_STL_OWN_IOSTREAMS) ++# if defined (_STLP_OWN_IOSTREAMS) ++#ifdef __BORLANDC__ ++# include ++#else + # include ++#endif + // get desired pollution + # include + +-# ifndef __STL_HAS_NO_NAMESPACES ++# ifndef __LOCALE_INITIALIZED ++# define __LOCALE_INITIALIZED ++// Global initializer object, to ensure initialization of locale subsystem. ++static ios_base::_Loc_init _LocInit; ++# endif ++ ++# ifndef _STLP_HAS_NO_NAMESPACES + # include + # endif + +-# elif ! defined (__STL_USE_NO_IOSTREAMS) ++# elif ! defined (_STLP_USE_NO_IOSTREAMS) + # include + # endif + +-# if (__STL_OUTERMOST_HEADER_ID == 0x2026) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x2026) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __STLPORT_FSTREAM_H */ ++#endif /* _STLP_FSTREAM_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/functional tripwire-2.3.1-2/src/STLport-4.0/stlport/functional +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/functional Sat Feb 24 10:44:22 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/functional Sun Aug 11 18:59:23 2002 +@@ -16,28 +16,28 @@ + * + */ + +-#ifndef __SGI_STL_FUNCTIONAL +-#define __SGI_STL_FUNCTIONAL ++#ifndef _STLP_FUNCTIONAL ++#define _STLP_FUNCTIONAL + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x27 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x27 + # include + # endif + +-# if defined (__STL_IMPORT_VENDOR_STD) +-# include __STL_NATIVE_HEADER(functional) ++# if defined (_STLP_IMPORT_VENDOR_STD) ++# include _STLP_NATIVE_HEADER(functional) + # endif + +-# ifndef __STL_INTERNAL_FUNCTION_H ++# ifndef _STLP_INTERNAL_FUNCTION_H + # include + # endif + +-# if (__STL_OUTERMOST_HEADER_ID == 0x27) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x27) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_FUNCTIONAL */ ++#endif /* _STLP_FUNCTIONAL */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/hash_map tripwire-2.3.1-2/src/STLport-4.0/stlport/hash_map +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/hash_map Sat Feb 24 10:44:22 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/hash_map Sun Aug 11 18:59:23 2002 +@@ -16,25 +16,22 @@ + * + */ + +-#ifndef __SGI_STL_HASH_MAP +-#define __SGI_STL_HASH_MAP ++#ifndef _STLP_HASH_MAP ++#define _STLP_HASH_MAP + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x4028 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x4028 + # include + # endif + +-#ifndef __SGI_STL_INTERNAL_HASHTABLE_H +-#include +-#endif +- + #include +-# if (__STL_OUTERMOST_HEADER_ID == 0x4028) ++ ++# if (_STLP_OUTERMOST_HEADER_ID == 0x4028) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_HASH_MAP */ ++#endif /* _STLP_HASH_MAP */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/hash_set tripwire-2.3.1-2/src/STLport-4.0/stlport/hash_set +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/hash_set Sat Feb 24 10:44:22 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/hash_set Sun Aug 11 18:59:23 2002 +@@ -16,26 +16,22 @@ + * + */ + +-#ifndef __SGI_STL_HASH_SET +-#define __SGI_STL_HASH_SET ++#ifndef _STLP_HASH_SET ++#define _STLP_HASH_SET + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x4029 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x4029 + # include + # endif + +-#ifndef __SGI_STL_INTERNAL_HASHTABLE_H +-#include +-#endif ++#include + +-# if (__STL_OUTERMOST_HEADER_ID == 0x4029) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x4029) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#include +- +-#endif /* __SGI_STL_HASH_SET */ ++#endif /* _STLP_HASH_SET */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/iomanip tripwire-2.3.1-2/src/STLport-4.0/stlport/iomanip +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/iomanip Sat Feb 24 10:44:23 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/iomanip Sun Aug 11 18:59:23 2002 +@@ -16,23 +16,19 @@ + * + */ + +-#ifndef __SGI_STL_IOMANIP +-#define __SGI_STL_IOMANIP ++#ifndef _STLP_IOMANIP ++#define _STLP_IOMANIP + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x1030 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x1030 + # include + # endif + +-# if defined ( __SGI_STL_OWN_IOSTREAMS ) ++# if defined ( _STLP_OWN_IOSTREAMS ) + +-# if defined(__sgi) && !defined(__GNUC__) && !defined(_STANDARD_C_PLUS_PLUS) +-# error This header file requires the -LANG:std option +-# endif ++# include // Includes and + +-# include // Includes and +- +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + //---------------------------------------------------------------------- + // Machinery for defining manipulators. +@@ -78,7 +74,7 @@ + + + template +-inline basic_istream<_CharT, _Traits>& __STL_CALL ++inline basic_istream<_CharT, _Traits>& _STLP_CALL + operator>>(basic_istream<_CharT, _Traits>& __in, + const _Ios_Manip_1<_Arg>& __f) + { +@@ -87,7 +83,7 @@ + } + + template +-inline basic_ostream<_CharT, _Traits>& __STL_CALL ++inline basic_ostream<_CharT, _Traits>& _STLP_CALL + operator<<(basic_ostream<_CharT, _Traits>& __os, + const _Ios_Manip_1<_Arg>& __f) + { +@@ -96,7 +92,7 @@ + } + + template +-inline basic_istream<_CharT, _Traits>& __STL_CALL ++inline basic_istream<_CharT, _Traits>& _STLP_CALL + operator>>(basic_istream<_CharT, _Traits>& __in, const _Ios_Setf_Manip& __f) + { + __f(__in); +@@ -104,7 +100,7 @@ + } + + template +-inline basic_ostream<_CharT, _Traits>& __STL_CALL ++inline basic_ostream<_CharT, _Traits>& _STLP_CALL + operator<<(basic_ostream<_CharT, _Traits>& __os, const _Ios_Setf_Manip& __f) + + { +@@ -115,15 +111,15 @@ + //---------------------------------------------------------------------- + // The ios_base manipulators. + +-inline _Ios_Setf_Manip __STL_CALL resetiosflags(ios_base::fmtflags __mask) { ++inline _Ios_Setf_Manip _STLP_CALL resetiosflags(ios_base::fmtflags __mask) { + return _Ios_Setf_Manip(0, __mask); + } + +-inline _Ios_Setf_Manip __STL_CALL setiosflags(ios_base::fmtflags __flag) { ++inline _Ios_Setf_Manip _STLP_CALL setiosflags(ios_base::fmtflags __flag) { + return _Ios_Setf_Manip(__flag); + } + +-inline _Ios_Setf_Manip __STL_CALL setbase(int __n) { ++inline _Ios_Setf_Manip _STLP_CALL setbase(int __n) { + ios_base::fmtflags __base = __n == 8 ? ios_base::oct : + __n == 10 ? ios_base::dec : + __n == 16 ? ios_base::hex : +@@ -131,24 +127,15 @@ + return _Ios_Setf_Manip(__base, ios_base::basefield); + } + +-inline _Ios_Manip_1 __STL_CALL ++inline _Ios_Manip_1 _STLP_CALL + setprecision(int __n) { +- //*TY 02/24/2000 - mpw compilers have difficulty resolving overloaded function when assigning a pointer to function +-#if !(defined(__MRC__) || defined(__SC__)) + _Ios_Manip_1::__f_ptr_type __f = &ios_base::precision; +-#else +- _Ios_Manip_1::__f_ptr_type __f = &ios_base::_PRECISION; +-#endif + return _Ios_Manip_1(__f, __n); + } + +-inline _Ios_Manip_1 __STL_CALL ++inline _Ios_Manip_1 _STLP_CALL + setw(int __n) { +-#if !(defined(__MRC__) || defined(__SC__)) +- _Ios_Manip_1::__f_ptr_type __f = &ios_base::width; +-#else +- _Ios_Manip_1::__f_ptr_type __f = &ios_base::_WIDTH; +-#endif ++ _Ios_Manip_1::__f_ptr_type __f = &ios_base::width; + return _Ios_Manip_1(__f, __n); + } + +@@ -162,7 +149,7 @@ + }; + + template +-inline basic_ostream<_CharT, _Traits>& __STL_CALL ++inline basic_ostream<_CharT, _Traits>& _STLP_CALL + operator<<(basic_ostream<_CharT, _Traits>& __os, + const _Setfill_Manip<_CharT2>& __m) + { +@@ -170,24 +157,33 @@ + return __os; + } + ++template ++inline basic_istream<_CharT, _Traits>& _STLP_CALL ++operator>>(basic_istream<_CharT, _Traits>& __is, ++ const _Setfill_Manip<_CharT2>& __m) ++{ ++ __is.fill(__m._M_c); ++ return __is; ++} ++ + template +-inline _Setfill_Manip<_CharT> __STL_CALL ++inline _Setfill_Manip<_CharT> _STLP_CALL + setfill(_CharT __c) { + return _Setfill_Manip<_CharT>(__c); + } + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-# elif !defined (__STL_USE_NO_IOSTREAMS) ++# elif !defined (_STLP_USE_NO_IOSTREAMS) + # include + # endif + +-# if (__STL_OUTERMOST_HEADER_ID == 0x1030) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x1030) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_IOMANIP */ ++#endif /* _STLP_IOMANIP */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/iomanip.h tripwire-2.3.1-2/src/STLport-4.0/stlport/iomanip.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/iomanip.h Sat Feb 24 10:44:23 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/iomanip.h Sun Aug 11 18:59:23 2002 +@@ -13,49 +13,56 @@ + * + */ + +-#ifndef __STLPORT_IOMANIP_H +-# define __STLPORT_IOMANIP_H ++#ifndef _STLP_IOMANIP_H ++# define _STLP_IOMANIP_H + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x2031 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x2031 + # include + # endif + +-# if defined ( __SGI_STL_OWN_IOSTREAMS ) ++# if defined ( _STLP_OWN_IOSTREAMS ) + ++#ifdef __BORLANDC__ ++# include ++#else + # include ++#endif + +-# ifndef __STL_HAS_NO_NAMESPACES +-# ifdef __STL_BROKEN_USING_DIRECTIVE +-using namespace __STLPORT_STD; ++# ifndef _STLP_HAS_NO_NAMESPACES ++# ifdef _STLP_BROKEN_USING_DIRECTIVE ++using namespace _STLP_STD; + # else +-using __STLPORT_STD::setiosflags; +-using __STLPORT_STD::resetiosflags; +-using __STLPORT_STD::setbase; +-using __STLPORT_STD::setfill; +-using __STLPORT_STD::setprecision; +-using __STLPORT_STD::setw; ++using _STLP_STD::setiosflags; ++using _STLP_STD::resetiosflags; ++using _STLP_STD::setbase; ++using _STLP_STD::setfill; ++using _STLP_STD::setprecision; ++using _STLP_STD::setw; + # endif +-# endif /* __STL_HAS_NO_NAMESPACES */ ++# endif /* _STLP_HAS_NO_NAMESPACES */ + +-# elif !defined (__STL_USE_NO_IOSTREAMS) ++// get all the pollution we want ++# include + +-# include __STL_NATIVE_OLD_STREAMS_HEADER(iomanip.h) ++# elif !defined (_STLP_USE_NO_IOSTREAMS) + +-# if defined (__STL_USE_NAMESPACES) && ! defined (__STL_BROKEN_USING_DIRECTIVE) +-__STL_BEGIN_NAMESPACE ++# include _STLP_NATIVE_OLD_STREAMS_HEADER(iomanip.h) ++ ++# if defined (_STLP_USE_NAMESPACES) && ! defined (_STLP_BROKEN_USING_DIRECTIVE) ++_STLP_BEGIN_NAMESPACE + # include +-__STL_END_NAMESPACE +-# endif /* __STL_USE_NAMESPACES */ ++_STLP_END_NAMESPACE ++# endif /* _STLP_USE_NAMESPACES */ + + # endif + +-# if (__STL_OUTERMOST_HEADER_ID == 0x2031) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x2031) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __STLPORT_IOMANIP_H */ ++#endif /* _STLP_IOMANIP_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/ios tripwire-2.3.1-2/src/STLport-4.0/stlport/ios +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/ios Sat Feb 24 10:44:23 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/ios Sun Aug 11 18:59:23 2002 +@@ -16,26 +16,26 @@ + * + */ + +-#ifndef __SGI_STL_IOS +-#define __SGI_STL_IOS ++#ifndef _STLP_IOS ++#define _STLP_IOS + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x1032 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x1032 + # include + # endif + +-# if defined ( __SGI_STL_OWN_IOSTREAMS ) ++# if defined ( _STLP_OWN_IOSTREAMS ) + # include +-# elif !defined (__STL_USE_NO_IOSTREAMS) ++# elif !defined (_STLP_USE_NO_IOSTREAMS) + # include + # endif + +-# if (__STL_OUTERMOST_HEADER_ID == 0x1032) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x1032) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_IOS */ ++#endif /* _STLP_IOS */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/ios.h tripwire-2.3.1-2/src/STLport-4.0/stlport/ios.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/ios.h Sat Feb 24 10:44:23 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/ios.h Sun Aug 11 18:59:23 2002 +@@ -13,39 +13,43 @@ + * + */ + +-#ifndef __STLPORT_IOS_H +-# define __STLPORT_IOS_H ++#ifndef _STLP_IOS_H ++# define _STLP_IOS_H + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x1033 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x1033 + # include + # endif + +-# if defined (__SGI_STL_OWN_IOSTREAMS) ++# if defined (_STLP_OWN_IOSTREAMS) + ++#ifdef __BORLANDC__ ++# include ++#else + # include ++#endif + +-# if defined (__STL_USE_NAMESPACES) ++# if defined (_STLP_USE_NAMESPACES) + # include + # endif + +-# elif !defined (__STL_USE_NO_IOSTREAMS) ++# elif !defined (_STLP_USE_NO_IOSTREAMS) + +-# include __STL_NATIVE_OLD_STREAMS_HEADER(ios.h) +-# if defined (__STL_USE_NAMESPACES) && !defined (__STL_BROKEN_USING_DIRECTIVE) +-__STL_BEGIN_NAMESPACE +-using __STL_OLD_IO_NAMESPACE::ios; +-__STL_END_NAMESPACE +-# endif /* __STL_USE_OWN_NAMESPACE */ ++# include _STLP_NATIVE_OLD_STREAMS_HEADER(ios.h) ++# if defined (_STLP_USE_NAMESPACES) && !defined (_STLP_BROKEN_USING_DIRECTIVE) ++_STLP_BEGIN_NAMESPACE ++using _STLP_OLD_IO_NAMESPACE::ios; ++_STLP_END_NAMESPACE ++# endif /* _STLP_USE_OWN_NAMESPACE */ + + # endif + +-# if (__STL_OUTERMOST_HEADER_ID == 0x1033) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x1033) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __STLPORT_IOS_H */ ++#endif /* _STLP_IOS_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/iosfwd tripwire-2.3.1-2/src/STLport-4.0/stlport/iosfwd +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/iosfwd Sat Feb 24 10:44:23 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/iosfwd Sun Aug 11 18:59:23 2002 +@@ -16,42 +16,42 @@ + * + */ + +-#ifndef __SGI_STL_IOSFWD +-#define __SGI_STL_IOSFWD ++#ifndef _STLP_IOSFWD ++#define _STLP_IOSFWD + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x1034 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x1034 + # include + # endif + +-#if defined(__sgi) && !defined(__GNUC__) && !defined(_STANDARD_C_PLUS_PLUS) +-#error This header file requires the -LANG:std option +-#endif ++# if defined (_STLP_OWN_IOSTREAMS) + +-# if defined (__SGI_STL_OWN_IOSTREAMS) ++# if defined (_STLP_HAS_WCHAR_T) && !defined (_STLP_CWCHAR) ++# include ++# endif + + # include + +-# elif defined (__STL_USE_NO_IOSTREAMS) ++# elif defined (_STLP_USE_NO_IOSTREAMS) + + # include + + # else + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + template class allocator; +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + + # include + + # endif + +-# if (__STL_OUTERMOST_HEADER_ID == 0x1034) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x1034) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_IOSFWD */ ++#endif /* _STLP_IOSFWD */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/iostream tripwire-2.3.1-2/src/STLport-4.0/stlport/iostream +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/iostream Sat Feb 24 10:44:23 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/iostream Sun Aug 11 18:59:23 2002 +@@ -16,25 +16,29 @@ + * + */ + +-#ifndef __SGI_STL_IOSTREAM +-#define __SGI_STL_IOSTREAM ++#ifndef _STLP_IOSTREAM ++#define _STLP_IOSTREAM + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID ZZ ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x1037 + # include + # endif + +-#if defined(__sgi) && !defined(__GNUC__) && !defined(_STANDARD_C_PLUS_PLUS) +-#error This header file requires the -LANG:std option +-#endif ++# if defined (_STLP_OWN_IOSTREAMS) + +-# if defined (__SGI_STL_OWN_IOSTREAMS) ++#include ++#include + +-#include +-#include +-#include ++_STLP_BEGIN_NAMESPACE + +-__STL_BEGIN_NAMESPACE ++#ifndef _STLP_USE_NAMESPACES ++// in case of SGI iostreams, we have to rename our streams not to clash with those ++// provided in native lib ++# define cin _STLP_cin ++# define cout _STLP_cout ++# define cerr _STLP_cerr ++# define clog _STLP_clog ++#endif + + // Note: cin and wcin are both associated with stdio. The C standard + // (Amendment 1, section 4.6.2.1) says that it is an error to mix +@@ -43,27 +47,33 @@ + // program; the same applies to cout and wcout, and cerr/clog and + // wcerr/wclog. + +-extern __STL_DECLSPEC istream cin; +-extern __STL_DECLSPEC ostream cout; +-extern __STL_DECLSPEC ostream cerr; +-extern __STL_DECLSPEC ostream clog; +- +-# ifndef __STL_NO_WCHAR_T +-extern __STL_DECLSPEC wistream wcin; +-extern __STL_DECLSPEC wostream wcout; +-extern __STL_DECLSPEC wostream wcerr; +-extern __STL_DECLSPEC wostream wclog; ++extern _STLP_DECLSPEC istream cin; ++extern _STLP_DECLSPEC ostream cout; ++extern _STLP_DECLSPEC ostream cerr; ++extern _STLP_DECLSPEC ostream clog; ++ ++# ifndef _STLP_NO_WCHAR_T ++extern _STLP_DECLSPEC wistream wcin; ++extern _STLP_DECLSPEC wostream wcout; ++extern _STLP_DECLSPEC wostream wcerr; ++extern _STLP_DECLSPEC wostream wclog; ++# endif ++ ++# ifndef __LOCALE_INITIALIZED ++# define __LOCALE_INITIALIZED ++// Global initializer object, to ensure initialization of locale subsystem. ++static ios_base::_Loc_init _LocInit; + # endif + + # ifndef __IOS_BASE_INITIALIZED + # define __IOS_BASE_INITIALIZED + // Global initializer object, to ensure construction of static objects. +-static ios_base::Init __initializer; ++static ios_base::Init _IosInit; + # endif + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-# elif defined ( __STL_USE_NO_IOSTREAMS ) ++# elif defined ( _STLP_USE_NO_IOSTREAMS ) + # include + # else + +@@ -71,12 +81,12 @@ + + # endif /* STL_USE_NO_IOSTREAMS */ + +-# if (__STL_OUTERMOST_HEADER_ID == ZZ) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x1037) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_IOSTREAM */ ++#endif /* _STLP_IOSTREAM */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/iostream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/iostream.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/iostream.h Sat Feb 24 10:44:23 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/iostream.h Sun Aug 11 18:59:23 2002 +@@ -13,45 +13,48 @@ + * + */ + +-#ifndef __STLPORT_IOSTREAM_H +-# define __STLPORT_IOSTREAM_H ++#ifndef _STLP_IOSTREAM_H ++# define _STLP_IOSTREAM_H + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x2035 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x2035 + # include + # endif + +-# ifdef __SGI_STL_OWN_IOSTREAMS ++# ifdef _STLP_OWN_IOSTREAMS + ++#ifdef __BORLANDC__ ++# include ++#else + # include ++#endif + + // Those should be included all separately, as they do contain using declarations + # include + # include + # include + ++# ifndef _STLP_HAS_NO_NAMESPACES + +-# ifndef __STL_HAS_NO_NAMESPACES +- +-# ifdef __STL_BROKEN_USING_DIRECTIVE +-using namespace __STLPORT_STD; ++# ifdef _STLP_BROKEN_USING_DIRECTIVE ++using namespace _STLP_STD; + # else +-using __STLPORT_STD::cin; +-using __STLPORT_STD::cout; +-using __STLPORT_STD::clog; +-using __STLPORT_STD::cerr; +-using __STLPORT_STD::iostream; +- +-# ifndef __STL_NO_WCHAR_T +-using __STLPORT_STD::wcin; +-using __STLPORT_STD::wcout; +-using __STLPORT_STD::wclog; +-using __STLPORT_STD::wcerr; ++using _STLP_STD::cin; ++using _STLP_STD::cout; ++using _STLP_STD::clog; ++using _STLP_STD::cerr; ++using _STLP_STD::iostream; ++ ++# ifndef _STLP_NO_WCHAR_T ++using _STLP_STD::wcin; ++using _STLP_STD::wcout; ++using _STLP_STD::wclog; ++using _STLP_STD::wcerr; + # endif + + # endif + +-# endif /* __STL_HAS_NO_NAMESPACES */ ++# endif /* _STLP_HAS_NO_NAMESPACES */ + + // Obsolete classes for old-style backwards compatibility + +@@ -100,16 +103,16 @@ + } + } ; + +-# elif ! defined (__STL_USE_NO_IOSTREAMS) ++# elif ! defined (_STLP_USE_NO_IOSTREAMS) + # include + # endif + +-# if (__STL_OUTERMOST_HEADER_ID == 0x2035) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x2035) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __STLPORT_IOSTREAM_H */ ++#endif /* _STLP_IOSTREAM_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/istream tripwire-2.3.1-2/src/STLport-4.0/stlport/istream +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/istream Sat Feb 24 10:44:23 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/istream Sun Aug 11 18:59:23 2002 +@@ -16,37 +16,33 @@ + * + */ + +-#ifndef __SGI_STL_ISTREAM +-#define __SGI_STL_ISTREAM ++#ifndef _STLP_ISTREAM ++#define _STLP_ISTREAM + +-#if defined(__sgi) && !defined(__GNUC__) && !defined(_STANDARD_C_PLUS_PLUS) +-#error This header file requires the -LANG:std option +-#endif +- +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x1036 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x1036 + # include + # endif + +-# if defined (__SGI_STL_OWN_IOSTREAMS) ++# if defined (_STLP_OWN_IOSTREAMS) + + // boris : apparently, needed to resolve some + // circular dependancies +-# include ++// # include + # include + +-# elif !defined(__STL_USE_NO_IOSTREAMS) ++# elif !defined(_STLP_USE_NO_IOSTREAMS) + + # include + + # endif + +-# if (__STL_OUTERMOST_HEADER_ID == 0x1036) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x1036) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_ISTREAM */ ++#endif /* _STLP_ISTREAM */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/istream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/istream.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/istream.h Sat Feb 24 10:44:23 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/istream.h Sun Aug 11 18:59:23 2002 +@@ -13,50 +13,51 @@ + * + */ + +-#ifndef __STLPORT_ISTREAM_H +-# define __STLPORT_ISTREAM_H ++#ifndef _STLP_ISTREAM_H ++# define _STLP_ISTREAM_H + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x2037 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x2037 + # include + # endif + +-# if defined (__SGI_STL_OWN_IOSTREAMS) ++# if defined (_STLP_OWN_IOSTREAMS) + + # include + +-# ifndef __STL_HAS_NO_NAMESPACES +-# ifdef __STL_BROKEN_USING_DIRECTIVE +-using namespace __STLPORT_STD; ++# ifndef _STLP_HAS_NO_NAMESPACES ++# ifdef _STLP_BROKEN_USING_DIRECTIVE ++using namespace _STLP_STD; + # else +-using __STLPORT_STD::basic_istream; +-using __STLPORT_STD::basic_iostream; +-using __STLPORT_STD::istream; +-using __STLPORT_STD::iostream; +-# ifndef __STL_NO_WCHAR_T +-using __STLPORT_STD::wistream; +-using __STLPORT_STD::wiostream; ++using _STLP_STD::basic_istream; ++using _STLP_STD::basic_iostream; ++using _STLP_STD::istream; ++using _STLP_STD::iostream; ++using _STLP_STD::ios; ++# ifndef _STLP_NO_WCHAR_T ++using _STLP_STD::wistream; ++using _STLP_STD::wiostream; + # endif +-using __STLPORT_STD::ws; ++using _STLP_STD::ws; + # endif + # endif + +-# elif !defined (__STL_USE_NO_IOSTREAMS) ++# elif !defined (_STLP_USE_NO_IOSTREAMS) + +-# include __STL_NATIVE_OLD_STREAMS_HEADER(istream.h) ++# include _STLP_NATIVE_OLD_STREAMS_HEADER(istream.h) + +-# if defined (__STL_USE_NAMESPACES) && !defined (__STL_BROKEN_USING_DIRECTIVE) +-__STL_BEGIN_NAMESPACE +-using __STL_OLD_IO_NAMESPACE::istream; +-__STL_END_NAMESPACE +-# endif /* __STL_USE_OWN_NAMESPACE */ ++# if defined (_STLP_USE_NAMESPACES) && !defined (_STLP_BROKEN_USING_DIRECTIVE) ++_STLP_BEGIN_NAMESPACE ++using _STLP_OLD_IO_NAMESPACE::istream; ++_STLP_END_NAMESPACE ++# endif /* _STLP_USE_OWN_NAMESPACE */ + +-# endif /* __SGI_STL_OWN_IOSTREAMS */ ++# endif /* _STLP_OWN_IOSTREAMS */ + +-# if (__STL_OUTERMOST_HEADER_ID == 0x2037) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x2037) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __STLPORT_ISTREAM_H */ ++#endif /* _STLP_ISTREAM_H */ + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/iterator tripwire-2.3.1-2/src/STLport-4.0/stlport/iterator +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/iterator Sat Feb 24 10:44:23 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/iterator Sun Aug 11 18:59:23 2002 +@@ -23,32 +23,32 @@ + * + */ + +-#ifndef __SGI_STL_ITERATOR +-#define __SGI_STL_ITERATOR ++#ifndef _STLP_ITERATOR ++#define _STLP_ITERATOR + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x38 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x38 + # include + # endif + +-# ifndef __SGI_STL_INTERNAL_ITERATOR_H ++#if defined (_STLP_IMPORT_VENDOR_STD) ++# include _STLP_NATIVE_HEADER(iterator) ++#endif /* IMPORT */ ++ ++# ifndef _STLP_INTERNAL_ITERATOR_H + # include + # endif + +-# ifndef __SGI_STL_INTERNAL_STREAM_ITERATOR_H ++# ifndef _STLP_INTERNAL_STREAM_ITERATOR_H + # include + # endif + +-#if defined (__STL_IMPORT_VENDOR_STD) +-# include __STL_NATIVE_HEADER(iterator) +-#endif /* IMPORT */ +- +-# if (__STL_OUTERMOST_HEADER_ID == 0x38) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x38) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_ITERATOR */ ++#endif /* _STLP_ITERATOR */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/limits tripwire-2.3.1-2/src/STLport-4.0/stlport/limits +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/limits Sat Feb 24 10:44:23 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/limits Sun Aug 11 18:59:23 2002 +@@ -16,38 +16,24 @@ + * + */ + +-#ifndef __STLPORT_LIMITS +-#define __STLPORT_LIMITS ++#ifndef _STLP_LIMITS ++#define _STLP_LIMITS + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x39 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x39 + # include + # endif + +-#ifndef __STLPORT_CLIMITS +-# include +-#endif +- +-#ifndef __STLPORT_CFLOAT +-# include +-#endif +- +-#if !defined (__STL_NO_WCHAR_T) +-# include +-#endif +- +-# include +- +-# ifdef __STL_WHOLE_NATIVE_STD +-# include __STL_NATIVE_HEADER(limits) ++# ifndef _STLP_LIMITS_H ++# include + # endif + +-# if (__STL_OUTERMOST_HEADER_ID == 0x39) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x39) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_CPP_LIMITS */ ++#endif /* _STLP_LIMITS */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/list tripwire-2.3.1-2/src/STLport-4.0/stlport/list +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/list Sat Feb 24 10:44:23 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/list Sun Aug 11 18:59:23 2002 +@@ -23,28 +23,28 @@ + * + */ + +-#ifndef __SGI_STL_LIST +-#define __SGI_STL_LIST ++#ifndef _STLP_LIST ++#define _STLP_LIST + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x40 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x40 + # include + # endif + +-#ifndef __SGI_STL_INTERNAL_LIST_H ++#ifndef _STLP_INTERNAL_LIST_H + # include + #endif + +-#if defined (__STL_WHOLE_NATIVE_STD) +-# include __STL_NATIVE_HEADER(list) +-# endif ++#if defined (_STLP_WHOLE_VENDOR_STD) ++# include _STLP_NATIVE_HEADER(list) ++#endif + +-# if (__STL_OUTERMOST_HEADER_ID == 0x40) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x40) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_LIST */ ++#endif /* _STLP_LIST */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/locale tripwire-2.3.1-2/src/STLport-4.0/stlport/locale +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/locale Sat Feb 24 10:44:23 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/locale Sun Aug 11 18:59:23 2002 +@@ -15,35 +15,48 @@ + * modified is included with the above copyright notice. + * + */ +-#ifndef __SGI_STL_LOCALE +-#define __SGI_STL_LOCALE ++#ifndef _STLP_LOCALE ++#define _STLP_LOCALE + + // Basic framework: class locale and class locale::facet + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x1041 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x1041 + # include + # endif + +-# if defined (__SGI_STL_OWN_IOSTREAMS) +- +-#include +- +-#include // Some facets need basic_ios and/or ios_base +-#include // Needed by +-#include // Needed for [io]streambuf_iterator +-#include // Needed by numeric facets +-#include // Needed (for struct tm) by time facets ++# if defined (_STLP_OWN_IOSTREAMS) + + // Individual facets ++#ifndef _STLP_INTERNAL_CTYPE_H + #include ++#endif ++#ifndef _STLP_INTERNAL_CODECVT_H + #include ++#endif ++#ifndef _STLP_INTERNAL_COLLATE_H + #include +-#include ++#endif ++#ifndef _STLP_INTERNAL_NUM_PUT_H ++# include ++#endif ++ ++#ifndef _STLP_INTERNAL_NUM_GET_H ++# include ++#endif ++ ++// those never included separately anyway + #include + #include + #include + ++// some stuff for streambuf iterators ended up defined there ++// Strictly speaking, _istream.h portion is only required for , but it may break too many ++// programs if we omit it ++#ifndef _STLP_ISTREAM_H ++# include ++#endif ++ + // Convenience interfaces + #undef isspace + #undef isprint +@@ -59,7 +72,7 @@ + #undef toupper + #undef tolower + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + template + inline bool isspace (_CharT c, const locale& loc) { +@@ -126,24 +139,24 @@ + return (use_facet >(loc)).tolower(c); + } + +-# ifndef __IOS_BASE_INITIALIZED +-# define __IOS_BASE_INITIALIZED +-// Global initializer object, to ensure construction of static objects. +-static ios_base::Init __initializer; ++# ifndef __LOCALE_INITIALIZED ++# define __LOCALE_INITIALIZED ++// Global initializer object, to ensure initialization of locale subsystem. ++static ios_base::_Loc_init _LocInit; + # endif + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-# elif !defined (__STL_USE_NO_IOSTREAMS) ++# elif !defined (_STLP_USE_NO_IOSTREAMS) + # include + # endif + +-# if (__STL_OUTERMOST_HEADER_ID == 0x1041) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x1041) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_LOCALE */ ++#endif /* _STLP_LOCALE */ + + + // Local Variables: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/locale.h tripwire-2.3.1-2/src/STLport-4.0/stlport/locale.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/locale.h Sat Feb 24 10:44:23 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/locale.h Sun Aug 11 18:59:23 2002 +@@ -13,21 +13,21 @@ + * + */ + +-# if !defined (__STL_OUTERMOST_HEADER_ID) +-# define __STL_OUTERMOST_HEADER_ID 0x242 ++# if !defined (_STLP_OUTERMOST_HEADER_ID) ++# define _STLP_OUTERMOST_HEADER_ID 0x242 + # include +-# elif (__STL_OUTERMOST_HEADER_ID == 0x242) && ! defined (__STL_DONT_POP_0x242) +-# define __STL_DONT_POP_0x242 ++# elif (_STLP_OUTERMOST_HEADER_ID == 0x242) && ! defined (_STLP_DONT_POP_0x242) ++# define _STLP_DONT_POP_0x242 + # endif + +-# include __STL_NATIVE_C_HEADER(locale.h) ++# include _STLP_NATIVE_C_HEADER(locale.h) + +-# if (__STL_OUTERMOST_HEADER_ID == 0x242) +-# if ! defined (__STL_DONT_POP_0x242) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x242) ++# if ! defined (_STLP_DONT_POP_0x242) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif +-# undef __STL_DONT_POP_0x242 ++# undef _STLP_DONT_POP_0x242 + # endif + + // Local Variables: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/map tripwire-2.3.1-2/src/STLport-4.0/stlport/map +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/map Sat Feb 24 10:44:23 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/map Sun Aug 11 18:59:23 2002 +@@ -23,30 +23,26 @@ + * + */ + +-#ifndef __SGI_STL_MAP +-#define __SGI_STL_MAP ++#ifndef _STLP_MAP ++#define _STLP_MAP + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x43 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x43 + # include + # endif + +-#ifndef __SGI_STL_INTERNAL_TREE_H +-#include +-#endif +- + #include + +-#if defined (__STL_WHOLE_NATIVE_STD) +-# include __STL_NATIVE_HEADER(map) ++#if defined (_STLP_WHOLE_VENDOR_STD) ++# include _STLP_NATIVE_HEADER(map) + #endif + +-# if (__STL_OUTERMOST_HEADER_ID == 0x43) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x43) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_MAP */ ++#endif /* _STLP_MAP */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/math.h tripwire-2.3.1-2/src/STLport-4.0/stlport/math.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/math.h Sat Feb 24 10:44:23 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/math.h Sun Aug 11 18:59:23 2002 +@@ -13,29 +13,32 @@ + * + */ + +-# if !defined (__STL_OUTERMOST_HEADER_ID) +-# define __STL_OUTERMOST_HEADER_ID 0x244 ++# if !defined (_STLP_OUTERMOST_HEADER_ID) ++# define _STLP_OUTERMOST_HEADER_ID 0x244 + # include +-# elif (__STL_OUTERMOST_HEADER_ID == 0x244) && ! defined (__STL_DONT_POP_0x244) +-# define __STL_DONT_POP_0x244 ++# elif (_STLP_OUTERMOST_HEADER_ID == 0x244) && ! defined (_STLP_DONT_POP_0x244) ++# define _STLP_DONT_POP_0x244 + # endif + +-# if defined (__STL_HAS_NO_NAMESPACES) && ! defined (exception) ++# if ! defined (exception) && (! defined (__KCC) || (__KCC_VERSION < 4000)) && \ ++ ! (defined(__IBMCPP__) && (500 <= __IBMCPP__)) ++# define __EXCEPTION_WAS_REDEFINED 1 + # define exception __math_exception + # endif + +-# include __STL_NATIVE_C_HEADER(math.h) ++# include _STLP_NATIVE_C_HEADER(math.h) + +-# if defined (__STL_HAS_NO_NAMESPACES) ++# if defined (__EXCEPTION_WAS_REDEFINED) + # undef exception ++# undef __EXCEPTION_WAS_REDEFINED + # endif + +-# if (__STL_OUTERMOST_HEADER_ID == 0x244) +-# if ! defined (__STL_DONT_POP_0x244) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x244) ++# if ! defined (_STLP_DONT_POP_0x244) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif +-# undef __STL_DONT_POP_0x244 ++# undef _STLP_DONT_POP_0x244 + # endif + + // Local Variables: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/mem.h tripwire-2.3.1-2/src/STLport-4.0/stlport/mem.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/mem.h Sat Feb 24 10:44:23 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/mem.h Sun Aug 11 18:59:23 2002 +@@ -15,34 +15,34 @@ + + // Boris : highly questionable header for BC++ + +-#ifndef __STLPORT_mem_h ++#ifndef _STLP_mem_h + +-# if !defined (__STL_OUTERMOST_HEADER_ID) +-# define __STL_OUTERMOST_HEADER_ID 0x245 ++# if !defined (_STLP_OUTERMOST_HEADER_ID) ++# define _STLP_OUTERMOST_HEADER_ID 0x245 + # include +-# elif (__STL_OUTERMOST_HEADER_ID == 0x245) && ! defined (__STL_DONT_POP_0x245) +-# define __STL_DONT_POP_0x245 ++# elif (_STLP_OUTERMOST_HEADER_ID == 0x245) && ! defined (_STLP_DONT_POP_0x245) ++# define _STLP_DONT_POP_0x245 + # endif + +-# if (__BORLANDC__ > 0x530) ++# if (__BORLANDC__ > 0x530) && !defined(__linux__) + # include + # endif + + # undef __USING_CNAME__ + +-# include __STL_NATIVE_C_HEADER(mem.h) ++# include _STLP_NATIVE_C_HEADER(mem.h) + +-# define __STLPORT_mem_h 1 ++# define _STLP_mem_h 1 + +-# if (__STL_OUTERMOST_HEADER_ID == 0x245) +-# if ! defined (__STL_DONT_POP_0x245) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x245) ++# if ! defined (_STLP_DONT_POP_0x245) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif +-# undef __STL_DONT_POP_0x245 ++# undef _STLP_DONT_POP_0x245 + # endif + +-#endif /* __STLPORT_mem_h */ ++#endif /* _STLP_mem_h */ + + // #endif /* NATIVE */ + // Local Variables: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/memory tripwire-2.3.1-2/src/STLport-4.0/stlport/memory +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/memory Sat Feb 24 10:44:23 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/memory Sun Aug 11 18:59:23 2002 +@@ -16,33 +16,35 @@ + * + */ + +-#ifndef __SGI_STL_MEMORY +-# define __SGI_STL_MEMORY ++#ifndef _STLP_MEMORY ++# define _STLP_MEMORY + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x46 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x46 + # include + # endif + +-# ifndef __SGI_STL_INTERNAL_ALLOC_H ++# ifndef _STLP_INTERNAL_ALLOC_H + # include + # endif + +-# ifndef __SGI_STL_INTERNAL_TEMPBUF_H ++# ifndef _STLP_INTERNAL_TEMPBUF_H + # include + # endif + +-# ifndef __SGI_STL_INTERNAL_RAW_STORAGE_ITER_H ++# ifndef _STLP_INTERNAL_RAW_STORAGE_ITER_H + # include + # endif + +-# if defined (__STL_IMPORT_VENDOR_STD) ++# include ++ ++# if defined (_STLP_IMPORT_VENDOR_STD) + + # if defined (__MSL__) +-# include __STL_NATIVE_HEADER(limits) ++# include _STLP_NATIVE_HEADER(limits) + # endif + +-# include __STL_NATIVE_HEADER(memory) ++# include _STLP_NATIVE_HEADER(memory) + + # if defined (__MSL__) && (__MSL__ >= 0x2405 && __MSL__ < 0x5201) + /* 980401 vss MSL 2.4 Pro 3 Release */ +@@ -51,150 +53,12 @@ + + # endif + +-__STL_BEGIN_NAMESPACE +-// implementation primitive +-class __ptr_base { +-public: +- void* _M_p; +- void __set(const void* p) { _M_p = __CONST_CAST(void*,p); } +- void __set(void* p) { _M_p = p; } +-}; +- +-// interface common for all smart pointers +-template +-class __ptr_intf : protected __ptr_base { +-public: +- _Tp* get() const { return __REINTERPRET_CAST(_Tp*,__CONST_CAST(void*,_M_p)); } +-# if defined (__SGI_STL_NO_ARROW_OPERATOR) +- // fbp : you would not instantiate auto_ptrs for builtins, would you ? +-# if !defined (__STL_NO_AUTO_PTR_PROXY_ARROW_OPERATOR) +-# ifdef __MVS__ +-# pragma define(__arrow_op_dispatch<_Tp&, _Tp*>) +-# endif +- __arrow_op_dispatch<_Tp&, _Tp*> operator->() const { +- return __arrow_op_dispatch<_Tp&, _Tp*>(*get()); +- } +-# endif +-# else +- _Tp* operator->() const { return get(); } +-# endif +- _Tp& operator*() const { return *get(); } +- +- // this member is here to convert derived into base if needed +- // public for auto_ptr_handler +- void __set(_Tp* p) { __ptr_base::__set(p); } +- +-# if defined(__STL_MEMBER_TEMPLATES) && !defined(__STL_NO_TEMPLATE_CONVERSIONS) +- template operator __ptr_intf<_Tp1>() { return __ptr_intf<_Tp1>(get()); } +-# endif +- +-protected: +- __ptr_intf(_Tp* p = 0) { __ptr_base::__set(p); } +-private: +- __ptr_intf<_Tp>(const __ptr_intf<_Tp>&); +-}; +- +- +-template class auto_ptr_ref { +-public: +- __ptr_base& _M_r; +- _Tp* const _M_p; +- +- auto_ptr_ref(__ptr_base& __r, _Tp* __p) : _M_r(__r), _M_p(__p) { } +- +- _Tp* release() const { _M_r.__set((void*)0); return _M_p; } +- +-}; +- +-template struct auto_ptr : public __ptr_intf<_Tp> { +- +- typedef _Tp element_type; +- typedef auto_ptr<_Tp> _Self; +- +- _Tp* release() { +- _Tp* __px = this->get(); +- this->_M_p = 0; +- return __px; +- } +- +- void reset(_Tp* __px=0) { +- _Tp* __pt = this->get(); +- if (__px != __pt) +- delete __pt; +- this->__set(__px); +- } +- +- auto_ptr() {} +- +- explicit auto_ptr(_Tp* __px) : __ptr_intf<_Tp>(__px) { } +- +-#if defined (__STL_MEMBER_TEMPLATES) +-# ifdef __STL_MSVC +- template auto_ptr(const auto_ptr<_Tp1>& __r) +- : __ptr_intf<_Tp>((_Tp1*)const_cast >(__r).release()) {} +- template auto_ptr<_Tp>& operator=(const auto_ptr<_Tp1>& __r) { +- reset((_Tp1*)const_cast >(__r).release()); +- return *this; +- } +-# else +-# if !defined (__STL_NO_TEMPLATE_CONVERSIONS) +- template auto_ptr(auto_ptr<_Tp1>& __r) +- : __ptr_intf<_Tp>((_Tp1*)__r.release()) {} +-# endif +- template auto_ptr<_Tp>& operator=(auto_ptr<_Tp1>& __r) { +- reset((_Tp1*)__r.release()); +- return *this; +- } +-# endif +-#endif /* __STL_MEMBER_TEMPLATES */ +- +-#ifdef __STL_MSVC +- auto_ptr(const _Self& __r) : __ptr_intf<_Tp>(const_cast<_Self&>(__r).release()) { } +- +- _Self& operator=(const _Self& __r) { +- reset(const_cast<_Self&>(__r).release()); +- return *this; +- } +-#else +- auto_ptr(_Self& __r) : __ptr_intf<_Tp>(__r.release()) { } +- +- _Self& operator=(_Self& __r) { +- reset(__r.release()); +- return *this; +- } +-#endif +- +- ~auto_ptr() { /* boris : reset(0) might be better */ delete this->get(); } +- +- auto_ptr(auto_ptr_ref<_Tp> __r) : __ptr_intf<_Tp>(__r.release()) { +- } +- +- _Self& operator=(auto_ptr_ref<_Tp> __r) { +- reset(__r.release()); +- return *this; +- } +- +-# if defined(__STL_MEMBER_TEMPLATES) && !defined(__STL_NO_TEMPLATE_CONVERSIONS) +- template operator auto_ptr_ref<_Tp1>() { +- return auto_ptr_ref<_Tp1>(*this, this->get()); +- } +- template operator auto_ptr<_Tp1>() { +- return auto_ptr<_Tp1>(release()); +- } +-# else +- operator auto_ptr_ref<_Tp>() +- { return auto_ptr_ref<_Tp>(*this, this->get()); } +-# endif +- +-}; +-__STL_END_NAMESPACE +- +-# if (__STL_OUTERMOST_HEADER_ID == 0x46) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x46) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_MEMORY */ ++#endif /* _STLP_MEMORY */ + + // Local Variables: + // mode:C++ +Only in tripwire-2.3.1-2.old/src/STLport-4.0/stlport: memory.new +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/new tripwire-2.3.1-2/src/STLport-4.0/stlport/new +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/new Sat Feb 24 10:44:24 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/new Sun Aug 11 18:59:23 2002 +@@ -13,120 +13,99 @@ + * + */ + +-#ifndef __STLPORT_NEW +-# define __STLPORT_NEW ++#ifndef _STLP_NEW_HEADER ++# define _STLP_NEW_HEADER + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x447 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x447 + # include + # endif + +-#ifdef __STL_WINCE +- +-inline void* __STL_CALL __stl_new(size_t __n) { +- return ::malloc(__n); +-} +- +-inline void __STL_CALL __stl_delete(void* __p) { +- free(__p); +-} +- +-#else +- ++#ifndef _STLP_CSTDDEF + // size_t + # include ++#endif + + #if defined (__BORLANDC__) && (__BORLANDC__ > 0x520) + // new.h uses ::malloc ;( + # include +-using __STL_VENDOR_CSTD::malloc; ++using _STLP_VENDOR_CSTD::malloc; + #endif + +-# if !defined (__STL_NO_NEW_NEW_HEADER) +-# if ( defined (__GNUC__) && (__GNUC_MINOR__ >= 8 )) || ( defined (__MVS__) && ! defined (__GNUC__)) +-# include __STL_NATIVE_C_HEADER(new) +-# else +-# include __STL_NATIVE_HEADER(new) +-# endif +-# else +-# if ( defined (__MVS__) && ! defined (__GNUC__)) +-# include __STL_NATIVE_C_HEADER(new.h) +-# else +-# include __STL_NATIVE_HEADER(new.h) +-# endif ++# if !defined (_STLP_NO_NEW_NEW_HEADER) ++# include _STLP_NATIVE_CPP_RUNTIME_HEADER(new) ++# elif !defined(_STLP_WINCE) ++# include + # endif + +-# ifndef __STL_NO_BAD_ALLOC +-# ifdef __STL_USE_OWN_NAMESPACE +- __STL_BEGIN_NAMESPACE +- using __STL_VENDOR_EXCEPT_STD::bad_alloc; +- using __STL_VENDOR_EXCEPT_STD::nothrow_t; +- using __STL_VENDOR_EXCEPT_STD::nothrow; ++# ifndef _STLP_NO_BAD_ALLOC ++# ifdef _STLP_USE_OWN_NAMESPACE ++ _STLP_BEGIN_NAMESPACE ++ using _STLP_VENDOR_EXCEPT_STD::bad_alloc; ++ using _STLP_VENDOR_EXCEPT_STD::nothrow_t; ++ using _STLP_VENDOR_EXCEPT_STD::nothrow; + +-# if defined (__STL_GLOBAL_NEW_HANDLER) ++# if defined (_STLP_GLOBAL_NEW_HANDLER) + using ::new_handler; + using ::set_new_handler; + # else +- using __STL_VENDOR_EXCEPT_STD::new_handler; +- using __STL_VENDOR_EXCEPT_STD::set_new_handler; ++ using _STLP_VENDOR_EXCEPT_STD::new_handler; ++ using _STLP_VENDOR_EXCEPT_STD::set_new_handler; + # endif + +- __STL_END_NAMESPACE ++ _STLP_END_NAMESPACE + +-# endif /* __STL_OWN_NAMESPACE */ +-# else /* __STL_NO_BAD_ALLOC */ ++# endif /* _STLP_OWN_NAMESPACE */ ++ ++# else /* _STLP_NO_BAD_ALLOC */ + + # include + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + class nothrow_t {}; + +-# ifdef __SGI_STL_OWN_IOSTREAMS +-extern nothrow_t nothrow; ++# ifdef _STLP_OWN_IOSTREAMS ++extern _STLP_DECLSPEC const nothrow_t nothrow; + # else + # define nothrow nothrow_t() + # endif + +-class bad_alloc : public __STL_EXCEPTION_BASE { ++class bad_alloc : public _STLP_EXCEPTION_BASE { + public: +- bad_alloc () __STL_NOTHROW { } +- bad_alloc(const bad_alloc&) __STL_NOTHROW { } +- bad_alloc& operator=(const bad_alloc&) __STL_NOTHROW {return *this;} +- ~bad_alloc () __STL_NOTHROW { } +- const char* what() const __STL_NOTHROW { return "bad alloc"; } ++ bad_alloc () _STLP_NOTHROW_INHERENTLY { } ++ bad_alloc(const bad_alloc&) _STLP_NOTHROW_INHERENTLY { } ++ bad_alloc& operator=(const bad_alloc&) _STLP_NOTHROW_INHERENTLY {return *this;} ++ ~bad_alloc () _STLP_NOTHROW_INHERENTLY { } ++ const char* what() const _STLP_NOTHROW_INHERENTLY { return "bad alloc"; } + }; + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-#endif /* __STL_NO_BAD_ALLOC */ ++#endif /* _STLP_NO_BAD_ALLOC */ + +-__STL_BEGIN_NAMESPACE +-inline void* __STL_CALL __stl_new(size_t __n) { +-#if (( defined(__IBMCPP__)|| defined(__OS400__) || defined (__xlC__) || defined (qTidyHeap)) && defined(__DEBUG_ALLOC__) ) +- return ::operator __STL_NEW(__n, __FILE__, __LINE__); +-#else +- return ::operator __STL_NEW(__n); +-#endif +-} ++# if defined (_STLP_NO_NEW_NEW_HEADER) || defined (_STLP_NO_BAD_ALLOC) && ! defined (_STLP_CHECK_NULL_ALLOC) ++# define _STLP_CHECK_NULL_ALLOC(__x) void* __y = __x; if (__y == 0) _STLP_THROW(bad_alloc()); return __y ++# else ++# define _STLP_CHECK_NULL_ALLOC(__x) return __x ++# endif + +-inline void __STL_CALL __stl_delete(void* __p) { +-#if (( defined(__IBMCPP__) || defined(__OS400__)|| defined (__xlC__) || defined (qTidyHeap)) && defined(__DEBUG_ALLOC__) ) +- ::operator delete(__p, __FILE__, __LINE__); ++_STLP_BEGIN_NAMESPACE ++#if (( defined(__IBMCPP__)|| defined(__OS400__) || defined (__xlC__) || defined (qTidyHeap)) && defined(__DEBUG_ALLOC__) ) ++inline void* _STLP_CALL __stl_new(size_t __n) { _STLP_CHECK_NULL_ALLOC(::operator _STLP_NEW(__n, __FILE__, __LINE__)); } ++inline void _STLP_CALL __stl_delete(void* __p) { ::operator delete(__p, __FILE__, __LINE__); } + #else +- ::operator delete(__p); ++inline void* _STLP_CALL __stl_new(size_t __n) { _STLP_CHECK_NULL_ALLOC(::operator _STLP_NEW(__n)); } ++inline void _STLP_CALL __stl_delete(void* __p) { ::operator delete(__p); } + #endif +-} +-__STL_END_NAMESPACE +- +-#endif /* WINCE */ ++_STLP_END_NAMESPACE + +-# if (__STL_OUTERMOST_HEADER_ID == 0x447) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x447) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __STLPORT_NEW */ ++#endif /* _STLP_NEW */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/new.h tripwire-2.3.1-2/src/STLport-4.0/stlport/new.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/new.h Sat Feb 24 10:44:24 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/new.h Sun Aug 11 18:59:23 2002 +@@ -14,29 +14,31 @@ + */ + + +-# if !defined (__STL_OUTERMOST_HEADER_ID) +-# define __STL_OUTERMOST_HEADER_ID 0x848 ++# if !defined (_STLP_OUTERMOST_HEADER_ID) ++# define _STLP_OUTERMOST_HEADER_ID 0x848 + # include +-# elif (__STL_OUTERMOST_HEADER_ID == 0x848) && ! defined (__STL_DONT_POP_0x848) +-# define __STL_DONT_POP_0x848 ++# elif (_STLP_OUTERMOST_HEADER_ID == 0x848) && ! defined (_STLP_DONT_POP_0x848) ++# define _STLP_DONT_POP_0x848 + # endif + +-# ifndef __STL_WINCE +-# if ( defined (__GNUC__) && (__GNUC_MINOR__ >= 8 )) || ( defined (__MVS__) && ! defined (__GNUC__)) +-# include __STL_NATIVE_C_HEADER(new.h) +-# elif defined (__BORLANDC__) ++# ifndef _STLP_WINCE ++# if defined (__BORLANDC__) + # include + # else +-# include __STL_NATIVE_HEADER(new.h) ++# if defined (__GNUC__) && (__GNUC__ >=3) ++# include _STLP_NATIVE_OLD_STREAMS_HEADER(new.h) ++# else ++# include _STLP_NATIVE_CPP_RUNTIME_HEADER(new.h) ++# endif + # endif + # endif /* STL_WINCE */ + +-# if (__STL_OUTERMOST_HEADER_ID == 0x848) +-# if ! defined (__STL_DONT_POP_0x848) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x848) ++# if ! defined (_STLP_DONT_POP_0x848) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif +-# undef __STL_DONT_POP_0x848 ++# undef _STLP_DONT_POP_0x848 + # endif + + // Local Variables: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/numeric tripwire-2.3.1-2/src/STLport-4.0/stlport/numeric +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/numeric Sat Feb 24 10:44:24 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/numeric Sun Aug 11 18:59:23 2002 +@@ -20,26 +20,26 @@ + * + */ + +-#ifndef __SGI_STL_NUMERIC +-#define __SGI_STL_NUMERIC ++#ifndef _STLP_NUMERIC ++#define _STLP_NUMERIC + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x49 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x49 + # include + # endif + +-#ifndef __SGI_STL_INTERNAL_FUNCTION_H +-# include ++#ifndef _STLP_INTERNAL_FUNCTION_H ++# include + #endif + + #include + +-# if (__STL_OUTERMOST_HEADER_ID == 0x49) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x49) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_NUMERIC */ ++#endif /* _STLP_NUMERIC */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/algo.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/algo.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/algo.h Sat Feb 24 10:44:33 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/algo.h Sun Aug 11 18:59:24 2002 +@@ -23,41 +23,41 @@ + * + */ + +-#ifndef __SGI_STL_ALGO_H +-#define __SGI_STL_ALGO_H ++#ifndef _STLP_ALGO_H ++#define _STLP_ALGO_H + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0xa001 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0xa001 + # include + # endif + +-# ifndef __SGI_STL_ALGOBASE_H ++# ifndef _STLP_ALGOBASE_H + # include + # endif + +-# ifndef __SGI_STL_TEMPBUF_H ++# ifndef _STLP_TEMPBUF_H + # include + # endif + +-# ifndef __SGI_STL_INTERNAL_HEAP_H ++# ifndef _STLP_INTERNAL_HEAP_H + # include + # endif + +-# ifndef __SGI_STL_ITERATOR_H ++# ifndef _STLP_ITERATOR_H + # include + # endif + +-# ifndef __SGI_STL_INTERNAL_ALGO_H ++# ifndef _STLP_INTERNAL_ALGO_H + # include + # endif + +-# ifndef __SGI_STL_NUMERIC_H ++# ifndef _STLP_NUMERIC_H + # include + # endif + +-#ifdef __STL_USE_NAMESPACES ++#ifdef _STLP_USE_NAMESPACES + +-# ifdef __STL_BROKEN_USING_DIRECTIVE ++# ifdef _STLP_BROKEN_USING_DIRECTIVE + using namespace STLPORT; + # else + // Names from +@@ -131,15 +131,15 @@ + using STLPORT::power; + using STLPORT::iota; + +-# endif /* __STL_BROKEN_USING_DIRECTIVE */ +-#endif /* __STL_USE_NAMESPACES */ ++# endif /* _STLP_BROKEN_USING_DIRECTIVE */ ++#endif /* _STLP_USE_NAMESPACES */ + +-# if (__STL_OUTERMOST_HEADER_ID == 0xa001) ++# if (_STLP_OUTERMOST_HEADER_ID == 0xa001) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_ALGO_H */ ++#endif /* _STLP_ALGO_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/algobase.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/algobase.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/algobase.h Sat Feb 24 10:44:33 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/algobase.h Sun Aug 11 18:59:24 2002 +@@ -23,43 +23,43 @@ + * + */ + +-#ifndef __SGI_STL_ALGOBASE_H +-#define __SGI_STL_ALGOBASE_H ++#ifndef _STLP_ALGOBASE_H ++#define _STLP_ALGOBASE_H + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0xa002 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0xa002 + # include + # endif + +-#ifndef __SGI_STL_PAIR_H ++#ifndef _STLP_PAIR_H + #include + #endif + + // memmove +-#ifndef __STLPORT_CSTRING ++#ifndef _STLP_CSTRING + # include + #endif + + // CHAR_MAX +-#ifndef __STLPORT_CLIMITS ++#ifndef _STLP_CLIMITS + # include + #endif + +-#ifndef __SGI_STL_ITERATOR_H ++#ifndef _STLP_ITERATOR_H + #include + #endif + +-#ifndef __SGI_STL_INTERNAL_ALGOBASE_H ++#ifndef _STLP_INTERNAL_ALGOBASE_H + #include + #endif + +-#ifndef __SGI_STL_INTERNAL_UNINITIALIZED_H ++#ifndef _STLP_INTERNAL_UNINITIALIZED_H + #include + #endif + +-#ifdef __STL_USE_NAMESPACES ++#ifdef _STLP_USE_NAMESPACES + +-# ifdef __STL_BROKEN_USING_DIRECTIVE ++# ifdef _STLP_BROKEN_USING_DIRECTIVE + using namespace STLPORT; + # else + // Names from stl_algobase.h +@@ -82,15 +82,15 @@ + using STLPORT::uninitialized_copy_n; + using STLPORT::uninitialized_fill; + using STLPORT::uninitialized_fill_n; +-# endif /* __STL_BROKEN_USING_DIRECTIVE */ +-#endif /* __STL_USE_NAMESPACES */ ++# endif /* _STLP_BROKEN_USING_DIRECTIVE */ ++#endif /* _STLP_USE_NAMESPACES */ + +-# if (__STL_OUTERMOST_HEADER_ID == 0xa002) ++# if (_STLP_OUTERMOST_HEADER_ID == 0xa002) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_ALGOBASE_H */ ++#endif /* _STLP_ALGOBASE_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/alloc.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/alloc.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/alloc.h Sat Feb 24 10:44:33 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/alloc.h Sun Aug 11 18:59:24 2002 +@@ -16,44 +16,44 @@ + * + */ + +-#ifndef __SGI_STL_ALLOC_H +-#define __SGI_STL_ALLOC_H ++#ifndef _STLP_ALLOC_H ++#define _STLP_ALLOC_H + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0xa003 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0xa003 + # include + # endif + +-#if defined (__STL_DEBUG) || defined (__STL_ASSERTIONS) && !defined (__STLPORT_DEBUG_H) ++#if defined (_STLP_DEBUG) || defined (_STLP_ASSERTIONS) && !defined (_STLP_DEBUG_H) + # include + #endif + +-# ifndef __STLPORT_CSTDDEF ++# ifndef _STLP_CSTDDEF + # include + # endif +-# ifndef __STLPORT_CLIMITS ++# ifndef _STLP_CLIMITS + # include + # endif +-# ifndef __STLPORT_CSTDLIB ++# ifndef _STLP_CSTDLIB + # include + # endif +-# ifndef __STLPORT_CSTRING ++# ifndef _STLP_CSTRING + # include + # endif +-# ifndef __STLPORT_CASSERT ++# ifndef _STLP_CASSERT + # include + # endif + +-#ifndef __SGI_STL_INTERNAL_ALLOC_H ++#ifndef _STLP_INTERNAL_ALLOC_H + #include + #endif + + // Old SGI names +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + typedef __sgi_alloc alloc; + typedef __malloc_alloc<0> malloc_alloc; +-#ifdef __STL_USE_NEWALLOC ++#ifdef _STLP_USE_NEWALLOC + typedef __new_alloc new_alloc; + #endif + +@@ -61,37 +61,41 @@ + typedef __single_client_alloc single_client_alloc; + typedef __multithreaded_alloc multithreaded_alloc; + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-#ifdef __STL_USE_NAMESPACES +-# ifdef __STL_BROKEN_USING_DIRECTIVE ++#ifdef _STLP_USE_NAMESPACES ++# ifdef _STLP_BROKEN_USING_DIRECTIVE + + using namespace STLPORT; + + # else + +-using __STLPORT_STD::malloc_alloc; +-using __STLPORT_STD::simple_alloc; +-# ifdef __STL_DEBUG_ALLOC +-using __STLPORT_STD::__debug_alloc; ++# ifdef _STLP_USE_RAW_SGI_ALLOCATORS ++using _STLP_STD::simple_alloc; ++using _STLP_STD::alloc; ++# endif ++ ++using _STLP_STD::malloc_alloc; ++# ifdef _STLP_DEBUG_ALLOC ++using _STLP_STD::__debug_alloc; + # endif +-#ifdef __STL_USE_NEWALLOC +-using __STLPORT_STD::new_alloc; ++#ifdef _STLP_USE_NEWALLOC ++using _STLP_STD::new_alloc; + #endif +-using __STLPORT_STD::alloc; +-using __STLPORT_STD::single_client_alloc; +-using __STLPORT_STD::multithreaded_alloc; +-using __STLPORT_STD::allocator; + +-# endif /* __STL_BROKEN_USING_DIRECTIVE */ +-#endif /* __STL_USE_NAMESPACES */ ++using _STLP_STD::single_client_alloc; ++using _STLP_STD::multithreaded_alloc; ++using _STLP_STD::allocator; ++ ++# endif /* _STLP_BROKEN_USING_DIRECTIVE */ ++#endif /* _STLP_USE_NAMESPACES */ + +-# if (__STL_OUTERMOST_HEADER_ID == 0xa003) ++# if (_STLP_OUTERMOST_HEADER_ID == 0xa003) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_ALLOC_H */ ++#endif /* _STLP_ALLOC_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/bvector.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/bvector.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/bvector.h Sat Feb 24 10:44:33 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/bvector.h Sun Aug 11 18:59:24 2002 +@@ -23,11 +23,11 @@ + * + */ + +-#ifndef __SGI_STL_BVECTOR_H +-#define __SGI_STL_BVECTOR_H ++#ifndef _STLP_BVECTOR_H ++#define _STLP_BVECTOR_H + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0xa004 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0xa004 + # include + # endif + +@@ -35,7 +35,7 @@ + + #include + +-#ifdef __STL_CLASS_PARTIAL_SPECIALIZATION ++#ifdef _STLP_CLASS_PARTIAL_SPECIALIZATION + #include + #else + #include +@@ -44,22 +44,22 @@ + #include + #include + +-#ifdef __STL_USE_NAMESPACES ++#ifdef _STLP_USE_NAMESPACES + +-# ifdef __STL_BROKEN_USING_DIRECTIVE ++# ifdef _STLP_BROKEN_USING_DIRECTIVE + using namespace STLPORT; + # else +-using __STLPORT_STD::bit_vector; ++using _STLP_STD::bit_vector; + # endif + +-#endif /* __STL_USE_NAMESPACES */ ++#endif /* _STLP_USE_NAMESPACES */ + +-# if (__STL_OUTERMOST_HEADER_ID == 0xa004) ++# if (_STLP_OUTERMOST_HEADER_ID == 0xa004) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_BVECTOR_H */ ++#endif /* _STLP_BVECTOR_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/defalloc.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/defalloc.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/defalloc.h Sat Feb 24 10:44:33 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/defalloc.h Sun Aug 11 18:59:24 2002 +@@ -29,19 +29,19 @@ + // However, explicit use of allocator is not recommended + // unless you have to do so ( for example, compiling third-party code). + +-#ifndef __SGI_STL_DEFALLOC_H +-#define __SGI_STL_DEFALLOC_H ++#ifndef _STLP_DEFALLOC_H ++#define _STLP_DEFALLOC_H + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0xa005 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0xa005 + # include + # endif + +-# if defined (__STL_DEBUG) && ! defined ( __SGI_STL_DEBUG_H ) ++# if defined (_STLP_DEBUG) && ! defined ( _STLP_DEBUG_H ) + # include + # endif + +-#if defined (__STL_USE_NEW_STYLE_HEADERS) ++#if defined (_STLP_USE_NEW_STYLE_HEADERS) + # include + # include + # include +@@ -55,12 +55,12 @@ + + # include + +-#ifdef __STL_THREADS ++#ifdef _STLP_THREADS + # include + #endif + +-# if !defined (__THROW_BAD_ALLOC) && !defined(__STL_USE_EXCEPTIONS) +-# if defined (__STL_USE_NEW_STYLE_HEADERS) ++# if !defined (__THROW_BAD_ALLOC) && !defined(_STLP_USE_EXCEPTIONS) ++# if defined (_STLP_USE_NEW_STYLE_HEADERS) + # include + # else + # include +@@ -70,18 +70,18 @@ + + // fbp: just for backwards compatibility, + // hope this doesn't break anything. +-#ifdef __STL_USE_NAMESPACES +-# ifdef __STL_BROKEN_USING_DIRECTIVE ++#ifdef _STLP_USE_NAMESPACES ++# ifdef _STLP_BROKEN_USING_DIRECTIVE + using namespace STLPORT; + # else + using STLPORT::allocator; +-# endif /* __STL_BROKEN_USING_DIRECTIVE */ +-#endif /* __STL_USE_NAMESPACES */ ++# endif /* _STLP_BROKEN_USING_DIRECTIVE */ ++#endif /* _STLP_USE_NAMESPACES */ + +-# if (__STL_OUTERMOST_HEADER_ID == 0xa005) ++# if (_STLP_OUTERMOST_HEADER_ID == 0xa005) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_DEFALLOC_H */ ++#endif /* _STLP_DEFALLOC_H */ + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/deque.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/deque.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/deque.h Sat Feb 24 10:44:33 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/deque.h Sun Aug 11 18:59:24 2002 +@@ -23,45 +23,45 @@ + * + */ + +-#ifndef __SGI_STL_DEQUE_H +-#define __SGI_STL_DEQUE_H ++#ifndef _STLP_DEQUE_H ++#define _STLP_DEQUE_H + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0xa006 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0xa006 + # include + # endif + +-#ifndef __SGI_STL_ALGOBASE_H ++#ifndef _STLP_ALGOBASE_H + # include + #endif + +-#ifndef __STL_RANGE_ERRORS_H ++#ifndef _STLP_RANGE_ERRORS_H + # include + #endif + +-#ifndef __SGI_STL_ALLOC_H ++#ifndef _STLP_ALLOC_H + # include + #endif + +-#ifndef __SGI_STL_INTERNAL_DEQUE_H ++#ifndef _STLP_INTERNAL_DEQUE_H + # include + #endif + +-#ifdef __STL_USE_NAMESPACES +-# ifdef __STL_BROKEN_USING_DIRECTIVE ++#ifdef _STLP_USE_NAMESPACES ++# ifdef _STLP_BROKEN_USING_DIRECTIVE + using namespace STLPORT; + # else + using STLPORT::deque; + using STLPORT::__deque__; +-# endif /* __STL_BROKEN_USING_DIRECTIVE */ +-#endif /* __STL_USE_NAMESPACES */ ++# endif /* _STLP_BROKEN_USING_DIRECTIVE */ ++#endif /* _STLP_USE_NAMESPACES */ + +-# if (__STL_OUTERMOST_HEADER_ID == 0xa006) ++# if (_STLP_OUTERMOST_HEADER_ID == 0xa006) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_DEQUE_H */ ++#endif /* _STLP_DEQUE_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/export tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/export +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/export Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/export Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,27 @@ ++./algo.h ++./algobase.h ++./alloc.h ++./bvector.h ++./defalloc.h ++./deque.h ++./function.h ++./hash_map.h ++./hash_set.h ++./hashtable.h ++./heap.h ++./iterator.h ++./list.h ++./map.h ++./multimap.h ++./multiset.h ++./numeric.h ++./pair.h ++./pthread_alloc.h ++./queue.h ++./rope.h ++./set.h ++./slist.h ++./stack.h ++./tempbuf.h ++./tree.h ++./vector.h +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/function.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/function.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/function.h Sat Feb 24 10:44:34 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/function.h Sun Aug 11 18:59:24 2002 +@@ -23,103 +23,103 @@ + * + */ + +-#ifndef __SGI_STL_FUNCTION_H +-#define __SGI_STL_FUNCTION_H ++#ifndef _STLP_FUNCTION_H ++#define _STLP_FUNCTION_H + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0xa008 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0xa008 + # include + # endif + +-#ifndef __STLPORT_CSTDDEF ++#ifndef _STLP_CSTDDEF + # include + #endif + +-#ifndef __SGI_STL_INTERNAL_RELOPS +-#include ++#ifndef _STLP_INTERNAL_ALGOBASE_H ++#include + #endif + +-#ifndef __SGI_STL_INTERNAL_FUNCTION_H ++#ifndef _STLP_INTERNAL_FUNCTION_H + #include + #endif + +-#ifdef __STL_USE_NAMESPACES ++#ifdef _STLP_USE_NAMESPACES + +-# ifdef __STL_BROKEN_USING_DIRECTIVE ++# ifdef _STLP_BROKEN_USING_DIRECTIVE + using namespace STLPORT; +-#ifdef __STL_USE_NAMESPACE_FOR_RELOPS ++#ifndef _STLP_NO_RELOPS_NAMESPACE + using namespace STLPORT_RELOPS; +-#endif /* __STL_USE_NAMESPACE_FOR_RELOPS */ ++#endif /* _STLP_USE_NAMESPACE_FOR_RELOPS */ + +-# else /* __STL_BROKEN_USING_DIRECTIVE */ ++# else /* _STLP_BROKEN_USING_DIRECTIVE */ + + // Names from stl_function.h +-using __STLPORT_STD::unary_function; +-using __STLPORT_STD::binary_function; +-using __STLPORT_STD::plus; +-using __STLPORT_STD::minus; +-using __STLPORT_STD::multiplies; +-using __STLPORT_STD::divides; +-using __STLPORT_STD::identity_element; +-using __STLPORT_STD::modulus; +-using __STLPORT_STD::negate; +-using __STLPORT_STD::equal_to; +-using __STLPORT_STD::not_equal_to; +-using __STLPORT_STD::greater; +-using __STLPORT_STD::less; +-using __STLPORT_STD::greater_equal; +-using __STLPORT_STD::less_equal; +-using __STLPORT_STD::logical_and; +-using __STLPORT_STD::logical_or; +-using __STLPORT_STD::logical_not; +-using __STLPORT_STD::unary_negate; +-using __STLPORT_STD::binary_negate; +-using __STLPORT_STD::not1; +-using __STLPORT_STD::not2; +-using __STLPORT_STD::binder1st; +-using __STLPORT_STD::binder2nd; +-using __STLPORT_STD::bind1st; +-using __STLPORT_STD::bind2nd; +-using __STLPORT_STD::unary_compose; +-using __STLPORT_STD::binary_compose; +-using __STLPORT_STD::compose1; +-using __STLPORT_STD::compose2; +-using __STLPORT_STD::pointer_to_unary_function; +-using __STLPORT_STD::pointer_to_binary_function; +-using __STLPORT_STD::ptr_fun; +-using __STLPORT_STD::identity; +-using __STLPORT_STD::select1st; +-using __STLPORT_STD::select2nd; +-using __STLPORT_STD::project1st; +-using __STLPORT_STD::project2nd; +-using __STLPORT_STD::constant_void_fun; +-using __STLPORT_STD::constant_unary_fun; +-using __STLPORT_STD::constant_binary_fun; +-using __STLPORT_STD::constant0; +-using __STLPORT_STD::constant1; +-using __STLPORT_STD::constant2; +-using __STLPORT_STD::subtractive_rng; +-using __STLPORT_STD::mem_fun_t; +-using __STLPORT_STD::const_mem_fun_t; +-using __STLPORT_STD::mem_fun_ref_t; +-using __STLPORT_STD::const_mem_fun_ref_t; +-using __STLPORT_STD::mem_fun1_t; +-using __STLPORT_STD::const_mem_fun1_t; +-using __STLPORT_STD::mem_fun1_ref_t; +-using __STLPORT_STD::const_mem_fun1_ref_t; +-using __STLPORT_STD::mem_fun; +-using __STLPORT_STD::mem_fun_ref; +-using __STLPORT_STD::mem_fun1; +-using __STLPORT_STD::mem_fun1_ref; ++using _STLP_STD::unary_function; ++using _STLP_STD::binary_function; ++using _STLP_STD::plus; ++using _STLP_STD::minus; ++using _STLP_STD::multiplies; ++using _STLP_STD::divides; ++using _STLP_STD::identity_element; ++using _STLP_STD::modulus; ++using _STLP_STD::negate; ++using _STLP_STD::equal_to; ++using _STLP_STD::not_equal_to; ++using _STLP_STD::greater; ++using _STLP_STD::less; ++using _STLP_STD::greater_equal; ++using _STLP_STD::less_equal; ++using _STLP_STD::logical_and; ++using _STLP_STD::logical_or; ++using _STLP_STD::logical_not; ++using _STLP_STD::unary_negate; ++using _STLP_STD::binary_negate; ++using _STLP_STD::not1; ++using _STLP_STD::not2; ++using _STLP_STD::binder1st; ++using _STLP_STD::binder2nd; ++using _STLP_STD::bind1st; ++using _STLP_STD::bind2nd; ++using _STLP_STD::unary_compose; ++using _STLP_STD::binary_compose; ++using _STLP_STD::compose1; ++using _STLP_STD::compose2; ++using _STLP_STD::pointer_to_unary_function; ++using _STLP_STD::pointer_to_binary_function; ++using _STLP_STD::ptr_fun; ++using _STLP_STD::identity; ++using _STLP_STD::select1st; ++using _STLP_STD::select2nd; ++using _STLP_STD::project1st; ++using _STLP_STD::project2nd; ++using _STLP_STD::constant_void_fun; ++using _STLP_STD::constant_unary_fun; ++using _STLP_STD::constant_binary_fun; ++using _STLP_STD::constant0; ++using _STLP_STD::constant1; ++using _STLP_STD::constant2; ++using _STLP_STD::subtractive_rng; ++using _STLP_STD::mem_fun_t; ++using _STLP_STD::const_mem_fun_t; ++using _STLP_STD::mem_fun_ref_t; ++using _STLP_STD::const_mem_fun_ref_t; ++using _STLP_STD::mem_fun1_t; ++using _STLP_STD::const_mem_fun1_t; ++using _STLP_STD::mem_fun1_ref_t; ++using _STLP_STD::const_mem_fun1_ref_t; ++using _STLP_STD::mem_fun; ++using _STLP_STD::mem_fun_ref; ++using _STLP_STD::mem_fun1; ++using _STLP_STD::mem_fun1_ref; + # endif +-#endif /* __STL_USE_NAMESPACES */ ++#endif /* _STLP_USE_NAMESPACES */ + +-# if (__STL_OUTERMOST_HEADER_ID == 0xa008) ++# if (_STLP_OUTERMOST_HEADER_ID == 0xa008) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_FUNCTION_H */ ++#endif /* _STLP_FUNCTION_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/hash_map.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/hash_map.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/hash_map.h Sat Feb 24 10:44:34 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/hash_map.h Sun Aug 11 18:59:24 2002 +@@ -23,39 +23,39 @@ + * + */ + +-#ifndef __SGI_STL_HASH_MAP_H +-#define __SGI_STL_HASH_MAP_H ++#ifndef _STLP_HASH_MAP_H ++#define _STLP_HASH_MAP_H + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0xa009 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0xa009 + # include + # endif + +-#ifndef __SGI_STL_HASHTABLE_H ++#ifndef _STLP_HASHTABLE_H + #include + #endif + + #include + +-#ifdef __STL_USE_NAMESPACES +-# ifdef __STL_BROKEN_USING_DIRECTIVE ++#ifdef _STLP_USE_NAMESPACES ++# ifdef _STLP_BROKEN_USING_DIRECTIVE + using namespace STLPORT; + # else +-using __STLPORT_STD::hash; ++using _STLP_STD::hash; + using STLPORT::hashtable; + using STLPORT::hash_map; + using STLPORT::hash_multimap; + using STLPORT::__hash_map__; + using STLPORT::__hash_multimap__; + # endif +-#endif /* __STL_USE_NAMESPACES */ ++#endif /* _STLP_USE_NAMESPACES */ + +-# if (__STL_OUTERMOST_HEADER_ID == 0xa009) ++# if (_STLP_OUTERMOST_HEADER_ID == 0xa009) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_HASH_MAP_H */ ++#endif /* _STLP_HASH_MAP_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/hash_set.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/hash_set.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/hash_set.h Sat Feb 24 10:44:34 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/hash_set.h Sun Aug 11 18:59:24 2002 +@@ -23,36 +23,36 @@ + * + */ + +-#ifndef __SGI_STL_HASH_SET_H +-#define __SGI_STL_HASH_SET_H ++#ifndef _STLP_HASH_SET_H ++#define _STLP_HASH_SET_H + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0xa010 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0xa010 + # include + # endif + +-#ifndef __SGI_STL_HASHTABLE_H ++#ifndef _STLP_HASHTABLE_H + #include + #endif + + #include + +-#ifdef __STL_USE_NAMESPACES +-# ifdef __STL_BROKEN_USING_DIRECTIVE ++#ifdef _STLP_USE_NAMESPACES ++# ifdef _STLP_BROKEN_USING_DIRECTIVE + using namespace STLPORT; + # else +-using __STLPORT_STD::hash; ++using _STLP_STD::hash; + using STLPORT::hashtable; + using STLPORT::hash_set; + using STLPORT::hash_multiset; + using STLPORT::__hash_set__; + using STLPORT::__hash_multiset__; + # endif +-#endif /* __STL_USE_NAMESPACES */ ++#endif /* _STLP_USE_NAMESPACES */ + +-# if (__STL_OUTERMOST_HEADER_ID == 0xa010) ++# if (_STLP_OUTERMOST_HEADER_ID == 0xa010) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_HASH_SET_H */ ++#endif /* _STLP_HASH_SET_H */ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/hashtable.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/hashtable.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/hashtable.h Sat Feb 24 10:44:34 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/hashtable.h Sun Aug 11 18:59:24 2002 +@@ -26,44 +26,44 @@ + * You should not attempt to use it directly. + */ + +-#ifndef __SGI_STL_HASHTABLE_H +-#define __SGI_STL_HASHTABLE_H ++#ifndef _STLP_HASHTABLE_H ++#define _STLP_HASHTABLE_H + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0xa011 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0xa011 + # include + # endif + +-#ifndef __SGI_STL_ALGO_H ++#ifndef _STLP_ALGO_H + #include + #endif +-#ifndef __SGI_STL_ALLOC_H ++#ifndef _STLP_ALLOC_H + #include + #endif +-#ifndef __SGI_STL_VECTOR_H ++#ifndef _STLP_VECTOR_H + #include + #endif +-#ifndef __SGI_STL_HASH_FUN_H ++#ifndef _STLP_HASH_FUN_H + #include + #endif +-#ifndef __SGI_STL_INTERNAL_HASHTABLE_H ++#ifndef _STLP_INTERNAL_HASHTABLE_H + #include + #endif + +-#ifdef __STL_USE_NAMESPACES +-# ifdef __STL_BROKEN_USING_DIRECTIVE ++#ifdef _STLP_USE_NAMESPACES ++# ifdef _STLP_BROKEN_USING_DIRECTIVE + using namespace STLPORT; + # else +-using __STLPORT_STD::hash; ++using _STLP_STD::hash; + using STLPORT::hashtable; + # endif +-#endif /* __STL_USE_NAMESPACES */ ++#endif /* _STLP_USE_NAMESPACES */ + +-# if (__STL_OUTERMOST_HEADER_ID == 0xa011) ++# if (_STLP_OUTERMOST_HEADER_ID == 0xa011) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif +-#endif /* __SGI_STL_HASHTABLE_H */ ++#endif /* _STLP_HASHTABLE_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/heap.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/heap.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/heap.h Sat Feb 24 10:44:34 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/heap.h Sun Aug 11 18:59:24 2002 +@@ -23,19 +23,19 @@ + * + */ + +-#ifndef __SGI_STL_HEAP_H +-#define __SGI_STL_HEAP_H ++#ifndef _STLP_HEAP_H ++#define _STLP_HEAP_H + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x12 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x12 + # include + # endif + + #include + +-#ifdef __STL_USE_NAMESPACES ++#ifdef _STLP_USE_NAMESPACES + +-# ifdef __STL_BROKEN_USING_DIRECTIVE ++# ifdef _STLP_BROKEN_USING_DIRECTIVE + using namespace std; + # else + using STLPORT::push_heap; +@@ -44,14 +44,14 @@ + using STLPORT::sort_heap; + # endif + +-#endif /* __STL_USE_NAMESPACES */ ++#endif /* _STLP_USE_NAMESPACES */ + +-# if (__STL_OUTERMOST_HEADER_ID == 0x12) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x12) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_HEAP_H */ ++#endif /* _STLP_HEAP_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/iterator.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/iterator.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/iterator.h Sat Feb 24 10:44:34 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/iterator.h Sun Aug 11 18:59:24 2002 +@@ -23,25 +23,25 @@ + * + */ + +-#ifndef __SGI_STL_ITERATOR_H +-#define __SGI_STL_ITERATOR_H ++#ifndef _STLP_ITERATOR_H ++#define _STLP_ITERATOR_H + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0xa013 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0xa013 + # include + # endif + +-#if defined (__STL_DEBUG) || defined (__STL_ASSERTIONS) && !defined (__STLPORT_DEBUG_H) ++#if defined (_STLP_DEBUG) || defined (_STLP_ASSERTIONS) && !defined (_STLP_DEBUG_H) + # include + #endif + +-#if defined (__STL_USE_NEW_STYLE_HEADERS) ++#if defined (_STLP_USE_NEW_STYLE_HEADERS) + # include + #else + # include + #endif + +-# ifndef __STLPORT_NEW ++# ifndef _STLP_NEW + # include + # endif + +@@ -49,51 +49,39 @@ + # include + # endif + +-#ifndef __SGI_STL_FUNCTION_H ++#ifndef _STLP_FUNCTION_H + #include + #endif + +-# ifndef __STLPORT_IOSFWD ++# ifndef _STLP_IOSFWD + # include + # endif + +-# ifndef __SGI_STL_INTERNAL_ITERATOR_BASE_H ++# ifndef _STLP_INTERNAL_ITERATOR_BASE_H + # include + # endif + +-# ifndef __SGI_STL_INTERNAL_ITERATOR_H ++# ifndef _STLP_INTERNAL_ITERATOR_H + # include + # endif + +-#ifndef __SGI_STL_INTERNAL_CONSTRUCT_H ++#ifndef _STLP_INTERNAL_CONSTRUCT_H + #include + #endif + +-#ifndef __SGI_STL_INTERNAL_RAW_STORAGE_ITERATOR_H ++#ifndef _STLP_INTERNAL_RAW_STORAGE_ITERATOR_H + #include + #endif + +-# ifndef __SGI_STL_INTERNAL_STREAM_ITERATOR_H ++# ifndef _STLP_INTERNAL_STREAM_ITERATOR_H + # include + # endif + +-#ifdef __STL_USE_NAMESPACES +- +- +-# if 0 // defined (__STL_USE_OWN_NAMESPACE) && defined (__STL_IMPORT_VENDOR_STD) && !defined (__STL_BROKEN_USING_DIRECTIVE) +- +-__STL_BEGIN_NAMESPACE +- +-using __STL_VENDOR_STD::istream_iterator; +-using __STL_VENDOR_STD::ostream_iterator; +- +-__STL_END_NAMESPACE +- +-# endif ++#ifdef _STLP_USE_NAMESPACES + + // Names from stl_iterator.h + +-# ifdef __STL_BROKEN_USING_DIRECTIVE ++# ifdef _STLP_BROKEN_USING_DIRECTIVE + using namespace STLPORT; + # else + +@@ -109,13 +97,15 @@ + using STLPORT::bidirectional_iterator; + using STLPORT::random_access_iterator; + +-#ifdef __STL_CLASS_PARTIAL_SPECIALIZATION ++#ifdef _STLP_CLASS_PARTIAL_SPECIALIZATION + using STLPORT::iterator_traits; + #endif + ++# ifdef _STLP_USE_OLD_HP_ITERATOR_QUERIES + using STLPORT::iterator_category; + using STLPORT::distance_type; + using STLPORT::value_type; ++# endif + + using STLPORT::distance; + using STLPORT::advance; +@@ -128,8 +118,9 @@ + using STLPORT::back_inserter; + + using STLPORT::reverse_iterator; ++# if ! defined ( _STLP_CLASS_PARTIAL_SPECIALIZATION ) || defined (_STLP_USE_OLD_HP_ITERATOR_QUERIES) + using STLPORT::reverse_bidirectional_iterator; +- ++# endif + using STLPORT::istream_iterator; + using STLPORT::ostream_iterator; + +@@ -141,14 +132,14 @@ + using STLPORT::raw_storage_iterator; + # endif + +-#endif /* __STL_USE_NAMESPACES */ ++#endif /* _STLP_USE_NAMESPACES */ + +-# if (__STL_OUTERMOST_HEADER_ID == 0xa013) ++# if (_STLP_OUTERMOST_HEADER_ID == 0xa013) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_ITERATOR_H */ ++#endif /* _STLP_ITERATOR_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/list.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/list.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/list.h Sat Feb 24 10:44:34 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/list.h Sun Aug 11 18:59:24 2002 +@@ -23,39 +23,39 @@ + * + */ + +-#ifndef __SGI_STL_LIST_H +-#define __SGI_STL_LIST_H ++#ifndef _STLP_LIST_H ++#define _STLP_LIST_H + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0xa014 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0xa014 + # include + # endif + +-#ifndef __SGI_STL_ALGOBASE_H ++#ifndef _STLP_ALGOBASE_H + # include + #endif + +-#ifndef __SGI_STL_ALLOC_H ++#ifndef _STLP_ALLOC_H + # include + #endif + + #include + +-#ifdef __STL_USE_NAMESPACES +-# ifdef __STL_BROKEN_USING_DIRECTIVE ++#ifdef _STLP_USE_NAMESPACES ++# ifdef _STLP_BROKEN_USING_DIRECTIVE + using namespace STLPORT; + # else + using STLPORT::list; + using STLPORT::__list__; + # endif +-#endif /* __STL_USE_NAMESPACES */ ++#endif /* _STLP_USE_NAMESPACES */ + +-# if (__STL_OUTERMOST_HEADER_ID == 0xa014) ++# if (_STLP_OUTERMOST_HEADER_ID == 0xa014) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_LIST_H */ ++#endif /* _STLP_LIST_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/map.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/map.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/map.h Sat Feb 24 10:44:34 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/map.h Sun Aug 11 18:59:24 2002 +@@ -23,37 +23,37 @@ + * + */ + +-#ifndef __SGI_STL_MAP_H +-# define __SGI_STL_MAP_H ++#ifndef _STLP_MAP_H ++# define _STLP_MAP_H + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0xa015 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0xa015 + # include + # endif + +-#ifndef __SGI_STL_TREE_H ++#ifndef _STLP_TREE_H + # include + #endif + + # include + +-#ifdef __STL_USE_NAMESPACES +-# ifdef __STL_BROKEN_USING_DIRECTIVE ++#ifdef _STLP_USE_NAMESPACES ++# ifdef _STLP_BROKEN_USING_DIRECTIVE + using namespace STLPORT; + # else + using STLPORT::map; +-# ifdef __STL_LIMITED_DEFAULT_TEMPLATES ++# ifdef _STLP_LIMITED_DEFAULT_TEMPLATES + using STLPORT::__map; + # endif + # endif +-#endif /* __STL_USE_NAMESPACES */ ++#endif /* _STLP_USE_NAMESPACES */ + +-# if (__STL_OUTERMOST_HEADER_ID == 0xa015) ++# if (_STLP_OUTERMOST_HEADER_ID == 0xa015) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_MAP_H */ ++#endif /* _STLP_MAP_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/multimap.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/multimap.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/multimap.h Sat Feb 24 10:44:34 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/multimap.h Sun Aug 11 18:59:24 2002 +@@ -23,35 +23,35 @@ + * + */ + +-#ifndef __SGI_STL_MULTIMAP_H +-#define __SGI_STL_MULTIMAP_H ++#ifndef _STLP_MULTIMAP_H ++#define _STLP_MULTIMAP_H + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0xa016 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0xa016 + # include + # endif + +-#ifndef __SGI_STL_TREE_H ++#ifndef _STLP_TREE_H + # include + #endif + + #include + +-#ifdef __STL_USE_NAMESPACES +-# ifdef __STL_BROKEN_USING_DIRECTIVE ++#ifdef _STLP_USE_NAMESPACES ++# ifdef _STLP_BROKEN_USING_DIRECTIVE + using namespace STLPORT; + # else + using STLPORT::multimap; + using STLPORT::__multimap__; + # endif +-#endif /* __STL_USE_NAMESPACES */ ++#endif /* _STLP_USE_NAMESPACES */ + +-# if (__STL_OUTERMOST_HEADER_ID == 0xa016) ++# if (_STLP_OUTERMOST_HEADER_ID == 0xa016) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_MULTIMAP_H */ ++#endif /* _STLP_MULTIMAP_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/multiset.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/multiset.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/multiset.h Sat Feb 24 10:44:34 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/multiset.h Sun Aug 11 18:59:24 2002 +@@ -23,35 +23,35 @@ + * + */ + +-#ifndef __SGI_STL_MULTISET_H +-#define __SGI_STL_MULTISET_H ++#ifndef _STLP_MULTISET_H ++#define _STLP_MULTISET_H + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0xa017 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0xa017 + # include + # endif + +-#ifndef __SGI_STL_TREE_H ++#ifndef _STLP_TREE_H + # include + #endif + + #include + +-#ifdef __STL_USE_NAMESPACES +-# ifdef __STL_BROKEN_USING_DIRECTIVE ++#ifdef _STLP_USE_NAMESPACES ++# ifdef _STLP_BROKEN_USING_DIRECTIVE + using namespace STLPORT; + # else + using STLPORT::multiset; + using STLPORT::__multiset__; + # endif +-#endif /* __STL_USE_NAMESPACES */ ++#endif /* _STLP_USE_NAMESPACES */ + +-# if (__STL_OUTERMOST_HEADER_ID == 0xa017) ++# if (_STLP_OUTERMOST_HEADER_ID == 0xa017) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_MULTISET_H */ ++#endif /* _STLP_MULTISET_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/numeric.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/numeric.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/numeric.h Sat Feb 24 10:44:34 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/numeric.h Sun Aug 11 18:59:24 2002 +@@ -12,8 +12,8 @@ + * + */ + +-#ifndef __SGI_STL_NUMERIC_H +-# define __SGI_STL_NUMERIC_H ++#ifndef _STLP_NUMERIC_H ++# define _STLP_NUMERIC_H + + #ifndef __MWERKS__ + # error This file should be removed from installations not using the Metrowerks Standard Library +@@ -22,4 +22,4 @@ + //# include + #endif + +-# endif // __SGI_STL_NUMERIC_H ++# endif // _STLP_NUMERIC_H +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/pair.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/pair.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/pair.h Sat Feb 24 10:44:34 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/pair.h Sun Aug 11 18:59:24 2002 +@@ -23,47 +23,35 @@ + * + */ + +-#ifndef __SGI_STL_PAIR_H +-#define __SGI_STL_PAIR_H ++#ifndef _STLP_PAIR_H ++#define _STLP_PAIR_H + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0xa020 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0xa020 + # include + # endif + +-#if defined (__STL_DEBUG) || defined (__STL_ASSERTIONS) && !defined (__STLPORT_DEBUG_H) +-# include ++#ifndef _STLP_INTERNAL_ALGOBASE_H ++# include + #endif + +-#ifndef __SGI_STL_INTERNAL_RELOPS +-#include +-#endif +- +-#ifndef __TYPE_TRAITS_H +-# include +-#endif +- +-#ifndef __SGI_STL_INTERNAL_PAIR_H +-# include +-#endif +- +-#ifdef __STL_USE_NAMESPACES ++#ifdef _STLP_USE_NAMESPACES + +-# ifdef __STL_BROKEN_USING_DIRECTIVE ++# ifdef _STLP_BROKEN_USING_DIRECTIVE + using namespace STLPORT; + # else +-using __STLPORT_STD::pair; +-using __STLPORT_STD::make_pair; ++using _STLP_STD::pair; ++using _STLP_STD::make_pair; + # endif + +-#endif /* __STL_USE_NAMESPACES */ ++#endif /* _STLP_USE_NAMESPACES */ + +-# if (__STL_OUTERMOST_HEADER_ID == 0xa020) ++# if (_STLP_OUTERMOST_HEADER_ID == 0xa020) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_PAIR_H */ ++#endif /* _STLP_PAIR_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/pthread_alloc.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/pthread_alloc.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/pthread_alloc.h Sat Feb 24 10:44:34 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/pthread_alloc.h Sun Aug 11 18:59:24 2002 +@@ -23,33 +23,33 @@ + * + */ + +-#ifndef __SGI_STL_PTHREAD_ALLOC_H +-#define __SGI_STL_PTHREAD_ALLOC_H ++#ifndef _STLP_PTHREAD_ALLOC_H ++#define _STLP_PTHREAD_ALLOC_H + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0xa021 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0xa021 + # include + # endif + +-#if defined (__STL_DEBUG) || defined (__STL_ASSERTIONS) ++#if defined (_STLP_DEBUG) || defined (_STLP_ASSERTIONS) + # include + #endif + + #include + +-#ifdef __STL_USE_NAMESPACES ++#ifdef _STLP_USE_NAMESPACES + + using STLPORT::_Pthread_alloc_template; + using STLPORT::pthread_alloc; + +-#endif /* __STL_USE_NAMESPACES */ ++#endif /* _STLP_USE_NAMESPACES */ + +-# if (__STL_OUTERMOST_HEADER_ID == 0xa021) ++# if (_STLP_OUTERMOST_HEADER_ID == 0xa021) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_PTHREAD_ALLOC_H */ ++#endif /* _STLP_PTHREAD_ALLOC_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/rope.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/rope.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/rope.h Sat Feb 24 10:44:34 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/rope.h Sun Aug 11 18:59:24 2002 +@@ -16,18 +16,18 @@ + * + */ + +-#ifndef __SGI_STL_ROPE_H +-#define __SGI_STL_ROPE_H ++#ifndef _STLP_ROPE_H ++#define _STLP_ROPE_H + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0xa022 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0xa022 + # include + # endif + + #include + +-#ifdef __STL_USE_NAMESPACES +-# ifdef __STL_BROKEN_USING_DIRECTIVE ++#ifdef _STLP_USE_NAMESPACES ++# ifdef _STLP_BROKEN_USING_DIRECTIVE + using namespace STLPORT; + # else + using STLPORT::char_producer; +@@ -36,14 +36,14 @@ + using STLPORT::crope; + using STLPORT::wrope; + # endif +-#endif /* __STL_USE_NAMESPACES */ ++#endif /* _STLP_USE_NAMESPACES */ + +-# if (__STL_OUTERMOST_HEADER_ID == 0xa022) ++# if (_STLP_OUTERMOST_HEADER_ID == 0xa022) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_ROPE_H */ ++#endif /* _STLP_ROPE_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/set.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/set.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/set.h Sat Feb 24 10:44:34 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/set.h Sun Aug 11 18:59:24 2002 +@@ -23,34 +23,34 @@ + * + */ + +-#ifndef __SGI_STL_SET_H +-#define __SGI_STL_SET_H ++#ifndef _STLP_SET_H ++#define _STLP_SET_H + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0xa023 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0xa023 + # include + # endif + +-#ifndef __SGI_STL_TREE_H ++#ifndef _STLP_TREE_H + # include + #endif + + #include + +-#ifdef __STL_USE_NAMESPACES +-# ifdef __STL_BROKEN_USING_DIRECTIVE ++#ifdef _STLP_USE_NAMESPACES ++# ifdef _STLP_BROKEN_USING_DIRECTIVE + using namespace STLPORT; + # else + using STLPORT::set; + using STLPORT::__set__; + # endif +-#endif /* __STL_USE_NAMESPACES */ +-# if (__STL_OUTERMOST_HEADER_ID == 0xa023) ++#endif /* _STLP_USE_NAMESPACES */ ++# if (_STLP_OUTERMOST_HEADER_ID == 0xa023) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_SET_H */ ++#endif /* _STLP_SET_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/slist.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/slist.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/slist.h Sat Feb 24 10:44:34 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/slist.h Sun Aug 11 18:59:24 2002 +@@ -16,41 +16,41 @@ + * + */ + +-#ifndef __SGI_STL_SLIST_H +-#define __SGI_STL_SLIST_H ++#ifndef _STLP_SLIST_H ++#define _STLP_SLIST_H + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0xa024 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0xa024 + # include + # endif + +-#ifndef __SGI_STL_ALGOBASE_H ++#ifndef _STLP_ALGOBASE_H + # include + #endif + +-#ifndef __SGI_STL_ALLOC_H ++#ifndef _STLP_ALLOC_H + # include + #endif + + #include + +-#ifdef __STL_USE_NAMESPACES +-# ifdef __STL_BROKEN_USING_DIRECTIVE ++#ifdef _STLP_USE_NAMESPACES ++# ifdef _STLP_BROKEN_USING_DIRECTIVE + using namespace STLPORT; + # else + using STLPORT::slist; +-# ifdef __STL_LIMITED_DEFAULT_TEMPLATES ++# ifdef _STLP_LIMITED_DEFAULT_TEMPLATES + using STLPORT::__slist; + # endif + # endif +-#endif /* __STL_USE_NAMESPACES */ ++#endif /* _STLP_USE_NAMESPACES */ + +-# if (__STL_OUTERMOST_HEADER_ID == 0xa024) ++# if (_STLP_OUTERMOST_HEADER_ID == 0xa024) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_SLIST_H */ ++#endif /* _STLP_SLIST_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/stack.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/stack.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/stack.h Sat Feb 24 10:44:34 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/stack.h Sun Aug 11 18:59:24 2002 +@@ -23,50 +23,50 @@ + * + */ + +-#ifndef __SGI_STL_STACK_H +-#define __SGI_STL_STACK_H ++#ifndef _STLP_STACK_H ++#define _STLP_STACK_H + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0xa027 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0xa027 + # include + # endif + +-#ifndef __SGI_STL_VECTOR_H ++#ifndef _STLP_VECTOR_H + #include + #endif + +-#ifndef __SGI_STL_DEQUE_H ++#ifndef _STLP_DEQUE_H + #include + #endif + +-#ifndef __SGI_STL_HEAP_H ++#ifndef _STLP_HEAP_H + #include + #endif + +-#ifndef __SGI_STL_INTERNAL_STACK_H ++#ifndef _STLP_INTERNAL_STACK_H + #include + #endif + +-#ifndef __SGI_STL_INTERNAL_QUEUE_H ++#ifndef _STLP_INTERNAL_QUEUE_H + #include + #endif + +-#ifdef __STL_USE_NAMESPACES +-# ifdef __STL_BROKEN_USING_DIRECTIVE ++#ifdef _STLP_USE_NAMESPACES ++# ifdef _STLP_BROKEN_USING_DIRECTIVE + using namespace STLPORT; + # else +-using __STLPORT_STD::stack; +-using __STLPORT_STD::queue; +-using __STLPORT_STD::priority_queue; ++using _STLP_STD::stack; ++using _STLP_STD::queue; ++using _STLP_STD::priority_queue; + # endif +-#endif /* __STL_USE_NAMESPACES */ ++#endif /* _STLP_USE_NAMESPACES */ + +-# if (__STL_OUTERMOST_HEADER_ID == 0xa027) ++# if (_STLP_OUTERMOST_HEADER_ID == 0xa027) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_STACK_H */ ++#endif /* _STLP_STACK_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/tempbuf.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/tempbuf.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/tempbuf.h Sat Feb 24 10:44:34 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/tempbuf.h Sun Aug 11 18:59:24 2002 +@@ -20,27 +20,27 @@ + * + */ + +-#ifndef __SGI_STL_TEMPBUF_H +-#define __SGI_STL_TEMPBUF_H ++#ifndef _STLP_TEMPBUF_H ++#define _STLP_TEMPBUF_H + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0xa028 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0xa028 + # include + # endif + +-# ifndef __STLPORT_CLIMITS ++# ifndef _STLP_CLIMITS + # include + # endif + +-#ifndef __STLPORT_CSTDDEF ++#ifndef _STLP_CSTDDEF + # include + #endif + +-#ifndef __STLPORT_CSTDLIB ++#ifndef _STLP_CSTDLIB + # include + #endif + +-#if !defined (__STLPORT_NEW) ++#if !defined (_STLP_NEW) + # include + #endif + +@@ -48,31 +48,31 @@ + #include + #endif + +-#ifndef __SGI_STL_PAIR_H ++#ifndef _STLP_PAIR_H + #include + #endif + +-#ifndef __SGI_STL_INTERNAL_TEMPBUF_H ++#ifndef _STLP_INTERNAL_TEMPBUF_H + #include + #endif + +-#ifdef __STL_USE_NAMESPACES ++#ifdef _STLP_USE_NAMESPACES + +-# ifdef __STL_BROKEN_USING_DIRECTIVE ++# ifdef _STLP_BROKEN_USING_DIRECTIVE + using namespace STLPORT; + # else +-using __STLPORT_STD::get_temporary_buffer; +-using __STLPORT_STD::return_temporary_buffer; +-using __STLPORT_STD::temporary_buffer; ++using _STLP_STD::get_temporary_buffer; ++using _STLP_STD::return_temporary_buffer; ++using _STLP_STD::temporary_buffer; + # endif +-#endif /* __STL_USE_NAMESPACES */ ++#endif /* _STLP_USE_NAMESPACES */ + +-# if (__STL_OUTERMOST_HEADER_ID == 0xa028) ++# if (_STLP_OUTERMOST_HEADER_ID == 0xa028) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_TEMPBUF_H */ ++#endif /* _STLP_TEMPBUF_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/tree.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/tree.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/tree.h Sat Feb 24 10:44:34 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/tree.h Sun Aug 11 18:59:24 2002 +@@ -20,40 +20,40 @@ + * + */ + +-#ifndef __SGI_STL_TREE_H +-#define __SGI_STL_TREE_H ++#ifndef _STLP_TREE_H ++#define _STLP_TREE_H + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0xa030 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0xa030 + # include + # endif + +-#ifndef __SGI_STL_ALGOBASE_H ++#ifndef _STLP_ALGOBASE_H + #include + #endif + +-#ifndef __SGI_STL_ALLOC_H ++#ifndef _STLP_ALLOC_H + #include + #endif + +-#ifndef __SGI_STL_INTERNAL_TREE_H ++#ifndef _STLP_INTERNAL_TREE_H + #include + #endif + +-#ifdef __STL_USE_NAMESPACES +-# ifdef __STL_BROKEN_USING_DIRECTIVE ++#ifdef _STLP_USE_NAMESPACES ++# ifdef _STLP_BROKEN_USING_DIRECTIVE + using namespace STLPORT; + # else +-using __STLPORT_STD::rb_tree; ++using _STLP_STD::rb_tree; + # endif +-#endif /* __STL_USE_NAMESPACES */ ++#endif /* _STLP_USE_NAMESPACES */ + +-# if (__STL_OUTERMOST_HEADER_ID == 0xa030) ++# if (_STLP_OUTERMOST_HEADER_ID == 0xa030) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_TREE_H */ ++#endif /* _STLP_TREE_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/vector.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/vector.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/vector.h Sat Feb 24 10:44:34 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/vector.h Sun Aug 11 18:59:24 2002 +@@ -20,45 +20,45 @@ + * + */ + +-#ifndef __SGI_STL_VECTOR_H +-#define __SGI_STL_VECTOR_H ++#ifndef _STLP_VECTOR_H ++#define _STLP_VECTOR_H + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0xa031 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0xa031 + # include + # endif + +-#ifndef __SGI_STL_ALGOBASE_H ++#ifndef _STLP_ALGOBASE_H + # include + #endif + +-#ifndef __SGI_STL_ALLOC_H ++#ifndef _STLP_ALLOC_H + # include + #endif + +-# ifndef __STL_RANGE_ERRORS_H ++# ifndef _STLP_RANGE_ERRORS_H + # include + # endif + +-#ifndef __SGI_STL_INTERNAL_VECTOR_H ++#ifndef _STLP_INTERNAL_VECTOR_H + # include + #endif + +-#ifdef __STL_USE_NAMESPACES +-# ifdef __STL_BROKEN_USING_DIRECTIVE ++#ifdef _STLP_USE_NAMESPACES ++# ifdef _STLP_BROKEN_USING_DIRECTIVE + using namespace STLPORT; + # else + using STLPORT::vector; + using STLPORT::__vector__; + # endif +-#endif /* __STL_USE_NAMESPACES */ ++#endif /* _STLP_USE_NAMESPACES */ + +-# if (__STL_OUTERMOST_HEADER_ID == 0xa031) ++# if (_STLP_OUTERMOST_HEADER_ID == 0xa031) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_VECTOR_H */ ++#endif /* _STLP_VECTOR_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/ostream tripwire-2.3.1-2/src/STLport-4.0/stlport/ostream +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/ostream Sat Feb 24 10:44:24 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/ostream Sun Aug 11 18:59:23 2002 +@@ -15,34 +15,30 @@ + * modified is included with the above copyright notice. + * + */ +-#ifndef __SGI_STL_OSTREAM +-#define __SGI_STL_OSTREAM ++#ifndef _STLP_OSTREAM ++#define _STLP_OSTREAM + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x1050 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x1050 + # include + # endif + +-# if defined (__SGI_STL_OWN_IOSTREAMS) +- +-# if defined(__sgi) && !defined(__GNUC__) && !defined(_STANDARD_C_PLUS_PLUS) +-# error This header file requires the -LANG:std option +-# endif ++# if defined (_STLP_OWN_IOSTREAMS) + + # include + +-# elif !defined(__STL_USE_NO_IOSTREAMS) ++# elif !defined(_STLP_USE_NO_IOSTREAMS) + + # include + + # endif + +-# if (__STL_OUTERMOST_HEADER_ID == 0x1050) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x1050) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_OSTREAM */ ++#endif /* _STLP_OSTREAM */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/ostream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/ostream.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/ostream.h Sat Feb 24 10:44:24 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/ostream.h Sun Aug 11 18:59:23 2002 +@@ -13,37 +13,41 @@ + * + */ + +-#ifndef __STLPORT_OSTREAM_H +-# define __STLPORT_OSTREAM_H ++#ifndef _STLP_OSTREAM_H ++# define _STLP_OSTREAM_H + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x2051 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x2051 + # include + # endif + +-# if defined (__SGI_STL_OWN_IOSTREAMS) ++# if defined (_STLP_OWN_IOSTREAMS) + ++#ifdef __BORLANDC__ ++# include ++#else + # include ++#endif + +-# ifdef __STL_USE_NAMESPACES ++# ifdef _STLP_USE_NAMESPACES + # include + # endif + +-# elif !defined (__STL_USE_NO_IOSTREAMS) ++# elif !defined (_STLP_USE_NO_IOSTREAMS) + +-# include __STL_NATIVE_OLD_STREAMS_HEADER(ostream.h) +-# if defined (__STL_USE_NAMESPACES) && !defined (__STL_BROKEN_USING_DIRECTIVE) +-__STL_BEGIN_NAMESPACE ++# include _STLP_NATIVE_OLD_STREAMS_HEADER(ostream.h) ++# if defined (_STLP_USE_NAMESPACES) && !defined (_STLP_BROKEN_USING_DIRECTIVE) ++_STLP_BEGIN_NAMESPACE + # include +-__STL_END_NAMESPACE +-# endif /* __STL_USE_NAMESPACES */ ++_STLP_END_NAMESPACE ++# endif /* _STLP_USE_NAMESPACES */ + +-# endif /* __STL_USE_NO_IOSTREAMS */ ++# endif /* _STLP_USE_NO_IOSTREAMS */ + +-# if (__STL_OUTERMOST_HEADER_ID == 0x2051) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x2051) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __STLPORT_OSTREAM_H */ ++#endif /* _STLP_OSTREAM_H */ + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/pthread.h tripwire-2.3.1-2/src/STLport-4.0/stlport/pthread.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/pthread.h Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/pthread.h Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,39 @@ ++/* ++ * Copyright (c) 1999 ++ * Boris Fomitchev ++ * ++ * This material is provided "as is", with absolutely no warranty expressed ++ * or implied. Any use is at your own risk. ++ * ++ * Permission to use or copy this software for any purpose is hereby granted ++ * without fee, provided the above notices are retained on all copies. ++ * Permission to modify the code and to distribute modified code is granted, ++ * provided the above notices are retained, and a notice that the code was ++ * modified is included with the above copyright notice. ++ * ++ */ ++ ++# if !defined (_STLP_OUTERMOST_HEADER_ID) ++# define _STLP_OUTERMOST_HEADER_ID 0x280 ++# include ++# elif (_STLP_OUTERMOST_HEADER_ID == 0x280) && ! defined (_STLP_DONT_POP_0x280) ++# define _STLP_DONT_POP_0x280 ++# endif ++ ++# if defined (__SUNPRO_CC) || defined (__HP_aCC) ++# include "/usr/include/pthread.h" ++# else ++# include _STLP_NATIVE_C_HEADER(pthread.h) ++# endif ++ ++# if (_STLP_OUTERMOST_HEADER_ID == 0x280) ++# if ! defined (_STLP_DONT_POP_0x280) ++# include ++# undef _STLP_OUTERMOST_HEADER_ID ++# endif ++# undef _STLP_DONT_POP_0x280 ++# endif ++ ++// Local Variables: ++// mode:C++ ++// End: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/pthread_alloc tripwire-2.3.1-2/src/STLport-4.0/stlport/pthread_alloc +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/pthread_alloc Sat Feb 24 10:44:24 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/pthread_alloc Sun Aug 11 18:59:23 2002 +@@ -23,506 +23,22 @@ + * + */ + +-#ifndef __SGI_STL_PTHREAD_ALLOC +-#define __SGI_STL_PTHREAD_ALLOC ++#ifndef _STLP_PTHREAD_ALLOC ++#define _STLP_PTHREAD_ALLOC + +-// Pthread-specific node allocator. +-// This is similar to the default allocator, except that free-list +-// information is kept separately for each thread, avoiding locking. +-// This should be reasonably fast even in the presence of threads. +-// The down side is that storage may not be well-utilized. +-// It is not an error to allocate memory in thread A and deallocate +-// it in thread B. But this effectively transfers ownership of the memory, +-// so that it can only be reallocated by thread B. Thus this can effectively +-// result in a storage leak if it's done on a regular basis. +-// It can also result in frequent sharing of +-// cache lines among processors, with potentially serious performance +-// consequences. +- +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x52 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x52 + # include + # endif + +-#ifndef __SGI_STL_INTERNAL_ALLOC_H +-#include +-#endif +-#ifndef __RESTRICT +-# define __RESTRICT +-#endif +- +-__STL_BEGIN_NAMESPACE +- +-#define __STL_DATA_ALIGNMENT 8 +- +-union _Pthread_alloc_obj { +- union _Pthread_alloc_obj * __free_list_link; +- char __client_data[__STL_DATA_ALIGNMENT]; /* The client sees this. */ +-}; +- +-// Pthread allocators don't appear to the client to have meaningful +-// instances. We do in fact need to associate some state with each +-// thread. That state is represented by +-// _Pthread_alloc_per_thread_state<_Max_size>. +- +-template +-struct _Pthread_alloc_per_thread_state { +- typedef _Pthread_alloc_obj __obj; +- enum { _S_NFREELISTS = _Max_size/__STL_DATA_ALIGNMENT }; +- _Pthread_alloc_obj* volatile __free_list[_S_NFREELISTS]; +- _Pthread_alloc_per_thread_state<_Max_size> * __next; +- // Free list link for list of available per thread structures. +- // When one of these becomes available for reuse due to thread +- // termination, any objects in its free list remain associated +- // with it. The whole structure may then be used by a newly +- // created thread. +- _Pthread_alloc_per_thread_state() : __next(0) +- { +- memset((void *)__free_list, 0, (size_t)_S_NFREELISTS * sizeof(__obj *)); +- } +- // Returns an object of size __n, and possibly adds to size n free list. +- void *_M_refill(size_t __n); +-}; +- +-// Pthread-specific allocator. +-// The argument specifies the largest object size allocated from per-thread +-// free lists. Larger objects are allocated using malloc_alloc. +-// Max_size must be a power of 2. +-template < __DFL_NON_TYPE_PARAM(size_t, _Max_size, 128) > +-class _Pthread_alloc_template { +- +-public: // but only for internal use: +- +- typedef _Pthread_alloc_obj __obj; +- +- // Allocates a chunk for nobjs of size size. nobjs may be reduced +- // if it is inconvenient to allocate the requested number. +- static char *_S_chunk_alloc(size_t __size, int &__nobjs); +- +- enum {_S_ALIGN = __STL_DATA_ALIGNMENT}; +- +- static size_t _S_round_up(size_t __bytes) { +- return (((__bytes) + (int)_S_ALIGN-1) & ~((int)_S_ALIGN - 1)); +- } +- static size_t _S_freelist_index(size_t __bytes) { +- return (((__bytes) + (int)_S_ALIGN-1)/(int)_S_ALIGN - 1); +- } +- +-private: +- // Chunk allocation state. And other shared state. +- // Protected by _S_chunk_allocator_lock. +- static _STL_mutex_base _S_chunk_allocator_lock; +- static char *_S_start_free; +- static char *_S_end_free; +- static size_t _S_heap_size; +- static _Pthread_alloc_per_thread_state<_Max_size>* _S_free_per_thread_states; +- static pthread_key_t _S_key; +- static bool _S_key_initialized; +- // Pthread key under which per thread state is stored. +- // Allocator instances that are currently unclaimed by any thread. +- static void _S_destructor(void *instance); +- // Function to be called on thread exit to reclaim per thread +- // state. +- static _Pthread_alloc_per_thread_state<_Max_size> *_S_new_per_thread_state(); +- // Return a recycled or new per thread state. +- static _Pthread_alloc_per_thread_state<_Max_size> *_S_get_per_thread_state(); +- // ensure that the current thread has an associated +- // per thread state. +- class _M_lock; +- friend class _M_lock; +- class _M_lock { +- public: +- _M_lock () { _S_chunk_allocator_lock._M_acquire_lock(); } +- ~_M_lock () { _S_chunk_allocator_lock._M_release_lock(); } +- }; +- +-public: +- +- /* n must be > 0 */ +- static void * allocate(size_t __n) +- { +- __obj * volatile * __my_free_list; +- __obj * __RESTRICT __result; +- _Pthread_alloc_per_thread_state<_Max_size>* __a; +- +- if (__n > _Max_size) { +- return(__malloc_alloc<0>::allocate(__n)); +- } +- if (!_S_key_initialized || +- !(__a = (_Pthread_alloc_per_thread_state<_Max_size>*) +- pthread_getspecific(_S_key))) { +- __a = _S_get_per_thread_state(); +- } +- __my_free_list = __a -> __free_list + _S_freelist_index(__n); +- __result = *__my_free_list; +- if (__result == 0) { +- void *__r = __a -> _M_refill(_S_round_up(__n)); +- return __r; +- } +- *__my_free_list = __result -> __free_list_link; +- return (__result); +- }; +- +- /* p may not be 0 */ +- static void deallocate(void *__p, size_t __n) +- { +- __obj *__q = (__obj *)__p; +- __obj * volatile * __my_free_list; +- _Pthread_alloc_per_thread_state<_Max_size>* __a; +- +- if (__n > _Max_size) { +- __malloc_alloc<0>::deallocate(__p, __n); +- return; +- } +- if (!_S_key_initialized || +- !(__a = (_Pthread_alloc_per_thread_state<_Max_size> *) +- pthread_getspecific(_S_key))) { +- __a = _S_get_per_thread_state(); +- } +- __my_free_list = __a->__free_list + _S_freelist_index(__n); +- __q -> __free_list_link = *__my_free_list; +- *__my_free_list = __q; +- } +- +- static void * reallocate(void *__p, size_t __old_sz, size_t __new_sz); +- +-} ; +- +-typedef _Pthread_alloc_template<128> pthread_alloc; +- +- +-template +-void _Pthread_alloc_template<_Max_size>::_S_destructor(void * __instance) +-{ +- _M_lock __lock_instance; // Need to acquire lock here. +- _Pthread_alloc_per_thread_state<_Max_size>* __s = +- (_Pthread_alloc_per_thread_state<_Max_size> *)__instance; +- __s -> __next = _S_free_per_thread_states; +- _S_free_per_thread_states = __s; +-} +- +-template +-_Pthread_alloc_per_thread_state<_Max_size> * +-_Pthread_alloc_template<_Max_size>::_S_new_per_thread_state() +-{ +- /* lock already held here. */ +- if (0 != _S_free_per_thread_states) { +- _Pthread_alloc_per_thread_state<_Max_size> *__result = +- _S_free_per_thread_states; +- _S_free_per_thread_states = _S_free_per_thread_states -> __next; +- return __result; +- } else { +- return __STL_NEW _Pthread_alloc_per_thread_state<_Max_size>; +- } +-} +- +-template +-_Pthread_alloc_per_thread_state<_Max_size> * +-_Pthread_alloc_template<_Max_size>::_S_get_per_thread_state() +-{ +- /*REFERENCED*/ +- _M_lock __lock_instance; // Need to acquire lock here. +- int __ret_code; +- _Pthread_alloc_per_thread_state<_Max_size> * __result; +- if (!_S_key_initialized) { +- if (pthread_key_create(&_S_key, _S_destructor)) { +- __THROW_BAD_ALLOC; // failed +- } +- _S_key_initialized = true; +- } +- __result = _S_new_per_thread_state(); +- __ret_code = pthread_setspecific(_S_key, __result); +- if (__ret_code) { +- if (__ret_code == ENOMEM) { +- __THROW_BAD_ALLOC; +- } else { +- // EINVAL +- abort(); +- } +- } +- return __result; +-} +- +-/* We allocate memory in large chunks in order to avoid fragmenting */ +-/* the malloc heap too much. */ +-/* We assume that size is properly aligned. */ +-template +-char *_Pthread_alloc_template<_Max_size> +-::_S_chunk_alloc(size_t __p_size, int &__nobjs) +-{ +- { +- char * __result; +- size_t __total_bytes; +- size_t __bytes_left; +- /*REFERENCED*/ +- _M_lock __lock_instance; // Acquire lock for this routine +- +- __total_bytes = __p_size * __nobjs; +- __bytes_left = _S_end_free - _S_start_free; +- if (__bytes_left >= __total_bytes) { +- __result = _S_start_free; +- _S_start_free += __total_bytes; +- return(__result); +- } else if (__bytes_left >= __p_size) { +- __nobjs = __bytes_left/__p_size; +- __total_bytes = __p_size * __nobjs; +- __result = _S_start_free; +- _S_start_free += __total_bytes; +- return(__result); +- } else { +- size_t __bytes_to_get = +- 2 * __total_bytes + _S_round_up(_S_heap_size >> 4); +- // Try to make use of the left-over piece. +- if (__bytes_left > 0) { +- _Pthread_alloc_per_thread_state<_Max_size>* __a = +- (_Pthread_alloc_per_thread_state<_Max_size>*) +- pthread_getspecific(_S_key); +- __obj * volatile * __my_free_list = +- __a->__free_list + _S_freelist_index(__bytes_left); +- +- ((__obj *)_S_start_free) -> __free_list_link = *__my_free_list; +- *__my_free_list = (__obj *)_S_start_free; +- } +-# ifdef _SGI_SOURCE +- // Try to get memory that's aligned on something like a +- // cache line boundary, so as to avoid parceling out +- // parts of the same line to different threads and thus +- // possibly different processors. +- { +- const int __cache_line_size = 128; // probable upper bound +- __bytes_to_get &= ~(__cache_line_size-1); +- _S_start_free = (char *)memalign(__cache_line_size, __bytes_to_get); +- if (0 == _S_start_free) { +- _S_start_free = (char *)__malloc_alloc<0>::allocate(__bytes_to_get); +- } +- } +-# else /* !SGI_SOURCE */ +- _S_start_free = (char *)__malloc_alloc<0>::allocate(__bytes_to_get); +-# endif +- _S_heap_size += __bytes_to_get; +- _S_end_free = _S_start_free + __bytes_to_get; +- } +- } +- // lock is released here +- return(_S_chunk_alloc(__p_size, __nobjs)); +-} +- +- +-/* Returns an object of size n, and optionally adds to size n free list.*/ +-/* We assume that n is properly aligned. */ +-/* We hold the allocation lock. */ +-template +-void *_Pthread_alloc_per_thread_state<_Max_size> +-::_M_refill(size_t __n) +-{ +- int __nobjs = 128; +- char * __chunk = +- _Pthread_alloc_template<_Max_size>::_S_chunk_alloc(__n, __nobjs); +- __obj * volatile * __my_free_list; +- __obj * __result; +- __obj * __current_obj, * __next_obj; +- int __i; +- +- if (1 == __nobjs) { +- return(__chunk); +- } +- __my_free_list = __free_list +- + _Pthread_alloc_template<_Max_size>::_S_freelist_index(__n); +- +- /* Build free list in chunk */ +- __result = (__obj *)__chunk; +- *__my_free_list = __next_obj = (__obj *)(__chunk + __n); +- for (__i = 1; ; __i++) { +- __current_obj = __next_obj; +- __next_obj = (__obj *)((char *)__next_obj + __n); +- if (__nobjs - 1 == __i) { +- __current_obj -> __free_list_link = 0; +- break; +- } else { +- __current_obj -> __free_list_link = __next_obj; +- } +- } +- return(__result); +-} +- +-template +-void *_Pthread_alloc_template<_Max_size> +-::reallocate(void *__p, size_t __old_sz, size_t __new_sz) +-{ +- void * __result; +- size_t __copy_sz; +- +- if (__old_sz > _Max_size +- && __new_sz > _Max_size) { +- return(realloc(__p, __new_sz)); +- } +- if (_S_round_up(__old_sz) == _S_round_up(__new_sz)) return(__p); +- __result = allocate(__new_sz); +- __copy_sz = __new_sz > __old_sz? __old_sz : __new_sz; +- memcpy(__result, __p, __copy_sz); +- deallocate(__p, __old_sz); +- return(__result); +-} +- +-#if __STL_STATIC_TEMPLATE_DATA > 0 +-template +-_Pthread_alloc_per_thread_state<_Max_size> * +-_Pthread_alloc_template<_Max_size>::_S_free_per_thread_states = 0; +- +-template +-pthread_key_t _Pthread_alloc_template<_Max_size>::_S_key; +- +-template +-bool _Pthread_alloc_template<_Max_size>::_S_key_initialized = false; +- +-template +-_STL_mutex_base _Pthread_alloc_template<_Max_size>::_S_chunk_allocator_lock +- __STL_MUTEX_INITIALIZER; +- +-template +-char *_Pthread_alloc_template<_Max_size> +-::_S_start_free = 0; +- +-template +-char *_Pthread_alloc_template<_Max_size> +-::_S_end_free = 0; +- +-template +-size_t _Pthread_alloc_template<_Max_size> +-::_S_heap_size = 0; +-# endif +- +-template +-class pthread_allocator { +- typedef pthread_alloc _S_Alloc; // The underlying allocator. +-public: +- typedef size_t size_type; +- typedef ptrdiff_t difference_type; +- typedef _Tp* pointer; +- typedef const _Tp* const_pointer; +- typedef _Tp& reference; +- typedef const _Tp& const_reference; +- typedef _Tp value_type; +- +-#ifdef __STL_MEMBER_TEMPLATE_CLASSES +- template struct rebind { +- typedef pthread_allocator<_NewType> other; +- }; +-#endif +- +- pthread_allocator() __STL_NOTHROW {} +- pthread_allocator(const pthread_allocator<_Tp>& a) __STL_NOTHROW {} +- +-#if defined (__STL_MEMBER_TEMPLATES) && defined (__STL_FUNCTION_PARTIAL_ORDER) +- template pthread_allocator(const pthread_allocator<_OtherType>&) +- __STL_NOTHROW {} +-#endif +- +- ~pthread_allocator() __STL_NOTHROW {} +- +- pointer address(reference __x) const { return &__x; } +- const_pointer address(const_reference __x) const { return &__x; } +- +- // __n is permitted to be 0. The C++ standard says nothing about what +- // the return value is when __n == 0. +- _Tp* allocate(size_type __n, const void* = 0) { +- return __n != 0 ? __STATIC_CAST(_Tp*,_S_Alloc::allocate(__n * sizeof(_Tp))) +- : 0; +- } +- +- // p is not permitted to be a null pointer. +- void deallocate(pointer __p, size_type __n) +- { _S_Alloc::deallocate(__p, __n * sizeof(_Tp)); } +- +- size_type max_size() const __STL_NOTHROW +- { return size_t(-1) / sizeof(_Tp); } +- +- void construct(pointer __p, const _Tp& __val) { __STL_PLACEMENT_NEW (__p) _Tp(__val); } +- void destroy(pointer _p) { _p->~_Tp(); } +-}; +- +-__STL_TEMPLATE_NULL +-class pthread_allocator { +-public: +- typedef size_t size_type; +- typedef ptrdiff_t difference_type; +- typedef void* pointer; +- typedef const void* const_pointer; +- typedef void value_type; +-#ifdef __STL_MEMBER_TEMPLATE_CLASSES +- template struct rebind { +- typedef pthread_allocator<_NewType> other; +- }; +-#endif +-}; +- +-/* +-template +-inline bool operator==(const _Pthread_alloc_template<_Max_size>&, +- const _Pthread_alloc_template<_Max_size>&) +-{ +- return true; +-} +-*/ +- +-template +-inline bool operator==(const pthread_allocator<_T1>&, +- const pthread_allocator<_T2>& a2) +-{ +- return true; +-} +- +-#ifdef __STL_FUNCTION_TMPL_PARTIAL_ORDER +-template +-inline bool operator!=(const pthread_allocator<_T1>&, +- const pthread_allocator<_T2>&) +-{ +- return false; +-} +-#endif +- +-#ifdef __STL_CLASS_PARTIAL_SPECIALIZATION +-template +-struct _Alloc_traits<_Tp, _Pthread_alloc_template<_Max_size> > +-{ +- typedef __allocator<_Tp, _Pthread_alloc_template<_Max_size> > +- allocator_type; +-}; +- +-/* +-template +-struct _Alloc_traits<_Tp, __allocator<_Atype, _Pthread_alloc_template<_Max> > > +-{ +- typedef __allocator<_Tp, _Pthread_alloc_template<_Max> > allocator_type; +-}; +-*/ +- +-template +-struct _Alloc_traits<_Tp, pthread_allocator<_Atype> > +-{ +- typedef pthread_allocator<_Tp> allocator_type; +-}; +- +-#endif +- +-#if !defined (__STL_MEMBER_TEMPLATE_CLASSES) +- +-template +-inline allocator<_Tp2> +-__stl_alloc_rebind(pthread_allocator<_Tp1>&, const _Tp2*, __false_type) { +- return allocator<_Tp2>(); +-} +- +-#endif /* __STL_MEMBER_TEMPLATE_CLASSES */ +- +-__STL_END_NAMESPACE ++# include + +-# if (__STL_OUTERMOST_HEADER_ID == 0x52) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x52) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_PTHREAD_ALLOC */ ++#endif /* _STLP_PTHREAD_ALLOC */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/queue tripwire-2.3.1-2/src/STLport-4.0/stlport/queue +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/queue Sat Feb 24 10:44:24 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/queue Sun Aug 11 18:59:23 2002 +@@ -23,32 +23,28 @@ + * + */ + +-#ifndef __SGI_STL_QUEUE +-#define __SGI_STL_QUEUE ++#ifndef _STLP_QUEUE ++#define _STLP_QUEUE + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x53 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x53 + # include + # endif + +-#ifndef __SGI_STL_INTERNAL_QUEUE_H ++#ifndef _STLP_INTERNAL_QUEUE_H + # include + #endif + +-#ifndef __SGI_STL_INTERNAL_FUNCTION_H ++#ifndef _STLP_INTERNAL_FUNCTION_H + # include + #endif + +-#if defined (__STL_WHOLE_NATIVE_STD) +-# include __STL_NATIVE_HEADER(queue) +-#endif +- +-# if (__STL_OUTERMOST_HEADER_ID == 0x53) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x53) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_QUEUE */ ++#endif /* _STLP_QUEUE */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/rlocks.h tripwire-2.3.1-2/src/STLport-4.0/stlport/rlocks.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/rlocks.h Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/rlocks.h Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,11 @@ ++#ifndef _STLP_misc_rlocks_h ++# define _STLP_misc_rlocks_h ++# if (__SUNPRO_CC >= 0x500 ) ++# include <../CCios/rlocks.h> ++# elif defined (__SUNPRO_CC) ++# include <../CC/rlocks.h> ++# else ++# error "This file is for SUN CC only. Please remove it if it causes any harm for other compilers." ++# endif ++#endif ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/rope tripwire-2.3.1-2/src/STLport-4.0/stlport/rope +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/rope Sat Feb 24 10:44:24 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/rope Sun Aug 11 18:59:23 2002 +@@ -11,22 +11,22 @@ + * purpose. It is provided "as is" without express or implied warranty. + */ + +-#ifndef __SGI_STL_ROPE +-#define __SGI_STL_ROPE ++#ifndef _STLP_ROPE ++#define _STLP_ROPE + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x54 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x54 + # include + # endif + + # include + +-# if (__STL_OUTERMOST_HEADER_ID == 0x54) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x54) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_ROPE */ ++#endif /* _STLP_ROPE */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/set tripwire-2.3.1-2/src/STLport-4.0/stlport/set +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/set Sat Feb 24 10:44:24 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/set Sun Aug 11 18:59:23 2002 +@@ -23,26 +23,26 @@ + * + */ + +-#ifndef __SGI_STL_SET +-#define __SGI_STL_SET ++#ifndef _STLP_SET ++#define _STLP_SET + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x55 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x55 + # include + # endif + + #include + +-#if defined (__STL_WHOLE_NATIVE_STD) +-# include __STL_NATIVE_HEADER(set) ++#if defined (_STLP_WHOLE_VENDOR_STD) ++# include _STLP_NATIVE_HEADER(set) + #endif + +-# if (__STL_OUTERMOST_HEADER_ID == 0x55) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x55) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_SET */ ++#endif /* _STLP_SET */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/setjmp.h tripwire-2.3.1-2/src/STLport-4.0/stlport/setjmp.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/setjmp.h Sat Feb 24 10:44:24 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/setjmp.h Sun Aug 11 18:59:23 2002 +@@ -13,24 +13,24 @@ + * + */ + +-# if !defined (__STL_OUTERMOST_HEADER_ID) +-# define __STL_OUTERMOST_HEADER_ID 0x256 ++# if !defined (_STLP_OUTERMOST_HEADER_ID) ++# define _STLP_OUTERMOST_HEADER_ID 0x256 + # include +-# elif (__STL_OUTERMOST_HEADER_ID == 0x256) && ! defined (__STL_DONT_POP_0x256) +-# define __STL_DONT_POP_0x256 ++# elif (_STLP_OUTERMOST_HEADER_ID == 0x256) && ! defined (_STLP_DONT_POP_0x256) ++# define _STLP_DONT_POP_0x256 + # endif + + + # ifndef setjmp +-# include __STL_NATIVE_C_HEADER(setjmp.h) ++# include _STLP_NATIVE_C_HEADER(setjmp.h) + # endif + +-# if (__STL_OUTERMOST_HEADER_ID == 0x256) +-# if ! defined (__STL_DONT_POP_0x256) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x256) ++# if ! defined (_STLP_DONT_POP_0x256) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif +-# undef __STL_DONT_POP_0x256 ++# undef _STLP_DONT_POP_0x256 + # endif + + // Local Variables: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/signal.h tripwire-2.3.1-2/src/STLport-4.0/stlport/signal.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/signal.h Sat Feb 24 10:44:24 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/signal.h Sun Aug 11 18:59:23 2002 +@@ -13,21 +13,21 @@ + * + */ + +-# if !defined (__STL_OUTERMOST_HEADER_ID) +-# define __STL_OUTERMOST_HEADER_ID 0x257 ++# if !defined (_STLP_OUTERMOST_HEADER_ID) ++# define _STLP_OUTERMOST_HEADER_ID 0x257 + # include +-# elif (__STL_OUTERMOST_HEADER_ID == 0x257) && ! defined (__STL_DONT_POP_0x257) +-# define __STL_DONT_POP_0x257 ++# elif (_STLP_OUTERMOST_HEADER_ID == 0x257) && ! defined (_STLP_DONT_POP_0x257) ++# define _STLP_DONT_POP_0x257 + # endif + +-# include __STL_NATIVE_C_HEADER(signal.h) ++# include _STLP_NATIVE_C_HEADER(signal.h) + +-# if (__STL_OUTERMOST_HEADER_ID == 0x257) +-# if ! defined (__STL_DONT_POP_0x257) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x257) ++# if ! defined (_STLP_DONT_POP_0x257) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif +-# undef __STL_DONT_POP_0x257 ++# undef _STLP_DONT_POP_0x257 + # endif + + // Local Variables: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/slist tripwire-2.3.1-2/src/STLport-4.0/stlport/slist +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/slist Sat Feb 24 10:44:25 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/slist Sun Aug 11 18:59:23 2002 +@@ -12,24 +12,28 @@ + * + */ + +-#ifndef __SGI_STL_SLIST +-#define __SGI_STL_SLIST ++#ifndef _STLP_SLIST ++#define _STLP_SLIST + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x58 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x58 + # include + # endif + +-#ifndef __SGI_STL_INTERNAL_SLIST_H ++#ifndef _STLP_INTERNAL_SLIST_H + # include + #endif + +-# if (__STL_OUTERMOST_HEADER_ID == 0x58) ++#if defined (_STLP_WHOLE_VENDOR_STD) ++# include _STLP_NATIVE_HEADER(slist) ++#endif ++ ++# if (_STLP_OUTERMOST_HEADER_ID == 0x58) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_SLIST */ ++#endif /* _STLP_SLIST */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/sstream tripwire-2.3.1-2/src/STLport-4.0/stlport/sstream +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/sstream Sat Feb 24 10:44:25 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/sstream Sun Aug 11 18:59:23 2002 +@@ -20,34 +20,30 @@ + // represent streamsbufs and streams whose sources or destinations are + // C++ strings. + +-#ifndef __SGI_STL_SSTREAM +-#define __SGI_STL_SSTREAM ++#ifndef _STLP_SSTREAM ++#define _STLP_SSTREAM + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x1059 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x1059 + # include + # endif + +-# if defined (__SGI_STL_OWN_IOSTREAMS) +- +-# if defined(__sgi) && !defined(__GNUC__) && !defined(_STANDARD_C_PLUS_PLUS) +-# error This header file requires the -LANG:std option +-# endif ++# if defined (_STLP_OWN_IOSTREAMS) + + # include + +-# elif !defined (__STL_USE_NO_IOSTREAMS) ++# elif !defined (_STLP_USE_NO_IOSTREAMS) + + # include + + # endif + +-# if (__STL_OUTERMOST_HEADER_ID == 0x1059) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x1059) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_SSTREAM */ ++#endif /* _STLP_SSTREAM */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stack tripwire-2.3.1-2/src/STLport-4.0/stlport/stack +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stack Sat Feb 24 10:44:25 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stack Sun Aug 11 18:59:23 2002 +@@ -23,32 +23,28 @@ + * + */ + +-#ifndef __SGI_STL_STACK +-#define __SGI_STL_STACK ++#ifndef _STLP_STACK ++#define _STLP_STACK + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x60 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x60 + # include + # endif + +-#ifndef __SGI_STL_INTERNAL_DEQUE_H +-#include +-#endif +- +-#ifndef __SGI_STL_INTERNAL_STACK_H ++#ifndef _STLP_INTERNAL_STACK_H + #include + #endif + +-#if defined (__STL_WHOLE_NATIVE_STD) +-# include __STL_NATIVE_HEADER(stack) +-# endif ++#if defined (_STLP_WHOLE_VENDOR_STD) ++# include _STLP_NATIVE_HEADER(stack) ++#endif + +-# if (__STL_OUTERMOST_HEADER_ID == 0x60) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x60) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_STACK */ ++#endif /* _STLP_STACK */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stdarg.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stdarg.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stdarg.h Sat Feb 24 10:44:25 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stdarg.h Sun Aug 11 18:59:23 2002 +@@ -13,21 +13,21 @@ + * + */ + +-# if !defined (__STL_OUTERMOST_HEADER_ID) +-# define __STL_OUTERMOST_HEADER_ID 0x261 ++# if !defined (_STLP_OUTERMOST_HEADER_ID) ++# define _STLP_OUTERMOST_HEADER_ID 0x261 + # include +-# elif (__STL_OUTERMOST_HEADER_ID == 0x261) && ! defined (__STL_DONT_POP_0x261) +-# define __STL_DONT_POP_0x261 ++# elif (_STLP_OUTERMOST_HEADER_ID == 0x261) && ! defined (_STLP_DONT_POP_0x261) ++# define _STLP_DONT_POP_0x261 + # endif + +-# include __STL_NATIVE_C_HEADER(stdarg.h) ++# include _STLP_NATIVE_C_HEADER(stdarg.h) + +-# if (__STL_OUTERMOST_HEADER_ID == 0x261) +-# if ! defined (__STL_DONT_POP_0x261) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x261) ++# if ! defined (_STLP_DONT_POP_0x261) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif +-# undef __STL_DONT_POP_0x261 ++# undef _STLP_DONT_POP_0x261 + # endif + + // Local Variables: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stddef.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stddef.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stddef.h Sat Feb 24 10:44:25 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stddef.h Sun Aug 11 18:59:23 2002 +@@ -13,23 +13,23 @@ + * + */ + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x262 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x262 + # include + # endif + +-# ifndef __STL_WINCE ++# ifndef _STLP_WINCE + +-# include __STL_NATIVE_C_HEADER(stddef.h) ++# include _STLP_NATIVE_C_HEADER(stddef.h) + + # endif /* WINCE */ + +-# if (__STL_OUTERMOST_HEADER_ID == 0x262) +-# if ! defined (__STL_DONT_POP_0x262) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x262) ++# if ! defined (_STLP_DONT_POP_0x262) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif +-# undef __STL_DONT_POP_0x262 ++# undef _STLP_DONT_POP_0x262 + # endif + + // Local Variables: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stdexcept tripwire-2.3.1-2/src/STLport-4.0/stlport/stdexcept +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stdexcept Sat Feb 24 10:44:25 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stdexcept Sun Aug 11 18:59:23 2002 +@@ -16,117 +16,152 @@ + * + */ + +-#ifndef __SGI_STDEXCEPT ++#ifndef _STLP_STDEXCEPT + +-# if !defined (__STL_OUTERMOST_HEADER_ID) +-# define __STL_OUTERMOST_HEADER_ID 0x63 ++# if !defined (_STLP_OUTERMOST_HEADER_ID) ++# define _STLP_OUTERMOST_HEADER_ID 0x63 + # include +-# elif (__STL_OUTERMOST_HEADER_ID == 0x63) && ! defined (__STL_DONT_POP_0x63) +-# define __STL_DONT_POP_0x63 ++# elif (_STLP_OUTERMOST_HEADER_ID == 0x63) && ! defined (_STLP_DONT_POP_0x63) ++# define _STLP_DONT_POP_0x63 + # endif + +-# if !defined(__SGI_STDEXCEPT_SEEN) && \ +- (!defined (__STL_USE_NATIVE_STDEXCEPT) || defined (__STL_USE_OWN_NAMESPACE)) ++# if !defined(_STLP_STDEXCEPT_SEEN) && \ ++ (!defined (_STLP_USE_NATIVE_STDEXCEPT) || defined (_STLP_USE_OWN_NAMESPACE)) + +-# define __SGI_STDEXCEPT_SEEN 1 ++# define _STLP_STDEXCEPT_SEEN 1 + + # include + +-#if defined(__STL_USE_EXCEPTIONS) || \ ++#if defined(_STLP_USE_EXCEPTIONS) || \ + !(defined(_MIPS_SIM) && defined(_ABIO32) && _MIPS_SIM == _ABIO32) + + # include + +-#ifndef __SGI_STL_INTERNAL_ALLOC_H ++#ifndef _STLP_INTERNAL_ALLOC_H + # include + #endif + +-#ifndef __SGI_STL_STRING_FWD_H ++#ifndef _STLP_STRING_FWD_H + # include + #endif + +-__STL_BEGIN_NAMESPACE ++# define _STLP_OWN_STDEXCEPT 1 + +-class __STL_CLASS_DECLSPEC __Named_exception : public __STL_EXCEPTION_BASE { ++_STLP_BEGIN_NAMESPACE ++ ++class _STLP_CLASS_DECLSPEC __Named_exception : public _STLP_EXCEPTION_BASE { + public: +- __Named_exception(const string& __str) { ++ __Named_exception(const string& __str) ++# ifdef _STLP_OWN_IOSTREAMS ++ ; ++ const char* what() const _STLP_NOTHROW_INHERENTLY; ++ ~__Named_exception() _STLP_NOTHROW_INHERENTLY; ++# else ++ { + strncpy(_M_name, __get_c_string(__str), _S_bufsize); + _M_name[_S_bufsize - 1] = '\0'; + } +- virtual const char* what() const __STL_NOTHROW_INHERENTLY { return _M_name; } ++ const char* what() const _STLP_NOTHROW_INHERENTLY { return _M_name; } ++# endif + + private: + enum { _S_bufsize = 256 }; + char _M_name[_S_bufsize]; + }; + +-class __STL_CLASS_DECLSPEC logic_error : public __Named_exception { ++class _STLP_CLASS_DECLSPEC logic_error : public __Named_exception { + public: + logic_error(const string& __s) : __Named_exception(__s) {} ++# ifdef _STLP_OWN_IOSTREAMS ++ ~logic_error() _STLP_NOTHROW_INHERENTLY; ++# endif + }; + +-class __STL_CLASS_DECLSPEC runtime_error : public __Named_exception { ++class _STLP_CLASS_DECLSPEC runtime_error : public __Named_exception { + public: + runtime_error(const string& __s) : __Named_exception(__s) {} ++# ifdef _STLP_OWN_IOSTREAMS ++ ~runtime_error() _STLP_NOTHROW_INHERENTLY; ++# endif + }; + +-class __STL_CLASS_DECLSPEC domain_error : public logic_error { ++class _STLP_CLASS_DECLSPEC domain_error : public logic_error { + public: + domain_error(const string& __arg) : logic_error(__arg) {} ++# ifdef _STLP_OWN_IOSTREAMS ++ ~domain_error() _STLP_NOTHROW_INHERENTLY; ++# endif + }; + +-class __STL_CLASS_DECLSPEC invalid_argument : public logic_error { ++class _STLP_CLASS_DECLSPEC invalid_argument : public logic_error { + public: + invalid_argument(const string& __arg) : logic_error(__arg) {} ++# ifdef _STLP_OWN_IOSTREAMS ++ ~invalid_argument() _STLP_NOTHROW_INHERENTLY; ++# endif + }; + +-class __STL_CLASS_DECLSPEC length_error : public logic_error { ++class _STLP_CLASS_DECLSPEC length_error : public logic_error { + public: + length_error(const string& __arg) : logic_error(__arg) {} ++# ifdef _STLP_OWN_IOSTREAMS ++ ~length_error() _STLP_NOTHROW_INHERENTLY; ++# endif + }; + +-class __STL_CLASS_DECLSPEC out_of_range : public logic_error { ++class _STLP_CLASS_DECLSPEC out_of_range : public logic_error { + public: + out_of_range(const string& __arg) : logic_error(__arg) {} ++# ifdef _STLP_OWN_IOSTREAMS ++ ~out_of_range() _STLP_NOTHROW_INHERENTLY; ++# endif + }; + +-class __STL_CLASS_DECLSPEC range_error : public runtime_error { ++class _STLP_CLASS_DECLSPEC range_error : public runtime_error { + public: + range_error(const string& __arg) : runtime_error(__arg) {} ++# ifdef _STLP_OWN_IOSTREAMS ++ ~range_error() _STLP_NOTHROW_INHERENTLY; ++# endif + }; + +-class __STL_CLASS_DECLSPEC overflow_error : public runtime_error { ++class _STLP_CLASS_DECLSPEC overflow_error : public runtime_error { + public: + overflow_error(const string& __arg) : runtime_error(__arg) {} ++# ifdef _STLP_OWN_IOSTREAMS ++ ~overflow_error() _STLP_NOTHROW_INHERENTLY; ++# endif + }; + +-class __STL_CLASS_DECLSPEC underflow_error : public runtime_error { ++class _STLP_CLASS_DECLSPEC underflow_error : public runtime_error { + public: + underflow_error(const string& __arg) : runtime_error(__arg) {} ++# ifdef _STLP_OWN_IOSTREAMS ++ ~underflow_error() _STLP_NOTHROW_INHERENTLY; ++# endif + }; + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + + #endif /* Not o32, and no exceptions */ +-# endif /* __STL_STDEXCEPT_SEEN */ ++# endif /* _STLP_STDEXCEPT_SEEN */ + + +-#if defined (__STL_USE_NATIVE_STDEXCEPT) +-# include __STL_NATIVE_HEADER(stdexcept) ++#if defined (_STLP_USE_NATIVE_STDEXCEPT) ++# include _STLP_NATIVE_HEADER(stdexcept) + # endif + +-# undef __SGI_STDEXCEPT_SEEN +-# define __SGI_STDEXCEPT 1 ++# define _STLP_STDEXCEPT 1 + +-# if (__STL_OUTERMOST_HEADER_ID == 0x63) +-# if ! defined (__STL_DONT_POP_0x63) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x63) ++# if ! defined (_STLP_DONT_POP_0x63) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif +-# undef __STL_DONT_POP_0x63 ++# undef _STLP_DONT_POP_0x63 + # endif + +-#endif /* __SGI_STDEXCEPT */ ++#endif /* _STLP_STDEXCEPT */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stdio.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stdio.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stdio.h Sat Feb 24 10:44:25 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stdio.h Sun Aug 11 18:59:23 2002 +@@ -13,13 +13,13 @@ + * + */ + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x264 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x264 + # include + # endif + +-# if ! defined (__STL_WINCE) +-# include __STL_NATIVE_C_HEADER(stdio.h) ++# if ! defined (_STLP_WINCE) ++# include _STLP_NATIVE_C_HEADER(stdio.h) + + #if defined (__SUNPRO_CC) && !defined (_STRUCT_FILE) + # define _STRUCT_FILE +@@ -30,16 +30,16 @@ + # undef stdout + # undef stderr + +-# define stdin (&__STL_VENDOR_CSTD::__files[0]) +-# define stdout (&__STL_VENDOR_CSTD::__files[1]) +-# define stderr (&__STL_VENDOR_CSTD::__files[2]) ++# define stdin (&_STLP_VENDOR_CSTD::__files[0]) ++# define stdout (&_STLP_VENDOR_CSTD::__files[1]) ++# define stderr (&_STLP_VENDOR_CSTD::__files[2]) + # endif + + # endif /* WINCE */ + +-# if (__STL_OUTERMOST_HEADER_ID == 0x264) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x264) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + + // Local Variables: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stdio_streambuf tripwire-2.3.1-2/src/STLport-4.0/stlport/stdio_streambuf +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stdio_streambuf Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stdio_streambuf Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,115 @@ ++/* ++ * Copyright (c) 1999 ++ * Silicon Graphics Computer Systems, Inc. ++ * ++ * Copyright (c) 1999 ++ * Boris Fomitchev ++ * ++ * This material is provided "as is", with absolutely no warranty expressed ++ * or implied. Any use is at your own risk. ++ * ++ * Permission to use or copy this software for any purpose is hereby granted ++ * without fee, provided the above notices are retained on all copies. ++ * Permission to modify the code and to distribute modified code is granted, ++ * provided the above notices are retained, and a notice that the code was ++ * modified is included with the above copyright notice. ++ * ++ */ ++// This header is an extension. It defines two streambufs: ++// stdio_istreambuf, a read-only streambuf synchronized with a C stdio ++// FILE object, and stdio_ostreambuf, a write-only streambuf ++// synchronized with a C stdio FILE object. Note that neither ++// stdio_istreambuf nor stdio_ostreambuf is a template; both classes ++// are derived from basic_streambuf >. ++ ++// Note: the imbue() member function is a no-op. In particular, these ++// classes assume that codecvt is always an identity ++// transformation. This is true of the default locale, and of all locales ++// defined for the C I/O library. If you need to use a locale where ++// the codecvt facet performs a nontrivial ++// conversion, then you should use basic_filebuf<> instead of stdio_istreambuf ++// or stdio_ostreambuf. (If you don't understand what any of this means, ++// then it's not a feature you need to worry about. Locales where ++// codecvt does something nontrivial are a rare ++// corner case.) ++ ++ ++#ifndef _STLP_STDIO_STREAMBUF ++#define _STLP_STDIO_STREAMBUF ++ ++#if !defined(STLP_WINCE) ++ ++#include // For basic_streambuf<> ++#include // For FILE. ++ ++# ifndef _STLP_HAS_NO_NAMESPACES ++// This is an extension. It is in namespace SGI, not namespace std ++namespace _SgI { ++ ++# ifdef _STLP_USE_NAMESPACES ++using namespace _STLP_STD; ++# endif ++# endif ++ ++// Base class for features common to stdio_istreambuf and stdio_ostreambuf ++class stdio_streambuf_base : public _STLP_STD::basic_streambuf > ++{ ++public: // Constructor, destructor. ++ // The argument may not be null. It must be an open file pointer. ++ stdio_streambuf_base(FILE*); ++ ++ // The destructor flushes the stream, but does not close it. ++ ~stdio_streambuf_base(); ++ ++protected: // Virtual functions from basic_streambuf. ++ streambuf* setbuf(char*, streamsize); ++ ++ pos_type seekoff(off_type, ios_base::seekdir, ++ ios_base::openmode ++ = ios_base::in | ios_base::out); ++ pos_type seekpos(pos_type, ++ ios_base::openmode ++ = ios_base::in | ios_base::out); ++ int sync(); ++ ++protected: ++ FILE* _M_file; ++}; ++ ++class stdio_istreambuf : public stdio_streambuf_base ++{ ++public: // Constructor, destructor. ++ stdio_istreambuf(FILE* __f) : stdio_streambuf_base(__f) {} ++ ++ ~stdio_istreambuf(); ++ ++protected: // Virtual functions from basic_streambuf. ++ streamsize showmanyc(); ++ int_type underflow(); ++ int_type uflow(); ++ virtual int_type pbackfail(int_type c = traits_type::eof()); ++}; ++ ++class stdio_ostreambuf : public stdio_streambuf_base ++{ ++public: // Constructor, destructor. ++ stdio_ostreambuf(FILE* __f) : stdio_streambuf_base(__f) {} ++ ~stdio_ostreambuf(); ++ ++protected: // Virtual functions from basic_streambuf. ++ streamsize showmanyc(); ++ int_type overflow(int_type c = traits_type::eof()); ++}; ++ ++# ifndef _STLP_HAS_NO_NAMESPACES ++} // Close namespace _SgI. ++# endif ++ ++#endif /* _STLP_STDIO_STREAMBUF */ ++ ++#endif /* _STLP_WINCE */ ++ ++// Local Variables: ++// mode:C++ ++// End: ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stdiostream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stdiostream.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stdiostream.h Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stdiostream.h Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,10 @@ ++#ifndef _STLP_misc_stdiostream_h ++# define _STLP_misc_stdiostream_h ++# if (__SUNPRO_CC >= 0x500 ) ++# include <../CCios/stdiostream.h> ++# else if defined (__SUNPRO_CC) ++# include <../CC/stdiostream.h> ++# else ++# error "This file is for SUN CC only. Please remove it if it causes any harm for other compilers." ++# endif ++#endif +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stdlib.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stdlib.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stdlib.h Sat Feb 24 10:44:25 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stdlib.h Sun Aug 11 18:59:23 2002 +@@ -13,21 +13,21 @@ + * + */ + +-# if !defined (__STL_OUTERMOST_HEADER_ID) +-# define __STL_OUTERMOST_HEADER_ID 0x265 ++# if !defined (_STLP_OUTERMOST_HEADER_ID) ++# define _STLP_OUTERMOST_HEADER_ID 0x265 + # include +-# elif (__STL_OUTERMOST_HEADER_ID == 0x265) && ! defined (__STL_DONT_POP_0x265) +-# define __STL_DONT_POP_0x265 ++# elif (_STLP_OUTERMOST_HEADER_ID == 0x265) && ! defined (_STLP_DONT_POP_0x265) ++# define _STLP_DONT_POP_0x265 + # endif + +-# include __STL_NATIVE_C_HEADER(stdlib.h) ++# include _STLP_NATIVE_C_HEADER(stdlib.h) + +-# if (__STL_OUTERMOST_HEADER_ID == 0x265) +-# if ! defined (__STL_DONT_POP_0x265) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x265) ++# if ! defined (_STLP_DONT_POP_0x265) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif +-# undef __STL_DONT_POP_0x265 ++# undef _STLP_DONT_POP_0x265 + # endif + + // Local Variables: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_abbrevs.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_abbrevs.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_abbrevs.h Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_abbrevs.h Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,70 @@ ++/* ++ * ++ * Copyright (c) 1999 ++ * Boris Fomitchev ++ * ++ * This material is provided "as is", with absolutely no warranty expressed ++ * or implied. Any use is at your own risk. ++ * ++ * Permission to use or copy this software for any purpose is hereby granted ++ * without fee, provided the above notices are retained on all copies. ++ * Permission to modify the code and to distribute modified code is granted, ++ * provided the above notices are retained, and a notice that the code was ++ * modified is included with the above copyright notice. ++ * ++ */ ++ ++/* NOTE: This is an internal header file, included by other STL headers. ++ * You should not attempt to use it directly. ++ */ ++ ++#ifndef _STLP_INTERNAL_ABBREVS_H ++# define _STLP_INTERNAL_ABBREVS_H ++ ++// ugliness is intentional - to reduce conflicts ++# define input_iterator_tag _In__ItT ++# define output_iterator_tag _Ou__ItT ++# define bidirectional_iterator_tag _Bd__ItT ++# define random_access_iterator_tag _Ra__ItT ++# define input_iterator _In__It ++# define output_iterator _Ou__It ++# define bidirectional_iterator _Bd__It ++# define random_access_iterator _Ra__It ++# define reverse_bidirectional_iterator _rBd__It ++# define reverse_iterator _r__It ++# define back_insert_iterator _bI__It ++# define front_insert_iterator _fI__It ++# define raw_storage_iterator _rS__It ++# define _Const_traits _C_Tr ++# define _Nonconst_traits _N_Tr ++ ++// ugliness is intentional - to reduce conflicts probability ++# define __malloc_alloc M__A ++# define __node_alloc D__A ++# define __new_alloc N__A ++# define __debug_alloc G__A ++ ++# define __deque_iterator _dQ__It ++# define _Buf_traits _dQ__BTr ++# define _Deque_iterator _Dq__It ++ ++# define _Select1st _S1st ++# define _Select2nd _S2nd ++ ++# define _Hashtable_iterator _hT__It ++# define _Hashtable_const_iterator _hT__cIt ++# define _Hashtable_node _hT__N ++# define _Hashtable_base _hT__B ++# define _Ht_iterator _Ht_It ++ ++# define __list_iterator _L__It ++# define __slist_iterator _SL__It ++ ++# define _Rb_tree_node_base _rbT__NB ++# define _Rb_tree_node _rbT__N ++# define _Rb_base_iterator _rbTB__It ++# define _Rb_tree_base_iterator _rbT__It ++# define _Rb_tree_base _rbT__B ++ ++#endif ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_algo.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_algo.c +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_algo.c Sat Feb 24 10:44:39 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_algo.c Sun Aug 11 18:59:24 2002 +@@ -23,16 +23,14 @@ + * + */ + +-#ifndef __STL_ALGO_C +-# define __STL_ALGO_C ++#ifndef _STLP_ALGO_C ++# define _STLP_ALGO_C + +-__STL_BEGIN_NAMESPACE ++# if !defined (_STLP_INTERNAL_ALGO_H) ++# include ++# endif + +-template +-void __merge_without_buffer(_BidirectionalIter __first, +- _BidirectionalIter __middle, +- _BidirectionalIter __last, +- _Distance __len1, _Distance __len2); ++_STLP_BEGIN_NAMESPACE + + template + void __merge_without_buffer(_BidirectionalIter __first, +@@ -41,13 +39,6 @@ + _Distance __len1, _Distance __len2, + _Compare __comp); + +-template +-_BidirectionalIter3 __merge_backward(_BidirectionalIter1 __first1, +- _BidirectionalIter1 __last1, +- _BidirectionalIter2 __first2, +- _BidirectionalIter2 __last2, +- _BidirectionalIter3 __result); + + template +@@ -58,7 +49,6 @@ + _BidirectionalIter3 __result, + _Compare __comp); + +- + template + # if !(defined (__SUNPRO_CC) && (__SUNPRO_CC < 0x420 )) + inline +@@ -100,168 +90,12 @@ + return __b; + } + +-template +-_Function for_each(_InputIter __first, _InputIter __last, _Function __f) { +- for ( ; __first != __last; ++__first) +- __f(*__first); +- return __f; +-} +- +-#ifdef __STL_CLASS_PARTIAL_SPECIALIZATION +- +-template +-_RandomAccessIter find(_RandomAccessIter __first, _RandomAccessIter __last, +- const _Tp& __val, +- random_access_iterator_tag) +-{ +- typename iterator_traits<_RandomAccessIter>::difference_type __trip_count +- = (__last - __first) >> 2; +- +- for ( ; __trip_count > 0 ; --__trip_count) { +- if (*__first == __val) return __first; +- ++__first; +- +- if (*__first == __val) return __first; +- ++__first; +- +- if (*__first == __val) return __first; +- ++__first; +- +- if (*__first == __val) return __first; +- ++__first; +- } +- +- switch(__last - __first) { +- case 3: +- if (*__first == __val) return __first; +- ++__first; +- case 2: +- if (*__first == __val) return __first; +- ++__first; +- case 1: +- if (*__first == __val) return __first; +- ++__first; +- case 0: +- default: +- return __last; +- } +-} +- +-template +-_RandomAccessIter find_if(_RandomAccessIter __first, _RandomAccessIter __last, +- _Predicate __pred, +- random_access_iterator_tag) +-{ +- typename iterator_traits<_RandomAccessIter>::difference_type __trip_count +- = (__last - __first) >> 2; +- +- for ( ; __trip_count > 0 ; --__trip_count) { +- if (__pred(*__first)) return __first; +- ++__first; +- +- if (__pred(*__first)) return __first; +- ++__first; +- +- if (__pred(*__first)) return __first; +- ++__first; +- +- if (__pred(*__first)) return __first; +- ++__first; +- } +- +- switch(__last - __first) { +- case 3: +- if (__pred(*__first)) return __first; +- ++__first; +- case 2: +- if (__pred(*__first)) return __first; +- ++__first; +- case 1: +- if (__pred(*__first)) return __first; +- // ++__first; +- case 0: +- default: +- return __last; +- } +-} +- +-#endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */ +- +-template +-_ForwardIter adjacent_find(_ForwardIter __first, _ForwardIter __last) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +- if (__first == __last) +- return __last; +- _ForwardIter __next = __first; +- while(++__next != __last) { +- if (*__first == *__next) +- return __first; +- __first = __next; +- } +- return __last; +-} +- +-template +-_ForwardIter adjacent_find(_ForwardIter __first, _ForwardIter __last, +- _BinaryPredicate __binary_pred) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +- if (__first == __last) +- return __last; +- _ForwardIter __next = __first; +- while(++__next != __last) { +- if (__binary_pred(*__first, *__next)) +- return __first; +- __first = __next; +- } +- return __last; +-} +- +-template +-void count(_InputIter __first, _InputIter __last, const _Tp& __value, +- _Size& __n) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +- for ( ; __first != __last; ++__first) +- if (*__first == __value) +- ++__n; +-} +- +-template +-void count_if(_InputIter __first, _InputIter __last, _Predicate __pred, +- _Size& __n) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +- for ( ; __first != __last; ++__first) +- if (__pred(*__first)) +- ++__n; +-} +- +-template +-__STL_DIFFERENCE_TYPE(_InputIter) +-count(_InputIter __first, _InputIter __last, const _Tp& __value) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +- __STL_DIFFERENCE_TYPE(_InputIter) __n = 0; +- for ( ; __first != __last; ++__first) +- if (*__first == __value) +- ++__n; +- return __n; +-} +- +-template +-__STL_DIFFERENCE_TYPE(_InputIter) +-count_if(_InputIter __first, _InputIter __last, _Predicate __pred) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +-__STL_DIFFERENCE_TYPE(_InputIter) __n = 0; +- for ( ; __first != __last; ++__first) +- if (__pred(*__first)) +- ++__n; +- return __n; +-} +- + template + _ForwardIter1 search(_ForwardIter1 __first1, _ForwardIter1 __last1, + _ForwardIter2 __first2, _ForwardIter2 __last2) + { +- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) +- __STL_DEBUG_CHECK(__check_range(__first2, __last2)) ++ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) ++ _STLP_DEBUG_CHECK(__check_range(__first2, __last2)) + // Test for empty ranges + if (__first1 == __last1 || __first2 == __last2) + return __first1; +@@ -273,10 +107,8 @@ + return find(__first1, __last1, *__first2); + + // General case. +- +- _ForwardIter2 __p1, __p; +- +- __p1 = __first2; ++__p1; ++ _ForwardIter2 __p1 = __first2; ++ ++__p1; + + _ForwardIter1 __current = __first1; + +@@ -285,7 +117,7 @@ + if (__first1 == __last1) + return __last1; + +- __p = __p1; ++ _ForwardIter2 __p = __p1; + __current = __first1; + if (++__current == __last1) + return __last1; +@@ -302,68 +134,12 @@ + return __first1; + } + +- +-template +-_ForwardIter1 search(_ForwardIter1 __first1, _ForwardIter1 __last1, +- _ForwardIter2 __first2, _ForwardIter2 __last2, +- _BinaryPred __predicate) +-{ +- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) +- __STL_DEBUG_CHECK(__check_range(__first2, __last2)) +- // Test for empty ranges +- if (__first1 == __last1 || __first2 == __last2) +- return __first1; +- +- // Test for a pattern of length 1. +- _ForwardIter2 __tmp(__first2); +- ++__tmp; +- if (__tmp == __last2) { +- while (__first1 != __last1 && !__predicate(*__first1, *__first2)) +- ++__first1; +- return __first1; +- } +- +- // General case. +- +- _ForwardIter2 __p1, __p; +- +- __p1 = __first2; ++__p1; +- +- // _ForwardIter1 __current = __first1; +- +- while (__first1 != __last1) { +- while (__first1 != __last1) { +- if (__predicate(*__first1, *__first2)) +- break; +- ++__first1; +- } +- while (__first1 != __last1 && !__predicate(*__first1, *__first2)) +- ++__first1; +- if (__first1 == __last1) +- return __last1; +- +- __p = __p1; +- _ForwardIter1 __current = __first1; +- if (++__current == __last1) return __last1; +- +- while (__predicate(*__current, *__p)) { +- if (++__p == __last2) +- return __first1; +- if (++__current == __last1) +- return __last1; +- } +- +- ++__first1; +- } +- return __first1; +-} +- + // search_n. Search for __count consecutive copies of __val. + + template + _ForwardIter search_n(_ForwardIter __first, _ForwardIter __last, + _Integer __count, const _Tp& __val) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) + if (__count <= 0) + return __first; + else { +@@ -389,7 +165,7 @@ + _ForwardIter search_n(_ForwardIter __first, _ForwardIter __last, + _Integer __count, const _Tp& __val, + _BinaryPred __binary_pred) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) + if (__count <= 0) + return __first; + else { +@@ -421,194 +197,97 @@ + } + } + +-// swap_ranges + template +-_ForwardIter2 swap_ranges(_ForwardIter1 __first1, _ForwardIter1 __last1, +- _ForwardIter2 __first2) { +- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) +- for ( ; __first1 != __last1; ++__first1, ++__first2) +- iter_swap(__first1, __first2); +- return __first2; +-} +- +-// transform +-template +-_OutputIter transform(_InputIter __first, _InputIter __last, +- _OutputIter __result, _UnaryOperation __opr) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +- for ( ; __first != __last; ++__first, ++__result) +- *__result = __opr(*__first); +- return __result; +-} +- +-template +-_OutputIter transform(_InputIter1 __first1, _InputIter1 __last1, +- _InputIter2 __first2, _OutputIter __result, +- _BinaryOperation __binary_op) { +- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) +- for ( ; __first1 != __last1; ++__first1, ++__first2, ++__result) +- *__result = __binary_op(*__first1, *__first2); +- return __result; +-} +- +- +-// replace, replace_if, replace_copy, replace_copy_if +-template +-void replace(_ForwardIter __first, _ForwardIter __last, +- const _Tp& __old_value, const _Tp& __new_value) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +- for ( ; __first != __last; ++__first) +- if (*__first == __old_value) +- *__first = __new_value; +-} +- +-template +-void replace_if(_ForwardIter __first, _ForwardIter __last, +- _Predicate __pred, const _Tp& __new_value) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +- for ( ; __first != __last; ++__first) +- if (__pred(*__first)) +- *__first = __new_value; +-} +- +-template +-_OutputIter replace_copy(_InputIter __first, _InputIter __last, +- _OutputIter __result, +- const _Tp& __old_value, const _Tp& __new_value) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +- for ( ; __first != __last; ++__first, ++__result) +- *__result = *__first == __old_value ? __new_value : *__first; +- return __result; +-} +- +-template +-_OutputIter replace_copy_if(Iterator __first, Iterator __last, +- _OutputIter __result, +- _Predicate __pred, const _Tp& __new_value) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +- for ( ; __first != __last; ++__first, ++__result) +- *__result = __pred(*__first) ? __new_value : *__first; +- return __result; +-} +- +-// generate and generate_n +-template +-void generate(_ForwardIter __first, _ForwardIter __last, _Generator __gen) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +- for ( ; __first != __last; ++__first) +- *__first = __gen(); +-} +- +-template +-_OutputIter generate_n(_OutputIter __first, _Size __n, _Generator __gen) { +- for ( ; __n > 0; --__n, ++__first) +- *__first = __gen(); +- return __first; +-} +- +-// remove, remove_if, remove_copy, remove_copy_if +- +-template +-_OutputIter remove_copy(_InputIter __first, _InputIter __last, +- _OutputIter __result, const _Tp& __value) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +- for ( ; __first != __last; ++__first) +- if (!(*__first == __value)) { +- *__result = *__first; +- ++__result; +- } +- return __result; +-} +- +-template +-_OutputIter remove_copy_if(_InputIter __first, _InputIter __last, +- _OutputIter __result, _Predicate __pred) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +- for ( ; __first != __last; ++__first) +- if (!__pred(*__first)) { +- *__result = *__first; +- ++__result; +- } +- return __result; +-} +- +-template +-_ForwardIter remove(_ForwardIter __first, _ForwardIter __last, +- const _Tp& __value) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +- __first = find(__first, __last, __value); +- if (__first == __last) +- return __first; +- else { +- _ForwardIter __next = __first; +- return remove_copy(++__next, __last, __first, __value); +- } +-} +- +-template +-_ForwardIter remove_if(_ForwardIter __first, _ForwardIter __last, +- _Predicate __pred) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +- __first = find_if(__first, __last, __pred); +- if ( __first == __last ) +- return __first; +- else { +- _ForwardIter __next = __first; +- return remove_copy_if(++__next, __last, __first, __pred); +- } ++_ForwardIter1 ++find_end(_ForwardIter1 __first1, _ForwardIter1 __last1, ++ _ForwardIter2 __first2, _ForwardIter2 __last2) ++{ ++ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) ++ _STLP_DEBUG_CHECK(__check_range(__first2, __last2)) ++ return __find_end(__first1, __last1, __first2, __last2, ++# if defined (_STLP_CLASS_PARTIAL_SPECIALIZATION) ++ _STLP_ITERATOR_CATEGORY(__first1, _ForwardIter1), ++ _STLP_ITERATOR_CATEGORY(__first2, _ForwardIter2), ++# else ++ forward_iterator_tag(), ++ forward_iterator_tag(), ++# endif ++ __equal_to(_STLP_VALUE_TYPE(__first1, _ForwardIter1)) ++ ); + } + + // unique and unique_copy +- +-template +-_OutputIter __unique_copy(_InputIter __first, _InputIter __last, +- _OutputIter __result, _Tp*) { +- _Tp __value = *__first; +- *__result = __value; ++template ++_STLP_INLINE_LOOP _OutputIterator ++__unique_copy(_InputIterator __first, _InputIterator __last, ++ _OutputIterator __result, ++ _BinaryPredicate __binary_pred, _Tp*) { ++ _Tp __val = *__first; ++ *__result = __val; + while (++__first != __last) +- if (!(__value == *__first)) { +- __value = *__first; +- *++__result = __value; ++ if (!__binary_pred(__val, *__first)) { ++ __val = *__first; ++ *++__result = __val; + } + return ++__result; + } + +-template +-_ForwardIter __unique_copy(_InputIter __first, _InputIter __last, +- _ForwardIter __result, forward_iterator_tag) { +- *__result = *__first; +- while (++__first != __last) +- if (!(*__result == *__first)) *++__result = *__first; +- return ++__result; +-} +- +-template +-OutputIterator __unique_copy(InputIterator first, InputIterator last, +- OutputIterator result, +- BinaryPredicate binary_pred, _Tp*) { +- _Tp value = *first; +- *result = value; +- while (++first != last) +- if (!binary_pred(value, *first)) { +- value = *first; +- *++result = value; +- } +- return ++result; ++template ++inline _OutputIter ++__unique_copy(_InputIter __first, _InputIter __last,_OutputIter __result, ++ _BinaryPredicate __binary_pred, const output_iterator_tag &) { ++ return __unique_copy(__first, __last, __result, __binary_pred, _STLP_VALUE_TYPE(__first, _InputIter)); + } + + template +-_ForwardIter __unique_copy(_InputIter __first, _InputIter __last, +- _ForwardIter __result, +- _BinaryPredicate __binary_pred, +- forward_iterator_tag) { ++_STLP_INLINE_LOOP _ForwardIter ++__unique_copy(_InputIter __first, _InputIter __last, _ForwardIter __result, ++ _BinaryPredicate __binary_pred, const forward_iterator_tag &) { + *__result = *__first; + while (++__first != __last) + if (!__binary_pred(*__result, *__first)) *++__result = *__first; + return ++__result; + } + ++# if defined (_STLP_NONTEMPL_BASE_MATCH_BUG) ++template ++inline _BidirectionalIterator ++__unique_copy(_InputIterator __first, _InputIterator __last, ++ _BidirectionalIterator __result, _BinaryPredicate __binary_pred, ++ const bidirectional_iterator_tag &) { ++ return __unique_copy(__first, __last, __result, __binary_pred, forward_iterator_tag()); ++} ++ ++template ++inline _RandomAccessIterator ++__unique_copy(_InputIterator __first, _InputIterator __last, ++ _RandomAccessIterator __result, _BinaryPredicate __binary_pred, ++ const random_access_iterator_tag &) { ++ return __unique_copy(__first, __last, __result, __binary_pred, forward_iterator_tag()); ++} ++# endif /* _STLP_NONTEMPL_BASE_MATCH_BUG */ ++ ++ ++template ++_OutputIter ++unique_copy(_InputIter __first, _InputIter __last, _OutputIter __result) { ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) ++ if (__first == __last) return __result; ++ return __unique_copy(__first, __last, __result, __equal_to(_STLP_VALUE_TYPE(__first, _InputIter)), ++ _STLP_ITERATOR_CATEGORY(__result, _OutputIter)); ++} ++ ++template ++_OutputIter ++unique_copy(_InputIter __first, _InputIter __last,_OutputIter __result, ++ _BinaryPredicate __binary_pred) { ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) ++ if (__first == __last) return __result; ++ return __unique_copy(__first, __last, __result, __binary_pred, ++ _STLP_ITERATOR_CATEGORY(__result, _OutputIter)); ++} ++ + // rotate and rotate_copy, and their auxiliary functions + + template +@@ -616,7 +295,7 @@ + _ForwardIter __middle, + _ForwardIter __last, + _Distance*, +- forward_iterator_tag) { ++ const forward_iterator_tag &) { + if (__first == __middle) + return __last; + if (__last == __middle) +@@ -649,7 +328,7 @@ + _BidirectionalIter __middle, + _BidirectionalIter __last, + _Distance*, +- bidirectional_iterator_tag) { ++ const bidirectional_iterator_tag &) { + if (__first == __middle) + return __last; + if (__last == __middle) +@@ -727,13 +406,31 @@ + return __result; + } + ++template ++inline _RandomAccessIter ++__rotate(_RandomAccessIter __first, _RandomAccessIter __middle, _RandomAccessIter __last, ++ _Distance * __dis, const random_access_iterator_tag &) { ++ return __rotate(__first, __middle, __last, ++ __dis, _STLP_VALUE_TYPE(__first, _RandomAccessIter)); ++} ++ ++template ++_ForwardIter ++rotate(_ForwardIter __first, _ForwardIter __middle, _ForwardIter __last) { ++ _STLP_DEBUG_CHECK(__check_range(__first, __middle)) ++ _STLP_DEBUG_CHECK(__check_range(__middle, __last)) ++ return __rotate(__first, __middle, __last, ++ _STLP_DISTANCE_TYPE(__first, _ForwardIter), ++ _STLP_ITERATOR_CATEGORY(__first, _ForwardIter)); ++} ++ + // Return a random number in the range [0, __n). This function encapsulates + // whether we're using rand (part of the standard C library) or lrand48 + // (not standard, but a much better choice whenever it's available). + + template + inline _Distance __random_number(_Distance __n) { +-#ifdef __STL_NO_DRAND48 ++#ifdef _STLP_NO_DRAND48 + return rand() % __n; + #else + return lrand48() % __n; +@@ -743,7 +440,7 @@ + template + void random_shuffle(_RandomAccessIter __first, + _RandomAccessIter __last) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) + if (__first == __last) return; + for (_RandomAccessIter __i = __first + 1; __i != __last; ++__i) + iter_swap(__i, __first + __random_number((__i - __first) + 1)); +@@ -752,13 +449,13 @@ + template + void random_shuffle(_RandomAccessIter __first, _RandomAccessIter __last, + _RandomNumberGenerator& __rand) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) + if (__first == __last) return; + for (_RandomAccessIter __i = __first + 1; __i != __last; ++__i) + iter_swap(__i, __first + __rand((__i - __first) + 1)); + } + +-# ifndef __STL_NO_EXTENSIONS ++# ifndef _STLP_NO_EXTENSIONS + + // random_sample and random_sample_n (extensions, not part of the standard). + +@@ -766,10 +463,9 @@ + _OutputIter random_sample_n(_ForwardIter __first, _ForwardIter __last, + _OutputIter __out, const _Distance __n) + { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +- _Distance __remaining = 0; +- distance(__first, __last, __remaining); +- _Distance __m = min(__n, __remaining); ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) ++ _Distance __remaining = distance(__first, __last); ++ _Distance __m = (min) (__n, __remaining); + + while (__m > 0) { + if (__random_number(__remaining) < __m) { +@@ -791,10 +487,9 @@ + _OutputIter __out, const _Distance __n, + _RandomNumberGenerator& __rand) + { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +- _Distance __remaining = 0; +- distance(__first, __last, __remaining); +- _Distance __m = min(__n, __remaining); ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) ++ _Distance __remaining = distance(__first, __last); ++ _Distance __m = (min) (__n, __remaining); + + while (__m > 0) { + if (__rand(__remaining) < __m) { +@@ -853,15 +548,39 @@ + return __out + __m; + } + +-# endif /* __STL_NO_EXTENSIONS */ ++template ++_RandomAccessIter ++random_sample(_InputIter __first, _InputIter __last, ++ _RandomAccessIter __out_first, _RandomAccessIter __out_last) ++{ ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) ++ _STLP_DEBUG_CHECK(__check_range(__out_first, __out_last)) ++ return __random_sample(__first, __last, ++ __out_first, __out_last - __out_first); ++} ++ ++template ++_RandomAccessIter ++random_sample(_InputIter __first, _InputIter __last, ++ _RandomAccessIter __out_first, _RandomAccessIter __out_last, ++ _RandomNumberGenerator& __rand) ++{ ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) ++ _STLP_DEBUG_CHECK(__check_range(__out_first, __out_last)) ++ return __random_sample(__first, __last, ++ __out_first, __rand, ++ __out_last - __out_first); ++} ++ ++# endif /* _STLP_NO_EXTENSIONS */ + + // partition, stable_partition, and their auxiliary functions + + template +-_ForwardIter __partition(_ForwardIter __first, +- _ForwardIter __last, +- _Predicate __pred, +- forward_iterator_tag) { ++_STLP_INLINE_LOOP _ForwardIter __partition(_ForwardIter __first, ++ _ForwardIter __last, ++ _Predicate __pred, ++ const forward_iterator_tag &) { + if (__first == __last) return __first; + + while (__pred(*__first)) +@@ -874,15 +593,14 @@ + swap(*__first, *__next); + ++__first; + } +- + return __first; + } + + template +-_BidirectionalIter __partition(_BidirectionalIter __first, +- _BidirectionalIter __last, +- _Predicate __pred, +- bidirectional_iterator_tag) { ++_STLP_INLINE_LOOP _BidirectionalIter __partition(_BidirectionalIter __first, ++ _BidirectionalIter __last, ++ _Predicate __pred, ++ const bidirectional_iterator_tag &) { + while (true) { + while (true) + if (__first == __last) +@@ -904,6 +622,24 @@ + } + } + ++# if defined (_STLP_NONTEMPL_BASE_MATCH_BUG) ++template ++inline ++_BidirectionalIter __partition(_BidirectionalIter __first, ++ _BidirectionalIter __last, ++ _Predicate __pred, ++ const random_access_iterator_tag &) { ++ return __partition(__first, __last, __pred, bidirectional_iterator_tag()); ++} ++# endif ++ ++template ++_ForwardIter partition(_ForwardIter __first, _ForwardIter __last, _Predicate __pred) { ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) ++ return __partition(__first, __last, __pred, _STLP_ITERATOR_CATEGORY(__first, _ForwardIter)); ++} ++ ++ + template + _ForwardIter __inplace_stable_partition(_ForwardIter __first, + _ForwardIter __last, +@@ -955,23 +691,33 @@ + } + } + +-template +-_RandomAccessIter __unguarded_partition(_RandomAccessIter __first, +- _RandomAccessIter __last, +- _Tp __pivot) +-{ +- while (true) { +- while (*__first < __pivot) +- ++__first; +- --__last; +- while (__pivot < *__last) +- --__last; +- if (!(__first < __last)) +- return __first; +- iter_swap(__first, __last); +- ++__first; +- } +-} ++template ++inline _ForwardIter ++__stable_partition_aux(_ForwardIter __first, _ForwardIter __last, ++ _Predicate __pred, _Tp*, _Distance*) ++{ ++ _Temporary_buffer<_ForwardIter, _Tp> __buf(__first, __last); ++ _STLP_MPWFIX_TRY //*TY 06/01/2000 - they forget to call dtor for _Temporary_buffer if no try/catch block is present ++ return (__buf.size() > 0) ? ++ __stable_partition_adaptive(__first, __last, __pred, ++ _Distance(__buf.requested_size()), ++ __buf.begin(), __buf.size()) : ++ __inplace_stable_partition(__first, __last, __pred, ++ _Distance(__buf.requested_size())); ++ _STLP_MPWFIX_CATCH //*TY 06/01/2000 - they forget to call dtor for _Temporary_buffer if no try/catch block is present ++} ++ ++template ++_ForwardIter ++stable_partition(_ForwardIter __first, _ForwardIter __last, _Predicate __pred) { ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) ++ if (__first == __last) ++ return __first; ++ else ++ return __stable_partition_aux(__first, __last, __pred, ++ _STLP_VALUE_TYPE(__first, _ForwardIter), ++ _STLP_DISTANCE_TYPE(__first, _ForwardIter)); ++} + + template + _RandomAccessIter __unguarded_partition(_RandomAccessIter __first, +@@ -995,19 +741,6 @@ + + # define __stl_threshold 16 + +-template +-void __unguarded_linear_insert(_RandomAccessIter __last, _Tp __val) { +- _RandomAccessIter __next = __last; +- --__next; +- while (__val < *__next) { +- *__last = *__next; +- __last = __next; +- --__next; +- } +- *__last = __val; +-} +- +- + template + void __unguarded_linear_insert(_RandomAccessIter __last, _Tp __val, + _Compare __comp) { +@@ -1021,19 +754,6 @@ + *__last = __val; + } + +-template +-inline void __linear_insert(_RandomAccessIter __first, +- _RandomAccessIter __last, _Tp __val) { +- //*TY 12/26/1998 - added __val as a paramter +- // _Tp __val = *__last; //*TY 12/26/1998 - __val supplied by caller +- if (__val < *__first) { +- copy_backward(__first, __last, __last + 1); +- *__first = __val; +- } +- else +- __unguarded_linear_insert(__last, __val); +-} +- + template + inline void __linear_insert(_RandomAccessIter __first, + _RandomAccessIter __last, _Tp __val, _Compare __comp) { +@@ -1047,13 +767,6 @@ + __unguarded_linear_insert(__last, __val, __comp); + } + +-template +-void __insertion_sort(_RandomAccessIter __first, _RandomAccessIter __last) { +- if (__first == __last) return; +- for (_RandomAccessIter __i = __first + 1; __i != __last; ++__i) +- __linear_insert(__first, __i, *__i); //*TY 12/26/1998 - supply *__i as __val +-} +- + template + void __insertion_sort(_RandomAccessIter __first, + _RandomAccessIter __last, _Compare __comp) { +@@ -1062,19 +775,6 @@ + __linear_insert(__first, __i, *__i, __comp); //*TY 12/26/1998 - supply *__i as __val + } + +-template +-void __unguarded_insertion_sort_aux(_RandomAccessIter __first, +- _RandomAccessIter __last, _Tp*) { +- for (_RandomAccessIter __i = __first; __i != __last; ++__i) +- __unguarded_linear_insert(__i, _Tp(*__i)); +-} +- +-template +-inline void __unguarded_insertion_sort(_RandomAccessIter __first, +- _RandomAccessIter __last) { +- __unguarded_insertion_sort_aux(__first, __last, __VALUE_TYPE(__first)); +-} +- + template + void __unguarded_insertion_sort_aux(_RandomAccessIter __first, + _RandomAccessIter __last, +@@ -1087,19 +787,7 @@ + inline void __unguarded_insertion_sort(_RandomAccessIter __first, + _RandomAccessIter __last, + _Compare __comp) { +- __unguarded_insertion_sort_aux(__first, __last, __VALUE_TYPE(__first), +- __comp); +-} +- +-template +-void __final_insertion_sort(_RandomAccessIter __first, +- _RandomAccessIter __last) { +- if (__last - __first > __stl_threshold) { +- __insertion_sort(__first, __first + __stl_threshold); +- __unguarded_insertion_sort(__first + __stl_threshold, __last); +- } +- else +- __insertion_sort(__first, __last); ++ __unguarded_insertion_sort_aux(__first, __last, _STLP_VALUE_TYPE(__first, _RandomAccessIter), __comp); + } + + template +@@ -1113,35 +801,14 @@ + __insertion_sort(__first, __last, __comp); + } + +-template ++template + void __introsort_loop(_RandomAccessIter __first, + _RandomAccessIter __last, _Tp*, +- _Size __depth_limit) ++ _Size __depth_limit, _Compare __comp) + { + while (__last - __first > __stl_threshold) { + if (__depth_limit == 0) { +- partial_sort(__first, __last, __last); +- return; +- } +- --__depth_limit; +- _RandomAccessIter __cut = +- __unguarded_partition(__first, __last, +- _Tp(__median(*__first, +- *(__first + (__last - __first)/2), +- *(__last - 1)))); +- __introsort_loop(__cut, __last, (_Tp*) 0, __depth_limit); +- __last = __cut; +- } +-} +- +-template +-void __introsort_loop(_RandomAccessIter __first, +- _RandomAccessIter __last, _Tp*, +- _Size __depth_limit, _Compare __comp) +-{ +- while (__last - __first > __stl_threshold) { +- if (__depth_limit == 0) { +- partial_sort(__first, __last, __last, __comp); ++ partial_sort(__first, __last, __last, __comp); + return; + } + --__depth_limit; +@@ -1156,23 +823,31 @@ + } + } + +-// stable_sort() and its auxiliary functions. +- + template +-void __inplace_stable_sort(_RandomAccessIter __first, +- _RandomAccessIter __last) { +- if (__last - __first < 15) { +- __insertion_sort(__first, __last); +- return; ++void sort(_RandomAccessIter __first, _RandomAccessIter __last) { ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) ++ if (__first != __last) { ++ __introsort_loop(__first, __last, ++ _STLP_VALUE_TYPE(__first, _RandomAccessIter), ++ __lg(__last - __first) * 2, __less(_STLP_VALUE_TYPE(__first, _RandomAccessIter)) ); ++ __final_insertion_sort(__first, __last, __less(_STLP_VALUE_TYPE(__first, _RandomAccessIter))); ++ } ++} ++ ++template ++void sort(_RandomAccessIter __first, _RandomAccessIter __last, _Compare __comp) { ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) ++ if (__first != __last) { ++ __introsort_loop(__first, __last, ++ _STLP_VALUE_TYPE(__first, _RandomAccessIter), ++ __lg(__last - __first) * 2, ++ __comp); ++ __final_insertion_sort(__first, __last, __comp); + } +- _RandomAccessIter __middle = __first + (__last - __first) / 2; +- __inplace_stable_sort(__first, __middle); +- __inplace_stable_sort(__middle, __last); +- __merge_without_buffer(__first, __middle, __last, +- __middle - __first, +- __last - __middle); + } + ++// stable_sort() and its auxiliary functions. ++ + template + void __inplace_stable_sort(_RandomAccessIter __first, + _RandomAccessIter __last, _Compare __comp) { +@@ -1190,25 +865,6 @@ + } + + template +-void __merge_sort_loop(_RandomAccessIter1 __first, +- _RandomAccessIter1 __last, +- _RandomAccessIter2 __result, _Distance __step_size) { +- _Distance __two_step = 2 * __step_size; +- +- while (__last - __first >= __two_step) { +- __result = merge(__first, __first + __step_size, +- __first + __step_size, __first + __two_step, +- __result); +- __first += __two_step; +- } +- +- __step_size = min(_Distance(__last - __first), __step_size); +- merge(__first, __first + __step_size, __first + __step_size, __last, +- __result); +-} +- +-template + void __merge_sort_loop(_RandomAccessIter1 __first, + _RandomAccessIter1 __last, +@@ -1223,7 +879,7 @@ + __comp); + __first += __two_step; + } +- __step_size = min(_Distance(__last - __first), __step_size); ++ __step_size = (min) (_Distance(__last - __first), __step_size); + + merge(__first, __first + __step_size, + __first + __step_size, __last, +@@ -1233,17 +889,6 @@ + + const int __stl_chunk_size = 7; + +-template +-void __chunk_insertion_sort(_RandomAccessIter __first, +- _RandomAccessIter __last, _Distance __chunk_size) +-{ +- while (__last - __first >= __chunk_size) { +- __insertion_sort(__first, __first + __chunk_size); +- __first += __chunk_size; +- } +- __insertion_sort(__first, __last); +-} +- + template + void __chunk_insertion_sort(_RandomAccessIter __first, + _RandomAccessIter __last, +@@ -1256,24 +901,6 @@ + __insertion_sort(__first, __last, __comp); + } + +-template +-void __merge_sort_with_buffer(_RandomAccessIter __first, +- _RandomAccessIter __last, +- _Pointer __buffer, _Distance*) { +- _Distance __len = __last - __first; +- _Pointer __buffer_last = __buffer + __len; +- +- _Distance __step_size = __stl_chunk_size; +- __chunk_insertion_sort(__first, __last, __step_size); +- +- while (__step_size < __len) { +- __merge_sort_loop(__first, __last, __buffer, __step_size); +- __step_size *= 2; +- __merge_sort_loop(__buffer, __buffer_last, __first, __step_size); +- __step_size *= 2; +- } +-} +- + template + void __merge_sort_with_buffer(_RandomAccessIter __first, +@@ -1301,14 +928,13 @@ + _Distance __len1, _Distance __len2, + _BidirectionalIter2 __buffer, + _Distance __buffer_size) { +- _BidirectionalIter2 __buffer_end; + if (__len1 > __len2 && __len2 <= __buffer_size) { +- __buffer_end = copy(__middle, __last, __buffer); ++ _BidirectionalIter2 __buffer_end = copy(__middle, __last, __buffer); + copy_backward(__first, __middle, __last); + return copy(__buffer, __buffer_end, __first); + } + else if (__len1 <= __buffer_size) { +- __buffer_end = copy(__first, __middle, __buffer); ++ _BidirectionalIter2 __buffer_end = copy(__first, __middle, __buffer); + copy(__middle, __last, __first); + return copy_backward(__buffer, __buffer_end, __last); + } +@@ -1316,47 +942,6 @@ + return rotate(__first, __middle, __last); + } + +-template +-void __merge_adaptive(_BidirectionalIter __first, +- _BidirectionalIter __middle, +- _BidirectionalIter __last, +- _Distance __len1, _Distance __len2, +- _Pointer __buffer, _Distance __buffer_size) { +- if (__len1 <= __len2 && __len1 <= __buffer_size) { +- _Pointer __buffer_end = copy(__first, __middle, __buffer); +- merge(__buffer, __buffer_end, __middle, __last, __first); +- } +- else if (__len2 <= __buffer_size) { +- _Pointer __buffer_end = copy(__middle, __last, __buffer); +- __merge_backward(__first, __middle, __buffer, __buffer_end, __last); +- } +- else { +- _BidirectionalIter __first_cut = __first; +- _BidirectionalIter __second_cut = __middle; +- _Distance __len11 = 0; +- _Distance __len22 = 0; +- if (__len1 > __len2) { +- __len11 = __len1 / 2; +- advance(__first_cut, __len11); +- __second_cut = lower_bound(__middle, __last, *__first_cut); +- distance(__middle, __second_cut, __len22); +- } +- else { +- __len22 = __len2 / 2; +- advance(__second_cut, __len22); +- __first_cut = upper_bound(__first, __middle, *__second_cut); +- distance(__first, __first_cut, __len11); +- } +- _BidirectionalIter __new_middle = +- __rotate_adaptive(__first_cut, __middle, __second_cut, __len1 - __len11, +- __len22, __buffer, __buffer_size); +- __merge_adaptive(__first, __first_cut, __new_middle, __len11, +- __len22, __buffer, __buffer_size); +- __merge_adaptive(__new_middle, __second_cut, __last, __len1 - __len11, +- __len2 - __len22, __buffer, __buffer_size); +- } +-} +- + template + void __merge_adaptive(_BidirectionalIter __first, +@@ -1383,13 +968,13 @@ + __len11 = __len1 / 2; + advance(__first_cut, __len11); + __second_cut = lower_bound(__middle, __last, *__first_cut, __comp); +- distance(__middle, __second_cut, __len22); ++ __len22 += distance(__middle, __second_cut); + } + else { + __len22 = __len2 / 2; + advance(__second_cut, __len22); + __first_cut = upper_bound(__first, __middle, *__second_cut, __comp); +- distance(__first, __first_cut, __len11); ++ __len11 += distance(__first, __first_cut); + } + _BidirectionalIter __new_middle = + __rotate_adaptive(__first_cut, __middle, __second_cut, __len1 - __len11, +@@ -1401,24 +986,6 @@ + } + } + +-template +-void __stable_sort_adaptive(_RandomAccessIter __first, +- _RandomAccessIter __last, _Pointer __buffer, +- _Distance __buffer_size) { +- _Distance __len = (__last - __first + 1) / 2; +- _RandomAccessIter __middle = __first + __len; +- if (__len > __buffer_size) { +- __stable_sort_adaptive(__first, __middle, __buffer, __buffer_size); +- __stable_sort_adaptive(__middle, __last, __buffer, __buffer_size); +- } +- else { +- __merge_sort_with_buffer(__first, __middle, __buffer, (_Distance*)0); +- __merge_sort_with_buffer(__middle, __last, __buffer, (_Distance*)0); +- } +- __merge_adaptive(__first, __middle, __last, _Distance(__middle - __first), +- _Distance(__last - __middle), __buffer, __buffer_size); +-} +- + template + void __stable_sort_adaptive(_RandomAccessIter __first, +@@ -1443,18 +1010,6 @@ + __comp); + } + +-template +-void __stable_sort_aux(_RandomAccessIter __first, +- _RandomAccessIter __last, _Tp*, _Distance*) { +- _Temporary_buffer<_RandomAccessIter, _Tp> buf(__first, __last); +- _Tp* __begin = buf.begin(); +- if (__begin == 0) +- __inplace_stable_sort(__first, __last); +- else +- __stable_sort_adaptive(__first, __last, __begin, +- (_Distance)buf.size()); +-} +- + template + void __stable_sort_aux(_RandomAccessIter __first, + _RandomAccessIter __last, _Tp*, _Distance*, +@@ -1471,35 +1026,25 @@ + template + void stable_sort(_RandomAccessIter __first, + _RandomAccessIter __last) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) + __stable_sort_aux(__first, __last, +- __VALUE_TYPE(__first), +- __DISTANCE_TYPE(__first)); ++ _STLP_VALUE_TYPE(__first, _RandomAccessIter), ++ _STLP_DISTANCE_TYPE(__first, _RandomAccessIter), ++ __less(_STLP_VALUE_TYPE(__first, _RandomAccessIter))); + } + + template + void stable_sort(_RandomAccessIter __first, + _RandomAccessIter __last, _Compare __comp) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) + __stable_sort_aux(__first, __last, +- __VALUE_TYPE(__first), +- __DISTANCE_TYPE(__first), ++ _STLP_VALUE_TYPE(__first, _RandomAccessIter), ++ _STLP_DISTANCE_TYPE(__first, _RandomAccessIter), + __comp); + } + + // partial_sort, partial_sort_copy, and auxiliary functions. + +-template +-void __partial_sort(_RandomAccessIter __first, _RandomAccessIter __middle, +- _RandomAccessIter __last, _Tp*) { +- make_heap(__first, __middle); +- for (_RandomAccessIter __i = __middle; __i < __last; ++__i) +- if (*__i < *__first) +- __pop_heap(__first, __middle, __i, _Tp(*__i), +- __DISTANCE_TYPE(__first)); +- sort_heap(__first, __middle); +-} +- + template + void __partial_sort(_RandomAccessIter __first, _RandomAccessIter __middle, + _RandomAccessIter __last, _Tp*, _Compare __comp) { +@@ -1507,34 +1052,26 @@ + for (_RandomAccessIter __i = __middle; __i < __last; ++__i) + if (__comp(*__i, *__first)) + __pop_heap(__first, __middle, __i, _Tp(*__i), __comp, +- __DISTANCE_TYPE(__first)); ++ _STLP_DISTANCE_TYPE(__first, _RandomAccessIter)); + sort_heap(__first, __middle, __comp); + } + +-template +-_RandomAccessIter __partial_sort_copy(_InputIter __first, +- _InputIter __last, +- _RandomAccessIter __result_first, +- _RandomAccessIter __result_last, +- _Distance*, _Tp*) { +- if (__result_first == __result_last) return __result_last; +- _RandomAccessIter __result_real_last = __result_first; +- while(__first != __last && __result_real_last != __result_last) { +- *__result_real_last = *__first; +- ++__result_real_last; +- ++__first; +- } +- make_heap(__result_first, __result_real_last); +- while (__first != __last) { +- if (*__first < *__result_first) +- __adjust_heap(__result_first, _Distance(0), +- _Distance(__result_real_last - __result_first), +- _Tp(*__first)); +- ++__first; +- } +- sort_heap(__result_first, __result_real_last); +- return __result_real_last; ++ ++template ++void ++partial_sort(_RandomAccessIter __first,_RandomAccessIter __middle, _RandomAccessIter __last) { ++ _STLP_DEBUG_CHECK(__check_range(__first, __middle)) ++ _STLP_DEBUG_CHECK(__check_range(__middle, __last)) ++ __partial_sort(__first, __middle, __last, _STLP_VALUE_TYPE(__first, _RandomAccessIter), ++ __less(_STLP_VALUE_TYPE(__first, _RandomAccessIter))); ++} ++ ++template ++void partial_sort(_RandomAccessIter __first,_RandomAccessIter __middle, ++ _RandomAccessIter __last, _Compare __comp) { ++ _STLP_DEBUG_CHECK(__check_range(__first, __middle)) ++ _STLP_DEBUG_CHECK(__check_range(__middle, __last)) ++ __partial_sort(__first, __middle, __last, _STLP_VALUE_TYPE(__first, _RandomAccessIter), __comp); + } + + template +-void __nth_element(_RandomAccessIter __first, _RandomAccessIter __nth, +- _RandomAccessIter __last, _Tp*) { +- while (__last - __first > 3) { +- _RandomAccessIter __cut = +- __unguarded_partition(__first, __last, +- _Tp(__median(*__first, +- *(__first + (__last - __first)/2), +- *(__last - 1)))); +- if (__cut <= __nth) +- __first = __cut; +- else +- __last = __cut; +- } +- __insertion_sort(__first, __last); ++template ++_RandomAccessIter ++partial_sort_copy(_InputIter __first, _InputIter __last, ++ _RandomAccessIter __result_first, _RandomAccessIter __result_last) { ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) ++ _STLP_DEBUG_CHECK(__check_range(__result_first, __result_last)) ++ return __partial_sort_copy(__first, __last, __result_first, __result_last, ++ __less(_STLP_VALUE_TYPE(__first, _InputIter)), ++ _STLP_DISTANCE_TYPE(__result_first, _RandomAccessIter), ++ _STLP_VALUE_TYPE(__first, _InputIter)); ++} ++ ++template ++_RandomAccessIter ++partial_sort_copy(_InputIter __first, _InputIter __last, ++ _RandomAccessIter __result_first, ++ _RandomAccessIter __result_last, _Compare __comp) { ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) ++ _STLP_DEBUG_CHECK(__check_range(__result_first, __result_last)) ++ return __partial_sort_copy(__first, __last, __result_first, __result_last, ++ __comp, ++ _STLP_DISTANCE_TYPE(__result_first, _RandomAccessIter), ++ _STLP_VALUE_TYPE(__first, _InputIter)); + } + ++// nth_element() and its auxiliary functions. ++ + template + void __nth_element(_RandomAccessIter __first, _RandomAccessIter __nth, + _RandomAccessIter __last, _Tp*, _Compare __comp) { +@@ -1602,90 +1147,36 @@ + __insertion_sort(__first, __last, __comp); + } + +-template +-_ForwardIter __lower_bound(_ForwardIter __first, _ForwardIter __last, +- const _Tp& __val, _Distance*) +-{ +- _Distance __len = 0; +- distance(__first, __last, __len); +- _Distance __half; +- _ForwardIter __middle; + +- while (__len > 0) { +- __half = __len >> 1; +- __middle = __first; +- advance(__middle, __half); +- if (*__middle < __val) { +- __first = __middle; +- ++__first; +- __len = __len - __half - 1; +- } +- else +- __len = __half; +- } +- return __first; ++template ++void nth_element(_RandomAccessIter __first, _RandomAccessIter __nth, ++ _RandomAccessIter __last) { ++ _STLP_DEBUG_CHECK(__check_range(__first, __nth)) ++ _STLP_DEBUG_CHECK(__check_range(__nth, __last)) ++ __nth_element(__first, __nth, __last, _STLP_VALUE_TYPE(__first, _RandomAccessIter), ++ __less(_STLP_VALUE_TYPE(__first, _RandomAccessIter))); + } + +-template +-_ForwardIter __lower_bound(_ForwardIter __first, _ForwardIter __last, +- const _Tp& __val, _Compare __comp, _Distance*) +-{ +- _Distance __len = 0; +- distance(__first, __last, __len); +- _Distance __half; +- _ForwardIter __middle; +- +- while (__len > 0) { +- __half = __len >> 1; +- __middle = __first; +- advance(__middle, __half); +- if (__comp(*__middle, __val)) { +- __first = __middle; +- ++__first; +- __len = __len - __half - 1; +- } +- else +- __len = __half; +- } +- return __first; ++template ++void nth_element(_RandomAccessIter __first, _RandomAccessIter __nth, ++ _RandomAccessIter __last, _Compare __comp) { ++ _STLP_DEBUG_CHECK(__check_range(__first, __nth)) ++ _STLP_DEBUG_CHECK(__check_range(__nth, __last)) ++ __nth_element(__first, __nth, __last, _STLP_VALUE_TYPE(__first, _RandomAccessIter), __comp); + } + +-template +-_ForwardIter __upper_bound(_ForwardIter __first, _ForwardIter __last, +- const _Tp& __val, _Distance*) +-{ +- _Distance __len = 0; +- distance(__first, __last, __len); +- _Distance __half; +- _ForwardIter __middle; +- +- while (__len > 0) { +- __half = __len >> 1; +- __middle = __first; +- advance(__middle, __half); +- if (__val < *__middle) +- __len = __half; +- else { +- __first = __middle; +- ++__first; +- __len = __len - __half - 1; +- } +- } +- return __first; +-} ++// Binary search (lower_bound, upper_bound, equal_range, binary_search). + + template + _ForwardIter __upper_bound(_ForwardIter __first, _ForwardIter __last, + const _Tp& __val, _Compare __comp, _Distance*) + { +- _Distance __len = 0; +- distance(__first, __last, __len); ++ _Distance __len = distance(__first, __last); + _Distance __half; +- _ForwardIter __middle; + + while (__len > 0) { + __half = __len >> 1; +- __middle = __first; ++ _ForwardIter __middle = __first; + advance(__middle, __half); + if (__comp(__val, *__middle)) + __len = __half; +@@ -1698,50 +1189,17 @@ + return __first; + } + +-template +-pair<_ForwardIter, _ForwardIter> +-__equal_range(_ForwardIter __first, _ForwardIter __last, const _Tp& __val, +- _Distance*) +-{ +- _Distance __len = 0; +- distance(__first, __last, __len); +- _Distance __half; +- _ForwardIter __middle, __left, __right; +- +- while (__len > 0) { +- __half = __len >> 1; +- __middle = __first; +- advance(__middle, __half); +- if (*__middle < __val) { +- __first = __middle; +- ++__first; +- __len = __len - __half - 1; +- } +- else if (__val < *__middle) +- __len = __half; +- else { +- __left = lower_bound(__first, __middle, __val); +- advance(__first, __len); +- __right = upper_bound(++__middle, __first, __val); +- return pair<_ForwardIter, _ForwardIter>(__left, __right); +- } +- } +- return pair<_ForwardIter, _ForwardIter>(__first, __first); +-} +- + template + pair<_ForwardIter, _ForwardIter> + __equal_range(_ForwardIter __first, _ForwardIter __last, const _Tp& __val, + _Compare __comp, _Distance*) + { +- _Distance __len = 0; +- distance(__first, __last, __len); ++ _Distance __len = distance(__first, __last); + _Distance __half; +- _ForwardIter __middle, __left, __right; + + while (__len > 0) { + __half = __len >> 1; +- __middle = __first; ++ _ForwardIter __middle = __first; + advance(__middle, __half); + if (__comp(*__middle, __val)) { + __first = __middle; +@@ -1751,9 +1209,9 @@ + else if (__comp(__val, *__middle)) + __len = __half; + else { +- __left = lower_bound(__first, __middle, __val, __comp); ++ _ForwardIter __left = lower_bound(__first, __middle, __val, __comp); + advance(__first, __len); +- __right = upper_bound(++__middle, __first, __val, __comp); ++ _ForwardIter __right = upper_bound(++__middle, __first, __val, __comp); + return pair<_ForwardIter, _ForwardIter>(__left, __right); + } + } +@@ -1764,8 +1222,8 @@ + _OutputIter merge(_InputIter1 __first1, _InputIter1 __last1, + _InputIter2 __first2, _InputIter2 __last2, + _OutputIter __result) { +- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) +- __STL_DEBUG_CHECK(__check_range(__first2, __last2)) ++ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) ++ _STLP_DEBUG_CHECK(__check_range(__first2, __last2)) + while (__first1 != __last1 && __first2 != __last2) { + if (*__first2 < *__first1) { + *__result = *__first2; +@@ -1785,8 +1243,8 @@ + _OutputIter merge(_InputIter1 __first1, _InputIter1 __last1, + _InputIter2 __first2, _InputIter2 __last2, + _OutputIter __result, _Compare __comp) { +- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) +- __STL_DEBUG_CHECK(__check_range(__first2, __last2)) ++ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) ++ _STLP_DEBUG_CHECK(__check_range(__first2, __last2)) + while (__first1 != __last1 && __first2 != __last2) { + if (__comp(*__first2, *__first1)) { + *__result = *__first2; +@@ -1801,42 +1259,6 @@ + return copy(__first2, __last2, copy(__first1, __last1, __result)); + } + +-template +-void __merge_without_buffer(_BidirectionalIter __first, +- _BidirectionalIter __middle, +- _BidirectionalIter __last, +- _Distance __len1, _Distance __len2) { +- if (__len1 == 0 || __len2 == 0) +- return; +- if (__len1 + __len2 == 2) { +- if (*__middle < *__first) +- iter_swap(__first, __middle); +- return; +- } +- _BidirectionalIter __first_cut = __first; +- _BidirectionalIter __second_cut = __middle; +- _Distance __len11 = 0; +- _Distance __len22 = 0; +- if (__len1 > __len2) { +- __len11 = __len1 / 2; +- advance(__first_cut, __len11); +- __second_cut = lower_bound(__middle, __last, *__first_cut); +- distance(__middle, __second_cut, __len22); +- } +- else { +- __len22 = __len2 / 2; +- advance(__second_cut, __len22); +- __first_cut = upper_bound(__first, __middle, *__second_cut); +- distance(__first, __first_cut, __len11); +- } +- _BidirectionalIter __new_middle +- = rotate(__first_cut, __middle, __second_cut); +- __merge_without_buffer(__first, __first_cut, __new_middle, +- __len11, __len22); +- __merge_without_buffer(__new_middle, __second_cut, __last, __len1 - __len11, +- __len2 - __len22); +-} +- + template + void __merge_without_buffer(_BidirectionalIter __first, + _BidirectionalIter __middle, +@@ -1858,13 +1280,13 @@ + __len11 = __len1 / 2; + advance(__first_cut, __len11); + __second_cut = lower_bound(__middle, __last, *__first_cut, __comp); +- distance(__middle, __second_cut, __len22); ++ __len22 += distance(__middle, __second_cut); + } + else { + __len22 = __len2 / 2; + advance(__second_cut, __len22); + __first_cut = upper_bound(__first, __middle, *__second_cut, __comp); +- distance(__first, __first_cut, __len11); ++ __len11 +=distance(__first, __first_cut); + } + _BidirectionalIter __new_middle + = rotate(__first_cut, __middle, __second_cut); +@@ -1874,14 +1296,14 @@ + __len2 - __len22, __comp); + } + +- + template ++ class _BidirectionalIter3, class _Compare> + _BidirectionalIter3 __merge_backward(_BidirectionalIter1 __first1, + _BidirectionalIter1 __last1, + _BidirectionalIter2 __first2, + _BidirectionalIter2 __last2, +- _BidirectionalIter3 __result) { ++ _BidirectionalIter3 __result, ++ _Compare __comp) { + if (__first1 == __last1) + return copy_backward(__first2, __last2, __result); + if (__first2 == __last2) +@@ -1889,7 +1311,7 @@ + --__last1; + --__last2; + while (true) { +- if (*__last2 < *__last1) { ++ if (__comp(*__last2, *__last1)) { + *--__result = *__last1; + if (__first1 == __last1) + return copy_backward(__first2, ++__last2, __result); +@@ -1904,63 +1326,14 @@ + } + } + +-template +-_BidirectionalIter3 __merge_backward(_BidirectionalIter1 __first1, +- _BidirectionalIter1 __last1, +- _BidirectionalIter2 __first2, +- _BidirectionalIter2 __last2, +- _BidirectionalIter3 __result, +- _Compare __comp) { +- if (__first1 == __last1) +- return copy_backward(__first2, __last2, __result); +- if (__first2 == __last2) +- return copy_backward(__first1, __last1, __result); +- --__last1; +- --__last2; +- while (true) { +- if (__comp(*__last2, *__last1)) { +- *--__result = *__last1; +- if (__first1 == __last1) +- return copy_backward(__first2, ++__last2, __result); +- --__last1; +- } +- else { +- *--__result = *__last2; +- if (__first2 == __last2) +- return copy_backward(__first1, ++__last1, __result); +- --__last2; +- } +- } +-} +- +-template +-inline void __inplace_merge_aux(_BidirectionalIter __first, +- _BidirectionalIter __middle, +- _BidirectionalIter __last, _Tp*, _Distance*) { +- _Distance __len1 = 0; +- distance(__first, __middle, __len1); +- _Distance __len2 = 0; +- distance(__middle, __last, __len2); +- +- _Temporary_buffer<_BidirectionalIter, _Tp> __buf(__first, __last); +- if (__buf.begin() == 0) +- __merge_without_buffer(__first, __middle, __last, __len1, __len2); +- else +- __merge_adaptive(__first, __middle, __last, __len1, __len2, +- __buf.begin(), _Distance(__buf.size())); +-} +- + template + inline void __inplace_merge_aux(_BidirectionalIter __first, + _BidirectionalIter __middle, + _BidirectionalIter __last, _Tp*, _Distance*, + _Compare __comp) { +- _Distance __len1 = 0; +- distance(__first, __middle, __len1); +- _Distance __len2 = 0; +- distance(__middle, __last, __len2); ++ _Distance __len1 = distance(__first, __middle); ++ _Distance __len2 = distance(__middle, __last); + + _Temporary_buffer<_BidirectionalIter, _Tp> __buf(__first, __last); + if (__buf.begin() == 0) +@@ -1975,36 +1348,38 @@ + void inplace_merge(_BidirectionalIter __first, + _BidirectionalIter __middle, + _BidirectionalIter __last) { +- __STL_DEBUG_CHECK(__check_range(__first, __middle)) +- __STL_DEBUG_CHECK(__check_range(__middle, __last)) ++ _STLP_DEBUG_CHECK(__check_range(__first, __middle)) ++ _STLP_DEBUG_CHECK(__check_range(__middle, __last)) + if (__first == __middle || __middle == __last) + return; + __inplace_merge_aux(__first, __middle, __last, +- __VALUE_TYPE(__first), __DISTANCE_TYPE(__first)); ++ _STLP_VALUE_TYPE(__first, _BidirectionalIter), _STLP_DISTANCE_TYPE(__first, _BidirectionalIter), ++ __less(_STLP_VALUE_TYPE(__first, _BidirectionalIter))); + } + + template + void inplace_merge(_BidirectionalIter __first, + _BidirectionalIter __middle, + _BidirectionalIter __last, _Compare __comp) { +- __STL_DEBUG_CHECK(__check_range(__first, __middle)) +- __STL_DEBUG_CHECK(__check_range(__middle, __last)) ++ _STLP_DEBUG_CHECK(__check_range(__first, __middle)) ++ _STLP_DEBUG_CHECK(__check_range(__middle, __last)) + if (__first == __middle || __middle == __last) + return; + __inplace_merge_aux(__first, __middle, __last, +- __VALUE_TYPE(__first), __DISTANCE_TYPE(__first), ++ _STLP_VALUE_TYPE(__first, _BidirectionalIter), _STLP_DISTANCE_TYPE(__first, _BidirectionalIter), + __comp); + } + +-template +-bool includes(_InputIter1 __first1, _InputIter1 __last1, +- _InputIter2 __first2, _InputIter2 __last2) { +- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) +- __STL_DEBUG_CHECK(__check_range(__first2, __last2)) ++ ++template ++bool __includes(_InputIter1 __first1, _InputIter1 __last1, ++ _InputIter2 __first2, _InputIter2 __last2, _Compare __comp) { ++ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) ++ _STLP_DEBUG_CHECK(__check_range(__first2, __last2)) + while (__first1 != __last1 && __first2 != __last2) +- if (*__first2 < *__first1) ++ if (__comp(*__first2, *__first1)) + return false; +- else if(*__first1 < *__first2) ++ else if(__comp(*__first1, *__first2)) + ++__first1; + else + ++__first1, ++__first2; +@@ -2015,31 +1390,28 @@ + template + bool includes(_InputIter1 __first1, _InputIter1 __last1, + _InputIter2 __first2, _InputIter2 __last2, _Compare __comp) { +- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) +- __STL_DEBUG_CHECK(__check_range(__first2, __last2)) +- while (__first1 != __last1 && __first2 != __last2) +- if (__comp(*__first2, *__first1)) +- return false; +- else if(__comp(*__first1, *__first2)) +- ++__first1; +- else +- ++__first1, ++__first2; ++ return __includes(__first1, __last1, __first2, __last2, __comp); ++} + +- return __first2 == __last2; ++template ++bool includes(_InputIter1 __first1, _InputIter1 __last1, ++ _InputIter2 __first2, _InputIter2 __last2) { ++ return __includes(__first1, __last1, __first2, __last2, __less(_STLP_VALUE_TYPE(__first1, _InputIter1))); + } + +-template +-_OutputIter set_union(_InputIter1 __first1, _InputIter1 __last1, +- _InputIter2 __first2, _InputIter2 __last2, +- _OutputIter __result) { +- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) +- __STL_DEBUG_CHECK(__check_range(__first2, __last2)) ++template ++_OutputIter __set_union(_InputIter1 __first1, _InputIter1 __last1, ++ _InputIter2 __first2, _InputIter2 __last2, ++ _OutputIter __result, _Compare __comp) { ++ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) ++ _STLP_DEBUG_CHECK(__check_range(__first2, __last2)) + while (__first1 != __last1 && __first2 != __last2) { +- if (*__first1 < *__first2) { ++ if (__comp(*__first1, *__first2)) { + *__result = *__first1; + ++__first1; + } +- else if (*__first2 < *__first1) { ++ else if (__comp(*__first2, *__first1)) { + *__result = *__first2; + ++__first2; + } +@@ -2053,50 +1425,47 @@ + return copy(__first2, __last2, copy(__first1, __last1, __result)); + } + ++template ++_OutputIter set_union(_InputIter1 __first1, _InputIter1 __last1, ++ _InputIter2 __first2, _InputIter2 __last2, ++ _OutputIter __result) { ++ return __set_union(__first1, __last1, __first2, __last2, __result, __less(_STLP_VALUE_TYPE(__first1, _InputIter1))); ++} ++ + template + _OutputIter set_union(_InputIter1 __first1, _InputIter1 __last1, + _InputIter2 __first2, _InputIter2 __last2, + _OutputIter __result, _Compare __comp) { +- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) +- __STL_DEBUG_CHECK(__check_range(__first2, __last2)) +- while (__first1 != __last1 && __first2 != __last2) { +- if (__comp(*__first1, *__first2)) { +- *__result = *__first1; ++ return __set_union(__first1, __last1, __first2, __last2, __result, __comp); ++} ++ ++template ++_OutputIter __set_intersection(_InputIter1 __first1, _InputIter1 __last1, ++ _InputIter2 __first2, _InputIter2 __last2, ++ _OutputIter __result, _Compare __comp) { ++ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) ++ _STLP_DEBUG_CHECK(__check_range(__first2, __last2)) ++ while (__first1 != __last1 && __first2 != __last2) ++ if (__comp(*__first1, *__first2)) + ++__first1; +- } +- else if (__comp(*__first2, *__first1)) { +- *__result = *__first2; ++ else if (__comp(*__first2, *__first1)) + ++__first2; +- } + else { + *__result = *__first1; + ++__first1; + ++__first2; ++ ++__result; + } +- ++__result; +- } +- return copy(__first2, __last2, copy(__first1, __last1, __result)); ++ return __result; + } + + template + _OutputIter set_intersection(_InputIter1 __first1, _InputIter1 __last1, + _InputIter2 __first2, _InputIter2 __last2, + _OutputIter __result) { +- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) +- __STL_DEBUG_CHECK(__check_range(__first2, __last2)) +- while (__first1 != __last1 && __first2 != __last2) +- if (*__first1 < *__first2) +- ++__first1; +- else if (*__first2 < *__first1) +- ++__first2; +- else { +- *__result = *__first1; +- ++__first1; +- ++__first2; +- ++__result; +- } +- return __result; ++ return __set_intersection(__first1, __last1, __first2, __last2, __result, __less(_STLP_VALUE_TYPE(__first1, _InputIter1))); + } + + template ++_OutputIter __set_difference(_InputIter1 __first1, _InputIter1 __last1, ++ _InputIter2 __first2, _InputIter2 __last2, ++ _OutputIter __result, _Compare __comp) { ++ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) ++ _STLP_DEBUG_CHECK(__check_range(__first2, __last2)) + while (__first1 != __last1 && __first2 != __last2) +- if (__comp(*__first1, *__first2)) ++ if (__comp(*__first1, *__first2)) { ++ *__result = *__first1; + ++__first1; ++ ++__result; ++ } + else if (__comp(*__first2, *__first1)) + ++__first2; + else { +- *__result = *__first1; + ++__first1; + ++__first2; +- ++__result; + } +- return __result; ++ return copy(__first1, __last1, __result); + } + + template + _OutputIter set_difference(_InputIter1 __first1, _InputIter1 __last1, + _InputIter2 __first2, _InputIter2 __last2, + _OutputIter __result) { +- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) +- __STL_DEBUG_CHECK(__check_range(__first2, __last2)) +- while (__first1 != __last1 && __first2 != __last2) +- if (*__first1 < *__first2) { +- *__result = *__first1; +- ++__first1; +- ++__result; +- } +- else if (*__first2 < *__first1) +- ++__first2; +- else { +- ++__first1; +- ++__first2; +- } +- return copy(__first1, __last1, __result); ++ return __set_difference(__first1, __last1, __first2, __last2, __result, ++ __less(_STLP_VALUE_TYPE(__first1, _InputIter1))); + } + + template ++_OutputIter ++__set_symmetric_difference(_InputIter1 __first1, _InputIter1 __last1, ++ _InputIter2 __first2, _InputIter2 __last2, ++ _OutputIter __result, _Compare __comp) { ++ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) ++ _STLP_DEBUG_CHECK(__check_range(__first2, __last2)) + while (__first1 != __last1 && __first2 != __last2) + if (__comp(*__first1, *__first2)) { + *__result = *__first1; + ++__first1; + ++__result; + } +- else if (__comp(*__first2, *__first1)) ++ else if (__comp(*__first2, *__first1)) { ++ *__result = *__first2; + ++__first2; ++ ++__result; ++ } + else { + ++__first1; + ++__first2; + } +- return copy(__first1, __last1, __result); ++ return copy(__first2, __last2, copy(__first1, __last1, __result)); + } + + template +@@ -2168,81 +1544,47 @@ + set_symmetric_difference(_InputIter1 __first1, _InputIter1 __last1, + _InputIter2 __first2, _InputIter2 __last2, + _OutputIter __result) { +- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) +- __STL_DEBUG_CHECK(__check_range(__first2, __last2)) +- while (__first1 != __last1 && __first2 != __last2) +- if (*__first1 < *__first2) { +- *__result = *__first1; +- ++__first1; +- ++__result; +- } +- else if (*__first2 < *__first1) { +- *__result = *__first2; +- ++__first2; +- ++__result; +- } +- else { +- ++__first1; +- ++__first2; +- } +- return copy(__first2, __last2, copy(__first1, __last1, __result)); ++ return __set_symmetric_difference(__first1, __last1, __first2, __last2, __result, ++ __less(_STLP_VALUE_TYPE(__first1, _InputIter1))); + } + +-template ++template + _OutputIter + set_symmetric_difference(_InputIter1 __first1, _InputIter1 __last1, + _InputIter2 __first2, _InputIter2 __last2, + _OutputIter __result, + _Compare __comp) { +- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) +- __STL_DEBUG_CHECK(__check_range(__first2, __last2)) +- while (__first1 != __last1 && __first2 != __last2) +- if (__comp(*__first1, *__first2)) { +- *__result = *__first1; +- ++__first1; +- ++__result; +- } +- else if (__comp(*__first2, *__first1)) { +- *__result = *__first2; +- ++__first2; +- ++__result; +- } +- else { +- ++__first1; +- ++__first2; +- } +- return copy(__first2, __last2, copy(__first1, __last1, __result)); ++ return __set_symmetric_difference(__first1, __last1, __first2, __last2, __result, __comp); + } + + // min_element and max_element, with and without an explicitly supplied + // comparison function. + +-template +-_ForwardIter max_element(_ForwardIter __first, _ForwardIter __last) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) ++template ++_ForwardIter max_element(_ForwardIter __first, _ForwardIter __last, ++ _Compare __comp) { ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) + if (__first == __last) return __first; + _ForwardIter __result = __first; + while (++__first != __last) +- if (*__result < *__first) +- __result = __first; ++ if (__comp(*__result, *__first)) __result = __first; + return __result; + } + +-template +-_ForwardIter max_element(_ForwardIter __first, _ForwardIter __last, +- _Compare __comp) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) ++template ++_ForwardIter max_element(_ForwardIter __first, _ForwardIter __last) { ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) + if (__first == __last) return __first; + _ForwardIter __result = __first; + while (++__first != __last) +- if (__comp(*__result, *__first)) __result = __first; ++ if (*__result < *__first) ++ __result = __first; + return __result; + } + + template + _ForwardIter min_element(_ForwardIter __first, _ForwardIter __last) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) + if (__first == __last) return __first; + _ForwardIter __result = __first; + while (++__first != __last) +@@ -2254,55 +1596,20 @@ + template + _ForwardIter min_element(_ForwardIter __first, _ForwardIter __last, + _Compare __comp) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) + if (__first == __last) return __first; + _ForwardIter __result = __first; + while (++__first != __last) +- if (__comp(*__first, *__result)) +- __result = __first; ++ if (__comp(*__first, *__result)) __result = __first; + return __result; + } + + // next_permutation and prev_permutation, with and without an explicitly + // supplied comparison function. +- +-template +-bool next_permutation(_BidirectionalIter __first, _BidirectionalIter __last) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +- if (__first == __last) +- return false; +- _BidirectionalIter __i = __first; +- ++__i; +- if (__i == __last) +- return false; +- __i = __last; +- --__i; +- +- for(;;) { +- _BidirectionalIter __ii = __i; +- --__i; +- if (*__i < *__ii) { +- _BidirectionalIter __j = __last; +- while (!(*__i < *--__j)) +- {} +- iter_swap(__i, __j); +- reverse(__ii, __last); +- return true; +- } +- if (__i == __first) { +- reverse(__first, __last); +- return false; +- } +- } +-#if defined(__STL_NEED_UNREACHABLE_RETURN) +- return 0; +-#endif +-} +- + template +-bool next_permutation(_BidirectionalIter __first, _BidirectionalIter __last, +- _Compare __comp) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) ++bool __next_permutation(_BidirectionalIter __first, _BidirectionalIter __last, ++ _Compare __comp) { ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) + if (__first == __last) + return false; + _BidirectionalIter __i = __first; +@@ -2328,48 +1635,27 @@ + return false; + } + } +-#if defined(__STL_NEED_UNREACHABLE_RETURN) ++#if defined(_STLP_NEED_UNREACHABLE_RETURN) + return 0; + #endif + } + + template +-bool prev_permutation(_BidirectionalIter __first, _BidirectionalIter __last) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +- if (__first == __last) +- return false; +- _BidirectionalIter __i = __first; +- ++__i; +- if (__i == __last) +- return false; +- __i = __last; +- --__i; ++bool next_permutation(_BidirectionalIter __first, _BidirectionalIter __last) { ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) ++ return __next_permutation(__first, __last, __less(_STLP_VALUE_TYPE(__first, _BidirectionalIter))); ++} + +- for(;;) { +- _BidirectionalIter __ii = __i; +- --__i; +- if (*__ii < *__i) { +- _BidirectionalIter __j = __last; +- while (!(*--__j < *__i)) +- {} +- iter_swap(__i, __j); +- reverse(__ii, __last); +- return true; +- } +- if (__i == __first) { +- reverse(__first, __last); +- return false; +- } +- } +-#if defined(__STL_NEED_UNREACHABLE_RETURN) +- return 0; +-#endif ++template ++bool next_permutation(_BidirectionalIter __first, _BidirectionalIter __last, ++ _Compare __comp) { ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) ++ return __next_permutation(__first, __last, __comp); + } + + template +-bool prev_permutation(_BidirectionalIter __first, _BidirectionalIter __last, ++bool __prev_permutation(_BidirectionalIter __first, _BidirectionalIter __last, + _Compare __comp) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) + if (__first == __last) + return false; + _BidirectionalIter __i = __first; +@@ -2395,204 +1681,30 @@ + return false; + } + } +-#if defined(__STL_NEED_UNREACHABLE_RETURN) ++#if defined(_STLP_NEED_UNREACHABLE_RETURN) + return 0; + #endif + } + +-// find_first_of, with and without an explicitly supplied comparison function. +- +-template +-_InputIter find_first_of(_InputIter __first1, _InputIter __last1, +- _ForwardIter __first2, _ForwardIter __last2) +-{ +- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) +- __STL_DEBUG_CHECK(__check_range(__first2, __last2)) +- for ( ; __first1 != __last1; ++__first1) +- for (_ForwardIter __iter = __first2; __iter != __last2; ++__iter) +- if (*__first1 == *__iter) +- return __first1; +- return __last1; +-} +- +-template +-_InputIter find_first_of(_InputIter __first1, _InputIter __last1, +- _ForwardIter __first2, _ForwardIter __last2, +- _BinaryPredicate __comp) +-{ +- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) +- __STL_DEBUG_CHECK(__check_range(__first2, __last2)) +- for ( ; __first1 != __last1; ++__first1) +- for (_ForwardIter __iter = __first2; __iter != __last2; ++__iter) +- if (__comp(*__first1, *__iter)) +- return __first1; +- return __last1; +-} +- +-// find_end, with and without an explicitly supplied comparison function. +-// Search [first2, last2) as a subsequence in [first1, last1), and return +-// the *last* possible match. Note that find_end for bidirectional iterators +-// is much faster than for forward iterators. +- +-// find_end for forward iterators. +-template +-_ForwardIter1 __find_end(_ForwardIter1 __first1, _ForwardIter1 __last1, +- _ForwardIter2 __first2, _ForwardIter2 __last2, +- forward_iterator_tag, forward_iterator_tag) +-{ +- if (__first2 == __last2) +- return __last1; +- else { +- _ForwardIter1 __result = __last1; +- while (1) { +- _ForwardIter1 __new_result +- = search(__first1, __last1, __first2, __last2); +- if (__new_result == __last1) +- return __result; +- else { +- __result = __new_result; +- __first1 = __new_result; +- ++__first1; +- } +- } +- } +-} +- +-template +-_ForwardIter1 __find_end(_ForwardIter1 __first1, _ForwardIter1 __last1, +- _ForwardIter2 __first2, _ForwardIter2 __last2, +- forward_iterator_tag, forward_iterator_tag, +- _BinaryPredicate __comp) +-{ +- if (__first2 == __last2) +- return __last1; +- else { +- _ForwardIter1 __result = __last1; +- while (1) { +- _ForwardIter1 __new_result +- = search(__first1, __last1, __first2, __last2, __comp); +- if (__new_result == __last1) +- return __result; +- else { +- __result = __new_result; +- __first1 = __new_result; +- ++__first1; +- } +- } +- } +-} +- +-// find_end for bidirectional iterators. Requires partial specialization. +-#if defined ( __STL_CLASS_PARTIAL_SPECIALIZATION ) && \ +-! defined (__STL_PARTIAL_SPECIALIZATION_BUG) +- +-template +-_BidirectionalIter1 +-__find_end(_BidirectionalIter1 __first1, _BidirectionalIter1 __last1, +- _BidirectionalIter2 __first2, _BidirectionalIter2 __last2, +- bidirectional_iterator_tag, bidirectional_iterator_tag) +-{ +- typedef reverse_iterator<_BidirectionalIter1> _RevIter1; +- typedef reverse_iterator<_BidirectionalIter2> _RevIter2; +- +- _RevIter1 __rlast1(__first1); +- _RevIter2 __rlast2(__first2); +- _RevIter1 __rresult = search(_RevIter1(__last1), __rlast1, +- _RevIter2(__last2), __rlast2); +- +- if (__rresult == __rlast1) +- return __last1; +- else { +- _BidirectionalIter1 __result = __rresult.base(); +- advance(__result, -distance(__first2, __last2)); +- return __result; +- } +-} +- +-template +-_BidirectionalIter1 +-__find_end(_BidirectionalIter1 __first1, _BidirectionalIter1 __last1, +- _BidirectionalIter2 __first2, _BidirectionalIter2 __last2, +- bidirectional_iterator_tag, bidirectional_iterator_tag, +- _BinaryPredicate __comp) +-{ +- typedef reverse_iterator<_BidirectionalIter1> _RevIter1; +- typedef reverse_iterator<_BidirectionalIter2> _RevIter2; +- +- _RevIter1 __rlast1(__first1); +- _RevIter2 __rlast2(__first2); +- _RevIter1 __rresult = search(_RevIter1(__last1), __rlast1, +- _RevIter2(__last2), __rlast2, +- __comp); +- +- if (__rresult == __rlast1) +- return __last1; +- else { +- _BidirectionalIter1 __result = __rresult.base(); +- advance(__result, -distance(__first2, __last2)); +- return __result; +- } +-} +-#endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */ +- +-template +-_ForwardIter1 +-find_end(_ForwardIter1 __first1, _ForwardIter1 __last1, +- _ForwardIter2 __first2, _ForwardIter2 __last2) +-{ +- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) +- __STL_DEBUG_CHECK(__check_range(__first2, __last2)) +- return __find_end(__first1, __last1, __first2, __last2, +-# if defined (__STL_CLASS_PARTIAL_SPECIALIZATION) +- __ITERATOR_CATEGORY(__first1), +- __ITERATOR_CATEGORY(__first2) +-# else +- forward_iterator_tag(), +- forward_iterator_tag() +-# endif +-); ++template ++bool prev_permutation(_BidirectionalIter __first, _BidirectionalIter __last) { ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) ++ return __prev_permutation(__first, __last, __less(_STLP_VALUE_TYPE(__first, _BidirectionalIter))); + } + +-template +-_ForwardIter1 +-find_end(_ForwardIter1 __first1, _ForwardIter1 __last1, +- _ForwardIter2 __first2, _ForwardIter2 __last2, +- _BinaryPredicate __comp) +-{ +- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) +- __STL_DEBUG_CHECK(__check_range(__first2, __last2)) +- return __find_end(__first1, __last1, __first2, __last2, +-# if defined (__STL_CLASS_PARTIAL_SPECIALIZATION) +- __ITERATOR_CATEGORY(__first1), +- __ITERATOR_CATEGORY(__first2), +-# else +- forward_iterator_tag(), +- forward_iterator_tag(), +-# endif +- __comp); ++template ++bool prev_permutation(_BidirectionalIter __first, _BidirectionalIter __last, ++ _Compare __comp) { ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) ++ return __prev_permutation(__first, __last, __comp); + } + +-# ifndef __STL_NO_EXTENSIONS ++# ifndef _STLP_NO_EXTENSIONS + + // is_heap, a predicate testing whether or not a range is + // a heap. This function is an extension, not part of the C++ + // standard. + +-template +-bool __is_heap(_RandomAccessIter __first, _Distance __n) +-{ +- _Distance __parent = 0; +- for (_Distance __child = 1; __child < __n; ++__child) { +- if (__first[__parent] < __first[__child]) +- return false; +- if ((__child & 1) == 0) +- ++__parent; +- } +- return true; +-} + + template + bool __is_heap(_RandomAccessIter __first, _StrictWeakOrdering __comp, +@@ -2611,43 +1723,24 @@ + template + bool is_heap(_RandomAccessIter __first, _RandomAccessIter __last) + { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +- return __is_heap(__first, __last - __first); ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) ++ return __is_heap(__first, __less(_STLP_VALUE_TYPE(__first, _RandomAccessIter)), __last - __first); + } + + template + bool is_heap(_RandomAccessIter __first, _RandomAccessIter __last, + _StrictWeakOrdering __comp) + { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) + return __is_heap(__first, __comp, __last - __first); + } + +-// is_sorted, a predicated testing whether a range is sorted in +-// nondescending order. This is an extension, not part of the C++ +-// standard. +- +-template +-bool is_sorted(_ForwardIter __first, _ForwardIter __last) +-{ +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +- if (__first == __last) +- return true; +- +- _ForwardIter __next = __first; +- for (++__next; __next != __last; __first = __next, ++__next) { +- if (*__next < *__first) +- return false; +- } +- +- return true; +-} + + template +-bool is_sorted(_ForwardIter __first, _ForwardIter __last, +- _StrictWeakOrdering __comp) ++bool __is_sorted(_ForwardIter __first, _ForwardIter __last, ++ _StrictWeakOrdering __comp) + { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) + if (__first == __last) + return true; + +@@ -2660,13 +1753,13 @@ + return true; + } + +-# endif /* __STL_NO_EXTENSIONS */ ++# endif /* _STLP_NO_EXTENSIONS */ + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + + # undef __stl_threshold + +-#endif /* __STL_ALGO_C */ ++#endif /* _STLP_ALGO_C */ + // Local Variables: + // mode:C++ + // End: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_algo.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_algo.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_algo.h Sat Feb 24 10:44:40 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_algo.h Sun Aug 11 18:59:24 2002 +@@ -27,311 +27,281 @@ + * You should not attempt to use it directly. + */ + +-#ifndef __SGI_STL_INTERNAL_ALGO_H +-#define __SGI_STL_INTERNAL_ALGO_H ++#ifndef _STLP_INTERNAL_ALGO_H ++#define _STLP_INTERNAL_ALGO_H + +-# ifndef __SGI_STL_INTERNAL_ALGOBASE_H ++# ifndef _STLP_INTERNAL_ALGOBASE_H + # include + # endif + +-# ifndef __SGI_STL_INTERNAL_TEMPBUF_H ++# ifndef _STLP_INTERNAL_TEMPBUF_H + # include + # endif + +-# ifndef __SGI_STL_INTERNAL_HEAP_H ++# ifndef _STLP_INTERNAL_HEAP_H + # include + # endif + +-# ifndef __SGI_STL_INTERNAL_ITERATOR_H ++# ifndef _STLP_INTERNAL_ITERATOR_H + # include + # endif + ++# ifndef _STLP_INTERNAL_FUNCTION_BASE_H ++# include ++# endif ++ + # ifdef __SUNPRO_CC + // remove() conflict + # include + # endif + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + // for_each. Apply a function to every element of a range. + template +-_Function for_each(_InputIter __first, _InputIter __last, _Function __f); +- +-// find and find_if. +- +-template +-inline _InputIter find(_InputIter __first, _InputIter __last, +- const _Tp& __val, +- input_iterator_tag) +-{ +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +- while (__first != __last && !(*__first == __val)) +- ++__first; +- return __first; +-} +- +-template +-inline _InputIter find_if(_InputIter __first, __STL_MPW_EXTRA_CONST _InputIter __last, +- _Predicate __pred, +- input_iterator_tag) +-{ +- while (__first != __last && !__pred(*__first)) +- ++__first; +- return __first; +-} +- +-#ifdef __STL_CLASS_PARTIAL_SPECIALIZATION +- +-template +-_RandomAccessIter find(_RandomAccessIter __first, _RandomAccessIter __last, +- const _Tp& __val, +- random_access_iterator_tag); +- +-template +-_RandomAccessIter find_if(_RandomAccessIter __first, _RandomAccessIter __last, +- _Predicate __pred, +- random_access_iterator_tag); +- +-#endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */ +- +-// fbp : without partial spec, we essentially have one variant for those. +-template +-inline _InputIter find(_InputIter __first, _InputIter __last, +- const _Tp& __val) +-{ +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +-# if defined (__STL_CLASS_PARTIAL_SPECIALIZATION) +- return find(__first, __last, __val, __ITERATOR_CATEGORY(__first)); +-# else +- return find(__first, __last, __val, input_iterator_tag()); +-# endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */ ++_STLP_INLINE_LOOP _Function ++for_each(_InputIter __first, _InputIter __last, _Function __f) { ++ for ( ; __first != __last; ++__first) ++ __f(*__first); ++ return __f; + } + ++// count_if + template +-inline _InputIter find_if(_InputIter __first, _InputIter __last, +- _Predicate __pred) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +-# if defined (__STL_CLASS_PARTIAL_SPECIALIZATION) +- return find_if(__first, __last, __pred, __ITERATOR_CATEGORY(__first)); +-# else +- return find_if(__first, __last, __pred, input_iterator_tag()); +-# endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */ ++_STLP_INLINE_LOOP _STLP_DIFFERENCE_TYPE(_InputIter) ++count_if(_InputIter __first, _InputIter __last, _Predicate __pred) { ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) ++_STLP_DIFFERENCE_TYPE(_InputIter) __n = 0; ++ for ( ; __first != __last; ++__first) ++ if (__pred(*__first)) ++ ++__n; ++ return __n; + } + + // adjacent_find. +- + template +-_ForwardIter adjacent_find(_ForwardIter __first, _ForwardIter __last); +-template +-_ForwardIter adjacent_find(_ForwardIter __first, _ForwardIter __last, +- _BinaryPredicate __binary_pred); ++_STLP_INLINE_LOOP _ForwardIter ++adjacent_find(_ForwardIter __first, _ForwardIter __last) { ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) ++ if (__first == __last) ++ return __last; ++ _ForwardIter __next = __first; ++ while(++__next != __last) { ++ if (*__first == *__next) ++ return __first; ++ __first = __next; ++ } ++ return __last; ++} + +-// count and count_if. There are two version of each, one whose return type +-// type is void and one (present only if we have partial specialization) +-// whose return type is iterator_traits<_InputIter>::difference_type. The +-// C++ standard only has the latter version, but the former, which was present +-// in the HP STL, is retained for backward compatibility. ++template ++_STLP_INLINE_LOOP _ForwardIter ++adjacent_find(_ForwardIter __first, _ForwardIter __last, ++ _BinaryPredicate __binary_pred) { ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) ++ if (__first == __last) ++ return __last; ++ _ForwardIter __next = __first; ++ while(++__next != __last) { ++ if (__binary_pred(*__first, *__next)) ++ return __first; ++ __first = __next; ++ } ++ return __last; ++} + ++# ifndef _STLP_NO_ANACHRONISMS + template +-void count(_InputIter __first, _InputIter __last, const _Tp& __value, +- _Size& __n); +-template +-void count_if(_InputIter __first, _InputIter __last, _Predicate __pred, +- _Size& __n); +- +- +-template +-__STL_DIFFERENCE_TYPE(_InputIter) +-count(_InputIter __first, _InputIter __last, const _Tp& __value); +- +-template +-__STL_DIFFERENCE_TYPE(_InputIter) +-count_if(_InputIter __first, _InputIter __last, _Predicate __pred); ++_STLP_INLINE_LOOP void ++count(_InputIter __first, _InputIter __last, const _Tp& __val, _Size& __n) { ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) ++ for ( ; __first != __last; ++__first) ++ if (*__first == __val) ++ ++__n; ++} + +-// search. ++template ++_STLP_INLINE_LOOP void ++count_if(_InputIter __first, _InputIter __last, _Predicate __pred, _Size& __n) { ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) ++ for ( ; __first != __last; ++__first) ++ if (__pred(*__first)) ++ ++__n; ++} ++# endif + + template + _ForwardIter1 search(_ForwardIter1 __first1, _ForwardIter1 __last1, + _ForwardIter2 __first2, _ForwardIter2 __last2); +-template +-_ForwardIter1 search(_ForwardIter1 __first1, _ForwardIter1 __last1, +- _ForwardIter2 __first2, _ForwardIter2 __last2, +- _BinaryPred __predicate); +- + + // search_n. Search for __count consecutive copies of __val. +- + template + _ForwardIter search_n(_ForwardIter __first, _ForwardIter __last, + _Integer __count, const _Tp& __val); +- + template + _ForwardIter search_n(_ForwardIter __first, _ForwardIter __last, +- _Integer __count, const _Tp& __val, +- _BinaryPred __binary_pred); +- ++ _Integer __count, const _Tp& __val, _BinaryPred __binary_pred); + ++template ++inline _InputIter find_first_of(_InputIter __first1, _InputIter __last1, ++ _ForwardIter __first2, _ForwardIter __last2) { ++ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) ++ _STLP_DEBUG_CHECK(__check_range(__first2, __last2)) ++ return __find_first_of(__first1, __last1, __first2, __last2,__equal_to(_STLP_VALUE_TYPE(__first1, _InputIter))); ++} + +-// swap_ranges ++template ++inline _InputIter ++find_first_of(_InputIter __first1, _InputIter __last1, ++ _ForwardIter __first2, _ForwardIter __last2,_BinaryPredicate __comp) { ++ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) ++ _STLP_DEBUG_CHECK(__check_range(__first2, __last2)) ++ return __find_first_of(__first1, __last1, __first2, __last2,__comp); ++} + + template +-_ForwardIter2 swap_ranges(_ForwardIter1 __first1, _ForwardIter1 __last1, +- _ForwardIter2 __first2); ++_ForwardIter1 ++find_end(_ForwardIter1 __first1, _ForwardIter1 __last1, ++ _ForwardIter2 __first2, _ForwardIter2 __last2); + ++// swap_ranges ++template ++_STLP_INLINE_LOOP _ForwardIter2 ++swap_ranges(_ForwardIter1 __first1, _ForwardIter1 __last1, _ForwardIter2 __first2) { ++ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) ++ for ( ; __first1 != __last1; ++__first1, ++__first2) ++ iter_swap(__first1, __first2); ++ return __first2; ++} + + // transform + template +-_OutputIter transform(_InputIter __first, _InputIter __last, +- _OutputIter __result, _UnaryOperation __opr); +- +-template +-_OutputIter transform(_InputIter1 __first1, _InputIter1 __last1, +- _InputIter2 __first2, _OutputIter __result, +- _BinaryOperation __binary_op); ++_STLP_INLINE_LOOP _OutputIter ++transform(_InputIter __first, _InputIter __last, _OutputIter __result, _UnaryOperation __opr) { ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) ++ for ( ; __first != __last; ++__first, ++__result) ++ *__result = __opr(*__first); ++ return __result; ++} ++template ++_STLP_INLINE_LOOP _OutputIter ++transform(_InputIter1 __first1, _InputIter1 __last1, ++ _InputIter2 __first2, _OutputIter __result,_BinaryOperation __binary_op) { ++ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) ++ for ( ; __first1 != __last1; ++__first1, ++__first2, ++__result) ++ *__result = __binary_op(*__first1, *__first2); ++ return __result; ++} + +-// replace, replace_if, replace_copy, replace_copy_if ++// replace_if, replace_copy, replace_copy_if + +-template +-void replace(_ForwardIter __first, _ForwardIter __last, +- const _Tp& __old_value, const _Tp& __new_value); + template +-void replace_if(_ForwardIter __first, _ForwardIter __last, +- _Predicate __pred, const _Tp& __new_value); ++_STLP_INLINE_LOOP void ++replace_if(_ForwardIter __first, _ForwardIter __last, _Predicate __pred, const _Tp& __new_value) { ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) ++ for ( ; __first != __last; ++__first) ++ if (__pred(*__first)) ++ *__first = __new_value; ++} + + template +-_OutputIter replace_copy(_InputIter __first, _InputIter __last, +- _OutputIter __result, +- const _Tp& __old_value, const _Tp& __new_value); +-template +-_OutputIter replace_copy_if(Iterator __first, Iterator __last, +- _OutputIter __result, +- _Predicate __pred, const _Tp& __new_value); ++_STLP_INLINE_LOOP _OutputIter ++replace_copy(_InputIter __first, _InputIter __last,_OutputIter __result, ++ const _Tp& __old_value, const _Tp& __new_value) { ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) ++ for ( ; __first != __last; ++__first, ++__result) ++ *__result = *__first == __old_value ? __new_value : *__first; ++ return __result; ++} + ++template ++_STLP_INLINE_LOOP _OutputIter ++replace_copy_if(_Iterator __first, _Iterator __last, ++ _OutputIter __result, ++ _Predicate __pred, const _Tp& __new_value) { ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) ++ for ( ; __first != __last; ++__first, ++__result) ++ *__result = __pred(*__first) ? __new_value : *__first; ++ return __result; ++} + + // generate and generate_n + + template +-void generate(_ForwardIter __first, _ForwardIter __last, _Generator __gen); ++_STLP_INLINE_LOOP void ++generate(_ForwardIter __first, _ForwardIter __last, _Generator __gen) { ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) ++ for ( ; __first != __last; ++__first) ++ *__first = __gen(); ++} + + template +-_OutputIter generate_n(_OutputIter __first, _Size __n, _Generator __gen); ++_STLP_INLINE_LOOP _OutputIter ++generate_n(_OutputIter __first, _Size __n, _Generator __gen) { ++ for ( ; __n > 0; --__n, ++__first) ++ *__first = __gen(); ++ return __first; ++} + + // remove, remove_if, remove_copy, remove_copy_if + + template +-_OutputIter remove_copy(_InputIter __first, _InputIter __last, +- _OutputIter __result, const _Tp& __value); ++_STLP_INLINE_LOOP _OutputIter ++remove_copy(_InputIter __first, _InputIter __last,_OutputIter __result, const _Tp& __val) { ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) ++ for ( ; __first != __last; ++__first) ++ if (!(*__first == __val)) { ++ *__result = *__first; ++ ++__result; ++ } ++ return __result; ++} + + template +-_OutputIter remove_copy_if(_InputIter __first, _InputIter __last, +- _OutputIter __result, _Predicate __pred); ++_STLP_INLINE_LOOP _OutputIter ++remove_copy_if(_InputIter __first, _InputIter __last, _OutputIter __result, _Predicate __pred) { ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) ++ for ( ; __first != __last; ++__first) ++ if (!__pred(*__first)) { ++ *__result = *__first; ++ ++__result; ++ } ++ return __result; ++} + + template +-_ForwardIter remove(_ForwardIter __first, _ForwardIter __last, +- const _Tp& __value); +- +-template +-_ForwardIter remove_if(_ForwardIter __first, _ForwardIter __last, +- _Predicate __pred); +- +-// unique and unique_copy +- +-template +-_OutputIter __unique_copy(_InputIter __first, _InputIter __last, +- _OutputIter __result, _Tp*); +- +- +-template +-inline _OutputIter __unique_copy(_InputIter __first, _InputIter __last, +- _OutputIter __result, +- output_iterator_tag) { +- return __unique_copy(__first, __last, __result, __VALUE_TYPE(__first)); ++_STLP_INLINE_LOOP _ForwardIter ++remove(_ForwardIter __first, _ForwardIter __last, const _Tp& __val) { ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) ++ __first = find(__first, __last, __val); ++ if (__first == __last) ++ return __first; ++ else { ++ _ForwardIter __next = __first; ++ return remove_copy(++__next, __last, __first, __val); ++ } + } + +-template +-_ForwardIter __unique_copy(_InputIter __first, _InputIter __last, +- _ForwardIter __result, forward_iterator_tag); +- +-# if defined (__STL_NONTEMPL_BASE_MATCH_BUG) +-template +-inline +-_ForwardIter __unique_copy(_InputIter __first, _InputIter __last, +- _ForwardIter __result, bidirectional_iterator_tag) { +- return __unique_copy(__first, __last, __result, forward_iterator_tag()); +-} +-template +-inline +-_ForwardIter __unique_copy(_InputIter __first, _InputIter __last, +- _ForwardIter __result, random_access_iterator_tag) { +- return __unique_copy(__first, __last, __result, forward_iterator_tag()); ++template ++_STLP_INLINE_LOOP _ForwardIter ++remove_if(_ForwardIter __first, _ForwardIter __last, _Predicate __pred) { ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) ++ __first = find_if(__first, __last, __pred); ++ if ( __first == __last ) ++ return __first; ++ else { ++ _ForwardIter __next = __first; ++ return remove_copy_if(++__next, __last, __first, __pred); ++ } + } +-# endif /* __STL_NONTEMPL_BASE_MATCH_BUG */ + ++// unique and unique_copy + template +-inline _OutputIter unique_copy(_InputIter __first, _InputIter __last, +- _OutputIter __result) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +- if (__first == __last) return __result; +- return __unique_copy(__first, __last, __result, +- __ITERATOR_CATEGORY(__result)); +-} +- +-template +-OutputIterator __unique_copy(InputIterator first, InputIterator last, +- OutputIterator result, +- BinaryPredicate binary_pred, _Tp*); +- ++_OutputIter unique_copy(_InputIter __first, _InputIter __last, _OutputIter __result); + + template +-inline _OutputIter __unique_copy(_InputIter __first, _InputIter __last, +- _OutputIter __result, +- _BinaryPredicate __binary_pred, +- output_iterator_tag) { +- return __unique_copy(__first, __last, __result, __binary_pred, +- __VALUE_TYPE(__first)); +-} +- +-template +-_ForwardIter __unique_copy(_InputIter __first, _InputIter __last, +- _ForwardIter __result, +- _BinaryPredicate __binary_pred, +- forward_iterator_tag); +- +-# if defined (__STL_NONTEMPL_BASE_MATCH_BUG) +-template +-inline BidirectionalIterator __unique_copy(InputIterator first, +- InputIterator last, +- BidirectionalIterator result, +- BinaryPredicate binary_pred, +- bidirectional_iterator_tag) { +- return __unique_copy(first, last, result, binary_pred, +- forward_iterator_tag()); +-} +- +-template +-inline RandomAccessIterator __unique_copy(InputIterator first, +- InputIterator last, +- RandomAccessIterator result, +- BinaryPredicate binary_pred, +- random_access_iterator_tag) { +- return __unique_copy(first, last, result, binary_pred, +- forward_iterator_tag()); +-} +-# endif /* __STL_NONTEMPL_BASE_MATCH_BUG */ +- +-template +-inline _OutputIter unique_copy(_InputIter __first, _InputIter __last, +- _OutputIter __result, +- _BinaryPredicate __binary_pred) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +- if (__first == __last) return __result; +- return __unique_copy(__first, __last, __result, __binary_pred, +- __ITERATOR_CATEGORY(__result)); +-} ++_OutputIter unique_copy(_InputIter __first, _InputIter __last,_OutputIter __result, ++ _BinaryPredicate __binary_pred); + + template + inline _ForwardIter unique(_ForwardIter __first, _ForwardIter __last) { +@@ -349,9 +319,8 @@ + // reverse and reverse_copy, and their auxiliary functions + + template +-__STL_INLINE_LOOP +-void __reverse(_BidirectionalIter __first, _BidirectionalIter __last, +- bidirectional_iterator_tag) { ++_STLP_INLINE_LOOP void ++__reverse(_BidirectionalIter __first, _BidirectionalIter __last, const bidirectional_iterator_tag &) { + while (true) + if (__first == __last || __first == --__last) + return; +@@ -361,24 +330,24 @@ + + + template +-__STL_INLINE_LOOP +-void __reverse(_RandomAccessIter __first, _RandomAccessIter __last, +- random_access_iterator_tag) { ++_STLP_INLINE_LOOP void ++__reverse(_RandomAccessIter __first, _RandomAccessIter __last, const random_access_iterator_tag &) { + for (; __first < __last; ++__first) iter_swap(__first, --__last); + } + + template +-inline void reverse(_BidirectionalIter __first, _BidirectionalIter __last) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +- __reverse(__first, __last, __ITERATOR_CATEGORY(__first)); ++inline void ++reverse(_BidirectionalIter __first, _BidirectionalIter __last) { ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) ++ __reverse(__first, __last, _STLP_ITERATOR_CATEGORY(__first, _BidirectionalIter)); + } + + template +-__STL_INLINE_LOOP ++_STLP_INLINE_LOOP + _OutputIter reverse_copy(_BidirectionalIter __first, + _BidirectionalIter __last, + _OutputIter __result) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) + while (__first != __last) { + --__last; + *__result = *__last; +@@ -390,7 +359,7 @@ + // rotate and rotate_copy, and their auxiliary functions + + template +-__STL_INLINE_LOOP ++_STLP_INLINE_LOOP + _EuclideanRingElement __gcd(_EuclideanRingElement __m, + _EuclideanRingElement __n) + { +@@ -402,64 +371,26 @@ + return __m; + } + +-template +-_ForwardIter __rotate(_ForwardIter __first, +- _ForwardIter __middle, +- _ForwardIter __last, +- _Distance*, +- forward_iterator_tag); +- +-template +-_BidirectionalIter __rotate(_BidirectionalIter __first, +- _BidirectionalIter __middle, +- _BidirectionalIter __last, +- _Distance*, +- bidirectional_iterator_tag); +- +-template +-_RandomAccessIter __rotate(_RandomAccessIter __first, +- _RandomAccessIter __middle, +- _RandomAccessIter __last, +- _Distance *, _Tp *); +- +- +-template +-inline _RandomAccessIter __rotate(_RandomAccessIter __first, +- _RandomAccessIter __middle, +- _RandomAccessIter __last, +- _Distance * __dis, +- random_access_iterator_tag) { +- return __rotate(__first, __middle, __last, +- __dis, __VALUE_TYPE(__first)); +-} +- + template +-inline _ForwardIter rotate(_ForwardIter __first, _ForwardIter __middle, +- _ForwardIter __last) { +- __STL_DEBUG_CHECK(__check_range(__first, __middle)) +- __STL_DEBUG_CHECK(__check_range(__middle, __last)) +- return __rotate(__first, __middle, __last, +- __DISTANCE_TYPE(__first), +- __ITERATOR_CATEGORY(__first)); +-} ++_ForwardIter ++rotate(_ForwardIter __first, _ForwardIter __middle, _ForwardIter __last); + + template + inline _OutputIter rotate_copy(_ForwardIter __first, _ForwardIter __middle, +- _ForwardIter __last, _OutputIter __result) { ++ _ForwardIter __last, _OutputIter __result) { + return copy(__first, __middle, copy(__middle, __last, __result)); + } + + // random_shuffle + + template +-void random_shuffle(_RandomAccessIter __first, +- _RandomAccessIter __last); ++void random_shuffle(_RandomAccessIter __first, _RandomAccessIter __last); + + template + void random_shuffle(_RandomAccessIter __first, _RandomAccessIter __last, + _RandomNumberGenerator& __rand); + +-# ifndef __STL_NO_EXTENSIONS ++# ifndef _STLP_NO_EXTENSIONS + // random_sample and random_sample_n (extensions, not part of the standard). + + template +@@ -472,145 +403,32 @@ + _OutputIter __out, const _Distance __n, + _RandomNumberGenerator& __rand); + +-template +-_RandomAccessIter __random_sample(_InputIter __first, _InputIter __last, +- _RandomAccessIter __out, +- const _Distance __n); +- +-template +-_RandomAccessIter __random_sample(_InputIter __first, _InputIter __last, +- _RandomAccessIter __out, +- _RandomNumberGenerator& __rand, +- const _Distance __n); +- + template +-inline _RandomAccessIter ++_RandomAccessIter + random_sample(_InputIter __first, _InputIter __last, +- _RandomAccessIter __out_first, _RandomAccessIter __out_last) +-{ +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +- __STL_DEBUG_CHECK(__check_range(__out_first, __out_last)) +- return __random_sample(__first, __last, +- __out_first, __out_last - __out_first); +-} +- ++ _RandomAccessIter __out_first, _RandomAccessIter __out_last); + + template +-inline _RandomAccessIter ++_RandomAccessIter + random_sample(_InputIter __first, _InputIter __last, + _RandomAccessIter __out_first, _RandomAccessIter __out_last, +- _RandomNumberGenerator& __rand) +-{ +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +- __STL_DEBUG_CHECK(__check_range(__out_first, __out_last)) +- return __random_sample(__first, __last, +- __out_first, __rand, +- __out_last - __out_first); +-} ++ _RandomNumberGenerator& __rand); + +-# endif /* __STL_NO_EXTENSIONS */ ++# endif /* _STLP_NO_EXTENSIONS */ + + // partition, stable_partition, and their auxiliary functions + + template +-_ForwardIter __partition(_ForwardIter __first, +- _ForwardIter __last, +- _Predicate __pred, +- forward_iterator_tag); +- +-template +-_BidirectionalIter __partition(_BidirectionalIter __first, +- _BidirectionalIter __last, +- _Predicate __pred, +- bidirectional_iterator_tag); +- +- +-# if defined (__STL_NONTEMPL_BASE_MATCH_BUG) +-template +-inline +-_BidirectionalIter __partition(_BidirectionalIter __first, +- _BidirectionalIter __last, +- _Predicate __pred, +- random_access_iterator_tag) { +- return __partition(__first, __last, __pred, bidirectional_iterator_tag()); +-} +-# endif ++_ForwardIter partition(_ForwardIter __first, _ForwardIter __last, _Predicate __pred); + +-template +-inline _ForwardIter partition(_ForwardIter __first, +- _ForwardIter __last, +- _Predicate __pred) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +- return __partition(__first, __last, __pred, __ITERATOR_CATEGORY(__first)); +-} +- +-template +-_ForwardIter __inplace_stable_partition(_ForwardIter __first, +- _ForwardIter __last, +- _Predicate __pred, _Distance __len); +- +- +-template +-_ForwardIter __stable_partition_adaptive(_ForwardIter __first, +- _ForwardIter __last, +- _Predicate __pred, _Distance __len, +- _Pointer __buffer, +- _Distance __buffer_size); +- +- +-template +-inline _ForwardIter +-__stable_partition_aux(_ForwardIter __first, _ForwardIter __last, +- _Predicate __pred, _Tp*, _Distance*) +-{ +- _Temporary_buffer<_ForwardIter, _Tp> __buf(__first, __last); +- __STL_MPWFIX_TRY //*TY 06/01/2000 - they forget to call dtor for _Temporary_buffer if no try/catch block is present +- return (__buf.size() > 0) ? +- __stable_partition_adaptive(__first, __last, __pred, +- _Distance(__buf.requested_size()), +- __buf.begin(), __buf.size()) : +- __inplace_stable_partition(__first, __last, __pred, +- _Distance(__buf.requested_size())); +- __STL_MPWFIX_CATCH //*TY 06/01/2000 - they forget to call dtor for _Temporary_buffer if no try/catch block is present +-} + + template +-inline _ForwardIter stable_partition(_ForwardIter __first, +- _ForwardIter __last, +- _Predicate __pred) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +- if (__first == __last) +- return __first; +- else +- return __stable_partition_aux(__first, __last, __pred, +- __VALUE_TYPE(__first), +- __DISTANCE_TYPE(__first)); +-} +- +-template +-_RandomAccessIter __unguarded_partition(_RandomAccessIter __first, +- _RandomAccessIter __last, +- _Tp __pivot); +- +-template +-_RandomAccessIter __unguarded_partition(_RandomAccessIter __first, +- _RandomAccessIter __last, +- _Tp __pivot, _Compare __comp); ++_ForwardIter ++stable_partition(_ForwardIter __first, _ForwardIter __last, _Predicate __pred); + + // sort() and its auxiliary functions. + +-template +-void __final_insertion_sort(_RandomAccessIter __first, +- _RandomAccessIter __last); +- +-template +-void __final_insertion_sort(_RandomAccessIter __first, +- _RandomAccessIter __last, _Compare __comp); +- +- + template + inline _Size __lg(_Size __n) { + _Size __k; +@@ -618,40 +436,10 @@ + return __k; + } + +-template +-void __introsort_loop(_RandomAccessIter __first, +- _RandomAccessIter __last, _Tp*, +- _Size __depth_limit); +- +-template +-void __introsort_loop(_RandomAccessIter __first, +- _RandomAccessIter __last, _Tp*, +- _Size __depth_limit, _Compare __comp); +- +- + template +-inline void sort(_RandomAccessIter __first, _RandomAccessIter __last) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +- if (__first != __last) { +- __introsort_loop(__first, __last, +- __VALUE_TYPE(__first), +- __lg(__last - __first) * 2); +- __final_insertion_sort(__first, __last); +- } +-} +- ++void sort(_RandomAccessIter __first, _RandomAccessIter __last); + template +-inline void sort(_RandomAccessIter __first, _RandomAccessIter __last, +- _Compare __comp) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +- if (__first != __last) { +- __introsort_loop(__first, __last, +- __VALUE_TYPE(__first), +- __lg(__last - __first) * 2, +- __comp); +- __final_insertion_sort(__first, __last, __comp); +- } +-} ++void sort(_RandomAccessIter __first, _RandomAccessIter __last, _Compare __comp); + + // stable_sort() and its auxiliary functions. + template +@@ -664,184 +452,99 @@ + + // partial_sort, partial_sort_copy, and auxiliary functions. + +-template +-void __partial_sort(_RandomAccessIter __first, _RandomAccessIter __middle, +- _RandomAccessIter __last, _Tp*); +- + template +-inline void partial_sort(_RandomAccessIter __first, +- _RandomAccessIter __middle, +- _RandomAccessIter __last) { +- __STL_DEBUG_CHECK(__check_range(__first, __middle)) +- __STL_DEBUG_CHECK(__check_range(__middle, __last)) +- __partial_sort(__first, __middle, __last, __VALUE_TYPE(__first)); +-} +- +-template +-void __partial_sort(_RandomAccessIter __first, _RandomAccessIter __middle, +- _RandomAccessIter __last, _Tp*, _Compare __comp); ++void ++partial_sort(_RandomAccessIter __first,_RandomAccessIter __middle, _RandomAccessIter __last); + + template +-inline void partial_sort(_RandomAccessIter __first, +- _RandomAccessIter __middle, +- _RandomAccessIter __last, _Compare __comp) { +- __STL_DEBUG_CHECK(__check_range(__first, __middle)) +- __STL_DEBUG_CHECK(__check_range(__middle, __last)) +- __partial_sort(__first, __middle, __last, __VALUE_TYPE(__first), __comp); +-} +- +-template +-_RandomAccessIter __partial_sort_copy(_InputIter __first, +- _InputIter __last, +- _RandomAccessIter __result_first, +- _RandomAccessIter __result_last, +- _Distance*, _Tp*); ++void ++partial_sort(_RandomAccessIter __first,_RandomAccessIter __middle, ++ _RandomAccessIter __last, _Compare __comp); + + template +-inline _RandomAccessIter ++_RandomAccessIter + partial_sort_copy(_InputIter __first, _InputIter __last, +- _RandomAccessIter __result_first, +- _RandomAccessIter __result_last) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +- __STL_DEBUG_CHECK(__check_range(__result_first, __result_last)) +- return __partial_sort_copy(__first, __last, __result_first, __result_last, +- __DISTANCE_TYPE(__result_first), +- __VALUE_TYPE(__first)); +-} +- +-template +-_RandomAccessIter __partial_sort_copy(_InputIter __first, +- _InputIter __last, +- _RandomAccessIter __result_first, +- _RandomAccessIter __result_last, +- _Compare __comp, _Distance*, _Tp*); ++ _RandomAccessIter __result_first, _RandomAccessIter __result_last); + + template +-inline _RandomAccessIter ++_RandomAccessIter + partial_sort_copy(_InputIter __first, _InputIter __last, + _RandomAccessIter __result_first, +- _RandomAccessIter __result_last, _Compare __comp) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +- __STL_DEBUG_CHECK(__check_range(__result_first, __result_last)) +- return __partial_sort_copy(__first, __last, __result_first, __result_last, +- __comp, +- __DISTANCE_TYPE(__result_first), +- __VALUE_TYPE(__first)); +-} ++ _RandomAccessIter __result_last, _Compare __comp); + + // nth_element() and its auxiliary functions. + +-template +-void __nth_element(_RandomAccessIter __first, _RandomAccessIter __nth, +- _RandomAccessIter __last, _Tp*); +- + template +-inline void nth_element(_RandomAccessIter __first, _RandomAccessIter __nth, +- _RandomAccessIter __last) { +- __STL_DEBUG_CHECK(__check_range(__first, __nth)) +- __STL_DEBUG_CHECK(__check_range(__nth, __last)) +- __nth_element(__first, __nth, __last, __VALUE_TYPE(__first)); +-} +- +-template +-void __nth_element(_RandomAccessIter __first, _RandomAccessIter __nth, +- _RandomAccessIter __last, _Tp*, _Compare __comp); ++void nth_element(_RandomAccessIter __first, _RandomAccessIter __nth, ++ _RandomAccessIter __last); + + template +-inline void nth_element(_RandomAccessIter __first, _RandomAccessIter __nth, +- _RandomAccessIter __last, _Compare __comp) { +- __STL_DEBUG_CHECK(__check_range(__first, __nth)) +- __STL_DEBUG_CHECK(__check_range(__nth, __last)) +- __nth_element(__first, __nth, __last, __VALUE_TYPE(__first), __comp); +-} +- ++void nth_element(_RandomAccessIter __first, _RandomAccessIter __nth, ++ _RandomAccessIter __last, _Compare __comp); + + // Binary search (lower_bound, upper_bound, equal_range, binary_search). + +-template +-_ForwardIter __lower_bound(_ForwardIter __first, _ForwardIter __last, +- const _Tp& __val, _Distance*); +- +- + template + inline _ForwardIter lower_bound(_ForwardIter __first, _ForwardIter __last, + const _Tp& __val) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +- return __lower_bound(__first, __last, __val, +- __DISTANCE_TYPE(__first)); ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) ++ return __lower_bound(__first, __last, __val, less<_Tp>(), _STLP_DISTANCE_TYPE(__first, _ForwardIter)); + } + +-template +-_ForwardIter __lower_bound(_ForwardIter __first, _ForwardIter __last, +- const _Tp& __val, _Compare __comp, _Distance*); +- +- + template + inline _ForwardIter lower_bound(_ForwardIter __first, _ForwardIter __last, + const _Tp& __val, _Compare __comp) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +- return __lower_bound(__first, __last, __val, __comp, +- __DISTANCE_TYPE(__first)); ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) ++ return __lower_bound(__first, __last, __val, __comp, _STLP_DISTANCE_TYPE(__first, _ForwardIter)); + } + +-template ++template + _ForwardIter __upper_bound(_ForwardIter __first, _ForwardIter __last, +- const _Tp& __val, _Distance*); ++ const _Tp& __val, _Compare __comp, _Distance*); + + template + inline _ForwardIter upper_bound(_ForwardIter __first, _ForwardIter __last, + const _Tp& __val) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +- return __upper_bound(__first, __last, __val, +- __DISTANCE_TYPE(__first)); ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) ++ return __upper_bound(__first, __last, __val, less<_Tp>(), ++ _STLP_DISTANCE_TYPE(__first, _ForwardIter)); + } + +-template +-_ForwardIter __upper_bound(_ForwardIter __first, _ForwardIter __last, +- const _Tp& __val, _Compare __comp, _Distance*); +- + template + inline _ForwardIter upper_bound(_ForwardIter __first, _ForwardIter __last, + const _Tp& __val, _Compare __comp) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) + return __upper_bound(__first, __last, __val, __comp, +- __DISTANCE_TYPE(__first)); ++ _STLP_DISTANCE_TYPE(__first, _ForwardIter)); + } + +-template ++template + pair<_ForwardIter, _ForwardIter> + __equal_range(_ForwardIter __first, _ForwardIter __last, const _Tp& __val, +- _Distance*); ++ _Compare __comp, _Distance*); + + template + inline pair<_ForwardIter, _ForwardIter> + equal_range(_ForwardIter __first, _ForwardIter __last, const _Tp& __val) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +- return __equal_range(__first, __last, __val, +- __DISTANCE_TYPE(__first)); ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) ++ return __equal_range(__first, __last, __val, less<_Tp>(), ++ _STLP_DISTANCE_TYPE(__first, _ForwardIter)); + } + +-template +-pair<_ForwardIter, _ForwardIter> +-__equal_range(_ForwardIter __first, _ForwardIter __last, const _Tp& __val, +- _Compare __comp, _Distance*); +- + template + inline pair<_ForwardIter, _ForwardIter> + equal_range(_ForwardIter __first, _ForwardIter __last, const _Tp& __val, + _Compare __comp) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) + return __equal_range(__first, __last, __val, __comp, +- __DISTANCE_TYPE(__first)); ++ _STLP_DISTANCE_TYPE(__first, _ForwardIter)); + } + + template + inline bool binary_search(_ForwardIter __first, _ForwardIter __last, + const _Tp& __val) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +- _ForwardIter __i = lower_bound(__first, __last, __val); ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) ++ _ForwardIter __i = __lower_bound(__first, __last, __val, less<_Tp>(), _STLP_DISTANCE_TYPE(__first, _ForwardIter)); + return __i != __last && !(__val < *__i); + } + +@@ -849,8 +552,8 @@ + inline bool binary_search(_ForwardIter __first, _ForwardIter __last, + const _Tp& __val, + _Compare __comp) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +- _ForwardIter __i = lower_bound(__first, __last, __val, __comp); ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) ++ _ForwardIter __i = __lower_bound(__first, __last, __val, __comp, _STLP_DISTANCE_TYPE(__first, _ForwardIter)); + return __i != __last && !__comp(__val, *__i); + } + +@@ -980,40 +683,7 @@ + bool prev_permutation(_BidirectionalIter __first, _BidirectionalIter __last, + _Compare __comp); + +- +-// find_first_of, with and without an explicitly supplied comparison function. +- +-template +-_InputIter find_first_of(_InputIter __first1, _InputIter __last1, +- _ForwardIter __first2, _ForwardIter __last2); +- +-template +-_InputIter find_first_of(_InputIter __first1, _InputIter __last1, +- _ForwardIter __first2, _ForwardIter __last2, +- _BinaryPredicate __comp); +- +- +-// find_end, with and without an explicitly supplied comparison function. +-// Search [first2, last2) as a subsequence in [first1, last1), and return +-// the *last* possible match. Note that find_end for bidirectional iterators +-// is much faster than for forward iterators. +- +- +-// Dispatching functions for find_end. +- +-template +-_ForwardIter1 +-find_end(_ForwardIter1 __first1, _ForwardIter1 __last1, +- _ForwardIter2 __first2, _ForwardIter2 __last2); +- +-template +-_ForwardIter1 +-find_end(_ForwardIter1 __first1, _ForwardIter1 __last1, +- _ForwardIter2 __first2, _ForwardIter2 __last2, +- _BinaryPredicate __comp); +- +-# ifndef __STL_NO_EXTENSIONS ++# ifndef _STLP_NO_EXTENSIONS + + // is_heap, a predicate testing whether or not a range is + // a heap. This function is an extension, not part of the C++ +@@ -1026,25 +696,33 @@ + bool is_heap(_RandomAccessIter __first, _RandomAccessIter __last, + _StrictWeakOrdering __comp); + ++ + // is_sorted, a predicated testing whether a range is sorted in + // nondescending order. This is an extension, not part of the C++ + // standard. ++template ++bool __is_sorted(_ForwardIter __first, _ForwardIter __last, ++ _StrictWeakOrdering __comp); + + template +-bool is_sorted(_ForwardIter __first, _ForwardIter __last); ++inline bool is_sorted(_ForwardIter __first, _ForwardIter __last) { ++ return __is_sorted(__first, __last, __less(_STLP_VALUE_TYPE(__first, _ForwardIter))); ++} + + template +-bool is_sorted(_ForwardIter __first, _ForwardIter __last, +- _StrictWeakOrdering __comp); ++inline bool is_sorted(_ForwardIter __first, _ForwardIter __last, ++ _StrictWeakOrdering __comp) { ++ return __is_sorted(__first, __last, __comp); ++} + # endif + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-# if !defined (__STL_LINK_TIME_INSTANTIATION) ++# if !defined (_STLP_LINK_TIME_INSTANTIATION) + # include + # endif + +-#endif /* __SGI_STL_INTERNAL_ALGO_H */ ++#endif /* _STLP_INTERNAL_ALGO_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_algobase.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_algobase.c +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_algobase.c Sat Feb 24 10:44:40 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_algobase.c Sun Aug 11 18:59:24 2002 +@@ -22,23 +22,27 @@ + * modified is included with the above copyright notice. + * + */ +-#ifndef __SGI_STL_ALGOBASE_C +-#define __SGI_STL_ALGOBASE_C ++#ifndef _STLP_ALGOBASE_C ++#define _STLP_ALGOBASE_C + +-__STL_BEGIN_NAMESPACE ++# if !defined (_STLP_INTERNAL_ALGOBASE_H) ++# include ++# endif ++ ++_STLP_BEGIN_NAMESPACE + + template + bool lexicographical_compare(_InputIter1 __first1, _InputIter1 __last1, + _InputIter2 __first2, _InputIter2 __last2) { +- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) +- __STL_DEBUG_CHECK(__check_range(__first2, __last2)) +- for ( ; __first1 != __last1 && __first2 != __last2 +- ; ++__first1, ++__first2) { +- if (*__first1 < *__first2) +- return true; +- if (*__first2 < *__first1) +- return false; +- } ++ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) ++ _STLP_DEBUG_CHECK(__check_range(__first2, __last2)) ++ for ( ; __first1 != __last1 && __first2 != __last2 ++ ; ++__first1, ++__first2) { ++ if (*__first1 < *__first2) ++ return true; ++ if (*__first2 < *__first1) ++ return false; ++ } + return __first1 == __last1 && __first2 != __last2; + } + +@@ -46,18 +50,20 @@ + bool lexicographical_compare(_InputIter1 __first1, _InputIter1 __last1, + _InputIter2 __first2, _InputIter2 __last2, + _Compare __comp) { +- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) +- __STL_DEBUG_CHECK(__check_range(__first2, __last2)) +- for ( ; __first1 != __last1 && __first2 != __last2 +- ; ++__first1, ++__first2) { +- if (__comp(*__first1, *__first2)) +- return true; +- if (__comp(*__first2, *__first1)) +- return false; +- } ++ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) ++ _STLP_DEBUG_CHECK(__check_range(__first2, __last2)) ++ for ( ; __first1 != __last1 && __first2 != __last2 ++ ; ++__first1, ++__first2) { ++ if (__comp(*__first1, *__first2)) ++ return true; ++ if (__comp(*__first2, *__first1)) ++ return false; ++ } + return __first1 == __last1 && __first2 != __last2; + } + ++# ifndef _STLP_NO_EXTENSIONS ++ + template + int __lexicographical_compare_3way(_InputIter1 __first1, _InputIter1 __last1, + _InputIter2 __first2, _InputIter2 __last2) +@@ -83,14 +89,303 @@ + int lexicographical_compare_3way(_InputIter1 __first1, _InputIter1 __last1, + _InputIter2 __first2, _InputIter2 __last2) + { +- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) +- __STL_DEBUG_CHECK(__check_range(__first2, __last2)) +- return __lexicographical_compare_3way(__first1, __last1, __first2, __last2); ++ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) ++ _STLP_DEBUG_CHECK(__check_range(__first2, __last2)) ++ return __lexicographical_compare_3way(__first1, __last1, __first2, __last2); ++} ++# endif ++ ++template ++_STLP_INLINE_LOOP _RandomAccessIter __find(_RandomAccessIter __first, _RandomAccessIter __last, ++ const _Tp& __val, ++ const random_access_iterator_tag &) ++{ ++ _STLP_DIFFERENCE_TYPE(_RandomAccessIter) __trip_count = (__last - __first) >> 2; ++ ++ for ( ; __trip_count > 0 ; --__trip_count) { ++ if (*__first == __val) return __first; ++ ++__first; ++ ++ if (*__first == __val) return __first; ++ ++__first; ++ ++ if (*__first == __val) return __first; ++ ++__first; ++ ++ if (*__first == __val) return __first; ++ ++__first; ++ } ++ ++ switch(__last - __first) { ++ case 3: ++ if (*__first == __val) return __first; ++ ++__first; ++ case 2: ++ if (*__first == __val) return __first; ++ ++__first; ++ case 1: ++ if (*__first == __val) return __first; ++ ++__first; ++ case 0: ++ default: ++ return __last; ++ } ++} ++ ++template ++_STLP_INLINE_LOOP _RandomAccessIter __find_if(_RandomAccessIter __first, _RandomAccessIter __last, ++ _Predicate __pred, ++ const random_access_iterator_tag &) ++{ ++ _STLP_DIFFERENCE_TYPE(_RandomAccessIter) __trip_count = (__last - __first) >> 2; ++ ++ for ( ; __trip_count > 0 ; --__trip_count) { ++ if (__pred(*__first)) return __first; ++ ++__first; ++ ++ if (__pred(*__first)) return __first; ++ ++__first; ++ ++ if (__pred(*__first)) return __first; ++ ++__first; ++ ++ if (__pred(*__first)) return __first; ++ ++__first; ++ } ++ ++ switch(__last - __first) { ++ case 3: ++ if (__pred(*__first)) return __first; ++ ++__first; ++ case 2: ++ if (__pred(*__first)) return __first; ++ ++__first; ++ case 1: ++ if (__pred(*__first)) return __first; ++ // ++__first; ++ case 0: ++ default: ++ return __last; ++ } ++} ++ ++template ++inline _InputIter __find(_InputIter __first, _InputIter __last, ++ const _Tp& __val, ++ const input_iterator_tag &) ++{ ++ while (__first != __last && !(*__first == __val)) ++ ++__first; ++ return __first; ++} ++ ++template ++inline _InputIter __find_if(_InputIter __first, _STLP_MPW_EXTRA_CONST _InputIter __last, ++ _Predicate __pred, ++ const input_iterator_tag &) ++{ ++ while (__first != __last && !__pred(*__first)) ++ ++__first; ++ return __first; ++} ++ ++template ++_InputIter find_if(_InputIter __first, _InputIter __last, ++ _Predicate __pred) { ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) ++ return __find_if(__first, __last, __pred, _STLP_ITERATOR_CATEGORY(__first, _InputIter)); ++} ++ ++template ++_InputIter find(_InputIter __first, _InputIter __last, const _Tp& __val) ++{ ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) ++ return __find(__first, __last, __val, _STLP_ITERATOR_CATEGORY(__first, _InputIter)); ++} ++ ++template ++_ForwardIter1 search(_ForwardIter1 __first1, _ForwardIter1 __last1, ++ _ForwardIter2 __first2, _ForwardIter2 __last2, ++ _BinaryPred __predicate) ++{ ++ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) ++ _STLP_DEBUG_CHECK(__check_range(__first2, __last2)) ++ // Test for empty ranges ++ if (__first1 == __last1 || __first2 == __last2) ++ return __first1; ++ ++ // Test for a pattern of length 1. ++ _ForwardIter2 __tmp(__first2); ++ ++__tmp; ++ if (__tmp == __last2) { ++ while (__first1 != __last1 && !__predicate(*__first1, *__first2)) ++ ++__first1; ++ return __first1; ++ } ++ ++ // General case. ++ ++ _ForwardIter2 __p1, __p; ++ ++ __p1 = __first2; ++__p1; ++ ++ // _ForwardIter1 __current = __first1; ++ ++ while (__first1 != __last1) { ++ while (__first1 != __last1) { ++ if (__predicate(*__first1, *__first2)) ++ break; ++ ++__first1; ++ } ++ while (__first1 != __last1 && !__predicate(*__first1, *__first2)) ++ ++__first1; ++ if (__first1 == __last1) ++ return __last1; ++ ++ __p = __p1; ++ _ForwardIter1 __current = __first1; ++ if (++__current == __last1) return __last1; ++ ++ while (__predicate(*__current, *__p)) { ++ if (++__p == __last2) ++ return __first1; ++ if (++__current == __last1) ++ return __last1; ++ } ++ ++ ++__first1; ++ } ++ return __first1; ++} ++ ++// find_first_of, with and without an explicitly supplied comparison function. ++ ++template ++_InputIter __find_first_of(_InputIter __first1, _InputIter __last1, ++ _ForwardIter __first2, _ForwardIter __last2, ++ _BinaryPredicate __comp) { ++ for ( ; __first1 != __last1; ++__first1) ++ for (_ForwardIter __iter = __first2; __iter != __last2; ++__iter) ++ if (__comp(*__first1, *__iter)) ++ return __first1; ++ return __last1; ++} ++ ++ ++// find_end, with and without an explicitly supplied comparison function. ++// Search [first2, last2) as a subsequence in [first1, last1), and return ++// the *last* possible match. Note that find_end for bidirectional iterators ++// is much faster than for forward iterators. ++ ++// find_end for forward iterators. ++ ++template ++_ForwardIter1 __find_end(_ForwardIter1 __first1, _ForwardIter1 __last1, ++ _ForwardIter2 __first2, _ForwardIter2 __last2, ++ const forward_iterator_tag &, const forward_iterator_tag &, ++ _BinaryPredicate __comp) ++{ ++ if (__first2 == __last2) ++ return __last1; ++ else { ++ _ForwardIter1 __result = __last1; ++ while (1) { ++ _ForwardIter1 __new_result ++ = search(__first1, __last1, __first2, __last2, __comp); ++ if (__new_result == __last1) ++ return __result; ++ else { ++ __result = __new_result; ++ __first1 = __new_result; ++ ++__first1; ++ } ++ } ++ } ++} ++ ++// find_end for bidirectional iterators. Requires partial specialization. ++#if defined ( _STLP_CLASS_PARTIAL_SPECIALIZATION ) ++ ++#if ! defined (_STLP_INTERNAL_ITERATOR_H) ++_STLP_END_NAMESPACE ++# include ++_STLP_BEGIN_NAMESPACE ++#endif ++ ++template ++_BidirectionalIter1 ++__find_end(_BidirectionalIter1 __first1, _BidirectionalIter1 __last1, ++ _BidirectionalIter2 __first2, _BidirectionalIter2 __last2, ++ const bidirectional_iterator_tag &, const bidirectional_iterator_tag &, ++ _BinaryPredicate __comp) ++{ ++ typedef reverse_iterator<_BidirectionalIter1> _RevIter1; ++ typedef reverse_iterator<_BidirectionalIter2> _RevIter2; ++ ++ _RevIter1 __rlast1(__first1); ++ _RevIter2 __rlast2(__first2); ++ _RevIter1 __rresult = search(_RevIter1(__last1), __rlast1, ++ _RevIter2(__last2), __rlast2, ++ __comp); ++ ++ if (__rresult == __rlast1) ++ return __last1; ++ else { ++ _BidirectionalIter1 __result = __rresult.base(); ++ advance(__result, -distance(__first2, __last2)); ++ return __result; ++ } ++} ++#endif /* _STLP_CLASS_PARTIAL_SPECIALIZATION */ ++ ++template ++_ForwardIter1 ++find_end(_ForwardIter1 __first1, _ForwardIter1 __last1, ++ _ForwardIter2 __first2, _ForwardIter2 __last2, ++ _BinaryPredicate __comp) ++{ ++ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) ++ _STLP_DEBUG_CHECK(__check_range(__first2, __last2)) ++ return __find_end(__first1, __last1, __first2, __last2, ++# if defined (_STLP_CLASS_PARTIAL_SPECIALIZATION) ++ _STLP_ITERATOR_CATEGORY(__first1, _ForwardIter1), ++ _STLP_ITERATOR_CATEGORY(__first2, _ForwardIter2), ++# else ++ forward_iterator_tag(), ++ forward_iterator_tag(), ++# endif ++ __comp); ++} ++ ++template ++_ForwardIter __lower_bound(_ForwardIter __first, _ForwardIter __last, ++ const _Tp& __val, _Compare __comp, _Distance*) ++{ ++ _Distance __len = distance(__first, __last); ++ _Distance __half; ++ _ForwardIter __middle; ++ ++ while (__len > 0) { ++ __half = __len >> 1; ++ __middle = __first; ++ advance(__middle, __half); ++ if (__comp(*__middle, __val)) { ++ __first = __middle; ++ ++__first; ++ __len = __len - __half - 1; ++ } ++ else ++ __len = __half; ++ } ++ return __first; + } + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-#endif /* __SGI_STL_ALGOBASE_C */ ++#endif /* _STLP_ALGOBASE_C */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_algobase.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_algobase.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_algobase.h Sat Feb 24 10:44:41 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_algobase.h Sun Aug 11 18:59:24 2002 +@@ -28,46 +28,34 @@ + */ + + +-#ifndef __SGI_STL_INTERNAL_ALGOBASE_H +-#define __SGI_STL_INTERNAL_ALGOBASE_H ++#ifndef _STLP_INTERNAL_ALGOBASE_H ++#define _STLP_INTERNAL_ALGOBASE_H + +-# if defined (__STL_DEBUG) && ! defined (__STLPORT_DEBUG_H) +-# include +-# endif +- +-# if ! defined (__STLPORT_CSTDDEF) ++# if ! defined (_STLP_CSTDDEF) + # include + # endif + +-#ifndef __STLPORT_CSTRING ++#ifndef _STLP_CSTRING + # include + #endif + +-#ifndef __STLPORT_CLIMITS ++#ifndef _STLP_CLIMITS + # include + #endif + +-# if ! defined (__STLPORT_CSTDLIB) ++# if ! defined (_STLP_CSTDLIB) + # include + # endif + +-# ifndef __SGI_STL_INTERNAL_RELOPS +-# include +-# endif +- +-// # ifndef __TYPE_TRAITS_H +-// # include +-// # endif +- +-# ifndef __SGI_STL_INTERNAL_PAIR_H ++# ifndef _STLP_INTERNAL_PAIR_H + # include + # endif + +-#ifndef __SGI_STL_INTERNAL_ITERATOR_BASE_H ++#ifndef _STLP_INTERNAL_ITERATOR_BASE_H + # include + #endif + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + // swap and iter_swap + template + inline void swap(_Tp& __a, _Tp& __b) { +@@ -76,79 +64,33 @@ + __b = __tmp; + } + +-# if defined (__STL_CLASS_PARTIAL_SPECIALIZATION) +- + template +-inline void iter_swap(_ForwardIter1 __a, _ForwardIter2 __b) { +- typedef typename iterator_traits<_ForwardIter1>::value_type __value_type; +- swap((__value_type&)*__a, (__value_type&)*__b); +-} +- +-# else +- +-template +-inline void __iter_swap(_ForwardIter1 __a, _ForwardIter2 __b, _Tp*) { +- swap((_Tp&)*__a, (_Tp&)*__b); ++inline void iter_swap(_ForwardIter1 __i1, _ForwardIter2 __i2) { ++ swap(*__i1, *__i2); + } + +-template +-inline void iter_swap(_ForwardIter1 __a, _ForwardIter2 __b) { +- __iter_swap(__a, __b, __VALUE_TYPE(__a)); +-} +- +-# endif +- +- + //-------------------------------------------------- + // min and max + +-#undef min +-#undef max +- +-# if 0 /* defined (__BORLANDC__) && (__BORLANDC__ < 0x520) */ +- +-# if defined (__STL_USE_NAMESPACES) +-using ::min; +-using ::max; +-# endif +- +-# endif +- +-# if !defined (__BORLANDC__) || defined (__STL_USE_OWN_NAMESPACE) +- ++# if !defined (__BORLANDC__) || defined (_STLP_USE_OWN_NAMESPACE) + template +-inline const _Tp& min(const _Tp& __a, const _Tp& __b) { +- return __b < __a ? __b : __a; +-} +- ++inline const _Tp& (min)(const _Tp& __a, const _Tp& __b) { return __b < __a ? __b : __a; } + template +-inline const _Tp& max(const _Tp& __a, const _Tp& __b) { +- return __a < __b ? __b : __a; +-} +- ++inline const _Tp& (max)(const _Tp& __a, const _Tp& __b) { return __a < __b ? __b : __a; } + #endif /* __BORLANDC__ */ + +-# if defined (__BORLANDC__) && ( __BORLANDC__ < 0x530 || defined (__STL_USE_OWN_NAMESPACE)) +- +-inline unsigned long min (unsigned long __a, unsigned long __b) +-{ +- return __b < __a ? __b : __a; +-} +- +-inline unsigned long max (unsigned long __a, unsigned long __b) +-{ +- return __a < __b ? __b : __a; +-} +- ++# if defined (__BORLANDC__) && ( __BORLANDC__ < 0x530 || defined (_STLP_USE_OWN_NAMESPACE)) ++inline unsigned long (min) (unsigned long __a, unsigned long __b) { return __b < __a ? __b : __a; } ++inline unsigned long (max) (unsigned long __a, unsigned long __b) { return __a < __b ? __b : __a; } + # endif + + template +-inline const _Tp& min(const _Tp& __a, const _Tp& __b, _Compare __comp) { ++inline const _Tp& (min)(const _Tp& __a, const _Tp& __b, _Compare __comp) { + return __comp(__b, __a) ? __b : __a; + } + + template +-inline const _Tp& max(const _Tp& __a, const _Tp& __b, _Compare __comp) { ++inline const _Tp& (max)(const _Tp& __a, const _Tp& __b, _Compare __comp) { + return __comp(__a, __b) ? __b : __a; + } + +@@ -164,37 +106,35 @@ + template + inline _OutputIter __copy(_InputIter __first, _InputIter __last, + _OutputIter __result, +- input_iterator_tag, _Distance*) +-{ ++ const input_iterator_tag &, _Distance*) { + for ( ; __first != __last; ++__result, ++__first) + *__result = *__first; + return __result; + } + +-# if defined (__STL_NONTEMPL_BASE_MATCH_BUG) ++# if defined (_STLP_NONTEMPL_BASE_MATCH_BUG) + template + inline _OutputIter __copy(_InputIter __first, _InputIter __last, +- _OutputIter __result, forward_iterator_tag, _Distance* __dis) +-{ +- return __copy(__first, __last, __result, input_iterator_tag(), +- __dis); ++ _OutputIter __result, const forward_iterator_tag &, _Distance* ) { ++ for ( ; __first != __last; ++__result, ++__first) ++ *__result = *__first; ++ return __result; + } + + + template + inline _OutputIter __copy(_InputIter __first, _InputIter __last, +- _OutputIter __result, bidirectional_iterator_tag, _Distance* __dis) +-{ +- return __copy(__first, __last, __result, input_iterator_tag(), +- __dis); ++ _OutputIter __result, const bidirectional_iterator_tag &, _Distance* __dis) { ++ for ( ; __first != __last; ++__result, ++__first) ++ *__result = *__first; ++ return __result; + } + # endif + + template + inline _OutputIter + __copy(_RandomAccessIter __first, _RandomAccessIter __last, +- _OutputIter __result, random_access_iterator_tag, _Distance*) +-{ ++ _OutputIter __result, const random_access_iterator_tag &, _Distance*) { + for (_Distance __n = __last - __first; __n > 0; --__n) { + *__result = *__first; + ++__first; +@@ -203,162 +143,23 @@ + return __result; + } + +-template +-inline _Tp* +-__copy_trivial(const _Tp* __first, const _Tp* __last, _Tp* __result) { +- memmove((void*)__result, (const void*)__first, sizeof(_Tp) * (__last - __first)); +- return __result + (__last - __first); +-} +- +- +-#if defined(__STL_FUNCTION_TMPL_PARTIAL_ORDER) +- +-template +-inline _OutputIter __copy_aux2(_InputIter __first, _InputIter __last, +- _OutputIter __result, __false_type) { +- return __copy(__first, __last, __result, +- __ITERATOR_CATEGORY(__first), +- __DISTANCE_TYPE(__first)); ++inline void* ++__copy_trivial(const void* __first, const void* __last, void* __result) { ++ return (__last == __first) ? __result : ++ ((char*)memmove(__result, __first, ((const char*)__last - (const char*)__first))) + ++ ((const char*)__last - (const char*)__first); + } + +-template +-inline _OutputIter __copy_aux2(_InputIter __first, _InputIter __last, +- _OutputIter __result, __true_type) { +- return __copy(__first, __last, __result, +- __ITERATOR_CATEGORY(__first), +- __DISTANCE_TYPE(__first)); +-} +- +-# if ! (defined (__APOGEE__) || defined (__USLC__)) +-template +-inline _Tp* __copy_aux2(_Tp* __first, _Tp* __last, _Tp* __result, +- __true_type) { +- return __copy_trivial(__first, __last, __result); +-} +-# endif +- +-template +-inline _Tp* __copy_aux2(const _Tp* __first, const _Tp* __last, _Tp* __result, +- __true_type) { +- return __copy_trivial(__first, __last, __result); +-} +- +-template +-inline _OutputIter __copy_aux(_InputIter __first, _InputIter __last, +- _OutputIter __result, _Tp*) { +- typedef typename __type_traits<_Tp>::has_trivial_assignment_operator +- _Trivial; +- return __copy_aux2(__first, __last, __result, _Trivial()); +-} +- +-template +-inline _OutputIter copy(_InputIter __first, _InputIter __last, +- _OutputIter __result) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +- return __copy_aux(__first, __last, __result, __VALUE_TYPE(__first)); +-} +- +-// Hack for compilers that don't have partial ordering of function templates +-// but do have partial specialization of class templates. +-#elif defined __STL_CLASS_PARTIAL_SPECIALIZATION +- +-template +-struct __copy_dispatch { +- static _OutputIter __STL_CALL copy(_InputIter __first, _InputIter __last, +- _OutputIter __result) { +- typedef typename iterator_traits<_InputIter>::iterator_category _Category; +- typedef typename iterator_traits<_InputIter>::difference_type _Distance; +- return __copy(__first, __last, __result, _Category(), (_Distance*) 0); +- } +-}; +- +-template +-struct __copy_dispatch<_Tp*, _Tp*, __true_type> +-{ +- static _Tp* __STL_CALL copy(const _Tp* __first, const _Tp* __last, _Tp* __result) { +-# ifdef __STL_EXPLICIT_FUNCTION_TMPL_ARGS +- // dwa 11/19/98 -- CW bug workaround +- return __copy_trivial<_Tp>(__first, __last, __result); +-# else +- return __copy_trivial(__first, __last, __result); +-# endif +- } +-}; +- +-template +-struct __copy_dispatch +-{ +- static _Tp* copy(const _Tp* __first, const _Tp* __last, _Tp* __result) { +- return __copy_trivial(__first, __last, __result); +- } +-}; +- +-template +-inline _OutputIter copy(_InputIter __first, _InputIter __last, +- _OutputIter __result) { +- typedef typename iterator_traits<_InputIter>::value_type _Tp; +- typedef typename __type_traits<_Tp>::has_trivial_assignment_operator +- _Trivial; +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +- return __copy_dispatch<_InputIter, _OutputIter, _Trivial> +- ::copy(__first, __last, __result); +-} +- +-#else /* __STL_CLASS_PARTIAL_SPECIALIZATION */ +- +-template +-inline _OutputIter copy(_InputIter __first, _InputIter __last, +- _OutputIter __result) +-{ +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +- return __copy(__first, __last, __result, +- __ITERATOR_CATEGORY(__first), +- __DISTANCE_TYPE(__first)); +-} +- +-#define __SGI_STL_DECLARE_COPY_TRIVIAL(_Tp) \ +- inline _Tp* copy(const _Tp* __first, const _Tp* __last, _Tp* __result) { \ +- memmove(__result, __first, sizeof(_Tp) * (__last - __first)); \ +- return __result + (__last - __first); \ +- } +- +-__SGI_STL_DECLARE_COPY_TRIVIAL(char) +-# ifndef __STL_NO_SIGNED_BUILTINS +-__SGI_STL_DECLARE_COPY_TRIVIAL(signed char) +-# endif +-__SGI_STL_DECLARE_COPY_TRIVIAL(unsigned char) +-__SGI_STL_DECLARE_COPY_TRIVIAL(short) +-__SGI_STL_DECLARE_COPY_TRIVIAL(unsigned short) +-__SGI_STL_DECLARE_COPY_TRIVIAL(int) +-__SGI_STL_DECLARE_COPY_TRIVIAL(unsigned int) +-__SGI_STL_DECLARE_COPY_TRIVIAL(long) +-__SGI_STL_DECLARE_COPY_TRIVIAL(unsigned long) +-#if !defined(__STL_NO_WCHAR_T) && !defined (__STL_WCHAR_T_IS_USHORT) +-__SGI_STL_DECLARE_COPY_TRIVIAL(wchar_t) +-#endif +-#ifdef _STL_LONG_LONG +-__SGI_STL_DECLARE_COPY_TRIVIAL(long long) +-__SGI_STL_DECLARE_COPY_TRIVIAL(unsigned long long) +-#endif +-__SGI_STL_DECLARE_COPY_TRIVIAL(float) +-__SGI_STL_DECLARE_COPY_TRIVIAL(double) +-# ifndef __STL_NO_LONG_DOUBLE +-__SGI_STL_DECLARE_COPY_TRIVIAL(long double) +-# endif +-#undef __SGI_STL_DECLARE_COPY_TRIVIAL +- +-#endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */ +- + //-------------------------------------------------- +-// copy_backward ++// copy_backward auxiliary functions + + template + inline _BidirectionalIter2 __copy_backward(_BidirectionalIter1 __first, + _BidirectionalIter1 __last, + _BidirectionalIter2 __result, +- bidirectional_iterator_tag, +- _Distance*) ++ const bidirectional_iterator_tag &, ++ _Distance*) + { + while (__first != __last) + *--__result = *--__last; +@@ -369,7 +170,7 @@ + inline _BidirectionalIter __copy_backward(_RandomAccessIter __first, + _RandomAccessIter __last, + _BidirectionalIter __result, +- random_access_iterator_tag, ++ const random_access_iterator_tag &, + _Distance*) + { + for (_Distance __n = __last - __first; __n > 0; --__n) +@@ -377,77 +178,112 @@ + return __result; + } + +-#ifdef __STL_CLASS_PARTIAL_SPECIALIZATION ++inline void* ++__copy_trivial_backward(const void* __first, const void* __last, void* __result) { ++ const ptrdiff_t _Num = (const char*)__last - (const char*)__first; ++ return (_Num > 0) ? memmove((char*)__result - _Num, __first, _Num) : __result ; ++} + +-// This dispatch class is a workaround for compilers that do not +-// have partial ordering of function templates. All we're doing is +-// creating a specialization so that we can turn a call to copy_backward +-// into a memmove whenever possible. +- +-template +-struct __copy_backward_dispatch +-{ +- typedef typename iterator_traits<_BidirectionalIter1>::iterator_category +- _Cat; +- typedef typename iterator_traits<_BidirectionalIter1>::difference_type +- _Distance; +- +- static _BidirectionalIter2 __STL_CALL copy(_BidirectionalIter1 __first, +- _BidirectionalIter1 __last, +- _BidirectionalIter2 __result) { +- return __copy_backward(__first, __last, __result, _Cat(), (_Distance*) 0); +- } +-}; ++template ++inline _OutputIter __copy_ptrs(_InputIter __first, _InputIter __last, _OutputIter __result, const __false_type&) { ++ return __copy(__first, __last, __result, ++ _STLP_ITERATOR_CATEGORY(__first, _InputIter), ++ _STLP_DISTANCE_TYPE(__first, _InputIter)); ++} ++template ++inline _OutputIter __copy_ptrs(_InputIter __first, _InputIter __last, _OutputIter __result, const __true_type&) { ++// we know they all pointers, so this cast is OK ++ // return (_OutputIter)__copy_trivial(&(*__first), &(*__last), &(*__result)); ++ return (_OutputIter)__copy_trivial(__first, __last, __result); ++} + +-template +-struct __copy_backward_dispatch<_Tp*, _Tp*, __true_type> +-{ +- static _Tp* __STL_CALL copy(const _Tp* __first, const _Tp* __last, _Tp* __result) { +- const ptrdiff_t _Num = __last - __first; +- memmove(__result - _Num, __first, sizeof(_Tp) * _Num); +- return __result - _Num; +- } +-}; ++template ++inline _OutputIter __copy_aux(_InputIter __first, _InputIter __last, _OutputIter __result, const __true_type&) { ++ return __copy_ptrs(__first, __last, __result, ++ _IsOKToMemCpy(_STLP_VALUE_TYPE(__first, _InputIter), ++ _STLP_VALUE_TYPE(__result, _OutputIter))._Ret()); ++} + +-template +-struct __copy_backward_dispatch +-{ +- static _Tp* __STL_CALL copy(const _Tp* __first, const _Tp* __last, _Tp* __result) { +- return __copy_backward_dispatch<_Tp*, _Tp*, __true_type> +- ::copy(__first, __last, __result); +- } +-}; ++template ++inline _OutputIter __copy_aux(_InputIter __first, _InputIter __last, _OutputIter __result, const __false_type&) { ++ return __copy(__first, __last, __result, ++ _STLP_ITERATOR_CATEGORY(__first, _InputIter), _STLP_DISTANCE_TYPE(__first, _InputIter)); ++} ++ ++template ++inline _OutputIter copy(_InputIter __first, _InputIter __last, _OutputIter __result) { ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) ++ return __copy_aux(__first, __last, __result, _BothPtrType< _InputIter, _OutputIter> :: _Ret()); ++} + +-template +-inline _BI2 copy_backward(_BI1 __first, _BI1 __last, _BI2 __result) { +- typedef typename __type_traits::value_type> +- ::has_trivial_assignment_operator +- _Trivial; +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +- return __copy_backward_dispatch<_BI1, _BI2, _Trivial> +- ::copy(__first, __last, __result); ++template ++inline _OutputIter __copy_backward_ptrs(_InputIter __first, _InputIter __last, _OutputIter __result, const __false_type&) { ++ return __copy_backward(__first, __last, __result, _STLP_ITERATOR_CATEGORY(__first, _InputIter), _STLP_DISTANCE_TYPE(__first, _InputIter)); ++} ++template ++inline _OutputIter __copy_backward_ptrs(_InputIter __first, _InputIter __last, _OutputIter __result, const __true_type&) { ++ return (_OutputIter)__copy_trivial_backward(__first, __last, __result); + } + +-#else /* __STL_CLASS_PARTIAL_SPECIALIZATION */ ++template ++inline _OutputIter __copy_backward_aux(_InputIter __first, _InputIter __last, _OutputIter __result, const __false_type&) { ++ return __copy_backward(__first, __last, __result, _STLP_ITERATOR_CATEGORY(__first,_InputIter), _STLP_DISTANCE_TYPE(__first, _InputIter)); ++} + +-template +-inline _BI2 copy_backward(_BI1 __first, _BI1 __last, _BI2 __result) { +- return __copy_backward(__first, __last, __result, +- __ITERATOR_CATEGORY(__first), +- __DISTANCE_TYPE(__first)); ++template ++inline _OutputIter __copy_backward_aux(_InputIter __first, _InputIter __last, _OutputIter __result, const __true_type&) { ++ return __copy_backward_ptrs(__first, __last, __result, ++ _IsOKToMemCpy(_STLP_VALUE_TYPE(__first, _InputIter), ++ _STLP_VALUE_TYPE(__result, _OutputIter))._Ret()); + } + +-#endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */ ++template ++inline _OutputIter copy_backward(_InputIter __first, _InputIter __last, _OutputIter __result) { ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) ++ return __copy_backward_aux(__first, __last, __result, _BothPtrType< _InputIter, _OutputIter> :: _Ret() ); ++} ++ ++#if ! defined (_STLP_CLASS_PARTIAL_SPECIALIZATION) && ! defined ( _STLP_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS ) ++#define _STLP_DECLARE_COPY_TRIVIAL(_Tp) \ ++inline _Tp* copy(const _Tp* __first, const _Tp* __last, _Tp* __result) \ ++{ return (_Tp*)__copy_trivial(__first, __last, __result); } \ ++inline _Tp* copy_backward(const _Tp* __first, const _Tp* __last, _Tp* __result) \ ++{ return (_Tp*)__copy_trivial_backward(__first, __last, __result); } ++ ++_STLP_DECLARE_COPY_TRIVIAL(char) ++# ifndef _STLP_NO_SIGNED_BUILTINS ++_STLP_DECLARE_COPY_TRIVIAL(signed char) ++# endif ++_STLP_DECLARE_COPY_TRIVIAL(unsigned char) ++_STLP_DECLARE_COPY_TRIVIAL(short) ++_STLP_DECLARE_COPY_TRIVIAL(unsigned short) ++_STLP_DECLARE_COPY_TRIVIAL(int) ++_STLP_DECLARE_COPY_TRIVIAL(unsigned int) ++_STLP_DECLARE_COPY_TRIVIAL(long) ++_STLP_DECLARE_COPY_TRIVIAL(unsigned long) ++#if !defined(_STLP_NO_WCHAR_T) && !defined (_STLP_WCHAR_T_IS_USHORT) ++_STLP_DECLARE_COPY_TRIVIAL(wchar_t) ++#endif ++#ifdef _STLP_LONG_LONG ++_STLP_DECLARE_COPY_TRIVIAL(long long) ++_STLP_DECLARE_COPY_TRIVIAL(unsigned long long) ++#endif ++_STLP_DECLARE_COPY_TRIVIAL(float) ++_STLP_DECLARE_COPY_TRIVIAL(double) ++# ifndef _STLP_NO_LONG_DOUBLE ++_STLP_DECLARE_COPY_TRIVIAL(long double) ++# endif ++#undef _STLP_DECLARE_COPY_TRIVIAL ++#endif /* _STLP_CLASS_PARTIAL_SPECIALIZATION */ + + //-------------------------------------------------- + // copy_n (not part of the C++ standard) + + template +-__STL_INLINE_LOOP ++_STLP_INLINE_LOOP + pair<_InputIter, _OutputIter> __copy_n(_InputIter __first, _Size __count, + _OutputIter __result, +- input_iterator_tag) { ++ const input_iterator_tag &) { + for ( ; __count > 0; --__count) { + *__result = *__first; + ++__first; +@@ -460,7 +296,7 @@ + inline pair<_RAIter, _OutputIter> + __copy_n(_RAIter __first, _Size __count, + _OutputIter __result, +- random_access_iterator_tag) { ++ const random_access_iterator_tag &) { + _RAIter __last = __first + __count; + return pair<_RAIter, _OutputIter>(__last, copy(__first, __last, __result)); + } +@@ -468,15 +304,15 @@ + template + inline pair<_InputIter, _OutputIter> + __copy_n(_InputIter __first, _Size __count, _OutputIter __result) { +- return __copy_n(__first, __count, __result, +- __ITERATOR_CATEGORY(__first)); ++ _STLP_FIX_LITERAL_BUG(__first) ++ return __copy_n(__first, __count, __result, _STLP_ITERATOR_CATEGORY(__first, _InputIter)); + } + + template + inline pair<_InputIter, _OutputIter> + copy_n(_InputIter __first, _Size __count, _OutputIter __result) { +- __STL_FIX_LITERAL_BUG(__first) +- return __copy_n(__first, __count, __result); ++ _STLP_FIX_LITERAL_BUG(__first) ++ return __copy_n(__first, __count, __result, _STLP_ITERATOR_CATEGORY(__first, _InputIter)); + } + + //-------------------------------------------------- +@@ -484,19 +320,19 @@ + + + template +-__STL_INLINE_LOOP +-void fill(_ForwardIter __first, _ForwardIter __last, const _Tp& __value) { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) ++_STLP_INLINE_LOOP ++void fill(_ForwardIter __first, _ForwardIter __last, const _Tp& __val) { ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) + for ( ; __first != __last; ++__first) +- *__first = __value; ++ *__first = __val; + } + + template +-__STL_INLINE_LOOP +-_OutputIter fill_n(_OutputIter __first, _Size __n, const _Tp& __value) { +- __STL_FIX_LITERAL_BUG(__first) ++_STLP_INLINE_LOOP ++_OutputIter fill_n(_OutputIter __first, _Size __n, const _Tp& __val) { ++ _STLP_FIX_LITERAL_BUG(__first) + for ( ; __n > 0; --__n, ++__first) +- *__first = __value; ++ *__first = __val; + return __first; + } + +@@ -504,57 +340,57 @@ + // Specialization: for one-byte types we can use memset. + + inline void fill(unsigned char* __first, unsigned char* __last, +- const unsigned char& __c) { +- unsigned char __tmp = __c; ++ const unsigned char& __val) { ++ unsigned char __tmp = __val; + memset(__first, __tmp, __last - __first); + } +- ++# ifndef _STLP_NO_SIGNED_BUILTINS + inline void fill(signed char* __first, signed char* __last, +- const signed char& __c) { +- signed char __tmp = __c; ++ const signed char& __val) { ++ signed char __tmp = __val; + memset(__first, __STATIC_CAST(unsigned char,__tmp), __last - __first); + } +- +-inline void fill(char* __first, char* __last, const char& __c) { +- char __tmp = __c; ++# endif ++inline void fill(char* __first, char* __last, const char& __val) { ++ char __tmp = __val; + memset(__first, __STATIC_CAST(unsigned char,__tmp), __last - __first); + } + +-#ifdef __STL_FUNCTION_TMPL_PARTIAL_ORDER ++#ifdef _STLP_FUNCTION_TMPL_PARTIAL_ORDER + + template + inline unsigned char* fill_n(unsigned char* __first, _Size __n, +- const unsigned char& __c) { +- fill(__first, __first + __n, __c); ++ const unsigned char& __val) { ++ fill(__first, __first + __n, __val); + return __first + __n; + } + + template + inline signed char* fill_n(char* __first, _Size __n, +- const signed char& __c) { +- fill(__first, __first + __n, __c); ++ const signed char& __val) { ++ fill(__first, __first + __n, __val); + return __first + __n; + } + + template +-inline char* fill_n(char* __first, _Size __n, const char& __c) { +- fill(__first, __first + __n, __c); ++inline char* fill_n(char* __first, _Size __n, const char& __val) { ++ fill(__first, __first + __n, __val); + return __first + __n; + } + +-#endif /* __STL_FUNCTION_TMPL_PARTIAL_ORDER */ ++#endif /* _STLP_FUNCTION_TMPL_PARTIAL_ORDER */ + + + //-------------------------------------------------- + // equal and mismatch + + template +-__STL_INLINE_LOOP ++_STLP_INLINE_LOOP + pair<_InputIter1, _InputIter2> mismatch(_InputIter1 __first1, + _InputIter1 __last1, + _InputIter2 __first2) { +- __STL_FIX_LITERAL_BUG(__first2) +- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) ++ _STLP_FIX_LITERAL_BUG(__first2) ++ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) + while (__first1 != __last1 && *__first1 == *__first2) { + ++__first1; + ++__first2; +@@ -563,13 +399,13 @@ + } + + template +-__STL_INLINE_LOOP ++_STLP_INLINE_LOOP + pair<_InputIter1, _InputIter2> mismatch(_InputIter1 __first1, + _InputIter1 __last1, + _InputIter2 __first2, + _BinaryPredicate __binary_pred) { +- __STL_FIX_LITERAL_BUG(__first2) +- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) ++ _STLP_FIX_LITERAL_BUG(__first2) ++ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) + while (__first1 != __last1 && __binary_pred(*__first1, *__first2)) { + ++__first1; + ++__first2; +@@ -578,11 +414,11 @@ + } + + template +-__STL_INLINE_LOOP ++_STLP_INLINE_LOOP + bool equal(_InputIter1 __first1, _InputIter1 __last1, + _InputIter2 __first2) { +- __STL_FIX_LITERAL_BUG(__first1) __STL_FIX_LITERAL_BUG(__last1) __STL_FIX_LITERAL_BUG(__first2) +- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) ++ _STLP_FIX_LITERAL_BUG(__first1) _STLP_FIX_LITERAL_BUG(__last1) _STLP_FIX_LITERAL_BUG(__first2) ++ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) + for ( ; __first1 != __last1; ++__first1, ++__first2) + if (!(*__first1 == *__first2)) + return false; +@@ -590,11 +426,11 @@ + } + + template +-__STL_INLINE_LOOP ++_STLP_INLINE_LOOP + bool equal(_InputIter1 __first1, _InputIter1 __last1, + _InputIter2 __first2, _BinaryPredicate __binary_pred) { +- __STL_FIX_LITERAL_BUG(__first2) +- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) ++ _STLP_FIX_LITERAL_BUG(__first2) ++ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) + for ( ; __first1 != __last1; ++__first1, ++__first2) + if (!__binary_pred(*__first1, *__first2)) + return false; +@@ -622,10 +458,10 @@ + { + const size_t __len1 = __last1 - __first1; + const size_t __len2 = __last2 - __first2; +- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) +- __STL_DEBUG_CHECK(__check_range(__first2, __last2)) ++ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) ++ _STLP_DEBUG_CHECK(__check_range(__first2, __last2)) + +- const int __result = memcmp(__first1, __first2, min(__len1, __len2)); ++ const int __result = memcmp(__first1, __first2, (min) (__len1, __len2)); + return __result != 0 ? (__result < 0) : (__len1 < __len2); + } + +@@ -634,8 +470,8 @@ + inline bool lexicographical_compare(const char* __first1, const char* __last1, + const char* __first2, const char* __last2) + { +- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) +- __STL_DEBUG_CHECK(__check_range(__first2, __last2)) ++ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) ++ _STLP_DEBUG_CHECK(__check_range(__first2, __last2)) + + return lexicographical_compare((const unsigned char*) __first1, + (const unsigned char*) __last1, +@@ -656,7 +492,7 @@ + { + const ptrdiff_t __len1 = __last1 - __first1; + const ptrdiff_t __len2 = __last2 - __first2; +- const int __result = memcmp(__first1, __first2, min(__len1, __len2)); ++ const int __result = memcmp(__first1, __first2, (min) (__len1, __len2)); + return __result != 0 ? __result + : (__len1 == __len2 ? 0 : (__len1 < __len2 ? -1 : 1)); + } +@@ -674,17 +510,72 @@ + } + # endif + ++# ifndef _STLP_NO_EXTENSIONS ++ + template + int lexicographical_compare_3way(_InputIter1 __first1, _InputIter1 __last1, + _InputIter2 __first2, _InputIter2 __last2); + +-__STL_END_NAMESPACE ++# endif /* EXTENSIONS */ ++ ++// count ++template ++_STLP_INLINE_LOOP _STLP_DIFFERENCE_TYPE(_InputIter) ++count(_InputIter __first, _InputIter __last, const _Tp& __val) { ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) ++ _STLP_DIFFERENCE_TYPE(_InputIter) __n = 0; ++ for ( ; __first != __last; ++__first) ++ if (*__first == __val) ++ ++__n; ++ return __n; ++} ++ ++// find and find_if. Note find may be expressed in terms of find_if if appropriate binder was available. ++template ++_InputIter find(_InputIter __first, _InputIter __last, const _Tp& __val); ++template ++_InputIter find_if(_InputIter __first, _InputIter __last, _Predicate __pred); ++ ++// search. ++template ++_ForwardIter1 search(_ForwardIter1 __first1, _ForwardIter1 __last1, ++ _ForwardIter2 __first2, _ForwardIter2 __last2, _BinaryPred __predicate); ++ ++// find_first_of ++template ++_InputIter __find_first_of(_InputIter __first1, _InputIter __last1, ++ _ForwardIter __first2, _ForwardIter __last2, ++ _BinaryPredicate __comp); ++ ++template ++_ForwardIter1 ++find_end(_ForwardIter1 __first1, _ForwardIter1 __last1, ++ _ForwardIter2 __first2, _ForwardIter2 __last2, ++ _BinaryPredicate __comp); ++ ++// replace ++template ++_STLP_INLINE_LOOP void ++replace(_ForwardIter __first, _ForwardIter __last, ++ const _Tp& __old_value, const _Tp& __new_value) { ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) ++ for ( ; __first != __last; ++__first) ++ if (*__first == __old_value) ++ *__first = __new_value; ++} ++ ++template ++_ForwardIter __lower_bound(_ForwardIter __first, _ForwardIter __last, ++ const _Tp& __val, _Compare __comp, _Distance*); ++ ++_STLP_END_NAMESPACE + +-# if !defined (__STL_LINK_TIME_INSTANTIATION) ++# if !defined (_STLP_LINK_TIME_INSTANTIATION) + # include + # endif + +-#endif /* __SGI_STL_INTERNAL_ALGOBASE_H */ ++#endif /* _STLP_INTERNAL_ALGOBASE_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_alloc.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_alloc.c +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_alloc.c Sat Feb 24 10:44:41 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_alloc.c Sun Aug 11 18:59:24 2002 +@@ -19,31 +19,53 @@ + * modified is included with the above copyright notice. + * + */ +-#ifndef __STL_ALLOC_C +-#define __STL_ALLOC_C ++#ifndef _STLP_ALLOC_C ++#define _STLP_ALLOC_C ++ ++#ifdef __WATCOMC__ ++#pragma warning 13 9 ++#pragma warning 367 9 ++#pragma warning 368 9 ++#endif ++ ++#ifndef _STLP_INTERNAL_ALLOC_H ++# include ++#endif ++ ++# if defined (_STLP_EXPOSE_GLOBALS_IMPLEMENTATION) ++ ++# ifdef _STLP_SGI_THREADS ++ // We test whether threads are in use before locking. ++ // Perhaps this should be moved into stl_threads.h, but that ++ // probably makes it harder to avoid the procedure call when ++ // it isn't needed. ++ extern "C" { ++ extern int __us_rsthread_malloc; ++ } ++# endif + +-# if defined (__BUILDING_STLPORT) || ! defined (__SGI_STL_OWN_IOSTREAMS) + + // Specialised debug form of malloc which does not provide "false" + // memory leaks when run with debug CRT libraries. +-#if defined(__STL_MSVC) && (__STL_MSVC>=1020 && defined(_DEBUG)) && ! defined (__STL_WINCE) ++#if defined(_STLP_MSVC) && (_STLP_MSVC>=1020 && defined(_STLP_DEBUG_ALLOC)) && ! defined (_STLP_WINCE) + # include +-# define __STL_CHUNK_MALLOC(s) _malloc_dbg(s, _CRT_BLOCK, __FILE__, __LINE__) ++inline void* __stlp_chunk_malloc(size_t __bytes) { _STLP_CHECK_NULL_ALLOC(_malloc_dbg(__bytes, _CRT_BLOCK, __FILE__, __LINE__)); } + #else // !_DEBUG +-# ifdef __STL_NODE_ALLOC_USE_MALLOC ++# ifdef _STLP_NODE_ALLOC_USE_MALLOC + # include +-# define __STL_CHUNK_MALLOC(s) __STL_VENDOR_CSTD::malloc(s) ++inline void* __stlp_chunk_malloc(size_t __bytes) { _STLP_CHECK_NULL_ALLOC(_STLP_VENDOR_CSTD::malloc(__bytes)); } + # else +-# define __STL_CHUNK_MALLOC(s) __stl_new(s) ++inline void* __stlp_chunk_malloc(size_t __bytes) { return _STLP_STD::__stl_new(__bytes); } + # endif + #endif // !_DEBUG + ++ + #define _S_FREELIST_INDEX(__bytes) ((__bytes-size_t(1))>>(int)_ALIGN_SHIFT) + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + template +-void * __STL_CALL __malloc_alloc<__inst>::_S_oom_malloc(size_t __n) ++void * _STLP_CALL __malloc_alloc<__inst>::_S_oom_malloc(size_t __n) + { + __oom_handler_type __my_malloc_handler; + void * __result; +@@ -55,43 +77,43 @@ + __result = malloc(__n); + if (__result) return(__result); + } +-#if defined(__STL_NEED_UNREACHABLE_RETURN) ++#if defined(_STLP_NEED_UNREACHABLE_RETURN) + return 0; + #endif + + } + + template +-void * __STL_CALL __debug_alloc<_Alloc>::allocate(size_t __n) { ++void * _STLP_CALL __debug_alloc<_Alloc>::allocate(size_t __n) { + size_t __real_n = __n + __extra_before_chunk() + __extra_after_chunk(); + __alloc_header *__result = (__alloc_header *)__allocator_type::allocate(__real_n); + memset((char*)__result, __shred_byte, __real_n*sizeof(value_type)); + __result->__magic = __magic; + __result->__type_size = sizeof(value_type); +- __result->_M_size = __n; ++ __result->_M_size = (_STLP_UINT32_T)__n; + return ((char*)__result) + (long)__extra_before; + } + + template +-void __STL_CALL ++void _STLP_CALL + __debug_alloc<_Alloc>::deallocate(void *__p, size_t __n) { + __alloc_header * __real_p = (__alloc_header*)((char *)__p -(long)__extra_before); + // check integrity +- __STL_VERBOSE_ASSERT(__real_p->__magic != __deleted_magic, _StlMsg_DBA_DELETED_TWICE) +- __STL_VERBOSE_ASSERT(__real_p->__magic == __magic, _StlMsg_DBA_NEVER_ALLOCATED) +- __STL_VERBOSE_ASSERT(__real_p->__type_size == 1,_StlMsg_DBA_TYPE_MISMATCH) +- __STL_VERBOSE_ASSERT(__real_p->_M_size == __n, _StlMsg_DBA_SIZE_MISMATCH) ++ _STLP_VERBOSE_ASSERT(__real_p->__magic != __deleted_magic, _StlMsg_DBA_DELETED_TWICE) ++ _STLP_VERBOSE_ASSERT(__real_p->__magic == __magic, _StlMsg_DBA_NEVER_ALLOCATED) ++ _STLP_VERBOSE_ASSERT(__real_p->__type_size == 1,_StlMsg_DBA_TYPE_MISMATCH) ++ _STLP_VERBOSE_ASSERT(__real_p->_M_size == __n, _StlMsg_DBA_SIZE_MISMATCH) + // check pads on both sides + unsigned char* __tmp; + for (__tmp= (unsigned char*)(__real_p+1); __tmp < (unsigned char*)__p; __tmp++) { +- __STL_VERBOSE_ASSERT(*__tmp==__shred_byte, _StlMsg_DBA_UNDERRUN) ++ _STLP_VERBOSE_ASSERT(*__tmp==__shred_byte, _StlMsg_DBA_UNDERRUN) + } + + size_t __real_n= __n + __extra_before_chunk() + __extra_after_chunk(); + + for (__tmp= ((unsigned char*)__p)+__n*sizeof(value_type); + __tmp < ((unsigned char*)__real_p)+__real_n ; __tmp++) { +- __STL_VERBOSE_ASSERT(*__tmp==__shred_byte, _StlMsg_DBA_OVERRUN) ++ _STLP_VERBOSE_ASSERT(*__tmp==__shred_byte, _StlMsg_DBA_OVERRUN) + } + + // that may be unfortunate, just in case +@@ -100,88 +122,69 @@ + __allocator_type::deallocate(__real_p, __real_n); + } + +- +- +-# ifdef __STL_THREADS ++// # ifdef _STLP_THREADS + + template +-class __STL_CLASS_DECLSPEC _Node_Alloc_Lock { ++class _Node_Alloc_Lock { + public: + _Node_Alloc_Lock() { + +-# ifdef __STL_SGI_THREADS ++# ifdef _STLP_SGI_THREADS + if (__threads && __us_rsthread_malloc) +-# else /* !__STL_SGI_THREADS */ ++# else /* !_STLP_SGI_THREADS */ + if (__threads) + # endif + _S_lock._M_acquire_lock(); + } + + ~_Node_Alloc_Lock() { +-# ifdef __STL_SGI_THREADS ++# ifdef _STLP_SGI_THREADS + if (__threads && __us_rsthread_malloc) +-# else /* !__STL_SGI_THREADS */ ++# else /* !_STLP_SGI_THREADS */ + if (__threads) + # endif + _S_lock._M_release_lock(); + } + +- static _STL_STATIC_MUTEX _S_lock; ++ static _STLP_STATIC_MUTEX _S_lock; + }; + +-# endif /* __STL_THREADS */ ++// # endif /* _STLP_THREADS */ + + + template +-void* __STL_CALL +-__node_alloc<__threads, __inst>::allocate(size_t __n) { ++void* _STLP_CALL ++__node_alloc<__threads, __inst>::_M_allocate(size_t __n) { + void* __r; +- if (__n > (size_t)_MAX_BYTES) { +-# ifdef __STL_NODE_ALLOC_USE_MALLOC +- __r = __STL_VENDOR_CSTD::malloc(__n); +-# else +- __r = __stl_new(__n); +-# endif +- ++ _Obj * _STLP_VOLATILE * __my_free_list = _S_free_list + _S_FREELIST_INDEX(__n); ++ // # ifdef _STLP_THREADS ++ /*REFERENCED*/ ++ _Node_Alloc_Lock<__threads, __inst> __lock_instance; ++ // # endif ++ // Acquire the lock here with a constructor call. ++ // This ensures that it is released in exit or during stack ++ // unwinding. ++ if ( (__r = *__my_free_list) != 0 ) { ++ *__my_free_list = ((_Obj*)__r) -> _M_free_list_link; + } else { +- _Obj * __STL_VOLATILE * __my_free_list = _S_free_list + _S_FREELIST_INDEX(__n); +-# ifdef __STL_THREADS +- /*REFERENCED*/ +- _Node_Alloc_Lock<__threads, __inst> __lock_instance; +-# endif +- // Acquire the lock here with a constructor call. +- // This ensures that it is released in exit or during stack +- // unwinding. +- if ( (__r = *__my_free_list) != 0 ) { +- *__my_free_list = ((_Obj*)__r) -> _M_free_list_link; +- } else { +- __r = _S_refill(__n); +- } +- // lock is released here ++ __r = _S_refill(__n); + } ++ // lock is released here + return __r; + } + + template +-void __STL_CALL +-__node_alloc<__threads, __inst>::deallocate(void *__p, size_t __n) { +- if (__n > (size_t) _MAX_BYTES) { +-# ifdef __STL_NODE_ALLOC_USE_MALLOC +- __STL_VENDOR_CSTD::free(__p); +-# else +- __stl_delete(__p); +-# endif +- } else { +- _Obj * __STL_VOLATILE * __my_free_list = _S_free_list + _S_FREELIST_INDEX(__n); +-# ifdef __STL_THREADS +- /*REFERENCED*/ +- _Node_Alloc_Lock<__threads, __inst> __lock_instance; +-# endif /* __STL_THREADS */ +- // acquire lock +- ((_Obj *)__p) -> _M_free_list_link = *__my_free_list; +- *__my_free_list = (_Obj *)__p; +- // lock is released here +- } ++void _STLP_CALL ++__node_alloc<__threads, __inst>::_M_deallocate(void *__p, size_t __n) { ++ _Obj * _STLP_VOLATILE * __my_free_list = _S_free_list + _S_FREELIST_INDEX(__n); ++ // # ifdef _STLP_THREADS ++ /*REFERENCED*/ ++ _Node_Alloc_Lock<__threads, __inst> __lock_instance; ++ // # endif /* _STLP_THREADS */ ++ // acquire lock ++ ((_Obj *)__p) -> _M_free_list_link = *__my_free_list; ++ *__my_free_list = (_Obj *)__p; ++ // lock is released here + } + + /* We allocate memory in large chunks in order to avoid fragmenting */ +@@ -189,7 +192,7 @@ + /* We assume that size is properly aligned. */ + /* We hold the allocation lock. */ + template +-char* __STL_CALL ++char* _STLP_CALL + __node_alloc<__threads, __inst>::_S_chunk_alloc(size_t _p_size, + int& __nobjs) + { +@@ -212,16 +215,16 @@ + 2 * __total_bytes + _S_round_up(_S_heap_size >> 4); + // Try to make use of the left-over piece. + if (__bytes_left > 0) { +- _Obj* __STL_VOLATILE* __my_free_list = ++ _Obj* _STLP_VOLATILE* __my_free_list = + _S_free_list + _S_FREELIST_INDEX(__bytes_left); + + ((_Obj*)_S_start_free) -> _M_free_list_link = *__my_free_list; + *__my_free_list = (_Obj*)_S_start_free; + } +- _S_start_free = (char*)__STL_CHUNK_MALLOC(__bytes_to_get); ++ _S_start_free = (char*)__stlp_chunk_malloc(__bytes_to_get); + if (0 == _S_start_free) { + size_t __i; +- _Obj* __STL_VOLATILE* __my_free_list; ++ _Obj* _STLP_VOLATILE* __my_free_list; + _Obj* __p; + // Try to make do with what we have. That can't + // hurt. We do not try smaller requests, since that tends +@@ -239,7 +242,7 @@ + } + } + _S_end_free = 0; // In case of exception. +- _S_start_free = (char*)__STL_CHUNK_MALLOC(__bytes_to_get); ++ _S_start_free = (char*)__stlp_chunk_malloc(__bytes_to_get); + /* + (char*)malloc_alloc::allocate(__bytes_to_get); + */ +@@ -259,13 +262,13 @@ + /* We assume that __n is properly aligned. */ + /* We hold the allocation lock. */ + template +-void* __STL_CALL ++void* _STLP_CALL + __node_alloc<__threads, __inst>::_S_refill(size_t __n) + { + int __nobjs = 20; + __n = _S_round_up(__n); + char* __chunk = _S_chunk_alloc(__n, __nobjs); +- _Obj* __STL_VOLATILE* __my_free_list; ++ _Obj* _STLP_VOLATILE* __my_free_list; + _Obj* __result; + _Obj* __current_obj; + _Obj* __next_obj; +@@ -290,20 +293,20 @@ + return(__result); + } + +-# if ( __STL_STATIC_TEMPLATE_DATA > 0 ) ++# if ( _STLP_STATIC_TEMPLATE_DATA > 0 ) + // malloc_alloc out-of-memory handling + template + __oom_handler_type __malloc_alloc<__inst>::__oom_handler=(__oom_handler_type)0 ; + +-#ifdef __STL_THREADS ++// #ifdef _STLP_THREADS + template +- _STL_STATIC_MUTEX +- _Node_Alloc_Lock<__threads, __inst>::_S_lock __STL_MUTEX_INITIALIZER; +-#endif ++ _STLP_STATIC_MUTEX ++ _Node_Alloc_Lock<__threads, __inst>::_S_lock _STLP_MUTEX_INITIALIZER; ++// #endif + + template +-_Node_alloc_obj * __STL_VOLATILE +-__node_alloc<__threads, __inst>::_S_free_list[_NFREELISTS] ++_Node_alloc_obj * _STLP_VOLATILE ++__node_alloc<__threads, __inst>::_S_free_list[_STLP_NFREELISTS] + = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + // The 16 zeros are necessary to make version 4.1 of the SunPro + // compiler happy. Otherwise it appears to allocate too little +@@ -319,48 +322,48 @@ + size_t __node_alloc<__threads, __inst>::_S_heap_size = 0; + + +-# else /* ( __STL_STATIC_TEMPLATE_DATA > 0 ) */ ++# else /* ( _STLP_STATIC_TEMPLATE_DATA > 0 ) */ + + __DECLARE_INSTANCE(__oom_handler_type, __malloc_alloc<0>::__oom_handler, =0); + +-# define __STL_ALLOC_NOTHREADS __node_alloc +-# define __STL_ALLOC_THREADS __node_alloc +-# define __STL_ALLOC_NOTHREADS_LOCK _Node_Alloc_Lock +-# define __STL_ALLOC_THREADS_LOCK _Node_Alloc_Lock +- +-__DECLARE_INSTANCE(char *, __STL_ALLOC_NOTHREADS::_S_start_free,=0); +-__DECLARE_INSTANCE(char *, __STL_ALLOC_NOTHREADS::_S_end_free,=0); +-__DECLARE_INSTANCE(size_t, __STL_ALLOC_NOTHREADS::_S_heap_size,=0); +-__DECLARE_INSTANCE(_Node_alloc_obj * __STL_VOLATILE, +- __STL_ALLOC_NOTHREADS::_S_free_list[_NFREELISTS], ++# define _STLP_ALLOC_NOTHREADS __node_alloc ++# define _STLP_ALLOC_THREADS __node_alloc ++# define _STLP_ALLOC_NOTHREADS_LOCK _Node_Alloc_Lock ++# define _STLP_ALLOC_THREADS_LOCK _Node_Alloc_Lock ++ ++__DECLARE_INSTANCE(char *, _STLP_ALLOC_NOTHREADS::_S_start_free,=0); ++__DECLARE_INSTANCE(char *, _STLP_ALLOC_NOTHREADS::_S_end_free,=0); ++__DECLARE_INSTANCE(size_t, _STLP_ALLOC_NOTHREADS::_S_heap_size,=0); ++__DECLARE_INSTANCE(_Node_alloc_obj * _STLP_VOLATILE, ++ _STLP_ALLOC_NOTHREADS::_S_free_list[_STLP_NFREELISTS], + ={0}); +-__DECLARE_INSTANCE(char *, __STL_ALLOC_THREADS::_S_start_free,=0); +-__DECLARE_INSTANCE(char *, __STL_ALLOC_THREADS::_S_end_free,=0); +-__DECLARE_INSTANCE(size_t, __STL_ALLOC_THREADS::_S_heap_size,=0); +-__DECLARE_INSTANCE(_Node_alloc_obj * __STL_VOLATILE, +- __STL_ALLOC_THREADS::_S_free_list[_NFREELISTS], ++__DECLARE_INSTANCE(char *, _STLP_ALLOC_THREADS::_S_start_free,=0); ++__DECLARE_INSTANCE(char *, _STLP_ALLOC_THREADS::_S_end_free,=0); ++__DECLARE_INSTANCE(size_t, _STLP_ALLOC_THREADS::_S_heap_size,=0); ++__DECLARE_INSTANCE(_Node_alloc_obj * _STLP_VOLATILE, ++ _STLP_ALLOC_THREADS::_S_free_list[_STLP_NFREELISTS], + ={0}); +-# ifdef __STL_THREADS +-__DECLARE_INSTANCE(_STL_STATIC_MUTEX, +- __STL_ALLOC_NOTHREADS_LOCK::_S_lock, +- __STL_MUTEX_INITIALIZER); +-__DECLARE_INSTANCE(_STL_STATIC_MUTEX, +- __STL_ALLOC_THREADS_LOCK::_S_lock, +- __STL_MUTEX_INITIALIZER); +-# endif ++// # ifdef _STLP_THREADS ++__DECLARE_INSTANCE(_STLP_STATIC_MUTEX, ++ _STLP_ALLOC_NOTHREADS_LOCK::_S_lock, ++ _STLP_MUTEX_INITIALIZER); ++__DECLARE_INSTANCE(_STLP_STATIC_MUTEX, ++ _STLP_ALLOC_THREADS_LOCK::_S_lock, ++ _STLP_MUTEX_INITIALIZER); ++// # endif + +-# undef __STL_ALLOC_THREADS +-# undef __STL_ALLOC_NOTHREADS ++# undef _STLP_ALLOC_THREADS ++# undef _STLP_ALLOC_NOTHREADS + +-# endif /* __STL_STATIC_TEMPLATE_DATA */ ++# endif /* _STLP_STATIC_TEMPLATE_DATA */ + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + + # undef _S_FREELIST_INDEX + +-# endif /* OWN_IOSTREAMS */ ++# endif /* _STLP_EXPOSE_GLOBALS_IMPLEMENTATION */ + +-#endif /* __STL_ALLOC_C */ ++#endif /* _STLP_ALLOC_C */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_alloc.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_alloc.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_alloc.h Sat Feb 24 10:44:42 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_alloc.h Sun Aug 11 18:59:24 2002 +@@ -24,59 +24,47 @@ + * You should not attempt to use it directly. + */ + +-#ifndef __SGI_STL_INTERNAL_ALLOC_H +-#define __SGI_STL_INTERNAL_ALLOC_H ++#ifndef _STLP_INTERNAL_ALLOC_H ++#define _STLP_INTERNAL_ALLOC_H + +- +-// This implements some standard node allocators. These are +-// NOT the same as the allocators in the C++ draft standard or in +-// in the original STL. They do not encapsulate different pointer +-// types; indeed we assume that there is only one pointer type. +-// The allocation primitives are intended to allocate individual objects, +-// not larger arenas as with the original STL allocators. +- +-# ifndef __STLPORT_CSTDDEF ++# ifndef _STLP_CSTDDEF + # include + # endif + +-#if !defined (__STLPORT_DEBUG_H) && (defined (__STL_DEBUG) || defined (__STL_ASSERTIONS)) ++#if !defined (_STLP_DEBUG_H) && (defined (_STLP_DEBUG) || defined (_STLP_ASSERTIONS)) + # include + #endif + +-# ifndef __STLPORT_CSTDLIB ++# ifndef _STLP_CSTDLIB + # include + # endif +-# ifndef __STLPORT_CSTRING ++# ifndef _STLP_CSTRING + # include + # endif + + # ifndef __THROW_BAD_ALLOC +-# if !defined(__STL_USE_EXCEPTIONS) +-# if !defined (__STLPORT_CSTDIO) ++# if !defined(_STLP_USE_EXCEPTIONS) ++# if !defined (_STLP_CSTDIO) + # include + # endif +-# if !defined (__STLPORT_CSTDLIB) ++# if !defined (_STLP_CSTDLIB) + # include + # endif +-# define __THROW_BAD_ALLOC fprintf(stderr, "out of memory\n"); exit(1) +-# else /* !defined(__STL_USE_EXCEPTIONS) */ +-# define __THROW_BAD_ALLOC throw __STLPORT_STD::bad_alloc() +-# endif /* !defined(__STL_USE_EXCEPTIONS) */ ++# define __THROW_BAD_ALLOC puts("out of memory\n"); exit(1) ++# else /* !defined(_STLP_USE_EXCEPTIONS) */ ++# define __THROW_BAD_ALLOC throw _STLP_STD::bad_alloc() ++# endif /* !defined(_STLP_USE_EXCEPTIONS) */ + # endif /* __THROW_BAD_ALLOC */ + +-# ifndef __STLPORT_NEW ++# ifndef _STLP_NEW_HEADER + # include + # endif + +-#if defined (__STL_THREADS) && ! defined (__SGI_STL_INTERNAL_THREADS_H) ++#if /* defined (_STLP_THREADS) && */ ! defined (_STLP_INTERNAL_THREADS_H) + # include + #endif + +-// #ifndef __TYPE_TRAITS_H +-// # include +-// #endif +- +-#ifndef __SGI_STL_INTERNAL_CONSTRUCT_H ++#ifndef _STLP_INTERNAL_CONSTRUCT_H + # include + #endif + +@@ -88,37 +76,17 @@ + # define __RESTRICT + # endif + +-# if defined ( __STL_USE_ABBREVS ) +-// ugliness is intentional - to reduce conflicts probability +-# define __malloc_alloc M__A +-# define __node_alloc D__A +-# define __new_alloc N__A +-# define __debug_alloc G__A +-# endif +- +-#if defined (__STL_THREADS) || (defined(__SGI_STL_OWN_IOSTREAMS) && ! defined (__STL_NO_THREADS) && ! defined (_NOTHREADS) ) +-# define __NODE_ALLOCATOR_THREADS true ++#if defined (_STLP_THREADS) || (defined(_STLP_OWN_IOSTREAMS) && ! defined (_STLP_NO_THREADS) && ! defined (_NOTHREADS) ) ++# define _STLP_NODE_ALLOCATOR_THREADS true + #else +-# define __NODE_ALLOCATOR_THREADS false ++# define _STLP_NODE_ALLOCATOR_THREADS false + #endif + +-# ifdef __STL_SGI_THREADS +- // We test whether threads are in use before locking. +- // Perhaps this should be moved into stl_threads.h, but that +- // probably makes it harder to avoid the procedure call when +- // it isn't needed. +- extern "C" { +- extern int __us_rsthread_malloc; +- } +-// The above is copied from malloc.h. Including +-// would be cleaner but fails with certain levels of standard +-// conformance. +-# endif +- +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + +-template +-struct __allocator; ++# if defined (_STLP_USE_RAW_SGI_ALLOCATORS) ++template struct __allocator; ++# endif + + // Malloc-based allocator. Typically slower than default alloc below. + // Typically thread-safe and more storage efficient. +@@ -128,61 +96,43 @@ + template + class __malloc_alloc { + private: +- +- static void* __STL_CALL _S_oom_malloc(size_t); +- // static void* __STL_CALL _S_oom_realloc(void*, size_t); +- ++ static void* _STLP_CALL _S_oom_malloc(size_t); + static __oom_handler_type __oom_handler; +- + public: + // this one is needed for proper simple_alloc wrapping + typedef char value_type; +- +-# if defined (__STL_MEMBER_TEMPLATE_CLASSES) && defined (__STL_USE_RAW_SGI_ALLOCATORS) ++# if defined (_STLP_MEMBER_TEMPLATE_CLASSES) && defined (_STLP_USE_RAW_SGI_ALLOCATORS) + template struct rebind { + typedef __allocator<_Tp1, __malloc_alloc<__inst> > other; + }; + # endif +- +- static void* __STL_CALL allocate(size_t __n) +- { +- void* __result = malloc(__n); +- if (0 == __result) __result = _S_oom_malloc(__n); +- return __result; +- } +- +- static void __STL_CALL deallocate(void* __p, size_t /* __n */) +- { +- free((char*)__p); +- } +- +- static __oom_handler_type __STL_CALL set_malloc_handler(__oom_handler_type __f) +- { +- __oom_handler_type __old = __oom_handler; +- __oom_handler = __f; +- return(__old); +- } +- ++ static void* _STLP_CALL allocate(size_t __n) { ++ void* __result = malloc(__n); ++ if (0 == __result) __result = _S_oom_malloc(__n); ++ return __result; ++ } ++ static void _STLP_CALL deallocate(void* __p, size_t /* __n */) { free((char*)__p); } ++ static __oom_handler_type _STLP_CALL set_malloc_handler(__oom_handler_type __f) { ++ __oom_handler_type __old = __oom_handler; ++ __oom_handler = __f; ++ return(__old); ++ } + }; + + + // New-based allocator. Typically slower than default alloc below. + // Typically thread-safe and more storage efficient. +-class __STL_CLASS_DECLSPEC __new_alloc { ++class _STLP_CLASS_DECLSPEC __new_alloc { + public: + // this one is needed for proper simple_alloc wrapping + typedef char value_type; +-# if defined (__STL_MEMBER_TEMPLATE_CLASSES) && defined(__STL_USE_RAW_SGI_ALLOCATORS) ++# if defined (_STLP_MEMBER_TEMPLATE_CLASSES) && defined(_STLP_USE_RAW_SGI_ALLOCATORS) + template struct rebind { + typedef __allocator<_Tp1, __new_alloc > other; + }; + # endif +- static void* __STL_CALL allocate(size_t __n) { +- return __stl_new(__n); +- } +- static void __STL_CALL deallocate(void* __p, size_t) { +- __stl_delete(__p); +- } ++ static void* _STLP_CALL allocate(size_t __n) { return __stl_new(__n); } ++ static void _STLP_CALL deallocate(void* __p, size_t) { __stl_delete(__p); } + }; + + +@@ -202,38 +152,35 @@ + struct __alloc_header { + size_t __magic: 16; + size_t __type_size:16; +- __STL_UINT32_T _M_size; ++ _STLP_UINT32_T _M_size; + }; // that is 8 bytes for sure + // Sunpro CC has bug on enums, so extra_before/after set explicitly + enum { __pad=8, __magic=0xdeba, __deleted_magic = 0xdebd, +- __shred_byte= __STL_SHRED_BYTE ++ __shred_byte= _STLP_SHRED_BYTE + }; + + enum { __extra_before = 16, __extra_after = 8 }; + // Size of space used to store size. Note + // that this must be large enough to preserve + // alignment. +- static size_t __STL_CALL __extra_before_chunk() { ++ static size_t _STLP_CALL __extra_before_chunk() { + return (long)__extra_before/sizeof(value_type)+ + (size_t)((long)__extra_before%sizeof(value_type)>0); + } +- static size_t __STL_CALL __extra_after_chunk() { ++ static size_t _STLP_CALL __extra_after_chunk() { + return (long)__extra_after/sizeof(value_type)+ + (size_t)((long)__extra_after%sizeof(value_type)>0); + } + public: +- +-# if defined (__STL_MEMBER_TEMPLATE_CLASSES) && defined (__STL_USE_RAW_SGI_ALLOCATORS) ++# if defined (_STLP_MEMBER_TEMPLATE_CLASSES) && defined (_STLP_USE_RAW_SGI_ALLOCATORS) + template struct rebind { + typedef __allocator< _Tp1, __debug_alloc<_Alloc> > other; + }; + # endif +- +- // __debug_alloc(const _Alloc&); + __debug_alloc() {} + ~__debug_alloc() {} +- static void * __STL_CALL allocate(size_t); +- static void __STL_CALL deallocate(void *, size_t); ++ static void * _STLP_CALL allocate(size_t); ++ static void _STLP_CALL deallocate(void *, size_t); + }; + + +@@ -262,90 +209,104 @@ + + # if defined(__OS400__) + enum {_ALIGN = 16, _ALIGN_SHIFT=4, _MAX_BYTES = 256}; +-# define _NFREELISTS 16 ++# define _STLP_NFREELISTS 16 + # else + enum {_ALIGN = 8, _ALIGN_SHIFT=3, _MAX_BYTES = 128}; +-// SunPro CC 4.0.1 has bug on enums +-// enum {_NFREELISTS = _MAX_BYTES/_ALIGN}; +-# define _NFREELISTS 16 ++# define _STLP_NFREELISTS 16 + # endif /* __OS400__ */ + +-class __STL_CLASS_DECLSPEC _Node_alloc_obj { ++class _STLP_CLASS_DECLSPEC _Node_alloc_obj { + public: + _Node_alloc_obj * _M_free_list_link; + }; + +- + template + class __node_alloc { +- __PRIVATE: +- static inline size_t __STL_CALL +- _S_round_up(size_t __bytes) +- { return (((__bytes) + (size_t)_ALIGN-1) & ~((size_t)_ALIGN - 1)); } +- ++ _STLP_PRIVATE: ++ static inline size_t _STLP_CALL _S_round_up(size_t __bytes) { return (((__bytes) + (size_t)_ALIGN-1) & ~((size_t)_ALIGN - 1)); } + typedef _Node_alloc_obj _Obj; +- + private: +- + // Returns an object of size __n, and optionally adds to size __n free list. +- static void* __STL_CALL _S_refill(size_t __n); ++ static void* _STLP_CALL _S_refill(size_t __n); + // Allocates a chunk for nobjs of size size. nobjs may be reduced + // if it is inconvenient to allocate the requested number. +- static char* __STL_CALL _S_chunk_alloc(size_t __p_size, int& __nobjs); +- +- ++ static char* _STLP_CALL _S_chunk_alloc(size_t __p_size, int& __nobjs); + // Chunk allocation state. +- static _Node_alloc_obj * __STL_VOLATILE _S_free_list[_NFREELISTS]; ++ static _Node_alloc_obj * _STLP_VOLATILE _S_free_list[_STLP_NFREELISTS]; + static char* _S_start_free; + static char* _S_end_free; + static size_t _S_heap_size; +- ++ static void * _STLP_CALL _M_allocate(size_t __n); ++ /* __p may not be 0 */ ++ static void _STLP_CALL _M_deallocate(void *__p, size_t __n); + public: + // this one is needed for proper simple_alloc wrapping + typedef char value_type; +- +-# if defined (__STL_MEMBER_TEMPLATE_CLASSES) && defined (__STL_USE_RAW_SGI_ALLOCATORS) ++# if defined (_STLP_MEMBER_TEMPLATE_CLASSES) && defined (_STLP_USE_RAW_SGI_ALLOCATORS) + template struct rebind { + typedef __allocator<_Tp1, __node_alloc<__threads, __inst> > other; + }; + # endif + /* __n must be > 0 */ +- static void * __STL_CALL allocate(size_t __n); ++ static void * _STLP_CALL allocate(size_t __n) { return (__n > (size_t)_MAX_BYTES) ? __stl_new(__n) : _M_allocate(__n); } + /* __p may not be 0 */ +- static void __STL_CALL deallocate(void *__p, size_t __n); +-} ; ++ static void _STLP_CALL deallocate(void *__p, size_t __n) { if (__n > (size_t)_MAX_BYTES) __stl_delete(__p); else _M_deallocate(__p, __n); } ++}; + +-# if defined (__STL_USE_TEMPLATE_EXPORT) +-__STL_EXPORT_TEMPLATE_CLASS __malloc_alloc<0>; +-__STL_EXPORT_TEMPLATE_CLASS __node_alloc<__NODE_ALLOCATOR_THREADS, 0>; +-# endif /* __STL_USE_TEMPLATE_EXPORT */ +-typedef __node_alloc<__NODE_ALLOCATOR_THREADS, 0> _Node_alloc; +-# if defined (__STL_USE_TEMPLATE_EXPORT) +-__STL_EXPORT_TEMPLATE_CLASS __debug_alloc<_Node_alloc>; +-__STL_EXPORT_TEMPLATE_CLASS __debug_alloc<__new_alloc>; +-__STL_EXPORT_TEMPLATE_CLASS __debug_alloc<__malloc_alloc<0> >; ++# if defined (_STLP_USE_TEMPLATE_EXPORT) ++_STLP_EXPORT_TEMPLATE_CLASS __malloc_alloc<0>; ++_STLP_EXPORT_TEMPLATE_CLASS __node_alloc<_STLP_NODE_ALLOCATOR_THREADS, 0>; ++# endif /* _STLP_USE_TEMPLATE_EXPORT */ ++typedef __node_alloc<_STLP_NODE_ALLOCATOR_THREADS, 0> _Node_alloc; ++# if defined (_STLP_USE_TEMPLATE_EXPORT) ++_STLP_EXPORT_TEMPLATE_CLASS __debug_alloc<_Node_alloc>; ++_STLP_EXPORT_TEMPLATE_CLASS __debug_alloc<__new_alloc>; ++_STLP_EXPORT_TEMPLATE_CLASS __debug_alloc<__malloc_alloc<0> >; + # endif + +-# if defined ( __STL_USE_NEWALLOC ) +-# if defined ( __STL_DEBUG_ALLOC ) ++# if defined (_STLP_USE_PERTHREAD_ALLOC) ++ ++_STLP_END_NAMESPACE ++// include additional header here ++# include ++_STLP_BEGIN_NAMESPACE ++ ++# if defined ( _STLP_DEBUG_ALLOC ) ++typedef __debug_alloc<__pthread_alloc> __sgi_alloc; ++# else ++typedef __pthread_alloc __sgi_alloc; ++# endif /* _STLP_DEBUG_ALLOC */ ++ ++typedef __pthread_alloc __single_client_alloc; ++typedef __pthread_alloc __multithreaded_alloc; ++ ++# else ++ ++# if defined ( _STLP_USE_NEWALLOC ) ++ ++# if defined ( _STLP_DEBUG_ALLOC ) + typedef __debug_alloc<__new_alloc> __sgi_alloc; + # else + typedef __new_alloc __sgi_alloc; +-# endif /* __STL_DEBUG_ALLOC */ ++# endif /* _STLP_DEBUG_ALLOC */ + + typedef __new_alloc __single_client_alloc; + typedef __new_alloc __multithreaded_alloc; + +-# elif defined (__STL_USE_MALLOC) +-# if defined ( __STL_DEBUG_ALLOC ) ++# elif defined (_STLP_USE_MALLOC) ++ ++# if defined ( _STLP_DEBUG_ALLOC ) + typedef __debug_alloc<__malloc_alloc<0> > __sgi_alloc; + # else + typedef __malloc_alloc<0> __sgi_alloc; +-# endif /* __STL_DEBUG_ALLOC */ ++# endif /* _STLP_DEBUG_ALLOC */ ++ + typedef __malloc_alloc<0> __single_client_alloc; + typedef __malloc_alloc<0> __multithreaded_alloc; ++ + # else +-# if defined ( __STL_DEBUG_ALLOC ) ++ ++# if defined ( _STLP_DEBUG_ALLOC ) + typedef __debug_alloc<_Node_alloc> __sgi_alloc; + # else + typedef _Node_alloc __sgi_alloc; +@@ -354,7 +315,8 @@ + typedef __node_alloc __single_client_alloc; + typedef __node_alloc __multithreaded_alloc; + +-# endif /* __STL_USE_NEWALLOC */ ++# endif /* _STLP_USE_NEWALLOC */ ++# endif /* PTHREAD_ALLOC */ + + // This implements allocators as specified in the C++ standard. + // +@@ -365,7 +327,7 @@ + // to refer to a template member of a dependent type. + + template +-class __STL_CLASS_DECLSPEC allocator { ++class allocator { + public: + + typedef _Tp value_type; +@@ -375,508 +337,170 @@ + typedef const _Tp& const_reference; + typedef size_t size_type; + typedef ptrdiff_t difference_type; +- +- +-# if defined (__STL_MEMBER_TEMPLATE_CLASSES) ++# if defined (_STLP_MEMBER_TEMPLATE_CLASSES) + template struct rebind { + typedef allocator<_Tp1> other; + }; + # endif +- +- allocator() __STL_NOTHROW {} +- +- # if defined (__STL_MEMBER_TEMPLATES) +- template allocator(const allocator<_Tp1>&) __STL_NOTHROW {} +- # endif +- +- allocator(const allocator<_Tp>&) __STL_NOTHROW {} +- +- ~allocator() __STL_NOTHROW {} +- ++ allocator() _STLP_NOTHROW {} ++ # if defined (_STLP_MEMBER_TEMPLATES) ++ template allocator(const allocator<_Tp1>&) _STLP_NOTHROW {} ++ # endif ++ allocator(const allocator<_Tp>&) _STLP_NOTHROW {} ++ ~allocator() _STLP_NOTHROW {} + pointer address(reference __x) { return &__x; } +- + const_pointer address(const_reference __x) const { return &__x; } +- +- // __n is permitted to be 0. The C++ standard says nothing about what +- // the return value is when __n == 0. +- _Tp* allocate(size_type __n, const void* = 0) const { +- return __n != 0 ? __REINTERPRET_CAST(value_type*,__sgi_alloc::allocate(__n * sizeof(value_type))) +- : 0; ++ // __n is permitted to be 0. The C++ standard says nothing about what the return value is when __n == 0. ++ _Tp* allocate(size_type __n, const void* = 0) const { ++ return __n != 0 ? __REINTERPRET_CAST(value_type*,__sgi_alloc::allocate(__n * sizeof(value_type))) : 0; + } +- + // __p is permitted to be a null pointer, only if n==0. + void deallocate(pointer __p, size_type __n) const { +- __STL_ASSERT( (__p == 0) == (__n == 0) ) +- if (__p != 0) +- __sgi_alloc::deallocate((void*)__p, __n * sizeof(value_type)); ++ _STLP_ASSERT( (__p == 0) == (__n == 0) ) ++ if (__p != 0) __sgi_alloc::deallocate((void*)__p, __n * sizeof(value_type)); + } +- + // backwards compatibility +- void deallocate(pointer __p) const +- { if (__p != 0) __sgi_alloc::deallocate((void*)__p, sizeof(value_type)); } +- +- size_type max_size() const __STL_NOTHROW +- { return size_t(-1) / sizeof(value_type); } +- +- void construct(pointer __p, const _Tp& __val) const { __STLPORT_STD::construct(__p, __val); } +- void destroy(pointer __p) const { __STLPORT_STD::destroy(__p); } ++ void deallocate(pointer __p) const { if (__p != 0) __sgi_alloc::deallocate((void*)__p, sizeof(value_type)); } ++ size_type max_size() const _STLP_NOTHROW { return size_t(-1) / sizeof(value_type); } ++ void construct(pointer __p, const _Tp& __val) const { _STLP_STD::_Construct(__p, __val); } ++ void destroy(pointer __p) const { _STLP_STD::_Destroy(__p); } ++# if defined(__MRC__)||defined(__SC__) ++ template bool operator==(const allocator<_T2>&) const { return true; } ++ template bool operator!=(const allocator<_T2>&) const { return false; } ++# endif + }; + +-__STL_TEMPLATE_NULL +-class __STL_CLASS_DECLSPEC allocator { ++_STLP_TEMPLATE_NULL ++class _STLP_CLASS_DECLSPEC allocator { + public: + typedef size_t size_type; + typedef ptrdiff_t difference_type; + typedef void* pointer; + typedef const void* const_pointer; +-# if defined (__STL_CLASS_PARTIAL_SPECIALIZATION) ++# if defined (_STLP_CLASS_PARTIAL_SPECIALIZATION) + typedef void value_type; + # endif +-# if defined (__STL_MEMBER_TEMPLATE_CLASSES) ++# if defined (_STLP_MEMBER_TEMPLATE_CLASSES) + template struct rebind { + typedef allocator<_Tp1> other; + }; + # endif +-}; +- +- +-template +-inline bool __STL_CALL operator==(const allocator<_T1>&, const allocator<_T2>&) +-{ +- return true; +-} +- +-template +-inline bool __STL_CALL operator!=(const allocator<_T1>&, const allocator<_T2>&) +-{ +- return false; +-} +- +-# if defined (__STL_USE_TEMPLATE_EXPORT) +-__STL_EXPORT_TEMPLATE_CLASS allocator; +-# if defined (__STL_HAS_WCHAR_T) +-__STL_EXPORT_TEMPLATE_CLASS allocator; +-# endif +- +-# endif /* __STL_USE_TEMPLATE_EXPORT */ +- +-template +-class __simple_alloc { +- typedef _Alloc __alloc_type; +-public: +- +- typedef typename _Alloc::value_type __alloc_value_type; +- typedef _Tp value_type; +- +- static size_t __STL_CALL __chunk(size_t __n) { +- return (sizeof(__alloc_value_type)==sizeof(value_type)) ? __n : +- ((__n*sizeof(value_type)+sizeof(__alloc_value_type)-1)/sizeof(__alloc_value_type)); +- } +- static _Tp* __STL_CALL allocate(size_t __n) +- { return 0 == __n ? 0 : (_Tp*) __alloc_type::allocate(__chunk(__n)); } +- +- static void __STL_CALL deallocate(_Tp * __p, size_t __n) { +- __alloc_type::deallocate((__alloc_value_type*)__p, __chunk(__n)); } +-}; +- +-# ifndef __STL_NO_EXTENSIONS +-// Allocator adaptor to turn an SGI-style allocator (e.g. alloc, malloc_alloc) +-// into a standard-conforming allocator. Note that this adaptor does +-// *not* assume that all objects of the underlying alloc class are +-// identical, nor does it assume that all of the underlying alloc's +-// member functions are static member functions. Note, also, that +-// __allocator<_Tp, alloc> is essentially the same thing as allocator<_Tp>. +- +-template +-struct __allocator : public _Alloc { +- typedef _Alloc __underlying_alloc; +- +- typedef size_t size_type; +- typedef ptrdiff_t difference_type; +- typedef _Tp* pointer; +- typedef const _Tp* const_pointer; +- typedef _Tp& reference; +- typedef const _Tp& const_reference; +- typedef _Tp value_type; +- +-# if defined (__STL_MEMBER_TEMPLATE_CLASSES) +- template struct rebind { +- typedef __allocator<_Tp1, _Alloc> other; +- }; +-# endif +- __allocator() __STL_NOTHROW {} +- __allocator(const _Alloc& ) __STL_NOTHROW {} +- __allocator(const __allocator<_Tp, _Alloc>& __a) __STL_NOTHROW +- : _Alloc(__a) {} +-# if defined (__STL_MEMBER_TEMPLATES) && defined (__STL_FUNCTION_TMPL_PARTIAL_ORDER) +- template +- __allocator(const __allocator<_Tp1, _Alloc>& __a) __STL_NOTHROW +- : _Alloc(__a) {} ++# if defined(__MRC__)||defined(__SC__) //*ty 03/24/2001 - MPW compilers get confused on these operator definitions ++ template bool operator==(const allocator<_T2>&) const { return true; } ++ template bool operator!=(const allocator<_T2>&) const { return false; } + # endif +- ~__allocator() __STL_NOTHROW {} +- +- pointer address(reference __x) const { return &__x; } +- +-# if !defined (__WATCOM_CPLUSPLUS__) +- const_pointer address(const_reference __x) const { return &__x; } +-# endif +- +- // __n is permitted to be 0. +- _Tp* allocate(size_type __n, const void* = 0) { +- return __n != 0 +- ? __STATIC_CAST(_Tp*,__underlying_alloc::allocate(__n * sizeof(_Tp))) +- : 0; +- } +- +- // __p is not permitted to be a null pointer. +- void deallocate(pointer __p, size_type __n) +- { if (__p) __underlying_alloc::deallocate(__p, __n * sizeof(_Tp)); } +- +- size_type max_size() const __STL_NOTHROW +- { return size_t(-1) / sizeof(_Tp); } +- +- void construct(pointer __p, const _Tp& __val) { __STLPORT_STD::construct(__p, __val); } +- void destroy(pointer __p) { __STLPORT_STD::destroy(__p); } +- +- const __underlying_alloc& __get_underlying_alloc() const { return *this; } + }; + +-#ifdef __STL_CLASS_PARTIAL_SPECIALIZATION +-template +-class __allocator { +- typedef size_t size_type; +- typedef ptrdiff_t difference_type; +- typedef void* pointer; +- typedef const void* const_pointer; +- typedef void value_type; +-#ifdef __STL_MEMBER_TEMPLATE_CLASSES +- template struct rebind { +- typedef __allocator<_Tp1, _Alloc> other; +- }; ++#if !(defined(__MRC__)||defined(__SC__)) //*ty 03/24/2001 - MPW compilers get confused on these operator definitions ++template inline bool _STLP_CALL operator==(const allocator<_T1>&, const allocator<_T2>&) { return true; } ++template inline bool _STLP_CALL operator!=(const allocator<_T1>&, const allocator<_T2>&) { return false; } + #endif +-}; +-#endif +- +-template +-inline bool __STL_CALL operator==(const __allocator<_Tp, _Alloc>& __a1, +- const __allocator<_Tp, _Alloc>& __a2) +-{ +- return __a1.__get_underlying_alloc() == __a2.__get_underlying_alloc(); +-} +- +-#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE +-template +-inline bool __STL_CALL operator!=(const __allocator<_Tp, _Alloc>& __a1, +- const __allocator<_Tp, _Alloc>& __a2) +-{ +- return __a1.__get_underlying_alloc() != __a2.__get_underlying_alloc(); +-} +-#endif /* __STL_FUNCTION_TMPL_PARTIAL_ORDER */ + +- +-// Comparison operators for all of the predifined SGI-style allocators. +-// This ensures that __allocator (for example) will +-// work correctly. +- +-#ifndef __STL_NON_TYPE_TMPL_PARAM_BUG +-template +-inline bool __STL_CALL operator==(const __malloc_alloc&, +- const __malloc_alloc&) +-{ +- return true; +-} +- +-#ifdef __STL_FUNCTION_TMPL_PARTIAL_ORDER +-template +-inline bool __STL_CALL operator!=(const __malloc_alloc<__inst>&, +- const __malloc_alloc<__inst>&) +-{ +- return false; +-} +-#endif /* __STL_FUNCTION_TMPL_PARTIAL_ORDER */ +- +-template +-inline bool __STL_CALL operator==(const __node_alloc<__threads, __inst>&, +- const __node_alloc<__threads, __inst>&) +-{ +- return true; +-} +- +-#if defined( __STL_FUNCTION_TMPL_PARTIAL_ORDER ) +- +-template +-inline bool __STL_CALL operator!=(const __node_alloc<__threads, __inst>&, +- const __node_alloc<__threads, __inst>&) +-{ +- return false; +-} +-#endif /* __STL_FUNCTION_TMPL_PARTIAL_ORDER */ +- +-#endif /* __STL_NON_TYPE_TMPL_PARAM_BUG */ +- +-template +-inline bool __STL_CALL operator==(const __debug_alloc<_Alloc>&, +- const __debug_alloc<_Alloc>&) { +- return true; +-} +- +-# ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE +-template +-inline bool __STL_CALL operator!=(const __debug_alloc<_Alloc>&, +- const __debug_alloc<_Alloc>&) { +- return false; +-} +-# endif +-#endif /* __STL_NO_EXTENSIONS : excluding __allocator */ ++# if defined (_STLP_USE_TEMPLATE_EXPORT) ++_STLP_EXPORT_TEMPLATE_CLASS allocator; ++# if defined (_STLP_HAS_WCHAR_T) ++_STLP_EXPORT_TEMPLATE_CLASS allocator; ++# endif ++# endif /* _STLP_USE_TEMPLATE_EXPORT */ + + // Another allocator adaptor: _Alloc_traits. This serves two + // purposes. First, make it possible to write containers that can use + // either SGI-style allocators or standard-conforming allocator. +-// Second, provide a mechanism so that containers can query whether or +-// not the allocator has distinct instances. If not, the container +-// can avoid wasting a word of memory to store an empty object. +- +-// This adaptor uses partial specialization. The general case of +-// _Alloc_traits<_Tp, _Alloc> assumes that _Alloc is a +-// standard-conforming allocator, possibly with non-equal instances +-// and non-static members. (It still behaves correctly even if _Alloc +-// has static member and if all instances are equal. Refinements +-// affect performance, not correctness.) + + // The fully general version. +- +-// fbp: _S_instanceless is unused in STLport +-// _Alloc_type is always being used to do allocation/deallocation +-// allocator_type is the type being converted to _Allocator when returned +-// from Container::get_allocator, unless it is NOT a raw alloc, in which case +-// __get_alloc will return __allocator +- + template + struct _Alloc_traits + { +-# if defined (__STL_MEMBER_TEMPLATE_CLASSES) +- typedef typename _Allocator::__STL_TEMPLATE rebind<_Tp> _Rebind_type; ++ typedef _Allocator _Orig; ++# if defined (_STLP_MEMBER_TEMPLATE_CLASSES) ++ typedef typename _Allocator::_STLP_TEMPLATE rebind<_Tp> _Rebind_type; + typedef typename _Rebind_type::other allocator_type; ++ static allocator_type create_allocator(const _Orig& __a) { return allocator_type(__a); } + # else + // this is not actually true, used only to pass this type through +- // to dynamic overload selection in _STL_alloc_proxy methods ++ // to dynamic overload selection in _STLP_alloc_proxy methods + typedef _Allocator allocator_type; + # endif + }; + ++#ifndef _STLP_FORCE_ALLOCATORS ++#define _STLP_FORCE_ALLOCATORS(a,y) ++#endif + +-#if defined (__STL_CLASS_PARTIAL_SPECIALIZATION) +-// The version for the default allocator. +- ++#if defined (_STLP_CLASS_PARTIAL_SPECIALIZATION) && ! defined (_STLP_MEMBER_TEMPLATE_CLASSES) ++// The version for the default allocator, for rare occasion when we have partial spec w/o member template classes + template + struct _Alloc_traits<_Tp, allocator<_Tp1> > { ++ typedef allocator<_Tp1> _Orig; + typedef allocator<_Tp> allocator_type; ++ static allocator_type create_allocator(const allocator<_Tp1 >& __a) { return allocator_type(__a); } + }; ++#endif /* _STLP_CLASS_PARTIAL_SPECIALIZATION */ + +-# if defined (__STL_USE_RAW_SGI_ALLOCATORS) +-// Versions for the predefined SGI-style allocators. +-template +-struct _Alloc_traits<_Tp, __malloc_alloc<__inst> > { +- typedef __allocator<_Tp, __malloc_alloc<__inst> > allocator_type; +-}; +- +- +-template +-struct _Alloc_traits<_Tp, __node_alloc<__threads, __inst> > { +- typedef __allocator<_Tp, __node_alloc<__threads, __inst> > +- allocator_type; +-}; +- +-template +-struct _Alloc_traits<_Tp, __debug_alloc<_Alloc> > { +- typedef __allocator<_Tp, __debug_alloc<_Alloc> > allocator_type; +-}; +-# endif +- +-# ifndef __STL_NO_EXTENSIONS +-// Versions for the __allocator adaptor used with the predefined +-// SGI-style allocators. +- +-template +-struct _Alloc_traits<_Tp, __allocator<_Tp1, _Alloc > > { +- typedef __allocator<_Tp, _Alloc > allocator_type; +-}; ++/* macro to convert the allocator for initialization ++ * not using MEMBER_TEMPLATE_CLASSES as it should work given template constructor */ ++#if defined (_STLP_MEMBER_TEMPLATES) || ! defined (_STLP_CLASS_PARTIAL_SPECIALIZATION) ++/* if _STLP_NO_TEMPLATE_CONVERSIONS is set, the member template constructor is ++ * not used implicitly to convert allocator parameter, so let us do it explicitly */ ++# if defined (_STLP_MEMBER_TEMPLATE_CLASSES) && defined (_STLP_NO_TEMPLATE_CONVERSIONS) ++# define _STLP_CONVERT_ALLOCATOR(__a, _Tp) __stl_alloc_create(__a,(_Tp*)0) ++# else ++# define _STLP_CONVERT_ALLOCATOR(__a, _Tp) __a + # endif ++/* else convert, but only if partial specialization works, since else ++ * Container::allocator_type won't be different */ ++#else ++# define _STLP_CONVERT_ALLOCATOR(__a, _Tp) __stl_alloc_create(__a,(_Tp*)0) ++#endif + +-#endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */ +- +-# if defined (__STL_MEMBER_TEMPLATE_CLASSES) +- +-// __a may be not rebound, return different type ++# if defined (_STLP_MEMBER_TEMPLATE_CLASSES) + template +-inline __STL_TYPENAME_ON_RETURN_TYPE _Alloc_traits<_Tp, _Alloc>::allocator_type __STL_CALL ++inline _STLP_TYPENAME_ON_RETURN_TYPE _Alloc_traits<_Tp, _Alloc>::allocator_type _STLP_CALL + __stl_alloc_create(const _Alloc& __a, const _Tp*) { +- typedef typename _Alloc_traits<_Tp, _Alloc>::allocator_type _Rebound_type; ++ typedef typename _Alloc::_STLP_TEMPLATE rebind<_Tp>::other _Rebound_type; + return _Rebound_type(__a); + } +- + #else +- +-# if defined (__STL_USE_RAW_SGI_ALLOCATORS) +- +-// Versions for the predefined SGI-style allocators. +-template +-inline __allocator<_Tp, __new_alloc > __STL_CALL +-__stl_alloc_create(const __new_alloc&, const _Tp*) { +- return __allocator<_Tp, __new_alloc >(); +-} +-template +-inline __allocator<_Tp, __new_alloc >& __STL_CALL +-__stl_alloc_rebind(__new_alloc& __a, const _Tp*) { +- return (__allocator<_Tp, __new_alloc >&)__a; +-} +- +-template +-inline __allocator<_Tp, __debug_alloc<_Alloc> > __STL_CALL +-__stl_alloc_create(const __debug_alloc<_Alloc>&, const _Tp*) { +- return __allocator<_Tp, __debug_alloc<_Alloc> >(); +-} +-template +-inline __allocator<_Tp, __debug_alloc<_Alloc> >& __STL_CALL +-__stl_alloc_rebind(__debug_alloc<_Alloc>& __a, const _Tp*) { +- return (__allocator<_Tp, __debug_alloc<_Alloc> >&)__a; +-} +- +-# if defined (__STL_NON_TYPE_TMPL_PARAM_BUG) +- +-typedef __malloc_alloc<0> __malloc_alloc_dfl; +-typedef __node_alloc __single_client_node_alloc; +-typedef __node_alloc __multithreaded_node_alloc; +- +-template +-inline __allocator<_Tp, __malloc_alloc_dfl >& __STL_CALL +-__stl_alloc_rebind(__malloc_alloc_dfl& __a, const _Tp*) { +- return (__allocator<_Tp, __malloc_alloc_dfl >&)__a; +-} +- +-template +-inline __allocator<_Tp, __single_client_node_alloc >& __STL_CALL +-__stl_alloc_rebind(__single_client_node_alloc& __a, const _Tp*) { +- return (__allocator<_Tp, __single_client_node_alloc >&)__a; +-} +- +-template +-inline __allocator<_Tp, __multithreaded_node_alloc >& __STL_CALL +-__stl_alloc_rebind(__multithreaded_node_alloc& __a, const _Tp*) { +- return (__allocator<_Tp, __multithreaded_node_alloc >&)__a; +-} +- +-template +-inline __allocator<_Tp, __malloc_alloc_dfl > __STL_CALL +-__stl_alloc_create(const __malloc_alloc_dfl&, const _Tp*) { +- return __allocator<_Tp, __malloc_alloc_dfl > (); +-} +- +-template +-inline __allocator<_Tp, __single_client_node_alloc > __STL_CALL +-__stl_alloc_create(const __single_client_node_alloc&, const _Tp*) { +- return __allocator<_Tp, __single_client_node_alloc >(); +-} +- +-template +-inline __allocator<_Tp, __multithreaded_node_alloc > __STL_CALL +-__stl_alloc_create(const __multithreaded_node_alloc&, const _Tp*) { +- return __allocator<_Tp, __multithreaded_node_alloc >(); +-} +- +-# else +- +-template +-inline __allocator<_Tp, __malloc_alloc<__inst> >& __STL_CALL +-__stl_alloc_rebind(__malloc_alloc<__inst>& __a, const _Tp*) { +- return (__allocator<_Tp, __malloc_alloc<__inst> >&)__a; +-} +- +-template +-inline __allocator<_Tp, __node_alloc<__threads, __inst> >& __STL_CALL +-__stl_alloc_rebind(__node_alloc<__threads, __inst>& __a, const _Tp*) { +- return (__allocator<_Tp, __node_alloc<__threads, __inst> >&)__a; +-} +- +-template +-inline __allocator<_Tp, __malloc_alloc<__inst> > __STL_CALL +-__stl_alloc_create(const __malloc_alloc<__inst>&, const _Tp*) { +- return __allocator<_Tp, __malloc_alloc<__inst> >(); +-} +- +-template +-inline __allocator<_Tp, __node_alloc<__threads, __inst> > __STL_CALL +-__stl_alloc_create(const __node_alloc<__threads, __inst>&, const _Tp*) { +- return __allocator<_Tp, __node_alloc<__threads, __inst> >(); +-} +- +-# endif +-# endif /* defined (__STL_USE_RAW_SGI_ALLOCATORS) */ +- + // If custom allocators are being used without member template classes support : + // user (on purpose) is forced to define rebind/get operations !!! +- + template +-inline allocator<_Tp2>& __STL_CALL +-__stl_alloc_rebind(allocator<_Tp1>& __a, const _Tp2*) { +- return (allocator<_Tp2>&)(__a); +-} +- ++inline allocator<_Tp2>& _STLP_CALL ++__stl_alloc_rebind(allocator<_Tp1>& __a, const _Tp2*) { return (allocator<_Tp2>&)(__a); } + template +-inline allocator<_Tp2> __STL_CALL +-__stl_alloc_create(const allocator<_Tp1>&, const _Tp2*) { +- return allocator<_Tp2>(); +-} +- +-# ifndef __STL_NO_EXTENSIONS +- +-template +-inline __allocator<_Tp2, _Alloc>& __STL_CALL +-__stl_alloc_rebind(__allocator<_Tp1, _Alloc>& __a, const _Tp2*) { +- return (__allocator<_Tp2, _Alloc>&)__a; +-} +- +-template +-inline __allocator<_Tp2, _Alloc> __STL_CALL +-__stl_alloc_create(const __allocator<_Tp1, _Alloc>&, const _Tp2*) { +- return __allocator<_Tp2, _Alloc>(); +-} +-# endif /* __STL_NO_EXTENSIONS */ +- +-#endif /* __STL_MEMBER_TEMPLATE_CLASSES */ ++inline allocator<_Tp2> _STLP_CALL ++__stl_alloc_create(const allocator<_Tp1>&, const _Tp2*) { return allocator<_Tp2>(); } ++#endif /* _STLP_MEMBER_TEMPLATE_CLASSES */ ++ ++# ifdef _STLP_USE_RAW_SGI_ALLOCATORS ++// move obsolete stuff out of the way ++# include ++# endif + + // inheritance is being used for EBO optimization +- + template +-class __STL_CLASS_DECLSPEC _STL_alloc_proxy : public _MaybeReboundAlloc { ++class _STLP_alloc_proxy : public _MaybeReboundAlloc { + private: + typedef _MaybeReboundAlloc _Base; +- typedef _STL_alloc_proxy<_Value, _Tp, _MaybeReboundAlloc> _Self; ++ typedef _STLP_alloc_proxy<_Value, _Tp, _MaybeReboundAlloc> _Self; + public: + _Value _M_data; ++ inline _STLP_alloc_proxy(const _MaybeReboundAlloc& __a, _Value __p) : _MaybeReboundAlloc(__a), _M_data(__p) {} ++ ++# if 0 ++ inline _STLP_alloc_proxy(const _Self& __x) : _MaybeReboundAlloc(__x), _M_data(__x._M_data) {} + // construction/destruction +- inline _STL_alloc_proxy(const _Self& __x) : _MaybeReboundAlloc(__x), _M_data(__x._M_data) {} +- inline _STL_alloc_proxy(const _MaybeReboundAlloc& __a, _Value __p) : _MaybeReboundAlloc(__a), +- _M_data(__p) {} +- inline _Self& operator = (const _Self& __x) { _M_data = __x._M_data; return *this; } +- // _Self& operator = (const _Value& __x) { _M_data = __x; return *this; } ++ inline _Self& operator = (const _Self& __x) { ++ *(_MaybeReboundAlloc*)this = *(_MaybeReboundAlloc*)__x; ++ _M_data = __x._M_data; return *this; ++ } + inline _Self& operator = (const _Base& __x) { ((_Base&)*this) = __x; return *this; } +- // operator _Value() const { return _M_data; } +- ++# endif + // Unified interface to perform allocate()/deallocate() with limited + // language support +-#if defined (__STL_MEMBER_TEMPLATE_CLASSES) +-# if 1 // def __BORLANDC__ +- inline _Tp* allocate(size_t __n) { +- return _Base::allocate(__n); +- } +-# else +- __STL_USING_BASE_MEMBER _MaybeReboundAlloc::allocate; +-# endif +-#else ++#if ! defined (_STLP_MEMBER_TEMPLATE_CLASSES) + // else it is rebound already, and allocate() member is accessible + inline _Tp* allocate(size_t __n) { +- return __stl_alloc_rebind(__STATIC_CAST(_Base&,*this),(_Tp*)0).allocate(__n); ++ return __stl_alloc_rebind(__STATIC_CAST(_Base&,*this),(_Tp*)0).allocate(__n,0); + } + inline void deallocate(_Tp* __p, size_t __n) { + __stl_alloc_rebind(__STATIC_CAST(_Base&, *this),(_Tp*)0).deallocate(__p, __n); +@@ -884,21 +508,22 @@ + #endif + }; + +- +-# if defined (__STL_USE_TEMPLATE_EXPORT) +-__STL_EXPORT_TEMPLATE_CLASS _STL_alloc_proxy >; +-# if defined (__STL_HAS_WCHAR_T) +-__STL_EXPORT_TEMPLATE_CLASS _STL_alloc_proxy >; ++# if defined (_STLP_USE_TEMPLATE_EXPORT) ++_STLP_EXPORT_TEMPLATE_CLASS _STLP_alloc_proxy >; ++# if defined (_STLP_HAS_WCHAR_T) ++_STLP_EXPORT_TEMPLATE_CLASS _STLP_alloc_proxy >; + # endif +-# endif /* __STL_USE_TEMPLATE_EXPORT */ ++# endif /* _STLP_USE_TEMPLATE_EXPORT */ ++ ++# undef _STLP_NODE_ALLOCATOR_THREADS + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-# if !defined (__STL_LINK_TIME_INSTANTIATION) ++# if defined (_STLP_EXPOSE_GLOBALS_IMPLEMENTATION) && !defined (_STLP_LINK_TIME_INSTANTIATION) + # include + # endif + +-#endif /* __SGI_STL_INTERNAL_ALLOC_H */ ++#endif /* _STLP_INTERNAL_ALLOC_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_alloc_old.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_alloc_old.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_alloc_old.h Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_alloc_old.h Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,303 @@ ++template ++class __simple_alloc { ++ typedef _Alloc __alloc_type; ++public: ++ typedef typename _Alloc::value_type __alloc_value_type; ++ typedef _Tp value_type; ++ static size_t _STLP_CALL __chunk(size_t __n) { ++ return (sizeof(__alloc_value_type)==sizeof(value_type)) ? __n : ++ ((__n*sizeof(value_type)+sizeof(__alloc_value_type)-1)/sizeof(__alloc_value_type)); ++ } ++ static _Tp* _STLP_CALL allocate(size_t __n) { return 0 == __n ? 0 : (_Tp*) __alloc_type::allocate(__chunk(__n)); } ++ static void _STLP_CALL deallocate(_Tp * __p, size_t __n) { ++ __alloc_type::deallocate((__alloc_value_type*)__p, __chunk(__n)); } ++}; ++ ++// Allocator adaptor to turn an SGI-style allocator (e.g. alloc, malloc_alloc) ++// into a standard-conforming allocator. Note that this adaptor does ++// *not* assume that all objects of the underlying alloc class are ++// identical, nor does it assume that all of the underlying alloc's ++// member functions are static member functions. Note, also, that ++// __allocator<_Tp, alloc> is essentially the same thing as allocator<_Tp>. ++ ++template ++struct __allocator : public _Alloc { ++ typedef _Alloc __underlying_alloc; ++ ++ typedef size_t size_type; ++ typedef ptrdiff_t difference_type; ++ typedef _Tp* pointer; ++ typedef const _Tp* const_pointer; ++ typedef _Tp& reference; ++ typedef const _Tp& const_reference; ++ typedef _Tp value_type; ++ ++# if defined (_STLP_MEMBER_TEMPLATE_CLASSES) ++ template struct rebind { ++ typedef __allocator<_Tp1, _Alloc> other; ++ }; ++# endif ++ __allocator() _STLP_NOTHROW {} ++ __allocator(const _Alloc& ) _STLP_NOTHROW {} ++ __allocator(const __allocator<_Tp, _Alloc>& __a) _STLP_NOTHROW ++ : _Alloc(__a) {} ++# if defined (_STLP_MEMBER_TEMPLATES) && defined (_STLP_FUNCTION_TMPL_PARTIAL_ORDER) ++ template ++ __allocator(const __allocator<_Tp1, _Alloc>& __a) _STLP_NOTHROW ++ : _Alloc(__a) {} ++# endif ++# ifdef _STLP_TRIVIAL_DESTRUCTOR_BUG ++ ~__allocator() _STLP_NOTHROW {} ++# endif ++ pointer address(reference __x) const { return &__x; } ++ ++# if !defined (__WATCOM_CPLUSPLUS__) ++ const_pointer address(const_reference __x) const { return &__x; } ++# endif ++ ++ // __n is permitted to be 0. ++ _Tp* allocate(size_type __n, const void* = 0) { ++ return __n != 0 ++ ? __STATIC_CAST(_Tp*,__underlying_alloc::allocate(__n * sizeof(_Tp))) ++ : 0; ++ } ++ ++ // __p is not permitted to be a null pointer. ++ void deallocate(pointer __p, size_type __n) ++ { if (__p) __underlying_alloc::deallocate(__p, __n * sizeof(_Tp)); } ++ ++ size_type max_size() const _STLP_NOTHROW ++ { return size_t(-1) / sizeof(_Tp); } ++ ++ void construct(pointer __p, const _Tp& __val) { _STLP_STD::_Construct(__p, __val); } ++ void destroy(pointer __p) { _STLP_STD::_Destroy(__p); } ++ ++ const __underlying_alloc& __get_underlying_alloc() const { return *this; } ++}; ++ ++#ifdef _STLP_CLASS_PARTIAL_SPECIALIZATION ++template ++class __allocator { ++ typedef size_t size_type; ++ typedef ptrdiff_t difference_type; ++ typedef void* pointer; ++ typedef const void* const_pointer; ++ typedef void value_type; ++#ifdef _STLP_MEMBER_TEMPLATE_CLASSES ++ template struct rebind { ++ typedef __allocator<_Tp1, _Alloc> other; ++ }; ++#endif ++}; ++#endif ++ ++template ++inline bool _STLP_CALL operator==(const __allocator<_Tp, _Alloc>& __a1, ++ const __allocator<_Tp, _Alloc>& __a2) ++{ ++ return __a1.__get_underlying_alloc() == __a2.__get_underlying_alloc(); ++} ++ ++#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE ++template ++inline bool _STLP_CALL operator!=(const __allocator<_Tp, _Alloc>& __a1, ++ const __allocator<_Tp, _Alloc>& __a2) ++{ ++ return __a1.__get_underlying_alloc() != __a2.__get_underlying_alloc(); ++} ++#endif /* _STLP_FUNCTION_TMPL_PARTIAL_ORDER */ ++ ++ ++// Comparison operators for all of the predifined SGI-style allocators. ++// This ensures that __allocator (for example) will ++// work correctly. ++ ++#ifndef _STLP_NON_TYPE_TMPL_PARAM_BUG ++template ++inline bool _STLP_CALL operator==(const __malloc_alloc&, ++ const __malloc_alloc&) ++{ ++ return true; ++} ++ ++#ifdef _STLP_FUNCTION_TMPL_PARTIAL_ORDER ++template ++inline bool _STLP_CALL operator!=(const __malloc_alloc<__inst>&, ++ const __malloc_alloc<__inst>&) ++{ ++ return false; ++} ++#endif /* _STLP_FUNCTION_TMPL_PARTIAL_ORDER */ ++ ++inline bool _STLP_CALL operator==(const __new_alloc&, const __new_alloc&) { return true; } ++ ++# ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE ++inline bool _STLP_CALL operator!=(const __new_alloc&, const __new_alloc&) { return false; } ++# endif ++ ++ ++template ++inline bool _STLP_CALL operator==(const __node_alloc<__threads, __inst>&, ++ const __node_alloc<__threads, __inst>&) ++{ ++ return true; ++} ++ ++#if defined( _STLP_FUNCTION_TMPL_PARTIAL_ORDER ) ++ ++template ++inline bool _STLP_CALL operator!=(const __node_alloc<__threads, __inst>&, ++ const __node_alloc<__threads, __inst>&) ++{ ++ return false; ++} ++#endif /* _STLP_FUNCTION_TMPL_PARTIAL_ORDER */ ++ ++#endif /* _STLP_NON_TYPE_TMPL_PARAM_BUG */ ++ ++template ++inline bool _STLP_CALL operator==(const __debug_alloc<_Alloc>&, const __debug_alloc<_Alloc>&) { return true; } ++# ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE ++template ++inline bool _STLP_CALL operator!=(const __debug_alloc<_Alloc>&, const __debug_alloc<_Alloc>&) { return false; } ++# endif ++ ++#if defined (_STLP_CLASS_PARTIAL_SPECIALIZATION) ++ ++// Versions for the predefined SGI-style allocators. ++template ++struct _Alloc_traits<_Tp, __malloc_alloc<__inst> > { ++ typedef __allocator<_Tp, __malloc_alloc<__inst> > allocator_type; ++}; ++ ++ ++template ++struct _Alloc_traits<_Tp, __node_alloc<__threads, __inst> > { ++ typedef __allocator<_Tp, __node_alloc<__threads, __inst> > ++ allocator_type; ++}; ++ ++template ++struct _Alloc_traits<_Tp, __debug_alloc<_Alloc> > { ++ typedef __allocator<_Tp, __debug_alloc<_Alloc> > allocator_type; ++}; ++ ++// Versions for the __allocator adaptor used with the predefined ++// SGI-style allocators. ++ ++template ++struct _Alloc_traits<_Tp, __allocator<_Tp1, _Alloc > > { ++ typedef __allocator<_Tp, _Alloc > allocator_type; ++}; ++ ++#endif ++ ++#if !defined (_STLP_MEMBER_TEMPLATE_CLASSES) ++ ++// Versions for the predefined SGI-style allocators. ++ ++ ++# if defined (_STLP_NON_TYPE_TMPL_PARAM_BUG) ++ ++typedef __malloc_alloc<0> __malloc_alloc_dfl; ++typedef __node_alloc __single_client_node_alloc; ++typedef __node_alloc __multithreaded_node_alloc; ++ ++template ++inline __allocator<_Tp, __malloc_alloc_dfl >& _STLP_CALL ++__stl_alloc_rebind(__malloc_alloc_dfl& __a, const _Tp*) { ++ return (__allocator<_Tp, __malloc_alloc_dfl >&)__a; ++} ++ ++template ++inline __allocator<_Tp, __single_client_node_alloc >& _STLP_CALL ++__stl_alloc_rebind(__single_client_node_alloc& __a, const _Tp*) { ++ return (__allocator<_Tp, __single_client_node_alloc >&)__a; ++} ++ ++template ++inline __allocator<_Tp, __multithreaded_node_alloc >& _STLP_CALL ++__stl_alloc_rebind(__multithreaded_node_alloc& __a, const _Tp*) { ++ return (__allocator<_Tp, __multithreaded_node_alloc >&)__a; ++} ++ ++template ++inline __allocator<_Tp, __malloc_alloc_dfl > _STLP_CALL ++__stl_alloc_create(const __malloc_alloc_dfl&, const _Tp*) { ++ return __allocator<_Tp, __malloc_alloc_dfl > (); ++} ++ ++template ++inline __allocator<_Tp, __single_client_node_alloc > _STLP_CALL ++__stl_alloc_create(const __single_client_node_alloc&, const _Tp*) { ++ return __allocator<_Tp, __single_client_node_alloc >(); ++} ++ ++template ++inline __allocator<_Tp, __multithreaded_node_alloc > _STLP_CALL ++__stl_alloc_create(const __multithreaded_node_alloc&, const _Tp*) { ++ return __allocator<_Tp, __multithreaded_node_alloc >(); ++} ++ ++# else ++ ++template ++inline __allocator<_Tp, __malloc_alloc<__inst> >& _STLP_CALL ++__stl_alloc_rebind(__malloc_alloc<__inst>& __a, const _Tp*) { ++ return (__allocator<_Tp, __malloc_alloc<__inst> >&)__a; ++} ++ ++template ++inline __allocator<_Tp, __node_alloc<__threads, __inst> >& _STLP_CALL ++__stl_alloc_rebind(__node_alloc<__threads, __inst>& __a, const _Tp*) { ++ return (__allocator<_Tp, __node_alloc<__threads, __inst> >&)__a; ++} ++ ++template ++inline __allocator<_Tp, __malloc_alloc<__inst> > _STLP_CALL ++__stl_alloc_create(const __malloc_alloc<__inst>&, const _Tp*) { ++ return __allocator<_Tp, __malloc_alloc<__inst> >(); ++} ++ ++template ++inline __allocator<_Tp, __node_alloc<__threads, __inst> > _STLP_CALL ++__stl_alloc_create(const __node_alloc<__threads, __inst>&, const _Tp*) { ++ return __allocator<_Tp, __node_alloc<__threads, __inst> >(); ++} ++ ++# endif ++ ++template ++inline __allocator<_Tp, __debug_alloc<_Alloc> > _STLP_CALL ++__stl_alloc_create(const __debug_alloc<_Alloc>&, const _Tp*) { ++ return __allocator<_Tp, __debug_alloc<_Alloc> >(); ++} ++template ++inline __allocator<_Tp, __debug_alloc<_Alloc> >& _STLP_CALL ++__stl_alloc_rebind(__debug_alloc<_Alloc>& __a, const _Tp*) { ++ return (__allocator<_Tp, __debug_alloc<_Alloc> >&)__a; ++} ++ ++template ++inline __allocator<_Tp, __new_alloc > _STLP_CALL ++__stl_alloc_create(const __new_alloc&, const _Tp*) { ++ return __allocator<_Tp, __new_alloc >(); ++} ++template ++inline __allocator<_Tp, __new_alloc >& _STLP_CALL ++__stl_alloc_rebind(__new_alloc& __a, const _Tp*) { ++ return (__allocator<_Tp, __new_alloc >&)__a; ++} ++ ++template ++inline __allocator<_Tp2, _Alloc>& _STLP_CALL ++__stl_alloc_rebind(__allocator<_Tp1, _Alloc>& __a, const _Tp2*) { ++ return (__allocator<_Tp2, _Alloc>&)__a; ++} ++ ++template ++inline __allocator<_Tp2, _Alloc> _STLP_CALL ++__stl_alloc_create(const __allocator<_Tp1, _Alloc>&, const _Tp2*) { ++ return __allocator<_Tp2, _Alloc>(); ++} ++#endif +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_auto_ptr.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_auto_ptr.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_auto_ptr.h Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_auto_ptr.h Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,129 @@ ++/* ++ * Copyright (c) 1997-1999 ++ * Silicon Graphics Computer Systems, Inc. ++ * ++ * Copyright (c) 1999 ++ * Boris Fomitchev ++ * ++ * This material is provided "as is", with absolutely no warranty expressed ++ * or implied. Any use is at your own risk. ++ * ++ * Permission to use or copy this software for any purpose is hereby granted ++ * without fee, provided the above notices are retained on all copies. ++ * Permission to modify the code and to distribute modified code is granted, ++ * provided the above notices are retained, and a notice that the code was ++ * modified is included with the above copyright notice. ++ * ++ */ ++ ++#ifndef _STLP_AUTO_PTR_H ++# define _STLP_AUTO_PTR_H ++ ++_STLP_BEGIN_NAMESPACE ++// implementation primitive ++class __ptr_base { ++public: ++ void* _M_p; ++ void __set(const void* p) { _M_p = __CONST_CAST(void*,p); } ++ void __set(void* p) { _M_p = p; } ++}; ++ ++template class auto_ptr_ref { ++public: ++ __ptr_base& _M_r; ++ _Tp* const _M_p; ++ ++ auto_ptr_ref(__ptr_base& __r, _Tp* __p) : _M_r(__r), _M_p(__p) { } ++ ++ _Tp* release() const { _M_r.__set((void*)0); return _M_p; } ++ ++}; ++ ++template struct auto_ptr : public __ptr_base { ++ ++ typedef _Tp element_type; ++ typedef auto_ptr<_Tp> _Self; ++ ++ _Tp* release() { ++ _Tp* __px = this->get(); ++ this->_M_p = 0; ++ return __px; ++ } ++ ++ void reset(_Tp* __px=0) { ++ _Tp* __pt = this->get(); ++ if (__px != __pt) ++ delete __pt; ++ this->__set(__px); ++ } ++ ++ _Tp* get() const { return __REINTERPRET_CAST(_Tp*,__CONST_CAST(void*,_M_p)); } ++ ++# if !defined (_STLP_NO_ARROW_OPERATOR) ++ _Tp* operator->() const { ++ _STLP_VERBOSE_ASSERT(get()!=0, _StlMsg_AUTO_PTR_NULL) ++ return get(); ++ } ++# endif ++ _Tp& operator*() const { ++ _STLP_VERBOSE_ASSERT(get()!=0, _StlMsg_AUTO_PTR_NULL) ++ return *get(); ++ } ++ ++ auto_ptr() { this->_M_p = 0; } ++ ++ explicit auto_ptr(_Tp* __px) { this->__set(__px); } ++ ++#if defined (_STLP_MEMBER_TEMPLATES) ++# if !defined (_STLP_NO_TEMPLATE_CONVERSIONS) ++ template auto_ptr(auto_ptr<_Tp1>& __r) { ++ _Tp* __conversionCheck = __r.release(); ++ this->__set(__conversionCheck); ++ } ++# endif ++ template auto_ptr<_Tp>& operator=(auto_ptr<_Tp1>& __r) { ++ _Tp* __conversionCheck = __r.release(); ++ reset(__conversionCheck); ++ return *this; ++ } ++#endif /* _STLP_MEMBER_TEMPLATES */ ++ ++ auto_ptr(_Self& __r) { this->__set(__r.release()); } ++ ++ _Self& operator=(_Self& __r) { ++ reset(__r.release()); ++ return *this; ++ } ++ ++ ~auto_ptr() { /* boris : reset(0) might be better */ delete this->get(); } ++ ++ auto_ptr(auto_ptr_ref<_Tp> __r) { ++ this->__set(__r.release()); ++ } ++ ++ _Self& operator=(auto_ptr_ref<_Tp> __r) { ++ reset(__r.release()); ++ return *this; ++ } ++ ++# if defined(_STLP_MEMBER_TEMPLATES) && !defined(_STLP_NO_TEMPLATE_CONVERSIONS) ++ template operator auto_ptr_ref<_Tp1>() { ++ return auto_ptr_ref<_Tp1>(*this, this->get()); ++ } ++ template operator auto_ptr<_Tp1>() { ++ return auto_ptr<_Tp1>(release()); ++ } ++# else ++ operator auto_ptr_ref<_Tp>() ++ { return auto_ptr_ref<_Tp>(*this, this->get()); } ++# endif ++ ++}; ++_STLP_END_NAMESPACE ++ ++#endif /* _STLP_AUTO_PTR_H */ ++ ++// Local Variables: ++// mode:C++ ++// End: ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_bitset.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_bitset.c +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_bitset.c Sat Feb 24 10:44:43 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_bitset.c Sun Aug 11 18:59:24 2002 +@@ -16,17 +16,16 @@ + * + */ + +-#ifndef __STL_BITSET_C +-# define __STL_BITSET_C ++#ifndef _STLP_BITSET_C ++# define _STLP_BITSET_C + +-# define __BITS_PER_WORD (CHAR_BIT*sizeof(unsigned long)) +-# define __BITSET_WORDS(__n) ((__n) < 1 ? 1 : ((__n) + __BITS_PER_WORD - 1)/__BITS_PER_WORD) +- +-# if ! defined (__STL_DEFAULT_TYPE_PARAM) +-# define bitset __bitset ++# ifndef _STLP_BITSET_H ++# include + # endif + +-__STL_BEGIN_NAMESPACE ++# define __BITS_PER_WORD (CHAR_BIT*sizeof(unsigned long)) ++ ++_STLP_BEGIN_NAMESPACE + + // + // Definitions of non-inline functions from _Base_bitset. +@@ -87,7 +86,7 @@ + { + for (size_t __i = 1; __i < _Nw; ++__i) + if (_M_w[__i]) +- __STL_THROW(overflow_error("bitset")); ++ __stl_throw_overflow_error("bitset"); + return _M_w[0]; + } // End _M_do_to_ulong + +@@ -103,7 +102,7 @@ + = __STATIC_CAST(unsigned char,(__thisword & (~(unsigned char)0))); + if ( __this_byte ) + return __i*__BITS_PER_WORD + __j*CHAR_BIT + +- _First_one::_S_first_one[__this_byte]; ++ _Bs_G::_S_first_one[__this_byte]; + + __thisword >>= CHAR_BIT; + } +@@ -141,7 +140,7 @@ + = __STATIC_CAST(unsigned char,(__thisword & (~(unsigned char)0))); + if ( __this_byte ) + return __i*__BITS_PER_WORD + __j*CHAR_BIT + +- _First_one::_S_first_one[__this_byte]; ++ _Bs_G::_S_first_one[__this_byte]; + + __thisword >>= CHAR_BIT; + } +@@ -150,7 +149,7 @@ + // check subsequent words + __i++; + for ( ; __i < _Nw; __i++ ) { +- _WordT __thisword = _M_w[__i]; ++ /* _WordT */ __thisword = _M_w[__i]; + if ( __thisword != __STATIC_CAST(_WordT,0) ) { + // find byte within word + for ( size_t __j = 0; __j < sizeof(_WordT); __j++ ) { +@@ -158,7 +157,7 @@ + = __STATIC_CAST(unsigned char,(__thisword & (~(unsigned char)0))); + if ( __this_byte ) + return __i*__BITS_PER_WORD + __j*CHAR_BIT + +- _First_one::_S_first_one[__this_byte]; ++ _Bs_G::_S_first_one[__this_byte]; + + __thisword >>= CHAR_BIT; + } +@@ -171,12 +170,12 @@ + + + +-# if ! defined (__STL_NON_TYPE_TMPL_PARAM_BUG) ++# if ! defined (_STLP_NON_TYPE_TMPL_PARAM_BUG) + +-#if defined ( __STL_USE_NEW_IOSTREAMS) ++#if defined ( _STLP_USE_NEW_IOSTREAMS) + + template +-basic_istream<_CharT, _Traits>& __STL_CALL ++basic_istream<_CharT, _Traits>& _STLP_CALL + operator>>(basic_istream<_CharT, _Traits>& __is, bitset<_Nb>& __x) + { + basic_string<_CharT, _Traits> __tmp; +@@ -217,7 +216,7 @@ + } + + template +-basic_ostream<_CharT, _Traits>& __STL_CALL ++basic_ostream<_CharT, _Traits>& _STLP_CALL + operator<<(basic_ostream<_CharT, _Traits>& __os, + const bitset<_Nb>& __x) + { +@@ -226,11 +225,12 @@ + return __os << __tmp; + } + +-#elif ! defined ( __STL_USE_NO_IOSTREAMS ) ++#elif ! defined ( _STLP_USE_NO_IOSTREAMS ) + ++// (reg) For Watcom IO, this tells if ostream class is in .exe or in .dll + template +-istream& __STL_CALL +-operator>>(istream& __is, bitset<_Nb>& __x) { ++_ISTREAM_DLL& _STLP_CALL ++operator>>(_ISTREAM_DLL& __is, bitset<_Nb>& __x) { + string __tmp; + __tmp.reserve(_Nb); + +@@ -266,19 +266,21 @@ + return __is; + } + +-# endif /* __STL_USE_NEW_IOSTREAMS */ ++# endif /* _STLP_USE_NEW_IOSTREAMS */ ++ ++# endif /* _STLP_NON_TYPE_TMPL_PARAM_BUG */ + +-# endif /* __STL_NON_TYPE_TMPL_PARAM_BUG */ + ++# if defined (_STLP_EXPOSE_GLOBALS_IMPLEMENTATION) + + // ------------------------------------------------------------ + // Lookup tables for find and count operations. + +-# if ( __STL_STATIC_TEMPLATE_DATA > 0 ) +-template +-unsigned char _Bit_count<__dummy>::_S_bit_count[256] = { ++# if ( _STLP_STATIC_TEMPLATE_DATA > 0 ) ++template ++unsigned char _Bs_G<_Dummy>::_S_bit_count[256] = { + # else +-unsigned char _Bit_count::_S_bit_count[256] __STL_WEAK = { ++unsigned char _Bs_G::_S_bit_count[256] _STLP_WEAK = { + # endif + 0, /* 0 */ 1, /* 1 */ 1, /* 2 */ 2, /* 3 */ 1, /* 4 */ + 2, /* 5 */ 2, /* 6 */ 3, /* 7 */ 1, /* 8 */ 2, /* 9 */ +@@ -332,13 +334,13 @@ + 6, /* 245 */ 6, /* 246 */ 7, /* 247 */ 5, /* 248 */ 6, /* 249 */ + 6, /* 250 */ 7, /* 251 */ 6, /* 252 */ 7, /* 253 */ 7, /* 254 */ + 8 /* 255 */ +-}; // end _Bit_count ++}; // end _Bitset_global + +-# if ( __STL_STATIC_TEMPLATE_DATA > 0 ) +-template +-unsigned char _First_one<__dummy>::_S_first_one[256] = { ++# if ( _STLP_STATIC_TEMPLATE_DATA > 0 ) ++template ++unsigned char _Bs_G<_Dummy>::_S_first_one[256] = { + # else +-unsigned char _First_one::_S_first_one[256] __STL_WEAK = { ++unsigned char _Bs_G::_S_first_one[256] _STLP_WEAK = { + # endif + + 0, /* 0 */ 0, /* 1 */ 1, /* 2 */ 0, /* 3 */ 2, /* 4 */ +@@ -393,12 +395,13 @@ + 0, /* 245 */ 1, /* 246 */ 0, /* 247 */ 3, /* 248 */ 0, /* 249 */ + 1, /* 250 */ 0, /* 251 */ 2, /* 252 */ 0, /* 253 */ 1, /* 254 */ + 0, /* 255 */ +-}; // end _First_one ++}; // end _Bitset_global ++ ++# endif /* defined (_STLP_EXPOSE_GLOBALS_IMPLEMENTATION) */ + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + + # undef __BITS_PER_WORD +-# undef __BITSET_WORDS + # undef bitset + +-#endif /* __STL_BITSET_C */ ++#endif /* _STLP_BITSET_C */ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_bitset.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_bitset.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_bitset.h Sat Feb 24 10:44:43 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_bitset.h Sun Aug 11 18:59:24 2002 +@@ -16,8 +16,8 @@ + * + */ + +-#ifndef __SGI_STL_BITSET_H +-#define __SGI_STL_BITSET_H ++#ifndef _STLP_BITSET_H ++#define _STLP_BITSET_H + + // A bitset of size N has N % (sizeof(unsigned long) * CHAR_BIT) unused + // bits. (They are the high- order bits in the highest word.) It is +@@ -35,50 +35,46 @@ + // returns a reference to a bit, again without doing any range checking. + + +-# ifndef __SGI_STL_INTERNAL_ALGOBASE_H ++# ifndef _STLP_INTERNAL_ALGOBASE_H + # include + # endif + +-# ifndef __SGI_STL_INTERNAL_ALLOC_H ++# ifndef _STLP_INTERNAL_ALLOC_H + # include + # endif + +-# ifndef __SGI_STL_INTERNAL_ITERATOR_H ++# ifndef _STLP_INTERNAL_ITERATOR_H + # include + # endif + +-# ifndef __SGI_STL_INTERNAL_UNINITIALIZED_H ++# ifndef _STLP_INTERNAL_UNINITIALIZED_H + # include + # endif + +-#ifndef __SGI_STDEXCEPT +-# include +-#endif ++# ifndef _STLP_RANGE_ERRORS_H ++# include ++# endif + +-# ifndef __STLPORT_STRING ++# ifndef _STLP_STRING + # include + # endif + +-# ifndef __STLPORT_ISTREAM ++# ifndef _STLP_ISTREAM + # include + # endif + +- + #define __BITS_PER_WORD (CHAR_BIT*sizeof(unsigned long)) +-#define __BITSET_WORDS(__n) ((__n) < 1 ? 1 : ((__n) + __BITS_PER_WORD - 1)/__BITS_PER_WORD) ++#define __BITSET_WORDS(__n) ((__n + __BITS_PER_WORD - 1)/__BITS_PER_WORD) + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + // structure to aid in counting bits +-template +-struct _Bit_count { ++template ++class _Bs_G { ++public: + static unsigned char _S_bit_count[256]; +-}; +- +-// Mapping from 8 bit unsigned integers to the index of the first one +-// bit: +-template +-struct _First_one { ++ // Mapping from 8 bit unsigned integers to the index of the first one ++ // bit: + static unsigned char _S_first_one[256]; + }; + +@@ -99,16 +95,16 @@ + _M_w[0] = __val; + } + +- static size_t __STL_CALL _S_whichword( size_t __pos ) { ++ static size_t _STLP_CALL _S_whichword( size_t __pos ) { + return __pos / __BITS_PER_WORD; + } +- static size_t __STL_CALL _S_whichbyte( size_t __pos ) { ++ static size_t _STLP_CALL _S_whichbyte( size_t __pos ) { + return (__pos % __BITS_PER_WORD) / CHAR_BIT; + } +- static size_t __STL_CALL _S_whichbit( size_t __pos ) { ++ static size_t _STLP_CALL _S_whichbit( size_t __pos ) { + return __pos % __BITS_PER_WORD; + } +- static _WordT __STL_CALL _S_maskbit( size_t __pos ) { ++ static _WordT _STLP_CALL _S_maskbit( size_t __pos ) { + return __STATIC_CAST(_WordT,1) << _S_whichbit(__pos); + } + +@@ -177,7 +173,7 @@ + const unsigned char* __end_ptr = (const unsigned char*)(_M_w+_Nw); + + while ( __byte_ptr < __end_ptr ) { +- __result += _Bit_count::_S_bit_count[*__byte_ptr]; ++ __result += _Bs_G::_S_bit_count[*__byte_ptr]; + __byte_ptr++; + } + return __result; +@@ -192,12 +188,11 @@ + size_t _M_do_find_next(size_t __prev, size_t __not_found) const; + }; + +- + // + // Base class: specialization for a single word. + // + +-__STL_TEMPLATE_NULL ++_STLP_TEMPLATE_NULL + struct _Base_bitset<1UL> { + typedef unsigned long _WordT; + typedef _Base_bitset<1UL> _Self; +@@ -207,16 +202,16 @@ + _Base_bitset( void ) : _M_w(0) {} + _Base_bitset(unsigned long __val) : _M_w(__val) {} + +- static size_t __STL_CALL _S_whichword( size_t __pos ) { ++ static size_t _STLP_CALL _S_whichword( size_t __pos ) { + return __pos / __BITS_PER_WORD ; + } +- static size_t __STL_CALL _S_whichbyte( size_t __pos ) { ++ static size_t _STLP_CALL _S_whichbyte( size_t __pos ) { + return (__pos % __BITS_PER_WORD) / CHAR_BIT; + } +- static size_t __STL_CALL _S_whichbit( size_t __pos ) { ++ static size_t _STLP_CALL _S_whichbit( size_t __pos ) { + return __pos % __BITS_PER_WORD; + } +- static _WordT __STL_CALL _S_maskbit( size_t __pos ) { ++ static _WordT _STLP_CALL _S_maskbit( size_t __pos ) { + return (__STATIC_CAST(_WordT,1)) << _S_whichbit(__pos); + } + +@@ -248,7 +243,7 @@ + const unsigned char* __byte_ptr = (const unsigned char*)&_M_w; + const unsigned char* __end_ptr = ((const unsigned char*)&_M_w)+sizeof(_M_w); + while ( __byte_ptr < __end_ptr ) { +- __result += _Bit_count::_S_bit_count[*__byte_ptr]; ++ __result += _Bs_G::_S_bit_count[*__byte_ptr]; + __byte_ptr++; + } + return __result; +@@ -273,7 +268,7 @@ + inline size_t + _Base_bitset<1UL>::_M_do_find_first(size_t __not_found) const + { +- typedef unsigned long _WordT; ++ // typedef unsigned long _WordT; + _WordT __thisword = _M_w; + + if ( __thisword != __STATIC_CAST(_WordT,0) ) { +@@ -282,7 +277,7 @@ + unsigned char __this_byte + = __STATIC_CAST(unsigned char,(__thisword & (~(unsigned char)0))); + if ( __this_byte ) +- return __j*CHAR_BIT + _First_one::_S_first_one[__this_byte]; ++ return __j*CHAR_BIT + _Bs_G::_S_first_one[__this_byte]; + + __thisword >>= CHAR_BIT; + } +@@ -316,7 +311,7 @@ + unsigned char __this_byte + = __STATIC_CAST(unsigned char,(__thisword & (~(unsigned char)0))); + if ( __this_byte ) +- return __j*CHAR_BIT + _First_one::_S_first_one[__this_byte]; ++ return __j*CHAR_BIT + _Bs_G::_S_first_one[__this_byte]; + + __thisword >>= CHAR_BIT; + } +@@ -331,12 +326,12 @@ + // Helper class to zero out the unused high-order bits in the highest word. + + template struct _Sanitize { +- static void __STL_CALL _M_do_sanitize(unsigned long& __val) ++ static void _STLP_CALL _M_do_sanitize(unsigned long& __val) + { __val &= ~((~__STATIC_CAST(unsigned long,0)) << _Extrabits); } + }; + +-__STL_TEMPLATE_NULL struct _Sanitize<0UL> { +- static void __STL_CALL _M_do_sanitize(unsigned long) {} ++_STLP_TEMPLATE_NULL struct _Sanitize<0UL> { ++ static void _STLP_CALL _M_do_sanitize(unsigned long) {} + }; + + // ------------------------------------------------------------ +@@ -347,8 +342,11 @@ + template + class bitset : public _Base_bitset<__BITSET_WORDS(_Nb) > + { ++public: ++ enum { _Words = __BITSET_WORDS(_Nb) } ; ++ + private: +- typedef _Base_bitset<__BITSET_WORDS(_Nb) > _Base; ++ typedef _Base_bitset< _Words > _Base; + + void _M_do_sanitize() { + _Sanitize<_Nb%__BITS_PER_WORD >::_M_do_sanitize(this->_M_hiword()); +@@ -360,7 +358,7 @@ + + // bit reference: + struct reference { +- typedef _Base_bitset<__BITSET_WORDS(_Nb) > _Bitset_base; ++ typedef _Base_bitset<_Words > _Bitset_base; + typedef bitset<_Nb> _Bitset; + // friend _Bitset; + _WordT *_M_wp; +@@ -412,17 +410,17 @@ + + // 23.3.5.1 constructors: + bitset() {} +- bitset(unsigned long __val) : +- _Base_bitset<__BITSET_WORDS(_Nb) >(__val) { _M_do_sanitize(); } + +-# ifdef __STL_MEMBER_TEMPLATES ++ bitset(unsigned long __val) : _Base_bitset<_Words>(__val) { _M_do_sanitize(); } ++ ++# ifdef _STLP_MEMBER_TEMPLATES + template + explicit bitset(const basic_string<_CharT,_Traits,_Alloc>& __s, + size_t __pos = 0) +- : _Base_bitset<__BITSET_WORDS(_Nb) >() ++ : _Base_bitset<_Words >() + { + if (__pos > __s.size()) +- __STL_THROW(out_of_range("bitset")); ++ __stl_throw_out_of_range("bitset"); + _M_copy_from_string(__s, __pos, + basic_string<_CharT, _Traits, _Alloc>::npos); + } +@@ -430,23 +428,23 @@ + bitset(const basic_string<_CharT, _Traits, _Alloc>& __s, + size_t __pos, + size_t __n) +- : _Base_bitset<__BITSET_WORDS(_Nb) >() ++ : _Base_bitset<_Words >() + { + if (__pos > __s.size()) +- __STL_THROW(out_of_range("bitset")); ++ __stl_throw_out_of_range("bitset"); + _M_copy_from_string(__s, __pos, __n); + } +-#else /* __STL_MEMBER_TEMPLATES */ ++#else /* _STLP_MEMBER_TEMPLATES */ + explicit bitset(const string& __s, + size_t __pos = 0, + size_t __n = (size_t)-1) +- : _Base_bitset<__BITSET_WORDS(_Nb) >() ++ : _Base_bitset<_Words >() + { + if (__pos > __s.size()) +- __STL_THROW(out_of_range("bitset")); ++ __stl_throw_out_of_range("bitset"); + _M_copy_from_string(__s, __pos, __n); + } +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + // 23.3.5.2 bitset operations: + bitset<_Nb>& operator&=(const bitset<_Nb>& __rhs) { +@@ -482,7 +480,7 @@ + // + + bitset<_Nb>& _Unchecked_set(size_t __pos) { +- this->_M_getword(__pos) |= _Base_bitset<__BITSET_WORDS(_Nb) > ::_S_maskbit(__pos); ++ this->_M_getword(__pos) |= _Base_bitset<_Words > ::_S_maskbit(__pos); + return *this; + } + +@@ -519,15 +517,13 @@ + + bitset<_Nb>& set(size_t __pos) { + if (__pos >= _Nb) +- __STL_THROW(out_of_range("bitset")); +- ++ __stl_throw_out_of_range("bitset"); + return _Unchecked_set(__pos); + } + + bitset<_Nb>& set(size_t __pos, int __val) { + if (__pos >= _Nb) +- __STL_THROW(out_of_range("bitset")); +- ++ __stl_throw_out_of_range("bitset"); + return _Unchecked_set(__pos, __val); + } + +@@ -538,7 +534,7 @@ + + bitset<_Nb>& reset(size_t __pos) { + if (__pos >= _Nb) +- __STL_THROW(out_of_range("bitset")); ++ __stl_throw_out_of_range("bitset"); + + return _Unchecked_reset(__pos); + } +@@ -551,7 +547,7 @@ + + bitset<_Nb>& flip(size_t __pos) { + if (__pos >= _Nb) +- __STL_THROW(out_of_range("bitset")); ++ __stl_throw_out_of_range("bitset"); + + return _Unchecked_flip(__pos); + } +@@ -567,8 +563,7 @@ + + unsigned long to_ulong() const { return this->_M_do_to_ulong(); } + +-#if defined (__STL_MEMBER_TEMPLATES) && \ +- defined (__STL_EXPLICIT_FUNCTION_TMPL_ARGS) ++#if defined (_STLP_MEMBER_TEMPLATES) && ! defined (_STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS) + template + basic_string<_CharT, _Traits, _Alloc> to_string() const { + basic_string<_CharT, _Traits, _Alloc> __result; +@@ -581,7 +576,7 @@ + _M_copy_to_string(__result); + return __result; + } +-#endif /* __STL_EXPLICIT_FUNCTION_TMPL_ARGS */ ++#endif /* _STLP_EXPLICIT_FUNCTION_TMPL_ARGS */ + + size_t count() const { return this->_M_do_count(); } + +@@ -595,9 +590,9 @@ + } + + bool test(size_t __pos) const { +- if (__pos > _Nb) +- __STL_THROW(out_of_range("bitset")); +- ++ if (__pos >= _Nb) ++ __stl_throw_out_of_range("bitset"); ++ + return _Unchecked_test(__pos); + } + +@@ -630,7 +625,7 @@ + // + // Definitions of should-be non-inline member functions. + // +-# if defined (__STL_MEMBER_TEMPLATES) ++# if defined (_STLP_MEMBER_TEMPLATES) + template + void _M_copy_from_string(const basic_string<_CharT,_Traits,_Alloc>& __s, + size_t __pos, +@@ -643,18 +638,18 @@ + #endif + reset(); + size_t __tmp = _Nb; +- const size_t __Nbits = min(__tmp, min(__n, __s.size() - __pos)); ++ const size_t __Nbits = (min) (__tmp, (min) (__n, __s.size() - __pos)); + for ( size_t __i= 0; __i < __Nbits; ++__i) { + typename _Traits::int_type __k = _Traits::to_int_type(__s[__pos + __Nbits - __i - 1]); + // boris : widen() ? + if (__k == '1') + set(__i); + else if (__k !='0') +- __STL_THROW(invalid_argument("bitset")); ++ __stl_throw_invalid_argument("bitset"); + } + } + +-# if defined (__STL_MEMBER_TEMPLATES) ++# if defined (_STLP_MEMBER_TEMPLATES) + template + void _M_copy_to_string(basic_string<_CharT, _Traits, _Alloc>& __s) const + # else +@@ -668,34 +663,35 @@ + __s[_Nb - 1 - __i] = '1'; + } + +-# if defined (__STL_NON_TYPE_TMPL_PARAM_BUG) +- bitset<_Nb> operator&(const bitset<_Nb>& __y) { ++# if defined (_STLP_NON_TYPE_TMPL_PARAM_BUG) ++ bitset<_Nb> operator&(const bitset<_Nb>& __y) const { + bitset<_Nb> __result(*this); + __result &= __y; + return __result; + } +- bitset<_Nb> operator|(const bitset<_Nb>& __y) { ++ bitset<_Nb> operator|(const bitset<_Nb>& __y) const { + bitset<_Nb> __result(*this); + __result |= __y; + return __result; + } +- bitset<_Nb> operator^(const bitset<_Nb>& __y) { ++ bitset<_Nb> operator^(const bitset<_Nb>& __y) const { + bitset<_Nb> __result(*this); + __result ^= __y; + return __result; + } + # endif ++ + }; + + // ------------------------------------------------------------ +- + // + // 23.3.5.3 bitset operations: + // + +-# if ! defined (__STL_NON_TYPE_TMPL_PARAM_BUG) ++# if ! defined (_STLP_NON_TYPE_TMPL_PARAM_BUG) ++ + template +-inline bitset<_Nb> __STL_CALL ++inline bitset<_Nb> _STLP_CALL + operator&(const bitset<_Nb>& __x, + const bitset<_Nb>& __y) { + bitset<_Nb> __result(__x); +@@ -705,7 +701,7 @@ + + + template +-inline bitset<_Nb> __STL_CALL ++inline bitset<_Nb> _STLP_CALL + operator|(const bitset<_Nb>& __x, + const bitset<_Nb>& __y) { + bitset<_Nb> __result(__x); +@@ -714,7 +710,7 @@ + } + + template +-inline bitset<_Nb> __STL_CALL ++inline bitset<_Nb> _STLP_CALL + operator^(const bitset<_Nb>& __x, + const bitset<_Nb>& __y) { + bitset<_Nb> __result(__x); +@@ -722,25 +718,26 @@ + return __result; + } + +-#if defined ( __STL_USE_NEW_IOSTREAMS ) ++#if defined ( _STLP_USE_NEW_IOSTREAMS ) ++ + template +-basic_istream<_CharT, _Traits>& __STL_CALL ++basic_istream<_CharT, _Traits>& _STLP_CALL + operator>>(basic_istream<_CharT, _Traits>& __is, bitset<_Nb>& __x); + + + template +-basic_ostream<_CharT, _Traits>& __STL_CALL +-operator<<(basic_ostream<_CharT, _Traits>& __os, +- const bitset<_Nb>& __x); ++basic_ostream<_CharT, _Traits>& _STLP_CALL ++operator<<(basic_ostream<_CharT, _Traits>& __os, const bitset<_Nb>& __x); + +-#elif ! defined ( __STL_USE_NO_IOSTREAMS ) ++#elif ! defined ( _STLP_USE_NO_IOSTREAMS ) + ++// (reg) For Watcom IO, this tells if ostream class is in .exe or in .dll + template +-istream& __STL_CALL +-operator>>(istream& __is, bitset<_Nb>& __x); ++_ISTREAM_DLL& _STLP_CALL ++operator>>(_ISTREAM_DLL& __is, bitset<_Nb>& __x); + + template +-inline ostream& __STL_CALL operator<<(ostream& __os, const bitset<_Nb>& __x) { ++inline _OSTREAM_DLL& _STLP_CALL operator<<(_OSTREAM_DLL& __os, const bitset<_Nb>& __x) { + string __tmp; + __x._M_copy_to_string(__tmp); + return __os << __tmp; +@@ -748,20 +745,21 @@ + + #endif + +-# endif /* __STL_NON_TYPE_TMPL_PARAM_BUG */ ++# endif /* _STLP_NON_TYPE_TMPL_PARAM_BUG */ + + # undef bitset + +-__STL_END_NAMESPACE ++ ++_STLP_END_NAMESPACE + + # undef __BITS_PER_WORD + # undef __BITSET_WORDS + +-# if !defined (__STL_LINK_TIME_INSTANTIATION) ++# if !defined (_STLP_LINK_TIME_INSTANTIATION) + # include + # endif + +-#endif /* __SGI_STL_BITSET_H */ ++#endif /* _STLP_BITSET_H */ + + + // Local Variables: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_bvector.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_bvector.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_bvector.h Sat Feb 24 10:44:44 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_bvector.h Sun Aug 11 18:59:24 2002 +@@ -27,24 +27,16 @@ + * You should not attempt to use it directly. + */ + +-#ifndef __SGI_STL_INTERNAL_BVECTOR_H +-#define __SGI_STL_INTERNAL_BVECTOR_H ++#ifndef _STLP_INTERNAL_BVECTOR_H ++#define _STLP_INTERNAL_BVECTOR_H + +-#define __WORD_BIT (int(CHAR_BIT*sizeof(unsigned int))) +- +-# ifndef __SGI_STL_INTERNAL_ALLOC_H +-# include +-# endif +- +-# ifndef __SGI_STL_INTERNAL_ITERATOR_H +-# include ++#ifndef _STLP_INTERNAL_VECTOR_H ++# include + # endif + +-# ifndef __STL_RANGE_ERRORS_H +-# include +-# endif ++#define __WORD_BIT (int(CHAR_BIT*sizeof(unsigned int))) + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + struct _Bit_reference { + unsigned int* _M_p; +@@ -61,7 +53,7 @@ + else *_M_p &= ~_M_mask; + return *this; + } +- _Bit_reference& operator=(const _Bit_reference& __x) ++ _Bit_reference& operator=(const _Bit_reference& __x) + { return *this = bool(__x); } + bool operator==(const _Bit_reference& __x) const + { return bool(*this) == bool(__x); } +@@ -71,27 +63,9 @@ + void flip() { *_M_p ^= _M_mask; } + }; + +-__STL_END_NAMESPACE +- +-# if defined (__SGI_STL_NO_ARROW_OPERATOR) && ! defined (__STL_NO_PROXY_ARROW_OPERATOR) +- +-__STL_TEMPLATE_NULL struct __arrow_op_dispatch<_Bit_reference, _Bit_reference*> { +- __arrow_op_dispatch(_Bit_reference) {} +- __arrow_op_dummy operator ->() const { return __arrow_op_dummy(); } +-}; +- +-__STL_TEMPLATE_NULL struct __arrow_op_dispatch { +- __arrow_op_dispatch(bool) {} +- __arrow_op_dummy operator ->() const { return __arrow_op_dummy(); } +-}; +- +-# endif +- +-__STL_BEGIN_NAMESPACE +- +-inline void swap(_Bit_reference __x, _Bit_reference __y) ++inline void swap(_Bit_reference __x, _Bit_reference& __y) + { +- bool __tmp = __x; ++ bool __tmp = (bool)__x; + __x = __y; + __y = __tmp; + } +@@ -103,7 +77,7 @@ + typedef ptrdiff_t difference_type; + + unsigned int* _M_p; +- unsigned int _M_offset; ++ unsigned int _M_offset; + + void _M_bump_up() { + if (_M_offset++ == __WORD_BIT - 1) { +@@ -121,6 +95,8 @@ + + _Bit_iterator_base() : _M_p(0), _M_offset(0) {} + _Bit_iterator_base(unsigned int* __x, unsigned int __y) : _M_p(__x), _M_offset(__y) {} ++ // _Bit_iterator_base( const _Bit_iterator_base& __x) : _M_p(__x._M_p), _M_offset(__x._M_offset) {} ++ // _Bit_iterator_base& operator = ( const _Bit_iterator_base& __x) { _M_p = __x._M_p ; _M_offset = __x._M_offset ; return *this; } + + void _M_advance (difference_type __i) { + difference_type __n = __i + _M_offset; +@@ -138,24 +114,24 @@ + } + }; + +-inline bool __STL_CALL operator==(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) { ++inline bool _STLP_CALL operator==(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) { + return __y._M_p == __x._M_p && __y._M_offset == __x._M_offset; + } +-inline bool __STL_CALL operator!=(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) { ++inline bool _STLP_CALL operator!=(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) { + return __y._M_p != __x._M_p || __y._M_offset != __x._M_offset; + } + +-inline bool __STL_CALL operator<(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) { ++inline bool _STLP_CALL operator<(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) { + return __x._M_p < __y._M_p || (__x._M_p == __y._M_p && __x._M_offset < __y._M_offset); + } + +-inline bool __STL_CALL operator>(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) { ++inline bool _STLP_CALL operator>(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) { + return operator <(__y , __x); + } +-inline bool __STL_CALL operator<=(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) { ++inline bool _STLP_CALL operator<=(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) { + return !(__y < __x); + } +-inline bool __STL_CALL operator>=(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) { ++inline bool _STLP_CALL operator>=(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) { + return !(__x < __y); + } + +@@ -164,8 +140,6 @@ + { + typedef _Ref reference; + typedef _Ptr pointer; +- // typedef _Bit_iter<_Bit_reference, _Bit_reference*> iterator; +- // typedef _Bit_iter const_iterator; + typedef _Bit_iter<_Ref, _Ptr> _Self; + typedef random_access_iterator_tag iterator_category; + typedef bool value_type; +@@ -174,8 +148,13 @@ + + _Bit_iter(unsigned int* __x, unsigned int __y) : _Bit_iterator_base(__x, __y) {} + _Bit_iter() {} ++ + _Bit_iter(const _Bit_iter<_Bit_reference, _Bit_reference*>& __x): + _Bit_iterator_base((const _Bit_iterator_base&)__x) {} ++ ++ // _Self& operator = (const _Bit_iter<_Bit_reference, _Bit_reference*>& __x) ++ // { (_Bit_iterator_base&)*this = (const _Bit_iterator_base&)__x; return *this; } ++ + reference operator*() const { + return _Bit_reference(_M_p, 1UL << _M_offset); + } +@@ -220,25 +199,21 @@ + }; + + template +-inline _Bit_iter<_Ref,_Ptr> __STL_CALL ++inline _Bit_iter<_Ref,_Ptr> _STLP_CALL + operator+(ptrdiff_t __n, const _Bit_iter<_Ref, _Ptr>& __x) { + return __x + __n; + } + +-# ifdef __STL_USE_OLD_HP_ITERATOR_QUERIES +-inline random_access_iterator_tag +-__ITERATOR_CATEGORY(const _Bit_iterator_base&) {return random_access_iterator_tag();} +-inline ptrdiff_t* +-__DISTANCE_TYPE(const _Bit_iterator_base&) {return (ptrdiff_t*)0;} +-inline bool* __VALUE_TYPE(const _Bit_iter<_Bit_reference, _Bit_reference*>&) {return (bool*)0;} +-inline bool* __VALUE_TYPE(const _Bit_iter&) {return (bool*)0;} ++# ifdef _STLP_USE_OLD_HP_ITERATOR_QUERIES ++inline random_access_iterator_tag iterator_category(const _Bit_iterator_base&) {return random_access_iterator_tag();} ++inline ptrdiff_t* distance_type(const _Bit_iterator_base&) {return (ptrdiff_t*)0;} ++inline bool* value_type(const _Bit_iter<_Bit_reference, _Bit_reference*>&) {return (bool*)0;} ++inline bool* value_type(const _Bit_iter&) {return (bool*)0;} + # endif + + typedef _Bit_iter _Bit_const_iterator; + typedef _Bit_iter<_Bit_reference, _Bit_reference*> _Bit_iterator; + +- +- + // Bit-vector base class, which encapsulates the difference between + // old SGI-style allocators and standard-conforming allocators. + +@@ -247,15 +222,18 @@ + class _Bvector_base + { + public: ++ _STLP_FORCE_ALLOCATORS(bool, _Alloc) + typedef typename _Alloc_traits::allocator_type allocator_type; + typedef unsigned int __chunk_type; + typedef typename _Alloc_traits<__chunk_type, + _Alloc>::allocator_type __chunk_allocator_type; + allocator_type get_allocator() const { +- return __STL_CONVERT_ALLOCATOR((const __chunk_allocator_type&)_M_end_of_storage, bool); ++ return _STLP_CONVERT_ALLOCATOR((const __chunk_allocator_type&)_M_end_of_storage, bool); + } ++ static allocator_type __get_dfl_allocator() { return allocator_type(); } ++ + _Bvector_base(const allocator_type& __a) +- : _M_start(), _M_finish(), _M_end_of_storage(__STL_CONVERT_ALLOCATOR(__a, __chunk_type), ++ : _M_start(), _M_finish(), _M_end_of_storage(_STLP_CONVERT_ALLOCATOR(__a, __chunk_type), + (__chunk_type*)0) { + } + ~_Bvector_base() { _M_deallocate(); +@@ -273,7 +251,7 @@ + + _Bit_iterator _M_start; + _Bit_iterator _M_finish; +- _STL_alloc_proxy<__chunk_type*, __chunk_type, __chunk_allocator_type> _M_end_of_storage; ++ _STLP_alloc_proxy<__chunk_type*, __chunk_type, __chunk_allocator_type> _M_end_of_storage; + }; + + +@@ -282,30 +260,33 @@ + // compiler support. Otherwise, we define a class bit_vector which uses + // the default allocator. + +-#if defined(__STL_CLASS_PARTIAL_SPECIALIZATION) \ +- && !defined(__STL_PARTIAL_SPECIALIZATION_BUG) && ! defined(__STL_NO_BOOL) +-# define __SGI_STL_VECBOOL_TEMPLATE ++#if defined(_STLP_CLASS_PARTIAL_SPECIALIZATION) && ! defined(_STLP_NO_BOOL) && ! defined (__SUNPRO_CC) ++# define _STLP_VECBOOL_TEMPLATE + # define __BVEC_TMPL_HEADER template + #else +-# undef __SGI_STL_VECBOOL_TEMPLATE +-# ifdef __STL_NO_BOOL ++# undef _STLP_VECBOOL_TEMPLATE ++# ifdef _STLP_NO_BOOL + # define __BVEC_TMPL_HEADER + # else +-# define __BVEC_TMPL_HEADER __STL_TEMPLATE_NULL ++# define __BVEC_TMPL_HEADER _STLP_TEMPLATE_NULL ++# endif ++# if !(defined(__MRC__)||defined(__SC__)) //*TY 12/17/2000 - ++# define _Alloc _STLP_DEFAULT_ALLOCATOR(bool) ++# else ++# define _Alloc allocator + # endif +-# define _Alloc __STL_DEFAULT_ALLOCATOR(bool) + #endif + +-#ifdef __STL_NO_BOOL ++#ifdef _STLP_NO_BOOL + # define __BVECTOR_QUALIFIED bit_vector + # define __BVECTOR bit_vector + #else +-# ifdef __SGI_STL_VECBOOL_TEMPLATE ++# ifdef _STLP_VECBOOL_TEMPLATE + # define __BVECTOR_QUALIFIED __WORKAROUND_DBG_RENAME(vector) + # else + # define __BVECTOR_QUALIFIED __WORKAROUND_DBG_RENAME(vector) > + # endif +-#ifdef __STL_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS ++#if defined (_STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS) + # define __BVECTOR __BVECTOR_QUALIFIED + #else + # define __BVECTOR __WORKAROUND_DBG_RENAME(vector) +@@ -331,93 +312,81 @@ + typedef _Bit_iterator iterator; + typedef _Bit_const_iterator const_iterator; + +-#if defined ( __STL_CLASS_PARTIAL_SPECIALIZATION ) && \ +- ! defined (__STL_PARTIAL_SPECIALIZATION_BUG) +- typedef __STLPORT_STD::reverse_iterator const_reverse_iterator; +- typedef __STLPORT_STD::reverse_iterator reverse_iterator; +-#else /* __STL_CLASS_PARTIAL_SPECIALIZATION */ +-# if defined (__STL_MSVC50_COMPATIBILITY) +- typedef __STLPORT_STD::reverse_iterator const_reverse_iterator; ++ typedef _STLP_STD::reverse_iterator reverse_iterator; ++#else /* _STLP_CLASS_PARTIAL_SPECIALIZATION */ ++# if defined (_STLP_MSVC50_COMPATIBILITY) ++ typedef _STLP_STD::reverse_iterator const_reverse_iterator; +- typedef __STLPORT_STD::reverse_iterator reverse_iterator; + # else +- typedef __STLPORT_STD::reverse_iterator const_reverse_iterator; +- typedef __STLPORT_STD::reverse_iterator ++ typedef _STLP_STD::reverse_iterator + reverse_iterator; + # endif +-#endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */ ++#endif /* _STLP_CLASS_PARTIAL_SPECIALIZATION */ + +-# ifdef __SGI_STL_VECBOOL_TEMPLATE ++# ifdef _STLP_VECBOOL_TEMPLATE + typedef typename _Bvector_base<_Alloc >::allocator_type allocator_type; + typedef typename _Bvector_base<_Alloc >::__chunk_type __chunk_type ; + # else + typedef _Bvector_base<_Alloc >::allocator_type allocator_type; +- typedef _Bvector_base<_Alloc >::__chunk_type __chunk_type ; ++ typedef _Bvector_base<_Alloc >::__chunk_type __chunk_type ; + # endif + +-#if defined( __STL_HAS_NAMESPACES ) +- __STL_USING_BASE_MEMBER _Bvector_base<_Alloc >::get_allocator; +-protected: +- __STL_USING_BASE_MEMBER _Bvector_base<_Alloc >::_M_bit_alloc; +- __STL_USING_BASE_MEMBER _Bvector_base<_Alloc >::_M_deallocate; +- __STL_USING_BASE_MEMBER _Bvector_base<_Alloc >::_M_start; +- __STL_USING_BASE_MEMBER _Bvector_base<_Alloc >::_M_finish; +- __STL_USING_BASE_MEMBER _Bvector_base<_Alloc >::_M_end_of_storage; +-#endif /* __STL_HAS_NAMESPACES */ +- + protected: + + void _M_initialize(size_type __n) { +- unsigned int* __q = _M_bit_alloc(__n); +- _M_end_of_storage._M_data = __q + (__n + __WORD_BIT - 1)/__WORD_BIT; +- _M_start = iterator(__q, 0); +- _M_finish = _M_start + difference_type(__n); ++ unsigned int* __q = this->_M_bit_alloc(__n); ++ this->_M_end_of_storage._M_data = __q + (__n + __WORD_BIT - 1)/__WORD_BIT; ++ this->_M_start = iterator(__q, 0); ++ this->_M_finish = this->_M_start + difference_type(__n); + } + void _M_insert_aux(iterator __position, bool __x) { +- if (_M_finish._M_p != _M_end_of_storage._M_data) { +- copy_backward(__position, _M_finish, _M_finish + 1); ++ if (this->_M_finish._M_p != this->_M_end_of_storage._M_data) { ++ __copy_backward(__position, this->_M_finish, this->_M_finish + 1, random_access_iterator_tag(), (difference_type*)0 ); + *__position = __x; +- ++_M_finish; ++ ++this->_M_finish; + } + else { + size_type __len = size() ? 2 * size() : __WORD_BIT; +- unsigned int* __q = _M_bit_alloc(__len); ++ unsigned int* __q = this->_M_bit_alloc(__len); + iterator __i = copy(begin(), __position, iterator(__q, 0)); + *__i++ = __x; +- _M_finish = copy(__position, end(), __i); +- _M_deallocate(); +- _M_end_of_storage._M_data = __q + (__len + __WORD_BIT - 1)/__WORD_BIT; +- _M_start = iterator(__q, 0); ++ this->_M_finish = copy(__position, end(), __i); ++ this->_M_deallocate(); ++ this->_M_end_of_storage._M_data = __q + (__len + __WORD_BIT - 1)/__WORD_BIT; ++ this->_M_start = iterator(__q, 0); + } + } + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + template + void _M_initialize_range(_InputIterator __first, _InputIterator __last, +- input_iterator_tag) { +- _M_start = iterator(); +- _M_finish = iterator(); +- _M_end_of_storage._M_data = 0; ++ const input_iterator_tag &) { ++ this->_M_start = iterator(); ++ this->_M_finish = iterator(); ++ this->_M_end_of_storage._M_data = 0; + for ( ; __first != __last; ++__first) + push_back(*__first); + } + + template + void _M_initialize_range(_ForwardIterator __first, _ForwardIterator __last, +- forward_iterator_tag) { +- size_type __n = 0; +- distance(__first, __last, __n); ++ const forward_iterator_tag &) { ++ size_type __n = distance(__first, __last); + _M_initialize(__n); + // copy(__first, __last, _M_start); +- copy(__first, __last, _M_start); // dwa 12/22/99 -- resolving ambiguous reference. ++ copy(__first, __last, this->_M_start); // dwa 12/22/99 -- resolving ambiguous reference. + } + + template + void _M_insert_range(iterator __pos, + _InputIterator __first, _InputIterator __last, +- input_iterator_tag) { ++ const input_iterator_tag &) { + for ( ; __first != __last; ++__first) { + __pos = insert(__pos, *__first); + ++__pos; +@@ -427,35 +396,34 @@ + template + void _M_insert_range(iterator __position, + _ForwardIterator __first, _ForwardIterator __last, +- forward_iterator_tag) { ++ const forward_iterator_tag &) { + if (__first != __last) { +- size_type __n = 0; +- distance(__first, __last, __n); ++ size_type __n = distance(__first, __last); + if (capacity() - size() >= __n) { +- copy_backward(__position, end(), _M_finish + difference_type(__n)); ++ __copy_backward(__position, end(), this->_M_finish + difference_type(__n), random_access_iterator_tag(), (difference_type*)0 ); + copy(__first, __last, __position); +- _M_finish += difference_type(__n); ++ this->_M_finish += difference_type(__n); + } + else { +- size_type __len = size() + max(size(), __n); +- unsigned int* __q = _M_bit_alloc(__len); ++ size_type __len = size() + (max)(size(), __n); ++ unsigned int* __q = this->_M_bit_alloc(__len); + iterator __i = copy(begin(), __position, iterator(__q, 0)); + __i = copy(__first, __last, __i); +- _M_finish = copy(__position, end(), __i); +- _M_deallocate(); +- _M_end_of_storage._M_data = __q + (__len + __WORD_BIT - 1)/__WORD_BIT; +- _M_start = iterator(__q, 0); ++ this->_M_finish = copy(__position, end(), __i); ++ this->_M_deallocate(); ++ this->_M_end_of_storage._M_data = __q + (__len + __WORD_BIT - 1)/__WORD_BIT; ++ this->_M_start = iterator(__q, 0); + } + } + } + +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + public: +- iterator begin() { return _M_start; } +- const_iterator begin() const { return _M_start; } +- iterator end() { return _M_finish; } +- const_iterator end() const { return _M_finish; } ++ iterator begin() { return this->_M_start; } ++ const_iterator begin() const { return this->_M_start; } ++ iterator end() { return this->_M_finish; } ++ const_iterator end() const { return this->_M_finish; } + + reverse_iterator rbegin() { return reverse_iterator(end()); } + const_reverse_iterator rbegin() const { +@@ -469,7 +437,7 @@ + size_type size() const { return size_type(end() - begin()); } + size_type max_size() const { return size_type(-1); } + size_type capacity() const { +- return size_type(const_iterator(_M_end_of_storage._M_data, 0) - begin()); ++ return size_type(const_iterator(this->_M_end_of_storage._M_data, 0) - begin()); + } + bool empty() const { return begin() == end(); } + reference operator[](size_type __n) +@@ -487,44 +455,43 @@ + const_reference at(size_type __n) const + { _M_range_check(__n); return (*this)[__n]; } + +- explicit __BVECTOR(const allocator_type& __a = +- allocator_type()) ++ explicit __BVECTOR(const allocator_type& __a = allocator_type()) + : _Bvector_base<_Alloc >(__a) {} + +- __BVECTOR(size_type __n, bool __value, ++ __BVECTOR(size_type __n, bool __val, + const allocator_type& __a = + allocator_type()) + : _Bvector_base<_Alloc >(__a) + { + _M_initialize(__n); +- fill(_M_start._M_p, (__chunk_type*)_M_end_of_storage._M_data, __value ? ~0 : 0); ++ fill(this->_M_start._M_p, (__chunk_type*)(this->_M_end_of_storage._M_data), __val ? ~0 : 0); + } + + explicit __BVECTOR(size_type __n) + : _Bvector_base<_Alloc >(allocator_type()) + { + _M_initialize(__n); +- fill(_M_start._M_p, (__chunk_type*)_M_end_of_storage._M_data, 0); ++ fill(this->_M_start._M_p, (__chunk_type*)(this->_M_end_of_storage._M_data), 0); + } + + __BVECTOR(const _Self& __x) : _Bvector_base<_Alloc >(__x.get_allocator()) { + _M_initialize(__x.size()); +- copy(__x.begin(), __x.end(), _M_start); ++ copy(__x.begin(), __x.end(), this->_M_start); + } + +-#if defined (__STL_MEMBER_TEMPLATES) && !(defined (__GNUC__) && __GNUC_MINOR__ < 90) ++#if defined (_STLP_MEMBER_TEMPLATES) + template +- void _M_initialize_dispatch(_Integer __n, _Integer __x, __true_type) { ++ void _M_initialize_dispatch(_Integer __n, _Integer __x, const __true_type&) { + _M_initialize(__n); +- fill(_M_start._M_p, _M_end_of_storage._M_data, __x ? ~0 : 0); ++ fill(this->_M_start._M_p, this->_M_end_of_storage._M_data, __x ? ~0 : 0); + } + + template + void _M_initialize_dispatch(_InputIterator __first, _InputIterator __last, +- __false_type) { +- _M_initialize_range(__first, __last, __ITERATOR_CATEGORY(__first)); ++ const __false_type&) { ++ _M_initialize_range(__first, __last, _STLP_ITERATOR_CATEGORY(__first, _InputIterator)); + } +- ++# ifdef _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS + // Check whether it's an integral type. If so, it's not an iterator. + template + __BVECTOR(_InputIterator __first, _InputIterator __last) +@@ -533,46 +500,44 @@ + typedef typename _Is_integer<_InputIterator>::_Integral _Integral; + _M_initialize_dispatch(__first, __last, _Integral()); + } ++# endif + template + __BVECTOR(_InputIterator __first, _InputIterator __last, +- const allocator_type& __a) ++ const allocator_type& __a _STLP_ALLOCATOR_TYPE_DFL) + : _Base(__a) + { + typedef typename _Is_integer<_InputIterator>::_Integral _Integral; + _M_initialize_dispatch(__first, __last, _Integral()); + } +- +-#else /* __STL_MEMBER_TEMPLATES */ ++#else /* _STLP_MEMBER_TEMPLATES */ + __BVECTOR(const_iterator __first, const_iterator __last, + const allocator_type& __a = allocator_type()) + : _Bvector_base<_Alloc >(__a) + { +- size_type __n = 0; +- distance(__first, __last, __n); ++ size_type __n = distance(__first, __last); + _M_initialize(__n); +- copy(__first, __last, _M_start); ++ copy(__first, __last, this->_M_start); + } + __BVECTOR(const bool* __first, const bool* __last, + const allocator_type& __a = allocator_type()) + : _Bvector_base<_Alloc >(__a) + { +- size_type __n = 0; +- distance(__first, __last, __n); ++ size_type __n = distance(__first, __last); + _M_initialize(__n); +- copy(__first, __last, _M_start); ++ copy(__first, __last, this->_M_start); + } +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + ~__BVECTOR() { } + + __BVECTOR_QUALIFIED& operator=(const __BVECTOR_QUALIFIED& __x) { + if (&__x == this) return *this; + if (__x.size() > capacity()) { +- _M_deallocate(); ++ this->_M_deallocate(); + _M_initialize(__x.size()); + } + copy(__x.begin(), __x.end(), begin()); +- _M_finish = begin() + difference_type(__x.size()); ++ this->_M_finish = begin() + difference_type(__x.size()); + return *this; + } + +@@ -583,17 +548,17 @@ + + void _M_fill_assign(size_t __n, bool __x) { + if (__n > size()) { +- fill(_M_start._M_p, (__chunk_type*)_M_end_of_storage._M_data, __x ? ~0 : 0); ++ fill(this->_M_start._M_p, (__chunk_type*)(this->_M_end_of_storage._M_data), __x ? ~0 : 0); + insert(end(), __n - size(), __x); + } + else { + erase(begin() + __n, end()); +- fill(_M_start._M_p, (__chunk_type*)_M_end_of_storage._M_data, __x ? ~0 : 0); ++ fill(this->_M_start._M_p, (__chunk_type*)(this->_M_end_of_storage._M_data), __x ? ~0 : 0); + } + } + void assign(size_t __n, bool __x) { _M_fill_assign(__n, __x); } + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + + template + void assign(_InputIterator __first, _InputIterator __last) { +@@ -602,16 +567,16 @@ + } + + template +- void _M_assign_dispatch(_Integer __n, _Integer __val, __true_type) ++ void _M_assign_dispatch(_Integer __n, _Integer __val, const __true_type&) + { _M_fill_assign((size_t) __n, (bool) __val); } + + template +- void _M_assign_dispatch(_InputIter __first, _InputIter __last, __false_type) +- { _M_assign_aux(__first, __last, __ITERATOR_CATEGORY(__first)); } ++ void _M_assign_dispatch(_InputIter __first, _InputIter __last, const __false_type&) ++ { _M_assign_aux(__first, __last, _STLP_ITERATOR_CATEGORY(__first, _InputIter)); } + + template + void _M_assign_aux(_InputIterator __first, _InputIterator __last, +- input_iterator_tag) { ++ const input_iterator_tag &) { + iterator __cur = begin(); + for ( ; __first != __last && __cur != end(); ++__cur, ++__first) + *__cur = *__first; +@@ -623,9 +588,8 @@ + + template + void _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last, +- forward_iterator_tag) { +- size_type __len = 0; +- distance(__first, __last, __len); ++ const forward_iterator_tag &) { ++ size_type __len = distance(__first, __last); + if (__len < size()) + erase(copy(__first, __last, begin()), end()); + else { +@@ -636,16 +600,16 @@ + } + } + +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + void reserve(size_type __n) { + if (capacity() < __n) { +- unsigned int* __q = _M_bit_alloc(__n); ++ unsigned int* __q = this->_M_bit_alloc(__n); + _Bit_iterator __z(__q, 0); +- _M_finish = copy(begin(), end(), __z); +- _M_deallocate(); +- _M_start = iterator(__q, 0); +- _M_end_of_storage._M_data = __q + (__n + __WORD_BIT - 1)/__WORD_BIT; ++ this->_M_finish = copy(begin(), end(), __z); ++ this->_M_deallocate(); ++ this->_M_start = iterator(__q, 0); ++ this->_M_end_of_storage._M_data = __q + (__n + __WORD_BIT - 1)/__WORD_BIT; + } + } + +@@ -654,40 +618,42 @@ + reference back() { return *(end() - 1); } + const_reference back() const { return *(end() - 1); } + void push_back(bool __x) { +- if (_M_finish._M_p != _M_end_of_storage._M_data) { +- *_M_finish++ = __x; ++ if (this->_M_finish._M_p != this->_M_end_of_storage._M_data) { ++ *(this->_M_finish) = __x; ++ ++this->_M_finish; + } + else + _M_insert_aux(end(), __x); + } + void swap(__BVECTOR_QUALIFIED& __x) { +- __STLPORT_STD::swap(_M_start, __x._M_start); +- __STLPORT_STD::swap(_M_finish, __x._M_finish); +- __STLPORT_STD::swap(_M_end_of_storage._M_data, __x._M_end_of_storage._M_data); ++ _STLP_STD::swap(this->_M_start, __x._M_start); ++ _STLP_STD::swap(this->_M_finish, __x._M_finish); ++ _STLP_STD::swap(this->_M_end_of_storage, __x._M_end_of_storage); + } + iterator insert(iterator __position, bool __x = bool()) { + difference_type __n = __position - begin(); +- if (_M_finish._M_p != _M_end_of_storage._M_data && __position == end()) { +- *_M_finish++ = __x; ++ if (this->_M_finish._M_p != this->_M_end_of_storage._M_data && __position == end()) { ++ *(this->_M_finish) = __x; ++ ++this->_M_finish; + } + else + _M_insert_aux(__position, __x); + return begin() + __n; + } + +-#if defined ( __STL_MEMBER_TEMPLATES ) && !(defined (__GNUC__) && (__GNUC_MINOR__ < 90)) ++#if defined ( _STLP_MEMBER_TEMPLATES ) + + template + void _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __x, +- __true_type) { ++ const __true_type&) { + _M_fill_insert(__pos, (size_type) __n, (bool) __x); + } + + template + void _M_insert_dispatch(iterator __pos, + _InputIterator __first, _InputIterator __last, +- __false_type) { +- _M_insert_range(__pos, __first, __last, __ITERATOR_CATEGORY(__first)); ++ const __false_type&) { ++ _M_insert_range(__pos, __first, __last, _STLP_ITERATOR_CATEGORY(__first, _InputIterator)); + } + + // Check whether it's an integral type. If so, it's not an iterator. +@@ -697,67 +663,67 @@ + typedef typename _Is_integer<_InputIterator>::_Integral _Is_Integral; + _M_insert_dispatch(__position, __first, __last, _Is_Integral()); + } +-#else /* __STL_MEMBER_TEMPLATES */ ++#else /* _STLP_MEMBER_TEMPLATES */ + void insert(iterator __position, + const_iterator __first, const_iterator __last) { + if (__first == __last) return; +- size_type __n = 0; +- distance(__first, __last, __n); ++ size_type __n = distance(__first, __last); + if (capacity() - size() >= __n) { +- copy_backward(__position, end(), _M_finish + __n); ++ __copy_backward(__position, end(), this->_M_finish + __n, ++ random_access_iterator_tag(), (difference_type*)0 ); + copy(__first, __last, __position); +- _M_finish += __n; ++ this->_M_finish += __n; + } + else { +- size_type __len = size() + max(size(), __n); +- unsigned int* __q = _M_bit_alloc(__len); ++ size_type __len = size() + (max)(size(), __n); ++ unsigned int* __q = this->_M_bit_alloc(__len); + iterator __i = copy(begin(), __position, iterator(__q, 0)); + __i = copy(__first, __last, __i); +- _M_finish = copy(__position, end(), __i); +- _M_deallocate(); +- _M_end_of_storage._M_data = __q + (__len + __WORD_BIT - 1)/__WORD_BIT; +- _M_start = iterator(__q, 0); ++ this->_M_finish = copy(__position, end(), __i); ++ this->_M_deallocate(); ++ this->_M_end_of_storage._M_data = __q + (__len + __WORD_BIT - 1)/__WORD_BIT; ++ this->_M_start = iterator(__q, 0); + } + } + + void insert(iterator __position, const bool* __first, const bool* __last) { + if (__first == __last) return; +- size_type __n = 0; +- distance(__first, __last, __n); ++ size_type __n = distance(__first, __last); + if (capacity() - size() >= __n) { +- copy_backward(__position, end(), _M_finish + __n); ++ __copy_backward(__position, end(), this->_M_finish + __n, ++ random_access_iterator_tag(), (difference_type*)0 ); + copy(__first, __last, __position); +- _M_finish += __n; ++ this->_M_finish += __n; + } + else { +- size_type __len = size() + max(size(), __n); +- unsigned int* __q = _M_bit_alloc(__len); ++ size_type __len = size() + (max)(size(), __n); ++ unsigned int* __q = this->_M_bit_alloc(__len); + iterator __i = copy(begin(), __position, iterator(__q, 0)); + __i = copy(__first, __last, __i); +- _M_finish = copy(__position, end(), __i); +- _M_deallocate(); +- _M_end_of_storage._M_data = __q + (__len + __WORD_BIT - 1)/__WORD_BIT; +- _M_start = iterator(__q, 0); ++ this->_M_finish = copy(__position, end(), __i); ++ this->_M_deallocate(); ++ this->_M_end_of_storage._M_data = __q + (__len + __WORD_BIT - 1)/__WORD_BIT; ++ this->_M_start = iterator(__q, 0); + } + } +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + void _M_fill_insert(iterator __position, size_type __n, bool __x) { + if (__n == 0) return; + if (capacity() - size() >= __n) { +- copy_backward(__position, end(), _M_finish + difference_type(__n)); ++ __copy_backward(__position, end(), this->_M_finish + difference_type(__n), random_access_iterator_tag(), (difference_type*)0 ); + fill(__position, __position + difference_type(__n), __x); +- _M_finish += difference_type(__n); ++ this->_M_finish += difference_type(__n); + } + else { +- size_type __len = size() + max(size(), __n); +- unsigned int* __q = _M_bit_alloc(__len); ++ size_type __len = size() + (max)(size(), __n); ++ unsigned int* __q = this->_M_bit_alloc(__len); + iterator __i = copy(begin(), __position, iterator(__q, 0)); + fill_n(__i, __n, __x); +- _M_finish = copy(__position, end(), __i + difference_type(__n)); +- _M_deallocate(); +- _M_end_of_storage._M_data = __q + (__len + __WORD_BIT - 1)/__WORD_BIT; +- _M_start = iterator(__q, 0); ++ this->_M_finish = copy(__position, end(), __i + difference_type(__n)); ++ this->_M_deallocate(); ++ this->_M_end_of_storage._M_data = __q + (__len + __WORD_BIT - 1)/__WORD_BIT; ++ this->_M_start = iterator(__q, 0); + } + } + +@@ -766,16 +732,16 @@ + } + + void pop_back() { +- --_M_finish; ++ --this->_M_finish; + } + iterator erase(iterator __position) { + if (__position + 1 != end()) + copy(__position + 1, end(), __position); +- --_M_finish; ++ --this->_M_finish; + return __position; + } + iterator erase(iterator __first, iterator __last) { +- _M_finish = copy(__last, end(), __first); ++ this->_M_finish = copy(__last, end(), __first); + return __first; + } + void resize(size_type __new_size, bool __x = bool()) { +@@ -785,15 +751,14 @@ + insert(end(), __new_size - size(), __x); + } + void flip() { +- for (unsigned int* __p = _M_start._M_p; __p != _M_end_of_storage._M_data; ++__p) ++ for (unsigned int* __p = this->_M_start._M_p; __p != this->_M_end_of_storage._M_data; ++__p) + *__p = ~*__p; + } + + void clear() { erase(begin(), end()); } + }; + +-# if defined ( __STL_NO_BOOL ) \ +-|| defined (__HP_aCC) // fixed soon (03/17/2000) ++# if defined ( _STLP_NO_BOOL ) || defined (__HP_aCC) // fixed soon (03/17/2000) + + __BVEC_TMPL_HEADER + inline void swap(__BVECTOR_QUALIFIED& __x, __BVECTOR_QUALIFIED& __y) { +@@ -801,7 +766,7 @@ + } + + __BVEC_TMPL_HEADER +-inline bool __STL_CALL ++inline bool _STLP_CALL + operator==(const __BVECTOR_QUALIFIED& __x, const __BVECTOR_QUALIFIED& __y) + { + return (__x.size() == __y.size() && +@@ -810,33 +775,33 @@ + + + __BVEC_TMPL_HEADER +-inline bool __STL_CALL ++inline bool _STLP_CALL + operator<(const __BVECTOR_QUALIFIED& __x, const __BVECTOR_QUALIFIED& __y) + { + return lexicographical_compare(__x.begin(), __x.end(), + __y.begin(), __y.end()); + } + +-__STL_RELOPS_OPERATORS( __BVEC_TMPL_HEADER, __BVECTOR_QUALIFIED ) ++_STLP_RELOPS_OPERATORS( __BVEC_TMPL_HEADER, __BVECTOR_QUALIFIED ) + + # endif /* NO_BOOL */ + +-#if !defined (__STL_NO_BOOL) ++#if !defined (_STLP_NO_BOOL) + // This typedef is non-standard. It is provided for backward compatibility. + typedef __WORKAROUND_DBG_RENAME(vector) > bit_vector; + #endif + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + + #undef _Alloc +-#undef __SGI_STL_VECBOOL_TEMPLATE ++#undef _STLP_VECBOOL_TEMPLATE + #undef __BVECTOR + #undef __BVECTOR_QUALIFIED + #undef __BVEC_TMPL_HEADER + + # undef __WORD_BIT + +-#endif /* __SGI_STL_INTERNAL_BVECTOR_H */ ++#endif /* _STLP_INTERNAL_BVECTOR_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_check_config.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_check_config.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_check_config.h Sat Feb 24 10:44:44 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_check_config.h Sun Aug 11 18:59:24 2002 +@@ -1,7 +1,7 @@ + // This file is reserved to site configuration purpose + // and should NEVER be overridden by user + +-# if defined ( __STL_NO_SGI_IOSTREAMS ) ++# if defined ( _STLP_NO_OWN_IOSTREAMS ) + + // User choose not to use SGI iostreams, which means no + // precompiled library will be used and he is free to override +@@ -10,6 +10,28 @@ + # else + + // The following will be defined in stl_config.h : +-// # define __SGI_STL_OWN_IOSTREAMS 1 ++// # define _STLP_OWN_IOSTREAMS 1 + # endif + ++/* ++ * Consistency check : if we use SGI iostreams, we have to use consistent ++ * thread model (single-threaded or multi-threaded) with the compiled library ++ * ++ * Default is multithreaded build. If you want to build and use single-threaded ++ * STLport, please change _STLP_NOTHREADS configuration setting above and rebuild the library ++ * ++ */ ++ ++# if defined (_STLP_OWN_IOSTREAMS) \ ++ && !defined (_STLP_NO_THREADS) && !defined (_REENTRANT) ++ ++# if defined(_MSC_VER) && !defined(__MWERKS__) && !defined (__COMO__) && !defined(_MT) ++# error "Only multi-threaded runtime library may be linked with STLport!" ++# endif ++ ++// boris : you may change that to build non-threadsafe STLport library ++# if defined (__BUILDING_STLPORT) /* || defined (_STLP_DEBUG) */ ++# define _REENTRANT 1 ++# endif ++ ++# endif +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_cmath.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_cmath.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_cmath.h Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_cmath.h Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,208 @@ ++/* ++ * Copyright (c) 1999 ++ * Boris Fomitchev ++ * ++ * This material is provided "as is", with absolutely no warranty expressed ++ * or implied. Any use is at your own risk. ++ * ++ * Permission to use or copy this software for any purpose is hereby granted ++ * without fee, provided the above notices are retained on all copies. ++ * Permission to modify the code and to distribute modified code is granted, ++ * provided the above notices are retained, and a notice that the code was ++ * modified is included with the above copyright notice. ++ * ++ */ ++ ++#ifndef _STLP_CMATH_H_HEADER ++# define _STLP_CMATH_H_HEADER ++ ++ ++ ++_STLP_BEGIN_NAMESPACE ++ ++# ifdef _STLP_SAME_FUNCTION_NAME_RESOLUTION_BUG ++ ++// this proxy is needed for some compilers to resolve problems ++// calling sqrt() from within sqrt(), etc. ++template ++struct _STL_math_proxy { ++ static inline _Tp _do_abs(const _Tp& __x) { return _STLP_VENDOR_CSTD::fabs(__x); } ++ static inline _Tp _do_acos(const _Tp& __x) { return _STLP_VENDOR_CSTD::acos(__x); } ++ static inline _Tp _do_asin(const _Tp& __x) { return _STLP_VENDOR_CSTD::asin(__x); } ++ static inline _Tp _do_atan(const _Tp& __x) { return _STLP_VENDOR_CSTD::atan(__x); } ++ static inline _Tp _do_atan2(const _Tp& __x, const _Tp& __y) { return _STLP_VENDOR_CSTD::atan2(__x, __y); } ++ static inline _Tp _do_cos(const _Tp& __x) { return _STLP_VENDOR_CSTD::cos(__x); } ++ static inline _Tp _do_cosh(const _Tp& __x) { return _STLP_VENDOR_CSTD::cosh(__x); } ++ static inline _Tp _do_floor(const _Tp& __x) { return _STLP_VENDOR_CSTD::floor(__x); } ++ static inline _Tp _do_ceil(const _Tp& __x) { return _STLP_VENDOR_CSTD::ceil(__x); } ++ static inline _Tp _do_fmod(const _Tp& __x, const _Tp& __y) { return _STLP_VENDOR_CSTD::fmod(__x, __y); } ++ static inline _Tp _do_frexp(const _Tp& __x, int* __y) { return _STLP_VENDOR_CSTD::frexp(__x, __y); } ++ static inline _Tp _do_ldexp(const _Tp& __x, int __y) { return _STLP_VENDOR_CSTD::ldexp(__x, __y); } ++ static inline _Tp _do_modf(const _Tp& __x, double* __y) { return _STLP_VENDOR_CSTD::modf(__x, __y); } ++ static inline _Tp _do_log(const _Tp& __x) { return _STLP_VENDOR_CSTD::log(__x); } ++ static inline _Tp _do_log10(const _Tp& __x) { return _STLP_VENDOR_CSTD::log10(__x); } ++ static inline _Tp _do_pow(const _Tp& __x, const _Tp& __y) { return _STLP_VENDOR_CSTD::pow(__x, __y); } ++ static inline _Tp _do_pow(const _Tp& __x, int __y) { return _STLP_VENDOR_CSTD::pow(__x, __y); } ++ static inline _Tp _do_sin(const _Tp& __x) { return _STLP_VENDOR_CSTD::sin(__x); } ++ static inline _Tp _do_sinh(const _Tp& __x) { return _STLP_VENDOR_CSTD::sinh(__x); } ++ ++ static inline _Tp _do_sqrt(const _Tp& __x) { return _STLP_VENDOR_CSTD::sqrt(__x); } ++ static inline _Tp _do_tan(const _Tp& __x) { return _STLP_VENDOR_CSTD::tan(__x); } ++ static inline _Tp _do_tanh(const _Tp& __x) { return _STLP_VENDOR_CSTD::tanh(__x); } ++ static inline _Tp _do_exp(const _Tp& __x) { return _STLP_VENDOR_CSTD::exp(__x); } ++ static inline _Tp _do_hypot(const _Tp& __x, const _Tp& __y) { return _STLP_VENDOR_CSTD::hypot(__x, __y); } ++}; ++ ++# define _STLP_DO_ABS(_Tp) _STL_math_proxy<_Tp>::_do_abs ++# define _STLP_DO_ACOS(_Tp) _STL_math_proxy<_Tp>::_do_acos ++# define _STLP_DO_ASIN(_Tp) _STL_math_proxy<_Tp>::_do_asin ++# define _STLP_DO_ATAN(_Tp) _STL_math_proxy<_Tp>::_do_atan ++# define _STLP_DO_ATAN2(_Tp) _STL_math_proxy<_Tp>::_do_atan2 ++# define _STLP_DO_COS(_Tp) _STL_math_proxy<_Tp>::_do_cos ++# define _STLP_DO_COSH(_Tp) _STL_math_proxy<_Tp>::_do_cosh ++# define _STLP_DO_FLOOR(_Tp) _STL_math_proxy<_Tp>::_do_floor ++# define _STLP_DO_CEIL(_Tp) _STL_math_proxy<_Tp>::_do_ceil ++# define _STLP_DO_FMOD(_Tp) _STL_math_proxy<_Tp>::_do_fmod ++# define _STLP_DO_FREXP(_Tp) _STL_math_proxy<_Tp>::_do_frexp ++# define _STLP_DO_LDEXP(_Tp) _STL_math_proxy<_Tp>::_do_ldexp ++# define _STLP_DO_MODF(_Tp) _STL_math_proxy<_Tp>::_do_modf ++# define _STLP_DO_LOG(_Tp) _STL_math_proxy<_Tp>::_do_log ++# define _STLP_DO_LOG10(_Tp) _STL_math_proxy<_Tp>::_do_log10 ++# define _STLP_DO_POW(_Tp) _STL_math_proxy<_Tp>::_do_pow ++# define _STLP_DO_SIN(_Tp) _STL_math_proxy<_Tp>::_do_sin ++# define _STLP_DO_SINH(_Tp) _STL_math_proxy<_Tp>::_do_sinh ++# define _STLP_DO_SQRT(_Tp) _STL_math_proxy<_Tp>::_do_sqrt ++# define _STLP_DO_TAN(_Tp) _STL_math_proxy<_Tp>::_do_tan ++# define _STLP_DO_TANH(_Tp) _STL_math_proxy<_Tp>::_do_tanh ++# define _STLP_DO_EXP(_Tp) _STL_math_proxy<_Tp>::_do_exp ++# define _STLP_DO_HYPOT(_Tp) _STL_math_proxy<_Tp>::_do_hypot ++# else ++ ++# define _STLP_DO_ABS(_Tp) _STLP_VENDOR_CSTD::fabs ++# define _STLP_DO_ACOS(_Tp) _STLP_VENDOR_CSTD::acos ++# define _STLP_DO_ASIN(_Tp) _STLP_VENDOR_CSTD::asin ++# define _STLP_DO_ATAN(_Tp) _STLP_VENDOR_CSTD::atan ++# define _STLP_DO_ATAN2(_Tp) _STLP_VENDOR_CSTD::atan2 ++# define _STLP_DO_COS(_Tp) _STLP_VENDOR_CSTD::cos ++# define _STLP_DO_COSH(_Tp) _STLP_VENDOR_CSTD::cosh ++# define _STLP_DO_FLOOR(_Tp) _STLP_VENDOR_CSTD::floor ++# define _STLP_DO_CEIL(_Tp) _STLP_VENDOR_CSTD::ceil ++# define _STLP_DO_FMOD(_Tp) _STLP_VENDOR_CSTD::fmod ++# define _STLP_DO_FREXP(_Tp) _STLP_VENDOR_CSTD::frexp ++# define _STLP_DO_LDEXP(_Tp) _STLP_VENDOR_CSTD::ldexp ++# define _STLP_DO_MODF(_Tp) _STLP_VENDOR_CSTD::modf ++# define _STLP_DO_LOG(_Tp) _STLP_VENDOR_CSTD::log ++# define _STLP_DO_LOG10(_Tp) _STLP_VENDOR_CSTD::log10 ++# define _STLP_DO_POW(_Tp) _STLP_VENDOR_CSTD::pow ++# define _STLP_DO_SIN(_Tp) _STLP_VENDOR_CSTD::sin ++# define _STLP_DO_SINH(_Tp) _STLP_VENDOR_CSTD::sinh ++# define _STLP_DO_SQRT(_Tp) _STLP_VENDOR_CSTD::sqrt ++# define _STLP_DO_TAN(_Tp) _STLP_VENDOR_CSTD::tan ++# define _STLP_DO_TANH(_Tp) _STLP_VENDOR_CSTD::tanh ++# define _STLP_DO_EXP(_Tp) _STLP_VENDOR_CSTD::exp ++# if defined (__GNUC__) || defined ( __IBMCPP__ ) || defined (__SUNPRO_CC) ++# define _STLP_DO_HYPOT(_Tp) ::hypot ++# else ++# define _STLP_DO_HYPOT(_Tp) _STLP_VENDOR_CSTD::hypot ++# endif ++ ++# endif ++ ++_STLP_END_NAMESPACE ++ ++# if defined (_STLP_HAS_NO_NEW_C_HEADERS) || defined(_STLP_MSVC) || defined (__ICL) ++ ++#if ! defined (_STLP_USE_NEW_C_HEADERS) ++ ++_STLP_BEGIN_NAMESPACE ++ ++# ifndef _STLP_HAS_NATIVE_FLOAT_ABS ++inline double abs(double __x) { return _STLP_DO_ABS(double)(__x); } ++inline float abs (float __x) { return _STLP_DO_ABS(float)(__x); } ++# endif ++ ++inline double pow(double __x, int __y) { return _STLP_DO_POW(double)(__x, __y); } ++inline float acos (float __x) { return _STLP_DO_ACOS(float)(__x); } ++inline float asin (float __x) { return _STLP_DO_ASIN(float)(__x); } ++inline float atan (float __x) { return _STLP_DO_ATAN(float)(__x); } ++inline float atan2(float __x, float __y) { return _STLP_DO_ATAN2(float)(__x, __y); } ++inline float ceil (float __x) { return _STLP_DO_CEIL(float)(__x); } ++inline float cos (float __x) { return _STLP_DO_COS(float)(__x); } ++inline float cosh (float __x) { return _STLP_DO_COSH(float)(__x); } ++inline float exp (float __x) { return _STLP_DO_EXP(float)(__x); } ++# ifdef _STLP_USE_NAMESPACES ++inline float fabs (float __x) { return _STLP_DO_ABS(float)(__x); } ++# endif ++inline float floor(float __x) { return _STLP_DO_FLOOR(float)(__x); } ++inline float fmod (float __x, float __y) { return _STLP_DO_FMOD(float)(__x, __y); } ++inline float frexp(float __x, int* __y) { return _STLP_DO_FREXP(float)(__x, __y); } ++inline float ldexp(float __x, int __y) { return _STLP_DO_LDEXP(float)(__x, __y); } ++// fbp : float versions are not always available ++#if !defined(_STLP_VENDOR_LONG_DOUBLE_MATH) //*ty 11/25/2001 - ++inline float modf (float __x, float* __y) { ++ double __dd[2]; ++ double __res = _STLP_DO_MODF(double)((double)__x, __dd); ++ __y[0] = (float)__dd[0] ; __y[1] = (float)__dd[1]; ++ return (float)__res; ++} ++#else //*ty 11/25/2001 - i.e. for apple SCpp ++inline float modf (float __x, float* __y) { ++ long double __dd[2]; ++ long double __res = _STLP_DO_MODF(long double)((long double)__x, __dd); ++ __y[0] = (float)__dd[0] ; __y[1] = (float)__dd[1]; ++ return (float)__res; ++} ++#endif //*ty 11/25/2001 - ++ ++inline float log (float __x) { return _STLP_DO_LOG(float)(__x); } ++inline float log10(float __x) { return _STLP_DO_LOG10(float)(__x); } ++inline float pow (float __x, float __y) { return _STLP_DO_POW(float)(__x, __y); } ++inline float pow (float __x, int __y) { return _STLP_DO_POW(float)(__x, __y); } ++inline float sin (float __x) { return _STLP_DO_SIN(float)(__x); } ++inline float sinh (float __x) { return _STLP_DO_SINH(float)(__x); } ++inline float sqrt (float __x) { return _STLP_DO_SQRT(float)(__x); } ++inline float tan (float __x) { return _STLP_DO_TAN(float)(__x); } ++inline float tanh (float __x) { return _STLP_DO_TANH(float)(__x); } ++ ++# if ! (defined (_STLP_NO_LONG_DOUBLE) || defined(_STLP_VENDOR_LONG_DOUBLE_MATH)) ++ ++#if !defined (__MVS__) ++inline long double abs (long double __x) { return _STLP_DO_ABS(long double)((double)__x); } ++#endif ++inline long double acos (long double __x) { return _STLP_DO_ACOS(long double)(__x); } ++inline long double asin (long double __x) { return _STLP_DO_ASIN(long double)(__x); } ++inline long double atan (long double __x) { return _STLP_DO_ATAN(long double)(__x); } ++inline long double atan2(long double __x, long double __y) { return _STLP_DO_ATAN2(long double)(__x, __y); } ++inline long double ceil (long double __x) { return _STLP_DO_CEIL(long double)(__x); } ++inline long double cos (long double __x) { return _STLP_DO_COS(long double)(__x); } ++inline long double cosh (long double __x) { return _STLP_DO_COSH(long double)(__x); } ++inline long double exp (long double __x) { return _STLP_DO_EXP(long double)(__x); } ++inline long double fabs (long double __x) { return _STLP_DO_ABS(long double)(__x); } ++inline long double floor(long double __x) { return _STLP_DO_FLOOR(long double)(__x); } ++inline long double fmod (long double __x, long double __y) { return _STLP_DO_FMOD(long double)(__x, __y); } ++inline long double frexp(long double __x, int* __y) { return _STLP_DO_FREXP(long double)(__x, __y); } ++inline long double ldexp(long double __x, int __y) { return _STLP_DO_LDEXP(long double)(__x, __y); } ++// fbp : long double versions are not available ++inline long double modf (long double __x, long double* __y) { ++ double __dd[2]; ++ double __res = _STLP_DO_MODF(double)((double)__x, __dd); ++ __y[0] = (long double)__dd[0] ; __y[1] = (long double)__dd[1]; ++ return (long double)__res; ++} ++inline long double log (long double __x) { return _STLP_DO_LOG(long double)(__x); } ++inline long double log10(long double __x) { return _STLP_DO_LOG10(long double)(__x); } ++inline long double pow (long double __x, long double __y) { return _STLP_DO_POW(long double)(__x, __y); } ++inline long double pow (long double __x, int __y) { return _STLP_DO_POW(long double)(__x, __y); } ++inline long double sin (long double __x) { return _STLP_DO_SIN(long double)(__x); } ++inline long double sinh (long double __x) { return _STLP_DO_SINH(long double)(__x); } ++inline long double sqrt (long double __x) { return _STLP_DO_SQRT(long double)(__x); } ++inline long double tan (long double __x) { return _STLP_DO_TAN(long double)(__x); } ++inline long double tanh (long double __x) { return _STLP_DO_TANH(long double)(__x); } ++# endif ++ ++_STLP_END_NAMESPACE ++ ++# endif /* NEW_C_HEADERS */ ++# endif /* NEW_C_HEADERS */ ++ ++#endif /* CMATH_H */ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_codecvt.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_codecvt.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_codecvt.h Sat Feb 24 10:44:44 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_codecvt.h Sun Aug 11 18:59:24 2002 +@@ -20,39 +20,40 @@ + // file directly. + + +-#ifndef __SGI_STL_INTERNAL_CODECVT_H +-#define __SGI_STL_INTERNAL_CODECVT_H ++#ifndef _STLP_INTERNAL_CODECVT_H ++#define _STLP_INTERNAL_CODECVT_H + +-#include +-#include ++# ifndef _STLP_C_LOCALE_H ++# include ++# endif ++# ifndef _STLP_INTERNAL_LOCALE_H ++# include ++# endif + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + +-class __STL_CLASS_DECLSPEC codecvt_base { ++class _STLP_CLASS_DECLSPEC codecvt_base { + public: + enum result {ok, partial, error, noconv}; + }; + + template +-class __STL_CLASS_DECLSPEC codecvt {}; ++class codecvt {}; + + template +-class __STL_CLASS_DECLSPEC codecvt_byname {}; ++class codecvt_byname {}; + +-__STL_TEMPLATE_NULL +-class __STL_CLASS_DECLSPEC codecvt ++_STLP_TEMPLATE_NULL ++class _STLP_CLASS_DECLSPEC codecvt + : public locale::facet, public codecvt_base + { +- friend class _Locale_impl; +-#if defined(__MRC__) || defined(__SC__) //*TY 04/29/2000 - added workaround for mpw +- typedef locale::facet _facet; //*TY 04/29/2000 - they forget to look into nested class for the ctor. +-#endif //*TY 04/29/2000 - ++ friend class _Locale; + public: + typedef char intern_type; + typedef char extern_type; + typedef mbstate_t state_type; + +- explicit codecvt(size_t __refs = 0); ++ explicit codecvt(size_t __refs = 0) : _BaseFacet(__refs) {} + + result out(mbstate_t __state, + const char* __from, +@@ -82,18 +83,18 @@ + __to, __to_limit, __to_next); + } + +- int encoding() const __STL_NOTHROW { return do_encoding(); } ++ int encoding() const _STLP_NOTHROW { return do_encoding(); } + +- bool always_noconv() const __STL_NOTHROW { return do_always_noconv(); } ++ bool always_noconv() const _STLP_NOTHROW { return do_always_noconv(); } + + int length(const mbstate_t& __state, + const char* __from, const char* __end, + size_t __max) const + { return do_length(__state, __from, __end, __max); } + +- int max_length() const __STL_NOTHROW { return do_max_length(); } ++ int max_length() const _STLP_NOTHROW { return do_max_length(); } + +- __STL_STATIC_MEMBER_DECLSPEC static locale::id id; ++ _STLP_STATIC_MEMBER_DECLSPEC static locale::id id; + + protected: + ~codecvt(); +@@ -119,34 +120,31 @@ + char* /* __to_limit */, + char*& __to_next) const; + +- virtual int do_encoding() const __STL_NOTHROW; +- virtual bool do_always_noconv() const __STL_NOTHROW; ++ virtual int do_encoding() const _STLP_NOTHROW; ++ virtual bool do_always_noconv() const _STLP_NOTHROW; + virtual int do_length(const mbstate_t& __state, + const char* __from, + const char* __end, + size_t __max) const; +- virtual int do_max_length() const __STL_NOTHROW; ++ virtual int do_max_length() const _STLP_NOTHROW; + private: + codecvt(const codecvt&); + codecvt& operator =(const codecvt&); + }; + +-# ifndef __STL_NO_WCHAR_T ++# ifndef _STLP_NO_WCHAR_T + +-__STL_TEMPLATE_NULL +-class __STL_CLASS_DECLSPEC codecvt ++_STLP_TEMPLATE_NULL ++class _STLP_CLASS_DECLSPEC codecvt + : public locale::facet, public codecvt_base + { +- friend class _Locale_impl; +-#if defined(__MRC__) || defined(__SC__) //*TY 04/29/2000 - added workaround for mpw +- typedef locale::facet _facet; //*TY 04/29/2000 - they forget to look into nested class for the ctor. +-#endif //*TY 04/29/2000 - ++ friend class _Locale; + public: + typedef wchar_t intern_type; + typedef char extern_type; + typedef mbstate_t state_type; + +- explicit codecvt(size_t __refs = 0); ++ explicit codecvt(size_t __refs = 0) : _BaseFacet(__refs) {} + + result out(mbstate_t __state, + const wchar_t* __from, +@@ -177,9 +175,9 @@ + __to, __to_limit, __to_next); + } + +- int encoding() const __STL_NOTHROW { return do_encoding(); } ++ int encoding() const _STLP_NOTHROW { return do_encoding(); } + +- bool always_noconv() const __STL_NOTHROW { return do_always_noconv(); } ++ bool always_noconv() const _STLP_NOTHROW { return do_always_noconv(); } + + int length(const mbstate_t& __state, + const char* __from, +@@ -187,9 +185,9 @@ + size_t __max) const + { return do_length(__state, __from, __end, __max); } + +- int max_length() const __STL_NOTHROW { return do_max_length(); } ++ int max_length() const _STLP_NOTHROW { return do_max_length(); } + +- __STL_STATIC_MEMBER_DECLSPEC static locale::id id; ++ _STLP_STATIC_MEMBER_DECLSPEC static locale::id id; + + protected: + ~codecvt(); +@@ -215,16 +213,16 @@ + char* __to_limit, + char*& __to_next) const; + +- virtual int do_encoding() const __STL_NOTHROW; ++ virtual int do_encoding() const _STLP_NOTHROW; + +- virtual bool do_always_noconv() const __STL_NOTHROW; ++ virtual bool do_always_noconv() const _STLP_NOTHROW; + + virtual int do_length(const mbstate_t& __state, + const char* __from, + const char* __end, + size_t __max) const; + +- virtual int do_max_length() const __STL_NOTHROW; ++ virtual int do_max_length() const _STLP_NOTHROW; + + private: + codecvt(const codecvt&); +@@ -233,18 +231,19 @@ + + # endif + +-__STL_TEMPLATE_NULL +-class __STL_CLASS_DECLSPEC codecvt_byname ++_STLP_TEMPLATE_NULL ++class _STLP_CLASS_DECLSPEC codecvt_byname + : public codecvt { + public: + explicit codecvt_byname(const char* __name, size_t __refs = 0); ++ ~codecvt_byname(); + private: + codecvt_byname(const codecvt_byname&); + codecvt_byname& operator =(const codecvt_byname&); + }; + +-# ifndef __STL_NO_WCHAR_T +-__STL_TEMPLATE_NULL ++# ifndef _STLP_NO_WCHAR_T ++_STLP_TEMPLATE_NULL + class codecvt_byname + : public codecvt + { +@@ -275,16 +274,16 @@ + char* __to_limit, + char*& __to_next) const; + +- virtual int do_encoding() const __STL_NOTHROW; ++ virtual int do_encoding() const _STLP_NOTHROW; + +- virtual bool do_always_noconv() const __STL_NOTHROW; ++ virtual bool do_always_noconv() const _STLP_NOTHROW; + + virtual int do_length(const mbstate_t& __state, + const char* __from, + const char* __end, + size_t __max) const; + +- virtual int do_max_length() const __STL_NOTHROW; ++ virtual int do_max_length() const _STLP_NOTHROW; + + private: + _Locale_ctype* _M_ctype; +@@ -294,9 +293,9 @@ + + # endif + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-#endif /* __SGI_STL_INTERNAL_CODECVT_H */ ++#endif /* _STLP_INTERNAL_CODECVT_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_collate.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_collate.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_collate.h Sat Feb 24 10:44:44 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_collate.h Sun Aug 11 18:59:24 2002 +@@ -19,43 +19,50 @@ + // standard library headers. You should not attempt to use this header + // file directly. + +-#ifndef __SGI_STL_INTERNAL_COLLATE_H +-#define __SGI_STL_INTERNAL_COLLATE_H ++#ifndef _STLP_INTERNAL_COLLATE_H ++#define _STLP_INTERNAL_COLLATE_H + +-#include +-#include +-#include ++#ifndef _STLP_C_LOCALE_H ++# include ++#endif ++ ++#ifndef _STLP_INTERNAL_LOCALE_H ++# include ++#endif ++ ++#ifndef _STLP_STRING_H ++# include ++#endif + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + + template class collate {}; + template class collate_byname {}; + +-__STL_TEMPLATE_NULL +-class __STL_CLASS_DECLSPEC collate : public locale::facet ++_STLP_TEMPLATE_NULL ++class _STLP_CLASS_DECLSPEC collate : public locale::facet + { +- friend class _Locale_impl; +-#if defined(__MRC__) || defined(__SC__) //*TY 04/29/2000 - added workaround for mpw +- typedef locale::facet _facet; //*TY 04/29/2000 - they forget to look into nested class for the ctor. +-#endif //*TY 04/29/2000 - ++ friend class _Locale; + public: + typedef char char_type; + typedef string string_type; + +- explicit collate(size_t __refs = 0); ++ explicit collate(size_t __refs = 0) : _BaseFacet(__refs) {} + + int compare(const char* __low1, const char* __high1, + const char* __low2, const char* __high2) const { + return do_compare( __low1, __high1, __low2, __high2); + } + +- string_type transform(const char* __low, const char* __high) const; ++ string_type transform(const char* __low, const char* __high) const { ++ return do_transform(__low, __high); ++ } + + long hash(const char* __low, const char* __high) const + { return do_hash(__low, __high); } + +- __STL_STATIC_MEMBER_DECLSPEC static locale::id id; ++ _STLP_STATIC_MEMBER_DECLSPEC static locale::id id; + + protected: + ~collate(); +@@ -69,32 +76,31 @@ + collate& operator =(const collate&); + }; + +-# ifndef __STL_NO_WCHAR_T ++# ifndef _STLP_NO_WCHAR_T + +-__STL_TEMPLATE_NULL +-class __STL_CLASS_DECLSPEC collate : public locale::facet ++_STLP_TEMPLATE_NULL ++class _STLP_CLASS_DECLSPEC collate : public locale::facet + { +- friend class _Locale_impl; +-#if defined(__MRC__) || defined(__SC__) //*TY 04/29/2000 - added workaround for mpw +- typedef locale::facet _facet; //*TY 04/29/2000 - they forget to look into nested class for the ctor. +-#endif //*TY 04/29/2000 - ++ friend class _Locale; + public: + typedef wchar_t char_type; + typedef wstring string_type; + +- explicit collate(size_t __refs = 0); ++ explicit collate(size_t __refs = 0) : _BaseFacet(__refs) {} + + int compare(const wchar_t* __low1, const wchar_t* __high1, + const wchar_t* __low2, const wchar_t* __high2) const { + return do_compare( __low1, __high1, __low2, __high2); + } + +- string_type transform(const wchar_t* __low, const wchar_t* __high) const; ++ string_type transform(const wchar_t* __low, const wchar_t* __high) const { ++ return do_transform(__low, __high); ++ } + + long hash(const wchar_t* __low, const wchar_t* __high) const + { return do_hash(__low, __high); } + +- __STL_STATIC_MEMBER_DECLSPEC static locale::id id; ++ _STLP_STATIC_MEMBER_DECLSPEC static locale::id id; + + protected: + ~collate(); +@@ -110,8 +116,8 @@ + + # endif /* NO_WCHAR_T */ + +-__STL_TEMPLATE_NULL +-class __STL_CLASS_DECLSPEC collate_byname: public collate ++_STLP_TEMPLATE_NULL ++class _STLP_CLASS_DECLSPEC collate_byname: public collate + { + public: + explicit collate_byname(const char* __name, size_t __refs = 0); +@@ -129,10 +135,10 @@ + collate_byname& operator =(const collate_byname&); + }; + +-# ifndef __STL_NO_WCHAR_T ++# ifndef _STLP_NO_WCHAR_T + +-__STL_TEMPLATE_NULL +-class __STL_CLASS_DECLSPEC collate_byname: public collate ++_STLP_TEMPLATE_NULL ++class _STLP_CLASS_DECLSPEC collate_byname: public collate + { + public: + explicit collate_byname(const char * __name, size_t __refs = 0); +@@ -153,9 +159,23 @@ + # endif /* NO_WCHAR_T */ + + +-__STL_END_NAMESPACE ++template ++bool ++__locale_do_operator_call (const locale* __that, ++ const basic_string<_CharT, char_traits<_CharT>, allocator<_CharT> >& __x, ++ const basic_string<_CharT, char_traits<_CharT>, allocator<_CharT> >& __y) ++{ ++ collate<_CharT>* __f = (collate<_CharT>*)__that->_M_get_facet(collate<_CharT>::id); ++ if (!__f) ++ __that->_M_throw_runtime_error(); ++ return __f->compare(__x.data(), __x.data() + __x.size(), ++ __y.data(), __y.data() + __y.size()); ++ ++} ++ ++_STLP_END_NAMESPACE + +-#endif /* __SGI_STL_INTERNAL_COLLATE_H */ ++#endif /* _STLP_INTERNAL_COLLATE_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_complex.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_complex.c +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_complex.c Sat Feb 24 10:44:45 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_complex.c Sun Aug 11 18:59:24 2002 +@@ -15,10 +15,20 @@ + * modified is included with the above copyright notice. + * + */ +-#ifndef __STL_COMPLEX_C +-#define __STL_COMPLEX_C ++#ifndef _STLP_COMPLEX_C ++#define _STLP_COMPLEX_C + +-__STL_BEGIN_NAMESPACE ++# ifndef _STLP_internal_complex_h ++# include ++# endif ++ ++#include ++ ++#ifdef _STLP_USE_NEW_IOSTREAMS ++# include ++#endif ++ ++_STLP_BEGIN_NAMESPACE + + // Non-inline member functions. + +@@ -66,12 +76,12 @@ + + // I/O. + +-#ifdef __STL_USE_NEW_IOSTREAMS ++#ifdef _STLP_USE_NEW_IOSTREAMS + + // Complex output, in the form (re,im). We use a two-step process + // involving stringstream so that we get the padding right. + template +-basic_ostream<_CharT, _Traits>& __STL_CALL ++basic_ostream<_CharT, _Traits>& _STLP_CALL + operator<<(basic_ostream<_CharT, _Traits>& __os, const complex<_Tp>& __z) + { + basic_ostringstream<_CharT, _Traits, allocator<_CharT> > __tmp; +@@ -87,15 +97,16 @@ + // locale and the separator between real and imaginary parts does not. + + template +-basic_istream<_CharT, _Traits>& __STL_CALL ++basic_istream<_CharT, _Traits>& _STLP_CALL + operator>>(basic_istream<_CharT, _Traits>& __is, complex<_Tp>& __z) + { + _Tp __re = 0; + _Tp __im = 0; + +- typedef ctype<_CharT> _Ctype; +- locale __loc = __is.getloc(); +- const _Ctype& __c_type = use_facet<_Ctype>(__loc); ++ // typedef ctype<_CharT> _Ctype; ++ // locale __loc = __is.getloc(); ++ //const _Ctype& __c_type = use_facet<_Ctype>(__loc); ++ const ctype<_CharT>& __c_type = *(const ctype<_CharT>*)__is._M_ctype_facet(); + + char __punct[4] = "(,)"; + _CharT __wpunct[3]; +@@ -122,16 +133,16 @@ + } + + +-#else /* __STL_USE_NEW_IOSTREAMS */ ++#else /* _STLP_USE_NEW_IOSTREAMS */ + + template +-ostream& __STL_CALL operator<<(ostream& s, const complex<_Tp>& __z) ++ostream& _STLP_CALL operator<<(ostream& s, const complex<_Tp>& __z) + { + return s << "( " << __z._M_re <<", " << __z._M_im <<")"; + } + + template +-istream& __STL_CALL operator>>(istream& s, complex<_Tp>& a) ++istream& _STLP_CALL operator>>(istream& s, complex<_Tp>& a) + { + _Tp re = 0, im = 0; + char c = 0; +@@ -151,8 +162,8 @@ + return s; + } + +-#endif /* __STL_USE_NEW_IOSTREAMS */ ++#endif /* _STLP_USE_NEW_IOSTREAMS */ + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-#endif /* __STL_COMPLEX_C */ ++#endif /* _STLP_COMPLEX_C */ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_complex.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_complex.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_complex.h Sat Feb 24 10:44:45 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_complex.h Sun Aug 11 18:59:24 2002 +@@ -15,8 +15,8 @@ + * modified is included with the above copyright notice. + * + */ +-#ifndef __sgi_internal_complex_h +-#define __sgi_internal_complex_h ++#ifndef _STLP_internal_complex_h ++#define _STLP_internal_complex_h + + // This header declares the template class complex, as described in + // in the draft C++ standard. Single-precision complex numbers +@@ -26,42 +26,20 @@ + // Note that the template class complex is declared within namespace + // std, as called for by the draft C++ standard. + +-#if !(defined(__MRC__)||defined(__SC__)) //*TY 05/01/2000 - added workaround for mpw + #include +-#else //*TY 05/01/2000 - +-#include //*TY 05/01/2000 - mpw confuse on the using declarations for the math functions +-# define __STL_DO_ABS(_Tp) ::fabs +-# define __STL_DO_ACOS(_Tp) ::acos +-# define __STL_DO_ASIN(_Tp) ::asin +-# define __STL_DO_ATAN(_Tp) ::atan +-# define __STL_DO_ATAN2(_Tp) ::atan2 +-# define __STL_DO_COS(_Tp) ::cos +-# define __STL_DO_COSH(_Tp) ::cosh +-# define __STL_DO_LOG(_Tp) ::log +-# define __STL_DO_LOG10(_Tp) ::log10 +-# define __STL_DO_POW(_Tp) ::pow +-# define __STL_DO_SIN(_Tp) ::sin +-# define __STL_DO_SINH(_Tp) ::sinh +-# define __STL_DO_SQRT(_Tp) ::sqrt +-# define __STL_DO_TAN(_Tp) ::tan +-# define __STL_DO_TANH(_Tp) ::tanh +-# define __STL_DO_EXP(_Tp) ::exp +-# define __STL_DO_HYPOT(_Tp) ::hypot +-#endif //*TY 05/01/2000 - +-// #include +-#include +-#include ++#include + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + +-#if !defined(__STL_NO_COMPLEX_SPECIALIZATIONS) //*TY 02/25/2000 - added for MPW compiler workaround ++#if !defined(_STLP_NO_COMPLEX_SPECIALIZATIONS) //*TY 02/25/2000 - added for MPW compiler workaround + + template struct complex; + +-__STL_TEMPLATE_NULL struct __STL_CLASS_DECLSPEC complex; +-__STL_TEMPLATE_NULL struct __STL_CLASS_DECLSPEC complex; +-__STL_TEMPLATE_NULL struct __STL_CLASS_DECLSPEC complex; +- ++_STLP_TEMPLATE_NULL struct _STLP_CLASS_DECLSPEC complex; ++_STLP_TEMPLATE_NULL struct _STLP_CLASS_DECLSPEC complex; ++# ifndef _STLP_NO_LONG_DOUBLE ++_STLP_TEMPLATE_NULL struct _STLP_CLASS_DECLSPEC complex; ++# endif + # endif + + template +@@ -84,7 +62,7 @@ + return *this; + } + +-#if defined (__STL_MEMBER_TEMPLATES) && ( defined (__STL_FUNCTION_TMPL_PARTIAL_ORDER) || defined(__STL_NO_COMPLEX_SPECIALIZATIONS)) ++#if defined (_STLP_MEMBER_TEMPLATES) && ( defined (_STLP_FUNCTION_TMPL_PARTIAL_ORDER) || defined(_STLP_NO_COMPLEX_SPECIALIZATIONS)) + template + explicit complex(const complex<_Tp2>& __z) + : _M_re(__z._M_re), _M_im(__z._M_im) {} +@@ -95,7 +73,7 @@ + _M_im = __z._M_im; + return *this; + } +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + // Element access. + value_type real() const { return _M_re; } +@@ -129,15 +107,15 @@ + + // Arithmetic op= operations involving two complex arguments. + +- static void __STL_CALL _div(const value_type& __z1_r, const value_type& __z1_i, ++ static void _STLP_CALL _div(const value_type& __z1_r, const value_type& __z1_i, + const value_type& __z2_r, const value_type& __z2_i, + value_type& __res_r, value_type& __res_i); + +- static void __STL_CALL _div(const value_type& __z1_r, ++ static void _STLP_CALL _div(const value_type& __z1_r, + const value_type& __z2_r, const value_type& __z2_i, + value_type& __res_r, value_type& __res_i); + +-#if defined ( __STL_MEMBER_TEMPLATES ) // && defined (__STL_FUNCTION_TMPL_PARTIAL_ORDER) ++#if defined ( _STLP_MEMBER_TEMPLATES ) // && defined (_STLP_FUNCTION_TMPL_PARTIAL_ORDER) + + template _Self& operator+= (const complex<_Tp2>& __z) { + _M_re += __z._M_re; +@@ -168,7 +146,7 @@ + return *this; + } + +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + _Self& operator+= (const _Self& __z) { + _M_re += __z._M_re; +@@ -204,56 +182,53 @@ + value_type _M_im; + }; + +-#if !defined(__STL_NO_COMPLEX_SPECIALIZATIONS) //*TY 02/25/2000 - added for MPW compiler workaround ++#if !defined(_STLP_NO_COMPLEX_SPECIALIZATIONS) //*TY 02/25/2000 - added for MPW compiler workaround + // Explicit specializations for float, double, long double. The only + // reason for these specializations is to enable automatic conversions + // from complex to complex, and complex to + // complex. + + +-__STL_TEMPLATE_NULL +-struct __STL_CLASS_DECLSPEC complex { ++_STLP_TEMPLATE_NULL ++struct _STLP_CLASS_DECLSPEC complex { + typedef float value_type; + typedef complex _Self; +-# if 0 + // Constructors, destructor, assignment operator. +- complex() : _M_re(0), _M_im(0) {} +- complex(value_type __x) +- : _M_re(__x), _M_im(0) {} +-# endif +- complex(const value_type& __x = 0.0, const value_type& __y = 0.0) ++ ++ complex(value_type __x = 0.0, value_type __y = 0.0) + : _M_re(__x), _M_im(__y) {} + + complex(const complex& __z) : _M_re(__z._M_re), _M_im(__z._M_im) {} + +- explicit inline complex(const complex& __z); +- explicit inline complex(const complex& __z); +- ++ inline explicit complex(const complex& __z); ++# ifndef _STLP_NO_LONG_DOUBLE ++ inline explicit complex(const complex& __z); ++# endif + // Element access. + value_type real() const { return _M_re; } + value_type imag() const { return _M_im; } + + // Arithmetic op= operations involving one real argument. + +- _Self& operator= (const value_type& __x) { ++ _Self& operator= (value_type __x) { + _M_re = __x; + _M_im = 0; + return *this; + } +- _Self& operator+= (const value_type& __x) { ++ _Self& operator+= (value_type __x) { + _M_re += __x; + return *this; + } +- _Self& operator-= (const value_type& __x) { ++ _Self& operator-= (value_type __x) { + _M_re -= __x; + return *this; + } +- _Self& operator*= (const value_type& __x) { ++ _Self& operator*= (value_type __x) { + _M_re *= __x; + _M_im *= __x; + return *this; + } +- _Self& operator/= (const value_type& __x) { ++ _Self& operator/= (value_type __x) { + _M_re /= __x; + _M_im /= __x; + return *this; +@@ -261,15 +236,15 @@ + + // Arithmetic op= operations involving two complex arguments. + +- static void __STL_CALL _div(const float& __z1_r, const float& __z1_i, ++ static void _STLP_CALL _div(const float& __z1_r, const float& __z1_i, + const float& __z2_r, const float& __z2_i, + float& __res_r, float& __res_i); + +- static void __STL_CALL _div(const float& __z1_r, ++ static void _STLP_CALL _div(const float& __z1_r, + const float& __z2_r, const float& __z2_i, + float& __res_r, float& __res_i); + +-#if defined (__STL_MEMBER_TEMPLATES) // && defined (__STL_FUNCTION_TMPL_PARTIAL_ORDER) ++#if defined (_STLP_MEMBER_TEMPLATES) + + template + complex& operator=(const complex<_Tp2>& __z) { +@@ -311,7 +286,7 @@ + return *this; + } + +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + _Self& operator=(const _Self& __z) { + _M_re = __z._M_re; +@@ -353,49 +328,46 @@ + value_type _M_im; + }; + +-__STL_TEMPLATE_NULL struct __STL_CLASS_DECLSPEC complex { ++_STLP_TEMPLATE_NULL struct _STLP_CLASS_DECLSPEC complex { + typedef double value_type; + typedef complex _Self; + +-# if 0 + // Constructors, destructor, assignment operator. +- complex() : _M_re(0), _M_im(0) {} +- complex(value_type __x) +- : _M_re(__x), _M_im(0) {} +-# endif +- complex(const value_type& __x = 0.0, const value_type& __y = 0.0) ++ ++ complex(value_type __x = 0.0, value_type __y = 0.0) + : _M_re(__x), _M_im(__y) {} + + complex(const complex& __z) + : _M_re(__z._M_re), _M_im(__z._M_im) {} + inline complex(const complex& __z); ++# ifndef _STLP_NO_LONG_DOUBLE + explicit inline complex(const complex& __z); +- ++# endif + // Element access. + value_type real() const { return _M_re; } + value_type imag() const { return _M_im; } + + // Arithmetic op= operations involving one real argument. + +- _Self& operator= (const value_type& __x) { ++ _Self& operator= (value_type __x) { + _M_re = __x; + _M_im = 0; + return *this; + } +- _Self& operator+= (const value_type& __x) { ++ _Self& operator+= (value_type __x) { + _M_re += __x; + return *this; + } +- _Self& operator-= (const value_type& __x) { ++ _Self& operator-= (value_type __x) { + _M_re -= __x; + return *this; + } +- _Self& operator*= (const value_type& __x) { ++ _Self& operator*= (value_type __x) { + _M_re *= __x; + _M_im *= __x; + return *this; + } +- _Self& operator/= (const value_type& __x) { ++ _Self& operator/= (value_type __x) { + _M_re /= __x; + _M_im /= __x; + return *this; +@@ -403,14 +375,14 @@ + + // Arithmetic op= operations involving two complex arguments. + +- static void __STL_CALL _div(const double& __z1_r, const double& __z1_i, ++ static void _STLP_CALL _div(const double& __z1_r, const double& __z1_i, + const double& __z2_r, const double& __z2_i, + double& __res_r, double& __res_i); +- static void __STL_CALL _div(const double& __z1_r, ++ static void _STLP_CALL _div(const double& __z1_r, + const double& __z2_r, const double& __z2_i, + double& __res_r, double& __res_i); + +-#if defined (__STL_MEMBER_TEMPLATES) && defined (__STL_FUNCTION_TMPL_PARTIAL_ORDER) ++#if defined (_STLP_MEMBER_TEMPLATES) && defined (_STLP_FUNCTION_TMPL_PARTIAL_ORDER) + + template + complex& operator=(const complex<_Tp2>& __z) { +@@ -452,7 +424,7 @@ + return *this; + } + +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + _Self& operator=(const _Self& __z) { + _M_re = __z._M_re; +@@ -494,18 +466,14 @@ + value_type _M_im; + }; + ++# ifndef _STLP_NO_LONG_DOUBLE + +-__STL_TEMPLATE_NULL struct __STL_CLASS_DECLSPEC complex { ++_STLP_TEMPLATE_NULL struct _STLP_CLASS_DECLSPEC complex { + typedef long double value_type; + typedef complex _Self; + + // Constructors, destructor, assignment operator. +-# if 0 +- complex() : _M_re(0), _M_im(0) {} +- complex(const value_type& __x) +- : _M_re(__x), _M_im(0) {} +-# endif +- complex(const value_type& __x = 0.0, const value_type& __y = 0.0) ++ complex(value_type __x = 0.0, value_type __y = 0.0) + : _M_re(__x), _M_im(__y) {} + + complex(const complex& __z) +@@ -519,25 +487,25 @@ + + // Arithmetic op= operations involving one real argument. + +- _Self& operator= (const value_type& __x) { ++ _Self& operator= (value_type __x) { + _M_re = __x; + _M_im = 0; + return *this; + } +- _Self& operator+= (const value_type& __x) { ++ _Self& operator+= (value_type __x) { + _M_re += __x; + return *this; + } +- _Self& operator-= (const value_type& __x) { ++ _Self& operator-= (value_type __x) { + _M_re -= __x; + return *this; + } +- _Self& operator*= (const value_type& __x) { ++ _Self& operator*= (value_type __x) { + _M_re *= __x; + _M_im *= __x; + return *this; + } +- _Self& operator/= (const value_type& __x) { ++ _Self& operator/= (value_type __x) { + _M_re /= __x; + _M_im /= __x; + return *this; +@@ -545,15 +513,15 @@ + + // Arithmetic op= operations involving two complex arguments. + +- static void __STL_CALL _div(const long double& __z1_r, const long double& __z1_i, ++ static void _STLP_CALL _div(const long double& __z1_r, const long double& __z1_i, + const long double& __z2_r, const long double& __z2_i, + long double& __res_r, long double& __res_i); + +- static void __STL_CALL _div(const long double& __z1_r, ++ static void _STLP_CALL _div(const long double& __z1_r, + const long double& __z2_r, const long double& __z2_i, + long double& __res_r, long double& __res_i); + +-#if defined (__STL_MEMBER_TEMPLATES) && defined (__STL_FUNCTION_TMPL_PARTIAL_ORDER) ++#if defined (_STLP_MEMBER_TEMPLATES) && defined (_STLP_FUNCTION_TMPL_PARTIAL_ORDER) + + template + complex& operator=(const complex<_Tp2>& __z) { +@@ -595,7 +563,7 @@ + return *this; + } + +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + _Self& operator=(const _Self& __z) { + _M_re = __z._M_re; +@@ -637,138 +605,74 @@ + value_type _M_im; + }; + ++# endif /* _STLP_NO_LONG_DOUBLE */ ++ + // Converting constructors from one of these three specialized types + // to another. + + inline complex::complex(const complex& __z) + : _M_re(__z._M_re), _M_im(__z._M_im) {} +-inline complex::complex(const complex& __z) +- : _M_re(__z._M_re), _M_im(__z._M_im) {} + inline complex::complex(const complex& __z) + : _M_re(__z._M_re), _M_im(__z._M_im) {} ++# ifndef _STLP_NO_LONG_DOUBLE ++inline complex::complex(const complex& __z) ++ : _M_re(__z._M_re), _M_im(__z._M_im) {} + inline complex::complex(const complex& __z) + : _M_re(__z._M_re), _M_im(__z._M_im) {} + inline complex::complex(const complex& __z) + : _M_re(__z._M_re), _M_im(__z._M_im) {} + inline complex::complex(const complex& __z) + : _M_re(__z._M_re), _M_im(__z._M_im) {} ++# endif + + # endif /* SPECIALIZATIONS */ + +-__STL_END_NAMESPACE +- +- +-#if defined (__sgi) && !defined(__GNUC__) +- +-# define __STL_ABSF ::absf +-# define __STL_ABSL ::absl +-# define __STL_ATAN2F ::atan2f +-# define __STL_ATAN2L ::atan2l +-# define __STL_SINF ::sinf +-# define __STL_SINL ::sinl +-# define __STL_COSF ::cosf +-# define __STL_COSL ::cosl +-# define __STL_SQRTF ::sqrtf +-# define __STL_SQRTL ::sqrtl +-# define __STL_EXPF ::expf +-# define __STL_EXPL ::expl +-# define __STL_LOG10F ::log10f +-# define __STL_LOG10L ::log10l +-# define __STL_LOGF ::logf +-# define __STL_LOGL ::logl +-# define __STL_SINHF ::sinhf +-# define __STL_SINHL ::sinhl +-# define __STL_COSHF ::coshf +-# define __STL_COSHL ::coshl +-# define __STL_HYPOTF ::hypotf +-// # define __STL_HYPOT ::hypot +-# define __STL_HYPOTL ::hypotl +-#else +-# define __STL_ABSF (float)__STL_DO_ABS(double) +-# define __STL_ABSL (long double)__STL_DO_ABS(double) +-# define __STL_ATAN2F (float)__STL_DO_ATAN2(double) +-# define __STL_ATAN2L (long double)__STL_DO_ATAN2(double) +-# define __STL_SINF (float)__STL_DO_SIN(double) +-# define __STL_SINL (long double)__STL_DO_SIN(double) +-# define __STL_COSF (float)__STL_DO_COS(double) +-# define __STL_COSL (long double)__STL_DO_COS(double) +-# define __STL_SQRTF (float)__STL_DO_SQRT(double) +-# define __STL_SQRTL (long double)__STL_DO_SQRT(double) +-# define __STL_EXPF (float)__STL_DO_EXP(double) +-# define __STL_EXPL (long double)__STL_DO_EXP(double) +-# define __STL_LOG10F (float)__STL_DO_LOG10(double) +-# define __STL_LOG10L (long double)__STL_DO_LOG10(double) +-# define __STL_LOGF (float)__STL_DO_LOG(double) +-# define __STL_LOGL (long double)__STL_DO_LOG(double) +-# define __STL_SINHF (float)__STL_DO_SINH(double) +-# define __STL_SINHL (long double)__STL_DO_SINH(double) +-# define __STL_COSHF (float)__STL_DO_COSH(double) +-# define __STL_COSHL (long double)__STL_DO_COSH(double) +-# define __STL_HYPOTF (float)__STL_DO_HYPOT(double) +-# define __STL_HYPOTL (long double)__STL_DO_HYPOT(double) +-#endif +- +-# define __STL_ABS (double)__STL_DO_ABS(double) +-# define __STL_ATAN2 (double)__STL_DO_ATAN2(double) +-# define __STL_SIN (double)__STL_DO_SIN(double) +-# define __STL_COS (double)__STL_DO_COS(double) +-# define __STL_SQRT (double)__STL_DO_SQRT(double) +-# define __STL_EXP (double)__STL_DO_EXP(double) +-# define __STL_LOG10 (double)__STL_DO_LOG10(double) +-# define __STL_LOG (double)__STL_DO_LOG(double) +-# define __STL_SINH (double)__STL_DO_SINH(double) +-# define __STL_COSH (double)__STL_DO_COSH(double) +-# define __STL_HYPOT __STL_DO_HYPOT(double) +- +- +-__STL_BEGIN_NAMESPACE +- + // Unary non-member arithmetic operators. + + template +-inline complex<_Tp> __STL_CALL operator+(const complex<_Tp>& __z) { ++inline complex<_Tp> _STLP_CALL operator+(const complex<_Tp>& __z) { + return __z; + } + + template +-inline complex<_Tp> __STL_CALL operator-(const complex<_Tp>& __z) { ++inline complex<_Tp> _STLP_CALL operator-(const complex<_Tp>& __z) { + return complex<_Tp>(-__z._M_re, -__z._M_im); + } + + // Non-member arithmetic operations involving one real argument. + + template +-inline complex<_Tp> __STL_CALL operator+(const _Tp& __x, const complex<_Tp>& __z) { ++inline complex<_Tp> _STLP_CALL operator+(const _Tp& __x, const complex<_Tp>& __z) { + return complex<_Tp>(__x + __z._M_re, __z._M_im); + } + + template +-inline complex<_Tp> __STL_CALL operator+(const complex<_Tp>& __z, const _Tp& __x) { ++inline complex<_Tp> _STLP_CALL operator+(const complex<_Tp>& __z, const _Tp& __x) { + return complex<_Tp>(__z._M_re + __x, __z._M_im); + } + + template +-inline complex<_Tp> __STL_CALL operator-(const _Tp& __x, const complex<_Tp>& __z) { ++inline complex<_Tp> _STLP_CALL operator-(const _Tp& __x, const complex<_Tp>& __z) { + return complex<_Tp>(__x - __z._M_re, -__z._M_im); + } + + template +-inline complex<_Tp> __STL_CALL operator-(const complex<_Tp>& __z, const _Tp& __x) { ++inline complex<_Tp> _STLP_CALL operator-(const complex<_Tp>& __z, const _Tp& __x) { + return complex<_Tp>(__z._M_re - __x, __z._M_im); + } + + template +-inline complex<_Tp> __STL_CALL operator*(const _Tp& __x, const complex<_Tp>& __z) { ++inline complex<_Tp> _STLP_CALL operator*(const _Tp& __x, const complex<_Tp>& __z) { + return complex<_Tp>(__x * __z._M_re, __x * __z._M_im); + } + + template +-inline complex<_Tp> __STL_CALL operator*(const complex<_Tp>& __z, const _Tp& __x) { ++inline complex<_Tp> _STLP_CALL operator*(const complex<_Tp>& __z, const _Tp& __x) { + return complex<_Tp>(__z._M_re * __x, __z._M_im * __x); + } + + template +-inline complex<_Tp> __STL_CALL operator/(const _Tp& __x, const complex<_Tp>& __z) { ++inline complex<_Tp> _STLP_CALL operator/(const _Tp& __x, const complex<_Tp>& __z) { + complex<_Tp> __result; + complex<_Tp>::_div(__x, + __z._M_re, __z._M_im, +@@ -777,33 +681,33 @@ + } + + template +-inline complex<_Tp> __STL_CALL operator/(const complex<_Tp>& __z, const _Tp& __x) { ++inline complex<_Tp> _STLP_CALL operator/(const complex<_Tp>& __z, const _Tp& __x) { + return complex<_Tp>(__z._M_re / __x, __z._M_im / __x); + } + + // Non-member arithmetic operations involving two complex arguments + + template +-inline complex<_Tp> __STL_CALL ++inline complex<_Tp> _STLP_CALL + operator+(const complex<_Tp>& __z1, const complex<_Tp>& __z2) { + return complex<_Tp>(__z1._M_re + __z2._M_re, __z1._M_im + __z2._M_im); + } + + template +-inline complex<_Tp> __STL_CALL ++inline complex<_Tp> _STLP_CALL + operator-(const complex<_Tp>& __z1, const complex<_Tp>& __z2) { + return complex<_Tp>(__z1._M_re - __z2._M_re, __z1._M_im - __z2._M_im); + } + + template +-inline complex<_Tp> __STL_CALL ++inline complex<_Tp> _STLP_CALL + operator*(const complex<_Tp>& __z1, const complex<_Tp>& __z2) { + return complex<_Tp>(__z1._M_re * __z2._M_re - __z1._M_im * __z2._M_im, + __z1._M_re * __z2._M_im + __z1._M_im * __z2._M_re); + } + + template +-inline complex<_Tp> __STL_CALL ++inline complex<_Tp> _STLP_CALL + operator/(const complex<_Tp>& __z1, const complex<_Tp>& __z2) { + complex<_Tp> __result; + complex<_Tp>::_div(__z1._M_re, __z1._M_im, +@@ -815,270 +719,239 @@ + // Comparison operators. + + template +-inline bool __STL_CALL operator==(const complex<_Tp>& __z1, const complex<_Tp>& __z2) { ++inline bool _STLP_CALL operator==(const complex<_Tp>& __z1, const complex<_Tp>& __z2) { + return __z1._M_re == __z2._M_re && __z1._M_im == __z2._M_im; + } + + template +-inline bool __STL_CALL operator==(const complex<_Tp>& __z, const _Tp& __x) { ++inline bool _STLP_CALL operator==(const complex<_Tp>& __z, const _Tp& __x) { + return __z._M_re == __x && __z._M_im == 0; + } + + template +-inline bool __STL_CALL operator==(const _Tp& __x, const complex<_Tp>& __z) { ++inline bool _STLP_CALL operator==(const _Tp& __x, const complex<_Tp>& __z) { + return __x == __z._M_re && 0 == __z._M_im; + } + +-#ifdef __STL_FUNCTION_TMPL_PARTIAL_ORDER ++#ifdef _STLP_FUNCTION_TMPL_PARTIAL_ORDER + + template +-inline bool __STL_CALL operator!=(const complex<_Tp>& __z1, const complex<_Tp>& __z2) { ++inline bool _STLP_CALL operator!=(const complex<_Tp>& __z1, const complex<_Tp>& __z2) { + return __z1._M_re != __z2._M_re || __z1._M_im != __z2._M_im; + } + +-#endif /* __STL_FUNCTION_TMPL_PARTIAL_ORDER */ ++#endif /* _STLP_FUNCTION_TMPL_PARTIAL_ORDER */ + + template +-inline bool __STL_CALL operator!=(const complex<_Tp>& __z, const _Tp& __x) { ++inline bool _STLP_CALL operator!=(const complex<_Tp>& __z, const _Tp& __x) { + return __z._M_re != __x || __z._M_im != 0; + } + + template +-inline bool __STL_CALL operator!=(const _Tp& __x, const complex<_Tp>& __z) { ++inline bool _STLP_CALL operator!=(const _Tp& __x, const complex<_Tp>& __z) { + return __x != __z._M_re || 0 != __z._M_im; + } + + // Other basic arithmetic operations + + template +-inline _Tp __STL_CALL real(const complex<_Tp>& __z) { ++inline _Tp _STLP_CALL real(const complex<_Tp>& __z) { + return __z._M_re; + } + + template +-inline _Tp __STL_CALL imag(const complex<_Tp>& __z) { ++inline _Tp _STLP_CALL imag(const complex<_Tp>& __z) { + return __z._M_im; + } + +-__STL_DECLSPEC float __STL_CALL abs(const complex&); +-__STL_DECLSPEC double __STL_CALL abs(const complex&); +-__STL_DECLSPEC float __STL_CALL arg(const complex&); +-__STL_DECLSPEC double __STL_CALL arg(const complex&); +-__STL_DECLSPEC complex __STL_CALL polar(const float& __rho, const float& __phi); +-__STL_DECLSPEC complex __STL_CALL polar(const double& __rho, const double& __phi); ++_STLP_DECLSPEC float _STLP_CALL abs(const complex&); ++_STLP_DECLSPEC double _STLP_CALL abs(const complex&); ++_STLP_DECLSPEC float _STLP_CALL arg(const complex&); ++_STLP_DECLSPEC double _STLP_CALL arg(const complex&); ++_STLP_DECLSPEC complex _STLP_CALL polar(const float& __rho, const float& __phi); ++_STLP_DECLSPEC complex _STLP_CALL polar(const double& __rho, const double& __phi); + + +-# ifdef __STL_LONG_DOUBLE +-__STL_DECLSPEC long double __STL_CALL arg(const complex&); +-__STL_DECLSPEC long double __STL_CALL abs(const complex&); +-__STL_DECLSPEC complex __STL_CALL polar(const long double&, const long double&); ++# ifndef _STLP_NO_LONG_DOUBLE ++_STLP_DECLSPEC long double _STLP_CALL arg(const complex&); ++_STLP_DECLSPEC long double _STLP_CALL abs(const complex&); ++_STLP_DECLSPEC complex _STLP_CALL polar(const long double&, const long double&); + # endif + + template +-_Tp __STL_CALL abs(const complex<_Tp>& __z) { ++_Tp _STLP_CALL abs(const complex<_Tp>& __z) { + return _Tp(abs(complex(double(__z.real()), double(__z.imag())))); + } + + template +-_Tp __STL_CALL arg(const complex<_Tp>& __z) { ++_Tp _STLP_CALL arg(const complex<_Tp>& __z) { + return _Tp(arg(complex(double(__z.real()), double(__z.imag())))); + } + + template +-inline _Tp __STL_CALL norm(const complex<_Tp>& __z) { ++inline _Tp _STLP_CALL norm(const complex<_Tp>& __z) { + return __z._M_re * __z._M_re + __z._M_im * __z._M_im; + } + + template +-inline complex<_Tp> __STL_CALL conj(const complex<_Tp>& __z) { ++inline complex<_Tp> _STLP_CALL conj(const complex<_Tp>& __z) { + return complex<_Tp>(__z._M_re, -__z._M_im); + } + + template +-complex<_Tp> __STL_CALL polar(const _Tp& __rho) { ++complex<_Tp> _STLP_CALL polar(const _Tp& __rho) { + return complex<_Tp>(__rho, 0); + } + + template +-complex<_Tp> __STL_CALL polar(const _Tp& __rho, const _Tp& __phi) { ++complex<_Tp> _STLP_CALL polar(const _Tp& __rho, const _Tp& __phi) { + complex __tmp = polar(double(__rho), double(__phi)); + return complex<_Tp>(_Tp(__tmp.real()), _Tp(__tmp.imag())); + } + +-#ifdef __STL_USE_NEW_IOSTREAMS ++#ifdef _STLP_USE_NEW_IOSTREAMS + + // Complex output, in the form (re,im). We use a two-step process + // involving stringstream so that we get the padding right. + template +-basic_ostream<_CharT, _Traits>& __STL_CALL ++basic_ostream<_CharT, _Traits>& _STLP_CALL + operator<<(basic_ostream<_CharT, _Traits>& __os, const complex<_Tp>& __z); + + template +-basic_istream<_CharT, _Traits>& __STL_CALL ++basic_istream<_CharT, _Traits>& _STLP_CALL + operator>>(basic_istream<_CharT, _Traits>& __is, complex<_Tp>& __z); + + // Specializations for narrow characters; lets us avoid widen. + +-#ifdef __STL_FUNCTION_TMPL_PARTIAL_ORDER +-# define __STL_OPERATOR_TEMPLATE +-# else +-# define __STL_OPERATOR_TEMPLATE __STL_TEMPLATE_NULL +-#endif +- +- +-__STL_OPERATOR_TEMPLATE +-__STL_DECLSPEC basic_istream >& __STL_CALL ++_STLP_OPERATOR_TEMPLATE ++_STLP_DECLSPEC basic_istream >& _STLP_CALL + operator>>(basic_istream >& __is, complex& __z); + +-__STL_OPERATOR_TEMPLATE +-__STL_DECLSPEC basic_istream >& __STL_CALL ++_STLP_OPERATOR_TEMPLATE ++_STLP_DECLSPEC basic_istream >& _STLP_CALL + operator>>(basic_istream >& __is, complex& __z); + + +-__STL_OPERATOR_TEMPLATE +-__STL_DECLSPEC basic_ostream >& __STL_CALL ++_STLP_OPERATOR_TEMPLATE ++_STLP_DECLSPEC basic_ostream >& _STLP_CALL + operator<<(basic_ostream >& __is, const complex& __z); + +-__STL_OPERATOR_TEMPLATE +-__STL_DECLSPEC basic_ostream >& __STL_CALL ++_STLP_OPERATOR_TEMPLATE ++_STLP_DECLSPEC basic_ostream >& _STLP_CALL + operator<<(basic_ostream >& __is, const complex& __z); + +-# ifdef __STL_LONG_DOUBLE +- +-__STL_OPERATOR_TEMPLATE +-__STL_DECLSPEC basic_ostream >& __STL_CALL +-operator>>(basic_istream >& __is, const complex& __z); +- +-__STL_OPERATOR_TEMPLATE +-__STL_DECLSPEC basic_istream >& __STL_CALL +-operator<<(basic_ostream >& __is, complex& __z); ++# if ! defined (_STLP_NO_LONG_DOUBLE) ++_STLP_OPERATOR_TEMPLATE ++_STLP_DECLSPEC basic_istream >& _STLP_CALL ++operator>>(basic_istream >& __is, complex& __z); ++ ++_STLP_OPERATOR_TEMPLATE ++_STLP_DECLSPEC basic_ostream >& _STLP_CALL ++operator<<(basic_ostream >& __is, const complex& __z); + + # endif + +-# if defined (__STL_USE_TEMPLATE_EXPORT) && ! defined (__STL_NO_WCHAR_T) ++# if defined (_STLP_USE_TEMPLATE_EXPORT) && ! defined (_STLP_NO_WCHAR_T) + +-__STL_EXPORT_TEMPLATE basic_istream >& __STL_CALL operator>>( ++_STLP_EXPORT_TEMPLATE basic_istream >& _STLP_CALL operator>>( + basic_istream >&, complex&); +-__STL_EXPORT_TEMPLATE basic_ostream >& __STL_CALL operator<<( ++_STLP_EXPORT_TEMPLATE basic_ostream >& _STLP_CALL operator<<( + basic_ostream >&, const complex&); +-__STL_EXPORT_TEMPLATE basic_istream >& __STL_CALL operator>>( ++_STLP_EXPORT_TEMPLATE basic_istream >& _STLP_CALL operator>>( + basic_istream >&, complex&); +-__STL_EXPORT_TEMPLATE basic_ostream >& __STL_CALL operator<<( ++_STLP_EXPORT_TEMPLATE basic_ostream >& _STLP_CALL operator<<( + basic_ostream >&, const complex&); + +-# ifdef __STL_LONG_DOUBLE +-__STL_EXPORT_TEMPLATE basic_istream >& __STL_CALL operator>>( ++# ifndef _STLP_NO_LONG_DOUBLE ++_STLP_EXPORT_TEMPLATE basic_istream >& _STLP_CALL operator>>( + basic_istream >&, complex&); +-__STL_EXPORT_TEMPLATE basic_ostream >& __STL_CALL operator<<( ++_STLP_EXPORT_TEMPLATE basic_ostream >& _STLP_CALL operator<<( + basic_ostream >&, const complex&); + # endif + + # endif /* USE_TEMPLATE_EXPORT */ + +-#else /* __STL_USE_NEW_IOSTREAMS */ ++#else /* _STLP_USE_NEW_IOSTREAMS */ + + template +-ostream& __STL_CALL operator<<(ostream& s, const complex<_Tp>& __z); ++ostream& _STLP_CALL operator<<(ostream& s, const complex<_Tp>& __z); + + template +-istream& __STL_CALL operator>>(istream& s, complex<_Tp>& a); ++istream& _STLP_CALL operator>>(istream& s, complex<_Tp>& a); + +-#endif /* __STL_USE_NEW_IOSTREAMS */ ++#endif /* _STLP_USE_NEW_IOSTREAMS */ + + + // Transcendental functions. These are defined only for float, + // double, and long double. (Sqrt isn't transcendental, of course, + // but it's included in this section anyway.) + +-__STL_DECLSPEC complex __STL_CALL sqrt(const complex&); +- +-__STL_DECLSPEC complex __STL_CALL exp(const complex&); +-__STL_DECLSPEC complex __STL_CALL log(const complex&); +-__STL_DECLSPEC complex __STL_CALL log10(const complex&); ++_STLP_DECLSPEC complex _STLP_CALL sqrt(const complex&); + +-__STL_DECLSPEC complex __STL_CALL pow(const complex&, int); +-__STL_DECLSPEC complex __STL_CALL pow(const complex&, const float&); +-__STL_DECLSPEC complex __STL_CALL pow(const float&, const complex&); +-__STL_DECLSPEC complex __STL_CALL pow(const complex&, const complex&); +- +-__STL_DECLSPEC complex __STL_CALL sin(const complex&); +-__STL_DECLSPEC complex __STL_CALL cos(const complex&); +-__STL_DECLSPEC complex __STL_CALL tan(const complex&); +- +-__STL_DECLSPEC complex __STL_CALL sinh(const complex&); +-__STL_DECLSPEC complex __STL_CALL cosh(const complex&); +-__STL_DECLSPEC complex __STL_CALL tanh(const complex&); +- +-__STL_DECLSPEC complex __STL_CALL sqrt(const complex&); +- +-__STL_DECLSPEC complex __STL_CALL exp(const complex&); +-__STL_DECLSPEC complex __STL_CALL log(const complex&); +-__STL_DECLSPEC complex __STL_CALL log10(const complex&); +- +-__STL_DECLSPEC complex __STL_CALL pow(const complex&, int); +-__STL_DECLSPEC complex __STL_CALL pow(const complex&, const double&); +-__STL_DECLSPEC complex __STL_CALL pow(const double&, const complex&); +-__STL_DECLSPEC complex __STL_CALL pow(const complex&, const complex&); +- +-__STL_DECLSPEC complex __STL_CALL sin(const complex&); +-__STL_DECLSPEC complex __STL_CALL cos(const complex&); +-__STL_DECLSPEC complex __STL_CALL tan(const complex&); +- +-__STL_DECLSPEC complex __STL_CALL sinh(const complex&); +-__STL_DECLSPEC complex __STL_CALL cosh(const complex&); +-__STL_DECLSPEC complex __STL_CALL tanh(const complex&); +- +- +- +-__STL_DECLSPEC complex __STL_CALL sqrt(const complex&); +- +-__STL_DECLSPEC complex __STL_CALL exp(const complex&); +-__STL_DECLSPEC complex __STL_CALL log(const complex&); +-__STL_DECLSPEC complex __STL_CALL log10(const complex&); +- +-__STL_DECLSPEC complex __STL_CALL pow(const complex&, int); +-__STL_DECLSPEC complex __STL_CALL pow(const complex&, const long double&); +-__STL_DECLSPEC complex __STL_CALL pow(const long double&, const complex&); +-__STL_DECLSPEC complex __STL_CALL pow(const complex&, ++_STLP_DECLSPEC complex _STLP_CALL exp(const complex&); ++_STLP_DECLSPEC complex _STLP_CALL log(const complex&); ++_STLP_DECLSPEC complex _STLP_CALL log10(const complex&); ++ ++_STLP_DECLSPEC complex _STLP_CALL pow(const complex&, int); ++_STLP_DECLSPEC complex _STLP_CALL pow(const complex&, const float&); ++_STLP_DECLSPEC complex _STLP_CALL pow(const float&, const complex&); ++_STLP_DECLSPEC complex _STLP_CALL pow(const complex&, const complex&); ++ ++_STLP_DECLSPEC complex _STLP_CALL sin(const complex&); ++_STLP_DECLSPEC complex _STLP_CALL cos(const complex&); ++_STLP_DECLSPEC complex _STLP_CALL tan(const complex&); ++ ++_STLP_DECLSPEC complex _STLP_CALL sinh(const complex&); ++_STLP_DECLSPEC complex _STLP_CALL cosh(const complex&); ++_STLP_DECLSPEC complex _STLP_CALL tanh(const complex&); ++ ++_STLP_DECLSPEC complex _STLP_CALL sqrt(const complex&); ++ ++_STLP_DECLSPEC complex _STLP_CALL exp(const complex&); ++_STLP_DECLSPEC complex _STLP_CALL log(const complex&); ++_STLP_DECLSPEC complex _STLP_CALL log10(const complex&); ++ ++_STLP_DECLSPEC complex _STLP_CALL pow(const complex&, int); ++_STLP_DECLSPEC complex _STLP_CALL pow(const complex&, const double&); ++_STLP_DECLSPEC complex _STLP_CALL pow(const double&, const complex&); ++_STLP_DECLSPEC complex _STLP_CALL pow(const complex&, const complex&); ++ ++_STLP_DECLSPEC complex _STLP_CALL sin(const complex&); ++_STLP_DECLSPEC complex _STLP_CALL cos(const complex&); ++_STLP_DECLSPEC complex _STLP_CALL tan(const complex&); ++ ++_STLP_DECLSPEC complex _STLP_CALL sinh(const complex&); ++_STLP_DECLSPEC complex _STLP_CALL cosh(const complex&); ++_STLP_DECLSPEC complex _STLP_CALL tanh(const complex&); ++ ++# ifndef _STLP_NO_LONG_DOUBLE ++_STLP_DECLSPEC complex _STLP_CALL sqrt(const complex&); ++_STLP_DECLSPEC complex _STLP_CALL exp(const complex&); ++_STLP_DECLSPEC complex _STLP_CALL log(const complex&); ++_STLP_DECLSPEC complex _STLP_CALL log10(const complex&); ++ ++_STLP_DECLSPEC complex _STLP_CALL pow(const complex&, int); ++_STLP_DECLSPEC complex _STLP_CALL pow(const complex&, const long double&); ++_STLP_DECLSPEC complex _STLP_CALL pow(const long double&, const complex&); ++_STLP_DECLSPEC complex _STLP_CALL pow(const complex&, + const complex&); + +-__STL_DECLSPEC complex __STL_CALL sin(const complex&); +-__STL_DECLSPEC complex __STL_CALL cos(const complex&); +-__STL_DECLSPEC complex __STL_CALL tan(const complex&); +- +-__STL_DECLSPEC complex __STL_CALL sinh(const complex&); +-__STL_DECLSPEC complex __STL_CALL cosh(const complex&); +-__STL_DECLSPEC complex __STL_CALL tanh(const complex&); +- +-__STL_END_NAMESPACE ++_STLP_DECLSPEC complex _STLP_CALL sin(const complex&); ++_STLP_DECLSPEC complex _STLP_CALL cos(const complex&); ++_STLP_DECLSPEC complex _STLP_CALL tan(const complex&); ++ ++_STLP_DECLSPEC complex _STLP_CALL sinh(const complex&); ++_STLP_DECLSPEC complex _STLP_CALL cosh(const complex&); ++_STLP_DECLSPEC complex _STLP_CALL tanh(const complex&); ++# endif + ++_STLP_END_NAMESPACE + +-# ifndef __STL_LINK_TIME_INSTANTIATION ++# ifndef _STLP_LINK_TIME_INSTANTIATION + # include + # endif + +-#if defined(__MRC__)||defined(__SC__) //*TY 05/01/2000 - added workaround for mpw +-# undef __STL_DO_ABS //*TY 05/01/2000 - claan ups +-# undef __STL_DO_ACOS +-# undef __STL_DO_ASIN +-# undef __STL_DO_ATAN +-# undef __STL_DO_ATAN2 +-# undef __STL_DO_COS +-# undef __STL_DO_COSH +-# undef __STL_DO_LOG +-# undef __STL_DO_LOG10 +-# undef __STL_DO_POW +-# undef __STL_DO_SIN +-# undef __STL_DO_SINH +-# undef __STL_DO_SQRT +-# undef __STL_DO_TAN +-# undef __STL_DO_TANH +-# undef __STL_DO_EXP +-# undef __STL_DO_HYPOT +-#include // can be included once comprex version of math functions are declared +-#endif //*TY 05/01/2000 - +- +-#endif /* __sgi_template_complex */ ++#endif /* _STLP_template_complex */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_config.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_config.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_config.h Sat Feb 24 10:45:18 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_config.h Fri Feb 14 16:26:18 2003 +@@ -1,4 +1,4 @@ +-/* ++ /* + * + * Copyright (c) 1994 + * Hewlett-Packard Company +@@ -23,8 +23,8 @@ + * + */ + +-#ifndef __STL_CONFIG_H +-# define __STL_CONFIG_H ++#ifndef _STLP_CONFIG_H ++# define _STLP_CONFIG_H + + /* + * Purpose of this file : +@@ -40,20 +40,20 @@ + + /* Other macros defined by this file: + +- * bool, true, and false, if __STL_NO_BOOL is defined. ++ * bool, true, and false, if _STLP_NO_BOOL is defined. + * typename, as a null macro if it's not already a keyword. + * explicit, as a null macro if it's not already a keyword. +- * namespace-related macros (__STLPORT_STD, __STL_BEGIN_NAMESPACE, etc.) +- * exception-related macros (__STL_TRY, __STL_UNWIND, etc.) +- * __STL_ASSERT, either as a test or as a null macro, depending on +- whether or not __STL_ASSERTIONS is defined. ++ * namespace-related macros (_STLP_STD, _STLP_BEGIN_NAMESPACE, etc.) ++ * exception-related macros (_STLP_TRY, _STLP_UNWIND, etc.) ++ * _STLP_ASSERT, either as a test or as a null macro, depending on ++ whether or not _STLP_ASSERTIONS is defined. + */ + +-/* SGI basic release */ ++/* The last SGI STL release we merged with */ + # define __SGI_STL 0x330 + +-/* Adaptation version */ +-# define __SGI_STL_PORT 0x400 ++/* STLport version */ ++# define _STLPORT_VERSION 0x452 + + /* Placeholder for user to override settings. + * It could be also used to mask settings from +@@ -61,6 +61,11 @@ + */ + # include + ++/* ========================================================= */ ++/* This file is used for compatibility; it accepts old-style config ++ switches */ ++# include ++ + /* Common configuration file for this particular installation. */ + + # include +@@ -68,7 +73,7 @@ + /* Use per-version compiler recognition */ + # include + +-//========================================================= ++/* ========================================================= */ + + /* some fixes to configuration. This also includes modifications + * of STLport switches depending on compiler flags, +@@ -82,323 +87,294 @@ + * Performs integrity check on user-specified parameters + * and site-specific settings. + */ +-# include +- ++// # include + + /* SGI terms */ + +-#if !defined(__STL_HAS_NAMESPACES) && !defined(__STL_HAS_NO_NAMESPACES) +-# define __STL_HAS_NAMESPACES 1 +-#endif +- +-# if !defined (__STL_NO_PARTIAL_SPECIALIZATION_SYNTAX) && !defined (__STL_PARTIAL_SPECIALIZATION_SYNTAX) +-# define __STL_PARTIAL_SPECIALIZATION_SYNTAX 1 +-# endif +- +-# if !defined (__STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS) && !defined(__STL_EXPLICIT_FUNCTION_TMPL_ARGS) +-# define __STL_EXPLICIT_FUNCTION_TMPL_ARGS 1 ++# if !defined (_STLP_NO_MEMBER_TEMPLATES) && !defined (_STLP_MEMBER_TEMPLATES) ++# define _STLP_MEMBER_TEMPLATES 1 + # endif + +-# if !defined (__STL_NO_MEMBER_TEMPLATES) && !defined (__STL_MEMBER_TEMPLATES) +-# define __STL_MEMBER_TEMPLATES 1 ++# if !defined (_STLP_NO_FRIEND_TEMPLATES) && !defined (_STLP_FRIEND_TEMPLATES) ++# define _STLP_FRIEND_TEMPLATES 1 + # endif + +-# if !defined (__STL_NO_FRIEND_TEMPLATES) && !defined (__STL_FRIEND_TEMPLATES) +-# define __STL_FRIEND_TEMPLATES 1 ++# if !defined (_STLP_NO_MEMBER_TEMPLATE_CLASSES) && !defined (_STLP_MEMBER_TEMPLATE_CLASSES) ++# define _STLP_MEMBER_TEMPLATE_CLASSES 1 + # endif + +-# if !defined (__STL_NO_MEMBER_TEMPLATE_CLASSES) && !defined (__STL_MEMBER_TEMPLATE_CLASSES) +-# define __STL_MEMBER_TEMPLATE_CLASSES 1 +-# endif +- +-#if !defined (__STL_NO_CLASS_PARTIAL_SPECIALIZATION) && !defined (__STL_CLASS_PARTIAL_SPECIALIZATION) +-# define __STL_CLASS_PARTIAL_SPECIALIZATION 1 +-#endif +- +-#if !defined (__STL_FUNCTION_TMPL_PARTIAL_ORDER) && !defined (__STL_NO_FUNCTION_TMPL_PARTIAL_ORDER) +-# define __STL_FUNCTION_TMPL_PARTIAL_ORDER 1 ++#if !defined (_STLP_NO_CLASS_PARTIAL_SPECIALIZATION) && !defined (_STLP_CLASS_PARTIAL_SPECIALIZATION) ++# define _STLP_CLASS_PARTIAL_SPECIALIZATION 1 + #endif + +-#if !defined(__STL_NO_TEMPLATE_CONVERSIONS) && !defined (__SGI_STL_USE_AUTO_PTR_CONVERSIONS) +-# define __SGI_STL_USE_AUTO_PTR_CONVERSIONS ++#if !defined (_STLP_FUNCTION_TMPL_PARTIAL_ORDER) && !defined (_STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER) ++# define _STLP_FUNCTION_TMPL_PARTIAL_ORDER 1 + #endif + +- +-# if !defined (__STL_BIG_ENDIAN) && ! defined (__STL_LITTLE_ENDIAN) ++# if !defined (_STLP_BIG_ENDIAN) && ! defined (_STLP_LITTLE_ENDIAN) + # if defined(_MIPSEB) || defined (__sparc) || \ + defined (_AIX) || defined (__hpux) || defined(macintosh) || defined (_MAC) +-# define __STL_BIG_ENDIAN 1 ++# define _STLP_BIG_ENDIAN 1 + # elif defined(__i386) || defined(_M_IX86) +-# define __STL_LITTLE_ENDIAN 1 ++# define _STLP_LITTLE_ENDIAN 1 + # else +-# define __STL_UNKNOWN_ENDIAN 1 ++# define _STLP_UNKNOWN_ENDIAN 1 + # endif +-# endif /* __STL_BIG_ENDIAN */ ++# endif /* _STLP_BIG_ENDIAN */ + + /* ========================================================== + * final workaround tuning based on given flags + * ========================================================== */ + +-#ifndef __STL_UINT32_T +-# define __STL_UINT32_T unsigned long ++#ifndef _STLP_UINT32_T ++# define _STLP_UINT32_T unsigned long ++#endif ++#ifndef _STLP_ABORT ++# define _STLP_ABORT() abort() + #endif + +-# if !defined (__STL_HAS_NO_NAMESPACES) +-# if defined __STL_NO_NAMESPACES +-# undef __STL_USE_NAMESPACES ++# if !defined (_STLP_HAS_NO_NAMESPACES) ++# if defined _STLP_NO_NAMESPACES ++# undef _STLP_USE_NAMESPACES + # else + /* assume it as the default, turn it off later if NO_NAMESPACES selected */ +-# undef __STL_USE_NAMESPACES +-# define __STL_USE_NAMESPACES 1 ++# undef _STLP_USE_NAMESPACES ++# define _STLP_USE_NAMESPACES 1 + # endif + # endif + +-# if defined (__STL_NO_IOSTREAMS) +-# define __STL_USE_NO_IOSTREAMS ++# if defined (_STLP_NO_IOSTREAMS) ++# define _STLP_USE_NO_IOSTREAMS + # endif + +-# if defined (__STL_USE_NO_IOSTREAMS) +-# undef __STL_USE_NEW_IOSTREAMS ++# if defined (_STLP_USE_NO_IOSTREAMS) ++# undef _STLP_USE_NEW_IOSTREAMS + # endif + +- +-# if ( defined (__SGI_STL_OWN_IOSTREAMS) || \ +- ! defined (__STL_HAS_NO_NEW_IOSTREAMS)) \ +- && ! defined (__STL_USE_NO_IOSTREAMS) && !defined (__STL_USE_NEW_IOSTREAMS) +-# define __STL_USE_NEW_IOSTREAMS ++# if ( defined (_STLP_OWN_IOSTREAMS) || ! defined (_STLP_HAS_NO_NEW_IOSTREAMS)) \ ++ && ! defined (_STLP_USE_NO_IOSTREAMS) && !defined (_STLP_USE_NEW_IOSTREAMS) ++# define _STLP_USE_NEW_IOSTREAMS + # endif + +-# if defined (__STL_NO_NEW_IOSTREAMS) +-# undef __STL_USE_NEW_IOSTREAMS +-# undef __SGI_STL_OWN_IOSTREAMS ++# if defined (_STLP_NO_NEW_IOSTREAMS) ++# undef _STLP_USE_NEW_IOSTREAMS ++# undef _STLP_OWN_IOSTREAMS + # endif + + /* Operating system recognition (basic) */ +-# if defined (__unix) || defined (__linux__) || defined (__QNX__) || defined (_AIX) +-# define __STL_UNIX 1 +-# if defined (__linux__) && ! defined (__STL_USE_GLIBC) +-# define __STL_USE_GLIBC 1 ++# if defined (__unix) || defined (__linux__) || defined (__QNX__) \ ++ || defined (_AIX) || defined (__NetBSD__) || defined(__OpenBSD__) \ ++ || defined (__Lynx__) ++# define _STLP_UNIX 1 ++# if defined (__linux__) && ! defined (_STLP_USE_GLIBC) ++# define _STLP_USE_GLIBC 1 + # endif + # elif defined(macintosh) || defined (_MAC) +-# define __STL_MAC 1 ++# define _STLP_MAC 1 + # elif defined (_WIN32) || defined (__WIN32) || defined (WIN32) || defined (__WIN32__) +-# define __STL_WIN32 1 ++# define _STLP_WIN32 1 + # elif defined (__WIN16) || defined (WIN16) || defined (_WIN16) +-# define __STL_WIN16 ++# define _STLP_WIN16 + # endif /* __unix */ + +-# if !defined(__STL_MAKE_HEADER) +-# define __STL_MAKE_HEADER(path, header) ++# if !defined(_STLP_MAKE_HEADER) ++# define _STLP_MAKE_HEADER(path, header) + # endif + +-#if !defined (__STL_NATIVE_HEADER) +-# if !defined (__STL_NATIVE_INCLUDE_PATH) +-# define __STL_NATIVE_INCLUDE_PATH ../include ++#if !defined (_STLP_NATIVE_HEADER) ++# if !defined (_STLP_NATIVE_INCLUDE_PATH) ++# define _STLP_NATIVE_INCLUDE_PATH ../include + # endif +-# define __STL_NATIVE_HEADER(header) __STL_MAKE_HEADER(__STL_NATIVE_INCLUDE_PATH,header) ++# define _STLP_NATIVE_HEADER(header) _STLP_MAKE_HEADER(_STLP_NATIVE_INCLUDE_PATH,header) + #endif + + /* For some compilers, C headers like are located in separate directory */ +-#if !defined (__STL_NATIVE_C_HEADER) +-# if !defined (__STL_NATIVE_C_INCLUDE_PATH) +-# define __STL_NATIVE_C_INCLUDE_PATH __STL_NATIVE_INCLUDE_PATH ++#if !defined (_STLP_NATIVE_C_HEADER) ++# if !defined (_STLP_NATIVE_C_INCLUDE_PATH) ++# define _STLP_NATIVE_C_INCLUDE_PATH _STLP_NATIVE_INCLUDE_PATH + # endif +-# define __STL_NATIVE_C_HEADER(header) __STL_MAKE_HEADER(__STL_NATIVE_C_INCLUDE_PATH,header) ++# define _STLP_NATIVE_C_HEADER(header) _STLP_MAKE_HEADER(_STLP_NATIVE_C_INCLUDE_PATH,header) + #endif + + /* For some compilers, C-library headers like are located in separate directory */ +-#if !defined (__STL_NATIVE_CPP_C_HEADER) +-# if !defined (__STL_NATIVE_CPP_C_INCLUDE_PATH) +-# define __STL_NATIVE_CPP_C_INCLUDE_PATH __STL_NATIVE_INCLUDE_PATH ++#if !defined (_STLP_NATIVE_CPP_C_HEADER) ++# if !defined (_STLP_NATIVE_CPP_C_INCLUDE_PATH) ++# define _STLP_NATIVE_CPP_C_INCLUDE_PATH _STLP_NATIVE_INCLUDE_PATH + # endif +-# define __STL_NATIVE_CPP_C_HEADER(header) __STL_MAKE_HEADER(__STL_NATIVE_CPP_C_INCLUDE_PATH,header) ++# define _STLP_NATIVE_CPP_C_HEADER(header) _STLP_MAKE_HEADER(_STLP_NATIVE_CPP_C_INCLUDE_PATH,header) + #endif + + /* Some compilers have weird placement of old-style iostream headers */ +-#if !defined ( __STL_NATIVE_OLD_STREAMS_HEADER ) +-# if !defined (__STL_NATIVE_OLD_STREAMS_INCLUDE_PATH) +-# define __STL_NATIVE_OLD_STREAMS_INCLUDE_PATH __STL_NATIVE_INCLUDE_PATH ++#if !defined ( _STLP_NATIVE_OLD_STREAMS_HEADER ) ++# if !defined (_STLP_NATIVE_OLD_STREAMS_INCLUDE_PATH) ++# define _STLP_NATIVE_OLD_STREAMS_INCLUDE_PATH _STLP_NATIVE_INCLUDE_PATH ++# endif ++# define _STLP_NATIVE_OLD_STREAMS_HEADER(header) _STLP_MAKE_HEADER(_STLP_NATIVE_OLD_STREAMS_INCLUDE_PATH,header) ++#endif ++ ++/* Some compilers locate basic C++ runtime support headers (, , ) in separate directory */ ++#if !defined ( _STLP_NATIVE_CPP_RUNTIME_HEADER ) ++# if !defined (_STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH) ++# define _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH _STLP_NATIVE_INCLUDE_PATH + # endif +-# define __STL_NATIVE_OLD_STREAMS_HEADER(header) __STL_MAKE_HEADER(__STL_NATIVE_OLD_STREAMS_INCLUDE_PATH,header) ++# define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) _STLP_MAKE_HEADER(_STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH,header) + #endif + + /* shared library tune-up */ + +-# if defined (__BUILDING_STLPORT) ++#if defined (__BUILDING_STLPORT) + /* if we are rebuilding right now as a DLL, place everything here */ +-# undef __STL_DESIGNATED_DLL +-# define __STL_DESIGNATED_DLL 1 +-# endif +- +-#ifdef __SGI_STL_OWN_IOSTREAMS +- +-# undef __STL_WHOLE_NATIVE_STD +- +-/* tell everybody we are using new iostreams */ +-# if defined (__DECCXX) && ! defined (__USE_STD_IOSTREAM) +-# define __USE_STD_IOSTREAM +-# endif +- ++# undef _STLP_DESIGNATED_DLL ++# define _STLP_DESIGNATED_DLL 1 + #endif + +- + /* Use own namespace always if possible and not explicitly instructed otherwise */ +-# if defined (__STL_USE_NAMESPACES) && !defined (__STL_BROKEN_USING_DIRECTIVE) && \ +- !defined(__STL_NO_OWN_NAMESPACE) +-# undef __STL_USE_OWN_NAMESPACE +-# define __STL_USE_OWN_NAMESPACE 1 +-# else +-# undef __STL_WHOLE_NATIVE_STD +-# endif +- +-# undef __STLPORT_NAMESPACE +-# if defined (__STL_USE_OWN_NAMESPACE) +-# define __STLPORT_NAMESPACE _STL +-# define __STLPORT_DBG_NAMESPACE _STLD +-# else +-# define __STLPORT_NAMESPACE std +-# define __STLPORT_DBG_NAMESPACE stdD +-# endif +- +-# if (defined (__STL_NOTHREADS) || defined (NOTHREADS)) && ! defined (_NOTHREADS) +-# define _NOTHREADS +-# endif +- +-# if defined(_PTHREADS) && !defined(_NOTHREADS) +-# define __STL_PTHREADS +-# endif +-# if defined(_UITHREADS) && !defined(_NOTHREADS) +-# define __STL_UITHREADS +-# endif +-# ifdef _REENTRANT +-# if !defined(_NOTHREADS) +-# if defined (__sgi) +-# define __STL_SGI_THREADS +-# elif (defined (__sun) && defined (__SVR4)) || \ +- (defined(_UITHREADS) || defined (__STL_SOLARIS_THREADS) && !defined(_NOTHREADS) && !defined(_PTHREADS)) +-# define __STL_UITHREADS +-# elif defined (_WIN32) || defined (WIN32) || defined (__WIN32__) +-# define __STL_WIN32THREADS ++# if defined (_STLP_USE_NAMESPACES) && !defined (_STLP_BROKEN_USING_DIRECTIVE) && \ ++ /* !defined (_STLP_OWN_IOSTREAMS) && */ !defined(_STLP_NO_OWN_NAMESPACE) ++# undef _STLP_USE_OWN_NAMESPACE ++# define _STLP_USE_OWN_NAMESPACE 1 ++# else ++# undef _STLP_WHOLE_NATIVE_STD ++# endif ++ ++# undef _STLP_NAMESPACE ++ ++# if !defined(_NOTHREADS) && ! defined (_STLP_THREADS_DEFINED) ++ ++# if defined(_PTHREADS) ++# define _STLP_PTHREADS ++# define _STLP_THREADS ++# endif ++# if defined(_UITHREADS) ++# define _STLP_UITHREADS ++# define _STLP_THREADS ++# endif ++ ++# if defined (__sgi) && ! defined (__KCC) && ! defined (__GNUC__) ++# define _STLP_SGI_THREADS ++# elif defined(__DECC) || defined(__DECCXX) ++# define _STLP_DEC_THREADS ++# elif defined (_STLP_WIN32) && ! defined (_STLP_PTHREADS) ++# define _STLP_WIN32THREADS 1 ++# elif ((defined (__sun) && !defined (__linux__)) \ ++ || defined(_UITHREADS) ) && !defined(_STLP_PTHREADS) ++# define _STLP_UITHREADS ++# elif defined (__OS2__) ++# define _STLP_OS2THREADS ++# elif defined(__BEOS__) ++# define _STLP_BETHREADS + # else +-# define __STL_PTHREADS ++# define _STLP_PTHREADS + # endif /* __sgi */ +-# endif /* _NOTHREADS */ +-# endif /* _REENTRANT */ ++# define _STLP_THREADS_DEFINED ++# endif ++ ++# if defined (_REENTRANT) && ! defined (_STLP_THREADS) ++# define _STLP_THREADS ++# endif /* _REENTRANT */ + +-# define _STL_STATIC_MUTEX _STL_mutex_base ++# define _STLP_STATIC_MUTEX _STLP_mutex_base + +-# if defined (_MFC_VER) && !defined (__STL_USE_MFC) +-# define __STL_USE_MFC 1 ++# if defined (_MFC_VER) && !defined (_STLP_USE_MFC) ++# define _STLP_USE_MFC 1 + # endif + +-#if defined(__STL_WIN32THREADS) || defined(__STL_SGI_THREADS) \ +- || defined(__STL_PTHREADS) || defined(__STL_UITHREADS) +-# define __STL_THREADS +-# define __STL_VOLATILE volatile ++#if defined (_STLP_THREADS) ++# define _STLP_VOLATILE volatile + /* windows.h _MUST be included before bool definition ;( */ +-# if defined (__STL_WIN32THREADS) && defined (__STL_NO_BOOL) ++# if defined (_STLP_WIN32THREADS) && defined (_STLP_NO_BOOL) + # undef NOMINMAX + # define NOMINMAX +-# ifdef __STL_USE_MFC ++# ifdef _STLP_USE_MFC + # include + # else + # include + # endif +-# undef min +-# undef max +-# define __STLPORT_WINDOWS_H_INCLUDED ++# define _STLP_WINDOWS_H_INCLUDED + # endif + #else +-# define __STL_VOLATILE ++# define _STLP_VOLATILE + #endif + +-# if !defined ( __STL_USE_NEW_C_HEADERS ) && !defined ( __STL_HAS_NO_NEW_C_HEADERS ) +-# define __STL_USE_NEW_C_HEADERS ++# if !defined ( _STLP_USE_NEW_C_HEADERS ) && !defined ( _STLP_HAS_NO_NEW_C_HEADERS ) ++# define _STLP_USE_NEW_C_HEADERS + # endif + /* disable new-style headers if requested */ +-# if defined ( __STL_NO_NEW_C_HEADERS ) +-# undef __STL_USE_NEW_C_HEADERS ++# if defined ( _STLP_NO_NEW_C_HEADERS ) ++# undef _STLP_USE_NEW_C_HEADERS + # endif + +-# if !defined ( __STL_STATIC_TEMPLATE_DATA ) +-# define __STL_STATIC_TEMPLATE_DATA 1 ++# if !defined ( _STLP_STATIC_TEMPLATE_DATA ) ++# define _STLP_STATIC_TEMPLATE_DATA 1 + # endif + +-#ifdef __STL_STATIC_CONST_INIT_BUG +-# define __STL_INLINE_STATIC_INIT(__x) +-# define __STL_OUTLINE_STATIC_INIT(__x) = __x +-#else +-# define __STL_INLINE_STATIC_INIT(__x) = __x +-# define __STL_OUTLINE_STATIC_INIT(__x) +-#endif +- +-# if defined (__STL_BASE_TYPEDEF_BUG) +-# undef __STL_BASE_TYPEDEF_OUTSIDE_BUG +-# define __STL_BASE_TYPEDEF_OUTSIDE_BUG 1 ++# if defined (_STLP_BASE_TYPEDEF_BUG) ++# undef _STLP_BASE_TYPEDEF_OUTSIDE_BUG ++# define _STLP_BASE_TYPEDEF_OUTSIDE_BUG 1 + # endif + +-# if defined ( __STL_NESTED_TYPE_PARAM_BUG ) || (defined (__STL_MSVC) && (__STL_MSVC < 1100)) +-# define __STL_GLOBAL_NESTED_RETURN_TYPE_PARAM_BUG ++# if defined ( _STLP_NESTED_TYPE_PARAM_BUG ) || (defined (_STLP_MSVC) && (_STLP_MSVC < 1100)) ++# define _STLP_GLOBAL_NESTED_RETURN_TYPE_PARAM_BUG + # endif + + /* SUNpro 4.2 inline string literal bug */ +-#ifdef __STL_INLINE_STRING_LITERAL_BUG +-# define __STL_FIX_LITERAL_BUG(__x) __x=__x; ++#ifdef _STLP_INLINE_STRING_LITERAL_BUG ++# define _STLP_FIX_LITERAL_BUG(__x) __x=__x; + #else +-# define __STL_FIX_LITERAL_BUG(__x) ++# define _STLP_FIX_LITERAL_BUG(__x) + #endif + +-# if defined (__STL_NON_TYPE_TMPL_PARAM_BUG) +-# undef __STL_NO_DEFAULT_NON_TYPE_PARAM +-# define __STL_NO_DEFAULT_NON_TYPE_PARAM 1 ++# if defined (_STLP_NON_TYPE_TMPL_PARAM_BUG) ++# undef _STLP_NO_DEFAULT_NON_TYPE_PARAM ++# define _STLP_NO_DEFAULT_NON_TYPE_PARAM 1 + # endif + +-# define __STL_NEW new +-# define __STL_PLACEMENT_NEW new ++# define _STLP_NEW new ++# define _STLP_PLACEMENT_NEW new + +-# ifdef __STL_DEBUG +-# define __STL_ASSERTIONS 1 ++# ifdef _STLP_DEBUG ++# define _STLP_ASSERTIONS 1 + # endif + +-/* apple mpw exception handling bug */ //*TY 06/01/2000 - added default definitions +-#ifndef __STL_MPWFIX_TRY +-# define __STL_MPWFIX_TRY ++/* apple mpw exception handling bug */ ++#ifndef _STLP_MPWFIX_TRY ++# define _STLP_MPWFIX_TRY + #endif +-#ifndef __STL_MPWFIX_CATCH +-# define __STL_MPWFIX_CATCH ++#ifndef _STLP_MPWFIX_CATCH ++# define _STLP_MPWFIX_CATCH + #endif +-#ifndef __STL_MPWFIX_CATCH_ACTION +-# define __STL_MPWFIX_CATCH_ACTION(action) ++#ifndef _STLP_MPWFIX_CATCH_ACTION ++# define _STLP_MPWFIX_CATCH_ACTION(action) + #endif + +-/* if __STL_DEBUG or __STL_ASSERTIONS are set, stl/debug/_debug.h defines those */ ++/* if _STLP_DEBUG or _STLP_ASSERTIONS are set, stl/debug/_debug.h defines those */ + +-# if !defined( __STL_ASSERTIONS ) && !defined(__STL_DEBUG) && !defined(__STL_DEBUG_ALLOC) +-# define __STL_ASSERT(expr) ++# if !defined( _STLP_ASSERTIONS ) && !defined(_STLP_DEBUG) && !defined(_STLP_DEBUG_ALLOC) ++# define _STLP_ASSERT(expr) + # endif + +-# ifndef __STL_DEBUG +-# define __STL_VERBOSE_ASSERT(expr,diagnostic) +-# define __STL_DEBUG_CHECK(expr) +-# define __STL_DEBUG_DO(expr) ++# ifndef _STLP_DEBUG ++# define _STLP_VERBOSE_ASSERT(expr,diagnostic) ++# define _STLP_DEBUG_CHECK(expr) ++# define _STLP_DEBUG_DO(expr) + # endif + +-# if !defined (__STL_WEAK) +-# define __STL_WEAK ++# if !defined (_STLP_WEAK) ++# define _STLP_WEAK + # endif + + /* default parameters as template types derived from arguments ( not always supported ) */ +-# if defined (__STL_LIMITED_DEFAULT_TEMPLATES) ++# if defined (_STLP_LIMITED_DEFAULT_TEMPLATES) + # define __DFL_TMPL_PARAM( classname, defval ) class classname + # define __DFL_TMPL_ARG(classname) , classname + # else +-# define __STL_DEFAULT_TYPE_PARAM 1 ++# define _STLP_DEFAULT_TYPE_PARAM 1 + # define __DFL_TMPL_PARAM( classname, defval ) class classname = defval + # define __DFL_TMPL_ARG(classname) + # endif + + /* default parameters as complete types */ +-# if defined ( __STL_DEFAULT_TYPE_PARAM ) ++# if defined ( _STLP_DEFAULT_TYPE_PARAM ) + # define __DFL_TYPE_PARAM( classname, defval ) class classname = defval + # define __DFL_NON_TYPE_PARAM(type,name,val) type name = val + # define __DFL_TYPE_ARG(classname) +@@ -410,366 +386,343 @@ + + /* SGI compatibility */ + +-#ifdef __STL_NO_WCHAR_T +-# ifndef __STL_NO_NATIVE_WIDE_STREAMS +-# define __STL_NO_NATIVE_WIDE_STREAMS 1 ++#ifdef _STLP_NO_WCHAR_T ++# ifndef _STLP_NO_NATIVE_WIDE_STREAMS ++# define _STLP_NO_NATIVE_WIDE_STREAMS 1 + # endif + #else +-# define __STL_HAS_WCHAR_T 1 ++# define _STLP_HAS_WCHAR_T 1 + #endif + +-#if !defined (__STL_NO_AT_MEMBER_FUNCTION) +-# define __STL_CAN_THROW_RANGE_ERRORS 1 ++#if !defined (_STLP_NO_AT_MEMBER_FUNCTION) ++# define _STLP_CAN_THROW_RANGE_ERRORS 1 + #endif + +-/* __STL_USE_SGI_ALLOCATORS is a hook so that users can +- * disable allocator<_Tp> as default, and continue to use the same kind of +- * allocators as before, without having to edit library headers. +- */ +- +-# if !defined (__STL_USE_SGI_ALLOCATORS) +-# define __STL_DEFAULT_ALLOCATOR(_Tp) allocator< _Tp > +-# define __STL_DEFAULT_ALLOCATOR_SELECT( _Tp ) __DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) +-# define __STL_DEFAULT_PAIR_ALLOCATOR(_Key, _Tp) allocator< pair < _Key, _Tp > > +-# if defined (__STL_LIMITED_DEFAULT_TEMPLATES) +-# define __STL_DEFAULT_PAIR_ALLOCATOR_SELECT(_Key, _Tp ) class _Alloc +-# define __STL_USE_WRAPPER_FOR_ALLOC_PARAM 1 ++# if !defined (_STLP_USE_RAW_SGI_ALLOCATORS) ++# define _STLP_DEFAULT_ALLOCATOR(_Tp) allocator< _Tp > ++# define _STLP_DEFAULT_ALLOCATOR_SELECT( _Tp ) __DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) ++# define _STLP_DEFAULT_PAIR_ALLOCATOR(_Key, _Tp) allocator< pair < _Key, _Tp > > ++# if defined (_STLP_LIMITED_DEFAULT_TEMPLATES) ++# define _STLP_DEFAULT_PAIR_ALLOCATOR_SELECT(_Key, _Tp ) class _Alloc ++# define _STLP_USE_WRAPPER_FOR_ALLOC_PARAM 1 + # else +-# define __STL_DEFAULT_PAIR_ALLOCATOR_SELECT(_Key, _Tp ) \ ++# define _STLP_DEFAULT_PAIR_ALLOCATOR_SELECT(_Key, _Tp ) \ + class _Alloc = allocator< pair < _Key, _Tp > > + # endif + # else +-# define __STL_DEFAULT_ALLOCATOR( _Tp ) __sgi_alloc +-# define __STL_DEFAULT_ALLOCATOR_SELECT( _Tp ) __DFL_TYPE_PARAM(_Alloc,__sgi_alloc) +-# define __STL_DEFAULT_PAIR_ALLOCATOR( _Key, _Tp ) __sgi_alloc +-# define __STL_DEFAULT_PAIR_ALLOCATOR_SELECT(_Key, _Tp ) __DFL_TYPE_PARAM(_Alloc,__sgi_alloc) +-# if defined (__STL_LIMITED_DEFAULT_TEMPLATES) && !defined (__STL_DEFAULT_TYPE_PARAM) +-# define __STL_USE_WRAPPER_FOR_ALLOC_PARAM 1 ++# define _STLP_DEFAULT_ALLOCATOR( _Tp ) __sgi_alloc ++# define _STLP_DEFAULT_ALLOCATOR_SELECT( _Tp ) __DFL_TYPE_PARAM(_Alloc,__sgi_alloc) ++# define _STLP_DEFAULT_PAIR_ALLOCATOR( _Key, _Tp ) __sgi_alloc ++# define _STLP_DEFAULT_PAIR_ALLOCATOR_SELECT(_Key, _Tp ) __DFL_TYPE_PARAM(_Alloc,__sgi_alloc) ++# if defined (_STLP_LIMITED_DEFAULT_TEMPLATES) && !defined (_STLP_DEFAULT_TYPE_PARAM) ++# define _STLP_USE_WRAPPER_FOR_ALLOC_PARAM 1 + # endif + # endif + + /* default parameters workaround tuning */ +-# if defined ( __STL_USE_WRAPPER_FOR_ALLOC_PARAM ) ++# if defined ( _STLP_USE_WRAPPER_FOR_ALLOC_PARAM ) + # define __WORKAROUND_RENAME(X) __##X + # else + # define __WORKAROUND_RENAME(X) X + # endif +-# if defined ( __STL_DEBUG ) ++# if defined ( _STLP_DEBUG ) + # define __WORKAROUND_DBG_RENAME(X) __##X + # else + # define __WORKAROUND_DBG_RENAME(X) __WORKAROUND_RENAME(X) + # endif + # define __FULL_NAME(X) __WORKAROUND_RENAME(X) + +-/* macro to convert the allocator for initialization +- * not using MEMBER_TEMPLATE_CLASSES as it should work given template constructor */ +-#if defined (__STL_MEMBER_TEMPLATES) || ! defined (__STL_CLASS_PARTIAL_SPECIALIZATION) +- +-/* if __STL_NO_TEMPLATE_CONVERSIONS is set, the member template constructor is +- * not used implicitly to convert allocator parameter, so let us do it explicitly */ +-# if defined (__STL_MEMBER_TEMPLATE_CLASSES) && defined (__STL_NO_TEMPLATE_CONVERSIONS) +-# define __STL_CONVERT_ALLOCATOR(__a, _Tp) __a.rebind<_Tp>::other(__a) +-# else +-# define __STL_CONVERT_ALLOCATOR(__a, _Tp) __a +-# endif +- +-/* else convert, but only if partial specialization works, since else +- * Container::allocator_type won't be different */ +-#else +-# define __STL_CONVERT_ALLOCATOR(__a, _Tp) __stl_alloc_create(__a,(_Tp*)0) +-#endif +- +-#ifdef __STL_MEMBER_TEMPLATE_CLASSES +-# define __STL_REBIND_ALLOCATOR(__a, _Tp) __a +-#else +-# define __STL_REBIND_ALLOCATOR(__a, _Tp) __stl_alloc_rebind(__a,(_Tp*)0) +-#endif +- +-/* namespace stuff adjustment */ +-# if defined (__STL_USE_NAMESPACES) && defined (__cplusplus) +-# ifdef __STL_DEBUG +-# define __STLPORT_NONDBG_STD __STLPORT_DBG_NAMESPACE +-# define __STLPORT_DBG_STD __STLPORT_DBG_NAMESPACE +-# else +-# define __STLPORT_NONDBG_STD __STLPORT_NAMESPACE +-# define __STLPORT_DBG_STD __STLPORT_NAMESPACE +-# endif +-# endif +- +-/* provide a mechanism to redefine std:: namespace in a way that is transparent to the +- * user. __STL_REDEFINE_STD is being used for wrapper files that include native headers +- * to temporary undef the std macro. */ +-# if defined ( __STL_USE_NAMESPACES ) && defined ( __STL_USE_OWN_NAMESPACE ) && \ +- ! defined ( __STL_DONT_REDEFINE_STD ) +-# define __STL_REDEFINE_STD 1 +-# else +-# undef __STL_REDEFINE_STD +-# endif +- + /* this always mean the C library is in global namespace */ +-# if defined (__STL_HAS_NO_NEW_C_HEADERS) && ! defined (__STL_VENDOR_GLOBAL_CSTD) +-# define __STL_VENDOR_GLOBAL_CSTD 1 ++# if defined (_STLP_HAS_NO_NEW_C_HEADERS) && ! defined (_STLP_VENDOR_GLOBAL_CSTD) ++# define _STLP_VENDOR_GLOBAL_CSTD 1 + # endif + + /* Depending of whether compiler supports namespaces, + * tune the parameters for vendor-supplied libraries. +- * This section is guarded by __STL_HAS_NO_NAMESPACES, not by __STL_USE_NAMESPACES, ++ * This section is guarded by _STLP_HAS_NO_NAMESPACES, not by _STLP_USE_NAMESPACES, + * since it depends only on the native features, not on user's preference whether + * to use namespace for STLport or not. + */ +-# if !defined (__STL_HAS_NO_NAMESPACES) ++# if !defined (_STLP_HAS_NO_NAMESPACES) + /* Import some vendor's headers into corresponding STLport ones if they might be needed + * (if we wrap native iostreams and use namepace other than std::) */ +-# if ( defined (__STL_USE_OWN_NAMESPACE) || \ +- ( defined (__STL_DEBUG) && defined (__STL_USE_NAMESPACES) ) \ +- ) && defined (__STL_USE_NEW_IOSTREAMS) && ! defined (__SGI_STL_OWN_IOSTREAMS) +-# define __STL_IMPORT_VENDOR_STD 1 ++# if defined (_STLP_WHOLE_NATIVE_STD) ++# define _STLP_IMPORT_VENDOR_STD 1 ++# undef _STLP_MINIMUM_IMPORT_STD ++# elif (defined (_STLP_USE_OWN_NAMESPACE) || ( defined (_STLP_DEBUG) && defined (_STLP_USE_NAMESPACES))) \ ++ && defined (_STLP_USE_NEW_IOSTREAMS) && ! defined (_STLP_OWN_IOSTREAMS) ++# define _STLP_IMPORT_VENDOR_STD 1 + # endif + + /* if using stlport:: namespace or if C library stuff is not in vendor's std::, + * try importing 'em. + * MSVC has ambiguity problem when we try to import C-style std:: stuff back into global namespace */ +-# if defined (__STL_USE_NAMESPACES) && \ +- ( defined(__STL_USE_OWN_NAMESPACE) || defined (__STL_DEBUG) || defined (__STL_VENDOR_GLOBAL_CSTD)) +-# define __STL_IMPORT_VENDOR_CSTD 1 ++# if defined (_STLP_USE_NAMESPACES) && /* ! defined (_STLP_OWN_IOSTREAMS) && */ \ ++ ( defined(_STLP_USE_OWN_NAMESPACE) || defined (_STLP_VENDOR_GLOBAL_CSTD)) ++# define _STLP_IMPORT_VENDOR_CSTD 1 + # endif + +-# if defined (__STL_NO_USING_FOR_GLOBAL_FUNCTIONS) && ! defined (__STL_DO_IMPORT_CSTD_FUNCTIONS) +-# define __STL_NO_CSTD_FUNCTION_IMPORTS ++# if defined (_STLP_NO_USING_FOR_GLOBAL_FUNCTIONS) && ! defined (_STLP_DO_IMPORT_CSTD_FUNCTIONS) ++# define _STLP_NO_CSTD_FUNCTION_IMPORTS + # endif + +-# define __STL_USING_NAMESPACE(x) using namespace x ; ++# define _STLP_USING_NAMESPACE(x) using namespace x ; + + namespace std { } + namespace __std_alias = std; + + /* assume std:: namespace for C++ std library if not being told otherwise */ +-# ifdef __STL_VENDOR_GLOBAL_STD +-# define __STL_VENDOR_STD +-# define __STL_USING_VENDOR_STD +-# else +-# define __STL_VENDOR_STD __std_alias +-# define __STL_USING_VENDOR_STD __STL_USING_NAMESPACE(__STL_VENDOR_STD) ++# ifdef _STLP_VENDOR_GLOBAL_STD ++# define _STLP_VENDOR_STD ++# define _STLP_USING_VENDOR_STD ++# else ++# define _STLP_VENDOR_STD __std_alias ++# define _STLP_USING_VENDOR_STD _STLP_USING_NAMESPACE(_STLP_VENDOR_STD) ++// # define _STLP_USING_VENDOR_STD + # endif + + /* tune things that come from C library */ +-# if defined (__STL_VENDOR_GLOBAL_CSTD) || !defined(__STL_USE_NEW_C_HEADERS) ++# if defined (_STLP_VENDOR_GLOBAL_CSTD) || !defined(_STLP_USE_NEW_C_HEADERS) + /* in old-style headers, C functions go to global scope. */ +-# define __STL_VENDOR_CSTD +-# define __STL_USING_VENDOR_CSTD ++# define _STLP_VENDOR_CSTD ++# define _STLP_USING_VENDOR_CSTD + # else +-# define __STL_VENDOR_CSTD __STL_VENDOR_STD +-# define __STL_USING_VENDOR_CSTD __STL_USING_NAMESPACE(__STL_VENDOR_CSTD) +-# endif /* __STL_VENDOR_CSTD */ ++# define _STLP_VENDOR_CSTD _STLP_VENDOR_STD ++# define _STLP_USING_VENDOR_CSTD _STLP_USING_NAMESPACE(_STLP_VENDOR_CSTD) ++# endif /* _STLP_VENDOR_CSTD */ + /* exception, typeinfo, new - always come from the vendor */ +-# ifdef __STL_VENDOR_GLOBAL_EXCEPT_STD +-# define __STL_VENDOR_EXCEPT_STD ++# ifdef _STLP_VENDOR_GLOBAL_EXCEPT_STD ++# define _STLP_VENDOR_EXCEPT_STD + # else +-# define __STL_VENDOR_EXCEPT_STD __STL_VENDOR_STD ++# define _STLP_VENDOR_EXCEPT_STD _STLP_VENDOR_STD + # endif +-# define __STL_OLD_IO_NAMESPACE +-# ifndef __STL_VENDOR_MB_NAMESPACE +-# define __STL_VENDOR_MB_NAMESPACE __STL_VENDOR_CSTD ++# define _STLP_OLD_IO_NAMESPACE ++# ifndef _STLP_VENDOR_MB_NAMESPACE ++# define _STLP_VENDOR_MB_NAMESPACE _STLP_VENDOR_CSTD + # endif +-# ifndef __STL_USING_BASE_MEMBER +-# define __STL_USING_BASE_MEMBER using +-# endif + # else + /* compiler has no namespace support */ +-# define __STL_VENDOR_STD +-# define __STL_VENDOR_CSTD +-# define __STL_USING_BASE_MEMBER +-# define __STL_USING_NAMESPACE(x) +-# define __STL_USING_VENDOR_CSTD +-# define __STL_USING_VENDOR_STD +-# define __STL_VENDOR_EXCEPT_STD ++# define _STLP_VENDOR_STD ++# define _STLP_VENDOR_CSTD ++# define _STLP_USING_NAMESPACE(x) ++# define _STLP_USING_VENDOR_CSTD ++# define _STLP_USING_VENDOR_STD ++# define _STLP_VENDOR_EXCEPT_STD + # endif + +-# if defined (__STL_USE_NAMESPACES) +-/* SGI terms */ +-/* user level defines for STLport stuff and C-related stuff. */ +-# ifdef __STL_DEBUG +-# define __STLPORT_STD __STLPORT_DBG_STD +-# else +-# define __STLPORT_STD __STLPORT_NONDBG_STD +-# endif +-# define __STL_BEGIN_NAMESPACE namespace __STLPORT_STD { +-# define __STL_END_NAMESPACE } +-__STL_BEGIN_NAMESPACE __STL_END_NAMESPACE +-namespace stlport = __STLPORT_STD; ++# if defined (_STLP_USE_NAMESPACES) ++ ++# if defined (_STLP_USE_OWN_NAMESPACE) ++# define _STLP_STD _STL ++# else ++# ifdef _STLP_DEBUG ++namespace stdD = std; ++# endif ++# define _STLP_STD std ++# endif /* _STLP_USE_OWN_NAMESPACE */ ++ ++# define _STLP_BEGIN_NAMESPACE namespace _STLP_STD { ++# define _STLP_END_NAMESPACE } ++ ++_STLP_BEGIN_NAMESPACE _STLP_END_NAMESPACE ++ ++namespace stlport = _STLP_STD; ++// backward compatibility ++# undef __STLPORT_NAMESPACE ++# define __STLPORT_NAMESPACE _STLP_STD + +-# define __STL_USE_NAMESPACE_FOR_RELOPS + /* decide whether or not we use separate namespace for rel ops */ +-# if defined(__STL_NO_RELOPS_NAMESPACE) +-# define __STL_BEGIN_RELOPS_NAMESPACE __STL_BEGIN_NAMESPACE namespace rel_ops {} +-# define __STL_END_RELOPS_NAMESPACE } +-# define __STLPORT_STD_RELOPS STLPORT ++# if defined(_STLP_NO_RELOPS_NAMESPACE) ++# define _STLP_BEGIN_RELOPS_NAMESPACE _STLP_BEGIN_NAMESPACE namespace rel_ops {} ++# define _STLP_END_RELOPS_NAMESPACE } + # else + /* Use std::rel_ops namespace */ +-# define __STLPORT_STD_RELOPS STLPORT::rel_ops +-# define __STL_BEGIN_RELOPS_NAMESPACE __STL_BEGIN_NAMESPACE namespace rel_ops { +-# define __STL_END_RELOPS_NAMESPACE } } +-# define __STL_USE_SEPARATE_RELOPS_NAMESPACE ++# define _STLP_BEGIN_RELOPS_NAMESPACE _STLP_BEGIN_NAMESPACE namespace rel_ops { ++# define _STLP_END_RELOPS_NAMESPACE } } ++# define _STLP_USE_SEPARATE_RELOPS_NAMESPACE + # endif /* Use std::rel_ops namespace */ + +-# else /* __STL_USE_NAMESPACES */ ++# else /* _STLP_USE_NAMESPACES */ + /* STLport is being put into global namespace */ +-# define __STLPORT_STD +-# define __STLPORT_DBG_STD +-# define __STL_BEGIN_NAMESPACE +-# define __STL_END_NAMESPACE +-# undef __STL_USE_NAMESPACE_FOR_RELOPS +-// boris : postponed until next release. For now, define +-// __STL_USE_SEPARATE_RELOPS_NAMESPACE yourselves if you do not want +-// relational operator templetes in global namespace +-//# ifndef __STL_NO_RELOPS_NAMESPACE +-//# define __STL_USE_SEPARATE_RELOPS_NAMESPACE +-//# endif +-# define __STL_BEGIN_RELOPS_NAMESPACE +-# define __STL_END_RELOPS_NAMESPACE +-# define __STLPORT_STD_RELOPS +-# undef __STL_USE_OWN_NAMESPACE +-# endif /* __STL_USE_NAMESPACES */ ++# define _STLP_STD ++# define _STLP_BEGIN_NAMESPACE ++# define _STLP_END_NAMESPACE ++ ++/* boris : it was found out that _STLP_USE_SEPARATE_RELOPS_NAMESPACE ++ causes less problems than having relational operator templates in global namespace ++ Please define _STLP_NO_RELOPS_NAMESPACE in stl_user_config.h if your code rely on them. */ ++# ifndef _STLP_NO_RELOPS_NAMESPACE ++# define _STLP_USE_SEPARATE_RELOPS_NAMESPACE ++# endif ++# define _STLP_BEGIN_RELOPS_NAMESPACE ++# define _STLP_END_RELOPS_NAMESPACE ++# undef _STLP_USE_OWN_NAMESPACE ++# endif /* _STLP_USE_NAMESPACES */ + +-# define STLPORT_CSTD __STL_VENDOR_CSTD +-# define STLPORT __STLPORT_STD ++# define STLPORT_CSTD _STLP_VENDOR_CSTD ++# define STLPORT _STLP_STD + +-#if defined(__STL_BOGUS_TEMPLATE_TYPE_MATCHING_BUG) +-# define __STL_SIMPLE_TYPE(T) _stl_trivial_proxy ++#if defined(_STLP_BOGUS_TEMPLATE_TYPE_MATCHING_BUG) ++# define _STLP_SIMPLE_TYPE(T) _stl_trivial_proxy + #else +-# define __STL_SIMPLE_TYPE(T) T ++# define _STLP_SIMPLE_TYPE(T) T + #endif + + /* if we are going to use native new iostreams, use native and */ +-# if defined (__STL_USE_NEW_IOSTREAMS) && \ +- !defined (__STL_USE_SGI_STRING) && !defined (__SGI_STL_OWN_IOSTREAMS) +-# define __STL_USE_NATIVE_STRING 1 +-# define __STL_USE_NATIVE_STDEXCEPT 1 +-# endif /* __STL_USE_NEW_IOSTREAMS */ +- +-# if defined(__STL_MSVC) && defined (__STL_USE_NEW_IOSTREAMS) && ! defined (__SGI_STL_OWN_IOSTREAMS) && \ +- !defined (__STL_USE_OWN_NAMESPACE) && ! defined (__STL_STD_REBUILD) && defined (__STL_USE_SGI_STRING) +-# if !defined (CRTDLL2) +-# error "You have to #define CRTDLL2, and to link dynamically to work with and SGI , or to #define __STL_OWN_NAMESPACE. Read README.VC++" +-# endif /* CRTDLL2 */ +-# endif /* __STL_MSVC */ ++# if defined (_STLP_USE_NEW_IOSTREAMS) && !defined (_STLP_OWN_IOSTREAMS) ++# define _STLP_USE_NATIVE_STRING 1 ++# define _STLP_USE_NATIVE_STDEXCEPT 1 ++# endif + +-# ifndef __STL_RAND48 +-# define __STL_NO_DRAND48 ++# ifndef _STLP_RAND48 ++# define _STLP_NO_DRAND48 + # endif + + /* backwards compatibility */ +-# define __STL_NAMESPACE __STLPORT_NAMESPACE +-# define __STL_NAME(name) __STLPORT_NAMESPACE::name // Lo Russo Graziano ++# define __STL_NAMESPACE _STLP_STD ++# define __STL_NAME(name) _STLP_STD::name + + /* advanced keywords usage */ +-# ifndef __STL_NO_NEW_STYLE_CASTS ++# ifndef _STLP_NO_NEW_STYLE_CASTS + # define __CONST_CAST(__x,__y) const_cast<__x>(__y) + # define __STATIC_CAST(__x,__y) static_cast<__x>(__y) + # define __REINTERPRET_CAST(__x,__y) reinterpret_cast<__x>(__y) + # define __DYNAMIC_CAST(__x,__y) dynamic_cast<__x>(__y) + # else +-# define __STATIC_CAST(__x,__y) ((__x)__y) +-# define __CONST_CAST(__x,__y) ((__x)__y) +-# define __REINTERPRET_CAST(__x,__y) ((__x)__y) +-# define __DYNAMIC_CAST(__x,__y) ((__x)__y) ++# define __STATIC_CAST(__x,__y) ((__x)(__y)) ++# define __CONST_CAST(__x,__y) ((__x)(__y)) ++# define __REINTERPRET_CAST(__x,__y) ((__x)(__y)) ++# define __DYNAMIC_CAST(__x,__y) ((__x)(__y)) + # endif +-# ifdef __STL_NEED_TYPENAME ++# if defined (_STLP_NEED_TYPENAME) && ! defined (typename) + # define typename + # endif +-# if defined (__STL_NEED_TYPENAME) || defined (__STL_NO_TYPENAME_ON_RETURN_TYPE ) +-# define __STL_TYPENAME_ON_RETURN_TYPE ++# if defined (_STLP_NEED_TYPENAME) || defined (_STLP_NO_TYPENAME_ON_RETURN_TYPE ) ++# define _STLP_TYPENAME_ON_RETURN_TYPE + # else +-# define __STL_TYPENAME_ON_RETURN_TYPE typename ++# define _STLP_TYPENAME_ON_RETURN_TYPE typename + # endif +-# ifdef __STL_NO_TYPENAME_IN_TEMPLATE_HEADER +-# define __STL_HEADER_TYPENAME ++# ifdef _STLP_NO_TYPENAME_IN_TEMPLATE_HEADER ++# define _STLP_HEADER_TYPENAME + # else +-# define __STL_HEADER_TYPENAME typename ++# define _STLP_HEADER_TYPENAME typename + # endif +-# ifndef __STL_NO_MEMBER_TEMPLATE_KEYWORD +-# define __STL_TEMPLATE template ++# ifndef _STLP_NO_MEMBER_TEMPLATE_KEYWORD ++# define _STLP_TEMPLATE template + # else +-# define __STL_TEMPLATE ++# define _STLP_TEMPLATE + # endif +-# ifdef __STL_NEED_EXPLICIT ++# if defined (_STLP_NEED_EXPLICIT) && ! defined (explicit) + # define explicit + # endif +-# ifndef __STL_NEED_MUTABLE ++# ifndef _STLP_NEED_MUTABLE + # define __ASSIGN_MUTABLE(type,x,y) x=y + # else + # define __ASSIGN_MUTABLE(type,x,y) __CONST_CAST(type,x)=y + # define mutable + # endif +-# if defined (__STL_NO_SIGNED_BUILTINS) +-/* old HP-UX don't understand "signed" keyword */ ++# if defined (_STLP_NO_SIGNED_BUILTINS) ++/* old HP-UX doesn't understand "signed" keyword */ + # define signed + # endif + +-# if defined (__STL_LOOP_INLINE_PROBLEMS) +-# define __STL_INLINE_LOOP ++# if defined (_STLP_LOOP_INLINE_PROBLEMS) ++# define _STLP_INLINE_LOOP + # else +-# define __STL_INLINE_LOOP inline ++# define _STLP_INLINE_LOOP inline + # endif + +-# define __PRIVATE public +-# define __PROTECTED public ++# define _STLP_PRIVATE public ++# define _STLP_PROTECTED public + +-# ifndef __STL_NO_PARTIAL_SPECIALIZATION_SYNTAX +-# define __STL_TEMPLATE_NULL template<> ++# ifndef _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX ++# define _STLP_TEMPLATE_NULL template<> + # else +-# define __STL_TEMPLATE_NULL ++# define _STLP_TEMPLATE_NULL + # endif + +-# ifdef __STL_CLASS_PARTIAL_SPECIALIZATION +-# else +-// In 4.0, iterator_category()/value_type()/distance_type() are used by default when no partial spec is available. +-// For your own iterators, please use inheritance from iterator<> instead of these obsolete queries. +-# if defined (__STL_NESTED_TYPE_PARAM_BUG) || (! defined ( __STL_NO_OLD_HP_ITERATOR_QUERIES ) && ! defined ( __STL_NO_ANACHRONISMS ) && ! defined ( __STL_USE_OLD_HP_ITERATOR_QUERIES ) ) +-# define __STL_USE_OLD_HP_ITERATOR_QUERIES ++#ifdef _STLP_FUNCTION_TMPL_PARTIAL_ORDER ++# define _STLP_OPERATOR_TEMPLATE ++# else ++# define _STLP_OPERATOR_TEMPLATE _STLP_TEMPLATE_NULL ++#endif ++ ++# ifndef _STLP_CLASS_PARTIAL_SPECIALIZATION ++/* unless we have other compiler problem, try simulating partial spec here */ ++# if ! defined (_STLP_DONT_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS) ++# define _STLP_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS ++# endif ++/* For your own iterators, please use inheritance from iterator<> instead of these obsolete queries. */ ++# if ( defined (_STLP_NESTED_TYPE_PARAM_BUG) || !defined (_STLP_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS)) ++# if ! defined ( _STLP_USE_OLD_HP_ITERATOR_QUERIES ) ++# define _STLP_USE_OLD_HP_ITERATOR_QUERIES ++# endif ++# elif defined ( _STLP_NO_ANACHRONISMS ) ++# undef _STLP_USE_OLD_HP_ITERATOR_QUERIES + # endif + # endif + +-# ifndef __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS +-# define __STL_NULL_TMPL_ARGS <> ++# ifndef _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS ++# define _STLP_NULL_TMPL_ARGS <> + # else +-# define __STL_NULL_TMPL_ARGS ++# define _STLP_NULL_TMPL_ARGS ++# endif ++ ++# ifndef _STLP_ALLOCATOR_TYPE_DFL ++# ifdef _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS ++# define _STLP_ALLOCATOR_TYPE_DFL ++# else ++# define _STLP_ALLOCATOR_TYPE_DFL = allocator_type() ++# endif ++# endif ++ ++# if defined (__SGI_STL_NO_ARROW_OPERATOR) && ! defined (_STLP_NO_ARROW_OPERATOR) ++# define _STLP_NO_ARROW_OPERATOR + # endif + +-# if !defined (__STL_CLASS_PARTIAL_SPECIALIZATION) +-# if !( defined (__SGI_STL_NO_ARROW_OPERATOR) && defined (__STL_NO_PROXY_ARROW_OPERATOR)) \ +- && !defined (__STL_NO_MSVC50_COMPATIBILITY) && !defined (__STL_MSVC50_COMPATIBILITY) ++# if !defined (_STLP_CLASS_PARTIAL_SPECIALIZATION) ++# if !( defined (_STLP_NO_ARROW_OPERATOR)) \ ++ && !defined (_STLP_NO_MSVC50_COMPATIBILITY) && !defined (_STLP_MSVC50_COMPATIBILITY) + /* this one is needed for proper reverse_iterator<> operator ->() handling */ +-# define __STL_MSVC50_COMPATIBILITY 1 ++# define _STLP_MSVC50_COMPATIBILITY 1 + # endif + # endif + +-#if defined ( __STL_CLASS_PARTIAL_SPECIALIZATION ) && \ +-! defined (__STL_PARTIAL_SPECIALIZATION_BUG) +-# define __STL_DECLARE_REVERSE_ITERATORS(__reverse_iterator) \ +- typedef __STLPORT_STD::reverse_iterator const_reverse_iterator; \ +- typedef __STLPORT_STD::reverse_iterator reverse_iterator +-#else /* __STL_CLASS_PARTIAL_SPECIALIZATION */ +-# if defined (__STL_MSVC50_COMPATIBILITY) +-# define __STL_DECLARE_REVERSE_ITERATORS(__reverse_iterator) \ +- typedef __STLPORT_STD::__reverse_iterator const_reverse_iterator; \ ++ typedef typename _STLP_STD :: reverse_iterator reverse_iterator ++# elif (defined (__sgi) && ! defined (__GNUC__)) || defined (__SUNPRO_CC) || defined (__xlC__) ++# define _STLP_DECLARE_REVERSE_ITERATORS(__reverse_iterator) \ ++ typedef _STLP_STD:: _STLP_TEMPLATE reverse_iterator const_reverse_iterator; \ ++ typedef _STLP_STD:: _STLP_TEMPLATE reverse_iterator reverse_iterator ++# else ++# define _STLP_DECLARE_REVERSE_ITERATORS(__reverse_iterator) \ ++ typedef _STLP_STD::reverse_iterator const_reverse_iterator; \ ++ typedef _STLP_STD::reverse_iterator reverse_iterator ++# endif ++#else /* _STLP_CLASS_PARTIAL_SPECIALIZATION */ ++# if defined (_STLP_MSVC50_COMPATIBILITY) ++# define _STLP_DECLARE_REVERSE_ITERATORS(__reverse_iterator) \ ++ typedef _STLP_STD::__reverse_iterator const_reverse_iterator; \ +- typedef __STLPORT_STD::__reverse_iterator \ ++ typedef _STLP_STD::__reverse_iterator \ + reverse_iterator + # else +-# define __STL_DECLARE_REVERSE_ITERATORS(__reverse_iterator) \ +- typedef __STLPORT_STD::__reverse_iterator const_reverse_iterator; \ +- typedef __STLPORT_STD::__reverse_iterator \ + reverse_iterator + # endif +-#endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */ ++#endif /* _STLP_CLASS_PARTIAL_SPECIALIZATION */ + +-# define __STL_DECLARE_BIDIRECTIONAL_REVERSE_ITERATORS \ +- __STL_DECLARE_REVERSE_ITERATORS(reverse_bidirectional_iterator) +-# define __STL_DECLARE_RANDOM_ACCESS_REVERSE_ITERATORS \ +- __STL_DECLARE_REVERSE_ITERATORS(reverse_iterator) ++# define _STLP_DECLARE_BIDIRECTIONAL_REVERSE_ITERATORS \ ++ _STLP_DECLARE_REVERSE_ITERATORS(reverse_bidirectional_iterator) ++# define _STLP_DECLARE_RANDOM_ACCESS_REVERSE_ITERATORS \ ++ _STLP_DECLARE_REVERSE_ITERATORS(reverse_iterator) + + # define __IMPORT_CONTAINER_TYPEDEFS(_Super) \ + typedef typename _Super::value_type value_type; \ +@@ -808,12 +761,12 @@ + # define __IMPORT_WITH_REVERSE_ITERATORS(_Super) \ + __IMPORT_WITH_ITERATORS(_Super) __IMPORT_REVERSE_ITERATORS(_Super) + +-# if defined (__STL_TRIVIAL_CONSTRUCTOR_BUG) ++# if defined (_STLP_TRIVIAL_CONSTRUCTOR_BUG) + # define __TRIVIAL_CONSTRUCTOR(__type) __type() {} + # else + # define __TRIVIAL_CONSTRUCTOR(__type) + # endif +-# if defined (__STL_TRIVIAL_DESTRUCTOR_BUG) ++# if defined (_STLP_TRIVIAL_DESTRUCTOR_BUG) + # define __TRIVIAL_DESTRUCTOR(__type) ~__type() {} + # else + # define __TRIVIAL_DESTRUCTOR(__type) +@@ -822,44 +775,45 @@ + # define __TRIVIAL_STUFF(__type) \ + __TRIVIAL_CONSTRUCTOR(__type) __TRIVIAL_DESTRUCTOR(__type) + +-# if ! (defined ( __STL_NO_EXCEPTIONS ) || defined (__STL_HAS_NO_EXCEPTIONS) \ +- || defined ( __STL_USE_EXCEPTIONS )) +-# define __STL_USE_EXCEPTIONS ++# if ! (defined ( _STLP_NO_EXCEPTIONS ) || defined (_STLP_HAS_NO_EXCEPTIONS) \ ++ || defined ( _STLP_USE_EXCEPTIONS )) ++# define _STLP_USE_EXCEPTIONS + # endif + +-# ifdef __STL_USE_EXCEPTIONS +-# define __STL_TRY try +-# define __STL_CATCH_ALL catch(...) +-# ifndef __STL_THROW +-# define __STL_THROW(x) throw x ++# ifdef _STLP_USE_EXCEPTIONS ++# define _STLP_TRY try ++# define _STLP_CATCH_ALL catch(...) ++# ifndef _STLP_THROW ++# define _STLP_THROW(x) throw x + # endif +-# define __STL_RETHROW throw +-# define __STL_UNWIND(action) catch(...) { action; throw; } +-# if !defined ( __STL_NO_EXCEPTION_SPEC ) +-# define __STL_THROWS_INHERENTLY(x) throw x +-# define __STL_NOTHROW_INHERENTLY throw() ++# define _STLP_RETHROW throw ++# define _STLP_UNWIND(action) catch(...) { action; throw; } ++ ++# if !defined ( _STLP_NO_EXCEPTION_SPEC ) ++# define _STLP_THROWS_INHERENTLY(x) throw x ++# define _STLP_NOTHROW_INHERENTLY throw() + # else +-# define __STL_THROWS_INHERENTLY(x) +-# define __STL_NOTHROW_INHERENTLY ++# define _STLP_THROWS_INHERENTLY(x) ++# define _STLP_NOTHROW_INHERENTLY + # endif +-// We do not use exception throw specifications unless we are forced to +-# define __STL_THROWS(x) +-# define __STL_NOTHROW +-# else +-# define __STL_TRY +-# define __STL_CATCH_ALL if (false) +-# ifndef __STL_THROW +-# define __STL_THROW(x) ++/* We do not use exception throw specifications unless we are forced to */ ++# define _STLP_THROWS(x) ++# define _STLP_NOTHROW ++# else ++# define _STLP_TRY ++# define _STLP_CATCH_ALL if (false) ++# ifndef _STLP_THROW ++# define _STLP_THROW(x) + # endif +-# define __STL_RETHROW +-# define __STL_UNWIND(action) +-# define __STL_THROWS(x) +-# define __STL_NOTHROW +-# define __STL_THROWS_INHERENTLY(x) +-# define __STL_NOTHROW_INHERENTLY ++# define _STLP_RETHROW {} ++# define _STLP_UNWIND(action) ++# define _STLP_THROWS(x) ++# define _STLP_NOTHROW ++# define _STLP_THROWS_INHERENTLY(x) ++# define _STLP_NOTHROW_INHERENTLY + # endif + +-#if defined(__STL_NO_BOOL) ++#if defined(_STLP_NO_BOOL) + # if (defined (__IBMCPP__) && (__IBMCPP__ < 400)) && ! defined (_AIX) + # include + # if defined (__OS400__) +@@ -868,10 +822,10 @@ + typedef Boolean bool; + # endif + # else +-# if defined(__STL_YVALS_H) ++# if defined(_STLP_YVALS_H) + # include + # else +-# if defined (__STL_DONT_USE_BOOL_TYPEDEF) ++# if defined (_STLP_DONT_USE_BOOL_TYPEDEF) + # define bool int + # else + typedef int bool; +@@ -881,157 +835,183 @@ + # endif + # endif /* __IBMCPP__ */ + #else +-# define __STL_BOOL_KEYWORD 1 +-#endif /* __STL_NO_BOOL */ ++# define _STLP_BOOL_KEYWORD 1 ++#endif /* _STLP_NO_BOOL */ + +-# ifndef __STL_MPW_EXTRA_CONST +-# define __STL_MPW_EXTRA_CONST ++# ifndef _STLP_MPW_EXTRA_CONST ++# define _STLP_MPW_EXTRA_CONST + # endif + +-# ifndef __STL_DEFAULTCHAR +-# define __STL_DEFAULTCHAR char ++# ifndef _STLP_DEFAULTCHAR ++# define _STLP_DEFAULTCHAR char + # endif + +-# if defined (__STL_DEBUG_ALLOC) && ! defined (__STL_ASSERTIONS) +-# define __STL_ASSERTIONS 1 ++# if defined (_STLP_DEBUG_ALLOC) && ! defined (_STLP_ASSERTIONS) ++# define _STLP_ASSERTIONS 1 + # endif + + /* uninitialized value filler */ +-# ifndef __STL_SHRED_BYTE ++# ifndef _STLP_SHRED_BYTE + /* This value is designed to cause problems if an error occurs */ +-# define __STL_SHRED_BYTE 0xA3 +-# endif /* __STL_SHRED_BYTE */ ++# define _STLP_SHRED_BYTE 0xA3 ++# endif /* _STLP_SHRED_BYTE */ + + /* shared library tune-up */ +-# ifndef __STL_IMPORT_DECLSPEC +-# define __STL_IMPORT_DECLSPEC ++# ifndef _STLP_IMPORT_DECLSPEC ++# define _STLP_IMPORT_DECLSPEC + # endif + + /* a keyword used to instantiate export template */ +-# ifndef __STL_EXPORT_TEMPLATE_KEYWORD +-# define __STL_EXPORT_TEMPLATE_KEYWORD ++# ifndef _STLP_EXPORT_TEMPLATE_KEYWORD ++# define _STLP_EXPORT_TEMPLATE_KEYWORD + # endif +-# ifndef __STL_IMPORT_TEMPLATE_KEYWORD +-# define __STL_IMPORT_TEMPLATE_KEYWORD ++# ifndef _STLP_IMPORT_TEMPLATE_KEYWORD ++# define _STLP_IMPORT_TEMPLATE_KEYWORD + # endif + + +-# if defined (__STL_DLLEXPORT_NEEDS_PREDECLARATION) && defined (__STL_USE_DECLSPEC) +-// this setting turns on "export template" extensio use +-# define __STL_USE_TEMPLATE_EXPORT +-# if defined (__STL_DESIGNATED_DLL) && ! defined (__STL_NO_FORCE_INSTANTIATE) +-# define __STL_NO_FORCE_INSTANTIATE ++# if defined (_STLP_DLLEXPORT_NEEDS_PREDECLARATION) && defined (_STLP_USE_DECLSPEC) ++# if ! defined (_STLP_USE_TEMPLATE_EXPORT) ++/* this setting turns on "extern template" extension use */ ++# define _STLP_USE_TEMPLATE_EXPORT ++# endif ++# if defined (_STLP_DESIGNATED_DLL) && ! defined (_STLP_NO_FORCE_INSTANTIATE) ++# define _STLP_NO_FORCE_INSTANTIATE + # endif + # endif + +-# if defined (__STL_DESIGNATED_DLL) /* This is a lib which will contain STLport exports */ +-# define __STL_EXPORT __STL_EXPORT_TEMPLATE_KEYWORD ++# if defined (_STLP_DESIGNATED_DLL) /* This is a lib which will contain STLport exports */ ++# define _STLP_EXPORT _STLP_EXPORT_TEMPLATE_KEYWORD + # else +-# define __STL_EXPORT __STL_IMPORT_TEMPLATE_KEYWORD ++# define _STLP_EXPORT _STLP_IMPORT_TEMPLATE_KEYWORD + # endif + +-# ifndef __STL_EXPORT_TEMPLATE +-# define __STL_EXPORT_TEMPLATE __STL_EXPORT template ++# ifndef _STLP_EXPORT_TEMPLATE ++# define _STLP_EXPORT_TEMPLATE _STLP_EXPORT template + # endif + +-# if defined (__STL_USE_DECLSPEC) /* using export/import technique */ +-# ifndef __STL_EXPORT_DECLSPEC +-# define __STL_EXPORT_DECLSPEC ++# if defined (_STLP_USE_DECLSPEC) /* using export/import technique */ ++ ++# ifndef _STLP_EXPORT_DECLSPEC ++# define _STLP_EXPORT_DECLSPEC + # endif +-# ifndef __STL_CLASS_EXPORT_DECLSPEC +-# define __STL_CLASS_EXPORT_DECLSPEC ++# ifndef _STLP_IMPORT_DECLSPEC ++# define _STLP_IMPORT_DECLSPEC + # endif +-# ifndef __STL_CLASS_IMPORT_DECLSPEC +-# define __STL_CLASS_IMPORT_DECLSPEC ++# ifndef _STLP_CLASS_EXPORT_DECLSPEC ++# define _STLP_CLASS_EXPORT_DECLSPEC + # endif +-# if defined (__STL_DESIGNATED_DLL) /* This is a lib which will contain STLport exports */ +-# define __STL_DECLSPEC __STL_EXPORT_DECLSPEC +-# define __STL_CLASS_DECLSPEC __STL_CLASS_EXPORT_DECLSPEC +-# else +-# define __STL_DECLSPEC __STL_IMPORT_DECLSPEC /* Other modules, importing STLport exports */ +-# define __STL_CLASS_DECLSPEC __STL_CLASS_IMPORT_DECLSPEC ++# ifndef _STLP_CLASS_IMPORT_DECLSPEC ++# define _STLP_CLASS_IMPORT_DECLSPEC ++# endif ++# if defined (_STLP_DESIGNATED_DLL) /* This is a lib which will contain STLport exports */ ++# define _STLP_DECLSPEC _STLP_EXPORT_DECLSPEC ++# define _STLP_CLASS_DECLSPEC _STLP_CLASS_EXPORT_DECLSPEC ++# else ++# define _STLP_DECLSPEC _STLP_IMPORT_DECLSPEC /* Other modules, importing STLport exports */ ++# define _STLP_CLASS_DECLSPEC _STLP_CLASS_IMPORT_DECLSPEC + # endif + ++# ifndef _STLP_STATIC_CONST_INIT_BUG ++// constant data members cannot be exported; using workaround here ++# define _STLP_STATIC_CONST_INIT_BUG ++# endif + # else /* Not using DLL export/import specifications */ + +-# define __STL_DECLSPEC +-# define __STL_CLASS_DECLSPEC ++# define _STLP_DECLSPEC ++# define _STLP_CLASS_DECLSPEC ++ + # endif + +-# define __STL_EXPORT_TEMPLATE_CLASS __STL_EXPORT template class __STL_CLASS_DECLSPEC ++# define _STLP_EXPORT_TEMPLATE_CLASS _STLP_EXPORT template class _STLP_CLASS_DECLSPEC + +-# if defined (__STL_MSVC) || defined (__ICL) +-# define __STL_STATIC_MEMBER_DECLSPEC ++# if defined (_STLP_MSVC) || defined (__ICL) ++# define _STLP_STATIC_MEMBER_DECLSPEC + # else +-# define __STL_STATIC_MEMBER_DECLSPEC __STL_DECLSPEC ++# define _STLP_STATIC_MEMBER_DECLSPEC _STLP_DECLSPEC ++# endif ++ ++# if !defined (_STLP_CALL) ++# define _STLP_CALL ++# endif ++ ++#ifdef _STLP_OWN_IOSTREAMS ++ ++# if defined (__DECCXX) && ! defined (__USE_STD_IOSTREAM) ++# define __USE_STD_IOSTREAM + # endif + +-# if !defined (__STL_CALL) +-# define __STL_CALL ++/* We only need to expose details of streams implementation ++ if we use non-standard i/o or are building STLport*/ ++# if defined (__BUILDING_STLPORT) || defined (_STLP_NO_FORCE_INSTANTIATE) || !defined(_STLP_NO_CUSTOM_IO) ++# define _STLP_EXPOSE_STREAM_IMPLEMENTATION 1 ++# endif ++ ++/* We only need to expose details of global implementation if we are building STLport ++ or have not instantiated everything in the lib */ ++# if defined (__BUILDING_STLPORT) || defined (_STLP_NO_FORCE_INSTANTIATE) ++# undef _STLP_EXPOSE_GLOBALS_IMPLEMENTATION ++# define _STLP_EXPOSE_GLOBALS_IMPLEMENTATION 1 + # endif + +-# ifdef __STL_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS +-# define __STL_PSPEC2(t1,t2) < t1,t2 > +-# define __STL_PSPEC3(t1,t2,t3) < t1,t2,t3 > ++#else ++/* when we are not using SGI iostreams, we must expose globals, but not streams implementation */ ++# define _STLP_EXPOSE_GLOBALS_IMPLEMENTATION ++#endif ++ ++# ifdef _STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS ++# define _STLP_PSPEC2(t1,t2) < t1,t2 > ++# define _STLP_PSPEC3(t1,t2,t3) < t1,t2,t3 > + # else +-# define __STL_PSPEC2(t1,t2) /* nothing */ +-# define __STL_PSPEC3(t1,t2,t3) /* nothing */ ++# define _STLP_PSPEC2(t1,t2) /* nothing */ ++# define _STLP_PSPEC3(t1,t2,t3) /* nothing */ + # endif + +-# ifdef __STL_OPERATOR_SPEC_NEEDS_TEMPLATE_ARGS +-# define __STL_OPSPEC2(t1,t2) < t1,t2 > ++# ifdef _STLP_OPERATOR_SPEC_NEEDS_TEMPLATE_ARGS ++# define _STLP_OPSPEC2(t1,t2) < t1,t2 > + # else +-# define __STL_OPSPEC2(t1,t2) /* nothing */ ++# define _STLP_OPSPEC2(t1,t2) /* nothing */ + # endif + +-# if defined (__SGI_STL_OWN_IOSTREAMS) +-# define __STL_NEW_IO_NAMESPACE __STLPORT_STD +-# define __STL_NO_WIDE_STREAMS __STL_NO_WCHAR_T ++# if defined (_STLP_OWN_IOSTREAMS) ++# define _STLP_NEW_IO_NAMESPACE _STLP_STD ++# define _STLP_NO_WIDE_STREAMS _STLP_NO_WCHAR_T + # else +-# ifdef __STL_USE_NEW_IOSTREAMS +-# define __STL_NEW_IO_NAMESPACE __STL_VENDOR_STD +-# define __STL_NO_WIDE_STREAMS __STL_NO_NATIVE_WIDE_STREAMS ++# ifdef _STLP_USE_NEW_IOSTREAMS ++# define _STLP_NEW_IO_NAMESPACE _STLP_VENDOR_STD ++# ifdef _STLP_NO_NATIVE_WIDE_STREAMS ++# define _STLP_NO_WIDE_STREAMS _STLP_NO_NATIVE_WIDE_STREAMS ++# endif /* _STLP_NO_NATIVE_WIDE_STREAMS */ + # else +-# define __STL_NO_WIDE_STREAMS +-# define __STL_NEW_IO_NAMESPACE ++# define _STLP_NO_WIDE_STREAMS ++# define _STLP_NEW_IO_NAMESPACE + # endif + # endif + +-/* We disable link-time instantiation of RW library because +- * it is not compatible with std renaming */ +-#if !(defined(__STL_DONT_RENAME_STD) || defined(__BORLANDC__) || \ +- defined(_RWSTD_COMPILE_INSTANTIATE)) +-# define _RWSTD_COMPILE_INSTANTIATE +-#endif +- +-#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE +-# define __STL_RELOPS_OPERATORS(_TMPL, _TP) \ +-_TMPL \ +-inline bool __STL_CALL operator!=(const _TP& __x, const _TP& __y) {return !(__x == __y);}\ +-_TMPL \ +-inline bool __STL_CALL operator>(const _TP& __x, const _TP& __y) {return __y < __x;}\ +-_TMPL \ +-inline bool __STL_CALL operator<=(const _TP& __x, const _TP& __y) { return !(__y < __x);}\ +-_TMPL \ +-inline bool __STL_CALL operator>=(const _TP& __x, const _TP& __y) { return !(__x < __y);} ++#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE ++# define _STLP_RELOPS_OPERATORS(_TMPL, _TP) \ ++_TMPL inline bool _STLP_CALL operator!=(const _TP& __x, const _TP& __y) {return !(__x == __y);}\ ++_TMPL inline bool _STLP_CALL operator>(const _TP& __x, const _TP& __y) {return __y < __x;}\ ++_TMPL inline bool _STLP_CALL operator<=(const _TP& __x, const _TP& __y) { return !(__y < __x);}\ ++_TMPL inline bool _STLP_CALL operator>=(const _TP& __x, const _TP& __y) { return !(__x < __y);} + # else +-# define __STL_RELOPS_OPERATORS(_TMPL, _TP) ++# define _STLP_RELOPS_OPERATORS(_TMPL, _TP) ++# endif ++ ++# if defined ( _STLP_USE_ABBREVS ) ++# include + # endif + + /* some cleanup */ +-# undef __STL_PARTIAL_SPECIALIZATION_SYNTAX +-# undef __STL_DONT_USE_BOOL_TYPEDEF +-# undef __STL_YVALS_H +-# undef __STL_LOOP_INLINE_PROBLEMS +-# undef __STL_NEED_EXPLICIT +-# undef __STL_NEED_TYPENAME +-# undef __STL_NO_NEW_STYLE_CASTS ++# undef _STLP_DONT_USE_BOOL_TYPEDEF ++# undef _STLP_YVALS_H ++# undef _STLP_LOOP_INLINE_PROBLEMS ++# undef _STLP_NEED_EXPLICIT ++# undef _STLP_NEED_TYPENAME ++# undef _STLP_NO_NEW_STYLE_CASTS + # undef __AUTO_CONFIGURED + +-# define __STL_CONFIG_H_DONE 1 +- +- +-#endif /* __STL_CONFIG_H */ ++#endif /* _STLP_CONFIG_H */ + + /* Local Variables: + * mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_config_compat.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_config_compat.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_config_compat.h Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_config_compat.h Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,89 @@ ++ ++/* ++ * Compatibility section ++ * This section sets new-style macros based on old-style ones, for compatibility ++ */ ++ ++# if (defined (__STL_NO_SGI_IOSTREAMS) || defined (_STLP_NO_SGI_IOSTREAMS)) \ ++ && ! defined ( _STLP_NO_OWN_IOSTREAMS ) ++# define _STLP_NO_OWN_IOSTREAMS ++# endif ++ ++# if defined (__STL_NO_NEW_IOSTREAMS) && ! defined ( _STLP_NO_NEW_IOSTREAMS ) ++# define _STLP_NO_NEW_IOSTREAMS __STL_NO_NEW_IOSTREAMS ++# endif ++# if defined (__STL_NO_IOSTREAMS) && ! defined ( _STLP_NO_IOSTREAMS ) ++# define _STLP_NO_IOSTREAMS __STL_NO_IOSTREAMS ++# endif ++# if defined (__STL_DEBUG) && ! defined ( _STLP_DEBUG ) ++# define _STLP_DEBUG __STL_DEBUG ++# endif ++# if defined (__STL_NO_ANACHRONISMS) && ! defined ( _STLP_NO_ANACHRONISMS ) ++# define _STLP_NO_ANACHRONISMS __STL_NO_ANACHRONISMS ++# endif ++# if defined (__STL_NO_EXTENSIONS) && ! defined ( _STLP_NO_EXTENSIONS ) ++# define _STLP_NO_EXTENSIONS __STL_NO_EXTENSIONS ++# endif ++# if defined (__STL_NO_EXCEPTIONS) && ! defined ( _STLP_NO_EXCEPTIONS ) ++# define _STLP_NO_EXCEPTIONS __STL_NO_EXCEPTIONS ++# endif ++# if defined (__STL_NO_NAMESPACES) && ! defined ( _STLP_NO_NAMESPACES ) ++# define _STLP_NO_NAMESPACES __STL_NO_NAMESPACES ++# endif ++# if defined (__STL_MINIMUM_DEFAULT_TEMPLATE_PARAMS) && ! defined ( _STLP_MINIMUM_DEFAULT_TEMPLATE_PARAMS ) ++# define _STLP_MINIMUM_DEFAULT_TEMPLATE_PARAMS __STL_MINIMUM_DEFAULT_TEMPLATE_PARAMS ++# endif ++# if defined (__STL_NO_OWN_NAMESPACE) && ! defined ( _STLP_NO_OWN_NAMESPACE ) ++# define _STLP_NO_OWN_NAMESPACE __STL_NO_OWN_NAMESPACE ++# endif ++ ++# if defined (__STL_NO_RELOPS_NAMESPACE) && ! defined ( _STLP_NO_RELOPS_NAMESPACE ) ++# define _STLP_NO_RELOPS_NAMESPACE __STL_NO_RELOPS_NAMESPACE ++# endif ++ ++# if defined (__STL_DEBUG_UNINITIALIZED) && ! defined ( _STLP_DEBUG_UNINITIALIZED ) ++# define _STLP_DEBUG_UNINITIALIZED __STL_DEBUG_UNINITIALIZED ++# endif ++# if defined (__STL_SHRED_BYTE) && ! defined ( _STLP_SHRED_BYTE ) ++# define _STLP_SHRED_BYTE __STL_SHRED_BYTE ++# endif ++# if defined (__STL_USE_MFC) && ! defined ( _STLP_USE_MFC ) ++# define _STLP_USE_MFC __STL_USE_MFC ++# endif ++ ++# if defined (__STL_USE_NEWALLOC) && ! defined ( _STLP_USE_NEWALLOC ) ++# define _STLP_USE_NEWALLOC __STL_USE_NEWALLOC ++# endif ++# if defined (__STL_USE_MALLOC) && ! defined ( _STLP_USE_MALLOC ) ++# define _STLP_USE_MALLOC __STL_USE_MALLOC ++# endif ++ ++# if defined (__STL_DEBUG_ALLOC) && ! defined ( _STLP_DEBUG_ALLOC ) ++# define _STLP_DEBUG_ALLOC __STL_DEBUG_ALLOC ++# endif ++ ++# if defined (__STL_DEBUG_MESSAGE) && ! defined ( _STLP_DEBUG_MESSAGE ) ++# define _STLP_DEBUG_MESSAGE __STL_DEBUG_MESSAGE ++# endif ++ ++# if defined (__STL_DEBUG_TERMINATE) && ! defined ( _STLP_DEBUG_TERMINATE ) ++# define _STLP_DEBUG_TERMINATE __STL_DEBUG_TERMINATE ++# endif ++ ++# if defined (__STL_NO_DEBUG_EXCEPTIONS) && ! defined ( _STLP_NO_DEBUG_EXCEPTIONS ) ++# define _STLP_NO_DEBUG_EXCEPTIONS __STL_NO_DEBUG_EXCEPTIONS ++# endif ++ ++# if defined (__STL_USE_ABBREVS) && ! defined ( _STLP_USE_ABBREVS ) ++# define _STLP_USE_ABBREVS __STL_USE_ABBREVS ++# endif ++ ++# if defined (__STL_NO_MSVC50_COMPATIBILITY) && ! defined ( _STLP_NO_MSVC50_COMPATIBILITY ) ++# define _STLP_NO_MSVC50_COMPATIBILITY __STL_NO_MSVC50_COMPATIBILITY ++# endif ++ ++# if defined (__STL_USE_RAW_SGI_ALLOCATORS) && ! defined ( _STLP_USE_RAW_SGI_ALLOCATORS ) ++# define _STLP_USE_RAW_SGI_ALLOCATORS __STL_USE_RAW_SGI_ALLOCATORS ++# endif ++ ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_config_compat_post.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_config_compat_post.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_config_compat_post.h Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_config_compat_post.h Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,35 @@ ++//========================================== ++ ++# define __SGI_STL_PORT _STLPORT_VERSION ++ ++# if defined (_STLP_DEBUG) && ! defined ( __STL_DEBUG ) ++# define __STL_DEBUG _STLP_DEBUG ++# endif ++ ++# if defined (_STLP_USE_NAMESPACES) ++# undef __STL_USE_NAMESPACES ++# define __STL_USE_NAMESPACES _STLP_USE_NAMESPACES ++# endif ++ ++# if defined (_STLP_USE_EXCEPTIONS) ++# undef __STL_USE_EXCEPTIONS ++# define __STL_USE_EXCEPTIONS _STLP_USE_EXCEPTIONS ++# endif ++ ++# if defined (_STLP_USE_NEW_IOSTREAMS) && ! defined ( __STL_USE_NEW_IOSTREAMS ) ++# define __STL_USE_NEW_IOSTREAMS _STLP_USE_NEW_IOSTREAMS ++# endif ++ ++# if defined (_STLP_BEGIN_NAMESPACE) && ! defined ( __STL_BEGIN_NAMESPACE ) ++# define __STL_BEGIN_NAMESPACE _STLP_BEGIN_NAMESPACE ++# define __STL_END_NAMESPACE _STLP_END_NAMESPACE ++# define __STL_VENDOR_STD _STLP_VENDOR_STD ++# define __STL_VENDOR_CSTD _STLP_VENDOR_CSTD ++# endif ++ ++/* ++# if defined (_STLP_XXX) && ! defined ( __STL_XXX ) ++# define __STL_XXX _STLP_XXX ++# endif ++*/ ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_construct.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_construct.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_construct.h Sat Feb 24 10:44:46 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_construct.h Sun Aug 11 18:59:24 2002 +@@ -27,32 +27,29 @@ + * You should not attempt to use it directly. + */ + +-#ifndef __SGI_STL_INTERNAL_CONSTRUCT_H +-#define __SGI_STL_INTERNAL_CONSTRUCT_H ++#ifndef _STLP_INTERNAL_CONSTRUCT_H ++#define _STLP_INTERNAL_CONSTRUCT_H + +-# if defined (__STL_DEBUG_UNINITIALIZED) && ! defined (__STLPORT_CSTRING) ++# if defined (_STLP_DEBUG_UNINITIALIZED) && ! defined (_STLP_CSTRING) + # include + # endif + +-# ifndef __STLPORT_NEW ++# ifndef _STLP_NEW_HEADER + # include + # endif + +-// # ifndef __TYPE_TRAITS_H +-// # include +-// # endif + +-#ifndef __SGI_STL_INTERNAL_ITERATOR_BASE_H ++#ifndef _STLP_INTERNAL_ITERATOR_BASE_H + # include + #endif + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + +-# ifdef __STL_TRIVIAL_DESTRUCTOR_BUG ++# ifdef _STLP_TRIVIAL_DESTRUCTOR_BUG + template +-inline void __destroy_aux(_Tp* __pointer, __false_type) { __pointer->~_Tp(); } ++inline void __destroy_aux(_Tp* __pointer, const __false_type&) { __pointer->~_Tp(); } + template +-inline void __destroy_aux(_Tp* __pointer, __true_type) {} ++inline void __destroy_aux(_Tp* __pointer, const __true_type&) {} + # endif + + template +@@ -60,9 +57,8 @@ + # if _MSC_VER >= 1010 + __pointer; + # endif // _MSC_VER >= 1000 +-# ifdef __STL_TRIVIAL_DESTRUCTOR_BUG +- typedef typename __type_traits<_Tp>::has_trivial_destructor +- _Trivial_destructor; ++# ifdef _STLP_TRIVIAL_DESTRUCTOR_BUG ++ typedef typename __type_traits<_Tp>::has_trivial_destructor _Trivial_destructor; + __destroy_aux(__pointer, _Trivial_destructor()); + # else + # if ( defined (__BORLANDC__) && ( __BORLANDC__ < 0x500 ) ) +@@ -71,96 +67,83 @@ + __pointer->~_Tp(); + # endif + # endif +-# ifdef __STL_DEBUG_UNINITIALIZED +- memset((char*)__pointer, (char)__STL_SHRED_BYTE, sizeof(_Tp)); ++# ifdef _STLP_DEBUG_UNINITIALIZED ++ memset((char*)__pointer, _STLP_SHRED_BYTE, sizeof(_Tp)); + # endif + } + + # if defined (new) +-# define __STL_NEW_REDEFINE new ++# define _STLP_NEW_REDEFINE new + # undef new + # endif + + template +-inline void _Construct(_T1* __p, const _T2& __value) { +-# ifdef __STL_DEBUG_UNINITIALIZED +- memset((char*)__p, (char)__STL_SHRED_BYTE, sizeof(_T1)); ++inline void _Construct(_T1* __p, const _T2& __val) { ++# ifdef _STLP_DEBUG_UNINITIALIZED ++ memset((char*)__p, _STLP_SHRED_BYTE, sizeof(_T1)); + # endif +- __STL_PLACEMENT_NEW (__p) _T1(__value); ++ _STLP_PLACEMENT_NEW (__p) _T1(__val); + } + + template + inline void _Construct(_T1* __p) { +-# ifdef __STL_DEBUG_UNINITIALIZED +- memset((char*)__p, (char)__STL_SHRED_BYTE, sizeof(_T1)); ++# ifdef _STLP_DEBUG_UNINITIALIZED ++ memset((char*)__p, _STLP_SHRED_BYTE, sizeof(_T1)); + # endif +- __STL_PLACEMENT_NEW (__p) _T1(); ++ _STLP_PLACEMENT_NEW (__p) _T1(); + } + +-# if defined(__STL_NEW_REDEFINE) ++# if defined(_STLP_NEW_REDEFINE) + # ifdef DEBUG_NEW + # define new DEBUG_NEW + # endif +-# undef __STL_NEW_REDEFINE ++# undef _STLP_NEW_REDEFINE + # endif + + template +-__STL_INLINE_LOOP void +-__destroy_aux(_ForwardIterator __first, _ForwardIterator __last, __false_type) +-{ ++_STLP_INLINE_LOOP void ++__destroy_aux(_ForwardIterator __first, _ForwardIterator __last, const __false_type&) { + for ( ; __first != __last; ++__first) + _Destroy(&*__first); + } + + template +-inline void __destroy_aux(_ForwardIterator, _ForwardIterator, __true_type) {} ++inline void __destroy_aux(_ForwardIterator, _ForwardIterator, const __true_type&) {} + + template + inline void +-__destroy(_ForwardIterator __first, _ForwardIterator __last, _Tp*) +-{ +- typedef typename __type_traits<_Tp>::has_trivial_destructor +- _Trivial_destructor; ++__destroy(_ForwardIterator __first, _ForwardIterator __last, _Tp*) { ++ typedef typename __type_traits<_Tp>::has_trivial_destructor _Trivial_destructor; + __destroy_aux(__first, __last, _Trivial_destructor()); + } + + template + inline void _Destroy(_ForwardIterator __first, _ForwardIterator __last) { +- __destroy(__first, __last, __VALUE_TYPE(__first)); ++ __destroy(__first, __last, _STLP_VALUE_TYPE(__first, _ForwardIterator)); + } + + inline void _Destroy(char*, char*) {} +-# ifdef __STL_HAS_WCHAR_T // dwa 8/15/97 ++# ifdef _STLP_HAS_WCHAR_T // dwa 8/15/97 + inline void _Destroy(wchar_t*, wchar_t*) {} + inline void _Destroy(const wchar_t*, const wchar_t*) {} + # endif + ++# ifndef _STLP_NO_ANACHRONISMS + // -------------------------------------------------- + // Old names from the HP STL. + + template +-inline void construct(_T1* __p, const _T2& __value) { +- _Construct(__p, __value); +-} +- ++inline void construct(_T1* __p, const _T2& __val) {_Construct(__p, __val); } + template +-inline void construct(_T1* __p) { +- _Construct(__p); +-} +- ++inline void construct(_T1* __p) { _Construct(__p); } + template +-inline void destroy(_Tp* __pointer) { +- _Destroy(__pointer); +-} +- ++inline void destroy(_Tp* __pointer) { _Destroy(__pointer); } + template +-inline void destroy(_ForwardIterator __first, _ForwardIterator __last) { +- _Destroy(__first, __last); +-} +- +-__STL_END_NAMESPACE ++inline void destroy(_ForwardIterator __first, _ForwardIterator __last) { _Destroy(__first, __last); } ++# endif ++_STLP_END_NAMESPACE + +-#endif /* __SGI_STL_INTERNAL_CONSTRUCT_H */ ++#endif /* _STLP_INTERNAL_CONSTRUCT_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_ctraits_fns.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_ctraits_fns.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_ctraits_fns.h Sat Feb 24 10:44:46 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_ctraits_fns.h Sun Aug 11 18:59:24 2002 +@@ -15,17 +15,17 @@ + // standard library headers. You should not attempt to use this header + // file directly. + +-#ifndef __SGI_STL_INTERNAL_CTRAITS_FUNCTIONS_H +-#define __SGI_STL_INTERNAL_CTRAITS_FUNCTIONS_H ++#ifndef _STLP_INTERNAL_CTRAITS_FUNCTIONS_H ++#define _STLP_INTERNAL_CTRAITS_FUNCTIONS_H + +-# ifndef __SGI_STL_INTERNAL_FUNCTION_H +-# include ++# ifndef _STLP_INTERNAL_FUNCTION_H ++# include + # endif + + // This file contains a few small adapters that allow a character + // traits class to be used as a function object. + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + template + struct _Eq_traits +@@ -39,17 +39,38 @@ + }; + + template +-struct _Eq_int_traits +- : public binary_function ++struct _Eq_char_bound ++ : public unary_function + { +- bool operator()(const typename _Traits::char_type& __x, +- const typename _Traits::int_type& __y) const +- { return _Traits::eq_int_type(_Traits::to_int_type(__x), __y); } ++ typename _Traits::char_type __val; ++ _Eq_char_bound(typename _Traits::char_type __c) : __val(__c) {} ++ bool operator()(const typename _Traits::char_type& __x) const ++ { return _Traits::eq(__x, __val); } ++}; ++ ++template ++struct _Neq_char_bound ++ : public unary_function ++{ ++ typename _Traits::char_type __val; ++ _Neq_char_bound(typename _Traits::char_type __c) : __val(__c) {} ++ bool operator()(const typename _Traits::char_type& __x) const ++ { return !_Traits::eq(__x, __val); } + }; + + template ++struct _Eq_int_bound ++ : public unary_function ++{ ++ typename _Traits::int_type __val; ++ ++ _Eq_int_bound(typename _Traits::int_type __c) : __val(__c) {} ++ bool operator()(const typename _Traits::char_type& __x) const ++ { return _Traits::eq_int_type(_Traits::to_int_type(__x), __val); } ++}; ++ ++# if 0 ++template + struct _Lt_traits + : public binary_function +- +-# ifndef __STL_INTERNAL_ALGOBASE_H ++# ifndef _STLP_C_LOCALE_H ++# include ++# endif ++# ifndef _STLP_INTERNAL_LOCALE_H ++# include ++# endif ++# ifndef _STLP_INTERNAL_ALGOBASE_H + # include + # endif + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + +-class __STL_CLASS_DECLSPEC ctype_base { ++class _STLP_CLASS_DECLSPEC ctype_base { + public: + enum mask { + space = _Locale_SPACE, +@@ -47,21 +51,132 @@ + }; + }; + ++// ctype<> template ++ + template class ctype {}; + template class ctype_byname {}; + +-# ifndef __STL_NO_WCHAR_T +-__STL_TEMPLATE_NULL +-class __STL_CLASS_DECLSPEC ctype : public locale::facet, public ctype_base ++//ctype specializations ++ ++_STLP_TEMPLATE_NULL ++class _STLP_CLASS_DECLSPEC ctype : public locale::facet, public ctype_base ++{ ++ ++# ifndef _STLP_NO_WCHAR_T ++# ifdef _STLP_MSVC ++ typedef ctype _Wctype; ++ friend _Wctype; ++# else ++ friend class ctype; ++# endif ++# endif ++ friend class _Locale; ++public: ++ ++ typedef char char_type; ++ ++ explicit ctype(const mask* __tab = 0, bool __del = false, size_t __refs = 0); ++ bool is(mask __m, char __c) const ++ { return ((*(_M_ctype_table+(unsigned char)__c)) & __m) != 0; } ++ ++ const char* is(const char* __low, const char* __high, mask* __vec) const { ++ for (const char* __p = __low;__p != __high; ++__p, ++__vec) { ++ *__vec = _M_ctype_table[(unsigned char)*__p]; ++ } ++ return __high; ++ } ++ ++ const char* scan_is(mask __m, const char* __low, const char* __high) const; ++ const char* scan_not(mask __m, const char* __low, const char* __high) const; ++ ++ char (toupper)(char __c) const { return do_toupper(__c); } ++ const char* (toupper)(char* __low, const char* __high) const { ++ return do_toupper(__low, __high); ++ } ++ ++ char (tolower)(char __c) const { return do_tolower(__c); } ++ const char* (tolower)(char* __low, const char* __high) const { ++ return do_tolower(__low, __high); ++ } ++ ++ char widen(char __c) const { return do_widen(__c); } ++ const char* widen(const char* __low, const char* __high, char* __to) const { ++ return do_widen(__low, __high, __to); ++ } ++ ++ char narrow(char __c, char __dfault) const { ++ return do_narrow(__c, __dfault); ++ } ++ const char* narrow(const char* __low, const char* __high, ++ char __dfault, char* __to) const { ++ return do_narrow(__low, __high, __dfault, __to); ++ } ++ ++ _STLP_STATIC_MEMBER_DECLSPEC static locale::id id; ++# if defined(_STLP_STATIC_CONST_INIT_BUG) ++ enum __TableSize { table_size = 256 }; ++# else ++ static const size_t table_size = 256; ++# endif ++ ++protected: ++ const mask* table() const _STLP_NOTHROW {return _M_ctype_table;} ++ static const mask* _STLP_CALL classic_table() _STLP_NOTHROW { return & _S_classic_table [1]; } ++ ++ ~ctype(); ++ ++ virtual char do_toupper(char __c) const; ++ virtual char do_tolower(char __c) const; ++ virtual const char* do_toupper(char* __low, const char* __high) const; ++ virtual const char* do_tolower(char* __low, const char* __high) const; ++ virtual char do_widen(char __c) const; ++ virtual const char* do_widen(const char* __low, const char* __high, ++ char* __to) const; ++ virtual char do_narrow(char __c, char /* dfault */ ) const; ++ virtual const char* do_narrow(const char* __low, const char* __high, ++ char /* dfault */, char* __to) const; ++private: ++ struct _Is_mask { ++ mask __m; ++ _Is_mask(mask __x): __m(__x) {} ++ bool operator()(char __c) {return (__m & (unsigned char) __c) != 0;} ++ }; ++ ++ static const mask _S_classic_table[257 /* table_size + 1 */]; ++ const mask* _M_ctype_table; ++ bool _M_delete; ++ ++ static const unsigned char _S_upper[256 /* table_size */]; ++ static const unsigned char _S_lower[256 /* table_size */]; ++}; ++ ++_STLP_TEMPLATE_NULL ++class _STLP_CLASS_DECLSPEC ctype_byname: public ctype { ++public: ++ explicit ctype_byname(const char*, size_t = 0); ++ ~ctype_byname(); ++ ++ virtual char do_toupper(char __c) const; ++ virtual char do_tolower(char __c) const; ++ ++ virtual const char* do_toupper(char*, const char*) const; ++ virtual const char* do_tolower(char*, const char*) const; ++ ++private: ++ mask _M_byname_table[table_size + 1]; ++ _Locale_ctype* _M_ctype; ++}; ++ ++ ++# ifndef _STLP_NO_WCHAR_T ++_STLP_TEMPLATE_NULL ++class _STLP_CLASS_DECLSPEC ctype : public locale::facet, public ctype_base + { +-#if defined(__MRC__) || defined(__SC__) //*TY 04/29/2000 - added workaround for mpw +- typedef locale::facet _facet; //*TY 04/29/2000 - they forget to look into nested class for the ctor. +-#endif //*TY 04/29/2000 - +- friend class _Locale_impl; ++ friend class _Locale; + public: + typedef wchar_t char_type; + +- explicit ctype(size_t refs = 0); ++ explicit ctype(size_t __refs = 0) : _BaseFacet(__refs) {} + + bool is(mask __m, wchar_t __c) const + { return do_is(__m, __c); } +@@ -97,7 +212,7 @@ + char __dfault, char* __to) const + { return do_narrow(__low, __high, __dfault, __to); } + +- __STL_STATIC_MEMBER_DECLSPEC static locale::id id; ++ _STLP_STATIC_MEMBER_DECLSPEC static locale::id id; + + protected: + ~ctype(); +@@ -119,8 +234,8 @@ + char, char*) const; + }; + +-__STL_TEMPLATE_NULL +-class __STL_CLASS_DECLSPEC ctype_byname: public ctype { ++_STLP_TEMPLATE_NULL ++class _STLP_CLASS_DECLSPEC ctype_byname: public ctype { + public: + explicit ctype_byname(const char* __name, size_t __refs = 0); + +@@ -144,128 +259,9 @@ + + # endif /* WCHAR_T */ + +-//ctype specializations +- +-__STL_TEMPLATE_NULL +-class __STL_CLASS_DECLSPEC ctype : +- public locale::facet, public ctype_base +-{ +- +-# ifndef __STL_NO_WCHAR_T +-# ifdef __STL_MSVC +- typedef ctype _Wctype; +- friend _Wctype; +-# else +- friend class ctype; +-# endif +-# endif +- friend class _Locale_impl; +-#if defined(__MRC__) || defined(__SC__) //*TY 04/29/2000 - added workaround for mpw +- typedef locale::facet _facet; //*TY 04/29/2000 - they forget to look into nested class for the ctor. +-#endif //*TY 04/29/2000 - +-public: +- typedef char char_type; +- +- explicit ctype(const mask* = 0, bool = false, size_t = 0); +- +- inline bool is(mask __m, char __c) const +- { return ((*(table()+(unsigned char)__c)) & __m) != 0; } +- const char* is(const char*, const char*, mask*) const; +- const char* scan_is(mask __m, const char* __low, const char* __high) const; +- const char* scan_not(mask __m, const char* __low, const char* __high) const; +- +- char (toupper)(char __c) const { return do_toupper(__c); } +- const char* (toupper)(char* __low, const char* __high) const +- { return do_toupper(__low, __high); } +- +- char (tolower)(char __c) const { return do_tolower(__c); } +- const char* (tolower)(char* __low, const char* __high) const +- { return do_tolower(__low, __high); } +- +- char widen(char __c) const +- { return do_widen(__c); } +- const char* widen(const char* __low, const char* __high, char* __to) const +- { return do_widen(__low, __high, __to); } +- +- char narrow(char __c, char __dfault) const +- { return do_narrow(__c, __dfault); } +- const char* narrow(const char* __low, const char* __high, +- char __dfault, char* __to) const +- { return do_narrow(__low, __high, __dfault, __to); } +- +- __STL_STATIC_MEMBER_DECLSPEC static locale::id id; +-# if defined(__STL_STATIC_CONST_INIT_BUG) // || defined(__MRC__) || defined(__SC__) //*TY 04/29/2000 - turned out this work around is not needed for mpw +- enum __TableSize { table_size = 256 }; +-# else +- static const size_t table_size = 256; +-# endif +- +-protected: +- const mask* table() const __STL_NOTHROW {return _M_ctype_table;} +- static const mask* __STL_CALL classic_table() __STL_NOTHROW { return & _S_classic_table [1]; } +- +- ~ctype(); +- +- virtual char do_toupper(char __c) const +- { return (char) _S_upper[(unsigned char) __c]; } +- virtual char do_tolower(char __c) const +- { return (char) _S_lower[(unsigned char) __c]; } +- +- virtual const char* do_toupper(char*, const char*) const; +- virtual const char* do_tolower(char*, const char*) const; +- +- virtual char do_widen(char __c) const { return __c; } +- virtual const char* do_widen(const char* __low, const char* __high, +- char* __to) const { +- copy(__low, __high, __to); +- return __high; +- } +- +- virtual char do_narrow(char __c, char /* dfault */ ) const { return __c; } +- virtual const char* do_narrow(const char* __low, const char* __high, +- char /* dfault */, char* __to) const { +- copy(__low, __high, __to); +- return __high; +- } +- +-private: +- struct _Is_mask { +- mask __m; +- _Is_mask(mask __x): __m(__x) {} +- bool operator()(char __c) {return (__m & (unsigned char) __c) != 0;} +- }; +- +- static const mask _S_classic_table[257 /* table_size + 1 */]; +- const mask* _M_ctype_table; +- bool _M_delete; +- +- static const unsigned char _S_upper[256 /* table_size */]; +- static const unsigned char _S_lower[256 /* table_size */]; +-}; +- +- +-__STL_TEMPLATE_NULL +-class __STL_CLASS_DECLSPEC ctype_byname: public ctype { +-public: +- explicit ctype_byname(const char*, size_t = 0); +- ~ctype_byname(); +- +- virtual char do_toupper(char __c) const; +- virtual char do_tolower(char __c) const; +- +- virtual const char* do_toupper(char*, const char*) const; +- virtual const char* do_tolower(char*, const char*) const; +- +-private: +- mask _M_byname_table[table_size + 1]; +- _Locale_ctype* _M_ctype; +-}; +- +- +- +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-#endif /* __SGI_STL_INTERNAL_CTYPE_H */ ++#endif /* _STLP_INTERNAL_CTYPE_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_cwchar.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_cwchar.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_cwchar.h Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_cwchar.h Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,20 @@ ++/* ++ * Copyright (c) 1999 ++ * Boris Fomitchev ++ * ++ * This material is provided "as is", with absolutely no warranty expressed ++ * or implied. Any use is at your own risk. ++ * ++ * Permission to use or copy this software for any purpose is hereby granted ++ * without fee, provided the above notices are retained on all copies. ++ * Permission to modify the code and to distribute modified code is granted, ++ * provided the above notices are retained, and a notice that the code was ++ * modified is included with the above copyright notice. ++ * ++ */ ++ ++#ifndef _STLP_CWCHAR_H ++# define _STLP_CWCHAR_H ++/* This file is now obsolete */ ++#endif /* _STLP_CWCHAR_H */ ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_deque.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_deque.c +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_deque.c Sat Feb 24 10:44:47 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_deque.c Sun Aug 11 18:59:24 2002 +@@ -23,10 +23,14 @@ + * modified is included with the above copyright notice. + * + */ +-#ifndef __STL_DEQUE_C +-#define __STL_DEQUE_C ++#ifndef _STLP_DEQUE_C ++# define _STLP_DEQUE_C + +-__STL_BEGIN_NAMESPACE ++# ifndef _STLP_INTERNAL_DEQUE_H ++# include ++# endif ++ ++_STLP_BEGIN_NAMESPACE + + // Non-inline member functions from _Deque_base. + +@@ -43,24 +47,24 @@ + _Deque_base<_Tp,_Alloc>::_M_initialize_map(size_t __num_elements) + { + size_t __num_nodes = +- __num_elements / __buf_traits::buffer_size() + 1 ; ++ __num_elements / this->buffer_size() + 1 ; + +- _M_map_size._M_data = max((size_t) _S_initial_map_size, __num_nodes + 2); ++ _M_map_size._M_data = (max)((size_t) _S_initial_map_size, __num_nodes + 2); + _M_map._M_data = _M_map.allocate(_M_map_size._M_data); + + _Tp** __nstart = _M_map._M_data + (_M_map_size._M_data - __num_nodes) / 2; + _Tp** __nfinish = __nstart + __num_nodes; + +- __STL_TRY { ++ _STLP_TRY { + _M_create_nodes(__nstart, __nfinish); + } +- __STL_UNWIND((_M_map.deallocate(_M_map._M_data, _M_map_size._M_data), ++ _STLP_UNWIND((_M_map.deallocate(_M_map._M_data, _M_map_size._M_data), + _M_map._M_data = 0, _M_map_size._M_data = 0)); + _M_start._M_set_node(__nstart); + this->_M_finish._M_set_node(__nfinish - 1); + _M_start._M_cur = _M_start._M_first; + this->_M_finish._M_cur = this->_M_finish._M_first + +- __num_elements % __buf_traits::buffer_size(); ++ __num_elements % this->buffer_size(); + } + + template +@@ -69,11 +73,11 @@ + _Tp** __nfinish) + { + _Tp** __cur; +- __STL_TRY { ++ _STLP_TRY { + for (__cur = __nstart; __cur < __nfinish; ++__cur) +- *__cur = _M_map_size.allocate(__buf_traits::_buf_size); ++ *__cur = _M_map_size.allocate(this->buffer_size()); + } +- __STL_UNWIND(_M_destroy_nodes(__nstart, __cur)); ++ _STLP_UNWIND(_M_destroy_nodes(__nstart, __cur)); + } + + template +@@ -82,14 +86,14 @@ + _Tp** __nfinish) + { + for (_Tp** __n = __nstart; __n < __nfinish; ++__n) +- _M_map_size.deallocate(*__n, __buf_traits::_buf_size); ++ _M_map_size.deallocate(*__n, this->buffer_size()); + } + + + + // Non-inline member functions + +-# if defined ( __STL_NESTED_TYPE_PARAM_BUG ) ++# if defined ( _STLP_NESTED_TYPE_PARAM_BUG ) + // qualified references + # define __iterator__ _Deque_iterator<_Tp, _Nonconst_traits<_Tp> > + # define const_iterator _Deque_iterator<_Tp, _Const_traits<_Tp> > +@@ -97,7 +101,7 @@ + # define size_type size_t + # define value_type _Tp + # else +-# define __iterator__ __STL_TYPENAME_ON_RETURN_TYPE __deque__<_Tp, _Alloc>::iterator ++# define __iterator__ _STLP_TYPENAME_ON_RETURN_TYPE __deque__<_Tp, _Alloc>::iterator + # endif + + template +@@ -123,25 +127,25 @@ + { + if (__pos._M_cur == this->_M_start._M_cur) { + iterator __new_start = _M_reserve_elements_at_front(__n); +- __STL_TRY { ++ _STLP_TRY { + uninitialized_fill(__new_start, this->_M_start, __x); + } +- __STL_UNWIND(this->_M_destroy_nodes(__new_start._M_node, this->_M_start._M_node)); ++ _STLP_UNWIND(this->_M_destroy_nodes(__new_start._M_node, this->_M_start._M_node)); + this->_M_start = __new_start; + } + else if (__pos._M_cur == this->_M_finish._M_cur) { + iterator __new_finish = _M_reserve_elements_at_back(__n); +- __STL_TRY { ++ _STLP_TRY { + uninitialized_fill(this->_M_finish, __new_finish, __x); + } +- __STL_UNWIND(this->_M_destroy_nodes(this->_M_finish._M_node+1, __new_finish._M_node+1)); ++ _STLP_UNWIND(this->_M_destroy_nodes(this->_M_finish._M_node+1, __new_finish._M_node+1)); + this->_M_finish = __new_finish; + } + else + _M_insert_aux(__pos, __n, __x); + } + +-#ifndef __STL_MEMBER_TEMPLATES ++#ifndef _STLP_MEMBER_TEMPLATES + + template + void __deque__<_Tp, _Alloc>::insert(iterator __pos, +@@ -150,18 +154,18 @@ + size_type __n = __last - __first; + if (__pos._M_cur == this->_M_start._M_cur) { + iterator __new_start = _M_reserve_elements_at_front(__n); +- __STL_TRY { ++ _STLP_TRY { + uninitialized_copy(__first, __last, __new_start); + } +- __STL_UNWIND(this->_M_destroy_nodes(__new_start._M_node, this->_M_start._M_node)); ++ _STLP_UNWIND(this->_M_destroy_nodes(__new_start._M_node, this->_M_start._M_node)); + this->_M_start = __new_start; + } + else if (__pos._M_cur == this->_M_finish._M_cur) { + iterator __new_finish = _M_reserve_elements_at_back(__n); +- __STL_TRY { ++ _STLP_TRY { + uninitialized_copy(__first, __last, this->_M_finish); + } +- __STL_UNWIND(this->_M_destroy_nodes(this->_M_finish._M_node + 1, ++ _STLP_UNWIND(this->_M_destroy_nodes(this->_M_finish._M_node + 1, + __new_finish._M_node + 1)); + this->_M_finish = __new_finish; + } +@@ -177,25 +181,25 @@ + size_type __n = __last - __first; + if (__pos._M_cur == this->_M_start._M_cur) { + iterator __new_start = _M_reserve_elements_at_front(__n); +- __STL_TRY { ++ _STLP_TRY { + uninitialized_copy(__first, __last, __new_start); + } +- __STL_UNWIND(this->_M_destroy_nodes(__new_start._M_node, this->_M_start._M_node)); ++ _STLP_UNWIND(this->_M_destroy_nodes(__new_start._M_node, this->_M_start._M_node)); + this->_M_start = __new_start; + } + else if (__pos._M_cur == this->_M_finish._M_cur) { + iterator __new_finish = _M_reserve_elements_at_back(__n); +- __STL_TRY { ++ _STLP_TRY { + uninitialized_copy(__first, __last, this->_M_finish); + } +- __STL_UNWIND(this->_M_destroy_nodes(this->_M_finish._M_node + 1,__new_finish._M_node + 1)); ++ _STLP_UNWIND(this->_M_destroy_nodes(this->_M_finish._M_node + 1,__new_finish._M_node + 1)); + this->_M_finish = __new_finish; + } + else + _M_insert_aux(__pos, __first, __last, __n); + } + +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + template + __iterator__ +@@ -212,7 +216,7 @@ + copy_backward(this->_M_start, __first, __last); + iterator __new_start = this->_M_start + __n; + _Destroy(this->_M_start, __new_start); +- this->_M_destroy_nodes(__new_start._M_node, this->_M_start._M_node); ++ this->_M_destroy_nodes(this->_M_start._M_node, __new_start._M_node); + this->_M_start = __new_start; + } + else { +@@ -232,14 +236,14 @@ + for (_Map_pointer __node = this->_M_start._M_node + 1; + __node < this->_M_finish._M_node; + ++__node) { +- _Destroy(*__node, *__node + __buf_traits::_buf_size); +- this->_M_map_size.deallocate(*__node, __buf_traits::_buf_size); ++ _Destroy(*__node, *__node + this->buffer_size()); ++ this->_M_map_size.deallocate(*__node, this->buffer_size()); + } + + if (this->_M_start._M_node != this->_M_finish._M_node) { + _Destroy(this->_M_start._M_cur, this->_M_start._M_last); + _Destroy(this->_M_finish._M_first, this->_M_finish._M_cur); +- this->_M_map_size.deallocate(this->_M_finish._M_first, __buf_traits::_buf_size); ++ this->_M_map_size.deallocate(this->_M_finish._M_first, this->buffer_size()); + } + else + _Destroy(this->_M_start._M_cur, this->_M_finish._M_cur); +@@ -251,14 +255,14 @@ + // but none of the deque's elements have yet been constructed. + template + void +-__deque__<_Tp,_Alloc>::_M_fill_initialize(const value_type& __value) { ++__deque__<_Tp,_Alloc>::_M_fill_initialize(const value_type& __val) { + _Map_pointer __cur; +- __STL_TRY { ++ _STLP_TRY { + for (__cur = this->_M_start._M_node; __cur < this->_M_finish._M_node; ++__cur) +- uninitialized_fill(*__cur, *__cur + __buf_traits::_buf_size, __value); +- uninitialized_fill(this->_M_finish._M_first, this->_M_finish._M_cur, __value); ++ uninitialized_fill(*__cur, *__cur + this->buffer_size(), __val); ++ uninitialized_fill(this->_M_finish._M_first, this->_M_finish._M_cur, __val); + } +- __STL_UNWIND(_Destroy(this->_M_start, iterator(*__cur, __cur))); ++ _STLP_UNWIND(_Destroy(this->_M_start, iterator(*__cur, __cur))); + } + + +@@ -269,31 +273,33 @@ + { + value_type __t_copy = __t; + _M_reserve_map_at_back(); +- *(this->_M_finish._M_node + 1) = this->_M_map_size.allocate(__buf_traits::_buf_size); +- __STL_TRY { ++ *(this->_M_finish._M_node + 1) = this->_M_map_size.allocate(this->buffer_size()); ++ _STLP_TRY { + _Construct(this->_M_finish._M_cur, __t_copy); + this->_M_finish._M_set_node(this->_M_finish._M_node + 1); + this->_M_finish._M_cur = this->_M_finish._M_first; + } +- __STL_UNWIND(this->_M_map_size.deallocate(*(this->_M_finish._M_node + 1), +- __buf_traits::_buf_size)); ++ _STLP_UNWIND(this->_M_map_size.deallocate(*(this->_M_finish._M_node + 1), ++ this->buffer_size())); + } + ++# ifndef _STLP_NO_ANACHRONISMS + // Called only if this->_M_finish._M_cur == this->_M_finish._M_last - 1. + template + void + __deque__<_Tp,_Alloc>::_M_push_back_aux() + { + _M_reserve_map_at_back(); +- *(this->_M_finish._M_node + 1) = this->_M_map_size.allocate(__buf_traits::_buf_size); +- __STL_TRY { ++ *(this->_M_finish._M_node + 1) = this->_M_map_size.allocate(this->buffer_size()); ++ _STLP_TRY { + _Construct(this->_M_finish._M_cur); + this->_M_finish._M_set_node(this->_M_finish._M_node + 1); + this->_M_finish._M_cur = this->_M_finish._M_first; + } +- __STL_UNWIND(this->_M_map_size.deallocate(*(this->_M_finish._M_node + 1), +- __buf_traits::_buf_size)); ++ _STLP_UNWIND(this->_M_map_size.deallocate(*(this->_M_finish._M_node + 1), ++ this->buffer_size())); + } ++# endif + + // Called only if this->_M_start._M_cur == this->_M_start._M_first. + template +@@ -302,38 +308,41 @@ + { + value_type __t_copy = __t; + _M_reserve_map_at_front(); +- *(this->_M_start._M_node - 1) = this->_M_map_size.allocate(__buf_traits::_buf_size); +- __STL_TRY { ++ *(this->_M_start._M_node - 1) = this->_M_map_size.allocate(this->buffer_size()); ++ _STLP_TRY { + this->_M_start._M_set_node(this->_M_start._M_node - 1); + this->_M_start._M_cur = this->_M_start._M_last - 1; + _Construct(this->_M_start._M_cur, __t_copy); + } +- __STL_UNWIND((++this->_M_start, +- this->_M_map_size.deallocate(*(this->_M_start._M_node - 1), __buf_traits::_buf_size))); ++ _STLP_UNWIND((++this->_M_start, ++ this->_M_map_size.deallocate(*(this->_M_start._M_node - 1), this->buffer_size()))); + } + ++ ++# ifndef _STLP_NO_ANACHRONISMS + // Called only if this->_M_start._M_cur == this->_M_start._M_first. + template + void + __deque__<_Tp,_Alloc>::_M_push_front_aux() + { + _M_reserve_map_at_front(); +- *(this->_M_start._M_node - 1) = this->_M_map_size.allocate(__buf_traits::_buf_size); +- __STL_TRY { ++ *(this->_M_start._M_node - 1) = this->_M_map_size.allocate(this->buffer_size()); ++ _STLP_TRY { + this->_M_start._M_set_node(this->_M_start._M_node - 1); + this->_M_start._M_cur = this->_M_start._M_last - 1; + _Construct(this->_M_start._M_cur); + } +- __STL_UNWIND((++this->_M_start, this->_M_map_size.deallocate(*(this->_M_start._M_node - 1), +- __buf_traits::_buf_size ))); ++ _STLP_UNWIND((++this->_M_start, this->_M_map_size.deallocate(*(this->_M_start._M_node - 1), ++ this->buffer_size() ))); + } ++# endif + + // Called only if this->_M_finish._M_cur == this->_M_finish._M_first. + template + void + __deque__<_Tp,_Alloc>::_M_pop_back_aux() + { +- this->_M_map_size.deallocate(this->_M_finish._M_first, __buf_traits::_buf_size); ++ this->_M_map_size.deallocate(this->_M_finish._M_first, this->buffer_size()); + this->_M_finish._M_set_node(this->_M_finish._M_node - 1); + this->_M_finish._M_cur = this->_M_finish._M_last - 1; + _Destroy(this->_M_finish._M_cur); +@@ -348,7 +357,7 @@ + __deque__<_Tp,_Alloc>::_M_pop_front_aux() + { + _Destroy(this->_M_start._M_cur); +- this->_M_map_size.deallocate(this->_M_start._M_first, __buf_traits::_buf_size); ++ this->_M_map_size.deallocate(this->_M_start._M_first, this->buffer_size()); + this->_M_start._M_set_node(this->_M_start._M_node + 1); + this->_M_start._M_cur = this->_M_start._M_first; + } +@@ -357,7 +366,7 @@ + + template + __iterator__ +-__deque__<_Tp,_Alloc>::_M_insert_aux_prepare(__iterator__ __pos) { ++__deque__<_Tp,_Alloc>::_M_insert_aux_prepare(iterator __pos) { + difference_type __index = __pos - this->_M_start; + if (__index < difference_type(size() / 2)) { + push_front(front()); +@@ -384,19 +393,19 @@ + + template + __iterator__ +-__deque__<_Tp,_Alloc>::_M_insert_aux(__iterator__ __pos, +- const value_type& __x) { ++__deque__<_Tp,_Alloc>::_M_insert_aux(iterator __pos, ++ const value_type& __x) { + value_type __x_copy = __x; +- __STL_MPWFIX_TRY //*TY 06/01/2000 - mpw forget to call dtor on __x_copy without this try block ++ _STLP_MPWFIX_TRY //*TY 06/01/2000 - mpw forget to call dtor on __x_copy without this try block + __pos = _M_insert_aux_prepare(__pos); + *__pos = __x_copy; + return __pos; +- __STL_MPWFIX_CATCH //*TY 06/01/2000 - ++ _STLP_MPWFIX_CATCH //*TY 06/01/2000 - + } + + template + __iterator__ +-__deque__<_Tp,_Alloc>::_M_insert_aux(__iterator__ __pos) ++__deque__<_Tp,_Alloc>::_M_insert_aux(iterator __pos) + { + __pos = _M_insert_aux_prepare(__pos); + *__pos = value_type(); +@@ -416,7 +425,7 @@ + iterator __new_start = _M_reserve_elements_at_front(__n); + iterator __old_start = this->_M_start; + __pos = this->_M_start + __elems_before; +- __STL_TRY { ++ _STLP_TRY { + if (__elems_before >= difference_type(__n)) { + iterator __start_n = this->_M_start + difference_type(__n); + uninitialized_copy(this->_M_start, __start_n, __new_start); +@@ -431,7 +440,7 @@ + fill(__old_start, __pos, __x_copy); + } + } +- __STL_UNWIND(this->_M_destroy_nodes(__new_start._M_node, this->_M_start._M_node)); ++ _STLP_UNWIND(this->_M_destroy_nodes(__new_start._M_node, this->_M_start._M_node)); + } + else { + iterator __new_finish = _M_reserve_elements_at_back(__n); +@@ -439,7 +448,7 @@ + const difference_type __elems_after = + difference_type(__length) - __elems_before; + __pos = this->_M_finish - __elems_after; +- __STL_TRY { ++ _STLP_TRY { + if (__elems_after > difference_type(__n)) { + iterator __finish_n = this->_M_finish - difference_type(__n); + uninitialized_copy(__finish_n, this->_M_finish, this->_M_finish); +@@ -454,11 +463,11 @@ + fill(__pos, __old_finish, __x_copy); + } + } +- __STL_UNWIND(this->_M_destroy_nodes(this->_M_finish._M_node + 1, __new_finish._M_node + 1)); ++ _STLP_UNWIND(this->_M_destroy_nodes(this->_M_finish._M_node + 1, __new_finish._M_node + 1)); + } + } + +-#ifndef __STL_MEMBER_TEMPLATES ++#ifndef _STLP_MEMBER_TEMPLATES + template + void + __deque__<_Tp,_Alloc>::_M_insert_aux(iterator __pos, +@@ -473,7 +482,7 @@ + iterator __new_start = _M_reserve_elements_at_front(__n); + iterator __old_start = this->_M_start; + __pos = this->_M_start + __elemsbefore; +- __STL_TRY { ++ _STLP_TRY { + if (__elemsbefore >= difference_type(__n)) { + iterator __start_n = this->_M_start + difference_type(__n); + uninitialized_copy(this->_M_start, __start_n, __new_start); +@@ -485,12 +494,12 @@ + const value_type* __mid = + __first + (difference_type(__n) - __elemsbefore); + __uninitialized_copy_copy(this->_M_start, __pos, __first, __mid, +- __new_start); ++ __new_start, _IsPODType()); + this->_M_start = __new_start; + copy(__mid, __last, __old_start); + } + } +- __STL_UNWIND(this->_M_destroy_nodes(__new_start._M_node, this->_M_start._M_node)); ++ _STLP_UNWIND(this->_M_destroy_nodes(__new_start._M_node, this->_M_start._M_node)); + } + else { + iterator __new_finish = _M_reserve_elements_at_back(__n); +@@ -498,7 +507,7 @@ + const difference_type __elemsafter = + difference_type(__length) - __elemsbefore; + __pos = this->_M_finish - __elemsafter; +- __STL_TRY { ++ _STLP_TRY { + if (__elemsafter > difference_type(__n)) { + iterator __finish_n = this->_M_finish - difference_type(__n); + uninitialized_copy(__finish_n, this->_M_finish, this->_M_finish); +@@ -508,12 +517,12 @@ + } + else { + const value_type* __mid = __first + __elemsafter; +- __uninitialized_copy_copy(__mid, __last, __pos, this->_M_finish, this->_M_finish); ++ __uninitialized_copy_copy(__mid, __last, __pos, this->_M_finish, this->_M_finish, _IsPODType()); + this->_M_finish = __new_finish; + copy(__first, __mid, __pos); + } + } +- __STL_UNWIND(this->_M_destroy_nodes(this->_M_finish._M_node + 1, __new_finish._M_node + 1)); ++ _STLP_UNWIND(this->_M_destroy_nodes(this->_M_finish._M_node + 1, __new_finish._M_node + 1)); + } + } + +@@ -530,7 +539,7 @@ + iterator __new_start = _M_reserve_elements_at_front(__n); + iterator __old_start = this->_M_start; + __pos = this->_M_start + __elemsbefore; +- __STL_TRY { ++ _STLP_TRY { + if (__elemsbefore >= difference_type(__n)) { + iterator __start_n = this->_M_start + __n; + uninitialized_copy(this->_M_start, __start_n, __new_start); +@@ -541,19 +550,19 @@ + else { + const_iterator __mid = __first + (__n - __elemsbefore); + __uninitialized_copy_copy(this->_M_start, __pos, __first, __mid, +- __new_start); ++ __new_start, _IsPODType()); + this->_M_start = __new_start; + copy(__mid, __last, __old_start); + } + } +- __STL_UNWIND(this->_M_destroy_nodes(__new_start._M_node, this->_M_start._M_node)); ++ _STLP_UNWIND(this->_M_destroy_nodes(__new_start._M_node, this->_M_start._M_node)); + } + else { + iterator __new_finish = _M_reserve_elements_at_back(__n); + iterator __old_finish = this->_M_finish; + const difference_type __elemsafter = __length - __elemsbefore; + __pos = this->_M_finish - __elemsafter; +- __STL_TRY { ++ _STLP_TRY { + if (__elemsafter > difference_type(__n)) { + iterator __finish_n = this->_M_finish - difference_type(__n); + uninitialized_copy(__finish_n, this->_M_finish, this->_M_finish); +@@ -563,36 +572,36 @@ + } + else { + const_iterator __mid = __first + __elemsafter; +- __uninitialized_copy_copy(__mid, __last, __pos, this->_M_finish, this->_M_finish); ++ __uninitialized_copy_copy(__mid, __last, __pos, this->_M_finish, this->_M_finish, _IsPODType()); + this->_M_finish = __new_finish; + copy(__first, __mid, __pos); + } + } +- __STL_UNWIND(this->_M_destroy_nodes(this->_M_finish._M_node + 1, __new_finish._M_node + 1)); ++ _STLP_UNWIND(this->_M_destroy_nodes(this->_M_finish._M_node + 1, __new_finish._M_node + 1)); + } + } + +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + template + void + __deque__<_Tp,_Alloc>::_M_new_elements_at_front(size_type __new_elems) + { + size_type __new_nodes +- = (__new_elems + __buf_traits::_buf_size - 1) / __buf_traits::_buf_size; ++ = (__new_elems + this->buffer_size() - 1) / this->buffer_size(); + _M_reserve_map_at_front(__new_nodes); + size_type __i =1; +- __STL_TRY { ++ _STLP_TRY { + for (; __i <= __new_nodes; ++__i) +- *(this->_M_start._M_node - __i) = this->_M_map_size.allocate(__buf_traits::_buf_size); ++ *(this->_M_start._M_node - __i) = this->_M_map_size.allocate(this->buffer_size()); + } +-# ifdef __STL_USE_EXCEPTIONS ++# ifdef _STLP_USE_EXCEPTIONS + catch(...) { + for (size_type __j = 1; __j < __i; ++__j) +- this->_M_map_size.deallocate(*(this->_M_start._M_node - __j), __buf_traits::_buf_size); ++ this->_M_map_size.deallocate(*(this->_M_start._M_node - __j), this->buffer_size()); + throw; + } +-# endif /* __STL_USE_EXCEPTIONS */ ++# endif /* _STLP_USE_EXCEPTIONS */ + } + + template +@@ -600,20 +609,20 @@ + __deque__<_Tp,_Alloc>::_M_new_elements_at_back(size_type __new_elems) + { + size_type __new_nodes +- = (__new_elems + __buf_traits::_buf_size - 1) / __buf_traits::_buf_size; ++ = (__new_elems + this->buffer_size() - 1) / this->buffer_size(); + _M_reserve_map_at_back(__new_nodes); + size_type __i = 1; +- __STL_TRY { ++ _STLP_TRY { + for (; __i <= __new_nodes; ++__i) +- *(this->_M_finish._M_node + __i) = this->_M_map_size.allocate(__buf_traits::_buf_size); ++ *(this->_M_finish._M_node + __i) = this->_M_map_size.allocate(this->buffer_size()); + } +-# ifdef __STL_USE_EXCEPTIONS ++# ifdef _STLP_USE_EXCEPTIONS + catch(...) { + for (size_type __j = 1; __j < __i; ++__j) +- this->_M_map_size.deallocate(*(this->_M_finish._M_node + __j), __buf_traits::_buf_size); ++ this->_M_map_size.deallocate(*(this->_M_finish._M_node + __j), this->buffer_size()); + throw; + } +-# endif /* __STL_USE_EXCEPTIONS */ ++# endif /* _STLP_USE_EXCEPTIONS */ + } + + template +@@ -636,7 +645,7 @@ + } + else { + size_type __new_map_size = +- this->_M_map_size._M_data + max((size_t)this->_M_map_size._M_data, __nodes_to_add) + 2; ++ this->_M_map_size._M_data + (max)((size_t)this->_M_map_size._M_data, __nodes_to_add) + 2; + + _Map_pointer __new_map = this->_M_map.allocate(__new_map_size); + __new_nstart = __new_map + (__new_map_size - __new_num_nodes) / 2 +@@ -652,132 +661,7 @@ + this->_M_finish._M_set_node(__new_nstart + __old_num_nodes - 1); + } + +-#if defined (__STL_MEMBER_TEMPLATES) && ! defined (__STL_INLINE_MEMBER_TEMPLATES ) +-template +-template +-void __deque__<_Tp,_Alloc>::_M_range_initialize(_InputIterator __first, +- _InputIterator __last, +- input_iterator_tag) { +- this->_M_initialize_map(0); +- __STL_TRY { +- for ( ; __first != __last; ++__first) +- push_back(*__first); +- } +- __STL_UNWIND(clear()); +- } +- +-template +-template +-void __deque__<_Tp,_Alloc>::_M_range_initialize(_ForwardIterator __first, +- _ForwardIterator __last, +- forward_iterator_tag) { +- size_type __n = 0; +- distance(__first, __last, __n); +- this->_M_initialize_map(__n); +- _Map_pointer __cur_node = this->_M_start._M_node; +- __STL_TRY { +- for (; +- __cur_node < this->_M_finish._M_node; +- ++__cur_node) { +- _ForwardIterator __mid = __first; +- advance(__mid, __buf_traits::_buf_size); +- uninitialized_copy(__first, __mid, *__cur_node); +- __first = __mid; +- } +- uninitialized_copy(__first, __last, this->_M_finish._M_first); +- } +- __STL_UNWIND(_Destroy(this->_M_start, iterator(*__cur_node, __cur_node))); +- } +- +-template +-template +-void __deque__<_Tp,_Alloc>::insert(iterator __pos, +- _ForwardIterator __first, +- _ForwardIterator __last, +- forward_iterator_tag) +- { +- size_type __n = 0; +- distance(__first, __last, __n); +- if (__pos._M_cur == this->_M_start._M_cur) { +- iterator __new_start = _M_reserve_elements_at_front(__n); +- __STL_TRY { +- uninitialized_copy(__first, __last, __new_start); +- this->_M_start = __new_start; +- } +- __STL_UNWIND(this->_M_destroy_nodes(__new_start._M_node, this->_M_start._M_node)); +- } +- else if (__pos._M_cur == this->_M_finish._M_cur) { +- iterator __new_finish = _M_reserve_elements_at_back(__n); +- __STL_TRY { +- uninitialized_copy(__first, __last, this->_M_finish); +- this->_M_finish = __new_finish; +- } +- __STL_UNWIND(this->_M_destroy_nodes(this->_M_finish._M_node + 1, __new_finish._M_node + 1)); +- } +- else +- _M_insert_aux(__pos, __first, __last, __n); +-} +- +-template +-template +-void __deque__<_Tp,_Alloc>::_M_insert_aux(iterator __pos, +- _ForwardIterator __first, +- _ForwardIterator __last, +- size_type __n) +-{ +- const difference_type __elemsbefore = __pos - this->_M_start; +- size_type __length = size(); +- if (__elemsbefore < difference_type(__length / 2)) { +- iterator __new_start = _M_reserve_elements_at_front(__n); +- iterator __old_start = this->_M_start; +- __pos = this->_M_start + __elemsbefore; +- __STL_TRY { +- if (__elemsbefore >= difference_type(__n)) { +- iterator __start_n = this->_M_start + difference_type(__n); +- uninitialized_copy(this->_M_start, __start_n, __new_start); +- this->_M_start = __new_start; +- copy(__start_n, __pos, __old_start); +- copy(__first, __last, __pos - difference_type(__n)); +- } +- else { +- _ForwardIterator __mid = __first; +- advance(__mid, difference_type(__n) - __elemsbefore); +- __uninitialized_copy_copy(this->_M_start, __pos, __first, __mid, +- __new_start); +- this->_M_start = __new_start; +- copy(__mid, __last, __old_start); +- } +- } +- __STL_UNWIND(this->_M_destroy_nodes(__new_start._M_node, this->_M_start._M_node)); +- } +- else { +- iterator __new_finish = _M_reserve_elements_at_back(__n); +- iterator __old_finish = this->_M_finish; +- const difference_type __elemsafter = +- difference_type(__length) - __elemsbefore; +- __pos = this->_M_finish - __elemsafter; +- __STL_TRY { +- if (__elemsafter > difference_type(__n)) { +- iterator __finish_n = this->_M_finish - difference_type(__n); +- uninitialized_copy(__finish_n, this->_M_finish, this->_M_finish); +- this->_M_finish = __new_finish; +- copy_backward(__pos, __finish_n, __old_finish); +- copy(__first, __last, __pos); +- } +- else { +- _ForwardIterator __mid = __first; +- advance(__mid, __elemsafter); +- __uninitialized_copy_copy(__mid, __last, __pos, this->_M_finish, this->_M_finish); +- this->_M_finish = __new_finish; +- copy(__first, __mid, __pos); +- } +- } +- __STL_UNWIND(this->_M_destroy_nodes(this->_M_finish._M_node + 1, __new_finish._M_node + 1)); +- } +- } +-# endif /* __STL_MEMBER_TEMPLATES */ +- +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + + # undef __iterator__ + # undef iterator +@@ -785,7 +669,7 @@ + # undef size_type + # undef value_type + +-#endif /* __STL_DEQUE_C */ ++#endif /* _STLP_DEQUE_C */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_deque.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_deque.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_deque.h Sat Feb 24 10:44:48 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_deque.h Sun Aug 11 18:59:24 2002 +@@ -27,26 +27,26 @@ + * You should not attempt to use it directly. + */ + +-#ifndef __SGI_STL_INTERNAL_DEQUE_H +-#define __SGI_STL_INTERNAL_DEQUE_H ++#ifndef _STLP_INTERNAL_DEQUE_H ++#define _STLP_INTERNAL_DEQUE_H + +-# ifndef __SGI_STL_INTERNAL_ALGOBASE_H ++# ifndef _STLP_INTERNAL_ALGOBASE_H + # include + # endif + +-# ifndef __SGI_STL_INTERNAL_ALLOC_H ++# ifndef _STLP_INTERNAL_ALLOC_H + # include + # endif + +-# ifndef __SGI_STL_INTERNAL_ITERATOR_H ++# ifndef _STLP_INTERNAL_ITERATOR_H + # include + # endif + +-# ifndef __SGI_STL_INTERNAL_UNINITIALIZED_H ++# ifndef _STLP_INTERNAL_UNINITIALIZED_H + # include + # endif + +-# ifndef __STL_RANGE_ERRORS_H ++# ifndef _STLP_RANGE_ERRORS_H + # include + # endif + +@@ -76,59 +76,19 @@ + * if and only if the pointer is in the range [start.node, finish.node]. + */ + +- +-/* +- * In previous versions of deque, node_size was fixed by the +- * implementation. In this version, however, users can select +- * the node size. Deque has three template parameters; the third, +- * a number of type size_t, is the number of elements per node. +- * If the third template parameter is 0 (which is the default), +- * then deque will use a default node size. +- * +- * The only reason for using an alternate node size is if your application +- * requires a different performance tradeoff than the default. If, +- * for example, your program contains many deques each of which contains +- * only a few elements, then you might want to save memory (possibly +- * by sacrificing some speed) by using smaller nodes. +- * +- */ +- + # undef deque + # define deque __WORKAROUND_DBG_RENAME(deque) + +-__STL_BEGIN_NAMESPACE +- +-# if defined ( __STL_USE_ABBREVS ) +-# define __deque_iterator _dQ__It +-# define _Buf_traits _dQ__BTr +-# define _Deque_iterator _Dq__It +-# endif +- +-// this helper class is needed to pass deque not-type parameter +-// to its iterators. +- +-template +-struct _Buf_size_traits { +-public: +- enum _Constants { +- _blocksize = 512, +- _buf_size = (sizeof(_Tp) < (size_t)_blocksize ? +- ( (size_t)_blocksize / sizeof(_Tp)) : size_t(1)), +- _byte_buf_size = sizeof(_Tp)*_buf_size +- }; +- static size_t __STL_CALL buffer_size() { return (size_t)_buf_size; } +-}; ++_STLP_BEGIN_NAMESPACE + + template + struct _Deque_iterator_base { + +- typedef _Buf_size_traits<_Tp> __bufsiz; +- +-#if !(defined(__MRC__)||defined(__SC__)) //*TY 04/30/2000 - added workaround for mpw +- enum { __buffer_size = __bufsiz::_buf_size } ; +-#else //*TY 04/30/2000 - +- enum { __buffer_size = _Buf_size_traits<_Tp>::_buf_size } ; //*TY 04/30/2000 - they confuse on the typedef +-#endif //*TY 04/30/2000 - ++ enum _Constants { ++ _blocksize = _MAX_BYTES, ++ __buffer_size = (sizeof(_Tp) < (size_t)_blocksize ? ++ ( (size_t)_blocksize / sizeof(_Tp)) : size_t(1)) ++ }; + + typedef random_access_iterator_tag iterator_category; + +@@ -203,7 +163,6 @@ + typedef ptrdiff_t difference_type; + typedef value_type** _Map_pointer; + +- typedef _Buf_size_traits<_Tp> __bufsiz; + typedef _Deque_iterator_base< _Tp > _Base; + typedef _Deque_iterator<_Tp, _Traits> _Self; + typedef _Deque_iterator<_Tp, _Nonconst_traits<_Tp> > _Nonconst_self; +@@ -220,7 +179,7 @@ + return *this->_M_cur; + } + +- __STL_DEFINE_ARROW_OPERATOR ++ _STLP_DEFINE_ARROW_OPERATOR + + difference_type operator-(const _Self& __x) const { return this->_M_subtract(__x); } + +@@ -255,24 +214,24 @@ + }; + + template +-inline _Deque_iterator<_Tp, _Traits> __STL_CALL ++inline _Deque_iterator<_Tp, _Traits> _STLP_CALL + operator+(ptrdiff_t __n, const _Deque_iterator<_Tp, _Traits>& __x) + { + return __x + __n; + } + + +-#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE ++#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE + + template +-inline bool __STL_CALL ++inline bool _STLP_CALL + operator==(const _Deque_iterator_base<_Tp >& __x, + const _Deque_iterator_base<_Tp >& __y) { + return __x._M_cur == __y._M_cur; + } + + template +-inline bool __STL_CALL ++inline bool _STLP_CALL + operator < (const _Deque_iterator_base<_Tp >& __x, + const _Deque_iterator_base<_Tp >& __y) { + return (__x._M_node == __y._M_node) ? +@@ -280,38 +239,39 @@ + } + + template +-inline bool __STL_CALL ++inline bool _STLP_CALL + operator!=(const _Deque_iterator_base<_Tp >& __x, + const _Deque_iterator_base<_Tp >& __y) { + return __x._M_cur != __y._M_cur; + } + template +-inline bool __STL_CALL ++inline bool _STLP_CALL + operator>(const _Deque_iterator_base<_Tp >& __x, + const _Deque_iterator_base<_Tp >& __y) { + return __y < __x; + } + template +-inline bool __STL_CALL operator>=(const _Deque_iterator_base<_Tp >& __x, ++inline bool _STLP_CALL operator>=(const _Deque_iterator_base<_Tp >& __x, + const _Deque_iterator_base<_Tp >& __y) { + return !(__x < __y); + } + template +-inline bool __STL_CALL operator<=(const _Deque_iterator_base<_Tp >& __x, ++inline bool _STLP_CALL operator<=(const _Deque_iterator_base<_Tp >& __x, + const _Deque_iterator_base<_Tp >& __y) { + return !(__y < __x); + } ++ + # else + + template +-inline bool __STL_CALL ++inline bool _STLP_CALL + operator==(const _Deque_iterator<_Tp, _Traits1 >& __x, + const _Deque_iterator<_Tp, _Traits2 >& __y) { + return __x._M_cur == __y._M_cur; + } + + template +-inline bool __STL_CALL ++inline bool _STLP_CALL + operator < (const _Deque_iterator<_Tp, _Traits1 >& __x, + const _Deque_iterator<_Tp, _Traits2 >& __y) { + return (__x._M_node == __y._M_node) ? +@@ -319,42 +279,39 @@ + } + + template +-inline bool __STL_CALL ++inline bool _STLP_CALL + operator!=(const _Deque_iterator<_Tp, _Nonconst_traits<_Tp> >& __x, + const _Deque_iterator<_Tp, _Const_traits<_Tp> >& __y) { + return __x._M_cur != __y._M_cur; + } + template +-inline bool __STL_CALL ++inline bool _STLP_CALL + operator>(const _Deque_iterator<_Tp, _Nonconst_traits<_Tp> >& __x, + const _Deque_iterator<_Tp, _Const_traits<_Tp> >& __y) { + return __y < __x; + } + template +-inline bool __STL_CALL ++inline bool _STLP_CALL + operator>=(const _Deque_iterator<_Tp, _Nonconst_traits<_Tp> >& __x, + const _Deque_iterator<_Tp, _Const_traits<_Tp> >& __y) { + return !(__x < __y); + } + template +-inline bool __STL_CALL ++inline bool _STLP_CALL + operator<=(const _Deque_iterator<_Tp, _Nonconst_traits<_Tp> >& __x, + const _Deque_iterator<_Tp, _Const_traits<_Tp> >& __y) { + return !(__y < __x); + } + # endif + +-# ifdef __STL_USE_OLD_HP_ITERATOR_QUERIES +-template +-inline _Tp* __STL_CALL __VALUE_TYPE(const _Deque_iterator<_Tp, _Traits >&) { return (_Tp*)0; } +-template +-inline random_access_iterator_tag __STL_CALL +-__ITERATOR_CATEGORY(const _Deque_iterator<_Tp, _Traits >&) { return random_access_iterator_tag(); } +-template +-inline ptrdiff_t* __STL_CALL __DISTANCE_TYPE(const _Deque_iterator<_Tp, _Traits >&) { return 0; } ++# ifdef _STLP_USE_OLD_HP_ITERATOR_QUERIES ++template inline _Tp* _STLP_CALL value_type(const _Deque_iterator<_Tp, _Traits >&) { return (_Tp*)0; } ++template inline random_access_iterator_tag _STLP_CALL ++iterator_category(const _Deque_iterator<_Tp, _Traits >&) { return random_access_iterator_tag(); } ++template inline ptrdiff_t* _STLP_CALL ++distance_type(const _Deque_iterator<_Tp, _Traits >&) { return 0; } + #endif + +- + // Deque base class. It has two purposes. First, its constructor + // and destructor allocate (but don't initialize) storage. This makes + // exception safety easier. Second, the base class encapsulates all of +@@ -364,27 +321,26 @@ + template + class _Deque_base { + public: +- + typedef _Tp value_type; ++ _STLP_FORCE_ALLOCATORS(_Tp, _Alloc) + typedef typename _Alloc_traits<_Tp,_Alloc>::allocator_type allocator_type; + typedef typename _Alloc_traits<_Tp*, _Alloc>::allocator_type _Map_alloc_type; + +- typedef _Buf_size_traits <_Tp> __buf_traits; +- + typedef _Deque_iterator<_Tp, _Nonconst_traits<_Tp> > iterator; + typedef _Deque_iterator<_Tp, _Const_traits<_Tp> > const_iterator; + ++ static size_t _STLP_CALL buffer_size() { return (size_t)_Deque_iterator_base<_Tp>::__buffer_size; } ++ + _Deque_base(const allocator_type& __a, size_t __num_elements) +- : _M_start(), _M_finish(), _M_map(__STL_CONVERT_ALLOCATOR(__a, _Tp*), 0), ++ : _M_start(), _M_finish(), _M_map(_STLP_CONVERT_ALLOCATOR(__a, _Tp*), 0), + _M_map_size(__a, (size_t)0) { + _M_initialize_map(__num_elements); + } + _Deque_base(const allocator_type& __a) +- : _M_start(), _M_finish(), _M_map(__STL_CONVERT_ALLOCATOR(__a, _Tp*), 0), ++ : _M_start(), _M_finish(), _M_map(_STLP_CONVERT_ALLOCATOR(__a, _Tp*), 0), + _M_map_size(__a, (size_t)0) { + } + ~_Deque_base(); +- allocator_type get_allocator() const { return _M_map_size; } + + protected: + void _M_initialize_map(size_t); +@@ -395,12 +351,12 @@ + protected: + iterator _M_start; + iterator _M_finish; +- _STL_alloc_proxy _M_map; +- _STL_alloc_proxy _M_map_size; ++ _STLP_alloc_proxy _M_map; ++ _STLP_alloc_proxy _M_map_size; + }; + + +-template ++template + class deque : protected _Deque_base<_Tp, _Alloc> { + typedef _Deque_base<_Tp, _Alloc> _Base; + typedef deque<_Tp, _Alloc> _Self; +@@ -413,18 +369,19 @@ + typedef size_t size_type; + typedef ptrdiff_t difference_type; + typedef random_access_iterator_tag _Iterator_category; +- ++ _STLP_FORCE_ALLOCATORS(_Tp, _Alloc) + typedef typename _Base::allocator_type allocator_type; + + public: // Iterators + typedef typename _Base::iterator iterator; + typedef typename _Base::const_iterator const_iterator; + +- __STL_DECLARE_RANDOM_ACCESS_REVERSE_ITERATORS; ++ _STLP_DECLARE_RANDOM_ACCESS_REVERSE_ITERATORS; + + protected: // Internal typedefs + typedef pointer* _Map_pointer; +- typedef _Buf_size_traits < _Tp > __buf_traits; ++ typedef typename __type_traits<_Tp>::has_trivial_assignment_operator _TrivialAss; ++ typedef typename __type_traits<_Tp>::has_trivial_assignment_operator _IsPODType; + + public: // Basic accessors + iterator begin() { return this->_M_start; } +@@ -469,6 +426,7 @@ + size_type size() const { return this->_M_finish - this->_M_start; } + size_type max_size() const { return size_type(-1); } + bool empty() const { return this->_M_finish == this->_M_start; } ++ allocator_type get_allocator() const { return _M_map_size; } + + public: // Constructor, destructor. + explicit deque(const allocator_type& __a = allocator_type()) +@@ -476,39 +434,32 @@ + + deque(const _Self& __x) : + _Deque_base<_Tp, _Alloc>(__x.get_allocator(), __x.size()) { +- uninitialized_copy(__x.begin(), __x.end(), this->_M_start); ++ __uninitialized_copy(__x.begin(), __x.end(), this->_M_start, _IsPODType()); + } + +- deque(size_type __n, const value_type& __value, ++ deque(size_type __n, const value_type& __val, + const allocator_type& __a = allocator_type()) : + _Deque_base<_Tp, _Alloc>(__a, __n) +- { _M_fill_initialize(__value); } ++ { _M_fill_initialize(__val); } + // int,long variants may be needed + explicit deque(size_type __n) : _Deque_base<_Tp, _Alloc>(allocator_type(), __n) + { _M_fill_initialize(value_type()); } + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + + template +- void _M_initialize_dispatch(_Integer __n, _Integer __x, __true_type) { ++ void _M_initialize_dispatch(_Integer __n, _Integer __x, const __true_type&) { + this->_M_initialize_map(__n); + _M_fill_initialize(__x); + } + + template + void _M_initialize_dispatch(_InputIter __first, _InputIter __last, +- __false_type) { +- _M_range_initialize(__first, __last, __ITERATOR_CATEGORY(__first)); ++ const __false_type&) { ++ _M_range_initialize(__first, __last, _STLP_ITERATOR_CATEGORY(__first, _InputIter)); + } + +- // Check whether it's an integral type. If so, it's not an iterator. +- template +- deque(_InputIterator __first, _InputIterator __last, +- const allocator_type& __a) : +- _Deque_base<_Tp, _Alloc>(__a) { +- typedef typename _Is_integer<_InputIterator>::_Integral _Integral; +- _M_initialize_dispatch(__first, __last, _Integral()); +- } ++# ifdef _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS + // VC++ needs this + template + deque(_InputIterator __first, _InputIterator __last) : +@@ -516,34 +467,30 @@ + typedef typename _Is_integer<_InputIterator>::_Integral _Integral; + _M_initialize_dispatch(__first, __last, _Integral()); + } +-# if !(defined (__STL_MSVC) && __STL_MSVC < 1200 ) +- // specialization +- deque(const_iterator __first, const_iterator __last) +- : _Deque_base<_Tp, _Alloc>(allocator_type(), __last - __first) { +- uninitialized_copy(__first, __last, this->_M_start); +- } +- deque(const_iterator __first, const_iterator __last, +- const allocator_type& __a ) +- : _Deque_base<_Tp, _Alloc>(__a, __last - __first) { +- uninitialized_copy(__first, __last, this->_M_start); ++# endif ++ ++ // Check whether it's an integral type. If so, it's not an iterator. ++ template ++ deque(_InputIterator __first, _InputIterator __last, ++ const allocator_type& __a _STLP_ALLOCATOR_TYPE_DFL) : ++ _Deque_base<_Tp, _Alloc>(__a) { ++ typedef typename _Is_integer<_InputIterator>::_Integral _Integral; ++ _M_initialize_dispatch(__first, __last, _Integral()); + } +-# endif +-# else /* __STL_MEMBER_TEMPLATES */ + ++# else + deque(const value_type* __first, const value_type* __last, +- const allocator_type& __a = allocator_type()) ++ const allocator_type& __a = allocator_type() ) + : _Deque_base<_Tp, _Alloc>(__a, __last - __first) { +- uninitialized_copy(__first, __last, this->_M_start); ++ __uninitialized_copy(__first, __last, this->_M_start, _IsPODType()); + } + + deque(const_iterator __first, const_iterator __last, + const allocator_type& __a = allocator_type() ) + : _Deque_base<_Tp, _Alloc>(__a, __last - __first) { +- uninitialized_copy(__first, __last, this->_M_start); ++ __uninitialized_copy(__first, __last, this->_M_start, _IsPODType()); + } +- +-#endif /* __STL_MEMBER_TEMPLATES */ +- ++#endif /* _STLP_MEMBER_TEMPLATES */ + + ~deque() { + _Destroy(this->_M_start, this->_M_finish); +@@ -552,10 +499,10 @@ + _Self& operator= (const _Self& __x); + + void swap(_Self& __x) { +- __STLPORT_STD::swap(this->_M_start, __x._M_start); +- __STLPORT_STD::swap(this->_M_finish, __x._M_finish); +- __STLPORT_STD::swap(this->_M_map, __x._M_map); +- __STLPORT_STD::swap(this->_M_map_size, __x._M_map_size); ++ _STLP_STD::swap(this->_M_start, __x._M_start); ++ _STLP_STD::swap(this->_M_finish, __x._M_finish); ++ _STLP_STD::swap(this->_M_map, __x._M_map); ++ _STLP_STD::swap(this->_M_map_size, __x._M_map_size); + } + + public: +@@ -566,12 +513,12 @@ + + void _M_fill_assign(size_type __n, const _Tp& __val) { + if (__n > size()) { +- fill(begin(), end(), __val); ++ _STLP_STD::fill(begin(), end(), __val); + insert(end(), __n - size(), __val); + } + else { + erase(begin() + __n, end()); +- fill(begin(), end(), __val); ++ _STLP_STD::fill(begin(), end(), __val); + } + } + +@@ -579,7 +526,7 @@ + _M_fill_assign(__n, __val); + } + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + + template + void assign(_InputIterator __first, _InputIterator __last) { +@@ -590,17 +537,17 @@ + private: // helper functions for assign() + + template +- void _M_assign_dispatch(_Integer __n, _Integer __val, __true_type) ++ void _M_assign_dispatch(_Integer __n, _Integer __val, const __true_type&) + { _M_fill_assign((size_type) __n, (_Tp) __val); } + + template + void _M_assign_dispatch(_InputIterator __first, _InputIterator __last, +- __false_type) { +- _M_assign_aux(__first, __last, __ITERATOR_CATEGORY(__first)); ++ const __false_type&) { ++ _M_assign_aux(__first, __last, _STLP_ITERATOR_CATEGORY(__first, _InputIterator)); + } + + template +- void _M_assign_aux(_InputIter __first, _InputIter __last, input_iterator_tag) { ++ void _M_assign_aux(_InputIter __first, _InputIter __last, const input_iterator_tag &) { + iterator __cur = begin(); + for ( ; __first != __last && __cur != end(); ++__cur, ++__first) + *__cur = *__first; +@@ -612,9 +559,8 @@ + + template + void _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last, +- forward_iterator_tag) { +- size_type __len = 0; +- distance(__first, __last, __len); ++ const forward_iterator_tag &) { ++ size_type __len = distance(__first, __last); + if (__len > size()) { + _ForwardIterator __mid = __first; + advance(__mid, size()); +@@ -625,7 +571,7 @@ + erase(copy(__first, __last, begin()), end()); + } + +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + public: // push_* and pop_* + +@@ -637,16 +583,6 @@ + else + _M_push_back_aux_v(__t); + } +- +- void push_back() { +- if (this->_M_finish._M_cur != this->_M_finish._M_last - 1) { +- _Construct(this->_M_finish._M_cur); +- ++this->_M_finish._M_cur; +- } +- else +- _M_push_back_aux(); +- } +- + void push_front(const value_type& __t) { + if (this->_M_start._M_cur != this->_M_start._M_first) { + _Construct(this->_M_start._M_cur - 1, __t); +@@ -656,6 +592,15 @@ + _M_push_front_aux_v(__t); + } + ++# ifndef _STLP_NO_ANACHRONISMS ++ void push_back() { ++ if (this->_M_finish._M_cur != this->_M_finish._M_last - 1) { ++ _Construct(this->_M_finish._M_cur); ++ ++this->_M_finish._M_cur; ++ } ++ else ++ _M_push_back_aux(); ++ } + void push_front() { + if (this->_M_start._M_cur != this->_M_start._M_first) { + _Construct(this->_M_start._M_cur - 1); +@@ -664,7 +609,7 @@ + else + _M_push_front_aux(); + } +- ++# endif + + void pop_back() { + if (this->_M_finish._M_cur != this->_M_finish._M_first) { +@@ -711,7 +656,7 @@ + + void _M_fill_insert(iterator __pos, size_type __n, const value_type& __x); + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + + // Check whether it's an integral type. If so, it's not an iterator. + template +@@ -722,25 +667,25 @@ + + template + void _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __x, +- __true_type) { ++ const __true_type&) { + _M_fill_insert(__pos, (size_type) __n, (value_type) __x); + } + + template + void _M_insert_dispatch(iterator __pos, + _InputIterator __first, _InputIterator __last, +- __false_type) { +- insert(__pos, __first, __last, __ITERATOR_CATEGORY(__first)); ++ const __false_type&) { ++ insert(__pos, __first, __last, _STLP_ITERATOR_CATEGORY(__first, _InputIterator)); + } + +-#else /* __STL_MEMBER_TEMPLATES */ ++#else /* _STLP_MEMBER_TEMPLATES */ + + void insert(iterator __pos, + const value_type* __first, const value_type* __last); + void insert(iterator __pos, + const_iterator __first, const_iterator __last); + +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + void resize(size_type __new_size, const value_type& __x) { + const size_type __len = size(); +@@ -773,74 +718,64 @@ + + protected: // Internal construction/destruction + +- void _M_fill_initialize(const value_type& __value); ++ void _M_fill_initialize(const value_type& __val); + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + + template + void _M_range_initialize(_InputIterator __first, + _InputIterator __last, +- input_iterator_tag) +-#ifndef __STL_INLINE_MEMBER_TEMPLATES +-; +-#else +- { ++ const input_iterator_tag &) { + this->_M_initialize_map(0); +- __STL_TRY { ++ _STLP_TRY { + for ( ; __first != __last; ++__first) +- push_back(*__first); ++ push_back(*__first); + } +- __STL_UNWIND(clear()); ++ _STLP_UNWIND(clear()); + } +-# endif /* __STL_OUTLINE_MEMBER_TEMPLATES */ +- + template + void _M_range_initialize(_ForwardIterator __first, +- _ForwardIterator __last, +- forward_iterator_tag) +-# ifndef __STL_INLINE_MEMBER_TEMPLATES +-; +-# else +-{ +- size_type __n = 0; +- distance(__first, __last, __n); ++ _ForwardIterator __last, ++ const forward_iterator_tag &) { ++ size_type __n = distance(__first, __last); + this->_M_initialize_map(__n); + _Map_pointer __cur_node; +- __STL_TRY { ++ _STLP_TRY { + for (__cur_node = this->_M_start._M_node; + __cur_node < this->_M_finish._M_node; + ++__cur_node) { + _ForwardIterator __mid = __first; +- advance(__mid, __buf_traits::_buf_size); ++ advance(__mid, this->buffer_size()); + uninitialized_copy(__first, __mid, *__cur_node); + __first = __mid; + } + uninitialized_copy(__first, __last, this->_M_finish._M_first); + } +- __STL_UNWIND(_Destroy(this->_M_start, iterator(*__cur_node, __cur_node))); ++ _STLP_UNWIND(_Destroy(this->_M_start, iterator(*__cur_node, __cur_node))); + } +-# endif /* __STL_INLINE_MEMBER_TEMPLATES */ +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + protected: // Internal push_* and pop_* + + void _M_push_back_aux_v(const value_type&); +- void _M_push_back_aux(); + void _M_push_front_aux_v(const value_type&); ++# ifndef _STLP_NO_ANACHRONISMS ++ void _M_push_back_aux(); + void _M_push_front_aux(); ++# endif + void _M_pop_back_aux(); + void _M_pop_front_aux(); + + protected: // Internal insert functions + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + + template + void + insert(iterator __pos, + _InputIterator __first, + _InputIterator __last, +- input_iterator_tag) ++ const input_iterator_tag &) + { + copy(__first, __last, inserter(*this, __pos)); + } +@@ -849,34 +784,29 @@ + void insert(iterator __pos, + _ForwardIterator __first, + _ForwardIterator __last, +- forward_iterator_tag) +-# ifndef __STL_INLINE_MEMBER_TEMPLATES +-; +-# else ++ const forward_iterator_tag &) + { +- size_type __n = 0; +- distance(__first, __last, __n); ++ size_type __n = distance(__first, __last); + if (__pos._M_cur == this->_M_start._M_cur) { + iterator __new_start = _M_reserve_elements_at_front(__n); +- __STL_TRY { ++ _STLP_TRY { + uninitialized_copy(__first, __last, __new_start); + this->_M_start = __new_start; + } +- __STL_UNWIND(this->_M_destroy_nodes(__new_start._M_node, this->_M_start._M_node)); ++ _STLP_UNWIND(this->_M_destroy_nodes(__new_start._M_node, this->_M_start._M_node)); + } + else if (__pos._M_cur == this->_M_finish._M_cur) { + iterator __new_finish = _M_reserve_elements_at_back(__n); +- __STL_TRY { ++ _STLP_TRY { + uninitialized_copy(__first, __last, this->_M_finish); + this->_M_finish = __new_finish; + } +- __STL_UNWIND(this->_M_destroy_nodes(this->_M_finish._M_node + 1, __new_finish._M_node + 1)); ++ _STLP_UNWIND(this->_M_destroy_nodes(this->_M_finish._M_node + 1, __new_finish._M_node + 1)); + } + else + _M_insert_aux(__pos, __first, __last, __n); + } +-# endif /* __STL_INLINE_MEMBER_TEMPLATES */ +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + iterator _M_insert_aux(iterator __pos, const value_type& __x); + iterator _M_insert_aux(iterator __pos); +@@ -884,16 +814,12 @@ + + void _M_insert_aux(iterator __pos, size_type __n, const value_type& __x); + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + template + void _M_insert_aux(iterator __pos, +- _ForwardIterator __first, +- _ForwardIterator __last, +- size_type __n) +-# ifndef __STL_INLINE_MEMBER_TEMPLATES +-; +-# else +- { ++ _ForwardIterator __first, ++ _ForwardIterator __last, ++ size_type __n) { + + const difference_type __elemsbefore = __pos - this->_M_start; + size_type __length = size(); +@@ -901,7 +827,7 @@ + iterator __new_start = _M_reserve_elements_at_front(__n); + iterator __old_start = this->_M_start; + __pos = this->_M_start + __elemsbefore; +- __STL_TRY { ++ _STLP_TRY { + if (__elemsbefore >= difference_type(__n)) { + iterator __start_n = this->_M_start + difference_type(__n); + uninitialized_copy(this->_M_start, __start_n, __new_start); +@@ -913,12 +839,12 @@ + _ForwardIterator __mid = __first; + advance(__mid, difference_type(__n) - __elemsbefore); + __uninitialized_copy_copy(this->_M_start, __pos, __first, __mid, +- __new_start); ++ __new_start, _IsPODType()); + this->_M_start = __new_start; + copy(__mid, __last, __old_start); + } + } +- __STL_UNWIND(this->_M_destroy_nodes(__new_start._M_node, this->_M_start._M_node)); ++ _STLP_UNWIND(this->_M_destroy_nodes(__new_start._M_node, this->_M_start._M_node)); + } + else { + iterator __new_finish = _M_reserve_elements_at_back(__n); +@@ -926,7 +852,7 @@ + const difference_type __elemsafter = + difference_type(__length) - __elemsbefore; + __pos = this->_M_finish - __elemsafter; +- __STL_TRY { ++ _STLP_TRY { + if (__elemsafter > difference_type(__n)) { + iterator __finish_n = this->_M_finish - difference_type(__n); + uninitialized_copy(__finish_n, this->_M_finish, this->_M_finish); +@@ -937,16 +863,15 @@ + else { + _ForwardIterator __mid = __first; + advance(__mid, __elemsafter); +- __uninitialized_copy_copy(__mid, __last, __pos, this->_M_finish, this->_M_finish); ++ __uninitialized_copy_copy(__mid, __last, __pos, this->_M_finish, this->_M_finish, _IsPODType()); + this->_M_finish = __new_finish; + copy(__first, __mid, __pos); + } + } +- __STL_UNWIND(this->_M_destroy_nodes(this->_M_finish._M_node + 1, __new_finish._M_node + 1)); ++ _STLP_UNWIND(this->_M_destroy_nodes(this->_M_finish._M_node + 1, __new_finish._M_node + 1)); + } + } +-# endif /* __STL_INLINE_MEMBER_TEMPLATES */ +-#else /* __STL_MEMBER_TEMPLATES */ ++#else /* _STLP_MEMBER_TEMPLATES */ + + void _M_insert_aux(iterator __pos, + const value_type* __first, const value_type* __last, +@@ -956,7 +881,7 @@ + const_iterator __first, const_iterator __last, + size_type __n); + +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + iterator _M_reserve_elements_at_front(size_type __n) { + size_type __vacancies = this->_M_start._M_cur - this->_M_start._M_first; +@@ -998,7 +923,7 @@ + // Nonmember functions. + + template +-inline bool __STL_CALL operator==(const deque<_Tp, _Alloc>& __x, ++inline bool _STLP_CALL operator==(const deque<_Tp, _Alloc>& __x, + const deque<_Tp, _Alloc>& __y) + { + return __x.size() == __y.size() && +@@ -1006,50 +931,50 @@ + } + + template +-inline bool __STL_CALL operator<(const deque<_Tp, _Alloc>& __x, ++inline bool _STLP_CALL operator<(const deque<_Tp, _Alloc>& __x, + const deque<_Tp, _Alloc>& __y) + { + return lexicographical_compare(__x.begin(), __x.end(), + __y.begin(), __y.end()); + } + +-#if defined(__STL_USE_SEPARATE_RELOPS_NAMESPACE) ++#if defined(_STLP_USE_SEPARATE_RELOPS_NAMESPACE) + + template +-inline bool __STL_CALL operator!=(const deque<_Tp, _Alloc>& __x, ++inline bool _STLP_CALL operator!=(const deque<_Tp, _Alloc>& __x, + const deque<_Tp, _Alloc>& __y) + { + return !(__x == __y); + } + + template +-inline bool __STL_CALL operator>(const deque<_Tp, _Alloc>& __x, ++inline bool _STLP_CALL operator>(const deque<_Tp, _Alloc>& __x, + const deque<_Tp, _Alloc>& __y) + { + return __y < __x; + } + + template +-inline bool __STL_CALL operator>=(const deque<_Tp, _Alloc>& __x, ++inline bool _STLP_CALL operator>=(const deque<_Tp, _Alloc>& __x, + const deque<_Tp, _Alloc>& __y) + { + return !(__x < __y); + } + + template +-inline bool __STL_CALL operator<=(const deque<_Tp, _Alloc>& __x, ++inline bool _STLP_CALL operator<=(const deque<_Tp, _Alloc>& __x, + const deque<_Tp, _Alloc>& __y) + { + return !(__y < __x); + } + + +-# endif /* __STL_SEPARATE_RELOPS_NAMESPACE */ ++# endif /* _STLP_SEPARATE_RELOPS_NAMESPACE */ + +-# if defined(__STL_FUNCTION_TMPL_PARTIAL_ORDER) ++# if defined(_STLP_FUNCTION_TMPL_PARTIAL_ORDER) + + template +-inline void __STL_CALL ++inline void _STLP_CALL + swap(deque<_Tp,_Alloc>& __x, deque<_Tp,_Alloc>& __y) + { + __x.swap(__y); +@@ -1057,26 +982,26 @@ + + # endif + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + + // do a cleanup + # undef deque + # undef __deque__ + # define __deque__ __WORKAROUND_DBG_RENAME(deque) + +-# if !defined (__STL_LINK_TIME_INSTANTIATION) ++# if !defined (_STLP_LINK_TIME_INSTANTIATION) + # include + # endif + +-#if defined (__STL_DEBUG) ++#if defined (_STLP_DEBUG) + # include + #endif + +-# if defined (__STL_USE_WRAPPER_FOR_ALLOC_PARAM) ++# if defined (_STLP_USE_WRAPPER_FOR_ALLOC_PARAM) + # include + # endif + +-#endif /* __SGI_STL_INTERNAL_DEQUE_H */ ++#endif /* _STLP_INTERNAL_DEQUE_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_epilog.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_epilog.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_epilog.h Sat Feb 24 10:44:48 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_epilog.h Sun Aug 11 18:59:24 2002 +@@ -6,12 +6,36 @@ + + /* If the platform provides any specific epilog actions, + like #pragmas, do include platform-specific prolog file */ +-# if defined (__STL_HAS_SPECIFIC_PROLOG_EPILOG) ++# if defined (_STLP_HAS_SPECIFIC_PROLOG_EPILOG) + # include + # endif +- +-# if defined (__STL_REDEFINE_STD) || ! defined (__STL_USE_NAMESPACES) +-/* We redefine "std" to "stlport", so that user code may use std:: transparently */ +-# undef std +-# define std STLPORT ++ ++# ifndef _STLP_NO_POST_COMPATIBLE_SECTION ++# include ++# endif ++ ++/* provide a mechanism to redefine std:: namespace in a way that is transparent to the ++ * user. _STLP_REDEFINE_STD is being used for wrapper files that include native headers ++ * to temporary undef the std macro. */ ++# if ! defined ( _STLP_USE_NAMESPACES ) || (defined ( _STLP_USE_OWN_NAMESPACE ) \ ++ && ! defined ( _STLP_DONT_REDEFINE_STD )) ++# define _STLP_REDEFINE_STD 1 ++# endif ++ ++# if defined (_STLP_REDEFINE_STD) ++/* We redefine "std" to "stlport", so that user code may use std:: transparently */ ++# undef std ++# define std STLPORT ++# else ++# if defined(__cplusplus) ++# ifndef _STLP_CONFIG_H ++# include ++# endif ++# if defined (_STLP_USE_OWN_NAMESPACE) && defined (_STLP_OWN_IOSTREAMS) ++namespace _STLP_STD {} ++namespace std { ++ using namespace _STLP_STD; ++} ++# endif ++# endif /* __cplusplus */ + # endif +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_fstream.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_fstream.c +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_fstream.c Sat Feb 24 10:44:48 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_fstream.c Sun Aug 11 18:59:24 2002 +@@ -15,22 +15,26 @@ + * modified is included with the above copyright notice. + * + */ +-#ifndef __STL_FSTREAM_C +-#define __STL_FSTREAM_C ++#ifndef _STLP_FSTREAM_C ++#define _STLP_FSTREAM_C + +-# if defined (__STL_DESIGNATED_DLL) || ! defined (__STL_NO_CUSTOM_IO) ++# ifndef _STLP_INTERNAL_FSTREAM_H ++# include ++# endif ++ ++# if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + +-# if defined ( __STL_NESTED_TYPE_PARAM_BUG ) ++# if defined ( _STLP_NESTED_TYPE_PARAM_BUG ) + // no wchar_t is supported for this mode + # define __BF_int_type__ int + # define __BF_pos_type__ streampos + # define __BF_off_type__ streamoff + # else +-# define __BF_int_type__ __STL_TYPENAME_ON_RETURN_TYPE basic_filebuf<_CharT, _Traits>::int_type +-# define __BF_pos_type__ __STL_TYPENAME_ON_RETURN_TYPE basic_filebuf<_CharT, _Traits>::pos_type +-# define __BF_off_type__ __STL_TYPENAME_ON_RETURN_TYPE basic_filebuf<_CharT, _Traits>::off_type ++# define __BF_int_type__ _STLP_TYPENAME_ON_RETURN_TYPE basic_filebuf<_CharT, _Traits>::int_type ++# define __BF_pos_type__ _STLP_TYPENAME_ON_RETURN_TYPE basic_filebuf<_CharT, _Traits>::pos_type ++# define __BF_off_type__ _STLP_TYPENAME_ON_RETURN_TYPE basic_filebuf<_CharT, _Traits>::off_type + # endif + + +@@ -47,8 +51,8 @@ + _M_int_buf(0), _M_int_buf_EOS(0), + _M_ext_buf(0), _M_ext_buf_EOS(0), + _M_ext_buf_converted(0), _M_ext_buf_end(0), +- _M_state(), +- _M_end_state(), ++ _M_state(_STLP_DEFAULT_CONSTRUCTED(_State_type)), ++ _M_end_state(_STLP_DEFAULT_CONSTRUCTED(_State_type)), + _M_mmap_base(0), _M_mmap_len(0), + _M_saved_eback(0), _M_saved_gptr(0), _M_saved_egptr(0), + _M_codecvt(0), +@@ -65,7 +69,7 @@ + + + template +-__STL_TYPENAME_ON_RETURN_TYPE basic_filebuf<_CharT, _Traits>::int_type ++_STLP_TYPENAME_ON_RETURN_TYPE basic_filebuf<_CharT, _Traits>::int_type + basic_filebuf<_CharT, _Traits>::underflow() + { + return _Underflow<_CharT, _Traits>::_M_doit(this); +@@ -518,10 +522,11 @@ + // Fill the external buffer. Start with any leftover characters that + // didn't get converted last time. + if (_M_ext_buf_end > _M_ext_buf_converted) +- // boris : let us use copy_backward to be safe +- // _M_ext_buf_end = copy(_M_ext_buf_converted, _M_ext_buf_end, _M_ext_buf); +- _M_ext_buf_end = copy_backward(_M_ext_buf_converted, _M_ext_buf_end, +- _M_ext_buf+ (_M_ext_buf_end - _M_ext_buf_converted)); ++ ++ _M_ext_buf_end = copy(_M_ext_buf_converted, _M_ext_buf_end, _M_ext_buf); ++ // boris : copy_backward did not work ++ //_M_ext_buf_end = copy_backward(_M_ext_buf_converted, _M_ext_buf_end, ++ //_M_ext_buf+ (_M_ext_buf_end - _M_ext_buf_converted)); + else + _M_ext_buf_end = _M_ext_buf; + +@@ -556,10 +561,11 @@ + return _Noconv_input<_Traits>::_M_doit(this); + + else if (__status == _Codecvt::error || +- (__inext != _M_int_buf && __enext == _M_ext_buf) || +- (_M_constant_width && +- __inext - _M_int_buf != _M_width * (__enext - _M_ext_buf)) || +- (__inext == _M_int_buf && __enext - _M_ext_buf >= _M_max_width)) ++ (__inext != _M_int_buf && __enext == _M_ext_buf) || ++ (_M_constant_width && ++ // __inext - _M_int_buf != _M_width * (__enext - _M_ext_buf)) || ++ (__inext - _M_int_buf) * _M_width != (__enext - _M_ext_buf)) || ++ (__inext == _M_int_buf && __enext - _M_ext_buf >= _M_max_width)) + return _M_input_error(); + + else if (__inext != _M_int_buf) { +@@ -634,7 +640,7 @@ + // basic_filebuf<>::overflow() for the reason.) + template + bool +-basic_filebuf<_CharT, _Traits>::_M_allocate_buffers(_CharT* __buf, int __n) ++basic_filebuf<_CharT, _Traits>::_M_allocate_buffers(_CharT* __buf, streamsize __n) + { + + if (__buf == 0) { +@@ -648,8 +654,8 @@ + _M_int_buf_dynamic = false; + } + +- int __ebufsiz = max(__n * max(_M_codecvt->encoding(), 1), +- _M_codecvt->max_length()); ++ size_t __ebufsiz = (max)(__n * (max)(_M_codecvt->encoding(), 1), ++ streamsize(_M_codecvt->max_length())); + + _M_ext_buf = __STATIC_CAST(char*,malloc(__ebufsiz)); + if (!_M_ext_buf) { +@@ -668,8 +674,8 @@ + { + // Choose a buffer that's at least 4096 characters long and that's a + // multiple of the page size. +- int __default_bufsiz = +- ((_M_base.__page_size() + 4095) / _M_base.__page_size()) * _M_base.__page_size(); ++ streamsize __default_bufsiz = ++ ((_M_base.__page_size() + 4095UL) / _M_base.__page_size()) * _M_base.__page_size(); + return _M_allocate_buffers(0, __default_bufsiz); + } + +@@ -700,7 +706,7 @@ + bool __ok = !traits_type::eq_int_type(this->overflow(traits_type::eof()), + traits_type::eof()); + if (__do_unshift) +- __ok == __ok && this->_M_unshift(); ++ __ok = __ok && this->_M_unshift(); + if (!__ok) { + _M_in_output_mode = false; + _M_in_error_mode = true; +@@ -725,19 +731,19 @@ + _M_codecvt = &use_facet<_Codecvt>(__loc) ; + int __encoding = _M_codecvt->encoding(); + +- _M_width = max(__encoding, 1); ++ _M_width = (max)(__encoding, 1); + _M_max_width = _M_codecvt->max_length(); + _M_constant_width = __encoding > 0; + _M_always_noconv = _M_codecvt->always_noconv(); + } + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + + # undef __BF_int_type__ + # undef __BF_pos_type__ + # undef __BF_off_type__ + +-# endif /* if defined (__STL_DESIGNATED_DLL) || ! defined (__STL_NO_CUSTOM_IO) */ ++# endif /* defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) */ + +-#endif /* __STL_FSTREAM_C */ ++#endif /* _STLP_FSTREAM_C */ + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_fstream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_fstream.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_fstream.h Sat Feb 24 10:44:49 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_fstream.h Sun Aug 11 18:59:24 2002 +@@ -19,55 +19,65 @@ + // basic_ofstream, and basic_fstream. These classes represent + // streambufs and streams whose sources or destinations are files. + +-#ifndef __SGI_STL_FSTREAM_H +-#define __SGI_STL_FSTREAM_H ++#ifndef _STLP_INTERNAL_FSTREAM_H ++#define _STLP_INTERNAL_FSTREAM_H + + #if defined(__sgi) && !defined(__GNUC__) && !defined(_STANDARD_C_PLUS_PLUS) + #error This header file requires the -LANG:std option + #endif + +-#include // Includes , , ++#ifndef _STLP_INTERNAL_STREAMBUF ++# include ++#endif ++ ++#ifndef _STLP_INTERNAL_ISTREAM_H ++#include ++#endif ++ ++#ifndef _STLP_INTERNAL_CODECVT_H + #include +-#include +-#include ++#endif + ++#ifndef _STLP_STDIO_FILE_H ++#include ++#endif + +-#if !defined (__STL_USE_UNIX_IO) && !defined(__STL_USE_WIN32_IO) \ +- && ! defined (__STL_USE_UNIX_EMULATION_IO) && !defined (__STL_USE_STDIO_IO) ++#if !defined (_STLP_USE_UNIX_IO) && !defined(_STLP_USE_WIN32_IO) \ ++ && ! defined (_STLP_USE_UNIX_EMULATION_IO) && !defined (_STLP_USE_STDIO_IO) + +-# if defined (__STL_UNIX) || defined (__CYGWIN__) ++# if defined (_STLP_UNIX) || defined (__CYGWIN__) || defined (__amigaos__) + // open/close/read/write +-# define __STL_USE_UNIX_IO +-# elif defined (__STL_WIN32) && ! defined (__CYGWIN__) ++# define _STLP_USE_UNIX_IO ++# elif defined (_STLP_WIN32) && ! defined (__CYGWIN__) + // CreateFile/ReadFile/WriteFile +-# define __STL_USE_WIN32_IO +-# elif defined (__STL_WIN16) || defined (__STL_WIN32) || defined (__STL_MAC) ++# define _STLP_USE_WIN32_IO ++# elif defined (_STLP_WIN16) || defined (_STLP_WIN32) || defined (_STLP_MAC) + // _open/_read/_write +-# define __STL_USE_UNIX_EMULATION_IO ++# define _STLP_USE_UNIX_EMULATION_IO + # else + // fopen/fread/fwrite +-# define __STL_USE_STDIO_IO +-# endif /* __STL_UNIX */ ++# define _STLP_USE_STDIO_IO ++# endif /* _STLP_UNIX */ + + #endif /* mode selection */ + + +-#if defined (__STL_USE_WIN32_IO) +-typedef void* _STL_fd; +-#elif defined (__STL_USE_UNIX_EMULATION_IO) || defined (__STL_USE_STDIO_IO) || defined (__STL_USE_UNIX_IO) +-typedef int _STL_fd; ++#if defined (_STLP_USE_WIN32_IO) ++typedef void* _STLP_fd; ++#elif defined (_STLP_USE_UNIX_EMULATION_IO) || defined (_STLP_USE_STDIO_IO) || defined (_STLP_USE_UNIX_IO) ++typedef int _STLP_fd; + #else + #error "Configure i/o !" + #endif + + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + //---------------------------------------------------------------------- + // Class _Filebuf_base, a private base class to factor out the system- + // dependent code from basic_filebuf<>. + +-class __STL_CLASS_DECLSPEC _Filebuf_base { ++class _STLP_CLASS_DECLSPEC _Filebuf_base { + public: // Opening and closing files. + _Filebuf_base(); + +@@ -95,9 +105,9 @@ + // where m is the number of newlines in the range. That's because an + // internal \n corresponds to an external two-character sequence. + streamoff _M_get_offset(char* __first, char* __last) { +-#if defined (__STL_UNIX) || defined (__STL_MAC) ++#if defined (_STLP_UNIX) || defined (_STLP_MAC) + return __last - __first; +-#else // defined (__STL_WIN32) || defined (__STL_WIN16) || defined (__STL_DOS) ++#else // defined (_STLP_WIN32) || defined (_STLP_WIN16) || defined (_STLP_DOS) + return ( (_M_openmode & ios_base::binary) != 0 ) + ? (__last - __first) + : count(__first, __last, '\n') + (__last - __first); +@@ -107,9 +117,9 @@ + // Returns true if we're in binary mode or if we're using an OS or file + // system where there is no distinction between text and binary mode. + bool _M_in_binary_mode() const { +-# if defined (__STL_UNIX) || defined (__STL_MAC) ++# if defined (_STLP_UNIX) || defined (_STLP_MAC) || defined(__BEOS__) || defined (__amigaos__) + return true; +-# elif defined (__STL_WIN32) || defined (__STL_WIN16) || defined (__STL_DOS) ++# elif defined (_STLP_WIN32) || defined (_STLP_WIN16) || defined (_STLP_DOS) || defined (_STLP_VM) + return (_M_openmode & ios_base::binary) != 0; + # else + # error "Port!" +@@ -120,12 +130,12 @@ + static size_t _M_page_size; + + protected: // Data members. +- _STL_fd _M_file_id; +-# ifdef __STL_USE_STDIO_IO ++ _STLP_fd _M_file_id; ++# ifdef _STLP_USE_STDIO_IO + // for stdio, the whole FILE* is being kept here + FILE* _M_file; + # endif +-# ifdef __STL_USE_WIN32_IO ++# ifdef _STLP_USE_WIN32_IO + void* _M_view_id; + # endif + +@@ -135,11 +145,12 @@ + unsigned char _M_regular_file ; + + public : +- static size_t __STL_CALL __page_size() { return _M_page_size; } ++ static size_t _STLP_CALL __page_size() { return _M_page_size; } + int __o_mode() const { return (int)_M_openmode; } + bool __is_open() const { return (_M_is_open !=0 ); } + bool __should_close() const { return (_M_should_close != 0); } + bool __regular_file() const { return (_M_regular_file != 0); } ++ _STLP_fd __get_fd() const { return _M_file_id; } + }; + + +@@ -150,11 +161,11 @@ + + // Forward declaration of two helper classes. + template class _Noconv_input; +-__STL_TEMPLATE_NULL ++_STLP_TEMPLATE_NULL + class _Noconv_input >; + + template class _Noconv_output; +-__STL_TEMPLATE_NULL ++_STLP_TEMPLATE_NULL + class _Noconv_output< char_traits >; + + // There is a specialized version of underflow, for basic_filebuf, +@@ -163,7 +174,7 @@ + template + class _Underflow; + +- __STL_TEMPLATE_NULL class _Underflow< char, char_traits >; ++ _STLP_TEMPLATE_NULL class _Underflow< char, char_traits >; + + template + class basic_filebuf : public basic_streambuf<_CharT, _Traits> +@@ -190,14 +201,22 @@ + return _M_base._M_open(__s, __m) ? this : 0; + } + +- // These two version of open() are extensions. ++# ifndef _STLP_NO_EXTENSIONS ++ // These two version of open() and file descriptor getter are extensions. + _Self* open(const char* __s, ios_base::openmode __m, + long __protection) { + return _M_base._M_open(__s, __m, __protection) ? this : 0; + } + +- _Self* open(int __id, ios_base::openmode __init_mode = ios_base::__default_mode) { +- return _M_base._M_open(__id, __init_mode) ? this : 0; ++ _STLP_fd fd() const { return _M_base.__get_fd(); } ++ ++ _Self* open(int __id, ios_base::openmode _Init_mode = ios_base::__default_mode) { ++ return this->_M_open(__id, _Init_mode); ++ } ++# endif ++ ++ _Self* _M_open(int __id, ios_base::openmode _Init_mode = ios_base::__default_mode) { ++ return _M_base._M_open(__id, _Init_mode) ? this : 0; + } + + _Self* close(); +@@ -239,7 +258,7 @@ + int_type _M_output_error(); + bool _M_unshift(); + +- bool _M_allocate_buffers(_CharT* __buf, int __n); ++ bool _M_allocate_buffers(_CharT* __buf, streamsize __n); + bool _M_allocate_buffers(); + void _M_deallocate_buffers(); + +@@ -338,12 +357,12 @@ + } + }; + +-# if defined (__STL_USE_TEMPLATE_EXPORT) +-__STL_EXPORT_TEMPLATE_CLASS basic_filebuf >; +-# if ! defined (__STL_NO_WCHAR_T) +-__STL_EXPORT_TEMPLATE_CLASS basic_filebuf >; ++# if defined (_STLP_USE_TEMPLATE_EXPORT) ++_STLP_EXPORT_TEMPLATE_CLASS basic_filebuf >; ++# if ! defined (_STLP_NO_WCHAR_T) ++_STLP_EXPORT_TEMPLATE_CLASS basic_filebuf >; + # endif +-# endif /* __STL_USE_TEMPLATE_EXPORT */ ++# endif /* _STLP_USE_TEMPLATE_EXPORT */ + + // public: + // helper class. +@@ -364,17 +383,17 @@ + class _Noconv_output { + public: + typedef typename _Traits::char_type char_type; +- static bool __STL_CALL _M_doit(basic_filebuf*, ++ static bool _STLP_CALL _M_doit(basic_filebuf*, + char_type*, char_type*) + { + return false; + } + }; + +-__STL_TEMPLATE_NULL +-class __STL_CLASS_DECLSPEC _Noconv_output< char_traits > { ++_STLP_TEMPLATE_NULL ++class _STLP_CLASS_DECLSPEC _Noconv_output< char_traits > { + public: +- static bool __STL_CALL ++ static bool _STLP_CALL + _M_doit(basic_filebuf >* __buf, + char* __first, char* __last) + { +@@ -404,17 +423,17 @@ + typedef typename _Traits::int_type int_type; + typedef typename _Traits::char_type char_type; + +- static inline int_type __STL_CALL ++ static inline int_type _STLP_CALL + _M_doit(basic_filebuf*) + { + return 0; + } + }; + +-__STL_TEMPLATE_NULL ++_STLP_TEMPLATE_NULL + class _Noconv_input > { + public: +- static inline int __STL_CALL ++ static inline int _STLP_CALL + _M_doit(basic_filebuf >* __buf) { + return __buf->_M_do_noconv_input(); + } +@@ -425,30 +444,30 @@ + // to the regular internal buffer. (2) We've exhausted the internal buffer, + // and we need to replentish it. + template +-class __STL_CLASS_DECLSPEC _Underflow { ++class _Underflow { + public: + typedef typename _Traits::int_type int_type; + typedef _Traits traits_type; + +- static int_type __STL_CALL _M_doit(basic_filebuf<_CharT, _Traits>* __this); ++ static int_type _STLP_CALL _M_doit(basic_filebuf<_CharT, _Traits>* __this); + }; + + + // Specialization of underflow: if the character type is char, maybe + // we can use mmap instead of read. +-__STL_TEMPLATE_NULL +-class __STL_CLASS_DECLSPEC _Underflow< char, char_traits > { ++_STLP_TEMPLATE_NULL ++class _STLP_CLASS_DECLSPEC _Underflow< char, char_traits > { + public: + typedef char_traits::int_type int_type; + typedef char_traits traits_type; +- static int __STL_CALL _M_doit(basic_filebuf* __this); ++ static int _STLP_CALL _M_doit(basic_filebuf* __this); + }; + + // There is a specialized version of underflow, for basic_filebuf, + // in fstream.cxx. + + template +-__STL_TYPENAME_ON_RETURN_TYPE _Underflow<_CharT, _Traits>::int_type __STL_CALL ++_STLP_TYPENAME_ON_RETURN_TYPE _Underflow<_CharT, _Traits>::int_type // _STLP_CALL + _Underflow<_CharT, _Traits>::_M_doit(basic_filebuf<_CharT, _Traits>* __this) + { + if (!__this->_M_in_input_mode) { +@@ -467,8 +486,8 @@ + return __this->_M_underflow_aux(); + } + +-#if defined( __STL_USE_TEMPLATE_EXPORT ) && ! defined (__STL_NO_WCHAR_T) +-__STL_EXPORT_TEMPLATE_CLASS _Underflow >; ++#if defined( _STLP_USE_TEMPLATE_EXPORT ) && ! defined (_STLP_NO_WCHAR_T) ++_STLP_EXPORT_TEMPLATE_CLASS _Underflow >; + #endif + + +@@ -504,6 +523,23 @@ + this->setstate(ios_base::failbit); + } + ++# ifndef _STLP_NO_EXTENSIONS ++ explicit basic_ifstream(int __id, ios_base::openmode __mod = ios_base::in) : ++ basic_ios<_CharT, _Traits>(), basic_istream<_CharT, _Traits>(0), _M_buf() { ++ this->init(&_M_buf); ++ if (!_M_buf.open(__id, __mod | ios_base::in)) ++ this->setstate(ios_base::failbit); ++ } ++ basic_ifstream(const char* __s, ios_base::openmode __m, ++ long __protection) : ++ basic_ios<_CharT, _Traits>(), basic_istream<_CharT, _Traits>(0), _M_buf() { ++ this->init(&_M_buf); ++ if (!_M_buf.open(__s, __m | ios_base::in, __protection)) ++ this->setstate(ios_base::failbit); ++ } ++ ++# endif ++ + ~basic_ifstream() {} + + public: // File and buffer operations. +@@ -560,6 +596,23 @@ + if (!_M_buf.open(__s, __mod | ios_base::out)) + this->setstate(ios_base::failbit); + } ++ ++# ifndef _STLP_NO_EXTENSIONS ++ explicit basic_ofstream(int __id, ios_base::openmode __mod = ios_base::out) ++ : basic_ios<_CharT, _Traits>(), basic_ostream<_CharT, _Traits>(0), ++ _M_buf() { ++ this->init(&_M_buf); ++ if (!_M_buf.open(__id, __mod | ios_base::out)) ++ this->setstate(ios_base::failbit); ++ } ++ basic_ofstream(const char* __s, ios_base::openmode __m, long __protection) : ++ basic_ios<_CharT, _Traits>(), basic_ostream<_CharT, _Traits>(0), _M_buf() { ++ this->init(&_M_buf); ++ if (!_M_buf.open(__s, __m | ios_base::out, __protection)) ++ this->setstate(ios_base::failbit); ++ } ++# endif ++ + ~basic_ofstream() {} + + public: // File and buffer operations. +@@ -589,7 +642,7 @@ + // Class basic_fstream<> + + template +-class __STL_DECLSPEC basic_fstream : public basic_iostream<_CharT, _Traits> ++class basic_fstream : public basic_iostream<_CharT, _Traits> + { + public: // Types + typedef _CharT char_type; +@@ -616,6 +669,22 @@ + if (!_M_buf.open(__s, __mod)) + this->setstate(ios_base::failbit); + } ++ ++# ifndef _STLP_NO_EXTENSIONS ++ explicit basic_fstream(int __id, ++ ios_base::openmode __mod = ios_base::in | ios_base::out) : ++ basic_ios<_CharT, _Traits>(), basic_iostream<_CharT, _Traits>(0), _M_buf() { ++ this->init(&_M_buf); ++ if (!_M_buf.open(__id, __mod)) ++ this->setstate(ios_base::failbit); ++ } ++ basic_fstream(const char* __s, ios_base::openmode __m, long __protection) : ++ basic_ios<_CharT, _Traits>(), basic_iostream<_CharT, _Traits>(0), _M_buf() { ++ this->init(&_M_buf); ++ if (!_M_buf.open(__s, __m, __protection)) ++ this->setstate(ios_base::failbit); ++ } ++# endif + ~basic_fstream() {} + + public: // File and buffer operations. +@@ -643,28 +712,28 @@ + basic_filebuf<_CharT, _Traits> _M_buf; + }; + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-# if !defined (__STL_LINK_TIME_INSTANTIATION) ++# if !defined (_STLP_LINK_TIME_INSTANTIATION) + # include + # endif + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + +-# if defined (__STL_USE_TEMPLATE_EXPORT) +-__STL_EXPORT_TEMPLATE_CLASS basic_ifstream >; +-__STL_EXPORT_TEMPLATE_CLASS basic_ofstream >; +-__STL_EXPORT_TEMPLATE_CLASS basic_fstream >; +-# if ! defined (__STL_NO_WCHAR_T) +-__STL_EXPORT_TEMPLATE_CLASS basic_ifstream >; +-__STL_EXPORT_TEMPLATE_CLASS basic_ofstream >; +-__STL_EXPORT_TEMPLATE_CLASS basic_fstream >; ++# if defined (_STLP_USE_TEMPLATE_EXPORT) ++_STLP_EXPORT_TEMPLATE_CLASS basic_ifstream >; ++_STLP_EXPORT_TEMPLATE_CLASS basic_ofstream >; ++_STLP_EXPORT_TEMPLATE_CLASS basic_fstream >; ++# if ! defined (_STLP_NO_WCHAR_T) ++_STLP_EXPORT_TEMPLATE_CLASS basic_ifstream >; ++_STLP_EXPORT_TEMPLATE_CLASS basic_ofstream >; ++_STLP_EXPORT_TEMPLATE_CLASS basic_fstream >; + # endif +-# endif /* __STL_USE_TEMPLATE_EXPORT */ ++# endif /* _STLP_USE_TEMPLATE_EXPORT */ + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-#endif /* __SGI_STL_FSTREAM */ ++#endif /* _STLP_FSTREAM */ + + + // Local Variables: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_function.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_function.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_function.h Sat Feb 24 10:44:50 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_function.h Sun Aug 11 18:59:24 2002 +@@ -27,120 +27,22 @@ + * You should not attempt to use it directly. + */ + +-#ifndef __SGI_STL_INTERNAL_FUNCTION_H +-#define __SGI_STL_INTERNAL_FUNCTION_H ++#ifndef _STLP_INTERNAL_FUNCTION_H ++#define _STLP_INTERNAL_FUNCTION_H + +-__STL_BEGIN_NAMESPACE ++#ifndef _STLP_INTERNAL_FUNCTION_BASE_H ++#include ++#endif + +-template +-struct unary_function { +- typedef _Arg argument_type; +- typedef _Result result_type; +-}; +- +-template +-struct binary_function { +- typedef _Arg1 first_argument_type; +- typedef _Arg2 second_argument_type; +- typedef _Result result_type; +-}; +- +-template +-struct plus : public binary_function<_Tp,_Tp,_Tp> { +- _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x + __y; } +-}; +- +-template +-struct minus : public binary_function<_Tp,_Tp,_Tp> { +- _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x - __y; } +-}; +- +-template +-struct multiplies : public binary_function<_Tp,_Tp,_Tp> { +- _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x * __y; } +-}; +- +-template +-struct divides : public binary_function<_Tp,_Tp,_Tp> { +- _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x / __y; } +-}; ++_STLP_BEGIN_NAMESPACE + ++# ifndef _STLP_NO_EXTENSIONS + // identity_element (not part of the C++ standard). ++template inline _Tp identity_element(plus<_Tp>) { return _Tp(0); } ++template inline _Tp identity_element(multiplies<_Tp>) { return _Tp(1); } ++# endif + +-template inline _Tp identity_element(plus<_Tp>) { +- return _Tp(0); +-} +-template inline _Tp identity_element(multiplies<_Tp>) { +- return _Tp(1); +-} +- +-template +-struct modulus : public binary_function<_Tp,_Tp,_Tp> +-{ +- _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x % __y; } +-}; +- +-template +-struct negate : public unary_function<_Tp,_Tp> +-{ +- _Tp operator()(const _Tp& __x) const { return -__x; } +-}; +- +-template +-struct equal_to : public binary_function<_Tp,_Tp,bool> +-{ +- bool operator()(const _Tp& __x, const _Tp& __y) const { return __x == __y; } +-}; +- +-template +-struct not_equal_to : public binary_function<_Tp,_Tp,bool> +-{ +- bool operator()(const _Tp& __x, const _Tp& __y) const { return __x != __y; } +-}; +- +-template +-struct greater : public binary_function<_Tp,_Tp,bool> +-{ +- bool operator()(const _Tp& __x, const _Tp& __y) const { return __x > __y; } +-}; +- +-template +-struct less : public binary_function<_Tp,_Tp,bool> +-{ +- bool operator()(const _Tp& __x, const _Tp& __y) const { return __x < __y; } +-}; +- +-template +-struct greater_equal : public binary_function<_Tp,_Tp,bool> +-{ +- bool operator()(const _Tp& __x, const _Tp& __y) const { return __x >= __y; } +-}; +- +-template +-struct less_equal : public binary_function<_Tp,_Tp,bool> +-{ +- bool operator()(const _Tp& __x, const _Tp& __y) const { return __x <= __y; } +-}; +- +-template +-struct logical_and : public binary_function<_Tp,_Tp,bool> +-{ +- bool operator()(const _Tp& __x, const _Tp& __y) const { return __x && __y; } +-}; +- +-template +-struct logical_or : public binary_function<_Tp,_Tp,bool> +-{ +- bool operator()(const _Tp& __x, const _Tp& __y) const { return __x || __y; } +-}; +- +-template +-struct logical_not : public unary_function<_Tp,bool> +-{ +- bool operator()(const _Tp& __x) const { return !__x; } +-}; +- +-# if defined (__STL_BASE_TYPEDEF_BUG) ++# if defined (_STLP_BASE_TYPEDEF_BUG) + // this workaround is needed for SunPro 4.0.1 + // suggested by "Martin Abernethy" : + +@@ -271,7 +173,7 @@ + return binder2nd<_Operation>(__fn, _Arg2_type(__x)); + } + +-# ifndef __STL_NO_EXTENSIONS ++# ifndef _STLP_NO_EXTENSIONS + // unary_compose and binary_compose (extensions, not part of the standard). + + template +@@ -324,7 +226,7 @@ + (__fn1, __fn2, __fn3); + } + +-# endif /* __STL_NO_EXTENSIONS */ ++# endif /* _STLP_NO_EXTENSIONS */ + + template + class pointer_to_unary_function : public unary_function<_Arg, _Result> { +@@ -362,56 +264,7 @@ + return pointer_to_binary_function<_Arg1,_Arg2,_Result>(__x); + } + +- +-template +-struct _Identity : public unary_function<_Tp,_Tp> { +- const _Tp& operator()(const _Tp& __x) const { return __x; } +-}; +- +-# ifdef __STL_USE_ABBREVS +-# define _Select1st _S1st +-# define _Select2nd _S2nd +-# endif +- +-template +-struct _Select1st : public unary_function<_Pair, typename _Pair::first_type> { +- const typename _Pair::first_type& operator()(const _Pair& __x) const { +- return __x.first; +- } +-}; +- +-template +-struct _Select2nd : public unary_function<_Pair, typename _Pair::second_type> +-{ +- const typename _Pair::second_type& operator()(const _Pair& __x) const { +- return __x.second; +- } +-}; +- +-#ifdef __STL_MULTI_CONST_TEMPLATE_ARG_BUG +-// fbp : sort of select1st just for maps +-template +-// JDJ (CW Pro1 doesn't like const when first_type is also const) +-struct __Select1st_hint : public unary_function<_Pair, _Whatever> { +- const _Whatever& operator () (const _Pair& __x) const { return __x.first; } +-}; +-# define __STL_SELECT1ST(__x,__y) __Select1st_hint< __x, __y > +-# else +-# define __STL_SELECT1ST(__x, __y) _Select1st< __x > +-# endif +- +-// project1st and project2nd are extensions: they are not part of the standard +-template +-struct _Project1st : public binary_function<_Arg1, _Arg2, _Arg1> { +- _Arg1 operator()(const _Arg1& __x, const _Arg2&) const { return __x; } +-}; +- +-template +-struct _Project2nd : public binary_function<_Arg1, _Arg2, _Arg2> { +- _Arg2 operator()(const _Arg1&, const _Arg2& __y) const { return __y; } +-}; +- +-# ifndef __STL_NO_EXTENSIONS ++# ifndef _STLP_NO_EXTENSIONS + + // identity is an extension: it is not part of the standard. + template struct identity : public _Identity<_Tp> {}; +@@ -425,6 +278,7 @@ + template + struct project2nd : public _Project2nd<_Arg1, _Arg2> {}; + ++ + // constant_void_fun, constant_unary_fun, and constant_binary_fun are + // extensions: they are not part of the standard. (The same, of course, + // is true of the helper functions constant0, constant1, and constant2.) +@@ -438,28 +292,6 @@ + const result_type& operator()() const { return _M_val; } + }; + +-template +-struct _Constant_unary_fun { +- typedef _Argument argument_type; +- typedef _Result result_type; +- result_type _M_val; +- +- _Constant_unary_fun(const result_type& __v) : _M_val(__v) {} +- const result_type& operator()(const _Argument&) const { return _M_val; } +-}; +- +-template +-struct _Constant_binary_fun { +- typedef _Arg1 first_argument_type; +- typedef _Arg2 second_argument_type; +- typedef _Result result_type; +- _Result _M_val; +- +- _Constant_binary_fun(const _Result& __v) : _M_val(__v) {} +- const result_type& operator()(const _Arg1&, const _Arg2&) const { +- return _M_val; +- } +-}; + + template + struct constant_void_fun : public _Constant_void_fun<_Result> { +@@ -502,26 +334,26 @@ + + // subtractive_rng is an extension: it is not part of the standard. + // Note: this code assumes that int is 32 bits. +-class subtractive_rng : public unary_function<__STL_UINT32_T, __STL_UINT32_T> { ++class subtractive_rng : public unary_function<_STLP_UINT32_T, _STLP_UINT32_T> { + private: +- __STL_UINT32_T _M_table[55]; +- __STL_UINT32_T _M_index1; +- __STL_UINT32_T _M_index2; ++ _STLP_UINT32_T _M_table[55]; ++ _STLP_UINT32_T _M_index1; ++ _STLP_UINT32_T _M_index2; + public: +- __STL_UINT32_T operator()(__STL_UINT32_T __limit) { ++ _STLP_UINT32_T operator()(_STLP_UINT32_T __limit) { + _M_index1 = (_M_index1 + 1) % 55; + _M_index2 = (_M_index2 + 1) % 55; + _M_table[_M_index1] = _M_table[_M_index1] - _M_table[_M_index2]; + return _M_table[_M_index1] % __limit; + } + +- void _M_initialize(__STL_UINT32_T __seed) ++ void _M_initialize(_STLP_UINT32_T __seed) + { +- __STL_UINT32_T __k = 1; ++ _STLP_UINT32_T __k = 1; + _M_table[54] = __seed; +- __STL_UINT32_T __i; ++ _STLP_UINT32_T __i; + for (__i = 0; __i < 54; __i++) { +- __STL_UINT32_T __ii = (21 * (__i + 1) % 55) - 1; ++ _STLP_UINT32_T __ii = (21 * (__i + 1) % 55) - 1; + _M_table[__ii] = __k; + __k = __seed - __k; + __seed = _M_table[__ii]; +@@ -538,7 +370,7 @@ + subtractive_rng() { _M_initialize(161803398ul); } + }; + +-# endif /* __STL_NO_EXTENSIONS */ ++# endif /* _STLP_NO_EXTENSIONS */ + + + // Adaptor function objects: pointers to member functions. +@@ -644,13 +476,13 @@ + }; + + +-# ifdef __STL_CLASS_PARTIAL_SPECIALIZATION ++# ifdef _STLP_CLASS_PARTIAL_SPECIALIZATION + + template + class mem_fun_t : public unary_function<_Tp*,void> { + typedef void (_Tp::*_fun_type)(void); + public: +- explicit mem_fun_t __STL_PSPEC2(void,_Tp) (_fun_type __pf) : _M_f(__pf) {} ++ explicit mem_fun_t _STLP_PSPEC2(void,_Tp) (_fun_type __pf) : _M_f(__pf) {} + void operator()(_Tp* __p) const { (__p->*_M_f)(); } + private: + _fun_type _M_f; +@@ -660,7 +492,7 @@ + class const_mem_fun_t : public unary_function { + typedef void (_Tp::*_fun_type)(void) const; + public: +- explicit const_mem_fun_t __STL_PSPEC2(void,_Tp) (_fun_type __pf) : _M_f(__pf) {} ++ explicit const_mem_fun_t _STLP_PSPEC2(void,_Tp) (_fun_type __pf) : _M_f(__pf) {} + void operator()(const _Tp* __p) const { (__p->*_M_f)(); } + private: + _fun_type _M_f; +@@ -670,7 +502,7 @@ + class mem_fun_ref_t : public unary_function<_Tp,void> { + typedef void (_Tp::*_fun_type)(void); + public: +- explicit mem_fun_ref_t __STL_PSPEC2(void,_Tp) (_fun_type __pf) : _M_f(__pf) {} ++ explicit mem_fun_ref_t _STLP_PSPEC2(void,_Tp) (_fun_type __pf) : _M_f(__pf) {} + void operator()(_Tp& __r) const { (__r.*_M_f)(); } + private: + _fun_type _M_f; +@@ -680,7 +512,7 @@ + class const_mem_fun_ref_t : public unary_function<_Tp,void> { + typedef void (_Tp::*_fun_type)(void) const; + public: +- explicit const_mem_fun_ref_t __STL_PSPEC2(void,_Tp) (_fun_type __pf) : _M_f(__pf) {} ++ explicit const_mem_fun_ref_t _STLP_PSPEC2(void,_Tp) (_fun_type __pf) : _M_f(__pf) {} + void operator()(const _Tp& __r) const { (__r.*_M_f)(); } + private: + _fun_type _M_f; +@@ -690,7 +522,7 @@ + class mem_fun1_t : public binary_function<_Tp*,_Arg,void> { + typedef void (_Tp::*_fun_type)(_Arg); + public: +- explicit mem_fun1_t __STL_PSPEC3(void,_Tp,_Arg) (_fun_type __pf) : _M_f(__pf) {} ++ explicit mem_fun1_t _STLP_PSPEC3(void,_Tp,_Arg) (_fun_type __pf) : _M_f(__pf) {} + void operator()(_Tp* __p, _Arg __x) const { (__p->*_M_f)(__x); } + private: + _fun_type _M_f; +@@ -701,7 +533,7 @@ + : public binary_function { + typedef void (_Tp::*_fun_type)(_Arg) const; + public: +- explicit const_mem_fun1_t __STL_PSPEC3(void,_Tp,_Arg) (_fun_type __pf) : _M_f(__pf) {} ++ explicit const_mem_fun1_t _STLP_PSPEC3(void,_Tp,_Arg) (_fun_type __pf) : _M_f(__pf) {} + void operator()(const _Tp* __p, _Arg __x) const { (__p->*_M_f)(__x); } + private: + _fun_type _M_f; +@@ -712,7 +544,7 @@ + : public binary_function<_Tp,_Arg,void> { + typedef void (_Tp::*_fun_type)(_Arg); + public: +- explicit mem_fun1_ref_t __STL_PSPEC3(void,_Tp,_Arg) (_fun_type __pf) : _M_f(__pf) {} ++ explicit mem_fun1_ref_t _STLP_PSPEC3(void,_Tp,_Arg) (_fun_type __pf) : _M_f(__pf) {} + void operator()(_Tp& __r, _Arg __x) const { (__r.*_M_f)(__x); } + private: + _fun_type _M_f; +@@ -723,15 +555,15 @@ + : public binary_function<_Tp,_Arg,void> { + typedef void (_Tp::*_fun_type)(_Arg) const; + public: +- explicit const_mem_fun1_ref_t __STL_PSPEC3(void,_Tp,_Arg) (_fun_type __pf) : _M_f(__pf) {} ++ explicit const_mem_fun1_ref_t _STLP_PSPEC3(void,_Tp,_Arg) (_fun_type __pf) : _M_f(__pf) {} + void operator()(const _Tp& __r, _Arg __x) const { (__r.*_M_f)(__x); } + private: + _fun_type _M_f; + }; + +-#endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */ ++#endif /* _STLP_CLASS_PARTIAL_SPECIALIZATION */ + +-# if !defined (__STL_MEMBER_POINTER_PARAM_BUG) ++# if !defined (_STLP_MEMBER_POINTER_PARAM_BUG) + + // Mem_fun adaptor helper functions. There are only two: + // mem_fun and mem_fun_ref. (mem_fun1 and mem_fun1_ref +@@ -739,74 +571,60 @@ + // part of the C++ standard.) + + template +-inline mem_fun_t<_Ret,_Tp> mem_fun(_Ret (_Tp::*__f)()) +- { return mem_fun_t<_Ret,_Tp>(__f); } ++inline mem_fun_t<_Ret,_Tp> mem_fun(_Ret (_Tp::*__f)()) { return mem_fun_t<_Ret,_Tp>(__f); } + + template +-inline const_mem_fun_t<_Ret,_Tp> mem_fun(_Ret (_Tp::*__f)() const) +- { return const_mem_fun_t<_Ret,_Tp>(__f); } ++inline const_mem_fun_t<_Ret,_Tp> mem_fun(_Ret (_Tp::*__f)() const) { return const_mem_fun_t<_Ret,_Tp>(__f); } + + template +-inline mem_fun_ref_t<_Ret,_Tp> mem_fun_ref(_Ret (_Tp::*__f)()) +- { return mem_fun_ref_t<_Ret,_Tp>(__f); } ++inline mem_fun_ref_t<_Ret,_Tp> mem_fun_ref(_Ret (_Tp::*__f)()) { return mem_fun_ref_t<_Ret,_Tp>(__f); } + + template +-inline const_mem_fun_ref_t<_Ret,_Tp> mem_fun_ref(_Ret (_Tp::*__f)() const) +- { return const_mem_fun_ref_t<_Ret,_Tp>(__f); } ++inline const_mem_fun_ref_t<_Ret,_Tp> mem_fun_ref(_Ret (_Tp::*__f)() const) { return const_mem_fun_ref_t<_Ret,_Tp>(__f); } + + + template + inline mem_fun1_t<_Ret,_Tp,_Arg> +-mem_fun(_Ret (_Tp::*__f)(_Arg)) +-{ return mem_fun1_t<_Ret,_Tp,_Arg>(__f); } ++mem_fun(_Ret (_Tp::*__f)(_Arg)) { return mem_fun1_t<_Ret,_Tp,_Arg>(__f); } + + template + inline const_mem_fun1_t<_Ret,_Tp,_Arg> +-mem_fun(_Ret (_Tp::*__f)(_Arg) const) +-{ return const_mem_fun1_t<_Ret,_Tp,_Arg>(__f); } ++mem_fun(_Ret (_Tp::*__f)(_Arg) const) { return const_mem_fun1_t<_Ret,_Tp,_Arg>(__f); } + + template + inline mem_fun1_ref_t<_Ret,_Tp,_Arg> +-mem_fun_ref(_Ret (_Tp::*__f)(_Arg)) +-{ return mem_fun1_ref_t<_Ret,_Tp,_Arg>(__f); } ++mem_fun_ref(_Ret (_Tp::*__f)(_Arg)) { return mem_fun1_ref_t<_Ret,_Tp,_Arg>(__f); } + + template + inline const_mem_fun1_ref_t<_Ret,_Tp,_Arg> +-mem_fun_ref(_Ret (_Tp::*__f)(_Arg) const) +- { return const_mem_fun1_ref_t<_Ret,_Tp,_Arg>(__f); } +- +-# if !(defined (__STL_NO_EXTENSIONS) || defined (__STL_NO_ANACHRONISMS)) ++mem_fun_ref(_Ret (_Tp::*__f)(_Arg) const) { return const_mem_fun1_ref_t<_Ret,_Tp,_Arg>(__f); } + ++# if !(defined (_STLP_NO_EXTENSIONS) || defined (_STLP_NO_ANACHRONISMS)) + // mem_fun1 and mem_fun1_ref are no longer part of the C++ standard, + // but they are provided for backward compatibility. +- + template + inline mem_fun1_t<_Ret,_Tp,_Arg> +-mem_fun1(_Ret (_Tp::*__f)(_Arg)) +- { return mem_fun1_t<_Ret,_Tp,_Arg>(__f); } ++mem_fun1(_Ret (_Tp::*__f)(_Arg)) { return mem_fun1_t<_Ret,_Tp,_Arg>(__f); } + + template + inline const_mem_fun1_t<_Ret,_Tp,_Arg> +-mem_fun1(_Ret (_Tp::*__f)(_Arg) const) +- { return const_mem_fun1_t<_Ret,_Tp,_Arg>(__f); } ++mem_fun1(_Ret (_Tp::*__f)(_Arg) const) { return const_mem_fun1_t<_Ret,_Tp,_Arg>(__f); } + + template + inline mem_fun1_ref_t<_Ret,_Tp,_Arg> +-mem_fun1_ref(_Ret (_Tp::*__f)(_Arg)) +- { return mem_fun1_ref_t<_Ret,_Tp,_Arg>(__f); } ++mem_fun1_ref(_Ret (_Tp::*__f)(_Arg)) { return mem_fun1_ref_t<_Ret,_Tp,_Arg>(__f); } + + template + inline const_mem_fun1_ref_t<_Ret,_Tp,_Arg> +-mem_fun1_ref(_Ret (_Tp::*__f)(_Arg) const) +- { return const_mem_fun1_ref_t<_Ret,_Tp,_Arg>(__f); } ++mem_fun1_ref(_Ret (_Tp::*__f)(_Arg) const) { return const_mem_fun1_ref_t<_Ret,_Tp,_Arg>(__f); } + +-# endif /* __STL_NO_EXTENSIONS */ ++# endif /* _STLP_NO_EXTENSIONS */ + +-# endif /* __STL_MEMBER_POINTER_PARAM_BUG */ ++# endif /* _STLP_MEMBER_POINTER_PARAM_BUG */ + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-#endif /* __SGI_STL_INTERNAL_FUNCTION_H */ ++#endif /* _STLP_INTERNAL_FUNCTION_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_function_base.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_function_base.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_function_base.h Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_function_base.h Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,226 @@ ++/* ++ * ++ * Copyright (c) 1994 ++ * Hewlett-Packard Company ++ * ++ * Copyright (c) 1996-1998 ++ * Silicon Graphics Computer Systems, Inc. ++ * ++ * Copyright (c) 1997 ++ * Moscow Center for SPARC Technology ++ * ++ * Copyright (c) 1999 ++ * Boris Fomitchev ++ * ++ * This material is provided "as is", with absolutely no warranty expressed ++ * or implied. Any use is at your own risk. ++ * ++ * Permission to use or copy this software for any purpose is hereby granted ++ * without fee, provided the above notices are retained on all copies. ++ * Permission to modify the code and to distribute modified code is granted, ++ * provided the above notices are retained, and a notice that the code was ++ * modified is included with the above copyright notice. ++ * ++ */ ++ ++/* NOTE: This is an internal header file, included by other STL headers. ++ * You should not attempt to use it directly. ++ */ ++ ++#ifndef _STLP_INTERNAL_FUNCTION_BASE_H ++#define _STLP_INTERNAL_FUNCTION_BASE_H ++ ++#ifndef _STLP_CONFIG_H ++#include ++#endif ++ ++_STLP_BEGIN_NAMESPACE ++ ++template ++struct unary_function { ++ typedef _Arg argument_type; ++ typedef _Result result_type; ++}; ++ ++template ++struct binary_function { ++ typedef _Arg1 first_argument_type; ++ typedef _Arg2 second_argument_type; ++ typedef _Result result_type; ++}; ++ ++template ++struct equal_to : public binary_function<_Tp,_Tp,bool> ++{ ++ bool operator()(const _Tp& __x, const _Tp& __y) const { return __x == __y; } ++}; ++ ++template ++struct not_equal_to : public binary_function<_Tp,_Tp,bool> ++{ ++ bool operator()(const _Tp& __x, const _Tp& __y) const { return __x != __y; } ++}; ++ ++template ++struct greater : public binary_function<_Tp,_Tp,bool> ++{ ++ bool operator()(const _Tp& __x, const _Tp& __y) const { return __x > __y; } ++}; ++ ++template ++struct less : public binary_function<_Tp,_Tp,bool> ++{ ++ bool operator()(const _Tp& __x, const _Tp& __y) const { return __x < __y; } ++}; ++ ++template ++struct greater_equal : public binary_function<_Tp,_Tp,bool> ++{ ++ bool operator()(const _Tp& __x, const _Tp& __y) const { return __x >= __y; } ++}; ++ ++template ++struct less_equal : public binary_function<_Tp,_Tp,bool> ++{ ++ bool operator()(const _Tp& __x, const _Tp& __y) const { return __x <= __y; } ++}; ++ ++template ++less<_Tp> __less(_Tp* ) { return less<_Tp>(); } ++ ++template ++equal_to<_Tp> __equal_to(_Tp* ) { return equal_to<_Tp>(); } ++ ++template ++struct plus : public binary_function<_Tp,_Tp,_Tp> { ++ _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x + __y; } ++}; ++ ++template ++struct minus : public binary_function<_Tp,_Tp,_Tp> { ++ _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x - __y; } ++}; ++ ++template ++plus<_Tp> __plus(_Tp* ) { return plus<_Tp>(); } ++ ++template ++minus<_Tp> __minus(_Tp* ) { return minus<_Tp>(); } ++ ++template ++struct multiplies : public binary_function<_Tp,_Tp,_Tp> { ++ _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x * __y; } ++}; ++ ++template ++struct divides : public binary_function<_Tp,_Tp,_Tp> { ++ _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x / __y; } ++}; ++ ++template ++struct modulus : public binary_function<_Tp,_Tp,_Tp> ++{ ++ _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x % __y; } ++}; ++ ++template ++struct negate : public unary_function<_Tp,_Tp> ++{ ++ _Tp operator()(const _Tp& __x) const { return -__x; } ++}; ++ ++template ++struct logical_and : public binary_function<_Tp,_Tp,bool> ++{ ++ bool operator()(const _Tp& __x, const _Tp& __y) const { return __x && __y; } ++}; ++ ++template ++struct logical_or : public binary_function<_Tp,_Tp,bool> ++{ ++ bool operator()(const _Tp& __x, const _Tp& __y) const { return __x || __y; } ++}; ++ ++template ++struct logical_not : public unary_function<_Tp,bool> ++{ ++ bool operator()(const _Tp& __x) const { return !__x; } ++}; ++ ++template ++struct _Select1st : public unary_function<_Pair, typename _Pair::first_type> { ++ const typename _Pair::first_type& operator()(const _Pair& __x) const { ++ return __x.first; ++ } ++}; ++ ++template ++struct _Select2nd : public unary_function<_Pair, typename _Pair::second_type> ++{ ++ const typename _Pair::second_type& operator()(const _Pair& __x) const { ++ return __x.second; ++ } ++}; ++ ++// project1st and project2nd are extensions: they are not part of the standard ++template ++struct _Project1st : public binary_function<_Arg1, _Arg2, _Arg1> { ++ _Arg1 operator()(const _Arg1& __x, const _Arg2&) const { return __x; } ++}; ++ ++template ++struct _Project2nd : public binary_function<_Arg1, _Arg2, _Arg2> { ++ _Arg2 operator()(const _Arg1&, const _Arg2& __y) const { return __y; } ++}; ++ ++#ifdef _STLP_MULTI_CONST_TEMPLATE_ARG_BUG ++// fbp : sort of select1st just for maps ++template ++// JDJ (CW Pro1 doesn't like const when first_type is also const) ++struct __Select1st_hint : public unary_function<_Pair, _Whatever> { ++ const _Whatever& operator () (const _Pair& __x) const { return __x.first; } ++}; ++# define _STLP_SELECT1ST(__x,__y) __Select1st_hint< __x, __y > ++# else ++# define _STLP_SELECT1ST(__x, __y) _Select1st< __x > ++# endif ++ ++template ++struct _Identity : public unary_function<_Tp,_Tp> { ++ const _Tp& operator()(const _Tp& __x) const { return __x; } ++}; ++ ++template ++struct _Constant_unary_fun { ++ typedef _Argument argument_type; ++ typedef _Result result_type; ++ result_type _M_val; ++ ++ _Constant_unary_fun(const result_type& __v) : _M_val(__v) {} ++ const result_type& operator()(const _Argument&) const { return _M_val; } ++}; ++ ++template ++struct _Constant_binary_fun { ++ typedef _Arg1 first_argument_type; ++ typedef _Arg2 second_argument_type; ++ typedef _Result result_type; ++ _Result _M_val; ++ ++ _Constant_binary_fun(const _Result& __v) : _M_val(__v) {} ++ const result_type& operator()(const _Arg1&, const _Arg2&) const { ++ return _M_val; ++ } ++}; ++ ++// identity_element (not part of the C++ standard). ++template inline _Tp __identity_element(plus<_Tp>) { return _Tp(0); } ++template inline _Tp __identity_element(multiplies<_Tp>) { return _Tp(1); } ++ ++_STLP_END_NAMESPACE ++ ++#endif /* _STLP_INTERNAL_FUNCTION_BASE_H */ ++ ++// Local Variables: ++// mode:C++ ++// End: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_hash_fun.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_hash_fun.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_hash_fun.h Sat Feb 24 10:44:51 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_hash_fun.h Sun Aug 11 18:59:24 2002 +@@ -28,20 +28,20 @@ + * You should not attempt to use it directly. + */ + +-#ifndef __SGI_STL_HASH_FUN_H +-#define __SGI_STL_HASH_FUN_H ++#ifndef _STLP_HASH_FUN_H ++#define _STLP_HASH_FUN_H + +-# ifndef __STLPORT_CSTDDEF ++# ifndef _STLP_CSTDDEF + # include + # endif + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + template struct hash { }; + + inline size_t __stl_hash_string(const char* __s) + { +- __STL_FIX_LITERAL_BUG(__s) ++ _STLP_FIX_LITERAL_BUG(__s) + unsigned long __h = 0; + for ( ; *__s; ++__s) + __h = 5*__h + *__s; +@@ -49,58 +49,58 @@ + return size_t(__h); + } + +-__STL_TEMPLATE_NULL struct hash ++_STLP_TEMPLATE_NULL struct hash + { +- size_t operator()(const char* __s) const { __STL_FIX_LITERAL_BUG(__s) return __stl_hash_string(__s); } ++ size_t operator()(const char* __s) const { _STLP_FIX_LITERAL_BUG(__s) return __stl_hash_string(__s); } + }; + +-__STL_TEMPLATE_NULL struct hash ++_STLP_TEMPLATE_NULL struct hash + { +- size_t operator()(const char* __s) const { __STL_FIX_LITERAL_BUG(__s) return __stl_hash_string(__s); } ++ size_t operator()(const char* __s) const { _STLP_FIX_LITERAL_BUG(__s) return __stl_hash_string(__s); } + }; + +-__STL_TEMPLATE_NULL struct hash { ++_STLP_TEMPLATE_NULL struct hash { + size_t operator()(char __x) const { return __x; } + }; +-__STL_TEMPLATE_NULL struct hash { ++_STLP_TEMPLATE_NULL struct hash { + size_t operator()(unsigned char __x) const { return __x; } + }; +-#ifndef __STL_NO_SIGNED_BUILTINS +-__STL_TEMPLATE_NULL struct hash { ++#ifndef _STLP_NO_SIGNED_BUILTINS ++_STLP_TEMPLATE_NULL struct hash { + size_t operator()(unsigned char __x) const { return __x; } + }; + #endif +-__STL_TEMPLATE_NULL struct hash { ++_STLP_TEMPLATE_NULL struct hash { + size_t operator()(short __x) const { return __x; } + }; +-__STL_TEMPLATE_NULL struct hash { ++_STLP_TEMPLATE_NULL struct hash { + size_t operator()(unsigned short __x) const { return __x; } + }; +-__STL_TEMPLATE_NULL struct hash { ++_STLP_TEMPLATE_NULL struct hash { + size_t operator()(int __x) const { return __x; } + }; +-__STL_TEMPLATE_NULL struct hash { ++_STLP_TEMPLATE_NULL struct hash { + size_t operator()(unsigned int __x) const { return __x; } + }; +-__STL_TEMPLATE_NULL struct hash { ++_STLP_TEMPLATE_NULL struct hash { + size_t operator()(long __x) const { return __x; } + }; +-__STL_TEMPLATE_NULL struct hash { ++_STLP_TEMPLATE_NULL struct hash { + size_t operator()(unsigned long __x) const { return __x; } + }; + +-# if defined (__STL_LONG_LONG) +-__STL_TEMPLATE_NULL struct hash { ++# if defined (_STLP_LONG_LONG) ++_STLP_TEMPLATE_NULL struct hash<_STLP_LONG_LONG> { + size_t operator()(long x) const { return x; } + }; +-__STL_TEMPLATE_NULL struct hash { ++_STLP_TEMPLATE_NULL struct hash { + size_t operator()(unsigned long x) const { return x; } + }; + # endif + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-#endif /* __SGI_STL_HASH_FUN_H */ ++#endif /* _STLP_HASH_FUN_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_hash_map.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_hash_map.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_hash_map.h Sat Feb 24 10:44:51 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_hash_map.h Sun Aug 11 18:59:24 2002 +@@ -27,26 +27,30 @@ + * You should not attempt to use it directly. + */ + +-#ifndef __SGI_STL_INTERNAL_HASH_MAP_H +-#define __SGI_STL_INTERNAL_HASH_MAP_H ++#ifndef _STLP_INTERNAL_HASH_MAP_H ++#define _STLP_INTERNAL_HASH_MAP_H + +-__STL_BEGIN_NAMESPACE ++#ifndef _STLP_INTERNAL_HASHTABLE_H ++# include ++#endif ++ ++_STLP_BEGIN_NAMESPACE + + # define hash_map __WORKAROUND_RENAME(hash_map) + # define hash_multimap __WORKAROUND_RENAME(hash_multimap) + +-# define __STL_KEY_PAIR pair< const _Key, _Tp > +-# define __STL_HASHTABLE hashtable \ ++# define _STLP_KEY_PAIR pair< const _Key, _Tp > ++# define _STLP_HASHTABLE hashtable \ + < pair < const _Key, _Tp >, _Key, _HashFcn, \ +- __STL_SELECT1ST( __STL_KEY_PAIR, _Key ), _EqualKey, _Alloc > ++ _STLP_SELECT1ST( _STLP_KEY_PAIR, _Key ), _EqualKey, _Alloc > + + template ), + __DFL_TMPL_PARAM(_EqualKey,equal_to<_Key>), +- __STL_DEFAULT_PAIR_ALLOCATOR_SELECT(const _Key, _Tp) > ++ _STLP_DEFAULT_PAIR_ALLOCATOR_SELECT(const _Key, _Tp) > + class hash_map + { + private: +- typedef __STL_HASHTABLE _Ht; ++ typedef _STLP_HASHTABLE _Ht; + typedef hash_map<_Key, _Tp, _HashFcn, _EqualKey, _Alloc> _Self; + public: + typedef typename _Ht::key_type key_type; +@@ -85,7 +89,7 @@ + const allocator_type& __a = allocator_type()) + : _M_ht(__n, __hf, __eql, __a) {} + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + template + hash_map(_InputIterator __f, _InputIterator __l) + : _M_ht(100, hasher(), key_equal(), allocator_type()) +@@ -99,15 +103,17 @@ + const hasher& __hf) + : _M_ht(__n, __hf, key_equal(), allocator_type()) + { _M_ht.insert_unique(__f, __l); } ++# ifdef _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS + template + hash_map(_InputIterator __f, _InputIterator __l, size_type __n, + const hasher& __hf, const key_equal& __eql) + : _M_ht(__n, __hf, __eql, allocator_type()) + { _M_ht.insert_unique(__f, __l); } ++# endif + template + hash_map(_InputIterator __f, _InputIterator __l, size_type __n, + const hasher& __hf, const key_equal& __eql, +- const allocator_type& __a) ++ const allocator_type& __a _STLP_ALLOCATOR_TYPE_DFL) + : _M_ht(__n, __hf, __eql, __a) + { _M_ht.insert_unique(__f, __l); } + +@@ -143,7 +149,7 @@ + const allocator_type& __a = allocator_type()) + : _M_ht(__n, __hf, __eql, __a) + { _M_ht.insert_unique(__f, __l); } +-#endif /*__STL_MEMBER_TEMPLATES */ ++#endif /*_STLP_MEMBER_TEMPLATES */ + + public: + size_type size() const { return _M_ht.size(); } +@@ -158,7 +164,7 @@ + public: + pair insert(const value_type& __obj) + { return _M_ht.insert_unique(__obj); } +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + template + void insert(_InputIterator __f, _InputIterator __l) + { _M_ht.insert_unique(__f,__l); } +@@ -168,16 +174,18 @@ + } + void insert(const_iterator __f, const_iterator __l) + { _M_ht.insert_unique(__f, __l); } +-#endif /*__STL_MEMBER_TEMPLATES */ ++#endif /*_STLP_MEMBER_TEMPLATES */ + pair insert_noresize(const value_type& __obj) + { return _M_ht.insert_unique_noresize(__obj); } + + iterator find(const key_type& __key) { return _M_ht.find(__key); } +- const_iterator find(const key_type& __key) const +- { return _M_ht.find(__key); } ++ const_iterator find(const key_type& __key) const { return _M_ht.find(__key); } + + _Tp& operator[](const key_type& __key) { +- return _M_ht.find_or_insert(_value_type(__key, _Tp())).second; ++ iterator __it = _M_ht.find(__key); ++ return (__it == _M_ht.end() ? ++ _M_ht._M_insert(_value_type(__key, _Tp())).second : ++ (*__it).second ); + } + + size_type count(const key_type& __key) const { return _M_ht.count(__key); } +@@ -198,45 +206,45 @@ + size_type max_bucket_count() const { return _M_ht.max_bucket_count(); } + size_type elems_in_bucket(size_type __n) const + { return _M_ht.elems_in_bucket(__n); } +- static bool __STL_CALL _M_equal (const _Self& __x, const _Self& __y) { ++ static bool _STLP_CALL _M_equal (const _Self& __x, const _Self& __y) { + return _Ht::_M_equal(__x._M_ht,__y._M_ht); + } + }; + + + template +-inline bool __STL_CALL ++inline bool _STLP_CALL + operator==(const hash_map<_Key,_Tp,_HashFcn,_EqlKey,_Alloc>& __hm1, + const hash_map<_Key,_Tp,_HashFcn,_EqlKey,_Alloc>& __hm2) + { + return hash_map<_Key,_Tp,_HashFcn,_EqlKey,_Alloc>::_M_equal(__hm1, __hm2); + } +-#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE ++#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE + + template +-inline bool __STL_CALL ++inline bool _STLP_CALL + operator!=(const hash_map<_Key,_Tp,_HashFcn,_EqlKey,_Alloc>& __hm1, + const hash_map<_Key,_Tp,_HashFcn,_EqlKey,_Alloc>& __hm2) { + return !(__hm1 == __hm2); + } + + template +-inline void __STL_CALL ++inline void _STLP_CALL + swap(hash_map<_Key,_Tp,_HashFcn,_EqlKey,_Alloc>& __hm1, + hash_map<_Key,_Tp,_HashFcn,_EqlKey,_Alloc>& __hm2) + { + __hm1.swap(__hm2); + } + +-#endif /* __STL_FUNCTION_TMPL_PARTIAL_ORDER */ ++#endif /* _STLP_FUNCTION_TMPL_PARTIAL_ORDER */ + + template ), + __DFL_TMPL_PARAM(_EqualKey,equal_to<_Key>), +- __STL_DEFAULT_PAIR_ALLOCATOR_SELECT(const _Key, _Tp) > ++ _STLP_DEFAULT_PAIR_ALLOCATOR_SELECT(const _Key, _Tp) > + class hash_multimap + { + private: +- typedef __STL_HASHTABLE _Ht; ++ typedef _STLP_HASHTABLE _Ht; + typedef hash_multimap<_Key, _Tp, _HashFcn, _EqualKey, _Alloc> _Self; + public: + typedef typename _Ht::key_type key_type; +@@ -275,7 +283,7 @@ + const allocator_type& __a = allocator_type()) + : _M_ht(__n, __hf, __eql, __a) {} + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + template + hash_multimap(_InputIterator __f, _InputIterator __l) + : _M_ht(100, hasher(), key_equal(), allocator_type()) +@@ -289,15 +297,17 @@ + const hasher& __hf) + : _M_ht(__n, __hf, key_equal(), allocator_type()) + { _M_ht.insert_equal(__f, __l); } ++# ifdef _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS + template + hash_multimap(_InputIterator __f, _InputIterator __l, size_type __n, + const hasher& __hf, const key_equal& __eql) + : _M_ht(__n, __hf, __eql, allocator_type()) + { _M_ht.insert_equal(__f, __l); } ++# endif + template + hash_multimap(_InputIterator __f, _InputIterator __l, size_type __n, + const hasher& __hf, const key_equal& __eql, +- const allocator_type& __a ) ++ const allocator_type& __a _STLP_ALLOCATOR_TYPE_DFL) + : _M_ht(__n, __hf, __eql, __a) + { _M_ht.insert_equal(__f, __l); } + +@@ -333,7 +343,7 @@ + const allocator_type& __a = allocator_type()) + : _M_ht(__n, __hf, __eql, __a) + { _M_ht.insert_equal(__f, __l); } +-#endif /*__STL_MEMBER_TEMPLATES */ ++#endif /*_STLP_MEMBER_TEMPLATES */ + + public: + size_type size() const { return _M_ht.size(); } +@@ -349,7 +359,7 @@ + public: + iterator insert(const value_type& __obj) + { return _M_ht.insert_equal(__obj); } +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + template + void insert(_InputIterator __f, _InputIterator __l) + { _M_ht.insert_equal(__f,__l); } +@@ -359,7 +369,7 @@ + } + void insert(const_iterator __f, const_iterator __l) + { _M_ht.insert_equal(__f, __l); } +-#endif /*__STL_MEMBER_TEMPLATES */ ++#endif /*_STLP_MEMBER_TEMPLATES */ + iterator insert_noresize(const value_type& __obj) + { return _M_ht.insert_equal_noresize(__obj); } + +@@ -386,44 +396,44 @@ + size_type max_bucket_count() const { return _M_ht.max_bucket_count(); } + size_type elems_in_bucket(size_type __n) const + { return _M_ht.elems_in_bucket(__n); } +- static bool __STL_CALL _M_equal (const _Self& __x, const _Self& __y) { ++ static bool _STLP_CALL _M_equal (const _Self& __x, const _Self& __y) { + return _Ht::_M_equal(__x._M_ht,__y._M_ht); + } + }; + + + template +-inline bool __STL_CALL ++inline bool _STLP_CALL + operator==(const hash_multimap<_Key,_Tp,_HashFcn,_EqlKey,_Alloc>& __hm1, + const hash_multimap<_Key,_Tp,_HashFcn,_EqlKey,_Alloc>& __hm2) + { + return hash_multimap<_Key,_Tp,_HashFcn,_EqlKey,_Alloc>::_M_equal(__hm1, __hm2); + } + +-#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE ++#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE + + template +-inline bool __STL_CALL ++inline bool _STLP_CALL + operator!=(const hash_multimap<_Key,_Tp,_HashFcn,_EqlKey,_Alloc>& __hm1, + const hash_multimap<_Key,_Tp,_HashFcn,_EqlKey,_Alloc>& __hm2) { + return !(__hm1 == __hm2); + } + + template +-inline void __STL_CALL ++inline void _STLP_CALL + swap(hash_multimap<_Key,_Tp,_HashFcn,_EqlKey,_Alloc>& __hm1, + hash_multimap<_Key,_Tp,_HashFcn,_EqlKey,_Alloc>& __hm2) + { + __hm1.swap(__hm2); + } + +-#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ ++#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ + + + // Specialization of insert_iterator so that it will work for hash_map + // and hash_multimap. + +-#ifdef __STL_CLASS_PARTIAL_SPECIALIZATION ++#ifdef _STLP_CLASS_PARTIAL_SPECIALIZATION + + template + class insert_iterator > { +@@ -442,8 +452,8 @@ + insert_iterator(_Container& __x, typename _Container::iterator) + : container(&__x) {} + insert_iterator<_Container>& +- operator=(const typename _Container::value_type& __value) { +- container->insert(__value); ++ operator=(const typename _Container::value_type& __val) { ++ container->insert(__val); + return *this; + } + insert_iterator<_Container>& operator*() { return *this; } +@@ -469,8 +479,8 @@ + insert_iterator(_Container& __x, typename _Container::iterator) + : container(&__x) {} + insert_iterator<_Container>& +- operator=(const typename _Container::value_type& __value) { +- container->insert(__value); ++ operator=(const typename _Container::value_type& __val) { ++ container->insert(__val); + return *this; + } + insert_iterator<_Container>& operator*() { return *this; } +@@ -478,7 +488,7 @@ + insert_iterator<_Container>& operator++(int) { return *this; } + }; + +-#endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */ ++#endif /* _STLP_CLASS_PARTIAL_SPECIALIZATION */ + + // do a cleanup + # undef hash_map +@@ -488,13 +498,13 @@ + # define __hash_multimap__ __FULL_NAME(hash_multimap) + + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-# if defined (__STL_USE_WRAPPER_FOR_ALLOC_PARAM) ++# if defined (_STLP_USE_WRAPPER_FOR_ALLOC_PARAM) + # include + # endif /* WRAPPER */ + +-#endif /* __SGI_STL_INTERNAL_HASH_MAP_H */ ++#endif /* _STLP_INTERNAL_HASH_MAP_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_hash_set.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_hash_set.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_hash_set.h Sat Feb 24 10:44:52 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_hash_set.h Sun Aug 11 18:59:24 2002 +@@ -27,17 +27,21 @@ + * You should not attempt to use it directly. + */ + +-#ifndef __SGI_STL_INTERNAL_HASH_SET_H +-#define __SGI_STL_INTERNAL_HASH_SET_H ++#ifndef _STLP_INTERNAL_HASH_SET_H ++#define _STLP_INTERNAL_HASH_SET_H ++ ++#ifndef _STLP_INTERNAL_HASHTABLE_H ++# include ++#endif + + # define hash_set __WORKAROUND_RENAME(hash_set) + # define hash_multiset __WORKAROUND_RENAME(hash_multiset) + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + template ), + __DFL_TMPL_PARAM(_EqualKey,equal_to<_Value>), +- __STL_DEFAULT_ALLOCATOR_SELECT(_Value) > ++ _STLP_DEFAULT_ALLOCATOR_SELECT(_Value) > + class hash_set + { + private: +@@ -82,7 +86,7 @@ + const allocator_type& __a = allocator_type()) + : _M_ht(__n, __hf, __eql, __a) {} + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + template + hash_set(_InputIterator __f, _InputIterator __l) + : _M_ht(100, hasher(), key_equal(), allocator_type()) +@@ -96,15 +100,17 @@ + const hasher& __hf) + : _M_ht(__n, __hf, key_equal(), allocator_type()) + { _M_ht.insert_unique(__f, __l); } ++# ifdef _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS + template + hash_set(_InputIterator __f, _InputIterator __l, size_type __n, + const hasher& __hf, const key_equal& __eql) + : _M_ht(__n, __hf, __eql, allocator_type()) + { _M_ht.insert_unique(__f, __l); } ++# endif + template + hash_set(_InputIterator __f, _InputIterator __l, size_type __n, + const hasher& __hf, const key_equal& __eql, +- const allocator_type& __a) ++ const allocator_type& __a _STLP_ALLOCATOR_TYPE_DFL) + : _M_ht(__n, __hf, __eql, __a) + { _M_ht.insert_unique(__f, __l); } + #else +@@ -140,7 +146,7 @@ + const allocator_type& __a = allocator_type()) + : _M_ht(__n, __hf, __eql, __a) + { _M_ht.insert_unique(__f, __l); } +-#endif /*__STL_MEMBER_TEMPLATES */ ++#endif /*_STLP_MEMBER_TEMPLATES */ + + public: + size_type size() const { return _M_ht.size(); } +@@ -157,7 +163,7 @@ + pair<_ht_iterator, bool> __p = _M_ht.insert_unique(__obj); + return pair(__REINTERPRET_CAST(const iterator&, __p.first), __p.second); + } +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + template + void insert(_InputIterator __f, _InputIterator __l) + { _M_ht.insert_unique(__f,__l); } +@@ -167,7 +173,8 @@ + } + void insert(const_iterator __f, const_iterator __l) + {_M_ht.insert_unique(__f, __l); } +-#endif /*__STL_MEMBER_TEMPLATES */ ++ ++#endif /*_STLP_MEMBER_TEMPLATES */ + pair insert_noresize(const value_type& __obj) + { + pair<_ht_iterator, bool> __p = +@@ -175,8 +182,12 @@ + return pair(__p.first, __p.second); + } + ++# if defined(_STLP_MEMBER_TEMPLATES) && ! defined ( _STLP_NO_EXTENSIONS ) ++ template ++ iterator find(const _KT& __key) const { return _M_ht.find(__key); } ++# else + iterator find(const key_type& __key) const { return _M_ht.find(__key); } +- ++# endif + size_type count(const key_type& __key) const { return _M_ht.count(__key); } + + pair equal_range(const key_type& __key) const +@@ -194,7 +205,7 @@ + size_type elems_in_bucket(size_type __n) const + { return _M_ht.elems_in_bucket(__n); } + +- static bool __STL_CALL _M_equal (const _Self& __x, const _Self& __y) { ++ static bool _STLP_CALL _M_equal (const _Self& __x, const _Self& __y) { + return _Ht::_M_equal(__x._M_ht,__y._M_ht); + } + +@@ -202,36 +213,36 @@ + + + template +-inline bool __STL_CALL ++inline bool _STLP_CALL + operator==(const hash_set<_Value,_HashFcn,_EqualKey,_Alloc>& __hs1, + const hash_set<_Value,_HashFcn,_EqualKey,_Alloc>& __hs2) + { + return hash_set<_Value,_HashFcn,_EqualKey,_Alloc>::_M_equal(__hs1, __hs2); + } + +-#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE ++#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE + + template +-inline bool __STL_CALL ++inline bool _STLP_CALL + operator!=(const hash_set<_Value,_HashFcn,_EqualKey,_Alloc>& __hs1, + const hash_set<_Value,_HashFcn,_EqualKey,_Alloc>& __hs2) { + return !(__hs1 == __hs2); + } + + template +-inline void __STL_CALL ++inline void _STLP_CALL + swap(hash_set<_Val,_HashFcn,_EqualKey,_Alloc>& __hs1, + hash_set<_Val,_HashFcn,_EqualKey,_Alloc>& __hs2) + { + __hs1.swap(__hs2); + } + +-#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ ++#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ + + + template ), + __DFL_TMPL_PARAM(_EqualKey,equal_to<_Value>), +- __STL_DEFAULT_ALLOCATOR_SELECT(_Value) > ++ _STLP_DEFAULT_ALLOCATOR_SELECT(_Value) > + class hash_multiset + { + private: +@@ -278,7 +289,7 @@ + const allocator_type& __a) + : _M_ht(__n, __hf, __eql, __a) {} + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + template + hash_multiset(_InputIterator __f, _InputIterator __l) + : _M_ht(100, hasher(), key_equal(), allocator_type()) +@@ -292,10 +303,18 @@ + const hasher& __hf) + : _M_ht(__n, __hf, key_equal(), allocator_type()) + { _M_ht.insert_equal(__f, __l); } ++ ++# ifdef _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS ++ template ++ hash_multiset(_InputIterator __f, _InputIterator __l, size_type __n, ++ const hasher& __hf, const key_equal& __eql) ++ : _M_ht(__n, __hf, __eql, allocator_type()) ++ { _M_ht.insert_equal(__f, __l); } ++# endif + template + hash_multiset(_InputIterator __f, _InputIterator __l, size_type __n, + const hasher& __hf, const key_equal& __eql, +- const allocator_type& __a = allocator_type()) ++ const allocator_type& __a _STLP_ALLOCATOR_TYPE_DFL) + : _M_ht(__n, __hf, __eql, __a) + { _M_ht.insert_equal(__f, __l); } + #else +@@ -331,7 +350,7 @@ + const allocator_type& __a = allocator_type()) + : _M_ht(__n, __hf, __eql, __a) + { _M_ht.insert_equal(__f, __l); } +-#endif /*__STL_MEMBER_TEMPLATES */ ++#endif /*_STLP_MEMBER_TEMPLATES */ + + public: + size_type size() const { return _M_ht.size(); } +@@ -345,7 +364,7 @@ + public: + iterator insert(const value_type& __obj) + { return _M_ht.insert_equal(__obj); } +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + template + void insert(_InputIterator __f, _InputIterator __l) + { _M_ht.insert_equal(__f,__l); } +@@ -355,11 +374,16 @@ + } + void insert(const_iterator __f, const_iterator __l) + { _M_ht.insert_equal(__f, __l); } +-#endif /*__STL_MEMBER_TEMPLATES */ ++#endif /*_STLP_MEMBER_TEMPLATES */ + iterator insert_noresize(const value_type& __obj) + { return _M_ht.insert_equal_noresize(__obj); } + ++# if defined(_STLP_MEMBER_TEMPLATES) && ! defined ( _STLP_NO_EXTENSIONS ) ++ template ++ iterator find(const _KT& __key) const { return _M_ht.find(__key); } ++# else + iterator find(const key_type& __key) const { return _M_ht.find(__key); } ++# endif + + size_type count(const key_type& __key) const { return _M_ht.count(__key); } + +@@ -377,7 +401,7 @@ + size_type max_bucket_count() const { return _M_ht.max_bucket_count(); } + size_type elems_in_bucket(size_type __n) const + { return _M_ht.elems_in_bucket(__n); } +- static bool __STL_CALL _M_equal (const _Self& __x, const _Self& __y) { ++ static bool _STLP_CALL _M_equal (const _Self& __x, const _Self& __y) { + return _Ht::_M_equal(__x._M_ht,__y._M_ht); + } + }; +@@ -390,28 +414,28 @@ + return hash_multiset<_Value,_HashFcn,_EqualKey,_Alloc>::_M_equal(__hs1, __hs2); + } + +-#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE ++#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE + + template +-inline bool __STL_CALL ++inline bool _STLP_CALL + operator!=(const hash_multiset<_Value,_HashFcn,_EqualKey,_Alloc>& __hs1, + const hash_multiset<_Value,_HashFcn,_EqualKey,_Alloc>& __hs2) { + return !(__hs1 == __hs2); + } + + template +-inline void __STL_CALL ++inline void _STLP_CALL + swap(hash_multiset<_Val,_HashFcn,_EqualKey,_Alloc>& __hs1, + hash_multiset<_Val,_HashFcn,_EqualKey,_Alloc>& __hs2) { + __hs1.swap(__hs2); + } + +-#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ ++#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ + + // Specialization of insert_iterator so that it will work for hash_set + // and hash_multiset. + +-#ifdef __STL_CLASS_PARTIAL_SPECIALIZATION ++#ifdef _STLP_CLASS_PARTIAL_SPECIALIZATION + + template + class insert_iterator > { +@@ -430,8 +454,8 @@ + insert_iterator(_Container& __x, typename _Container::iterator) + : container(&__x) {} + insert_iterator<_Container>& +- operator=(const typename _Container::value_type& __value) { +- container->insert(__value); ++ operator=(const typename _Container::value_type& __val) { ++ container->insert(__val); + return *this; + } + insert_iterator<_Container>& operator*() { return *this; } +@@ -457,8 +481,8 @@ + insert_iterator(_Container& __x, typename _Container::iterator) + : container(&__x) {} + insert_iterator<_Container>& +- operator=(const typename _Container::value_type& __value) { +- container->insert(__value); ++ operator=(const typename _Container::value_type& __val) { ++ container->insert(__val); + return *this; + } + insert_iterator<_Container>& operator*() { return *this; } +@@ -466,8 +490,8 @@ + insert_iterator<_Container>& operator++(int) { return *this; } + }; + +-#endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */ +-__STL_END_NAMESPACE ++#endif /* _STLP_CLASS_PARTIAL_SPECIALIZATION */ ++_STLP_END_NAMESPACE + + // do a cleanup + # undef hash_set +@@ -477,11 +501,11 @@ + # define __hash_set__ __FULL_NAME(hash_set) + # define __hash_multiset__ __FULL_NAME(hash_multiset) + +-# if defined ( __STL_USE_WRAPPER_FOR_ALLOC_PARAM ) ++# if defined ( _STLP_USE_WRAPPER_FOR_ALLOC_PARAM ) + # include + # endif /* WRAPPER */ + +-#endif /* __SGI_STL_INTERNAL_HASH_SET_H */ ++#endif /* _STLP_INTERNAL_HASH_SET_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_hashtable.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_hashtable.c +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_hashtable.c Sat Feb 24 10:44:50 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_hashtable.c Sun Aug 11 18:59:24 2002 +@@ -23,14 +23,18 @@ + * modified is included with the above copyright notice. + * + */ +-#ifndef __STL_HASHTABLE_C +-#define __STL_HASHTABLE_C ++#ifndef _STLP_HASHTABLE_C ++#define _STLP_HASHTABLE_C + +-#ifdef __STL_DEBUG ++#ifndef _STLP_INTERNAL_HASHTABLE_H ++# include ++#endif ++ ++#ifdef _STLP_DEBUG + # define hashtable __WORKAROUND_DBG_RENAME(hashtable) + #endif + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + # define __PRIME_LIST_BODY { \ + 53ul, 97ul, 193ul, 389ul, 769ul, \ +@@ -41,37 +45,33 @@ + 1610612741ul, 3221225473ul, 4294967291ul \ + } + +-#if ( __STL_STATIC_TEMPLATE_DATA > 0 ) ++#if ( _STLP_STATIC_TEMPLATE_DATA > 0 ) + template +-const unsigned long _Stl_prime<_Tp>::_M_list[__stl_num_primes] = __PRIME_LIST_BODY; ++const size_t _Stl_prime<_Tp>::_M_list[__stl_num_primes] = __PRIME_LIST_BODY; + #else +-__DECLARE_INSTANCE(const unsigned long, ++__DECLARE_INSTANCE(const size_t, + _Stl_prime_type::_M_list[], =__PRIME_LIST_BODY); +-#endif /* __STL_STATIC_TEMPLATE_DATA */ ++#endif /* _STLP_STATIC_TEMPLATE_DATA */ + + # undef __PRIME_LIST_BODY + + // fbp: these defines are for outline methods definitions. + // needed to definitions to be portable. Should not be used in method bodies. + +-# if defined ( __STL_NESTED_TYPE_PARAM_BUG ) +-# define __difference_type__ ptrdiff_t ++# if defined ( _STLP_NESTED_TYPE_PARAM_BUG ) + # define __size_type__ size_t +-# define __value_type__ _Val +-# define __key_type__ _Key +-# define __node__ _Hashtable_node<_Val> ++# define size_type size_t ++# define value_type _Val ++# define key_type _Key ++# define _Node _Hashtable_node<_Val> + # define __reference__ _Val& ++ + # define __iterator__ _Ht_iterator<_Val, _Nonconst_traits<_Val>, _Key, _HF, _ExK, _EqK, _All> + # define __const_iterator__ _Ht_iterator<_Val, _Const_traits<_Val>, _Key, _HF, _ExK, _EqK, _All> + # else +-# define __difference_type__ typename hashtable<_Val, _Key, _HF, _ExK, _EqK, _All>::difference_type +-# define __size_type__ __STL_TYPENAME_ON_RETURN_TYPE hashtable<_Val, _Key, _HF, _ExK, _EqK, _All>::size_type +-# define __value_type__ __STL_TYPENAME_ON_RETURN_TYPE hashtable<_Val, _Key, _HF, _ExK, _EqK, _All>::value_type +-# define __key_type__ __STL_TYPENAME_ON_RETURN_TYPE hashtable<_Val, _Key, _HF, _ExK, _EqK, _All>::key_type +-# define __node__ __STL_TYPENAME_ON_RETURN_TYPE hashtable<_Val, _Key, _HF, _ExK, _EqK, _All>::_Node +-# define __reference__ __STL_TYPENAME_ON_RETURN_TYPE hashtable<_Val, _Key, _HF, _ExK, _EqK, _All>::reference +-# define __iterator__ __STL_TYPENAME_ON_RETURN_TYPE hashtable<_Val, _Key, _HF, _ExK, _EqK, _All>::iterator +-# define __const_iterator__ __STL_TYPENAME_ON_RETURN_TYPE hashtable<_Val, _Key, _HF, _ExK, _EqK, _All>::const_iterator ++# define __size_type__ _STLP_TYPENAME_ON_RETURN_TYPE hashtable<_Val, _Key, _HF, _ExK, _EqK, _All>::size_type ++# define __reference__ _STLP_TYPENAME_ON_RETURN_TYPE hashtable<_Val, _Key, _HF, _ExK, _EqK, _All>::reference ++# define __iterator__ _STLP_TYPENAME_ON_RETURN_TYPE hashtable<_Val, _Key, _HF, _ExK, _EqK, _All>::iterator + # endif + + template ++__size_type__ ++hashtable<_Val,_Key,_HF,_ExK,_EqK,_All>::_M_next_size(size_type __n) const { ++ const size_type* __first = (const size_type*)_Stl_prime_type::_M_list; ++ const size_type* __last = (const size_type*)_Stl_prime_type::_M_list + (int)__stl_num_primes; ++ const size_type* pos = __lower_bound(__first, __last, __n, __less((size_type*)0), (ptrdiff_t*)0); ++ return (pos == __last ? *(__last - 1) : *pos); ++} ++ + template + bool + hashtable<_Val,_Key,_HF,_ExK,_EqK,_All>::_M_equal( +@@ -112,7 +122,7 @@ + template + pair< _Ht_iterator<_Val, _Nonconst_traits<_Val>, _Key, _HF, _ExK, _EqK, _All> , bool> + hashtable<_Val,_Key,_HF,_ExK,_EqK,_All> +- ::insert_unique_noresize(const __value_type__& __obj) ++ ::insert_unique_noresize(const value_type& __obj) + { + const size_type __n = _M_bkt_num(__obj); + _Node* __first = (_Node*)_M_buckets[__n]; +@@ -131,7 +141,7 @@ + template + __iterator__ + hashtable<_Val,_Key,_HF,_ExK,_EqK,_All> +- ::insert_equal_noresize(const __value_type__& __obj) ++ ::insert_equal_noresize(const value_type& __obj) + { + const size_type __n = _M_bkt_num(__obj); + _Node* __first = (_Node*)_M_buckets[__n]; +@@ -154,17 +164,13 @@ + + template + __reference__ +-hashtable<_Val,_Key,_HF,_ExK,_EqK,_All>::find_or_insert(const __value_type__& __obj) ++hashtable<_Val,_Key,_HF,_ExK,_EqK,_All>::_M_insert(const value_type& __obj) + { + resize(_M_num_elements._M_data + 1); + + size_type __n = _M_bkt_num(__obj); + _Node* __first = (_Node*)_M_buckets[__n]; + +- for (_Node* __cur = __first; __cur; __cur = __cur->_M_next) +- if (_M_equals(_M_get_key(__cur->_M_val), _M_get_key(__obj))) +- return __cur->_M_val; +- + _Node* __tmp = _M_new_node(__obj); + __tmp->_M_next = __first; + _M_buckets[__n] = __tmp; +@@ -173,9 +179,21 @@ + } + + template ++__reference__ ++hashtable<_Val,_Key,_HF,_ExK,_EqK,_All>::find_or_insert(const value_type& __obj) ++{ ++ ++ _Node* __first = _M_find(_M_get_key(__obj)); ++ if (__first) ++ return __first->_M_val; ++ else ++ return _M_insert(__obj); ++} ++ ++template + pair< _Ht_iterator<_Val, _Nonconst_traits<_Val>, _Key, _HF, _ExK, _EqK, _All>, + _Ht_iterator<_Val, _Nonconst_traits<_Val>, _Key, _HF, _ExK, _EqK, _All> > +-hashtable<_Val,_Key,_HF,_ExK,_EqK,_All>::equal_range(const __key_type__& __key) ++hashtable<_Val,_Key,_HF,_ExK,_EqK,_All>::equal_range(const key_type& __key) + { + typedef pair _Pii; + const size_type __n = _M_bkt_num_key(__key); +@@ -198,7 +216,7 @@ + pair< _Ht_iterator<_Val, _Const_traits<_Val>, _Key, _HF, _ExK, _EqK, _All>, + _Ht_iterator<_Val, _Const_traits<_Val>, _Key, _HF, _ExK, _EqK, _All> > + hashtable<_Val,_Key,_HF,_ExK,_EqK,_All> +- ::equal_range(const __key_type__& __key) const ++ ::equal_range(const key_type& __key) const + { + typedef pair _Pii; + const size_type __n = _M_bkt_num_key(__key); +@@ -225,7 +243,7 @@ + + template + __size_type__ +-hashtable<_Val,_Key,_HF,_ExK,_EqK,_All>::erase(const __key_type__& __key) ++hashtable<_Val,_Key,_HF,_ExK,_EqK,_All>::erase(const key_type& __key) + { + const size_type __n = _M_bkt_num_key(__key); + _Node* __first = (_Node*)_M_buckets[__n]; +@@ -258,7 +276,7 @@ + } + + template +-void hashtable<_Val,_Key,_HF,_ExK,_EqK,_All>::erase(const __const_iterator__& __it) ++void hashtable<_Val,_Key,_HF,_ExK,_EqK,_All>::erase(const const_iterator& __it) + { + // const iterator& __it = __REINTERPRET_CAST(const iterator&,_c_it); + const _Node* __p = __it._M_cur; +@@ -291,7 +309,7 @@ + + template + void hashtable<_Val,_Key,_HF,_ExK,_EqK,_All> +- ::erase(__const_iterator__ _c_first, __const_iterator__ _c_last) ++ ::erase(const_iterator _c_first, const_iterator _c_last) + { + iterator& __first = (iterator&)_c_first; + iterator& __last = (iterator&)_c_last; +@@ -314,7 +332,7 @@ + + template + void hashtable<_Val,_Key,_HF,_ExK,_EqK,_All> +- ::resize(__size_type__ __num_elements_hint) ++ ::resize(size_type __num_elements_hint) + { + const size_type __old_n = _M_buckets.size(); + if (__num_elements_hint > __old_n) { +@@ -322,7 +340,7 @@ + if (__n > __old_n) { + _BucketVector __tmp(__n, (void*)(0), + _M_buckets.get_allocator()); +- __STL_TRY { ++ _STLP_TRY { + for (size_type __bucket = 0; __bucket < __old_n; ++__bucket) { + _Node* __first = (_Node*)_M_buckets[__bucket]; + while (__first) { +@@ -335,7 +353,7 @@ + } + _M_buckets.swap(__tmp); + } +-# ifdef __STL_USE_EXCEPTIONS ++# ifdef _STLP_USE_EXCEPTIONS + catch(...) { + for (size_type __bucket = 0; __bucket < __tmp.size(); ++__bucket) { + while (__tmp[__bucket]) { +@@ -346,14 +364,14 @@ + } + throw; + } +-# endif /* __STL_USE_EXCEPTIONS */ ++# endif /* _STLP_USE_EXCEPTIONS */ + } + } + } + + template + void hashtable<_Val,_Key,_HF,_ExK,_EqK,_All> +- ::_M_erase_bucket(const __size_type__ __n, __node__* __first, __node__* __last) ++ ::_M_erase_bucket(const size_type __n, _Node* __first, _Node* __last) + { + _Node* __cur = (_Node*)_M_buckets[__n]; + if (__cur == __first) +@@ -375,7 +393,7 @@ + + template + void hashtable<_Val,_Key,_HF,_ExK,_EqK,_All> +- ::_M_erase_bucket(const __size_type__ __n, __node__* __last) ++ ::_M_erase_bucket(const size_type __n, _Node* __last) + { + _Node* __cur = (_Node*)_M_buckets[__n]; + while (__cur && __cur != __last) { +@@ -410,39 +428,40 @@ + _M_buckets.clear(); + _M_buckets.reserve(__ht._M_buckets.size()); + _M_buckets.insert(_M_buckets.end(), __ht._M_buckets.size(), (void*) 0); +- __STL_TRY { ++ _STLP_TRY { + for (size_type __i = 0; __i < __ht._M_buckets.size(); ++__i) { + const _Node* __cur = (_Node*)__ht._M_buckets[__i]; + if (__cur) { +- _Node* __copy = _M_new_node(__cur->_M_val); +- _M_buckets[__i] = __copy; ++ _Node* __xcopy = _M_new_node(__cur->_M_val); ++ _M_buckets[__i] = __xcopy; + + for (_Node* __next = __cur->_M_next; + __next; + __cur = __next, __next = __cur->_M_next) { +- __copy->_M_next = _M_new_node(__next->_M_val); +- __copy = __copy->_M_next; ++ __xcopy->_M_next = _M_new_node(__next->_M_val); ++ __xcopy = __xcopy->_M_next; + } + } + } + _M_num_elements._M_data = __ht._M_num_elements._M_data; + } +- __STL_UNWIND(clear()); ++ _STLP_UNWIND(clear()); + } + + # undef __iterator__ +-# undef __const_iterator__ +-# undef __difference_type__ +-# undef __size_type__ +-# undef __value_type__ +-# undef __key_type__ +-# undef __node__ ++# undef const_iterator ++# undef __size_type__ ++# undef __reference__ ++# undef size_type ++# undef value_type ++# undef key_type ++# undef _Node + # undef __stl_num_primes + # undef hashtable + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-#endif /* __STL_HASHTABLE_C */ ++#endif /* _STLP_HASHTABLE_C */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_hashtable.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_hashtable.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_hashtable.h Sat Feb 24 10:44:51 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_hashtable.h Sun Aug 11 18:59:24 2002 +@@ -27,46 +27,37 @@ + * You should not attempt to use it directly. + */ + +-#ifndef __SGI_STL_INTERNAL_HASHTABLE_H +-#define __SGI_STL_INTERNAL_HASHTABLE_H ++#ifndef _STLP_INTERNAL_HASHTABLE_H ++#define _STLP_INTERNAL_HASHTABLE_H + +-# ifndef __SGI_STL_INTERNAL_VECTOR_H ++# ifndef _STLP_INTERNAL_VECTOR_H + # include + # endif + +-# ifndef __SGI_STL_INTERNAL_ITERATOR_H ++# ifndef _STLP_INTERNAL_ITERATOR_H + # include + # endif + +-# ifndef __SGI_STL_INTERNAL_FUNCTION_H +-# include ++# ifndef _STLP_INTERNAL_FUNCTION_H ++# include + # endif + +-# ifndef __SGI_STL_INTERNAL_ALGO_H +-# include ++# ifndef _STLP_INTERNAL_ALGOBASE_H ++# include + # endif + +-# ifndef __SGI_STL_HASH_FUN_H ++# ifndef _STLP_HASH_FUN_H + # include + # endif + + // Hashtable class, used to implement the hashed associative containers + // hash_set, hash_map, hash_multiset, and hash_multimap. + +-#ifdef __STL_DEBUG ++#ifdef _STLP_DEBUG + # define hashtable __WORKAROUND_DBG_RENAME(hashtable) + #endif + +-__STL_BEGIN_NAMESPACE +- +-# if defined ( __STL_USE_ABBREVS ) +-# define _Hashtable_iterator _hT__It +-# define _Hashtable_const_iterator _hT__cIt +-# define _Hashtable_node _hT__N +-# define _Hashtable_base _hT__B +-# define _Ht_iterator _Ht_It +-# endif +- ++_STLP_BEGIN_NAMESPACE + + template + struct _Hashtable_node +@@ -131,7 +122,7 @@ + reference operator*() const { + return this->_M_cur->_M_val; + } +- __STL_DEFINE_ARROW_OPERATOR ++ _STLP_DEFINE_ARROW_OPERATOR + + _Self& operator++() { + _Node* __n = this->_M_cur->_M_next; +@@ -153,7 +144,7 @@ + return __x._M_cur == __y._M_cur; + } + +-#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE ++#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE + template + inline bool +@@ -182,23 +173,26 @@ + } + #endif + +-# ifdef __STL_USE_OLD_HP_ITERATOR_QUERIES ++# ifdef _STLP_USE_OLD_HP_ITERATOR_QUERIES + template +-inline _Val* __VALUE_TYPE(const _Ht_iterator<_Val, _Traits,_Key,_HF,_ExK,_EqK,_All>&) { return (_Val*) 0; } ++inline _Val* value_type(const _Ht_iterator<_Val, _Traits,_Key,_HF,_ExK,_EqK,_All>&) { return (_Val*) 0; } + template +-inline forward_iterator_tag __ITERATOR_CATEGORY(const _Ht_iterator<_Val, _Traits,_Key,_HF,_ExK,_EqK,_All>&) { return forward_iterator_tag(); } ++inline forward_iterator_tag iterator_category(const _Ht_iterator<_Val, _Traits,_Key,_HF,_ExK,_EqK,_All>&) { return forward_iterator_tag(); } + template +-inline ptrdiff_t* __DISTANCE_TYPE(const _Ht_iterator<_Val,_Traits,_Key,_HF,_ExK,_EqK,_All>&) { return (ptrdiff_t*) 0; } ++inline ptrdiff_t* distance_type(const _Ht_iterator<_Val,_Traits,_Key,_HF,_ExK,_EqK,_All>&) { return (ptrdiff_t*) 0; } + #endif + + #define __stl_num_primes 28 + template +-struct _Stl_prime { ++class _Stl_prime { + public: +- static const unsigned long _M_list[__stl_num_primes]; ++ static const size_t _M_list[__stl_num_primes]; + }; + +-#define __stl_prime_list _Stl_prime_type::_M_list ++# if defined (_STLP_USE_TEMPLATE_EXPORT) ++_STLP_EXPORT_TEMPLATE_CLASS _Stl_prime; ++# endif ++ + typedef _Stl_prime _Stl_prime_type; + + +@@ -234,20 +228,21 @@ + typedef _Hashtable_node<_Val> _Node; + + private: ++ _STLP_FORCE_ALLOCATORS(_Val, _All) + typedef typename _Alloc_traits<_Node, _All>::allocator_type _M_node_allocator_type; + typedef typename _Alloc_traits::allocator_type _M_node_ptr_allocator_type; + typedef __vector__ _BucketVector; + public: + typedef typename _Alloc_traits<_Val,_All>::allocator_type allocator_type; + allocator_type get_allocator() const { +- return __STL_CONVERT_ALLOCATOR((const _M_node_allocator_type&)_M_num_elements, _Val); ++ return _STLP_CONVERT_ALLOCATOR((const _M_node_allocator_type&)_M_num_elements, _Val); + } + private: + hasher _M_hash; + key_equal _M_equals; + _ExK _M_get_key; + _BucketVector _M_buckets; +- _STL_alloc_proxy _M_num_elements; ++ _STLP_alloc_proxy _M_num_elements; + const _Node* _M_get_bucket(size_t __n) const { return (_Node*)_M_buckets[__n]; } + + public: +@@ -269,8 +264,8 @@ + _M_hash(__hf), + _M_equals(__eql), + _M_get_key(__ext), +- _M_buckets(__STL_CONVERT_ALLOCATOR(__a,void*)), +- _M_num_elements(__STL_CONVERT_ALLOCATOR(__a,_Node), (size_type)0) ++ _M_buckets(_STLP_CONVERT_ALLOCATOR(__a,void*)), ++ _M_num_elements(_STLP_CONVERT_ALLOCATOR(__a,_Node), (size_type)0) + { + _M_initialize_buckets(__n); + } +@@ -283,8 +278,8 @@ + _M_hash(__hf), + _M_equals(__eql), + _M_get_key(_ExK()), +- _M_buckets(__STL_CONVERT_ALLOCATOR(__a,void*)), +- _M_num_elements(__STL_CONVERT_ALLOCATOR(__a,_Node), (size_type)0) ++ _M_buckets(_STLP_CONVERT_ALLOCATOR(__a,void*)), ++ _M_num_elements(_STLP_CONVERT_ALLOCATOR(__a,_Node), (size_type)0) + { + _M_initialize_buckets(__n); + } +@@ -294,7 +289,7 @@ + _M_hash(__ht._M_hash), + _M_equals(__ht._M_equals), + _M_get_key(__ht._M_get_key), +- _M_buckets(__STL_CONVERT_ALLOCATOR(__ht.get_allocator(),void*)), ++ _M_buckets(_STLP_CONVERT_ALLOCATOR(__ht.get_allocator(),void*)), + _M_num_elements((const _M_node_allocator_type&)__ht._M_num_elements, (size_type)0) + { + _M_copy_from(__ht); +@@ -320,11 +315,11 @@ + + void swap(_Self& __ht) + { +- __STLPORT_STD::swap(_M_hash, __ht._M_hash); +- __STLPORT_STD::swap(_M_equals, __ht._M_equals); +- __STLPORT_STD::swap(_M_get_key, __ht._M_get_key); ++ _STLP_STD::swap(_M_hash, __ht._M_hash); ++ _STLP_STD::swap(_M_equals, __ht._M_equals); ++ _STLP_STD::swap(_M_get_key, __ht._M_get_key); + _M_buckets.swap(__ht._M_buckets); +- __STLPORT_STD::swap(_M_num_elements, __ht._M_num_elements); ++ _STLP_STD::swap(_M_num_elements, __ht._M_num_elements); + } + + iterator begin() +@@ -347,7 +342,7 @@ + + const_iterator end() const { return const_iterator((_Node*)0, this); } + +- static bool __STL_CALL _M_equal (const hashtable<_Val, _Key, _HF, _ExK, _EqK, _All>&, ++ static bool _STLP_CALL _M_equal (const hashtable<_Val, _Key, _HF, _ExK, _EqK, _All>&, + const hashtable<_Val, _Key, _HF, _ExK, _EqK, _All>&); + + public: +@@ -355,7 +350,7 @@ + size_type bucket_count() const { return _M_buckets.size(); } + + size_type max_bucket_count() const +- { return __stl_prime_list[(int)__stl_num_primes - 1]; } ++ { return _Stl_prime_type::_M_list[(int)__stl_num_primes - 1]; } + + size_type elems_in_bucket(size_type __bucket) const + { +@@ -380,22 +375,22 @@ + pair insert_unique_noresize(const value_type& __obj); + iterator insert_equal_noresize(const value_type& __obj); + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + template + void insert_unique(_InputIterator __f, _InputIterator __l) + { +- insert_unique(__f, __l, __ITERATOR_CATEGORY(__f)); ++ insert_unique(__f, __l, _STLP_ITERATOR_CATEGORY(__f, _InputIterator)); + } + + template + void insert_equal(_InputIterator __f, _InputIterator __l) + { +- insert_equal(__f, __l, __ITERATOR_CATEGORY(__f)); ++ insert_equal(__f, __l, _STLP_ITERATOR_CATEGORY(__f, _InputIterator)); + } + + template + void insert_unique(_InputIterator __f, _InputIterator __l, +- input_iterator_tag) ++ const input_iterator_tag &) + { + for ( ; __f != __l; ++__f) + insert_unique(*__f); +@@ -403,7 +398,7 @@ + + template + void insert_equal(_InputIterator __f, _InputIterator __l, +- input_iterator_tag) ++ const input_iterator_tag &) + { + for ( ; __f != __l; ++__f) + insert_equal(*__f); +@@ -411,10 +406,9 @@ + + template + void insert_unique(_ForwardIterator __f, _ForwardIterator __l, +- forward_iterator_tag) ++ const forward_iterator_tag &) + { +- size_type __n = 0; +- distance(__f, __l, __n); ++ size_type __n = distance(__f, __l); + resize(_M_num_elements._M_data + __n); + for ( ; __n > 0; --__n, ++__f) + insert_unique_noresize(*__f); +@@ -422,16 +416,15 @@ + + template + void insert_equal(_ForwardIterator __f, _ForwardIterator __l, +- forward_iterator_tag) ++ const forward_iterator_tag &) + { +- size_type __n = 0; +- distance(__f, __l, __n); ++ size_type __n = distance(__f, __l); + resize(_M_num_elements._M_data + __n); + for ( ; __n > 0; --__n, ++__f) + insert_equal_noresize(*__f); + } + +-#else /* __STL_MEMBER_TEMPLATES */ ++#else /* _STLP_MEMBER_TEMPLATES */ + void insert_unique(const value_type* __f, const value_type* __l) + { + size_type __n = __l - __f; +@@ -450,8 +443,7 @@ + + void insert_unique(const_iterator __f, const_iterator __l) + { +- size_type __n = 0; +- distance(__f, __l, __n); ++ size_type __n = distance(__f, __l); + resize(_M_num_elements._M_data + __n); + for ( ; __n > 0; --__n, ++__f) + insert_unique_noresize(*__f); +@@ -459,36 +451,51 @@ + + void insert_equal(const_iterator __f, const_iterator __l) + { +- size_type __n = 0; +- distance(__f, __l, __n); ++ size_type __n = distance(__f, __l); + resize(_M_num_elements._M_data + __n); + for ( ; __n > 0; --__n, ++__f) + insert_equal_noresize(*__f); + } +-#endif /*__STL_MEMBER_TEMPLATES */ ++#endif /*_STLP_MEMBER_TEMPLATES */ + + reference find_or_insert(const value_type& __obj); + +- iterator find(const key_type& __key) ++private: ++# if defined(_STLP_MEMBER_TEMPLATES) && ! defined ( _STLP_NO_EXTENSIONS ) && !(defined(__MRC__)||defined(__SC__)) ++ template ++ _Node* _M_find(const _KT& __key) const ++# else ++ _Node* _M_find(const key_type& __key) const ++# endif + { +- size_type __n = _M_bkt_num_key(__key); ++ size_type __n = _M_hash(__key)% _M_buckets.size(); + _Node* __first; + for ( __first = (_Node*)_M_buckets[__n]; + __first && !_M_equals(_M_get_key(__first->_M_val), __key); + __first = __first->_M_next) + {} +- return iterator(__first, this); ++ return __first; ++ } ++ ++public: ++# if defined(_STLP_MEMBER_TEMPLATES) && ! defined ( _STLP_NO_EXTENSIONS ) && !(defined(__MRC__)||defined(__SC__)) ++ template ++ iterator find(const _KT& __key) ++# else ++ iterator find(const key_type& __key) ++# endif ++ { ++ return iterator(_M_find(__key), this); + } + ++# if defined(_STLP_MEMBER_TEMPLATES) && ! defined ( _STLP_NO_EXTENSIONS ) && !(defined(__MRC__)||defined(__SC__)) ++ template ++ const_iterator find(const _KT& __key) const ++# else + const_iterator find(const key_type& __key) const ++# endif + { +- size_type __n = _M_bkt_num_key(__key); +- const _Node* __first; +- for ( __first = (_Node*)_M_buckets[__n]; +- __first && !_M_equals(_M_get_key(__first->_M_val), __key); +- __first = __first->_M_next) +- {} +- return const_iterator(__first, this); ++ return const_iterator(_M_find(__key), this); + } + + size_type count(const key_type& __key) const +@@ -519,15 +526,13 @@ + void resize(size_type __num_elements_hint); + void clear(); + ++public: ++ // this is for hash_map::operator[] ++ reference _M_insert(const value_type& __obj); ++ + private: + +- size_type _M_next_size(size_type __n) const +- { +- const size_type* __first = (const size_type*)__stl_prime_list; +- const size_type* __last = (const size_type*)__stl_prime_list + (int)__stl_num_primes; +- const size_type* pos = lower_bound(__first, __last, __n); +- return (pos == __last ? *(__last - 1) : *pos); +- } ++ size_type _M_next_size(size_type __n) const; + + void _M_initialize_buckets(size_type __n) + { +@@ -561,11 +566,11 @@ + { + _Node* __n = _M_num_elements.allocate(1); + __n->_M_next = 0; +- __STL_TRY { ++ _STLP_TRY { + _Construct(&__n->_M_val, __obj); + // return __n; + } +- __STL_UNWIND(_M_num_elements.deallocate(__n, 1)); ++ _STLP_UNWIND(_M_num_elements.deallocate(__n, 1)); + return __n; + } + +@@ -582,43 +587,42 @@ + }; + + template +-inline bool __STL_CALL operator==(const hashtable<_Val,_Key,_HF,_ExK,_EqK,_All>& __ht1, ++inline bool _STLP_CALL operator==(const hashtable<_Val,_Key,_HF,_ExK,_EqK,_All>& __ht1, + const hashtable<_Val,_Key,_HF,_ExK,_EqK,_All>& __ht2) + { + return hashtable<_Val,_Key,_HF,_ExK,_EqK,_All>::_M_equal( __ht1, __ht2 ); + } + +-#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE ++#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE + + template +-inline bool __STL_CALL operator!=(const hashtable<_Val,_Key,_HF,_Ex,_Eq,_All>& __ht1, ++inline bool _STLP_CALL operator!=(const hashtable<_Val,_Key,_HF,_Ex,_Eq,_All>& __ht1, + const hashtable<_Val,_Key,_HF,_Ex,_Eq,_All>& __ht2) { + return !(__ht1 == __ht2); + } + + template +-inline void __STL_CALL swap(hashtable<_Val, _Key, _HF, _ExK, _EqK, _All>& __ht1, ++inline void _STLP_CALL swap(hashtable<_Val, _Key, _HF, _ExK, _EqK, _All>& __ht1, + hashtable<_Val, _Key, _HF, _ExK, _EqK, _All>& __ht2) { + __ht1.swap(__ht2); + } + +-#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ ++#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-# undef __stl_prime_list + # undef hashtable + +-# if !defined (__STL_LINK_TIME_INSTANTIATION) ++# if !defined (_STLP_LINK_TIME_INSTANTIATION) + # include + # endif + +-# if defined (__STL_DEBUG) ++# if defined (_STLP_DEBUG) + # include + # endif + +-#endif /* __SGI_STL_INTERNAL_HASHTABLE_H */ ++#endif /* _STLP_INTERNAL_HASHTABLE_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_heap.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_heap.c +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_heap.c Sat Feb 24 10:44:52 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_heap.c Sun Aug 11 18:59:24 2002 +@@ -23,28 +23,32 @@ + * modified is included with the above copyright notice. + * + */ +-#ifndef __STL_HEAP_C +-#define __STL_HEAP_C ++#ifndef _STLP_HEAP_C ++#define _STLP_HEAP_C + +-#ifndef __SGI_STL_INTERNAL_ITERATOR_BASE_H ++#ifndef _STLP_INTERNAL_HEAP_H ++# include ++#endif ++ ++#ifndef _STLP_INTERNAL_ITERATOR_BASE_H + # include + #endif + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + template +-__STL_INLINE_LOOP ++_STLP_INLINE_LOOP + void + __push_heap(_RandomAccessIterator __first, +- _Distance __holeIndex, _Distance __topIndex, _Tp __value) ++ _Distance __holeIndex, _Distance __topIndex, _Tp __val) + { + _Distance __parent = (__holeIndex - 1) / 2; +- while (__holeIndex > __topIndex && *(__first + __parent) < __value) { ++ while (__holeIndex > __topIndex && *(__first + __parent) < __val) { + *(__first + __holeIndex) = *(__first + __parent); + __holeIndex = __parent; + __parent = (__holeIndex - 1) / 2; + } +- *(__first + __holeIndex) = __value; ++ *(__first + __holeIndex) = __val; + } + + template +@@ -61,24 +65,24 @@ + push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) + { + __push_heap_aux(__first, __last, +- __DISTANCE_TYPE(__first), __VALUE_TYPE(__first)); ++ _STLP_DISTANCE_TYPE(__first, _RandomAccessIterator), _STLP_VALUE_TYPE(__first, _RandomAccessIterator)); + } + + + template +-__STL_INLINE_LOOP ++_STLP_INLINE_LOOP + void + __push_heap(_RandomAccessIterator __first, _Distance __holeIndex, +- _Distance __topIndex, _Tp __value, _Compare __comp) ++ _Distance __topIndex, _Tp __val, _Compare __comp) + { + _Distance __parent = (__holeIndex - 1) / 2; +- while (__holeIndex > __topIndex && __comp(*(__first + __parent), __value)) { ++ while (__holeIndex > __topIndex && __comp(*(__first + __parent), __val)) { + *(__first + __holeIndex) = *(__first + __parent); + __holeIndex = __parent; + __parent = (__holeIndex - 1) / 2; + } +- *(__first + __holeIndex) = __value; ++ *(__first + __holeIndex) = __val; + } + + template + void + push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, +- _Compare __comp) ++ _Compare __comp) + { + __push_heap_aux(__first, __last, __comp, +- __DISTANCE_TYPE(__first), __VALUE_TYPE(__first)); ++ _STLP_DISTANCE_TYPE(__first, _RandomAccessIterator), _STLP_VALUE_TYPE(__first, _RandomAccessIterator)); + } + + template + void + __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex, +- _Distance __len, _Tp __value) +-{ ++ _Distance __len, _Tp __val) { + _Distance __topIndex = __holeIndex; + _Distance __secondChild = 2 * __holeIndex + 2; + while (__secondChild < __len) { +@@ -119,31 +122,28 @@ + *(__first + __holeIndex) = *(__first + (__secondChild - 1)); + __holeIndex = __secondChild - 1; + } +- __push_heap(__first, __holeIndex, __topIndex, __value); ++ __push_heap(__first, __holeIndex, __topIndex, __val); + } + + + template + inline void +-__pop_heap_aux(_RandomAccessIterator __first, _RandomAccessIterator __last, +- _Tp*) +-{ ++__pop_heap_aux(_RandomAccessIterator __first, _RandomAccessIterator __last, _Tp*) { + __pop_heap(__first, __last - 1, __last - 1, +- _Tp(*(__last - 1)), __DISTANCE_TYPE(__first)); ++ _Tp(*(__last - 1)), _STLP_DISTANCE_TYPE(__first, _RandomAccessIterator)); + } + + template + void pop_heap(_RandomAccessIterator __first, +- _RandomAccessIterator __last) +-{ +- __pop_heap_aux(__first, __last, __VALUE_TYPE(__first)); ++ _RandomAccessIterator __last) { ++ __pop_heap_aux(__first, __last, _STLP_VALUE_TYPE(__first, _RandomAccessIterator)); + } + + template + void + __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex, +- _Distance __len, _Tp __value, _Compare __comp) ++ _Distance __len, _Tp __val, _Compare __comp) + { + _Distance __topIndex = __holeIndex; + _Distance __secondChild = 2 * __holeIndex + 2; +@@ -158,7 +158,7 @@ + *(__first + __holeIndex) = *(__first + (__secondChild - 1)); + __holeIndex = __secondChild - 1; + } +- __push_heap(__first, __holeIndex, __topIndex, __value, __comp); ++ __push_heap(__first, __holeIndex, __topIndex, __val, __comp); + } + + +@@ -168,7 +168,7 @@ + _RandomAccessIterator __last, _Tp*, _Compare __comp) + { + __pop_heap(__first, __last - 1, __last - 1, _Tp(*(__last - 1)), __comp, +- __DISTANCE_TYPE(__first)); ++ _STLP_DISTANCE_TYPE(__first, _RandomAccessIterator)); + } + + +@@ -177,11 +177,11 @@ + pop_heap(_RandomAccessIterator __first, + _RandomAccessIterator __last, _Compare __comp) + { +- __pop_heap_aux(__first, __last, __VALUE_TYPE(__first), __comp); ++ __pop_heap_aux(__first, __last, _STLP_VALUE_TYPE(__first, _RandomAccessIterator), __comp); + } + + template +-__STL_INLINE_LOOP ++_STLP_INLINE_LOOP + void + __make_heap(_RandomAccessIterator __first, + _RandomAccessIterator __last, _Tp*, _Distance*) +@@ -202,12 +202,12 @@ + make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) + { + __make_heap(__first, __last, +- __VALUE_TYPE(__first), __DISTANCE_TYPE(__first)); ++ _STLP_VALUE_TYPE(__first, _RandomAccessIterator), _STLP_DISTANCE_TYPE(__first, _RandomAccessIterator)); + } + + template +-__STL_INLINE_LOOP ++_STLP_INLINE_LOOP + void + __make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, + _Compare __comp, _Tp*, _Distance*) +@@ -230,12 +230,12 @@ + _RandomAccessIterator __last, _Compare __comp) + { + __make_heap(__first, __last, __comp, +- __VALUE_TYPE(__first), __DISTANCE_TYPE(__first)); ++ _STLP_VALUE_TYPE(__first, _RandomAccessIterator), _STLP_DISTANCE_TYPE(__first, _RandomAccessIterator)); + } + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-#endif /* __STL_HEAP_C */ ++#endif /* _STLP_HEAP_C */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_heap.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_heap.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_heap.h Sat Feb 24 10:44:52 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_heap.h Sun Aug 11 18:59:24 2002 +@@ -27,14 +27,14 @@ + * You should not attempt to use it directly. + */ + +-#ifndef __SGI_STL_INTERNAL_HEAP_H +-#define __SGI_STL_INTERNAL_HEAP_H ++#ifndef _STLP_INTERNAL_HEAP_H ++#define _STLP_INTERNAL_HEAP_H + +-#ifndef __STL_CONFIG_H ++#ifndef _STLP_CONFIG_H + #include + #endif + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + // Heap-manipulation functions: push_heap, pop_heap, make_heap, sort_heap. + +@@ -51,15 +51,15 @@ + template + void + __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex, +- _Distance __len, _Tp __value); ++ _Distance __len, _Tp __val); + + template + inline void + __pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, +- _RandomAccessIterator __result, _Tp __value, _Distance*) ++ _RandomAccessIterator __result, _Tp __val, _Distance*) + { + *__result = *__first; +- __adjust_heap(__first, _Distance(0), _Distance(__last - __first), __value); ++ __adjust_heap(__first, _Distance(0), _Distance(__last - __first), __val); + } + + template +@@ -70,18 +70,18 @@ + class _Tp, class _Compare> + void + __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex, +- _Distance __len, _Tp __value, _Compare __comp); ++ _Distance __len, _Tp __val, _Compare __comp); + + template + inline void + __pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, +- _RandomAccessIterator __result, _Tp __value, _Compare __comp, ++ _RandomAccessIterator __result, _Tp __val, _Compare __comp, + _Distance*) + { + *__result = *__first; + __adjust_heap(__first, _Distance(0), _Distance(__last - __first), +- __value, __comp); ++ __val, __comp); + } + + template +@@ -99,7 +99,7 @@ + _RandomAccessIterator __last, _Compare __comp); + + template +-__STL_INLINE_LOOP ++_STLP_INLINE_LOOP + void sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) + { + while (__last - __first > 1) +@@ -107,7 +107,7 @@ + } + + template +-__STL_INLINE_LOOP ++_STLP_INLINE_LOOP + void + sort_heap(_RandomAccessIterator __first, + _RandomAccessIterator __last, _Compare __comp) +@@ -116,13 +116,13 @@ + pop_heap(__first, __last--, __comp); + } + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-# if !defined (__STL_LINK_TIME_INSTANTIATION) ++# if !defined (_STLP_LINK_TIME_INSTANTIATION) + # include + # endif + +-#endif /* __SGI_STL_INTERNAL_HEAP_H */ ++#endif /* _STLP_INTERNAL_HEAP_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_ios.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_ios.c +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_ios.c Sat Feb 24 10:44:52 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_ios.c Sun Aug 11 18:59:24 2002 +@@ -15,12 +15,24 @@ + * modified is included with the above copyright notice. + * + */ +-#ifndef __STL_IOS_C +-#define __STL_IOS_C ++#ifndef _STLP_IOS_C ++#define _STLP_IOS_C + ++#ifndef _STLP_INTERNAL_IOS_H ++# include ++#endif ++ ++#if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) ++ ++#ifndef _STLP_INTERNAL_STREAMBUF + # include ++#endif ++ ++#ifndef _STLP_INTERNAL_NUMPUNCT_H ++# include ++#endif + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + // basic_ios<>'s non-inline member functions + +@@ -29,7 +41,7 @@ + basic_ios<_CharT, _Traits> + ::basic_ios(basic_streambuf<_CharT, _Traits>* __streambuf) + : ios_base(), +- _M_fill(__STL_NULL_CHAR_INIT(_CharT)), _M_streambuf(0), _M_tied_ostream(0), _M_cached_ctype(0) ++ _M_fill(_STLP_NULL_CHAR_INIT(_CharT)), _M_streambuf(0), _M_tied_ostream(0) + { + init(__streambuf); + } +@@ -62,11 +74,13 @@ + { + locale __tmp = ios_base::imbue(__loc); + +- _M_cached_ctype = & use_facet >(getloc()) ; +- + if (_M_streambuf) + _M_streambuf->pubimbue(__loc); + ++ // no throwing here ++ this->_M_cached_ctype = __loc._M_get_facet(ctype::id) ; ++ this->_M_cached_numpunct = __loc._M_get_facet(numpunct::id) ; ++ this->_M_cached_grouping = ((numpunct*)_M_cached_numpunct)->grouping() ; + return __tmp; + } + +@@ -77,7 +91,7 @@ + template + basic_ios<_CharT, _Traits>::basic_ios() + : ios_base(), +- _M_fill(__STL_NULL_CHAR_INIT(_CharT)), _M_streambuf(0), _M_tied_ostream(0), _M_cached_ctype(0) ++ _M_fill(_STLP_NULL_CHAR_INIT(_CharT)), _M_streambuf(0), _M_tied_ostream(0) + {} + + template +@@ -103,9 +117,11 @@ + { + this->_M_setstate_nothrow(__flag); + if (this->_M_get_exception_mask() & __flag) +- __STL_RETHROW; ++ _STLP_RETHROW; + } + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE ++ ++#endif /* defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) */ + +-#endif /* __STL_IOS_C */ ++#endif /* _STLP_IOS_C */ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_ios.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_ios.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_ios.h Sat Feb 24 10:44:52 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_ios.h Sun Aug 11 18:59:24 2002 +@@ -15,18 +15,22 @@ + * modified is included with the above copyright notice. + * + */ +-#ifndef __SGI_STL_IOS_H +-#define __SGI_STL_IOS_H ++#ifndef _STLP_INTERNAL_IOS_H ++#define _STLP_INTERNAL_IOS_H + +-#include +-#include +-#include +- +-#include +-#include +-#include + +-__STL_BEGIN_NAMESPACE ++#ifndef _STLP_IOS_BASE_H ++# include ++#endif ++ ++#ifndef _STLP_INTERNAL_CTYPE_H ++# include ++#endif ++#ifndef _STLP_INTERNAL_NUMPUNCT_H ++# include ++#endif ++ ++_STLP_BEGIN_NAMESPACE + + // ---------------------------------------------------------------------- + +@@ -51,7 +55,7 @@ + + public: // Constructor, destructor. + explicit basic_ios(basic_streambuf<_CharT, _Traits>* __streambuf); +- virtual ~basic_ios() { } ++ virtual ~basic_ios() {} + + public: // Members from clause 27.4.4.2 + basic_ostream<_CharT, _Traits>* tie() const { +@@ -98,21 +102,16 @@ + public: // Locale-related member functions. + locale imbue(const locale&); + +- // Equivalent to &use_facet >(getloc()), but faster. +- const ctype<_CharT>* _M_ctype_facet() const { return _M_cached_ctype; } +- + inline char narrow(_CharT, char) const ; + inline _CharT widen(char) const; + + // Helper function that makes testing for EOF more convenient. +- static bool __STL_CALL _S_eof(int_type __c) { ++ static bool _STLP_CALL _S_eof(int_type __c) { + const int_type __eof = _Traits::eof(); + return _Traits::eq_int_type(__c, __eof); + } + +-# if !(defined(__MRC__) || defined(__SC__)) + protected: +-# endif + basic_ios(); + + void init(basic_streambuf<_CharT, _Traits>* __streambuf); +@@ -129,56 +128,72 @@ + basic_streambuf<_CharT, _Traits>* _M_streambuf; + basic_ostream<_CharT, _Traits>* _M_tied_ostream; + +- // A cached copy of the curent locale's ctype facet. It is set by init() +- // and imbue(). +- const ctype<_CharT>* _M_cached_ctype; + }; + + + template + inline char + basic_ios<_CharT, _Traits>::narrow(_CharT __c, char __default) const +-{ return _M_ctype_facet()->narrow(__c, __default); } ++{ return ((const ctype<_CharT>*)this->_M_ctype_facet())->narrow(__c, __default); } + + template + inline _CharT + basic_ios<_CharT, _Traits>::widen(char __c) const + { +- return _M_ctype_facet()->widen(__c); } ++ return ((const ctype<_CharT>*)this->_M_ctype_facet())->widen(__c); } + +-# if defined (__STL_USE_TEMPLATE_EXPORT) +-__STL_EXPORT_TEMPLATE_CLASS basic_ios >; +-# if ! defined (__STL_NO_WCHAR_T) +-__STL_EXPORT_TEMPLATE_CLASS basic_ios >; ++# if defined (_STLP_USE_TEMPLATE_EXPORT) ++_STLP_EXPORT_TEMPLATE_CLASS basic_ios >; ++# if ! defined (_STLP_NO_WCHAR_T) ++_STLP_EXPORT_TEMPLATE_CLASS basic_ios >; + # endif +-# endif /* __STL_USE_TEMPLATE_EXPORT */ ++# endif /* _STLP_USE_TEMPLATE_EXPORT */ + +-# if !defined (__STL_NO_METHOD_SPECIALIZATION) +-__STL_TEMPLATE_NULL ++# if !defined (_STLP_NO_METHOD_SPECIALIZATION) ++_STLP_TEMPLATE_NULL + inline char + basic_ios >::narrow(char __c, char) const + { + return __c; + } + +-__STL_TEMPLATE_NULL ++_STLP_TEMPLATE_NULL + inline char + basic_ios >::widen(char __c) const + { + return __c; + } +-# endif /* __STL_NO_METHOD_SPECIALIZATION */ ++# endif /* _STLP_NO_METHOD_SPECIALIZATION */ + + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-# if !defined (__STL_LINK_TIME_INSTANTIATION) ++#if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) && !defined (_STLP_LINK_TIME_INSTANTIATION) + # include + # endif + ++// The following is needed to ensure that the inlined _Stl_loc_init functions ++// that ios_base::_Loc_init::_Loc_init() calls are found eventually. ++// Otherwise, undefined externs may be caused. ++ ++#if defined(__BORLANDC__) && defined(_RTLDLL) ++# ifndef _STLP_INTERNAL_NUM_PUT_H ++# include ++# endif ++# ifndef _STLP_INTERNAL_NUM_GET_H ++# include ++# endif ++# ifndef _STLP_INTERNAL_MONETARY_H ++# include ++# endif ++# ifndef _STLP_INTERNAL_TIME_FACETS_H ++# include ++# endif ++#endif + +-#endif /* __SGI_STL_IOS */ ++#endif /* _STLP_IOS */ + + // Local Variables: + // mode:C++ + // End: ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_ios_base.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_ios_base.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_ios_base.h Sat Feb 24 10:44:53 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_ios_base.h Sun Aug 11 18:59:24 2002 +@@ -15,16 +15,23 @@ + * modified is included with the above copyright notice. + * + */ +-#ifndef __SGI_STL_IOS_BASE_H +-#define __SGI_STL_IOS_BASE_H ++#ifndef _STLP_IOS_BASE_H ++#define _STLP_IOS_BASE_H + +-#include ++#ifndef _STLP_STDEXCEPT + #include ++#endif ++#ifndef _STLP_UTILITY + #include +-#include ++#endif ++#ifndef _STLP_INTERNAL_LOCALE_H + #include ++#endif ++#ifndef _STLP_STRING_H ++# include ++#endif + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + // ---------------------------------------------------------------------- + +@@ -35,93 +42,71 @@ + // manipulation to the streambuf classes, and they delegate most + // formatting tasks to a locale. + +-class __STL_CLASS_DECLSPEC ios_base { ++class _STLP_CLASS_DECLSPEC ios_base { + public: + +- class __STL_CLASS_DECLSPEC failure : public __Named_exception { ++ class _STLP_CLASS_DECLSPEC failure : public __Named_exception { + public: + explicit failure(const string&); +- virtual ~failure() __STL_NOTHROW_INHERENTLY; ++ virtual ~failure() _STLP_NOTHROW_INHERENTLY; + }; + +- typedef unsigned int fmtflags; +- // Formatting flags. +-# if defined ( __STL_STATIC_CONST_INIT_BUG) || defined (__STL_USE_DECLSPEC) || defined(__MRC__) || defined(__SC__) +- enum fmt_flags { +-# else +- // somebody relies on that +- typedef unsigned int fmt_flags; +- static const fmtflags +-# endif +- left = 0x0001, +- right = 0x0002, +- internal = 0x0004, +- dec = 0x0008, +- hex = 0x0010, +- oct = 0x0020, +- fixed = 0x0040, +- scientific = 0x0080, +- boolalpha = 0x0100, +- showbase = 0x0200, +- showpoint = 0x0400, +- showpos = 0x0800, +- skipws = 0x1000, +- unitbuf = 0x2000, +- uppercase = 0x4000, +- adjustfield = left | right | internal, +- basefield = dec | hex | oct, +- floatfield = scientific | fixed +-# if defined ( __STL_STATIC_CONST_INIT_BUG) || defined (__STL_USE_DECLSPEC) || defined(__MRC__) || defined(__SC__) +- } +-# endif +- ; +- +- typedef unsigned char iostate; +- // State flags. +-# if defined ( __STL_STATIC_CONST_INIT_BUG) || defined (__STL_USE_DECLSPEC) || defined(__MRC__) || defined(__SC__) +- enum io_state_ { +-# else +- static const iostate +-# endif +- goodbit = 0x00, +- badbit = 0x01, +- eofbit = 0x02, +- failbit = 0x04 +-# if defined ( __STL_STATIC_CONST_INIT_BUG) || defined (__STL_USE_DECLSPEC) || defined(__MRC__) || defined(__SC__) +- } +-# endif +- ; ++ typedef int fmtflags; ++ typedef int iostate; ++ typedef int openmode; ++ typedef int seekdir; + +- // Openmode flags. +- typedef unsigned short openmode; +-# if defined ( __STL_STATIC_CONST_INIT_BUG) || defined (__STL_USE_DECLSPEC) || defined(__MRC__) || defined(__SC__) +- enum __open_mode { +-# else +- static const openmode ++# ifndef _STLP_NO_ANACHRONISMS ++ typedef fmtflags fmt_flags; + # endif +- __default_mode = 0x0, /* implementation detail */ +- app = 0x01, +- ate = 0x02, +- binary = 0x04, +- in = 0x08, +- out = 0x10, +- trunc = 0x20 +-# if defined ( __STL_STATIC_CONST_INIT_BUG) || defined (__STL_USE_DECLSPEC)|| defined(__MRC__) || defined(__SC__) +- } +-# endif +- ; + +- typedef unsigned char seekdir; +- // Seekdir flags +-# if defined ( __STL_STATIC_CONST_INIT_BUG) || defined (__STL_USE_DECLSPEC) || defined(__MRC__) || defined(__SC__) +- enum __seek_dir { ++ // Formatting flags. ++# ifdef _STLP_STATIC_CONST_INIT_BUG ++ enum { + # else +- static const seekdir ++ // boris : type for all those constants is int ++ static const int + # endif +- beg = 0x01, +- cur = 0x02, +- end = 0x04 +-# if defined ( __STL_STATIC_CONST_INIT_BUG) || defined (__STL_USE_DECLSPEC) || defined(__MRC__) || defined(__SC__) ++ left = 0x0001, ++ right = 0x0002, ++ internal = 0x0004, ++ dec = 0x0008, ++ hex = 0x0010, ++ oct = 0x0020, ++ fixed = 0x0040, ++ scientific = 0x0080, ++ boolalpha = 0x0100, ++ showbase = 0x0200, ++ showpoint = 0x0400, ++ showpos = 0x0800, ++ skipws = 0x1000, ++ unitbuf = 0x2000, ++ uppercase = 0x4000, ++ adjustfield = left | right | internal, ++ basefield = dec | hex | oct, ++ floatfield = scientific | fixed, ++ ++ // State flags. ++ goodbit = 0x00, ++ badbit = 0x01, ++ eofbit = 0x02, ++ failbit = 0x04, ++ ++ // Openmode flags. ++ __default_mode = 0x0, /* implementation detail */ ++ app = 0x01, ++ ate = 0x02, ++ binary = 0x04, ++ in = 0x08, ++ out = 0x10, ++ trunc = 0x20, ++ ++ // Seekdir flags ++ ++ beg = 0x01, ++ cur = 0x02, ++ end = 0x04 ++# ifdef _STLP_STATIC_CONST_INIT_BUG + } + # endif + ; +@@ -160,19 +145,13 @@ + _M_width = __newwidth; + return __tmp; + } +-#if defined(__MRC__) || defined(__SC__) +- //*TY 02/24/2000 - added workaround for MPW compilers; ref.[ file iomanip; line 139 ] +- streamsize _PRECISION(streamsize __newprecision) {return precision(__newprecision);} +- //*TY 03/05/2000 - mpw compilers have difficulty resolving overloaded function when assigning a pointer to function +- streamsize _WIDTH(streamsize __newwidth) {return width(__newwidth);} +-#endif + + public: // Locales + locale imbue(const locale&); + locale getloc() const { return _M_locale; } + + public: // Auxiliary storage. +- static int __STL_CALL xalloc(); ++ static int _STLP_CALL xalloc(); + long& iword(int __index); + void*& pword(int __index); + +@@ -187,7 +166,7 @@ + public: // This member function affects only + // the eight predefined ios objects: + // cin, cout, etc. +- static bool __STL_CALL sync_with_stdio(bool __sync = true); ++ static bool _STLP_CALL sync_with_stdio(bool __sync = true); + + public: // The C++ standard requires only that these + // member functions be defined in basic_ios. +@@ -215,18 +194,21 @@ + void _M_clear_nothrow(iostate __state) { _M_iostate = __state; } + iostate _M_get_exception_mask() const { return _M_exception_mask; } + void _M_set_exception_mask(iostate __mask) { _M_exception_mask = __mask; } +- void _M_check_exception_mask() +- { if (_M_iostate & _M_exception_mask) _M_throw_failure(); } ++ void _M_check_exception_mask() { ++ if (_M_iostate & _M_exception_mask) ++ _M_throw_failure(); ++ } + +- void _M_invoke_callbacks(event __event); ++ void _M_invoke_callbacks(event); + void _M_throw_failure(); + + ios_base(); // Default constructor. + + protected: // Initialization of the I/O system +- static void __STL_CALL _S_initialize(); +- static void __STL_CALL _S_uninitialize(); +- ++ static void _STLP_CALL _S_initialize(); ++ static void _STLP_CALL _S_uninitialize(); ++ static bool _S_was_synced; ++ + private: // Invalidate the copy constructor and + // assignment operator. + ios_base(const ios_base&); +@@ -258,6 +240,16 @@ + + static int _S_index; + ++protected: ++ // Cached copies of the curent locale's facets. Set by init() and imbue(). ++ locale::facet* _M_cached_ctype; ++ locale::facet* _M_cached_numpunct; ++ string _M_cached_grouping; ++public: ++ // Equivalent to &use_facet< Facet >(getloc()), but faster. ++ const locale::facet* _M_ctype_facet() const { return _M_cached_ctype; } ++ const locale::facet* _M_numpunct_facet() const { return _M_cached_numpunct; } ++ const string& _M_grouping() const { return _M_cached_grouping; } + public: + + // ---------------------------------------------------------------------- +@@ -266,108 +258,151 @@ + // implementations where such a thing is required) is declared in + // + +- class __STL_CLASS_DECLSPEC Init { ++ class _STLP_CLASS_DECLSPEC Init { + public: + Init(); + ~Init(); + private: + static long _S_count; ++ friend class ios_base; ++ }; ++ ++ // this class is needed to ensure locale initialization w/o inclusion ++ class _STLP_CLASS_DECLSPEC _Loc_init { ++ public: ++ _Loc_init(); ++ ~_Loc_init(); ++ private: ++ static long _S_count; ++ friend class ios_base; + }; + + friend class Init; + + public: +-# ifndef __STL_NO_ANACHRONISMS ++# ifndef _STLP_NO_ANACHRONISMS + // 31.6 Old iostreams members [depr.ios.members] + typedef iostate io_state; + typedef openmode open_mode; + typedef seekdir seek_dir; +- typedef __STLPORT_STD::streamoff streamoff; +- typedef __STLPORT_STD::streampos streampos; ++ typedef _STLP_STD::streamoff streamoff; ++ typedef _STLP_STD::streampos streampos; + # endif + }; + ++template ++locale::facet* _M_get_facet(ios_base& __i, Facet*) ++{ ++ ++} + + // ---------------------------------------------------------------------- + // ios_base manipulator functions, from section 27.4.5 of the C++ standard. + // All of them are trivial one-line wrapper functions. + + // fmtflag manipulators, section 27.4.5.1 +-inline ios_base& __STL_CALL boolalpha(ios_base& __s) ++inline ios_base& _STLP_CALL boolalpha(ios_base& __s) + { __s.setf(ios_base::boolalpha); return __s;} + +-inline ios_base& __STL_CALL noboolalpha(ios_base& __s) ++inline ios_base& _STLP_CALL noboolalpha(ios_base& __s) + { __s.unsetf(ios_base::boolalpha); return __s;} + +-inline ios_base& __STL_CALL showbase(ios_base& __s) ++inline ios_base& _STLP_CALL showbase(ios_base& __s) + { __s.setf(ios_base::showbase); return __s;} + +-inline ios_base& __STL_CALL noshowbase(ios_base& __s) ++inline ios_base& _STLP_CALL noshowbase(ios_base& __s) + { __s.unsetf(ios_base::showbase); return __s;} + +-inline ios_base& __STL_CALL showpoint(ios_base& __s) ++inline ios_base& _STLP_CALL showpoint(ios_base& __s) + { __s.setf(ios_base::showpoint); return __s;} + +-inline ios_base& __STL_CALL noshowpoint(ios_base& __s) ++inline ios_base& _STLP_CALL noshowpoint(ios_base& __s) + { __s.unsetf(ios_base::showpoint); return __s;} + +-inline ios_base& __STL_CALL showpos(ios_base& __s) ++inline ios_base& _STLP_CALL showpos(ios_base& __s) + { __s.setf(ios_base::showpos); return __s;} + +-inline ios_base& __STL_CALL noshowpos(ios_base& __s) ++inline ios_base& _STLP_CALL noshowpos(ios_base& __s) + { __s.unsetf(ios_base::showpos); return __s;} + +-inline ios_base& __STL_CALL skipws(ios_base& __s) ++inline ios_base& _STLP_CALL skipws(ios_base& __s) + { __s.setf(ios_base::skipws); return __s;} + +-inline ios_base& __STL_CALL noskipws(ios_base& __s) ++inline ios_base& _STLP_CALL noskipws(ios_base& __s) + { __s.unsetf(ios_base::skipws); return __s;} + +-inline ios_base& __STL_CALL uppercase(ios_base& __s) ++inline ios_base& _STLP_CALL uppercase(ios_base& __s) + { __s.setf(ios_base::uppercase); return __s;} + +-inline ios_base& __STL_CALL nouppercase(ios_base& __s) ++inline ios_base& _STLP_CALL nouppercase(ios_base& __s) + { __s.unsetf(ios_base::uppercase); return __s;} + +-inline ios_base& __STL_CALL unitbuf(ios_base& __s) ++inline ios_base& _STLP_CALL unitbuf(ios_base& __s) + { __s.setf(ios_base::unitbuf); return __s;} + +-inline ios_base& __STL_CALL nounitbuf(ios_base& __s) ++inline ios_base& _STLP_CALL nounitbuf(ios_base& __s) + { __s.unsetf(ios_base::unitbuf); return __s;} + + + // adjustfield manipulators, section 27.4.5.2 +-inline ios_base& __STL_CALL internal(ios_base& __s) ++inline ios_base& _STLP_CALL internal(ios_base& __s) + { __s.setf(ios_base::internal, ios_base::adjustfield); return __s; } + +-inline ios_base& __STL_CALL left(ios_base& __s) ++inline ios_base& _STLP_CALL left(ios_base& __s) + { __s.setf(ios_base::left, ios_base::adjustfield); return __s; } + +-inline ios_base& __STL_CALL right(ios_base& __s) ++inline ios_base& _STLP_CALL right(ios_base& __s) + { __s.setf(ios_base::right, ios_base::adjustfield); return __s; } + + // basefield manipulators, section 27.4.5.3 +-inline ios_base& __STL_CALL dec(ios_base& __s) ++inline ios_base& _STLP_CALL dec(ios_base& __s) + { __s.setf(ios_base::dec, ios_base::basefield); return __s; } + +-inline ios_base& __STL_CALL hex(ios_base& __s) ++inline ios_base& _STLP_CALL hex(ios_base& __s) + { __s.setf(ios_base::hex, ios_base::basefield); return __s; } + +-inline ios_base& __STL_CALL oct(ios_base& __s) ++inline ios_base& _STLP_CALL oct(ios_base& __s) + { __s.setf(ios_base::oct, ios_base::basefield); return __s; } + + + // floatfield manipulators, section 27.4.5.3 +-inline ios_base& __STL_CALL fixed(ios_base& __s) ++inline ios_base& _STLP_CALL fixed(ios_base& __s) + { __s.setf(ios_base::fixed, ios_base::floatfield); return __s; } + +-inline ios_base& __STL_CALL scientific(ios_base& __s) ++inline ios_base& _STLP_CALL scientific(ios_base& __s) + { __s.setf(ios_base::scientific, ios_base::floatfield); return __s; } + +-__STL_END_NAMESPACE ++#if defined(__BORLANDC__) && defined(_RTLDLL) ++ ++long ios_base::_Loc_init::_S_count = 0; ++ ++void _STLP_CALL _Stl_loc_init_num_put(); ++void _STLP_CALL _Stl_loc_init_num_get(); ++void _STLP_CALL _Stl_loc_init_monetary(); ++void _STLP_CALL _Stl_loc_init_time_facets(); ++ ++inline ios_base::_Loc_init::_Loc_init() { ++ if (_S_count++ == 0) { ++ _Stl_loc_init_num_put(); ++ _Stl_loc_init_num_get(); ++ _Stl_loc_init_monetary(); ++ _Stl_loc_init_time_facets(); ++ locale::_S_initialize(); ++ } ++} + +-#endif /* __SGI_STL_IOS_BASE */ ++inline ios_base::_Loc_init::~_Loc_init() { ++ if (--_S_count == 0) ++ locale::_S_uninitialize(); ++} ++ ++#endif /* __BORLANDC__ */ ++ ++_STLP_END_NAMESPACE ++ ++#endif /* _STLP_IOS_BASE */ + + // Local Variables: + // mode:C++ + // End: ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_iosfwd.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_iosfwd.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_iosfwd.h Sat Feb 24 10:44:53 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_iosfwd.h Sun Aug 11 18:59:24 2002 +@@ -1,5 +1,5 @@ +-# ifndef __STL_INTERNAL_IOSFWD +-# define __STL_INTERNAL_IOSFWD ++# ifndef _STLP_INTERNAL_IOSFWD ++# define _STLP_INTERNAL_IOSFWD + + #if defined(__sgi) && !defined(__GNUC__) && !defined(_STANDARD_C_PLUS_PLUS) + #error This header file requires the -LANG:std option +@@ -18,147 +18,56 @@ + // In this implementation, the declarations in contain default + // template arguments. All of the other I/O headers include . + +-#include // For mbstate_t +-#include // For ptrdiff_t +- +-#include +- +-#if defined (__STL_UNIX) && defined (__STL_HAS_NO_NEW_C_HEADERS) +-#include // For off_t +-#endif /* __unix */ +- +- +-__STL_BEGIN_NAMESPACE +- +-template class allocator; +- +-#define __STL_NULL_CHAR_INIT(_ChT) __STL_DEFAULT_CONSTRUCTED(_ChT) +- +-// template class char_traits; +- +-#if defined (__sgi) && defined (__STL_HAS_NO_NEW_C_HEADERS) /* IRIX */ +-typedef off64_t streamoff; +-#elif defined (__unix) && defined (__STL_HAS_NO_NEW_C_HEADERS) /* Other version of UNIX */ +-typedef off_t streamoff; +-#else /* __unix */ +-typedef ptrdiff_t streamoff; +-#endif /* __STL_HAS_NO_NEW_C_HEADERS */ +- +-typedef ptrdiff_t streamsize; +- +-// dwa 12/22/99 - gcc 2.95.2 bug workaround +-#ifdef __GNUC__ +-template class fpos; +-template +-inline bool __STL_CALL operator==(const fpos<_StateT>& __x, const fpos<_StateT>& __y) +- { return __x._M_pos == __y._M_pos; } +-template +-inline bool __STL_CALL operator!=(const fpos<_StateT>& __x, const fpos<_StateT>& __y) +- { return __x._M_pos != __y._M_pos; } +-#endif +- +-// Class fpos, which represents a position within a file. (The C++ +-// standard calls for it to be defined in . This implementation +-// moves it to , which is included by .) +-template class fpos +-{ +-public: // From table 88 of the C++ standard. +- fpos(streamoff __pos) : _M_pos(__pos), _M_st(__STL_NULL_CHAR_INIT(_StateT)) {} +- fpos() : _M_pos(0), _M_st(__STL_NULL_CHAR_INIT(_StateT)) {} +- +- operator streamoff() const { return _M_pos; } +- +-// dwa 12/22/99 - gcc 2.95.2 bug workaround +-#ifdef __GNUC__ +- friend bool operator==<>(const fpos<_StateT>& __x, const fpos<_StateT>& __y); +- friend bool operator!=<>(const fpos<_StateT>& __x, const fpos<_StateT>& __y); +-#else +- friend bool __STL_CALL operator==(const fpos<_StateT>& __x, const fpos<_StateT>& __y) +- { return __x._M_pos == __y._M_pos; } +- friend bool __STL_CALL operator!=(const fpos<_StateT>& __x, const fpos<_StateT>& __y) +- { return __x._M_pos != __y._M_pos; } ++#ifndef _STLP_CHAR_TRAITS_H ++# include + #endif +- fpos<_StateT>& operator+=(streamoff __off) { +- _M_pos += __off; +- return *this; +- } +- fpos<_StateT>& operator-=(streamoff __off) { +- _M_pos -= __off; +- return *this; +- } +- +- fpos<_StateT> operator+(streamoff __off) { +- fpos<_StateT> __tmp(*this); +- __tmp += __off; +- return __tmp; +- } +- fpos<_StateT> operator-(streamoff __off) { +- fpos<_StateT> __tmp(*this); +- __tmp -= __off; +- return __tmp; +- } +- +-public: // Manipulation of the state member. +- _StateT state() const { return _M_st; } +- void state(_StateT __st) { _M_st = __st; } +-private: +- streamoff _M_pos; +- _StateT _M_st; +-}; + +-typedef fpos streampos; +-typedef fpos wstreampos; ++_STLP_BEGIN_NAMESPACE + +-__STL_END_NAMESPACE +- +-#include +- +-__STL_BEGIN_NAMESPACE +- +-class __STL_CLASS_DECLSPEC ios_base; ++class _STLP_CLASS_DECLSPEC ios_base; + + template ) > +-class __STL_CLASS_DECLSPEC basic_ios; ++class basic_ios; + + template ) > +-class __STL_CLASS_DECLSPEC basic_streambuf; ++class basic_streambuf; + + template ) > +-class __STL_CLASS_DECLSPEC basic_istream; ++class basic_istream; + + template ) > +-class __STL_CLASS_DECLSPEC basic_ostream; ++class basic_ostream; + + template ) > +-class __STL_CLASS_DECLSPEC basic_iostream; ++class basic_iostream; + + template ), + __DFL_TMPL_PARAM(_Allocator , allocator<_CharT>) > +-class __STL_CLASS_DECLSPEC basic_stringbuf; ++class basic_stringbuf; + + template ), + __DFL_TMPL_PARAM(_Allocator , allocator<_CharT>) > +-class __STL_CLASS_DECLSPEC basic_istringstream; ++class basic_istringstream; + + template ), + __DFL_TMPL_PARAM(_Allocator , allocator<_CharT>) > +-class __STL_CLASS_DECLSPEC basic_ostringstream; ++class basic_ostringstream; + + template ), + __DFL_TMPL_PARAM(_Allocator , allocator<_CharT>) > +-class __STL_CLASS_DECLSPEC basic_stringstream; ++class basic_stringstream; + + template ) > +-class __STL_CLASS_DECLSPEC basic_filebuf; ++class basic_filebuf; + + template ) > +-class __STL_CLASS_DECLSPEC basic_ifstream; ++class basic_ifstream; + + template ) > +-class __STL_CLASS_DECLSPEC basic_ofstream; ++class basic_ofstream; + + template ) > +-class __STL_CLASS_DECLSPEC basic_fstream; ++class basic_fstream; + + template ) > + class istreambuf_iterator; +@@ -168,15 +77,15 @@ + + typedef basic_ios > ios; + +-# ifndef __STL_NO_WCHAR_T ++# ifndef _STLP_NO_WCHAR_T + typedef basic_ios > wios; + # endif + + // Forward declaration of class locale, and of the most important facets. + class locale; +-# ifdef __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS ++# ifdef _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS + template +-struct __STL_CLASS_DECLSPEC _Use_facet { ++struct _Use_facet { + const locale& __loc; + _Use_facet(const locale& __p_loc) : __loc(__p_loc) {} + inline const _Facet& operator *() const; +@@ -191,30 +100,27 @@ + template class collate; + template class collate_byname; + +-__STL_TEMPLATE_NULL class __STL_CLASS_DECLSPEC ctype; +-__STL_TEMPLATE_NULL class __STL_CLASS_DECLSPEC ctype_byname; +-__STL_TEMPLATE_NULL class __STL_CLASS_DECLSPEC collate; +-__STL_TEMPLATE_NULL class __STL_CLASS_DECLSPEC collate_byname; +- +-# ifndef __STL_NO_WCHAR_T +-__STL_TEMPLATE_NULL class __STL_CLASS_DECLSPEC ctype; +-__STL_TEMPLATE_NULL class __STL_CLASS_DECLSPEC ctype_byname; +-__STL_TEMPLATE_NULL class __STL_CLASS_DECLSPEC collate; +-__STL_TEMPLATE_NULL class __STL_CLASS_DECLSPEC collate_byname; ++_STLP_TEMPLATE_NULL class _STLP_CLASS_DECLSPEC ctype; ++_STLP_TEMPLATE_NULL class _STLP_CLASS_DECLSPEC ctype_byname; ++_STLP_TEMPLATE_NULL class _STLP_CLASS_DECLSPEC collate; ++_STLP_TEMPLATE_NULL class _STLP_CLASS_DECLSPEC collate_byname; ++ ++# ifndef _STLP_NO_WCHAR_T ++_STLP_TEMPLATE_NULL class _STLP_CLASS_DECLSPEC ctype; ++_STLP_TEMPLATE_NULL class _STLP_CLASS_DECLSPEC ctype_byname; ++_STLP_TEMPLATE_NULL class _STLP_CLASS_DECLSPEC collate; ++_STLP_TEMPLATE_NULL class _STLP_CLASS_DECLSPEC collate_byname; + # endif + +-# if !(defined (__SUNPRO_CC) && __SUNPRO_CC < 0x500 ) ++# if !(defined (__SUNPRO_CC) && __SUNPRO_CC < 0x500 ) && !defined(_STLP_WINCE) + // Typedefs for ordinary (narrow-character) streams. +-__STL_TEMPLATE_NULL class __STL_CLASS_DECLSPEC basic_streambuf >; ++_STLP_TEMPLATE_NULL class _STLP_CLASS_DECLSPEC basic_streambuf >; + # endif + + typedef basic_istream > istream; + typedef basic_ostream > ostream; + typedef basic_iostream > iostream; +- +-// # if !(defined (__SUNPRO_CC) && __SUNPRO_CC < 0x500 ) + typedef basic_streambuf > streambuf; +-// #endif + + typedef basic_stringbuf, allocator > stringbuf; + typedef basic_istringstream, allocator > istringstream; +@@ -226,7 +132,7 @@ + typedef basic_ofstream > ofstream; + typedef basic_fstream > fstream; + +-# ifndef __STL_NO_WCHAR_T ++# ifndef _STLP_NO_WCHAR_T + // Typedefs for wide-character streams. + typedef basic_streambuf > wstreambuf; + typedef basic_istream > wistream; +@@ -244,7 +150,7 @@ + typedef basic_fstream > wfstream; + # endif + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + + #endif + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_istream.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_istream.c +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_istream.c Sat Feb 24 10:44:54 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_istream.c Sun Aug 11 18:59:24 2002 +@@ -15,49 +15,238 @@ + * modified is included with the above copyright notice. + * + */ +-#ifndef __STL_ISTREAM_C +-#define __STL_ISTREAM_C ++#ifndef _STLP_ISTREAM_C ++#define _STLP_ISTREAM_C + +-#include // For num_put<> +-#include // for size_t ++#ifndef _STLP_INTERNAL_ISTREAM_H ++# include ++#endif + +-# if defined ( __STL_NESTED_TYPE_PARAM_BUG ) ++# if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) ++ ++#ifndef _STLP_LIMITS_H ++# include ++#endif ++ ++#ifndef _STLP_INTERNAL_NUM_GET_H ++# include ++#endif ++ ++# if defined ( _STLP_NESTED_TYPE_PARAM_BUG ) + // no wchar_t is supported for this mode + # define __BIS_int_type__ int + # define __BIS_pos_type__ streampos + # define __BIS_off_type__ streamoff + # else +-# define __BIS_int_type__ __STL_TYPENAME_ON_RETURN_TYPE basic_istream<_CharT, _Traits>::int_type +-# define __BIS_pos_type__ __STL_TYPENAME_ON_RETURN_TYPE basic_istream<_CharT, _Traits>::pos_type +-# define __BIS_off_type__ __STL_TYPENAME_ON_RETURN_TYPE basic_istream<_CharT, _Traits>::off_type ++# define __BIS_int_type__ _STLP_TYPENAME_ON_RETURN_TYPE basic_istream<_CharT, _Traits>::int_type ++# define __BIS_pos_type__ _STLP_TYPENAME_ON_RETURN_TYPE basic_istream<_CharT, _Traits>::pos_type ++# define __BIS_off_type__ _STLP_TYPENAME_ON_RETURN_TYPE basic_istream<_CharT, _Traits>::off_type + # endif + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE ++ ++//---------------------------------------------------------------------- ++// Function object structs used by some member functions. ++ ++template ++struct _Is_not_wspace { ++ typedef typename _Traits::char_type argument_type; ++ typedef bool result_type; ++ ++ const ctype* _M_ctype; ++ ++ _Is_not_wspace(const ctype* __c_type) : _M_ctype(__c_type) {} ++ bool operator()(argument_type __c) const ++ { return !_M_ctype->is(ctype_base::space, __c); } ++}; ++ ++template ++struct _Is_wspace_null { ++ typedef typename _Traits::char_type argument_type; ++ typedef bool result_type; ++ ++ const ctype* _M_ctype; ++ ++ _Is_wspace_null(const ctype* __c_type) : _M_ctype(__c_type) {} ++ bool operator()(argument_type __c) const { ++ return _Traits::eq(__c, argument_type()) || ++ _M_ctype->is(ctype_base::space, __c); ++ } ++}; ++ ++template ++struct _Scan_for_wspace { ++ typedef typename _Traits::char_type char_type; ++ typedef char_type* first_argument_type; ++ typedef char_type* second_argument_type; ++ typedef char_type* result_type; + ++ const ctype* _M_ctype; ++ ++ _Scan_for_wspace(const ctype* __ctype) : _M_ctype(__ctype) {} ++ const char_type* ++ operator()(const char_type* __first, const char_type* __last) const { ++ return _M_ctype->scan_is(ctype_base::space, __first, __last); ++ } ++}; ++ ++template ++struct _Scan_wspace_null { ++ typedef typename _Traits::char_type char_type; ++ typedef char_type* first_argument_type; ++ typedef char_type* second_argument_type; ++ typedef char_type* result_type; ++ ++ const ctype* _M_ctype; ++ ++ _Scan_wspace_null(const ctype* __c_type) : _M_ctype(__c_type) {} ++ const char_type* ++ operator()(const char_type* __first, const char_type* __last) const { ++ __last = find_if(__first, __last, ++ _Eq_char_bound<_Traits>(char_type())); ++ return _M_ctype->scan_is(ctype_base::space, __first, __last); ++ } ++}; ++ ++template ++struct _Scan_for_not_wspace { ++ typedef typename _Traits::char_type char_type; ++ typedef char_type* first_argument_type; ++ typedef char_type* second_argument_type; ++ typedef char_type* result_type; ++ ++ const ctype* _M_ctype; ++ ++ _Scan_for_not_wspace(const ctype* __c_type) : _M_ctype(__c_type) {} ++ const char_type* ++ operator()(const char_type* __first, const char_type* __last) const { ++ return _M_ctype->scan_not(ctype_base::space, __first, __last); ++ } ++}; ++ ++template ++struct _Scan_for_char_val ++{ ++ typedef typename _Traits::char_type char_type; ++ typedef char_type* first_argument_type; ++ typedef char_type* second_argument_type; ++ typedef char_type* result_type; ++ ++ char_type _M_val; ++ ++ _Scan_for_char_val(char_type __val) : _M_val(__val) {} ++ ++ const char_type* ++ operator()(const char_type* __first, const char_type* __last) const { ++ return find_if(__first, __last, _Eq_char_bound<_Traits>(_M_val)); ++ } ++}; ++ ++template ++struct _Scan_for_int_val ++{ ++ typedef typename _Traits::char_type char_type; ++ typedef typename _Traits::int_type int_type; ++ typedef char_type* first_argument_type; ++ typedef char_type* second_argument_type; ++ typedef char_type* result_type; ++ ++ int_type _M_val; ++ ++ _Scan_for_int_val(int_type __val) : _M_val(__val) {} ++ ++ const char_type* ++ operator()(const char_type* __first, const char_type* __last) const { ++ return find_if(__first, __last, ++ _Eq_int_bound<_Traits>(_M_val)); ++ } ++}; ++ ++// Helper function: try to push back a character to a streambuf, ++// return true if the pushback succeeded. Does not throw. ++ ++template ++bool _STLP_CALL ++__pushback(basic_streambuf<_CharT, _Traits>* __buf, _CharT __c) ++{ ++ bool ret; ++ _STLP_TRY { ++ const typename _Traits::int_type __eof = _Traits::eof(); ++ ret = !_Traits::eq_int_type(__buf->sputbackc(__c), __eof); ++ } ++ _STLP_CATCH_ALL { ++ ret = false; ++ } ++ return ret; ++} ++ ++template ++basic_istream<_CharT, _Traits>& _STLP_CALL ++ws(basic_istream<_CharT, _Traits>& __is) ++{ ++ typedef typename basic_istream<_CharT, _Traits>::sentry _Sentry; ++ _Sentry __sentry(__is, _No_Skip_WS()); // Don't skip whitespace. ++ if (__sentry) ++ __is._M_skip_whitespace(false); ++ return __is; ++} ++ ++// Helper functions for istream<>::sentry constructor. ++template ++bool ++_M_init_skip(basic_istream<_CharT, _Traits>& __is) { ++ if (__is.good()) { ++ if (__is.tie()) ++ __is.tie()->flush(); ++ ++ __is._M_skip_whitespace(true); ++ } ++ ++ if (!__is.good()) { ++ __is.setstate(ios_base::failbit); ++ return false; ++ } else ++ return true; ++} ++ ++template ++bool ++_M_init_noskip(basic_istream<_CharT, _Traits>& __is){ ++ if (__is.good()) { ++ if (__is.tie()) ++ __is.tie()->flush(); ++ ++ if (!__is.rdbuf()) ++ __is.setstate(ios_base::badbit); ++ } ++ else ++ __is.setstate(ios_base::failbit); ++ return __is.good(); ++} + + //---------------------------------------------------------------------- + // Definitions of basic_istream<>'s noninline member functions. + + // Helper function for formatted input of numbers. + template +-basic_istream<_CharT, _Traits>& __STL_CALL ++ios_base::iostate _STLP_CALL + _M_get_num(basic_istream<_CharT, _Traits>& __that, _Number& __val) + { + typedef typename basic_istream<_CharT, _Traits>::sentry _Sentry; ++ ios_base::iostate __err = 0; + _Sentry __sentry( __that ); // Skip whitespace. + if (__sentry) { + typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> > _Num_get; +- ios_base::iostate __err = 0; +- __STL_TRY { +- ((const _Num_get&)use_facet<_Num_get>(__that.getloc())).get(istreambuf_iterator<_CharT, _Traits>(__that), ++ _STLP_TRY { ++ ((const _Num_get&)use_facet<_Num_get>(__that.getloc())).get(istreambuf_iterator<_CharT, _Traits>(__that.rdbuf()), + 0, __that, __err, __val); + } +- __STL_CATCH_ALL { ++ _STLP_CATCH_ALL { + __that._M_handle_exception(ios_base::badbit); + } +- __that.setstate(__err); ++ if (__err) __that.setstate(__err); + } +- return __that; ++ return __err; + } + + +@@ -73,10 +262,10 @@ + sentry __sentry(*this, _No_Skip_WS()); + + if (__sentry) { +- __STL_TRY { ++ _STLP_TRY { + __tmp = this->rdbuf()->sgetc(); + } +- __STL_CATCH_ALL { ++ _STLP_CATCH_ALL { + this->_M_handle_exception(ios_base::badbit); + } + if (this->_S_eof(__tmp)) +@@ -96,10 +285,10 @@ + this->_M_gcount = 0; + + if (__sentry) { +- __STL_TRY { ++ _STLP_TRY { + __tmp = this->rdbuf()->sbumpc(); + } +- __STL_CATCH_ALL { ++ _STLP_CATCH_ALL { + this->_M_handle_exception(ios_base::badbit); + } + +@@ -122,10 +311,10 @@ + + if (__sentry) { + typename _Traits::int_type __tmp = _Traits::eof(); +- __STL_TRY { ++ _STLP_TRY { + __tmp = this->rdbuf()->sbumpc(); + } +- __STL_CATCH_ALL { ++ _STLP_CATCH_ALL { + this->_M_handle_exception(ios_base::badbit); + } + +@@ -155,10 +344,10 @@ + + if (__sentry) { + int_type __c; +- __STL_TRY { ++ _STLP_TRY { + __c = this->rdbuf()->sbumpc(); + } +- __STL_CATCH_ALL { ++ _STLP_CATCH_ALL { + this->_M_handle_exception(ios_base::badbit); + return *this; + } +@@ -185,10 +374,10 @@ + basic_streambuf<_CharT, _Traits>* __buf = this->rdbuf(); + // if (!__buf || this->_S_eof(__buf->sputbackc(__c))) + if (__buf) { +- __STL_TRY { ++ _STLP_TRY { + __tmp = __buf->sputbackc(__c); + } +- __STL_CATCH_ALL { ++ _STLP_CATCH_ALL { + this->_M_handle_exception(ios_base::badbit); + } + } +@@ -211,13 +400,13 @@ + basic_streambuf<_CharT, _Traits>* __buf = this->rdbuf(); + // if (!__buf || _Traits::eq_int_type(__buf->sungetc(), _Traits::eof())) + if (__buf) { +- __STL_TRY { ++ _STLP_TRY { + _CharT __tmp; + __tmp = __buf->sungetc(); + if (this->_S_eof(__tmp)) + this->setstate(ios_base::badbit); + } +- __STL_CATCH_ALL { ++ _STLP_CATCH_ALL { + this->_M_handle_exception(ios_base::badbit); + } + } else +@@ -251,11 +440,10 @@ + template + __BIS_pos_type__ + basic_istream<_CharT, _Traits>::tellg() { +- sentry __sentry(*this, _No_Skip_WS()); +- ++ // sentry __sentry(*this, _No_Skip_WS()); + basic_streambuf<_CharT, _Traits>* __buf = this->rdbuf(); + return (__buf && !this->fail()) ? __buf->pubseekoff(0, ios_base::cur, ios_base::in) +- : pos_type(-1); ++ : pos_type(-1); + } + + template +@@ -291,12 +479,12 @@ + sentry __sentry(*this); // Skip whitespace. + + if (__sentry) { +- typename _Traits::int_type __tmp; ++ typename _Traits::int_type __tmp = _Traits::eof(); + +- __STL_TRY { ++ _STLP_TRY { + __tmp = this->rdbuf()->sbumpc(); + } +- __STL_CATCH_ALL { ++ _STLP_CATCH_ALL { + this->_M_handle_exception(ios_base::badbit); + return; + } +@@ -330,31 +518,20 @@ + // delimiter if it is extracted. Note that the number of characaters + // extracted isn't necessarily the same as the number stored. + +-#if !(defined(__MRC__)||defined(__SC__)) //*TY 02/25/2000 - mpw compilers have difficulty matching complex template arguments + template < class _CharT, class _Traits, class _Is_Delim> +-streamsize __STL_CALL ++streamsize _STLP_CALL + _M_read_unbuffered(basic_istream<_CharT, _Traits>* __that, basic_streambuf<_CharT, _Traits>* __buf, + streamsize _Num, _CharT* __s, + _Is_Delim __is_delim, + bool __extract_delim, bool __append_null, + bool __is_getline) +-#else //*TY 02/25/2000 - added workaround for MPW compilers +-template < class _CharT, class _Traits, class _Is_Delim, class _Buf> //*TY 02/25/2000 - added _Buf +-streamsize __STL_CALL +-_M_read_unbuffered(basic_istream<_CharT, _Traits>* __that, +- _Buf* __buf, //*TY 02/25/2000 - simplified parameter type +- streamsize _Num, _CharT* __s, +- _Is_Delim __is_delim, +- bool __extract_delim, bool __append_null, +- bool __is_getline) +-#endif //*TY 02/25/2000 - + { + streamsize __n = 0; + ios_base::iostate __status = 0; + + typedef typename basic_istream<_CharT, _Traits>::int_type int_type; + // The operations that can potentially throw are sbumpc, snextc, and sgetc. +- __STL_TRY { ++ _STLP_TRY { + int_type __c = __buf->sgetc(); + while (true) { + if (__that->_S_eof(__c)) { +@@ -382,14 +559,14 @@ + __c = __buf->snextc(); + } + } +- __STL_CATCH_ALL { ++ _STLP_CATCH_ALL { + __that->_M_handle_exception(ios_base::badbit); +- *__s = __STL_DEFAULT_CONSTRUCTED(_CharT); ++ *__s = _STLP_DEFAULT_CONSTRUCTED(_CharT); + return __n; + } + + if (__append_null) +- *__s = __STL_DEFAULT_CONSTRUCTED(_CharT); ++ *__s = _STLP_DEFAULT_CONSTRUCTED(_CharT); + if (__status) + __that->setstate(__status); // This might throw. + return __n; +@@ -398,42 +575,31 @@ + // Much like _M_read_unbuffered, but with one additional function object: + // __scan_delim(first, last) returns the first pointer p in [first, last) + // such that __is_delim(p) is true. +-#if !(defined(__MRC__)||defined(__SC__)) //*TY 02/25/2000 - mpw compilers have difficulty matching complex template arguments ++ + template < class _CharT, class _Traits, class _Is_Delim, class _Scan_Delim> +-streamsize __STL_CALL ++streamsize _STLP_CALL + _M_read_buffered(basic_istream<_CharT, _Traits>* __that, basic_streambuf<_CharT, _Traits>* __buf, + streamsize _Num, _CharT* __s, + _Is_Delim __is_delim, _Scan_Delim __scan_delim, + bool __extract_delim, bool __append_null, + bool __is_getline) +-#else //*TY 02/25/2000 - added workaround for MPW compilers +-template < class _CharT, class _Traits, class _Is_Delim, class _Scan_Delim, class _Buf> //*TY 02/25/2000 - added _Buf +-streamsize __STL_CALL +-_M_read_buffered(basic_istream<_CharT, _Traits>* __that, +- _Buf* __buf, //*TY 02/25/2000 - simplified parameter type +- streamsize _Num, _CharT* __s, +- _Is_Delim __is_delim, _Scan_Delim __scan_delim, +- bool __extract_delim, bool __append_null, +- bool __is_getline) +-#endif //*TY 02/25/2000 - + { + streamsize __n = 0; + ios_base::iostate __status = 0; + bool __done = false; + +- +- __STL_TRY { ++ _STLP_TRY { + while (__buf->_M_egptr() != __buf->_M_gptr() && !__done) { + const _CharT* __first = __buf->_M_gptr(); + const _CharT* __last = __buf->_M_egptr(); + ptrdiff_t __request = _Num - __n; + + const _CharT* __p = __scan_delim(__first, __last); +- ptrdiff_t __chunk = min(ptrdiff_t(__p - __first), __request); ++ ptrdiff_t __chunk = (min) (ptrdiff_t(__p - __first), __request); + _Traits::copy(__s, __first, __chunk); + __s += __chunk; + __n += __chunk; +- __buf->_M_gbump(__chunk); ++ __buf->_M_gbump((int)__chunk); + + // We terminated by finding delim. + if (__p != __last && __p - __first <= __request) { +@@ -446,6 +612,7 @@ + + // We terminated by reading all the characters we were asked for. + else if(__n == _Num) { ++ + // Find out if we have reached eof. This matters for getline. + if (__is_getline) { + if (__chunk == __last - __first) { +@@ -461,21 +628,21 @@ + // The buffer contained fewer than _Num - __n characters. Either we're + // at eof, or we should refill the buffer and try again. + else { +- if (__that->_S_eof(__buf->sgetc())) { ++ if (__that->_S_eof(__buf->sgetc())) { + __status |= ios_base::eofbit; + __done = true; + } + } + } // Close the while loop. + } +- __STL_CATCH_ALL { ++ _STLP_CATCH_ALL { + __that->_M_handle_exception(ios_base::badbit); + __done = true; + } + + if (__done) { + if (__append_null) +- *__s = __STL_DEFAULT_CONSTRUCTED(_CharT); ++ *__s = _STLP_DEFAULT_CONSTRUCTED(_CharT); + if (__status != 0) + __that->setstate(__status); // This might throw. + return __n; +@@ -507,13 +674,13 @@ + if (__buf->egptr() != __buf->gptr()) + this->_M_gcount = + _M_read_buffered(this, __buf, __n - 1, __s, +- bind2nd(_Eq_traits<_Traits>(), __delim), ++ _Eq_char_bound<_Traits>(__delim), + _Scan_for_char_val<_Traits>(__delim), + false, true, false); + else + this->_M_gcount = + _M_read_unbuffered(this, __buf, __n - 1, __s, +- bind2nd(_Eq_traits<_Traits>(), __delim), ++ _Eq_char_bound<_Traits>(__delim), + false, true, false); + } + } +@@ -538,11 +705,11 @@ + basic_streambuf<_CharT, _Traits>* __buf = this->rdbuf(); + this->_M_gcount = __buf->egptr() != __buf->gptr() + ? _M_read_buffered(this, __buf, __n - 1, __s, +- bind2nd(_Eq_traits<_Traits>(), __delim), ++ _Eq_char_bound<_Traits>(__delim), + _Scan_for_char_val<_Traits>(__delim), + true, true, true) + : _M_read_unbuffered(this, __buf, __n - 1, __s, +- bind2nd(_Eq_traits<_Traits>(), __delim), ++ _Eq_char_bound<_Traits>(__delim), + true, true, true); + } + } +@@ -608,13 +775,13 @@ + + if (__buf->gptr() != __buf->egptr()) + _M_gcount +- = _M_read_buffered(this, __buf, min(__avail, __nmax), __s, ++ = _M_read_buffered(this, __buf, (min) (__avail, __nmax), __s, + _Constant_unary_fun(false), + _Project2nd(), + false, false, false); + else + _M_gcount +- = _M_read_unbuffered(this, __buf, min(__avail, __nmax), __s, ++ = _M_read_unbuffered(this, __buf, (min) (__avail, __nmax), __s, + _Constant_unary_fun(false), + false, false, false); + } +@@ -642,16 +809,16 @@ + basic_streambuf<_CharT, _Traits>* __buf = this->rdbuf(); + streamsize __nmax = this->width() > 0 + ? this->width() - 1 +- : numeric_limits::max() / sizeof(_CharT) - 1; +- // boris : here, extract_delim set to true to pass Dietmar's test ++ : (numeric_limits::max)() / sizeof(_CharT) - 1; ++ + streamsize __n = __buf->gptr() != __buf->egptr() + ? _M_read_buffered(this, __buf, __nmax, __s, +- _Is_wspace_null<_Traits>(this->_M_ctype_facet()), +- _Scan_wspace_null<_Traits>(this->_M_ctype_facet()), +- /* false*/ true, true, false) ++ _Is_wspace_null<_Traits>((const ctype<_CharT>*)this->_M_ctype_facet()), ++ _Scan_wspace_null<_Traits>((const ctype<_CharT>*)this->_M_ctype_facet()), ++ false, true, false) + : _M_read_unbuffered(this, __buf, __nmax, __s, +- _Is_wspace_null<_Traits>(this->_M_ctype_facet()), +- /* false */ true, true, false); ++ _Is_wspace_null<_Traits>((const ctype<_CharT>*)this->_M_ctype_facet()), ++ false, true, false); + if (__n == 0) + this->setstate(ios_base::failbit); + } +@@ -662,27 +829,19 @@ + // when we reach EOF, or when the function object __is_delim returns + // true. In the last case, it extracts the character for which + // __is_delim is true, if and only if __extract_delim is true. +-#if !(defined(__MRC__)||defined(__SC__)) //*TY 02/25/2000 - mpw compilers have difficulty matching complex template arguments ++ + template < class _CharT, class _Traits, class _Is_Delim> +-void __STL_CALL ++void _STLP_CALL + _M_ignore_unbuffered(basic_istream<_CharT, _Traits>* __that, + basic_streambuf<_CharT, _Traits>* __buf, + _Is_Delim __is_delim, + bool __extract_delim, bool __set_failbit) +-#else //*TY 02/25/2000 - added workaround for MPW compilers +-template < class _CharT, class _Traits, class _Is_Delim, class _Buf> //*TY 02/25/2000 - added _Buf +-void __STL_CALL +-_M_ignore_unbuffered(basic_istream<_CharT, _Traits>* __that, +- _Buf* __buf, //*TY 02/25/2000 - simplified parameter type +- _Is_Delim __is_delim, +- bool __extract_delim, bool __set_failbit) +-#endif //*TY 02/25/2000 - + { + bool __done = false; + ios_base::iostate __status = 0; + typedef typename basic_istream<_CharT, _Traits>::int_type int_type; + +- __STL_TRY { ++ _STLP_TRY { + while (!__done) { + int_type __c = __buf->sbumpc(); + +@@ -700,7 +859,7 @@ + } + } + } +- __STL_CATCH_ALL { ++ _STLP_CATCH_ALL { + __that->_M_handle_exception(ios_base::badbit); + } + +@@ -711,29 +870,21 @@ + // _M_ignore_unbuffered, but with one additional function object: + // __scan_delim(first, last) returns the first pointer p in [first, + // last) such that __is_delim(p) is true. +-#if !(defined(__MRC__)||defined(__SC__)) //*TY 02/25/2000 - mpw compilers have difficulty matching complex template arguments ++ + template < class _CharT, class _Traits, class _Is_Delim, class _Scan_Delim> +-void __STL_CALL ++void _STLP_CALL + _M_ignore_buffered(basic_istream<_CharT, _Traits>* __that, + basic_streambuf<_CharT, _Traits>* __buf, + _Is_Delim __is_delim, _Scan_Delim __scan_delim, + bool __extract_delim, bool __set_failbit) +-#else //*TY 02/25/2000 - added workaround for MPW compilers +-template < class _CharT, class _Traits, class _Is_Delim, class _Scan_Delim, class _Buf> //*TY 02/25/2000 - added _Buf +-void __STL_CALL +-_M_ignore_buffered(basic_istream<_CharT, _Traits>* __that, +- _Buf* __buf, //*TY 02/25/2000 - simplified parameter type +- _Is_Delim __is_delim, _Scan_Delim __scan_delim, +- bool __extract_delim, bool __set_failbit) +-#endif //*TY 02/25/2000 - + { + bool __at_eof = false; + bool __found_delim = false; + +- __STL_TRY { ++ _STLP_TRY { + while (__buf->_M_egptr() != __buf->_M_gptr() && !__at_eof && !__found_delim) { + const _CharT* __p = __scan_delim(__buf->_M_gptr(), __buf->_M_egptr()); +- __buf->_M_gbump(__p - __buf->_M_gptr()); ++ __buf->_M_gbump((int)(__p - __buf->_M_gptr())); + + if (__p != __buf->_M_egptr()) { // We found delim, so we're done. + if (__extract_delim) +@@ -745,7 +896,7 @@ + __at_eof = __that->_S_eof(__buf->sgetc()); + } // Close the while loop. + } +- __STL_CATCH_ALL { ++ _STLP_CATCH_ALL { + __that->_M_handle_exception(ios_base::badbit); + return; + } +@@ -775,29 +926,20 @@ + // We parameterize _M_ignore_buffered so that we can use it for both + // bounded and unbounded input; for the former the function object should + // be minus<>, and for the latter it should return a constant maximum value. +-#if !(defined(__MRC__)||defined(__SC__)) //*TY 02/25/2000 - mpw compilers have difficulty matching complex template arguments ++ + template < class _CharT, class _Traits, class _Max_Chars, class _Is_Delim> +-streamsize __STL_CALL ++streamsize _STLP_CALL + _M_ignore_unbuffered(basic_istream<_CharT, _Traits>* __that, + basic_streambuf<_CharT, _Traits>* __buf, + streamsize _Num, _Max_Chars __max_chars, + _Is_Delim __is_delim, + bool __extract_delim, bool __set_failbit) +-#else //*TY 02/25/2000 - added workaround for MPW compilers +-template < class _CharT, class _Traits, class _Max_Chars, class _Is_Delim, class _Buf> //*TY 02/25/2000 - added _Buf +-streamsize __STL_CALL +-_M_ignore_unbuffered(basic_istream<_CharT, _Traits>* __that, +- _Buf* __buf, //*TY 02/25/2000 - simplified parameter type +- streamsize _Num, _Max_Chars __max_chars, +- _Is_Delim __is_delim, +- bool __extract_delim, bool __set_failbit) +-#endif //*TY 02/25/2000 - + { + streamsize __n = 0; + ios_base::iostate __status = 0; + typedef typename basic_istream<_CharT, _Traits>::int_type int_type; + +- __STL_TRY { ++ _STLP_TRY { + while (__max_chars(_Num, __n) > 0) { + int_type __c = __buf->sbumpc(); + +@@ -819,7 +961,7 @@ + ++__n; + } + } +- __STL_CATCH_ALL { ++ _STLP_CATCH_ALL { + __that->_M_handle_exception(ios_base::badbit); + } + +@@ -828,31 +970,20 @@ + return __n; + } + +-#if !(defined(__MRC__)||defined(__SC__)) //*TY 02/25/2000 - mpw compilers have difficulty matching complex template arguments + template < class _CharT, class _Traits, class _Max_Chars, class _Is_Delim, class _Scan_Delim> +-streamsize __STL_CALL ++streamsize _STLP_CALL + _M_ignore_buffered(basic_istream<_CharT, _Traits>* __that, + basic_streambuf<_CharT, _Traits>* __buf, + streamsize _Num, + _Max_Chars __max_chars, + _Is_Delim __is_delim, _Scan_Delim __scan_delim, + bool __extract_delim, bool __set_failbit) +-#else //*TY 02/25/2000 - added workaround for MPW compilers +-template < class _CharT, class _Traits, class _Max_Chars, class _Is_Delim, class _Scan_Delim, class _Buf> //*TY 02/25/2000 - added _Buf +-streamsize __STL_CALL +-_M_ignore_buffered(basic_istream<_CharT, _Traits>* __that, +- _Buf* __buf, //*TY 02/25/2000 - simplified parameter type +- streamsize _Num, +- _Max_Chars __max_chars, +- _Is_Delim __is_delim, _Scan_Delim __scan_delim, +- bool __extract_delim, bool __set_failbit) +-#endif //*TY 02/25/2000 - + { + streamsize __n = 0; + bool __at_eof = false; + bool __done = false; + +- __STL_TRY { ++ _STLP_TRY { + while (__buf->_M_egptr() != __buf->_M_gptr() && !__done) { + ptrdiff_t __avail = __buf->_M_egptr() - __buf->_M_gptr(); + streamsize __m = __max_chars(_Num, __n); +@@ -862,7 +993,7 @@ + const _CharT* __p = __scan_delim(__buf->_M_gptr(), __last); + ptrdiff_t __chunk = __p - __buf->_M_gptr(); + __n += __chunk; +- __buf->_M_gbump(__chunk); ++ __buf->_M_gbump((int)__chunk); + + if (__extract_delim && __p != __last) { + __n += 1; +@@ -876,7 +1007,7 @@ + const _CharT* __p = __scan_delim(__buf->_M_gptr(), __buf->_M_egptr()); + ptrdiff_t __chunk = __p - __buf->_M_gptr(); + __n += __chunk; +- __buf->_M_gbump(__chunk); ++ __buf->_M_gbump((int)__chunk); + + if (__p != __buf->_M_egptr()) { // We found delim. + if (__extract_delim) { +@@ -895,7 +1026,7 @@ + } + } // Close the while loop. + } +- __STL_CATCH_ALL { ++ _STLP_CATCH_ALL { + __that->_M_handle_exception(ios_base::badbit); + return __n; + } +@@ -929,9 +1060,9 @@ + typedef _Constant_unary_fun _Const_bool; + typedef _Constant_binary_fun + _Const_streamsize; +- const streamsize __maxss = numeric_limits::max(); ++ const streamsize __maxss = (numeric_limits::max)(); + +- if (__n == numeric_limits::max()) { ++ if (__n == (numeric_limits::max)()) { + if (__buf->gptr() != __buf->egptr()) + _M_gcount + = _M_ignore_buffered(this, __buf, +@@ -973,35 +1104,32 @@ + typedef _Constant_unary_fun _Const_bool; + typedef _Constant_binary_fun + _Const_streamsize; +- const streamsize __maxss = numeric_limits::max(); ++ const streamsize __maxss = (numeric_limits::max)(); + +- if (__n == numeric_limits::max()) { ++ if (__n == (numeric_limits::max)()) { + if (__buf->gptr() != __buf->egptr()) + _M_gcount = _M_ignore_buffered(this, __buf, + __maxss, _Const_streamsize(__maxss), +- bind2nd(_Eq_int_traits<_Traits>(), +- __delim), ++ _Eq_int_bound<_Traits>(__delim), + _Scan_for_int_val<_Traits>(__delim), + true, false); + else + _M_gcount = _M_ignore_unbuffered(this, __buf, + __maxss, _Const_streamsize(__maxss), +- bind2nd(_Eq_int_traits<_Traits>(), +- __delim), ++ _Eq_int_bound<_Traits>(__delim), + true, false); + } + else { + if (__buf->gptr() != __buf->egptr()) + _M_gcount = _M_ignore_buffered(this, __buf, + __n, minus(), +- bind2nd(_Eq_int_traits<_Traits>(), ++ _Eq_int_bound<_Traits>( + __delim), + _Scan_for_int_val<_Traits>(__delim), + true, false); + else + _M_gcount = _M_ignore_unbuffered(this, __buf, __n, minus(), +- bind2nd(_Eq_int_traits<_Traits>(), +- __delim), ++ _Eq_int_bound<_Traits>(__delim), + true, false); + } + } +@@ -1019,12 +1147,12 @@ + this->setstate(ios_base::badbit); + else if (__buf->gptr() != __buf->egptr()) + _M_ignore_buffered(this, __buf, +- not1(_Is_wspace<_Traits>(this->_M_ctype_facet())), +- _Scan_for_not_wspace<_Traits>(this->_M_ctype_facet()), ++ _Is_not_wspace<_Traits>((const ctype<_CharT>*)this->_M_ctype_facet()), ++ _Scan_for_not_wspace<_Traits>((const ctype<_CharT>*)this->_M_ctype_facet()), + false, __set_failbit); + else + _M_ignore_unbuffered(this, __buf, +- not1(_Is_wspace<_Traits>(this->_M_ctype_facet())), ++ _Is_not_wspace<_Traits>((const ctype<_CharT>*)this->_M_ctype_facet()), + false, __set_failbit); + } + +@@ -1036,28 +1164,19 @@ + // We stop when we get an exception, when we fail to insert into the + // output streambuf, or when __is_delim is true. + +-#if !(defined(__MRC__)||defined(__SC__)) //*TY 02/25/2000 - mpw compilers have difficulty matching complex template arguments + template < class _CharT, class _Traits, class _Is_Delim> +-streamsize __STL_CALL ++streamsize _STLP_CALL + _M_copy_unbuffered( basic_istream<_CharT, _Traits>* __that, basic_streambuf<_CharT, _Traits>* __src, + basic_streambuf<_CharT, _Traits>* __dest, + _Is_Delim __is_delim, + bool __extract_delim, bool __rethrow) +-#else //*TY 02/25/2000 - added workaround for MPW compilers +-template < class _CharT, class _Traits, class _Is_Delim, class _Buf> //*TY 02/25/2000 - added _Buf +-streamsize __STL_CALL +-_M_copy_unbuffered( basic_istream<_CharT, _Traits>* __that, +- _Buf* __src, _Buf* __dest, //*TY 02/25/2000 - simplified parameter type +- _Is_Delim __is_delim, +- bool __extract_delim, bool __rethrow) +-#endif //*TY 02/25/2000 - + { + streamsize __extracted = 0; + ios_base::iostate __status = 0; + typedef typename basic_istream<_CharT, _Traits>::int_type int_type; + int_type __c; + +- __STL_TRY { ++ _STLP_TRY { + + while (true) { + +@@ -1080,13 +1199,13 @@ + + // Try to put the character in the output streambuf. + bool __failed = false; +- __STL_TRY { ++ _STLP_TRY { + if (!__that->_S_eof(__dest->sputc(__c))) + ++__extracted; + else + __failed = true; + } +- __STL_CATCH_ALL { ++ _STLP_CATCH_ALL { + __failed = true; + } + +@@ -1105,7 +1224,7 @@ + } + // fbp : this try/catch moved here in reasonable assumption + // __is_delim never throw (__pushback is guaranteed not to) +- __STL_CATCH_ALL { ++ _STLP_CATCH_ALL { + // See 27.6.1.2.3, paragraph 13. + if (__rethrow && __extracted == 0) + __that->_M_handle_exception(ios_base::failbit); +@@ -1119,21 +1238,12 @@ + // of the error conditions we checked in _M_copy_unbuffered, plus one more: + // the streambuf might decide to switch from a buffered to an unbuffered mode. + +-#if !(defined(__MRC__)||defined(__SC__)) //*TY 02/25/2000 - mpw compilers have difficulty matching complex template arguments + template < class _CharT, class _Traits, class _Is_Delim, class _Scan_Delim> +-streamsize __STL_CALL ++streamsize _STLP_CALL + _M_copy_buffered(basic_istream<_CharT, _Traits>* __that, basic_streambuf<_CharT, _Traits>* __src, + basic_streambuf<_CharT, _Traits>* __dest, + _Scan_Delim __scan_delim, _Is_Delim __is_delim, + bool __extract_delim, bool __rethrow) +-#else +-template < class _CharT, class _Traits, class _Is_Delim, class _Scan_Delim, class _Buf> +-streamsize __STL_CALL +-_M_copy_buffered(basic_istream<_CharT, _Traits>* __that, +- _Buf* __src, _Buf* __dest, //*TY 02/25/2000 - simplified parameter type +- _Scan_Delim __scan_delim, _Is_Delim __is_delim, +- bool __extract_delim, bool __rethrow) +-#endif //*TY 02/25/2000 - + { + streamsize __extracted = 0; + ios_base::iostate __status = 0; +@@ -1144,7 +1254,7 @@ + // fbp : introduced to move catch/try blocks out of the loop + bool __do_handle_exceptions; + +- __STL_TRY { ++ _STLP_TRY { + while (true) { + __do_handle_exceptions = false ; + const _CharT* __last = __scan_delim(__first, __src->_M_egptr()); +@@ -1153,7 +1263,7 @@ + streamsize __n = __dest->sputn(__first, __extract_delim && __last != __src->_M_egptr() + ? (__last - __first) + 1 + : (__last - __first)); +- __src->_M_gbump(__n); ++ __src->_M_gbump((int)__n); + __extracted += __n; + + // from this on, catch() will call _M_handle_exceptions() +@@ -1181,7 +1291,7 @@ + } /* while */ + } + +- __STL_CATCH_ALL { ++ _STLP_CATCH_ALL { + // See 27.6.1.2.3, paragraph 13. + if (__rethrow && __do_handle_exceptions && __extracted == 0) + __that->_M_handle_exception(ios_base::failbit); +@@ -1209,10 +1319,10 @@ + this->_M_gcount = __src->egptr() != __src->gptr() + ? _M_copy_buffered(this, __src, &__dest, + _Scan_for_char_val<_Traits>(__delim), +- bind2nd(_Eq_traits<_Traits>(), __delim), ++ _Eq_char_bound<_Traits>(__delim), + false, false) + : _M_copy_unbuffered(this, __src, &__dest, +- bind2nd(_Eq_traits<_Traits>(), __delim), ++ _Eq_char_bound<_Traits>(__delim), + false, false); + } + +@@ -1268,10 +1378,12 @@ + basic_iostream<_CharT, _Traits>::~basic_iostream() + {} + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + + # undef __BIS_int_type__ + # undef __BIS_pos_type__ + # undef __BIS_off_type__ + +-#endif /* __STL_ISTREAM_C */ ++# endif /* defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) */ ++ ++#endif /* _STLP_ISTREAM_C */ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_istream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_istream.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_istream.h Sat Feb 24 10:44:54 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_istream.h Sun Aug 11 18:59:24 2002 +@@ -15,31 +15,46 @@ + * modified is included with the above copyright notice. + * + */ +-#ifndef __SGI_STL_ISTREAM_H +-#define __SGI_STL_ISTREAM_H ++#ifndef _STLP_INTERNAL_ISTREAM_H ++#define _STLP_INTERNAL_ISTREAM_H + +-#include ++// this block is included by _ostream.h, we include it here to lower #include level ++# if defined (_STLP_HAS_WCHAR_T) && !defined (_STLP_CWCHAR) ++# include ++# endif ++ ++# ifndef _STLP_INTERNAL_IOS_H ++# include // For basic_ios<>. Includes . ++# endif ++ ++#ifndef _STLP_INTERNAL_OSTREAM_H ++# include // Needed as a base class of basic_iostream. ++#endif + +-#include // Needed as a base class of basic_iostream. +- // includes , which in turn +- // includes . ++#ifndef _STLP_INTERNAL_ISTREAMBUF_ITERATOR_H ++# include ++#endif + + #include // Helper functions that allow char traits + // to be used as function objects. +- +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + template +-basic_istream<_CharT, _Traits>& __STL_CALL ++ios_base::iostate _STLP_CALL + _M_get_num(basic_istream<_CharT, _Traits>& __that, _Number& __val); + +-#if defined (__STL_USE_TEMPLATE_EXPORT) || defined(__MRC__) || defined(__SC__) ++#if defined (_STLP_USE_TEMPLATE_EXPORT) + template + class _Isentry; + #endif + + struct _No_Skip_WS {}; // Dummy class used by sentry. + ++template ++bool _M_init_skip(basic_istream<_CharT, _Traits>& __is); ++template ++bool _M_init_noskip(basic_istream<_CharT, _Traits>& __is); ++ + //---------------------------------------------------------------------- + // Class basic_istream, a class that performs formatted input through + // a stream buffer. +@@ -60,9 +75,9 @@ + typedef basic_ios<_CharT, _Traits> _Basic_ios; + typedef basic_istream<_CharT, _Traits> _Self; + +- typedef basic_ios<_CharT, _Traits>& (__STL_CALL *__ios_fn)(basic_ios<_CharT, _Traits>&); +- typedef ios_base& (__STL_CALL *__ios_base_fn)(ios_base&); +- typedef _Self& (__STL_CALL *__istream_fn)(_Self&); ++ typedef basic_ios<_CharT, _Traits>& (_STLP_CALL *__ios_fn)(basic_ios<_CharT, _Traits>&); ++ typedef ios_base& (_STLP_CALL *__ios_base_fn)(ios_base&); ++ typedef _Self& (_STLP_CALL *__istream_fn)(_Self&); + + public: // Constructor and destructor. + explicit basic_istream(basic_streambuf<_CharT, _Traits>* __buf) : +@@ -80,23 +95,47 @@ + _Self& operator>> (__ios_base_fn __f) { __f(*this); return *this; } + + public: // Formatted input of numbers. +- _Self& operator>> (short& __val) { return _M_get_num(*this, __val); } +- _Self& operator>> (unsigned short& __val) { return _M_get_num(*this, __val); } +- _Self& operator>> (int& __val) { return _M_get_num(*this, __val); } +- _Self& operator>> (unsigned int& __val) { return _M_get_num(*this, __val); } +- _Self& operator>> (long& __val) { return _M_get_num(*this, __val); } +- _Self& operator>> (unsigned long& __val) { return _M_get_num(*this, __val); } +-#ifdef __STL_LONG_LONG +- _Self& operator>> (long long& __val) { return _M_get_num(*this, __val); } +- _Self& operator>> (unsigned long long& __val) { return _M_get_num(*this, __val); } ++ _Self& operator>> (short& __val) { ++ long __lval; ++ unsigned short __uval; ++ _M_get_num(*this, __lval); ++ __val = __STATIC_CAST(short, __lval); ++ __uval = __lval; ++ // check if we lose digits ++ // if ((__val != __lval) && ((unsigned short)__val != __lval)) ++ if ((__val != __lval) && ((long)__uval != __lval)) ++ this->setstate(ios_base::failbit); ++ return *this; ++ } ++ _Self& operator>> (int& __val) { ++ long __lval; ++ unsigned int __uval; ++ _M_get_num(*this, __lval); ++ __val = __lval; ++ __uval = __lval; ++ // check if we lose digits ++ // if ((__val != __lval) && ((unsigned int)__val != __lval)) ++ if ((__val != __lval) && ((long)__uval != __lval)) ++ this->setstate(ios_base::failbit); ++ return *this; ++ } ++ _Self& operator>> (unsigned short& __val) { _M_get_num(*this, __val); return *this; } ++ _Self& operator>> (unsigned int& __val) { _M_get_num(*this, __val); return *this; } ++ _Self& operator>> (long& __val) { _M_get_num(*this, __val); return *this; } ++ _Self& operator>> (unsigned long& __val) { _M_get_num(*this, __val); return *this; } ++#ifdef _STLP_LONG_LONG ++ _Self& operator>> (_STLP_LONG_LONG& __val) { _M_get_num(*this, __val); return *this; } ++ _Self& operator>> (unsigned _STLP_LONG_LONG& __val) { _M_get_num(*this, __val); return *this; } + #endif +- _Self& operator>> (float& __val) { return _M_get_num(*this, __val); } +- _Self& operator>> (double& __val) { return _M_get_num(*this, __val); } +- _Self& operator>> (long double& __val) { return _M_get_num(*this, __val); } +-# ifndef __STL_NO_BOOL +- _Self& operator>> (bool& __val) { return _M_get_num(*this, __val); } ++ _Self& operator>> (float& __val) { _M_get_num(*this, __val); return *this; } ++ _Self& operator>> (double& __val) { _M_get_num(*this, __val); return *this; } ++# ifndef _STLP_NO_LONG_DOUBLE ++ _Self& operator>> (long double& __val) { _M_get_num(*this, __val); return *this; } + # endif +- _Self& operator>> (void*& __val) { return _M_get_num(*this, __val); } ++# ifndef _STLP_NO_BOOL ++ _Self& operator>> (bool& __val) { _M_get_num(*this, __val); return *this; } ++# endif ++ _Self& operator>> (void*& __val) { _M_get_num(*this, __val); return *this; } + + public: // Copying characters into a streambuf. + _Self& operator>>(basic_streambuf<_CharT, _Traits>*); +@@ -128,7 +167,7 @@ + public: // read(), readsome(), ignore() + _Self& ignore(); + _Self& ignore(streamsize __n); +-#if (defined (__STL_MSVC) && __STL_MSVC < 1200) ++#if (defined (_STLP_MSVC) && _STLP_MSVC < 1200) + inline + #endif + _Self& ignore(streamsize __n, int_type __delim); +@@ -157,7 +196,7 @@ + + public: + +-#if defined (__STL_USE_TEMPLATE_EXPORT) || defined(__MRC__) || defined(__SC__) ++#if defined (_STLP_USE_TEMPLATE_EXPORT) + // If we are using DLL specs, we have not to use inner classes + // end class declaration here + typedef _Isentry<_CharT, _Traits> sentry; +@@ -172,286 +211,103 @@ + #endif + + private: +- bool _M_ok; +- basic_streambuf<_CharT, _Traits>* _M_buf; +- +- // Helper functions for constructor. +- void _M_init_skip(basic_istream<_CharT, _Traits>& __is) { +- if (__is.good()) { +- if (__is.tie()) +- __is.tie()->flush(); ++ const bool _M_ok; ++ // basic_streambuf<_CharT, _Traits>* _M_buf; + +- __is._M_skip_whitespace(true); +- } +- +- if (!__is.good()) +- __is.setstate(ios_base::failbit); +- +- _M_ok = __is.good(); +- } +- void _M_init_noskip(basic_istream<_CharT, _Traits>& __is){ +- if (__is.good()) { +- if (__is.tie()) +- __is.tie()->flush(); +- +- if (!_M_buf) +- __is.setstate(ios_base::badbit); +- } +- else +- __is.setstate(ios_base::failbit); +- +- _M_ok = __is.good(); +- } +- + public: + typedef _Traits traits_type; + + explicit sentry(basic_istream<_CharT, _Traits>& __is, +- bool __noskipws = false) : _M_buf(__is.rdbuf()) { +- if (__noskipws || !(__is.flags() & ios_base::skipws)) +- _M_init_noskip(__is); +- else +- _M_init_skip(__is); +- } ++ bool __noskipws = false) : ++ _M_ok((__noskipws || !(__is.flags() & ios_base::skipws)) ? _M_init_noskip(__is) : _M_init_skip(__is) ) ++ /* , _M_buf(__is.rdbuf()) */ ++ {} + + // Calling this constructor is the same as calling the previous one with + // __noskipws = true, except that it doesn't require a runtime test. +- sentry(basic_istream<_CharT, _Traits>& __is, _No_Skip_WS) : _M_buf(__is.rdbuf()) { +- _M_init_noskip(__is); +- } +- ++ sentry(basic_istream<_CharT, _Traits>& __is, _No_Skip_WS) : /* _M_buf(__is.rdbuf()), */ ++ _M_ok(_M_init_noskip(__is)) {} + + ~sentry() {} + + operator bool() const { return _M_ok; } + + private: // Disable assignment and copy constructor. +- sentry(const _Self&) {} ++ sentry(const _Self&) : _M_ok(false) {} + void operator=(const _Self&) {} + }; + +-# if defined (__STL_USE_TEMPLATE_EXPORT) || defined(__MRC__) || defined(__SC__) ++# if defined (_STLP_USE_TEMPLATE_EXPORT) + # undef sentry + # else + // close basic_istream class definition here + }; + # endif + +-# if defined (__STL_USE_TEMPLATE_EXPORT) +-__STL_EXPORT_TEMPLATE_CLASS _Isentry >; +-__STL_EXPORT_TEMPLATE_CLASS basic_istream >; +-# if ! defined (__STL_NO_WCHAR_T) +-__STL_EXPORT_TEMPLATE_CLASS _Isentry >; +-__STL_EXPORT_TEMPLATE_CLASS basic_istream >; ++# if defined (_STLP_USE_TEMPLATE_EXPORT) ++_STLP_EXPORT_TEMPLATE_CLASS _Isentry >; ++_STLP_EXPORT_TEMPLATE_CLASS basic_istream >; ++# if ! defined (_STLP_NO_WCHAR_T) ++_STLP_EXPORT_TEMPLATE_CLASS _Isentry >; ++_STLP_EXPORT_TEMPLATE_CLASS basic_istream >; + # endif +-# endif /* __STL_USE_TEMPLATE_EXPORT */ ++# endif /* _STLP_USE_TEMPLATE_EXPORT */ + + // Non-member character and string extractor functions. + + template +-inline basic_istream<_CharT, _Traits>& __STL_CALL ++inline basic_istream<_CharT, _Traits>& _STLP_CALL + operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c) { + __in._M_formatted_get(__c); + return __in; + } + + template +-inline basic_istream& __STL_CALL ++inline basic_istream& _STLP_CALL + operator>>(basic_istream& __in, unsigned char& __c) { + __in._M_formatted_get(__REINTERPRET_CAST(char&,__c)); + return __in; + } + + template +-inline basic_istream& __STL_CALL ++inline basic_istream& _STLP_CALL + operator>>(basic_istream& __in, signed char& __c) { + __in._M_formatted_get(__REINTERPRET_CAST(char&,__c)); + return __in; + } + + template +-inline basic_istream<_CharT, _Traits>& __STL_CALL ++inline basic_istream<_CharT, _Traits>& _STLP_CALL + operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s) { + __in._M_formatted_get(__s); + return __in; + } + + template +-inline basic_istream& __STL_CALL ++inline basic_istream& _STLP_CALL + operator>>(basic_istream& __in, unsigned char* __s) { + __in._M_formatted_get(__REINTERPRET_CAST(char*,__s)); + return __in; + } + + template +-inline basic_istream& __STL_CALL ++inline basic_istream& _STLP_CALL + operator>>(basic_istream& __in, signed char* __s) { + __in._M_formatted_get(__REINTERPRET_CAST(char*,__s)); + return __in; + } + + //---------------------------------------------------------------------- +-// Function object structs used by some member functions. +- +-template +-struct _Is_wspace { +- typedef typename _Traits::char_type argument_type; +- typedef bool result_type; +- +- const ctype* _M_ctype; +- +- _Is_wspace(const ctype* __c_type) : _M_ctype(__c_type) {} +- bool operator()(argument_type __c) const +- { return _M_ctype->is(ctype_base::space, __c); } +-}; +- +-template +-struct _Is_wspace_null { +- typedef typename _Traits::char_type argument_type; +- typedef bool result_type; +- +- const ctype* _M_ctype; +- +- _Is_wspace_null(const ctype* __c_type) : _M_ctype(__c_type) {} +- bool operator()(argument_type __c) const { +- return _Traits::eq(__c, argument_type()) || +- _M_ctype->is(ctype_base::space, __c); +- } +-}; +- +-template +-struct _Scan_for_wspace { +- typedef typename _Traits::char_type char_type; +- typedef char_type* first_argument_type; +- typedef char_type* second_argument_type; +- typedef char_type* result_type; +- +- const ctype* _M_ctype; +- +- _Scan_for_wspace(const ctype* __ctype) : _M_ctype(__ctype) {} +- const char_type* +- operator()(const char_type* __first, const char_type* __last) const { +- return _M_ctype->scan_is(ctype_base::space, __first, __last); +- } +-}; +- +-template +-struct _Scan_wspace_null { +- typedef typename _Traits::char_type char_type; +- typedef char_type* first_argument_type; +- typedef char_type* second_argument_type; +- typedef char_type* result_type; +- +- const ctype* _M_ctype; +- +- _Scan_wspace_null(const ctype* __c_type) : _M_ctype(__c_type) {} +- const char_type* +- operator()(const char_type* __first, const char_type* __last) const { +- __last = find_if(__first, __last, +- bind2nd(_Eq_traits<_Traits>(), char_type())); +- return _M_ctype->scan_is(ctype_base::space, __first, __last); +- } +-}; +- +-template +-struct _Scan_for_not_wspace { +- typedef typename _Traits::char_type char_type; +- typedef char_type* first_argument_type; +- typedef char_type* second_argument_type; +- typedef char_type* result_type; +- +- const ctype* _M_ctype; +- +- _Scan_for_not_wspace(const ctype* __c_type) : _M_ctype(__c_type) {} +- const char_type* +- operator()(const char_type* __first, const char_type* __last) const { +- return _M_ctype->scan_not(ctype_base::space, __first, __last); +- } +-}; +- +-template +-struct _Scan_for_char_val +-{ +- typedef typename _Traits::char_type char_type; +- typedef char_type* first_argument_type; +- typedef char_type* second_argument_type; +- typedef char_type* result_type; +- +- char_type _M_val; +- +- _Scan_for_char_val(char_type __value) : _M_val(__value) {} +- +- const char_type* +- operator()(const char_type* __first, const char_type* __last) const { +- return find_if(__first, __last, bind2nd(_Eq_traits<_Traits>(), _M_val)); +- } +-}; +- +-template +-struct _Scan_for_int_val +-{ +- typedef typename _Traits::char_type char_type; +- typedef typename _Traits::int_type int_type; +- typedef char_type* first_argument_type; +- typedef char_type* second_argument_type; +- typedef char_type* result_type; +- +- int_type _M_val; +- +- _Scan_for_int_val(int_type __value) : _M_val(__value) {} +- +- const char_type* +- operator()(const char_type* __first, const char_type* __last) const { +- return find_if(__first, __last, +- bind2nd(_Eq_int_traits<_Traits>(), _M_val)); +- } +-}; +- +- +-// Helper function: try to push back a character to a streambuf, +-// return true if the pushback succeeded. Does not throw. +-#if !(defined(__MRC__)||defined(__SC__)) //*TY 02/26/2000 - +-template +-bool __STL_CALL +-__pushback(basic_streambuf<_CharT, _Traits>* __buf, _CharT __c) +-{ +-#else +-template //*TY 02/26/2000 - added _Buf, removed _Traits +-bool __STL_CALL +-__pushback(_Buf* __buf, _CharT __c) //*TY 02/26/2000 - simplified parameter type +-{ +- typedef typename _Buf::traits_type _Traits; +-#endif +- bool ret; +- __STL_TRY { +- const typename _Traits::int_type __eof = _Traits::eof(); +- ret = !_Traits::eq_int_type(__buf->sputbackc(__c), __eof); +- } +- __STL_CATCH_ALL { +- ret = false; +- } +- return ret; +-} +- +-//---------------------------------------------------------------------- + // istream manipulator. +- + template +-basic_istream<_CharT, _Traits>& __STL_CALL +-ws(basic_istream<_CharT, _Traits>& __is) +-{ +- typedef typename basic_istream<_CharT, _Traits>::sentry _Sentry; +- _Sentry __sentry(__is, _No_Skip_WS()); // Don't skip whitespace. +- if (__sentry) +- __is._M_skip_whitespace(false); +- return __is; +-} ++basic_istream<_CharT, _Traits>& _STLP_CALL ++ws(basic_istream<_CharT, _Traits>& __is); + + //---------------------------------------------------------------------- + // Class iostream. + + template +-class __STL_CLASS_DECLSPEC basic_iostream ++class basic_iostream + : public basic_istream<_CharT, _Traits>, + public basic_ostream<_CharT, _Traits> + { +@@ -462,20 +318,26 @@ + virtual ~basic_iostream(); + }; + +-# if defined (__STL_USE_TEMPLATE_EXPORT) +-__STL_EXPORT_TEMPLATE_CLASS basic_iostream >; +-# if ! defined (__STL_NO_WCHAR_T) +-__STL_EXPORT_TEMPLATE_CLASS basic_iostream >; ++# if defined (_STLP_USE_TEMPLATE_EXPORT) ++_STLP_EXPORT_TEMPLATE_CLASS basic_iostream >; ++# if ! defined (_STLP_NO_WCHAR_T) ++_STLP_EXPORT_TEMPLATE_CLASS basic_iostream >; + # endif +-# endif /* __STL_USE_TEMPLATE_EXPORT */ ++# endif /* _STLP_USE_TEMPLATE_EXPORT */ ++ ++template ++basic_streambuf<_CharT, _Traits>* _STLP_CALL _M_get_istreambuf(basic_istream<_CharT, _Traits>& __is) ++{ ++ return __is.rdbuf(); ++} + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-# if !defined (__STL_LINK_TIME_INSTANTIATION) ++# if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) && !defined (_STLP_LINK_TIME_INSTANTIATION) + # include + # endif + +-#endif /* __SGI_STL_ISTREAM_H */ ++#endif /* _STLP_INTERNAL_ISTREAM_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_istreambuf_iterator.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_istreambuf_iterator.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_istreambuf_iterator.h Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_istreambuf_iterator.h Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,167 @@ ++/* ++ * Copyright (c) 1999 ++ * Silicon Graphics Computer Systems, Inc. ++ * ++ * Copyright (c) 1999 ++ * Boris Fomitchev ++ * ++ * This material is provided "as is", with absolutely no warranty expressed ++ * or implied. Any use is at your own risk. ++ * ++ * Permission to use or copy this software for any purpose is hereby granted ++ * without fee, provided the above notices are retained on all copies. ++ * Permission to modify the code and to distribute modified code is granted, ++ * provided the above notices are retained, and a notice that the code was ++ * modified is included with the above copyright notice. ++ * ++ */ ++// WARNING: This is an internal header file, included by other C++ ++// standard library headers. You should not attempt to use this header ++// file directly. ++ ++ ++#ifndef _STLP_INTERNAL_ISTREAMBUF_ITERATOR_H ++#define _STLP_INTERNAL_ISTREAMBUF_ITERATOR_H ++ ++#ifndef _STLP_INTERNAL_ITERATOR_BASE_H ++# include ++#endif ++ ++#ifndef _STLP_INTERNAL_STREAMBUF ++# include ++#endif ++ ++_STLP_BEGIN_NAMESPACE ++ ++// defined in _istream.h ++template ++extern basic_streambuf<_CharT, _Traits>* _STLP_CALL _M_get_istreambuf(basic_istream<_CharT, _Traits>& ) ; ++ ++// We do not read any characters until operator* is called. operator* calls sgetc ++// unless the iterator is unchanged from the last call in which case a cached value is ++// used. Calls to operator++ use sbumpc. ++ ++template ++class istreambuf_iterator ++{ ++public: ++ typedef _CharT char_type; ++ typedef _Traits traits_type; ++ typedef typename _Traits::int_type int_type; ++ typedef basic_streambuf<_CharT, _Traits> streambuf_type; ++ typedef basic_istream<_CharT, _Traits> istream_type; ++ ++ typedef input_iterator_tag iterator_category; ++ typedef _CharT value_type; ++ typedef typename _Traits::off_type difference_type; ++ typedef const _CharT* pointer; ++ typedef const _CharT& reference; ++ ++public: ++ istreambuf_iterator(streambuf_type* __p = 0) { this->_M_init(__p); } ++ // istreambuf_iterator(basic_istream<_CharT, _Traits>& __is) { this->_M_init(_M_get_istreambuf(__is)); } ++ inline istreambuf_iterator(basic_istream<_CharT, _Traits>& __is); ++ ++ char_type operator*() const { this->_M_getc(); return _M_c; } ++ istreambuf_iterator<_CharT, _Traits>& operator++() { this->_M_bumpc(); return *this; } ++ istreambuf_iterator<_CharT, _Traits> operator++(int); ++ ++ bool equal(const istreambuf_iterator<_CharT, _Traits>& __i) const { ++ if (this->_M_buf) ++ this->_M_getc(); ++ if (__i._M_buf) ++ __i._M_getc(); ++ return this->_M_eof == __i._M_eof; ++ } ++ ++private: ++ void _M_init(streambuf_type* __p) { ++ _M_buf = __p; ++ _M_eof = !__p; ++ // _M_is_initialized = _M_eof; ++ _M_have_c = false; ++ } ++ ++ void _M_getc() const { ++ if (_M_have_c) ++ return; ++ int_type __c = _M_buf->sgetc(); ++# if !defined (_STLP_NEED_MUTABLE) /* && ! defined (__SUNPRO_CC) */ ++ _M_c = traits_type::to_char_type(__c); ++ _M_eof = traits_type::eq_int_type(__c, traits_type::eof()); ++ _M_have_c = true; ++# else ++ typedef istreambuf_iterator<_CharT,_Traits> _Self; ++ _Self* __that = __CONST_CAST(_Self*, this); ++ __that->_M_c = __STATIC_CAST(_CharT, traits_type::to_char_type(__c)); ++ __that->_M_eof = traits_type::eq_int_type(__c, traits_type::eof()); ++ __that->_M_have_c = true; ++# endif ++ } ++ ++ void _M_bumpc() { ++ _M_buf->sbumpc(); ++ _M_have_c = false; ++ } ++ ++private: ++ streambuf_type* _M_buf; ++ mutable _CharT _M_c; ++ mutable unsigned char _M_eof; ++ mutable unsigned char _M_have_c; ++}; ++ ++template ++inline istreambuf_iterator<_CharT, _Traits>::istreambuf_iterator(basic_istream<_CharT, _Traits>& __is) ++{ this->_M_init(_M_get_istreambuf(__is)); } ++ ++template ++inline bool _STLP_CALL operator==(const istreambuf_iterator<_CharT, _Traits>& __x, ++ const istreambuf_iterator<_CharT, _Traits>& __y) { ++ return __x.equal(__y); ++} ++ ++#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE ++ ++template ++inline bool _STLP_CALL operator!=(const istreambuf_iterator<_CharT, _Traits>& __x, ++ const istreambuf_iterator<_CharT, _Traits>& __y) { ++ return !__x.equal(__y); ++} ++ ++#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ ++ ++# if defined (_STLP_USE_TEMPLATE_EXPORT) ++_STLP_EXPORT_TEMPLATE_CLASS istreambuf_iterator >; ++# if defined (INSTANTIATE_WIDE_STREAMS) ++_STLP_EXPORT_TEMPLATE_CLASS istreambuf_iterator >; ++# endif ++# endif /* _STLP_USE_TEMPLATE_EXPORT */ ++ ++# ifdef _STLP_USE_OLD_HP_ITERATOR_QUERIES ++template ++inline input_iterator_tag _STLP_CALL iterator_category(const istreambuf_iterator<_CharT, _Traits>&) { return input_iterator_tag(); } ++template ++inline streamoff* _STLP_CALL ++distance_type(const istreambuf_iterator<_CharT, _Traits>&) { return (streamoff*)0; } ++template ++inline _CharT* _STLP_CALL value_type(const istreambuf_iterator<_CharT, _Traits>&) { return (_CharT*)0; } ++# endif ++ ++template ++istreambuf_iterator<_CharT, _Traits> ++istreambuf_iterator<_CharT, _Traits>::operator++(int) { ++ istreambuf_iterator<_CharT, _Traits> __tmp = *this; ++ this->_M_bumpc(); ++ this->_M_have_c = false; ++ return __tmp; ++} ++ ++_STLP_END_NAMESPACE ++ ++#endif /* _STLP_INTERNAL_ISTREAMBUF_ITERATOR_H */ ++ ++// Local Variables: ++// mode:C++ ++// End: ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_iterator.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_iterator.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_iterator.h Sat Feb 24 10:44:55 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_iterator.h Sun Aug 11 18:59:24 2002 +@@ -27,124 +27,16 @@ + * You should not attempt to use it directly. + */ + +-#ifndef __SGI_STL_INTERNAL_ITERATOR_H +-#define __SGI_STL_INTERNAL_ITERATOR_H ++#ifndef _STLP_INTERNAL_ITERATOR_H ++#define _STLP_INTERNAL_ITERATOR_H + +-#ifndef __SGI_STL_INTERNAL_ITERATOR_BASE_H ++#ifndef _STLP_INTERNAL_ITERATOR_BASE_H + # include + #endif + +-__STL_BEGIN_NAMESPACE +- +-# if defined (__STL_NO_CLASS_PARTIAL_SPECIALIZATION) || ! defined (__STL_NO_ANACHRONISMS) +- +-# if defined (__STL_MSVC50_COMPATIBILITY) +-# define __Reference _Reference, class _Pointer +-# define Reference__ _Reference, _Pointer +-template +-# else +-# define __Reference _Reference +-# define Reference__ _Reference +-template +-# endif +-class reverse_bidirectional_iterator { +- typedef reverse_bidirectional_iterator<_BidirectionalIterator, _Tp, +- Reference__, _Distance> _Self; +- // friend inline bool operator== __STL_NULL_TMPL_ARGS (const _Self& x, const _Self& y); +-protected: +- _BidirectionalIterator current; +-public: +- typedef bidirectional_iterator_tag iterator_category; +- typedef _Tp value_type; +- typedef _Distance difference_type; +-# if defined (__STL_MSVC50_COMPATIBILITY) +- typedef _Pointer pointer; +-# else +- typedef _Tp* pointer; +-# endif +- typedef _Reference reference; +- +- reverse_bidirectional_iterator() {} +- explicit reverse_bidirectional_iterator(_BidirectionalIterator __x) +- : current(__x) {} +- _BidirectionalIterator base() const { return current; } +- _Reference operator*() const { +- _BidirectionalIterator __tmp = current; +- return *--__tmp; +- } +-# if !(defined __SGI_STL_NO_ARROW_OPERATOR && ! defined (__STL_MSVC50_COMPATIBILITY)) +- __STL_DEFINE_ARROW_OPERATOR +-# endif +- _Self& operator++() { +- --current; +- return *this; +- } +- _Self operator++(int) { +- _Self __tmp = *this; +- --current; +- return __tmp; +- } +- _Self& operator--() { +- ++current; +- return *this; +- } +- _Self operator--(int) { +- _Self __tmp = *this; +- ++current; +- return __tmp; +- } +-}; +- +-# ifdef __STL_USE_OLD_HP_ITERATOR_QUERIES +-template +-inline bidirectional_iterator_tag __STL_CALL +-__ITERATOR_CATEGORY(const reverse_bidirectional_iterator<_BidirectionalIterator, _Tp, Reference__, _Distance>&) +-{ return bidirectional_iterator_tag(); } +-template +-inline _Tp* __STL_CALL +-__VALUE_TYPE(const reverse_bidirectional_iterator<_BidirectionalIterator, _Tp, Reference__, _Distance>&) +-{ return (_Tp*) 0; } +-template +-inline _Distance* __STL_CALL +-__DISTANCE_TYPE(const reverse_bidirectional_iterator<_BidirectionalIterator, _Tp, Reference__, _Distance>&) +-{ return (_Distance*) 0; } +-#endif +- +-template +-inline bool __STL_CALL operator==( +- const reverse_bidirectional_iterator<_BidirectionalIterator, _Tp, +- Reference__, _Distance>& __x, +- const reverse_bidirectional_iterator<_BidirectionalIterator, _Tp, +- Reference__, _Distance>& __y) +-{ +- return __x.base() == __y.base(); +-} +- +-#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE +- +-template +-inline bool __STL_CALL operator!=( +- const reverse_bidirectional_iterator<_BiIter, _Tp, Reference__, _Distance>& __x, +- const reverse_bidirectional_iterator<_BiIter, _Tp, Reference__, _Distance>& __y) +-{ +- return !(__x == __y); +-} +- +-#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ +- +-#endif /* ANACHRONISMS */ +- +-#if defined ( __STL_CLASS_PARTIAL_SPECIALIZATION ) && \ +-! defined (__STL_PARTIAL_SPECIALIZATION_BUG) ++_STLP_BEGIN_NAMESPACE + ++#if defined ( _STLP_CLASS_PARTIAL_SPECIALIZATION ) + // This is the new version of reverse_iterator, as defined in the + // draft C++ standard. It relies on the iterator_traits template, + // which in turn relies on partial specialization. The class +@@ -161,38 +53,32 @@ + { + protected: + _Iterator current; ++ typedef reverse_iterator<_Iterator> _Self; + public: +- typedef typename iterator_traits<_Iterator>::iterator_category +- iterator_category; +- typedef typename iterator_traits<_Iterator>::value_type +- value_type; +- typedef typename iterator_traits<_Iterator>::difference_type +- difference_type; +- typedef typename iterator_traits<_Iterator>::pointer +- pointer; +- typedef typename iterator_traits<_Iterator>::reference +- reference; +- ++ typedef typename iterator_traits<_Iterator>::iterator_category iterator_category; ++ typedef typename iterator_traits<_Iterator>::value_type value_type; ++ typedef typename iterator_traits<_Iterator>::difference_type difference_type; ++ typedef typename iterator_traits<_Iterator>::pointer pointer; ++ typedef typename iterator_traits<_Iterator>::reference reference; + typedef _Iterator iterator_type; +- typedef reverse_iterator<_Iterator> _Self; +- + public: + reverse_iterator() {} + explicit reverse_iterator(iterator_type __x) : current(__x) {} +- + reverse_iterator(const _Self& __x) : current(__x.current) {} +-#ifdef __STL_MEMBER_TEMPLATES ++ _Self& operator = (const _Self& __x) { current = __x.base(); return *this; } ++#ifdef _STLP_MEMBER_TEMPLATES + template +- reverse_iterator(const reverse_iterator<_Iter>& __x) +- : current(__x.base()) {} +-#endif /* __STL_MEMBER_TEMPLATES */ ++ reverse_iterator(const reverse_iterator<_Iter>& __x) : current(__x.base()) {} ++ template ++ _Self& operator = (const reverse_iterator<_Iter>& __x) { current = __x.base(); return *this; } ++#endif /* _STLP_MEMBER_TEMPLATES */ + + iterator_type base() const { return current; } + reference operator*() const { + _Iterator __tmp = current; + return *--__tmp; + } +- __STL_DEFINE_ARROW_OPERATOR ++ _STLP_DEFINE_ARROW_OPERATOR + _Self& operator++() { + --current; + return *this; +@@ -230,248 +116,64 @@ + }; + + template +-inline bool __STL_CALL operator==(const reverse_iterator<_Iterator>& __x, ++inline bool _STLP_CALL operator==(const reverse_iterator<_Iterator>& __x, + const reverse_iterator<_Iterator>& __y) { + return __x.base() == __y.base(); + } + + template +-inline bool __STL_CALL operator<(const reverse_iterator<_Iterator>& __x, ++inline bool _STLP_CALL operator<(const reverse_iterator<_Iterator>& __x, + const reverse_iterator<_Iterator>& __y) { + return __y.base() < __x.base(); + } + +-#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE ++#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE + + template +-inline bool __STL_CALL operator!=(const reverse_iterator<_Iterator>& __x, ++inline bool _STLP_CALL operator!=(const reverse_iterator<_Iterator>& __x, + const reverse_iterator<_Iterator>& __y) { + return !(__x == __y); + } + + template +-inline bool __STL_CALL operator>(const reverse_iterator<_Iterator>& __x, ++inline bool _STLP_CALL operator>(const reverse_iterator<_Iterator>& __x, + const reverse_iterator<_Iterator>& __y) { + return __y < __x; + } + + template +-inline bool __STL_CALL operator<=(const reverse_iterator<_Iterator>& __x, ++inline bool _STLP_CALL operator<=(const reverse_iterator<_Iterator>& __x, + const reverse_iterator<_Iterator>& __y) { + return !(__y < __x); + } + + template +-inline bool __STL_CALL operator>=(const reverse_iterator<_Iterator>& __x, ++inline bool _STLP_CALL operator>=(const reverse_iterator<_Iterator>& __x, + const reverse_iterator<_Iterator>& __y) { + return !(__x < __y); + } + +-#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ ++#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ + + template +-inline typename reverse_iterator<_Iterator>::difference_type __STL_CALL ++# ifdef __SUNPRO_CC ++inline ptrdiff_t _STLP_CALL ++# else ++inline typename reverse_iterator<_Iterator>::difference_type _STLP_CALL ++# endif + operator-(const reverse_iterator<_Iterator>& __x, + const reverse_iterator<_Iterator>& __y) { + return __y.base() - __x.base(); + } + +-template +-inline reverse_iterator<_Iterator> __STL_CALL +-operator+(typename reverse_iterator<_Iterator>::difference_type __n, +- const reverse_iterator<_Iterator>& __x) { +- return reverse_iterator<_Iterator>(__x.base() - __n); ++template ++inline reverse_iterator<_Iterator> _STLP_CALL ++operator+(_DifferenceType n,const reverse_iterator<_Iterator>& x) { ++ return x.operator+(n); + } + + # endif + +-#if ! defined ( __STL_CLASS_PARTIAL_SPECIALIZATION ) || defined (__STL_PARTIAL_SPECIALIZATION_BUG) +- +-// This is the old version of reverse_iterator, as found in the original +-// HP STL. It does not use partial specialization. +- +-template = 0x2405) +- __DFL_TMPL_PARAM(_Tp,iterator_traits<_RandomAccessIterator>::value_type), +-# else +- class _Tp, +-#endif +- __DFL_TMPL_PARAM(_Reference,_Tp&), +-# if defined (__STL_MSVC50_COMPATIBILITY) +- __DFL_TMPL_PARAM(_Pointer, _Tp*), +-# endif +- __DFL_TYPE_PARAM(_Distance,ptrdiff_t)> +-class reverse_iterator { +- typedef reverse_iterator<_RandomAccessIterator, _Tp, Reference__, _Distance> +- _Self; +-protected: +- _RandomAccessIterator __current; +-public: +- typedef random_access_iterator_tag iterator_category; +- typedef _Tp value_type; +- typedef _Distance difference_type; +-# if defined (__STL_MSVC50_COMPATIBILITY) +- typedef _Pointer pointer; +-# else +- typedef _Tp* pointer; +-# endif +- typedef _Reference reference; +- +- reverse_iterator() {} +- reverse_iterator(const _Self& __x) : __current(__x.base()) {} +- explicit reverse_iterator(_RandomAccessIterator __x) : __current(__x) {} +- _Self& operator=(const _Self& __x) {__current = __x.base(); return *this; } +- +- _RandomAccessIterator base() const { return __current; } +- _Reference operator*() const { return *(__current - (difference_type)1); } +- +-# if !(defined __SGI_STL_NO_ARROW_OPERATOR && ! defined (__STL_MSVC50_COMPATIBILITY)) +- __STL_DEFINE_ARROW_OPERATOR +-# endif +- +- _Self& operator++() { +- --__current; +- return *this; +- } +- _Self operator++(int) { +- _Self __tmp = *this; +- --__current; +- return __tmp; +- } +- _Self& operator--() { +- ++__current; +- return *this; +- } +- _Self operator--(int) { +- _Self __tmp = *this; +- ++__current; +- return __tmp; +- } +- _Self operator+(_Distance __n) const { +- return _Self(__current - __n); +- } +- _Self& operator+=(_Distance __n) { +- __current -= __n; +- return *this; +- } +- _Self operator-(_Distance __n) const { +- return _Self(__current + __n); +- } +- _Self& operator-=(_Distance __n) { +- __current += __n; +- return *this; +- } +- _Reference operator[](_Distance __n) const { return *(*this + __n); } +-}; +- +-# ifdef __STL_USE_OLD_HP_ITERATOR_QUERIES +-template +-inline random_access_iterator_tag __STL_CALL +-__ITERATOR_CATEGORY(const reverse_iterator<_RandomAccessIterator, _Tp, Reference__, _Distance>&) +-{ return random_access_iterator_tag(); } +-template +-inline _Tp* __STL_CALL __VALUE_TYPE(const reverse_iterator<_RandomAccessIterator, _Tp, Reference__, _Distance>&) +-{ return (_Tp*) 0; } +-template +-inline _Distance* __STL_CALL +-__DISTANCE_TYPE(const reverse_iterator<_RandomAccessIterator, _Tp, Reference__, _Distance>&) +-{ return (_Distance*) 0; } +-#endif +- +-template +-inline bool __STL_CALL +-operator==(const reverse_iterator<_RandomAccessIterator, _Tp, +- Reference__, _Distance>& __x, +- const reverse_iterator<_RandomAccessIterator, _Tp, +- Reference__, _Distance>& __y) +-{ +- return __x.base() == __y.base(); +-} +- +-template +-inline bool __STL_CALL +-operator<(const reverse_iterator<_RandomAccessIterator, _Tp, +- Reference__, _Distance>& __x, +- const reverse_iterator<_RandomAccessIterator, _Tp, +- Reference__, _Distance>& __y) +-{ +- return __y.base() < __x.base(); +-} +- +-#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE +- +-template +-inline bool __STL_CALL +-operator!=(const reverse_iterator<_RandomAccessIterator, _Tp, +- Reference__, _Distance>& __x, +- const reverse_iterator<_RandomAccessIterator, _Tp, +- Reference__, _Distance>& __y) { +- return !(__x == __y); +-} +- +-template +-inline bool __STL_CALL +-operator>(const reverse_iterator<_RandomAccessIterator, _Tp, +- Reference__, _Distance>& __x, +- const reverse_iterator<_RandomAccessIterator, _Tp, +- Reference__, _Distance>& __y) { +- return __y < __x; +-} +- +-template +-inline bool __STL_CALL +-operator<=(const reverse_iterator<_RandomAccessIterator, _Tp, +- Reference__, _Distance>& __x, +- const reverse_iterator<_RandomAccessIterator, _Tp, +- Reference__, _Distance>& __y) { +- return !(__y < __x); +-} +- +-template +-inline bool __STL_CALL +-operator>=(const reverse_iterator<_RandomAccessIterator, _Tp, +- Reference__, _Distance>& __x, +- const reverse_iterator<_RandomAccessIterator, _Tp, +- Reference__, _Distance>& __y) { +- return !(__x < __y); +-} +- +-#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ +- +-template +-inline _Distance __STL_CALL +-operator-(const reverse_iterator<_RandomAccessIterator, _Tp, +- Reference__, _Distance>& __x, +- const reverse_iterator<_RandomAccessIterator, _Tp, +- Reference__, _Distance>& __y) +-{ +- return __y.base() - __x.base(); +-} +- +-template +-inline reverse_iterator<_RandomAccessIterator, _Tp, +- Reference__, _Distance> __STL_CALL +-operator+(_Distance __n, +- const reverse_iterator<_RandomAccessIterator, _Tp, +- Reference__, _Distance>& __x) +-{ +- return reverse_iterator<_RandomAccessIterator, _Tp, +- Reference__, _Distance>(__x.base() - __n); +-} +- +-#endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */ +- + template + class back_insert_iterator + : public iterator +@@ -484,8 +186,8 @@ + + explicit back_insert_iterator(_Container& __x) : container(&__x) {} + back_insert_iterator<_Container>& +- operator=(const typename _Container::value_type& __value) { +- container->push_back(__value); ++ operator=(const typename _Container::value_type& __val) { ++ container->push_back(__val); + return *this; + } + back_insert_iterator<_Container>& operator*() { return *this; } +@@ -493,14 +195,8 @@ + back_insert_iterator<_Container>& operator++(int) { return *this; } + }; + +-# ifdef __STL_USE_OLD_HP_ITERATOR_QUERIES +-template +-inline output_iterator_tag __STL_CALL +-__ITERATOR_CATEGORY(const back_insert_iterator<_Container>&) { return output_iterator_tag(); } +-#endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */ +- + template +-inline back_insert_iterator<_Container> __STL_CALL back_inserter(_Container& __x) { ++inline back_insert_iterator<_Container> _STLP_CALL back_inserter(_Container& __x) { + return back_insert_iterator<_Container>(__x); + } + +@@ -515,8 +211,8 @@ + typedef output_iterator_tag iterator_category; + explicit front_insert_iterator(_Container& __x) : container(&__x) {} + front_insert_iterator<_Container>& +- operator=(const typename _Container::value_type& __value) { +- container->push_front(__value); ++ operator=(const typename _Container::value_type& __val) { ++ container->push_front(__val); + return *this; + } + front_insert_iterator<_Container>& operator*() { return *this; } +@@ -524,15 +220,8 @@ + front_insert_iterator<_Container>& operator++(int) { return *this; } + }; + +-# ifdef __STL_USE_OLD_HP_ITERATOR_QUERIES +-template +-inline output_iterator_tag __STL_CALL +-__ITERATOR_CATEGORY(const front_insert_iterator<_Container>&) { return output_iterator_tag(); } +- +-#endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */ +- + template +-inline front_insert_iterator<_Container> __STL_CALL front_inserter(_Container& __x) { ++inline front_insert_iterator<_Container> _STLP_CALL front_inserter(_Container& __x) { + return front_insert_iterator<_Container>(__x); + } + +@@ -549,8 +238,8 @@ + insert_iterator(_Container& __x, typename _Container::iterator __i) + : container(&__x), iter(__i) {} + insert_iterator<_Container>& +- operator=(const typename _Container::value_type& __value) { +- iter = container->insert(iter, __value); ++ operator=(const typename _Container::value_type& __val) { ++ iter = container->insert(iter, __val); + ++iter; + return *this; + } +@@ -559,23 +248,21 @@ + insert_iterator<_Container>& operator++(int) { return *this; } + }; + +-# ifdef __STL_USE_OLD_HP_ITERATOR_QUERIES +-template +-inline output_iterator_tag __STL_CALL +-__ITERATOR_CATEGORY(const insert_iterator<_Container>&) { return output_iterator_tag(); } +-# endif +- + template +-inline insert_iterator<_Container> __STL_CALL ++inline insert_iterator<_Container> _STLP_CALL + inserter(_Container& __x, _Iterator __i) + { + typedef typename _Container::iterator __iter; + return insert_iterator<_Container>(__x, __iter(__i)); + } + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE ++ ++#if ! defined ( _STLP_CLASS_PARTIAL_SPECIALIZATION ) || defined (_STLP_USE_OLD_HP_ITERATOR_QUERIES) ++# include ++#endif /* __NO_PARTIAL_SPEC || ANACHRONISMS */ + +-#endif /* __SGI_STL_INTERNAL_ITERATOR_H */ ++#endif /* _STLP_INTERNAL_ITERATOR_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_iterator_base.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_iterator_base.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_iterator_base.h Sat Feb 24 10:44:55 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_iterator_base.h Sun Aug 11 18:59:24 2002 +@@ -27,10 +27,10 @@ + * You should not attempt to use it directly. + */ + +-#ifndef __SGI_STL_INTERNAL_ITERATOR_BASE_H +-#define __SGI_STL_INTERNAL_ITERATOR_BASE_H ++#ifndef _STLP_INTERNAL_ITERATOR_BASE_H ++#define _STLP_INTERNAL_ITERATOR_BASE_H + +-#ifndef __STLPORT_CSTDDEF ++#ifndef _STLP_CSTDDEF + # include + #endif + +@@ -38,26 +38,7 @@ + # include + #endif + +-# if defined ( __STL_USE_ABBREVS ) +-// ugliness is intentional - to reduce conflicts +-# define input_iterator_tag _In__ItT +-# define output_iterator_tag _Ou__ItT +-# define bidirectional_iterator_tag _Bd__ItT +-# define random_access_iterator_tag _Ra__ItT +-# define input_iterator _In__It +-# define output_iterator _Ou__It +-# define bidirectional_iterator _Bd__It +-# define random_access_iterator _Ra__It +-# define reverse_bidirectional_iterator _rBd__It +-# define reverse_iterator _r__It +-# define back_insert_iterator _bI__It +-# define front_insert_iterator _fI__It +-# define raw_storage_iterator _rS__It +-# define _Const_traits _C_Tr +-# define _Nonconst_traits _N_Tr +-# endif +- +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + struct input_iterator_tag {}; + struct output_iterator_tag {}; +@@ -75,10 +56,10 @@ + typedef _Pointer pointer; + typedef _Reference reference; + }; +-__STL_TEMPLATE_NULL ++_STLP_TEMPLATE_NULL + struct iterator { + typedef output_iterator_tag iterator_category; +-#ifdef __STL_CLASS_PARTIAL_SPECIALIZATION ++#ifdef _STLP_CLASS_PARTIAL_SPECIALIZATION + typedef void value_type; + typedef void difference_type; + typedef void pointer; +@@ -86,16 +67,24 @@ + #endif + }; + +-# ifdef __STL_USE_OLD_HP_ITERATOR_QUERIES +-# define __ITERATOR_CATEGORY iterator_category +-# define __DISTANCE_TYPE distance_type +-# define __VALUE_TYPE value_type +-# define __STL_DIFFERENCE_TYPE(_Iterator) ptrdiff_t ++# ifdef _STLP_USE_OLD_HP_ITERATOR_QUERIES ++# define _STLP_ITERATOR_CATEGORY(_It, _Tp) iterator_category(_It) ++# define _STLP_DISTANCE_TYPE(_It, _Tp) distance_type(_It) ++# define _STLP_VALUE_TYPE(_It, _Tp) value_type(_It) + # else +-# define __ITERATOR_CATEGORY __iterator_category +-# define __DISTANCE_TYPE __distance_type +-# define __VALUE_TYPE __value_type +-# define __STL_DIFFERENCE_TYPE(_Iterator) typename iterator_traits<_Iterator>::difference_type ++# ifdef _STLP_CLASS_PARTIAL_SPECIALIZATION ++# define _STLP_VALUE_TYPE(_It, _Tp) (typename iterator_traits< _Tp >::value_type*)0 ++# define _STLP_DISTANCE_TYPE(_It, _Tp) (typename iterator_traits< _Tp >::difference_type*)0 ++# if defined (__BORLANDC__) || defined (__SUNPRO_CC) || ( defined (__MWERKS__) && (__MWERKS__ <= 0x2303)) || ( defined (__sgi) && defined (_COMPILER_VERSION)) ++# define _STLP_ITERATOR_CATEGORY(_It, _Tp) iterator_traits< _Tp >::iterator_category() ++# else ++# define _STLP_ITERATOR_CATEGORY(_It, _Tp) typename iterator_traits< _Tp >::iterator_category() ++# endif ++# else ++# define _STLP_ITERATOR_CATEGORY(_It, _Tp) __iterator_category(_It, _IsPtrType<_Tp>::_Ret()) ++# define _STLP_DISTANCE_TYPE(_It, _Tp) (ptrdiff_t*)0 ++# define _STLP_VALUE_TYPE(_It, _Tp) __value_type(_It, _IsPtrType<_Tp>::_Ret() ) ++# endif + # endif + + template +@@ -107,7 +96,15 @@ + typedef typename _Iterator::reference reference; + }; + +-#ifdef __STL_CLASS_PARTIAL_SPECIALIZATION ++ ++# if defined (_STLP_CLASS_PARTIAL_SPECIALIZATION) && ! defined (__SUNPRO_CC) ++# define _STLP_DIFFERENCE_TYPE(_Iterator) typename iterator_traits<_Iterator>::difference_type ++# else ++# define _STLP_DIFFERENCE_TYPE(_Iterator) ptrdiff_t ++# endif ++ ++# ifdef _STLP_CLASS_PARTIAL_SPECIALIZATION ++ + // fbp : this order keeps gcc happy + template + struct iterator_traits { +@@ -127,7 +124,7 @@ + typedef _Tp& reference; + }; + +-# ifdef __BORLANDC__ ++# if defined (__BORLANDC__) + template + struct iterator_traits<_Tp* const> { + typedef random_access_iterator_tag iterator_category; +@@ -136,66 +133,96 @@ + typedef const _Tp* pointer; + typedef const _Tp& reference; + }; +-# endif +-#endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */ ++# endif ++ ++# endif /* _STLP_CLASS_PARTIAL_SPECIALIZATION */ ++ + +-# ifdef __STL_CLASS_PARTIAL_SPECIALIZATION +-# define __STL_POINTERS_SPECIALIZE( _TpP ) ++# if defined (_STLP_CLASS_PARTIAL_SPECIALIZATION) \ ++ || (defined (_STLP_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS) && ! defined (_STLP_NO_ARROW_OPERATOR)) ++# define _STLP_POINTERS_SPECIALIZE( _TpP ) ++# define _STLP_DEFINE_ARROW_OPERATOR pointer operator->() const { return &(operator*()); } + # else +- __STL_END_NAMESPACE + # include +- __STL_BEGIN_NAMESPACE + # endif + +-# ifndef __STL_USE_OLD_HP_ITERATOR_QUERIES ++# ifndef _STLP_USE_OLD_HP_ITERATOR_QUERIES + // The overloaded functions iterator_category, distance_type, and + // value_type are not part of the C++ standard. (They have been + // replaced by struct iterator_traits.) They are included for + // backward compatibility with the HP STL. +- + // We introduce internal names for these functions. + ++# ifdef _STLP_CLASS_PARTIAL_SPECIALIZATION ++ + template +-inline typename iterator_traits<_Iter>::iterator_category +-__ITERATOR_CATEGORY(const _Iter&) +-{ ++inline typename iterator_traits<_Iter>::iterator_category __iterator_category(const _Iter&) { + typedef typename iterator_traits<_Iter>::iterator_category _Category; + return _Category(); + } + + template +-inline typename iterator_traits<_Iter>::difference_type* +-__DISTANCE_TYPE(const _Iter&) +-{ ++inline typename iterator_traits<_Iter>::difference_type* __distance_type(const _Iter&) { + typedef typename iterator_traits<_Iter>::difference_type _diff_type; + return __STATIC_CAST(_diff_type*,0); + } + + template +-inline typename iterator_traits<_Iter>::value_type* +-__VALUE_TYPE(const _Iter&) +-{ ++inline typename iterator_traits<_Iter>::value_type* __value_type(const _Iter&) { + typedef typename iterator_traits<_Iter>::value_type _value_type; + return __STATIC_CAST(_value_type*,0); + } + +-#else /* old queries */ ++# else ++ ++template ++inline random_access_iterator_tag ++__iterator_category(const _Iter&, const __true_type&) { ++ return random_access_iterator_tag(); ++} ++ ++template ++inline _STLP_TYPENAME_ON_RETURN_TYPE iterator_traits<_Iter>::iterator_category ++__iterator_category(const _Iter&, const __false_type&) { ++ typedef typename iterator_traits<_Iter>::iterator_category _Category; ++ return _Category(); ++} ++ ++ ++template ++inline ptrdiff_t* _STLP_CALL __distance_type(const _Iter&) { return (ptrdiff_t*)(0); } ++ ++template ++inline _STLP_TYPENAME_ON_RETURN_TYPE iterator_traits<_Iter>::value_type* ++__value_type(const _Iter&, const __false_type&) { ++ typedef typename iterator_traits<_Iter>::value_type _value_type; ++ return __STATIC_CAST(_value_type*,0); ++} ++ ++template ++inline _Tp* ++__value_type(const _Tp*, const __true_type&) { ++ return __STATIC_CAST(_Tp*, 0); ++} + ++# endif ++ ++#else /* old queries */ + template +-inline _Category __STL_CALL __ITERATOR_CATEGORY(const iterator<_Category,_Tp,_Distance,_Pointer,_Reference>&) { return _Category(); } ++inline _Category _STLP_CALL iterator_category(const iterator<_Category,_Tp,_Distance,_Pointer,_Reference>&) { return _Category(); } + template +-inline _Tp* __STL_CALL __VALUE_TYPE(const iterator<_Category,_Tp,_Distance,_Pointer,_Reference>&) { return (_Tp*)(0); } ++inline _Tp* _STLP_CALL value_type(const iterator<_Category,_Tp,_Distance,_Pointer,_Reference>&) { return (_Tp*)(0); } + template +-inline _Distance* __STL_CALL __DISTANCE_TYPE(const iterator<_Category,_Tp,_Distance,_Pointer,_Reference>&) { return (_Distance*)(0); } ++inline _Distance* _STLP_CALL distance_type(const iterator<_Category,_Tp,_Distance,_Pointer,_Reference>&) { return (_Distance*)(0); } + template +-inline random_access_iterator_tag __STL_CALL __ITERATOR_CATEGORY(const _Tp*) { return random_access_iterator_tag(); } ++inline random_access_iterator_tag _STLP_CALL iterator_category(const _Tp*) { return random_access_iterator_tag(); } + template +-inline _Tp* __STL_CALL __VALUE_TYPE(const _Tp*) { return (_Tp*)(0); } ++inline _Tp* _STLP_CALL value_type(const _Tp*) { return (_Tp*)(0); } + template +-inline ptrdiff_t* __STL_CALL __DISTANCE_TYPE(const _Tp*) { return (ptrdiff_t*)(0); } +-#endif /* __STL_USE_OLD_HP_ITERATOR_QUERIES */ ++inline ptrdiff_t* _STLP_CALL distance_type(const _Tp*) { return (ptrdiff_t*)(0); } ++#endif /* _STLP_USE_OLD_HP_ITERATOR_QUERIES */ + +-# if ! defined (__STL_NO_ANACHRONISMS) ++# if ! defined (_STLP_NO_ANACHRONISMS) + // The base classes input_iterator, output_iterator, forward_iterator, + // bidirectional_iterator, and random_access_iterator are not part of + // the C++ standard. (They have been replaced by struct iterator.) +@@ -210,133 +237,130 @@ + template struct random_access_iterator : + public iterator {}; + +-# if defined (__STL_BASE_MATCH_BUG) && defined (__STL_USE_OLD_HP_ITERATOR_QUERIES) ++# if defined (_STLP_BASE_MATCH_BUG) && defined (_STLP_USE_OLD_HP_ITERATOR_QUERIES) + template +-inline input_iterator_tag __STL_CALL +-__ITERATOR_CATEGORY(const input_iterator<_Tp, _Distance>&) { return input_iterator_tag(); } +-inline output_iterator_tag __STL_CALL +-__ITERATOR_CATEGORY(const output_iterator&) { return output_iterator_tag(); } ++inline input_iterator_tag _STLP_CALL ++iterator_category(const input_iterator<_Tp, _Distance>&) { return input_iterator_tag(); } ++inline output_iterator_tag _STLP_CALL ++iterator_category(const output_iterator&) { return output_iterator_tag(); } + template +-inline forward_iterator_tag __STL_CALL +-__ITERATOR_CATEGORY(const forward_iterator<_Tp, _Distance>&) { return forward_iterator_tag(); } ++inline forward_iterator_tag _STLP_CALL ++iterator_category(const forward_iterator<_Tp, _Distance>&) { return forward_iterator_tag(); } + template +-inline bidirectional_iterator_tag __STL_CALL +-__ITERATOR_CATEGORY(const bidirectional_iterator<_Tp, _Distance>&) { return bidirectional_iterator_tag(); } ++inline bidirectional_iterator_tag _STLP_CALL ++iterator_category(const bidirectional_iterator<_Tp, _Distance>&) { return bidirectional_iterator_tag(); } + template +-inline random_access_iterator_tag __STL_CALL +-__ITERATOR_CATEGORY(const random_access_iterator<_Tp, _Distance>&) { return random_access_iterator_tag(); } ++inline random_access_iterator_tag _STLP_CALL ++iterator_category(const random_access_iterator<_Tp, _Distance>&) { return random_access_iterator_tag(); } + template +-inline _Tp* __STL_CALL __VALUE_TYPE(const input_iterator<_Tp, _Distance>&) { return (_Tp*)(0); } ++inline _Tp* _STLP_CALL value_type(const input_iterator<_Tp, _Distance>&) { return (_Tp*)(0); } + template +-inline _Tp* __STL_CALL __VALUE_TYPE(const forward_iterator<_Tp, _Distance>&) { return (_Tp*)(0); } ++inline _Tp* _STLP_CALL value_type(const forward_iterator<_Tp, _Distance>&) { return (_Tp*)(0); } + template +-inline _Tp* __STL_CALL __VALUE_TYPE(const bidirectional_iterator<_Tp, _Distance>&) { return (_Tp*)(0); } ++inline _Tp* _STLP_CALL value_type(const bidirectional_iterator<_Tp, _Distance>&) { return (_Tp*)(0); } + template +-inline _Tp* __STL_CALL __VALUE_TYPE(const random_access_iterator<_Tp, _Distance>&) { return (_Tp*)(0); } ++inline _Tp* _STLP_CALL value_type(const random_access_iterator<_Tp, _Distance>&) { return (_Tp*)(0); } + template +-inline _Distance* __STL_CALL __DISTANCE_TYPE(const input_iterator<_Tp, _Distance>&) { return (_Distance*)(0); } ++inline _Distance* _STLP_CALL distance_type(const input_iterator<_Tp, _Distance>&) { return (_Distance*)(0); } + template +-inline _Distance* __STL_CALL __DISTANCE_TYPE(const forward_iterator<_Tp, _Distance>&) { return (_Distance*)(0); } ++inline _Distance* _STLP_CALL distance_type(const forward_iterator<_Tp, _Distance>&) { return (_Distance*)(0); } + template +-inline _Distance* __STL_CALL __DISTANCE_TYPE(const bidirectional_iterator<_Tp, _Distance>&) { return (_Distance*)(0);} ++inline _Distance* _STLP_CALL distance_type(const bidirectional_iterator<_Tp, _Distance>&) { return (_Distance*)(0);} + template +-inline _Distance* __STL_CALL __DISTANCE_TYPE(const random_access_iterator<_Tp, _Distance>&) { return (_Distance*)(0); } ++inline _Distance* _STLP_CALL distance_type(const random_access_iterator<_Tp, _Distance>&) { return (_Distance*)(0); } + # endif /* BASE_MATCH */ +-#endif /* __STL_NO_ANACHRONISMS */ + ++#endif /* _STLP_NO_ANACHRONISMS */ + + template +-inline void __STL_CALL __distance(_InputIterator __first, _InputIterator __last, +- _Distance& __n, input_iterator_tag) +-{ +- while (__first != __last) { ++__first; ++__n; } ++inline void _STLP_CALL __distance(const _InputIterator& __first, const _InputIterator& __last, ++ _Distance& __n, const input_iterator_tag &) { ++ _InputIterator __it(__first); ++ while (__it != __last) { ++__it; ++__n; } + } + +-# if defined (__STL_NONTEMPL_BASE_MATCH_BUG) ++# if defined (_STLP_NONTEMPL_BASE_MATCH_BUG) + template +-inline void __STL_CALL __distance(_ForwardIterator __first, _ForwardIterator __last, +- _Distance& __n, forward_iterator_tag) +-{ +- while (__first != __last) { ++__first; ++__n; } ++inline void _STLP_CALL __distance(const _ForwardIterator& __first, const _ForwardIterator& __last, ++ _Distance& __n, const forward_iterator_tag &) { ++ _ForwardIterator __it(__first); ++ while (__it != __last) { ++__first; ++__n; } + } + + template +-__STL_INLINE_LOOP void __STL_CALL __distance(_BidirectionalIterator __first, +- _BidirectionalIterator __last, +- _Distance& __n, bidirectional_iterator_tag) { +- while (__first != __last) { ++__first; ++__n; } ++_STLP_INLINE_LOOP void _STLP_CALL __distance(const _BidirectionalIterator& __first, ++ const _BidirectionalIterator& __last, ++ _Distance& __n, const bidirectional_iterator_tag &) { ++ _BidirectionalIterator __it(__first); ++ while (__it != __last) { ++__it; ++__n; } + } + # endif + + template +-inline void __STL_CALL __distance(_RandomAccessIterator __first, +- _RandomAccessIterator __last, +- _Distance& __n, random_access_iterator_tag) +-{ ++inline void _STLP_CALL __distance(const _RandomAccessIterator& __first, ++ const _RandomAccessIterator& __last, ++ _Distance& __n, const random_access_iterator_tag &) { + __n += __last - __first; + } + ++#ifndef _STLP_NO_ANACHRONISMS + template +-inline void __STL_CALL distance(_InputIterator __first, +- _InputIterator __last, _Distance& __n) +-{ +- __distance(__first, __last, __n, __ITERATOR_CATEGORY(__first)); ++inline void _STLP_CALL distance(const _InputIterator& __first, ++ const _InputIterator& __last, _Distance& __n) { ++ __distance(__first, __last, __n, _STLP_ITERATOR_CATEGORY(__first, _InputIterator)); + } ++#endif + + template +-inline __STL_DIFFERENCE_TYPE(_InputIterator) __STL_CALL +-__distance(_InputIterator __first, _InputIterator __last, input_iterator_tag) +-{ +- __STL_DIFFERENCE_TYPE(_InputIterator) __n = 0; +- while (__first != __last) { +- ++__first; ++__n; ++inline _STLP_DIFFERENCE_TYPE(_InputIterator) _STLP_CALL ++__distance(const _InputIterator& __first, const _InputIterator& __last, const input_iterator_tag &) { ++ _STLP_DIFFERENCE_TYPE(_InputIterator) __n = 0; ++ _InputIterator __it(__first); ++ while (__it != __last) { ++ ++__it; ++__n; + } + return __n; + } + +-# if defined (__STL_NONTEMPL_BASE_MATCH_BUG) ++# if defined (_STLP_NONTEMPL_BASE_MATCH_BUG) + template +-inline __STL_DIFFERENCE_TYPE(_ForwardIterator) __STL_CALL +-__distance(_ForwardIterator __first, _ForwardIterator __last, +- forward_iterator_tag) +-{ +- __STL_DIFFERENCE_TYPE(_ForwardIterator) __n = 0; +- while (__first != __last) { +- ++__first; ++__n; ++inline _STLP_DIFFERENCE_TYPE(_ForwardIterator) _STLP_CALL ++__distance(const _ForwardIterator& __first, const _ForwardIterator& __last, ++ const forward_iterator_tag &) ++{ ++ _STLP_DIFFERENCE_TYPE(_ForwardIterator) __n = 0; ++ _ForwardIterator __it(__first); ++ while (__it != __last) { ++ ++__it; ++__n; + } + return __n; + } + + template +-__STL_INLINE_LOOP __STL_DIFFERENCE_TYPE(_BidirectionalIterator) __STL_CALL +-__distance(_BidirectionalIterator __first, +- _BidirectionalIterator __last, +- bidirectional_iterator_tag) { +- __STL_DIFFERENCE_TYPE(_BidirectionalIterator) __n = 0; +- while (__first != __last) { +- ++__first; ++__n; ++_STLP_INLINE_LOOP _STLP_DIFFERENCE_TYPE(_BidirectionalIterator) _STLP_CALL ++__distance(const _BidirectionalIterator& __first, ++ const _BidirectionalIterator& __last, ++ const bidirectional_iterator_tag &) { ++ _STLP_DIFFERENCE_TYPE(_BidirectionalIterator) __n = 0; ++ _BidirectionalIterator __it(__first); ++ while (__it != __last) { ++ ++__it; ++__n; + } + return __n; + } + # endif + + template +-inline __STL_DIFFERENCE_TYPE(_RandomAccessIterator) __STL_CALL +-__distance(_RandomAccessIterator __first, _RandomAccessIterator __last, +- random_access_iterator_tag) { ++inline _STLP_DIFFERENCE_TYPE(_RandomAccessIterator) _STLP_CALL ++__distance(const _RandomAccessIterator& __first, const _RandomAccessIterator& __last, ++ const random_access_iterator_tag &) { + return __last - __first; + } + + template +-inline __STL_DIFFERENCE_TYPE(_InputIterator) __STL_CALL +-distance(_InputIterator __first, _InputIterator __last) { +-# ifdef __STL_CLASS_PARTIAL_SPECIALIZATION +- typedef typename iterator_traits<_InputIterator>::iterator_category +- _Category; +- return __distance(__first, __last, _Category()); +-# else +- return __distance(__first, __last, __ITERATOR_CATEGORY(__first)); +-# endif ++inline _STLP_DIFFERENCE_TYPE(_InputIterator) _STLP_CALL ++distance(const _InputIterator& __first, const _InputIterator& __last) { ++ return __distance(__first, __last, _STLP_ITERATOR_CATEGORY(__first, _InputIterator)); + } + + +@@ -360,7 +384,7 @@ + typedef _Nonconst_traits<_Tp> _Non_const_traits; + }; + +-# if defined (__STL_BASE_TYPEDEF_BUG) ++# if defined (_STLP_BASE_TYPEDEF_BUG) + // this workaround is needed for SunPro 4.0.1 + template + struct __cnst_traits_aux : private _Traits +@@ -372,37 +396,36 @@ + # define __TRAITS_VALUE_TYPE(_Traits) _Traits::value_type + # endif + +-# if defined (__STL_MSVC) ++# if defined (_STLP_MSVC) + // MSVC specific + template +-inline void __STL_CALL _Distance(_InputIterator __first, +- _InputIterator __last, _Dist& __n) +-{ +- __distance(__first, __last, __n, __ITERATOR_CATEGORY(__first)); ++inline void _STLP_CALL _Distance(_InputIterator __first, ++ _InputIterator __last, _Dist& __n) { ++ __distance(__first, __last, __n, _STLP_ITERATOR_CATEGORY(__first, _InputIterator)); + } + # endif + + template +-__STL_INLINE_LOOP void __STL_CALL __advance(_InputIter& __i, _Distance __n, input_iterator_tag) { ++_STLP_INLINE_LOOP void _STLP_CALL __advance(_InputIter& __i, _Distance __n, const input_iterator_tag &) { + while (__n--) ++__i; + } + + // fbp : added output iterator tag variant + template +-__STL_INLINE_LOOP void __STL_CALL __advance(_InputIter& __i, _Distance __n, output_iterator_tag) { ++_STLP_INLINE_LOOP void _STLP_CALL __advance(_InputIter& __i, _Distance __n, const output_iterator_tag &) { + while (__n--) ++__i; + } + +-# if defined (__STL_NONTEMPL_BASE_MATCH_BUG) ++# if defined (_STLP_NONTEMPL_BASE_MATCH_BUG) + template +-__STL_INLINE_LOOP void __STL_CALL __advance(_ForwardIterator& i, _Distance n, forward_iterator_tag) { ++_STLP_INLINE_LOOP void _STLP_CALL __advance(_ForwardIterator& i, _Distance n, const forward_iterator_tag &) { + while (n--) ++i; + } + # endif + + template +-__STL_INLINE_LOOP void __STL_CALL __advance(_BidirectionalIterator& __i, _Distance __n, +- bidirectional_iterator_tag) { ++_STLP_INLINE_LOOP void _STLP_CALL __advance(_BidirectionalIterator& __i, _Distance __n, ++ const bidirectional_iterator_tag &) { + if (__n > 0) + while (__n--) ++__i; + else +@@ -410,23 +433,23 @@ + } + + template +-inline void __STL_CALL __advance(_RandomAccessIterator& __i, _Distance __n, +- random_access_iterator_tag) { ++inline void _STLP_CALL __advance(_RandomAccessIterator& __i, _Distance __n, ++ const random_access_iterator_tag &) { + __i += __n; + } + + template +-inline void __STL_CALL advance(_InputIterator& __i, _Distance __n) { +- __advance(__i, __n, __ITERATOR_CATEGORY(__i)); ++inline void _STLP_CALL advance(_InputIterator& __i, _Distance __n) { ++ __advance(__i, __n, _STLP_ITERATOR_CATEGORY(__i, _InputIterator)); + } + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-# if defined (__STL_DEBUG) && ! defined (__STLPORT_DEBUG_H) ++# if defined (_STLP_DEBUG) && ! defined (_STLP_DEBUG_H) + # include + # endif + +-#endif /* __SGI_STL_INTERNAL_ITERATOR_BASE_H */ ++#endif /* _STLP_INTERNAL_ITERATOR_BASE_H */ + + + // Local Variables: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_iterator_old.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_iterator_old.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_iterator_old.h Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_iterator_old.h Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,351 @@ ++/* ++ * ++ * Copyright (c) 1994 ++ * Hewlett-Packard Company ++ * ++ * Copyright (c) 1996-1998 ++ * Silicon Graphics Computer Systems, Inc. ++ * ++ * Copyright (c) 1997 ++ * Moscow Center for SPARC Technology ++ * ++ * Copyright (c) 1999 ++ * Boris Fomitchev ++ * ++ * This material is provided "as is", with absolutely no warranty expressed ++ * or implied. Any use is at your own risk. ++ * ++ * Permission to use or copy this software for any purpose is hereby granted ++ * without fee, provided the above notices are retained on all copies. ++ * Permission to modify the code and to distribute modified code is granted, ++ * provided the above notices are retained, and a notice that the code was ++ * modified is included with the above copyright notice. ++ * ++ */ ++ ++/* NOTE: This is an internal header file, included by other STL headers. ++ * You should not attempt to use it directly. ++ */ ++ ++#ifndef _STLP_INTERNAL_ITERATOR_OLD_H ++#define _STLP_INTERNAL_ITERATOR_OLD_H ++ ++#ifndef _STLP_INTERNAL_ITERATOR_BASE_H ++# include ++#endif ++ ++_STLP_BEGIN_NAMESPACE ++ ++# ifdef _STLP_USE_OLD_HP_ITERATOR_QUERIES ++ ++template ++inline output_iterator_tag _STLP_CALL ++iterator_category(const back_insert_iterator<_Container>&) { return output_iterator_tag(); } ++template ++inline output_iterator_tag _STLP_CALL ++iterator_category(const front_insert_iterator<_Container>&) { return output_iterator_tag(); } ++template ++inline output_iterator_tag _STLP_CALL ++iterator_category(const insert_iterator<_Container>&) { return output_iterator_tag(); } ++ ++# endif ++ ++# if defined (_STLP_MSVC50_COMPATIBILITY) ++# define __Reference _Reference, class _Pointer ++# define Reference__ _Reference, _Pointer ++template ++# else ++# define __Reference _Reference ++# define Reference__ _Reference ++template ++# endif ++class reverse_bidirectional_iterator { ++ typedef reverse_bidirectional_iterator<_BidirectionalIterator, _Tp, ++ Reference__, _Distance> _Self; ++ // friend inline bool operator== _STLP_NULL_TMPL_ARGS (const _Self& x, const _Self& y); ++protected: ++ _BidirectionalIterator current; ++public: ++ typedef bidirectional_iterator_tag iterator_category; ++ typedef _Tp value_type; ++ typedef _Distance difference_type; ++# if defined (_STLP_MSVC50_COMPATIBILITY) ++ typedef _Pointer pointer; ++# else ++ typedef _Tp* pointer; ++# endif ++ typedef _Reference reference; ++ ++ reverse_bidirectional_iterator() {} ++ explicit reverse_bidirectional_iterator(_BidirectionalIterator __x) ++ : current(__x) {} ++ _BidirectionalIterator base() const { return current; } ++ _Reference operator*() const { ++ _BidirectionalIterator __tmp = current; ++ return *--__tmp; ++ } ++# if !(defined _STLP_NO_ARROW_OPERATOR) ++ _STLP_DEFINE_ARROW_OPERATOR ++# endif ++ _Self& operator++() { ++ --current; ++ return *this; ++ } ++ _Self operator++(int) { ++ _Self __tmp = *this; ++ --current; ++ return __tmp; ++ } ++ _Self& operator--() { ++ ++current; ++ return *this; ++ } ++ _Self operator--(int) { ++ _Self __tmp = *this; ++ ++current; ++ return __tmp; ++ } ++}; ++ ++# ifdef _STLP_USE_OLD_HP_ITERATOR_QUERIES ++template ++inline bidirectional_iterator_tag _STLP_CALL ++iterator_category(const reverse_bidirectional_iterator<_BidirectionalIterator, _Tp, Reference__, _Distance>&) ++{ return bidirectional_iterator_tag(); } ++template ++inline _Tp* _STLP_CALL ++value_type(const reverse_bidirectional_iterator<_BidirectionalIterator, _Tp, Reference__, _Distance>&) ++{ return (_Tp*) 0; } ++template ++inline _Distance* _STLP_CALL ++distance_type(const reverse_bidirectional_iterator<_BidirectionalIterator, _Tp, Reference__, _Distance>&) ++{ return (_Distance*) 0; } ++#endif ++ ++template ++inline bool _STLP_CALL operator==( ++ const reverse_bidirectional_iterator<_BidirectionalIterator, _Tp, ++ Reference__, _Distance>& __x, ++ const reverse_bidirectional_iterator<_BidirectionalIterator, _Tp, ++ Reference__, _Distance>& __y) ++{ ++ return __x.base() == __y.base(); ++} ++ ++#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE ++ ++template ++inline bool _STLP_CALL operator!=( ++ const reverse_bidirectional_iterator<_BiIter, _Tp, Reference__, _Distance>& __x, ++ const reverse_bidirectional_iterator<_BiIter, _Tp, Reference__, _Distance>& __y) ++{ ++ return !(__x == __y); ++} ++ ++#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ ++ ++#if ! defined ( _STLP_CLASS_PARTIAL_SPECIALIZATION ) ++ ++// This is the old version of reverse_iterator, as found in the original ++// HP STL. It does not use partial specialization. ++ ++template = 0x2405) \ ++ || defined(__MRC__) || defined(__SC__) //*ty 03/22/2001 - give the default to the secont param under MPW. ++ // I believe giving the default will cause any harm even though the 2nd type parameter ++ // still have to be provided for T* type iterators. ++ __DFL_TMPL_PARAM(_Tp,iterator_traits<_RandomAccessIterator>::value_type), ++# else ++ class _Tp, ++#endif ++ __DFL_TMPL_PARAM(_Reference,_Tp&), ++# if defined (_STLP_MSVC50_COMPATIBILITY) ++ __DFL_TMPL_PARAM(_Pointer, _Tp*), ++# endif ++ __DFL_TYPE_PARAM(_Distance,ptrdiff_t)> ++class reverse_iterator { ++ typedef reverse_iterator<_RandomAccessIterator, _Tp, Reference__, _Distance> ++ _Self; ++protected: ++ _RandomAccessIterator __current; ++public: ++ typedef random_access_iterator_tag iterator_category; ++ typedef _Tp value_type; ++ typedef _Distance difference_type; ++# if defined (_STLP_MSVC50_COMPATIBILITY) ++ typedef _Pointer pointer; ++# else ++ typedef _Tp* pointer; ++# endif ++ typedef _Reference reference; ++ ++ reverse_iterator() {} ++ reverse_iterator(const _Self& __x) : __current(__x.base()) {} ++ explicit reverse_iterator(_RandomAccessIterator __x) : __current(__x) {} ++ _Self& operator=(const _Self& __x) {__current = __x.base(); return *this; } ++ ++ _RandomAccessIterator base() const { return __current; } ++ _Reference operator*() const { return *(__current - (difference_type)1); } ++ ++# if !(defined _STLP_NO_ARROW_OPERATOR) ++ _STLP_DEFINE_ARROW_OPERATOR ++# endif ++ ++ _Self& operator++() { ++ --__current; ++ return *this; ++ } ++ _Self operator++(int) { ++ _Self __tmp = *this; ++ --__current; ++ return __tmp; ++ } ++ _Self& operator--() { ++ ++__current; ++ return *this; ++ } ++ _Self operator--(int) { ++ _Self __tmp = *this; ++ ++__current; ++ return __tmp; ++ } ++ _Self operator+(_Distance __n) const { ++ return _Self(__current - __n); ++ } ++ _Self& operator+=(_Distance __n) { ++ __current -= __n; ++ return *this; ++ } ++ _Self operator-(_Distance __n) const { ++ return _Self(__current + __n); ++ } ++ _Self& operator-=(_Distance __n) { ++ __current += __n; ++ return *this; ++ } ++ _Reference operator[](_Distance __n) const { return *(*this + __n); } ++}; ++ ++# ifdef _STLP_USE_OLD_HP_ITERATOR_QUERIES ++template ++inline random_access_iterator_tag _STLP_CALL ++iterator_category(const reverse_iterator<_RandomAccessIterator, _Tp, Reference__, _Distance>&) ++{ return random_access_iterator_tag(); } ++template ++inline _Tp* _STLP_CALL value_type(const reverse_iterator<_RandomAccessIterator, _Tp, Reference__, _Distance>&) ++{ return (_Tp*) 0; } ++template ++inline _Distance* _STLP_CALL ++distance_type(const reverse_iterator<_RandomAccessIterator, _Tp, Reference__, _Distance>&) ++{ return (_Distance*) 0; } ++#endif ++ ++template ++inline bool _STLP_CALL ++operator==(const reverse_iterator<_RandomAccessIterator, _Tp, ++ Reference__, _Distance>& __x, ++ const reverse_iterator<_RandomAccessIterator, _Tp, ++ Reference__, _Distance>& __y) ++{ ++ return __x.base() == __y.base(); ++} ++ ++template ++inline bool _STLP_CALL ++operator<(const reverse_iterator<_RandomAccessIterator, _Tp, ++ Reference__, _Distance>& __x, ++ const reverse_iterator<_RandomAccessIterator, _Tp, ++ Reference__, _Distance>& __y) ++{ ++ return __y.base() < __x.base(); ++} ++ ++#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE ++ ++template ++inline bool _STLP_CALL ++operator!=(const reverse_iterator<_RandomAccessIterator, _Tp, ++ Reference__, _Distance>& __x, ++ const reverse_iterator<_RandomAccessIterator, _Tp, ++ Reference__, _Distance>& __y) { ++ return !(__x == __y); ++} ++ ++template ++inline bool _STLP_CALL ++operator>(const reverse_iterator<_RandomAccessIterator, _Tp, ++ Reference__, _Distance>& __x, ++ const reverse_iterator<_RandomAccessIterator, _Tp, ++ Reference__, _Distance>& __y) { ++ return __y < __x; ++} ++ ++template ++inline bool _STLP_CALL ++operator<=(const reverse_iterator<_RandomAccessIterator, _Tp, ++ Reference__, _Distance>& __x, ++ const reverse_iterator<_RandomAccessIterator, _Tp, ++ Reference__, _Distance>& __y) { ++ return !(__y < __x); ++} ++ ++template ++inline bool _STLP_CALL ++operator>=(const reverse_iterator<_RandomAccessIterator, _Tp, ++ Reference__, _Distance>& __x, ++ const reverse_iterator<_RandomAccessIterator, _Tp, ++ Reference__, _Distance>& __y) { ++ return !(__x < __y); ++} ++ ++#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ ++ ++template ++inline _Distance _STLP_CALL ++operator-(const reverse_iterator<_RandomAccessIterator, _Tp, ++ Reference__, _Distance>& __x, ++ const reverse_iterator<_RandomAccessIterator, _Tp, ++ Reference__, _Distance>& __y) ++{ ++ return __y.base() - __x.base(); ++} ++ ++template ++inline reverse_iterator<_RandomAccessIterator, _Tp, ++ Reference__, _Distance> _STLP_CALL ++operator+(_Distance __n, ++ const reverse_iterator<_RandomAccessIterator, _Tp, ++ Reference__, _Distance>& __x) ++{ ++ return reverse_iterator<_RandomAccessIterator, _Tp, ++ Reference__, _Distance>(__x.base() - __n); ++} ++ ++#endif /* ! defined ( _STLP_CLASS_PARTIAL_SPECIALIZATION ) */ ++ ++_STLP_END_NAMESPACE ++ ++#endif /* _STLP_INTERNAL_ITERATOR_H */ ++ ++// Local Variables: ++// mode:C++ ++// End: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_limits.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_limits.c +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_limits.c Sat Feb 24 10:44:56 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_limits.c Sun Aug 11 18:59:24 2002 +@@ -16,53 +16,24 @@ + * + */ + +-# if !defined (__STLPORT_LIMITS_C) || !defined (__STL_LINK_TIME_INSTANTIATION) +-# undef __STLPORT_LIMITS_C +-# define __STLPORT_LIMITS_C ++# if !defined (_STLP_LIMITS_C) ++# define _STLP_LIMITS_C ++ ++#ifndef _STLP_INTERNAL_LIMITS_H ++# include ++#endif + + //========================================================== + // numeric_limits static members + //========================================================== + +-__STL_BEGIN_NAMESPACE +- +-# ifdef __STL_NO_STATIC_TEMPLATE_DATA ++_STLP_BEGIN_NAMESPACE + +-// gcc 2.7.x seems to allow inline initialization, and +-// it is the only compiler without static members, so leave it alone ++# if ! defined ( _STLP_STATIC_CONST_INIT_BUG) + +-# define __declare_numeric_base_member(__number, __type, __mem) \ +-__DECLARE_INSTANCE(const __type,_Numeric_limits_base<__number>:: __mem) +- +-# define __declare_numeric_base_members(__number) \ +-__declare_numeric_base_member(__number, bool, is_specialized);\ +-__declare_numeric_base_member(__number, int, digits);\ +-__declare_numeric_base_member(__number, int, digits10);\ +-__declare_numeric_base_member(__number, bool, is_signed);\ +-__declare_numeric_base_member(__number, bool, is_integer);\ +-__declare_numeric_base_member(__number, bool, is_exact);\ +-__declare_numeric_base_member(__number, int, radix);\ +-__declare_numeric_base_member(__number, int, min_exponent);\ +-__declare_numeric_base_member(__number, int, max_exponent);\ +-__declare_numeric_base_member(__number, int, min_exponent10);\ +-__declare_numeric_base_member(__number, int, max_exponent10);\ +-__declare_numeric_base_member(__number, bool, has_infinity);\ +-__declare_numeric_base_member(__number, bool, has_quiet_NaN);\ +-__declare_numeric_base_member(__number, bool, has_signaling_NaN);\ +-__declare_numeric_base_member(__number, float_denorm_style, has_denorm);\ +-__declare_numeric_base_member(__number, bool, has_denorm_loss);\ +-__declare_numeric_base_member(__number, bool, is_iec559);\ +-__declare_numeric_base_member(__number, bool, is_bounded);\ +-__declare_numeric_base_member(__number, bool, is_modulo);\ +-__declare_numeric_base_member(__number, bool, traps);\ +-__declare_numeric_base_member(__number, bool, tinyness_before);\ +-__declare_numeric_base_member(__number, float_round_style, round_style); +- +-# else +- +-# define __declare_numeric_base_member(__type, __mem, __init) \ ++# define __declare_numeric_base_member(__type, __mem, _Init) \ + template \ +- const __type _Numeric_limits_base<__number>:: __mem __STL_OUTLINE_STATIC_INIT(__init) ++ const __type _Numeric_limits_base<__number>:: __mem + + __declare_numeric_base_member(bool, is_specialized, false); + __declare_numeric_base_member(int, digits, 0); +@@ -87,81 +58,25 @@ + __declare_numeric_base_member(bool, tinyness_before, false); + __declare_numeric_base_member(float_round_style, round_style, round_toward_zero); + +-# endif +- + # undef __declare_numeric_base_member + +-# if defined (__STL_NO_STATIC_TEMPLATE_DATA) +-# define __HACK_ILIMITS(_Int, __imin, __imax, __idigits) _Integer_limits<_Int, __imin, __imax, __idigits> +-# define __HACK_NOTHING +-# define __declare_integer_limits_member(_Int, __imin, __imax, __idigits, __type, __mem) \ +- __DECLARE_INSTANCE(const __type, __HACK_ILIMITS(_Int, __imin, __imax, __idigits):: __mem,__HACK_NOTHING) +- +-# define __declare_int_members(_Int, __imin, __imax, __idigits) \ +-__declare_integer_limits_member(_Int, __imin, __imax, __idigits, bool, is_specialized);\ +-__declare_integer_limits_member(_Int, __imin, __imax, __idigits, int, digits);\ +-__declare_integer_limits_member(_Int, __imin, __imax, __idigits, int, digits10);\ +-__declare_integer_limits_member(_Int, __imin, __imax, __idigits, bool, is_signed);\ +-__declare_integer_limits_member(_Int, __imin, __imax, __idigits, bool, is_integer);\ +-__declare_integer_limits_member(_Int, __imin, __imax, __idigits, bool, is_exact);\ +-__declare_integer_limits_member(_Int, __imin, __imax, __idigits, int, radix);\ +-__declare_integer_limits_member(_Int, __imin, __imax, __idigits, bool, is_bounded);\ +-__declare_integer_limits_member(_Int, __imin, __imax, __idigits, bool, is_modulo); +- +- +-# else +-# define __declare_integer_limits_member(__type, __mem, __init) \ +-template \ +- const __type _Integer_limits<_Int, __imin, __imax, __idigits, __ismod>:: __mem __STL_OUTLINE_STATIC_INIT(__init) ++# define __declare_integer_limits_member(__type, __mem, _Init) \ ++template \ ++ const __type _Integer_limits<_Int, __imin, __imax, __idigits, __ismod>:: __mem + + __declare_integer_limits_member(bool, is_specialized, true); + __declare_integer_limits_member(int, digits, (__idigits < 0) ? \ + ((int)((sizeof(_Int) * (CHAR_BIT))) - ((__imin == 0) ? 0 : 1)) \ + : (__idigits) ); +-__declare_integer_limits_member(int, digits10, (digits * 301UL) / 1000); ++__declare_integer_limits_member(int, digits10, (int)(301UL * digits) /1000); + __declare_integer_limits_member(bool, is_signed, __imin != 0); + __declare_integer_limits_member(bool, is_integer, true); + __declare_integer_limits_member(bool, is_exact, true); + __declare_integer_limits_member(int, radix, 2); + __declare_integer_limits_member(bool, is_bounded, true); + __declare_integer_limits_member(bool, is_modulo, true); +-# endif +- +-# if defined (__STL_NO_STATIC_TEMPLATE_DATA) +-# define __HACK_FLIMITS(__Num, __Dig, __Dig10,__MnX, __MxX, __MnX10, __MxX10, __IsIEEE, __Sty) \ +-_Floating_limits<__Num, __Dig, __Dig10, \ +- __MnX, __MxX, __MnX10, __MxX10, \ +- __IsIEEE, __Sty> +- +-# define __declare_float_limits_member(__Num, __Dig, __Dig10,__MnX, __MxX, __MnX10, __MxX10, __IsIEEE, __Sty, __type, __mem) \ +- __DECLARE_INSTANCE(const __type, __HACK_FLIMITS(__Num, __Dig, __Dig10, \ +- __MnX, __MxX, __MnX10, __MxX10, \ +- __IsIEEE, __Sty)::__mem, __HACK_NOTHING) +- +-# define __declare_float_members(__Num, __Dig, __Dig10,__MnX, __MxX, __MnX10, __MxX10, __IsIEEE, __Sty) \ +-__declare_float_limits_member(__Num, __Dig, __Dig10,__MnX, __MxX, __MnX10, __MxX10, __IsIEEE, __Sty, bool, is_specialized);\ +-__declare_float_limits_member(__Num, __Dig, __Dig10,__MnX, __MxX, __MnX10, __MxX10, __IsIEEE, __Sty, int, digits);\ +-__declare_float_limits_member(__Num, __Dig, __Dig10,__MnX, __MxX, __MnX10, __MxX10, __IsIEEE, __Sty, int, digits10);\ +-__declare_float_limits_member(__Num, __Dig, __Dig10,__MnX, __MxX, __MnX10, __MxX10, __IsIEEE, __Sty, bool, is_signed);\ +-__declare_float_limits_member(__Num, __Dig, __Dig10,__MnX, __MxX, __MnX10, __MxX10, __IsIEEE, __Sty, int, radix);\ +-__declare_float_limits_member(__Num, __Dig, __Dig10,__MnX, __MxX, __MnX10, __MxX10, __IsIEEE, __Sty, int, min_exponent);\ +-__declare_float_limits_member(__Num, __Dig, __Dig10,__MnX, __MxX, __MnX10, __MxX10, __IsIEEE, __Sty, int, max_exponent);\ +-__declare_float_limits_member(__Num, __Dig, __Dig10,__MnX, __MxX, __MnX10, __MxX10, __IsIEEE, __Sty, int, min_exponent10);\ +-__declare_float_limits_member(__Num, __Dig, __Dig10,__MnX, __MxX, __MnX10, __MxX10, __IsIEEE, __Sty, int, max_exponent10);\ +-__declare_float_limits_member(__Num, __Dig, __Dig10,__MnX, __MxX, __MnX10, __MxX10, __IsIEEE, __Sty, bool, has_infinity);\ +-__declare_float_limits_member(__Num, __Dig, __Dig10,__MnX, __MxX, __MnX10, __MxX10, __IsIEEE, __Sty, bool, has_quiet_NaN);\ +-__declare_float_limits_member(__Num, __Dig, __Dig10,__MnX, __MxX, __MnX10, __MxX10, __IsIEEE, __Sty, bool, has_signaling_NaN);\ +-__declare_float_limits_member(__Num, __Dig, __Dig10,__MnX, __MxX, __MnX10, __MxX10, __IsIEEE, __Sty, float_denorm_style, has_denorm);\ +-__declare_float_limits_member(__Num, __Dig, __Dig10,__MnX, __MxX, __MnX10, __MxX10, __IsIEEE, __Sty, bool, has_denorm_loss);\ +-__declare_float_limits_member(__Num, __Dig, __Dig10,__MnX, __MxX, __MnX10, __MxX10, __IsIEEE, __Sty, bool, is_iec559);\ +-__declare_float_limits_member(__Num, __Dig, __Dig10,__MnX, __MxX, __MnX10, __MxX10, __IsIEEE, __Sty, bool, is_bounded);\ +-__declare_float_limits_member(__Num, __Dig, __Dig10,__MnX, __MxX, __MnX10, __MxX10, __IsIEEE, __Sty, bool, traps);\ +-__declare_float_limits_member(__Num, __Dig, __Dig10,__MnX, __MxX, __MnX10, __MxX10, __IsIEEE, __Sty, bool, tinyness_before);\ +-__declare_float_limits_member(__Num, __Dig, __Dig10,__MnX, __MxX, __MnX10, __MxX10, __IsIEEE, __Sty, float_round_style, round_style); + +-# else +- +-# define __declare_float_limits_member(__type, __mem, __init) \ ++# define __declare_float_limits_member(__type, __mem, _Init) \ + template ::\ +- __mem __STL_OUTLINE_STATIC_INIT(__init) ++ __mem + + __declare_float_limits_member(bool, is_specialized, true); + __declare_float_limits_member(int, digits, __Digits); +@@ -193,154 +108,165 @@ + __declare_float_limits_member(bool, tinyness_before, false); + __declare_float_limits_member(float_round_style, round_style, __RoundStyle); + ++# endif /* _STLP_STATIC_CONST_INIT_BUG */ ++ ++ ++# ifdef _STLP_EXPOSE_GLOBALS_IMPLEMENTATION ++ ++# if defined(_STLP_BIG_ENDIAN) ++# if defined(__OS400__) ++# define _STLP_FLOAT_INF_REP { 0x7f80, 0 } ++# define _STLP_FLOAT_QNAN_REP { 0xffc0, 0 } ++# define _STLP_FLOAT_SNAN_REP { 0xff80, 0 } ++# define _STLP_DOUBLE_INF_REP { 0x7ff0, 0, 0, 0 } ++# define _STLP_DOUBLE_QNAN_REP { 0xfff8, 0, 0, 0 } ++# define _STLP_DOUBLE_SNAN_REP { 0xfff0, 0, 0, 0 } ++# define _STLP_LDOUBLE_INF_REP { 0x7ff0, 0, 0, 0, 0, 0, 0, 0 } ++# define _STLP_LDOUBLE_QNAN_REP { 0xfff8, 0, 0, 0, 0, 0, 0, 0 } ++# define _STLP_LDOUBLE_SNAN_REP { 0xfff0, 0, 0, 0, 0, 0, 0, 0 } ++# else ++# define _STLP_FLOAT_INF_REP { 0x7f80, 0 } ++# define _STLP_FLOAT_QNAN_REP { 0x7f81, 0 } ++# define _STLP_FLOAT_SNAN_REP { 0x7fc1, 0 } ++# define _STLP_DOUBLE_INF_REP { 0x7ff0, 0, 0, 0 } ++# define _STLP_DOUBLE_QNAN_REP { 0x7ff1, 0, 0, 0 } ++# define _STLP_DOUBLE_SNAN_REP { 0x7ff9, 0, 0, 0 } ++# define _STLP_LDOUBLE_INF_REP { 0x7ff0, 0, 0, 0, 0, 0, 0, 0 } ++# define _STLP_LDOUBLE_QNAN_REP { 0x7ff1, 0, 0, 0, 0, 0, 0, 0 } ++# define _STLP_LDOUBLE_SNAN_REP { 0x7ff9, 0, 0, 0, 0, 0, 0, 0 } + # endif + +-# ifdef __STL_NO_STATIC_TEMPLATE_DATA +-# ifndef __STL_NO_BOOL +-__declare_int_members(bool, false, true, 0) +-# endif +-__declare_int_members(char, CHAR_MIN, CHAR_MAX, -1) +-# ifndef __STL_NO_SIGNED_BUILTINS +-__declare_int_members(signed char, SCHAR_MIN, SCHAR_MAX, -1) +-# endif +-__declare_int_members(unsigned char, 0, UCHAR_MAX, -1) +-# if defined (__STL_HAS_WCHAR_T) && !defined ( __STL_WCHAR_T_IS_USHORT) +-__declare_int_members(wchar_t, INT_MIN, INT_MAX, -1) +-# endif +-__declare_int_members(short, SHRT_MIN, SHRT_MAX, -1) +-__declare_int_members(unsigned short, 0, USHRT_MAX, -1) +-__declare_int_members(int, INT_MIN, INT_MAX, -1) +-__declare_int_members(unsigned int, 0, UINT_MAX, -1) +-__declare_int_members(long, LONG_MIN, LONG_MAX, -1) +-__declare_int_members(unsigned long, 0, ULONG_MAX, -1) +-# ifdef __STL_LONG_LONG +-__declare_int_members(long long, LONGLONG_MIN, LONG_MAX, -1) +-__declare_int_members(unsigned long long, 0, ULONGLONG_MAX, -1) +-# endif +-__declare_float_members(float, FLT_MANT_DIG,FLT_DIG, +- FLT_MIN_EXP, +- FLT_MAX_EXP, +- FLT_MIN_10_EXP, +- FLT_MAX_10_EXP, +- true, +- round_to_nearest) +- +-__declare_float_members(double, +- DBL_MANT_DIG, +- DBL_DIG, +- DBL_MIN_EXP, +- DBL_MAX_EXP, +- DBL_MIN_10_EXP, +- DBL_MAX_10_EXP, +- true, +- round_to_nearest) +-# if !defined (__STL_NO_LONG_DOUBLE) +-__declare_float_members(long double, +- LDBL_MANT_DIG, +- LDBL_DIG, +- LDBL_MIN_EXP, +- LDBL_MAX_EXP, +- LDBL_MIN_10_EXP, +- LDBL_MAX_10_EXP, +- false, +- round_to_nearest) +-# endif ++# elif defined (_STLP_LITTLE_ENDIAN) + +-# endif /* STATIC */ ++# if 0 /* defined(_STLP_MSVC) || defined(__linux__) */ ++// some IA-32 platform ?? ++# define _STLP_FLOAT_INF_REP { 0, 0x7f80 } ++# define _STLP_FLOAT_QNAN_REP { 0, 0xffc0 } ++# define _STLP_FLOAT_SNAN_REP { 0, 0xff80 } ++ ++# define _STLP_DOUBLE_INF_REP { 0, 0, 0, 0x7ff0 } ++# define _STLP_DOUBLE_QNAN_REP { 0, 0, 0, 0xfff8 } ++# define _STLP_DOUBLE_SNAN_REP { 0, 0, 0, 0xfff0 } ++# define _STLP_LDOUBLE_INF_REP { 0, 0, 0, 0x7FF0, 0 } // ???? ++# define _STLP_LDOUBLE_QNAN_REP { 0, 0, 0, 0xFFF8, 0 } // ???? ++# define _STLP_LDOUBLE_SNAN_REP { 0, 0, 0, 0xFFF0, 0 } // ???? ++ ++# elif defined(__DECCXX) ++ ++# define _STLP_FLOAT_INF_REP { 0, 0x7f80 } ++# define _STLP_FLOAT_QNAN_REP { 0, 0xffc0 } ++# define _STLP_FLOAT_SNAN_REP { 0x5555, 0x7f85 } ++ ++# define _STLP_DOUBLE_INF_REP { 0, 0, 0, 0x7ff0 } ++# define _STLP_DOUBLE_QNAN_REP { 0, 0, 0, 0xfff8 } ++# define _STLP_DOUBLE_SNAN_REP { 0x5555, 0x5555, 0x5555, 0x7ff5 } ++ ++# define _STLP_LDOUBLE_INF_REP { 0, 0, 0, 0, 0, 0, 0, 0x7fff } ++# define _STLP_LDOUBLE_QNAN_REP { 0, 0, 0, 0, 0, 0, 0x8000, 0xffff } ++# define _STLP_LDOUBLE_SNAN_REP { 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x7fff} ++# else ++# define _STLP_FLOAT_INF_REP { 0, 0x7f80 } ++# define _STLP_FLOAT_QNAN_REP { 0, 0x7fa0 } ++# define _STLP_FLOAT_SNAN_REP { 0, 0x7fc0 } ++# define _STLP_DOUBLE_INF_REP { 0, 0, 0, 0x7ff0 } ++# define _STLP_DOUBLE_QNAN_REP { 0, 0, 0, 0x7ff4 } ++# define _STLP_DOUBLE_SNAN_REP { 0, 0, 0, 0x7ff8 } ++# if defined (_STLP_MSVC) || defined (__ICL) || defined (__BORLANDC__) ++# define _STLP_LDOUBLE_INF_REP { 0, 0, 0, 0x7FF0, 0 } // ???? ++# define _STLP_LDOUBLE_QNAN_REP { 0, 0, 0, 0xFFF8, 0 } // ???? ++# define _STLP_LDOUBLE_SNAN_REP { 0, 0, 0, 0xFFF8, 0 } ++# else ++# define _STLP_LDOUBLE_INF_REP { 0, 0, 0, 0x8000, 0x7fff } ++# define _STLP_LDOUBLE_QNAN_REP { 0, 0, 0, 0xa000, 0x7fff } ++# define _STLP_LDOUBLE_SNAN_REP { 0, 0, 0, 0xc000, 0x7fff } ++# endif ++# endif ++#else ++/* This is an architecture we don't know how to handle. Return some ++obviously wrong values. */ ++# define _STLP_FLOAT_INF_REP { 0, 0 } ++# define _STLP_FLOAT_QNAN_REP { 0, 0 } ++# define _STLP_FLOAT_SNAN_REP { 0, 0 } ++# define _STLP_DOUBLE_INF_REP { 0, 0 } ++# define _STLP_DOUBLE_QNAN_REP { 0, 0 } ++# define _STLP_DOUBLE_SNAN_REP { 0, 0 } ++# define _STLP_LDOUBLE_INF_REP { 0 } ++# define _STLP_LDOUBLE_QNAN_REP { 0 } ++# define _STLP_LDOUBLE_SNAN_REP { 0 } + ++#endif + +-# if defined(__STL_BIG_ENDIAN) + +-# define __STL_FLOAT_INF_REP { 0x7f80, 0 } +-# define __STL_FLOAT_QNAN_REP { 0x7f81, 0 } +-# define __STL_FLOAT_SNAN_REP { 0x7fc1, 0 } +-# define __STL_DOUBLE_INF_REP { 0x7ff0, 0, 0, 0 } +-# define __STL_DOUBLE_QNAN_REP { 0x7ff1, 0, 0, 0 } +-# define __STL_DOUBLE_SNAN_REP { 0x7ff9, 0, 0, 0 } +-# define __STL_LDOUBLE_INF_REP { 0x7ff0, 0, 0, 0, 0, 0, 0, 0 } +-# define __STL_LDOUBLE_QNAN_REP { 0x7ff1, 0, 0, 0, 0, 0, 0, 0 } +-# define __STL_LDOUBLE_SNAN_REP { 0x7ff9, 0, 0, 0, 0, 0, 0, 0 } +- +-# elif defined (__STL_LITTTE_ENDIAN) +- +-# define __STL_FLOAT_INF_REP { 0x7f80, 0 } +-# define __STL_FLOAT_QNAN_REP { 0x7fa0, 0 } +-# define __STL_FLOAT_SNAN_REP { 0x7fc0, 0 } +-# define __STL_DOUBLE_INF_REP { 0, 0, 0x7ff0, 0 } +-# define __STL_DOUBLE_QNAN_REP { 0, 0, 0x7ff4, 0 } +-# define __STL_DOUBLE_SNAN_REP { 0, 0, 0x7ff8, 0 } +-// note : this is IA-32 80-bit address. WOn't work for any other little-endian +-// machines ! +-# define __STL_LDOUBLE_INF_REP { 0, 0, 0, 0x7fff, 0x8000 } +-# define __STL_LDOUBLE_QNAN_REP { 0, 0, 0, 0x7fff, 0xa000 } +-# define __STL_LDOUBLE_SNAN_REP { 0, 0, 0, 0x7fff, 0xc000 } ++# if 0 ++# if defined(_STLP_BIG_ENDIAN) + ++# elif defined (_STLP_LITTLE_ENDIAN) + #else + + /* This is an architecture we don't know how to handle. Return some + obviously wrong values. */ +-# define __STL_FLOAT_INF_REP { 0, 0 } +-# define __STL_FLOAT_QNAN_REP { 0, 0 } +-# define __STL_FLOAT_SNAN_REP { 0, 0 } +-# define __STL_DOUBLE_INF_REP { 0, 0 } +-# define __STL_DOUBLE_QNAN_REP { 0, 0 } +-# define __STL_DOUBLE_SNAN_REP { 0, 0 } +-# define __STL_LDOUBLE_INF_REP { 0 } +-# define __STL_LDOUBLE_QNAN_REP { 0 } +-# define __STL_LDOUBLE_SNAN_REP { 0 } ++# define _STLP_FLOAT_INF_REP { 0, 0 } ++# define _STLP_FLOAT_QNAN_REP { 0, 0 } ++# define _STLP_FLOAT_SNAN_REP { 0, 0 } ++# define _STLP_DOUBLE_INF_REP { 0, 0 } ++# define _STLP_DOUBLE_QNAN_REP { 0, 0 } ++# define _STLP_DOUBLE_SNAN_REP { 0, 0 } ++# define _STLP_LDOUBLE_INF_REP { 0 } ++# define _STLP_LDOUBLE_QNAN_REP { 0 } ++# define _STLP_LDOUBLE_SNAN_REP { 0 } + + #endif ++# endif + +-# define __STL_ARRAY_STATIC_INIT(__x) = __x +- +-#if __STL_STATIC_TEMPLATE_DATA > 0 ++#if ( _STLP_STATIC_TEMPLATE_DATA > 0 ) + +-# ifndef __STL_NO_LONG_DOUBLE ++# ifndef _STLP_NO_LONG_DOUBLE + template +-const _L_rep _LimG<__dummy>::_L_inf __STL_ARRAY_STATIC_INIT({__STL_LDOUBLE_INF_REP}); ++const _L_rep _LimG<__dummy>::_L_inf = {_STLP_LDOUBLE_INF_REP}; + template +-const _L_rep _LimG<__dummy>::_L_qNaN __STL_ARRAY_STATIC_INIT({__STL_LDOUBLE_QNAN_REP}); ++const _L_rep _LimG<__dummy>::_L_qNaN = {_STLP_LDOUBLE_QNAN_REP}; + template +-const _L_rep _LimG<__dummy>::_L_sNaN __STL_ARRAY_STATIC_INIT({__STL_LDOUBLE_SNAN_REP}); ++const _L_rep _LimG<__dummy>::_L_sNaN = {_STLP_LDOUBLE_SNAN_REP}; + # endif + template +-const _D_rep _LimG<__dummy>::_D_inf __STL_ARRAY_STATIC_INIT({__STL_DOUBLE_INF_REP}); ++const _D_rep _LimG<__dummy>::_D_inf = {_STLP_DOUBLE_INF_REP}; + template +-const _D_rep _LimG<__dummy>::_D_qNaN __STL_ARRAY_STATIC_INIT({__STL_DOUBLE_QNAN_REP}); ++const _D_rep _LimG<__dummy>::_D_qNaN = {_STLP_DOUBLE_QNAN_REP}; + template +-const _D_rep _LimG<__dummy>::_D_sNaN __STL_ARRAY_STATIC_INIT({__STL_DOUBLE_SNAN_REP}); ++const _D_rep _LimG<__dummy>::_D_sNaN = {_STLP_DOUBLE_SNAN_REP}; + template +-const _F_rep _LimG<__dummy>::_F_inf __STL_ARRAY_STATIC_INIT({__STL_FLOAT_INF_REP}); ++const _F_rep _LimG<__dummy>::_F_inf = {_STLP_FLOAT_INF_REP}; + template +-const _F_rep _LimG<__dummy>::_F_qNaN __STL_ARRAY_STATIC_INIT({__STL_FLOAT_QNAN_REP}); ++const _F_rep _LimG<__dummy>::_F_qNaN = {_STLP_FLOAT_QNAN_REP}; + template +-const _F_rep _LimG<__dummy>::_F_sNaN __STL_ARRAY_STATIC_INIT({__STL_FLOAT_SNAN_REP}); ++const _F_rep _LimG<__dummy>::_F_sNaN = {_STLP_FLOAT_SNAN_REP}; + + #else + +-__DECLARE_INSTANCE(_F_rep, +- _LimG::_F_inf, __STL_ARRAY_STATIC_INIT(__STL_FLOAT_INF_REP)); +-__DECLARE_INSTANCE(_F_rep, +- _LimG::_F_qNaN, __STL_ARRAY_STATIC_INIT(__STL_FLOAT_QNAN_REP)); +-__DECLARE_INSTANCE(_F_rep, +- _LimG::_F_sNaN, __STL_ARRAY_STATIC_INIT(__STL_FLOAT_SNAN_REP)); +-__DECLARE_INSTANCE(_D_rep, +- _LimG::_D_inf, __STL_ARRAY_STATIC_INIT(__STL_DOUBLE_INF_REP)); +-__DECLARE_INSTANCE(_D_rep, +- _LimG::_D_qNaN, __STL_ARRAY_STATIC_INIT(__STL_DOUBLE_QNAN_REP)); +-__DECLARE_INSTANCE(_D_rep, +- _LimG::_D_sNaN, __STL_ARRAY_STATIC_INIT(__STL_DOUBLE_SNAN_REP)); +-# ifndef __STL_NO_LONG_DOUBLE +-__DECLARE_INSTANCE(_L_rep, +- _LimG::_L_inf, __STL_ARRAY_STATIC_INIT(__STL_LDOUBLE_INF_REP)); +-__DECLARE_INSTANCE(_D_rep, +- _LimG::_L_qNaN, __STL_ARRAY_STATIC_INIT(__STL_LDOUBLE_QNAN_REP)); +-__DECLARE_INSTANCE(_L_rep, +- _LimG::_L_sNaN, __STL_ARRAY_STATIC_INIT(__STL_LDOUBLE_SNAN_REP)); ++__DECLARE_INSTANCE( const _F_rep, ++ _LimG::_F_inf, = _STLP_FLOAT_INF_REP); ++__DECLARE_INSTANCE( const _F_rep, ++ _LimG::_F_qNaN, = _STLP_FLOAT_QNAN_REP); ++__DECLARE_INSTANCE( const _F_rep, ++ _LimG::_F_sNaN, = _STLP_FLOAT_SNAN_REP); ++__DECLARE_INSTANCE( const _D_rep, ++ _LimG::_D_inf, = _STLP_DOUBLE_INF_REP); ++__DECLARE_INSTANCE( const _D_rep, ++ _LimG::_D_qNaN, = _STLP_DOUBLE_QNAN_REP); ++__DECLARE_INSTANCE( const _D_rep, ++ _LimG::_D_sNaN, = _STLP_DOUBLE_SNAN_REP); ++# ifndef _STLP_NO_LONG_DOUBLE ++__DECLARE_INSTANCE( const _L_rep, ++ _LimG::_L_inf, = _STLP_LDOUBLE_INF_REP); ++__DECLARE_INSTANCE( const _L_rep, ++ _LimG::_L_qNaN, = _STLP_LDOUBLE_QNAN_REP); ++__DECLARE_INSTANCE( const _L_rep, ++ _LimG::_L_sNaN, = _STLP_LDOUBLE_SNAN_REP); + # endif + + #endif /* STATIC_DATA */ + ++# endif /* _STLP_EXPOSE_GLOBALS_IMPLEMENTATION */ + + # undef __declare_integer_limits_member + # undef __declare_float_limits_member +@@ -348,19 +274,20 @@ + # undef __HACK_NOTHING + # undef __declare_int_members + # undef __declare_float_members +-# undef __STL_LIMITS_MIN_TYPE +-# undef __STL_LIMITS_MAX_TYPE ++# undef _STLP_LIMITS_MIN_TYPE ++# undef _STLP_LIMITS_MAX_TYPE ++ ++# undef _STLP_FLOAT_INF_REP ++# undef _STLP_FLOAT_QNAN_REP ++# undef _STLP_FLOAT_SNAN_REP ++# undef _STLP_DOUBLE_INF_REP ++# undef _STLP_DOUBLE_QNAN_REP ++# undef _STLP_DOUBLE_SNAN_REP ++# undef _STLP_LDOUBLE_INF_REP ++# undef _STLP_LDOUBLE_QNAN_REP ++# undef _STLP_LDOUBLE_SNAN_REP + +-# undef __STL_FLOAT_INF_REP +-# undef __STL_FLOAT_QNAN_REP +-# undef __STL_FLOAT_SNAN_REP +-# undef __STL_DOUBLE_INF_REP +-# undef __STL_DOUBLE_QNAN_REP +-# undef __STL_DOUBLE_SNAN_REP +-# undef __STL_LDOUBLE_INF_REP +-# undef __STL_LDOUBLE_QNAN_REP +-# undef __STL_LDOUBLE_SNAN_REP ++_STLP_END_NAMESPACE + +-__STL_END_NAMESPACE + +-#endif /* __STLPORT_LIMITS_C_INCLUDED */ ++#endif /* _STLP_LIMITS_C_INCLUDED */ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_limits.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_limits.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_limits.h Sat Feb 24 10:44:56 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_limits.h Sun Aug 11 18:59:24 2002 +@@ -21,12 +21,22 @@ + * for the MIPS, SPARC, Alpha and ia32 architectures. + */ + +-#ifndef __STLPORT_LIMITS_H +-# define __STLPORT_LIMITS_H ++#ifndef _STLP_INTERNAL_LIMITS_H ++# define _STLP_INTERNAL_LIMITS_H + +-#define __SGI_CPP_LIMITS ++#ifndef _STLP_CLIMITS ++# include ++#endif ++ ++#ifndef _STLP_CFLOAT ++# include ++#endif ++ ++#if !defined (_STLP_NO_WCHAR_T) ++# include ++#endif + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + enum float_round_style { + round_indeterminate = -1, +@@ -47,90 +57,116 @@ + template + class _Numeric_limits_base { + public: +- static const bool is_specialized __STL_INLINE_STATIC_INIT ( false ); + +- static __number __STL_CALL min() __STL_NOTHROW { return __number(); } +- static __number __STL_CALL max() __STL_NOTHROW { return __number(); } ++ static __number (_STLP_CALL min)() _STLP_NOTHROW { return __number(); } ++ static __number (_STLP_CALL max)() _STLP_NOTHROW { return __number(); } ++ ++# if defined ( _STLP_STATIC_CONST_INIT_BUG) ++ enum { ++# else ++ static const int ++# endif ++ ++ digits = 0, ++ digits10 = 0, ++ radix = 0, ++ min_exponent = 0, ++ min_exponent10 = 0, ++ max_exponent = 0, ++ max_exponent10 = 0 ++ ++# if defined ( _STLP_STATIC_CONST_INIT_BUG) ++ , ++ has_denorm = denorm_absent, ++ round_style = round_toward_zero, ++# else ++ ; ++ static const float_denorm_style has_denorm = denorm_absent; ++ static const float_round_style round_style = round_toward_zero; ++ static const bool ++# endif ++ ++ is_specialized = false, ++ is_signed = false, ++ is_integer = false, ++ is_exact = false, ++ has_infinity = false, ++ has_quiet_NaN = false, ++ has_signaling_NaN = false, ++ has_denorm_loss = false, ++ is_iec559 = false, ++ is_bounded = false, ++ is_modulo = false, ++ traps = false, ++ tinyness_before = false ++# if defined ( _STLP_STATIC_CONST_INIT_BUG) ++ } ++# endif ++ ; ++ ++ static __number _STLP_CALL epsilon() _STLP_NOTHROW { return __number(); } ++ static __number _STLP_CALL round_error() _STLP_NOTHROW { return __number(); } ++ ++ static __number _STLP_CALL infinity() _STLP_NOTHROW { return __number(); } ++ static __number _STLP_CALL quiet_NaN() _STLP_NOTHROW { return __number(); } ++ static __number _STLP_CALL signaling_NaN() _STLP_NOTHROW { return __number(); } ++ static __number _STLP_CALL denorm_min() _STLP_NOTHROW { return __number(); } + +- static const int digits __STL_INLINE_STATIC_INIT( 0 ); +- static const int digits10 __STL_INLINE_STATIC_INIT ( 0 ); + +- static const bool is_signed __STL_INLINE_STATIC_INIT ( false ); +- static const bool is_integer __STL_INLINE_STATIC_INIT ( false ); +- static const bool is_exact __STL_INLINE_STATIC_INIT ( false ); +- +- static const int radix __STL_INLINE_STATIC_INIT ( 0 ); +- +- static __number __STL_CALL epsilon() __STL_NOTHROW { return __number(); } +- static __number __STL_CALL round_error() __STL_NOTHROW { return __number(); } +- +- static const int min_exponent __STL_INLINE_STATIC_INIT ( 0 ); +- static const int min_exponent10 __STL_INLINE_STATIC_INIT ( 0 ); +- static const int max_exponent __STL_INLINE_STATIC_INIT ( 0 ); +- static const int max_exponent10 __STL_INLINE_STATIC_INIT ( 0 ); +- +- static const bool has_infinity __STL_INLINE_STATIC_INIT ( false ); +- static const bool has_quiet_NaN __STL_INLINE_STATIC_INIT ( false ); +- static const bool has_signaling_NaN __STL_INLINE_STATIC_INIT ( false ); +- static const float_denorm_style has_denorm __STL_INLINE_STATIC_INIT ( denorm_absent ); +- static const bool has_denorm_loss __STL_INLINE_STATIC_INIT ( false ); +- +- static __number __STL_CALL infinity() __STL_NOTHROW { return __number(); } +- static __number __STL_CALL quiet_NaN() __STL_NOTHROW { return __number(); } +- static __number __STL_CALL signaling_NaN() __STL_NOTHROW { return __number(); } +- static __number __STL_CALL denorm_min() __STL_NOTHROW { return __number(); } +- +- static const bool is_iec559 __STL_INLINE_STATIC_INIT( false ); +- static const bool is_bounded __STL_INLINE_STATIC_INIT( false ); +- static const bool is_modulo __STL_INLINE_STATIC_INIT( false ); +- +- static const bool traps __STL_INLINE_STATIC_INIT( false); +- static const bool tinyness_before __STL_INLINE_STATIC_INIT( false); +- static const float_round_style round_style __STL_INLINE_STATIC_INIT( round_toward_zero ); + }; + + // Base class for integers. + +-# ifdef __STL_LIMITED_DEFAULT_TEMPLATES +-# ifdef __STL_LONG_LONG +-# define __STL_LIMITS_MIN_TYPE long long +-# define __STL_LIMITS_MAX_TYPE unsigned long long ++# ifdef _STLP_LIMITED_DEFAULT_TEMPLATES ++# ifdef _STLP_LONG_LONG ++# define _STLP_LIMITS_MIN_TYPE _STLP_LONG_LONG ++# define _STLP_LIMITS_MAX_TYPE unsigned _STLP_LONG_LONG + # else +-# define __STL_LIMITS_MIN_TYPE long +-# define __STL_LIMITS_MAX_TYPE unsigned long ++# define _STLP_LIMITS_MIN_TYPE long ++# define _STLP_LIMITS_MAX_TYPE unsigned long + # endif + # else +-# define __STL_LIMITS_MIN_TYPE _Int +-# define __STL_LIMITS_MAX_TYPE _Int +-# endif /* __STL_LIMITED_DEFAULT_TEMPLATES */ ++# define _STLP_LIMITS_MIN_TYPE _Int ++# define _STLP_LIMITS_MAX_TYPE _Int ++# endif /* _STLP_LIMITED_DEFAULT_TEMPLATES */ + + template + class _Integer_limits : public _Numeric_limits_base<_Int> + { + public: +- static const bool is_specialized __STL_INLINE_STATIC_INIT( true ); +- +- static _Int __STL_CALL min() __STL_NOTHROW { return (_Int)__imin; } +- static _Int __STL_CALL max() __STL_NOTHROW { return (_Int)__imax; } +- +- static const int digits __STL_INLINE_STATIC_INIT((__idigits < 0) ? \ +- ((int)((sizeof(_Int) * (CHAR_BIT))) - ((__imin == 0) ? 0 : 1)) \ +- : (__idigits)); +- +- static const int digits10 __STL_INLINE_STATIC_INIT( (digits * 301UL) / 1000 ); +- // log 2 = 0.301029995664... + +- static const bool is_signed __STL_INLINE_STATIC_INIT( __imin != 0 ); +- static const bool is_integer __STL_INLINE_STATIC_INIT( true ); +- static const bool is_exact __STL_INLINE_STATIC_INIT( true ); +- static const int radix __STL_INLINE_STATIC_INIT( 2 ); ++ static _Int (_STLP_CALL min) () _STLP_NOTHROW { return (_Int)__imin; } ++ static _Int (_STLP_CALL max) () _STLP_NOTHROW { return (_Int)__imax; } + +- +- static const bool is_bounded __STL_INLINE_STATIC_INIT( true ); +- static const bool is_modulo __STL_INLINE_STATIC_INIT( __ismod ); ++# if defined ( _STLP_STATIC_CONST_INIT_BUG) ++ enum { ++# else ++ static const int ++# endif ++ digits = (__idigits < 0) ? ++ ((int)((sizeof(_Int) * (CHAR_BIT))) - ((__imin == 0) ? 0 : 1)) ++ : (__idigits), ++ digits10 = (digits * 301UL) / 1000, ++ radix = 2 ++# if ! defined ( _STLP_STATIC_CONST_INIT_BUG) ++ ; ++ static const bool ++# else ++ , ++# endif ++ is_specialized = true, ++ is_signed = (__imin != 0), ++ is_integer = true, ++ is_exact = true, ++ is_bounded = true, ++ is_modulo = __ismod ++# if defined ( _STLP_STATIC_CONST_INIT_BUG) ++ } ++# endif ++ ; + }; + + // Base class for floating-point numbers. +@@ -143,32 +179,49 @@ + class _Floating_limits : public _Numeric_limits_base<__number> + { + public: +- static const bool is_specialized __STL_INLINE_STATIC_INIT( true ); +- +- static const int digits __STL_INLINE_STATIC_INIT( __Digits ); +- static const int digits10 __STL_INLINE_STATIC_INIT( __Digits10 ); + +- static const bool is_signed __STL_INLINE_STATIC_INIT( true ); ++# if defined ( _STLP_STATIC_CONST_INIT_BUG) ++ enum { ++# else ++ static const int ++# endif + +- static const int radix __STL_INLINE_STATIC_INIT( FLT_RADIX /* 2 */ ); ++ digits = __Digits, ++ digits10 = __Digits10, + +- static const int min_exponent __STL_INLINE_STATIC_INIT( __MinExp ); +- static const int max_exponent __STL_INLINE_STATIC_INIT( __MaxExp ); +- static const int min_exponent10 __STL_INLINE_STATIC_INIT( __MinExp10 ); +- static const int max_exponent10 __STL_INLINE_STATIC_INIT( __MaxExp10 ); ++ radix = ( FLT_RADIX /* 2 */ ), ++ min_exponent = __MinExp, ++ max_exponent = __MaxExp, ++ min_exponent10 = __MinExp10, ++ max_exponent10 = __MaxExp10 ++ ++# if defined (_STLP_STATIC_CONST_INIT_BUG) ++ , ++ has_denorm = denorm_indeterminate, ++ round_style = __RoundStyle, ++# else ++ ; ++ static const float_denorm_style has_denorm = denorm_indeterminate; ++ static const float_round_style round_style = __RoundStyle; ++ static const bool ++# endif + +- static const bool has_infinity __STL_INLINE_STATIC_INIT( true ); +- static const bool has_quiet_NaN __STL_INLINE_STATIC_INIT( true ); +- static const bool has_signaling_NaN __STL_INLINE_STATIC_INIT( true ); +- static const float_denorm_style has_denorm __STL_INLINE_STATIC_INIT( denorm_indeterminate ); +- static const bool has_denorm_loss __STL_INLINE_STATIC_INIT( false ); ++ is_specialized = true, ++ is_signed = true, ++ has_infinity = true, ++ has_quiet_NaN = true, ++ has_signaling_NaN= true, ++ has_denorm_loss = false, ++ is_iec559 = __IsIEC559, ++ is_bounded = true, ++ traps = true, ++ tinyness_before= false + +- static const bool is_iec559 __STL_INLINE_STATIC_INIT( __IsIEC559 ); +- static const bool is_bounded __STL_INLINE_STATIC_INIT( true ); +- static const bool traps __STL_INLINE_STATIC_INIT( true ); +- static const bool tinyness_before __STL_INLINE_STATIC_INIT( false ); ++# if defined ( _STLP_STATIC_CONST_INIT_BUG) ++ } ++# endif ++ ; + +- static const float_round_style round_style __STL_INLINE_STATIC_INIT( __RoundStyle ); + }; + + // Class numeric_limits +@@ -180,72 +233,86 @@ + + // Specializations for all built-in integral types. + +-#ifndef __STL_NO_BOOL ++#ifndef _STLP_NO_BOOL + +-__STL_TEMPLATE_NULL +-class numeric_limits +- : public _Integer_limits ++_STLP_TEMPLATE_NULL ++class numeric_limits ++ : public _Integer_limits + {}; + +-#endif /* __STL_NO_BOOL */ ++#endif /* _STLP_NO_BOOL */ + +-__STL_TEMPLATE_NULL +-class numeric_limits ++_STLP_TEMPLATE_NULL ++class numeric_limits + : public _Integer_limits + {}; + +-# ifndef __STL_NO_SIGNED_BUILTINS +-__STL_TEMPLATE_NULL +-class numeric_limits ++# ifndef _STLP_NO_SIGNED_BUILTINS ++_STLP_TEMPLATE_NULL ++class numeric_limits + : public _Integer_limits + {}; + # endif + +-__STL_TEMPLATE_NULL +-class numeric_limits ++_STLP_TEMPLATE_NULL ++class numeric_limits + : public _Integer_limits + {}; + +-#if !(defined ( __STL_NO_WCHAR_T ) || defined (__STL_WCHAR_T_IS_USHORT)) ++#if !(defined ( _STLP_NO_WCHAR_T ) || defined (_STLP_WCHAR_T_IS_USHORT)) + +-__STL_TEMPLATE_NULL +-class numeric_limits ++_STLP_TEMPLATE_NULL ++class numeric_limits + : public _Integer_limits + {}; + + #endif + +-__STL_TEMPLATE_NULL +-class numeric_limits ++_STLP_TEMPLATE_NULL ++class numeric_limits + : public _Integer_limits + {}; + +-__STL_TEMPLATE_NULL +-class numeric_limits ++_STLP_TEMPLATE_NULL ++class numeric_limits + : public _Integer_limits + {}; + +-__STL_TEMPLATE_NULL +-class numeric_limits ++# if defined (__xlC__) && (__xlC__ == 0x500) ++# undef INT_MIN ++# define INT_MIN -2147483648 ++# endif ++ ++ ++_STLP_TEMPLATE_NULL ++class numeric_limits + : public _Integer_limits + {}; + +-__STL_TEMPLATE_NULL +-class numeric_limits ++_STLP_TEMPLATE_NULL ++class numeric_limits + : public _Integer_limits + {}; + +-__STL_TEMPLATE_NULL +-class numeric_limits ++_STLP_TEMPLATE_NULL ++class numeric_limits + : public _Integer_limits + {}; + +-__STL_TEMPLATE_NULL +-class numeric_limits ++_STLP_TEMPLATE_NULL ++class numeric_limits + : public _Integer_limits + {}; + +-#ifdef __STL_LONG_LONG ++#ifdef _STLP_LONG_LONG ++ ++# if defined (_STLP_MSVC) || defined (__BORLANDC__) ++ ++# define LONGLONG_MAX 0x7fffffffffffffffi64 ++# define LONGLONG_MIN (-LONGLONG_MAX-1i64) ++# define ULONGLONG_MAX 0xffffffffffffffffUi64 ++ ++# else + + # ifndef LONGLONG_MAX + # define LONGLONG_MAX 0x7fffffffffffffffLL +@@ -257,17 +324,101 @@ + # define ULONGLONG_MAX 0xffffffffffffffffULL + # endif + +-__STL_TEMPLATE_NULL +-class numeric_limits +- : public _Integer_limits +-{}; ++# endif + +-__STL_TEMPLATE_NULL +-class numeric_limits +- : public _Integer_limits +-{}; ++#if !defined(__GNUC__) || (__GNUC__ == 2 && __GNUC_MINOR__ <= 96) ++ ++_STLP_TEMPLATE_NULL ++class numeric_limits<_STLP_LONG_LONG> ++ : public _Integer_limits<_STLP_LONG_LONG, LONGLONG_MIN, LONGLONG_MAX, -1, true> ++{}; ++ ++_STLP_TEMPLATE_NULL ++class numeric_limits ++ : public _Integer_limits ++{}; ++#else /* gcc 2.97 (after 2000-11-01), 2.98, 3.0 */ ++/* ++ newest gcc has new mangling scheme, that has problem ++ with generating name [instantiated] of template specialization like ++ _Integer_limits<_STLP_LONG_LONG, LONGLONG_MIN, LONGLONG_MAX, -1, true> ++ ~~~~~~~~~~~~ ~~~~~~~~~~~~ ++ Below is code that solve this problem. ++ - ptr ++ */ ++_STLP_TEMPLATE_NULL ++class numeric_limits<_STLP_LONG_LONG> ++ : public _Numeric_limits_base<_STLP_LONG_LONG> ++{ ++public: + +-#endif /* __STL_LONG_LONG */ ++ static _STLP_LONG_LONG (_STLP_CALL min) () _STLP_NOTHROW { return LONGLONG_MIN; } ++ static _STLP_LONG_LONG (_STLP_CALL max) () _STLP_NOTHROW { return LONGLONG_MAX; } ++ ++# if defined ( _STLP_STATIC_CONST_INIT_BUG) ++ enum { ++# else ++ static const int ++# endif ++ digits = ((int)((sizeof(_STLP_LONG_LONG) * (CHAR_BIT))) - 1), ++ digits10 = (digits * 301UL) / 1000, ++ radix = 2 ++# if ! defined ( _STLP_STATIC_CONST_INIT_BUG) ++ ; ++ static const bool ++# else ++ , ++# endif ++ is_specialized = true, ++ is_signed = true, ++ is_integer = true, ++ is_exact = true, ++ is_bounded = true, ++ is_modulo = true ++# if defined ( _STLP_STATIC_CONST_INIT_BUG) ++ } ++# endif ++ ; ++}; ++ ++_STLP_TEMPLATE_NULL ++class numeric_limits ++ : public _Numeric_limits_base ++{ ++public: ++ ++ static unsigned _STLP_LONG_LONG (_STLP_CALL min) () _STLP_NOTHROW { return 0ULL; } ++ static unsigned _STLP_LONG_LONG (_STLP_CALL max) () _STLP_NOTHROW { return ULONGLONG_MAX; } ++ ++# if defined ( _STLP_STATIC_CONST_INIT_BUG) ++ enum { ++# else ++ static const int ++# endif ++ digits = ((int)((sizeof(unsigned _STLP_LONG_LONG) * (CHAR_BIT)))), ++ digits10 = (digits * 301UL) / 1000, ++ radix = 2 ++# if ! defined ( _STLP_STATIC_CONST_INIT_BUG) ++ ; ++ static const bool ++# else ++ , ++# endif ++ is_specialized = true, ++ is_signed = false, ++ is_integer = true, ++ is_exact = true, ++ is_bounded = true, ++ is_modulo = true ++# if defined ( _STLP_STATIC_CONST_INIT_BUG) ++ } ++# endif ++ ; ++}; ++ ++# endif /* __GNUC__ > 2000-11-01 */ ++ ++#endif /* _STLP_LONG_LONG */ + + // Specializations for all built-in floating-point types. + +@@ -281,11 +432,14 @@ + unsigned short rep[4]; + double val; + }; ++ ++# ifndef _STLP_NO_LONG_DOUBLE + union _L_rep + { + unsigned short rep[8]; + long double val; + }; ++# endif + + template + class _LimG +@@ -298,14 +452,18 @@ + static const _D_rep _D_qNaN; + static const _D_rep _D_sNaN; + +-# ifndef __STL_NO_LONG_DOUBLE ++# ifndef _STLP_NO_LONG_DOUBLE + static const _L_rep _L_inf; + static const _L_rep _L_qNaN; + static const _L_rep _L_sNaN; + # endif + }; + +-__STL_TEMPLATE_NULL class numeric_limits ++# if defined (_STLP_USE_TEMPLATE_EXPORT) ++_STLP_EXPORT_TEMPLATE_CLASS _LimG; ++# endif ++ ++_STLP_TEMPLATE_NULL class numeric_limits + : public _Floating_limits + { + public: +- static float __STL_CALL min() __STL_NOTHROW { return FLT_MIN; } +- static float __STL_CALL denorm_min() __STL_NOTHROW { return FLT_MIN; } +- static float __STL_CALL max() __STL_NOTHROW { __STL_USING_VENDOR_CSTD return FLT_MAX; } +- static float __STL_CALL epsilon() __STL_NOTHROW { return FLT_EPSILON; } +- static float __STL_CALL round_error() __STL_NOTHROW { return 0.5f; } // Units: ulps. +- static inline float __STL_CALL infinity() { return _LimG::_F_inf.val; } +- static inline float __STL_CALL quiet_NaN() { return _LimG::_F_qNaN.val; } +- static inline float __STL_CALL signaling_NaN() { return _LimG::_F_sNaN.val; } ++ static float (_STLP_CALL min) () _STLP_NOTHROW { return FLT_MIN; } ++ static float _STLP_CALL denorm_min() _STLP_NOTHROW { return FLT_MIN; } ++ static float (_STLP_CALL max) () _STLP_NOTHROW { _STLP_USING_VENDOR_CSTD return FLT_MAX; } ++ static float _STLP_CALL epsilon() _STLP_NOTHROW { return FLT_EPSILON; } ++ static float _STLP_CALL round_error() _STLP_NOTHROW { return 0.5f; } // Units: ulps. ++ static float _STLP_CALL infinity() { return _LimG::_F_inf.val; } ++ static float _STLP_CALL quiet_NaN() { return _LimG::_F_qNaN.val; } ++ static float _STLP_CALL signaling_NaN() { return _LimG::_F_sNaN.val; } + }; + +-__STL_TEMPLATE_NULL class numeric_limits ++_STLP_TEMPLATE_NULL class numeric_limits + : public _Floating_limits + { + public: +- static double __STL_CALL min() __STL_NOTHROW { return DBL_MIN; } +- static double __STL_CALL denorm_min() __STL_NOTHROW { return DBL_MIN; } +- static double __STL_CALL max() __STL_NOTHROW { __STL_USING_VENDOR_CSTD return DBL_MAX; } +- static double __STL_CALL epsilon() __STL_NOTHROW { return DBL_EPSILON; } +- static double __STL_CALL round_error() __STL_NOTHROW { return 0.5; } // Units: ulps. +- static inline double __STL_CALL infinity() { return _LimG::_D_inf.val; } +- static inline double __STL_CALL quiet_NaN(){ return _LimG::_D_qNaN.val; } +- static inline double __STL_CALL signaling_NaN() { return _LimG::_D_sNaN.val; } ++ static double (_STLP_CALL min)() _STLP_NOTHROW { return DBL_MIN; } ++ static double _STLP_CALL denorm_min() _STLP_NOTHROW { return DBL_MIN; } ++ static double (_STLP_CALL max)() _STLP_NOTHROW { _STLP_USING_VENDOR_CSTD return DBL_MAX; } ++ static double _STLP_CALL epsilon() _STLP_NOTHROW { return DBL_EPSILON; } ++ static double _STLP_CALL round_error() _STLP_NOTHROW { return 0.5; } // Units: ulps. ++ static double _STLP_CALL infinity() { return _LimG::_D_inf.val; } ++ static double _STLP_CALL quiet_NaN(){ return _LimG::_D_qNaN.val; } ++ static double _STLP_CALL signaling_NaN() { return _LimG::_D_sNaN.val; } + }; + +-# ifndef __STL_NO_LONG_DOUBLE ++# ifndef _STLP_NO_LONG_DOUBLE + +-__STL_TEMPLATE_NULL +-class numeric_limits ++_STLP_TEMPLATE_NULL ++class numeric_limits + : public _Floating_limits + { + public: +- static long double __STL_CALL min() __STL_NOTHROW { __STL_USING_VENDOR_CSTD return LDBL_MIN; } +- static long double __STL_CALL denorm_min() __STL_NOTHROW { __STL_USING_VENDOR_CSTD return LDBL_MIN; } +- static long double __STL_CALL max() __STL_NOTHROW { __STL_USING_VENDOR_CSTD return LDBL_MAX; } +- static long double __STL_CALL epsilon() __STL_NOTHROW { return LDBL_EPSILON; } +- static long double __STL_CALL round_error() __STL_NOTHROW { return 4; } // Units: ulps. +- static inline long double __STL_CALL infinity() { return _LimG::_L_inf.val; } +- static inline long double __STL_CALL quiet_NaN() { return _LimG::_L_qNaN.val; } +- static inline long double __STL_CALL signaling_NaN() { return _LimG::_L_sNaN.val; } ++ static long double (_STLP_CALL min) () _STLP_NOTHROW { _STLP_USING_VENDOR_CSTD return LDBL_MIN; } ++ static long double _STLP_CALL denorm_min() _STLP_NOTHROW { _STLP_USING_VENDOR_CSTD return LDBL_MIN; } ++ static long double (_STLP_CALL max) () _STLP_NOTHROW { _STLP_USING_VENDOR_CSTD return LDBL_MAX; } ++ static long double _STLP_CALL epsilon() _STLP_NOTHROW { return LDBL_EPSILON; } ++ static long double _STLP_CALL round_error() _STLP_NOTHROW { return 4; } // Units: ulps. ++ static long double _STLP_CALL infinity() { return _LimG::_L_inf.val; } ++ static long double _STLP_CALL quiet_NaN() { return _LimG::_L_qNaN.val; } ++ static long double _STLP_CALL signaling_NaN() { return _LimG::_L_sNaN.val; } + }; + + # endif + + // We write special values (Inf and NaN) as bit patterns and + // cast the the appropriate floating-point types. +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-# if !defined (__STL_LINK_TIME_INSTANTIATION) ++# if !defined (_STLP_LINK_TIME_INSTANTIATION) + # include + # endif + +-#endif /* __SGI_CPP_LIMITS */ ++#endif + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_list.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_list.c +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_list.c Sat Feb 24 10:44:56 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_list.c Sun Aug 11 18:59:24 2002 +@@ -23,21 +23,26 @@ + * modified is included with the above copyright notice. + * + */ +-#ifndef __STL_LIST_C +-#define __STL_LIST_C ++#ifndef _STLP_LIST_C ++#define _STLP_LIST_C + +-#if defined(__MRC__)||defined(__SC__) +-//*TY 05/25/2000 - needed for the mpw workaround in sort() ++#ifndef _STLP_INTERNAL_LIST_H ++# include ++#endif ++ ++#if defined (__WATCOMC__) + #include + #endif + + # undef list + # define list __WORKAROUND_DBG_RENAME(list) + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE ++ ++# if defined (_STLP_EXPOSE_GLOBALS_IMPLEMENTATION) + + template +-void ++void _STLP_CALL + _List_global<_Dummy>::_Transfer(_List_node_base* __position, + _List_node_base* __first, _List_node_base* __last) { + if (__position != __last) { +@@ -54,150 +59,35 @@ + } + } + ++#endif /* defined (__BUILDING_STLPORT) || ! defined (_STLP_OWN_IOSTREAMS) */ ++ ++ + template + void + _List_base<_Tp,_Alloc>::clear() + { +- _List_node<_Tp>* __cur = (_List_node<_Tp>*) _M_node._M_data->_M_next; +- while (__cur != _M_node._M_data) { ++ _List_node<_Tp>* __cur = (_List_node<_Tp>*) this->_M_node._M_data->_M_next; ++ while (__cur != this->_M_node._M_data) { + _List_node<_Tp>* __tmp = __cur; + __cur = (_List_node<_Tp>*) __cur->_M_next; + _Destroy(&__tmp->_M_data); +- _M_node.deallocate(__tmp, 1); ++ this->_M_node.deallocate(__tmp, 1); + } +- _M_node._M_data->_M_next = _M_node._M_data; +- _M_node._M_data->_M_prev = _M_node._M_data; ++ this->_M_node._M_data->_M_next = this->_M_node._M_data; ++ this->_M_node._M_data->_M_prev = this->_M_node._M_data; + } + +-# if defined (__STL_NESTED_TYPE_PARAM_BUG) +-# define __iterator__ _List_iterator<_Tp, _Nonconst_traits<_Tp> > +-# define iterator __iterator__ +-# define const_iterator _List_iterator<_Tp, _Const_traits<_Tp> > ++# if defined (_STLP_NESTED_TYPE_PARAM_BUG) + # define size_type size_t +-# else +-# define __iterator__ __STL_TYPENAME_ON_RETURN_TYPE list<_Tp,_Alloc>::iterator + # endif + +-# if defined (__STL_MEMBER_TEMPLATES) && ! defined (__STL_INLINE_MEMBER_TEMPLATES) +- +-template template +-void list<_Tp, _Alloc>::remove_if(_Predicate __pred) +-{ +- iterator __first = begin(); +- iterator __last = end(); +- while (__first != __last) { +- iterator __next = __first; +- ++__next; +- if (__pred(*__first)) erase(__first); +- __first = __next; +- } +-} +- +-template template +-void list<_Tp, _Alloc>::unique(_BinaryPredicate __binary_pred) { +- iterator __first = begin(); +- iterator __last = end(); +- if (__first == __last) return; +- iterator __next = __first; +- while (++__next != __last) { +- if (__binary_pred(*__first, *__next)) +- erase(__next); +- else +- __first = __next; +- __next = __first; +- } +-} +- +-template template +-void list<_Tp, _Alloc>::merge(list<_Tp, _Alloc>& __x, +- _StrictWeakOrdering __comp) { +- iterator __first1 = begin(); +- iterator __last1 = end(); +- iterator __first2 = __x.begin(); +- iterator __last2 = __x.end(); +- while (__first1 != __last1 && __first2 != __last2) +- if (__comp(*__first2, *__first1)) { +- iterator __next = __first2; +- _List_global_inst::_Transfer(__first1._M_node, __first2._M_node, (++__next)._M_node); +- __first2 = __next; +- } +- else +- ++__first1; +- if (__first2 != __last2) _List_global_inst::_Transfer(__last1._M_node, __first2._M_node, __last2._M_node); +-} +- +-template template +-void list<_Tp, _Alloc>::sort(_StrictWeakOrdering __comp) { +- // Do nothing if the list has length 0 or 1. +- if (_M_node._M_data->_M_next != _M_node._M_data && +- ((_Node*) (_M_node._M_data->_M_next))->_M_next != _M_node._M_data) { +- list<_Tp, _Alloc> __carry; +- list<_Tp, _Alloc> __counter[64]; +- int __fill = 0; +- while (!empty()) { +- __carry.splice(__carry.begin(), *this, begin()); +- int __i = 0; +- while(__i < __fill && !__counter[__i].empty()) { +- __counter[__i].merge(__carry, __comp); +- __carry.swap(__counter[__i++]); +- } +- __carry.swap(__counter[__i]); +- if (__i == __fill) ++__fill; +- } +- +- for (int __i = 1; __i < __fill; ++__i) +- __counter[__i].merge(__counter[__i-1], __comp); +- swap(__counter[__fill-1]); +- } +-} +-# endif +- +-#ifndef __STL_MEMBER_TEMPLATES +- +-template +-void +-list<_Tp, _Alloc>::insert(iterator __position, +- const _Tp* __first, const _Tp* __last) +-{ +- for ( ; __first != __last; ++__first) +- insert(__position, *__first); +-} +- +-template +-void +-list<_Tp, _Alloc>::insert(iterator __position, +- const_iterator __first, const_iterator __last) +-{ +- for ( ; __first != __last; ++__first) +- insert(__position, *__first); +-} +- +-#endif +- +-template +-void +-list<_Tp, _Alloc>::_M_fill_insert(iterator __position, size_type __n, const _Tp& __x) +-{ +- for ( ; __n > 0; --__n) +- insert(__position, __x); +-} +- +-template +-__iterator__ list<_Tp, _Alloc>::erase(iterator __first, +- iterator __last) +-{ +- while (__first != __last) +- erase(__first++); +- return __last; +-} +- + template + void list<_Tp, _Alloc>::resize(size_type __new_size, const _Tp& __x) + { + iterator __i = begin(); + size_type __len = 0; +- for ( ; __i != end() && __len < __new_size; ++__i, ++__len) +- ; ++ for ( ; __i != end() && __len < __new_size; ++__i, ++__len); ++ + if (__len == __new_size) + erase(__i, end()); + else // __i == end() +@@ -233,46 +123,44 @@ + erase(__i, end()); + } + +-template +-void list<_Tp, _Alloc>::remove(const _Tp& __value) +-{ +- iterator __first = begin(); +- iterator __last = end(); ++template ++void _S_remove_if(list<_Tp, _Alloc>& __that, _Predicate __pred) { ++ typename list<_Tp, _Alloc>::iterator __first = __that.begin(); ++ typename list<_Tp, _Alloc>::iterator __last = __that.end(); + while (__first != __last) { +- iterator __next = __first; ++ typename list<_Tp, _Alloc>::iterator __next = __first; + ++__next; +- if (*__first == __value) +- erase(__first); ++ if (__pred(*__first)) __that.erase(__first); + __first = __next; + } + } + +-template +-void list<_Tp, _Alloc>::unique() +-{ +- iterator __first = begin(); +- iterator __last = end(); ++template ++void _S_unique(list<_Tp, _Alloc>& __that, _BinaryPredicate __binary_pred) { ++ typename list<_Tp, _Alloc>::iterator __first = __that.begin(); ++ typename list<_Tp, _Alloc>::iterator __last = __that.end(); + if (__first == __last) return; +- iterator __next = __first; ++ typename list<_Tp, _Alloc>::iterator __next = __first; + while (++__next != __last) { +- if (*__first == *__next) +- erase(__next); ++ if (__binary_pred(*__first, *__next)) ++ __that.erase(__next); + else + __first = __next; + __next = __first; + } + } + +-template +-void list<_Tp, _Alloc>::merge(list<_Tp, _Alloc>& __x) +-{ +- iterator __first1 = begin(); +- iterator __last1 = end(); +- iterator __first2 = __x.begin(); +- iterator __last2 = __x.end(); ++template ++void _S_merge(list<_Tp, _Alloc>& __that, list<_Tp, _Alloc>& __x, ++ _StrictWeakOrdering __comp) { ++ typedef typename list<_Tp, _Alloc>::iterator _Literator; ++ _Literator __first1 = __that.begin(); ++ _Literator __last1 = __that.end(); ++ _Literator __first2 = __x.begin(); ++ _Literator __last2 = __x.end(); + while (__first1 != __last1 && __first2 != __last2) +- if (*__first2 < *__first1) { +- iterator __next = __first2; ++ if (__comp(*__first2, *__first1)) { ++ _Literator __next = __first2; + _List_global_inst::_Transfer(__first1._M_node, __first2._M_node, (++__next)._M_node); + __first2 = __next; + } +@@ -281,61 +169,41 @@ + if (__first2 != __last2) _List_global_inst::_Transfer(__last1._M_node, __first2._M_node, __last2._M_node); + } + +-inline void __List_base_reverse(_List_node_base* __p) +-{ +- _List_node_base* __tmp = __p; +- do { +- __STLPORT_STD::swap(__tmp->_M_next, __tmp->_M_prev); +- __tmp = __tmp->_M_prev; // Old next node is now prev. +- } while (__tmp != __p); +-} +- +-template +-void list<_Tp, _Alloc>::reverse() +-{ +- __List_base_reverse(this->_M_node._M_data); +-} +- +-template +-void list<_Tp, _Alloc>::sort() +-{ ++template ++void _S_sort(list<_Tp, _Alloc>& __that, _StrictWeakOrdering __comp) { + // Do nothing if the list has length 0 or 1. +- if (_M_node._M_data->_M_next != _M_node._M_data && +- ((_Node*) (_M_node._M_data->_M_next))->_M_next != _M_node._M_data) { ++ if (__that._M_node._M_data->_M_next != __that._M_node._M_data && ++ (__that._M_node._M_data->_M_next)->_M_next != __that._M_node._M_data) { + list<_Tp, _Alloc> __carry; +-#if !(defined(__MRC__)||defined(__SC__)) //*TY 05/25/2000 - added workaround for mpw compilers ++#if !defined (__WATCOMC__) + list<_Tp, _Alloc> __counter[64]; +-#else //*TY 05/25/2000 - ++#else + __vector__, _Alloc> __counter(64); +- //*TY 05/25/2000 - mpw has difficulty handling exception thrown from inside the array of object ctor + #endif //*TY 05/25/2000 - + int __fill = 0; +- while (!empty()) { +- __carry.splice(__carry.begin(), *this, begin()); ++ while (!__that.empty()) { ++ __carry.splice(__carry.begin(), __that, __that.begin()); + int __i = 0; + while(__i < __fill && !__counter[__i].empty()) { +- __counter[__i].merge(__carry); +- __carry.swap(__counter[__i++]); ++ _S_merge(__counter[__i], __carry, __comp); ++ __carry.swap(__counter[__i++]); + } + __carry.swap(__counter[__i]); + if (__i == __fill) ++__fill; + } +- +- for (int __i = 1; __i < __fill; ++__i) +- __counter[__i].merge(__counter[__i-1]); +- swap(__counter[__fill-1]); ++ ++ for (int __i = 1; __i < __fill; ++__i) ++ _S_merge(__counter[__i], __counter[__i-1], __comp); ++ __that.swap(__counter[__fill-1]); + } + } + + # undef list +-# undef iterator +-# undef const_iterator + # undef size_type +-# undef __iterator__ + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-#endif /* __STL_LIST_C */ ++#endif /* _STLP_LIST_C */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_list.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_list.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_list.h Sat Feb 24 10:44:57 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_list.h Sun Aug 11 18:59:24 2002 +@@ -27,46 +27,50 @@ + * You should not attempt to use it directly. + */ + +-#ifndef __SGI_STL_INTERNAL_LIST_H +-#define __SGI_STL_INTERNAL_LIST_H ++#ifndef _STLP_INTERNAL_LIST_H ++#define _STLP_INTERNAL_LIST_H + +-# ifndef __SGI_STL_INTERNAL_ALGOBASE_H ++# ifndef _STLP_INTERNAL_ALGOBASE_H + # include + # endif + +-# ifndef __SGI_STL_INTERNAL_ALLOC_H ++# ifndef _STLP_INTERNAL_ALLOC_H + # include + # endif + +-# ifndef __SGI_STL_INTERNAL_ITERATOR_H ++# ifndef _STLP_INTERNAL_ITERATOR_H + # include + # endif + +-# ifndef __SGI_STL_INTERNAL_CONSTRUCT_H ++# ifndef _STLP_INTERNAL_CONSTRUCT_H + # include + # endif + +-__STL_BEGIN_NAMESPACE ++# ifndef _STLP_INTERNAL_FUNCTION_BASE_H ++# include ++# endif ++ ++_STLP_BEGIN_NAMESPACE + + # undef list + # define list __WORKAROUND_DBG_RENAME(list) + +-# if defined ( __STL_USE_ABBREVS ) +-# define __list_iterator _L__It +-# endif +- + struct _List_node_base { + _List_node_base* _M_next; + _List_node_base* _M_prev; + }; + + template +-struct _List_global { ++class _List_global { ++public: + typedef _List_node_base _Node; +- static void __STL_CALL _Transfer(_List_node_base* __position, ++ static void _STLP_CALL _Transfer(_List_node_base* __position, + _List_node_base* __first, _List_node_base* __last); + }; + ++# if defined (_STLP_USE_TEMPLATE_EXPORT) ++_STLP_EXPORT_TEMPLATE_CLASS _List_global; ++# endif + typedef _List_global _List_global_inst; + + template +@@ -119,7 +123,7 @@ + + reference operator*() const { return ((_Node*)_M_node)->_M_data; } + +- __STL_DEFINE_ARROW_OPERATOR ++ _STLP_DEFINE_ARROW_OPERATOR + + _Self& operator++() { + this->_M_incr(); +@@ -142,11 +146,11 @@ + }; + + +-#ifdef __STL_USE_OLD_HP_ITERATOR_QUERIES ++#ifdef _STLP_USE_OLD_HP_ITERATOR_QUERIES + template +-inline _Tp* __VALUE_TYPE(const _List_iterator<_Tp, _Traits>&) { return 0; } +-inline bidirectional_iterator_tag __ITERATOR_CATEGORY(const _List_iterator_base&) { return bidirectional_iterator_tag();} +-inline ptrdiff_t* __DISTANCE_TYPE(const _List_iterator_base&) { return 0; } ++inline _Tp* value_type(const _List_iterator<_Tp, _Traits>&) { return 0; } ++inline bidirectional_iterator_tag iterator_category(const _List_iterator_base&) { return bidirectional_iterator_tag();} ++inline ptrdiff_t* distance_type(const _List_iterator_base&) { return 0; } + #endif + + +@@ -157,6 +161,7 @@ + class _List_base + { + protected: ++ _STLP_FORCE_ALLOCATORS(_Tp, _Alloc) + typedef _List_node<_Tp> _Node; + typedef typename _Alloc_traits<_Node, _Alloc>::allocator_type + _Node_allocator_type; +@@ -165,10 +170,10 @@ + allocator_type; + + allocator_type get_allocator() const { +- return __STL_CONVERT_ALLOCATOR((const _Node_allocator_type&)_M_node, _Tp); ++ return _STLP_CONVERT_ALLOCATOR((const _Node_allocator_type&)_M_node, _Tp); + } + +- _List_base(const allocator_type& __a) : _M_node(__STL_CONVERT_ALLOCATOR(__a, _Node), (_Node*)0) { ++ _List_base(const allocator_type& __a) : _M_node(_STLP_CONVERT_ALLOCATOR(__a, _Node), (_Node*)0) { + _Node* __n = _M_node.allocate(1); + __n->_M_next = __n; + __n->_M_prev = __n; +@@ -182,11 +187,28 @@ + void clear(); + + public: +- _STL_alloc_proxy<_Node*, _Node, _Node_allocator_type> _M_node; ++ _STLP_alloc_proxy<_Node*, _Node, _Node_allocator_type> _M_node; + }; + +-template +-class list : protected _List_base<_Tp, _Alloc> { ++template ++class list; ++ ++// helper functions to reduce code duplication ++template ++void _S_remove_if(list<_Tp, _Alloc>& __that, _Predicate __pred); ++ ++template ++void _S_unique(list<_Tp, _Alloc>& __that, _BinaryPredicate __binary_pred); ++ ++template ++void _S_merge(list<_Tp, _Alloc>& __that, list<_Tp, _Alloc>& __x, ++ _StrictWeakOrdering __comp); ++ ++template ++void _S_sort(list<_Tp, _Alloc>& __that, _StrictWeakOrdering __comp); ++ ++template ++class list : public _List_base<_Tp, _Alloc> { + typedef _List_base<_Tp, _Alloc> _Base; + typedef list<_Tp, _Alloc> _Self; + public: +@@ -198,40 +220,33 @@ + typedef _List_node<_Tp> _Node; + typedef size_t size_type; + typedef ptrdiff_t difference_type; ++ _STLP_FORCE_ALLOCATORS(_Tp, _Alloc) + typedef typename _Base::allocator_type allocator_type; + typedef bidirectional_iterator_tag _Iterator_category; + + public: + typedef _List_iterator<_Tp, _Nonconst_traits<_Tp> > iterator; + typedef _List_iterator<_Tp, _Const_traits<_Tp> > const_iterator; +- +- __STL_DECLARE_BIDIRECTIONAL_REVERSE_ITERATORS; +- +-#if defined( __STL_HAS_NAMESPACES ) +- __STL_USING_BASE_MEMBER _List_base<_Tp, _Alloc>::_M_node; +-#endif /* __STL_HAS_NAMESPACES */ +-public: +- __STL_USING_BASE_MEMBER _List_base<_Tp, _Alloc>::get_allocator; +- __STL_USING_BASE_MEMBER _List_base<_Tp, _Alloc>::clear; ++ _STLP_DECLARE_BIDIRECTIONAL_REVERSE_ITERATORS; + + protected: + _Node* _M_create_node(const _Tp& __x) + { +- _Node* __p = _M_node.allocate(1); +- __STL_TRY { ++ _Node* __p = this->_M_node.allocate(1); ++ _STLP_TRY { + _Construct(&__p->_M_data, __x); + } +- __STL_UNWIND(_M_node.deallocate(__p, 1)); ++ _STLP_UNWIND(this->_M_node.deallocate(__p, 1)); + return __p; + } + + _Node* _M_create_node() + { +- _Node* __p = _M_node.allocate(1); +- __STL_TRY { ++ _Node* __p = this->_M_node.allocate(1); ++ _STLP_TRY { + _Construct(&__p->_M_data); + } +- __STL_UNWIND(_M_node.deallocate(__p, 1)); ++ _STLP_UNWIND(this->_M_node.deallocate(__p, 1)); + return __p; + } + +@@ -242,11 +257,11 @@ + list(const allocator_type& __a = allocator_type()) : + _List_base<_Tp, _Alloc>(__a) {} + +- iterator begin() { return iterator((_Node*)(_M_node._M_data->_M_next)); } +- const_iterator begin() const { return const_iterator((_Node*)(_M_node._M_data->_M_next)); } ++ iterator begin() { return iterator((_Node*)(this->_M_node._M_data->_M_next)); } ++ const_iterator begin() const { return const_iterator((_Node*)(this->_M_node._M_data->_M_next)); } + +- iterator end() { return _M_node._M_data; } +- const_iterator end() const { return _M_node._M_data; } ++ iterator end() { return this->_M_node._M_data; } ++ const_iterator end() const { return this->_M_node._M_data; } + + reverse_iterator rbegin() + { return reverse_iterator(end()); } +@@ -258,10 +273,9 @@ + const_reverse_iterator rend() const + { return const_reverse_iterator(begin()); } + +- bool empty() const { return _M_node._M_data->_M_next == _M_node._M_data; } ++ bool empty() const { return this->_M_node._M_data->_M_next == this->_M_node._M_data; } + size_type size() const { +- size_type __result = 0; +- distance(begin(), end(), __result); ++ size_type __result = distance(begin(), end()); + return __result; + } + size_type max_size() const { return size_type(-1); } +@@ -272,81 +286,63 @@ + const_reference back() const { return *(--end()); } + + void swap(list<_Tp, _Alloc>& __x) { +- __STLPORT_STD::swap(_M_node, __x._M_node); ++ _STLP_STD::swap(this->_M_node, __x._M_node); + } + + iterator insert(iterator __position, const _Tp& __x) { + + _Node* __tmp = _M_create_node(__x); +-# if 0 +- cerr <<"before: "; +- for ( _Node* __tmp1 = (_Node*)(_M_node._M_data->_M_next);;) { +- cerr<< hex<<(long)(__tmp1->_M_prev)<<"<-"<<(long)__tmp1<<":"<<__tmp1->_M_data<<"->"<<(long)__tmp1->_M_next<<";"; +- __tmp1 = (_Node*)__tmp1->_M_next; +- if (__tmp1 == (_Node*)_M_node._M_data) { +- cerr << endl; +- break; +- } +- } +-# endif + _List_node_base* __n = __position._M_node; + _List_node_base* __p = __n->_M_prev; + __tmp->_M_next = __n; + __tmp->_M_prev = __p; + __p->_M_next = __tmp; + __n->_M_prev = __tmp; +-# if 0 +- cerr<<"after : "; +- for ( _Node* __tmp1 = (_Node*)(_M_node._M_data->_M_next);;) { +- cerr<_M_prev)<<"<-"<<(long)__tmp1<<":"<<__tmp1->_M_data<<"->"<<(long)__tmp1->_M_next<<";"; +- __tmp1 = (_Node*)__tmp1->_M_next; +- if (__tmp1 == (_Node*)_M_node._M_data) { +- cerr << endl; +- break; +- } +- } +-# endif + return __tmp; + } + +- iterator insert(iterator __position) { return insert(__position, _Tp()); } +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES ++ template ++ void insert(iterator __pos, _InputIterator __first, _InputIterator __last) { ++ typedef typename _Is_integer<_InputIterator>::_Integral _Integral; ++ _M_insert_dispatch(__pos, __first, __last, _Integral()); ++ } + // Check whether it's an integral type. If so, it's not an iterator. +- + template + void _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __x, +- __true_type) { ++ const __true_type&) { + _M_fill_insert(__pos, (size_type) __n, (_Tp) __x); + } +- + template + void + _M_insert_dispatch(iterator __position, + _InputIter __first, _InputIter __last, +- __false_type) { ++ const __false_type&) ++#else /* _STLP_MEMBER_TEMPLATES */ ++ void insert(iterator __position, const _Tp* __first, const _Tp* __last) { + for ( ; __first != __last; ++__first) + insert(__position, *__first); + } +- +- template +- void insert(iterator __pos, _InputIterator __first, _InputIterator __last) { +- typedef typename _Is_integer<_InputIterator>::_Integral _Integral; +- _M_insert_dispatch(__pos, __first, __last, _Integral()); ++ void insert(iterator __position, const_iterator __first, const_iterator __last) ++#endif /* _STLP_MEMBER_TEMPLATES */ ++ { ++ for ( ; __first != __last; ++__first) ++ insert(__position, *__first); + } +- +-#else /* __STL_MEMBER_TEMPLATES */ +- void insert(iterator __position, const _Tp* __first, const _Tp* __last); +- void insert(iterator __position, +- const_iterator __first, const_iterator __last); +-#endif /* __STL_MEMBER_TEMPLATES */ +- void insert(iterator __pos, size_type __n, const _Tp& __x) +- { _M_fill_insert(__pos, __n, __x); } +- void _M_fill_insert(iterator __pos, size_type __n, const _Tp& __x); +- ++ void insert(iterator __pos, size_type __n, const _Tp& __x) { _M_fill_insert(__pos, __n, __x); } ++ ++ void _M_fill_insert(iterator __pos, size_type __n, const _Tp& __x) { ++ for ( ; __n > 0; --__n) ++ insert(__pos, __x); ++ } + void push_front(const _Tp& __x) { insert(begin(), __x); } +- void push_front() {insert(begin());} + void push_back(const _Tp& __x) { insert(end(), __x); } ++ ++# ifndef _STLP_NO_ANACHRONISMS ++ iterator insert(iterator __position) { return insert(__position, _Tp()); } ++ void push_front() {insert(begin());} + void push_back() {insert(end());} ++# endif + + iterator erase(iterator __position) { + _List_node_base* __next_node = __position._M_node->_M_next; +@@ -355,10 +351,15 @@ + __prev_node->_M_next = __next_node; + __next_node->_M_prev = __prev_node; + _Destroy(&__n->_M_data); +- _M_node.deallocate(__n, 1); ++ this->_M_node.deallocate(__n, 1); + return iterator((_Node*)__next_node); + } +- iterator erase(iterator __first, iterator __last); ++ ++ iterator erase(iterator __first, iterator __last) { ++ while (__first != __last) ++ erase(__first++); ++ return __last; ++ } + + void resize(size_type __new_size, const _Tp& __x); + void resize(size_type __new_size) { this->resize(__new_size, _Tp()); } +@@ -368,25 +369,30 @@ + iterator __tmp = end(); + erase(--__tmp); + } +- list(size_type __n, const _Tp& __value, ++ list(size_type __n, const _Tp& __val, + const allocator_type& __a = allocator_type()) + : _List_base<_Tp, _Alloc>(__a) +- { this->insert(begin(), __n, __value); } ++ { this->insert(begin(), __n, __val); } + explicit list(size_type __n) + : _List_base<_Tp, _Alloc>(allocator_type()) + { this->insert(begin(), __n, _Tp()); } + +-#ifdef __STL_MEMBER_TEMPLATES +- ++#ifdef _STLP_MEMBER_TEMPLATES + // We don't need any dispatching tricks here, because insert does all of +- // that anyway. ++ // that anyway. ++# ifdef _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS ++ template ++ list(_InputIterator __first, _InputIterator __last) ++ : _List_base<_Tp, _Alloc>(allocator_type()) ++ { insert(begin(), __first, __last); } ++# endif + template + list(_InputIterator __first, _InputIterator __last, +- const allocator_type& __a = allocator_type()) ++ const allocator_type& __a _STLP_ALLOCATOR_TYPE_DFL) + : _List_base<_Tp, _Alloc>(__a) + { insert(begin(), __first, __last); } + +-#else /* __STL_MEMBER_TEMPLATES */ ++#else /* _STLP_MEMBER_TEMPLATES */ + + list(const _Tp* __first, const _Tp* __last, + const allocator_type& __a = allocator_type()) +@@ -397,7 +403,7 @@ + : _List_base<_Tp, _Alloc>(__a) + { insert(begin(), __first, __last); } + +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + list(const list<_Tp, _Alloc>& __x) : _List_base<_Tp, _Alloc>(__x.get_allocator()) + { insert(begin(), __x.begin(), __x.end()); } + +@@ -415,7 +421,7 @@ + + void _M_fill_assign(size_type __n, const _Tp& __val); + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + + template + void assign(_InputIterator __first, _InputIterator __last) { +@@ -424,12 +430,12 @@ + } + + template +- void _M_assign_dispatch(_Integer __n, _Integer __val, __true_type) ++ void _M_assign_dispatch(_Integer __n, _Integer __val, const __true_type&) + { assign((size_type) __n, (_Tp) __val); } + + template + void _M_assign_dispatch(_InputIterator __first2, _InputIterator __last2, +- __false_type) { ++ const __false_type&) { + iterator __first1 = begin(); + iterator __last1 = end(); + for ( ; __first1 != __last1 && __first2 != __last2; ++__first1, ++__first2) +@@ -440,9 +446,8 @@ + insert(__last1, __first2, __last2); + } + +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + +-protected: + public: + void splice(iterator __position, _Self& __x) { + if (!__x.empty()) +@@ -458,95 +463,64 @@ + if (__first != __last) + _List_global_inst::_Transfer(__position._M_node, __first._M_node, __last._M_node); + } +- void remove(const _Tp& __value); +- void unique(); +- void merge(_Self& __x); +- void reverse(); +- void sort(); +- +-#ifdef __STL_MEMBER_TEMPLATES +-# ifndef __STL_INLINE_MEMBER_TEMPLATES +- template void remove_if(_Predicate); +- template void unique(_BinaryPredicate); +- template void merge(list<_Tp, _Alloc>&, _StrictWeakOrdering); +- template void sort(_StrictWeakOrdering); +-# else +- template +- void remove_if(_Predicate __pred) +-{ ++ ++ void remove(const _Tp& __val) { + iterator __first = begin(); + iterator __last = end(); + while (__first != __last) { + iterator __next = __first; + ++__next; +- if (__pred(*__first)) erase(__first); ++ if (__val == *__first) erase(__first); + __first = __next; + } + } ++ ++ void unique() { ++ _S_unique(*this, equal_to<_Tp>()); ++ } ++ ++ void merge(_Self& __x) { ++ _S_merge(*this, __x, less<_Tp>()); ++ } ++ ++ void reverse() { ++ _List_node_base* __p = this->_M_node._M_data; ++ _List_node_base* __tmp = __p; ++ do { ++ _STLP_STD::swap(__tmp->_M_next, __tmp->_M_prev); ++ __tmp = __tmp->_M_prev; // Old next node is now prev. ++ } while (__tmp != __p); ++ } ++ ++ void sort() { ++ _S_sort(*this, less<_Tp>()); ++ } ++ ++#ifdef _STLP_MEMBER_TEMPLATES ++ template void remove_if(_Predicate __pred) { ++ _S_remove_if(*this, __pred); ++ } + template + void unique(_BinaryPredicate __binary_pred) { +- iterator __first = begin(); +- iterator __last = end(); +- if (__first == __last) return; +- iterator __next = __first; +- while (++__next != __last) { +- if (__binary_pred(*__first, *__next)) +- erase(__next); +- else +- __first = __next; +- __next = __first; +- } ++ _S_unique(*this, __binary_pred); + } + + template + void merge(list<_Tp, _Alloc>& __x, + _StrictWeakOrdering __comp) { +- iterator __first1 = begin(); +- iterator __last1 = end(); +- iterator __first2 = __x.begin(); +- iterator __last2 = __x.end(); +- while (__first1 != __last1 && __first2 != __last2) +- if (__comp(*__first2, *__first1)) { +- iterator __next = __first2; +- _List_global_inst::_Transfer(__first1._M_node, __first2._M_node, (++__next)._M_node); +- __first2 = __next; +- } +- else +- ++__first1; +- if (__first2 != __last2) _List_global_inst::_Transfer(__last1._M_node, __first2._M_node, __last2._M_node); ++ _S_merge(*this, __x, __comp); + } + + template + void sort(_StrictWeakOrdering __comp) { +- // Do nothing if the list has length 0 or 1. +- if (_M_node._M_data->_M_next != _M_node._M_data && +- (_M_node._M_data->_M_next)->_M_next != _M_node._M_data) { +- list<_Tp, _Alloc> __carry; +- list<_Tp, _Alloc> __counter[64]; +- int __fill = 0; +- while (!empty()) { +- __carry.splice(__carry.begin(), *this, begin()); +- int __i = 0; +- while(__i < __fill && !__counter[__i].empty()) { +- __counter[__i].merge(__carry, __comp); +- __carry.swap(__counter[__i++]); +- } +- __carry.swap(__counter[__i]); +- if (__i == __fill) ++__fill; +- } +- +- for (int __i = 1; __i < __fill; ++__i) +- __counter[__i].merge(__counter[__i-1], __comp); +- swap(__counter[__fill-1]); +- } ++ _S_sort(*this, __comp); + } +-# endif /* __STL_INLINE_MEMBER_TEMPLATES */ +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + }; + + template +-__STL_INLINE_LOOP bool __STL_CALL ++_STLP_INLINE_LOOP bool _STLP_CALL + operator==(const list<_Tp,_Alloc>& __x, const list<_Tp,_Alloc>& __y) + { + typedef typename list<_Tp,_Alloc>::const_iterator const_iterator; +@@ -563,33 +537,33 @@ + } + + template +-inline bool __STL_CALL operator<(const list<_Tp,_Alloc>& __x, ++inline bool _STLP_CALL operator<(const list<_Tp,_Alloc>& __x, + const list<_Tp,_Alloc>& __y) + { + return lexicographical_compare(__x.begin(), __x.end(), + __y.begin(), __y.end()); + } + +-# define __STL_TEMPLATE_CONTAINER list<_Tp, _Alloc> +-# define __STL_TEMPLATE_HEADER template +-__STL_RELOPS_OPERATORS(__STL_TEMPLATE_HEADER, __STL_TEMPLATE_CONTAINER) +-# undef __STL_TEMPLATE_CONTAINER +-# undef __STL_TEMPLATE_HEADER ++# define _STLP_TEMPLATE_CONTAINER list<_Tp, _Alloc> ++# define _STLP_TEMPLATE_HEADER template ++_STLP_RELOPS_OPERATORS(_STLP_TEMPLATE_HEADER, _STLP_TEMPLATE_CONTAINER) ++# undef _STLP_TEMPLATE_CONTAINER ++# undef _STLP_TEMPLATE_HEADER + +-#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE ++#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE + + template +-inline void __STL_CALL ++inline void _STLP_CALL + swap(list<_Tp, _Alloc>& __x, list<_Tp, _Alloc>& __y) + { + __x.swap(__y); + } + +-#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ ++#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-# if !defined (__STL_LINK_TIME_INSTANTIATION) ++# if !defined (_STLP_LINK_TIME_INSTANTIATION) + # include + # endif + +@@ -597,15 +571,15 @@ + # undef list + # define __list__ __FULL_NAME(list) + +-#if defined (__STL_DEBUG) ++#if defined (_STLP_DEBUG) + # include + #endif + +-#if defined (__STL_USE_WRAPPER_FOR_ALLOC_PARAM) ++#if defined (_STLP_USE_WRAPPER_FOR_ALLOC_PARAM) + # include + #endif + +-#endif /* __SGI_STL_INTERNAL_LIST_H */ ++#endif /* _STLP_INTERNAL_LIST_H */ + + // Local Variables: + // mode:C++ +Only in tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl: _locale.c +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_locale.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_locale.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_locale.h Sat Feb 24 10:44:57 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_locale.h Sun Aug 11 18:59:24 2002 +@@ -20,50 +20,76 @@ + // file directly. + + +-#ifndef __SGI_STL_INTERNAL_LOCALE_H +-#define __SGI_STL_INTERNAL_LOCALE_H ++#ifndef _STLP_INTERNAL_LOCALE_H ++#define _STLP_INTERNAL_LOCALE_H + +-#include +-#include +-#include +-#include ++#ifndef _STLP_CSTDLIB ++# include ++#endif + +-__STL_BEGIN_NAMESPACE ++#ifndef _STLP_CWCHAR ++# include ++#endif + +-class __STL_CLASS_DECLSPEC _Locale_impl; // Forward declaration of opaque type. +-class __STL_CLASS_DECLSPEC locale; ++#ifndef _STLP_INTERNAL_THREADS_H ++# include ++#endif + +-class __STL_CLASS_DECLSPEC locale { +- friend class _Locale_impl; +- friend class ios_base; ++#ifndef _STLP_STRING_FWD_H ++# include ++#endif ++ ++_STLP_BEGIN_NAMESPACE ++ ++class _STLP_CLASS_DECLSPEC _Locale_impl; // Forward declaration of opaque type. ++class _STLP_CLASS_DECLSPEC _Locale; // Forward declaration of opaque type. ++class _STLP_CLASS_DECLSPEC locale; ++class _STLP_CLASS_DECLSPEC ios_base; ++ ++ ++template ++bool ++__locale_do_operator_call (const locale* __that, ++ const basic_string<_CharT, char_traits<_CharT>, allocator<_CharT> >& __x, ++ const basic_string<_CharT, char_traits<_CharT>, allocator<_CharT> >& __y); ++ ++# define _BaseFacet locale::facet ++ ++class _STLP_CLASS_DECLSPEC locale { + public: + // types: + +- class __STL_DECLSPEC facet : private _Refcount_Base { +- friend class locale; +- friend class _Locale_impl; ++ class _STLP_DECLSPEC facet : private _Refcount_Base { + protected: + explicit facet(size_t __no_del = 0) : _Refcount_Base(1), _M_delete(__no_del == 0) {} + virtual ~facet(); ++ friend class locale; ++ friend class _Locale_impl; ++ friend class _Locale; + + private: // Invalidate assignment and copying. +- facet(const facet&); ++ facet(const facet& __f) : _Refcount_Base(1), _M_delete(__f._M_delete == 0) {}; + void operator=(const facet&); + + private: // Data members. + const bool _M_delete; + }; + +- class __STL_DECLSPEC id { ++#if defined(__MVS__) || defined(__OS400__) ++ struct ++#else ++ class ++#endif ++ _STLP_DECLSPEC id { + friend class locale; + friend class _Locale_impl; + public: + size_t _M_index; + static size_t _S_max; + }; +- ++ + typedef int category; +-# if defined (__STL_STATIC_CONST_INIT_BUG) || defined (__STL_USE_DECLSPEC) ++# if defined (_STLP_STATIC_CONST_INIT_BUG) + enum _Category { + # else + static const category +@@ -76,107 +102,98 @@ + time = 0x200, + messages = 0x400, + all = collate | ctype | monetary | numeric | time | messages +-# if defined (__STL_STATIC_CONST_INIT_BUG) || defined (__STL_USE_DECLSPEC) ++# if defined (_STLP_STATIC_CONST_INIT_BUG) + } + # endif + ; + + // construct/copy/destroy: + locale(); +- locale(const locale&) __STL_NOTHROW; ++ locale(const locale&) _STLP_NOTHROW; + explicit locale(const char *); + locale(const locale&, const char*, category); + +-private: ++ // those are for internal use ++ locale(_Locale_impl*); + locale(_Locale_impl*, bool); + + public: + +-# if defined ( __STL_MEMBER_TEMPLATES ) && defined (__STL_FUNCTION_TMPL_PARTIAL_ORDER) ++# if defined ( _STLP_MEMBER_TEMPLATES ) /* && defined (_STLP_FUNCTION_TMPL_PARTIAL_ORDER) */ + template + locale(const locale& __loc, _Facet* __f) : _M_impl(0) + { +- _M_impl = this->_S_copy_impl(__loc._M_impl, __f != 0); ++ // _M_impl = this->_S_copy_impl(__loc._M_impl, __f != 0); ++ new(this) locale(__loc._M_impl, __f != 0); + if (__f != 0) +- this->_M_insert(__f, _Facet::id); ++ this->_M_insert(__f, _Facet::id); + } + # endif + + locale(const locale&, const locale&, category); +- ~locale() __STL_NOTHROW; +- const locale& operator=(const locale&) __STL_NOTHROW; ++ ~locale() _STLP_NOTHROW; ++ const locale& operator=(const locale&) _STLP_NOTHROW; + +-# if !(defined (__STL_NO_MEMBER_TEMPLATES) || defined (__STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS)) +- template locale combine(const locale&) +-# ifndef __STL_INLINE_MEMBER_TEMPLATES +- ; +-# else +-{ +- locale __result(__loc._M_impl, true); +- if (facet* __f = __loc._M_get_facet(_Facet::id)) { +- __result._M_insert(__f, _Facet::id); +- __f->_M_incr(); ++# if !(defined (_STLP_NO_MEMBER_TEMPLATES) || defined (_STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS)) ++ template locale combine(const locale& __loc) { ++ locale __result(__loc._M_impl, true); ++ if (facet* __f = __loc._M_get_facet(_Facet::id)) { ++ __result._M_insert(__f, _Facet::id); ++ __f->_M_incr(); ++ } ++ else ++ _M_throw_runtime_error(); ++ return __result; + } +- else +- _M_throw_runtime_error(); +- +- return __result; +-} +-# endif + # endif + // locale operations: +- basic_string, allocator > name() const; ++ string name() const; + + bool operator==(const locale&) const; + bool operator!=(const locale&) const; + +-# if ! defined ( __STL_MEMBER_TEMPLATES ) || defined (__STL_INLINE_MEMBER_TEMPLATES) +- bool operator()(const string& __x, +- const string& __y) const; +-# ifndef __STL_NO_WCHAR_T +- bool operator()(const wstring& __x, +- const wstring& __y) const; ++# if ! defined ( _STLP_MEMBER_TEMPLATES ) || defined (_STLP_INLINE_MEMBER_TEMPLATES) || (defined(__MWERKS__) && __MWERKS__ <= 0x2301) ++ bool operator()(const string& __x, const string& __y) const; ++# ifndef _STLP_NO_WCHAR_T ++ bool operator()(const wstring& __x, const wstring& __y) const; + # endif + # else + template + bool operator()(const basic_string<_CharT, _Traits, _Alloc>& __x, +- const basic_string<_CharT, _Traits, _Alloc>& __y) const +-# if !defined(__MWERKS__) || __MWERKS__ > 0x2301 +- ; +-# else +- +- { +- const __STLPORT_STD::collate<_CharT>& __col = +- use_facet<__STLPORT_STD::collate<_CharT> >(*this); +- return __col.compare(__x.data(), __x.data() + __x.size(), +- __y.data(), __y.data() + __y.size()); ++ const basic_string<_CharT, _Traits, _Alloc>& __y) const { ++ return __locale_do_operator_call(this, __x, __y); + } +-# endif + # endif + + // global locale objects: +- static locale __STL_CALL global(const locale&); +- static const locale& __STL_CALL classic(); ++ static locale _STLP_CALL global(const locale&); ++ static const locale& _STLP_CALL classic(); + + public: // Helper functions for locale globals. + facet* _M_get_facet(const id&) const; +- static void __STL_CALL _M_throw_runtime_error(const char* = 0); ++ // same, but throws ++ facet* _M_use_facet(const id&) const; ++ static void _STLP_CALL _M_throw_runtime_error(const char* = 0); ++ static void _STLP_CALL _S_initialize(); ++ static void _STLP_CALL _S_uninitialize(); + + private: // More helper functions. +- static void __STL_CALL _S_initialize(); +- static void __STL_CALL _S_uninitialize(); +- static _Locale_impl* __STL_CALL _S_copy_impl(_Locale_impl*, bool); ++ // static _Locale_impl* _STLP_CALL _S_copy_impl(_Locale_impl*, bool); + void _M_insert(facet* __f, id& __id); + +-private: // Data members +- _Locale_impl* _M_impl; ++ // friends: ++ friend class _Locale_impl; ++ friend class _Locale; ++ friend class ios_base; + ++private: // Data members ++ _Locale_impl* _M_impl; + }; + + //---------------------------------------------------------------------- + // locale globals + +-# ifdef __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS ++# ifdef _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS + template + inline const _Facet& + _Use_facet<_Facet>::operator *() const +@@ -184,40 +201,31 @@ + template inline const _Facet& use_facet(const locale& __loc) + # endif + { +- const locale::facet* __f = __loc._M_get_facet(_Facet::id); +- if (!__f) { +- __STL_THROW(bad_cast()); +- } +- const _Facet* __fc = __STATIC_CAST(const _Facet*,__f); +- return *__fc; ++ return *__STATIC_CAST(const _Facet*,__loc._M_use_facet(_Facet::id)); + } + + +-# ifdef __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS ++# ifdef _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS + template + struct has_facet { + const locale& __loc; + has_facet(const locale& __p_loc) : __loc(__p_loc) {} +- operator bool() const __STL_NOTHROW ++ operator bool() const _STLP_NOTHROW + # else +-template inline bool has_facet(const locale& __loc) __STL_NOTHROW ++template inline bool has_facet(const locale& __loc) _STLP_NOTHROW + # endif + { +- return __loc._M_get_facet(_Facet::id) != 0; ++ return (__loc._M_get_facet(_Facet::id) != 0); + } + +-# ifdef __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS ++# ifdef _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS + // close class definition + }; + # endif + +-__STL_END_NAMESPACE +- +-# ifndef __STL_LINK_TIME_INSTANTIATION +-# include +-# endif ++_STLP_END_NAMESPACE + +-#endif /* __SGI_STL_INTERNAL_LOCALE_H */ ++#endif /* _STLP_INTERNAL_LOCALE_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_map.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_map.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_map.h Sat Feb 24 10:44:57 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_map.h Sun Aug 11 18:59:24 2002 +@@ -27,16 +27,20 @@ + * You should not attempt to use it directly. + */ + +-#ifndef __SGI_STL_INTERNAL_MAP_H +-#define __SGI_STL_INTERNAL_MAP_H ++#ifndef _STLP_INTERNAL_MAP_H ++#define _STLP_INTERNAL_MAP_H ++ ++#ifndef _STLP_INTERNAL_TREE_H ++# include ++#endif + + #define map __WORKAROUND_RENAME(map) + #define multimap __WORKAROUND_RENAME(multimap) + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + template ), +- __STL_DEFAULT_PAIR_ALLOCATOR_SELECT(const _Key, _Tp) > ++ _STLP_DEFAULT_PAIR_ALLOCATOR_SELECT(const _Key, _Tp) > + class map { + public: + +@@ -61,7 +65,7 @@ + }; + + private: +-# ifdef __STL_MULTI_CONST_TEMPLATE_ARG_BUG ++# ifdef _STLP_MULTI_CONST_TEMPLATE_ARG_BUG + typedef _Rb_tree, key_compare, _Alloc> _Rep_type; + # else +@@ -89,7 +93,7 @@ + const allocator_type& __a = allocator_type()) + : _M_t(__comp, __a) {} + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + template + map(_InputIterator __first, _InputIterator __last) + : _M_t(_Compare(), allocator_type()) +@@ -97,12 +101,15 @@ + + template + map(_InputIterator __first, _InputIterator __last, const _Compare& __comp, +- const allocator_type& __a) ++ const allocator_type& __a _STLP_ALLOCATOR_TYPE_DFL) + : _M_t(__comp, __a) { _M_t.insert_unique(__first, __last); } + ++# ifdef _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS + template + map(_InputIterator __first, _InputIterator __last, const _Compare& __comp) + : _M_t(__comp, allocator_type()) { _M_t.insert_unique(__first, __last); } ++# endif ++ + #else + map(const value_type* __first, const value_type* __last) + : _M_t(_Compare(), allocator_type()) +@@ -121,7 +128,7 @@ + const allocator_type& __a = allocator_type()) + : _M_t(__comp, __a) { _M_t.insert_unique(__first, __last); } + +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + map(const map<_Key,_Tp,_Compare,_Alloc>& __x) : _M_t(__x._M_t) {} + map<_Key,_Tp,_Compare,_Alloc>& +@@ -152,7 +159,7 @@ + iterator __i = lower_bound(__k); + // __i->first is greater than or equivalent to __k. + if (__i == end() || key_comp()(__k, (*__i).first)) +- __i = insert(__i, value_type(__k, _Tp())); ++ __i = insert(__i, value_type(__k, _STLP_DEFAULT_CONSTRUCTED(_Tp))); + return (*__i).second; + } + void swap(map<_Key,_Tp,_Compare,_Alloc>& __x) { _M_t.swap(__x._M_t); } +@@ -163,7 +170,7 @@ + { return _M_t.insert_unique(__x); } + iterator insert(iterator position, const value_type& __x) + { return _M_t.insert_unique(position, __x); } +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + template + void insert(_InputIterator __first, _InputIterator __last) { + _M_t.insert_unique(__first, __last); +@@ -175,7 +182,7 @@ + void insert(const_iterator __first, const_iterator __last) { + _M_t.insert_unique(__first, __last); + } +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + void erase(iterator __position) { _M_t.erase(__position); } + size_type erase(const key_type& __x) { return _M_t.erase(__x); } +@@ -209,7 +216,7 @@ + + + template ), +- __STL_DEFAULT_PAIR_ALLOCATOR_SELECT(const _Key, _Tp) > ++ _STLP_DEFAULT_PAIR_ALLOCATOR_SELECT(const _Key, _Tp) > + class multimap { + public: + +@@ -233,7 +240,7 @@ + }; + + private: +-# ifdef __STL_MULTI_CONST_TEMPLATE_ARG_BUG ++# ifdef _STLP_MULTI_CONST_TEMPLATE_ARG_BUG + typedef _Rb_tree, key_compare, _Alloc> _Rep_type; + # else +@@ -261,21 +268,21 @@ + const allocator_type& __a = allocator_type()) + : _M_t(__comp, __a) { } + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + template + multimap(_InputIterator __first, _InputIterator __last) + : _M_t(_Compare(), allocator_type()) + { _M_t.insert_equal(__first, __last); } +- ++# ifdef _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS + template + multimap(_InputIterator __first, _InputIterator __last, + const _Compare& __comp) + : _M_t(__comp, allocator_type()) { _M_t.insert_equal(__first, __last); } +- ++# endif + template + multimap(_InputIterator __first, _InputIterator __last, + const _Compare& __comp, +- const allocator_type& __a ) ++ const allocator_type& __a _STLP_ALLOCATOR_TYPE_DFL) + : _M_t(__comp, __a) { _M_t.insert_equal(__first, __last); } + #else + multimap(const value_type* __first, const value_type* __last) +@@ -293,7 +300,7 @@ + const _Compare& __comp, + const allocator_type& __a = allocator_type()) + : _M_t(__comp, __a) { _M_t.insert_equal(__first, __last); } +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + multimap(const multimap<_Key,_Tp,_Compare,_Alloc>& __x) : _M_t(__x._M_t) { } + multimap<_Key,_Tp,_Compare,_Alloc>& +@@ -327,7 +334,7 @@ + iterator insert(iterator __position, const value_type& __x) { + return _M_t.insert_equal(__position, __x); + } +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + template + void insert(_InputIterator __first, _InputIterator __last) { + _M_t.insert_equal(__first, __last); +@@ -339,7 +346,7 @@ + void insert(const_iterator __first, const_iterator __last) { + _M_t.insert_equal(__first, __last); + } +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + void erase(iterator __position) { _M_t.erase(__position); } + size_type erase(const key_type& __x) { return _M_t.erase(__x); } + void erase(iterator __first, iterator __last) +@@ -367,23 +374,23 @@ + } + }; + +-# define __STL_TEMPLATE_HEADER template ++# define _STLP_TEMPLATE_HEADER template + +-# define __STL_TEMPLATE_CONTAINER map<_Key,_Tp,_Compare,_Alloc> ++# define _STLP_TEMPLATE_CONTAINER map<_Key,_Tp,_Compare,_Alloc> + + // fbp : if this template header gets protected against your will, report it ! + # include + +-# undef __STL_TEMPLATE_CONTAINER +-# define __STL_TEMPLATE_CONTAINER multimap<_Key,_Tp,_Compare,_Alloc> ++# undef _STLP_TEMPLATE_CONTAINER ++# define _STLP_TEMPLATE_CONTAINER multimap<_Key,_Tp,_Compare,_Alloc> + + // fbp : if this template header gets protected against your will, report it ! + # include + +-# undef __STL_TEMPLATE_CONTAINER +-# undef __STL_TEMPLATE_HEADER ++# undef _STLP_TEMPLATE_CONTAINER ++# undef _STLP_TEMPLATE_HEADER + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + + // do a cleanup + # undef map +@@ -392,11 +399,11 @@ + # define __map__ __FULL_NAME(map) + # define __multimap__ __FULL_NAME(multimap) + +-# ifdef __STL_USE_WRAPPER_FOR_ALLOC_PARAM ++# ifdef _STLP_USE_WRAPPER_FOR_ALLOC_PARAM + # include + # endif + +-#endif /* __SGI_STL_INTERNAL_MAP_H */ ++#endif /* _STLP_INTERNAL_MAP_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_messages_facets.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_messages_facets.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_messages_facets.h Sat Feb 24 10:44:58 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_messages_facets.h Sun Aug 11 18:59:24 2002 +@@ -21,13 +21,22 @@ + // file directly. + + +-#ifndef __SGI_STL_INTERNAL_MESSAGES_H +-#define __SGI_STL_INTERNAL_MESSAGES_H ++#ifndef _STLP_INTERNAL_MESSAGES_H ++#define _STLP_INTERNAL_MESSAGES_H + +-__STL_BEGIN_NAMESPACE ++#ifndef _STLP_IOS_BASE_H ++# include ++#endif ++ ++# ifndef _STLP_C_LOCALE_H ++# include ++# endif ++ ++#ifndef _STLP_STRING_H ++# include ++#endif + +-// Forward declaration of an opaque type. +-struct _Catalog_locale_map; ++_STLP_BEGIN_NAMESPACE + + // messages facets + +@@ -38,33 +47,33 @@ + + template class messages {}; + +-__STL_TEMPLATE_NULL +-class __STL_CLASS_DECLSPEC messages : public locale::facet, public messages_base ++class _Messages; ++ ++_STLP_TEMPLATE_NULL ++class _STLP_CLASS_DECLSPEC messages : public locale::facet, public messages_base + { +- friend class _Locale_impl; +-#if defined(__MRC__) || defined(__SC__) //*TY 04/29/2000 - added workaround for mpw +- typedef locale::facet _facet; //*TY 04/29/2000 - they forget to look into nested class for the ctor. +-#endif //*TY 04/29/2000 - ++ friend class _Locale; + public: + typedef messages_base::catalog catalog; + typedef char char_type; + typedef string string_type; + +- + explicit messages(size_t __refs = 0); + +- inline catalog open(const string& __fn, const locale& __loc) const ++ catalog open(const string& __fn, const locale& __loc) const + { return do_open(__fn, __loc); } +- inline string_type get(catalog __c, int __set, int __msgid, +- const string_type& __dfault) const ++ string_type get(catalog __c, int __set, int __msgid, ++ const string_type& __dfault) const + { return do_get(__c, __set, __msgid, __dfault); } + inline void close(catalog __c) const + { do_close(__c); } + +- __STL_STATIC_MEMBER_DECLSPEC static locale::id id; ++ _STLP_STATIC_MEMBER_DECLSPEC static locale::id id; ++ ++ messages(_Messages*); + + protected: +- messages(size_t, _Locale_messages*); ++ messages(size_t, _Locale_messages*); + ~messages(); + + virtual catalog do_open(const string& __fn, const locale& __loc) const; +@@ -75,24 +84,22 @@ + void _M_initialize(const char* __name); + + private: +- _Locale_messages* _M_message_obj; ++ _Messages* _M_impl; + }; + +-# if !defined (__STL_NO_WCHAR_T) +-__STL_TEMPLATE_NULL +-class __STL_CLASS_DECLSPEC messages : public locale::facet, public messages_base ++# if !defined (_STLP_NO_WCHAR_T) ++ ++_STLP_TEMPLATE_NULL ++class _STLP_CLASS_DECLSPEC messages : public locale::facet, public messages_base + { +- friend class _Locale_impl; +-#if defined(__MRC__) || defined(__SC__) //*TY 04/29/2000 - added workaround for mpw +- typedef locale::facet _facet; //*TY 04/29/2000 - they forget to look into nested class for the ctor. +-#endif //*TY 04/29/2000 - ++ friend class _Locale; + public: + typedef messages_base::catalog catalog; + typedef wchar_t char_type; + typedef wstring string_type; + + explicit messages(size_t __refs = 0); +- ++ + inline catalog open(const string& __fn, const locale& __loc) const + { return do_open(__fn, __loc); } + inline string_type get(catalog __c, int __set, int __msgid, +@@ -101,9 +108,12 @@ + inline void close(catalog __c) const + { do_close(__c); } + +- __STL_STATIC_MEMBER_DECLSPEC static locale::id id; ++ _STLP_STATIC_MEMBER_DECLSPEC static locale::id id; ++ ++ messages(_Messages*); + + protected: ++ + messages(size_t, _Locale_messages*); + ~messages(); + +@@ -115,16 +125,15 @@ + void _M_initialize(const char* __name); + + private: +- _Locale_messages* _M_message_obj; +- _Catalog_locale_map* _M_map; ++ _Messages* _M_impl; + }; + + # endif /* WCHAR_T */ + + template class messages_byname {}; + +-__STL_TEMPLATE_NULL +-class __STL_CLASS_DECLSPEC messages_byname : public messages { ++_STLP_TEMPLATE_NULL ++class _STLP_CLASS_DECLSPEC messages_byname : public messages { + public: + typedef messages_base::catalog catalog; + typedef string string_type; +@@ -135,9 +144,9 @@ + ~messages_byname(); + }; + +-# ifndef __STL_NO_WCHAR_T +-__STL_TEMPLATE_NULL +-class __STL_CLASS_DECLSPEC messages_byname : public messages { ++# ifndef _STLP_NO_WCHAR_T ++_STLP_TEMPLATE_NULL ++class _STLP_CLASS_DECLSPEC messages_byname : public messages { + public: + typedef messages_base::catalog catalog; + typedef wstring string_type; +@@ -149,9 +158,9 @@ + }; + # endif /* WCHAR_T */ + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-#endif /* __SGI_STL_INTERNAL_MESSAGES_H */ ++#endif /* _STLP_INTERNAL_MESSAGES_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_monetary.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_monetary.c +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_monetary.c Sat Feb 24 10:44:58 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_monetary.c Sun Aug 11 18:59:24 2002 +@@ -15,10 +15,30 @@ + * modified is included with the above copyright notice. + * + */ +-#ifndef __STL_MONETARY_C +-#define __STL_MONETARY_C ++#ifndef _STLP_MONETARY_C ++#define _STLP_MONETARY_C + +-__STL_BEGIN_NAMESPACE ++# ifndef _STLP_INTERNAL_MONETARY_H ++# include ++# endif ++ ++# if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) ++ ++#ifndef _STLP_INTERNAL_IOS_H ++# include ++#endif ++ ++#ifndef _STLP_INTERNAL_NUM_PUT_H ++# include ++#endif ++ ++#ifndef _STLP_INTERNAL_NUM_GET_H ++# include ++#endif ++ ++_STLP_BEGIN_NAMESPACE ++ ++# if ( _STLP_STATIC_TEMPLATE_DATA > 0 ) + + template + locale::id money_get<_CharT, _InputIterator>::id; +@@ -26,29 +46,36 @@ + template + locale::id money_put<_CharT, _OutputIterator>::id; + +-# if defined (__STL_USE_TEMPLATE_EXPORT) +-__STL_EXPORT_TEMPLATE_CLASS money_get > >; +-__STL_EXPORT_TEMPLATE_CLASS money_put > >; +-__STL_EXPORT_TEMPLATE_CLASS money_get; +-__STL_EXPORT_TEMPLATE_CLASS money_put; +-# if ! defined (__STL_NO_WCHAR_T) +-__STL_EXPORT_TEMPLATE_CLASS money_get > >; +-__STL_EXPORT_TEMPLATE_CLASS money_put > >; +-__STL_EXPORT_TEMPLATE_CLASS money_get; +-__STL_EXPORT_TEMPLATE_CLASS money_put; +-# endif +-# endif /* __STL_USE_TEMPLATE_EXPORT */ +- +-# if defined (__STL_DESIGNATED_DLL) || ! defined (__STL_NO_CUSTOM_IO) ++# else /* ( _STLP_STATIC_TEMPLATE_DATA > 0 ) */ + +-char* __write_monetary_value(long double, char* __buf, const locale&); ++typedef money_get money_get_char; ++typedef money_put money_put_char; ++typedef money_get > > money_get_char_2; ++typedef money_put > > money_put_char_2; ++ ++__DECLARE_INSTANCE(locale::id, money_get_char::id, ); ++__DECLARE_INSTANCE(locale::id, money_put_char::id, ); ++__DECLARE_INSTANCE(locale::id, money_get_char_2::id, ); ++__DECLARE_INSTANCE(locale::id, money_put_char_2::id, ); ++ ++# ifndef _STLP_NO_WCHAR_T ++ ++typedef money_get money_get_wchar_t; ++typedef money_get > > money_get_wchar_t_2; ++typedef money_put money_put_wchar_t; ++typedef money_put > > money_put_wchar_t_2; ++ ++__DECLARE_INSTANCE(locale::id, money_get_wchar_t::id, ); ++__DECLARE_INSTANCE(locale::id, money_put_wchar_t::id, ); ++__DECLARE_INSTANCE(locale::id, money_get_wchar_t_2::id, ); ++__DECLARE_INSTANCE(locale::id, money_put_wchar_t_2::id, ); + +-#ifndef __STL_NO_WCHAR_T +-wchar_t* __write_monetary_value(long double, wchar_t* __buf, const locale&); +-#endif ++# endif ++# endif /* ( _STLP_STATIC_TEMPLATE_DATA > 0 ) */ + + // money_get facets + ++ + // helper functions for do_get + template + pair<_InIt1, bool> __get_string(_InIt1 __first, _InIt1 __last, +@@ -57,77 +84,21 @@ + return make_pair(__pr.first, __pr.second == __str_last); + } + +-#if !(defined(__MRC__)||defined(__SC__)) //*TY 02/26/2000 - mpw compilers have difficulty matching complex template arguments + template +-pair<_InIt, bool> __get_monetary_value(_InIt __first, _InIt __last, +- _OuIt __out, +- const ctype<_CharT>& __c_type, +- _CharT __point, +- int __frac_digits, +- bool& __syntax_ok) +-#else //*TY 02/26/2000 - added workaround for MPW compilers +-template //*TY 02/26/2000 - added _CType +-pair<_InIt, bool> __get_monetary_value(_InIt __first, _InIt __last, +- _OuIt __out, +- const _CType& __c_type, //*TY 02/26/2000 - simplified parameter type +- _CharT __point, +- int __frac_digits, +- bool& __syntax_ok) +-#endif //*TY 02/26/2000 - +-{ +- if (__first == __last || !__c_type.is(ctype_base::digit, *__first)) +- return make_pair(__first, false); +- +- while (__first != __last && __c_type.is(ctype_base::digit, *__first)) +- *__out++ = *__first++; +- +- if (__first == __last || *__first != __point) { +- for (int __digits = 0; __digits != __frac_digits; ++__digits) +- *__out++ = _CharT('0'); +- return make_pair(__first, true); +- } +- +- ++__first; +- +- int __digits = 0; +- +- while (__first != __last && __c_type.is(ctype_base::digit, *__first)) { +- *__out++ = *__first++; +- ++__digits; +- } +- +- __syntax_ok = (__digits == __frac_digits); +- +- return pair<_InIt, bool>(__first, true); +-} +- +-#if !(defined(__MRC__)||defined(__SC__)) +-//*TY 02/26/2000 - mpw compilers have difficulty matching complex template arguments +-template +-pair<_InIt, bool> +-__get_monetary_value(_InIt __first, _InIt __last, _OuIt __out, ++bool ++__get_monetary_value(_InIt& __first, _InIt __last, _OuIt __out, + const ctype<_CharT>& _c_type, + _CharT __point, + int __frac_digits, + _CharT __sep, + const string& __grouping, +- bool& __syntax_ok) +-#else //*TY 02/26/2000 - added workaround for MPW compilers +-template //*TY 02/26/2000 - added _CType +-pair<_InIt, bool> +-__get_monetary_value(_InIt __first, _InIt __last, _OuIt __out, +- const _CType& _c_type, //*TY 02/26/2000 - simplified parameter type +- _CharT __point, +- int __frac_digits, +- _CharT __sep, +- const string& __grouping, +- bool& __syntax_ok) +-#endif ++ bool& __syntax_ok) + { + if (__first == __last || !_c_type.is(ctype_base::digit, *__first)) +- return pair<_InIt, bool>(__first, false); ++ return false; + +- string __group_sizes; ++ char __group_sizes[128]; ++ char* __group_sizes_end = __grouping.size() == 0 ? 0 : __group_sizes; + char __current_group_size = 0; + + while (__first != __last) { +@@ -135,30 +106,37 @@ + ++__current_group_size; + *__out++ = *__first++; + } +- else +- if (*__first == __sep) { +- __group_sizes.push_back(__current_group_size); +- __current_group_size = 0; +- ++__first; ++ else if (__group_sizes_end) { ++ if (*__first == __sep) { ++ *__group_sizes_end++ = __current_group_size; ++ __current_group_size = 0; ++ ++__first; ++ } ++ else break; + } + else + break; + } + +- if (__group_sizes.size() != 0) +- __group_sizes.push_back(__current_group_size); +- reverse(__group_sizes.begin(), __group_sizes.end()); +- __syntax_ok = __valid_grouping(__group_sizes, __grouping); +- +- if (__first == __last || *__first != __point) { +- for (int __digits = 0; __digits != __frac_digits; ++__digits) +- *__out++ = _CharT('0'); +- return make_pair(__first, true); // OK not to have decimal point ++ if (__grouping.size() == 0) ++ __syntax_ok = true; ++ else { ++ if (__group_sizes_end != __group_sizes) ++ *__group_sizes_end++ = __current_group_size; ++ ++ __syntax_ok = __valid_grouping(__group_sizes, __group_sizes_end, ++ __grouping.data(), __grouping.data()+ __grouping.size()); ++ ++ if (__first == __last || *__first != __point) { ++ for (int __digits = 0; __digits != __frac_digits; ++__digits) ++ *__out++ = _CharT('0'); ++ return true; // OK not to have decimal point ++ } + } + + ++__first; + +- int __digits = 0; ++ size_t __digits = 0; + + while (__first != __last && _c_type.is(ctype_base::digit, *__first)) { + *__out++ = *__first++; +@@ -167,9 +145,11 @@ + + __syntax_ok = __syntax_ok && (__digits == __frac_digits); + +- return pair<_InIt, bool>(__first, true); ++ return true; + } + ++# ifndef _STLP_NO_LONG_DOUBLE ++ + //===== methods ====== + template + _InputIter +@@ -178,17 +158,19 @@ + long double& __units) const { + string_type __buf; + __s = do_get(__s, __end, __intl, __str, __err, __buf); ++ + if (__err == ios_base::goodbit || __err == ios_base::eofbit) { + __buf.push_back(0); +- //Can't use atold, since it might be wchar_t. +- __get_integer(__buf.begin(), __buf.end(), 10, +- char_type(), false, locale::classic(), +- __units); ++ typename string_type::iterator __b = __buf.begin(), __e = __buf.end(); ++ // Can't use atold, since it might be wchar_t. Don't get confused by name below : ++ // it's perfectly capable of reading long double. ++ __get_decimal_integer(__b, __e, __units); + } + if (__s == __end) + __err |= ios_base::eofbit; + return __s; + } ++# endif + + template + _InputIter +@@ -300,41 +282,33 @@ + case money_base::value: { + _CharT __point = __intl ? __punct_intl.decimal_point() + : __punct.decimal_point(); +- size_t __frac_digits = __intl ? __punct_intl.frac_digits() ++ int __frac_digits = __intl ? __punct_intl.frac_digits() + : __punct.frac_digits(); + string __grouping = __intl ? __punct_intl.grouping() + : __punct.grouping(); + bool __syntax_ok = true; +- pair<_InputIter, bool> __result; +- if (__grouping.size() == 0) { +- __result = __get_monetary_value(__s, __end, __out, __c_type, +- __point, __frac_digits, +- __syntax_ok); +- if (!__syntax_ok) +- __err |= ios_base::failbit; +- if (!__result.second) { +- __err |= ios_base::failbit; +- return __result.first; +- } +- } +- else { +- _CharT __sep = __intl ? __punct_intl.thousands_sep() +- : __punct.thousands_sep(); +- __result = __get_monetary_value(__s, __end, __out, __c_type, +- __point, __frac_digits, +- __sep, +- __grouping, __syntax_ok); +- +- if (!__syntax_ok) +- __err |= ios_base::failbit; +- if (!__result.second) { +- __err = ios_base::failbit; +- return __result.first; +- } ++ ++ bool __result; ++ ++ _CharT __sep = __grouping.size() == 0 ? _CharT() : ++ __intl ? __punct_intl.thousands_sep() : __punct.thousands_sep(); ++ ++ __result = __get_monetary_value(__s, __end, __out, __c_type, ++ __point, __frac_digits, ++ __sep, ++ __grouping, __syntax_ok); ++ ++ if (!__syntax_ok) ++ __err |= ios_base::failbit; ++ if (!__result) { ++ __err = ios_base::failbit; ++ return __s; + } +- __s = __result.first; + break; ++ + } // Close money_base::value case ++ ++ + } // Close switch statement + } // Close for loop + +@@ -358,32 +332,19 @@ + __err |= ios::failbit; + } + if (!(__err & ios::failbit)) { +- __buf.insert(__buf.begin(), +- (use_facet >(__loc)).widen('-')); ++ __buf.insert(__buf.begin(),__c_type.widen('-')); + __digits = __buf; + } + } + if (__s == __end) + __err |= ios::eofbit; ++ + return __s; + } + + // money_put facets + + template +-money_put<_CharT, _OutputIter>::money_put(size_t __refs) +-#if !(defined(__MRC__) || defined(__SC__) ) //*TY 04/29/2000 - added workaround for mpw +- : locale::facet(__refs) +-#else //*TY 04/29/2000 - +- : _facet(__refs) //*TY 04/29/2000 - they forget to look into the nested class for the ctor +-#endif //*TY 04/29/2000 - +-{} +- +-template +-money_put<_CharT, _OutputIter>::~money_put() +-{} +- +-template + _OutputIter + money_put<_CharT, _OutputIter> + ::do_put(_OutputIter __s, bool __intl, ios_base& __str, +@@ -475,7 +436,13 @@ + // Determine the amount of padding required, if any. + + size_t __width = __str.width(); ++ ++#if defined(_STLP_DEBUG) && (defined(__HP_aCC) || (__HP_aCC <= 1)) ++ size_t __value_length = operator -(__digits_last, __digits_first); ++#else + size_t __value_length = __digits_last - __digits_first; ++#endif ++ + size_t __length = __value_length; + + __length += __sign.size(); +@@ -496,7 +463,7 @@ + ++__length; + } + +- int __fill_amt = __length < __width ? __width - __length : 0; ++ size_t __fill_amt = __length < __width ? __width - __length : 0; + + ios_base::fmtflags __fill_pos = __str.flags() & ios_base::adjustfield; + +@@ -550,12 +517,11 @@ + if (!(__fill_pos & (ios_base::right | ios_base::internal))) + __s = fill_n(__s, __fill_amt, __fill); + +- + return __s; + } + +-# endif /* defined (__STL_NO_CUSTOM_IO) && ! defined (__STL_DESIGNATED_DLL) */ ++_STLP_END_NAMESPACE + +-__STL_END_NAMESPACE ++# endif /* EXPOSE */ + +-#endif /* __STL_MONETARY_C */ ++#endif /* _STLP_MONETARY_C */ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_monetary.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_monetary.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_monetary.h Sat Feb 24 10:44:59 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_monetary.h Sun Aug 11 18:59:24 2002 +@@ -20,12 +20,22 @@ + // file directly. + + +-#ifndef __SGI_STL_INTERNAL_MONETARY_H +-#define __SGI_STL_INTERNAL_MONETARY_H ++#ifndef _STLP_INTERNAL_MONETARY_H ++#define _STLP_INTERNAL_MONETARY_H + +-# include ++#ifndef _STLP_INTERNAL_CTYPE_H ++# include ++#endif ++ ++#ifndef _STLP_INTERNAL_OSTREAMBUF_ITERATOR_H ++# include ++#endif ++ ++#ifndef _STLP_INTERNAL_ISTREAMBUF_ITERATOR_H ++# include ++#endif + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + class money_base { + public: +@@ -35,7 +45,6 @@ + }; + }; + +- + // moneypunct facets: forward declaration + template class moneypunct {}; + +@@ -44,78 +53,62 @@ + template ) > + class money_get : public locale::facet + { +- friend class _Locale_impl; +-#if defined(__MRC__) || defined(__SC__) //*TY 04/29/2000 - added workaround for mpw +- typedef locale::facet _facet; //*TY 04/29/2000 - they forget to look into nested class for the ctor. +-#endif //*TY 04/29/2000 - ++ friend class _Locale; + public: + typedef _CharT char_type; + typedef _InputIter iter_type; + typedef basic_string<_CharT, char_traits<_CharT>, allocator<_CharT> > string_type; + +-#if !(defined(__MRC__)||defined(__SC__)) //*TY 02/26/2000 - added workaround for MPW compilers; explicit will prevent the compiler to find out the proper ctor +- explicit +-#endif //*TY 02/26/2000 - +- money_get(size_t __refs = 0) +-#if !(defined(__MRC__) || defined(__SC__) ) //*TY 04/29/2000 - added workaround for mpw +- : locale::facet(__refs) +-#else //*TY 04/29/2000 - +- : _facet(__refs) //*TY 04/29/2000 - they forget to look into the nested class for the ctor +-#endif //*TY 04/29/2000 - +- {} +- ++ money_get(size_t __refs = 0) : _BaseFacet(__refs) {} ++# ifndef _STLP_NO_LONG_DOUBLE + iter_type get(iter_type __s, iter_type __end, bool __intl, + ios_base& __str, ios_base::iostate& __err, + long double& __units) const + { return do_get(__s, __end, __intl, __str, __err, __units); } +- ++# endif + iter_type get(iter_type __s, iter_type __end, bool __intl, + ios_base& __str, ios_base::iostate& __err, + string_type& __digits) const + { return do_get(__s, __end, __intl, __str, __err, __digits); } + +- __STL_STATIC_MEMBER_DECLSPEC static locale::id id; ++ _STLP_STATIC_MEMBER_DECLSPEC static locale::id id; + + protected: + ~money_get() {} ++# ifndef _STLP_NO_LONG_DOUBLE + virtual iter_type do_get(iter_type __s, iter_type __end, bool __intl, + ios_base& __str, ios_base::iostate& __err, + long double& __units) const; ++# endif + virtual iter_type do_get(iter_type __s, iter_type __end, bool __intl, + ios_base& __str, ios_base::iostate& __err, + string_type& __digits) const; +- + }; + + +- + // moneypunct facets: definition of specializations + +-__STL_TEMPLATE_NULL +-class __STL_CLASS_DECLSPEC moneypunct : public locale::facet, public money_base ++_STLP_TEMPLATE_NULL ++class _STLP_CLASS_DECLSPEC moneypunct : public locale::facet, public money_base + { +- friend class _Locale_impl; +-#if defined(__MRC__) || defined(__SC__) //*TY 04/29/2000 - added workaround for mpw +- typedef locale::facet _facet; //*TY 04/29/2000 - they forget to look into nested class for the ctor. +-#endif //*TY 04/29/2000 - ++ + public: + typedef char char_type; + typedef string string_type; ++ explicit moneypunct _STLP_PSPEC2(char, true) (size_t __refs = 0); + +- explicit moneypunct __STL_PSPEC2(char, true) (size_t __refs = 0); ++ char decimal_point() const { return do_decimal_point(); } ++ char thousands_sep() const { return do_thousands_sep(); } ++ string grouping() const { return do_grouping(); } ++ string_type curr_symbol() const { return do_curr_symbol(); } ++ string_type positive_sign() const { return do_positive_sign(); } ++ string_type negative_sign() const { return do_negative_sign(); } ++ int frac_digits() const { return do_frac_digits(); } ++ pattern pos_format() const { return do_pos_format(); } ++ pattern neg_format() const { return do_neg_format(); } + +- inline char decimal_point() const { return do_decimal_point(); } +- inline char thousands_sep() const { return do_thousands_sep(); } +- inline string grouping() const { return do_grouping(); } +- inline string_type curr_symbol() const { return do_curr_symbol(); } +- inline string_type positive_sign() const { return do_positive_sign(); } +- inline string_type negative_sign() const { return do_negative_sign(); } +- inline int frac_digits() const { return do_frac_digits(); } +- inline pattern pos_format() const { return do_pos_format(); } +- inline pattern neg_format() const { return do_neg_format(); } +- +- __STL_STATIC_MEMBER_DECLSPEC static locale::id id; +-# if defined (__STL_STATIC_CONST_INIT_BUG) || defined (__STL_USE_DECLSPEC) ++ _STLP_STATIC_MEMBER_DECLSPEC static locale::id id; ++# if defined (_STLP_STATIC_CONST_INIT_BUG) + enum _IntlVal { intl = 1 } ; + # else + static const bool intl = true; +@@ -125,46 +118,45 @@ + pattern _M_pos_format; + pattern _M_neg_format; + +- ~moneypunct __STL_PSPEC2(char, true) (); ++ ~moneypunct _STLP_PSPEC2(char, true) (); + + virtual char do_decimal_point() const; + virtual char do_thousands_sep() const; + virtual string do_grouping() const; + +- virtual string_type do_curr_symbol() const; ++ virtual string do_curr_symbol() const; + +- virtual string_type do_positive_sign() const; +- virtual string_type do_negative_sign() const; ++ virtual string do_positive_sign() const; ++ virtual string do_negative_sign() const; + virtual int do_frac_digits() const; + virtual pattern do_pos_format() const; + virtual pattern do_neg_format() const; ++ ++ friend class _Locale; ++ + }; + +-__STL_TEMPLATE_NULL +-class __STL_CLASS_DECLSPEC moneypunct : public locale::facet, public money_base ++_STLP_TEMPLATE_NULL ++class _STLP_CLASS_DECLSPEC moneypunct : public locale::facet, public money_base + { +- friend class _Locale_impl; +-#if defined(__MRC__) || defined(__SC__) //*TY 04/29/2000 - added workaround for mpw +- typedef locale::facet _facet; //*TY 04/29/2000 - they forget to look into nested class for the ctor. +-#endif //*TY 04/29/2000 - + public: + typedef char char_type; + typedef string string_type; + +- explicit moneypunct __STL_PSPEC2(char, false) (size_t __refs = 0); ++ explicit moneypunct _STLP_PSPEC2(char, false) (size_t __refs = 0); + +- inline char decimal_point() const { return do_decimal_point(); } +- inline char thousands_sep() const { return do_thousands_sep(); } +- inline string grouping() const { return do_grouping(); } +- inline string_type curr_symbol() const { return do_curr_symbol(); } +- inline string_type positive_sign() const { return do_positive_sign(); } +- inline string_type negative_sign() const { return do_negative_sign(); } +- inline int frac_digits() const { return do_frac_digits(); } +- inline pattern pos_format() const { return do_pos_format(); } +- inline pattern neg_format() const { return do_neg_format(); } ++ char decimal_point() const { return do_decimal_point(); } ++ char thousands_sep() const { return do_thousands_sep(); } ++ string grouping() const { return do_grouping(); } ++ string_type curr_symbol() const { return do_curr_symbol(); } ++ string_type positive_sign() const { return do_positive_sign(); } ++ string_type negative_sign() const { return do_negative_sign(); } ++ int frac_digits() const { return do_frac_digits(); } ++ pattern pos_format() const { return do_pos_format(); } ++ pattern neg_format() const { return do_neg_format(); } + +- __STL_STATIC_MEMBER_DECLSPEC static locale::id id; +-# if defined (__STL_STATIC_CONST_INIT_BUG) || defined (__STL_USE_DECLSPEC) ++ _STLP_STATIC_MEMBER_DECLSPEC static locale::id id; ++# if defined (_STLP_STATIC_CONST_INIT_BUG) + enum _IntlVal { intl = 0 } ; + # else + static const bool intl = false; +@@ -174,49 +166,46 @@ + pattern _M_pos_format; + pattern _M_neg_format; + +- ~moneypunct __STL_PSPEC2(char, false) (); ++ ~moneypunct _STLP_PSPEC2(char, false) (); + + virtual char do_decimal_point() const; + virtual char do_thousands_sep() const; + virtual string do_grouping() const; + +- virtual string_type do_curr_symbol() const; ++ virtual string do_curr_symbol() const; + +- virtual string_type do_positive_sign() const; +- virtual string_type do_negative_sign() const; ++ virtual string do_positive_sign() const; ++ virtual string do_negative_sign() const; + virtual int do_frac_digits() const; + virtual pattern do_pos_format() const; + virtual pattern do_neg_format() const; ++ ++ friend class _Locale; + }; + + +-# ifndef __STL_NO_WCHAR_T ++# ifndef _STLP_NO_WCHAR_T + +-__STL_TEMPLATE_NULL +-class __STL_CLASS_DECLSPEC moneypunct : public locale::facet, public money_base ++_STLP_TEMPLATE_NULL ++class _STLP_CLASS_DECLSPEC moneypunct : public locale::facet, public money_base + { +- friend class _Locale_impl; +-#if defined(__MRC__) || defined(__SC__) //*TY 04/29/2000 - added workaround for mpw +- typedef locale::facet _facet; //*TY 04/29/2000 - they forget to look into nested class for the ctor. +-#endif //*TY 04/29/2000 - ++ friend class _Locale; + public: + typedef wchar_t char_type; + typedef wstring string_type; ++ explicit moneypunct _STLP_PSPEC2(wchar_t, true) (size_t __refs = 0); ++ wchar_t decimal_point() const { return do_decimal_point(); } ++ wchar_t thousands_sep() const { return do_thousands_sep(); } ++ string grouping() const { return do_grouping(); } ++ string_type curr_symbol() const { return do_curr_symbol(); } ++ string_type positive_sign() const { return do_positive_sign(); } ++ string_type negative_sign() const { return do_negative_sign(); } ++ int frac_digits() const { return do_frac_digits(); } ++ pattern pos_format() const { return do_pos_format(); } ++ pattern neg_format() const { return do_neg_format(); } + +- explicit moneypunct __STL_PSPEC2(wchar_t, true) (size_t __refs = 0); +- +- inline wchar_t decimal_point() const { return do_decimal_point(); } +- inline wchar_t thousands_sep() const { return do_thousands_sep(); } +- inline string grouping() const { return do_grouping(); } +- inline string_type curr_symbol() const { return do_curr_symbol(); } +- inline string_type positive_sign() const { return do_positive_sign(); } +- inline string_type negative_sign() const { return do_negative_sign(); } +- inline int frac_digits() const { return do_frac_digits(); } +- inline pattern pos_format() const { return do_pos_format(); } +- inline pattern neg_format() const { return do_neg_format(); } +- +- __STL_STATIC_MEMBER_DECLSPEC static locale::id id; +-# if defined (__STL_STATIC_CONST_INIT_BUG) || defined (__STL_USE_DECLSPEC) ++ _STLP_STATIC_MEMBER_DECLSPEC static locale::id id; ++# if defined (_STLP_STATIC_CONST_INIT_BUG) + enum _IntlVal { intl = 1 } ; + # else + static const bool intl = true; +@@ -226,7 +215,7 @@ + pattern _M_pos_format; + pattern _M_neg_format; + +- ~moneypunct __STL_PSPEC2(wchar_t, true) (); ++ ~moneypunct _STLP_PSPEC2(wchar_t, true) (); + + virtual wchar_t do_decimal_point() const; + virtual wchar_t do_thousands_sep() const; +@@ -242,31 +231,26 @@ + }; + + +-__STL_TEMPLATE_NULL +-class __STL_CLASS_DECLSPEC moneypunct : public locale::facet, public money_base ++_STLP_TEMPLATE_NULL ++class _STLP_CLASS_DECLSPEC moneypunct : public locale::facet, public money_base + { +- friend class _Locale_impl; +-#if defined(__MRC__) || defined(__SC__) //*TY 04/29/2000 - added workaround for mpw +- typedef locale::facet _facet; //*TY 04/29/2000 - they forget to look into nested class for the ctor. +-#endif //*TY 04/29/2000 - ++ friend class _Locale; + public: + typedef wchar_t char_type; + typedef wstring string_type; ++ explicit moneypunct _STLP_PSPEC2(wchar_t, false) (size_t __refs = 0); ++ wchar_t decimal_point() const { return do_decimal_point(); } ++ wchar_t thousands_sep() const { return do_thousands_sep(); } ++ string grouping() const { return do_grouping(); } ++ string_type curr_symbol() const { return do_curr_symbol(); } ++ string_type positive_sign() const { return do_positive_sign(); } ++ string_type negative_sign() const { return do_negative_sign(); } ++ int frac_digits() const { return do_frac_digits(); } ++ pattern pos_format() const { return do_pos_format(); } ++ pattern neg_format() const { return do_neg_format(); } + +- explicit moneypunct __STL_PSPEC2(wchar_t, false) (size_t __refs = 0); +- +- inline wchar_t decimal_point() const { return do_decimal_point(); } +- inline wchar_t thousands_sep() const { return do_thousands_sep(); } +- inline string grouping() const { return do_grouping(); } +- inline string_type curr_symbol() const { return do_curr_symbol(); } +- inline string_type positive_sign() const { return do_positive_sign(); } +- inline string_type negative_sign() const { return do_negative_sign(); } +- inline int frac_digits() const { return do_frac_digits(); } +- inline pattern pos_format() const { return do_pos_format(); } +- inline pattern neg_format() const { return do_neg_format(); } +- +- __STL_STATIC_MEMBER_DECLSPEC static locale::id id; +-# if defined (__STL_STATIC_CONST_INIT_BUG) || defined (__STL_USE_DECLSPEC) ++ _STLP_STATIC_MEMBER_DECLSPEC static locale::id id; ++# if defined (_STLP_STATIC_CONST_INIT_BUG) + enum _IntlVal { intl = 0 } ; + # else + static const bool intl = false; +@@ -276,7 +260,7 @@ + pattern _M_pos_format; + pattern _M_neg_format; + +- ~moneypunct __STL_PSPEC2(wchar_t, false) (); ++ ~moneypunct _STLP_PSPEC2(wchar_t, false) (); + + virtual wchar_t do_decimal_point() const; + virtual wchar_t do_thousands_sep() const; +@@ -295,19 +279,19 @@ + + template class moneypunct_byname {}; + +-__STL_TEMPLATE_NULL +-class __STL_CLASS_DECLSPEC moneypunct_byname : public moneypunct ++_STLP_TEMPLATE_NULL ++class _STLP_CLASS_DECLSPEC moneypunct_byname : public moneypunct + { + public: + typedef money_base::pattern pattern; + typedef char char_type; + typedef string string_type; + +- explicit moneypunct_byname __STL_PSPEC2(char, true) (const char * __name, size_t __refs = 0); ++ explicit moneypunct_byname _STLP_PSPEC2(char, true) (const char * __name, size_t __refs = 0); + + protected: + _Locale_monetary* _M_monetary; +- ~moneypunct_byname __STL_PSPEC2(char, true) (); ++ ~moneypunct_byname _STLP_PSPEC2(char, true) (); + virtual char do_decimal_point() const; + virtual char do_thousands_sep() const; + virtual string do_grouping() const; +@@ -319,19 +303,19 @@ + virtual int do_frac_digits() const; + }; + +-__STL_TEMPLATE_NULL +-class __STL_CLASS_DECLSPEC moneypunct_byname : public moneypunct ++_STLP_TEMPLATE_NULL ++class _STLP_CLASS_DECLSPEC moneypunct_byname : public moneypunct + { + public: + typedef money_base::pattern pattern; + typedef char char_type; + typedef string string_type; + +- explicit moneypunct_byname __STL_PSPEC2(char, false) (const char * __name, size_t __refs = 0); ++ explicit moneypunct_byname _STLP_PSPEC2(char, false) (const char * __name, size_t __refs = 0); + + protected: + _Locale_monetary* _M_monetary; +- ~moneypunct_byname __STL_PSPEC2(char, false) (); ++ ~moneypunct_byname _STLP_PSPEC2(char, false) (); + virtual char do_decimal_point() const; + virtual char do_thousands_sep() const; + virtual string do_grouping() const; +@@ -343,20 +327,20 @@ + virtual int do_frac_digits() const; + }; + +-# ifndef __STL_NO_WCHAR_T +-__STL_TEMPLATE_NULL +-class __STL_CLASS_DECLSPEC moneypunct_byname : public moneypunct ++# ifndef _STLP_NO_WCHAR_T ++_STLP_TEMPLATE_NULL ++class _STLP_CLASS_DECLSPEC moneypunct_byname : public moneypunct + { + public: + typedef money_base::pattern pattern; + typedef wchar_t char_type; + typedef wstring string_type; + +- explicit moneypunct_byname __STL_PSPEC2(wchar_t, true) (const char * __name, size_t __refs = 0); ++ explicit moneypunct_byname _STLP_PSPEC2(wchar_t, true) (const char * __name, size_t __refs = 0); + + protected: + _Locale_monetary* _M_monetary; +- ~moneypunct_byname __STL_PSPEC2(wchar_t, true) (); ++ ~moneypunct_byname _STLP_PSPEC2(wchar_t, true) (); + virtual wchar_t do_decimal_point() const; + virtual wchar_t do_thousands_sep() const; + virtual string do_grouping() const; +@@ -368,19 +352,19 @@ + virtual int do_frac_digits() const; + }; + +-__STL_TEMPLATE_NULL +-class __STL_CLASS_DECLSPEC moneypunct_byname : public moneypunct ++_STLP_TEMPLATE_NULL ++class _STLP_CLASS_DECLSPEC moneypunct_byname : public moneypunct + { + public: + typedef money_base::pattern pattern; + typedef wchar_t char_type; + typedef wstring string_type; + +- explicit moneypunct_byname __STL_PSPEC2(wchar_t, false) (const char * __name, size_t __refs = 0); ++ explicit moneypunct_byname _STLP_PSPEC2(wchar_t, false) (const char * __name, size_t __refs = 0); + + protected: + _Locale_monetary* _M_monetary; +- ~moneypunct_byname __STL_PSPEC2(wchar_t, false) (); ++ ~moneypunct_byname _STLP_PSPEC2(wchar_t, false) (); + virtual wchar_t do_decimal_point() const; + virtual wchar_t do_thousands_sep() const; + virtual string do_grouping() const; +@@ -400,53 +384,77 @@ + + template ) > + class money_put : public locale::facet { +- friend class _Locale_impl; +-#if defined(__MRC__) || defined(__SC__) //*TY 04/29/2000 - added workaround for mpw +- typedef locale::facet _facet; //*TY 04/29/2000 - they forget to look into nested class for the ctor. +-#endif //*TY 04/29/2000 - ++ friend class _Locale; ++ + public: + typedef _CharT char_type; + typedef _OutputIter iter_type; + typedef basic_string<_CharT, char_traits<_CharT>, allocator<_CharT> > string_type; + +-#if !(defined(__MRC__)||defined(__SC__)) //*TY 02/26/2000 - added workaround for MPW compilers; explicit will prevent the compiler to find out the proper ctor +- explicit +-#endif //*TY 02/26/2000 - +- money_put(size_t __refs = 0); +- +- inline iter_type put(iter_type __s, bool __intl, ios_base& __str, +- char_type __fill, long double __units) const ++ money_put(size_t __refs = 0) : _BaseFacet(__refs) {} ++# ifndef _STLP_NO_LONG_DOUBLE ++ iter_type put(iter_type __s, bool __intl, ios_base& __str, ++ char_type __fill, long double __units) const + { return do_put(__s, __intl, __str, __fill, __units); } +- inline iter_type put(iter_type __s, bool __intl, ios_base& __str, +- char_type __fill, +- const string_type& __digits) const ++# endif ++ iter_type put(iter_type __s, bool __intl, ios_base& __str, ++ char_type __fill, ++ const string_type& __digits) const + { return do_put(__s, __intl, __str, __fill, __digits); } + +- __STL_STATIC_MEMBER_DECLSPEC static locale::id id; ++ _STLP_STATIC_MEMBER_DECLSPEC static locale::id id; + + protected: +- ~money_put(); ++ ~money_put() {} ++# ifndef _STLP_NO_LONG_DOUBLE + virtual iter_type do_put(iter_type __s, bool __intl, ios_base& __str, + char_type __fill, long double /* __units */ ) const { + + locale __loc = __str.getloc(); + _CharT __buf[64]; +- // _CharT* __buf_end = __write_monetary_value(__units, __buf, __loc); + return do_put(__s, __intl, __str, __fill, __buf + 0); + } +- ++# endif + virtual iter_type do_put(iter_type __s, bool __intl, ios_base& __str, + char_type __fill, + const string_type& __digits) const; + }; + +-__STL_END_NAMESPACE ++# if defined (_STLP_USE_TEMPLATE_EXPORT) ++_STLP_EXPORT_TEMPLATE_CLASS money_get > >; ++_STLP_EXPORT_TEMPLATE_CLASS money_put > >; ++// _STLP_EXPORT_TEMPLATE_CLASS money_get; ++// _STLP_EXPORT_TEMPLATE_CLASS money_put; ++# if ! defined (_STLP_NO_WCHAR_T) ++_STLP_EXPORT_TEMPLATE_CLASS money_get > >; ++_STLP_EXPORT_TEMPLATE_CLASS money_put > >; ++// _STLP_EXPORT_TEMPLATE_CLASS money_get; ++// _STLP_EXPORT_TEMPLATE_CLASS money_put; ++# endif ++# endif /* _STLP_USE_TEMPLATE_EXPORT */ ++ ++# if defined (__BORLANDC__) && defined (_RTLDLL) ++inline void _Stl_loc_init_monetary() { ++ money_get > >::id._M_index = 8; ++ money_get::id._M_index = 9; ++ money_put > >::id._M_index = 10; ++ money_put::id._M_index = 11; ++# ifndef _STLP_NO_WCHAR_T ++ money_get > >::id._M_index = 27; ++ money_get::id._M_index = 28; ++ money_put > >::id._M_index = 29; ++ money_put::id._M_index = 30; ++# endif ++} ++#endif ++ ++_STLP_END_NAMESPACE + +-# if !defined (__STL_LINK_TIME_INSTANTIATION) ++# if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) && !defined (_STLP_LINK_TIME_INSTANTIATION) + # include + # endif + +-#endif /* __SGI_STL_INTERNAL_MONETARY_H */ ++#endif /* _STLP_INTERNAL_MONETARY_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_null_stream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_null_stream.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_null_stream.h Sat Feb 24 10:44:59 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_null_stream.h Sun Aug 11 18:59:24 2002 +@@ -13,10 +13,10 @@ + * + */ + +-#ifndef __STL_NULL_STREAM_H +-# define __STL_NULL_STREAM_H ++#ifndef _STLP_NULL_STREAM_H ++# define _STLP_NULL_STREAM_H + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + struct __null_stream + { +@@ -37,6 +37,6 @@ + + extern __null_stream cin, cout, cerr, endl, ws, hex, dec; + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + + # endif +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_num_get.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_num_get.c +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_num_get.c Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_num_get.c Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,669 @@ ++/* ++ * Copyright (c) 1999 ++ * Silicon Graphics Computer Systems, Inc. ++ * ++ * Copyright (c) 1999 ++ * Boris Fomitchev ++ * ++ * This material is provided "as is", with absolutely no warranty expressed ++ * or implied. Any use is at your own risk. ++ * ++ * Permission to use or copy this software for any purpose is hereby granted ++ * without fee, provided the above notices are retained on all copies. ++ * Permission to modify the code and to distribute modified code is granted, ++ * provided the above notices are retained, and a notice that the code was ++ * modified is included with the above copyright notice. ++ * ++ */ ++#ifndef _STLP_NUM_GET_C ++#define _STLP_NUM_GET_C ++ ++#ifndef _STLP_INTERNAL_NUM_GET_H ++# include ++#endif ++ ++# if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) ++ ++#ifndef _STLP_LIMITS_H ++# include ++#endif ++ ++_STLP_BEGIN_NAMESPACE ++ ++extern const unsigned char __digit_val_table[]; ++ ++template < class _InputIter, class _Integer, class _CharT> ++_InputIter _STLP_CALL ++_M_do_get_integer(_InputIter&, _InputIter&, ios_base&, ios_base::iostate&, _Integer&, _CharT*); ++ ++// _M_do_get_integer and its helper functions. ++ ++inline bool _STLP_CALL __get_fdigit(char& __c, const char*) ++ { return __c >= '0' && __c <= '9'; } ++ ++inline bool _STLP_CALL __get_fdigit_or_sep(char& __c, char __sep, const char *) ++{ ++ if (__c == __sep) { ++ __c = ',' ; ++ return true ; ++ } else ++ return ( __c >= '0' && __c <= '9'); ++} ++ ++inline int _STLP_CALL ++__get_digit_from_table(unsigned __index) ++{ ++ return (__index > 127 ? 0xFF : __digit_val_table[__index]); ++} ++ ++extern const char __narrow_atoms[]; ++ ++template ++int ++_M_get_base_or_zero(_InputIter& __in, _InputIter& __end, ios_base& __str, _CharT*) ++{ ++ _CharT __atoms[5]; ++ const ctype<_CharT>& __c_type = *(const ctype<_CharT>*)__str._M_ctype_facet(); ++ ++ __c_type.widen(__narrow_atoms, __narrow_atoms + 5, __atoms); ++ ++ bool __negative = false; ++ _CharT __c = *__in; ++ ++ if (__c == __atoms[1] /* __xminus_char */ ) { ++ __negative = true; ++ ++__in; ++ } ++ else if (__c == __atoms[0] /* __xplus_char */ ) ++ ++__in; ++ ++ ++ int __base; ++ int __valid_zero = 0; ++ ++ ios_base::fmtflags __basefield = __str.flags() & ios_base::basefield; ++ ++ switch (__basefield) { ++ case ios_base::oct: ++ __base = 8; ++ break; ++ case ios_base::dec: ++ __base = 10; ++ break; ++ case ios_base::hex: ++ __base = 16; ++ if (__in != __end && *__in == __atoms[2] /* __zero_char */ ) { ++ ++__in; ++ if (__in != __end && ++ (*__in == __atoms[3] /* __x_char */ || *__in == __atoms[4] /* __X_char */ )) ++ ++__in; ++ else ++ __valid_zero = 1; // That zero is valid by itself. ++ } ++ break; ++ default: ++ if (__in != __end && *__in == __atoms[2] /* __zero_char */ ) { ++ ++__in; ++ if (__in != __end && ++ (*__in == __atoms[3] /* __x_char */ || *__in == __atoms[4] /* __X_char */ )) { ++ ++__in; ++ __base = 16; ++ } ++ else ++ { ++ __base = 8; ++ __valid_zero = 1; // That zero is still valid by itself. ++ } ++ } ++ else ++ __base = 10; ++ break; ++ } ++ return (__base << 2) | ((int)__negative << 1) | __valid_zero; ++} ++ ++ ++template ++bool _STLP_CALL ++__get_integer(_InputIter& __first, _InputIter& __last, ++ int __base, _Integer& __val, ++ int __got, bool __is_negative, char __separator, const string& __grouping, const __true_type&) ++{ ++ bool __ovflow = false; ++ _Integer __result = 0; ++ bool __is_group = !__grouping.empty(); ++ char __group_sizes[64]; ++ int __current_group_size = 0; ++ char* __group_sizes_end = __group_sizes; ++ ++ _Integer __over_base = (numeric_limits<_Integer>::min)() / __STATIC_CAST(_Integer, __base); ++ ++ for ( ; __first != __last ; ++__first) { ++ ++ const char __c = *__first; ++ ++ if (__is_group && __c == __separator) { ++ *__group_sizes_end++ = __current_group_size; ++ __current_group_size = 0; ++ continue; ++ } ++ ++ int __n = __get_digit_from_table(__c); ++ ++ if (__n >= __base) ++ break; ++ ++ ++__got; ++ ++__current_group_size; ++ ++ if (__result < __over_base) ++ __ovflow = true; // don't need to keep accumulating ++ else { ++ _Integer __next = __STATIC_CAST(_Integer, __base * __result - __n); ++ if (__result != 0) ++ __ovflow = __ovflow || __next >= __result; ++ __result = __next; ++ } ++ } ++ ++ if (__is_group && __group_sizes_end != __group_sizes) { ++ *__group_sizes_end++ = __current_group_size; ++ } ++ ++ // fbp : added to not modify value if nothing was read ++ if (__got > 0) { ++ __val = __ovflow ++ ? __is_negative ? (numeric_limits<_Integer>::min)() ++ : (numeric_limits<_Integer>::max)() ++ : (__is_negative ? __result : __STATIC_CAST(_Integer, -__result)); ++ } ++ // overflow is being treated as failure ++ return ((__got > 0) && !__ovflow) && (__is_group == 0 || __valid_grouping(__group_sizes, __group_sizes_end, ++ __grouping.data(), __grouping.data()+ __grouping.size())) ; ++} ++ ++template ++bool _STLP_CALL ++__get_integer(_InputIter& __first, _InputIter& __last, ++ int __base, _Integer& __val, ++ int __got, bool __is_negative, char __separator, const string& __grouping, const __false_type&) ++{ ++ bool __ovflow = false; ++ _Integer __result = 0; ++ bool __is_group = !__grouping.empty(); ++ char __group_sizes[64]; ++ int __current_group_size = 0; ++ char* __group_sizes_end = __group_sizes; ++ ++ _Integer __over_base = (numeric_limits<_Integer>::max)() / __STATIC_CAST(_Integer, __base); ++ ++ for ( ; __first != __last ; ++__first) { ++ ++ const char __c = *__first; ++ ++ if (__is_group && __c == __separator) { ++ *__group_sizes_end++ = __current_group_size; ++ __current_group_size = 0; ++ continue; ++ } ++ ++ int __n = __get_digit_from_table(__c); ++ ++ if (__n >= __base) ++ break; ++ ++ ++__got; ++ ++__current_group_size; ++ ++ if (__result > __over_base) ++ __ovflow = true; //don't need to keep accumulating ++ else { ++ _Integer __next = __STATIC_CAST(_Integer, __base * __result + __n); ++ if (__result != 0) ++ __ovflow = __ovflow || __next <= __result; ++ __result = __next; ++ } ++ } ++ ++ if (__is_group && __group_sizes_end != __group_sizes) { ++ *__group_sizes_end++ = __current_group_size; ++ } ++ ++ // fbp : added to not modify value if nothing was read ++ if (__got > 0) { ++ __val = __ovflow ++ ? (numeric_limits<_Integer>::max)() ++ : (__is_negative ? __STATIC_CAST(_Integer, -__result) : __result); ++ } ++ // overflow is being treated as failure ++ return ((__got > 0) && !__ovflow) && ++ (__is_group == 0 || __valid_grouping(__group_sizes, __group_sizes_end, ++ __grouping.data(), __grouping.data()+ __grouping.size())) ; ++} ++ ++ ++template ++bool _STLP_CALL ++__get_decimal_integer(_InputIter& __first, _InputIter& __last, _Integer& __val) ++{ ++ string __grp; ++ return __get_integer(__first, __last, 10, __val, 0, false, ' ', __grp, __false_type()); ++} ++ ++template ++_InputIter _STLP_CALL ++_M_do_get_integer(_InputIter& __in, _InputIter& __end, ios_base& __str, ++ ios_base::iostate& __err, _Integer& __val, _CharT* __pc) ++{ ++ ++#if defined(__HP_aCC) && (__HP_aCC == 1) ++ bool _IsSigned = !((_Integer)(-1) > 0); ++#else ++ typedef typename __bool2type::is_signed>::_Ret _IsSigned; ++#endif ++ ++ const numpunct<_CharT>& __numpunct = *(const numpunct<_CharT>*)__str._M_numpunct_facet(); ++ const string& __grouping = __str._M_grouping(); // cached copy ++ ++ const int __base_or_zero = _M_get_base_or_zero(__in, __end, __str, __pc); ++ int __got = __base_or_zero & 1; ++ ++ bool __result; ++ ++ if (__in == __end) { // We may have already read a 0. If so, ++ ++ if (__got > 0) { // the result is 0 even if we're at eof. ++ __val = 0; ++ __result = true; ++ } ++ else ++ __result = false; ++ } else { ++ ++ const bool __negative = __base_or_zero & 2; ++ const int __base = __base_or_zero >> 2; ++ ++#if defined(__HP_aCC) && (__HP_aCC == 1) ++ if (_IsSigned) ++ __result = __get_integer(__in, __end, __base, __val, __got, __negative, __numpunct.thousands_sep(), __grouping, __true_type() ); ++ else ++ __result = __get_integer(__in, __end, __base, __val, __got, __negative, __numpunct.thousands_sep(), __grouping, __false_type() ); ++#else ++ __result = __get_integer(__in, __end, __base, __val, __got, __negative, __numpunct.thousands_sep(), __grouping, _IsSigned()); ++# endif ++ } ++ ++ __err = __STATIC_CAST(ios_base::iostate, __result ? ios_base::goodbit : ios_base::failbit); ++ ++ if (__in == __end) ++ __err |= ios_base::eofbit; ++ return __in; ++} ++ ++// _M_read_float and its helper functions. ++template ++_InputIter _STLP_CALL ++__copy_sign(_InputIter __first, _InputIter __last, string& __v, ++ _CharT __xplus, _CharT __xminus) { ++ if (__first != __last) { ++ _CharT __c = *__first; ++ if (__c == __xplus) ++ ++__first; ++ else if (__c == __xminus) { ++ __v.push_back('-'); ++ ++__first; ++ } ++ } ++ return __first; ++} ++ ++ ++template ++bool _STLP_CALL ++__copy_digits(_InputIter& __first, _InputIter& __last, ++ string& __v, const _CharT* __digits) ++{ ++ bool __ok = false; ++ ++ for ( ; __first != __last; ++__first) { ++ _CharT __c = *__first; ++ if (__get_fdigit(__c, __digits)) { ++ __v.push_back((char)__c); ++ __ok = true; ++ } ++ else ++ break; ++ } ++ return __ok; ++} ++ ++template ++bool _STLP_CALL ++__copy_grouped_digits(_InputIter& __first, _InputIter& __last, ++ string& __v, const _CharT * __digits, ++ _CharT __sep, const string& __grouping, ++ bool& __grouping_ok) ++{ ++ bool __ok = false; ++ char __group_sizes[64]; ++ char*__group_sizes_end = __group_sizes; ++ char __current_group_size = 0; ++ ++ for ( ; __first != __last; ++__first) { ++ _CharT __c = *__first; ++ bool __tmp = __get_fdigit_or_sep(__c, __sep, __digits); ++ if (__tmp) { ++ if (__c == ',') { ++ *__group_sizes_end++ = __current_group_size; ++ __current_group_size = 0; ++ } ++ else { ++ __ok = true; ++ __v.push_back((char)__c); ++ ++__current_group_size; ++ } ++ } ++ else ++ break; ++ } ++ ++ if (__group_sizes_end != __group_sizes) ++ *__group_sizes_end++ = __current_group_size; ++ __grouping_ok = __valid_grouping(__group_sizes, __group_sizes_end, __grouping.data(), __grouping.data() + __grouping.size()); ++ return __ok; ++} ++ ++ ++template ++bool _STLP_CALL ++_M_read_float(string& __buf, _InputIter& __in, _InputIter& __end, ios_base& __s, _CharT*) ++{ ++ // Create a string, copying characters of the form ++ // [+-]? [0-9]* .? [0-9]* ([eE] [+-]? [0-9]+)? ++ ++ bool __digits_before_dot /* = false */; ++ bool __digits_after_dot = false; ++ bool __ok; ++ ++ bool __grouping_ok = true; ++ ++ const ctype<_CharT>& __ct = *(const ctype<_CharT>*)__s._M_ctype_facet(); ++ const numpunct<_CharT>& __numpunct = *(const numpunct<_CharT>*)__s._M_numpunct_facet(); ++ const string& __grouping = __s._M_grouping(); // cached copy ++ ++ _CharT __dot = __numpunct.decimal_point(); ++ _CharT __sep = __numpunct.thousands_sep(); ++ ++ _CharT __digits[10]; ++ _CharT __xplus; ++ _CharT __xminus; ++ ++ _CharT __pow_e; ++ _CharT __pow_E; ++ ++ _Initialize_get_float(__ct, __xplus, __xminus, __pow_e, __pow_E, __digits); ++ ++ // Get an optional sign ++ __in = __copy_sign(__in, __end, __buf, __xplus, __xminus); ++ ++ // Get an optional string of digits. ++ if (__grouping.size() != 0) ++ __digits_before_dot = __copy_grouped_digits(__in, __end, __buf, __digits, ++ __sep, __grouping, __grouping_ok); ++ else ++ __digits_before_dot = __copy_digits(__in, __end, __buf, __digits); ++ ++ // Get an optional decimal point, and an optional string of digits. ++ if (__in != __end && *__in == __dot) { ++ __buf.push_back('.'); ++ ++__in; ++ __digits_after_dot = __copy_digits(__in, __end, __buf, __digits); ++ } ++ ++ // There have to be some digits, somewhere. ++ __ok = __digits_before_dot || __digits_after_dot; ++ ++ // Get an optional exponent. ++ if (__ok && __in != __end && (*__in == __pow_e || *__in == __pow_E)) { ++ __buf.push_back('e'); ++ ++__in; ++ __in = __copy_sign(__in, __end, __buf, __xplus, __xminus); ++ __ok = __copy_digits(__in, __end, __buf, __digits); ++ // If we have an exponent then the sign ++ // is optional but the digits aren't. ++ } ++ ++ return __ok; ++} ++ ++// ++// num_get<>, num_put<> ++// ++ ++# if ( _STLP_STATIC_TEMPLATE_DATA > 0 ) ++template ++locale::id num_get<_CharT, _InputIterator>::id; ++# else ++ ++typedef num_get num_get_char; ++typedef num_get > > num_get_char_2; ++ ++__DECLARE_INSTANCE(locale::id, num_get_char::id, ); ++__DECLARE_INSTANCE(locale::id, num_get_char_2::id, ); ++ ++# ifndef _STLP_NO_WCHAR_T ++ ++typedef num_get num_get_wchar_t; ++typedef num_get > > num_get_wchar_t_2; ++ ++__DECLARE_INSTANCE(locale::id, num_get_wchar_t::id, ); ++__DECLARE_INSTANCE(locale::id, num_get_wchar_t_2::id, ); ++ ++# endif ++ ++# endif /* ( _STLP_STATIC_TEMPLATE_DATA > 0 ) */ ++ ++# ifndef _STLP_NO_BOOL ++template ++_InputIter ++num_get<_CharT, _InputIter>::do_get(_InputIter __in, _InputIter __end, ++ ios_base& __s, ++ ios_base::iostate& __err, bool& __x) const ++{ ++ if (__s.flags() & ios_base::boolalpha) { ++ locale __loc = __s.getloc(); ++ const _Numpunct& __np = *(const _Numpunct*)__s._M_numpunct_facet(); ++ // const numpunct<_CharT>& __np = use_facet >(__loc) ; ++// const ctype<_CharT>& __ct = use_facet >(__loc) ; ++ ++ const basic_string<_CharT> __truename = __np.truename(); ++ const basic_string<_CharT> __falsename = __np.falsename(); ++ bool __true_ok = true; ++ bool __false_ok = true; ++ ++ size_t __n = 0; ++ for ( ; __in != __end; ++__in) { ++ _CharT __c = *__in; ++ __true_ok = __true_ok && (__c == __truename[__n]); ++ __false_ok = __false_ok && (__c == __falsename[__n]); ++ ++__n; ++ ++ if ((!__true_ok && !__false_ok) || ++ (__true_ok && __n >= __truename.size()) || ++ (__false_ok && __n >= __falsename.size())) { ++ ++__in; ++ break; ++ } ++ } ++ if (__true_ok && __n < __truename.size()) __true_ok = false; ++ if (__false_ok && __n < __falsename.size()) __false_ok = false; ++ ++ if (__true_ok || __false_ok) { ++ __err = ios_base::goodbit; ++ __x = __true_ok; ++ } ++ else ++ __err = ios_base::failbit; ++ ++ if (__in == __end) ++ __err |= ios_base::eofbit; ++ ++ return __in; ++ } ++ ++ else { ++ long __lx; ++ _InputIter __tmp = this->do_get(__in, __end, __s, __err, __lx); ++ if (!(__err & ios_base::failbit)) { ++ if (__lx == 0) ++ __x = false; ++ else if (__lx == 1) ++ __x = true; ++ else ++ __err |= ios_base::failbit; ++ } ++ return __tmp; ++ } ++} ++ ++# endif /* _STLP_NO_BOOL */ ++ ++# ifdef _STLP_FIX_LIBRARY_ISSUES ++template ++_InputIter ++num_get<_CharT, _InputIter>::do_get(_InputIter __in, _InputIter __end, ios_base& __str, ++ ios_base::iostate& __err, short& __val) const { ++ return _M_do_get_integer(__in, __end, __str, __err, __val, (_CharT*)0 ); ++} ++ ++template ++_InputIter ++num_get<_CharT, _InputIter>::do_get(_InputIter __in, _InputIter __end, ios_base& __str, ++ ios_base::iostate& __err, int& __val) const { ++ return _M_do_get_integer(__in, __end, __str, __err, __val, (_CharT*)0 ); ++} ++ ++# endif ++ ++template ++_InputIter ++num_get<_CharT, _InputIter>::do_get(_InputIter __in, _InputIter __end, ios_base& __str, ++ ios_base::iostate& __err, long& __val) const { ++ return _M_do_get_integer(__in, __end, __str, __err, __val, (_CharT*)0 ); ++} ++ ++template ++_InputIter ++num_get<_CharT, _InputIter>::do_get(_InputIter __in, _InputIter __end, ios_base& __str, ++ ios_base::iostate& __err, ++ unsigned short& __val) const { ++ return _M_do_get_integer(__in, __end, __str, __err, __val, (_CharT*)0 ); ++} ++ ++template ++_InputIter ++num_get<_CharT, _InputIter>::do_get(_InputIter __in, _InputIter __end, ios_base& __str, ++ ios_base::iostate& __err, ++ unsigned int& __val) const { ++ return _M_do_get_integer(__in, __end, __str, __err, __val, (_CharT*)0 ); ++} ++ ++template ++_InputIter ++num_get<_CharT, _InputIter>::do_get(_InputIter __in, _InputIter __end, ios_base& __str, ++ ios_base::iostate& __err, ++ unsigned long& __val) const { ++ return _M_do_get_integer(__in, __end, __str, __err, __val, (_CharT*)0 ); ++} ++ ++ ++template ++_InputIter ++num_get<_CharT, _InputIter>::do_get(_InputIter __in, _InputIter __end, ios_base& __str, ++ ios_base::iostate& __err, ++ float& __val) const { ++ string __buf ; ++ bool __ok = _M_read_float(__buf, __in, __end, __str, (_CharT*)0 ); ++ __string_to_float(__buf, __val); ++ __err = __STATIC_CAST(ios_base::iostate, __ok ? ios_base::goodbit : ios_base::failbit); ++ if (__in == __end) ++ __err |= ios_base::eofbit; ++ return __in; ++} ++ ++template ++_InputIter ++num_get<_CharT, _InputIter>::do_get(_InputIter __in, _InputIter __end, ios_base& __str, ++ ios_base::iostate& __err, ++ double& __val) const { ++ string __buf ; ++ bool __ok = _M_read_float(__buf, __in, __end, __str, (_CharT*)0 ); ++ __string_to_float(__buf, __val); ++ __err = __STATIC_CAST(ios_base::iostate, __ok ? ios_base::goodbit : ios_base::failbit); ++ if (__in == __end) ++ __err |= ios_base::eofbit; ++ return __in; ++} ++ ++#ifndef _STLP_NO_LONG_DOUBLE ++template ++_InputIter ++num_get<_CharT, _InputIter>::do_get(_InputIter __in, _InputIter __end, ios_base& __str, ++ ios_base::iostate& __err, ++ long double& __val) const { ++ string __buf ; ++ bool __ok = _M_read_float(__buf, __in, __end, __str, (_CharT*)0 ); ++ __string_to_float(__buf, __val); ++ __err = __STATIC_CAST(ios_base::iostate, __ok ? ios_base::goodbit : ios_base::failbit); ++ if (__in == __end) ++ __err |= ios_base::eofbit; ++ return __in; ++} ++#endif /* _STLP_LONG_DOUBLE */ ++ ++template ++_InputIter ++num_get<_CharT, _InputIter>::do_get(_InputIter __in, _InputIter __end, ios_base& __str, ++ ios_base::iostate& __err, ++ void*& __p) const { ++# if defined(_STLP_LONG_LONG)&&!defined(__MRC__) //*ty 12/07/2001 - MrCpp can not cast from long long to void* ++ unsigned _STLP_LONG_LONG __val; ++# else ++ unsigned long __val; ++# endif ++ iter_type __tmp = _M_do_get_integer(__in, __end, __str, __err, __val, (_CharT*)0 ); ++ if (!(__err & ios_base::failbit)) ++ __p = __REINTERPRET_CAST(void*,__val); ++ return __tmp; ++ } ++ ++ ++#ifdef _STLP_LONG_LONG ++ ++template ++_InputIter ++num_get<_CharT, _InputIter>::do_get(_InputIter __in, _InputIter __end, ios_base& __str, ++ ios_base::iostate& __err, ++ _STLP_LONG_LONG& __val) const { ++ return _M_do_get_integer(__in, __end, __str, __err, __val, (_CharT*)0 ); ++} ++ ++template ++_InputIter ++num_get<_CharT, _InputIter>::do_get(_InputIter __in, _InputIter __end, ios_base& __str, ++ ios_base::iostate& __err, ++ unsigned _STLP_LONG_LONG& __val) const { ++ return _M_do_get_integer(__in, __end, __str, __err, __val, (_CharT*)0 ); ++} ++ ++#endif /* _STLP_LONG_LONG */ ++ ++_STLP_END_NAMESPACE ++ ++# endif /* _STLP_EXPOSE_STREAM_IMPLEMENTATION */ ++ ++#endif /* _STLP_NUMERIC_FACETS_C */ ++ ++// Local Variables: ++// mode:C++ ++// End: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_num_get.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_num_get.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_num_get.h Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_num_get.h Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,259 @@ ++/* ++ * Copyright (c) 1999 ++ * Silicon Graphics Computer Systems, Inc. ++ * ++ * Copyright (c) 1999 ++ * Boris Fomitchev ++ * ++ * This material is provided "as is", with absolutely no warranty expressed ++ * or implied. Any use is at your own risk. ++ * ++ * Permission to use or copy this software for any purpose is hereby granted ++ * without fee, provided the above notices are retained on all copies. ++ * Permission to modify the code and to distribute modified code is granted, ++ * provided the above notices are retained, and a notice that the code was ++ * modified is included with the above copyright notice. ++ * ++ */ ++// WARNING: This is an internal header file, included by other C++ ++// standard library headers. You should not attempt to use this header ++// file directly. ++ ++ ++#ifndef _STLP_INTERNAL_NUM_GET_H ++#define _STLP_INTERNAL_NUM_GET_H ++ ++#ifndef _STLP_INTERNAL_ISTREAMBUF_ITERATOR_H ++# include ++#endif ++ ++# ifndef _STLP_C_LOCALE_H ++# include ++# endif ++ ++#ifndef _STLP_INTERNAL_NUMPUNCT_H ++# include ++#endif ++#ifndef _STLP_INTERNAL_CTYPE_H ++# include ++#endif ++ ++_STLP_BEGIN_NAMESPACE ++ ++//---------------------------------------------------------------------- ++// num_get facets ++ ++# ifdef _STLP_LIMITED_DEFAULT_TEMPLATES ++template ++# else ++template > ++# endif ++class num_get: public locale::facet ++{ ++ friend class _Locale; ++public: ++ typedef _CharT char_type; ++ typedef _InputIter iter_type; ++ ++ explicit num_get(size_t __refs = 0): locale::facet(__refs) {} ++ ++# ifndef _STLP_NO_BOOL ++ _InputIter get(_InputIter __in, _InputIter __end, ios_base& __str, ++ ios_base::iostate& __err, bool& __val) const { ++ return do_get(__in, __end, __str, __err, __val); ++ } ++# endif ++ ++# ifdef _STLP_FIX_LIBRARY_ISSUES ++ _InputIter get(_InputIter __in, _InputIter __end, ios_base& __str, ++ ios_base::iostate& __err, short& __val) const { ++ return do_get(__in, __end, __str, __err, __val); ++ } ++ ++ _InputIter get(_InputIter __in, _InputIter __end, ios_base& __str, ++ ios_base::iostate& __err, int& __val) const { ++ return do_get(__in, __end, __str, __err, __val); ++ } ++# endif ++ ++ _InputIter get(_InputIter __in, _InputIter __end, ios_base& __str, ++ ios_base::iostate& __err, long& __val) const { ++ return do_get(__in, __end, __str, __err, __val); ++ } ++ ++ _InputIter get(_InputIter __in, _InputIter __end, ios_base& __str, ++ ios_base::iostate& __err, unsigned short& __val) const { ++ return do_get(__in, __end, __str, __err, __val); ++ } ++ ++ _InputIter get(_InputIter __in, _InputIter __end, ios_base& __str, ++ ios_base::iostate& __err, unsigned int& __val) const { ++ return do_get(__in, __end, __str, __err, __val); ++ } ++ ++ _InputIter get(_InputIter __in, _InputIter __end, ios_base& __str, ++ ios_base::iostate& __err, unsigned long& __val) const { ++ return do_get(__in, __end, __str, __err, __val); ++ } ++ ++#ifdef _STLP_LONG_LONG ++ ++ _InputIter get(_InputIter __in, _InputIter __end, ios_base& __str, ++ ios_base::iostate& __err, _STLP_LONG_LONG& __val) const { ++ return do_get(__in, __end, __str, __err, __val); ++ } ++ ++ _InputIter get(_InputIter __in, _InputIter __end, ios_base& __str, ++ ios_base::iostate& __err, unsigned _STLP_LONG_LONG& __val) const { ++ return do_get(__in, __end, __str, __err, __val); ++ } ++ ++#endif /* _STLP_LONG_LONG */ ++ ++ _InputIter get(_InputIter __in, _InputIter __end, ios_base& __str, ++ ios_base::iostate& __err, float& __val) const { ++ return do_get(__in, __end, __str, __err, __val); ++ } ++ ++ _InputIter get(_InputIter __in, _InputIter __end, ios_base& __str, ++ ios_base::iostate& __err, double& __val) const { ++ return do_get(__in, __end, __str, __err, __val); ++ } ++ ++# ifndef _STLP_NO_LONG_DOUBLE ++ ++ _InputIter get(_InputIter __in, _InputIter __end, ios_base& __str, ++ ios_base::iostate& __err, long double& __val) const { ++ return do_get(__in, __end, __str, __err, __val); ++ } ++# endif ++ ++ _InputIter get(_InputIter __in, _InputIter __end, ios_base& __str, ++ ios_base::iostate& __err, void*& __val) const { ++ return do_get(__in, __end, __str, __err, __val); ++ } ++ ++ _STLP_STATIC_MEMBER_DECLSPEC static locale::id id; ++ ++protected: ++ ~num_get() {} ++ ++ typedef string string_type; ++ typedef ctype<_CharT> _Ctype; ++ typedef numpunct<_CharT> _Numpunct; ++ ++# ifndef _STLP_NO_BOOL ++ virtual _InputIter do_get(_InputIter __in, _InputIter __end, ++ ios_base& __str, ios_base::iostate& __err, bool& __val) const; ++# endif ++ ++ virtual _InputIter do_get(_InputIter __in, _InputIter __end, ios_base& __str, ++ ios_base::iostate& __err, long& __val) const; ++ virtual _InputIter do_get(_InputIter __in, _InputIter __end, ios_base& __str, ++ ios_base::iostate& __err, unsigned short& __val) const; ++ virtual _InputIter do_get(_InputIter __in, _InputIter __end, ios_base& __str, ++ ios_base::iostate& __err, unsigned int& __val) const; ++ virtual _InputIter do_get(_InputIter __in, _InputIter __end, ios_base& __str, ++ ios_base::iostate& __err, unsigned long& __val) const; ++# ifdef _STLP_FIX_LIBRARY_ISSUES ++ // issue 118 : those are actually not supposed to be here ++ virtual _InputIter do_get(_InputIter __in, _InputIter __end, ios_base& __str, ++ ios_base::iostate& __err, short& __val) const; ++ virtual _InputIter do_get(_InputIter __in, _InputIter __end, ios_base& __str, ++ ios_base::iostate& __err, int& __val) const; ++# endif ++ virtual _InputIter do_get(_InputIter __in, _InputIter __end, ios_base& __str, ++ ios_base::iostate& __err, float& __val) const; ++ virtual _InputIter do_get(_InputIter __in, _InputIter __end, ios_base& __str, ++ ios_base::iostate& __err, double& __val) const; ++ virtual _InputIter do_get(_InputIter __in, _InputIter __end, ios_base& __str, ++ ios_base::iostate& __err, ++ void*& __p) const; ++ ++#ifndef _STLP_NO_LONG_DOUBLE ++ virtual _InputIter do_get(_InputIter __in, _InputIter __end, ios_base& __str, ++ ios_base::iostate& __err, long double& __val) const; ++#endif /* _STLP_LONG_DOUBLE */ ++ ++#ifdef _STLP_LONG_LONG ++ ++ virtual _InputIter do_get(_InputIter __in, _InputIter __end, ios_base& __str, ++ ios_base::iostate& __err, _STLP_LONG_LONG& __val) const; ++ virtual _InputIter do_get(_InputIter __in, _InputIter __end, ios_base& __str, ++ ios_base::iostate& __err, unsigned _STLP_LONG_LONG& __val) const; ++#endif /* _STLP_LONG_LONG */ ++ ++}; ++ ++ ++# ifdef _STLP_USE_TEMPLATE_EXPORT ++_STLP_EXPORT_TEMPLATE_CLASS num_get > >; ++// _STLP_EXPORT_TEMPLATE_CLASS num_get; ++# ifndef _STLP_NO_WCHAR_T ++_STLP_EXPORT_TEMPLATE_CLASS num_get > >; ++// _STLP_EXPORT_TEMPLATE_CLASS num_get; ++# endif /* _STLP_NO_WCHAR_T */ ++# endif ++ ++# if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) ++ ++extern bool _STLP_CALL __valid_grouping(const char*, const char*, const char*, const char*); ++ ++template ++bool _STLP_CALL ++__get_decimal_integer(_InputIter& __first, _InputIter& __last, _Integer& __val); ++ ++inline bool _STLP_CALL __get_fdigit(char& __c, const char*); ++inline bool _STLP_CALL __get_fdigit_or_sep(char& __c, char __sep, const char *); ++# ifndef _STLP_NO_WCHAR_T ++bool _STLP_CALL __get_fdigit(wchar_t&, const wchar_t*); ++bool _STLP_CALL __get_fdigit_or_sep(wchar_t&, wchar_t, const wchar_t*); ++# endif ++ ++inline void _STLP_CALL ++_Initialize_get_float(const ctype&, ++ char& Plus, char& Minus, ++ char& pow_e, char& pow_E, ++ char*) ++{ ++ Plus = '+'; ++ Minus = '-'; ++ pow_e = 'e'; ++ pow_E = 'E'; ++} ++ ++# ifndef _STLP_NO_WCHAR_T ++void _STLP_CALL _Initialize_get_float(const ctype&, ++ wchar_t&, wchar_t&, wchar_t&, wchar_t&, wchar_t*); ++# endif ++void _STLP_CALL __string_to_float(const string&, float&); ++void _STLP_CALL __string_to_float(const string&, double&); ++# ifndef _STLP_NO_LONG_DOUBLE ++void _STLP_CALL __string_to_float(const string&, long double&); ++# endif ++# endif ++ ++# if defined (__BORLANDC__) && defined (_RTLDLL) ++inline void _Stl_loc_init_num_get() { ++ num_get > >::id._M_index = 12; ++ num_get::id._M_index = 13; ++ ++# ifndef _STLP_NO_WCHAR_T ++ num_get > >::id._M_index = 31; ++ num_get::id._M_index = 32; ++# endif ++} ++# endif ++ ++_STLP_END_NAMESPACE ++ ++# if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) && ! defined (_STLP_LINK_TIME_INSTANTIATION) ++# include ++# endif ++ ++#endif /* _STLP_INTERNAL_NUM_GET_H */ ++ ++// Local Variables: ++// mode:C++ ++// End: ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_num_put.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_num_put.c +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_num_put.c Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_num_put.c Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,550 @@ ++/* ++ * Copyright (c) 1999 ++ * Silicon Graphics Computer Systems, Inc. ++ * ++ * Copyright (c) 1999 ++ * Boris Fomitchev ++ * ++ * This material is provided "as is", with absolutely no warranty expressed ++ * or implied. Any use is at your own risk. ++ * ++ * Permission to use or copy this software for any purpose is hereby granted ++ * without fee, provided the above notices are retained on all copies. ++ * Permission to modify the code and to distribute modified code is granted, ++ * provided the above notices are retained, and a notice that the code was ++ * modified is included with the above copyright notice. ++ * ++ */ ++#ifndef _STLP_NUM_PUT_C ++#define _STLP_NUM_PUT_C ++ ++#ifndef _STLP_INTERNAL_NUM_PUT_H ++# include ++#endif ++ ++# if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) ++ ++#ifndef _STLP_LIMITS_H ++# include ++#endif ++ ++_STLP_BEGIN_NAMESPACE ++ ++// _M_do_put_float and its helper functions. Strategy: write the output ++// to a buffer of char, transform the buffer to _CharT, and then copy ++// it to the output. ++ ++template ++_OutputIter _STLP_CALL ++_M_do_put_float(_OutputIter __s, ios_base& __f, _CharT __fill,_Float __x); ++ ++ ++//---------------------------------------------------------------------- ++// num_put facet ++ ++template ++_OutputIter _STLP_CALL ++__copy_float_and_fill(const _CharT* __first, const _CharT* __last, ++ _OutputIter __out, ++ ios_base::fmtflags __flags, ++ streamsize __width, _CharT __fill, ++ _CharT __xplus, _CharT __xminus) { ++ if (__width <= __last - __first) ++ return copy(__first, __last, __out); ++ else { ++ streamsize __pad = __width - (__last - __first); ++ ios_base::fmtflags __dir = __flags & ios_base::adjustfield; ++ ++ if (__dir == ios_base::left) { ++ __out = copy(__first, __last, __out); ++ return fill_n(__out, __pad, __fill); ++ } ++ else if (__dir == ios_base::internal && __first != __last && ++ (*__first == __xplus || *__first == __xminus)) { ++ *__out++ = *__first++; ++ __out = fill_n(__out, __pad, __fill); ++ return copy(__first, __last, __out); ++ } ++ else { ++ __out = fill_n(__out, __pad, __fill); ++ return copy(__first, __last, __out); ++ } ++ } ++} ++ ++#ifndef _STLP_NO_WCHAR_T ++// Helper routine for wchar_t ++template ++_OutputIter _STLP_CALL ++__put_float(char* __ibuf, char* __iend, _OutputIter __out, ++ ios_base& __f, wchar_t __fill, ++ wchar_t __decimal_point, ++ wchar_t __sep, const string& __grouping) ++{ ++ const ctype& __ct = *(ctype*)__f._M_ctype_facet() ; ++ ++ wchar_t __wbuf[128]; ++ wchar_t* __eend = __convert_float_buffer(__ibuf, __iend, __wbuf, ++ __ct, __decimal_point); ++ if (__grouping.size() != 0) { ++ // In order to do separator-insertion only to the left of the ++ // decimal point, we adjust the size of the first (right-most) ++ // group. We need to be careful if there is only one entry in ++ // grouping: in this case we need to duplicate the first entry. ++ ++ string __new_grouping = __grouping; ++ wchar_t* __decimal_pos = find(__wbuf, __eend, __decimal_point); ++ if (__grouping.size() == 1) ++ __new_grouping.push_back(__grouping[0]); ++ ++ // dwa 1/24/00 - try as I might, there doesn't seem to be a way ++ // to suppress the warning ++ __new_grouping[0] += __STATIC_CAST(char, __eend - __decimal_pos); ++ ptrdiff_t __len = __insert_grouping(__wbuf, __eend, __new_grouping, ++ __sep, ++ __ct.widen('+'), __ct.widen('-'), ++ 0); ++ __eend = __wbuf + __len; ++ } ++ ++ return __copy_float_and_fill(__wbuf, __eend, __out, ++ __f.flags(), __f.width(0), __fill, ++ __ct.widen('+'), __ct.widen('-')); ++} ++# endif /* WCHAR_T */ ++ ++// Helper routine for char ++template ++_OutputIter _STLP_CALL ++__put_float(char* __ibuf, char* __iend, _OutputIter __out, ++ ios_base& __f, char __fill, ++ char __decimal_point, ++ char __sep, const string& __grouping) ++{ ++ __adjust_float_buffer(__ibuf, __iend, __decimal_point); ++ if (__grouping.size() != 0) { ++ string __new_grouping = __grouping; ++ const char * __decimal_pos = find(__ibuf, __iend, __decimal_point); ++ if (__grouping.size() == 1) ++ __new_grouping.push_back(__grouping[0]); ++ __new_grouping[0] += __STATIC_CAST(char, (__iend - __decimal_pos)); ++ ptrdiff_t __len = __insert_grouping(__ibuf, __iend, __new_grouping, ++ __sep, '+', '-', 0); ++ __iend = __ibuf + __len; ++ } ++ ++ return __copy_float_and_fill(__ibuf, __iend, __out, ++ __f.flags(), __f.width(0), __fill, '+', '-'); ++} ++ ++template ++_OutputIter _STLP_CALL ++_M_do_put_float(_OutputIter __s, ios_base& __f, ++ _CharT __fill, _Float __x) ++{ ++ char __buf[128]; ++ char* __iend = __write_float(__buf, __f.flags(), (int)__f.precision(), __x); ++ ++ // locale __loc = __f.getloc(); ++ const numpunct<_CharT>& __np = *(const numpunct<_CharT>*)__f._M_numpunct_facet(); ++ ++ return __put_float(__buf, __iend, __s, __f, __fill, ++ __np.decimal_point(), ++ __np.thousands_sep(), __f._M_grouping()); ++} ++ ++// _M_do_put_integer and its helper functions. ++ ++template ++_OutputIter _STLP_CALL ++__copy_integer_and_fill(const _CharT* __buf, ptrdiff_t __len, ++ _OutputIter __out, ++ ios_base::fmtflags __flg, streamsize __wid, _CharT __fill, ++ _CharT __xplus, _CharT __xminus) ++{ ++ if (__len >= __wid) ++ return copy(__buf, __buf + __len, __out); ++ else { ++ ptrdiff_t __pad = __wid - __len; ++ ios_base::fmtflags __dir = __flg & ios_base::adjustfield; ++ ++ if (__dir == ios_base::left) { ++ __out = copy(__buf, __buf + __len, __out); ++ return fill_n(__out, __pad, __fill); ++ } ++ else if (__dir == ios_base::internal && __len != 0 && ++ (__buf[0] == __xplus || __buf[0] == __xminus)) { ++ *__out++ = __buf[0]; ++ __out = fill_n(__out, __pad, __fill); ++ return copy(__buf + 1, __buf + __len, __out); ++ } ++ else if (__dir == ios_base::internal && __len >= 2 && ++ (__flg & ios_base::showbase) && ++ (__flg & ios_base::basefield) == ios_base::hex) { ++ *__out++ = __buf[0]; ++ *__out++ = __buf[1]; ++ __out = fill_n(__out, __pad, __fill); ++ return copy(__buf + 2, __buf + __len, __out); ++ } ++ else { ++ __out = fill_n(__out, __pad, __fill); ++ return copy(__buf, __buf + __len, __out); ++ } ++ } ++} ++ ++#ifndef _STLP_NO_WCHAR_T ++// Helper function for wchar_t ++template ++_OutputIter _STLP_CALL ++__put_integer(char* __buf, char* __iend, _OutputIter __s, ++ ios_base& __f, ++ ios_base::fmtflags __flags, wchar_t __fill) ++{ ++ locale __loc = __f.getloc(); ++ // const ctype& __ct = use_facet >(__loc); ++ const ctype& __ct = *(const ctype*)__f._M_ctype_facet(); ++ ++ wchar_t __xplus = __ct.widen('+'); ++ wchar_t __xminus = __ct.widen('-'); ++ ++ wchar_t __wbuf[64]; ++ __ct.widen(__buf, __iend, __wbuf); ++ ptrdiff_t __len = __iend - __buf; ++ wchar_t* __eend = __wbuf + __len; ++ ++ // const numpunct& __np = use_facet >(__loc); ++ // const string& __grouping = __np.grouping(); ++ ++ const numpunct& __np = *(const numpunct*)__f._M_numpunct_facet(); ++ const string& __grouping = __f._M_grouping(); ++ ++ if (!__grouping.empty()) { ++ int __basechars; ++ if (__flags & ios_base::showbase) ++ switch (__flags & ios_base::basefield) { ++ case ios_base::hex: __basechars = 2; break; ++ case ios_base::oct: __basechars = 1; break; ++ default: __basechars = 0; ++ } ++ else ++ __basechars = 0; ++ ++ __len = __insert_grouping(__wbuf, __eend, __grouping, __np.thousands_sep(), ++ __xplus, __xminus, __basechars); ++ } ++ ++ return __copy_integer_and_fill((wchar_t*)__wbuf, __len, __s, ++ __flags, __f.width(0), __fill, __xplus, __xminus); ++} ++#endif ++ ++// Helper function for char ++template ++_OutputIter _STLP_CALL ++__put_integer(char* __buf, char* __iend, _OutputIter __s, ++ ios_base& __f, ios_base::fmtflags __flags, char __fill) ++{ ++ ptrdiff_t __len = __iend - __buf; ++ ++ // const numpunct& __np = use_facet >(__f.getloc()); ++ // const string& __grouping = __np.grouping(); ++ ++ const numpunct& __np = *(const numpunct*)__f._M_numpunct_facet(); ++ const string& __grouping = __f._M_grouping(); ++ ++ if (!__grouping.empty()) { ++ int __basechars; ++ if (__flags & ios_base::showbase) ++ switch (__flags & ios_base::basefield) { ++ case ios_base::hex: __basechars = 2; break; ++ case ios_base::oct: __basechars = 1; break; ++ default: __basechars = 0; ++ } ++ else ++ __basechars = 0; ++ ++ // make sure there is room at the end of the buffer ++ // we pass to __insert_grouping ++ char __grpbuf[64]; ++ copy(__buf, __iend, (char *) __grpbuf); ++ __buf = __grpbuf; ++ __iend = __grpbuf + __len; ++ __len = __insert_grouping(__buf, __iend, __grouping, __np.thousands_sep(), ++ '+', '-', __basechars); ++ } ++ ++ return __copy_integer_and_fill(__buf, __len, __s, __flags, __f.width(0), __fill, '+', '-'); ++} ++ ++#ifdef _STLP_LONG_LONG ++typedef _STLP_LONG_LONG __max_int_t; ++typedef unsigned _STLP_LONG_LONG __umax_int_t; ++#else ++typedef long __max_int_t; ++typedef unsigned long __umax_int_t; ++#endif ++ ++extern const char __hex_char_table_lo[]; ++extern const char __hex_char_table_hi[]; ++ ++template ++inline char* _STLP_CALL ++__write_decimal_backward(char* __ptr, _Integer __x, ios_base::fmtflags __flags, const __true_type& /* is_signed */) ++{ ++ __max_int_t __temp = __x; ++ ++ const bool __negative = __x < 0 ; ++ ++ if (__negative) __temp = -__temp; ++ ++ for (; __temp != 0; __temp /= 10) ++ *--__ptr = (int)(__temp % 10) + '0'; ++ // put sign if requested ++ if (__negative) ++ *--__ptr = '-'; ++ else if (__flags & ios_base::showpos) ++ *--__ptr = '+'; ++ return __ptr; ++} ++ ++template ++inline char* _STLP_CALL ++__write_decimal_backward(char* __ptr, _Integer __x, ios_base::fmtflags, const __false_type& /* is_signed */) ++{ ++ for (; __x != 0; __x /= 10) ++ *--__ptr = (int)(__x % 10) + '0'; ++ return __ptr; ++} ++ ++template ++char* _STLP_CALL ++__write_integer_backward(char* __buf, ios_base::fmtflags __flags, _Integer __x) ++{ ++ char* __ptr = __buf; ++ __umax_int_t __temp; ++ ++ if (__x == 0) { ++ *--__ptr = '0'; ++ if ((__flags & ios_base::showpos) && ( (__flags & (ios_base::hex | ios_base::oct)) == 0 )) ++ *--__ptr = '+'; ++ } ++ else { ++ ++ switch (__flags & ios_base::basefield) { ++ case ios_base::oct: ++ __temp = __x; ++ // if the size of integer is less than 8, clear upper part ++ if ( sizeof(__x) < 8 && sizeof(__umax_int_t) >= 8 ) ++ __temp &= 0xFFFFFFFF; ++ ++ for (; __temp != 0; __temp >>=3) ++ *--__ptr = (((unsigned)__temp)& 0x7) + '0'; ++ ++ // put leading '0' is showbase is set ++ if (__flags & ios_base::showbase) ++ *--__ptr = '0'; ++ break; ++ case ios_base::hex: ++ { ++ const char* __table_ptr = (__flags & ios_base::uppercase) ? ++ __hex_char_table_hi : __hex_char_table_lo; ++ __temp = __x; ++ // if the size of integer is less than 8, clear upper part ++ if ( sizeof(__x) < 8 && sizeof(__umax_int_t) >= 8 ) ++ __temp &= 0xFFFFFFFF; ++ ++ for (; __temp != 0; __temp >>=4) ++ *--__ptr = __table_ptr[((unsigned)__temp & 0xF)]; ++ ++ if (__flags & ios_base::showbase) { ++ *--__ptr = __table_ptr[16]; ++ *--__ptr = '0'; ++ } ++ } ++ break; ++ default: ++ { ++#if defined(__HP_aCC) && (__HP_aCC == 1) ++ bool _IsSigned = !((_Integer)-1 > 0); ++ if (_IsSigned) ++ __ptr = __write_decimal_backward(__ptr, __x, __flags, __true_type() ); ++ else ++ __ptr = __write_decimal_backward(__ptr, __x, __flags, __false_type() ); ++#else ++ typedef typename __bool2type::is_signed>::_Ret _IsSigned; ++ __ptr = __write_decimal_backward(__ptr, __x, __flags, _IsSigned()); ++# endif ++ } ++ break; ++ } ++ } ++ // return pointer to beginning of the string ++ return __ptr; ++} ++ ++// ++// num_put<> ++// ++ ++# if ( _STLP_STATIC_TEMPLATE_DATA > 0 ) ++ ++template ++locale::id num_put<_CharT, _OutputIterator>::id; ++# else /* ( _STLP_STATIC_TEMPLATE_DATA > 0 ) */ ++ ++typedef num_put num_put_char; ++typedef num_put num_put_char_2; ++typedef num_put > > num_put_char_3; ++ ++__DECLARE_INSTANCE(locale::id, num_put_char::id, ); ++__DECLARE_INSTANCE(locale::id, num_put_char_2::id, ); ++__DECLARE_INSTANCE(locale::id, num_put_char_3::id, ); ++ ++# ifndef _STLP_NO_WCHAR_T ++ ++typedef num_put num_put_wchar_t; ++typedef num_put num_put_wchar_t_2; ++typedef num_put > > num_put_wchar_t_3; ++ ++__DECLARE_INSTANCE(locale::id, num_put_wchar_t::id, ); ++__DECLARE_INSTANCE(locale::id, num_put_wchar_t_2::id, ); ++__DECLARE_INSTANCE(locale::id, num_put_wchar_t_3::id, ); ++ ++# endif ++ ++# endif /* ( _STLP_STATIC_TEMPLATE_DATA > 0 ) */ ++ ++// issue 118 ++ ++# ifndef _STLP_NO_BOOL ++ ++template ++_OutputIter ++num_put<_CharT, _OutputIter>::do_put(_OutputIter __s, ios_base& __f, ++ char_type __fill, bool __val) const { ++ if (!(__f.flags() & ios_base::boolalpha)) ++ return this->do_put(__s, __f, __fill, __STATIC_CAST(long,__val)); ++ ++ locale __loc = __f.getloc(); ++ // typedef numpunct<_CharT> _Punct; ++ // const _Punct& __np = use_facet<_Punct>(__loc); ++ ++ const numpunct<_CharT>& __np = *(const numpunct<_CharT>*)__f._M_numpunct_facet(); ++ ++ basic_string<_CharT> __str = __val ? __np.truename() : __np.falsename(); ++ ++ // Reuse __copy_integer_and_fill. Since internal padding makes no ++ // sense for bool, though, make sure we use something else instead. ++ // The last two argument to __copy_integer_and_fill are dummies. ++ ios_base::fmtflags __flags = __f.flags(); ++ if ((__flags & ios_base::adjustfield) == ios_base::internal) ++ __flags = (__flags & ~ios_base::adjustfield) | ios_base::right; ++ ++ return __copy_integer_and_fill(__str.c_str(), __str.size(), __s, ++ __flags, __f.width(0), __fill, ++ (_CharT) 0, (_CharT) 0); ++} ++ ++# endif ++ ++template ++_OutputIter ++num_put<_CharT, _OutputIter>::do_put(_OutputIter __s, ios_base& __f, _CharT __fill, ++ long __val) const { ++ ++ char __buf[64]; // Large enough for a base 8 64-bit integer, ++ // plus any necessary grouping. ++ ios_base::fmtflags __flags = __f.flags(); ++ char* __ibeg = __write_integer_backward((char*)__buf+64, __flags, __val); ++ return __put_integer(__ibeg, (char*)__buf+64, __s, __f, __flags, __fill); ++} ++ ++ ++template ++_OutputIter ++num_put<_CharT, _OutputIter>::do_put(_OutputIter __s, ios_base& __f, _CharT __fill, ++ unsigned long __val) const { ++ char __buf[64]; // Large enough for a base 8 64-bit integer, ++ // plus any necessary grouping. ++ ++ ios_base::fmtflags __flags = __f.flags(); ++ char* __ibeg = __write_integer_backward((char*)__buf+64, __flags, __val); ++ return __put_integer(__ibeg, (char*)__buf+64, __s, __f, __flags, __fill); ++} ++ ++template ++_OutputIter ++num_put<_CharT, _OutputIter>::do_put(_OutputIter __s, ios_base& __f, _CharT __fill, ++ double __val) const { ++ return _M_do_put_float(__s, __f, __fill, __val); ++} ++ ++#ifndef _STLP_NO_LONG_DOUBLE ++template ++_OutputIter ++num_put<_CharT, _OutputIter>::do_put(_OutputIter __s, ios_base& __f, _CharT __fill, ++ long double __val) const { ++ return _M_do_put_float(__s, __f, __fill, __val); ++} ++#endif ++ ++#ifdef _STLP_LONG_LONG ++template ++_OutputIter ++num_put<_CharT, _OutputIter>::do_put(_OutputIter __s, ios_base& __f, _CharT __fill, ++ _STLP_LONG_LONG __val) const { ++ char __buf[64]; // Large enough for a base 8 64-bit integer, ++ // plus any necessary grouping. ++ ++ ios_base::fmtflags __flags = __f.flags(); ++ char* __ibeg = __write_integer_backward((char*)__buf+64, __flags, __val); ++ return __put_integer(__ibeg, (char*)__buf+64, __s, __f, __flags, __fill); ++} ++ ++template ++_OutputIter ++num_put<_CharT, _OutputIter>::do_put(_OutputIter __s, ios_base& __f, _CharT __fill, ++ unsigned _STLP_LONG_LONG __val) const { ++ char __buf[64]; // Large enough for a base 8 64-bit integer, ++ // plus any necessary grouping. ++ ++ ios_base::fmtflags __flags = __f.flags(); ++ char* __ibeg = __write_integer_backward((char*)__buf+64, __flags, __val); ++ return __put_integer(__ibeg, (char*)__buf+64, __s, __f, __flags, __fill); ++} ++ ++#endif /* _STLP_LONG_LONG */ ++ ++ ++// lib.facet.num.put.virtuals "12 For conversion from void* the specifier is %p." ++template ++_OutputIter ++num_put<_CharT, _OutputIter>::do_put(_OutputIter __s, ios_base& __f, _CharT /*__fill*/, ++ const void* __val) const { ++ locale __loc = __f.getloc(); ++ const ctype<_CharT>& __c_type = *(const ctype<_CharT>*)__f._M_ctype_facet(); ++ ios_base::fmtflags __save_flags = __f.flags(); ++ ++ __f.setf(ios_base::hex, ios_base::basefield); ++ __f.setf(ios_base::showbase); ++ __f.setf(ios_base::internal, ios_base::adjustfield); ++ __f.width((sizeof(void*) * 2) + 2); // digits in pointer type plus '0x' prefix ++# if defined(_STLP_LONG_LONG) && !defined(__MRC__) //*ty 11/24/2001 - MrCpp can not cast from void* to long long ++ _OutputIter result = this->do_put(__s, __f, __c_type.widen('0'), __REINTERPRET_CAST(unsigned _STLP_LONG_LONG,__val)); ++# else ++ _OutputIter result = this->do_put(__s, __f, __c_type.widen('0'), __REINTERPRET_CAST(unsigned long,__val)); ++# endif ++ __f.flags(__save_flags); ++ return result; ++} ++ ++_STLP_END_NAMESPACE ++ ++# endif /* _STLP_EXPOSE_STREAM_IMPLEMENTATION */ ++ ++#endif /* _STLP_NUM_PUT_C */ ++ ++// Local Variables: ++// mode:C++ ++// End: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_num_put.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_num_put.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_num_put.h Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_num_put.h Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,186 @@ ++/* ++ * Copyright (c) 1999 ++ * Silicon Graphics Computer Systems, Inc. ++ * ++ * Copyright (c) 1999 ++ * Boris Fomitchev ++ * ++ * This material is provided "as is", with absolutely no warranty expressed ++ * or implied. Any use is at your own risk. ++ * ++ * Permission to use or copy this software for any purpose is hereby granted ++ * without fee, provided the above notices are retained on all copies. ++ * Permission to modify the code and to distribute modified code is granted, ++ * provided the above notices are retained, and a notice that the code was ++ * modified is included with the above copyright notice. ++ * ++ */ ++// WARNING: This is an internal header file, included by other C++ ++// standard library headers. You should not attempt to use this header ++// file directly. ++ ++ ++#ifndef _STLP_INTERNAL_NUM_PUT_H ++#define _STLP_INTERNAL_NUM_PUT_H ++ ++#ifndef _STLP_INTERNAL_NUMPUNCT_H ++# include ++#endif ++#ifndef _STLP_INTERNAL_CTYPE_H ++# include ++#endif ++#ifndef _STLP_INTERNAL_OSTREAMBUF_ITERATOR_H ++# include ++#endif ++ ++_STLP_BEGIN_NAMESPACE ++ ++//---------------------------------------------------------------------- ++// num_put facet ++ ++# ifdef _STLP_LIMITED_DEFAULT_TEMPLATES ++template ++# else ++template > > ++# endif ++class num_put: public locale::facet ++{ ++ friend class _Locale; ++public: ++ typedef _CharT char_type; ++ typedef _OutputIter iter_type; ++ ++ explicit num_put(size_t __refs = 0) : _BaseFacet(__refs) {} ++ ++# ifndef _STLP_NO_BOOL ++ iter_type put(iter_type __s, ios_base& __f, char_type __fill, ++ bool __val) const { ++ return do_put(__s, __f, __fill, __val); ++ } ++# endif ++ iter_type put(iter_type __s, ios_base& __f, char_type __fill, ++ long __val) const { ++ return do_put(__s, __f, __fill, __val); ++ } ++ ++ iter_type put(iter_type __s, ios_base& __f, char_type __fill, ++ unsigned long __val) const { ++ return do_put(__s, __f, __fill, __val); ++ } ++ ++#ifdef _STLP_LONG_LONG ++ iter_type put(iter_type __s, ios_base& __f, char_type __fill, ++ _STLP_LONG_LONG __val) const { ++ return do_put(__s, __f, __fill, __val); ++ } ++ ++ iter_type put(iter_type __s, ios_base& __f, char_type __fill, ++ unsigned _STLP_LONG_LONG __val) const { ++ return do_put(__s, __f, __fill, __val); ++ } ++#endif ++ ++ iter_type put(iter_type __s, ios_base& __f, char_type __fill, ++ double __val) const { ++ return do_put(__s, __f, __fill, (double)__val); ++ } ++ ++#ifndef _STLP_NO_LONG_DOUBLE ++ iter_type put(iter_type __s, ios_base& __f, char_type __fill, ++ long double __val) const { ++ return do_put(__s, __f, __fill, __val); ++ } ++# endif ++ ++ iter_type put(iter_type __s, ios_base& __f, char_type __fill, ++ const void * __val) const { ++ return do_put(__s, __f, __fill, __val); ++ } ++ ++ _STLP_STATIC_MEMBER_DECLSPEC static locale::id id; ++ ++protected: ++ ~num_put() {} ++# ifndef _STLP_NO_BOOL ++ virtual _OutputIter do_put(_OutputIter __s, ios_base& __f, _CharT __fill, bool __val) const; ++# endif ++ virtual _OutputIter do_put(_OutputIter __s, ios_base& __f, _CharT __fill, long __val) const; ++ virtual _OutputIter do_put(_OutputIter __s, ios_base& __f, _CharT __fill, unsigned long __val) const; ++ virtual _OutputIter do_put(_OutputIter __s, ios_base& __f, _CharT __fill, double __val) const; ++#ifndef _STLP_NO_LONG_DOUBLE ++ virtual _OutputIter do_put(_OutputIter __s, ios_base& __f, _CharT __fill, long double __val) const; ++#endif ++ ++#ifdef _STLP_LONG_LONG ++ virtual _OutputIter do_put(_OutputIter __s, ios_base& __f, _CharT __fill, _STLP_LONG_LONG __val) const; ++ virtual _OutputIter do_put(_OutputIter __s, ios_base& __f, _CharT __fill, ++ unsigned _STLP_LONG_LONG __val) const ; ++#endif /* _STLP_LONG_LONG */ ++ virtual _OutputIter do_put(_OutputIter __s, ios_base& __f, _CharT __fill, const void* __val) const; ++}; ++ ++# ifdef _STLP_USE_TEMPLATE_EXPORT ++_STLP_EXPORT_TEMPLATE_CLASS num_put > >; ++// _STLP_EXPORT_TEMPLATE_CLASS num_put; ++# ifndef _STLP_NO_WCHAR_T ++_STLP_EXPORT_TEMPLATE_CLASS num_put > >; ++// _STLP_EXPORT_TEMPLATE_CLASS num_put; ++# endif /* _STLP_NO_WCHAR_T */ ++# endif ++ ++# if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) ++ ++template ++char* _STLP_CALL ++__write_integer_backward(char* __buf, ios_base::fmtflags __flags, _Integer __x); ++ ++void _STLP_CALL __string_to_float(const string&, float&); ++void _STLP_CALL __string_to_float(const string&, double&); ++extern char* _STLP_CALL __write_float(char*, ios_base::fmtflags, int, double); ++# ifndef _STLP_NO_LONG_DOUBLE ++void _STLP_CALL __string_to_float(const string&, long double&); ++extern char* _STLP_CALL __write_float(char*, ios_base::fmtflags, int, long double); ++# endif ++ ++#ifndef _STLP_NO_WCHAR_T ++extern wchar_t* _STLP_CALL __convert_float_buffer(const char*, const char*, wchar_t*, const ctype&, wchar_t); ++#endif ++extern void _STLP_CALL __adjust_float_buffer(char*, char*, char); ++ ++extern char* _STLP_CALL ++__write_integer(char* buf, ios_base::fmtflags flags, long x); ++ ++extern ptrdiff_t _STLP_CALL __insert_grouping(char* first, char* last, const string&, char, char, char, int); ++# ifndef _STLP_NO_WCHAR_T ++extern ptrdiff_t _STLP_CALL __insert_grouping(wchar_t*, wchar_t*, const string&, wchar_t, wchar_t, wchar_t, int); ++# endif ++ ++# endif ++ ++# if defined (__BORLANDC__) && defined (_RTLDLL) ++inline void _Stl_loc_init_num_put() { ++ ++ num_put > >::id._M_index = 14; ++ num_put::id._M_index = 15; ++ ++# ifndef _STLP_NO_WCHAR_T ++ num_put > > ::id._M_index = 33; ++ num_put::id._M_index = 34; ++# endif ++ ++} ++ ++# endif ++ ++_STLP_END_NAMESPACE ++ ++# if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) && ! defined (_STLP_LINK_TIME_INSTANTIATION) ++# include ++# endif ++ ++#endif /* _STLP_INTERNAL_NUMERIC_FACETS_H */ ++ ++// Local Variables: ++// mode:C++ ++// End: ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_numeric.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_numeric.c +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_numeric.c Sat Feb 24 10:44:59 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_numeric.c Sun Aug 11 18:59:24 2002 +@@ -23,42 +23,14 @@ + * modified is included with the above copyright notice. + * + */ +-#ifndef __STL_NUMERIC_C +-#define __STL_NUMERIC_C ++#ifndef _STLP_NUMERIC_C ++#define _STLP_NUMERIC_C + +-# ifndef __STL_INTERNAL_FUNCTION_H +-# include +-# endif +- +-#ifndef __SGI_STL_INTERNAL_ITERATOR_BASE_H +-# include ++#ifndef _STLP_INTERNAL_NUMERIC_H ++# include + #endif + +-__STL_BEGIN_NAMESPACE +- +-template +-_OutputIterator +-__partial_sum(_InputIterator __first, _InputIterator __last, +- _OutputIterator __result, _Tp*) +-{ +- _Tp __value = *__first; +- while (++__first != __last) { +- __value = __value + *__first; +- *++__result = __value; +- } +- return ++__result; +-} +- +-template +-_OutputIterator +-partial_sum(_InputIterator __first, _InputIterator __last, +- _OutputIterator __result) +-{ +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +- if (__first == __last) return __result; +- *__result = *__first; +- return __partial_sum(__first, __last, __result, __VALUE_TYPE(__first)); +-} ++_STLP_BEGIN_NAMESPACE + + template +@@ -66,95 +38,50 @@ + __partial_sum(_InputIterator __first, _InputIterator __last, + _OutputIterator __result, _Tp*, _BinaryOperation __binary_op) + { +- _Tp __value = *__first; +- while (++__first != __last) { +- __value = __binary_op(__value, *__first); +- *++__result = __value; +- } +- return ++__result; +-} +- +-template +-_OutputIterator +-partial_sum(_InputIterator __first, _InputIterator __last, +- _OutputIterator __result, _BinaryOperation __binary_op) +-{ +- __STL_DEBUG_CHECK(__check_range(__first, __last)) ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) + if (__first == __last) return __result; + *__result = *__first; +- return __partial_sum(__first, __last, __result, __VALUE_TYPE(__first), +- __binary_op); +-} + +-template +-_OutputIterator +-__adjacent_difference(_InputIterator __first, _InputIterator __last, +- _OutputIterator __result, _Tp*) +-{ +- _Tp __value = *__first; ++ _Tp __val = *__first; + while (++__first != __last) { +- _Tp __tmp = *__first; +- *++__result = __tmp - __value; +- __value = __tmp; ++ __val = __binary_op(__val, *__first); ++ *++__result = __val; + } + return ++__result; + } + +-template +-_OutputIterator +-adjacent_difference(_InputIterator __first, +- _InputIterator __last, _OutputIterator __result) +-{ +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +- if (__first == __last) return __result; +- *__result = *__first; +- return __adjacent_difference(__first, __last, __result, +- __VALUE_TYPE(__first)); +-} +- + template + _OutputIterator + __adjacent_difference(_InputIterator __first, _InputIterator __last, + _OutputIterator __result, _Tp*, + _BinaryOperation __binary_op) { +- _Tp __value = *__first; ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) ++ if (__first == __last) return __result; ++ *__result = *__first; ++ _Tp __val = *__first; + while (++__first != __last) { + _Tp __tmp = *__first; +- *++__result = __binary_op(__tmp, __value); +- __value = __tmp; ++ *++__result = __binary_op(__tmp, __val); ++ __val = __tmp; + } + return ++__result; + } + +-template +-_OutputIterator +-adjacent_difference(_InputIterator __first, _InputIterator __last, +- _OutputIterator __result, _BinaryOperation __binary_op) +-{ +- __STL_DEBUG_CHECK(__check_range(__first, __last)) +- if (__first == __last) return __result; +- *__result = *__first; +- return __adjacent_difference(__first, __last, __result, +- __VALUE_TYPE(__first), +- __binary_op); +-} + + template + _Tp __power(_Tp __x, _Integer __n, _MonoidOperation __opr) + { +- __STL_MPWFIX_TRY //*TY 06/01/2000 - mpw forgets to call dtor on __x when exception is thrown inside this func ++ _STLP_MPWFIX_TRY + if (__n == 0) +- return identity_element(__opr); ++ return __identity_element(__opr); + else { +- // _Tp __x = __mx; + while ((__n & 1) == 0) { + __n >>= 1; + __x = __opr(__x, __x); + } +- + _Tp __result = __x; +- __STL_MPWFIX_TRY //*TY 06/01/2000 - ++ _STLP_MPWFIX_TRY + __n >>= 1; + while (__n != 0) { + __x = __opr(__x, __x); +@@ -163,26 +90,14 @@ + __n >>= 1; + } + return __result; +- __STL_MPWFIX_CATCH //*TY 06/01/2000 - ++ _STLP_MPWFIX_CATCH + } +- __STL_MPWFIX_CATCH_ACTION(__x = _Tp()) //*TY 06/01/2000 - explicitly reset __x; power() called from rope(size_t , _CharT , const allocator_type& ): +-} +- +-template +-_Tp power(_Tp __x, _Integer __n, _MonoidOperation __opr) +-{ +- return __power(__x, __n, __opr); +-} +- +-template +-_Tp power(_Tp __x, _Integer __n) +-{ +- return __power(__x, __n); ++ _STLP_MPWFIX_CATCH_ACTION(__x = _Tp()) + } + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-#endif /* __STL_NUMERIC_C */ ++#endif /* _STLP_NUMERIC_C */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_numeric.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_numeric.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_numeric.h Sat Feb 24 10:44:59 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_numeric.h Sun Aug 11 18:59:24 2002 +@@ -25,128 +25,161 @@ + */ + + +-#ifndef __SGI_STL_INTERNAL_NUMERIC_H +-#define __SGI_STL_INTERNAL_NUMERIC_H ++#ifndef _STLP_INTERNAL_NUMERIC_H ++#define _STLP_INTERNAL_NUMERIC_H + +-#ifndef __STL_CONFIG_H +-#include ++#ifndef _STLP_INTERNAL_FUNCTION_H ++# include + #endif + +-# if defined (__STL_DEBUG) && ! defined (__STLPORT_DEBUG_H) +-# include +-# endif ++#ifndef _STLP_INTERNAL_ITERATOR_BASE_H ++# include ++#endif + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + template +-__STL_INLINE_LOOP +-_Tp accumulate(_InputIterator __first, _InputIterator __last, _Tp __init) ++_STLP_INLINE_LOOP ++_Tp accumulate(_InputIterator __first, _InputIterator __last, _Tp _Init) + { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) + for ( ; __first != __last; ++__first) +- __init = __init + *__first; +- return __init; ++ _Init = _Init + *__first; ++ return _Init; + } + + template +-__STL_INLINE_LOOP +-_Tp accumulate(_InputIterator __first, _InputIterator __last, _Tp __init, ++_STLP_INLINE_LOOP ++_Tp accumulate(_InputIterator __first, _InputIterator __last, _Tp _Init, + _BinaryOperation __binary_op) + { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) + for ( ; __first != __last; ++__first) +- __init = __binary_op(__init, *__first); +- return __init; ++ _Init = __binary_op(_Init, *__first); ++ return _Init; + } + + template +-__STL_INLINE_LOOP ++_STLP_INLINE_LOOP + _Tp inner_product(_InputIterator1 __first1, _InputIterator1 __last1, +- _InputIterator2 __first2, _Tp __init) ++ _InputIterator2 __first2, _Tp _Init) + { +- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) ++ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) + for ( ; __first1 != __last1; ++__first1, ++__first2) +- __init = __init + (*__first1 * *__first2); +- return __init; ++ _Init = _Init + (*__first1 * *__first2); ++ return _Init; + } + + template +-__STL_INLINE_LOOP ++_STLP_INLINE_LOOP + _Tp inner_product(_InputIterator1 __first1, _InputIterator1 __last1, +- _InputIterator2 __first2, _Tp __init, ++ _InputIterator2 __first2, _Tp _Init, + _BinaryOperation1 __binary_op1, + _BinaryOperation2 __binary_op2) + { +- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) ++ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) + for ( ; __first1 != __last1; ++__first1, ++__first2) +- __init = __binary_op1(__init, __binary_op2(*__first1, *__first2)); +- return __init; ++ _Init = __binary_op1(_Init, __binary_op2(*__first1, *__first2)); ++ return _Init; + } + +-template ++template + _OutputIterator +-partial_sum(_InputIterator __first, _InputIterator __last, +- _OutputIterator __result); ++__partial_sum(_InputIterator __first, _InputIterator __last, ++ _OutputIterator __result, _Tp*, _BinaryOperation __binary_op); + + ++template ++inline _OutputIterator ++partial_sum(_InputIterator __first, _InputIterator __last, ++ _OutputIterator __result) { ++ return __partial_sum(__first, __last, __result, _STLP_VALUE_TYPE(__first, _InputIterator), ++ __plus(_STLP_VALUE_TYPE(__first, _InputIterator))); ++} ++ + template +-_OutputIterator ++inline _OutputIterator + partial_sum(_InputIterator __first, _InputIterator __last, +- _OutputIterator __result, _BinaryOperation __binary_op); ++ _OutputIterator __result, _BinaryOperation __binary_op) { ++ return __partial_sum(__first, __last, __result, _STLP_VALUE_TYPE(__first, _InputIterator), ++ __binary_op); ++} + +-template ++ ++template + _OutputIterator ++__adjacent_difference(_InputIterator __first, _InputIterator __last, ++ _OutputIterator __result, _Tp*, ++ _BinaryOperation __binary_op); ++ ++template ++inline _OutputIterator + adjacent_difference(_InputIterator __first, +- _InputIterator __last, _OutputIterator __result); ++ _InputIterator __last, _OutputIterator __result) { ++ return __adjacent_difference(__first, __last, __result, ++ _STLP_VALUE_TYPE(__first, _InputIterator), ++ __minus(_STLP_VALUE_TYPE(__first, _InputIterator))); ++} + + template + _OutputIterator + adjacent_difference(_InputIterator __first, _InputIterator __last, +- _OutputIterator __result, _BinaryOperation __binary_op); ++ _OutputIterator __result, _BinaryOperation __binary_op) { ++ return __adjacent_difference(__first, __last, __result, ++ _STLP_VALUE_TYPE(__first, _InputIterator), ++ __binary_op); ++} + ++template ++_Tp __power(_Tp __x, _Integer __n, _MonoidOperation __opr); ++ ++# ifndef _STLP_NO_EXTENSIONS + + // Returns __x ** __n, where __n >= 0. _Note that "multiplication" + // is required to be associative, but not necessarily commutative. + +-template +-_Tp __power(_Tp __x, _Integer __n, _MonoidOperation __opr); +- + template + inline _Tp __power(_Tp __x, _Integer __n) + { + return __power(__x, __n, multiplies<_Tp>()); + } + +-# ifndef __STL_NO_EXTENSIONS + // Alias for the internal name __power. Note that power is an extension, + // not part of the C++ standard. + template +-_Tp power(_Tp __x, _Integer __n, _MonoidOperation __opr); ++inline _Tp power(_Tp __x, _Integer __n, _MonoidOperation __opr) { ++ return __power(__x, __n, __opr); ++} ++ + + template +-_Tp power(_Tp __x, _Integer __n); ++inline _Tp power(_Tp __x, _Integer __n) { ++ return __power(__x, __n, multiplies<_Tp>()); ++} + + // iota is not part of the C++ standard. It is an extension. + + template +-__STL_INLINE_LOOP ++_STLP_INLINE_LOOP + void +-iota(_ForwardIterator __first, _ForwardIterator __last, _Tp __value) ++iota(_ForwardIterator __first, _ForwardIterator __last, _Tp __val) + { +- __STL_DEBUG_CHECK(__check_range(__first, __last)) ++ _STLP_DEBUG_CHECK(__check_range(__first, __last)) + while (__first != __last) +- *__first++ = __value++; ++ *__first++ = __val++; + } + # endif + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-# if !defined (__STL_LINK_TIME_INSTANTIATION) ++# if !defined (_STLP_LINK_TIME_INSTANTIATION) + # include + # endif + +-#endif /* __SGI_STL_INTERNAL_NUMERIC_H */ ++#endif /* _STLP_INTERNAL_NUMERIC_H */ + + // Local Variables: + // mode:C++ +Only in tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl: _numeric_facets.c +Only in tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl: _numeric_facets.h +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_numpunct.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_numpunct.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_numpunct.h Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_numpunct.h Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,170 @@ ++/* ++ * Copyright (c) 1999 ++ * Silicon Graphics Computer Systems, Inc. ++ * ++ * Copyright (c) 1999 ++ * Boris Fomitchev ++ * ++ * This material is provided "as is", with absolutely no warranty expressed ++ * or implied. Any use is at your own risk. ++ * ++ * Permission to use or copy this software for any purpose is hereby granted ++ * without fee, provided the above notices are retained on all copies. ++ * Permission to modify the code and to distribute modified code is granted, ++ * provided the above notices are retained, and a notice that the code was ++ * modified is included with the above copyright notice. ++ * ++ */ ++// WARNING: This is an internal header file, included by other C++ ++// standard library headers. You should not attempt to use this header ++// file directly. ++ ++ ++#ifndef _STLP_INTERNAL_NUMPUNCT_H ++#define _STLP_INTERNAL_NUMPUNCT_H ++ ++#ifndef _STLP_IOS_BASE_H ++# include ++#endif ++ ++# ifndef _STLP_C_LOCALE_H ++# include ++# endif ++ ++#ifndef _STLP_STRING_H ++# include ++#endif ++ ++_STLP_BEGIN_NAMESPACE ++ ++//---------------------------------------------------------------------- ++// numpunct facets ++ ++template class numpunct {}; ++template class numpunct_byname {}; ++template class num_get; ++ ++_STLP_TEMPLATE_NULL ++class _STLP_CLASS_DECLSPEC numpunct : public locale::facet ++{ ++ friend class _Locale; ++# ifndef _STLP_NO_FRIEND_TEMPLATES ++ template friend class num_get; ++# endif ++public: ++ typedef char char_type; ++ typedef string string_type; ++ ++ explicit numpunct(size_t __refs = 0) : _BaseFacet(__refs) {} ++ ++ char decimal_point() const { return do_decimal_point(); } ++ char thousands_sep() const { return do_thousands_sep(); } ++ string grouping() const { return do_grouping(); } ++ string truename() const { return do_truename(); } ++ string falsename() const { return do_falsename(); } ++ ++ _STLP_STATIC_MEMBER_DECLSPEC static locale::id id; ++ ++# ifndef _STLP_NO_FRIEND_TEMPLATES ++protected: ++# endif ++ ~numpunct(); ++ ++ _STLP_STATIC_MEMBER_DECLSPEC static string _M_truename; ++ _STLP_STATIC_MEMBER_DECLSPEC static string _M_falsename; ++ _STLP_STATIC_MEMBER_DECLSPEC static string _M_grouping; ++ ++ virtual char do_decimal_point() const; ++ virtual char do_thousands_sep() const; ++ virtual string do_grouping() const; ++ virtual string do_truename() const; ++ virtual string do_falsename() const; ++}; ++ ++# if ! defined (_STLP_NO_WCHAR_T) ++ ++_STLP_TEMPLATE_NULL ++class _STLP_CLASS_DECLSPEC numpunct : public locale::facet ++{ ++ friend class _Locale; ++public: ++ typedef wchar_t char_type; ++ typedef wstring string_type; ++ ++ explicit numpunct(size_t __refs = 0) : _BaseFacet(__refs) {} ++ ++ wchar_t decimal_point() const { return do_decimal_point(); } ++ wchar_t thousands_sep() const { return do_thousands_sep(); } ++ string grouping() const { return do_grouping(); } ++ wstring truename() const { return do_truename(); } ++ wstring falsename() const { return do_falsename(); } ++ ++ _STLP_STATIC_MEMBER_DECLSPEC static locale::id id; ++ ++protected: ++ _STLP_STATIC_MEMBER_DECLSPEC static wstring _M_truename; ++ _STLP_STATIC_MEMBER_DECLSPEC static wstring _M_falsename; ++ _STLP_STATIC_MEMBER_DECLSPEC static string _M_grouping; ++ ++ ~numpunct(); ++ ++ virtual wchar_t do_decimal_point() const; ++ virtual wchar_t do_thousands_sep() const; ++ virtual string do_grouping() const; ++ virtual wstring do_truename() const; ++ virtual wstring do_falsename() const; ++}; ++ ++# endif /* WCHAR_T */ ++ ++_STLP_TEMPLATE_NULL ++class _STLP_CLASS_DECLSPEC numpunct_byname : public numpunct { ++public: ++ typedef char char_type; ++ typedef string string_type; ++ ++ explicit numpunct_byname(const char* __name, size_t __refs = 0); ++ ++protected: ++ ++ ~numpunct_byname(); ++ ++ virtual char do_decimal_point() const; ++ virtual char do_thousands_sep() const; ++ virtual string do_grouping() const; ++ ++private: ++ _Locale_numeric* _M_numeric; ++}; ++ ++# ifndef _STLP_NO_WCHAR_T ++_STLP_TEMPLATE_NULL ++class _STLP_CLASS_DECLSPEC numpunct_byname: public numpunct { ++public: ++ typedef wchar_t char_type; ++ typedef wstring string_type; ++ ++ explicit numpunct_byname(const char* __name, size_t __refs = 0); ++ ++protected: ++ ++ ~numpunct_byname(); ++ ++ virtual wchar_t do_decimal_point() const; ++ virtual wchar_t do_thousands_sep() const; ++ virtual string do_grouping() const; ++ ++private: ++ _Locale_numeric* _M_numeric; ++}; ++ ++# endif /* WCHAR_T */ ++ ++_STLP_END_NAMESPACE ++ ++#endif /* _STLP_NUMPUNCT_H */ ++ ++// Local Variables: ++// mode:C++ ++// End: ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_ostream.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_ostream.c +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_ostream.c Sat Feb 24 10:45:01 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_ostream.c Sun Aug 11 18:59:24 2002 +@@ -15,12 +15,36 @@ + * modified is included with the above copyright notice. + * + */ +-#ifndef __STL_OSTREAM_C +-#define __STL_OSTREAM_C ++#ifndef _STLP_OSTREAM_C ++#define _STLP_OSTREAM_C + +-#include // For num_put<> + +-__STL_BEGIN_NAMESPACE ++#ifndef _STLP_INTERNAL_OSTREAM_H ++# include ++#endif ++ ++#if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) ++ ++#if !defined (_STLP_INTERNAL_NUM_PUT_H) ++# include // For basic_streambuf and iterators ++#endif ++ ++_STLP_BEGIN_NAMESPACE ++ ++// Helper functions for istream<>::sentry constructor. ++template ++bool ++_M_init(basic_ostream<_CharT, _Traits>& __str) { ++ if (__str.good()) { ++ // boris : check if this is needed ! ++ if (!__str.rdbuf()) ++ __str.setstate(ios_base::badbit); ++ if (__str.tie()) ++ __str.tie()->flush(); ++ return __str.good(); ++ } else ++ return false; ++} + + //---------------------------------------------------------------------- + // Definitions of non-inline member functions. +@@ -76,23 +100,23 @@ + const ptrdiff_t __avail = __from->egptr() - __from->gptr(); + + streamsize __nwritten; +- __STL_TRY { ++ _STLP_TRY { + __nwritten = __to->sputn(__from->gptr(), __avail); +- __from->gbump(__nwritten); ++ __from->gbump((int)__nwritten); + } +- __STL_CATCH_ALL { ++ _STLP_CATCH_ALL { + this->_M_handle_exception(ios_base::badbit); + return __any_inserted; + } + + if (__nwritten == __avail) { +- __STL_TRY { ++ _STLP_TRY { + if (this->_S_eof(__from->sgetc())) + return true; + else + __any_inserted = true; + } +- __STL_CATCH_ALL { ++ _STLP_CATCH_ALL { + this->_M_handle_exception(ios_base::failbit); + return false; + } +@@ -119,10 +143,10 @@ + + while (true) { + int_type __c; +- __STL_TRY { ++ _STLP_TRY { + __c = __from->sbumpc(); + } +- __STL_CATCH_ALL { ++ _STLP_CATCH_ALL { + this->_M_handle_exception(ios_base::failbit); + return __any_inserted; + } +@@ -132,19 +156,19 @@ + + else { + int_type __tmp; +- __STL_TRY { ++ _STLP_TRY { + __tmp = __to->sputc(__c); + } +- __STL_CATCH_ALL { ++ _STLP_CATCH_ALL { + this->_M_handle_exception(ios_base::badbit); + return __any_inserted; + } + + if (this->_S_eof(__tmp)) { +- __STL_TRY { ++ _STLP_TRY { + /* __tmp = */ __from->sputbackc(__c); + } +- __STL_CATCH_ALL { ++ _STLP_CATCH_ALL { + this->_M_handle_exception(ios_base::badbit); + return __any_inserted; + } +@@ -158,7 +182,7 @@ + // Helper function for numeric output. + + template +-basic_ostream<_CharT, _Traits>& __STL_CALL ++basic_ostream<_CharT, _Traits>& _STLP_CALL + _M_put_num(basic_ostream<_CharT, _Traits>& __os, _Number __x) + { + typedef typename basic_ostream<_CharT, _Traits>::sentry _Sentry; +@@ -166,20 +190,14 @@ + bool __failed = true; + + if (__sentry) { +- +- __STL_TRY { ++ _STLP_TRY { + typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> > _NumPut; +- __failed = (use_facet< +- _NumPut +- >( +- __os.getloc()) +- ).put( +- ostreambuf_iterator<_CharT, _Traits>(__os), +- __os, __os.fill(), +- __x).failed(); +- ++ __failed = (use_facet<_NumPut>(__os.getloc())).put( ++ ostreambuf_iterator<_CharT, _Traits>(__os.rdbuf()), ++ __os, __os.fill(), ++ __x).failed(); + } +- __STL_CATCH_ALL { ++ _STLP_CATCH_ALL { + __os._M_handle_exception(ios_base::badbit); + } + } +@@ -188,16 +206,29 @@ + return __os; + } + ++# if defined (_STLP_USE_TEMPLATE_EXPORT) && defined (__BUILDING_STLPORT) ++_STLP_EXPORT_TEMPLATE _STLP_DECLSPEC basic_ostream >& _STLP_CALL ++_M_put_num(basic_ostream >&, unsigned long); ++_STLP_EXPORT_TEMPLATE _STLP_DECLSPEC basic_ostream >& _STLP_CALL ++_M_put_num(basic_ostream >&, long); ++# if defined (_STLP_LONG_LONG) ++_STLP_EXPORT_TEMPLATE _STLP_DECLSPEC basic_ostream >& _STLP_CALL ++_M_put_num(basic_ostream >&, unsigned _STLP_LONG_LONG); ++_STLP_EXPORT_TEMPLATE _STLP_DECLSPEC basic_ostream >& _STLP_CALL ++_M_put_num(basic_ostream >&, _STLP_LONG_LONG ); ++# endif ++# endif ++ + template + void basic_ostream<_CharT, _Traits>::_M_put_char(_CharT __c) + { + sentry __sentry(*this); + if (__sentry) { + bool __failed = true; +- __STL_TRY { ++ _STLP_TRY { + streamsize __npad = this->width() > 0 ? this->width() - 1 : 0; +- +- if (__npad <= 1) ++ // if (__npad <= 1) ++ if (__npad == 0) + __failed = this->_S_eof(this->rdbuf()->sputc(__c)); + else if ((this->flags() & ios_base::adjustfield) == ios_base::left) { + __failed = this->_S_eof(this->rdbuf()->sputc(__c)); +@@ -211,7 +242,7 @@ + + this->width(0); + } +- __STL_CATCH_ALL { ++ _STLP_CATCH_ALL { + this->_M_handle_exception(ios_base::badbit); + } + +@@ -229,7 +260,7 @@ + streamsize __n = _Traits::length(__s); + streamsize __npad = this->width() > __n ? this->width() - __n : 0; + +- __STL_TRY { ++ _STLP_TRY { + if (__npad == 0) + __failed = this->rdbuf()->sputn(__s, __n) != __n; + else if ((this->flags() & ios_base::adjustfield) == ios_base::left) { +@@ -244,7 +275,7 @@ + + this->width(0); + } +- __STL_CATCH_ALL { ++ _STLP_CATCH_ALL { + this->_M_handle_exception(ios_base::badbit); + } + +@@ -262,7 +293,7 @@ + streamsize __n = char_traits::length(__s); + streamsize __npad = this->width() > __n ? this->width() - __n : 0; + +- __STL_TRY { ++ _STLP_TRY { + if (__npad == 0) + __failed = !this->_M_put_widen_aux(__s, __n); + else if ((this->flags() & ios_base::adjustfield) == ios_base::left) { +@@ -277,7 +308,7 @@ + + this->width(0); + } +- __STL_CATCH_ALL { ++ _STLP_CATCH_ALL { + this->_M_handle_exception(ios_base::badbit); + } + +@@ -307,10 +338,10 @@ + bool __failed = true; + + if (__sentry) { +- __STL_TRY { ++ _STLP_TRY { + __failed = this->_S_eof(this->rdbuf()->sputc(__c)); + } +- __STL_CATCH_ALL { ++ _STLP_CATCH_ALL { + this->_M_handle_exception(ios_base::badbit); + } + } +@@ -330,10 +361,10 @@ + bool __failed = true; + + if (__sentry) { +- __STL_TRY { ++ _STLP_TRY { + __failed = this->rdbuf()->sputn(__s, __n) != __n; + } +- __STL_CATCH_ALL { ++ _STLP_CATCH_ALL { + this->_M_handle_exception(ios_base::badbit); + } + } +@@ -344,8 +375,8 @@ + return *this; + } + ++_STLP_END_NAMESPACE + +-__STL_END_NAMESPACE +- ++#endif /* defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) */ + +-#endif /* __STL_OSTREAM_C */ ++#endif /* _STLP_OSTREAM_C */ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_ostream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_ostream.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_ostream.h Sat Feb 24 10:45:01 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_ostream.h Sun Aug 11 18:59:24 2002 +@@ -17,24 +17,32 @@ + */ + + +-#ifndef __SGI_STL_OSTREAM_H +-#define __SGI_STL_OSTREAM_H ++#ifndef _STLP_INTERNAL_OSTREAM_H ++#define _STLP_INTERNAL_OSTREAM_H + +-#include // For basic_ios<>. Includes . +-#include // Needed for class numeric_limits<>. +-#include // For basic_streambuf. ++#ifndef _STLP_INTERNAL_IOS_H ++# include // For basic_ios<>. Includes . ++#endif ++ ++#ifndef _STLP_INTERNAL_OSTREAMBUF_ITERATOR_H ++# include ++#endif + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + template +-basic_ostream<_CharT, _Traits>& __STL_CALL ++basic_ostream<_CharT, _Traits>& _STLP_CALL + _M_put_num(basic_ostream<_CharT, _Traits>& __os, _Number __x); + +-# if defined (__STL_USE_TEMPLATE_EXPORT) ++# if defined (_STLP_USE_TEMPLATE_EXPORT) + template + class _Osentry; + # endif + ++template ++bool ++_M_init(basic_ostream<_CharT, _Traits>& __str); ++ + //---------------------------------------------------------------------- + // class basic_ostream<> + +@@ -56,9 +64,9 @@ + ~basic_ostream(); + + public: // Hooks for manipulators. +- typedef basic_ios<_CharT, _Traits>& (__STL_CALL *__ios_fn)(basic_ios<_CharT, _Traits>&); +- typedef ios_base& (__STL_CALL *__ios_base_fn)(ios_base&); +- typedef _Self& (__STL_CALL *__ostream_fn)(_Self&); ++ typedef basic_ios<_CharT, _Traits>& (_STLP_CALL *__ios_fn)(basic_ios<_CharT, _Traits>&); ++ typedef ios_base& (_STLP_CALL *__ios_base_fn)(ios_base&); ++ typedef _Self& (_STLP_CALL *__ostream_fn)(_Self&); + _Self& operator<< (__ostream_fn __f) { return __f(*this); } + _Self & operator<< (__ios_base_fn __f) { __f(*this); return *this; } + _Self& operator<< (__ios_fn __ff) { __ff(*this); return *this; } +@@ -83,39 +91,31 @@ + public: // Formatted output. + // Formatted output from a streambuf. + _Self& operator<<(basic_streambuf<_CharT, _Traits>* __buf); +- ++# ifndef _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER ++ // this is needed for compiling with option char = unsigned ++ _Self& operator<<(unsigned char __x) { _M_put_char(__x); return *this; } ++# endif + _Self& operator<<(short __x) { return _M_put_num(*this, __STATIC_CAST(long,__x)); } + _Self& operator<<(unsigned short __x) { return _M_put_num(*this, __STATIC_CAST(unsigned long,__x)); } + _Self& operator<<(int __x) { return _M_put_num(*this, __STATIC_CAST(long,__x)); } + _Self& operator<<(unsigned int __x) { return _M_put_num(*this, __STATIC_CAST(unsigned long,__x)); } + _Self& operator<<(long __x) { return _M_put_num(*this, __x); } + _Self& operator<<(unsigned long __x) { return _M_put_num(*this, __x); } +-#ifdef __STL_LONG_LONG +- _Self& operator<< (long long __x) { return _M_put_num(*this, __x); } +- _Self& operator<< (unsigned long long __x) { return _M_put_num(*this, __x); } ++#ifdef _STLP_LONG_LONG ++ _Self& operator<< (_STLP_LONG_LONG __x) { return _M_put_num(*this, __x); } ++ _Self& operator<< (unsigned _STLP_LONG_LONG __x) { return _M_put_num(*this, __x); } + #endif + _Self& operator<<(float __x) + { return _M_put_num(*this, __STATIC_CAST(double,__x)); } + _Self& operator<<(double __x) { return _M_put_num(*this, __x); } ++# ifndef _STLP_NO_LONG_DOUBLE + _Self& operator<<(long double __x) { return _M_put_num(*this, __x); } ++# endif + _Self& operator<<(const void* __x) { return _M_put_num(*this, __x); } +-# ifndef __STL_NO_BOOL ++# ifndef _STLP_NO_BOOL + _Self& operator<<(bool __x) { return _M_put_num(*this, __x); } + # endif + +-#if (defined(__MRC__)||defined(__SC__)) //*TY 03/05/2000 - added workaround for mpw compilers;they have difficulty finding appropriate operator if defined as member and non-member functions +-basic_ostream<_CharT, _Traits>& +-operator<<( const _CharT* __s) { +- _M_put_nowiden(__s); +- return *this; +-} +-basic_ostream<_CharT, _Traits>& +-operator<<(_CharT __c) { +- _M_put_char(__c); +- return *this; +-} +-#endif //*TY 03/05/2000 - +- + public: // Buffer positioning and manipulation. + _Self& flush() { + if (this->rdbuf()) +@@ -142,7 +142,7 @@ + return *this; + } + +-#if defined (__STL_USE_TEMPLATE_EXPORT) ++#if defined (_STLP_USE_TEMPLATE_EXPORT) + // If we are using DLL specs, we have not to use inner classes + // end class declaration here + typedef _Osentry<_CharT, _Traits> sentry; +@@ -157,25 +157,18 @@ + # endif + private: + basic_ostream<_CharT, _Traits>& _M_str; +- basic_streambuf<_CharT, _Traits>* _M_buf; ++ // basic_streambuf<_CharT, _Traits>* _M_buf; + bool _M_ok; + public: + explicit sentry(basic_ostream<_CharT, _Traits>& __str) +- : _M_str(__str), _M_buf(__str.rdbuf()), _M_ok(false) ++ : _M_str(__str), /* _M_buf(__str.rdbuf()), */ _M_ok(_M_init(__str)) + { +- if (_M_str.good()) { +- if (!_M_buf) +- _M_str.setstate(ios_base::badbit); +- if (_M_str.tie()) +- _M_str.tie()->flush(); +- _M_ok = _M_str.good(); +- } + } + + ~sentry() { + if (_M_str.flags() & ios_base::unitbuf) +-# ifndef __STL_INCOMPLETE_EXCEPTION_HEADER +- if (!__STL_VENDOR_EXCEPT_STD::uncaught_exception()) ++# ifndef _STLP_INCOMPLETE_EXCEPTION_HEADER ++ if (!_STLP_VENDOR_EXCEPT_STD::uncaught_exception()) + # endif + _M_str.flush(); + } +@@ -185,91 +178,131 @@ + sentry(const _Self& __s) : _M_str (__s._M_str) {}; + void operator=(const _Self&) {}; + }; +-# if defined (__STL_USE_TEMPLATE_EXPORT) ++# if defined (_STLP_USE_TEMPLATE_EXPORT) + # undef sentry + # else +- // close basic_istream class definition here ++ // close basic_ostream class definition here + }; + # endif + +-# if defined (__STL_USE_TEMPLATE_EXPORT) +-__STL_EXPORT_TEMPLATE_CLASS basic_ostream >; +-__STL_EXPORT_TEMPLATE_CLASS _Osentry >; +-# if !defined (__STL_NO_WCHAR_T) +-__STL_EXPORT_TEMPLATE_CLASS basic_ostream >; +-__STL_EXPORT_TEMPLATE_CLASS _Osentry >; ++# if defined (_STLP_USE_TEMPLATE_EXPORT) ++_STLP_EXPORT_TEMPLATE_CLASS basic_ostream >; ++_STLP_EXPORT_TEMPLATE_CLASS _Osentry >; ++# if !defined (_STLP_NO_WCHAR_T) ++_STLP_EXPORT_TEMPLATE_CLASS basic_ostream >; ++_STLP_EXPORT_TEMPLATE_CLASS _Osentry >; + # endif +-# endif /* __STL_USE_TEMPLATE_EXPORT */ ++# endif /* _STLP_USE_TEMPLATE_EXPORT */ ++ ++template ++inline basic_streambuf<_CharT, _Traits>* _STLP_CALL ++_M_get_ostreambuf(basic_ostream<_CharT, _Traits>& __St) ++{ ++ return __St.rdbuf(); ++} + + // Non-member functions. +-# if !(defined(__MRC__)||defined(__SC__)) //*TY 03/05/2000 - added workaround for mpw compilers;they have dif ++ + template +-inline basic_ostream<_CharT, _Traits>& __STL_CALL ++inline basic_ostream<_CharT, _Traits>& _STLP_CALL + operator<<(basic_ostream<_CharT, _Traits>& __os, _CharT __c) { + __os._M_put_char(__c); + return __os; + } +-# endif +-# ifndef __STL_NO_FUNCTION_TMPL_PARTIAL_ORDER ++ ++template ++inline basic_ostream<_CharT, _Traits>& _STLP_CALL ++operator<<(basic_ostream<_CharT, _Traits>& __os, const _CharT* __s) { ++ __os._M_put_nowiden(__s); ++ return __os; ++} ++ ++# ifdef _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER ++// some specializations ++ ++inline basic_ostream >& _STLP_CALL ++operator<<(basic_ostream >& __os, char __c) { ++ __os._M_put_char(__c); ++ return __os; ++} ++ ++inline basic_ostream >& _STLP_CALL ++operator<<(basic_ostream >& __os, signed char __c) { ++ __os._M_put_char(__c); ++ return __os; ++} ++ ++inline basic_ostream >& _STLP_CALL ++operator<<(basic_ostream >& __os, unsigned char __c) { ++ __os._M_put_char(__c); ++ return __os; ++} ++ ++inline basic_ostream >& _STLP_CALL ++operator<<(basic_ostream >& __os, const char* __s) { ++ __os._M_put_nowiden(__s); ++ return __os; ++} ++ ++inline basic_ostream >& _STLP_CALL ++operator<<(basic_ostream >& __os, const signed char* __s) { ++ __os._M_put_nowiden(__REINTERPRET_CAST(const char*,__s)); ++ return __os; ++} ++ ++inline basic_ostream >& ++operator<<(basic_ostream >& __os, const unsigned char* __s) { ++ __os._M_put_nowiden(__REINTERPRET_CAST(const char*,__s)); ++ return __os; ++} ++ ++# else + + // also for compilers who might use that + template +-inline basic_ostream<_CharT, _Traits>& __STL_CALL ++inline basic_ostream<_CharT, _Traits>& _STLP_CALL + operator<<(basic_ostream<_CharT, _Traits>& __os, char __c) { + __os._M_put_char(__os.widen(__c)); + return __os; + } + + template +-inline basic_ostream& __STL_CALL ++inline basic_ostream& _STLP_CALL + operator<<(basic_ostream& __os, char __c) { + __os._M_put_char(__c); + return __os; + } + + template +-inline basic_ostream& __STL_CALL ++inline basic_ostream& _STLP_CALL + operator<<(basic_ostream& __os, signed char __c) { + __os._M_put_char(__c); + return __os; + } + + template +-inline basic_ostream& __STL_CALL ++inline basic_ostream& _STLP_CALL + operator<<(basic_ostream& __os, unsigned char __c) { + __os._M_put_char(__c); + return __os; + } + +-# endif /* __STL_NO_FUNCTION_TMPL_PARTIAL_ORDER */ +- +-#if !(defined(__MRC__)||defined(__SC__)) +-template +-inline basic_ostream<_CharT, _Traits>& __STL_CALL +-operator<<(basic_ostream<_CharT, _Traits>& __os, const _CharT* __s) { +- __os._M_put_nowiden(__s); +- return __os; +-} +-#endif +- +-# ifndef __STL_NO_FUNCTION_TMPL_PARTIAL_ORDER +- + template +-inline basic_ostream<_CharT, _Traits>& __STL_CALL ++inline basic_ostream<_CharT, _Traits>& _STLP_CALL + operator<<(basic_ostream<_CharT, _Traits>& __os, const char* __s) { + __os._M_put_widen(__s); + return __os; + } + + template +-inline basic_ostream& __STL_CALL ++inline basic_ostream& _STLP_CALL + operator<<(basic_ostream& __os, const char* __s) { + __os._M_put_nowiden(__s); + return __os; + } + + template +-inline basic_ostream& __STL_CALL ++inline basic_ostream& _STLP_CALL + operator<<(basic_ostream& __os, const signed char* __s) { + __os._M_put_nowiden(__REINTERPRET_CAST(const char*,__s)); + return __os; +@@ -281,13 +314,13 @@ + __os._M_put_nowiden(__REINTERPRET_CAST(const char*,__s)); + return __os; + } +-# endif /* __STL_NO_FUNCTION_TMPL_PARTIAL_ORDER */ ++# endif /* _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER */ + + //---------------------------------------------------------------------- + // basic_ostream manipulators. + + template +-inline basic_ostream<_CharT, _Traits>& __STL_CALL ++inline basic_ostream<_CharT, _Traits>& _STLP_CALL + endl(basic_ostream<_CharT, _Traits>& __os) { + __os.put(__os.widen('\n')); + __os.flush(); +@@ -295,28 +328,28 @@ + } + + template +-inline basic_ostream<_CharT, _Traits>& __STL_CALL ++inline basic_ostream<_CharT, _Traits>& _STLP_CALL + ends(basic_ostream<_CharT, _Traits>& __os) { +- __os.put(__STL_DEFAULT_CONSTRUCTED(_CharT)); ++ __os.put(_STLP_DEFAULT_CONSTRUCTED(_CharT)); + return __os; + } + + template +-inline basic_ostream<_CharT, _Traits>& __STL_CALL ++inline basic_ostream<_CharT, _Traits>& _STLP_CALL + flush(basic_ostream<_CharT, _Traits>& __os) { + __os.flush(); + return __os; + } + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-# undef __STL_MANIP_INLINE ++# undef _STLP_MANIP_INLINE + +-# if !defined (__STL_LINK_TIME_INSTANTIATION) ++#if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) && !defined (_STLP_LINK_TIME_INSTANTIATION) + # include + # endif + +-#endif /* __SGI_STL_OSTREAM_H */ ++#endif /* _STLP_INTERNAL_OSTREAM_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_ostreambuf_iterator.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_ostreambuf_iterator.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_ostreambuf_iterator.h Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_ostreambuf_iterator.h Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,97 @@ ++/* ++ * Copyright (c) 1999 ++ * Silicon Graphics Computer Systems, Inc. ++ * ++ * Copyright (c) 1999 ++ * Boris Fomitchev ++ * ++ * This material is provided "as is", with absolutely no warranty expressed ++ * or implied. Any use is at your own risk. ++ * ++ * Permission to use or copy this software for any purpose is hereby granted ++ * without fee, provided the above notices are retained on all copies. ++ * Permission to modify the code and to distribute modified code is granted, ++ * provided the above notices are retained, and a notice that the code was ++ * modified is included with the above copyright notice. ++ * ++ */ ++// WARNING: This is an internal header file, included by other C++ ++// standard library headers. You should not attempt to use this header ++// file directly. ++ ++ ++#ifndef _STLP_INTERNAL_OSTREAMBUF_ITERATOR_H ++#define _STLP_INTERNAL_OSTREAMBUF_ITERATOR_H ++ ++#ifndef _STLP_INTERNAL_STREAMBUF ++# include ++#endif ++ ++_STLP_BEGIN_NAMESPACE ++ ++template ++extern basic_streambuf<_CharT, _Traits>* _STLP_CALL _M_get_ostreambuf(basic_ostream<_CharT, _Traits>& ) ; ++ ++// The default template argument is declared in iosfwd ++template ++class ostreambuf_iterator ++{ ++public: ++ typedef _CharT char_type; ++ typedef _Traits traits_type; ++ typedef typename _Traits::int_type int_type; ++ typedef basic_streambuf<_CharT, _Traits> streambuf_type; ++ typedef basic_ostream<_CharT, _Traits> ostream_type; ++ ++ typedef output_iterator_tag iterator_category; ++ typedef void value_type; ++ typedef void difference_type; ++ typedef void pointer; ++ typedef void reference; ++ ++public: ++ ostreambuf_iterator(streambuf_type* __buf) _STLP_NOTHROW : _M_buf(__buf), _M_ok(__buf!=0) {} ++ // ostreambuf_iterator(ostream_type& __o) _STLP_NOTHROW : _M_buf(_M_get_ostreambuf(__o)), _M_ok(_M_buf != 0) {} ++ inline ostreambuf_iterator(ostream_type& __o) _STLP_NOTHROW; ++ ++ ostreambuf_iterator<_CharT, _Traits>& operator=(char_type __c) { ++ _M_ok = _M_ok && !traits_type::eq_int_type(_M_buf->sputc(__c), ++ traits_type::eof()); ++ return *this; ++ } ++ ++ ostreambuf_iterator<_CharT, _Traits>& operator*() { return *this; } ++ ostreambuf_iterator<_CharT, _Traits>& operator++() { return *this; } ++ ostreambuf_iterator<_CharT, _Traits>& operator++(int) { return *this; } ++ ++ bool failed() const { return !_M_ok; } ++ ++private: ++ streambuf_type* _M_buf; ++ bool _M_ok; ++}; ++ ++template ++inline ostreambuf_iterator<_CharT, _Traits>::ostreambuf_iterator(basic_ostream<_CharT, _Traits>& __o) _STLP_NOTHROW : _M_buf(_M_get_ostreambuf(__o)), _M_ok(_M_buf != 0) {} ++ ++# if defined (_STLP_USE_TEMPLATE_EXPORT) ++_STLP_EXPORT_TEMPLATE_CLASS ostreambuf_iterator >; ++# if defined (INSTANTIATE_WIDE_STREAMS) ++_STLP_EXPORT_TEMPLATE_CLASS ostreambuf_iterator >; ++# endif ++# endif /* _STLP_USE_TEMPLATE_EXPORT */ ++ ++# ifdef _STLP_USE_OLD_HP_ITERATOR_QUERIES ++template ++inline output_iterator_tag _STLP_CALL ++iterator_category(const ostreambuf_iterator<_CharT, _Traits>&) { return output_iterator_tag(); } ++# endif ++ ++_STLP_END_NAMESPACE ++ ++#endif /* _STLP_INTERNAL_OSTREAMBUF_ITERATOR_H */ ++ ++// Local Variables: ++// mode:C++ ++// End: ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_pair.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_pair.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_pair.h Sat Feb 24 10:45:01 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_pair.h Sun Aug 11 18:59:24 2002 +@@ -28,11 +28,10 @@ + * You should not attempt to use it directly. + */ + +-#ifndef __SGI_STL_INTERNAL_PAIR_H +-#define __SGI_STL_INTERNAL_PAIR_H ++#ifndef _STLP_INTERNAL_PAIR_H ++#define _STLP_INTERNAL_PAIR_H + +- +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + template + struct pair { +@@ -41,14 +40,14 @@ + + _T1 first; + _T2 second; +-# if defined (__STL_CONST_CONSTRUCTOR_BUG) ++# if defined (_STLP_CONST_CONSTRUCTOR_BUG) + pair() {} + # else + pair() : first(_T1()), second(_T2()) {} + # endif + pair(const _T1& __a, const _T2& __b) : first(__a), second(__b) {} + +-#if defined (__STL_MEMBER_TEMPLATES) && !(defined (__STL_MSVC) && (__STL_MSVC < 1200)) ++#if defined (_STLP_MEMBER_TEMPLATES) && !(defined (_STLP_MSVC) && (_STLP_MSVC < 1200)) + template + pair(const pair<_U1, _U2>& __p) : first(__p.first), second(__p.second) {} + +@@ -58,44 +57,44 @@ + }; + + template +-inline bool __STL_CALL operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) ++inline bool _STLP_CALL operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) + { + return __x.first == __y.first && __x.second == __y.second; + } + + template +-inline bool __STL_CALL operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) ++inline bool _STLP_CALL operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) + { + return __x.first < __y.first || + (!(__y.first < __x.first) && __x.second < __y.second); + } + +-#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE ++#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE + + template +-inline bool __STL_CALL operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { ++inline bool _STLP_CALL operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { + return !(__x == __y); + } + + template +-inline bool __STL_CALL operator>(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { ++inline bool _STLP_CALL operator>(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { + return __y < __x; + } + + template +-inline bool __STL_CALL operator<=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { ++inline bool _STLP_CALL operator<=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { + return !(__y < __x); + } + + template +-inline bool __STL_CALL operator>=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { ++inline bool _STLP_CALL operator>=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { + return !(__x < __y); + } + +-#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ ++#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ + + +-#if defined(__STL_FUNCTION_TMPL_PARTIAL_ORDER) && ! defined (__STL_NO_EXTENSIONS) ++#if defined(_STLP_FUNCTION_TMPL_PARTIAL_ORDER) && ! defined (_STLP_NO_EXTENSIONS) && ! defined (__BORLANDC__) + template + inline pair<_T1, _T2 const*> make_pair(_T1 const& __x, + _T2 const (&__y)[_Sz]) +@@ -120,15 +119,42 @@ + #endif + + template +-inline pair<_T1, _T2> __STL_CALL make_pair(const _T1& __x, const _T2& __y) ++inline pair<_T1, _T2> _STLP_CALL make_pair(const _T1& __x, const _T2& __y) + { + return pair<_T1, _T2>(__x, __y); + } + + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE ++ ++# if defined (_STLP_USE_NAMESPACES) || ! defined (_STLP_USE_SEPARATE_RELOPS_NAMESPACE) ++_STLP_BEGIN_RELOPS_NAMESPACE ++ ++template ++inline bool _STLP_CALL operator!=(const _Tp& __x, const _Tp& __y) { ++ return !(__x == __y); ++} ++ ++template ++inline bool _STLP_CALL operator>(const _Tp& __x, const _Tp& __y) { ++ return __y < __x; ++} ++ ++template ++inline bool _STLP_CALL operator<=(const _Tp& __x, const _Tp& __y) { ++ return !(__y < __x); ++} ++ ++template ++inline bool _STLP_CALL operator>=(const _Tp& __x, const _Tp& __y) { ++ return !(__x < __y); ++} ++ ++_STLP_END_RELOPS_NAMESPACE ++ ++# endif + +-#endif /* __SGI_STL_INTERNAL_PAIR_H */ ++#endif /* _STLP_INTERNAL_PAIR_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_prolog.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_prolog.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_prolog.h Sat Feb 24 10:45:01 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_prolog.h Sun Aug 11 18:59:25 2002 +@@ -6,13 +6,12 @@ + /* We undef "std" on entry , as STLport headers may include native ones. */ + # undef std + +-# ifndef __STL_CONFIG_H ++# ifndef _STLP_CONFIG_H + # include + # endif + + /* If the platform provides any specific prolog actions, + * like #pragmas, do include platform-specific prolog file */ +-# if defined (__STL_HAS_SPECIFIC_PROLOG_EPILOG) ++# if defined (_STLP_HAS_SPECIFIC_PROLOG_EPILOG) + # include + # endif +- +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_pthread_alloc.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_pthread_alloc.c +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_pthread_alloc.c Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_pthread_alloc.c Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,252 @@ ++/* ++ * ++ * Copyright (c) 1996,1997 ++ * Silicon Graphics Computer Systems, Inc. ++ * ++ * Copyright (c) 1997 ++ * Moscow Center for SPARC Technology ++ * ++ * Copyright (c) 1999 ++ * Boris Fomitchev ++ * ++ * This material is provided "as is", with absolutely no warranty expressed ++ * or implied. Any use is at your own risk. ++ * ++ * Permission to use or copy this software for any purpose is hereby granted ++ * without fee, provided the above notices are retained on all copies. ++ * Permission to modify the code and to distribute modified code is granted, ++ * provided the above notices are retained, and a notice that the code was ++ * modified is included with the above copyright notice. ++ * ++ */ ++#ifndef _STLP_PTHREAD_ALLOC_C ++#define _STLP_PTHREAD_ALLOC_C ++ ++#ifdef __WATCOMC__ ++#pragma warning 13 9 ++#pragma warning 367 9 ++#pragma warning 368 9 ++#endif ++ ++#ifndef _STLP_PTHREAD_ALLOC_H ++# include ++#endif ++ ++# if defined (_STLP_EXPOSE_GLOBALS_IMPLEMENTATION) ++ ++# include ++ ++_STLP_BEGIN_NAMESPACE ++ ++template ++void _Pthread_alloc<_Max_size>::_S_destructor(void * __instance) ++{ ++ _M_lock __lock_instance; // Need to acquire lock here. ++ _Pthread_alloc_per_thread_state<_Max_size>* __s = ++ (_Pthread_alloc_per_thread_state<_Max_size> *)__instance; ++ __s -> __next = _S_free_per_thread_states; ++ _S_free_per_thread_states = __s; ++} ++ ++template ++_Pthread_alloc_per_thread_state<_Max_size> * ++_Pthread_alloc<_Max_size>::_S_new_per_thread_state() ++{ ++ /* lock already held here. */ ++ if (0 != _S_free_per_thread_states) { ++ _Pthread_alloc_per_thread_state<_Max_size> *__result = ++ _S_free_per_thread_states; ++ _S_free_per_thread_states = _S_free_per_thread_states -> __next; ++ return __result; ++ } else { ++ return _STLP_NEW _Pthread_alloc_per_thread_state<_Max_size>; ++ } ++} ++ ++template ++_Pthread_alloc_per_thread_state<_Max_size> * ++_Pthread_alloc<_Max_size>::_S_get_per_thread_state() ++{ ++ ++ int __ret_code; ++ __state_type* __result; ++ ++ if (_S_key_initialized && (__result = (__state_type*) pthread_getspecific(_S_key))) ++ return __result; ++ ++ /*REFERENCED*/ ++ _M_lock __lock_instance; // Need to acquire lock here. ++ if (!_S_key_initialized) { ++ if (pthread_key_create(&_S_key, _S_destructor)) { ++ __THROW_BAD_ALLOC; // failed ++ } ++ _S_key_initialized = true; ++ } ++ ++ __result = _S_new_per_thread_state(); ++ __ret_code = pthread_setspecific(_S_key, __result); ++ if (__ret_code) { ++ if (__ret_code == ENOMEM) { ++ __THROW_BAD_ALLOC; ++ } else { ++ // EINVAL ++ _STLP_ABORT(); ++ } ++ } ++ return __result; ++} ++ ++/* We allocate memory in large chunks in order to avoid fragmenting */ ++/* the malloc heap too much. */ ++/* We assume that size is properly aligned. */ ++template ++char *_Pthread_alloc<_Max_size> ++::_S_chunk_alloc(size_t __p_size, size_t &__nobjs) ++{ ++ { ++ char * __result; ++ size_t __total_bytes; ++ size_t __bytes_left; ++ /*REFERENCED*/ ++ _M_lock __lock_instance; // Acquire lock for this routine ++ ++ __total_bytes = __p_size * __nobjs; ++ __bytes_left = _S_end_free - _S_start_free; ++ if (__bytes_left >= __total_bytes) { ++ __result = _S_start_free; ++ _S_start_free += __total_bytes; ++ return(__result); ++ } else if (__bytes_left >= __p_size) { ++ __nobjs = __bytes_left/__p_size; ++ __total_bytes = __p_size * __nobjs; ++ __result = _S_start_free; ++ _S_start_free += __total_bytes; ++ return(__result); ++ } else { ++ size_t __bytes_to_get = ++ 2 * __total_bytes + _S_round_up(_S_heap_size >> 4); ++ // Try to make use of the left-over piece. ++ if (__bytes_left > 0) { ++ _Pthread_alloc_per_thread_state<_Max_size>* __a = ++ (_Pthread_alloc_per_thread_state<_Max_size>*) ++ pthread_getspecific(_S_key); ++ __obj * volatile * __my_free_list = ++ __a->__free_list + _S_freelist_index(__bytes_left); ++ ++ ((__obj *)_S_start_free) -> __free_list_link = *__my_free_list; ++ *__my_free_list = (__obj *)_S_start_free; ++ } ++# ifdef _SGI_SOURCE ++ // Try to get memory that's aligned on something like a ++ // cache line boundary, so as to avoid parceling out ++ // parts of the same line to different threads and thus ++ // possibly different processors. ++ { ++ const int __cache_line_size = 128; // probable upper bound ++ __bytes_to_get &= ~(__cache_line_size-1); ++ _S_start_free = (char *)memalign(__cache_line_size, __bytes_to_get); ++ if (0 == _S_start_free) { ++ _S_start_free = (char *)__malloc_alloc<0>::allocate(__bytes_to_get); ++ } ++ } ++# else /* !SGI_SOURCE */ ++ _S_start_free = (char *)__malloc_alloc<0>::allocate(__bytes_to_get); ++# endif ++ _S_heap_size += __bytes_to_get; ++ _S_end_free = _S_start_free + __bytes_to_get; ++ } ++ } ++ // lock is released here ++ return(_S_chunk_alloc(__p_size, __nobjs)); ++} ++ ++ ++/* Returns an object of size n, and optionally adds to size n free list.*/ ++/* We assume that n is properly aligned. */ ++/* We hold the allocation lock. */ ++template ++void *_Pthread_alloc_per_thread_state<_Max_size> ++::_M_refill(size_t __n) ++{ ++ size_t __nobjs = 128; ++ char * __chunk = ++ _Pthread_alloc<_Max_size>::_S_chunk_alloc(__n, __nobjs); ++ __obj * volatile * __my_free_list; ++ __obj * __result; ++ __obj * __current_obj, * __next_obj; ++ int __i; ++ ++ if (1 == __nobjs) { ++ return(__chunk); ++ } ++ __my_free_list = __free_list ++ + _Pthread_alloc<_Max_size>::_S_freelist_index(__n); ++ ++ /* Build free list in chunk */ ++ __result = (__obj *)__chunk; ++ *__my_free_list = __next_obj = (__obj *)(__chunk + __n); ++ for (__i = 1; ; __i++) { ++ __current_obj = __next_obj; ++ __next_obj = (__obj *)((char *)__next_obj + __n); ++ if (__nobjs - 1 == __i) { ++ __current_obj -> __free_list_link = 0; ++ break; ++ } else { ++ __current_obj -> __free_list_link = __next_obj; ++ } ++ } ++ return(__result); ++} ++ ++template ++void *_Pthread_alloc<_Max_size> ++::reallocate(void *__p, size_t __old_sz, size_t __new_sz) ++{ ++ void * __result; ++ size_t __copy_sz; ++ ++ if (__old_sz > _Max_size ++ && __new_sz > _Max_size) { ++ return(realloc(__p, __new_sz)); ++ } ++ if (_S_round_up(__old_sz) == _S_round_up(__new_sz)) return(__p); ++ __result = allocate(__new_sz); ++ __copy_sz = __new_sz > __old_sz? __old_sz : __new_sz; ++ memcpy(__result, __p, __copy_sz); ++ deallocate(__p, __old_sz); ++ return(__result); ++} ++ ++#if defined (_STLP_STATIC_TEMPLATE_DATA) && (_STLP_STATIC_TEMPLATE_DATA > 0) ++ ++template ++_Pthread_alloc_per_thread_state<_Max_size> * _Pthread_alloc<_Max_size>::_S_free_per_thread_states = 0; ++ ++template ++pthread_key_t _Pthread_alloc<_Max_size>::_S_key =0; ++ ++template ++bool _Pthread_alloc<_Max_size>::_S_key_initialized = false; ++ ++template ++_STLP_mutex_base _Pthread_alloc<_Max_size>::_S_chunk_allocator_lock _STLP_MUTEX_INITIALIZER; ++ ++template ++char *_Pthread_alloc<_Max_size>::_S_start_free = 0; ++ ++template ++char *_Pthread_alloc<_Max_size>::_S_end_free = 0; ++ ++template ++size_t _Pthread_alloc<_Max_size>::_S_heap_size = 0; ++# endif ++ ++_STLP_END_NAMESPACE ++ ++# endif /* _STLP_EXPOSE_GLOBALS_IMPLEMENTATION */ ++ ++#endif /* _STLP_PTHREAD_ALLOC_C */ ++ ++// Local Variables: ++// mode:C++ ++// End: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_pthread_alloc.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_pthread_alloc.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_pthread_alloc.h Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_pthread_alloc.h Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,489 @@ ++/* ++ * ++ * Copyright (c) 1994 ++ * Hewlett-Packard Company ++ * ++ * Copyright (c) 1996,1997 ++ * Silicon Graphics Computer Systems, Inc. ++ * ++ * Copyright (c) 1997 ++ * Moscow Center for SPARC Technology ++ * ++ * Copyright (c) 1999 ++ * Boris Fomitchev ++ * ++ * This material is provided "as is", with absolutely no warranty expressed ++ * or implied. Any use is at your own risk. ++ * ++ * Permission to use or copy this software for any purpose is hereby granted ++ * without fee, provided the above notices are retained on all copies. ++ * Permission to modify the code and to distribute modified code is granted, ++ * provided the above notices are retained, and a notice that the code was ++ * modified is included with the above copyright notice. ++ * ++ */ ++ ++#ifndef _STLP_PTHREAD_ALLOC_H ++#define _STLP_PTHREAD_ALLOC_H ++ ++// Pthread-specific node allocator. ++// This is similar to the default allocator, except that free-list ++// information is kept separately for each thread, avoiding locking. ++// This should be reasonably fast even in the presence of threads. ++// The down side is that storage may not be well-utilized. ++// It is not an error to allocate memory in thread A and deallocate ++// it in thread B. But this effectively transfers ownership of the memory, ++// so that it can only be reallocated by thread B. Thus this can effectively ++// result in a storage leak if it's done on a regular basis. ++// It can also result in frequent sharing of ++// cache lines among processors, with potentially serious performance ++// consequences. ++ ++#include ++ ++#ifndef _STLP_INTERNAL_ALLOC_H ++#include ++#endif ++ ++#ifndef __RESTRICT ++# define __RESTRICT ++#endif ++ ++_STLP_BEGIN_NAMESPACE ++ ++#define _STLP_DATA_ALIGNMENT 8 ++ ++union _Pthread_alloc_obj { ++ union _Pthread_alloc_obj * __free_list_link; ++ char __client_data[_STLP_DATA_ALIGNMENT]; /* The client sees this. */ ++}; ++ ++// Pthread allocators don't appear to the client to have meaningful ++// instances. We do in fact need to associate some state with each ++// thread. That state is represented by ++// _Pthread_alloc_per_thread_state<_Max_size>. ++ ++template ++struct _Pthread_alloc_per_thread_state { ++ typedef _Pthread_alloc_obj __obj; ++ enum { _S_NFREELISTS = _Max_size/_STLP_DATA_ALIGNMENT }; ++ ++ // Free list link for list of available per thread structures. ++ // When one of these becomes available for reuse due to thread ++ // termination, any objects in its free list remain associated ++ // with it. The whole structure may then be used by a newly ++ // created thread. ++ _Pthread_alloc_per_thread_state() : __next(0) ++ { ++ memset((void *)__free_list, 0, (size_t)_S_NFREELISTS * sizeof(__obj *)); ++ } ++ // Returns an object of size __n, and possibly adds to size n free list. ++ void *_M_refill(size_t __n); ++ ++ _Pthread_alloc_obj* volatile __free_list[_S_NFREELISTS]; ++ _Pthread_alloc_per_thread_state<_Max_size> * __next; ++ // this data member is only to be used by per_thread_allocator, which returns memory to the originating thread. ++ _STLP_mutex _M_lock; ++ ++ }; ++ ++// Pthread-specific allocator. ++// The argument specifies the largest object size allocated from per-thread ++// free lists. Larger objects are allocated using malloc_alloc. ++// Max_size must be a power of 2. ++template < __DFL_NON_TYPE_PARAM(size_t, _Max_size, _MAX_BYTES) > ++class _Pthread_alloc { ++ ++public: // but only for internal use: ++ ++ typedef _Pthread_alloc_obj __obj; ++ typedef _Pthread_alloc_per_thread_state<_Max_size> __state_type; ++ typedef char value_type; ++ ++ // Allocates a chunk for nobjs of size size. nobjs may be reduced ++ // if it is inconvenient to allocate the requested number. ++ static char *_S_chunk_alloc(size_t __size, size_t &__nobjs); ++ ++ enum {_S_ALIGN = _STLP_DATA_ALIGNMENT}; ++ ++ static size_t _S_round_up(size_t __bytes) { ++ return (((__bytes) + (int)_S_ALIGN-1) & ~((int)_S_ALIGN - 1)); ++ } ++ static size_t _S_freelist_index(size_t __bytes) { ++ return (((__bytes) + (int)_S_ALIGN-1)/(int)_S_ALIGN - 1); ++ } ++ ++private: ++ // Chunk allocation state. And other shared state. ++ // Protected by _S_chunk_allocator_lock. ++ static _STLP_mutex_base _S_chunk_allocator_lock; ++ static char *_S_start_free; ++ static char *_S_end_free; ++ static size_t _S_heap_size; ++ static _Pthread_alloc_per_thread_state<_Max_size>* _S_free_per_thread_states; ++ static pthread_key_t _S_key; ++ static bool _S_key_initialized; ++ // Pthread key under which per thread state is stored. ++ // Allocator instances that are currently unclaimed by any thread. ++ static void _S_destructor(void *instance); ++ // Function to be called on thread exit to reclaim per thread ++ // state. ++ static _Pthread_alloc_per_thread_state<_Max_size> *_S_new_per_thread_state(); ++public: ++ // Return a recycled or new per thread state. ++ static _Pthread_alloc_per_thread_state<_Max_size> *_S_get_per_thread_state(); ++private: ++ // ensure that the current thread has an associated ++ // per thread state. ++ class _M_lock; ++ friend class _M_lock; ++ class _M_lock { ++ public: ++ _M_lock () { _S_chunk_allocator_lock._M_acquire_lock(); } ++ ~_M_lock () { _S_chunk_allocator_lock._M_release_lock(); } ++ }; ++ ++public: ++ ++ /* n must be > 0 */ ++ static void * allocate(size_t __n) ++ { ++ __obj * volatile * __my_free_list; ++ __obj * __RESTRICT __result; ++ __state_type* __a; ++ ++ if (__n > _Max_size) { ++ return(__malloc_alloc<0>::allocate(__n)); ++ } ++ ++ __a = _S_get_per_thread_state(); ++ ++ __my_free_list = __a -> __free_list + _S_freelist_index(__n); ++ __result = *__my_free_list; ++ if (__result == 0) { ++ void *__r = __a -> _M_refill(_S_round_up(__n)); ++ return __r; ++ } ++ *__my_free_list = __result -> __free_list_link; ++ return (__result); ++ }; ++ ++ /* p may not be 0 */ ++ static void deallocate(void *__p, size_t __n) ++ { ++ __obj *__q = (__obj *)__p; ++ __obj * volatile * __my_free_list; ++ __state_type* __a; ++ ++ if (__n > _Max_size) { ++ __malloc_alloc<0>::deallocate(__p, __n); ++ return; ++ } ++ ++ __a = _S_get_per_thread_state(); ++ ++ __my_free_list = __a->__free_list + _S_freelist_index(__n); ++ __q -> __free_list_link = *__my_free_list; ++ *__my_free_list = __q; ++ } ++ ++ // boris : versions for per_thread_allocator ++ /* n must be > 0 */ ++ static void * allocate(size_t __n, __state_type* __a) ++ { ++ __obj * volatile * __my_free_list; ++ __obj * __RESTRICT __result; ++ ++ if (__n > _Max_size) { ++ return(__malloc_alloc<0>::allocate(__n)); ++ } ++ ++ // boris : here, we have to lock per thread state, as we may be getting memory from ++ // different thread pool. ++ _STLP_mutex_lock __lock(__a->_M_lock); ++ ++ __my_free_list = __a -> __free_list + _S_freelist_index(__n); ++ __result = *__my_free_list; ++ if (__result == 0) { ++ void *__r = __a -> _M_refill(_S_round_up(__n)); ++ return __r; ++ } ++ *__my_free_list = __result -> __free_list_link; ++ return (__result); ++ }; ++ ++ /* p may not be 0 */ ++ static void deallocate(void *__p, size_t __n, __state_type* __a) ++ { ++ __obj *__q = (__obj *)__p; ++ __obj * volatile * __my_free_list; ++ ++ if (__n > _Max_size) { ++ __malloc_alloc<0>::deallocate(__p, __n); ++ return; ++ } ++ ++ // boris : here, we have to lock per thread state, as we may be returning memory from ++ // different thread. ++ _STLP_mutex_lock __lock(__a->_M_lock); ++ ++ __my_free_list = __a->__free_list + _S_freelist_index(__n); ++ __q -> __free_list_link = *__my_free_list; ++ *__my_free_list = __q; ++ } ++ ++ static void * reallocate(void *__p, size_t __old_sz, size_t __new_sz); ++ ++} ; ++ ++# if defined (_STLP_USE_TEMPLATE_EXPORT) ++_STLP_EXPORT_TEMPLATE_CLASS _Pthread_alloc<_MAX_BYTES>; ++# endif ++ ++typedef _Pthread_alloc<_MAX_BYTES> __pthread_alloc; ++typedef __pthread_alloc pthread_alloc; ++ ++template ++class pthread_allocator { ++ typedef pthread_alloc _S_Alloc; // The underlying allocator. ++public: ++ typedef size_t size_type; ++ typedef ptrdiff_t difference_type; ++ typedef _Tp* pointer; ++ typedef const _Tp* const_pointer; ++ typedef _Tp& reference; ++ typedef const _Tp& const_reference; ++ typedef _Tp value_type; ++ ++#ifdef _STLP_MEMBER_TEMPLATE_CLASSES ++ template struct rebind { ++ typedef pthread_allocator<_NewType> other; ++ }; ++#endif ++ ++ pthread_allocator() _STLP_NOTHROW {} ++ pthread_allocator(const pthread_allocator<_Tp>& a) _STLP_NOTHROW {} ++ ++#if defined (_STLP_MEMBER_TEMPLATES) /* && defined (_STLP_FUNCTION_PARTIAL_ORDER) */ ++ template pthread_allocator(const pthread_allocator<_OtherType>&) ++ _STLP_NOTHROW {} ++#endif ++ ++ ~pthread_allocator() _STLP_NOTHROW {} ++ ++ pointer address(reference __x) const { return &__x; } ++ const_pointer address(const_reference __x) const { return &__x; } ++ ++ // __n is permitted to be 0. The C++ standard says nothing about what ++ // the return value is when __n == 0. ++ _Tp* allocate(size_type __n, const void* = 0) { ++ return __n != 0 ? __STATIC_CAST(_Tp*,_S_Alloc::allocate(__n * sizeof(_Tp))) ++ : 0; ++ } ++ ++ // p is not permitted to be a null pointer. ++ void deallocate(pointer __p, size_type __n) ++ { _S_Alloc::deallocate(__p, __n * sizeof(_Tp)); } ++ ++ size_type max_size() const _STLP_NOTHROW ++ { return size_t(-1) / sizeof(_Tp); } ++ ++ void construct(pointer __p, const _Tp& __val) { _STLP_PLACEMENT_NEW (__p) _Tp(__val); } ++ void destroy(pointer _p) { _p->~_Tp(); } ++}; ++ ++_STLP_TEMPLATE_NULL ++class _STLP_CLASS_DECLSPEC pthread_allocator { ++public: ++ typedef size_t size_type; ++ typedef ptrdiff_t difference_type; ++ typedef void* pointer; ++ typedef const void* const_pointer; ++ typedef void value_type; ++#ifdef _STLP_MEMBER_TEMPLATE_CLASSES ++ template struct rebind { ++ typedef pthread_allocator<_NewType> other; ++ }; ++#endif ++}; ++ ++template ++inline bool operator==(const pthread_allocator<_T1>&, ++ const pthread_allocator<_T2>& a2) ++{ ++ return true; ++} ++ ++#ifdef _STLP_FUNCTION_TMPL_PARTIAL_ORDER ++template ++inline bool operator!=(const pthread_allocator<_T1>&, ++ const pthread_allocator<_T2>&) ++{ ++ return false; ++} ++#endif ++ ++ ++#ifdef _STLP_CLASS_PARTIAL_SPECIALIZATION ++ ++# ifdef _STLP_USE_RAW_SGI_ALLOCATORS ++template ++struct _Alloc_traits<_Tp, _Pthread_alloc<_Max_size> > ++{ ++ typedef __allocator<_Tp, _Pthread_alloc<_Max_size> > ++ allocator_type; ++}; ++# endif ++ ++template ++struct _Alloc_traits<_Tp, pthread_allocator<_Atype> > ++{ ++ typedef pthread_allocator<_Tp> allocator_type; ++}; ++ ++#endif ++ ++#if !defined (_STLP_MEMBER_TEMPLATE_CLASSES) ++ ++template ++inline pthread_allocator<_Tp2>& ++__stl_alloc_rebind(pthread_allocator<_Tp1>& __x, const _Tp2*) { ++ return (pthread_allocator<_Tp2>&)__x; ++} ++ ++template ++inline pthread_allocator<_Tp2> ++__stl_alloc_create(pthread_allocator<_Tp1>&, const _Tp2*) { ++ return pthread_allocator<_Tp2>(); ++} ++ ++#endif /* _STLP_MEMBER_TEMPLATE_CLASSES */ ++ ++// ++// per_thread_allocator<> : this allocator always return memory to the same thread ++// it was allocated from. ++// ++ ++template ++class per_thread_allocator { ++ typedef pthread_alloc _S_Alloc; // The underlying allocator. ++ typedef pthread_alloc::__state_type __state_type; ++public: ++ typedef size_t size_type; ++ typedef ptrdiff_t difference_type; ++ typedef _Tp* pointer; ++ typedef const _Tp* const_pointer; ++ typedef _Tp& reference; ++ typedef const _Tp& const_reference; ++ typedef _Tp value_type; ++ ++#ifdef _STLP_MEMBER_TEMPLATE_CLASSES ++ template struct rebind { ++ typedef per_thread_allocator<_NewType> other; ++ }; ++#endif ++ ++ per_thread_allocator() _STLP_NOTHROW { ++ _M_state = _S_Alloc::_S_get_per_thread_state(); ++ } ++ per_thread_allocator(const per_thread_allocator<_Tp>& __a) _STLP_NOTHROW : _M_state(__a._M_state){} ++ ++#if defined (_STLP_MEMBER_TEMPLATES) /* && defined (_STLP_FUNCTION_PARTIAL_ORDER) */ ++ template per_thread_allocator(const per_thread_allocator<_OtherType>& __a) ++ _STLP_NOTHROW : _M_state(__a._M_state) {} ++#endif ++ ++ ~per_thread_allocator() _STLP_NOTHROW {} ++ ++ pointer address(reference __x) const { return &__x; } ++ const_pointer address(const_reference __x) const { return &__x; } ++ ++ // __n is permitted to be 0. The C++ standard says nothing about what ++ // the return value is when __n == 0. ++ _Tp* allocate(size_type __n, const void* = 0) { ++ return __n != 0 ? __STATIC_CAST(_Tp*,_S_Alloc::allocate(__n * sizeof(_Tp), _M_state)): 0; ++ } ++ ++ // p is not permitted to be a null pointer. ++ void deallocate(pointer __p, size_type __n) ++ { _S_Alloc::deallocate(__p, __n * sizeof(_Tp), _M_state); } ++ ++ size_type max_size() const _STLP_NOTHROW ++ { return size_t(-1) / sizeof(_Tp); } ++ ++ void construct(pointer __p, const _Tp& __val) { _STLP_PLACEMENT_NEW (__p) _Tp(__val); } ++ void destroy(pointer _p) { _p->~_Tp(); } ++ ++ // state is being kept here ++ __state_type* _M_state; ++}; ++ ++_STLP_TEMPLATE_NULL ++class _STLP_CLASS_DECLSPEC per_thread_allocator { ++public: ++ typedef size_t size_type; ++ typedef ptrdiff_t difference_type; ++ typedef void* pointer; ++ typedef const void* const_pointer; ++ typedef void value_type; ++#ifdef _STLP_MEMBER_TEMPLATE_CLASSES ++ template struct rebind { ++ typedef per_thread_allocator<_NewType> other; ++ }; ++#endif ++}; ++ ++template ++inline bool operator==(const per_thread_allocator<_T1>& __a1, ++ const per_thread_allocator<_T2>& __a2) ++{ ++ return __a1._M_state == __a2._M_state; ++} ++ ++#ifdef _STLP_FUNCTION_TMPL_PARTIAL_ORDER ++template ++inline bool operator!=(const per_thread_allocator<_T1>& __a1, ++ const per_thread_allocator<_T2>& __a2) ++{ ++ return __a1._M_state != __a2._M_state; ++} ++#endif ++ ++ ++#ifdef _STLP_CLASS_PARTIAL_SPECIALIZATION ++ ++template ++struct _Alloc_traits<_Tp, per_thread_allocator<_Atype> > ++{ ++ typedef per_thread_allocator<_Tp> allocator_type; ++}; ++ ++#endif ++ ++#if !defined (_STLP_MEMBER_TEMPLATE_CLASSES) ++ ++template ++inline per_thread_allocator<_Tp2>& ++__stl_alloc_rebind(per_thread_allocator<_Tp1>& __x, const _Tp2*) { ++ return (per_thread_allocator<_Tp2>&)__x; ++} ++ ++template ++inline per_thread_allocator<_Tp2> ++__stl_alloc_create(per_thread_allocator<_Tp1>&, const _Tp2*) { ++ return per_thread_allocator<_Tp2>(); ++} ++ ++#endif /* _STLP_MEMBER_TEMPLATE_CLASSES */ ++ ++_STLP_END_NAMESPACE ++ ++# if defined (_STLP_EXPOSE_GLOBALS_IMPLEMENTATION) && !defined (_STLP_LINK_TIME_INSTANTIATION) ++# include ++# endif ++ ++#endif /* _STLP_PTHREAD_ALLOC */ ++ ++// Local Variables: ++// mode:C++ ++// End: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_ptrs_specialize.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_ptrs_specialize.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_ptrs_specialize.h Sat Feb 24 10:45:01 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_ptrs_specialize.h Sun Aug 11 18:59:25 2002 +@@ -1,161 +1,72 @@ +-#ifndef __STL_PTRS_SPECIALIZE_H +-# define __STL_PTRS_SPECIALIZE_H +- +-// Important pointers specializations +- +-# define __STL_TYPE_TRAITS_POD_SPECIALIZE(_Type) \ +-__STL_TEMPLATE_NULL \ +-struct __type_traits<_Type> { \ +- typedef __true_type has_trivial_default_constructor; \ +- typedef __true_type has_trivial_copy_constructor; \ +- typedef __true_type has_trivial_assignment_operator; \ +- typedef __true_type has_trivial_destructor; \ +- typedef __true_type is_POD_type; \ +-}; ++#ifndef _STLP_PTRS_SPECIALIZE_H ++# define _STLP_PTRS_SPECIALIZE_H + + // the following is a workaround for arrow operator problems +-# if defined ( __SGI_STL_NO_ARROW_OPERATOR ) +- +-// Proxy -> operator workaround for compilers that produce +-// type checking errors on unused ->() operators +- +-template +-struct __arrow_op_dispatch { +- _Ptr _M_ptr; +- __arrow_op_dispatch(_Ref __r) : _M_ptr(&__r) {} +- _Ptr operator ->() const { return _M_ptr; } +-}; +- +-# if defined (__STL_NO_PROXY_ARROW_OPERATOR) +- ++# if defined ( _STLP_NO_ARROW_OPERATOR ) + // User wants to disable proxy -> operators +-# define __STL_DEFINE_ARROW_OPERATOR +-# define __STL_ARROW_SPECIALIZE_WITH_PTRS(_Tp) +- +-# else +- +-struct __arrow_op_dummy { int _M_data ; }; +- +-# define __STL_ARROW_SPECIALIZE(_Tp) \ +-__STL_TEMPLATE_NULL struct __arrow_op_dispatch<_Tp&, _Tp*> { \ +- __arrow_op_dispatch(_Tp&) {} \ +- __arrow_op_dummy operator ->() const { return __arrow_op_dummy(); } \ +-}; +- +-# ifdef __SUNPRO_CC +-# define __STL_ARROW_SPECIALIZE_WITH_PTRS(_Tp) \ +-__STL_ARROW_SPECIALIZE(_Tp) \ +-__STL_ARROW_SPECIALIZE(const _Tp) \ +-__STL_ARROW_SPECIALIZE(_Tp*) \ +-__STL_ARROW_SPECIALIZE(_Tp* const) \ +-__STL_ARROW_SPECIALIZE(const _Tp*) \ +-__STL_ARROW_SPECIALIZE(_Tp**) \ +-__STL_ARROW_SPECIALIZE(const _Tp**) \ +-__STL_ARROW_SPECIALIZE(_Tp* const *) \ +-__STL_ARROW_SPECIALIZE(_Tp***) \ +-__STL_ARROW_SPECIALIZE(const _Tp***) +-# else +-# define __STL_ARROW_SPECIALIZE_WITH_PTRS(_Tp) \ +-__STL_ARROW_SPECIALIZE(_Tp) \ +-__STL_ARROW_SPECIALIZE(const _Tp) \ +-__STL_ARROW_SPECIALIZE(_Tp*) \ +-__STL_ARROW_SPECIALIZE(const _Tp*) \ +-__STL_ARROW_SPECIALIZE(_Tp**) \ +-__STL_ARROW_SPECIALIZE(const _Tp**) \ +-__STL_ARROW_SPECIALIZE(_Tp* const *) \ +-__STL_ARROW_SPECIALIZE(_Tp***) \ +-__STL_ARROW_SPECIALIZE(const _Tp***) +-# endif +- +-# define __STL_DEFINE_ARROW_OPERATOR __arrow_op_dispatch operator->() const \ +- { return __arrow_op_dispatch(this->operator*()); } +- +-# endif /* __STL_NO_PROXY_ARROW_OPERATOR */ ++# define _STLP_DEFINE_ARROW_OPERATOR ++# define _STLP_ARROW_SPECIALIZE_WITH_PTRS(_Tp) + # else + // Compiler can handle generic -> operator. +-# define __STL_ARROW_SPECIALIZE_WITH_PTRS(_Tp) ++# define _STLP_ARROW_SPECIALIZE_WITH_PTRS(_Tp) + # ifdef __BORLANDC__ +-# define __STL_DEFINE_ARROW_OPERATOR pointer operator->() const { return &(*(*this)); } +-# elif defined ( __STL_WINCE ) +-# define __STL_DEFINE_ARROW_OPERATOR pointer operator->() const { reference x = operator*(); return &x; } ++# define _STLP_DEFINE_ARROW_OPERATOR pointer operator->() const { return &(*(*this)); } ++# elif defined ( _STLP_WINCE ) || defined(__WATCOMC__) ++# define _STLP_DEFINE_ARROW_OPERATOR pointer operator->() const { reference x = operator*(); return &x; } + # else +-# define __STL_DEFINE_ARROW_OPERATOR pointer operator->() const { return &(operator*()); } ++# define _STLP_DEFINE_ARROW_OPERATOR pointer operator->() const { return &(operator*()); } + # endif ++# endif /* _STLP_NO_ARROW_OPERATOR */ + +-# endif /* __SGI_STL_NO_ARROW_OPERATOR */ +- +-# define __STL_ITERATOR_TRAITS_SPECIALIZE(_Type, _ValType) \ +-__STL_TEMPLATE_NULL \ +-struct iterator_traits<_Type*> { \ +- typedef random_access_iterator_tag iterator_category; \ +- typedef _ValType value_type; \ +- typedef ptrdiff_t difference_type; \ +- typedef _Type* pointer; \ +- typedef _Type& reference; \ +-}; ++// Important pointers specializations + +-# ifdef __STL_USE_OLD_HP_ITERATOR_QUERIES +-# define __STL_ITERATOR_TRAITS_PTR_SPECIALIZE(_Type) ++# ifdef _STLP_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS ++# define _STLP_TYPE_TRAITS_POD_SPECIALIZE_V(_Type) ++# define _STLP_TYPE_TRAITS_POD_SPECIALIZE(_Type) + # else +-# define __STL_ITERATOR_TRAITS_PTR_SPECIALIZE(_Type) \ +-__STL_BEGIN_NAMESPACE \ +-__STL_ITERATOR_TRAITS_SPECIALIZE(_Type, _Type) \ +-__STL_ITERATOR_TRAITS_SPECIALIZE(const _Type, _Type) \ +-__STL_ITERATOR_TRAITS_SPECIALIZE(_Type*, _Type*) \ +-__STL_ITERATOR_TRAITS_SPECIALIZE(_Type* const, _Type* const) \ +-__STL_ITERATOR_TRAITS_SPECIALIZE(const _Type*, _Type*) \ +-__STL_ITERATOR_TRAITS_SPECIALIZE(_Type**, _Type**) \ +-__STL_ITERATOR_TRAITS_SPECIALIZE(_Type** const, _Type** const) \ +-__STL_END_NAMESPACE ++# define _STLP_TYPE_TRAITS_POD_SPECIALIZE(_Type) _STLP_TEMPLATE_NULL struct __type_traits<_Type> : __type_traits_aux {}; ++# define _STLP_TYPE_TRAITS_POD_SPECIALIZE_V(_Type) \ ++_STLP_TYPE_TRAITS_POD_SPECIALIZE(_Type*) \ ++_STLP_TYPE_TRAITS_POD_SPECIALIZE(const _Type*) \ ++_STLP_TYPE_TRAITS_POD_SPECIALIZE(_Type**) \ ++_STLP_TYPE_TRAITS_POD_SPECIALIZE(_Type* const *) \ ++_STLP_TYPE_TRAITS_POD_SPECIALIZE(const _Type**) \ ++_STLP_TYPE_TRAITS_POD_SPECIALIZE(_Type***) \ ++_STLP_TYPE_TRAITS_POD_SPECIALIZE(const _Type***) + # endif + +-# define __STL_TYPE_TRAITS_POD_SPECIALIZE_V(_Type) \ +-__STL_TYPE_TRAITS_POD_SPECIALIZE(_Type*) \ +-__STL_TYPE_TRAITS_POD_SPECIALIZE(const _Type*) \ +-__STL_TYPE_TRAITS_POD_SPECIALIZE(_Type**) \ +-__STL_TYPE_TRAITS_POD_SPECIALIZE(_Type* const *) \ +-__STL_TYPE_TRAITS_POD_SPECIALIZE(const _Type**) \ +-__STL_TYPE_TRAITS_POD_SPECIALIZE(_Type***) \ +-__STL_TYPE_TRAITS_POD_SPECIALIZE(const _Type***) +- +-# define __STL_POINTERS_SPECIALIZE(_Type) \ +-__STL_TYPE_TRAITS_POD_SPECIALIZE_V(_Type) \ +-__STL_ITERATOR_TRAITS_PTR_SPECIALIZE(_Type) \ +-__STL_ARROW_SPECIALIZE_WITH_PTRS(_Type) ++# define _STLP_POINTERS_SPECIALIZE(_Type) _STLP_TYPE_TRAITS_POD_SPECIALIZE_V(_Type) _STLP_ARROW_SPECIALIZE_WITH_PTRS(_Type) + +-# if !defined ( __STL_NO_BOOL ) +-__STL_POINTERS_SPECIALIZE( bool ) ++# if !defined ( _STLP_NO_BOOL ) ++_STLP_POINTERS_SPECIALIZE( bool ) + # endif +-__STL_TYPE_TRAITS_POD_SPECIALIZE_V(void) +- __STL_ARROW_SPECIALIZE_WITH_PTRS(void*) +- __STL_ARROW_SPECIALIZE_WITH_PTRS(void* const) +-# ifndef __STL_NO_SIGNED_BUILTINS +- __STL_POINTERS_SPECIALIZE( signed char ) ++_STLP_TYPE_TRAITS_POD_SPECIALIZE_V(void) ++# ifndef _STLP_NO_SIGNED_BUILTINS ++ _STLP_POINTERS_SPECIALIZE( signed char ) + # endif +- __STL_POINTERS_SPECIALIZE( char ) +- __STL_POINTERS_SPECIALIZE( unsigned char ) +- __STL_POINTERS_SPECIALIZE( short ) +- __STL_POINTERS_SPECIALIZE( unsigned short ) +- __STL_POINTERS_SPECIALIZE( int ) +- __STL_POINTERS_SPECIALIZE( unsigned int ) +- __STL_POINTERS_SPECIALIZE( long ) +- __STL_POINTERS_SPECIALIZE( unsigned long ) +- __STL_POINTERS_SPECIALIZE( float ) +- __STL_POINTERS_SPECIALIZE( double ) +-# if !defined ( __STL_NO_LONG_DOUBLE ) +- __STL_POINTERS_SPECIALIZE( long double ) ++ _STLP_POINTERS_SPECIALIZE( char ) ++ _STLP_POINTERS_SPECIALIZE( unsigned char ) ++ _STLP_POINTERS_SPECIALIZE( short ) ++ _STLP_POINTERS_SPECIALIZE( unsigned short ) ++ _STLP_POINTERS_SPECIALIZE( int ) ++ _STLP_POINTERS_SPECIALIZE( unsigned int ) ++ _STLP_POINTERS_SPECIALIZE( long ) ++ _STLP_POINTERS_SPECIALIZE( unsigned long ) ++ _STLP_POINTERS_SPECIALIZE( float ) ++ _STLP_POINTERS_SPECIALIZE( double ) ++# if !defined ( _STLP_NO_LONG_DOUBLE ) ++ _STLP_POINTERS_SPECIALIZE( long double ) + # endif +-# if defined ( __STL_LONG_LONG) +- __STL_POINTERS_SPECIALIZE( long long ) ++# if defined ( _STLP_LONG_LONG) ++ _STLP_POINTERS_SPECIALIZE( _STLP_LONG_LONG ) ++ _STLP_POINTERS_SPECIALIZE( unsigned _STLP_LONG_LONG ) + # endif +-#if defined ( __STL_HAS_WCHAR_T ) && ! defined (__STL_WCHAR_T_IS_USHORT) +- __STL_POINTERS_SPECIALIZE( wchar_t ) ++#if defined ( _STLP_HAS_WCHAR_T ) && ! defined (_STLP_WCHAR_T_IS_USHORT) ++ _STLP_POINTERS_SPECIALIZE( wchar_t ) + # endif + +-# undef __STL_ARROW_SPECIALIZE +-# undef __STL_ARROW_SPECIALIZE_WITH_PTRS +- // # undef __STL_POINTERS_SPECIALIZE +- // # undef __STL_TYPE_TRAITS_POD_SPECIALIZE +-# undef __STL_TYPE_TRAITS_POD_SPECIALIZE_V ++# undef _STLP_ARROW_SPECIALIZE ++# undef _STLP_ARROW_SPECIALIZE_WITH_PTRS ++# undef _STLP_TYPE_TRAITS_POD_SPECIALIZE_V + + #endif +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_queue.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_queue.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_queue.h Sat Feb 24 10:45:01 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_queue.h Sun Aug 11 18:59:25 2002 +@@ -27,38 +27,42 @@ + * You should not attempt to use it directly. + */ + +-#ifndef __SGI_STL_INTERNAL_QUEUE_H +-#define __SGI_STL_INTERNAL_QUEUE_H ++#ifndef _STLP_INTERNAL_QUEUE_H ++#define _STLP_INTERNAL_QUEUE_H + +-#ifndef __SGI_STL_INTERNAL_DEQUE_H ++#ifndef _STLP_INTERNAL_DEQUE_H + # include + #endif + +-#ifndef __SGI_STL_INTERNAL_VECTOR_H ++#ifndef _STLP_INTERNAL_VECTOR_H + # include + #endif + +-#ifndef __SGI_STL_INTERNAL_HEAP_H ++#ifndef _STLP_INTERNAL_HEAP_H + # include + #endif + +-#ifndef __SGI_STL_INTERNAL_FUNCTIONAL_H ++#ifndef _STLP_INTERNAL_FUNCTION_H + # include + #endif + +-__STL_BEGIN_NAMESPACE ++#if defined(__SC__) //*ty 12/07/2001 - since "comp" is a built-in type and reserved under SCpp ++#define comp _Comp ++#endif ++ ++_STLP_BEGIN_NAMESPACE + +-# if ! defined ( __STL_LIMITED_DEFAULT_TEMPLATES ) +-template > +-# elif defined ( __STL_MINIMUM_DEFAULT_TEMPLATE_PARAMS ) +-# define __STL_QUEUE_ARGS _Tp ++# if ! defined ( _STLP_LIMITED_DEFAULT_TEMPLATES ) ++template > ++# elif defined ( _STLP_MINIMUM_DEFAULT_TEMPLATE_PARAMS ) ++# define _STLP_QUEUE_ARGS _Tp + template + # else + template + # endif + + class queue { +-# if defined ( __STL_QUEUE_ARGS ) ++# if defined ( _STLP_QUEUE_ARGS ) + typedef deque<_Tp> _Sequence; + # endif + public: +@@ -86,39 +90,39 @@ + const _Sequence& _Get_c() const { return c; } + }; + +-# ifndef __STL_QUEUE_ARGS +-# define __STL_QUEUE_ARGS _Tp, _Sequence +-# define __STL_QUEUE_HEADER_ARGS class _Tp, class _Sequence ++# ifndef _STLP_QUEUE_ARGS ++# define _STLP_QUEUE_ARGS _Tp, _Sequence ++# define _STLP_QUEUE_HEADER_ARGS class _Tp, class _Sequence + # else +-# define __STL_QUEUE_HEADER_ARGS class _Tp ++# define _STLP_QUEUE_HEADER_ARGS class _Tp + # endif + +-template < __STL_QUEUE_HEADER_ARGS > +-inline bool __STL_CALL +-operator==(const queue<__STL_QUEUE_ARGS >& __x, const queue<__STL_QUEUE_ARGS >& __y) ++template < _STLP_QUEUE_HEADER_ARGS > ++inline bool _STLP_CALL ++operator==(const queue<_STLP_QUEUE_ARGS >& __x, const queue<_STLP_QUEUE_ARGS >& __y) + { + return __x._Get_c() == __y._Get_c(); + } + +-template < __STL_QUEUE_HEADER_ARGS > +-inline bool __STL_CALL +-operator<(const queue<__STL_QUEUE_ARGS >& __x, const queue<__STL_QUEUE_ARGS >& __y) ++template < _STLP_QUEUE_HEADER_ARGS > ++inline bool _STLP_CALL ++operator<(const queue<_STLP_QUEUE_ARGS >& __x, const queue<_STLP_QUEUE_ARGS >& __y) + { + return __x._Get_c() < __y._Get_c(); + } + +-__STL_RELOPS_OPERATORS( template < __STL_QUEUE_HEADER_ARGS >, queue<__STL_QUEUE_ARGS > ) ++_STLP_RELOPS_OPERATORS( template < _STLP_QUEUE_HEADER_ARGS >, queue<_STLP_QUEUE_ARGS > ) + +-# if !(defined ( __STL_LIMITED_DEFAULT_TEMPLATES ) || defined ( __STL_TEMPLATE_PARAM_SUBTYPE_BUG )) ++# if !(defined ( _STLP_LIMITED_DEFAULT_TEMPLATES ) || defined ( _STLP_TEMPLATE_PARAM_SUBTYPE_BUG )) + template , +- class _Compare = less<__STL_HEADER_TYPENAME _Sequence::value_type> > +-# elif defined ( __STL_MINIMUM_DEFAULT_TEMPLATE_PARAMS ) ++ class _Compare = less<_STLP_HEADER_TYPENAME _Sequence::value_type> > ++# elif defined ( _STLP_MINIMUM_DEFAULT_TEMPLATE_PARAMS ) + template + # else + template + # endif + class priority_queue { +-# ifdef __STL_MINIMUM_DEFAULT_TEMPLATE_PARAMS ++# ifdef _STLP_MINIMUM_DEFAULT_TEMPLATE_PARAMS + typedef vector<_Tp> _Sequence; + typedef less< typename vector<_Tp>::value_type> _Compare; + # endif +@@ -131,77 +135,77 @@ + typedef typename _Sequence::const_reference const_reference; + protected: + _Sequence c; +- _Compare _comp; //*TY 01/10/1999 - ugrified comp ++ _Compare comp; + public: + priority_queue() : c() {} +- explicit priority_queue(const _Compare& __x) : c(), _comp(__x) {} //*TY 01/10/1999 - ugrified comp ++ explicit priority_queue(const _Compare& __x) : c(), comp(__x) {} + priority_queue(const _Compare& __x, const _Sequence& __s) +- : c(__s), _comp(__x) //*TY 01/10/1999 - ugrified comp +- { make_heap(c.begin(), c.end(), _comp); } //*TY 01/10/1999 - ugrified comp ++ : c(__s), comp(__x) ++ { make_heap(c.begin(), c.end(), comp); } + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + template + priority_queue(_InputIterator __first, _InputIterator __last) +- : c(__first, __last) { make_heap(c.begin(), c.end(), _comp); } //*TY 01/10/1999 - ugrified comp ++ : c(__first, __last) { make_heap(c.begin(), c.end(), comp); } + + template + priority_queue(_InputIterator __first, + _InputIterator __last, const _Compare& __x) +- : c(__first, __last), _comp(__x) //*TY 01/10/1999 - ugrified comp +- { make_heap(c.begin(), c.end(), _comp); } //*TY 01/10/1999 - ugrified comp ++ : c(__first, __last), comp(__x) ++ { make_heap(c.begin(), c.end(), comp); } + + template + priority_queue(_InputIterator __first, _InputIterator __last, + const _Compare& __x, const _Sequence& __s) +- : c(__s), _comp(__x) //*TY 01/10/1999 - ugrified comp ++ : c(__s), comp(__x) + { + c.insert(c.end(), __first, __last); +- make_heap(c.begin(), c.end(), _comp); //*TY 01/10/1999 - ugrified comp ++ make_heap(c.begin(), c.end(), comp); + } + +-#else /* __STL_MEMBER_TEMPLATES */ ++#else /* _STLP_MEMBER_TEMPLATES */ + priority_queue(const value_type* __first, const value_type* __last) +- : c(__first, __last) { make_heap(c.begin(), c.end(), _comp); } //*TY 01/10/1999 - ugrified comp ++ : c(__first, __last) { make_heap(c.begin(), c.end(), comp); } + + priority_queue(const value_type* __first, const value_type* __last, + const _Compare& __x) +- : c(__first, __last), _comp(__x) //*TY 01/10/1999 - ugrified comp +- { make_heap(c.begin(), c.end(), _comp); } //*TY 01/10/1999 - ugrified comp ++ : c(__first, __last), comp(__x) ++ { make_heap(c.begin(), c.end(), comp); } + + priority_queue(const value_type* __first, const value_type* __last, + const _Compare& __x, const _Sequence& __c) +- : c(__c), _comp(__x) //*TY 01/10/1999 - ugrified comp ++ : c(__c), comp(__x) + { + c.insert(c.end(), __first, __last); +- make_heap(c.begin(), c.end(), _comp); //*TY 01/10/1999 - ugrified comp ++ make_heap(c.begin(), c.end(), comp); + } +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + bool empty() const { return c.empty(); } + size_type size() const { return c.size(); } + const_reference top() const { return c.front(); } + void push(const value_type& __x) { +- __STL_TRY { ++ _STLP_TRY { + c.push_back(__x); +- push_heap(c.begin(), c.end(), _comp); //*TY 01/10/1999 - ugrified comp ++ push_heap(c.begin(), c.end(), comp); + } +- __STL_UNWIND(c.clear()); ++ _STLP_UNWIND(c.clear()); + } + void pop() { +- __STL_TRY { +- pop_heap(c.begin(), c.end(), _comp); //*TY 01/10/1999 - ugrified comp ++ _STLP_TRY { ++ pop_heap(c.begin(), c.end(), comp); + c.pop_back(); + } +- __STL_UNWIND(c.clear()); ++ _STLP_UNWIND(c.clear()); + } + }; + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-# undef __STL_QUEUE_ARGS +-# undef __STL_QUEUE_HEADER_ARGS ++# undef _STLP_QUEUE_ARGS ++# undef _STLP_QUEUE_HEADER_ARGS + +-#endif /* __SGI_STL_INTERNAL_QUEUE_H */ ++#endif /* _STLP_INTERNAL_QUEUE_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_range_errors.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_range_errors.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_range_errors.h Sat Feb 24 10:45:02 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_range_errors.h Sun Aug 11 18:59:25 2002 +@@ -12,80 +12,85 @@ + * + */ + +-#ifndef __STL_RANGE_ERRORS_H +-#define __STL_RANGE_ERRORS_H ++#ifndef _STLP_RANGE_ERRORS_H ++#define _STLP_RANGE_ERRORS_H + + // A few places in the STL throw range errors, using standard exception + // classes defined in . This header file provides functions + // to throw those exception objects. + +-// __STL_DONT_THROW_RANGE_ERRORS is a hook so that users can disable ++// _STLP_DONT_THROW_RANGE_ERRORS is a hook so that users can disable + // this exception throwing. +-#if defined(__STL_CAN_THROW_RANGE_ERRORS) && \ +- defined(__STL_USE_EXCEPTIONS) && \ +- !defined(__STL_DONT_THROW_RANGE_ERRORS) +-# define __STL_THROW_RANGE_ERRORS ++#if defined(_STLP_CAN_THROW_RANGE_ERRORS) && defined(_STLP_USE_EXCEPTIONS) \ ++ && !defined(_STLP_DONT_THROW_RANGE_ERRORS) ++# define _STLP_THROW_RANGE_ERRORS + #endif + +-// For the SGI 7.3 compiler, declare these functions here and define them +-// elsewhere. +-#if defined(__STL_THROW_RANGE_ERRORS) && defined ( __SGI_STL_OWN_IOSTREAMS ) || \ +- ( defined(__sgi) && !defined(__GNUC__) && \ +- _COMPILER_VERSION >= 730 && defined(_STANDARD_C_PLUS_PLUS)) +-# define __STL_EXTERN_RANGE_ERRORS +-# endif +- +-#if defined (__STL_EXTERN_RANGE_ERRORS) ++// For the STLport iostreams, only declaration here, definition is in the lib + +-__STL_BEGIN_NAMESPACE +-void __STL_DECLSPEC __STL_CALL __stl_throw_range_error(const char* __msg); +-void __STL_DECLSPEC __STL_CALL __stl_throw_out_of_range(const char* __msg); +-void __STL_DECLSPEC __STL_CALL __stl_throw_length_error(const char* __msg); +-__STL_END_NAMESPACE ++#if defined ( _STLP_OWN_IOSTREAMS ) && ! defined (_STLP_EXTERN_RANGE_ERRORS) ++# define _STLP_EXTERN_RANGE_ERRORS ++# endif + +-// For other compilers where we're throwing range errors, include the +-// stdexcept header and throw the appropriate exceptions directly. +-#elif defined(__STL_THROW_RANGE_ERRORS) ++#if defined (_STLP_EXTERN_RANGE_ERRORS) ++_STLP_BEGIN_NAMESPACE ++void _STLP_DECLSPEC _STLP_CALL __stl_throw_range_error(const char* __msg); ++void _STLP_DECLSPEC _STLP_CALL __stl_throw_out_of_range(const char* __msg); ++void _STLP_DECLSPEC _STLP_CALL __stl_throw_length_error(const char* __msg); ++void _STLP_DECLSPEC _STLP_CALL __stl_throw_invalid_argument(const char* __msg); ++void _STLP_DECLSPEC _STLP_CALL __stl_throw_overflow_error(const char* __msg); ++_STLP_END_NAMESPACE ++#else + +-# ifndef __SGI_STDEXCEPT ++#if defined(_STLP_THROW_RANGE_ERRORS) ++# ifndef _STLP_STDEXCEPT + # include + # endif +- +-#ifndef __SGI_STL_STRING ++# ifndef _STLP_STRING + # include ++# endif ++# define _STLP_THROW_MSG(ex,msg) throw ex(string(msg)) ++#else ++# if defined (_STLP_WINCE) ++# define _STLP_THROW_MSG(ex,msg) TerminateProcess(GetCurrentProcess(), 0) ++# else ++# include ++# include ++# define _STLP_THROW_MSG(ex,msg) puts(msg),_STLP_ABORT() ++# endif + #endif + +-__STL_BEGIN_NAMESPACE ++// For wrapper mode and throwing range errors, include the ++// stdexcept header and throw the appropriate exceptions directly. + +-inline void __STL_DECLSPEC __STL_CALL __stl_throw_range_error(const char* __msg) { +- throw range_error(string(__msg)); ++_STLP_BEGIN_NAMESPACE ++inline void _STLP_DECLSPEC _STLP_CALL __stl_throw_range_error(const char* __msg) { ++ _STLP_THROW_MSG(range_error, __msg); + } + +-inline void __STL_DECLSPEC __STL_CALL __stl_throw_out_of_range(const char* __msg) { +- throw out_of_range(string(__msg)); ++inline void _STLP_DECLSPEC _STLP_CALL __stl_throw_out_of_range(const char* __msg) { ++ _STLP_THROW_MSG(out_of_range, __msg); + } + +-inline void __STL_DECLSPEC __STL_CALL __stl_throw_length_error(const char* __msg) { +- throw length_error(string(__msg)); ++inline void _STLP_DECLSPEC _STLP_CALL __stl_throw_length_error(const char* __msg) { ++ _STLP_THROW_MSG(length_error, __msg); + } + +-__STL_END_NAMESPACE +- +-// Otherwise, define inline functions that do nothing. +-#else ++inline void _STLP_DECLSPEC _STLP_CALL __stl_throw_invalid_argument(const char* __msg) { ++ _STLP_THROW_MSG(invalid_argument, __msg); ++} + +-# include ++inline void _STLP_DECLSPEC _STLP_CALL __stl_throw_overflow_error(const char* __msg) { ++ _STLP_THROW_MSG(overflow_error, __msg); ++} ++_STLP_END_NAMESPACE + +-__STL_BEGIN_NAMESPACE ++# undef _STLP_THROW_MSG + +-inline void __STL_DECLSPEC __STL_CALL __stl_throw_range_error(const char*) { abort(); } +-inline void __STL_DECLSPEC __STL_CALL __stl_throw_length_error(const char*) { abort();} +-inline void __STL_DECLSPEC __STL_CALL __stl_throw_out_of_range(const char*) { abort(); } +-__STL_END_NAMESPACE ++# endif /* EXTERN_RANGE_ERRORS */ + +-#endif + +-#endif /* __STL_RANGE_ERRORS_H */ ++#endif /* _STLP_RANGE_ERRORS_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_raw_storage_iter.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_raw_storage_iter.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_raw_storage_iter.h Sat Feb 24 10:45:02 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_raw_storage_iter.h Sun Aug 11 18:59:25 2002 +@@ -27,14 +27,18 @@ + * You should not attempt to use it directly. + */ + +-#ifndef __SGI_STL_INTERNAL_RAW_STORAGE_ITERATOR_H +-#define __SGI_STL_INTERNAL_RAW_STORAGE_ITERATOR_H ++#ifndef _STLP_INTERNAL_RAW_STORAGE_ITERATOR_H ++#define _STLP_INTERNAL_RAW_STORAGE_ITERATOR_H + +-__STL_BEGIN_NAMESPACE ++#ifndef _STLP_INTERNAL_ITERATOR_BASE_H ++# include ++#endif ++ ++_STLP_BEGIN_NAMESPACE + + template + class raw_storage_iterator +-# ifdef __STL_HAS_VOID_SPECIALIZATION ++# ifdef _STLP_HAS_VOID_SPECIALIZATION + : public iterator { + # endif + { +@@ -42,7 +46,7 @@ + _ForwardIterator _M_iter; + public: + typedef output_iterator_tag iterator_category; +-# ifdef __STL_CLASS_PARTIAL_SPECIALIZATION ++# ifdef _STLP_CLASS_PARTIAL_SPECIALIZATION + typedef void value_type; + typedef void difference_type; + typedef void pointer; +@@ -65,13 +69,13 @@ + } + }; + +-# ifdef __STL_USE_OLD_HP_ITERATOR_QUERIES ++# ifdef _STLP_USE_OLD_HP_ITERATOR_QUERIES + template +-inline output_iterator_tag __ITERATOR_CATEGORY(const raw_storage_iterator<_ForwardIterator, _Tp>&) { return output_iterator_tag(); } ++inline output_iterator_tag iterator_category(const raw_storage_iterator<_ForwardIterator, _Tp>&) { return output_iterator_tag(); } + #endif +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-#endif /* __SGI_STL_INTERNAL_RAW_STORAGE_ITERATOR_H */ ++#endif /* _STLP_INTERNAL_RAW_STORAGE_ITERATOR_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_relops.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_relops.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_relops.h Sat Feb 24 10:45:02 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_relops.h Sun Aug 11 18:59:25 2002 +@@ -28,37 +28,6 @@ + * You should not attempt to use it directly. + */ + +-#ifndef __SGI_STL_INTERNAL_RELOPS +-#define __SGI_STL_INTERNAL_RELOPS +- +-# if defined (__STL_USE_NAMESPACES) || ! defined (__STL_USE_SEPARATE_RELOPS_NAMESPACE) +-__STL_BEGIN_RELOPS_NAMESPACE +- +-template +-inline bool __STL_CALL operator!=(const _Tp& __x, const _Tp& __y) { +- return !(__x == __y); +-} +- +-template +-inline bool __STL_CALL operator>(const _Tp& __x, const _Tp& __y) { +- return __y < __x; +-} +- +-template +-inline bool __STL_CALL operator<=(const _Tp& __x, const _Tp& __y) { +- return !(__y < __x); +-} +- +-template +-inline bool __STL_CALL operator>=(const _Tp& __x, const _Tp& __y) { +- return !(__x < __y); +-} +- +-__STL_END_RELOPS_NAMESPACE +- +-# endif +-#endif /* __SGI_STL_INTERNAL_RELOPS */ +- + // Local Variables: + // mode:C++ + // End: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_relops_cont.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_relops_cont.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_relops_cont.h Sat Feb 24 10:45:02 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_relops_cont.h Sun Aug 11 18:59:25 2002 +@@ -1,27 +1,27 @@ + // This is an implementation file which +-// is intended to be included multiple times with different __STL_ASSOCIATIVE_CONTAINER ++// is intended to be included multiple times with different _STLP_ASSOCIATIVE_CONTAINER + // setting + +-__STL_TEMPLATE_HEADER +-inline bool __STL_CALL operator==(const __STL_TEMPLATE_CONTAINER& __x, +- const __STL_TEMPLATE_CONTAINER& __y) { ++_STLP_TEMPLATE_HEADER ++inline bool _STLP_CALL operator==(const _STLP_TEMPLATE_CONTAINER& __x, ++ const _STLP_TEMPLATE_CONTAINER& __y) { + return __x.size() == __y.size() && + equal(__x.begin(), __x.end(), __y.begin()); + } + +-__STL_TEMPLATE_HEADER +-inline bool __STL_CALL operator<(const __STL_TEMPLATE_CONTAINER& __x, +- const __STL_TEMPLATE_CONTAINER& __y) { ++_STLP_TEMPLATE_HEADER ++inline bool _STLP_CALL operator<(const _STLP_TEMPLATE_CONTAINER& __x, ++ const _STLP_TEMPLATE_CONTAINER& __y) { + return lexicographical_compare(__x.begin(), __x.end(), + __y.begin(), __y.end()); + } + +-__STL_RELOPS_OPERATORS( __STL_TEMPLATE_HEADER , __STL_TEMPLATE_CONTAINER ) ++_STLP_RELOPS_OPERATORS( _STLP_TEMPLATE_HEADER , _STLP_TEMPLATE_CONTAINER ) + +-#ifdef __STL_FUNCTION_TMPL_PARTIAL_ORDER +-__STL_TEMPLATE_HEADER +-inline void __STL_CALL swap(__STL_TEMPLATE_CONTAINER& __x, +- __STL_TEMPLATE_CONTAINER& __y) { ++#ifdef _STLP_FUNCTION_TMPL_PARTIAL_ORDER ++_STLP_TEMPLATE_HEADER ++inline void _STLP_CALL swap(_STLP_TEMPLATE_CONTAINER& __x, ++ _STLP_TEMPLATE_CONTAINER& __y) { + __x.swap(__y); + } +-#endif /* __STL_FUNCTION_TMPL_PARTIAL_ORDER */ ++#endif /* _STLP_FUNCTION_TMPL_PARTIAL_ORDER */ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_rope.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_rope.c +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_rope.c Sat Feb 24 10:45:03 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_rope.c Sun Aug 11 18:59:25 2002 +@@ -24,31 +24,31 @@ + // if necessary. Assumes path_end[leaf_index] and leaf_pos are correct. + // Results in a valid buf_ptr if the iterator can be legitimately + // dereferenced. +-# ifndef __SGI_STL_ROPEIMPL_H +-# define __SGI_STL_ROPEIMPL_H ++# ifndef _STLP_ROPEIMPL_H ++# define _STLP_ROPEIMPL_H + +-# ifndef __STLPORT_CSTDIO ++#ifndef _STLP_INTERNAL_ROPE_H ++# include ++#endif ++ ++# ifndef _STLP_CSTDIO + # include + # endif + +-#ifndef __STLPORT_IOSTREAM ++#ifndef _STLP_IOSTREAM + # include + #endif + + # include + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + +-# if defined ( __STL_NESTED_TYPE_PARAM_BUG ) +-# define __size_type__ size_t ++# if defined ( _STLP_NESTED_TYPE_PARAM_BUG ) + # define __allocator__ _Alloc + # else + # define __allocator__ allocator_type +-# define __size_type__ __STL_TYPENAME_ON_RETURN_TYPE rope<_CharT, _Alloc>::size_type + # endif + +-#undef __size_type__ +- + template + _Rope_iterator<_CharT, _Alloc>::_Rope_iterator(rope<_CharT,_Alloc>* __r, size_t __pos) + : _Rope_iterator_base<_CharT,_Alloc>(__r->_M_tree_ptr._M_data, __pos), +@@ -118,7 +118,7 @@ + } + break; + default: +- __STL_ASSERT(0) ++ _STLP_ASSERT(0) + ; + } + } +@@ -136,7 +136,7 @@ + size_t __pos = __x._M_current_pos; + unsigned char __dirns = 0; // Bit vector marking right turns in the path + +- __STL_ASSERT(__pos <= __x._M_root->_M_size._M_data) ++ _STLP_ASSERT(__pos <= __x._M_root->_M_size._M_data) + if (__pos >= __x._M_root->_M_size._M_data) { + __x._M_buf_ptr = 0; + return; +@@ -154,7 +154,7 @@ + } + for(;;) { + ++__curr_depth; +- __STL_ASSERT(__curr_depth <= _RopeRep::_S_max_rope_depth) ++ _STLP_ASSERT(__curr_depth <= _RopeRep::_S_max_rope_depth) + __path[__curr_depth] = __curr_rope; + switch(__curr_rope->_M_tag) { + case _RopeRep::_S_leaf: +@@ -210,13 +210,13 @@ + unsigned char __dirns = __x._M_path_directions; + _Rope_RopeConcatenation<_CharT,_Alloc>* __c; + +- __STL_ASSERT(__x._M_current_pos <= __x._M_root->_M_size._M_data) ++ _STLP_ASSERT(__x._M_current_pos <= __x._M_root->_M_size._M_data) + if (__x._M_current_pos - __node_start_pos < __len) { + /* More stuff in this leaf, we just didn't cache it. */ + _S_setbuf(__x); + return; + } +- __STL_ASSERT(__node_start_pos + __len == __x._M_current_pos) ++ _STLP_ASSERT(__node_start_pos + __len == __x._M_current_pos) + // node_start_pos is starting position of last_node. + while (--__current_index >= 0) { + if (!(__dirns & 1) /* Path turned left */) +@@ -316,53 +316,52 @@ + switch(_M_tag) { + case _S_leaf: + { +- _Rope_RopeLeaf<_CharT,_Alloc>* __l +- = (_Rope_RopeLeaf<_CharT,_Alloc>*)this; +- __l->_Rope_RopeLeaf<_CharT,_Alloc>::~_Rope_RopeLeaf(); +- __stl_alloc_create((const allocator_type&)_M_size, +- (_Rope_RopeLeaf<_CharT,_Alloc>*)0).deallocate(__l, 1); ++ typedef _Rope_RopeLeaf<_CharT,_Alloc> _Rope_RopeLeaf_T; ++ _Rope_RopeLeaf_T* __l = (_Rope_RopeLeaf_T*)this; ++ _Destroy(__l); // ->_Rope_RopeLeaf<_CharT,_Alloc>::~_Rope_RopeLeaf(); ++ _STLP_CREATE_ALLOCATOR(allocator_type,(const allocator_type&)_M_size, _Rope_RopeLeaf_T).deallocate(__l, 1); + break; + } + case _S_concat: + { +- _Rope_RopeConcatenation<_CharT,_Alloc>* __c +- = (_Rope_RopeConcatenation<_CharT,_Alloc>*)this; +- __c->_Rope_RopeConcatenation<_CharT,_Alloc>:: +- ~_Rope_RopeConcatenation(); +- __stl_alloc_create((const allocator_type&)_M_size, +- (_Rope_RopeConcatenation<_CharT,_Alloc>*)0).deallocate(__c, 1); ++ typedef _Rope_RopeConcatenation<_CharT,_Alloc> _Rope_RopeConcatenation_T; ++ _Rope_RopeConcatenation_T* __c = (_Rope_RopeConcatenation_T*)this; ++ _Destroy(__c); ++ _STLP_CREATE_ALLOCATOR(allocator_type,(const allocator_type&)_M_size, ++ _Rope_RopeConcatenation_T).deallocate(__c, 1); + break; + } + case _S_function: + { +- _Rope_RopeFunction<_CharT,_Alloc>* __f +- = (_Rope_RopeFunction<_CharT,_Alloc>*)this; +- __f->_Rope_RopeFunction<_CharT,_Alloc>::~_Rope_RopeFunction(); +- __stl_alloc_create((const allocator_type&)_M_size, +- (_Rope_RopeFunction<_CharT,_Alloc>*)0).deallocate(__f, 1); ++ typedef _Rope_RopeFunction<_CharT,_Alloc> _Rope_RopeFunctionT; ++ _Rope_RopeFunctionT* __f = (_Rope_RopeFunctionT*)this; ++ _Destroy(__f); ++ _STLP_CREATE_ALLOCATOR(allocator_type,(const allocator_type&)_M_size, ++ _Rope_RopeFunctionT).deallocate(__f, 1); + break; + } + case _S_substringfn: + { +- _Rope_RopeSubstring<_CharT,_Alloc>* __ss = +- (_Rope_RopeSubstring<_CharT,_Alloc>*)this; +- __ss->_Rope_RopeSubstring<_CharT,_Alloc>:: +- ~_Rope_RopeSubstring(); +- __stl_alloc_create((const allocator_type&)_M_size, +- (_Rope_RopeSubstring<_CharT,_Alloc>*)0).deallocate(__ss, 1); ++ typedef _Rope_RopeSubstring<_CharT,_Alloc> _Rope_RopeSubstring_T; ++ _Rope_RopeSubstring_T* __ss = (_Rope_RopeSubstring_T*)this; ++ _Destroy(__ss); ++ _STLP_CREATE_ALLOCATOR(allocator_type,(const allocator_type&)_M_size, ++ _Rope_RopeSubstring_T).deallocate(__ss, 1); + break; + } + } + } + #endif + +-# if defined ( __STL_NESTED_TYPE_PARAM_BUG ) ++# if defined ( _STLP_NESTED_TYPE_PARAM_BUG ) + # define __RopeLeaf__ _Rope_RopeLeaf<_CharT,_Alloc> + # define __RopeRep__ _Rope_RopeRep<_CharT,_Alloc> ++# define _RopeLeaf _Rope_RopeLeaf<_CharT,_Alloc> ++# define _RopeRep _Rope_RopeRep<_CharT,_Alloc> + # define size_type size_t + # else +-# define __RopeLeaf__ __STL_TYPENAME_ON_RETURN_TYPE rope<_CharT,_Alloc>::_RopeLeaf +-# define __RopeRep__ __STL_TYPENAME_ON_RETURN_TYPE rope<_CharT,_Alloc>::_RopeRep ++# define __RopeLeaf__ _STLP_TYPENAME_ON_RETURN_TYPE rope<_CharT,_Alloc>::_RopeLeaf ++# define __RopeRep__ _STLP_TYPENAME_ON_RETURN_TYPE rope<_CharT,_Alloc>::_RopeRep + # endif + + // Concatenate a C string onto a leaf rope by copying the rope data. +@@ -370,7 +369,7 @@ + template + __RopeLeaf__* + rope<_CharT,_Alloc>::_S_leaf_concat_char_iter +- (__RopeLeaf__* __r, const _CharT* __iter, size_t __len) ++ (_RopeLeaf* __r, const _CharT* __iter, size_t __len) + { + size_t __old_len = __r->_M_size._M_data; + _CharT* __new_data = __r->_M_size.allocate(_S_rounded_up_size(__old_len + __len)); +@@ -379,11 +378,11 @@ + uninitialized_copy_n(__r->_M_data, __old_len, __new_data); + uninitialized_copy_n(__iter, __len, __new_data + __old_len); + _S_cond_store_eos(__new_data[__old_len + __len]); +- __STL_TRY { ++ _STLP_TRY { + __result = _S_new_RopeLeaf(__new_data, __old_len + __len, + __r->get_allocator()); + } +- __STL_UNWIND(_RopeRep::_S_free_string(__new_data, __old_len + __len, ++ _STLP_UNWIND(_RopeRep::_S_free_string(__new_data, __old_len + __len, + __r->get_allocator())); + return __result; + } +@@ -393,9 +392,9 @@ + template + __RopeLeaf__* + rope<_CharT,_Alloc>::_S_destr_leaf_concat_char_iter +- (__RopeLeaf__* __r, const _CharT* __iter, size_t __len) ++ (_RopeLeaf* __r, const _CharT* __iter, size_t __len) + { +- __STL_ASSERT(__r->_M_ref_count >= 1) ++ _STLP_ASSERT(__r->_M_ref_count >= 1) + if (__r->_M_ref_count > 1) + return _S_leaf_concat_char_iter(__r, __iter, __len); + size_t __old_len = __r->_M_size._M_data; +@@ -405,18 +404,18 @@ + uninitialized_copy_n(__iter, __len, __r->_M_data + __old_len); + if (_S_is_basic_char_type((_CharT*)0)) { + _S_cond_store_eos(__r->_M_data[__old_len + __len]); +- __STL_ASSERT(__r->_M_c_string == __r->_M_data) ++ _STLP_ASSERT(__r->_M_c_string == __r->_M_data) + } else if (__r->_M_c_string != __r->_M_data && 0 != __r->_M_c_string) { + __r->_M_free_c_string(); + __r->_M_c_string = 0; + } + __r->_M_size._M_data = __old_len + __len; +- __STL_ASSERT(__r->_M_ref_count == 1) ++ _STLP_ASSERT(__r->_M_ref_count == 1) + __r->_M_ref_count = 2; + return __r; + } else { + _RopeLeaf* __result = _S_leaf_concat_char_iter(__r, __iter, __len); +- __STL_ASSERT(__result->_M_ref_count == 1) ++ _STLP_ASSERT(__result->_M_ref_count == 1) + return __result; + } + } +@@ -427,29 +426,29 @@ + // Result has ref count 1. + template + __RopeRep__* +-rope<_CharT,_Alloc>::_S_tree_concat (__RopeRep__* __left, __RopeRep__* __right) ++rope<_CharT,_Alloc>::_S_tree_concat (_RopeRep* __left, _RopeRep* __right) + { + _RopeConcatenation* __result = + _S_new_RopeConcatenation(__left, __right, __left->get_allocator()); + size_t __depth = __result->_M_depth; + +- __STL_ASSERT(__left->get_allocator() == __right->get_allocator()) ++ _STLP_ASSERT(__left->get_allocator() == __right->get_allocator()) + if (__depth > 20 && (__result->_M_size._M_data < 1000 || + __depth > _RopeRep::_S_max_rope_depth)) { + _RopeRep* __balanced; + +- __STL_TRY { ++ _STLP_TRY { + __balanced = _S_balance(__result); + # ifndef __GC + if (__result != __balanced) { +- __STL_ASSERT(1 == __result->_M_ref_count ++ _STLP_ASSERT(1 == __result->_M_ref_count + && 1 == __balanced->_M_ref_count) + } + # endif + __result->_M_unref_nonnil(); + } +- __STL_UNWIND((__stl_alloc_create((allocator_type&)__left->_M_size, +- (_RopeConcatenation*)0).deallocate(__result,1))); ++ _STLP_UNWIND((_STLP_CREATE_ALLOCATOR(allocator_type,(allocator_type&)__left->_M_size, ++ _RopeConcatenation).deallocate(__result,1))); + // In case of exception, we need to deallocate + // otherwise dangling result node. But caller + // still owns its children. Thus unref is +@@ -463,7 +462,7 @@ + template + __RopeRep__* + rope<_CharT,_Alloc>::_S_concat_char_iter +- (__RopeRep__* __r, const _CharT*__s, size_t __slen) ++ (_RopeRep* __r, const _CharT*__s, size_t __slen) + { + _RopeRep* __result; + if (0 == __slen) { +@@ -471,13 +470,13 @@ + return __r; + } + if (0 == __r) +- return __STL_ROPE_FROM_UNOWNED_CHAR_PTR(__s, __slen, ++ return _STLP_ROPE_FROM_UNOWNED_CHAR_PTR(__s, __slen, + /* __r->get_allocator()*/ allocator_type() ); + if (_RopeRep::_S_leaf == __r->_M_tag && + __r->_M_size._M_data + __slen <= _S_copy_max) { + __result = _S_leaf_concat_char_iter((_RopeLeaf*)__r, __s, __slen); + # ifndef __GC +- __STL_ASSERT(1 == __result->_M_ref_count) ++ _STLP_ASSERT(1 == __result->_M_ref_count) + # endif + return __result; + } +@@ -490,25 +489,25 @@ + _RopeRep* __nright = + _S_leaf_concat_char_iter((_RopeLeaf*)__right, __s, __slen); + __left->_M_ref_nonnil(); +- __STL_TRY { ++ _STLP_TRY { + __result = _S_tree_concat(__left, __nright); + } +- __STL_UNWIND(_S_unref(__left); _S_unref(__nright)); ++ _STLP_UNWIND(_S_unref(__left); _S_unref(__nright)); + # ifndef __GC +- __STL_ASSERT(1 == __result->_M_ref_count) ++ _STLP_ASSERT(1 == __result->_M_ref_count) + # endif + return __result; + } + } + _RopeRep* __nright = +- __STL_ROPE_FROM_UNOWNED_CHAR_PTR(__s, __slen, __r->get_allocator()); +- __STL_TRY { ++ _STLP_ROPE_FROM_UNOWNED_CHAR_PTR(__s, __slen, __r->get_allocator()); ++ _STLP_TRY { + __r->_M_ref_nonnil(); + __result = _S_tree_concat(__r, __nright); + } +- __STL_UNWIND(_S_unref(__r); _S_unref(__nright)); ++ _STLP_UNWIND(_S_unref(__r); _S_unref(__nright)); + # ifndef __GC +- __STL_ASSERT(1 == __result->_M_ref_count) ++ _STLP_ASSERT(1 == __result->_M_ref_count) + # endif + return __result; + } +@@ -517,15 +516,15 @@ + template + __RopeRep__* + rope<_CharT,_Alloc>::_S_destr_concat_char_iter( +- __RopeRep__* __r, const _CharT* __s, size_t __slen) ++ _RopeRep* __r, const _CharT* __s, size_t __slen) + { + _RopeRep* __result; + if (0 == __r) +- return __STL_ROPE_FROM_UNOWNED_CHAR_PTR(__s, __slen, ++ return _STLP_ROPE_FROM_UNOWNED_CHAR_PTR(__s, __slen, + /* __r-> */allocator_type()); + size_t __count = __r->_M_ref_count; + size_t __orig_size = __r->_M_size._M_data; +- __STL_ASSERT(__count >= 1) ++ _STLP_ASSERT(__count >= 1) + if (__count > 1) return _S_concat_char_iter(__r, __s, __slen); + if (0 == __slen) { + __r->_M_ref_count = 2; // One more than before +@@ -543,13 +542,13 @@ + _RopeRep* __new_right = + _S_destr_leaf_concat_char_iter(__right, __s, __slen); + if (__right == __new_right) { +- __STL_ASSERT(__new_right->_M_ref_count == 2) ++ _STLP_ASSERT(__new_right->_M_ref_count == 2) + __new_right->_M_ref_count = 1; + } else { +- __STL_ASSERT(__new_right->_M_ref_count >= 1) ++ _STLP_ASSERT(__new_right->_M_ref_count >= 1) + __right->_M_unref_nonnil(); + } +- __STL_ASSERT(__r->_M_ref_count == 1) ++ _STLP_ASSERT(__r->_M_ref_count == 1) + __r->_M_ref_count = 2; // One more than before. + ((_RopeConcatenation*)__r)->_M_right = __new_right; + // E.Musser : moved below +@@ -563,20 +562,20 @@ + } + } + _RopeRep* __right = +- __STL_ROPE_FROM_UNOWNED_CHAR_PTR(__s, __slen, __r->get_allocator()); ++ _STLP_ROPE_FROM_UNOWNED_CHAR_PTR(__s, __slen, __r->get_allocator()); + __r->_M_ref_nonnil(); +- __STL_TRY { ++ _STLP_TRY { + __result = _S_tree_concat(__r, __right); + } +- __STL_UNWIND(_S_unref(__r); _S_unref(__right)) +- __STL_ASSERT(1 == __result->_M_ref_count) ++ _STLP_UNWIND(_S_unref(__r); _S_unref(__right)) ++ _STLP_ASSERT(1 == __result->_M_ref_count) + return __result; + } + #endif /* !__GC */ + + template + __RopeRep__* +-rope<_CharT,_Alloc>::_S_concat_rep(__RopeRep__* __left, __RopeRep__* __right) ++rope<_CharT,_Alloc>::_S_concat_rep(_RopeRep* __left, _RopeRep* __right) + { + if (0 == __left) { + _S_ref(__right); +@@ -604,27 +603,27 @@ + ((_RopeLeaf*)__right)->_M_data, + __right->_M_size._M_data); + __leftleft->_M_ref_nonnil(); +- __STL_TRY { ++ _STLP_TRY { + return(_S_tree_concat(__leftleft, __rest)); + } +- __STL_UNWIND(_S_unref(__leftleft); _S_unref(__rest)) ++ _STLP_UNWIND(_S_unref(__leftleft); _S_unref(__rest)) + } + } + } + __left->_M_ref_nonnil(); + __right->_M_ref_nonnil(); +- __STL_TRY { ++ _STLP_TRY { + return(_S_tree_concat(__left, __right)); + } +- __STL_UNWIND(_S_unref(__left); _S_unref(__right)); +-#ifdef __STL_THROW_RETURN_BUG ++ _STLP_UNWIND(_S_unref(__left); _S_unref(__right)); ++#ifdef _STLP_THROW_RETURN_BUG + return 0; + #endif + } + + template + __RopeRep__* +-rope<_CharT,_Alloc>::_S_substring(__RopeRep__* __base, ++rope<_CharT,_Alloc>::_S_substring(_RopeRep* __base, + size_t __start, size_t __endp1) + { + if (0 == __base) return 0; +@@ -661,13 +660,13 @@ + _S_substring(__left, __start, __left_len)); + _Self_destruct_ptr __right_result( + _S_substring(__right, 0, __endp1 - __left_len)); +- __STL_MPWFIX_TRY //*TY 06/01/2000 - mpw forgets to call dtor on __left_result and __right_result without this try block ++ _STLP_MPWFIX_TRY //*TY 06/01/2000 - mpw forgets to call dtor on __left_result and __right_result without this try block + __result = _S_concat_rep(__left_result, __right_result); + # ifndef __GC +- __STL_ASSERT(1 == __result->_M_ref_count) ++ _STLP_ASSERT(1 == __result->_M_ref_count) + # endif + return __result; +- __STL_MPWFIX_CATCH //*TY 06/01/2000 - ++ _STLP_MPWFIX_CATCH //*TY 06/01/2000 - + } + case _RopeRep::_S_leaf: + { +@@ -684,7 +683,7 @@ + __result->_M_c_string = 0; // Not eos terminated. + # else + // We should sometimes create substring node instead. +- __result = __STL_ROPE_FROM_UNOWNED_CHAR_PTR( ++ __result = _STLP_ROPE_FROM_UNOWNED_CHAR_PTR( + __l->_M_data + __start, __result_len, + __base->get_allocator()); + # endif +@@ -715,10 +714,10 @@ + + if (__result_len > __lazy_threshold) goto lazy; + _CharT* __section = __base->_M_size.allocate(_S_rounded_up_size(__result_len)); +- __STL_TRY { ++ _STLP_TRY { + (*(__f->_M_fn))(__start, __result_len, __section); + } +- __STL_UNWIND(_RopeRep::_S_free_string( ++ _STLP_UNWIND(_RopeRep::_S_free_string( + __section, __result_len, __base->get_allocator())); + _S_cond_store_eos(__section[__result_len]); + return _S_new_RopeLeaf(__section, __result_len, +@@ -726,7 +725,7 @@ + } + } + /*NOTREACHED*/ +- __STL_ASSERT(false) ++ _STLP_ASSERT(false) + lazy: + { + // Create substring node. +@@ -773,8 +772,8 @@ + } + }; + +-#if !defined (__STL_USE_NO_IOSTREAMS) +-#if defined (__STL_USE_NEW_IOSTREAMS) ++#if !defined (_STLP_USE_NO_IOSTREAMS) ++#if defined (_STLP_USE_NEW_IOSTREAMS) + template + // Here _CharT is both the stream and rope character type. + #else +@@ -785,7 +784,7 @@ + #endif + class _Rope_insert_char_consumer : public _Rope_char_consumer<_CharT> { + private: +-# if defined (__STL_USE_NEW_IOSTREAMS) ++# if defined (_STLP_USE_NEW_IOSTREAMS) + typedef basic_ostream<_CharT,_Traits> _Insert_ostream; + # else + typedef ostream _Insert_ostream; +@@ -805,7 +804,7 @@ + // Returns true to continue traversal. + }; + +-# if defined ( __STL_USE_NEW_IOSTREAMS ) ++# if defined ( _STLP_USE_NEW_IOSTREAMS ) + # if defined(__MRC__)||defined(__SC__) //*TY 05/23/2000 - added support for mpw compiler's trigger function approach to generate vtable + template + _Rope_insert_char_consumer<_CharT, _Traits>:: ~_Rope_insert_char_consumer() {} +@@ -836,8 +835,8 @@ + return true; + } + +-# if !defined (__STL_NO_METHOD_SPECIALIZATION) +-__STL_TEMPLATE_NULL ++# if !defined (_STLP_NO_METHOD_SPECIALIZATION) ++_STLP_TEMPLATE_NULL + inline bool + _Rope_insert_char_consumer::operator() + (const char* __leaf, size_t __n) +@@ -847,14 +846,14 @@ + return true; + } + +-#endif /* __STL_METHOD_SPECIALIZATION */ +-#endif /* __STL_USE_NEW_IOSTREAM */ +-#endif /* if !defined (__STL_USE_NO_IOSTREAMS) */ ++#endif /* _STLP_METHOD_SPECIALIZATION */ ++#endif /* _STLP_USE_NEW_IOSTREAM */ ++#endif /* if !defined (_STLP_USE_NO_IOSTREAMS) */ + + template + bool rope<_CharT, _Alloc>::_S_apply_to_pieces( + _Rope_char_consumer<_CharT>& __c, +- const __RopeRep__* __r, ++ const _RopeRep* __r, + size_t __begin, size_t __end) + { + if (0 == __r) return true; +@@ -865,13 +864,13 @@ + _RopeRep* __left = __conc->_M_left; + size_t __left_len = __left->_M_size._M_data; + if (__begin < __left_len) { +- size_t __left_end = min(__left_len, __end); ++ size_t __left_end = (min) (__left_len, __end); + if (!_S_apply_to_pieces(__c, __left, __begin, __left_end)) + return false; + } + if (__end > __left_len) { + _RopeRep* __right = __conc->_M_right; +- size_t __right_start = max(__left_len, __begin); ++ size_t __right_start = (max)(__left_len, __begin); + if (!_S_apply_to_pieces(__c, __right, + __right_start - __left_len, + __end - __left_len)) { +@@ -893,17 +892,17 @@ + bool __result; + _CharT* __buffer = + (_CharT*)__sgi_alloc::allocate(__len * sizeof(_CharT)); +- __STL_TRY { ++ _STLP_TRY { + (*(__f->_M_fn))(__begin, __len, __buffer); + __result = __c.operator()(__buffer, __len); + __sgi_alloc::deallocate(__buffer, __len * sizeof(_CharT)); + } +- __STL_UNWIND((__sgi_alloc::deallocate(__buffer, ++ _STLP_UNWIND((__sgi_alloc::deallocate(__buffer, + __len * sizeof(_CharT)))) + return __result; + } + default: +- __STL_ASSERT(false) ++ _STLP_ASSERT(false) + /*NOTREACHED*/ + return false; + } +@@ -911,12 +910,12 @@ + + template inline bool _Rope_is_simple(_CharT*) { return false; } + inline bool _Rope_is_simple(char*) { return true; } +-# ifdef __STL_HAS_WCHAR_T ++# ifdef _STLP_HAS_WCHAR_T + inline bool _Rope_is_simple(wchar_t*) { return true; } + # endif + +-#if !defined (__STL_USE_NO_IOSTREAMS) +-#if defined (__STL_USE_NEW_IOSTREAMS) ++#if !defined (_STLP_USE_NO_IOSTREAMS) ++#if defined (_STLP_USE_NEW_IOSTREAMS) + template + inline void _Rope_fill(basic_ostream<_CharT, _Traits>& __o, size_t __n) + #else +@@ -929,7 +928,7 @@ + for (__i = 0; __i < __n; __i++) __o.put(__f); + } + +-#if defined (__STL_USE_NEW_IOSTREAMS) ++#if defined (_STLP_USE_NEW_IOSTREAMS) + template + basic_ostream<_CharT, _Traits>& operator<< + (basic_ostream<_CharT, _Traits>& __o, +@@ -943,7 +942,7 @@ + bool __left = bool(__o.flags() & ios::left); + size_t __pad_len; + size_t __rope_len = __r.size(); +-# if defined (__STL_USE_NEW_IOSTREAMS) ++# if defined (_STLP_USE_NEW_IOSTREAMS) + _Rope_insert_char_consumer<_CharT, _Traits> __c(__o); + # else + _Rope_insert_char_consumer<_CharT> __c(__o); +@@ -956,7 +955,7 @@ + __pad_len = 0; + } + if (!__is_simple) __o.width(__w/__rope_len); +- __STL_TRY { ++ _STLP_TRY { + if (__is_simple && !__left && __pad_len > 0) { + _Rope_fill(__o, __pad_len); + } +@@ -967,7 +966,7 @@ + if (!__is_simple) + __o.width(__w); + } +- __STL_UNWIND(if (!__is_simple) __o.width(__w)) ++ _STLP_UNWIND(if (!__is_simple) __o.width(__w)) + return __o; + } + +@@ -975,7 +974,7 @@ + + template + _CharT* +-rope<_CharT,_Alloc>::_S_flatten(__RopeRep__* __r, ++rope<_CharT,_Alloc>::_S_flatten(_RopeRep* __r, + size_t __start, size_t __len, + _CharT* __buffer) + { +@@ -991,7 +990,7 @@ + _Rope_find_char_char_consumer<_CharT> __c(__pattern); + _S_apply_to_pieces(__c, _M_tree_ptr._M_data, __start, size()); + size_type __result_pos = __start + __c._M_count; +-# ifndef __STL_OLD_ROPE_SEMANTICS ++# ifndef _STLP_OLD_ROPE_SEMANTICS + if (__result_pos == size()) __result_pos = npos; + # endif + return __result_pos; +@@ -1026,7 +1025,7 @@ + return __buffer + __f->_M_size._M_data; + } + default: +- __STL_ASSERT(false) ++ _STLP_ASSERT(false) + /*NOTREACHED*/ + return 0; + } +@@ -1036,11 +1035,11 @@ + // This needs work for _CharT != char + template + void +-rope<_CharT,_Alloc>::_S_dump(__RopeRep__* __r, int __indent) ++rope<_CharT,_Alloc>::_S_dump(_RopeRep* __r, int __indent) + { + for (int __i = 0; __i < __indent; __i++) putchar(' '); + if (0 == __r) { +- printf("NULL\n"); return; ++ printf("NULL\n"); return; + } + if (_RopeRep::_S_concat == __r->_M_tag) { + _RopeConcatenation* __c = (_RopeConcatenation*)__r; +@@ -1111,7 +1110,7 @@ + /* 42 */701408733ul, /* 43 */1134903170ul, /* 44 */1836311903ul, \ + /* 45 */2971215073ul } + +-# if ( __STL_STATIC_TEMPLATE_DATA > 0 ) ++# if ( _STLP_STATIC_TEMPLATE_DATA > 0 ) + template + const unsigned long + rope<_CharT,_Alloc>::_S_min_len[__ROPE_DEPTH_SIZE] __ROPE_TABLE_BODY ; +@@ -1119,9 +1118,11 @@ + __DECLARE_INSTANCE(const unsigned long, + crope::_S_min_len[__ROPE_DEPTH_SIZE], + __ROPE_TABLE_BODY); ++# ifndef _STLP_NO_WCHAR_T + __DECLARE_INSTANCE(const unsigned long, + wrope::_S_min_len[__ROPE_DEPTH_SIZE], + __ROPE_TABLE_BODY); ++# endif + # endif + # undef __ROPE_DEPTH_SIZE + # undef __ROPE_MAX_DEPTH +@@ -1131,7 +1132,7 @@ + + template + __RopeRep__* +-rope<_CharT,_Alloc>::_S_balance(__RopeRep__* __r) ++rope<_CharT,_Alloc>::_S_balance(_RopeRep* __r) + { + _RopeRep* __forest[_RopeRep::_S_max_rope_depth + 1]; + _RopeRep* __result = 0; +@@ -1144,7 +1145,7 @@ + + for (__i = 0; __i <= _RopeRep::_S_max_rope_depth; ++__i) + __forest[__i] = 0; +- __STL_TRY { ++ _STLP_TRY { + _S_add_to_forest(__r, __forest); + for (__i = 0; __i <= _RopeRep::_S_max_rope_depth; ++__i) + if (0 != __forest[__i]) { +@@ -1153,12 +1154,12 @@ + # endif + __result = _S_concat_rep(__forest[__i], __result); + __forest[__i]->_M_unref_nonnil(); +-# if !defined(__GC) && defined(__STL_USE_EXCEPTIONS) ++# if !defined(__GC) && defined(_STLP_USE_EXCEPTIONS) + __forest[__i] = 0; + # endif + } + } +- __STL_UNWIND(for(__i = 0; __i <= _RopeRep::_S_max_rope_depth; __i++) ++ _STLP_UNWIND(for(__i = 0; __i <= _RopeRep::_S_max_rope_depth; __i++) + _S_unref(__forest[__i])) + if (__result->_M_depth > _RopeRep::_S_max_rope_depth) { + __stl_throw_range_error("rope too long"); +@@ -1169,13 +1170,13 @@ + + template + void +-rope<_CharT,_Alloc>::_S_add_to_forest(__RopeRep__* __r, __RopeRep__** __forest) ++rope<_CharT,_Alloc>::_S_add_to_forest(_RopeRep* __r, _RopeRep** __forest) + { + if (__r -> _M_is_balanced) { + _S_add_leaf_to_forest(__r, __forest); + return; + } +- __STL_ASSERT(__r->_M_tag == _RopeRep::_S_concat) ++ _STLP_ASSERT(__r->_M_tag == _RopeRep::_S_concat) + { + _RopeConcatenation* __c = (_RopeConcatenation*)__r; + +@@ -1187,7 +1188,7 @@ + + template + void +-rope<_CharT,_Alloc>::_S_add_leaf_to_forest(__RopeRep__* __r, __RopeRep__** __forest) ++rope<_CharT,_Alloc>::_S_add_leaf_to_forest(_RopeRep* __r, _RopeRep** __forest) + { + _RopeRep* __insertee; // included in refcount + _RopeRep* __too_tiny = 0; // included in refcount +@@ -1212,8 +1213,8 @@ + } + // Too_tiny dead, and no longer included in refcount. + // Insertee is live and included. +- __STL_ASSERT(_S_is_almost_balanced(__insertee)) +- __STL_ASSERT(__insertee->_M_depth <= __r->_M_depth + 1) ++ _STLP_ASSERT(_S_is_almost_balanced(__insertee)) ++ _STLP_ASSERT(__insertee->_M_depth <= __r->_M_depth + 1) + for (;; ++__i) { + if (0 != __forest[__i]) { + # ifndef __GC +@@ -1222,10 +1223,10 @@ + __insertee = _S_concat_and_set_balanced(__forest[__i], __insertee); + __forest[__i]->_M_unref_nonnil(); + __forest[__i] = 0; +- __STL_ASSERT(_S_is_almost_balanced(__insertee)) ++ _STLP_ASSERT(_S_is_almost_balanced(__insertee)) + } +- __STL_ASSERT(_S_min_len[__i] <= __insertee->_M_size._M_data) +- __STL_ASSERT(__forest[__i] == 0) ++ _STLP_ASSERT(_S_min_len[__i] <= __insertee->_M_size._M_data) ++ _STLP_ASSERT(__forest[__i] == 0) + if (__i == _RopeRep::_S_max_rope_depth || + __insertee->_M_size._M_data < _S_min_len[__i+1]) { + __forest[__i] = __insertee; +@@ -1237,11 +1238,11 @@ + + template + _CharT +-rope<_CharT,_Alloc>::_S_fetch(__RopeRep__* __r, size_type __i) ++rope<_CharT,_Alloc>::_S_fetch(_RopeRep* __r, size_type __i) + { + __GC_CONST _CharT* __cstr = __r->_M_c_string; + +- __STL_ASSERT(__i < __r->_M_size._M_data) ++ _STLP_ASSERT(__i < __r->_M_size._M_data) + if (0 != __cstr) return __cstr[__i]; + for(;;) { + switch(__r->_M_tag) { +@@ -1275,7 +1276,7 @@ + } + } + } +-#if defined(__STL_NEED_UNREACHABLE_RETURN) ++#if defined(_STLP_NEED_UNREACHABLE_RETURN) + return 0; + #endif + } +@@ -1285,7 +1286,7 @@ + // position, or 0 if that's not possible. + template + _CharT* +-rope<_CharT,_Alloc>::_S_fetch_ptr(__RopeRep__* __r, size_type __i) ++rope<_CharT,_Alloc>::_S_fetch_ptr(_RopeRep* __r, size_type __i) + { + _RopeRep* __clrstack[_RopeRep::_S_max_rope_depth]; + size_t __csptr = 0; +@@ -1326,7 +1327,7 @@ + return 0; + } + } +-#if defined(__STL_NEED_UNREACHABLE_RETURN) ++#if defined(_STLP_NEED_UNREACHABLE_RETURN) + return 0; + #endif + +@@ -1339,8 +1340,8 @@ + // flat strings. + template + int +-rope<_CharT,_Alloc>::_S_compare (const __RopeRep__* __left, +- const __RopeRep__* __right) ++rope<_CharT,_Alloc>::_S_compare (const _RopeRep* __left, ++ const _RopeRep* __right) + { + size_t __left_len; + size_t __right_len; +@@ -1403,12 +1404,12 @@ + _My_rope::_S_destr_concat_char_iter(__left, &__c, 1)); + + # ifndef __GC +- __STL_ASSERT(__left == __result_left || 1 == __result_left->_M_ref_count) ++ _STLP_ASSERT(__left == __result_left || 1 == __result_left->_M_ref_count) + # endif + _RopeRep* __result = + _My_rope::_S_concat_rep(__result_left, __right); + # ifndef __GC +- __STL_ASSERT(1 <= __result->_M_ref_count) ++ _STLP_ASSERT(1 <= __result->_M_ref_count) + _RopeRep::_S_unref(__old); + # endif + _M_root->_M_tree_ptr._M_data = __result; +@@ -1421,15 +1422,15 @@ + return _Rope_char_ptr_proxy<_CharT, _Alloc>(*this); + } + +-# if ( __STL_STATIC_TEMPLATE_DATA > 0 ) ++# if ( _STLP_STATIC_TEMPLATE_DATA > 0 ) + template + _CharT rope<_CharT,_Alloc>::_S_empty_c_str[1] = { _CharT() }; + # else + __DECLARE_INSTANCE(char, crope::_S_empty_c_str[1], ={0}); +-# ifdef __STL_HAS_WCHAR_T ++# ifdef _STLP_HAS_WCHAR_T + __DECLARE_INSTANCE(wchar_t, wrope::_S_empty_c_str[1], ={0}); +-# endif /* __STL_HAS_WCHAR_T */ +-# endif /* __STL_STATIC_TEMPLATE_DATA */ ++# endif /* _STLP_HAS_WCHAR_T */ ++# endif /* _STLP_STATIC_TEMPLATE_DATA */ + // # endif + + template +@@ -1442,20 +1443,20 @@ + __GC_CONST _CharT* __old_c_string = _M_tree_ptr._M_data->_M_c_string; + if (0 != __old_c_string) return(__old_c_string); + size_t __s = size(); +- _CharT* __result = __stl_alloc_create((const allocator_type&)_M_tree_ptr, (_CharT*)0).allocate(__s + 1); ++ _CharT* __result = _STLP_CREATE_ALLOCATOR(allocator_type,(const allocator_type&)_M_tree_ptr, _CharT).allocate(__s + 1); + _S_flatten(_M_tree_ptr._M_data, __result); + __result[__s] = _S_eos((_CharT*)0); + # ifdef __GC + _M_tree_ptr._M_data->_M_c_string = __result; + # else + if ((__old_c_string = (__GC_CONST _CharT*) +- _Atomic_swap((unsigned long *)(&(_M_tree_ptr._M_data->_M_c_string)), +- (unsigned long)__result)) != 0) { ++ _Atomic_swap((__stl_atomic_t *)(&(_M_tree_ptr._M_data->_M_c_string)), ++ (__stl_atomic_t)__result)) != 0) { + // It must have been added in the interim. Hence it had to have been + // separately allocated. Deallocate the old copy, since we just + // replaced it. + _Destroy(__old_c_string, __old_c_string + __s + 1); +- __stl_alloc_create((const allocator_type&)_M_tree_ptr, (_CharT*)0).deallocate(__old_c_string, __s + 1); ++ _STLP_CREATE_ALLOCATOR(allocator_type,(const allocator_type&)_M_tree_ptr, _CharT).deallocate(__old_c_string, __s + 1); + } + # endif + return(__result); +@@ -1482,7 +1483,7 @@ + + // Algorithm specializations. More should be added. + +-#ifndef __STL_MSVC ++#ifndef _STLP_MSVC + // I couldn't get this to work with VC++ + template + void +@@ -1490,7 +1491,7 @@ + _Rope_iterator<_CharT,_Alloc> __middle, + _Rope_iterator<_CharT,_Alloc> __last) + { +- __STL_ASSERT(__first.container() == __middle.container() ++ _STLP_ASSERT(__first.container() == __middle.container() + && __middle.container() == __last.container()) + rope<_CharT,_Alloc>& __r(__first.container()); + rope<_CharT,_Alloc> __prefix = __r.substr(0, __first.index()); +@@ -1516,19 +1517,22 @@ + // for unicode strings. Unsigned short may be a better character + // type. + inline void rotate( +- _Rope_iterator __first, +- _Rope_iterator __middle, +- _Rope_iterator __last) { ++ _Rope_iterator __first, ++ _Rope_iterator __middle, ++ _Rope_iterator __last) { + _Rope_rotate(__first, __middle, __last); + } + # endif +-#endif /* __STL_MSVC */ ++#endif /* _STLP_MSVC */ + + # undef __RopeLeaf__ + # undef __RopeRep__ ++# undef __RopeLeaf ++# undef __RopeRep + # undef size_type + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE ++ + # endif /* ROPEIMPL_H */ + + // Local Variables: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_rope.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_rope.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_rope.h Sat Feb 24 10:45:05 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_rope.h Sun Aug 11 18:59:25 2002 +@@ -30,58 +30,65 @@ + // valid. Thus ropes can be logically copied by just copying + // a pointer value. + +-#ifndef __SGI_STL_INTERNAL_ROPE_H +-# define __SGI_STL_INTERNAL_ROPE_H ++#ifndef _STLP_INTERNAL_ROPE_H ++# define _STLP_INTERNAL_ROPE_H + +-# ifndef __SGI_STL_INTERNAL_ALGOBASE_H ++# ifndef _STLP_INTERNAL_ALGOBASE_H + # include + # endif + +-# ifndef __STLPORT_IOSFWD ++# ifndef _STLP_IOSFWD + # include + # endif + +-# ifndef __SGI_STL_INTERNAL_ALLOC_H ++# ifndef _STLP_INTERNAL_ALLOC_H + # include + # endif + +-# ifndef __SGI_STL_INTERNAL_ITERATOR_H ++# ifndef _STLP_INTERNAL_ITERATOR_H + # include + # endif + +-# ifndef __SGI_STL_INTERNAL_ALGO_H ++# ifndef _STLP_INTERNAL_ALGO_H + # include + # endif + +-# ifndef __SGI_STL_INTERNAL_FUNCTION_H ++# ifndef _STLP_INTERNAL_FUNCTION_H + # include + # endif + +-# ifndef __SGI_STL_INTERNAL_NUMERIC_H ++# ifndef _STLP_INTERNAL_NUMERIC_H + # include + # endif + +-# ifndef __SGI_STL_INTERNAL_HASH_FUN_H ++# ifndef _STLP_INTERNAL_HASH_FUN_H + # include + # endif + + # ifdef __GC + # define __GC_CONST const + # else +-# include ++# include + # define __GC_CONST // constant except for deallocation + # endif +-# ifdef __STL_SGI_THREADS ++# ifdef _STLP_SGI_THREADS + # include + # endif + +-__STL_BEGIN_NAMESPACE ++#ifdef _STLP_MEMBER_TEMPLATE_CLASSES ++# define _STLP_CREATE_ALLOCATOR(__atype,__a, _Tp) (_Alloc_traits<_Tp,__atype>::create_allocator(__a)) ++#elif defined(__MRC__)||defined(__SC__) ++# define _STLP_CREATE_ALLOCATOR(__atype,__a, _Tp) __stl_alloc_create<_Tp,__atype>(__a,(_Tp*)0) ++#else ++# define _STLP_CREATE_ALLOCATOR(__atype,__a, _Tp) __stl_alloc_create(__a,(_Tp*)0) ++#endif + ++_STLP_BEGIN_NAMESPACE + + // First a lot of forward declarations. The standard seems to require + // much stricter "declaration before use" than many of the implementations + // that preceded it. +-template class rope; ++template class rope; + template struct _Rope_RopeConcatenation; + template struct _Rope_RopeRep; + template struct _Rope_RopeLeaf; +@@ -110,7 +117,7 @@ + template + inline + rope<_CharT,_Alloc> +-identity_element(_Rope_Concat_fn<_CharT, _Alloc>) ++__identity_element(_Rope_Concat_fn<_CharT, _Alloc>) + { + return rope<_CharT,_Alloc>(); + } +@@ -124,9 +131,9 @@ + inline _CharT _S_eos(_CharT*) { return _CharT(); } + + // fbp : some compilers fail to zero-initialize builtins ;( +-inline char _S_eos(const char*) { return 0; } +-# ifdef __STL_HAS_WCHAR_T +-inline wchar_t _S_eos(const wchar_t*) { return 0; } ++inline const char _S_eos(const char*) { return 0; } ++# ifdef _STLP_HAS_WCHAR_T ++inline const wchar_t _S_eos(const wchar_t*) { return 0; } + # endif + + // Test for basic character types. +@@ -138,7 +145,7 @@ + + inline bool _S_is_basic_char_type(char*) { return true; } + inline bool _S_is_one_byte_char_type(char*) { return true; } +-# ifdef __STL_HAS_WCHAR_T ++# ifdef _STLP_HAS_WCHAR_T + inline bool _S_is_basic_char_type(wchar_t*) { return true; } + # endif + +@@ -148,7 +155,7 @@ + inline void _S_cond_store_eos(_CharT&) {} + + inline void _S_cond_store_eos(char& __c) { __c = 0; } +-# ifdef __STL_HAS_WCHAR_T ++# ifdef _STLP_HAS_WCHAR_T + inline void _S_cond_store_eos(wchar_t& __c) { __c = 0; } + # endif + +@@ -183,29 +190,29 @@ + // little like containers. + + template + // The 3rd parameter works around a common compiler bug. +-class sequence_buffer : public output_iterator { ++class sequence_buffer : public iterator { + public: + # ifndef __TYPEDEF_WORKAROUND + typedef typename _Sequence::value_type value_type; + typedef sequence_buffer<_Sequence +-# if !(defined (__STL_NON_TYPE_TMPL_PARAM_BUG) || \ +- defined ( __STL_NO_DEFAULT_NON_TYPE_PARAM )) ++# if !(defined (_STLP_NON_TYPE_TMPL_PARAM_BUG) || \ ++ defined ( _STLP_NO_DEFAULT_NON_TYPE_PARAM )) + , _Buf_sz + > _Self; +-# else /* __STL_NON_TYPE_TMPL_PARAM_BUG */ ++# else /* _STLP_NON_TYPE_TMPL_PARAM_BUG */ + > _Self; + enum { _Buf_sz = 100}; +-# endif /* __STL_NON_TYPE_TMPL_PARAM_BUG */ ++# endif /* _STLP_NON_TYPE_TMPL_PARAM_BUG */ + // # endif + # else /* __TYPEDEF_WORKAROUND */ + typedef _V value_type; +@@ -336,7 +343,7 @@ + // instances have real state. Thus this macro is invoked repeatedly + // with different definitions of __ROPE_DEFINE_ALLOC. + +-#if defined (__STL_MEMBER_TEMPLATE_CLASSES) ++#if defined (_STLP_MEMBER_TEMPLATE_CLASSES) + # define __ROPE_DEFINE_ALLOC(_Tp, __name, _M_proxy) \ + typedef typename \ + _Alloc_traits<_Tp,_Alloc>::allocator_type __name##Allocator; +@@ -379,6 +386,7 @@ + _Tag _M_tag:8; + bool _M_is_balanced:8; + ++ _STLP_FORCE_ALLOCATORS(_CharT, _Alloc) + typedef typename _Alloc_traits<_CharT,_Alloc>::allocator_type + allocator_type; + +@@ -386,9 +394,9 @@ + + unsigned char _M_depth; + __GC_CONST _CharT* _M_c_string; +- _STL_alloc_proxy _M_size; ++ _STLP_alloc_proxy _M_size; + +-# ifdef __SGI_STL_NO_ARROW_OPERATOR ++# ifdef _STLP_NO_ARROW_OPERATOR + _Rope_RopeRep() : _Refcount_Base(1), _M_size(allocator_type(), 0) {} + # endif + +@@ -434,8 +442,8 @@ + _Destroy(__s, __s + __len); + } + // This has to be a static member, so this gets a bit messy +-# ifdef __STL_MEMBER_TEMPLATE_CLASSES +- __a.deallocate(__s, _S_rounded_up_size(__len)); ++# ifdef _STLP_MEMBER_TEMPLATE_CLASSES ++ __a.deallocate(__s, _S_rounded_up_size(__len)); //*ty 03/24/2001 - restored not to use __stl_alloc_rebind() since it is not defined under _STLP_MEMBER_TEMPLATE_CLASSES + # else + __stl_alloc_rebind (__a, (_CharT*)0).deallocate(__s, _S_rounded_up_size(__len)); + # endif +@@ -453,7 +461,7 @@ + // Deallocate t. Assumes t is not 0. + void _M_unref_nonnil() + { +- if (0 == _M_decr()) _M_free_tree(); ++ _M_decr(); if (!_M_ref_count) _M_free_tree(); + } + void _M_ref_nonnil() + { +@@ -492,19 +500,20 @@ + /* _S_rounded_up_size(size), except */ + /* in the GC case, in which it */ + /* doesn't matter. */ ++ _STLP_FORCE_ALLOCATORS(_CharT, _Alloc) + typedef typename _Rope_RopeRep<_CharT,_Alloc>::allocator_type allocator_type; + _Rope_RopeLeaf(__GC_CONST _CharT* __d, size_t _p_size, allocator_type __a) + : _Rope_RopeRep<_CharT,_Alloc>(_Rope_RopeRep<_CharT,_Alloc>::_S_leaf, 0, true, _p_size, __a), + _M_data(__d) + { +- __STL_ASSERT(_p_size > 0) ++ _STLP_ASSERT(_p_size > 0) + if (_S_is_basic_char_type((_CharT *)0)) { + // already eos terminated. + this->_M_c_string = __d; + } + } + +-# ifdef __SGI_STL_NO_ARROW_OPERATOR ++# ifdef _STLP_NO_ARROW_OPERATOR + _Rope_RopeLeaf() {} + _Rope_RopeLeaf(const _Rope_RopeLeaf<_CharT, _Alloc>& ) {} + # endif +@@ -527,16 +536,17 @@ + public: + _Rope_RopeRep<_CharT,_Alloc>* _M_left; + _Rope_RopeRep<_CharT,_Alloc>* _M_right; ++ _STLP_FORCE_ALLOCATORS(_CharT, _Alloc) + typedef typename _Rope_RopeRep<_CharT,_Alloc>::allocator_type allocator_type; + _Rope_RopeConcatenation(_Rope_RopeRep<_CharT,_Alloc>* __l, + _Rope_RopeRep<_CharT,_Alloc>* __r, + allocator_type __a) + : _Rope_RopeRep<_CharT,_Alloc>( + _Rope_RopeRep<_CharT,_Alloc>::_S_concat, +- max(__l->_M_depth, __r->_M_depth) + 1, false, ++ (max)(__l->_M_depth, __r->_M_depth) + 1, false, + __l->_M_size._M_data + __r->_M_size._M_data, __a), _M_left(__l), _M_right(__r) + {} +-# ifdef __SGI_STL_NO_ARROW_OPERATOR ++# ifdef _STLP_NO_ARROW_OPERATOR + _Rope_RopeConcatenation() {} + _Rope_RopeConcatenation(const _Rope_RopeConcatenation<_CharT, _Alloc>&) {} + # endif +@@ -569,8 +579,9 @@ + delete ((_Rope_RopeFunction *)__tree) -> _M_fn; + } + # endif ++ _STLP_FORCE_ALLOCATORS(_CharT, _Alloc) + typedef typename _Rope_RopeRep<_CharT,_Alloc>::allocator_type allocator_type; +-# ifdef __SGI_STL_NO_ARROW_OPERATOR ++# ifdef _STLP_NO_ARROW_OPERATOR + _Rope_RopeFunction() {} + _Rope_RopeFunction(const _Rope_RopeFunction<_CharT, _Alloc>& ) {} + # endif +@@ -584,7 +595,7 @@ + , _M_delete_when_done(__d) + # endif + { +- __STL_ASSERT(_p_size > 0) ++ _STLP_ASSERT(_p_size > 0) + # ifdef __GC + if (__d) { + GC_REGISTER_FINALIZER( +@@ -609,8 +620,13 @@ + // In all cases except repeated substring operations and + // deallocation, we treat the __result as a RopeFunction. + template ++# if ( defined (__IBMCPP__) && (__IBMCPP__ == 500) ) // JFA 10-Aug-2000 for some reason xlC cares about the order ++struct _Rope_RopeSubstring : public char_producer<_CharT> , public _Rope_RopeFunction<_CharT,_Alloc> ++# else + struct _Rope_RopeSubstring : public _Rope_RopeFunction<_CharT,_Alloc>, +- public char_producer<_CharT> { ++ public char_producer<_CharT> ++# endif ++{ + public: + // XXX this whole class should be rewritten. + typedef _Rope_RopeRep<_CharT,_Alloc> _Base; +@@ -624,8 +640,8 @@ + { + char_producer<_CharT>* __fn = + ((_Rope_RopeFunction<_CharT,_Alloc>*)_M_base)->_M_fn; +- __STL_ASSERT(__start_pos + __req_len <= this->_M_size._M_data) +- __STL_ASSERT(_M_start + this->_M_size._M_data <= _M_base->_M_size._M_data) ++ _STLP_ASSERT(__start_pos + __req_len <= this->_M_size._M_data) ++ _STLP_ASSERT(_M_start + this->_M_size._M_data <= _M_base->_M_size._M_data) + (*__fn)(__start_pos + _M_start, __req_len, __buffer); + } + break; +@@ -638,11 +654,12 @@ + } + break; + default: +- __STL_ASSERT(false) ++ _STLP_ASSERT(false) + ; + } + } + ++ _STLP_FORCE_ALLOCATORS(_CharT, _Alloc) + typedef typename _Rope_RopeRep<_CharT,_Alloc>::allocator_type allocator_type; + + _Rope_RopeSubstring(_Rope_RopeRep<_CharT,_Alloc>* __b, size_t __s, +@@ -652,8 +669,8 @@ + _M_start(__s) + + { +- __STL_ASSERT(__l > 0) +- __STL_ASSERT(__s + __l <= __b->_M_size._M_data) ++ _STLP_ASSERT(__l > 0) ++ _STLP_ASSERT(__s + __l <= __b->_M_size._M_data) + # ifndef __GC + _M_base->_M_ref_nonnil(); + # endif +@@ -682,7 +699,7 @@ + _Rope_RopeRep<_CharT,_Alloc>* _M_ptr; + ~_Rope_self_destruct_ptr() + { _Rope_RopeRep<_CharT,_Alloc>::_S_unref(_M_ptr); } +-# ifdef __STL_USE_EXCEPTIONS ++# ifdef _STLP_USE_EXCEPTIONS + _Rope_self_destruct_ptr() : _M_ptr(0) {}; + # else + _Rope_self_destruct_ptr() {}; +@@ -739,7 +756,7 @@ + } + }; + +-#ifdef __STL_FUNCTION_TMPL_PARTIAL_ORDER ++#ifdef _STLP_FUNCTION_TMPL_PARTIAL_ORDER + template + inline void swap(_Rope_char_ref_proxy <_CharT, __Alloc > __a, + _Rope_char_ref_proxy <_CharT, __Alloc > __b) { +@@ -762,9 +779,9 @@ + __b = __tmp; \ + } + +-_ROPE_SWAP_SPECIALIZATION(char,__STL_DEFAULT_ALLOCATOR(char) ) ++_ROPE_SWAP_SPECIALIZATION(char,_STLP_DEFAULT_ALLOCATOR(char) ) + +-#endif /* !__STL_FUNCTION_TMPL_PARTIAL_ORDER */ ++#endif /* !_STLP_FUNCTION_TMPL_PARTIAL_ORDER */ + + template + class _Rope_char_ptr_proxy { +@@ -781,7 +798,7 @@ + : _M_pos(__x._M_pos), _M_root(__x._M_root) {} + _Rope_char_ptr_proxy() {} + _Rope_char_ptr_proxy(_CharT* __x) : _M_pos(0), _M_root(0) { +- __STL_ASSERT(0 == __x) ++ _STLP_ASSERT(0 == __x) + } + _Self& + operator= (const _Self& __x) { +@@ -885,7 +902,7 @@ + typedef _Rope_iterator_base<_CharT,_Alloc> _Base; + // protected: + public: +-# ifdef __STL_HAS_NAMESPACES ++# ifndef _STLP_HAS_NO_NAMESPACES + typedef _Rope_RopeRep<_CharT,_Alloc> _RopeRep; + // The one from the base class may not be directly visible. + # endif +@@ -1078,21 +1095,21 @@ + } + }; + +-# ifdef __STL_USE_OLD_HP_ITERATOR_QUERIES ++# ifdef _STLP_USE_OLD_HP_ITERATOR_QUERIES + template + inline random_access_iterator_tag +-__ITERATOR_CATEGORY(const _Rope_iterator<_CharT,_Alloc>&) { return random_access_iterator_tag();} ++iterator_category(const _Rope_iterator<_CharT,_Alloc>&) { return random_access_iterator_tag();} + template +-inline _CharT* __VALUE_TYPE(const _Rope_iterator<_CharT,_Alloc>&) { return 0; } ++inline _CharT* value_type(const _Rope_iterator<_CharT,_Alloc>&) { return 0; } + template +-inline ptrdiff_t* __DISTANCE_TYPE(const _Rope_iterator<_CharT,_Alloc>&) { return 0; } ++inline ptrdiff_t* distance_type(const _Rope_iterator<_CharT,_Alloc>&) { return 0; } + template + inline random_access_iterator_tag +-__ITERATOR_CATEGORY(const _Rope_const_iterator<_CharT,_Alloc>&) { return random_access_iterator_tag(); } ++iterator_category(const _Rope_const_iterator<_CharT,_Alloc>&) { return random_access_iterator_tag(); } + template +-inline _CharT* __VALUE_TYPE(const _Rope_const_iterator<_CharT,_Alloc>&) { return 0; } ++inline _CharT* value_type(const _Rope_const_iterator<_CharT,_Alloc>&) { return 0; } + template +-inline ptrdiff_t* __DISTANCE_TYPE(const _Rope_const_iterator<_CharT,_Alloc>&) { return 0; } ++inline ptrdiff_t* distance_type(const _Rope_const_iterator<_CharT,_Alloc>&) { return 0; } + #endif + + template +@@ -1117,7 +1134,7 @@ + friend class _Rope_char_ref_proxy<_CharT,_Alloc>; + friend struct _Rope_RopeSubstring<_CharT,_Alloc>; + +- __STL_DECLARE_RANDOM_ACCESS_REVERSE_ITERATORS; ++ _STLP_DECLARE_RANDOM_ACCESS_REVERSE_ITERATORS; + + protected: + typedef __GC_CONST _CharT* _Cstrptr; +@@ -1131,11 +1148,12 @@ + + public: + typedef _Rope_RopeRep<_CharT, _Alloc> _RopeRep; ++ _STLP_FORCE_ALLOCATORS(_CharT, _Alloc) + typedef typename _Alloc_traits<_CharT,_Alloc>::allocator_type allocator_type; + allocator_type get_allocator() const { return allocator_type(_M_tree_ptr); } + public: + // The only data member of a rope: +- _STL_alloc_proxy<_RopeRep*, _CharT, allocator_type> _M_tree_ptr; ++ _STLP_alloc_proxy<_RopeRep*, _CharT, allocator_type> _M_tree_ptr; + + typedef _Rope_RopeConcatenation<_CharT,_Alloc> _RopeConcatenation; + typedef _Rope_RopeLeaf<_CharT,_Alloc> _RopeLeaf; +@@ -1236,13 +1254,12 @@ + static _RopeLeaf* _S_new_RopeLeaf(__GC_CONST _CharT *__s, + size_t _p_size, allocator_type __a) + { +- _RopeLeaf* __space = __stl_alloc_create(__a, +- (_RopeLeaf*)0).allocate(1,(const void*)0); +- __STL_TRY { +- __STL_PLACEMENT_NEW(__space) _RopeLeaf(__s, _p_size, __a); ++ _RopeLeaf* __space = _STLP_CREATE_ALLOCATOR(allocator_type,__a, _RopeLeaf).allocate(1,(const void*)0); ++ _STLP_TRY { ++ _STLP_PLACEMENT_NEW(__space) _RopeLeaf(__s, _p_size, __a); + } +- __STL_UNWIND(__stl_alloc_create(__a, +- (_RopeLeaf*)0).deallocate(__space, 1)) ++ _STLP_UNWIND(_STLP_CREATE_ALLOCATOR(allocator_type,__a, ++ _RopeLeaf).deallocate(__space, 1)) + return __space; + } + +@@ -1250,29 +1267,29 @@ + _RopeRep* __left, _RopeRep* __right, + allocator_type __a) + { +- _RopeConcatenation* __space = __stl_alloc_create(__a, +- (_RopeConcatenation*)0).allocate(1,(const void*)0); +- return __STL_PLACEMENT_NEW(__space) _RopeConcatenation(__left, __right, __a); ++ _RopeConcatenation* __space = _STLP_CREATE_ALLOCATOR(allocator_type,__a, ++ _RopeConcatenation).allocate(1,(const void*)0); ++ return _STLP_PLACEMENT_NEW(__space) _RopeConcatenation(__left, __right, __a); + } + + static _RopeFunction* _S_new_RopeFunction(char_producer<_CharT>* __f, + size_t _p_size, bool __d, allocator_type __a) + { +- _RopeFunction* __space = __stl_alloc_create(__a, +- (_RopeFunction*)0).allocate(1,(const void*)0); +- return __STL_PLACEMENT_NEW(__space) _RopeFunction(__f, _p_size, __d, __a); ++ _RopeFunction* __space = _STLP_CREATE_ALLOCATOR(allocator_type,__a, ++ _RopeFunction).allocate(1,(const void*)0); ++ return _STLP_PLACEMENT_NEW(__space) _RopeFunction(__f, _p_size, __d, __a); + } + + static _RopeSubstring* _S_new_RopeSubstring( + _Rope_RopeRep<_CharT,_Alloc>* __b, size_t __s, + size_t __l, allocator_type __a) + { +- _RopeSubstring* __space = __stl_alloc_create(__a, +- (_RopeSubstring*)0).allocate(1,(const void*)0); +- return __STL_PLACEMENT_NEW(__space) _RopeSubstring(__b, __s, __l, __a); ++ _RopeSubstring* __space = _STLP_CREATE_ALLOCATOR(allocator_type,__a, ++ _RopeSubstring).allocate(1,(const void*)0); ++ return _STLP_PLACEMENT_NEW(__space) _RopeSubstring(__b, __s, __l, __a); + } + +-# define __STL_ROPE_FROM_UNOWNED_CHAR_PTR(__s, _p_size, __a) \ ++# define _STLP_ROPE_FROM_UNOWNED_CHAR_PTR(__s, _p_size, __a) \ + _S_RopeLeaf_from_unowned_char_ptr(__s, _p_size, __a) + + static +@@ -1280,20 +1297,18 @@ + size_t _p_size, allocator_type __a) + { + if (0 == _p_size) return 0; +-#ifdef __STL_MEMBER_TEMPLATE_CLASSES +- _CharT* __buf = __a.allocate(_S_rounded_up_size(_p_size)); +-#else +- _CharT* __buf = __stl_alloc_rebind(__a, (_CharT*)0).allocate(_S_rounded_up_size(_p_size)); +-#endif ++ ++ _CharT* __buf = _STLP_CREATE_ALLOCATOR(allocator_type,__a, _CharT).allocate(_S_rounded_up_size(_p_size)); ++ + uninitialized_copy_n(__s, _p_size, __buf); + _S_cond_store_eos(__buf[_p_size]); + +- __STL_TRY { ++ _STLP_TRY { + return _S_new_RopeLeaf(__buf, _p_size, __a); + } +- __STL_UNWIND(_RopeRep::_S_free_string(__buf, _p_size, __a)) ++ _STLP_UNWIND(_RopeRep::_S_free_string(__buf, _p_size, __a)) + +-# if defined (__STL_THROW_RETURN_BUG) ++# if defined (_STLP_THROW_RETURN_BUG) + return 0; + # endif + } +@@ -1406,12 +1421,12 @@ + } + + rope(const _CharT* __s, const allocator_type& __a = allocator_type()) +- : _M_tree_ptr(__a, __STL_ROPE_FROM_UNOWNED_CHAR_PTR(__s, _S_char_ptr_len(__s),__a)) ++ : _M_tree_ptr(__a, _STLP_ROPE_FROM_UNOWNED_CHAR_PTR(__s, _S_char_ptr_len(__s),__a)) + { } + + rope(const _CharT* __s, size_t __len, + const allocator_type& __a = allocator_type()) +- : _M_tree_ptr(__a, (__STL_ROPE_FROM_UNOWNED_CHAR_PTR(__s, __len, __a))) ++ : _M_tree_ptr(__a, (_STLP_ROPE_FROM_UNOWNED_CHAR_PTR(__s, __len, __a))) + { } + + // Should perhaps be templatized with respect to the iterator type +@@ -1419,7 +1434,7 @@ + // even now.) + rope(const _CharT *__s, const _CharT *__e, + const allocator_type& __a = allocator_type()) +- : _M_tree_ptr(__a, __STL_ROPE_FROM_UNOWNED_CHAR_PTR(__s, __e - __s, __a)) ++ : _M_tree_ptr(__a, _STLP_ROPE_FROM_UNOWNED_CHAR_PTR(__s, __e - __s, __a)) + { } + + rope(const const_iterator& __s, const const_iterator& __e, +@@ -1440,10 +1455,10 @@ + _CharT* __buf = _M_tree_ptr.allocate(_S_rounded_up_size(1)); + + _Construct(__buf, __c); +- __STL_TRY { ++ _STLP_TRY { + _M_tree_ptr._M_data = _S_new_RopeLeaf(__buf, 1, __a); + } +- __STL_UNWIND(_RopeRep::_S_free_string(__buf, 1, __a)) ++ _STLP_UNWIND(_RopeRep::_S_free_string(__buf, 1, __a)) + } + + rope(size_t __n, _CharT __c, +@@ -1468,10 +1483,10 @@ + _CharT* __rest_buffer = _M_tree_ptr.allocate(_S_rounded_up_size(__rest)); + uninitialized_fill_n(__rest_buffer, __rest, __c); + _S_cond_store_eos(__rest_buffer[__rest]); +- __STL_TRY { ++ _STLP_TRY { + __remainder = _S_new_RopeLeaf(__rest_buffer, __rest, __a); + } +- __STL_UNWIND(_RopeRep::_S_free_string(__rest_buffer, __rest, __a)) ++ _STLP_UNWIND(_RopeRep::_S_free_string(__rest_buffer, __rest, __a)) + } + __remainder_rope._M_tree_ptr._M_data = __remainder; + if (__exponent != 0) { +@@ -1481,17 +1496,17 @@ + rope<_CharT,_Alloc> __base_rope; + uninitialized_fill_n(__base_buffer, __exponentiate_threshold, __c); + _S_cond_store_eos(__base_buffer[__exponentiate_threshold]); +- __STL_TRY { ++ _STLP_TRY { + __base_leaf = _S_new_RopeLeaf(__base_buffer, + __exponentiate_threshold, __a); + } +- __STL_UNWIND(_RopeRep::_S_free_string(__base_buffer, ++ _STLP_UNWIND(_RopeRep::_S_free_string(__base_buffer, + __exponentiate_threshold, __a)) + __base_rope._M_tree_ptr._M_data = __base_leaf; + if (1 == __exponent) { + __result = __base_rope; + # ifndef __GC +- __STL_ASSERT(2 == __result._M_tree_ptr._M_data->_M_ref_count) ++ _STLP_ASSERT(2 == __result._M_tree_ptr._M_data->_M_ref_count) + // One each for base_rope and __result + # endif + } else { +@@ -1534,7 +1549,7 @@ + _Self& operator=(const _Self& __x) + { + _RopeRep* __old = _M_tree_ptr._M_data; +- __STL_ASSERT(get_allocator() == __x.get_allocator()) ++ _STLP_ASSERT(get_allocator() == __x.get_allocator()) + _M_tree_ptr._M_data = __x._M_tree_ptr._M_data; + _S_ref(_M_tree_ptr._M_data); + _S_unref(__old); +@@ -1569,13 +1584,13 @@ + { + _RopeRep* __old = _M_tree_ptr._M_data; + _RopeRep* __left = +- __STL_ROPE_FROM_UNOWNED_CHAR_PTR(&__x, 1, get_allocator()); +- __STL_TRY { ++ _STLP_ROPE_FROM_UNOWNED_CHAR_PTR(&__x, 1, get_allocator()); ++ _STLP_TRY { + _M_tree_ptr._M_data = _S_concat_rep(__left, _M_tree_ptr._M_data); + _S_unref(__old); + _S_unref(__left); + } +- __STL_UNWIND(_S_unref(__left)) ++ _STLP_UNWIND(_S_unref(__left)) + } + + void pop_front() +@@ -1733,8 +1748,8 @@ + } + + _Self& append(const_iterator __s, const_iterator __e) { +- __STL_ASSERT(__s._M_root == __e._M_root) +- __STL_ASSERT(get_allocator() == __s._M_root->get_allocator()) ++ _STLP_ASSERT(__s._M_root == __e._M_root) ++ _STLP_ASSERT(get_allocator() == __s._M_root->get_allocator()) + _Self_destruct_ptr __appendee(_S_substring( + __s._M_root, __s._M_current_pos, __e._M_current_pos)); + _RopeRep* __result = +@@ -1755,7 +1770,7 @@ + _Self& append() { return append(_CharT()); } // XXX why? + + _Self& append(const _Self& __y) { +- __STL_ASSERT(__y.get_allocator() == get_allocator()) ++ _STLP_ASSERT(__y.get_allocator() == get_allocator()) + _RopeRep* __result = _S_concat_rep(_M_tree_ptr._M_data, __y._M_tree_ptr._M_data); + _S_unref(_M_tree_ptr._M_data); + _M_tree_ptr._M_data = __result; +@@ -1768,7 +1783,7 @@ + } + + void swap(_Self& __b) { +- __STL_ASSERT(get_allocator() == __b.get_allocator()) ++ _STLP_ASSERT(get_allocator() == __b.get_allocator()) + _RopeRep* __tmp = _M_tree_ptr._M_data; + _M_tree_ptr._M_data = __b._M_tree_ptr._M_data; + __b._M_tree_ptr._M_data = __tmp; +@@ -1784,25 +1799,25 @@ + _S_substring(__old, 0, __pos1)); + _Self_destruct_ptr __right( + _S_substring(__old, __pos2, __old->_M_size._M_data)); +- __STL_MPWFIX_TRY //*TY 06/01/2000 - ++ _STLP_MPWFIX_TRY //*TY 06/01/2000 - + _RopeRep* __result; + + if (0 == __r) { + __result = _S_concat_rep(__left, __right); + } else { +- __STL_ASSERT(__old->get_allocator() == __r->get_allocator()) ++ _STLP_ASSERT(__old->get_allocator() == __r->get_allocator()) + _Self_destruct_ptr __left_result(_S_concat_rep(__left, __r)); + __result = _S_concat_rep(__left_result, __right); + } + return __result; +- __STL_MPWFIX_CATCH //*TY 06/01/2000 - ++ _STLP_MPWFIX_CATCH //*TY 06/01/2000 - + } + + public: + void insert(size_t __p, const _Self& __r) { + _RopeRep* __result = + replace(_M_tree_ptr._M_data, __p, __p, __r._M_tree_ptr._M_data); +- __STL_ASSERT(get_allocator() == __r.get_allocator()) ++ _STLP_ASSERT(get_allocator() == __r.get_allocator()) + _S_unref(_M_tree_ptr._M_data); + _M_tree_ptr._M_data = __result; + } +@@ -2055,7 +2070,7 @@ + const_iterator __result = search(const_begin() + (ptrdiff_t)__pos, const_end(), + __s, __s + _S_char_ptr_len(__s)); + __result_pos = __result.index(); +-# ifndef __STL_OLD_ROPE_SEMANTICS ++# ifndef _STLP_OLD_ROPE_SEMANTICS + if (__result_pos == size()) __result_pos = npos; + # endif + return __result_pos; +@@ -2152,7 +2167,7 @@ + return (__x._M_current_pos < __y._M_current_pos); + } + +-#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE ++#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE + + template + inline bool operator!= (const _Rope_const_iterator<_CharT,_Alloc>& __x, +@@ -2178,7 +2193,7 @@ + return !(__x < __y); + } + +-#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ ++#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ + + template + inline ptrdiff_t operator-(const _Rope_const_iterator<_CharT,_Alloc>& __x, +@@ -2222,7 +2237,7 @@ + return (__x._M_current_pos < __y._M_current_pos); + } + +-#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE ++#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE + + template + inline bool operator!= (const _Rope_iterator<_CharT,_Alloc>& __x, +@@ -2248,7 +2263,7 @@ + return !(__x < __y); + } + +-#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ ++#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ + + template + inline ptrdiff_t operator-(const _Rope_iterator<_CharT,_Alloc>& __x, +@@ -2287,7 +2302,7 @@ + operator+ (const rope<_CharT,_Alloc>& __left, + const rope<_CharT,_Alloc>& __right) + { +- __STL_ASSERT(__left.get_allocator() == __right.get_allocator()) ++ _STLP_ASSERT(__left.get_allocator() == __right.get_allocator()) + return rope<_CharT,_Alloc>(rope<_CharT,_Alloc>::_S_concat_rep(__left._M_tree_ptr._M_data, __right._M_tree_ptr._M_data)); + // Inlining this should make it possible to keep __left and + // __right in registers. +@@ -2326,7 +2341,7 @@ + template + inline + rope<_CharT,_Alloc> +-operator+ (const rope<_CharT,_Alloc>& __left, __STL_SIMPLE_TYPE(_CharT) __right) { ++operator+ (const rope<_CharT,_Alloc>& __left, _STLP_SIMPLE_TYPE(_CharT) __right) { + return rope<_CharT,_Alloc>( + rope<_CharT,_Alloc>::_S_concat_char_iter( + __left._M_tree_ptr._M_data, &__right, 1)); +@@ -2335,7 +2350,7 @@ + template + inline + rope<_CharT,_Alloc>& +-operator+= (rope<_CharT,_Alloc>& __left, __STL_SIMPLE_TYPE(_CharT) __right) { ++operator+= (rope<_CharT,_Alloc>& __left, _STLP_SIMPLE_TYPE(_CharT) __right) { + __left.append(__right); + return __left; + } +@@ -2354,7 +2369,7 @@ + return __left.compare(__right) == 0; + } + +-#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE ++#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE + + template + inline bool +@@ -2386,7 +2401,7 @@ + return !(__x == __y); + } + +-#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ ++#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ + + template + inline bool operator== (const _Rope_char_ptr_proxy<_CharT,_Alloc>& __x, +@@ -2394,19 +2409,19 @@ + return (__x._M_pos == __y._M_pos && __x._M_root == __y._M_root); + } + +-#ifdef __STL_USE_NEW_IOSTREAMS ++#ifdef _STLP_USE_NEW_IOSTREAMS + template + basic_ostream<_CharT, _Traits>& operator<< ( + basic_ostream<_CharT, _Traits>& __o, + const rope<_CharT, _Alloc>& __r); +-#elif ! defined (__STL_USE_NO_IOSTREAMS) ++#elif ! defined (_STLP_USE_NO_IOSTREAMS) + template + ostream& operator<< (ostream& __o, const rope<_CharT,_Alloc>& __r); + #endif + +-typedef rope crope; +-# ifdef __STL_HAS_WCHAR_T +-typedef rope wrope; ++typedef rope crope; ++# ifdef _STLP_HAS_WCHAR_T ++typedef rope wrope; + # endif + + inline crope::reference __mutable_reference_at(crope& __c, size_t __i) +@@ -2414,14 +2429,14 @@ + return __c.mutable_reference_at(__i); + } + +-# ifdef __STL_HAS_WCHAR_T ++# ifdef _STLP_HAS_WCHAR_T + inline wrope::reference __mutable_reference_at(wrope& __c, size_t __i) + { + return __c.mutable_reference_at(__i); + } + # endif + +-#ifdef __STL_FUNCTION_TMPL_PARTIAL_ORDER ++#ifdef _STLP_FUNCTION_TMPL_PARTIAL_ORDER + + template + inline void swap(rope<_CharT,_Alloc>& __x, rope<_CharT,_Alloc>& __y) { +@@ -2429,16 +2444,16 @@ + } + #else + +-inline void swap(crope __x, crope __y) { __x.swap(__y); } +-# ifdef __STL_HAS_WCHAR_T // dwa 8/21/97 +-inline void swap(wrope __x, wrope __y) { __x.swap(__y); } ++inline void swap(crope& __x, crope& __y) { __x.swap(__y); } ++# ifdef _STLP_HAS_WCHAR_T // dwa 8/21/97 ++inline void swap(wrope& __x, wrope& __y) { __x.swap(__y); } + # endif + +-#endif /* __STL_FUNCTION_TMPL_PARTIAL_ORDER */ ++#endif /* _STLP_FUNCTION_TMPL_PARTIAL_ORDER */ + + + // Hash functions should probably be revisited later: +-__STL_TEMPLATE_NULL struct hash ++_STLP_TEMPLATE_NULL struct hash + { + size_t operator()(const crope& __str) const + { +@@ -2449,8 +2464,8 @@ + } + }; + +-# ifdef __STL_HAS_WCHAR_T // dwa 8/21/97 +-__STL_TEMPLATE_NULL struct hash ++# ifdef _STLP_HAS_WCHAR_T // dwa 8/21/97 ++_STLP_TEMPLATE_NULL struct hash + { + size_t operator()(const wrope& __str) const + { +@@ -2462,7 +2477,7 @@ + }; + #endif + +-#ifndef __STL_MSVC ++#ifndef _STLP_MSVC + // I couldn't get this to work with VC++ + template + void +@@ -2472,9 +2487,9 @@ + + #if !defined(__GNUC__) + // Appears to confuse g++ +-inline void rotate(_Rope_iterator __first, +- _Rope_iterator __middle, +- _Rope_iterator __last) { ++inline void rotate(_Rope_iterator __first, ++ _Rope_iterator __middle, ++ _Rope_iterator __last) { + _Rope_rotate(__first, __middle, __last); + } + #endif +@@ -2490,13 +2505,13 @@ + return _My_rope::_S_fetch(_M_root->_M_tree_ptr._M_data, _M_pos); + } + } +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-# if !defined (__STL_LINK_TIME_INSTANTIATION) ++# if !defined (_STLP_LINK_TIME_INSTANTIATION) + # include + # endif + +-# endif /* __SGI_STL_INTERNAL_ROPE_H */ ++# endif /* _STLP_INTERNAL_ROPE_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_set.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_set.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_set.h Sat Feb 24 10:45:06 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_set.h Sun Aug 11 18:59:25 2002 +@@ -27,20 +27,20 @@ + * You should not attempt to use it directly. + */ + +-#ifndef __SGI_STL_INTERNAL_SET_H +-#define __SGI_STL_INTERNAL_SET_H ++#ifndef _STLP_INTERNAL_SET_H ++#define _STLP_INTERNAL_SET_H + +-#ifndef __SGI_STL_INTERNAL_TREE_H ++#ifndef _STLP_INTERNAL_TREE_H + #include + #endif + + #define set __WORKAROUND_RENAME(set) + #define multiset __WORKAROUND_RENAME(multiset) + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + template ), +- __STL_DEFAULT_ALLOCATOR_SELECT(_Key) > ++ _STLP_DEFAULT_ALLOCATOR_SELECT(_Key) > + class set { + public: + // typedefs: +@@ -75,19 +75,20 @@ + const allocator_type& __a = allocator_type()) + : _M_t(__comp, __a) {} + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + template + set(_InputIterator __first, _InputIterator __last) + : _M_t(_Compare(), allocator_type()) + { _M_t.insert_unique(__first, __last); } + ++# ifdef _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS + template + set(_InputIterator __first, _InputIterator __last, const _Compare& __comp) + : _M_t(__comp, allocator_type()) { _M_t.insert_unique(__first, __last); } +- ++# endif + template + set(_InputIterator __first, _InputIterator __last, const _Compare& __comp, +- const allocator_type& __a) ++ const allocator_type& __a _STLP_ALLOCATOR_TYPE_DFL) + : _M_t(__comp, __a) { _M_t.insert_unique(__first, __last); } + #else + set(const value_type* __first, const value_type* __last) +@@ -106,7 +107,7 @@ + set(const_iterator __first, const_iterator __last, const _Compare& __comp, + const allocator_type& __a = allocator_type()) + : _M_t(__comp, __a) { _M_t.insert_unique(__first, __last); } +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + set(const set<_Key,_Compare,_Alloc>& __x) : _M_t(__x._M_t) {} + set<_Key,_Compare,_Alloc>& operator=(const set<_Key, _Compare, _Alloc>& __x) +@@ -140,7 +141,7 @@ + typedef typename _Rep_type::iterator _Rep_iterator; + return _M_t.insert_unique((_Rep_iterator&)__position, __x); + } +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + template + void insert(_InputIterator __first, _InputIterator __last) { + _M_t.insert_unique(__first, __last); +@@ -152,7 +153,7 @@ + void insert(const value_type* __first, const value_type* __last) { + _M_t.insert_unique(__first, __last); + } +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + void erase(iterator __position) { + typedef typename _Rep_type::iterator _Rep_iterator; + _M_t.erase((_Rep_iterator&)__position); +@@ -167,8 +168,12 @@ + void clear() { _M_t.clear(); } + + // set operations: +- ++# if defined(_STLP_MEMBER_TEMPLATES) && ! defined ( _STLP_NO_EXTENSIONS ) ++ template ++ iterator find(const _KT& __x) const { return _M_t.find(__x); } ++# else + iterator find(const key_type& __x) const { return _M_t.find(__x); } ++# endif + size_type count(const key_type& __x) const { + return _M_t.find(__x) == _M_t.end() ? 0 : 1 ; + } +@@ -184,7 +189,7 @@ + }; + + template ), +- __STL_DEFAULT_ALLOCATOR_SELECT(_Key) > ++ _STLP_DEFAULT_ALLOCATOR_SELECT(_Key) > + class multiset { + public: + // typedefs: +@@ -219,22 +224,23 @@ + const allocator_type& __a = allocator_type()) + : _M_t(__comp, __a) {} + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + + template + multiset(_InputIterator __first, _InputIterator __last) + : _M_t(_Compare(), allocator_type()) + { _M_t.insert_equal(__first, __last); } + ++# ifdef _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS + template + multiset(_InputIterator __first, _InputIterator __last, + const _Compare& __comp) + : _M_t(__comp, allocator_type()) { _M_t.insert_equal(__first, __last); } +- ++# endif + template + multiset(_InputIterator __first, _InputIterator __last, + const _Compare& __comp, +- const allocator_type& __a) ++ const allocator_type& __a _STLP_ALLOCATOR_TYPE_DFL) + : _M_t(__comp, __a) { _M_t.insert_equal(__first, __last); } + + #else +@@ -257,7 +263,7 @@ + const allocator_type& __a = allocator_type()) + : _M_t(__comp, __a) { _M_t.insert_equal(__first, __last); } + +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + multiset(const multiset<_Key,_Compare,_Alloc>& __x) : _M_t(__x._M_t) {} + multiset<_Key,_Compare,_Alloc>& +@@ -290,7 +296,7 @@ + return _M_t.insert_equal((_Rep_iterator&)__position, __x); + } + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + template + void insert(_InputIterator __first, _InputIterator __last) { + _M_t.insert_equal(__first, __last); +@@ -302,7 +308,7 @@ + void insert(const_iterator __first, const_iterator __last) { + _M_t.insert_equal(__first, __last); + } +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + void erase(iterator __position) { + typedef typename _Rep_type::iterator _Rep_iterator; + _M_t.erase((_Rep_iterator&)__position); +@@ -318,7 +324,12 @@ + + // multiset operations: + ++# if defined(_STLP_MEMBER_TEMPLATES) && ! defined ( _STLP_NO_EXTENSIONS ) ++ template ++ iterator find(const _KT& __x) const { return _M_t.find(__x); } ++# else + iterator find(const key_type& __x) const { return _M_t.find(__x); } ++# endif + size_type count(const key_type& __x) const { return _M_t.count(__x); } + iterator lower_bound(const key_type& __x) const { + return _M_t.lower_bound(__x); +@@ -331,16 +342,16 @@ + } + }; + +-# define __STL_TEMPLATE_HEADER template +-# define __STL_TEMPLATE_CONTAINER set<_Key,_Compare,_Alloc> ++# define _STLP_TEMPLATE_HEADER template ++# define _STLP_TEMPLATE_CONTAINER set<_Key,_Compare,_Alloc> + # include +-# undef __STL_TEMPLATE_CONTAINER +-# define __STL_TEMPLATE_CONTAINER multiset<_Key,_Compare,_Alloc> ++# undef _STLP_TEMPLATE_CONTAINER ++# define _STLP_TEMPLATE_CONTAINER multiset<_Key,_Compare,_Alloc> + # include +-# undef __STL_TEMPLATE_CONTAINER +-# undef __STL_TEMPLATE_HEADER ++# undef _STLP_TEMPLATE_CONTAINER ++# undef _STLP_TEMPLATE_HEADER + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + + // do a cleanup + # undef set +@@ -349,11 +360,11 @@ + # define __set__ __FULL_NAME(set) + # define __multiset__ __FULL_NAME(multiset) + +-# ifdef __STL_USE_WRAPPER_FOR_ALLOC_PARAM ++# ifdef _STLP_USE_WRAPPER_FOR_ALLOC_PARAM + # include + # endif + +-#endif /* __SGI_STL_INTERNAL_SET_H */ ++#endif /* _STLP_INTERNAL_SET_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_set_operators.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_set_operators.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_set_operators.h Sat Feb 24 10:45:06 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_set_operators.h Sun Aug 11 18:59:25 2002 +@@ -1,54 +1,54 @@ + // This is an implementation file which +-// is intended to be included multiple times with different __STL_ASSOCIATIVE_CONTAINER ++// is intended to be included multiple times with different _STLP_ASSOCIATIVE_CONTAINER + // setting + + template +-inline bool __STL_CALL operator==(const __STL_SET_FLAVOR<_Key,_Compare,_Alloc>& __x, +- const __STL_SET_FLAVOR<_Key,_Compare,_Alloc>& __y) { ++inline bool _STLP_CALL operator==(const _STLP_SET_FLAVOR<_Key,_Compare,_Alloc>& __x, ++ const _STLP_SET_FLAVOR<_Key,_Compare,_Alloc>& __y) { + return __x.size() == __y.size() && + equal(__x.begin(), __x.end(), __y.begin()); + } + + template +-inline bool __STL_CALL operator<(const __STL_SET_FLAVOR<_Key,_Compare,_Alloc>& __x, +- const __STL_SET_FLAVOR<_Key,_Compare,_Alloc>& __y) { ++inline bool _STLP_CALL operator<(const _STLP_SET_FLAVOR<_Key,_Compare,_Alloc>& __x, ++ const _STLP_SET_FLAVOR<_Key,_Compare,_Alloc>& __y) { + return lexicographical_compare(__x.begin(), __x.end(), + __y.begin(), __y.end()); + } + +-#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE ++#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE + + template +-inline bool __STL_CALL operator!=(const __STL_SET_FLAVOR<_Key,_Compare,_Alloc>& __x, +- const __STL_SET_FLAVOR<_Key,_Compare,_Alloc>& __y) { ++inline bool _STLP_CALL operator!=(const _STLP_SET_FLAVOR<_Key,_Compare,_Alloc>& __x, ++ const _STLP_SET_FLAVOR<_Key,_Compare,_Alloc>& __y) { + return !(__x == __y); + } + + template +-inline bool __STL_CALL operator>(const __STL_SET_FLAVOR<_Key,_Compare,_Alloc>& __x, +- const __STL_SET_FLAVOR<_Key,_Compare,_Alloc>& __y) { ++inline bool _STLP_CALL operator>(const _STLP_SET_FLAVOR<_Key,_Compare,_Alloc>& __x, ++ const _STLP_SET_FLAVOR<_Key,_Compare,_Alloc>& __y) { + return __y < __x; + } + + template +-inline bool __STL_CALL operator<=(const __STL_SET_FLAVOR<_Key,_Compare,_Alloc>& __x, +- const __STL_SET_FLAVOR<_Key,_Compare,_Alloc>& __y) { ++inline bool _STLP_CALL operator<=(const _STLP_SET_FLAVOR<_Key,_Compare,_Alloc>& __x, ++ const _STLP_SET_FLAVOR<_Key,_Compare,_Alloc>& __y) { + return !(__y < __x); + } + + template +-inline bool __STL_CALL operator>=(const __STL_SET_FLAVOR<_Key,_Compare,_Alloc>& __x, +- const __STL_SET_FLAVOR<_Key,_Compare,_Alloc>& __y) { ++inline bool _STLP_CALL operator>=(const _STLP_SET_FLAVOR<_Key,_Compare,_Alloc>& __x, ++ const _STLP_SET_FLAVOR<_Key,_Compare,_Alloc>& __y) { + return !(__x < __y); + } +-#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ ++#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ + +-#ifdef __STL_FUNCTION_TMPL_PARTIAL_ORDER ++#ifdef _STLP_FUNCTION_TMPL_PARTIAL_ORDER + + template +-inline void __STL_CALL swap(__STL_SET_FLAVOR<_Key,_Compare,_Alloc>& __x, +- __STL_SET_FLAVOR<_Key,_Compare,_Alloc>& __y) { ++inline void _STLP_CALL swap(_STLP_SET_FLAVOR<_Key,_Compare,_Alloc>& __x, ++ _STLP_SET_FLAVOR<_Key,_Compare,_Alloc>& __y) { + __x.swap(__y); + } + +-#endif /* __STL_FUNCTION_TMPL_PARTIAL_ORDER */ ++#endif /* _STLP_FUNCTION_TMPL_PARTIAL_ORDER */ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_site_config.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_site_config.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_site_config.h Sat Feb 24 10:45:18 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_site_config.h Sun Aug 11 18:59:25 2002 +@@ -4,101 +4,102 @@ + // + + /* +- * __STL_NO_THREADS: if defined, STLport don't use any ++ * _STLP_NO_THREADS: if defined, STLport don't use any + * multithreading support. Synonym is _NOTHREADS + */ + // #define _NOTHREADS +-// #define __STL_NO_THREADS ++// #define _STLP_NO_THREADS + + /* _PTHREADS: if defined, use Posix threads for multithreading support. */ + // #define _PTHREADS + +-/* +- * Consistency check : if we use SGI iostreams, we have to use consistent +- * thread model (single-threaded or multi-threaded) with the compiled library +- * +- * Default is multithreaded build. If you want to build and use single-threaded +- * STLport, please change __STL_NOTHREADS configuration setting above and rebuild the library +- * +- */ ++// compatibility section + +-# if defined (__STL_NO_IOSTREAMS) || defined (__STL_NO_NEW_IOSTREAMS) +-# define __STL_NO_SGI_IOSTREAMS ++# if defined (_STLP_NO_IOSTREAMS) || defined (_STLP_NO_NEW_IOSTREAMS) && ! defined ( _STLP_NO_OWN_IOSTREAMS ) ++# define _STLP_NO_OWN_IOSTREAMS + # endif + +-# if !defined (__STL_NO_SGI_IOSTREAMS) && ! defined (__SGI_STL_OWN_IOSTREAMS) +-# define __SGI_STL_OWN_IOSTREAMS ++# if !defined (_STLP_NO_OWN_IOSTREAMS) && ! defined (_STLP_OWN_IOSTREAMS) ++# define _STLP_OWN_IOSTREAMS + # endif + +- +-# if defined (__SGI_STL_OWN_IOSTREAMS) \ +- && !defined (__STL_NO_THREADS) && ! defined (_NOTHREADS) && !defined (_REENTRANT) +- +-# if defined(_MSC_VER) && !defined(__MWERKS__) && !defined (__COMO__) && !defined(_MT) +-# error "Only multi-threaded runtime library may be linked with STLport!" ++# if (defined (_STLP_NOTHREADS) || defined (_STLP_NO_THREADS) || defined (NOTHREADS)) ++# if ! defined (_NOTHREADS) ++# define _NOTHREADS + # endif +- +-// boris : you may change that to build non-threadsafe STLport library +-# if defined (__BUILDING_STLPORT) +-# define _REENTRANT 1 ++# if ! defined (_STLP_NO_THREADS) ++# define _STLP_NO_THREADS + # endif +- + # endif + + /* +- * Turn __STL_USE_DYNAMIC_LIB to enforce use of .dll version of STLport library. ++ * Turn _STLP_USE_DYNAMIC_LIB to enforce use of .dll version of STLport library. + * NOTE : please do that only if you know what you are doing ! + * Changing default will require you to change makefile in "src" accordingly + * and to rebuild STLPort library ! + * On UNIX, this has no effect. + * + */ +-// # define __STL_USE_DYNAMIC_LIB ++// # define _STLP_USE_DYNAMIC_LIB + + /* +- * Turn __STL_USE_STATIC_LIB to enforce use of static version of STLport library. ++ * Turn _STLP_USE_STATIC_LIB to enforce use of static version of STLport library. + * NOTE : please do that only if you know what you are doing ! + * Changing default will require you to change makefile in "src" accordingly + * and to rebuild STLPort library ! + * On UNIX, this has no effect. + * + */ +-// # define __STL_USE_STATIC_LIB ++// # define _STLP_USE_STATIC_LIB + + + /* +- * __STL_USE_OWN_NAMESPACE/__STL_NO_OWN_NAMESPACE ++ * Edit relative path below (or put full path) to get native ++ * compiler vendor's headers included. Default is "../include" ++ * Hint : never install STLport in the directory that ends with "include" ++ */ ++// # undef _STLP_NATIVE_INCLUDE_PATH ++// # define _STLP_NATIVE_INCLUDE_PATH ../include ++// same for C library headers like ++// # undef _STLP_NATIVE_CPP_C_INCLUDE_PATH ++// # define _STLP_NATIVE_CPP_C_INCLUDE_PATH ../include ++// same for C headers like ++// # undef _STLP_NATIVE_C_INCLUDE_PATH ++// # define _STLP_NATIVE_C_INCLUDE_PATH ../include ++ ++ ++/* ++ * _STLP_USE_OWN_NAMESPACE/_STLP_NO_OWN_NAMESPACE + * If defined, STLport uses _STL:: namespace, else std:: +- * The reason you have to use separate namespace is that new-style IO ++ * The reason you have to use separate namespace in wrapper mode is that new-style IO + * compiled library may have its own idea about STL stuff (string, vector, etc.), + * so redefining them in the same namespace would break ODR and may cause + * undefined behaviour. Rule of thumb is - if new-style iostreams are + * available, there WILL be a conflict. Otherwise you should be OK. +- * This flag is going to be defined by default in stl_config.h if __STL_USE_NEW_IOSTREAMS is on. +- * But you may wish to force it anyway. +- * Alternatively, you may want to disable it setting __STL_NO_OWN_NAMESPACE on. ++ * In STLport iostreams mode, there is no need for this flag other than to facilitate ++ * link with third-part libraries compiled with different standard library implementation. + */ +-// # define __STL_USE_OWN_NAMESPACE 1 +-// # define __STL_NO_OWN_NAMESPACE 1 ++// # define _STLP_USE_OWN_NAMESPACE 1 ++// # define _STLP_NO_OWN_NAMESPACE 1 + + + /* +- * Uncomment __STL_USE_NEWALLOC to force allocator to use plain "new" +- * instead of SGI optimized node allocator engine. ++ * Uncomment _STLP_USE_NEWALLOC to force allocator to use plain "new" ++ * instead of STLport optimized node allocator engine. + */ +-// #define __STL_USE_NEWALLOC 1 ++// #define _STLP_USE_NEWALLOC 1 + + /* +- * Uncomment __STL_USE_MALLOC to force allocator to use plain "malloc" +- * instead of SGI optimized node allocator engine. ++ * Uncomment _STLP_USE_MALLOC to force allocator to use plain "malloc" ++ * instead of STLport optimized node allocator engine. + */ +-// #define __STL_USE_MALLOC 1 ++// #define _STLP_USE_MALLOC 1 + + /* +- * Set __STL_DEBUG_ALLOC to use allocators that perform memory debugging, ++ * Set _STLP_DEBUG_ALLOC to use allocators that perform memory debugging, + * such as padding/checking for memory consistency + */ +-// #define __STL_DEBUG_ALLOC 1 ++// #define _STLP_DEBUG_ALLOC 1 + + + /* +@@ -111,37 +112,37 @@ + * Note : If you set this macro, you must supply __stl_debug_message + * function definition somewhere. + */ +-//#define __STL_DEBUG_MESSAGE 1 ++//#define _STLP_DEBUG_MESSAGE 1 + + /* + * Uncomment this to force all failed assertions to be executed through + * user-defined global function: + * void __stl_debug_terminate(void). This allows + * you to take control of assertion behaviour for debugging purposes. +- * Default routine throws unique exception if __STL_USE_EXCEPTIONS is set, +- * calls abort() otherwise. ++ * Default routine throws unique exception if _STLP_USE_EXCEPTIONS is set, ++ * calls _STLP_ABORT() otherwise. + * Note : If you set this macro, you must supply __stl_debug_terminate + * function definition somewhere. + */ +-//#define __STL_DEBUG_TERMINATE 1 ++//#define _STLP_DEBUG_TERMINATE 1 + + /* + * Comment this out to enable throwing exceptions from default __stl_debug_terminate() +- * instead of calling abort(). ++ * instead of calling _STLP_ABORT(). + */ +-#define __STL_NO_DEBUG_EXCEPTIONS 1 ++#define _STLP_NO_DEBUG_EXCEPTIONS 1 + + /* + * Uncomment that to disable exception handling code + */ +-// #define __STL_NO_EXCEPTIONS 1 ++// #define _STLP_NO_EXCEPTIONS 1 + + /* +- * __STL_NO_NAMESPACES: if defined, don't put the library in namespace ++ * _STLP_NO_NAMESPACES: if defined, don't put the library in namespace + * stlport:: or std::, even if the compiler supports namespaces + */ + +-// #define __STL_NO_NAMESPACES 1 ++// #define _STLP_NO_NAMESPACES 1 + + //========================================================== + // Compatibility section +@@ -152,23 +153,36 @@ + * This option is obsolete, but should work in this release. + * + */ +-// # define __STL_USE_ABBREVS ++// # define _STLP_USE_ABBREVS + + /* +- * This definition precludes SGI reverse_iterator to be compatible with ++ * This definition precludes STLport reverse_iterator to be compatible with + * other parts of MSVC library. (With partial specialization, it just + * has no effect). + * Use it _ONLY_ if you use SGI-style reverse_iterator<> template explicitly + */ +-// # define __STL_NO_MSVC50_COMPATIBILITY 1 ++// # define _STLP_NO_MSVC50_COMPATIBILITY 1 + + /* +- * __STL_USE_SGI_ALLOCATORS is a hook so that users can disable use of ++ * _STLP_USE_RAW_SGI_ALLOCATORS is a hook so that users can disable use of + * allocator as default parameter for containers, and use SGI + * raw allocators as default ones, without having to edit library headers. +- * Use of this macro is discouraged. ++ * Use of this macro is strongly discouraged. + */ +-// #define __STL_USE_SGI_ALLOCATORS 1 ++// #define _STLP_USE_RAW_SGI_ALLOCATORS 1 ++ ++/* ++ * Use obsolete overloaded template functions iterator_category(), value_type(), distance_type() ++ * for querying iterator properties. Please note those names are non-standard and are not guaranteed ++ * to be used by every implementation. However, this setting is on by default when partial specialization ++ * is not implemented in the compiler and cannot be sumulated (only if _STLP_NO_ANACHRONISMS is not set). ++ * Use of those interfaces for user-defined iterators is strongly discouraged: ++ * please use public inheritance from iterator<> template to achieve desired effect. ++ * Second form is to disable old-style queries in any case. ++ */ ++// # define _STLP_USE_OLD_HP_ITERATOR_QUERIES ++// # define _STLP_NO_OLD_HP_ITERATOR_QUERIES ++ + + //========================================================================== + +@@ -176,5 +190,5 @@ + // but so few compilers would have it undefined, so that we set them here, + // with the option to be turned off later in compiler-specific file + +-# define __STL_INCOMPLETE_EXCEPTION_HEADER ++# define _STLP_INCOMPLETE_EXCEPTION_HEADER + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_slist.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_slist.c +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_slist.c Sat Feb 24 10:45:06 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_slist.c Sun Aug 11 18:59:25 2002 +@@ -16,16 +16,20 @@ + * modified is included with the above copyright notice. + * + */ +-#ifndef __STL_SLIST_C +-#define __STL_SLIST_C ++#ifndef _STLP_SLIST_C ++#define _STLP_SLIST_C ++ ++#ifndef _STLP_INTERNAL_SLIST_H ++# include ++#endif + + # undef slist + # define slist __WORKAROUND_DBG_RENAME(slist) +-# if defined (__STL_NESTED_TYPE_PARAM_BUG) ++# if defined (_STLP_NESTED_TYPE_PARAM_BUG) + # define size_type size_t + # endif + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + template + _Slist_node_base* +@@ -42,94 +46,6 @@ + return __last_node; + } + +-#if defined (__STL_MEMBER_TEMPLATES) && ! defined (__STL_INLINE_MEMBER_TEMPLATES) +-template template +-void +-slist<_Tp,_Alloc>::_M_assign_dispatch(_InputIter __first, _InputIter __last, +- __false_type) +-{ +- _Node_base* __prev = &this->_M_head._M_data; +- _Node* __node = (_Node*) this->_M_head._M_data._M_next; +- while (__node != 0 && __first != __last) { +- __node->_M_data = *__first; +- __prev = __node; +- __node = (_Node*) __node->_M_next; +- ++__first; +- } +- if (__first != __last) +- _M_insert_after_range(__prev, __first, __last); +- else +- this->_M_erase_after(__prev, 0); +-} +- +-template template +-void slist<_Tp,_Alloc>::remove_if(_Predicate __pred) { +- _Node_base* __cur = &this->_M_head._M_data; +- while (__cur->_M_next) { +- if (__pred(((_Node*) __cur->_M_next)->_M_data)) +- this->_M_erase_after(__cur); +- else +- __cur = __cur->_M_next; +- } +-} +- +-template template +-void slist<_Tp,_Alloc>::unique(_BinaryPredicate __pred) { +- _Node* __cur = (_Node*) this->_M_head._M_data._M_next; +- if (__cur) { +- while (__cur->_M_next) { +- if (__pred(((_Node*)__cur)->_M_data, +- ((_Node*)(__cur->_M_next))->_M_data)) +- this->_M_erase_after(__cur); +- else +- __cur = (_Node*) __cur->_M_next; +- } +- } +-} +- +-template template +-void slist<_Tp,_Alloc>::merge(slist<_Tp,_Alloc>& __x, +- _StrictWeakOrdering __comp) { +- _Node_base* __n1 = &this->_M_head._M_data; +- while (__n1->_M_next && __x._M_head._M_data._M_next) { +- if (__comp(((_Node*) __x._M_head._M_data._M_next)->_M_data, +- ((_Node*) __n1->_M_next)->_M_data)) +- _Sl_global_inst::__splice_after(__n1, &__x._M_head._M_data, __x._M_head._M_data._M_next); +- __n1 = __n1->_M_next; +- } +- if (__x._M_head._M_data._M_next) { +- __n1->_M_next = __x._M_head._M_data._M_next; +- __x._M_head._M_data._M_next = 0; +- } +-} +- +-template template +-void slist<_Tp,_Alloc>::sort(_StrictWeakOrdering __comp) { +- if (this->_M_head._M_data._M_next && this->_M_head._M_data._M_next->_M_next) { +- slist<_Tp,_Alloc> __carry; +- slist<_Tp,_Alloc> __counter[64]; +- int __fill = 0; +- while (!empty()) { +- _Sl_global_inst::__splice_after(&__carry._M_head._M_data, &this->_M_head._M_data, this->_M_head._M_data._M_next); +- int __i = 0; +- while (__i < __fill && !__counter[__i].empty()) { +- __counter[__i].merge(__carry, __comp); +- __carry.swap(__counter[__i]); +- ++__i; +- } +- __carry.swap(__counter[__i]); +- if (__i == __fill) +- ++__fill; +- } +- +- for (int __i = 1; __i < __fill; ++__i) +- __counter[__i].merge(__counter[__i-1], __comp); +- this->swap(__counter[__fill-1]); +- } +-} +- +-#endif /* __STL_MEMBER_TEMPLATES */ +- + template + slist<_Tp,_Alloc>& slist<_Tp,_Alloc>::operator=(const slist<_Tp,_Alloc>& __x) + { +@@ -254,9 +170,9 @@ + # undef slist + # undef size_type + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-#endif /* __STL_SLIST_C */ ++#endif /* _STLP_SLIST_C */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_slist.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_slist.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_slist.h Sat Feb 24 10:45:07 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_slist.h Sun Aug 11 18:59:25 2002 +@@ -24,38 +24,34 @@ + * You should not attempt to use it directly. + */ + +-#ifndef __SGI_STL_INTERNAL_SLIST_H +-#define __SGI_STL_INTERNAL_SLIST_H ++#ifndef _STLP_INTERNAL_SLIST_H ++#define _STLP_INTERNAL_SLIST_H + + +-# ifndef __SGI_STL_INTERNAL_ALGOBASE_H ++# ifndef _STLP_INTERNAL_ALGOBASE_H + # include + # endif + +-# ifndef __SGI_STL_INTERNAL_ALLOC_H ++# ifndef _STLP_INTERNAL_ALLOC_H + # include + # endif + +-# ifndef __SGI_STL_INTERNAL_ITERATOR_H ++# ifndef _STLP_INTERNAL_ITERATOR_H + # include + # endif + +-# ifndef __SGI_STL_INTERNAL_CONSTRUCT_H ++# ifndef _STLP_INTERNAL_CONSTRUCT_H + # include + # endif + +-# ifndef __SGI_STL_INTERNAL_SLIST_BASE_H ++# ifndef _STLP_INTERNAL_SLIST_BASE_H + # include + # endif + +-# if defined ( __STL_USE_ABBREVS ) +-# define __slist_iterator _L__It +-# endif +- + # undef slist + # define slist __WORKAROUND_DBG_RENAME(slist) + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + template + struct _Slist_node : public _Slist_node_base +@@ -75,7 +71,7 @@ + _Slist_iterator_base(_Slist_node_base* __x) : _M_node(__x) {} + + void _M_incr() { +-// __STL_VERBOSE_ASSERT(_M_node != 0, _StlMsg_INVALID_ADVANCE) ++// _STLP_VERBOSE_ASSERT(_M_node != 0, _StlMsg_INVALID_ADVANCE) + _M_node = _M_node->_M_next; + } + bool operator==(const _Slist_iterator_base& __y ) const { +@@ -86,9 +82,9 @@ + } + }; + +-# ifdef __STL_USE_OLD_HP_ITERATOR_QUERIES +-inline ptrdiff_t* __STL_CALL __DISTANCE_TYPE(const _Slist_iterator_base&) { return 0; } +-inline forward_iterator_tag __STL_CALL __ITERATOR_CATEGORY(const _Slist_iterator_base&) { return forward_iterator_tag(); } ++# ifdef _STLP_USE_OLD_HP_ITERATOR_QUERIES ++inline ptrdiff_t* _STLP_CALL distance_type(const _Slist_iterator_base&) { return 0; } ++inline forward_iterator_tag _STLP_CALL iterator_category(const _Slist_iterator_base&) { return forward_iterator_tag(); } + #endif + + template +@@ -113,7 +109,7 @@ + + reference operator*() const { return ((_Node*) _M_node)->_M_data; } + +- __STL_DEFINE_ARROW_OPERATOR ++ _STLP_DEFINE_ARROW_OPERATOR + + _Self& operator++() + { +@@ -128,23 +124,21 @@ + } + }; + +-#ifndef __STL_CLASS_PARTIAL_SPECIALIZATION +- ++#ifdef _STLP_USE_OLD_HP_ITERATOR_QUERIES + template +-inline _Tp* __STL_CALL +-__value_type(const _Slist_iterator<_Tp, _Traits>&) { return (_Tp*)0; } +- +-#endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */ ++inline _Tp* _STLP_CALL value_type(const _Slist_iterator<_Tp, _Traits>&) { return (_Tp*)0; } ++#endif /* OLD_QUERIES */ + + // Base class that encapsulates details of allocators and simplifies EH + + template + struct _Slist_base { ++ _STLP_FORCE_ALLOCATORS(_Tp, _Alloc) + typedef typename _Alloc_traits<_Tp,_Alloc>::allocator_type allocator_type; + typedef _Slist_node<_Tp> _Node; + + _Slist_base(const allocator_type& __a) : +- _M_head(__STL_CONVERT_ALLOCATOR(__a, _Node), _Slist_node_base() ) { ++ _M_head(_STLP_CONVERT_ALLOCATOR(__a, _Node), _Slist_node_base() ) { + _M_head._M_data._M_next = 0; + } + ~_Slist_base() { _M_erase_after(&_M_head._M_data, 0); } +@@ -165,12 +159,12 @@ + + public: + allocator_type get_allocator() const { +- return __STL_CONVERT_ALLOCATOR((const _M_node_allocator_type&)_M_head, _Tp); ++ return _STLP_CONVERT_ALLOCATOR((const _M_node_allocator_type&)_M_head, _Tp); + } +- _STL_alloc_proxy<_Slist_node_base, _Node, _M_node_allocator_type> _M_head; ++ _STLP_alloc_proxy<_Slist_node_base, _Node, _M_node_allocator_type> _M_head; + }; + +-template ++template + class slist : protected _Slist_base<_Tp,_Alloc> + { + private: +@@ -189,6 +183,7 @@ + typedef _Slist_iterator<_Tp, _Nonconst_traits<_Tp> > iterator; + typedef _Slist_iterator<_Tp, _Const_traits<_Tp> > const_iterator; + ++ _STLP_FORCE_ALLOCATORS(_Tp, _Alloc) + typedef typename _Base::allocator_type allocator_type; + + +@@ -199,21 +194,21 @@ + + _Node* _M_create_node(const value_type& __x) { + _Node* __node = this->_M_head.allocate(1); +- __STL_TRY { ++ _STLP_TRY { + _Construct(&__node->_M_data, __x); + __node->_M_next = 0; + } +- __STL_UNWIND(this->_M_head.deallocate(__node, 1)); ++ _STLP_UNWIND(this->_M_head.deallocate(__node, 1)); + return __node; + } + + _Node* _M_create_node() { + _Node* __node = this->_M_head.allocate(1); +- __STL_TRY { ++ _STLP_TRY { + _Construct(&__node->_M_data); + __node->_M_next = 0; + } +- __STL_UNWIND(this->_M_head.deallocate(__node, 1)); ++ _STLP_UNWIND(this->_M_head.deallocate(__node, 1)); + return __node; + } + +@@ -229,21 +224,22 @@ + explicit slist(size_type __n) : _Slist_base<_Tp,_Alloc>(allocator_type()) + { _M_insert_after_fill(&this->_M_head._M_data, __n, value_type()); } + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + // We don't need any dispatching tricks here, because _M_insert_after_range + // already does them. + template + slist(_InputIterator __first, _InputIterator __last, +- const allocator_type& __a) : ++ const allocator_type& __a _STLP_ALLOCATOR_TYPE_DFL) : + _Slist_base<_Tp,_Alloc>(__a) + { _M_insert_after_range(&this->_M_head._M_data, __first, __last); } ++# ifdef _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS + // VC++ needs this crazyness + template + slist(_InputIterator __first, _InputIterator __last) : + _Slist_base<_Tp,_Alloc>(allocator_type()) + { _M_insert_after_range(&this->_M_head._M_data, __first, __last); } +- +-#else /* __STL_MEMBER_TEMPLATES */ ++# endif ++#else /* _STLP_MEMBER_TEMPLATES */ + slist(const_iterator __first, const_iterator __last, + const allocator_type& __a = allocator_type() ) : + _Slist_base<_Tp,_Alloc>(__a) +@@ -252,7 +248,7 @@ + const allocator_type& __a = allocator_type()) : + _Slist_base<_Tp,_Alloc>(__a) + { _M_insert_after_range(&this->_M_head._M_data, __first, __last); } +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + slist(const _Self& __x) : _Slist_base<_Tp,_Alloc>(__x.get_allocator()) + { _M_insert_after_range(&this->_M_head._M_data, __x.begin(), __x.end()); } +@@ -272,7 +268,7 @@ + + void _M_fill_assign(size_type __n, const _Tp& __val); + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + + template + void assign(_InputIterator __first, _InputIterator __last) { +@@ -281,17 +277,13 @@ + } + + template +- void _M_assign_dispatch(_Integer __n, _Integer __val, __true_type) ++ void _M_assign_dispatch(_Integer __n, _Integer __val, const __true_type&) + { _M_fill_assign((size_type) __n, (_Tp) __val); } + + template + void + _M_assign_dispatch(_InputIter __first, _InputIter __last, +- __false_type) +-# ifndef __STL_INLINE_MEMBER_TEMPLATES +-; +-# else +- { ++ const __false_type&) { + _Node_base* __prev = &this->_M_head._M_data; + _Node* __node = (_Node*) this->_M_head._M_data._M_next; + while (__node != 0 && __first != __last) { +@@ -305,8 +297,7 @@ + else + this->_M_erase_after(__prev, 0); + } +-# endif /* __STL_INLINE_MEMBER_TEMPLATES */ +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + public: + +@@ -335,7 +326,7 @@ + bool empty() const { return this->_M_head._M_data._M_next == 0; } + + void swap(_Self& __x) { +- __STLPORT_STD::swap(this->_M_head._M_data._M_next, __x._M_head._M_data._M_next); ++ _STLP_STD::swap(this->_M_head, __x._M_head); + } + + public: +@@ -345,7 +336,11 @@ + void push_front(const value_type& __x) { + __slist_make_link(&this->_M_head._M_data, _M_create_node(__x)); + } ++ ++# ifndef _STLP_NO_ANACHRONISMS + void push_front() { __slist_make_link(&this->_M_head._M_data, _M_create_node());} ++# endif ++ + void pop_front() { + _Node* __node = (_Node*) this->_M_head._M_data._M_next; + this->_M_head._M_data._M_next = __node->_M_next; +@@ -375,7 +370,7 @@ + __pos = __slist_make_link(__pos, _M_create_node(__x)); + } + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + + // Check whether it's an integral type. If so, it's not an iterator. + template +@@ -387,21 +382,21 @@ + + template + void _M_insert_after_range(_Node_base* __pos, _Integer __n, _Integer __x, +- __true_type) { ++ const __true_type&) { + _M_insert_after_fill(__pos, __n, __x); + } + + template + void _M_insert_after_range(_Node_base* __pos, + _InIter __first, _InIter __last, +- __false_type) { ++ const __false_type&) { + while (__first != __last) { + __pos = __slist_make_link(__pos, _M_create_node(*__first)); + ++__first; + } + } + +-#else /* __STL_MEMBER_TEMPLATES */ ++#else /* _STLP_MEMBER_TEMPLATES */ + + void _M_insert_after_range(_Node_base* __pos, + const_iterator __first, const_iterator __last) { +@@ -419,7 +414,7 @@ + } + } + +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + public: + +@@ -435,7 +430,7 @@ + _M_insert_after_fill(__pos._M_node, __n, __x); + } + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + + // We don't need any dispatching tricks here, because _M_insert_after_range + // already does them. +@@ -444,7 +439,7 @@ + _M_insert_after_range(__pos._M_node, __first, __last); + } + +-#else /* __STL_MEMBER_TEMPLATES */ ++#else /* _STLP_MEMBER_TEMPLATES */ + + void insert_after(iterator __pos, + const_iterator __first, const_iterator __last) { +@@ -455,7 +450,7 @@ + _M_insert_after_range(__pos._M_node, __first, __last); + } + +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + iterator insert(iterator __pos, const value_type& __x) { + return iterator(_M_insert_after(_Sl_global_inst::__previous(&this->_M_head._M_data, __pos._M_node), +@@ -471,7 +466,7 @@ + _M_insert_after_fill(_Sl_global_inst::__previous(&this->_M_head._M_data, __pos._M_node), __n, __x); + } + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + + // We don't need any dispatching tricks here, because _M_insert_after_range + // already does them. +@@ -481,7 +476,7 @@ + __first, __last); + } + +-#else /* __STL_MEMBER_TEMPLATES */ ++#else /* _STLP_MEMBER_TEMPLATES */ + + void insert(iterator __pos, const_iterator __first, const_iterator __last) { + _M_insert_after_range(_Sl_global_inst::__previous(&this->_M_head._M_data, __pos._M_node), +@@ -493,7 +488,7 @@ + __first, __last); + } + +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + + public: +@@ -583,21 +578,7 @@ + void merge(_Self& __x); + void sort(); + +-#ifdef __STL_MEMBER_TEMPLATES +- +-# ifndef __STL_INLINE_MEBMER_TEMPLATES +- template +- void remove_if(_Predicate __pred); +- +- template +- void unique(_BinaryPredicate __pred); +- +- template +- void merge(slist<_Tp,_Alloc>&, _StrictWeakOrdering); +- +- template +- void sort(_StrictWeakOrdering __comp); +-# else ++#ifdef _STLP_MEMBER_TEMPLATES + template + void remove_if(_Predicate __pred) { + _Node_base* __cur = &this->_M_head._M_data; +@@ -663,13 +644,12 @@ + this->swap(__counter[__fill-1]); + } + } +-# endif /* __STL_INLINE_MEMBER_TEMPLATES */ +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + }; + + template +-inline bool __STL_CALL ++inline bool _STLP_CALL + operator==(const slist<_Tp,_Alloc>& _SL1, const slist<_Tp,_Alloc>& _SL2) + { + typedef typename slist<_Tp,_Alloc>::const_iterator const_iterator; +@@ -686,67 +666,67 @@ + } + + template +-inline bool __STL_CALL operator<(const slist<_Tp,_Alloc>& _SL1, ++inline bool _STLP_CALL operator<(const slist<_Tp,_Alloc>& _SL1, + const slist<_Tp,_Alloc>& _SL2) + { + return lexicographical_compare(_SL1.begin(), _SL1.end(), + _SL2.begin(), _SL2.end()); + } + +-#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE ++#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE + + template +-inline bool __STL_CALL ++inline bool _STLP_CALL + operator!=(const slist<_Tp,_Alloc>& _SL1, const slist<_Tp,_Alloc>& _SL2) { + return !(_SL1 == _SL2); + } + + template +-inline bool __STL_CALL ++inline bool _STLP_CALL + operator>(const slist<_Tp,_Alloc>& _SL1, const slist<_Tp,_Alloc>& _SL2) { + return _SL2 < _SL1; + } + + template +-inline bool __STL_CALL ++inline bool _STLP_CALL + operator<=(const slist<_Tp,_Alloc>& _SL1, const slist<_Tp,_Alloc>& _SL2) { + return !(_SL2 < _SL1); + } + + template +-inline bool __STL_CALL ++inline bool _STLP_CALL + operator>=(const slist<_Tp,_Alloc>& _SL1, const slist<_Tp,_Alloc>& _SL2) { + return !(_SL1 < _SL2); + } +-#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ ++#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ + +-#ifdef __STL_FUNCTION_TMPL_PARTIAL_ORDER ++#ifdef _STLP_FUNCTION_TMPL_PARTIAL_ORDER + + template +-inline void __STL_CALL swap(slist<_Tp,_Alloc>& __x, slist<_Tp,_Alloc>& __y) { ++inline void _STLP_CALL swap(slist<_Tp,_Alloc>& __x, slist<_Tp,_Alloc>& __y) { + __x.swap(__y); + } + +-#endif /* __STL_FUNCTION_TMPL_PARTIAL_ORDER */ ++#endif /* _STLP_FUNCTION_TMPL_PARTIAL_ORDER */ + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-# if !defined (__STL_LINK_TIME_INSTANTIATION) ++# if !defined (_STLP_LINK_TIME_INSTANTIATION) + # include + # endif + + # undef slist + # define __slist__ __FULL_NAME(slist) + +-#if defined (__STL_DEBUG) && !defined (__SGI_STL_INTERNAL_DBG_SLIST_H) ++#if defined (_STLP_DEBUG) && !defined (_STLP_INTERNAL_DBG_SLIST_H) + # include + #endif + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + // Specialization of insert_iterator so that insertions will be constant + // time rather than linear time. + +-#ifdef __STL_CLASS_PARTIAL_SPECIALIZATION ++#ifdef _STLP_CLASS_PARTIAL_SPECIALIZATION + + template + class insert_iterator > { +@@ -771,8 +751,8 @@ + } + + insert_iterator<_Container>& +- operator=(const typename _Container::value_type& __value) { +- iter = container->insert_after(iter, __value); ++ operator=(const typename _Container::value_type& __val) { ++ iter = container->insert_after(iter, __val); + return *this; + } + insert_iterator<_Container>& operator*() { return *this; } +@@ -780,16 +760,16 @@ + insert_iterator<_Container>& operator++(int) { return *this; } + }; + +-#endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */ ++#endif /* _STLP_CLASS_PARTIAL_SPECIALIZATION */ + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + + +-# if defined ( __STL_USE_WRAPPER_FOR_ALLOC_PARAM ) ++# if defined ( _STLP_USE_WRAPPER_FOR_ALLOC_PARAM ) + # include + # endif + +-#endif /* __SGI_STL_INTERNAL_SLIST_H */ ++#endif /* _STLP_INTERNAL_SLIST_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_slist_base.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_slist_base.c +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_slist_base.c Sat Feb 24 10:45:07 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_slist_base.c Sun Aug 11 18:59:25 2002 +@@ -23,13 +23,19 @@ + * modified is included with the above copyright notice. + * + */ +-#ifndef __STL_SLIST_BASE_C +-#define __STL_SLIST_BASE_C ++#ifndef _STLP_SLIST_BASE_C ++#define _STLP_SLIST_BASE_C + +-__STL_BEGIN_NAMESPACE ++#ifndef _STLP_INTERNAL_SLIST_BASE_H ++# include ++#endif ++ ++_STLP_BEGIN_NAMESPACE ++ ++# if defined (_STLP_EXPOSE_GLOBALS_IMPLEMENTATION) + + template +-_Slist_node_base* ++_Slist_node_base* _STLP_CALL + _Sl_global<_Dummy>::__previous(_Slist_node_base* __head, + const _Slist_node_base* __node) + { +@@ -39,7 +45,7 @@ + } + + template +-void ++void _STLP_CALL + _Sl_global<_Dummy>::__splice_after(_Slist_node_base* __pos, _Slist_node_base* __head) + { + _Slist_node_base* __before_last = __previous(__head, 0); +@@ -52,7 +58,7 @@ + } + + template +-void ++void _STLP_CALL + _Sl_global<_Dummy>::__splice_after(_Slist_node_base* __pos, + _Slist_node_base* __before_first, + _Slist_node_base* __before_last) +@@ -67,7 +73,7 @@ + } + + template +-_Slist_node_base* ++_Slist_node_base* _STLP_CALL + _Sl_global<_Dummy>::__reverse(_Slist_node_base* __node) + { + _Slist_node_base* __result = __node; +@@ -82,8 +88,9 @@ + return __result; + } + +-template +-size_t _Sl_global<_Dummy>::size(_Slist_node_base* __node) ++template ++size_t _STLP_CALL ++_Sl_global<_Dummy>::size(_Slist_node_base* __node) + { + size_t __result = 0; + for ( ; __node != 0; __node = __node->_M_next) +@@ -91,9 +98,11 @@ + return __result; + } + +-__STL_END_NAMESPACE ++#endif /* defined (__BUILDING_STLPORT) || ! defined (_STLP_OWN_IOSTREAMS) */ ++ ++_STLP_END_NAMESPACE + +-#endif /* __STL_SLIST_BASE_C */ ++#endif /* _STLP_SLIST_BASE_C */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_slist_base.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_slist_base.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_slist_base.h Sat Feb 24 10:45:07 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_slist_base.h Sun Aug 11 18:59:25 2002 +@@ -24,14 +24,14 @@ + * You should not attempt to use it directly. + */ + +-#ifndef __SGI_STL_INTERNAL_SLIST_BASE_H +-#define __SGI_STL_INTERNAL_SLIST_BASE_H ++#ifndef _STLP_INTERNAL_SLIST_BASE_H ++#define _STLP_INTERNAL_SLIST_BASE_H + +-#ifndef __STLPORT_CSTDDEF ++#ifndef _STLP_CSTDDEF + #include + #endif + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + struct _Slist_node_base + { +@@ -49,34 +49,38 @@ + + + template +-struct _Sl_global { ++class _Sl_global { ++public: + // those used to be global functions + // moved here to reduce code bloat without templatizing _Slist_iterator_base +- static size_t __STL_CALL size(_Slist_node_base* __node); +- static _Slist_node_base* __STL_CALL __reverse(_Slist_node_base* __node); +- static void __STL_CALL __splice_after(_Slist_node_base* __pos, ++ static size_t _STLP_CALL size(_Slist_node_base* __node); ++ static _Slist_node_base* _STLP_CALL __reverse(_Slist_node_base* __node); ++ static void _STLP_CALL __splice_after(_Slist_node_base* __pos, + _Slist_node_base* __before_first, + _Slist_node_base* __before_last); + +- static void __STL_CALL __splice_after(_Slist_node_base* __pos, _Slist_node_base* __head); ++ static void _STLP_CALL __splice_after(_Slist_node_base* __pos, _Slist_node_base* __head); + +- static _Slist_node_base* __STL_CALL __previous(_Slist_node_base* __head, ++ static _Slist_node_base* _STLP_CALL __previous(_Slist_node_base* __head, + const _Slist_node_base* __node); +- static const _Slist_node_base* __STL_CALL __previous(const _Slist_node_base* __head, ++ static const _Slist_node_base* _STLP_CALL __previous(const _Slist_node_base* __head, + const _Slist_node_base* __node) { + return _Sl_global<_Dummy>::__previous((_Slist_node_base*)__head, __node); + } + }; + ++# if defined (_STLP_USE_TEMPLATE_EXPORT) ++_STLP_EXPORT_TEMPLATE_CLASS _Sl_global; ++# endif + typedef _Sl_global _Sl_global_inst; + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-# if !defined (__STL_LINK_TIME_INSTANTIATION) ++# if !defined (_STLP_LINK_TIME_INSTANTIATION) + # include + # endif + +-#endif /* __SGI_STL_INTERNAL_SLIST_BASE_H */ ++#endif /* _STLP_INTERNAL_SLIST_BASE_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_sparc_atomic.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_sparc_atomic.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_sparc_atomic.h Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_sparc_atomic.h Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,60 @@ ++ ++// Currently, SUN CC requires object file ++ ++#if defined (__GNUC__) ++ ++/* ++** int _STLP_atomic_exchange (__stl_atomic_t *pvalue, __stl_atomic_t value) ++*/ ++ ++# ifdef __sparc_v9__ ++ ++# ifdef __arch64__ ++ ++# define _STLP_EXCH_ASM asm volatile ("casx [%3], %4, %0 ; membar #LoadLoad | #LoadStore " : \ ++ "=r" (_L_value2), "=m" (*_L_pvalue1) : \ ++ "m" (*_L_pvalue1), "r" (_L_pvalue1), "r" (_L_value1), "0" (_L_value2) ) ++ ++# else /* __arch64__ */ ++ ++# define _STLP_EXCH_ASM asm volatile ("cas [%3], %4, %0" : \ ++ "=r" (_L_value2), "=m" (*_L_pvalue1) : \ ++ "m" (*_L_pvalue1), "r" (_L_pvalue1), "r" (_L_value1), "0" (_L_value2) ) ++# endif ++ ++# else /* __sparc_v9__ */ ++ ++# define _STLP_EXCH_ASM asm volatile ("swap [%3], %0 " : \ ++ "=r" (_L_value2), "=m" (*_L_pvalue1) : \ ++ "m" (*_L_pvalue1), "r" (_L_pvalue1), "0" (_L_value2) ) ++# endif ++ ++ ++# define _STLP_ATOMIC_EXCHANGE(__pvalue1, __value2) \ ++ ({ register volatile __stl_atomic_t *_L_pvalue1 = __pvalue1; \ ++ register __stl_atomic_t _L_value1, _L_value2 = __value2 ; \ ++ do { _L_value1 = *_L_pvalue1; _STLP_EXCH_ASM; } while ( _L_value1 != _L_value2 ) ; \ ++ _L_value1; }) ++ ++# define _STLP_ATOMIC_INCREMENT(__pvalue1) \ ++ { register volatile __stl_atomic_t *_L_pvalue1 = __pvalue1; \ ++ register __stl_atomic_t _L_value1, _L_value2; \ ++ do { _L_value1 = *_L_pvalue1; _L_value2 = _L_value1+1; _STLP_EXCH_ASM; } while ( _L_value1 != _L_value2 ) ; } ++ ++# define _STLP_ATOMIC_DECREMENT(__pvalue1) \ ++ { register volatile __stl_atomic_t *_L_pvalue1 = __pvalue1; \ ++ register __stl_atomic_t _L_value1, _L_value2; \ ++ do { _L_value1 = *_L_pvalue1; _L_value2 = _L_value1-1; _STLP_EXCH_ASM; } while ( _L_value1 != _L_value2 ) ; } ++ ++# elif ! defined (_STLP_NO_EXTERN_INLINE) ++ ++extern "C" __stl_atomic_t _STLP_atomic_exchange(__stl_atomic_t * __x, __stl_atomic_t __v); ++extern "C" void _STLP_atomic_decrement(__stl_atomic_t* i); ++extern "C" void _STLP_atomic_increment(__stl_atomic_t* i); ++ ++# define _STLP_ATOMIC_INCREMENT(__x) _STLP_atomic_increment((__stl_atomic_t*)__x) ++# define _STLP_ATOMIC_DECREMENT(__x) _STLP_atomic_decrement((__stl_atomic_t*)__x) ++# define _STLP_ATOMIC_EXCHANGE(__x, __y) _STLP_atomic_exchange((__stl_atomic_t*)__x, (__stl_atomic_t)__y) ++ ++# endif ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_sstream.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_sstream.c +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_sstream.c Sat Feb 24 10:45:07 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_sstream.c Sun Aug 11 18:59:25 2002 +@@ -15,21 +15,26 @@ + * modified is included with the above copyright notice. + * + */ +-#ifndef __STL_SSTREAM_C +-#define __STL_SSTREAM_C + +-# if defined (__STL_DESIGNATED_DLL) || ! defined (__STL_NO_CUSTOM_IO) ++#ifndef _STLP_SSTREAM_C ++#define _STLP_SSTREAM_C + +-# if defined ( __STL_NESTED_TYPE_PARAM_BUG ) ++#ifndef _STLP_SSTREAM_H ++# include ++#endif ++ ++# if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) ++ ++# if defined ( _STLP_NESTED_TYPE_PARAM_BUG ) + // no wint_t is supported for this mode + # define __BSB_int_type__ int + # define __BSB_pos_type__ streampos + # else +-# define __BSB_int_type__ __STL_TYPENAME_ON_RETURN_TYPE basic_stringbuf<_CharT, _Traits, _Alloc>::int_type +-# define __BSB_pos_type__ __STL_TYPENAME_ON_RETURN_TYPE basic_stringbuf<_CharT, _Traits, _Alloc>::pos_type ++# define __BSB_int_type__ _STLP_TYPENAME_ON_RETURN_TYPE basic_stringbuf<_CharT, _Traits, _Alloc>::int_type ++# define __BSB_pos_type__ _STLP_TYPENAME_ON_RETURN_TYPE basic_stringbuf<_CharT, _Traits, _Alloc>::pos_type + # endif + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + //---------------------------------------------------------------------- + // Non-inline stringbuf member functions. +@@ -48,15 +53,7 @@ + ::basic_stringbuf(const basic_string<_CharT, _Traits, _Alloc>& __s, ios_base::openmode __mode) + : basic_streambuf<_CharT, _Traits>(), _M_mode(__mode), _M_str(__s) + { +- _CharT* __data_ptr = __CONST_CAST(_CharT*,_M_str.data()); +- _CharT* __data_end = __data_ptr + _M_str.size(); +- // The initial read position is the beginning of the string. +- if (_M_mode & ios_base::in) +- this->setg(__data_ptr, __data_ptr, __data_end); +- +- // The initial write position is the beginning of the string. +- if (_M_mode & ios_base::out) +- this->setp(__data_ptr, __data_end); ++ _M_set_ptrs(); + } + + template +@@ -69,19 +66,27 @@ + basic_stringbuf<_CharT, _Traits, _Alloc>::str(const basic_string<_CharT, _Traits, _Alloc>& __s) + { + _M_str = __s; +- // dwa 02/07/00 - BUG STOMPER DAVE! ++ _M_set_ptrs(); ++} ++ ++template ++void ++basic_stringbuf<_CharT, _Traits, _Alloc>::_M_set_ptrs() { + _CharT* __data_ptr = __CONST_CAST(_CharT*,_M_str.data()); + _CharT* __data_end = __data_ptr + _M_str.size(); + // The initial read position is the beginning of the string. + if (_M_mode & ios_base::in) + this->setg(__data_ptr, __data_ptr, __data_end); +- ++ + // The initial write position is the beginning of the string. +- if (_M_mode & ios_base::out) +- this->setp(__data_ptr, __data_end); ++ if (_M_mode & ios_base::out) { ++ if (_M_mode & ios_base::app) ++ this->setp(__data_end, __data_end); ++ else ++ this->setp(__data_ptr, __data_end); ++ } + } + +- + // Precondition: gptr() >= egptr(). Returns a character, if one is available. + template + __BSB_int_type__ +@@ -166,7 +171,7 @@ + + this->setg(__data_ptr, __data_ptr + __offset, __data_ptr+__data_size); + this->setp(__data_ptr, __data_ptr + __data_size); +- this->pbump(__data_size); ++ this->pbump((int)__data_size); + return __c; + } + else { +@@ -197,7 +202,7 @@ + ptrdiff_t __avail = _M_str.data() + _M_str.size() - this->pptr(); + if (__avail > __n) { + _Traits::copy(this->pptr(), __s, __n); +- this->pbump(__n); ++ this->pbump((int)__n); + return __n; + } + else { +@@ -219,7 +224,7 @@ + + this->setg(__data_ptr, __data_ptr + __get_offset, __data_ptr+__data_size); + this->setp(__data_ptr, __data_ptr + __data_size); +- this->pbump(__data_size); ++ this->pbump((int)__data_size); + } + else { + _M_append_buffer(); +@@ -246,7 +251,7 @@ + ptrdiff_t __avail = _M_str.data() + _M_str.size() - this->pptr(); + if (__avail > __n) { + _Traits::assign(this->pptr(), __n, __c); +- this->pbump(__n); ++ this->pbump((int)__n); + return __n; + } + else { +@@ -267,7 +272,7 @@ + + this->setg(__data_ptr, __data_ptr + __get_offset, __data_ptr+__data_size); + this->setp(__data_ptr, __data_ptr + __data_size); +- this->pbump(__data_size); ++ this->pbump((int)__data_size); + + } + else { +@@ -319,7 +324,7 @@ + + if (__do_put_area) { + this->setp(__data_ptr, __data_ptr+__data_size); +- this->pbump(__offp); ++ this->pbump((int)__offp); + } + } + +@@ -387,7 +392,7 @@ + return pos_type(off_type(-1)); + else { + this->setp(this->pbase(), this->pbase() + __n); +- this->pbump(__off); ++ this->pbump((int)__off); + } + } + +@@ -424,7 +429,7 @@ + size_t __data_size = _M_str.size(); + + this->setp(__data_ptr, __data_ptr+__data_size); +- this->pbump(__n); ++ this->pbump((int)__n); + } + + return __pos; +@@ -528,12 +533,11 @@ + basic_stringstream<_CharT, _Traits, _Alloc>::~basic_stringstream() + {} + +-__STL_END_NAMESPACE +- ++_STLP_END_NAMESPACE + + # undef __BSB_int_type__ + # undef __BSB_pos_type__ + +-# endif /* defined (__STL_DESIGNATED_DLL) || ! defined (__STL_NO_CUSTOM_IO) */ ++# endif /* EXPOSE */ + +-#endif /* __STL_SSTREAM_C */ ++#endif /* _STLP_SSTREAM_C */ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_sstream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_sstream.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_sstream.h Sat Feb 24 10:45:07 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_sstream.h Sun Aug 11 18:59:25 2002 +@@ -22,13 +22,22 @@ + // represent streamsbufs and streams whose sources or destinations are + // C++ strings. + +-#ifndef __SGI_STL_SSTREAM_H +-#define __SGI_STL_SSTREAM_H ++#ifndef _STLP_SSTREAM_H ++#define _STLP_SSTREAM_H + +-#include // Includes , , +-#include ++#ifndef _STLP_INTERNAL_STREAMBUF ++# include ++#endif ++ ++#ifndef _STLP_INTERNAL_ISTREAM_H ++# include // Includes , , ++#endif ++ ++#ifndef _STLP_STRING_H ++# include ++#endif + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + //---------------------------------------------------------------------- + // This version of basic_stringbuf relies on the internal details of +@@ -88,6 +97,7 @@ + private: // Helper functions. + // Append the internal buffer to the string if necessary. + void _M_append_buffer() const; ++ void _M_set_ptrs(); + + private: + ios_base::openmode _M_mode; +@@ -97,12 +107,12 @@ + _CharT _M_Buf[ 8 /* _S_BufSiz */]; + }; + +-# if defined (__STL_USE_TEMPLATE_EXPORT) +-__STL_EXPORT_TEMPLATE_CLASS basic_stringbuf, allocator >; +-# if !defined (__STL_NO_WCHAR_T) +-__STL_EXPORT_TEMPLATE_CLASS basic_stringbuf, allocator >; ++# if defined (_STLP_USE_TEMPLATE_EXPORT) ++_STLP_EXPORT_TEMPLATE_CLASS basic_stringbuf, allocator >; ++# if !defined (_STLP_NO_WCHAR_T) ++_STLP_EXPORT_TEMPLATE_CLASS basic_stringbuf, allocator >; + # endif +-# endif /* __STL_USE_TEMPLATE_EXPORT */ ++# endif /* _STLP_USE_TEMPLATE_EXPORT */ + + //---------------------------------------------------------------------- + // Class basic_istringstream, an input stream that uses a stringbuf. +@@ -218,24 +228,24 @@ + }; + + +-# if defined (__STL_USE_TEMPLATE_EXPORT) +-__STL_EXPORT_TEMPLATE_CLASS basic_istringstream, allocator >; +-__STL_EXPORT_TEMPLATE_CLASS basic_ostringstream, allocator >; +-__STL_EXPORT_TEMPLATE_CLASS basic_stringstream, allocator >; +-# if !defined (__STL_NO_WCHAR_T) +-__STL_EXPORT_TEMPLATE_CLASS basic_istringstream, allocator >; +-__STL_EXPORT_TEMPLATE_CLASS basic_ostringstream, allocator >; +-__STL_EXPORT_TEMPLATE_CLASS basic_stringstream, allocator >; ++# if defined (_STLP_USE_TEMPLATE_EXPORT) ++_STLP_EXPORT_TEMPLATE_CLASS basic_istringstream, allocator >; ++_STLP_EXPORT_TEMPLATE_CLASS basic_ostringstream, allocator >; ++_STLP_EXPORT_TEMPLATE_CLASS basic_stringstream, allocator >; ++# if !defined (_STLP_NO_WCHAR_T) ++_STLP_EXPORT_TEMPLATE_CLASS basic_istringstream, allocator >; ++_STLP_EXPORT_TEMPLATE_CLASS basic_ostringstream, allocator >; ++_STLP_EXPORT_TEMPLATE_CLASS basic_stringstream, allocator >; + # endif +-# endif /* __STL_USE_TEMPLATE_EXPORT */ ++# endif /* _STLP_USE_TEMPLATE_EXPORT */ + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-# if !defined (__STL_LINK_TIME_INSTANTIATION) ++# if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) && !defined (_STLP_LINK_TIME_INSTANTIATION) + # include + # endif + +-#endif /* __SGI_STL_SSTREAM_H */ ++#endif /* _STLP_SSTREAM_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_stack.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_stack.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_stack.h Sat Feb 24 10:45:07 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_stack.h Sun Aug 11 18:59:25 2002 +@@ -27,22 +27,26 @@ + * You should not attempt to use it directly. + */ + +-#ifndef __SGI_STL_INTERNAL_STACK_H +-#define __SGI_STL_INTERNAL_STACK_H ++#ifndef _STLP_INTERNAL_STACK_H ++#define _STLP_INTERNAL_STACK_H + +-__STL_BEGIN_NAMESPACE ++#ifndef _STLP_INTERNAL_DEQUE_H ++# include ++#endif + +-# if !defined ( __STL_LIMITED_DEFAULT_TEMPLATES ) ++_STLP_BEGIN_NAMESPACE ++ ++# if !defined ( _STLP_LIMITED_DEFAULT_TEMPLATES ) + template > +-# elif defined ( __STL_MINIMUM_DEFAULT_TEMPLATE_PARAMS ) +-# define __STL_STACK_ARGS _Tp ++# elif defined ( _STLP_MINIMUM_DEFAULT_TEMPLATE_PARAMS ) ++# define _STLP_STACK_ARGS _Tp + template + # else + template + # endif + class stack { + +-# ifdef __STL_STACK_ARGS ++# ifdef _STLP_STACK_ARGS + typedef deque<_Tp> _Sequence; + # endif + +@@ -68,33 +72,33 @@ + const _Sequence& _Get_c() const { return c; } + }; + +-# ifndef __STL_STACK_ARGS +-# define __STL_STACK_ARGS _Tp, _Sequence +-# define __STL_STACK_HEADER_ARGS class _Tp, class _Sequence ++# ifndef _STLP_STACK_ARGS ++# define _STLP_STACK_ARGS _Tp, _Sequence ++# define _STLP_STACK_HEADER_ARGS class _Tp, class _Sequence + # else +-# define __STL_STACK_HEADER_ARGS class _Tp ++# define _STLP_STACK_HEADER_ARGS class _Tp + # endif + +-template < __STL_STACK_HEADER_ARGS > +-inline bool __STL_CALL operator==(const stack< __STL_STACK_ARGS >& __x, const stack< __STL_STACK_ARGS >& __y) ++template < _STLP_STACK_HEADER_ARGS > ++inline bool _STLP_CALL operator==(const stack< _STLP_STACK_ARGS >& __x, const stack< _STLP_STACK_ARGS >& __y) + { + return __x._Get_c() == __y._Get_c(); + } + +-template < __STL_STACK_HEADER_ARGS > +-inline bool __STL_CALL operator<(const stack< __STL_STACK_ARGS >& __x, const stack< __STL_STACK_ARGS >& __y) ++template < _STLP_STACK_HEADER_ARGS > ++inline bool _STLP_CALL operator<(const stack< _STLP_STACK_ARGS >& __x, const stack< _STLP_STACK_ARGS >& __y) + { + return __x._Get_c() < __y._Get_c(); + } + +-__STL_RELOPS_OPERATORS(template < __STL_STACK_HEADER_ARGS >, stack< __STL_STACK_ARGS >) ++_STLP_RELOPS_OPERATORS(template < _STLP_STACK_HEADER_ARGS >, stack< _STLP_STACK_ARGS >) + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-# undef __STL_STACK_ARGS +-# undef __STL_STACK_HEADER_ARGS ++# undef _STLP_STACK_ARGS ++# undef _STLP_STACK_HEADER_ARGS + +-#endif /* __SGI_STL_INTERNAL_STACK_H */ ++#endif /* _STLP_INTERNAL_STACK_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_stdio_file.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_stdio_file.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_stdio_file.h Sat Feb 24 10:45:08 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_stdio_file.h Fri Feb 14 16:26:19 2003 +@@ -22,8 +22,8 @@ + // file directly. + + +-#ifndef __SGI_STL_STDIO_FILE_H +-#define __SGI_STL_STDIO_FILE_H ++#ifndef _STLP_STDIO_FILE_H ++#define _STLP_STDIO_FILE_H + + // This file provides a low-level interface between the internal + // representation of struct FILE, from the C stdio library, and +@@ -32,30 +32,30 @@ + // current read/write position, and the end of the buffer. + + // The interface: +-// - char* _FILE_[IO]_begin(const FILE& __f); ++// - char* _FILE_[IO]_begin(const FILE *__f); + // Returns a pointer to the beginning of the buffer. +-// - char* _FILE_[IO]_next(const FILE& __f); ++// - char* _FILE_[IO]_next(const FILE *__f); + // Returns the current read/write position within the buffer. +-// - char* _FILE_[IO]_end(const FILE& __f); ++// - char* _FILE_[IO]_end(const FILE *__f); + // Returns a pointer immediately past the end of the buffer. +-// - char* _FILE_[IO]_avail(const FILE& __f); ++// - char* _FILE_[IO]_avail(const FILE *__f); + // Returns the number of characters remaining in the buffer, i.e. + // _FILE_[IO]_end(__f) - _FILE_[IO]_next(__f). +-// - char& _FILE_[IO]_preincr(FILE& __f) ++// - char& _FILE_[IO]_preincr(FILE *__f) + // Increments the current read/write position by 1, returning the + // character at the old position. +-// - char& _FILE_[IO]_postincr(FILE& __f) ++// - char& _FILE_[IO]_postincr(FILE *__f) + // Increments the current read/write position by 1, returning the + // character at the old position. +-// - char& _FILE_[IO]_predecr(FILE& __f) ++// - char& _FILE_[IO]_predecr(FILE *__f) + // Decrements the current read/write position by 1, returning the + // character at the old position. +-// - char& _FILE_[IO]_postdecr(FILE& __f) ++// - char& _FILE_[IO]_postdecr(FILE *__f) + // Decrements the current read/write position by 1, returning the + // character at the old position. +-// - void _FILE_[IO]_bump(FILE& __f, int __n) ++// - void _FILE_[IO]_bump(FILE *__f, int __n) + // Increments the current read/write position by __n. +-// - void _FILE_[IO]_set(FILE& __f, char* __begin, char* __next, char* __end); ++// - void _FILE_[IO]_set(FILE *__f, char* __begin, char* __next, char* __end); + // Sets the beginning of the bufer to __begin, the current read/write + // position to __next, and the buffer's past-the-end pointer to __end. + // If any of those pointers is null, then all of them must be null. +@@ -65,195 +65,307 @@ + // implementations the two functions are identical, but in others they are + // not. + +-#include ++#ifndef _STLP_CSTDIO ++# include ++#endif ++#ifndef _STLP_CSTDDEF ++# include ++#endif + + #if defined(__MSL__) + # include // get the definition of fileno + #endif + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + ++#if !defined(_STLP_WINCE) + //---------------------------------------------------------------------- + // Implementation for the IRIX C library. + // Solaris interface looks to be identical. +-#if !defined(__STL_USE_GLIBC) && \ ++#if !defined(_STLP_USE_GLIBC) && \ + ( defined(__sgi) || \ +- defined(__sun) || \ ++ ( defined(__sun) && ! defined (_LP64) ) || \ + defined (__osf__) || defined(__DECCXX) || \ +- defined (__STL_MSVC) || defined (__ICL) || defined (__MINGW32__) \ +- || defined (__xlC__)) ++ defined (_STLP_MSVC) || defined (__ICL) || defined (__MINGW32__) || defined(__DJGPP) || defined (_AIX)) + +-#if defined ( _MSC_VER ) || defined (__ICL) || defined (__MINGW32__) ++#if defined ( _MSC_VER ) || defined (__ICL) || defined (__MINGW32__) || defined(__DJGPP) + typedef char* _File_ptr_type; + #else + typedef unsigned char* _File_ptr_type; + #endif + +-inline int _FILE_fd(const FILE& __f) { return __f._file; } +-inline char* _FILE_I_begin(const FILE& __f) { return (char*) __f._base; } +-inline char* _FILE_I_next(const FILE& __f) { return (char*) __f._ptr; } +-inline char* _FILE_I_end(const FILE& __f) +- { return (char*) __f._ptr + __f._cnt; } +- +-inline ptrdiff_t _FILE_I_avail(const FILE& __f) { return __f._cnt; } +- +-inline char& _FILE_I_preincr(FILE& __f) +- { --__f._cnt; return *(char*) (++__f._ptr); } +-inline char& _FILE_I_postincr(FILE& __f) +- { --__f._cnt; return *(char*) (__f._ptr++); } +-inline char& _FILE_I_predecr(FILE& __f) +- { ++__f._cnt; return *(char*) (--__f._ptr); } +-inline char& _FILE_I_postdecr(FILE& __f) +- { ++__f._cnt; return *(char*) (__f._ptr--); } +-inline void _FILE_I_bump(FILE& __f, int __n) +- { __f._ptr += __n; __f._cnt -= __n; } +- +-inline void _FILE_I_set(FILE& __f, char* __begin, char* __next, char* __end) { +- __f._base = (_File_ptr_type) __begin; +- __f._ptr = (_File_ptr_type) __next; +- __f._cnt = __end - __next; +-} +- +-# define __STL_FILE_I_O_IDENTICAL 1 +- +-#elif defined (__CYGWIN__) || defined(__FreeBSD__) || defined(__OpenBSD__) +- +-inline int _FILE_fd(const FILE& __f) { return __f._file; } +-inline char* _FILE_I_begin(const FILE& __f) { return (char*) __f._bf._base; } +-inline char* _FILE_I_next(const FILE& __f) { return (char*) __f._p; } +-inline char* _FILE_I_end(const FILE& __f) +- { return (char*) __f._p + __f._bf._size; } +- +-inline ptrdiff_t _FILE_I_avail(const FILE& __f) { return __f._bf._size; } +- +-inline char& _FILE_I_preincr(FILE& __f) +- { --__f._bf._size; return *(char*) (++__f._p); } +-inline char& _FILE_I_postincr(FILE& __f) +- { --__f._bf._size; return *(char*) (__f._p++); } +-inline char& _FILE_I_predecr(FILE& __f) +- { ++__f._bf._size; return *(char*) (--__f._p); } +-inline char& _FILE_I_postdecr(FILE& __f) +- { ++__f._bf._size; return *(char*) (__f._p--); } +-inline void _FILE_I_bump(FILE& __f, int __n) +- { __f._p += __n; __f._bf._size -= __n; } +- +-inline void _FILE_I_set(FILE& __f, char* __begin, char* __next, char* __end) { +- __f._bf._base = (unsigned char*) __begin; +- __f._p = (unsigned char*) __next; +- __f._bf._size = __end - __next; +-} +- +-# define __STL_FILE_I_O_IDENTICAL +- +-#elif defined(__STL_USE_GLIBC) +- +-inline int _FILE_fd(const FILE& __f) { return fileno(__CONST_CAST(FILE*,&__f)); } +-inline char* _FILE_I_begin(const FILE& __f) { return __f._IO_read_base; } +-inline char* _FILE_I_next(const FILE& __f) { return __f._IO_read_ptr; } +-inline char* _FILE_I_end(const FILE& __f) { return __f._IO_read_end; } +- +-inline ptrdiff_t _FILE_I_avail(const FILE& __f) +- { return __f._IO_read_end - __f._IO_read_ptr; } +- +-inline char& _FILE_I_preincr(FILE& __f) { return *++__f._IO_read_ptr; } +-inline char& _FILE_I_postincr(FILE& __f) { return *__f._IO_read_ptr++; } +-inline char& _FILE_I_predecr(FILE& __f) { return *--__f._IO_read_ptr; } +-inline char& _FILE_I_postdecr(FILE& __f) { return *__f._IO_read_ptr--; } +-inline void _FILE_I_bump(FILE& __f, int __n) { __f._IO_read_ptr += __n; } +- +-inline void _FILE_I_set(FILE& __f, char* __begin, char* __next, char* __end) { +- __f._IO_read_base = __begin; +- __f._IO_read_ptr = __next; +- __f._IO_read_end = __end; +-} +- +-inline char* _FILE_O_begin(const FILE& __f) { return __f._IO_write_base; } +-inline char* _FILE_O_next(const FILE& __f) { return __f._IO_write_ptr; } +-inline char* _FILE_O_end(const FILE& __f) { return __f._IO_write_end; } +- +-inline ptrdiff_t _FILE_O_avail(const FILE& __f) +- { return __f._IO_write_end - __f._IO_write_ptr; } +- +-inline char& _FILE_O_preincr(FILE& __f) { return *++__f._IO_write_ptr; } +-inline char& _FILE_O_postincr(FILE& __f) { return *__f._IO_write_ptr++; } +-inline char& _FILE_O_predecr(FILE& __f) { return *--__f._IO_write_ptr; } +-inline char& _FILE_O_postdecr(FILE& __f) { return *__f._IO_write_ptr--; } +-inline void _FILE_O_bump(FILE& __f, int __n) { __f._IO_write_ptr += __n; } +- +-inline void _FILE_O_set(FILE& __f, char* __begin, char* __next, char* __end) { +- __f._IO_write_base = __begin; +- __f._IO_write_ptr = __next; +- __f._IO_write_end = __end; ++inline int _FILE_fd(const FILE *__f) { return __f->_file; } ++inline char* _FILE_I_begin(const FILE *__f) { return (char*) __f->_base; } ++inline char* _FILE_I_next(const FILE *__f) { return (char*) __f->_ptr; } ++inline char* _FILE_I_end(const FILE *__f) ++ { return (char*) __f->_ptr + __f->_cnt; } ++ ++inline ptrdiff_t _FILE_I_avail(const FILE *__f) { return __f->_cnt; } ++ ++inline char& _FILE_I_preincr(FILE *__f) ++ { --__f->_cnt; return *(char*) (++__f->_ptr); } ++inline char& _FILE_I_postincr(FILE *__f) ++ { --__f->_cnt; return *(char*) (__f->_ptr++); } ++inline char& _FILE_I_predecr(FILE *__f) ++ { ++__f->_cnt; return *(char*) (--__f->_ptr); } ++inline char& _FILE_I_postdecr(FILE *__f) ++ { ++__f->_cnt; return *(char*) (__f->_ptr--); } ++inline void _FILE_I_bump(FILE *__f, int __n) ++ { __f->_ptr += __n; __f->_cnt -= __n; } ++ ++inline void _FILE_I_set(FILE *__f, char* __begin, char* __next, char* __end) { ++ __f->_base = (_File_ptr_type) __begin; ++ __f->_ptr = (_File_ptr_type) __next; ++ __f->_cnt = __end - __next; ++} ++ ++# define _STLP_FILE_I_O_IDENTICAL 1 ++ ++# elif defined(_STLP_SCO_OPENSERVER) || defined(__NCR_SVR) ++ ++typedef unsigned char* _File_ptr_type; ++ ++inline int _FILE_fd(const FILE *__f) { return __f->__file; } ++inline char* _FILE_I_begin(const FILE *__f) { return (char*) __f->__base; } ++inline char* _FILE_I_next(const FILE *__f) { return (char*) __f->__ptr; } ++inline char* _FILE_I_end(const FILE *__f) ++ { return (char*) __f->__ptr + __f->__cnt; } ++ ++inline ptrdiff_t _FILE_I_avail(const FILE *__f) { return __f->__cnt; } ++ ++inline char& _FILE_I_preincr(FILE *__f) ++ { --__f->__cnt; return *(char*) (++__f->__ptr); } ++inline char& _FILE_I_postincr(FILE *__f) ++ { --__f->__cnt; return *(char*) (__f->__ptr++); } ++inline char& _FILE_I_predecr(FILE *__f) ++ { ++__f->__cnt; return *(char*) (--__f->__ptr); } ++inline char& _FILE_I_postdecr(FILE *__f) ++ { ++__f->__cnt; return *(char*) (__f->__ptr--); } ++inline void _FILE_I_bump(FILE *__f, int __n) ++ { __f->__ptr += __n; __f->__cnt -= __n; } ++ ++inline void _FILE_I_set(FILE *__f, char* __begin, char* __next, char* __end) { ++ __f->__base = (_File_ptr_type) __begin; ++ __f->__ptr = (_File_ptr_type) __next; ++ __f->__cnt = __end - __next; ++} ++ ++# define _STLP_FILE_I_O_IDENTICAL 1 ++ ++# elif defined(__sun) && defined( _LP64) ++ ++typedef long _File_ptr_type; ++ ++inline int _FILE_fd(const FILE *__f) { return (int) __f->__pad[2]; } ++inline char* _FILE_I_begin(const FILE *__f) { return (char*) ++__f->__pad[1]; } ++inline char* _FILE_I_next(const FILE *__f) { return (char*) ++__f->__pad[0]; } ++inline char* _FILE_I_end(const FILE *__f) ++{ return (char*) __f->__pad[0] + __f->__pad[3]; } ++ ++inline ptrdiff_t _FILE_I_avail(const FILE *__f) { return __f->__pad[3]; } ++ ++inline char& _FILE_I_preincr(FILE *__f) ++{ --__f->__pad[3]; return *(char*) (++__f->__pad[0]); } ++inline char& _FILE_I_postincr(FILE *__f) ++{ --__f->__pad[3]; return *(char*) (__f->__pad[0]++); } ++inline char& _FILE_I_predecr(FILE *__f) ++{ ++__f->__pad[3]; return *(char*) (--__f->__pad[0]); } ++inline char& _FILE_I_postdecr(FILE *__f) ++{ ++__f->__pad[3]; return *(char*) (__f->__pad[0]--); } ++inline void _FILE_I_bump(FILE *__f, long __n) ++{ __f->__pad[0] += __n; __f->__pad[3] -= __n; } ++ ++inline void _FILE_I_set(FILE *__f, char* __begin, char* __next, char* ++__end) { ++__f->__pad[1] = (_File_ptr_type) __begin; ++__f->__pad[0] = (_File_ptr_type) __next; ++__f->__pad[3] = __end - __next; ++} ++ ++# define _STLP_FILE_I_O_IDENTICAL ++ ++#elif defined (__CYGWIN__) || defined(__FreeBSD__) || defined(__NetBSD__) \ ++ || defined(__amigaos__) || defined(__OpenBSD__) || \ ++ ( defined(__GNUC__) && defined(__APPLE__) ) ++ ++inline int _FILE_fd(const FILE *__f) { return __f->_file; } ++inline char* _FILE_I_begin(const FILE *__f) { return (char*) ++ __f->_bf._base; } ++inline char* _FILE_I_next(const FILE *__f) { return (char*) __f->_p; } ++inline char* _FILE_I_end(const FILE *__f) ++{ return (char*) __f->_p + __f->_r; } ++ ++inline ptrdiff_t _FILE_I_avail(const FILE *__f) { return __f->_r; } ++ ++inline char& _FILE_I_preincr(FILE *__f) ++{ --__f->_r; --__f->_bf._size; return *(char*) (++__f->_p); } ++inline char& _FILE_I_postincr(FILE *__f) ++{ --__f->_r; --__f->_bf._size; return *(char*) (__f->_p++); } ++inline char& _FILE_I_predecr(FILE *__f) ++{ ++__f->_r; ++ __f->_bf._size; return *(char*) (--__f->_p); } ++inline char& _FILE_I_postdecr(FILE *__f) ++{ ++__f->_r; ++__f->_bf._size; return *(char*) (__f->_p--); } ++inline void _FILE_I_bump(FILE *__f, int __n) ++{ __f->_p += __n; __f->_bf._size+=__n; __f->_r -= __n; } ++ ++inline void _FILE_I_set(FILE *__f, char* __begin, char* __next, char* ++ __end) { ++ __f->_bf._base = (unsigned char*) __begin; ++ __f->_p = (unsigned char*) __next; ++ __f->_r = __f->_bf._size = __end - __next; ++} ++inline char* _FILE_O_begin(const FILE *__f) { return (char*) ++ __f->_bf._base; } ++inline char* _FILE_O_next(const FILE *__f) { return (char*) __f->_p; } ++inline char* _FILE_O_end(const FILE *__f) ++{ return (char*) __f->_p + __f->_w; } ++ ++inline ptrdiff_t _FILE_O_avail(const FILE *__f) { return __f->_w; } ++ ++inline char& _FILE_O_preincr(FILE *__f) ++{ --__f->_w; --__f->_bf._size; return *(char*) (++__f->_p); } ++inline char& _FILE_O_postincr(FILE *__f) ++{ --__f->_w; --__f->_bf._size; return *(char*) (__f->_p++); } ++inline char& _FILE_O_predecr(FILE *__f) ++{ ++__f->_w; ++__f->_bf._size; return *(char*) (--__f->_p); } ++inline char& _FILE_O_postdecr(FILE *__f) ++{ ++__f->_w; ++__f->_bf._size; return *(char*) (__f->_p--); } ++inline void _FILE_O_bump(FILE *__f, int __n) ++{ __f->_p += __n; __f->_bf._size+=__n; __f->_w -= __n; } ++ ++inline void _FILE_O_set(FILE *__f, char* __begin, char* __next, char* ++ __end) { ++ __f->_bf._base = (unsigned char*) __begin; ++ __f->_p = (unsigned char*) __next; ++ __f->_w = __f->_bf._size = __end - __next; ++} ++ ++# undef _STLP_FILE_I_O_IDENTICAL ++ ++#elif defined(_STLP_USE_GLIBC) ++ ++inline int _FILE_fd(const FILE *__f) { return __f->_fileno; } ++inline char* _FILE_I_begin(const FILE *__f) { return __f->_IO_read_base; } ++inline char* _FILE_I_next(const FILE *__f) { return __f->_IO_read_ptr; } ++inline char* _FILE_I_end(const FILE *__f) { return __f->_IO_read_end; } ++ ++inline ptrdiff_t _FILE_I_avail(const FILE *__f) ++ { return __f->_IO_read_end - __f->_IO_read_ptr; } ++ ++inline char& _FILE_I_preincr(FILE *__f) { return *++__f->_IO_read_ptr; } ++inline char& _FILE_I_postincr(FILE *__f) { return *__f->_IO_read_ptr++; } ++inline char& _FILE_I_predecr(FILE *__f) { return *--__f->_IO_read_ptr; } ++inline char& _FILE_I_postdecr(FILE *__f) { return *__f->_IO_read_ptr--; } ++inline void _FILE_I_bump(FILE *__f, int __n) { __f->_IO_read_ptr += __n; } ++ ++inline void _FILE_I_set(FILE *__f, char* __begin, char* __next, char* __end) { ++ __f->_IO_read_base = __begin; ++ __f->_IO_read_ptr = __next; ++ __f->_IO_read_end = __end; ++} ++ ++inline char* _FILE_O_begin(const FILE *__f) { return __f->_IO_write_base; } ++inline char* _FILE_O_next(const FILE *__f) { return __f->_IO_write_ptr; } ++inline char* _FILE_O_end(const FILE *__f) { return __f->_IO_write_end; } ++ ++inline ptrdiff_t _FILE_O_avail(const FILE *__f) ++ { return __f->_IO_write_end - __f->_IO_write_ptr; } ++ ++inline char& _FILE_O_preincr(FILE *__f) { return *++__f->_IO_write_ptr; } ++inline char& _FILE_O_postincr(FILE *__f) { return *__f->_IO_write_ptr++; } ++inline char& _FILE_O_predecr(FILE *__f) { return *--__f->_IO_write_ptr; } ++inline char& _FILE_O_postdecr(FILE *__f) { return *__f->_IO_write_ptr--; } ++inline void _FILE_O_bump(FILE *__f, int __n) { __f->_IO_write_ptr += __n; } ++ ++inline void _FILE_O_set(FILE *__f, char* __begin, char* __next, char* __end) { ++ __f->_IO_write_base = __begin; ++ __f->_IO_write_ptr = __next; ++ __f->_IO_write_end = __end; + + } + + #elif defined(__hpux) /* && defined(__hppa) && defined(__HP_aCC)) */ + +-#if defined(__STL_HPACC_BROKEN_BUFEND) ++#ifndef _INCLUDE_HPUX_SOURCE ++extern "C" unsigned char *__bufendtab[]; ++# undef _bufend ++# define _bufend(__p) \ ++ (*(((__p)->__flag & _IOEXT) ? &(((_FILEX *)(__p))->__bufendp) \ ++ : &(__bufendtab[(__p) - __iob]))) ++ ++# define _bufsiz(__p) (_bufend(__p) - (__p)->__base) ++#endif /* _INCLUDE_HPUX_SOURCE */ ++ ++#if defined(_STLP_HPACC_BROKEN_BUFEND) + # undef _bufend + # define _bufend(__p) \ + (*(((__p)->__flag & _IOEXT) ? &((__REINTERPRET_CAST(_FILEX*,(__p)))->__bufendp) \ + : &(__bufendtab[__REINTERPRET_CAST(FILE*,(__p)) - __iob]))) + #endif + +-inline int _FILE_fd(const FILE& __f) { return fileno(__CONST_CAST(FILE *,&__f)); } +-inline char* _FILE_I_begin(const FILE& __f) { return (__REINTERPRET_CAST(char*, __f.__base)); } +-inline char* _FILE_I_next(const FILE& __f) { return (__REINTERPRET_CAST(char*, __f.__ptr)); } +-inline char* _FILE_I_end(const FILE& __f) { return (__REINTERPRET_CAST(char*, __f.__ptr +__f._cnt)); } +- +-inline ptrdiff_t _FILE_I_avail(const FILE& __f) { return __f._cnt; } +- +-inline char& _FILE_I_preincr(FILE& __f) { --__f.__cnt; return *__REINTERPRET_CAST(char*, ++__f.__ptr); } +-inline char& _FILE_I_postincr(FILE& __f) { --__f.__cnt; return *__REINTERPRET_CAST(char*, __f.__ptr++); } +-inline char& _FILE_I_predecr(FILE& __f) { ++__f.__cnt; return *__REINTERPRET_CAST(char*,--__f.__ptr); } +-inline char& _FILE_I_postdecr(FILE& __f) { ++__f.__cnt; return *__REINTERPRET_CAST(char*,__f.__ptr--); } +-inline void _FILE_I_bump(FILE& __f, int __n) { __f.__cnt -= __n; __f.__ptr += __n; } ++inline int _FILE_fd(const FILE *__f) { return fileno(__CONST_CAST(FILE *,__f)); } ++inline char* _FILE_I_begin(const FILE *__f) { return (__REINTERPRET_CAST(char*, __f->__base)); } ++inline char* _FILE_I_next(const FILE *__f) { return (__REINTERPRET_CAST(char*, __f->__ptr)); } ++inline char* _FILE_I_end(const FILE *__f) { return (__REINTERPRET_CAST(char*, __f->__ptr +__f->__cnt)); } ++ ++inline ptrdiff_t _FILE_I_avail(const FILE *__f) { return __f->__cnt; } ++ ++inline char& _FILE_I_preincr(FILE *__f) { --__f->__cnt; return *__REINTERPRET_CAST(char*, ++__f->__ptr); } ++inline char& _FILE_I_postincr(FILE *__f) { --__f->__cnt; return *__REINTERPRET_CAST(char*, __f->__ptr++); } ++inline char& _FILE_I_predecr(FILE *__f) { ++__f->__cnt; return *__REINTERPRET_CAST(char*,--__f->__ptr); } ++inline char& _FILE_I_postdecr(FILE *__f) { ++__f->__cnt; return *__REINTERPRET_CAST(char*,__f->__ptr--); } ++inline void _FILE_I_bump(FILE *__f, int __n) { __f->__cnt -= __n; __f->__ptr += __n; } + +-inline void _FILE_I_set(FILE& __f, char* __begin, char* __next, char* __end) { ++inline void _FILE_I_set(FILE *__f, char* __begin, char* __next, char* __end) { + # if defined(__hpux) +- if( (unsigned long) (&__f - &__iob[0]) > _NFILE) +- __f.__flag |= _IOEXT; // used by stdio's _bufend macro and goodness knows what else... ++ if( (unsigned long) (__f - &__iob[0]) > _NFILE) ++ __f->__flag |= _IOEXT; // used by stdio's _bufend macro and goodness knows what else... + # endif +- __f.__cnt = __end - __next; +- __f.__base = __REINTERPRET_CAST(unsigned char*, __begin); +- __f.__ptr = __REINTERPRET_CAST(unsigned char*, __next); +- _bufend(&__f) = __REINTERPRET_CAST(unsigned char*, __end); ++ __f->__cnt = __end - __next; ++ __f->__base = __REINTERPRET_CAST(unsigned char*, __begin); ++ __f->__ptr = __REINTERPRET_CAST(unsigned char*, __next); ++ _bufend(__f) = __REINTERPRET_CAST(unsigned char*, __end); + } + + // For HPUX stdio, input and output FILE manipulation is identical. + +-# define __STL_FILE_I_O_IDENTICAL ++# define _STLP_FILE_I_O_IDENTICAL + + #elif defined (__BORLANDC__) + +-typedef unsigned char* _File_ptr_type; ++typedef unsigned char* _File_ptr_type; + +-inline int _FILE_fd(const FILE& __f) { return __f.fd; } +-inline char* _FILE_I_begin(const FILE& __f) { return (char*) __f.buffer; } +-inline char* _FILE_I_next(const FILE& __f) { return (char*) __f.curp; } +-inline char* _FILE_I_end(const FILE& __f) +- { return (char*) __f.curp + __f.bsize; } +- +-inline ptrdiff_t _FILE_I_avail(const FILE& __f) { return __f.bsize; } +- +-inline char& _FILE_I_preincr(FILE& __f) +- { --__f.bsize; return *(char*) (++__f.curp); } +-inline char& _FILE_I_postincr(FILE& __f) +- { --__f.bsize; return *(char*) (__f.curp++); } +-inline char& _FILE_I_predecr(FILE& __f) +- { ++__f.bsize; return *(char*) (--__f.curp); } +-inline char& _FILE_I_postdecr(FILE& __f) +- { ++__f.bsize; return *(char*) (__f.curp--); } +-inline void _FILE_I_bump(FILE& __f, int __n) +- { __f.curp += __n; __f.bsize -= __n; } +- +-inline void _FILE_I_set(FILE& __f, char* __begin, char* __next, char* __end) { +- __f.buffer = (_File_ptr_type) __begin; +- __f.curp = (_File_ptr_type) __next; +- __f.bsize = __end - __next; ++inline int _FILE_fd(const FILE *__f) { return __f->fd; } ++inline char* _FILE_I_begin(const FILE *__f) { return (char*) __f->buffer; ++} ++inline char* _FILE_I_next(const FILE *__f) ++{ return (char*)__f->curp; } ++inline char* _FILE_I_end(const FILE *__f) ++{ return (char*) __f->curp + __f->level; } ++ ++inline ptrdiff_t _FILE_I_avail(const FILE *__f) { return __f->level; } ++ ++inline char& _FILE_I_preincr(FILE *__f) ++{ --__f->level; return *(char*) (++__f->curp); } ++inline char& _FILE_I_postincr(FILE *__f) ++{ --__f->level; return *(char*) (__f->curp++); } ++inline char& _FILE_I_predecr(FILE *__f) ++{ ++__f->level; return *(char*) (--__f->curp); } ++inline char& _FILE_I_postdecr(FILE *__f) ++{ ++__f->level; return *(char*) (__f->curp--); } ++inline void _FILE_I_bump(FILE *__f, int __n) ++{ __f->curp += __n; __f->level -= __n; } ++ ++inline void _FILE_I_set(FILE *__f, char* __begin, char* __next, char* ++ __end) { ++ __f->buffer = (_File_ptr_type) __begin; ++ __f->curp = (_File_ptr_type) __next; ++ __f->level = __end - __next; + } + +-# define __STL_FILE_I_O_IDENTICAL ++# define _STLP_FILE_I_O_IDENTICAL + + #elif defined( __MWERKS__ ) + +@@ -261,95 +373,267 @@ + // dwa: I'm not sure they provide fileno for all OS's, but this should + // work for Win32 and WinCE + # if __dest_os == __mac_os +-inline int _FILE_fd(const FILE& __f) { return ::fileno(__CONST_CAST(FILE*, &__f)); } ++inline int _FILE_fd(const FILE *__f) { return ::fileno(__CONST_CAST(FILE*, __f)); } + # else +-inline int _FILE_fd(const FILE& __f) { return ::_fileno(__CONST_CAST(FILE*, &__f)); } ++inline int _FILE_fd(const FILE *__f) { return ::_fileno(__CONST_CAST(FILE*, __f)); } + # endif + + // Returns a pointer to the beginning of the buffer. +-inline char* _FILE_I_begin(const FILE& __f) { return __REINTERPRET_CAST(char*, __f.buffer); } ++inline char* _FILE_I_begin(const FILE *__f) { return __REINTERPRET_CAST(char*, __f->buffer); } + // Returns the current read/write position within the buffer. +-inline char* _FILE_I_next(const FILE& __f) { return __REINTERPRET_CAST(char*, __f.buffer_ptr); } ++inline char* _FILE_I_next(const FILE *__f) { return __REINTERPRET_CAST(char*, __f->buffer_ptr); } + + // Returns a pointer immediately past the end of the buffer. +-inline char* _FILE_I_end(const FILE& __f) { return __REINTERPRET_CAST(char*, __f.buffer_ptr + __f.buffer_len); } ++inline char* _FILE_I_end(const FILE *__f) { return __REINTERPRET_CAST(char*, __f->buffer_ptr + __f->buffer_len); } + + // Returns the number of characters remaining in the buffer, i.e. + // _FILE_[IO]_end(__f) - _FILE_[IO]_next(__f). +-inline ptrdiff_t _FILE_I_avail(const FILE& __f) { return __f.buffer_len; } ++inline ptrdiff_t _FILE_I_avail(const FILE *__f) { return __f->buffer_len; } + + // Increments the current read/write position by 1, returning the + // character at the old position. +-inline char& _FILE_I_preincr(FILE& __f) +- { --__f.buffer_len; return *(char*) (++__f.buffer_ptr); } +-inline char& _FILE_I_postincr(FILE& __f) +- { --__f.buffer_len; return *(char*) (__f.buffer_ptr++); } +-inline char& _FILE_I_predecr(FILE& __f) +- { ++__f.buffer_len; return *(char*) (--__f.buffer_ptr); } +-inline char& _FILE_I_postdecr(FILE& __f) +- { ++__f.buffer_len; return *(char*) (__f.buffer_ptr--); } +-inline void _FILE_I_bump(FILE& __f, int __n) +- { __f.buffer_ptr += __n; __f.buffer_len -= __n; } +- +-inline void _FILE_I_set(FILE& __f, char* __begin, char* __next, char* __end) { +- __f.buffer = __REINTERPRET_CAST(unsigned char*, __begin); +- __f.buffer_ptr = __REINTERPRET_CAST(unsigned char*, __next); +- __f.buffer_len = __end - __next; +- __f.buffer_size = __end - __begin; ++inline char& _FILE_I_preincr(FILE *__f) ++ { --__f->buffer_len; return *(char*) (++__f->buffer_ptr); } ++inline char& _FILE_I_postincr(FILE *__f) ++ { --__f->buffer_len; return *(char*) (__f->buffer_ptr++); } ++inline char& _FILE_I_predecr(FILE *__f) ++ { ++__f->buffer_len; return *(char*) (--__f->buffer_ptr); } ++inline char& _FILE_I_postdecr(FILE *__f) ++ { ++__f->buffer_len; return *(char*) (__f->buffer_ptr--); } ++inline void _FILE_I_bump(FILE *__f, int __n) ++ { __f->buffer_ptr += __n; __f->buffer_len -= __n; } ++ ++inline void _FILE_I_set(FILE *__f, char* __begin, char* __next, char* __end) { ++ __f->buffer = __REINTERPRET_CAST(unsigned char*, __begin); ++ __f->buffer_ptr = __REINTERPRET_CAST(unsigned char*, __next); ++ __f->buffer_len = __end - __next; ++ __f->buffer_size = __end - __begin; + } + +-# define __STL_FILE_I_O_IDENTICAL ++# define _STLP_FILE_I_O_IDENTICAL + + #elif defined(__MRC__) || defined(__SC__) //*TY 02/24/2000 - added support for MPW + +-inline int _FILE_fd(const FILE& __f) { return __f._file; } ++inline int _FILE_fd(const FILE *__f) { return __f->_file; } + + // Returns a pointer to the beginning of the buffer. +-inline char* _FILE_I_begin(const FILE& __f) { return (char*) __f._base; } ++inline char* _FILE_I_begin(const FILE *__f) { return (char*) __f->_base; } + + // Returns the current read/write position within the buffer. +-inline char* _FILE_I_next(const FILE& __f) { return (char*) __f._ptr; } ++inline char* _FILE_I_next(const FILE *__f) { return (char*) __f->_ptr; } + + // Returns a pointer immediately past the end of the buffer. +-inline char* _FILE_I_end(const FILE& __f) { return (char*)__f._end; } ++inline char* _FILE_I_end(const FILE *__f) { return (char*)__f->_end; } + + // Returns the number of characters remaining in the buffer, i.e. + // _FILE_[IO]_end(__f) - _FILE_[IO]_next(__f). +-inline ptrdiff_t _FILE_I_avail(const FILE& __f) { return __f._cnt; } ++inline ptrdiff_t _FILE_I_avail(const FILE *__f) { return __f->_cnt; } + + // Increments the current read/write position by 1, returning the + // character at the NEW position. +-inline char& _FILE_I_preincr(FILE& __f) { --__f._cnt; return*(char*) (++__f._ptr); } ++inline char& _FILE_I_preincr(FILE *__f) { --__f->_cnt; return*(char*) (++__f->_ptr); } + + + // Increments the current read/write position by 1, returning the + // character at the old position. +-inline char& _FILE_I_postincr(FILE& __f) { --__f._cnt; return*(char*) (__f._ptr++); } ++inline char& _FILE_I_postincr(FILE *__f) { --__f->_cnt; return*(char*) (__f->_ptr++); } + + // Decrements the current read/write position by 1, returning the + // character at the NEW position. +-inline char& _FILE_I_predecr(FILE& __f) { ++__f._cnt; return*(char*) (--__f._ptr); } ++inline char& _FILE_I_predecr(FILE *__f) { ++__f->_cnt; return*(char*) (--__f->_ptr); } + + // Decrements the current read/write position by 1, returning the + // character at the old position. +-inline char& _FILE_I_postdecr(FILE& __f) { ++__f._cnt; return*(char*) (__f._ptr--); } ++inline char& _FILE_I_postdecr(FILE *__f) { ++__f->_cnt; return*(char*) (__f->_ptr--); } + + // Increments the current read/write position by __n. +-inline void _FILE_I_bump(FILE& __f, int __n) { __f._cnt -= __n; __f._ptr += __n; } ++inline void _FILE_I_bump(FILE *__f, int __n) { __f->_cnt -= __n; __f->_ptr += __n; } + + // Sets the beginning of the bufer to __begin, the current read/write + // position to __next, and the buffer's past-the-end pointer to __end. + // If any of those pointers is null, then all of them must be null. +-inline void _FILE_I_set(FILE& __f, char* __begin, char* __next, char* __end) ++inline void _FILE_I_set(FILE *__f, char* __begin, char* __next, char* __end) ++{ ++ __f->_base = (unsigned char*)__begin; ++ __f->_ptr = (unsigned char*)__next; ++ __f->_end = (unsigned char*)__end; ++ __f->_cnt = __end - __next; ++ __f->_size = __end - __begin; ++} ++ ++# define _STLP_FILE_I_O_IDENTICAL ++ ++#elif defined (__MVS__) ++ ++typedef unsigned char* _File_ptr_type; ++ ++inline int _FILE_fd(const FILE *__f) { return fileno(__CONST_CAST(FILE ++ *,__f)); } ++inline char* _FILE_I_begin(const FILE *__f) { return (char*) ++ __f->__fp->__bufPtr; } ++inline char* _FILE_I_next(const FILE *__f) { return (char*) ++ __f->__fp->__bufPtr; } ++inline char* _FILE_I_end(const FILE *__f) ++{ return (char*) __f->__fp->__bufPtr + __f->__fp->__countIn; } ++ ++inline ptrdiff_t _FILE_I_avail(const FILE *__f) { return ++ __f->__fp->__countIn; } ++ ++inline char& _FILE_I_preincr(FILE *__f) ++{ --__f->__fp->__countIn; return *(char*) (++__f->__fp->__bufPtr); } ++inline char& _FILE_I_postincr(FILE *__f) ++{ --__f->__fp->__countIn; return *(char*) (__f->__fp->__bufPtr++); } ++inline char& _FILE_I_predecr(FILE *__f) ++{ ++__f->__fp->__countIn; return *(char*) (--__f->__fp->__bufPtr); } ++inline char& _FILE_I_postdecr(FILE *__f) ++{ ++__f->__fp->__countIn; return *(char*) (__f->__fp->__bufPtr--); } ++inline void _FILE_I_bump(FILE *__f, int __n) ++{ __f->__fp->__bufPtr += __n; __f->__fp->__countIn -= __n; } ++ ++inline void _FILE_I_set(FILE *__f, char* __begin, char* __next, char* ++ __end) { ++ // __f->_base = (_File_ptr_type) __begin; ++ if(__f->__fp) { ++ __f->__fp->__bufPtr = (_File_ptr_type) __next; ++ __f->__fp->__countIn = __end - __next; ++ } ++} ++ ++inline char* _FILE_O_begin(const FILE *__f) { return (char*)__f->__fp->__bufPtr;} ++inline char* _FILE_O_next(const FILE *__f) { return (char*) __f->__fp->__bufPtr;} ++inline char* _FILE_O_end(const FILE *__f) { return (char*) __f->__fp->__bufPtr + __f->__fp->__countOut; } ++inline ptrdiff_t _FILE_O_avail(const FILE *__f) { return __f->__fp->__countOut; } ++ ++inline char& _FILE_O_preincr(FILE *__f) ++{ --__f->__fp->__countOut; return *(char*) (++__f->__fp->__bufPtr); } ++inline char& _FILE_O_postincr(FILE *__f) ++{ --__f->__fp->__countOut; return *(char*) (__f->__fp->__bufPtr++); } ++inline char& _FILE_O_predecr(FILE *__f) ++{ ++__f->__fp->__countOut; return *(char*) (--__f->__fp->__bufPtr); } ++inline char& _FILE_O_postdecr(FILE *__f) ++{ ++__f->__fp->__countOut; return *(char*) (__f->__fp->__bufPtr--); } ++inline void _FILE_O_bump(FILE *__f, int __n) ++{ __f->__fp->__bufPtr += __n; __f->__fp->__countOut -= __n; } ++ ++inline void _FILE_O_set(FILE *__f, char* __begin, char* __next, char* ++ __end) { ++ // __f->_base = (_File_ptr_type) __begin; ++ if(__f->__fp) { ++ __f->__fp->__bufPtr = (_File_ptr_type) __next; ++ __f->__fp->__countOut = __end - __next; ++ } ++} ++ ++#elif defined(__QNXNTO__) ++ ++inline int _FILE_fd(const FILE *__f) { return __f->_handle; ++} ++inline char* _FILE_I_begin(const FILE *__f) { return ++ (char*) __f->_base; } ++inline char* _FILE_I_next(const FILE *__f) { return ++ (char*) __f->_ptr; } ++inline char* _FILE_I_end(const FILE *__f) ++{ return (char*) __f->_ptr + __f->_cnt; } ++ ++inline ptrdiff_t _FILE_I_avail(const FILE *__f) { return ++ __f->_cnt; } ++ ++inline char& _FILE_I_preincr(FILE *__f) ++{ --__f->_cnt; return *(char*) (++__f->_ptr); } ++inline char& _FILE_I_postincr(FILE *__f) ++{ --__f->_cnt; return *(char*) (__f->_ptr++); } ++inline char& _FILE_I_predecr(FILE *__f) ++{ ++__f->_cnt; return *(char*) (--__f->_ptr); } ++inline char& _FILE_I_postdecr(FILE *__f) ++{ ++__f->_cnt; return *(char*) (__f->_ptr--); } ++inline void _FILE_I_bump(FILE *__f, int __n) ++{ __f->_ptr += __n; __f->_cnt -= __n; } ++ ++inline void _FILE_I_set(FILE *__f, char* __begin, char* ++ __next, char* ++ __end) { ++ __f->_base = (unsigned char*) __begin; ++ __f->_ptr = (unsigned char*) __next; ++ __f->_cnt = __end - __next; ++} ++ ++# define _STLP_FILE_I_O_IDENTICAL ++ ++#elif defined(__WATCOMC__) // Nikolaev ++ ++inline int _FILE_fd (const FILE *__f) { return __f->_handle;} ++inline char* _FILE_I_begin (const FILE *__f) { return __REINTERPRET_CAST(char*, __f->_link); } ++inline char* _FILE_I_next (const FILE *__f) { return __REINTERPRET_CAST(char*, __f->_ptr); } ++inline char* _FILE_I_end (const FILE *__f) { return __REINTERPRET_CAST(char*, __f->_ptr + __f->_cnt); } ++inline ptrdiff_t _FILE_I_avail (const FILE *__f) { return __f->_cnt; } ++ ++inline char& _FILE_I_preincr(FILE *__f) ++{ ++ --__f->_cnt; ++ return *__REINTERPRET_CAST(char*, ++__f->_ptr); ++} ++ ++inline char& _FILE_I_postincr(FILE *__f) ++{ ++ --__f->_cnt; ++ return *__REINTERPRET_CAST(char*, __f->_ptr++); ++} ++ ++inline char& _FILE_I_predecr(FILE *__f) + { +- __f._base = (unsigned char*)__begin; +- __f._ptr = (unsigned char*)__next; +- __f._end = (unsigned char*)__end; +- __f._cnt = __end - __next; +- __f._size = __end - __begin; ++ ++__f->_cnt; ++ return *__REINTERPRET_CAST(char*, --__f->_ptr); + } ++ ++inline char& _FILE_I_postdecr(FILE *__f) ++{ ++ ++__f->_cnt; ++ return *__REINTERPRET_CAST(char*, __f->_ptr--); ++} ++ ++inline void _FILE_I_bump(FILE *__f, int __n) ++{ ++ __f->_ptr += __n; ++ __f->_cnt -= __n; ++} ++ ++inline void _FILE_I_set(FILE *__f, char* __begin, char* __next, char* __end) ++{ ++ __f->_link = __REINTERPRET_CAST(__stream_link*, __begin); ++ __f->_ptr = __REINTERPRET_CAST(unsigned char*, __next); ++ __f->_cnt = __end - __next; ++} ++ ++# define _STLP_FILE_I_O_IDENTICAL + +-# define __STL_FILE_I_O_IDENTICAL ++#elif defined (__Lynx__) ++ ++// the prototypes are taken from LynxOS patch for STLport 4.0 ++inline int _FILE_fd(const FILE *__f) { return __f->_fd; } ++inline char* _FILE_I_begin(const FILE *__f) { return (char*) __f->_base; } ++inline char* _FILE_I_next(const FILE *__f) { return (char*) __f->_ptr; } ++inline char* _FILE_I_end(const FILE *__f) ++ { return (char*) __f->_ptr + __f->_cnt; } ++ ++inline ptrdiff_t _FILE_I_avail(const FILE *__f) { return __f->_cnt; } ++ ++inline char& _FILE_I_preincr(FILE *__f) ++ { --__f->_cnt; return *(char*) (++__f->_ptr); } ++inline char& _FILE_I_postincr(FILE *__f) ++ { --__f->_cnt; return *(char*) (__f->_ptr++); } ++inline char& _FILE_I_predecr(FILE *__f) ++ { ++__f->_cnt; return *(char*) (--__f->_ptr); } ++inline char& _FILE_I_postdecr(FILE *__f) ++ { ++__f->_cnt; return *(char*) (__f->_ptr--); } ++inline void _FILE_I_bump(FILE *__f, int __n) ++ { __f->_ptr += __n; __f->_cnt -= __n; } ++ ++inline void _FILE_I_set(FILE *__f, char* __begin, char* __next, char* __end) { ++ __f->_base = __begin; ++ __f->_ptr = __next; ++ __f->_cnt = __end - __next; ++} ++# define _STLP_FILE_I_O_IDENTICAL + + #else /* A C library that we don't have an implementation for. */ + +@@ -359,26 +643,30 @@ + + + // For most stdio's , input and output FILE manipulation is identical. +-# ifdef __STL_FILE_I_O_IDENTICAL +-inline char* _FILE_O_begin(const FILE& __f) { return _FILE_I_begin(__f); } +-inline char* _FILE_O_next(const FILE& __f) { return _FILE_I_next(__f); } +-inline char* _FILE_O_end(const FILE& __f) { return _FILE_I_end(__f); } +- +-inline ptrdiff_t _FILE_O_avail(const FILE& __f) { return _FILE_I_avail(__f); } +- +-inline char& _FILE_O_preincr(FILE& __f) { return _FILE_I_preincr(__f); } +-inline char& _FILE_O_postincr(FILE& __f) { return _FILE_I_postincr(__f); } +-inline char& _FILE_O_predecr(FILE& __f) { return _FILE_I_predecr(__f); } +-inline char& _FILE_O_postdecr(FILE& __f) { return _FILE_I_postdecr(__f); } ++# ifdef _STLP_FILE_I_O_IDENTICAL ++inline char* _FILE_O_begin(const FILE *__f) { return _FILE_I_begin(__f); } ++inline char* _FILE_O_next(const FILE *__f) { return _FILE_I_next(__f); } ++inline char* _FILE_O_end(const FILE *__f) { return _FILE_I_end(__f); } ++ ++inline ptrdiff_t _FILE_O_avail(const FILE *__f) { return _FILE_I_avail(__f); } ++ ++inline char& _FILE_O_preincr(FILE *__f) { return _FILE_I_preincr(__f); } ++inline char& _FILE_O_postincr(FILE *__f) { return _FILE_I_postincr(__f); } ++inline char& _FILE_O_predecr(FILE *__f) { return _FILE_I_predecr(__f); } ++inline char& _FILE_O_postdecr(FILE *__f) { return _FILE_I_postdecr(__f); } + +-inline void _FILE_O_bump(FILE& __f, int __n) { _FILE_I_bump(__f, __n); } +-inline void _FILE_O_set(FILE& __f, char* __begin, char* __next, char* __end) ++inline void _FILE_O_bump(FILE *__f, int __n) { _FILE_I_bump(__f, __n); } ++inline void _FILE_O_set(FILE *__f, char* __begin, char* __next, char* __end) + { _FILE_I_set(__f, __begin, __next, __end); } + # endif + +-__STL_END_NAMESPACE ++#else ++inline int _FILE_fd(const FILE *__f) { return (int)::_fileno(__CONST_CAST(FILE *, __f)); } ++#endif /* _STLP_WINCE */ ++ ++_STLP_END_NAMESPACE + +-#endif /* __SGI_STL_STDIO_FILE_H */ ++#endif /* _STLP_STDIO_FILE_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_stream_iterator.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_stream_iterator.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_stream_iterator.h Sat Feb 24 10:45:09 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_stream_iterator.h Sun Aug 11 18:59:25 2002 +@@ -27,235 +27,48 @@ + * You should not attempt to use it directly. + */ + +-#if !defined (__SGI_STL_INTERNAL_STREAM_ITERATOR_H) && ! defined (__STL_USE_NO_IOSTREAMS) +-#define __SGI_STL_INTERNAL_STREAM_ITERATOR_H ++#if !defined (_STLP_INTERNAL_STREAM_ITERATOR_H) && ! defined (_STLP_USE_NO_IOSTREAMS) ++#define _STLP_INTERNAL_STREAM_ITERATOR_H + +-#ifndef __SGI_STL_INTERNAL_ITERATOR_BASE_H ++#ifndef _STLP_INTERNAL_ITERATOR_BASE_H + # include + #endif + + // streambuf_iterators predeclarations must appear first +-#ifndef __STLPORT_IOSFWD ++#ifndef _STLP_IOSFWD + # include + #endif + +-// fbp : not sure this one is needed +-# include +- +-# if defined (__SGI_STL_OWN_IOSTREAMS) +- +-# include +- +-__STL_BEGIN_NAMESPACE +- +-// We do not read any characters until operator* is called. The first +-// time operator* is called, it calls getc. Subsequent calls to getc +-// return a cached character, and calls to operator++ use snextc. Before +-// operator* or operator++ has been called, _M_is_initialized is false. +-template +-class istreambuf_iterator +-{ +-public: +- typedef _CharT char_type; +- typedef _Traits traits_type; +- typedef typename _Traits::int_type int_type; +- typedef basic_streambuf<_CharT, _Traits> streambuf_type; +- typedef basic_istream<_CharT, _Traits> istream_type; +- +- typedef input_iterator_tag iterator_category; +- typedef _CharT value_type; +- typedef typename _Traits::off_type difference_type; +- typedef const _CharT* pointer; +- typedef const _CharT& reference; +- +-public: +- istreambuf_iterator(streambuf_type* __p = 0) { this->_M_init(__p); } +- inline istreambuf_iterator(basic_istream<_CharT, _Traits>& __is); +- +- char_type operator*() const +- { if (!_M_is_initialized) this->_M_getc() ; return _M_c ; } +- +- istreambuf_iterator<_CharT, _Traits>& operator++() { this->_M_nextc(); return *this; } +- +- istreambuf_iterator operator++(int); +- +- bool equal(const istreambuf_iterator<_CharT, _Traits>& __i) const { +- return this->_M_is_initialized && __i._M_is_initialized +- ? this->_M_eof == __i._M_eof +- : this->_M_equal_aux(__i); +- } +- +-private: +- void _M_init(streambuf_type* __p) { +- _M_buf = __p; +- _M_eof = !__p; +- _M_is_initialized = _M_eof; +- } +- +- void _M_getc() const { +- int_type __c = _M_buf->sgetc(); +-# if !defined (__STL_NEED_MUTABLE) /* && ! defined (__SUNPRO_CC) */ +- _M_c = traits_type::to_char_type(__c); +- _M_eof = traits_type::eq_int_type(__c, traits_type::eof()); +- _M_is_initialized = true; +-# else +- typedef istreambuf_iterator<_CharT,_Traits> _Self; +- _Self* __that = __CONST_CAST(_Self*, this); +- __that->_M_c = __STATIC_CAST(_CharT, traits_type::to_char_type(__c)); +- __that->_M_eof = traits_type::eq_int_type(__c, traits_type::eof()); +- __that->_M_is_initialized = true; +-# endif +- } +- +- +- bool _M_equal_aux(const istreambuf_iterator<_CharT, _Traits>& __i) const { +- if (!this->_M_is_initialized) +- this->_M_getc(); +- if (!__i._M_is_initialized) +- __i._M_getc(); +- return this->_M_eof == __i._M_eof; +- } +- +- void _M_nextc() { +- int_type __c = _M_buf->snextc(); +- +- _M_c = traits_type::to_char_type(__c); +- _M_eof = traits_type::eq_int_type(__c, traits_type::eof()); +- _M_is_initialized = true; +- } +- +-private: +- streambuf_type* _M_buf; +- mutable _CharT _M_c; +-#if !defined(__SC__) //*TY 03/20/2000 - +- mutable unsigned char _M_eof; +- mutable unsigned char _M_is_initialized; +-#else //*TY 03/20/2000 - added workaround for apple mpw SCpp compiler +- mutable bool _M_eof; //*TY 03/20/2000 - usage of mutable unsigned char in bool expression chokes the compiler +- mutable bool _M_is_initialized; //*TY 03/20/2000 - +-#endif //*TY 03/20/2000 - +-}; +- +-template +-inline bool __STL_CALL operator==(const istreambuf_iterator<_CharT, _Traits>& __x, +- const istreambuf_iterator<_CharT, _Traits>& __y) { +- return __x.equal(__y); +-} +- +-#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE +- +-template +-inline bool __STL_CALL operator!=(const istreambuf_iterator<_CharT, _Traits>& __x, +- const istreambuf_iterator<_CharT, _Traits>& __y) { +- return !__x.equal(__y); +-} +- +-#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ +- +-// The default template argument is declared in iosfwd +-template +-class ostreambuf_iterator +-{ +-public: +- typedef _CharT char_type; +- typedef _Traits traits_type; +- typedef typename _Traits::int_type int_type; +- typedef basic_streambuf<_CharT, _Traits> streambuf_type; +- typedef basic_ostream<_CharT, _Traits> ostream_type; +- +- typedef output_iterator_tag iterator_category; +- typedef void value_type; +- typedef void difference_type; +- typedef void pointer; +- typedef void reference; +- +-public: +- ostreambuf_iterator(streambuf_type* __buf) __STL_NOTHROW : _M_buf(__buf), _M_ok(__buf!=0) {} +- ostreambuf_iterator(ostream_type& __o) __STL_NOTHROW; +- +- ostreambuf_iterator<_CharT, _Traits>& operator=(char_type __c) { +- _M_ok = _M_ok && !traits_type::eq_int_type(_M_buf->sputc(__c), +- traits_type::eof()); +- return *this; +- } +- +- ostreambuf_iterator<_CharT, _Traits>& operator*() { return *this; } +- ostreambuf_iterator<_CharT, _Traits>& operator++() { return *this; } +- ostreambuf_iterator<_CharT, _Traits>& operator++(int) { return *this; } +- +- bool failed() const { return !_M_ok; } +- +-private: +- streambuf_type* _M_buf; +- bool _M_ok; +-}; +- +-# if defined (__STL_USE_TEMPLATE_EXPORT) +-__STL_EXPORT_TEMPLATE_CLASS istreambuf_iterator >; +-__STL_EXPORT_TEMPLATE_CLASS ostreambuf_iterator >; +-# if defined (INSTANTIATE_WIDE_STREAMS) +-__STL_EXPORT_TEMPLATE_CLASS ostreambuf_iterator >; +-__STL_EXPORT_TEMPLATE_CLASS istreambuf_iterator >; +-# endif +-# endif /* __STL_USE_TEMPLATE_EXPORT */ +- +-# ifdef __STL_USE_OLD_HP_ITERATOR_QUERIES +-template +-inline input_iterator_tag __STL_CALL __ITERATOR_CATEGORY(const istreambuf_iterator<_CharT, _Traits>&) { return input_iterator_tag(); } +-template +-inline streamoff __STL_CALL +-__DISTANCE_TYPE(const istreambuf_iterator<_CharT, _Traits>&) { typedef streamoff __off_type; return __off_type(); } +-template +-inline _CharT* __STL_CALL +-__VALUE_TYPE(const istreambuf_iterator<_CharT, _Traits>&) { return (_CharT*)0; } +-template +-inline output_iterator_tag __STL_CALL +-__ITERATOR_CATEGORY(const ostreambuf_iterator<_CharT, _Traits>&) { return output_iterator_tag(); } +-# endif +- +-__STL_END_NAMESPACE +- +-# include +- +-__STL_BEGIN_NAMESPACE +- +-template +-inline +-istreambuf_iterator<_CharT, _Traits>::istreambuf_iterator(basic_istream<_CharT, _Traits>& __is) +-{ +- basic_streambuf<_CharT, _Traits>* __buf = __is.rdbuf(); +- this->_M_init(__buf); +-} ++#ifndef _STLP_INTERNAL_ALGOBASE_H ++#include ++#endif + +-template +-istreambuf_iterator<_CharT, _Traits> +-istreambuf_iterator<_CharT, _Traits>::operator++(int) { +- if (!_M_is_initialized) +- this->_M_getc(); +- istreambuf_iterator<_CharT, _Traits> __tmp = *this; +- this->_M_nextc(); +- return __tmp; +-} ++#if defined (_STLP_OWN_IOSTREAMS) + +-template +-ostreambuf_iterator<_CharT, _Traits>::ostreambuf_iterator(basic_ostream<_CharT, _Traits>& __o) __STL_NOTHROW +-: _M_buf(__o.rdbuf()), _M_ok(__o.rdbuf()!=0) {} ++#ifndef _STLP_INTERNAL_OSTREAMBUF_ITERATOR_H ++# include ++#endif + +-__STL_END_NAMESPACE ++#ifndef _STLP_INTERNAL_ISTREAMBUF_ITERATOR_H ++# include ++#endif + +-# endif /* SGI_OWN_IOSTREAMS */ ++#ifndef _STLP_INTERNAL_ISTREAM_H ++# include ++#endif ++#endif /* _STLP_OWN_IOSTREAMS */ + + // istream_iterator and ostream_iterator look very different if we're + // using new, templatized iostreams than if we're using the old cfront + // version. + +-# if defined (__STL_USE_NEW_IOSTREAMS) ++# if defined (_STLP_USE_NEW_IOSTREAMS) + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + +-# ifndef __STL_LIMITED_DEFAULT_TEMPLATES ++# ifndef _STLP_LIMITED_DEFAULT_TEMPLATES + template , ++ class _CharT = _STLP_DEFAULTCHAR, class _Traits = char_traits<_CharT>, + class _Dist = ptrdiff_t> + # define __ISI_TMPL_HEADER_ARGUMENTS class _Tp, class _CharT, class _Traits, class _Dist + # define __ISI_TMPL_ARGUMENTS _Tp, _CharT, _Traits, _Dist +@@ -263,7 +76,7 @@ + const _Tp*, const _Tp& > { + # else + +-# if defined (__STL_MINIMUM_DEFAULT_TEMPLATE_PARAMS) && ! defined (__STL_DEFAULT_TYPE_PARAM) ++# if defined (_STLP_MINIMUM_DEFAULT_TEMPLATE_PARAMS) && ! defined (_STLP_DEFAULT_TYPE_PARAM) + # define __ISI_TMPL_HEADER_ARGUMENTS class _Tp + # define __ISI_TMPL_ARGUMENTS _Tp + template +@@ -275,14 +88,14 @@ + template + class istream_iterator : public iterator { +-# endif /* __STL_MINIMUM_DEFAULT_TEMPLATE_PARAMS */ ++# endif /* _STLP_MINIMUM_DEFAULT_TEMPLATE_PARAMS */ + +-# endif /* __STL_LIMITED_DEFAULT_TEMPLATES */ ++# endif /* _STLP_LIMITED_DEFAULT_TEMPLATES */ + +-# ifdef __STL_LIMITED_DEFAULT_TEMPLATES ++# ifdef _STLP_LIMITED_DEFAULT_TEMPLATES + typedef char _CharT; + typedef char_traits _Traits; +-# if defined (__STL_MINIMUM_DEFAULT_TEMPLATE_PARAMS) && ! defined (__STL_DEFAULT_TYPE_PARAM) ++# if defined (_STLP_MINIMUM_DEFAULT_TEMPLATE_PARAMS) && ! defined (_STLP_DEFAULT_TYPE_PARAM) + typedef ptrdiff_t _Dist; + # endif + # endif +@@ -304,7 +117,7 @@ + + reference operator*() const { return _M_value; } + +- __STL_DEFINE_ARROW_OPERATOR ++ _STLP_DEFINE_ARROW_OPERATOR + + _Self& operator++() { + _M_read(); +@@ -333,14 +146,14 @@ + } + }; + +-#ifndef __STL_LIMITED_DEFAULT_TEMPLATES ++#ifndef _STLP_LIMITED_DEFAULT_TEMPLATES + template > ++ class _CharT = _STLP_DEFAULTCHAR, class _Traits = char_traits<_CharT> > + #else + template + #endif + class ostream_iterator: public iterator { +-# ifdef __STL_LIMITED_DEFAULT_TEMPLATES ++# ifdef _STLP_LIMITED_DEFAULT_TEMPLATES + typedef char _CharT; + typedef char_traits _Traits; + typedef ostream_iterator<_TpP> _Self; +@@ -353,17 +166,12 @@ + typedef basic_ostream<_CharT, _Traits> ostream_type; + + typedef output_iterator_tag iterator_category; +-# if 0 +- typedef void value_type; +- typedef void difference_type; +- typedef void pointer; +- typedef void reference; +-# endif ++ + ostream_iterator(ostream_type& __s) : _M_stream(&__s), _M_string(0) {} + ostream_iterator(ostream_type& __s, const _CharT* __c) + : _M_stream(&__s), _M_string(__c) {} +- _Self& operator=(const _TpP& __value) { +- *_M_stream << __value; ++ _Self& operator=(const _TpP& __val) { ++ *_M_stream << __val; + if (_M_string) *_M_stream << _M_string; + return *this; + } +@@ -375,26 +183,25 @@ + const _CharT* _M_string; + }; + +-# ifdef __STL_USE_OLD_HP_ITERATOR_QUERIES +-# ifdef __STL_LIMITED_DEFAULT_TEMPLATES ++# ifdef _STLP_USE_OLD_HP_ITERATOR_QUERIES ++# ifdef _STLP_LIMITED_DEFAULT_TEMPLATES + template +-inline output_iterator_tag __STL_CALL +-__ITERATOR_CATEGORY(const ostream_iterator<_TpP>&) { return output_iterator_tag(); } ++inline output_iterator_tag _STLP_CALL ++iterator_category(const ostream_iterator<_TpP>&) { return output_iterator_tag(); } + # else + template +-inline output_iterator_tag __STL_CALL +-__ITERATOR_CATEGORY(const ostream_iterator<_TpP, _CharT, _Traits>&) { return output_iterator_tag(); } ++inline output_iterator_tag _STLP_CALL ++iterator_category(const ostream_iterator<_TpP, _CharT, _Traits>&) { return output_iterator_tag(); } + # endif + # endif + +-__STL_END_NAMESPACE +- ++_STLP_END_NAMESPACE + +-# elif ! defined(__STL_USE_NO_IOSTREAMS) ++# elif ! defined(_STLP_USE_NO_IOSTREAMS) + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + +-# if defined (__STL_MINIMUM_DEFAULT_TEMPLATE_PARAMS) && ! defined (__STL_DEFAULT_TYPE_PARAM) ++# if defined (_STLP_MINIMUM_DEFAULT_TEMPLATE_PARAMS) && ! defined (_STLP_DEFAULT_TYPE_PARAM) + # define __ISI_TMPL_HEADER_ARGUMENTS class _Tp + # define __ISI_TMPL_ARGUMENTS _Tp + template +@@ -428,7 +235,7 @@ + istream_iterator(istream& __s) : _M_stream(&__s) { _M_read(); } + reference operator*() const { return _M_value; } + +- __STL_DEFINE_ARROW_OPERATOR ++ _STLP_DEFINE_ARROW_OPERATOR + + istream_iterator< __ISI_TMPL_ARGUMENTS >& operator++() { + _M_read(); +@@ -453,7 +260,7 @@ + const char* _M_string; + public: + typedef output_iterator_tag iterator_category; +-# ifdef __STL_CLASS_PARTIAL_SPECIALIZATION ++# ifdef _STLP_CLASS_PARTIAL_SPECIALIZATION + typedef void value_type; + typedef void difference_type; + typedef void pointer; +@@ -462,8 +269,8 @@ + ostream_iterator(ostream& __s) : _M_stream(&__s), _M_string(0) {} + ostream_iterator(ostream& __s, const char* __c) + : _M_stream(&__s), _M_string(__c) {} +- ostream_iterator<_Tp>& operator=(const _Tp& __value) { +- *_M_stream << __value; ++ ostream_iterator<_Tp>& operator=(const _Tp& __val) { ++ *_M_stream << __val; + if (_M_string) *_M_stream << _M_string; + return *this; + } +@@ -472,65 +279,64 @@ + ostream_iterator<_Tp>& operator++(int) { return *this; } + }; + +-# ifdef __STL_USE_OLD_HP_ITERATOR_QUERIES +-template +-inline output_iterator_tag +-__ITERATOR_CATEGORY(const ostream_iterator<_Tp>&) { return output_iterator_tag(); } ++# ifdef _STLP_USE_OLD_HP_ITERATOR_QUERIES ++template inline output_iterator_tag ++iterator_category(const ostream_iterator<_Tp>&) { return output_iterator_tag(); } + #endif + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-#endif /* __STL_USE_NEW_IOSTREAMS */ ++#endif /* _STLP_USE_NEW_IOSTREAMS */ + + // form-independent definiotion of stream iterators +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + template < __ISI_TMPL_HEADER_ARGUMENTS > +-inline bool __STL_CALL ++inline bool _STLP_CALL + operator==(const istream_iterator< __ISI_TMPL_ARGUMENTS >& __x, + const istream_iterator< __ISI_TMPL_ARGUMENTS >& __y) { + return __x._M_equal(__y); + } + +-# ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE ++# ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE + + template < __ISI_TMPL_HEADER_ARGUMENTS > +-inline bool __STL_CALL ++inline bool _STLP_CALL + operator!=(const istream_iterator< __ISI_TMPL_ARGUMENTS >& __x, + const istream_iterator< __ISI_TMPL_ARGUMENTS >& __y) { + return !__x._M_equal(__y); + } + +-# endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ ++# endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ + +-# ifdef __STL_USE_OLD_HP_ITERATOR_QUERIES ++# ifdef _STLP_USE_OLD_HP_ITERATOR_QUERIES + template < __ISI_TMPL_HEADER_ARGUMENTS > +-inline input_iterator_tag __STL_CALL +-__ITERATOR_CATEGORY(const istream_iterator< __ISI_TMPL_ARGUMENTS >&) ++inline input_iterator_tag _STLP_CALL ++iterator_category(const istream_iterator< __ISI_TMPL_ARGUMENTS >&) + { return input_iterator_tag(); } + template < __ISI_TMPL_HEADER_ARGUMENTS > +-inline _Tp* __STL_CALL +-__VALUE_TYPE(const istream_iterator< __ISI_TMPL_ARGUMENTS >&) { return (_Tp*) 0; } ++inline _Tp* _STLP_CALL ++value_type(const istream_iterator< __ISI_TMPL_ARGUMENTS >&) { return (_Tp*) 0; } + +-# if defined (__STL_MINIMUM_DEFAULT_TEMPLATE_PARAMS) && ! defined (__STL_DEFAULT_TYPE_PARAM) ++# if defined (_STLP_MINIMUM_DEFAULT_TEMPLATE_PARAMS) && ! defined (_STLP_DEFAULT_TYPE_PARAM) + template < __ISI_TMPL_HEADER_ARGUMENTS > +-inline ptrdiff_t* __STL_CALL +-__DISTANCE_TYPE(const istream_iterator< __ISI_TMPL_ARGUMENTS >&) { return (ptrdiff_t*)0; } ++inline ptrdiff_t* _STLP_CALL ++distance_type(const istream_iterator< __ISI_TMPL_ARGUMENTS >&) { return (ptrdiff_t*)0; } + # else + template < __ISI_TMPL_HEADER_ARGUMENTS > +-inline _Dist* __STL_CALL +-__DISTANCE_TYPE(const istream_iterator< __ISI_TMPL_ARGUMENTS >&) { return (_Dist*)0; } +-# endif /* __STL_MINIMUM_DEFAULT_TEMPLATE_PARAMS */ ++inline _Dist* _STLP_CALL ++distance_type(const istream_iterator< __ISI_TMPL_ARGUMENTS >&) { return (_Dist*)0; } ++# endif /* _STLP_MINIMUM_DEFAULT_TEMPLATE_PARAMS */ + + # endif + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + + # undef __ISI_TMPL_HEADER_ARGUMENTS + # undef __ISI_TMPL_ARGUMENTS + + +-#endif /* __SGI_STL_INTERNAL_STREAM_ITERATOR_H */ ++#endif /* _STLP_INTERNAL_STREAM_ITERATOR_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_streambuf.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_streambuf.c +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_streambuf.c Sat Feb 24 10:45:08 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_streambuf.c Sun Aug 11 18:59:25 2002 +@@ -15,16 +15,16 @@ + * modified is included with the above copyright notice. + * + */ +-#ifndef __STL_STREAMBUF_C +-#define __STL_STREAMBUF_C ++#ifndef _STLP_STREAMBUF_C ++#define _STLP_STREAMBUF_C + +-#ifdef __STL_LINK_TIME_INSTANTIATION ++#ifndef _STLP_INTERNAL_STREAMBUF + # include + #endif + +-# if defined (__STL_DESIGNATED_DLL) || ! defined (__STL_NO_CUSTOM_IO) ++# if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + //---------------------------------------------------------------------- + // Non-inline basic_streambuf<> member functions. + +@@ -60,7 +60,7 @@ + + while (__result < __n) { + if (_M_gnext < _M_gend) { +- size_t __chunk = min(__STATIC_CAST(size_t,_M_gend - _M_gnext), ++ size_t __chunk = (min) (__STATIC_CAST(size_t,_M_gend - _M_gnext), + __STATIC_CAST(size_t,__n - __result)); + _Traits::copy(__s, _M_gnext, __chunk); + __result += __chunk; +@@ -70,9 +70,9 @@ + else { + int_type __c = this->sbumpc(); + if (!_Traits::eq_int_type(__c, __eof)) { +- __s[__result] = __c; ++ *__s = __c; + ++__result; +- ++__s; ++ ++__s; + } + else + break; +@@ -91,7 +91,7 @@ + + while (__result < __n) { + if (_M_pnext < _M_pend) { +- size_t __chunk = min(__STATIC_CAST(size_t,_M_pend - _M_pnext), ++ size_t __chunk = (min) (__STATIC_CAST(size_t,_M_pend - _M_pnext), + __STATIC_CAST(size_t,__n - __result)); + _Traits::copy(_M_pnext, __s, __chunk); + __result += __chunk; +@@ -119,7 +119,7 @@ + + while (__result < __n) { + if (_M_pnext < _M_pend) { +- size_t __chunk = min(__STATIC_CAST(size_t,_M_pend - _M_pnext), ++ size_t __chunk = (min) (__STATIC_CAST(size_t,_M_pend - _M_pnext), + __STATIC_CAST(size_t,__n - __result)); + _Traits::assign(_M_pnext, __chunk, __c); + __result += __chunk; +@@ -136,7 +136,7 @@ + } + + template +-__STL_TYPENAME_ON_RETURN_TYPE basic_streambuf<_CharT, _Traits>::int_type ++_STLP_TYPENAME_ON_RETURN_TYPE basic_streambuf<_CharT, _Traits>::int_type + basic_streambuf<_CharT, _Traits>::_M_snextc_aux() + { + int_type __eof = _Traits::eof(); +@@ -149,19 +149,19 @@ + } + + template +-__STL_TYPENAME_ON_RETURN_TYPE basic_streambuf<_CharT, _Traits>::int_type ++_STLP_TYPENAME_ON_RETURN_TYPE basic_streambuf<_CharT, _Traits>::int_type + basic_streambuf<_CharT, _Traits>::pbackfail(int_type) { + return _Traits::eof(); + } + + template +-__STL_TYPENAME_ON_RETURN_TYPE basic_streambuf<_CharT, _Traits>::int_type ++_STLP_TYPENAME_ON_RETURN_TYPE basic_streambuf<_CharT, _Traits>::int_type + basic_streambuf<_CharT, _Traits>::overflow(int_type) { + return _Traits::eof(); + } + + template +-__STL_TYPENAME_ON_RETURN_TYPE basic_streambuf<_CharT, _Traits>::int_type ++_STLP_TYPENAME_ON_RETURN_TYPE basic_streambuf<_CharT, _Traits>::int_type + basic_streambuf<_CharT, _Traits>::uflow() { + return ( _Traits::eq_int_type(this->underflow(),_Traits::eof()) ? + _Traits::eof() : +@@ -169,7 +169,7 @@ + } + + template +-__STL_TYPENAME_ON_RETURN_TYPE basic_streambuf<_CharT, _Traits>::int_type ++_STLP_TYPENAME_ON_RETURN_TYPE basic_streambuf<_CharT, _Traits>::int_type + basic_streambuf<_CharT, _Traits>::underflow() + { return _Traits::eof(); } + +@@ -187,12 +187,12 @@ + basic_streambuf<_CharT, _Traits>::sync() { return 0; } + + template +-__STL_TYPENAME_ON_RETURN_TYPE basic_streambuf<_CharT, _Traits>::pos_type ++_STLP_TYPENAME_ON_RETURN_TYPE basic_streambuf<_CharT, _Traits>::pos_type + basic_streambuf<_CharT, _Traits>::seekpos(pos_type, ios_base::openmode) + { return pos_type(-1); } + + template +-__STL_TYPENAME_ON_RETURN_TYPE basic_streambuf<_CharT, _Traits>::pos_type ++_STLP_TYPENAME_ON_RETURN_TYPE basic_streambuf<_CharT, _Traits>::pos_type + basic_streambuf<_CharT, _Traits>::seekoff(off_type, ios_base::seekdir, + ios_base::openmode) + { return pos_type(-1); } +@@ -203,14 +203,14 @@ + { return this; } + + +-# if defined (__STL_USE_TEMPLATE_EXPORT) +-# if !defined (__STL_NO_WCHAR_T) +-__STL_EXPORT_TEMPLATE_CLASS basic_streambuf >; ++# if defined (_STLP_USE_TEMPLATE_EXPORT) ++# if !defined (_STLP_NO_WCHAR_T) ++_STLP_EXPORT_TEMPLATE_CLASS basic_streambuf >; + # endif +-# endif /* __STL_USE_TEMPLATE_EXPORT */ ++# endif /* _STLP_USE_TEMPLATE_EXPORT */ + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-# endif /* NO_CUSTOM_IO */ ++# endif /* EXPOSE */ + + #endif +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_streambuf.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_streambuf.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_streambuf.h Sat Feb 24 10:45:09 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_streambuf.h Sun Aug 11 18:59:25 2002 +@@ -15,15 +15,20 @@ + * modified is included with the above copyright notice. + * + */ +-#ifndef __SGI_STL_INTERNAL_STREAMBUF +-#define __SGI_STL_INTERNAL_STREAMBUF ++#ifndef _STLP_INTERNAL_STREAMBUF ++#define _STLP_INTERNAL_STREAMBUF + ++#ifndef _STLP_IOS_BASE_H + #include // Needed for ios_base bitfield members. + // includes . ++#endif ++ ++#ifndef _STLP_STDIO_FILE_H + #include // Declaration of struct FILE, and of + // functions to manipulate it. ++#endif + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + //---------------------------------------------------------------------- + // Class basic_streambuf<>, the base class of the streambuf hierarchy. +@@ -71,7 +76,7 @@ + locale _M_locale; // The streambuf's locale object + + public: // Extension: locking, for thread safety. +- _STL_mutex _M_lock; ++ _STLP_mutex _M_lock; + + public: // Destructor. + virtual ~basic_streambuf(); +@@ -260,9 +265,20 @@ + locale pubimbue(const locale&); + locale getloc() const { return _M_locale; } + +-# ifndef __STL_NO_ANACHRONISMS ++# ifndef _STLP_NO_ANACHRONISMS + void stossc() { this->sbumpc(); } + # endif ++#if defined(__MVS__) || defined(__OS400__) ++private: // Data members. ++ ++ char_type* _M_gbegin; // Beginning of get area ++ char_type* _M_gnext; // Current position within the get area ++ char_type* _M_gend; // End of get area ++ ++ char_type* _M_pbegin; // Beginning of put area ++ char_type* _M_pnext; // Current position within the put area ++ char_type* _M_pend; // End of put area ++#endif + }; + + +@@ -294,8 +310,8 @@ + // between whe FILE's internal representation and the three-pointer + // representation that basic_streambuf<> needs. + +-__STL_TEMPLATE_NULL +-class __STL_CLASS_DECLSPEC basic_streambuf > ++_STLP_TEMPLATE_NULL ++class _STLP_CLASS_DECLSPEC basic_streambuf > + { + friend class basic_istream >; + friend class basic_ostream >; +@@ -308,8 +324,8 @@ + + private: // Data members. + +- FILE& _M_get; // Reference to the get area +- FILE& _M_put; // Reference to the put area ++ FILE* _M_get; // Reference to the get area ++ FILE* _M_put; // Reference to the put area + + #if defined(__hpux) + _FILEX _M_default_get; // Get area, unless we're syncing with stdio. +@@ -322,18 +338,25 @@ + locale _M_locale; + + public: // Extension: locking, for thread safety. +- _STL_mutex _M_lock; ++ _STLP_mutex _M_lock; + + public: // Destructor. +- virtual ~basic_streambuf __STL_PSPEC2(char, char_traits) (); ++ virtual ~basic_streambuf _STLP_PSPEC2(char, char_traits) (); + + protected: // Constructors. + +- // The default constructor. +- basic_streambuf __STL_PSPEC2(char, char_traits) (); +- ++ // The default constructor; defined here inline as some compilers require it ++ basic_streambuf _STLP_PSPEC2(char, char_traits) () ++ : _M_get(&_M_default_get), ++ _M_put(&_M_default_put), _M_locale() ++ { ++ // _M_lock._M_initialize(); ++ _FILE_I_set(_M_get, 0, 0, 0); ++ _FILE_O_set(_M_put, 0, 0, 0); ++ } ++ + // Extension: a constructor for streambufs synchronized with C stdio files. +- basic_streambuf __STL_PSPEC2(char, char_traits) (FILE* __get, FILE* __put); ++ basic_streambuf _STLP_PSPEC2(char, char_traits) (FILE* __get, FILE* __put); + + protected: // Protected interface to the get area. + char_type* eback() const { return _FILE_I_begin(_M_get); } +@@ -473,14 +496,27 @@ + locale pubimbue(const locale&); + locale getloc() const { return _M_locale; } + +-# ifndef __STL_NO_ANACHRONISMS ++# ifndef _STLP_NO_ANACHRONISMS + public: + void stossc() { this->sbumpc(); } + # endif ++ ++#if defined(__MVS__) || defined(__OS400__) ++private: // Data members. ++ ++ char_type* _M_gbegin; // Beginning of get area ++ char_type* _M_gnext; // Current position within the get area ++ char_type* _M_gend; // End of get area ++ ++ char_type* _M_pbegin; // Beginning of put area ++ char_type* _M_pnext; // Current position within the put area ++ char_type* _M_pend; // End of put area ++#endif ++ + }; +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-# if !defined (__STL_LINK_TIME_INSTANTIATION) ++# if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) && !defined (_STLP_LINK_TIME_INSTANTIATION) + # include + # endif + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_streambuf_iterator.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_streambuf_iterator.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_streambuf_iterator.h Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_streambuf_iterator.h Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,83 @@ ++/* ++ * ++ * Copyright (c) 1994 ++ * Hewlett-Packard Company ++ * ++ * Copyright (c) 1996-1998 ++ * Silicon Graphics Computer Systems, Inc. ++ * ++ * Copyright (c) 1997 ++ * Moscow Center for SPARC Technology ++ * ++ * Copyright (c) 1999 ++ * Boris Fomitchev ++ * ++ * This material is provided "as is", with absolutely no warranty expressed ++ * or implied. Any use is at your own risk. ++ * ++ * Permission to use or copy this software for any purpose is hereby granted ++ * without fee, provided the above notices are retained on all copies. ++ * Permission to modify the code and to distribute modified code is granted, ++ * provided the above notices are retained, and a notice that the code was ++ * modified is included with the above copyright notice. ++ * ++ */ ++ ++/* NOTE: This is an internal header file, included by other STL headers. ++ * You should not attempt to use it directly. ++ */ ++ ++#if !defined (_STLP_INTERNAL_STREAMBUF_ITERATOR_H) ++#define _STLP_INTERNAL_STREAMBUF_ITERATOR_H ++ ++_STLP_BEGIN_NAMESPACE ++ ++template ++basic_streambuf<_CharT, _Traits>* _STLP_CALL _M_get_ostreambuf(basic_ostream<_CharT, _Traits>& ) ; ++ ++// The default template argument is declared in iosfwd ++template ++class ostreambuf_iterator ++{ ++public: ++ typedef _CharT char_type; ++ typedef _Traits traits_type; ++ typedef typename _Traits::int_type int_type; ++ typedef basic_streambuf<_CharT, _Traits> streambuf_type; ++ typedef basic_ostream<_CharT, _Traits> ostream_type; ++ ++ typedef output_iterator_tag iterator_category; ++ typedef void value_type; ++ typedef void difference_type; ++ typedef void pointer; ++ typedef void reference; ++ ++public: ++ ostreambuf_iterator(streambuf_type* __buf) _STLP_NOTHROW : _M_buf(__buf), _M_ok(__buf!=0) {} ++ ostreambuf_iterator(ostream_type& __o) _STLP_NOTHROW : _M_buf(_M_get_ostreambuf(__o)), _M_ok(_M_buf != 0) {} ++ ++ ostreambuf_iterator<_CharT, _Traits>& operator=(char_type __c) { ++ _M_ok = _M_ok && !traits_type::eq_int_type(_M_buf->sputc(__c), ++ traits_type::eof()); ++ return *this; ++ } ++ ++ ostreambuf_iterator<_CharT, _Traits>& operator*() { return *this; } ++ ostreambuf_iterator<_CharT, _Traits>& operator++() { return *this; } ++ ostreambuf_iterator<_CharT, _Traits>& operator++(int) { return *this; } ++ ++ bool failed() const { return !_M_ok; } ++ ++private: ++ streambuf_type* _M_buf; ++ bool _M_ok; ++}; ++ ++_STLP_END_NAMESPACE ++ ++#endif /* _STLP_INTERNAL_STREAMBUF_ITERATOR_H */ ++ ++// Local Variables: ++// mode:C++ ++// End: ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_string.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_string.c +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_string.c Sat Feb 24 10:45:10 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_string.c Sun Aug 11 18:59:25 2002 +@@ -23,133 +23,28 @@ + * modified is included with the above copyright notice. + * + */ +-#ifndef __STL_STRING_C +-#define __STL_STRING_C ++#ifndef _STLP_STRING_C ++#define _STLP_STRING_C + +-# ifdef __STL_DEBUG ++#ifndef _STLP_STRING_H ++# include ++#endif ++ ++# ifdef _STLP_DEBUG + # define basic_string _Nondebug_string + # endif + +-# if defined (__STL_USE_OWN_NAMESPACE) || !defined (__STL_USE_NATIVE_STRING) ++# if defined (_STLP_USE_OWN_NAMESPACE) || !defined (_STLP_USE_NATIVE_STRING) + +-# if defined (__STL_NESTED_TYPE_PARAM_BUG) ++# if defined (_STLP_NESTED_TYPE_PARAM_BUG) + # define __size_type__ size_t + # define size_type size_t +-# define __iterator__ _CharT* +-# define iterator __iterator__ ++# define iterator _CharT* + # else +-# define __size_type__ __STL_TYPENAME_ON_RETURN_TYPE basic_string<_CharT,_Traits,_Alloc>::size_type +-# define __iterator__ __STL_TYPENAME_ON_RETURN_TYPE basic_string<_CharT,_Traits,_Alloc>::iterator ++# define __size_type__ _STLP_TYPENAME_ON_RETURN_TYPE basic_string<_CharT,_Traits,_Alloc>::size_type + # endif + +-__STL_BEGIN_NAMESPACE +- +-#if defined (__STL_MEMBER_TEMPLATES) && ! defined (__STL_INLINE_MEMBER_TEMPLATES) +-template +-template +-basic_string<_CharT, _Traits, _Alloc>& +-basic_string<_CharT, _Traits, _Alloc>::append(_ForwardIter __first, _ForwardIter __last, +- forward_iterator_tag) +-{ +- if (__first != __last) { +- const size_type __old_size = size(); +- difference_type __n = 0; +- distance(__first, __last, __n); +- if (__STATIC_CAST(size_type,__n) > max_size() || +- __old_size > max_size() - __STATIC_CAST(size_type,__n)) +- _M_throw_length_error(); +- if (__old_size + __n > capacity()) { +- const size_type __len = __old_size + +- max(__old_size, __STATIC_CAST(size_type,__n)) + 1; +- pointer __new_start = _M_end_of_storage.allocate(__len); +- pointer __new_finish = __new_start; +- __STL_TRY { +- __new_finish = uninitialized_copy(_M_start, _M_finish, __new_start); +- __new_finish = uninitialized_copy(__first, __last, __new_finish); +- _M_construct_null(__new_finish); +- } +- __STL_UNWIND((_Destroy(__new_start,__new_finish), +- _M_end_of_storage.deallocate(__new_start,__len))); +- _Destroy(_M_start, _M_finish + 1); +- _M_deallocate_block(); +- _M_start = __new_start; +- _M_finish = __new_finish; +- _M_end_of_storage._M_data = __new_start + __len; +- } +- else { +- _ForwardIter __f1 = __first; +- ++__f1; +- uninitialized_copy(__f1, __last, _M_finish + 1); +- __STL_TRY { +- _M_construct_null(_M_finish + __n); +- } +- __STL_UNWIND(_Destroy(_M_finish + 1, _M_finish + __n)); +- _Traits::assign(*_M_finish, *__first); +- _M_finish += __n; +- } +- } +- return *this; +-} +- +-template template +-void +-basic_string<_CharT, _Traits, _Alloc>::insert(iterator __position, +- _ForwardIter __first, _ForwardIter __last, +- forward_iterator_tag) { +- if (__first != __last) { +- difference_type __n = 0; +- distance(__first, __last, __n); +- if (_M_end_of_storage._M_data - _M_finish >= __n + 1) { +- const difference_type __elems_after = _M_finish - __position; +- pointer __old_finish = _M_finish; +- if (__elems_after >= __n) { +- uninitialized_copy((_M_finish - __n) + 1, _M_finish + 1, +- _M_finish + 1); +- _M_finish += __n; +- _Traits::move(__position + __n, +- __position, (__elems_after - __n) + 1); +- _M_copy(__first, __last, __position); +- } +- else { +- _ForwardIter __mid = __first; +- advance(__mid, __elems_after + 1); +- uninitialized_copy(__mid, __last, _M_finish + 1); +- _M_finish += __n - __elems_after; +- __STL_TRY { +- uninitialized_copy(__position, __old_finish + 1, _M_finish); +- _M_finish += __elems_after; +- } +- __STL_UNWIND((_Destroy(__old_finish + 1, _M_finish), +- _M_finish = __old_finish)); +- _M_copy(__first, __mid, __position); +- } +- } +- else { +- const size_type __old_size = size(); +- const size_type __len +- = __old_size + max(__old_size, __STATIC_CAST(size_type,__n)) + 1; +- pointer __new_start = _M_end_of_storage.allocate(__len); +- pointer __new_finish = __new_start; +- __STL_TRY { +- __new_finish = uninitialized_copy(_M_start, __position, __new_start); +- __new_finish = uninitialized_copy(__first, __last, __new_finish); +- __new_finish +- = uninitialized_copy(__position, _M_finish, __new_finish); +- _M_construct_null(__new_finish); +- } +- __STL_UNWIND((_Destroy(__new_start,__new_finish), +- _M_end_of_storage.deallocate(__new_start,__len))); +- _Destroy(_M_start, _M_finish + 1); +- _M_deallocate_block(); +- _M_start = __new_start; +- _M_finish = __new_finish; +- _M_end_of_storage._M_data = __new_start + __len; +- } +- } +-} +- +-# endif /* __STL_INLINE_MEMBER_TEMPLATES */ +- ++_STLP_BEGIN_NAMESPACE + + // ------------------------------------------------------------ + // Non-inline declarations. +@@ -159,238 +54,204 @@ + // at least __res_arg elements, plus the terminating _CharT(). Note that, + // if __res_arg < capacity(), this member function may actually decrease + // the string's capacity. +-template +-void basic_string<_CharT,_Traits,_Alloc>::reserve(__size_type__ __res_arg) { ++template void basic_string<_CharT,_Traits,_Alloc>::reserve(size_type __res_arg) { + if (__res_arg > max_size()) +- _M_throw_length_error(); ++ this->_M_throw_length_error(); + +- size_type __n = max(__res_arg, size()) + 1; +- pointer __new_start = _M_end_of_storage.allocate(__n); ++ size_type __n = (max)(__res_arg, size()) + 1; ++ pointer __new_start = this->_M_end_of_storage.allocate(__n); + pointer __new_finish = __new_start; + +- __STL_TRY { +- __new_finish = uninitialized_copy(_M_start, _M_finish, __new_start); ++ _STLP_TRY { ++ __new_finish = uninitialized_copy(this->_M_start, this->_M_finish, __new_start); + _M_construct_null(__new_finish); + } +- __STL_UNWIND((_Destroy(__new_start, __new_finish), +- _M_end_of_storage.deallocate(__new_start, __n))); ++ _STLP_UNWIND((_Destroy(__new_start, __new_finish), ++ this->_M_end_of_storage.deallocate(__new_start, __n))); + +- _Destroy(_M_start, _M_finish + 1); +- _M_deallocate_block(); +- _M_start = __new_start; +- _M_finish = __new_finish; +- _M_end_of_storage._M_data = __new_start + __n; ++ _Destroy(this->_M_start, this->_M_finish + 1); ++ this->_M_deallocate_block(); ++ this->_M_start = __new_start; ++ this->_M_finish = __new_finish; ++ this->_M_end_of_storage._M_data = __new_start + __n; + } + +-template +-basic_string<_CharT,_Traits,_Alloc>& +-basic_string<_CharT,_Traits,_Alloc>::append(__size_type__ __n, _CharT __c) { ++template basic_string<_CharT,_Traits,_Alloc>& basic_string<_CharT,_Traits,_Alloc>::append(size_type __n, _CharT __c) { + if (__n > max_size() || size() > max_size() - __n) +- _M_throw_length_error(); ++ this->_M_throw_length_error(); + if (size() + __n > capacity()) +- reserve(size() + max(size(), __n)); ++ reserve(size() + (max)(size(), __n)); + if (__n > 0) { +- uninitialized_fill_n(_M_finish + 1, __n - 1, __c); +- __STL_TRY { +- _M_construct_null(_M_finish + __n); +- } +- __STL_UNWIND(_Destroy(_M_finish + 1, _M_finish + __n)); +- _Traits::assign(*_M_finish, __c); +- _M_finish += __n; ++ uninitialized_fill_n(this->_M_finish + 1, __n - 1, __c); ++ _STLP_TRY { ++ _M_construct_null(this->_M_finish + __n); ++ } ++ _STLP_UNWIND(_Destroy(this->_M_finish + 1, this->_M_finish + __n)); ++ _Traits::assign(*end(), __c); ++ this->_M_finish += __n; + } + return *this; + } + +-#ifndef __STL_MEMBER_TEMPLATES ++#ifndef _STLP_MEMBER_TEMPLATES + +-template +-basic_string<_CharT, _Traits, _Alloc>& +-basic_string<_CharT, _Traits, _Alloc>::append(const _CharT* __first, ++template basic_string<_CharT, _Traits, _Alloc>& basic_string<_CharT, _Traits, _Alloc>::append(const _CharT* __first, + const _CharT* __last) + { + if (__first != __last) { + const size_type __old_size = size(); + ptrdiff_t __n = __last - __first; + if ((size_type)__n > max_size() || __old_size > max_size() - __n) +- _M_throw_length_error(); ++ this->_M_throw_length_error(); + if (__old_size + __n > capacity()) { +- const size_type __len = __old_size + max(__old_size, (size_t) __n) + 1; +- pointer __new_start = _M_end_of_storage.allocate(__len); ++ const size_type __len = __old_size + (max)(__old_size, (size_t) __n) + 1; ++ pointer __new_start = this->_M_end_of_storage.allocate(__len); + pointer __new_finish = __new_start; +- __STL_TRY { +- __new_finish = uninitialized_copy(_M_start, _M_finish, __new_start); ++ _STLP_TRY { ++ __new_finish = uninitialized_copy(this->_M_start, this->_M_finish, __new_start); + __new_finish = uninitialized_copy(__first, __last, __new_finish); + _M_construct_null(__new_finish); + } +- __STL_UNWIND((_Destroy(__new_start,__new_finish), +- _M_end_of_storage.deallocate(__new_start,__len))); +- _Destroy(_M_start, _M_finish + 1); +- _M_deallocate_block(); +- _M_start = __new_start; +- _M_finish = __new_finish; +- _M_end_of_storage._M_data = __new_start + __len; ++ _STLP_UNWIND((_Destroy(__new_start,__new_finish), ++ this->_M_end_of_storage.deallocate(__new_start,__len))); ++ _Destroy(this->_M_start, this->_M_finish + 1); ++ this->_M_deallocate_block(); ++ this->_M_start = __new_start; ++ this->_M_finish = __new_finish; ++ this->_M_end_of_storage._M_data = __new_start + __len; + } + else { + const _CharT* __f1 = __first; + ++__f1; +- uninitialized_copy(__f1, __last, _M_finish + 1); +- __STL_TRY { +- _M_construct_null(_M_finish + __n); +- } +- __STL_UNWIND(_Destroy(_M_finish + 1, _M_finish + __n)); +- _Traits::assign(*_M_finish, *__first); +- _M_finish += __n; ++ uninitialized_copy(__f1, __last, this->_M_finish + 1); ++ _STLP_TRY { ++ _M_construct_null(this->_M_finish + __n); ++ } ++ _STLP_UNWIND(_Destroy(this->_M_finish + 1, this->_M_finish + __n)); ++ _Traits::assign(*end(), *__first); ++ this->_M_finish += __n; + } + } + return *this; + } + +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + template + basic_string<_CharT,_Traits,_Alloc>& +-basic_string<_CharT,_Traits,_Alloc>::assign(__size_type__ __n, _CharT __c) { ++basic_string<_CharT,_Traits,_Alloc>::assign(size_type __n, _CharT __c) { + if (__n <= size()) { +- _Traits::assign(_M_start, __n, __c); ++ _Traits::assign(this->_M_start, __n, __c); + erase(begin() + __n, end()); + } + else { +- _Traits::assign(_M_start, size(), __c); ++ _Traits::assign(this->_M_start, size(), __c); + append(__n - size(), __c); + } + return *this; + } + +- +-#if !defined(__STL_MEMBER_TEMPLATES) +-// dwa 2/4/00 - specializing the member template might be a better solution, +-// but I'm not sure how to write it correctly (and portably). If this is not +-// a specialization but it appears alongside the member template we get an +-// ambiguity error. +- +-template +-basic_string<_CharT,_Traits,_Alloc>& +-basic_string<_CharT,_Traits,_Alloc>::assign(const _CharT* __f, +- const _CharT* __l) +-{ +- ptrdiff_t __n = __l - __f; +- if (__STATIC_CAST(size_type,__n) <= size()) { +- _Traits::copy(_M_start, __f, __n); +- erase(begin() + __n, end()); +- } +- else { +- _Traits::copy(_M_start, __f, size()); +- append(__f + size(), __l); +- } +- return *this; +-} +-#endif +- +-template +-_CharT* +-basic_string<_CharT,_Traits,_Alloc> +- ::_M_insert_aux(_CharT* __p, ++template _CharT* ++basic_string<_CharT,_Traits,_Alloc> ::_M_insert_aux(_CharT* __p, + _CharT __c) + { + pointer __new_pos = __p; +- if (_M_finish + 1 < _M_end_of_storage._M_data) { +- _M_construct_null(_M_finish + 1); +- _Traits::move(__p + 1, __p, _M_finish - __p); ++ if (this->_M_finish + 1 < this->_M_end_of_storage._M_data) { ++ _M_construct_null(this->_M_finish + 1); ++ _Traits::move(__p + 1, __p, this->_M_finish - __p); + _Traits::assign(*__p, __c); +- ++_M_finish; ++ ++this->_M_finish; + } + else { + const size_type __old_len = size(); + const size_type __len = __old_len + +- max(__old_len, __STATIC_CAST(size_type,1)) + 1; +- pointer __new_start = _M_end_of_storage.allocate(__len); ++ (max)(__old_len, __STATIC_CAST(size_type,1)) + 1; ++ pointer __new_start = this->_M_end_of_storage.allocate(__len); + pointer __new_finish = __new_start; +- __STL_TRY { +- __new_pos = uninitialized_copy(_M_start, __p, __new_start); ++ _STLP_TRY { ++ __new_pos = uninitialized_copy(this->_M_start, __p, __new_start); + _Construct(__new_pos, __c); + __new_finish = __new_pos + 1; +- __new_finish = uninitialized_copy(__p, _M_finish, __new_finish); ++ __new_finish = uninitialized_copy(__p, this->_M_finish, __new_finish); + _M_construct_null(__new_finish); + } +- __STL_UNWIND((_Destroy(__new_start,__new_finish), +- _M_end_of_storage.deallocate(__new_start,__len))); +- _Destroy(_M_start, _M_finish + 1); +- _M_deallocate_block(); +- _M_start = __new_start; +- _M_finish = __new_finish; +- _M_end_of_storage._M_data = __new_start + __len; ++ _STLP_UNWIND((_Destroy(__new_start,__new_finish), ++ this->_M_end_of_storage.deallocate(__new_start,__len))); ++ _Destroy(this->_M_start, this->_M_finish + 1); ++ this->_M_deallocate_block(); ++ this->_M_start = __new_start; ++ this->_M_finish = __new_finish; ++ this->_M_end_of_storage._M_data = __new_start + __len; + } + return __new_pos; + } + +-template +-void basic_string<_CharT,_Traits,_Alloc>::insert(__iterator__ __position, ++template void basic_string<_CharT,_Traits,_Alloc>::insert(iterator __position, + size_t __n, _CharT __c) + { + if (__n != 0) { +- if (size_type(_M_end_of_storage._M_data - _M_finish) >= __n + 1) { +- const size_type __elems_after = _M_finish - __position; +- pointer __old_finish = _M_finish; ++ if (size_type(this->_M_end_of_storage._M_data - this->_M_finish) >= __n + 1) { ++ const size_type __elems_after = this->_M_finish - __position; ++ pointer __old_finish = this->_M_finish; + if (__elems_after >= __n) { +- uninitialized_copy((_M_finish - __n) + 1, _M_finish + 1, +- _M_finish + 1); +- _M_finish += __n; ++ uninitialized_copy((this->_M_finish - __n) + 1, this->_M_finish + 1, ++ this->_M_finish + 1); ++ this->_M_finish += __n; + _Traits::move(__position + __n, + __position, (__elems_after - __n) + 1); + _Traits::assign(__position, __n, __c); + } + else { +- uninitialized_fill_n(_M_finish + 1, __n - __elems_after - 1, __c); +- _M_finish += __n - __elems_after; +- __STL_TRY { +- uninitialized_copy(__position, __old_finish + 1, _M_finish); +- _M_finish += __elems_after; ++ uninitialized_fill_n(this->_M_finish + 1, __n - __elems_after - 1, __c); ++ this->_M_finish += __n - __elems_after; ++ _STLP_TRY { ++ uninitialized_copy(__position, __old_finish + 1, this->_M_finish); ++ this->_M_finish += __elems_after; + } +- __STL_UNWIND((_Destroy(__old_finish + 1, _M_finish), +- _M_finish = __old_finish)); ++ _STLP_UNWIND((_Destroy(__old_finish + 1, this->_M_finish), ++ this->_M_finish = __old_finish)); + _Traits::assign(__position, __elems_after + 1, __c); + } + } + else { + const size_type __old_size = size(); +- const size_type __len = __old_size + max(__old_size, __n) + 1; +- pointer __new_start = _M_end_of_storage.allocate(__len); ++ const size_type __len = __old_size + (max)(__old_size, __n) + 1; ++ pointer __new_start = this->_M_end_of_storage.allocate(__len); + pointer __new_finish = __new_start; +- __STL_TRY { +- __new_finish = uninitialized_copy(_M_start, __position, __new_start); ++ _STLP_TRY { ++ __new_finish = uninitialized_copy(this->_M_start, __position, __new_start); + __new_finish = uninitialized_fill_n(__new_finish, __n, __c); +- __new_finish = uninitialized_copy(__position, _M_finish, ++ __new_finish = uninitialized_copy(__position, this->_M_finish, + __new_finish); + _M_construct_null(__new_finish); + } +- __STL_UNWIND((_Destroy(__new_start,__new_finish), +- _M_end_of_storage.deallocate(__new_start,__len))); +- _Destroy(_M_start, _M_finish + 1); +- _M_deallocate_block(); +- _M_start = __new_start; +- _M_finish = __new_finish; +- _M_end_of_storage._M_data = __new_start + __len; ++ _STLP_UNWIND((_Destroy(__new_start,__new_finish), ++ this->_M_end_of_storage.deallocate(__new_start,__len))); ++ _Destroy(this->_M_start, this->_M_finish + 1); ++ this->_M_deallocate_block(); ++ this->_M_start = __new_start; ++ this->_M_finish = __new_finish; ++ this->_M_end_of_storage._M_data = __new_start + __len; + } + } + } + +-#ifndef __STL_MEMBER_TEMPLATES ++#ifndef _STLP_MEMBER_TEMPLATES + +-template +-void +-basic_string<_CharT,_Traits,_Alloc>::insert(__iterator__ __position, ++template void ++basic_string<_CharT,_Traits,_Alloc>::insert(iterator __position, + const _CharT* __first, + const _CharT* __last) + { + if (__first != __last) { + const ptrdiff_t __n = __last - __first; +- if (_M_end_of_storage._M_data - _M_finish >= __n + 1) { +- const ptrdiff_t __elems_after = _M_finish - __position; +- pointer __old_finish = _M_finish; ++ if (this->_M_end_of_storage._M_data - this->_M_finish >= __n + 1) { ++ const ptrdiff_t __elems_after = this->_M_finish - __position; ++ pointer __old_finish = this->_M_finish; + if (__elems_after >= __n) { +- uninitialized_copy((_M_finish - __n) + 1, _M_finish + 1, +- _M_finish + 1); +- _M_finish += __n; ++ uninitialized_copy((this->_M_finish - __n) + 1, this->_M_finish + 1, ++ this->_M_finish + 1); ++ this->_M_finish += __n; + _Traits::move(__position + __n, + __position, (__elems_after - __n) + 1); + _M_copy(__first, __last, __position); +@@ -398,49 +259,47 @@ + else { + const _CharT* __mid = __first; + advance(__mid, __elems_after + 1); +- uninitialized_copy(__mid, __last, _M_finish + 1); +- _M_finish += __n - __elems_after; +- __STL_TRY { +- uninitialized_copy(__position, __old_finish + 1, _M_finish); +- _M_finish += __elems_after; ++ uninitialized_copy(__mid, __last, this->_M_finish + 1); ++ this->_M_finish += __n - __elems_after; ++ _STLP_TRY { ++ uninitialized_copy(__position, __old_finish + 1, this->_M_finish); ++ this->_M_finish += __elems_after; + } +- __STL_UNWIND((_Destroy(__old_finish + 1, _M_finish), +- _M_finish = __old_finish)); ++ _STLP_UNWIND((_Destroy(__old_finish + 1, this->_M_finish), ++ this->_M_finish = __old_finish)); + _M_copy(__first, __mid, __position); + } + } + else { + size_type __old_size = size(); + size_type __len +- = __old_size + max(__old_size, __STATIC_CAST(const size_type,__n)) + 1; +- pointer __new_start = _M_end_of_storage.allocate(__len); ++ = __old_size + (max)(__old_size, __STATIC_CAST(const size_type,__n)) + 1; ++ pointer __new_start = this->_M_end_of_storage.allocate(__len); + pointer __new_finish = __new_start; +- __STL_TRY { +- __new_finish = uninitialized_copy(_M_start, __position, __new_start); ++ _STLP_TRY { ++ __new_finish = uninitialized_copy(this->_M_start, __position, __new_start); + __new_finish = uninitialized_copy(__first, __last, __new_finish); + __new_finish +- = uninitialized_copy(__position, _M_finish, __new_finish); ++ = uninitialized_copy(__position, this->_M_finish, __new_finish); + _M_construct_null(__new_finish); + } +- __STL_UNWIND((_Destroy(__new_start,__new_finish), +- _M_end_of_storage.deallocate(__new_start,__len))); +- _Destroy(_M_start, _M_finish + 1); +- _M_deallocate_block(); +- _M_start = __new_start; +- _M_finish = __new_finish; +- _M_end_of_storage._M_data = __new_start + __len; ++ _STLP_UNWIND((_Destroy(__new_start,__new_finish), ++ this->_M_end_of_storage.deallocate(__new_start,__len))); ++ _Destroy(this->_M_start, this->_M_finish + 1); ++ this->_M_deallocate_block(); ++ this->_M_start = __new_start; ++ this->_M_finish = __new_finish; ++ this->_M_end_of_storage._M_data = __new_start + __len; + } + } + } + +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + +-template +-basic_string<_CharT,_Traits,_Alloc>& +-basic_string<_CharT,_Traits,_Alloc> +- ::replace(iterator __first, iterator __last, __size_type__ __n, _CharT __c) ++template basic_string<_CharT,_Traits,_Alloc>& basic_string<_CharT,_Traits,_Alloc> ::replace(iterator __first, iterator __last, size_type __n, _CharT __c) + { +- const size_type __len = __STATIC_CAST(const size_type,(__last - __first)); ++ size_type __len = (size_type)(__last - __first); ++ + if (__len >= __n) { + _Traits::assign(__first, __n, __c); + erase(__first + __n, __last); +@@ -452,13 +311,10 @@ + return *this; + } + +-#ifndef __STL_MEMBER_TEMPLATES ++#ifndef _STLP_MEMBER_TEMPLATES + + +-template +-basic_string<_CharT,_Traits,_Alloc>& +-basic_string<_CharT,_Traits,_Alloc> +- ::replace(iterator __first, iterator __last, ++template basic_string<_CharT,_Traits,_Alloc>& basic_string<_CharT,_Traits,_Alloc> ::replace(iterator __first, iterator __last, + const _CharT* __f, const _CharT* __l) + { + const ptrdiff_t __n = __l - __f; +@@ -475,147 +331,129 @@ + return *this; + } + +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + +-template +-__size_type__ +-basic_string<_CharT,_Traits,_Alloc> +- ::find(const _CharT* __s, size_type __pos, size_type __n) const ++template __size_type__ ++basic_string<_CharT,_Traits,_Alloc> ::find(const _CharT* __s, size_type __pos, size_type __n) const + { + if (__pos + __n > size()) + return npos; + else { + const const_pointer __result = +- search((const _CharT*)_M_start + __pos, (const _CharT*)_M_finish, +- __s, __s + __n, _Eq_traits<_Traits>()); +- return __result != _M_finish ? __result - _M_start : npos; ++ _STLP_STD::search((const _CharT*)this->_M_start + __pos, (const _CharT*)this->_M_finish, ++ __s, __s + __n, _Eq_traits<_Traits>()); ++ return __result != this->_M_finish ? __result - this->_M_start : npos; + } + } + +-template +-__size_type__ +-basic_string<_CharT,_Traits,_Alloc> +- ::find(_CharT __c, size_type __pos) const ++template __size_type__ ++basic_string<_CharT,_Traits,_Alloc> ::find(_CharT __c, size_type __pos) const + { + if (__pos >= size()) + return npos; + else { + const const_pointer __result = +- find_if((const _CharT*)_M_start + __pos, (const _CharT*)_M_finish, +- bind2nd(_Eq_traits<_Traits>(), __c)); +- return __result != _M_finish ? __result - _M_start : npos; ++ _STLP_STD::find_if((const _CharT*)this->_M_start + __pos, (const _CharT*)this->_M_finish, ++ _Eq_char_bound<_Traits>(__c)); ++ return __result != this->_M_finish ? __result - this->_M_start : npos; + } + } + +-template +-__size_type__ +-basic_string<_CharT,_Traits,_Alloc> +- ::rfind(const _CharT* __s, size_type __pos, size_type __n) const ++template __size_type__ ++basic_string<_CharT,_Traits,_Alloc> ::rfind(const _CharT* __s, size_type __pos, size_type __n) const + { + const size_t __len = size(); + + if (__n > __len) + return npos; + else if (__n == 0) +- return min(__len, __pos); ++ return (min) (__len, __pos); + else { +- const_pointer __last = _M_start + min(__len - __n, __pos) + __n; +- const_pointer __result = find_end((const_pointer)_M_start, __last, +- __s, __s + __n, +- _Eq_traits<_Traits>()); +- return __result != __last ? __result - _M_start : npos; ++ const_pointer __last = this->_M_start + (min) (__len - __n, __pos) + __n; ++ const_pointer __result = _STLP_STD::find_end((const_pointer)this->_M_start, __last, ++ __s, __s + __n, ++ _Eq_traits<_Traits>()); ++ return __result != __last ? __result - this->_M_start : npos; + } + } + +-template +-__size_type__ +-basic_string<_CharT,_Traits,_Alloc> +- ::rfind(_CharT __c, size_type __pos) const ++template __size_type__ ++basic_string<_CharT,_Traits,_Alloc> ::rfind(_CharT __c, size_type __pos) const + { + const size_type __len = size(); + + if (__len < 1) + return npos; + else { +- const const_iterator __last = begin() + min(__len - 1, __pos) + 1; ++ const const_iterator __last = begin() + (min) (__len - 1, __pos) + 1; + const_reverse_iterator __rresult = +- find_if(const_reverse_iterator(__last), rend(), +- bind2nd(_Eq_traits<_Traits>(), __c)); ++ _STLP_STD::find_if(const_reverse_iterator(__last), rend(), ++ _Eq_char_bound<_Traits>(__c)); + return __rresult != rend() ? (__rresult.base() - 1) - begin() : npos; + } + } + +-template +-__size_type__ +-basic_string<_CharT,_Traits,_Alloc> +- ::find_first_of(const _CharT* __s, size_type __pos, size_type __n) const ++template __size_type__ ++basic_string<_CharT,_Traits,_Alloc> ::find_first_of(const _CharT* __s, size_type __pos, size_type __n) const + { + if (__pos >= size()) + return npos; + else { +- const_iterator __result = __STLPORT_STD::find_first_of(begin() + __pos, end(), +- __s, __s + __n, +- _Eq_traits<_Traits>()); ++ const_iterator __result = __find_first_of(begin() + __pos, end(), ++ __s, __s + __n, ++ _Eq_traits<_Traits>()); + return __result != end() ? __result - begin() : npos; + } + } + + +-template +-__size_type__ +-basic_string<_CharT,_Traits,_Alloc> +- ::find_last_of(const _CharT* __s, size_type __pos, size_type __n) const ++template __size_type__ ++basic_string<_CharT,_Traits,_Alloc> ::find_last_of(const _CharT* __s, size_type __pos, size_type __n) const + { + const size_type __len = size(); + + if (__len < 1) + return npos; + else { +- const const_iterator __last = begin() + min(__len - 1, __pos) + 1; ++ const const_iterator __last = begin() + (min) (__len - 1, __pos) + 1; + const const_reverse_iterator __rresult = +- __STLPORT_STD::find_first_of(const_reverse_iterator(__last), rend(), +- __s, __s + __n, +- _Eq_traits<_Traits>()); ++ __find_first_of(const_reverse_iterator(__last), rend(), ++ __s, __s + __n, ++ _Eq_traits<_Traits>()); + return __rresult != rend() ? (__rresult.base() - 1) - begin() : npos; + } + } + + +-template +-__size_type__ +-basic_string<_CharT,_Traits,_Alloc> +- ::find_first_not_of(const _CharT* __s, size_type __pos, size_type __n) const ++template __size_type__ ++basic_string<_CharT,_Traits,_Alloc> ::find_first_not_of(const _CharT* __s, size_type __pos, size_type __n) const + { + typedef typename _Traits::char_type _CharType; + if (__pos > size()) + return npos; + else { +- const_pointer __result = find_if((const _CharT*)_M_start + __pos, +- (const _CharT*)_M_finish, ++ const_pointer __result = _STLP_STD::find_if((const _CharT*)this->_M_start + __pos, ++ (const _CharT*)this->_M_finish, + _Not_within_traits<_Traits>((const _CharType*)__s, + (const _CharType*)__s + __n)); +- return __result != _M_finish ? __result - _M_start : npos; ++ return __result != this->_M_finish ? __result - this->_M_start : npos; + } + } + +-template +-__size_type__ +-basic_string<_CharT,_Traits,_Alloc> +- ::find_first_not_of(_CharT __c, size_type __pos) const ++template __size_type__ ++basic_string<_CharT,_Traits,_Alloc> ::find_first_not_of(_CharT __c, size_type __pos) const + { + if (__pos > size()) + return npos; + else { +- const_pointer __result = find_if((const _CharT*)_M_start + __pos, (const _CharT*)_M_finish, +- not1(bind2nd(_Eq_traits<_Traits>(), __c))); +- return __result != _M_finish ? __result - _M_start : npos; ++ const_pointer __result = _STLP_STD::find_if((const _CharT*)this->_M_start + __pos, (const _CharT*)this->_M_finish, ++ _Neq_char_bound<_Traits>(__c)); ++ return __result != this->_M_finish ? __result - this->_M_start : npos; + } + } + +-template +-__size_type__ +-basic_string<_CharT,_Traits,_Alloc> +- ::find_last_not_of(const _CharT* __s, size_type __pos, size_type __n) const ++template __size_type__ ++basic_string<_CharT,_Traits,_Alloc> ::find_last_not_of(const _CharT* __s, size_type __pos, size_type __n) const + { + typedef typename _Traits::char_type _CharType; + const size_type __len = size(); +@@ -623,84 +461,115 @@ + if (__len < 1) + return npos; + else { +- const_iterator __last = begin() + min(__len - 1, __pos) + 1; ++ const_iterator __last = begin() + (min) (__len - 1, __pos) + 1; + const_reverse_iterator __rlast = const_reverse_iterator(__last); + const_reverse_iterator __rresult = +- find_if(__rlast, rend(), +- _Not_within_traits<_Traits>((const _CharType*)__s, +- (const _CharType*)__s + __n)); ++ _STLP_STD::find_if(__rlast, rend(), ++ _Not_within_traits<_Traits>((const _CharType*)__s, ++ (const _CharType*)__s + __n)); + return __rresult != rend() ? (__rresult.base() - 1) - begin() : npos; + } + } + +-template +-__size_type__ +-basic_string<_CharT, _Traits, _Alloc> +- ::find_last_not_of(_CharT __c, size_type __pos) const ++template __size_type__ ++basic_string<_CharT, _Traits, _Alloc> ::find_last_not_of(_CharT __c, size_type __pos) const + { + const size_type __len = size(); + + if (__len < 1) + return npos; + else { +- const_iterator __last = begin() + min(__len - 1, __pos) + 1; ++ const_iterator __last = begin() + (min) (__len - 1, __pos) + 1; + const_reverse_iterator __rlast = const_reverse_iterator(__last); + const_reverse_iterator __rresult = +- find_if(__rlast, rend(), +- not1(bind2nd(_Eq_traits<_Traits>(), __c))); ++ _STLP_STD::find_if(__rlast, rend(), ++ _Neq_char_bound<_Traits>(__c)); + return __rresult != rend() ? (__rresult.base() - 1) - begin() : npos; + } + } + +-template +-void __STL_CALL _S_string_copy(const basic_string<_CharT,_Traits,_Alloc>& __s, ++template void _STLP_CALL _S_string_copy(const basic_string<_CharT,_Traits,_Alloc>& __s, + _CharT* __buf, + size_t __n) + { + if (__n > 0) { +- __n = min(__n - 1, __s.size()); +- copy(__s.begin(), __s.begin() + __n, __buf); ++ __n = (min) (__n - 1, __s.size()); ++ _STLP_STD::copy(__s.begin(), __s.begin() + __n, __buf); + __buf[__n] = _CharT(); + } + } +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + + // _string_fwd has to see clean basic_string + # undef basic_string + +-# if !defined (__STL_LINK_TIME_INSTANTIATION) +-# include ++# if !defined (_STLP_LINK_TIME_INSTANTIATION) ++# include + # endif + +-# ifdef __STL_DEBUG ++# ifdef _STLP_DEBUG + # define basic_string _Nondebug_string + # endif + +-# include +- +-__STL_BEGIN_NAMESPACE ++# include ++_STLP_BEGIN_NAMESPACE + + // _String_base methods +-template +-void _String_base<_Tp,_Alloc>::_M_throw_length_error() const { ++template void _String_base<_Tp,_Alloc>::_M_throw_length_error() const { + __stl_throw_length_error("basic_string"); + } + +-template +-void _String_base<_Tp, _Alloc>::_M_throw_out_of_range() const { ++template void _String_base<_Tp, _Alloc>::_M_throw_out_of_range() const { + __stl_throw_out_of_range("basic_string"); + } + +-__STL_END_NAMESPACE ++template void _String_base<_Tp, _Alloc>::_M_allocate_block(size_t __n) { ++ if ((__n <= (max_size()+1)) && (__n>0)){ ++ _M_start = _M_end_of_storage.allocate(__n); ++ _M_finish = _M_start; ++ _M_end_of_storage._M_data = _M_start + __n; ++ } ++ else ++ _M_throw_length_error(); ++} ++ ++template basic_string<_CharT, _Traits, _Alloc>::basic_string() ++ : _String_base<_CharT,_Alloc>(allocator_type()) { ++ this->_M_start = this->_M_end_of_storage.allocate(8); ++ this->_M_finish = this->_M_start; ++ this->_M_end_of_storage._M_data = this->_M_start + 8; ++ _M_terminate_string(); ++} ++ ++ ++template basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT* __s, ++ const allocator_type& __a) ++ : _String_base<_CharT,_Alloc>(__a) ++{ ++ _STLP_FIX_LITERAL_BUG(__s) ++ _M_range_initialize(__s, __s + traits_type::length(__s)); ++} ++ ++ ++template basic_string<_CharT, _Traits, _Alloc>::basic_string(const basic_string<_CharT, _Traits, _Alloc> & __s) ++ : _String_base<_CharT,_Alloc>(__s.get_allocator()) ++{ ++ _M_range_initialize(__s._M_start, __s._M_finish); ++} ++ ++# if defined ( __SUNPRO_CC) && ! defined(_STLP_STATIC_CONST_INIT_BUG) ++template const size_t basic_string<_CharT, _Traits, _Alloc>::npos; ++# endif ++ ++_STLP_END_NAMESPACE + + # undef basic_string + # undef __size_type__ + # undef size_type +-# undef __iterator__ + # undef iterator + # endif /* NATIVE */ + +-#endif /* __STL_STRING_C */ ++#endif /* _STLP_STRING_C */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_string.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_string.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_string.h Sat Feb 24 10:45:11 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_string.h Sun Aug 11 18:59:25 2002 +@@ -16,43 +16,41 @@ + * + */ + +-#ifndef __SGI_STL_STRING_H +-#define __SGI_STL_STRING_H ++#ifndef _STLP_STRING_H ++#define _STLP_STRING_H + +-#ifndef __SGI_STL_MEMORY +-# include ++#ifndef _STLP_MEMORY ++# include + #endif + +-# ifndef __STLPORT_CCTYPE +-# include ++# ifndef _STLP_CCTYPE ++# include + # endif + +-#ifndef __SGI_STL_STRING_FWD_H +-# include ++#ifndef _STLP_STRING_FWD_H ++# include + #endif + +-#ifndef __SGI_STL_INTERNAL_FUNCTION_H +-# include ++#ifndef _STLP_INTERNAL_FUNCTION_BASE_H ++# include + #endif + +-# include +- +-#ifndef __SGI_STL_INTERNAL_ALGO_H +-# include ++# include ++#ifndef _STLP_INTERNAL_ALGOBASE_H ++# include + #endif + +-# ifndef __STLPORT_IOSFWD +-# include +-# endif +- ++#ifndef _STLP_INTERNAL_ITERATOR_H ++# include ++#endif + +-#if defined( __MWERKS__ ) && ! defined (__STL_USE_OWN_NAMESPACE) ++#if defined( __MWERKS__ ) && ! defined (_STLP_USE_OWN_NAMESPACE) + + // MSL implementation classes expect to see the definition of streampos + // when this header is included. We expect this to be fixed in later MSL + // implementations + # if !defined( __MSL_CPP__ ) || __MSL_CPP__ < 0x4105 +-# include ++# include + # endif + + #endif // __MWERKS__ +@@ -78,18 +76,16 @@ + // a user-defined non-POD type. However, _CharT must still have a + // default constructor. + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + +-# ifdef __STL_DEBUG ++# ifdef _STLP_DEBUG + # define basic_string _Nondebug_string + # endif + + // A helper class to use a char_traits as a function object. + +-template +-struct _Not_within_traits +- : public unary_function +-{ ++template struct _Not_within_traits ++ : public unary_function { + typedef typename _Traits::char_type _CharT; + const _CharT* _M_first; + const _CharT* _M_last; +@@ -100,7 +96,7 @@ + + bool operator()(const typename _Traits::char_type& __x) const { + return find_if((_CharT*)_M_first, (_CharT*)_M_last, +- bind1st(_Eq_traits<_Traits>(), __x)) == (_CharT*)_M_last; ++ _Eq_char_bound<_Traits>(__x)) == (_CharT*)_M_last; + } + }; + +@@ -115,34 +111,22 @@ + // points to a block of memory that was allocated using _String_base's + // allocator and whose size is _M_end_of_storage._M_data - _M_start. + +-// Additionally, _String_base encapsulates the difference between +-// old SGI-style allocators and standard-conforming allocators. +- +-template class __STL_CLASS_DECLSPEC _String_base { ++template class _String_base { + public: ++ _STLP_FORCE_ALLOCATORS(_Tp, _Alloc) + typedef typename _Alloc_traits<_Tp, _Alloc>::allocator_type allocator_type; + _Tp* _M_start; + _Tp* _M_finish; +- _STL_alloc_proxy<_Tp*, _Tp, allocator_type> _M_end_of_storage; ++ _STLP_alloc_proxy<_Tp*, _Tp, allocator_type> _M_end_of_storage; + // Precondition: 0 < __n <= max_size(). +- void _M_allocate_block(size_t __n) { +- if ((__n <= (max_size()+1)) && (__n>0)){ +- // if (__n <= max_size()) { +- _M_start = _M_end_of_storage.allocate(__n); +- _M_finish = _M_start; +- _M_end_of_storage._M_data = _M_start + __n; +- } +- else +- _M_throw_length_error(); +- } +- ++ void _M_allocate_block(size_t); + void _M_deallocate_block() + { _M_end_of_storage.deallocate(_M_start, _M_end_of_storage._M_data - _M_start); } + + size_t max_size() const { return (size_t(-1) / sizeof(_Tp)) - 1; } + + _String_base(const allocator_type& __a) +- : _M_start(0), _M_finish(0), _M_end_of_storage(__a, (_Tp*)0) { } ++ : _M_start(0), _M_finish(0), _M_end_of_storage(__a, (_Tp*)0) {} + + _String_base(const allocator_type& __a, size_t __n) + : _M_start(0), _M_finish(0), _M_end_of_storage(__a, (_Tp*)0) +@@ -154,12 +138,12 @@ + void _M_throw_out_of_range() const; + }; + +-# if defined (__STL_USE_TEMPLATE_EXPORT) +-__STL_EXPORT_TEMPLATE_CLASS _String_base >; +-# if defined (__STL_HAS_WCHAR_T) +-__STL_EXPORT_TEMPLATE_CLASS _String_base >; ++# if defined (_STLP_USE_TEMPLATE_EXPORT) ++_STLP_EXPORT_TEMPLATE_CLASS _String_base >; ++# if defined (_STLP_HAS_WCHAR_T) ++_STLP_EXPORT_TEMPLATE_CLASS _String_base >; + # endif +-# endif /* __STL_USE_TEMPLATE_EXPORT */ ++# endif /* _STLP_USE_TEMPLATE_EXPORT */ + + // ------------------------------------------------------------ + // Class basic_string. +@@ -179,26 +163,14 @@ + + struct _String_reserve_t {}; + +-template +-class __STL_CLASS_DECLSPEC basic_string : protected _String_base<_CharT,_Alloc> { ++template class basic_string : protected _String_base<_CharT,_Alloc> { + private: // Protected members inherited from base. + typedef _String_base<_CharT,_Alloc> _Base; + typedef basic_string<_CharT, _Traits, _Alloc> _Self; + // fbp : used to optimize char/wchar_t cases, and to simplify +- // __STL_DEFAULT_CONSTRUCTOR_BUG problem workaround ++ // _STLP_DEFAULT_CONSTRUCTOR_BUG problem workaround + typedef typename _Is_integer<_CharT>::_Integral _Char_Is_Integral; + public: +-#if defined( __STL_HAS_NAMESPACES ) +- __STL_USING_BASE_MEMBER _String_base<_CharT,_Alloc>::_M_allocate_block; +- __STL_USING_BASE_MEMBER _String_base<_CharT,_Alloc>::_M_deallocate_block; +- __STL_USING_BASE_MEMBER _String_base<_CharT,_Alloc>::_M_throw_length_error; +- __STL_USING_BASE_MEMBER _String_base<_CharT,_Alloc>::_M_throw_out_of_range; +- +- __STL_USING_BASE_MEMBER _String_base<_CharT,_Alloc>::_M_start; +- __STL_USING_BASE_MEMBER _String_base<_CharT,_Alloc>::_M_finish; +- __STL_USING_BASE_MEMBER _String_base<_CharT,_Alloc>::_M_end_of_storage; +-#endif /* __STL_HAS_NAMESPACES */ +-public: + typedef _CharT value_type; + typedef _Traits traits_type; + +@@ -213,32 +185,35 @@ + typedef const value_type* const_iterator; + typedef value_type* iterator; + +- __STL_DECLARE_RANDOM_ACCESS_REVERSE_ITERATORS; ++ _STLP_DECLARE_RANDOM_ACCESS_REVERSE_ITERATORS; + +-# ifdef __STL_STATIC_CONST_INIT_BUG ++# ifdef _STLP_STATIC_CONST_INIT_BUG + enum { npos = -1 }; + # else + static const size_t npos = ~(size_t)0; + # endif + + typedef _String_reserve_t _Reserve_t; +-# if defined (__STL_USE_NATIVE_STRING) && ! defined (__STL_DEBUG) +- // this typedef is being used for conversions +- typedef __STL_VENDOR_STD::basic_string<_CharT,_Traits, +- __STL_VENDOR_STD::allocator<_CharT> > __std_string; ++# if defined (_STLP_USE_NATIVE_STRING) && ! defined (_STLP_DEBUG) ++# if (defined(__IBMCPP__) && (500 <= __IBMCPP__) && (__IBMCPP__ < 600) ) ++ // this typedef is being used for conversions ++ typedef typename _STLP_VENDOR_STD::basic_string<_CharT,_Traits, ++ typename _STLP_VENDOR_STD::allocator<_CharT> > __std_string; ++# else ++ // this typedef is being used for conversions ++ typedef _STLP_VENDOR_STD::basic_string<_CharT,_Traits, ++ _STLP_VENDOR_STD::allocator<_CharT> > __std_string; ++# endif + # endif + + public: // Constructor, destructor, assignment. + typedef typename _String_base<_CharT,_Alloc>::allocator_type allocator_type; + + allocator_type get_allocator() const { +- return __STL_CONVERT_ALLOCATOR((const allocator_type&)_M_end_of_storage, _CharT); ++ return _STLP_CONVERT_ALLOCATOR((const allocator_type&)this->_M_end_of_storage, _CharT); + } + +- basic_string() +- : _String_base<_CharT,_Alloc>(allocator_type(), 8) { +- _M_terminate_string(); +- } ++ basic_string(); + + explicit basic_string(const allocator_type& __a) + : _String_base<_CharT,_Alloc>(__a, 8) { +@@ -251,76 +226,68 @@ + _M_terminate_string(); + } + +- basic_string(const _Self& __s) +- : _String_base<_CharT,_Alloc>(__s.get_allocator()) +- { +- _M_range_initialize(__s._M_start, __s._M_finish); +- } ++ basic_string(const basic_string<_CharT, _Traits, _Alloc>&); + + basic_string(const _Self& __s, size_type __pos, size_type __n = npos, + const allocator_type& __a = allocator_type()) + : _String_base<_CharT,_Alloc>(__a) { + if (__pos > __s.size()) +- _M_throw_out_of_range(); ++ this->_M_throw_out_of_range(); + else + _M_range_initialize(__s._M_start + __pos, +- __s._M_start + __pos + min(__n, __s.size() - __pos)); ++ __s._M_start + __pos + (min) (__n, __s.size() - __pos)); + } + + basic_string(const _CharT* __s, size_type __n, + const allocator_type& __a = allocator_type()) + : _String_base<_CharT,_Alloc>(__a) + { +- __STL_FIX_LITERAL_BUG(__s) ++ _STLP_FIX_LITERAL_BUG(__s) + _M_range_initialize(__s, __s + __n); + } + + basic_string(const _CharT* __s, +- const allocator_type& __a = allocator_type()) +- : _String_base<_CharT,_Alloc>(__a) +- { +- __STL_FIX_LITERAL_BUG(__s) +- _M_range_initialize(__s, __s + traits_type::length(__s)); +- } ++ const allocator_type& __a = allocator_type()); + + basic_string(size_type __n, _CharT __c, + const allocator_type& __a = allocator_type()) + : _String_base<_CharT,_Alloc>(__a, __n + 1) + { +- _M_finish = uninitialized_fill_n(_M_start, __n, __c); ++ this->_M_finish = uninitialized_fill_n(this->_M_start, __n, __c); + _M_terminate_string(); + } ++ + // Check to see if _InputIterator is an integer type. If so, then + // it can't be an iterator. +-#if defined (__STL_MEMBER_TEMPLATES) +- template +- basic_string(_InputIterator __f, _InputIterator __l) ++#if defined (_STLP_MEMBER_TEMPLATES) && !(defined(__MRC__)||defined(__SC__)) //*ty 04/30/2001 - mpw compilers choke on this ctor ++# ifdef _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS ++ template basic_string(_InputIterator __f, _InputIterator __l) + : _String_base<_CharT,_Alloc>(allocator_type()) + { + typedef typename _Is_integer<_InputIterator>::_Integral _Integral; + _M_initialize_dispatch(__f, __l, _Integral()); + } +- template +- basic_string(_InputIterator __f, _InputIterator __l, +- const allocator_type & __a) ++# endif ++ template basic_string(_InputIterator __f, _InputIterator __l, ++ const allocator_type & __a _STLP_ALLOCATOR_TYPE_DFL) + : _String_base<_CharT,_Alloc>(__a) + { + typedef typename _Is_integer<_InputIterator>::_Integral _Integral; + _M_initialize_dispatch(__f, __l, _Integral()); + } +-#else /* __STL_MEMBER_TEMPLATES */ ++#else /* _STLP_MEMBER_TEMPLATES */ + + basic_string(const _CharT* __f, const _CharT* __l, + const allocator_type& __a = allocator_type()) + : _String_base<_CharT,_Alloc>(__a) + { +- __STL_FIX_LITERAL_BUG(__f) __STL_FIX_LITERAL_BUG(__l) ++ _STLP_FIX_LITERAL_BUG(__f) _STLP_FIX_LITERAL_BUG(__l) + _M_range_initialize(__f, __l); + } + + #endif + +-# if defined (__STL_USE_NATIVE_STRING) && ! defined (__STL_DEBUG) ++# if defined (_STLP_USE_NATIVE_STRING) && ! defined (_STLP_DEBUG) + // these conversion operations still needed for + // strstream, etc. + basic_string (const __std_string& __x): _String_base<_CharT,_Alloc>(allocator_type()) +@@ -329,10 +296,10 @@ + _M_range_initialize(__s, __s + __x.size()); + } + +- operator __std_string() const { return __std_string(this->data()); } ++ operator __std_string() const { return __std_string(this->data(), this->size()); } + # endif + +- ~basic_string() { _Destroy(_M_start, _M_finish + 1); } ++ ~basic_string() { _Destroy(this->_M_start, this->_M_finish + 1); } + + _Self& operator=(const _Self& __s) { + if (&__s != this) +@@ -341,28 +308,24 @@ + } + + _Self& operator=(const _CharT* __s) { +- __STL_FIX_LITERAL_BUG(__s) ++ _STLP_FIX_LITERAL_BUG(__s) + return assign(__s, __s + traits_type::length(__s)); + } + + _Self& operator=(_CharT __c) + { return assign(__STATIC_CAST(size_type,1), __c); } + +- static _CharT __STL_CALL _M_null() { +-# ifndef __STL_DEFAULT_CONSTRUCTOR_BUG +- return _CharT(); +-# else +- return (_CharT) 0; +-# endif ++ static _CharT _STLP_CALL _M_null() { ++ return _STLP_DEFAULT_CONSTRUCTED(_CharT); + } + + private: // Helper functions used by constructors + // and elsewhere. + // fbp : simplify integer types (char, wchar) +- void _M_construct_null_aux(_CharT* __p, __false_type) { ++ void _M_construct_null_aux(_CharT* __p, const __false_type&) { + _Construct(__p); + } +- void _M_construct_null_aux(_CharT* __p, __true_type) { ++ void _M_construct_null_aux(_CharT* __p, const __true_type&) { + *__p = 0; + } + +@@ -374,95 +337,83 @@ + // Helper functions used by constructors. It is a severe error for + // any of them to be called anywhere except from within constructors. + +- void _M_terminate_string_aux(__false_type) { +- __STL_TRY { +- _M_construct_null(_M_finish); ++ void _M_terminate_string_aux(const __false_type&) { ++ _STLP_TRY { ++ _M_construct_null(this->_M_finish); + } +- __STL_UNWIND(_Destroy(_M_start, _M_finish)); ++ _STLP_UNWIND(_Destroy(this->_M_start, this->_M_finish)); + } + +- void _M_terminate_string_aux(__true_type) { +- *_M_finish=0; ++ void _M_terminate_string_aux(const __true_type&) { ++ *(this->_M_finish)=0; + } + + void _M_terminate_string() { + _M_terminate_string_aux(_Char_Is_Integral()); + } + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + +- template +- void _M_range_initialize(_InputIter __f, _InputIter __l, +- input_iterator_tag) { +- _M_allocate_block(8); +- _M_construct_null(_M_finish); +- __STL_TRY { ++ template void _M_range_initialize(_InputIter __f, _InputIter __l, ++ const input_iterator_tag &) { ++ this->_M_allocate_block(8); ++ _M_construct_null(this->_M_finish); ++ _STLP_TRY { + append(__f, __l); + } +- __STL_UNWIND(_Destroy(_M_start, _M_finish + 1)); ++ _STLP_UNWIND(_Destroy(this->_M_start, this->_M_finish + 1)); + } + +- template +- void _M_range_initialize(_ForwardIter __f, _ForwardIter __l, +- forward_iterator_tag) { +- difference_type __n = 0; +- distance(__f, __l, __n); +- _M_allocate_block(__n + 1); +- _M_finish = uninitialized_copy(__f, __l, _M_start); ++ template void _M_range_initialize(_ForwardIter __f, _ForwardIter __l, ++ const forward_iterator_tag &) { ++ difference_type __n = distance(__f, __l); ++ this->_M_allocate_block(__n + 1); ++ this->_M_finish = uninitialized_copy(__f, __l, this->_M_start); + _M_terminate_string(); + } + +- template +- void _M_range_initialize(_InputIter __f, _InputIter __l) { +-# ifdef __STL_CLASS_PARTIAL_SPECIALIZATION +- typedef __STLPORT_STD::iterator_traits<_InputIter> _Iter_traits; +- typedef typename _Iter_traits::iterator_category _Category; +- _M_range_initialize(__f, __l, _Category()); +-# else +- _M_range_initialize(__f, __l, __ITERATOR_CATEGORY(__f)); +-# endif ++ template void _M_range_initialize(_InputIter __f, _InputIter __l) { ++ _M_range_initialize(__f, __l, _STLP_ITERATOR_CATEGORY(__f, _InputIter)); + } + +- template +- void _M_initialize_dispatch(_Integer __n, _Integer __x, __true_type) { +- _M_allocate_block(__n + 1); +- _M_finish = uninitialized_fill_n(_M_start, __n, __x); ++ template void _M_initialize_dispatch(_Integer __n, _Integer __x, const __true_type&) { ++ this->_M_allocate_block(__n + 1); ++ this->_M_finish = uninitialized_fill_n(this->_M_start, __n, __x); + _M_terminate_string(); + } + +- template +- void _M_initialize_dispatch(_InputIter __f, _InputIter __l, __false_type) { ++ template void _M_initialize_dispatch(_InputIter __f, _InputIter __l, const __false_type&) { + _M_range_initialize(__f, __l); + } + +-#else /* __STL_MEMBER_TEMPLATES */ ++#else /* _STLP_MEMBER_TEMPLATES */ + + void _M_range_initialize(const _CharT* __f, const _CharT* __l) { + ptrdiff_t __n = __l - __f; +- _M_allocate_block(__n + 1); +- _M_finish = uninitialized_copy(__f, __l, _M_start); ++ this->_M_allocate_block(__n + 1); ++ this->_M_finish = uninitialized_copy(__f, __l, this->_M_start); + _M_terminate_string(); + } + +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + public: // Iterators. +- iterator begin() { return _M_start; } +- iterator end() { return _M_finish; } +- const_iterator begin() const { return _M_start; } +- const_iterator end() const { return _M_finish; } ++ iterator begin() { return this->_M_start; } ++ iterator end() { return this->_M_finish; } ++ const_iterator begin() const { return this->_M_start; } ++ const_iterator end() const { return this->_M_finish; } + + reverse_iterator rbegin() +- { return reverse_iterator(_M_finish); } ++ { return reverse_iterator(this->_M_finish); } + reverse_iterator rend() +- { return reverse_iterator(_M_start); } ++ { return reverse_iterator(this->_M_start); } + const_reverse_iterator rbegin() const +- { return const_reverse_iterator(_M_finish); } ++ { return const_reverse_iterator(this->_M_finish); } + const_reverse_iterator rend() const +- { return const_reverse_iterator(_M_start); } ++ { return const_reverse_iterator(this->_M_start); } + + public: // Size, capacity, etc. +- size_type size() const { return _M_finish - _M_start; } ++ size_type size() const { return this->_M_finish - this->_M_start; } + size_type length() const { return size(); } + + size_t max_size() const { return _Base::max_size(); } +@@ -478,41 +429,41 @@ + + void reserve(size_type = 0); + +- size_type capacity() const { return (_M_end_of_storage._M_data - _M_start) - 1; } ++ size_type capacity() const { return (this->_M_end_of_storage._M_data - this->_M_start) - 1; } + + void clear() { + if (!empty()) { +- _Traits::assign(*_M_start, _M_null()); +- _Destroy(_M_start+1, _M_finish+1); +- _M_finish = _M_start; ++ _Traits::assign(*(this->_M_start), _M_null()); ++ _Destroy(this->_M_start+1, this->_M_finish+1); ++ this->_M_finish = this->_M_start; + } + } + +- bool empty() const { return _M_start == _M_finish; } ++ bool empty() const { return this->_M_start == this->_M_finish; } + + public: // Element access. + + const_reference operator[](size_type __n) const +- { return *(_M_start + __n); } ++ { return *(this->_M_start + __n); } + reference operator[](size_type __n) +- { return *(_M_start + __n); } ++ { return *(this->_M_start + __n); } + + const_reference at(size_type __n) const { + if (__n >= size()) +- _M_throw_out_of_range(); +- return *(_M_start + __n); ++ this->_M_throw_out_of_range(); ++ return *(this->_M_start + __n); + } + + reference at(size_type __n) { + if (__n >= size()) +- _M_throw_out_of_range(); +- return *(_M_start + __n); ++ this->_M_throw_out_of_range(); ++ return *(this->_M_start + __n); + } + + public: // Append, operator+=, push_back. + + _Self& operator+=(const _Self& __s) { return append(__s); } +- _Self& operator+=(const _CharT* __s) { __STL_FIX_LITERAL_BUG(__s) return append(__s); } ++ _Self& operator+=(const _CharT* __s) { _STLP_FIX_LITERAL_BUG(__s) return append(__s); } + _Self& operator+=(_CharT __c) { push_back(__c); return *this; } + + _Self& append(const _Self& __s) +@@ -522,123 +473,107 @@ + size_type __pos, size_type __n) + { + if (__pos > __s.size()) +- _M_throw_out_of_range(); ++ this->_M_throw_out_of_range(); + return append(__s._M_start + __pos, +- __s._M_start + __pos + min(__n, __s.size() - __pos)); ++ __s._M_start + __pos + (min) (__n, __s.size() - __pos)); + } + + _Self& append(const _CharT* __s, size_type __n) +- { __STL_FIX_LITERAL_BUG(__s) return append(__s, __s+__n); } ++ { _STLP_FIX_LITERAL_BUG(__s) return append(__s, __s+__n); } + _Self& append(const _CharT* __s) +- { __STL_FIX_LITERAL_BUG(__s) return append(__s, __s + traits_type::length(__s)); } ++ { _STLP_FIX_LITERAL_BUG(__s) return append(__s, __s + traits_type::length(__s)); } + _Self& append(size_type __n, _CharT __c); + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + + // Check to see if _InputIterator is an integer type. If so, then + // it can't be an iterator. +- template +- _Self& append(_InputIter __first, _InputIter __last) { ++ template _Self& append(_InputIter __first, _InputIter __last) { + typedef typename _Is_integer<_InputIter>::_Integral _Integral; + return _M_append_dispatch(__first, __last, _Integral()); + } + +-#else /* __STL_MEMBER_TEMPLATES */ ++#else /* _STLP_MEMBER_TEMPLATES */ + + _Self& append(const _CharT* __first, const _CharT* __last); + +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + void push_back(_CharT __c) { +- if (_M_finish + 1 == _M_end_of_storage._M_data) +- reserve(size() + max(size(), __STATIC_CAST(size_type,1))); +- _M_construct_null(_M_finish + 1); +- _Traits::assign(*_M_finish, __c); +- ++_M_finish; ++ if (this->_M_finish + 1 == this->_M_end_of_storage._M_data) ++ reserve(size() + (max)(size(), __STATIC_CAST(size_type,1))); ++ _M_construct_null(this->_M_finish + 1); ++ _Traits::assign(*(this->_M_finish), __c); ++ ++this->_M_finish; + } + + void pop_back() { +- _Traits::assign(*(_M_finish - 1), _M_null()); +- _Destroy(_M_finish); +- --_M_finish; ++ _Traits::assign(*(this->_M_finish - 1), _M_null()); ++ _Destroy(this->_M_finish); ++ --this->_M_finish; + } + + private: // Helper functions for append. + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + +- template +- _Self& append(_InputIter __first, _InputIter __last, input_iterator_tag) ++ template _Self& append(_InputIter __first, _InputIter __last, const input_iterator_tag &) + { + for ( ; __first != __last ; ++__first) + push_back(*__first); + return *this; + } + +- template +- _Self& append(_ForwardIter __first, _ForwardIter __last, +- forward_iterator_tag) +-# ifndef __STL_INLINE_MEMBER_TEMPLATES +-; +-# else +- { ++ template _Self& append(_ForwardIter __first, _ForwardIter __last, ++ const forward_iterator_tag &) { + if (__first != __last) { + const size_type __old_size = size(); +- difference_type __n = 0; +- distance(__first, __last, __n); ++ difference_type __n = distance(__first, __last); + if (__STATIC_CAST(size_type,__n) > max_size() || __old_size > max_size() - __STATIC_CAST(size_type,__n)) +- _M_throw_length_error(); ++ this->_M_throw_length_error(); + if (__old_size + __n > capacity()) { + const size_type __len = __old_size + +- max(__old_size, __STATIC_CAST(size_type,__n)) + 1; +- pointer __new_start = _M_end_of_storage.allocate(__len); ++ (max)(__old_size, __STATIC_CAST(size_type,__n)) + 1; ++ pointer __new_start = this->_M_end_of_storage.allocate(__len); + pointer __new_finish = __new_start; +- __STL_TRY { +- __new_finish = uninitialized_copy(_M_start, _M_finish, __new_start); ++ _STLP_TRY { ++ __new_finish = uninitialized_copy(this->_M_start, this->_M_finish, __new_start); + __new_finish = uninitialized_copy(__first, __last, __new_finish); + _M_construct_null(__new_finish); + } +- __STL_UNWIND((_Destroy(__new_start,__new_finish), +- _M_end_of_storage.deallocate(__new_start,__len))); +- _Destroy(_M_start, _M_finish + 1); +- _M_deallocate_block(); +- _M_start = __new_start; +- _M_finish = __new_finish; +- _M_end_of_storage._M_data = __new_start + __len; ++ _STLP_UNWIND((_Destroy(__new_start,__new_finish), ++ this->_M_end_of_storage.deallocate(__new_start,__len))); ++ _Destroy(this->_M_start, this->_M_finish + 1); ++ this->_M_deallocate_block(); ++ this->_M_start = __new_start; ++ this->_M_finish = __new_finish; ++ this->_M_end_of_storage._M_data = __new_start + __len; + } + else { + _ForwardIter __f1 = __first; + ++__f1; +- uninitialized_copy(__f1, __last, _M_finish + 1); +- __STL_TRY { +- _M_construct_null(_M_finish + __n); ++ uninitialized_copy(__f1, __last, this->_M_finish + 1); ++ _STLP_TRY { ++ _M_construct_null(this->_M_finish + __n); + } +- __STL_UNWIND(_Destroy(_M_finish + 1, _M_finish + __n)); +- _Traits::assign(*_M_finish, *__first); +- _M_finish += __n; ++ _STLP_UNWIND(_Destroy(this->_M_finish + 1, this->_M_finish + __n)); ++ _Traits::assign(*end(), *__first); ++ this->_M_finish += __n; + } + } + return *this; + } +-# endif /* __STL_INLINE_MEMBER_TEMPLATES */ + +- template +- _Self& _M_append_dispatch(_Integer __n, _Integer __x, __true_type) { ++ template _Self& _M_append_dispatch(_Integer __n, _Integer __x, const __true_type&) { + return append((size_type) __n, (_CharT) __x); + } + +- template +- _Self& _M_append_dispatch(_InputIter __f, _InputIter __l, +- __false_type) { +-# if defined ( __STL_CLASS_PARTIAL_SPECIALIZATION ) +- typedef typename iterator_traits<_InputIter>::iterator_category _Category; +- return append(__f, __l, _Category()); +-# else +- return append(__f, __l, __ITERATOR_CATEGORY(__f)); +-# endif ++ template _Self& _M_append_dispatch(_InputIter __f, _InputIter __l, ++ const __false_type&) { ++ return append(__f, __l, _STLP_ITERATOR_CATEGORY(__f, _InputIter)); + } + +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + public: // Assign + +@@ -648,67 +583,75 @@ + _Self& assign(const _Self& __s, + size_type __pos, size_type __n) { + if (__pos > __s.size()) +- _M_throw_out_of_range(); ++ this->_M_throw_out_of_range(); + return assign(__s._M_start + __pos, +- __s._M_start + __pos + min(__n, __s.size() - __pos)); ++ __s._M_start + __pos + (min) (__n, __s.size() - __pos)); + } + + _Self& assign(const _CharT* __s, size_type __n) +- { __STL_FIX_LITERAL_BUG(__s) return assign(__s, __s + __n); } ++ { _STLP_FIX_LITERAL_BUG(__s) return assign(__s, __s + __n); } + + _Self& assign(const _CharT* __s) +- { __STL_FIX_LITERAL_BUG(__s) return assign(__s, __s + _Traits::length(__s)); } ++ { _STLP_FIX_LITERAL_BUG(__s) return assign(__s, __s + _Traits::length(__s)); } + + _Self& assign(size_type __n, _CharT __c); + +-#ifdef __STL_MEMBER_TEMPLATES +- +- // Check to see if _InputIterator is an integer type. If so, then +- // it can't be an iterator. +- template +- _Self& assign(_InputIter __first, _InputIter __last) { +- typedef typename _Is_integer<_InputIter>::_Integral _Integral; +- return _M_assign_dispatch(__first, __last, _Integral()); +- } +-#else +- +- _Self& assign(const _CharT* __f, const _CharT* __l); +-#endif /* __STL_MEMBER_TEMPLATES */ ++#ifdef _STLP_MEMBER_TEMPLATES + + private: // Helper functions for assign. + +-#ifdef __STL_MEMBER_TEMPLATES +- +- template +- _Self& _M_assign_dispatch(_Integer __n, _Integer __x, __true_type) { ++ template ++ _Self& _M_assign_dispatch(_Integer __n, _Integer __x, const __true_type&) { + return assign((size_type) __n, (_CharT) __x); + } + +- template ++ template + _Self& _M_assign_dispatch(_InputIter __f, _InputIter __l, +- __false_type) { +- pointer __cur = _M_start; +- while (__f != __l && __cur != _M_finish) { +- _Traits::assign(*__cur, *__f); +- ++__f; +- ++__cur; +- } +- if (__f == __l) +- erase(__cur, end()); +- else +- append(__f, __l); +- return *this; +- } +- +-#endif /* __STL_MEMBER_TEMPLATES */ ++ const __false_type&) { ++ pointer __cur = this->_M_start; ++ while (__f != __l && __cur != this->_M_finish) { ++ _Traits::assign(*__cur, *__f); ++ ++__f; ++ ++__cur; ++ } ++ if (__f == __l) ++ erase(__cur, end()); ++ else ++ append(__f, __l); ++ return *this; ++ } ++ ++public: ++ // Check to see if _InputIterator is an integer type. If so, then ++ // it can't be an iterator. ++ template _Self& assign(_InputIter __first, _InputIter __last) { ++ typedef typename _Is_integer<_InputIter>::_Integral _Integral; ++ return _M_assign_dispatch(__first, __last, _Integral()); ++ } ++#endif /* _STLP_MEMBER_TEMPLATES */ + ++ // if member templates are on, this works as specialization ++ _Self& assign(const _CharT* __f, const _CharT* __l) ++ { ++ ptrdiff_t __n = __l - __f; ++ if (__STATIC_CAST(size_type,__n) <= size()) { ++ _Traits::copy(this->_M_start, __f, __n); ++ erase(begin() + __n, end()); ++ } ++ else { ++ _Traits::copy(this->_M_start, __f, size()); ++ append(__f + size(), __l); ++ } ++ return *this; ++ } ++ + public: // Insert + + _Self& insert(size_type __pos, const _Self& __s) { + if (__pos > size()) +- _M_throw_out_of_range(); ++ this->_M_throw_out_of_range(); + if (size() > max_size() - __s.size()) +- _M_throw_length_error(); ++ this->_M_throw_length_error(); + insert(begin() + __pos, __s._M_start, __s._M_finish); + return *this; + } +@@ -716,50 +659,50 @@ + _Self& insert(size_type __pos, const _Self& __s, + size_type __beg, size_type __n) { + if (__pos > size() || __beg > __s.size()) +- _M_throw_out_of_range(); +- size_type __len = min(__n, __s.size() - __beg); ++ this->_M_throw_out_of_range(); ++ size_type __len = (min) (__n, __s.size() - __beg); + if (size() > max_size() - __len) +- _M_throw_length_error(); ++ this->_M_throw_length_error(); + insert(begin() + __pos, + __s._M_start + __beg, __s._M_start + __beg + __len); + return *this; + } + + _Self& insert(size_type __pos, const _CharT* __s, size_type __n) { +- __STL_FIX_LITERAL_BUG(__s) ++ _STLP_FIX_LITERAL_BUG(__s) + if (__pos > size()) +- _M_throw_out_of_range(); ++ this->_M_throw_out_of_range(); + if (size() > max_size() - __n) +- _M_throw_length_error(); ++ this->_M_throw_length_error(); + insert(begin() + __pos, __s, __s + __n); + return *this; + } + + _Self& insert(size_type __pos, const _CharT* __s) { +- __STL_FIX_LITERAL_BUG(__s) ++ _STLP_FIX_LITERAL_BUG(__s) + if (__pos > size()) +- _M_throw_out_of_range(); ++ this->_M_throw_out_of_range(); + size_type __len = _Traits::length(__s); + if (size() > max_size() - __len) +- _M_throw_length_error(); +- insert(_M_start + __pos, __s, __s + __len); ++ this->_M_throw_length_error(); ++ insert(this->_M_start + __pos, __s, __s + __len); + return *this; + } + + _Self& insert(size_type __pos, size_type __n, _CharT __c) { + if (__pos > size()) +- _M_throw_out_of_range(); ++ this->_M_throw_out_of_range(); + if (size() > max_size() - __n) +- _M_throw_length_error(); ++ this->_M_throw_length_error(); + insert(begin() + __pos, __n, __c); + return *this; + } + + iterator insert(iterator __p, _CharT __c) { +- __STL_FIX_LITERAL_BUG(__p) ++ _STLP_FIX_LITERAL_BUG(__p) + if (__p == end()) { + push_back(__c); +- return _M_finish - 1; ++ return this->_M_finish - 1; + } + else + return _M_insert_aux(__p, __c); +@@ -767,29 +710,27 @@ + + void insert(iterator __p, size_t __n, _CharT __c); + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + + // Check to see if _InputIterator is an integer type. If so, then + // it can't be an iterator. +- template +- void insert(iterator __p, _InputIter __first, _InputIter __last) { ++ template void insert(iterator __p, _InputIter __first, _InputIter __last) { + typedef typename _Is_integer<_InputIter>::_Integral _Integral; + _M_insert_dispatch(__p, __first, __last, _Integral()); + } + +-#else /* __STL_MEMBER_TEMPLATES */ ++#else /* _STLP_MEMBER_TEMPLATES */ + + void insert(iterator __p, const _CharT* __first, const _CharT* __last); + +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + private: // Helper functions for insert. + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + +- template +- void insert(iterator __p, _InputIter __first, _InputIter __last, +- input_iterator_tag) ++ template void insert(iterator __p, _InputIter __first, _InputIter __last, ++ const input_iterator_tag &) + { + for ( ; __first != __last; ++__first) { + __p = insert(__p, *__first); +@@ -797,23 +738,17 @@ + } + } + +- template +- void insert(iterator __position, _ForwardIter __first, _ForwardIter __last, +- forward_iterator_tag) +-# ifndef __STL_INLINE_MEMBER_TEMPLATES +-; +-# else +-{ ++ template void insert(iterator __position, _ForwardIter __first, _ForwardIter __last, ++ const forward_iterator_tag &) { + if (__first != __last) { +- difference_type __n = 0; +- distance(__first, __last, __n); +- if (_M_end_of_storage._M_data - _M_finish >= __n + 1) { +- const difference_type __elems_after = _M_finish - __position; +- pointer __old_finish = _M_finish; ++ difference_type __n = distance(__first, __last); ++ if (this->_M_end_of_storage._M_data - this->_M_finish >= __n + 1) { ++ const difference_type __elems_after = this->_M_finish - __position; ++ pointer __old_finish = this->_M_finish; + if (__elems_after >= __n) { +- uninitialized_copy((_M_finish - __n) + 1, _M_finish + 1, +- _M_finish + 1); +- _M_finish += __n; ++ uninitialized_copy((this->_M_finish - __n) + 1, this->_M_finish + 1, ++ this->_M_finish + 1); ++ this->_M_finish += __n; + _Traits::move(__position + __n, + __position, (__elems_after - __n) + 1); + _M_copy(__first, __last, __position); +@@ -821,68 +756,58 @@ + else { + _ForwardIter __mid = __first; + advance(__mid, __elems_after + 1); +- uninitialized_copy(__mid, __last, _M_finish + 1); +- _M_finish += __n - __elems_after; +- __STL_TRY { +- uninitialized_copy(__position, __old_finish + 1, _M_finish); +- _M_finish += __elems_after; ++ uninitialized_copy(__mid, __last, this->_M_finish + 1); ++ this->_M_finish += __n - __elems_after; ++ _STLP_TRY { ++ uninitialized_copy(__position, __old_finish + 1, this->_M_finish); ++ this->_M_finish += __elems_after; + } +- __STL_UNWIND((_Destroy(__old_finish + 1, _M_finish), +- _M_finish = __old_finish)); ++ _STLP_UNWIND((_Destroy(__old_finish + 1, this->_M_finish), ++ this->_M_finish = __old_finish)); + _M_copy(__first, __mid, __position); + } + } + else { + const size_type __old_size = size(); + const size_type __len +- = __old_size + max(__old_size, __STATIC_CAST(size_type,__n)) + 1; +- pointer __new_start = _M_end_of_storage.allocate(__len); ++ = __old_size + (max)(__old_size, __STATIC_CAST(size_type,__n)) + 1; ++ pointer __new_start = this->_M_end_of_storage.allocate(__len); + pointer __new_finish = __new_start; +- __STL_TRY { +- __new_finish = uninitialized_copy(_M_start, __position, __new_start); ++ _STLP_TRY { ++ __new_finish = uninitialized_copy(this->_M_start, __position, __new_start); + __new_finish = uninitialized_copy(__first, __last, __new_finish); + __new_finish +- = uninitialized_copy(__position, _M_finish, __new_finish); ++ = uninitialized_copy(__position, this->_M_finish, __new_finish); + _M_construct_null(__new_finish); + } +- __STL_UNWIND((_Destroy(__new_start,__new_finish), +- _M_end_of_storage.deallocate(__new_start,__len))); +- _Destroy(_M_start, _M_finish + 1); +- _M_deallocate_block(); +- _M_start = __new_start; +- _M_finish = __new_finish; +- _M_end_of_storage._M_data = __new_start + __len; ++ _STLP_UNWIND((_Destroy(__new_start,__new_finish), ++ this->_M_end_of_storage.deallocate(__new_start,__len))); ++ _Destroy(this->_M_start, this->_M_finish + 1); ++ this->_M_deallocate_block(); ++ this->_M_start = __new_start; ++ this->_M_finish = __new_finish; ++ this->_M_end_of_storage._M_data = __new_start + __len; + } + } + } +-# endif /* __STL_INLINE_MEMBER_TEMPLATES */ +- + +- template +- void _M_insert_dispatch(iterator __p, _Integer __n, _Integer __x, +- __true_type) { ++ template void _M_insert_dispatch(iterator __p, _Integer __n, _Integer __x, ++ const __true_type&) { + insert(__p, (size_type) __n, (_CharT) __x); + } + +- template +- void _M_insert_dispatch(iterator __p, _InputIter __first, _InputIter __last, +- __false_type) { +-# if defined ( __STL_CLASS_PARTIAL_SPECIALIZATION ) +- typedef typename iterator_traits<_InputIter>::iterator_category _Category; +- insert(__p, __first, __last, _Category()); +-# else +- insert(__p, __first, __last, __ITERATOR_CATEGORY(__first)); +-# endif ++ template void _M_insert_dispatch(iterator __p, _InputIter __first, _InputIter __last, ++ const __false_type&) { ++ insert(__p, __first, __last, _STLP_ITERATOR_CATEGORY(__first, _InputIter)); + } + +- template +- void ++ template void + _M_copy(_InputIterator __first, _InputIterator __last, pointer __result) { + for ( ; __first != __last; ++__first, ++__result) + _Traits::assign(*__result, *__first); + } + +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + pointer _M_insert_aux(pointer, _CharT); + +@@ -895,26 +820,26 @@ + + _Self& erase(size_type __pos = 0, size_type __n = npos) { + if (__pos > size()) +- _M_throw_out_of_range(); +- erase(begin() + __pos, begin() + __pos + min(__n, size() - __pos)); ++ this->_M_throw_out_of_range(); ++ erase(begin() + __pos, begin() + __pos + (min) (__n, size() - __pos)); + return *this; + } + + iterator erase(iterator __position) { + // The move includes the terminating _CharT(). +- _Traits::move(__position, __position + 1, _M_finish - __position); +- _Destroy(_M_finish); +- --_M_finish; ++ _Traits::move(__position, __position + 1, this->_M_finish - __position); ++ _Destroy(this->_M_finish); ++ --this->_M_finish; + return __position; + } + + iterator erase(iterator __first, iterator __last) { + if (__first != __last) { + // The move includes the terminating _CharT(). +- traits_type::move(__first, __last, (_M_finish - __last) + 1); +- pointer __new_finish = _M_finish - (__last - __first); +- _Destroy(__new_finish + 1, _M_finish + 1); +- _M_finish = __new_finish; ++ traits_type::move(__first, __last, (this->_M_finish - __last) + 1); ++ pointer __new_finish = this->_M_finish - (__last - __first); ++ _Destroy(__new_finish + 1, this->_M_finish + 1); ++ this->_M_finish = __new_finish; + } + return __first; + } +@@ -924,10 +849,10 @@ + _Self& replace(size_type __pos, size_type __n, + const _Self& __s) { + if (__pos > size()) +- _M_throw_out_of_range(); +- const size_type __len = min(__n, size() - __pos); ++ this->_M_throw_out_of_range(); ++ const size_type __len = (min) (__n, size() - __pos); + if (size() - __len >= max_size() - __s.size()) +- _M_throw_length_error(); ++ this->_M_throw_length_error(); + return replace(begin() + __pos, begin() + __pos + __len, + __s._M_start, __s._M_finish); + } +@@ -936,36 +861,36 @@ + const _Self& __s, + size_type __pos2, size_type __n2) { + if (__pos1 > size() || __pos2 > __s.size()) +- _M_throw_out_of_range(); +- const size_type __len1 = min(__n1, size() - __pos1); +- const size_type __len2 = min(__n2, __s.size() - __pos2); ++ this->_M_throw_out_of_range(); ++ const size_type __len1 = (min) (__n1, size() - __pos1); ++ const size_type __len2 = (min) (__n2, __s.size() - __pos2); + if (size() - __len1 >= max_size() - __len2) +- _M_throw_length_error(); ++ this->_M_throw_length_error(); + return replace(begin() + __pos1, begin() + __pos1 + __len1, + __s._M_start + __pos2, __s._M_start + __pos2 + __len2); + } + + _Self& replace(size_type __pos, size_type __n1, + const _CharT* __s, size_type __n2) { +- __STL_FIX_LITERAL_BUG(__s) ++ _STLP_FIX_LITERAL_BUG(__s) + if (__pos > size()) +- _M_throw_out_of_range(); +- const size_type __len = min(__n1, size() - __pos); ++ this->_M_throw_out_of_range(); ++ const size_type __len = (min) (__n1, size() - __pos); + if (__n2 > max_size() || size() - __len >= max_size() - __n2) +- _M_throw_length_error(); ++ this->_M_throw_length_error(); + return replace(begin() + __pos, begin() + __pos + __len, + __s, __s + __n2); + } + + _Self& replace(size_type __pos, size_type __n1, + const _CharT* __s) { +- __STL_FIX_LITERAL_BUG(__s) ++ _STLP_FIX_LITERAL_BUG(__s) + if (__pos > size()) +- _M_throw_out_of_range(); +- const size_type __len = min(__n1, size() - __pos); ++ this->_M_throw_out_of_range(); ++ const size_type __len = (min) (__n1, size() - __pos); + const size_type __n2 = _Traits::length(__s); + if (__n2 > max_size() || size() - __len >= max_size() - __n2) +- _M_throw_length_error(); ++ this->_M_throw_length_error(); + return replace(begin() + __pos, begin() + __pos + __len, + __s, __s + _Traits::length(__s)); + } +@@ -973,10 +898,10 @@ + _Self& replace(size_type __pos, size_type __n1, + size_type __n2, _CharT __c) { + if (__pos > size()) +- _M_throw_out_of_range(); +- const size_type __len = min(__n1, size() - __pos); ++ this->_M_throw_out_of_range(); ++ const size_type __len = (min) (__n1, size() - __pos); + if (__n2 > max_size() || size() - __len >= max_size() - __n2) +- _M_throw_length_error(); ++ this->_M_throw_length_error(); + return replace(begin() + __pos, begin() + __pos + __len, __n2, __c); + } + +@@ -986,11 +911,11 @@ + + _Self& replace(iterator __first, iterator __last, + const _CharT* __s, size_type __n) +- { __STL_FIX_LITERAL_BUG(__s) return replace(__first, __last, __s, __s + __n); } ++ { _STLP_FIX_LITERAL_BUG(__s) return replace(__first, __last, __s, __s + __n); } + + _Self& replace(iterator __first, iterator __last, + const _CharT* __s) { +- __STL_FIX_LITERAL_BUG(__s) ++ _STLP_FIX_LITERAL_BUG(__s) + return replace(__first, __last, __s, __s + _Traits::length(__s)); + } + +@@ -999,44 +924,35 @@ + + // Check to see if _InputIterator is an integer type. If so, then + // it can't be an iterator. +-#ifdef __STL_MEMBER_TEMPLATES +- template +- _Self& replace(iterator __first, iterator __last, ++#ifdef _STLP_MEMBER_TEMPLATES ++ template _Self& replace(iterator __first, iterator __last, + _InputIter __f, _InputIter __l) { + typedef typename _Is_integer<_InputIter>::_Integral _Integral; + return _M_replace_dispatch(__first, __last, __f, __l, _Integral()); + } +-#else /* __STL_MEMBER_TEMPLATES */ ++#else /* _STLP_MEMBER_TEMPLATES */ + _Self& replace(iterator __first, iterator __last, + const _CharT* __f, const _CharT* __l); +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + private: // Helper functions for replace. + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + +- template +- _Self& _M_replace_dispatch(iterator __first, iterator __last, ++ template _Self& _M_replace_dispatch(iterator __first, iterator __last, + _Integer __n, _Integer __x, +- __true_type) { ++ const __true_type&) { + return replace(__first, __last, (size_type) __n, (_CharT) __x); + } + +- template +- _Self& _M_replace_dispatch(iterator __first, iterator __last, ++ template _Self& _M_replace_dispatch(iterator __first, iterator __last, + _InputIter __f, _InputIter __l, +- __false_type) { +-# ifdef __STL_CLASS_PARTIAL_SPECIALIZATION +- typedef typename iterator_traits<_InputIter>::iterator_category _Category; +- return replace(__first, __last, __f, __l, _Category()); +-# else +- return replace(__first, __last, __f, __l, __ITERATOR_CATEGORY(__f)); +-# endif ++ const __false_type&) { ++ return replace(__first, __last, __f, __l, _STLP_ITERATOR_CATEGORY(__f, _InputIter)); + } + +- template +- _Self& replace(iterator __first, iterator __last, +- _InputIter __f, _InputIter __l, input_iterator_tag) { ++ template _Self& replace(iterator __first, iterator __last, ++ _InputIter __f, _InputIter __l, const input_iterator_tag &) { + for ( ; __first != __last && __f != __l; ++__first, ++__f) + _Traits::assign(*__first, *__f); + +@@ -1047,12 +963,10 @@ + return *this; + } + +- template +- _Self& replace(iterator __first, iterator __last, ++ template _Self& replace(iterator __first, iterator __last, + _ForwardIter __f, _ForwardIter __l, +- forward_iterator_tag) { +- difference_type __n = 0; +- distance(__f, __l, __n); ++ const forward_iterator_tag &) { ++ difference_type __n = distance(__f, __l); + const difference_type __len = __last - __first; + if (__len >= __n) { + _M_copy(__f, __l, __first); +@@ -1067,29 +981,29 @@ + return *this; + } + +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + public: // Other modifier member functions. + + size_type copy(_CharT* __s, size_type __n, size_type __pos = 0) const { +- __STL_FIX_LITERAL_BUG(__s) ++ _STLP_FIX_LITERAL_BUG(__s) + if (__pos > size()) +- _M_throw_out_of_range(); +- const size_type __len = min(__n, size() - __pos); +- _Traits::copy(__s, _M_start + __pos, __len); ++ this->_M_throw_out_of_range(); ++ const size_type __len = (min) (__n, size() - __pos); ++ _Traits::copy(__s, this->_M_start + __pos, __len); + return __len; + } + + void swap(_Self& __s) { +- __STLPORT_STD::swap(_M_start, __s._M_start); +- __STLPORT_STD::swap(_M_finish, __s._M_finish); +- __STLPORT_STD::swap(_M_end_of_storage, __s._M_end_of_storage); ++ _STLP_STD::swap(this->_M_start, __s._M_start); ++ _STLP_STD::swap(this->_M_finish, __s._M_finish); ++ _STLP_STD::swap(this->_M_end_of_storage, __s._M_end_of_storage); + } + + public: // Conversion to C string. + +- const _CharT* c_str() const { return _M_start; } +- const _CharT* data() const { return _M_start; } ++ const _CharT* c_str() const { return this->_M_start; } ++ const _CharT* data() const { return this->_M_start; } + + public: // find. + +@@ -1097,7 +1011,7 @@ + { return find(__s._M_start, __pos, __s.size()); } + + size_type find(const _CharT* __s, size_type __pos = 0) const +- { __STL_FIX_LITERAL_BUG(__s) return find(__s, __pos, _Traits::length(__s)); } ++ { _STLP_FIX_LITERAL_BUG(__s) return find(__s, __pos, _Traits::length(__s)); } + + size_type find(const _CharT* __s, size_type __pos, size_type __n) const; + size_type find(_CharT __c, size_type __pos = 0) const; +@@ -1108,7 +1022,7 @@ + { return rfind(__s._M_start, __pos, __s.size()); } + + size_type rfind(const _CharT* __s, size_type __pos = npos) const +- { __STL_FIX_LITERAL_BUG(__s) return rfind(__s, __pos, _Traits::length(__s)); } ++ { _STLP_FIX_LITERAL_BUG(__s) return rfind(__s, __pos, _Traits::length(__s)); } + + size_type rfind(const _CharT* __s, size_type __pos, size_type __n) const; + size_type rfind(_CharT __c, size_type __pos = npos) const; +@@ -1119,7 +1033,7 @@ + { return find_first_of(__s._M_start, __pos, __s.size()); } + + size_type find_first_of(const _CharT* __s, size_type __pos = 0) const +- { __STL_FIX_LITERAL_BUG(__s) return find_first_of(__s, __pos, _Traits::length(__s)); } ++ { _STLP_FIX_LITERAL_BUG(__s) return find_first_of(__s, __pos, _Traits::length(__s)); } + + size_type find_first_of(const _CharT* __s, size_type __pos, + size_type __n) const; +@@ -1134,7 +1048,7 @@ + { return find_last_of(__s._M_start, __pos, __s.size()); } + + size_type find_last_of(const _CharT* __s, size_type __pos = npos) const +- { __STL_FIX_LITERAL_BUG(__s) return find_last_of(__s, __pos, _Traits::length(__s)); } ++ { _STLP_FIX_LITERAL_BUG(__s) return find_last_of(__s, __pos, _Traits::length(__s)); } + + size_type find_last_of(const _CharT* __s, size_type __pos, + size_type __n) const; +@@ -1150,7 +1064,7 @@ + { return find_first_not_of(__s._M_start, __pos, __s.size()); } + + size_type find_first_not_of(const _CharT* __s, size_type __pos = 0) const +- { __STL_FIX_LITERAL_BUG(__s) return find_first_not_of(__s, __pos, _Traits::length(__s)); } ++ { _STLP_FIX_LITERAL_BUG(__s) return find_first_not_of(__s, __pos, _Traits::length(__s)); } + + size_type find_first_not_of(const _CharT* __s, size_type __pos, + size_type __n) const; +@@ -1164,7 +1078,7 @@ + { return find_last_not_of(__s._M_start, __pos, __s.size()); } + + size_type find_last_not_of(const _CharT* __s, size_type __pos = npos) const +- { __STL_FIX_LITERAL_BUG(__s) return find_last_not_of(__s, __pos, _Traits::length(__s)); } ++ { _STLP_FIX_LITERAL_BUG(__s) return find_last_not_of(__s, __pos, _Traits::length(__s)); } + + size_type find_last_not_of(const _CharT* __s, size_type __pos, + size_type __n) const; +@@ -1175,22 +1089,22 @@ + + _Self substr(size_type __pos = 0, size_type __n = npos) const { + if (__pos > size()) +- _M_throw_out_of_range(); +- return _Self(_M_start + __pos, +- _M_start + __pos + min(__n, size() - __pos)); ++ this->_M_throw_out_of_range(); ++ return _Self(this->_M_start + __pos, ++ this->_M_start + __pos + (min) (__n, size() - __pos)); + } + + public: // Compare + + int compare(const _Self& __s) const +- { return _M_compare(_M_start, _M_finish, __s._M_start, __s._M_finish); } ++ { return _M_compare(this->_M_start, this->_M_finish, __s._M_start, __s._M_finish); } + + int compare(size_type __pos1, size_type __n1, + const _Self& __s) const { + if (__pos1 > size()) +- _M_throw_out_of_range(); +- return _M_compare(_M_start + __pos1, +- _M_start + __pos1 + min(__n1, size() - __pos1), ++ this->_M_throw_out_of_range(); ++ return _M_compare(this->_M_start + __pos1, ++ this->_M_start + __pos1 + (min) (__n1, size() - __pos1), + __s._M_start, __s._M_finish); + } + +@@ -1198,61 +1112,60 @@ + const _Self& __s, + size_type __pos2, size_type __n2) const { + if (__pos1 > size() || __pos2 > __s.size()) +- _M_throw_out_of_range(); +- return _M_compare(_M_start + __pos1, +- _M_start + __pos1 + min(__n1, size() - __pos1), ++ this->_M_throw_out_of_range(); ++ return _M_compare(this->_M_start + __pos1, ++ this->_M_start + __pos1 + (min) (__n1, size() - __pos1), + __s._M_start + __pos2, +- __s._M_start + __pos2 + min(__n2, size() - __pos2)); ++ __s._M_start + __pos2 + (min) (__n2, __s.size() - __pos2)); + } + + int compare(const _CharT* __s) const { +- __STL_FIX_LITERAL_BUG(__s) +- return _M_compare(_M_start, _M_finish, __s, __s + _Traits::length(__s)); ++ _STLP_FIX_LITERAL_BUG(__s) ++ return _M_compare(this->_M_start, this->_M_finish, __s, __s + _Traits::length(__s)); + } + + int compare(size_type __pos1, size_type __n1, const _CharT* __s) const { +- __STL_FIX_LITERAL_BUG(__s) ++ _STLP_FIX_LITERAL_BUG(__s) + if (__pos1 > size()) +- _M_throw_out_of_range(); +- return _M_compare(_M_start + __pos1, +- _M_start + __pos1 + min(__n1, size() - __pos1), ++ this->_M_throw_out_of_range(); ++ return _M_compare(this->_M_start + __pos1, ++ this->_M_start + __pos1 + (min) (__n1, size() - __pos1), + __s, __s + _Traits::length(__s)); + } + + int compare(size_type __pos1, size_type __n1, const _CharT* __s, + size_type __n2) const { +- __STL_FIX_LITERAL_BUG(__s) ++ _STLP_FIX_LITERAL_BUG(__s) + if (__pos1 > size()) +- _M_throw_out_of_range(); +- return _M_compare(_M_start + __pos1, +- _M_start + __pos1 + min(__n1, size() - __pos1), ++ this->_M_throw_out_of_range(); ++ return _M_compare(this->_M_start + __pos1, ++ this->_M_start + __pos1 + (min) (__n1, size() - __pos1), + __s, __s + __n2); + } + + public: // Helper functions for compare. + +- static int __STL_CALL _M_compare(const _CharT* __f1, const _CharT* __l1, ++ static int _STLP_CALL _M_compare(const _CharT* __f1, const _CharT* __l1, + const _CharT* __f2, const _CharT* __l2) { + const ptrdiff_t __n1 = __l1 - __f1; + const ptrdiff_t __n2 = __l2 - __f2; +- const int cmp = _Traits::compare(__f1, __f2, min(__n1, __n2)); ++ const int cmp = _Traits::compare(__f1, __f2, (min) (__n1, __n2)); + return cmp != 0 ? cmp : (__n1 < __n2 ? -1 : (__n1 > __n2 ? 1 : 0)); + } + }; + + +-# if defined (__STL_USE_TEMPLATE_EXPORT) +-__STL_EXPORT_TEMPLATE_CLASS basic_string, allocator >; +-# if defined (__STL_HAS_WCHAR_T) +-__STL_EXPORT_TEMPLATE_CLASS basic_string, allocator >; ++# if defined (_STLP_USE_TEMPLATE_EXPORT) ++_STLP_EXPORT_TEMPLATE_CLASS basic_string, allocator >; ++# if defined (_STLP_HAS_WCHAR_T) ++_STLP_EXPORT_TEMPLATE_CLASS basic_string, allocator >; + # endif +-# endif /* __STL_USE_TEMPLATE_EXPORT */ ++# endif /* _STLP_USE_TEMPLATE_EXPORT */ + + // ------------------------------------------------------------ + // Non-member functions. + +-template +-inline basic_string<_CharT,_Traits,_Alloc> __STL_CALL ++template inline basic_string<_CharT,_Traits,_Alloc> _STLP_CALL + operator+(const basic_string<_CharT,_Traits,_Alloc>& __s, + const basic_string<_CharT,_Traits,_Alloc>& __y) + { +@@ -1270,18 +1183,17 @@ + } + + # if defined (__GNUC__) || defined (__MLCCPP__) +-# define __STL_INIT_AMBIGUITY 1 ++# define _STLP_INIT_AMBIGUITY 1 + # endif + +-template +-inline basic_string<_CharT,_Traits,_Alloc> __STL_CALL ++template inline basic_string<_CharT,_Traits,_Alloc> _STLP_CALL + operator+(const _CharT* __s, + const basic_string<_CharT,_Traits,_Alloc>& __y) { +- __STL_FIX_LITERAL_BUG(__s) ++ _STLP_FIX_LITERAL_BUG(__s) + typedef basic_string<_CharT,_Traits,_Alloc> _Str; + typedef typename _Str::_Reserve_t _Reserve_t; + const size_t __n = _Traits::length(__s); +-# ifdef __STL_INIT_AMBIGUITY ++# ifdef _STLP_INIT_AMBIGUITY + _Str __result = _Str(_Reserve_t(), __n + __y.size()); + # else + _Str __result(_Reserve_t(), __n + __y.size()); +@@ -1291,13 +1203,12 @@ + return __result; + } + +-template +-inline basic_string<_CharT,_Traits,_Alloc> __STL_CALL ++template inline basic_string<_CharT,_Traits,_Alloc> _STLP_CALL + operator+(_CharT __c, + const basic_string<_CharT,_Traits,_Alloc>& __y) { + typedef basic_string<_CharT,_Traits,_Alloc> _Str; + typedef typename _Str::_Reserve_t _Reserve_t; +-# ifdef __STL_INIT_AMBIGUITY ++# ifdef _STLP_INIT_AMBIGUITY + _Str __result = _Str(_Reserve_t(), 1 + __y.size()); + # else + _Str __result(_Reserve_t(), 1 + __y.size()); +@@ -1307,15 +1218,14 @@ + return __result; + } + +-template +-inline basic_string<_CharT,_Traits,_Alloc> __STL_CALL ++template inline basic_string<_CharT,_Traits,_Alloc> _STLP_CALL + operator+(const basic_string<_CharT,_Traits,_Alloc>& __x, + const _CharT* __s) { +- __STL_FIX_LITERAL_BUG(__s) ++ _STLP_FIX_LITERAL_BUG(__s) + typedef basic_string<_CharT,_Traits,_Alloc> _Str; + typedef typename _Str::_Reserve_t _Reserve_t; + const size_t __n = _Traits::length(__s); +-# ifdef __STL_INIT_AMBIGUITY ++# ifdef _STLP_INIT_AMBIGUITY + _Str __result = _Str(_Reserve_t(), __x.size() + __n, __x.get_allocator()); + # else + _Str __result(_Reserve_t(), __x.size() + __n, __x.get_allocator()); +@@ -1325,13 +1235,12 @@ + return __result; + } + +-template +-inline basic_string<_CharT,_Traits,_Alloc> __STL_CALL ++template inline basic_string<_CharT,_Traits,_Alloc> _STLP_CALL + operator+(const basic_string<_CharT,_Traits,_Alloc>& __x, + const _CharT __c) { + typedef basic_string<_CharT,_Traits,_Alloc> _Str; + typedef typename _Str::_Reserve_t _Reserve_t; +-# ifdef __STL_INIT_AMBIGUITY ++# ifdef _STLP_INIT_AMBIGUITY + _Str __result = _Str(_Reserve_t(), __x.size() + 1, __x.get_allocator()); + # else + _Str __result(_Reserve_t(), __x.size() + 1, __x.get_allocator()); +@@ -1341,202 +1250,183 @@ + return __result; + } + +-# undef __STL_INIT_AMBIGUITY ++# undef _STLP_INIT_AMBIGUITY + + // Operator== and operator!= + +-template +-inline bool __STL_CALL ++template inline bool _STLP_CALL + operator==(const basic_string<_CharT,_Traits,_Alloc>& __x, + const basic_string<_CharT,_Traits,_Alloc>& __y) { +- return __x.size() == __y.size() && +- _Traits::compare(__x.data(), __y.data(), __x.size()) == 0; ++ return __x.size() == __y.size() && _Traits::compare(__x.data(), __y.data(), __x.size()) == 0; + } + +-template +-inline bool __STL_CALL ++template inline bool _STLP_CALL + operator==(const _CharT* __s, + const basic_string<_CharT,_Traits,_Alloc>& __y) { +- __STL_FIX_LITERAL_BUG(__s) ++ _STLP_FIX_LITERAL_BUG(__s) + size_t __n = _Traits::length(__s); + return __n == __y.size() && _Traits::compare(__s, __y.data(), __n) == 0; + } + +-template +-inline bool __STL_CALL ++template inline bool _STLP_CALL + operator==(const basic_string<_CharT,_Traits,_Alloc>& __x, + const _CharT* __s) { +- __STL_FIX_LITERAL_BUG(__s) ++ _STLP_FIX_LITERAL_BUG(__s) + size_t __n = _Traits::length(__s); + return __x.size() == __n && _Traits::compare(__x.data(), __s, __n) == 0; + } + + // Operator< (and also >, <=, and >=). + +-template +-inline bool __STL_CALL ++template inline bool _STLP_CALL + operator<(const basic_string<_CharT,_Traits,_Alloc>& __x, + const basic_string<_CharT,_Traits,_Alloc>& __y) { +- return basic_string<_CharT,_Traits,_Alloc> +- ::_M_compare(__x.begin(), __x.end(), ++ return basic_string<_CharT,_Traits,_Alloc> ::_M_compare(__x.begin(), __x.end(), + __y.begin(), __y.end()) < 0; + } + +-template +-inline bool __STL_CALL ++template inline bool _STLP_CALL + operator<(const _CharT* __s, + const basic_string<_CharT,_Traits,_Alloc>& __y) { +- __STL_FIX_LITERAL_BUG(__s) ++ _STLP_FIX_LITERAL_BUG(__s) + size_t __n = _Traits::length(__s); +- return basic_string<_CharT,_Traits,_Alloc> +- ::_M_compare(__s, __s + __n, __y.begin(), __y.end()) < 0; ++ return basic_string<_CharT,_Traits,_Alloc> ::_M_compare(__s, __s + __n, __y.begin(), __y.end()) < 0; + } + +-template +-inline bool __STL_CALL ++template inline bool _STLP_CALL + operator<(const basic_string<_CharT,_Traits,_Alloc>& __x, + const _CharT* __s) { +- __STL_FIX_LITERAL_BUG(__s) ++ _STLP_FIX_LITERAL_BUG(__s) + size_t __n = _Traits::length(__s); +- return basic_string<_CharT,_Traits,_Alloc> +- ::_M_compare(__x.begin(), __x.end(), __s, __s + __n) < 0; ++ return basic_string<_CharT,_Traits,_Alloc> ::_M_compare(__x.begin(), __x.end(), __s, __s + __n) < 0; + } + +-#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE ++#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE + +-template +-inline bool __STL_CALL ++template inline bool _STLP_CALL + operator!=(const basic_string<_CharT,_Traits,_Alloc>& __x, + const basic_string<_CharT,_Traits,_Alloc>& __y) { + return !(__x == __y); + } + +-template +-inline bool __STL_CALL ++template inline bool _STLP_CALL + operator>(const basic_string<_CharT,_Traits,_Alloc>& __x, + const basic_string<_CharT,_Traits,_Alloc>& __y) { + return __y < __x; + } + +-template +-inline bool __STL_CALL ++template inline bool _STLP_CALL + operator<=(const basic_string<_CharT,_Traits,_Alloc>& __x, + const basic_string<_CharT,_Traits,_Alloc>& __y) { + return !(__y < __x); + } + +-template +-inline bool __STL_CALL ++template inline bool _STLP_CALL + operator>=(const basic_string<_CharT,_Traits,_Alloc>& __x, + const basic_string<_CharT,_Traits,_Alloc>& __y) { + return !(__x < __y); + } + +-#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ ++#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ + +-template +-inline bool __STL_CALL ++template inline bool _STLP_CALL + operator!=(const _CharT* __s, + const basic_string<_CharT,_Traits,_Alloc>& __y) { +- __STL_FIX_LITERAL_BUG(__s) ++ _STLP_FIX_LITERAL_BUG(__s) + return !(__s == __y); + } + +-template +-inline bool __STL_CALL ++template inline bool _STLP_CALL + operator!=(const basic_string<_CharT,_Traits,_Alloc>& __x, + const _CharT* __s) { +- __STL_FIX_LITERAL_BUG(__s) ++ _STLP_FIX_LITERAL_BUG(__s) + return !(__x == __s); + } + +-template +-inline bool __STL_CALL ++template inline bool _STLP_CALL + operator>(const _CharT* __s, + const basic_string<_CharT,_Traits,_Alloc>& __y) { +- __STL_FIX_LITERAL_BUG(__s) ++ _STLP_FIX_LITERAL_BUG(__s) + return __y < __s; + } + +-template +-inline bool __STL_CALL ++template inline bool _STLP_CALL + operator>(const basic_string<_CharT,_Traits,_Alloc>& __x, + const _CharT* __s) { +- __STL_FIX_LITERAL_BUG(__s) ++ _STLP_FIX_LITERAL_BUG(__s) + return __s < __x; + } + +-template +-inline bool __STL_CALL ++template inline bool _STLP_CALL + operator<=(const _CharT* __s, + const basic_string<_CharT,_Traits,_Alloc>& __y) { +- __STL_FIX_LITERAL_BUG(__s) ++ _STLP_FIX_LITERAL_BUG(__s) + return !(__y < __s); + } + +-template +-inline bool __STL_CALL ++template inline bool _STLP_CALL + operator<=(const basic_string<_CharT,_Traits,_Alloc>& __x, + const _CharT* __s) { +- __STL_FIX_LITERAL_BUG(__s) ++ _STLP_FIX_LITERAL_BUG(__s) + return !(__s < __x); + } + +-template +-inline bool __STL_CALL ++template inline bool _STLP_CALL + operator>=(const _CharT* __s, + const basic_string<_CharT,_Traits,_Alloc>& __y) { +- __STL_FIX_LITERAL_BUG(__s) ++ _STLP_FIX_LITERAL_BUG(__s) + return !(__s < __y); + } + +-template +-inline bool __STL_CALL ++template inline bool _STLP_CALL + operator>=(const basic_string<_CharT,_Traits,_Alloc>& __x, + const _CharT* __s) { +- __STL_FIX_LITERAL_BUG(__s) ++ _STLP_FIX_LITERAL_BUG(__s) + return !(__x < __s); + } + + + // Swap. + +-#ifdef __STL_FUNCTION_TMPL_PARTIAL_ORDER ++#ifdef _STLP_FUNCTION_TMPL_PARTIAL_ORDER + +-template +-inline void __STL_CALL ++template inline void _STLP_CALL + swap(basic_string<_CharT,_Traits,_Alloc>& __x, + basic_string<_CharT,_Traits,_Alloc>& __y) { + __x.swap(__y); + } + +-#endif /* __STL_FUNCTION_TMPL_PARTIAL_ORDER */ ++#endif /* _STLP_FUNCTION_TMPL_PARTIAL_ORDER */ + +-template +-void __STL_CALL _S_string_copy(const basic_string<_CharT,_Traits,_Alloc>& __s, ++template void _STLP_CALL _S_string_copy(const basic_string<_CharT,_Traits,_Alloc>& __s, + _CharT* __buf, + size_t __n); + + # undef basic_string + +-__STL_END_NAMESPACE ++#if defined(_STLP_WINCE) ++// A couple of functions to transfer between ASCII/Unicode + +-# ifdef __STL_DEBUG +-# include +-# endif ++wstring __ASCIIToWide(const char *ascii); ++string __WideToASCII(const wchar_t *wide); ++#endif ++ ++_STLP_END_NAMESPACE + +-# if !defined (__STL_LINK_TIME_INSTANTIATION) +-# include ++# ifdef _STLP_DEBUG ++# include + # endif + +-# include ++# if !defined (_STLP_LINK_TIME_INSTANTIATION) ++# include ++# endif + +-# include ++# include ++# include + +-#endif /* __SGI_STL_STRING */ ++#endif /* _STLP_STRING */ + + + // Local Variables: + // mode:C++ + // End: +- +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_string_fwd.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_string_fwd.c +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_string_fwd.c Sat Feb 24 10:45:11 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_string_fwd.c Sun Aug 11 18:59:25 2002 +@@ -23,20 +23,25 @@ + * modified is included with the above copyright notice. + * + */ +-#if !defined ( __STL_STRING_FWD_C) && ! defined (__SGI_STL_OWN_IOSTREAMS) +-#define __STL_STRING_FWD_C + +-__STL_BEGIN_NAMESPACE ++#ifndef _STLP_STRING_FWD_H ++# include ++#endif ++ ++#if !defined ( _STLP_STRING_FWD_C) && ! defined (_STLP_OWN_IOSTREAMS) ++#define _STLP_STRING_FWD_C ++ ++_STLP_BEGIN_NAMESPACE + + template +-const char* __STL_CALL ++const char* _STLP_CALL + __get_c_string(const basic_string<_CharT,_Traits,_Alloc>& __str) { + return __str.c_str(); + } + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-#endif /* __STL_STRING_FWD_C */ ++#endif /* _STLP_STRING_FWD_C */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_string_fwd.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_string_fwd.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_string_fwd.h Sat Feb 24 10:45:11 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_string_fwd.h Sun Aug 11 18:59:25 2002 +@@ -16,14 +16,16 @@ + * + */ + +-#ifndef __SGI_STL_STRING_FWD_H +-#define __SGI_STL_STRING_FWD_H ++#ifndef _STLP_STRING_FWD_H ++#define _STLP_STRING_FWD_H + ++#ifndef _STLP_IOSFWD + # include ++#endif + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + +-# if !defined (__STL_LIMITED_DEFAULT_TEMPLATES) ++# if !defined (_STLP_LIMITED_DEFAULT_TEMPLATES) + template , + class _Alloc = allocator<_CharT> > +@@ -33,26 +35,26 @@ + class _Traits, + class _Alloc> + class basic_string; +-# endif /* __STL_LIMITED_DEFAULT_TEMPLATES */ ++# endif /* _STLP_LIMITED_DEFAULT_TEMPLATES */ + + typedef basic_string, allocator > string; + +-# ifdef __STL_HAS_WCHAR_T ++# ifdef _STLP_HAS_WCHAR_T + typedef basic_string, allocator > wstring; + # endif + +-# ifdef __SGI_STL_OWN_IOSTREAMS +-__STL_DECLSPEC const char* __STL_CALL ++# ifdef _STLP_OWN_IOSTREAMS ++_STLP_DECLSPEC const char* _STLP_CALL + __get_c_string(const string& __str); + # else + template +-const char* __STL_CALL ++const char* _STLP_CALL + __get_c_string(const basic_string<_CharT, _Traits, _Alloc>& __str); + # endif + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-#endif /* __SGI_STL_STRING_FWD_H */ ++#endif /* _STLP_STRING_FWD_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_string_hash.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_string_hash.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_string_hash.h Sat Feb 24 10:45:11 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_string_hash.h Sun Aug 11 18:59:25 2002 +@@ -16,17 +16,21 @@ + * + */ + +-#ifndef __SGI_STL_STRING_HASH_H +-# define __SGI_STL_STRING_HASH_H ++#ifndef _STLP_STRING_HASH_H ++# define _STLP_STRING_HASH_H + +-#ifndef __SGI_STL_HASH_FUN_H ++#ifndef _STLP_HASH_FUN_H + # include + #endif + +-__STL_BEGIN_NAMESPACE ++#ifndef _STLP_STRING_H ++# include ++#endif ++ ++_STLP_BEGIN_NAMESPACE + + template +-__STL_INLINE_LOOP size_t ++_STLP_INLINE_LOOP size_t + __stl_string_hash(const basic_string<_CharT,_Traits,_Alloc>& __s) { + unsigned long __h = 0; + typedef typename basic_string<_CharT,_Traits,_Alloc>::const_pointer const_ptr; +@@ -37,7 +41,7 @@ + return size_t(__h); + } + +-#ifdef __STL_CLASS_PARTIAL_SPECIALIZATION ++#ifdef _STLP_CLASS_PARTIAL_SPECIALIZATION + + template + struct hash > { +@@ -47,20 +51,20 @@ + + #else + +-__STL_TEMPLATE_NULL struct __STL_CLASS_DECLSPEC hash { ++_STLP_TEMPLATE_NULL struct _STLP_CLASS_DECLSPEC hash { + size_t operator()(const string& __s) const + { return __stl_string_hash(__s); } + }; + +-# if defined (__STL_HAS_WCHAR_T) +-__STL_TEMPLATE_NULL struct __STL_CLASS_DECLSPEC hash { ++# if defined (_STLP_HAS_WCHAR_T) ++_STLP_TEMPLATE_NULL struct _STLP_CLASS_DECLSPEC hash { + size_t operator()(const wstring& __s) const + { return __stl_string_hash(__s); } + }; + # endif + +-#endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */ ++#endif /* _STLP_CLASS_PARTIAL_SPECIALIZATION */ + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + + #endif +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_string_io.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_string_io.c +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_string_io.c Sat Feb 24 10:45:12 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_string_io.c Sun Aug 11 18:59:25 2002 +@@ -1,27 +1,29 @@ +-#ifndef __STL_STRING_IO_C +-#define __STL_STRING_IO_C ++#ifndef _STLP_STRING_IO_C ++#define _STLP_STRING_IO_C + +-# ifdef __STL_DEBUG ++#ifndef _STLP_STRING_IO_H ++# include ++#endif ++ ++# ifdef _STLP_DEBUG + # define basic_string _Nondebug_string + # endif + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE ++ ++# if defined (_STLP_OWN_IOSTREAMS) ++# define _STLP_USING_IO ++# else ++# define _STLP_USING_IO _STLP_USING_VENDOR_STD ++# endif + +-#if defined (__STL_USE_NEW_IOSTREAMS) ++#if defined (_STLP_USE_NEW_IOSTREAMS) + +-#if !(defined(__MRC__)||defined(__SC__)) //*TY 02/27/2000 - mpw compilers can not handle complex template arguments + template +-bool __STL_CALL +-__sgi_string_fill(basic_ostream<_CharT, _Traits>& __os, ++bool _STLP_CALL ++__stlp_string_fill(basic_ostream<_CharT, _Traits>& __os, + basic_streambuf<_CharT, _Traits>* __buf, + size_t __n) +-#else //*TY 02/27/2000 - added workaround for MPW compilers +-template //*TY 02/27/2000 - added _Buf +-bool __STL_CALL +-__sgi_string_fill(basic_ostream<_CharT, _Traits>& __os, +- _Buf* __buf, //*TY 02/27/2000 - simplified parameter type +- size_t __n) +-#endif //*TY 02/27/2000 - + { + _CharT __f = __os.fill(); + size_t __i; +@@ -31,13 +33,14 @@ + __ok = __ok && !_Traits::eq_int_type(__buf->sputc(__f), _Traits::eof()); + return __ok; + } ++ + template +-basic_ostream<_CharT, _Traits>& __STL_CALL ++basic_ostream<_CharT, _Traits>& _STLP_CALL + operator<<(basic_ostream<_CharT, _Traits>& __os, + const basic_string<_CharT,_Traits,_Alloc>& __s) + { + +- __STL_USING_VENDOR_STD ++ _STLP_USING_IO + typedef basic_ostream<_CharT, _Traits> __ostream; + typename __ostream::sentry __sentry(__os); + bool __ok = false; +@@ -50,17 +53,17 @@ + const size_t __w = __os.width(0); + basic_streambuf<_CharT, _Traits>* __buf = __os.rdbuf(); + +- if (__w > 0 && __n < __w) { ++ if (__n < __w) { + __pad_len = __w - __n; + } + + if (!__left) +- __ok = __sgi_string_fill(__os, __buf, __pad_len); ++ __ok = __stlp_string_fill(__os, __buf, __pad_len); + + __ok = __ok && (__buf->sputn(__s.data(), streamsize(__n)) == streamsize(__n)); + + if (__left) +- __ok = __ok && __sgi_string_fill(__os, __buf, __pad_len); ++ __ok = __ok && __stlp_string_fill(__os, __buf, __pad_len); + } + + if (!__ok) +@@ -68,35 +71,32 @@ + + return __os; + } +- ++ + template +-basic_istream<_CharT, _Traits>& __STL_CALL ++basic_istream<_CharT, _Traits>& _STLP_CALL + operator>>(basic_istream<_CharT, _Traits>& __is, + basic_string<_CharT,_Traits, _Alloc>& __s) + { +-# ifndef __STL_HAS_NO_NAMESPACES +-# ifdef __SGI_STL_OWN_IOSTREAMS +- using __STL_VENDOR_CSTD::size_t; +-# else +- using namespace __STL_VENDOR_STD; +-# endif +-# endif +- ++ _STLP_USING_IO + typedef basic_istream<_CharT, _Traits> __istream; + typename __istream::sentry __sentry(__is); + + if (__sentry) { + basic_streambuf<_CharT, _Traits>* __buf = __is.rdbuf(); + typedef ctype<_CharT> _C_type; +- const locale& __loc = __is.getloc(); +-#ifdef __SGI_STL_OWN_IOSTREAMS +- const _C_type& _Ctype = use_facet<_C_type>(__loc); ++ ++#ifdef _STLP_OWN_IOSTREAMS ++ // const _C_type& _Ctype = use_facet<_C_type>(__loc); ++ const _C_type& _Ctype = *(const _C_type*)__is._M_ctype_facet(); + #else +-# if defined (__STL_MSVC) && (__STL_MSVC <= 1200 ) ++# if defined (_STLP_MSVC) && (_STLP_MSVC <= 1200 ) || defined (__ICL) ++ const locale& __loc = __is.getloc(); + const _C_type& _Ctype = use_facet(__loc , ( _C_type * ) 0, true); + # elif defined (__SUNPRO_CC) ++ const locale& __loc = __is.getloc(); + const _C_type& _Ctype = use_facet(__loc , ( _C_type * ) 0); + # else ++ const locale& __loc = __is.getloc(); + const _C_type& _Ctype = use_facet<_C_type>(__loc); + # endif + #endif +@@ -138,12 +138,12 @@ + } + + template +-basic_istream<_CharT, _Traits>& __STL_CALL ++basic_istream<_CharT, _Traits>& _STLP_CALL + getline(basic_istream<_CharT, _Traits>& __is, + basic_string<_CharT,_Traits,_Alloc>& __s, + _CharT __delim) + { +- __STL_USING_VENDOR_STD ++ _STLP_USING_IO + typedef basic_istream<_CharT, _Traits> __istream; + size_t __nread = 0; + typename basic_istream<_CharT, _Traits>::sentry __sentry(__is, true); +@@ -173,13 +173,15 @@ + return __is; + } + +-#elif ! defined ( __STL_USE_NO_IOSTREAMS ) ++#elif ! defined ( _STLP_USE_NO_IOSTREAMS ) ++ ++// (reg) For Watcom IO, _OSTREAM_DLL tells if ostream class is in .exe or in .dll + + template +-ostream& __STL_CALL operator<<(ostream& __os, ++_OSTREAM_DLL& _STLP_CALL operator<<(_OSTREAM_DLL& __os, + const basic_string<_CharT,_Traits,_Alloc>& __s) + { +- __STL_USING_VENDOR_STD ++ _STLP_USING_IO + streambuf* __buf = __os.rdbuf(); + if (__buf) { + size_t __n = __s.size(); +@@ -187,18 +189,17 @@ + const bool __left = (__os.flags() & ios::left) !=0; + const size_t __w = __os.width(); + +- if (__w > 0) { +- __n = min(__w, __n); +- __pad_len = __w - __n; +- } ++ if (__n < __w) { ++ __pad_len = __w - __n; ++ } + + if (!__left) +- __sgi_string_fill(__os, __buf, __pad_len); ++ __stlp_string_fill(__os, __buf, __pad_len); + + const size_t __nwritten = __buf->sputn(__s.data(), __n); + + if (__left) +- __sgi_string_fill(__os, __buf, __pad_len); ++ __stlp_string_fill(__os, __buf, __pad_len); + + if (__nwritten != __n) + __os.clear(__os.rdstate() | ios::failbit); +@@ -212,9 +213,9 @@ + } + + template +-istream& __STL_CALL operator>>(istream& __is, basic_string<_CharT,_Traits,_Alloc>& __s) ++_ISTREAM_DLL& _STLP_CALL operator>>(_ISTREAM_DLL& __is, basic_string<_CharT,_Traits,_Alloc>& __s) + { +- __STL_USING_VENDOR_STD ++ _STLP_USING_IO + if (!__is) + return __is; + +@@ -282,11 +283,11 @@ + } + + template +-istream& __STL_CALL getline(istream& __is, ++_ISTREAM_DLL& _STLP_CALL getline(_ISTREAM_DLL& __is, + basic_string<_CharT,_Traits,_Alloc>& __s, + _CharT __delim) + { +- __STL_USING_VENDOR_STD ++ _STLP_USING_IO + streambuf* __buf = __is.rdbuf(); + if (__buf) { + size_t __nread = 0; +@@ -319,10 +320,11 @@ + return __is; + } + +-# endif /* __STL_NEW_IOSTREAMS */ ++# endif /* _STLP_NEW_IOSTREAMS */ + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + ++// # undef _STLP_USING_IO + # undef basic_string + + #endif +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_string_io.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_string_io.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_string_io.h Sat Feb 24 10:45:12 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_string_io.h Sun Aug 11 18:59:25 2002 +@@ -16,43 +16,47 @@ + * + */ + +-#ifndef __SGI_STL_STRING_IO_H +-#define __SGI_STL_STRING_IO_H ++#ifndef _STLP_STRING_IO_H ++#define _STLP_STRING_IO_H + + // this is for link-time instantiation +-#if !defined ( __STLPORT_STRING ) ++#if !defined ( _STLP_STRING ) + # include + # endif + +-# ifdef __STL_DEBUG ++//#ifndef _STLP_LOCALE ++//# include ++//#endif ++ ++# ifdef _STLP_DEBUG + # define basic_string _Nondebug_string + # endif + + // I/O. +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + +-#if defined (__STL_USE_NEW_IOSTREAMS) ++#if defined (_STLP_USE_NEW_IOSTREAMS) + + template +-basic_ostream<_CharT, _Traits>& __STL_CALL ++basic_ostream<_CharT, _Traits>& _STLP_CALL + operator<<(basic_ostream<_CharT, _Traits>& __os, + const basic_string<_CharT,_Traits,_Alloc>& __s); + + template +-basic_istream<_CharT, _Traits>& __STL_CALL ++basic_istream<_CharT, _Traits>& _STLP_CALL + operator>>(basic_istream<_CharT, _Traits>& __is, + basic_string<_CharT,_Traits,_Alloc>& __s); + + template +-basic_istream<_CharT, _Traits>& __STL_CALL ++basic_istream<_CharT, _Traits>& _STLP_CALL + getline(basic_istream<_CharT, _Traits>& __is, + basic_string<_CharT,_Traits,_Alloc>& __s, + _CharT __delim); + +-# if !(defined (__BORLANDC__) && ! defined (__STL_USE_OWN_NAMESPACE)) ++# if !(defined (__BORLANDC__) && ! defined (_STLP_USE_OWN_NAMESPACE)) + + template +-inline basic_istream<_CharT, _Traits>& __STL_CALL ++inline basic_istream<_CharT, _Traits>& _STLP_CALL + getline(basic_istream<_CharT, _Traits>& __is, + basic_string<_CharT,_Traits,_Alloc>& __s) + { +@@ -60,44 +64,44 @@ + } + # endif + +-#if !(defined(__MRC__)||defined(__SC__)) //*TY 02/27/2000 - mpw compilers can not handle complex template arguments + template +-bool __STL_CALL +-__sgi_string_fill(basic_ostream<_CharT, _Traits>& __os, ++bool _STLP_CALL ++__stlp_string_fill(basic_ostream<_CharT, _Traits>& __os, + basic_streambuf<_CharT, _Traits>* __buf, + size_t __n); +-#else //*TY 02/27/2000 - added workaround for MPW compilers +-template //*TY 02/27/2000 - added _Buf +-bool __STL_CALL +-__sgi_string_fill(basic_ostream<_CharT, _Traits>& __os, +- _Buf* __buf, //*TY 02/27/2000 - simplified parameter type +- size_t __n); +-#endif //*TY 02/27/2000 - ++#elif ! defined ( _STLP_USE_NO_IOSTREAMS ) + +-#elif ! defined ( __STL_USE_NO_IOSTREAMS ) ++// (reg) For Watcom IO, this tells if ostream class is in .exe or in .dll ++# ifdef _WPRTLINK ++typedef _WPRTLINK ostream _OSTREAM_DLL; ++typedef _WPRTLINK istream _ISTREAM_DLL; ++#else ++typedef ostream _OSTREAM_DLL; ++typedef istream _ISTREAM_DLL; ++#endif + + template +-ostream& __STL_CALL operator<<(ostream& __os, ++_OSTREAM_DLL& _STLP_CALL operator<<(_OSTREAM_DLL& __os, + const basic_string<_CharT,_Traits,_Alloc>& __s); + + template +-istream& __STL_CALL operator>>(istream& __is, basic_string<_CharT,_Traits,_Alloc>& __s); ++_ISTREAM_DLL& _STLP_CALL operator>>(_ISTREAM_DLL& __is, basic_string<_CharT,_Traits,_Alloc>& __s); + + template +-istream& __STL_CALL getline(istream& __is, ++_ISTREAM_DLL& _STLP_CALL getline(_ISTREAM_DLL& __is, + basic_string<_CharT,_Traits,_Alloc>& __s, + _CharT __delim); + + + template +-inline istream& __STL_CALL +-getline(istream& __is, basic_string<_CharT,_Traits,_Alloc>& __s) ++inline _ISTREAM_DLL& _STLP_CALL ++getline(_ISTREAM_DLL& __is, basic_string<_CharT,_Traits,_Alloc>& __s) + { + return getline(__is, __s, '\n'); + } + +-inline void __STL_CALL +-__sgi_string_fill(ostream& __os, streambuf* __buf, size_t __n) ++inline void _STLP_CALL ++__stlp_string_fill(_OSTREAM_DLL& __os, streambuf* __buf, size_t __n) + { + char __f = __os.fill(); + size_t __i; +@@ -105,14 +109,14 @@ + for (__i = 0; __i < __n; ++__i) __buf->sputc(__f); + } + +-#endif /* __STL_USE_NEW_IOSTREAMS */ ++#endif /* _STLP_USE_NEW_IOSTREAMS */ + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + + # undef basic_string + +-# if !defined (__STL_LINK_TIME_INSTANTIATION) ++# if !defined (_STLP_LINK_TIME_INSTANTIATION) + # include + # endif + +-#endif /* __SGI_STL_STRING_IO_H */ ++#endif /* _STLP_STRING_IO_H */ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_strstream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_strstream.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_strstream.h Sat Feb 24 10:45:12 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_strstream.h Sun Aug 11 18:59:25 2002 +@@ -1,18 +1,28 @@ +-#if defined(__sgi) && !defined(__GNUC__) && !defined(_STANDARD_C_PLUS_PLUS) +-#error This header file requires the -LANG:std option +-#endif + +-#include ++#ifndef _STLP_INTERNAL_STREAMBUF ++#include ++#endif ++#ifndef _STLP_ISTREAM + #include // Includes , , +-#include ++#endif ++#ifndef _STLP_STRING_H ++#include ++#endif ++ ++_STLP_BEGIN_NAMESPACE + +-__STL_BEGIN_NAMESPACE ++#ifndef _STLP_USE_NAMESPACES ++# define strstream _STLP_strstream ++# define ostrstream _STLP_ostrstream ++# define istrstream _STLP_istrstream ++# define strstreambuf _STLP_strstreambuf ++#endif + + //---------------------------------------------------------------------- + // Class strstreambuf, a streambuf class that manages an array of char. + // Note that this class is not a template. + +-class __STL_CLASS_DECLSPEC strstreambuf : public basic_streambuf > ++class _STLP_CLASS_DECLSPEC strstreambuf : public basic_streambuf > + { + public: // Types. + typedef char_traits _Traits; +@@ -21,7 +31,7 @@ + typedef void (*__free_fn)(void*); + public: // Constructor, destructor + +- explicit strstreambuf(streamsize __initial_capacity = 0); ++ explicit strstreambuf(streamsize _Initial_capacity = 0); + + strstreambuf(__alloc_fn, __free_fn); + +@@ -69,7 +79,7 @@ + //---------------------------------------------------------------------- + // Class istrstream, an istream that manages a strstreambuf. + +-class __STL_CLASS_DECLSPEC istrstream : public basic_istream > ++class _STLP_CLASS_DECLSPEC istrstream : public basic_istream > + { + public: + explicit istrstream(char*); +@@ -88,7 +98,7 @@ + //---------------------------------------------------------------------- + // Class ostrstream + +-class __STL_CLASS_DECLSPEC ostrstream : public basic_ostream > ++class _STLP_CLASS_DECLSPEC ostrstream : public basic_ostream > + { + public: + ostrstream(); +@@ -107,7 +117,7 @@ + //---------------------------------------------------------------------- + // Class strstream + +-class __STL_CLASS_DECLSPEC strstream : public basic_iostream > ++class _STLP_CLASS_DECLSPEC strstream : public basic_iostream > + { + public: + typedef char char_type; +@@ -128,4 +138,4 @@ + strstreambuf _M_buf; + }; + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_tempbuf.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_tempbuf.c +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_tempbuf.c Sat Feb 24 10:45:12 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_tempbuf.c Sun Aug 11 18:59:25 2002 +@@ -23,13 +23,17 @@ + * modified is included with the above copyright notice. + * + */ +-#ifndef __STL_TEMPBUF_C +-#define __STL_TEMPBUF_C ++#ifndef _STLP_TEMPBUF_C ++#define _STLP_TEMPBUF_C + +-__STL_BEGIN_NAMESPACE ++#ifndef _STLP_INTERNAL_TEMPBUF_H ++# include ++#endif ++ ++_STLP_BEGIN_NAMESPACE + + template +-pair<_Tp*, ptrdiff_t> __STL_CALL ++pair<_Tp*, ptrdiff_t> _STLP_CALL + __get_temporary_buffer(ptrdiff_t __len, _Tp*) + { + if (__len > ptrdiff_t(INT_MAX / sizeof(_Tp))) +@@ -44,9 +48,9 @@ + + return pair<_Tp*, ptrdiff_t>((_Tp*)0, 0); + } +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-#endif /* __STL_TEMPBUF_C */ ++#endif /* _STLP_TEMPBUF_C */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_tempbuf.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_tempbuf.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_tempbuf.h Sat Feb 24 10:45:12 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_tempbuf.h Sun Aug 11 18:59:25 2002 +@@ -27,50 +27,48 @@ + * You should not attempt to use it directly. + */ + +-#ifndef __SGI_STL_INTERNAL_TEMPBUF_H +-#define __SGI_STL_INTERNAL_TEMPBUF_H ++#ifndef _STLP_INTERNAL_TEMPBUF_H ++#define _STLP_INTERNAL_TEMPBUF_H + +-# ifndef __STLPORT_CLIMITS ++# ifndef _STLP_CLIMITS + # include + # endif +-# ifndef __STLPORT_CSTDLIB ++# ifndef _STLP_CSTDLIB + # include + # endif +-# ifndef __SGI_STL_INTERNAL_UNINITIALIZED_H ++# ifndef _STLP_INTERNAL_UNINITIALIZED_H + # include + # endif + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + template +-pair<_Tp*, ptrdiff_t> __STL_CALL ++pair<_Tp*, ptrdiff_t> _STLP_CALL + __get_temporary_buffer(ptrdiff_t __len, _Tp*); + +-#ifdef __STL_EXPLICIT_FUNCTION_TMPL_ARGS ++#ifndef _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS + + template +-inline pair<_Tp*, ptrdiff_t> __STL_CALL get_temporary_buffer(ptrdiff_t __len) { ++inline pair<_Tp*, ptrdiff_t> _STLP_CALL get_temporary_buffer(ptrdiff_t __len) { + return __get_temporary_buffer(__len, (_Tp*) 0); + } + +-#endif /* __STL_EXPLICIT_FUNCTION_TMPL_ARGS */ +- +- +-# if ! (defined(__STL_NO_EXTENSIONS) && defined (__STL_EXPLICIT_FUNCTION_TMPL_ARGS)) ++# if ! defined(_STLP_NO_EXTENSIONS) + // This overload is not required by the standard; it is an extension. + // It is supported for backward compatibility with the HP STL, and + // because not all compilers support the language feature (explicit + // function template arguments) that is required for the standard + // version of get_temporary_buffer. + template +-inline pair<_Tp*, ptrdiff_t> __STL_CALL ++inline pair<_Tp*, ptrdiff_t> _STLP_CALL + get_temporary_buffer(ptrdiff_t __len, _Tp*) { + return __get_temporary_buffer(__len, (_Tp*) 0); + } + # endif ++#endif + + template +-inline void __STL_CALL return_temporary_buffer(_Tp* __p) { ++inline void _STLP_CALL return_temporary_buffer(_Tp* __p) { + // SunPro brain damage + free((char*)__p); + } +@@ -97,8 +95,8 @@ + } + } + +- void _M_initialize_buffer(const _Tp&, __true_type) {} +- void _M_initialize_buffer(const _Tp& val, __false_type) { ++ void _M_initialize_buffer(const _Tp&, const __true_type&) {} ++ void _M_initialize_buffer(const _Tp& val, const __false_type&) { + uninitialized_fill_n(_M_buffer, _M_len, val); + } + +@@ -113,17 +111,15 @@ + # if defined(__sgi) && !defined(__GNUC__) && _COMPILER_VERSION < 730 + typedef typename __type_traits<_Tp>::is_POD_type _Trivial; + # else +- typedef typename __type_traits<_Tp>::has_trivial_default_constructor +- _Trivial; ++ typedef typename __type_traits<_Tp>::has_trivial_default_constructor _Trivial; + # endif +- __STL_TRY { +- _M_len = 0; +- distance(__first, __last, _M_len); ++ _STLP_TRY { ++ _M_len = distance(__first, __last); + _M_allocate_buffer(); + if (_M_len > 0) + _M_initialize_buffer(*__first, _Trivial()); + } +- __STL_UNWIND(free(_M_buffer); _M_buffer = 0; _M_len = 0); ++ _STLP_UNWIND(free(_M_buffer); _M_buffer = 0; _M_len = 0); + } + + ~_Temporary_buffer() { +@@ -137,15 +133,15 @@ + void operator=(const _Temporary_buffer<_ForwardIterator, _Tp>&) {} + }; + +-# ifndef __STL_NO_EXTENSIONS ++# ifndef _STLP_NO_EXTENSIONS + + // Class temporary_buffer is not part of the standard. It is an extension. + + template ::value_type +-#endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */ ++#endif /* _STLP_CLASS_PARTIAL_SPECIALIZATION */ + > + struct temporary_buffer : public _Temporary_buffer<_ForwardIterator, _Tp> + { +@@ -154,15 +150,15 @@ + ~temporary_buffer() {} + }; + +-# endif /* __STL_NO_EXTENSIONS */ ++# endif /* _STLP_NO_EXTENSIONS */ + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-# ifndef __STL_LINK_TIME_INSTANTIATION ++# ifndef _STLP_LINK_TIME_INSTANTIATION + # include + # endif + +-#endif /* __SGI_STL_INTERNAL_TEMPBUF_H */ ++#endif /* _STLP_INTERNAL_TEMPBUF_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_threads.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_threads.c +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_threads.c Sat Feb 24 10:45:12 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_threads.c Sun Aug 11 18:59:25 2002 +@@ -23,70 +23,88 @@ + * modified is included with the above copyright notice. + * + */ +-#ifndef __STL_THREADS_C +-#define __STL_THREADS_C ++#ifndef _STLP_THREADS_C ++#define _STLP_THREADS_C + +-# if defined (__BUILDING_STLPORT) || ! defined (__SGI_STL_OWN_IOSTREAMS) ++#ifndef _STLP_INTERNAL_THREADS_H ++# include ++#endif ++ ++# if defined (_STLP_EXPOSE_GLOBALS_IMPLEMENTATION) ++ ++# if defined(_STLP_SGI_THREADS) ++# include ++# elif defined (_STLP_UNIX) ++# include ++# if defined (_STLP_USE_NAMESPACES) && ! defined (_STLP_VENDOR_GLOBAL_CSTD) ++using _STLP_VENDOR_CSTD::time_t; ++# endif ++# include ++# endif + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + +-# if ( __STL_STATIC_TEMPLATE_DATA > 0 ) ++# if ( _STLP_STATIC_TEMPLATE_DATA > 0 ) + +-# if defined (__STL_PTHREADS) || defined (__STL_UITHREADS) ++# if !defined ( _STLP_ATOMIC_EXCHANGE ) && (defined (_STLP_PTHREADS) || defined (_STLP_UITHREADS) || defined (_STLP_OS2THREADS)) + template +-_STL_STATIC_MUTEX +-_Swap_lock_struct<__dummy>::_S_swap_lock __STL_MUTEX_INITIALIZER; ++_STLP_STATIC_MUTEX ++_Swap_lock_struct<__dummy>::_S_swap_lock _STLP_MUTEX_INITIALIZER; + # endif + + template +-unsigned _STL_mutex_spin<__inst>::__max = _STL_mutex_spin<__inst>::__low_max; ++unsigned _STLP_mutex_spin<__inst>::__max = _STLP_mutex_spin<__inst>::__low_max; + + template +-unsigned _STL_mutex_spin<__inst>::__last = 0; +- +-# else /* ( __STL_STATIC_TEMPLATE_DATA > 0 ) */ ++unsigned _STLP_mutex_spin<__inst>::__last = 0; + +-# if defined (__STL_PTHREADS) || defined (__STL_UITHREADS) +-__DECLARE_INSTANCE(_STL_STATIC_MUTEX, _Swap_lock_struct<0>::_S_swap_lock, +- __STL_MUTEX_INITIALIZER ); +-# endif /* __STL_PTHREADS */ ++# else /* ( _STLP_STATIC_TEMPLATE_DATA > 0 ) */ + +-__DECLARE_INSTANCE(unsigned, _STL_mutex_spin<0>::__max, =30); +-__DECLARE_INSTANCE(unsigned, _STL_mutex_spin<0>::__last, =0); +- +-# endif /* ( __STL_STATIC_TEMPLATE_DATA > 0 ) */ +- +-#if defined(__STL_SGI_THREADS) || defined(__STL_WIN32THREADS) ++# if defined (_STLP_PTHREADS) || defined (_STLP_UITHREADS) || defined (_STLP_OS2THREADS) ++__DECLARE_INSTANCE(_STLP_STATIC_MUTEX, _Swap_lock_struct<0>::_S_swap_lock, ++ _STLP_MUTEX_INITIALIZER ); ++# endif /* _STLP_PTHREADS */ ++ ++__DECLARE_INSTANCE(unsigned, _STLP_mutex_spin<0>::__max, =30); ++__DECLARE_INSTANCE(unsigned, _STLP_mutex_spin<0>::__last, =0); ++ ++# endif /* ( _STLP_STATIC_TEMPLATE_DATA > 0 ) */ ++ ++#ifdef _STLP_SPARC_SOLARIS_THREADS ++// underground function in libc.so; we do not want dependance on librt ++extern "C" int __nanosleep(const struct timespec*, struct timespec*); ++# define _STLP_NANOSLEEP __nanosleep ++#else ++# define _STLP_NANOSLEEP nanosleep ++#endif + + template +-void __STL_CALL +-_STL_mutex_spin<__inst>::_S_nsec_sleep(int __log_nsec) { +-# ifdef __STL_SGI_THREADS +- struct timespec __ts; +- /* Max sleep is 2**27nsec ~ 60msec */ +- __ts.tv_sec = 0; +- __ts.tv_nsec = 1 << __log_nsec; +- nanosleep(&__ts, 0); +-# elif defined(__STL_WIN32THREADS) ++void _STLP_CALL ++_STLP_mutex_spin<__inst>::_S_nsec_sleep(int __log_nsec) { ++# if defined(_STLP_WIN32THREADS) + if (__log_nsec <= 20) { + Sleep(0); + } else { + Sleep(1 << (__log_nsec - 20)); + } +-# else +-# error unimplemented ++# elif defined (_STLP_UNIX) ++ timespec __ts; ++ /* Max sleep is 2**27nsec ~ 60msec */ ++ __ts.tv_sec = 0; ++ __ts.tv_nsec = 1 << __log_nsec; ++ _STLP_NANOSLEEP(&__ts, 0); + # endif + } + + + template +-void __STL_CALL +-_STL_mutex_spin<__inst>::_M_do_lock(volatile unsigned long* __lock) ++void _STLP_CALL ++_STLP_mutex_spin<__inst>::_M_do_lock(volatile __stl_atomic_t* __lock) + { +-#if defined(__STL_SGI_THREADS) || defined(__STL_WIN32THREADS) +- if (_Atomic_swap((unsigned long*)__lock, 1)) { +- unsigned __my_spin_max = _STL_mutex_spin<0>::__max; +- unsigned __my_last_spins = _STL_mutex_spin<0>::__last; ++#if defined(_STLP_ATOMIC_EXCHANGE) ++ if (_Atomic_swap(__lock, 1)) { ++ unsigned __my_spin_max = _STLP_mutex_spin<0>::__max; ++ unsigned __my_last_spins = _STLP_mutex_spin<0>::__last; + volatile unsigned __junk = 17; // Value doesn't matter. + unsigned __i; + +@@ -95,26 +113,26 @@ + __junk *= __junk; __junk *= __junk; + __junk *= __junk; __junk *= __junk; + } else { +- if (!_Atomic_swap((unsigned long*)__lock, 1)) { ++ if (!_Atomic_swap(__lock, 1)) { + // got it! + // Spinning worked. Thus we're probably not being scheduled + // against the other process with which we were contending. + // Thus it makes sense to spin longer the next time. +- _STL_mutex_spin<0>::__last = __i; +- _STL_mutex_spin<0>::__max = _STL_mutex_spin<0>::__high_max; ++ _STLP_mutex_spin<0>::__last = __i; ++ _STLP_mutex_spin<0>::__max = _STLP_mutex_spin<0>::__high_max; + return; + } + } + } + + // We are probably being scheduled against the other process. Sleep. +- _STL_mutex_spin<0>::__max = _STL_mutex_spin<0>::__low_max; ++ _STLP_mutex_spin<0>::__max = _STLP_mutex_spin<0>::__low_max; + + for (__i = 0 ;; ++__i) { + int __log_nsec = __i + 6; + + if (__log_nsec > 27) __log_nsec = 27; +- if (!_Atomic_swap((unsigned long *)__lock, 1)) { ++ if (!_Atomic_swap(__lock, 1)) { + break; + } + _S_nsec_sleep(__log_nsec); +@@ -124,12 +142,10 @@ + # endif + } + +-# endif /* if SGI or WIN */ +- +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + + # endif /* BUILDING_STLPORT */ +-#endif /* __STL_THREADS_C */ ++#endif /* _STLP_THREADS_C */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_threads.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_threads.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_threads.h Sat Feb 24 10:45:12 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_threads.h Sun Aug 11 18:59:25 2002 +@@ -22,125 +22,200 @@ + // Stl_config.h should be included before this file. + + +-#ifndef __SGI_STL_INTERNAL_THREADS_H +-#define __SGI_STL_INTERNAL_THREADS_H ++#ifndef _STLP_INTERNAL_THREADS_H ++#define _STLP_INTERNAL_THREADS_H + + // Supported threading models are native SGI, pthreads, uithreads + // (similar to pthreads, but based on an earlier draft of the Posix + // threads standard), and Win32 threads. Uithread support by Jochen + // Schlick, 1999, and Solaris threads generalized to them. + +-#ifndef __STL_CONFIG_H ++#ifndef _STLP_CONFIG_H + #include + #endif + +-# if ! defined (__STLPORT_CSTDDEF) ++# if ! defined (_STLP_CSTDDEF) + # include + # endif + +-# if ! defined (__STLPORT_CSTDLIB) ++# if ! defined (_STLP_CSTDLIB) + # include + # endif + +-#if defined(__STL_SGI_THREADS) +- +-#include +-#include ++// On SUN and Mac OS X gcc, zero-initialization works just fine... ++# if defined (__sun) || ( defined(__GNUC__) && defined(__APPLE__) ) ++# define _STLP_MUTEX_INITIALIZER ++# endif + +-#elif defined(__STL_PTHREADS) ++# if defined (_STLP_WIN32) || defined (__sgi) || defined (_STLP_SPARC_SOLARIS_THREADS) ++ typedef long __stl_atomic_t; ++# else ++# if defined (_STLP_USE_NAMESPACES) && ! defined (_STLP_VENDOR_GLOBAL_CSTD) ++using _STLP_VENDOR_CSTD::size_t; ++# endif ++ typedef size_t __stl_atomic_t; ++#endif + +-#include ++# if defined(_STLP_SGI_THREADS) ++# include ++// Hack for SGI o32 compilers. ++#if !defined(__add_and_fetch) && \ ++ (__mips < 3 || !(defined (_ABIN32) || defined(_ABI64))) ++# define __add_and_fetch(__l,__v) add_then_test((unsigned long*)__l,__v) ++# define __test_and_set(__l,__v) test_and_set(__l,__v) ++#endif /* o32 */ + +-# ifdef __hpux +-# define __STL_PTHREAD_ATTR_DEFAULT pthread_mutexattr_default ++# if __mips < 3 || !(defined (_ABIN32) || defined(_ABI64)) ++# define _STLP_ATOMIC_EXCHANGE(__p, __q) test_and_set(__p, __q) + # else +-# define __STL_PTHREAD_ATTR_DEFAULT 0 ++# define _STLP_ATOMIC_EXCHANGE(__p, __q) __test_and_set((unsigned long*)__p, (unsigned long)__q) + # endif + +-#elif defined(__STL_WIN32) +- +- +-# if !defined (__STLPORT_WINDOWS_H_INCLUDED) && ! defined (_WINDOWS_) && ! defined (__WINDOWS__) +-# if ! (defined ( __STL_MSVC ) || defined (__BORLANDC__) || defined (__ICL) ) +-# define NOMINMAX +-# ifdef __STL_USE_MFC +-# include +-# else +-# include +-# endif +- +-# else +- ++# define _STLP_ATOMIC_INCREMENT(__x) __add_and_fetch(__x, 1) ++# define _STLP_ATOMIC_DECREMENT(__x) __add_and_fetch(__x, (size_t) -1) ++# elif defined(_STLP_PTHREADS) ++# include ++# if defined (PTHREAD_MUTEX_INITIALIZER) && ! defined (_STLP_MUTEX_INITIALIZER) && defined (_REENTRANT) ++# define _STLP_MUTEX_INITIALIZER = { PTHREAD_MUTEX_INITIALIZER } ++# endif ++ ++//HPUX variants have (on some platforms optional) non-standard "DCE" pthreads impl ++# if defined(_DECTHREADS_) && ( defined (_PTHREAD_USE_D4) || defined (__hpux)) \ ++ && ! defined (_CMA_SUPPRESS_EXTERNALS_) ++# define _STLP_PTHREAD_ATTR_DEFAULT pthread_mutexattr_default ++# else ++# define _STLP_PTHREAD_ATTR_DEFAULT 0 ++# endif ++ ++# elif defined(_STLP_WIN32) ++# if !defined (_STLP_WINDOWS_H_INCLUDED) && ! defined (_WINDOWS_H) ++# if ! (defined ( _STLP_MSVC ) || defined (__BORLANDC__) || defined (__ICL) || defined (__WATCOMC__) || defined (__MINGW32__)) ++# ifdef _STLP_USE_MFC ++# include ++# else ++# include ++# endif ++# else + // This section serves as a replacement for windows.h header for Visual C++ +- + extern "C" { +- + # if (defined(_M_MRX000) || defined(_M_ALPHA) \ + || (defined(_M_PPC) && (_MSC_VER >= 1000))) && !defined(RC_INVOKED) + # define InterlockedIncrement _InterlockedIncrement + # define InterlockedDecrement _InterlockedDecrement + # define InterlockedExchange _InterlockedExchange +-# define __STL_STDCALL ++# define _STLP_STDCALL + # else + # ifdef _MAC +-# define __STL_STDCALL _cdecl ++# define _STLP_STDCALL _cdecl + # else +-# define __STL_STDCALL __stdcall ++# define _STLP_STDCALL __stdcall + # endif + # endif + +-__STL_IMPORT_DECLSPEC long __STL_STDCALL InterlockedIncrement(long*); +-__STL_IMPORT_DECLSPEC long __STL_STDCALL InterlockedDecrement(long*); +-__STL_IMPORT_DECLSPEC long __STL_STDCALL InterlockedExchange(long*, long); +- +-__STL_IMPORT_DECLSPEC void __STL_STDCALL Sleep(unsigned long); +-__STL_IMPORT_DECLSPEC void __STL_STDCALL OutputDebugStringA( const char* lpOutputString ); +- +-# if defined (InterlockedIncrement) +-# pragma intrinsic(_InterlockedIncrement) +-# pragma intrinsic(_InterlockedDecrement) +-# pragma intrinsic(_InterlockedExchange) +-# endif ++#if (_MSC_VER >= 1300) || defined (_STLP_NEW_PLATFORM_SDK) ++_STLP_IMPORT_DECLSPEC long _STLP_STDCALL InterlockedIncrement(long volatile *); ++_STLP_IMPORT_DECLSPEC long _STLP_STDCALL InterlockedDecrement(long volatile *); ++_STLP_IMPORT_DECLSPEC long _STLP_STDCALL InterlockedExchange(long volatile *, long); ++#else ++ // boris : for the latest SDK, you may actually need the other version of the declaration (above) ++ // even for earlier VC++ versions. There is no way to tell SDK versions apart, sorry ... ++_STLP_IMPORT_DECLSPEC long _STLP_STDCALL InterlockedIncrement(long*); ++_STLP_IMPORT_DECLSPEC long _STLP_STDCALL InterlockedDecrement(long*); ++_STLP_IMPORT_DECLSPEC long _STLP_STDCALL InterlockedExchange(long*, long); ++#endif ++ ++_STLP_IMPORT_DECLSPEC void _STLP_STDCALL Sleep(unsigned long); ++_STLP_IMPORT_DECLSPEC void _STLP_STDCALL OutputDebugStringA( const char* lpOutputString ); ++ ++# if defined (InterlockedIncrement) ++# pragma intrinsic(_InterlockedIncrement) ++# pragma intrinsic(_InterlockedDecrement) ++# pragma intrinsic(_InterlockedExchange) ++# endif + } /* extern "C" */ + +-# endif /* STL_MSVC */ ++# endif /* STL_MSVC */ ++ ++# define _STLP_WINDOWS_H_INCLUDED + +-# undef min +-# undef max +-# define __STLPORT_WINDOWS_H_INCLUDED +-# endif /* _WINDOWS_ */ ++# endif /* _STLP_WIN32 */ + +-#elif defined (__STL_UITHREADS) ++# ifndef _STLP_ATOMIC_INCREMENT ++# define _STLP_ATOMIC_INCREMENT(__x) InterlockedIncrement((long*)__x) ++# define _STLP_ATOMIC_DECREMENT(__x) InterlockedDecrement((long*)__x) ++# define _STLP_ATOMIC_EXCHANGE(__x, __y) InterlockedExchange((long*)__x, (long)__y) ++# endif ++# elif defined(__DECC) || defined(__DECCXX) ++# include ++# define _STLP_ATOMIC_EXCHANGE __ATOMIC_EXCH_LONG ++# define _STLP_ATOMIC_INCREMENT(__x) __ATOMIC_ADD_LONG(__x, 1) ++# define _STLP_ATOMIC_DECREMENT(__x) __ATOMIC_ADD_LONG(__x, -1) ++# elif defined(_STLP_SPARC_SOLARIS_THREADS) ++# include ++# elif defined (_STLP_UITHREADS) + // this inclusion is potential hazard to bring up all sorts + // of old-style headers. Let's assume vendor already know how + // to deal with that. +-#include +-#include +-#include +-#include +-#endif +- +-# ifndef __STL_MUTEX_INITIALIZER +-# define __STL_MUTEX_INITIALIZER ++# include ++# if defined (_STLP_USE_NAMESPACES) && ! defined (_STLP_VENDOR_GLOBAL_CSTD) ++using _STLP_VENDOR_CSTD::time_t; + # endif ++# include ++# include ++# include ++# elif defined (_STLP_BETHREADS) ++# include ++#include ++#include ++# define _STLP_MUTEX_INITIALIZER = { 0 } ++#elif defined(_STLP_OS2THREADS) ++ // This section serves to replace os2.h for VisualAge C++ ++ typedef unsigned long ULONG; ++ #ifndef __HEV__ /* INCL_SEMAPHORE may also define HEV */ ++ #define __HEV__ ++ typedef ULONG HEV; ++ typedef HEV* PHEV; ++ #endif ++ typedef ULONG APIRET; ++ typedef ULONG HMTX; ++ typedef HMTX* PHMTX; ++ typedef const char* PCSZ; ++ typedef ULONG BOOL32; ++ APIRET _System DosCreateMutexSem(PCSZ pszName, PHEV phev, ULONG ++flAttr, BOOL32 fState); ++ APIRET _System DosRequestMutexSem(HMTX hmtx, ULONG ulTimeout); ++ APIRET _System DosReleaseMutexSem(HMTX hmtx); ++ APIRET _System DosCloseMutexSem(HMTX hmtx); ++# define _STLP_MUTEX_INITIALIZER = { 0 }; + +-__STL_BEGIN_NAMESPACE ++# endif + ++# ifndef _STLP_MUTEX_INITIALIZER ++# if defined(_STLP_ATOMIC_EXCHANGE) ++# define _STLP_MUTEX_INITIALIZER = { 0 } ++# elif defined(_STLP_UITHREADS) ++# define _STLP_MUTEX_INITIALIZER = { DEFAULTMUTEX } ++# else ++# define _STLP_MUTEX_INITIALIZER ++# endif ++# endif + +-// Class _Refcount_Base provides a type, _RC_t, a data member, +-// _M_ref_count, and member functions _M_incr and _M_decr, which perform +-// atomic preincrement/predecrement. The constructor initializes +-// _M_ref_count. ++_STLP_BEGIN_NAMESPACE ++// Helper struct. This is a workaround for various compilers that don't ++// handle static variables in inline functions properly. ++template ++struct _STLP_mutex_spin { ++ enum { __low_max = 30, __high_max = 1000 }; ++ // Low if we suspect uniprocessor, high for multiprocessor. ++ static unsigned __max; ++ static unsigned __last; ++ static void _STLP_CALL _M_do_lock(volatile __stl_atomic_t* __lock); ++ static void _STLP_CALL _S_nsec_sleep(int __log_nsec); ++}; + +-// Hack for SGI o32 compilers. +-#if defined(__STL_SGI_THREADS) && !defined(__add_and_fetch) && \ +- (__mips < 3 || !(defined (_ABIN32) || defined(_ABI64))) +-# define __add_and_fetch(__l,__v) add_then_test((unsigned long*)__l,__v) +-# define __test_and_set(__l,__v) test_and_set(__l,__v) +-#endif /* o32 */ + + // Locking class. Note that this class *does not have a constructor*. +-// It must be initialized either statically, with __STL_MUTEX_INITIALIZER, ++// It must be initialized either statically, with _STLP_MUTEX_INITIALIZER, + // or dynamically, by explicitly calling the _M_initialize member function. + // (This is similar to the ways that a pthreads mutex can be initialized.) + // There are explicit member functions for acquiring and releasing the lock. +@@ -151,75 +226,65 @@ + // constructors, no base classes, no virtual functions, and no private or + // protected members. + +-// For non-static cases, clients should use _STL_mutex. +- ++// For non-static cases, clients should use _STLP_mutex. + +-// Helper struct. This is a workaround for various compilers that don't +-// handle static variables in inline functions properly. +-template +-struct _STL_mutex_spin { +- enum { __low_max = 30, __high_max = 1000 }; +- // Low if we suspect uniprocessor, high for multiprocessor. +- static unsigned __max; +- static unsigned __last; +-#if defined(__STL_SGI_THREADS) || defined(__STL_WIN32THREADS) +- static void __STL_CALL _M_do_lock(volatile unsigned long* __lock); +- static void __STL_CALL _S_nsec_sleep(int __log_nsec); +-# endif +-}; +- +- +- +-struct __STL_CLASS_DECLSPEC _STL_mutex_base ++struct _STLP_CLASS_DECLSPEC _STLP_mutex_base + { +- +-#if (defined(__sgi)) || defined(__STL_WIN32) ++#if defined(_STLP_ATOMIC_EXCHANGE) || defined(_STLP_SGI_THREADS) + // It should be relatively easy to get this to work on any modern Unix. +- volatile unsigned long _M_lock; ++ volatile __stl_atomic_t _M_lock; + #endif + +-#if defined(__STL_SGI_THREADS) || defined(__STL_WIN32THREADS) ++#ifdef _STLP_THREADS + ++#if defined (_STLP_ATOMIC_EXCHANGE) + inline void _M_initialize() { _M_lock=0; } + inline void _M_destroy() {} + + void _M_acquire_lock() { +- volatile unsigned long* __lock = &this->_M_lock; +- _STL_mutex_spin<0>::_M_do_lock(__lock); ++ _STLP_mutex_spin<0>::_M_do_lock(&_M_lock); + } + + inline void _M_release_lock() { +- volatile unsigned long* __lock = &_M_lock; +-# if defined(__STL_SGI_THREADS) && defined(__GNUC__) && __mips >= 3 ++ volatile __stl_atomic_t* __lock = &_M_lock; ++# if defined(_STLP_SGI_THREADS) && defined(__GNUC__) && __mips >= 3 + asm("sync"); + *__lock = 0; +-# elif defined(__STL_SGI_THREADS) && __mips >= 3 \ ++# elif defined(_STLP_SGI_THREADS) && __mips >= 3 \ + && (defined (_ABIN32) || defined(_ABI64)) + __lock_release(__lock); +-# else ++# elif defined (_STLP_SPARC_SOLARIS_THREADS) ++# if defined (__WORD64) || defined (__arch64__) \ ++ || defined (__sparcv9) || defined (__sparcv8plus) ++ asm("membar #StoreStore ; membar #LoadStore"); ++# else ++ asm(" stbar "); ++# endif ++ *__lock = 0; ++# else + *__lock = 0; + // This is not sufficient on many multiprocessors, since + // writes to protected variables and the lock may be reordered. + # endif + } +- +-#elif defined(__STL_PTHREADS) ++#elif defined(_STLP_PTHREADS) + pthread_mutex_t _M_lock; + inline void _M_initialize() { +- pthread_mutex_init(&_M_lock,__STL_PTHREAD_ATTR_DEFAULT); ++ pthread_mutex_init(&_M_lock,_STLP_PTHREAD_ATTR_DEFAULT); + } + inline void _M_destroy() { + pthread_mutex_destroy(&_M_lock); + } + inline void _M_acquire_lock() { +-#ifdef __hpux ++ ++#if defined ( __hpux ) && ! defined (PTHREAD_MUTEX_INITIALIZER) + if (!_M_lock.field1) _M_initialize(); + #endif + pthread_mutex_lock(&_M_lock); + } + inline void _M_release_lock() { pthread_mutex_unlock(&_M_lock); } + +-#elif defined (__STL_UITHREADS) ++#elif defined (_STLP_UITHREADS) + mutex_t _M_lock; + inline void _M_initialize() { + mutex_init(&_M_lock,0,NULL); +@@ -230,6 +295,37 @@ + inline void _M_acquire_lock() { mutex_lock(&_M_lock); } + inline void _M_release_lock() { mutex_unlock(&_M_lock); } + ++#elif defined(_STLP_OS2THREADS) ++ HMTX _M_lock; ++ inline void _M_initialize() { DosCreateMutexSem(NULL, &_M_lock, 0, ++false); } ++ inline void _M_destroy() { DosCloseMutexSem(_M_lock); } ++ inline void _M_acquire_lock() { ++ if(!_M_lock) _M_initialize(); ++ DosRequestMutexSem(_M_lock, -1); ++ } ++ inline void _M_release_lock() { DosReleaseMutexSem(_M_lock); } ++#elif defined(_STLP_BETHREADS) ++ sem_id sem; ++ inline void _M_initialize() ++ { ++ sem = create_sem(1, "STLPort"); ++ assert(sem > 0); ++ } ++ inline void _M_destroy() ++ { ++ int t = delete_sem(sem); ++ assert(t == B_NO_ERROR); ++ } ++ inline void _M_acquire_lock(); ++ inline void _M_release_lock() ++ { ++ status_t t = release_sem(sem); ++ assert(t == B_NO_ERROR); ++ } ++#else //*ty 11/24/2001 - added configuration check ++#error "Unknown thread facility configuration" ++#endif + #else /* No threads */ + inline void _M_initialize() {} + inline void _M_destroy() {} +@@ -240,17 +336,17 @@ + + // This class could be just a smart pointer, but we do want to keep + // WIN32 optimized at a maximum +-#if (defined(__sgi)) || defined(__STL_WIN32) +-struct __STL_CLASS_DECLSPEC _STL_mutex_indirect : _STL_mutex_base {}; ++#if defined(_STLP_ATOMIC_EXCHANGE) || defined(_STLP_BETHREADS) ++struct _STLP_CLASS_DECLSPEC _STLP_mutex_indirect : _STLP_mutex_base {}; + #else +-struct __STL_CLASS_DECLSPEC _STL_mutex_indirect ++struct _STLP_CLASS_DECLSPEC _STLP_mutex_indirect + { + void* _M_lock; + +-# if defined(__STL_PTHREADS) ++# if defined(_STLP_PTHREADS) + inline void _M_initialize() { +- _M_lock = (void*)calloc(1,sizeof(pthread_mutex_t)); +- pthread_mutex_init((pthread_mutex_t*)_M_lock,__STL_PTHREAD_ATTR_DEFAULT); ++ _M_lock = (void*)_STLP_VENDOR_CSTD::calloc(1,sizeof(pthread_mutex_t)); ++ pthread_mutex_init((pthread_mutex_t*)_M_lock,_STLP_PTHREAD_ATTR_DEFAULT); + } + inline void _M_destroy() { + pthread_mutex_destroy((pthread_mutex_t*)_M_lock); +@@ -261,7 +357,7 @@ + } + inline void _M_release_lock() { pthread_mutex_unlock((pthread_mutex_t*)_M_lock); } + +-# elif defined (__STL_UITHREADS) ++# elif defined (_STLP_UITHREADS) + inline void _M_initialize() { + _M_lock = (void*)calloc(1,sizeof(mutex_t)); + mutex_init((mutex_t*)_M_lock,0,NULL); +@@ -273,6 +369,20 @@ + inline void _M_acquire_lock() { mutex_lock((mutex_t*)_M_lock); } + inline void _M_release_lock() { mutex_unlock((mutex_t*)_M_lock); } + ++#elif defined(_STLP_OS2THREADS) ++ inline void _M_initialize() { ++ _M_lock = (void*)calloc(1,sizeof(HMTX)); ++ DosCreateMutexSem(NULL, (HMTX*)_M_lock, 0, false); ++ } ++ inline void _M_destroy() { ++ DosCloseMutexSem(*(HMTX*)_M_lock); ++ free((char*)_M_lock); ++ } ++ inline void _M_acquire_lock() { ++ if(!_M_lock) _M_initialize(); ++ DosRequestMutexSem(*(HMTX*)_M_lock, -1); ++ } ++ inline void _M_release_lock() { DosReleaseMutexSem(*(HMTX*)_M_lock); } + # else /* No threads */ + inline void _M_initialize() {} + inline void _M_destroy() {} +@@ -285,61 +395,52 @@ + // Locking class. The constructor initializes the lock, the destructor destroys it. + // Well - behaving class, does not need static initializer + +-struct __STL_CLASS_DECLSPEC _STL_mutex : public _STL_mutex_indirect { +- inline _STL_mutex () { ++struct _STLP_CLASS_DECLSPEC _STLP_mutex : public _STLP_mutex_indirect { ++ inline _STLP_mutex () { + _M_initialize(); + } +- +- inline ~_STL_mutex () { ++ inline ~_STLP_mutex () { + _M_destroy(); + } + private: +- _STL_mutex(const _STL_mutex&); +- void operator=(const _STL_mutex&); ++ _STLP_mutex(const _STLP_mutex&); ++ void operator=(const _STLP_mutex&); + }; + +- +-struct __STL_CLASS_DECLSPEC _Refcount_Base ++// Class _Refcount_Base provides a type, __stl_atomic_t, a data member, ++// _M_ref_count, and member functions _M_incr and _M_decr, which perform ++// atomic preincrement/predecrement. The constructor initializes ++// _M_ref_count. ++struct _STLP_CLASS_DECLSPEC _Refcount_Base + { +- // The type _RC_t +-# ifdef __STL_WIN32 +- typedef long _RC_t; +-# else +- typedef size_t _RC_t; +-#endif +- + // The data member _M_ref_count +- volatile _RC_t _M_ref_count; ++ volatile __stl_atomic_t _M_ref_count; + +-# if !defined (__STL_WIN32) && !defined (__sgi) +- _STL_mutex _M_mutex; ++# if !defined (_STLP_ATOMIC_EXCHANGE) ++ _STLP_mutex _M_mutex; + # endif + + // Constructor +- _Refcount_Base(_RC_t __n) : _M_ref_count(__n) {} ++ _Refcount_Base(__stl_atomic_t __n) : _M_ref_count(__n) {} + + // _M_incr and _M_decr +-# ifdef __STL_SGI_THREADS +- void _M_incr() { __add_and_fetch(&_M_ref_count, 1); } +- _RC_t _M_decr() { return __add_and_fetch(&_M_ref_count, (size_t) -1); } +-# elif defined (__STL_WIN32THREADS) +- void _M_incr() { InterlockedIncrement((_RC_t*)&_M_ref_count); } +- _RC_t _M_decr() { return InterlockedDecrement((_RC_t*)&_M_ref_count); } +-# elif defined(__STL_PTHREADS) || defined (__STL_UITHREADS) ++# if defined (_STLP_THREADS) && defined ( _STLP_ATOMIC_EXCHANGE ) ++ void _M_incr() { _STLP_ATOMIC_INCREMENT((__stl_atomic_t*)&_M_ref_count); } ++ void _M_decr() { _STLP_ATOMIC_DECREMENT((__stl_atomic_t*)&_M_ref_count); } ++# elif defined(_STLP_THREADS) + void _M_incr() { + _M_mutex._M_acquire_lock(); + ++_M_ref_count; + _M_mutex._M_release_lock(); + } +- _RC_t _M_decr() { ++ void _M_decr() { + _M_mutex._M_acquire_lock(); +- volatile _RC_t __tmp = --_M_ref_count; ++ --_M_ref_count; + _M_mutex._M_release_lock(); +- return __tmp; + } + # else /* No threads */ + void _M_incr() { ++_M_ref_count; } +- _RC_t _M_decr() { return --_M_ref_count; } ++ void _M_decr() { --_M_ref_count; } + # endif + }; + +@@ -347,71 +448,130 @@ + // This is guaranteed to behave as though it were atomic only if all + // possibly concurrent updates use _Atomic_swap. + // In some cases the operation is emulated with a lock. +-# ifdef __STL_SGI_THREADS +-inline unsigned long _Atomic_swap(unsigned long * __p, unsigned long __q) { +-# if __mips < 3 || !(defined (_ABIN32) || defined(_ABI64)) +- return test_and_set(__p, __q); +-# else +- return __test_and_set(__p, (unsigned long)__q); +-# endif ++# if defined (_STLP_THREADS) && defined ( _STLP_ATOMIC_EXCHANGE ) ++inline __stl_atomic_t _Atomic_swap(volatile __stl_atomic_t * __p, __stl_atomic_t __q) { ++ return (__stl_atomic_t) _STLP_ATOMIC_EXCHANGE(__p,__q); + } +-# elif defined(__STL_WIN32THREADS) +-inline unsigned long _Atomic_swap(unsigned long * __p, unsigned long __q) { +- return (unsigned long) InterlockedExchange((long*)__p, (long)__q); +-} +-# elif defined(__STL_PTHREADS) || defined (__STL_UITHREADS) ++# elif defined(_STLP_PTHREADS) || defined (_STLP_UITHREADS) || defined (_STLP_OS2THREADS) + // We use a template here only to get a unique initialized instance. + template + struct _Swap_lock_struct { +- static _STL_STATIC_MUTEX _S_swap_lock; ++ static _STLP_STATIC_MUTEX _S_swap_lock; + }; + + + // This should be portable, but performance is expected + // to be quite awful. This really needs platform specific + // code. +-inline unsigned long _Atomic_swap(unsigned long * __p, unsigned long __q) { ++inline __stl_atomic_t _Atomic_swap(volatile __stl_atomic_t * __p, __stl_atomic_t __q) { + _Swap_lock_struct<0>::_S_swap_lock._M_acquire_lock(); +- unsigned long __result = *__p; ++ __stl_atomic_t __result = *__p; + *__p = __q; + _Swap_lock_struct<0>::_S_swap_lock._M_release_lock(); + return __result; + } + # else +-static inline unsigned long __STL_CALL +-_Atomic_swap(unsigned long * __p, unsigned long __q) { +- unsigned long __result = *__p; ++/* no threads */ ++static inline __stl_atomic_t _STLP_CALL ++_Atomic_swap(volatile __stl_atomic_t * __p, __stl_atomic_t __q) { ++ __stl_atomic_t __result = *__p; + *__p = __q; + return __result; + } + # endif + +-// A locking class that uses _STL_STATIC_MUTEX. The constructor takes +-// a reference to an _STL_STATIC_MUTEX, and acquires a lock. The destructor ++// A locking class that uses _STLP_STATIC_MUTEX. The constructor takes ++// a reference to an _STLP_STATIC_MUTEX, and acquires a lock. The destructor + // releases the lock. + // It's not clear that this is exactly the right functionality. + // It will probably change in the future. + +-struct __STL_CLASS_DECLSPEC _STL_auto_lock ++struct _STLP_CLASS_DECLSPEC _STLP_auto_lock + { +- _STL_STATIC_MUTEX& _M_lock; ++ _STLP_STATIC_MUTEX& _M_lock; + +- _STL_auto_lock(_STL_STATIC_MUTEX& __lock) : _M_lock(__lock) ++ _STLP_auto_lock(_STLP_STATIC_MUTEX& __lock) : _M_lock(__lock) + { _M_lock._M_acquire_lock(); } +- ~_STL_auto_lock() { _M_lock._M_release_lock(); } ++ ~_STLP_auto_lock() { _M_lock._M_release_lock(); } + + private: +- void operator=(const _STL_auto_lock&); +- _STL_auto_lock(const _STL_auto_lock&); ++ void operator=(const _STLP_auto_lock&); ++ _STLP_auto_lock(const _STLP_auto_lock&); ++}; ++ ++struct _STLP_CLASS_DECLSPEC _STLP_mutex_lock ++{ ++ _STLP_mutex_indirect& _M_lock; ++ ++ _STLP_mutex_lock(_STLP_mutex_indirect& __lock) : _M_lock(__lock) ++ { _M_lock._M_acquire_lock(); } ++ ~_STLP_mutex_lock() { _M_lock._M_release_lock(); } ++ ++private: ++ void operator=(const _STLP_mutex_lock&); ++ _STLP_mutex_lock(const _STLP_mutex_lock&); ++}; ++ ++#ifdef _STLP_BETHREADS ++ ++template ++struct _STLP_beos_static_lock_data ++{ ++ static bool is_init; ++ struct mutex_t : public _STLP_mutex ++ { ++ mutex_t() ++ { ++ _STLP_beos_static_lock_data<0>::is_init = true; ++ } ++ ~mutex_t() ++ { ++ _STLP_beos_static_lock_data<0>::is_init = false; ++ } ++ }; ++ static mutex_t mut; + }; + +-__STL_END_NAMESPACE ++template ++bool _STLP_beos_static_lock_data<__inst>::is_init = false; ++template ++typename _STLP_beos_static_lock_data<__inst>::mutex_t _STLP_beos_static_lock_data<__inst>::mut; ++ ++ ++inline void _STLP_mutex_base::_M_acquire_lock() ++{ ++ if(sem == 0) ++ { ++ // we need to initialise on demand here ++ // to prevent race conditions use our global ++ // mutex if it's available: ++ if(_STLP_beos_static_lock_data<0>::is_init) ++ { ++ _STLP_auto_lock al(_STLP_beos_static_lock_data<0>::mut); ++ if(sem == 0) _M_initialize(); ++ } ++ else ++ { ++ // no lock available, we must still be ++ // in startup code, THERE MUST BE ONE THREAD ++ // ONLY active at this point. ++ _M_initialize(); ++ } ++ } ++ status_t t; ++ t = acquire_sem(sem); ++ assert(t == B_NO_ERROR); ++} ++ ++#endif ++ ++_STLP_END_NAMESPACE + +-# if !defined (__STL_LINK_TIME_INSTANTIATION) ++# if !defined (_STLP_LINK_TIME_INSTANTIATION) + # include + # endif + +-#endif /* __SGI_STL_INTERNAL_THREADS_H */ ++#endif /* _STLP_INTERNAL_THREADS_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_time_facets.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_time_facets.c +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_time_facets.c Sat Feb 24 10:45:13 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_time_facets.c Sun Aug 11 18:59:25 2002 +@@ -15,13 +15,28 @@ + * modified is included with the above copyright notice. + * + */ +-#ifndef __STL_TIME_FACETS_C +-#define __STL_TIME_FACETS_C ++#ifndef _STLP_TIME_FACETS_C ++#define _STLP_TIME_FACETS_C + +-__STL_BEGIN_NAMESPACE ++#ifndef _STLP_INTERNAL_TIME_FACETS_H ++# include ++#endif ++ ++#if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) ++ ++#ifndef _STLP_INTERNAL_NUM_PUT_H ++# include ++#endif ++ ++#ifndef _STLP_INTERNAL_NUM_GET_H ++# include ++#endif ++ ++_STLP_BEGIN_NAMESPACE + + //---------------------------------------------------------------------- + // Declarations of static template members. ++# if ( _STLP_STATIC_TEMPLATE_DATA > 0 ) + + template + locale::id time_get<_CharT, _InputIterator>::id; +@@ -29,26 +44,44 @@ + template + locale::id time_put<_CharT, _OutputIterator>::id; + +-# ifdef __STL_USE_TEMPLATE_EXPORT ++# else /* ( _STLP_STATIC_TEMPLATE_DATA > 0 ) */ + +-__STL_EXPORT_TEMPLATE_CLASS time_get > >; +-__STL_EXPORT_TEMPLATE_CLASS time_get; +-__STL_EXPORT_TEMPLATE_CLASS time_put > >; +-__STL_EXPORT_TEMPLATE_CLASS time_put; +- +-# ifndef __STL_NO_WCHAR_T +-__STL_EXPORT_TEMPLATE_CLASS time_get > >; +-__STL_EXPORT_TEMPLATE_CLASS time_get; +-__STL_EXPORT_TEMPLATE_CLASS time_put > >; +-__STL_EXPORT_TEMPLATE_CLASS time_put; +-# endif /* INSTANTIATE_WIDE_STREAMS */ ++typedef time_get time_get_char; ++typedef time_get time_get_char_2; ++typedef time_get > > time_get_char_3; ++typedef time_put time_put_char; ++typedef time_put time_put_char_2; ++typedef time_put > > time_put_char_3; ++ ++__DECLARE_INSTANCE(locale::id, time_get_char::id, ); ++__DECLARE_INSTANCE(locale::id, time_get_char_2::id, ); ++__DECLARE_INSTANCE(locale::id, time_get_char_3::id, ); ++__DECLARE_INSTANCE(locale::id, time_put_char::id, ); ++__DECLARE_INSTANCE(locale::id, time_put_char_2::id, ); ++__DECLARE_INSTANCE(locale::id, time_put_char_3::id, ); ++ ++# ifndef _STLP_NO_WCHAR_T ++ ++typedef time_get time_get_wchar_t; ++typedef time_get time_get_wchar_t_2; ++typedef time_get > > time_get_wchar_t_3; ++typedef time_put time_put_wchar_t; ++typedef time_put time_put_wchar_t_2; ++typedef time_put > > time_put_wchar_t_3; ++ ++__DECLARE_INSTANCE(locale::id, time_get_wchar_t::id, ); ++__DECLARE_INSTANCE(locale::id, time_get_wchar_t_2::id, ); ++__DECLARE_INSTANCE(locale::id, time_get_wchar_t_3::id, ); ++__DECLARE_INSTANCE(locale::id, time_put_wchar_t::id, ); ++__DECLARE_INSTANCE(locale::id, time_put_wchar_t_2::id, ); ++__DECLARE_INSTANCE(locale::id, time_put_wchar_t_3::id, ); + + # endif + +-# if (defined (__STL_DESIGNATED_DLL) || ! defined (__STL_NO_CUSTOM_IO)) // && ! defined( __STL_IN_LOCALE_CPP) ++# endif /* ( _STLP_STATIC_TEMPLATE_DATA > 0 ) */ + + template +-_RAIt __STL_CALL ++_RAIt _STLP_CALL + __match(_InIt& __first, _InIt& __last, _RAIt __name, _RAIt __name_end, _DiffType*) { + typedef _DiffType difference_type; + difference_type __n = __name_end - __name; +@@ -60,7 +93,7 @@ + _RAIt __matching_name[_MAX_NAME_LENGTH]; + + for (__i = 0; __i < __n; ++__i) +- __max_pos = max(__max_pos, __name[__i].size()); ++ __max_pos = (max)(__max_pos, __name[__i].size()); + + for (__i = 0; __i < _MAXNAMES; ++__i) + __do_check[__i] = true; +@@ -98,9 +131,9 @@ + } + + template +-_RAIt __STL_CALL ++_RAIt _STLP_CALL + __match(_InIt& __first, _InIt& __last, _RAIt __name, _RAIt __name_end) { +- return __match((_InIt&)__first, (_InIt&)__last, __name, __name_end, __DISTANCE_TYPE(__name)); ++ return __match((_InIt&)__first, (_InIt&)__last, __name, __name_end, _STLP_DISTANCE_TYPE(__name, _InIt)); + } + + // __get_formatted_time reads input that is assumed to be formatted +@@ -126,8 +159,8 @@ + // the correct overloading for the calls to __get_integer_nogroup. + + template +-_InIt2 __STL_CALL +-__get_formatted_time __STL_WEAK (_InIt1 __first, _InIt1 __last, ++_InIt2 _STLP_CALL ++__get_formatted_time _STLP_WEAK (_InIt1 __first, _InIt1 __last, + _InIt2 __format, _InIt2 __format_end, + /* _Ch, */ const _Time_Info& __table, + ios_base::iostate& __err, +@@ -140,46 +173,46 @@ + case 'a': { + const string* __pr = + __match(__first, __last, +- __table._M_dayname + 0 , __table._M_dayname + 7); +- if (__pr == __table._M_dayname + 7) ++ (string*)__table._M_dayname + 0 , (string*)__table._M_dayname + 7); ++ if (__pr == (string*)__table._M_dayname + 7) + return __format; +- __t->tm_wday = __pr - __table._M_dayname; ++ __t->tm_wday = (int)(__pr - (string*)__table._M_dayname); + break; + } + + case 'A': { + const string* __pr = + __match(__first, __last, +- __table._M_dayname + 7, __table._M_dayname + 14); +- if (__pr == __table._M_dayname + 14) ++ (string*)__table._M_dayname + 7, (string*)__table._M_dayname + 14); ++ if (__pr == (string*)__table._M_dayname + 14) + return __format; +- __t->tm_wday = __pr - __table._M_dayname - 7; ++ __t->tm_wday = (int)(__pr - (string*)__table._M_dayname - 7); + break; + } + + case 'b': { + const string* __pr = + __match(__first, __last, +- __table._M_monthname + 0, __table._M_monthname + 12); +- if (__pr == __table._M_monthname + 12) ++ (string*)__table._M_monthname + 0, (string*)__table._M_monthname + 12); ++ if (__pr == (string*)__table._M_monthname + 12) + return __format; +- __t->tm_mon = __pr - __table._M_monthname; ++ __t->tm_mon = (int)(__pr - (string*)__table._M_monthname); + break; + } + + case 'B': { + const string* __pr = + __match(__first, __last, +- __table._M_monthname + 12, __table._M_monthname + 24); +- if (__pr == __table._M_monthname + 24) ++ (string*)__table._M_monthname + 12, (string*)__table._M_monthname + 24); ++ if (__pr == (string*)__table._M_monthname + 24) + return __format; +- __t->tm_mon = __pr - __table._M_monthname - 12; ++ __t->tm_mon = (int)(__pr - (string*)__table._M_monthname - 12); + break; + } + + case 'd': { + bool __pr = +- __get_integer_nogroup(__first, __last, 10, __t->tm_mday, 0, false); ++ __get_decimal_integer(__first, __last, __t->tm_mday); + if (!__pr || __t->tm_mday < 1 || __t->tm_mday > 31) { + __err |= ios_base::failbit; + return __format; +@@ -189,7 +222,7 @@ + + case 'H': case 'I': { + bool __pr = +- __get_integer_nogroup(__first, __last, 10, __t->tm_hour, 0, false); ++ __get_decimal_integer(__first, __last, __t->tm_hour); + if (!__pr) + return __format; + break; +@@ -197,7 +230,7 @@ + + case 'j': { + bool __pr = +- __get_integer_nogroup(__first, __last, 10, __t->tm_yday, 0, false); ++ __get_decimal_integer(__first, __last, __t->tm_yday); + if (!__pr) + return __format; + break; +@@ -205,7 +238,7 @@ + + case 'm': { + bool __pr = +- __get_integer_nogroup(__first, __last, 10, __t->tm_mon, 0, false); ++ __get_decimal_integer(__first, __last, __t->tm_mon); + --__t->tm_mon; + if (!__pr || __t->tm_mon < 0 || __t->tm_mon > 11) { + __err |= ios_base::failbit; +@@ -216,7 +249,7 @@ + + case 'M': { + bool __pr = +- __get_integer_nogroup(__first, __last, 10, __t->tm_min, 0, false); ++ __get_decimal_integer(__first, __last, __t->tm_min); + if (!__pr) + return __format; + break; +@@ -224,17 +257,17 @@ + + case 'p': { + const string* __pr = +- __match(__first, __last, __table._M_am_pm + 0, __table._M_am_pm + 2); +- if (__pr == __table._M_am_pm + 2) ++ __match(__first, __last, (string*)__table._M_am_pm + 0, (string*)__table._M_am_pm + 2); ++ if (__pr == (string*)__table._M_am_pm + 2) + return __format; +- if (__pr == __table._M_am_pm + 1) ++ if (__pr == (string*)__table._M_am_pm + 1) + __t->tm_hour += 12; + break; + } + + case 'S': { + bool __pr = +- __get_integer_nogroup(__first, __last, 10, __t->tm_sec, 0, false); ++ __get_decimal_integer(__first, __last, __t->tm_sec); + if (!__pr) + return __format; + break; +@@ -242,7 +275,7 @@ + + case 'y': { + bool __pr = +- __get_integer_nogroup(__first, __last, 10, __t->tm_year, 0, false); ++ __get_decimal_integer(__first, __last, __t->tm_year); + if (!__pr) + return __format; + break; +@@ -250,7 +283,7 @@ + + case 'Y': { + bool __pr = +- __get_integer_nogroup(__first, __last, 10, __t->tm_year, 0, false); ++ __get_decimal_integer(__first, __last, __t->tm_year); + __t->tm_year -= 1900; + if (!__pr) + return __format; +@@ -273,37 +306,36 @@ + } + + template +-bool __STL_CALL ++bool _STLP_CALL + __get_short_or_long_dayname(_InIt& __first, _InIt& __last, + const _Time_Info& __table, tm* __t) { + const string* __pr = + __match(__first, __last, __table._M_dayname + 0, __table._M_dayname + 14); +- __t->tm_wday = (__pr - __table._M_dayname) % 7; ++ __t->tm_wday = (int)(__pr - __table._M_dayname) % 7; + return __pr != __table._M_dayname + 14; + } + + template +-bool __STL_CALL ++bool _STLP_CALL + __get_short_or_long_monthname(_InIt& __first, _InIt& __last, + const _Time_Info& __table, tm* __t) { + const string* __pr = +- __match(__first, __last, __table._M_monthname + 0, __table._M_monthname + 24); +- __t->tm_mon = (__pr - __table._M_monthname) % 12; ++ __match(__first, __last, (string*)__table._M_monthname + 0, (string*)__table._M_monthname + 24); ++ __t->tm_mon = (int)(__pr - __table._M_monthname) % 12; + return __pr != __table._M_monthname + 24; + } + +-# ifndef __STL_NO_WCHAR_T ++# ifndef _STLP_NO_WCHAR_T + template +-_OuIt __STL_CALL ++_OuIt _STLP_CALL + __put_time(char * __first, char * __last, _OuIt __out, +- const locale& __loc, wchar_t) { +- const ctype& __ct = use_facet >(__loc); ++ const ios_base& __s, wchar_t) { ++ const ctype& __ct = *(ctype*)__s._M_ctype_facet(); + wchar_t __wbuf[64]; + __ct.widen(__first, __last, __wbuf); + ptrdiff_t __len = __last - __first; + wchar_t * __eend = __wbuf + __len; +- +- return copy(__wbuf, __eend, __out); ++ return copy((wchar_t*)__wbuf, __eend, __out); + } + # endif + +@@ -368,7 +400,7 @@ + return __s; + } + +- bool __pr = __get_integer_nogroup(__s, __end, 10, __t->tm_year, 0, false); ++ bool __pr = __get_decimal_integer(__s, __end, __t->tm_year); + __t->tm_year -= 1900; + __err = __pr ? ios_base::goodbit : ios_base::failbit; + if (__s == __end) +@@ -421,14 +453,20 @@ + const tm* __tmb, + const _Ch* __pat, const _Ch* __pat_end) const + { +- locale __loc = __f.getloc(); +- const ctype<_Ch>& _Ct = use_facet >(__loc); ++ // locale __loc = __f.getloc(); ++ // const ctype<_Ch>& _Ct = use_facet >(__loc); ++ const ctype<_Ch>& _Ct = *(ctype<_Ch>*)__f._M_ctype_facet(); + while (__pat != __pat_end) { + char __c = _Ct.narrow(*__pat, 0); + if (__c == '%') { ++ char __mod = 0; + ++__pat; + __c = _Ct.narrow(*__pat++, 0); +- __s = do_put(__s, __f, __fill, __tmb, __c, 0); ++ if(__c == '#') { // MS extension ++ __mod = __c; ++ __c = _Ct.narrow(*__pat++, 0); ++ } ++ __s = do_put(__s, __f, __fill, __tmb, __c, __mod); + } + else + *__s++ = *__pat++; +@@ -440,17 +478,20 @@ + _OutputIter + time_put<_Ch,_OutputIter>::do_put(_OutputIter __s, ios_base& __f, _Ch /* __fill */ , + const tm* __tmb, +- char __format, char /* __modifier */) const ++ char __format, char __modifier ) const + { + char __buf[64]; +- char * __iend = __write_formatted_time(__buf, __format, ++ char * __iend = __write_formatted_time(__buf, __format, __modifier, + _M_timeinfo, __tmb); +- locale __loc = __f.getloc(); +- return __put_time(__buf, __iend, __s, __loc, _Ch()); ++ // locale __loc = __f.getloc(); ++ return __put_time(__buf, __iend, __s, __f, _Ch()); + } + +-# endif /* CUSTOM_IO */ ++_STLP_END_NAMESPACE + +-__STL_END_NAMESPACE ++# endif /* defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) */ ++#endif /* _STLP_TIME_FACETS_C */ + +-#endif /* __STL_TIME_FACETS_C */ ++// Local Variables: ++// mode:C++ ++// End: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_time_facets.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_time_facets.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_time_facets.h Sat Feb 24 10:45:13 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_time_facets.h Sun Aug 11 18:59:25 2002 +@@ -20,13 +20,17 @@ + // file directly. + + +-#ifndef __SGI_STL_INTERNAL_TIME_FACETS_H +-#define __SGI_STL_INTERNAL_TIME_FACETS_H ++#ifndef _STLP_INTERNAL_TIME_FACETS_H ++#define _STLP_INTERNAL_TIME_FACETS_H + +-__STL_BEGIN_NAMESPACE ++#ifndef _STLP_CTIME ++# include // Needed (for struct tm) by time facets ++#endif + +-_Locale_time* __STL_CALL __acquire_time(const char* __name); +-void __STL_CALL __release_time(_Locale_time* __time); ++#include ++#include ++ ++_STLP_BEGIN_NAMESPACE + + // Template functions used by time_get + +@@ -65,14 +69,14 @@ + // as well as the am/pm designator. The month and weekday tables + // have the all the abbreviated names before all the full names. + // The _Time_Info tables are initialized using the non-template +-// function __init_timeinfo, which has two overloadings: one ++// function _Init_timeinfo, which has two overloadings: one + // with a single reference parameter for the table to be initialized, + // and one with a second _Locale_time * parameter. The first form + // is called by the default constructor and the second by a special + // constructor invoked from the _byname subclass constructor to + // construct the base class. + +-class __STL_CLASS_DECLSPEC _Time_Info { ++class _STLP_CLASS_DECLSPEC _Time_Info { + public: + string _M_dayname[14]; + string _M_monthname[24]; +@@ -80,12 +84,14 @@ + string _M_time_format; + string _M_date_format; + string _M_date_time_format; ++ string _M_long_date_format; ++ string _M_long_date_time_format; + }; + +-void __STL_CALL __init_timeinfo(_Time_Info&); +-void __STL_CALL __init_timeinfo(_Time_Info&, _Locale_time*); ++void _STLP_CALL _Init_timeinfo(_Time_Info&); ++void _STLP_CALL _Init_timeinfo(_Time_Info&, _Locale_time*); + +-class __STL_CLASS_DECLSPEC time_base { ++class _STLP_CLASS_DECLSPEC time_base { + public: + enum dateorder {no_order, dmy, mdy, ymd, ydm}; + }; +@@ -94,22 +100,14 @@ + template ) > + class time_get : public locale::facet, public time_base + { +- friend class _Locale_impl; +-#if defined(__MRC__) || defined(__SC__) //*TY 04/29/2000 - added workaround for mpw +- typedef locale::facet _facet; //*TY 04/29/2000 - they forget to look into nested class for the ctor. +-#endif //*TY 04/29/2000 - ++ friend class _Locale; ++ + public: + typedef _Ch char_type; + typedef _InIt iter_type; + +- explicit time_get(size_t __refs = 0) +-#if !(defined(__MRC__) || defined(__SC__) ) //*TY 04/29/2000 - added workaround for mpw +- : locale::facet(__refs) +-#else //*TY 04/29/2000 - +- : _facet(__refs) //*TY 04/29/2000 - they forget to look into the nested class for the ctor +-#endif //*TY 04/29/2000 - +- { +- __init_timeinfo(_M_timeinfo); ++ explicit time_get(size_t __refs = 0) : _BaseFacet(__refs) { ++ _Init_timeinfo(_M_timeinfo); + } + dateorder date_order() const { return do_date_order(); } + iter_type get_time(iter_type __s, iter_type __end, ios_base& __str, +@@ -128,18 +126,12 @@ + ios_base::iostate& __err, tm* __t) const + { return do_get_year(__s, __end, __str, __err, __t); } + +- __STL_STATIC_MEMBER_DECLSPEC static locale::id id; ++ _STLP_STATIC_MEMBER_DECLSPEC static locale::id id; + + protected: + _Time_Info _M_timeinfo; + +- time_get(_Locale_time *, size_t __refs) +-#if !(defined(__MRC__) || defined(__SC__) ) //*TY 04/29/2000 - added workaround for mpw +- : locale::facet(__refs) +-#else //*TY 04/29/2000 - +- : _facet(__refs) //*TY 04/29/2000 - they forget to look into the nested class for the ctor +-#endif //*TY 04/29/2000 - +- {} ++ time_get(_Locale_time *, size_t __refs) : _BaseFacet(__refs) {} + + ~time_get() {} + +@@ -167,8 +159,10 @@ + tm* __t) const; + }; + +-time_base::dateorder __STL_CALL ++time_base::dateorder _STLP_CALL + __get_date_order(_Locale_time*); ++_Locale_time* _STLP_CALL __acquire_time(const char* __name); ++void _STLP_CALL __release_time(_Locale_time* __time); + + template ) > + class time_get_byname : public time_get<_Ch, _InIt> +@@ -180,7 +174,7 @@ + explicit time_get_byname(const char* __name, size_t __refs = 0) + : time_get<_Ch, _InIt>((_Locale_time*) 0, __refs), + _M_time(__acquire_time(__name)) +- { __init_timeinfo(this->_M_timeinfo, this->_M_time); } ++ { _Init_timeinfo(this->_M_timeinfo, this->_M_time); } + + protected: + ~time_get_byname() { __release_time(_M_time); } +@@ -199,41 +193,32 @@ + // format. As indicated by the foregoing remark, this will never be + // 'x', 'X', or 'c'. + +-char * __STL_CALL +-__write_formatted_time(char * __buf, char __format, ++char * _STLP_CALL ++__write_formatted_time(char * __buf, char __format, char __modifier, + const _Time_Info& __table, const tm* __t); + + template +-inline _OuIt __STL_CALL __put_time(char * __first, char * __last, _OuIt __out, +- const locale& /* __loc */, char) { ++inline _OuIt _STLP_CALL __put_time(char * __first, char * __last, _OuIt __out, ++ const ios_base& /* __loc */, char) { + return copy(__first, __last, __out); + } + +-# ifndef __STL_NO_WCHAR_T ++# ifndef _STLP_NO_WCHAR_T + template +-_OuIt __STL_CALL __put_time(char * __first, char * __last, _OuIt __out, +- const locale& __loc, wchar_t); ++_OuIt _STLP_CALL __put_time(char * __first, char * __last, _OuIt __out, ++ const ios_base& __s, wchar_t); + # endif + + template ) > +-class time_put : public locale::facet ++class time_put : public locale::facet, public time_base + { +- friend class _Locale_impl; +-#if defined(__MRC__) || defined(__SC__) //*TY 04/29/2000 - added workaround for mpw +- typedef locale::facet _facet; //*TY 04/29/2000 - they forget to look into nested class for the ctor. +-#endif //*TY 04/29/2000 - ++ friend class _Locale; + public: + typedef _Ch char_type; + typedef _OutputIter iter_type; + +- explicit time_put(size_t __refs = 0) +-#if !(defined(__MRC__) || defined(__SC__) ) //*TY 04/29/2000 - added workaround for mpw +- : locale::facet(__refs) +-#else //*TY 04/29/2000 - +- : _facet(__refs) //*TY 04/29/2000 - they forget to look into the nested class for the ctor +-#endif //*TY 04/29/2000 - +- { +- __init_timeinfo(_M_timeinfo); ++ explicit time_put(size_t __refs = 0) : _BaseFacet(__refs) { ++ _Init_timeinfo(_M_timeinfo); + } + + _OutputIter put(iter_type __s, ios_base& __f, _Ch __fill, +@@ -245,19 +230,13 @@ + return do_put(__s, __f, __fill, __tmb, __format, __modifier); + } + +- __STL_STATIC_MEMBER_DECLSPEC static locale::id id; ++ _STLP_STATIC_MEMBER_DECLSPEC static locale::id id; + + protected: + _Time_Info _M_timeinfo; + +- time_put(_Locale_time* /*__time*/, size_t __refs) //*TY 03/30/2000 - removed unused parameter id +-#if !(defined(__MRC__) || defined(__SC__) ) //*TY 04/29/2000 - added workaround for mpw +- : locale::facet(__refs) +-#else //*TY 04/29/2000 - +- : _facet(__refs) //*TY 04/29/2000 - they forget to look into the nested class for the ctor +-#endif //*TY 04/29/2000 - +- { +- // __init_timeinfo(_M_timeinfo, __time); ++ time_put(_Locale_time* /*__time*/, size_t __refs) : _BaseFacet(__refs) { ++ // _Init_timeinfo(_M_timeinfo, __time); + } + + ~time_put() {} +@@ -269,7 +248,7 @@ + template ) > + class time_put_byname : public time_put<_Ch, _InIt> + { +- friend class _Locale_impl; ++ friend class _Locale; + public: + typedef time_base::dateorder dateorder; + typedef _InIt iter_type; +@@ -278,7 +257,7 @@ + explicit time_put_byname(const char * __name, size_t __refs = 0) + : time_put<_Ch, _InIt>((_Locale_time*) 0, __refs), + _M_time(__acquire_time(__name)) +- { __init_timeinfo(this->_M_timeinfo, this->_M_time); } ++ { _Init_timeinfo(this->_M_timeinfo, this->_M_time); } + + protected: + ~time_put_byname() { __release_time(_M_time); } +@@ -287,15 +266,50 @@ + _Locale_time* _M_time; + }; + +-__STL_END_NAMESPACE ++# ifdef _STLP_USE_TEMPLATE_EXPORT ++_STLP_EXPORT_TEMPLATE_CLASS time_get > >; ++_STLP_EXPORT_TEMPLATE_CLASS time_put > >; ++// _STLP_EXPORT_TEMPLATE_CLASS time_get; ++// _STLP_EXPORT_TEMPLATE_CLASS time_put; ++# ifndef _STLP_NO_WCHAR_T ++_STLP_EXPORT_TEMPLATE_CLASS time_get > >; ++_STLP_EXPORT_TEMPLATE_CLASS time_put > >; ++// _STLP_EXPORT_TEMPLATE_CLASS time_get; ++// _STLP_EXPORT_TEMPLATE_CLASS time_put; ++# endif /* INSTANTIATE_WIDE_STREAMS */ ++ ++# endif + +-# if !defined (__STL_LINK_TIME_INSTANTIATION) ++# if defined (__BORLANDC__) && defined (_RTLDLL) ++inline void _Stl_loc_init_time_facets() { ++ ++ time_get > >::id._M_index = 16; ++ time_get::id._M_index = 17; ++ time_put > >::id._M_index = 18; ++ time_put::id._M_index = 19; ++ ++# ifndef _STLP_NO_WCHAR_T ++ ++ time_get > >::id._M_index = 35; ++ time_get::id._M_index = 36; ++ time_put > >::id._M_index = 37; ++ time_put::id._M_index = 38; ++ ++# endif ++ ++} ++# endif ++ ++_STLP_END_NAMESPACE ++ ++#if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) && !defined (_STLP_LINK_TIME_INSTANTIATION) + # include + # endif + +-#endif /* __SGI_STL_INTERNAL_TIME_FACETS_H */ ++#endif /* _STLP_INTERNAL_TIME_FACETS_H */ + + // Local Variables: + // mode:C++ + // End: ++ + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_tree.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_tree.c +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_tree.c Sat Feb 24 10:45:14 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_tree.c Sun Aug 11 18:59:25 2002 +@@ -22,30 +22,39 @@ + * provided the above notices are retained, and a notice that the code was + * modified is included with the above copyright notice. + * ++ * Modified CRP 7/10/00 for improved conformance / efficiency on insert_unique / ++ * insert_equal with valid hint -- efficiency is improved all around, and it is ++ * should now be standard conforming for complexity on insert point immediately ++ * after hint (amortized constant time). ++ * + */ +-#ifndef __STL_TREE_C +-#define __STL_TREE_C ++#ifndef _STLP_TREE_C ++#define _STLP_TREE_C ++ ++#ifndef _STLP_INTERNAL_TREE_H ++# include ++#endif + + // fbp: these defines are for outline methods definitions. + // needed for definitions to be portable. Should not be used in method bodies. +-# if defined ( __STL_NESTED_TYPE_PARAM_BUG ) +-# define __iterator__ _Rb_tree_iterator<_Value, _Nonconst_traits<_Value> > +-# define __const_iterator__ _Rb_tree_iterator<_Value, _Const_traits<_Value> > +-# define __size_type__ size_t ++# if defined ( _STLP_NESTED_TYPE_PARAM_BUG ) ++# define __iterator__ _Rb_tree_iterator<_Value, _Nonconst_traits<_Value> > # define __size_type__ size_t ++# define iterator __iterator__ + # else +-# define __iterator__ __STL_TYPENAME_ON_RETURN_TYPE _Rb_tree<_Key, _Value, _KeyOfValue, _Compare, _Alloc>::iterator +-# define __const_iterator__ __STL_TYPENAME_ON_RETURN_TYPE _Rb_tree<_Key, _Value, _KeyOfValue, _Compare, _Alloc>::const_iterator +-# define __size_type__ __STL_TYPENAME_ON_RETURN_TYPE _Rb_tree<_Key, _Value, _KeyOfValue, _Compare, _Alloc>::size_type ++# define __iterator__ _STLP_TYPENAME_ON_RETURN_TYPE _Rb_tree<_Key, _Value, _KeyOfValue, _Compare, _Alloc>::iterator ++# define __size_type__ _STLP_TYPENAME_ON_RETURN_TYPE _Rb_tree<_Key, _Value, _KeyOfValue, _Compare, _Alloc>::size_type + # endif + +-#if defined ( __STL_DEBUG) ++#if defined ( _STLP_DEBUG) + # define _Rb_tree __WORKAROUND_DBG_RENAME(Rb_tree) + #endif + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE ++ ++# if defined (_STLP_EXPOSE_GLOBALS_IMPLEMENTATION) + +-inline void +-_Rb_tree_rotate_left(_Rb_tree_node_base* __x, _Rb_tree_node_base*& __root) ++template void _STLP_CALL ++_Rb_global<_Dummy>::_Rotate_left(_Rb_tree_node_base* __x, _Rb_tree_node_base*& __root) + { + _Rb_tree_node_base* __y = __x->_M_right; + __x->_M_right = __y->_M_left; +@@ -63,8 +72,8 @@ + __x->_M_parent = __y; + } + +-inline void +-_Rb_tree_rotate_right(_Rb_tree_node_base* __x, _Rb_tree_node_base*& __root) ++template void _STLP_CALL ++_Rb_global<_Dummy>::_Rotate_right(_Rb_tree_node_base* __x, _Rb_tree_node_base*& __root) + { + _Rb_tree_node_base* __y = __x->_M_left; + __x->_M_left = __y->_M_right; +@@ -82,8 +91,7 @@ + __x->_M_parent = __y; + } + +-template +-void ++template void _STLP_CALL + _Rb_global<_Dummy>::_Rebalance(_Rb_tree_node_base* __x, + _Rb_tree_node_base*& __root) + { +@@ -100,11 +108,11 @@ + else { + if (__x == __x->_M_parent->_M_right) { + __x = __x->_M_parent; +- _Rb_tree_rotate_left(__x, __root); ++ _Rotate_left(__x, __root); + } + __x->_M_parent->_M_color = _S_rb_tree_black; + __x->_M_parent->_M_parent->_M_color = _S_rb_tree_red; +- _Rb_tree_rotate_right(__x->_M_parent->_M_parent, __root); ++ _Rotate_right(__x->_M_parent->_M_parent, __root); + } + } + else { +@@ -118,19 +126,18 @@ + else { + if (__x == __x->_M_parent->_M_left) { + __x = __x->_M_parent; +- _Rb_tree_rotate_right(__x, __root); ++ _Rotate_right(__x, __root); + } + __x->_M_parent->_M_color = _S_rb_tree_black; + __x->_M_parent->_M_parent->_M_color = _S_rb_tree_red; +- _Rb_tree_rotate_left(__x->_M_parent->_M_parent, __root); ++ _Rotate_left(__x->_M_parent->_M_parent, __root); + } + } + } + __root->_M_color = _S_rb_tree_black; + } + +-template +-_Rb_tree_node_base* ++template _Rb_tree_node_base* _STLP_CALL + _Rb_global<_Dummy>::_Rebalance_for_erase(_Rb_tree_node_base* __z, + _Rb_tree_node_base*& __root, + _Rb_tree_node_base*& __leftmost, +@@ -169,7 +176,7 @@ + else + __z->_M_parent->_M_right = __y; + __y->_M_parent = __z->_M_parent; +- __STLPORT_STD::swap(__y->_M_color, __z->_M_color); ++ _STLP_STD::swap(__y->_M_color, __z->_M_color); + __y = __z; + // __y now points to node to be actually deleted + } +@@ -203,12 +210,11 @@ + if (__w->_M_color == _S_rb_tree_red) { + __w->_M_color = _S_rb_tree_black; + __x_parent->_M_color = _S_rb_tree_red; +- _Rb_tree_rotate_left(__x_parent, __root); ++ _Rotate_left(__x_parent, __root); + __w = __x_parent->_M_right; + } + if ((__w->_M_left == 0 || +- __w->_M_left->_M_color == _S_rb_tree_black) && +- (__w->_M_right == 0 || ++ __w->_M_left->_M_color == _S_rb_tree_black) && (__w->_M_right == 0 || + __w->_M_right->_M_color == _S_rb_tree_black)) { + __w->_M_color = _S_rb_tree_red; + __x = __x_parent; +@@ -218,13 +224,13 @@ + __w->_M_right->_M_color == _S_rb_tree_black) { + if (__w->_M_left) __w->_M_left->_M_color = _S_rb_tree_black; + __w->_M_color = _S_rb_tree_red; +- _Rb_tree_rotate_right(__w, __root); ++ _Rotate_right(__w, __root); + __w = __x_parent->_M_right; + } + __w->_M_color = __x_parent->_M_color; + __x_parent->_M_color = _S_rb_tree_black; + if (__w->_M_right) __w->_M_right->_M_color = _S_rb_tree_black; +- _Rb_tree_rotate_left(__x_parent, __root); ++ _Rotate_left(__x_parent, __root); + break; + } + } else { // same as above, with _M_right <-> _M_left. +@@ -232,12 +238,11 @@ + if (__w->_M_color == _S_rb_tree_red) { + __w->_M_color = _S_rb_tree_black; + __x_parent->_M_color = _S_rb_tree_red; +- _Rb_tree_rotate_right(__x_parent, __root); ++ _Rotate_right(__x_parent, __root); + __w = __x_parent->_M_left; + } + if ((__w->_M_right == 0 || +- __w->_M_right->_M_color == _S_rb_tree_black) && +- (__w->_M_left == 0 || ++ __w->_M_right->_M_color == _S_rb_tree_black) && (__w->_M_left == 0 || + __w->_M_left->_M_color == _S_rb_tree_black)) { + __w->_M_color = _S_rb_tree_red; + __x = __x_parent; +@@ -247,13 +252,13 @@ + __w->_M_left->_M_color == _S_rb_tree_black) { + if (__w->_M_right) __w->_M_right->_M_color = _S_rb_tree_black; + __w->_M_color = _S_rb_tree_red; +- _Rb_tree_rotate_left(__w, __root); ++ _Rotate_left(__w, __root); + __w = __x_parent->_M_left; + } + __w->_M_color = __x_parent->_M_color; + __x_parent->_M_color = _S_rb_tree_black; + if (__w->_M_left) __w->_M_left->_M_color = _S_rb_tree_black; +- _Rb_tree_rotate_right(__x_parent, __root); ++ _Rotate_right(__x_parent, __root); + break; + } + } +@@ -262,13 +267,10 @@ + return __y; + } + +-template +-void +-_Rb_global<_Dummy>::_M_decrement(_Rb_tree_base_iterator* __it) +-{ +- _Base_ptr _M_node = __it->_M_node; +- if (_M_node->_M_color == _S_rb_tree_red && +- _M_node->_M_parent->_M_parent == _M_node) ++template _Rb_tree_node_base* _STLP_CALL ++_Rb_global<_Dummy>::_M_decrement(_Rb_tree_node_base* _M_node) ++{ ++ if (_M_node->_M_color == _S_rb_tree_red && _M_node->_M_parent->_M_parent == _M_node) + _M_node = _M_node->_M_right; + else if (_M_node->_M_left != 0) { + _Base_ptr __y = _M_node->_M_left; +@@ -284,14 +286,12 @@ + } + _M_node = __y; + } +- __it->_M_node = _M_node; ++ return _M_node; + } + +-template +-void +-_Rb_global<_Dummy>::_M_increment(_Rb_tree_base_iterator* __it) ++template _Rb_tree_node_base* _STLP_CALL ++_Rb_global<_Dummy>::_M_increment(_Rb_tree_node_base* _M_node) + { +- _Base_ptr _M_node = __it->_M_node; + if (_M_node->_M_right != 0) { + _M_node = _M_node->_M_right; + while (_M_node->_M_left != 0) +@@ -306,14 +306,14 @@ + if (_M_node->_M_right != __y) + _M_node = __y; + } +- __it->_M_node = _M_node; ++ return _M_node; + } + ++#endif /* defined (__BUILDING_STLPORT) || ! defined (_STLP_OWN_IOSTREAMS) */ ++ ++ + template +-_Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& +-_Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc> +- ::operator=(const _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& __x) ++ class _Compare, class _Alloc> _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc> ::operator=(const _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& __x) + { + if (this != &__x) { + // Note that _Key may be a constant type. +@@ -322,11 +322,11 @@ + _M_key_compare = __x._M_key_compare; + if (__x._M_root() == 0) { + _M_root() = 0; +- _M_leftmost() = _M_header._M_data; +- _M_rightmost() = _M_header._M_data; ++ _M_leftmost() = this->_M_header._M_data; ++ _M_rightmost() = this->_M_header._M_data; + } + else { +- _M_root() = _M_copy(__x._M_root(), _M_header._M_data); ++ _M_root() = _M_copy(__x._M_root(), this->_M_header._M_data); + _M_leftmost() = _S_minimum(_M_root()); + _M_rightmost() = _S_maximum(_M_root()); + _M_node_count = __x._M_node_count; +@@ -335,22 +335,31 @@ + return *this; + } + +-template +-__iterator__ +-_Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc> +- ::_M_insert(_Rb_tree_node_base* __x_, _Rb_tree_node_base* __y_, const _Value& __v) ++// CRP 7/10/00 inserted argument __w_, which is another hint (meant to ++// act like __x_ and ignore a portion of the if conditions -- specify ++// __w_ != 0 to bypass comparison as false or __x_ != 0 to bypass ++// comparison as true) ++template __iterator__ ++_Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc> ::_M_insert(_Rb_tree_node_base* __x_, _Rb_tree_node_base* __y_, const _Value& __v, ++ _Rb_tree_node_base* __w_) + { ++ _Link_type __w = (_Link_type) __w_; + _Link_type __x = (_Link_type) __x_; + _Link_type __y = (_Link_type) __y_; + _Link_type __z; + +- if (__y == _M_header._M_data || __x != 0 || +- _M_key_compare(_KeyOfValue()(__v), _S_key(__y))) { ++ if ( __y == this->_M_header._M_data || ++ ( __w == 0 && // If w != 0, the remainder fails to false ++ ( __x != 0 || // If x != 0, the remainder succeeds to true ++ _M_key_compare( _KeyOfValue()(__v), _S_key(__y) ) ) ++ ) ++ ) { ++ + __z = _M_create_node(__v); + _S_left(__y) = __z; // also makes _M_leftmost() = __z + // when __y == _M_header +- if (__y == _M_header._M_data) { ++ if (__y == this->_M_header._M_data) { + _M_root() = __z; + _M_rightmost() = __z; + } +@@ -366,18 +375,16 @@ + _S_parent(__z) = __y; + _S_left(__z) = 0; + _S_right(__z) = 0; +- _Rb_global_inst::_Rebalance(__z, _M_header._M_data->_M_parent); ++ _Rb_global_inst::_Rebalance(__z, this->_M_header._M_data->_M_parent); + ++_M_node_count; + return iterator(__z); + } + + template +-__iterator__ +-_Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc> +- ::insert_equal(const _Value& __v) ++ class _Compare, class _Alloc> __iterator__ ++_Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc> ::insert_equal(const _Value& __v) + { +- _Link_type __y = _M_header._M_data; ++ _Link_type __y = this->_M_header._M_data; + _Link_type __x = _M_root(); + while (__x != 0) { + __y = __x; +@@ -389,12 +396,9 @@ + + + template +-pair< _Rb_tree_iterator<_Value, _Nonconst_traits<_Value> >, bool> +-_Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc> +- ::insert_unique(const _Value& __v) ++ class _Compare, class _Alloc> pair< _Rb_tree_iterator<_Value, _Nonconst_traits<_Value> >, bool> _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc> ::insert_unique(const _Value& __v) + { +- _Link_type __y = _M_header._M_data; ++ _Link_type __y = this->_M_header._M_data; + _Link_type __x = _M_root(); + bool __comp = true; + while (__x != 0) { +@@ -413,95 +417,197 @@ + return pair(__j, false); + } + +- ++// Modifications CRP 7/10/00 as noted to improve conformance and ++// efficiency. + template +-__iterator__ +-_Rb_tree<_Key, _Value, _KeyOfValue, _Compare, _Alloc> +- ::insert_unique(__iterator__ __position, const _Value& __v) +-{ +- if (__position._M_node == _M_header._M_data->_M_left) { // begin() +- if (size() > 0 && +- _M_key_compare(_KeyOfValue()(__v), _S_key(__position._M_node))) ++ class _Compare, class _Alloc> __iterator__ ++_Rb_tree<_Key, _Value, _KeyOfValue, _Compare, _Alloc> ::insert_unique(iterator __position, const _Value& __v) ++{ ++ if (__position._M_node == this->_M_header._M_data->_M_left) { // begin() ++ ++ // if the container is empty, fall back on insert_unique. ++ if (size() <= 0) ++ return insert_unique(__v).first; ++ ++ if ( _M_key_compare(_KeyOfValue()(__v), _S_key(__position._M_node))) + return _M_insert(__position._M_node, __position._M_node, __v); + // first argument just needs to be non-null + else +- return insert_unique(__v).first; +- } else if (__position._M_node == _M_header._M_data) { // end() ++ { ++ bool __comp_pos_v = _M_key_compare( _S_key(__position._M_node), _KeyOfValue()(__v) ); ++ ++ if (__comp_pos_v == false) // compare > and compare < both false so compare equal ++ return __position; ++ //Below __comp_pos_v == true ++ ++ // Standard-conformance - does the insertion point fall immediately AFTER ++ // the hint? ++ iterator __after = __position; ++ ++__after; ++ ++ // Check for only one member -- in that case, __position points to itself, ++ // and attempting to increment will cause an infinite loop. ++ if (__after._M_node == this->_M_header._M_data) ++ // Check guarantees exactly one member, so comparison was already ++ // performed and we know the result; skip repeating it in _M_insert ++ // by specifying a non-zero fourth argument. ++ return _M_insert(0, __position._M_node, __v, __position._M_node); ++ ++ ++ // All other cases: ++ ++ // Optimization to catch insert-equivalent -- save comparison results, ++ // and we get this for free. ++ if(_M_key_compare( _KeyOfValue()(__v), _S_key(__after._M_node) )) { ++ if (_S_right(__position._M_node) == 0) ++ return _M_insert(0, __position._M_node, __v, __position._M_node); ++ else ++ return _M_insert(__after._M_node, __after._M_node, __v); ++ } else { ++ return insert_unique(__v).first; ++ } ++ } ++ ++ } else if (__position._M_node == this->_M_header._M_data) { // end() + if (_M_key_compare(_S_key(_M_rightmost()), _KeyOfValue()(__v))) +- return _M_insert(0, _M_rightmost(), __v); ++ // pass along to _M_insert that it can skip comparing ++ // v, Key ; since compare Key, v was true, compare v, Key must be false. ++ return _M_insert(0, _M_rightmost(), __v, __position._M_node); // Last argument only needs to be non-null + else + return insert_unique(__v).first; + } else { + iterator __before = __position; + --__before; +- if (_M_key_compare(_S_key(__before._M_node), _KeyOfValue()(__v)) +- && _M_key_compare(_KeyOfValue()(__v), _S_key(__position._M_node))) { ++ ++ bool __comp_v_pos = _M_key_compare(_KeyOfValue()(__v), _S_key(__position._M_node)); ++ ++ if (__comp_v_pos ++ && _M_key_compare( _S_key(__before._M_node), _KeyOfValue()(__v) )) { ++ + if (_S_right(__before._M_node) == 0) +- return _M_insert(0, __before._M_node, __v); ++ return _M_insert(0, __before._M_node, __v, __before._M_node); // Last argument only needs to be non-null + else + return _M_insert(__position._M_node, __position._M_node, __v); + // first argument just needs to be non-null + } else +- return insert_unique(__v).first; ++ { ++ // Does the insertion point fall immediately AFTER the hint? ++ iterator __after = __position; ++ ++__after; ++ ++ // Optimization to catch equivalent cases and avoid unnecessary comparisons ++ bool __comp_pos_v = !__comp_v_pos; // Stored this result earlier ++ // If the earlier comparison was true, this comparison doesn't need to be ++ // performed because it must be false. However, if the earlier comparison ++ // was false, we need to perform this one because in the equal case, both will ++ // be false. ++ if (!__comp_v_pos) __comp_pos_v = _M_key_compare(_S_key(__position._M_node), _KeyOfValue()(__v)); ++ ++ if ( (!__comp_v_pos) // comp_v_pos true implies comp_v_pos false ++ && __comp_pos_v ++ && (__after._M_node == this->_M_header._M_data || ++ _M_key_compare( _KeyOfValue()(__v), _S_key(__after._M_node) ))) { ++ ++ if (_S_right(__position._M_node) == 0) ++ return _M_insert(0, __position._M_node, __v, __position._M_node); ++ else ++ return _M_insert(__after._M_node, __after._M_node, __v); ++ } else { ++ // Test for equivalent case ++ if (__comp_v_pos == __comp_pos_v) ++ return __position; ++ else ++ return insert_unique(__v).first; ++ } ++ } + } + } + ++ + template +-__iterator__ +-_Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc> +- ::insert_equal(__iterator__ __position, const _Value& __v) +-{ +- if (__position._M_node == _M_header._M_data->_M_left) { // begin() +- if (size() > 0 && +- !_M_key_compare(_S_key(__position._M_node), _KeyOfValue()(__v))) ++ class _Compare, class _Alloc> __iterator__ ++_Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc> ::insert_equal(iterator __position, const _Value& __v) ++{ ++ if (__position._M_node == this->_M_header._M_data->_M_left) { // begin() ++ ++ // Check for zero members ++ if (size() <= 0) ++ return insert_equal(__v); ++ ++ if (!_M_key_compare(_S_key(__position._M_node), _KeyOfValue()(__v))) + return _M_insert(__position._M_node, __position._M_node, __v); +- // first argument just needs to be non-null +- else +- return insert_equal(__v); +- } else if (__position._M_node == _M_header._M_data) {// end() ++ else { ++ // Check for only one member ++ if (__position._M_node->_M_left == __position._M_node) ++ // Unlike insert_unique, can't avoid doing a comparison here. ++ return _M_insert(0, __position._M_node, __v); ++ ++ // All other cases: ++ // Standard-conformance - does the insertion point fall immediately AFTER ++ // the hint? ++ iterator __after = __position; ++ ++__after; ++ ++ // Already know that compare(pos, v) must be true! ++ // Therefore, we want to know if compare(after, v) is false. ++ // (i.e., we now pos < v, now we want to know if v <= after) ++ // If not, invalid hint. ++ if ( __after._M_node==this->_M_header._M_data || ++ !_M_key_compare( _S_key(__after._M_node), _KeyOfValue()(__v) ) ) { ++ if (_S_right(__position._M_node) == 0) ++ return _M_insert(0, __position._M_node, __v, __position._M_node); ++ else ++ return _M_insert(__after._M_node, __after._M_node, __v); ++ } else // Invalid hint ++ return insert_equal(__v); ++ } ++ } else if (__position._M_node == this->_M_header._M_data) {// end() + if (!_M_key_compare(_KeyOfValue()(__v), _S_key(_M_rightmost()))) +- return _M_insert(0, _M_rightmost(), __v); ++ return _M_insert(0, _M_rightmost(), __v, __position._M_node); // Last argument only needs to be non-null + else + return insert_equal(__v); + } else { + iterator __before = __position; + --__before; +- if (!_M_key_compare(_KeyOfValue()(__v), _S_key(__before._M_node)) +- && !_M_key_compare(_S_key(__position._M_node), _KeyOfValue()(__v))) { ++ // store the result of the comparison between pos and v so ++ // that we don't have to do it again later. Note that this reverses the shortcut ++ // on the if, possibly harming efficiency in comparisons; I think the harm will ++ // be negligible, and to do what I want to do (save the result of a comparison so ++ // that it can be re-used) there is no alternative. Test here is for before <= v <= pos. ++ bool __comp_pos_v = _M_key_compare(_S_key(__position._M_node), _KeyOfValue()(__v)); ++ if (!__comp_pos_v ++ && !_M_key_compare(_KeyOfValue()(__v), _S_key(__before._M_node))) { + if (_S_right(__before._M_node) == 0) +- return _M_insert(0, __before._M_node, __v); ++ return _M_insert(0, __before._M_node, __v, __before._M_node); // Last argument only needs to be non-null + else + return _M_insert(__position._M_node, __position._M_node, __v); +- // first argument just needs to be non-null +- } else +- return insert_equal(__v); ++ } else { ++ // Does the insertion point fall immediately AFTER the hint? ++ // Test for pos < v <= after ++ iterator __after = __position; ++ ++__after; ++ ++ if (__comp_pos_v ++ && ( __after._M_node==this->_M_header._M_data ++ || !_M_key_compare( _S_key(__after._M_node), _KeyOfValue()(__v) ) ) ) { ++ if (_S_right(__position._M_node) == 0) ++ return _M_insert(0, __position._M_node, __v, __position._M_node); ++ else ++ return _M_insert(__after._M_node, __after._M_node, __v); ++ } else // Invalid hint ++ return insert_equal(__v); ++ } + } + } + +-template +-__size_type__ +-_Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>::erase(const _Key& __x) +-{ +- pair __p = equal_range(__x); +- size_type __n = 0; +- distance(__p.first, __p.second, __n); +- erase(__p.first, __p.second); +- return __n; +-} +- +-template +-_Rb_tree_node<_Value>* +-_Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc> +- ::_M_copy(_Rb_tree_node<_Value>* __x, _Rb_tree_node<_Value>* __p) ++template _Rb_tree_node<_Value>* ++_Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc> ::_M_copy(_Rb_tree_node<_Value>* __x, _Rb_tree_node<_Value>* __p) + { + // structural copy. __x and __p must be non-null. + _Link_type __top = _M_clone_node(__x); + __top->_M_parent = __p; +- +- __STL_TRY { ++ ++ _STLP_TRY { + if (__x->_M_right) + __top->_M_right = _M_copy(_S_right(__x), __top); + __p = __top; +@@ -517,14 +623,14 @@ + __x = _S_left(__x); + } + } +- __STL_UNWIND(_M_erase(__top)); ++ _STLP_UNWIND(_M_erase(__top)); + + return __top; + } + ++// this has to stay out-of-line : it's recursive + template +-void ++ class _Compare, class _Alloc> void + _Rb_tree<_Key,_Value,_KeyOfValue, + _Compare,_Alloc>::_M_erase(_Rb_tree_node<_Value>* __x) + { +@@ -532,152 +638,21 @@ + while (__x != 0) { + _M_erase(_S_right(__x)); + _Link_type __y = _S_left(__x); +- destroy_node(__x); ++ _Destroy(&__x->_M_value_field); ++ this->_M_header.deallocate(__x,1); + __x = __y; + } + } + + template +-void _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc> +- ::erase(__iterator__ __first, __iterator__ __last) +-{ +- if (__first == begin() && __last == end()) +- clear(); +- else +- while (__first != __last) erase(__first++); +-} +- +-template +-void _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc> +- ::erase(const _Key* __first, const _Key* __last) +-{ +- while (__first != __last) erase(*__first++); +-} +- +-template +-__iterator__ +-_Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>::find(const _Key& __k) +-{ +- _Link_type __y = _M_header._M_data; // Last node which is not less than __k. +- _Link_type __x = _M_root(); // Current node. +- +- while (__x != 0) +- if (!_M_key_compare(_S_key(__x), __k)) +- __y = __x, __x = _S_left(__x); +- else +- __x = _S_right(__x); +- +- iterator __j = iterator(__y); +- return (__j == end() || _M_key_compare(__k, _S_key(__j._M_node))) ? +- end() : __j; +-} +- +-template +-__const_iterator__ +-_Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>::find(const _Key& __k) const +-{ +- _Link_type __y = _M_header._M_data; /* Last node which is not less than __k. */ +- _Link_type __x = _M_root(); /* Current node. */ +- +- while (__x != 0) { +- if (!_M_key_compare(_S_key(__x), __k)) +- __y = __x, __x = _S_left(__x); +- else +- __x = _S_right(__x); +- } +- const_iterator __j = const_iterator(__y); +- return (__j == end() || _M_key_compare(__k, _S_key(__j._M_node))) ? +- end() : __j; +-} +- +-template +-__size_type__ +-_Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc> +- ::count(const _Key& __k) const ++ class _Compare, class _Alloc> __size_type__ ++_Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc> ::count(const _Key& __k) const + { + pair __p = equal_range(__k); +- size_type __n = 0; +- distance(__p.first, __p.second, __n); ++ size_type __n = distance(__p.first, __p.second); + return __n; + } + +-template +-__iterator__ +-_Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc> +- ::lower_bound(const _Key& __k) +-{ +- _Link_type __y = _M_header._M_data; /* Last node which is not less than __k. */ +- _Link_type __x = _M_root(); /* Current node. */ +- +- while (__x != 0) +- if (!_M_key_compare(_S_key(__x), __k)) +- __y = __x, __x = _S_left(__x); +- else +- __x = _S_right(__x); +- +- return iterator(__y); +-} +- +-template +-__const_iterator__ +-_Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc> +- ::lower_bound(const _Key& __k) const +-{ +- _Link_type __y = _M_header._M_data; /* Last node which is not less than __k. */ +- _Link_type __x = _M_root(); /* Current node. */ +- +- while (__x != 0) +- if (!_M_key_compare(_S_key(__x), __k)) +- __y = __x, __x = _S_left(__x); +- else +- __x = _S_right(__x); +- +- return const_iterator(__y); +-} +- +-template +-__iterator__ +-_Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc> +- ::upper_bound(const _Key& __k) +-{ +- _Link_type __y = _M_header._M_data; /* Last node which is greater than __k. */ +- _Link_type __x = _M_root(); /* Current node. */ +- +- while (__x != 0) +- if (_M_key_compare(__k, _S_key(__x))) +- __y = __x, __x = _S_left(__x); +- else +- __x = _S_right(__x); +- +- return iterator(__y); +-} +- +-template +-__const_iterator__ +-_Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc> +- ::upper_bound(const _Key& __k) const +-{ +- _Link_type __y = _M_header._M_data; /* Last node which is greater than __k. */ +- _Link_type __x = _M_root(); /* Current node. */ +- +- while (__x != 0) +- if (_M_key_compare(__k, _S_key(__x))) +- __y = __x, __x = _S_left(__x); +- else +- __x = _S_right(__x); +- +- return const_iterator(__y); +-} +- + inline int + __black_count(_Rb_tree_node_base* __node, _Rb_tree_node_base* __root) + { +@@ -693,12 +668,11 @@ + } + + template +-bool _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>::__rb_verify() const ++ class _Compare, class _Alloc> bool _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>::__rb_verify() const + { + if (_M_node_count == 0 || begin() == end()) +- return _M_node_count == 0 && begin() == end() && +- _M_header._M_data->_M_left == _M_header._M_data && _M_header._M_data->_M_right == _M_header._M_data; ++ return _M_node_count == 0 && begin() == end() && this->_M_header._M_data->_M_left == this->_M_header._M_data ++ && this->_M_header._M_data->_M_right == this->_M_header._M_data; + + int __len = __black_count(_M_leftmost(), _M_root()); + for (const_iterator __it = begin(); __it != end(); ++__it) { +@@ -727,13 +701,13 @@ + + return true; + } +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + + # undef __iterator__ +-# undef __const_iterator__ ++# undef iterator + # undef __size_type__ + +-#endif /* __STL_TREE_C */ ++#endif /* _STLP_TREE_C */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_tree.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_tree.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_tree.h Sat Feb 24 10:45:14 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_tree.h Sun Aug 11 18:59:25 2002 +@@ -27,8 +27,8 @@ + * You should not attempt to use it directly. + */ + +-#ifndef __SGI_STL_INTERNAL_TREE_H +-#define __SGI_STL_INTERNAL_TREE_H ++#ifndef _STLP_INTERNAL_TREE_H ++#define _STLP_INTERNAL_TREE_H + + /* + +@@ -50,40 +50,31 @@ + + */ + +-# ifndef __SGI_STL_INTERNAL_ALGOBASE_H +-# include ++# ifndef _STLP_INTERNAL_ALGOBASE_H ++# include + # endif + +-# ifndef __SGI_STL_INTERNAL_ALLOC_H +-# include ++# ifndef _STLP_INTERNAL_ALLOC_H ++# include + # endif + +-# ifndef __SGI_STL_INTERNAL_ITERATOR_H +-# include ++# ifndef _STLP_INTERNAL_ITERATOR_H ++# include + # endif + +-# ifndef __SGI_STL_INTERNAL_CONSTRUCT_H +-# include ++# ifndef _STLP_INTERNAL_CONSTRUCT_H ++# include + # endif + +-# ifndef __SGI_STL_INTERNAL_FUNCTION_H +-# include ++# ifndef _STLP_INTERNAL_FUNCTION_H ++# include + # endif + +-# if defined ( __STL_USE_ABBREVS ) +-// ugliness is intentional - to reduce conflicts possibility +-# define _Rb_tree_node_base _rbT__NB +-# define _Rb_tree_node _rbT__N +-# define _Rb_base_iterator _rbTB__It +-# define _Rb_tree_base_iterator _rbT__It +-# define _Rb_tree_base _rbT__B +-# endif +- +-#if defined ( __STL_DEBUG) ++#if defined ( _STLP_DEBUG) + # define _Rb_tree __WORKAROUND_DBG_RENAME(Rb_tree) + #endif + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + typedef bool _Rb_tree_Color_type; + //const _Rb_tree_Color_type _S_rb_tree_red = false; +@@ -102,21 +93,20 @@ + _Base_ptr _M_left; + _Base_ptr _M_right; + +- static _Base_ptr __STL_CALL _S_minimum(_Base_ptr __x) ++ static _Base_ptr _STLP_CALL _S_minimum(_Base_ptr __x) + { + while (__x->_M_left != 0) __x = __x->_M_left; + return __x; + } + +- static _Base_ptr __STL_CALL _S_maximum(_Base_ptr __x) ++ static _Base_ptr _STLP_CALL _S_maximum(_Base_ptr __x) + { + while (__x->_M_right != 0) __x = __x->_M_right; + return __x; + } + }; + +-template +-struct _Rb_tree_node : public _Rb_tree_node_base ++template struct _Rb_tree_node : public _Rb_tree_node_base + { + _Value _M_value_field; + __TRIVIAL_STUFF(_Rb_tree_node) +@@ -124,28 +114,34 @@ + + struct _Rb_tree_base_iterator; + +-template +-struct _Rb_global { ++template class _Rb_global { ++public: + typedef _Rb_tree_node_base* _Base_ptr; + // those used to be global functions +- static void __STL_CALL _Rebalance(_Rb_tree_node_base* __x, _Rb_tree_node_base*& __root); +- static _Rb_tree_node_base* __STL_CALL _Rebalance_for_erase(_Rb_tree_node_base* __z, ++ static void _STLP_CALL _Rebalance(_Rb_tree_node_base* __x, _Rb_tree_node_base*& __root); ++ static _Rb_tree_node_base* _STLP_CALL _Rebalance_for_erase(_Rb_tree_node_base* __z, + _Rb_tree_node_base*& __root, + _Rb_tree_node_base*& __leftmost, + _Rb_tree_node_base*& __rightmost); + // those are from _Rb_tree_base_iterator - moved here to reduce code bloat + // moved here to reduce code bloat without templatizing _Rb_tree_base_iterator +- static void __STL_CALL _M_increment(_Rb_tree_base_iterator*); +- static void __STL_CALL _M_decrement(_Rb_tree_base_iterator*); ++ static _Rb_tree_node_base* _STLP_CALL _M_increment(_Rb_tree_node_base*); ++ static _Rb_tree_node_base* _STLP_CALL _M_decrement(_Rb_tree_node_base*); ++ static void _STLP_CALL _Rotate_left(_Rb_tree_node_base* __x, _Rb_tree_node_base*& __root); ++ static void _STLP_CALL _Rotate_right(_Rb_tree_node_base* __x, _Rb_tree_node_base*& __root); + }; + ++# if defined (_STLP_USE_TEMPLATE_EXPORT) ++_STLP_EXPORT_TEMPLATE_CLASS _Rb_global; ++# endif ++ + typedef _Rb_global _Rb_global_inst; + + struct _Rb_tree_base_iterator + { +- typedef _Rb_tree_node_base::_Base_ptr _Base_ptr; ++ typedef _Rb_tree_node_base* _Base_ptr; + typedef bidirectional_iterator_tag iterator_category; +- typedef ptrdiff_t difference_type; ++ typedef ptrdiff_t difference_type; + _Base_ptr _M_node; + bool operator==(const _Rb_tree_base_iterator& __y) const { + return _M_node == __y._M_node; +@@ -156,15 +152,11 @@ + }; + + +-template +-struct _Rb_tree_iterator : public _Rb_tree_base_iterator ++template struct _Rb_tree_iterator : public _Rb_tree_base_iterator + { + typedef _Value value_type; + typedef typename _Traits::reference reference; + typedef typename _Traits::pointer pointer; +- +- // typedef _Rb_tree_iterator<_Value, _Nonconst_traits<_Value> > iterator; +- // typedef _Rb_tree_iterator<_Value, _Const_traits<_Value> > const_iterator; + typedef _Rb_tree_iterator<_Value, _Traits> _Self; + typedef _Rb_tree_node<_Value>* _Link_type; + +@@ -177,60 +169,55 @@ + return _Link_type(_M_node)->_M_value_field; + } + +- __STL_DEFINE_ARROW_OPERATOR ++ _STLP_DEFINE_ARROW_OPERATOR + +- _Self& operator++() { _Rb_global_inst::_M_increment(this); return *this; } ++ _Self& operator++() { _M_node = _Rb_global_inst::_M_increment(_M_node); return *this; } + _Self operator++(int) { + _Self __tmp = *this; +- _Rb_global_inst::_M_increment(this); ++ _M_node = _Rb_global_inst::_M_increment(_M_node); + return __tmp; + } + +- _Self& operator--() { _Rb_global_inst::_M_decrement(this); return *this; } ++ _Self& operator--() { _M_node = _Rb_global_inst::_M_decrement(_M_node); return *this; } + _Self operator--(int) { + _Self __tmp = *this; +- _Rb_global_inst::_M_decrement(this); ++ _M_node = _Rb_global_inst::_M_decrement(_M_node); + return __tmp; + } + }; + +-# ifdef __STL_USE_OLD_HP_ITERATOR_QUERIES +-template +-inline _Value* +-__VALUE_TYPE(const _Rb_tree_iterator<_Value, _Traits>&) { return (_Value*)0; } +-inline bidirectional_iterator_tag +-__ITERATOR_CATEGORY(const _Rb_tree_base_iterator&) { return bidirectional_iterator_tag(); } +-inline ptrdiff_t* +-__DISTANCE_TYPE(const _Rb_tree_base_iterator&) { return (ptrdiff_t*) 0; } +-#endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */ ++# ifdef _STLP_USE_OLD_HP_ITERATOR_QUERIES ++template inline _Value* value_type(const _Rb_tree_iterator<_Value, _Traits>&) { return (_Value*)0; } ++inline bidirectional_iterator_tag iterator_category(const _Rb_tree_base_iterator&) { return bidirectional_iterator_tag(); } ++inline ptrdiff_t* distance_type(const _Rb_tree_base_iterator&) { return (ptrdiff_t*) 0; } ++#endif /* _STLP_CLASS_PARTIAL_SPECIALIZATION */ + + // Base class to help EH + +-template +-struct _Rb_tree_base ++template struct _Rb_tree_base + { + typedef _Rb_tree_node<_Tp> _Node; ++ _STLP_FORCE_ALLOCATORS(_Tp, _Alloc) + typedef typename _Alloc_traits<_Tp, _Alloc>::allocator_type allocator_type; + + _Rb_tree_base(const allocator_type& __a) : +- _M_header(__STL_CONVERT_ALLOCATOR(__a, _Node), (_Node*)0) { ++ _M_header(_STLP_CONVERT_ALLOCATOR(__a, _Node), (_Node*)0) { + _M_header._M_data = _M_header.allocate(1); + } + ~_Rb_tree_base() { + _M_header.deallocate(_M_header._M_data,1); + } + allocator_type get_allocator() const { +- return __STL_CONVERT_ALLOCATOR(_M_header, _Tp); ++ return _STLP_CONVERT_ALLOCATOR(_M_header, _Tp); + } + protected: + typedef typename _Alloc_traits<_Node, _Alloc>::allocator_type _M_node_allocator_type; +- _STL_alloc_proxy<_Node*, _Node, _M_node_allocator_type> _M_header; ++ _STLP_alloc_proxy<_Node*, _Node, _M_node_allocator_type> _M_header; + }; + + + template +-class _Rb_tree : public _Rb_tree_base<_Value, _Alloc> { ++ _STLP_DEFAULT_ALLOCATOR_SELECT(_Value) > class _Rb_tree : public _Rb_tree_base<_Value, _Alloc> { + typedef _Rb_tree_base<_Value, _Alloc> _Base; + protected: + typedef _Rb_tree_node_base* _Base_ptr; +@@ -247,23 +234,17 @@ + typedef size_t size_type; + typedef ptrdiff_t difference_type; + typedef bidirectional_iterator_tag _Iterator_category; +- + typedef typename _Base::allocator_type allocator_type; + + protected: +-#if defined( __STL_HAS_NAMESPACES ) +- __STL_USING_BASE_MEMBER _Rb_tree_base<_Value, _Alloc>::_M_header; +-#endif /* __STL_USE_NAMESPACES */ +- +-protected: + + _Link_type _M_create_node(const value_type& __x) + { +- _Link_type __tmp = _M_header.allocate(1); +- __STL_TRY { ++ _Link_type __tmp = this->_M_header.allocate(1); ++ _STLP_TRY { + _Construct(&__tmp->_M_value_field, __x); + } +- __STL_UNWIND(_M_header.deallocate(__tmp,1)); ++ _STLP_UNWIND(this->_M_header.deallocate(__tmp,1)); + return __tmp; + } + +@@ -276,63 +257,56 @@ + return __tmp; + } + +- void destroy_node(_Link_type __p) +- { +- _Destroy(&__p->_M_value_field); +- _M_header.deallocate(__p,1); +- } +- + protected: + size_type _M_node_count; // keeps track of size of tree + _Compare _M_key_compare; + + _Link_type& _M_root() const +- { return (_Link_type&) _M_header._M_data->_M_parent; } ++ { return (_Link_type&) this->_M_header._M_data->_M_parent; } + _Link_type& _M_leftmost() const +- { return (_Link_type&) _M_header._M_data->_M_left; } ++ { return (_Link_type&) this->_M_header._M_data->_M_left; } + _Link_type& _M_rightmost() const +- { return (_Link_type&) _M_header._M_data->_M_right; } ++ { return (_Link_type&) this->_M_header._M_data->_M_right; } + +- static _Link_type& __STL_CALL _S_left(_Link_type __x) ++ static _Link_type& _STLP_CALL _S_left(_Link_type __x) + { return (_Link_type&)(__x->_M_left); } +- static _Link_type& __STL_CALL _S_right(_Link_type __x) ++ static _Link_type& _STLP_CALL _S_right(_Link_type __x) + { return (_Link_type&)(__x->_M_right); } +- static _Link_type& __STL_CALL _S_parent(_Link_type __x) ++ static _Link_type& _STLP_CALL _S_parent(_Link_type __x) + { return (_Link_type&)(__x->_M_parent); } +- static reference __STL_CALL _S_value(_Link_type __x) ++ static reference _STLP_CALL _S_value(_Link_type __x) + { return __x->_M_value_field; } +- static const _Key& __STL_CALL _S_key(_Link_type __x) ++ static const _Key& _STLP_CALL _S_key(_Link_type __x) + { return _KeyOfValue()(_S_value(__x)); } +- static _Color_type& __STL_CALL _S_color(_Link_type __x) ++ static _Color_type& _STLP_CALL _S_color(_Link_type __x) + { return (_Color_type&)(__x->_M_color); } + +- static _Link_type& __STL_CALL _S_left(_Base_ptr __x) ++ static _Link_type& _STLP_CALL _S_left(_Base_ptr __x) + { return (_Link_type&)(__x->_M_left); } +- static _Link_type& __STL_CALL _S_right(_Base_ptr __x) ++ static _Link_type& _STLP_CALL _S_right(_Base_ptr __x) + { return (_Link_type&)(__x->_M_right); } +- static _Link_type& __STL_CALL _S_parent(_Base_ptr __x) ++ static _Link_type& _STLP_CALL _S_parent(_Base_ptr __x) + { return (_Link_type&)(__x->_M_parent); } +- static reference __STL_CALL _S_value(_Base_ptr __x) ++ static reference _STLP_CALL _S_value(_Base_ptr __x) + { return ((_Link_type)__x)->_M_value_field; } +- static const _Key& __STL_CALL _S_key(_Base_ptr __x) ++ static const _Key& _STLP_CALL _S_key(_Base_ptr __x) + { return _KeyOfValue()(_S_value(_Link_type(__x)));} +- static _Color_type& __STL_CALL _S_color(_Base_ptr __x) ++ static _Color_type& _STLP_CALL _S_color(_Base_ptr __x) + { return (_Color_type&)(_Link_type(__x)->_M_color); } + +- static _Link_type __STL_CALL _S_minimum(_Link_type __x) ++ static _Link_type _STLP_CALL _S_minimum(_Link_type __x) + { return (_Link_type) _Rb_tree_node_base::_S_minimum(__x); } + +- static _Link_type __STL_CALL _S_maximum(_Link_type __x) ++ static _Link_type _STLP_CALL _S_maximum(_Link_type __x) + { return (_Link_type) _Rb_tree_node_base::_S_maximum(__x); } + + public: + typedef _Rb_tree_iterator > iterator; + typedef _Rb_tree_iterator > const_iterator; +- +- __STL_DECLARE_BIDIRECTIONAL_REVERSE_ITERATORS; ++ _STLP_DECLARE_BIDIRECTIONAL_REVERSE_ITERATORS; + + private: +- iterator _M_insert(_Base_ptr __x, _Base_ptr __y, const value_type& __v); ++ iterator _M_insert(_Base_ptr __x, _Base_ptr __y, const value_type& __v, _Base_ptr __w = 0); + _Link_type _M_copy(_Link_type __x, _Link_type __p); + void _M_erase(_Link_type __x); + +@@ -357,24 +331,23 @@ + if (__x._M_root() == 0) + _M_empty_initialize(); + else { +- _S_color(_M_header._M_data) = _S_rb_tree_red; +- _M_root() = _M_copy(__x._M_root(), _M_header._M_data); ++ _S_color(this->_M_header._M_data) = _S_rb_tree_red; ++ _M_root() = _M_copy(__x._M_root(), this->_M_header._M_data); + _M_leftmost() = _S_minimum(_M_root()); + _M_rightmost() = _S_maximum(_M_root()); + } + _M_node_count = __x._M_node_count; + } + ~_Rb_tree() { clear(); } +- _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& +- operator=(const _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& __x); ++ _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& operator=(const _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& __x); + + private: + void _M_empty_initialize() { +- _S_color(_M_header._M_data) = _S_rb_tree_red; // used to distinguish header from ++ _S_color(this->_M_header._M_data) = _S_rb_tree_red; // used to distinguish header from + // __root, in iterator.operator++ + _M_root() = 0; +- _M_leftmost() = _M_header._M_data; +- _M_rightmost() = _M_header._M_data; ++ _M_leftmost() = this->_M_header._M_data; ++ _M_rightmost() = this->_M_header._M_data; + } + + public: +@@ -383,8 +356,8 @@ + + iterator begin() { return iterator(_M_leftmost()); } + const_iterator begin() const { return const_iterator(_M_leftmost()); } +- iterator end() { return iterator(_M_header._M_data); } +- const_iterator end() const { return const_iterator(_M_header._M_data); } ++ iterator end() { return iterator(this->_M_header._M_data); } ++ const_iterator end() const { return const_iterator(this->_M_header._M_data); } + + reverse_iterator rbegin() { return reverse_iterator(end()); } + const_reverse_iterator rbegin() const { +@@ -399,9 +372,9 @@ + size_type max_size() const { return size_type(-1); } + + void swap(_Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& __t) { +- __STLPORT_STD::swap(_M_header._M_data, __t._M_header._M_data); +- __STLPORT_STD::swap(_M_node_count, __t._M_node_count); +- __STLPORT_STD::swap(_M_key_compare, __t._M_key_compare); ++ _STLP_STD::swap(this->_M_header, __t._M_header); ++ _STLP_STD::swap(_M_node_count, __t._M_node_count); ++ _STLP_STD::swap(_M_key_compare, __t._M_key_compare); + } + + public: +@@ -412,18 +385,16 @@ + iterator insert_unique(iterator __position, const value_type& __x); + iterator insert_equal(iterator __position, const value_type& __x); + +-#ifdef __STL_MEMBER_TEMPLATES +- template +- void insert_equal(_II __first, _II __last) { ++#ifdef _STLP_MEMBER_TEMPLATES ++ template void insert_equal(_II __first, _II __last) { + for ( ; __first != __last; ++__first) + insert_equal(*__first); + } +- template +- void insert_unique(_II __first, _II __last) { ++ template void insert_unique(_II __first, _II __last) { + for ( ; __first != __last; ++__first) + insert_unique(*__first); + } +-#else /* __STL_MEMBER_TEMPLATES */ ++#else /* _STLP_MEMBER_TEMPLATES */ + void insert_unique(const_iterator __first, const_iterator __last) { + for ( ; __first != __last; ++__first) + insert_unique(*__first); +@@ -440,40 +411,106 @@ + for ( ; __first != __last; ++__first) + insert_equal(*__first); + } +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + void erase(iterator __position) { + _Link_type __y = + (_Link_type) _Rb_global_inst::_Rebalance_for_erase(__position._M_node, +- _M_header._M_data->_M_parent, +- _M_header._M_data->_M_left, +- _M_header._M_data->_M_right); +- destroy_node(__y); ++ this->_M_header._M_data->_M_parent, ++ this->_M_header._M_data->_M_left, ++ this->_M_header._M_data->_M_right); ++ _Destroy(&__y->_M_value_field); ++ this->_M_header.deallocate(__y,1); + --_M_node_count; + } +- size_type erase(const key_type& __x); +- void erase(iterator __first, iterator __last); +- void erase(const key_type* __first, const key_type* __last); ++ ++ size_type erase(const key_type& __x) { ++ pair __p = equal_range(__x); ++ size_type __n = distance(__p.first, __p.second); ++ erase(__p.first, __p.second); ++ return __n; ++ } ++ ++ void erase(iterator __first, iterator __last) { ++ if (__first == begin() && __last == end()) ++ clear(); ++ else ++ while (__first != __last) erase(__first++); ++ } ++ ++ void erase(const key_type* __first, const key_type* __last) { ++ while (__first != __last) erase(*__first++); ++ } + + void clear() { + if (_M_node_count != 0) { + _M_erase(_M_root()); +- _M_leftmost() = _M_header._M_data; ++ _M_leftmost() = this->_M_header._M_data; + _M_root() = 0; +- _M_rightmost() = _M_header._M_data; ++ _M_rightmost() = this->_M_header._M_data; + _M_node_count = 0; + } + } + + public: + // set operations: +- iterator find(const key_type& __x); +- const_iterator find(const key_type& __x) const; ++# if defined(_STLP_MEMBER_TEMPLATES) && ! defined ( _STLP_NO_EXTENSIONS ) && !defined(__MRC__) && !defined(__SC__) ++ template iterator find(const _KT& __x) { return iterator(_M_find(__x)); } ++ template const_iterator find(const _KT& __x) const { return const_iterator(_M_find(__x)); } ++private: ++ template _Rb_tree_node<_Value>* _M_find(const _KT& __k) const ++# else ++ iterator find(const key_type& __x) { return iterator(_M_find(__x)); } ++ const_iterator find(const key_type& __x) const { return const_iterator(_M_find(__x)); } ++private: ++ _Rb_tree_node<_Value>* _M_find(const key_type& __k) const ++# endif ++ { ++ _Link_type __y = this->_M_header._M_data; // Last node which is not less than __k. ++ _Link_type __x = _M_root(); // Current node. ++ ++ while (__x != 0) ++ if (!_M_key_compare(_S_key(__x), __k)) ++ __y = __x, __x = _S_left(__x); ++ else ++ __x = _S_right(__x); ++ if (__y == this->_M_header._M_data || _M_key_compare(__k, _S_key(__y))) ++ __y = this->_M_header._M_data; ++ return __y; ++ } ++ ++ _Link_type _M_lower_bound(const key_type& __k) const { ++ _Link_type __y = this->_M_header._M_data; /* Last node which is not less than __k. */ ++ _Link_type __x = _M_root(); /* Current node. */ ++ ++ while (__x != 0) ++ if (!_M_key_compare(_S_key(__x), __k)) ++ __y = __x, __x = _S_left(__x); ++ else ++ __x = _S_right(__x); ++ ++ return __y; ++ } ++ ++ _Link_type _M_upper_bound(const key_type& __k) const { ++ _Link_type __y = this->_M_header._M_data; /* Last node which is greater than __k. */ ++ _Link_type __x = _M_root(); /* Current node. */ ++ ++ while (__x != 0) ++ if (_M_key_compare(__k, _S_key(__x))) ++ __y = __x, __x = _S_left(__x); ++ else ++ __x = _S_right(__x); ++ ++ return __y; ++ } ++ ++public: + size_type count(const key_type& __x) const; +- iterator lower_bound(const key_type& __x); +- const_iterator lower_bound(const key_type& __x) const; +- iterator upper_bound(const key_type& __x); +- const_iterator upper_bound(const key_type& __x) const; ++ iterator lower_bound(const key_type& __x) { return iterator(_M_lower_bound(__x)); } ++ const_iterator lower_bound(const key_type& __x) const { return const_iterator(_M_lower_bound(__x)); } ++ iterator upper_bound(const key_type& __x) { return iterator(_M_upper_bound(__x)); } ++ const_iterator upper_bound(const key_type& __x) const { return const_iterator(_M_upper_bound(__x)); } + pair equal_range(const key_type& __x) { + return pair(lower_bound(__x), upper_bound(__x)); + } +@@ -488,18 +525,15 @@ + }; + + template +-inline bool __STL_CALL ++ class _Compare, class _Alloc> inline bool _STLP_CALL + operator==(const _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& __x, + const _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& __y) + { +- return __x.size() == __y.size() && +- equal(__x.begin(), __x.end(), __y.begin()); ++ return __x.size() == __y.size() && equal(__x.begin(), __x.end(), __y.begin()); + } + + template +-inline bool __STL_CALL ++ class _Compare, class _Alloc> inline bool _STLP_CALL + operator<(const _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& __x, + const _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& __y) + { +@@ -507,75 +541,68 @@ + __y.begin(), __y.end()); + } + +-#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE ++#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE + + template +-inline bool __STL_CALL ++ class _Compare, class _Alloc> inline bool _STLP_CALL + operator!=(const _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& __x, + const _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& __y) { + return !(__x == __y); + } + + template +-inline bool __STL_CALL ++ class _Compare, class _Alloc> inline bool _STLP_CALL + operator>(const _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& __x, + const _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& __y) { + return __y < __x; + } + + template +-inline bool __STL_CALL ++ class _Compare, class _Alloc> inline bool _STLP_CALL + operator<=(const _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& __x, + const _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& __y) { + return !(__y < __x); + } + + template +-inline bool __STL_CALL ++ class _Compare, class _Alloc> inline bool _STLP_CALL + operator>=(const _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& __x, + const _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& __y) { + return !(__x < __y); + } + +-#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ ++#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ + +-#ifdef __STL_FUNCTION_TMPL_PARTIAL_ORDER ++#ifdef _STLP_FUNCTION_TMPL_PARTIAL_ORDER + + template +-inline void __STL_CALL ++ class _Compare, class _Alloc> inline void _STLP_CALL + swap(_Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& __x, + _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& __y) + { + __x.swap(__y); + } + +-#endif /* __STL_FUNCTION_TMPL_PARTIAL_ORDER */ ++#endif /* _STLP_FUNCTION_TMPL_PARTIAL_ORDER */ + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-# if !defined (__STL_LINK_TIME_INSTANTIATION) +-# include ++# if !defined (_STLP_LINK_TIME_INSTANTIATION) ++# include + # endif + + # undef _Rb_tree + +-#if defined (__STL_DEBUG) +-# include ++#if defined (_STLP_DEBUG) ++# include + #endif + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + // Class rb_tree is not part of the C++ standard. It is provided for + // compatibility with the HP STL. + + template +-struct rb_tree : public _Rb_tree<_Key, _Value, _KeyOfValue, _Compare, _Alloc> +-{ ++ _STLP_DEFAULT_ALLOCATOR_SELECT(_Value) > struct rb_tree : public _Rb_tree<_Key, _Value, _KeyOfValue, _Compare, _Alloc> { + typedef _Rb_tree<_Key, _Value, _KeyOfValue, _Compare, _Alloc> _Base; + typedef typename _Base::allocator_type allocator_type; + +@@ -586,11 +613,10 @@ + : _Rb_tree<_Key, _Value, _KeyOfValue, _Compare, _Alloc>(__comp, __a) {} + ~rb_tree() {} + }; +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-#endif /* __SGI_STL_INTERNAL_TREE_H */ ++#endif /* _STLP_INTERNAL_TREE_H */ + + // Local Variables: + // mode:C++ + // End: +- +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_uninitialized.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_uninitialized.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_uninitialized.h Sat Feb 24 10:45:14 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_uninitialized.h Sun Aug 11 18:59:25 2002 +@@ -27,26 +27,22 @@ + * You should not attempt to use it directly. + */ + +-#ifndef __SGI_STL_INTERNAL_UNINITIALIZED_H +-#define __SGI_STL_INTERNAL_UNINITIALIZED_H ++#ifndef _STLP_INTERNAL_UNINITIALIZED_H ++#define _STLP_INTERNAL_UNINITIALIZED_H + +-# ifndef __STLPORT_CSTRING ++# ifndef _STLP_CSTRING + # include + # endif + +-# ifndef __SGI_STL_INTERNAL_PAIR_H +-# include ++# ifndef _STLP_INTERNAL_ALGOBASE_H ++# include + # endif + +-# ifndef __SGI_STL_INTERNAL_CONSTRUCT_H ++# ifndef _STLP_INTERNAL_CONSTRUCT_H + # include + # endif + +-# ifndef __SGI_STL_INTERNAL_ALGOBASE_H +-# include +-# endif +- +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + // uninitialized_copy + +@@ -54,94 +50,75 @@ + // destructor is trivial. + template + inline _ForwardIter +-__uninitialized_copy_aux(_InputIter __first, _InputIter __last, +- _ForwardIter __result, +- __true_type) +-{ +- return __STLPORT_STD::copy(__first, __last, __result); ++__uninitialized_copy(_InputIter __first, _InputIter __last, _ForwardIter __result, ++ const __true_type&) { ++ return __copy_aux(__first, __last, __result, _BothPtrType< _InputIter, _ForwardIter> :: _Ret()); + } + + template +-__STL_INLINE_LOOP ++_STLP_INLINE_LOOP + _ForwardIter +-__uninitialized_copy_aux(_InputIter __first, _InputIter __last, +- _ForwardIter __result, +- __false_type) ++__uninitialized_copy(_InputIter __first, _InputIter __last, _ForwardIter __result, ++ const __false_type&) + { + _ForwardIter __cur = __result; +- __STL_TRY { ++ _STLP_TRY { + for ( ; __first != __last; ++__first, ++__cur) + _Construct(&*__cur, *__first); + return __cur; + } +- __STL_UNWIND(_Destroy(__result, __cur)); +-# ifdef __STL_THROW_RETURN_BUG ++ _STLP_UNWIND(_Destroy(__result, __cur)); ++# ifdef _STLP_THROW_RETURN_BUG + return __cur; + # endif + } + +- +-template +-inline _ForwardIter +-__uninitialized_copy(_InputIter __first, _InputIter __last, +- _ForwardIter __result, _Tp*) +-{ +- typedef typename __type_traits<_Tp>::is_POD_type _Is_POD; +- return __uninitialized_copy_aux(__first, __last, __result, _Is_POD()); +-} +- + template + inline _ForwardIter +- uninitialized_copy(_InputIter __first, _InputIter __last, +- _ForwardIter __result) +-{ +- return __uninitialized_copy(__first, __last, __result, +- __VALUE_TYPE(__result)); ++uninitialized_copy(_InputIter __first, _InputIter __last, _ForwardIter __result) { ++ return __uninitialized_copy(__first, __last, __result, _IS_POD_ITER(__result, _ForwardIter)); + } + +-inline char* uninitialized_copy(const char* __first, const char* __last, +- char* __result) { +- memmove(__result, __first, __last - __first); +- return __result + (__last - __first); ++inline char* ++uninitialized_copy(const char* __first, const char* __last, char* __result) { ++ return (char*)__copy_trivial (__first, __last, __result); + } + +-# ifdef __STL_HAS_WCHAR_T // dwa 8/15/97 ++# ifdef _STLP_HAS_WCHAR_T // dwa 8/15/97 + inline wchar_t* +-uninitialized_copy(const wchar_t* __first, const wchar_t* __last, +- wchar_t* __result) +-{ +- memmove(__result, __first, sizeof(wchar_t) * (__last - __first)); +- return __result + (__last - __first); ++uninitialized_copy(const wchar_t* __first, const wchar_t* __last, wchar_t* __result) { ++ return (wchar_t*)__copy_trivial (__first, __last, __result); + } +-# endif /* __STL_HAS_WCHAR_T */ ++# endif /* _STLP_HAS_WCHAR_T */ + ++# ifndef _STLP_NO_EXTENSIONS + // uninitialized_copy_n (not part of the C++ standard) + + template +-__STL_INLINE_LOOP ++_STLP_INLINE_LOOP + pair<_InputIter, _ForwardIter> + __uninitialized_copy_n(_InputIter __first, _Size __count, + _ForwardIter __result, +- input_iterator_tag) ++ const input_iterator_tag &) + { + _ForwardIter __cur = __result; +- __STL_TRY { ++ _STLP_TRY { + for ( ; __count > 0 ; --__count, ++__first, ++__cur) + _Construct(&*__cur, *__first); + return pair<_InputIter, _ForwardIter>(__first, __cur); + } +- __STL_UNWIND(_Destroy(__result, __cur)); +-# ifdef __STL_THROW_RETURN_BUG ++ _STLP_UNWIND(_Destroy(__result, __cur)); ++# ifdef _STLP_THROW_RETURN_BUG + return pair<_InputIter, _ForwardIter>(__first, __cur); + # endif + } + +-# if defined(__STL_NONTEMPL_BASE_MATCH_BUG) ++# if defined(_STLP_NONTEMPL_BASE_MATCH_BUG) + template + inline pair<_InputIterator, _ForwardIterator> + __uninitialized_copy_n(_InputIterator __first, _Size __count, + _ForwardIterator __result, +- forward_iterator_tag) { ++ const forward_iterator_tag &) { + return __uninitialized_copy_n(__first, __count, __result, input_iterator_tag()); + } + +@@ -149,7 +126,7 @@ + inline pair<_InputIterator, _ForwardIterator> + __uninitialized_copy_n(_InputIterator __first, _Size __count, + _ForwardIterator __result, +- bidirectional_iterator_tag) { ++ const bidirectional_iterator_tag &) { + return __uninitialized_copy_n(__first, __count, __result, input_iterator_tag()); + } + # endif +@@ -157,111 +134,78 @@ + + template + inline pair<_RandomAccessIter, _ForwardIter> +-__uninitialized_copy_n(_RandomAccessIter __first, _Size __count, +- _ForwardIter __result, +- random_access_iterator_tag) { ++__uninitialized_copy_n(_RandomAccessIter __first, _Size __count, _ForwardIter __result, const random_access_iterator_tag &) { + _RandomAccessIter __last = __first + __count; +- return pair<_RandomAccessIter, _ForwardIter>( +- __last, +- uninitialized_copy(__first, __last, __result)); +-} +- +-template +-inline pair<_InputIter, _ForwardIter> +-__uninitialized_copy_n(_InputIter __first, _Size __count, +- _ForwardIter __result) { +- return __uninitialized_copy_n(__first, __count, __result, +- __ITERATOR_CATEGORY(__first)); ++ return pair<_RandomAccessIter, _ForwardIter>( __last, __uninitialized_copy(__first, __last, __result, ++ _IS_POD_ITER(__result, _ForwardIter))); + } + ++// this is used internally in , which is extension itself. + template + inline pair<_InputIter, _ForwardIter> + uninitialized_copy_n(_InputIter __first, _Size __count, + _ForwardIter __result) { +- return __uninitialized_copy_n(__first, __count, __result, +- __ITERATOR_CATEGORY(__first)); ++ return __uninitialized_copy_n(__first, __count, __result, _STLP_ITERATOR_CATEGORY(__first, _InputIter)); + } ++# endif /* _STLP_NO_EXTENSIONS */ + + // Valid if copy construction is equivalent to assignment, and if the + // destructor is trivial. + template + inline void +-__uninitialized_fill_aux(_ForwardIter __first, _ForwardIter __last, +- const _Tp& __x, __true_type) +-{ +- fill(__first, __last, __x); ++__uninitialized_fill(_ForwardIter __first, _ForwardIter __last, ++ const _Tp& __x, const __true_type&) { ++ _STLP_STD::fill(__first, __last, __x); + } + + template +-__STL_INLINE_LOOP void +-__uninitialized_fill_aux(_ForwardIter __first, _ForwardIter __last, +- const _Tp& __x, __false_type) ++_STLP_INLINE_LOOP void ++__uninitialized_fill(_ForwardIter __first, _ForwardIter __last, ++ const _Tp& __x, const __false_type&) + { + _ForwardIter __cur = __first; +- __STL_TRY { ++ _STLP_TRY { + for ( ; __cur != __last; ++__cur) + _Construct(&*__cur, __x); + } +- __STL_UNWIND(_Destroy(__first, __cur)); +-} +- +-template +-inline void __uninitialized_fill(_ForwardIter __first, +- _ForwardIter __last, const _Tp& __x, _Tp1*) +-{ +- typedef typename __type_traits<_Tp1>::is_POD_type _Is_POD; +- __uninitialized_fill_aux(__first, __last, __x, _Is_POD()); +- ++ _STLP_UNWIND(_Destroy(__first, __cur)); + } + + template +-inline void uninitialized_fill(_ForwardIter __first, +- _ForwardIter __last, +- const _Tp& __x) +-{ +- __uninitialized_fill(__first, __last, __x, __VALUE_TYPE(__first)); ++inline void uninitialized_fill(_ForwardIter __first, _ForwardIter __last, const _Tp& __x) { ++ __uninitialized_fill(__first, __last, __x, _IS_POD_ITER(__first, _ForwardIter)); + } + + // Valid if copy construction is equivalent to assignment, and if the + // destructor is trivial. + template + inline _ForwardIter +-__uninitialized_fill_n_aux(_ForwardIter __first, _Size __n, +- const _Tp& __x, __true_type) +-{ +- return fill_n(__first, __n, __x); ++__uninitialized_fill_n(_ForwardIter __first, _Size __n, ++ const _Tp& __x, const __true_type&) { ++ return _STLP_STD::fill_n(__first, __n, __x); + } + + template +-__STL_INLINE_LOOP _ForwardIter +-__uninitialized_fill_n_aux(_ForwardIter __first, _Size __n, +- const _Tp& __x, __false_type) ++_STLP_INLINE_LOOP _ForwardIter ++__uninitialized_fill_n(_ForwardIter __first, _Size __n, ++ const _Tp& __x, const __false_type&) + { + _ForwardIter __cur = __first; +- __STL_TRY { ++ _STLP_TRY { + for ( ; __n > 0; --__n, ++__cur) + _Construct(&*__cur, __x); + return __cur; + } +- __STL_UNWIND(_Destroy(__first, __cur)); +-# ifdef __STL_THROW_RETURN_BUG ++ _STLP_UNWIND(_Destroy(__first, __cur)); ++# ifdef _STLP_THROW_RETURN_BUG + return __cur; + # endif + } + +-template +-inline _ForwardIter +-__uninitialized_fill_n(_ForwardIter __first, _Size __n, const _Tp& __x, _Tp1*) +-{ +- typedef typename __type_traits<_Tp1>::is_POD_type _Is_POD; +- return __uninitialized_fill_n_aux(__first, __n, __x, _Is_POD()); +-} +- + template + inline _ForwardIter +-uninitialized_fill_n(_ForwardIter __first, _Size __n, const _Tp& __x) +-{ +- return __uninitialized_fill_n(__first, __n, __x, __VALUE_TYPE(__first)); ++uninitialized_fill_n(_ForwardIter __first, _Size __n, const _Tp& __x) { ++ return __uninitialized_fill_n(__first, __n, __x, _IS_POD_ITER(__first, _ForwardIter)); + } + + // Extensions: __uninitialized_copy_copy, __uninitialized_copy_fill, +@@ -276,14 +220,24 @@ + inline _ForwardIter + __uninitialized_copy_copy(_InputIter1 __first1, _InputIter1 __last1, + _InputIter2 __first2, _InputIter2 __last2, +- _ForwardIter __result) ++ _ForwardIter __result, __true_type) ++{ ++ return __uninitialized_copy(__first2, __last2, ++ __uninitialized_copy(__first1, __last1, __result, __true_type()), __true_type()); ++} ++ ++template ++inline _ForwardIter ++__uninitialized_copy_copy(_InputIter1 __first1, _InputIter1 __last1, ++ _InputIter2 __first2, _InputIter2 __last2, ++ _ForwardIter __result, __false_type) + { +- _ForwardIter __mid = uninitialized_copy(__first1, __last1, __result); +- __STL_TRY { +- return uninitialized_copy(__first2, __last2, __mid); ++ _ForwardIter __mid = __uninitialized_copy(__first1, __last1, __result, _IS_POD_ITER(__result, _ForwardIter)); ++ _STLP_TRY { ++ return __uninitialized_copy(__first2, __last2, __mid , _IS_POD_ITER(__result, _ForwardIter)); + } +- __STL_UNWIND(_Destroy(__result, __mid)); +-# ifdef __STL_THROW_RETURN_BUG ++ _STLP_UNWIND(_Destroy(__result, __mid)); ++# ifdef _STLP_THROW_RETURN_BUG + return __mid; + # endif + } +@@ -293,16 +247,16 @@ + // [mid, mid + (last - first)). + template + inline _ForwardIter +-__uninitialized_fill_copy(_ForwardIter __result, _ForwardIter __mid, +- const _Tp& __x, ++__uninitialized_fill_copy(_ForwardIter __result, _ForwardIter __mid, const _Tp& __x, + _InputIter __first, _InputIter __last) + { +- uninitialized_fill(__result, __mid, __x); +- __STL_TRY { +- return uninitialized_copy(__first, __last, __mid); ++ typedef typename __type_traits<_Tp>::is_POD_type _I_POD; ++ __uninitialized_fill(__result, __mid, __x, _I_POD()); ++ _STLP_TRY { ++ return __uninitialized_copy(__first, __last, __mid, _I_POD()); + } +- __STL_UNWIND(_Destroy(__result, __mid)); +-# ifdef __STL_THROW_RETURN_BUG ++ _STLP_UNWIND(_Destroy(__result, __mid)); ++# ifdef _STLP_THROW_RETURN_BUG + return __result; + # endif + } +@@ -316,16 +270,17 @@ + _ForwardIter __first2, _ForwardIter __last2, + const _Tp& __x) + { +- _ForwardIter __mid2 = uninitialized_copy(__first1, __last1, __first2); +- __STL_TRY { +- uninitialized_fill(__mid2, __last2, __x); ++ typedef typename __type_traits<_Tp>::is_POD_type _I_POD; ++ _ForwardIter __mid2 = __uninitialized_copy(__first1, __last1, __first2, _I_POD()); ++ _STLP_TRY { ++ __uninitialized_fill(__mid2, __last2, __x, _I_POD()); + } +- __STL_UNWIND(_Destroy(__first2, __mid2)); ++ _STLP_UNWIND(_Destroy(__first2, __mid2)); + } + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-#endif /* __SGI_STL_INTERNAL_UNINITIALIZED_H */ ++#endif /* _STLP_INTERNAL_UNINITIALIZED_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_valarray.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_valarray.c +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_valarray.c Sat Feb 24 10:45:15 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_valarray.c Sun Aug 11 18:59:25 2002 +@@ -23,10 +23,22 @@ + * modified is included with the above copyright notice. + * + */ +-#ifndef __STL_VALARRAY_C +-#define __STL_VALARRAY_C ++#ifndef _STLP_VALARRAY_C ++#define _STLP_VALARRAY_C + +-__STL_BEGIN_NAMESPACE ++#ifndef _STLP_VALARRAY_H ++# include ++#endif ++ ++_STLP_BEGIN_NAMESPACE ++ ++template ++_Valarray_bool valarray<_Tp>:: operator!() const { ++ _Valarray_bool __tmp(this->size(), _Valarray_bool::_NoInit()); ++ for (size_t __i = 0; __i < this->size(); ++__i) ++ __tmp[__i] = !(*this)[__i]; ++ return __tmp; ++} + + // Behavior is undefined if __x and *this have different sizes + template +@@ -163,7 +175,7 @@ + // have to be careful with negative numbers, since the sign of a % b + // is unspecified when a < 0. + long __n = __m; +- if (this->size() < numeric_limits::max()) ++ if (this->size() < (numeric_limits::max)()) + __n %= long(this->size()); + if (__n < 0) + __n += this->size(); +@@ -176,9 +188,9 @@ + return __tmp; + } + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-#endif /* __STL_VALARRAY_C */ ++#endif /* _STLP_VALARRAY_C */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_valarray.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_valarray.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_valarray.h Sat Feb 24 10:45:16 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_valarray.h Sun Aug 11 18:59:25 2002 +@@ -16,39 +16,31 @@ + * + */ + +-#ifndef __SGI_STL_VALARRAY_H +-#define __SGI_STL_VALARRAY_H ++#ifndef _STLP_VALARRAY_H ++#define _STLP_VALARRAY_H + +-#ifndef __STLPORT_CMATH ++#ifndef _STLP_CMATH + #include + #endif +-#ifndef __STLPORT_CSTDDEF +-#include +-#endif +-#ifndef __STLPORT_NEW ++#ifndef _STLP_NEW_HEADER + #include + #endif +-#ifndef __SGI_STL_INTERNAL_FUNCTIONAL_H +-# include +-#endif +-#ifndef __SGI_STL_INTERNAL_ALGO_H ++#ifndef _STLP_INTERNAL_ALGO_H + #include + #endif +-#ifndef __SGI_STL_INTERNAL_NUMERIC_H ++#ifndef _STLP_INTERNAL_NUMERIC_H + #include + #endif +-#ifndef __STLPORT_LIMITS_H ++#ifndef _STLP_LIMITS_H + #include + #endif + +- +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + class slice; + class gslice; + + template class valarray; +-// fbp : those are for MSVC + typedef valarray _Valarray_bool; + typedef valarray _Valarray_size_t; + +@@ -78,10 +70,10 @@ + if (__n != 0) { + _M_first = __STATIC_CAST(_Tp*, (malloc(__n * sizeof(_Tp)))); + _M_size = __n; +-# if !defined(__STL_NO_BAD_ALLOC) && defined(__STL_USE_EXCEPTIONS) ++# if !defined(_STLP_NO_BAD_ALLOC) && defined(_STLP_USE_EXCEPTIONS) + if (_M_first == 0) { + _M_size = 0; +- throw __STLPORT_STD::bad_alloc(); ++ throw _STLP_STD::bad_alloc(); + } + # endif + } +@@ -131,22 +123,21 @@ + // Extension: constructor that doesn't initialize valarray elements to a + // specific value. This is faster for types such as int and double. + private: +- void _M_initialize(__true_type) {} +- void _M_initialize(__false_type) ++ void _M_initialize(const __true_type&) {} ++ void _M_initialize(const __false_type&) + { uninitialized_fill_n(this->_M_first, this->_M_size, value_type()); } + + public: + struct _NoInit {}; + valarray(size_t __n, _NoInit) : _Valarray_base<_Tp>(__n) { +- typedef typename __type_traits<_Tp>::has_trivial_default_constructor +- _Is_Trivial; ++ typedef typename __type_traits<_Tp>::has_trivial_default_constructor _Is_Trivial; + _M_initialize(_Is_Trivial()); + } + + public: // Assignment + // Basic assignment. Note that 'x = y' is undefined if x.size() != y.size() + valarray<_Tp>& operator=(const valarray<_Tp>& __x) { +- __STL_ASSERT(__x.size() == this->size()) ++ _STLP_ASSERT(__x.size() == this->size()) + if (this != &__x) + copy(__x._M_first, __x._M_first + __x._M_size, this->_M_first); + return *this; +@@ -196,12 +187,7 @@ + return __tmp; + } + +- _Valarray_bool operator!() const { +- _Valarray_bool __tmp(this->size(), _Valarray_bool::_NoInit()); +- for (size_t __i = 0; __i < this->size(); ++__i) +- __tmp[__i] = !(*this)[__i]; +- return __tmp; +- } ++ _Valarray_bool operator!() const; + + public: // Scalar computed assignment. + valarray<_Tp>& operator*= (const value_type& __x) { +@@ -334,11 +320,11 @@ + } + + // The result is undefined for zero-length arrays +- value_type min() const { ++ value_type (min) () const { + return *min_element(this->_M_first + 0, this->_M_first + this->_M_size); + } + +- value_type max() const { ++ value_type (max) () const { + return *max_element(this->_M_first + 0, this->_M_first + this->_M_size); + } + +@@ -373,7 +359,7 @@ + // undefined if the two arrays do not have the same length. + + template +-inline valarray<_Tp> __STL_CALL operator*(const valarray<_Tp>& __x, ++inline valarray<_Tp> _STLP_CALL operator*(const valarray<_Tp>& __x, + const valarray<_Tp>& __y) { + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); +@@ -383,7 +369,7 @@ + } + + template +-inline valarray<_Tp> __STL_CALL operator/(const valarray<_Tp>& __x, ++inline valarray<_Tp> _STLP_CALL operator/(const valarray<_Tp>& __x, + const valarray<_Tp>& __y) { + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); +@@ -393,7 +379,7 @@ + } + + template +-inline valarray<_Tp> __STL_CALL operator%(const valarray<_Tp>& __x, ++inline valarray<_Tp> _STLP_CALL operator%(const valarray<_Tp>& __x, + const valarray<_Tp>& __y) { + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); +@@ -403,7 +389,7 @@ + } + + template +-inline valarray<_Tp> __STL_CALL operator+(const valarray<_Tp>& __x, ++inline valarray<_Tp> _STLP_CALL operator+(const valarray<_Tp>& __x, + const valarray<_Tp>& __y) { + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); +@@ -413,7 +399,7 @@ + } + + template +-inline valarray<_Tp> __STL_CALL operator-(const valarray<_Tp>& __x, ++inline valarray<_Tp> _STLP_CALL operator-(const valarray<_Tp>& __x, + const valarray<_Tp>& __y) { + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); +@@ -423,7 +409,7 @@ + } + + template +-inline valarray<_Tp> __STL_CALL operator^(const valarray<_Tp>& __x, ++inline valarray<_Tp> _STLP_CALL operator^(const valarray<_Tp>& __x, + const valarray<_Tp>& __y) { + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); +@@ -433,7 +419,7 @@ + } + + template +-inline valarray<_Tp> __STL_CALL operator&(const valarray<_Tp>& __x, ++inline valarray<_Tp> _STLP_CALL operator&(const valarray<_Tp>& __x, + const valarray<_Tp>& __y) { + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); +@@ -443,7 +429,7 @@ + } + + template +-inline valarray<_Tp> __STL_CALL operator|(const valarray<_Tp>& __x, ++inline valarray<_Tp> _STLP_CALL operator|(const valarray<_Tp>& __x, + const valarray<_Tp>& __y) { + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); +@@ -453,7 +439,7 @@ + } + + template +-inline valarray<_Tp> __STL_CALL operator<<(const valarray<_Tp>& __x, ++inline valarray<_Tp> _STLP_CALL operator<<(const valarray<_Tp>& __x, + const valarray<_Tp>& __y) { + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); +@@ -463,7 +449,7 @@ + } + + template +-inline valarray<_Tp> __STL_CALL operator>>(const valarray<_Tp>& __x, ++inline valarray<_Tp> _STLP_CALL operator>>(const valarray<_Tp>& __x, + const valarray<_Tp>& __y) { + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); +@@ -475,7 +461,7 @@ + // Binary arithmetic operations between an array and a scalar. + + template +-inline valarray<_Tp> __STL_CALL operator*(const valarray<_Tp>& __x, const _Tp& __c) { ++inline valarray<_Tp> _STLP_CALL operator*(const valarray<_Tp>& __x, const _Tp& __c) { + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +@@ -484,7 +470,7 @@ + } + + template +-inline valarray<_Tp> __STL_CALL operator*(const _Tp& __c, const valarray<_Tp>& __x) { ++inline valarray<_Tp> _STLP_CALL operator*(const _Tp& __c, const valarray<_Tp>& __x) { + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +@@ -493,7 +479,7 @@ + } + + template +-inline valarray<_Tp> __STL_CALL operator/(const valarray<_Tp>& __x, const _Tp& __c) { ++inline valarray<_Tp> _STLP_CALL operator/(const valarray<_Tp>& __x, const _Tp& __c) { + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +@@ -502,7 +488,7 @@ + } + + template +-inline valarray<_Tp> __STL_CALL operator/(const _Tp& __c, const valarray<_Tp>& __x) { ++inline valarray<_Tp> _STLP_CALL operator/(const _Tp& __c, const valarray<_Tp>& __x) { + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +@@ -511,7 +497,7 @@ + } + + template +-inline valarray<_Tp> __STL_CALL operator%(const valarray<_Tp>& __x, const _Tp& __c) { ++inline valarray<_Tp> _STLP_CALL operator%(const valarray<_Tp>& __x, const _Tp& __c) { + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +@@ -520,7 +506,7 @@ + } + + template +-inline valarray<_Tp> __STL_CALL operator%(const _Tp& __c, const valarray<_Tp>& __x) { ++inline valarray<_Tp> _STLP_CALL operator%(const _Tp& __c, const valarray<_Tp>& __x) { + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +@@ -529,7 +515,7 @@ + } + + template +-inline valarray<_Tp> __STL_CALL operator+(const valarray<_Tp>& __x, const _Tp& __c) { ++inline valarray<_Tp> _STLP_CALL operator+(const valarray<_Tp>& __x, const _Tp& __c) { + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +@@ -538,7 +524,7 @@ + } + + template +-inline valarray<_Tp> __STL_CALL operator+(const _Tp& __c, const valarray<_Tp>& __x) { ++inline valarray<_Tp> _STLP_CALL operator+(const _Tp& __c, const valarray<_Tp>& __x) { + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +@@ -547,7 +533,7 @@ + } + + template +-inline valarray<_Tp> __STL_CALL operator-(const valarray<_Tp>& __x, const _Tp& __c) { ++inline valarray<_Tp> _STLP_CALL operator-(const valarray<_Tp>& __x, const _Tp& __c) { + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +@@ -556,7 +542,7 @@ + } + + template +-inline valarray<_Tp> __STL_CALL operator-(const _Tp& __c, const valarray<_Tp>& __x) { ++inline valarray<_Tp> _STLP_CALL operator-(const _Tp& __c, const valarray<_Tp>& __x) { + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +@@ -565,7 +551,7 @@ + } + + template +-inline valarray<_Tp> __STL_CALL operator^(const valarray<_Tp>& __x, const _Tp& __c) { ++inline valarray<_Tp> _STLP_CALL operator^(const valarray<_Tp>& __x, const _Tp& __c) { + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +@@ -574,7 +560,7 @@ + } + + template +-inline valarray<_Tp> __STL_CALL operator^(const _Tp& __c, const valarray<_Tp>& __x) { ++inline valarray<_Tp> _STLP_CALL operator^(const _Tp& __c, const valarray<_Tp>& __x) { + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +@@ -583,7 +569,7 @@ + } + + template +-inline valarray<_Tp> __STL_CALL operator&(const valarray<_Tp>& __x, const _Tp& __c) { ++inline valarray<_Tp> _STLP_CALL operator&(const valarray<_Tp>& __x, const _Tp& __c) { + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +@@ -592,7 +578,7 @@ + } + + template +-inline valarray<_Tp> __STL_CALL operator&(const _Tp& __c, const valarray<_Tp>& __x) { ++inline valarray<_Tp> _STLP_CALL operator&(const _Tp& __c, const valarray<_Tp>& __x) { + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +@@ -601,7 +587,7 @@ + } + + template +-inline valarray<_Tp> __STL_CALL operator|(const valarray<_Tp>& __x, const _Tp& __c) { ++inline valarray<_Tp> _STLP_CALL operator|(const valarray<_Tp>& __x, const _Tp& __c) { + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +@@ -610,7 +596,7 @@ + } + + template +-inline valarray<_Tp> __STL_CALL operator|(const _Tp& __c, const valarray<_Tp>& __x) { ++inline valarray<_Tp> _STLP_CALL operator|(const _Tp& __c, const valarray<_Tp>& __x) { + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +@@ -619,7 +605,7 @@ + } + + template +-inline valarray<_Tp> __STL_CALL operator<<(const valarray<_Tp>& __x, const _Tp& __c) { ++inline valarray<_Tp> _STLP_CALL operator<<(const valarray<_Tp>& __x, const _Tp& __c) { + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +@@ -628,7 +614,7 @@ + } + + template +-inline valarray<_Tp> __STL_CALL operator<<(const _Tp& __c, const valarray<_Tp>& __x) { ++inline valarray<_Tp> _STLP_CALL operator<<(const _Tp& __c, const valarray<_Tp>& __x) { + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +@@ -637,7 +623,7 @@ + } + + template +-inline valarray<_Tp> __STL_CALL operator>>(const valarray<_Tp>& __x, const _Tp& __c) { ++inline valarray<_Tp> _STLP_CALL operator>>(const valarray<_Tp>& __x, const _Tp& __c) { + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +@@ -646,7 +632,7 @@ + } + + template +-inline valarray<_Tp> __STL_CALL operator>>(const _Tp& __c, const valarray<_Tp>& __x) { ++inline valarray<_Tp> _STLP_CALL operator>>(const _Tp& __c, const valarray<_Tp>& __x) { + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +@@ -659,7 +645,7 @@ + // not do what you might at first expect. + + template +-inline _Valarray_bool __STL_CALL operator==(const valarray<_Tp>& __x, ++inline _Valarray_bool _STLP_CALL operator==(const valarray<_Tp>& __x, + const valarray<_Tp>& __y) + { + _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); +@@ -669,7 +655,7 @@ + } + + template +-inline _Valarray_bool __STL_CALL operator<(const valarray<_Tp>& __x, ++inline _Valarray_bool _STLP_CALL operator<(const valarray<_Tp>& __x, + const valarray<_Tp>& __y) + { + _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); +@@ -678,10 +664,10 @@ + return __tmp; + } + +-#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE ++#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE + + template +-inline _Valarray_bool __STL_CALL operator!=(const valarray<_Tp>& __x, ++inline _Valarray_bool _STLP_CALL operator!=(const valarray<_Tp>& __x, + const valarray<_Tp>& __y) + { + _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); +@@ -691,7 +677,7 @@ + } + + template +-inline _Valarray_bool __STL_CALL operator>(const valarray<_Tp>& __x, ++inline _Valarray_bool _STLP_CALL operator>(const valarray<_Tp>& __x, + const valarray<_Tp>& __y) + { + _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); +@@ -701,7 +687,7 @@ + } + + template +-inline _Valarray_bool __STL_CALL operator<=(const valarray<_Tp>& __x, ++inline _Valarray_bool _STLP_CALL operator<=(const valarray<_Tp>& __x, + const valarray<_Tp>& __y) + { + _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); +@@ -711,7 +697,7 @@ + } + + template +-inline _Valarray_bool __STL_CALL operator>=(const valarray<_Tp>& __x, ++inline _Valarray_bool _STLP_CALL operator>=(const valarray<_Tp>& __x, + const valarray<_Tp>& __y) + { + _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); +@@ -720,11 +706,11 @@ + return __tmp; + } + +-#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ ++#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ + // fbp : swap ? + + template +-inline _Valarray_bool __STL_CALL operator&&(const valarray<_Tp>& __x, ++inline _Valarray_bool _STLP_CALL operator&&(const valarray<_Tp>& __x, + const valarray<_Tp>& __y) + { + _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); +@@ -734,7 +720,7 @@ + } + + template +-inline _Valarray_bool __STL_CALL operator||(const valarray<_Tp>& __x, ++inline _Valarray_bool _STLP_CALL operator||(const valarray<_Tp>& __x, + const valarray<_Tp>& __y) + { + _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); +@@ -746,7 +732,7 @@ + // Logical operations between an array and a scalar. + + template +-inline _Valarray_bool __STL_CALL operator==(const valarray<_Tp>& __x, const _Tp& __c) ++inline _Valarray_bool _STLP_CALL operator==(const valarray<_Tp>& __x, const _Tp& __c) + { + _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +@@ -755,7 +741,7 @@ + } + + template +-inline _Valarray_bool __STL_CALL operator==(const _Tp& __c, const valarray<_Tp>& __x) ++inline _Valarray_bool _STLP_CALL operator==(const _Tp& __c, const valarray<_Tp>& __x) + { + _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +@@ -764,7 +750,7 @@ + } + + template +-inline _Valarray_bool __STL_CALL operator!=(const valarray<_Tp>& __x, const _Tp& __c) ++inline _Valarray_bool _STLP_CALL operator!=(const valarray<_Tp>& __x, const _Tp& __c) + { + _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +@@ -773,7 +759,7 @@ + } + + template +-inline _Valarray_bool __STL_CALL operator!=(const _Tp& __c, const valarray<_Tp>& __x) ++inline _Valarray_bool _STLP_CALL operator!=(const _Tp& __c, const valarray<_Tp>& __x) + { + _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +@@ -782,7 +768,7 @@ + } + + template +-inline _Valarray_bool __STL_CALL operator<(const valarray<_Tp>& __x, const _Tp& __c) ++inline _Valarray_bool _STLP_CALL operator<(const valarray<_Tp>& __x, const _Tp& __c) + { + _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +@@ -791,7 +777,7 @@ + } + + template +-inline _Valarray_bool __STL_CALL operator<(const _Tp& __c, const valarray<_Tp>& __x) ++inline _Valarray_bool _STLP_CALL operator<(const _Tp& __c, const valarray<_Tp>& __x) + { + _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +@@ -800,7 +786,7 @@ + } + + template +-inline _Valarray_bool __STL_CALL operator>(const valarray<_Tp>& __x, const _Tp& __c) ++inline _Valarray_bool _STLP_CALL operator>(const valarray<_Tp>& __x, const _Tp& __c) + { + _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +@@ -809,7 +795,7 @@ + } + + template +-inline _Valarray_bool __STL_CALL operator>(const _Tp& __c, const valarray<_Tp>& __x) ++inline _Valarray_bool _STLP_CALL operator>(const _Tp& __c, const valarray<_Tp>& __x) + { + _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +@@ -818,7 +804,7 @@ + } + + template +-inline _Valarray_bool __STL_CALL operator<=(const valarray<_Tp>& __x, const _Tp& __c) ++inline _Valarray_bool _STLP_CALL operator<=(const valarray<_Tp>& __x, const _Tp& __c) + { + _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +@@ -827,7 +813,7 @@ + } + + template +-inline _Valarray_bool __STL_CALL operator<=(const _Tp& __c, const valarray<_Tp>& __x) ++inline _Valarray_bool _STLP_CALL operator<=(const _Tp& __c, const valarray<_Tp>& __x) + { + _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +@@ -836,7 +822,7 @@ + } + + template +-inline _Valarray_bool __STL_CALL operator>=(const valarray<_Tp>& __x, const _Tp& __c) ++inline _Valarray_bool _STLP_CALL operator>=(const valarray<_Tp>& __x, const _Tp& __c) + { + _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +@@ -845,7 +831,7 @@ + } + + template +-inline _Valarray_bool __STL_CALL operator>=(const _Tp& __c, const valarray<_Tp>& __x) ++inline _Valarray_bool _STLP_CALL operator>=(const _Tp& __c, const valarray<_Tp>& __x) + { + _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +@@ -854,7 +840,7 @@ + } + + template +-inline _Valarray_bool __STL_CALL operator&&(const valarray<_Tp>& __x, const _Tp& __c) ++inline _Valarray_bool _STLP_CALL operator&&(const valarray<_Tp>& __x, const _Tp& __c) + { + _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +@@ -863,7 +849,7 @@ + } + + template +-inline _Valarray_bool __STL_CALL operator&&(const _Tp& __c, const valarray<_Tp>& __x) ++inline _Valarray_bool _STLP_CALL operator&&(const _Tp& __c, const valarray<_Tp>& __x) + { + _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +@@ -872,7 +858,7 @@ + } + + template +-inline _Valarray_bool __STL_CALL operator||(const valarray<_Tp>& __x, const _Tp& __c) ++inline _Valarray_bool _STLP_CALL operator||(const valarray<_Tp>& __x, const _Tp& __c) + { + _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +@@ -881,7 +867,7 @@ + } + + template +-inline _Valarray_bool __STL_CALL operator||(const _Tp& __c, const valarray<_Tp>& __x) ++inline _Valarray_bool _STLP_CALL operator||(const _Tp& __c, const valarray<_Tp>& __x) + { + _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +@@ -897,7 +883,7 @@ + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +- __tmp[__i] = __STL_DO_ABS(_Tp)(__x[__i]); ++ __tmp[__i] = _STLP_DO_ABS(_Tp)(__x[__i]); + return __tmp; + } + +@@ -906,7 +892,7 @@ + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +- __tmp[__i] = __STL_DO_ACOS(_Tp)(__x[__i]); ++ __tmp[__i] = _STLP_DO_ACOS(_Tp)(__x[__i]); + return __tmp; + } + +@@ -915,7 +901,7 @@ + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +- __tmp[__i] = __STL_DO_ASIN(_Tp)(__x[__i]); ++ __tmp[__i] = _STLP_DO_ASIN(_Tp)(__x[__i]); + return __tmp; + } + +@@ -924,7 +910,7 @@ + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +- __tmp[__i] = __STL_DO_ATAN(_Tp)(__x[__i]); ++ __tmp[__i] = _STLP_DO_ATAN(_Tp)(__x[__i]); + return __tmp; + } + +@@ -934,7 +920,7 @@ + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +- __tmp[__i] = __STL_DO_ATAN2(_Tp)(__x[__i], __y[__i]); ++ __tmp[__i] = _STLP_DO_ATAN2(_Tp)(__x[__i], __y[__i]); + return __tmp; + } + +@@ -943,7 +929,7 @@ + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +- __tmp[__i] = __STL_DO_ATAN2(_Tp)(__x[__i], __c); ++ __tmp[__i] = _STLP_DO_ATAN2(_Tp)(__x[__i], __c); + return __tmp; + } + +@@ -952,7 +938,7 @@ + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +- __tmp[__i] = __STL_DO_ATAN2(_Tp)(__c, __x[__i]); ++ __tmp[__i] = _STLP_DO_ATAN2(_Tp)(__c, __x[__i]); + return __tmp; + } + +@@ -961,7 +947,7 @@ + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +- __tmp[__i] = __STL_DO_COS(_Tp)(__x[__i]); ++ __tmp[__i] = _STLP_DO_COS(_Tp)(__x[__i]); + return __tmp; + } + +@@ -970,7 +956,7 @@ + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +- __tmp[__i] = __STL_DO_COSH(_Tp)(__x[__i]); ++ __tmp[__i] = _STLP_DO_COSH(_Tp)(__x[__i]); + return __tmp; + } + +@@ -979,7 +965,7 @@ + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +- __tmp[__i] = __STL_DO_EXP(_Tp)(__x[__i]); ++ __tmp[__i] = _STLP_DO_EXP(_Tp)(__x[__i]); + return __tmp; + } + +@@ -988,7 +974,7 @@ + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +- __tmp[__i] = __STL_DO_LOG(_Tp)(__x[__i]); ++ __tmp[__i] = _STLP_DO_LOG(_Tp)(__x[__i]); + return __tmp; + } + +@@ -997,7 +983,7 @@ + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +- __tmp[__i] = __STL_DO_LOG10(_Tp)(__x[__i]); ++ __tmp[__i] = _STLP_DO_LOG10(_Tp)(__x[__i]); + return __tmp; + } + +@@ -1007,7 +993,7 @@ + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +- __tmp[__i] = __STL_DO_POW(_Tp)(__x[__i], __y[__i]); ++ __tmp[__i] = _STLP_DO_POW(_Tp)(__x[__i], __y[__i]); + return __tmp; + } + +@@ -1016,7 +1002,7 @@ + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +- __tmp[__i] = __STL_DO_POW(_Tp)(__x[__i], __c); ++ __tmp[__i] = _STLP_DO_POW(_Tp)(__x[__i], __c); + return __tmp; + } + +@@ -1025,7 +1011,7 @@ + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +- __tmp[__i] = __STL_DO_POW(_Tp)(__c, __x[__i]); ++ __tmp[__i] = _STLP_DO_POW(_Tp)(__c, __x[__i]); + return __tmp; + } + +@@ -1034,7 +1020,7 @@ + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +- __tmp[__i] = __STL_DO_SIN(_Tp)(__x[__i]); ++ __tmp[__i] = _STLP_DO_SIN(_Tp)(__x[__i]); + return __tmp; + } + +@@ -1043,7 +1029,7 @@ + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +- __tmp[__i] = __STL_DO_SINH(_Tp)(__x[__i]); ++ __tmp[__i] = _STLP_DO_SINH(_Tp)(__x[__i]); + return __tmp; + } + +@@ -1052,7 +1038,7 @@ + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +- __tmp[__i] = __STL_DO_SQRT(_Tp)(__x[__i]); ++ __tmp[__i] = _STLP_DO_SQRT(_Tp)(__x[__i]); + return __tmp; + } + +@@ -1061,7 +1047,7 @@ + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +- __tmp[__i] = __STL_DO_TAN(_Tp)(__x[__i]); ++ __tmp[__i] = _STLP_DO_TAN(_Tp)(__x[__i]); + return __tmp; + } + +@@ -1070,7 +1056,7 @@ + typedef typename valarray<_Tp>::_NoInit _NoInit; + valarray<_Tp> __tmp(__x.size(), _NoInit()); + for (size_t __i = 0; __i < __x.size(); ++__i) +- __tmp[__i] = __STL_DO_TANH(_Tp)(__x[__i]); ++ __tmp[__i] = _STLP_DO_TANH(_Tp)(__x[__i]); + return __tmp; + } + +@@ -1264,7 +1250,10 @@ + : 0; + } + ++# ifndef __HP_aCC + private: ++# endif ++ + size_t _M_start; + _Valarray_size_t _M_lengths; + _Valarray_size_t _M_strides; +@@ -1654,13 +1643,13 @@ + return indirect_array<_Tp>(__addr, *this); + } + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-# if !defined (__STL_LINK_TIME_INSTANTIATION) ++# if !defined (_STLP_LINK_TIME_INSTANTIATION) + # include + # endif + +-#endif /* __SGI_STL_VALARRAY */ ++#endif /* _STLP_VALARRAY */ + + + // Local Variables: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_vector.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_vector.c +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_vector.c Sat Feb 24 10:45:16 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_vector.c Sun Aug 11 18:59:25 2002 +@@ -23,147 +23,67 @@ + * modified is included with the above copyright notice. + * + */ +-#ifndef __STL_VECTOR_C +-#define __STL_VECTOR_C ++#ifndef _STLP_VECTOR_C ++#define _STLP_VECTOR_C + +-# if defined ( __STL_NESTED_TYPE_PARAM_BUG ) +-# define __pointer__ _Tp* +-# define __const_pointer__ const _Tp* +-# define __size_type__ size_t +-# define __difference_type__ ptrdiff_t +-# else +-# define __pointer__ pointer +-# define __const_pointer__ const_pointer +-# define __size_type__ size_type +-# define __difference_type__ difference_type ++# if !defined (_STLP_INTERNAL_VECTOR_H) ++# include + # endif + +-# define __iterator__ __pointer__ +-# define __const_iterator__ __const_pointer__ ++# if defined ( _STLP_NESTED_TYPE_PARAM_BUG ) ++# define iterator _Tp* ++# define size_type size_t ++# endif + + # undef vector + # define vector __WORKAROUND_DBG_RENAME(vector) + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + template + void +-__vector__<_Tp, _Alloc>::reserve(__size_type__ __n) { ++__vector__<_Tp, _Alloc>::reserve(size_type __n) { + if (capacity() < __n) { + const size_type __old_size = size(); + pointer __tmp; +- if (_M_start) { +- __tmp = _M_allocate_and_copy(__n, _M_start, _M_finish); +- _Destroy(_M_start, _M_finish); +- _M_end_of_storage.deallocate(_M_start, _M_end_of_storage._M_data - _M_start); +- } else { +- __tmp = _M_end_of_storage.allocate(__n); ++ if (this->_M_start) { ++ __tmp = _M_allocate_and_copy(__n, this->_M_start, this->_M_finish); ++ _M_clear(); ++ } else { ++ __tmp = this->_M_end_of_storage.allocate(__n); + } +- _M_start = __tmp; +- _M_finish = __tmp + __old_size; +- _M_end_of_storage._M_data = _M_start + __n; ++ _M_set(__tmp, __tmp + __old_size, __tmp + __n); + } + } + +-#if defined (__STL_MEMBER_TEMPLATES) && ! defined (__STL_INLINE_MEMBER_TEMPLATES) +- +-template template +-void +-__vector__<_Tp, _Alloc>::_M_assign_aux(_ForwardIter __first, _ForwardIter __last, +- forward_iterator_tag) { +- size_type __len = 0; +- distance(__first, __last, __len); +- +- if (__len > capacity()) { +- iterator __tmp = _M_allocate_and_copy(__len, __first, __last); +- _Destroy(_M_start, _M_finish); +- _M_end_of_storage.deallocate(_M_start, _M_end_of_storage._M_data - _M_start); +- _M_start = __tmp; +- _M_end_of_storage._M_data = _M_finish = _M_start + __len; +- } +- else if (size() >= __len) { +- iterator __new_finish = copy(__first, __last, _M_start); +- _Destroy(__new_finish, _M_finish); +- _M_finish = __new_finish; +- } +- else { +- _ForwardIter __mid = __first; +- advance(__mid, size()); +- copy(__first, __mid, _M_start); +- _M_finish = uninitialized_copy(__mid, __last, _M_finish); +- } +-} +- +-#endif /* __STL_MEMBER_TEMPLATES */ +- +- +-#if !defined ( __STL_MEMBER_TEMPLATES ) + template + void +-__vector__<_Tp, _Alloc>::insert( +- __iterator__ __position, +- __const_iterator__ __first, +- __const_iterator__ __last +- ) +-#elif ! defined (__STL_INLINE_MEMBER_TEMPLATES) +-template template +-void __vector__<_Tp, _Alloc>::_M_range_insert( +- __iterator__ __position, +- _ForwardIterator __first, +- _ForwardIterator __last, +- forward_iterator_tag) +-# endif /* MEMBER_TEMPLATES */ +- +-# if !( defined ( __STL_MEMBER_TEMPLATES ) && defined (__STL_INLINE_MEMBER_TEMPLATES)) +-{ +- if (__first != __last) { +- size_type __n = 0; +- distance(__first, __last, __n); +- if (size_type(_M_end_of_storage._M_data - _M_finish) >= __n) { +- const size_type __elems_after = _M_finish - __position; +- pointer __old_finish = _M_finish; ++__vector__<_Tp, _Alloc>::_M_fill_insert( ++ iterator __position, ++ size_type __n, const _Tp& __x) { ++ if (__n != 0) { ++ if (size_type(this->_M_end_of_storage._M_data - this->_M_finish) >= __n) { ++ _Tp __x_copy = __x; ++ const size_type __elems_after = this->_M_finish - __position; ++ pointer __old_finish = this->_M_finish; + if (__elems_after > __n) { +- uninitialized_copy(_M_finish - __n, _M_finish, _M_finish); +- _M_finish += __n; +- copy_backward(__position, __old_finish - __n, __old_finish); +- copy(__first, __last, __position); ++ __uninitialized_copy(this->_M_finish - __n, this->_M_finish, this->_M_finish, _IsPODType()); ++ this->_M_finish += __n; ++ __copy_backward_ptrs(__position, __old_finish - __n, __old_finish, _TrivialAss()); ++ _STLP_STD::fill(__position, __position + __n, __x_copy); + } + else { +-# if (defined ( __STL_MEMBER_TEMPLATES ) && ! defined (__STL_INLINE_MEMBER_TEMPLATES)) +- _ForwardIterator __mid = __first; +- advance(__mid, __elems_after); +-# else +- __const_pointer__ __mid = __first + __elems_after; +-# endif +- uninitialized_copy(__mid, __last, _M_finish); +- _M_finish += __n - __elems_after; +- uninitialized_copy(__position, __old_finish, _M_finish); +- _M_finish += __elems_after; +- copy(__first, __mid, __position); ++ uninitialized_fill_n(this->_M_finish, __n - __elems_after, __x_copy); ++ this->_M_finish += __n - __elems_after; ++ __uninitialized_copy(__position, __old_finish, this->_M_finish, _IsPODType()); ++ this->_M_finish += __elems_after; ++ _STLP_STD::fill(__position, __old_finish, __x_copy); + } + } +- else { +- const size_type __old_size = size(); +- const size_type __len = __old_size + max(__old_size, __n); +- pointer __new_start = _M_end_of_storage.allocate(__len); +- pointer __new_finish = __new_start; +- __STL_TRY { +- __new_finish = uninitialized_copy(_M_start, __position, __new_start); +- __new_finish = uninitialized_copy(__first, __last, __new_finish); +- __new_finish +- = uninitialized_copy(__position, _M_finish, __new_finish); +- } +- __STL_UNWIND((_Destroy(__new_start,__new_finish), +- _M_end_of_storage.deallocate(__new_start,__len))); +- _Destroy(_M_start, _M_finish); +- _M_end_of_storage.deallocate(_M_start, _M_end_of_storage._M_data - _M_start); +- _M_start = __new_start; +- _M_finish = __new_finish; +- _M_end_of_storage._M_data = __new_start + __len; +- } ++ else ++ _M_insert_overflow(__position, __x, _IsPODType(), __n); + } + } +-# endif + + template + __vector__<_Tp,_Alloc>& +@@ -173,20 +93,19 @@ + const size_type __xlen = __x.size(); + if (__xlen > capacity()) { + pointer __tmp = _M_allocate_and_copy(__xlen, (const_pointer)__x._M_start+0, (const_pointer)__x._M_finish+0); +- _Destroy(_M_start, _M_finish); +- _M_end_of_storage.deallocate(_M_start, _M_end_of_storage._M_data - _M_start); +- _M_start = __tmp; +- _M_end_of_storage._M_data = _M_start + __xlen; ++ _M_clear(); ++ this->_M_start = __tmp; ++ this->_M_end_of_storage._M_data = this->_M_start + __xlen; + } + else if (size() >= __xlen) { +- pointer __i = copy((const_pointer)__x._M_start+0, (const_pointer)__x._M_finish+0, _M_start); +- _Destroy(__i, _M_finish); ++ pointer __i = __copy_ptrs((const_pointer)__x._M_start+0, (const_pointer)__x._M_finish+0, (pointer)this->_M_start, _TrivialAss()); ++ _Destroy(__i, this->_M_finish); + } + else { +- copy((const_pointer)__x._M_start, (const_pointer)__x._M_start + size(), _M_start); +- uninitialized_copy((const_pointer)__x._M_start + size(), (const_pointer)__x._M_finish+0, _M_finish); ++ __copy_ptrs((const_pointer)__x._M_start, (const_pointer)__x._M_start + size(), (pointer)this->_M_start, _TrivialAss()); ++ __uninitialized_copy((const_pointer)__x._M_start + size(), (const_pointer)__x._M_finish+0, this->_M_finish, _IsPODType()); + } +- _M_finish = _M_start + __xlen; ++ this->_M_finish = this->_M_start + __xlen; + } + return *this; + } +@@ -199,83 +118,19 @@ + } + else if (__n > size()) { + fill(begin(), end(), __val); +- _M_finish = uninitialized_fill_n(_M_finish, __n - size(), __val); ++ this->_M_finish = _STLP_STD::uninitialized_fill_n(this->_M_finish, __n - size(), __val); + } + else +- erase(fill_n(begin(), __n, __val), end()); +-} +- +-template +-void +-__vector__<_Tp, _Alloc>::_M_insert_overflow(_Tp* __position, const _Tp& __x, size_t __fill_len) +-{ +- const size_type __old_size = size(); +- const size_type __len = __old_size + max(__old_size, __fill_len); +- +- pointer __new_start = _M_end_of_storage.allocate(__len); +- pointer __new_finish = __new_start; +- __STL_TRY { +- __new_finish = uninitialized_copy(_M_start, __position, __new_start); +- // handle insertion +- if (__fill_len==1) { +- _Construct(__new_finish, __x); +- ++__new_finish; +- } +- else +- __new_finish = uninitialized_fill_n(__new_finish, __fill_len, __x); +- // copy remainder +- __new_finish = uninitialized_copy(__position, _M_finish, __new_finish); +- } +- __STL_UNWIND((_Destroy(__new_start,__new_finish), +- _M_end_of_storage.deallocate(__new_start,__len))); +- _Destroy(_M_start, _M_finish); +- _M_end_of_storage.deallocate(_M_start, _M_end_of_storage._M_data - _M_start); +- _M_start = __new_start; +- _M_finish = __new_finish; +- _M_end_of_storage._M_data = __new_start + __len; +-} +- +-template +-void +-__vector__<_Tp, _Alloc>::_M_fill_insert( +- __iterator__ __position, +- __size_type__ __n, const _Tp& __x) { +- if (__n != 0) { +- if (size_type(_M_end_of_storage._M_data - _M_finish) >= __n) { +- _Tp __x_copy = __x; +- const size_type __elems_after = _M_finish - __position; +- pointer __old_finish = _M_finish; +- if (__elems_after > __n) { +- uninitialized_copy(_M_finish - __n, _M_finish, _M_finish); +- _M_finish += __n; +- copy_backward(__position, __old_finish - __n, __old_finish); +- fill(__position, __position + __n, __x_copy); +- } +- else { +- uninitialized_fill_n(_M_finish, __n - __elems_after, __x_copy); +- _M_finish += __n - __elems_after; +- uninitialized_copy(__position, __old_finish, _M_finish); +- _M_finish += __elems_after; +- fill(__position, __old_finish, __x_copy); +- } +- } +- else +- _M_insert_overflow(__position, __x, __n); +- } ++ erase(_STLP_STD::fill_n(begin(), __n, __val), end()); + } + ++_STLP_END_NAMESPACE + +-__STL_END_NAMESPACE +- +-# undef __pointer__ +-# undef __const_pointer__ +-# undef __size_type__ +-# undef __difference_type__ +-# undef __iterator__ +-# undef __const_iterator__ ++# undef size_type ++# undef iterator + # undef vector + +-#endif /* __STL_VECTOR_C */ ++#endif /* _STLP_VECTOR_C */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_vector.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_vector.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_vector.h Sat Feb 24 10:45:17 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_vector.h Sun Aug 11 18:59:25 2002 +@@ -27,44 +27,45 @@ + * You should not attempt to use it directly. + */ + +-#ifndef __SGI_STL_INTERNAL_VECTOR_H +-#define __SGI_STL_INTERNAL_VECTOR_H ++#ifndef _STLP_INTERNAL_VECTOR_H ++#define _STLP_INTERNAL_VECTOR_H + +-# ifndef __SGI_STL_INTERNAL_ALGOBASE_H ++ ++ ++# ifndef _STLP_INTERNAL_ALGOBASE_H + # include + # endif + +-# ifndef __SGI_STL_INTERNAL_ALLOC_H ++# ifndef _STLP_INTERNAL_ALLOC_H + # include + # endif + +-# ifndef __SGI_STL_INTERNAL_ITERATOR_H ++# ifndef _STLP_INTERNAL_ITERATOR_H + # include + # endif + +-# ifndef __SGI_STL_INTERNAL_UNINITIALIZED_H ++# ifndef _STLP_INTERNAL_UNINITIALIZED_H + # include + # endif + +-# ifndef __STL_RANGE_ERRORS_H ++# ifndef _STLP_RANGE_ERRORS_H + # include + # endif + + # undef vector + # define vector __WORKAROUND_DBG_RENAME(vector) + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + // The vector base class serves two purposes. First, its constructor + // and destructor allocate (but don't initialize) storage. This makes +-// exception safety easier. Second, the base class encapsulates all of +-// the differences between SGI-style allocators and standard-conforming +-// allocators. ++// exception safety easier. + + template + class _Vector_base { + public: + ++ _STLP_FORCE_ALLOCATORS(_Tp, _Alloc) + typedef typename _Alloc_traits<_Tp, _Alloc>::allocator_type allocator_type; + + _Vector_base(const _Alloc& __a) +@@ -76,18 +77,21 @@ + _M_start = _M_end_of_storage.allocate(__n); + _M_finish = _M_start; + _M_end_of_storage._M_data = _M_start + __n; +- __STL_MPWFIX_TRY __STL_MPWFIX_CATCH //*TY 06/01/2000 - to keep the exception handling support facility in sane condition. ++ _STLP_MPWFIX_TRY _STLP_MPWFIX_CATCH + } + +- ~_Vector_base() { _M_end_of_storage.deallocate(_M_start, _M_end_of_storage._M_data - _M_start); } ++ ~_Vector_base() { ++ if (_M_start !=0) ++ _M_end_of_storage.deallocate(_M_start, _M_end_of_storage._M_data - _M_start); ++ } + + protected: + _Tp* _M_start; + _Tp* _M_finish; +- _STL_alloc_proxy<_Tp*, _Tp, allocator_type> _M_end_of_storage; ++ _STLP_alloc_proxy<_Tp*, _Tp, allocator_type> _M_end_of_storage; + }; + +-template ++template + class vector : public _Vector_base<_Tp, _Alloc> + { + private: +@@ -106,108 +110,138 @@ + typedef ptrdiff_t difference_type; + typedef random_access_iterator_tag _Iterator_category; + +- __STL_DECLARE_RANDOM_ACCESS_REVERSE_ITERATORS; +- ++ _STLP_DECLARE_RANDOM_ACCESS_REVERSE_ITERATORS; ++ _STLP_FORCE_ALLOCATORS(_Tp, _Alloc) + typedef typename _Vector_base<_Tp, _Alloc>::allocator_type allocator_type; + + allocator_type get_allocator() const { +- return __STL_CONVERT_ALLOCATOR((const allocator_type&)_M_end_of_storage, _Tp); ++ return _STLP_CONVERT_ALLOCATOR((const allocator_type&)this->_M_end_of_storage, _Tp); + } +- + protected: +-#if defined( __STL_HAS_NAMESPACES ) +- __STL_USING_BASE_MEMBER _Vector_base<_Tp, _Alloc>::_M_start; +- __STL_USING_BASE_MEMBER _Vector_base<_Tp, _Alloc>::_M_finish; +- __STL_USING_BASE_MEMBER _Vector_base<_Tp, _Alloc>::_M_end_of_storage; +-#endif /* __STL_HAS_NAMESPACES */ ++ typedef typename __type_traits<_Tp>::has_trivial_assignment_operator _TrivialAss; ++ typedef typename __type_traits<_Tp>::has_trivial_assignment_operator _IsPODType; + ++ // handles insertions on overflow ++ void _M_insert_overflow(pointer __position, const _Tp& __x, const __false_type&, ++ size_type __fill_len, bool __atend = false) { ++ const size_type __old_size = size(); ++ const size_type __len = __old_size + (max)(__old_size, __fill_len); ++ ++ pointer __new_start = this->_M_end_of_storage.allocate(__len); ++ pointer __new_finish = __new_start; ++ _STLP_TRY { ++ __new_finish = __uninitialized_copy(this->_M_start, __position, __new_start, __false_type()); ++ // handle insertion ++ if (__fill_len == 1) { ++ _Construct(__new_finish, __x); ++ ++__new_finish; ++ } else ++ __new_finish = __uninitialized_fill_n(__new_finish, __fill_len, __x, __false_type()); ++ if (!__atend) ++ // copy remainder ++ __new_finish = __uninitialized_copy(__position, this->_M_finish, __new_finish, __false_type()); ++ } ++ _STLP_UNWIND((_Destroy(__new_start,__new_finish), ++ this->_M_end_of_storage.deallocate(__new_start,__len))); ++ _M_clear(); ++ _M_set(__new_start, __new_finish, __new_start + __len); ++ } + +-protected: +- // handles both single and fill insertion on overflow +- void _M_insert_overflow(pointer __position, const _Tp& __x, size_type __n = 1); ++ void _M_insert_overflow(pointer __position, const _Tp& __x, const __true_type&, ++ size_type __fill_len, bool __atend = false) { ++ const size_type __old_size = size(); ++ const size_type __len = __old_size + (max)(__old_size, __fill_len); ++ ++ pointer __new_start = this->_M_end_of_storage.allocate(__len); ++ pointer __new_finish = (pointer)__copy_trivial(this->_M_start, __position, __new_start); ++ // handle insertion ++ __new_finish = fill_n(__new_finish, __fill_len, __x); ++ if (!__atend) ++ // copy remainder ++ __new_finish = (pointer)__copy_trivial(__position, this->_M_finish, __new_finish); ++ _M_clear(); ++ _M_set(__new_start, __new_finish, __new_start + __len); ++ } ++ ++ void _M_range_check(size_type __n) const { ++ if (__n >= size_type(this->_M_finish-this->_M_start)) ++ __stl_throw_out_of_range("vector"); ++ } + + public: +- iterator begin() { return _M_start; } +- const_iterator begin() const { return _M_start; } +- iterator end() { return _M_finish; } +- const_iterator end() const { return _M_finish; } +- +- reverse_iterator rbegin() +- { return reverse_iterator(end()); } +- const_reverse_iterator rbegin() const +- { return const_reverse_iterator(end()); } +- reverse_iterator rend() +- { return reverse_iterator(begin()); } +- const_reverse_iterator rend() const +- { return const_reverse_iterator(begin()); } +- +- size_type size() const +- { return size_type(_M_finish - _M_start); } +- size_type max_size() const +- { return size_type(-1) / sizeof(_Tp); } +- size_type capacity() const +- { return size_type(_M_end_of_storage._M_data - _M_start); } +- bool empty() const +- { return _M_start == _M_finish; } ++ iterator begin() { return this->_M_start; } ++ const_iterator begin() const { return this->_M_start; } ++ iterator end() { return this->_M_finish; } ++ const_iterator end() const { return this->_M_finish; } ++ ++ reverse_iterator rbegin() { return reverse_iterator(end()); } ++ const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); } ++ reverse_iterator rend() { return reverse_iterator(begin()); } ++ const_reverse_iterator rend() const { return const_reverse_iterator(begin()); } ++ ++ size_type size() const { return size_type(this->_M_finish - this->_M_start); } ++ size_type max_size() const { return size_type(-1) / sizeof(_Tp); } ++ size_type capacity() const { return size_type(this->_M_end_of_storage._M_data - this->_M_start); } ++ bool empty() const { return this->_M_start == this->_M_finish; } + + reference operator[](size_type __n) { return *(begin() + __n); } + const_reference operator[](size_type __n) const { return *(begin() + __n); } + +- void _M_range_check(size_type __n) const { +- if (__n >= size_type(_M_finish-_M_start)) +- __stl_throw_out_of_range("vector"); +- } ++ reference front() { return *begin(); } ++ const_reference front() const { return *begin(); } ++ reference back() { return *(end() - 1); } ++ const_reference back() const { return *(end() - 1); } + +- reference at(size_type __n) +- { _M_range_check(__n); return (*this)[__n]; } +- const_reference at(size_type __n) const +- { _M_range_check(__n); return (*this)[__n]; } ++ reference at(size_type __n) { _M_range_check(__n); return (*this)[__n]; } ++ const_reference at(size_type __n) const { _M_range_check(__n); return (*this)[__n]; } + +- explicit vector(const allocator_type& __a = allocator_type()) +- : _Vector_base<_Tp, _Alloc>(__a) {} ++ explicit vector(const allocator_type& __a = allocator_type()) : ++ _Vector_base<_Tp, _Alloc>(__a) {} + +- vector(size_type __n, const _Tp& __value, ++ vector(size_type __n, const _Tp& __val, + const allocator_type& __a = allocator_type()) + : _Vector_base<_Tp, _Alloc>(__n, __a) { +- _M_finish = uninitialized_fill_n(_M_start, __n, __value); ++ this->_M_finish = uninitialized_fill_n(this->_M_start, __n, __val); + } + + explicit vector(size_type __n) + : _Vector_base<_Tp, _Alloc>(__n, allocator_type() ) { +- _M_finish = uninitialized_fill_n(_M_start, __n, _Tp()); ++ this->_M_finish = uninitialized_fill_n(this->_M_start, __n, _Tp()); + } + + vector(const vector<_Tp, _Alloc>& __x) + : _Vector_base<_Tp, _Alloc>(__x.size(), __x.get_allocator()) { +- _M_finish = uninitialized_copy((const_pointer)__x._M_start, (const_pointer)__x._M_finish, _M_start); ++ this->_M_finish = __uninitialized_copy((const_pointer)__x._M_start, ++ (const_pointer)__x._M_finish, this->_M_start, _IsPODType()); + } + +-#ifdef __STL_MEMBER_TEMPLATES ++#if defined (_STLP_MEMBER_TEMPLATES) + + template +- void _M_initialize_aux(_Integer __n, _Integer __value, __true_type) { +- _M_start = _M_end_of_storage.allocate(__n); +- _M_end_of_storage._M_data = _M_start + __n; +- _M_finish = uninitialized_fill_n(_M_start, __n, __value); ++ void _M_initialize_aux(_Integer __n, _Integer __val, const __true_type&) { ++ this->_M_start = this->_M_end_of_storage.allocate(__n); ++ this->_M_end_of_storage._M_data = this->_M_start + __n; ++ this->_M_finish = uninitialized_fill_n(this->_M_start, __n, __val); + } + + template + void _M_initialize_aux(_InputIterator __first, _InputIterator __last, +- __false_type) { +- _M_range_initialize(__first, __last, __ITERATOR_CATEGORY(__first)); ++ const __false_type&) { ++ _M_range_initialize(__first, __last, _STLP_ITERATOR_CATEGORY(__first, _InputIterator)); + } + + // Check whether it's an integral type. If so, it's not an iterator. ++ # ifdef _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS + template + vector(_InputIterator __first, _InputIterator __last) : + _Vector_base<_Tp, _Alloc>(allocator_type()) { + typedef typename _Is_integer<_InputIterator>::_Integral _Integral; + _M_initialize_aux(__first, __last, _Integral()); + } +- ++ # endif + template + vector(_InputIterator __first, _InputIterator __last, +- const allocator_type& __a) : ++ const allocator_type& __a _STLP_ALLOCATOR_TYPE_DFL ) : + _Vector_base<_Tp, _Alloc>(__a) { + typedef typename _Is_integer<_InputIterator>::_Integral _Integral; + _M_initialize_aux(__first, __last, _Integral()); +@@ -217,11 +251,11 @@ + vector(const _Tp* __first, const _Tp* __last, + const allocator_type& __a = allocator_type()) + : _Vector_base<_Tp, _Alloc>(__last - __first, __a) { +- _M_finish = uninitialized_copy(__first, __last, _M_start); ++ this->_M_finish = __uninitialized_copy(__first, __last, this->_M_start, _IsPODType()); + } +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + +- ~vector() { _Destroy(_M_start, _M_finish); } ++ ~vector() { _Destroy(this->_M_start, this->_M_finish); } + + vector<_Tp, _Alloc>& operator=(const vector<_Tp, _Alloc>& __x); + +@@ -234,27 +268,42 @@ + + void assign(size_type __n, const _Tp& __val) { _M_fill_assign(__n, __val); } + void _M_fill_assign(size_type __n, const _Tp& __val); +- +-#ifdef __STL_MEMBER_TEMPLATES + +- template +- void assign(_InputIterator __first, _InputIterator __last) { +- typedef typename _Is_integer<_InputIterator>::_Integral _Integral; +- _M_assign_dispatch(__first, __last, _Integral()); ++#ifdef _STLP_MEMBER_TEMPLATES ++ template ++ void _M_assign_aux(_ForwardIter __first, _ForwardIter __last, const forward_iterator_tag &) ++#else ++ void assign(const_iterator __first, const_iterator __last) ++#endif ++ { ++ size_type __len = distance(__first, __last); ++ ++ if (__len > capacity()) { ++ iterator __tmp = _M_allocate_and_copy(__len, __first, __last); ++ _M_clear(); ++ _M_set(__tmp, __tmp + __len, __tmp + __len); ++ } ++ else if (size() >= __len) { ++ iterator __new_finish = copy(__first, __last, this->_M_start); ++ _Destroy(__new_finish, this->_M_finish); ++ this->_M_finish = __new_finish; ++ } ++ else { ++# if defined ( _STLP_MEMBER_TEMPLATES ) ++ _ForwardIter __mid = __first; ++ advance(__mid, size()); ++# else ++ const_iterator __mid = __first + size() ; ++# endif ++ copy(__first, __mid, this->_M_start); ++ this->_M_finish = __uninitialized_copy(__mid, __last, this->_M_finish, _IsPODType()); ++ } + } + +- template +- void _M_assign_dispatch(_Integer __n, _Integer __val, __true_type) +- { assign((size_type) __n, (_Tp) __val); } +- +- template +- void _M_assign_dispatch(_InputIter __first, _InputIter __last, __false_type) +- { _M_assign_aux(__first, __last, __ITERATOR_CATEGORY(__first)); } +- +- ++#ifdef _STLP_MEMBER_TEMPLATES + template + void _M_assign_aux(_InputIter __first, _InputIter __last, +- input_iterator_tag) { ++ const input_iterator_tag &) { + iterator __cur = begin(); + for ( ; __first != __last && __cur != end(); ++__cur, ++__first) + *__cur = *__first; +@@ -264,119 +313,75 @@ + insert(end(), __first, __last); + } + +- template +- void _M_assign_aux(_ForwardIter __first, _ForwardIter __last, +- forward_iterator_tag) +-# if ! defined (__STL_INLINE_MEMBER_TEMPLATES) +-; +-# else +- { +- size_type __len = 0; +- distance(__first, __last, __len); +- +- if (__len > capacity()) { +- iterator __tmp = _M_allocate_and_copy(__len, __first, __last); +- _Destroy(_M_start, _M_finish); +- _M_end_of_storage.deallocate(_M_start, _M_end_of_storage._M_data - _M_start); +- _M_start = __tmp; +- _M_end_of_storage._M_data = _M_finish = _M_start + __len; +- } +- else if (size() >= __len) { +- iterator __new_finish = copy(__first, __last, _M_start); +- _Destroy(__new_finish, _M_finish); +- _M_finish = __new_finish; +- } +- else { +- _ForwardIter __mid = __first; +- advance(__mid, size()); +- copy(__first, __mid, _M_start); +- _M_finish = uninitialized_copy(__mid, __last, _M_finish); +- } +- } +-# endif /* __STL_INLINE_MEMBER_TEMPLATES */ +-#endif /* __STL_MEMBER_TEMPLATES */ ++ template ++ void _M_assign_dispatch(_Integer __n, _Integer __val, const __true_type&) ++ { assign((size_type) __n, (_Tp) __val); } + +- reference front() { return *begin(); } +- const_reference front() const { return *begin(); } +- reference back() { return *(end() - 1); } +- const_reference back() const { return *(end() - 1); } ++ template ++ void _M_assign_dispatch(_InputIter __first, _InputIter __last, const __false_type&) ++ { _M_assign_aux(__first, __last, _STLP_ITERATOR_CATEGORY(__first, _InputIter)); } + +- void push_back(const _Tp& __x) { +- if (_M_finish != _M_end_of_storage._M_data) { +- _Construct(_M_finish, __x); +- ++_M_finish; +- } +- else +- _M_insert_overflow(_M_finish, __x); ++ template ++ void assign(_InputIterator __first, _InputIterator __last) { ++ typedef typename _Is_integer<_InputIterator>::_Integral _Integral; ++ _M_assign_dispatch(__first, __last, _Integral()); + } ++#endif /* _STLP_MEMBER_TEMPLATES */ + +- void push_back() { +- if (_M_finish != _M_end_of_storage._M_data) { +- _Construct(_M_finish); +- ++_M_finish; ++ void push_back(const _Tp& __x) { ++ if (this->_M_finish != this->_M_end_of_storage._M_data) { ++ _Construct(this->_M_finish, __x); ++ ++this->_M_finish; + } + else +- _M_insert_overflow(_M_finish, _Tp()); ++ _M_insert_overflow(this->_M_finish, __x, _IsPODType(), 1UL, true); + } + + void swap(vector<_Tp, _Alloc>& __x) { +- __STLPORT_STD::swap(_M_start, __x._M_start); +- __STLPORT_STD::swap(_M_finish, __x._M_finish); +- __STLPORT_STD::swap(_M_end_of_storage._M_data, __x._M_end_of_storage._M_data); ++ _STLP_STD::swap(this->_M_start, __x._M_start); ++ _STLP_STD::swap(this->_M_finish, __x._M_finish); ++ _STLP_STD::swap(this->_M_end_of_storage, __x._M_end_of_storage); + } + + iterator insert(iterator __position, const _Tp& __x) { + size_type __n = __position - begin(); +- if (_M_finish != _M_end_of_storage._M_data) { ++ if (this->_M_finish != this->_M_end_of_storage._M_data) { + if (__position == end()) { +- _Construct(_M_finish, __x); +- ++_M_finish; ++ _Construct(this->_M_finish, __x); ++ ++this->_M_finish; + } else { +- _Construct(_M_finish, *(_M_finish - 1)); +- ++_M_finish; +- _Tp __x_copy = __x; +- copy_backward(__position, _M_finish - 2, _M_finish - 1); +- *__position = __x_copy; ++ _Construct(this->_M_finish, *(this->_M_finish - 1)); ++ ++this->_M_finish; ++ _Tp __x_copy = __x; ++ __copy_backward_ptrs(__position, this->_M_finish - 2, this->_M_finish - 1, _TrivialAss()); ++ *__position = __x_copy; + } + } + else +- _M_insert_overflow(__position, __x); ++ _M_insert_overflow(__position, __x, _IsPODType(), 1UL); + return begin() + __n; + } + +- iterator insert(iterator __position) { +- size_type __n = __position - begin(); +- if (_M_finish != _M_end_of_storage._M_data) { +- if (__position == end()) { +- _Construct(_M_finish); +- ++_M_finish; +- } else { +- _Construct(_M_finish, *(_M_finish - 1)); +- ++_M_finish; +- copy_backward(__position, _M_finish - 2, _M_finish - 1); +- *__position = _Tp(); +- } +- } +- else +- _M_insert_overflow(__position, _Tp()); +- return begin() + __n; +- } ++# ifndef _STLP_NO_ANACHRONISMS ++ void push_back() { push_back(_Tp()); } ++ iterator insert(iterator __position) { return insert(__position, _Tp()); } ++# endif + + void _M_fill_insert (iterator __pos, size_type __n, const _Tp& __x); + +-#if defined ( __STL_MEMBER_TEMPLATES) // && ! defined (__STL_INLINE_MEMBER_TEMPLATES) ++#if defined ( _STLP_MEMBER_TEMPLATES) + + template + void _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __val, +- __true_type) { ++ const __true_type&) { + _M_fill_insert(__pos, (size_type) __n, (_Tp) __val); + } + + template + void _M_insert_dispatch(iterator __pos, + _InputIterator __first, _InputIterator __last, +- __false_type) { +- _M_range_insert(__pos, __first, __last, __ITERATOR_CATEGORY(__first)); ++ const __false_type&) { ++ _M_range_insert(__pos, __first, __last, _STLP_ITERATOR_CATEGORY(__first, _InputIterator)); + } + + // Check whether it's an integral type. If so, it's not an iterator. +@@ -386,29 +391,89 @@ + _M_insert_dispatch(__pos, __first, __last, _Integral()); + } + +-#else /* __STL_MEMBER_TEMPLATES */ ++ template ++ void _M_range_insert(iterator __pos, ++ _InputIterator __first, ++ _InputIterator __last, ++ const input_iterator_tag &) { ++ for ( ; __first != __last; ++__first) { ++ __pos = insert(__pos, *__first); ++ ++__pos; ++ } ++ } ++ ++ template ++ void _M_range_insert(iterator __position, ++ _ForwardIterator __first, ++ _ForwardIterator __last, ++ const forward_iterator_tag &) ++#else /* _STLP_MEMBER_TEMPLATES */ + void insert(iterator __position, +- const_iterator __first, const_iterator __last); +-#endif /* __STL_MEMBER_TEMPLATES */ ++ const_iterator __first, const_iterator __last) ++#endif /* _STLP_MEMBER_TEMPLATES */ + +- void insert (iterator __pos, size_type __n, const _Tp& __x) +- { _M_fill_insert(__pos, __n, __x); } ++ { ++ if (__first != __last) { ++ size_type __n = distance(__first, __last); + ++ if (size_type(this->_M_end_of_storage._M_data - this->_M_finish) >= __n) { ++ const size_type __elems_after = this->_M_finish - __position; ++ pointer __old_finish = this->_M_finish; ++ if (__elems_after > __n) { ++ __uninitialized_copy(this->_M_finish - __n, this->_M_finish, this->_M_finish, _IsPODType()); ++ this->_M_finish += __n; ++ __copy_backward_ptrs(__position, __old_finish - __n, __old_finish, _TrivialAss()); ++ copy(__first, __last, __position); ++ } ++ else { ++# if defined ( _STLP_MEMBER_TEMPLATES ) ++ _ForwardIterator __mid = __first; ++ advance(__mid, __elems_after); ++# else ++ const_pointer __mid = __first + __elems_after; ++# endif ++ __uninitialized_copy(__mid, __last, this->_M_finish, _IsPODType()); ++ this->_M_finish += __n - __elems_after; ++ __uninitialized_copy(__position, __old_finish, this->_M_finish, _IsPODType()); ++ this->_M_finish += __elems_after; ++ copy(__first, __mid, __position); ++ } /* elems_after */ ++ } ++ else { ++ const size_type __old_size = size(); ++ const size_type __len = __old_size + (max)(__old_size, __n); ++ pointer __new_start = this->_M_end_of_storage.allocate(__len); ++ pointer __new_finish = __new_start; ++ _STLP_TRY { ++ __new_finish = __uninitialized_copy(this->_M_start, __position, __new_start, _IsPODType()); ++ __new_finish = __uninitialized_copy(__first, __last, __new_finish, _IsPODType()); ++ __new_finish = __uninitialized_copy(__position, this->_M_finish, __new_finish, _IsPODType()); ++ } ++ _STLP_UNWIND((_Destroy(__new_start,__new_finish), ++ this->_M_end_of_storage.deallocate(__new_start,__len))); ++ _M_clear(); ++ _M_set(__new_start, __new_finish, __new_start + __len); ++ } ++ } ++ } ++ void insert (iterator __pos, size_type __n, const _Tp& __x) ++ { _M_fill_insert(__pos, __n, __x); } ++ + void pop_back() { +- --_M_finish; +- _Destroy(_M_finish); ++ --this->_M_finish; ++ _Destroy(this->_M_finish); + } + iterator erase(iterator __position) { + if (__position + 1 != end()) +- copy(__position + 1, _M_finish, __position); +- --_M_finish; +- _Destroy(_M_finish); ++ __copy_ptrs(__position + 1, this->_M_finish, __position, _TrivialAss()); ++ --this->_M_finish; ++ _Destroy(this->_M_finish); + return __position; + } + iterator erase(iterator __first, iterator __last) { +- pointer __i = copy(__last, _M_finish, __first); +- _Destroy(__i, _M_finish); +- _M_finish = __i; ++ pointer __i = __copy_ptrs(__last, this->_M_finish, __first, _TrivialAss()); ++ _Destroy(__i, this->_M_finish); ++ this->_M_finish = __i; + return __first; + } + +@@ -425,161 +490,100 @@ + + protected: + +-#ifdef __STL_MEMBER_TEMPLATES ++ void _M_clear() { ++ // if (this->_M_start) { ++ _Destroy(this->_M_start, this->_M_finish); ++ this->_M_end_of_storage.deallocate(this->_M_start, this->_M_end_of_storage._M_data - this->_M_start); ++ // } ++ } ++ ++ void _M_set(pointer __s, pointer __f, pointer __e) { ++ this->_M_start = __s; ++ this->_M_finish = __f; ++ this->_M_end_of_storage._M_data = __e; ++ } ++ ++#ifdef _STLP_MEMBER_TEMPLATES + template + pointer _M_allocate_and_copy(size_type __n, _ForwardIterator __first, +- _ForwardIterator __last) { +- pointer __result = _M_end_of_storage.allocate(__n); +- __STL_TRY { +- uninitialized_copy(__first, __last, __result); +- return __result; +- } +- __STL_UNWIND(_M_end_of_storage.deallocate(__result, __n)); +-# ifdef __STL_THROW_RETURN_BUG +- return __result; +-# endif +- } +-#else /* __STL_MEMBER_TEMPLATES */ ++ _ForwardIterator __last) ++#else /* _STLP_MEMBER_TEMPLATES */ + pointer _M_allocate_and_copy(size_type __n, const_pointer __first, + const_pointer __last) ++#endif /* _STLP_MEMBER_TEMPLATES */ + { +- pointer __result = _M_end_of_storage.allocate(__n); +- __STL_TRY { ++ pointer __result = this->_M_end_of_storage.allocate(__n); ++ _STLP_TRY { ++#if !defined(__MRC__) //*TY 12/17/2000 - added workaround for MrCpp. it confuses on nested try/catch block ++ __uninitialized_copy(__first, __last, __result, _IsPODType()); ++#else + uninitialized_copy(__first, __last, __result); ++#endif + return __result; + } +- __STL_UNWIND(_M_end_of_storage.deallocate(__result, __n)); +-# ifdef __STL_THROW_RETURN_BUG ++ _STLP_UNWIND(this->_M_end_of_storage.deallocate(__result, __n)); ++# ifdef _STLP_THROW_RETURN_BUG + return __result; + # endif + } +-#endif /* __STL_MEMBER_TEMPLATES */ + +-#ifdef __STL_MEMBER_TEMPLATES ++ ++#ifdef _STLP_MEMBER_TEMPLATES + template + void _M_range_initialize(_InputIterator __first, +- _InputIterator __last, input_iterator_tag) +- { ++ _InputIterator __last, const input_iterator_tag &) { + for ( ; __first != __last; ++__first) + push_back(*__first); + } +- + // This function is only called by the constructor. + template + void _M_range_initialize(_ForwardIterator __first, +- _ForwardIterator __last, forward_iterator_tag) +- { +- size_type __n = 0; +- distance(__first, __last, __n); +- _M_start = _M_end_of_storage.allocate(__n); +- _M_end_of_storage._M_data = _M_start + __n; +- _M_finish = uninitialized_copy(__first, __last, _M_start); ++ _ForwardIterator __last, const forward_iterator_tag &) { ++ size_type __n = distance(__first, __last); ++ this->_M_start = this->_M_end_of_storage.allocate(__n); ++ this->_M_end_of_storage._M_data = this->_M_start + __n; ++ this->_M_finish = __uninitialized_copy(__first, __last, this->_M_start, _IsPODType()); + } +- +- template +- void _M_range_insert(iterator __pos, +- _InputIterator __first, +- _InputIterator __last, +- input_iterator_tag) +- { +- for ( ; __first != __last; ++__first) { +- __pos = insert(__pos, *__first); +- ++__pos; +- } +- } +- +- template +- void _M_range_insert(iterator __position, +- _ForwardIterator __first, +- _ForwardIterator __last, +- forward_iterator_tag) +-# ifndef __STL_INLINE_MEMBER_TEMPLATES +- ; +-# else +- { +- if (__first != __last) { +- size_type __n = 0; +- distance(__first, __last, __n); +- if (size_type(_M_end_of_storage._M_data - _M_finish) >= __n) { +- const size_type __elems_after = _M_finish - __position; +- pointer __old_finish = _M_finish; +- if (__elems_after > __n) { +- uninitialized_copy(_M_finish - __n, _M_finish, _M_finish); +- _M_finish += __n; +- copy_backward(__position, __old_finish - __n, __old_finish); +- copy(__first, __last, __position); +- } +- else { +- _ForwardIterator __mid = __first; +- advance(__mid, __elems_after); +- uninitialized_copy(__mid, __last, _M_finish); +- _M_finish += __n - __elems_after; +- uninitialized_copy(__position, __old_finish, _M_finish); +- _M_finish += __elems_after; +- copy(__first, __mid, __position); +- } +- } +- else { +- const size_type __old_size = size(); +- const size_type __len = __old_size + max(__old_size, __n); +- pointer __new_start = _M_end_of_storage.allocate(__len); +- pointer __new_finish = __new_start; +- __STL_TRY { +- __new_finish = uninitialized_copy(_M_start, __position, __new_start); +- __new_finish = uninitialized_copy(__first, __last, __new_finish); +- __new_finish +- = uninitialized_copy(__position, _M_finish, __new_finish); +- } +- __STL_UNWIND((_Destroy(__new_start,__new_finish), +- _M_end_of_storage.deallocate(__new_start,__len))); +- _Destroy(_M_start, _M_finish); +- _M_end_of_storage.deallocate(_M_start, _M_end_of_storage._M_data - _M_start); +- _M_start = __new_start; +- _M_finish = __new_finish; +- _M_end_of_storage._M_data = __new_start + __len; +- } +- } +- } +-# endif /* __STL_INLINE_MEMBER_TEMPLATES */ +-#endif /* __STL_MEMBER_TEMPLATES */ ++ ++#endif /* _STLP_MEMBER_TEMPLATES */ + }; + +-# define __STL_TEMPLATE_CONTAINER vector<_Tp, _Alloc> +-# define __STL_TEMPLATE_HEADER template ++# define _STLP_TEMPLATE_CONTAINER vector<_Tp, _Alloc> ++# define _STLP_TEMPLATE_HEADER template + # include +-# undef __STL_TEMPLATE_CONTAINER +-# undef __STL_TEMPLATE_HEADER ++# undef _STLP_TEMPLATE_CONTAINER ++# undef _STLP_TEMPLATE_HEADER + +-# if defined (__STL_USE_TEMPLATE_EXPORT) +-__STL_EXPORT_TEMPLATE_CLASS allocator; +-__STL_EXPORT_TEMPLATE_CLASS _STL_alloc_proxy >; +-__STL_EXPORT_TEMPLATE_CLASS _Vector_base >; +-__STL_EXPORT_TEMPLATE_CLASS vector >; ++# if defined (_STLP_USE_TEMPLATE_EXPORT) ++_STLP_EXPORT_TEMPLATE_CLASS allocator; ++_STLP_EXPORT_TEMPLATE_CLASS _STLP_alloc_proxy >; ++_STLP_EXPORT_TEMPLATE_CLASS _Vector_base >; ++_STLP_EXPORT_TEMPLATE_CLASS vector >; + # endif + + # undef vector + # undef __vector__ + # define __vector__ __WORKAROUND_RENAME(vector) + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-# if !defined (__STL_LINK_TIME_INSTANTIATION) ++# if !defined (_STLP_LINK_TIME_INSTANTIATION) + # include + # endif + +-#ifndef __SGI_STL_INTERNAL_BVECTOR_H ++#ifndef _STLP_INTERNAL_BVECTOR_H + # include + #endif + +-# if defined (__STL_DEBUG) ++# if defined (_STLP_DEBUG) + # include + # endif + +-# if defined (__STL_USE_WRAPPER_FOR_ALLOC_PARAM) ++# if defined (_STLP_USE_WRAPPER_FOR_ALLOC_PARAM) + # include + # endif + +-#endif /* __SGI_STL_VECTOR_H */ ++#endif /* _STLP_VECTOR_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/c_locale.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/c_locale.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/c_locale.h Sat Feb 24 10:44:36 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/c_locale.h Fri Feb 14 16:26:19 2003 +@@ -16,20 +16,9 @@ + * + */ + +-/* +- * It is impossible to write the C++ locale library in terms of locales +- * as defined in the C standard. Instead, we write the C++ locale and I/O +- * library in terms of a low level C-like interface. This file defines +- * that interface. +- * +- * The low-level locale interface can't be written portably; there +- * must be a version of it for each platform that the C++ library +- * is ported to. On many systems this interface may be a thin wrapper +- * for existing functionality. +- */ + +-#ifndef __STL_C_LOCALE_H +-# define __STL_C_LOCALE_H ++#ifndef _STLP_C_LOCALE_H ++# define _STLP_C_LOCALE_H + + /* + * Implementation dependent definitions +@@ -39,62 +28,70 @@ + #endif + + #if defined(__sgi) +- + # if defined(ROOT_65) /* IRIX 6.5.x */ + # include + # include + # include + # include + +-#else ++# else + /* IRIX pre-6.5 */ +- + # include + # include + +-#if !defined(_SIZE_T) && !defined(_SIZE_T_) +-#define _SIZE_T +-#if (_MIPS_SZLONG == 32) ++# if !defined(_SIZE_T) && !defined(_SIZE_T_) ++# define _SIZE_T ++# if (_MIPS_SZLONG == 32) + typedef unsigned int size_t; +-#endif +-#if (_MIPS_SZLONG == 64) ++# endif ++# if (_MIPS_SZLONG == 64) + typedef unsigned long size_t; +-#endif +-#endif ++# endif ++# endif + +-#ifndef _WCHAR_T +-#define _WCHAR_T +-#if (_MIPS_SZLONG == 32) ++# ifndef _WCHAR_T ++# define _WCHAR_T ++# if (_MIPS_SZLONG == 32) + typedef long wchar_t; +-#endif +-#if (_MIPS_SZLONG == 64) ++# endif ++# if (_MIPS_SZLONG == 64) + typedef __int32_t wchar_t; +-#endif +-#endif /* _WCHAR_T */ ++# endif ++# endif /* _WCHAR_T */ + +-#ifndef _WINT_T +-# define _WINT_T +-#if (_MIPS_SZLONG == 32) ++# ifndef _WINT_T ++# define _WINT_T ++# if (_MIPS_SZLONG == 32) + typedef long wint_t; +-#endif +-#if (_MIPS_SZLONG == 64) ++# endif ++# if (_MIPS_SZLONG == 64) + typedef __int32_t wint_t; +-#endif +-#endif /* _WINT_T */ ++# endif ++# endif /* _WINT_T */ + +-#ifndef _MBSTATE_T +-# define _MBSTATE_T ++# ifndef _MBSTATE_T ++# define _MBSTATE_T ++# ifdef _MSC_VER ++ typedef int mbstate_t; ++# else + typedef char mbstate_t; +-#endif /* _MBSTATE_T */ ++# endif ++# endif /* _MBSTATE_T */ + +-# endif ++# endif /* ROOT65 */ + +-#else ++# else /* __sgi */ + + # ifdef __cplusplus ++# ifndef _STLP_CSTDDEF + # include ++# endif ++# ifndef _STLP_CWCHAR + # include ++# endif ++# ifndef _STLP_CCTYPE + # include ++# endif + # else + # include + # include +@@ -114,112 +111,14 @@ + struct _Locale_monetary; + struct _Locale_messages; + +-#ifdef __cplusplus +-__STL_BEGIN_NAMESPACE +-extern "C" { +-#endif +- +- +-#define _Locale_MAX_SIMPLE_NAME 256 +- +-/* +- * A number: the maximum length of a simple locale name. +- * (i.e. a name like like en_US, as opposed to a name like +- * en_US/de_AT/de_AT/es_MX/en_US/en_US) */ +-#define _Locale_MAX_COMPOSITE_NAME 6*(_Locale_MAX_SIMPLE_NAME+3) +- +-/* +- * Maximum length of a composite locale. +- */ +- +-void * _Locale_ctype_create(const char *); +-void * _Locale_numeric_create(const char *); +-void * _Locale_time_create(const char *); +-void * _Locale_collate_create(const char *); +-void * _Locale_monetary_create(const char *); +-void * _Locale_messages_create(const char *); +- +-/* +- * The char* argument is a simple locale name. +- * These functions return NULL to indicate failure. +- * The char* argument is a simple locale name, which may not +- * be "". These functions return NULL to indicate failure. +- */ +- +-const char * _Locale_ctype_default(char * __buf); +-const char * _Locale_numeric_default(char * __buf); +-const char * _Locale_time_default(char * __buf); +-const char * _Locale_collate_default(char * __buf); +-const char * _Locale_monetary_default(char * __buf); +-const char * _Locale_messages_default(char * __buf); +- +-/* +- * Returns the name of the user's default locale in each +- * category, as a null-terminated string. A NULL value +- * means the default "C" locale. +- */ +- +-char * _Locale_ctype_name(const void *, char *); +-char * _Locale_numeric_name(const void *, char *); +-char * _Locale_time_name(const void *, char *); +-char * _Locale_collate_name(const void *, char *); +-char * _Locale_monetary_name(const void *, char *); +-char * _Locale_messages_name(const void *, char *); +- +-/* +- * __buf points to a buffer that can hold at least _Locale_MAX_SIMPLE_NAME +- * characters. These functions store the name, as a null-terminated +- * string, in __buf. +- */ +- +-void _Locale_ctype_destroy(void *); +-void _Locale_numeric_destroy(void *); +-void _Locale_time_destroy(void *); +-void _Locale_collate_destroy(void *); +-void _Locale_monetary_destroy(void *); +-void _Locale_messages_destroy(void *); +- +-char * _Locale_extract_ctype_name(const char *cname, char *__buf); +-char * _Locale_extract_numeric_name(const char *cname, char *__buf); +-char * _Locale_extract_time_name(const char *cname, char *__buf); +-char * _Locale_extract_collate_name(const char *cname, char *__buf); +-char * _Locale_extract_monetary_name(const char *cname, char *__buf); +-char * _Locale_extract_messages_name(const char *cname, char *__buf); +- +-/* +- * cname is a (possibly composite) locale name---i.e. a name that can +- * be passed to setlocale. _buf points to an array large enough to +- * store at least _Locale_MAX_SIMPLE_NAME characters, and each of these +- * functions extracts the name of a single category, stores it in buf +- * as a null-terminated string, and returns buf. +- */ +- +-char * _Locale_compose_name(char *__buf, +- const char *__Ctype, const char *__Numeric, +- const char *__Time, const char *__Collate, +- const char *__Monetary, const char *__Messages); +- + /* +- * The inputs to this function are six null-terminated strings: the +- * names of a locale's six categories. __buf is a pointer to an array +- * large enough to store at least _Locale_MAX_COMPOSITE_NAME characters. +- * This function constructs a (possibly composite) name describing the +- * locale as a whole, stores that name in buf as a null-terminated +- * string, and returns buf. +- */ +- +-/* +- * FUNCTIONS THAT USE CTYPE +- */ ++ Bitmask macros. ++*/ + + /* + * For narrow characters, we expose the lookup table interface. + */ + +-/* +- Bitmask macros. +-*/ +- + /* Internal bitmask macros, os-specific. */ + + #if defined(__sgi) /* IRIX */ +@@ -254,7 +153,32 @@ + + #endif /* IRIX */ + +-#if defined(__GNUC__) ++ ++#if defined( __Lynx__ ) ++ /* azov: On Lynx isalpha defined as (_U | _L), which gives us a mask ++ * unusable in ctype_table. So we have to redefine it and use hard-coded ++ * numbers (to avoid potential clashes if system headers change). ++ * ++ * P.S. Actually, I see no reason in using platform-specific masks - ++ * having just one set of masks for all platforms should work just as ++ * well - we only use them internally and they don't have to be equal ++ * to whatever defined in local ctype.h ++ * ++ */ ++# define _Locale_CNTRL 040 /* _C, Control character */ ++# define _Locale_UPPER 01 /* _U, Upper case */ ++# define _Locale_LOWER 02 /* _L, Lower case */ ++# define _Locale_DIGIT 04 /* _N, Numeral (digit) */ ++# define _Locale_XDIGIT 0200 /* _X, heXadecimal digit */ ++# define _Locale_PUNCT 020 /* _P, Punctuation */ ++# define _Locale_SPACE 010 /* _S, Spacing */ ++# define _Locale_ALPHA 040000 /* none, Alphanumerical */ ++# define _Locale_PRINT (_Locale_PUNCT | _Locale_UPPER | _Locale_LOWER | \ ++ _Locale_DIGIT | _Locale_ALPHA | _Locale_XDIGIT |\ ++ _Locale_SPACE ) /* Printable */ ++# endif /* __Lynx__ */ ++ ++#if defined(__GNUC__) || defined (__BORLANDC__) || defined (__COMO__) + + # if defined (__CYGWIN__) + +@@ -280,8 +204,19 @@ + # define _Locale_PRINT _CTYPE_R + # define _Locale_ALPHA _CTYPE_A + ++# elif defined (__NetBSD__) || defined(__OpenBSD__) || defined (__amigaos__) ++ ++# define _Locale_CNTRL _C ++# define _Locale_UPPER _U ++# define _Locale_LOWER _L ++# define _Locale_DIGIT _N ++# define _Locale_XDIGIT (_N|_X) ++# define _Locale_PUNCT _P ++# define _Locale_SPACE _S ++# define _Locale_PRINT (_P|_U|_L|_N|_B) ++# define _Locale_ALPHA (_U|_L) + +-# elif defined(__STL_USE_GLIBC) /* linux, using the gnu compiler */ ++# elif defined(_STLP_USE_GLIBC) /* linux, using the gnu compiler */ + + /* This section uses macros defined in the gnu libc ctype.h header */ + +@@ -299,15 +234,12 @@ + + #endif /* gnu */ + +- + #if ( defined(__sun) && defined (__SVR4) ) \ + || (defined (__digital__) && defined (__unix__)) \ +- || defined(__xlC__) \ +- || defined(__OpenBSD__) ++ || defined(_AIX) + /* fbp : condition from AT&T code*/ + #if !(defined(__XPG4_CHAR_CLASS__) || defined(_XPG4_2) || \ +- (defined(_XOPEN_SOURCE) && (_XOPEN_VERSION - 0 == 4))) && ! defined (_ISCNTRL) \ +- || defined(__OpenBSD__) ++ (defined(_XOPEN_SOURCE) && (_XOPEN_VERSION - 0 == 4))) && ! defined (_ISCNTRL) + /* fbp : on 2.5.1, the defines are different ;( */ + // # if ( defined (__sun) && defined (__SVR4) && ! defined (_ISCNTRL) ) + # define _ISCNTRL _C +@@ -358,8 +290,8 @@ + # define _Locale_XDIGIT _HEX + # define _Locale_PUNCT _PUNCT + # define _Locale_SPACE _SPACE +-# define _Locale_PRINT (_ALPHA | _DIGIT | _SPACE | _PUNCT) +- /* was : (_BLANK|_PUNCT|_UPPER|_LOWER|_DIGIT) */ ++# define _Locale_PRINT (_ALPHA | _DIGIT | _BLANK | _PUNCT) ++// is this one has to be so complex ? + # define _Locale_ALPHA ( _ALPHA & ~ (_UPPER | _LOWER )) + #elif defined(__MRC__) || defined(__SC__) //*TY 02/24/2000 - added support for MPW + # define _Locale_CNTRL _CTL +@@ -381,7 +313,35 @@ + # define _Locale_SPACE 64 + # define _Locale_PRINT 128 + # define _Locale_ALPHA 256 ++ ++# elif defined (__GNUC__) && defined (__APPLE__) ++ ++# define _Locale_CNTRL _C ++# define _Locale_UPPER _U ++# define _Locale_LOWER _L ++# define _Locale_DIGIT _D ++# define _Locale_XDIGIT _X ++# define _Locale_PUNCT _P ++# define _Locale_SPACE _S ++# define _Locale_PRINT _R ++# define _Locale_ALPHA _A ++ + # elif defined (__hpux) || defined (__osf__) ++ ++# if defined(__HP_aCC) && !defined(_INCLUDE_HPUX_SOURCE) ++# define _ISALPHA 0x001 ++# define _ISALNUM 0x002 ++# define _ISBLANK 0x004 ++# define _ISCNTRL 0x008 ++# define _ISDIGIT 0x010 ++# define _ISGRAPH 0x020 ++# define _ISLOWER 0x040 ++# define _ISPRINT 0x080 ++# define _ISPUNCT 0x100 ++# define _ISSPACE 0x200 ++# define _ISUPPER 0x400 ++# define _ISXDIGIT 0x800 ++# endif + # define _Locale_CNTRL _ISCNTRL + # define _Locale_UPPER _ISUPPER + # define _Locale_LOWER _ISLOWER +@@ -391,269 +351,56 @@ + # define _Locale_SPACE _ISSPACE + # define _Locale_PRINT _ISPRINT + # define _Locale_ALPHA _ISALPHA ++# elif defined (__MVS__) || defined(__OS400__) ++# define _Locale_CNTRL __ISCNTRL ++# define _Locale_UPPER __ISUPPER ++# define _Locale_LOWER __ISLOWER ++# define _Locale_DIGIT __ISDIGIT ++# define _Locale_XDIGIT __ISXDIGIT ++# define _Locale_PUNCT __ISPUNCT ++# define _Locale_SPACE __ISSPACE ++# define _Locale_PRINT __ISPRINT ++# define _Locale_ALPHA __ISALPHA ++# elif defined (__QNXNTO__) || defined (__WATCOMC__) ++# define _Locale_CNTRL _CNTRL ++# define _Locale_UPPER _UPPER ++# define _Locale_LOWER _LOWER ++# define _Locale_DIGIT _DIGIT ++# define _Locale_XDIGIT _XDIGT ++# define _Locale_PUNCT _PUNCT ++# define _Locale_SPACE _SPACE ++# define _Locale_PRINT _PRINT ++# define _Locale_ALPHA (_UPPER | _LOWER) ++#elif defined (__DJGPP) ++# define _Locale_CNTRL __dj_ISCNTRL ++# define _Locale_UPPER __dj_ISUPPER ++# define _Locale_LOWER __dj_ISLOWER ++# define _Locale_DIGIT __dj_ISDIGIT ++# define _Locale_XDIGIT __dj_ISXDIGIT ++# define _Locale_PUNCT __dj_ISPUNCT ++# define _Locale_SPACE __dj_ISSPACE ++# define _Locale_PRINT __dj_ISPRINT ++# define _Locale_ALPHA __dj_ISALPHA ++#elif defined (_STLP_SCO_OPENSERVER) ++# define _Locale_CNTRL _C ++# define _Locale_UPPER _U ++# define _Locale_LOWER _L ++# define _Locale_DIGIT _N ++# define _Locale_XDIGIT _X ++# define _Locale_PUNCT _P ++# define _Locale_SPACE _S ++# define _Locale_PRINT _R ++# define _Locale_ALPHA _A ++#elif defined (__NCR_SVR) ++# define _Locale_CNTRL _C ++# define _Locale_UPPER _U ++# define _Locale_LOWER _L ++# define _Locale_DIGIT _N ++# define _Locale_XDIGIT _X ++# define _Locale_PUNCT _P ++# define _Locale_SPACE _S ++# define _Locale_PRINT (_P | _U | _L | _N | _B) ++# define _Locale_ALPHA (_U | _L) + #endif + +-/* +- * Typedefs: +- */ +- +-#ifdef __GNUC__ +-typedef unsigned short int _Locale_mask_t; +-#else +-typedef unsigned int _Locale_mask_t; +-#endif +- +-/* +- * Narrow character functions: +- */ +- +-_Locale_mask_t * _Locale_ctype_table(struct _Locale_ctype *); +- +-/* +- * Returns a pointer to the beginning of the ctype table. The table is +- * at least 257 bytes long; if p is the pointer returned by this +- * function, then p[c] is valid if c is EOF or if p is any value of +- * type unsigned char. +- */ +- +-int _Locale_toupper(struct _Locale_ctype *, int); +-int _Locale_tolower(struct _Locale_ctype *, int); +- +-/* +- * c is either EOF, or an unsigned char value. +- */ +- +-# ifndef __STL_NO_WCHAR_T +-/* +- * Wide character functions: +- */ +-_Locale_mask_t _Locale_wchar_ctype(struct _Locale_ctype *, wint_t); +-wint_t _Locale_wchar_tolower(struct _Locale_ctype *, wint_t); +-wint_t _Locale_wchar_toupper(struct _Locale_ctype *, wint_t); +-# endif +- +-# ifndef __STL_NO_MBSTATE_T +- +-/* +- * Multibyte functions: +- */ +- +-int _Locale_mb_cur_max (struct _Locale_ctype *); +-/* +- * Returns the number of bytes of the longest allowed multibyte +- * character in the current encoding. +- */ +- +-int _Locale_mb_cur_min (struct _Locale_ctype *); +-/* +- * Returns the number of bytes of the shortest allowed multibyte +- * character in the current encoding. +- */ +- +-int _Locale_is_stateless (struct _Locale_ctype *); +-/* +- * Returns 1 if the current multibyte encoding is stateless +- * and does not require the use of an mbstate_t value. +- */ +- +-wint_t _Locale_btowc(struct _Locale_ctype *, int); +-int _Locale_wctob(struct _Locale_ctype *, wint_t); +- +-/* +- * Just like btowc and wctob, from 4.6.5.1 of the C standard, Normative +- * Addendum 1. (And just like widen/narrow, from clause 22 of the C++ +- * standard.) +- */ +- +-size_t _Locale_mbtowc(struct _Locale_ctype *, +- wchar_t *, +- const char *, size_t, +- mbstate_t *); +- +-/* +- * Almost identical to mbrtowc, from 4.6.5.3.2 of NA1. The only +- * important difference is that mbrtowc treats null wide characters +- * as special, and we don't. Specifically: examines the characters +- * in [from, from + n), extracts a single wide character, and stores +- * it in *to. Modifies shift_state if appropriate. The return value, +- * which is always positive, is the number of characters extracted from +- * the input sequence. Return value is (size_t) -1 if there was an +- * encoding error in the input sequence, and (size_t) -2 if +- * [from, from + n) is correct but not complete. None of the pointer +- * arguments may be null pointers. +- */ +- +-size_t _Locale_wctomb(struct _Locale_ctype *, +- char *, size_t, +- const wchar_t, +- mbstate_t *); +- +-/* +- * Again, very similar to wcrtomb. The differences are that (1) it +- * doesn't treat null characters as special; and (2) it stores at most +- * n characters. Converts c to a multibyte sequence, stores that +- * sequence in the array 'to', and returns the length of the sequence. +- * Modifies shift_state if appropriate. The return value is (size_t) -1 +- * if c is not a valid wide character, and (size_t) -2 if the length of +- * the multibyte character sequence is greater than n. +- */ +- +-size_t _Locale_unshift(struct _Locale_ctype *, +- mbstate_t *, +- char *, size_t, char **); +- +-/* +- * Inserts whatever characters are necessary to restore st to an +- * initial shift state. Sets *next to buf + m, where m is the number +- * of characters inserted. (0 <= m <= n.) Returns m to indicate +- * success, (size_t) -1 to indicate error, (size_t) -2 to indicate +- * partial success (more than n characters needed). For success or partial +- * success, sets *next to buf + m. +- */ +- +-# endif /* __STL_NO_MBSTATE_T */ +- +-/* +- * FUNCTIONS THAT USE COLLATE +- */ +- +-int _Locale_strcmp(struct _Locale_collate *, +- const char *, size_t, +- const char *, size_t); +-# ifndef __STL_NO_WCHAR_T +-int _Locale_strwcmp(struct _Locale_collate *, +- const wchar_t *, size_t, +- const wchar_t *, size_t); +-# endif +-/* +- * Compares the two sequences [s1, s1 + n1) and [s2, s2 + n2). Neither +- * sequence is assumed to be null-terminated, and null characters +- * aren't special. If the two sequences are the same up through +- * min(n1, n2), then the sequence that compares less is whichever one +- * is shorter. +- */ +- +-size_t _Locale_strxfrm(struct _Locale_collate *, +- char *, size_t, +- const char *, size_t); +- +-# ifndef __STL_NO_WCHAR_T +-size_t _Locale_strwxfrm(struct _Locale_collate *, +- wchar_t *, size_t, +- const wchar_t *, size_t); +-# endif +- +-/* +- * Creates a transformed version of the string [s2, s2 + n2). The +- * string may contain embedded null characters; nulls aren't special. +- * The transformed string begins at s1, and contains at most n1 +- * characters. The return value is the length of the transformed +- * string. If the return value is greater than n1 then this is an +- * error condition: it indicates that there wasn't enough space. In +- * that case, the contents of [s1, s1 + n1) is unspecified. +-*/ +- +-/* +- * FUNCTIONS THAT USE NUMERIC +- */ +- +-char _Locale_decimal_point(struct _Locale_numeric *); +-char _Locale_thousands_sep(struct _Locale_numeric *); +-const char * _Locale_grouping(struct _Locale_numeric *); +- +-/* +- * Equivalent to the first three fields in struct lconv. (C standard, +- * section 7.4.) +- */ +- +-const char * _Locale_true(struct _Locale_numeric *); +-const char * _Locale_false(struct _Locale_numeric *); +- +-/* +- * Return "true" and "false" in English locales, and something +- * appropriate in non-English locales. +- */ +- +-/* +- * FUNCTIONS THAT USE MONETARY +- */ +- +-const char * _Locale_int_curr_symbol(struct _Locale_monetary *); +-const char * _Locale_currency_symbol(struct _Locale_monetary *); +-char _Locale_mon_decimal_point(struct _Locale_monetary *); +-char _Locale_mon_thousands_sep(struct _Locale_monetary *); +-const char * _Locale_mon_grouping(struct _Locale_monetary *); +-const char * _Locale_positive_sign(struct _Locale_monetary *); +-const char * _Locale_negative_sign(struct _Locale_monetary *); +-char _Locale_int_frac_digits(struct _Locale_monetary *); +-char _Locale_frac_digits(struct _Locale_monetary *); +-int _Locale_p_cs_precedes(struct _Locale_monetary *); +-int _Locale_p_sep_by_space(struct _Locale_monetary *); +-int _Locale_p_sign_posn(struct _Locale_monetary *); +-int _Locale_n_cs_precedes(struct _Locale_monetary *); +-int _Locale_n_sep_by_space(struct _Locale_monetary *); +-int _Locale_n_sign_posn(struct _Locale_monetary *); +- +-/* +- * Return the obvious fields of struct lconv. +- */ +- +-/* +- * FUNCTIONS THAT USE TIME +- */ +- +-const char ** _Locale_full_monthname(struct _Locale_time *); +-const char ** _Locale_abbrev_monthname(struct _Locale_time *); +- +-/* +- * month is in the range [0, 12). +- */ +- +-const char ** _Locale_full_dayofweek(struct _Locale_time *); +-const char ** _Locale_abbrev_dayofweek(struct _Locale_time *); +- +-/* +- * day is in the range [0, 7). Sunday is 0. +- */ +- +-const char * _Locale_d_t_fmt(struct _Locale_time *); +-const char * _Locale_d_fmt(struct _Locale_time *); +-const char * _Locale_t_fmt(struct _Locale_time *); +-const char * _Locale_am_str(struct _Locale_time *); +-const char * _Locale_pm_str(struct _Locale_time *); +-const char * _Locale_t_fmt_ampm(struct _Locale_time *); +- +- +-/* +- * FUNCTIONS THAT USE MESSAGES +- */ +- +-int _Locale_catopen(struct _Locale_messages*, const char*); +- +-/* +- * Very similar to catopen, except that it uses L to determine +- * which catalog to open. +- */ +- +-void _Locale_catclose(struct _Locale_messages*, int); +- +-/* +- * catalog is a value that was returned by a previous call to +- * _Locale_catopen +- */ +- +-const char * _Locale_catgets(struct _Locale_messages *, int, +- int, int,const char *); +- +-/* +- * Returns a string, identified by a set index and a message index, +- * from an opened message catalog. Returns default if no such +- * string exists. +- */ +- +-# ifdef __cplusplus +-} +-__STL_END_NAMESPACE +-# endif +- +-# endif /* __STL_C_LOCALE_H */ ++# endif /* _STLP_C_LOCALE_H */ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/char_traits.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/char_traits.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/char_traits.h Sat Feb 24 10:44:35 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/char_traits.h Sun Aug 11 18:59:25 2002 +@@ -16,23 +16,22 @@ + * + */ + +-#ifndef __SGI_STL_CHAR_TRAITS_H +-#define __SGI_STL_CHAR_TRAITS_H +- ++#ifndef _STLP_CHAR_TRAITS_H ++#define _STLP_CHAR_TRAITS_H + + // Define char_traits + +-# if defined (__SGI_STL_OWN_IOSTREAMS) || ! defined (__STL_USE_NEW_IOSTREAMS) ++# if defined (_STLP_OWN_IOSTREAMS) || ! defined (_STLP_USE_NEW_IOSTREAMS) + +-# if ! defined (__STLPORT_CSTDDEF) ++# if ! defined (_STLP_CSTDDEF) + # include + # endif + +-# if defined (__STL_HAS_WCHAR_T) && !defined (__STLPORT_CWCHAR) ++# if !defined (_STLP_CWCHAR) + # include + # endif + +-#if ! defined (__STLPORT_CSTRING) ++#if ! defined (_STLP_CSTRING) + # include + #endif + +@@ -40,7 +39,83 @@ + # include + #endif + +-__STL_BEGIN_NAMESPACE ++#if defined (_STLP_UNIX) && defined (_STLP_HAS_NO_NEW_C_HEADERS) ++#include // For off_t ++#endif /* __unix */ ++ ++#ifdef __BORLANDC__ ++# include ++# include ++# include <_stddef.h> ++class mbstate_t; ++#endif ++ ++_STLP_BEGIN_NAMESPACE ++ ++# ifdef _STLP_OWN_IOSTREAMS ++ ++template class allocator; ++ ++#define _STLP_NULL_CHAR_INIT(_ChT) _STLP_DEFAULT_CONSTRUCTED(_ChT) ++ ++#if defined (__sgi) && defined (_STLP_HAS_NO_NEW_C_HEADERS) /* IRIX */ ++typedef off64_t streamoff; ++// #elif defined (__unix) && defined (_STLP_HAS_NO_NEW_C_HEADERS) /* Other version of UNIX */ ++// typedef off_t streamoff; ++#else /* __unix */ ++// boris : here, it's not ptrdiff_t as some Solaris systems have confusing definitions of these. ++typedef long streamoff; ++#endif /* _STLP_HAS_NO_NEW_C_HEADERS */ ++ ++typedef ptrdiff_t streamsize; ++ ++// Class fpos, which represents a position within a file. (The C++ ++// standard calls for it to be defined in . This implementation ++// moves it to , which is included by .) ++template class fpos ++{ ++public: // From table 88 of the C++ standard. ++ fpos(streamoff __pos) : _M_pos(__pos), _M_st(_STLP_NULL_CHAR_INIT(_StateT)) {} ++ fpos() : _M_pos(0), _M_st(_STLP_NULL_CHAR_INIT(_StateT)) {} ++ ++ operator streamoff() const { return _M_pos; } ++ ++ bool _STLP_CALL operator==(const fpos<_StateT>& __y) const ++ { return _M_pos == __y._M_pos; } ++ bool _STLP_CALL operator!=(const fpos<_StateT>& __y) const ++ { return _M_pos != __y._M_pos; } ++ ++ fpos<_StateT>& operator+=(streamoff __off) { ++ _M_pos += __off; ++ return *this; ++ } ++ fpos<_StateT>& operator-=(streamoff __off) { ++ _M_pos -= __off; ++ return *this; ++ } ++ ++ fpos<_StateT> operator+(streamoff __off) { ++ fpos<_StateT> __tmp(*this); ++ __tmp += __off; ++ return __tmp; ++ } ++ fpos<_StateT> operator-(streamoff __off) { ++ fpos<_StateT> __tmp(*this); ++ __tmp -= __off; ++ return __tmp; ++ } ++ ++public: // Manipulation of the state member. ++ _StateT state() const { return _M_st; } ++ void state(_StateT __st) { _M_st = __st; } ++private: ++ streamoff _M_pos; ++ _StateT _M_st; ++}; ++ ++typedef fpos streampos; ++typedef fpos wstreampos; ++# endif + + // Class __char_traits_base. + +@@ -48,38 +123,38 @@ + public: + typedef _CharT char_type; + typedef _IntT int_type; +-#ifdef __STL_USE_NEW_IOSTREAMS ++#ifdef _STLP_USE_NEW_IOSTREAMS + typedef streamoff off_type; + typedef streampos pos_type; +-# ifdef __STL_NO_MBSTATE_T ++# ifdef _STLP_NO_MBSTATE_T + typedef char state_type; + # else + typedef mbstate_t state_type; + # endif +-#endif /* __STL_USE_NEW_IOSTREAMS */ ++#endif /* _STLP_USE_NEW_IOSTREAMS */ + +- static void __STL_CALL assign(char_type& __c1, const char_type& __c2) { __c1 = __c2; } +- static bool __STL_CALL eq(const _CharT& __c1, const _CharT& __c2) ++ static void _STLP_CALL assign(char_type& __c1, const char_type& __c2) { __c1 = __c2; } ++ static bool _STLP_CALL eq(const _CharT& __c1, const _CharT& __c2) + { return __c1 == __c2; } +- static bool __STL_CALL lt(const _CharT& __c1, const _CharT& __c2) ++ static bool _STLP_CALL lt(const _CharT& __c1, const _CharT& __c2) + { return __c1 < __c2; } + +- static int __STL_CALL compare(const _CharT* __s1, const _CharT* __s2, size_t __n) { ++ static int _STLP_CALL compare(const _CharT* __s1, const _CharT* __s2, size_t __n) { + for (size_t __i = 0; __i < __n; ++__i) + if (!eq(__s1[__i], __s2[__i])) + return __s1[__i] < __s2[__i] ? -1 : 1; + return 0; + } + +- static size_t __STL_CALL length(const _CharT* __s) { +- const _CharT _NullChar = __STL_DEFAULT_CONSTRUCTED(_CharT); ++ static size_t _STLP_CALL length(const _CharT* __s) { ++ const _CharT _NullChar = _STLP_DEFAULT_CONSTRUCTED(_CharT); + size_t __i; + for (__i = 0; !eq(__s[__i], _NullChar); ++__i) + {} + return __i; + } + +- static const _CharT* __STL_CALL find(const _CharT* __s, size_t __n, const _CharT& __c) { ++ static const _CharT* _STLP_CALL find(const _CharT* __s, size_t __n, const _CharT& __c) { + for ( ; __n > 0 ; ++__s, --__n) + if (eq(*__s, __c)) + return __s; +@@ -87,40 +162,38 @@ + } + + +- static _CharT* __STL_CALL move(_CharT* __s1, const _CharT* __s2, size_t _Sz) { +- memmove(__s1, __s2, _Sz * sizeof(_CharT)); +- return __s1; ++ static _CharT* _STLP_CALL move(_CharT* __s1, const _CharT* __s2, size_t _Sz) { ++ return (_Sz == 0 ? __s1 : (_CharT*)memmove(__s1, __s2, _Sz * sizeof(_CharT))); + } ++ ++ static _CharT* _STLP_CALL copy(_CharT* __s1, const _CharT* __s2, size_t __n) { ++ return (__n == 0 ? __s1 : ++ (_CharT*)memcpy(__s1, __s2, __n * sizeof(_CharT))); ++ } + +- +- static _CharT* __STL_CALL copy(_CharT* __s1, const _CharT* __s2, size_t __n) { +- memcpy(__s1, __s2, __n * sizeof(_CharT)); +- return __s1; +- } +- +- static _CharT* __STL_CALL assign(_CharT* __s, size_t __n, _CharT __c) { ++ static _CharT* _STLP_CALL assign(_CharT* __s, size_t __n, _CharT __c) { + for (size_t __i = 0; __i < __n; ++__i) + __s[__i] = __c; + return __s; + } + +- static int_type __STL_CALL not_eof(const int_type& __c) { +- return !eq_int_type(__c, eof()) ? __c : 0; ++ static int_type _STLP_CALL not_eof(const int_type& __c) { ++ return !eq_int_type(__c, eof()) ? __c : __STATIC_CAST(int_type, 0); + } + +- static char_type __STL_CALL to_char_type(const int_type& __c) { ++ static char_type _STLP_CALL to_char_type(const int_type& __c) { + return (char_type)__c; + } + +- static int_type __STL_CALL to_int_type(const char_type& __c) { ++ static int_type _STLP_CALL to_int_type(const char_type& __c) { + return (int_type)__c; + } + +- static bool __STL_CALL eq_int_type(const int_type& __c1, const int_type& __c2) { ++ static bool _STLP_CALL eq_int_type(const int_type& __c1, const int_type& __c2) { + return __c1 == __c2; + } + +- static int_type __STL_CALL eof() { ++ static int_type _STLP_CALL eof() { + return (int_type)-1; + // return __STATIC_CAST(int_type,-1); + } +@@ -137,47 +210,47 @@ + + // Specialization for char. + +-__STL_TEMPLATE_NULL class __STL_CLASS_DECLSPEC char_traits ++_STLP_TEMPLATE_NULL class _STLP_CLASS_DECLSPEC char_traits + : public __char_traits_base + { + public: + typedef char char_type; + typedef int int_type; +-#ifdef __STL_USE_NEW_IOSTREAMS ++#ifdef _STLP_USE_NEW_IOSTREAMS + typedef streamoff off_type; +-# ifndef __STL_NO_MBSTATE_T ++# ifndef _STLP_NO_MBSTATE_T + typedef streampos pos_type; + typedef mbstate_t state_type; + # endif +-#endif /* __STL_USE_NEW_IOSTREAMS */ ++#endif /* _STLP_USE_NEW_IOSTREAMS */ + +- static char __STL_CALL to_char_type(const int& __c) { ++ static char _STLP_CALL to_char_type(const int& __c) { + return (char)(unsigned char)__c; + } + +- static int __STL_CALL to_int_type(const char& __c) { ++ static int _STLP_CALL to_int_type(const char& __c) { + return (unsigned char)__c; + } + +- static int __STL_CALL compare(const char* __s1, const char* __s2, size_t __n) ++ static int _STLP_CALL compare(const char* __s1, const char* __s2, size_t __n) + { return memcmp(__s1, __s2, __n); } + +- static size_t __STL_CALL length(const char* __s) { return strlen(__s); } ++ static size_t _STLP_CALL length(const char* __s) { return strlen(__s); } + +- static void __STL_CALL assign(char& __c1, const char& __c2) { __c1 = __c2; } ++ static void _STLP_CALL assign(char& __c1, const char& __c2) { __c1 = __c2; } + +- static char* __STL_CALL assign(char* __s, size_t __n, char __c) ++ static char* _STLP_CALL assign(char* __s, size_t __n, char __c) + { memset(__s, __c, __n); return __s; } + }; + +-# if defined (__STL_HAS_WCHAR_T) ++# if defined (_STLP_HAS_WCHAR_T) + // Specialization for wchar_t. +-__STL_TEMPLATE_NULL class __STL_CLASS_DECLSPEC char_traits ++_STLP_TEMPLATE_NULL class _STLP_CLASS_DECLSPEC char_traits + : public __char_traits_base + {}; + # endif + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + + # else /* OWN_IOSTREAMS */ + +@@ -185,7 +258,7 @@ + + # endif /* OWN_IOSTREAMS */ + +-#endif /* __SGI_STL_CHAR_TRAITS_H */ ++#endif /* _STLP_CHAR_TRAITS_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/concept_checks.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/concept_checks.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/concept_checks.h Sat Feb 24 10:44:35 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/concept_checks.h Sun Aug 11 18:59:25 2002 +@@ -44,33 +44,33 @@ + + */ + +-#ifndef __STL_USE_CONCEPT_CHECKS ++#ifndef _STLP_USE_CONCEPT_CHECKS + + // Some compilers lack the features that are necessary for concept checks. + // On those compilers we define the concept check macros to do nothing. +-#define __STL_REQUIRES(__type_var, __concept) do {} while(0) +-#define __STL_CLASS_REQUIRES(__type_var, __concept) \ ++#define _STLP_REQUIRES(__type_var, __concept) do {} while(0) ++#define _STLP_CLASS_REQUIRES(__type_var, __concept) \ + static int __##__type_var##_##__concept +-#define __STL_CONVERTIBLE(__type_x, __type_y) do {} while(0) +-#define __STL_REQUIRES_SAME_TYPE(__type_x, __type_y) do {} while(0) +-#define __STL_CLASS_REQUIRES_SAME_TYPE(__type_x, __type_y) \ ++#define _STLP_CONVERTIBLE(__type_x, __type_y) do {} while(0) ++#define _STLP_REQUIRES_SAME_TYPE(__type_x, __type_y) do {} while(0) ++#define _STLP_CLASS_REQUIRES_SAME_TYPE(__type_x, __type_y) \ + static int __##__type_x##__type_y##_require_same_type +-#define __STL_GENERATOR_CHECK(__func, __ret) do {} while(0) +-#define __STL_CLASS_GENERATOR_CHECK(__func, __ret) \ ++#define _STLP_GENERATOR_CHECK(__func, __ret) do {} while(0) ++#define _STLP_CLASS_GENERATOR_CHECK(__func, __ret) \ + static int __##__func##__ret##_generator_check +-#define __STL_UNARY_FUNCTION_CHECK(__func, __ret, __arg) do {} while(0) +-#define __STL_CLASS_UNARY_FUNCTION_CHECK(__func, __ret, __arg) \ ++#define _STLP_UNARY_FUNCTION_CHECK(__func, __ret, __arg) do {} while(0) ++#define _STLP_CLASS_UNARY_FUNCTION_CHECK(__func, __ret, __arg) \ + static int __##__func##__ret##__arg##_unary_function_check +-#define __STL_BINARY_FUNCTION_CHECK(__func, __ret, __first, __second) \ ++#define _STLP_BINARY_FUNCTION_CHECK(__func, __ret, __first, __second) \ + do {} while(0) +-#define __STL_CLASS_BINARY_FUNCTION_CHECK(__func, __ret, __first, __second) \ ++#define _STLP_CLASS_BINARY_FUNCTION_CHECK(__func, __ret, __first, __second) \ + static int __##__func##__ret##__first##__second##_binary_function_check +-#define __STL_REQUIRES_BINARY_OP(__opname, __ret, __first, __second) \ ++#define _STLP_REQUIRES_BINARY_OP(__opname, __ret, __first, __second) \ + do {} while(0) +-#define __STL_CLASS_REQUIRES_BINARY_OP(__opname, __ret, __first, __second) \ ++#define _STLP_CLASS_REQUIRES_BINARY_OP(__opname, __ret, __first, __second) \ + static int __##__opname##__ret##__first##__second##_require_binary_op + +-#else /* __STL_USE_CONCEPT_CHECKS */ ++#else /* _STLP_USE_CONCEPT_CHECKS */ + + // This macro tests whether the template argument "__type_var" + // satisfies the requirements of "__concept". Here is a list of concepts +@@ -91,20 +91,20 @@ + // _Mutable_BidirectionalIterator + // _Mutable_RandomAccessIterator + +-#define __STL_REQUIRES(__type_var, __concept) \ ++#define _STLP_REQUIRES(__type_var, __concept) \ + do { \ + void (*__x)( __type_var ) = __concept##_concept_specification< __type_var >\ + ::##__concept##_requirement_violation; __x = __x; } while (0) + + // Use this to check whether type X is convertible to type Y +-#define __STL_CONVERTIBLE(__type_x, __type_y) \ ++#define _STLP_CONVERTIBLE(__type_x, __type_y) \ + do { \ + void (*__x)( __type_x , __type_y ) = _STL_CONVERT_ERROR< __type_x , \ + __type_y >::__type_X_is_not_convertible_to_type_Y; \ + __x = __x; } while (0) + + // Use this to test whether two template arguments are the same type +-#define __STL_REQUIRES_SAME_TYPE(__type_x, __type_y) \ ++#define _STLP_REQUIRES_SAME_TYPE(__type_x, __type_y) \ + do { \ + void (*__x)( __type_x , __type_y ) = _STL_SAME_TYPE_ERROR< __type_x, \ + __type_y >::__type_X_not_same_as_type_Y; \ +@@ -112,7 +112,7 @@ + + + // function object checks +-#define __STL_GENERATOR_CHECK(__func, __ret) \ ++#define _STLP_GENERATOR_CHECK(__func, __ret) \ + do { \ + __ret (*__x)( __func&) = \ + _STL_GENERATOR_ERROR< \ +@@ -120,7 +120,7 @@ + __x = __x; } while (0) + + +-#define __STL_UNARY_FUNCTION_CHECK(__func, __ret, __arg) \ ++#define _STLP_UNARY_FUNCTION_CHECK(__func, __ret, __arg) \ + do { \ + __ret (*__x)( __func&, const __arg& ) = \ + _STL_UNARY_FUNCTION_ERROR< \ +@@ -128,7 +128,7 @@ + __x = __x; } while (0) + + +-#define __STL_BINARY_FUNCTION_CHECK(__func, __ret, __first, __second) \ ++#define _STLP_BINARY_FUNCTION_CHECK(__func, __ret, __first, __second) \ + do { \ + __ret (*__x)( __func&, const __first&, const __second& ) = \ + _STL_BINARY_FUNCTION_ERROR< \ +@@ -136,7 +136,7 @@ + __x = __x; } while (0) + + +-#define __STL_REQUIRES_BINARY_OP(__opname, __ret, __first, __second) \ ++#define _STLP_REQUIRES_BINARY_OP(__opname, __ret, __first, __second) \ + do { \ + __ret (*__x)( __first&, __second& ) = _STL_BINARY##__opname##_ERROR< \ + __ret, __first, __second>::__binary_operator_requirement_violation; \ +@@ -146,14 +146,14 @@ + __y = __y; __x = __x; } while (0) + + +-#ifdef __STL_NO_FUNCTION_PTR_IN_CLASS_TEMPLATE ++#ifdef _STLP_NO_FUNCTION_PTR_IN_CLASS_TEMPLATE + +-#define __STL_CLASS_REQUIRES(__type_var, __concept) +-#define __STL_CLASS_REQUIRES_SAME_TYPE(__type_x, __type_y) +-#define __STL_CLASS_GENERATOR_CHECK(__func, __ret) +-#define __STL_CLASS_UNARY_FUNCTION_CHECK(__func, __ret, __arg) +-#define __STL_CLASS_BINARY_FUNCTION_CHECK(__func, __ret, __first, __second) +-#define __STL_CLASS_REQUIRES_BINARY_OP(__opname, __ret, __first, __second) ++#define _STLP_CLASS_REQUIRES(__type_var, __concept) ++#define _STLP_CLASS_REQUIRES_SAME_TYPE(__type_x, __type_y) ++#define _STLP_CLASS_GENERATOR_CHECK(__func, __ret) ++#define _STLP_CLASS_UNARY_FUNCTION_CHECK(__func, __ret, __arg) ++#define _STLP_CLASS_BINARY_FUNCTION_CHECK(__func, __ret, __first, __second) ++#define _STLP_CLASS_REQUIRES_BINARY_OP(__opname, __ret, __first, __second) + + #else + +@@ -162,7 +162,7 @@ + // Warning: do not pass pointers and such (e.g. T*) in as the __type_var, + // since the type_var is used to construct identifiers. Instead typedef + // the pointer type, then use the typedef name for the __type_var. +-#define __STL_CLASS_REQUIRES(__type_var, __concept) \ ++#define _STLP_CLASS_REQUIRES(__type_var, __concept) \ + typedef void (* __func##__type_var##__concept)( __type_var ); \ + template <__func##__type_var##__concept _Tp1> \ + struct __dummy_struct_##__type_var##__concept { }; \ +@@ -172,7 +172,7 @@ + __dummy_ptr_##__type_var##__concept + + +-#define __STL_CLASS_REQUIRES_SAME_TYPE(__type_x, __type_y) \ ++#define _STLP_CLASS_REQUIRES_SAME_TYPE(__type_x, __type_y) \ + typedef void (* __func_##__type_x##__type_y##same_type)( __type_x, \ + __type_y ); \ + template < __func_##__type_x##__type_y##same_type _Tp1> \ +@@ -182,7 +182,7 @@ + __dummy_ptr_##__type_x##__type_y##_same_type + + +-#define __STL_CLASS_GENERATOR_CHECK(__func, __ret) \ ++#define _STLP_CLASS_GENERATOR_CHECK(__func, __ret) \ + typedef __ret (* __f_##__func##__ret##_generator)( __func& ); \ + template <__f_##__func##__ret##_generator _Tp1> \ + struct __dummy_struct_##__func##__ret##_generator { }; \ +@@ -192,7 +192,7 @@ + __dummy_ptr_##__func##__ret##_generator + + +-#define __STL_CLASS_UNARY_FUNCTION_CHECK(__func, __ret, __arg) \ ++#define _STLP_CLASS_UNARY_FUNCTION_CHECK(__func, __ret, __arg) \ + typedef __ret (* __f_##__func##__ret##__arg##_unary_check)( __func&, \ + const __arg& ); \ + template <__f_##__func##__ret##__arg##_unary_check _Tp1> \ +@@ -203,7 +203,7 @@ + __dummy_ptr_##__func##__ret##__arg##_unary_check + + +-#define __STL_CLASS_BINARY_FUNCTION_CHECK(__func, __ret, __first, __second) \ ++#define _STLP_CLASS_BINARY_FUNCTION_CHECK(__func, __ret, __first, __second) \ + typedef __ret (* __f_##__func##__ret##__first##__second##_binary_check)( __func&, const __first&,\ + const __second& ); \ + template <__f_##__func##__ret##__first##__second##_binary_check _Tp1> \ +@@ -214,7 +214,7 @@ + __dummy_ptr_##__func##__ret##__first##__second##_binary_check + + +-#define __STL_CLASS_REQUIRES_BINARY_OP(__opname, __ret, __first, __second) \ ++#define _STLP_CLASS_REQUIRES_BINARY_OP(__opname, __ret, __first, __second) \ + typedef __ret (* __f_##__func##__ret##__first##__second##_binary_op)(const __first&, \ + const __second& ); \ + template <__f_##__func##__ret##__first##__second##_binary_op _Tp1> \ +@@ -320,7 +320,7 @@ + }; + + +-#define __STL_DEFINE_BINARY_OP_CHECK(_OP, _NAME) \ ++#define _STLP_DEFINE_BINARY_OP_CHECK(_OP, _NAME) \ + template \ + struct _STL_BINARY##_NAME##_ERROR { \ + static _Ret \ +@@ -335,17 +335,17 @@ + } \ + } + +-__STL_DEFINE_BINARY_OP_CHECK(==, _OP_EQUAL); +-__STL_DEFINE_BINARY_OP_CHECK(!=, _OP_NOT_EQUAL); +-__STL_DEFINE_BINARY_OP_CHECK(<, _OP_LESS_THAN); +-__STL_DEFINE_BINARY_OP_CHECK(<=, _OP_LESS_EQUAL); +-__STL_DEFINE_BINARY_OP_CHECK(>, _OP_GREATER_THAN); +-__STL_DEFINE_BINARY_OP_CHECK(>=, _OP_GREATER_EQUAL); +-__STL_DEFINE_BINARY_OP_CHECK(+, _OP_PLUS); +-__STL_DEFINE_BINARY_OP_CHECK(*, _OP_TIMES); +-__STL_DEFINE_BINARY_OP_CHECK(/, _OP_DIVIDE); +-__STL_DEFINE_BINARY_OP_CHECK(-, _OP_SUBTRACT); +-__STL_DEFINE_BINARY_OP_CHECK(%, _OP_MOD); ++_STLP_DEFINE_BINARY_OP_CHECK(==, _OP_EQUAL); ++_STLP_DEFINE_BINARY_OP_CHECK(!=, _OP_NOT_EQUAL); ++_STLP_DEFINE_BINARY_OP_CHECK(<, _OP_LESS_THAN); ++_STLP_DEFINE_BINARY_OP_CHECK(<=, _OP_LESS_EQUAL); ++_STLP_DEFINE_BINARY_OP_CHECK(>, _OP_GREATER_THAN); ++_STLP_DEFINE_BINARY_OP_CHECK(>=, _OP_GREATER_EQUAL); ++_STLP_DEFINE_BINARY_OP_CHECK(+, _OP_PLUS); ++_STLP_DEFINE_BINARY_OP_CHECK(*, _OP_TIMES); ++_STLP_DEFINE_BINARY_OP_CHECK(/, _OP_DIVIDE); ++_STLP_DEFINE_BINARY_OP_CHECK(-, _OP_SUBTRACT); ++_STLP_DEFINE_BINARY_OP_CHECK(%, _OP_MOD); + // ... + + // TODO, add unary operators (prefix and postfix) +@@ -490,9 +490,9 @@ + + /* Associated Type Requirements */ + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + template struct iterator_traits; +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + + template + struct __value_type_type_definition_requirement_violation { +@@ -763,19 +763,19 @@ + } + }; + +-#define __STL_TYPEDEF_REQUIREMENT(__REQUIREMENT) \ ++#define _STLP_TYPEDEF_REQUIREMENT(__REQUIREMENT) \ + template \ + struct __##__REQUIREMENT##__typedef_requirement_violation { \ + typedef typename Type::__REQUIREMENT __REQUIREMENT; \ + }; + +-__STL_TYPEDEF_REQUIREMENT(value_type); +-__STL_TYPEDEF_REQUIREMENT(difference_type); +-__STL_TYPEDEF_REQUIREMENT(size_type); +-__STL_TYPEDEF_REQUIREMENT(reference); +-__STL_TYPEDEF_REQUIREMENT(const_reference); +-__STL_TYPEDEF_REQUIREMENT(pointer); +-__STL_TYPEDEF_REQUIREMENT(const_pointer); ++_STLP_TYPEDEF_REQUIREMENT(value_type); ++_STLP_TYPEDEF_REQUIREMENT(difference_type); ++_STLP_TYPEDEF_REQUIREMENT(size_type); ++_STLP_TYPEDEF_REQUIREMENT(reference); ++_STLP_TYPEDEF_REQUIREMENT(const_reference); ++_STLP_TYPEDEF_REQUIREMENT(pointer); ++_STLP_TYPEDEF_REQUIREMENT(const_pointer); + + + template +@@ -797,11 +797,11 @@ + __pointer__typedef_requirement_violation<_Alloc>(); + __const_pointer__typedef_requirement_violation<_Alloc>(); + typedef typename _Alloc::value_type _Type; +- __STL_REQUIRES_SAME_TYPE(typename _Alloc::rebind<_Type>::other, _Alloc); ++ _STLP_REQUIRES_SAME_TYPE(typename _Alloc::rebind<_Type>::other, _Alloc); + } + }; + +-#endif /* __STL_USE_CONCEPT_CHECKS */ ++#endif /* _STLP_USE_CONCEPT_CHECKS */ + + #endif /* __CONCEPT_CHECKS_H */ + +Only in tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl: container_concepts.h +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/debug/_debug.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/debug/_debug.c +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/debug/_debug.c Sat Feb 24 10:45:18 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/debug/_debug.c Sun Aug 11 18:59:25 2002 +@@ -17,17 +17,152 @@ + * + */ + +-# ifndef __STLPORT_DEBUG_C +-# define __STLPORT_DEBUG_C ++# ifndef _STLP_DEBUG_C ++# define _STLP_DEBUG_C ++ ++#if defined ( _STLP_DEBUG ) ++ ++# ifdef _STLP_THREADS ++# ifndef _STLP_NEED_MUTABLE ++# define _STLP_ACQUIRE_LOCK(_Lock) _Lock._M_acquire_lock(); ++# define _STLP_RELEASE_LOCK(_Lock) _Lock._M_release_lock(); ++# else ++# define _STLP_ACQUIRE_LOCK(_Lock) ((_STLP_mutex&)_Lock)._M_acquire_lock(); ++# define _STLP_RELEASE_LOCK(_Lock) ((_STLP_mutex&)_Lock)._M_release_lock(); ++# endif /* _STLP_NEED_MUTABLE */ ++# else ++# define _STLP_ACQUIRE_LOCK(_Lock) ++# define _STLP_RELEASE_LOCK(_Lock) ++# endif /* _STLP_THREADS */ ++ ++_STLP_BEGIN_NAMESPACE ++ ++//========================================================== ++// global non-inline functions ++//========================================================== ++ ++// [ i1, i2) ++template ++inline bool _STLP_CALL ++__in_range_aux(const _Iterator& __it, const _Iterator& __first, ++ const _Iterator& __last, const random_access_iterator_tag &) { ++ return ( __it >= __first && ++ __it < __last); ++} ++ ++template ++# if defined (_STLP_MSVC) && (_STLP_MSVC >= 1100) ++inline bool _STLP_CALL __in_range_aux(_Iterator1 __it, const _Iterator& __first, ++# else ++inline bool _STLP_CALL __in_range_aux(const _Iterator1& __it, const _Iterator& __first, ++# endif ++ const _Iterator& __last, const forward_iterator_tag &) { ++ _Iterator1 __i(__first); ++ for (; __i != __last && __i != __it; ++__i); ++ return (__i!=__last); ++} ++ ++# if defined (_STLP_NONTEMPL_BASE_MATCH_BUG) ++template ++inline bool _STLP_CALL ++__in_range_aux(const _Iterator1& __it, const _Iterator& __first, ++ const _Iterator& __last, const bidirectional_iterator_tag &) { ++ _Iterator1 __i(__first); ++ for (; __i != __last && __i != __it; ++__i); ++ return (__i !=__last); ++} ++# endif ++ ++template ++bool _STLP_CALL __check_range(const _Iterator& __first, const _Iterator& __last) { ++ _STLP_VERBOSE_RETURN(__valid_range(__first,__last), _StlMsg_INVALID_RANGE ) ++ return true; ++} ++ ++template ++bool _STLP_CALL __check_range(const _Iterator& __it, ++ const _Iterator& __start, const _Iterator& __finish) { ++ _STLP_VERBOSE_RETURN(__in_range(__it,__start, __finish), ++ _StlMsg_NOT_IN_RANGE_1) ++ return true; ++} ++ ++template ++bool _STLP_CALL __check_range(const _Iterator& __first, const _Iterator& __last, ++ const _Iterator& __start, const _Iterator& __finish) { ++ _STLP_VERBOSE_RETURN(__in_range(__first, __last, __start, __finish), ++ _StlMsg_NOT_IN_RANGE_2) ++ return true; ++} ++ ++//=============================================================== ++ ++template ++void _STLP_CALL __invalidate_range(const __owned_list* __base, ++ const _Iterator& __first, ++ const _Iterator& __last) ++{ ++ typedef _Iterator* _Safe_iterator_ptr; ++ typedef __owned_link _L_type; ++ _STLP_ACQUIRE_LOCK(__base->_M_lock) ++ _L_type* __pos; ++ _L_type* __prev; ++ ++ for (__prev = (_L_type*)&__base->_M_node, __pos= (_L_type*)__prev->_M_next; ++ __pos!=0;) { ++ if ((!(&__first == (_Iterator*)__pos || &__last == (_Iterator*)__pos)) ++ && __in_range_aux( ++ *(_Iterator*)__pos, ++ __first, ++ __last, ++ _STLP_ITERATOR_CATEGORY(__first, _Iterator))) { ++ __pos->_M_owner = 0; ++ __pos = (_L_type*) (__prev->_M_next = __pos->_M_next); ++ } ++ else { ++ __prev = __pos; ++ __pos=(_L_type*)__pos->_M_next; ++ } ++ } ++ _STLP_RELEASE_LOCK(__base->_M_lock) ++} ++ ++template ++void _STLP_CALL __invalidate_iterator(const __owned_list* __base, ++ const _Iterator& __it) ++{ ++ typedef __owned_link _L_type; ++ _L_type* __position, *__prev; ++ _STLP_ACQUIRE_LOCK(__base->_M_lock) ++ for (__prev = (_L_type*)&__base->_M_node, __position = (_L_type*)__prev->_M_next; ++ __position!= 0;) { ++ // this requires safe iterators to be derived from __owned_link ++ if ((__position != (_L_type*)&__it) && *((_Iterator*)__position)==__it) { ++ __position->_M_owner = 0; ++ __position = (_L_type*) (__prev->_M_next = __position->_M_next); ++ } ++ else { ++ __prev = __position; ++ __position=(_L_type*)__position->_M_next; ++ } ++ } ++ _STLP_RELEASE_LOCK(__base->_M_lock) ++} ++ ++_STLP_END_NAMESPACE ++ ++# endif /* _STLP_DEBUG */ ++ ++# if defined (_STLP_EXPOSE_GLOBALS_IMPLEMENTATION) + + // dwa 12/26/99 -- for abort +-# if defined (__STL_USE_NEW_C_HEADERS) ++# if defined (_STLP_USE_NEW_C_HEADERS) + # include + # else + # include + # endif + +-# if defined (__STL_WIN32) ++# if defined (_STLP_WIN32) + # include + # endif + +@@ -36,119 +171,119 @@ + // owned_list non-inline methods and global functions + //========================================================== + +-#if defined ( __STL_ASSERTIONS ) ++#if defined ( _STLP_ASSERTIONS ) + +-# ifndef __STL_ASSERT_MSG_TRAILER +-# define __STL_ASSERT_MSG_TRAILER +-# endif ++_STLP_BEGIN_NAMESPACE + +-// dwa 12/30/98 - if __STL_DEBUG_MESSAGE is defined, the user can supply own definition. +-# if !defined( __STL_DEBUG_MESSAGE ) +-# define __stl_debug_message __stl_debugger::_Message +-# else +- extern void __stl_debug_message(const char * format_str, ...); ++# ifndef _STLP_STRING_LITERAL ++# define _STLP_STRING_LITERAL(__x) __x + # endif + +-// fbp: if __STL_DEBUG_TERMINATE is defined, the user can supply own definition. +-# if !defined( __STL_DEBUG_TERMINATE ) +-# define __stl_debug_terminate __stl_debugger::_Terminate ++# ifdef _STLP_WINCE ++# define _STLP_PERCENT_S "%hs" + # else +- extern void __stl_debug_terminate(void); ++# define _STLP_PERCENT_S "%s" + # endif + +-__STL_BEGIN_NAMESPACE +- +-# ifndef __STL_STRING_LITERAL +-# define __STL_STRING_LITERAL(__x) __x +-# endif +- +-# define __STL_MESSAGE_TABLE_BODY = { \ +-__STL_STRING_LITERAL("\n%s:%d STL error: %s\n"), \ +-__STL_STRING_LITERAL("%s:%d STL assertion failure : %s\n" __STL_ASSERT_MSG_TRAILER), \ +-__STL_STRING_LITERAL("\n%s:%d STL error : %s\n%s:%d STL assertion failure: %s \n" __STL_ASSERT_MSG_TRAILER), \ +-__STL_STRING_LITERAL("Invalid argument to operation (see operation documentation)"), \ +-__STL_STRING_LITERAL("Taking an iterator out of destroyed (or otherwise corrupted) container"), \ +-__STL_STRING_LITERAL("Trying to extract an object out from empty container"),\ +-__STL_STRING_LITERAL("Past-the-end iterator could not be erased"), \ +-__STL_STRING_LITERAL("Index out of bounds"), \ +-__STL_STRING_LITERAL("Container doesn't own the iterator"), \ +-__STL_STRING_LITERAL("Uninitialized or invalidated (by mutating operation) iterator used"), \ +-__STL_STRING_LITERAL("Uninitialized or invalidated (by mutating operation) lefthand iterator in expression"), \ +-__STL_STRING_LITERAL("Uninitialized or invalidated (by mutating operation) righthand iterator in expression"), \ +-__STL_STRING_LITERAL("Iterators used in expression are from different owners"), \ +-__STL_STRING_LITERAL("Iterator could not be dereferenced (past-the-end ?)"), \ +-__STL_STRING_LITERAL("Range [first,last) is invalid"), \ +-__STL_STRING_LITERAL("Iterator is not in range [first,last)"), \ +-__STL_STRING_LITERAL("Range [first,last) is not in range [start,finish)"), \ +-__STL_STRING_LITERAL("The advance would produce invalid iterator"), \ +-__STL_STRING_LITERAL("Iterator is singular (advanced beyond the bounds ?)"), \ +-__STL_STRING_LITERAL("Memory block deallocated twice"), \ +-__STL_STRING_LITERAL("Deallocating a block that was never allocated"), \ +-__STL_STRING_LITERAL("Deallocating a memory block allocated for another type"), \ +-__STL_STRING_LITERAL("Size of block passed to deallocate() doesn't match block size"), \ +-__STL_STRING_LITERAL("Pointer underrun - safety margin at front of memory block overwritten"), \ +-__STL_STRING_LITERAL("Pointer overrrun - safety margin at back of memory block overwritten"), \ +-__STL_STRING_LITERAL("Unknown problem") \ ++# define _STLP_MESSAGE_TABLE_BODY = { \ ++_STLP_STRING_LITERAL("\n" _STLP_PERCENT_S "(%d): STL error: %s\n"), \ ++_STLP_STRING_LITERAL(_STLP_PERCENT_S "(%d): STL assertion failure : " _STLP_PERCENT_S "\n" _STLP_ASSERT_MSG_TRAILER), \ ++_STLP_STRING_LITERAL("\n" _STLP_PERCENT_S "(%d): STL error : " _STLP_PERCENT_S "\n" _STLP_PERCENT_S "(%d): STL assertion failure: " _STLP_PERCENT_S " \n" _STLP_ASSERT_MSG_TRAILER), \ ++_STLP_STRING_LITERAL("Invalid argument to operation (see operation documentation)"), \ ++_STLP_STRING_LITERAL("Taking an iterator out of destroyed (or otherwise corrupted) container"), \ ++_STLP_STRING_LITERAL("Trying to extract an object out from empty container"),\ ++_STLP_STRING_LITERAL("Past-the-end iterator could not be erased"), \ ++_STLP_STRING_LITERAL("Index out of bounds"), \ ++_STLP_STRING_LITERAL("Container doesn't own the iterator"), \ ++_STLP_STRING_LITERAL("Uninitialized or invalidated (by mutating operation) iterator used"), \ ++_STLP_STRING_LITERAL("Uninitialized or invalidated (by mutating operation) lefthand iterator in expression"), \ ++_STLP_STRING_LITERAL("Uninitialized or invalidated (by mutating operation) righthand iterator in expression"), \ ++_STLP_STRING_LITERAL("Iterators used in expression are from different owners"), \ ++_STLP_STRING_LITERAL("Iterator could not be dereferenced (past-the-end ?)"), \ ++_STLP_STRING_LITERAL("Range [first,last) is invalid"), \ ++_STLP_STRING_LITERAL("Iterator is not in range [first,last)"), \ ++_STLP_STRING_LITERAL("Range [first,last) is not in range [start,finish)"), \ ++_STLP_STRING_LITERAL("The advance would produce invalid iterator"), \ ++_STLP_STRING_LITERAL("Iterator is singular (advanced beyond the bounds ?)"), \ ++_STLP_STRING_LITERAL("Memory block deallocated twice"), \ ++_STLP_STRING_LITERAL("Deallocating a block that was never allocated"), \ ++_STLP_STRING_LITERAL("Deallocating a memory block allocated for another type"), \ ++_STLP_STRING_LITERAL("Size of block passed to deallocate() doesn't match block size"), \ ++_STLP_STRING_LITERAL("Pointer underrun - safety margin at front of memory block overwritten"), \ ++_STLP_STRING_LITERAL("Pointer overrrun - safety margin at back of memory block overwritten"), \ ++_STLP_STRING_LITERAL("Attempt to dereference null pointer returned by auto_ptr::get()"), \ ++_STLP_STRING_LITERAL("Unknown problem") \ + } + +-# if ( __STL_STATIC_TEMPLATE_DATA > 0 ) ++# if ( _STLP_STATIC_TEMPLATE_DATA > 0 ) + template +-const char* __stl_debug_engine<_Dummy>::_Message_table[_StlMsg_MAX] __STL_MESSAGE_TABLE_BODY; ++const char* __stl_debug_engine<_Dummy>::_Message_table[_StlMsg_MAX] _STLP_MESSAGE_TABLE_BODY; + + # else + __DECLARE_INSTANCE(const char*, __stl_debug_engine::_Message_table[_StlMsg_MAX], +- __STL_MESSAGE_TABLE_BODY); ++ _STLP_MESSAGE_TABLE_BODY); + + # endif +-__STL_END_NAMESPACE ++ ++# undef _STLP_STRING_LITERAL ++# undef _STLP_PERCENT_S ++_STLP_END_NAMESPACE + + // abort() + # include + +-# if !defined( __STL_DEBUG_MESSAGE ) ++# if !defined( _STLP_DEBUG_MESSAGE ) + + # include + # include + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + template +-void __STL_CALL ++void _STLP_CALL + __stl_debug_engine<_Dummy>::_Message(const char * __format_str, ...) + { + STLPORT_CSTD::va_list __args; + va_start( __args, __format_str ); + +-# if defined (__STL_WINCE) ++# if defined (_STLP_WINCE) + TCHAR __buffer[512]; +- wvsprintf(__buffer, __format_str, __args); +- __STL_WINCE_TRACE(__buffer); +-# elif defined (__STL_WIN32) && ( defined(__STL_MSVC) || defined (__ICL) || defined (__BORLANDC__)) ++ int _convert = strlen(__format_str) + 1; ++ LPWSTR _lpw = (LPWSTR)alloca(_convert*sizeof(wchar_t)); ++ _lpw[0] = '\0'; ++ MultiByteToWideChar(GetACP(), 0, __format_str, -1, _lpw, _convert); ++ wvsprintf(__buffer, _lpw, __args); ++ // wvsprintf(__buffer, __format_str, __args); ++ _STLP_WINCE_TRACE(__buffer); ++# elif defined (_STLP_WIN32) && ( defined(_STLP_MSVC) || defined (__ICL) || defined (__BORLANDC__)) + char __buffer [4096]; + vsnprintf(__buffer, sizeof(__buffer) / sizeof(char), + __format_str, __args); + OutputDebugStringA(__buffer); ++# elif defined (__amigaos__) ++ STLPORT_CSTD::vfprintf(stderr, __format_str, (char *)__args); + # else + STLPORT_CSTD::vfprintf(stderr, __format_str, __args); + # endif /* WINCE */ + +-# ifdef __STL_DEBUG_MESSAGE_POST +- __STL_DEBUG_MESSAGE_POST ++# ifdef _STLP_DEBUG_MESSAGE_POST ++ _STLP_DEBUG_MESSAGE_POST + # endif + + va_end(__args); + + } + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE ++ ++# endif /* _STLP_DEBUG_MESSAGE */ + +-# endif /* __STL_DEBUG_MESSAGE */ + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + + template +-void __STL_CALL ++void _STLP_CALL + __stl_debug_engine<_Dummy>::_IndexedError(int __error_ind, const char* __f, int __l) + { + __stl_debug_message(_Message_table[_StlFormat_ERROR_RETURN], +@@ -156,7 +291,7 @@ + } + + template +-void __STL_CALL ++void _STLP_CALL + __stl_debug_engine<_Dummy>::_VerboseAssert(const char* __expr, int __error_ind, const char* __f, int __l) + { + __stl_debug_message(_Message_table[_StlFormat_VERBOSE_ASSERTION_FAILURE], +@@ -165,7 +300,7 @@ + } + + template +-void __STL_CALL ++void _STLP_CALL + __stl_debug_engine<_Dummy>::_Assert(const char* __expr, const char* __f, int __l) + { + __stl_debug_message(_Message_table[_StlFormat_ASSERTION_FAILURE],__f, __l, __expr); +@@ -175,282 +310,179 @@ + // if exceptions are present, sends unique exception + // if not, calls abort() to terminate + template +-void __STL_CALL ++void _STLP_CALL + __stl_debug_engine<_Dummy>::_Terminate() + { +-# ifdef __STL_USE_NAMESPACES +- using namespace __STLPORT_STD; ++# ifdef _STLP_USE_NAMESPACES ++ using namespace _STLP_STD; + # endif +-# if defined (__STL_USE_EXCEPTIONS) && ! defined (__STL_NO_DEBUG_EXCEPTIONS) ++# if defined (_STLP_USE_EXCEPTIONS) && ! defined (_STLP_NO_DEBUG_EXCEPTIONS) + throw __stl_debug_exception(); +-# elif defined (__STL_WINCE) +- TerminateProcess(GetCurrentProcess(), 0); + # else +- abort(); ++ _STLP_ABORT(); + # endif + } + +-__STL_END_NAMESPACE +- +-# endif /* __STL_ASSERTIONS */ ++_STLP_END_NAMESPACE + +-#ifdef __STL_DEBUG ++# endif /* _STLP_ASSERTIONS */ + +-__STL_BEGIN_NAMESPACE ++#ifdef _STLP_DEBUG + +-# ifdef __STL_THREADS +-# ifndef __STL_NEED_MUTABLE +-# define __STL_ACQUIRE_LOCK(_Lock) _Lock._M_acquire_lock(); +-# define __STL_RELEASE_LOCK(_Lock) _Lock._M_release_lock(); +-# else +-# define __STL_ACQUIRE_LOCK(_Lock) ((_STL_mutex&)_Lock)._M_acquire_lock(); +-# define __STL_RELEASE_LOCK(_Lock) ((_STL_mutex&)_Lock)._M_release_lock(); +-# endif /* __STL_NEED_MUTABLE */ +-# else +-# define __STL_ACQUIRE_LOCK(_Lock) +-# define __STL_RELEASE_LOCK(_Lock) +-# endif /* __STL_THREADS */ +- +- +- +-// [ i1, i2) +-template +-inline bool __STL_CALL +-__in_range_aux(const _Iterator& __it, const _Iterator& __first, +- const _Iterator& __last, random_access_iterator_tag) { +- return ( __it >= __first && +- __it < __last); +-} +- +-template +-# if defined (__STL_MSVC) && (__STL_MSVC >= 1100) +-inline bool __STL_CALL __in_range_aux(_Iterator1 __it, const _Iterator& __first, +-# else +-inline bool __STL_CALL __in_range_aux(const _Iterator1& __it, const _Iterator& __first, +-# endif +- const _Iterator& __last, forward_iterator_tag) { +- _Iterator1 __i(__first); +- for (; __i != __last && __i != __it; ++__i); +- return (__i!=__last); +-} +- +-# if defined (__STL_NONTEMPL_BASE_MATCH_BUG) /* OBSOLETE by inheritance */ +-template +-inline bool __STL_CALL +-__in_range_aux(const _Iterator1& __it, const _Iterator& __first, +- const _Iterator& __last, bidirectional_iterator_tag) { +- _Iterator1 __i(__first); +- for (; __i != __last && __i != __it; ++__i); +- return (__i !=__last); +-} +-# endif ++_STLP_BEGIN_NAMESPACE + + //========================================================== + // owned_list non-inline methods + //========================================================== + + template +-void __STL_CALL ++void _STLP_CALL + __stl_debug_engine<_Dummy>::_Invalidate_all(__owned_list* __l) { ++ _STLP_ACQUIRE_LOCK(__l->_M_lock); ++ _Stamp_all(__l, 0); ++ __l->_M_node._M_next =0; ++ _STLP_RELEASE_LOCK(__l->_M_lock); ++} ++ ++// boris : this is unasafe routine; should be used from within critical section only ! ++template ++void _STLP_CALL ++__stl_debug_engine<_Dummy>::_Stamp_all(__owned_list* __l, __owned_list* __o) { + // crucial + if (__l->_M_node._M_owner) { + for (__owned_link* __position = (__owned_link*)__l->_M_node._M_next; + __position != 0; __position= (__owned_link*)__position->_M_next) { +- __STL_ASSERT(__position->_Owner()== __l) +- __position->_M_owner=0; ++ _STLP_ASSERT(__position->_Owner()== __l) ++ __position->_M_owner=__o; + } +- __l->_M_node._M_next =0; + } + } + + template +-void __STL_CALL ++void _STLP_CALL + __stl_debug_engine<_Dummy>::_Verify(const __owned_list* __l) { ++ _STLP_ACQUIRE_LOCK(__l->_M_lock); + if (__l) { +- __STL_ASSERT(__l->_M_node._Owner() != 0) ++ _STLP_ASSERT(__l->_M_node._Owner() != 0) + for (__owned_link* __position = (__owned_link*)__l->_M_node._M_next; + __position != 0; __position= (__owned_link*)__position->_M_next) { +- __STL_ASSERT(__position->_Owner()== __l) ++ _STLP_ASSERT(__position->_Owner()== __l) + } + } ++ _STLP_RELEASE_LOCK(__l->_M_lock); + } + + template +-void __STL_CALL +-__stl_debug_engine<_Dummy>::_Swap_owners(__owned_list& __x, __owned_list& __y, bool __swap_roots) { +- __x._Invalidate_all(); +- __y._Invalidate_all(); +- if (__swap_roots) { +- __owned_list* __tmp = __x._M_node._M_owner; +- __x._M_node._M_owner=__y._M_node._M_owner; +- __y._M_node._M_owner=__tmp; +- } ++void _STLP_CALL ++__stl_debug_engine<_Dummy>::_Swap_owners(__owned_list& __x, __owned_list& __y) { ++ ++ // according to the standard : --no swap() function invalidates any references, ++ // pointers, or iterators referring to the elements of the containers being swapped. ++ ++ __owned_link* __tmp; ++ ++ // boris : there is a deadlock potential situation here if we lock two containers sequentially. ++ // As user is supposed to provide its own synchronization around swap() ( it is unsafe to do any container/iterator access ++ // in parallel with swap()), we just do not use any locking at all -- that behaviour is closer to non-debug version ++ ++ __tmp = __x._M_node._M_next; ++ ++ _Stamp_all(&__x, &__y); ++ _Stamp_all(&__y, &__x); ++ ++ __x._M_node._M_next = __y._M_node._M_next; ++ __y._M_node._M_next = __tmp; ++ + } + + template +-void __STL_CALL ++void _STLP_CALL + __stl_debug_engine<_Dummy>::_M_detach(__owned_list* __l, __owned_link* __c_node) { + if (__l != 0) { + +- __STL_VERBOSE_ASSERT(__l->_Owner()!=0, _StlMsg_INVALID_CONTAINER) +- +- __STL_ACQUIRE_LOCK(__l->_M_lock) +- +- __owned_link* __prev, *__next; +- +- for (__prev = &__l->_M_node; (__next = __prev->_M_next) != __c_node; +- __prev = __next) { +- __STL_ASSERT(__next && __next->_Owner() == __l) +- } +- +- __prev->_M_next = __c_node->_M_next; +- __c_node->_M_owner=0; ++ _STLP_VERBOSE_ASSERT(__l->_Owner()!=0, _StlMsg_INVALID_CONTAINER) + +- __STL_RELEASE_LOCK(__l->_M_lock) ++ _STLP_ACQUIRE_LOCK(__l->_M_lock) ++ // boris : re-test the condition in case someone else already deleted us ++ if(__c_node->_M_owner != 0) { ++ __owned_link* __prev, *__next; ++ ++ for (__prev = &__l->_M_node; (__next = __prev->_M_next) != __c_node; ++ __prev = __next) { ++ _STLP_ASSERT(__next && __next->_Owner() == __l) ++ } ++ ++ __prev->_M_next = __c_node->_M_next; ++ __c_node->_M_owner=0; ++ } ++ _STLP_RELEASE_LOCK(__l->_M_lock) + } + } + + template +-void __STL_CALL ++void _STLP_CALL + __stl_debug_engine<_Dummy>::_M_attach(__owned_list* __l, __owned_link* __c_node) { + if (__l ==0) { + (__c_node)->_M_owner = 0; + } else { +- __STL_VERBOSE_ASSERT(__l->_Owner()!=0, _StlMsg_INVALID_CONTAINER) +- __STL_ACQUIRE_LOCK(__l->_M_lock) ++ _STLP_VERBOSE_ASSERT(__l->_Owner()!=0, _StlMsg_INVALID_CONTAINER) ++ _STLP_ACQUIRE_LOCK(__l->_M_lock) + __c_node->_M_owner = __l; + __c_node->_M_next = __l->_M_node._M_next; + __l->_M_node._M_next = __c_node; +- __STL_RELEASE_LOCK(__l->_M_lock) ++ _STLP_RELEASE_LOCK(__l->_M_lock) + } + } + + + template +-void* __STL_CALL ++void* _STLP_CALL + __stl_debug_engine<_Dummy>::_Get_container_ptr(const __owned_link* __l) { + const __owned_list* __owner = __l->_Owner(); +- __STL_VERBOSE_RETURN_0(__owner != 0, _StlMsg_INVALID_ITERATOR) +- void* __ret = (void*)__owner->_Owner(); +- __STL_VERBOSE_RETURN_0(__ret !=0, _StlMsg_INVALID_CONTAINER) ++ _STLP_VERBOSE_RETURN_0(__owner != 0, _StlMsg_INVALID_ITERATOR) ++ void* __ret = __CONST_CAST(void*,__owner->_Owner()); ++ _STLP_VERBOSE_RETURN_0(__ret !=0, _StlMsg_INVALID_CONTAINER) + return __ret; + } + + template +-bool __STL_CALL ++bool _STLP_CALL + __stl_debug_engine<_Dummy>::_Check_same_owner( const __owned_link& __i1, + const __owned_link& __i2) + { +- __STL_VERBOSE_RETURN(__i1._Valid(), _StlMsg_INVALID_LEFTHAND_ITERATOR) +- __STL_VERBOSE_RETURN(__i2._Valid(), _StlMsg_INVALID_RIGHTHAND_ITERATOR) +- __STL_VERBOSE_RETURN((__i1._Owner()==__i2._Owner()), _StlMsg_DIFFERENT_OWNERS) ++ _STLP_VERBOSE_RETURN(__i1._Valid(), _StlMsg_INVALID_LEFTHAND_ITERATOR) ++ _STLP_VERBOSE_RETURN(__i2._Valid(), _StlMsg_INVALID_RIGHTHAND_ITERATOR) ++ _STLP_VERBOSE_RETURN((__i1._Owner()==__i2._Owner()), _StlMsg_DIFFERENT_OWNERS) + return true; + } + + template +-bool __STL_CALL ++bool _STLP_CALL + __stl_debug_engine<_Dummy>::_Check_same_owner_or_null( const __owned_link& __i1, +- const __owned_link& __i2) ++ const __owned_link& __i2) + { +- __STL_VERBOSE_RETURN(__i1._Owner()==__i2._Owner(), _StlMsg_DIFFERENT_OWNERS) ++ _STLP_VERBOSE_RETURN(__i1._Owner()==__i2._Owner(), _StlMsg_DIFFERENT_OWNERS) + return true; + } + + template +-bool __STL_CALL ++bool _STLP_CALL + __stl_debug_engine<_Dummy>::_Check_if_owner( const __owned_list * __l, const __owned_link& __it) + { + const __owned_list* __owner_ptr = __it._Owner(); +- __STL_VERBOSE_RETURN(__owner_ptr!=0, _StlMsg_INVALID_ITERATOR) +- __STL_VERBOSE_RETURN(__l==__owner_ptr, _StlMsg_NOT_OWNER) ++ _STLP_VERBOSE_RETURN(__owner_ptr!=0, _StlMsg_INVALID_ITERATOR) ++ _STLP_VERBOSE_RETURN(__l==__owner_ptr, _StlMsg_NOT_OWNER) + return true; + } + +-//========================================================== +-// global non-inline functions +-//========================================================== +- +-template +-bool __STL_CALL __check_range(const _Iterator& __first, const _Iterator& __last) { +- __STL_VERBOSE_RETURN(__valid_range(__first,__last), _StlMsg_INVALID_RANGE ) +- return true; +-} +- +-template +-bool __STL_CALL __check_range(const _Iterator& __it, +- const _Iterator& __start, const _Iterator& __finish) { +- __STL_VERBOSE_RETURN(__in_range(__it,__start, __finish), +- _StlMsg_NOT_IN_RANGE_1) +- return true; +-} +- +-template +-bool __STL_CALL __check_range(const _Iterator& __first, const _Iterator& __last, +- const _Iterator& __start, const _Iterator& __finish) { +- __STL_VERBOSE_RETURN(__in_range(__first, __last, __start, __finish), +- _StlMsg_NOT_IN_RANGE_2) +- return true; +-} +- +-//=============================================================== + +-template +-void __STL_CALL __invalidate_range(const __owned_list* __base, +- const _Iterator& __first, +- const _Iterator& __last) +-{ +- typedef _Iterator* _Safe_iterator_ptr; +- typedef __owned_link _L_type; +- __STL_ACQUIRE_LOCK(__base->_M_lock) +- _L_type* __pos; +- _L_type* __prev; +- +- for (__prev = (_L_type*)&__base->_M_node, __pos= (_L_type*)__prev->_M_next; +- __pos!=0;) { +- if ((!(&__first == (_Iterator*)__pos || &__last == (_Iterator*)__pos)) +- && __in_range_aux( +- *(_Iterator*)__pos, +- __first, +- __last, +- __ITERATOR_CATEGORY(__first))) { +- __pos->_M_owner = 0; +- __pos = (_L_type*) (__prev->_M_next = __pos->_M_next); +- } +- else { +- __prev = __pos; +- __pos=(_L_type*)__pos->_M_next; +- } +- } +- __STL_RELEASE_LOCK(__base->_M_lock) +-} +- +-template +-void __STL_CALL __invalidate_iterator(const __owned_list* __base, +- const _Iterator& __it) +-{ +- typedef __owned_link _L_type; +- _L_type* __position, *__prev; +- __STL_ACQUIRE_LOCK(__base->_M_lock) +- for (__prev = (_L_type*)&__base->_M_node, __position = (_L_type*)__prev->_M_next; +- __position!= 0;) { +- // this requires safe iterators to be derived from __owned_link +- if ((__position != (_L_type*)&__it) && *((_Iterator*)__position)==__it) { +- __position->_M_owner = 0; +- __position = (_L_type*) (__prev->_M_next = __position->_M_next); +- } +- else { +- __prev = __position; +- __position=(_L_type*)__position->_M_next; +- } +- } +- __STL_RELEASE_LOCK(__base->_M_lock) +-} ++_STLP_END_NAMESPACE + +-__STL_END_NAMESPACE ++#endif /* _STLP_DEBUG */ + +-#endif /* __STL_DEBUG */ ++#endif /* if defined (EXPOSE_GLOBALS_IMPLEMENTATION) */ + +-#endif ++#endif /* header guard */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/debug/_debug.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/debug/_debug.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/debug/_debug.h Sat Feb 24 10:45:19 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/debug/_debug.h Sun Aug 11 18:59:25 2002 +@@ -17,22 +17,22 @@ + * + */ + +-#ifndef __STLPORT_DEBUG_H +-# define __STLPORT_DEBUG_H ++#ifndef _STLP_DEBUG_H ++# define _STLP_DEBUG_H + +-# if defined (__STL_ASSERTIONS) || defined (__STL_DEBUG) ++# if defined (_STLP_ASSERTIONS) || defined (_STLP_DEBUG) + +-#ifndef __STL_CONFIG_H ++#ifndef _STLP_CONFIG_H + # include + #endif + +-# if !defined (__STL_EXTRA_OPERATORS_FOR_DEBUG) && \ +- ( defined (__STL_BASE_MATCH_BUG) || (defined (__STL_MSVC) && __STL_MSVC < 1100 ) ) +-# define __STL_EXTRA_OPERATORS_FOR_DEBUG ++# if !defined (_STLP_EXTRA_OPERATORS_FOR_DEBUG) && \ ++ ( defined (_STLP_BASE_MATCH_BUG) || (defined (_STLP_MSVC) && _STLP_MSVC < 1100 ) ) ++# define _STLP_EXTRA_OPERATORS_FOR_DEBUG + # endif + +-# if !defined(__STL_FILE__) +-# define __STL_FILE__ __FILE__ ++# if !defined(_STLP_FILE__) ++# define _STLP_FILE__ __FILE__ + # endif + + enum { +@@ -62,6 +62,8 @@ + _StlMsg_DBA_SIZE_MISMATCH , + _StlMsg_DBA_UNDERRUN , + _StlMsg_DBA_OVERRUN , ++ // auto_ptr messages ++ _StlMsg_AUTO_PTR_NULL , + _StlMsg_UNKNOWN + /* _StlMsg_MAX */ + }; +@@ -69,7 +71,7 @@ + /* have to hardcode that ;() */ + # define _StlMsg_MAX 27 + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + // This class is unique (not inherited from exception), + // to disallow catch in anything but (...) +@@ -77,167 +79,172 @@ + // no members + }; + +-class __STL_CLASS_DECLSPEC __owned_link; +-class __STL_CLASS_DECLSPEC __owned_list; ++class _STLP_CLASS_DECLSPEC __owned_link; ++class _STLP_CLASS_DECLSPEC __owned_list; + + template + struct __stl_debug_engine { + + // Basic routine to report any debug message +- // Use __STL_DEBUG_MESSAGE to override +- static void __STL_CALL _Message(const char * format_str, ...); ++ // Use _STLP_DEBUG_MESSAGE to override ++ static void _STLP_CALL _Message(const char * format_str, ...); + + // Micsellanous function to report indexed error message +- static void __STL_CALL _IndexedError(int __ind, const char* __f, int __l); ++ static void _STLP_CALL _IndexedError(int __ind, const char* __f, int __l); + + // Basic assertion report mechanism. + // Reports failed assertion via __stl_debug_message and calls _Terminate +- // if __STL_DEBUG_TERMINATE is specified, calls __stl_debug_terminate instead +- static void __STL_CALL _Assert(const char* __expr, const char* __f, int __l); ++ // if _STLP_DEBUG_TERMINATE is specified, calls __stl_debug_terminate instead ++ static void _STLP_CALL _Assert(const char* __expr, const char* __f, int __l); + + // The same, with additional diagnostics +- static void __STL_CALL _VerboseAssert(const char* __expr, int __error_ind, const char* __f, int __l); ++ static void _STLP_CALL _VerboseAssert(const char* __expr, int __error_ind, const char* __f, int __l); + + // If exceptions are present, sends unique exception +- // If not, calls abort() to terminate +- // Use __STL_DEBUG_TERMINATE to override +- static void __STL_CALL _Terminate(); ++ // If not, calls _STLP_ABORT() to terminate ++ // Use _STLP_DEBUG_TERMINATE to override ++ static void _STLP_CALL _Terminate(); ++ ++# ifdef _STLP_DEBUG + + // owned_list/link delegate non-inline functions here + +- static bool __STL_CALL _Check_same_owner( const __owned_link& __i1, ++ static bool _STLP_CALL _Check_same_owner( const __owned_link& __i1, + const __owned_link& __i2); +- static bool __STL_CALL _Check_same_owner_or_null( const __owned_link& __i1, ++ static bool _STLP_CALL _Check_same_owner_or_null( const __owned_link& __i1, + const __owned_link& __i2); +- static bool __STL_CALL _Check_if_owner( const __owned_list*, const __owned_link&); ++ static bool _STLP_CALL _Check_if_owner( const __owned_list*, const __owned_link&); + +- static void __STL_CALL _Verify(const __owned_list*); ++ static void _STLP_CALL _Verify(const __owned_list*); + +- static void __STL_CALL _Swap_owners(__owned_list&, __owned_list& , bool __swap_roots); ++ static void _STLP_CALL _Swap_owners(__owned_list&, __owned_list& /*, bool __swap_roots */ ); + +- static void __STL_CALL _Invalidate_all(__owned_list*); ++ static void _STLP_CALL _Invalidate_all(__owned_list*); + +- static void __STL_CALL _M_detach(__owned_list*, __owned_link*); ++ static void _STLP_CALL _Stamp_all(__owned_list*, __owned_list*); ++ ++ static void _STLP_CALL _M_detach(__owned_list*, __owned_link*); + +- static void __STL_CALL _M_attach(__owned_list*, __owned_link*); ++ static void _STLP_CALL _M_attach(__owned_list*, __owned_link*); + + // accessor : check and get pointer to the container +- static void* __STL_CALL _Get_container_ptr(const __owned_link*); ++ static void* _STLP_CALL _Get_container_ptr(const __owned_link*); ++# endif /* _STLP_DEBUG */ + + // debug messages and formats +- static const char* _Message_table[_StlMsg_MAX]; ++ _STLP_STATIC_MEMBER_DECLSPEC static const char* _Message_table[_StlMsg_MAX]; + }; + + +-# if defined (__STL_USE_TEMPLATE_EXPORT) +-__STL_EXPORT_TEMPLATE struct __STL_CLASS_DECLSPEC __stl_debug_engine; +-# endif /* __STL_USE_TEMPLATE_EXPORT */ ++# if defined (_STLP_USE_TEMPLATE_EXPORT) ++_STLP_EXPORT_TEMPLATE struct _STLP_CLASS_DECLSPEC __stl_debug_engine; ++# endif /* _STLP_USE_TEMPLATE_EXPORT */ + + typedef __stl_debug_engine __stl_debugger; + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-# ifndef __STL_ASSERT +-# define __STL_ASSERT(expr) \ +- if (!(expr)) {STLPORT::__stl_debugger::_Assert( # expr, __STL_FILE__, __LINE__);} ++# ifndef _STLP_ASSERT ++# define _STLP_ASSERT(expr) \ ++ if (!(expr)) {STLPORT::__stl_debugger::_Assert( # expr, _STLP_FILE__, __LINE__);} + # endif + +-# endif /* __STL_ASSERTIONS || __STL_DEBUG */ ++# endif /* _STLP_ASSERTIONS || _STLP_DEBUG */ + + +-// this section is for __STL_DEBUG only +-#if defined ( __STL_DEBUG ) ++// this section is for _STLP_DEBUG only ++#if defined ( _STLP_DEBUG ) + +-# ifndef __STL_VERBOSE_ASSERT ++# ifndef _STLP_VERBOSE_ASSERT + // fbp : new form not requiring ";" +-# define __STL_VERBOSE_ASSERT(expr,__diag_num) \ ++# define _STLP_VERBOSE_ASSERT(expr,__diag_num) \ + if (!(expr)) { STLPORT::__stl_debugger::_VerboseAssert\ +- ( # expr, __diag_num, __STL_FILE__, __LINE__ ); \ ++ ( # expr, __diag_num, _STLP_FILE__, __LINE__ ); \ + } + # endif + +-# define __STL_DEBUG_CHECK(expr) __STL_ASSERT(expr) +-# define __STL_DEBUG_DO(expr) expr; ++# define _STLP_DEBUG_CHECK(expr) _STLP_ASSERT(expr) ++# define _STLP_DEBUG_DO(expr) expr; + +-# ifndef __STL_VERBOSE_RETURN +-# define __STL_VERBOSE_RETURN(__expr,__diag_num) if (!(__expr)) { \ ++# ifndef _STLP_VERBOSE_RETURN ++# define _STLP_VERBOSE_RETURN(__expr,__diag_num) if (!(__expr)) { \ + __stl_debugger::_IndexedError(__diag_num, __FILE__ , __LINE__); \ + return false; } + # endif + +-# ifndef __STL_VERBOSE_RETURN_0 +-# define __STL_VERBOSE_RETURN_0(__expr,__diag_num) if (!(__expr)) { \ ++# ifndef _STLP_VERBOSE_RETURN_0 ++# define _STLP_VERBOSE_RETURN_0(__expr,__diag_num) if (!(__expr)) { \ + __stl_debugger::_IndexedError(__diag_num, __FILE__ , __LINE__); \ + return 0; } + # endif + +-#if defined (__STL_THREADS) && ! defined (__SGI_STL_INTERNAL_THREADS_H) ++#if ! defined (_STLP_INTERNAL_THREADS_H) + # include + #endif + +-#ifndef __SGI_STL_INTERNAL_ITERATOR_BASE_H ++#ifndef _STLP_INTERNAL_ITERATOR_BASE_H + # include + #endif + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + //============================================================= +-template +-inline bool __STL_CALL __valid_range(const __Iterator& __i1 ,const __Iterator& __i2, +- random_access_iterator_tag) { +- return __i1<=__i2; ++template ++inline bool _STLP_CALL __valid_range(const _Iterator& __i1 ,const _Iterator& __i2, ++ const random_access_iterator_tag&) { ++ return (__i1< __i2) || (__i1 == __i2); + } + +-template +-inline bool __STL_CALL __valid_range(const __Iterator& __i1 ,const __Iterator& __i2, +- bidirectional_iterator_tag) { ++template ++inline bool _STLP_CALL __valid_range(const _Iterator& __i1 ,const _Iterator& __i2, ++ const bidirectional_iterator_tag&) { + // check if comparable + bool __dummy(__i1==__i2); + return (__dummy==__dummy); + } + +-template +-inline bool __STL_CALL __valid_range(const __Iterator& __i1 ,const __Iterator& __i2, forward_iterator_tag) { ++template ++inline bool _STLP_CALL __valid_range(const _Iterator& __i1 ,const _Iterator& __i2, const forward_iterator_tag&) { + // check if comparable + bool __dummy(__i1==__i2); + return (__dummy==__dummy); + } + +-template +-inline bool __STL_CALL __valid_range(const __Iterator&,const __Iterator&, input_iterator_tag) { ++template ++inline bool _STLP_CALL __valid_range(const _Iterator&,const _Iterator&, const input_iterator_tag&) { + return true; + } + +-template +-inline bool __STL_CALL __valid_range(const __Iterator&,const __Iterator&, output_iterator_tag) { ++template ++inline bool _STLP_CALL __valid_range(const _Iterator&,const _Iterator&, const output_iterator_tag&) { + return true; + } + +-template +-inline bool __STL_CALL __valid_range(const __Iterator& __i1, const __Iterator& __i2) { +- return __valid_range(__i1,__i2,__ITERATOR_CATEGORY(__i1)); ++template ++inline bool _STLP_CALL __valid_range(const _Iterator& __i1, const _Iterator& __i2) { ++ return __valid_range(__i1,__i2,_STLP_ITERATOR_CATEGORY(__i1, _Iterator)); + } + + // Note : that means in range [i1, i2]. +-template +-inline bool __STL_CALL __in_range(const __Iterator& __it, const __Iterator& __i1, +- const __Iterator& __i2) { +- return __valid_range(__i1,__it,__ITERATOR_CATEGORY(__i1)) && +- __valid_range(__it,__i2,__ITERATOR_CATEGORY(__it)); ++template ++inline bool _STLP_CALL __in_range(const _Iterator& _It, const _Iterator& __i1, ++ const _Iterator& __i2) { ++ return __valid_range(__i1,_It,_STLP_ITERATOR_CATEGORY(__i1, _Iterator)) && ++ __valid_range(_It,__i2,_STLP_ITERATOR_CATEGORY(_It, _Iterator)); + } + +-template +-inline bool __STL_CALL __in_range(const __Iterator& __first, const __Iterator& __last, +- const __Iterator& __start, const __Iterator& __finish) { +- return __valid_range(__first,__last,__ITERATOR_CATEGORY(__first)) && +- __valid_range(__start,__first,__ITERATOR_CATEGORY(__first)) && +- __valid_range(__last,__finish,__ITERATOR_CATEGORY(__last)); ++template ++inline bool _STLP_CALL __in_range(const _Iterator& __first, const _Iterator& __last, ++ const _Iterator& __start, const _Iterator& __finish) { ++ return __valid_range(__first,__last,_STLP_ITERATOR_CATEGORY(__first, _Iterator)) && ++ __valid_range(__start,__first,_STLP_ITERATOR_CATEGORY(__first, _Iterator)) && ++ __valid_range(__last,__finish,_STLP_ITERATOR_CATEGORY(__last, _Iterator)); + } + + //========================================================== + + +-class __STL_CLASS_DECLSPEC __owned_link { ++class _STLP_CLASS_DECLSPEC __owned_link { + public: + + __owned_link() : _M_owner(0) {} +@@ -286,7 +293,7 @@ + }; + + +-class __STL_CLASS_DECLSPEC __owned_list { ++class _STLP_CLASS_DECLSPEC __owned_list { + public: + __owned_list(const void* __o) { + // fprintf(stderr, "__owned_list(): %p\n",(void*)this); +@@ -320,8 +327,8 @@ + __stl_debugger::_Verify(this); + } + +- void _Swap_owners(__owned_list& __y, bool __swap_roots =false) { +- __stl_debugger::_Swap_owners(*this, __y, __swap_roots); ++ void _Swap_owners(__owned_list& __y) { ++ __stl_debugger::_Swap_owners(*this, __y); + } + + void _Invalidate_all() { +@@ -329,9 +336,7 @@ + } + + mutable __owned_link _M_node; +-# ifdef __STL_THREADS +- mutable _STL_mutex _M_lock; +-# endif ++ mutable _STLP_mutex _M_lock; + + private: + // should never be called, should be left undefined, +@@ -349,45 +354,67 @@ + // forward declaratioins + + template +-bool __STL_CALL __check_range(const _Iterator&, const _Iterator&); ++bool _STLP_CALL __check_range(const _Iterator&, const _Iterator&); + template +-bool __STL_CALL __check_range(const _Iterator&, ++bool _STLP_CALL __check_range(const _Iterator&, + const _Iterator&, const _Iterator&); + template +-bool __STL_CALL __check_range(const _Iterator&, const _Iterator& , ++bool _STLP_CALL __check_range(const _Iterator&, const _Iterator& , + const _Iterator&, const _Iterator& ); + + template +-void __STL_CALL __invalidate_range(const __owned_list* __base, ++void _STLP_CALL __invalidate_range(const __owned_list* __base, + const _Iterator& __first, + const _Iterator& __last); + + template +-void __STL_CALL __invalidate_iterator(const __owned_list* __base, ++void _STLP_CALL __invalidate_iterator(const __owned_list* __base, + const _Iterator& __it); + + //============================================================ + +-inline bool __STL_CALL ++inline bool _STLP_CALL + __check_same_owner( const __owned_link& __i1, const __owned_link& __i2) { + return __stl_debugger::_Check_same_owner(__i1,__i2); + } +-inline bool __STL_CALL ++inline bool _STLP_CALL + __check_same_owner_or_null( const __owned_link& __i1, const __owned_link& __i2) { + return __stl_debugger::_Check_same_owner_or_null(__i1,__i2); + } + +-template +-inline bool __STL_CALL __check_if_owner( const __owned_list* __owner, +- const Iterator& __it) { ++template ++inline bool _STLP_CALL __check_if_owner( const __owned_list* __owner, ++ const _Iterator& __it) { + return __stl_debugger::_Check_if_owner(__owner, (const __owned_link&)__it); + } + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE ++ ++# endif /* _STLP_DEBUG */ ++ ++#if defined ( _STLP_ASSERTIONS ) ++ ++# ifndef _STLP_ASSERT_MSG_TRAILER ++# define _STLP_ASSERT_MSG_TRAILER ++# endif ++ ++// dwa 12/30/98 - if _STLP_DEBUG_MESSAGE is defined, the user can supply own definition. ++# if !defined( _STLP_DEBUG_MESSAGE ) ++# define __stl_debug_message __stl_debugger::_Message ++# else ++ extern void __stl_debug_message(const char * format_str, ...); ++# endif + +-# endif /* __STL_DEBUG */ ++// fbp: if _STLP_DEBUG_TERMINATE is defined, the user can supply own definition. ++# if !defined( _STLP_DEBUG_TERMINATE ) ++# define __stl_debug_terminate __stl_debugger::_Terminate ++# else ++ extern void __stl_debug_terminate(void); ++# endif ++ ++#endif + +-# if !defined (__STL_LINK_TIME_INSTANTIATION) ++# if !defined (_STLP_LINK_TIME_INSTANTIATION) + # include + # endif + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/debug/_deque.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/debug/_deque.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/debug/_deque.h Sat Feb 24 10:45:19 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/debug/_deque.h Sun Aug 11 18:59:25 2002 +@@ -27,48 +27,48 @@ + * You should not attempt to use it directly. + */ + +-#ifndef __SGI_STL_INTERNAL_DBG_DEQUE_H +-#define __SGI_STL_INTERNAL_DBG_DEQUE_H ++#ifndef _STLP_INTERNAL_DBG_DEQUE_H ++#define _STLP_INTERNAL_DBG_DEQUE_H + + #include + +-# if !defined (__STL_USE_WRAPPER_FOR_ALLOC_PARAM) && !defined (__STL_NO_DEFAULT_NON_TYPE_PARAM) ++# if !defined (_STLP_USE_WRAPPER_FOR_ALLOC_PARAM) && !defined (_STLP_NO_DEFAULT_NON_TYPE_PARAM) + # undef _DBG_deque + # define _DBG_deque deque + # endif + + # define _DEQUE_WRAPPER _DBG_deque<_Tp,_Alloc> + +-# define __STL_DEQUE_SUPER __WORKAROUND_DBG_RENAME(deque) <_Tp,_Alloc> ++# define _STLP_DEQUE_SUPER __WORKAROUND_DBG_RENAME(deque) <_Tp,_Alloc> + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + +-# ifdef __STL_DEBUG_USE_DISTINCT_VALUE_TYPE_HELPERS ++# ifdef _STLP_DEBUG_USE_DISTINCT_VALUE_TYPE_HELPERS + template +-inline _Tp* __VALUE_TYPE(const _DBG_iter_base< __STL_DEQUE_SUPER >&) { ++inline _Tp* value_type(const _DBG_iter_base< _STLP_DEQUE_SUPER >&) { + return (_Tp*)0; + } + template +-inline random_access_iterator_tag __ITERATOR_CATEGORY(const _DBG_iter_base< __STL_DEQUE_SUPER >&) { ++inline random_access_iterator_tag iterator_category(const _DBG_iter_base< _STLP_DEQUE_SUPER >&) { + return random_access_iterator_tag(); + } + # endif + +-template +-class _DBG_deque : public __STL_DEQUE_SUPER { ++template ++class _DBG_deque : public _STLP_DEQUE_SUPER { + + typedef _DBG_deque<_Tp,_Alloc> _Self; +- typedef __STL_DEQUE_SUPER _Base; ++ typedef _STLP_DEQUE_SUPER _Base; + + public: // Basic types + + __IMPORT_CONTAINER_TYPEDEFS(_Base) + + public: // Iterators +- typedef _DBG_iter< __STL_DEQUE_SUPER, _Nonconst_traits > iterator; +- typedef _DBG_iter< __STL_DEQUE_SUPER, _Const_traits > const_iterator; ++ typedef _DBG_iter< _STLP_DEQUE_SUPER, _Nonconst_traits > iterator; ++ typedef _DBG_iter< _STLP_DEQUE_SUPER, _Const_traits > const_iterator; + +- __STL_DECLARE_RANDOM_ACCESS_REVERSE_ITERATORS; ++ _STLP_DECLARE_RANDOM_ACCESS_REVERSE_ITERATORS; + + protected: + __owned_list _M_iter_list; +@@ -119,31 +119,33 @@ + const _Base* _Get_base() const { return (const _Base*)this; } + + explicit _DBG_deque(const allocator_type& __a = allocator_type()) : +- __STL_DEQUE_SUPER(__a), _M_iter_list(_Get_base()) {} +- _DBG_deque(const _Self& __x) : __STL_DEQUE_SUPER(__x), _M_iter_list(_Get_base()) {} ++ _STLP_DEQUE_SUPER(__a), _M_iter_list(_Get_base()) {} ++ _DBG_deque(const _Self& __x) : _STLP_DEQUE_SUPER(__x), _M_iter_list(_Get_base()) {} + _DBG_deque(size_type __n, const value_type& __value, + const allocator_type& __a = allocator_type()) : +- __STL_DEQUE_SUPER(__n, __value, __a), _M_iter_list(_Get_base()) {} +- explicit _DBG_deque(size_type __n) : __STL_DEQUE_SUPER(__n), _M_iter_list(_Get_base()) {} ++ _STLP_DEQUE_SUPER(__n, __value, __a), _M_iter_list(_Get_base()) {} ++ explicit _DBG_deque(size_type __n) : _STLP_DEQUE_SUPER(__n), _M_iter_list(_Get_base()) {} + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + template + _DBG_deque(_InputIterator __first, _InputIterator __last, +- const allocator_type& __a) : +- __STL_DEQUE_SUPER(__first, __last, __a) , _M_iter_list(_Get_base()) {} ++ const allocator_type& __a _STLP_ALLOCATOR_TYPE_DFL) : ++ _STLP_DEQUE_SUPER(__first, __last, __a) , _M_iter_list(_Get_base()) {} ++# ifdef _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS + template + _DBG_deque(_InputIterator __first, _InputIterator __last): +- __STL_DEQUE_SUPER(__first, __last, allocator_type()) , _M_iter_list(_Get_base()) {} +-#else /* __STL_MEMBER_TEMPLATES */ ++ _STLP_DEQUE_SUPER(__first, __last, allocator_type()) , _M_iter_list(_Get_base()) {} ++# endif ++#else /* _STLP_MEMBER_TEMPLATES */ + _DBG_deque(const value_type* __first, const value_type* __last, + const allocator_type& __a = allocator_type()) +- : __STL_DEQUE_SUPER(__first, __last, __a), _M_iter_list(_Get_base()) {} ++ : _STLP_DEQUE_SUPER(__first, __last, __a), _M_iter_list(_Get_base()) {} + + _DBG_deque(const_iterator __first, const_iterator __last, + const allocator_type& __a = allocator_type()) +- : __STL_DEQUE_SUPER(__first._M_iterator, __last._M_iterator, __a), ++ : _STLP_DEQUE_SUPER(__first._M_iterator, __last._M_iterator, __a), + _M_iter_list(_Get_base()) {} +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + _Self& operator= (const _Self& __x) { + _Invalidate_all(); +@@ -161,13 +163,13 @@ + _Base::assign(__n, __val); + } + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + + template + void assign(_InputIterator __first, _InputIterator __last) { + _Base::assign(__first, __last); + } +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + public: // push_* and pop_* + +@@ -205,42 +207,42 @@ + public: // Insert + + iterator insert(iterator __position, const value_type& __x) { +- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) ++ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) + // fbp : invalidation ! + return iterator(&_M_iter_list, _Base::insert(__position._M_iterator, __x)); + } + + iterator insert(iterator __position) { +- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) ++ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) + // fbp : invalidation ! + return iterator(&_M_iter_list, _Base::insert(__position._M_iterator)); + } + + void insert(iterator __position, size_type __n, const value_type& __x) { +- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) ++ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) + // fbp : invalidation ! + _Base::insert(__position._M_iterator, __n, __x); + } + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + template + void insert(iterator __position, _InputIterator __first, _InputIterator __last) { +- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) ++ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) + // fbp : invalidation ! + _Base::insert(__position._M_iterator, __first, __last); + } +-#else /* __STL_MEMBER_TEMPLATES */ ++#else /* _STLP_MEMBER_TEMPLATES */ + void insert(iterator __position, + const value_type* __first, const value_type* __last) { +- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) ++ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) + _Base::insert(__position._M_iterator, __first, __last); + } + void insert(iterator __position, + const_iterator __first, const_iterator __last) { +- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) ++ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) + _Base::insert(__position._M_iterator, __first._M_iterator, __last._M_iterator); + } +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + // void resize(size_type __new_size, const value_type& __x) { + // _Base::resize(__new_size, __x); +@@ -250,12 +252,12 @@ + + public: // Erase + iterator erase(iterator __pos) { +- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __pos) && (__pos != end())) ++ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __pos) && (__pos != end())) + return iterator (&_M_iter_list, _Base::erase(__pos._M_iterator)); + } + + iterator erase(iterator __first, iterator __last) { +- __STL_DEBUG_CHECK(__first >= begin() && __last >= end()) ++ _STLP_DEBUG_CHECK(__first >= begin() && __last <= end()) + return iterator (&_M_iter_list, _Base::erase(__first._M_iterator, __last._M_iterator)); + } + +@@ -265,22 +267,22 @@ + } + }; + +-# ifdef __STL_EXTRA_OPERATORS_FOR_DEBUG ++# ifdef _STLP_EXTRA_OPERATORS_FOR_DEBUG + // Nonmember functions. + + template + inline bool operator==(const _DBG_deque<_Tp,_Alloc >& __x, const _DBG_deque<_Tp,_Alloc >& __y) + { +- return (const __STL_DEQUE_SUPER&)__x == (const __STL_DEQUE_SUPER&)__y; ++ return (const _STLP_DEQUE_SUPER&)__x == (const _STLP_DEQUE_SUPER&)__y; + } + + template + inline bool operator<(const _DBG_deque<_Tp,_Alloc >& __x, const _DBG_deque<_Tp,_Alloc >& __y) + { +- return (const __STL_DEQUE_SUPER&)__x < (const __STL_DEQUE_SUPER&)__y; ++ return (const _STLP_DEQUE_SUPER&)__x < (const _STLP_DEQUE_SUPER&)__y; + } + +-#if defined(__STL_USE_SEPARATE_RELOPS_NAMESPACE) ++#if defined(_STLP_USE_SEPARATE_RELOPS_NAMESPACE) + + template + inline bool operator>(const _DBG_deque<_Tp,_Alloc >& __x, const _DBG_deque<_Tp,_Alloc >& __y) +@@ -300,11 +302,11 @@ + { + return !(__y < __x); + } +-# endif /* __STL_FUNCTION_TMPL_PARTIAL_ORDER */ +-#endif /* __STL_EXTRA_OPERATORS_FOR_DEBUG */ ++# endif /* _STLP_FUNCTION_TMPL_PARTIAL_ORDER */ ++#endif /* _STLP_EXTRA_OPERATORS_FOR_DEBUG */ + + +-#if defined(__STL_FUNCTION_TMPL_PARTIAL_ORDER) ++#if defined(_STLP_FUNCTION_TMPL_PARTIAL_ORDER) + template + inline void + swap(_DBG_deque<_Tp,_Alloc>& __x, _DBG_deque<_Tp,_Alloc>& __y) +@@ -313,12 +315,12 @@ + } + #endif + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + + # undef _DBG_deque +-# undef __STL_DEQUE_SUPER ++# undef _STLP_DEQUE_SUPER + +-#endif /* __SGI_STL_INTERNAL_DEQUE_H */ ++#endif /* _STLP_INTERNAL_DEQUE_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/debug/_hashtable.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/debug/_hashtable.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/debug/_hashtable.h Sat Feb 24 10:45:19 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/debug/_hashtable.h Sun Aug 11 18:59:25 2002 +@@ -27,8 +27,8 @@ + * You should not attempt to use it directly. + */ + +-#ifndef __SGI_STL_INTERNAL_DBG_HASHTABLE_H +-#define __SGI_STL_INTERNAL_DBG_HASHTABLE_H ++#ifndef _STLP_INTERNAL_DBG_HASHTABLE_H ++#define _STLP_INTERNAL_DBG_HASHTABLE_H + + // Hashtable class, used to implement the hashed associative containers + // hash_set, hash_map, hash_multiset, and hash_multimap. +@@ -39,32 +39,32 @@ + # undef _DBG_hashtable + # define _DBG_hashtable hashtable + +-# define __STL_DBG_HT_SUPER \ ++# define _STLP_DBG_HT_SUPER \ + __WORKAROUND_DBG_RENAME(hashtable) <_Val, _Key, _HF, _ExK, _EqK, _All> + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + +-# ifdef __STL_DEBUG_USE_DISTINCT_VALUE_TYPE_HELPERS ++# ifdef _STLP_DEBUG_USE_DISTINCT_VALUE_TYPE_HELPERS + template + inline _Val* +-__VALUE_TYPE(const _DBG_iter_base< __STL_DBG_HT_SUPER >&) { ++value_type(const _DBG_iter_base< _STLP_DBG_HT_SUPER >&) { + return (_Val*)0; + } + + template + inline forward_iterator_tag +-__ITERATOR_CATEGORY(const _DBG_iter_base< __STL_DBG_HT_SUPER >&) { ++iterator_category(const _DBG_iter_base< _STLP_DBG_HT_SUPER >&) { + return forward_iterator_tag(); + } + # endif + + template +-class _DBG_hashtable : public __STL_DBG_HT_SUPER { ++class _DBG_hashtable : public _STLP_DBG_HT_SUPER { + typedef _DBG_hashtable<_Val, _Key, _HF, _ExK, _EqK, _All> _Self; +- typedef __STL_DBG_HT_SUPER _Base; ++ typedef _STLP_DBG_HT_SUPER _Base; + public: + typedef _Key key_type; + typedef _HF hasher; +@@ -84,7 +84,7 @@ + const _EqK& __eql, + const _ExK& __ext, + const allocator_type& __a = allocator_type()): +- __STL_DBG_HT_SUPER(__n, __hf, __eql, __ext, __a), ++ _STLP_DBG_HT_SUPER(__n, __hf, __eql, __ext, __a), + _M_iter_list((_Base*)this) {} + + _DBG_hashtable(size_type __n, +@@ -92,11 +92,11 @@ + const _EqK& __eql, + const allocator_type& __a = allocator_type()): + +- __STL_DBG_HT_SUPER(__n, __hf, __eql, __a), ++ _STLP_DBG_HT_SUPER(__n, __hf, __eql, __a), + _M_iter_list((_Base*)this) {} + + _DBG_hashtable(const _Self& __ht): +- __STL_DBG_HT_SUPER(__ht), ++ _STLP_DBG_HT_SUPER(__ht), + _M_iter_list((_Base*)this) {} + + _Self& operator= (const _Self& __ht) { +@@ -107,7 +107,7 @@ + + void swap(_Self& __ht) + { +- _Swap_owners(__ht); ++ _M_iter_list._Swap_owners(__ht._M_iter_list); + _Base::swap(__ht); + } + +@@ -138,7 +138,7 @@ + return iterator(&_M_iter_list, _Base::insert_equal_noresize(__obj)); + } + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + template + void insert_unique(_InputIterator __f, _InputIterator __l) { + _Base::insert_unique(__f, __l); +@@ -149,7 +149,7 @@ + _Base::insert_equal(__f, __l); + } + +-#else /* __STL_MEMBER_TEMPLATES */ ++#else /* _STLP_MEMBER_TEMPLATES */ + + void insert_unique(const value_type* __f, const value_type* __l) { + _Base::insert_unique(__f, __l); +@@ -166,7 +166,7 @@ + void insert_equal(const_iterator __f, const_iterator __l) { + _Base::insert_equal(__f._M_iterator, __l._M_iterator); + } +-#endif /*__STL_MEMBER_TEMPLATES */ ++#endif /*_STLP_MEMBER_TEMPLATES */ + + iterator find(const key_type& __key) { + return iterator(&_M_iter_list, _Base::find(__key)); +@@ -186,7 +186,7 @@ + + pair + equal_range(const key_type& __key) const { +- pair < _Base_iterator, _Base_iterator > __res = ++ pair < _Base_const_iterator, _Base_const_iterator > __res = + _Base::equal_range(__key); + return pair (const_iterator(&_M_iter_list,__res.first), + const_iterator(&_M_iter_list,__res.second)); +@@ -197,11 +197,11 @@ + } + + void erase(const const_iterator& __it) { +- __STL_VERBOSE_ASSERT(__it._Owner()==&_M_iter_list, _StlMsg_NOT_OWNER) ++ _STLP_VERBOSE_ASSERT(__it._Owner()==&_M_iter_list, _StlMsg_NOT_OWNER) + _Base::erase(__it._M_iterator); + } + void erase(const_iterator __first, const_iterator __last) { +- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __first)&& ++ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __first)&& + __check_if_owner(&_M_iter_list, __last)) + _Base::erase(__first._M_iterator, __last._M_iterator); + } +@@ -219,24 +219,24 @@ + + }; + +-#ifdef __STL_EXTRA_OPERATORS_FOR_DEBUG ++#ifdef _STLP_EXTRA_OPERATORS_FOR_DEBUG + template + inline bool operator==(const _DBG_hashtable<_Val,_Key,_HF,_ExK,_EqK,_All>& __ht1, + const _DBG_hashtable<_Val,_Key,_HF,_ExK,_EqK,_All>& __ht2) + { + return hashtable<_Val,_Key,_HF,_ExK,_EqK,_All>::_M_equal( __ht1, __ht2 ); + } +-#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE ++#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE + template + inline bool operator!=(const _DBG_hashtable<_Val,_Key,_HF,_Ex,_Eq,_All>& __ht1, + const _DBG_hashtable<_Val,_Key,_HF,_Ex,_Eq,_All>& __ht2) { + return !(__ht1 == __ht2); + } +-#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ ++#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ + +-#endif /* __STL_EXTRA_OPERATORS_FOR_DEBUG */ ++#endif /* _STLP_EXTRA_OPERATORS_FOR_DEBUG */ + +-#ifdef __STL_FUNCTION_TMPL_PARTIAL_ORDER ++#ifdef _STLP_FUNCTION_TMPL_PARTIAL_ORDER + template + inline void swap( _DBG_hashtable<_Val, _Key, _HF, _ExK, _EqK, _All>& __ht1, +@@ -244,10 +244,10 @@ + __ht1.swap(__ht2); + } + #endif +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + # undef hashtable + +-#endif /* __SGI_STL_INTERNAL_HASHTABLE_H */ ++#endif /* _STLP_INTERNAL_HASHTABLE_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/debug/_iterator.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/debug/_iterator.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/debug/_iterator.h Sat Feb 24 10:45:19 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/debug/_iterator.h Sun Aug 11 18:59:25 2002 +@@ -17,118 +17,107 @@ + * + */ + +-#ifndef __STLPORT_DBG_ITERATOR_H +-# define __STLPORT_DBG_ITERATOR_H ++#ifndef _STLP_DBG_ITERATOR_H ++# define _STLP_DBG_ITERATOR_H + + # include + # include + +-# define __STL_DBG_ALLOCATOR_SELECT( _Tp ) __STL_DEFAULT_ALLOCATOR_SELECT( _Tp ) ++# define _STLP_DBG_ALLOCATOR_SELECT( _Tp ) _STLP_DEFAULT_ALLOCATOR_SELECT( _Tp ) + +-# if defined (__STL_MSVC) +-# define __STL_DBG_IDENTITY( __base ) _STL_dbg_aux< __base >::_SameClass +-# else +-# define __STL_DBG_IDENTITY( __base ) +-# endif +- +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + //============================================================ + + template +-void _Decrement(_Iterator& __it, bidirectional_iterator_tag) { ++void _Decrement(_Iterator& __it, const bidirectional_iterator_tag &) { + --__it; + } + + template +-void _Decrement(_Iterator& __it, random_access_iterator_tag) { ++void _Decrement(_Iterator& __it, const random_access_iterator_tag &) { + --__it; + } + +-# ifdef __SGI_STL_NO_ARROW_OPERATOR +- + template +-void _Decrement(_Iterator& __it, forward_iterator_tag) { +- __STL_ASSERT(0) ++void _Decrement(_Iterator& __it, const forward_iterator_tag &) { ++ _STLP_ASSERT(0) + } + + template +-void _Advance(_Iterator&, ptrdiff_t, forward_iterator_tag) { +- __STL_ASSERT(0) ++void _Advance(_Iterator&, ptrdiff_t, const forward_iterator_tag &) { ++ _STLP_ASSERT(0) + } + + template +-void _Advance(_Iterator& __it, ptrdiff_t, bidirectional_iterator_tag) { +- __STL_ASSERT(0) ++void _Advance(_Iterator& __it, ptrdiff_t, const bidirectional_iterator_tag &) { ++ _STLP_ASSERT(0) + } + +-# endif +- + template +-void _Advance(_Iterator& __it, ptrdiff_t __n, random_access_iterator_tag) { ++void _Advance(_Iterator& __it, ptrdiff_t __n, const random_access_iterator_tag &) { + __it += __n; + } + + template +-ptrdiff_t _DBG_distance(const _Iterator& __x, const _Iterator& __y, random_access_iterator_tag) { ++ptrdiff_t _DBG_distance(const _Iterator& __x, const _Iterator& __y, const random_access_iterator_tag &) { + return __x - __y; + } + +-# ifdef __SGI_STL_NO_ARROW_OPERATOR + template +-ptrdiff_t _DBG_distance(const _Iterator&, const _Iterator&, forward_iterator_tag) { +- __STL_ASSERT(0) ++ptrdiff_t _DBG_distance(const _Iterator&, const _Iterator&, const forward_iterator_tag &) { ++ _STLP_ASSERT(0) + return 0; + } + + template +-ptrdiff_t _DBG_distance(const _Iterator&, const _Iterator&, bidirectional_iterator_tag) { +- __STL_ASSERT(0) ++ptrdiff_t _DBG_distance(const _Iterator&, const _Iterator&, const bidirectional_iterator_tag &) { ++ _STLP_ASSERT(0) + return 0; + } + + template +-bool _CompareIt(const _Iterator&, const _Iterator&, forward_iterator_tag) { +- __STL_ASSERT(0) ++bool _CompareIt(const _Iterator&, const _Iterator&, const forward_iterator_tag &) { ++ _STLP_ASSERT(0) + return false; + } + + template +-bool _CompareIt(const _Iterator&, const _Iterator&, bidirectional_iterator_tag) { +- __STL_ASSERT(0) ++bool _CompareIt(const _Iterator&, const _Iterator&, const bidirectional_iterator_tag &) { ++ _STLP_ASSERT(0) + return false; + } +-# endif + + template +-bool _CompareIt(const _Iterator& __x, const _Iterator& __y, random_access_iterator_tag) { ++bool _CompareIt(const _Iterator& __x, const _Iterator& __y, const random_access_iterator_tag &) { + return __x < __y; + } + + + template + bool _Dereferenceable(_Iterator __it) { +- return !(__it._M_iterator == (__it._Get_container_ptr())->end()); ++ return (__it._Get_container_ptr() !=0) && !(__it._M_iterator == (__it._Get_container_ptr())->end()); + } + + + template +-bool _Incrementable(const _Iterator& __it, ptrdiff_t __n, forward_iterator_tag) { ++bool _Incrementable(const _Iterator& __it, ptrdiff_t __n, const forward_iterator_tag &) { + return (__n == 1) && _Dereferenceable(__it); + } + + template +-bool _Incrementable(const _Iterator& __it, ptrdiff_t __n, bidirectional_iterator_tag) { ++bool _Incrementable(const _Iterator& __it, ptrdiff_t __n, const bidirectional_iterator_tag &) { + typedef typename _Iterator::_Container_type __container_type; + __container_type* __c = __it._Get_container_ptr(); +- return (__n == 1 && __it._M_iterator != __c->end() ) || +- (__n == -1 && __it._M_iterator != __c->begin()); ++ return (__c!=0) && ((__n == 1 && __it._M_iterator != __c->end() ) || ++ (__n == -1 && __it._M_iterator != __c->begin())); + } + + template +-bool _Incrementable(const _Iterator& __it, ptrdiff_t __n, random_access_iterator_tag) { ++bool _Incrementable(const _Iterator& __it, ptrdiff_t __n, const random_access_iterator_tag &) { + typedef typename _Iterator::_Container_type __container_type; + __container_type* __c = __it._Get_container_ptr(); ++ if (!__c) return false; + ptrdiff_t __new_pos = (__it._M_iterator - __c->begin()) + __n; + return (__new_pos >=0) && (__STATIC_CAST(typename __container_type::size_type,__new_pos) <=__c->size()); + } +@@ -146,12 +135,12 @@ + typedef typename _Container::const_iterator _Const_iterator; + typedef _Container _Container_type; + +-# ifdef __STL_CLASS_PARTIAL_SPECIALIZATION +- typedef typename iterator_traits<_Const_iterator>::iterator_category iterator_category; ++# ifdef _STLP_CLASS_PARTIAL_SPECIALIZATION + typedef typename iterator_traits<_Const_iterator>::iterator_category _Iterator_category; + # else + typedef typename _Container::_Iterator_category _Iterator_category; + # endif ++ typedef _Iterator_category iterator_category; + + _DBG_iter_base() : __owned_link(0) {} + _DBG_iter_base(const __owned_list* __c, const _Const_iterator& __it) : +@@ -165,17 +154,17 @@ + } + + void __increment() { +- __STL_DEBUG_CHECK(_Incrementable(*this,1,_Iterator_category())) ++ _STLP_DEBUG_CHECK(_Incrementable(*this,1,_Iterator_category())) + ++_M_iterator; + } + + void __decrement() { +- __STL_DEBUG_CHECK(_Incrementable(*this,-1,_Iterator_category())) ++ _STLP_DEBUG_CHECK(_Incrementable(*this,-1,_Iterator_category())) + _Decrement(_M_iterator, _Iterator_category()); + } + + void __advance(difference_type __n) { +- __STL_DEBUG_CHECK(_Incrementable(*this,__n, _Iterator_category())) ++ _STLP_DEBUG_CHECK(_Incrementable(*this,__n, _Iterator_category())) + _Advance(_M_iterator,__n, _Iterator_category()); + } + +@@ -187,7 +176,7 @@ + ptrdiff_t operator-(const _DBG_iter_base<_Container>& __x, + const _DBG_iter_base<_Container>& __y ) { + typedef typename _DBG_iter_base<_Container>::_Iterator_category _Iterator_category; +- __STL_DEBUG_CHECK(__check_same_owner(__x, __y)) ++ _STLP_DEBUG_CHECK(__check_same_owner(__x, __y)) + return _DBG_distance(__x._M_iterator,__y._M_iterator, _Iterator_category()); + } + +@@ -215,9 +204,6 @@ + typedef typename _Base::difference_type difference_type; + typedef typename _Traits::reference reference; + typedef typename _Traits::pointer pointer; +-#if defined( __STL_HAS_NAMESPACES ) +- __STL_USING_BASE_MEMBER _DBG_iter_mid<_Container, _Traits>::_M_iterator; +-#endif /* __STL_HAS_NAMESPACES */ + + private: + typedef typename _Base::_Nonconst_iterator _Nonconst_iterator; +@@ -228,7 +214,7 @@ + + public: + +-# ifdef __STL_CLASS_PARTIAL_SPECIALIZATION ++# ifdef _STLP_CLASS_PARTIAL_SPECIALIZATION + typedef typename _Base::iterator_category iterator_category; + # endif + typedef typename _Base::_Iterator_category _Iterator_category; +@@ -262,11 +248,11 @@ + } + + reference operator*() const { +- __STL_DEBUG_CHECK(_Dereferenceable(*this)) +- return *_M_iterator; ++ _STLP_DEBUG_CHECK(_Dereferenceable(*this)) ++ return *this->_M_iterator; + } + +- __STL_DEFINE_ARROW_OPERATOR ++ _STLP_DEFINE_ARROW_OPERATOR + + _Self& operator++() { + this->__increment(); +@@ -312,14 +298,14 @@ + template + inline bool + operator==(const _DBG_iter_base<_Container>& __x, const _DBG_iter_base<_Container>& __y) { +- __STL_DEBUG_CHECK(__check_same_owner_or_null(__x, __y)) ++ _STLP_DEBUG_CHECK(__check_same_owner_or_null(__x, __y)) + return __x._M_iterator==__y._M_iterator; + } + + template + inline bool + operator<(const _DBG_iter_base<_Container>& __x, const _DBG_iter_base<_Container>& __y) { +- __STL_DEBUG_CHECK(__check_same_owner_or_null(__x, __y)) ++ _STLP_DEBUG_CHECK(__check_same_owner_or_null(__x, __y)) + typedef typename _DBG_iter_base<_Container>::_Iterator_category _Category; + return _CompareIt(__x._M_iterator , __y._M_iterator, _Category()); + } +@@ -335,7 +321,7 @@ + template + inline bool + operator>=(const _DBG_iter_base<_Container>& __x, const _DBG_iter_base<_Container>& __y) { +- __STL_DEBUG_CHECK(__check_same_owner_or_null(__x, __y)) ++ _STLP_DEBUG_CHECK(__check_same_owner_or_null(__x, __y)) + typedef typename _DBG_iter_base<_Container>::_Iterator_category _Category; + return !_CompareIt(__x._M_iterator , __y._M_iterator, _Category()); + } +@@ -352,7 +338,7 @@ + inline bool + operator!=(const _DBG_iter_base<_Container>& __x, + const _DBG_iter_base<_Container>& __y) { +- __STL_DEBUG_CHECK(__check_same_owner_or_null(__x, __y)) ++ _STLP_DEBUG_CHECK(__check_same_owner_or_null(__x, __y)) + return __x._M_iterator != __y._M_iterator; + } + +@@ -366,49 +352,39 @@ + } + + +-# ifdef __STL_USE_OLD_HP_ITERATOR_QUERIES +- +-# if defined (__STL_NESTED_TYPE_PARAM_BUG) \ +- || ( defined (__SUNPRO_CC) && __SUNPRO_CC < 0x500) \ +- || ( defined (__STL_MSVC) && (__STL_MSVC < 1100) ) +-# define __STL_DEBUG_USE_DISTINCT_VALUE_TYPE_HELPERS 1 ++# ifdef _STLP_USE_OLD_HP_ITERATOR_QUERIES ++# if defined (_STLP_NESTED_TYPE_PARAM_BUG) \ ++ || ( defined (__SUNPRO_CC) && __SUNPRO_CC < 0x600) \ ++ || ( defined (_STLP_MSVC) && (_STLP_MSVC < 1100) ) ++# define _STLP_DEBUG_USE_DISTINCT_VALUE_TYPE_HELPERS 1 + # endif + + template + inline ptrdiff_t* +-__DISTANCE_TYPE(const _DBG_iter_base<_Container>&) { return (ptrdiff_t*) 0; } ++distance_type(const _DBG_iter_base<_Container>&) { return (ptrdiff_t*) 0; } + +-# if !defined (__STL_DEBUG_USE_DISTINCT_VALUE_TYPE_HELPERS) ++# if !defined (_STLP_DEBUG_USE_DISTINCT_VALUE_TYPE_HELPERS) + template +-inline __STL_TYPENAME_ON_RETURN_TYPE _DBG_iter_base<_Container>::value_type* +-__VALUE_TYPE(const _DBG_iter_base<_Container>&) { ++inline _STLP_TYPENAME_ON_RETURN_TYPE _DBG_iter_base<_Container>::value_type* ++value_type(const _DBG_iter_base<_Container>&) { + typedef typename _DBG_iter_base<_Container>::value_type _Val; + return (_Val*)0; + } + + template +-inline __STL_TYPENAME_ON_RETURN_TYPE _DBG_iter_base<_Container>::_Iterator_category +-__ITERATOR_CATEGORY(const _DBG_iter_base<_Container>&) { ++inline _STLP_TYPENAME_ON_RETURN_TYPE _DBG_iter_base<_Container>::_Iterator_category ++iterator_category(const _DBG_iter_base<_Container>&) { + typedef typename _DBG_iter_base<_Container>::_Iterator_category _Category; + return _Category(); + } + # endif + +-# endif /* __STL_USE_OLD_HP_ITERATOR_QUERIES */ ++# endif /* _STLP_USE_OLD_HP_ITERATOR_QUERIES */ + + # define _Get_iter(__x) __x + # define _Debug_iter(__x, __y) __y + +-# if 0 +-template +-class __debug_iterator_traits +-{ +-public: +- typedef _Iterator __underlying_iterator_type; +- typedef pair<__underlying_iterator_type, __underlying_iterator_type> __underlying_iterator_pair; +-}; +-# endif +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + + #endif /* INTERNAL_H */ + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/debug/_list.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/debug/_list.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/debug/_list.h Sat Feb 24 10:45:20 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/debug/_list.h Sun Aug 11 18:59:25 2002 +@@ -27,38 +27,38 @@ + * You should not attempt to use it directly. + */ + +-#ifndef __SGI_STL_INTERNAL_DBG_LIST_H +-#define __SGI_STL_INTERNAL_DBG_LIST_H ++#ifndef _STLP_INTERNAL_DBG_LIST_H ++#define _STLP_INTERNAL_DBG_LIST_H + + #include + +-# ifndef __STL_USE_WRAPPER_FOR_ALLOC_PARAM ++# ifndef _STLP_USE_WRAPPER_FOR_ALLOC_PARAM + # undef _DBG_list + # define _DBG_list list + # endif + +-# define __STL_DBG_LIST_BASE \ ++# define _STLP_DBG_LIST_BASE \ + __WORKAROUND_DBG_RENAME(list) <_Tp, _Alloc> + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + +-# ifdef __STL_DEBUG_USE_DISTINCT_VALUE_TYPE_HELPERS ++# ifdef _STLP_DEBUG_USE_DISTINCT_VALUE_TYPE_HELPERS + template + inline _Tp* +-__VALUE_TYPE(const _DBG_iter_base< __STL_DBG_LIST_BASE >&) { ++value_type(const _DBG_iter_base< _STLP_DBG_LIST_BASE >&) { + return (_Tp*)0; + } + template + inline bidirectional_iterator_tag +-__ITERATOR_CATEGORY(const _DBG_iter_base< __STL_DBG_LIST_BASE >&) { ++iterator_category(const _DBG_iter_base< _STLP_DBG_LIST_BASE >&) { + return bidirectional_iterator_tag(); + } + # endif + +-template +-class _DBG_list : public __STL_DBG_LIST_BASE { ++template ++class _DBG_list : public _STLP_DBG_LIST_BASE { + +- typedef __STL_DBG_LIST_BASE _Base; ++ typedef _STLP_DBG_LIST_BASE _Base; + typedef _DBG_list<_Tp, _Alloc> _Self; + + public: +@@ -68,7 +68,7 @@ + typedef _DBG_iter<_Base, _Nonconst_traits > iterator; + typedef _DBG_iter<_Base, _Const_traits > const_iterator; + +- __STL_DECLARE_BIDIRECTIONAL_REVERSE_ITERATORS; ++ _STLP_DECLARE_BIDIRECTIONAL_REVERSE_ITERATORS; + + protected: + mutable __owned_list _M_iter_list; +@@ -78,40 +78,40 @@ + const _Base* _Get_base() const { return (const _Base*)this; } + _Base* _Get_base() { return (_Base*)this; } + explicit _DBG_list(const allocator_type& __a = allocator_type()) : +- __STL_DBG_LIST_BASE(__a), _M_iter_list(_Get_base()) {} ++ _STLP_DBG_LIST_BASE(__a), _M_iter_list(_Get_base()) {} + _DBG_list(size_type __n, const _Tp& __value, + const allocator_type& __a = allocator_type()) +- : __STL_DBG_LIST_BASE(__n, __value, __a), _M_iter_list(_Get_base()) {} ++ : _STLP_DBG_LIST_BASE(__n, __value, __a), _M_iter_list(_Get_base()) {} + explicit _DBG_list(size_type __n) +- : __STL_DBG_LIST_BASE(__n), _M_iter_list(_Get_base()) {} ++ : _STLP_DBG_LIST_BASE(__n), _M_iter_list(_Get_base()) {} + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + + // We don't need any dispatching tricks here, because insert does all of + // that anyway. ++# ifdef _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS + template + _DBG_list(_InputIterator __first, _InputIterator __last) +- : __STL_DBG_LIST_BASE(__first, __last, allocator_type()), _M_iter_list(_Get_base()) {} +- ++ : _STLP_DBG_LIST_BASE(__first, __last, allocator_type()), _M_iter_list(_Get_base()) {} ++# endif + template + _DBG_list(_InputIterator __first, _InputIterator __last, +- const allocator_type& __a) +- : __STL_DBG_LIST_BASE(__first, __last, __a), _M_iter_list(_Get_base()) {} +- +-#else /* __STL_MEMBER_TEMPLATES */ ++ const allocator_type& __a _STLP_ALLOCATOR_TYPE_DFL) ++ : _STLP_DBG_LIST_BASE(__first, __last, __a), _M_iter_list(_Get_base()) {} ++#else /* _STLP_MEMBER_TEMPLATES */ + + _DBG_list(const _Tp* __first, const _Tp* __last, + const allocator_type& __a = allocator_type()) +- : __STL_DBG_LIST_BASE(__first, __last, __a), _M_iter_list(_Get_base()) {} ++ : _STLP_DBG_LIST_BASE(__first, __last, __a), _M_iter_list(_Get_base()) {} + _DBG_list(const_iterator __first, const_iterator __last, + const allocator_type& __a = allocator_type()): +- __STL_DBG_LIST_BASE(__first._M_iterator, __last._M_iterator, __a), ++ _STLP_DBG_LIST_BASE(__first._M_iterator, __last._M_iterator, __a), + _M_iter_list(_Get_base()) {} + +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + _DBG_list(const _Self& __x) : +- __STL_DBG_LIST_BASE(__x) , _M_iter_list(_Get_base()) {} ++ _STLP_DBG_LIST_BASE(__x) , _M_iter_list(_Get_base()) {} + + _Self& operator=(const _Self& __x) { + _Invalidate_all(); +@@ -139,57 +139,97 @@ + const_reference back() const { return *(--end()); } + + void swap(_Self& __x) { +- _M_iter_list._Swap_owners(__x._M_iter_list, true); ++ _M_iter_list._Swap_owners(__x._M_iter_list); + _Base::swap(__x); + } + + iterator insert(iterator __position, const _Tp& __x) { +- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__position)) ++ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__position)) + return iterator(&_M_iter_list,_Base::insert(__position._M_iterator, __x) ); + } + ++# ifndef _STLP_NO_ANACHRONISMS + iterator insert(iterator __position) { return insert(__position, _Tp()); } ++# endif + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + + template + void insert(iterator __position, _InputIterator __first, _InputIterator __last) { +- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__position)) ++ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__position)) + _Base::insert(__position._M_iterator, __first, __last); + } + + #else + + void insert(iterator __position, const _Tp* __first, const _Tp* __last) { +- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__position)) ++ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__position)) + _Base::insert(__position._M_iterator, __first, __last); + } + + void insert(iterator __position, + const_iterator __first, const_iterator __last) { +- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__position)) ++ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__position)) + _Base::insert(__position._M_iterator, __first._M_iterator, __last._M_iterator); + } + +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + void insert(iterator __position, size_type __n, const _Tp& __x) { +- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__position)) ++ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__position)) + _Base::insert(__position._M_iterator, __n, __x); + } + ++ void pop_back() { ++ _STLP_VERBOSE_ASSERT(!this->empty(), _StlMsg_EMPTY_CONTAINER) ++ __invalidate_iterator(&_M_iter_list,end()); ++ _Base::pop_back(); ++ } ++ ++ void pop_front() { ++ _STLP_VERBOSE_ASSERT(!this->empty(), _StlMsg_EMPTY_CONTAINER) ++ __invalidate_iterator(&_M_iter_list,begin()); ++ _Base::pop_front(); ++ } ++ + iterator erase(iterator __position) { +- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__position)) +- __STL_VERBOSE_ASSERT(__position._M_iterator._M_node!=this->_M_node._M_data, ++ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__position)) ++ _STLP_VERBOSE_ASSERT(__position._M_iterator._M_node!=this->_M_node._M_data, + _StlMsg_ERASE_PAST_THE_END) + // fbp : CHECK !!! +- // __invalidate_iterator(&_M_iter_list, __position); ++ __invalidate_iterator(&_M_iter_list, __position); + return iterator(&_M_iter_list,_Base::erase(__position._M_iterator)); + } + iterator erase(iterator __first, iterator __last) { +- // fbp : do range invalidation here ! +- return iterator(&_M_iter_list,_Base::erase(__first._M_iterator, __last._M_iterator)); ++ while (__first != __last) ++ erase(__first++); ++ return __last; ++ } ++ ++ void resize(size_type __new_size, const _Tp& __x) { ++ typename _Base::iterator __i = _Base::begin(); ++ size_type __len = 0; ++ for ( ; __i != _Base::end() && __len < __new_size; ++__i, ++__len); ++ ++ if (__len == __new_size) ++ erase(iterator(&_M_iter_list,__i), end()); ++ else // __i == end() ++ _Base::insert(_Base::end(), __new_size - __len, __x); ++ } ++ ++ void resize(size_type __new_size) { this->resize(__new_size, _Tp()); } ++ ++ void remove(const _Tp& __value) { ++ typename _Base::iterator __first = _Base::begin(); ++ typename _Base::iterator __last = _Base::end(); ++ while (__first != __last) { ++ typename _Base::iterator __next = __first; ++ ++__next; ++ if (__value == *__first) erase(iterator(&_M_iter_list,__first)); ++ __first = __next; ++ } + } ++ + void clear() { + _Invalidate_all(); + _Base::clear(); +@@ -197,24 +237,24 @@ + + public: + void splice(iterator __position, _Self& __x) { +- __STL_VERBOSE_ASSERT(&__x!=this, _StlMsg_INVALID_ARGUMENT) +- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__position)) ++ _STLP_VERBOSE_ASSERT(&__x!=this, _StlMsg_INVALID_ARGUMENT) ++ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__position)) + _Base::splice(__position._M_iterator, __x); + __x._Invalidate_all(); + } + + void splice(iterator __position, _Self& __x, iterator __i) { +- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__position) && ++ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__position) && + __check_if_owner(&__x._M_iter_list ,__i)) +- __STL_DEBUG_CHECK(_Dereferenceable(__i)) ++ _STLP_DEBUG_CHECK(_Dereferenceable(__i)) + // fbp : CHECK !!! +- // __invalidate_iterator(&__x._M_iter_list, __i); ++ // __invalidate_iterator(&__x._M_iter_list, __i); + _Base::splice(__position._M_iterator, __x, __i._M_iterator); + } + + void splice(iterator __position, _Self& __x, iterator __first, iterator __last) { +- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) +- __STL_VERBOSE_ASSERT(__first._Owner()==&__x._M_iter_list && __last._Owner()==&__x._M_iter_list, ++ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) ++ _STLP_VERBOSE_ASSERT(__first._Owner()==&__x._M_iter_list && __last._Owner()==&__x._M_iter_list, + _StlMsg_NOT_OWNER) + _Base::splice(__position._M_iterator, __x, __first._M_iterator, __last._M_iterator); + } +@@ -227,48 +267,67 @@ + _Invalidate_all(); + _Base::reverse(); + } ++ void unique() { ++ _Invalidate_all(); ++ _Base::unique(); ++ } + void sort() { + _Invalidate_all(); + _Base::sort(); + } + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES ++ ++ template void remove_if(_Predicate __pred) { ++ _Base::remove_if(__pred); ++ } ++ template ++ void unique(_BinaryPredicate __binary_pred) { ++ _Base::unique(__binary_pred); ++ } ++ template ++ void merge(_Self& __x, ++ _StrictWeakOrdering __comp) { ++ __x._Invalidate_all(); ++ _Base::merge(__x, __comp); ++ } ++ + template + void sort(_StrictWeakOrdering __comp) { + _Invalidate_all(); + _Base::sort(__comp); + } +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + }; + +-#ifdef __STL_EXTRA_OPERATORS_FOR_DEBUG ++#ifdef _STLP_EXTRA_OPERATORS_FOR_DEBUG + template +-__STL_INLINE_LOOP bool operator==(const _DBG_list<_Tp,_Alloc>& __x, ++_STLP_INLINE_LOOP bool operator==(const _DBG_list<_Tp,_Alloc>& __x, + const _DBG_list<_Tp,_Alloc>& __y) + { +- return (const __STL_DBG_LIST_BASE&)__x == (const __STL_DBG_LIST_BASE&)__y; ++ return (const _STLP_DBG_LIST_BASE&)__x == (const _STLP_DBG_LIST_BASE&)__y; + } + template + inline bool operator<(const _DBG_list<_Tp,_Alloc>& __x, + const _DBG_list<_Tp,_Alloc>& __y) + { +- return (const __STL_DBG_LIST_BASE&)__x < (const __STL_DBG_LIST_BASE&)__y; ++ return (const _STLP_DBG_LIST_BASE&)__x < (const _STLP_DBG_LIST_BASE&)__y; + } + #endif + +-#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE ++#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE + template + inline void + swap(_DBG_list<_Tp, _Alloc>& __x, _DBG_list<_Tp, _Alloc>& __y) + { + __x.swap(__y); + } +-#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ ++#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-#endif /* __SGI_STL_INTERNAL_LIST_H */ ++#endif /* _STLP_INTERNAL_LIST_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/debug/_slist.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/debug/_slist.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/debug/_slist.h Sat Feb 24 10:45:20 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/debug/_slist.h Sun Aug 11 18:59:25 2002 +@@ -24,39 +24,39 @@ + * You should not attempt to use it directly. + */ + +-#ifndef __SGI_STL_INTERNAL_DBG_SLIST_H +-#define __SGI_STL_INTERNAL_DBG_SLIST_H ++#ifndef _STLP_INTERNAL_DBG_SLIST_H ++#define _STLP_INTERNAL_DBG_SLIST_H + + #include + +-# ifndef __STL_USE_WRAPPER_FOR_ALLOC_PARAM ++# ifndef _STLP_USE_WRAPPER_FOR_ALLOC_PARAM + # undef _DBG_slist + # define _DBG_slist slist + # endif + +-# define __STL_DBG_SLIST_BASE __WORKAROUND_DBG_RENAME(slist) <_Tp, _Alloc> ++# define _STLP_DBG_SLIST_BASE __WORKAROUND_DBG_RENAME(slist) <_Tp, _Alloc> + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + +-# ifdef __STL_DEBUG_USE_DISTINCT_VALUE_TYPE_HELPERS ++# ifdef _STLP_DEBUG_USE_DISTINCT_VALUE_TYPE_HELPERS + template + inline _Tp* +-__VALUE_TYPE(const _DBG_iter_base< __STL_DBG_SLIST_BASE >&) { ++value_type(const _DBG_iter_base< _STLP_DBG_SLIST_BASE >&) { + return (_Tp*)0; + } + + template + inline forward_iterator_tag +-__ITERATOR_CATEGORY(const _DBG_iter_base< __STL_DBG_SLIST_BASE >&) { ++iterator_category(const _DBG_iter_base< _STLP_DBG_SLIST_BASE >&) { + return forward_iterator_tag(); + } + # endif + +-template +-class _DBG_slist : public __STL_DBG_SLIST_BASE ++template ++class _DBG_slist : public _STLP_DBG_SLIST_BASE + { + private: +- typedef __STL_DBG_SLIST_BASE _Base; ++ typedef _STLP_DBG_SLIST_BASE _Base; + typedef _DBG_slist<_Tp,_Alloc> _Self; + + public: +@@ -79,40 +79,41 @@ + public: + + explicit _DBG_slist(const allocator_type& __a = allocator_type()) : +- __STL_DBG_SLIST_BASE(__a) , _M_iter_list(_Get_base()) {} ++ _STLP_DBG_SLIST_BASE(__a) , _M_iter_list(_Get_base()) {} + + _DBG_slist(size_type __n, const value_type& __x, + const allocator_type& __a = allocator_type()) : +- __STL_DBG_SLIST_BASE(__n, __x, __a), _M_iter_list(_Get_base()) {} ++ _STLP_DBG_SLIST_BASE(__n, __x, __a), _M_iter_list(_Get_base()) {} + +- explicit _DBG_slist(size_type __n) : __STL_DBG_SLIST_BASE(__n) , _M_iter_list(_Get_base()) {} ++ explicit _DBG_slist(size_type __n) : _STLP_DBG_SLIST_BASE(__n) , _M_iter_list(_Get_base()) {} + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + // We don't need any dispatching tricks here, because _M_insert_after_range + // already does them. ++# ifdef _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS + template +- _DBG_slist(_InputIterator __first, _InputIterator __last): +- __STL_DBG_SLIST_BASE(__first, __last, allocator_type()), _M_iter_list(_Get_base()) {} +- ++ _DBG_slist(_InputIterator __first, _InputIterator __last) : ++ _STLP_DBG_SLIST_BASE(__first, __last, allocator_type()), _M_iter_list(_Get_base()) {} ++# endif + template + _DBG_slist(_InputIterator __first, _InputIterator __last, +- const allocator_type& __a) : +- __STL_DBG_SLIST_BASE(__first, __last, __a), _M_iter_list(_Get_base()) {} ++ const allocator_type& __a _STLP_ALLOCATOR_TYPE_DFL) : ++ _STLP_DBG_SLIST_BASE(__first, __last, __a), _M_iter_list(_Get_base()) {} + +-#else /* __STL_MEMBER_TEMPLATES */ ++#else /* _STLP_MEMBER_TEMPLATES */ + + _DBG_slist(const_iterator __first, const_iterator __last, + const allocator_type& __a = allocator_type() ) : +- __STL_DBG_SLIST_BASE(__first._M_iterator, __last._M_iterator, __a), ++ _STLP_DBG_SLIST_BASE(__first._M_iterator, __last._M_iterator, __a), + _M_iter_list(_Get_base()) {} + + _DBG_slist(const value_type* __first, const value_type* __last, + const allocator_type& __a = allocator_type()) : +- __STL_DBG_SLIST_BASE(__first, __last, __a), _M_iter_list(_Get_base()) {} ++ _STLP_DBG_SLIST_BASE(__first, __last, __a), _M_iter_list(_Get_base()) {} + +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + +- _DBG_slist(const _Self& __x) : __STL_DBG_SLIST_BASE(__x), _M_iter_list(_Get_base()) {} ++ _DBG_slist(const _Self& __x) : _STLP_DBG_SLIST_BASE(__x), _M_iter_list(_Get_base()) {} + + _Self& operator= (const _Self& __x) { + _Invalidate_all(); +@@ -148,9 +149,16 @@ + + public: + // fbp : checks here ! +- reference front() { return _Base::front(); } +- const_reference front() const { return _Base::front(); } ++ reference front() { ++ _STLP_VERBOSE_ASSERT(!this->empty(), _StlMsg_EMPTY_CONTAINER) ++ return _Base::front(); ++ } ++ const_reference front() const { ++ _STLP_VERBOSE_ASSERT(!this->empty(), _StlMsg_EMPTY_CONTAINER) ++ return _Base::front(); ++ } + void pop_front() { ++ _STLP_VERBOSE_ASSERT(!this->empty(), _StlMsg_EMPTY_CONTAINER) + _Base::pop_front(); + } + iterator previous(const_iterator __pos) { +@@ -174,7 +182,7 @@ + _Base::insert_after(__pos._M_iterator, __n, __x); + } + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + + template + void assign(_InputIterator __first, _InputIterator __last) { +@@ -197,7 +205,7 @@ + + } + +-#else /* __STL_MEMBER_TEMPLATES */ ++#else /* _STLP_MEMBER_TEMPLATES */ + + void insert_after(iterator __pos, + const_iterator __first, const_iterator __last) { +@@ -209,51 +217,51 @@ + } + + void insert(iterator __pos, const_iterator __first, const_iterator __last) { +- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__pos)) ++ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__pos)) + _Base::insert(__pos._M_iterator, __first._M_iterator, __last._M_iterator); + } + void insert(iterator __pos, const value_type* __first, + const value_type* __last) { +- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__pos)) ++ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__pos)) + _Base::insert(__pos._M_iterator, __first, __last); + } + +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + iterator insert(iterator __pos, const value_type& __x) { +- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__pos)) ++ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__pos)) + return iterator(&_M_iter_list, _Base::insert(__pos._M_iterator, __x)); + } + + iterator insert(iterator __pos) { +- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__pos)) ++ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__pos)) + return iterator(&_M_iter_list, _Base::insert(__pos._M_iterator)); + } + + void insert(iterator __pos, size_type __n, const value_type& __x) { +- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__pos)) ++ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__pos)) + _Base::insert(__pos._M_iterator, __n, __x); + } + + public: + iterator erase_after(iterator __pos) { +- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__pos)) ++ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__pos)) + return iterator(&_M_iter_list, _Base::erase_after(__pos._M_iterator)); + } + iterator erase_after(iterator __before_first, iterator __last) { +- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__before_first)) +- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__last)) ++ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__before_first)) ++ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__last)) + return iterator(&_M_iter_list, + _Base::erase_after(__before_first._M_iterator, __last._M_iterator)); + } + + iterator erase(iterator __pos) { +- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__pos)) ++ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__pos)) + return iterator(&_M_iter_list, _Base::erase(__pos._M_iterator)); + } + iterator erase(iterator __first, iterator __last) { +- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__first)) +- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__last)) ++ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__first)) ++ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__last)) + return iterator(&_M_iter_list, + _Base::erase(__first._M_iterator, __last._M_iterator)); + } +@@ -303,16 +311,16 @@ + + // Linear in distance(begin(), __pos), and linear in __x.size(). + void splice(iterator __pos, _Self& __x) { +- __STL_VERBOSE_ASSERT(!(&__x==this), _StlMsg_INVALID_ARGUMENT) +- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__pos)) ++ _STLP_VERBOSE_ASSERT(!(&__x==this), _StlMsg_INVALID_ARGUMENT) ++ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__pos)) + _Base::splice(__pos._M_iterator, (_Base&)__x); + __x._Invalidate_all(); + } + + // Linear in distance(begin(), __pos), and in distance(__x.begin(), __i). + void splice(iterator __pos, _Self& __x, iterator __i) { +- __STL_VERBOSE_ASSERT(&__x!=this, _StlMsg_INVALID_ARGUMENT) +- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__pos) && ++ _STLP_VERBOSE_ASSERT(&__x!=this, _StlMsg_INVALID_ARGUMENT) ++ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__pos) && + __check_if_owner(&__x._M_iter_list ,__i)) + _Base::splice(__pos._M_iterator, (_Base&)__x, __i._M_iterator); + __x._Invalidate_iterator(__i); +@@ -322,8 +330,8 @@ + // and in distance(__first, __last). + void splice(iterator __pos, _Self& __x, iterator __first, iterator __last) + { +- __STL_VERBOSE_ASSERT(&__x!=this, _StlMsg_INVALID_ARGUMENT) +- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__pos)) ++ _STLP_VERBOSE_ASSERT(&__x!=this, _StlMsg_INVALID_ARGUMENT) ++ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__pos)) + if (__first != __last) + _Base::splice(__pos._M_iterator, (_Base&)__x, __first._M_iterator, __last._M_iterator); + __invalidate_range(&__x._M_iter_list, __first, __last); +@@ -342,8 +350,12 @@ + _Base::merge((_Base&)__x); + __x._Invalidate_all(); + } ++ void sort() { ++ _Invalidate_all(); ++ _Base::sort(); ++ } + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + + template + void remove_if(_Predicate __pred) { +@@ -361,28 +373,33 @@ + __x._Invalidate_all(); + } + +-#endif /* __STL_MEMBER_TEMPLATES */ ++ template ++ void sort(_StrictWeakOrdering __comp) { ++ _Invalidate_all(); ++ _Base::sort(__comp); ++ } ++#endif /* _STLP_MEMBER_TEMPLATES */ + + }; + +-#ifdef __STL_EXTRA_OPERATORS_FOR_DEBUG ++#ifdef _STLP_EXTRA_OPERATORS_FOR_DEBUG + + template + inline bool + operator==(const _DBG_slist<_Tp,_Alloc>& _SL1, + const _DBG_slist<_Tp,_Alloc>& _SL2) + { +- return (const __STL_DBG_SLIST_BASE&)_SL1 == (const __STL_DBG_SLIST_BASE&)_SL2; ++ return (const _STLP_DBG_SLIST_BASE&)_SL1 == (const _STLP_DBG_SLIST_BASE&)_SL2; + } + + template + inline bool operator<(const _DBG_slist<_Tp,_Alloc>& _SL1, + const _DBG_slist<_Tp,_Alloc>& _SL2) + { +- return (const __STL_DBG_SLIST_BASE&)_SL1 < (const __STL_DBG_SLIST_BASE&)_SL2; ++ return (const _STLP_DBG_SLIST_BASE&)_SL1 < (const _STLP_DBG_SLIST_BASE&)_SL2; + } + +-#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE ++#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE + + template + inline bool +@@ -411,20 +428,20 @@ + const _DBG_slist<_Tp,_Alloc>& _SL2) { + return !(_SL1 < _SL2); + } +-#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ +-#endif /* __STL_EXTRA_OPERATORS_FOR_DEBUG */ ++#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ ++#endif /* _STLP_EXTRA_OPERATORS_FOR_DEBUG */ + +-#ifdef __STL_FUNCTION_TMPL_PARTIAL_ORDER ++#ifdef _STLP_FUNCTION_TMPL_PARTIAL_ORDER + template + inline void swap( _DBG_slist<_Tp,_Alloc>& __x, + _DBG_slist<_Tp,_Alloc>& __y) { + __x.swap(__y); + } +-#endif /* __STL_FUNCTION_TMPL_PARTIAL_ORDER */ ++#endif /* _STLP_FUNCTION_TMPL_PARTIAL_ORDER */ + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-#endif /* __SGI_STL_INTERNAL_DBG_SLIST_H */ ++#endif /* _STLP_INTERNAL_DBG_SLIST_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/debug/_string.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/debug/_string.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/debug/_string.h Sat Feb 24 10:45:21 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/debug/_string.h Sun Aug 11 18:59:25 2002 +@@ -16,49 +16,44 @@ + * + */ + +-#ifndef __SGI_STL_DBG_STRING_H +-#define __SGI_STL_DBG_STRING_H ++#ifndef _STLP_DBG_STRING_H ++#define _STLP_DBG_STRING_H + + #include + +-# define __STL_DBG_STRING_BASE _Nondebug_string <_CharT, _Traits, _Alloc> ++# define _STLP_DBG_STRING_BASE _Nondebug_string <_CharT, _Traits, _Alloc> + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + +-# ifdef __STL_DEBUG_USE_DISTINCT_VALUE_TYPE_HELPERS ++# ifdef _STLP_DEBUG_USE_DISTINCT_VALUE_TYPE_HELPERS + template + inline _CharT* +-__VALUE_TYPE(const _DBG_iter_base< __STL_DBG_STRING_BASE >&) { ++value_type(const _DBG_iter_base< _STLP_DBG_STRING_BASE >&) { + return (_CharT*)0; + } + template + inline random_access_iterator_tag +-__ITERATOR_CATEGORY(const _DBG_iter_base< __STL_DBG_STRING_BASE >&) { ++iterator_category(const _DBG_iter_base< _STLP_DBG_STRING_BASE >&) { + return random_access_iterator_tag(); + } + # endif + + template +-class basic_string : public __STL_DBG_STRING_BASE { ++class basic_string : public _STLP_DBG_STRING_BASE { + private: +- typedef __STL_DBG_STRING_BASE _Base; ++ typedef _STLP_DBG_STRING_BASE _Base; + typedef basic_string<_CharT, _Traits, _Alloc> _Self; + protected: + mutable __owned_list _M_iter_list; + public: +-#if defined( __STL_HAS_NAMESPACES ) +- __STL_USING_BASE_MEMBER __STL_DBG_STRING_BASE::size; +-#endif /* __STL_HAS_NAMESPACES */ +- +-public: + __IMPORT_CONTAINER_TYPEDEFS(_Base) + typedef _DBG_iter<_Base, _Nonconst_traits > iterator; + typedef _DBG_iter<_Base, _Const_traits > const_iterator; +- __STL_DECLARE_RANDOM_ACCESS_REVERSE_ITERATORS; +-# ifdef __STL_USE_NATIVE_STRING ++ _STLP_DECLARE_RANDOM_ACCESS_REVERSE_ITERATORS; ++# ifdef _STLP_USE_NATIVE_STRING + // this typedef is being used for conversions +- typedef __STL_VENDOR_STD::basic_string<_CharT,_Traits, +- __STL_VENDOR_STD::allocator<_CharT> > __std_string; ++ typedef _STLP_VENDOR_STD::basic_string<_CharT,_Traits, ++ _STLP_VENDOR_STD::allocator<_CharT> > __std_string; + # endif + public: // Constructor, destructor, assignment. + typedef typename _Base::_Reserve_t _Reserve_t; +@@ -66,66 +61,66 @@ + const _Base* _Get_base() const { return (const _Base*)this; } + _Base* _Get_base() { return (_Base*)this; } + +- basic_string() :__STL_DBG_STRING_BASE(), _M_iter_list(_Get_base()) {} ++ basic_string() :_STLP_DBG_STRING_BASE(), _M_iter_list(_Get_base()) {} + + explicit basic_string(const allocator_type& __a): +- __STL_DBG_STRING_BASE(__a), _M_iter_list(_Get_base()) {} ++ _STLP_DBG_STRING_BASE(__a), _M_iter_list(_Get_base()) {} + + basic_string(_Reserve_t __r, size_t __n, + const allocator_type& __a = allocator_type()) +- : __STL_DBG_STRING_BASE(__r, __n, __a), _M_iter_list(_Get_base()) {} ++ : _STLP_DBG_STRING_BASE(__r, __n, __a), _M_iter_list(_Get_base()) {} + + basic_string(const _Self& __s): +- __STL_DBG_STRING_BASE(__s), _M_iter_list(_Get_base()) {} ++ _STLP_DBG_STRING_BASE(__s), _M_iter_list(_Get_base()) {} + + basic_string(const _Self& __s, size_type __pos, size_type __n = _Base::npos, + const allocator_type& __a = allocator_type()): +- __STL_DBG_STRING_BASE(__s, __pos, __n, __a), _M_iter_list(_Get_base()) {} ++ _STLP_DBG_STRING_BASE(__s, __pos, __n, __a), _M_iter_list(_Get_base()) {} + + basic_string(const _CharT* __s, size_type __n, + const allocator_type& __a = allocator_type()): +- __STL_DBG_STRING_BASE(__s, __n, __a), _M_iter_list(_Get_base()) {} ++ _STLP_DBG_STRING_BASE(__s, __n, __a), _M_iter_list(_Get_base()) {} + + basic_string(const _CharT* __s, + const allocator_type& __a = allocator_type()): +- __STL_DBG_STRING_BASE(__s, __a), _M_iter_list(_Get_base()) {} ++ _STLP_DBG_STRING_BASE(__s, __a), _M_iter_list(_Get_base()) {} + + basic_string(size_type __n, _CharT __c, + const allocator_type& __a = allocator_type()): +- __STL_DBG_STRING_BASE(__n, __c, __a), _M_iter_list(_Get_base()) {} ++ _STLP_DBG_STRING_BASE(__n, __c, __a), _M_iter_list(_Get_base()) {} + +-#if defined (__STL_MEMBER_TEMPLATES) ++#if defined (_STLP_MEMBER_TEMPLATES) && !(defined(__MRC__)||defined(__SC__)) ++# ifdef _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS + template + basic_string(_InputIterator __f, _InputIterator __l): +- __STL_DBG_STRING_BASE(__f, __l), _M_iter_list(_Get_base()) {} +- ++ _STLP_DBG_STRING_BASE(__f, __l), _M_iter_list(_Get_base()) {} ++# endif + template + basic_string(_InputIterator __f, _InputIterator __l, +- const allocator_type & __a): +- __STL_DBG_STRING_BASE(__f, __l, __a), _M_iter_list(_Get_base()) {} +- +-#else /* __STL_MEMBER_TEMPLATES */ ++ const allocator_type & __a _STLP_ALLOCATOR_TYPE_DFL): ++ _STLP_DBG_STRING_BASE(__f, __l, __a), _M_iter_list(_Get_base()) {} ++#else /* _STLP_MEMBER_TEMPLATES */ + basic_string(const_iterator __f, const_iterator __l, + const allocator_type & __a = allocator_type()): +- __STL_DBG_STRING_BASE(__f._M_iterator, __l._M_iterator), ++ _STLP_DBG_STRING_BASE(__f._M_iterator, __l._M_iterator, __a), + _M_iter_list(_Get_base()) {} + + basic_string(const _CharT* __f, const _CharT* __l, + const allocator_type& __a = allocator_type()): +- __STL_DBG_STRING_BASE(__f, __l, __a), _M_iter_list(_Get_base()) {} ++ _STLP_DBG_STRING_BASE(__f, __l, __a), _M_iter_list(_Get_base()) {} + #endif + +-# ifdef __STL_USE_NATIVE_STRING ++# ifdef _STLP_USE_NATIVE_STRING + // these conversion operations still needed for + // strstream, etc. + basic_string (const __std_string& __x) +- : __STL_DBG_STRING_BASE(__x.begin(), __x.end()), _M_iter_list(_Get_base()) {} ++ : _STLP_DBG_STRING_BASE(__x.begin(), __x.end()), _M_iter_list(_Get_base()) {} + operator __std_string() const { return __std_string(this->data()); } + # endif + + // constructor from non-debug version + basic_string (const _Base& __x) +- : __STL_DBG_STRING_BASE(__x), _M_iter_list(_Get_base()) {} ++ : _STLP_DBG_STRING_BASE(__x), _M_iter_list(_Get_base()) {} + + _Self& operator=(const _Self& __s) { + _Base::operator=(__s); +@@ -133,7 +128,7 @@ + } + + _Self& operator=(const _CharT* __s) { +- __STL_FIX_LITERAL_BUG(__s) ++ _STLP_FIX_LITERAL_BUG(__s) + _Base::operator=(__s); + return *this; + } +@@ -187,13 +182,13 @@ + { return *(begin() + __n); } + + const_reference at(size_type __n) const { +- if (__n >= size()) ++ if (__n >= this->size()) + this->_M_throw_out_of_range(); + return *(begin() + __n); + } + + reference at(size_type __n) { +- if (__n >= size()) ++ if (__n >= this->size()) + this->_M_throw_out_of_range(); + return *(begin() + __n); + } +@@ -201,7 +196,7 @@ + public: // Append, operator+=, push_back. + + _Self& operator+=(const _Self& __s) { return append(__s); } +- _Self& operator+=(const _CharT* __s) { __STL_FIX_LITERAL_BUG(__s) return append(__s); } ++ _Self& operator+=(const _CharT* __s) { _STLP_FIX_LITERAL_BUG(__s) return append(__s); } + _Self& operator+=(_CharT __c) { push_back(__c); return *this; } + + _Self& append(const _Self& __s) { return append(__s._M_start, __s._M_finish); } +@@ -214,17 +209,17 @@ + } + + _Self& append(const _CharT* __s, size_type __n) +- { __STL_FIX_LITERAL_BUG(__s) return append(__s, __s+__n); } ++ { _STLP_FIX_LITERAL_BUG(__s) return append(__s, __s+__n); } + + _Self& append(const _CharT* __s) +- { __STL_FIX_LITERAL_BUG(__s) return append(__s, __s + _Traits::length(__s)); } ++ { _STLP_FIX_LITERAL_BUG(__s) return append(__s, __s + _Traits::length(__s)); } + + _Self& append(size_type __n, _CharT __c){ + _Base::append(__n, __c); + return *this; + } + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + + // Check to see if _InputIterator is an integer type. If so, then + // it can't be an iterator. +@@ -234,14 +229,18 @@ + return *this; + } + +-#else /* __STL_MEMBER_TEMPLATES */ ++#else /* _STLP_MEMBER_TEMPLATES */ + + _Self& append(const _CharT* __first, const _CharT* __last) { + _Base::append(__first, __last); + return *this; + } + +-#endif /* __STL_MEMBER_TEMPLATES */ ++ _Self& append(const_iterator __first, const_iterator __last) { ++ _Base::append(__first._M_iterator, __last._M_iterator); ++ return *this; ++ } ++#endif /* _STLP_MEMBER_TEMPLATES */ + + void push_back(_CharT __c) { + _Base::push_back(__c); +@@ -267,27 +266,27 @@ + } + + _Self& assign(const _CharT* __s, size_type __n) +- { __STL_FIX_LITERAL_BUG(__s) return assign(__s, __s + __n); } ++ { _STLP_FIX_LITERAL_BUG(__s) return assign(__s, __s + __n); } + + _Self& assign(const _CharT* __s) +- { __STL_FIX_LITERAL_BUG(__s) return assign(__s, __s + _Traits::length(__s)); } ++ { _STLP_FIX_LITERAL_BUG(__s) return assign(__s, __s + _Traits::length(__s)); } + + _Self& assign(size_type __n, _CharT __c) { + _Base::assign(__n, __c); + return *this; + } + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + template + inline _Self& assign(_InputIter __first, _InputIter __last) { +- __STL_FIX_LITERAL_BUG(__f) __STL_FIX_LITERAL_BUG(__l) +- __check_range(__first, __last); ++ _STLP_FIX_LITERAL_BUG(__first) _STLP_FIX_LITERAL_BUG(__last) ++ __check_range(__first, __last); + _Base::assign(__first, __last); + return *this; + } + #else + _Self& assign(const _CharT* __f, const _CharT* __l) { +- __STL_FIX_LITERAL_BUG(__f) __STL_FIX_LITERAL_BUG(__l) ++ _STLP_FIX_LITERAL_BUG(__f) _STLP_FIX_LITERAL_BUG(__l) + __check_range(__f, __l); + _Base::assign(__f, __l); + return *this; +@@ -297,7 +296,7 @@ + _Base::assign(__f._M_iterator, __l._M_iterator); + return *this; + } +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + public: // Insert + +@@ -313,13 +312,13 @@ + } + + _Self& insert(size_type __pos, const _CharT* __s, size_type __n) { +- __STL_FIX_LITERAL_BUG(__s) ++ _STLP_FIX_LITERAL_BUG(__s) + _Base::insert(__pos, __s, __n); + return *this; + } + + _Self& insert(size_type __pos, const _CharT* __s) { +- __STL_FIX_LITERAL_BUG(__s) ++ _STLP_FIX_LITERAL_BUG(__s) + _Base::insert(__pos, __s); + return *this; + } +@@ -330,7 +329,7 @@ + } + + iterator insert(iterator __p, _CharT __c) { +- __STL_FIX_LITERAL_BUG(__p) ++ _STLP_FIX_LITERAL_BUG(__p) + __check_if_owner(&_M_iter_list,__p); + return iterator(&_M_iter_list,_Base::insert(__p._M_iterator, __c)); + } +@@ -340,16 +339,16 @@ + _Base::insert(__p._M_iterator, __n, __c); + } + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + template + void insert(iterator __p, _InputIter __first, _InputIter __last) { + __check_if_owner(&_M_iter_list,__p); + __check_range(__first,__last); + _Base::insert(__p._M_iterator, __first, __last); + } +-#else /* __STL_MEMBER_TEMPLATES */ ++#else /* _STLP_MEMBER_TEMPLATES */ + void insert(iterator __p, const _CharT* __first, const _CharT* __last) { +- __STL_FIX_LITERAL_BUG(__first) __STL_FIX_LITERAL_BUG(__last) ++ _STLP_FIX_LITERAL_BUG(__first) _STLP_FIX_LITERAL_BUG(__last) + __check_if_owner(&_M_iter_list,__p); + __check_range(__first,__last); + _Base::insert(__p._M_iterator, __first, __last); +@@ -358,7 +357,7 @@ + __check_range(__first,__last); + _Base::insert(__p._M_iterator, __first._M_iterator, __last._M_iterator); + } +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + public: // Erase. + _Self& erase(size_type __pos = 0, size_type __n = _Base::npos) { +@@ -380,10 +379,11 @@ + + public: // Substring. + _Self substr(size_type __pos = 0, size_type __n = _Base::npos) const { +- if (__pos > size()) ++ if (__pos > this->size()) + this->_M_throw_out_of_range(); + return _Self(this->begin() + __pos, +- this->begin() + __pos + min(__n, size() - __pos)); ++ this->begin() + __pos + min(__n, this->size() - __pos), ++ allocator_type()); + } + public: // Replace. (Conceptually equivalent + // to erase followed by insert.) +@@ -402,14 +402,14 @@ + + _Self& replace(size_type __pos, size_type __n1, + const _CharT* __s, size_type __n2) { +- __STL_FIX_LITERAL_BUG(__s) ++ _STLP_FIX_LITERAL_BUG(__s) + _Base::replace(__pos, __n1, __s, __n2); + return *this; + } + + _Self& replace(size_type __pos, size_type __n1, + const _CharT* __s) { +- __STL_FIX_LITERAL_BUG(__s) ++ _STLP_FIX_LITERAL_BUG(__s) + _Base::replace(__pos, __n1, __s); + return *this; + } +@@ -430,7 +430,7 @@ + + _Self& replace(iterator __first, iterator __last, + const _CharT* __s, size_type __n) { +- __STL_FIX_LITERAL_BUG(__s) ++ _STLP_FIX_LITERAL_BUG(__s) + __check_if_owner(&_M_iter_list,__first); + __check_range(__first, __last); + _Base::replace(__first._M_iterator, __last._M_iterator,__s, __n); +@@ -439,7 +439,7 @@ + + _Self& replace(iterator __first, iterator __last, + const _CharT* __s) { +- __STL_FIX_LITERAL_BUG(__s) ++ _STLP_FIX_LITERAL_BUG(__s) + __check_if_owner(&_M_iter_list,__first); + __check_range(__first, __last); + _Base::replace(__first._M_iterator, __last._M_iterator,__s); +@@ -454,7 +454,7 @@ + return *this; + } + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + template + _Self& replace(iterator __first, iterator __last, + _InputIter __f, _InputIter __l) { +@@ -464,7 +464,7 @@ + _Base::replace(__first._M_iterator, __last._M_iterator, __f, __l); + return *this; + } +-#else /* __STL_MEMBER_TEMPLATES */ ++#else /* _STLP_MEMBER_TEMPLATES */ + _Self& replace(iterator __first, iterator __last, + const _CharT* __f, const _CharT* __l) { + __check_if_owner(&_M_iter_list, __first); +@@ -473,7 +473,17 @@ + _Base::replace(__first._M_iterator, __last._M_iterator, __f, __l); + return *this; + } +-#endif /* __STL_MEMBER_TEMPLATES */ ++ ++ _Self& replace(iterator __first, iterator __last, ++ const_iterator __f, const_iterator __l) { ++ __check_if_owner(&_M_iter_list, __first); ++ __check_range(__first, __last); ++ __check_range(__f, __l); ++ _Base::replace(__first._M_iterator, __last._M_iterator, ++ __f._M_iterator, __l._M_iterator); ++ return *this; ++ } ++#endif /* _STLP_MEMBER_TEMPLATES */ + + public: // Other modifier member functions. + +@@ -485,19 +495,19 @@ + + + // This is a hook to instantiate STLport exports in a designated DLL +-# if defined (__STL_USE_TEMPLATE_EXPORT) +-__STL_EXPORT template class __STL_CLASS_DECLSPEC basic_string, allocator >; +-# if defined (__STL_HAS_WCHAR_T) +-__STL_EXPORT template class __STL_CLASS_DECLSPEC basic_string, allocator >; ++# if defined (_STLP_USE_TEMPLATE_EXPORT) ++_STLP_EXPORT template class _STLP_CLASS_DECLSPEC basic_string, allocator >; ++# if defined (_STLP_HAS_WCHAR_T) ++_STLP_EXPORT template class _STLP_CLASS_DECLSPEC basic_string, allocator >; + # endif +-# endif /* __STL_USE_TEMPLATE_EXPORT */ ++# endif /* _STLP_USE_TEMPLATE_EXPORT */ ++ + +-#ifdef __STL_EXTRA_OPERATORS_FOR_DEBUG + // ------------------------------------------------------------ + // Non-member functions. + + template +-inline basic_string<_CharT,_Traits,_Alloc> __STL_CALL ++inline basic_string<_CharT,_Traits,_Alloc> _STLP_CALL + operator+(const basic_string<_CharT,_Traits,_Alloc>& __s, + const basic_string<_CharT,_Traits,_Alloc>& __y) + { +@@ -505,230 +515,232 @@ + } + + template +-inline basic_string<_CharT,_Traits,_Alloc> __STL_CALL ++inline basic_string<_CharT,_Traits,_Alloc> _STLP_CALL + operator+(const _CharT* __s, + const basic_string<_CharT,_Traits,_Alloc>& __y) { +- __STL_FIX_LITERAL_BUG(__s) ++ _STLP_FIX_LITERAL_BUG(__s) + return basic_string<_CharT,_Traits,_Alloc>(__s + *__y._Get_base()); + } + + template +-inline basic_string<_CharT,_Traits,_Alloc> __STL_CALL ++inline basic_string<_CharT,_Traits,_Alloc> _STLP_CALL + operator+(_CharT __c, + const basic_string<_CharT,_Traits,_Alloc>& __y) { + return basic_string<_CharT,_Traits,_Alloc>(__c + *__y._Get_base()); + } + + template +-inline basic_string<_CharT,_Traits,_Alloc> __STL_CALL ++inline basic_string<_CharT,_Traits,_Alloc> _STLP_CALL + operator+(const basic_string<_CharT,_Traits,_Alloc>& __x, + const _CharT* __s) { +- __STL_FIX_LITERAL_BUG(__s) ++ _STLP_FIX_LITERAL_BUG(__s) + return basic_string<_CharT,_Traits,_Alloc>(*__x._Get_base()+ __s); + } + + template +-inline basic_string<_CharT,_Traits,_Alloc> __STL_CALL ++inline basic_string<_CharT,_Traits,_Alloc> _STLP_CALL + operator+(const basic_string<_CharT,_Traits,_Alloc>& __x, + const _CharT __c) { + return basic_string<_CharT,_Traits,_Alloc>(*__x._Get_base() + __c); + } + ++#ifdef _STLP_EXTRA_OPERATORS_FOR_DEBUG ++ + // Operator== and operator!= + + template +-inline bool __STL_CALL ++inline bool _STLP_CALL + operator==(const basic_string<_CharT,_Traits,_Alloc>& __x, + const basic_string<_CharT,_Traits,_Alloc>& __y) { + return (*__x._Get_base() == *__y._Get_base()); + } + + template +-inline bool __STL_CALL ++inline bool _STLP_CALL + operator==(const _CharT* __s, + const basic_string<_CharT,_Traits,_Alloc>& __y) { +- __STL_FIX_LITERAL_BUG(__s) ++ _STLP_FIX_LITERAL_BUG(__s) + return (__s == *__y._Get_base()); + } + + template +-inline bool __STL_CALL ++inline bool _STLP_CALL + operator==(const basic_string<_CharT,_Traits,_Alloc>& __x, + const _CharT* __s) { +- __STL_FIX_LITERAL_BUG(__s) ++ _STLP_FIX_LITERAL_BUG(__s) + return (*__x._Get_base() == __s); + } + + // Operator< (and also >, <=, and >=). + + template +-inline bool __STL_CALL ++inline bool _STLP_CALL + operator<(const basic_string<_CharT,_Traits,_Alloc>& __x, + const basic_string<_CharT,_Traits,_Alloc>& __y) { + return (*__x._Get_base() < *__y._Get_base()); + } + + template +-inline bool __STL_CALL ++inline bool _STLP_CALL + operator<(const _CharT* __s, + const basic_string<_CharT,_Traits,_Alloc>& __y) { +- __STL_FIX_LITERAL_BUG(__s) ++ _STLP_FIX_LITERAL_BUG(__s) + return (__s < *__y._Get_base()); + } + + template +-inline bool __STL_CALL ++inline bool _STLP_CALL + operator<(const basic_string<_CharT,_Traits,_Alloc>& __x, + const _CharT* __s) { +- __STL_FIX_LITERAL_BUG(__s) ++ _STLP_FIX_LITERAL_BUG(__s) + return (*__x._Get_base() < __s); + } + +-#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE ++#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE + + template +-inline bool __STL_CALL ++inline bool _STLP_CALL + operator!=(const basic_string<_CharT,_Traits,_Alloc>& __x, + const basic_string<_CharT,_Traits,_Alloc>& __y) { + return !(__x == __y); + } + + template +-inline bool __STL_CALL ++inline bool _STLP_CALL + operator>(const basic_string<_CharT,_Traits,_Alloc>& __x, + const basic_string<_CharT,_Traits,_Alloc>& __y) { + return __y < __x; + } + + template +-inline bool __STL_CALL ++inline bool _STLP_CALL + operator<=(const basic_string<_CharT,_Traits,_Alloc>& __x, + const basic_string<_CharT,_Traits,_Alloc>& __y) { + return !(__y < __x); + } + + template +-inline bool __STL_CALL ++inline bool _STLP_CALL + operator>=(const basic_string<_CharT,_Traits,_Alloc>& __x, + const basic_string<_CharT,_Traits,_Alloc>& __y) { + return !(__x < __y); + } + +-#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ ++#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ + + template +-inline bool __STL_CALL ++inline bool _STLP_CALL + operator!=(const _CharT* __s, + const basic_string<_CharT,_Traits,_Alloc>& __y) { +- __STL_FIX_LITERAL_BUG(__s) ++ _STLP_FIX_LITERAL_BUG(__s) + return !(__s == __y); + } + + template +-inline bool __STL_CALL ++inline bool _STLP_CALL + operator!=(const basic_string<_CharT,_Traits,_Alloc>& __x, + const _CharT* __s) { +- __STL_FIX_LITERAL_BUG(__s) ++ _STLP_FIX_LITERAL_BUG(__s) + return !(__x == __s); + } + + template +-inline bool __STL_CALL ++inline bool _STLP_CALL + operator>(const _CharT* __s, + const basic_string<_CharT,_Traits,_Alloc>& __y) { +- __STL_FIX_LITERAL_BUG(__s) ++ _STLP_FIX_LITERAL_BUG(__s) + return __y < __s; + } + + template +-inline bool __STL_CALL ++inline bool _STLP_CALL + operator>(const basic_string<_CharT,_Traits,_Alloc>& __x, + const _CharT* __s) { +- __STL_FIX_LITERAL_BUG(__s) ++ _STLP_FIX_LITERAL_BUG(__s) + return __s < __x; + } + + template +-inline bool __STL_CALL ++inline bool _STLP_CALL + operator<=(const _CharT* __s, + const basic_string<_CharT,_Traits,_Alloc>& __y) { +- __STL_FIX_LITERAL_BUG(__s) ++ _STLP_FIX_LITERAL_BUG(__s) + return !(__y < __s); + } + + template +-inline bool __STL_CALL ++inline bool _STLP_CALL + operator<=(const basic_string<_CharT,_Traits,_Alloc>& __x, + const _CharT* __s) { +- __STL_FIX_LITERAL_BUG(__s) ++ _STLP_FIX_LITERAL_BUG(__s) + return !(__s < __x); + } + + template +-inline bool __STL_CALL ++inline bool _STLP_CALL + operator>=(const _CharT* __s, + const basic_string<_CharT,_Traits,_Alloc>& __y) { +- __STL_FIX_LITERAL_BUG(__s) ++ _STLP_FIX_LITERAL_BUG(__s) + return !(__s < __y); + } + + template +-inline bool __STL_CALL ++inline bool _STLP_CALL + operator>=(const basic_string<_CharT,_Traits,_Alloc>& __x, + const _CharT* __s) { +- __STL_FIX_LITERAL_BUG(__s) ++ _STLP_FIX_LITERAL_BUG(__s) + return !(__x < __s); + } + #endif /* if 0 */ + + // Swap. +-#ifdef __STL_FUNCTION_TMPL_PARTIAL_ORDER ++#ifdef _STLP_FUNCTION_TMPL_PARTIAL_ORDER + template + inline void swap(basic_string<_CharT,_Traits,_Alloc>& __x, + basic_string<_CharT,_Traits,_Alloc>& __y) { + __x.swap(__y); + } +-#endif /* __STL_FUNCTION_TMPL_PARTIAL_ORDER */ ++#endif /* _STLP_FUNCTION_TMPL_PARTIAL_ORDER */ + + // I/O. + +-#ifdef __STL_EXTRA_OPERATORS_FOR_DEBUG +-#if defined (__STL_USE_NEW_IOSTREAMS) && ! defined (__SGI_STL_OWN_IOSTREAMS) ++#ifdef _STLP_EXTRA_OPERATORS_FOR_DEBUG ++#if defined (_STLP_USE_NEW_IOSTREAMS) && ! defined (_STLP_OWN_IOSTREAMS) + + template +-basic_ostream<_CharT, _Traits>& __STL_CALL ++basic_ostream<_CharT, _Traits>& _STLP_CALL + operator<<(basic_ostream<_CharT, _Traits>& __os, + const basic_string<_CharT,_Traits,_Alloc>& __s) { + return __os << *__s._Get_base(); + } + + template +-basic_istream<_CharT, _Traits>& __STL_CALL ++basic_istream<_CharT, _Traits>& _STLP_CALL + operator>>(basic_istream<_CharT, _Traits>& __is, + basic_string<_CharT,_Traits,_Alloc>& __s) { + return __is >> *__s._Get_base(); + } + +-#elif ! defined ( __STL_USE_NO_IOSTREAMS ) ++#elif ! defined ( _STLP_USE_NO_IOSTREAMS ) + + template +-ostream& __STL_CALL operator<<(ostream& __os, ++ostream& _STLP_CALL operator<<(ostream& __os, + const basic_string<_CharT,_Traits,_Alloc>& __s) { + return __os << *__s._Get_base(); + } + + template +-istream& __STL_CALL operator>>(istream& __is, basic_string<_CharT,_Traits,_Alloc>& __s) { ++istream& _STLP_CALL operator>>(istream& __is, basic_string<_CharT,_Traits,_Alloc>& __s) { + return __is >> *__s._Get_base(); + } + +-#endif /* __STL_USE_NEW_IOSTREAMS */ +-#endif /* if 0 */ ++#endif /* _STLP_USE_NEW_IOSTREAMS */ ++#endif /* if _STLP_EXTRA_OPERATORS_FOR_DEBUG */ + + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-#endif /* __SGI_STL_DBG_STRING */ ++#endif /* _STLP_DBG_STRING */ + + + // Local Variables: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/debug/_tree.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/debug/_tree.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/debug/_tree.h Sat Feb 24 10:45:21 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/debug/_tree.h Sun Aug 11 18:59:25 2002 +@@ -27,8 +27,8 @@ + * You should not attempt to use it directly. + */ + +-#ifndef __SGI_STL_INTERNAL_DBG_TREE_H +-#define __SGI_STL_INTERNAL_DBG_TREE_H ++#ifndef _STLP_INTERNAL_DBG_TREE_H ++#define _STLP_INTERNAL_DBG_TREE_H + + #include + #include +@@ -37,27 +37,27 @@ + # undef _DBG_Rb_tree + # define _DBG_Rb_tree _Rb_tree + +-# define __STL_DBG_TREE_SUPER __WORKAROUND_DBG_RENAME(Rb_tree) <_Key, _Value, _KeyOfValue, _Compare, _Alloc> ++# define _STLP_DBG_TREE_SUPER __WORKAROUND_DBG_RENAME(Rb_tree) <_Key, _Value, _KeyOfValue, _Compare, _Alloc> + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + +-# ifdef __STL_DEBUG_USE_DISTINCT_VALUE_TYPE_HELPERS ++# ifdef _STLP_DEBUG_USE_DISTINCT_VALUE_TYPE_HELPERS + template + inline _Value* +-__VALUE_TYPE(const _DBG_iter_base< __STL_DBG_TREE_SUPER >&) { ++value_type(const _DBG_iter_base< _STLP_DBG_TREE_SUPER >&) { + return (_Value*)0; + } + template + inline bidirectional_iterator_tag +-__ITERATOR_CATEGORY(const _DBG_iter_base< __STL_DBG_TREE_SUPER >&) { ++iterator_category(const _DBG_iter_base< _STLP_DBG_TREE_SUPER >&) { + return bidirectional_iterator_tag(); + } + # endif + + template +-class _DBG_Rb_tree : public __STL_DBG_TREE_SUPER { +- typedef __STL_DBG_TREE_SUPER _Base; ++ _STLP_DBG_ALLOCATOR_SELECT(_Value) > ++class _DBG_Rb_tree : public _STLP_DBG_TREE_SUPER { ++ typedef _STLP_DBG_TREE_SUPER _Base; + typedef _DBG_Rb_tree<_Key, _Value, _KeyOfValue, _Compare, _Alloc> _Self; + protected: + friend class __owned_link; +@@ -72,20 +72,20 @@ + typedef _DBG_iter<_Base, _Nonconst_traits > iterator; + typedef _DBG_iter<_Base, _Const_traits > const_iterator; + +- __STL_DECLARE_BIDIRECTIONAL_REVERSE_ITERATORS; ++ _STLP_DECLARE_BIDIRECTIONAL_REVERSE_ITERATORS; + + public: + const _Base* _Get_base() const { return (const _Base*)this; } + _Base* _Get_base() { return (_Base*)this; } + +- _DBG_Rb_tree() : __STL_DBG_TREE_SUPER(), ++ _DBG_Rb_tree() : _STLP_DBG_TREE_SUPER(), + _M_iter_list(_Get_base()) {} + _DBG_Rb_tree(const _Compare& __comp) : +- __STL_DBG_TREE_SUPER(__comp), _M_iter_list(_Get_base()) {} ++ _STLP_DBG_TREE_SUPER(__comp), _M_iter_list(_Get_base()) {} + _DBG_Rb_tree(const _Compare& __comp, const allocator_type& __a): +- __STL_DBG_TREE_SUPER(__comp, __a), _M_iter_list(_Get_base()) {} ++ _STLP_DBG_TREE_SUPER(__comp, __a), _M_iter_list(_Get_base()) {} + _DBG_Rb_tree(const _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& __x): +- __STL_DBG_TREE_SUPER(__x), _M_iter_list(_Get_base()) {} ++ _STLP_DBG_TREE_SUPER(__x), _M_iter_list(_Get_base()) {} + ~_DBG_Rb_tree() { _Invalidate_all(); } + + _Self& operator=(const _Self& __x) { +@@ -110,8 +110,8 @@ + return const_reverse_iterator(begin()); + } + void swap(_Self& __t) { +- _M_iter_list._Swap_owners(__t._M_iter_list, true); + _Base::swap(__t); ++ _M_iter_list._Swap_owners(__t._M_iter_list); + } + + public: +@@ -147,11 +147,11 @@ + } + + pair insert_unique(const value_type& __x) { +-# ifdef __GNUC__ +- __STLPORT_STD::pair ++# ifndef _STLP_MSVC ++ _STLP_STD::pair + # else + // MSVC fails on typename here +- __STLPORT_STD::pair<_Base::iterator, bool> ++ _STLP_STD::pair<_Base::iterator, bool> + # endif + __res = _Base::insert_unique(__x); + return pair( iterator(&_M_iter_list, __res.first), __res.second ) ; +@@ -161,24 +161,24 @@ + } + + iterator insert_unique(iterator __position, const value_type& __x) { +- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__position)) ++ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__position)) + return iterator(&_M_iter_list, _Base::insert_unique(__position._M_iterator, __x)); + } + iterator insert_equal(iterator __position, const value_type& __x) { +- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__position)) ++ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__position)) + return iterator(&_M_iter_list, _Base::insert_equal(__position._M_iterator, __x)); + } + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + template + void insert_equal(_II __first, _II __last) { + _Base::insert_equal(__first, __last); + } + template + void insert_unique(_II __first, _II __last) { +- _Base::insert_equal(__first, __last); ++ _Base::insert_unique(__first, __last); + } +-#else /* __STL_MEMBER_TEMPLATES */ ++#else /* _STLP_MEMBER_TEMPLATES */ + void insert_unique(const_iterator __first, const_iterator __last) { + _Base::insert_unique(__first._M_iterator, __last._M_iterator); + } +@@ -191,11 +191,11 @@ + void insert_equal(const value_type* __first, const value_type* __last) { + _Base::insert_equal(__first, __last); + } +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + void erase(iterator __position) { +- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__position)) +- __STL_DEBUG_CHECK(_Dereferenceable(__position)) ++ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__position)) ++ _STLP_DEBUG_CHECK(_Dereferenceable(__position)) + _Invalidate_iterator(__position); + _Base::erase(__position._M_iterator); + } +@@ -204,6 +204,8 @@ + } + + void erase(iterator __first, iterator __last) { ++ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __first)&& ++ __check_if_owner(&_M_iter_list, __last)) + _Base::erase(__first._M_iterator, __last._M_iterator); + } + void erase(const key_type* __first, const key_type* __last) { +@@ -216,7 +218,7 @@ + } + }; + +-#ifdef __STL_EXTRA_OPERATORS_FOR_DEBUG ++#ifdef _STLP_EXTRA_OPERATORS_FOR_DEBUG + + template +@@ -238,7 +240,7 @@ + __y.begin(), __y.end()); + } + +-#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE ++#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE + + template +@@ -272,11 +274,11 @@ + return !(__x < __y); + } + +-#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ +-#endif /* __STL_EXTRA_OPERATORS_FOR_DEBUG */ ++#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ ++#endif /* _STLP_EXTRA_OPERATORS_FOR_DEBUG */ + + +-#ifdef __STL_FUNCTION_TMPL_PARTIAL_ORDER ++#ifdef _STLP_FUNCTION_TMPL_PARTIAL_ORDER + template + inline void +@@ -285,13 +287,13 @@ + { + __x.swap(__y); + } +-#endif /* __STL_FUNCTION_TMPL_PARTIAL_ORDER */ ++#endif /* _STLP_FUNCTION_TMPL_PARTIAL_ORDER */ + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-# undef __STL_DBG_TREE_SUPER ++# undef _STLP_DBG_TREE_SUPER + +-#endif /* __SGI_STL_INTERNAL_DBG_TREE_H */ ++#endif /* _STLP_INTERNAL_DBG_TREE_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/debug/_vector.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/debug/_vector.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/debug/_vector.h Sat Feb 24 10:45:21 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/debug/_vector.h Sun Aug 11 18:59:25 2002 +@@ -27,30 +27,29 @@ + * You should not attempt to use it directly. + */ + +-#ifndef __SGI_STL_INTERNAL_DBG_VECTOR_H +-#define __SGI_STL_INTERNAL_DBG_VECTOR_H ++#ifndef _STLP_INTERNAL_DBG_VECTOR_H ++#define _STLP_INTERNAL_DBG_VECTOR_H + + #include + +-# ifndef __STL_USE_WRAPPER_FOR_ALLOC_PARAM ++# ifndef _STLP_USE_WRAPPER_FOR_ALLOC_PARAM + # undef _DBG_vector + # define _DBG_vector vector + # endif + +-# define __STL_DBG_VECTOR_BASE __WORKAROUND_DBG_RENAME(vector) <_Tp, _Alloc> ++# define _STLP_DBG_VECTOR_BASE __WORKAROUND_DBG_RENAME(vector) <_Tp, _Alloc> + ++_STLP_BEGIN_NAMESPACE + +-__STL_BEGIN_NAMESPACE +- +-# ifdef __STL_DEBUG_USE_DISTINCT_VALUE_TYPE_HELPERS ++# ifdef _STLP_DEBUG_USE_DISTINCT_VALUE_TYPE_HELPERS + template + inline _Tp* +-__VALUE_TYPE(const _DBG_iter_base< __STL_DBG_VECTOR_BASE >&) { ++value_type(const _DBG_iter_base< _STLP_DBG_VECTOR_BASE >&) { + return (_Tp*)0; + } + template + inline random_access_iterator_tag +-__ITERATOR_CATEGORY(const _DBG_iter_base< __STL_DBG_VECTOR_BASE >&) { ++iterator_category(const _DBG_iter_base< _STLP_DBG_VECTOR_BASE >&) { + return random_access_iterator_tag(); + } + # endif +@@ -75,7 +74,7 @@ + typedef _Vector_nonconst_traits<_Tp, _NcIt> _Non_const_traits; + }; + +-__STL_TEMPLATE_NULL ++_STLP_TEMPLATE_NULL + struct _Vector_nonconst_traits + { + typedef _Bit_iterator::value_type value_type; +@@ -84,7 +83,7 @@ + typedef _Vector_nonconst_traits _Non_const_traits; + }; + +-__STL_TEMPLATE_NULL ++_STLP_TEMPLATE_NULL + struct _Vector_const_traits + { + typedef _Bit_const_iterator::value_type value_type; +@@ -93,22 +92,13 @@ + typedef _Vector_nonconst_traits _Non_const_traits; + }; + +-template +-class _DBG_vector : public __STL_DBG_VECTOR_BASE { ++template ++class _DBG_vector : public _STLP_DBG_VECTOR_BASE { + private: +- typedef __STL_DBG_VECTOR_BASE _Base; ++ typedef _STLP_DBG_VECTOR_BASE _Base; + typedef _DBG_vector<_Tp, _Alloc> _Self; + mutable __owned_list _M_iter_list; + +-protected: +-#if defined( __STL_HAS_NAMESPACES ) +- __STL_USING_BASE_MEMBER __STL_DBG_VECTOR_BASE::_M_start; +- __STL_USING_BASE_MEMBER __STL_DBG_VECTOR_BASE::_M_finish; +- __STL_USING_BASE_MEMBER __STL_DBG_VECTOR_BASE::_M_end_of_storage; +-public: +- __STL_USING_BASE_MEMBER __STL_DBG_VECTOR_BASE::empty; +-#endif /* __STL_HAS_NAMESPACES */ +- + public: + + __IMPORT_CONTAINER_TYPEDEFS(_Base) +@@ -119,12 +109,12 @@ + typedef _DBG_iter<_Base, + _Vector_const_traits > const_iterator; + +- __STL_DECLARE_RANDOM_ACCESS_REVERSE_ITERATORS; ++ _STLP_DECLARE_RANDOM_ACCESS_REVERSE_ITERATORS; + + iterator begin() { return iterator(&_M_iter_list, this->_M_start); } +- const_iterator begin() const { return const_iterator(&_M_iter_list, _M_start); } +- iterator end() { return iterator(&_M_iter_list, _M_finish); } +- const_iterator end() const { return const_iterator(&_M_iter_list, _M_finish); } ++ const_iterator begin() const { return const_iterator(&_M_iter_list, this->_M_start); } ++ iterator end() { return iterator(&_M_iter_list, this->_M_finish); } ++ const_iterator end() const { return const_iterator(&_M_iter_list, this->_M_finish); } + + reverse_iterator rbegin() + { return reverse_iterator(end()); } +@@ -136,12 +126,12 @@ + { return const_reverse_iterator(begin()); } + + reference operator[](size_type __n) { +- __STL_VERBOSE_ASSERT(__n < _Base::size(), _StlMsg_OUT_OF_BOUNDS) ++ _STLP_VERBOSE_ASSERT(__n < _Base::size(), _StlMsg_OUT_OF_BOUNDS) + return _Base::operator[](__n); + } + + const_reference operator[](size_type __n) const { +- __STL_VERBOSE_ASSERT(__n < _Base::size(), _StlMsg_OUT_OF_BOUNDS) ++ _STLP_VERBOSE_ASSERT(__n < _Base::size(), _StlMsg_OUT_OF_BOUNDS) + return _Base::operator[](__n); + } + +@@ -149,41 +139,42 @@ + const _Base* _Get_base() const { return (const _Base*)this; } + + explicit _DBG_vector(const allocator_type& __a = allocator_type()) +- : __STL_DBG_VECTOR_BASE(__a), _M_iter_list((const _Base*)this) {} ++ : _STLP_DBG_VECTOR_BASE(__a), _M_iter_list((const _Base*)this) {} + + _DBG_vector(size_type __n, const _Tp& __value, + const allocator_type& __a = allocator_type()) +- : __STL_DBG_VECTOR_BASE(__n, __value, __a), _M_iter_list((const _Base*)this) {} ++ : _STLP_DBG_VECTOR_BASE(__n, __value, __a), _M_iter_list((const _Base*)this) {} + + explicit _DBG_vector(size_type __n) +- : __STL_DBG_VECTOR_BASE(__n), _M_iter_list((const _Base*)this) {} ++ : _STLP_DBG_VECTOR_BASE(__n), _M_iter_list((const _Base*)this) {} + + + _DBG_vector(const _Self& __x) +- : __STL_DBG_VECTOR_BASE(__x), _M_iter_list((const _Base*)this) {} ++ : _STLP_DBG_VECTOR_BASE(__x), _M_iter_list((const _Base*)this) {} + +-#ifdef __STL_MEMBER_TEMPLATES ++#if defined (_STLP_MEMBER_TEMPLATES) ++# ifdef _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS + template + _DBG_vector(_InputIterator __first, _InputIterator __last): +- __STL_DBG_VECTOR_BASE(__first, __last), _M_iter_list((const _Base*)this) {} +- ++ _STLP_DBG_VECTOR_BASE(__first, __last), _M_iter_list((const _Base*)this) {} ++# endif + template + _DBG_vector(_InputIterator __first, _InputIterator __last, +- const allocator_type& __a) : +- __STL_DBG_VECTOR_BASE(__first, __last, __a), _M_iter_list((const _Base*)this) {} ++ const allocator_type& __a _STLP_ALLOCATOR_TYPE_DFL) : ++ _STLP_DBG_VECTOR_BASE(__first, __last, __a), _M_iter_list((const _Base*)this) {} + + #else + _DBG_vector(const _Tp* __first, const _Tp* __last, + const allocator_type& __a = allocator_type()) +- : __STL_DBG_VECTOR_BASE(__first, __last, __a), _M_iter_list((const _Base*)this) {} ++ : _STLP_DBG_VECTOR_BASE(__first, __last, __a), _M_iter_list((const _Base*)this) {} + + // mysterious VC++ bug ? + _DBG_vector(const_iterator __first, const_iterator __last , + const allocator_type& __a = allocator_type()) +- : __STL_DBG_VECTOR_BASE(__first._M_iterator, __last._M_iterator, __a), ++ : _STLP_DBG_VECTOR_BASE(__first._M_iterator, __last._M_iterator, __a), + _M_iter_list((const _Base*)this) { } + +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + _Self& operator=(const _Self& __x) { + _M_iter_list._Invalidate_all(); +@@ -211,68 +202,72 @@ + } + + iterator insert(iterator __position, const _Tp& __x) { +- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) ++ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) + return iterator(&_M_iter_list, _Base::insert(__position._M_iterator, __x)); + } + + iterator insert(iterator __position) { +- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) ++ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) + return iterator(&_M_iter_list, _Base::insert(__position._M_iterator)); + } + +-#ifdef __STL_MEMBER_TEMPLATES ++#ifdef _STLP_MEMBER_TEMPLATES + // Check whether it's an integral type. If so, it's not an iterator. + template + void insert(iterator __position, _InputIterator __first, _InputIterator __last) { +- __STL_DEBUG_CHECK(__check_range(__first,__last)) +- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) ++ _STLP_DEBUG_CHECK(__check_range(__first,__last)) ++ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) + _Base::insert(__position._M_iterator, __first, __last); + } +-#else /* __STL_MEMBER_TEMPLATES */ ++#else /* _STLP_MEMBER_TEMPLATES */ + void insert(iterator __position, + const_iterator __first, const_iterator __last) { +- __STL_DEBUG_CHECK(__check_range(__first,__last)) +- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) ++ _STLP_DEBUG_CHECK(__check_range(__first,__last)) ++ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) + _Base::insert(__position._M_iterator, + __first._M_iterator, __last._M_iterator); + } + + void insert (iterator __position, const_pointer __first, const_pointer __last) { +- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) +- __STL_DEBUG_CHECK(__check_range(__first,__last)) ++ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) ++ _STLP_DEBUG_CHECK(__check_range(__first,__last)) + _Base::insert(__position._M_iterator, __first, __last); + } +-#endif /* __STL_MEMBER_TEMPLATES */ ++#endif /* _STLP_MEMBER_TEMPLATES */ + + void insert (iterator __position, size_type __n, const _Tp& __x){ +- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) ++ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) + _Base::insert(__position._M_iterator, __n, __x); + } + + void pop_back() { +- __STL_VERBOSE_ASSERT(!empty(), _StlMsg_EMPTY_CONTAINER) ++ _STLP_VERBOSE_ASSERT(!this->empty(), _StlMsg_EMPTY_CONTAINER) + __invalidate_iterator(&_M_iter_list,end()); + _Base::pop_back(); + } + iterator erase(iterator __position) { +- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) +- __STL_VERBOSE_ASSERT(__position._M_iterator !=_M_finish,_StlMsg_ERASE_PAST_THE_END) +- __invalidate_range(&_M_iter_list, __position, end()); ++ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) ++ _STLP_VERBOSE_ASSERT(__position._M_iterator !=this->_M_finish,_StlMsg_ERASE_PAST_THE_END) ++ __invalidate_range(&_M_iter_list, __position+1, end()); + return iterator(&_M_iter_list,_Base::erase(__position._M_iterator)); + } + iterator erase(iterator __first, iterator __last) { +- __STL_DEBUG_CHECK(__check_range(__first,__last,begin(), end())) +- __invalidate_range(&_M_iter_list, __first, end()); ++ _STLP_DEBUG_CHECK(__check_range(__first,__last, begin(), end())) ++ __invalidate_range(&_M_iter_list, __first._M_iterator == this->_M_finish ? ++ __first : __first+1, end()); + return iterator(&_M_iter_list, _Base::erase(__first._M_iterator, __last._M_iterator)); + } +- + void clear() { + _M_iter_list._Invalidate_all(); + _Base::clear(); + } ++ void push_back(const _Tp& __x) { ++ if (size()+1 > capacity()) _M_iter_list._Invalidate_all(); ++ _Base::push_back(__x); ++ } + }; + +-#ifdef __STL_FUNCTION_TMPL_PARTIAL_ORDER ++#ifdef _STLP_FUNCTION_TMPL_PARTIAL_ORDER + + template + inline void swap(_DBG_vector<_Tp, _Alloc>& __x, _DBG_vector<_Tp, _Alloc>& __y) +@@ -280,27 +275,27 @@ + __x.swap(__y); + } + +-#endif /* __STL_FUNCTION_TMPL_PARTIAL_ORDER */ ++#endif /* _STLP_FUNCTION_TMPL_PARTIAL_ORDER */ + +-#ifdef __STL_EXTRA_OPERATORS_FOR_DEBUG ++#ifdef _STLP_EXTRA_OPERATORS_FOR_DEBUG + + template + inline bool + operator==(const _DBG_vector<_Tp, _Alloc>& __x, const _DBG_vector<_Tp, _Alloc>& __y) + { +- return (const __STL_DBG_VECTOR_BASE&)__x == +- (const __STL_DBG_VECTOR_BASE&)__y; ++ return (const _STLP_DBG_VECTOR_BASE&)__x == ++ (const _STLP_DBG_VECTOR_BASE&)__y; + } + + template + inline bool + operator<(const _DBG_vector<_Tp, _Alloc>& __x, const _DBG_vector<_Tp, _Alloc>& __y) + { +- return (const __STL_DBG_VECTOR_BASE&)__x < +- (const __STL_DBG_VECTOR_BASE&)__y; ++ return (const _STLP_DBG_VECTOR_BASE&)__x < ++ (const _STLP_DBG_VECTOR_BASE&)__y; + } + +-#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE ++#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE + + template + inline bool +@@ -326,20 +321,20 @@ + return !(__x < __y); + } + +-#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ ++#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ + + # endif /* BASE_MATCH_BUG */ + +-# if defined (__STL_USE_TEMPLATE_EXPORT) +- __STL_EXPORT_TEMPLATE_CLASS _DBG_vector >; +-# endif /* __STL_USE_TEMPLATE_EXPORT */ ++# if defined (_STLP_USE_TEMPLATE_EXPORT) ++ _STLP_EXPORT_TEMPLATE_CLASS _DBG_vector >; ++# endif /* _STLP_USE_TEMPLATE_EXPORT */ + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-# undef __STL_DBG_VECTOR_BASE ++# undef _STLP_DBG_VECTOR_BASE + # undef _DBG_vector + +-#endif /* __SGI_STL_DBG_VECTOR_H */ ++#endif /* _STLP_DBG_VECTOR_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/msl_string.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/msl_string.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/msl_string.h Sat Feb 24 10:44:36 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/msl_string.h Sun Aug 11 18:59:25 2002 +@@ -11,8 +11,8 @@ + * purpose. It is provided "as is" without express or implied warranty. + * + */ +-#if defined( __STL_USE_MSIPL ) && !defined( __SGI_STL_MSL_STRING_H_ ) +-#define __SGI_STL_MSL_STRING_H_ ++#if defined( _STLP_USE_MSIPL ) && !defined( _STLP_MSL_STRING_H_ ) ++#define _STLP_MSL_STRING_H_ + + //# define char_traits __msl_char_traits + # define basic_string __msl_basic_string +@@ -29,7 +29,7 @@ + template class basic_ostream; + } + +-# include __STL_NATIVE_HEADER(string) ++# include _STLP_NATIVE_HEADER(string) + // # undef char_traits + # undef basic_string + # undef b_str_ref +Only in tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl: stdio_streambuf +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/type_traits.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/type_traits.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/type_traits.h Sat Feb 24 10:44:37 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/type_traits.h Sun Aug 11 18:59:25 2002 +@@ -20,8 +20,8 @@ + * + */ + +-#ifndef __TYPE_TRAITS_H +-#define __TYPE_TRAITS_H ++#ifndef _STLP_TYPE_TRAITS_H ++#define _STLP_TYPE_TRAITS_H + + /* + This header file provides a framework for allowing compile time dispatch +@@ -55,33 +55,41 @@ + } + */ + ++#ifdef __WATCOMC__ ++# include ++#endif ++ ++_STLP_BEGIN_NAMESPACE ++ ++struct __true_type {}; ++struct __false_type {}; + +-struct __true_type { ++ ++template struct __bool2type { ++ typedef __false_type _Ret; + }; + +-struct __false_type { ++_STLP_TEMPLATE_NULL ++struct __bool2type<1> { typedef __true_type _Ret; }; ++ ++_STLP_TEMPLATE_NULL ++struct __bool2type<0> { typedef __false_type _Ret; }; ++ ++// logical end of 3 predicated ++template ++struct _Land3 { ++ typedef __false_type _Ret; + }; + +-template +-struct __type_traits { +- typedef __true_type this_dummy_member_must_be_first; +- /* Do not remove this member. It informs a compiler which +- automatically specializes __type_traits that this +- __type_traits template is special. It just makes sure that +- things work if an implementation is using a template +- called __type_traits for something unrelated. */ ++_STLP_TEMPLATE_NULL ++struct _Land3<__true_type, __true_type, __true_type> { ++ typedef __true_type _Ret; ++}; + +- /* The following restrictions should be observed for the sake of +- compilers which automatically produce type specific specializations +- of this class: +- - You may reorder the members below if you wish +- - You may remove any of the members below if you wish +- - You must not rename members without making the corresponding +- name change in the compiler +- - Members you add will be treated like regular members unless +- you add the appropriate support in the compiler. */ +- + ++// Forward declarations. ++template struct __type_traits; ++template struct __type_traits_aux { + typedef __false_type has_trivial_default_constructor; + typedef __false_type has_trivial_copy_constructor; + typedef __false_type has_trivial_assignment_operator; +@@ -89,23 +97,17 @@ + typedef __false_type is_POD_type; + }; + +-// Provide some specializations. This is harmless for compilers that +-// have built-in __types_traits support, and essential for compilers +-// that don't. +- +-#ifndef __STL_NO_BOOL +- +-__STL_TEMPLATE_NULL struct __type_traits { +- typedef __true_type has_trivial_default_constructor; +- typedef __true_type has_trivial_copy_constructor; +- typedef __true_type has_trivial_assignment_operator; +- typedef __true_type has_trivial_destructor; +- typedef __true_type is_POD_type; ++_STLP_TEMPLATE_NULL ++struct __type_traits_aux<0> { ++ typedef __false_type has_trivial_default_constructor; ++ typedef __false_type has_trivial_copy_constructor; ++ typedef __false_type has_trivial_assignment_operator; ++ typedef __false_type has_trivial_destructor; ++ typedef __false_type is_POD_type; + }; + +-#endif /* __STL_NO_BOOL */ +- +-__STL_TEMPLATE_NULL struct __type_traits { ++_STLP_TEMPLATE_NULL ++struct __type_traits_aux<1> { + typedef __true_type has_trivial_default_constructor; + typedef __true_type has_trivial_copy_constructor; + typedef __true_type has_trivial_assignment_operator; +@@ -113,143 +115,165 @@ + typedef __true_type is_POD_type; + }; + +-#ifndef __STL_NO_SIGNED_BUILTINS ++# ifdef _STLP_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS + +-__STL_TEMPLATE_NULL struct __type_traits { +- typedef __true_type has_trivial_default_constructor; +- typedef __true_type has_trivial_copy_constructor; +- typedef __true_type has_trivial_assignment_operator; +- typedef __true_type has_trivial_destructor; +- typedef __true_type is_POD_type; ++// Boris : simulation technique is used here according to Adobe Open Source License Version 1.0. ++// Copyright 2000 Adobe Systems Incorporated and others. All rights reserved. ++// Authors: Mat Marcus and Jesse Jones ++// The original version of this source code may be found at ++// http://opensource.adobe.com. ++ ++struct _PointerShim { ++ // Since the compiler only allows at most one non-trivial ++ // implicit conversion we can make use of a shim class to ++ // be sure that IsPtr below doesn't accept classes with ++ // implicit pointer conversion operators ++ _PointerShim(const volatile void*); // no implementation + }; + +-# endif ++// These are the discriminating functions + +-__STL_TEMPLATE_NULL struct __type_traits { +- typedef __true_type has_trivial_default_constructor; +- typedef __true_type has_trivial_copy_constructor; +- typedef __true_type has_trivial_assignment_operator; +- typedef __true_type has_trivial_destructor; +- typedef __true_type is_POD_type; +-}; ++char _STLP_CALL _IsP(bool, _PointerShim); // no implementation is required ++char* _STLP_CALL _IsP(bool, ...); // no implementation is required + +-#if defined ( __STL_HAS_WCHAR_T ) && ! defined (__STL_WCHAR_T_IS_USHORT) ++template ++char _STLP_CALL _IsSameFun(bool, _Tp*, _Tp*); // no implementation is required ++char* _STLP_CALL _IsSameFun(bool, ...); // no implementation is required + +-__STL_TEMPLATE_NULL struct __type_traits { +- typedef __true_type has_trivial_default_constructor; +- typedef __true_type has_trivial_copy_constructor; +- typedef __true_type has_trivial_assignment_operator; +- typedef __true_type has_trivial_destructor; +- typedef __true_type is_POD_type; ++template ++struct _IsSame { ++ static _Tp1& __null_rep1(); ++ static _Tp2& __null_rep2(); ++ enum { _Ret = (sizeof(_IsSameFun(false,__null_rep1(),__null_rep2())) == sizeof(char)) }; + }; + +-#endif /* __STL_HAS_WCHAR_T */ ++template ++struct _IsPtr { ++ ++ // This template meta function takes a type T ++ // and returns true exactly when T is a pointer. ++ // One can imagine meta-functions discriminating on ++ // other criteria. ++ static _Tp& __null_rep(); ++ enum { _Ret = (sizeof(_IsP(false,__null_rep())) == sizeof(char)) }; + +-__STL_TEMPLATE_NULL struct __type_traits { +- typedef __true_type has_trivial_default_constructor; +- typedef __true_type has_trivial_copy_constructor; +- typedef __true_type has_trivial_assignment_operator; +- typedef __true_type has_trivial_destructor; +- typedef __true_type is_POD_type; + }; + +-__STL_TEMPLATE_NULL struct __type_traits { +- typedef __true_type has_trivial_default_constructor; +- typedef __true_type has_trivial_copy_constructor; +- typedef __true_type has_trivial_assignment_operator; +- typedef __true_type has_trivial_destructor; +- typedef __true_type is_POD_type; ++template ++struct _IsPtrType { ++ enum { _Is = _IsPtr<_Tp>::_Ret } ; ++ typedef __bool2type< _Is > _BT; ++ typedef typename _BT::_Ret _Type; ++ static _Type _Ret() { return _Type(); } ++}; ++ ++template ++struct _BothPtrType { ++ typedef __bool2type< _IsPtr<_Tp1>::_Ret> _B1; ++ typedef __bool2type< _IsPtr<_Tp2>::_Ret> _B2; ++ typedef typename _B1::_Ret _Type1; ++ typedef typename _B2::_Ret _Type2; ++ typedef typename _Land3<_Type1, _Type2, __true_type>::_Ret _Type; ++ static _Type _Ret() { return _Type(); } + }; + +-__STL_TEMPLATE_NULL struct __type_traits { +- typedef __true_type has_trivial_default_constructor; +- typedef __true_type has_trivial_copy_constructor; +- typedef __true_type has_trivial_assignment_operator; +- typedef __true_type has_trivial_destructor; +- typedef __true_type is_POD_type; +-}; ++// we make general case dependant on the fact the type is actually a pointer. ++ ++template ++struct __type_traits : __type_traits_aux<_IsPtr<_Tp>::_Ret> {}; + +-__STL_TEMPLATE_NULL struct __type_traits { +- typedef __true_type has_trivial_default_constructor; +- typedef __true_type has_trivial_copy_constructor; +- typedef __true_type has_trivial_assignment_operator; +- typedef __true_type has_trivial_destructor; +- typedef __true_type is_POD_type; +-}; ++# else + +-__STL_TEMPLATE_NULL struct __type_traits { +- typedef __true_type has_trivial_default_constructor; +- typedef __true_type has_trivial_copy_constructor; +- typedef __true_type has_trivial_assignment_operator; +- typedef __true_type has_trivial_destructor; +- typedef __true_type is_POD_type; +-}; ++template ++struct __type_traits { ++ typedef __true_type this_dummy_member_must_be_first; ++ /* Do not remove this member. It informs a compiler which ++ automatically specializes __type_traits that this ++ __type_traits template is special. It just makes sure that ++ things work if an implementation is using a template ++ called __type_traits for something unrelated. */ + +-__STL_TEMPLATE_NULL struct __type_traits { +- typedef __true_type has_trivial_default_constructor; +- typedef __true_type has_trivial_copy_constructor; +- typedef __true_type has_trivial_assignment_operator; +- typedef __true_type has_trivial_destructor; +- typedef __true_type is_POD_type; ++ /* The following restrictions should be observed for the sake of ++ compilers which automatically produce type specific specializations ++ of this class: ++ - You may reorder the members below if you wish ++ - You may remove any of the members below if you wish ++ - You must not rename members without making the corresponding ++ name change in the compiler ++ - Members you add will be treated like regular members unless ++ you add the appropriate support in the compiler. */ ++ typedef __false_type has_trivial_default_constructor; ++ typedef __false_type has_trivial_copy_constructor; ++ typedef __false_type has_trivial_assignment_operator; ++ typedef __false_type has_trivial_destructor; ++ typedef __false_type is_POD_type; + }; + +-#ifdef __STL_LONG_LONG + +-__STL_TEMPLATE_NULL struct __type_traits { +- typedef __true_type has_trivial_default_constructor; +- typedef __true_type has_trivial_copy_constructor; +- typedef __true_type has_trivial_assignment_operator; +- typedef __true_type has_trivial_destructor; +- typedef __true_type is_POD_type; ++template struct _IsPtr { enum { _Ret = 0 }; }; ++template struct _IsPtrType { ++ static __false_type _Ret() { return __false_type();} + }; +- +-__STL_TEMPLATE_NULL struct __type_traits { +- typedef __true_type has_trivial_default_constructor; +- typedef __true_type has_trivial_copy_constructor; +- typedef __true_type has_trivial_assignment_operator; +- typedef __true_type has_trivial_destructor; +- typedef __true_type is_POD_type; ++template struct _BothPtrType { ++ static __false_type _Ret() { return __false_type();} + }; + +-#endif /* __STL_LONG_LONG */ ++template ++struct _IsSame { enum { _Ret = 0 }; }; + +-__STL_TEMPLATE_NULL struct __type_traits { +- typedef __true_type has_trivial_default_constructor; +- typedef __true_type has_trivial_copy_constructor; +- typedef __true_type has_trivial_assignment_operator; +- typedef __true_type has_trivial_destructor; +- typedef __true_type is_POD_type; +-}; ++// template ++// struct _IsSameType { static __false_type _Ret() { return __false_type(); } }; + +-__STL_TEMPLATE_NULL struct __type_traits { +- typedef __true_type has_trivial_default_constructor; +- typedef __true_type has_trivial_copy_constructor; +- typedef __true_type has_trivial_assignment_operator; +- typedef __true_type has_trivial_destructor; +- typedef __true_type is_POD_type; ++# ifdef _STLP_CLASS_PARTIAL_SPECIALIZATION ++template struct _IsPtr<_Tp*> { enum { _Ret = 1 }; }; ++template struct _IsPtrType<_Tp*> { ++ static __true_type _Ret() { return __true_type();} + }; +- +-# if !defined ( __STL_NO_LONG_DOUBLE ) +-__STL_TEMPLATE_NULL struct __type_traits { +- typedef __true_type has_trivial_default_constructor; +- typedef __true_type has_trivial_copy_constructor; +- typedef __true_type has_trivial_assignment_operator; +- typedef __true_type has_trivial_destructor; +- typedef __true_type is_POD_type; ++template struct _BothPtrType<_Tp1*, _Tp2*> { ++ static __true_type _Ret() { return __true_type();} + }; ++template ++struct _IsSame<_Tp, _Tp> { enum { _Ret = 1 }; }; ++# endif ++ ++# endif /* _STLP_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS */ ++ ++// Provide some specializations. This is harmless for compilers that ++// have built-in __types_traits support, and essential for compilers ++// that don't. ++#ifndef _STLP_NO_BOOL ++_STLP_TEMPLATE_NULL struct __type_traits : __type_traits_aux<1> {}; ++#endif /* _STLP_NO_BOOL */ ++_STLP_TEMPLATE_NULL struct __type_traits : __type_traits_aux<1> {}; ++#ifndef _STLP_NO_SIGNED_BUILTINS ++_STLP_TEMPLATE_NULL struct __type_traits : __type_traits_aux<1> {}; + # endif ++_STLP_TEMPLATE_NULL struct __type_traits : __type_traits_aux<1> {}; ++#if defined ( _STLP_HAS_WCHAR_T ) && ! defined (_STLP_WCHAR_T_IS_USHORT) ++_STLP_TEMPLATE_NULL struct __type_traits : __type_traits_aux<1> {}; ++#endif /* _STLP_HAS_WCHAR_T */ ++ ++_STLP_TEMPLATE_NULL struct __type_traits : __type_traits_aux<1> {}; ++_STLP_TEMPLATE_NULL struct __type_traits : __type_traits_aux<1> {}; ++_STLP_TEMPLATE_NULL struct __type_traits : __type_traits_aux<1> {}; ++_STLP_TEMPLATE_NULL struct __type_traits : __type_traits_aux<1> {}; ++_STLP_TEMPLATE_NULL struct __type_traits : __type_traits_aux<1> {}; ++_STLP_TEMPLATE_NULL struct __type_traits : __type_traits_aux<1> {}; ++ ++#ifdef _STLP_LONG_LONG ++_STLP_TEMPLATE_NULL struct __type_traits<_STLP_LONG_LONG> : __type_traits_aux<1> {}; ++_STLP_TEMPLATE_NULL struct __type_traits : __type_traits_aux<1> {}; ++#endif /* _STLP_LONG_LONG */ + +-#ifdef __STL_CLASS_PARTIAL_SPECIALIZATION +-template +-struct __type_traits<_Tp*> { +- typedef __true_type has_trivial_default_constructor; +- typedef __true_type has_trivial_copy_constructor; +- typedef __true_type has_trivial_assignment_operator; +- typedef __true_type has_trivial_destructor; +- typedef __true_type is_POD_type; +-}; ++_STLP_TEMPLATE_NULL struct __type_traits : __type_traits_aux<1> {}; ++_STLP_TEMPLATE_NULL struct __type_traits : __type_traits_aux<1> {}; ++ ++# if !defined ( _STLP_NO_LONG_DOUBLE ) ++_STLP_TEMPLATE_NULL struct __type_traits : __type_traits_aux<1> {}; ++# endif + +-# define __STL_DEFINE_ARROW_OPERATOR pointer operator->() const { return &(operator*()); } ++#ifdef _STLP_CLASS_PARTIAL_SPECIALIZATION ++template struct __type_traits<_Tp*> : __type_traits_aux<1> {}; + #endif + + // The following could be written in terms of numeric_limits. +@@ -259,98 +283,135 @@ + typedef __false_type _Integral; + }; + +-#ifndef __STL_NO_BOOL ++#ifndef _STLP_NO_BOOL + +-__STL_TEMPLATE_NULL struct _Is_integer { ++_STLP_TEMPLATE_NULL struct _Is_integer { + typedef __true_type _Integral; + }; + +-#endif /* __STL_NO_BOOL */ ++#endif /* _STLP_NO_BOOL */ + +-__STL_TEMPLATE_NULL struct _Is_integer { ++_STLP_TEMPLATE_NULL struct _Is_integer { + typedef __true_type _Integral; + }; + +-#ifndef __STL_NO_SIGNED_BUILTINS ++#ifndef _STLP_NO_SIGNED_BUILTINS + +-__STL_TEMPLATE_NULL struct _Is_integer { ++_STLP_TEMPLATE_NULL struct _Is_integer { + typedef __true_type _Integral; + }; + #endif + +-__STL_TEMPLATE_NULL struct _Is_integer { ++_STLP_TEMPLATE_NULL struct _Is_integer { + typedef __true_type _Integral; + }; + +-#if defined ( __STL_HAS_WCHAR_T ) && ! defined (__STL_WCHAR_T_IS_USHORT) ++#if defined ( _STLP_HAS_WCHAR_T ) && ! defined (_STLP_WCHAR_T_IS_USHORT) + +-__STL_TEMPLATE_NULL struct _Is_integer { ++_STLP_TEMPLATE_NULL struct _Is_integer { + typedef __true_type _Integral; + }; + +-#endif /* __STL_HAS_WCHAR_T */ ++#endif /* _STLP_HAS_WCHAR_T */ + +-__STL_TEMPLATE_NULL struct _Is_integer { ++_STLP_TEMPLATE_NULL struct _Is_integer { + typedef __true_type _Integral; + }; + +-__STL_TEMPLATE_NULL struct _Is_integer { ++_STLP_TEMPLATE_NULL struct _Is_integer { + typedef __true_type _Integral; + }; + +-__STL_TEMPLATE_NULL struct _Is_integer { ++_STLP_TEMPLATE_NULL struct _Is_integer { + typedef __true_type _Integral; + }; + +-__STL_TEMPLATE_NULL struct _Is_integer { ++_STLP_TEMPLATE_NULL struct _Is_integer { + typedef __true_type _Integral; + }; + +-__STL_TEMPLATE_NULL struct _Is_integer { ++_STLP_TEMPLATE_NULL struct _Is_integer { + typedef __true_type _Integral; + }; + +-__STL_TEMPLATE_NULL struct _Is_integer { ++_STLP_TEMPLATE_NULL struct _Is_integer { + typedef __true_type _Integral; + }; + +-#ifdef __STL_LONG_LONG ++#ifdef _STLP_LONG_LONG + +-__STL_TEMPLATE_NULL struct _Is_integer { ++_STLP_TEMPLATE_NULL struct _Is_integer<_STLP_LONG_LONG> { + typedef __true_type _Integral; + }; + +-__STL_TEMPLATE_NULL struct _Is_integer { ++_STLP_TEMPLATE_NULL struct _Is_integer { + typedef __true_type _Integral; + }; + +-#endif /* __STL_LONG_LONG */ ++#endif /* _STLP_LONG_LONG */ ++ ++template ++struct _OKToMemCpy { ++ enum { _Same = _IsSame<_Tp1,_Tp2>::_Ret } ; ++ typedef typename __type_traits<_Tp1>::has_trivial_assignment_operator _Tr1; ++ typedef typename __type_traits<_Tp2>::has_trivial_assignment_operator _Tr2; ++ typedef typename __bool2type< _Same >::_Ret _Tr3; ++ typedef typename _Land3<_Tr1, _Tr2, _Tr3>::_Ret _Type; ++ static _Type _Ret() { return _Type(); } ++}; ++ ++template ++inline _OKToMemCpy<_Tp1, _Tp2> _IsOKToMemCpy(_Tp1*, _Tp2*) { ++ return _OKToMemCpy<_Tp1, _Tp2>(); ++} ++ ++template ++struct _IsPOD { ++ typedef typename __type_traits<_Tp>::is_POD_type _Type; ++ static _Type _Ret() { return _Type(); } ++}; ++ ++template ++inline _IsPOD<_Tp> _Is_POD (_Tp*) { return _IsPOD<_Tp>(); } ++ ++# ifdef _STLP_CLASS_PARTIAL_SPECIALIZATION ++# if defined (__BORLANDC__) || defined (__SUNPRO_CC) || ( defined (__MWERKS__) && (__MWERKS__ <= 0x2303)) || ( defined (__sgi) && defined (_COMPILER_VERSION)) ++# define _IS_POD_ITER(_It, _Tp) __type_traits< typename iterator_traits< _Tp >::value_type >::is_POD_type() ++# else ++# define _IS_POD_ITER(_It, _Tp) typename __type_traits< typename iterator_traits< _Tp >::value_type >::is_POD_type() ++# endif ++# else ++# define _IS_POD_ITER(_It, _Tp) _Is_POD( _STLP_VALUE_TYPE( _It, _Tp ) )._Ret() ++# endif + +-# ifdef __STL_DEFAULT_CONSTRUCTOR_BUG ++# ifdef _STLP_DEFAULT_CONSTRUCTOR_BUG + // Those adaptors are here to fix common compiler bug regarding builtins: + // expressions like int k = int() should initialize k to 0 + template +-_Tp __default_constructed_aux(_Tp*, __false_type) { +- return _Tp(); ++inline _Tp __default_constructed_aux(_Tp*, const __false_type&) { ++ return _Tp(); + } + template +-_Tp __default_constructed_aux(_Tp*, __true_type) { +- return _Tp(0); ++inline _Tp __default_constructed_aux(_Tp*, const __true_type&) { ++ return _Tp(0); + } + + template +-_Tp __default_constructed(_Tp* __p) { +- typedef typename _Is_integer<_Tp>::_Integral _Is_Integral; +- return __default_constructed_aux(__p, _Is_Integral()); ++inline _Tp __default_constructed(_Tp* __p) { ++ typedef typename _Is_integer<_Tp>::_Integral _Is_Integral; ++ return __default_constructed_aux(__p, _Is_Integral()); + } + +-# define __STL_DEFAULT_CONSTRUCTED(_TTp) __default_constructed((_TTp*)0) ++# define _STLP_DEFAULT_CONSTRUCTED(_TTp) __default_constructed((_TTp*)0) + # else +-# define __STL_DEFAULT_CONSTRUCTED(_TTp) _TTp() ++# define _STLP_DEFAULT_CONSTRUCTED(_TTp) _TTp() + # endif + ++_STLP_END_NAMESPACE ++ + #endif /* __TYPE_TRAITS_H */ + + // Local Variables: + // mode:C++ + // End: ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/wrappers/_deque.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/wrappers/_deque.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/wrappers/_deque.h Sat Feb 24 10:45:21 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/wrappers/_deque.h Sun Aug 11 18:59:25 2002 +@@ -23,19 +23,19 @@ + * + */ + +-/* NOTE: This is an internal header file, included by other STL headers. +- * You should not attempt to use it directly. +- */ ++#ifndef _STLP_INTERNAL_DEQUE_H ++# include ++#endif + +-# if defined (__STL_DEBUG) ++# if defined (_STLP_DEBUG) + # define _DEQUE_SUPER_NAME _DBG_deque + # else + # define _DEQUE_SUPER_NAME __deque__ + # endif + +-# define _DEQUE_SUPER _DEQUE_SUPER_NAME<_Tp, __STL_DEFAULT_ALLOCATOR(_Tp) > ++# define _DEQUE_SUPER _DEQUE_SUPER_NAME<_Tp, _STLP_DEFAULT_ALLOCATOR(_Tp) > + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + + // provide a "default" deque adaptor + template +@@ -53,7 +53,7 @@ + ~deque() { } + }; + +-# if defined (__STL_BASE_MATCH_BUG) ++# if defined (_STLP_BASE_MATCH_BUG) + template + inline bool + operator==(const deque<_Tp>& __x, const deque<_Tp>& __y) { +@@ -69,7 +69,7 @@ + + # undef _DEQUE_SUPER + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/wrappers/_hash_map.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/wrappers/_hash_map.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/wrappers/_hash_map.h Sat Feb 24 10:45:21 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/wrappers/_hash_map.h Sun Aug 11 18:59:25 2002 +@@ -17,22 +17,26 @@ + * You should not attempt to use it directly. + */ + +-#ifndef __SGI_STL_INTERNAL_WRAP_HASH_MAP_H +-#define __SGI_STL_INTERNAL_WRAP_HASH_MAP_H ++#ifndef _STLP_INTERNAL_WRAP_HASH_MAP_H ++#define _STLP_INTERNAL_WRAP_HASH_MAP_H + +-# ifdef __STL_USE_NAMESPACES ++#ifndef _STLP_INTERNAL_HASH_MAP_H ++# include ++#endif ++ ++# ifdef _STLP_USE_NAMESPACES + namespace STLPORT { + # endif + + // provide a "default" hash_map adaptor +-# if defined (__STL_MINIMUM_DEFAULT_TEMPLATE_PARAMS) ++# if defined (_STLP_MINIMUM_DEFAULT_TEMPLATE_PARAMS) + # define __HM_TEMPLATE_HEADER template + # define __HM_ARGUMENTS _Key, _Tp +-# define __HM_BASE_ARGUMENTS _Key, _Tp, hash<_Key>, equal_to<_Key>, __STL_DEFAULT_PAIR_ALLOCATOR(const _Key, _Tp) ++# define __HM_BASE_ARGUMENTS _Key, _Tp, hash<_Key>, equal_to<_Key>, _STLP_DEFAULT_PAIR_ALLOCATOR(const _Key, _Tp) + # else + # define __HM_TEMPLATE_HEADER template + # define __HM_ARGUMENTS _Key, _Tp, _HashFcn, _EqualKey +-# define __HM_BASE_ARGUMENTS _Key, _Tp, _HashFcn, _EqualKey, __STL_DEFAULT_PAIR_ALLOCATOR(const _Key, _Tp) ++# define __HM_BASE_ARGUMENTS _Key, _Tp, _HashFcn, _EqualKey, _STLP_DEFAULT_PAIR_ALLOCATOR(const _Key, _Tp) + # endif + + +@@ -66,13 +70,13 @@ + const hasher& __hf) : __HM_SUPER(__f, __l, __n, __hf) { } + hash_map(const_iterator __f, const_iterator __l, size_type __n, + const hasher& __hf, const key_equal& __eql) : __HM_SUPER(__f, __l, __n, __hf, __eql) { } +-# if defined (__STL_BASE_MATCH_BUG) +- friend inline bool operator== __STL_NULL_TMPL_ARGS (const _Self& __hm1, const _Self& __hm2); ++# if defined (_STLP_BASE_MATCH_BUG) ++ friend inline bool operator== _STLP_NULL_TMPL_ARGS (const _Self& __hm1, const _Self& __hm2); + # endif + }; + + +-# if defined (__STL_BASE_MATCH_BUG) ++# if defined (_STLP_BASE_MATCH_BUG) + __HM_TEMPLATE_HEADER + inline bool operator==(const hash_map< __HM_ARGUMENTS >& __hm1, + const hash_map< __HM_ARGUMENTS >& __hm2) +@@ -111,12 +115,12 @@ + const hasher& __hf) : __HMM_SUPER(__f, __l, __n, __hf) { } + hash_multimap(const_iterator __f, const_iterator __l, size_type __n, + const hasher& __hf, const key_equal& __eql) : __HMM_SUPER(__f, __l, __n, __hf, __eql) { } +-# if defined (__STL_BASE_MATCH_BUG) +- friend inline bool operator== __STL_NULL_TMPL_ARGS (const _Self& __hm1, const _Self& __hm2); ++# if defined (_STLP_BASE_MATCH_BUG) ++ friend inline bool operator== _STLP_NULL_TMPL_ARGS (const _Self& __hm1, const _Self& __hm2); + # endif + }; + +-# if defined (__STL_BASE_MATCH_BUG) ++# if defined (_STLP_BASE_MATCH_BUG) + __HM_TEMPLATE_HEADER + inline bool operator==(const hash_multimap< __HM_ARGUMENTS >& __hm1, + const hash_multimap< __HM_ARGUMENTS >& __hm2) +@@ -132,11 +136,11 @@ + # undef __HM_ARGUMENTS + # undef __HM_BASE_ARGUMENTS + +-# ifdef __STL_USE_NAMESPACES ++# ifdef _STLP_USE_NAMESPACES + } /* namespace STLPORT */ + # endif + +-#endif /* __SGI_STL_INTERNAL_HASH_SET_H */ ++#endif /* _STLP_INTERNAL_HASH_SET_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/wrappers/_hash_set.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/wrappers/_hash_set.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/wrappers/_hash_set.h Sat Feb 24 10:45:22 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/wrappers/_hash_set.h Sun Aug 11 18:59:25 2002 +@@ -17,21 +17,25 @@ + * You should not attempt to use it directly. + */ + +-#ifndef __SGI_STL_INTERNAL_WRAP_HASH_SET_H +-#define __SGI_STL_INTERNAL_WRAP_HASH_SET_H ++#ifndef _STLP_INTERNAL_WRAP_HASH_SET_H ++#define _STLP_INTERNAL_WRAP_HASH_SET_H + +-# ifdef __STL_USE_NAMESPACES ++#ifndef _STLP_INTERNAL_HASH_SET_H ++# include ++#endif ++ ++# ifdef _STLP_USE_NAMESPACES + namespace STLPORT { + # endif + +-# if defined (__STL_MINIMUM_DEFAULT_TEMPLATE_PARAMS) ++# if defined (_STLP_MINIMUM_DEFAULT_TEMPLATE_PARAMS) + # define __HS_TEMPLATE_HEADER template + # define __HS_ARGUMENTS _Value +-# define __HS_BASE_ARGUMENTS _Value, hash<_Value>, equal_to<_Value>, __STL_DEFAULT_ALLOCATOR(_Value) ++# define __HS_BASE_ARGUMENTS _Value, hash<_Value>, equal_to<_Value>, _STLP_DEFAULT_ALLOCATOR(_Value) + # else + # define __HS_TEMPLATE_HEADER template + # define __HS_ARGUMENTS _Value, _HashFcn, _EqualKey +-# define __HS_BASE_ARGUMENTS _Value, _HashFcn, _EqualKey, __STL_DEFAULT_ALLOCATOR(_Value) ++# define __HS_BASE_ARGUMENTS _Value, _HashFcn, _EqualKey, _STLP_DEFAULT_ALLOCATOR(_Value) + # endif + + +@@ -68,12 +72,12 @@ + const hasher& hf) : __HS_SUPER(f, l, n, hf) { } + hash_set(const_iterator f, const_iterator l, size_type n, + const hasher& hf, const key_equal& eql) : __HS_SUPER(f, l, n, hf, eql) { } +-# if defined (__STL_BASE_MATCH_BUG) +- friend inline bool operator== __STL_NULL_TMPL_ARGS (const _Self& hs1, const _Self& hs2); ++# if defined (_STLP_BASE_MATCH_BUG) ++ friend inline bool operator== _STLP_NULL_TMPL_ARGS (const _Self& hs1, const _Self& hs2); + # endif + }; + +-# if defined (__STL_BASE_MATCH_BUG) ++# if defined (_STLP_BASE_MATCH_BUG) + __HS_TEMPLATE_HEADER + inline bool operator==(const hash_set< __HS_ARGUMENTS >& hs1, + const hash_set< __HS_ARGUMENTS >& hs2) +@@ -113,18 +117,18 @@ + const hasher& __hf) : __HMS_SUPER(__f, __l, __n, __hf) { } + hash_multiset(const_iterator __f, const_iterator __l, size_type __n, + const hasher& __hf, const key_equal& __eql) : __HMS_SUPER(__f, __l, __n, __hf, __eql) { } +-# if defined (__STL_BASE_MATCH_BUG) +- friend inline bool operator== __STL_NULL_TMPL_ARGS (const _Self& __hs1, const _Self& __hs2); ++# if defined (_STLP_BASE_MATCH_BUG) ++ friend inline bool operator== _STLP_NULL_TMPL_ARGS (const _Self& __hs1, const _Self& __hs2); + # endif + }; + +-# if defined (__STL_BASE_MATCH_BUG) ++# if defined (_STLP_BASE_MATCH_BUG) + __HS_TEMPLATE_HEADER + inline bool operator==(const hash_multiset< __HS_ARGUMENTS >& __hs1, + const hash_multiset< __HS_ARGUMENTS >& __hs2) + { + typedef __HMS_SUPER __s; +- return __STLPORT_STD::operator==((const __s&)__hs1,(const __s&)__hs2); ++ return _STLP_STD::operator==((const __s&)__hs1,(const __s&)__hs2); + } + # endif + +@@ -135,11 +139,11 @@ + # undef __HS_BASE_ARGUMENTS + # undef __HS_TEMPLATE_HEADER + +-# ifdef __STL_USE_NAMESPACES ++# ifdef _STLP_USE_NAMESPACES + } /* namespace STLPORT */ + # endif + +-#endif /* __SGI_STL_INTERNAL_HASH_SET_H */ ++#endif /* _STLP_INTERNAL_HASH_SET_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/wrappers/_list.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/wrappers/_list.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/wrappers/_list.h Sat Feb 24 10:45:22 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/wrappers/_list.h Sun Aug 11 18:59:25 2002 +@@ -27,17 +27,21 @@ + * You should not attempt to use it directly. + */ + +-#ifndef __SGI_STL_INTERNAL_WRAP_LIST_H +-#define __SGI_STL_INTERNAL_WRAP_LIST_H ++#ifndef _STLP_INTERNAL_WRAP_LIST_H ++#define _STLP_INTERNAL_WRAP_LIST_H + +-# ifdef __STL_USE_NAMESPACES ++#ifndef _STLP_INTERNAL_LIST_H ++# include ++#endif ++ ++# ifdef _STLP_USE_NAMESPACES + namespace STLPORT { + # endif + +-# if defined (__STL_DEBUG) +-# define __LIST_SUPER _DBG_list<_Tp, __STL_DEFAULT_ALLOCATOR(_Tp) > ++# if defined (_STLP_DEBUG) ++# define __LIST_SUPER _DBG_list<_Tp, _STLP_DEFAULT_ALLOCATOR(_Tp) > + # else +-# define __LIST_SUPER __list__<_Tp, __STL_DEFAULT_ALLOCATOR(_Tp) > ++# define __LIST_SUPER __list__<_Tp, _STLP_DEFAULT_ALLOCATOR(_Tp) > + # endif + + +@@ -57,7 +61,7 @@ + # undef __LIST_SUPER + }; + +-# if defined (__STL_BASE_MATCH_BUG) ++# if defined (_STLP_BASE_MATCH_BUG) + template + inline bool operator==(const list<_Tp>& __x, const list<_Tp>& __y) { + typedef typename list<_Tp>::_Super _Super; +@@ -71,11 +75,11 @@ + } + # endif + +-# ifdef __STL_USE_NAMESPACES ++# ifdef _STLP_USE_NAMESPACES + } /* namespace STLPORT */ + # endif + +-#endif /* __SGI_STL_INTERNAL_LIST_H */ ++#endif /* _STLP_INTERNAL_LIST_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/wrappers/_map.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/wrappers/_map.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/wrappers/_map.h Sat Feb 24 10:45:22 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/wrappers/_map.h Sun Aug 11 18:59:25 2002 +@@ -17,14 +17,18 @@ + * You should not attempt to use it directly. + */ + +-#ifndef __SGI_STL_INTERNAL_WRAP_MAP_H +-#define __SGI_STL_INTERNAL_WRAP_MAP_H ++#ifndef _STLP_INTERNAL_WRAP_MAP_H ++#define _STLP_INTERNAL_WRAP_MAP_H + +-# ifdef __STL_USE_NAMESPACES ++#ifndef _STLP_INTERNAL_MAP_H ++# include ++#endif ++ ++# ifdef _STLP_USE_NAMESPACES + namespace STLPORT { + # endif + +-# if defined (__STL_MINIMUM_DEFAULT_TEMPLATE_PARAMS) ++# if defined (_STLP_MINIMUM_DEFAULT_TEMPLATE_PARAMS) + # define __MAP_TEMPLATE_HEADER template + # define __MAP_ARGUMENTS _Key, _Tp + # define __MMAP_TEMPLATE_HEADER template +@@ -38,8 +42,8 @@ + # endif + + +-# define __MAP_SUPER __map< _Key, _Tp, _Compare, __STL_DEFAULT_PAIR_ALLOCATOR(const _Key, _Tp) > +-# define __MMAP_SUPER __multimap< _Key, _Tp, _Compare, __STL_DEFAULT_PAIR_ALLOCATOR(const _Key, _Tp) > ++# define __MAP_SUPER __map< _Key, _Tp, _Compare, _STLP_DEFAULT_PAIR_ALLOCATOR(const _Key, _Tp) > ++# define __MMAP_SUPER __multimap< _Key, _Tp, _Compare, _STLP_DEFAULT_PAIR_ALLOCATOR(const _Key, _Tp) > + + // provide a "default" map adaptor + __MAP_TEMPLATE_HEADER +@@ -66,7 +70,7 @@ + const _Compare& __comp) : __MAP_SUPER(__first, __last, __comp) { } + }; + +-# if defined (__STL_BASE_MATCH_BUG) ++# if defined (_STLP_BASE_MATCH_BUG) + __MAP_TEMPLATE_HEADER + inline bool operator==(const map< __MAP_ARGUMENTS >& __x, + const map< __MAP_ARGUMENTS >& __y) { +@@ -80,7 +84,7 @@ + typedef __MAP_SUPER _Super; + return operator < ((const _Super&)__x,(const _Super&)__y); + } +-# endif /* __STL_BASE_MATCH_BUG */ ++# endif /* _STLP_BASE_MATCH_BUG */ + + + // provide a "default" multimap adaptor +@@ -109,7 +113,7 @@ + const _Compare& __comp) : __MMAP_SUPER(__first, __last, __comp) { } + }; + +-# if defined (__STL_BASE_MATCH_BUG) ++# if defined (_STLP_BASE_MATCH_BUG) + __MMAP_TEMPLATE_HEADER + inline bool operator==(const multimap< __MMAP_ARGUMENTS >& __x, + const multimap< __MMAP_ARGUMENTS >& __y) { +@@ -135,11 +139,11 @@ + + # undef _Compare + +-# ifdef __STL_USE_NAMESPACES ++# ifdef _STLP_USE_NAMESPACES + } /* namespace STLPORT */ + # endif + +-#endif /* __SGI_STL_INTERNAL_WRAP_MAP_H */ ++#endif /* _STLP_INTERNAL_WRAP_MAP_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/wrappers/_mmap.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/wrappers/_mmap.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/wrappers/_mmap.h Sat Feb 24 10:45:22 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/wrappers/_mmap.h Sun Aug 11 18:59:25 2002 +@@ -17,29 +17,29 @@ + * You should not attempt to use it directly. + */ + +-#ifndef __SGI_STL_INTERNAL_WRAP_MULTIMAP_H +-#define __SGI_STL_INTERNAL_WRAP_MULTIMAP_H ++#ifndef _STLP_INTERNAL_WRAP_MULTIMAP_H ++#define _STLP_INTERNAL_WRAP_MULTIMAP_H + +-# ifdef __STL_USE_NAMESPACES ++# ifdef _STLP_USE_NAMESPACES + namespace STLPORT { + # endif + +-# if defined (__STL_MINIMUM_DEFAULT_TEMPLATE_PARAMS) ++# if defined (_STLP_MINIMUM_DEFAULT_TEMPLATE_PARAMS) + # define _Compare less<_Key> + # else + # endif + +-# if defined (__STL_DEBUG) && ! defined (__STL_USE_NAMESPACES) ++# if defined (_STLP_DEBUG) && ! defined (_STLP_USE_NAMESPACES) + # else + + # endif + + +-# ifdef __STL_USE_NAMESPACES ++# ifdef _STLP_USE_NAMESPACES + } /* namespace STLPORT */ + # endif + +-#endif /* __SGI_STL_INTERNAL_WRAP_MULTIMAP_H */ ++#endif /* _STLP_INTERNAL_WRAP_MULTIMAP_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/wrappers/_set.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/wrappers/_set.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/wrappers/_set.h Sat Feb 24 10:45:22 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/wrappers/_set.h Sun Aug 11 18:59:25 2002 +@@ -17,14 +17,18 @@ + * You should not attempt to use it directly. + */ + +-#ifndef __SGI_STL_INTERNAL_WRAP_SET_H +-#define __SGI_STL_INTERNAL_WRAP_SET_H ++#ifndef _STLP_INTERNAL_WRAP_SET_H ++#define _STLP_INTERNAL_WRAP_SET_H + +-# ifdef __STL_USE_NAMESPACES ++#ifndef _STLP_INTERNAL_SET_H ++# include ++#endif ++ ++# ifdef _STLP_USE_NAMESPACES + namespace STLPORT { + # endif + +-# if defined (__STL_MINIMUM_DEFAULT_TEMPLATE_PARAMS) ++# if defined (_STLP_MINIMUM_DEFAULT_TEMPLATE_PARAMS) + # define __SET_TEMPLATE_HEADER template + # define __SET_ARGUMENTS _Key + # define __MSET_TEMPLATE_HEADER template +@@ -37,8 +41,8 @@ + # define __MSET_ARGUMENTS _Key, _Compare + # endif + +-# define __SET_SUPER __set< _Key, _Compare, __STL_DEFAULT_ALLOCATOR(_Key) > +-# define __MSET_SUPER __multiset< _Key, _Compare, __STL_DEFAULT_ALLOCATOR(_Key) > ++# define __SET_SUPER __set< _Key, _Compare, _STLP_DEFAULT_ALLOCATOR(_Key) > ++# define __MSET_SUPER __multiset< _Key, _Compare, _STLP_DEFAULT_ALLOCATOR(_Key) > + + // provide a "default" set adaptor + __SET_TEMPLATE_HEADER +@@ -63,7 +67,7 @@ + const _Compare& __comp) : __SET_SUPER(__first, __last, __comp) { } + }; + +-# if defined (__STL_BASE_MATCH_BUG) ++# if defined (_STLP_BASE_MATCH_BUG) + __SET_TEMPLATE_HEADER + inline bool operator==(const set< __SET_ARGUMENTS >& __x, + const set< __SET_ARGUMENTS >& __y) { +@@ -101,7 +105,7 @@ + const _Compare& __comp) : __MSET_SUPER(__first, __last, __comp) { } + }; + +-# if defined (__STL_BASE_MATCH_BUG) ++# if defined (_STLP_BASE_MATCH_BUG) + __MSET_TEMPLATE_HEADER + inline bool operator==(const multiset< __MSET_ARGUMENTS >& __x, + const multiset< __MSET_ARGUMENTS >& __y) { +@@ -126,11 +130,11 @@ + # undef __SET_SUPER + # undef _Compare + +-# ifdef __STL_USE_NAMESPACES ++# ifdef _STLP_USE_NAMESPACES + } /* namespace STLPORT */ + # endif + +-#endif /* __SGI_STL_INTERNAL_WRAP_SET_H */ ++#endif /* _STLP_INTERNAL_WRAP_SET_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/wrappers/_slist.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/wrappers/_slist.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/wrappers/_slist.h Sat Feb 24 10:45:22 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/wrappers/_slist.h Sun Aug 11 18:59:25 2002 +@@ -24,17 +24,21 @@ + * You should not attempt to use it directly. + */ + +-#ifndef __SGI_STL_INTERNAL_WRAP_SLIST_H +-#define __SGI_STL_INTERNAL_WRAP_SLIST_H ++#ifndef _STLP_INTERNAL_WRAP_SLIST_H ++#define _STLP_INTERNAL_WRAP_SLIST_H + +-# if defined (__STL_DEBUG) +-# define __SL_SUPER _DBG_slist<_Tp, __STL_DEFAULT_ALLOCATOR(_Tp) > ++#ifndef _STLP_INTERNAL_SLIST_H ++# include ++#endif ++ ++# if defined (_STLP_DEBUG) ++# define __SL_SUPER _DBG_slist<_Tp, _STLP_DEFAULT_ALLOCATOR(_Tp) > + # else +-# define __SL_SUPER __slist__<_Tp, __STL_DEFAULT_ALLOCATOR(_Tp) > ++# define __SL_SUPER __slist__<_Tp, _STLP_DEFAULT_ALLOCATOR(_Tp) > + # endif + + +-# ifdef __STL_USE_NAMESPACES ++# ifdef _STLP_USE_NAMESPACES + namespace STLPORT { + # endif + +@@ -53,7 +57,7 @@ + slist(const_iterator __first, const_iterator __last) : __SL_SUPER(__first, __last) { } + }; + +-# if defined (__STL_BASE_MATCH_BUG) ++# if defined (_STLP_BASE_MATCH_BUG) + template + inline bool operator==(const slist<_Tp>& __x, const slist<_Tp>& __y) { + typedef typename slist<_Tp>::_Super _Super; +@@ -68,11 +72,11 @@ + # endif + # undef __SL_SUPER + +-# ifdef __STL_USE_NAMESPACES ++# ifdef _STLP_USE_NAMESPACES + } /* namespace STLPORT */ + # endif + +-#endif /* __SGI_STL_INTERNAL_WRAP_SLIST_H */ ++#endif /* _STLP_INTERNAL_WRAP_SLIST_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/wrappers/_vector.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/wrappers/_vector.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/wrappers/_vector.h Sat Feb 24 10:45:22 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/wrappers/_vector.h Sun Aug 11 18:59:25 2002 +@@ -27,16 +27,20 @@ + * You should not attempt to use it directly. + */ + +-#ifndef __SGI_STL_INTERNAL_WRAP_VECTOR_H +-#define __SGI_STL_INTERNAL_WRAP_VECTOR_H ++#ifndef _STLP_INTERNAL_WRAP_VECTOR_H ++#define _STLP_INTERNAL_WRAP_VECTOR_H + +-# if defined (__STL_DEBUG) +-# define _VEC_SUPER _DBG_vector<_Tp, __STL_DEFAULT_ALLOCATOR(_Tp) > ++#ifndef _STLP_INTERNAL_VECTOR_H ++# include ++#endif ++ ++# if defined (_STLP_DEBUG) ++# define _VEC_SUPER _DBG_vector<_Tp, _STLP_DEFAULT_ALLOCATOR(_Tp) > + # else +-# define _VEC_SUPER __vector__<_Tp, __STL_DEFAULT_ALLOCATOR(_Tp) > ++# define _VEC_SUPER __vector__<_Tp, _STLP_DEFAULT_ALLOCATOR(_Tp) > + # endif + +-# ifdef __STL_USE_NAMESPACES ++# ifdef _STLP_USE_NAMESPACES + namespace STLPORT { + # endif + +@@ -51,14 +55,14 @@ + explicit vector(size_type __n, const _Tp& __value) : _VEC_SUPER(__n, __value) { } + explicit vector(size_type __n) : _VEC_SUPER(__n) { } + vector(const_iterator __first, const_iterator __last) : _VEC_SUPER(__first,__last) { } +-# ifdef __STL_DEBUG ++# ifdef _STLP_DEBUG + // certainly, no member templates here ! + vector(const _Tp* __first, const _Tp* __last) : _VEC_SUPER(__first,__last) { } + # endif + ~vector() {} + }; + +-# if defined (__STL_BASE_MATCH_BUG) ++# if defined (_STLP_BASE_MATCH_BUG) + template + inline bool operator==(const vector<_Tp>& __x, const vector<_Tp>& __y) { + return __x.size() == __y.size() && +@@ -70,15 +74,15 @@ + return lexicographical_compare(__x.begin(), __x.end(), + __y.begin(), __y.end()); + } +-# endif /* __STL_BASE_MATCH_BUG */ ++# endif /* _STLP_BASE_MATCH_BUG */ + # undef _VEC_SUPER + + // close std namespace +-# ifdef __STL_USE_NAMESPACES ++# ifdef _STLP_USE_NAMESPACES + } + # endif + +-#endif /* __SGI_STL_WRAP_VECTOR_H */ ++#endif /* _STLP_WRAP_VECTOR_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl_user_config.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl_user_config.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl_user_config.h Sat Feb 24 10:44:26 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl_user_config.h Sun Aug 11 18:59:23 2002 +@@ -18,7 +18,7 @@ + * + * To hold user-definable portion of STLport settings which may be overridden + * on per-project basis. +- * Please note that if you use SGI iostreams (compiled STLport) then you have ++ * Please note that if you use STLport iostreams (compiled library) then you have + * to use consistent settings when you compile STLport library and your project. + * Those settings are defined in _site_config.h and have to be the same for a given + * STLport installation. +@@ -31,8 +31,8 @@ + // Features selection + //========================================================== + +-/* __STL_NO_SGI_IOSTREAMS: +- * ++/* _STLP_NO_OWN_IOSTREAMS: ++ * __STL_NO_SGI_IOSTREAMS (in older versions) + * This is major configuration switch. + * Turn it on to disable use of SGI iostreams and use wrappers + * around your compiler's iostreams, like before. +@@ -42,7 +42,7 @@ + * + */ + +-// # define __STL_NO_SGI_IOSTREAMS 1 ++// # define _STLP_NO_OWN_IOSTREAMS 1 + + + /* +@@ -50,96 +50,108 @@ + * + * Uncomment to suppress using new-style streams even if they are + * available. +- * Beware - __STL_USE_OWN_NAMESPACE depends on this macro, too. ++ * Beware - _STLP_USE_OWN_NAMESPACE depends on this macro, too. + * Do that only if you are absolutely sure backwards-compatible + * is not actually a wrapper with + * Hint : In VC++ 6.x, they are not. + */ + +-// #define __STL_NO_NEW_IOSTREAMS 1 ++// #define _STLP_NO_NEW_IOSTREAMS 1 + + /* + * Use this switch for embedded systems where no iostreams are available +- * at all. SGI iostreams will get disabled automatically then. ++ * at all. STLport own iostreams will also get disabled automatically then. + */ +-// # define __STL_NO_IOSTREAMS 1 ++// # define _STLP_NO_IOSTREAMS 1 + + /* +- * Set __STL_DEBUG to turn the "Debug Mode" on. ++ * Set _STLP_DEBUG to turn the "Debug Mode" on. + * That gets you checked iterators/ranges in the manner + * of "Safe STL". Very useful for debugging. Thread-safe. + * Please do not forget to link proper STLport library flavor +- * (e.g libstlport_gcc_stldebug.a) when you set this flag in SGI iostreams mode. ++ * (e.g libstlport_gcc_stldebug.a) when you set this flag in STLport iostreams mode. + */ +-// #define __STL_DEBUG 1 ++// #define _STLP_DEBUG 1 + +-/* +- * By default, STLport uses proxy technique to enable operator -> for +- * iterators even for those compilers that check the return type of +- * unused instantiations. If this causes problems for you, turn the following +- * switch on to disable proxy ->() operators. This actually should be done +- * in compiler-dependant section, not here. +- * auto_ptr implements proxy operator even if they are disabled in general, +- * as it is very unlikely that you instantiate auto_ptr<> on pointers and other builtins. +- * However, if this is the case, uncomment second line. ++ ++/* ++ * ++ * _STLP_NO_CUSTOM_IO : define this if you do not instantiate basic_xxx iostream classes with custom types (which is most likely the case). ++ * Custom means types other than char, wchar and char_traits<>, ++ * like basic_ostream > ++ * When this option is on, most non-inline template functions definitions for iostreams are not seen by the client. ++ * Default is off, just not to break compilation for those who do use those types. ++ * which saves a lot of compile time for most compilers, also object and executable size for some. ++ * That also guarantees that you still use optimized standard i/o when you compile your program without optimization. ++ * Option does not affect STLport library build; you may use the same binary library with and without this option, ++ * on per-project basis. ++ * ++ */ ++// #define _STLP_NO_CUSTOM_IO ++ ++ ++/* ++ * _STLP_NO_RELOPS_NAMESPACE: if defined, don't put the relational ++ * operator templates (>, <=. >=, !=) in namespace std::rel_ops, even ++ * if the compiler supports namespaces. ++ * Note : if the compiler do not support namespaces, those operators are not be provided by default, ++ * to simulate hiding them into rel_ops. This was proved to resolve many compiler bugs with ambiguity. + */ + +-// # define __STL_NO_PROXY_ARROW_OPERATOR 1 +-// # define __STL_NO_AUTO_PTR_PROXY_ARROW_OPERATOR 1 ++// #define _STLP_NO_RELOPS_NAMESPACE 1 + + + /* +- * If __STL_USE_OWN_NAMESPACE is in effect, STLport will try to rename std:: for the user ++ * If _STLP_USE_OWN_NAMESPACE is in effect, STLport will try to rename std:: for the user + * to _STL::. If you don't want this feature, or if it does not quite work for your +- * compiler, please define the following switch : ++ * setup (like you are using third-party library that has to use vendor's STL), ++ * please define the following switch : + */ +-// # define __STL_DONT_REDEFINE_STD 1 +- +-/* +- * Edit relative path below (or put full path) to get native +- * compiler vendor's headers included. Default is "../include" +- * Note : this cannot be set the same for different compilers, so +- * it may make sense to override in local stl_user_config.h only. +- * Hint : never install STLport in the directory that ends with "include" +- */ +-// # undef __STL_NATIVE_INCLUDE_PATH +-// # define __STL_NATIVE_INCLUDE_PATH ../include +-// same for C library headers like +-// # undef __STL_NATIVE_CPP_C_INCLUDE_PATH +-// # define __STL_NATIVE_CPP_C_INCLUDE_PATH ../include +-// same for C headers like +-// # undef __STL_NATIVE_C_INCLUDE_PATH +-// # define __STL_NATIVE_C_INCLUDE_PATH ../include ++// # define _STLP_DONT_REDEFINE_STD 1 + + +-/* +- * __STL_NO_RELOPS_NAMESPACE: if defined, don't put the relational +- * operator templates (>, <=. >=, !=) in namespace std::rel_ops, even +- * if the compiler supports namespaces. +- * Note : if the compiler do not support namespaces, those operators +- * will not be provided by default in future, to simulate hiding them into rel_ops. +- * For now, to get them not defined, define __STL_USE_SEPARATE_RELOPS_NAMESPACE. ++/* ++ * _STLP_WHOLE_NATIVE_STD : only meaningful in _STLP_USE_OWN_NAMESPACE mode. ++ * Normally, STLport only imports necessary components from native std:: namespace - ++ * those not yet provided by STLport (, , etc.) ++ * and their dependencies (, ). ++ * You might want everything from std:: being available in std:: namespace when you ++ * include corresponding STLport header (like STLport provides std::map as well, etc.), ++ * if you are going to use both stlport:: and std:: components in your code. ++ * Otherwise this option is not recommended as it increases the size of your object files ++ * and slows down compilation. + */ ++// # define _STLP_WHOLE_NATIVE_STD + +-// #define __STL_NO_RELOPS_NAMESPACE 1 + + /* + * Use this option to catch uninitialized members in your classes. + * When it is set, construct() and destroy() fill the class storage +- * with __STL_SHRED_BYTE (see below). +- * Note : __STL_DEBUG and __STL_DEBUG_ALLOC don't set this option automatically. ++ * with _STLP_SHRED_BYTE (see below). ++ * Note : _STLP_DEBUG and _STLP_DEBUG_ALLOC don't set this option automatically. + */ + +-// # define __STL_DEBUG_UNINITIALIZED 1 ++// # define _STLP_DEBUG_UNINITIALIZED 1 + + /* + * Uncomment and provide a definition for the byte with which raw memory +- * will be filled if __STL_DEBUG_ALLOC or __STL_DEBUG_UNINITIALIZED is defined. ++ * will be filled if _STLP_DEBUG_ALLOC or _STLP_DEBUG_UNINITIALIZED is defined. + * Choose a value which is likely to cause a noticeable problem if dereferenced + * or otherwise abused. A good value may already be defined for your platform; see + * stl_config.h + */ +-// #define __STL_SHRED_BYTE 0xA3 ++// #define _STLP_SHRED_BYTE 0xA3 ++ ++/* ++ * This option is for gcc users only and only affects systems where native linker ++ * does not let gcc to implement automatic instantiation of static template data members/ ++ * It is being put in this file as there is no way to check if we are using GNU ld automatically, ++ * so it becomes user's responsibility. ++ * ++ */ ++ ++// #define _STLP_GCC_USES_GNU_LD ++ + + //========================================================== + // Compatibility section +@@ -147,27 +159,16 @@ + + /* + * Define this macro to disable anachronistic constructs (like the ones used in HP STL and +- * not included in final standard ++ * not included in final standard, etc. + */ +-// define __STL_NO_ANACHRONISMS 1 ++// define _STLP_NO_ANACHRONISMS 1 + + /* +- * Define this macro to disable SGI/STLport extensions (for example, to make sure your code will ++ * Define this macro to disable STLport extensions (for example, to make sure your code will + * compile with some other implementation ) + */ +-// define __STL_NO_EXTENSIONS 1 ++// define _STLP_NO_EXTENSIONS 1 + +-/* +- * Use obsolete overloaded template functions iterator_category(), value_type(), distance_type() +- * for querying iterator properties. Please note those names are non-standard and are not guaranteed +- * to be used by every implementation. However, this setting is on by default when partial specialization +- * is not implemented in the compiler (if __STL_NO_ANACHRONISMS is not set). +- * Use of those interfaces for user-defined iterators is strongly discouraged: +- * please use public inheritance from iterator<> template to achieve desired effect. +- * Second form is to disable old-style queries in any case. +- */ +-// # define __STL_USE_OLD_HP_ITERATOR_QUERIES +-// # define __STL_NO_OLD_HP_ITERATOR_QUERIES + + /* + * You should define this macro if compiling with MFC - STLport +@@ -175,52 +176,27 @@ + * + */ + +-// # define __STL_USE_MFC 1 ++// # define _STLP_USE_MFC 1 ++ ++ ++// boris : this setting is here as we cannot detect precense of new Platform SDK automatically ++// If you are using new PSDK with VC++ 6.0 or lower, please define this to get correct prototypes for InterlockedXXX functions ++// # define _STLP_NEW_PLATFORM_SDK 1 + + /* + * Use minimum set of default arguments on template classes that have more + * than one - for example map<>, set<>. +- * This has effect only if __STL_LIMITED_DEFAULT_TEMPLATES is on. +- * If __STL_MINIMUM_DEFAULT_TEMPLATE_PARAMS is set, you'll be able to compile ++ * This has effect only if _STLP_LIMITED_DEFAULT_TEMPLATES is on. ++ * If _STLP_MINIMUM_DEFAULT_TEMPLATE_PARAMS is set, you'll be able to compile + * set with those compilers, but you'll have to use __set__> + * + * Affects : map<>, multimap<>, set<>, multiset<>, hash_*<>, + * queue<>, priority_queue<>, stack<>, istream_iterator<> + */ + +-// # define __STL_MINIMUM_DEFAULT_TEMPLATE_PARAMS 1 +- +- +-/* +- * __STL_USE_SGI_STRING : Forces use of SGI string even if +- * native is available. Unless you defined __STL_USE_OWN_NAMESPACE, +- * STLport uses native if new iostreams are being used, +- * as part of compiled runtime library depends on it. +- * You may force use of SGI string uncommenting this macro. +- * IMPORTANT: +- * DO NOT use SGI with native unless you recompile +- * standard C++ runtime library with STLport installed, or +- * (better) defined __STL_USE_OWN_NAMESPACE +- */ +- +-// #define __STL_USE_SGI_STRING 1 +- +-/* +- * __STL_WHOLE_NATIVE_STD : only meaningful in __STL_USE_OWN_NAMESPACE mode. +- * Normally, STLport only imports necessary components from native std:: namespace - +- * those not yet provided by STLport (, , etc.) +- * and their dependencies (, ). +- * You might want everything from std:: being available in std:: namespace when you +- * include corresponding STLport header (like STLport provides std::map as well, etc.), +- * if you are going to use both stlport:: and std:: components in your code. +- * Otherwise this option is not recommended as it increases the size of your object files +- * and slows down compilation. +- */ +-// # define __STL_WHOLE_NATIVE_STD ++// # define _STLP_MINIMUM_DEFAULT_TEMPLATE_PARAMS 1 + + //========================================================== +- +- + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/streambuf tripwire-2.3.1-2/src/STLport-4.0/stlport/streambuf +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/streambuf Sat Feb 24 10:44:25 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/streambuf Sun Aug 11 18:59:23 2002 +@@ -15,30 +15,26 @@ + * modified is included with the above copyright notice. + * + */ +-#ifndef __SGI_STL_STREAMBUF +-#define __SGI_STL_STREAMBUF ++#ifndef _STLP_STREAMBUF ++#define _STLP_STREAMBUF + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x1066 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x1066 + # include + # endif + +-#if defined(__sgi) && !defined(__GNUC__) && !defined(_STANDARD_C_PLUS_PLUS) +-#error This header file requires the -LANG:std option +-#endif +- +-# if defined ( __SGI_STL_OWN_IOSTREAMS ) ++# if defined ( _STLP_OWN_IOSTREAMS ) + # include +-# elif !defined (__STL_USE_NO_IOSTREAMS) ++# elif !defined (_STLP_USE_NO_IOSTREAMS) + # include + # endif + +-# if (__STL_OUTERMOST_HEADER_ID == 0x1066) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x1066) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_STREAMBUF */ ++#endif /* _STLP_STREAMBUF */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/streambuf.h tripwire-2.3.1-2/src/STLport-4.0/stlport/streambuf.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/streambuf.h Sat Feb 24 10:44:25 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/streambuf.h Sun Aug 11 18:59:23 2002 +@@ -15,43 +15,48 @@ + * modified is included with the above copyright notice. + * + */ +-#ifndef __STLPORT_STREAMBUF_H +-# define __STLPORT_STREAMBUF_H ++#ifndef _STLP_STREAMBUF_H ++# define _STLP_STREAMBUF_H + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x2067 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x2067 + # include + # endif + +-# if defined ( __SGI_STL_OWN_IOSTREAMS ) ++# if defined ( _STLP_OWN_IOSTREAMS ) ++ ++#ifdef __BORLANDC__ ++# include ++#else ++# include ++#endif + +-# include + # include + +-# ifndef __STL_HAS_NO_NAMESPACES +-# ifdef __STL_BROKEN_USING_DIRECTIVE +- using namespace __STLPORT_STD; ++# ifndef _STLP_HAS_NO_NAMESPACES ++# ifdef _STLP_BROKEN_USING_DIRECTIVE ++ using namespace _STLP_STD; + # else +-using __STLPORT_STD::basic_streambuf; +-using __STLPORT_STD::streambuf; +-# ifndef __STL_NO_WCHAR_T +-using __STLPORT_STD::wstreambuf; ++using _STLP_STD::basic_streambuf; ++using _STLP_STD::streambuf; ++# ifndef _STLP_NO_WCHAR_T ++using _STLP_STD::wstreambuf; + # endif + # endif +-# endif /* __STL_HAS_NO_NAMESPACES */ ++# endif /* _STLP_HAS_NO_NAMESPACES */ + +-# elif !defined (__STL_USE_NO_IOSTREAMS) ++# elif !defined (_STLP_USE_NO_IOSTREAMS) + +-# include __STL_NATIVE_OLD_STREAMS_HEADER(streambuf.h) ++# include _STLP_NATIVE_OLD_STREAMS_HEADER(streambuf.h) + + # endif + +-# if (__STL_OUTERMOST_HEADER_ID == 0x2067) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x2067) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __STLPORT_STREAMBUF_H */ ++#endif /* _STLP_STREAMBUF_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/string tripwire-2.3.1-2/src/STLport-4.0/stlport/string +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/string Sat Feb 24 10:44:25 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/string Sun Aug 11 18:59:23 2002 +@@ -16,44 +16,42 @@ + * + */ + +-#ifndef __SGI_STL_STRING +-# define __SGI_STL_STRING ++#ifndef _STLP_STRING ++# define _STLP_STRING + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x68 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x68 + # include + # endif + + +-#if defined (__STL_USE_NATIVE_STRING) ++#if defined (_STLP_USE_NATIVE_STRING) + + // as part of compiled runtime library depends on it. +-// DO NOT use SGI with native unless you recompile +-// standard C++ runtime library with STLport installed. + +-# if defined (__STL_MSVC) ++# if defined (_STLP_MSVC) + # include + # include + # endif + +-# include __STL_NATIVE_HEADER(string) ++# include _STLP_NATIVE_HEADER(string) + +-# endif /* __STL_USE_NATIVE_STRING */ ++# endif /* _STLP_USE_NATIVE_STRING */ + +-# if !defined (__STL_USE_NATIVE_STRING) || defined (__STL_USE_OWN_NAMESPACE) ++# if !defined (_STLP_USE_NATIVE_STRING) || defined (_STLP_USE_OWN_NAMESPACE) + # include + # else + # include +-# endif /*__STL_USE_NATIVE_STRING */ ++# endif /*_STLP_USE_NATIVE_STRING */ + + // cleanup + +-# if (__STL_OUTERMOST_HEADER_ID == 0x68) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x68) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_STRING */ ++#endif /* _STLP_STRING */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/string.h tripwire-2.3.1-2/src/STLport-4.0/stlport/string.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/string.h Sat Feb 24 10:44:25 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/string.h Sun Aug 11 18:59:23 2002 +@@ -13,20 +13,24 @@ + * + */ + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x269 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x269 + # include + # endif + +-# include __STL_NATIVE_C_HEADER(string.h) ++# if defined (__BORLANDC__) ++# include _STLP_NATIVE_CPP_C_HEADER(_str.h) ++# else ++# include _STLP_NATIVE_C_HEADER(string.h) ++# endif + +-# if defined (__BORLANDC__) && defined (__STL_IMPORT_VENDOR_CSTD) ++# if defined (__BORLANDC__) && defined (_STLP_IMPORT_VENDOR_CSTD) + # include + # endif /* BORLAND */ + +-# if (__STL_OUTERMOST_HEADER_ID == 0x269) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x269) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + + // Local Variables: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/strstream tripwire-2.3.1-2/src/STLport-4.0/stlport/strstream +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/strstream Sat Feb 24 10:44:25 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/strstream Sun Aug 11 18:59:23 2002 +@@ -21,21 +21,21 @@ + // header instead. + + +-#ifndef __SGI_STL_STRSTREAM +-#define __SGI_STL_STRSTREAM ++#ifndef _STLP_STRSTREAM ++#define _STLP_STRSTREAM + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x1070 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x1070 + # include + # endif + +-# if defined (__SGI_STL_OWN_IOSTREAMS) ++# if defined (_STLP_OWN_IOSTREAMS) + + # include + +-# elif !defined (__STL_USE_NO_IOSTREAMS) ++# elif !defined (_STLP_USE_NO_IOSTREAMS) + +-# if defined (__STL_USE_NEW_IOSTREAMS) ++# if defined (_STLP_USE_NEW_IOSTREAMS) + # include + # else + # include +@@ -43,12 +43,12 @@ + + # endif + +-# if (__STL_OUTERMOST_HEADER_ID == 0x1070) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x1070) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_STRSTREAM */ ++#endif /* _STLP_STRSTREAM */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/strstream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/strstream.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/strstream.h Sat Feb 24 10:44:25 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/strstream.h Sun Aug 11 18:59:23 2002 +@@ -13,56 +13,61 @@ + * + */ + +-#ifndef __STLPORT_STRSTREAM_H +-# define __STLPORT_STRSTREAM_H ++#ifndef _STLP_STRSTREAM_H ++# define _STLP_STRSTREAM_H + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x2071 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x2071 + # include + # endif + +-# if defined ( __STL_USE_NEW_IOSTREAMS ) ++# if defined ( _STLP_USE_NEW_IOSTREAMS ) + + // fbp - if we are going to use that consistently, let's do it +-# include ++#ifdef __BORLANDC__ ++# include ++#else ++# include ++#endif ++ + # include + + +-# ifndef __STL_HAS_NO_NAMESPACES ++# ifndef _STLP_HAS_NO_NAMESPACES + +-# ifdef __STL_BROKEN_USING_DIRECTIVE ++# ifdef _STLP_BROKEN_USING_DIRECTIVE + +-using namespace __STLPORT_STD; ++using namespace _STLP_STD; + + # else + +-using __STLPORT_STD::strstreambuf; +-using __STLPORT_STD::istrstream; +-using __STLPORT_STD::ostrstream; +-using __STLPORT_STD::strstream; ++using _STLP_STD::strstreambuf; ++using _STLP_STD::istrstream; ++using _STLP_STD::ostrstream; ++using _STLP_STD::strstream; + +-# endif /* __STL_BROKEN_USING_DIRECTIVE */ ++# endif /* _STLP_BROKEN_USING_DIRECTIVE */ + +-# endif /* __STL_HAS_NO_NAMESPACES */ ++# endif /* _STLP_HAS_NO_NAMESPACES */ + + # else + + + // just include old-style strstream.h +-# if defined (_MSC_VER) && (_MSC_VER < 1200) +-# include __STL_NATIVE_OLD_STREAMS_HEADER(strstrea.h) ++# if defined (_MSC_VER) && (_MSC_VER <= 1200) ++# include _STLP_NATIVE_OLD_STREAMS_HEADER(strstrea.h) + # else +-# include __STL_NATIVE_OLD_STREAMS_HEADER(strstream.h) ++# include _STLP_NATIVE_OLD_STREAMS_HEADER(strstream.h) + # endif + + # endif + +-# if (__STL_OUTERMOST_HEADER_ID == 0x2071) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x2071) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __STLPORT_STRSTREAM_H */ ++#endif /* _STLP_STRSTREAM_H */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/time.h tripwire-2.3.1-2/src/STLport-4.0/stlport/time.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/time.h Sat Feb 24 10:44:25 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/time.h Sun Aug 11 18:59:23 2002 +@@ -13,21 +13,23 @@ + * + */ + +-# if !defined (__STL_OUTERMOST_HEADER_ID) +-# define __STL_OUTERMOST_HEADER_ID 0x272 ++# if !defined (_STLP_OUTERMOST_HEADER_ID) ++# define _STLP_OUTERMOST_HEADER_ID 0x272 + # include +-# elif (__STL_OUTERMOST_HEADER_ID == 0x272) && ! defined (__STL_DONT_POP_0x272) +-# define __STL_DONT_POP_0x272 ++# elif (_STLP_OUTERMOST_HEADER_ID == 0x272) && ! defined (_STLP_DONT_POP_0x272) ++# define _STLP_DONT_POP_0x272 + # endif + +-# include __STL_NATIVE_C_HEADER(time.h) ++#if !defined(_STLP_WINCE) ++# include _STLP_NATIVE_C_HEADER(time.h) ++#endif + +-# if (__STL_OUTERMOST_HEADER_ID == 0x272) +-# if ! defined (__STL_DONT_POP_0x272) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x272) ++# if ! defined (_STLP_DONT_POP_0x272) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif +-# undef __STL_DONT_POP_0x272 ++# undef _STLP_DONT_POP_0x272 + # endif + + // Local Variables: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/typeinfo tripwire-2.3.1-2/src/STLport-4.0/stlport/typeinfo +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/typeinfo Sat Feb 24 10:44:25 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/typeinfo Sun Aug 11 18:59:23 2002 +@@ -13,57 +13,71 @@ + * + */ + +-#ifndef __STLPORT_TYPEINFO +-# define __STLPORT_TYPEINFO ++#ifndef _STLP_TYPEINFO ++# define _STLP_TYPEINFO + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x473 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x473 + # include + # endif + +-# ifndef __STL_NO_TYPEINFO ++# ifndef _STLP_NO_TYPEINFO + +-# if defined (__GNUC__) && (__GNUC_MINOR__ > 7) +-# include <../include/typeinfo> +-# elif defined (__STL_NO_NEW_NEW_HEADER) +-# include __STL_NATIVE_HEADER(typeinfo.h) +-# elif defined (__xlC__) ++# if defined (_STLP_NO_NEW_NEW_HEADER) + # include + # else +-# include __STL_NATIVE_HEADER(typeinfo) ++# include _STLP_NATIVE_CPP_RUNTIME_HEADER(typeinfo) + # endif + +-# if defined (__STL_USE_NAMESPACES) \ +- && ( defined (__STL_VENDOR_GLOBAL_EXCEPT_STD) || defined (__STL_USE_OWN_NAMESPACE) || defined (__STL_DEBUG)) +-__STL_BEGIN_NAMESPACE ++// if already included, do not import anything ++# if defined (_STLP_USE_NAMESPACES) && ! defined (_STLP_OLDSTD_typeinfo) \ ++&& ( defined (_STLP_VENDOR_GLOBAL_EXCEPT_STD) || defined (_STLP_USE_OWN_NAMESPACE)) ++ ++# if defined(_STLP_MSVC) && (_STLP_MSVC < 1300) ++class _STLP_CLASS_DECLSPEC bad_cast : public exception { ++public : ++bad_cast() : exception("bad_cast") { } ++}; ++#endif ++ ++_STLP_BEGIN_NAMESPACE + + // VC++ 6 has only this guy in :: +-# if !(defined(__STL_MSVC)&& (__STL_MSVC <= 1200)) +-using __STL_VENDOR_EXCEPT_STD::type_info; +-# endif ++// # if !(defined(_STLP_MSVC)&& (_STLP_MSVC <= 1200)) ++using _STLP_VENDOR_EXCEPT_STD::type_info; ++// # endif + + # if !(defined(__MRC__) || defined(__SC__)) +-using __STL_VENDOR_EXCEPT_STD::bad_typeid; ++using _STLP_VENDOR_EXCEPT_STD::bad_typeid; + # endif + +-using __STL_VENDOR_EXCEPT_STD::bad_cast; +-__STL_END_NAMESPACE +-#endif /* __STL_OWN_NAMESPACE */ ++//#if defined( __xlC__ ) && (__xlC__ < 0x500) ++//# include ++//struct bad_cast : exception {}; ++//#endif ++# if defined(_STLP_MSVC) && (_STLP_MSVC < 1300) ++using ::bad_cast; ++# else ++using _STLP_VENDOR_EXCEPT_STD::bad_cast; ++# endif ++ ++_STLP_END_NAMESPACE ++#endif /* _STLP_OWN_NAMESPACE */ + + #else + + # include +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + struct bad_cast : exception {}; +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + #endif /* NO_TYPEINFO */ + +-# if (__STL_OUTERMOST_HEADER_ID == 0x473) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x473) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __STLPORT_TYPEINFO */ ++#endif /* _STLP_TYPEINFO */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/typeinfo.h tripwire-2.3.1-2/src/STLport-4.0/stlport/typeinfo.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/typeinfo.h Sat Feb 24 10:44:25 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/typeinfo.h Sun Aug 11 18:59:23 2002 +@@ -13,43 +13,50 @@ + * + */ + +-#ifndef __STLPORT_OLDSTD_typeinfo +-# define __STLPORT_OLDSTD_typeinfo ++#ifndef _STLP_OLDSTD_typeinfo ++# define _STLP_OLDSTD_typeinfo + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x874 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x874 + # include + # endif + +-# ifndef __STL_NO_TYPEINFO ++# ifndef _STLP_NO_TYPEINFO + +-# if defined (__GNUC__) && (__GNUC_MINOR__ >= 8 ) +-# include <../include/typeinfo.h> +-# else +-# include __STL_NATIVE_HEADER(typeinfo.h) +-# endif ++#if defined (__GNUC__) ++# undef _STLP_OLDSTD_typeinfo ++# include ++# define _STLP_OLDSTD_typeinfo ++#else ++# include _STLP_NATIVE_CPP_RUNTIME_HEADER(typeinfo.h) ++#endif ++ ++// if already included, do not import anything + +-# if defined (__STL_USE_OWN_NAMESPACE) ++# if defined (_STLP_USE_OWN_NAMESPACE) && ! (defined (_STLP_TYPEINFO) && !defined(_STLP_NO_NEW_NEW_HEADER)) + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + +-using /* __STL_VENDOR_EXCEPT_STD */ ::type_info; +-using /* __STL_VENDOR_EXCEPT_STD */ ::bad_typeid; +-using /* __STL_VENDOR_EXCEPT_STD */ ::bad_cast; ++using /*_STLP_VENDOR_EXCEPT_STD */ :: type_info; ++# if !(defined(__MRC__) || defined(__SC__)) ++using /* _STLP_VENDOR_EXCEPT_STD */ :: bad_typeid; ++# endif ++using /* _STLP_VENDOR_EXCEPT_STD */ :: bad_cast; + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + +-#endif /* __STL_OWN_NAMESPACE */ ++#endif /* _STLP_OWN_NAMESPACE */ + +-# endif /* __STL_NO_TYPEINFO */ ++# endif /* _STLP_NO_TYPEINFO */ + +-# if (__STL_OUTERMOST_HEADER_ID == 0x874) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x874) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __STLPORT_OLDSTD_typeinfo */ ++#endif /* _STLP_OLDSTD_typeinfo */ + + // Local Variables: + // mode:C++ + // End: ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/cstring tripwire-2.3.1-2/src/STLport-4.0/stlport/using/cstring +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/cstring Sat Feb 24 10:45:22 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/using/cstring Sun Aug 11 18:59:25 2002 +@@ -1,54 +1,54 @@ +-using __STL_VENDOR_CSTD::size_t; ++using _STLP_VENDOR_CSTD::size_t; + +-# ifndef __STL_NO_CSTD_FUNCTION_IMPORTS ++# ifndef _STLP_NO_CSTD_FUNCTION_IMPORTS + # if defined(__MSL__) && __MC68K__ && !_No_BlockMove && __dest_os == __mac_os + # undef memcpy + # undef memmove + inline void* memcpy(void* dst, const void* src, size_t len) + { +- return __STL_VENDOR_CSTD::__memcpy(dst, src, len); ++ return _STLP_VENDOR_CSTD::__memcpy(dst, src, len); + } + inline void* memmove(void* dst, const void* src, size_t len) + { +- return __STL_VENDOR_CSTD::__memmove(dst, src, len); ++ return _STLP_VENDOR_CSTD::__memmove(dst, src, len); + } + # else + +- using __STL_VENDOR_CSTD::memmove; +- using __STL_VENDOR_CSTD::memcpy; ++ using _STLP_VENDOR_CSTD::memmove; ++ using _STLP_VENDOR_CSTD::memcpy; + + # endif + + # if ! defined (__BORLANDC__) +-using __STL_VENDOR_CSTD::memchr; +-using __STL_VENDOR_CSTD::strchr; +-using __STL_VENDOR_CSTD::strpbrk; +-using __STL_VENDOR_CSTD::strrchr; +-using __STL_VENDOR_CSTD::strstr; ++using _STLP_VENDOR_CSTD::memchr; ++using _STLP_VENDOR_CSTD::strchr; ++using _STLP_VENDOR_CSTD::strpbrk; ++using _STLP_VENDOR_CSTD::strrchr; ++using _STLP_VENDOR_CSTD::strstr; + # endif + +-using __STL_VENDOR_CSTD::memcmp; +-using __STL_VENDOR_CSTD::memset; ++using _STLP_VENDOR_CSTD::memcmp; ++using _STLP_VENDOR_CSTD::memset; + +-using __STL_VENDOR_CSTD::strcat; ++using _STLP_VENDOR_CSTD::strcat; + + # if !defined (strcmp) +-using __STL_VENDOR_CSTD::strcmp; ++using _STLP_VENDOR_CSTD::strcmp; + # endif + +-using __STL_VENDOR_CSTD::strcoll; ++using _STLP_VENDOR_CSTD::strcoll; + # if !defined (strcpy) +-using __STL_VENDOR_CSTD::strcpy; ++using _STLP_VENDOR_CSTD::strcpy; + # endif +-using __STL_VENDOR_CSTD::strcspn; +-using __STL_VENDOR_CSTD::strerror; +-using __STL_VENDOR_CSTD::strlen; +-using __STL_VENDOR_CSTD::strncat; +-using __STL_VENDOR_CSTD::strncmp; +- +-using __STL_VENDOR_CSTD::strncpy; +-using __STL_VENDOR_CSTD::strspn; +- +-using __STL_VENDOR_CSTD::strtok; +-using __STL_VENDOR_CSTD::strxfrm; +-# endif /* __STL_NO_CSTD_FUNCTION_IMPORTS */ ++using _STLP_VENDOR_CSTD::strcspn; ++using _STLP_VENDOR_CSTD::strerror; ++using _STLP_VENDOR_CSTD::strlen; ++using _STLP_VENDOR_CSTD::strncat; ++using _STLP_VENDOR_CSTD::strncmp; ++ ++using _STLP_VENDOR_CSTD::strncpy; ++using _STLP_VENDOR_CSTD::strspn; ++ ++using _STLP_VENDOR_CSTD::strtok; ++using _STLP_VENDOR_CSTD::strxfrm; ++# endif /* _STLP_NO_CSTD_FUNCTION_IMPORTS */ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/export tripwire-2.3.1-2/src/STLport-4.0/stlport/using/export +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/export Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/using/export Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,12 @@ ++cstring ++fstream ++iomanip ++ios ++iosfwd ++iostream ++istream ++locale ++ostream ++sstream ++streambuf ++strstream +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/fstream tripwire-2.3.1-2/src/STLport-4.0/stlport/using/fstream +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/fstream Sat Feb 24 10:45:22 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/using/fstream Sun Aug 11 18:59:25 2002 +@@ -1,19 +1,19 @@ +-#ifdef __STL_BROKEN_USING_DIRECTIVE +-using namespace __STLPORT_STD; ++#ifdef _STLP_BROKEN_USING_DIRECTIVE ++using namespace _STLP_STD; + #else +-using __STL_NEW_IO_NAMESPACE::basic_filebuf; +-using __STL_NEW_IO_NAMESPACE::filebuf; +-using __STL_NEW_IO_NAMESPACE::basic_ifstream; +-using __STL_NEW_IO_NAMESPACE::basic_ofstream; +-using __STL_NEW_IO_NAMESPACE::ifstream; +-using __STL_NEW_IO_NAMESPACE::ofstream; +-using __STL_NEW_IO_NAMESPACE::basic_fstream; +-using __STL_NEW_IO_NAMESPACE::fstream; ++using _STLP_NEW_IO_NAMESPACE::basic_filebuf; ++using _STLP_NEW_IO_NAMESPACE::filebuf; ++using _STLP_NEW_IO_NAMESPACE::basic_ifstream; ++using _STLP_NEW_IO_NAMESPACE::basic_ofstream; ++using _STLP_NEW_IO_NAMESPACE::ifstream; ++using _STLP_NEW_IO_NAMESPACE::ofstream; ++using _STLP_NEW_IO_NAMESPACE::basic_fstream; ++using _STLP_NEW_IO_NAMESPACE::fstream; + +-# ifndef __STL_NO_WIDE_STREAMS +-using __STL_NEW_IO_NAMESPACE::wofstream; +-using __STL_NEW_IO_NAMESPACE::wfilebuf; +-using __STL_NEW_IO_NAMESPACE::wifstream; +-using __STL_NEW_IO_NAMESPACE::wfstream; ++# ifndef _STLP_NO_WIDE_STREAMS ++using _STLP_NEW_IO_NAMESPACE::wofstream; ++using _STLP_NEW_IO_NAMESPACE::wfilebuf; ++using _STLP_NEW_IO_NAMESPACE::wifstream; ++using _STLP_NEW_IO_NAMESPACE::wfstream; + # endif + #endif +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/h/iostream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/using/h/iostream.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/h/iostream.h Sat Feb 24 10:45:22 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/using/h/iostream.h Sun Aug 11 18:59:25 2002 +@@ -1,13 +1,24 @@ +-using __STL_OLD_IO_NAMESPACE::istream; +-using __STL_OLD_IO_NAMESPACE::ostream; +-using __STL_OLD_IO_NAMESPACE::cin; +-using __STL_OLD_IO_NAMESPACE::cout; +-using __STL_OLD_IO_NAMESPACE::cerr; +-using __STL_OLD_IO_NAMESPACE::clog; +-using __STL_OLD_IO_NAMESPACE::endl; +-using __STL_OLD_IO_NAMESPACE::ends; ++using _STLP_OLD_IO_NAMESPACE::istream; ++using _STLP_OLD_IO_NAMESPACE::ostream; + +-using __STL_OLD_IO_NAMESPACE::ios; +-using __STL_OLD_IO_NAMESPACE::flush; ++/* HP aCC include files re-define these when THREAD_SAFE */ ++#if !defined(cin) ++using _STLP_OLD_IO_NAMESPACE::cin; ++#endif ++#if !defined(cout) ++using _STLP_OLD_IO_NAMESPACE::cout; ++#endif ++#if !defined(cerr) ++using _STLP_OLD_IO_NAMESPACE::cerr; ++#endif ++#if !defined(clog) ++using _STLP_OLD_IO_NAMESPACE::clog; ++#endif + +-// using __STL_OLD_IO_NAMESPACE::ws; ++using _STLP_OLD_IO_NAMESPACE::endl; ++using _STLP_OLD_IO_NAMESPACE::ends; ++ ++using _STLP_OLD_IO_NAMESPACE::ios; ++using _STLP_OLD_IO_NAMESPACE::flush; ++ ++// using _STLP_OLD_IO_NAMESPACE::ws; +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/h/ostream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/using/h/ostream.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/h/ostream.h Sat Feb 24 10:45:22 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/using/h/ostream.h Sun Aug 11 18:59:25 2002 +@@ -1,6 +1,6 @@ +-using __STL_OLD_IO_NAMESPACE::ostream; +-using __STL_OLD_IO_NAMESPACE::endl; +-using __STL_OLD_IO_NAMESPACE::ends; +-using __STL_OLD_IO_NAMESPACE::flush; ++using _STLP_OLD_IO_NAMESPACE::ostream; ++using _STLP_OLD_IO_NAMESPACE::endl; ++using _STLP_OLD_IO_NAMESPACE::ends; ++using _STLP_OLD_IO_NAMESPACE::flush; + +-// using __STL_OLD_IO_NAMESPACE::ws; ++// using _STLP_OLD_IO_NAMESPACE::ws; +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/h/streambuf.h tripwire-2.3.1-2/src/STLport-4.0/stlport/using/h/streambuf.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/h/streambuf.h Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/using/h/streambuf.h Sun Aug 11 19:12:59 2002 +@@ -0,0 +1 @@ ++using ::streambuf; +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/h/strstream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/using/h/strstream.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/h/strstream.h Sat Feb 24 10:45:22 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/using/h/strstream.h Sun Aug 11 18:59:25 2002 +@@ -1,4 +1,4 @@ +-using __STL_OLD_IO_NAMESPACE::strstreambuf; +-using __STL_OLD_IO_NAMESPACE::istrstream; +-using __STL_OLD_IO_NAMESPACE::ostrstream; +-using __STL_OLD_IO_NAMESPACE::strstream; ++using _STLP_OLD_IO_NAMESPACE::strstreambuf; ++using _STLP_OLD_IO_NAMESPACE::istrstream; ++using _STLP_OLD_IO_NAMESPACE::ostrstream; ++using _STLP_OLD_IO_NAMESPACE::strstream; +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/iomanip tripwire-2.3.1-2/src/STLport-4.0/stlport/using/iomanip +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/iomanip Sat Feb 24 10:45:22 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/using/iomanip Sun Aug 11 18:59:25 2002 +@@ -1,6 +1,6 @@ +-using __STL_NEW_IO_NAMESPACE::setiosflags; +-using __STL_NEW_IO_NAMESPACE::resetiosflags; +-using __STL_NEW_IO_NAMESPACE::setbase; +-using __STL_NEW_IO_NAMESPACE::setfill; +-using __STL_NEW_IO_NAMESPACE::setprecision; +-using __STL_NEW_IO_NAMESPACE::setw; ++using _STLP_NEW_IO_NAMESPACE::setiosflags; ++using _STLP_NEW_IO_NAMESPACE::resetiosflags; ++using _STLP_NEW_IO_NAMESPACE::setbase; ++using _STLP_NEW_IO_NAMESPACE::setfill; ++using _STLP_NEW_IO_NAMESPACE::setprecision; ++using _STLP_NEW_IO_NAMESPACE::setw; +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/ios tripwire-2.3.1-2/src/STLport-4.0/stlport/using/ios +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/ios Sat Feb 24 10:45:22 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/using/ios Sun Aug 11 18:59:25 2002 +@@ -1,41 +1,41 @@ +-# ifdef __STL_BROKEN_USING_DIRECTIVE +-using namespace __STL_NEW_IO_NAMESPACE; ++# ifdef _STLP_BROKEN_USING_DIRECTIVE ++using namespace _STLP_NEW_IO_NAMESPACE; + # else + +-using __STL_NEW_IO_NAMESPACE::ios; +-using __STL_NEW_IO_NAMESPACE::streamoff; +-using __STL_NEW_IO_NAMESPACE::streamsize; ++using _STLP_NEW_IO_NAMESPACE::ios; ++using _STLP_NEW_IO_NAMESPACE::streamoff; ++using _STLP_NEW_IO_NAMESPACE::streamsize; + +-using __STL_NEW_IO_NAMESPACE::ios_base; +-using __STL_NEW_IO_NAMESPACE::basic_ios; ++using _STLP_NEW_IO_NAMESPACE::ios_base; ++using _STLP_NEW_IO_NAMESPACE::basic_ios; + + // _lib.std.ios.manip_, manipulators: +-using __STL_NEW_IO_NAMESPACE::boolalpha; +-using __STL_NEW_IO_NAMESPACE::noboolalpha; +-using __STL_NEW_IO_NAMESPACE::showbase; +-using __STL_NEW_IO_NAMESPACE::noshowbase; +-using __STL_NEW_IO_NAMESPACE::showpoint; +-using __STL_NEW_IO_NAMESPACE::noshowpoint; +-using __STL_NEW_IO_NAMESPACE::showpos; +-using __STL_NEW_IO_NAMESPACE::noshowpos; +-using __STL_NEW_IO_NAMESPACE::skipws; +-using __STL_NEW_IO_NAMESPACE::noskipws; +-using __STL_NEW_IO_NAMESPACE::uppercase; +-using __STL_NEW_IO_NAMESPACE::nouppercase; ++using _STLP_NEW_IO_NAMESPACE::boolalpha; ++using _STLP_NEW_IO_NAMESPACE::noboolalpha; ++using _STLP_NEW_IO_NAMESPACE::showbase; ++using _STLP_NEW_IO_NAMESPACE::noshowbase; ++using _STLP_NEW_IO_NAMESPACE::showpoint; ++using _STLP_NEW_IO_NAMESPACE::noshowpoint; ++using _STLP_NEW_IO_NAMESPACE::showpos; ++using _STLP_NEW_IO_NAMESPACE::noshowpos; ++using _STLP_NEW_IO_NAMESPACE::skipws; ++using _STLP_NEW_IO_NAMESPACE::noskipws; ++using _STLP_NEW_IO_NAMESPACE::uppercase; ++using _STLP_NEW_IO_NAMESPACE::nouppercase; + + // _lib.adjustfield.manip_ adjustfield: +-using __STL_NEW_IO_NAMESPACE::internal; +-using __STL_NEW_IO_NAMESPACE::left; +-using __STL_NEW_IO_NAMESPACE::right; ++using _STLP_NEW_IO_NAMESPACE::internal; ++using _STLP_NEW_IO_NAMESPACE::left; ++using _STLP_NEW_IO_NAMESPACE::right; + + // _lib.basefield.manip_ basefield: +-using __STL_NEW_IO_NAMESPACE::dec; +-using __STL_NEW_IO_NAMESPACE::hex; +-using __STL_NEW_IO_NAMESPACE::oct; ++using _STLP_NEW_IO_NAMESPACE::dec; ++using _STLP_NEW_IO_NAMESPACE::hex; ++using _STLP_NEW_IO_NAMESPACE::oct; + + // _lib.floatfield.manip_ floatfield: +-using __STL_NEW_IO_NAMESPACE::fixed; +-using __STL_NEW_IO_NAMESPACE::scientific; ++using _STLP_NEW_IO_NAMESPACE::fixed; ++using _STLP_NEW_IO_NAMESPACE::scientific; + +-# endif /* __STL_BROKEN_USING_DIRECTIVE */ ++# endif /* _STLP_BROKEN_USING_DIRECTIVE */ + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/iosfwd tripwire-2.3.1-2/src/STLport-4.0/stlport/using/iosfwd +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/iosfwd Sat Feb 24 10:45:22 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/using/iosfwd Sun Aug 11 18:59:25 2002 +@@ -1,54 +1,54 @@ +-# if defined (__STL_USE_NEW_IOSTREAMS) +-using __STL_NEW_IO_NAMESPACE::char_traits; +-using __STL_NEW_IO_NAMESPACE::basic_ios; +-using __STL_NEW_IO_NAMESPACE::basic_streambuf; +-using __STL_NEW_IO_NAMESPACE::basic_istream; +-using __STL_NEW_IO_NAMESPACE::basic_ostream; +-using __STL_NEW_IO_NAMESPACE::basic_iostream; +-using __STL_NEW_IO_NAMESPACE::basic_stringbuf; +-using __STL_NEW_IO_NAMESPACE::basic_istringstream; +-using __STL_NEW_IO_NAMESPACE::basic_ostringstream; +-using __STL_NEW_IO_NAMESPACE::basic_stringstream; +-using __STL_NEW_IO_NAMESPACE::basic_filebuf; +-using __STL_NEW_IO_NAMESPACE::basic_ifstream; +-using __STL_NEW_IO_NAMESPACE::basic_ofstream; +-using __STL_NEW_IO_NAMESPACE::basic_fstream; +-using __STL_NEW_IO_NAMESPACE::fpos; +-using __STL_NEW_IO_NAMESPACE::istreambuf_iterator; +-using __STL_NEW_IO_NAMESPACE::ostreambuf_iterator; +-using __STL_NEW_IO_NAMESPACE::stringbuf; +-using __STL_NEW_IO_NAMESPACE::istringstream; +-using __STL_NEW_IO_NAMESPACE::ostringstream; +-using __STL_NEW_IO_NAMESPACE::stringstream; ++# if defined (_STLP_USE_NEW_IOSTREAMS) ++using _STLP_NEW_IO_NAMESPACE::char_traits; ++using _STLP_NEW_IO_NAMESPACE::basic_ios; ++using _STLP_NEW_IO_NAMESPACE::basic_streambuf; ++using _STLP_NEW_IO_NAMESPACE::basic_istream; ++using _STLP_NEW_IO_NAMESPACE::basic_ostream; ++using _STLP_NEW_IO_NAMESPACE::basic_iostream; ++using _STLP_NEW_IO_NAMESPACE::basic_stringbuf; ++using _STLP_NEW_IO_NAMESPACE::basic_istringstream; ++using _STLP_NEW_IO_NAMESPACE::basic_ostringstream; ++using _STLP_NEW_IO_NAMESPACE::basic_stringstream; ++using _STLP_NEW_IO_NAMESPACE::basic_filebuf; ++using _STLP_NEW_IO_NAMESPACE::basic_ifstream; ++using _STLP_NEW_IO_NAMESPACE::basic_ofstream; ++using _STLP_NEW_IO_NAMESPACE::basic_fstream; ++using _STLP_NEW_IO_NAMESPACE::fpos; ++using _STLP_NEW_IO_NAMESPACE::istreambuf_iterator; ++using _STLP_NEW_IO_NAMESPACE::ostreambuf_iterator; ++using _STLP_NEW_IO_NAMESPACE::stringbuf; ++using _STLP_NEW_IO_NAMESPACE::istringstream; ++using _STLP_NEW_IO_NAMESPACE::ostringstream; ++using _STLP_NEW_IO_NAMESPACE::stringstream; + # endif + +-using __STL_NEW_IO_NAMESPACE::ios; +-using __STL_NEW_IO_NAMESPACE::streambuf; +-using __STL_NEW_IO_NAMESPACE::istream; +-using __STL_NEW_IO_NAMESPACE::ostream; +-using __STL_NEW_IO_NAMESPACE::iostream; ++using _STLP_NEW_IO_NAMESPACE::ios; ++using _STLP_NEW_IO_NAMESPACE::streambuf; ++using _STLP_NEW_IO_NAMESPACE::istream; ++using _STLP_NEW_IO_NAMESPACE::ostream; ++using _STLP_NEW_IO_NAMESPACE::iostream; + +-using __STL_NEW_IO_NAMESPACE::filebuf; +-using __STL_NEW_IO_NAMESPACE::ifstream; +-using __STL_NEW_IO_NAMESPACE::ofstream; +-using __STL_NEW_IO_NAMESPACE::fstream; ++using _STLP_NEW_IO_NAMESPACE::filebuf; ++using _STLP_NEW_IO_NAMESPACE::ifstream; ++using _STLP_NEW_IO_NAMESPACE::ofstream; ++using _STLP_NEW_IO_NAMESPACE::fstream; + +-using __STL_NEW_IO_NAMESPACE::streampos; +-using __STL_NEW_IO_NAMESPACE::streamoff; ++using _STLP_NEW_IO_NAMESPACE::streampos; ++using _STLP_NEW_IO_NAMESPACE::streamoff; + +-# if !defined (__STL_NO_WIDE_STREAMS) +-using __STL_NEW_IO_NAMESPACE::wios; +-using __STL_NEW_IO_NAMESPACE::wstreambuf; +-using __STL_NEW_IO_NAMESPACE::wistream; +-using __STL_NEW_IO_NAMESPACE::wostream; +-using __STL_NEW_IO_NAMESPACE::wiostream; +-using __STL_NEW_IO_NAMESPACE::wstringbuf; +-using __STL_NEW_IO_NAMESPACE::wistringstream; +-using __STL_NEW_IO_NAMESPACE::wostringstream; +-using __STL_NEW_IO_NAMESPACE::wstringstream; +-using __STL_NEW_IO_NAMESPACE::wfilebuf; +-using __STL_NEW_IO_NAMESPACE::wifstream; +-using __STL_NEW_IO_NAMESPACE::wofstream; +-using __STL_NEW_IO_NAMESPACE::wfstream; +-using __STL_NEW_IO_NAMESPACE::wstreampos; ++# if !defined (_STLP_NO_WIDE_STREAMS) ++using _STLP_NEW_IO_NAMESPACE::wios; ++using _STLP_NEW_IO_NAMESPACE::wstreambuf; ++using _STLP_NEW_IO_NAMESPACE::wistream; ++using _STLP_NEW_IO_NAMESPACE::wostream; ++using _STLP_NEW_IO_NAMESPACE::wiostream; ++using _STLP_NEW_IO_NAMESPACE::wstringbuf; ++using _STLP_NEW_IO_NAMESPACE::wistringstream; ++using _STLP_NEW_IO_NAMESPACE::wostringstream; ++using _STLP_NEW_IO_NAMESPACE::wstringstream; ++using _STLP_NEW_IO_NAMESPACE::wfilebuf; ++using _STLP_NEW_IO_NAMESPACE::wifstream; ++using _STLP_NEW_IO_NAMESPACE::wofstream; ++using _STLP_NEW_IO_NAMESPACE::wfstream; ++using _STLP_NEW_IO_NAMESPACE::wstreampos; + # endif +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/iostream tripwire-2.3.1-2/src/STLport-4.0/stlport/using/iostream +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/iostream Sat Feb 24 10:45:22 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/using/iostream Sun Aug 11 18:59:25 2002 +@@ -1,11 +1,14 @@ +-using __STL_VENDOR_STD::cin; +-using __STL_VENDOR_STD::cout; +-using __STL_VENDOR_STD::cerr; +-using __STL_VENDOR_STD::clog; + +-# if ! defined (__STL_NO_WIDE_STREAMS) +-using __STL_VENDOR_STD::wcin; +-using __STL_VENDOR_STD::wcout; +-using __STL_VENDOR_STD::wcerr; +-using __STL_VENDOR_STD::wclog; ++# include ++ ++using _STLP_VENDOR_STD::cin; ++using _STLP_VENDOR_STD::cout; ++using _STLP_VENDOR_STD::cerr; ++using _STLP_VENDOR_STD::clog; ++ ++# if ! defined (_STLP_NO_WIDE_STREAMS) ++using _STLP_VENDOR_STD::wcin; ++using _STLP_VENDOR_STD::wcout; ++using _STLP_VENDOR_STD::wcerr; ++using _STLP_VENDOR_STD::wclog; + # endif +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/istream tripwire-2.3.1-2/src/STLport-4.0/stlport/using/istream +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/istream Sat Feb 24 10:45:22 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/using/istream Sun Aug 11 18:59:25 2002 +@@ -1,15 +1,16 @@ ++# include + +-using __STL_NEW_IO_NAMESPACE::basic_istream; +-using __STL_NEW_IO_NAMESPACE::basic_iostream; ++using _STLP_NEW_IO_NAMESPACE::basic_istream; ++using _STLP_NEW_IO_NAMESPACE::basic_iostream; + +-using __STL_NEW_IO_NAMESPACE::istream; +-using __STL_NEW_IO_NAMESPACE::iostream; ++using _STLP_NEW_IO_NAMESPACE::istream; ++using _STLP_NEW_IO_NAMESPACE::iostream; + +-# if !defined (__STL_NO_NATIVE_WIDE_STREAMS) +-using __STL_NEW_IO_NAMESPACE::wistream; +-using __STL_NEW_IO_NAMESPACE::wiostream; ++# if !defined (_STLP_NO_NATIVE_WIDE_STREAMS) ++using _STLP_NEW_IO_NAMESPACE::wistream; ++using _STLP_NEW_IO_NAMESPACE::wiostream; + # endif + +-#if !(defined (__STL_MSVC) && (__STL_MSVC < 1200)) +-using __STL_NEW_IO_NAMESPACE::ws; ++#if !(defined (_STLP_MSVC) && (_STLP_MSVC < 1200)) ++using _STLP_NEW_IO_NAMESPACE::ws; + #endif +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/locale tripwire-2.3.1-2/src/STLport-4.0/stlport/using/locale +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/locale Sat Feb 24 10:45:22 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/using/locale Sun Aug 11 18:59:25 2002 +@@ -1,62 +1,65 @@ ++#if !defined(_STLP_NO_IMPORT_LOCALE) ++ + // from +-#if !defined (__STL_NO_MBSTATE_T) +-using __STL_VENDOR_MB_NAMESPACE::mbstate_t; ++#if !defined (_STLP_NO_MBSTATE_T) ++using _STLP_VENDOR_MB_NAMESPACE::mbstate_t; + #endif + + // _lib.locale_, locale: +-using __STL_NEW_IO_NAMESPACE::locale; +-using __STL_NEW_IO_NAMESPACE::use_facet; +-using __STL_NEW_IO_NAMESPACE::has_facet; ++using _STLP_NEW_IO_NAMESPACE::locale; ++using _STLP_NEW_IO_NAMESPACE::use_facet; ++using _STLP_NEW_IO_NAMESPACE::has_facet; + + // _lib.locale.convenience_, convenience interfaces: +-using __STL_NEW_IO_NAMESPACE::isspace; +-using __STL_NEW_IO_NAMESPACE::isprint; +-using __STL_NEW_IO_NAMESPACE::iscntrl; +-using __STL_NEW_IO_NAMESPACE::isupper; +-using __STL_NEW_IO_NAMESPACE::islower; +-using __STL_NEW_IO_NAMESPACE::isalpha; +-using __STL_NEW_IO_NAMESPACE::isdigit; +-using __STL_NEW_IO_NAMESPACE::ispunct; +-using __STL_NEW_IO_NAMESPACE::isxdigit; +-using __STL_NEW_IO_NAMESPACE::isalnum; +-using __STL_NEW_IO_NAMESPACE::isgraph; +-using __STL_NEW_IO_NAMESPACE::toupper; +-using __STL_NEW_IO_NAMESPACE::tolower; ++using _STLP_NEW_IO_NAMESPACE::isspace; ++using _STLP_NEW_IO_NAMESPACE::isprint; ++using _STLP_NEW_IO_NAMESPACE::iscntrl; ++using _STLP_NEW_IO_NAMESPACE::isupper; ++using _STLP_NEW_IO_NAMESPACE::islower; ++using _STLP_NEW_IO_NAMESPACE::isalpha; ++using _STLP_NEW_IO_NAMESPACE::isdigit; ++using _STLP_NEW_IO_NAMESPACE::ispunct; ++using _STLP_NEW_IO_NAMESPACE::isxdigit; ++using _STLP_NEW_IO_NAMESPACE::isalnum; ++using _STLP_NEW_IO_NAMESPACE::isgraph; ++using _STLP_NEW_IO_NAMESPACE::toupper; ++using _STLP_NEW_IO_NAMESPACE::tolower; + + // _lib.category.ctype_ and _lib.facet.ctype.special_, ctype: +-using __STL_NEW_IO_NAMESPACE::ctype_base; +-using __STL_NEW_IO_NAMESPACE::ctype; +-using __STL_NEW_IO_NAMESPACE::ctype_byname; +-using __STL_NEW_IO_NAMESPACE::codecvt_base; +-using __STL_NEW_IO_NAMESPACE::codecvt; +-using __STL_NEW_IO_NAMESPACE::codecvt_byname; ++using _STLP_NEW_IO_NAMESPACE::ctype_base; ++using _STLP_NEW_IO_NAMESPACE::ctype; ++using _STLP_NEW_IO_NAMESPACE::ctype_byname; ++using _STLP_NEW_IO_NAMESPACE::codecvt_base; ++using _STLP_NEW_IO_NAMESPACE::codecvt; ++using _STLP_NEW_IO_NAMESPACE::codecvt_byname; + + // _lib.category.numeric_ and _lib.facet.numpunct_, numeric: +-using __STL_NEW_IO_NAMESPACE::num_get; +-using __STL_NEW_IO_NAMESPACE::num_put; +-using __STL_NEW_IO_NAMESPACE::numpunct; +-using __STL_NEW_IO_NAMESPACE::numpunct_byname; ++using _STLP_NEW_IO_NAMESPACE::num_get; ++using _STLP_NEW_IO_NAMESPACE::num_put; ++using _STLP_NEW_IO_NAMESPACE::numpunct; ++using _STLP_NEW_IO_NAMESPACE::numpunct_byname; + + // _lib.category.collate_, collation: +-using __STL_NEW_IO_NAMESPACE::collate; +-using __STL_NEW_IO_NAMESPACE::collate_byname; ++using _STLP_NEW_IO_NAMESPACE::collate; ++using _STLP_NEW_IO_NAMESPACE::collate_byname; + + // _lib.category.time_, date and time: +-using __STL_NEW_IO_NAMESPACE::time_base; +-using __STL_NEW_IO_NAMESPACE::time_get; +-using __STL_NEW_IO_NAMESPACE::time_get_byname; +-using __STL_NEW_IO_NAMESPACE::time_put; +-using __STL_NEW_IO_NAMESPACE::time_put_byname; ++using _STLP_NEW_IO_NAMESPACE::time_base; ++using _STLP_NEW_IO_NAMESPACE::time_get; ++using _STLP_NEW_IO_NAMESPACE::time_get_byname; ++using _STLP_NEW_IO_NAMESPACE::time_put; ++using _STLP_NEW_IO_NAMESPACE::time_put_byname; + + // _lib.category.monetary_, money: +-using __STL_NEW_IO_NAMESPACE::money_base; +-using __STL_NEW_IO_NAMESPACE::money_get; +-using __STL_NEW_IO_NAMESPACE::money_put; +-using __STL_NEW_IO_NAMESPACE::moneypunct; +-using __STL_NEW_IO_NAMESPACE::moneypunct_byname; +- +-#if !defined (__SGI_STL_OWN_IOSTREAMS) && !defined (__STL_NO_NATIVE_MESSAGE_FACET) +-using __STL_NEW_IO_NAMESPACE::messages_base; +-using __STL_NEW_IO_NAMESPACE::messages; +-using __STL_NEW_IO_NAMESPACE::messages_byname; ++using _STLP_NEW_IO_NAMESPACE::money_base; ++using _STLP_NEW_IO_NAMESPACE::money_get; ++using _STLP_NEW_IO_NAMESPACE::money_put; ++using _STLP_NEW_IO_NAMESPACE::moneypunct; ++using _STLP_NEW_IO_NAMESPACE::moneypunct_byname; ++ ++#if !defined (_STLP_OWN_IOSTREAMS) && !defined (_STLP_NO_NATIVE_MESSAGE_FACET) ++using _STLP_NEW_IO_NAMESPACE::messages_base; ++using _STLP_NEW_IO_NAMESPACE::messages; ++using _STLP_NEW_IO_NAMESPACE::messages_byname; + #endif // _MSL_NO_MESSAGE_FACET ++#endif /* !defined(_STLP_NO_IMPORT_LOCALE) */ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/ostream tripwire-2.3.1-2/src/STLport-4.0/stlport/using/ostream +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/ostream Sat Feb 24 10:45:22 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/using/ostream Sun Aug 11 18:59:25 2002 +@@ -1,10 +1,10 @@ +-using __STL_NEW_IO_NAMESPACE::basic_ostream; +-using __STL_NEW_IO_NAMESPACE::ostream; ++using _STLP_NEW_IO_NAMESPACE::basic_ostream; ++using _STLP_NEW_IO_NAMESPACE::ostream; + +-# ifndef __STL_NO_WIDE_STREAMS +-using __STL_NEW_IO_NAMESPACE::wostream; ++# ifndef _STLP_NO_WIDE_STREAMS ++using _STLP_NEW_IO_NAMESPACE::wostream; + # endif + +-using __STL_NEW_IO_NAMESPACE::endl; +-using __STL_NEW_IO_NAMESPACE::ends; +-using __STL_NEW_IO_NAMESPACE::flush; ++using _STLP_NEW_IO_NAMESPACE::endl; ++using _STLP_NEW_IO_NAMESPACE::ends; ++using _STLP_NEW_IO_NAMESPACE::flush; +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/sstream tripwire-2.3.1-2/src/STLport-4.0/stlport/using/sstream +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/sstream Sat Feb 24 10:45:22 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/using/sstream Sun Aug 11 18:59:25 2002 +@@ -1,16 +1,16 @@ +-using __STL_NEW_IO_NAMESPACE::basic_stringbuf; +-using __STL_NEW_IO_NAMESPACE::stringbuf; ++using _STLP_NEW_IO_NAMESPACE::basic_stringbuf; ++using _STLP_NEW_IO_NAMESPACE::stringbuf; + +-using __STL_NEW_IO_NAMESPACE::basic_istringstream; +-using __STL_NEW_IO_NAMESPACE::basic_ostringstream; +-using __STL_NEW_IO_NAMESPACE::basic_stringstream; +-using __STL_NEW_IO_NAMESPACE::istringstream; +-using __STL_NEW_IO_NAMESPACE::ostringstream; +-using __STL_NEW_IO_NAMESPACE::stringstream; ++using _STLP_NEW_IO_NAMESPACE::basic_istringstream; ++using _STLP_NEW_IO_NAMESPACE::basic_ostringstream; ++using _STLP_NEW_IO_NAMESPACE::basic_stringstream; ++using _STLP_NEW_IO_NAMESPACE::istringstream; ++using _STLP_NEW_IO_NAMESPACE::ostringstream; ++using _STLP_NEW_IO_NAMESPACE::stringstream; + +-#ifndef __STL_NO_WIDE_STREAMS +-using __STL_NEW_IO_NAMESPACE::wstringbuf; +-using __STL_NEW_IO_NAMESPACE::wistringstream; +-using __STL_NEW_IO_NAMESPACE::wostringstream; +-using __STL_NEW_IO_NAMESPACE::wstringstream; ++#ifndef _STLP_NO_WIDE_STREAMS ++using _STLP_NEW_IO_NAMESPACE::wstringbuf; ++using _STLP_NEW_IO_NAMESPACE::wistringstream; ++using _STLP_NEW_IO_NAMESPACE::wostringstream; ++using _STLP_NEW_IO_NAMESPACE::wstringstream; + #endif +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/streambuf tripwire-2.3.1-2/src/STLport-4.0/stlport/using/streambuf +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/streambuf Sat Feb 24 10:45:22 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/using/streambuf Sun Aug 11 18:59:25 2002 +@@ -1,5 +1,5 @@ +-using __STL_NEW_IO_NAMESPACE::basic_streambuf; +-using __STL_NEW_IO_NAMESPACE::streambuf; +-#ifndef __STL_NO_WIDE_STREAMS +-using __STL_NEW_IO_NAMESPACE::wstreambuf; ++using _STLP_NEW_IO_NAMESPACE::basic_streambuf; ++using _STLP_NEW_IO_NAMESPACE::streambuf; ++#ifndef _STLP_NO_WIDE_STREAMS ++using _STLP_NEW_IO_NAMESPACE::wstreambuf; + # endif +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/strstream tripwire-2.3.1-2/src/STLport-4.0/stlport/using/strstream +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/strstream Sat Feb 24 10:45:22 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/using/strstream Sun Aug 11 18:59:25 2002 +@@ -1,4 +1,4 @@ +-using __STL_NEW_IO_NAMESPACE::strstreambuf; +-using __STL_NEW_IO_NAMESPACE::istrstream; +-using __STL_NEW_IO_NAMESPACE::ostrstream; +-using __STL_NEW_IO_NAMESPACE::strstream; ++using _STLP_NEW_IO_NAMESPACE::strstreambuf; ++using _STLP_NEW_IO_NAMESPACE::istrstream; ++using _STLP_NEW_IO_NAMESPACE::ostrstream; ++using _STLP_NEW_IO_NAMESPACE::strstream; +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/utility tripwire-2.3.1-2/src/STLport-4.0/stlport/utility +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/utility Sat Feb 24 10:44:25 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/utility Sun Aug 11 18:59:23 2002 +@@ -20,46 +20,40 @@ + * + */ + +-#ifndef __SGI_STL_UTILITY +-#define __SGI_STL_UTILITY ++#ifndef _STLP_UTILITY ++#define _STLP_UTILITY + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x75 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x75 + # include + # endif + +-// this is not really needed by contents, +-// but it is convenient place to put this stuff in +-#if !defined (__STLPORT_DEBUG_H) && (defined (__STL_DEBUG) || defined (__STL_ASSERTIONS)) +-# include +-#endif +- +-# ifndef __SGI_STL_INTERNAL_RELOPS +-# include +-# endif +- + # ifndef __TYPE_TRAITS_H + # include + # endif + +-# ifndef __SGI_STL_INTERNAL_PAIR_H ++# if !defined (_STLP_DEBUG_H) && (defined (_STLP_DEBUG) || defined (_STLP_ASSERTIONS)) ++# include ++# endif ++ ++# ifndef _STLP_INTERNAL_PAIR_H + # include + # endif + +-# if defined (__STL_IMPORT_VENDOR_STD) +-# include __STL_NATIVE_HEADER(utility) ++# if defined (_STLP_IMPORT_VENDOR_STD) ++# include _STLP_NATIVE_HEADER(utility) + # else +-# if defined (__STL_MSVC) && ! defined (__SGI_STL_INTERNAL_ITERATOR_H) ++# if defined (_STLP_MSVC) && ! defined (_STLP_INTERNAL_ITERATOR_H) + # include + # endif + # endif + +-# if (__STL_OUTERMOST_HEADER_ID == 0x75) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x75) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_UTILITY */ ++#endif /* _STLP_UTILITY */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/valarray tripwire-2.3.1-2/src/STLport-4.0/stlport/valarray +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/valarray Sat Feb 24 10:44:25 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/valarray Sun Aug 11 18:59:23 2002 +@@ -16,26 +16,26 @@ + * + */ + +-#ifndef __SGI_STL_VALARRAY +-#define __SGI_STL_VALARRAY ++#ifndef _STLP_VALARRAY ++#define _STLP_VALARRAY + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x76 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x76 + # include + # endif + + #include + +-# ifdef __STL_WHOLE_NATIVE_STD +-# include __STL_NATIVE_HEADER(valarray) +-# endif ++#if defined (_STLP_WHOLE_VENDOR_STD) ++# include _STLP_NATIVE_HEADER(valarray) ++#endif + +-# if (__STL_OUTERMOST_HEADER_ID == 0x76) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x76) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_VALARRAY */ ++#endif /* _STLP_VALARRAY */ + + + // Local Variables: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/vector tripwire-2.3.1-2/src/STLport-4.0/stlport/vector +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/vector Sat Feb 24 10:44:25 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/vector Sun Aug 11 18:59:23 2002 +@@ -20,32 +20,32 @@ + * + */ + +-#ifndef __SGI_STL_VECTOR +-#define __SGI_STL_VECTOR ++#ifndef _STLP_VECTOR ++#define _STLP_VECTOR + +-# ifndef __STL_OUTERMOST_HEADER_ID +-# define __STL_OUTERMOST_HEADER_ID 0x77 ++# ifndef _STLP_OUTERMOST_HEADER_ID ++# define _STLP_OUTERMOST_HEADER_ID 0x77 + # include + # endif + +-# ifndef __SGI_STL_INTERNAL_ALGOBASE_H ++# ifndef _STLP_INTERNAL_ALGOBASE_H + # include + # endif + +-#ifndef __SGI_STL_INTERNAL_VECTOR_H ++#ifndef _STLP_INTERNAL_VECTOR_H + # include + #endif + +-#if defined (__STL_IMPORT_VENDOR_STD) +-# include __STL_NATIVE_HEADER(vector) ++#if defined (_STLP_IMPORT_VENDOR_STD) && ! defined (_STLP_MINIMUM_IMPORT_STD) ++# include _STLP_NATIVE_HEADER(vector) + #endif + +-# if (__STL_OUTERMOST_HEADER_ID == 0x77) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x77) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif + +-#endif /* __SGI_STL_VECTOR */ ++#endif /* _STLP_VECTOR */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wchar.h tripwire-2.3.1-2/src/STLport-4.0/stlport/wchar.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wchar.h Sat Feb 24 10:44:25 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/wchar.h Sun Aug 11 18:59:23 2002 +@@ -13,30 +13,36 @@ + * + */ + +-# if !defined (__STL_OUTERMOST_HEADER_ID) +-# define __STL_OUTERMOST_HEADER_ID 0x278 ++# if !defined (_STLP_OUTERMOST_HEADER_ID) ++# define _STLP_OUTERMOST_HEADER_ID 0x278 + # include +-# elif (__STL_OUTERMOST_HEADER_ID == 0x278) && ! defined (__STL_DONT_POP_0x278) +-# define __STL_DONT_POP_0x278 ++# elif (_STLP_OUTERMOST_HEADER_ID == 0x278) && ! defined (_STLP_DONT_POP_0x278) ++# define _STLP_DONT_POP_0x278 + # endif + +-# if ! defined (__STL_WINCE) ++# if ! defined (_STLP_WINCE) && ! defined (_STLP_NO_WCHAR_T) + + # if defined ( __BORLANDC__ ) && (__BORLANDC__) >= 0x530 +-# include +-using __STL_VENDOR_CSTD::strlen; +-using __STL_VENDOR_CSTD::strspn; ++// # include ++# include _STLP_NATIVE_CPP_C_HEADER(_str.h) ++using _STLP_VENDOR_CSTD::strlen; ++using _STLP_VENDOR_CSTD::strspn; ++# endif ++ ++# if defined (__GNUC__) && defined (__APPLE__) ++# include _STLP_NATIVE_C_HEADER(stddef.h) ++# else ++# include _STLP_NATIVE_C_HEADER(wchar.h) + # endif +-# include __STL_NATIVE_C_HEADER(wchar.h) + + # endif /* WINCE */ + +-# if (__STL_OUTERMOST_HEADER_ID == 0x278) +-# if ! defined (__STL_DONT_POP_0x278) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x278) ++# if ! defined (_STLP_DONT_POP_0x278) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif +-# undef __STL_DONT_POP_0x278 ++# undef _STLP_DONT_POP_0x278 + # endif + + // Local Variables: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wctype.h tripwire-2.3.1-2/src/STLport-4.0/stlport/wctype.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wctype.h Sat Feb 24 10:44:25 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/wctype.h Sun Aug 11 18:59:23 2002 +@@ -13,21 +13,21 @@ + * + */ + +-# if !defined (__STL_OUTERMOST_HEADER_ID) +-# define __STL_OUTERMOST_HEADER_ID 0x279 ++# if !defined (_STLP_OUTERMOST_HEADER_ID) ++# define _STLP_OUTERMOST_HEADER_ID 0x279 + # include +-# elif (__STL_OUTERMOST_HEADER_ID == 0x279) && ! defined (__STL_DONT_POP_0x279) +-# define __STL_DONT_POP_0x279 ++# elif (_STLP_OUTERMOST_HEADER_ID == 0x279) && ! defined (_STLP_DONT_POP_0x279) ++# define _STLP_DONT_POP_0x279 + # endif + +-# include __STL_NATIVE_C_HEADER(wctype.h) ++# include _STLP_NATIVE_C_HEADER(wctype.h) + +-# if (__STL_OUTERMOST_HEADER_ID == 0x279) +-# if ! defined (__STL_DONT_POP_0x279) ++# if (_STLP_OUTERMOST_HEADER_ID == 0x279) ++# if ! defined (_STLP_DONT_POP_0x279) + # include +-# undef __STL_OUTERMOST_HEADER_ID ++# undef _STLP_OUTERMOST_HEADER_ID + # endif +-# undef __STL_DONT_POP_0x279 ++# undef _STLP_DONT_POP_0x279 + # endif + + // Local Variables: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/complex tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/complex +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/complex Sat Feb 24 10:45:22 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/complex Sun Aug 11 18:59:25 2002 +@@ -13,35 +13,35 @@ + * + */ + +-# include __STL_NATIVE_HEADER(complex) ++# include _STLP_NATIVE_HEADER(complex) + +-# if defined (__STL_USE_OWN_NAMESPACE) +-__STL_BEGIN_NAMESPACE ++# if defined (_STLP_USE_OWN_NAMESPACE) ++_STLP_BEGIN_NAMESPACE + +-using __STL_COMPLEX_NAMESPACE::complex; ++using _STLP_COMPLEX_NAMESPACE::complex; + +-using __STL_COMPLEX_NAMESPACE::real; +-using __STL_COMPLEX_NAMESPACE::imag; +-using __STL_COMPLEX_NAMESPACE::abs; +-using __STL_COMPLEX_NAMESPACE::arg; +-using __STL_COMPLEX_NAMESPACE::norm; +- +-using __STL_COMPLEX_NAMESPACE::conj; +-using __STL_COMPLEX_NAMESPACE::polar; +- +-using __STL_COMPLEX_NAMESPACE::cos; +-using __STL_COMPLEX_NAMESPACE::cosh; +-using __STL_COMPLEX_NAMESPACE::exp; +-using __STL_COMPLEX_NAMESPACE::log; +-using __STL_COMPLEX_NAMESPACE::log10; +-using __STL_COMPLEX_NAMESPACE::pow; +-using __STL_COMPLEX_NAMESPACE::sin; +-using __STL_COMPLEX_NAMESPACE::sinh; +-using __STL_COMPLEX_NAMESPACE::sqrt; +-using __STL_COMPLEX_NAMESPACE::tan; +-using __STL_COMPLEX_NAMESPACE::tanh; ++using _STLP_COMPLEX_NAMESPACE::real; ++using _STLP_COMPLEX_NAMESPACE::imag; ++using _STLP_COMPLEX_NAMESPACE::abs; ++using _STLP_COMPLEX_NAMESPACE::arg; ++using _STLP_COMPLEX_NAMESPACE::norm; ++ ++using _STLP_COMPLEX_NAMESPACE::conj; ++using _STLP_COMPLEX_NAMESPACE::polar; ++ ++using _STLP_COMPLEX_NAMESPACE::cos; ++using _STLP_COMPLEX_NAMESPACE::cosh; ++using _STLP_COMPLEX_NAMESPACE::exp; ++using _STLP_COMPLEX_NAMESPACE::log; ++using _STLP_COMPLEX_NAMESPACE::log10; ++using _STLP_COMPLEX_NAMESPACE::pow; ++using _STLP_COMPLEX_NAMESPACE::sin; ++using _STLP_COMPLEX_NAMESPACE::sinh; ++using _STLP_COMPLEX_NAMESPACE::sqrt; ++using _STLP_COMPLEX_NAMESPACE::tan; ++using _STLP_COMPLEX_NAMESPACE::tanh; + +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + # endif /* USE_OWN_NAMESPACE */ + + // Local Variables: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/export tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/export +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/export Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/export Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,13 @@ ++./complex ++./export ++./fstream ++./iomanip ++./ios ++./iosfwd ++./iostream ++./istream ++./locale ++./ostream ++./sstream ++./streambuf ++./strstream +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/fstream tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/fstream +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/fstream Sat Feb 24 10:45:22 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/fstream Sun Aug 11 18:59:25 2002 +@@ -13,13 +13,13 @@ + * + */ + +-# if defined (__STL_USE_NEW_IOSTREAMS) +-# include __STL_NATIVE_HEADER(fstream) +-# if defined (__STL_USE_OWN_NAMESPACE) +-__STL_BEGIN_NAMESPACE ++# if defined (_STLP_USE_NEW_IOSTREAMS) ++# include _STLP_NATIVE_HEADER(fstream) ++# if defined (_STLP_USE_OWN_NAMESPACE) ++_STLP_BEGIN_NAMESPACE + # include +-__STL_END_NAMESPACE +-# endif /* __STL_OWN_NAMESPACE */ ++_STLP_END_NAMESPACE ++# endif /* _STLP_OWN_NAMESPACE */ + # else + # include +-# endif /* __STL_USE_NEW_IOSTREAMS */ ++# endif /* _STLP_USE_NEW_IOSTREAMS */ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/h/fstream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/h/fstream.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/h/fstream.h Sat Feb 24 10:45:23 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/h/fstream.h Sun Aug 11 18:59:25 2002 +@@ -1,7 +1,7 @@ +-# include __STL_NATIVE_OLD_STREAMS_HEADER(fstream.h) +-# if defined (__STL_USE_NAMESPACES) && ! defined (__STL_BROKEN_USING_DIRECTIVE) +-__STL_BEGIN_NAMESPACE ++# include _STLP_NATIVE_OLD_STREAMS_HEADER(fstream.h) ++# if defined (_STLP_USE_NAMESPACES) && ! defined (_STLP_BROKEN_USING_DIRECTIVE) ++_STLP_BEGIN_NAMESPACE + # include +-__STL_END_NAMESPACE +-# endif /* __STL_OWN_NAMESPACE */ ++_STLP_END_NAMESPACE ++# endif /* _STLP_OWN_NAMESPACE */ + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/h/iostream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/h/iostream.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/h/iostream.h Sat Feb 24 10:45:23 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/h/iostream.h Sun Aug 11 18:59:25 2002 +@@ -1,7 +1,11 @@ +-# include __STL_NATIVE_OLD_STREAMS_HEADER(iostream.h) ++// # ifndef _STLP_NO_WCHAR_T ++// # include ++// # endif + +-# if defined (__STL_USE_OWN_NAMESPACE) +-__STL_BEGIN_NAMESPACE ++# include _STLP_NATIVE_OLD_STREAMS_HEADER(iostream.h) ++ ++# if defined (_STLP_USE_OWN_NAMESPACE) ++_STLP_BEGIN_NAMESPACE + # include +-__STL_END_NAMESPACE +-# endif /* __STL_USE_OWN_NAMESPACE */ ++_STLP_END_NAMESPACE ++# endif /* _STLP_USE_OWN_NAMESPACE */ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/h/streambuf.h tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/h/streambuf.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/h/streambuf.h Sat Feb 24 10:45:23 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/h/streambuf.h Sun Aug 11 18:59:25 2002 +@@ -1,9 +1,9 @@ + //*TY 02/11/2000 - added missing header file + +-# include __STL_NATIVE_OLD_STREAMS_HEADER(iostream.h) ++# include _STLP_NATIVE_OLD_STREAMS_HEADER(iostream.h) + +-# if defined (__STL_USE_OWN_NAMESPACE) +-__STL_BEGIN_NAMESPACE ++# if defined (_STLP_USE_OWN_NAMESPACE) ++_STLP_BEGIN_NAMESPACE + # include +-__STL_END_NAMESPACE +-# endif /* __STL_USE_OWN_NAMESPACE */ ++_STLP_END_NAMESPACE ++# endif /* _STLP_USE_OWN_NAMESPACE */ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/h/strstream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/h/strstream.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/h/strstream.h Sat Feb 24 10:45:23 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/h/strstream.h Sun Aug 11 18:59:25 2002 +@@ -13,17 +13,17 @@ + * + */ + +-# if defined (_MSC_VER) && (_MSC_VER < 1200) +-# include __STL_NATIVE_OLD_STREAMS_HEADER(strstrea.h) ++# if defined (_MSC_VER) && (_MSC_VER <= 1200) ++# include _STLP_NATIVE_OLD_STREAMS_HEADER(strstrea.h) + # else +-# include __STL_NATIVE_OLD_STREAMS_HEADER(strstream.h) ++# include _STLP_NATIVE_OLD_STREAMS_HEADER(strstream.h) + # endif + +-# ifdef __STL_USE_OWN_NAMESPACE +-__STL_BEGIN_NAMESPACE ++# ifdef _STLP_USE_OWN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + # include +-__STL_END_NAMESPACE +-#endif /* __STL_OWN_NAMESPACE */ ++_STLP_END_NAMESPACE ++#endif /* _STLP_OWN_NAMESPACE */ + + + // Local Variables: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/iomanip tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/iomanip +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/iomanip Sat Feb 24 10:45:23 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/iomanip Sun Aug 11 18:59:25 2002 +@@ -13,27 +13,27 @@ + * + */ + +-# if defined (__STL_USE_NEW_IOSTREAMS) ++# if defined (_STLP_USE_NEW_IOSTREAMS) + +-# include __STL_NATIVE_HEADER(iomanip) ++# include _STLP_NATIVE_HEADER(iomanip) + +-# ifdef __STL_USE_OWN_NAMESPACE +-__STL_BEGIN_NAMESPACE ++# ifdef _STLP_USE_OWN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + # include +-__STL_END_NAMESPACE +-# endif /* __STL_OWN_NAMESPACE */ ++_STLP_END_NAMESPACE ++# endif /* _STLP_OWN_NAMESPACE */ + + # else + +-# include __STL_NATIVE_HEADER(iomanip.h) ++# include _STLP_NATIVE_OLD_STREAMS_HEADER(iomanip.h) + +-# if defined (__STL_USE_NAMESPACES) && ! defined (__STL_BROKEN_USING_DIRECTIVE) +-__STL_BEGIN_NAMESPACE ++# if defined (_STLP_USE_NAMESPACES) && ! defined (_STLP_BROKEN_USING_DIRECTIVE) ++_STLP_BEGIN_NAMESPACE + # include +-__STL_END_NAMESPACE +-# endif /* __STL_USE_OWN_NAMESPACE */ ++_STLP_END_NAMESPACE ++# endif /* _STLP_USE_OWN_NAMESPACE */ + +-# endif /* __STL_USE_NEW_IOSTREAMS */ ++# endif /* _STLP_USE_NEW_IOSTREAMS */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/ios tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/ios +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/ios Sat Feb 24 10:45:23 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/ios Sun Aug 11 18:59:25 2002 +@@ -13,13 +13,13 @@ + * + */ + +-# if defined (__STL_USE_NEW_IOSTREAMS) +-# include __STL_NATIVE_HEADER(ios) +-# ifdef __STL_USE_OWN_NAMESPACE +-__STL_BEGIN_NAMESPACE ++# if defined (_STLP_USE_NEW_IOSTREAMS) ++# include _STLP_NATIVE_HEADER(ios) ++# ifdef _STLP_USE_OWN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + # include +-__STL_END_NAMESPACE +-#endif /* __STL_OWN_NAMESPACE */ ++_STLP_END_NAMESPACE ++#endif /* _STLP_OWN_NAMESPACE */ + # else + # include + # endif /* USE_NEW_IOSTREAMS */ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/iosfwd tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/iosfwd +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/iosfwd Sat Feb 24 10:45:23 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/iosfwd Sun Aug 11 18:59:25 2002 +@@ -13,17 +13,17 @@ + * + */ + +-# ifndef __STLPORT_CSTDDEF ++# ifndef _STLP_CSTDDEF + # include /* wchar_t */ + # endif + +-# ifndef __STLPORT_CSTRING ++# ifndef _STLP_CSTRING + # include + # endif + +-# if defined (__STL_USE_NEW_IOSTREAMS) ++# if defined (_STLP_USE_NEW_IOSTREAMS) + +-# include __STL_NATIVE_HEADER(iosfwd) ++# include _STLP_NATIVE_HEADER(iosfwd) + + # if defined ( __MWERKS__ ) || defined (__KCC) + // MSL leaves a few important things out of . +@@ -43,7 +43,7 @@ + class ostreambuf_iterator; + # endif /* __MWERKS__ */ + +-# if defined (__STL_NO_NATIVE_WIDE_STREAMS) ++# if defined (_STLP_NO_NATIVE_WIDE_STREAMS) + class streampos; + # endif + +@@ -56,30 +56,30 @@ + + # else + +-__STL_BEGIN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + template class allocator; +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + + // use old-style iostreams + # include + # include + +-#ifndef __SGI_STL_CHAR_TRAITS_H ++#ifndef _STLP_CHAR_TRAITS_H + // that defines char_traits or imports std::char_traits + # include + #endif + +-# endif /* __STL_USE_NEW_IOSTREAMS */ ++# endif /* _STLP_USE_NEW_IOSTREAMS */ + +-# ifdef __STL_USE_ABBREVS ++# ifdef _STLP_USE_ABBREVS + # define istream_iterator _iS__It + # define ostream_iterator _oS__It + # endif + +-# if defined (__STL_USE_OWN_NAMESPACE) +-__STL_BEGIN_NAMESPACE ++# if defined (_STLP_USE_OWN_NAMESPACE) ++_STLP_BEGIN_NAMESPACE + # include +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + # endif + + // Local Variables: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/iostream tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/iostream +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/iostream Sat Feb 24 10:45:23 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/iostream Sun Aug 11 18:59:25 2002 +@@ -13,22 +13,22 @@ + * + */ + +-# if defined (__STL_MSVC) && (__STL_MSVC < 1200) ++# if defined (_STLP_MSVC) && (_STLP_MSVC < 1200) + # include + // lower ifdef level + # include + # endif + +-# if defined (__STL_USE_NEW_IOSTREAMS) +-# include __STL_NATIVE_HEADER(iostream) +-# if defined (__STL_USE_OWN_NAMESPACE) +-__STL_BEGIN_NAMESPACE ++# if defined (_STLP_USE_NEW_IOSTREAMS) ++# include _STLP_NATIVE_HEADER(iostream) ++# if defined (_STLP_USE_OWN_NAMESPACE) ++_STLP_BEGIN_NAMESPACE + # include +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + # endif + # else + # include +-# endif /* __STL_USE_NEW_STYLE_IOSTREAMS */ ++# endif /* _STLP_USE_NEW_STYLE_IOSTREAMS */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/istream tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/istream +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/istream Sat Feb 24 10:45:23 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/istream Sun Aug 11 18:59:25 2002 +@@ -13,33 +13,33 @@ + * + */ + +-# if defined (__STL_MSVC) && (__STL_MSVC < 1200) ++# if defined (_STLP_MSVC) && (_STLP_MSVC < 1200) + // # include + // lower ifdef level + # include + # endif + +-# if defined (__STL_USE_NEW_IOSTREAMS) ++# if defined (_STLP_USE_NEW_IOSTREAMS) + +-# include __STL_NATIVE_HEADER(istream) ++# include _STLP_NATIVE_HEADER(istream) + +-# if defined (__STL_USE_OWN_NAMESPACE) +-__STL_BEGIN_NAMESPACE ++# if defined (_STLP_USE_OWN_NAMESPACE) ++_STLP_BEGIN_NAMESPACE + # include +-__STL_END_NAMESPACE +-# endif /* __STL_OWN_NAMESPACE */ ++_STLP_END_NAMESPACE ++# endif /* _STLP_OWN_NAMESPACE */ + + # else + +-# include __STL_NATIVE_OLD_STREAMS_HEADER(iostream.h) +-# if defined (__STL_USE_NAMESPACES) +-__STL_BEGIN_NAMESPACE ++# include _STLP_NATIVE_OLD_STREAMS_HEADER(iostream.h) ++# if defined (_STLP_USE_NAMESPACES) ++_STLP_BEGIN_NAMESPACE + using ::istream; + // using ::ws; +-__STL_END_NAMESPACE ++_STLP_END_NAMESPACE + # endif /* NAMESPACES */ + +-# endif /* if defined (__STL_USE_NEW_IOSTREAMS) */ ++# endif /* if defined (_STLP_USE_NEW_IOSTREAMS) */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/locale tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/locale +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/locale Sat Feb 24 10:45:23 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/locale Sun Aug 11 18:59:25 2002 +@@ -13,17 +13,17 @@ + * + */ + +-# ifndef __STLPORT_CSTDLIB ++# ifndef _STLP_CSTDLIB + # include + # endif + +-# include __STL_NATIVE_HEADER(locale) ++# include _STLP_NATIVE_HEADER(locale) + +-# ifdef __STL_USE_OWN_NAMESPACE +-__STL_BEGIN_NAMESPACE ++# ifdef _STLP_USE_OWN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + # include +-__STL_END_NAMESPACE +-#endif /* __STL_OWN_NAMESPACE */ ++_STLP_END_NAMESPACE ++#endif /* _STLP_OWN_NAMESPACE */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/ostream tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/ostream +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/ostream Sat Feb 24 10:45:23 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/ostream Sun Aug 11 18:59:25 2002 +@@ -13,32 +13,32 @@ + * + */ + +-# if defined (__STL_MSVC) && (__STL_MSVC < 1200) ++# if defined (_STLP_MSVC) && (_STLP_MSVC < 1200) + // # include + // lower ifdef level + # include + # endif + +-# if defined (__STL_USE_NEW_IOSTREAMS) || defined (__IN_STLPORT_OSTREAM) ++# if defined (_STLP_USE_NEW_IOSTREAMS) || defined (__IN_STLPORT_OSTREAM) + +-# include __STL_NATIVE_HEADER(ostream) ++# include _STLP_NATIVE_HEADER(ostream) + +-# if defined (__STL_USE_OWN_NAMESPACE) +-__STL_BEGIN_NAMESPACE ++# if defined (_STLP_USE_OWN_NAMESPACE) ++_STLP_BEGIN_NAMESPACE + # include +-__STL_END_NAMESPACE +-# endif /* __STL_OWN_NAMESPACE */ ++_STLP_END_NAMESPACE ++# endif /* _STLP_OWN_NAMESPACE */ + + # else + +-# include __STL_NATIVE_OLD_STREAMS_HEADER(iostream.h) ++# include _STLP_NATIVE_OLD_STREAMS_HEADER(iostream.h) + +-# if defined (__STL_USE_NAMESPACES) && ! defined (__STL_BROKEN_USING_DIRECTIVE) +-__STL_BEGIN_NAMESPACE ++# if defined (_STLP_USE_NAMESPACES) && ! defined (_STLP_BROKEN_USING_DIRECTIVE) ++_STLP_BEGIN_NAMESPACE + # include +-__STL_END_NAMESPACE +-# endif /* __STL_NAMESPACE */ +-# endif /* if defined (__STL_USE_NEW_IOSTREAMS) */ ++_STLP_END_NAMESPACE ++# endif /* _STLP_NAMESPACE */ ++# endif /* if defined (_STLP_USE_NEW_IOSTREAMS) */ + // Local Variables: + // mode:C++ + // End: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/sstream tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/sstream +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/sstream Sat Feb 24 10:45:23 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/sstream Sun Aug 11 18:59:25 2002 +@@ -13,12 +13,12 @@ + * + */ + +-# include __STL_NATIVE_HEADER(sstream) +-# ifdef __STL_USE_OWN_NAMESPACE +-__STL_BEGIN_NAMESPACE ++# include _STLP_NATIVE_HEADER(sstream) ++# ifdef _STLP_USE_OWN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + # include +-__STL_END_NAMESPACE +-#endif /* __STL_OWN_NAMESPACE */ ++_STLP_END_NAMESPACE ++#endif /* _STLP_OWN_NAMESPACE */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/streambuf tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/streambuf +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/streambuf Sat Feb 24 10:45:23 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/streambuf Sun Aug 11 18:59:25 2002 +@@ -13,17 +13,17 @@ + * + */ + +-# if defined (__STL_USE_NEW_IOSTREAMS) +-# include __STL_NATIVE_HEADER(streambuf) ++# if defined (_STLP_USE_NEW_IOSTREAMS) ++# include _STLP_NATIVE_HEADER(streambuf) + # else + # include + # endif + +-# if defined (__STL_USE_OWN_NAMESPACE) && defined (__STL_USE_NEW_IOSTREAMS) +-__STL_BEGIN_NAMESPACE ++# if defined (_STLP_USE_OWN_NAMESPACE) && defined (_STLP_USE_NEW_IOSTREAMS) ++_STLP_BEGIN_NAMESPACE + # include +-__STL_END_NAMESPACE +-# endif /* __STL_OWN_NAMESPACE */ ++_STLP_END_NAMESPACE ++# endif /* _STLP_OWN_NAMESPACE */ + + // Local Variables: + // mode:C++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/strstream tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/strstream +--- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/strstream Sat Feb 24 10:45:23 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/strstream Sun Aug 11 18:59:25 2002 +@@ -13,13 +13,13 @@ + * + */ + +-# include __STL_NATIVE_HEADER(strstream) ++# include _STLP_NATIVE_HEADER(strstream) + +-# ifdef __STL_USE_OWN_NAMESPACE +-__STL_BEGIN_NAMESPACE ++# ifdef _STLP_USE_OWN_NAMESPACE ++_STLP_BEGIN_NAMESPACE + # include +-__STL_END_NAMESPACE +-#endif /* __STL_OWN_NAMESPACE */ ++_STLP_END_NAMESPACE ++#endif /* _STLP_OWN_NAMESPACE */ + + + // Local Variables: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/Prefix.h tripwire-2.3.1-2/src/STLport-4.0/test/eh/Prefix.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/Prefix.h Sat Feb 24 10:45:25 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/Prefix.h Sun Aug 11 18:59:25 2002 +@@ -23,14 +23,19 @@ + // considerably if your malloc is slow. + #define TESTCLASS_DEEP_DATA 1 + ++# ifndef NO_FAST_ALLOCATOR ++// # define NO_FAST_ALLOCATOR ++# endif ++ + // Define this to use the SGI STL. Undefine it to test a different installation + #ifndef EH_NO_SGI_STL + # define EH_USE_SGI_STL 1 + #endif + ++ + #if EH_USE_SGI_STL + +-#define EH_ASSERT __STL_ASSERT ++#define EH_ASSERT _STLP_ASSERT + + //========================================================================= + // SGI STL-specific #defines +@@ -38,36 +43,44 @@ + // STL. They have no effect when testing other STL implementations. + //========================================================================= + ++// # define _STLP_USE_RAW_SGI_ALLOCATORS ++# ifndef _STLP_USE_NEWALLOC ++# define _STLP_USE_NEWALLOC ++# endif ++# if !defined (_STLP_NO_CUSTOM_IO) && ! defined (__BORLANDC__) ++# define _STLP_NO_CUSTOM_IO ++# endif ++ + // Just include something to get whatever configuration header we're using. + # include + +-# ifndef __STL_CALL +-# define __STL_CALL ++# ifndef _STLP_CALL ++# define _STLP_CALL + # endif + +-# if defined(__STL_USE_NAMESPACES) +-# define EH_USE_NAMESPACES __STL_USE_NAMESPACES ++# if defined(_STLP_USE_NAMESPACES) ++# define EH_USE_NAMESPACES _STLP_USE_NAMESPACES + # endif + +-# define EH_BEGIN_NAMESPACE __STL_BEGIN_NAMESPACE +-# define EH_END_NAMESPACE __STL_END_NAMESPACE ++# define EH_BEGIN_NAMESPACE _STLP_BEGIN_NAMESPACE ++# define EH_END_NAMESPACE _STLP_END_NAMESPACE + + # define EH_NEW_HEADERS 1 + +-# if defined (__STL_USE_NEW_IOSTREAMS) ++# if defined (_STLP_USE_NEW_IOSTREAMS) + # define EH_NEW_IOSTREAMS 1 + # endif + +-# if !defined (__STL_USE_EXCEPTIONS) ++# if !defined (_STLP_USE_EXCEPTIONS) + # define EH_NO_EXCEPTIONS + # endif + +-# if defined (__STL_TEMPLATE_PARAM_SUBTYPE_BUG) +-# define EH_TEMPLATE_PARAM_SUBTYPE_BUG __STL_TEMPLATE_PARAM_SUBTYPE_BUG ++# if defined (_STLP_TEMPLATE_PARAM_SUBTYPE_BUG) ++# define EH_TEMPLATE_PARAM_SUBTYPE_BUG _STLP_TEMPLATE_PARAM_SUBTYPE_BUG + # endif + +-# if defined(__STL_MULTI_CONST_TEMPLATE_ARG_BUG) +-# define EH_MULTI_CONST_TEMPLATE_ARG_BUG __STL_MULTI_CONST_TEMPLATE_ARG_BUG ++# if defined(_STLP_MULTI_CONST_TEMPLATE_ARG_BUG) ++# define EH_MULTI_CONST_TEMPLATE_ARG_BUG _STLP_MULTI_CONST_TEMPLATE_ARG_BUG + # endif + + # if defined (STLPORT) +@@ -92,7 +105,7 @@ + # define EH_SLIST_IMPLEMENTED 1 + # define EH_SELECT1ST_HINT __select1st_hint + // fbp : DEC cxx is unable to compile it for some reason +-# if !( defined (__DECCXX) || (defined (__GNUC__) && (__GNUC_MINOR__ < 8))) ++# if !( defined (__DECCXX) || defined (__amigaos__) || (defined (__GNUC__) && (__GNUC_MINOR__ < 8))) + # define EH_ROPE_IMPLEMENTED 1 + # endif + # define EH_STRING_IMPLEMENTED 1 +@@ -100,17 +113,74 @@ + //# define EH_VALARRAY_IMPLEMENTED 1 - we have no tests yet for valarray + + # define stl_destroy EH_STD::destroy +- + # include + +-# define eh_allocator(T) EH_STD::__allocator > ++template ++class _STLP_CLASS_DECLSPEC EH_allocator; ++ ++template ++class _STLP_CLASS_DECLSPEC EH_allocator { ++public: ++ ++ typedef _Tp value_type; ++ typedef value_type * pointer; ++ typedef const _Tp* const_pointer; ++ typedef _Tp& reference; ++ typedef const _Tp& const_reference; ++ typedef size_t size_type; ++ typedef ptrdiff_t difference_type; ++# if defined (_STLP_MEMBER_TEMPLATE_CLASSES) ++ template struct rebind { ++ typedef EH_allocator<_Tp1> other; ++ }; ++# endif ++ EH_allocator() _STLP_NOTHROW {} ++ # if defined (_STLP_MEMBER_TEMPLATES) ++ template EH_allocator(const EH_allocator<_Tp1>&) _STLP_NOTHROW {} ++ # endif ++ EH_allocator(const EH_allocator<_Tp>&) _STLP_NOTHROW {} ++ ~EH_allocator() _STLP_NOTHROW {} ++ pointer address(reference __x) { return &__x; } ++ const_pointer address(const_reference __x) const { return &__x; } ++ // __n is permitted to be 0. The C++ standard says nothing about what the return value is when __n == 0. ++ _Tp* allocate(size_type __n, const void* = 0) const { ++ return __n != 0 ? __REINTERPRET_CAST(value_type*,EH_STD::__new_alloc::allocate(__n * sizeof(value_type))) : 0; ++ } ++ // __p is permitted to be a null pointer, only if n==0. ++ void deallocate(pointer __p, size_type __n) const { ++ _STLP_ASSERT( (__p == 0) == (__n == 0) ) ++ if (__p != 0) EH_STD::__new_alloc::deallocate((void*)__p, __n * sizeof(value_type)); ++ } ++ // backwards compatibility ++ void deallocate(pointer __p) const { if (__p != 0) EH_STD::__new_alloc::deallocate((void*)__p, sizeof(value_type)); } ++ size_type max_size() const _STLP_NOTHROW { return size_t(-1) / sizeof(value_type); } ++ void construct(pointer __p, const _Tp& __val) const { _STLP_STD::construct(__p, __val); } ++ void destroy(pointer __p) const { _STLP_STD::destroy(__p); } ++ ++}; ++ ++template inline bool _STLP_CALL operator==(const EH_allocator<_T1>&, const EH_allocator<_T1>&) { return true; } ++template inline bool _STLP_CALL operator!=(const EH_allocator<_T1>&, const EH_allocator<_T1>&) { return false; } ++ ++_STLP_BEGIN_NAMESPACE ++// If custom allocators are being used without member template classes support : ++// user (on purpose) is forced to define rebind/get operations !!! ++template ++inline EH_allocator<_Tp2>& _STLP_CALL ++__stl_alloc_rebind(EH_allocator<_Tp1>& __a, const _Tp2*) { return (EH_allocator<_Tp2>&)(__a); } ++template ++inline EH_allocator<_Tp2> _STLP_CALL ++__stl_alloc_create(const EH_allocator<_Tp1>&, const _Tp2*) { return EH_allocator<_Tp2>(); } ++_STLP_END_NAMESPACE ++ ++# define eh_allocator(T) ::EH_allocator + + # define EH_BIT_VECTOR_IMPLEMENTED + +-# if defined(__STL_CLASS_PARTIAL_SPECIALIZATION) && !defined(__STL_NO_BOOL) ++# if defined(_STLP_CLASS_PARTIAL_SPECIALIZATION) && !defined(_STLP_NO_BOOL) + # define EH_BIT_VECTOR EH_STD::vector + # else +-# ifdef __STL_NO_BOOL ++# ifdef _STLP_NO_BOOL + # undef EH_BIT_VECTOR_IMPLEMENTED + # else + # define EH_BIT_VECTOR EH_STD::__vector__ +@@ -236,7 +306,7 @@ + # define EH_USE_STD + #endif + +-#if defined (EH_USE_NAMESPACES) && !defined(__STL_VENDOR_GLOBAL_CSTD) ++#if defined (EH_USE_NAMESPACES) && !defined(_STLP_VENDOR_GLOBAL_CSTD) + # define USING_CSTD_NAME(name) using EH_STD :: name; + #else + # define USING_CSTD_NAME(name) +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/TestClass.h tripwire-2.3.1-2/src/STLport-4.0/test/eh/TestClass.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/TestClass.h Sat Feb 24 10:45:25 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/TestClass.h Sun Aug 11 18:59:25 2002 +@@ -49,10 +49,14 @@ + + inline TestClass operator!() const; + +- inline bool operator==( const TestClass& rhs ) const +- { +- return value() == rhs.value(); +- } ++ bool operator==( const TestClass& rhs ) const ++ { ++ return value() == rhs.value(); ++ } ++ ++ bool operator<( const TestClass& rhs ) const { ++ return value() < rhs.value(); ++ } + + protected: + static inline unsigned int get_random(unsigned range = UINT_MAX); +@@ -138,10 +142,6 @@ + return TestClass( value()+1 ); + } + +-inline bool operator<( const TestClass& lhs, const TestClass& rhs ) { +- return lhs.value() < rhs.value(); +-} +- + inline bool operator>( const TestClass& lhs, const TestClass& rhs ) { + return rhs < lhs; + } +@@ -153,13 +153,6 @@ + inline bool operator<=( const TestClass& lhs, const TestClass& rhs ) { + return !(rhs < lhs); + } +- +-# if 0 +-inline bool operator==( const TestClass& lhs, const TestClass& rhs ) +-{ +- return lhs.value() == rhs.value(); +-} +-# endif + + inline bool operator != ( const TestClass& lhs, const TestClass& rhs ) { + return lhs.value() != rhs.value(); +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/bcb.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/bcb.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/bcb.mak Sat Feb 24 10:45:23 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/bcb.mak Sun Aug 11 18:59:25 2002 +@@ -41,22 +41,23 @@ + PATHASM = .; + PATHRC = .; + +-# USERDEFINES = __STL_NO_SGI_IOSTREAMS ++# USERDEFINES = _STLP_NO_OWN_IOSTREAMS + + USERDEFINES = _DEBUG + + SYSDEFINES = _RTLDLL;NO_STRICT;USEPACKAGES +-SYSDEFINES = NO_STRICT;USEPACKAGES ++# SYSDEFINES = NO_STRICT;USEPACKAGES + # --------------------------------------------------------------------------- + CFLAG1 = -w- -jb -j1 -I.;..\..\stlport;$(BCB)\include; -Od -v -N -x -xp -tWC -D$(SYSDEFINES);$(USERDEFINES) + +-LDFLAGS = -L..\..\lib ++LDFLAGS = -L..\..\lib;$(BCB)\..\lib cw32i.lib stlp.4.5.lib + + .autodepend + # --------------------------------------------------------------------------- + + all : $(PROJECT) +- eh_test.exe -s 100 ++ cd ..\..\lib ++ ..\test\eh\eh_test.exe -s 100 + + $(PROJECT) : $(OBJFILES) + $(BCC32) -e$(PROJECT) $(CFLAG1) $(LDFLAGS) $(OBJFILES) +@@ -66,8 +67,12 @@ + + # --------------------------------------------------------------------------- + .cpp.obj: +- $(BCB)\BIN\$(BCC32) $(CFLAG1) -n$(@D) -c $< ++ $(BCC32) $(CFLAG1) -n$(@D) -c $< ++ ++.cpp.exe: ++ $(BCC32) $(CFLAG1) $(LDFLAGS) -n$(@D) $< + + .cpp.i: +- $(BCB)\BIN\$(CPP32) $(CFLAG1) -n. -Sr -Ss -Sd {$< } ++ $(CPP32) $(CFLAG1) -n. -Sr -Ss -Sd {$< } + # --------------------------------------------------------------------------- ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/bug.cpp tripwire-2.3.1-2/src/STLport-4.0/test/eh/bug.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/bug.cpp Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/bug.cpp Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,39 @@ ++#include ++#include ++#include ++#include ++#include ++ ++struct compare ++{ ++ bool operator()(int* x, int* y) ++ { return *x < *y; } ++ ++}; ++ ++int main(int argc, char const* const argv[]) ++{ ++ std::size_t niters = argc < 2 ? 1000 : boost::lexical_cast(argv[1]); ++ ++ boost::timer t; ++ ++ std::vector v; ++ for (int n = 0; n < niters; ++n) ++ { ++ v.insert(v.begin() + v.size()/2, n); ++ } ++ ++ std::cout << "vector fill: " << t.elapsed() << std::endl; ++ ++ std::multiset m; ++ for (int n = 0; n < niters; ++n) ++ { ++ m.insert(&v[n]); ++ } ++ std::cout << "map fill 1: " << t.elapsed() << std::endl; ++ for (int n = 0; n < niters; ++n) ++ { ++ m.insert(&v[n]); ++ } ++ std::cout << "map fill 2: " << t.elapsed() << std::endl; ++} +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/como.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/como.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/como.mak Sat Feb 24 10:45:23 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/como.mak Sun Aug 11 18:59:25 2002 +@@ -29,7 +29,7 @@ + CXX = $(CC) + + # __COMO__ appears not to be defined automatically ;( +-CXXFLAGS = -D__COMO__ -D_MSC_VER=1200 --exceptions --microsoft -D__STL_DEBUG -I${STL_INCL} -I. ${CXX_EXTRA_FLAGS} ++CXXFLAGS = -D__COMO__ -D_MSC_VER=1200 --exceptions --microsoft -D_STLP_DEBUG -I${STL_INCL} -I. ${CXX_EXTRA_FLAGS} + + LIBS = -lm + LIBSTDCXX = +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/cygwin.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/cygwin.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/cygwin.mak Sat Feb 24 10:45:23 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/cygwin.mak Sun Aug 11 18:59:25 2002 +@@ -40,13 +40,13 @@ + # also, test_slist won't compile with -O3/-O2 when targeting PPC. It fails + # in the assembler with 'invalid relocation type' + CXXFLAGS = -Wall -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW +-D_CXXFLAGS = -Wall -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -D__STL_DEBUG -D__STL_USE_STATIC_LIB +-NOSGI_CXXFLAGS = -Wall -g -O2 ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -D__STL_NO_SGI_IOSTREAMS -D__STL_DEBUG_UNINITIALIZED -DEH_VECTOR_OPERATOR_NEW ++D_CXXFLAGS = -Wall -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -D_STLP_DEBUG -D_STLP_USE_STATIC_LIB ++NOSGI_CXXFLAGS = -Wall -g -O2 ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -D_STLP_NO_OWN_IOSTREAMS -D_STLP_DEBUG_UNINITIALIZED -DEH_VECTOR_OPERATOR_NEW + + check: $(TEST) + + LIBS = -lm +-D_LIBSTLPORT = -L../../lib -lstlport_cygwin_debug ++D_LIBSTLPORT = -L../../lib -lstlport_cygwin_stldebug + LIBSTLPORT = -L../../lib -lstlport_cygwin + + all: $(TEST_EXE) $(D_TEST_EXE) $(NOSGI_TEST_EXE) +@@ -54,14 +54,24 @@ + check_nosgi: $(NOSGI_TEST) + check_d: $(D_TEST) + ++OBJDIR=obj ++D_OBJDIR=d_obj ++NOSGI_OBJDIR=nosgi_obj ++ ++$(OBJDIR): ++ mkdir obj ++$(D_OBJDIR): ++ mkdir d_obj ++$(NOSGI_OBJDIR): ++ mkdir nosgi_obj + +-$(TEST_EXE) : $(OBJECTS) ++$(TEST_EXE) : $(OBJDIR) $(OBJECTS) + $(CXX) $(CXXFLAGS) $(OBJECTS) $(LIBSTLPORT) $(LIBS) -o $(TEST_EXE) + +-$(D_TEST_EXE) : $(D_OBJECTS) ++$(D_TEST_EXE) : $(D_OBJDIR) $(D_OBJECTS) + $(CXX) $(D_CXXFLAGS) $(D_OBJECTS) $(D_LIBSTLPORT) $(LIBS) -o $(D_TEST_EXE) + +-$(NOSGI_TEST_EXE) : $(NOSGI_OBJECTS) ++$(NOSGI_TEST_EXE) : $(NOSGI_OBJDIR) $(NOSGI_OBJECTS) + $(CXX) $(NOSGI_CXXFLAGS) $(NOSGI_OBJECTS) $(LIBS) -o $(NOSGI_TEST_EXE) + + +@@ -98,8 +108,8 @@ + $(CXX) $(CXXFLAGS) $< -E -H > $@ + + %.out: %.cpp +- $(CXX) $(CXXFLAGS) $< -c -USINGLE -DMAIN -g -o $*.o +- $(CXX) $(CXXFLAGS) $*.o $(LIBS) -o $* ++ $(CXX) $(CXXFLAGS) $< -c -USINGLE -DMAIN -g -D_STLP_DEBUG -D_REENTRANT -o $*.o ++ $(CXX) $(CXXFLAGS) $*.o $(D_LIBSTLPORT) $(LIBS) -o $* + ./$* > $@ + -rm -f $* + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/deccxx.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/deccxx.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/deccxx.mak Sat Feb 24 10:45:23 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/deccxx.mak Sun Aug 11 18:59:25 2002 +@@ -2,7 +2,8 @@ + # Generated automatically from Makefile.in by configure. + # This requires GNU make. + +-# SHELL=/bin/sh ++SHELL=/bin/sh ++ + # srcdir = . + # VPATH = . + +@@ -39,10 +40,10 @@ + # CXXFLAGS = ${STL_INCL} -std strict_ansi_errors -DEH_VECTOR_OPERATOR_NEW -DEH_DELETE_HAS_THROW_SPEC + + # This is to test with native STL +-# CXXFLAGS = +w2 -xildoff -D__STL_USE_NEWALLOC -DEH_NO_SGI_STL -DEH_NEW_HEADERS -DEH_VECTOR_OPERATOR_NEW -DEH_DELETE_HAS_THROW_SPEC ++# CXXFLAGS = +w2 -xildoff -D_STLP_USE_NEWALLOC -DEH_NO_SGI_STL -DEH_NEW_HEADERS -DEH_VECTOR_OPERATOR_NEW -DEH_DELETE_HAS_THROW_SPEC + + +-LIBS = -lm ++LIBS = -L../../lib -lstlport_dec -lm + LIBSTDCXX = + + .SUFFIXES: .cpp .i .o .out .res +@@ -51,7 +52,7 @@ + + $(TEST) : $(OBJECTS) + $(CXX) $(CXXFLAGS) $(OBJECTS) $(LIBS) -o $(TEST_EXE) +- $(TEST_EXE) ++ LD_LIBRARY_PATH="../../lib:$(LD_LIBRARY_PATH)" ./$(TEST_EXE) -s 100 + + .cpp.o: + $(CXX) $(CXXFLAGS) $< -c -o $@ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/djgpp.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/djgpp.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/djgpp.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/djgpp.mak Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,121 @@ ++# ;;; -*- Mode:makefile;-*- ++# Generated automatically from Makefile.in by configure. ++# This requires GNU make. ++ ++srcdir = . ++VPATH = . ++ ++# point this to proper location ++STL_INCL=-I../../stlport ++ ++AUX_LIST=TestClass.cpp main.cpp nc_alloc.cpp random_number.cpp ++ ++TEST_LIST=test_algo.cpp \ ++test_algobase.cpp test_list.cpp test_slist.cpp \ ++test_bit_vector.cpp test_vector.cpp \ ++test_deque.cpp test_set.cpp test_map.cpp \ ++test_hash_map.cpp test_hash_set.cpp test_rope.cpp \ ++test_string.cpp test_bitset.cpp test_valarray.cpp ++ ++LIST=${AUX_LIST} ${TEST_LIST} ++ ++OBJECTS = $(LIST:%.cpp=obj/%.o) $(STAT_MODULE) ++D_OBJECTS = $(LIST:%.cpp=d_obj/%.o) $(STAT_MODULE) ++NOSGI_OBJECTS = $(LIST:%.cpp=nosgi_obj/%.o) $(STAT_MODULE) ++ ++EXECS = $(LIST:%.cpp=%) ++TESTS = $(LIST:%.cpp=%.out) ++TEST_EXE = ./eh_test ++D_TEST_EXE = ./eh_test_d ++NOSGI_TEST_EXE = ./eh_test_nosgi ++ ++TEST = ./eh_test.out ++D_TEST = ./eh_test_d.out ++NOSGI_TEST = ./eh_test_nosgi.out ++ ++CC = gcc ++CXX = $(CC) ++ ++# dwa 12/22/99 -- had to turn off -ansi flag so we could use SGI IOSTREAMS ++# also, test_slist won't compile with -O3/-O2 when targeting PPC. It fails ++# in the assembler with 'invalid relocation type' ++CXXFLAGS = -Wall -ftemplate-depth-32 -mbnu210 -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -D_STLP_NO_SGI_IOSTREAMS ++D_CXXFLAGS = -Wall -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -D_STLP_DEBUG -D_STLP_USE_STATIC_LIB ++NOSGI_CXXFLAGS = -Wall -g -O2 ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -D_STLP_NO_SGI_IOSTREAMS -D_STLP_DEBUG_UNINITIALIZED -DEH_VECTOR_OPERATOR_NEW ++ ++check: $(TEST) ++ ++LIBS = -lstdcxx -lm ++D_LIBSTLPORT = ../../lib/libstlport_djgpp_debug_static.a ++LIBSTLPORT = ../../lib/libstlport_djgpp_stldebug_static.a ++ ++all: $(TEST_EXE) $(D_TEST_EXE) $(NOSGI_TEST_EXE) ++ ++check_nosgi: $(NOSGI_TEST) ++check_d: $(D_TEST) ++ ++ ++OBJDIR=obj ++D_OBJDIR=d_obj ++NOSGI_OBJDIR=nosgi_obj ++ ++$(OBJDIR): ++ mkdir obj ++$(D_OBJDIR): ++ mkdir d_obj ++$(NOSGI_OBJDIR): ++ mkdir nosgi_obj ++ ++$(TEST_EXE) : $(OBJDIR) $(OBJECTS) ++ $(CXX) $(CXXFLAGS) $(OBJECTS) $(LIBSTLPORT) $(LIBS) -o $(TEST_EXE) ++ ++$(D_TEST_EXE) : $(D_OBJDIR) $(D_OBJECTS) ++ $(CXX) $(D_CXXFLAGS) $(D_OBJECTS) $(D_LIBSTLPORT) $(LIBS) -o $(D_TEST_EXE) ++ ++$(NOSGI_TEST_EXE) : $(NOSGI_OBJDIR) $(NOSGI_OBJECTS) ++ $(CXX) $(NOSGI_CXXFLAGS) $(NOSGI_OBJECTS) $(LIBS) -o $(NOSGI_TEST_EXE) ++ ++ ++$(TEST) : $(TEST_EXE) ++ $(TEST_EXE) ++ ++$(D_TEST) : $(D_TEST_EXE) ++ $(D_TEST_EXE) ++ ++$(NOSGI_TEST) : $(NOSGI_TEST_EXE) ++ $(NOSGI_TEST_EXE) ++ ++SUFFIXES: .cpp.o.exe.out.res ++ ++nosgi_obj/%.o : %.cpp ++ $(CXX) $(NOSGI_CXXFLAGS) $< -c -o $@ ++ ++d_obj/%.o : %.cpp ++ $(CXX) $(D_CXXFLAGS) $< -c -o $@ ++ ++obj/%.o : %.cpp ++ $(CXX) $(CXXFLAGS) $< -c -o $@ ++ ++nosgi_obj/%.i : %.cpp ++ $(CXX) $(NOSGI_CXXFLAGS) $< -E -H > $@ ++ ++d_obj/%.i : %.cpp ++ $(CXX) $(D_CXXFLAGS) $< -E -H > $@ ++ ++obj/%.i : %.cpp ++ $(CXX) $(CXXFLAGS) $< -E -H > $@ ++ ++%.out: %.cpp ++ $(CXX) $(CXXFLAGS) $< -c -USINGLE -DMAIN -g -o $*.o ++ $(CXX) $(CXXFLAGS) $*.o $(LIBS) -o $* ++ ./$* > $@ ++ -rm -f $* ++ ++%.s: %.cpp ++ $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ ++ ++%.E: %.cpp ++ $(CXX) $(CXXFLAGS) -E $< -o $@ ++ ++clean: ++ -rm -fr ${TEST_EXE} *.o */*.o *.rpo *.obj *.out core *~ Templates.DB +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/egcs.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/egcs.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/egcs.mak Sat Feb 24 10:45:23 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/egcs.mak Sun Aug 11 18:59:25 2002 +@@ -31,12 +31,12 @@ + # for egcs + REPO_FLAGS = + +-# CXXFLAGS = -g -Wall -I${STL_INCL} -I. -D__STL_USE_NEWALLOC -D__STL_DEBUG_ALLOC ${REPO_FLAGS} -DEH_NEW_HEADERS ++# CXXFLAGS = -g -Wall -I${STL_INCL} -I. -D_STLP_USE_NEWALLOC -D_STLP_DEBUG_ALLOC ${REPO_FLAGS} -DEH_NEW_HEADERS + +-# CXXFLAGS = -Wall -ansi -I${STL_INCL} -I. -D__STL_DEBUG ${REPO_FLAGS} ${CXX_EXTRA_FLAGS} +-CXXFLAGS = -Wall -g -D__STL_USE_NEWALLOC -DNO_FAST_ALLOCATOR -ansi -I${STL_INCL} -I. ${REPO_FLAGS} ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -D__STL_DEBUG -D__STL_NO_DEBUG_EXCEPTIONS ++# CXXFLAGS = -Wall -ansi -I${STL_INCL} -I. -D_STLP_DEBUG ${REPO_FLAGS} ${CXX_EXTRA_FLAGS} ++CXXFLAGS = -Wall -g -D_STLP_USE_NEWALLOC -DNO_FAST_ALLOCATOR -ansi -I${STL_INCL} -I. ${REPO_FLAGS} ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -D_STLP_DEBUG -D_STLP_NO_DEBUG_EXCEPTIONS + +-# CXXFLAGS = -Wall -I${STL_INCL} -I. -D__STL_USE_NEWALLOC ${REPO_FLAGS} ${CXX_EXTRA_FLAGS} ++# CXXFLAGS = -Wall -I${STL_INCL} -I. -D_STLP_USE_NEWALLOC ${REPO_FLAGS} ${CXX_EXTRA_FLAGS} + + + LIBS = -lm +@@ -72,4 +72,4 @@ + $(CXX) $(CXXFLAGS) -E $< -o $@ + + clean: +- -rm -fr ${TEST_EXE} *.o *.rpo *.obj *.out core *~ Templates.DB ++ -rm -fr ${TEST_EXE} $(OBJDIR) $(D_OBJDIR) $(NOSGI_OBJDIR) *.o *.rpo *.obj *.out core *~ Templates.DB +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/gcc-99r1.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/gcc-99r1.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/gcc-99r1.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/gcc-99r1.mak Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,109 @@ ++# ;;; -*- Mode:makefile;-*- ++# Generated automatically from Makefile.in by configure. ++# This requires GNU make. ++ ++srcdir = . ++VPATH = . ++ ++# point this to proper location ++STL_INCL=-I../../stlport ++ ++AUX_LIST=TestClass.cpp main.cpp nc_alloc.cpp random_number.cpp ++ ++TEST_LIST=test_algo.cpp \ ++test_algobase.cpp test_list.cpp test_slist.cpp \ ++test_bit_vector.cpp test_vector.cpp \ ++test_deque.cpp test_set.cpp test_map.cpp \ ++test_hash_map.cpp test_hash_set.cpp test_rope.cpp \ ++test_string.cpp test_bitset.cpp test_valarray.cpp ++ ++LIST=${AUX_LIST} ${TEST_LIST} ++ ++OBJECTS = $(LIST:%.cpp=obj/%.o) $(STAT_MODULE) ++D_OBJECTS = $(LIST:%.cpp=d_obj/%.o) $(STAT_MODULE) ++NOSGI_OBJECTS = $(LIST:%.cpp=nosgi_obj/%.o) $(STAT_MODULE) ++ ++EXECS = $(LIST:%.cpp=%) ++TESTS = $(LIST:%.cpp=%.out) ++TEST_EXE = ./eh_test ++D_TEST_EXE = ./eh_test_d ++NOSGI_TEST_EXE = ./eh_test_nosgi ++ ++TEST = ./eh_test.out ++D_TEST = ./eh_test_d.out ++NOSGI_TEST = ./eh_test_nosgi.out ++ ++CC =c++ ++CXX = $(CC) ++ ++# dwa 12/22/99 -- had to turn off -ansi flag so we could use SGI IOSTREAMS ++# also, test_slist won't compile with -O3/-O2 when targeting PPC. It fails ++# in the assembler with 'invalid relocation type' ++CXXFLAGS = -Wall -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -g -D_STLP_HAS_NO_NAMESPACES ++D_CXXFLAGS = -Wall -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -D_STLP_DEBUG ++NOSGI_CXXFLAGS = -Wall -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -D_STLP_NO_OWN_IOSTREAMS -DEH_VECTOR_OPERATOR_NEW ++ ++check: $(TEST) ++ ++LIBS = -lm ++D_LIBSTLPORT = -L../../lib -lstlport_gcc_stldebug ++LIBSTLPORT = -L../../lib -lstlport_gcc ++ ++all: $(TEST_EXE) $(D_TEST_EXE) $(NOSGI_TEST_EXE) ++ ++check_nosgi: $(NOSGI_TEST) ++check_d: $(D_TEST) ++ ++ ++$(TEST_EXE) : $(OBJECTS) ++ $(CXX) $(CXXFLAGS) $(OBJECTS) $(LIBSTLPORT) $(LIBS) -o $(TEST_EXE) ++ ++$(D_TEST_EXE) : $(D_OBJECTS) ++ $(CXX) $(D_CXXFLAGS) $(D_OBJECTS) $(D_LIBSTLPORT) $(LIBS) -o $(D_TEST_EXE) ++ ++$(NOSGI_TEST_EXE) : $(NOSGI_OBJECTS) ++ $(CXX) $(NOSGI_CXXFLAGS) $(NOSGI_OBJECTS) $(LIBS) -o $(NOSGI_TEST_EXE) ++ ++ ++$(TEST) : $(TEST_EXE) ++ LD_LIBRARY_PATH="../../lib:$(LD_LIBRARY_PATH)" time ./$(TEST_EXE) -s 100 ++ ++$(D_TEST) : $(D_TEST_EXE) ++ $(D_TEST_EXE) ++ ++$(NOSGI_TEST) : $(NOSGI_TEST_EXE) ++ $(NOSGI_TEST_EXE) ++ ++SUFFIXES: .cpp.o.exe.out.res ++ ++nosgi_obj/%.o : %.cpp ++ $(CXX) $(NOSGI_CXXFLAGS) $< -c -o $@ ++ ++d_obj/%.o : %.cpp ++ $(CXX) $(D_CXXFLAGS) $< -c -o $@ ++ ++obj/%.o : %.cpp ++ $(CXX) $(CXXFLAGS) $< -c -o $@ ++ ++nosgi_obj/%.i : %.cpp ++ $(CXX) $(NOSGI_CXXFLAGS) $< -E -H > $@ ++ ++d_obj/%.i : %.cpp ++ $(CXX) $(D_CXXFLAGS) $< -E -H > $@ ++ ++obj/%.i : %.cpp ++ $(CXX) $(CXXFLAGS) $< -E -H > $@ ++ ++%.out: %.cpp ++ $(CXX) $(CXXFLAGS) $< -c -USINGLE -DMAIN -O2 -o $*.o ++ $(CXX) $(CXXFLAGS) $*.o $(LIBSTLPORT) $(LIBS) -o $* ++ ./$* > $@ ++ ++%.s: %.cpp ++ $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ ++ ++%.E: %.cpp ++ $(CXX) $(CXXFLAGS) -E $< -o $@ ++ ++clean: ++ -rm -fr ${TEST_EXE} $(D_TEST_EXE) *.o */*.o *.rpo *.obj *.out core *~ Templates.DB +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/gcc-amigaos-m68k.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/gcc-amigaos-m68k.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/gcc-amigaos-m68k.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/gcc-amigaos-m68k.mak Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,119 @@ ++# ++# This requires GNU make. ++# ++ ++srcdir = . ++VPATH = . ++SHELL = /bin/sh ++ ++# point this to proper location ++STL_INCL = -I../../stlport ++ ++AUX_LIST = TestClass.cpp main.cpp nc_alloc.cpp random_number.cpp ++ ++TEST_LIST = test_algo.cpp \ ++ test_algobase.cpp test_list.cpp test_slist.cpp \ ++ test_bit_vector.cpp test_vector.cpp \ ++ test_deque.cpp test_set.cpp test_map.cpp \ ++ test_hash_map.cpp test_hash_set.cpp test_rope.cpp \ ++ test_string.cpp test_bitset.cpp test_valarray.cpp ++ ++LIST = ${AUX_LIST} ${TEST_LIST} ++ ++OBJECTS = $(LIST:%.cpp=obj/%.o) $(STAT_MODULE) ++D_OBJECTS = $(LIST:%.cpp=d_obj/%.o) $(STAT_MODULE) ++NOSGI_OBJECTS = $(LIST:%.cpp=nosgi_obj/%.o) $(STAT_MODULE) ++ ++EXECS = $(LIST:%.cpp=%) ++TESTS = $(LIST:%.cpp=%.out) ++TEST_EXE = ./eh_test ++D_TEST_EXE = ./eh_test_d ++NOSGI_TEST_EXE = ./eh_test_nosgi ++ ++TEST = ./eh_test.out ++D_TEST = ./eh_test_d.out ++NOSGI_TEST = ./eh_test_nosgi.out ++ ++CC = gcc ++CXX = g++ ++ ++CXXFLAGS = -s -noixemul -m68020 -Wall -O2 ${STL_INCL} -I. -DEH_VECTOR_OPERATOR_NEW ++D_CXXFLAGS = -Wall -g -O ${STL_INCL} -I. -DEH_VECTOR_OPERATOR_NEW -D_STLP_DEBUG -D_STLP_USE_STATIC_LIB ++NOSGI_CXXFLAGS = -Wall -g -O2 ${STL_INCL} -I. -D_STLP_NO_OWN_IOSTREAMS -D_STLP_DEBUG_UNINITIALIZED -DEH_VECTOR_OPERATOR_NEW ++ ++check: $(TEST) ++ ++LIBS = -lm ++D_LIBSTLPORT = -L../../lib -lstlport_gcc_stldebug ++LIBSTLPORT = -L../../lib -lstlport_gcc ++ ++all: $(TEST_EXE) ++ ++check_nosgi: $(NOSGI_TEST) ++check_d: $(D_TEST) ++ ++ ++OBJDIR=obj ++D_OBJDIR=d_obj ++NOSGI_OBJDIR=nosgi_obj ++ ++$(OBJDIR): ++ mkdir obj ++$(D_OBJDIR): ++ mkdir d_obj ++$(NOSGI_OBJDIR): ++ mkdir nosgi_obj ++ ++$(TEST_EXE) : $(OBJDIR) $(OBJECTS) ++ $(CXX) $(CXXFLAGS) $(OBJECTS) $(LIBSTLPORT) $(LIBS) -o $(TEST_EXE) ++ ++$(D_TEST_EXE) : $(D_OBJDIR) $(D_OBJECTS) ++ $(CXX) $(D_CXXFLAGS) $(D_OBJECTS) $(D_LIBSTLPORT) $(LIBS) -o $(D_TEST_EXE) ++ ++$(NOSGI_TEST_EXE) : $(NOSGI_OBJDIR) $(NOSGI_OBJECTS) ++ $(CXX) $(NOSGI_CXXFLAGS) $(NOSGI_OBJECTS) $(LIBS) -o $(NOSGI_TEST_EXE) ++ ++$(TEST) : $(TEST_EXE) ++ $(TEST_EXE) -s 100 ++ ++$(D_TEST) : $(D_TEST_EXE) ++ LD_LIBRARY_PATH="../../lib:$(LD_LIBRARY_PATH)" ./$(D_TEST_EXE) -s 100 ++ ++ ++$(NOSGI_TEST) : $(NOSGI_TEST_EXE) ++ $(NOSGI_TEST_EXE) ++ ++SUFFIXES: .cpp.o.exe.out.res ++ ++nosgi_obj/%.o : %.cpp ++ $(CXX) $(NOSGI_CXXFLAGS) $< -c -o $@ ++ ++d_obj/%.o : %.cpp ++ $(CXX) $(D_CXXFLAGS) $< -c -o $@ ++ ++obj/%.o : %.cpp ++ $(CXX) $(CXXFLAGS) $< -c -o $@ ++ ++nosgi_obj/%.i : %.cpp ++ $(CXX) $(NOSGI_CXXFLAGS) $< -E -H > $@ ++ ++d_obj/%.i : %.cpp ++ $(CXX) $(D_CXXFLAGS) $< -E -H > $@ ++ ++obj/%.i : %.cpp ++ $(CXX) $(CXXFLAGS) $< -E -H > $@ ++ ++%.out: %.cpp ++ $(CXX) $(CXXFLAGS) $< -c -USINGLE -DMAIN -g -o $*.o ++ $(CXX) $(CXXFLAGS) $*.o $(LIBS) -o $* ++ ./$* > $@ ++ -rm -f $* ++ ++%.s: %.cpp ++ $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ ++ ++%.E: %.cpp ++ $(CXX) $(CXXFLAGS) -E $< -o $@ ++ ++clean: ++ -rm -fr ${TEST_EXE} *.o */*.o *.rpo *.obj *.out core *~ Templates.DB +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/gcc-apple-macosx.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/gcc-apple-macosx.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/gcc-apple-macosx.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/gcc-apple-macosx.mak Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,123 @@ ++# ;;; -*- Mode:makefile;-*- ++# Generated automatically from Makefile.in by configure. ++# This requires GNU make. ++ ++srcdir = . ++VPATH = . ++DYLD_LIBRARY_PATH = ../../lib ++ ++# point this to proper location ++STL_INCL=-I../../stlport ++ ++AUX_LIST=TestClass.cpp main.cpp nc_alloc.cpp random_number.cpp ++ ++TEST_LIST=test_algo.cpp \ ++test_algobase.cpp test_list.cpp test_slist.cpp \ ++test_bit_vector.cpp test_vector.cpp \ ++test_deque.cpp test_set.cpp test_map.cpp \ ++test_hash_map.cpp test_hash_set.cpp test_rope.cpp \ ++test_string.cpp test_bitset.cpp test_valarray.cpp ++ ++LIST=${AUX_LIST} ${TEST_LIST} ++ ++OBJECTS = $(LIST:%.cpp=obj/%.o) $(STAT_MODULE) ++D_OBJECTS = $(LIST:%.cpp=d_obj/%.o) $(STAT_MODULE) ++NOSGI_OBJECTS = $(LIST:%.cpp=nosgi_obj/%.o) $(STAT_MODULE) ++ ++EXECS = $(LIST:%.cpp=%) ++TESTS = $(LIST:%.cpp=%.out) ++TEST_EXE = ./eh_test ++D_TEST_EXE = ./eh_test_d ++NOSGI_TEST_EXE = ./eh_test_nosgi ++ ++TEST = ./eh_test.out ++D_TEST = ./eh_test_d.out ++NOSGI_TEST = ./eh_test_nosgi.out ++ ++CC = cc ++CXX = $(CC) ++ ++# dwa 12/22/99 -- had to turn off -ansi flag so we could use SGI IOSTREAMS ++CXX_EXTRA_FLAGS = -W -Wno-sign-compare -Wno-unused -Wno-uninitialized ++CXXFLAGS = -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -no-cpp-precomp -fno-coalesce ++D_CXXFLAGS = -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -D_STLP_DEBUG -D_STLP_USE_STATIC_LIB -no-cpp-precomp -fno-coalesce ++NOSGI_CXXFLAGS = -Wall -g -O2 ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -D_STLP_NO_OWN_IOSTREAMS -D_STLP_DEBUG_UNINITIALIZED -DEH_VECTOR_OPERATOR_NEW ++ ++check: $(TEST) ++ ++LIBS = -framework System ++D_LIBSTLPORT = -L../../lib -lstlport_gcc_debug ++LIBSTLPORT = -L../../lib -lstlport_gcc ++ ++all: $(TEST_EXE) $(D_TEST_EXE) $(NOSGI_TEST_EXE) ++ ++check_nosgi: $(NOSGI_TEST) ++check_d: $(D_TEST) ++ ++ ++OBJDIR=obj ++D_OBJDIR=d_obj ++NOSGI_OBJDIR=nosgi_obj ++ ++$(OBJDIR): ++ mkdir obj ++$(D_OBJDIR): ++ mkdir d_obj ++$(NOSGI_OBJDIR): ++ mkdir nosgi_obj ++ ++$(TEST_EXE) : $(OBJDIR) $(OBJECTS) ++ $(CXX) $(CXXFLAGS) $(OBJECTS) $(LIBSTLPORT) $(LIBS) -o $(TEST_EXE) ++ ln -sf ../../lib/libstlport_gcc.dylib ++ ++$(D_TEST_EXE) : $(D_OBJDIR) $(D_OBJECTS) ++ $(CXX) $(D_CXXFLAGS) $(D_OBJECTS) $(D_LIBSTLPORT) $(LIBS) -o $(D_TEST_EXE) ++ ln -sf ../../lib/libstlport_gcc_debug.dylib ++ ++$(NOSGI_TEST_EXE) : $(NOSGI_OBJDIR) $(NOSGI_OBJECTS) ++ $(CXX) $(NOSGI_CXXFLAGS) $(NOSGI_OBJECTS) $(LIBS) -o $(NOSGI_TEST_EXE) ++ ++ ++$(TEST) : $(TEST_EXE) ++ $(TEST_EXE) ++ ++$(D_TEST) : $(D_TEST_EXE) ++ $(D_TEST_EXE) ++ ++$(NOSGI_TEST) : $(NOSGI_TEST_EXE) ++ $(NOSGI_TEST_EXE) ++ ++SUFFIXES: .cpp.o.exe.out.res ++ ++nosgi_obj/%.o : %.cpp ++ $(CXX) $(NOSGI_CXXFLAGS) $< -c -o $@ ++ ++d_obj/%.o : %.cpp ++ $(CXX) $(D_CXXFLAGS) $< -c -o $@ ++ ++obj/%.o : %.cpp ++ $(CXX) $(CXXFLAGS) $< -c -o $@ ++ ++nosgi_obj/%.i : %.cpp ++ $(CXX) $(NOSGI_CXXFLAGS) $< -E -H > $@ ++ ++d_obj/%.i : %.cpp ++ $(CXX) $(D_CXXFLAGS) $< -E -H > $@ ++ ++obj/%.i : %.cpp ++ $(CXX) $(CXXFLAGS) $< -E -H > $@ ++ ++%.out: %.cpp ++ $(CXX) $(CXXFLAGS) $< -c -USINGLE -DMAIN -g -o $*.o ++ $(CXX) $(CXXFLAGS) $*.o $(LIBS) -o $* ++ ./$* > $@ ++ -rm -f $* ++ ++%.s: %.cpp ++ $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ ++ ++%.E: %.cpp ++ $(CXX) $(CXXFLAGS) -E $< -o $@ ++ ++clean: ++ -rm -fR ${TEST_EXE} *.o */*.o *.rpo *.obj *.out core *~ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/gcc-freebsd.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/gcc-freebsd.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/gcc-freebsd.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/gcc-freebsd.mak Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,123 @@ ++# ;;; -*- Mode:makefile;-*- ++# Generated automatically from Makefile.in by configure. ++# This requires GNU make. ++ ++srcdir = . ++VPATH = . ++SHELL=/bin/sh ++ ++# point this to proper location ++STL_INCL=-I../../stlport ++ ++AUX_LIST=TestClass.cpp main.cpp nc_alloc.cpp random_number.cpp ++ ++TEST_LIST=test_algo.cpp \ ++test_algobase.cpp test_list.cpp test_slist.cpp \ ++test_bit_vector.cpp test_vector.cpp \ ++test_deque.cpp test_set.cpp test_map.cpp \ ++test_hash_map.cpp test_hash_set.cpp test_rope.cpp \ ++test_string.cpp test_bitset.cpp test_valarray.cpp ++ ++LIST=${AUX_LIST} ${TEST_LIST} ++ ++OBJECTS = $(LIST:%.cpp=obj/%.o) $(STAT_MODULE) ++D_OBJECTS = $(LIST:%.cpp=d_obj/%.o) $(STAT_MODULE) ++NOSGI_OBJECTS = $(LIST:%.cpp=nosgi_obj/%.o) $(STAT_MODULE) ++ ++EXECS = $(LIST:%.cpp=%) ++TESTS = $(LIST:%.cpp=%.out) ++TEST_EXE = ./eh_test ++D_TEST_EXE = ./eh_test_d ++NOSGI_TEST_EXE = ./eh_test_nosgi ++ ++TEST = ./eh_test.out ++D_TEST = ./eh_test_d.out ++NOSGI_TEST = ./eh_test_nosgi.out ++ ++CC = c++ -pthread ++CXX = $(CC) ++ ++# dwa 12/22/99 -- had to turn off -ansi flag so we could use SGI IOSTREAMS ++# also, test_slist won't compile with -O3/-O2 when targeting PPC. It fails ++# in the assembler with 'invalid relocation type' ++CXXFLAGS = -Wall -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW ++ ++D_CXXFLAGS = -Wall -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -D_STLP_DEBUG -D_STLP_USE_STATIC_LIB ++NOSGI_CXXFLAGS = -Wall -g -O2 ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -D_STLP_NO_OWN_IOSTREAMS -D_STLP_DEBUG_UNINITIALIZED -DEH_VECTOR_OPERATOR_NEW ++ ++check: $(TEST) ++ ++LIBS = -lm ++D_LIBSTLPORT = -L../../lib -lstlport_gcc_stldebug ++LIBSTLPORT = -L../../lib -lstlport_gcc ++ ++all: $(TEST_EXE) $(D_TEST_EXE) $(NOSGI_TEST_EXE) ++ ++check_nosgi: $(NOSGI_TEST) ++check_d: $(D_TEST) ++ ++OBJDIR=obj ++D_OBJDIR=d_obj ++NOSGI_OBJDIR=nosgi_obj ++ ++$(OBJDIR): ++ mkdir obj ++$(D_OBJDIR): ++ mkdir d_obj ++$(NOSGI_OBJDIR): ++ mkdir nosgi_obj ++ ++ ++$(TEST_EXE) : $(OBJDIR) $(OBJECTS) ++ $(CXX) $(CXXFLAGS) $(OBJECTS) $(LIBSTLPORT) $(LIBS) -o $(TEST_EXE) ++ ++$(D_TEST_EXE) : $(D_OBJDIR) $(D_OBJECTS) ++ $(CXX) $(D_CXXFLAGS) $(D_OBJECTS) $(D_LIBSTLPORT) $(LIBS) -o $(D_TEST_EXE) ++ ++$(NOSGI_TEST_EXE) : $(NOSGI_OBJDIR) $(NOSGI_OBJECTS) ++ $(CXX) $(NOSGI_CXXFLAGS) $(NOSGI_OBJECTS) $(LIBS) -o $(NOSGI_TEST_EXE) ++ ++ ++$(TEST) : $(TEST_EXE) ++ LD_LIBRARY_PATH="../../lib:$(LD_LIBRARY_PATH)" ./$(TEST_EXE) -s 100 ++ ++$(D_TEST) : $(D_TEST_EXE) ++ LD_LIBRARY_PATH="../../lib:$(LD_LIBRARY_PATH)" ./$(D_TEST_EXE) -s 100 ++ ++$(NOSGI_TEST) : $(NOSGI_TEST_EXE) ++ $(NOSGI_TEST_EXE) ++ ++SUFFIXES: .cpp.o.exe.out.res ++ ++nosgi_obj/%.o : %.cpp ++ $(CXX) $(NOSGI_CXXFLAGS) $< -c -o $@ ++ ++d_obj/%.o : %.cpp ++ $(CXX) $(D_CXXFLAGS) $< -c -o $@ ++ ++obj/%.o : %.cpp ++ $(CXX) $(CXXFLAGS) $< -c -o $@ ++ ++nosgi_obj/%.i : %.cpp ++ $(CXX) $(NOSGI_CXXFLAGS) $< -E -H > $@ ++ ++d_obj/%.i : %.cpp ++ $(CXX) $(D_CXXFLAGS) $< -E -H > $@ ++ ++obj/%.i : %.cpp ++ $(CXX) $(CXXFLAGS) $< -E -H > $@ ++ ++%.out: %.cpp ++ $(CXX) $(CXXFLAGS) $< -c -USINGLE -DMAIN -g -o $*.o ++ $(CXX) $(CXXFLAGS) $*.o $(LIBS) -o $* ++ ./$* > $@ ++ -rm -f $* ++ ++%.s: %.cpp ++ $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ ++ ++%.E: %.cpp ++ $(CXX) $(CXXFLAGS) -E $< -o $@ ++ ++clean: ++ -rm -fr ${TEST_EXE} *.o */*.o *.rpo *.obj *.out core *~ Templates.DB +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/gcc-hp11.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/gcc-hp11.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/gcc-hp11.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/gcc-hp11.mak Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,123 @@ ++# ;;; -*- Mode:makefile;-*- ++# Generated automatically from Makefile.in by configure. ++# This requires GNU make. ++ ++srcdir = . ++VPATH = . ++SHELL=/bin/sh ++ ++# point this to proper location ++STL_INCL=-I../../stlport ++ ++AUX_LIST=TestClass.cpp main.cpp nc_alloc.cpp random_number.cpp ++ ++TEST_LIST=test_algo.cpp \ ++test_algobase.cpp test_list.cpp test_slist.cpp \ ++test_bit_vector.cpp test_vector.cpp \ ++test_deque.cpp test_set.cpp test_map.cpp \ ++test_hash_map.cpp test_hash_set.cpp test_rope.cpp \ ++test_string.cpp test_bitset.cpp test_valarray.cpp ++ ++LIST=${AUX_LIST} ${TEST_LIST} ++ ++OBJECTS = $(LIST:%.cpp=obj/%.o) $(STAT_MODULE) ++D_OBJECTS = $(LIST:%.cpp=d_obj/%.o) $(STAT_MODULE) ++NOSGI_OBJECTS = $(LIST:%.cpp=nosgi_obj/%.o) $(STAT_MODULE) ++ ++EXECS = $(LIST:%.cpp=%) ++TESTS = $(LIST:%.cpp=%.out) ++TEST_EXE = ./eh_test ++D_TEST_EXE = ./eh_test_d ++NOSGI_TEST_EXE = ./eh_test_nosgi ++ ++TEST = ./eh_test.out ++D_TEST = ./eh_test_d.out ++NOSGI_TEST = ./eh_test_nosgi.out ++ ++# CC = g++ -pthreads ++CC = g++ -D_REENTRANT -D_POSIX_C_SOURCE=199506L -D__EXTENSIONS__ ++CXX = $(CC) ++ ++# dwa 12/22/99 -- had to turn off -ansi flag so we could use SGI IOSTREAMS ++# also, test_slist won't compile with -O3/-O2 when targeting PPC. It fails ++# in the assembler with 'invalid relocation type' ++CXXFLAGS = -Wall -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW ++D_CXXFLAGS = -Wall -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -D_STLP_DEBUG -D_STLP_USE_STATIC_LIB ++NOSGI_CXXFLAGS = -Wall -g -O2 ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -D_STLP_NO_OWN_IOSTREAMS -D_STLP_DEBUG_UNINITIALIZED -DEH_VECTOR_OPERATOR_NEW ++ ++check: $(TEST) ++ ++LIBS = -lpthread -lm ++D_LIBSTLPORT = -L../../lib -lstlport_gcc_debug ++LIBSTLPORT = -L../../lib -lstlport_gcc ++ ++all: $(TEST_EXE) $(D_TEST_EXE) $(NOSGI_TEST_EXE) ++ ++check_nosgi: $(NOSGI_TEST) ++check_d: $(D_TEST) ++ ++OBJDIR=obj ++D_OBJDIR=d_obj ++NOSGI_OBJDIR=nosgi_obj ++ ++$(OBJDIR): ++ mkdir obj ++$(D_OBJDIR): ++ mkdir d_obj ++$(NOSGI_OBJDIR): ++ mkdir nosgi_obj ++ ++$(TEST_EXE) : $(OBJDIR) $(OBJECTS) ++ $(CXX) $(CXXFLAGS) $(OBJECTS) $(LIBSTLPORT) $(LIBS) -o $(TEST_EXE) ++ ++$(D_TEST_EXE) : $(D_OBJDIR) $(D_OBJECTS) ++ $(CXX) $(D_CXXFLAGS) $(D_OBJECTS) $(D_LIBSTLPORT) $(LIBS) -o $(D_TEST_EXE) ++ ++$(NOSGI_TEST_EXE) : $(NOSGI_OBJDIR) $(NOSGI_OBJECTS) ++ $(CXX) $(NOSGI_CXXFLAGS) $(NOSGI_OBJECTS) $(LIBS) -o $(NOSGI_TEST_EXE) ++ ++ ++$(TEST) : $(TEST_EXE) ++ LD_LIBRARY_PATH="../../lib:$(LD_LIBRARY_PATH)" time ./$(TEST_EXE) -s 100 ++ ++$(D_TEST) : $(D_TEST_EXE) ++ LD_LIBRARY_PATH="../../lib:$(LD_LIBRARY_PATH)" ./$(D_TEST_EXE) -s 100 ++ ++ ++$(NOSGI_TEST) : $(NOSGI_TEST_EXE) ++ $(NOSGI_TEST_EXE) ++ ++SUFFIXES: .cpp.o.exe.out.res ++ ++nosgi_obj/%.o : %.cpp ++ $(CXX) $(NOSGI_CXXFLAGS) $< -c -o $@ ++ ++d_obj/%.o : %.cpp ++ $(CXX) $(D_CXXFLAGS) $< -c -o $@ ++ ++obj/%.o : %.cpp ++ $(CXX) $(CXXFLAGS) $< -c -o $@ ++ ++nosgi_obj/%.i : %.cpp ++ $(CXX) $(NOSGI_CXXFLAGS) $< -E -H > $@ ++ ++d_obj/%.i : %.cpp ++ $(CXX) $(D_CXXFLAGS) $< -E -H > $@ ++ ++obj/%.i : %.cpp ++ $(CXX) $(CXXFLAGS) $< -E -H > $@ ++ ++%.out: %.cpp ++ $(CXX) $(CXXFLAGS) $< -c -USINGLE -DMAIN -D_STLP_DEBUG -D_STLP_NO_OWN_IOSTREAMS -g -o $*.o ++ $(CXX) $(CXXFLAGS) $*.o $(LIBSTLPORT) $(LIBS) -o $* ++ ./$* > $@ ++# -rm -f $* ++ ++%.s: %.cpp ++ $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ ++ ++%.E: %.cpp ++ $(CXX) $(CXXFLAGS) -E $< -o $@ ++ ++clean: ++ -rm -fr ${TEST_EXE} *.o */*.o *.rpo *.obj *.out core *~ Templates.DB +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/gcc-irix.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/gcc-irix.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/gcc-irix.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/gcc-irix.mak Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,122 @@ ++# ;;; -*- Mode:makefile;-*- ++# Generated automatically from Makefile.in by configure. ++# This requires GNU make. ++ ++srcdir = . ++VPATH = . ++SHELL=/bin/sh ++ ++# point this to proper location ++STL_INCL=-I../../stlport ++ ++AUX_LIST=TestClass.cpp main.cpp nc_alloc.cpp random_number.cpp ++ ++TEST_LIST=test_algo.cpp \ ++test_algobase.cpp test_list.cpp test_slist.cpp \ ++test_bit_vector.cpp test_vector.cpp \ ++test_deque.cpp test_set.cpp test_map.cpp \ ++test_hash_map.cpp test_hash_set.cpp test_rope.cpp \ ++test_string.cpp test_bitset.cpp test_valarray.cpp ++ ++LIST=${AUX_LIST} ${TEST_LIST} ++ ++OBJECTS = $(LIST:%.cpp=obj/%.o) $(STAT_MODULE) ++D_OBJECTS = $(LIST:%.cpp=d_obj/%.o) $(STAT_MODULE) ++NOSGI_OBJECTS = $(LIST:%.cpp=nosgi_obj/%.o) $(STAT_MODULE) ++ ++EXECS = $(LIST:%.cpp=%) ++TESTS = $(LIST:%.cpp=%.out) ++TEST_EXE = ./eh_test ++D_TEST_EXE = ./eh_test_d ++NOSGI_TEST_EXE = ./eh_test_nosgi ++ ++TEST = ./eh_test.out ++D_TEST = ./eh_test_d.out ++NOSGI_TEST = ./eh_test_nosgi.out ++ ++CC = g++ ++CXX = $(CC) ++ ++# dwa 12/22/99 -- had to turn off -ansi flag so we could use SGI IOSTREAMS ++# also, test_slist won't compile with -O3/-O2 when targeting PPC. It fails ++# in the assembler with 'invalid relocation type' ++CXXFLAGS = -Wall -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW ++D_CXXFLAGS = -Wall -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -D_STLP_DEBUG -D_STLP_USE_STATIC_LIB ++NOSGI_CXXFLAGS = -Wall -g -O2 ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -D_STLP_NO_OWN_IOSTREAMS -D_STLP_DEBUG_UNINITIALIZED -DEH_VECTOR_OPERATOR_NEW ++ ++check: $(TEST) ++ ++LIBS = -lm ++D_LIBSTLPORT = -L../../lib -lstlport_gcc_debug ++LIBSTLPORT = -L../../lib -lstlport_gcc ++ ++all: $(TEST_EXE) $(D_TEST_EXE) $(NOSGI_TEST_EXE) ++ ++check_nosgi: $(NOSGI_TEST) ++check_d: $(D_TEST) ++ ++ ++OBJDIR=obj ++D_OBJDIR=d_obj ++NOSGI_OBJDIR=nosgi_obj ++ ++$(OBJDIR): ++ mkdir obj ++$(D_OBJDIR): ++ mkdir obj ++$(NOSGI_OBJDIR): ++ mkdir obj ++ ++$(TEST_EXE) : $(OBJDIR) $(OBJECTS) ++ $(CXX) $(CXXFLAGS) $(OBJECTS) $(LIBSTLPORT) $(LIBS) -o $(TEST_EXE) ++ ++$(D_TEST_EXE) : $(D_OBJDIR) $(D_OBJECTS) ++ $(CXX) $(D_CXXFLAGS) $(D_OBJECTS) $(D_LIBSTLPORT) $(LIBS) -o $(D_TEST_EXE) ++ ++$(NOSGI_TEST_EXE) : $(NOSGI_OBJDIR) $(NOSGI_OBJECTS) ++ $(CXX) $(NOSGI_CXXFLAGS) $(NOSGI_OBJECTS) $(LIBS) -o $(NOSGI_TEST_EXE) ++ ++$(TEST) : $(TEST_EXE) ++ LD_LIBRARY_PATH="../../lib:$(LD_LIBRARY_PATH)" time ./$(TEST_EXE) -s 100 ++ ++$(D_TEST) : $(D_TEST_EXE) ++ LD_LIBRARY_PATH="../../lib:$(LD_LIBRARY_PATH)" ./$(D_TEST_EXE) -s 100 ++ ++ ++$(NOSGI_TEST) : $(NOSGI_TEST_EXE) ++ $(NOSGI_TEST_EXE) ++ ++SUFFIXES: .cpp.o.exe.out.res ++ ++nosgi_obj/%.o : %.cpp ++ $(CXX) $(NOSGI_CXXFLAGS) $< -c -o $@ ++ ++d_obj/%.o : %.cpp ++ $(CXX) $(D_CXXFLAGS) $< -c -o $@ ++ ++obj/%.o : %.cpp ++ $(CXX) $(CXXFLAGS) $< -c -o $@ ++ ++nosgi_obj/%.i : %.cpp ++ $(CXX) $(NOSGI_CXXFLAGS) $< -E -H > $@ ++ ++d_obj/%.i : %.cpp ++ $(CXX) $(D_CXXFLAGS) $< -E -H > $@ ++ ++obj/%.i : %.cpp ++ $(CXX) $(CXXFLAGS) $< -E -H > $@ ++ ++%.out: %.cpp ++ $(CXX) $(CXXFLAGS) $< -c -USINGLE -DMAIN -D_STLP_DEBUG -D_STLP_NO_OWN_IOSTREAMS -g -o $*.o ++ $(CXX) $(CXXFLAGS) $*.o $(LIBSTLPORT) $(LIBS) -o $* ++ ./$* > $@ ++# -rm -f $* ++ ++%.s: %.cpp ++ $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ ++ ++%.E: %.cpp ++ $(CXX) $(CXXFLAGS) -E $< -o $@ ++ ++clean: ++ -rm -fr ${TEST_EXE} *.o */*.o *.rpo *.obj *.out core *~ Templates.DB +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/gcc-linux.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/gcc-linux.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/gcc-linux.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/gcc-linux.mak Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,120 @@ ++# ;;; -*- Mode:makefile;-*- ++# Generated automatically from Makefile.in by configure. ++# This requires GNU make. ++SHELL=/bin/sh ++ ++srcdir = . ++VPATH = . ++ ++# point this to proper location ++STL_INCL=-I../../stlport ++ ++AUX_LIST=TestClass.cpp main.cpp nc_alloc.cpp random_number.cpp ++ ++TEST_LIST=test_algo.cpp \ ++test_algobase.cpp test_list.cpp test_slist.cpp \ ++test_bit_vector.cpp test_vector.cpp \ ++test_deque.cpp test_set.cpp test_map.cpp \ ++test_hash_map.cpp test_hash_set.cpp test_rope.cpp \ ++test_string.cpp test_bitset.cpp test_valarray.cpp ++ ++LIST=${AUX_LIST} ${TEST_LIST} ++ ++OBJECTS = $(LIST:%.cpp=obj/%.o) $(STAT_MODULE) ++D_OBJECTS = $(LIST:%.cpp=d_obj/%.o) $(STAT_MODULE) ++NOSGI_OBJECTS = $(LIST:%.cpp=nosgi_obj/%.o) $(STAT_MODULE) ++ ++EXECS = $(LIST:%.cpp=%) ++TESTS = $(LIST:%.cpp=%.out) ++TEST_EXE = ./eh_test ++D_TEST_EXE = ./eh_test_d ++NOSGI_TEST_EXE = ./eh_test_nosgi ++ ++TEST = ./eh_test.out ++D_TEST = ./eh_test_d.out ++NOSGI_TEST = ./eh_test_nosgi.out ++ ++CC = c++ -pthread ++CXX = $(CC) ++ ++# dwa 12/22/99 -- had to turn off -ansi flag so we could use SGI IOSTREAMS ++# also, test_slist won't compile with -O3/-O2 when targeting PPC. It fails ++# in the assembler with 'invalid relocation type' ++CXXFLAGS = -Wall ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW ++D_CXXFLAGS = -Wall -g ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -D_STLP_DEBUG -D_STLP_USE_STATIC_LIB ++NOSGI_CXXFLAGS = -Wall -g -O2 ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -D_STLP_NO_OWN_IOSTREAMS -D_STLP_DEBUG_UNINITIALIZED -DEH_VECTOR_OPERATOR_NEW ++ ++check: $(TEST) ++ ++LIBS = -lm ++D_LIBSTLPORT = -L../../lib -lstlport_gcc_stldebug ++LIBSTLPORT = -L../../lib -lstlport_gcc ++ ++all: $(TEST_EXE) $(D_TEST_EXE) $(NOSGI_TEST_EXE) ++ ++check_nosgi: $(NOSGI_TEST) ++check_d: $(D_TEST) ++ ++OBJDIR=obj ++D_OBJDIR=d_obj ++NOSGI_OBJDIR=nosgi_obj ++ ++$(OBJDIR): ++ mkdir obj ++$(D_OBJDIR): ++ mkdir d_obj ++$(NOSGI_OBJDIR): ++ mkdir nosgi_obj ++ ++$(TEST_EXE) : $(OBJDIR) $(OBJECTS) ++ $(CXX) $(CXXFLAGS) $(OBJECTS) $(LIBSTLPORT) $(LIBS) -o $(TEST_EXE) ++ ++$(D_TEST_EXE) : $(D_OBJDIR) $(D_OBJECTS) ++ $(CXX) $(D_CXXFLAGS) $(D_OBJECTS) $(D_LIBSTLPORT) $(LIBS) -o $(D_TEST_EXE) ++ ++$(NOSGI_TEST_EXE) : $(NOSGI_OBJDIR) $(NOSGI_OBJECTS) ++ $(CXX) $(NOSGI_CXXFLAGS) $(NOSGI_OBJECTS) $(LIBS) -o $(NOSGI_TEST_EXE) ++ ++$(TEST) : $(TEST_EXE) ++ LD_LIBRARY_PATH="../../lib:$(LD_LIBRARY_PATH)" ./$(TEST_EXE) -s 100 ++ ++$(D_TEST) : $(D_TEST_EXE) ++ LD_LIBRARY_PATH="../../lib:$(LD_LIBRARY_PATH)" ./$(D_TEST_EXE) -s 100 ++ ++$(NOSGI_TEST) : $(NOSGI_TEST_EXE) ++ $(NOSGI_TEST_EXE) ++ ++SUFFIXES: .cpp.o.exe.out.res ++ ++nosgi_obj/%.o : %.cpp ++ $(CXX) $(NOSGI_CXXFLAGS) $< -c -o $@ ++ ++d_obj/%.o : %.cpp ++ $(CXX) $(D_CXXFLAGS) $< -c -o $@ ++ ++obj/%.o : %.cpp ++ $(CXX) $(CXXFLAGS) $< -c -o $@ ++ ++nosgi_obj/%.i : %.cpp ++ $(CXX) $(NOSGI_CXXFLAGS) $< -E -H > $@ ++ ++d_obj/%.i : %.cpp ++ $(CXX) $(D_CXXFLAGS) $< -E -H > $@ ++ ++obj/%.i : %.cpp ++ $(CXX) $(CXXFLAGS) $< -E -H > $@ ++ ++%.out: %.cpp ++ $(CXX) $(D_CXXFLAGS) $< -c -USINGLE -DMAIN -o $*.o ++ $(CXX) $(D_CXXFLAGS) $*.o $(LIBS) $(D_LIBSTLPORT) -o $* ++ ./$* > $@ ++# -rm -f $* ++ ++%.s: %.cpp ++ $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ ++ ++%.E: %.cpp ++ $(CXX) $(CXXFLAGS) -E $< -o $@ ++ ++clean: ++ -rm -fr ${TEST_EXE} *.o */*.o *.rpo *.obj *.out core *~ Templates.DB +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/gcc-netbsd.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/gcc-netbsd.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/gcc-netbsd.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/gcc-netbsd.mak Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,122 @@ ++# ;;; -*- Mode:makefile;-*- ++# Generated automatically from Makefile.in by configure. ++# This requires GNU make. ++ ++srcdir = . ++VPATH = . ++SHELL=/bin/sh ++ ++# point this to proper location ++STL_INCL=-I../../stlport ++ ++AUX_LIST=TestClass.cpp main.cpp nc_alloc.cpp random_number.cpp ++ ++TEST_LIST=test_algo.cpp \ ++test_algobase.cpp test_list.cpp test_slist.cpp \ ++test_bit_vector.cpp test_vector.cpp \ ++test_deque.cpp test_set.cpp test_map.cpp \ ++test_hash_map.cpp test_hash_set.cpp test_rope.cpp \ ++test_string.cpp test_bitset.cpp test_valarray.cpp ++ ++LIST=${AUX_LIST} ${TEST_LIST} ++ ++OBJECTS = $(LIST:%.cpp=obj/%.o) $(STAT_MODULE) ++D_OBJECTS = $(LIST:%.cpp=d_obj/%.o) $(STAT_MODULE) ++NOSGI_OBJECTS = $(LIST:%.cpp=nosgi_obj/%.o) $(STAT_MODULE) ++ ++EXECS = $(LIST:%.cpp=%) ++TESTS = $(LIST:%.cpp=%.out) ++TEST_EXE = ./eh_test ++D_TEST_EXE = ./eh_test_d ++NOSGI_TEST_EXE = ./eh_test_nosgi ++ ++TEST = ./eh_test.out ++D_TEST = ./eh_test_d.out ++NOSGI_TEST = ./eh_test_nosgi.out ++ ++CC = c++ ++CXX = $(CC) ++ ++# dwa 12/22/99 -- had to turn off -ansi flag so we could use SGI IOSTREAMS ++# also, test_slist won't compile with -O3/-O2 when targeting PPC. It fails ++# in the assembler with 'invalid relocation type' ++CXXFLAGS = -Wall -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW ++D_CXXFLAGS = -Wall -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -D_STLP_DEBUG -D_STLP_USE_STATIC_LIB ++NOSGI_CXXFLAGS = -Wall -g -O2 ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -D_STLP_NO_OWN_IOSTREAMS -D_STLP_DEBUG_UNINITIALIZED -DEH_VECTOR_OPERATOR_NEW ++ ++check: $(TEST) ++ ++LIBS = -lm -lpthread ++D_LIBSTLPORT = -L../../lib -R../../lib -lstlport_gcc_stldebug ++LIBSTLPORT = -L../../lib -R../../lib -lstlport_gcc ++ ++all: $(TEST_EXE) $(D_TEST_EXE) $(NOSGI_TEST_EXE) ++ ++check_nosgi: $(NOSGI_TEST) ++check_d: $(D_TEST) ++ ++OBJDIR=obj ++D_OBJDIR=d_obj ++NOSGI_OBJDIR=nosgi_obj ++ ++$(OBJDIR): ++ mkdir obj ++$(D_OBJDIR): ++ mkdir d_obj ++$(NOSGI_OBJDIR): ++ mkdir nosgi_obj ++ ++$(TEST_EXE) : $(OBJDIR) $(OBJECTS) ++ $(CXX) $(CXXFLAGS) $(OBJECTS) $(LIBSTLPORT) $(LIBS) -o $(TEST_EXE) ++ ++$(D_TEST_EXE) : $(D_OBJDIR) $(D_OBJECTS) ++ $(CXX) $(D_CXXFLAGS) $(D_OBJECTS) $(D_LIBSTLPORT) $(LIBS) -o $(D_TEST_EXE) ++ ++$(NOSGI_TEST_EXE) : $(NOSGI_OBJDIR) $(NOSGI_OBJECTS) ++ $(CXX) $(NOSGI_CXXFLAGS) $(NOSGI_OBJECTS) $(LIBS) -o $(NOSGI_TEST_EXE) ++ ++ ++$(TEST) : $(TEST_EXE) ++ LD_LIBRARY_PATH="../../lib:$(LD_LIBRARY_PATH)" ./$(TEST_EXE) -s 100 ++ ++$(D_TEST) : $(D_TEST_EXE) ++ LD_LIBRARY_PATH="../../lib:$(LD_LIBRARY_PATH)" ./$(D_TEST_EXE) -s 100 ++ ++ ++$(NOSGI_TEST) : $(NOSGI_TEST_EXE) ++ $(NOSGI_TEST_EXE) ++ ++SUFFIXES: .cpp.o.exe.out.res ++ ++nosgi_obj/%.o : %.cpp ++ $(CXX) $(NOSGI_CXXFLAGS) $< -c -o $@ ++ ++d_obj/%.o : %.cpp ++ $(CXX) $(D_CXXFLAGS) $< -c -o $@ ++ ++obj/%.o : %.cpp ++ $(CXX) $(CXXFLAGS) $< -c -o $@ ++ ++nosgi_obj/%.i : %.cpp ++ $(CXX) $(NOSGI_CXXFLAGS) $< -E -H > $@ ++ ++d_obj/%.i : %.cpp ++ $(CXX) $(D_CXXFLAGS) $< -E -H > $@ ++ ++obj/%.i : %.cpp ++ $(CXX) $(CXXFLAGS) $< -E -H > $@ ++ ++%.out: %.cpp ++ $(CXX) $(CXXFLAGS) $< -c -USINGLE -DMAIN -g -o $*.o ++ $(CXX) $(CXXFLAGS) $*.o $(LIBS) -o $* ++ ./$* > $@ ++ -rm -f $* ++ ++%.s: %.cpp ++ $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ ++ ++%.E: %.cpp ++ $(CXX) $(CXXFLAGS) -E $< -o $@ ++ ++clean: ++ -rm -fr ${TEST_EXE} *.o */*.o *.rpo *.obj *.out core *~ Templates.DB +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/gcc.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/gcc.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/gcc.mak Sat Feb 24 10:45:23 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/gcc.mak Sun Aug 11 18:59:25 2002 +@@ -4,6 +4,7 @@ + + srcdir = . + VPATH = . ++SHELL=/bin/sh + + # point this to proper location + STL_INCL=-I../../stlport +@@ -33,15 +34,15 @@ + D_TEST = ./eh_test_d.out + NOSGI_TEST = ./eh_test_nosgi.out + +-CC = c++ ++CC = g++ -pthread + CXX = $(CC) + + # dwa 12/22/99 -- had to turn off -ansi flag so we could use SGI IOSTREAMS + # also, test_slist won't compile with -O3/-O2 when targeting PPC. It fails + # in the assembler with 'invalid relocation type' +-CXXFLAGS = -Wall -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW +-D_CXXFLAGS = -Wall -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -D__STL_DEBUG -D__STL_USE_STATIC_LIB +-NOSGI_CXXFLAGS = -Wall -g -O2 ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -D__STL_NO_SGI_IOSTREAMS -D__STL_DEBUG_UNINITIALIZED -DEH_VECTOR_OPERATOR_NEW ++CXXFLAGS = -Wall -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW ++D_CXXFLAGS = -Wall -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -D_STLP_DEBUG -D_STLP_USE_STATIC_LIB ++NOSGI_CXXFLAGS = -Wall -g -O2 ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -D_STLP_NO_OWN_IOSTREAMS -D_STLP_DEBUG_UNINITIALIZED -DEH_VECTOR_OPERATOR_NEW + + check: $(TEST) + +@@ -55,21 +56,32 @@ + check_d: $(D_TEST) + + +-$(TEST_EXE) : $(OBJECTS) ++OBJDIR=obj ++D_OBJDIR=d_obj ++NOSGI_OBJDIR=nosgi_obj ++ ++$(OBJDIR): ++ mkdir obj ++$(D_OBJDIR): ++ mkdir d_obj ++$(NOSGI_OBJDIR): ++ mkdir nosgi_obj ++ ++$(TEST_EXE) : $(OBJDIR) $(OBJECTS) + $(CXX) $(CXXFLAGS) $(OBJECTS) $(LIBSTLPORT) $(LIBS) -o $(TEST_EXE) + +-$(D_TEST_EXE) : $(D_OBJECTS) ++$(D_TEST_EXE) : $(D_OBJDIR) $(D_OBJECTS) + $(CXX) $(D_CXXFLAGS) $(D_OBJECTS) $(D_LIBSTLPORT) $(LIBS) -o $(D_TEST_EXE) + +-$(NOSGI_TEST_EXE) : $(NOSGI_OBJECTS) ++$(NOSGI_TEST_EXE) : $(NOSGI_OBJDIR) $(NOSGI_OBJECTS) + $(CXX) $(NOSGI_CXXFLAGS) $(NOSGI_OBJECTS) $(LIBS) -o $(NOSGI_TEST_EXE) + +- + $(TEST) : $(TEST_EXE) +- $(TEST_EXE) ++ LD_LIBRARY_PATH="../../lib:$(LD_LIBRARY_PATH)" time ./$(TEST_EXE) -s 100 + + $(D_TEST) : $(D_TEST_EXE) +- $(D_TEST_EXE) ++ LD_LIBRARY_PATH="../../lib:$(LD_LIBRARY_PATH)" ./$(D_TEST_EXE) -s 100 ++ + + $(NOSGI_TEST) : $(NOSGI_TEST_EXE) + $(NOSGI_TEST_EXE) +@@ -96,9 +108,9 @@ + + %.out: %.cpp + $(CXX) $(CXXFLAGS) $< -c -USINGLE -DMAIN -g -o $*.o +- $(CXX) $(CXXFLAGS) $*.o $(LIBS) -o $* ++ $(CXX) $(CXXFLAGS) $*.o $(LIBSTLPORT) $(LIBS) -o $* + ./$* > $@ +- -rm -f $* ++# -rm -f $* + + %.s: %.cpp + $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/gcc7.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/gcc7.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/gcc7.mak Sat Feb 24 10:45:23 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/gcc7.mak Sun Aug 11 18:59:25 2002 +@@ -36,7 +36,7 @@ + CC = c++ + CXX = $(CC) + +-CXXFLAGS = -Wall -fhandle-exceptions -g ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -D__STL_NO_SGI_IOSTREAMS -D__STL_DEBUG_UNINITIALIZED ++CXXFLAGS = -Wall -fhandle-exceptions -g ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -D_STLP_NO_OWN_IOSTREAMS -D_STLP_DEBUG_UNINITIALIZED + + check: $(TEST) + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/hp.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/hp.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/hp.mak Sat Feb 24 10:45:23 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/hp.mak Sun Aug 11 18:59:25 2002 +@@ -37,7 +37,7 @@ + CC = CC + CXX = $(CC) + +-CXXFLAGS = -w ${STL_INCL} -D__STL_NO_CUSTOM_IO -D__SGI_STL_OWN_IOSTREAMS ++CXXFLAGS = -w ${STL_INCL} -D_STLP_NO_CUSTOM_IO + + LIBS = -lm + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/hpacc.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/hpacc.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/hpacc.mak Sat Feb 24 10:45:23 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/hpacc.mak Sun Aug 11 18:59:25 2002 +@@ -36,17 +36,24 @@ + CC = aCC + CXX = $(CC) + +-CXX_EXTRA_FLAGS = -Aa -DEH_DELETE_HAS_THROW_SPEC ++CXX_EXTRA_FLAGS = -AA -DEH_DELETE_HAS_THROW_SPEC + # dwa 12/22/99 -- had to turn off -ansi flag so we could use SGI IOSTREAMS + # also, test_slist won't compile with -O3/-O2 when targeting PPC. It fails + # in the assembler with 'invalid relocation type' + CXXFLAGS = -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW +-D_CXXFLAGS = -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -D__STL_DEBUG -D__STL_USE_STATIC_LIB +-NOSGI_CXXFLAGS = -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -D__STL_NO_SGI_IOSTREAMS -D__STL_DEBUG_UNINITIALIZED -DEH_VECTOR_OPERATOR_NEW ++D_CXXFLAGS = -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -D_STLP_DEBUG -D_STLP_USE_STATIC_LIB ++NOSGI_CXXFLAGS = -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -D_STLP_NO_OWN_IOSTREAMS -D_STLP_DEBUG_UNINITIALIZED -DEH_VECTOR_OPERATOR_NEW + + check: $(TEST) + +-LIBS = -lm -lcma ++HP_VERSION=$(shell uname -r) ++ifeq (${HP_VERSION},B.10.20) ++PTHREAD_LIB=-lcma ++else ++PTHREAD_LIB=-lpthread ++endif ++ ++LIBS = $(PTHREAD_LIB) -lm + + D_LIBSTLPORT = -L../../lib -lstlport_aCC_debug + LIBSTLPORT = -L../../lib -lstlport_aCC +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/intel.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/intel.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/intel.mak Sat Feb 24 10:45:23 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/intel.mak Sun Aug 11 18:59:25 2002 +@@ -51,7 +51,7 @@ + $< > $@ + + .cpp.exe: +- $(CPP) $(CPP_PROJ) -DMAIN $< ++ $(CPP) $(CPP_PROJ) -DMAIN $< $(CPP_LIBS) + + .c.obj: + $(CPP) $(CPP_PROJ) /c $< +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/intel45.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/intel45.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/intel45.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/intel45.mak Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,109 @@ ++# Microsoft Developer Studio Generated NMAKE File, Format Version 4.10 ++# ** DO NOT EDIT ** ++ ++# TARGTYPE "Win32 (x86) Console Application" 0x0103 ++ ++ ++!IF "$(OS)" == "Windows_NT" ++NULL= ++!ELSE ++NULL=nul ++!ENDIF ++################################################################################ ++# Begin Project ++RSC=rc.exe ++CPP=icl.exe ++LINK32=xilink.exe ++ ++OUTDIR=. ++INTDIR=. ++ ++# set this directories ++STL_PATH=..\.. ++ ++Dep_stl = TestClass.obj main.obj nc_alloc.obj \ ++random_number.obj test_algo.obj test_algobase.obj test_bit_vector.obj test_deque.obj \ ++test_hash_map.obj test_hash_set.obj test_list.obj test_map.obj test_rope.obj test_set.obj \ ++test_slist.obj test_vector.obj test_string.obj test_bitset.obj test_valarray.obj ++ ++CPP_LIBS = /link /incremental:no /LIBPATH:$(STL_PATH)\lib ++ ++#disable warnings complaining about debug ...info exceeded.... ++CPP_PRJ_EXTRA = /Qwd985 ++CPP_PRJ_CMN = /nologo /W3 /GR /GX /DWIN32 /D_WINDOWS /D_CONSOLE /I$(STL_PATH)\stlport /I. ++ ++# ++LIBTYPE = STATIC ++# LIBTYPE = DYNAMIC ++# ++#DEBUG = STL ++DEBUG = ON ++#DEBUG = ++# ++IOS = SGI ++#IOS = NOSGI ++#IOS = NONE ++ ++!IF "$(IOS)" == "NOSGI" ++CPP_PRJ_IOS = /D_STLP_NO_OWN_IOSTREAMS ++!ELSEIF "$(IOS)" == "NONE" ++CPP_PRJ_IOS = /D_STLP_NO_IOSTREAM ++!ELSE ++CPP_PRJ_IOS = ++!ENDIF ++ ++#MT/MD etc should be LAST in CPP_PRJ_LIBTYP string!!! ++#Library selection should be BEFORE debug processing!!! ++!IF "$(LIBTYPE)" == "STATIC" ++CPP_PRJ_LIBTYP = /MT ++!ELSE ++CPP_PRJ_LIBTYP = /MD ++!ENDIF ++ ++!IF "$(DEBUG)" == "" ++CPP_PRJ_DBG = /DNDEBUG /O2 /Qsox- ++!ELSE ++CPP_PRJ_LIBTYP = $(CPP_PRJ_LIBTYP)d ++CPP_PRJ_DBG = /D_DEBUG /Od ++!IF "$(DEBUG)" == "STL" ++CPP_PRJ_DBG = $(CPP_PRJ_DBG) /D_STLP_DEBUG ++!ENDIF ++CPP_PRJ_CMN = $(CPP_PRJ_CMN) /Zi /Gm ++!ENDIF ++ ++CPP_PROJ = $(CPP_PRJ_CMN) $(CPP_PRJ_EXTRA) $(CPP_PRJ_IOS) $(CPP_PRJ_LIBTYP) $(CPP_PRJ_DBG) ++ ++check: eh_test.out ++ ++eh_test.out : $(Dep_stl) ++ $(CPP) $(CPP_PROJ) $(Dep_stl) /Feeh_test.exe $(CPP_LIBS) ++ cd ..\..\lib ++ ..\test\eh\eh_test.exe -s 100 ++ echo done ++ ++clean : ++ -@erase "$(INTDIR)\*.obj" ++ -@erase "$(OUTDIR)\*.exe" ++ -@erase "$(OUTDIR)\*.obj" ++ ++ ++.exe.out: ++ $< > $@ ++ ++.cpp.exe: ++ $(CPP) $(CPP_PROJ) -DMAIN $< ++ ++.c.obj: ++ $(CPP) $(CPP_PROJ) /c $< ++ ++.cpp.obj: ++ $(CPP) $(CPP_PROJ) /c $< ++ ++.cxx.obj: ++ $(CPP) $(CPP_PROJ) /c $< ++ ++.cpp.E: ++ $(CPP) $(CPP_PROJ) -E $< >$*.E ++ ++.cpp.sbr: ++ $(CPP) $(CPP_PROJ) $< +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/intel50.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/intel50.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/intel50.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/intel50.mak Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,115 @@ ++# Microsoft Developer Studio Generated NMAKE File, Format Version 4.10 ++# ** DO NOT EDIT ** ++ ++# TARGTYPE "Win32 (x86) Console Application" 0x0103 ++ ++ ++!IF "$(OS)" == "Windows_NT" ++NULL= ++!ELSE ++NULL=nul ++!ENDIF ++################################################################################ ++# Begin Project ++RSC=rc.exe ++CPP=icl.exe ++LINK32=xilink.exe ++ ++OUTDIR=. ++INTDIR=. ++ ++# set this directories ++STL_PATH=..\.. ++ ++Dep_stl = TestClass.obj main.obj nc_alloc.obj \ ++random_number.obj test_algo.obj test_algobase.obj test_bit_vector.obj test_deque.obj \ ++test_hash_map.obj test_hash_set.obj test_list.obj test_map.obj test_rope.obj test_set.obj \ ++test_slist.obj test_vector.obj test_string.obj test_bitset.obj test_valarray.obj ++ ++# linker finds proper STLport lib automatically, only path to the library is needed ++CPP_PRJ_LINK = /link /incremental:no /LIBPATH:$(STL_PATH)\lib ++ ++#disable warnings complaining about debug ...info exceeded.... ++CPP_PRJ_EXTRA = /Qwd985 ++CPP_PRJ_CMN = /nologo /W3 /GR /GX /DWIN32 /D_WINDOWS /D_CONSOLE /I$(STL_PATH)\stlport /I. ++ ++# ++LIBTYPE = STATIC ++# LIBTYPE = DYNAMIC ++# ++#DEBUG = STL ++DEBUG = ON ++#DEBUG = ++# ++IOS = SGI ++#IOS = NOSGI ++#IOS = NONE ++ ++!IF "$(IOS)" == "NOSGI" ++CPP_PRJ_IOS = /D_STLP_NO_SGI_IOSTREAMS ++!ELSEIF "$(IOS)" == "NONE" ++CPP_PRJ_IOS = /D_STLP_NO_IOSTREAM ++!ELSE ++CPP_PRJ_IOS = ++!ENDIF ++ ++#MT/MD etc should be LAST in CPP_PRJ_LIBTYP string!!! ++#Library selection should be BEFORE debug processing!!! ++!IF "$(LIBTYPE)" == "STATIC" ++CPP_PRJ_LIBTYP = /D_STLP_USE_STATIC_LIB /MT ++!ELSE ++CPP_PRJ_LIBTYP = /D_STLP_USE_DYNAMIC_LIB /MD ++!ENDIF ++ ++!IF "$(DEBUG)" == "" ++CPP_PRJ_DBG = /DNDEBUG /O2 /Qsox- ++!ELSE ++CPP_PRJ_LIBTYP = $(CPP_PRJ_LIBTYP)d ++CPP_PRJ_DBG = /D_DEBUG /Od ++!IF "$(DEBUG)" == "STL" ++CPP_PRJ_DBG = $(CPP_PRJ_DBG) /D_STLP_DEBUG ++!ENDIF ++CPP_PRJ_CMN = $(CPP_PRJ_CMN) /Zi /Gm ++!ENDIF ++ ++CPP_IGNORE_LIB = LIBCMT ++#CPP_PRJ_LINK = $(CPP_PRJ_LINK) /NODEFAULTLIB:$(CPP_IGNORE_LIB) ++CPP_PRJ_LINK = $(CPP_PRJ_LINK) /VERBOSE:LIB ++ ++CPP_PROJ = $(CPP_PRJ_CMN) $(CPP_PRJ_EXTRA) $(CPP_PRJ_IOS) $(CPP_PRJ_LIBTYP) $(CPP_PRJ_DBG) ++ ++check: eh_test.out ++ ++eh_test.out : $(Dep_stl) ++ $(CPP) $(CPP_PROJ) $(Dep_stl) /Feeh_test.exe $(CPP_PRJ_LINK) ++# fbp : this is to locate DLL ++ cd ..\..\lib ++ ..\test\eh\eh_test.exe -s 100 ++ echo done ++ ++clean : ++ -@erase "$(INTDIR)\*.obj" ++ -@erase "$(OUTDIR)\*.exe" ++ -@erase "$(OUTDIR)\*.obj" ++ ++ ++.exe.out: ++ $< > $@ ++ ++.cpp.exe: ++ $(CPP) $(CPP_PROJ) -DMAIN $< $(CPP_PRJ_LINK) ++ ++.c.obj: ++ $(CPP) $(CPP_PROJ) /c $< ++ ++.cpp.obj: ++ $(CPP) $(CPP_PROJ) /c $< ++ ++.cxx.obj: ++ $(CPP) $(CPP_PROJ) /c $< ++ ++.cpp.E: ++ $(CPP) $(CPP_PROJ) -E $< >$*.E ++ ++.cpp.sbr: ++ $(CPP) $(CPP_PROJ) $< +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/kai.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/kai.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/kai.mak Sat Feb 24 10:45:23 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/kai.mak Sun Aug 11 18:59:25 2002 +@@ -28,13 +28,13 @@ + CC = KCC + CXX = $(CC) + +-CXXFLAGS = -w -mt --one_per ${STL_INCL} -D__STL_USE_NEWALLOC -DEH_VECTOR_OPERATOR_NEW -DEH_DELETE_HAS_THROW_SPEC ++CXXFLAGS = -w -mt --one_per ${STL_INCL} -D_STLP_USE_NEWALLOC -DEH_VECTOR_OPERATOR_NEW -DEH_DELETE_HAS_THROW_SPEC + + # This is to test with native STL +-# CXXFLAGS = -w -mt --one_per -D__STL_USE_NEWALLOC -DEH_NO_SGI_STL -DEH_NEW_HEADERS -DEH_VECTOR_OPERATOR_NEW -DEH_DELETE_HAS_THROW_SPEC ++# CXXFLAGS = -w -mt --one_per -D_STLP_USE_NEWALLOC -DEH_NO_SGI_STL -DEH_NEW_HEADERS -DEH_VECTOR_OPERATOR_NEW -DEH_DELETE_HAS_THROW_SPEC + + # This is to test with STLport iostreams +-LIBS = -L../../libstlport -lstlport -lm ++LIBS = -L../../lib -lstlport_kcc -lm + + LIBSTDCXX = + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/locale.cpp tripwire-2.3.1-2/src/STLport-4.0/test/eh/locale.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/locale.cpp Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/locale.cpp Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,60 @@ ++#include ++#include ++#include ++#include ++ ++using namespace std; ++ ++void main() ++{ ++ try ++ { ++ locale c_loc; ++ //locale sys(c_loc, "LC_TIME=UKR_UKR.OCP;LC_NUMERIC=RUS_RUS.OCP;LC_CTYPE=ukr_ukr.ocp;", locale::numeric | locale::time | locale::ctype); ++ locale sys(".ocp"); ++ locale::global(sys); ++ cin.imbue(sys); ++ cout.imbue(sys); ++ ++ cout<<"Locale name is: "<>value; ++ cout<& num_punct=use_facet >(cout.getloc()); ++ cout << num_punct.decimal_point() << '\n'; ++ const time_put > >& time_fac= ++ use_facet > > >(cout.getloc()); ++ time_fac.put(cout, cout, NULL, cur_time, 'x'); cout<<'\n'; ++ time_fac.put(cout, cout, NULL, cur_time, 'x', '#'); cout<<'\n'; ++ time_fac.put(cout, cout, NULL, cur_time, 'X'); cout<<'\n'; ++ time_fac.put(cout, cout, NULL, cur_time, 'c'); cout<<'\n'; ++ time_fac.put(cout, cout, NULL, cur_time, 'c', '#'); cout<<'\n'; ++ time_fac.put(cout, cout, NULL, cur_time, 'I'); cout<<'\n'; ++ ++ const ctype& char_type=use_facet >(cout.getloc()); ++ if(char_type.is(ctype_base::upper, '')) puts("Upper"); ++ if(char_type.is(ctype_base::lower, '¯')) puts("Lower"); ++ puts("Next"); ++ if(isupper('', cout.getloc())) puts("Upper"); ++ if(islower('¯', cout.getloc())) puts("Lower"); ++ /*for(int ch=128; ch<256; ch++) ++ printf("Character %c (%d) - upper %c, lower %c\n",(char)ch, ch,toupper((char)ch, cout.getloc()), tolower((char)ch, cout.getloc()));*/ ++ } ++ catch(exception &e) ++ { ++ cout<<"Exception fired:\n"< + #endif + +-#if defined(macintosh) || defined (_MAC) && defined(__MWERKS__) ++#if defined(macintosh)&&(!defined(__MRC__) && !defined(__SC__)) || defined (_MAC) && defined(__MWERKS__) + + # include + # include +@@ -143,7 +143,7 @@ + # include + # endif + +-int __STL_CALL main(int argc, char** argv) ++int _STLP_CALL main(int argc, char** argv) + { + #if defined( __MWERKS__ ) && defined( macintosh ) // Get command line. + argc = ccommand(&argv); +@@ -171,6 +171,9 @@ + + int cur_argv; + char *p, *p1; ++#if defined (EH_NEW_IOSTREAMS) ++ std::ios_base::sync_with_stdio(false); ++#endif + + cerr << argv[0]<<" : Exception handling testsuite.\n"; + cerr.flush(); +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/mingw32.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/mingw32.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/mingw32.mak Sat Feb 24 10:45:25 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/mingw32.mak Sun Aug 11 18:59:26 2002 +@@ -40,14 +40,15 @@ + # also, test_slist won't compile with -O3/-O2 when targeting PPC. It fails + # in the assembler with 'invalid relocation type' + CXXFLAGS = -Wall -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW +-D_CXXFLAGS = -Wall -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -D__STL_DEBUG -D__STL_USE_STATIC_LIB +-NOSGI_CXXFLAGS = -Wall -g -O2 ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -D__STL_NO_SGI_IOSTREAMS -D__STL_DEBUG_UNINITIALIZED -DEH_VECTOR_OPERATOR_NEW ++D_CXXFLAGS = -Wall -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -D_STLP_DEBUG -D_STLP_USE_STATIC_LIB ++NOSGI_CXXFLAGS = -Wall -g -O2 ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -D_STLP_NO_OWN_IOSTREAMS -D_STLP_DEBUG_UNINITIALIZED -DEH_VECTOR_OPERATOR_NEW + + check: $(TEST) + + LIBS = -lm +-D_LIBSTLPORT = -L../../lib -lstlport_mingw32_debug +-LIBSTLPORT = -L../../lib -lstlport_mingw32 ++ ++D_LIBSTLPORT = -L../../lib -lstlport_mingw32_debug_static ++LIBSTLPORT = -L../../lib -lstlport_mingw32_static + + all: $(TEST_EXE) $(D_TEST_EXE) $(NOSGI_TEST_EXE) + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/mwerks_debug_prefix.h tripwire-2.3.1-2/src/STLport-4.0/test/eh/mwerks_debug_prefix.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/mwerks_debug_prefix.h Sat Feb 24 10:45:25 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/mwerks_debug_prefix.h Sun Aug 11 18:59:26 2002 +@@ -1,5 +1,4 @@ + //mwerks_debug_prefix.h +-#define __SGI_STL_OWN_IOSTREAMS 1 +-#define __STL_NO_FORCE_INSTANTIATE 1// for debugging ++#define _STLP_NO_FORCE_INSTANTIATE 1// for debugging + #define EH_VECTOR_OPERATOR_NEW 1 +-#define __STL_DEBUG 1 // enable the use of allocation debugging ++#define _STLP_DEBUG 1 // enable the use of allocation debugging +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/mwerks_nosgi_debug_prefix.h tripwire-2.3.1-2/src/STLport-4.0/test/eh/mwerks_nosgi_debug_prefix.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/mwerks_nosgi_debug_prefix.h Sat Feb 24 10:45:25 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/mwerks_nosgi_debug_prefix.h Sun Aug 11 18:59:26 2002 +@@ -1,5 +1,5 @@ + //mwerks_nosgi_debug_prefix.h +-#define __STL_NO_SGI_IOSTREAMS 1 +-#define __STL_NO_FORCE_INSTANTIATE 1 // for debugging +-#define __STL_DEBUG_UNINITIALIZED 1 // enable the use of allocation debugging ++#define _STLP_NO_SGI_IOSTREAMS 1 ++#define _STLP_NO_FORCE_INSTANTIATE 1 // for debugging ++#define _STLP_DEBUG_UNINITIALIZED 1 // enable the use of allocation debugging + #define EH_VECTOR_OPERATOR_NEW 1 +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/mwerks_nosgi_prefix.h tripwire-2.3.1-2/src/STLport-4.0/test/eh/mwerks_nosgi_prefix.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/mwerks_nosgi_prefix.h Sat Feb 24 10:45:25 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/mwerks_nosgi_prefix.h Sun Aug 11 18:59:26 2002 +@@ -1,5 +1,5 @@ + //mwerks_nosgi_prefix.h +-#define __STL_NO_SGI_IOSTREAMS 1 +-#define __STL_NO_FORCE_INSTANTIATE 1 // for debugging ++#define _STLP_NO_SGI_IOSTREAMS 1 ++#define _STLP_NO_FORCE_INSTANTIATE 1 // for debugging + #define EH_VECTOR_OPERATOR_NEW 1 + #define NDEBUG 1 +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/mwerks_prefix.h tripwire-2.3.1-2/src/STLport-4.0/test/eh/mwerks_prefix.h +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/mwerks_prefix.h Sat Feb 24 10:45:25 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/mwerks_prefix.h Sun Aug 11 18:59:26 2002 +@@ -1,5 +1,4 @@ + //mwerks_prefix.h +-#define __SGI_STL_OWN_IOSTREAMS 1 +-#define __STL_NO_FORCE_INSTANTIATE 1// for debugging ++#define _STLP_NO_FORCE_INSTANTIATE 1// for debugging + #define EH_VECTOR_OPERATOR_NEW 1 + #define NDEBUG 1 +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/nc_alloc.cpp tripwire-2.3.1-2/src/STLport-4.0/test/eh/nc_alloc.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/nc_alloc.cpp Sat Feb 24 10:45:25 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/nc_alloc.cpp Sun Aug 11 18:59:26 2002 +@@ -222,7 +222,7 @@ + return p; + } + +-void* __STL_CALL operator new(size_t s) ++void* _STLP_CALL operator new(size_t s) + #ifdef EH_DELETE_HAS_THROW_SPEC + throw(EH_STD::bad_alloc) + #endif +@@ -231,7 +231,7 @@ + } + + #ifdef EH_USE_NOTHROW +-void* __STL_CALL operator new(size_t size, const EH_STD::nothrow_t&) throw() ++void* _STLP_CALL operator new(size_t size, const EH_STD::nothrow_t&) throw() + { + try + { +@@ -245,13 +245,13 @@ + #endif + + # if defined (EH_VECTOR_OPERATOR_NEW) +-void* __STL_CALL operator new[](size_t size ) throw(EH_STD::bad_alloc) ++void* _STLP_CALL operator new[](size_t size ) throw(EH_STD::bad_alloc) + { + return OperatorNew( size ); + } + + #ifdef EH_USE_NOTHROW +-void* __STL_CALL operator new[](size_t size, const EH_STD::nothrow_t&) throw() ++void* _STLP_CALL operator new[](size_t size, const EH_STD::nothrow_t&) throw() + { + try + { +@@ -264,16 +264,16 @@ + } + #endif + +-void __STL_CALL operator delete[](void* ptr) throw() ++void _STLP_CALL operator delete[](void* ptr) throw() + { + operator delete( ptr ); + } + # endif + + # if defined (EH_DELETE_HAS_THROW_SPEC) +-void __STL_CALL operator delete(void* s) throw() ++void _STLP_CALL operator delete(void* s) throw() + # else +-void __STL_CALL operator delete(void* s) ++void _STLP_CALL operator delete(void* s) + # endif + { + if ( s != 0 ) +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/sgi_mipspro.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/sgi_mipspro.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/sgi_mipspro.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/sgi_mipspro.mak Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,62 @@ ++# ;;; -*- Mode:makefile;-*- ++# Generated automatically from Makefile.in by configure. ++# This requires GNU make. ++ ++SHELL=/bin/sh ++ ++# srcdir = . ++# VPATH = . ++ ++ ++STL_INCL=-I${PWD}/../../stlport/ ++ ++# STL_INCL= -DEH_NO_SGI_STL ++ ++AUX_LIST=TestClass.o main.o nc_alloc.o random_number.o ++ ++TEST_LIST=test_algo.o \ ++test_algobase.o test_list.o test_slist.o \ ++test_bit_vector.o test_vector.o \ ++test_deque.o test_set.o test_map.o \ ++test_hash_map.o test_hash_set.o test_rope.o \ ++test_string.o test_bitset.o test_valarray.o ++ ++LIST=${AUX_LIST} ${TEST_LIST} ++ ++OBJECTS = $(LIST) ++EXECS = $(LIST:%.o=%) ++TESTS = $(LIST:%.o=%.out) ++TEST_EXE = eh_test ++TEST = eh_test.out ++ ++CC = CC ++CXX = $(CC) ++ ++# CXXFLAGS = -J 4 -ansi -LANG:std -I. ${STL_INCL} ${DEBUG_FLAGS} -I. -D_STLP_NO_OWN_IOSTREAMS -D_STLP_NO_NEW_IOSTREAMS ++CXXFLAGS = -J 4 -ansi -LANG:std -I. ${STL_INCL} ${DEBUG_FLAGS} -I. ++ ++LIBS = -L../../lib -lstlport_mipspro -lm ++LIBSTDCXX = ++ ++.SUFFIXES: .cpp .i .o .out .res ++ ++check: $(TEST) ++ ++$(TEST) : $(OBJECTS) ++ $(CXX) $(CXXFLAGS) $(OBJECTS) $(LIBS) -o $(TEST_EXE) ++ LD_LIBRARY_PATH="../../lib:$(LD_LIBRARY_PATH)" ./$(TEST_EXE) -s 100 ++ ++.cpp.o: ++ $(CXX) $(CXXFLAGS) $< -c -o $@ ++ ++.cpp.i: ++ $(CXX) $(CXXFLAGS) $< -E > $@ ++ ++%.out: %.cpp ++ $(CXX) $(CXXFLAGS) $*.cpp -c -USINGLE -DMAIN -g -o $*.o ++ $(CXX) $(CXXFLAGS) $*.o $(LIBS) -o $* ++ ./$* -q ++ -rm -f $* ++ ++clean: ++ -rm -fr ${TEST_EXE} *.o *.rpo *.obj *.out core *~ Templates.DB SunWS_cache cxx_repository +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/sunpro-64.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/sunpro-64.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/sunpro-64.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/sunpro-64.mak Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,69 @@ ++# ;;; -*- Mode:makefile;-*- ++# Generated automatically from Makefile.in by configure. ++# This requires GNU make. ++ ++ ++SHELL=/bin/sh ++ ++# point this to proper location ++STL_INCL= -I${PWD}/../../stlport ++ ++# STL_INCL= -DEH_NO_SGI_STL ++ ++AUX_LIST=TestClass.cpp main.cpp nc_alloc.cpp random_number.cpp ++ ++TEST_LIST=test_algo.cpp \ ++test_algobase.cpp test_list.cpp test_slist.cpp \ ++test_bit_vector.cpp test_vector.cpp \ ++test_deque.cpp test_set.cpp test_map.cpp \ ++test_hash_map.cpp test_hash_set.cpp test_rope.cpp \ ++test_string.cpp test_bitset.cpp test_valarray.cpp ++ ++LIST=${AUX_LIST} ${TEST_LIST} ++ ++OBJECTS = $(LIST:%.cpp=%.o) $(STAT_MODULE) ++EXECS = $(LIST:%.cpp=%) ++TESTS = $(LIST:%.cpp=%.out) ++TEST_EXE = eh_test ++TEST = eh_test.out ++ ++CC = CC ++CXX = $(CC) ++ ++CXXFLAGS = ${STL_INCL} -xarch=v9 -library=no%Cstd -features=rtti -DEH_VECTOR_OPERATOR_NEW -DEH_DELETE_HAS_THROW_SPEC -xildoff -g -D_REENTRANT -DNO_FAST_ALLOCATOR ++ ++# This is to test with native STL ++# CXXFLAGS = +w2 -xildoff -D_STLP_USE_NEWALLOC -DEH_NO_SGI_STL -DEH_NEW_HEADERS -DEH_VECTOR_OPERATOR_NEW -DEH_DELETE_HAS_THROW_SPEC ++ ++ ++LIBS = -lm ++LIBSTDCXX = ++ ++LIBSTLPORT = -library=no%Cstd -L../../lib -lstlport_sunpro64 ++ ++ ++check: $(TEST) ++ ++$(TEST) : $(OBJECTS) ++ $(CXX) $(CXXFLAGS) $(OBJECTS) ${LIBSTLPORT} $(LIBS) -o $(TEST_EXE) ++ LD_LIBRARY_PATH="../../lib;${LD_LIBRARY_PATH}" ./$(TEST_EXE) -s 100 ++ ++SUFFIXES: .cpp.o.out.res ++ ++%.o : %.cpp ++ $(CXX) $(CXXFLAGS) $< -c -o $@ ++ ++%.i : %.cpp ++ $(CXX) $(CXXFLAGS) $< -E -H > $@ ++ ++%.out: %.cpp ++ $(CXX) $(CXXFLAGS) $< -c -USINGLE -DMAIN -g -o $*.o ++ $(CXX) $(CXXFLAGS) $*.o $(LIBS) -o $* ++ ./$* -q ++ -rm -f $* ++ ++%.s: %.cpp ++ $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ ++ ++clean: ++ -rm -fr ${TEST_EXE} *.o *.rpo *.obj *.out core *~ Templates.DB SunWS_cache +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/sunpro.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/sunpro.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/sunpro.mak Sat Feb 24 10:45:25 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/sunpro.mak Sun Aug 11 18:59:26 2002 +@@ -2,14 +2,11 @@ + # Generated automatically from Makefile.in by configure. + # This requires GNU make. + +-# SHELL=/bin/sh +-# srcdir = . +-# VPATH = . + + SHELL=/bin/sh + + # point this to proper location +-STL_INCL= -I../../stlport/SC5 ++STL_INCL= -I${PWD}/../../stlport + + # STL_INCL= -DEH_NO_SGI_STL + +@@ -33,21 +30,25 @@ + CC = CC + CXX = $(CC) + +-CXXFLAGS = +w2 -mt -features=rtti ${STL_INCL} +-# CXXFLAGS = +w2 ${STL_INCL} ++# CXXFLAGS = ${STL_INCL} -library=no%Cstd -qoption ccfe -instlib=../../lib/libstlport_sunpro.so -features=rtti -DEH_VECTOR_OPERATOR_NEW -DEH_DELETE_HAS_THROW_SPEC + ++CXXFLAGS = ${STL_INCL} -library=no%Cstd -features=rtti -DEH_VECTOR_OPERATOR_NEW -DEH_DELETE_HAS_THROW_SPEC ++ ++# This is to test with native STL ++# CXXFLAGS = +w2 -xildoff -D_STLP_USE_NEWALLOC -DEH_NO_SGI_STL -DEH_NEW_HEADERS -DEH_VECTOR_OPERATOR_NEW -DEH_DELETE_HAS_THROW_SPEC + + + LIBS = -lm ++LIBSTDCXX = ++ ++LIBSTLPORT = -library=no%Cstd -L../../lib -lstlport_sunpro + +-LIBSTLPORT = -L../../lib -lstlport_sunpro + + check: $(TEST) + + $(TEST) : $(OBJECTS) +- echo 'Info: For CC 4.x, warnings from ld in the form "symbol `XXX' has differing sizes" are normal.' + $(CXX) $(CXXFLAGS) $(OBJECTS) ${LIBSTLPORT} $(LIBS) -o $(TEST_EXE) +- LD_LIBRARY_PATH="../../lib:$(LD_LIBRARY_PATH)" $(TEST_EXE) -s 100 ++ LD_LIBRARY_PATH="../../lib;${LD_LIBRARY_PATH}" ./$(TEST_EXE) -s 100 + + SUFFIXES: .cpp.o.out.res + +@@ -59,18 +60,12 @@ + + %.out: %.cpp + $(CXX) $(CXXFLAGS) $< -c -USINGLE -DMAIN -g -o $*.o +- $(CXX) $(CXXFLAGS) $*.o $(LIBS) -o $* +- ./$* -q +- -rm -f $* ++ $(CXX) $(CXXFLAGS) $*.o $(LIBS) ${LIBSTLPORT} -o $* ++ LD_LIBRARY_PATH="../../lib;${LD_LIBRARY_PATH}" ./$* ++ + + %.s: %.cpp + $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ + + clean: + -rm -fr ${TEST_EXE} *.o *.rpo *.obj *.out core *~ Templates.DB SunWS_cache +- +- +- +- +- +- +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/sunpro42.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/sunpro42.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/sunpro42.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/sunpro42.mak Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,76 @@ ++# ;;; -*- Mode:makefile;-*- ++# Generated automatically from Makefile.in by configure. ++# This requires GNU make. ++ ++# SHELL=/bin/sh ++# srcdir = . ++# VPATH = . ++ ++SHELL=/bin/sh ++ ++# point this to proper location ++STL_INCL= -I../../stlport ++ ++# STL_INCL= -DEH_NO_SGI_STL ++ ++AUX_LIST=TestClass.cpp main.cpp nc_alloc.cpp random_number.cpp ++ ++TEST_LIST=test_algo.cpp \ ++test_algobase.cpp test_list.cpp test_slist.cpp \ ++test_bit_vector.cpp test_vector.cpp \ ++test_deque.cpp test_set.cpp test_map.cpp \ ++test_hash_map.cpp test_hash_set.cpp test_rope.cpp \ ++test_string.cpp test_bitset.cpp test_valarray.cpp ++ ++LIST=${AUX_LIST} ${TEST_LIST} ++ ++OBJECTS = $(LIST:%.cpp=%.o) $(STAT_MODULE) ++EXECS = $(LIST:%.cpp=%) ++TESTS = $(LIST:%.cpp=%.out) ++TEST_EXE = eh_test ++TEST = eh_test.out ++ ++CC = CC ++CXX = $(CC) ++ ++CXXFLAGS = $(ARCHF) +w2 -mt -features=rtti ${STL_INCL} ++# CXXFLAGS = +w2 ${STL_INCL} ++ ++ ++ ++LIBS = -lm ++ ++LIBSTLPORT = -L../../lib -lstlport_sunpro42 ++ ++check: $(TEST) ++ ++$(TEST) : $(OBJECTS) ++ echo 'Info: For CC 4.x, warnings from ld in the form "symbol `XXX' has differing sizes" are normal.' ++ $(CXX) $(CXXFLAGS) $(OBJECTS) ${LIBSTLPORT} $(LIBS) -o $(TEST_EXE) ++ LD_LIBRARY_PATH="../../lib:$(LD_LIBRARY_PATH)" ./$(TEST_EXE) -s 100 ++ ++SUFFIXES: .cpp.o.out.res ++ ++%.o : %.cpp ++ $(CXX) $(CXXFLAGS) $< -c -o $@ ++ ++%.i : %.cpp ++ $(CXX) $(CXXFLAGS) $< -E -H > $@ ++ ++%.out: %.cpp ++ $(CXX) $(CXXFLAGS) $< -c -USINGLE -DMAIN -g -o $*.o ++ $(CXX) $(CXXFLAGS) $*.o $(LIBSTLPORT) $(LIBS) -o $* ++ ./$* -q ++ -rm -f $* ++ ++%.s: %.cpp ++ $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ ++ ++clean: ++ -rm -fr ${TEST_EXE} *.o *.rpo *.obj *.out core *~ Templates.DB SunWS_cache ++ ++ ++ ++ ++ ++ +Only in tripwire-2.3.1-2.old/src/STLport-4.0/test/eh: sunpro5.mak +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/test.cpp tripwire-2.3.1-2/src/STLport-4.0/test/eh/test.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/test.cpp Sat Feb 24 10:45:25 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/test.cpp Sun Aug 11 18:59:26 2002 +@@ -1,2 +1,42 @@ +-#include ++ #include ++ #include ++ #include + ++ template ++ inline void printElements(const T& coll, const char* msg = "") ++ { ++ typename T::const_iterator it; ++ std::cout << msg; ++ for(it = coll.begin(); it != coll.end(); ++it) { ++ std::cout << *it << ' '; ++ } ++ std::cout << std:: endl; ++ } ++ ++ int main(int /* argc */, char** /* argv */) ++ { ++ std::set set1, set2; ++ std::vector aVector; ++ ++ aVector.push_back(1); ++ aVector.push_back(1); ++ ++ set1.insert(aVector.begin(), aVector.end()); ++ ++ set2.insert(1); ++ set2.insert(1); ++ ++ printElements(aVector, "vector: "); ++ printElements(set1, "set1 : "); ++ printElements(set2, "set2 : "); ++ ++ return 0; ++ } ++# if 0 ++# include ++main() ++{ ++ // std::stringstream tstr; ++ std::cout<<"hello world\n"; ++} ++# endif +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/test_algobase.cpp tripwire-2.3.1-2/src/STLport-4.0/test/eh/test_algobase.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/test_algobase.cpp Sat Feb 24 10:45:26 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/test_algobase.cpp Sun Aug 11 18:59:26 2002 +@@ -89,9 +89,10 @@ + + void test_algobase() + { +- char arr[ sizeof(TestClass) * kBufferSize ]; +- TestClass* c = (TestClass*)arr; +- WeakCheck( c, test_uninitialized_copy() ); +- WeakCheck( c, test_uninitialized_fill() ); +- WeakCheck( c, test_uninitialized_fill_n() ); ++ // force alignment ++ double arr[ sizeof(TestClass) * kBufferSize ]; ++ TestClass* c = (TestClass*)arr; ++ WeakCheck( c, test_uninitialized_copy() ); ++ WeakCheck( c, test_uninitialized_fill() ); ++ WeakCheck( c, test_uninitialized_fill_n() ); + } +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/test_bit_vector.cpp tripwire-2.3.1-2/src/STLport-4.0/test/eh/test_bit_vector.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/test_bit_vector.cpp Sat Feb 24 10:45:26 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/test_bit_vector.cpp Sun Aug 11 18:59:26 2002 +@@ -25,6 +25,7 @@ + # else + #include + # endif ++ + #include "LeakCheck.h" + #include "test_construct.h" + #include "test_assign_op.h" +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/test_deque.cpp tripwire-2.3.1-2/src/STLport-4.0/test/eh/test_deque.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/test_deque.cpp Sat Feb 24 10:45:26 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/test_deque.cpp Sun Aug 11 18:59:26 2002 +@@ -36,7 +36,7 @@ + + typedef TestClass DQTestClass; + +-typedef EH_STD::__deque__ TestDeque; //*TY 04/30/2000 - removed third template parameter which is sgi extension ++typedef EH_STD::__deque__ TestDeque; + + inline sequence_container_tag + container_category(const TestDeque&) +@@ -59,11 +59,11 @@ + ConstCheck( testDeque, test_copy_construct() ); + WeakCheck( testDeque, test_insert_one(testDeque) ); + StrongCheck( testDeque, test_insert_one(testDeque,0) ); +- StrongCheck( testDeque, test_insert_one(testDeque, (int)testDeque.size()) ); ++ StrongCheck( testDeque, test_insert_one(testDeque, testDeque.size()) ); + + WeakCheck( testDeque, test_insert_n(testDeque, random_number(random_base) ) ); + StrongCheck( testDeque, test_insert_n(testDeque, random_number(random_base), 0 ) ); +- StrongCheck( testDeque, test_insert_n(testDeque, random_number(random_base), (int)testDeque.size() ) ); ++ StrongCheck( testDeque, test_insert_n(testDeque, random_number(random_base), testDeque.size() ) ); + + EH_STD::size_t insCnt = random_number(random_base); + DQTestClass *insFirst = new TestDeque::value_type[insCnt+1]; +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/test_rope.cpp tripwire-2.3.1-2/src/STLport-4.0/test/eh/test_rope.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/test_rope.cpp Sat Feb 24 10:45:27 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/test_rope.cpp Sun Aug 11 18:59:26 2002 +@@ -13,6 +13,11 @@ + * purpose. It is provided "as is" without express or implied warranty. + + ***********************************************************************************/ ++ ++# ifdef __SUNPRO_CC ++# define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1 ++# endif ++ + #include "Prefix.h" + #include "Tests.h" + #include "TestClass.h" +@@ -32,8 +37,26 @@ + #include + #endif + +-// typedef rope TestRope; +-typedef __STLPORT_STD::rope TestRope; ++ ++typedef STLPORT::rope TestRope; ++ ++# if ( _STLP_STATIC_TEMPLATE_DATA < 1 ) ++ ++// Instantiate TestRope static data members ++const unsigned long TestRope::_S_min_len[46] = { \ ++/* 0 */1, /* 1 */2, /* 2 */3, /* 3 */5, /* 4 */8, /* 5 */13, /* 6 */21, \ ++/* 7 */34, /* 8 */55, /* 9 */89, /* 10 */144, /* 11 */233, /* 12 */377, \ ++/* 13 */610, /* 14 */987, /* 15 */1597, /* 16 */2584, /* 17 */4181, \ ++/* 18 */6765ul, /* 19 */10946ul, /* 20 */17711ul, /* 21 */28657ul, /* 22 */46368ul, \ ++/* 23 */75025ul, /* 24 */121393ul, /* 25 */196418ul, /* 26 */317811ul, \ ++/* 27 */514229ul, /* 28 */832040ul, /* 29 */1346269ul, /* 30 */2178309ul, \ ++/* 31 */3524578ul, /* 32 */5702887ul, /* 33 */9227465ul, /* 34 */14930352ul, \ ++/* 35 */24157817ul, /* 36 */39088169ul, /* 37 */63245986ul, /* 38 */102334155ul, \ ++/* 39 */165580141ul, /* 40 */267914296ul, /* 41 */433494437ul, \ ++/* 42 */701408733ul, /* 43 */1134903170ul, /* 44 */1836311903ul, \ ++/* 45 */2971215073ul }; ++ ++# endif /* ( _STLP_STATIC_TEMPLATE_DATA < 1 ) */ + + inline sequence_container_tag + container_category(const TestRope&) +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/vc-static.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/vc-static.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/vc-static.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/vc-static.mak Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,74 @@ ++# Microsoft Developer Studio Generated NMAKE File, Format Version 4.10 ++# ** DO NOT EDIT ** ++ ++# TARGTYPE "Win32 (x86) Console Application" 0x0103 ++ ++ ++!IF "$(OS)" == "Windows_NT" ++NULL= ++!ELSE ++NULL=nul ++!ENDIF ++################################################################################ ++# Begin Project ++RSC=rc.exe ++CPP=cl.exe ++F90=fl32.exe ++ ++OUTDIR=. ++INTDIR=. ++ ++# set this directories ++STL_INCL=../../stlport ++VC_INCL=. ++# d:/vc41/msdev/include ++ ++Dep_stl = TestClass.obj main.obj nc_alloc.obj \ ++random_number.obj test_algo.obj test_algobase.obj test_bit_vector.obj test_deque.obj \ ++test_hash_map.obj test_hash_set.obj test_list.obj test_map.obj test_rope.obj test_set.obj \ ++test_slist.obj test_vector.obj test_string.obj test_bitset.obj test_valarray.obj ++ ++LINK32=link.exe ++ ++# CPP_PROJ=/nologo /Gr /MDd /W3 /GX /GR /D "WIN32" /D "_CONSOLE" /I$(STL_INCL) /I. /D "_STLP_DEBUG" ++CPP_PROJ=/nologo /MT /W3 /GX /GR /D "WIN32" /D "_CONSOLE" /I$(STL_INCL) /I. ++ ++# linker finds proper STLport lib automatically, only path to the ++# library is needed ++CPP_LIBS = /link /libpath:"..\..\lib" ++ ++check: eh_test.exe ++# fbp : this is to locate DLL ++ cd ..\..\lib ++ ..\test\eh\eh_test.exe -s 100 ++ echo done ++ ++eh_test.exe : $(Dep_stl) ++ $(CC) $(CPP_PROJ) $(Dep_stl) -o eh_test.exe $(CPP_LIBS) ++ ++clean : ++ -@erase "$(INTDIR)\*.obj" ++ -@erase "$(OUTDIR)\*.exe" ++ -@erase "$(OUTDIR)\*.obj" ++ ++ ++.exe.out: ++ $< > $@ ++ ++.cpp.exe: ++ $(CPP) $(CPP_PROJ) -DMAIN $< $(CPP_LIBS) ++ ++.c.obj: ++ $(CPP) $(CPP_PROJ) /c $< ++ ++.cpp.obj: ++ $(CPP) $(CPP_PROJ) /c $< ++ ++.cxx.obj: ++ $(CPP) $(CPP_PROJ) /c $< ++ ++.cpp.E: ++ $(CPP) $(CPP_PROJ) -E $< >$*.E ++ ++.cpp.sbr: ++ $(CPP) $(CPP_PROJ) $< +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/vc.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/vc.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/vc.mak Sat Feb 24 10:45:28 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/vc.mak Sun Aug 11 18:59:26 2002 +@@ -30,8 +30,8 @@ + + LINK32=link.exe + +-CPP_PROJ=/nologo /Gr /MDd /W3 /GX /GR /D "WIN32" /D "_CONSOLE" /I$(STL_INCL) /I. /D "__STL_DEBUG" +-# CPP_PROJ=/nologo /MTd /W3 /GX /GR /D "WIN32" /D "_CONSOLE" /I$(STL_INCL) /I. ++# CPP_PROJ=/nologo /Gr /MDd /W3 /GX /GR /D "WIN32" /D "_CONSOLE" /I$(STL_INCL) /I. /D "_STLP_DEBUG" /D "_STLP_NO_CUSTOM_IO" ++CPP_PROJ=/nologo /MD /W3 /GX /GR /D "WIN32" /D "_CONSOLE" /I$(STL_INCL) /I. + + # linker finds proper STLport lib automatically, only path to the + # library is needed +@@ -56,7 +56,7 @@ + $< > $@ + + .cpp.exe: +- $(CPP) $(CPP_PROJ) -DMAIN $< ++ $(CPP) $(CPP_PROJ) -DMAIN $< $(CPP_LIBS) + + .c.obj: + $(CPP) $(CPP_PROJ) /c $< +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/vc5.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/vc5.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/vc5.mak Sat Feb 24 10:45:28 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/vc5.mak Sun Aug 11 18:59:26 2002 +@@ -30,7 +30,7 @@ + + LINK32=link.exe + +-CPP_PROJ=/nologo /Gr /MTd /W3 /GX /GR /D "WIN32" /D "_CONSOLE" /I$(STL_INCL) /I. /D "__STL_DEBUG" ++CPP_PROJ=/nologo /Gr /MTd /W3 /GX /GR /D "WIN32" /D "_CONSOLE" /I$(STL_INCL) /I. /D "_STLP_DEBUG" + # CPP_PROJ=/nologo /MDd /W3 /GX /GR /D "WIN32" /D "_CONSOLE" /I$(STL_INCL) /I. + + # linker finds proper STLport lib automatically, only path to the +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/vc6.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/vc6.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/vc6.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/vc6.mak Sun Aug 11 19:12:59 2002 +@@ -0,0 +1,116 @@ ++# Microsoft Developer Studio Generated NMAKE File, Format Version 4.10 ++# ** DO NOT EDIT ** ++ ++# TARGTYPE "Win32 (x86) Console Application" 0x0103 ++ ++ ++!IF "$(OS)" == "Windows_NT" ++NULL= ++!ELSE ++NULL=nul ++!ENDIF ++################################################################################ ++# Begin Project ++RSC=rc.exe ++CPP=cl.exe ++F90=fl32.exe ++LINK32=link.exe ++ ++OUTDIR=. ++INTDIR=. ++ ++# set this directories ++STL_PATH=..\.. ++ ++Dep_stl = TestClass.obj main.obj nc_alloc.obj \ ++random_number.obj test_algo.obj test_algobase.obj test_bit_vector.obj test_deque.obj \ ++test_hash_map.obj test_hash_set.obj test_list.obj test_map.obj test_rope.obj test_set.obj \ ++test_slist.obj test_vector.obj test_string.obj test_bitset.obj test_valarray.obj ++ ++# linker finds proper STLport lib automatically, only path to the library is needed ++CPP_PRJ_LINK = /link /incremental:no /LIBPATH:$(STL_PATH)\lib ++ ++#disable warnings complaining about debug ...info exceeded.... ++CPP_PRJ_EXTRA = ++CPP_PRJ_CMN = /nologo /W3 /GR /GX /DWIN32 /D_WINDOWS /D_CONSOLE /I$(STL_PATH)\stlport /I. ++ ++# ++LIBTYPE = STATIC ++# LIBTYPE = DYNAMIC ++# ++#DEBUG = STL ++DEBUG = ON ++#DEBUG = ++# ++IOS = SGI ++#IOS = NOSGI ++#IOS = NONE ++ ++!IF "$(IOS)" == "NOSGI" ++CPP_PRJ_IOS = /D_STLP_NO_OWN_IOSTREAMS ++!ELSEIF "$(IOS)" == "NONE" ++CPP_PRJ_IOS = /D_STLP_NO_IOSTREAM ++!ELSE ++CPP_PRJ_IOS = ++!ENDIF ++ ++#MT/MD etc should be LAST in CPP_PRJ_LIBTYP string!!! ++#Library selection should be BEFORE debug processing!!! ++!IF "$(LIBTYPE)" == "STATIC" ++CPP_PRJ_LIBTYP = /D_STLP_USE_STATIC_LIB /MT ++!ELSE ++CPP_PRJ_LIBTYP = /D_STLP_USE_DYNAMIC_LIB /MD ++!ENDIF ++ ++!IF "$(DEBUG)" == "" ++CPP_PRJ_DBG = /DNDEBUG /O2 /Qsox- ++!ELSE ++CPP_PRJ_LIBTYP = $(CPP_PRJ_LIBTYP)d ++CPP_PRJ_DBG = /D_DEBUG /Od ++!IF "$(DEBUG)" == "STL" ++CPP_PRJ_DBG = $(CPP_PRJ_DBG) /D_STLP_DEBUG ++!ENDIF ++CPP_PRJ_CMN = $(CPP_PRJ_CMN) /Zi /Gm ++!ENDIF ++ ++CPP_IGNORE_LIB = LIBCMT ++#CPP_PRJ_LINK = $(CPP_PRJ_LINK) /NODEFAULTLIB:$(CPP_IGNORE_LIB) ++CPP_PRJ_LINK = $(CPP_PRJ_LINK) /VERBOSE:LIB ++ ++CPP_PROJ = $(CPP_PRJ_CMN) $(CPP_PRJ_EXTRA) $(CPP_PRJ_IOS) $(CPP_PRJ_LIBTYP) $(CPP_PRJ_DBG) ++ ++check: eh_test.out ++ ++eh_test.out : $(Dep_stl) ++ $(CPP) $(CPP_PROJ) $(Dep_stl) /Feeh_test.exe $(CPP_PRJ_LINK) ++# fbp : this is to locate DLL ++ cd ..\..\lib ++ ..\test\eh\eh_test.exe -s 100 ++ echo done ++ ++clean : ++ -@erase "$(INTDIR)\*.obj" ++ -@erase "$(OUTDIR)\*.exe" ++ -@erase "$(OUTDIR)\*.obj" ++ ++ ++.exe.out: ++ $< > $@ ++ ++.cpp.exe: ++ $(CPP) $(CPP_PROJ) -DMAIN $< $(CPP_PRJ_LINK) ++ ++.c.obj: ++ $(CPP) $(CPP_PROJ) /c $< ++ ++.cpp.obj: ++ $(CPP) $(CPP_PROJ) /c $< ++ ++.cxx.obj: ++ $(CPP) $(CPP_PROJ) /c $< ++ ++.cpp.E: ++ $(CPP) $(CPP_PROJ) -E $< >$*.E ++ ++.cpp.sbr: ++ $(CPP) $(CPP_PROJ) $< +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/MrCpp.mak tripwire-2.3.1-2/src/STLport-4.0/test/regression/MrCpp.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/MrCpp.mak Sat Feb 24 10:45:42 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/MrCpp.mak Sun Aug 11 18:59:26 2002 +@@ -7,7 +7,7 @@ + # "{PPCLibraries}MrCIOStreams.o" ¶ + "{STL}:lib:STLportLib{config_}.o" ¶ + "{SharedLibraries}InterfaceLib" ¶ +- "{SharedLibraries}StdCLib_3.5" ¶ ++ "{SharedLibraries}StdCLib_3.7" ¶ + "{SharedLibraries}MathLib" ¶ + "{PPCLibraries}StdCRuntime.o" ¶ + "{PPCLibraries}PPCCRuntime.o" ¶ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/ReadMe.MPW tripwire-2.3.1-2/src/STLport-4.0/test/regression/ReadMe.MPW +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/ReadMe.MPW Sat Feb 24 10:45:43 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/ReadMe.MPW Sun Aug 11 18:59:26 2002 +@@ -4,6 +4,7 @@ + # #*TY 05/23/1999 - updated for STLport-3.2 + # #*TY 08/03/1999 - updated for STLport-3.2.1 + # #*TY 05/21/2000 - updated for STLport-4.0 ++# #*TY 05/13/2001 - updated for STLport-4.1 + # + # this document describes the detailed instructions for building and running the STL testsuite (regression and eh) + # as the mpw tools, as well as building STLportLib which provides the standard conforming iostream. +@@ -32,6 +33,7 @@ + # under "{ShellDirectory}Startup Items:" directory. + # + #(# INSTALL (1) ++begin + unset STL # to unconditionally re-setup STL variable + if !"{STL}" + Set exit 0 +@@ -59,16 +61,19 @@ + else + alert "the path to ¶"¶{STL¶}¶" has been set up as: ¶n'{STL}' .¶nMake sure this is up to date." + end ++end ·· "{worksheet}" + #)# + + # =============================================================================================================== + # (2) make alias for the CIncludes folder at the same level as 'stlport' folder. + # + #(# INSTALL (2) ++begin + SendAE -e "FNDRsali" -t "Finder" -----alis "{CIncludes}:CIncludes" ·dev:null # create the alias + set alias_ `exists -a "{CIncludes}:"ÅCIncludesÅ` # get the exact name for the alias + duplicate -y "{alias_}" "{STL}:CIncludes" # copy it into the destination + delete -ay "{alias_}" # clean up ++end ·· "{worksheet}" + #)# + + +@@ -78,7 +83,10 @@ + # WARNING: THIS STEP IS QUITE TIME CONSUMING + # + #(# INSTALL (3) OPTIONAL ++begin + set -e exit 0 ++ if !"{Font}";set -e Font "Monaco";end ++ if !"{FontSize}";set -e FontSize 9;end + set self_ "{active}" + for f_ in `exists -f ¶ + "{stl}"[Â.]+ "{stl}"Å.[hc]Å ¶ +@@ -95,25 +103,29 @@ + "{stl}:test:regression:"Å.[hc]Å ¶ + "{stl}:test:eh:"Å.[hc]Å ¶ + ` +- SetFile -c 'MPS ' -label 3 "{f_}" ++ SetFile -a l "{f_}" + Open -h -r "{f_}" +- Format -l 'C/C++/Objective-C' -f "{Font}" -s "{FontSize}" "{f_}" ++ Format -l 'C/C++/Objective-C' -f "{Font}" -s "{FontSize}" "{f_}" + Close "{f_}" ++ SetFile -c 'MPS ' -label 3 -a L "{f_}" + end + for f_ in `exists -f ¶ + "{stl}:src:"Å.mak ¶ + "{stl}:test:regression:"Å.mak ¶ + "{stl}:test:eh:"Å.mak ¶ + ` +- SetFile -c 'MPS ' -label 4 "{f_}" # blue color ++ SetFile -a l "{f_}" + Open -h -r "{f_}" + Format -l 'MPW Shell Script' -f "{Font}" -s "{FontSize}" "{f_}" + Close "{f_}" ++ SetFile -c 'MPS ' -label 4 -a L "{f_}" # blue color + end + open "{self_}" +- SetFile -c 'MPS ' -label 6 "{self_}" # sky color ++ SetFile -a l "{self_}" + Format -l 'MPW Shell Script' -f "{Font}" -s "{FontSize}" "{self_}" ++ SetFile -c 'MPS ' -label 6 "{self_}" # sky color + set -e exit 1 ++end ·· "{worksheet}" + #)# + + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/accum1.cpp tripwire-2.3.1-2/src/STLport-4.0/test/regression/accum1.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/accum1.cpp Sat Feb 24 10:45:35 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/accum1.cpp Sun Aug 11 18:59:26 2002 +@@ -9,7 +9,7 @@ + #define accum1_test main + #endif + +-#if !defined (STLPORT) || defined(__STL_USE_NAMESPACES) ++#if !defined (STLPORT) || defined(_STLP_USE_NAMESPACES) + using namespace std; + #endif + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/adjdiff1.cpp tripwire-2.3.1-2/src/STLport-4.0/test/regression/adjdiff1.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/adjdiff1.cpp Sat Feb 24 10:45:35 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/adjdiff1.cpp Sun Aug 11 18:59:26 2002 +@@ -22,6 +22,7 @@ + vector result(v.size()); + adjacent_difference(v.begin(), v.end(), result.begin()); + ostream_iterator iter(cout, " "); ++ // vector::iterator iter; + copy(v.begin(), v.end(), iter); + cout << endl; + copy(result.begin(), result.end(), iter); +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/bc.mak tripwire-2.3.1-2/src/STLport-4.0/test/regression/bc.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/bc.mak Sat Feb 24 10:45:36 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/bc.mak Sun Aug 11 18:59:26 2002 +@@ -26,7 +26,7 @@ + LinkerLocalOptsAtC32_osdexe = -Tpe -ap -c + ResLocalOptsAtC32_osdexe = + BLocalOptsAtC32_osdexe = +-CompInheritOptsAt_osdexe = -I.;${STLINCL};${BCROOT}\INCLUDE -D_RTLDLL -D__STL_NO_SGI_IOSTREAMS; ++CompInheritOptsAt_osdexe = -I.;${STLINCL};${BCROOT}\INCLUDE -D_RTLDLL -D_STLP_NO_OWN_IOSTREAMS; + LinkerInheritOptsAt_osdexe = -x + LinkerOptsAt_osdexe = $(LinkerLocalOptsAtC32_osdexe) + ResOptsAt_osdexe = $(ResLocalOptsAtC32_osdexe) +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/bc502.mak tripwire-2.3.1-2/src/STLport-4.0/test/regression/bc502.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/bc502.mak Sat Feb 24 10:45:36 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/bc502.mak Sun Aug 11 18:59:26 2002 +@@ -248,7 +248,7 @@ + PATHASM = .; + PATHRC = .; + +-# USERDEFINES = __STL_NO_SGI_IOSTREAMS ++# USERDEFINES = _STLP_NO_OWN_IOSTREAMS + SYSDEFINES = _RTLDLL;NO_STRICT;USEPACKAGES;_DEBUG + + # --------------------------------------------------------------------------- +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/bcb.mak tripwire-2.3.1-2/src/STLport-4.0/test/regression/bcb.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/bcb.mak Sat Feb 24 10:45:36 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/bcb.mak Sun Aug 11 18:59:26 2002 +@@ -248,12 +248,17 @@ + PATHASM = .; + PATHRC = .; + +-# USERDEFINES = __STL_NO_SGI_IOSTREAMS +-SYSDEFINES = _RTLDLL;NO_STRICT;USEPACKAGES;_DEBUG ++USERDEFINES = _DEBUG ++SYSDEFINES = NO_STRICT;USEPACKAGES + + # --------------------------------------------------------------------------- +-CFLAG1 = -w- -jb -j1 -I.;..\..\stlport;$(BCB)\include; -Od -v -N -x -xp -tWCR -D$(SYSDEFINES);$(USERDEFINES) -L..\..\lib +-# CFLAG1 = -w- -jb -j1 -I.;..\..\stlport;$(BCB)\include; -tWCR -D$(SYSDEFINES);$(USERDEFINES) -L..\..\lib ++# CFLAG1 = -w- -jb -j1 -I.;..\..\stlport;$(BCB)\include; -Od -v -N -x -xp -tWCR -D$(SYSDEFINES);$(USERDEFINES) -L..\..\lib ++ ++# CFLAG1 = -w- -jb -j1 -I.;..\..\stlport;$(BCB)\include; -tWCR -w-par -w-inl -w-stl -D$(SYSDEFINES);$(USERDEFINES) ++ ++CFLAG1 = -w- -jb -j1 -I.;..\..\stlport;$(BCB)\include; -Od -v -N -x -xp -tWC -D$(SYSDEFINES);$(USERDEFINES) -L..\..\lib ++ ++LDFLAGS = -L..\..\lib;$(BCB)\..\lib stlpst.lib + + .autodepend + # --------------------------------------------------------------------------- +@@ -261,18 +266,18 @@ + all : $(PROJECT) + + $(PROJECT) : $(OBJFILES) +- $(BCB)\BIN\$(BCC32) -e$(PROJECT) $(CFLAG1) $(OBJFILES) ++ $(BCB)\BIN\$(BCC32) -e$(PROJECT) $(CFLAG1) $(LDFLAGS) $(OBJFILES) + + clean: + del *.obj *.exe *.core *.tds + + # --------------------------------------------------------------------------- + .cpp.obj: +- $(BCB)\BIN\$(BCC32) $(CFLAG1) -n$(@D) -c $< ++ $(BCC32) $(CFLAG1) -n$(@D) -c $< + + .cpp.exe: +- $(BCB)\BIN\$(BCC32) $(CFLAG1) -DMAIN -n$(@D) $< ++ $(BCC32) $(CFLAG1) -DMAIN -n$(@D) $< + + .cpp.i: +- $(BCB)\BIN\$(CPP32) $(CFLAG1) -n. -Sr -Ss -Sd {$< } ++ $(CPP32) $(CFLAG1) -n. -Sr -Ss -Sd {$< } + # --------------------------------------------------------------------------- +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/binsrch2.cpp tripwire-2.3.1-2/src/STLport-4.0/test/regression/binsrch2.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/binsrch2.cpp Sat Feb 24 10:45:36 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/binsrch2.cpp Sun Aug 11 18:59:26 2002 +@@ -14,7 +14,7 @@ + #endif + static bool str_compare(const char* a_, const char* b_) + { +- return ::strcmp(a_, b_) < 0 ? 1 : 0; ++ return strcmp(a_, b_) < 0 ? 1 : 0; + } + int binsrch2_test(int, char**) + { +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/bitset1.cpp tripwire-2.3.1-2/src/STLport-4.0/test/regression/bitset1.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/bitset1.cpp Sat Feb 24 10:45:36 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/bitset1.cpp Sun Aug 11 18:59:26 2002 +@@ -1,46 +1,58 @@ + // STLport regression testsuite component. + // To compile as a separate example, please #define MAIN. + ++ + #include + #include + #include + #include + +-#ifdef __STL_MSVC +-#define __STL_NON_TYPE_TMPL_PARAM_BUG ++#if defined (_STLP_MSVC) && (_MSC_VER < 1300) ++# define _STLP_NON_TYPE_TMPL_PARAM_BUG ++# define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS + #endif + ++# ifdef _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS ++# define CHART ++# else ++# define CHART , allocator > ++# endif ++ + #ifdef MAIN + #define bitset1_test main + #endif + +-#if !defined (STLPORT) || defined(__STL_USE_NAMESPACES) ++#if !defined (STLPORT) || defined(_STLP_USE_NAMESPACES) + using namespace std; + #endif + + int bitset1_test(int, char**) + { + cout<<"Results of bitset1_test:"< b1(0xFFFF); + bitset<13U> b2(0x1111); ++ // Boris : MSVC just cannot take it right + cout << "b1 size = " << b1.size() << endl; +-# if !defined (__STL_NON_TYPE_TMPL_PARAM_BUG) ++# if !defined (_STLP_NON_TYPE_TMPL_PARAM_BUG) + cout << "b1 = "< stl_test.out < stdin + echo done + +@@ -156,7 +157,7 @@ + $< > $@ + + .cpp.exe: +- $(CPP) $(CPP_PROJ) -DMAIN $< ++ $(CPP) $(CPP_PROJ) -DMAIN $< $(CPP_LIBS) + + .c.obj: + $(CPP) $(CPP_PROJ) /c $< +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/intel45.mak tripwire-2.3.1-2/src/STLport-4.0/test/regression/intel45.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/intel45.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/intel45.mak Sun Aug 11 19:13:00 2002 +@@ -0,0 +1,210 @@ ++# Microsoft Developer Studio Generated NMAKE File, Format Version 4.10 ++# ** DO NOT EDIT ** ++ ++# TARGTYPE "Win32 (x86) Console Application" 0x0103 ++ ++ ++!IF "$(OS)" == "Windows_NT" ++NULL= ++!ELSE ++NULL=nul ++!ENDIF ++################################################################################ ++# Begin Project ++RSC=rc.exe ++CPP=icl.exe ++LINK32=xilink.exe ++ ++OUTDIR=. ++INTDIR=. ++ ++# set this directories ++STL_PATH=..\.. ++ ++Dep_stl = stl_test.obj accum1.obj accum2.obj \ ++ adjdiff0.obj adjdiff1.obj adjdiff2.obj \ ++ adjfind0.obj adjfind1.obj adjfind2.obj \ ++ advance.obj \ ++ alg1.obj alg2.obj alg3.obj alg4.obj alg5.obj \ ++ bcompos1.obj bcompos2.obj \ ++ bind1st1.obj bind1st2.obj \ ++ bind2nd1.obj bind2nd2.obj \ ++ binsert1.obj binsert2.obj \ ++ binsrch1.obj binsrch2.obj \ ++ bnegate1.obj bnegate2.obj bvec1.obj \ ++ copy1.obj copy2.obj copy3.obj copy4.obj \ ++ copyb.obj copyb0.obj \ ++ count0.obj count1.obj \ ++ countif1.obj \ ++ deque1.obj \ ++ divides.obj \ ++ eqlrnge0.obj eqlrnge1.obj eqlrnge2.obj \ ++ equal0.obj equal1.obj equal2.obj \ ++ equalto.obj \ ++ fill1.obj filln1.obj \ ++ find0.obj find1.obj \ ++ findif0.obj findif1.obj \ ++ finsert1.obj finsert2.obj \ ++ foreach0.obj foreach1.obj \ ++ func1.obj func2.obj func3.obj \ ++ gener1.obj gener2.obj \ ++ genern1.obj genern2.obj \ ++ greateq.obj greater.obj \ ++ incl0.obj incl1.obj incl2.obj \ ++ inplmrg1.obj inplmrg2.obj \ ++ inrprod0.obj inrprod1.obj inrprod2.obj \ ++ insert1.obj insert2.obj \ ++ iota1.obj \ ++ istmit1.obj \ ++ iter1.obj iter2.obj iter3.obj iter4.obj \ ++ iterswp0.obj iterswp1.obj \ ++ less.obj \ ++ lesseq.obj \ ++ lexcmp1.obj lexcmp2.obj \ ++ list1.obj list2.obj list3.obj list4.obj \ ++ logicand.obj logicnot.obj \ ++ logicor.obj \ ++ lwrbnd1.obj lwrbnd2.obj \ ++ map1.obj \ ++ max1.obj max2.obj \ ++ maxelem1.obj maxelem2.obj \ ++ merge0.obj merge1.obj merge2.obj \ ++ min1.obj min2.obj \ ++ minelem1.obj minelem2.obj \ ++ minus.obj \ ++ mismtch0.obj mismtch1.obj mismtch2.obj \ ++ mkheap0.obj mkheap1.obj \ ++ mmap1.obj mmap2.obj \ ++ modulus.obj \ ++ mset1.obj mset3.obj mset4.obj mset5.obj \ ++ negate.obj nequal.obj \ ++ nextprm0.obj nextprm1.obj nextprm2.obj \ ++ nthelem0.obj nthelem1.obj nthelem2.obj \ ++ ostmit.obj \ ++ pair0.obj pair1.obj pair2.obj \ ++ parsrt0.obj parsrt1.obj parsrt2.obj \ ++ parsrtc0.obj parsrtc1.obj parsrtc2.obj \ ++ partsrt0.obj \ ++ partsum0.obj partsum1.obj partsum2.obj \ ++ pheap1.obj pheap2.obj \ ++ plus.obj \ ++ pqueue1.obj \ ++ prevprm0.obj prevprm1.obj prevprm2.obj \ ++ ptition0.obj ptition1.obj \ ++ ptrbinf1.obj ptrbinf2.obj \ ++ ptrunf1.obj ptrunf2.obj \ ++ queue1.obj \ ++ rawiter.obj \ ++ remcopy1.obj \ ++ remcpif1.obj \ ++ remif1.obj \ ++ remove1.obj \ ++ repcpif1.obj \ ++ replace0.obj replace1.obj replcpy1.obj replif1.obj \ ++ revbit1.obj revbit2.obj \ ++ revcopy1.obj reverse1.obj reviter1.obj reviter2.obj \ ++ rndshuf0.obj rndshuf1.obj rndshuf2.obj \ ++ rotate0.obj rotate1.obj rotcopy0.obj rotcopy1.obj \ ++ search0.obj search1.obj search2.obj \ ++ set1.obj set2.obj \ ++ setdiff0.obj setdiff1.obj setdiff2.obj \ ++ setintr0.obj setintr1.obj setintr2.obj \ ++ setsymd0.obj setsymd1.obj setsymd2.obj \ ++ setunon0.obj setunon1.obj setunon2.obj \ ++ sort1.obj sort2.obj \ ++ stack1.obj stack2.obj \ ++ stblptn0.obj stblptn1.obj \ ++ stblsrt1.obj stblsrt2.obj \ ++ swap1.obj \ ++ swprnge1.obj \ ++ times.obj \ ++ trnsfrm1.obj trnsfrm2.obj \ ++ ucompos1.obj ucompos2.obj \ ++ unegate1.obj unegate2.obj \ ++ uniqcpy1.obj uniqcpy2.obj \ ++ unique1.obj unique2.obj \ ++ uprbnd1.obj uprbnd2.obj \ ++ vec1.obj vec2.obj vec3.obj vec4.obj vec5.obj vec6.obj vec7.obj vec8.obj \ ++ hmap1.obj hmmap1.obj hset2.obj hmset1.obj slist1.obj string1.obj bitset1.obj ++ ++CPP_PRJ_LINK = /link /incremental:no /LIBPATH:$(STL_PATH)\lib ++ ++CPP_PRJ_CMN = /nologo /W3 /GR /GX /DWIN32 /D_WINDOWS /D_CONSOLE /I$(STL_PATH)\stlport /I. ++ ++# ++#LIBTYPE = STATIC ++LIBTYPE = DYNAMIC ++# ++#DEBUG = STL ++#DEBUG = ON ++DEBUG = ++# ++IOS = SGI ++#IOS = NOSGI ++#IOS = NONE ++ ++!IF "$(IOS)" == "NOSGI" ++CPP_PRJ_IOS = /D_STLP_NO_OWN_IOSTREAMS ++!ELSEIF "$(IOS)" == "NONE" ++CPP_PRJ_IOS = /D_STLP_NO_IOSTREAM ++!ELSE ++CPP_PRJ_IOS = ++!ENDIF ++ ++#MT/MD etc should be LAST in CPP_PRJ_LIBTYP string!!! ++#Library selection should be BEFORE debug processing!!! ++!IF "$(LIBTYPE)" == "STATIC" ++CPP_PRJ_LIBTYP = /D_STLP_USE_STATIC_LIB /MT ++!ELSE ++CPP_PRJ_LIBTYP = /D_STLP_USE_DYNAMIC_LIB /MD ++!ENDIF ++ ++!IF "$(DEBUG)" == "" ++CPP_PRJ_DBG = /DNDEBUG /O2 /Qsox- ++!ELSE ++CPP_PRJ_LIBTYP = $(CPP_PRJ_LIBTYP)d ++CPP_PRJ_DBG = /D_DEBUG /Od ++!IF "$(DEBUG)" == "STL" ++CPP_PRJ_DBG = $(CPP_PRJ_DBG) /D_STLP_DEBUG ++!ENDIF ++CPP_PRJ_CMN = $(CPP_PRJ_CMN) /Zi ++!ENDIF ++ ++CPP_PROJ = $(CPP_PRJ_CMN) $(CPP_PRJ_IOS) $(CPP_PRJ_LIBTYP) $(CPP_PRJ_DBG) ++ ++check: stl_test.out ++ ++stl_test.out : $(Dep_stl) ++ $(CPP) $(CPP_PROJ) $(Dep_stl) $(CPP_PRJ_LINK) ++ stl_test > stl_test.out < stdin ++ echo done ++ ++clean : ++ -@erase "$(INTDIR)\*.obj" ++ -@erase "$(OUTDIR)\*.exe" ++ -@erase "$(OUTDIR)\*.obj" ++ ++ ++.exe.out: ++ $< > $@ ++ ++.cpp.exe: ++ $(CPP) $(CPP_PROJ) -DMAIN $< $(CPP_PRJ_LINK) ++ ++.c.obj: ++ $(CPP) $(CPP_PROJ) /c $< ++ ++.cpp.obj: ++ $(CPP) $(CPP_PROJ) /c $< ++ ++.cxx.obj: ++ $(CPP) $(CPP_PROJ) /c $< ++ ++.c.sbr: ++ $(CPP) $(CPP_PROJ) $< ++ ++.cpp.E: ++ $(CPP) $(CPP_PROJ) -E $< >$*.E ++ ++.cpp.sbr: ++ $(CPP) $(CPP_PROJ) $< +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/intel50.mak tripwire-2.3.1-2/src/STLport-4.0/test/regression/intel50.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/intel50.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/intel50.mak Sun Aug 11 19:13:00 2002 +@@ -0,0 +1,210 @@ ++# Microsoft Developer Studio Generated NMAKE File, Format Version 4.10 ++# ** DO NOT EDIT ** ++ ++# TARGTYPE "Win32 (x86) Console Application" 0x0103 ++ ++ ++!IF "$(OS)" == "Windows_NT" ++NULL= ++!ELSE ++NULL=nul ++!ENDIF ++################################################################################ ++# Begin Project ++RSC=rc.exe ++CPP=icl.exe ++LINK32=xilink.exe ++ ++OUTDIR=. ++INTDIR=. ++ ++# set this directories ++STL_PATH=..\.. ++ ++Dep_stl = stl_test.obj accum1.obj accum2.obj \ ++ adjdiff0.obj adjdiff1.obj adjdiff2.obj \ ++ adjfind0.obj adjfind1.obj adjfind2.obj \ ++ advance.obj \ ++ alg1.obj alg2.obj alg3.obj alg4.obj alg5.obj \ ++ bcompos1.obj bcompos2.obj \ ++ bind1st1.obj bind1st2.obj \ ++ bind2nd1.obj bind2nd2.obj \ ++ binsert1.obj binsert2.obj \ ++ binsrch1.obj binsrch2.obj \ ++ bnegate1.obj bnegate2.obj bvec1.obj \ ++ copy1.obj copy2.obj copy3.obj copy4.obj \ ++ copyb.obj copyb0.obj \ ++ count0.obj count1.obj \ ++ countif1.obj \ ++ deque1.obj \ ++ divides.obj \ ++ eqlrnge0.obj eqlrnge1.obj eqlrnge2.obj \ ++ equal0.obj equal1.obj equal2.obj \ ++ equalto.obj \ ++ fill1.obj filln1.obj \ ++ find0.obj find1.obj \ ++ findif0.obj findif1.obj \ ++ finsert1.obj finsert2.obj \ ++ foreach0.obj foreach1.obj \ ++ func1.obj func2.obj func3.obj \ ++ gener1.obj gener2.obj \ ++ genern1.obj genern2.obj \ ++ greateq.obj greater.obj \ ++ incl0.obj incl1.obj incl2.obj \ ++ inplmrg1.obj inplmrg2.obj \ ++ inrprod0.obj inrprod1.obj inrprod2.obj \ ++ insert1.obj insert2.obj \ ++ iota1.obj \ ++ istmit1.obj \ ++ iter1.obj iter2.obj iter3.obj iter4.obj \ ++ iterswp0.obj iterswp1.obj \ ++ less.obj \ ++ lesseq.obj \ ++ lexcmp1.obj lexcmp2.obj \ ++ list1.obj list2.obj list3.obj list4.obj \ ++ logicand.obj logicnot.obj \ ++ logicor.obj \ ++ lwrbnd1.obj lwrbnd2.obj \ ++ map1.obj \ ++ max1.obj max2.obj \ ++ maxelem1.obj maxelem2.obj \ ++ merge0.obj merge1.obj merge2.obj \ ++ min1.obj min2.obj \ ++ minelem1.obj minelem2.obj \ ++ minus.obj \ ++ mismtch0.obj mismtch1.obj mismtch2.obj \ ++ mkheap0.obj mkheap1.obj \ ++ mmap1.obj mmap2.obj \ ++ modulus.obj \ ++ mset1.obj mset3.obj mset4.obj mset5.obj \ ++ negate.obj nequal.obj \ ++ nextprm0.obj nextprm1.obj nextprm2.obj \ ++ nthelem0.obj nthelem1.obj nthelem2.obj \ ++ ostmit.obj \ ++ pair0.obj pair1.obj pair2.obj \ ++ parsrt0.obj parsrt1.obj parsrt2.obj \ ++ parsrtc0.obj parsrtc1.obj parsrtc2.obj \ ++ partsrt0.obj \ ++ partsum0.obj partsum1.obj partsum2.obj \ ++ pheap1.obj pheap2.obj \ ++ plus.obj \ ++ pqueue1.obj \ ++ prevprm0.obj prevprm1.obj prevprm2.obj \ ++ ptition0.obj ptition1.obj \ ++ ptrbinf1.obj ptrbinf2.obj \ ++ ptrunf1.obj ptrunf2.obj \ ++ queue1.obj \ ++ rawiter.obj \ ++ remcopy1.obj \ ++ remcpif1.obj \ ++ remif1.obj \ ++ remove1.obj \ ++ repcpif1.obj \ ++ replace0.obj replace1.obj replcpy1.obj replif1.obj \ ++ revbit1.obj revbit2.obj \ ++ revcopy1.obj reverse1.obj reviter1.obj reviter2.obj \ ++ rndshuf0.obj rndshuf1.obj rndshuf2.obj \ ++ rotate0.obj rotate1.obj rotcopy0.obj rotcopy1.obj \ ++ search0.obj search1.obj search2.obj \ ++ set1.obj set2.obj \ ++ setdiff0.obj setdiff1.obj setdiff2.obj \ ++ setintr0.obj setintr1.obj setintr2.obj \ ++ setsymd0.obj setsymd1.obj setsymd2.obj \ ++ setunon0.obj setunon1.obj setunon2.obj \ ++ sort1.obj sort2.obj \ ++ stack1.obj stack2.obj \ ++ stblptn0.obj stblptn1.obj \ ++ stblsrt1.obj stblsrt2.obj \ ++ swap1.obj \ ++ swprnge1.obj \ ++ times.obj \ ++ trnsfrm1.obj trnsfrm2.obj \ ++ ucompos1.obj ucompos2.obj \ ++ unegate1.obj unegate2.obj \ ++ uniqcpy1.obj uniqcpy2.obj \ ++ unique1.obj unique2.obj \ ++ uprbnd1.obj uprbnd2.obj \ ++ vec1.obj vec2.obj vec3.obj vec4.obj vec5.obj vec6.obj vec7.obj vec8.obj \ ++ hmap1.obj hmmap1.obj hset2.obj hmset1.obj slist1.obj string1.obj bitset1.obj ++ ++CPP_PRJ_LINK = /link /incremental:no /LIBPATH:$(STL_PATH)\lib ++ ++CPP_PRJ_CMN = /nologo /W3 /GR /GX /DWIN32 /D_WINDOWS /D_CONSOLE /I$(STL_PATH)\stlport /I. ++ ++# ++#LIBTYPE = STATIC ++LIBTYPE = DYNAMIC ++# ++#DEBUG = STL ++#DEBUG = ON ++DEBUG = ++# ++IOS = SGI ++#IOS = NOSGI ++#IOS = NONE ++ ++!IF "$(IOS)" == "NOSGI" ++CPP_PRJ_IOS = /D_STLP_NO_OWN_IOSTREAMS ++!ELSEIF "$(IOS)" == "NONE" ++CPP_PRJ_IOS = /D_STLP_NO_IOSTREAM ++!ELSE ++CPP_PRJ_IOS = ++!ENDIF ++ ++#MT/MD etc should be LAST in CPP_PRJ_LIBTYP string!!! ++#Library selection should be BEFORE debug processing!!! ++!IF "$(LIBTYPE)" == "STATIC" ++CPP_PRJ_LIBTYP = /D_STLP_USE_STATIC_LIB /MT ++!ELSE ++CPP_PRJ_LIBTYP = /D_STLP_USE_DYNAMIC_LIB /MD ++!ENDIF ++ ++!IF "$(DEBUG)" == "" ++CPP_PRJ_DBG = /DNDEBUG /O2 /Qsox- ++!ELSE ++CPP_PRJ_LIBTYP = $(CPP_PRJ_LIBTYP)d ++CPP_PRJ_DBG = /D_DEBUG /Od ++!IF "$(DEBUG)" == "STL" ++CPP_PRJ_DBG = $(CPP_PRJ_DBG) /D_STLP_DEBUG ++!ENDIF ++CPP_PRJ_CMN = $(CPP_PRJ_CMN) /Zi ++!ENDIF ++ ++CPP_PROJ = $(CPP_PRJ_CMN) $(CPP_PRJ_IOS) $(CPP_PRJ_LIBTYP) $(CPP_PRJ_DBG) ++ ++check: stl_test.out ++ ++stl_test.out : $(Dep_stl) ++ $(CPP) $(CPP_PROJ) $(Dep_stl) $(CPP_PRJ_LINK) ++ stl_test > stl_test.out < stdin ++ echo done ++ ++clean : ++ -@erase "$(INTDIR)\*.obj" ++ -@erase "$(OUTDIR)\*.exe" ++ -@erase "$(OUTDIR)\*.obj" ++ ++ ++.exe.out: ++ $< > $@ ++ ++.cpp.exe: ++ $(CPP) $(CPP_PROJ) -DMAIN $< $(CPP_PRJ_LINK) ++ ++.c.obj: ++ $(CPP) $(CPP_PROJ) /c $< ++ ++.cpp.obj: ++ $(CPP) $(CPP_PROJ) /c $< ++ ++.cxx.obj: ++ $(CPP) $(CPP_PROJ) /c $< ++ ++.c.sbr: ++ $(CPP) $(CPP_PROJ) $< ++ ++.cpp.E: ++ $(CPP) $(CPP_PROJ) -E $< >$*.E ++ ++.cpp.sbr: ++ $(CPP) $(CPP_PROJ) $< +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/istmit1.cpp tripwire-2.3.1-2/src/STLport-4.0/test/regression/istmit1.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/istmit1.cpp Sat Feb 24 10:45:39 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/istmit1.cpp Sun Aug 11 18:59:26 2002 +@@ -3,6 +3,7 @@ + + #include + #include ++#include + #include + + #ifdef MAIN +@@ -19,7 +20,7 @@ + int i = 0; + cin.unsetf(ios::skipws); // Disable white-space skipping. + cout << "Please enter a string: "; +-#ifndef __STL_LIMITED_DEFAULT_TEMPLATES ++#ifndef _STLP_LIMITED_DEFAULT_TEMPLATES + istream_iterator s(cin),meos; //*TY 01/10/1999 - added eos() + #else + istream_iterator s(cin),meos; //*TY 01/10/1999 - added eos() +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/kai.mak tripwire-2.3.1-2/src/STLport-4.0/test/regression/kai.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/kai.mak Sat Feb 24 10:45:41 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/kai.mak Sun Aug 11 18:59:26 2002 +@@ -127,7 +127,7 @@ + # DEBUG_FLAGS=-g + DEBUG_FLAGS=-O + # DEBUG_FLAGS=-O4 +-DEBUG_FLAGS=-D__STL_DEBUG ++DEBUG_FLAGS=-D_STLP_DEBUG + DEBUG_FLAGS= + + +@@ -165,11 +165,11 @@ + $(CXX) $(CXXFLAGS) -c $< -o $@ + + %.s: %.cpp +- $(CXX) $(CXXFLAGS) -O5 -D__STL_USE_MALLOC -S -pto $< -o $@ ++ $(CXX) $(CXXFLAGS) -O5 -D_STLP_USE_MALLOC -S -pto $< -o $@ + +-# $(CXX) $(CXXFLAGS) -O5 -D__STL_USE_MALLOC -noex -D__STL_NO_EXCEPTIONS -S -pto $< -o $@ ++# $(CXX) $(CXXFLAGS) -O5 -D_STLP_USE_MALLOC -noex -D_STLP_NO_EXCEPTIONS -S -pto $< -o $@ + +-# $(CXX) $(CXXFLAGS) -O4 -noex -D__STL_NO_EXCEPTIONS -D__STL_NO_EXCEPTIONS -S -pta $< -o $@ ++# $(CXX) $(CXXFLAGS) -O4 -noex -D_STLP_NO_EXCEPTIONS -D_STLP_NO_EXCEPTIONS -S -pta $< -o $@ + + clean: + -rm -fr *.exe *.o *.rpo *.obj *.out Templates.DB SunWS_cache ti_files +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/kcc-new.mak tripwire-2.3.1-2/src/STLport-4.0/test/regression/kcc-new.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/kcc-new.mak Sat Feb 24 10:45:41 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/kcc-new.mak Sun Aug 11 18:59:26 2002 +@@ -128,7 +128,7 @@ + # DEBUG_FLAGS=-g + DEBUG_FLAGS=-O + # DEBUG_FLAGS=-O4 +-DEBUG_FLAGS=-D__STL_DEBUG ++DEBUG_FLAGS=-D_STLP_DEBUG + DEBUG_FLAGS= + + +@@ -166,11 +166,11 @@ + $(CXX) $(CXXFLAGS) -c $< -o $@ + + %.s: %.cpp +- $(CXX) $(CXXFLAGS) -O5 -D__STL_USE_MALLOC -S -pto $< -o $@ ++ $(CXX) $(CXXFLAGS) -O5 -D_STLP_USE_MALLOC -S -pto $< -o $@ + +-# $(CXX) $(CXXFLAGS) -O5 -D__STL_USE_MALLOC -noex -D__STL_NO_EXCEPTIONS -S -pto $< -o $@ ++# $(CXX) $(CXXFLAGS) -O5 -D_STLP_USE_MALLOC -noex -D_STLP_NO_EXCEPTIONS -S -pto $< -o $@ + +-# $(CXX) $(CXXFLAGS) -O4 -noex -D__STL_NO_EXCEPTIONS -D__STL_NO_EXCEPTIONS -S -pta $< -o $@ ++# $(CXX) $(CXXFLAGS) -O4 -noex -D_STLP_NO_EXCEPTIONS -D_STLP_NO_EXCEPTIONS -S -pta $< -o $@ + + clean: + -rm -fr *.exe *.o *.rpo *.obj *.out Templates.DB SunWS_cache ti_files +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/kcc.mak tripwire-2.3.1-2/src/STLport-4.0/test/regression/kcc.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/kcc.mak Sat Feb 24 10:45:41 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/kcc.mak Sun Aug 11 18:59:26 2002 +@@ -131,7 +131,7 @@ + DEBUG_FLAGS= + + +-CXXFLAGS = -D__STL_NO_SGI_IOSTREAMS ${STL_INCL} ${DEBUG_FLAGS} -I. ++CXXFLAGS = -D_STLP_NO_OWN_IOSTREAMS ${STL_INCL} ${DEBUG_FLAGS} -I. + + LIBS = -lm + LIBSTDCXX = +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/lwrbnd2.cpp tripwire-2.3.1-2/src/STLport-4.0/test/regression/lwrbnd2.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/lwrbnd2.cpp Sat Feb 24 10:45:41 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/lwrbnd2.cpp Sun Aug 11 18:59:26 2002 +@@ -14,7 +14,7 @@ + #endif + static bool char_str_less(const char* a_, const char* b_) + { +- return ::strcmp(a_, b_) < 0 ? 1 : 0; ++ return strcmp(a_, b_) < 0 ? 1 : 0; + } + + int lwrbnd2_test(int, char**) +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/max2.cpp tripwire-2.3.1-2/src/STLport-4.0/test/regression/max2.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/max2.cpp Sat Feb 24 10:45:41 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/max2.cpp Sun Aug 11 18:59:26 2002 +@@ -14,7 +14,7 @@ + #endif + static bool str_compare(const char* a_, const char* b_) + { +- return ::strcmp(a_, b_) < 0 ? 1 : 0; ++ return strcmp(a_, b_) < 0 ? 1 : 0; + } + + int max2_test(int, char**) +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/maxelem2.cpp tripwire-2.3.1-2/src/STLport-4.0/test/regression/maxelem2.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/maxelem2.cpp Sat Feb 24 10:45:42 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/maxelem2.cpp Sun Aug 11 18:59:26 2002 +@@ -8,14 +8,16 @@ + #ifdef MAIN + #define maxelem2_test main + #endif +-static bool str_compare(const char* a_, const char* b_) +-{ +- return ::strcmp(a_, b_) < 0 ? 1 : 0; +-} + + #if !defined (STLPORT) || defined(__STL_USE_NAMESPACES) + using namespace std; + #endif ++ ++static bool str_compare(const char* a_, const char* b_) ++{ ++ return strcmp(a_, b_) < 0 ? 1 : 0; ++} ++ + int maxelem2_test(int, char**) + { + cout<<"Results of maxelem2_test:"< ++ ++#if !defined (STLPORT) || defined(__STL_USE_NAMESPACES) ++using namespace std; ++#endif ++ + class MyRandomGenerator + { + public: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/rawiter.cpp tripwire-2.3.1-2/src/STLport-4.0/test/regression/rawiter.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/rawiter.cpp Sat Feb 24 10:45:43 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/rawiter.cpp Sun Aug 11 18:59:26 2002 +@@ -31,7 +31,7 @@ + *r++ = X(i); + for(i = 0; i < 5; i++) + cout << *p++ << endl; +-# ifdef __SGI_STL_PORT ++# ifdef __STLPORT_VERSION + a.deallocate(save_p,5); + # else + a.deallocate(save_p); +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/search2.cpp tripwire-2.3.1-2/src/STLport-4.0/test/regression/search2.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/search2.cpp Sat Feb 24 10:45:44 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/search2.cpp Sun Aug 11 18:59:26 2002 +@@ -7,17 +7,18 @@ + #include + #include + ++#if !defined (STLPORT) || defined(__STL_USE_NAMESPACES) ++using namespace std; ++#endif ++ + #ifdef MAIN + #define search2_test main + #endif + static bool str_equal(const char* a_, const char* b_) + { +- return ::strcmp(a_, b_) == 0 ? 1 : 0; ++ return strcmp(a_, b_) == 0 ? 1 : 0; + } + +-#if !defined (STLPORT) || defined(__STL_USE_NAMESPACES) +-using namespace std; +-#endif + int search2_test(int, char**) + { + cout<<"Results of search2_test:"< $(TEST) ++ ++.SUFFIXES: .cpp .o .exe .out .res ++ ++.cpp.o: ++ $(CXX) $(CXXFLAGS) $< -c -o $@ ++ ++.cpp.out: ++ $(CXX) $(CXXFLAGS) $< -c -USINGLE -DMAIN -o $*.o ++ $(CXX) $(CXXFLAGS) $*.o $(LIBS) -g -o $*.exe ++ ./$*.exe > $@ ++ -rm -f $*.exe ++ ++istmit1.out: istmit1.cpp ++ $(CXX) $(CXXFLAGS) $< $(STAT_MODULE) $(LIBSTDCXX) -lstdc++ $(LIBS) -o istmit1 ++ echo 'a string' | ./istmit1 > istmit1.out ++ -rm -f ./istmit1 ++ ++.cpp.s: ++ $(CXX) $(CXXFLAGS) -O5 -D_STLP_USE_MALLOC -S -pto $< -o $@ ++ ++# $(CXX) $(CXXFLAGS) -O5 -D_STLP_USE_MALLOC -noex -D_STLP_NO_EXCEPTIONS -S -pto $< -o $@ ++ ++# $(CXX) $(CXXFLAGS) -O4 -noex -D_STLP_NO_EXCEPTIONS -D_STLP_NO_EXCEPTIONS -S -pta $< -o $@ ++ ++clean: ++ -rm -fr *.exe *.o *.rpo *.obj *.out Templates.DB SunWS_cache +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/slist1.cpp tripwire-2.3.1-2/src/STLport-4.0/test/regression/slist1.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/slist1.cpp Sat Feb 24 10:45:45 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/slist1.cpp Sun Aug 11 18:59:26 2002 +@@ -18,7 +18,7 @@ + cout<<"Results of slist1_test:"< o(cout,""); +- slist str(array, array + 6); ++ slist str(array+0, array + 6); + std::slist::iterator i; + cout << "original: "; + copy(str.begin(), str.end(),o); +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/stblsrt2.cpp tripwire-2.3.1-2/src/STLport-4.0/test/regression/stblsrt2.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/stblsrt2.cpp Sat Feb 24 10:45:45 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/stblsrt2.cpp Sun Aug 11 18:59:26 2002 +@@ -8,14 +8,16 @@ + #ifdef MAIN + #define stblsrt2_test main + #endif +-static bool string_less(const char* a_, const char* b_) +-{ +- return ::strcmp(a_, b_) < 0 ? 1 : 0; +-} + + #if !defined (STLPORT) || defined(__STL_USE_NAMESPACES) + using namespace std; + #endif ++ ++static bool string_less(const char* a_, const char* b_) ++{ ++ return strcmp(a_, b_) < 0 ? 1 : 0; ++} ++ + int stblsrt2_test(int, char**) + { + cout<<"Results of stblsrt2_test:"< + #include + #include ++#ifndef __WATCOMC__ + #include +- ++#endif + #ifdef TEST_PTHREAD + #include + #endif +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/stl_test.djgpp.exp tripwire-2.3.1-2/src/STLport-4.0/test/regression/stl_test.djgpp.exp +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/stl_test.djgpp.exp Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/stl_test.djgpp.exp Sun Aug 11 19:13:00 2002 +@@ -0,0 +1,870 @@ ++Results of accum1_test: ++sum = 15 ++Results of accum2_test: ++prod = 120 ++Results of adjdiff0_test: ++1 2 4 8 16 ++1 1 2 4 8 ++Results of adjdiff1_test: ++0 1 4 9 16 25 36 49 64 81 ++0 1 3 5 7 9 11 13 15 17 ++Results of adjdiff2_test: ++1 2 3 4 5 6 7 8 9 10 ++1 2 6 12 20 30 42 56 72 90 ++Results of adjfind0_test: ++No adjacent pairs ++Found adjacent pair of: 1 at offset 3 ++Results of adjfind1_test: ++No adjacent pairs ++Found adjacent pair of: 7 ++Results of adjfind2_test: ++Found two adjacent strings of equal length: Jack -and- Mike ++Results of advance_test: ++At Beginning: 0 ++At Beginning + 5: 5 ++Results of alg1_test: ++min(4, 7) = 4 ++max('a', 'z') = z ++Results of alg2_test: ++Count of 2s = 3 ++Results of alg3_test: ++Count of 2s = 3 ++Results of alg4_test: ++1962 ++1992 ++1999 ++2001 ++Results of alg5_test: ++1962 ++1992 ++2001 ++1999 ++Results of bcompos1_test: ++1 is odd and positive ++Results of bcompos2_test: ++1 is odd and positive ++Results of bind1st1_test: ++1 ++2 ++Results of bind1st2_test: ++1 ++2 ++Results of bind2nd1_test: ++1 ++2 ++4 ++Results of bind2nd2_test: ++1 ++2 ++4 ++Results of binsert1_test: ++laurie ++jennifer ++leisa ++Results of binsert2_test: ++laurie ++jennifer ++leisa ++Results of binsrch1_test: ++found 42 ++Results of binsrch2_test: ++ff is in labels. ++Results of bnegate1_test: ++1 ++4 ++7 ++9 ++Results of bnegate2_test: ++1 ++4 ++7 ++9 ++Results of bvec1_test: ++000 ++101 ++10101 ++Results of copy1_test: ++ Src: A string to be copied. ++Dest: A string to be copied. ++Results of copy2_test: ++0 1 2 3 4 5 6 7 8 9 ++Results of copy3_test: ++0 1 2 3 4 5 6 7 8 9 ++Results of copy4_test: ++0 1 2 3 4 5 6 7 8 9 ++Results of copyb_test: ++0 1 2 3 4 5 6 7 8 9 ++Results of copyb0_test: ++1 2 3 4 5 ++1 2 3 4 5 ++Results of count0_test: ++Found 4 1's. ++Results of count1_test: ++Found 33 2's. ++Results of countif1_test: ++Found 33 odd elements. ++Results of deque1_test: ++d[0] = 1 ++d[1] = 4 ++d[2] = 9 ++d[3] = 16 ++ ++d[0] = 4 ++d[1] = 9 ++d[2] = 25 ++Results of divides_test: ++result = 2 ++Results of eqlrnge0_test: ++2 can be inserted from before index 4 to before index 8 ++Results of eqlrnge1_test: ++Within the collection: ++ 0 0 0 1 1 1 2 2 2 3 ++2 can be inserted from before index 6 to before index 9 ++Results of eqlrnge2_test: ++Within the collection: ++ aabbccddggghhklllmqqqqssyyzz ++q can be inserted from before index 18 to before index 22 ++Results of equal0_test: ++numbers1 is not equal to numbers2 ++numbers3 is equal to numbers1 ++Results of equal1_test: ++v1 is not equal to v2 ++v1 is equal to v2 ++Results of equal2_test: ++v2[i] == v1[i] * v1[i] ++Results of equalto_test: ++1 ++0 ++1 ++0 ++Results of fill1_test: ++42 42 42 42 42 42 42 42 42 42 ++Results of filln1_test: ++42 42 42 42 42 42 42 42 42 42 ++Results of find0_test: ++Found 25 at offset 5 ++Results of find1_test: ++Found 1972 at offset 3 ++Results of findif0_test: ++Value 15 at offset 3 is odd ++Results of findif1_test: ++Value 9 at offset 2 is divisible by 3 ++Results of finsert1_test: ++leisa ++jennifer ++laurie ++Results of finsert2_test: ++leisa ++jennifer ++laurie ++Results of foreach0_test: ++1 1 2 3 5 8 13 21 34 55 ++Results of foreach1_test: ++0 1 4 9 16 25 36 49 64 81 ++Results of func1_test: ++Number greater than 3 = 2 ++Results of func2_test: ++5 ++4 ++1 ++Results of func3_test: ++5 ++4 ++1 ++Results of gener1_test: ++262236772 208042609 800207362 428428949 47718728 1793958355 1543227091 1255063701 1245922717 448084510 ++Results of gener2_test: ++1 1 2 3 5 8 13 21 34 55 ++Results of genern1_test: ++1841298076 1050803247 489249763 634882132 437249775 192858938 1769723075 2017244079 451954759 998335072 ++Results of genern2_test: ++1 1 2 3 5 8 13 21 34 55 ++Results of greateq_test: ++4 ++3 ++2 ++1 ++Results of greater_test: ++4 ++3 ++2 ++1 ++Results of incl0_test: ++numbers1 does not include numbers3 ++numbers2 includes numbers3 ++Results of incl1_test: ++v1 does not include v2 ++v1 includes v2 ++Results of incl2_test: ++v1 does not include v2 ++v1 includes v2 ++Results of inplmrg1_test: ++1 10 42 3 16 32 ++1 3 10 16 32 42 ++Results of inplmrg2_test: ++4 3 2 1 0 4 3 2 1 0 ++4 4 3 3 2 2 1 1 0 0 ++Results of inrprod0_test: ++Inner product = 55 ++Results of inrprod1_test: ++Inner product(sum of products) of: ++ 1 2 3 ++ 3 2 1 ++is: 10 ++Results of inrprod2_test: ++Inner product(product of sums): ++ 1 2 3 ++ 3 2 1 ++is: 64 ++Results of insert1_test: ++laurie ++jennifer ++amanda ++saskia ++carrie ++leisa ++Results of insert2_test: ++laurie ++jennifer ++amanda ++saskia ++carrie ++leisa ++Results of iota1_test: ++42 43 44 45 46 47 48 49 50 51 ++Results of istmit1_test: ++Please enter a string: read a string ++ ++Results of iter1_test: ++zippy ++motorboy ++Results of iter2_test: ++zippy ++motorboy ++Results of iter3_test: ++motorboy ++zippy ++Results of iter4_test: ++last element is 3 ++first element is 1 ++Results of iterswp0_test: ++3 1 2 0 4 5 ++Results of iterswp1_test: ++3 1 2 0 4 5 ++Results of less_test: ++1 ++2 ++3 ++4 ++Results of lesseq_test: ++1 ++2 ++3 ++4 ++Results of lexcmp1_test: ++shine is before shoe ++Results of lexcmp2_test: ++shoe is after shine ++Results of list1_test: ++1 ++4 ++9 ++16 ++36 ++Results of list2_test: ++1 ++4 ++9 ++16 ++Results of list3_test: ++original: xlxtss ++reversed: sstxlx ++removed: sstl ++uniqued: stl ++sorted: lst ++Results of list4_test: ++123467 ++Results of logicand_test: ++0 ++1 ++0 ++0 ++Results of logicnot_test: ++count = 2 ++Results of logicor_test: ++1 ++1 ++0 ++1 ++Results of lwrbnd1_test: ++0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 ++3 can be inserted at index: 12 ++Results of lwrbnd2_test: ++d can be inserted at index: 4 ++Results of map1_test: ++m['x'] = 20 ++m['x'] = 10 ++m['z'] = 0 ++m.count('z') = 1 ++First insertion successful ++Existing pair c -> 100 ++Results of max1_test: ++100 ++Results of max2_test: ++shoe ++Results of maxelem1_test: ++56 ++Results of maxelem2_test: ++Todd ++Results of merge0_test: ++-5 1 6 13 25 26 36 46 99 101 ++Results of merge1_test: ++0 1 2 3 4 ++3 4 5 6 7 ++0 1 2 3 3 4 4 5 6 7 ++Results of merge2_test: ++10 9 8 7 6 ++7 6 5 4 3 ++10 9 8 7 7 6 6 5 4 3 ++Results of min1_test: ++42 ++Results of min2_test: ++shine ++Results of minelem1_test: ++-242 ++Results of minelem2_test: ++Brett ++Results of minus_test: ++0 ++1 ++-1 ++5 ++Results of mismtch0_test: ++n1 and n2 are the same ++Mismatch at offset: 3 ++Results of mismtch1_test: ++v1 and v2 are the same ++mismatch at index: 5 ++Results of mismtch2_test: ++n1 and n2 are the same ++mismatch at index: 2 ++Results of mkheap0_test: ++19 ++13 ++11 ++10 ++5 ++4 ++Results of mkheap1_test: ++4 ++5 ++10 ++11 ++13 ++19 ++Results of mmap1_test: ++count('X') = 0 ++count('X') = 1 ++count('X') = 2 ++X -> 10 ++X -> 20 ++Y -> 32 ++Erased 2 items ++Results of mmap2_test: ++lower bound: ++3 -> c ++upper bound: ++6 -> f ++Results of modulus_test: ++2 ++0 ++10 ++2 ++Results of mset1_test: ++count(42) = 0 ++count(42) = 1 ++count(42) = 2 ++40 Not found ++Found 42 ++Erased 2 instances ++Results of mset3_test: ++lower bound = 3 ++upper bound = 6 ++Results of mset4_test: ++lower bound = 3 ++upper bound = 6 ++Results of mset5_test: ++Using less_than: ++1 ++3 ++6 ++9 ++Using greater_than: ++9 ++6 ++3 ++1 ++Results of negate_test: ++-1 ++-2 ++-3 ++Results of nequal_test: ++0 ++1 ++0 ++1 ++Results of nextprm0_test: ++0 2 1 ++Results of nextprm1_test: ++0 1 2 ++0 2 1 ++1 0 2 ++1 2 0 ++2 0 1 ++2 1 0 ++0 1 2 ++0 2 1 ++1 0 2 ++1 2 0 ++Results of nextprm2_test: ++ABC ++ACB ++BAC ++BCA ++CAB ++CBA ++ABC ++ACB ++BAC ++BCA ++Results of nthelem0_test: ++1 0 2 3 4 5 ++Results of nthelem1_test: ++2 0 0 2 6 3 6 3 3 0 ++0 0 0 2 2 3 3 6 3 6 ++Results of nthelem2_test: ++4 8 3 2 7 4 0 6 8 9 ++9 8 8 6 7 4 0 2 3 4 ++Results of ostmit_test: ++hello ++1524 ++Results of pair0_test: ++p.first = 1, p.second = 10 ++Results of pair1_test: ++p.first = 1, p.second = 10 ++Results of pair2_test: ++p.first = 1 ++p.second = 10 ++Results of parsrt0_test: ++1 2 3 5 4 6 ++Results of parsrt1_test: ++4 1 9 1 2 6 8 5 7 7 ++1 1 2 4 5 9 8 6 7 7 ++Results of parsrt2_test: ++aa ff dd ee cc bb ++aa bb cc ff ee dd ++Results of parsrtc0_test: ++1 2 3 ++Results of parsrtc1_test: ++9 6 0 8 8 0 9 1 1 3 ++0 0 1 1 3 ++Results of parsrtc2_test: ++aa ff dd ee cc bb ++aa ff dd ee cc bb ++Results of partsrt0_test: ++1 2 3 5 4 6 ++Results of partsum0_test: ++1 3 6 10 15 21 ++Results of partsum1_test: ++0 1 2 3 4 5 6 7 8 9 ++0 1 3 6 10 15 21 28 36 45 ++Results of partsum2_test: ++1 2 3 4 5 ++1 2 6 24 120 ++Results of pheap1_test: ++1 4 7 20 ++Results of pheap2_test: ++20 7 4 1 ++Results of plus_test: ++total = 77 ++Results of pqueue1_test: ++101 ++69 ++42 ++Results of prevprm0_test: ++2 1 0 ++Results of prevprm1_test: ++0 1 2 ++2 1 0 ++2 0 1 ++1 2 0 ++1 0 2 ++0 2 1 ++0 1 2 ++2 1 0 ++2 0 1 ++1 2 0 ++Results of prevprm2_test: ++0 1 2 ++0 2 1 ++1 0 2 ++1 2 0 ++2 0 1 ++2 1 0 ++0 1 2 ++0 2 1 ++1 0 2 ++1 2 0 ++Results of ptition0_test: ++6 1 3 10 12 20 ++Results of ptition1_test: ++16 19 14 5 11 8 1 14 18 1 ++1 1 8 5 11 14 19 14 18 16 ++Results of ptrbinf1_test: ++8 ++7 ++8 ++13 ++Results of ptrbinf2_test: ++8 ++7 ++8 ++13 ++Results of ptrunf1_test: ++2 is even ++Results of ptrunf2_test: ++2 is even ++Results of queue1_test: ++42 ++101 ++69 ++Results of rawiter_test: ++0 ++1 ++2 ++3 ++4 ++Results of remcopy1_test: ++1 3 1 3 0 0 ++Results of remcpif1_test: ++2 2 0 0 0 0 ++Results of remif1_test: ++0 0 2 2 2 2 ++Results of remove1_test: ++2 3 2 3 2 3 ++Results of repcpif1_test: ++0 1 2 3 4 0 1 2 3 4 ++0 1 2 3 4 0 1 2 3 4 ++0 42 2 42 4 0 42 2 42 4 ++Results of replace0_test: ++0 1 42 0 1 42 ++Results of replace1_test: ++0 1 2 3 4 0 1 2 3 4 ++0 1 42 3 4 0 1 42 3 4 ++Results of replcpy1_test: ++0 1 42 0 1 42 ++Results of replif1_test: ++0 1 2 3 4 0 1 2 3 4 ++0 42 2 42 4 0 42 2 42 4 ++Results of revbit1_test: ++3 ++2 ++5 ++1 ++Results of revbit2_test: ++3 ++2 ++5 ++1 ++Results of revcopy1_test: ++0 1 2 3 4 5 ++5 4 3 2 1 0 ++Results of reverse1_test: ++5 4 3 2 1 0 ++Results of reviter1_test: ++Results of reviter2_test: ++3 ++2 ++5 ++1 ++Results of rndshuf0_test: ++5 6 3 2 4 1 ++Results of rndshuf1_test: ++0 1 2 3 4 5 6 7 8 9 ++6 9 4 5 8 7 3 1 2 0 ++6 9 8 1 7 2 5 4 0 3 ++7 3 8 1 4 9 5 2 0 6 ++Results of rndshuf2_test: ++0 1 2 3 4 5 6 7 8 9 ++5 2 9 0 6 8 4 7 1 3 ++1 3 6 0 4 8 5 2 7 9 ++2 9 3 5 1 4 8 0 7 6 ++Results of rotate0_test: ++3 4 5 0 1 2 ++Results of rotate1_test: ++0 1 2 3 4 5 6 7 8 9 ++0 1 2 3 4 5 6 7 8 9 ++1 2 3 4 5 6 7 8 9 0 ++3 4 5 6 7 8 9 0 1 2 ++6 7 8 9 0 1 2 3 4 5 ++0 1 2 3 4 5 6 7 8 9 ++5 6 7 8 9 0 1 2 3 4 ++1 2 3 4 5 6 7 8 9 0 ++8 9 0 1 2 3 4 5 6 7 ++6 7 8 9 0 1 2 3 4 5 ++5 6 7 8 9 0 1 2 3 4 ++ ++Results of rotcopy0_test: ++3 4 5 0 1 2 ++Results of rotcopy1_test: ++0 1 2 3 4 5 6 7 8 9 ++0 1 2 3 4 5 6 7 8 9 ++1 2 3 4 5 6 7 8 9 0 ++2 3 4 5 6 7 8 9 0 1 ++3 4 5 6 7 8 9 0 1 2 ++4 5 6 7 8 9 0 1 2 3 ++5 6 7 8 9 0 1 2 3 4 ++6 7 8 9 0 1 2 3 4 5 ++7 8 9 0 1 2 3 4 5 6 ++8 9 0 1 2 3 4 5 6 7 ++9 0 1 2 3 4 5 6 7 8 ++ ++Results of search0_test: ++v3 not contained in v1 ++Found v3 in v2 at offset: 3 ++Results of search1_test: ++v1: 0 1 2 3 4 5 6 7 8 9 ++v2: 50 51 52 ++v2 not contained in v1 ++v1: 0 1 2 3 4 5 6 7 8 9 ++v2: 4 5 6 ++Found v2 in v1 at offset: 4 ++Results of search2_test: ++grades: A B C D F ++letters:Q E D ++letters not found in grades ++grades: A B C D F ++letters:B C D ++letters found in grades at offset: 1 ++Results of set1_test: ++count(42) = 0 ++count(42) = 1 ++count(42) = 1 ++1 elements erased ++Results of set2_test: ++Inserted new element 42 ++Existing element = 42 ++Results of setdiff0_test: ++18 0 0 0 ++10 17 23 0 ++Results of setdiff1_test: ++v1: 0 1 2 3 4 5 6 7 8 9 ++v2: 7 8 9 10 11 12 13 14 15 16 ++0 1 2 3 4 5 6 ++Results of setdiff2_test: ++word1: A B C D E F G H I J K L M N O ++word2: L M N O P Q R S T U V W X Y Z ++A B C D E F G H I J K ++Results of setintr0_test: ++13 23 0 0 ++Results of setintr1_test: ++v1: 0 1 2 3 4 5 6 7 8 9 ++v2: 7 8 9 10 11 12 13 14 15 16 ++7 8 9 ++Results of setintr2_test: ++word1: A B C D E F G H I J K L M N O ++word2: L M N O P Q R S T U V W X Y Z ++L M N O ++Results of setsymd0_test: ++10 17 18 0 ++Results of setsymd1_test: ++v1: 0 1 2 3 4 5 6 7 8 9 ++v2: 7 8 9 10 11 12 13 14 15 16 ++0 1 2 3 4 5 6 10 11 12 13 14 15 16 ++Results of setsymd2_test: ++word1: A B C D E F G H I J K L M N O ++word2: L M N O P Q R S T U V W X Y Z ++A B C D E F G H I J K P Q R S T U V W X Y Z ++Results of setunon0_test: ++10 13 17 18 23 0 0 ++Results of setunon1_test: ++v1: 0 1 2 3 4 5 6 7 8 9 ++v2: 7 8 9 10 11 12 13 14 15 16 ++0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ++Results of setunon2_test: ++word1: A B C D E F G H I J K L M N O ++word2: L M N O P Q R S T U V W X Y Z ++A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ++Results of sort1_test: ++-10 1 11 19 42 50 ++Results of sort2_test: ++before: 1 50 -10 11 42 19 ++after: 50 42 19 11 1 -10 ++Results of stack1_test: ++69 ++101 ++42 ++Results of stack2_test: ++69 ++101 ++42 ++Results of stblptn0_test: ++5 6 -2 10 11 20 ++Results of stblptn1_test: ++1 3 14 12 2 15 7 14 6 16 ++1 3 2 7 6 14 12 15 14 16 ++Results of stblsrt1_test: ++-10 1 11 19 42 50 ++Results of stblsrt2_test: ++aa bb cc dd ll qq ++Results of swap1_test: ++a = 42 b = 19 ++a = 19 b = 42 ++Results of swprnge1_test: ++World Hello ++Hello World ++Results of times_test: ++total = 70 ++Results of trnsfrm1_test: ++5 1 0 -1 -6 -11 ++Results of trnsfrm2_test: ++Hello World! ++Results of ucompos1_test: ++1 ++2 ++4 ++Results of ucompos2_test: ++1 ++2 ++4 ++Results of unegate1_test: ++2 ++Results of unegate2_test: ++2 ++Results of uniqcpy1_test: ++0 1 2 3 4 0 0 0 ++Results of uniqcpy2_test: ++QQWWEERTTYY ++QQWWEERTTYY ++QWERTY ++Results of unique1_test: ++0 1 2 3 4 2 3 4 ++Results of unique2_test: ++QQWWEERTTYY ++QWERTYRTTYY ++Results of uprbnd1_test: ++0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 ++3 can be inserted at index: 16 ++Results of uprbnd2_test: ++d can be inserted at index: 4 ++Results of vec1_test: ++empty = 1 ++size = 0 ++max_size = 1073741823 ++size = 1 ++v1[0] = 42 ++Results of vec2_test: ++v1 = 32.1 40.5 ++v2 = 3.56 ++v1 = 3.56 ++v2 = 32.1 40.5 ++v2 = 3.56 ++Results of vec3_test: ++v1 = hi ++v2 = ho ++(v1 == v2) = 0 ++(v1 < v2) = 1 ++Results of vec4_test: ++front = 1 ++back = 16, size = 4 ++back = 25, size = 5 ++back = 16, size = 4 ++Results of vec5_test: ++v[0] = 1 ++v[1] = 4 ++v[2] = 9 ++v[3] = 16 ++Results of vec6_test: ++v[0] = 1 ++v[1] = 4 ++v[2] = 9 ++v[3] = 16 ++v[4] = 25 ++v[5] = 36 ++ ++v[0] = 4 ++v[1] = 9 ++v[2] = 16 ++v[3] = 25 ++v[4] = 36 ++ ++v[0] = 4 ++v[1] = 9 ++v[2] = 16 ++v[3] = 25 ++ ++v[0] = 4 ++v[1] = 25 ++ ++Results of vec7_test: ++v[0] = 0 ++v[1] = 1 ++v[2] = 4 ++v[3] = 25 ++v[4] = 36 ++ ++v[0] = 0 ++v[1] = 1 ++v[2] = 4 ++v[3] = 9 ++v[4] = 16 ++v[5] = 25 ++v[6] = 36 ++ ++Results of vec8_test: ++capacity = 0 ++capacity = 1 ++capacity = 5000 ++Results of hmap1_test: ++m['x'] = 20 ++m['x'] = 10 ++m['z'] = ++m.count('z') = 1 ++First insertion successful ++Existing pair c -> 100 ++Results of hmmap1_test: ++count('X') = 0 ++count('X') = 1 ++count('X') = 2 ++X -> 10 ++X -> 20 ++Y -> 32 ++Erased 2 items ++Results of hset2_test: ++Inserted new element 42 ++Existing element = 42 ++Results of hmset1_test: ++count(42) = 0 ++count(42) = 1 ++count(42) = 2 ++40 Not found ++Found * ++Erased 2 instances ++Results of slist1_test: ++original: xlxtss ++reversed: sstxlx ++removed: sstl ++uniqued: stl ++sorted: lst ++Results of string1_test: ++Hello, World! ++v[0] = H ++v[1] = ! ++ ++Hello, World! ++Results of bitset1_test: ++b1 size = 13 ++b1 = 1111111111111 ++b2 size = 13 ++b2 = 1000100010001 ++b1 = 1101110111011 +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/stl_test.freebsd.exp tripwire-2.3.1-2/src/STLport-4.0/test/regression/stl_test.freebsd.exp +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/stl_test.freebsd.exp Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/stl_test.freebsd.exp Sun Aug 11 19:13:00 2002 +@@ -0,0 +1,869 @@ ++Results of accum1_test: ++sum = 15 ++Results of accum2_test: ++prod = 120 ++Results of adjdiff0_test: ++1 2 4 8 16 ++1 1 2 4 8 ++Results of adjdiff1_test: ++0 1 4 9 16 25 36 49 64 81 ++0 1 3 5 7 9 11 13 15 17 ++Results of adjdiff2_test: ++1 2 3 4 5 6 7 8 9 10 ++1 2 6 12 20 30 42 56 72 90 ++Results of adjfind0_test: ++No adjacent pairs ++Found adjacent pair of: 1 at offset 3 ++Results of adjfind1_test: ++No adjacent pairs ++Found adjacent pair of: 7 ++Results of adjfind2_test: ++Found two adjacent strings of equal length: Jack -and- Mike ++Results of advance_test: ++At Beginning: 0 ++At Beginning + 5: 5 ++Results of alg1_test: ++min(4, 7) = 4 ++max('a', 'z') = z ++Results of alg2_test: ++Count of 2s = 3 ++Results of alg3_test: ++Count of 2s = 3 ++Results of alg4_test: ++1962 ++1992 ++1999 ++2001 ++Results of alg5_test: ++1962 ++1992 ++2001 ++1999 ++Results of bcompos1_test: ++1 is odd and positive ++Results of bcompos2_test: ++1 is odd and positive ++Results of bind1st1_test: ++1 ++2 ++Results of bind1st2_test: ++1 ++2 ++Results of bind2nd1_test: ++1 ++2 ++4 ++Results of bind2nd2_test: ++1 ++2 ++4 ++Results of binsert1_test: ++laurie ++jennifer ++leisa ++Results of binsert2_test: ++laurie ++jennifer ++leisa ++Results of binsrch1_test: ++found 42 ++Results of binsrch2_test: ++ff is in labels. ++Results of bnegate1_test: ++1 ++4 ++7 ++9 ++Results of bnegate2_test: ++1 ++4 ++7 ++9 ++Results of bvec1_test: ++000 ++101 ++10101 ++Results of copy1_test: ++ Src: A string to be copied. ++Dest: A string to be copied. ++Results of copy2_test: ++0 1 2 3 4 5 6 7 8 9 ++Results of copy3_test: ++0 1 2 3 4 5 6 7 8 9 ++Results of copy4_test: ++0 1 2 3 4 5 6 7 8 9 ++Results of copyb_test: ++0 1 2 3 4 5 6 7 8 9 ++Results of copyb0_test: ++1 2 3 4 5 ++1 2 3 4 5 ++Results of count0_test: ++Found 4 1's. ++Results of count1_test: ++Found 33 2's. ++Results of countif1_test: ++Found 33 odd elements. ++Results of deque1_test: ++d[0] = 1 ++d[1] = 4 ++d[2] = 9 ++d[3] = 16 ++ ++d[0] = 4 ++d[1] = 9 ++d[2] = 25 ++Results of divides_test: ++result = 2 ++Results of eqlrnge0_test: ++2 can be inserted from before index 4 to before index 8 ++Results of eqlrnge1_test: ++Within the collection: ++ 0 0 0 1 1 1 2 2 2 3 ++2 can be inserted from before index 6 to before index 9 ++Results of eqlrnge2_test: ++Within the collection: ++ aabbccddggghhklllmqqqqssyyzz ++q can be inserted from before index 18 to before index 22 ++Results of equal0_test: ++numbers1 is not equal to numbers2 ++numbers3 is equal to numbers1 ++Results of equal1_test: ++v1 is not equal to v2 ++v1 is equal to v2 ++Results of equal2_test: ++v2[i] == v1[i] * v1[i] ++Results of equalto_test: ++1 ++0 ++1 ++0 ++Results of fill1_test: ++42 42 42 42 42 42 42 42 42 42 ++Results of filln1_test: ++42 42 42 42 42 42 42 42 42 42 ++Results of find0_test: ++Found 25 at offset 5 ++Results of find1_test: ++Found 1972 at offset 3 ++Results of findif0_test: ++Value 15 at offset 3 is odd ++Results of findif1_test: ++Value 9 at offset 2 is divisible by 3 ++Results of finsert1_test: ++leisa ++jennifer ++laurie ++Results of finsert2_test: ++leisa ++jennifer ++laurie ++Results of foreach0_test: ++1 1 2 3 5 8 13 21 34 55 ++Results of foreach1_test: ++0 1 4 9 16 25 36 49 64 81 ++Results of func1_test: ++Number greater than 3 = 2 ++Results of func2_test: ++5 ++4 ++1 ++Results of func3_test: ++5 ++4 ++1 ++Results of gener1_test: ++1103527590 377401575 662824084 1147902781 2035015474 368800899 1508029952 486256185 1062517886 267834847 ++Results of gener2_test: ++1 1 2 3 5 8 13 21 34 55 ++Results of genern1_test: ++180171308 836760821 595337866 790425851 2111915288 1149758321 1644289366 1388290519 1647418052 1675546029 ++Results of genern2_test: ++1 1 2 3 5 8 13 21 34 55 ++Results of greateq_test: ++4 ++3 ++2 ++1 ++Results of greater_test: ++4 ++3 ++2 ++1 ++Results of incl0_test: ++numbers1 does not include numbers3 ++numbers2 includes numbers3 ++Results of incl1_test: ++v1 does not include v2 ++v1 includes v2 ++Results of incl2_test: ++v1 does not include v2 ++v1 includes v2 ++Results of inplmrg1_test: ++1 10 42 3 16 32 ++1 3 10 16 32 42 ++Results of inplmrg2_test: ++4 3 2 1 0 4 3 2 1 0 ++4 4 3 3 2 2 1 1 0 0 ++Results of inrprod0_test: ++Inner product = 55 ++Results of inrprod1_test: ++Inner product(sum of products) of: ++ 1 2 3 ++ 3 2 1 ++is: 10 ++Results of inrprod2_test: ++Inner product(product of sums): ++ 1 2 3 ++ 3 2 1 ++is: 64 ++Results of insert1_test: ++laurie ++jennifer ++amanda ++saskia ++carrie ++leisa ++Results of insert2_test: ++laurie ++jennifer ++amanda ++saskia ++carrie ++leisa ++Results of iota1_test: ++42 43 44 45 46 47 48 49 50 51 ++Results of istmit1_test: ++Please enter a string: read a string ++Results of iter1_test: ++zippy ++motorboy ++Results of iter2_test: ++zippy ++motorboy ++Results of iter3_test: ++motorboy ++zippy ++Results of iter4_test: ++last element is 3 ++first element is 1 ++Results of iterswp0_test: ++3 1 2 0 4 5 ++Results of iterswp1_test: ++3 1 2 0 4 5 ++Results of less_test: ++1 ++2 ++3 ++4 ++Results of lesseq_test: ++1 ++2 ++3 ++4 ++Results of lexcmp1_test: ++shine is before shoe ++Results of lexcmp2_test: ++shoe is after shine ++Results of list1_test: ++1 ++4 ++9 ++16 ++36 ++Results of list2_test: ++1 ++4 ++9 ++16 ++Results of list3_test: ++original: xlxtss ++reversed: sstxlx ++removed: sstl ++uniqued: stl ++sorted: lst ++Results of list4_test: ++123467 ++Results of logicand_test: ++0 ++1 ++0 ++0 ++Results of logicnot_test: ++count = 2 ++Results of logicor_test: ++1 ++1 ++0 ++1 ++Results of lwrbnd1_test: ++0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 ++3 can be inserted at index: 12 ++Results of lwrbnd2_test: ++d can be inserted at index: 4 ++Results of map1_test: ++m['x'] = 20 ++m['x'] = 10 ++m['z'] = 0 ++m.count('z') = 1 ++First insertion successful ++Existing pair c -> 100 ++Results of max1_test: ++100 ++Results of max2_test: ++shoe ++Results of maxelem1_test: ++56 ++Results of maxelem2_test: ++Todd ++Results of merge0_test: ++-5 1 6 13 25 26 36 46 99 101 ++Results of merge1_test: ++0 1 2 3 4 ++3 4 5 6 7 ++0 1 2 3 3 4 4 5 6 7 ++Results of merge2_test: ++10 9 8 7 6 ++7 6 5 4 3 ++10 9 8 7 7 6 6 5 4 3 ++Results of min1_test: ++42 ++Results of min2_test: ++shine ++Results of minelem1_test: ++-242 ++Results of minelem2_test: ++Brett ++Results of minus_test: ++0 ++1 ++-1 ++5 ++Results of mismtch0_test: ++n1 and n2 are the same ++Mismatch at offset: 3 ++Results of mismtch1_test: ++v1 and v2 are the same ++mismatch at index: 5 ++Results of mismtch2_test: ++n1 and n2 are the same ++mismatch at index: 2 ++Results of mkheap0_test: ++19 ++13 ++11 ++10 ++5 ++4 ++Results of mkheap1_test: ++4 ++5 ++10 ++11 ++13 ++19 ++Results of mmap1_test: ++count('X') = 0 ++count('X') = 1 ++count('X') = 2 ++X -> 10 ++X -> 20 ++Y -> 32 ++Erased 2 items ++Results of mmap2_test: ++lower bound: ++3 -> c ++upper bound: ++6 -> f ++Results of modulus_test: ++2 ++0 ++10 ++2 ++Results of mset1_test: ++count(42) = 0 ++count(42) = 1 ++count(42) = 2 ++40 Not found ++Found 42 ++Erased 2 instances ++Results of mset3_test: ++lower bound = 3 ++upper bound = 6 ++Results of mset4_test: ++lower bound = 3 ++upper bound = 6 ++Results of mset5_test: ++Using less_than: ++1 ++3 ++6 ++9 ++Using greater_than: ++9 ++6 ++3 ++1 ++Results of negate_test: ++-1 ++-2 ++-3 ++Results of nequal_test: ++0 ++1 ++0 ++1 ++Results of nextprm0_test: ++0 2 1 ++Results of nextprm1_test: ++0 1 2 ++0 2 1 ++1 0 2 ++1 2 0 ++2 0 1 ++2 1 0 ++0 1 2 ++0 2 1 ++1 0 2 ++1 2 0 ++Results of nextprm2_test: ++ABC ++ACB ++BAC ++BCA ++CAB ++CBA ++ABC ++ACB ++BAC ++BCA ++Results of nthelem0_test: ++1 0 2 3 4 5 ++Results of nthelem1_test: ++2 5 2 1 8 5 4 1 6 5 ++1 1 2 2 4 5 5 8 6 5 ++Results of nthelem2_test: ++2 1 2 5 0 5 2 9 4 5 ++5 9 5 5 4 2 2 1 2 0 ++Results of ostmit_test: ++hello ++1524 ++Results of pair0_test: ++p.first = 1, p.second = 10 ++Results of pair1_test: ++p.first = 1, p.second = 10 ++Results of pair2_test: ++p.first = 1 ++p.second = 10 ++Results of parsrt0_test: ++1 2 3 5 4 6 ++Results of parsrt1_test: ++6 9 4 3 4 1 2 5 4 7 ++1 2 3 4 4 9 6 5 4 7 ++Results of parsrt2_test: ++aa ff dd ee cc bb ++aa bb cc ff ee dd ++Results of parsrtc0_test: ++1 2 3 ++Results of parsrtc1_test: ++2 7 6 7 8 5 2 3 0 5 ++0 2 2 3 5 ++Results of parsrtc2_test: ++aa ff dd ee cc bb ++aa ff dd ee cc bb ++Results of partsrt0_test: ++1 2 3 5 4 6 ++Results of partsum0_test: ++1 3 6 10 15 21 ++Results of partsum1_test: ++0 1 2 3 4 5 6 7 8 9 ++0 1 3 6 10 15 21 28 36 45 ++Results of partsum2_test: ++1 2 3 4 5 ++1 2 6 24 120 ++Results of pheap1_test: ++1 4 7 20 ++Results of pheap2_test: ++20 7 4 1 ++Results of plus_test: ++total = 77 ++Results of pqueue1_test: ++101 ++69 ++42 ++Results of prevprm0_test: ++2 1 0 ++Results of prevprm1_test: ++0 1 2 ++2 1 0 ++2 0 1 ++1 2 0 ++1 0 2 ++0 2 1 ++0 1 2 ++2 1 0 ++2 0 1 ++1 2 0 ++Results of prevprm2_test: ++0 1 2 ++0 2 1 ++1 0 2 ++1 2 0 ++2 0 1 ++2 1 0 ++0 1 2 ++0 2 1 ++1 0 2 ++1 2 0 ++Results of ptition0_test: ++6 1 3 10 12 20 ++Results of ptition1_test: ++14 15 16 13 2 19 16 1 14 3 ++3 1 2 13 16 19 16 15 14 14 ++Results of ptrbinf1_test: ++8 ++7 ++8 ++13 ++Results of ptrbinf2_test: ++8 ++7 ++8 ++13 ++Results of ptrunf1_test: ++2 is even ++Results of ptrunf2_test: ++2 is even ++Results of queue1_test: ++42 ++101 ++69 ++Results of rawiter_test: ++0 ++1 ++2 ++3 ++4 ++Results of remcopy1_test: ++1 3 1 3 0 0 ++Results of remcpif1_test: ++2 2 0 0 0 0 ++Results of remif1_test: ++0 0 2 2 2 2 ++Results of remove1_test: ++2 3 2 3 2 3 ++Results of repcpif1_test: ++0 1 2 3 4 0 1 2 3 4 ++0 1 2 3 4 0 1 2 3 4 ++0 42 2 42 4 0 42 2 42 4 ++Results of replace0_test: ++0 1 42 0 1 42 ++Results of replace1_test: ++0 1 2 3 4 0 1 2 3 4 ++0 1 42 3 4 0 1 42 3 4 ++Results of replcpy1_test: ++0 1 42 0 1 42 ++Results of replif1_test: ++0 1 2 3 4 0 1 2 3 4 ++0 42 2 42 4 0 42 2 42 4 ++Results of revbit1_test: ++3 ++2 ++5 ++1 ++Results of revbit2_test: ++3 ++2 ++5 ++1 ++Results of revcopy1_test: ++0 1 2 3 4 5 ++5 4 3 2 1 0 ++Results of reverse1_test: ++5 4 3 2 1 0 ++Results of reviter1_test: ++Results of reviter2_test: ++3 ++2 ++5 ++1 ++Results of rndshuf0_test: ++6 1 4 3 5 2 ++Results of rndshuf1_test: ++0 1 2 3 4 5 6 7 8 9 ++2 9 0 4 8 5 6 7 3 1 ++5 2 9 0 3 8 6 4 1 7 ++5 6 9 3 2 7 8 0 4 1 ++Results of rndshuf2_test: ++0 1 2 3 4 5 6 7 8 9 ++2 4 9 1 5 8 0 3 6 7 ++5 8 9 3 2 6 1 0 4 7 ++7 9 6 8 5 2 1 3 0 4 ++Results of rotate0_test: ++3 4 5 0 1 2 ++Results of rotate1_test: ++0 1 2 3 4 5 6 7 8 9 ++0 1 2 3 4 5 6 7 8 9 ++1 2 3 4 5 6 7 8 9 0 ++3 4 5 6 7 8 9 0 1 2 ++6 7 8 9 0 1 2 3 4 5 ++0 1 2 3 4 5 6 7 8 9 ++5 6 7 8 9 0 1 2 3 4 ++1 2 3 4 5 6 7 8 9 0 ++8 9 0 1 2 3 4 5 6 7 ++6 7 8 9 0 1 2 3 4 5 ++5 6 7 8 9 0 1 2 3 4 ++ ++Results of rotcopy0_test: ++3 4 5 0 1 2 ++Results of rotcopy1_test: ++0 1 2 3 4 5 6 7 8 9 ++0 1 2 3 4 5 6 7 8 9 ++1 2 3 4 5 6 7 8 9 0 ++2 3 4 5 6 7 8 9 0 1 ++3 4 5 6 7 8 9 0 1 2 ++4 5 6 7 8 9 0 1 2 3 ++5 6 7 8 9 0 1 2 3 4 ++6 7 8 9 0 1 2 3 4 5 ++7 8 9 0 1 2 3 4 5 6 ++8 9 0 1 2 3 4 5 6 7 ++9 0 1 2 3 4 5 6 7 8 ++ ++Results of search0_test: ++v3 not contained in v1 ++Found v3 in v2 at offset: 3 ++Results of search1_test: ++v1: 0 1 2 3 4 5 6 7 8 9 ++v2: 50 51 52 ++v2 not contained in v1 ++v1: 0 1 2 3 4 5 6 7 8 9 ++v2: 4 5 6 ++Found v2 in v1 at offset: 4 ++Results of search2_test: ++grades: A B C D F ++letters:Q E D ++letters not found in grades ++grades: A B C D F ++letters:B C D ++letters found in grades at offset: 1 ++Results of set1_test: ++count(42) = 0 ++count(42) = 1 ++count(42) = 1 ++1 elements erased ++Results of set2_test: ++Inserted new element 42 ++Existing element = 42 ++Results of setdiff0_test: ++18 0 0 0 ++10 17 23 0 ++Results of setdiff1_test: ++v1: 0 1 2 3 4 5 6 7 8 9 ++v2: 7 8 9 10 11 12 13 14 15 16 ++0 1 2 3 4 5 6 ++Results of setdiff2_test: ++word1: A B C D E F G H I J K L M N O ++word2: L M N O P Q R S T U V W X Y Z ++A B C D E F G H I J K ++Results of setintr0_test: ++13 23 0 0 ++Results of setintr1_test: ++v1: 0 1 2 3 4 5 6 7 8 9 ++v2: 7 8 9 10 11 12 13 14 15 16 ++7 8 9 ++Results of setintr2_test: ++word1: A B C D E F G H I J K L M N O ++word2: L M N O P Q R S T U V W X Y Z ++L M N O ++Results of setsymd0_test: ++10 17 18 0 ++Results of setsymd1_test: ++v1: 0 1 2 3 4 5 6 7 8 9 ++v2: 7 8 9 10 11 12 13 14 15 16 ++0 1 2 3 4 5 6 10 11 12 13 14 15 16 ++Results of setsymd2_test: ++word1: A B C D E F G H I J K L M N O ++word2: L M N O P Q R S T U V W X Y Z ++A B C D E F G H I J K P Q R S T U V W X Y Z ++Results of setunon0_test: ++10 13 17 18 23 0 0 ++Results of setunon1_test: ++v1: 0 1 2 3 4 5 6 7 8 9 ++v2: 7 8 9 10 11 12 13 14 15 16 ++0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ++Results of setunon2_test: ++word1: A B C D E F G H I J K L M N O ++word2: L M N O P Q R S T U V W X Y Z ++A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ++Results of sort1_test: ++-10 1 11 19 42 50 ++Results of sort2_test: ++before: 1 50 -10 11 42 19 ++after: 50 42 19 11 1 -10 ++Results of stack1_test: ++69 ++101 ++42 ++Results of stack2_test: ++69 ++101 ++42 ++Results of stblptn0_test: ++5 6 -2 10 11 20 ++Results of stblptn1_test: ++15 12 1 10 7 12 17 18 11 0 ++1 10 7 0 15 12 12 17 18 11 ++Results of stblsrt1_test: ++-10 1 11 19 42 50 ++Results of stblsrt2_test: ++aa bb cc dd ll qq ++Results of swap1_test: ++a = 42 b = 19 ++a = 19 b = 42 ++Results of swprnge1_test: ++World Hello ++Hello World ++Results of times_test: ++total = 70 ++Results of trnsfrm1_test: ++5 1 0 -1 -6 -11 ++Results of trnsfrm2_test: ++Hello World! ++Results of ucompos1_test: ++1 ++2 ++4 ++Results of ucompos2_test: ++1 ++2 ++4 ++Results of unegate1_test: ++2 ++Results of unegate2_test: ++2 ++Results of uniqcpy1_test: ++0 1 2 3 4 0 0 0 ++Results of uniqcpy2_test: ++QQWWEERTTYY ++QQWWEERTTYY ++QWERTY ++Results of unique1_test: ++0 1 2 3 4 2 3 4 ++Results of unique2_test: ++QQWWEERTTYY ++QWERTYRTTYY ++Results of uprbnd1_test: ++0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 ++3 can be inserted at index: 16 ++Results of uprbnd2_test: ++d can be inserted at index: 4 ++Results of vec1_test: ++empty = 1 ++size = 0 ++max_size = 1073741823 ++size = 1 ++v1[0] = 42 ++Results of vec2_test: ++v1 = 32.1 40.5 ++v2 = 3.56 ++v1 = 3.56 ++v2 = 32.1 40.5 ++v2 = 3.56 ++Results of vec3_test: ++v1 = hi ++v2 = ho ++(v1 == v2) = 0 ++(v1 < v2) = 1 ++Results of vec4_test: ++front = 1 ++back = 16, size = 4 ++back = 25, size = 5 ++back = 16, size = 4 ++Results of vec5_test: ++v[0] = 1 ++v[1] = 4 ++v[2] = 9 ++v[3] = 16 ++Results of vec6_test: ++v[0] = 1 ++v[1] = 4 ++v[2] = 9 ++v[3] = 16 ++v[4] = 25 ++v[5] = 36 ++ ++v[0] = 4 ++v[1] = 9 ++v[2] = 16 ++v[3] = 25 ++v[4] = 36 ++ ++v[0] = 4 ++v[1] = 9 ++v[2] = 16 ++v[3] = 25 ++ ++v[0] = 4 ++v[1] = 25 ++ ++Results of vec7_test: ++v[0] = 0 ++v[1] = 1 ++v[2] = 4 ++v[3] = 25 ++v[4] = 36 ++ ++v[0] = 0 ++v[1] = 1 ++v[2] = 4 ++v[3] = 9 ++v[4] = 16 ++v[5] = 25 ++v[6] = 36 ++ ++Results of vec8_test: ++capacity = 0 ++capacity = 1 ++capacity = 5000 ++Results of hmap1_test: ++m['x'] = 20 ++m['x'] = 10 ++m['z'] = ++m.count('z') = 1 ++First insertion successful ++Existing pair c -> 100 ++Results of hmmap1_test: ++count('X') = 0 ++count('X') = 1 ++count('X') = 2 ++X -> 10 ++X -> 20 ++Y -> 32 ++Erased 2 items ++Results of hset2_test: ++Inserted new element 42 ++Existing element = 42 ++Results of hmset1_test: ++count(42) = 0 ++count(42) = 1 ++count(42) = 2 ++40 Not found ++Found * ++Erased 2 instances ++Results of slist1_test: ++original: xlxtss ++reversed: sstxlx ++removed: sstl ++uniqued: stl ++sorted: lst ++Results of string1_test: ++Hello, World! ++v[0] = H ++v[1] = ! ++ ++Hello, World! ++Results of bitset1_test: ++b1 size = 13 ++b1 = 1111111111111 ++b2 size = 13 ++b2 = 1000100010001 ++b1 = 1101110111011 +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/sunpro-64.mak tripwire-2.3.1-2/src/STLport-4.0/test/regression/sunpro-64.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/sunpro-64.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/sunpro-64.mak Sun Aug 11 19:13:00 2002 +@@ -0,0 +1,182 @@ ++# ;;; -*- Mode:makefile;-*- ++# Generated automatically from Makefile.in by configure. ++# This requires GNU make. ++ ++srcdir = . ++VPATH = . ++ ++# point this to proper location ++ ++ ++# PWD is here because SC5 wants absolute path ;( ++STL_INCL=-I${PWD}/../../stlport ++ ++LIST = stl_test.cpp accum1.cpp accum2.cpp \ ++ adjdiff0.cpp adjdiff1.cpp adjdiff2.cpp \ ++ adjfind0.cpp adjfind1.cpp adjfind2.cpp \ ++ advance.cpp \ ++ alg1.cpp alg2.cpp alg3.cpp alg4.cpp alg5.cpp \ ++ bcompos1.cpp bcompos2.cpp \ ++ bind1st1.cpp bind1st2.cpp \ ++ bind2nd1.cpp bind2nd2.cpp \ ++ binsert1.cpp binsert2.cpp \ ++ binsrch1.cpp binsrch2.cpp \ ++ bnegate1.cpp bnegate2.cpp bvec1.cpp \ ++ copy1.cpp copy2.cpp copy3.cpp copy4.cpp \ ++ copyb.cpp copyb0.cpp \ ++ count0.cpp count1.cpp \ ++ countif1.cpp \ ++ deque1.cpp \ ++ divides.cpp \ ++ eqlrnge0.cpp eqlrnge1.cpp eqlrnge2.cpp \ ++ equal0.cpp equal1.cpp equal2.cpp \ ++ equalto.cpp \ ++ fill1.cpp filln1.cpp \ ++ find0.cpp find1.cpp \ ++ findif0.cpp findif1.cpp \ ++ finsert1.cpp finsert2.cpp \ ++ foreach0.cpp foreach1.cpp \ ++ func1.cpp func2.cpp func3.cpp \ ++ gener1.cpp gener2.cpp \ ++ genern1.cpp genern2.cpp \ ++ greateq.cpp greater.cpp \ ++ incl0.cpp incl1.cpp incl2.cpp \ ++ inplmrg1.cpp inplmrg2.cpp \ ++ inrprod0.cpp inrprod1.cpp inrprod2.cpp \ ++ insert1.cpp insert2.cpp \ ++ iota1.cpp \ ++ istmit1.cpp \ ++ iter1.cpp iter2.cpp iter3.cpp iter4.cpp \ ++ iterswp0.cpp iterswp1.cpp \ ++ less.cpp \ ++ lesseq.cpp \ ++ lexcmp1.cpp lexcmp2.cpp \ ++ list1.cpp list2.cpp list3.cpp list4.cpp \ ++ logicand.cpp logicnot.cpp \ ++ logicor.cpp \ ++ lwrbnd1.cpp lwrbnd2.cpp \ ++ map1.cpp \ ++ max1.cpp max2.cpp \ ++ maxelem1.cpp maxelem2.cpp \ ++ merge0.cpp merge1.cpp merge2.cpp \ ++ min1.cpp min2.cpp \ ++ minelem1.cpp minelem2.cpp \ ++ minus.cpp \ ++ mismtch0.cpp mismtch1.cpp mismtch2.cpp \ ++ mkheap0.cpp mkheap1.cpp \ ++ mmap1.cpp mmap2.cpp \ ++ modulus.cpp \ ++ mset1.cpp mset3.cpp mset4.cpp mset5.cpp \ ++ negate.cpp nequal.cpp \ ++ nextprm0.cpp nextprm1.cpp nextprm2.cpp \ ++ nthelem0.cpp nthelem1.cpp nthelem2.cpp \ ++ ostmit.cpp \ ++ pair0.cpp pair1.cpp pair2.cpp \ ++ parsrt0.cpp parsrt1.cpp parsrt2.cpp \ ++ parsrtc0.cpp parsrtc1.cpp parsrtc2.cpp \ ++ partsrt0.cpp \ ++ partsum0.cpp partsum1.cpp partsum2.cpp \ ++ pheap1.cpp pheap2.cpp \ ++ plus.cpp \ ++ pqueue1.cpp \ ++ prevprm0.cpp prevprm1.cpp prevprm2.cpp \ ++ ptition0.cpp ptition1.cpp \ ++ ptrbinf1.cpp ptrbinf2.cpp \ ++ ptrunf1.cpp ptrunf2.cpp \ ++ queue1.cpp \ ++ rawiter.cpp \ ++ remcopy1.cpp \ ++ remcpif1.cpp \ ++ remif1.cpp \ ++ remove1.cpp \ ++ repcpif1.cpp \ ++ replace0.cpp replace1.cpp replcpy1.cpp replif1.cpp \ ++ revbit1.cpp revbit2.cpp \ ++ revcopy1.cpp reverse1.cpp reviter1.cpp reviter2.cpp \ ++ rndshuf0.cpp rndshuf1.cpp rndshuf2.cpp \ ++ rotate0.cpp rotate1.cpp rotcopy0.cpp rotcopy1.cpp \ ++ search0.cpp search1.cpp search2.cpp \ ++ set1.cpp set2.cpp \ ++ setdiff0.cpp setdiff1.cpp setdiff2.cpp \ ++ setintr0.cpp setintr1.cpp setintr2.cpp \ ++ setsymd0.cpp setsymd1.cpp setsymd2.cpp \ ++ setunon0.cpp setunon1.cpp setunon2.cpp \ ++ sort1.cpp sort2.cpp \ ++ stack1.cpp stack2.cpp \ ++ stblptn0.cpp stblptn1.cpp \ ++ stblsrt1.cpp stblsrt2.cpp \ ++ swap1.cpp \ ++ swprnge1.cpp \ ++ times.cpp \ ++ trnsfrm1.cpp trnsfrm2.cpp \ ++ ucompos1.cpp ucompos2.cpp \ ++ unegate1.cpp unegate2.cpp \ ++ uniqcpy1.cpp uniqcpy2.cpp \ ++ unique1.cpp unique2.cpp \ ++ uprbnd1.cpp uprbnd2.cpp \ ++ vec1.cpp vec2.cpp vec3.cpp vec4.cpp vec5.cpp vec6.cpp vec7.cpp vec8.cpp \ ++ hmap1.cpp hmmap1.cpp hset2.cpp hmset1.cpp slist1.cpp string1.cpp bitset1.cpp ++ ++# STAT_MODULE=stat.o ++OBJECTS = $(LIST:%.cpp=%.o) $(STAT_MODULE) ++EXECS = $(LIST:%.cpp=%.exe) ++TESTS = $(LIST:%.cpp=%.out) ++TEST_EXE = stl_test.exe ++TEST = stl_test.out ++ ++CC = CC ++CXX = $(CC) ++# DEBUG_FLAGS=-g ++# DEBUG_FLAGS=-O ++ ++# DEBUG_FLAGS=-D_STLP_DEBUG ++ ++# DEBUG_FLAGS=-compat=4 ++ ++ ++# CXXFLAGS = -xarch=v9 +w2 ${STL_INCL} ${DEBUG_FLAGS} -I. -D_STLP_NO_OWN_IOSTREAMS -D_STLP_HAS_NO_NEW_IOSTREAMS ++CXXFLAGS = -xarch=v9 +w2 ${STL_INCL} ${DEBUG_FLAGS} -I. -library=no%Cstd -I. -qoption ccfe -expand=1000 -qoption ccfe -instlib=../../lib/libstlport_sunpro64.so ++ ++ ++ ++# LIBS = -lm -liostream ++LIBS = -L../../lib -lstlport_sunpro64 -lm ++LIBSTDCXX = ++ ++check: $(TEST) ++ ++$(TEST) : $(OBJECTS) ++ $(CXX) $(CXXFLAGS) $(DEBUG_FLAGS) $(OBJECTS) $(LIBS) -o $(TEST_EXE) ++ LD_LIBRARY_PATH=../../lib:${LD_LIBRARY_PATH} ./$(TEST_EXE) < stdin > $(TEST) ++ ++SUFFIXES: .cpp.o.exe.out.res ++ ++%.o : %.cpp ++ $(CXX) $(CXXFLAGS) $< -c -o $@ ++ ++%.i : %.cpp ++ $(CXX) $(CXXFLAGS) $< -E -H > $@ ++ ++%.out: %.cpp ++ $(CXX) $(CXXFLAGS) $< -c -USINGLE -DMAIN -D_REENTRANT -o $*.o ++ $(CXX) $(CXXFLAGS) $*.o $(LIBS) -lpthread -g -o $*.exe ++ LD_LIBRARY_PATH=../../lib:${LD_LIBRARY_PATH} ./$*.exe < stdin > $@ ++ -rm -f $*.exe ++ ++istmit1.out: istmit1.cpp ++ $(CXX) $(CXXFLAGS) $< $(STAT_MODULE) $(LIBSTDCXX) -lstdc++ $(LIBS) -o istmit1 ++ echo 'a string' | ./istmit1 > istmit1.out ++ -rm -f ./istmit1 ++ ++$(STAT_MODULE): stat.cpp ++ $(CXX) $(CXXFLAGS) -c $< -o $@ ++ ++%.s: %.cpp ++ $(CXX) $(CXXFLAGS) -O5 -D_STLP_USE_MALLOC -S -pto $< -o $@ ++ ++# $(CXX) $(CXXFLAGS) -O5 -D_STLP_USE_MALLOC -noex -D_STLP_NO_EXCEPTIONS -S -pto $< -o $@ ++ ++# $(CXX) $(CXXFLAGS) -O4 -noex -D_STLP_NO_EXCEPTIONS -D_STLP_NO_EXCEPTIONS -S -pta $< -o $@ ++ ++clean: ++ -rm -fr *.exe *.o *.rpo *.obj *.out Templates.DB SunWS_cache +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/sunpro.mak tripwire-2.3.1-2/src/STLport-4.0/test/regression/sunpro.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/sunpro.mak Sat Feb 24 10:45:48 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/sunpro.mak Sun Aug 11 18:59:26 2002 +@@ -9,7 +9,7 @@ + + + # PWD is here because SC5 wants absolute path ;( +-STL_INCL=-I${PWD}/../../stlport/SC5 ++STL_INCL=-I${PWD}/../../stlport + + LIST = stl_test.cpp accum1.cpp accum2.cpp \ + adjdiff0.cpp adjdiff1.cpp adjdiff2.cpp \ +@@ -129,22 +129,21 @@ + # DEBUG_FLAGS=-g + # DEBUG_FLAGS=-O + +-# DEBUG_FLAGS=-D__STL_DEBUG ++# DEBUG_FLAGS=-D_STLP_DEBUG + + # DEBUG_FLAGS=-compat=4 + + +-CXXFLAGS = +w2 -pta ${STL_INCL} ${DEBUG_FLAGS} -I. -D__STL_NO_SGI_IOSTREAMS ++CXXFLAGS = +w2 ${STL_INCL} ${DEBUG_FLAGS} -library=no%Cstd -I. -qoption ccfe -expand=1000 -qoption ccfe -instlib=../../lib/libstlport_sunpro.so + +- +-LIBS = -lm ++LIBS = -L../../lib -lstlport_sunpro -lm + LIBSTDCXX = + + check: $(TEST) + + $(TEST) : $(OBJECTS) + $(CXX) $(CXXFLAGS) $(DEBUG_FLAGS) $(OBJECTS) $(LIBS) -o $(TEST_EXE) +- echo 'a string' | $(TEST_EXE) > $(TEST) ++ LD_LIBRARY_PATH="../../lib;${LD_LIBRARY_PATH}" ./$(TEST_EXE) < stdin > $(TEST) + + SUFFIXES: .cpp.o.exe.out.res + +@@ -155,10 +154,10 @@ + $(CXX) $(CXXFLAGS) $< -E -H > $@ + + %.out: %.cpp +- $(CXX) $(CXXFLAGS) $< -c -USINGLE -DMAIN -o $*.o +- $(CXX) $(CXXFLAGS) $*.o $(LIBS) -g -o $*.exe +- ./$*.exe > $@ +- -rm -f $*.exe ++ $(CXX) $(CXXFLAGS) $< -c -USINGLE -DMAIN -D_REENTRANT -o $*.o ++ $(CXX) $(CXXFLAGS) $*.o -L../../lib -lstlport_sunpro -lpthread -xildoff -lm -g -o $*.exe ++ env LD_LIBRARY_PATH=../../lib ./$*.exe > $@ ++# -rm -f $*.exe + + istmit1.out: istmit1.cpp + $(CXX) $(CXXFLAGS) $< $(STAT_MODULE) $(LIBSTDCXX) -lstdc++ $(LIBS) -o istmit1 +@@ -169,11 +168,11 @@ + $(CXX) $(CXXFLAGS) -c $< -o $@ + + %.s: %.cpp +- $(CXX) $(CXXFLAGS) -O5 -D__STL_USE_MALLOC -S -pto $< -o $@ ++ $(CXX) $(CXXFLAGS) -O5 -D_STLP_USE_MALLOC -S -pto $< -o $@ + +-# $(CXX) $(CXXFLAGS) -O5 -D__STL_USE_MALLOC -noex -D__STL_NO_EXCEPTIONS -S -pto $< -o $@ ++# $(CXX) $(CXXFLAGS) -O5 -D_STLP_USE_MALLOC -noex -D_STLP_NO_EXCEPTIONS -S -pto $< -o $@ + +-# $(CXX) $(CXXFLAGS) -O4 -noex -D__STL_NO_EXCEPTIONS -D__STL_NO_EXCEPTIONS -S -pta $< -o $@ ++# $(CXX) $(CXXFLAGS) -O4 -noex -D_STLP_NO_EXCEPTIONS -D_STLP_NO_EXCEPTIONS -S -pta $< -o $@ + + clean: + -rm -fr *.exe *.o *.rpo *.obj *.out Templates.DB SunWS_cache +Only in tripwire-2.3.1-2.old/src/STLport-4.0/test/regression: tst.cpp +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/uniqcpy2.cpp tripwire-2.3.1-2/src/STLport-4.0/test/regression/uniqcpy2.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/uniqcpy2.cpp Sat Feb 24 10:45:48 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/uniqcpy2.cpp Sun Aug 11 18:59:26 2002 +@@ -8,17 +8,18 @@ + #include + #include + ++#if !defined (STLPORT) || defined(__STL_USE_NAMESPACES) ++using namespace std; ++#endif ++ + #ifdef MAIN + #define uniqcpy2_test main + #endif + static bool str_equal(const char* a_, const char* b_) + { +- return ::strcmp(a_, b_) == 0 ? 1 : 0; ++ return strcmp(a_, b_) == 0 ? 1 : 0; + } + +-#if !defined (STLPORT) || defined(__STL_USE_NAMESPACES) +-using namespace std; +-#endif + int uniqcpy2_test(int, char**) + { + cout<<"Results of uniqcpy2_test:"< + #include + ++#if !defined (STLPORT) || defined(__STL_USE_NAMESPACES) ++using namespace std; ++#endif ++ + #ifdef MAIN + #define unique2_test main + #endif + static bool str_equal(const char* a_, const char* b_) + { +- return ::strcmp(a_, b_) == 0 ? 1 : 0; ++ return strcmp(a_, b_) == 0 ? 1 : 0; + } + +-#if !defined (STLPORT) || defined(__STL_USE_NAMESPACES) +-using namespace std; +-#endif + int unique2_test(int, char**) + { + cout<<"Results of unique2_test:"< $(TEST) + + %$(OBJ): %.cpp +- $(CXX) $(CXXFLAGS) $(DEBUG_FLAGS) $(REPO_FLAGS) $(.IMPSRC) -c $< ++ $(CXX) $(CXXFLAGS) $(DEBUG_FLAGS) $(REPO_FLAGS) -c $< + + %.out: %.cpp + $(CXX) $(CXXFLAGS) ${DEBUG_FLAGS} -USINGLE -DMAIN $< +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/vc.mak tripwire-2.3.1-2/src/STLport-4.0/test/regression/vc.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/vc.mak Sat Feb 24 10:45:49 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/vc.mak Sun Aug 11 18:59:26 2002 +@@ -32,7 +32,7 @@ + bcompos1.obj bcompos2.obj \ + bind1st1.obj bind1st2.obj \ + bind2nd1.obj bind2nd2.obj \ +- binsert1.obj binsert2.cpp \ ++ binsert1.obj binsert2.obj \ + binsrch1.obj binsrch2.obj \ + bnegate1.obj bnegate2.obj bvec1.obj \ + copy1.obj copy2.obj copy3.obj copy4.obj \ +@@ -132,11 +132,11 @@ + + LINK32=link.exe + +-CPP_PROJ=/nologo /W3 /MDd /GX /Zd /D "WIN32" /D "_CONSOLE" $(STL_INCL) /I$(VC_INCL) /I. ++# CPP_PROJ=/nologo /W3 /MDd /GX /Zd /D "WIN32" /D "_CONSOLE" $(STL_INCL) /I$(VC_INCL) /I. + + # Use this flags to test non-SGI iostreams +-CPP_PROJ=/nologo /W3 /MD /GX /Zd /Zi /D "WIN32" /D "_CONSOLE" $(STL_INCL) /I$(VC_INCL) /I. /D__STL_NO_NEW_IOSTREAMS +- ++CPP_PROJ=/nologo /W3 /MD /GX /Zi /D "WIN32" /D "_CONSOLE" $(STL_INCL) /I$(VC_INCL) /I. /D_STLP_NO_OWN_IOSTREAMS ++# CPP_PROJ=/nologo /W3 /MD /GX /Zd /Zi /D "WIN32" /D "_CONSOLE" $(STL_INCL) /I$(VC_INCL) /I. + # linker finds proper STLport lib automatically, only path to the + # library is needed + CPP_LIBS = /link /libpath:"..\..\lib" +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/vc6.mak tripwire-2.3.1-2/src/STLport-4.0/test/regression/vc6.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/vc6.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/vc6.mak Sun Aug 11 19:13:00 2002 +@@ -0,0 +1,225 @@ ++# Microsoft Developer Studio Generated NMAKE File, Format Version 4.10 ++# ** DO NOT EDIT ** ++ ++# TARGTYPE "Win32 (x86) Console Application" 0x0103 ++ ++ ++!IF "$(OS)" == "Windows_NT" ++NULL= ++!ELSE ++NULL=nul ++!ENDIF ++################################################################################ ++# Begin Project ++RSC=rc.exe ++CPP=cl.exe ++LINK32=link.exe ++F90=fl32.exe ++ ++OUTDIR=. ++INTDIR=. ++ ++# set this directories ++STL_PATH=..\.. ++ ++ ++Dep_stl = stl_test.obj accum1.obj accum2.obj \ ++ adjdiff0.obj adjdiff1.obj adjdiff2.obj \ ++ adjfind0.obj adjfind1.obj adjfind2.obj \ ++ advance.obj \ ++ alg1.obj alg2.obj alg3.obj alg4.obj alg5.obj \ ++ bcompos1.obj bcompos2.obj \ ++ bind1st1.obj bind1st2.obj \ ++ bind2nd1.obj bind2nd2.obj \ ++ binsert1.obj binsert2.obj \ ++ binsrch1.obj binsrch2.obj \ ++ bnegate1.obj bnegate2.obj bvec1.obj \ ++ copy1.obj copy2.obj copy3.obj copy4.obj \ ++ copyb.obj copyb0.obj \ ++ count0.obj count1.obj \ ++ countif1.obj \ ++ deque1.obj \ ++ divides.obj \ ++ eqlrnge0.obj eqlrnge1.obj eqlrnge2.obj \ ++ equal0.obj equal1.obj equal2.obj \ ++ equalto.obj \ ++ fill1.obj filln1.obj \ ++ find0.obj find1.obj \ ++ findif0.obj findif1.obj \ ++ finsert1.obj finsert2.obj \ ++ foreach0.obj foreach1.obj \ ++ func1.obj func2.obj func3.obj \ ++ gener1.obj gener2.obj \ ++ genern1.obj genern2.obj \ ++ greateq.obj greater.obj \ ++ incl0.obj incl1.obj incl2.obj \ ++ inplmrg1.obj inplmrg2.obj \ ++ inrprod0.obj inrprod1.obj inrprod2.obj \ ++ insert1.obj insert2.obj \ ++ iota1.obj \ ++ istmit1.obj \ ++ iter1.obj iter2.obj iter3.obj iter4.obj \ ++ iterswp0.obj iterswp1.obj \ ++ less.obj \ ++ lesseq.obj \ ++ lexcmp1.obj lexcmp2.obj \ ++ list1.obj list2.obj list3.obj list4.obj \ ++ logicand.obj logicnot.obj \ ++ logicor.obj \ ++ lwrbnd1.obj lwrbnd2.obj \ ++ map1.obj \ ++ max1.obj max2.obj \ ++ maxelem1.obj maxelem2.obj \ ++ merge0.obj merge1.obj merge2.obj \ ++ min1.obj min2.obj \ ++ minelem1.obj minelem2.obj \ ++ minus.obj \ ++ mismtch0.obj mismtch1.obj mismtch2.obj \ ++ mkheap0.obj mkheap1.obj \ ++ mmap1.obj mmap2.obj \ ++ modulus.obj \ ++ mset1.obj mset3.obj mset4.obj mset5.obj \ ++ negate.obj nequal.obj \ ++ nextprm0.obj nextprm1.obj nextprm2.obj \ ++ nthelem0.obj nthelem1.obj nthelem2.obj \ ++ ostmit.obj \ ++ pair0.obj pair1.obj pair2.obj \ ++ parsrt0.obj parsrt1.obj parsrt2.obj \ ++ parsrtc0.obj parsrtc1.obj parsrtc2.obj \ ++ partsrt0.obj \ ++ partsum0.obj partsum1.obj partsum2.obj \ ++ pheap1.obj pheap2.obj \ ++ plus.obj \ ++ pqueue1.obj \ ++ prevprm0.obj prevprm1.obj prevprm2.obj \ ++ ptition0.obj ptition1.obj \ ++ ptrbinf1.obj ptrbinf2.obj \ ++ ptrunf1.obj ptrunf2.obj \ ++ queue1.obj \ ++ rawiter.obj \ ++ remcopy1.obj \ ++ remcpif1.obj \ ++ remif1.obj \ ++ remove1.obj \ ++ repcpif1.obj \ ++ replace0.obj replace1.obj replcpy1.obj replif1.obj \ ++ revbit1.obj revbit2.obj \ ++ revcopy1.obj reverse1.obj reviter1.obj reviter2.obj \ ++ rndshuf0.obj rndshuf1.obj rndshuf2.obj \ ++ rotate0.obj rotate1.obj rotcopy0.obj rotcopy1.obj \ ++ search0.obj search1.obj search2.obj \ ++ set1.obj set2.obj \ ++ setdiff0.obj setdiff1.obj setdiff2.obj \ ++ setintr0.obj setintr1.obj setintr2.obj \ ++ setsymd0.obj setsymd1.obj setsymd2.obj \ ++ setunon0.obj setunon1.obj setunon2.obj \ ++ sort1.obj sort2.obj \ ++ stack1.obj stack2.obj \ ++ stblptn0.obj stblptn1.obj \ ++ stblsrt1.obj stblsrt2.obj \ ++ swap1.obj \ ++ swprnge1.obj \ ++ times.obj \ ++ trnsfrm1.obj trnsfrm2.obj \ ++ ucompos1.obj ucompos2.obj \ ++ unegate1.obj unegate2.obj \ ++ uniqcpy1.obj uniqcpy2.obj \ ++ unique1.obj unique2.obj \ ++ uprbnd1.obj uprbnd2.obj \ ++ vec1.obj vec2.obj vec3.obj vec4.obj vec5.obj vec6.obj vec7.obj vec8.obj \ ++ hmap1.obj hmmap1.obj hset2.obj hmset1.obj slist1.obj string1.obj bitset1.obj ++ ++CPP_PRJ_LINK = /link /incremental:no /LIBPATH:$(STL_PATH)\lib ++ ++CPP_PRJ_CMN = /nologo /W3 /GR /GX /DWIN32 /D_WINDOWS /D_CONSOLE /I$(STL_PATH)\stlport /I. ++ ++# # CPP_PROJ=/nologo /W3 /MDd /GX /Zd /D "WIN32" /D "_CONSOLE" $(STL_INCL) /I$(VC_INCL) /I. ++ ++# ++#LIBTYPE = STATIC ++LIBTYPE = DYNAMIC ++# ++#DEBUG = STL ++#DEBUG = ON ++DEBUG = ++# ++IOS = SGI ++#IOS = NOSGI ++#IOS = NONE ++ ++!IF "$(IOS)" == "NOSGI" ++CPP_PRJ_IOS = /D_STLP_NO_OWN_IOSTREAMS ++!ELSEIF "$(IOS)" == "NONE" ++CPP_PRJ_IOS = /D_STLP_NO_IOSTREAM ++!ELSE ++CPP_PRJ_IOS = ++!ENDIF ++ ++#MT/MD etc should be LAST in CPP_PRJ_LIBTYP string!!! ++#Library selection should be BEFORE debug processing!!! ++!IF "$(LIBTYPE)" == "STATIC" ++CPP_PRJ_LIBTYP = /D_STLP_USE_STATIC_LIB /MT ++!ELSE ++CPP_PRJ_LIBTYP = /D_STLP_USE_DYNAMIC_LIB /MD ++!ENDIF ++ ++!IF "$(DEBUG)" == "" ++CPP_PRJ_DBG = /DNDEBUG /O2 ++!ELSE ++CPP_PRJ_LIBTYP = $(CPP_PRJ_LIBTYP)d ++CPP_PRJ_DBG = /D_DEBUG /Od ++!IF "$(DEBUG)" == "STL" ++CPP_PRJ_DBG = $(CPP_PRJ_DBG) /D_STLP_DEBUG ++!ENDIF ++CPP_PRJ_CMN = $(CPP_PRJ_CMN) /Zi ++!ENDIF ++ ++# # Use this flags to test non-SGI iostreams ++# CPP_PROJ=/nologo /W3 /MD /GX /Zd /Zi /D "WIN32" /D "_CONSOLE" $(STL_INCL) /I$(VC_INCL) /I. /D_STLP_NO_NEW_IOSTREAMS ++# CPP_PROJ=/nologo /W3 /MD /GX /Zd /Zi /D "WIN32" /D "_CONSOLE" $(STL_INCL) /I$(VC_INCL) /I. ++# # linker finds proper STLport lib automatically, only path to the ++# # library is needed ++# CPP_LIBS = /link /libpath:"..\..\lib" ++ ++CPP_PROJ = $(CPP_PRJ_CMN) $(CPP_PRJ_IOS) $(CPP_PRJ_LIBTYP) $(CPP_PRJ_DBG) ++ ++check: stl_test.out ++ ++stl_test.out : $(Dep_stl) ++# $(CPP) $(CPP_PROJ) $(Dep_stl) $(CPP_LIBS) ++# stl_test < stdin ++ $(CPP) $(CPP_PROJ) $(Dep_stl) $(CPP_PRJ_LINK) ++ stl_test > stl_test.out < stdin ++ echo done ++ ++clean : ++ -@erase "$(INTDIR)\*.obj" ++ -@erase "$(OUTDIR)\*.exe" ++ -@erase "$(OUTDIR)\*.obj" ++ -@erase "$(OUTDIR)\*.ilk" ++ -@erase "$(OUTDIR)\*.pdb" ++ ++ ++.exe.out: ++ $< > $@ ++ ++.cpp.exe: ++ $(CPP) $(CPP_PROJ) -DMAIN $< $(CPP_PRJ_LINK) ++ ++.c.obj: ++ $(CPP) $(CPP_PROJ) /c $< ++ ++.cpp.obj: ++ $(CPP) $(CPP_PROJ) /c $< ++ ++.cxx.obj: ++ $(CPP) $(CPP_PROJ) /c $< ++ ++.c.sbr: ++ $(CPP) $(CPP_PROJ) $< ++ ++.cpp.E: ++ $(CPP) $(CPP_PROJ) -E $< >$*.E ++ ++.cpp.sbr: ++ $(CPP) $(CPP_PROJ) $< +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/vec1.cpp tripwire-2.3.1-2/src/STLport-4.0/test/regression/vec1.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/vec1.cpp Sat Feb 24 10:45:48 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/vec1.cpp Sun Aug 11 18:59:26 2002 +@@ -1,6 +1,6 @@ + // STLport regression testsuite component. + // To compile as a separate example, please #define MAIN. +- ++#include + #include + #include + #include +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/vec3.cpp tripwire-2.3.1-2/src/STLport-4.0/test/regression/vec3.cpp +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/vec3.cpp Sat Feb 24 10:45:48 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/vec3.cpp Sun Aug 11 18:59:26 2002 +@@ -14,7 +14,7 @@ + int vec3_test(int, char**) + { + cout<<"Results of vec3_test:"< > vec_type; + # else + typedef vector vec_type; +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/visualage.mak tripwire-2.3.1-2/src/STLport-4.0/test/regression/visualage.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/visualage.mak Sat Feb 24 10:45:48 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/visualage.mak Sun Aug 11 18:59:26 2002 +@@ -115,7 +115,7 @@ + TEST = stl_test.out + + CC = icc.exe +-CXX = $(CC) -D__STL_NO_SGI_IOSTREAMS ++CXX = $(CC) -D_STLP_NO_OWN_IOSTREAMS + DEBUG_FLAGS= + # Use this for a Debug version + #DEBUG_FLAGS=-O- -Ti+ +@@ -166,11 +166,11 @@ + # $(CXX) $(CXXFLAGS) -c $< -o $@ + # + #%.s: %.cpp +-# $(CXX) $(CXXFLAGS) -O5 -D__STL_USE_MALLOC -S -pto $< -o $@ ++# $(CXX) $(CXXFLAGS) -O5 -D_STLP_USE_MALLOC -S -pto $< -o $@ + +-# $(CXX) $(CXXFLAGS) -O5 -D__STL_USE_MALLOC -noex -D__STL_NO_EXCEPTIONS -S -pto $< -o $@ ++# $(CXX) $(CXXFLAGS) -O5 -D_STLP_USE_MALLOC -noex -D_STLP_NO_EXCEPTIONS -S -pto $< -o $@ + +-# $(CXX) $(CXXFLAGS) -O4 -noex -D__STL_NO_EXCEPTIONS -D__STL_NO_EXCEPTIONS -S -pta $< -o $@ ++# $(CXX) $(CXXFLAGS) -O4 -noex -D_STLP_NO_EXCEPTIONS -D_STLP_NO_EXCEPTIONS -S -pta $< -o $@ + + clean: + del *.exe +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/watcom-qnx.mak tripwire-2.3.1-2/src/STLport-4.0/test/regression/watcom-qnx.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/watcom-qnx.mak Sat Feb 24 10:45:49 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/watcom-qnx.mak Sun Aug 11 18:59:26 2002 +@@ -125,9 +125,9 @@ + CC = cc + CXX = $(CC) + +-# DEBUG_FLAGS= -D__STL_DEBUG -g ++# DEBUG_FLAGS= -D_STLP_DEBUG -g + +-CXXFLAGS = -D__STL_NO_SGI_IOSTREAMS ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} ${STL_VERSION_FLAGS} ++CXXFLAGS = -D_STLP_NO_OWN_IOSTREAMS ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} ${STL_VERSION_FLAGS} + + LIBS = -lm + LIBSTDCXX = +@@ -140,7 +140,7 @@ + + + .cc.o .cxx.o .C.o .cpp.o: +- ${CXX} ${CXXFLAGS} ${DEBUG_FLAGS} ${REPO_FLAGS} ${.IMPSRC} -c -o $*.o $< ++ ${CXX} ${CXXFLAGS} ${DEBUG_FLAGS} ${REPO_FLAGS} -c -o $*.o $< + + %.out: %.cpp + $(CXX) $(CXXFLAGS) ${DEBUG_FLAGS} -USINGLE -DMAIN=1 $< -c -o $*.o +@@ -157,7 +157,7 @@ + $(CXX) $(CXXFLAGS) ${DEBUG_FLAGS} ${REPO_FLAGS} -c $< -o $@ + + %.s: %.cpp +- $(CXX) $(CXXFLAGS) -O3 -fno-exceptions -D__STL_NO_EXCEPTIONS -S $< -o $*.s ++ $(CXX) $(CXXFLAGS) -O3 -fno-exceptions -D_STLP_NO_EXCEPTIONS -S $< -o $*.s + + %.i: %.cpp + $(CXX) $(CXXFLAGS) -E $< > $@ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/xlC.mak tripwire-2.3.1-2/src/STLport-4.0/test/regression/xlC.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/xlC.mak Sat Feb 24 10:45:49 2001 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/xlC.mak Sun Aug 11 18:59:26 2002 +@@ -130,7 +130,7 @@ + # DEBUG_FLAGS=-O + # DEBUG_FLAGS=-O4 + +-CXXFLAGS = -D__STL_NO_SGI_IOSTREAMS ${STL_INCL} ${DEBUG_FLAGS} -I. ++CXXFLAGS = -D_STLP_NO_OWN_IOSTREAMS ${STL_INCL} ${DEBUG_FLAGS} -I. + + LIBS = -lm + LIBSTDCXX = +@@ -161,11 +161,11 @@ + $(CXX) $(CXXFLAGS) -c $< -o $@ + + %.s: %.cpp +- $(CXX) $(CXXFLAGS) -O5 -D__STL_USE_MALLOC -S -pto $< -o $@ ++ $(CXX) $(CXXFLAGS) -O5 -D_STLP_USE_MALLOC -S -pto $< -o $@ + +-# $(CXX) $(CXXFLAGS) -O5 -D__STL_USE_MALLOC -noex -D__STL_NO_EXCEPTIONS -S -pto $< -o $@ ++# $(CXX) $(CXXFLAGS) -O5 -D_STLP_USE_MALLOC -noex -D_STLP_NO_EXCEPTIONS -S -pto $< -o $@ + +-# $(CXX) $(CXXFLAGS) -O4 -noex -D__STL_NO_EXCEPTIONS -D__STL_NO_EXCEPTIONS -S -pta $< -o $@ ++# $(CXX) $(CXXFLAGS) -O4 -noex -D_STLP_NO_EXCEPTIONS -D_STLP_NO_EXCEPTIONS -S -pta $< -o $@ + + clean: + -rm -fr *.exe *.o *.rpo *.obj *.out tempinc +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/xlC50.mak tripwire-2.3.1-2/src/STLport-4.0/test/regression/xlC50.mak +--- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/xlC50.mak Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/xlC50.mak Sun Aug 11 19:13:00 2002 +@@ -0,0 +1,174 @@ ++# ;;; -*- Mode:makefile;-*- ++# Generated automatically from Makefile.in by configure. ++# This requires GNU make. ++ ++# Modified version of sunpro.mak ++ ++srcdir = . ++VPATH = . ++ ++# point this to proper location ++ ++STL_INCL=-I../../stlport ++ ++LIST = stl_test.cpp accum1.cpp accum2.cpp \ ++ adjdiff0.cpp adjdiff1.cpp adjdiff2.cpp \ ++ adjfind0.cpp adjfind1.cpp adjfind2.cpp \ ++ advance.cpp \ ++ alg1.cpp alg2.cpp alg3.cpp alg4.cpp alg5.cpp \ ++ bcompos1.cpp bcompos2.cpp \ ++ bind1st1.cpp bind1st2.cpp \ ++ bind2nd1.cpp bind2nd2.cpp \ ++ binsert1.cpp binsert2.cpp \ ++ binsrch1.cpp binsrch2.cpp \ ++ bnegate1.cpp bnegate2.cpp bvec1.cpp \ ++ copy1.cpp copy2.cpp copy3.cpp copy4.cpp \ ++ copyb.cpp copyb0.cpp \ ++ count0.cpp count1.cpp \ ++ countif1.cpp \ ++ deque1.cpp \ ++ divides.cpp \ ++ eqlrnge0.cpp eqlrnge1.cpp eqlrnge2.cpp \ ++ equal0.cpp equal1.cpp equal2.cpp \ ++ equalto.cpp \ ++ fill1.cpp filln1.cpp \ ++ find0.cpp find1.cpp \ ++ findif0.cpp findif1.cpp \ ++ finsert1.cpp finsert2.cpp \ ++ foreach0.cpp foreach1.cpp \ ++ func1.cpp func2.cpp func3.cpp \ ++ gener1.cpp gener2.cpp \ ++ genern1.cpp genern2.cpp \ ++ greateq.cpp greater.cpp \ ++ incl0.cpp incl1.cpp incl2.cpp \ ++ inplmrg1.cpp inplmrg2.cpp \ ++ inrprod0.cpp inrprod1.cpp inrprod2.cpp \ ++ insert1.cpp insert2.cpp \ ++ iota1.cpp \ ++ istmit1.cpp \ ++ iter1.cpp iter2.cpp iter3.cpp iter4.cpp \ ++ iterswp0.cpp iterswp1.cpp \ ++ less.cpp \ ++ lesseq.cpp \ ++ lexcmp1.cpp lexcmp2.cpp \ ++ list1.cpp list2.cpp list3.cpp list4.cpp \ ++ logicand.cpp logicnot.cpp \ ++ logicor.cpp \ ++ lwrbnd1.cpp lwrbnd2.cpp \ ++ map1.cpp \ ++ max1.cpp max2.cpp \ ++ maxelem1.cpp maxelem2.cpp \ ++ merge0.cpp merge1.cpp merge2.cpp \ ++ min1.cpp min2.cpp \ ++ minelem1.cpp minelem2.cpp \ ++ minus.cpp \ ++ mismtch0.cpp mismtch1.cpp mismtch2.cpp \ ++ mkheap0.cpp mkheap1.cpp \ ++ mmap1.cpp mmap2.cpp \ ++ modulus.cpp \ ++ mset1.cpp mset3.cpp mset4.cpp mset5.cpp \ ++ negate.cpp nequal.cpp \ ++ nextprm0.cpp nextprm1.cpp nextprm2.cpp \ ++ nthelem0.cpp nthelem1.cpp nthelem2.cpp \ ++ ostmit.cpp \ ++ pair0.cpp pair1.cpp pair2.cpp \ ++ parsrt0.cpp parsrt1.cpp parsrt2.cpp \ ++ parsrtc0.cpp parsrtc1.cpp parsrtc2.cpp \ ++ partsrt0.cpp \ ++ partsum0.cpp partsum1.cpp partsum2.cpp \ ++ pheap1.cpp pheap2.cpp \ ++ plus.cpp \ ++ pqueue1.cpp \ ++ prevprm0.cpp prevprm1.cpp prevprm2.cpp \ ++ ptition0.cpp ptition1.cpp \ ++ ptrbinf1.cpp ptrbinf2.cpp \ ++ ptrunf1.cpp ptrunf2.cpp \ ++ queue1.cpp \ ++ rawiter.cpp \ ++ remcopy1.cpp \ ++ remcpif1.cpp \ ++ remif1.cpp \ ++ remove1.cpp \ ++ repcpif1.cpp \ ++ replace0.cpp replace1.cpp replcpy1.cpp replif1.cpp \ ++ revbit1.cpp revbit2.cpp \ ++ revcopy1.cpp reverse1.cpp reviter1.cpp reviter2.cpp \ ++ rndshuf0.cpp rndshuf1.cpp rndshuf2.cpp \ ++ rotate0.cpp rotate1.cpp rotcopy0.cpp rotcopy1.cpp \ ++ search0.cpp search1.cpp search2.cpp \ ++ set1.cpp set2.cpp \ ++ setdiff0.cpp setdiff1.cpp setdiff2.cpp \ ++ setintr0.cpp setintr1.cpp setintr2.cpp \ ++ setsymd0.cpp setsymd1.cpp setsymd2.cpp \ ++ setunon0.cpp setunon1.cpp setunon2.cpp \ ++ sort1.cpp sort2.cpp \ ++ stack1.cpp stack2.cpp \ ++ stblptn0.cpp stblptn1.cpp \ ++ stblsrt1.cpp stblsrt2.cpp \ ++ swap1.cpp \ ++ swprnge1.cpp \ ++ times.cpp \ ++ trnsfrm1.cpp trnsfrm2.cpp \ ++ ucompos1.cpp ucompos2.cpp \ ++ unegate1.cpp unegate2.cpp \ ++ uniqcpy1.cpp uniqcpy2.cpp \ ++ unique1.cpp unique2.cpp \ ++ uprbnd1.cpp uprbnd2.cpp \ ++ vec1.cpp vec2.cpp vec3.cpp vec4.cpp vec5.cpp vec6.cpp vec7.cpp vec8.cpp \ ++ hmap1.cpp hmmap1.cpp hset2.cpp hmset1.cpp slist1.cpp string1.cpp bitset1.cpp ++ ++# STAT_MODULE=stat.o ++OBJECTS = $(LIST:%.cpp=%.o) $(STAT_MODULE) ++EXECS = $(LIST:%.cpp=%.exe) ++TESTS = $(LIST:%.cpp=%.out) ++TEST_EXE = stl_test.exe ++TEST = stl_test.out ++ ++CC = xlC ++CXX = $(CC) ++DEBUG_FLAGS= ++# DEBUG_FLAGS = -g ++DEBUG_FLAGS= -O3 ++ ++# CXXFLAGS = -D_STLP_NO_OWN_IOSTREAMS ${STL_INCL} ${DEBUG_FLAGS} -I. ++# CXXFLAGS = -qnotempinc ${STL_INCL} ${DEBUG_FLAGS} -I. ++CXXFLAGS = ${STL_INCL} ${DEBUG_FLAGS} -I. ++ ++LIBS = -L../../lib -lstlport_xlC50 -lm ++LIBSTDCXX = ++ ++check: $(TEST) ++ ++$(TEST) : $(OBJECTS) ++ $(CXX) $(CXXFLAGS) $(OBJECTS) $(LIBS) -o $(TEST_EXE) ++ echo 'a string' | $(TEST_EXE) > $(TEST) ++ ++SUFFIXES: .cpp.o.exe.out.res ++ ++%.o : %.cpp ++ $(CXX) $(CXXFLAGS) $< -c -o $@ ++ ++%.out: %.cpp ++ $(CXX) $(CXXFLAGS)-g $< -c -USINGLE -DMAIN -o $*.o ++ $(CXX) $(CXXFLAGS) $*.o $(LIBS) -o $*.exe ++ ./$*.exe > $@ ++ -rm -f $*.exe ++ ++istmit1.out: istmit1.cpp ++ $(CXX) $(CXXFLAGS) $< $(STAT_MODULE) $(LIBSTDCXX) -lstdc++ $(LIBS) -o istmit1 ++ echo 'a string' | ./istmit1 > istmit1.out ++ -rm -f ./istmit1 ++ ++$(STAT_MODULE): stat.cpp ++ $(CXX) $(CXXFLAGS) -c $< -o $@ ++ ++%.s: %.cpp ++ $(CXX) $(CXXFLAGS) -O5 -D_STLP_USE_MALLOC -S -pto $< -o $@ ++ ++# $(CXX) $(CXXFLAGS) -O5 -D_STLP_USE_MALLOC -noex -D_STLP_NO_EXCEPTIONS -S -pto $< -o $@ ++ ++# $(CXX) $(CXXFLAGS) -O4 -noex -D_STLP_NO_EXCEPTIONS -D_STLP_NO_EXCEPTIONS -S -pta $< -o $@ ++ ++clean: ++ -rm -fr *.exe *.o *.rpo *.obj *.out tempinc ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/Makefile.am tripwire-2.3.1-2/src/core/Makefile.am +--- tripwire-2.3.1-2.old/src/core/Makefile.am Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/core/Makefile.am Sun Mar 16 11:50:05 2003 +@@ -0,0 +1,27 @@ ++AUTOMAKE_OPTIONS = foreign no-dependencies ++ ++INCLUDES = -I.. @STLPORT_INCLUDE@ ++ ++noinst_LIBRARIES = libcore.a ++libcore_a_SOURCES = \ ++ file_unix.cpp unixfsservices.cpp \ ++ charutil_t.cpp displayencoder_t.cpp archive.cpp charutil.cpp \ ++ cmdlineparser.cpp codeconvert.cpp core.cpp coreerrors.cpp \ ++ corestrings.cpp crc32.cpp debug.cpp displayencoder.cpp \ ++ displayutil.cpp error.cpp errorbucketimpl.cpp errortable.cpp \ ++ errorutil.cpp fileerror.cpp fileheader.cpp fsservices.cpp \ ++ growheap.cpp hashtable.cpp haval.cpp msystem.cpp ntmbs.cpp \ ++ objectpool.cpp refcountobj.cpp serializable.cpp serializer.cpp \ ++ serializerimpl.cpp serializerutil.cpp serstring.cpp \ ++ srefcountobj.cpp srefcounttbl.cpp stdcore.cpp stringutil.cpp \ ++ timebomb.cpp timeconvert.cpp tw_signal.cpp twlimits.cpp twlocale.cpp \ ++ unixexcept.cpp usernotify.cpp usernotifystdout.cpp utf8.cpp \ ++ wchar16.cpp ++ ++libcore_a_LIBADD = @CORE_CRYPT_O@ ++libcore_a_DEPENDENCIES = @CORE_CRYPT_O@ ++ ++DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit ++ ++all: $(noinst_LIBRARIES) ++ $(AR) ru ../../lib/libtripwire.a $(libcore_a_OBJECTS) $(libcore_a_LIBADD) +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/Makefile.in tripwire-2.3.1-2/src/core/Makefile.in +--- tripwire-2.3.1-2.old/src/core/Makefile.in Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/core/Makefile.in Mon Sep 22 09:40:55 2003 +@@ -0,0 +1,319 @@ ++# Makefile.in generated automatically by automake 1.5 from Makefile.am. ++ ++# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 ++# Free Software Foundation, Inc. ++# This Makefile.in is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without ++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A ++# PARTICULAR PURPOSE. ++ ++@SET_MAKE@ ++ ++SHELL = @SHELL@ ++ ++srcdir = @srcdir@ ++top_srcdir = @top_srcdir@ ++VPATH = @srcdir@ ++prefix = @prefix@ ++exec_prefix = @exec_prefix@ ++ ++bindir = @bindir@ ++sbindir = @sbindir@ ++libexecdir = @libexecdir@ ++datadir = @datadir@ ++sysconfdir = @sysconfdir@ ++sharedstatedir = @sharedstatedir@ ++localstatedir = @localstatedir@ ++libdir = @libdir@ ++infodir = @infodir@ ++mandir = @mandir@ ++includedir = @includedir@ ++oldincludedir = /usr/include ++pkgdatadir = $(datadir)/@PACKAGE@ ++pkglibdir = $(libdir)/@PACKAGE@ ++pkgincludedir = $(includedir)/@PACKAGE@ ++top_builddir = ../.. ++ ++ACLOCAL = @ACLOCAL@ ++AUTOCONF = @AUTOCONF@ ++AUTOMAKE = @AUTOMAKE@ ++AUTOHEADER = @AUTOHEADER@ ++ ++INSTALL = @INSTALL@ ++INSTALL_PROGRAM = @INSTALL_PROGRAM@ ++INSTALL_DATA = @INSTALL_DATA@ ++INSTALL_SCRIPT = @INSTALL_SCRIPT@ ++INSTALL_HEADER = $(INSTALL_DATA) ++transform = @program_transform_name@ ++NORMAL_INSTALL = : ++PRE_INSTALL = : ++POST_INSTALL = : ++NORMAL_UNINSTALL = : ++PRE_UNINSTALL = : ++POST_UNINSTALL = : ++AMTAR = @AMTAR@ ++AWK = @AWK@ ++CC = @CC@ ++CORE_CRYPT_O = @CORE_CRYPT_O@ ++CXX = @CXX@ ++DEPDIR = @DEPDIR@ ++EXEEXT = @EXEEXT@ ++GMAKE = @GMAKE@ ++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ ++OBJEXT = @OBJEXT@ ++PACKAGE = @PACKAGE@ ++RANLIB = @RANLIB@ ++STLPORT_INCLUDE = @STLPORT_INCLUDE@ ++STLPORT_LD = @STLPORT_LD@ ++STLPORT_LIBRARY = @STLPORT_LIBRARY@ ++STLPORT_MAKEFILE = @STLPORT_MAKEFILE@ ++STLPORT_SUBDIR = @STLPORT_SUBDIR@ ++SYSPRE = @SYSPRE@ ++VERSION = @VERSION@ ++YACC = @YACC@ ++am__include = @am__include@ ++am__quote = @am__quote@ ++install_sh = @install_sh@ ++path_to_sendmail = @path_to_sendmail@ ++path_to_vi = @path_to_vi@ ++ ++AUTOMAKE_OPTIONS = foreign no-dependencies ++ ++INCLUDES = -I.. @STLPORT_INCLUDE@ ++ ++noinst_LIBRARIES = libcore.a ++libcore_a_SOURCES = \ ++ file_unix.cpp unixfsservices.cpp \ ++ charutil_t.cpp displayencoder_t.cpp archive.cpp charutil.cpp \ ++ cmdlineparser.cpp codeconvert.cpp core.cpp coreerrors.cpp \ ++ corestrings.cpp crc32.cpp debug.cpp displayencoder.cpp \ ++ displayutil.cpp error.cpp errorbucketimpl.cpp errortable.cpp \ ++ errorutil.cpp fileerror.cpp fileheader.cpp fsservices.cpp \ ++ growheap.cpp hashtable.cpp haval.cpp msystem.cpp ntmbs.cpp \ ++ objectpool.cpp refcountobj.cpp serializable.cpp serializer.cpp \ ++ serializerimpl.cpp serializerutil.cpp serstring.cpp \ ++ srefcountobj.cpp srefcounttbl.cpp stdcore.cpp stringutil.cpp \ ++ timebomb.cpp timeconvert.cpp tw_signal.cpp twlimits.cpp twlocale.cpp \ ++ unixexcept.cpp usernotify.cpp usernotifystdout.cpp utf8.cpp \ ++ wchar16.cpp ++ ++ ++libcore_a_LIBADD = @CORE_CRYPT_O@ ++libcore_a_DEPENDENCIES = @CORE_CRYPT_O@ ++ ++DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit ++subdir = src/core ++mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs ++CONFIG_HEADER = $(top_builddir)/config.h ++CONFIG_CLEAN_FILES = ++LIBRARIES = $(noinst_LIBRARIES) ++ ++libcore_a_AR = $(AR) cru ++am_libcore_a_OBJECTS = file_unix.$(OBJEXT) unixfsservices.$(OBJEXT) \ ++ charutil_t.$(OBJEXT) displayencoder_t.$(OBJEXT) \ ++ archive.$(OBJEXT) charutil.$(OBJEXT) cmdlineparser.$(OBJEXT) \ ++ codeconvert.$(OBJEXT) core.$(OBJEXT) coreerrors.$(OBJEXT) \ ++ corestrings.$(OBJEXT) crc32.$(OBJEXT) debug.$(OBJEXT) \ ++ displayencoder.$(OBJEXT) displayutil.$(OBJEXT) error.$(OBJEXT) \ ++ errorbucketimpl.$(OBJEXT) errortable.$(OBJEXT) \ ++ errorutil.$(OBJEXT) fileerror.$(OBJEXT) fileheader.$(OBJEXT) \ ++ fsservices.$(OBJEXT) growheap.$(OBJEXT) hashtable.$(OBJEXT) \ ++ haval.$(OBJEXT) msystem.$(OBJEXT) ntmbs.$(OBJEXT) \ ++ objectpool.$(OBJEXT) refcountobj.$(OBJEXT) \ ++ serializable.$(OBJEXT) serializer.$(OBJEXT) \ ++ serializerimpl.$(OBJEXT) serializerutil.$(OBJEXT) \ ++ serstring.$(OBJEXT) srefcountobj.$(OBJEXT) \ ++ srefcounttbl.$(OBJEXT) stdcore.$(OBJEXT) stringutil.$(OBJEXT) \ ++ timebomb.$(OBJEXT) timeconvert.$(OBJEXT) tw_signal.$(OBJEXT) \ ++ twlimits.$(OBJEXT) twlocale.$(OBJEXT) unixexcept.$(OBJEXT) \ ++ usernotify.$(OBJEXT) usernotifystdout.$(OBJEXT) utf8.$(OBJEXT) \ ++ wchar16.$(OBJEXT) ++libcore_a_OBJECTS = $(am_libcore_a_OBJECTS) ++DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) ++CPPFLAGS = @CPPFLAGS@ ++LDFLAGS = @LDFLAGS@ ++LIBS = @LIBS@ ++depcomp = ++CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) ++CXXLD = $(CXX) ++CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ ++ -o $@ ++CXXFLAGS = @CXXFLAGS@ ++DIST_SOURCES = $(libcore_a_SOURCES) ++DIST_COMMON = Makefile.am Makefile.in ++SOURCES = $(libcore_a_SOURCES) ++ ++all: all-am ++ ++.SUFFIXES: ++.SUFFIXES: .cpp .o .obj ++$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) ++ cd $(top_srcdir) && \ ++ $(AUTOMAKE) --foreign src/core/Makefile ++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status ++ cd $(top_builddir) && \ ++ CONFIG_HEADERS= CONFIG_LINKS= \ ++ CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status ++ ++AR = ar ++ ++clean-noinstLIBRARIES: ++ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) ++libcore.a: $(libcore_a_OBJECTS) $(libcore_a_DEPENDENCIES) ++ -rm -f libcore.a ++ $(libcore_a_AR) libcore.a $(libcore_a_OBJECTS) $(libcore_a_LIBADD) ++ $(RANLIB) libcore.a ++ ++mostlyclean-compile: ++ -rm -f *.$(OBJEXT) core *.core ++ ++distclean-compile: ++ -rm -f *.tab.c ++ ++.cpp.o: ++ $(CXXCOMPILE) -c -o $@ $< ++ ++.cpp.obj: ++ $(CXXCOMPILE) -c -o $@ `cygpath -w $<` ++uninstall-info-am: ++ ++tags: TAGS ++ ++ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ++ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ mkid -fID $$unique $(LISP) ++ ++TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ ++ $(TAGS_FILES) $(LISP) ++ tags=; \ ++ here=`pwd`; \ ++ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ ++ || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) ++ ++GTAGS: ++ here=`CDPATH=: && cd $(top_builddir) && pwd` \ ++ && cd $(top_srcdir) \ ++ && gtags -i $(GTAGS_ARGS) $$here ++ ++distclean-tags: ++ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH ++ ++DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ++ ++top_distdir = ../.. ++distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) ++ ++distdir: $(DISTFILES) ++ @for file in $(DISTFILES); do \ ++ if test -f $$file; then d=.; else d=$(srcdir); fi; \ ++ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ ++ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ ++ $(mkinstalldirs) "$(distdir)/$$dir"; \ ++ fi; \ ++ if test -d $$d/$$file; then \ ++ cp -pR $$d/$$file $(distdir) \ ++ || exit 1; \ ++ else \ ++ test -f $(distdir)/$$file \ ++ || cp -p $$d/$$file $(distdir)/$$file \ ++ || exit 1; \ ++ fi; \ ++ done ++check-am: all-am ++check: check-am ++all-am: Makefile $(LIBRARIES) ++ ++installdirs: ++ ++install: install-am ++install-exec: install-exec-am ++install-data: install-data-am ++uninstall: uninstall-am ++ ++install-am: all-am ++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am ++ ++installcheck: installcheck-am ++install-strip: ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ `test -z '$(STRIP)' || \ ++ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install ++mostlyclean-generic: ++ ++clean-generic: ++ ++distclean-generic: ++ -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* ++ ++maintainer-clean-generic: ++ @echo "This command is intended for maintainers to use" ++ @echo "it deletes files that may require special tools to rebuild." ++clean: clean-am ++ ++clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am ++ ++distclean: distclean-am ++ ++distclean-am: clean-am distclean-compile distclean-generic \ ++ distclean-tags ++ ++dvi: dvi-am ++ ++dvi-am: ++ ++info: info-am ++ ++info-am: ++ ++install-data-am: ++ ++install-exec-am: ++ ++install-info: install-info-am ++ ++install-man: ++ ++installcheck-am: ++ ++maintainer-clean: maintainer-clean-am ++ ++maintainer-clean-am: distclean-am maintainer-clean-generic ++ ++mostlyclean: mostlyclean-am ++ ++mostlyclean-am: mostlyclean-compile mostlyclean-generic ++ ++uninstall-am: uninstall-info-am ++ ++.PHONY: GTAGS all all-am check check-am clean clean-generic \ ++ clean-noinstLIBRARIES distclean distclean-compile \ ++ distclean-generic distclean-tags distdir dvi dvi-am info \ ++ info-am install install-am install-data install-data-am \ ++ install-exec install-exec-am install-info install-info-am \ ++ install-man install-strip installcheck installcheck-am \ ++ installdirs maintainer-clean maintainer-clean-generic \ ++ mostlyclean mostlyclean-compile mostlyclean-generic tags \ ++ uninstall uninstall-am uninstall-info-am ++ ++ ++all: $(noinst_LIBRARIES) ++ $(AR) ru ../../lib/libtripwire.a $(libcore_a_OBJECTS) $(libcore_a_LIBADD) ++# Tell versions [3.59,3.63) of GNU make to not export all variables. ++# Otherwise a system limit (for SysV at least) may be exceeded. ++.NOEXPORT: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/archive.cpp tripwire-2.3.1-2/src/core/archive.cpp +--- tripwire-2.3.1-2.old/src/core/archive.cpp Sat Feb 24 11:02:12 2001 ++++ tripwire-2.3.1-2/src/core/archive.cpp Tue Aug 13 14:17:14 2002 +@@ -45,7 +45,7 @@ + #include + #include + #include +-#include ++#include + #include "file.h" + #include "stringutil.h" + +@@ -896,7 +896,7 @@ + // create file + + // set up flags +- uint32 flags = cFile::OPEN_WRITE | cFile::OPEN_LOCKED_TEMP | cFile::OPEN_CREATE; ++ uint32 flags = cFile::OPEN_WRITE | cFile::OPEN_LOCKED_TEMP | cFile::OPEN_CREATE | cFile::OPEN_EXCLUSIVE; + if ( openFlags & FA_OPEN_TRUNCATE ) + flags |= cFile::OPEN_TRUNCATE; + if ( openFlags & FA_OPEN_TEXT ) +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/charutil.cpp tripwire-2.3.1-2/src/core/charutil.cpp +--- tripwire-2.3.1-2.old/src/core/charutil.cpp Sat Oct 28 12:22:55 2000 ++++ tripwire-2.3.1-2/src/core/charutil.cpp Wed Aug 14 14:07:01 2002 +@@ -105,7 +105,8 @@ + } + + first = cur; +- last = tss::strinc( cur ); ++// last = tss::strinc( cur ); ++ last = *cur ? cur + 1 : cur; + return true; + } + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/codeconvert.cpp tripwire-2.3.1-2/src/core/codeconvert.cpp +--- tripwire-2.3.1-2.old/src/core/codeconvert.cpp Sat Feb 24 11:02:12 2001 ++++ tripwire-2.3.1-2/src/core/codeconvert.cpp Sun Mar 11 05:10:46 2001 +@@ -48,7 +48,7 @@ + #include "errno.h" + + +-#ifndef NDEBUG ++#ifdef DEBUG + #define TSS_CCONV_VERBOSE // Uncomment for verbose tracing! + #endif + +@@ -57,10 +57,18 @@ + // DEFINES + //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +-#define TSS_USE_ICONV_CCONV16 HAS_ICONV +-#define TSS_USE_UCS2_CCONV16 (!(HAS_ICONV) && WCHAR_REP_IS_UCS2 && WCHAR_IS_16_BITS) +-#define TSS_USE_UCS2_CCONV32 (!(HAS_ICONV) && WCHAR_REP_IS_UCS2 && WCHAR_IS_32_BITS) +- ++/* ++ * ICONV conversion seems to be broken under Linux, so until ++ * this is fixed, we'll wing it ourselves - 20010310 PH ++ */ ++#if 0 ++#define TSS_USE_ICONV_CCONV16 HAVE_ICONV_H ++#define TSS_USE_UCS2_CCONV16 (!(HAVE_ICONV_H) && WCHAR_REP_IS_UCS2 && WCHAR_IS_16_BITS) ++#define TSS_USE_UCS2_CCONV32 (!(HAVE_ICONV_H) && WCHAR_REP_IS_UCS2 && WCHAR_IS_32_BITS) ++#else ++#define TSS_USE_UCS2_CCONV16 (WCHAR_REP_IS_UCS2 && WCHAR_IS_16_BITS) ++#define TSS_USE_UCS2_CCONV32 (WCHAR_REP_IS_UCS2 && WCHAR_IS_32_BITS) ++#endif + + #define ICONV_SOURCE_TYPE const char + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/codeconvert.h tripwire-2.3.1-2/src/core/codeconvert.h +--- tripwire-2.3.1-2.old/src/core/codeconvert.h Sat Oct 28 12:22:55 2000 ++++ tripwire-2.3.1-2/src/core/codeconvert.h Sat Mar 10 13:17:03 2001 +@@ -135,10 +135,15 @@ + // cIconvConverter -- Concrete Converter + //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +-#if HAS_ICONV +- ++#ifdef HAVE_ICONV_H + #include + ++#ifdef HAVE_LANGINFO_H ++#ifndef __USE_XOPEN ++#define __USE_XOPEN 1 ++#endif ++#include ++#endif + + class cIconvUtil + { +@@ -197,7 +202,7 @@ + iconv_t icUTF8ToMb; + }; + +-#endif // HAS_ICONV ++#endif // HAVE_ICONV_H + + + /// QUESTION:RAD -- Why not just have one platform-specific of the below +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/codeconvert_t.cpp tripwire-2.3.1-2/src/core/codeconvert_t.cpp +--- tripwire-2.3.1-2.old/src/core/codeconvert_t.cpp Sat Oct 28 12:22:55 2000 ++++ tripwire-2.3.1-2/src/core/codeconvert_t.cpp Sat Mar 10 12:52:55 2001 +@@ -52,7 +52,7 @@ + { + cDebug d("TestCodeConverter()"); + +-#if ( !(HAS_ICONV) && WCHAR_REP_IS_UCS2 ) ++#if ( !(HAVE_ICONV_H) && WCHAR_REP_IS_UCS2 ) + + // + // check that rep is really UCS2 +Only in tripwire-2.3.1-2.old/src/core: core.mak +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/crc32.cpp tripwire-2.3.1-2/src/core/crc32.cpp +--- tripwire-2.3.1-2.old/src/core/crc32.cpp Fri Oct 27 18:15:19 2000 ++++ tripwire-2.3.1-2/src/core/crc32.cpp Sun Mar 18 06:48:45 2001 +@@ -145,13 +145,8 @@ + * locations to store the crc and the number of bytes read. It returns 0 on + * success and 1 on failure. Errno is set on failure. + */ +-#if IS_ALPHA + #define COMPUTE(var, ch) (var) = ((var) << 8) ^ \ + crctab[0xff & (unsigned)((var) >> 24 ^ (ch))] +-#else +-#define COMPUTE(var, ch) (var) = (var) << 8 ^ \ +- crctab[(var) >> 24 ^ (ch)] +-#endif + + void crcInit( CRC_INFO& crcInfo ) + { +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/debug.cpp tripwire-2.3.1-2/src/core/debug.cpp +--- tripwire-2.3.1-2.old/src/core/debug.cpp Fri Oct 27 18:15:19 2000 ++++ tripwire-2.3.1-2/src/core/debug.cpp Fri Jun 6 20:09:53 2003 +@@ -35,9 +35,11 @@ + #include "errorutil.h" + + +-#ifndef NDEBUG ++#ifdef DEBUG + ++#ifndef va_start + #include ++#endif + #include + #include + #include +@@ -160,7 +162,6 @@ + vswprintf(out, format, args); + + ASSERT(guard1 == 0xBABABABA && guard2 == 0xBABABABA); // string was too long +- ASSERT(wcslen(out) < 1024); + char nout[1024]; + if (wcstombs(nout, out, 1024) == -1) + strcpy(nout, "XXX Unconvertable wide char detected in cDebug::DoTrace()\n"); +@@ -195,7 +196,7 @@ + #endif // IS_UNIX + } + +-#ifndef NDEBUG ++#ifdef DEBUG + + // + // wrappers around Trace() that requires less typing +@@ -358,7 +359,7 @@ + DoTrace( format, args ); + } + +-#endif // NDEBUG ++#endif // DEBUG + + /////////////////////////////////////////////////////////////////////////////// + // AddOutTarget -- Attempts to add a new target for trace/debug output. +@@ -421,7 +422,7 @@ + if (!logfile) + logfile.open(filename, std::ios_base::out | std::ios_base::ate | std::ios_base::app); + else +- logfile.setf(std::ios_base::ate, std::ios_base::app); ++ logfile.setf(std::ios_base::hex, std::ios_base::basefield); + //make sure info. will not be clobbered. + + //Should be open now- if not, abort. +@@ -479,8 +480,8 @@ + #if IS_UNIX + char mbformatbuf[1024]; + char buf[1024]; +- if (wcstombs(mbformatbuf, lpOutputString, wcslen(lpOutputString)) == -1) +- strcpy(mbformatbuf, "XXX Unconvertable wide char detected in cDebug::DebugOut()\n"); ++// if (wcstombs(mbformatbuf, lpOutputString, wcslen(lpOutputString)) == -1) ++// strcpy(mbformatbuf, "XXX Unconvertable wide char detected in cDebug::DebugOut()\n"); + + vsprintf(buf, mbformatbuf, args); + #else +@@ -519,7 +520,7 @@ + TCOUT.flush(); + } + +-#endif // NDEBUG ++#endif // DEBUG + + ////////////////////////////////////////////////////////////////////////////////// + // ASSERT macro support function +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/debug.h tripwire-2.3.1-2/src/core/debug.h +--- tripwire-2.3.1-2.old/src/core/debug.h Fri Oct 27 18:15:19 2000 ++++ tripwire-2.3.1-2/src/core/debug.h Sun Mar 18 02:30:48 2001 +@@ -43,7 +43,17 @@ + + + #include +-#include ++/* Do it in this order, because autoconf checks for ++ * first i.e. if HAVE_VARARGS_H is defined, it is only because ++ * couldn't be found. ++ */ ++#ifdef HAVE_VARARGS_H ++# include ++#else ++# ifdef HAVE_STDARG_H ++# include ++# endif ++#endif + #include "types.h" + + // +@@ -141,7 +151,7 @@ + // note: there is an internal buffer size of 1024; traces larger + // than that will have unpredictable and probably bad results + private: +-#ifndef NDEBUG ++#ifdef DEBUG + enum { MAX_LABEL = 128 }; + + static int mDebugLevel; +@@ -166,7 +176,19 @@ + ////////////////////////////////////////////////////////////////////////////////// + // Hopefully this class should do nothing in release mode + +-#ifdef NDEBUG ++#ifdef DEBUG ++ ++inline void cDebug::SetDebugLevel(int level) ++{ ++ mDebugLevel = level; ++} ++ ++inline int cDebug::GetDebugLevel() ++{ ++ return mDebugLevel; ++} ++ ++#else // DEBUG + + inline cDebug::cDebug (const char *pLabel) {} + inline cDebug::~cDebug () {} +@@ -196,19 +218,7 @@ + inline void cDebug::DebugOut ( const char* lpOutputString, ... ) {} + inline void cDebug::DebugOut ( const wchar_t* lpOutputString, ... ) {} + +-#else // NDEBUG +- +-inline void cDebug::SetDebugLevel(int level) +-{ +- mDebugLevel = level; +-} +- +-inline int cDebug::GetDebugLevel() +-{ +- return mDebugLevel; +-} +- +-#endif // NDEBUG ++#endif // DEBUG + + + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/displayencoder.cpp tripwire-2.3.1-2/src/core/displayencoder.cpp +--- tripwire-2.3.1-2.old/src/core/displayencoder.cpp Fri Oct 27 18:15:20 2000 ++++ tripwire-2.3.1-2/src/core/displayencoder.cpp Sun Mar 16 17:22:14 2003 +@@ -526,7 +526,7 @@ + + bool cCharEncoderUtil::IsPrintable( TCHAR ch ) + { +-#if USE_CLIB_LOCALE ++#if USE_CLIB_LOCALE && !defined(__APPLE__) + + return( ! isprint( ch ) ); // kludge for KAI + +@@ -828,7 +828,8 @@ + ach[0] = ch; + for( sack_type::const_iterator atE = m_encodings.begin(); atE != m_encodings.end(); atE++ ) + { +- if( (*atE)->NeedsEncoding( &ach[0], &ach[1] ) ) ++ TSTRING::const_iterator first(&ach[0]), last(&ach[1]); ++ if( (*atE)->NeedsEncoding( first, last ) ) + { + if( fFailedATest ) + return false; // each char can only fail one test +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/displayutil.cpp tripwire-2.3.1-2/src/core/displayutil.cpp +--- tripwire-2.3.1-2.old/src/core/displayutil.cpp Sat Oct 28 12:22:55 2000 ++++ tripwire-2.3.1-2/src/core/displayutil.cpp Wed Aug 14 14:27:11 2002 +@@ -45,7 +45,7 @@ + TOSTRINGSTREAM sstr; + TSTRING strT; + bool fFirstLine = true; +- for( TSTRING::const_iterator i = str.begin(); i != str.end(); i = tss::strinc( i ) ) ++ for( TSTRING::const_iterator i = str.begin(); i != str.end(); i = *i ? i + 1 : i ) + { + // return found -- add line to output string + if( _T('\n') == *i ) +@@ -74,7 +74,7 @@ + else + { + // add char to string +- strT.append( i, (TSTRING::const_iterator)tss::strinc( i ) ); ++ strT.append( i, (TSTRING::const_iterator)(*i ? i + 1 : i) ); + } + } + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/error.h tripwire-2.3.1-2/src/core/error.h +--- tripwire-2.3.1-2.old/src/core/error.h Fri Oct 27 18:15:20 2000 ++++ tripwire-2.3.1-2/src/core/error.h Sun Mar 11 02:40:48 2001 +@@ -128,10 +128,10 @@ + // to be added to the exception class. + /////////////////////////////////////////////////////////////////////////////// + +-#if !IS_GCC +-#define TSS_BEGIN_EXCEPTION_EXPLICIT explicit +-#else ++#if HAVE_GCC + #define TSS_BEGIN_EXCEPTION_EXPLICIT ++#else ++#define TSS_BEGIN_EXCEPTION_EXPLICIT explicit + #endif + + #define TSS_BEGIN_EXCEPTION( except, base ) \ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/errorbucketimpl.cpp tripwire-2.3.1-2/src/core/errorbucketimpl.cpp +--- tripwire-2.3.1-2.old/src/core/errorbucketimpl.cpp Sat Feb 24 11:02:12 2001 ++++ tripwire-2.3.1-2/src/core/errorbucketimpl.cpp Thu Jun 5 14:58:51 2003 +@@ -92,7 +92,7 @@ + // "First Part" error string + TSTRING prependToSecond; + +-#pragma message("errorbucketimpl.cpp needs a little help in the mb arena, with the findfirst/last and such") ++// #pragma message("errorbucketimpl.cpp needs a little help in the mb arena, with the findfirst/last and such") + + errStr = cErrorTable::GetInstance()->Get( error.GetID() ); + if(! errStr.empty()) +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/file.h tripwire-2.3.1-2/src/core/file.h +--- tripwire-2.3.1-2.old/src/core/file.h Fri Oct 27 18:15:20 2000 ++++ tripwire-2.3.1-2/src/core/file.h Thu Jun 19 14:06:23 2003 +@@ -96,7 +96,8 @@ + OPEN_LOCKED_TEMP = 0x00000004, // the file should not be readable by other processes and should be removed when closed + OPEN_TRUNCATE = 0x00000008, // opens an empty file. creates it if it doesn't exist. Doesn't make much sense without OF_WRITE + OPEN_CREATE = 0x00000010, // create the file if it doesn't exist; this is implicit if OF_TRUNCATE is set +- OPEN_TEXT = 0x00000020 ++ OPEN_TEXT = 0x00000020, ++ OPEN_EXCLUSIVE = 0x00000040 // Use O_CREAT | O_EXCL + }; + + //Ctor, Dtor, CpyCtor, Operator=: +@@ -128,14 +129,15 @@ + // Returns the size of the current file in bytes. Returns -1 if no file is defined. + void Truncate ( File_t offset ); // throw(eFile) + +- bool isWritable; +- + private: + cFile ( const cFile& rhs ); //not impl. + cFile& operator= ( const cFile& rhs); //not impl. + + //Pointer to the insulated implementation + cFile_i* mpData; ++ ++public: ++ bool isWritable; + }; + + #endif //__FILE_H +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/file_unix.cpp tripwire-2.3.1-2/src/core/file_unix.cpp +--- tripwire-2.3.1-2.old/src/core/file_unix.cpp Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/core/file_unix.cpp Tue Oct 2 12:46:55 2001 +@@ -0,0 +1,371 @@ ++// ++// The developer of the original code and/or files is Tripwire, Inc. ++// Portions created by Tripwire, Inc. are copyright (C) 2000 Tripwire, ++// Inc. Tripwire is a registered trademark of Tripwire, Inc. All rights ++// reserved. ++// ++// This program is free software. The contents of this file are subject ++// to the terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 2 of the License, or (at your ++// option) any later version. You may redistribute it and/or modify it ++// only in compliance with the GNU General Public License. ++// ++// This program is distributed in the hope that it will be useful. ++// However, this program is distributed AS-IS WITHOUT ANY ++// WARRANTY; INCLUDING THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS ++// FOR A PARTICULAR PURPOSE. Please see the GNU General Public License ++// for more details. ++// ++// You should have received a copy of the GNU General Public License ++// along with this program; if not, write to the Free Software ++// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, ++// USA. ++// ++// Nothing in the GNU General Public License or any other license to use ++// the code or files shall permit you to use Tripwire's trademarks, ++// service marks, or other intellectual property without Tripwire's ++// prior written consent. ++// ++// If you have any questions, please contact Tripwire, Inc. at either ++// info@tripwire.org or www.tripwire.org. ++// ++// file_unix.cpp : Specific implementation of file operations for Unix. ++ ++#include "core/stdcore.h" ++ ++#if !IS_UNIX ++#error Need to be unix to use unixfsservices ++#endif ++ ++#include "core/file.h" ++ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include "core/debug.h" ++#include "core/corestrings.h" ++#include "core/fsservices.h" ++#include "core/errorutil.h" ++ ++/////////////////////////////////////////////////////////////////////////////// ++// util_GetErrnoString -- return the result of strerror(errno) as a tstring ++/////////////////////////////////////////////////////////////////////////////// ++static TSTRING util_GetErrnoString() ++{ ++ TSTRING ret; ++ char* pErrorStr = strerror(errno); ++#ifdef _UNICODE ++#error We dont currently support unicode on unix ++#else ++ ret = pErrorStr; ++#endif ++ return ret; ++} ++ ++/////////////////////////////////////////////////////////////////////////// ++/////////////////////////////////////////////////////////////////////////// ++// cFile_i : Insulated implementation for cFile objects. ++/////////////////////////////////////////////////////////////////////////// ++/////////////////////////////////////////////////////////////////////////// ++struct cFile_i ++{ ++ cFile_i(); ++ ~cFile_i(); ++ ++ FILE* mpCurrStream; //currently defined file stream ++ TSTRING mFileName; //the name of the file we are currently referencing. ++}; ++ ++//Ctor ++cFile_i::cFile_i() : ++ mpCurrStream(NULL) ++{} ++ ++//Dtor ++cFile_i::~cFile_i() ++{ ++ if (mpCurrStream != NULL) ++ fclose( mpCurrStream ); ++ mpCurrStream = NULL; ++ ++ mFileName.empty(); ++} ++ ++/////////////////////////////////////////////////////////////////////////// ++/////////////////////////////////////////////////////////////////////////// ++// cFile () -- Implements file operations ++/////////////////////////////////////////////////////////////////////////// ++/////////////////////////////////////////////////////////////////////////// ++ ++cFile::cFile() : ++ mpData(NULL), isWritable(false) ++{ ++ mpData = new cFile_i; ++} ++ ++cFile::~cFile() ++{ ++ if( mpData != NULL) ++ { ++ delete mpData; ++ mpData = NULL; ++ } ++} ++ ++/////////////////////////////////////////////////////////////////////////////// ++// Open ++/////////////////////////////////////////////////////////////////////////////// ++void cFile::Open( const TSTRING& sFileName, uint32 flags ) ++{ ++ mode_t openmode = 0664; ++ if ( mpData->mpCurrStream != NULL ) ++ Close(); ++ ++ // ++ // set up the sopen permissions ++ // ++ int perm = 0; ++ ++ TSTRING mode; ++ ++ if( flags & OPEN_WRITE ) ++ { ++ perm |= O_RDWR; ++ isWritable = true; ++ mode = _T("rb"); ++ if( flags & OPEN_TRUNCATE ) ++ { ++ perm |= O_TRUNC; ++ perm |= O_CREAT; ++ mode = _T("w+b"); ++ } ++ else ++ mode = _T("r+b"); ++ } ++ else ++ { ++ perm |= O_RDONLY; ++ isWritable = false; ++ mode = _T("rb"); ++ } ++ ++ if ( flags & OPEN_EXCLUSIVE ) { ++ perm |= O_CREAT | O_EXCL; ++ openmode = (mode_t) 0600; // Make sure only root can read the file ++ } ++ ++ if ( flags & OPEN_CREATE ) ++ perm |= O_CREAT; ++ ++ // ++ // actually open the file ++ // ++ int fh = _topen( sFileName.c_str(), perm, openmode ); ++ if( fh == -1 ) ++ { ++ throw( eFileOpen( sFileName, iFSServices::GetInstance()->GetErrString() ) ); ++ } ++ if( flags & OPEN_LOCKED_TEMP ) ++ { ++ // unlink this file ++ if( 0 != unlink( sFileName.c_str() ) ) ++ { ++ // we weren't able to unlink file, so close handle and fail ++ close( fh ); ++ throw( eFileOpen( sFileName, iFSServices::GetInstance()->GetErrString() ) ); ++ } ++ } ++ ++ // ++ // turn the file handle into a FILE* ++ // ++ mpData->mpCurrStream = _tfdopen(fh, mode.c_str()); ++ ++ mpData->mFileName = sFileName; //Set mFileName to the newly opened file. ++ ++ cFile::Rewind(); ++} ++ ++ ++/////////////////////////////////////////////////////////////////////////// ++// Close -- Closes mpCurrStream and sets the pointer to NULL ++/////////////////////////////////////////////////////////////////////////// ++void cFile::Close() //throw(eFile) ++{ ++ if(mpData->mpCurrStream != NULL) ++ { ++ fclose( mpData->mpCurrStream ); ++ mpData->mpCurrStream = NULL; ++ } ++ mpData->mFileName.empty(); ++} ++ ++bool cFile::IsOpen( void ) const ++{ ++ return( mpData->mpCurrStream != NULL ); ++} ++ ++/////////////////////////////////////////////////////////////////////////// ++// Seek -- Positions the read/write offset in mpCurrStream. Returns the ++// current offset upon completion. Returns 0 if no stream is defined. ++/////////////////////////////////////////////////////////////////////////// ++cFile::File_t cFile::Seek( File_t offset, SeekFrom From) const //throw(eFile) ++{ ++ //Check to see if a file as been opened yet... ++ ASSERT( mpData->mpCurrStream != 0); ++ ++ int apiFrom; ++ ++ switch( From ) ++ { ++ case cFile::SEEK_BEGIN: ++ apiFrom = SEEK_SET; ++ break; ++ case cFile::SEEK_CURRENT: ++ apiFrom = SEEK_CUR; ++ break; ++ case cFile::SEEK_EOF: ++ apiFrom = SEEK_END; ++ break; ++ default: ++ //An invalid SeekFrom parameter was passed. ++ throw( eInternal( _T("file_unix") ) ); ++ } ++ ++ // this is a hack to simulate running out of disk space ++ #if 0 ++ static int blowupCount = 1; ++ if (++blowupCount == 1075) ++ { ++ fputs("***** faking seek failure!\n", stderr); ++ //throw eFileSeek(); ++ throw std::bad_alloc(); ++ } ++ fprintf(stderr, "%d\n", blowupCount); ++ #endif ++ ++ if (fseek( mpData->mpCurrStream, offset, apiFrom ) != 0) ++ { ++ #ifdef _DEBUG ++ cDebug d("cFile::Seek"); ++ d.TraceDebug("Seek failed!\n"); ++ #endif ++ throw eFileSeek(); ++ } ++ ++ return ftell( mpData->mpCurrStream ); ++} ++ ++/////////////////////////////////////////////////////////////////////////// ++// Read -- Returns the actual bytes read from mpCurrStream. Returns 0 if ++// mpCurrStream is undefined. ++/////////////////////////////////////////////////////////////////////////// ++cFile::File_t cFile::Read( void* buffer, File_t nBytes ) const //throw(eFile) ++{ ++ File_t iBytesRead; ++ ++ // Has a file been opened? ++ ASSERT( mpData->mpCurrStream != NULL ); ++ ++ // Is the nBytes parameter 0? If so, return without touching buffer: ++ if( nBytes == 0 ) ++ return 0; ++ ++ iBytesRead = fread( buffer, sizeof(byte), nBytes, mpData->mpCurrStream ); ++ ++ if( ferror( mpData->mpCurrStream ) != 0 ) ++ throw eFileRead( mpData->mFileName, iFSServices::GetInstance()->GetErrString() ) ; ++ else ++ return iBytesRead; ++} ++ ++/////////////////////////////////////////////////////////////////////////// ++// Write -- Returns the actual number of bytes written to mpCurrStream ++// Returns 0 if no file has been opened. ++/////////////////////////////////////////////////////////////////////////// ++cFile::File_t cFile::Write( const void* buffer, File_t nBytes ) //throw(eFile) ++{ ++ File_t actual_count = 0; ++ ++ // Has a file been opened? Is it writable? ++ ASSERT( mpData->mpCurrStream != NULL ); ++ ASSERT( isWritable ); ++ ++ if( ( actual_count = fwrite( buffer, sizeof(byte), nBytes, mpData->mpCurrStream ) ) < nBytes ) ++ throw eFileWrite( mpData->mFileName, iFSServices::GetInstance()->GetErrString() ); ++ else ++ return actual_count; ++} ++ ++/////////////////////////////////////////////////////////////////////////// ++// Tell -- Returns the current file offset. Returns 0 if no file has been ++// opened. ++/////////////////////////////////////////////////////////////////////////// ++cFile::File_t cFile::Tell() const ++{ ++ ASSERT( mpData->mpCurrStream != 0); ++ ++ return ftell( mpData->mpCurrStream ); ++} ++ ++/////////////////////////////////////////////////////////////////////////// ++// Flush -- Flushes the current stream. ++/////////////////////////////////////////////////////////////////////////// ++bool cFile::Flush() //throw(eFile) ++{ ++ if ( mpData->mpCurrStream == NULL ) ++ throw eFileFlush( mpData->mFileName, iFSServices::GetInstance()->GetErrString() ); ++ ++ return ( fflush( mpData->mpCurrStream) == 0 ); ++} ++/////////////////////////////////////////////////////////////////////////// ++// Rewind -- Sets the offset to the beginning of the file. If mpCurrStream ++// is NULL, this method returns false. If the rewind operation fails, ++// an exception is thrown. ++/////////////////////////////////////////////////////////////////////////// ++void cFile::Rewind() const //throw(eFile) ++{ ++ ASSERT( mpData->mpCurrStream != 0); ++ ++ rewind( mpData->mpCurrStream ); ++ if( ftell( mpData->mpCurrStream ) != 0 ) ++ throw( eFileRewind( mpData->mFileName, iFSServices::GetInstance()->GetErrString() ) ); ++} ++ ++/////////////////////////////////////////////////////////////////////////// ++// GetSize -- Returns the size of the current stream, if one has been ++// opened. If no stream has been opened, returns -1. ++/////////////////////////////////////////////////////////////////////////// ++cFile::File_t cFile::GetSize() const ++{ ++ File_t vCurrentOffset = Tell(); //for saving the current offset ++ File_t ret; ++ ++ //Has a file been opened? If not, return -1 ++ if( mpData->mpCurrStream == NULL ) ++ return -1; ++ ++ ret = Seek( 0, cFile::SEEK_EOF ); ++ Seek( vCurrentOffset, cFile::SEEK_BEGIN ); ++ //return the offset to it's position prior to GetSize call. ++ ++ return ret; ++} ++ ++///////////////////////////////////////////////////////////////////////// ++// Truncate ++///////////////////////////////////////////////////////////////////////// ++void cFile::Truncate( File_t offset ) // throw(eFile) ++{ ++ ASSERT( mpData->mpCurrStream != 0); ++ ASSERT( isWritable ); ++ ++ ftruncate( fileno(mpData->mpCurrStream), offset ); ++ if( GetSize() != offset ) ++ throw( eFileTrunc( mpData->mFileName, iFSServices::GetInstance()->GetErrString() ) ); ++} ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/fsservices.h tripwire-2.3.1-2/src/core/fsservices.h +--- tripwire-2.3.1-2.old/src/core/fsservices.h Sat Feb 24 11:02:12 2001 ++++ tripwire-2.3.1-2/src/core/fsservices.h Sun Mar 18 12:48:21 2001 +@@ -79,12 +79,12 @@ + #define major(x) ((int)((x) >> 8) & 0xff) + #define minor(x) ((int)((x) & 0xff)) + #else +-#if IS_LITTLE_ENDIAN +-#define major(x) (int)(((char*)&(x))[1]) +-#define minor(x) (int)(((char*)&(x))[0]) +-#else ++#ifdef WORDS_BIGENDIAN + #define major(x) (int)(((char*)&(x))[2]) + #define minor(x) (int)(((char*)&(x))[3]) ++#else ++#define major(x) (int)(((char*)&(x))[1]) ++#define minor(x) (int)(((char*)&(x))[0]) + #endif + #endif + #endif /* !major */ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/growheap.cpp tripwire-2.3.1-2/src/core/growheap.cpp +--- tripwire-2.3.1-2.old/src/core/growheap.cpp Fri Oct 27 18:15:20 2000 ++++ tripwire-2.3.1-2/src/core/growheap.cpp Thu Jun 19 14:06:24 2003 +@@ -44,8 +44,8 @@ + class cHeap + { + public: +- int8* mpData; + size_t mSize; ++ int8* mpData; + + cHeap( size_t size ) : mSize( size ), mpData( new int8[size] ) { ASSERT(mpData != 0); } + // Note: The above ASSERT should never occur! If the new failed we should have thrown a bad_alloc(). +@@ -55,8 +55,8 @@ + size_t mInitialSize; + size_t mGrowBy; + HeapList mHeaps; +- size_t mCurOff; + TSTRING mName; ++ size_t mCurOff; + + cGrowHeap_i( size_t initialSize, size_t growBy, const TCHAR* name ); + ~cGrowHeap_i() { Clear(); } +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/hashtable.h tripwire-2.3.1-2/src/core/hashtable.h +--- tripwire-2.3.1-2.old/src/core/hashtable.h Fri Oct 27 18:15:20 2000 ++++ tripwire-2.3.1-2/src/core/hashtable.h Wed Aug 14 14:07:01 2002 +@@ -206,7 +206,7 @@ + + private: + mutable int mCurIndex; +- mutable cHashTable::node* mpCurNode; ++ mutable typename cHashTable::node* mpCurNode; + const cHashTable& mHashTable; + + // helper function +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/haval.cpp tripwire-2.3.1-2/src/core/haval.cpp +--- tripwire-2.3.1-2.old/src/core/haval.cpp Fri Oct 27 18:15:20 2000 ++++ tripwire-2.3.1-2/src/core/haval.cpp Sun Mar 11 02:40:48 2001 +@@ -82,7 +82,7 @@ + #include "haval.h" + #include "debug.h" + +-#define VERSION 1 /* current version number */ ++#define HAVAL_VERSION 1 /* current version number */ + + /* Do not remove this line. Protyping depends on it! */ + #if defined(__STDC__) || defined(__cplusplus) +@@ -410,7 +410,7 @@ + */ + tail[0] = (uint8)(((FPTLEN & 0x3) << 6) | + ((PASS & 0x7) << 3) | +- (VERSION & 0x7)); ++ (HAVAL_VERSION & 0x7)); + tail[1] = (uint8)((FPTLEN >> 2) & 0xFF); + uint2ch (state->count, &tail[2], 2); + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/md5.h tripwire-2.3.1-2/src/core/md5.h +--- tripwire-2.3.1-2.old/src/core/md5.h Fri Oct 27 18:15:20 2000 ++++ tripwire-2.3.1-2/src/core/md5.h Thu Jun 19 19:31:03 2003 +@@ -37,7 +37,7 @@ + ** Revised (for MD5): RLR 4/27/91 ** + **********************************************************************/ + +-/* $Id: md5.h,v 1.1 2000/10/28 01:15:20 itripn Exp $ */ ++/* $Tripwire: md5.h,v 1.1 2000/10/28 01:15:20 itripn Exp $ */ + + #ifndef __MD5_H + #define __MD5_H +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/msystem.cpp tripwire-2.3.1-2/src/core/msystem.cpp +--- tripwire-2.3.1-2.old/src/core/msystem.cpp Fri Oct 27 18:15:20 2000 ++++ tripwire-2.3.1-2/src/core/msystem.cpp Fri May 30 20:31:58 2003 +@@ -77,7 +77,9 @@ + #include + #include + #include ++#if defined(HAVE_MALLOC_H) + #include ++#endif + #include + //#include + #include "tw_signal.h" +@@ -951,8 +953,8 @@ + * ignore any signals until child dies + */ + for(i = 0; i < MAX_SIGNAL; i++) +-#ifdef SIGCLD +- if (i != SIGCLD) ++#ifdef SIGCHLD ++ if (i != SIGCHLD) + #endif + savesig[i] = tw_sigign(i); + /* +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/objectpool.h tripwire-2.3.1-2/src/core/objectpool.h +--- tripwire-2.3.1-2.old/src/core/objectpool.h Fri Oct 27 18:15:20 2000 ++++ tripwire-2.3.1-2/src/core/objectpool.h Thu Jun 19 14:06:24 2003 +@@ -77,10 +77,10 @@ + cLink* mpNext; + }; + +- cLink* mpNextFree; // the next free object + cBlockList mBlockList; + const int mObjectSize; // how big are the objects? + const int mChunkSize; // how big are the chunks we are allocating? ++ cLink* mpNextFree; // the next free object + //int mInstanceCount; // number of objects that are currently allocated but not freed. + }; + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/platform.h tripwire-2.3.1-2/src/core/platform.h +--- tripwire-2.3.1-2.old/src/core/platform.h Sat Feb 24 11:02:12 2001 ++++ tripwire-2.3.1-2/src/core/platform.h Fri Jun 20 09:34:48 2003 +@@ -33,6 +33,10 @@ + // platform.h + // + ++#ifdef HAVE_CONFIG_H ++# include ++#endif ++ + #ifndef __PLATFORM_H + #define __PLATFORM_H + +@@ -44,23 +48,10 @@ + + #define OS_UNKNOWN 0 + #define OS_WIN32 0x0101 +-#define OS_REDHAT5 0x0201 +-#define OS_REDHAT6 0x0202 +-#define OS_SLACKWARE 0x0203 +-#define OS_SOLARIS 0x0301 + #define OS_AIX 0x0401 + #define OS_HPUX 0x0501 + #define OS_IRIX 0x0601 + #define OS_OSF1 0x0701 +-#define OS_BSD 0x0801 +- +-#define ARCH_UNKNOWN 0 +-#define ARCH_IX86 0x0101 +-#define ARCH_SPARC 0x0201 +-#define ARCH_ALPHA 0x0301 +-#define ARCH_RS6000 0x0401 +-#define ARCH_PARISC 0x0501 +-#define ARCH_MIPS 0x0601 + + #define COMP_UNKNOWN 0 + #define COMP_MSVC 0x0101 +@@ -72,7 +63,6 @@ + #define COMP_KAI_IRIX 0x0206 + #define COMP_KAI_OSF1ALPHA 0x0207 + #define COMP_SUNPRO 0x0301 +-#define COMP_GCC 0x0401 + + //============================================================================= + // Platform detection +@@ -84,7 +74,6 @@ + // + // OS The OS + // COMP The compiler +-// ARCH The cpu type + // + // PLEASE NOTE: Do not set any preprocessor variable other than the above three in this + // section. Use the following sections for anything that does not fall into +@@ -95,86 +84,44 @@ + + #if defined(_MSC_VER) + #define COMP COMP_MSVC +- #if defined(_M_IX86) +- #define ARCH ARCH_IX86 +- #elif defined(_M_ALPHA) +- #define ARCH ARCH_ALPHA +- #else +- #error Unknown Win32 Architechture +- #endif + #else + #error _MSC_VER not defined. MSVC is currently the only supported compiler + #endif + +-#elif defined(_REDHAT) +- #define OS OS_REDHAT6 // TODO:dmb perhaps this should be just OS_REDHAT??? +- #define COMP COMP_GCC +- #if defined(_IX86) +- #define ARCH ARCH_IX86 +- #else +- #error Unknown Redhat Architechture +- #endif +- + #elif defined(_IRIX) + #define OS OS_IRIX + #define COMP COMP_KAI_IRIX +- #define ARCH ARCH_IRIX + + #elif defined(_ALPHA) + #define OS OS_OSF1 + #define COMP COMP_KAI_OSF1ALPHA +- #define ARCH ARCH_ALPHA +- +-#elif defined(_SOLARIS) +- #define OS OS_SOLARIS +- #if defined(_IX86) +- #define COMP COMP_SUNPRO +- #define ARCH ARCH_IX86 +- #else +- #define COMP COMP_KAI_SUNPRO +- #define ARCH ARCH_SPARC +- #endif +- +-#elif defined(_AIX) +- #define OS OS_AIX +- #define COMP COMP_KAI_VISUALAGE +- #define ARCH ARCH_RS6000 + + #elif defined (_HPUX) + #define OS OS_HPUX + #define COMP COMP_KAI_HPANSIC +- #define ARCH ARCH_PARISC + +-#elif defined(__FreeBSD__) +- #define OS OS_BSD +- #define COMP COMP_GCC +- #if defined(_IX86) +- #define ARCH ARCH_IX86 +- #else +- #define ARCH ARCH_ALPHA // is it really the #else? +- #endif +- +-#elif defined(__OpenBSD__) +- #define OS OS_BSD +- #define COMP COMP_GCC +- #if defined(_IX86) +- #define ARCH ARCH_IX86 +- #else +- // Wrong! Somebody with OpenBSD fix this! +- #error "Architecture not known. Please edit i386-unknown-openbsd.mak and platform.h" +- /* Other stuff that needs to be said */ +- #endif /* defined(_IX86) */ + #else +- #error Unknown OS ++// OK for OS not to resolve, it's being phased out. ++// #error Unknown OS + #endif + + #if !defined(OS) +- #error OS definition did not resolve. Check "platform.h". ++// OK for OS not to resolve, it's being phased out. ++// #error OS definition did not resolve. Check "platform.h". + #endif +-#if !defined(ARCH) +- #error ARCH definition did not resolve. Check "platform.h". +-#endif +-#if !defined(COMP) ++ /* XXX: COMP may now not resolve, because autoconf may ++ * detect GCC. This is done in the hopes that all ++ * COMP detections, and indeed both OS & COMP detechtions ++ * will eventualy be done automatically. ++ * ++ * This means, the former "#if !defined(COMP)" will ++ * temporarily have to also check the HAVE_[compiler] ++ * #defines until all compilers are checked by autoconf, ++ * at which point this can be removed completely. ++ * ++ * PH - 20010311 ++ */ ++#if !defined(COMP) && !defined(HAVE_GCC) + #error COMP definition did not resolve. Check "platform.h". + #endif + +@@ -184,8 +131,8 @@ + // These macros are the "worker bees" of platform.h. Programmers should use + // these macros rather than comparing PLATFORM to the unique IDs by hand. + // +-// NB: Programmers are STRONGLY ENCOURAGED not to use the OS detection macros or +-// the Architecture detection marcros directly. Instead they should create ++// NB: Programmers are STRONGLY ENCOURAGED not to use the OS detection macros ++// or compiler detection marcros directly. Instead they should create + // macros specific to the task at hand. For example Win32 and Solaris support + // extended permissions for their files. Rather than check IS_WIN32 || IS_SOLARIS, + // create a new macro called "HAS_EXTENDED_FILE_PERMISSIONS" and use that. +@@ -195,10 +142,10 @@ + // + // Example usage: + // +-// #if IS_LITTLE_ENDIAN // note this is not an "#ifdef" +-// int network_order = swap(machine_order); +-// #else ++// #ifdef WORDS_BIGENDIAN + // int network_order = machine_order; ++// #else ++// int network_order = swap(machine_order); + // #endif + + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +@@ -206,44 +153,18 @@ + // OS detection + // Note: Avoid using these if possible (see above) + #define IS_WIN32 (OS == OS_WIN32) +-#define IS_SOLARIS (OS == OS_SOLARIS) +-#define IS_LINUX (OS == OS_REDHAT5 || OS == OS_REDHAT6 || OS == OS_SLACKWARE) +-#define IS_UNIX (OS == OS_REDHAT5 || OS == OS_REDHAT6 || OS == OS_SLACKWARE || OS == OS_SOLARIS || OS == OS_AIX || OS == OS_HPUX || OS == OS_IRIX || OS == OS_OSF1 || OS == OS_BSD) + #define IS_AIX (OS == OS_AIX) + #define IS_HPUX (OS == OS_HPUX) + #define IS_IRIX (OS == OS_IRIX) + #define IS_OSF1 (OS == OS_OSF1) +-#define IS_BSD (OS == OS_BSD) +- +-// Architecture detection +-// Note: Avoid using these if possible (see above) +-#define IS_IX86 (ARCH == ARCH_IX86) +-#define IS_SPARC (ARCH == ARCH_SPARC) +-#define IS_ALPHA (ARCH == ARCH_ALPHA) +-#define IS_RS6000 (ARCH == ARCH_RS6000) +-#define IS_PARISC (ARCH == ARCH_PARISC) +-#define IS_ALPHA (ARCH == ARCH_ALPHA) + + // complier detection + #define IS_KAI (COMP == COMP_KAI_GCC || COMP == COMP_KAI_SUNPRO || COMP == COMP_KAI_GLIBC || COMP == COMP_KAI_VISUALAGE || COMP == COMP_KAI_HPANSIC || COMP == COMP_KAI_IRIX || COMP == COMP_KAI_OSF1ALPHA) + #define IS_MSVC (COMP == COMP_MSVC) + #define IS_SUNPRO (COMP == COMP_SUNPRO) +-#define IS_GCC (COMP == COMP_GCC) + + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +-// Integer representation +-#define USES_1S_COMPLEMENT 0 +-#define USES_2S_COMPLEMENT 1 // all of our current platforms use 2's complement +-#define USES_SIGNED_MAGNITUDE 0 +- +-// Byte allignment +-#define IS_BYTE_ALLIGNED 1 // true if byte allignment is 8 bits (true for all current platforms) +- +-// Endian detection +-#define IS_LITTLE_ENDIAN (IS_IX86 || IS_ALPHA) +-#define IS_BIG_ENDIAN (!IS_LITTLE_ENDIAN) +- + // Unicode + #define SUPPORTS_UNICODE IS_WIN32 // The OS supports Unicode + +@@ -252,7 +173,7 @@ + + // Used in twlocale + #define USE_STD_CPP_LOCALE_WORKAROUND (IS_SUNPRO || (IS_KAI && !IS_KAI_3_4)) // TODO:BAM -- name this something more general. +-#define USE_CLIB_LOCALE IS_KAI || IS_GCC ++#define USE_CLIB_LOCALE IS_KAI || HAVE_GCC + #define USES_CLIB_DATE_FUNCTION ( USE_CLIB_LOCALE || IS_SUNPRO || IS_MSVC ) // if we use clib, can't use C++ time_put, and SUNPRO and MSVC add characters + //#define USE_CLIB_LOCALE (IS_ALPHA || IS_IRIX || (IS_KAI && !IS_KAI_3_4)) + +@@ -270,37 +191,21 @@ + #define WCHAR_REP_IS_UCS2 IS_WIN32 + #define USES_MPOPEN IS_UNIX + #define USES_WINSOCK IS_WIN32 +-#define USES_BIN_DATE IS_UNIX + #define SUPPORTS_WCHART IS_WIN32 // TODO: Remove after getting new ver of KAI +-#define USES_GLIBC ((COMP == COMP_KAI_GLIBC) || IS_GCC) +-#define SUPPORTS_SYSLOG IS_UNIX ++#define USES_GLIBC ((COMP == COMP_KAI_GLIBC) || HAVE_GCC) + #define SUPPORTS_EVENTLOG IS_WIN32 +-#define HAS_ICONV IS_UNIX && ( ! IS_LINUX && ! IS_BSD) + #define SUPPORTS_MEMBER_TEMPLATES ( ! IS_SUNPRO ) + #define SUPPORTS_EXPLICIT_TEMPLATE_FUNC_INST ( ! IS_SUNPRO ) + + //============================================================================= +-// FHS -- Filesystem Hierarchy Standard Support +-// +-// If this is defined, then tripwire is being installed using the FHS. The only +-// behavioral change that results from this is the default location that +-// Tripwire looks for its config file. +-// +-// (*) If following FHS: default config file location is /etc/tripwire/tw.cfg +-// (*) If not: default is /tw.cfg +-// where is the directory the tripwire executable is located in. +-//============================================================================= +-#define USES_FHS IS_LINUX +- +-//============================================================================= + // Miscellaneous + // + // Put all items that are not an "IS_" macro here. + +-#if IS_BYTE_ALLIGNED ++#if IS_BYTE_ALIGNED + #define BYTE_ALIGN 8 + #else +- #error Unknown Byte allignment ++ #error Unknown Byte alignment + #endif + + // A scalar that matches the sizeof a pointer +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/refcountobj.cpp tripwire-2.3.1-2/src/core/refcountobj.cpp +--- tripwire-2.3.1-2.old/src/core/refcountobj.cpp Fri Oct 27 18:15:20 2000 ++++ tripwire-2.3.1-2/src/core/refcountobj.cpp Thu May 22 21:31:12 2003 +@@ -45,6 +45,7 @@ + int cRefCountObj::objectCounter = 0; + int cRefCountObj::referenceCounter = 0; + ++#include + // ok, this is getting serious! + #include + typedef std::set RefSet; // collection of addresses of all reference counted objects +@@ -79,9 +80,8 @@ + ++objectCounter; + ++referenceCounter; + +- const type_info& ti = typeid(*this); + cDebug d("cRefCountObj::cRefCountObj"); +- d.TraceNever("Object Created[%p] %s\n", this, ti.name()); ++ d.TraceNever("Object Created[%p] %s\n", this, typeid(*this).name()); + + if(! gpRefCountObj_Objects) + gpRefCountObj_Objects = new RefSet; +@@ -98,8 +98,7 @@ + #ifdef _DEBUG + --objectCounter; + cDebug d("cRefCountObj::~cRefCountObj"); +- const type_info& ti = typeid(*this); +- d.TraceNever("Object Destroyed[%p] %s Objects Left = %d\n", this, ti.name(), objectCounter); ++ d.TraceNever("Object Destroyed[%p] %s Objects Left = %d\n", this, typeid(*this).name(), objectCounter); + if(objectCounter == 0) + { + d.TraceDebug("****** All Reference Counted Objects Destroyed! ******\n") ; +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/resources.h tripwire-2.3.1-2/src/core/resources.h +--- tripwire-2.3.1-2.old/src/core/resources.h Sat Oct 28 12:22:55 2000 ++++ tripwire-2.3.1-2/src/core/resources.h Sat Sep 6 10:44:30 2003 +@@ -98,7 +98,7 @@ + typedef Value& ValueRef; + typedef const Value& ConstValueRef; + +- typedef Table::value_type Pair; ++ typedef typename Table::value_type Pair; + + + +@@ -234,10 +234,10 @@ + } + + Resource_Template +-Resource_Class::ConstValueRef ++typename Resource_Class::ConstValueRef + Resource_Class::Get( ConstKeyRef id ) const + { +- Table::const_iterator at = m_table.find( id ); ++ typename Table::const_iterator at = m_table.find( id ); + + if ( at == m_table.end() ) + { +@@ -259,7 +259,7 @@ + } + + Resource_Template +-Resource_Class::ConstValueRef ++typename Resource_Class::ConstValueRef + Resource_Class::DefaultValueRef() + { + static Value _default; +@@ -284,12 +284,12 @@ + + Message_Template + inline +-Message_Class::String ++typename Message_Class::String + Message_Class::Get( ConstKeyRef id ) const + { +- Value msg = Resources::Get( id ); ++ typename Message_Class::Value msg = Resources::Get( id ); + return +- ( msg == DefaultValueRef() ) ++ ( msg == this->DefaultValueRef() ) + ? String() + : String( msg ); + } +@@ -369,9 +369,9 @@ + std::string + Message_Class::GetAnsi( ConstKeyRef id ) const + { +- Value msg = Resources::Get( id ); ++ typename Message_Class::Value msg = Resources::Get( id ); + +- if ( msg == DefaultValueRef() ) ++ if ( msg == this->DefaultValueRef() ) + { + return std::string(); + } +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/serializer.h tripwire-2.3.1-2/src/core/serializer.h +--- tripwire-2.3.1-2.old/src/core/serializer.h Fri Oct 27 18:15:20 2000 ++++ tripwire-2.3.1-2/src/core/serializer.h Thu Jun 19 14:06:24 2003 +@@ -58,9 +58,9 @@ + }; + + eSerializer( const TSTRING& msg, const TSTRING& dataSource = _T(""), DataSourceType paramType = TY_UNDEFINED ) +- : mDataSource( dataSource ), +- mSourceType( paramType ), +- eError( msg ) ++ : eError( msg ), ++ mDataSource( dataSource ), ++ mSourceType( paramType ) + {} + + virtual TSTRING GetMsg() const; +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/serializerimpl.h tripwire-2.3.1-2/src/core/serializerimpl.h +--- tripwire-2.3.1-2.old/src/core/serializerimpl.h Fri Oct 27 18:15:20 2000 ++++ tripwire-2.3.1-2/src/core/serializerimpl.h Thu Jun 19 14:06:24 2003 +@@ -110,9 +110,9 @@ + virtual TSTRING GetFileName() const; + + private: ++ cArchive* mpArchive; // the archive we are serializing to + Mode mMode; // are we writing or reading? + bool mbInit; // has init been called? +- cArchive* mpArchive; // the archive we are serializing to + cSerRefCountTable mRefCtObjTbl; // keeps track of all ref counted objects that + // have been read or written during serialization + TSTRING mFileName; +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/serstring.h tripwire-2.3.1-2/src/core/serstring.h +--- tripwire-2.3.1-2.old/src/core/serstring.h Fri Oct 27 18:15:20 2000 ++++ tripwire-2.3.1-2/src/core/serstring.h Thu Jun 19 21:50:16 2003 +@@ -56,6 +56,7 @@ + public: + std::string mString; + ++ virtual ~cSerializableNString() {}; + virtual void Read (iSerializer* pSerializer, int32 version = 0); // throw (eSerializer, eArchive) + virtual void Write(iSerializer* pSerializer) const; // throw (eSerializer, eArchive) + +@@ -70,6 +71,7 @@ + public: + std::string mString; + ++ virtual ~cSerializableWString() {}; + virtual void Read (iSerializer* pSerializer, int32 version = 0); // throw (eSerializer, eArchive) + virtual void Write(iSerializer* pSerializer) const; // throw (eSerializer, eArchive) + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/sha.cpp tripwire-2.3.1-2/src/core/sha.cpp +--- tripwire-2.3.1-2.old/src/core/sha.cpp Fri Oct 27 18:15:20 2000 ++++ tripwire-2.3.1-2/src/core/sha.cpp Thu Jun 19 19:31:03 2003 +@@ -30,7 +30,7 @@ + // info@tripwire.org or www.tripwire.org. + // + //#ifndef lint +-/*static char rcsid[] = "$Id: sha.cpp,v 1.1 2000/10/28 01:15:20 itripn Exp $";*/ ++/*static char rcsid[] = "$Tripwire: sha.cpp,v 1.1 2000/10/28 01:15:20 itripn Exp $";*/ + //#endif + + /* +@@ -229,7 +229,7 @@ + shsInfo->digest[ 4 ] += E; + } + +-#if IS_LITTLE_ENDIAN ++#ifndef WORDS_BIGENDIAN + + /* When run on a little-endian CPU we need to perform byte reversal on an + array of longwords. It is possible to make the code endianness- +@@ -249,7 +249,7 @@ + buffer[ count ] = ( ( value & 0xFF00FF00L ) >> 8 ) | ( ( value & 0x00FF00FFL ) << 8 ); + } + } +-#endif /* #if IS_LITTLE_ENDIAN */ ++#endif /* #ifndef WORDS_BIGENDIAN */ + + /* Update SHS for a block of data. This code assumes that the buffer size + is a multiple of SHS_BLOCKSIZE bytes long, which makes the code a lot +@@ -268,9 +268,9 @@ + while( count >= SHS_BLOCKSIZE ) + { + memcpy( (char *) shsInfo->data, (char *) buffer, SHS_BLOCKSIZE ); +-#if IS_LITTLE_ENDIAN ++#ifndef WORDS_BIGENDIAN + byteReverse( shsInfo->data, SHS_BLOCKSIZE ); +-#endif /* #if IS_LITTLE_ENDIAN */ ++#endif /* #ifndef WORDS_BIGENDIAN */ + shsTransform( shsInfo ); + buffer += SHS_BLOCKSIZE; + count -= SHS_BLOCKSIZE; +@@ -298,9 +298,9 @@ + { + /* Two lots of padding: Pad the first block to 64 bytes */ + memset( ( char * ) shsInfo->data + count, 0, 64 - count ); +-#if IS_LITTLE_ENDIAN ++#ifndef WORDS_BIGENDIAN + byteReverse( shsInfo->data, SHS_BLOCKSIZE ); +-#endif /* #if IS_LITTLE_ENDIAN */ ++#endif /* #ifndef WORDS_BIGENDIAN */ + shsTransform( shsInfo ); + + /* Now fill the next block with 56 bytes */ +@@ -309,18 +309,18 @@ + else + /* Pad block to 56 bytes */ + memset( ( char * ) shsInfo->data + count, 0, 56 - count ); +-#if IS_LITTLE_ENDIAN ++#ifndef WORDS_BIGENDIAN + byteReverse( shsInfo->data, SHS_BLOCKSIZE ); +-#endif /* #if IS_LITTLE_ENDIAN */ ++#endif /* #ifndef WORDS_BIGENDIAN */ + + /* Append length in bits and transform */ + shsInfo->data[ 14 ] = highBitcount; + shsInfo->data[ 15 ] = lowBitcount; + + shsTransform( shsInfo ); +-#if IS_LITTLE_ENDIAN +- byteReverse( shsInfo->data, SHS_DIGESTSIZE ); +-#endif /* #if IS_LITTLE_ENDIAN */ ++#ifndef WORDS_BIGENDIAN ++ byteReverse( shsInfo->data, SHS_BLOCKSIZE ); ++#endif /* #ifndef WORDS_BIGENDIAN */ + } + + #ifdef TEST +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/stdcore.h tripwire-2.3.1-2/src/core/stdcore.h +--- tripwire-2.3.1-2.old/src/core/stdcore.h Sat Feb 24 11:02:12 2001 ++++ tripwire-2.3.1-2/src/core/stdcore.h Sun Mar 11 03:14:28 2001 +@@ -45,15 +45,6 @@ + + #include "platform.h" + +-//--Where the configuration file is to be found +-#if IS_BSD +-# define CONFIG_FILE_ROOT "/usr/local/etc/tripwire" +-#elif defined(USE_FHS) +-# define CONFIG_FILE_ROOT "/etc/tripwire" +-#else +-# undef CONFIG_FILE_ROOT // Nowhere, just try current directoy +-#endif +- + //--Disable some level 4 warnings + + #if IS_MSVC +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/stringutil.h tripwire-2.3.1-2/src/core/stringutil.h +--- tripwire-2.3.1-2.old/src/core/stringutil.h Sat Feb 3 21:38:27 2001 ++++ tripwire-2.3.1-2/src/core/stringutil.h Wed Jun 18 22:39:58 2003 +@@ -60,7 +60,7 @@ + /// Handle Like-Types (xstring to xstring) + + inline +- std::string::const_iterator ++ const char * + Convert( std::string& lhs, const std::string& rhs ) + { + lhs = rhs; +@@ -169,7 +169,7 @@ + //- - - - - - - - - - - - - - - - - - - - - - - - - - + // required typedef ( to be a container it must have this... ) + //- - - - - - - - - - - - - - - - - - - - - - - - - - +- typedef _ParentT::value_type value_type; ++ typedef typename _ParentT::value_type value_type; + + //- - - - - - - - - - - - - - - - - - - - - - - - - - + // required constructors and assignment operators... +@@ -186,14 +186,14 @@ + + _MyT& operator=( const _MyT& rhs ) + { +- _ParentT::operator=( rhs ); ++ return _ParentT::operator=( rhs ); + } + + //- - - - - - - - - - - - - - - - - - - - - - - - - - + // this is it! + // makes the string look like a container to a back_insert_iterator.... + //- - - - - - - - - - - - - - - - - - - - - - - - - - +- _MyT& push_back( const _ParentT::value_type& v ) ++ _MyT& push_back( const typename _ParentT::value_type& v ) + { + *this += v; return( *this ); + } +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/tchar.h tripwire-2.3.1-2/src/core/tchar.h +--- tripwire-2.3.1-2.old/src/core/tchar.h Fri Oct 27 18:15:20 2000 ++++ tripwire-2.3.1-2/src/core/tchar.h Sun Mar 16 17:22:14 2003 +@@ -117,6 +117,11 @@ + #define TUNLINK unlink + + // string representation ++#if defined(_T) ++ // run it right over with a bulldozer, tripwire doesn't seem ++ // to use ctype.h's _T -PH ++#undef _T ++#endif + #define _T(x) x + + // misc... +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/timeconvert.cpp tripwire-2.3.1-2/src/core/timeconvert.cpp +--- tripwire-2.3.1-2.old/src/core/timeconvert.cpp Fri Oct 27 18:15:20 2000 ++++ tripwire-2.3.1-2/src/core/timeconvert.cpp Thu Jun 5 14:58:51 2003 +@@ -52,7 +52,7 @@ + // METHOD CODE + //========================================================================= + +-static int64 TIME_MAX = 2147483647; // largest signed 32 bit number ++#define TIME_MAX 2147483647L // largest signed 32 bit number + + struct tm* cTimeUtil::TimeToDateGMT( const int64& seconds ) + { +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/tw_signal.h tripwire-2.3.1-2/src/core/tw_signal.h +--- tripwire-2.3.1-2.old/src/core/tw_signal.h Sat Feb 24 11:02:12 2001 ++++ tripwire-2.3.1-2/src/core/tw_signal.h Sat Mar 17 13:49:51 2001 +@@ -38,13 +38,12 @@ + + #include + +-#if IS_LINUX && !IS_BSD // IS_BSD is a hack, a better way should be found +-#if USES_GLIBC +-#include +-#else ++#ifdef HAVE_SIGNUM_H + #include // the signal number constants + #endif +-#endif IS_LINUX ++#ifdef HAVE_BITS_SIGNUM_H ++#include ++#endif + + extern "C" { + typedef void (*tw_sighandler_t)(int); +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/twlimits.cpp tripwire-2.3.1-2/src/core/twlimits.cpp +--- tripwire-2.3.1-2.old/src/core/twlimits.cpp Fri Oct 27 18:15:20 2000 ++++ tripwire-2.3.1-2/src/core/twlimits.cpp Sun Mar 16 17:22:14 2003 +@@ -69,7 +69,7 @@ + // + if( fFormatOK ) + { +- if( ! ( _T('-') == str[0] || _istdigit( str[0] ) ) ) ++ if( ! ( _T('-') == str[0] || std::isdigit( str[0], std::locale() ) ) ) + fFormatOK = false; + } + +@@ -79,7 +79,7 @@ + // TODO:BAM -- check this... + for( TSTRING::size_type j = 1; fFormatOK && j < str.length(); j++ ) + { +- if( ! _istdigit( str[j] ) ) ++ if( ! std::isdigit( str[j], std::locale() ) ) + fFormatOK = false; + } + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/twlocale.cpp tripwire-2.3.1-2/src/core/twlocale.cpp +--- tripwire-2.3.1-2.old/src/core/twlocale.cpp Fri Oct 27 18:15:20 2000 ++++ tripwire-2.3.1-2/src/core/twlocale.cpp Sun Mar 11 02:40:48 2001 +@@ -44,9 +44,9 @@ + // How is this being included for other platforms (I can't find + // references to locale.h anywhere in the code!) + // +-#if IS_GCC ++#if HAVE_GCC + #include +-#endif //IS_GCC ++#endif //HAVE_GCC + + + //========================================================================= +@@ -305,6 +305,7 @@ + + TCHAR achTimeBuf[256]; + ++ /* XXX: This should check (#ifdef) for strftime - PH */ + size_t nbWritten = _tcsftime( achTimeBuf, countof( achTimeBuf ), + + #if IS_MSVC // MSVC uses proprietary '#' +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/types.h tripwire-2.3.1-2/src/core/types.h +--- tripwire-2.3.1-2.old/src/core/types.h Fri Oct 27 18:15:20 2000 ++++ tripwire-2.3.1-2/src/core/types.h Sun Mar 18 12:48:22 2001 +@@ -40,42 +40,39 @@ + // standard TSS types + //----------------------------------------------------------------------------- + +-typedef unsigned char byte ; // platform-independent ++typedef unsigned char byte ; // platform-independent + +-#if IS_ALPHA +-typedef signed char int8 ; +-typedef short int16 ; +-typedef int int32 ; +-typedef long int64 ; +-typedef unsigned char uint8 ; +-typedef unsigned short uint16 ; +-typedef unsigned int uint32 ; +-typedef unsigned long uint64 ; +-typedef float float32 ; +-typedef double float64 ; ++typedef signed char int8 ; ++typedef short int16 ; ++typedef float float32 ; ++typedef double float64 ; ++typedef unsigned char uint8 ; ++typedef unsigned short uint16 ; + +-// other Win32 definitions +-//typedef uint16 UINT; +-//typedef uint32 DWORD; ++#if SIZEOF_INT == 4 ++typedef int int32 ; ++typedef unsigned int uint32 ; ++#elif SIZEOF_LONG == 4 ++typedef long int32 ; ++typedef unsigned long uint32 ; + #else ++# error "I don't seem to have a 32-bit integer type on this system." ++#endif + +-typedef signed char int8 ; +-typedef short int16 ; +-typedef long int32 ; ++#if SIZEOF_LONG == 8 ++typedef long int64 ; ++typedef unsigned long uint64 ; ++#elif SIZEOF_LONG_LONG == 8 + typedef long long int64 ; +-typedef unsigned char uint8 ; +-typedef unsigned short uint16 ; +-typedef unsigned long uint32 ; +-typedef unsigned long long uint64 ; +-typedef float float32 ; +-typedef double float64 ; ++typedef unsigned long long uint64 ; ++#else ++# error "I don't seem to have a 64-bit integer type on this system." ++#endif + + // other Win32 definitions + //typedef uint16 UINT; + //typedef uint32 DWORD; + +-#endif +- + //----------------------------------------------------------------------------- + // Limits -- should be platform independent, right? ( assumes 2's complement numbers ) + //----------------------------------------------------------------------------- +@@ -170,16 +167,7 @@ + } + + +-#if IS_LITTLE_ENDIAN +- +-#define tw_htonl(x) SWAPBYTES32((x)) +-#define tw_ntohl(x) SWAPBYTES32((x)) +-#define tw_htons(x) SWAPBYTES16((x)) +-#define tw_ntohs(x) SWAPBYTES16((x)) +-#define tw_htonll(x) SWAPBYTES64((x)) // int64 versions +-#define tw_ntohll(x) SWAPBYTES64((x)) +- +-#else //!IS_LITTLE_ENDIAN ++#ifdef WORDS_BIGENDIAN + + #define tw_htonl(x) (x) + #define tw_ntohl(x) (x) +@@ -188,7 +176,16 @@ + #define tw_htonll(x) (x) // int64 versions + #define tw_ntohll(x) (x) + +-#endif //IS_LITTLE_ENDIAN ++#else //!WORDS_BIGENDIAN ++ ++#define tw_htonl(x) SWAPBYTES32((x)) ++#define tw_ntohl(x) SWAPBYTES32((x)) ++#define tw_htons(x) SWAPBYTES16((x)) ++#define tw_ntohs(x) SWAPBYTES16((x)) ++#define tw_htonll(x) SWAPBYTES64((x)) // int64 versions ++#define tw_ntohll(x) SWAPBYTES64((x)) ++ ++#endif //WORDS_BIGENDIAN + + #endif // __TYPES_H + +Only in tripwire-2.3.1-2.old/src/core/unix: file_unix.cpp +Only in tripwire-2.3.1-2.old/src/core/unix: unixfsservices.cpp +Only in tripwire-2.3.1-2.old/src/core/unix: unixfsservices.h +Only in tripwire-2.3.1-2.old/src/core/unix: unixfsservices_t.cpp +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/unixfsservices.cpp tripwire-2.3.1-2/src/core/unixfsservices.cpp +--- tripwire-2.3.1-2.old/src/core/unixfsservices.cpp Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/core/unixfsservices.cpp Tue Aug 20 13:29:35 2002 +@@ -0,0 +1,1163 @@ ++// ++// The developer of the original code and/or files is Tripwire, Inc. ++// Portions created by Tripwire, Inc. are copyright (C) 2000 Tripwire, ++// Inc. Tripwire is a registered trademark of Tripwire, Inc. All rights ++// reserved. ++// ++// This program is free software. The contents of this file are subject ++// to the terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 2 of the License, or (at your ++// option) any later version. You may redistribute it and/or modify it ++// only in compliance with the GNU General Public License. ++// ++// This program is distributed in the hope that it will be useful. ++// However, this program is distributed AS-IS WITHOUT ANY ++// WARRANTY; INCLUDING THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS ++// FOR A PARTICULAR PURPOSE. Please see the GNU General Public License ++// for more details. ++// ++// You should have received a copy of the GNU General Public License ++// along with this program; if not, write to the Free Software ++// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, ++// USA. ++// ++// Nothing in the GNU General Public License or any other license to use ++// the code or files shall permit you to use Tripwire's trademarks, ++// service marks, or other intellectual property without Tripwire's ++// prior written consent. ++// ++// If you have any questions, please contact Tripwire, Inc. at either ++// info@tripwire.org or www.tripwire.org. ++// ++////////////////////////////////////////////////////////////////// ++// unixfsservices.cpp ++// ++// Implements cUnixFSServices class in unixfsservices.h ++// ++ ++#include "core/stdcore.h" ++#include "core/corestrings.h" ++ ++#if !IS_UNIX //encase this all in an ifdef so it won't cause compile errors ++#error Must be unix for unixfsservices ++#endif ++ ++//========================================================================= ++// STANDARD LIBRARY INCLUDES ++//========================================================================= ++ ++#include ++#include ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#ifdef HAVE_SYS_MOUNT_H ++# include ++#endif ++#ifdef HAVE_SYS_USTAT_H ++# include ++#endif ++#ifdef HAVE_WCHAR_H ++# include ++#endif ++#ifdef HAVE_SYS_SYSMACROS_H ++# include ++#endif ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++//========================================================================= ++// INCLUDES ++//========================================================================= ++ ++#include "unixfsservices.h" ++ ++// commented out definition of _TWNBITSMAJOR because we should use the ++// makedev macro in sys/sysmacros.h for portability. ++// except linux has the body of sysmacros.h commented out. why? ++// -jeb 7/26/99 ++// reduced to sys/statfs.h. Linux is OK and doesn't deserve ++// special treatment. 20010317-PH ++#ifdef HAVE_SYS_STATFS_H ++# include ++#endif //HAVE_SYS_STATFS_H ++ ++ ++ ++//========================================================================= ++// DEFINES AND MACROS ++//========================================================================= ++ ++#define TW_SLASH _T('/') ++ ++//========================================================================= ++// OTHER DIRECTIVES ++//========================================================================= ++ ++using namespace std; ++ ++//========================================================================= ++// GLOBALS ++//========================================================================= ++ ++//========================================================================= ++// UTIL FUNCTION PROTOTYES ++//========================================================================= ++ ++static bool util_FileIsExecutable( const TSTRING& ); ++static bool util_PathFind( TSTRING& strFullPath, const TSTRING& strFilename ); ++static void util_RemoveLastPathElement( TSTRING& strPath, TSTRING& strElem ); ++static bool util_GetNextPathElement( const TSTRING& strPathC, TSTRING& strElem, int index ); ++static void util_RemoveDuplicateSeps( TSTRING& strPath ); ++static bool util_TrailingSep( TSTRING& str, bool fLeaveSep ); ++static void util_RemoveTrailingSeps( TSTRING& str ); ++template< typename T > static inline void util_ZeroMemory( T& obj ); ++ ++//========================================================================= ++// PUBLIC METHOD CODE ++//========================================================================= ++ ++cUnixFSServices::cUnixFSServices() ++{} ++ ++cUnixFSServices::~cUnixFSServices() ++{} ++ ++//========================================================================= ++// *** VIRTUAL FUNCTION CODE *** ++//========================================================================= ++ ++/////////////////////////////////////////////////////////////////////////////// ++// GetErrString ++/////////////////////////////////////////////////////////////////////////////// ++TSTRING cUnixFSServices::GetErrString() const ++{ ++ TSTRING ret; ++ char* pErrorStr = strerror(errno); ++#ifdef _UNICODE ++ wchar_t pBuf[1024]; ++ mbstowcs(pBuf, pErrorStr, 1024); ++ ret = pBuf; ++#else ++ ret = pErrorStr; ++#endif ++ return ret; ++} ++ ++ ++/////////////////////////////////////////////////////////////////////////////// ++// GetHostID ++/////////////////////////////////////////////////////////////////////////////// ++void cUnixFSServices::GetHostID( TSTRING& name ) const ++{ ++ TOSTRINGSTREAM ret; ++ ++ ret.setf(ios_base::hex, ios_base::basefield); ++#ifdef HAVE_GETHOSTID ++ ret << gethostid(); ++#else ++ ret << 999999; ++#endif ++ ++} ++ ++// returns "/" for unix and "\\" for win32 ++TCHAR cUnixFSServices::GetPathSeperator() const ++{ ++ return '/'; ++} ++ ++ ++void cUnixFSServices::ReadDir(const TSTRING& strFilename, std::vector &v, bool bFullPaths) const throw(eFSServices) ++{ ++ //Get all the filenames ++ DIR* dp; ++ dp = opendir( strFilename.c_str() ); ++ ++ if (dp == NULL) ++ { ++ throw eFSServicesGeneric( strFilename, iFSServices::GetInstance()->GetErrString() ); ++ return; ++ } ++ ++ struct dirent* d; ++ ++ while ((d = readdir(dp)) != NULL) ++ { ++ if ((strcmp(d->d_name, _T(".")) != 0) && (strcmp(d->d_name, _T("..")) != 0)) ++ { ++ if( bFullPaths ) ++ { ++ //Create the full pathname ++ TSTRING strNewName = strFilename; ++ ++ // get full path of dir entry ++ util_TrailingSep( strNewName, true ); ++ strNewName += d->d_name; ++ ++ // save full path name ++ v.push_back( strNewName ); ++ } ++ else ++ v.push_back( d->d_name ); ++ } ++ } ++ ++ //Close the directory ++ closedir( dp ); ++} ++ ++/* needs to and with S_IFMT, check EQUALITY with S_*, and return more types ++cFSStatArgs::FileType cUnixFSServices::GetFileType(const cFCOName &filename) throw(eFSServices) ++{ ++ cFSStatArgs stat; ++ Stat(filename, stat); ++ return stat.mFileType; ++} ++*/ ++ ++void cUnixFSServices::GetCurrentDir( TSTRING& strCurDir ) const throw(eFSServices) ++{ ++ TCHAR pathname[MAXPATHLEN]; ++ pathname[0] = '\0'; ++ TCHAR* ret = getcwd(pathname, sizeof(TCHAR)*MAXPATHLEN); ++ ++ if (ret == NULL) ++ throw eFSServicesGeneric( strCurDir, iFSServices::GetInstance()->GetErrString() ); ++ ++ strCurDir = pathname; ++} ++ ++void cUnixFSServices::ChangeDir( const TSTRING& strDir ) const throw(eFSServices) ++{ ++ if( chdir( strDir.c_str() ) < 0 ) ++ throw eFSServicesGeneric( strDir, iFSServices::GetInstance()->GetErrString() ); ++} ++ ++ ++TSTRING& cUnixFSServices::MakeTempFilename( TSTRING& strName ) const throw(eFSServices) ++{ ++ char* pchTempFileName; ++ char szTemplate[MAXPATHLEN]; ++ int fd; ++ ++#ifdef _UNICODE ++ // convert template from wide character to multi-byte string ++ char mbBuf[MAXPATHLEN]; ++ wcstombs( mbBuf, strName.c_str(), strName.length() + 1 ); ++ strcpy( szTemplate, mbBuf ); ++#else ++ strcpy( szTemplate, strName.c_str() ); ++#endif ++ ++#ifdef HAVE_MKSTEMP ++ // create temp filename and check to see if mkstemp failed ++ if ((fd = mkstemp( szTemplate )) == -1) { ++ throw eFSServicesGeneric( strName ); ++ } else { ++ close(fd); ++ } ++ pchTempFileName = szTemplate; ++#else ++ fd = 0; ++ // create temp filename ++ pchTempFileName = mktemp( szTemplate ); ++ ++ //check to see if mktemp failed ++ if ( pchTempFileName == NULL || strlen(pchTempFileName) == 0) { ++ throw eFSServicesGeneric( strName ); ++ } ++#endif ++ ++ // change name so that it has the XXXXXX part filled in ++#ifdef _UNICODE ++ // convert name from multi-byte to wide character string ++ wchar_t wcsbuf[1024]; ++ mbstowcs( wcsbuf, pchTempFileName, strlen( pchTempFileName ) + 1 )); ++ strName = wcsbuf; ++#else ++ strName = pchTempFileName; ++#endif ++ ++ ++ // Linux creates the file!! Doh! ++ // So I'll always attempt to delete it -bam ++ FileDelete( strName ); ++ ++ return( strName ); ++} ++ ++void cUnixFSServices::Mkdir( const TSTRING& strName ) const throw ( eFSServices ) ++{ ++ if( 0 != _tmkdir( strName.c_str(), 0777 ) ) ++ { ++ // if mkdir failed because the dir existed, that's OK ++ if( errno != EEXIST ) ++ throw eFSServicesGeneric( strName, iFSServices::GetInstance()->GetErrString() ); ++ } ++} ++ ++bool cUnixFSServices::Rmdir( const TSTRING& strName ) const ++{ ++ if( 0 == rmdir( strName.c_str() ) ) ++ return true; ++ ++ return false; ++} ++ ++void cUnixFSServices::GetTempDirName( TSTRING& strName ) const throw(eFSServices) ++{ ++ strName = mTempPath; ++} ++ ++void cUnixFSServices::SetTempDirName(TSTRING& tmpPath) { ++ ++ mTempPath = tmpPath; ++} ++ ++ ++void cUnixFSServices::Stat( const TSTRING& strName, cFSStatArgs &stat ) const throw(eFSServices) ++{ ++ //local variable for obtaining info on file. ++ struct stat statbuf; ++ ++ int ret; ++ ret = lstat( strName.c_str(), &statbuf ); ++ ++ cDebug d( "cUnixFSServices::Stat" ); ++ d.TraceDetail( "Executing on file %s (result=%d)\n", strName.c_str(), ret ); ++ ++ if( ret < 0 ) ++ throw eFSServicesGeneric( strName, iFSServices::GetInstance()->GetErrString() ); ++ ++ // new stuff 7/17/99 - BAM ++ // if the file is not a device set rdev to zero by hand (most OSs will ++ // do this for us, but some don't) ++ if( ! S_ISBLK( statbuf.st_mode ) && ! S_ISCHR( statbuf.st_mode ) ) ++ { ++ // must zero memory instead of '= 0' since we don't know the ++ // actual type of the object -- could be a struct (requiring '= {0}' ) ++ util_ZeroMemory( statbuf.st_rdev ); ++ } ++ ++ //copy information returned by lstat call into the structure passed in ++ stat.gid = statbuf.st_gid; ++ stat.atime = statbuf.st_atime; ++ stat.ctime = statbuf.st_ctime; ++ stat.mtime = statbuf.st_mtime; ++ stat.dev = statbuf.st_dev; ++ stat.rdev = statbuf.st_rdev; ++ stat.ino = statbuf.st_ino; ++ stat.mode = statbuf.st_mode; ++ stat.nlink = statbuf.st_nlink; ++ stat.size = statbuf.st_size; ++ stat.uid = statbuf.st_uid; ++ stat.blksize = statbuf.st_blksize; ++ stat.blocks = statbuf.st_blocks; ++ ++ // set the file type ++ if(S_ISREG(statbuf.st_mode)) stat.mFileType = cFSStatArgs::TY_FILE; ++ else if(S_ISDIR(statbuf.st_mode)) stat.mFileType = cFSStatArgs::TY_DIR; ++ else if(S_ISLNK(statbuf.st_mode)) stat.mFileType = cFSStatArgs::TY_SYMLINK; ++ else if(S_ISBLK(statbuf.st_mode)) stat.mFileType = cFSStatArgs::TY_BLOCKDEV; ++ else if(S_ISCHR(statbuf.st_mode)) stat.mFileType = cFSStatArgs::TY_CHARDEV; ++ else if(S_ISFIFO(statbuf.st_mode)) stat.mFileType = cFSStatArgs::TY_FIFO; ++ else if(S_ISSOCK(statbuf.st_mode)) stat.mFileType = cFSStatArgs::TY_SOCK; ++ else stat.mFileType = cFSStatArgs::TY_INVALID; ++} ++ ++void cUnixFSServices::GetMachineName( TSTRING& strName ) const throw( eFSServices ) ++{ ++ struct utsname namebuf; ++ if( uname( &namebuf ) == -1 ) ++ throw eFSServicesGeneric( strName ); ++ else ++ strName = namebuf.nodename; ++} ++ ++void cUnixFSServices::GetMachineNameFullyQualified( TSTRING& strName ) const ++{ ++ char buf[256]; ++ if (gethostname(buf, 256) != 0) ++ { ++#ifdef SOLARIS_NO_GETHOSTBYNAME ++ strName = buf; ++ return; ++#else ++ struct hostent* ret; ++ ret = gethostbyname(buf); ++ ++ if (ret != NULL) ++ { ++ strName = ret->h_name; ++ return; ++ } ++#endif ++ } ++ ++ try ++ { ++ cUnixFSServices::GetMachineName(strName); ++ } ++ catch(eFSServices&) ++ { ++ strName = TSS_GetString(cCore, core::STR_UNKNOWN); ++ } ++} ++ ++bool cUnixFSServices::FileDelete( const TSTRING& strName ) const ++{ ++ return( 0 == remove( strName.c_str() ) ); ++} ++ ++bool cUnixFSServices::GetCurrentUserName( TSTRING& strName ) const ++{ ++ bool fSuccess = false; ++ ++ uid_t uid = getuid(); ++ struct passwd* pp = getpwuid( uid ); ++ ++ if( pp ) ++ { ++ strName = pp->pw_name; ++ fSuccess = true; ++ } ++ else ++ strName = _T(""); ++ ++ return( fSuccess ); ++} ++ ++ ++// returns IP address in network byte order ++bool cUnixFSServices::GetIPAddress( uint32& uiIPAddress ) ++{ ++ bool fGotAddress = false; ++ cDebug d( _T("cUnixFSServices::GetIPAddress") ); ++ ++ struct utsname utsnameBuf; ++ if( EFAULT != uname( &utsnameBuf) ) ++ { ++ d.TraceDetail( "uname returned nodename: %s\n", utsnameBuf.nodename ); ++ ++ struct hostent* phostent = gethostbyname( utsnameBuf.nodename ); ++ ++ if( phostent ) ++ { ++ ASSERT( AF_INET == phostent->h_addrtype ); ++ ASSERT( sizeof(int32) == phostent->h_length ); ++ ++ if( phostent->h_length ) ++ { ++ if( phostent->h_addr_list[0] ) ++ { ++ int32* pAddress = reinterpret_cast( phostent->h_addr_list[0] ); ++ uiIPAddress = *pAddress; ++ fGotAddress = true; ++ } ++ else ++ d.TraceError( _T("phostent->h_addr_list[0] was zero") ); ++ } ++ else ++ d.TraceError( _T("phostent->h_length was zero") ); ++ } ++ else ++ d.TraceError( _T("gethostbyname failed") ); ++ } ++ else ++ d.TraceError( _T("uname failed") ); ++ ++ return( fGotAddress ); ++} ++ ++bool cUnixFSServices::IsCaseSensitive() const ++{ ++ return true; ++} ++ ++ ++bool cUnixFSServices::GetOwnerForFile( const TSTRING& tstrFilename, TSTRING& tstrUser ) const ++{ ++ bool fSuccess = true; ++ struct stat statbuf; ++ ++ int ret = lstat(tstrFilename.c_str(), &statbuf); ++ if(ret < 0) ++ { ++ fSuccess = false; ++ } ++ ++ if( fSuccess ) ++ { ++ struct passwd* pp = getpwuid( statbuf.st_uid ); ++ //ASSERT( pp ); ++ // We shouldn't assert this, because it might be the case that a file ++ // is associated with some old user that no longer exists... we should ++ // not fail this case. Instead, the method will just return false per ++ // the test below. ++ if( pp == NULL ) ++ { ++ fSuccess = false; ++ } ++ else ++ tstrUser = pp->pw_name; ++ } ++ ++ return( fSuccess ); ++ ++} ++ ++ ++bool cUnixFSServices::GetGroupForFile( const TSTRING& tstrFilename, TSTRING& tstrGroup ) const ++{ ++ bool fSuccess = true; ++ struct stat statbuf; ++ ++ int ret = lstat(tstrFilename.c_str(), &statbuf); ++ if(ret < 0) ++ { ++ fSuccess = false; ++ } ++ ++ if( fSuccess ) ++ { ++ struct group* pg = getgrgid( statbuf.st_gid ); ++ //ASSERT( pg ); this assert stops everything in debug mode if we can't lookup a groupid ++ ++ if( pg == NULL ) ++ { ++ fSuccess = false; ++ tstrGroup = TSS_GetString(cCore, core::STR_UNKNOWN); ++ } ++ else ++ tstrGroup = pg->gr_name; ++ } ++ ++ return( fSuccess ); ++} ++ ++//////////////////////////////////////////////////////////////////////// ++// Function name : cUnixFSServices::ConvertModeToString ++// Description : takes a TSTRING and fills it with an "ls -l" representation ++// of the object's permission bits ( e.g. "drwxr-x--x" ). ++// ++// Returns : void -- no errors are reported ++// ++// Argument : uint64 perm -- st_mode from "stat" ++// Argument : TSTRING& tstrPerm -- converted permissions, ls -l style ++// ++void cUnixFSServices::ConvertModeToString( uint64 perm, TSTRING& tstrPerm ) const ++{ ++ TCHAR szPerm[11]; //10 permission bits plus the NULL ++ _tcscpy( szPerm, _T("----------") ); ++ ++ ASSERT( sizeof(unsigned short) <= sizeof(uint32) ); ++ // We do this in case an "unsigned short" is ever larger than the ++ // value we are switching on, since the size of the mode parameter ++ // will be unsigned short (whatever that means, for the given platform...) ++ ++ // check file type ++ switch ((uint32)perm & S_IFMT) //some versions of Unix don't like to switch on ++ //64 bit values. ++ { ++ case S_IFDIR: ++ szPerm[0] = _T('d'); ++ break; ++ case S_IFCHR: ++ szPerm[0] = _T('c'); ++ break; ++ case S_IFBLK: ++ szPerm[0] = _T('b'); ++ break; ++ case S_IFIFO: ++ szPerm[0] = _T('p'); ++ break; ++ case S_IFLNK: ++ szPerm[0] = _T('l'); ++ break; ++ } ++ ++ // check owner read and write ++ if (perm & S_IREAD) ++ szPerm[1] = _T('r'); ++ if (perm & S_IWRITE) ++ szPerm[2] = _T('w'); ++ ++ // check owner execute ++ if (perm & S_ISUID && perm & S_IEXEC) ++ szPerm[3] = _T('s'); ++ else if (perm & S_IEXEC) ++ szPerm[3] = _T('x'); ++ else if (perm & S_ISUID) ++ szPerm[3] = _T('S'); ++ ++ // check group read and write ++ if (perm & S_IRGRP) ++ szPerm[4] = _T('r'); ++ if (perm & S_IWGRP) ++ szPerm[5] = _T('w'); ++ ++ // check group execute ++ if (perm & S_ISGID && perm & S_IXGRP) ++ szPerm[6] = _T('s'); ++ else if (perm & S_IXGRP) ++ szPerm[6] = _T('x'); ++ else if (perm & S_ISGID) ++ szPerm[6] = _T('l'); ++ ++ // check other read and write ++ if (perm & S_IROTH) ++ szPerm[7] = _T('r'); ++ if (perm & S_IWOTH) ++ szPerm[8] = _T('w'); ++ ++ // check other execute ++ if (perm & S_ISVTX && perm & S_IXOTH) ++ szPerm[9] = _T('t'); ++ else if (perm & S_IXOTH) ++ szPerm[9] = _T('x'); ++ else if (perm & S_ISVTX) ++ szPerm[9] = _T('T'); ++ ++ tstrPerm = szPerm; ++ ++ return; ++} ++ ++//////////////////////////////////////////////////////////////////////// ++// Function name : cUnixFSServices::Rename ++// Description : Rename a file. Overwrites newname if it exists.and overwrite is true ++// ++// Returns : false if failure, true on success ++bool cUnixFSServices::Rename(const TSTRING& strOldName, const TSTRING& strNewName, bool overwrite) const ++{ ++#ifdef _UNICODE ++#error UNICODE Rename not implemented ++#endif ++ ++ // delete new file if overwriting ++ if ( overwrite ) ++ if ( access( strNewName.c_str(), F_OK ) == 0 && remove( strNewName.c_str() ) != 0 ) ++ return false; ++ ++ if ( rename( strOldName.c_str(), strNewName.c_str() ) == 0 ) ++ return true; ++ ++ // Note: errno will be set ++ return false; ++} ++ ++ ++bool cUnixFSServices::GetExecutableFilename( TSTRING& strFullPath, const TSTRING& strFilename ) const ++{ ++ bool fGotName = false; ++ ++ if( strFilename.empty() ) ++ return false; ++ ++ // if there is a slash in the filename, it's absolute or relative to cwd ++ if( TSTRING::npos != strFilename.find( _T('/') ) ) ++ { ++ // if absolute path ++ if( strFilename[0] == _T('/') ) ++ { ++ strFullPath = strFilename; ++ fGotName = true; ++ } ++ else // is relative path; find path from cwd ++ { ++ fGotName = FullPath( strFullPath, strFilename ); ++ } ++ } ++ else // it's just a filename: should be found in path ++ { ++ fGotName = util_PathFind( strFullPath, strFilename ); ++ ++ TSTRING strFP; ++ if( fGotName && FullPath( strFP, strFullPath ) ) ++ strFullPath = strFP; ++ } ++ ++ return( fGotName ); ++} ++ ++ ++/////////////////////////////////////////////////////////////////////////////// ++// Function name : cUnixFSServices::FullPath ++// Description : ++// ++// Return type : bool ++// Argument : TSTRING& strFullPath ++// Argument : const TSTRING& strRelPathC ++// Argument : const TSTRING& pathRelFromC ++// ++// TODO -- is throwing an exception the more appropriate alternative to returning ++// a bool? I think it is ... mdb ++/////////////////////////////////////////////////////////////////////////////// ++bool cUnixFSServices::FullPath( TSTRING& strFullPath, const TSTRING& strRelPathC, const TSTRING& pathRelFromC ) const ++{ ++ // don't do anything with an empty path ++ if( strRelPathC.empty() ) ++ return false; ++ ++ TSTRING strRelPath = strRelPathC; // make non-const temp var ++ ++ // ++ // get base name (where strRelPath will be relative to), which will either be; ++ // 1. the root directory if strRelPath is an absolute path ++ // 2. pathRelFrom if it's not empty ++ // 3. otherwise ( not abs path AND no rel path ) the current working directory ++ // ++ ++ if( strRelPath[0] == TW_SLASH ) // if is absolute path ++ { ++ if( IsRoot( strRelPath ) ) // if it's root, don't monkey with it, just return it. ++ { ++ strFullPath = strRelPath; ++ return true; ++ } ++ else ++ { ++ strFullPath = _T(""); // push root, then add path elements from strRelPathC ++ // one by one (in while loop below) ++ } ++ } ++ else // is a relative path, so check pathRelFromC ++ { ++ if( pathRelFromC.empty() ) // if we're relative to CWD... ++ { ++ // ++ // get the current working directory ++ // ++ try ++ { ++ GetCurrentDir( strFullPath ); ++ util_TrailingSep( strFullPath, false ); ++ } ++ catch( eFSServices& ) ++ { ++ return false; ++ } ++ } ++ else // we're relative to a given dir ++ { ++ strFullPath = pathRelFromC; ++ util_RemoveDuplicateSeps( strFullPath ); ++ util_TrailingSep( strFullPath, false ); ++ } ++ } ++ ++ // ++ // start adding path elements from strRelPath to the base name ++ // ( which already has an absolute starting point. see above. ) ++ // ++ ++ TSTRING strElem; ++ int index = 0; ++ while( util_GetNextPathElement( strRelPath, strElem, index++ ) ) ++ { ++ if( 0 == strElem.compare( _T(".") ) ) ++ { ++ // ignore it ++ } ++ else if( 0 == strElem.compare( _T("..") ) ) ++ { ++ // go up a dir ( the function takes care of root dir case ) ++ TSTRING strDummy; ++ util_RemoveLastPathElement( strFullPath, strDummy ); ++ } ++ else // just a regular old path element ++ { ++ strFullPath += TW_SLASH; ++ strFullPath += strElem; ++ } ++ } ++ ++ return true; ++} ++ ++/////////////////////////////////////////////////////////////////////////////// ++// GetStandardBackupExtension() ++// ++// Returns normal string to append to backup files for this os. ++// (e.g. "~" for unix and ".bak" for winos) ++/////////////////////////////////////////////////////////////////////////////// ++TCHAR* cUnixFSServices::GetStandardBackupExtension() const ++{ ++ return _T(".bak"); ++} ++ ++ ++ // TODO: remove this function ++ // Matt theorized that this is no longer used - dmb Aug 23 1999 ++/* ++int cUnixFSServices::CreateLockedTemporaryFile( const TCHAR* szFilename, int perm ) const ++{ ++ // make sure perm is AT LEAST one of: O_RDWR, O_WRONLY ++ ASSERT( 0 != ( perm & ( O_RDWR | O_WRONLY ) ) ); ++ // make sure perm is ONLY composed of: O_RDWR, O_WRONLY ++ ASSERT( 0 == ( perm & ~( O_RDWR | O_WRONLY ) ) ); ++ // get rid of any unsupported bits caller may have supplied ++ perm &= ( O_RDWR | O_WRONLY ); ++ ++ // set flags ++ int oflags = perm | ++ O_CREAT | O_EXCL; // only create a new file -- error if it exists already ++ ++ // create file ++ int fh = _topen( szFilename, oflags, 0666 ); ++ if( fh >= 0 ) ++ { ++ // file was created. Now unlink it ++ if( 0 != unlink( szFilename ) ) ++ { ++ // we weren't able to unlink file, so close handle and fail ++ close( fh ); ++ fh = -1; ++ } ++ } ++ ++ return( fh ); ++} ++*/ ++ ++void cUnixFSServices::Sleep( int nSeconds ) const ++{ ++ sleep( nSeconds ); ++} ++ ++ ++//////////////////////////////////////////////////////////////////////////////// ++// Function name : IsRoot ++// Description : A root path is all '/'s ++// ++// Return type : bool ++// Argument : const TSTRING& strPath ++/////////////////////////////////////////////////////////////////////////////// ++bool cUnixFSServices::IsRoot( const TSTRING& strPath ) const ++{ ++ // and empty path is NOT the root path ++ if( strPath.empty() ) ++ return false; ++ ++ // check to see if all characters are a slash ++ for( TSTRING::const_iterator iter = strPath.begin(); iter != strPath.end(); iter++ ) ++ { ++ // if we've found a char that's not '/', then it's not the root path ++ if( *iter != TW_SLASH ) ++ return false; ++ } ++ ++ return true; ++} ++ ++//************************************************************************* ++//************************************************************************* ++// UTIL FUNCTION CODE ++//************************************************************************* ++//************************************************************************* ++ ++ ++/////////////////////////////////////////////////////////////////////////////// ++// Function name : util_PathFind ++// Description : ++// takes single-element executible filename and looks in path env var for it ++// assumes path is colon-delimited string of directories. ++// ++// Return type : bool ++// Argument : TSTRING& strFullPath ++// Argument : const TSTRING& strFilename ++/////////////////////////////////////////////////////////////////////////////// ++bool util_PathFind( TSTRING& strFullPath, const TSTRING& strFilename ) ++{ ++ bool fFoundFile = false; ++ ++ if( strFilename.empty() ) ++ return false; ++ ++ // ++ // get the path environment variable ++ // ++ TCHAR* pszPathVar = _tgetenv("PATH"); ++ if( pszPathVar != NULL ) ++ { ++ // ++ // cycle over characters in path looking for the ':' ++ // ++ TSTRING strCurPath; ++ TCHAR* pchTemp = pszPathVar; ++ bool fMorePaths = true; ++ do // while still more paths and haven't found file ++ { ++ // ++ // are we at the ':'? ++ // ++ if( *pchTemp && *pchTemp != _T(':') ) // if we're not at the end of the path ++ { ++ strCurPath += *pchTemp; ++ } ++ else // we have found the ':' ++ { ++ // ++ // expand current path into a fully qualified path ++ // if it's empty, use current directory ++ // ++ TSTRING strFP; ++ if( strCurPath.empty() ) ++ strCurPath = _T("."); ++ if( iFSServices::GetInstance()->FullPath( strFP, strCurPath ) ) ++ strCurPath = strFP; ++ ++ // ++ // put the file together with the path dir ++ // ++ TSTRING strFullName = strCurPath; ++ util_TrailingSep( strFullName, true ); ++ strFullName += strFilename; ++ ++ // ++ // the file must exist and be executable ++ // ++ if( util_FileIsExecutable( strFullName ) ) ++ { ++ strFullPath = strFullName; ++ fFoundFile = true; ++ } ++ else ++ strCurPath.erase(); // start over ++ } ++ ++ // ++ // keep searching if we're not at the end of the path string ++ // ++ ++ if( *pchTemp ) ++ pchTemp++; ++ else ++ fMorePaths = false; ++ } ++ while( !fFoundFile && fMorePaths ); ++ } ++ ++ return( fFoundFile ); ++} ++ ++ ++/////////////////////////////////////////////////////////////////////////////// ++// Function name : util_FileIsExecutable ++// Description : file ( or file a link points to ) must be a regular ++// file and executable by someone ++// ++// Return type : bool ++// Argument : const TSTRING& strFile ++/////////////////////////////////////////////////////////////////////////////// ++bool util_FileIsExecutable( const TSTRING& strFile ) ++{ ++ if( strFile.empty() ) ++ return false; ++ ++ struct stat s; ++ if( stat( strFile.c_str(), &s ) < 0 ) // this call handles links ++ return false; ++ ++ return( S_ISREG( s.st_mode ) && ( s.st_mode & ( S_IXUSR | S_IXGRP | S_IXOTH ) ) ); // can someone execute it? ++} ++ ++ ++//////////////////////////////////////////////////////////////////////////////// ++// Function name : util_RemoveDuplicateSeps ++// Description : ++// takes all adjacent slashes and replaces them with a single slash ++// ///root//foo -> /root/foo ++// rel//foo/// -> rel/foo/ ++// ++// Return type : void ++// Argument : TSTRING& strPath ++/////////////////////////////////////////////////////////////////////////////// ++void util_RemoveDuplicateSeps( TSTRING& strPath ) ++{ ++ bool fLastCharWasSep = false; ++ TSTRING::iterator iter = strPath.begin(); ++ while( iter != strPath.end() ) ++ { ++ bool fErasedChar = false; ++ // if we've found a char that's not '/', then it's not the root ++ if( *iter == TW_SLASH ) ++ { ++ // if this char is a duplicate sep, erase it ++ if( fLastCharWasSep ) ++ { ++ iter = strPath.erase( iter ); ++ fErasedChar = true; ++ } ++ ++ fLastCharWasSep = true; ++ } ++ else ++ { ++ fLastCharWasSep = false; ++ } ++ ++ // don't go past end of string (could happen with erase) ++ if( ! fErasedChar ) ++ iter++; ++ } ++} ++ ++ ++////////////////////////////////////////////////////////////////////////////////// ++// Function name : util_RemoveLastPathElement ++// Description : ++// effectively pops off a path element from the end, except for the root dir, where it does nothing ++// it removes any slashes before and after the element ++// ///root//foo/ -> leaves "///root" ("foo" is strElem) ++// ///root -> leaves "" ("root" is strElem) ++// // -> leaves "" ("" is strElem) ++// ++// Return type : void ++// Argument : TSTRING& strPath ++// Argument : TSTRING& strElem ++///////////////////////////////////////////////////////////////////////////////// ++void util_RemoveLastPathElement( TSTRING& strPath, TSTRING& strElem ) ++{ ++ ++ // remove all trailing separators ++ util_RemoveTrailingSeps( strPath ); ++ ++ // find the last separator ++ TSTRING::size_type lastSep = strPath.rfind( TW_SLASH ); ++ ++ // if separator was found, take all chars after it ++ if( lastSep != TSTRING::npos ) ++ { ++ strElem = strPath.substr( lastSep + 1 ); ++ strPath.resize( lastSep + 1 ); ++ } ++ else // no seps in name, take whole string ++ { ++ // last element ++ strElem = strPath; ++ strPath.erase(); ++ } ++ ++ // remove all trailing separators ++ util_RemoveTrailingSeps( strPath ); ++} ++ ++ ++//////////////////////////////////////////////////////////////////////////////////// ++// Function name : util_GetNextPathElement ++// Description : ++// starting from the left side of the path string, returns the index'th path element ++// returns true if the element exists, false if there aren't many elements ++// ++// index is ZERO BASED ++// ++// 2rd element of ABC/DEF/GH -> GH ++// 1st element of //ABC/DEF/GH -> DEF ++// ++// Return type : bool : got path element? ( i.e. was there index path elements? ) ++// Argument : const TSTRING& strPathC ++// Argument : TSTRING& strElem ++// Argument : int index ++///////////////////////////////////////////////////////////////////////////////// ++bool util_GetNextPathElement( const TSTRING& strPathC, TSTRING& strElem, int index ) ++{ ++ ++ // don't do anything if root or empty ++ if( strPathC.empty() || iFSServices::GetInstance()->IsRoot( strPathC ) ) ++ return false; ++ ++ TSTRING strPath = strPathC; // writable local version ++ ++ bool fMoreSeps = true; ++ TSTRING::size_type firstSep, nextSep, nextNonSep; ++ firstSep = nextSep = nextNonSep = (TSTRING::size_type)-1; ++ for( int i = 0; i <= index && fMoreSeps; i++ ) ++ { ++ // go past leading separators ++ nextNonSep = strPath.find_first_not_of( TW_SLASH, nextSep + 1 ); ++ ++ if( nextNonSep != TSTRING::npos ) ++ { ++ // find index'th slash (start of index'th element) ++ nextSep = strPath.find( TW_SLASH, nextNonSep ); ++ ++ // if we're at the end and we haven't found the index'th element ++ // left, then tell the caller that there aren't that many elemnts ++ if( nextSep == TSTRING::npos && i < index ) ++ fMoreSeps = false; ++ ++ } ++ else ++ fMoreSeps = false; ++ } ++ ++ // get the element and remove it from the path ++ if( fMoreSeps ) ++ strElem = strPath.substr( nextNonSep, nextSep - nextNonSep ); ++ ++ return( fMoreSeps ); ++} ++ ++///////////////////////////////////////////////////////////////////////// ++// Function name : util_TrailingSep ++// Description : ensure that a path ( fLeaveSep ? "has" : "does not have" ) a trailing slash ++// ++// Return type : bool : was there a trailing slash? ++// Argument : TSTRING& str ++// Argument : bool fLeaveSep ++///////////////////////////////////////////////////////////////////////////////// ++bool util_TrailingSep( TSTRING& str, bool fLeaveSep ) ++{ ++ bool fWasSep = false; ++ ++ // if there's a trailing sep ++ if( ++ ! str.empty() ++ && ++ str[ str.size() - 1 ] == TW_SLASH ++ ) ++ { ++ if( ! fLeaveSep ) ++ str.resize( str.size() - 1 ); ++ fWasSep = true; ++ } ++ else // else no trailing sep ++ { ++ if( fLeaveSep ) ++ str += TW_SLASH; ++ fWasSep = false; ++ } ++ ++ return( fWasSep ); ++} ++ ++///////////////////////////////////////////////////////////////////////// ++// Function name : util_RemoveTrailingSeps ++// Description : removes all trailing separators ++// ++// Return type : void ++// Argument : TSTRING& str ++///////////////////////////////////////////////////////////////////////////////// ++void util_RemoveTrailingSeps( TSTRING& str ) ++{ ++ while( util_TrailingSep( str, false ) ) ++ {} ++} ++ ++template< typename T > static inline void util_ZeroMemory( T& obj ) ++{ ++ memset( &obj, 0, sizeof( obj ) ); ++} ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/unixfsservices.h tripwire-2.3.1-2/src/core/unixfsservices.h +--- tripwire-2.3.1-2.old/src/core/unixfsservices.h Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/core/unixfsservices.h Sun Mar 18 06:13:49 2001 +@@ -0,0 +1,206 @@ ++// ++// The developer of the original code and/or files is Tripwire, Inc. ++// Portions created by Tripwire, Inc. are copyright (C) 2000 Tripwire, ++// Inc. Tripwire is a registered trademark of Tripwire, Inc. All rights ++// reserved. ++// ++// This program is free software. The contents of this file are subject ++// to the terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 2 of the License, or (at your ++// option) any later version. You may redistribute it and/or modify it ++// only in compliance with the GNU General Public License. ++// ++// This program is distributed in the hope that it will be useful. ++// However, this program is distributed AS-IS WITHOUT ANY ++// WARRANTY; INCLUDING THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS ++// FOR A PARTICULAR PURPOSE. Please see the GNU General Public License ++// for more details. ++// ++// You should have received a copy of the GNU General Public License ++// along with this program; if not, write to the Free Software ++// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, ++// USA. ++// ++// Nothing in the GNU General Public License or any other license to use ++// the code or files shall permit you to use Tripwire's trademarks, ++// service marks, or other intellectual property without Tripwire's ++// prior written consent. ++// ++// If you have any questions, please contact Tripwire, Inc. at either ++// info@tripwire.org or www.tripwire.org. ++// ++//////////////////////////////////////////////////////////////////////// ++// unixfsservices.h ++// ++// cUnixFSServices implements iFSServices, which abstacts out all ++// system dependent filesystem calls. ++ ++#ifndef __UNIXFSSERVICES_H ++#define __UNIXFSSERVICES_H ++ ++#if !IS_UNIX ++#error unixfsservices.h should only be included for instantiating cUnixFSServices objects. If you just want to use iFSServices methods, include fsservices.h. Same goes for cWin32FSServices. ++#endif ++ ++//========================================================================= ++// INCLUDES ++//========================================================================= ++ ++#ifndef __FSSERVICES_H ++#include "core/fsservices.h" ++#endif ++ ++//========================================================================= ++// DECLARATION OF CLASSES ++//========================================================================= ++ ++//Set up in constructor. Stores pertinent information about the filesystem ++//serviced by each instantiation. ++ ++struct UnixSysInfo ++{ ++ uint32 maxcomplen; ++ //max name length of a file on filesystem ++ uint32 fsflags; ++ //bitmask of flags ++ TSTRING fsname; ++ //The filesystem basename ++ uint32 fsid; ++ //unique indentifier for the filesystem ++}; ++ ++class cUnixFSServices : public iFSServices ++{ ++ /////////////////////////////////////////////////////////////// ++ // ENUMS ++ /////////////////////////////////////////////////////////////// ++ ++ //////////////////////////////////////// ++ // file system types ++ //////////////////////////////////////// ++ enum FSType ++ { ++ FS_UFS = 0, ++ FS_NFS, ++ FS_HSFS, ++ FS_PCFS ++ }; ++ ++ /////////////////////////////////////////////////////////////// ++ // MEMBER FUNCTIONS ++ /////////////////////////////////////////////////////////////// ++ public: ++ cUnixFSServices(); ++ virtual ~cUnixFSServices(); ++ ++ ++ //////////////////////////////////////// ++ // platform specific functions ++ //////////////////////////////////////// ++ virtual bool IsCaseSensitive() const; ++ // returns true if the file system is case sensitive ++ virtual TCHAR* GetStandardBackupExtension() const; ++ // returns normal string to append to backup files for this os. ++ // (e.g. "~" for unix and ".bak" for winos) ++ virtual TCHAR GetPathSeperator() const; ++ ++ //////////////////////////////////////// ++ // process functions ++ //////////////////////////////////////// ++ virtual void Sleep( int nSeconds ) const; ++ // makes the current process sleep for the specified number of seconds ++ ++ //////////////////////////////////////// ++ // major filesystem functions ++ //////////////////////////////////////// ++ virtual void Stat( const TSTRING& strFileName, cFSStatArgs& pStat ) const throw( eFSServices ); ++ // fills out the cFSStatArgs structure with the stat info for the named file ++ ++ virtual void GetTempDirName( TSTRING& strName ) const throw( eFSServices ); ++ // makes directory if it doesn't exist already. Dirname will end with a delimiter ( '/' ) ++ ++ virtual void SetTempDirName(TSTRING& tmpName); ++ // set the default dir name which GetTempDirName will use... ++ ++ virtual TSTRING& MakeTempFilename( TSTRING& strName ) const throw( eFSServices ); ++ // create temporary file ++ // strName must have the form ("baseXXXXXX"), where the X's are replaced with ++ // characters to make it a unique file. There must be at least 6 Xs. ++ ++ // TODO: remove this function ++ // Matt theorized that this is no longer used - dmb Aug 23 1999 ++ //virtual int CreateLockedTemporaryFile( const TCHAR* szFilename, int perm ) const; ++ ++ ++ //////////////////////////////////////// ++ // minor filesystem functions ++ //////////////////////////////////////// ++ virtual void GetHostID( TSTRING& name ) const; ++ ++ virtual void GetMachineName( TSTRING& name) const throw(eFSServices); ++ ++ virtual void GetMachineNameFullyQualified( TSTRING& name ) const; ++ ++ virtual bool GetCurrentUserName( TSTRING& tstrName ) const; ++ ++ virtual bool GetIPAddress( uint32& uiIPAddress ); ++ ++ ++ //////////////////////////////////////// ++ // directory specific functions ++ //////////////////////////////////////// ++ virtual void ReadDir( const TSTRING& strName, std::vector &vDirContents, bool bFullPaths = true ) const throw( eFSServices ); ++ // puts the contents of the specified directory, except for . and .., into the supplied vector. ++ virtual void GetCurrentDir( TSTRING& strCurDir ) const throw( eFSServices ); ++ // returns the current working directory ++ virtual void ChangeDir( const TSTRING& strName ) const throw( eFSServices ); ++ // sets the current working directory ++ virtual void Mkdir( const TSTRING& strName ) const throw( eFSServices ); ++ ++ virtual bool Rmdir( const TSTRING& strName ) const; ++ ++ ++ //////////////////////////////////////// ++ // file specific functions ++ //////////////////////////////////////// ++ virtual bool FileDelete( const TSTRING& name ) const; ++ ++ ++ //////////////////////////////////////// ++ // directory and file functions ++ //////////////////////////////////////// ++ virtual bool Rename( const TSTRING& strOldName, const TSTRING& strNewName, bool fOverWrite = true ) const; ++ // rename a file ++ virtual bool GetOwnerForFile( const TSTRING& tstrFilename, TSTRING& tstrUser ) const; ++ ++ virtual bool GetGroupForFile( const TSTRING& tstrFilename, TSTRING& tstrGroup ) const; ++ ++ ++ //////////////////////////////////////// ++ // miscellaneous utility functions ++ //////////////////////////////////////// ++ virtual void ConvertModeToString( uint64 perm, TSTRING& tstrPerm ) const; ++ // takes a int64 permission (from stat) and changes it to look like UNIX's 'ls -l' (e.g. drwxrwxrwx) ++ virtual bool FullPath( TSTRING& fullPath, const TSTRING& relPath, const TSTRING& pathRelFrom = _T("") ) const; ++ // converts relPath into a fully qualified path, storing it in FullPath. If this ++ // fails, false is returned. if the path to which relPath is relative is not CWD, put it in pathRelFrom. ++ virtual bool GetExecutableFilename( TSTRING& strFullPath, const TSTRING& strFilename ) const; ++ // get the path to the current executable file ++ virtual bool IsRoot( const TSTRING& strPath ) const; ++ // returns true if strPath is all '/'s ++ ++ //////////////////////////////////////// ++ // error functions ++ //////////////////////////////////////// ++ virtual TSTRING GetErrString() const; ++ ++ private: ++ UnixSysInfo info; ++ //struct stores pertinent system info. to be used by member functions ++ ++ TSTRING mTempPath; ++ ++}; ++ ++#endif //__UNIXFSSERVICES_H ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/unixfsservices_t.cpp tripwire-2.3.1-2/src/core/unixfsservices_t.cpp +--- tripwire-2.3.1-2.old/src/core/unixfsservices_t.cpp Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/core/unixfsservices_t.cpp Mon Feb 19 16:20:24 2001 +@@ -0,0 +1,208 @@ ++// ++// The developer of the original code and/or files is Tripwire, Inc. ++// Portions created by Tripwire, Inc. are copyright (C) 2000 Tripwire, ++// Inc. Tripwire is a registered trademark of Tripwire, Inc. All rights ++// reserved. ++// ++// This program is free software. The contents of this file are subject ++// to the terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 2 of the License, or (at your ++// option) any later version. You may redistribute it and/or modify it ++// only in compliance with the GNU General Public License. ++// ++// This program is distributed in the hope that it will be useful. ++// However, this program is distributed AS-IS WITHOUT ANY ++// WARRANTY; INCLUDING THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS ++// FOR A PARTICULAR PURPOSE. Please see the GNU General Public License ++// for more details. ++// ++// You should have received a copy of the GNU General Public License ++// along with this program; if not, write to the Free Software ++// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, ++// USA. ++// ++// Nothing in the GNU General Public License or any other license to use ++// the code or files shall permit you to use Tripwire's trademarks, ++// service marks, or other intellectual property without Tripwire's ++// prior written consent. ++// ++// If you have any questions, please contact Tripwire, Inc. at either ++// info@tripwire.org or www.tripwire.org. ++// ++// unixfsservices_t.cpp: Tests cUnixFSServices ++ ++//#include ++#include "core/stdcore.h" ++#include "unixfsservices.h" ++#include ++#include "core/archive.h" ++#include "fco/fconame.h" ++ ++#if IS_UNIX ++ ++#ifndef __TEST_H ++#include "test/test.h" ++#endif ++ ++using namespace std; ++ ++//Tests the functions that are currently implemented in win32fsservices. ++void TestUnixFSServices() ++{ ++ cDebug d("TestUnixFSServices"); ++ // d.RemoveOutTarget(cDebug::OUT_STDOUT); ++ ++ try ++ { ++ iFSServices* pFSServices = iFSServices::GetInstance(); ++ ++ // working primarily with the temp dir. ++ cFCOName name(_T("/tmp")); // dies here ++ ++ // Check to make sure /tmp is a dir ++ //TEST(pFSServices->GetFileType(name) == cFSStatArgs::TY_DIR); ++ ++ // get directory contents (test readdir) ++ std::vector v; ++ pFSServices->ReadDir(name.AsString(), v); ++ ++ { ++ d.TraceDebug("name: %d entries\n", v.size()); ++ ++ std::vector ::iterator p; ++ int n = 0; ++ for (p = v.begin(); p != v.end(); p++) { ++ d.TraceDetail(" %s\n", p->c_str()); ++ n++; ++ } ++ ++ TEST(n == v.size()); ++ } ++ ++ //Test the Stat method ++ cFSStatArgs stat; ++ ++ //TO DO: use archive to create this file ++ TSTRING testfile = "/tmp/tmp.tmp"; ++ cFileArchive filearch; ++ filearch.OpenReadWrite(testfile.c_str()); ++ filearch.Seek(0, cBidirArchive::BEGINNING); ++ filearch.WriteString(_T("This is a test")); ++ filearch.Close(); ++ ++ pFSServices->Stat(testfile, stat); ++ ++ //print out the information returned by Stat ++ d.TraceDetail("Information returned by Stat: \n"); ++ d.TraceDetail("Group ID : %-5d \n", stat.gid); ++ //d.TraceDetail("Last access time: %d \n", stat.atime); ++ d.TraceDetail("Last inode change: %d \n", stat.ctime); ++ d.TraceDetail("Last modified: %d \n", stat.mtime); ++ d.TraceDetail("Major/minor device nums: %d \n", stat.dev); ++ d.TraceDetail("Inode # of file : %d \n", stat.ino); ++ d.TraceDetail("Mode bits: %d \n", stat.mode); ++ d.TraceDetail("Num links: %d \n", stat.nlink); ++ d.TraceDetail("Major/minor dev if special: %d \n", stat.rdev); ++ d.TraceDetail("File size: %d \n", stat.size); ++ d.TraceDetail("User ID: %d \n", stat.uid); ++ ++ //Test GetCurrentDir: ++ TSTRING currpath; ++ pFSServices->GetCurrentDir(currpath); ++ d.TraceDetail("GetCurrentDir returned %s\n", currpath.c_str()); ++ //TEST(currpath == _T("~")); ++ //they should both be ~!! ++ ++ //Test MakeTempFilename ++ TSTRING _template(_T("twtempXXXXXX")); ++ pFSServices->MakeTempFilename(_template); ++ d.TraceDetail("Testing MakeTempFilename: \n"); ++ d.TraceDetail("%s \n", _template.c_str() ); ++ ++ //Test ChangeDir ++ d.TraceDetail("Testing ChangeDir: (should be /usr)\n"); ++ TSTRING newdir(_T("/usr")); ++ pFSServices->ChangeDir(newdir); ++ pFSServices->GetCurrentDir(currpath); ++ d.TraceDetail("%s \n", currpath.c_str() ); ++ //Did we get there?? ++ ++ //Test Mkdir: ++ d.TraceDetail("Testing Mkdir: \n"); ++ TSTRING makedir(_T("/tmp/tw_mkdir")); ++ pFSServices->Mkdir(makedir); // throws on error ++ ++ //Test Rmdir ++ d.TraceDetail("Testing Rmdir:\n"); ++ TEST( pFSServices->Rmdir(makedir) ); ++ ++ // Test GetMachineName ++ d.TraceDetail("Testing GetMachineName:\n"); ++ TSTRING uname; ++ pFSServices->GetMachineName(uname); ++ d.TraceDetail("GetMachineName returned: %s\n", uname.c_str()); ++ ++ // Test GetHostID ++ d.TraceDetail("Testing GetHostID:\n"); ++ TSTRING hostid; ++ pFSServices->GetHostID(hostid); ++ d.TraceDetail("GetHostID returned: %s\n", hostid.c_str()); ++ ++ // Test GetCurrentUserName ++ d.TraceDetail("Testing GetCurrentUserName:\n"); ++ TSTRING username; ++ TEST( pFSServices->GetCurrentUserName(username) ); ++ d.TraceDetail("GetCurrentUserName returned: %s\n", username.c_str()); ++ ++ // Test GetIPAddress ++ d.TraceDetail("Testing GetIPAddress:\n"); ++ uint32 *ipaddr; ++ TEST( pFSServices->GetIPAddress( *ipaddr ) ); ++ d.TraceDetail("GetIPAddress returned: %d\n", ipaddr); ++ ++ // test GetExecutableFilename ++ d.TraceDetail("Testing GetExecutableFilename: \n"); ++ TSTRING filename = _T("sh"); ++ TSTRING fullpath = _T("/bin/"); ++ TEST(pFSServices->GetExecutableFilename(fullpath, filename)); ++ filename = _T("/bin/sh"); ++ TEST(pFSServices->GetExecutableFilename(fullpath, filename)); ++ ++ // test Rename ++ d.TraceDetail("Testing Rename:\n"); ++ TSTRING newtestfile = _T("/tmp/new.tmp"); ++ TEST( pFSServices->Rename( testfile, newtestfile ) ); ++ ++ // test GetOwnerForFile ++ d.TraceDetail("Testing GetOwnerForFile:\n"); ++ TSTRING ownername; ++ TEST( pFSServices->GetOwnerForFile( newtestfile, ownername ) ); ++ d.TraceDetail("GetOwnerForFile returned owner %s.\n", ownername.c_str()); ++ ++ // test GetGroupForFile ++ d.TraceDetail("Testing GetGroupForFile:\n"); ++ TSTRING groupname; ++ TEST( pFSServices->GetGroupForFile( newtestfile, groupname ) ); ++ d.TraceDetail("GetGroupForFile returned group %s.\n", groupname.c_str()); ++ ++ // test FileDelete ++ d.TraceDetail("Testing FileDelete:\n"); ++ TEST( pFSServices->FileDelete( newtestfile ) ); ++ ++ ++ ++ }//end try block ++ catch (eError& e) ++ { ++ d.TraceError("Exception caught: %s\n", e.GetMsg()); ++ } ++ ++} ++#endif // IS_UNIX ++ ++ ++ ++ ++ ++ ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/usernotify.h tripwire-2.3.1-2/src/core/usernotify.h +--- tripwire-2.3.1-2.old/src/core/usernotify.h Fri Oct 27 18:15:20 2000 ++++ tripwire-2.3.1-2/src/core/usernotify.h Sun Mar 18 01:40:49 2001 +@@ -39,7 +39,9 @@ + #ifndef __DEBUG_H + #include "debug.h" + #endif ++#ifndef va_start + #include ++#endif + + class iUserNotify + { +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/usernotifystdout.h tripwire-2.3.1-2/src/core/usernotifystdout.h +--- tripwire-2.3.1-2.old/src/core/usernotifystdout.h Fri Oct 27 18:15:20 2000 ++++ tripwire-2.3.1-2/src/core/usernotifystdout.h Wed Aug 14 14:27:11 2002 +@@ -49,5 +49,5 @@ + // at or above iUserNotify::V_VERBOSE go to stderr instead of stdout + }; + +-#endif __USERNOTIFYSTDOUT_H ++#endif /* __USERNOTIFYSTDOUT_H */ + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/wchar16.cpp tripwire-2.3.1-2/src/core/wchar16.cpp +--- tripwire-2.3.1-2.old/src/core/wchar16.cpp Fri Oct 27 18:15:20 2000 ++++ tripwire-2.3.1-2/src/core/wchar16.cpp Sun Mar 18 04:16:36 2001 +@@ -75,8 +75,8 @@ + void CopyString(const wc16_string_impl& rhs); + // note: does not alter this->referenceCount, and ASSERTs that refcount == 1 + +-private: + ~wc16_string_impl(); // call Release() to delete ++private: + void operator = (const wc16_string_impl& rhs) { return; } // don't call + }; + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/cryptlib/Makefile.am tripwire-2.3.1-2/src/cryptlib/Makefile.am +--- tripwire-2.3.1-2.old/src/cryptlib/Makefile.am Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/cryptlib/Makefile.am Sat Jun 7 00:01:26 2003 +@@ -0,0 +1,25 @@ ++AUTOMAKE_OPTIONS = foreign no-dependencies ++ ++INCLUDES = -I.. -I../.. @STLPORT_INCLUDE@ ++ ++# we need this, because we do not want -I. on systems that have ++# a real iosfwd & iostream ++if OSHASIOSTREAM ++D_INCLUDES = ++else ++D_INCLUDES = -I. ++endif ++DEFAULT_INCLUDES = $(D_INCLUDES) ++ ++noinst_LIBRARIES = libcryptlib.a ++libcryptlib_a_SOURCES = \ ++ algebra.cpp asn.cpp cryptlib.cpp des.cpp dessp.cpp elgamal.cpp \ ++ eprecomp.cpp filters.cpp forkjoin.cpp integer.cpp iterhash.cpp misc.cpp \ ++ nbtheory.cpp pch.cpp queue.cpp rng.cpp sha.cpp zbits.cpp zdeflate.cpp \ ++ zinflate.cpp ztrees.cpp ++ ++DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit ++CLEANFILES = ../../lib/libcryptlib.a ++ ++all: $(noinst_LIBRARIES) ++ ln -f $(noinst_LIBRARIES) ../../lib/libcryptlib.a +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/cryptlib/Makefile.in tripwire-2.3.1-2/src/cryptlib/Makefile.in +--- tripwire-2.3.1-2.old/src/cryptlib/Makefile.in Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/cryptlib/Makefile.in Mon Sep 22 09:40:55 2003 +@@ -0,0 +1,303 @@ ++# Makefile.in generated automatically by automake 1.5 from Makefile.am. ++ ++# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 ++# Free Software Foundation, Inc. ++# This Makefile.in is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without ++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A ++# PARTICULAR PURPOSE. ++ ++@SET_MAKE@ ++ ++SHELL = @SHELL@ ++ ++srcdir = @srcdir@ ++top_srcdir = @top_srcdir@ ++VPATH = @srcdir@ ++prefix = @prefix@ ++exec_prefix = @exec_prefix@ ++ ++bindir = @bindir@ ++sbindir = @sbindir@ ++libexecdir = @libexecdir@ ++datadir = @datadir@ ++sysconfdir = @sysconfdir@ ++sharedstatedir = @sharedstatedir@ ++localstatedir = @localstatedir@ ++libdir = @libdir@ ++infodir = @infodir@ ++mandir = @mandir@ ++includedir = @includedir@ ++oldincludedir = /usr/include ++pkgdatadir = $(datadir)/@PACKAGE@ ++pkglibdir = $(libdir)/@PACKAGE@ ++pkgincludedir = $(includedir)/@PACKAGE@ ++top_builddir = ../.. ++ ++ACLOCAL = @ACLOCAL@ ++AUTOCONF = @AUTOCONF@ ++AUTOMAKE = @AUTOMAKE@ ++AUTOHEADER = @AUTOHEADER@ ++ ++INSTALL = @INSTALL@ ++INSTALL_PROGRAM = @INSTALL_PROGRAM@ ++INSTALL_DATA = @INSTALL_DATA@ ++INSTALL_SCRIPT = @INSTALL_SCRIPT@ ++INSTALL_HEADER = $(INSTALL_DATA) ++transform = @program_transform_name@ ++NORMAL_INSTALL = : ++PRE_INSTALL = : ++POST_INSTALL = : ++NORMAL_UNINSTALL = : ++PRE_UNINSTALL = : ++POST_UNINSTALL = : ++AMTAR = @AMTAR@ ++AWK = @AWK@ ++CC = @CC@ ++CORE_CRYPT_O = @CORE_CRYPT_O@ ++CXX = @CXX@ ++DEPDIR = @DEPDIR@ ++EXEEXT = @EXEEXT@ ++GMAKE = @GMAKE@ ++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ ++OBJEXT = @OBJEXT@ ++PACKAGE = @PACKAGE@ ++RANLIB = @RANLIB@ ++STLPORT_INCLUDE = @STLPORT_INCLUDE@ ++STLPORT_LD = @STLPORT_LD@ ++STLPORT_LIBRARY = @STLPORT_LIBRARY@ ++STLPORT_MAKEFILE = @STLPORT_MAKEFILE@ ++STLPORT_SUBDIR = @STLPORT_SUBDIR@ ++SYSPRE = @SYSPRE@ ++VERSION = @VERSION@ ++YACC = @YACC@ ++am__include = @am__include@ ++am__quote = @am__quote@ ++install_sh = @install_sh@ ++path_to_sendmail = @path_to_sendmail@ ++path_to_vi = @path_to_vi@ ++ ++AUTOMAKE_OPTIONS = foreign no-dependencies ++ ++INCLUDES = -I.. -I../.. @STLPORT_INCLUDE@ ++ ++# we need this, because we do not want -I. on systems that have ++# a real iosfwd & iostream ++@OSHASIOSTREAM_TRUE@D_INCLUDES = ++@OSHASIOSTREAM_FALSE@D_INCLUDES = -I. ++DEFAULT_INCLUDES = $(D_INCLUDES) ++ ++noinst_LIBRARIES = libcryptlib.a ++libcryptlib_a_SOURCES = \ ++ algebra.cpp asn.cpp cryptlib.cpp des.cpp dessp.cpp elgamal.cpp \ ++ eprecomp.cpp filters.cpp forkjoin.cpp integer.cpp iterhash.cpp misc.cpp \ ++ nbtheory.cpp pch.cpp queue.cpp rng.cpp sha.cpp zbits.cpp zdeflate.cpp \ ++ zinflate.cpp ztrees.cpp ++ ++ ++DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit ++CLEANFILES = ../../lib/libcryptlib.a ++subdir = src/cryptlib ++mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs ++CONFIG_HEADER = $(top_builddir)/config.h ++CONFIG_CLEAN_FILES = ++LIBRARIES = $(noinst_LIBRARIES) ++ ++libcryptlib_a_AR = $(AR) cru ++libcryptlib_a_LIBADD = ++am_libcryptlib_a_OBJECTS = algebra.$(OBJEXT) asn.$(OBJEXT) \ ++ cryptlib.$(OBJEXT) des.$(OBJEXT) dessp.$(OBJEXT) \ ++ elgamal.$(OBJEXT) eprecomp.$(OBJEXT) filters.$(OBJEXT) \ ++ forkjoin.$(OBJEXT) integer.$(OBJEXT) iterhash.$(OBJEXT) \ ++ misc.$(OBJEXT) nbtheory.$(OBJEXT) pch.$(OBJEXT) queue.$(OBJEXT) \ ++ rng.$(OBJEXT) sha.$(OBJEXT) zbits.$(OBJEXT) zdeflate.$(OBJEXT) \ ++ zinflate.$(OBJEXT) ztrees.$(OBJEXT) ++libcryptlib_a_OBJECTS = $(am_libcryptlib_a_OBJECTS) ++CPPFLAGS = @CPPFLAGS@ ++LDFLAGS = @LDFLAGS@ ++LIBS = @LIBS@ ++depcomp = ++CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) ++CXXLD = $(CXX) ++CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ ++ -o $@ ++CXXFLAGS = @CXXFLAGS@ ++DIST_SOURCES = $(libcryptlib_a_SOURCES) ++DIST_COMMON = Makefile.am Makefile.in ++SOURCES = $(libcryptlib_a_SOURCES) ++ ++all: all-am ++ ++.SUFFIXES: ++.SUFFIXES: .cpp .o .obj ++$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) ++ cd $(top_srcdir) && \ ++ $(AUTOMAKE) --foreign src/cryptlib/Makefile ++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status ++ cd $(top_builddir) && \ ++ CONFIG_HEADERS= CONFIG_LINKS= \ ++ CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status ++ ++AR = ar ++ ++clean-noinstLIBRARIES: ++ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) ++libcryptlib.a: $(libcryptlib_a_OBJECTS) $(libcryptlib_a_DEPENDENCIES) ++ -rm -f libcryptlib.a ++ $(libcryptlib_a_AR) libcryptlib.a $(libcryptlib_a_OBJECTS) $(libcryptlib_a_LIBADD) ++ $(RANLIB) libcryptlib.a ++ ++mostlyclean-compile: ++ -rm -f *.$(OBJEXT) core *.core ++ ++distclean-compile: ++ -rm -f *.tab.c ++ ++.cpp.o: ++ $(CXXCOMPILE) -c -o $@ $< ++ ++.cpp.obj: ++ $(CXXCOMPILE) -c -o $@ `cygpath -w $<` ++uninstall-info-am: ++ ++tags: TAGS ++ ++ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ++ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ mkid -fID $$unique $(LISP) ++ ++TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ ++ $(TAGS_FILES) $(LISP) ++ tags=; \ ++ here=`pwd`; \ ++ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ ++ || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) ++ ++GTAGS: ++ here=`CDPATH=: && cd $(top_builddir) && pwd` \ ++ && cd $(top_srcdir) \ ++ && gtags -i $(GTAGS_ARGS) $$here ++ ++distclean-tags: ++ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH ++ ++DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ++ ++top_distdir = ../.. ++distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) ++ ++distdir: $(DISTFILES) ++ @for file in $(DISTFILES); do \ ++ if test -f $$file; then d=.; else d=$(srcdir); fi; \ ++ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ ++ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ ++ $(mkinstalldirs) "$(distdir)/$$dir"; \ ++ fi; \ ++ if test -d $$d/$$file; then \ ++ cp -pR $$d/$$file $(distdir) \ ++ || exit 1; \ ++ else \ ++ test -f $(distdir)/$$file \ ++ || cp -p $$d/$$file $(distdir)/$$file \ ++ || exit 1; \ ++ fi; \ ++ done ++check-am: all-am ++check: check-am ++all-am: Makefile $(LIBRARIES) ++ ++installdirs: ++ ++install: install-am ++install-exec: install-exec-am ++install-data: install-data-am ++uninstall: uninstall-am ++ ++install-am: all-am ++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am ++ ++installcheck: installcheck-am ++install-strip: ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ `test -z '$(STRIP)' || \ ++ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install ++mostlyclean-generic: ++ ++clean-generic: ++ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) ++ ++distclean-generic: ++ -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* ++ ++maintainer-clean-generic: ++ @echo "This command is intended for maintainers to use" ++ @echo "it deletes files that may require special tools to rebuild." ++clean: clean-am ++ ++clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am ++ ++distclean: distclean-am ++ ++distclean-am: clean-am distclean-compile distclean-generic \ ++ distclean-tags ++ ++dvi: dvi-am ++ ++dvi-am: ++ ++info: info-am ++ ++info-am: ++ ++install-data-am: ++ ++install-exec-am: ++ ++install-info: install-info-am ++ ++install-man: ++ ++installcheck-am: ++ ++maintainer-clean: maintainer-clean-am ++ ++maintainer-clean-am: distclean-am maintainer-clean-generic ++ ++mostlyclean: mostlyclean-am ++ ++mostlyclean-am: mostlyclean-compile mostlyclean-generic ++ ++uninstall-am: uninstall-info-am ++ ++.PHONY: GTAGS all all-am check check-am clean clean-generic \ ++ clean-noinstLIBRARIES distclean distclean-compile \ ++ distclean-generic distclean-tags distdir dvi dvi-am info \ ++ info-am install install-am install-data install-data-am \ ++ install-exec install-exec-am install-info install-info-am \ ++ install-man install-strip installcheck installcheck-am \ ++ installdirs maintainer-clean maintainer-clean-generic \ ++ mostlyclean mostlyclean-compile mostlyclean-generic tags \ ++ uninstall uninstall-am uninstall-info-am ++ ++ ++all: $(noinst_LIBRARIES) ++ ln -f $(noinst_LIBRARIES) ../../lib/libcryptlib.a ++# Tell versions [3.59,3.63) of GNU make to not export all variables. ++# Otherwise a system limit (for SysV at least) may be exceeded. ++.NOEXPORT: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/cryptlib/algebra.cpp tripwire-2.3.1-2/src/cryptlib/algebra.cpp +--- tripwire-2.3.1-2.old/src/cryptlib/algebra.cpp Fri Oct 27 17:26:20 2000 ++++ tripwire-2.3.1-2/src/cryptlib/algebra.cpp Wed Jun 18 22:29:39 2003 +@@ -1,6 +1,6 @@ + // algebra.cpp - written and placed in the public domain by Wei Dai + + #include "pch.h" +-#include "algebra.h" + #include "integer.h" ++#include "algebra.h" + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/cryptlib/algebra.h tripwire-2.3.1-2/src/cryptlib/algebra.h +--- tripwire-2.3.1-2.old/src/cryptlib/algebra.h Fri Oct 27 17:26:20 2000 ++++ tripwire-2.3.1-2/src/cryptlib/algebra.h Sat Sep 6 10:44:25 2003 +@@ -45,15 +45,17 @@ + + // VC50 workaround: no member template support yet + template Element GeneralCascadeMultiplication(const AbstractGroup &group, Iterator begin, Iterator end); ++#if defined(BREAK_GCC34) + template Element GeneralCascadeExponentiation(const AbstractRing &ring, Iterator begin, Iterator end); ++#endif /* BREAK_GCC34 */ + + // ******************************************************** + + template class AbstractField : public AbstractRing + { + public: +- bool IsUnit(const Element &a) const +- {return !Equal(a, Zero());} ++ bool IsUnit(const typename T::Element &a) const ++ {return !Equal(a, this->Zero());} + }; + + template class AbstractEuclideanDomain : public AbstractRing +@@ -80,28 +82,28 @@ + const Ring & GetRing() const + {return m_ring;} + +- bool Equal(const Element &a, const Element &b) const ++ bool Equal(const typename T::Element &a, const typename T::Element &b) const + {return m_ring.Equal(a, b);} + +- Element Zero() const ++ typename T::Element Zero() const + {return m_ring.One();} + +- Element Add(const Element &a, const Element &b) const ++ typename T::Element Add(const typename T::Element &a, const typename T::Element &b) const + {return m_ring.Multiply(a, b);} + +- Element& Accumulate(Element &a, const Element &b) const ++ typename T::Element& Accumulate(typename T::Element &a, const typename T::Element &b) const + {return a = m_ring.Multiply(a, b);} + +- Element Inverse(const Element &a) const ++ typename T::Element Inverse(const typename T::Element &a) const + {return m_ring.MultiplicativeInverse(a);} + +- Element Subtract(const Element &a, const Element &b) const ++ typename T::Element Subtract(const typename T::Element &a, const typename T::Element &b) const + {return m_ring.Divide(a, b);} + +- Element& Reduce(Element &a, const Element &b) const ++ typename T::Element& Reduce(typename T::Element &a, const typename T::Element &b) const + {return a = m_ring.Divide(a, b);} + +- Element Double(const Element &a) const ++ typename T::Element Double(const typename T::Element &a) const + {return m_ring.Square(a);} + + protected: +@@ -111,6 +113,8 @@ + template class EuclideanDomainOf : public AbstractEuclideanDomain + { + public: ++ typedef T Element; ++ + EuclideanDomainOf() {} + + bool Equal(const Element &a, const Element &b) const +@@ -167,56 +171,56 @@ + public: + typedef T EuclideanDomain; + +- QuotientRing(const EuclideanDomain &domain, const Element &modulus) ++ QuotientRing(const EuclideanDomain &domain, const typename T::Element &modulus) + : m_domain(domain), m_modulus(modulus) {} + + const EuclideanDomain & GetDomain() const + {return m_domain;} + +- const Element & GetModulus() const ++ const typename T::Element & GetModulus() const + {return m_modulus;} + +- bool Equal(const Element &a, const Element &b) const ++ bool Equal(const typename T::Element &a, const typename T::Element &b) const + {return m_domain.Equal(m_domain.Mod(m_domain.Subtract(a, b), m_modulus), m_domain.Zero());} + +- Element Zero() const ++ typename T::Element Zero() const + {return m_domain.Zero();} + +- Element Add(const Element &a, const Element &b) const ++ typename T::Element Add(const typename T::Element &a, const typename T::Element &b) const + {return m_domain.Add(a, b);} + +- Element& Accumulate(Element &a, const Element &b) const ++ typename T::Element& Accumulate(typename T::Element &a, const typename T::Element &b) const + {return m_domain.Accumulate(a, b);} + +- Element Inverse(const Element &a) const ++ typename T::Element Inverse(const typename T::Element &a) const + {return m_domain.Inverse(a);} + +- Element Subtract(const Element &a, const Element &b) const ++ typename T::Element Subtract(const typename T::Element &a, const typename T::Element &b) const + {return m_domain.Subtract(a, b);} + +- Element& Reduce(Element &a, const Element &b) const ++ typename T::Element& Reduce(typename T::Element &a, const typename T::Element &b) const + {return m_domain.Reduce(a, b);} + +- Element Double(const Element &a) const ++ typename T::Element Double(const typename T::Element &a) const + {return m_domain.Double(a);} + +- bool IsUnit(const Element &a) const ++ bool IsUnit(const typename T::Element &a) const + {return m_domain.IsUnit(m_domain.Gcd(a, m_modulus));} + +- Element One() const ++ typename T::Element One() const + {return m_domain.One();} + +- Element Multiply(const Element &a, const Element &b) const ++ typename T::Element Multiply(const typename T::Element &a, const typename T::Element &b) const + {return m_domain.Mod(m_domain.Multiply(a, b), m_modulus);} + +- Element Square(const Element &a) const ++ typename T::Element Square(const typename T::Element &a) const + {return m_domain.Mod(m_domain.Square(a), m_modulus);} + +- Element MultiplicativeInverse(const Element &a) const; ++ typename QuotientRing::Element MultiplicativeInverse(const typename T::Element &a) const; + + protected: + const EuclideanDomain &m_domain; +- Element m_modulus; ++ typename T::Element m_modulus; + }; + + /////////////////////////////////////////////////////////////////////////////// +@@ -269,7 +273,7 @@ + Element g[3]={b, a}; + unsigned int i0=0, i1=1, i2=2; + +- while (!Equal(g[i1], Zero())) ++ while (!Equal(g[i1], this->Zero())) + { + g[i2] = Mod(g[i0], g[i1]); + unsigned int t = i0; i0 = i1; i1 = i2; i2 = t; +@@ -278,11 +282,11 @@ + return g[i0]; + } + +-template QuotientRing::Element QuotientRing::MultiplicativeInverse(const Element &a) const ++template typename QuotientRing::Element QuotientRing::MultiplicativeInverse(const typename T::Element &a) const + { +- Element g[3]={m_modulus, a}; +- Element v[3]={m_domain.Zero(), m_domain.One()}; +- Element y; ++ typename T::Element g[3]={m_modulus, a}; ++ typename T::Element v[3]={m_domain.Zero(), m_domain.One()}; ++ typename T::Element y; + unsigned int i0=0, i1=1, i2=2; + + while (!Equal(g[i1], Zero())) +@@ -300,7 +304,7 @@ + + template T AbstractGroup::IntMultiply(const Element &base, const Integer &exponent) const + { +- unsigned expLen = exponent.BitCount(); ++ unsigned int expLen = exponent.BitCount(); + if (expLen==0) + return Zero(); + +@@ -474,10 +478,12 @@ + return MultiplicativeGroup >(*this).CascadeIntMultiply(x, e1, y, e2); + } + ++#if defined(BREAK_GCC34) + template Element GeneralCascadeExponentiation(const AbstractRing &ring, Iterator begin, Iterator end) + { + MultiplicativeGroup > mg(field); + return GeneralCascadeMultiplication(mg, begin, end); + } ++#endif /* BREAK_GCC34 */ + + #endif +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/cryptlib/config.h tripwire-2.3.1-2/src/cryptlib/config.h +--- tripwire-2.3.1-2.old/src/cryptlib/config.h Fri Oct 27 17:26:20 2000 ++++ tripwire-2.3.1-2/src/cryptlib/config.h Wed Sep 10 11:44:43 2003 +@@ -1,10 +1,8 @@ + #ifndef CONFIG_H + #define CONFIG_H + +-// define this if running on a little-endian CPU +- +-#ifdef _LITTLE_ENDIAN +-#define CRYPTOPP_IS_LITTLE_ENDIAN ++#ifdef HAVE_CONFIG_H ++#include + #endif + + // define this if you want the library to throw exceptions when things go wrong +@@ -86,10 +84,12 @@ + + typedef unsigned char byte; + typedef unsigned short word16; +-#if defined(_ALPHA) || (defined(__alpha) && !defined(_MSC_VER)) +-typedef unsigned int word32; +-#else +-typedef unsigned long word32; ++#if SIZEOF_INT == 4 ++ typedef unsigned int word32; ++ #elif SIZEOF_LONG == 4 ++ typedef unsigned long word32; ++ #else ++ #error "I don't seem to have a 32-bit integer type on this system." + #endif + + // word should have the same size as your CPU registers +@@ -141,12 +141,15 @@ + + #elif defined(__GNUC__) + +-typedef unsigned long word; +-typedef unsigned long long dword; +-#define WORD64_AVAILABLE +-typedef unsigned long long word64; +-#define W64LIT(x) x##LL +- ++typedef word32 word; ++#if SIZEOF_LONG_LONG == 8 ++ typedef unsigned long long dword; ++ #define WORD64_AVAILABLE ++ typedef unsigned long long word64; ++ #define W64LIT(x) x##LL ++ #else ++ #error "I don't seem to have a 64-bit integer type on this system." ++#endif + #else + + typedef unsigned int word; +@@ -166,10 +169,10 @@ + #define LOW_WORD(x) (word)(x) + #endif + +-#ifdef CRYPTOPP_IS_LITTLE_ENDIAN +-#define HIGH_WORD(x) (*(((word *)&(x))+1)) +-#else ++#ifdef WORDS_BIGENDIAN + #define HIGH_WORD(x) (*((word *)&(x))) ++#else ++#define HIGH_WORD(x) (*(((word *)&(x))+1)) + #endif + + // if the above HIGH_WORD macro doesn't work (if you are not sure, compile it +Only in tripwire-2.3.1-2.old/src/cryptlib: cryptlib.mak +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/cryptlib/des.cpp tripwire-2.3.1-2/src/cryptlib/des.cpp +--- tripwire-2.3.1-2.old/src/cryptlib/des.cpp Fri Oct 27 17:26:20 2000 ++++ tripwire-2.3.1-2/src/cryptlib/des.cpp Mon Aug 12 19:07:57 2002 +@@ -170,7 +170,7 @@ + byte *const pc1m=buffer; /* place to modify pc1 into */ + byte *const pcr=pc1m+56; /* place to rotate pc1 into */ + byte *const ks=pcr+56; +- register int i,j,l; ++ register unsigned int i,j,l; + int m; + + for (j=0; j<56; j++) { /* convert pc1 to bits of key */ +@@ -315,12 +315,12 @@ + { + word32 l,r,work; + +-#ifdef CRYPTOPP_IS_LITTLE_ENDIAN +- l = byteReverse(*(word32 *)inBlock); +- r = byteReverse(*(word32 *)(inBlock+4)); +-#else ++#ifdef WORDS_BIGENDIAN + l = *(word32 *)inBlock; + r = *(word32 *)(inBlock+4); ++#else ++ l = byteReverse(*(word32 *)inBlock); ++ r = byteReverse(*(word32 *)(inBlock+4)); + #endif + + IPERM(l,r); +@@ -354,12 +354,12 @@ + + FPERM(l,r); + +-#ifdef CRYPTOPP_IS_LITTLE_ENDIAN +- *(word32 *)outBlock = byteReverse(r); +- *(word32 *)(outBlock+4) = byteReverse(l); +-#else ++#ifdef WORDS_BIGENDIAN + *(word32 *)outBlock = r; + *(word32 *)(outBlock+4) = l; ++#else ++ *(word32 *)outBlock = byteReverse(r); ++ *(word32 *)(outBlock+4) = byteReverse(l); + #endif + } + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/cryptlib/eprecomp.cpp tripwire-2.3.1-2/src/cryptlib/eprecomp.cpp +--- tripwire-2.3.1-2.old/src/cryptlib/eprecomp.cpp Fri Oct 27 17:26:20 2000 ++++ tripwire-2.3.1-2/src/cryptlib/eprecomp.cpp Tue Aug 13 14:08:24 2002 +@@ -15,7 +15,7 @@ + g[i] = group.IntMultiply(g[i-1], exponentBase); + } + +-template ExponentiationPrecomputation::Element ExponentiationPrecomputation::Exponentiate(const Integer &exponent) const ++template typename ExponentiationPrecomputation::Element ExponentiationPrecomputation::Exponentiate(const Integer &exponent) const + { + vector > eb(storage); // array of segments of the exponent and precalculated bases + Integer temp, e = exponent; +@@ -33,7 +33,7 @@ + return GeneralCascadeMultiplication(group, eb.begin(), eb.end()); + } + +-template ExponentiationPrecomputation::Element ++template typename ExponentiationPrecomputation::Element + ExponentiationPrecomputation::CascadeExponentiate(const Integer &exponent, + const ExponentiationPrecomputation &pc2, const Integer &exponent2) const + { +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/cryptlib/filters.cpp tripwire-2.3.1-2/src/cryptlib/filters.cpp +--- tripwire-2.3.1-2.old/src/cryptlib/filters.cpp Fri Oct 27 17:26:21 2000 ++++ tripwire-2.3.1-2/src/cryptlib/filters.cpp Thu Jun 19 14:06:25 2003 +@@ -33,7 +33,7 @@ + + BlockFilterBase::BlockFilterBase(BlockTransformation &c, + BufferedTransformation *outQ) +- : cipher(c), S(cipher.BlockSize()), inBuf(S), Filter(outQ) ++ : Filter(outQ), cipher(c), S(cipher.BlockSize()), inBuf(S) + { + inBufSize=0; + } +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/cryptlib/filters.h tripwire-2.3.1-2/src/cryptlib/filters.h +--- tripwire-2.3.1-2.old/src/cryptlib/filters.h Fri Oct 27 17:26:20 2000 ++++ tripwire-2.3.1-2/src/cryptlib/filters.h Thu Jun 19 14:06:25 2003 +@@ -87,7 +87,7 @@ + public: + StreamCipherFilter(StreamCipher &c, + BufferedTransformation *outQueue = NULL) +- : cipher(c), Filter(outQueue) {} ++ : Filter(outQueue), cipher(c) {} + + void Put(byte inByte) + {outQueue->Put(cipher.ProcessByte(inByte));} +@@ -102,7 +102,7 @@ + { + public: + HashFilter(HashModule &hm, BufferedTransformation *outQueue = NULL) +- : hash(hm), Filter(outQueue) {} ++ : Filter(outQueue), hash(hm) {} + + void InputFinished(); + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/cryptlib/forkjoin.cpp tripwire-2.3.1-2/src/cryptlib/forkjoin.cpp +--- tripwire-2.3.1-2.old/src/cryptlib/forkjoin.cpp Fri Oct 27 17:26:20 2000 ++++ tripwire-2.3.1-2/src/cryptlib/forkjoin.cpp Thu Jun 5 12:44:27 2003 +@@ -10,7 +10,7 @@ + { + currentPort = 0; + +- for (int i=0; iClose(); + } + + void Fork::Put(byte inByte) + { +- for (int i=0; iPut(inByte); + } + + void Fork::Put(const byte *inString, unsigned int length) + { +- for (int i=0; iPut(inString, length); + } + +@@ -64,7 +64,7 @@ + interfacesOpen(n), + interfaces(n) + { +- for (int i=0; iWORD_SIZE ? word(value>>WORD_BITS) : 0; ++ reg[(unsigned int)1] = sizeof(value)>WORD_SIZE ? word(value>>WORD_BITS) : 0; + #endif + } + + long Integer::ConvertToLong() const + { +- unsigned long value = reg[0]; ++ unsigned long value = reg[(unsigned int)0]; + #ifndef __GNUC__ + value += sizeof(value)>WORD_SIZE ? ((unsigned long)reg[1]<> (BitPrecision(divisor)-1); +- return dividend.reg[0] & (divisor-1); ++ return dividend.reg[(unsigned int)0] & (divisor-1); + } + + unsigned int i = dividend.WordCount(); +@@ -1967,7 +1967,7 @@ + word remainder; + + if ((divisor & (divisor-1)) == 0) // divisor is a power of 2 +- remainder = dividend.reg[0] & (divisor-1); ++ remainder = dividend.reg[(unsigned int)0] & (divisor-1); + else + { + unsigned int i = dividend.WordCount(); +@@ -2050,7 +2050,7 @@ + + bool Integer::IsUnit() const + { +- return (WordCount() == 1) && (reg[0] == 1); ++ return (WordCount() == 1) && (reg[(unsigned int)0] == 1); + } + + Integer Integer::MultiplicativeInverse() const +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/cryptlib/misc.cpp tripwire-2.3.1-2/src/cryptlib/misc.cpp +--- tripwire-2.3.1-2.old/src/cryptlib/misc.cpp Fri Oct 27 17:26:20 2000 ++++ tripwire-2.3.1-2/src/cryptlib/misc.cpp Thu Jun 5 12:44:27 2003 +@@ -64,7 +64,7 @@ + + unsigned long Crop(unsigned long value, int size) + { +- if (size < 8*sizeof(value)) ++ if (size < 8*(int)sizeof(value)) + return (value & ((1L << size) - 1)); + else + return value; +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/cryptlib/misc.h tripwire-2.3.1-2/src/cryptlib/misc.h +--- tripwire-2.3.1-2.old/src/cryptlib/misc.h Fri Oct 27 17:26:21 2000 ++++ tripwire-2.3.1-2/src/cryptlib/misc.h Sat Jun 7 12:58:47 2003 +@@ -103,10 +103,10 @@ + } + + #ifdef _MSC_VER +- #ifdef CRYPTOPP_IS_LITTLE_ENDIAN +- #define GETBYTE(x, y) (((byte *)&(x))[y]) +- #else ++ #ifdef WORDS_BIGENDIAN + #error MSVC big endian GETBYTE not implemented ++ #else ++ #define GETBYTE(x, y) (((byte *)&(x))[y]) + #endif + #else + #define GETBYTE(x, y) (unsigned int)(((x)>>(8*(y)))&255) +@@ -154,6 +154,10 @@ + T *operator +(unsigned int offset) + {return ptr+offset;} + const T *operator +(unsigned int offset) const ++ {return ptr+offset;} ++ T *operator +(long offset) ++ {return ptr+offset;} ++ const T *operator +(long offset) const + {return ptr+offset;} + T& operator[](unsigned int index) + {assert(indexProcessBlock(randseed, randbuf); + + // compute new seed vector +- for (int i=0; iProcessBlock(randseed); + + randbuf_counter=S; + } +- return(randbuf[--randbuf_counter]); ++ return(randbuf[(unsigned int)--randbuf_counter]); + } + + MaurerRandomnessTest::MaurerRandomnessTest() +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/cryptlib/sha.cpp tripwire-2.3.1-2/src/cryptlib/sha.cpp +--- tripwire-2.3.1-2.old/src/cryptlib/sha.cpp Fri Oct 27 17:26:19 2000 ++++ tripwire-2.3.1-2/src/cryptlib/sha.cpp Mon Aug 12 19:07:57 2002 +@@ -14,20 +14,20 @@ + { + countLo = countHi = 0; + +- digest[0] = 0x67452301L; +- digest[1] = 0xEFCDAB89L; +- digest[2] = 0x98BADCFEL; +- digest[3] = 0x10325476L; +- digest[4] = 0xC3D2E1F0L; ++ digest[(unsigned int)0] = 0x67452301L; ++ digest[(unsigned int)1] = 0xEFCDAB89L; ++ digest[(unsigned int)2] = 0x98BADCFEL; ++ digest[(unsigned int)3] = 0x10325476L; ++ digest[(unsigned int)4] = 0xC3D2E1F0L; + } + + void SHA::HashBlock(const word32 *input) + { +-#ifndef CRYPTOPP_IS_LITTLE_ENDIAN +- Transform(digest, input); +-#else ++#ifndef WORDS_BIGENDIAN + byteReverse(data.ptr, input, (unsigned int)DATASIZE); + Transform(digest, data); ++#else ++ Transform(digest, input); + #endif + } + +@@ -36,8 +36,8 @@ + PadLastBlock(56); + CorrectEndianess(data, data, 56); + +- data[14] = countHi; +- data[15] = countLo; ++ data[(unsigned int)14] = countHi; ++ data[(unsigned int)15] = countLo; + + Transform(digest, data); + CorrectEndianess(digest, digest, DIGESTSIZE); +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/cryptlib/sha.h tripwire-2.3.1-2/src/cryptlib/sha.h +--- tripwire-2.3.1-2.old/src/cryptlib/sha.h Fri Oct 27 17:26:20 2000 ++++ tripwire-2.3.1-2/src/cryptlib/sha.h Wed Mar 7 14:23:39 2001 +@@ -12,11 +12,11 @@ + + static void CorrectEndianess(word32 *out, const word32 *in, unsigned int byteCount) + { +-#ifdef CRYPTOPP_IS_LITTLE_ENDIAN +- byteReverse(out, in, byteCount); +-#else ++#ifdef WORDS_BIGENDIAN + if (in!=out) + memcpy(out, in, byteCount); ++#else ++ byteReverse(out, in, byteCount); + #endif + } + +Only in tripwire-2.3.1-2.old/src/cryptlib: sparc-linux.mak +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/cryptlib/zbits.cpp tripwire-2.3.1-2/src/cryptlib/zbits.cpp +--- tripwire-2.3.1-2.old/src/cryptlib/zbits.cpp Fri Oct 27 17:26:20 2000 ++++ tripwire-2.3.1-2/src/cryptlib/zbits.cpp Fri Jun 6 11:46:52 2003 +@@ -12,7 +12,7 @@ + #include + + #ifdef DEBUG +-ulg bits_sent; /* bit length of the compressed data */ ++unsigned long bits_sent; /* bit length of the compressed data */ + #endif + + // #define putbyte(b) outQ.Put(b) +@@ -30,10 +30,9 @@ + void BitOutput::send_bits(unsigned int value, int length) /* Send a value on a given number of bits. */ + { + #ifdef DEBUG +- Tracevv((stderr," l %2d v %4x ", length, value)); +- Assert(length > 0 && length <= 15, "invalid length"); +- Assert(boffset < 8, "bad offset"); +- bits_sent += (ulg)length; ++ assert(length > 0 && length <= 15); ++ assert(boffset < 8); ++ bits_sent += (unsigned long)length; + #endif + bitbuff |= value << boffset; + if ((boffset += length) >= 8) { +@@ -84,6 +83,6 @@ + } + outQ.Put(buf, len); + #ifdef DEBUG +- bits_sent += (ulg)len<<3; ++ bits_sent += (unsigned long)len<<3; + #endif + } +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/cryptlib/zdeflate.cpp tripwire-2.3.1-2/src/cryptlib/zdeflate.cpp +--- tripwire-2.3.1-2.old/src/cryptlib/zdeflate.cpp Fri Oct 27 17:26:21 2000 ++++ tripwire-2.3.1-2/src/cryptlib/zdeflate.cpp Fri Jun 6 11:46:52 2003 +@@ -325,7 +325,7 @@ + } + #endif /* ASMV */ + +-#ifdef DEBUG ++#if defined(DEBUG) && 0 + /* Check that the match at match_start is indeed a match. */ + static void check_match(start, match, length) + IPos start, match; +@@ -363,7 +363,7 @@ + * move the upper half to the lower one to make room in the upper half. + */ + if (strstart >= (unsigned)WSIZE+MAX_DIST) { +- memcpy(window, window+WSIZE, WSIZE); ++ memcpy(window, window+(unsigned int)WSIZE, WSIZE); + match_start -= WSIZE; + strstart -= WSIZE; /* we now have strstart >= MAX_DIST: */ + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/cryptlib/ztrees.cpp tripwire-2.3.1-2/src/cryptlib/ztrees.cpp +--- tripwire-2.3.1-2.old/src/cryptlib/ztrees.cpp Fri Oct 27 17:26:20 2000 ++++ tripwire-2.3.1-2/src/cryptlib/ztrees.cpp Thu Jun 5 12:44:27 2003 +@@ -81,11 +81,11 @@ + * probability, to avoid transmitting the lengths for unused bit length codes. + */ + +-#define send_code(c, tree) send_bits(tree[c].Code, tree[c].Len) ++#define send_code(c, tree) send_bits(tree[(unsigned int)c].Code, tree[(unsigned int)c].Len) + /* Send a code of the given tree. c and tree must not have side effects */ + + #define d_code(dist) \ +- ((dist) < 256 ? dist_code[dist] : dist_code[256+((dist)>>7)]) ++ ((dist) < 256 ? dist_code[(unsigned int)dist] : dist_code[(unsigned int)(256+((dist)>>7))]) + /* Mapping from a distance to a distance code. dist is the distance - 1 and + * must not have side effects. dist_code[256] and dist_code[257] are never + * used. +@@ -124,10 +124,10 @@ + { + + unsigned int n; /* iterates over tree elements */ +- int bits; /* bit counter */ +- int length; /* length value */ +- register int code; /* code value */ +- int dist; /* distance index */ ++ unsigned int bits; /* bit counter */ ++ unsigned int length; /* length value */ ++ register unsigned int code; /* code value */ ++ unsigned int dist; /* distance index */ + + compressed_len = input_len = 0L; + +@@ -135,7 +135,7 @@ + length = 0; + for (code=0; code < LENGTH_CODES-1; code++) { + base_length[code] = length; +- for (n=0; n < (1<>= 7; /* from now on, all distances are divided by 128 */ + for (; code < D_CODES; code++) { + base_dist[code] = dist << 7; +- for (n=0; n < (1<<(extra_dbits[code]-7)); n++) { ++ for (n=0; n < (1U<<(extra_dbits[code]-7)); n++) { + dist_code[256 + dist++] = (byte)code; + } + } +@@ -168,10 +168,10 @@ + /* Construct the codes of the static literal tree */ + for (bits=0; bits <= MAX_BITS; bits++) bl_count[bits] = 0; + n = 0; +- while (n <= 143) static_ltree[n++].Len = 8, bl_count[8]++; +- while (n <= 255) static_ltree[n++].Len = 9, bl_count[9]++; +- while (n <= 279) static_ltree[n++].Len = 7, bl_count[7]++; +- while (n <= 287) static_ltree[n++].Len = 8, bl_count[8]++; ++ while (n <= 143) static_ltree[n++].Len = 8, bl_count[(unsigned int)8]++; ++ while (n <= 255) static_ltree[n++].Len = 9, bl_count[(unsigned int)9]++; ++ while (n <= 279) static_ltree[n++].Len = 7, bl_count[(unsigned int)7]++; ++ while (n <= 287) static_ltree[n++].Len = 8, bl_count[(unsigned int)8]++; + /* Codes 286 and 287 do not exist, but we must include them in the tree + construction to get a canonical Huffman tree (longest code all ones) */ + gen_codes(static_ltree, L_CODES+1); +@@ -191,14 +191,14 @@ + /* Initialize a new block. */ + void CodeTree::init_block() + { +- register int n; /* iterates over tree elements */ ++ register unsigned int n; /* iterates over tree elements */ + + /* Initialize the trees. */ + for (n=0; n < L_CODES; n++) dyn_ltree[n].Freq = 0; + for (n=0; n < D_CODES; n++) dyn_dtree[n].Freq = 0; + for (n=0; n < BL_CODES; n++) bl_tree[n].Freq = 0; + +- dyn_ltree[END_BLOCK].Freq = 1; ++ dyn_ltree[(unsigned int)END_BLOCK].Freq = 1; + opt_len = static_len = 0L; + last_lit = last_dist = last_flags = 0; + flags = 0; flag_bit = 1; +@@ -213,8 +213,8 @@ + */ + #define pqremove(tree, top) \ + {\ +- top = heap[SMALLEST]; \ +- heap[SMALLEST] = heap[heap_len--]; \ ++ top = heap[(unsigned int)SMALLEST]; \ ++ heap[(unsigned int)SMALLEST] = heap[(unsigned int)heap_len--]; \ + pqdownheap(tree, SMALLEST); \ + } + +@@ -223,8 +223,8 @@ + * the subtrees have equal frequency. This minimizes the worst case length. + */ + #define smaller(tree, n, m) \ +- (tree[n].Freq < tree[m].Freq || \ +- (tree[n].Freq == tree[m].Freq && depth[n] <= depth[m])) ++ (tree[(unsigned int)n].Freq < tree[(unsigned int)m].Freq || \ ++ (tree[(unsigned int)n].Freq == tree[(unsigned int)m].Freq && depth[(unsigned int)n] <= depth[(unsigned int)m])) + + /* + * Restore the heap property by moving down the tree starting at node k, +@@ -234,26 +234,27 @@ + */ + void CodeTree::pqdownheap(ct_data *tree, int k) + { +- int v = heap[k]; +- int j = k << 1; /* left son of k */ ++ unsigned int kk = (unsigned int) k; ++ int v = heap[kk]; ++ unsigned int j = kk << 1; /* left son of k */ + int htemp; /* required because of bug in SASC compiler */ + +- while (j <= heap_len) { ++ while (j <= (unsigned int)heap_len) { + /* Set j to the smallest of the two sons: */ +- if (j < heap_len && smaller(tree, heap[j+1], heap[j])) j++; ++ if (j < (unsigned int)heap_len && smaller(tree, heap[(unsigned int)(j+1)], heap[(unsigned int)j])) j++; + + /* Exit if v is smaller than both sons */ + htemp = heap[j]; + if (smaller(tree, v, htemp)) break; + + /* Exchange v with the smallest son */ +- heap[k] = htemp; ++ heap[(unsigned int)k] = htemp; + k = j; + + /* And continue down the tree, setting j to the left son of k */ + j <<= 1; + } +- heap[k] = v; ++ heap[(unsigned int)k] = v; + } + + /* +@@ -274,9 +275,9 @@ + int max_code = desc->max_code; + int max_length = desc->max_length; + const ct_data *stree = desc->static_tree; +- int h; /* heap index */ ++ unsigned int h; /* heap index */ + int n, m; /* iterate over the tree elements */ +- int bits; /* bit length */ ++ unsigned int bits; /* bit length */ + int xbits; /* extra bits */ + word16 f; /* frequency */ + int overflow = 0; /* number of elements with bit length too large */ +@@ -286,12 +287,12 @@ + /* In a first pass, compute the optimal bit lengths (which may + * overflow in the case of the bit length tree). + */ +- tree[heap[heap_max]].Len = 0; /* root of the heap */ ++ tree[heap[(unsigned int)heap_max]].Len = 0; /* root of the heap */ + + for (h = heap_max+1; h < HEAP_SIZE; h++) { + n = heap[h]; + bits = tree[tree[n].Dad].Len + 1; +- if (bits > max_length) bits = max_length, overflow++; ++ if (bits > (unsigned int)max_length) bits = max_length, overflow++; + tree[n].Len = bits; + /* We overwrite tree[n].Dad which is no longer needed */ + +@@ -315,7 +316,7 @@ + while (bl_count[bits] == 0) bits--; + bl_count[bits]--; /* move one leaf down the tree */ + bl_count[bits+1] += 2; /* move one overflow item as its brother */ +- bl_count[max_length]--; ++ bl_count[(unsigned int)max_length]--; + /* The brother of the overflow item also moves one step up, + * but this does not affect bl_count[max_length] + */ +@@ -354,7 +355,7 @@ + { + word16 next_code[MAX_BITS+1]; /* next code value for each bit length */ + word16 code = 0; /* running code value */ +- int bits; /* bit index */ ++ unsigned int bits; /* bit index */ + int n; /* code index */ + + /* The distribution counts are first used to generate the code values +@@ -405,8 +406,8 @@ + + for (n = 0; n < elems; n++) { + if (tree[n].Freq != 0) { +- heap[++heap_len] = max_code = n; +- depth[n] = 0; ++ heap[(unsigned int)++heap_len] = max_code = n; ++ depth[(unsigned int)n] = 0; + } else { + tree[n].Len = 0; + } +@@ -418,9 +419,9 @@ + * two codes of non zero frequency. + */ + while (heap_len < 2) { +- int _new = heap[++heap_len] = (max_code < 2 ? ++max_code : 0); ++ int _new = heap[(unsigned int)++heap_len] = (max_code < 2 ? ++max_code : 0); + tree[_new].Freq = 1; +- depth[_new] = 0; ++ depth[(unsigned int)_new] = 0; + opt_len--; if (stree) static_len -= stree[_new].Len; + /* new is 0 or 1 so it does not have extra bits */ + } +@@ -436,14 +437,14 @@ + */ + do { + pqremove(tree, n); /* n = node of least frequency */ +- m = heap[SMALLEST]; /* m = node of next least frequency */ ++ m = heap[(unsigned int)SMALLEST]; /* m = node of next least frequency */ + +- heap[--heap_max] = n; /* keep the nodes sorted by frequency */ +- heap[--heap_max] = m; ++ heap[(unsigned int)--heap_max] = n; /* keep the nodes sorted by frequency */ ++ heap[(unsigned int)--heap_max] = m; + + /* Create a new node father of n and m */ + tree[node].Freq = tree[n].Freq + tree[m].Freq; +- depth[node] = (byte) (MAX(depth[n], depth[m]) + 1); ++ depth[(unsigned int)node] = (byte) (MAX(depth[(unsigned int)n], depth[(unsigned int)m]) + 1); + tree[n].Dad = tree[m].Dad = node; + #ifdef DUMP_BL_TREE + if (tree == bl_tree) { +@@ -452,12 +453,12 @@ + } + #endif + /* and insert the new node in the heap */ +- heap[SMALLEST] = node++; ++ heap[(unsigned int)SMALLEST] = node++; + pqdownheap(tree, SMALLEST); + + } while (heap_len >= 2); + +- heap[--heap_max] = heap[SMALLEST]; ++ heap[(unsigned int)--heap_max] = heap[(unsigned int)SMALLEST]; + + /* At this point, the fields freq and dad are set. We can now + * generate the bit lengths. +@@ -492,14 +493,14 @@ + if (++count < max_count && curlen == nextlen) { + continue; + } else if (count < min_count) { +- bl_tree[curlen].Freq += count; ++ bl_tree[(unsigned int)curlen].Freq += count; + } else if (curlen != 0) { +- if (curlen != prevlen) bl_tree[curlen].Freq++; +- bl_tree[REP_3_6].Freq++; ++ if (curlen != prevlen) bl_tree[(unsigned int)curlen].Freq++; ++ bl_tree[(unsigned int)REP_3_6].Freq++; + } else if (count <= 10) { +- bl_tree[REPZ_3_10].Freq++; ++ bl_tree[(unsigned int)REPZ_3_10].Freq++; + } else { +- bl_tree[REPZ_11_138].Freq++; ++ bl_tree[(unsigned int)REPZ_11_138].Freq++; + } + count = 0; prevlen = curlen; + if (nextlen == 0) { +@@ -582,7 +583,7 @@ + * 3 but the actual value used is 4.) + */ + for (max_blindex = BL_CODES-1; max_blindex >= 3; max_blindex--) { +- if (bl_tree[bl_order[max_blindex]].Len != 0) break; ++ if (bl_tree[(unsigned int)bl_order[max_blindex]].Len != 0) break; + } + /* Update opt_len to include the bit length tree and counts */ + opt_len += 3*(max_blindex+1) + 5+5+4; +@@ -608,7 +609,7 @@ + send_bits(blcodes-4, 4); + for (rank = 0; rank < blcodes; rank++) { + // Tracev((stderr, "\nbl code %2d ", bl_order[rank])); +- send_bits(bl_tree[bl_order[rank]].Len, 3); ++ send_bits(bl_tree[(unsigned int)bl_order[rank]].Len, 3); + } + // Tracev((stderr, "\nbl tree: sent %ld", bits_sent)); + +@@ -714,7 +715,7 @@ + l_buf[last_lit++] = (byte)lc; + if (dist == 0) { + /* lc is the unmatched char */ +- dyn_ltree[lc].Freq++; ++ dyn_ltree[(unsigned int)lc].Freq++; + } else { + /* Here, lc is the match length - MIN_MATCH */ + dist--; /* dist = match distance - 1 */ +@@ -722,8 +723,8 @@ + (word16)lc <= (word16)(MAX_MATCH-MIN_MATCH) && + (word16)d_code(dist) < (word16)D_CODES); + +- dyn_ltree[length_code[lc]+LITERALS+1].Freq++; +- dyn_dtree[d_code(dist)].Freq++; ++ dyn_ltree[(unsigned int)length_code[(unsigned int)lc]+LITERALS+1].Freq++; ++ dyn_dtree[(unsigned int)d_code(dist)].Freq++; + + d_buf[last_dist++] = dist; + flags |= flag_bit; +@@ -740,7 +741,7 @@ + /* Compute an upper bound for the compressed length */ + word32 out_length = (word32)last_lit*8L; + word32 in_length = (word32)strstart-block_start; +- int dcode; ++ unsigned int dcode; + for (dcode = 0; dcode < D_CODES; dcode++) { + out_length += (word32)dyn_dtree[dcode].Freq*(5L+extra_dbits[dcode]); + } +@@ -778,7 +779,7 @@ + // Tracecv(isgraph(lc), (stderr," '%c' ", lc)); + } else { + /* Here, lc is the match length - MIN_MATCH */ +- code = length_code[lc]; ++ code = length_code[(unsigned int)lc]; + /* send the length code */ + send_code(code+LITERALS+1, ltree); + if ((extra = extra_lbits[code]) != 0) { +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/db/Makefile.am tripwire-2.3.1-2/src/db/Makefile.am +--- tripwire-2.3.1-2.old/src/db/Makefile.am Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/db/Makefile.am Sun Mar 16 11:50:05 2003 +@@ -0,0 +1,13 @@ ++AUTOMAKE_OPTIONS = foreign no-dependencies ++ ++INCLUDES = -I.. @STLPORT_INCLUDE@ ++ ++noinst_LIBRARIES = libdb.a ++libdb_a_SOURCES = \ ++ blockfile.cpp blockrecordarray.cpp blockrecordfile.cpp \ ++ db.cpp hierdatabase.cpp hierdbpath.cpp stddb.cpp ++ ++DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit ++ ++all: $(noinst_LIBRARIES) ++ $(AR) ru ../../lib/libtripwire.a $(libdb_a_OBJECTS) +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/db/Makefile.in tripwire-2.3.1-2/src/db/Makefile.in +--- tripwire-2.3.1-2.old/src/db/Makefile.in Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/db/Makefile.in Mon Sep 22 09:40:55 2003 +@@ -0,0 +1,290 @@ ++# Makefile.in generated automatically by automake 1.5 from Makefile.am. ++ ++# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 ++# Free Software Foundation, Inc. ++# This Makefile.in is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without ++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A ++# PARTICULAR PURPOSE. ++ ++@SET_MAKE@ ++ ++SHELL = @SHELL@ ++ ++srcdir = @srcdir@ ++top_srcdir = @top_srcdir@ ++VPATH = @srcdir@ ++prefix = @prefix@ ++exec_prefix = @exec_prefix@ ++ ++bindir = @bindir@ ++sbindir = @sbindir@ ++libexecdir = @libexecdir@ ++datadir = @datadir@ ++sysconfdir = @sysconfdir@ ++sharedstatedir = @sharedstatedir@ ++localstatedir = @localstatedir@ ++libdir = @libdir@ ++infodir = @infodir@ ++mandir = @mandir@ ++includedir = @includedir@ ++oldincludedir = /usr/include ++pkgdatadir = $(datadir)/@PACKAGE@ ++pkglibdir = $(libdir)/@PACKAGE@ ++pkgincludedir = $(includedir)/@PACKAGE@ ++top_builddir = ../.. ++ ++ACLOCAL = @ACLOCAL@ ++AUTOCONF = @AUTOCONF@ ++AUTOMAKE = @AUTOMAKE@ ++AUTOHEADER = @AUTOHEADER@ ++ ++INSTALL = @INSTALL@ ++INSTALL_PROGRAM = @INSTALL_PROGRAM@ ++INSTALL_DATA = @INSTALL_DATA@ ++INSTALL_SCRIPT = @INSTALL_SCRIPT@ ++INSTALL_HEADER = $(INSTALL_DATA) ++transform = @program_transform_name@ ++NORMAL_INSTALL = : ++PRE_INSTALL = : ++POST_INSTALL = : ++NORMAL_UNINSTALL = : ++PRE_UNINSTALL = : ++POST_UNINSTALL = : ++AMTAR = @AMTAR@ ++AWK = @AWK@ ++CC = @CC@ ++CORE_CRYPT_O = @CORE_CRYPT_O@ ++CXX = @CXX@ ++DEPDIR = @DEPDIR@ ++EXEEXT = @EXEEXT@ ++GMAKE = @GMAKE@ ++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ ++OBJEXT = @OBJEXT@ ++PACKAGE = @PACKAGE@ ++RANLIB = @RANLIB@ ++STLPORT_INCLUDE = @STLPORT_INCLUDE@ ++STLPORT_LD = @STLPORT_LD@ ++STLPORT_LIBRARY = @STLPORT_LIBRARY@ ++STLPORT_MAKEFILE = @STLPORT_MAKEFILE@ ++STLPORT_SUBDIR = @STLPORT_SUBDIR@ ++SYSPRE = @SYSPRE@ ++VERSION = @VERSION@ ++YACC = @YACC@ ++am__include = @am__include@ ++am__quote = @am__quote@ ++install_sh = @install_sh@ ++path_to_sendmail = @path_to_sendmail@ ++path_to_vi = @path_to_vi@ ++ ++AUTOMAKE_OPTIONS = foreign no-dependencies ++ ++INCLUDES = -I.. @STLPORT_INCLUDE@ ++ ++noinst_LIBRARIES = libdb.a ++libdb_a_SOURCES = \ ++ blockfile.cpp blockrecordarray.cpp blockrecordfile.cpp \ ++ db.cpp hierdatabase.cpp hierdbpath.cpp stddb.cpp ++ ++ ++DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit ++subdir = src/db ++mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs ++CONFIG_HEADER = $(top_builddir)/config.h ++CONFIG_CLEAN_FILES = ++LIBRARIES = $(noinst_LIBRARIES) ++ ++libdb_a_AR = $(AR) cru ++libdb_a_LIBADD = ++am_libdb_a_OBJECTS = blockfile.$(OBJEXT) blockrecordarray.$(OBJEXT) \ ++ blockrecordfile.$(OBJEXT) db.$(OBJEXT) hierdatabase.$(OBJEXT) \ ++ hierdbpath.$(OBJEXT) stddb.$(OBJEXT) ++libdb_a_OBJECTS = $(am_libdb_a_OBJECTS) ++DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) ++CPPFLAGS = @CPPFLAGS@ ++LDFLAGS = @LDFLAGS@ ++LIBS = @LIBS@ ++depcomp = ++CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) ++CXXLD = $(CXX) ++CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ ++ -o $@ ++CXXFLAGS = @CXXFLAGS@ ++DIST_SOURCES = $(libdb_a_SOURCES) ++DIST_COMMON = Makefile.am Makefile.in ++SOURCES = $(libdb_a_SOURCES) ++ ++all: all-am ++ ++.SUFFIXES: ++.SUFFIXES: .cpp .o .obj ++$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) ++ cd $(top_srcdir) && \ ++ $(AUTOMAKE) --foreign src/db/Makefile ++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status ++ cd $(top_builddir) && \ ++ CONFIG_HEADERS= CONFIG_LINKS= \ ++ CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status ++ ++AR = ar ++ ++clean-noinstLIBRARIES: ++ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) ++libdb.a: $(libdb_a_OBJECTS) $(libdb_a_DEPENDENCIES) ++ -rm -f libdb.a ++ $(libdb_a_AR) libdb.a $(libdb_a_OBJECTS) $(libdb_a_LIBADD) ++ $(RANLIB) libdb.a ++ ++mostlyclean-compile: ++ -rm -f *.$(OBJEXT) core *.core ++ ++distclean-compile: ++ -rm -f *.tab.c ++ ++.cpp.o: ++ $(CXXCOMPILE) -c -o $@ $< ++ ++.cpp.obj: ++ $(CXXCOMPILE) -c -o $@ `cygpath -w $<` ++uninstall-info-am: ++ ++tags: TAGS ++ ++ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ++ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ mkid -fID $$unique $(LISP) ++ ++TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ ++ $(TAGS_FILES) $(LISP) ++ tags=; \ ++ here=`pwd`; \ ++ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ ++ || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) ++ ++GTAGS: ++ here=`CDPATH=: && cd $(top_builddir) && pwd` \ ++ && cd $(top_srcdir) \ ++ && gtags -i $(GTAGS_ARGS) $$here ++ ++distclean-tags: ++ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH ++ ++DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ++ ++top_distdir = ../.. ++distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) ++ ++distdir: $(DISTFILES) ++ @for file in $(DISTFILES); do \ ++ if test -f $$file; then d=.; else d=$(srcdir); fi; \ ++ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ ++ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ ++ $(mkinstalldirs) "$(distdir)/$$dir"; \ ++ fi; \ ++ if test -d $$d/$$file; then \ ++ cp -pR $$d/$$file $(distdir) \ ++ || exit 1; \ ++ else \ ++ test -f $(distdir)/$$file \ ++ || cp -p $$d/$$file $(distdir)/$$file \ ++ || exit 1; \ ++ fi; \ ++ done ++check-am: all-am ++check: check-am ++all-am: Makefile $(LIBRARIES) ++ ++installdirs: ++ ++install: install-am ++install-exec: install-exec-am ++install-data: install-data-am ++uninstall: uninstall-am ++ ++install-am: all-am ++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am ++ ++installcheck: installcheck-am ++install-strip: ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ `test -z '$(STRIP)' || \ ++ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install ++mostlyclean-generic: ++ ++clean-generic: ++ ++distclean-generic: ++ -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* ++ ++maintainer-clean-generic: ++ @echo "This command is intended for maintainers to use" ++ @echo "it deletes files that may require special tools to rebuild." ++clean: clean-am ++ ++clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am ++ ++distclean: distclean-am ++ ++distclean-am: clean-am distclean-compile distclean-generic \ ++ distclean-tags ++ ++dvi: dvi-am ++ ++dvi-am: ++ ++info: info-am ++ ++info-am: ++ ++install-data-am: ++ ++install-exec-am: ++ ++install-info: install-info-am ++ ++install-man: ++ ++installcheck-am: ++ ++maintainer-clean: maintainer-clean-am ++ ++maintainer-clean-am: distclean-am maintainer-clean-generic ++ ++mostlyclean: mostlyclean-am ++ ++mostlyclean-am: mostlyclean-compile mostlyclean-generic ++ ++uninstall-am: uninstall-info-am ++ ++.PHONY: GTAGS all all-am check check-am clean clean-generic \ ++ clean-noinstLIBRARIES distclean distclean-compile \ ++ distclean-generic distclean-tags distdir dvi dvi-am info \ ++ info-am install install-am install-data install-data-am \ ++ install-exec install-exec-am install-info install-info-am \ ++ install-man install-strip installcheck installcheck-am \ ++ installdirs maintainer-clean maintainer-clean-generic \ ++ mostlyclean mostlyclean-compile mostlyclean-generic tags \ ++ uninstall uninstall-am uninstall-info-am ++ ++ ++all: $(noinst_LIBRARIES) ++ $(AR) ru ../../lib/libtripwire.a $(libdb_a_OBJECTS) ++# Tell versions [3.59,3.63) of GNU make to not export all variables. ++# Otherwise a system limit (for SysV at least) may be exceeded. ++.NOEXPORT: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/db/block.h tripwire-2.3.1-2/src/db/block.h +--- tripwire-2.3.1-2.old/src/db/block.h Fri Oct 27 17:25:35 2000 ++++ tripwire-2.3.1-2/src/db/block.h Thu Jun 19 00:48:38 2003 +@@ -142,7 +142,7 @@ + + cBlockImpl(); + +- void SetBlockNum ( int blockNum ) { mBlockNum = blockNum; } ++ void SetBlockNum ( int blockNum ) { cBlock::mBlockNum = blockNum; } + void SetTimestamp( uint32 timestamp ) { mTimestamp = timestamp; } + uint32 GetTimestamp() const { return mTimestamp; } + +@@ -172,10 +172,10 @@ + ASSERT( mbDirty ); + ASSERT( (mBlockNum >= 0) && (((mBlockNum + 1) * SIZE) <= arch.Length()) ); + +- arch.Seek ( (mBlockNum * SIZE), cBidirArchive::BEGINNING ); +- arch.WriteBlob ( mpData, SIZE ); ++ arch.Seek ( (cBlock::mBlockNum * SIZE), cBidirArchive::BEGINNING ); ++ arch.WriteBlob ( cBlock::mpData, SIZE ); + +- mbDirty = false; ++ cBlock::mbDirty = false; + } + + /////////////////////////////////////////////////////////////////////////////// +@@ -185,16 +185,16 @@ + inline void cBlockImpl::Read( cBidirArchive& arch, int blockNum ) //throw( eArchive ) + { + if( blockNum != INVALID_NUM ) +- mBlockNum = blockNum; ++ cBlock::mBlockNum = blockNum; + + ASSERT( (mBlockNum >= 0) && (((mBlockNum + 1) * SIZE) <= arch.Length()) ); + + // std::cout << "cBlockImpl::Read() mBlockNum = " << mBlockNum << " arch.Length() = " << arch.Length() << std::endl; + +- arch.Seek ( (mBlockNum * SIZE), cBidirArchive::BEGINNING ); +- arch.ReadBlob ( mpData, SIZE ); ++ arch.Seek ( (cBlock::mBlockNum * SIZE), cBidirArchive::BEGINNING ); ++ arch.ReadBlob ( cBlock::mpData, SIZE ); + +- mbDirty = false; ++ cBlock::mbDirty = false; + } + + #endif +Only in tripwire-2.3.1-2.old/src/db: db.mak +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/db/hierdatabase.cpp tripwire-2.3.1-2/src/db/hierdatabase.cpp +--- tripwire-2.3.1-2.old/src/db/hierdatabase.cpp Sat Feb 24 21:41:13 2001 ++++ tripwire-2.3.1-2/src/db/hierdatabase.cpp Thu Aug 15 22:28:34 2002 +@@ -255,8 +255,10 @@ + } + else + { +- int offset = rhs.mIter - rhs.mEntries.begin(); +- mIter = mEntries.begin() + offset; ++ EntryArray::const_iterator p1, p2; ++ p1 = rhs.mIter; ++ p2 = rhs.mEntries.begin(); ++ mIter = mEntries.begin() + (p1 - p2); + } + + return (*this); +Only in tripwire-2.3.1-2.old/src/db: hierdatabase.cpp~ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/db/hierdbpath.cpp tripwire-2.3.1-2/src/db/hierdbpath.cpp +--- tripwire-2.3.1-2.old/src/db/hierdbpath.cpp Fri Oct 27 17:25:35 2000 ++++ tripwire-2.3.1-2/src/db/hierdbpath.cpp Thu Jun 19 14:06:25 2003 +@@ -46,7 +46,7 @@ + } + + cHierDbPath::cHierDbPath( TCHAR cDelChar, bool bCaseSensitive ) : +- mDelimitingChar( cDelChar ), mbCaseSensitive( bCaseSensitive ) ++ mbCaseSensitive( bCaseSensitive ), mDelimitingChar( cDelChar ) + { + ASSERT( mCurrPath.empty() ); + } +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/fco/Makefile.am tripwire-2.3.1-2/src/fco/Makefile.am +--- tripwire-2.3.1-2.old/src/fco/Makefile.am Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/fco/Makefile.am Sun Mar 16 11:50:05 2003 +@@ -0,0 +1,18 @@ ++AUTOMAKE_OPTIONS = foreign no-dependencies ++ ++INCLUDES = -I.. @STLPORT_INCLUDE@ ++ ++noinst_LIBRARIES = libfco.a ++libfco_a_SOURCES = \ ++ fco.cpp fcocompare.cpp fcodatasourceiter.cpp \ ++ fcodatasourceiterimpl.cpp fcoerrors.cpp fconame.cpp \ ++ fconametbl.cpp fcopropimpl.cpp fcopropvector.cpp \ ++ fcosetimpl.cpp fcospec.cpp fcospecattr.cpp fcospechelper.cpp \ ++ fcospecimpl.cpp fcospeclist.cpp fcospecutil.cpp fcostrings.cpp \ ++ fcoundefprop.cpp genreinfo.cpp genrespeclist.cpp \ ++ genreswitcher.cpp signature.cpp stdfco.cpp twfactory.cpp ++ ++DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit ++ ++all: $(noinst_LIBRARIES) ++ $(AR) ru ../../lib/libtripwire.a $(libfco_a_OBJECTS) +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/fco/Makefile.in tripwire-2.3.1-2/src/fco/Makefile.in +--- tripwire-2.3.1-2.old/src/fco/Makefile.in Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/fco/Makefile.in Mon Sep 22 09:40:55 2003 +@@ -0,0 +1,302 @@ ++# Makefile.in generated automatically by automake 1.5 from Makefile.am. ++ ++# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 ++# Free Software Foundation, Inc. ++# This Makefile.in is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without ++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A ++# PARTICULAR PURPOSE. ++ ++@SET_MAKE@ ++ ++SHELL = @SHELL@ ++ ++srcdir = @srcdir@ ++top_srcdir = @top_srcdir@ ++VPATH = @srcdir@ ++prefix = @prefix@ ++exec_prefix = @exec_prefix@ ++ ++bindir = @bindir@ ++sbindir = @sbindir@ ++libexecdir = @libexecdir@ ++datadir = @datadir@ ++sysconfdir = @sysconfdir@ ++sharedstatedir = @sharedstatedir@ ++localstatedir = @localstatedir@ ++libdir = @libdir@ ++infodir = @infodir@ ++mandir = @mandir@ ++includedir = @includedir@ ++oldincludedir = /usr/include ++pkgdatadir = $(datadir)/@PACKAGE@ ++pkglibdir = $(libdir)/@PACKAGE@ ++pkgincludedir = $(includedir)/@PACKAGE@ ++top_builddir = ../.. ++ ++ACLOCAL = @ACLOCAL@ ++AUTOCONF = @AUTOCONF@ ++AUTOMAKE = @AUTOMAKE@ ++AUTOHEADER = @AUTOHEADER@ ++ ++INSTALL = @INSTALL@ ++INSTALL_PROGRAM = @INSTALL_PROGRAM@ ++INSTALL_DATA = @INSTALL_DATA@ ++INSTALL_SCRIPT = @INSTALL_SCRIPT@ ++INSTALL_HEADER = $(INSTALL_DATA) ++transform = @program_transform_name@ ++NORMAL_INSTALL = : ++PRE_INSTALL = : ++POST_INSTALL = : ++NORMAL_UNINSTALL = : ++PRE_UNINSTALL = : ++POST_UNINSTALL = : ++AMTAR = @AMTAR@ ++AWK = @AWK@ ++CC = @CC@ ++CORE_CRYPT_O = @CORE_CRYPT_O@ ++CXX = @CXX@ ++DEPDIR = @DEPDIR@ ++EXEEXT = @EXEEXT@ ++GMAKE = @GMAKE@ ++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ ++OBJEXT = @OBJEXT@ ++PACKAGE = @PACKAGE@ ++RANLIB = @RANLIB@ ++STLPORT_INCLUDE = @STLPORT_INCLUDE@ ++STLPORT_LD = @STLPORT_LD@ ++STLPORT_LIBRARY = @STLPORT_LIBRARY@ ++STLPORT_MAKEFILE = @STLPORT_MAKEFILE@ ++STLPORT_SUBDIR = @STLPORT_SUBDIR@ ++SYSPRE = @SYSPRE@ ++VERSION = @VERSION@ ++YACC = @YACC@ ++am__include = @am__include@ ++am__quote = @am__quote@ ++install_sh = @install_sh@ ++path_to_sendmail = @path_to_sendmail@ ++path_to_vi = @path_to_vi@ ++ ++AUTOMAKE_OPTIONS = foreign no-dependencies ++ ++INCLUDES = -I.. @STLPORT_INCLUDE@ ++ ++noinst_LIBRARIES = libfco.a ++libfco_a_SOURCES = \ ++ fco.cpp fcocompare.cpp fcodatasourceiter.cpp \ ++ fcodatasourceiterimpl.cpp fcoerrors.cpp fconame.cpp \ ++ fconametbl.cpp fcopropimpl.cpp fcopropvector.cpp \ ++ fcosetimpl.cpp fcospec.cpp fcospecattr.cpp fcospechelper.cpp \ ++ fcospecimpl.cpp fcospeclist.cpp fcospecutil.cpp fcostrings.cpp \ ++ fcoundefprop.cpp genreinfo.cpp genrespeclist.cpp \ ++ genreswitcher.cpp signature.cpp stdfco.cpp twfactory.cpp ++ ++ ++DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit ++subdir = src/fco ++mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs ++CONFIG_HEADER = $(top_builddir)/config.h ++CONFIG_CLEAN_FILES = ++LIBRARIES = $(noinst_LIBRARIES) ++ ++libfco_a_AR = $(AR) cru ++libfco_a_LIBADD = ++am_libfco_a_OBJECTS = fco.$(OBJEXT) fcocompare.$(OBJEXT) \ ++ fcodatasourceiter.$(OBJEXT) fcodatasourceiterimpl.$(OBJEXT) \ ++ fcoerrors.$(OBJEXT) fconame.$(OBJEXT) fconametbl.$(OBJEXT) \ ++ fcopropimpl.$(OBJEXT) fcopropvector.$(OBJEXT) \ ++ fcosetimpl.$(OBJEXT) fcospec.$(OBJEXT) fcospecattr.$(OBJEXT) \ ++ fcospechelper.$(OBJEXT) fcospecimpl.$(OBJEXT) \ ++ fcospeclist.$(OBJEXT) fcospecutil.$(OBJEXT) \ ++ fcostrings.$(OBJEXT) fcoundefprop.$(OBJEXT) genreinfo.$(OBJEXT) \ ++ genrespeclist.$(OBJEXT) genreswitcher.$(OBJEXT) \ ++ signature.$(OBJEXT) stdfco.$(OBJEXT) twfactory.$(OBJEXT) ++libfco_a_OBJECTS = $(am_libfco_a_OBJECTS) ++DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) ++CPPFLAGS = @CPPFLAGS@ ++LDFLAGS = @LDFLAGS@ ++LIBS = @LIBS@ ++depcomp = ++CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) ++CXXLD = $(CXX) ++CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ ++ -o $@ ++CXXFLAGS = @CXXFLAGS@ ++DIST_SOURCES = $(libfco_a_SOURCES) ++DIST_COMMON = Makefile.am Makefile.in ++SOURCES = $(libfco_a_SOURCES) ++ ++all: all-am ++ ++.SUFFIXES: ++.SUFFIXES: .cpp .o .obj ++$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) ++ cd $(top_srcdir) && \ ++ $(AUTOMAKE) --foreign src/fco/Makefile ++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status ++ cd $(top_builddir) && \ ++ CONFIG_HEADERS= CONFIG_LINKS= \ ++ CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status ++ ++AR = ar ++ ++clean-noinstLIBRARIES: ++ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) ++libfco.a: $(libfco_a_OBJECTS) $(libfco_a_DEPENDENCIES) ++ -rm -f libfco.a ++ $(libfco_a_AR) libfco.a $(libfco_a_OBJECTS) $(libfco_a_LIBADD) ++ $(RANLIB) libfco.a ++ ++mostlyclean-compile: ++ -rm -f *.$(OBJEXT) core *.core ++ ++distclean-compile: ++ -rm -f *.tab.c ++ ++.cpp.o: ++ $(CXXCOMPILE) -c -o $@ $< ++ ++.cpp.obj: ++ $(CXXCOMPILE) -c -o $@ `cygpath -w $<` ++uninstall-info-am: ++ ++tags: TAGS ++ ++ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ++ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ mkid -fID $$unique $(LISP) ++ ++TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ ++ $(TAGS_FILES) $(LISP) ++ tags=; \ ++ here=`pwd`; \ ++ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ ++ || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) ++ ++GTAGS: ++ here=`CDPATH=: && cd $(top_builddir) && pwd` \ ++ && cd $(top_srcdir) \ ++ && gtags -i $(GTAGS_ARGS) $$here ++ ++distclean-tags: ++ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH ++ ++DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ++ ++top_distdir = ../.. ++distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) ++ ++distdir: $(DISTFILES) ++ @for file in $(DISTFILES); do \ ++ if test -f $$file; then d=.; else d=$(srcdir); fi; \ ++ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ ++ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ ++ $(mkinstalldirs) "$(distdir)/$$dir"; \ ++ fi; \ ++ if test -d $$d/$$file; then \ ++ cp -pR $$d/$$file $(distdir) \ ++ || exit 1; \ ++ else \ ++ test -f $(distdir)/$$file \ ++ || cp -p $$d/$$file $(distdir)/$$file \ ++ || exit 1; \ ++ fi; \ ++ done ++check-am: all-am ++check: check-am ++all-am: Makefile $(LIBRARIES) ++ ++installdirs: ++ ++install: install-am ++install-exec: install-exec-am ++install-data: install-data-am ++uninstall: uninstall-am ++ ++install-am: all-am ++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am ++ ++installcheck: installcheck-am ++install-strip: ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ `test -z '$(STRIP)' || \ ++ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install ++mostlyclean-generic: ++ ++clean-generic: ++ ++distclean-generic: ++ -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* ++ ++maintainer-clean-generic: ++ @echo "This command is intended for maintainers to use" ++ @echo "it deletes files that may require special tools to rebuild." ++clean: clean-am ++ ++clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am ++ ++distclean: distclean-am ++ ++distclean-am: clean-am distclean-compile distclean-generic \ ++ distclean-tags ++ ++dvi: dvi-am ++ ++dvi-am: ++ ++info: info-am ++ ++info-am: ++ ++install-data-am: ++ ++install-exec-am: ++ ++install-info: install-info-am ++ ++install-man: ++ ++installcheck-am: ++ ++maintainer-clean: maintainer-clean-am ++ ++maintainer-clean-am: distclean-am maintainer-clean-generic ++ ++mostlyclean: mostlyclean-am ++ ++mostlyclean-am: mostlyclean-compile mostlyclean-generic ++ ++uninstall-am: uninstall-info-am ++ ++.PHONY: GTAGS all all-am check check-am clean clean-generic \ ++ clean-noinstLIBRARIES distclean distclean-compile \ ++ distclean-generic distclean-tags distdir dvi dvi-am info \ ++ info-am install install-am install-data install-data-am \ ++ install-exec install-exec-am install-info install-info-am \ ++ install-man install-strip installcheck installcheck-am \ ++ installdirs maintainer-clean maintainer-clean-generic \ ++ mostlyclean mostlyclean-compile mostlyclean-generic tags \ ++ uninstall uninstall-am uninstall-info-am ++ ++ ++all: $(noinst_LIBRARIES) ++ $(AR) ru ../../lib/libtripwire.a $(libfco_a_OBJECTS) ++# Tell versions [3.59,3.63) of GNU make to not export all variables. ++# Otherwise a system limit (for SysV at least) may be exceeded. ++.NOEXPORT: +Only in tripwire-2.3.1-2.old/src/fco: fco.mak +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/fco/fcogenre.h tripwire-2.3.1-2/src/fco/fcogenre.h +--- tripwire-2.3.1-2.old/src/fco/fcogenre.h Fri Oct 27 17:25:40 2000 ++++ tripwire-2.3.1-2/src/fco/fcogenre.h Sun Mar 18 03:16:15 2001 +@@ -86,8 +86,6 @@ + GENRE_INVALID = 0x00000000 + }; + +-private: +- + //---------------------------------------- + // don't let C++ create default functions + //---------------------------------------- +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/fco/fconame.cpp tripwire-2.3.1-2/src/fco/fconame.cpp +--- tripwire-2.3.1-2.old/src/fco/fconame.cpp Fri Oct 27 17:25:41 2000 ++++ tripwire-2.3.1-2/src/fco/fconame.cpp Thu Aug 15 15:11:38 2002 +@@ -269,7 +269,8 @@ + + mpPathName->ClearList(); + +- TSTRING::const_iterator at = ( pszin + 0 ); ++ TSTRING ats = const_cast(pszin + 0); ++ TSTRING::const_iterator at = ats.begin(); + TSTRING::const_iterator end = at; + while ( *end ) ++end; // NOTE: Find end + +@@ -277,9 +278,9 @@ + while ( at < end ) + { + while ( !(*at == mDelimiter) && at < end ) +- at = tss::strinc( at ); ++ at = *at ? at + 1 : at; + +- if ( at == beg && tss::strinc(at) >= end && at != pszin ) ++ if ( at == beg && (*at ? at + 1 : at) >= end && at != ats.begin() ) + break; + + cFCONameTblNode* pNode = +@@ -287,7 +288,7 @@ + + mpPathName->mNames.push_back( pNode ); + +- beg = ( at = tss::strinc( at ) ); ++ beg = ( at = (*at ? at + 1 : at) ); + } + } + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/fco/fconame.h tripwire-2.3.1-2/src/fco/fconame.h +--- tripwire-2.3.1-2.old/src/fco/fconame.h Fri Oct 27 17:25:40 2000 ++++ tripwire-2.3.1-2/src/fco/fconame.h Thu Jun 19 21:50:18 2003 +@@ -64,7 +64,7 @@ + explicit cFCOName(const TCHAR* rhs, iFCONameInfo* iNI = NULL); + // these ctors are explicit because it is expensive to create these things, so we don't want to + // do it unexpectedly +- ~cFCOName(); ++ virtual ~cFCOName(); + + void operator = (const cFCOName& rhs); + void operator = (const TSTRING& rhs); +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/fco/fcopropvector.h tripwire-2.3.1-2/src/fco/fcopropvector.h +--- tripwire-2.3.1-2.old/src/fco/fcopropvector.h Fri Oct 27 17:25:40 2000 ++++ tripwire-2.3.1-2/src/fco/fcopropvector.h Thu Jun 19 21:50:18 2003 +@@ -51,7 +51,7 @@ + public: + cFCOPropVector (int size = 32); + cFCOPropVector (const cFCOPropVector& rhs); +- ~cFCOPropVector (void); ++ virtual ~cFCOPropVector (void); + bool operator== (const cFCOPropVector& rhs) const; + bool operator!= (const cFCOPropVector& rhs) const; + cFCOPropVector& operator= (const cFCOPropVector& rhs); +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/fco/fcospecattr.h tripwire-2.3.1-2/src/fco/fcospecattr.h +--- tripwire-2.3.1-2.old/src/fco/fcospecattr.h Fri Oct 27 17:25:41 2000 ++++ tripwire-2.3.1-2/src/fco/fcospecattr.h Thu Jun 19 14:06:25 2003 +@@ -81,9 +81,9 @@ + cFCOSpecAttr (const cFCOSpecAttr& rhs); // not impl + void operator= (const cFCOSpecAttr& rhs); // not impl + +- int32 mSeverity; // the severity level + std::list mEmailAddrs; // the email addresses of people to be notified + TSTRING mName; // the name of the spec ++ int32 mSeverity; // the severity level + + friend class cFCOSpecAttrEmailIter; + }; +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/fco/fcospecimpl.h tripwire-2.3.1-2/src/fco/fcospecimpl.h +--- tripwire-2.3.1-2.old/src/fco/fcospecimpl.h Fri Oct 27 17:25:39 2000 ++++ tripwire-2.3.1-2/src/fco/fcospecimpl.h Sun Mar 18 04:19:01 2001 +@@ -94,11 +94,11 @@ + virtual void Read (iSerializer* pSerializer, int32 version = 0); // throw (eSerializer, eArchive) + virtual void Write(iSerializer* pSerializer) const; // throw (eSerializer, eArchive) + +-private: +- ++ + virtual ~cFCOSpecImpl(); + // only destroy with Release(). Don't create on the stack. +- ++private: ++ + TSTRING mName; + cFCOPropVector mPropVector; + iFCOSpecHelper* mpHelper; +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/fco/fcospeclist.h tripwire-2.3.1-2/src/fco/fcospeclist.h +--- tripwire-2.3.1-2.old/src/fco/fcospeclist.h Fri Oct 27 17:25:40 2000 ++++ tripwire-2.3.1-2/src/fco/fcospeclist.h Thu Jun 19 21:50:18 2003 +@@ -66,7 +66,7 @@ + public: + cFCOSpecList(); + cFCOSpecList(const cFCOSpecList& rhs); +- ~cFCOSpecList(); ++ virtual ~cFCOSpecList(); + + const cFCOSpecList& operator = (const cFCOSpecList& rhs); + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/fco/genreswitcher.h tripwire-2.3.1-2/src/fco/genreswitcher.h +--- tripwire-2.3.1-2.old/src/fco/genreswitcher.h Fri Oct 27 17:25:40 2000 ++++ tripwire-2.3.1-2/src/fco/genreswitcher.h Thu Jun 19 14:06:25 2003 +@@ -152,9 +152,9 @@ + //------------------------------------------------------------- + // Private Data Members + //------------------------------------------------------------- ++ const cGenreInfo* m_pDefaultGenre; // points to the default registered genre + cGenreInfoVec m_vGenres; // stores all registered genre information + cGenre::Genre m_curGenre; // points to the current genre +- const cGenreInfo* m_pDefaultGenre; // points to the default registered genre + }; + + #endif //__GENRESWITCHER_H +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/fco/signature.cpp tripwire-2.3.1-2/src/fco/signature.cpp +--- tripwire-2.3.1-2.old/src/fco/signature.cpp Fri Oct 27 17:25:39 2000 ++++ tripwire-2.3.1-2/src/fco/signature.cpp Thu Jun 5 14:58:53 2003 +@@ -36,15 +36,16 @@ + #include "stdfco.h" + #include "signature.h" + #include "core/errorgeneral.h" +-#include "core/md5.h" +-#include "core/crc32.h" + #include "core/serializer.h" +-#include "core/sha.h" +-#include "core/haval.h" + #include + #include + #include "fcoundefprop.h" + #include "core/archive.h" ++#ifndef HAVE_OPENSSL_MD5_H ++# ifdef HAVE_STRINGS_H ++# include /* for bcopy(), this is only needed for Solaris */ ++# endif ++#endif + + using namespace std; + +@@ -464,6 +465,7 @@ + cMD5Signature::cMD5Signature() + { + memset( mMD5Info.digest, 0, sizeof( mMD5Info.digest ) ); ++ memset( md5_digest, 0, MD5_DIGEST_LENGTH ); + } + + cMD5Signature::~cMD5Signature() +@@ -472,17 +474,30 @@ + + void cMD5Signature::Init() + { ++#ifdef HAVE_OPENSSL_MD5_H ++ MD5_Init( &mMD5Info ); ++#else + MD5Init( &mMD5Info ); ++#endif + } + + void cMD5Signature::Update( const byte* pbData, int cbDataLen ) + { ++#ifdef HAVE_OPENSSL_MD5_H ++ MD5_Update( &mMD5Info, (uint8*)pbData, cbDataLen ); ++#else + MD5Update( &mMD5Info, (uint8*)pbData, cbDataLen ); ++#endif + } + + void cMD5Signature::Finit() + { ++#ifdef HAVE_OPENSSL_MD5_H ++ MD5_Final( md5_digest, &mMD5Info ); ++#else + MD5Final( &mMD5Info ); ++ bcopy(mMD5Info.digest, md5_digest, MD5_DIGEST_LENGTH); ++#endif + } + + //////////////////////////////////////////////////////////////////////////////// +@@ -491,11 +506,12 @@ + { + TSTRING ret; + char buf[24]; ++ int length; + + ASSERT( sizeof( uint8 ) == sizeof( byte ) ); /* everything breaks otherwise */ +- btob64((byte*)mMD5Info.digest, buf, 128); ++ btob64((byte*)md5_digest, buf, SIG_BYTE_SIZE*8); + //converting to base64 representation. +- int length = strlen(buf); ++ length = strlen(buf); + + #ifdef _UNICODE //making it TSTRING sensitive + ret.resize(length); +@@ -515,10 +531,11 @@ + TCHAR stringBuffer[128]; + TCHAR sigStringOut[128]; + sigStringOut[0] = '\0'; ++ uint8 *dbuf = (uint8 *)md5_digest; + + for(int i = 0; i < SIG_BYTE_SIZE; ++i) + { +- _stprintf(stringBuffer, _T("%02lx"), mMD5Info.digest[i]); ++ _stprintf(stringBuffer, _T("%02lx"), dbuf[i]); + _tcscat(sigStringOut, stringBuffer); + } + ret.append(sigStringOut); +@@ -531,7 +548,7 @@ + if (this == &rhs) + return true; + else { +- return (memcmp(mMD5Info.digest, ((cMD5Signature&)rhs).mMD5Info.digest, SIG_BYTE_SIZE) == 0); ++ return (memcmp(md5_digest, ((cMD5Signature&)rhs).md5_digest, SIG_BYTE_SIZE) == 0); + } + } + +@@ -540,12 +557,12 @@ + if (version > Version()) + ThrowAndAssert(eSerializerVersionMismatch(_T("MD5 Read"))); + +- pSerializer->ReadBlob(mMD5Info.digest, SIG_BYTE_SIZE); ++ pSerializer->ReadBlob(md5_digest, SIG_BYTE_SIZE); + } + + void cMD5Signature::Write(iSerializer* pSerializer) const + { +- pSerializer->WriteBlob(mMD5Info.digest, SIG_BYTE_SIZE); ++ pSerializer->WriteBlob(md5_digest, SIG_BYTE_SIZE); + } + + /////////////////////////////////////////////////////////////////////////////// +@@ -554,7 +571,7 @@ + void cMD5Signature::Copy(const iFCOProp* rhs) + { + ASSERT(GetType() == rhs->GetType()); +- memcpy(&mMD5Info.digest, &(static_cast(rhs)->mMD5Info.digest), SIG_BYTE_SIZE); ++ memcpy(md5_digest, &(static_cast(rhs)->md5_digest), SIG_BYTE_SIZE); + } + + /////////////////////////////////////////////////////////////////////////////// +@@ -565,7 +582,8 @@ + + cSHASignature::cSHASignature() + { +- memset( mSHAInfo.digest, 0, sizeof( mSHAInfo.digest ) ); ++ memset( &mSHAInfo, 0, sizeof( mSHAInfo ) ); ++ memset( sha_digest, 0, SHA_DIGEST_LENGTH ); + } + + cSHASignature::~cSHASignature() +@@ -573,18 +591,47 @@ + + void cSHASignature::Init() + { ++#ifdef HAVE_OPENSSL_SHA_H ++ SHA1_Init( &mSHAInfo ); ++#else + shsInit( &mSHAInfo ); ++#endif + } + + void cSHASignature::Update( const byte* pbData, int cbDataLen ) + { + ASSERT( sizeof( byte ) == sizeof( uint8 ) ); ++#ifdef HAVE_OPENSSL_SHA_H ++ SHA1_Update( &mSHAInfo, (uint8*)pbData, cbDataLen ); ++#else + shsUpdate( &mSHAInfo, (uint8*)pbData, cbDataLen ); ++#endif + } + + void cSHASignature::Finit() + { ++#ifdef HAVE_OPENSSL_SHA_H ++ SHA1_Final( (unsigned char *)sha_digest, &mSHAInfo ); ++ memset( &mSHAInfo, 0, sizeof( mSHAInfo ) ); ++#else + shsFinal( &mSHAInfo ); ++ bcopy(&mSHAInfo.digest, sha_digest, SHA_DIGEST_LENGTH); ++ { ++ /* sha_digest is a byte array, so can't be in ++ * host order. ++ */ ++ int i; ++ uint32 *j = (uint32 *)sha_digest; ++ uint32 *k = (uint32 *)&mSHAInfo.digest; ++ for(int i=0; i> 8) & 0xff00 ) | ( (k[i] >> 24) & 0x00ff ); ++# endif //WORDS_BIGENDIAN ++ } ++#endif + } + + //////////////////////////////////////////////////////////////////////////////// +@@ -594,10 +641,11 @@ + TSTRING ret; + char* ps_signature; + char buf[100]; ++ int length; + +- ps_signature = pltob64((uint32*)mSHAInfo.digest, buf, SIG_UINT32_SIZE); ++ ps_signature = btob64((uint8*)sha_digest, buf, SIG_UINT32_SIZE*sizeof(uint32)*8); + //converting to base64 representation. +- int length = strlen(ps_signature); ++ length = strlen(ps_signature); + + #ifdef _UNICODE //making it TSTRING sensitive + ret.resize(length); +@@ -616,10 +664,11 @@ + TCHAR stringBuffer[128]; + TCHAR sigStringOut[128]; + sigStringOut[0] = '\0'; ++ uint8 *dbuf = (uint8 *)sha_digest; + +- for (int i=0; i < SIG_UINT32_SIZE; ++i) ++ for (int i=0; i < SIG_UINT32_SIZE*(int)sizeof(uint32); ++i) + { +- _stprintf(stringBuffer, _T("%08x"), mSHAInfo.digest[i]); ++ _stprintf(stringBuffer, _T("%02x"), dbuf[i]); + _tcscat(sigStringOut, stringBuffer); + } + ret.append(sigStringOut); +@@ -700,10 +749,11 @@ + { + TSTRING ret; + char buf[24]; ++ int length; + + btob64((byte*)mSignature, buf, 128); + //converting to base64 representation. +- int length = strlen(buf); ++ length = strlen(buf); + + #ifdef _UNICODE //making it TSTRING sensitive + ret.resize(length); +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/fco/signature.h tripwire-2.3.1-2/src/fco/signature.h +--- tripwire-2.3.1-2.old/src/fco/signature.h Fri Oct 27 17:25:41 2000 ++++ tripwire-2.3.1-2/src/fco/signature.h Sun Mar 18 12:48:22 2001 +@@ -50,8 +50,27 @@ + + #include + #include "core/crc32.h" +-#include "core/sha.h" +-#include "core/md5.h" ++ ++#ifdef HAVE_OPENSSL_MD5_H ++# include ++# define digest data ++#else ++# include "core/md5.h" ++# ifndef MD5_DIGEST_LENGTH ++# define MD5_DIGEST_LENGTH 16 ++# endif ++#endif ++ ++#ifdef HAVE_OPENSSL_SHA_H ++# include ++#else ++# include "core/sha.h" ++# define SHA_CTX SHS_INFO ++# ifndef SHA_DIGEST_LENGTH ++# define SHA_DIGEST_LENGTH 20 ++# endif ++#endif ++ + #include "core/haval.h" + // TODO: figure out a way to do this without including these headers. + // pool of objects? +@@ -243,10 +262,11 @@ + virtual void Write(iSerializer* pSerializer) const; // throw (eSerializer, eArchive) + + protected: +- enum { SIG_BYTE_SIZE = 16 }; ++ enum { SIG_BYTE_SIZE = MD5_DIGEST_LENGTH }; + + virtual bool IsEqual(const iSignature& rhs) const; +- MD5_CTX mMD5Info; ++ MD5_CTX mMD5Info; ++ uint8 md5_digest[MD5_DIGEST_LENGTH]; + }; + + /////////////////////////////////////////////////////////////////////////////// +@@ -271,11 +291,12 @@ + virtual void Write(iSerializer* pSerializer) const; + + protected: +- enum { SIG_UINT32_SIZE = 5 }; ++ enum { SIG_UINT32_SIZE = SHA_DIGEST_LENGTH/4 }; + +- SHS_INFO mSHAInfo; ++ SHA_CTX mSHAInfo; + +- virtual bool IsEqual(const iSignature& rhs) const; ++ virtual bool IsEqual(const iSignature& rhs) const; ++ uint32 sha_digest[SHA_DIGEST_LENGTH/4]; + }; + + /////////////////////////////////////////////////////////////////////////////// +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/fs/Makefile.am tripwire-2.3.1-2/src/fs/Makefile.am +--- tripwire-2.3.1-2.old/src/fs/Makefile.am Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/fs/Makefile.am Sun Mar 16 11:50:05 2003 +@@ -0,0 +1,15 @@ ++AUTOMAKE_OPTIONS = foreign no-dependencies ++ ++INCLUDES = -I.. @STLPORT_INCLUDE@ ++ ++noinst_LIBRARIES = libfs.a ++libfs_a_SOURCES = \ ++ fs.cpp fsdatasourceiter.cpp fserrors.cpp fsfactory.cpp \ ++ fsnametranslator.cpp fsobject.cpp fsparserutil.cpp \ ++ fspropcalc.cpp fspropdisplayer.cpp fspropset.cpp \ ++ fsstrings.cpp fsvisitor.cpp stdfs.cpp ++ ++DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit ++ ++all: $(noinst_LIBRARIES) ++ $(AR) ru ../../lib/libtripwire.a $(libfs_a_OBJECTS) +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/fs/Makefile.in tripwire-2.3.1-2/src/fs/Makefile.in +--- tripwire-2.3.1-2.old/src/fs/Makefile.in Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/fs/Makefile.in Mon Sep 22 09:40:56 2003 +@@ -0,0 +1,295 @@ ++# Makefile.in generated automatically by automake 1.5 from Makefile.am. ++ ++# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 ++# Free Software Foundation, Inc. ++# This Makefile.in is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without ++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A ++# PARTICULAR PURPOSE. ++ ++@SET_MAKE@ ++ ++SHELL = @SHELL@ ++ ++srcdir = @srcdir@ ++top_srcdir = @top_srcdir@ ++VPATH = @srcdir@ ++prefix = @prefix@ ++exec_prefix = @exec_prefix@ ++ ++bindir = @bindir@ ++sbindir = @sbindir@ ++libexecdir = @libexecdir@ ++datadir = @datadir@ ++sysconfdir = @sysconfdir@ ++sharedstatedir = @sharedstatedir@ ++localstatedir = @localstatedir@ ++libdir = @libdir@ ++infodir = @infodir@ ++mandir = @mandir@ ++includedir = @includedir@ ++oldincludedir = /usr/include ++pkgdatadir = $(datadir)/@PACKAGE@ ++pkglibdir = $(libdir)/@PACKAGE@ ++pkgincludedir = $(includedir)/@PACKAGE@ ++top_builddir = ../.. ++ ++ACLOCAL = @ACLOCAL@ ++AUTOCONF = @AUTOCONF@ ++AUTOMAKE = @AUTOMAKE@ ++AUTOHEADER = @AUTOHEADER@ ++ ++INSTALL = @INSTALL@ ++INSTALL_PROGRAM = @INSTALL_PROGRAM@ ++INSTALL_DATA = @INSTALL_DATA@ ++INSTALL_SCRIPT = @INSTALL_SCRIPT@ ++INSTALL_HEADER = $(INSTALL_DATA) ++transform = @program_transform_name@ ++NORMAL_INSTALL = : ++PRE_INSTALL = : ++POST_INSTALL = : ++NORMAL_UNINSTALL = : ++PRE_UNINSTALL = : ++POST_UNINSTALL = : ++AMTAR = @AMTAR@ ++AWK = @AWK@ ++CC = @CC@ ++CORE_CRYPT_O = @CORE_CRYPT_O@ ++CXX = @CXX@ ++DEPDIR = @DEPDIR@ ++EXEEXT = @EXEEXT@ ++GMAKE = @GMAKE@ ++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ ++OBJEXT = @OBJEXT@ ++PACKAGE = @PACKAGE@ ++RANLIB = @RANLIB@ ++STLPORT_INCLUDE = @STLPORT_INCLUDE@ ++STLPORT_LD = @STLPORT_LD@ ++STLPORT_LIBRARY = @STLPORT_LIBRARY@ ++STLPORT_MAKEFILE = @STLPORT_MAKEFILE@ ++STLPORT_SUBDIR = @STLPORT_SUBDIR@ ++SYSPRE = @SYSPRE@ ++VERSION = @VERSION@ ++YACC = @YACC@ ++am__include = @am__include@ ++am__quote = @am__quote@ ++install_sh = @install_sh@ ++path_to_sendmail = @path_to_sendmail@ ++path_to_vi = @path_to_vi@ ++ ++AUTOMAKE_OPTIONS = foreign no-dependencies ++ ++INCLUDES = -I.. @STLPORT_INCLUDE@ ++ ++noinst_LIBRARIES = libfs.a ++libfs_a_SOURCES = \ ++ fs.cpp fsdatasourceiter.cpp fserrors.cpp fsfactory.cpp \ ++ fsnametranslator.cpp fsobject.cpp fsparserutil.cpp \ ++ fspropcalc.cpp fspropdisplayer.cpp fspropset.cpp \ ++ fsstrings.cpp fsvisitor.cpp stdfs.cpp ++ ++ ++DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit ++subdir = src/fs ++mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs ++CONFIG_HEADER = $(top_builddir)/config.h ++CONFIG_CLEAN_FILES = ++LIBRARIES = $(noinst_LIBRARIES) ++ ++libfs_a_AR = $(AR) cru ++libfs_a_LIBADD = ++am_libfs_a_OBJECTS = fs.$(OBJEXT) fsdatasourceiter.$(OBJEXT) \ ++ fserrors.$(OBJEXT) fsfactory.$(OBJEXT) \ ++ fsnametranslator.$(OBJEXT) fsobject.$(OBJEXT) \ ++ fsparserutil.$(OBJEXT) fspropcalc.$(OBJEXT) \ ++ fspropdisplayer.$(OBJEXT) fspropset.$(OBJEXT) \ ++ fsstrings.$(OBJEXT) fsvisitor.$(OBJEXT) stdfs.$(OBJEXT) ++libfs_a_OBJECTS = $(am_libfs_a_OBJECTS) ++DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) ++CPPFLAGS = @CPPFLAGS@ ++LDFLAGS = @LDFLAGS@ ++LIBS = @LIBS@ ++depcomp = ++CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) ++CXXLD = $(CXX) ++CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ ++ -o $@ ++CXXFLAGS = @CXXFLAGS@ ++DIST_SOURCES = $(libfs_a_SOURCES) ++DIST_COMMON = Makefile.am Makefile.in ++SOURCES = $(libfs_a_SOURCES) ++ ++all: all-am ++ ++.SUFFIXES: ++.SUFFIXES: .cpp .o .obj ++$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) ++ cd $(top_srcdir) && \ ++ $(AUTOMAKE) --foreign src/fs/Makefile ++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status ++ cd $(top_builddir) && \ ++ CONFIG_HEADERS= CONFIG_LINKS= \ ++ CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status ++ ++AR = ar ++ ++clean-noinstLIBRARIES: ++ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) ++libfs.a: $(libfs_a_OBJECTS) $(libfs_a_DEPENDENCIES) ++ -rm -f libfs.a ++ $(libfs_a_AR) libfs.a $(libfs_a_OBJECTS) $(libfs_a_LIBADD) ++ $(RANLIB) libfs.a ++ ++mostlyclean-compile: ++ -rm -f *.$(OBJEXT) core *.core ++ ++distclean-compile: ++ -rm -f *.tab.c ++ ++.cpp.o: ++ $(CXXCOMPILE) -c -o $@ $< ++ ++.cpp.obj: ++ $(CXXCOMPILE) -c -o $@ `cygpath -w $<` ++uninstall-info-am: ++ ++tags: TAGS ++ ++ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ++ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ mkid -fID $$unique $(LISP) ++ ++TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ ++ $(TAGS_FILES) $(LISP) ++ tags=; \ ++ here=`pwd`; \ ++ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ ++ || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) ++ ++GTAGS: ++ here=`CDPATH=: && cd $(top_builddir) && pwd` \ ++ && cd $(top_srcdir) \ ++ && gtags -i $(GTAGS_ARGS) $$here ++ ++distclean-tags: ++ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH ++ ++DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ++ ++top_distdir = ../.. ++distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) ++ ++distdir: $(DISTFILES) ++ @for file in $(DISTFILES); do \ ++ if test -f $$file; then d=.; else d=$(srcdir); fi; \ ++ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ ++ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ ++ $(mkinstalldirs) "$(distdir)/$$dir"; \ ++ fi; \ ++ if test -d $$d/$$file; then \ ++ cp -pR $$d/$$file $(distdir) \ ++ || exit 1; \ ++ else \ ++ test -f $(distdir)/$$file \ ++ || cp -p $$d/$$file $(distdir)/$$file \ ++ || exit 1; \ ++ fi; \ ++ done ++check-am: all-am ++check: check-am ++all-am: Makefile $(LIBRARIES) ++ ++installdirs: ++ ++install: install-am ++install-exec: install-exec-am ++install-data: install-data-am ++uninstall: uninstall-am ++ ++install-am: all-am ++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am ++ ++installcheck: installcheck-am ++install-strip: ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ `test -z '$(STRIP)' || \ ++ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install ++mostlyclean-generic: ++ ++clean-generic: ++ ++distclean-generic: ++ -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* ++ ++maintainer-clean-generic: ++ @echo "This command is intended for maintainers to use" ++ @echo "it deletes files that may require special tools to rebuild." ++clean: clean-am ++ ++clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am ++ ++distclean: distclean-am ++ ++distclean-am: clean-am distclean-compile distclean-generic \ ++ distclean-tags ++ ++dvi: dvi-am ++ ++dvi-am: ++ ++info: info-am ++ ++info-am: ++ ++install-data-am: ++ ++install-exec-am: ++ ++install-info: install-info-am ++ ++install-man: ++ ++installcheck-am: ++ ++maintainer-clean: maintainer-clean-am ++ ++maintainer-clean-am: distclean-am maintainer-clean-generic ++ ++mostlyclean: mostlyclean-am ++ ++mostlyclean-am: mostlyclean-compile mostlyclean-generic ++ ++uninstall-am: uninstall-info-am ++ ++.PHONY: GTAGS all all-am check check-am clean clean-generic \ ++ clean-noinstLIBRARIES distclean distclean-compile \ ++ distclean-generic distclean-tags distdir dvi dvi-am info \ ++ info-am install install-am install-data install-data-am \ ++ install-exec install-exec-am install-info install-info-am \ ++ install-man install-strip installcheck installcheck-am \ ++ installdirs maintainer-clean maintainer-clean-generic \ ++ mostlyclean mostlyclean-compile mostlyclean-generic tags \ ++ uninstall uninstall-am uninstall-info-am ++ ++ ++all: $(noinst_LIBRARIES) ++ $(AR) ru ../../lib/libtripwire.a $(libfs_a_OBJECTS) ++# Tell versions [3.59,3.63) of GNU make to not export all variables. ++# Otherwise a system limit (for SysV at least) may be exceeded. ++.NOEXPORT: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/fs/fs.h tripwire-2.3.1-2/src/fs/fs.h +--- tripwire-2.3.1-2.old/src/fs/fs.h Sat Oct 28 12:22:55 2000 ++++ tripwire-2.3.1-2/src/fs/fs.h Thu Jun 19 14:06:25 2003 +@@ -59,8 +59,8 @@ + private: + enum { GENRE_ID = 0x00020001 }; + +- cGenreInfo fsGenre; + cFSFactory fsFactory; ++ cGenreInfo fsGenre; + + TSS_EndPackage( cFS ) + +Only in tripwire-2.3.1-2.old/src/fs: fs.mak +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/fs/fsobject.h tripwire-2.3.1-2/src/fs/fsobject.h +--- tripwire-2.3.1-2.old/src/fs/fsobject.h Fri Oct 27 17:25:35 2000 ++++ tripwire-2.3.1-2/src/fs/fsobject.h Sun Mar 18 03:16:28 2001 +@@ -88,12 +88,12 @@ + // concerns. + #endif + +-private: + cFSObject(); + virtual ~cFSObject(); + // only destroy by calling Release(); Also prevents creation on the + // stack. + ++private: + cFSPropSet mPropSet; + cFCOName mName; + }; +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/fs/fspropcalc.cpp tripwire-2.3.1-2/src/fs/fspropcalc.cpp +--- tripwire-2.3.1-2.old/src/fs/fspropcalc.cpp Fri Oct 27 17:25:36 2000 ++++ tripwire-2.3.1-2/src/fs/fspropcalc.cpp Thu Jun 5 14:58:53 2003 +@@ -47,7 +47,6 @@ + + #if IS_UNIX + #include +-static void util_SetFileTime( const TSTRING& strFile, time_t atime, time_t mtime, cErrorBucket* pErrorBucket ); + #endif + + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/fs/fspropcalc.h tripwire-2.3.1-2/src/fs/fspropcalc.h +--- tripwire-2.3.1-2.old/src/fs/fspropcalc.h Fri Oct 27 17:25:35 2000 ++++ tripwire-2.3.1-2/src/fs/fspropcalc.h Thu Jun 19 14:06:25 2003 +@@ -78,9 +78,9 @@ + void operator =( const cFSPropCalc& ); + + cFCOPropVector mPropVector; +- cErrorBucket* mpErrorBucket; + iFCOPropCalc::CollisionAction mCollAction; + int mCalcFlags; ++ cErrorBucket* mpErrorBucket; + }; + + inline int cFSPropCalc::GetCalcFlags() const +Only in tripwire-2.3.1-2.old/src/make_include: common_rules.mak +Only in tripwire-2.3.1-2.old/src/make_include: i386-unknown-freebsd.inc +Only in tripwire-2.3.1-2.old/src/make_include: i386-unknown-openbsd.inc +Only in tripwire-2.3.1-2.old/src/make_include: i686-pc-linux.inc +Only in tripwire-2.3.1-2.old/src/make_include: sparc-linux.inc +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/parser/tokens.l tripwire-2.3.1-2/src/parser/tokens.l +--- tripwire-2.3.1-2.old/src/parser/tokens.l Fri Oct 27 17:26:22 2000 ++++ tripwire-2.3.1-2/src/parser/tokens.l Thu Aug 15 15:11:38 2002 +@@ -47,7 +47,9 @@ + //#endif + + #include ++#ifdef HAVE_MALLOC_H + #include ++#endif + #include + + #include "core/debug.h" +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/siggen/Makefile.am tripwire-2.3.1-2/src/siggen/Makefile.am +--- tripwire-2.3.1-2.old/src/siggen/Makefile.am Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/siggen/Makefile.am Sat Jun 7 00:01:26 2003 +@@ -0,0 +1,17 @@ ++AUTOMAKE_OPTIONS = foreign no-dependencies ++AM_INSTALL_PROGRAM_FLAGS = -m 755 ++ ++INCLUDES = -I.. @STLPORT_INCLUDE@ ++LIBS = -ltripwire -lcryptlib @STLPORT_LD@ @LIBS@ ++LDFLAGS = @LDFLAGS@ -L../../lib ++ ++sbin_PROGRAMS = siggen ++siggen_SOURCES = \ ++ siggen.cpp siggencmdline.cpp siggenmain.cpp \ ++ siggenstrings.cpp stdsiggen.cpp ++ ++DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit ++CLEANFILES = ../../bin/siggen ++ ++all: $(sbin_PROGRAMS) ++ @test -d ../../bin && ln -f $(sbin_PROGRAMS) ../../bin +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/siggen/Makefile.in tripwire-2.3.1-2/src/siggen/Makefile.in +--- tripwire-2.3.1-2.old/src/siggen/Makefile.in Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/siggen/Makefile.in Mon Sep 22 09:40:56 2003 +@@ -0,0 +1,314 @@ ++# Makefile.in generated automatically by automake 1.5 from Makefile.am. ++ ++# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 ++# Free Software Foundation, Inc. ++# This Makefile.in is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without ++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A ++# PARTICULAR PURPOSE. ++ ++@SET_MAKE@ ++ ++SHELL = @SHELL@ ++ ++srcdir = @srcdir@ ++top_srcdir = @top_srcdir@ ++VPATH = @srcdir@ ++prefix = @prefix@ ++exec_prefix = @exec_prefix@ ++ ++bindir = @bindir@ ++sbindir = @sbindir@ ++libexecdir = @libexecdir@ ++datadir = @datadir@ ++sysconfdir = @sysconfdir@ ++sharedstatedir = @sharedstatedir@ ++localstatedir = @localstatedir@ ++libdir = @libdir@ ++infodir = @infodir@ ++mandir = @mandir@ ++includedir = @includedir@ ++oldincludedir = /usr/include ++pkgdatadir = $(datadir)/@PACKAGE@ ++pkglibdir = $(libdir)/@PACKAGE@ ++pkgincludedir = $(includedir)/@PACKAGE@ ++top_builddir = ../.. ++ ++ACLOCAL = @ACLOCAL@ ++AUTOCONF = @AUTOCONF@ ++AUTOMAKE = @AUTOMAKE@ ++AUTOHEADER = @AUTOHEADER@ ++ ++INSTALL = @INSTALL@ ++INSTALL_PROGRAM = @INSTALL_PROGRAM@ ++INSTALL_DATA = @INSTALL_DATA@ ++INSTALL_SCRIPT = @INSTALL_SCRIPT@ ++INSTALL_HEADER = $(INSTALL_DATA) ++transform = @program_transform_name@ ++NORMAL_INSTALL = : ++PRE_INSTALL = : ++POST_INSTALL = : ++NORMAL_UNINSTALL = : ++PRE_UNINSTALL = : ++POST_UNINSTALL = : ++AMTAR = @AMTAR@ ++AWK = @AWK@ ++CC = @CC@ ++CORE_CRYPT_O = @CORE_CRYPT_O@ ++CXX = @CXX@ ++DEPDIR = @DEPDIR@ ++EXEEXT = @EXEEXT@ ++GMAKE = @GMAKE@ ++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ ++OBJEXT = @OBJEXT@ ++PACKAGE = @PACKAGE@ ++RANLIB = @RANLIB@ ++STLPORT_INCLUDE = @STLPORT_INCLUDE@ ++STLPORT_LD = @STLPORT_LD@ ++STLPORT_LIBRARY = @STLPORT_LIBRARY@ ++STLPORT_MAKEFILE = @STLPORT_MAKEFILE@ ++STLPORT_SUBDIR = @STLPORT_SUBDIR@ ++SYSPRE = @SYSPRE@ ++VERSION = @VERSION@ ++YACC = @YACC@ ++am__include = @am__include@ ++am__quote = @am__quote@ ++install_sh = @install_sh@ ++path_to_sendmail = @path_to_sendmail@ ++path_to_vi = @path_to_vi@ ++ ++AUTOMAKE_OPTIONS = foreign no-dependencies ++AM_INSTALL_PROGRAM_FLAGS = -m 755 ++ ++INCLUDES = -I.. @STLPORT_INCLUDE@ ++LIBS = -ltripwire -lcryptlib @STLPORT_LD@ @LIBS@ ++LDFLAGS = @LDFLAGS@ -L../../lib ++ ++sbin_PROGRAMS = siggen ++siggen_SOURCES = \ ++ siggen.cpp siggencmdline.cpp siggenmain.cpp \ ++ siggenstrings.cpp stdsiggen.cpp ++ ++ ++DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit ++CLEANFILES = ../../bin/siggen ++subdir = src/siggen ++mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs ++CONFIG_HEADER = $(top_builddir)/config.h ++CONFIG_CLEAN_FILES = ++sbin_PROGRAMS = siggen$(EXEEXT) ++PROGRAMS = $(sbin_PROGRAMS) ++ ++am_siggen_OBJECTS = siggen.$(OBJEXT) siggencmdline.$(OBJEXT) \ ++ siggenmain.$(OBJEXT) siggenstrings.$(OBJEXT) \ ++ stdsiggen.$(OBJEXT) ++siggen_OBJECTS = $(am_siggen_OBJECTS) ++siggen_LDADD = $(LDADD) ++siggen_DEPENDENCIES = ++siggen_LDFLAGS = ++DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) ++CPPFLAGS = @CPPFLAGS@ ++depcomp = ++CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) ++CXXLD = $(CXX) ++CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ ++ -o $@ ++CXXFLAGS = @CXXFLAGS@ ++DIST_SOURCES = $(siggen_SOURCES) ++DIST_COMMON = Makefile.am Makefile.in ++SOURCES = $(siggen_SOURCES) ++ ++all: all-am ++ ++.SUFFIXES: ++.SUFFIXES: .cpp .o .obj ++$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) ++ cd $(top_srcdir) && \ ++ $(AUTOMAKE) --foreign src/siggen/Makefile ++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status ++ cd $(top_builddir) && \ ++ CONFIG_HEADERS= CONFIG_LINKS= \ ++ CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status ++install-sbinPROGRAMS: $(sbin_PROGRAMS) ++ @$(NORMAL_INSTALL) ++ $(mkinstalldirs) $(DESTDIR)$(sbindir) ++ @list='$(sbin_PROGRAMS)'; for p in $$list; do \ ++ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ ++ if test -f $$p \ ++ ; then \ ++ f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \ ++ echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(sbindir)/$$f"; \ ++ $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(sbindir)/$$f; \ ++ else :; fi; \ ++ done ++ ++uninstall-sbinPROGRAMS: ++ @$(NORMAL_UNINSTALL) ++ @list='$(sbin_PROGRAMS)'; for p in $$list; do \ ++ f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ ++ echo " rm -f $(DESTDIR)$(sbindir)/$$f"; \ ++ rm -f $(DESTDIR)$(sbindir)/$$f; \ ++ done ++ ++clean-sbinPROGRAMS: ++ -test -z "$(sbin_PROGRAMS)" || rm -f $(sbin_PROGRAMS) ++siggen$(EXEEXT): $(siggen_OBJECTS) $(siggen_DEPENDENCIES) ++ @rm -f siggen$(EXEEXT) ++ $(CXXLINK) $(siggen_LDFLAGS) $(siggen_OBJECTS) $(siggen_LDADD) $(LIBS) ++ ++mostlyclean-compile: ++ -rm -f *.$(OBJEXT) core *.core ++ ++distclean-compile: ++ -rm -f *.tab.c ++ ++.cpp.o: ++ $(CXXCOMPILE) -c -o $@ $< ++ ++.cpp.obj: ++ $(CXXCOMPILE) -c -o $@ `cygpath -w $<` ++uninstall-info-am: ++ ++tags: TAGS ++ ++ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ++ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ mkid -fID $$unique $(LISP) ++ ++TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ ++ $(TAGS_FILES) $(LISP) ++ tags=; \ ++ here=`pwd`; \ ++ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ ++ || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) ++ ++GTAGS: ++ here=`CDPATH=: && cd $(top_builddir) && pwd` \ ++ && cd $(top_srcdir) \ ++ && gtags -i $(GTAGS_ARGS) $$here ++ ++distclean-tags: ++ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH ++ ++DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ++ ++top_distdir = ../.. ++distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) ++ ++distdir: $(DISTFILES) ++ @for file in $(DISTFILES); do \ ++ if test -f $$file; then d=.; else d=$(srcdir); fi; \ ++ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ ++ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ ++ $(mkinstalldirs) "$(distdir)/$$dir"; \ ++ fi; \ ++ if test -d $$d/$$file; then \ ++ cp -pR $$d/$$file $(distdir) \ ++ || exit 1; \ ++ else \ ++ test -f $(distdir)/$$file \ ++ || cp -p $$d/$$file $(distdir)/$$file \ ++ || exit 1; \ ++ fi; \ ++ done ++check-am: all-am ++check: check-am ++all-am: Makefile $(PROGRAMS) ++ ++installdirs: ++ $(mkinstalldirs) $(DESTDIR)$(sbindir) ++ ++install: install-am ++install-exec: install-exec-am ++install-data: install-data-am ++uninstall: uninstall-am ++ ++install-am: all-am ++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am ++ ++installcheck: installcheck-am ++install-strip: ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ `test -z '$(STRIP)' || \ ++ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install ++mostlyclean-generic: ++ ++clean-generic: ++ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) ++ ++distclean-generic: ++ -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* ++ ++maintainer-clean-generic: ++ @echo "This command is intended for maintainers to use" ++ @echo "it deletes files that may require special tools to rebuild." ++clean: clean-am ++ ++clean-am: clean-generic clean-sbinPROGRAMS mostlyclean-am ++ ++distclean: distclean-am ++ ++distclean-am: clean-am distclean-compile distclean-generic \ ++ distclean-tags ++ ++dvi: dvi-am ++ ++dvi-am: ++ ++info: info-am ++ ++info-am: ++ ++install-data-am: ++ ++install-exec-am: install-sbinPROGRAMS ++ ++install-info: install-info-am ++ ++install-man: ++ ++installcheck-am: ++ ++maintainer-clean: maintainer-clean-am ++ ++maintainer-clean-am: distclean-am maintainer-clean-generic ++ ++mostlyclean: mostlyclean-am ++ ++mostlyclean-am: mostlyclean-compile mostlyclean-generic ++ ++uninstall-am: uninstall-info-am uninstall-sbinPROGRAMS ++ ++.PHONY: GTAGS all all-am check check-am clean clean-generic \ ++ clean-sbinPROGRAMS distclean distclean-compile \ ++ distclean-generic distclean-tags distdir dvi dvi-am info \ ++ info-am install install-am install-data install-data-am \ ++ install-exec install-exec-am install-info install-info-am \ ++ install-man install-sbinPROGRAMS install-strip installcheck \ ++ installcheck-am installdirs maintainer-clean \ ++ maintainer-clean-generic mostlyclean mostlyclean-compile \ ++ mostlyclean-generic tags uninstall uninstall-am \ ++ uninstall-info-am uninstall-sbinPROGRAMS ++ ++ ++all: $(sbin_PROGRAMS) ++ @test -d ../../bin && ln -f $(sbin_PROGRAMS) ../../bin ++# Tell versions [3.59,3.63) of GNU make to not export all variables. ++# Otherwise a system limit (for SysV at least) may be exceeded. ++.NOEXPORT: +Only in tripwire-2.3.1-2.old/src/siggen: siggen.mak +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/siggen/siggenmain.cpp tripwire-2.3.1-2/src/siggen/siggenmain.cpp +--- tripwire-2.3.1-2.old/src/siggen/siggenmain.cpp Fri Oct 27 17:26:25 2000 ++++ tripwire-2.3.1-2/src/siggen/siggenmain.cpp Mon Aug 12 20:49:35 2002 +@@ -56,7 +56,7 @@ + #include + + #if IS_UNIX +-#include "core/unix/unixfsservices.h" ++#include "core/unixfsservices.h" + #include + #endif + +@@ -118,11 +118,6 @@ + // set unexpected and terminate handlers + // Note: we do this before Init() in case it attempts to call these handlers + // TODO: move this into the Init() routine +-#if IS_GCC +- #define EXCEPTION_NAMESPACE +- #else +- #define EXCEPTION_NAMESPACE std:: +- #endif + EXCEPTION_NAMESPACE set_terminate(tw_terminate_handler); + EXCEPTION_NAMESPACE set_unexpected(tw_unexpected_handler); + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/test/test.cpp tripwire-2.3.1-2/src/test/test.cpp +--- tripwire-2.3.1-2.old/src/test/test.cpp Fri Oct 27 17:26:21 2000 ++++ tripwire-2.3.1-2/src/test/test.cpp Mon Aug 12 20:49:35 2002 +@@ -287,11 +287,6 @@ + std::cout << "Test: argc - " << argc << std::endl; + std::cout << "Test: *argv - " << argv[0] << std::endl; + +-#if IS_GCC +- #define EXCEPTION_NAMESPACE +- #else +- #define EXCEPTION_NAMESPACE std:: +- #endif + EXCEPTION_NAMESPACE set_terminate(tw_terminate_handler); + EXCEPTION_NAMESPACE set_unexpected(tw_unexpected_handler); + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/test-harness/twtools.pm tripwire-2.3.1-2/src/test-harness/twtools.pm +--- tripwire-2.3.1-2.old/src/test-harness/twtools.pm Fri Oct 27 17:26:25 2000 ++++ tripwire-2.3.1-2/src/test-harness/twtools.pm Sun Mar 4 08:36:09 2001 +@@ -21,7 +21,7 @@ + $twsitepass = "testing"; + $twlocalpass = "testing"; + +- $twbinaries = "../../../../bin/i686-pc-linux_r"; ++ $twbinaries = "../../../../bin"; + + $twfailedtests = 0; + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/tripwire/Makefile.am tripwire-2.3.1-2/src/tripwire/Makefile.am +--- tripwire-2.3.1-2.old/src/tripwire/Makefile.am Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/tripwire/Makefile.am Sat Jun 7 00:01:26 2003 +@@ -0,0 +1,19 @@ ++AUTOMAKE_OPTIONS = foreign no-dependencies ++AM_INSTALL_PROGRAM_FLAGS = -m 755 ++ ++INCLUDES = -I.. @STLPORT_INCLUDE@ ++LIBS = -ltripwire -lcryptlib @STLPORT_LD@ @LIBS@ ++LDFLAGS = @LDFLAGS@ -L../../lib ++ ++sbin_PROGRAMS = tripwire ++tripwire_SOURCES = \ ++ generatedb.cpp integritycheck.cpp mailmessage.cpp pipedmailmessage.cpp \ ++ policyupdate.cpp smtpmailmessage.cpp stdtripwire.cpp syslog_trip.cpp \ ++ tripwire.cpp tripwireerrors.cpp tripwiremain.cpp tripwirestrings.cpp \ ++ tripwireutil.cpp twcmdline.cpp twcmdlineutil.cpp updatedb.cpp ++ ++DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit ++CLEANFILES = ../../bin/tripwire ../../lib/libtripwire.a ++ ++all: $(sbin_PROGRAMS) ++ @test -d ../../bin && ln -f $(sbin_PROGRAMS) ../../bin +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/tripwire/Makefile.in tripwire-2.3.1-2/src/tripwire/Makefile.in +--- tripwire-2.3.1-2.old/src/tripwire/Makefile.in Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/tripwire/Makefile.in Mon Sep 22 09:40:56 2003 +@@ -0,0 +1,320 @@ ++# Makefile.in generated automatically by automake 1.5 from Makefile.am. ++ ++# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 ++# Free Software Foundation, Inc. ++# This Makefile.in is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without ++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A ++# PARTICULAR PURPOSE. ++ ++@SET_MAKE@ ++ ++SHELL = @SHELL@ ++ ++srcdir = @srcdir@ ++top_srcdir = @top_srcdir@ ++VPATH = @srcdir@ ++prefix = @prefix@ ++exec_prefix = @exec_prefix@ ++ ++bindir = @bindir@ ++sbindir = @sbindir@ ++libexecdir = @libexecdir@ ++datadir = @datadir@ ++sysconfdir = @sysconfdir@ ++sharedstatedir = @sharedstatedir@ ++localstatedir = @localstatedir@ ++libdir = @libdir@ ++infodir = @infodir@ ++mandir = @mandir@ ++includedir = @includedir@ ++oldincludedir = /usr/include ++pkgdatadir = $(datadir)/@PACKAGE@ ++pkglibdir = $(libdir)/@PACKAGE@ ++pkgincludedir = $(includedir)/@PACKAGE@ ++top_builddir = ../.. ++ ++ACLOCAL = @ACLOCAL@ ++AUTOCONF = @AUTOCONF@ ++AUTOMAKE = @AUTOMAKE@ ++AUTOHEADER = @AUTOHEADER@ ++ ++INSTALL = @INSTALL@ ++INSTALL_PROGRAM = @INSTALL_PROGRAM@ ++INSTALL_DATA = @INSTALL_DATA@ ++INSTALL_SCRIPT = @INSTALL_SCRIPT@ ++INSTALL_HEADER = $(INSTALL_DATA) ++transform = @program_transform_name@ ++NORMAL_INSTALL = : ++PRE_INSTALL = : ++POST_INSTALL = : ++NORMAL_UNINSTALL = : ++PRE_UNINSTALL = : ++POST_UNINSTALL = : ++AMTAR = @AMTAR@ ++AWK = @AWK@ ++CC = @CC@ ++CORE_CRYPT_O = @CORE_CRYPT_O@ ++CXX = @CXX@ ++DEPDIR = @DEPDIR@ ++EXEEXT = @EXEEXT@ ++GMAKE = @GMAKE@ ++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ ++OBJEXT = @OBJEXT@ ++PACKAGE = @PACKAGE@ ++RANLIB = @RANLIB@ ++STLPORT_INCLUDE = @STLPORT_INCLUDE@ ++STLPORT_LD = @STLPORT_LD@ ++STLPORT_LIBRARY = @STLPORT_LIBRARY@ ++STLPORT_MAKEFILE = @STLPORT_MAKEFILE@ ++STLPORT_SUBDIR = @STLPORT_SUBDIR@ ++SYSPRE = @SYSPRE@ ++VERSION = @VERSION@ ++YACC = @YACC@ ++am__include = @am__include@ ++am__quote = @am__quote@ ++install_sh = @install_sh@ ++path_to_sendmail = @path_to_sendmail@ ++path_to_vi = @path_to_vi@ ++ ++AUTOMAKE_OPTIONS = foreign no-dependencies ++AM_INSTALL_PROGRAM_FLAGS = -m 755 ++ ++INCLUDES = -I.. @STLPORT_INCLUDE@ ++LIBS = -ltripwire -lcryptlib @STLPORT_LD@ @LIBS@ ++LDFLAGS = @LDFLAGS@ -L../../lib ++ ++sbin_PROGRAMS = tripwire ++tripwire_SOURCES = \ ++ generatedb.cpp integritycheck.cpp mailmessage.cpp pipedmailmessage.cpp \ ++ policyupdate.cpp smtpmailmessage.cpp stdtripwire.cpp syslog_trip.cpp \ ++ tripwire.cpp tripwireerrors.cpp tripwiremain.cpp tripwirestrings.cpp \ ++ tripwireutil.cpp twcmdline.cpp twcmdlineutil.cpp updatedb.cpp ++ ++ ++DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit ++CLEANFILES = ../../bin/tripwire ../../lib/libtripwire.a ++subdir = src/tripwire ++mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs ++CONFIG_HEADER = $(top_builddir)/config.h ++CONFIG_CLEAN_FILES = ++sbin_PROGRAMS = tripwire$(EXEEXT) ++PROGRAMS = $(sbin_PROGRAMS) ++ ++am_tripwire_OBJECTS = generatedb.$(OBJEXT) integritycheck.$(OBJEXT) \ ++ mailmessage.$(OBJEXT) pipedmailmessage.$(OBJEXT) \ ++ policyupdate.$(OBJEXT) smtpmailmessage.$(OBJEXT) \ ++ stdtripwire.$(OBJEXT) syslog_trip.$(OBJEXT) tripwire.$(OBJEXT) \ ++ tripwireerrors.$(OBJEXT) tripwiremain.$(OBJEXT) \ ++ tripwirestrings.$(OBJEXT) tripwireutil.$(OBJEXT) \ ++ twcmdline.$(OBJEXT) twcmdlineutil.$(OBJEXT) updatedb.$(OBJEXT) ++tripwire_OBJECTS = $(am_tripwire_OBJECTS) ++tripwire_LDADD = $(LDADD) ++tripwire_DEPENDENCIES = ++tripwire_LDFLAGS = ++DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) ++CPPFLAGS = @CPPFLAGS@ ++depcomp = ++CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) ++CXXLD = $(CXX) ++CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ ++ -o $@ ++CXXFLAGS = @CXXFLAGS@ ++DIST_SOURCES = $(tripwire_SOURCES) ++DIST_COMMON = Makefile.am Makefile.in ++SOURCES = $(tripwire_SOURCES) ++ ++all: all-am ++ ++.SUFFIXES: ++.SUFFIXES: .cpp .o .obj ++$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) ++ cd $(top_srcdir) && \ ++ $(AUTOMAKE) --foreign src/tripwire/Makefile ++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status ++ cd $(top_builddir) && \ ++ CONFIG_HEADERS= CONFIG_LINKS= \ ++ CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status ++install-sbinPROGRAMS: $(sbin_PROGRAMS) ++ @$(NORMAL_INSTALL) ++ $(mkinstalldirs) $(DESTDIR)$(sbindir) ++ @list='$(sbin_PROGRAMS)'; for p in $$list; do \ ++ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ ++ if test -f $$p \ ++ ; then \ ++ f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \ ++ echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(sbindir)/$$f"; \ ++ $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(sbindir)/$$f; \ ++ else :; fi; \ ++ done ++ ++uninstall-sbinPROGRAMS: ++ @$(NORMAL_UNINSTALL) ++ @list='$(sbin_PROGRAMS)'; for p in $$list; do \ ++ f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ ++ echo " rm -f $(DESTDIR)$(sbindir)/$$f"; \ ++ rm -f $(DESTDIR)$(sbindir)/$$f; \ ++ done ++ ++clean-sbinPROGRAMS: ++ -test -z "$(sbin_PROGRAMS)" || rm -f $(sbin_PROGRAMS) ++tripwire$(EXEEXT): $(tripwire_OBJECTS) $(tripwire_DEPENDENCIES) ++ @rm -f tripwire$(EXEEXT) ++ $(CXXLINK) $(tripwire_LDFLAGS) $(tripwire_OBJECTS) $(tripwire_LDADD) $(LIBS) ++ ++mostlyclean-compile: ++ -rm -f *.$(OBJEXT) core *.core ++ ++distclean-compile: ++ -rm -f *.tab.c ++ ++.cpp.o: ++ $(CXXCOMPILE) -c -o $@ $< ++ ++.cpp.obj: ++ $(CXXCOMPILE) -c -o $@ `cygpath -w $<` ++uninstall-info-am: ++ ++tags: TAGS ++ ++ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ++ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ mkid -fID $$unique $(LISP) ++ ++TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ ++ $(TAGS_FILES) $(LISP) ++ tags=; \ ++ here=`pwd`; \ ++ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ ++ || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) ++ ++GTAGS: ++ here=`CDPATH=: && cd $(top_builddir) && pwd` \ ++ && cd $(top_srcdir) \ ++ && gtags -i $(GTAGS_ARGS) $$here ++ ++distclean-tags: ++ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH ++ ++DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ++ ++top_distdir = ../.. ++distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) ++ ++distdir: $(DISTFILES) ++ @for file in $(DISTFILES); do \ ++ if test -f $$file; then d=.; else d=$(srcdir); fi; \ ++ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ ++ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ ++ $(mkinstalldirs) "$(distdir)/$$dir"; \ ++ fi; \ ++ if test -d $$d/$$file; then \ ++ cp -pR $$d/$$file $(distdir) \ ++ || exit 1; \ ++ else \ ++ test -f $(distdir)/$$file \ ++ || cp -p $$d/$$file $(distdir)/$$file \ ++ || exit 1; \ ++ fi; \ ++ done ++check-am: all-am ++check: check-am ++all-am: Makefile $(PROGRAMS) ++ ++installdirs: ++ $(mkinstalldirs) $(DESTDIR)$(sbindir) ++ ++install: install-am ++install-exec: install-exec-am ++install-data: install-data-am ++uninstall: uninstall-am ++ ++install-am: all-am ++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am ++ ++installcheck: installcheck-am ++install-strip: ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ `test -z '$(STRIP)' || \ ++ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install ++mostlyclean-generic: ++ ++clean-generic: ++ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) ++ ++distclean-generic: ++ -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* ++ ++maintainer-clean-generic: ++ @echo "This command is intended for maintainers to use" ++ @echo "it deletes files that may require special tools to rebuild." ++clean: clean-am ++ ++clean-am: clean-generic clean-sbinPROGRAMS mostlyclean-am ++ ++distclean: distclean-am ++ ++distclean-am: clean-am distclean-compile distclean-generic \ ++ distclean-tags ++ ++dvi: dvi-am ++ ++dvi-am: ++ ++info: info-am ++ ++info-am: ++ ++install-data-am: ++ ++install-exec-am: install-sbinPROGRAMS ++ ++install-info: install-info-am ++ ++install-man: ++ ++installcheck-am: ++ ++maintainer-clean: maintainer-clean-am ++ ++maintainer-clean-am: distclean-am maintainer-clean-generic ++ ++mostlyclean: mostlyclean-am ++ ++mostlyclean-am: mostlyclean-compile mostlyclean-generic ++ ++uninstall-am: uninstall-info-am uninstall-sbinPROGRAMS ++ ++.PHONY: GTAGS all all-am check check-am clean clean-generic \ ++ clean-sbinPROGRAMS distclean distclean-compile \ ++ distclean-generic distclean-tags distdir dvi dvi-am info \ ++ info-am install install-am install-data install-data-am \ ++ install-exec install-exec-am install-info install-info-am \ ++ install-man install-sbinPROGRAMS install-strip installcheck \ ++ installcheck-am installdirs maintainer-clean \ ++ maintainer-clean-generic mostlyclean mostlyclean-compile \ ++ mostlyclean-generic tags uninstall uninstall-am \ ++ uninstall-info-am uninstall-sbinPROGRAMS ++ ++ ++all: $(sbin_PROGRAMS) ++ @test -d ../../bin && ln -f $(sbin_PROGRAMS) ../../bin ++# Tell versions [3.59,3.63) of GNU make to not export all variables. ++# Otherwise a system limit (for SysV at least) may be exceeded. ++.NOEXPORT: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/tripwire/integritycheck.h tripwire-2.3.1-2/src/tripwire/integritycheck.h +--- tripwire-2.3.1-2.old/src/tripwire/integritycheck.h Fri Oct 27 17:26:17 2000 ++++ tripwire-2.3.1-2/src/tripwire/integritycheck.h Thu Jun 19 14:06:25 2003 +@@ -116,6 +116,7 @@ + }; + + private: ++ cGenre::Genre mGenre; + const cFCOSpecList& mSpecList; + cHierDatabase& mDb; + cFCOReport& mReport; +@@ -123,7 +124,6 @@ + iFCOPropCalc* mpPropCalc; + iFCOSpec* mpCurSpec; // the spec we are currently operating on + cFCOReportSpecIter mReportIter; // the current iterator into the report +- cGenre::Genre mGenre; + cFCOPropVector mLooseDirProps; // properties that should be ignored in loose directories + uint32 mFlags; // flags passed in to execute() + int mnObjectsScanned; // number of objects scanned in system ( scanning includes +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/tripwire/mailmessage.cpp tripwire-2.3.1-2/src/tripwire/mailmessage.cpp +--- tripwire-2.3.1-2.old/src/tripwire/mailmessage.cpp Fri Oct 27 17:26:18 2000 ++++ tripwire-2.3.1-2/src/tripwire/mailmessage.cpp Thu Aug 15 15:11:38 2002 +@@ -228,13 +228,8 @@ + { + bool fGotDate = false; + +-#if !USES_BIN_DATE ++#if HAVE_STRFTIME + +- int64 now = cSystemInfo::GetExeStartTime(); +- strDateBuf = cTimeUtil::GetRFC822Date(cTimeUtil::TimeToDateGMT(now)); +- fGotDate = true; +- +-#else + TCHAR szDate[1024]; + struct tm *tm = NULL; + +@@ -250,9 +245,14 @@ + strDateBuf = szDate; + fGotDate = true; + } +- +- +-#endif // !USES_BIN_DATE ++ ++#else ++ ++ int64 now = cSystemInfo::GetExeStartTime(); ++ strDateBuf = cTimeUtil::GetRFC822Date(cTimeUtil::TimeToDateGMT(now)); ++ fGotDate = true; ++ ++#endif // HAVE_STRFTIME + + return fGotDate; + } +@@ -509,9 +509,9 @@ + std::string::size_type stringSize = 0; + std::string::const_iterator at; + std::string::difference_type charSize; +- for( at = sIn.begin(), charSize = ( tss::strinc( at ) - at ); ++ for( at = sIn.begin(), charSize = ( (*at ? at+1 : at) - at ); + at != sIn.end(); +- at += charSize, charSize = ( tss::strinc( at ) - at ) ) ++ at += charSize, charSize = ( (*at ? at+1 : at) - at ) ) + { + ASSERT( charSize > 0 ); + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/tripwire/mailmessage.h tripwire-2.3.1-2/src/tripwire/mailmessage.h +--- tripwire-2.3.1-2.old/src/tripwire/mailmessage.h Fri Oct 27 17:26:17 2000 ++++ tripwire-2.3.1-2/src/tripwire/mailmessage.h Sun Mar 11 04:11:18 2001 +@@ -333,7 +333,7 @@ + #endif + + +-//#ifdef _UNIX ++//#ifdef IS_UNIX + + /////////////////////////////////////////////////////////////////////////////// + // +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/tripwire/smtpmailmessage.cpp tripwire-2.3.1-2/src/tripwire/smtpmailmessage.cpp +--- tripwire-2.3.1-2.old/src/tripwire/smtpmailmessage.cpp Sat Feb 24 11:02:12 2001 ++++ tripwire-2.3.1-2/src/tripwire/smtpmailmessage.cpp Sun Mar 18 01:40:49 2001 +@@ -54,7 +54,11 @@ + #include + #include + +-#if IS_SOLARIS || IS_AIX ++/* Some systems like Solaris and AIX don't define ++ * INADDR_NONE, but it's pretty standard. If not, ++ * then the OS _should_ define it for us. ++ */ ++#ifndef INADDR_NONE + #define INADDR_NONE 0xffffffff + #endif + +@@ -62,7 +66,7 @@ + + #define INVALID_SOCKET -1 + +-#if !(IS_SOLARIS && IS_IX86) /* solaris/x86 has gethostname */ ++#ifndef HAVE_GETHOSTNAME + static int gethostname( char* name, int namelen ) + { + name[0] = '\0'; +Only in tripwire-2.3.1-2.old/src/tripwire: syslog.cpp +Only in tripwire-2.3.1-2.old/src/tripwire: syslog.h +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/tripwire/syslog_trip.cpp tripwire-2.3.1-2/src/tripwire/syslog_trip.cpp +--- tripwire-2.3.1-2.old/src/tripwire/syslog_trip.cpp Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/tripwire/syslog_trip.cpp Tue Aug 20 22:12:40 2002 +@@ -0,0 +1,248 @@ ++// ++// The developer of the original code and/or files is Tripwire, Inc. ++// Portions created by Tripwire, Inc. are copyright (C) 2000 Tripwire, ++// Inc. Tripwire is a registered trademark of Tripwire, Inc. All rights ++// reserved. ++// ++// This program is free software. The contents of this file are subject ++// to the terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 2 of the License, or (at your ++// option) any later version. You may redistribute it and/or modify it ++// only in compliance with the GNU General Public License. ++// ++// This program is distributed in the hope that it will be useful. ++// However, this program is distributed AS-IS WITHOUT ANY ++// WARRANTY; INCLUDING THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS ++// FOR A PARTICULAR PURPOSE. Please see the GNU General Public License ++// for more details. ++// ++// You should have received a copy of the GNU General Public License ++// along with this program; if not, write to the Free Software ++// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, ++// USA. ++// ++// Nothing in the GNU General Public License or any other license to use ++// the code or files shall permit you to use Tripwire's trademarks, ++// service marks, or other intellectual property without Tripwire's ++// prior written consent. ++// ++// If you have any questions, please contact Tripwire, Inc. at either ++// info@tripwire.org or www.tripwire.org. ++// ++/////////////////////////////////////////////////////////////////////////////// ++// syslog.cpp ++// ++ ++#include "stdtripwire.h" ++#include "syslog_trip.h" ++ ++#if HAVE_SYSLOG_H ++#include ++#endif ++ ++#if HAVE_SYS_SYSLOG_H ++#include ++#endif ++ ++#if SUPPORTS_EVENTLOG ++#include "tripwiremsg.h" ++#include "tw/systeminfo.h" ++#endif ++ ++// next three includes are for error reporting ++#include "tw/twutil.h" ++#include "tw/twerrors.h" ++#include "tw/twstrings.h" ++ ++/////////////////////////////////////////////////////////////////////////////// ++// Syslog ++/////////////////////////////////////////////////////////////////////////////// ++ ++#if SUPPORTS_EVENTLOG ++static void InitEventLog(); ++#endif ++ ++void cSyslog::Log(const TCHAR* programName, cSyslog::LogType logType, const TCHAR* message) ++{ ++#if HAVE_SYSLOG_H ++ ++ (void)logType; // logType is not used for Unix syslog ++ ++#ifdef _UNICODE ++ std::basic_string identString; ++ std::basic_string msgString; ++ int count; ++ ++ count = sizeof(char) * MB_CUR_MAX * _tcslen(programName); // note we use sizeof(char) * 2 because mb chars can be two bytes long ++ identString.resize(count); ++ count = wcstombs((char*)identString.data(), programName, count); ++ identString.resize(count); // count will be set to number of bytes written ++ ++ count = sizeof(char) * MB_CUR_MAX * _tcslen(message); ++ msgString.resize(count); ++ count = wcstombs((char*)msgString.data(), message, count); ++ msgString.resize(count); ++ ++ const char* ident = programName.data(); ++ const char* msg = message.data(); ++#else ++ ASSERT(sizeof(TCHAR) == sizeof(char)); ++ const char* ident = programName; ++ const char* msg = message; ++#endif ++ ++ openlog(ident, LOG_PID, LOG_USER); ++ syslog(LOG_NOTICE, "%s", msg); ++ closelog(); ++ ++#elif SUPPORTS_EVENTLOG ++ ++ static bool eventLogInitialized = false; ++ if (!eventLogInitialized) ++ { ++ InitEventLog(); ++ eventLogInitialized = true; ++ } ++ ++ HANDLE h = RegisterEventSource(NULL, _T("Tripwire")); ++ if (h != NULL) ++ { ++ LPCTSTR stringArray[1]; ++ stringArray[0] = message; ++ ++ WORD type; ++ DWORD id; ++ ++ switch (logType) ++ { ++ default: ++ ASSERT(false); ++ case LOG_SUCCESS: ++ type = EVENTLOG_INFORMATION_TYPE; ++ id = MSG_TRIPWIRE_GENERIC_SUCCESS; ++ break; ++ case LOG_INFORMATION: ++ type = EVENTLOG_INFORMATION_TYPE; ++ id = MSG_TRIPWIRE_GENERIC_INFO; ++ break; ++ case LOG_WARNING: ++ type = EVENTLOG_WARNING_TYPE; ++ id = MSG_TRIPWIRE_GENERIC_WARNING; ++ break; ++ case LOG_ERROR: ++ type = EVENTLOG_ERROR_TYPE; ++ id = MSG_TRIPWIRE_GENERIC_ERROR; ++ break; ++ } ++ ++ BOOL ret = ReportEvent( ++ h, ++ type, // event type ++ 0, // catagory ++ id, // event id ++ 0, // user sid ++ 1, // num strings ++ 0, // raw binary data size ++ stringArray, // array of strings ++ 0 // raw binrary data ++ ); ++ ++ if (!ret) ++ { ++ eTWSyslog e( TSS_GetString(cTW, tw::STR_REPORTEVENT_FAILED).c_str(), eError::NON_FATAL ); ++ cTWUtil::PrintErrorMsg(e); ++ } ++ ++ DeregisterEventSource(h); ++ } ++ ++#else ++ // No support for syslog like functionality ++ //ASSERT(false); ++#endif ++} ++ ++ ++#if SUPPORTS_EVENTLOG ++static void InitEventLog() ++{ ++ // To initialize the event log, we need to verify that Tripwire ++ // is a valid event source. ++ // To do this we look up the value for the Tripwire event source. If it ++ // exists, the the dest is a file called "tripwire.exe" (or this executable) and the ++ // file exists, then we assume that the event source is set correctly. ++ ++ HKEY hKey; ++ DWORD disposition; ++ ++ if (RegCreateKeyEx(HKEY_LOCAL_MACHINE, _T("SYSTEM\\CurrentControlSet\\Services\\EventLog\\Application\\Tripwire"), 0, _T(""), REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hKey, &disposition) == ERROR_SUCCESS && ++ disposition == REG_OPENED_EXISTING_KEY) ++ { ++ DWORD type, count; ++ ++ // We need to insure we have back slashes in our exepath ++ TSTRING exepath = cSystemInfo::GetExePath(); ++ TSTRING::iterator i; ++ for (i = exepath.begin(); i != exepath.end(); ++i) ++ if (*i == _T('/')) ++ *i = _T('\\'); ++ ++ if (RegQueryValueEx(hKey, _T("TypesSupported"), 0, &type, 0, &count) == ERROR_SUCCESS && ++ type == REG_DWORD && ++ RegQueryValueEx(hKey, _T("EventMessageFile"), 0, &type, 0, &count) == ERROR_SUCCESS && ++ type == REG_EXPAND_SZ) ++ { ++ TSTRING data; ++ data.resize(count); ++ if (RegQueryValueEx(hKey, _T("EventMessageFile"), 0, &type, (LPBYTE)data.data(), &count) == ERROR_SUCCESS && ++ type == REG_EXPAND_SZ) ++ { ++ TSTRING::size_type lastDelimitor; ++ lastDelimitor = data.find_last_of(_T('\\')); ++ if (lastDelimitor == TSTRING::npos) ++ lastDelimitor = (TSTRING::size_type)-1; ++ ++ if (_tcscmp(exepath.c_str(), data.c_str()) == 0) ++ { ++ RegCloseKey(hKey); ++ return; ++ } ++ ++ if (_tcsicmp(_T("tripwire.exe"), data.substr(lastDelimitor + 1).c_str()) == 0) ++ { ++ HINSTANCE hInst = LoadLibraryEx(data.c_str(), NULL, DONT_RESOLVE_DLL_REFERENCES|LOAD_LIBRARY_AS_DATAFILE); ++ if (hInst != NULL) ++ { ++ FreeLibrary(hInst); ++ RegCloseKey(hKey); ++ return; ++ } ++ } ++ } ++ } ++ ++ // If we got here then the event source is not set up correctly ++ ++ // Add the name to the EventMessageFile subkey. ++ RegSetValueEx(hKey, // subkey handle ++ _T("EventMessageFile"), // value name ++ 0, // must be zero ++ REG_EXPAND_SZ, // value type ++ (LPBYTE) exepath.c_str(), // pointer to value data ++ sizeof(TCHAR)*(exepath.length() + 1)); // length of value data ++ ++ // Set the supported event types in the TypesSupported subkey. ++ DWORD dwData = EVENTLOG_ERROR_TYPE | EVENTLOG_WARNING_TYPE | EVENTLOG_INFORMATION_TYPE; ++ ++ RegSetValueEx(hKey, // subkey handle ++ _T("TypesSupported"), // value name ++ 0, // must be zero ++ REG_DWORD, // value type ++ (LPBYTE) &dwData, // pointer to value data ++ sizeof(DWORD)); // length of value data ++ ++ RegCloseKey(hKey); ++ } ++} ++#endif ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/tripwire/syslog_trip.h tripwire-2.3.1-2/src/tripwire/syslog_trip.h +--- tripwire-2.3.1-2.old/src/tripwire/syslog_trip.h Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/tripwire/syslog_trip.h Tue Aug 20 22:12:40 2002 +@@ -0,0 +1,60 @@ ++// ++// The developer of the original code and/or files is Tripwire, Inc. ++// Portions created by Tripwire, Inc. are copyright (C) 2000 Tripwire, ++// Inc. Tripwire is a registered trademark of Tripwire, Inc. All rights ++// reserved. ++// ++// This program is free software. The contents of this file are subject ++// to the terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 2 of the License, or (at your ++// option) any later version. You may redistribute it and/or modify it ++// only in compliance with the GNU General Public License. ++// ++// This program is distributed in the hope that it will be useful. ++// However, this program is distributed AS-IS WITHOUT ANY ++// WARRANTY; INCLUDING THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS ++// FOR A PARTICULAR PURPOSE. Please see the GNU General Public License ++// for more details. ++// ++// You should have received a copy of the GNU General Public License ++// along with this program; if not, write to the Free Software ++// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, ++// USA. ++// ++// Nothing in the GNU General Public License or any other license to use ++// the code or files shall permit you to use Tripwire's trademarks, ++// service marks, or other intellectual property without Tripwire's ++// prior written consent. ++// ++// If you have any questions, please contact Tripwire, Inc. at either ++// info@tripwire.org or www.tripwire.org. ++// ++/////////////////////////////////////////////////////////////////////////////// ++// syslog.h ++// ++// cSyslog class. Abstracts logging to Unix syslog or NT Event Log ++// ++ ++#ifndef __SYSLOG_H ++#define __SYSLOG_H ++ ++class cSyslog ++{ ++public: ++ enum LogType ++ { ++ LOG_SUCCESS, ++ LOG_INFORMATION, ++ LOG_WARNING, ++ LOG_ERROR ++ }; ++ ++ static void Log(const TCHAR* programName, cSyslog::LogType logType, const TCHAR* message); ++ // logs message the syslog mechanism on Unix. ++ // currently a NOOP on Windows (but asserts in debug mode) ++ // TODO: Should this be a fsservices function? ++}; ++ ++ ++#endif ++ +Only in tripwire-2.3.1-2.old/src/tripwire: tripwire.mak +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/tripwire/tripwiremain.cpp tripwire-2.3.1-2/src/tripwire/tripwiremain.cpp +--- tripwire-2.3.1-2.old/src/tripwire/tripwiremain.cpp Sat Feb 24 11:02:12 2001 ++++ tripwire-2.3.1-2/src/tripwire/tripwiremain.cpp Thu Jun 19 22:05:48 2003 +@@ -56,7 +56,7 @@ + #include "fco/genreswitcher.h" + + #if IS_UNIX +-#include "core/unix/unixfsservices.h" ++#include "core/unixfsservices.h" + #include + #else + #error Who the hell am I? +@@ -69,7 +69,9 @@ + /////////////////////////////////////////////////////////////////////////////// + /* + #ifdef _DEBUG ++#if defined(HAVE_MALLOC_H) + #include ++#endif + static int32 gCurAlloc=0, + gMaxAlloc=0; + void* operator new(size_t size) +@@ -122,11 +124,6 @@ + // set unexpected and terminate handlers + // Note: we do this before Init() in case it attempts to call these handlers + // TODO: move this into the Init() routine +-#if IS_GCC +- #define EXCEPTION_NAMESPACE +- #else +- #define EXCEPTION_NAMESPACE std:: +- #endif + EXCEPTION_NAMESPACE set_terminate(tw_terminate_handler); + EXCEPTION_NAMESPACE set_unexpected(tw_unexpected_handler); + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/tripwire/twcmdline.cpp tripwire-2.3.1-2/src/tripwire/twcmdline.cpp +--- tripwire-2.3.1-2.old/src/tripwire/twcmdline.cpp Sun Feb 25 12:07:17 2001 ++++ tripwire-2.3.1-2/src/tripwire/twcmdline.cpp Thu Jun 19 14:06:25 2003 +@@ -62,7 +62,7 @@ + #include "core/stringutil.h" + #include "util/fileutil.h" + #include "tw/twstrings.h" +-#include "syslog.h" ++#include "syslog_trip.h" + #include + #include "fco/parsergenreutil.h" // this is needed to figure out if a path is fully qualified for the current genre. + #include "tw/fcodatabasefile.h" +@@ -1523,8 +1523,8 @@ + // if they are non-null when Execute() is called, they should be used as the db and report. + bool mbEncryptDb; + cFCOReport* mpReport; +- cFCOReportHeader* mpReportHeader; + cFCODatabaseFile* mpDbFile; ++ cFCOReportHeader* mpReportHeader; + + // ctor can set up some default values + cTWModeDbUpdate_i() : cTWModeCommon(), mbInteractive(true), mbAnal(true), /*mSiteProvided(false),*/ mpReport(0), mpDbFile(0), mpReportHeader(0) {} +Only in tripwire-2.3.1-2.old/src/tripwire: twcmdline.cpp~ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/tripwire/twcmdline.h tripwire-2.3.1-2/src/tripwire/twcmdline.h +--- tripwire-2.3.1-2.old/src/tripwire/twcmdline.h Sat Feb 3 21:38:27 2001 ++++ tripwire-2.3.1-2/src/tripwire/twcmdline.h Thu Jun 19 21:50:18 2003 +@@ -217,6 +217,8 @@ + // return the MODE_* enumeration for a given mode. + void SetCmdLine( const TSTRING& str ) { mstrCmdLine = str; }; + void SetConfigFile( const TSTRING& str ) { mstrConfigFile = str; }; ++ ++ virtual ~iTWMode() {}; + protected: + TSTRING mstrCmdLine; + TSTRING mstrConfigFile; +@@ -230,7 +232,7 @@ + { + public: + cTWModeDbInit(); +- ~cTWModeDbInit(); ++ virtual ~cTWModeDbInit(); + + virtual void InitCmdLineParser(cCmdLineParser& cmdLine); + virtual bool Init (const cConfigFile& cf, const cCmdLineParser& cmdLine); +@@ -253,7 +255,7 @@ + }; + + cTWModeIC(); +- ~cTWModeIC(); ++ virtual ~cTWModeIC(); + + virtual void InitCmdLineParser(cCmdLineParser& cmdLine); + virtual bool Init (const cConfigFile& cf, const cCmdLineParser& cmdLine); +@@ -273,7 +275,7 @@ + { + public: + cTWModeDbUpdate(); +- ~cTWModeDbUpdate(); ++ virtual ~cTWModeDbUpdate(); + + virtual void InitCmdLineParser(cCmdLineParser& cmdLine); + virtual bool Init (const cConfigFile& cf, const cCmdLineParser& cmdLine); +@@ -302,7 +304,7 @@ + { + public: + cTWModePolUpdate(); +- ~cTWModePolUpdate(); ++ virtual ~cTWModePolUpdate(); + + virtual void InitCmdLineParser(cCmdLineParser& cmdLine); + virtual bool Init (const cConfigFile& cf, const cCmdLineParser& cmdLine); +@@ -322,7 +324,7 @@ + { + public: + cTWModeTest(); +- ~cTWModeTest(); ++ virtual ~cTWModeTest(); + + virtual void InitCmdLineParser(cCmdLineParser& cmdLine); + virtual bool Init (const cConfigFile& cf, const cCmdLineParser& cmdLine); +@@ -343,7 +345,7 @@ + { + public: + cTWModeHelp(); +- ~cTWModeHelp(); ++ virtual ~cTWModeHelp(); + + virtual void InitCmdLineParser(cCmdLineParser& cmdLine); + virtual bool Init (const cConfigFile& cf, const cCmdLineParser& cmdLine); +@@ -366,7 +368,7 @@ + { + public: + cTWModeExploreDb(); +- ~cTWModeExploreDb(); ++ virtual ~cTWModeExploreDb(); + + virtual void InitCmdLineParser(cCmdLineParser& cmdLine); + virtual bool Init (const cConfigFile& cf, const cCmdLineParser& cmdLine); +@@ -386,7 +388,7 @@ + { + public: + cTWModeDebugDb(); +- ~cTWModeDebugDb(); ++ virtual ~cTWModeDebugDb(); + + virtual void InitCmdLineParser(cCmdLineParser& cmdLine); + virtual bool Init (const cConfigFile& cf, const cCmdLineParser& cmdLine); +@@ -407,7 +409,7 @@ + { + public: + cTWModeVersion() {} +- ~cTWModeVersion() {} ++ virtual ~cTWModeVersion() {} + + virtual void InitCmdLineParser(cCmdLineParser& cmdLine) { ASSERT(false); } + virtual bool Init (const cConfigFile& cf, const cCmdLineParser& cmdLine) { ASSERT(false); return true; } +Only in tripwire-2.3.1-2.old/src/tripwire: twcmdlineutil.cpp.old +Only in tripwire-2.3.1-2.old/src/tripwire: twcmdlineutil.cpp~ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/tw/Makefile.am tripwire-2.3.1-2/src/tw/Makefile.am +--- tripwire-2.3.1-2.old/src/tw/Makefile.am Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/tw/Makefile.am Sun Mar 16 11:50:05 2003 +@@ -0,0 +1,17 @@ ++AUTOMAKE_OPTIONS = foreign no-dependencies ++ ++INCLUDES = -I.. @STLPORT_INCLUDE@ ++ ++noinst_LIBRARIES = libtw.a ++libtw_a_SOURCES = \ ++ configfile.cpp dbdatasource.cpp dbdebug.cpp dbexplore.cpp \ ++ fcodatabasefile.cpp fcodatabaseutil.cpp fcoreport.cpp \ ++ fcoreportutil.cpp filemanipulator.cpp headerinfo.cpp \ ++ policyfile.cpp stdtw.cpp systeminfo.cpp textdbviewer.cpp \ ++ textreportviewer.cpp tw.cpp twerrors.cpp twinit.cpp \ ++ twstrings.cpp twutil.cpp ++ ++DEFS = @DEFS@ -DCONFIG_DIR=\"$(sysconfdir)\" ++ ++all: $(noinst_LIBRARIES) ++ $(AR) ru ../../lib/libtripwire.a $(libtw_a_OBJECTS) +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/tw/Makefile.in tripwire-2.3.1-2/src/tw/Makefile.in +--- tripwire-2.3.1-2.old/src/tw/Makefile.in Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/tw/Makefile.in Mon Sep 22 09:40:56 2003 +@@ -0,0 +1,299 @@ ++# Makefile.in generated automatically by automake 1.5 from Makefile.am. ++ ++# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 ++# Free Software Foundation, Inc. ++# This Makefile.in is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without ++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A ++# PARTICULAR PURPOSE. ++ ++@SET_MAKE@ ++ ++SHELL = @SHELL@ ++ ++srcdir = @srcdir@ ++top_srcdir = @top_srcdir@ ++VPATH = @srcdir@ ++prefix = @prefix@ ++exec_prefix = @exec_prefix@ ++ ++bindir = @bindir@ ++sbindir = @sbindir@ ++libexecdir = @libexecdir@ ++datadir = @datadir@ ++sysconfdir = @sysconfdir@ ++sharedstatedir = @sharedstatedir@ ++localstatedir = @localstatedir@ ++libdir = @libdir@ ++infodir = @infodir@ ++mandir = @mandir@ ++includedir = @includedir@ ++oldincludedir = /usr/include ++pkgdatadir = $(datadir)/@PACKAGE@ ++pkglibdir = $(libdir)/@PACKAGE@ ++pkgincludedir = $(includedir)/@PACKAGE@ ++top_builddir = ../.. ++ ++ACLOCAL = @ACLOCAL@ ++AUTOCONF = @AUTOCONF@ ++AUTOMAKE = @AUTOMAKE@ ++AUTOHEADER = @AUTOHEADER@ ++ ++INSTALL = @INSTALL@ ++INSTALL_PROGRAM = @INSTALL_PROGRAM@ ++INSTALL_DATA = @INSTALL_DATA@ ++INSTALL_SCRIPT = @INSTALL_SCRIPT@ ++INSTALL_HEADER = $(INSTALL_DATA) ++transform = @program_transform_name@ ++NORMAL_INSTALL = : ++PRE_INSTALL = : ++POST_INSTALL = : ++NORMAL_UNINSTALL = : ++PRE_UNINSTALL = : ++POST_UNINSTALL = : ++AMTAR = @AMTAR@ ++AWK = @AWK@ ++CC = @CC@ ++CORE_CRYPT_O = @CORE_CRYPT_O@ ++CXX = @CXX@ ++DEPDIR = @DEPDIR@ ++EXEEXT = @EXEEXT@ ++GMAKE = @GMAKE@ ++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ ++OBJEXT = @OBJEXT@ ++PACKAGE = @PACKAGE@ ++RANLIB = @RANLIB@ ++STLPORT_INCLUDE = @STLPORT_INCLUDE@ ++STLPORT_LD = @STLPORT_LD@ ++STLPORT_LIBRARY = @STLPORT_LIBRARY@ ++STLPORT_MAKEFILE = @STLPORT_MAKEFILE@ ++STLPORT_SUBDIR = @STLPORT_SUBDIR@ ++SYSPRE = @SYSPRE@ ++VERSION = @VERSION@ ++YACC = @YACC@ ++am__include = @am__include@ ++am__quote = @am__quote@ ++install_sh = @install_sh@ ++path_to_sendmail = @path_to_sendmail@ ++path_to_vi = @path_to_vi@ ++ ++AUTOMAKE_OPTIONS = foreign no-dependencies ++ ++INCLUDES = -I.. @STLPORT_INCLUDE@ ++ ++noinst_LIBRARIES = libtw.a ++libtw_a_SOURCES = \ ++ configfile.cpp dbdatasource.cpp dbdebug.cpp dbexplore.cpp \ ++ fcodatabasefile.cpp fcodatabaseutil.cpp fcoreport.cpp \ ++ fcoreportutil.cpp filemanipulator.cpp headerinfo.cpp \ ++ policyfile.cpp stdtw.cpp systeminfo.cpp textdbviewer.cpp \ ++ textreportviewer.cpp tw.cpp twerrors.cpp twinit.cpp \ ++ twstrings.cpp twutil.cpp ++ ++ ++DEFS = @DEFS@ -DCONFIG_DIR=\"$(sysconfdir)\" ++subdir = src/tw ++mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs ++CONFIG_HEADER = $(top_builddir)/config.h ++CONFIG_CLEAN_FILES = ++LIBRARIES = $(noinst_LIBRARIES) ++ ++libtw_a_AR = $(AR) cru ++libtw_a_LIBADD = ++am_libtw_a_OBJECTS = configfile.$(OBJEXT) dbdatasource.$(OBJEXT) \ ++ dbdebug.$(OBJEXT) dbexplore.$(OBJEXT) fcodatabasefile.$(OBJEXT) \ ++ fcodatabaseutil.$(OBJEXT) fcoreport.$(OBJEXT) \ ++ fcoreportutil.$(OBJEXT) filemanipulator.$(OBJEXT) \ ++ headerinfo.$(OBJEXT) policyfile.$(OBJEXT) stdtw.$(OBJEXT) \ ++ systeminfo.$(OBJEXT) textdbviewer.$(OBJEXT) \ ++ textreportviewer.$(OBJEXT) tw.$(OBJEXT) twerrors.$(OBJEXT) \ ++ twinit.$(OBJEXT) twstrings.$(OBJEXT) twutil.$(OBJEXT) ++libtw_a_OBJECTS = $(am_libtw_a_OBJECTS) ++DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) ++CPPFLAGS = @CPPFLAGS@ ++LDFLAGS = @LDFLAGS@ ++LIBS = @LIBS@ ++depcomp = ++CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) ++CXXLD = $(CXX) ++CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ ++ -o $@ ++CXXFLAGS = @CXXFLAGS@ ++DIST_SOURCES = $(libtw_a_SOURCES) ++DIST_COMMON = Makefile.am Makefile.in ++SOURCES = $(libtw_a_SOURCES) ++ ++all: all-am ++ ++.SUFFIXES: ++.SUFFIXES: .cpp .o .obj ++$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) ++ cd $(top_srcdir) && \ ++ $(AUTOMAKE) --foreign src/tw/Makefile ++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status ++ cd $(top_builddir) && \ ++ CONFIG_HEADERS= CONFIG_LINKS= \ ++ CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status ++ ++AR = ar ++ ++clean-noinstLIBRARIES: ++ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) ++libtw.a: $(libtw_a_OBJECTS) $(libtw_a_DEPENDENCIES) ++ -rm -f libtw.a ++ $(libtw_a_AR) libtw.a $(libtw_a_OBJECTS) $(libtw_a_LIBADD) ++ $(RANLIB) libtw.a ++ ++mostlyclean-compile: ++ -rm -f *.$(OBJEXT) core *.core ++ ++distclean-compile: ++ -rm -f *.tab.c ++ ++.cpp.o: ++ $(CXXCOMPILE) -c -o $@ $< ++ ++.cpp.obj: ++ $(CXXCOMPILE) -c -o $@ `cygpath -w $<` ++uninstall-info-am: ++ ++tags: TAGS ++ ++ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ++ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ mkid -fID $$unique $(LISP) ++ ++TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ ++ $(TAGS_FILES) $(LISP) ++ tags=; \ ++ here=`pwd`; \ ++ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ ++ || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) ++ ++GTAGS: ++ here=`CDPATH=: && cd $(top_builddir) && pwd` \ ++ && cd $(top_srcdir) \ ++ && gtags -i $(GTAGS_ARGS) $$here ++ ++distclean-tags: ++ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH ++ ++DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ++ ++top_distdir = ../.. ++distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) ++ ++distdir: $(DISTFILES) ++ @for file in $(DISTFILES); do \ ++ if test -f $$file; then d=.; else d=$(srcdir); fi; \ ++ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ ++ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ ++ $(mkinstalldirs) "$(distdir)/$$dir"; \ ++ fi; \ ++ if test -d $$d/$$file; then \ ++ cp -pR $$d/$$file $(distdir) \ ++ || exit 1; \ ++ else \ ++ test -f $(distdir)/$$file \ ++ || cp -p $$d/$$file $(distdir)/$$file \ ++ || exit 1; \ ++ fi; \ ++ done ++check-am: all-am ++check: check-am ++all-am: Makefile $(LIBRARIES) ++ ++installdirs: ++ ++install: install-am ++install-exec: install-exec-am ++install-data: install-data-am ++uninstall: uninstall-am ++ ++install-am: all-am ++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am ++ ++installcheck: installcheck-am ++install-strip: ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ `test -z '$(STRIP)' || \ ++ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install ++mostlyclean-generic: ++ ++clean-generic: ++ ++distclean-generic: ++ -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* ++ ++maintainer-clean-generic: ++ @echo "This command is intended for maintainers to use" ++ @echo "it deletes files that may require special tools to rebuild." ++clean: clean-am ++ ++clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am ++ ++distclean: distclean-am ++ ++distclean-am: clean-am distclean-compile distclean-generic \ ++ distclean-tags ++ ++dvi: dvi-am ++ ++dvi-am: ++ ++info: info-am ++ ++info-am: ++ ++install-data-am: ++ ++install-exec-am: ++ ++install-info: install-info-am ++ ++install-man: ++ ++installcheck-am: ++ ++maintainer-clean: maintainer-clean-am ++ ++maintainer-clean-am: distclean-am maintainer-clean-generic ++ ++mostlyclean: mostlyclean-am ++ ++mostlyclean-am: mostlyclean-compile mostlyclean-generic ++ ++uninstall-am: uninstall-info-am ++ ++.PHONY: GTAGS all all-am check check-am clean clean-generic \ ++ clean-noinstLIBRARIES distclean distclean-compile \ ++ distclean-generic distclean-tags distdir dvi dvi-am info \ ++ info-am install install-am install-data install-data-am \ ++ install-exec install-exec-am install-info install-info-am \ ++ install-man install-strip installcheck installcheck-am \ ++ installdirs maintainer-clean maintainer-clean-generic \ ++ mostlyclean mostlyclean-compile mostlyclean-generic tags \ ++ uninstall uninstall-am uninstall-info-am ++ ++ ++all: $(noinst_LIBRARIES) ++ $(AR) ru ../../lib/libtripwire.a $(libtw_a_OBJECTS) ++# Tell versions [3.59,3.63) of GNU make to not export all variables. ++# Otherwise a system limit (for SysV at least) may be exceeded. ++.NOEXPORT: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/tw/fcodatabasefile.h tripwire-2.3.1-2/src/tw/fcodatabasefile.h +--- tripwire-2.3.1-2.old/src/tw/fcodatabasefile.h Fri Oct 27 17:25:39 2000 ++++ tripwire-2.3.1-2/src/tw/fcodatabasefile.h Thu Jun 19 14:06:25 2003 +@@ -120,10 +120,10 @@ + + } + +- cGenre::Genre mGenre; // the genre this is associated with + cHierDatabase mDb; // the database; + cFCODbGenreHeader mGenreHeader; + cFCOSpecList mSpecList; // the spec used to create the database ++ cGenre::Genre mGenre; // the genre this is associated with + }; + + private: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/tw/fcoreport.cpp tripwire-2.3.1-2/src/tw/fcoreport.cpp +--- tripwire-2.3.1-2.old/src/tw/fcoreport.cpp Fri Oct 27 17:25:37 2000 ++++ tripwire-2.3.1-2/src/tw/fcoreport.cpp Thu Jun 19 14:06:25 2003 +@@ -100,9 +100,9 @@ + { + cGenreNode() {}; + cGenreNode( const cGenreNode& rhs ); ++ cFCOReportGenreHeader mGenreHeader; + cGenre::Genre mGenre; + SpecList mSpecList; +- cFCOReportGenreHeader mGenreHeader; + }; + + typedef std::list GenreSpecList; +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/tw/fcoreport.h tripwire-2.3.1-2/src/tw/fcoreport.h +--- tripwire-2.3.1-2.old/src/tw/fcoreport.h Fri Oct 27 17:25:36 2000 ++++ tripwire-2.3.1-2/src/tw/fcoreport.h Thu Jun 19 21:50:18 2003 +@@ -94,7 +94,7 @@ + friend class cFCOReportGenreIter; + public: + cFCOReport(); +- ~cFCOReport(); ++ virtual ~cFCOReport(); + + void ClearReport(); + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/tw/headerinfo.h tripwire-2.3.1-2/src/tw/headerinfo.h +--- tripwire-2.3.1-2.old/src/tw/headerinfo.h Fri Oct 27 17:25:36 2000 ++++ tripwire-2.3.1-2/src/tw/headerinfo.h Thu Jun 19 21:50:18 2003 +@@ -111,7 +111,7 @@ + public: + cGenreHeaderInfo(); + cGenreHeaderInfo( const cGenreHeaderInfo& ); +- ~cGenreHeaderInfo(); ++ virtual ~cGenreHeaderInfo(); + + void Clear(); + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/tw/textreportviewer.cpp tripwire-2.3.1-2/src/tw/textreportviewer.cpp +--- tripwire-2.3.1-2.old/src/tw/textreportviewer.cpp Wed Feb 28 13:50:18 2001 ++++ tripwire-2.3.1-2/src/tw/textreportviewer.cpp Thu May 29 00:31:06 2003 +@@ -85,12 +85,11 @@ + #include + #include + #include +-#if !IS_BSD ++#ifdef HAVE_WCHAR_H + # include + #endif +- +-#if IS_UNIX +- #include ++#ifdef HAVE_UNISTD_H ++# include + #endif + + //========================================================================= +@@ -1675,7 +1674,7 @@ + // we explicitly create the file so that we control the + // permissions on the new file. + unlink(narrowFilename.c_str()); +- int fd = open(narrowFilename.c_str(), O_CREAT|O_TRUNC|O_EXCL, 00600); ++ int fd = open(narrowFilename.c_str(), O_RDWR|O_CREAT|O_TRUNC|O_EXCL, 00600); + if (fd == -1 || close(fd) != 0) { + throw eTextReportViewerFileOpen( strFile ); + } +Only in tripwire-2.3.1-2.old/src/tw: textreportviewer.cpp~ +Only in tripwire-2.3.1-2.old/src/tw: textreportviewer.h~ +Only in tripwire-2.3.1-2.old/src/tw: tw.mak +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/tw/twinit.cpp tripwire-2.3.1-2/src/tw/twinit.cpp +--- tripwire-2.3.1-2.old/src/tw/twinit.cpp Fri Oct 27 17:25:37 2000 ++++ tripwire-2.3.1-2/src/tw/twinit.cpp Sat Mar 17 13:49:52 2001 +@@ -75,7 +75,7 @@ + + #include "fs/fs.h" // object initialization + #if IS_UNIX +-#include "core/unix/unixfsservices.h" ++#include "core/unixfsservices.h" + #include "core/tw_signal.h" // to ignore SIGPIPE + #endif + +@@ -290,8 +290,10 @@ + #endif + tw_HandleSignal( SIGABRT ); // Supposedly we can only get this signal by calling abort() + // ourselves, but to be on the safe side... +-#if !IS_LINUX ++#ifdef SIGEMT + tw_HandleSignal( SIGEMT ); // Emulator trap. ++#endif ++#ifdef SIGSYS + tw_HandleSignal( SIGSYS ); // Bad system call. + #endif + tw_HandleSignal( SIGFPE ); // Floating point exception. +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/tw/twstrings.cpp tripwire-2.3.1-2/src/tw/twstrings.cpp +--- tripwire-2.3.1-2.old/src/tw/twstrings.cpp Sat Mar 3 16:14:08 2001 ++++ tripwire-2.3.1-2/src/tw/twstrings.cpp Sat Mar 17 13:49:52 2001 +@@ -107,13 +107,12 @@ + TSS_StringEntry( tw::STR_ERR_WRONG_PASSPHRASE_SITE, _T("Incorrect site passphrase.") ), + TSS_StringEntry( tw::STR_ERR_WRONG_PASSPHRASE_LOCAL, _T("Incorrect local passphrase.") ), + +-#if defined(CONFIG_FILE_ROOT) ++#if defined(CONFIG_DIR) + // NOTE:mdb if we are following the FHS, then the config file lives in /etc/tripwire and not in + // the current working directory +- TSS_StringEntry( tw::STR_DEF_CFG_FILENAME, _T(CONFIG_FILE_ROOT"/tw.cfg")), +- ++ TSS_StringEntry( tw::STR_DEF_CFG_FILENAME, _T(CONFIG_DIR"/tw.cfg")), + #else +- TSS_StringEntry( tw::STR_DEF_CFG_FILENAME, _T("tw.cfg")), ++ TSS_StringEntry( tw::STR_DEF_CFG_FILENAME, _T("/etc/tw.cfg")), + #endif + + TSS_StringEntry( tw::STR_WIN_NT_ONLY, _T("Tripwire(R) runs only on Windows NT.")), +@@ -252,15 +251,9 @@ + // + TSS_StringEntry( tw::STR_COPYRIGHT, TSS_COPYRIGHT_NOTICE ), + TSS_StringEntry( tw::STR_TSS_PRODUCT_NAME, TSS_PRODUCT_NAME BUILD_NUM UNICODE_STR DEBUG_STR ), +-#if IS_LINUX +- TSS_StringEntry( tw::STR_VERSION, TSS_PRODUCT_NAME BUILD_NUM UNICODE_STR DEBUG_STR _T(" for Linux\n\n") TSS_COPYRIGHT_NOTICE ), +- TSS_StringEntry( tw::STR_VERSION_LONG, TSS_PRODUCT_NAME BUILD_NUM UNICODE_STR DEBUG_STR _T(" for Linux\n\n") TSS_COPYRIGHT_NOTICE_LONG ), +-#elif IS_BSD +- TSS_StringEntry( tw::STR_VERSION, TSS_PRODUCT_NAME BUILD_NUM UNICODE_STR DEBUG_STR _T(" for BSD\n\n") TSS_COPYRIGHT_NOTICE ), +- TSS_StringEntry( tw::STR_VERSION_LONG, TSS_PRODUCT_NAME BUILD_NUM UNICODE_STR DEBUG_STR _T(" for BSD\n\n") TSS_COPYRIGHT_NOTICE_LONG ), +-#else +-# error Who the hell am I? +-#endif ++ ++ TSS_StringEntry( tw::STR_VERSION, TSS_PRODUCT_NAME BUILD_NUM UNICODE_STR DEBUG_STR _T(" built for "TARGET_OS"\n\n") TSS_COPYRIGHT_NOTICE ), ++ TSS_StringEntry( tw::STR_VERSION_LONG, TSS_PRODUCT_NAME BUILD_NUM UNICODE_STR DEBUG_STR _T(" built for "TARGET_OS"\n\n") TSS_COPYRIGHT_NOTICE_LONG ), + + TSS_EndStringtable( cTW ) + +Only in tripwire-2.3.1-2.old/src/tw: twstrings.cpp~ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/tw/twutil.cpp tripwire-2.3.1-2/src/tw/twutil.cpp +--- tripwire-2.3.1-2.old/src/tw/twutil.cpp Fri Oct 27 17:25:38 2000 ++++ tripwire-2.3.1-2/src/tw/twutil.cpp Sun Mar 16 17:22:16 2003 +@@ -672,7 +672,9 @@ + throw eSerializerInputStreamFmt(_T(""), filename, eSerializer::TY_FILE); + } + ++#if 0 // XXX: This is broken, what the h*ll are they trying to write here? -PH + d.TraceDebug("Found a file header of type %d.\n", fileHeader.GetID()); ++#endif + + // check for a mismatched header + if (fileHeader.GetID() != cConfigFile::GetFileHeaderID()) +@@ -775,7 +777,9 @@ + throw eSerializerInputStreamFmt(_T(""), filename.c_str(), eSerializer::TY_FILE); + } + ++#if 0 // XXX: This is broken, how can you convert a class to an int??? -PH + d.TraceDebug("Found a file header of type %d.\n", fileHeader.GetID()); ++#endif + + // check for a mismatched header + if (fileHeader.GetID() != cConfigFile::GetFileHeaderID()) +@@ -971,7 +975,7 @@ + + passphrase = usePassphrase; + +- #if IS_LITTLE_ENDIAN ++ #ifndef WORDS_BIGENDIAN + passphrase.swapbytes(); + #endif + +@@ -1012,7 +1016,7 @@ + // sleep to hinder brute force (dictionary, etc.) attacks + iFSServices::GetInstance()->Sleep( nSecs ); + +- #if IS_LITTLE_ENDIAN ++ #ifndef WORDS_BIGENDIAN + passphrase.swapbytes(); + #endif + +@@ -1048,7 +1052,7 @@ + + passphrase = usePassphrase; + +- #if IS_LITTLE_ENDIAN ++ #ifndef WORDS_BIGENDIAN + passphrase.swapbytes(); + #endif + +@@ -1087,7 +1091,7 @@ + // sleep to hinder brute force (dictionary, etc.) attacks + iFSServices::GetInstance()->Sleep( nSecs ); + +- #if IS_LITTLE_ENDIAN ++ #ifndef WORDS_BIGENDIAN + passphrase.swapbytes(); + #endif + +@@ -1406,7 +1410,7 @@ + for (x = 0; s[x] && iswctype(s[x], wctype("space") ); x++) + ; + #else +- for (x = 0; s[x] && isspace(s[x]); x++) ++ for (x = 0; s[x] && std::isspace( s[x], std::locale() ); x++) + ; + #endif + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/tw/twutil.h tripwire-2.3.1-2/src/tw/twutil.h +--- tripwire-2.3.1-2.old/src/tw/twutil.h Fri Oct 27 17:25:37 2000 ++++ tripwire-2.3.1-2/src/tw/twutil.h Sun Mar 16 16:49:14 2003 +@@ -133,7 +133,7 @@ + // Higher level manipulation of Tripwire file objects + //------------------------------------------------------------------------- + +- static TSTRING cTWUtil::GetCfgFilePath(const cCmdLineParser& cmdLine, int cfgFileID); ++ static TSTRING GetCfgFilePath(const cCmdLineParser& cmdLine, int cfgFileID); + // Get's the path of the config file, either from the commandline, or from + // the default location. + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/twadmin/Makefile.am tripwire-2.3.1-2/src/twadmin/Makefile.am +--- tripwire-2.3.1-2.old/src/twadmin/Makefile.am Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/twadmin/Makefile.am Sat Jun 7 00:01:26 2003 +@@ -0,0 +1,17 @@ ++AUTOMAKE_OPTIONS = foreign no-dependencies ++AM_INSTALL_PROGRAM_FLAGS = -m 755 ++ ++INCLUDES = -I.. @STLPORT_INCLUDE@ ++LIBS = -ltripwire -lcryptlib @STLPORT_LD@ @LIBS@ ++LDFLAGS = @LDFLAGS@ -L../../lib ++ ++sbin_PROGRAMS = twadmin ++twadmin_SOURCES = \ ++ keygeneration.cpp stdtwadmin.cpp twadmin.cpp twadmincl.cpp \ ++ twadminerrors.cpp twadminmain.cpp twadminstrings.cpp ++ ++DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit ++CLEANFILES = ../../bin/twadmin ++ ++all: $(sbin_PROGRAMS) ++ @test -d ../../bin && ln -f $(sbin_PROGRAMS) ../../bin +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/twadmin/Makefile.in tripwire-2.3.1-2/src/twadmin/Makefile.in +--- tripwire-2.3.1-2.old/src/twadmin/Makefile.in Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/twadmin/Makefile.in Mon Sep 22 09:40:56 2003 +@@ -0,0 +1,314 @@ ++# Makefile.in generated automatically by automake 1.5 from Makefile.am. ++ ++# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 ++# Free Software Foundation, Inc. ++# This Makefile.in is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without ++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A ++# PARTICULAR PURPOSE. ++ ++@SET_MAKE@ ++ ++SHELL = @SHELL@ ++ ++srcdir = @srcdir@ ++top_srcdir = @top_srcdir@ ++VPATH = @srcdir@ ++prefix = @prefix@ ++exec_prefix = @exec_prefix@ ++ ++bindir = @bindir@ ++sbindir = @sbindir@ ++libexecdir = @libexecdir@ ++datadir = @datadir@ ++sysconfdir = @sysconfdir@ ++sharedstatedir = @sharedstatedir@ ++localstatedir = @localstatedir@ ++libdir = @libdir@ ++infodir = @infodir@ ++mandir = @mandir@ ++includedir = @includedir@ ++oldincludedir = /usr/include ++pkgdatadir = $(datadir)/@PACKAGE@ ++pkglibdir = $(libdir)/@PACKAGE@ ++pkgincludedir = $(includedir)/@PACKAGE@ ++top_builddir = ../.. ++ ++ACLOCAL = @ACLOCAL@ ++AUTOCONF = @AUTOCONF@ ++AUTOMAKE = @AUTOMAKE@ ++AUTOHEADER = @AUTOHEADER@ ++ ++INSTALL = @INSTALL@ ++INSTALL_PROGRAM = @INSTALL_PROGRAM@ ++INSTALL_DATA = @INSTALL_DATA@ ++INSTALL_SCRIPT = @INSTALL_SCRIPT@ ++INSTALL_HEADER = $(INSTALL_DATA) ++transform = @program_transform_name@ ++NORMAL_INSTALL = : ++PRE_INSTALL = : ++POST_INSTALL = : ++NORMAL_UNINSTALL = : ++PRE_UNINSTALL = : ++POST_UNINSTALL = : ++AMTAR = @AMTAR@ ++AWK = @AWK@ ++CC = @CC@ ++CORE_CRYPT_O = @CORE_CRYPT_O@ ++CXX = @CXX@ ++DEPDIR = @DEPDIR@ ++EXEEXT = @EXEEXT@ ++GMAKE = @GMAKE@ ++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ ++OBJEXT = @OBJEXT@ ++PACKAGE = @PACKAGE@ ++RANLIB = @RANLIB@ ++STLPORT_INCLUDE = @STLPORT_INCLUDE@ ++STLPORT_LD = @STLPORT_LD@ ++STLPORT_LIBRARY = @STLPORT_LIBRARY@ ++STLPORT_MAKEFILE = @STLPORT_MAKEFILE@ ++STLPORT_SUBDIR = @STLPORT_SUBDIR@ ++SYSPRE = @SYSPRE@ ++VERSION = @VERSION@ ++YACC = @YACC@ ++am__include = @am__include@ ++am__quote = @am__quote@ ++install_sh = @install_sh@ ++path_to_sendmail = @path_to_sendmail@ ++path_to_vi = @path_to_vi@ ++ ++AUTOMAKE_OPTIONS = foreign no-dependencies ++AM_INSTALL_PROGRAM_FLAGS = -m 755 ++ ++INCLUDES = -I.. @STLPORT_INCLUDE@ ++LIBS = -ltripwire -lcryptlib @STLPORT_LD@ @LIBS@ ++LDFLAGS = @LDFLAGS@ -L../../lib ++ ++sbin_PROGRAMS = twadmin ++twadmin_SOURCES = \ ++ keygeneration.cpp stdtwadmin.cpp twadmin.cpp twadmincl.cpp \ ++ twadminerrors.cpp twadminmain.cpp twadminstrings.cpp ++ ++ ++DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit ++CLEANFILES = ../../bin/twadmin ++subdir = src/twadmin ++mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs ++CONFIG_HEADER = $(top_builddir)/config.h ++CONFIG_CLEAN_FILES = ++sbin_PROGRAMS = twadmin$(EXEEXT) ++PROGRAMS = $(sbin_PROGRAMS) ++ ++am_twadmin_OBJECTS = keygeneration.$(OBJEXT) stdtwadmin.$(OBJEXT) \ ++ twadmin.$(OBJEXT) twadmincl.$(OBJEXT) twadminerrors.$(OBJEXT) \ ++ twadminmain.$(OBJEXT) twadminstrings.$(OBJEXT) ++twadmin_OBJECTS = $(am_twadmin_OBJECTS) ++twadmin_LDADD = $(LDADD) ++twadmin_DEPENDENCIES = ++twadmin_LDFLAGS = ++DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) ++CPPFLAGS = @CPPFLAGS@ ++depcomp = ++CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) ++CXXLD = $(CXX) ++CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ ++ -o $@ ++CXXFLAGS = @CXXFLAGS@ ++DIST_SOURCES = $(twadmin_SOURCES) ++DIST_COMMON = Makefile.am Makefile.in ++SOURCES = $(twadmin_SOURCES) ++ ++all: all-am ++ ++.SUFFIXES: ++.SUFFIXES: .cpp .o .obj ++$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) ++ cd $(top_srcdir) && \ ++ $(AUTOMAKE) --foreign src/twadmin/Makefile ++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status ++ cd $(top_builddir) && \ ++ CONFIG_HEADERS= CONFIG_LINKS= \ ++ CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status ++install-sbinPROGRAMS: $(sbin_PROGRAMS) ++ @$(NORMAL_INSTALL) ++ $(mkinstalldirs) $(DESTDIR)$(sbindir) ++ @list='$(sbin_PROGRAMS)'; for p in $$list; do \ ++ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ ++ if test -f $$p \ ++ ; then \ ++ f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \ ++ echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(sbindir)/$$f"; \ ++ $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(sbindir)/$$f; \ ++ else :; fi; \ ++ done ++ ++uninstall-sbinPROGRAMS: ++ @$(NORMAL_UNINSTALL) ++ @list='$(sbin_PROGRAMS)'; for p in $$list; do \ ++ f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ ++ echo " rm -f $(DESTDIR)$(sbindir)/$$f"; \ ++ rm -f $(DESTDIR)$(sbindir)/$$f; \ ++ done ++ ++clean-sbinPROGRAMS: ++ -test -z "$(sbin_PROGRAMS)" || rm -f $(sbin_PROGRAMS) ++twadmin$(EXEEXT): $(twadmin_OBJECTS) $(twadmin_DEPENDENCIES) ++ @rm -f twadmin$(EXEEXT) ++ $(CXXLINK) $(twadmin_LDFLAGS) $(twadmin_OBJECTS) $(twadmin_LDADD) $(LIBS) ++ ++mostlyclean-compile: ++ -rm -f *.$(OBJEXT) core *.core ++ ++distclean-compile: ++ -rm -f *.tab.c ++ ++.cpp.o: ++ $(CXXCOMPILE) -c -o $@ $< ++ ++.cpp.obj: ++ $(CXXCOMPILE) -c -o $@ `cygpath -w $<` ++uninstall-info-am: ++ ++tags: TAGS ++ ++ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ++ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ mkid -fID $$unique $(LISP) ++ ++TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ ++ $(TAGS_FILES) $(LISP) ++ tags=; \ ++ here=`pwd`; \ ++ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ ++ || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) ++ ++GTAGS: ++ here=`CDPATH=: && cd $(top_builddir) && pwd` \ ++ && cd $(top_srcdir) \ ++ && gtags -i $(GTAGS_ARGS) $$here ++ ++distclean-tags: ++ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH ++ ++DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ++ ++top_distdir = ../.. ++distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) ++ ++distdir: $(DISTFILES) ++ @for file in $(DISTFILES); do \ ++ if test -f $$file; then d=.; else d=$(srcdir); fi; \ ++ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ ++ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ ++ $(mkinstalldirs) "$(distdir)/$$dir"; \ ++ fi; \ ++ if test -d $$d/$$file; then \ ++ cp -pR $$d/$$file $(distdir) \ ++ || exit 1; \ ++ else \ ++ test -f $(distdir)/$$file \ ++ || cp -p $$d/$$file $(distdir)/$$file \ ++ || exit 1; \ ++ fi; \ ++ done ++check-am: all-am ++check: check-am ++all-am: Makefile $(PROGRAMS) ++ ++installdirs: ++ $(mkinstalldirs) $(DESTDIR)$(sbindir) ++ ++install: install-am ++install-exec: install-exec-am ++install-data: install-data-am ++uninstall: uninstall-am ++ ++install-am: all-am ++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am ++ ++installcheck: installcheck-am ++install-strip: ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ `test -z '$(STRIP)' || \ ++ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install ++mostlyclean-generic: ++ ++clean-generic: ++ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) ++ ++distclean-generic: ++ -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* ++ ++maintainer-clean-generic: ++ @echo "This command is intended for maintainers to use" ++ @echo "it deletes files that may require special tools to rebuild." ++clean: clean-am ++ ++clean-am: clean-generic clean-sbinPROGRAMS mostlyclean-am ++ ++distclean: distclean-am ++ ++distclean-am: clean-am distclean-compile distclean-generic \ ++ distclean-tags ++ ++dvi: dvi-am ++ ++dvi-am: ++ ++info: info-am ++ ++info-am: ++ ++install-data-am: ++ ++install-exec-am: install-sbinPROGRAMS ++ ++install-info: install-info-am ++ ++install-man: ++ ++installcheck-am: ++ ++maintainer-clean: maintainer-clean-am ++ ++maintainer-clean-am: distclean-am maintainer-clean-generic ++ ++mostlyclean: mostlyclean-am ++ ++mostlyclean-am: mostlyclean-compile mostlyclean-generic ++ ++uninstall-am: uninstall-info-am uninstall-sbinPROGRAMS ++ ++.PHONY: GTAGS all all-am check check-am clean clean-generic \ ++ clean-sbinPROGRAMS distclean distclean-compile \ ++ distclean-generic distclean-tags distdir dvi dvi-am info \ ++ info-am install install-am install-data install-data-am \ ++ install-exec install-exec-am install-info install-info-am \ ++ install-man install-sbinPROGRAMS install-strip installcheck \ ++ installcheck-am installdirs maintainer-clean \ ++ maintainer-clean-generic mostlyclean mostlyclean-compile \ ++ mostlyclean-generic tags uninstall uninstall-am \ ++ uninstall-info-am uninstall-sbinPROGRAMS ++ ++ ++all: $(sbin_PROGRAMS) ++ @test -d ../../bin && ln -f $(sbin_PROGRAMS) ../../bin ++# Tell versions [3.59,3.63) of GNU make to not export all variables. ++# Otherwise a system limit (for SysV at least) may be exceeded. ++.NOEXPORT: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/twadmin/keygeneration.cpp tripwire-2.3.1-2/src/twadmin/keygeneration.cpp +--- tripwire-2.3.1-2.old/src/twadmin/keygeneration.cpp Fri Oct 27 17:26:22 2000 ++++ tripwire-2.3.1-2/src/twadmin/keygeneration.cpp Sun Mar 18 12:48:23 2001 +@@ -138,7 +138,7 @@ + + bool GenerateKey(const TCHAR* keyPath, wc16_string passphrase) + { +-#if IS_LITTLE_ENDIAN ++#ifndef WORDS_BIGENDIAN + passphrase.swapbytes(); + #endif + +Only in tripwire-2.3.1-2.old/src/twadmin: twadmin.mak +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/twadmin/twadmincl.cpp tripwire-2.3.1-2/src/twadmin/twadmincl.cpp +--- tripwire-2.3.1-2.old/src/twadmin/twadmincl.cpp Fri Oct 27 17:26:22 2000 ++++ tripwire-2.3.1-2/src/twadmin/twadmincl.cpp Thu Jun 19 21:50:18 2003 +@@ -225,7 +225,7 @@ + { + public: + cTWAModeCreateCfg(); +- ~cTWAModeCreateCfg(); ++ virtual ~cTWAModeCreateCfg(); + + virtual void InitCmdLineParser(cCmdLineParser& parser); + virtual bool Init (const cConfigFile* cf, const cCmdLineParser& parser); +@@ -446,7 +446,7 @@ + { + public: + cTWAModeCreatePol(); +- ~cTWAModeCreatePol(); ++ virtual ~cTWAModeCreatePol(); + + virtual void InitCmdLineParser(cCmdLineParser& parser); + virtual bool Init (const cConfigFile* cf, const cCmdLineParser& parser); +@@ -637,7 +637,7 @@ + { + public: + cTWAModePrintCfg(); +- ~cTWAModePrintCfg(); ++ virtual ~cTWAModePrintCfg(); + + virtual void InitCmdLineParser(cCmdLineParser& parser); + virtual bool Init (const cConfigFile* cf, const cCmdLineParser& parser); +@@ -720,7 +720,7 @@ + { + public: + cTWAModePrintPol(); +- ~cTWAModePrintPol(); ++ virtual ~cTWAModePrintPol(); + + virtual void InitCmdLineParser(cCmdLineParser& parser); + virtual bool Init (const cConfigFile* cf, const cCmdLineParser& parser); +@@ -813,7 +813,7 @@ + { + public: + cTWAModeRemoveEncryption(); +- ~cTWAModeRemoveEncryption(); ++ virtual ~cTWAModeRemoveEncryption(); + + virtual void InitCmdLineParser(cCmdLineParser& parser); + virtual bool Init (const cConfigFile* cf, const cCmdLineParser& parser); +@@ -1115,7 +1115,7 @@ + { + public: + cTWAModeEncrypt(); +- ~cTWAModeEncrypt(); ++ virtual ~cTWAModeEncrypt(); + + virtual void InitCmdLineParser(cCmdLineParser& parser); + virtual bool Init (const cConfigFile* cf, const cCmdLineParser& parser); +@@ -1389,7 +1389,7 @@ + { + public: + cTWAModeExamine(); +- ~cTWAModeExamine(); ++ virtual ~cTWAModeExamine(); + + virtual void InitCmdLineParser(cCmdLineParser& parser); + virtual bool Init (const cConfigFile* cf, const cCmdLineParser& parser); +@@ -1591,7 +1591,7 @@ + { + public: + cTWAModeGenerateKeys(); +- ~cTWAModeGenerateKeys(); ++ virtual ~cTWAModeGenerateKeys(); + + virtual void InitCmdLineParser(cCmdLineParser& parser); + virtual bool Init (const cConfigFile* cf, const cCmdLineParser& parser); +@@ -1852,7 +1852,7 @@ + { + public: + cTWAModeHelp() {} +- ~cTWAModeHelp() {} ++ virtual ~cTWAModeHelp() {} + + virtual void InitCmdLineParser(cCmdLineParser& cmdLine); + virtual bool Init (const cConfigFile* cf, const cCmdLineParser& cmdLine); +@@ -2090,7 +2090,7 @@ + { + public: + cTWAModeVersion() {} +- ~cTWAModeVersion() {} ++ virtual ~cTWAModeVersion() {} + + virtual void InitCmdLineParser(cCmdLineParser& cmdLine) { ASSERT(false); } + virtual bool Init (const cConfigFile* cf, const cCmdLineParser& cmdLine) { ASSERT(false); return true; } +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/twadmin/twadmincl.h tripwire-2.3.1-2/src/twadmin/twadmincl.h +--- tripwire-2.3.1-2.old/src/twadmin/twadmincl.h Fri Oct 27 17:26:22 2000 ++++ tripwire-2.3.1-2/src/twadmin/twadmincl.h Thu Jun 19 21:50:18 2003 +@@ -155,6 +155,7 @@ + void SetCfgFilePath( const TSTRING& path ) { mCfgFilePath = path; } + // if the config file is opened in main(), this should be called so the modes know what the path + // to the config file is. ++ virtual ~iTWAMode() {}; + protected: + TSTRING mCfgFilePath; + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/twadmin/twadminmain.cpp tripwire-2.3.1-2/src/twadmin/twadminmain.cpp +--- tripwire-2.3.1-2.old/src/twadmin/twadminmain.cpp Fri Oct 27 17:26:22 2000 ++++ tripwire-2.3.1-2/src/twadmin/twadminmain.cpp Mon Aug 12 20:49:35 2002 +@@ -86,11 +86,6 @@ + // set unexpected and terminate handlers + // Note: we do this before Init() in case it attempts to call these handlers + // TODO: move this into the Init() routine +-#if IS_GCC +- #define EXCEPTION_NAMESPACE +- #else +- #define EXCEPTION_NAMESPACE std:: +- #endif + EXCEPTION_NAMESPACE set_terminate(tw_terminate_handler); + EXCEPTION_NAMESPACE set_unexpected(tw_unexpected_handler); + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/twcrypto/Makefile.am tripwire-2.3.1-2/src/twcrypto/Makefile.am +--- tripwire-2.3.1-2.old/src/twcrypto/Makefile.am Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/twcrypto/Makefile.am Sun Mar 16 11:50:05 2003 +@@ -0,0 +1,13 @@ ++AUTOMAKE_OPTIONS = foreign no-dependencies ++ ++INCLUDES = -I.. @STLPORT_INCLUDE@ ++ ++noinst_LIBRARIES = libtwcrypto.a ++libtwcrypto_a_SOURCES = \ ++ bytequeue.cpp crypto.cpp cryptoarchive.cpp keyfile.cpp \ ++ stdtwcrypto.cpp twcrypto.cpp twcryptoerrors.cpp ++ ++DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit ++ ++all: $(noinst_LIBRARIES) ++ $(AR) ru ../../lib/libtripwire.a $(libtwcrypto_a_OBJECTS) +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/twcrypto/Makefile.in tripwire-2.3.1-2/src/twcrypto/Makefile.in +--- tripwire-2.3.1-2.old/src/twcrypto/Makefile.in Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/twcrypto/Makefile.in Mon Sep 22 09:40:56 2003 +@@ -0,0 +1,290 @@ ++# Makefile.in generated automatically by automake 1.5 from Makefile.am. ++ ++# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 ++# Free Software Foundation, Inc. ++# This Makefile.in is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without ++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A ++# PARTICULAR PURPOSE. ++ ++@SET_MAKE@ ++ ++SHELL = @SHELL@ ++ ++srcdir = @srcdir@ ++top_srcdir = @top_srcdir@ ++VPATH = @srcdir@ ++prefix = @prefix@ ++exec_prefix = @exec_prefix@ ++ ++bindir = @bindir@ ++sbindir = @sbindir@ ++libexecdir = @libexecdir@ ++datadir = @datadir@ ++sysconfdir = @sysconfdir@ ++sharedstatedir = @sharedstatedir@ ++localstatedir = @localstatedir@ ++libdir = @libdir@ ++infodir = @infodir@ ++mandir = @mandir@ ++includedir = @includedir@ ++oldincludedir = /usr/include ++pkgdatadir = $(datadir)/@PACKAGE@ ++pkglibdir = $(libdir)/@PACKAGE@ ++pkgincludedir = $(includedir)/@PACKAGE@ ++top_builddir = ../.. ++ ++ACLOCAL = @ACLOCAL@ ++AUTOCONF = @AUTOCONF@ ++AUTOMAKE = @AUTOMAKE@ ++AUTOHEADER = @AUTOHEADER@ ++ ++INSTALL = @INSTALL@ ++INSTALL_PROGRAM = @INSTALL_PROGRAM@ ++INSTALL_DATA = @INSTALL_DATA@ ++INSTALL_SCRIPT = @INSTALL_SCRIPT@ ++INSTALL_HEADER = $(INSTALL_DATA) ++transform = @program_transform_name@ ++NORMAL_INSTALL = : ++PRE_INSTALL = : ++POST_INSTALL = : ++NORMAL_UNINSTALL = : ++PRE_UNINSTALL = : ++POST_UNINSTALL = : ++AMTAR = @AMTAR@ ++AWK = @AWK@ ++CC = @CC@ ++CORE_CRYPT_O = @CORE_CRYPT_O@ ++CXX = @CXX@ ++DEPDIR = @DEPDIR@ ++EXEEXT = @EXEEXT@ ++GMAKE = @GMAKE@ ++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ ++OBJEXT = @OBJEXT@ ++PACKAGE = @PACKAGE@ ++RANLIB = @RANLIB@ ++STLPORT_INCLUDE = @STLPORT_INCLUDE@ ++STLPORT_LD = @STLPORT_LD@ ++STLPORT_LIBRARY = @STLPORT_LIBRARY@ ++STLPORT_MAKEFILE = @STLPORT_MAKEFILE@ ++STLPORT_SUBDIR = @STLPORT_SUBDIR@ ++SYSPRE = @SYSPRE@ ++VERSION = @VERSION@ ++YACC = @YACC@ ++am__include = @am__include@ ++am__quote = @am__quote@ ++install_sh = @install_sh@ ++path_to_sendmail = @path_to_sendmail@ ++path_to_vi = @path_to_vi@ ++ ++AUTOMAKE_OPTIONS = foreign no-dependencies ++ ++INCLUDES = -I.. @STLPORT_INCLUDE@ ++ ++noinst_LIBRARIES = libtwcrypto.a ++libtwcrypto_a_SOURCES = \ ++ bytequeue.cpp crypto.cpp cryptoarchive.cpp keyfile.cpp \ ++ stdtwcrypto.cpp twcrypto.cpp twcryptoerrors.cpp ++ ++ ++DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit ++subdir = src/twcrypto ++mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs ++CONFIG_HEADER = $(top_builddir)/config.h ++CONFIG_CLEAN_FILES = ++LIBRARIES = $(noinst_LIBRARIES) ++ ++libtwcrypto_a_AR = $(AR) cru ++libtwcrypto_a_LIBADD = ++am_libtwcrypto_a_OBJECTS = bytequeue.$(OBJEXT) crypto.$(OBJEXT) \ ++ cryptoarchive.$(OBJEXT) keyfile.$(OBJEXT) stdtwcrypto.$(OBJEXT) \ ++ twcrypto.$(OBJEXT) twcryptoerrors.$(OBJEXT) ++libtwcrypto_a_OBJECTS = $(am_libtwcrypto_a_OBJECTS) ++DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) ++CPPFLAGS = @CPPFLAGS@ ++LDFLAGS = @LDFLAGS@ ++LIBS = @LIBS@ ++depcomp = ++CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) ++CXXLD = $(CXX) ++CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ ++ -o $@ ++CXXFLAGS = @CXXFLAGS@ ++DIST_SOURCES = $(libtwcrypto_a_SOURCES) ++DIST_COMMON = Makefile.am Makefile.in ++SOURCES = $(libtwcrypto_a_SOURCES) ++ ++all: all-am ++ ++.SUFFIXES: ++.SUFFIXES: .cpp .o .obj ++$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) ++ cd $(top_srcdir) && \ ++ $(AUTOMAKE) --foreign src/twcrypto/Makefile ++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status ++ cd $(top_builddir) && \ ++ CONFIG_HEADERS= CONFIG_LINKS= \ ++ CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status ++ ++AR = ar ++ ++clean-noinstLIBRARIES: ++ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) ++libtwcrypto.a: $(libtwcrypto_a_OBJECTS) $(libtwcrypto_a_DEPENDENCIES) ++ -rm -f libtwcrypto.a ++ $(libtwcrypto_a_AR) libtwcrypto.a $(libtwcrypto_a_OBJECTS) $(libtwcrypto_a_LIBADD) ++ $(RANLIB) libtwcrypto.a ++ ++mostlyclean-compile: ++ -rm -f *.$(OBJEXT) core *.core ++ ++distclean-compile: ++ -rm -f *.tab.c ++ ++.cpp.o: ++ $(CXXCOMPILE) -c -o $@ $< ++ ++.cpp.obj: ++ $(CXXCOMPILE) -c -o $@ `cygpath -w $<` ++uninstall-info-am: ++ ++tags: TAGS ++ ++ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ++ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ mkid -fID $$unique $(LISP) ++ ++TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ ++ $(TAGS_FILES) $(LISP) ++ tags=; \ ++ here=`pwd`; \ ++ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ ++ || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) ++ ++GTAGS: ++ here=`CDPATH=: && cd $(top_builddir) && pwd` \ ++ && cd $(top_srcdir) \ ++ && gtags -i $(GTAGS_ARGS) $$here ++ ++distclean-tags: ++ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH ++ ++DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ++ ++top_distdir = ../.. ++distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) ++ ++distdir: $(DISTFILES) ++ @for file in $(DISTFILES); do \ ++ if test -f $$file; then d=.; else d=$(srcdir); fi; \ ++ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ ++ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ ++ $(mkinstalldirs) "$(distdir)/$$dir"; \ ++ fi; \ ++ if test -d $$d/$$file; then \ ++ cp -pR $$d/$$file $(distdir) \ ++ || exit 1; \ ++ else \ ++ test -f $(distdir)/$$file \ ++ || cp -p $$d/$$file $(distdir)/$$file \ ++ || exit 1; \ ++ fi; \ ++ done ++check-am: all-am ++check: check-am ++all-am: Makefile $(LIBRARIES) ++ ++installdirs: ++ ++install: install-am ++install-exec: install-exec-am ++install-data: install-data-am ++uninstall: uninstall-am ++ ++install-am: all-am ++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am ++ ++installcheck: installcheck-am ++install-strip: ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ `test -z '$(STRIP)' || \ ++ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install ++mostlyclean-generic: ++ ++clean-generic: ++ ++distclean-generic: ++ -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* ++ ++maintainer-clean-generic: ++ @echo "This command is intended for maintainers to use" ++ @echo "it deletes files that may require special tools to rebuild." ++clean: clean-am ++ ++clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am ++ ++distclean: distclean-am ++ ++distclean-am: clean-am distclean-compile distclean-generic \ ++ distclean-tags ++ ++dvi: dvi-am ++ ++dvi-am: ++ ++info: info-am ++ ++info-am: ++ ++install-data-am: ++ ++install-exec-am: ++ ++install-info: install-info-am ++ ++install-man: ++ ++installcheck-am: ++ ++maintainer-clean: maintainer-clean-am ++ ++maintainer-clean-am: distclean-am maintainer-clean-generic ++ ++mostlyclean: mostlyclean-am ++ ++mostlyclean-am: mostlyclean-compile mostlyclean-generic ++ ++uninstall-am: uninstall-info-am ++ ++.PHONY: GTAGS all all-am check check-am clean clean-generic \ ++ clean-noinstLIBRARIES distclean distclean-compile \ ++ distclean-generic distclean-tags distdir dvi dvi-am info \ ++ info-am install install-am install-data install-data-am \ ++ install-exec install-exec-am install-info install-info-am \ ++ install-man install-strip installcheck installcheck-am \ ++ installdirs maintainer-clean maintainer-clean-generic \ ++ mostlyclean mostlyclean-compile mostlyclean-generic tags \ ++ uninstall uninstall-am uninstall-info-am ++ ++ ++all: $(noinst_LIBRARIES) ++ $(AR) ru ../../lib/libtripwire.a $(libtwcrypto_a_OBJECTS) ++# Tell versions [3.59,3.63) of GNU make to not export all variables. ++# Otherwise a system limit (for SysV at least) may be exceeded. ++.NOEXPORT: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/twcrypto/cryptoarchive.h tripwire-2.3.1-2/src/twcrypto/cryptoarchive.h +--- tripwire-2.3.1-2.old/src/twcrypto/cryptoarchive.h Fri Oct 27 17:26:25 2000 ++++ tripwire-2.3.1-2/src/twcrypto/cryptoarchive.h Thu Jun 19 21:50:18 2003 +@@ -72,7 +72,7 @@ + { + public: + cCryptoArchive(); +- ~cCryptoArchive(); ++ virtual ~cCryptoArchive(); + + // TODO: Start and Finish should be virtual so derived classes can override them + // (and in the case of RSA and ElGamal archives, throw an exception or something). +@@ -122,7 +122,7 @@ + { + public: + cNullCryptoArchive(); +- ~cNullCryptoArchive(); ++ virtual ~cNullCryptoArchive(); + + void Start(cArchive* pArchive); + void Finish(); +@@ -187,7 +187,7 @@ + { + public: + cElGamalSigArchive(); +- ~cElGamalSigArchive(); ++ virtual ~cElGamalSigArchive(); + + void SetWrite(cArchive* pDestArchive, const cElGamalSigPrivateKey* pPrivateKey); + +Only in tripwire-2.3.1-2.old/src/twcrypto: twcrypto.mak +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/twparser/Makefile.am tripwire-2.3.1-2/src/twparser/Makefile.am +--- tripwire-2.3.1-2.old/src/twparser/Makefile.am Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/twparser/Makefile.am Sun Mar 16 11:50:05 2003 +@@ -0,0 +1,14 @@ ++AUTOMAKE_OPTIONS = foreign no-dependencies ++ ++INCLUDES = -I.. @STLPORT_INCLUDE@ ++ ++noinst_LIBRARIES = libtwparser.a ++libtwparser_a_SOURCES = \ ++ genreparseinfo.cpp parserhelper.cpp parserobjects.cpp \ ++ policyparser.cpp stdtwparser.cpp twparser.cpp twparsererrors.cpp \ ++ twparserstrings.cpp yylex.cpp yyparse.cpp ++ ++DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit ++ ++all: $(noinst_LIBRARIES) ++ $(AR) ru ../../lib/libtripwire.a $(libtwparser_a_OBJECTS) +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/twparser/Makefile.in tripwire-2.3.1-2/src/twparser/Makefile.in +--- tripwire-2.3.1-2.old/src/twparser/Makefile.in Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/twparser/Makefile.in Mon Sep 22 09:40:56 2003 +@@ -0,0 +1,293 @@ ++# Makefile.in generated automatically by automake 1.5 from Makefile.am. ++ ++# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 ++# Free Software Foundation, Inc. ++# This Makefile.in is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without ++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A ++# PARTICULAR PURPOSE. ++ ++@SET_MAKE@ ++ ++SHELL = @SHELL@ ++ ++srcdir = @srcdir@ ++top_srcdir = @top_srcdir@ ++VPATH = @srcdir@ ++prefix = @prefix@ ++exec_prefix = @exec_prefix@ ++ ++bindir = @bindir@ ++sbindir = @sbindir@ ++libexecdir = @libexecdir@ ++datadir = @datadir@ ++sysconfdir = @sysconfdir@ ++sharedstatedir = @sharedstatedir@ ++localstatedir = @localstatedir@ ++libdir = @libdir@ ++infodir = @infodir@ ++mandir = @mandir@ ++includedir = @includedir@ ++oldincludedir = /usr/include ++pkgdatadir = $(datadir)/@PACKAGE@ ++pkglibdir = $(libdir)/@PACKAGE@ ++pkgincludedir = $(includedir)/@PACKAGE@ ++top_builddir = ../.. ++ ++ACLOCAL = @ACLOCAL@ ++AUTOCONF = @AUTOCONF@ ++AUTOMAKE = @AUTOMAKE@ ++AUTOHEADER = @AUTOHEADER@ ++ ++INSTALL = @INSTALL@ ++INSTALL_PROGRAM = @INSTALL_PROGRAM@ ++INSTALL_DATA = @INSTALL_DATA@ ++INSTALL_SCRIPT = @INSTALL_SCRIPT@ ++INSTALL_HEADER = $(INSTALL_DATA) ++transform = @program_transform_name@ ++NORMAL_INSTALL = : ++PRE_INSTALL = : ++POST_INSTALL = : ++NORMAL_UNINSTALL = : ++PRE_UNINSTALL = : ++POST_UNINSTALL = : ++AMTAR = @AMTAR@ ++AWK = @AWK@ ++CC = @CC@ ++CORE_CRYPT_O = @CORE_CRYPT_O@ ++CXX = @CXX@ ++DEPDIR = @DEPDIR@ ++EXEEXT = @EXEEXT@ ++GMAKE = @GMAKE@ ++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ ++OBJEXT = @OBJEXT@ ++PACKAGE = @PACKAGE@ ++RANLIB = @RANLIB@ ++STLPORT_INCLUDE = @STLPORT_INCLUDE@ ++STLPORT_LD = @STLPORT_LD@ ++STLPORT_LIBRARY = @STLPORT_LIBRARY@ ++STLPORT_MAKEFILE = @STLPORT_MAKEFILE@ ++STLPORT_SUBDIR = @STLPORT_SUBDIR@ ++SYSPRE = @SYSPRE@ ++VERSION = @VERSION@ ++YACC = @YACC@ ++am__include = @am__include@ ++am__quote = @am__quote@ ++install_sh = @install_sh@ ++path_to_sendmail = @path_to_sendmail@ ++path_to_vi = @path_to_vi@ ++ ++AUTOMAKE_OPTIONS = foreign no-dependencies ++ ++INCLUDES = -I.. @STLPORT_INCLUDE@ ++ ++noinst_LIBRARIES = libtwparser.a ++libtwparser_a_SOURCES = \ ++ genreparseinfo.cpp parserhelper.cpp parserobjects.cpp \ ++ policyparser.cpp stdtwparser.cpp twparser.cpp twparsererrors.cpp \ ++ twparserstrings.cpp yylex.cpp yyparse.cpp ++ ++ ++DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit ++subdir = src/twparser ++mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs ++CONFIG_HEADER = $(top_builddir)/config.h ++CONFIG_CLEAN_FILES = ++LIBRARIES = $(noinst_LIBRARIES) ++ ++libtwparser_a_AR = $(AR) cru ++libtwparser_a_LIBADD = ++am_libtwparser_a_OBJECTS = genreparseinfo.$(OBJEXT) \ ++ parserhelper.$(OBJEXT) parserobjects.$(OBJEXT) \ ++ policyparser.$(OBJEXT) stdtwparser.$(OBJEXT) twparser.$(OBJEXT) \ ++ twparsererrors.$(OBJEXT) twparserstrings.$(OBJEXT) \ ++ yylex.$(OBJEXT) yyparse.$(OBJEXT) ++libtwparser_a_OBJECTS = $(am_libtwparser_a_OBJECTS) ++DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) ++CPPFLAGS = @CPPFLAGS@ ++LDFLAGS = @LDFLAGS@ ++LIBS = @LIBS@ ++depcomp = ++CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) ++CXXLD = $(CXX) ++CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ ++ -o $@ ++CXXFLAGS = @CXXFLAGS@ ++DIST_SOURCES = $(libtwparser_a_SOURCES) ++DIST_COMMON = Makefile.am Makefile.in ++SOURCES = $(libtwparser_a_SOURCES) ++ ++all: all-am ++ ++.SUFFIXES: ++.SUFFIXES: .cpp .o .obj ++$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) ++ cd $(top_srcdir) && \ ++ $(AUTOMAKE) --foreign src/twparser/Makefile ++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status ++ cd $(top_builddir) && \ ++ CONFIG_HEADERS= CONFIG_LINKS= \ ++ CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status ++ ++AR = ar ++ ++clean-noinstLIBRARIES: ++ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) ++libtwparser.a: $(libtwparser_a_OBJECTS) $(libtwparser_a_DEPENDENCIES) ++ -rm -f libtwparser.a ++ $(libtwparser_a_AR) libtwparser.a $(libtwparser_a_OBJECTS) $(libtwparser_a_LIBADD) ++ $(RANLIB) libtwparser.a ++ ++mostlyclean-compile: ++ -rm -f *.$(OBJEXT) core *.core ++ ++distclean-compile: ++ -rm -f *.tab.c ++ ++.cpp.o: ++ $(CXXCOMPILE) -c -o $@ $< ++ ++.cpp.obj: ++ $(CXXCOMPILE) -c -o $@ `cygpath -w $<` ++uninstall-info-am: ++ ++tags: TAGS ++ ++ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ++ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ mkid -fID $$unique $(LISP) ++ ++TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ ++ $(TAGS_FILES) $(LISP) ++ tags=; \ ++ here=`pwd`; \ ++ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ ++ || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) ++ ++GTAGS: ++ here=`CDPATH=: && cd $(top_builddir) && pwd` \ ++ && cd $(top_srcdir) \ ++ && gtags -i $(GTAGS_ARGS) $$here ++ ++distclean-tags: ++ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH ++ ++DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ++ ++top_distdir = ../.. ++distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) ++ ++distdir: $(DISTFILES) ++ @for file in $(DISTFILES); do \ ++ if test -f $$file; then d=.; else d=$(srcdir); fi; \ ++ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ ++ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ ++ $(mkinstalldirs) "$(distdir)/$$dir"; \ ++ fi; \ ++ if test -d $$d/$$file; then \ ++ cp -pR $$d/$$file $(distdir) \ ++ || exit 1; \ ++ else \ ++ test -f $(distdir)/$$file \ ++ || cp -p $$d/$$file $(distdir)/$$file \ ++ || exit 1; \ ++ fi; \ ++ done ++check-am: all-am ++check: check-am ++all-am: Makefile $(LIBRARIES) ++ ++installdirs: ++ ++install: install-am ++install-exec: install-exec-am ++install-data: install-data-am ++uninstall: uninstall-am ++ ++install-am: all-am ++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am ++ ++installcheck: installcheck-am ++install-strip: ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ `test -z '$(STRIP)' || \ ++ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install ++mostlyclean-generic: ++ ++clean-generic: ++ ++distclean-generic: ++ -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* ++ ++maintainer-clean-generic: ++ @echo "This command is intended for maintainers to use" ++ @echo "it deletes files that may require special tools to rebuild." ++clean: clean-am ++ ++clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am ++ ++distclean: distclean-am ++ ++distclean-am: clean-am distclean-compile distclean-generic \ ++ distclean-tags ++ ++dvi: dvi-am ++ ++dvi-am: ++ ++info: info-am ++ ++info-am: ++ ++install-data-am: ++ ++install-exec-am: ++ ++install-info: install-info-am ++ ++install-man: ++ ++installcheck-am: ++ ++maintainer-clean: maintainer-clean-am ++ ++maintainer-clean-am: distclean-am maintainer-clean-generic ++ ++mostlyclean: mostlyclean-am ++ ++mostlyclean-am: mostlyclean-compile mostlyclean-generic ++ ++uninstall-am: uninstall-info-am ++ ++.PHONY: GTAGS all all-am check check-am clean clean-generic \ ++ clean-noinstLIBRARIES distclean distclean-compile \ ++ distclean-generic distclean-tags distdir dvi dvi-am info \ ++ info-am install install-am install-data install-data-am \ ++ install-exec install-exec-am install-info install-info-am \ ++ install-man install-strip installcheck installcheck-am \ ++ installdirs maintainer-clean maintainer-clean-generic \ ++ mostlyclean mostlyclean-compile mostlyclean-generic tags \ ++ uninstall uninstall-am uninstall-info-am ++ ++ ++all: $(noinst_LIBRARIES) ++ $(AR) ru ../../lib/libtripwire.a $(libtwparser_a_OBJECTS) ++# Tell versions [3.59,3.63) of GNU make to not export all variables. ++# Otherwise a system limit (for SysV at least) may be exceeded. ++.NOEXPORT: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/twparser/parserhelper.cpp tripwire-2.3.1-2/src/twparser/parserhelper.cpp +--- tripwire-2.3.1-2.old/src/twparser/parserhelper.cpp Fri Oct 27 17:26:24 2000 ++++ tripwire-2.3.1-2/src/twparser/parserhelper.cpp Sun Mar 16 17:22:16 2003 +@@ -472,7 +472,7 @@ + + pchCur++; // go to char past '\' + +- if (*pchCur == 'x' && isxdigit( *( pchCur + 1 ) ) ) // deal with \xXXXX where 'x' is the character 'x', and 'X' is a hex number ++ if (*pchCur == 'x' && std::isxdigit(*(pchCur+1), std::locale() ) ) // deal with \xXXXX where 'x' is the character 'x', and 'X' is a hex number + { + pchCur++; // go to char past 'x' + char cEscapedChar = static_cast( util_ConvertHex( pchCur, &nCharsRead ) ); +@@ -954,26 +954,26 @@ + ASSERT( util_AsciiCharsActLikeTheyShould() ); + ASSERT( cpsz && pnCharsRead ); + +- if (*cpsz == 0 || !isxdigit( *cpsz )) ++ if (*cpsz == 0 || !std::isxdigit( *cpsz, std::locale() )) + throw eParserBadHex( cStringUtil::StrToTstr( cpsz ) ); + + int iValue; + const char* psz = cpsz; + for( + *pnCharsRead = 0, iValue = 0; +- *psz && isxdigit( *psz ) && (*pnCharsRead < 2); ++ *psz && std::isxdigit( *psz, std::locale() ) && (*pnCharsRead < 2); + psz++, (*pnCharsRead)++ + ) + { + iValue *= 0x10; + +- if( isdigit( *psz ) ) ++ if( std::isdigit( *psz, std::locale() ) ) + { + iValue += ( *psz - '0' ); + } + else + { +- if( islower( *psz ) ) ++ if( std::islower( *psz, std::locale() ) ) + iValue += ( *psz - 'a' + 10 ); // so that A=10, B=11, ..., F=15 + else // is uppercase + iValue += ( *psz - 'A' + 10 ); // so that a=10, a=11, ..., f=15 +@@ -988,7 +988,7 @@ + ASSERT( util_AsciiCharsActLikeTheyShould() ); + ASSERT( cpsz && pnCharsRead ); + +- if (*cpsz == 0 || !isxdigit( *cpsz )) ++ if (*cpsz == 0 || !std::isxdigit( *cpsz, std::locale() )) + throw eParserBadHex( cStringUtil::StrToTstr( cpsz ) ); + + int iValue; +@@ -1000,18 +1000,18 @@ + ) + { + // we require 4 chars for unicode escapes +- if (*psz == 0 || !isxdigit( *psz )) ++ if (*psz == 0 || !std::isxdigit( *psz, std::locale() )) + throw eParserBadHex( cStringUtil::StrToTstr( cpsz ) ); + + iValue *= 0x10; + +- if( isdigit( *psz ) ) ++ if( std::isdigit( *psz, std::locale() ) ) + { + iValue += ( *psz - '0' ); + } + else + { +- if( islower( *psz ) ) ++ if( std::islower( *psz, std::locale() ) ) + iValue += ( *psz - 'a' + 10 ); // so that A=10, B=11, ..., F=15 + else // is uppercase + iValue += ( *psz - 'A' + 10 ); // so that a=10, a=11, ..., f=15 +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/twparser/parserobjects.h tripwire-2.3.1-2/src/twparser/parserobjects.h +--- tripwire-2.3.1-2.old/src/twparser/parserobjects.h Fri Oct 27 17:26:23 2000 ++++ tripwire-2.3.1-2/src/twparser/parserobjects.h Thu Jun 19 14:06:25 2003 +@@ -265,10 +265,10 @@ + // + // debugging functions + // +- cFCOName mName; // name of fcospec +- cParseSpecMaskList* mpSpecMaskList; // list of specifiers + cParseSpecMask mDefSpecMask; // default specifier + cParseNamedAttrList* mpAttrList; // list of named attributes ++ cParseSpecMaskList* mpSpecMaskList; // list of specifiers ++ cFCOName mName; // name of fcospec + }; + + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/twparser/policyparser.cpp tripwire-2.3.1-2/src/twparser/policyparser.cpp +--- tripwire-2.3.1-2.old/src/twparser/policyparser.cpp Sat Feb 24 11:02:12 2001 ++++ tripwire-2.3.1-2/src/twparser/policyparser.cpp Thu Aug 15 15:11:38 2002 +@@ -47,7 +47,7 @@ + //========================================================================= + + #include +-#if !IS_BSD ++#ifdef HAVE_WCHAR_H + # include + #endif + +@@ -228,7 +228,7 @@ + // at gets incremented when used.... + ) + { +- int nBytes = ::mblen( (char*)at, MB_CUR_MAX ); ++ int nBytes = ::mblen( (char*)&at[0], MB_CUR_MAX ); + if ( nBytes == -1 ) + { + d.TraceDebug( "Unrecognized Character: %c\n", *at ); +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/twparser/policyparser.h tripwire-2.3.1-2/src/twparser/policyparser.h +--- tripwire-2.3.1-2.old/src/twparser/policyparser.h Fri Oct 27 17:26:23 2000 ++++ tripwire-2.3.1-2/src/twparser/policyparser.h Thu Jun 19 14:06:25 2003 +@@ -76,7 +76,7 @@ + { + enum { MAX_TOKEN_LENGTH = 1024 }; + public: +- tw_yy_scan( std::istream& i ) : mIn(i), yy_scan( MAX_TOKEN_LENGTH ){}; // need to increase token length over mks default ++ tw_yy_scan( std::istream& i ) : yy_scan( MAX_TOKEN_LENGTH ), mIn(i) {}; // need to increase token length over mks default + + virtual int yygetc() { return mIn.get(); }; + +@@ -136,8 +136,8 @@ + // turns all mb chars > 1 byte or unrecognizable chars + // into escaped hex (\xXX) + +- std::istream& mIn; + tw_yy_parse mParser; ++ std::istream& mIn; + }; + + +Only in tripwire-2.3.1-2.old/src/twparser: twparser.mak +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/twparser/yylex.cpp tripwire-2.3.1-2/src/twparser/yylex.cpp +--- tripwire-2.3.1-2.old/src/twparser/yylex.cpp Sat Feb 24 11:02:12 2001 ++++ tripwire-2.3.1-2/src/twparser/yylex.cpp Thu Jun 5 14:58:53 2003 +@@ -355,9 +355,9 @@ + 108, 109, 110, 33, 111, 89, 113, 114, 115, 116, 117, 120, 30, 124, 123, 63, + 30, 142, 123, 140, 146, 147, 148, 140, 149, 145, 151, 152, 153, 32, 154, 64, + 155, 32, 158, 30, 159, 123, 160, 161, 32, 157, 140, 32, 163, 164, 165, 63, +- 166, 167, 170, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, 64, +- ~0U, ~0U, ~0U, 30, ~0U, ~0U, ~0U, ~0U, 33, ~0U, 140, ~0U, 33, ~0U, ~0U, ~0U, +- ~0U, ~0U, ~0U, 33, ~0U, ~0U, 33, 122, 122, 122, 122, 122, 122, 122, 122, 122, ++ 166, 167, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, ++ 0, 0, 0, 30, 0, 0, 0, 0, 33, 0, 140, 0, 33, 0, 0, 0, ++ 0, 0, 0, 33, 0, 0, 33, 122, 122, 122, 122, 122, 122, 122, 122, 122, + 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, + 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, + 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, +@@ -374,7 +374,7 @@ + 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, + 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, + 122, 122, 122, 122, 122, 122, 122, 127, 127, 127, 127, 127, 127, 127, 127, 127, +- 127, ~0U, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, ++ 127, 0, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, + 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, + 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, + 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, +@@ -390,7 +390,7 @@ + 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, + 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, + 127, 127, 127, 127, 127, 127, 127, 133, 133, 133, 133, 133, 133, 133, 133, 133, +- 133, ~0U, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, ++ 133, 0, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, + 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, + 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, + 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, +@@ -406,14 +406,14 @@ + 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, + 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, + 133, 133, 133, 133, 133, 133, 133, 126, 126, 126, 126, 126, 126, 126, 126, 126, +- ~0U, ~0U, 126, 126, ~0U, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, +- 126, 126, 126, 126, 126, 126, 126, ~0U, ~0U, ~0U, ~0U, ~0U, 126, 126, 126, ~0U, +- ~0U, 126, 126, ~0U, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, +- 126, 126, ~0U, 126, ~0U, ~0U, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, ++ 0, 0, 126, 126, 0, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, ++ 126, 126, 126, 126, 126, 126, 126, 0, 0, 0, 0, 0, 126, 126, 126, 0, ++ 0, 126, 126, 0, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, ++ 126, 126, 0, 126, 0, 0, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, +- 126, 126, ~0U, ~0U, ~0U, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, ++ 126, 126, 0, 0, 0, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, +@@ -422,7 +422,7 @@ + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 125, 125, 125, 125, 125, 125, 125, 125, 125, +- 125, ~0U, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, ++ 125, 0, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, + 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, + 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, + 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, +@@ -437,14 +437,14 @@ + 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, + 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, + 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, +- 125, 125, 125, 125, 125, 125, 125, 143, 144, 141, ~0U, 143, 144, 141, ~0U, ~0U, +- ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, 143, 144, +- 141, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, +- ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, +- 141, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, +- ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, +- ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, 143, 144, +- ~0U, 143, 144, 0 ++ 125, 125, 125, 125, 125, 125, 125, 143, 144, 141, 0, 143, 144, 141, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, 144, ++ 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, 144, ++ 0, 143, 144, 0 + }; + + static yy_state_t yy_default[] = { +@@ -513,7 +513,9 @@ + //#endif + + #include ++#ifdef HAVE_MALLOC_H + #include ++#endif + #include + + #include "core/debug.h" +@@ -563,7 +565,7 @@ + + + // Constructor for yy_scan. Set up tables +-#pragma argsused ++//#pragma argsused + yy_scan::yy_scan(int sz, char* buf, char* sv, yy_state_t* states) + { + mustfree = 0; +@@ -820,18 +822,18 @@ + /* look up next state */ + while ((yybase = yy_base[yyst]+(unsigned char)c) > yy_nxtmax + || yy_check[yybase] != (yy_state_t) yyst) { +- if (yyst == yy_endst) ++ if (yyst == (unsigned int)yy_endst) + goto yy_jammed; + yyst = yy_default[yyst]; + } + yyst = yy_next[yybase]; + yy_jammed: ; + state[++i] = (yy_state_t) yyst; +- } while (!(yyst == yy_endst || YY_INTERACTIVE && ++ } while (!(yyst == (unsigned int)yy_endst || YY_INTERACTIVE && + yy_base[yyst] > yy_nxtmax && yy_default[yyst] == yy_endst)); + + YY_DEBUG("\n", yyst, i); +- if (yyst != yy_endst) ++ if (yyst != (unsigned int)yy_endst) + ++i; + + yy_search: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/twparser/yylex.h tripwire-2.3.1-2/src/twparser/yylex.h +--- tripwire-2.3.1-2.old/src/twparser/yylex.h Fri Oct 27 17:26:23 2000 ++++ tripwire-2.3.1-2/src/twparser/yylex.h Thu Jun 19 21:50:18 2003 +@@ -48,7 +48,9 @@ + // This is quite a bit slower, though, so the default is without + + #include // uses printf(), et cetera ++#ifdef HAVE_STDARG_H + #include // uses va_list ++#endif + #include // uses exit() + #include // uses memmove() + +@@ -118,7 +120,7 @@ + yy_scan(int, char*, char*, yy_state_t*); + // constructor when tables are given + +- ~yy_scan(); // destructor ++ virtual ~yy_scan(); // destructor + + int yylex(); // begin a scan + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/twparser/yyparse.cpp tripwire-2.3.1-2/src/twparser/yyparse.cpp +--- tripwire-2.3.1-2.old/src/twparser/yyparse.cpp Fri Oct 27 17:26:23 2000 ++++ tripwire-2.3.1-2/src/twparser/yyparse.cpp Thu Jun 5 14:58:53 2003 +@@ -597,7 +597,7 @@ + #ifdef YACC_WINDOWS + if (yystate >= Sizeof_yypact) /* simple state */ + #else /* YACC_WINDOWS */ +- if (yystate >= sizeof yypact/sizeof yypact[0]) /* simple state */ ++ if (yystate >= (int)sizeof yypact/(int)sizeof yypact[0]) /* simple state */ + #endif /* YACC_WINDOWS */ + yyi = yystate - YYDELTA; /* reduce in any case */ + else { +@@ -643,7 +643,7 @@ + #ifdef YACC_WINDOWS + if (yystate >= Sizeof_yydef) /* simple state */ + #else /* YACC_WINDOWS */ +- if (yystate >= sizeof yydef /sizeof yydef[0]) ++ if (yystate >= (int)sizeof yydef /(int)sizeof yydef[0]) + #endif /* YACC_WINDOWS */ + goto yyError; + if ((yyi = yydef[yystate]) < 0) { /* default == reduce? */ +@@ -1268,7 +1268,7 @@ + #ifdef YACC_WINDOWS + if (*yyps >= Sizeof_yypact) /* simple state */ + #else /* YACC_WINDOWS */ +- if (*yyps >= sizeof yypact/sizeof yypact[0]) ++ if (*yyps >= (int)sizeof yypact/(int)sizeof yypact[0]) + #endif /* YACC_WINDOWS */ + continue; + yyp = &yyact[yypact[*yyps]]; +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/twprint/Makefile.am tripwire-2.3.1-2/src/twprint/Makefile.am +--- tripwire-2.3.1-2.old/src/twprint/Makefile.am Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/twprint/Makefile.am Sat Jun 7 00:01:26 2003 +@@ -0,0 +1,18 @@ ++AUTOMAKE_OPTIONS = foreign no-dependencies ++AM_INSTALL_PROGRAM_FLAGS = -m 755 ++ ++INCLUDES = -I.. @STLPORT_INCLUDE@ ++LIBS = -ltripwire -lcryptlib @STLPORT_LD@ @LIBS@ ++LDFLAGS = @LDFLAGS@ -L../../lib ++ ++sbin_PROGRAMS = twprint ++twprint_SOURCES = \ ++ stdtwprint.cpp twprint.cpp twprintcmdline.cpp twprinterrors.cpp \ ++ twprintmain.cpp twprintstrings.cpp ++ ++DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit ++CLEANFILES = ../../bin/twprint ++ ++all: $(sbin_PROGRAMS) ++ @test -d ../../bin && ln -f $(sbin_PROGRAMS) ../../bin ++ +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/twprint/Makefile.in tripwire-2.3.1-2/src/twprint/Makefile.in +--- tripwire-2.3.1-2.old/src/twprint/Makefile.in Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/twprint/Makefile.in Mon Sep 22 09:40:56 2003 +@@ -0,0 +1,314 @@ ++# Makefile.in generated automatically by automake 1.5 from Makefile.am. ++ ++# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 ++# Free Software Foundation, Inc. ++# This Makefile.in is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without ++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A ++# PARTICULAR PURPOSE. ++ ++@SET_MAKE@ ++ ++SHELL = @SHELL@ ++ ++srcdir = @srcdir@ ++top_srcdir = @top_srcdir@ ++VPATH = @srcdir@ ++prefix = @prefix@ ++exec_prefix = @exec_prefix@ ++ ++bindir = @bindir@ ++sbindir = @sbindir@ ++libexecdir = @libexecdir@ ++datadir = @datadir@ ++sysconfdir = @sysconfdir@ ++sharedstatedir = @sharedstatedir@ ++localstatedir = @localstatedir@ ++libdir = @libdir@ ++infodir = @infodir@ ++mandir = @mandir@ ++includedir = @includedir@ ++oldincludedir = /usr/include ++pkgdatadir = $(datadir)/@PACKAGE@ ++pkglibdir = $(libdir)/@PACKAGE@ ++pkgincludedir = $(includedir)/@PACKAGE@ ++top_builddir = ../.. ++ ++ACLOCAL = @ACLOCAL@ ++AUTOCONF = @AUTOCONF@ ++AUTOMAKE = @AUTOMAKE@ ++AUTOHEADER = @AUTOHEADER@ ++ ++INSTALL = @INSTALL@ ++INSTALL_PROGRAM = @INSTALL_PROGRAM@ ++INSTALL_DATA = @INSTALL_DATA@ ++INSTALL_SCRIPT = @INSTALL_SCRIPT@ ++INSTALL_HEADER = $(INSTALL_DATA) ++transform = @program_transform_name@ ++NORMAL_INSTALL = : ++PRE_INSTALL = : ++POST_INSTALL = : ++NORMAL_UNINSTALL = : ++PRE_UNINSTALL = : ++POST_UNINSTALL = : ++AMTAR = @AMTAR@ ++AWK = @AWK@ ++CC = @CC@ ++CORE_CRYPT_O = @CORE_CRYPT_O@ ++CXX = @CXX@ ++DEPDIR = @DEPDIR@ ++EXEEXT = @EXEEXT@ ++GMAKE = @GMAKE@ ++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ ++OBJEXT = @OBJEXT@ ++PACKAGE = @PACKAGE@ ++RANLIB = @RANLIB@ ++STLPORT_INCLUDE = @STLPORT_INCLUDE@ ++STLPORT_LD = @STLPORT_LD@ ++STLPORT_LIBRARY = @STLPORT_LIBRARY@ ++STLPORT_MAKEFILE = @STLPORT_MAKEFILE@ ++STLPORT_SUBDIR = @STLPORT_SUBDIR@ ++SYSPRE = @SYSPRE@ ++VERSION = @VERSION@ ++YACC = @YACC@ ++am__include = @am__include@ ++am__quote = @am__quote@ ++install_sh = @install_sh@ ++path_to_sendmail = @path_to_sendmail@ ++path_to_vi = @path_to_vi@ ++ ++AUTOMAKE_OPTIONS = foreign no-dependencies ++AM_INSTALL_PROGRAM_FLAGS = -m 755 ++ ++INCLUDES = -I.. @STLPORT_INCLUDE@ ++LIBS = -ltripwire -lcryptlib @STLPORT_LD@ @LIBS@ ++LDFLAGS = @LDFLAGS@ -L../../lib ++ ++sbin_PROGRAMS = twprint ++twprint_SOURCES = \ ++ stdtwprint.cpp twprint.cpp twprintcmdline.cpp twprinterrors.cpp \ ++ twprintmain.cpp twprintstrings.cpp ++ ++ ++DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit ++CLEANFILES = ../../bin/twprint ++subdir = src/twprint ++mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs ++CONFIG_HEADER = $(top_builddir)/config.h ++CONFIG_CLEAN_FILES = ++sbin_PROGRAMS = twprint$(EXEEXT) ++PROGRAMS = $(sbin_PROGRAMS) ++ ++am_twprint_OBJECTS = stdtwprint.$(OBJEXT) twprint.$(OBJEXT) \ ++ twprintcmdline.$(OBJEXT) twprinterrors.$(OBJEXT) \ ++ twprintmain.$(OBJEXT) twprintstrings.$(OBJEXT) ++twprint_OBJECTS = $(am_twprint_OBJECTS) ++twprint_LDADD = $(LDADD) ++twprint_DEPENDENCIES = ++twprint_LDFLAGS = ++DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) ++CPPFLAGS = @CPPFLAGS@ ++depcomp = ++CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) ++CXXLD = $(CXX) ++CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ ++ -o $@ ++CXXFLAGS = @CXXFLAGS@ ++DIST_SOURCES = $(twprint_SOURCES) ++DIST_COMMON = Makefile.am Makefile.in ++SOURCES = $(twprint_SOURCES) ++ ++all: all-am ++ ++.SUFFIXES: ++.SUFFIXES: .cpp .o .obj ++$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) ++ cd $(top_srcdir) && \ ++ $(AUTOMAKE) --foreign src/twprint/Makefile ++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status ++ cd $(top_builddir) && \ ++ CONFIG_HEADERS= CONFIG_LINKS= \ ++ CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status ++install-sbinPROGRAMS: $(sbin_PROGRAMS) ++ @$(NORMAL_INSTALL) ++ $(mkinstalldirs) $(DESTDIR)$(sbindir) ++ @list='$(sbin_PROGRAMS)'; for p in $$list; do \ ++ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ ++ if test -f $$p \ ++ ; then \ ++ f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \ ++ echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(sbindir)/$$f"; \ ++ $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(sbindir)/$$f; \ ++ else :; fi; \ ++ done ++ ++uninstall-sbinPROGRAMS: ++ @$(NORMAL_UNINSTALL) ++ @list='$(sbin_PROGRAMS)'; for p in $$list; do \ ++ f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ ++ echo " rm -f $(DESTDIR)$(sbindir)/$$f"; \ ++ rm -f $(DESTDIR)$(sbindir)/$$f; \ ++ done ++ ++clean-sbinPROGRAMS: ++ -test -z "$(sbin_PROGRAMS)" || rm -f $(sbin_PROGRAMS) ++twprint$(EXEEXT): $(twprint_OBJECTS) $(twprint_DEPENDENCIES) ++ @rm -f twprint$(EXEEXT) ++ $(CXXLINK) $(twprint_LDFLAGS) $(twprint_OBJECTS) $(twprint_LDADD) $(LIBS) ++ ++mostlyclean-compile: ++ -rm -f *.$(OBJEXT) core *.core ++ ++distclean-compile: ++ -rm -f *.tab.c ++ ++.cpp.o: ++ $(CXXCOMPILE) -c -o $@ $< ++ ++.cpp.obj: ++ $(CXXCOMPILE) -c -o $@ `cygpath -w $<` ++uninstall-info-am: ++ ++tags: TAGS ++ ++ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ++ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ mkid -fID $$unique $(LISP) ++ ++TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ ++ $(TAGS_FILES) $(LISP) ++ tags=; \ ++ here=`pwd`; \ ++ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ ++ || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) ++ ++GTAGS: ++ here=`CDPATH=: && cd $(top_builddir) && pwd` \ ++ && cd $(top_srcdir) \ ++ && gtags -i $(GTAGS_ARGS) $$here ++ ++distclean-tags: ++ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH ++ ++DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ++ ++top_distdir = ../.. ++distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) ++ ++distdir: $(DISTFILES) ++ @for file in $(DISTFILES); do \ ++ if test -f $$file; then d=.; else d=$(srcdir); fi; \ ++ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ ++ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ ++ $(mkinstalldirs) "$(distdir)/$$dir"; \ ++ fi; \ ++ if test -d $$d/$$file; then \ ++ cp -pR $$d/$$file $(distdir) \ ++ || exit 1; \ ++ else \ ++ test -f $(distdir)/$$file \ ++ || cp -p $$d/$$file $(distdir)/$$file \ ++ || exit 1; \ ++ fi; \ ++ done ++check-am: all-am ++check: check-am ++all-am: Makefile $(PROGRAMS) ++ ++installdirs: ++ $(mkinstalldirs) $(DESTDIR)$(sbindir) ++ ++install: install-am ++install-exec: install-exec-am ++install-data: install-data-am ++uninstall: uninstall-am ++ ++install-am: all-am ++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am ++ ++installcheck: installcheck-am ++install-strip: ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ `test -z '$(STRIP)' || \ ++ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install ++mostlyclean-generic: ++ ++clean-generic: ++ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) ++ ++distclean-generic: ++ -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* ++ ++maintainer-clean-generic: ++ @echo "This command is intended for maintainers to use" ++ @echo "it deletes files that may require special tools to rebuild." ++clean: clean-am ++ ++clean-am: clean-generic clean-sbinPROGRAMS mostlyclean-am ++ ++distclean: distclean-am ++ ++distclean-am: clean-am distclean-compile distclean-generic \ ++ distclean-tags ++ ++dvi: dvi-am ++ ++dvi-am: ++ ++info: info-am ++ ++info-am: ++ ++install-data-am: ++ ++install-exec-am: install-sbinPROGRAMS ++ ++install-info: install-info-am ++ ++install-man: ++ ++installcheck-am: ++ ++maintainer-clean: maintainer-clean-am ++ ++maintainer-clean-am: distclean-am maintainer-clean-generic ++ ++mostlyclean: mostlyclean-am ++ ++mostlyclean-am: mostlyclean-compile mostlyclean-generic ++ ++uninstall-am: uninstall-info-am uninstall-sbinPROGRAMS ++ ++.PHONY: GTAGS all all-am check check-am clean clean-generic \ ++ clean-sbinPROGRAMS distclean distclean-compile \ ++ distclean-generic distclean-tags distdir dvi dvi-am info \ ++ info-am install install-am install-data install-data-am \ ++ install-exec install-exec-am install-info install-info-am \ ++ install-man install-sbinPROGRAMS install-strip installcheck \ ++ installcheck-am installdirs maintainer-clean \ ++ maintainer-clean-generic mostlyclean mostlyclean-compile \ ++ mostlyclean-generic tags uninstall uninstall-am \ ++ uninstall-info-am uninstall-sbinPROGRAMS ++ ++ ++all: $(sbin_PROGRAMS) ++ @test -d ../../bin && ln -f $(sbin_PROGRAMS) ../../bin ++# Tell versions [3.59,3.63) of GNU make to not export all variables. ++# Otherwise a system limit (for SysV at least) may be exceeded. ++.NOEXPORT: +Only in tripwire-2.3.1-2.old/src/twprint: twprint.mak +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/twprint/twprintcmdline.h tripwire-2.3.1-2/src/twprint/twprintcmdline.h +--- tripwire-2.3.1-2.old/src/twprint/twprintcmdline.h Fri Oct 27 17:26:19 2000 ++++ tripwire-2.3.1-2/src/twprint/twprintcmdline.h Thu Jun 19 21:50:18 2003 +@@ -130,7 +130,7 @@ + { + public: + cTWPrintReportMode(); +- ~cTWPrintReportMode(); ++ virtual ~cTWPrintReportMode(); + + + void FillOutReportModeConfigInfo(cTWPrintReportMode_i* pModeInfo, const cConfigFile& cf); +@@ -153,7 +153,7 @@ + { + public: + cTWPrintDBMode(); +- ~cTWPrintDBMode(); ++ virtual ~cTWPrintDBMode(); + + void FillOutDBModeConfigInfo(cTWPrintDBMode_i* pModeInfo, const cConfigFile& cf); + +@@ -175,7 +175,7 @@ + { + public: + cTWPrintHelpMode(); +- ~cTWPrintHelpMode(); ++ virtual ~cTWPrintHelpMode(); + + virtual void InitCmdLineParser(cCmdLineParser& cmdLine); + virtual bool Init (const cConfigFile& cf, const cCmdLineParser& cmdLine); +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/twprint/twprintmain.cpp tripwire-2.3.1-2/src/twprint/twprintmain.cpp +--- tripwire-2.3.1-2.old/src/twprint/twprintmain.cpp Fri Oct 27 17:26:19 2000 ++++ tripwire-2.3.1-2/src/twprint/twprintmain.cpp Mon Aug 12 20:49:35 2002 +@@ -54,7 +54,7 @@ + #include "twprint.h" // package initialization + + #if IS_UNIX +-#include "core/unix/unixfsservices.h" ++#include "core/unixfsservices.h" + #include + #endif + +@@ -94,12 +94,6 @@ + // Note: we do this before Init() in case it attempts to call these handlers + // TODO: move this into the Init() routine + +- +-#if IS_GCC +- #define EXCEPTION_NAMESPACE +- #else +- #define EXCEPTION_NAMESPACE std:: +- #endif + EXCEPTION_NAMESPACE set_terminate(tw_terminate_handler); + EXCEPTION_NAMESPACE set_unexpected(tw_unexpected_handler); + +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/util/Makefile.am tripwire-2.3.1-2/src/util/Makefile.am +--- tripwire-2.3.1-2.old/src/util/Makefile.am Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/util/Makefile.am Sun Mar 16 11:50:05 2003 +@@ -0,0 +1,14 @@ ++AUTOMAKE_OPTIONS = foreign no-dependencies ++ ++INCLUDES = -I.. @STLPORT_INCLUDE@ ++ ++noinst_LIBRARIES = libutil.a ++libutil_a_SOURCES = \ ++ fileutil.cpp stdutil.cpp stringencoder.cpp \ ++ util.cpp utilerrors.cpp utilstrings.cpp ++ ++DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit ++ ++all: $(noinst_LIBRARIES) ++ $(AR) ru ../../lib/libtripwire.a $(libutil_a_OBJECTS) ++ $(RANLIB) ../../lib/libtripwire.a +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/util/Makefile.in tripwire-2.3.1-2/src/util/Makefile.in +--- tripwire-2.3.1-2.old/src/util/Makefile.in Wed Dec 31 16:00:00 1969 ++++ tripwire-2.3.1-2/src/util/Makefile.in Mon Sep 22 09:40:56 2003 +@@ -0,0 +1,291 @@ ++# Makefile.in generated automatically by automake 1.5 from Makefile.am. ++ ++# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 ++# Free Software Foundation, Inc. ++# This Makefile.in is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without ++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A ++# PARTICULAR PURPOSE. ++ ++@SET_MAKE@ ++ ++SHELL = @SHELL@ ++ ++srcdir = @srcdir@ ++top_srcdir = @top_srcdir@ ++VPATH = @srcdir@ ++prefix = @prefix@ ++exec_prefix = @exec_prefix@ ++ ++bindir = @bindir@ ++sbindir = @sbindir@ ++libexecdir = @libexecdir@ ++datadir = @datadir@ ++sysconfdir = @sysconfdir@ ++sharedstatedir = @sharedstatedir@ ++localstatedir = @localstatedir@ ++libdir = @libdir@ ++infodir = @infodir@ ++mandir = @mandir@ ++includedir = @includedir@ ++oldincludedir = /usr/include ++pkgdatadir = $(datadir)/@PACKAGE@ ++pkglibdir = $(libdir)/@PACKAGE@ ++pkgincludedir = $(includedir)/@PACKAGE@ ++top_builddir = ../.. ++ ++ACLOCAL = @ACLOCAL@ ++AUTOCONF = @AUTOCONF@ ++AUTOMAKE = @AUTOMAKE@ ++AUTOHEADER = @AUTOHEADER@ ++ ++INSTALL = @INSTALL@ ++INSTALL_PROGRAM = @INSTALL_PROGRAM@ ++INSTALL_DATA = @INSTALL_DATA@ ++INSTALL_SCRIPT = @INSTALL_SCRIPT@ ++INSTALL_HEADER = $(INSTALL_DATA) ++transform = @program_transform_name@ ++NORMAL_INSTALL = : ++PRE_INSTALL = : ++POST_INSTALL = : ++NORMAL_UNINSTALL = : ++PRE_UNINSTALL = : ++POST_UNINSTALL = : ++AMTAR = @AMTAR@ ++AWK = @AWK@ ++CC = @CC@ ++CORE_CRYPT_O = @CORE_CRYPT_O@ ++CXX = @CXX@ ++DEPDIR = @DEPDIR@ ++EXEEXT = @EXEEXT@ ++GMAKE = @GMAKE@ ++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ ++OBJEXT = @OBJEXT@ ++PACKAGE = @PACKAGE@ ++RANLIB = @RANLIB@ ++STLPORT_INCLUDE = @STLPORT_INCLUDE@ ++STLPORT_LD = @STLPORT_LD@ ++STLPORT_LIBRARY = @STLPORT_LIBRARY@ ++STLPORT_MAKEFILE = @STLPORT_MAKEFILE@ ++STLPORT_SUBDIR = @STLPORT_SUBDIR@ ++SYSPRE = @SYSPRE@ ++VERSION = @VERSION@ ++YACC = @YACC@ ++am__include = @am__include@ ++am__quote = @am__quote@ ++install_sh = @install_sh@ ++path_to_sendmail = @path_to_sendmail@ ++path_to_vi = @path_to_vi@ ++ ++AUTOMAKE_OPTIONS = foreign no-dependencies ++ ++INCLUDES = -I.. @STLPORT_INCLUDE@ ++ ++noinst_LIBRARIES = libutil.a ++libutil_a_SOURCES = \ ++ fileutil.cpp stdutil.cpp stringencoder.cpp \ ++ util.cpp utilerrors.cpp utilstrings.cpp ++ ++ ++DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit ++subdir = src/util ++mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs ++CONFIG_HEADER = $(top_builddir)/config.h ++CONFIG_CLEAN_FILES = ++LIBRARIES = $(noinst_LIBRARIES) ++ ++libutil_a_AR = $(AR) cru ++libutil_a_LIBADD = ++am_libutil_a_OBJECTS = fileutil.$(OBJEXT) stdutil.$(OBJEXT) \ ++ stringencoder.$(OBJEXT) util.$(OBJEXT) utilerrors.$(OBJEXT) \ ++ utilstrings.$(OBJEXT) ++libutil_a_OBJECTS = $(am_libutil_a_OBJECTS) ++DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) ++CPPFLAGS = @CPPFLAGS@ ++LDFLAGS = @LDFLAGS@ ++LIBS = @LIBS@ ++depcomp = ++CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) ++CXXLD = $(CXX) ++CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ ++ -o $@ ++CXXFLAGS = @CXXFLAGS@ ++DIST_SOURCES = $(libutil_a_SOURCES) ++DIST_COMMON = Makefile.am Makefile.in ++SOURCES = $(libutil_a_SOURCES) ++ ++all: all-am ++ ++.SUFFIXES: ++.SUFFIXES: .cpp .o .obj ++$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) ++ cd $(top_srcdir) && \ ++ $(AUTOMAKE) --foreign src/util/Makefile ++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status ++ cd $(top_builddir) && \ ++ CONFIG_HEADERS= CONFIG_LINKS= \ ++ CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status ++ ++AR = ar ++ ++clean-noinstLIBRARIES: ++ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) ++libutil.a: $(libutil_a_OBJECTS) $(libutil_a_DEPENDENCIES) ++ -rm -f libutil.a ++ $(libutil_a_AR) libutil.a $(libutil_a_OBJECTS) $(libutil_a_LIBADD) ++ $(RANLIB) libutil.a ++ ++mostlyclean-compile: ++ -rm -f *.$(OBJEXT) core *.core ++ ++distclean-compile: ++ -rm -f *.tab.c ++ ++.cpp.o: ++ $(CXXCOMPILE) -c -o $@ $< ++ ++.cpp.obj: ++ $(CXXCOMPILE) -c -o $@ `cygpath -w $<` ++uninstall-info-am: ++ ++tags: TAGS ++ ++ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ++ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ mkid -fID $$unique $(LISP) ++ ++TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ ++ $(TAGS_FILES) $(LISP) ++ tags=; \ ++ here=`pwd`; \ ++ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ ++ || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) ++ ++GTAGS: ++ here=`CDPATH=: && cd $(top_builddir) && pwd` \ ++ && cd $(top_srcdir) \ ++ && gtags -i $(GTAGS_ARGS) $$here ++ ++distclean-tags: ++ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH ++ ++DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ++ ++top_distdir = ../.. ++distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) ++ ++distdir: $(DISTFILES) ++ @for file in $(DISTFILES); do \ ++ if test -f $$file; then d=.; else d=$(srcdir); fi; \ ++ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ ++ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ ++ $(mkinstalldirs) "$(distdir)/$$dir"; \ ++ fi; \ ++ if test -d $$d/$$file; then \ ++ cp -pR $$d/$$file $(distdir) \ ++ || exit 1; \ ++ else \ ++ test -f $(distdir)/$$file \ ++ || cp -p $$d/$$file $(distdir)/$$file \ ++ || exit 1; \ ++ fi; \ ++ done ++check-am: all-am ++check: check-am ++all-am: Makefile $(LIBRARIES) ++ ++installdirs: ++ ++install: install-am ++install-exec: install-exec-am ++install-data: install-data-am ++uninstall: uninstall-am ++ ++install-am: all-am ++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am ++ ++installcheck: installcheck-am ++install-strip: ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ `test -z '$(STRIP)' || \ ++ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install ++mostlyclean-generic: ++ ++clean-generic: ++ ++distclean-generic: ++ -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* ++ ++maintainer-clean-generic: ++ @echo "This command is intended for maintainers to use" ++ @echo "it deletes files that may require special tools to rebuild." ++clean: clean-am ++ ++clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am ++ ++distclean: distclean-am ++ ++distclean-am: clean-am distclean-compile distclean-generic \ ++ distclean-tags ++ ++dvi: dvi-am ++ ++dvi-am: ++ ++info: info-am ++ ++info-am: ++ ++install-data-am: ++ ++install-exec-am: ++ ++install-info: install-info-am ++ ++install-man: ++ ++installcheck-am: ++ ++maintainer-clean: maintainer-clean-am ++ ++maintainer-clean-am: distclean-am maintainer-clean-generic ++ ++mostlyclean: mostlyclean-am ++ ++mostlyclean-am: mostlyclean-compile mostlyclean-generic ++ ++uninstall-am: uninstall-info-am ++ ++.PHONY: GTAGS all all-am check check-am clean clean-generic \ ++ clean-noinstLIBRARIES distclean distclean-compile \ ++ distclean-generic distclean-tags distdir dvi dvi-am info \ ++ info-am install install-am install-data install-data-am \ ++ install-exec install-exec-am install-info install-info-am \ ++ install-man install-strip installcheck installcheck-am \ ++ installdirs maintainer-clean maintainer-clean-generic \ ++ mostlyclean mostlyclean-compile mostlyclean-generic tags \ ++ uninstall uninstall-am uninstall-info-am ++ ++ ++all: $(noinst_LIBRARIES) ++ $(AR) ru ../../lib/libtripwire.a $(libutil_a_OBJECTS) ++ $(RANLIB) ../../lib/libtripwire.a ++# Tell versions [3.59,3.63) of GNU make to not export all variables. ++# Otherwise a system limit (for SysV at least) may be exceeded. ++.NOEXPORT: +diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/util/fileutil.cpp tripwire-2.3.1-2/src/util/fileutil.cpp +--- tripwire-2.3.1-2.old/src/util/fileutil.cpp Fri Oct 27 17:26:22 2000 ++++ tripwire-2.3.1-2/src/util/fileutil.cpp Thu Jun 5 14:58:53 2003 +@@ -240,7 +240,6 @@ + + enum { BUF_SIZE = 4096 }; + int8 buf[BUF_SIZE]; +- int count; + int nBytesRead; + + cFile srcFile, destFile; +Only in tripwire-2.3.1-2.old/src/util: util.mak diff --git a/twcfg.txt.in b/twcfg.txt.in new file mode 100644 index 0000000..db1dc5c --- /dev/null +++ b/twcfg.txt.in @@ -0,0 +1,15 @@ +ROOT =@sbindir@ +POLFILE =@sysconfdir@/tripwire/tw.pol +DBFILE =@vardir@/lib/tripwire/$(HOSTNAME).twd +REPORTFILE =@vardir@/lib/tripwire/report/$(HOSTNAME)-$(DATE).twr +SITEKEYFILE =@sysconfdir@/tripwire/site.key +LOCALKEYFILE =@sysconfdir@/tripwire/$(HOSTNAME)-local.key +EDITOR =@path_to_vi@ +LATEPROMPTING =false +LOOSEDIRECTORYCHECKING =false +MAILNOVIOLATIONS =true +EMAILREPORTLEVEL =3 +REPORTLEVEL =3 +MAILMETHOD =SENDMAIL +SYSLOGREPORTING =false +MAILPROGRAM =@path_to_sendmail@ -oi -t diff --git a/twinstall.sh.in b/twinstall.sh.in new file mode 100644 index 0000000..7ac3dfc --- /dev/null +++ b/twinstall.sh.in @@ -0,0 +1,316 @@ +#!/bin/sh + +######################################################################## +######################################################################## +## +## Tripwire(R) 2.3 for LINUX(R) Post-RPM installation script +## +## Copyleft information contained in footer +## +######################################################################## +######################################################################## + +##======================================================= +## Setup +##======================================================= + +# We can assume all the correct tools are in place because the +# RPM installed, didn't it? + +##------------------------------------------------------- +## Set HOST_NAME variable +##------------------------------------------------------- +HOST_NAME='localhost' +if uname -n > /dev/null 2> /dev/null ; then + HOST_NAME=`uname -n` +fi + +##------------------------------------------------------- +## Program variables - edited by RPM during initial install +##------------------------------------------------------- + +# Site Passphrase variable +TW_SITE_PASS="" + +# Complete path to site key +SITE_KEY="@sysconfdir@/tripwire/site.key" + +# Local Passphrase variable +TW_LOCAL_PASS="" + +# Complete path to local key +LOCAL_KEY="@sysconfdir@/tripwire/${HOST_NAME}-local.key" + +# If clobber==true, overwrite files; if false, do not overwrite files. +CLOBBER="false" + +# If prompt==true, ask for confirmation before continuing with install. +PROMPT="true" + +# Name of twadmin executeable +TWADMIN="twadmin" + +# Path to twadmin executeable +TWADMPATH=@sbindir@ + +# Path to configuration directory +CONF_PATH="@sysconfdir@/tripwire" + +# Name of clear text policy file +TXT_POL=$CONF_PATH/twpol.txt + +# Name of clear text configuration file +TXT_CFG=$CONF_PATH/twcfg.txt + +# Name of encrypted configuration file +CONFIG_FILE=$CONF_PATH/tw.cfg + +# Path of the final Tripwire policy file (signed) +SIGNED_POL=`grep POLFILE $TXT_CFG | sed -e 's/^.*=\(.*\)/\1/'` + + +##======================================================= +## Create Key Files +##======================================================= + +##------------------------------------------------------- +## If user has to enter a passphrase, give some +## advice about what is appropriate. +##------------------------------------------------------- + +if [ -z "$TW_SITE_PASS" ] || [ -z "$TW_LOCAL_PASS" ]; then +cat << END_OF_TEXT + +---------------------------------------------- +The Tripwire site and local passphrases are used to +sign a variety of files, such as the configuration, +policy, and database files. + +Passphrases should be at least 8 characters in length +and contain both letters and numbers. + +See the Tripwire manual for more information. +END_OF_TEXT +fi + +##======================================================= +## Generate keys. +##======================================================= + +echo +echo "----------------------------------------------" +echo "Creating key files..." + +##------------------------------------------------------- +## Site key file. +##------------------------------------------------------- + +# If clobber is true, and prompting is off (unattended operation) +# and the key file already exists, remove it. Otherwise twadmin +# will prompt with an "are you sure?" message. + +if [ "$CLOBBER" = "true" ] && [ "$PROMPT" = "false" ] && [ -f "$SITE_KEY" ] ; then + rm -f "$SITE_KEY" +fi + +if [ -f "$SITE_KEY" ] && [ "$CLOBBER" = "false" ] ; then + echo "The site key file \"$SITE_KEY\"" + echo 'exists and will not be overwritten.' +else + cmdargs="--generate-keys --site-keyfile \"$SITE_KEY\"" + if [ -n "$TW_SITE_PASS" ] ; then + cmdargs="$cmdargs --site-passphrase \"$TW_SITE_PASS\"" + fi + eval "\"$TWADMPATH/$TWADMIN\" $cmdargs" + if [ $? -ne 0 ] ; then + echo "Error: site key generation failed" + exit 1 + else chmod 640 "$SITE_KEY" + fi +fi + +##------------------------------------------------------- +## Local key file. +##------------------------------------------------------- + +# If clobber is true, and prompting is off (unattended operation) +# and the key file already exists, remove it. Otherwise twadmin +# will prompt with an "are you sure?" message. + +if [ "$CLOBBER" = "true" ] && [ "$PROMPT" = "false" ] && [ -f "$LOCAL_KEY" ] ; then + rm -f "$LOCAL_KEY" +fi + +if [ -f "$LOCAL_KEY" ] && [ "$CLOBBER" = "false" ] ; then + echo "The site key file \"$LOCAL_KEY\"" + echo 'exists and will not be overwritten.' +else + cmdargs="--generate-keys --local-keyfile \"$LOCAL_KEY\"" + if [ -n "$TW_LOCAL_PASS" ] ; then + cmdargs="$cmdargs --local-passphrase \"$TW_LOCAL_PASS\"" + fi + eval "\"$TWADMPATH/$TWADMIN\" $cmdargs" + if [ $? -ne 0 ] ; then + echo "Error: local key generation failed" + exit 1 + else chmod 640 "$LOCAL_KEY" + fi +fi + +##======================================================= +## Sign the Configuration File +##======================================================= + +echo +echo "----------------------------------------------" +echo "Signing configuration file..." + +##------------------------------------------------------- +## If noclobber, then backup any existing config file. +##------------------------------------------------------- + +if [ "$CLOBBER" = "false" ] && [ -s "$CONFIG_FILE" ] ; then + backup="${CONFIG_FILE}.$$.bak" + echo "Backing up $CONFIG_FILE" + echo " to $backup" + `mv "$CONFIG_FILE" "$backup"` + if [ $? -ne 0 ] ; then + echo "Error: backup of configuration file failed." + exit 1 + fi +fi + +##------------------------------------------------------- +## Build command line. +##------------------------------------------------------- + +cmdargs="--create-cfgfile" +cmdargs="$cmdargs --cfgfile \"$CONFIG_FILE\"" +cmdargs="$cmdargs --site-keyfile \"$SITE_KEY\"" +if [ -n "$TW_SITE_PASS" ] ; then + cmdargs="$cmdargs --site-passphrase \"$TW_SITE_PASS\"" +fi + +##------------------------------------------------------- +## Sign the file. +##------------------------------------------------------- + +eval "\"$TWADMPATH/$TWADMIN\" $cmdargs \"$TXT_CFG\"" +if [ $? -ne 0 ] ; then + echo "Error: signing of configuration file failed." + exit 1 +fi + +# Set the rights properly +chmod 640 "$CONFIG_FILE" + +##------------------------------------------------------- +## We keep the cleartext version around. +##------------------------------------------------------- + +cat << END_OF_TEXT + +A clear-text version of the Tripwire configuration file +$TXT_CFG +has been preserved for your inspection. It is recommended +that you delete this file manually after you have examined it. + +END_OF_TEXT + +##======================================================= +## Sign tripwire policy file. +##======================================================= + +echo +echo "----------------------------------------------" +echo "Signing policy file..." + +##------------------------------------------------------- +## If noclobber, then backup any existing policy file. +##------------------------------------------------------- + +if [ "$CLOBBER" = "false" ] && [ -s "$POLICY_FILE" ] ; then + backup="${POLICY_FILE}.$$.bak" + echo "Backing up $POLICY_FILE" + echo " to $backup" + mv "$POLICY_FILE" "$backup" + if [ $? -ne 0 ] ; then + echo "Error: backup of policy file failed." + exit 1 + fi +fi + +##------------------------------------------------------- +## Build command line. +##------------------------------------------------------- + +cmdargs="--create-polfile" +cmdargs="$cmdargs --cfgfile \"$CONFIG_FILE\"" +cmdargs="$cmdargs --site-keyfile \"$SITE_KEY\"" +if [ -n "$TW_SITE_PASS" ] ; then + cmdargs="$cmdargs --site-passphrase \"$TW_SITE_PASS\"" +fi + +##------------------------------------------------------- +## Sign the file. +##------------------------------------------------------- + +eval "\"$TWADMPATH/$TWADMIN\" $cmdargs \"$TXT_POL\"" +if [ $? -ne 0 ] ; then + echo "Error: signing of policy file failed." + exit 1 +fi + +# Set the proper rights on the newly signed policy file. +chmod 0640 "$SIGNED_POL" + +##------------------------------------------------------- +## We keep the cleartext version around. +##------------------------------------------------------- + +cat << END_OF_TEXT + +A clear-text version of the Tripwire policy file +$TXT_POL +has been preserved for your inspection. This implements +a minimal policy, intended only to test essential +Tripwire functionality. You should edit the policy file +to describe your system, and then use twadmin to generate +a new signed copy of the Tripwire policy. + +END_OF_TEXT + +######################################################################## +######################################################################## +# +# TRIPWIRE GPL NOTICES +# +# The developer of the original code and/or files is Tripwire, Inc. +# Portions created by Tripwire, Inc. are copyright 2000 Tripwire, Inc. +# Tripwire is a registered trademark of Tripwire, Inc. All rights reserved. +# +# This program is free software. The contents of this file are subject to +# the terms of the GNU General Public License as published by the Free +# Software Foundation; either version 2 of the License, or (at your option) +# any later version. You may redistribute it and/or modify it only in +# compliance with the GNU General Public License. +# +# This program is distributed in the hope that it will be useful. However, +# this program is distributed "AS-IS" WITHOUT ANY WARRANTY; INCLUDING THE +# IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +# Please see the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# Nothing in the GNU General Public License or any other license to use the +# code or files shall permit you to use Tripwire's trademarks, +# service marks, or other intellectual property without Tripwire's +# prior written consent. +# +# If you have any questions, please contact Tripwire, Inc. at either +# info@tripwire.org or www.tripwire.org. +# +######################################################################## +######################################################################## diff --git a/twpol.txt.in b/twpol.txt.in new file mode 100644 index 0000000..6c9b1e4 --- /dev/null +++ b/twpol.txt.in @@ -0,0 +1,1104 @@ + ############################################################################## + # ## +############################################################################## # +# # # +# Policy file for Red Hat Linux # # +# V1.2.0rh # # +# August 9, 2001 # # +# ## +############################################################################## + + + ############################################################################## + # ## +############################################################################## # +# # # +# This is the example Tripwire Policy file. It is intended as a place to # # +# start creating your own custom Tripwire Policy file. Referring to it as # # +# well as the Tripwire Policy Guide should give you enough information to # # +# make a good custom Tripwire Policy file that better covers your # # +# configuration and security needs. A text version of this policy file is # # +# called twpol.txt. # # +# # # +# Note that this file is tuned to an 'everything' install of Red Hat Linux. # # +# If run unmodified, this file should create no errors on database # # +# creation, or violations on a subsiquent integrity check. However, it is # # +# impossible for there to be one policy file for all machines, so this # # +# existing one errs on the side of security. Your Linux configuration will # # +# most likey differ from the one our policy file was tuned to, and will # # +# therefore require some editing of the default Tripwire Policy file. # # +# # # +# The example policy file is best run with 'Loose Directory Checking' # # +# enabled. Set LOOSEDIRECTORYCHECKING=TRUE in the Tripwire Configuration # # +# file. # # +# # # +# Email support is not included and must be added to this file. # # +# Add the 'emailto=' to the rule directive section of each rule (add a comma # # +# after the 'severity=' line and add an 'emailto=' and include the email # # +# addresses you want the violation reports to go to). Addresses are # # +# semi-colon delimited. # # +# ## +############################################################################## + + + + ############################################################################## + # ## +############################################################################## # +# # # +# Global Variable Definitions # # +# # # +# These are defined at install time by the installation script. You may # # +# Manually edit these if you are using this file directly and not from the # # +# installation script itself. # # +# ## +############################################################################## + +@@section GLOBAL +TWROOT=@sbindir@; +TWBIN=@sbindir@; +TWPOL="@sysconfdir@/tripwire"; +TWDB="@vardir@/lib/tripwire"; +TWSKEY="@sysconfdir@/tripwire"; +TWLKEY="@sysconfdir@/tripwire"; +TWREPORT="@vardir@/lib/tripwire/report"; +HOSTNAME=localhost; + +@@section FS +SEC_CRIT = $(IgnoreNone)-SHa ; # Critical files that cannot change +SEC_SUID = $(IgnoreNone)-SHa ; # Binaries with the SUID or SGID flags set +SEC_BIN = $(ReadOnly) ; # Binaries that should not change +SEC_CONFIG = $(Dynamic) ; # Config files that are changed infrequently but accessed often +SEC_LOG = $(Growing) ; # Files that grow, but that should never change ownership +SEC_INVARIANT = +tpug ; # Directories that should never change permission or ownership +SIG_LOW = 33 ; # Non-critical files that are of minimal security impact +SIG_MED = 66 ; # Non-critical files that are of significant security impact +SIG_HI = 100 ; # Critical files that are significant points of vulnerability + + +# Tripwire Binaries +( + rulename = "Tripwire Binaries", + severity = $(SIG_HI) +) +{ + $(TWBIN)/siggen -> $(SEC_BIN) ; + $(TWBIN)/tripwire -> $(SEC_BIN) ; + $(TWBIN)/twadmin -> $(SEC_BIN) ; + $(TWBIN)/twprint -> $(SEC_BIN) ; +} + +# Tripwire Data Files - Configuration Files, Policy Files, Keys, Reports, Databases +( + rulename = "Tripwire Data Files", + severity = $(SIG_HI) +) +{ + # NOTE: We remove the inode attribute because when Tripwire creates a backup, + # it does so by renaming the old file and creating a new one (which will + # have a new inode number). Inode is left turned on for keys, which shouldn't + # ever change. + + # NOTE: The first integrity check triggers this rule and each integrity check + # afterward triggers this rule until a database update is run, since the + # database file does not exist before that point. + + $(TWDB) -> $(SEC_CONFIG) -i ; + $(TWPOL)/tw.pol -> $(SEC_BIN) -i ; + $(TWPOL)/tw.cfg -> $(SEC_BIN) -i ; + $(TWLKEY)/$(HOSTNAME)-local.key -> $(SEC_BIN) ; + $(TWSKEY)/site.key -> $(SEC_BIN) ; + + #don't scan the individual reports + $(TWREPORT) -> $(SEC_CONFIG) (recurse=0) ; +} + + +# Tripwire HQ Connector Binaries +#( +# rulename = "Tripwire HQ Connector Binaries", +# severity = $(SIG_HI) +#) +#{ +# $(TWBIN)/hqagent -> $(SEC_BIN) ; +#} +# +# Tripwire HQ Connector - Configuration Files, Keys, and Logs + + ############################################################################## + # ## +############################################################################## # +# # # +# Note: File locations here are different than in a stock HQ Connector # # +# installation. This is because Tripwire 2.3 uses a different path # # +# structure than Tripwire 2.2.1. # # +# # # +# You may need to update your HQ Agent configuation file (or this policy # # +# file) to correct the paths. We have attempted to support the FHS standard # # +# here by placing the HQ Agent files similarly to the way Tripwire 2.3 # # +# places them. # # +# ## +############################################################################## + +#( +# rulename = "Tripwire HQ Connector Data Files", +# severity = $(SIG_HI) +#) +#{ +# ############################################################################# +# ############################################################################## +# # NOTE: Removing the inode attribute because when Tripwire creates a backup ## +# # it does so by renaming the old file and creating a new one (which will ## +# # have a new inode number). Leaving inode turned on for keys, which ## +# # shouldn't ever change. ## +# ############################################################################# +# +# $(TWBIN)/agent.cfg -> $(SEC_BIN) -i ; +# $(TWLKEY)/authentication.key -> $(SEC_BIN) ; +# $(TWDB)/tasks.dat -> $(SEC_CONFIG) ; +# $(TWDB)/schedule.dat -> $(SEC_CONFIG) ; +# +# # Uncomment if you have agent logging enabled. +# #/var/log/tripwire/agent.log -> $(SEC_LOG) ; +#} + + + +# Commonly accessed directories that should remain static with regards to owner and group +( + rulename = "Invariant Directories", + severity = $(SIG_MED) +) +{ + / -> $(SEC_INVARIANT) (recurse = 0) ; + /home -> $(SEC_INVARIANT) (recurse = 0) ; + /etc -> $(SEC_INVARIANT) (recurse = 0) ; +} + ################################################ + # ## +################################################ # +# # # +# File System and Disk Administration Programs # # +# ## +################################################ + +( + rulename = "File System and Disk Administraton Programs", + severity = $(SIG_HI) +) +{ + /sbin/accton -> $(SEC_CRIT) ; + /sbin/badblocks -> $(SEC_CRIT) ; + /sbin/busybox -> $(SEC_CRIT) ; + /sbin/busybox.anaconda -> $(SEC_CRIT) ; + /sbin/convertquota -> $(SEC_CRIT) ; + /sbin/dosfsck -> $(SEC_CRIT) ; + /sbin/debugfs -> $(SEC_CRIT) ; + /sbin/debugreiserfs -> $(SEC_CRIT) ; + /sbin/dumpe2fs -> $(SEC_CRIT) ; + /sbin/dump -> $(SEC_CRIT) ; + /sbin/dump.static -> $(SEC_CRIT) ; + # /sbin/e2fsadm -> $(SEC_CRIT) ; tune2fs? + /sbin/e2fsck -> $(SEC_CRIT) ; + /sbin/e2label -> $(SEC_CRIT) ; + /sbin/fdisk -> $(SEC_CRIT) ; + /sbin/fsck -> $(SEC_CRIT) ; + /sbin/fsck.ext2 -> $(SEC_CRIT) ; + /sbin/fsck.ext3 -> $(SEC_CRIT) ; + /sbin/fsck.minix -> $(SEC_CRIT) ; + /sbin/fsck.msdos -> $(SEC_CRIT) ; + /sbin/fsck.vfat -> $(SEC_CRIT) ; + /sbin/ftl_check -> $(SEC_CRIT) ; + /sbin/ftl_format -> $(SEC_CRIT) ; + /sbin/hdparm -> $(SEC_CRIT) ; + #/sbin/lvchange -> $(SEC_CRIT) ; + #/sbin/lvcreate -> $(SEC_CRIT) ; + #/sbin/lvdisplay -> $(SEC_CRIT) ; + #/sbin/lvextend -> $(SEC_CRIT) ; + #/sbin/lvmchange -> $(SEC_CRIT) ; + #/sbin/lvmcreate_initrd -> $(SEC_CRIT) ; + #/sbin/lvmdiskscan -> $(SEC_CRIT) ; + #/sbin/lvmsadc -> $(SEC_CRIT) ; + #/sbin/lvmsar -> $(SEC_CRIT) ; + #/sbin/lvreduce -> $(SEC_CRIT) ; + #/sbin/lvremove -> $(SEC_CRIT) ; + #/sbin/lvrename -> $(SEC_CRIT) ; + #/sbin/lvscan -> $(SEC_CRIT) ; + /sbin/mkbootdisk -> $(SEC_CRIT) ; + /sbin/mkdosfs -> $(SEC_CRIT) ; + /sbin/mke2fs -> $(SEC_CRIT) ; + /sbin/mkfs -> $(SEC_CRIT) ; + /sbin/mkfs.bfs -> $(SEC_CRIT) ; + /sbin/mkfs.ext2 -> $(SEC_CRIT) ; + /sbin/mkfs.minix -> $(SEC_CRIT) ; + /sbin/mkfs.msdos -> $(SEC_CRIT) ; + /sbin/mkfs.vfat -> $(SEC_CRIT) ; + /sbin/mkinitrd -> $(SEC_CRIT) ; + #/sbin/mkpv -> $(SEC_CRIT) ; + /sbin/mkraid -> $(SEC_CRIT) ; + /sbin/mkreiserfs -> $(SEC_CRIT) ; + /sbin/mkswap -> $(SEC_CRIT) ; + #/sbin/mtx -> $(SEC_CRIT) ; + /sbin/pam_console_apply -> $(SEC_CRIT) ; + /sbin/parted -> $(SEC_CRIT) ; + /sbin/pcinitrd -> $(SEC_CRIT) ; + #/sbin/pvchange -> $(SEC_CRIT) ; + #/sbin/pvcreate -> $(SEC_CRIT) ; + #/sbin/pvdata -> $(SEC_CRIT) ; + #/sbin/pvdisplay -> $(SEC_CRIT) ; + #/sbin/pvmove -> $(SEC_CRIT) ; + #/sbin/pvscan -> $(SEC_CRIT) ; + /sbin/quotacheck -> $(SEC_CRIT) ; + /sbin/quotaon -> $(SEC_CRIT) ; + /sbin/raidstart -> $(SEC_CRIT) ; + /sbin/reiserfsck -> $(SEC_CRIT) ; + /sbin/resize2fs -> $(SEC_CRIT) ; + /sbin/resize_reiserfs -> $(SEC_CRIT) ; + /sbin/restore -> $(SEC_CRIT) ; + /sbin/restore.static -> $(SEC_CRIT) ; + /sbin/scsi_info -> $(SEC_CRIT) ; + /sbin/sfdisk -> $(SEC_CRIT) ; + /sbin/stinit -> $(SEC_CRIT) ; + #/sbin/tapeinfo -> $(SEC_CRIT) ; + /sbin/tune2fs -> $(SEC_CRIT) ; + /sbin/unpack -> $(SEC_CRIT) ; + /sbin/update -> $(SEC_CRIT) ; + #/sbin/vgcfgbackup -> $(SEC_CRIT) ; + #/sbin/vgcfgrestore -> $(SEC_CRIT) ; + #/sbin/vgchange -> $(SEC_CRIT) ; + #/sbin/vgck -> $(SEC_CRIT) ; + #/sbin/vgcreate -> $(SEC_CRIT) ; + #/sbin/vgdisplay -> $(SEC_CRIT) ; + #/sbin/vgexport -> $(SEC_CRIT) ; + #/sbin/vgextend -> $(SEC_CRIT) ; + #/sbin/vgimport -> $(SEC_CRIT) ; + #/sbin/vgmerge -> $(SEC_CRIT) ; + #/sbin/vgmknodes -> $(SEC_CRIT) ; + #/sbin/vgreduce -> $(SEC_CRIT) ; + #/sbin/vgremove -> $(SEC_CRIT) ; + #/sbin/vgrename -> $(SEC_CRIT) ; + #/sbin/vgscan -> $(SEC_CRIT) ; + #/sbin/vgsplit -> $(SEC_CRIT) ; + /bin/chgrp -> $(SEC_CRIT) ; + /bin/chmod -> $(SEC_CRIT) ; + /bin/chown -> $(SEC_CRIT) ; + /bin/cp -> $(SEC_CRIT) ; + /bin/cpio -> $(SEC_CRIT) ; + /bin/mount -> $(SEC_CRIT) ; + /bin/umount -> $(SEC_CRIT) ; + /bin/mkdir -> $(SEC_CRIT) ; + /bin/mknod -> $(SEC_CRIT) ; + /bin/mktemp -> $(SEC_CRIT) ; + /bin/rm -> $(SEC_CRIT) ; + /bin/rmdir -> $(SEC_CRIT) ; + /bin/touch -> $(SEC_CRIT) ; +} + + ################################## + # ## +################################## # +# # # +# Kernel Administration Programs # # +# ## +################################## + +( + rulename = "Kernel Administration Programs", + severity = $(SIG_HI) +) +{ + /sbin/adjtimex -> $(SEC_CRIT) ; + /sbin/ctrlaltdel -> $(SEC_CRIT) ; + /sbin/depmod -> $(SEC_CRIT) ; + /sbin/insmod -> $(SEC_CRIT) ; + /sbin/insmod.static -> $(SEC_CRIT) ; + /sbin/insmod_ksymoops_clean -> $(SEC_CRIT) ; + /sbin/klogd -> $(SEC_CRIT) ; + /sbin/ldconfig -> $(SEC_CRIT) ; + /sbin/minilogd -> $(SEC_CRIT) ; + /sbin/modinfo -> $(SEC_CRIT) ; + #/sbin/nuactlun -> $(SEC_CRIT) ; + #/sbin/nuscsitcpd -> $(SEC_CRIT) ; + /sbin/pivot_root -> $(SEC_CRIT) ; + /sbin/sndconfig -> $(SEC_CRIT) ; + /sbin/sysctl -> $(SEC_CRIT) ; +} + + ####################### + # ## +####################### # +# # # +# Networking Programs # # +# ## +####################### + +( + rulename = "Networking Programs", + severity = $(SIG_HI) +) +{ + /etc/sysconfig/network-scripts/ifdown -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/ifdown-cipcb -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/ifdown-ippp -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/ifdown-ipv6 -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/ifdown-isdn -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/ifdown-post -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/ifdown-ppp -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/ifdown-sit -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/ifdown-sl -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/ifup -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/ifup-aliases -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/ifup-cipcb -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/ifup-ippp -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/ifup-ipv6 -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/ifup-isdn -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/ifup-plip -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/ifup-plusb -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/ifup-post -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/ifup-ppp -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/ifup-routes -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/ifup-sit -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/ifup-sl -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/ifup-wireless -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/network-functions -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/network-functions-ipv6 -> $(SEC_CRIT) ; + /bin/ping -> $(SEC_CRIT) ; + /sbin/agetty -> $(SEC_CRIT) ; + /sbin/arp -> $(SEC_CRIT) ; + /sbin/arping -> $(SEC_CRIT) ; + /sbin/dhcpcd -> $(SEC_CRIT) ; + /sbin/ether-wake -> $(SEC_CRIT) ; + #/sbin/getty -> $(SEC_CRIT) ; + /sbin/ifcfg -> $(SEC_CRIT) ; + /sbin/ifconfig -> $(SEC_CRIT) ; + /sbin/ifdown -> $(SEC_CRIT) ; + /sbin/ifenslave -> $(SEC_CRIT) ; + /sbin/ifport -> $(SEC_CRIT) ; + /sbin/ifup -> $(SEC_CRIT) ; + /sbin/ifuser -> $(SEC_CRIT) ; + /sbin/ip -> $(SEC_CRIT) ; + /sbin/ip6tables -> $(SEC_CRIT) ; + /sbin/ipchains -> $(SEC_CRIT) ; + /sbin/ipchains-restore -> $(SEC_CRIT) ; + /sbin/ipchains-save -> $(SEC_CRIT) ; + /sbin/ipfwadm -> $(SEC_CRIT) ; + /sbin/ipmaddr -> $(SEC_CRIT) ; + /sbin/iptables -> $(SEC_CRIT) ; + /sbin/iptables-restore -> $(SEC_CRIT) ; + /sbin/iptables-save -> $(SEC_CRIT) ; + /sbin/iptunnel -> $(SEC_CRIT) ; + /sbin/ipvsadm -> $(SEC_CRIT) ; + /sbin/ipvsadm-restore -> $(SEC_CRIT) ; + /sbin/ipvsadm-save -> $(SEC_CRIT) ; + /sbin/ipx_configure -> $(SEC_CRIT) ; + /sbin/ipx_interface -> $(SEC_CRIT) ; + /sbin/ipx_internal_net -> $(SEC_CRIT) ; + /sbin/iwconfig -> $(SEC_CRIT) ; + /sbin/iwgetid -> $(SEC_CRIT) ; + /sbin/iwlist -> $(SEC_CRIT) ; + /sbin/iwpriv -> $(SEC_CRIT) ; + /sbin/iwspy -> $(SEC_CRIT) ; + /sbin/mgetty -> $(SEC_CRIT) ; + /sbin/mingetty -> $(SEC_CRIT) ; + /sbin/nameif -> $(SEC_CRIT) ; + /sbin/netreport -> $(SEC_CRIT) ; + /sbin/plipconfig -> $(SEC_CRIT) ; + /sbin/portmap -> $(SEC_CRIT) ; + /sbin/ppp-watch -> $(SEC_CRIT) ; + #/sbin/rarp -> $(SEC_CRIT) ; + /sbin/route -> $(SEC_CRIT) ; + /sbin/slattach -> $(SEC_CRIT) ; + /sbin/tc -> $(SEC_CRIT) ; + #/sbin/uugetty -> $(SEC_CRIT) ; + /sbin/vgetty -> $(SEC_CRIT) ; + /sbin/ypbind -> $(SEC_CRIT) ; +} + + ################################## + # ## +################################## # +# # # +# System Administration Programs # # +# ## +################################## + +( + rulename = "System Administration Programs", + severity = $(SIG_HI) +) +{ + /sbin/chkconfig -> $(SEC_CRIT) ; + /sbin/fuser -> $(SEC_CRIT) ; + /sbin/halt -> $(SEC_CRIT) ; + /sbin/init -> $(SEC_CRIT) ; + /sbin/initlog -> $(SEC_CRIT) ; + /sbin/install-info -> $(SEC_CRIT) ; + /sbin/killall5 -> $(SEC_CRIT) ; + #/sbin/linuxconf -> $(SEC_CRIT) ; + #/sbin/linuxconf-auth -> $(SEC_CRIT) ; + /sbin/pam_tally -> $(SEC_CRIT) ; + /sbin/pwdb_chkpwd -> $(SEC_CRIT) ; + #/sbin/remadmin -> $(SEC_CRIT) ; + /sbin/rescuept -> $(SEC_CRIT) ; + /sbin/rmt -> $(SEC_CRIT) ; + /sbin/rpc.lockd -> $(SEC_CRIT) ; + /sbin/rpc.statd -> $(SEC_CRIT) ; + /sbin/rpcdebug -> $(SEC_CRIT) ; + /sbin/service -> $(SEC_CRIT) ; + /sbin/setsysfont -> $(SEC_CRIT) ; + /sbin/shutdown -> $(SEC_CRIT) ; + /sbin/sulogin -> $(SEC_CRIT) ; + /sbin/swapon -> $(SEC_CRIT) ; + /sbin/syslogd -> $(SEC_CRIT) ; + /sbin/unix_chkpwd -> $(SEC_CRIT) ; + /bin/pwd -> $(SEC_CRIT) ; + /bin/uname -> $(SEC_CRIT) ; +} + + ######################################## + # ## +######################################## # +# # # +# Hardware and Device Control Programs # # +# ## +######################################## +( + rulename = "Hardware and Device Control Programs", + severity = $(SIG_HI) +) +{ + /bin/setserial -> $(SEC_CRIT) ; + /bin/sfxload -> $(SEC_CRIT) ; + /sbin/blockdev -> $(SEC_CRIT) ; + /sbin/cardctl -> $(SEC_CRIT) ; + /sbin/cardmgr -> $(SEC_CRIT) ; + /sbin/cbq -> $(SEC_CRIT) ; + /sbin/dump_cis -> $(SEC_CRIT) ; + /sbin/elvtune -> $(SEC_CRIT) ; + /sbin/hotplug -> $(SEC_CRIT) ; + /sbin/hwclock -> $(SEC_CRIT) ; + /sbin/ide_info -> $(SEC_CRIT) ; + #/sbin/isapnp -> $(SEC_CRIT) ; + #/sbin/kbdrate -> $(SEC_CRIT) ; + /sbin/losetup -> $(SEC_CRIT) ; + /sbin/lspci -> $(SEC_CRIT) ; + /sbin/lspnp -> $(SEC_CRIT) ; + /sbin/mii-tool -> $(SEC_CRIT) ; + /sbin/pack_cis -> $(SEC_CRIT) ; + #/sbin/pnpdump -> $(SEC_CRIT) ; + /sbin/probe -> $(SEC_CRIT) ; + #/sbin/pump -> $(SEC_CRIT) ; + /sbin/setpci -> $(SEC_CRIT) ; + /sbin/shapecfg -> $(SEC_CRIT) ; +} + + ############################### + # ## +############################### # +# # # +# System Information Programs # # +# ## +############################### +( + rulename = "System Information Programs", + severity = $(SIG_HI) +) +{ + /sbin/consoletype -> $(SEC_CRIT) ; + /sbin/kernelversion -> $(SEC_CRIT) ; + /sbin/runlevel -> $(SEC_CRIT) ; +} + + #################################### + # ## +#################################### # +# # # +# Application Information Programs # # +# ## +#################################### + +( + rulename = "Application Information Programs", + severity = $(SIG_HI) +) +{ + /sbin/genksyms -> $(SEC_CRIT) ; + #/sbin/genksyms.old -> $(SEC_CRIT) ; + /sbin/rtmon -> $(SEC_CRIT) ; +} + + ########################## + # ## +########################## # +# # # +# Shell Related Programs # # +# ## +########################## +( + rulename = "Shell Related Programs", + severity = $(SIG_HI) +) +{ + /sbin/getkey -> $(SEC_CRIT) ; + /sbin/nash -> $(SEC_CRIT) ; + /sbin/sash -> $(SEC_CRIT) ; +} + + + ################ + # ## +################ # +# # # +# OS Utilities # # +# ## +################ +( + rulename = "Operating System Utilities", + severity = $(SIG_HI) +) +{ + /bin/arch -> $(SEC_CRIT) ; + /bin/ash -> $(SEC_CRIT) ; + /bin/ash.static -> $(SEC_CRIT) ; + /bin/aumix-minimal -> $(SEC_CRIT) ; + /bin/basename -> $(SEC_CRIT) ; + /bin/cat -> $(SEC_CRIT) ; + #/bin/consolechars -> $(SEC_CRIT) ; + /bin/cut -> $(SEC_CRIT) ; + /bin/date -> $(SEC_CRIT) ; + /bin/dd -> $(SEC_CRIT) ; + /bin/df -> $(SEC_CRIT) ; + /bin/dmesg -> $(SEC_CRIT) ; + /bin/doexec -> $(SEC_CRIT) ; + /bin/echo -> $(SEC_CRIT) ; + /bin/ed -> $(SEC_CRIT) ; + /bin/egrep -> $(SEC_CRIT) ; + /bin/false -> $(SEC_CRIT) ; + /bin/fgrep -> $(SEC_CRIT) ; + /bin/gawk -> $(SEC_CRIT) ; + /bin/gawk-3.1.0 -> $(SEC_CRIT) ; + /bin/gettext -> $(SEC_CRIT) ; + /bin/grep -> $(SEC_CRIT) ; + /bin/gunzip -> $(SEC_CRIT) ; + /bin/gzip -> $(SEC_CRIT) ; + /bin/hostname -> $(SEC_CRIT) ; + /bin/igawk -> $(SEC_CRIT) ; + /bin/ipcalc -> $(SEC_CRIT) ; + /bin/kill -> $(SEC_CRIT) ; + /bin/ln -> $(SEC_CRIT) ; + /bin/loadkeys -> $(SEC_CRIT) ; + /bin/login -> $(SEC_CRIT) ; + /bin/ls -> $(SEC_CRIT) ; + /bin/mail -> $(SEC_CRIT) ; + /bin/more -> $(SEC_CRIT) ; + /bin/mt -> $(SEC_CRIT) ; + /bin/mv -> $(SEC_CRIT) ; + /bin/netstat -> $(SEC_CRIT) ; + /bin/nice -> $(SEC_CRIT) ; + /bin/pgawk -> $(SEC_CRIT) ; + /bin/ps -> $(SEC_CRIT) ; + /bin/rpm -> $(SEC_CRIT) ; + /bin/sed -> $(SEC_CRIT) ; + /bin/sleep -> $(SEC_CRIT) ; + /bin/sort -> $(SEC_CRIT) ; + /bin/stty -> $(SEC_CRIT) ; + /bin/su -> $(SEC_CRIT) ; + /bin/sync -> $(SEC_CRIT) ; + /bin/tar -> $(SEC_CRIT) ; + /bin/true -> $(SEC_CRIT) ; + /bin/usleep -> $(SEC_CRIT) ; + /bin/vi -> $(SEC_CRIT) ; + /bin/zcat -> $(SEC_CRIT) ; + /bin/zsh -> $(SEC_CRIT) ; + /bin/zsh-4.0.2 -> $(SEC_CRIT) ; + /sbin/sln -> $(SEC_CRIT) ; + /usr/bin/vimtutor -> $(SEC_CRIT) ; +} + + ############################## + # ## +############################## # +# # # +# Critical Utility Sym-Links # # +# ## +############################## +( + rulename = "Critical Utility Sym-Links", + severity = $(SIG_HI) +) +{ + #/sbin/askrunlevel -> $(SEC_CRIT) ; + /sbin/clock -> $(SEC_CRIT) ; + #/sbin/fixperm -> $(SEC_CRIT) ; + /sbin/fsck.reiserfs -> $(SEC_CRIT) ; + #/sbin/fsconf -> $(SEC_CRIT) ; + /sbin/ipfwadm-wrapper -> $(SEC_CRIT) ; + /sbin/kallsyms -> $(SEC_CRIT) ; + /sbin/ksyms -> $(SEC_CRIT) ; + /sbin/lsmod -> $(SEC_CRIT) ; + #/sbin/mailconf -> $(SEC_CRIT) ; + /sbin/mkfs.reiserfs -> $(SEC_CRIT) ; + #/sbin/modemconf -> $(SEC_CRIT) ; + /sbin/modprobe -> $(SEC_CRIT) ; + /sbin/mount.ncp -> $(SEC_CRIT) ; + /sbin/mount.ncpfs -> $(SEC_CRIT) ; + /sbin/mount.smb -> $(SEC_CRIT) ; + /sbin/mount.smbfs -> $(SEC_CRIT) ; + #/sbin/netconf -> $(SEC_CRIT) ; + /sbin/pidof -> $(SEC_CRIT) ; + /sbin/poweroff -> $(SEC_CRIT) ; + /sbin/quotaoff -> $(SEC_CRIT) ; + /sbin/raid0run -> $(SEC_CRIT) ; + /sbin/raidhotadd -> $(SEC_CRIT) ; + /sbin/raidhotgenerateerror -> $(SEC_CRIT) ; + /sbin/raidhotremove -> $(SEC_CRIT) ; + /sbin/raidstop -> $(SEC_CRIT) ; + /sbin/rdump -> $(SEC_CRIT) ; + /sbin/rdump.static -> $(SEC_CRIT) ; + /sbin/reboot -> $(SEC_CRIT) ; + /sbin/rmmod -> $(SEC_CRIT) ; + /sbin/rrestore -> $(SEC_CRIT) ; + /sbin/rrestore.static -> $(SEC_CRIT) ; + /sbin/swapoff -> $(SEC_CRIT) ; + /sbin/telinit -> $(SEC_CRIT) ; + #/sbin/userconf -> $(SEC_CRIT) ; + #/sbin/uucpconf -> $(SEC_CRIT) ; + #/sbin/vregistry -> $(SEC_CRIT) ; + /bin/awk -> $(SEC_CRIT) ; + /bin/bash2 -> $(SEC_CRIT) ; + /bin/bsh -> $(SEC_CRIT) ; + /bin/csh -> $(SEC_CRIT) ; + /bin/dnsdomainname -> $(SEC_CRIT) ; + /bin/domainname -> $(SEC_CRIT) ; + /bin/ex -> $(SEC_CRIT) ; + /bin/gtar -> $(SEC_CRIT) ; + /bin/nisdomainname -> $(SEC_CRIT) ; + /bin/red -> $(SEC_CRIT) ; + /bin/rvi -> $(SEC_CRIT) ; + /bin/rview -> $(SEC_CRIT) ; + /bin/view -> $(SEC_CRIT) ; + /bin/ypdomainname -> $(SEC_CRIT) ; +} + + + ######################### + # ## +######################### # +# # # +# Temporary directories # # +# ## +######################### +( + rulename = "Temporary directories", + recurse = false, + severity = $(SIG_LOW) +) +{ + /usr/tmp -> $(SEC_INVARIANT) ; + /var/tmp -> $(SEC_INVARIANT) ; + /tmp -> $(SEC_INVARIANT) ; +} + + ############### + # ## +############### # +# # # +# Local files # # +# ## +############### +( + rulename = "User binaries", + severity = $(SIG_MED) +) +{ + /sbin -> $(SEC_BIN) (recurse = 1) ; + /usr/bin -> $(SEC_BIN) (recurse = 1) ; + /usr/sbin -> $(SEC_BIN) (recurse = 1) ; + /usr/local/bin -> $(SEC_BIN) (recurse = 1) ; +} + +( + rulename = "Shell Binaries", + severity = $(SIG_HI) +) +{ + /bin/bash -> $(SEC_BIN) ; + /bin/ksh -> $(SEC_BIN) ; + # /bin/psh -> $(SEC_BIN) ; # No longer used? + # /bin/Rsh -> $(SEC_BIN) ; # No longer used? + /bin/sh -> $(SEC_BIN) ; + # /bin/shell -> $(SEC_SUID) ; # No longer used? + # /bin/tsh -> $(SEC_BIN) ; # No longer used? + /bin/tcsh -> $(SEC_BIN) ; + /sbin/nologin -> $(SEC_BIN) ; +} + +( + rulename = "Security Control", + severity = $(SIG_HI) +) +{ + /etc/group -> $(SEC_CRIT) ; + /etc/security -> $(SEC_CRIT) ; + #/var/spool/cron/crontabs -> $(SEC_CRIT) ; # Uncomment when this file exists +} + +#( +# rulename = "Boot Scripts", +# severity = $(SIG_HI) +#) +#{ +# /etc/rc -> $(SEC_CONFIG) ; +# /etc/rc.bsdnet -> $(SEC_CONFIG) ; +# /etc/rc.dt -> $(SEC_CONFIG) ; +# /etc/rc.net -> $(SEC_CONFIG) ; +# /etc/rc.net.serial -> $(SEC_CONFIG) ; +# /etc/rc.nfs -> $(SEC_CONFIG) ; +# /etc/rc.powerfail -> $(SEC_CONFIG) ; +# /etc/rc.tcpip -> $(SEC_CONFIG) ; +# /etc/trcfmt.Z -> $(SEC_CONFIG) ; +#} + +( + rulename = "Login Scripts", + severity = $(SIG_HI) +) +{ + /etc/bashrc -> $(SEC_CONFIG) ; + /etc/csh.cshrc -> $(SEC_CONFIG) ; + /etc/csh.login -> $(SEC_CONFIG) ; + /etc/inputrc -> $(SEC_CONFIG) ; + # /etc/tsh_profile -> $(SEC_CONFIG) ; #Uncomment when this file exists + /etc/profile -> $(SEC_CONFIG) ; +} + +# Libraries +( + rulename = "Libraries", + severity = $(SIG_MED) +) +{ + /usr/lib -> $(SEC_BIN) ; + /usr/local/lib -> $(SEC_BIN) ; +} + + + ###################################################### + # ## +###################################################### # +# # # +# Critical System Boot Files # # +# These files are critical to a correct system boot. # # +# ## +###################################################### + +( + rulename = "Critical system boot files", + severity = $(SIG_HI) +) +{ + /boot -> $(SEC_CRIT) ; + #/sbin/devfsd -> $(SEC_CRIT) ; + /sbin/grub -> $(SEC_CRIT) ; + /sbin/grub-install -> $(SEC_CRIT) ; + /sbin/grub-md5-crypt -> $(SEC_CRIT) ; + /sbin/installkernel -> $(SEC_CRIT) ; + /sbin/lilo -> $(SEC_CRIT) ; + /sbin/mkkerneldoth -> $(SEC_CRIT) ; + !/boot/System.map ; + !/boot/module-info ; + /usr/share/grub/i386-redhat/e2fs_stage1_5 -> $(SEC_CRIT) ; + /usr/share/grub/i386-redhat/fat_stage1_5 -> $(SEC_CRIT) ; + /usr/share/grub/i386-redhat/ffs_stage1_5 -> $(SEC_CRIT) ; + /usr/share/grub/i386-redhat/minix_stage1_5 -> $(SEC_CRIT) ; + /usr/share/grub/i386-redhat/reiserfs_stage1_5 -> $(SEC_CRIT) ; + /usr/share/grub/i386-redhat/stage1 -> $(SEC_CRIT) ; + /usr/share/grub/i386-redhat/stage2 -> $(SEC_CRIT) ; + /usr/share/grub/i386-redhat/vstafs_stage1_5 -> $(SEC_CRIT) ; + # other boot files may exist. Look for: + #/ufsboot -> $(SEC_CRIT) ; +} + ################################################## + ################################################### + # These files change every time the system boots ## + ################################################## +( + rulename = "System boot changes", + severity = $(SIG_HI) +) +{ + !/var/run/ftp.pids-all ; # Comes and goes on reboot. + !/root/.enlightenment ; + /dev/log -> $(SEC_CONFIG) ; + /dev/cua0 -> $(SEC_CONFIG) ; + # /dev/printer -> $(SEC_CONFIG) ; # Uncomment if you have a printer device + /dev/console -> $(SEC_CONFIG) -u ; # User ID may change on console login/logout. + /dev/tty1 -> $(SEC_CONFIG) ; # tty devices + /dev/tty2 -> $(SEC_CONFIG) ; # tty devices + /dev/tty3 -> $(SEC_CONFIG) ; # are extremely + /dev/tty4 -> $(SEC_CONFIG) ; # variable + /dev/tty5 -> $(SEC_CONFIG) ; + /dev/tty6 -> $(SEC_CONFIG) ; + /dev/urandom -> $(SEC_CONFIG) ; + /dev/initctl -> $(SEC_CONFIG) ; + /var/lock/subsys -> $(SEC_CONFIG) ; + /var/lock/subsys/amd -> $(SEC_CONFIG) ; + /var/lock/subsys/anacron -> $(SEC_CONFIG) ; + /var/lock/subsys/apmd -> $(SEC_CONFIG) ; + /var/lock/subsys/arpwatch -> $(SEC_CONFIG) ; + /var/lock/subsys/atd -> $(SEC_CONFIG) ; + /var/lock/subsys/autofs -> $(SEC_CONFIG) ; + /var/lock/subsys/bcm5820 -> $(SEC_CONFIG) ; + /var/lock/subsys/bgpd -> $(SEC_CONFIG) ; + /var/lock/subsys/bootparamd -> $(SEC_CONFIG) ; + /var/lock/subsys/canna -> $(SEC_CONFIG) ; + /var/lock/subsys/crond -> $(SEC_CONFIG) ; + /var/lock/subsys/cWnn -> $(SEC_CONFIG) ; + /var/lock/subsys/dhcpd -> $(SEC_CONFIG) ; + /var/lock/subsys/firewall -> $(SEC_CONFIG) ; + /var/lock/subsys/freeWnn -> $(SEC_CONFIG) ; + /var/lock/subsys/gated -> $(SEC_CONFIG) ; + /var/lock/subsys/gpm -> $(SEC_CONFIG) ; + /var/lock/subsys/httpd -> $(SEC_CONFIG) ; + /var/lock/subsys/identd -> $(SEC_CONFIG) ; + /var/lock/subsys/innd -> $(SEC_CONFIG) ; + /var/lock/subsys/ipchains -> $(SEC_CONFIG) ; + /var/lock/subsys/iptables -> $(SEC_CONFIG) ; + /var/lock/subsys/ipvsadm -> $(SEC_CONFIG) ; + /var/lock/subsys/irda -> $(SEC_CONFIG) ; + /var/lock/subsys/iscsi -> $(SEC_CONFIG) ; + /var/lock/subsys/isdn -> $(SEC_CONFIG) ; + /var/lock/subsys/junkbuster -> $(SEC_CONFIG) ; + /var/lock/subsys/kadmin -> $(SEC_CONFIG) ; + /var/lock/subsys/keytable -> $(SEC_CONFIG) ; + /var/lock/subsys/kprop -> $(SEC_CONFIG) ; + /var/lock/subsys/krb524 -> $(SEC_CONFIG) ; + /var/lock/subsys/krb5kdc -> $(SEC_CONFIG) ; + /var/lock/subsys/kudzu -> $(SEC_CONFIG) ; + /var/lock/subsys/kWnn -> $(SEC_CONFIG) ; + /var/lock/subsys/ldap -> $(SEC_CONFIG) ; + /var/lock/subsys/linuxconf -> $(SEC_CONFIG) ; + /var/lock/subsys/lpd -> $(SEC_CONFIG) ; + /var/lock/subsys/mars_nwe -> $(SEC_CONFIG) ; + /var/lock/subsys/mcserv -> $(SEC_CONFIG) ; + /var/lock/subsys/mysqld -> $(SEC_CONFIG) ; + /var/lock/subsys/named -> $(SEC_CONFIG) ; + /var/lock/subsys/netfs -> $(SEC_CONFIG) ; + /var/lock/subsys/network -> $(SEC_CONFIG) ; + /var/lock/subsys/nfs -> $(SEC_CONFIG) ; + /var/lock/subsys/nfslock -> $(SEC_CONFIG) ; + /var/lock/subsys/nscd -> $(SEC_CONFIG) ; + /var/lock/subsys/ntpd -> $(SEC_CONFIG) ; + /var/lock/subsys/ospf6d -> $(SEC_CONFIG) ; + /var/lock/subsys/ospfd -> $(SEC_CONFIG) ; + /var/lock/subsys/pcmcia -> $(SEC_CONFIG) ; + /var/lock/subsys/portmap -> $(SEC_CONFIG) ; + /var/lock/subsys/postgresql -> $(SEC_CONFIG) ; + /var/lock/subsys/pxe -> $(SEC_CONFIG) ; + /var/lock/subsys/radvd -> $(SEC_CONFIG) ; + /var/lock/subsys/random -> $(SEC_CONFIG) ; + /var/lock/subsys/rarpd -> $(SEC_CONFIG) ; + /var/lock/subsys/reconfig -> $(SEC_CONFIG) ; + /var/lock/subsys/rhnsd -> $(SEC_CONFIG) ; + /var/lock/subsys/ripd -> $(SEC_CONFIG) ; + /var/lock/subsys/ripngd -> $(SEC_CONFIG) ; + /var/lock/subsys/routed -> $(SEC_CONFIG) ; + /var/lock/subsys/rstatd -> $(SEC_CONFIG) ; + /var/lock/subsys/rusersd -> $(SEC_CONFIG) ; + /var/lock/subsys/rwalld -> $(SEC_CONFIG) ; + /var/lock/subsys/rwhod -> $(SEC_CONFIG) ; + /var/lock/subsys/sendmail -> $(SEC_CONFIG) ; + /var/lock/subsys/smb -> $(SEC_CONFIG) ; + /var/lock/subsys/snmpd -> $(SEC_CONFIG) ; + /var/lock/subsys/squid -> $(SEC_CONFIG) ; + /var/lock/subsys/sshd -> $(SEC_CONFIG) ; + /var/lock/subsys/syslog -> $(SEC_CONFIG) ; + /var/lock/subsys/tux -> $(SEC_CONFIG) ; + /var/lock/subsys/tWnn -> $(SEC_CONFIG) ; + /var/lock/subsys/ups -> $(SEC_CONFIG) ; + /var/lock/subsys/vncserver -> $(SEC_CONFIG) ; + /var/lock/subsys/wine -> $(SEC_CONFIG) ; + /var/lock/subsys/xfs -> $(SEC_CONFIG) ; + /var/lock/subsys/xinetd -> $(SEC_CONFIG) ; + /var/lock/subsys/ypbind -> $(SEC_CONFIG) ; + /var/lock/subsys/yppasswdd -> $(SEC_CONFIG) ; + /var/lock/subsys/ypserv -> $(SEC_CONFIG) ; + /var/lock/subsys/ypxfrd -> $(SEC_CONFIG) ; + /var/lock/subsys/zebra -> $(SEC_CONFIG) ; + /var/run -> $(SEC_CONFIG) ; + /var/log -> $(SEC_CONFIG) ; + /etc/ioctl.save -> $(SEC_CONFIG) ; + /etc/issue.net -> $(SEC_CONFIG) -i ; # Inode number changes + /etc/issue -> $(SEC_CONFIG) ; + /etc/mtab -> $(SEC_CONFIG) -i ; # Inode number changes on any mount/unmount + /lib/modules -> $(SEC_CONFIG) ; + /etc/.pwd.lock -> $(SEC_CONFIG) ; + # /lib/modules/preferred -> $(SEC_CONFIG) ; #Uncomment when this file exists +} + +# These files change the behavior of the root account +( + rulename = "Root config files", + severity = 100 +) +{ + /root -> $(SEC_CRIT) ; # Catch all additions to /root + /root/.Xresources -> $(SEC_CONFIG) ; + /root/.bashrc -> $(SEC_CONFIG) ; + /root/.bash_profile -> $(SEC_CONFIG) ; + /root/.bash_logout -> $(SEC_CONFIG) ; + /root/.cshrc -> $(SEC_CONFIG) ; + /root/.tcshrc -> $(SEC_CONFIG) ; + #/root/Mail -> $(SEC_CONFIG) ; + #/root/mail -> $(SEC_CONFIG) ; + #/root/.amandahosts -> $(SEC_CONFIG) ; + #/root/.addressbook.lu -> $(SEC_CONFIG) ; + #/root/.addressbook -> $(SEC_CONFIG) ; + /root/.bash_history -> $(SEC_CONFIG) ; + #/root/.elm -> $(SEC_CONFIG) ; + /root/.esd_auth -> $(SEC_CONFIG) ; + /root/.gnome_private -> $(SEC_CONFIG) ; + /root/.gnome-desktop -> $(SEC_CONFIG) ; + /root/.gnome -> $(SEC_CONFIG) ; + /root/.ICEauthority -> $(SEC_CONFIG) ; + #/root/.mc -> $(SEC_CONFIG) ; + #/root/.pinerc -> $(SEC_CONFIG) ; + #/root/.sawfish -> $(SEC_CONFIG) ; + /root/.Xauthority -> $(SEC_CONFIG) -i ; # Changes Inode number on login + #/root/.xauth -> $(SEC_CONFIG) ; + #/root/.xsession-errors -> $(SEC_CONFIG) ; +} + + ################################ + # ## +################################ # +# # # +# Critical configuration files # # +# ## +################################ +( + rulename = "Critical configuration files", + severity = $(SIG_HI) +) +{ + #/etc/conf.linuxconf -> $(SEC_BIN) ; + /etc/crontab -> $(SEC_BIN) ; + /etc/cron.hourly -> $(SEC_BIN) ; + /etc/cron.daily -> $(SEC_BIN) ; + /etc/cron.weekly -> $(SEC_BIN) ; + /etc/cron.monthly -> $(SEC_BIN) ; + /etc/default -> $(SEC_BIN) ; + /etc/fstab -> $(SEC_BIN) ; + /etc/exports -> $(SEC_BIN) ; + /etc/group- -> $(SEC_BIN) ; # changes should be infrequent + /etc/host.conf -> $(SEC_BIN) ; + /etc/hosts.allow -> $(SEC_BIN) ; + /etc/hosts.deny -> $(SEC_BIN) ; + /etc/httpd/conf -> $(SEC_BIN) ; # changes should be infrequent + /etc/protocols -> $(SEC_BIN) ; + /etc/services -> $(SEC_BIN) ; + /etc/rc.d/init.d -> $(SEC_BIN) ; + /etc/rc.d -> $(SEC_BIN) ; + /etc/mail.rc -> $(SEC_BIN) ; + /etc/modules.conf -> $(SEC_BIN) ; + /etc/motd -> $(SEC_BIN) ; + /etc/named.conf -> $(SEC_BIN) ; + /etc/passwd -> $(SEC_CONFIG) ; + /etc/passwd- -> $(SEC_CONFIG) ; + /etc/profile.d -> $(SEC_BIN) ; + /var/lib/nfs/rmtab -> $(SEC_BIN) ; + /usr/sbin/fixrmtab -> $(SEC_BIN) ; + /etc/rpc -> $(SEC_BIN) ; + /etc/sysconfig -> $(SEC_BIN) ; + /etc/samba/smb.conf -> $(SEC_CONFIG) ; + #/etc/gettydefs -> $(SEC_BIN) ; + /etc/nsswitch.conf -> $(SEC_BIN) ; + /etc/yp.conf -> $(SEC_BIN) ; + /etc/hosts -> $(SEC_CONFIG) ; + /etc/xinetd.conf -> $(SEC_CONFIG) ; + /etc/inittab -> $(SEC_CONFIG) ; + /etc/resolv.conf -> $(SEC_CONFIG) ; + /etc/syslog.conf -> $(SEC_CONFIG) ; +} + + #################### + # ## +#################### # +# # # +# Critical devices # # +# ## +#################### +( + rulename = "Critical devices", + severity = $(SIG_HI), + recurse = false +) +{ + /dev/kmem -> $(Device) ; + /dev/mem -> $(Device) ; + /dev/null -> $(Device) ; + /dev/zero -> $(Device) ; + /proc/devices -> $(Device) ; + /proc/net -> $(Device) ; + /proc/sys -> $(Device) ; + /proc/cpuinfo -> $(Device) ; + /proc/modules -> $(Device) ; + /proc/mounts -> $(Device) ; + /proc/dma -> $(Device) ; + /proc/filesystems -> $(Device) ; + /proc/pci -> $(Device) ; + /proc/interrupts -> $(Device) ; + /proc/driver/rtc -> $(Device) ; + /proc/ioports -> $(Device) ; + /proc/scsi -> $(Device) ; + /proc/kcore -> $(Device) ; + /proc/self -> $(Device) ; + /proc/kmsg -> $(Device) ; + /proc/stat -> $(Device) ; + /proc/ksyms -> $(Device) ; + /proc/loadavg -> $(Device) ; + /proc/uptime -> $(Device) ; + /proc/locks -> $(Device) ; + /proc/version -> $(Device) ; + /proc/mdstat -> $(Device) ; + /proc/meminfo -> $(Device) ; + /proc/cmdline -> $(Device) ; + /proc/misc -> $(Device) ; +} + +# Rest of critical system binaries +( + rulename = "OS executables and libraries", + severity = $(SIG_HI) +) +{ + /bin -> $(SEC_BIN) ; + /lib -> $(SEC_BIN) ; +} + +#============================================================================= +# +# Copyright 2000 Tripwire, Inc. Tripwire is a registered trademark of Tripwire, +# Inc. in the United States and other countries. All rights reserved. +# +# Linux is a registered trademark of Linus Torvalds. +# +# UNIX is a registered trademark of The Open Group. +# +#============================================================================= +# +# Permission is granted to make and distribute verbatim copies of this document +# provided the copyright notice and this permission notice are preserved on all +# copies. +# +# Permission is granted to copy and distribute modified versions of this +# document under the conditions for verbatim copying, provided that the entire +# resulting derived work is distributed under the terms of a permission notice +# identical to this one. +# +# Permission is granted to copy and distribute translations of this document +# into another language, under the above conditions for modified versions, +# except that this permission notice may be stated in a translation approved by +# Tripwire, Inc. +# +# DCM From f43a61c39d657b3ec546ddd9eb1c5bbcc600546d Mon Sep 17 00:00:00 2001 From: cvsextras Date: Mon, 8 Nov 2004 05:29:09 +0000 Subject: [PATCH 02/81] auto-import changelog data from tripwire-2.3.1-20.fdr.1.1.src.rpm 2.3.1-20.fdr.1 - Revision bump to supersede Fedora Legacy - Fixed a bogus entry in twpol.txt.in (modeprobe.conf -> modprobe.conf) 2.3.1-18.fdr.9 - Applied Paul Herman's patch to fix a format string vulnerability in pipedmailmessage.cpp 2.3.1-18.fdr.8 - Default policy overhaul - Spec cleanup 2.3.1-18.fdr.7 - Moved documentation data out of package description 2.3.1-18.fdr.6 - Removed explicit Buildrequires gcc-c++ 2.3.1-18.fdr.5 - Finally moved twinstall.sh from the sysconfdir to the sbindir, since it is not a configuration file. Fixes Red Hat bug #61855 - Renamed twinstall.sh to tripwire-setup-keyfiles, since the name is misleading. It is setting up keyfiles, not installing an application - Minor correction to twinstall.sh (now tripwire-setup-keyfiles), which made an incorrect reference to the site key rather than the local key - Long overdue default policy update - Added explicit Buildrequires gcc-c++, to satisfy mach 2.3.1-18.fdr.4 - Fixed siggen.8 man page, broken command synopsis syntax. Submitted by doclifter - Set real hostname in post, so Tripwire works first time, without editing twpol.txt - More accurate package summary - Spec cleanup --- Latest-Changes | 225 ++++-- License-Issues | 59 +- README.RPM | 4 - README.RPM.in | 9 + pipedmailmessage.patch | 11 + twinstall.sh.in => tripwire-setup-keyfiles.in | 43 +- tripwire-siggen-man8.patch | 47 ++ tripwire.spec | 242 ++++--- twpol.txt.in | 652 ++++++++---------- 9 files changed, 749 insertions(+), 543 deletions(-) delete mode 100644 README.RPM create mode 100644 README.RPM.in create mode 100644 pipedmailmessage.patch rename twinstall.sh.in => tripwire-setup-keyfiles.in (85%) create mode 100644 tripwire-siggen-man8.patch diff --git a/Latest-Changes b/Latest-Changes index 230afe6..a417b68 100644 --- a/Latest-Changes +++ b/Latest-Changes @@ -1,43 +1,149 @@ -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 +tripwire-2.3.1-20.fdr.1 + +* Revision bump to supersede Fedora Legacy + +* Fixed a bogus entry in twpol.txt.in (modeprobe.conf -> modprobe.conf) + +tripwire-2.3.1-18.fdr.9 + +* Paul Herman discovered a format string vulnerability in the fprintf() + function of pipedmailmessage.cpp, thanks to Robert C. Jacobson filing + a bug against tripwire. + + http://www.securityfocus.com/archive/1/365036/2004-06-01/2004-06-07/2 + + The patch from the above page has now been added to this release. + +tripwire-2.3.1-18.fdr.8: + +* I've given the default Policy plaintext file a complete overhaul. + Many of the legacy entries are living on borrowed time, and are due + for removal (pending further research, consultation and approval). + I've also cleaned up a lot of the "lint" in the Policy file. Comments + are usefull, but some of the comment blocks in the original + distribution looked like someone was practising ASCII art! + +* Cleaned up ugly sed entry in Spec (I really should start using perl). + (thanks to Michael Schwendt.) + +* More macro substitutions. Good ol' macros, eh? + ###### -tripwire-2.3.1-18.fdr.1: Keith G. Roberts-Turner - +tripwire-2.3.1-18.fdr.7: -* First Fedora release +* See changelog. -* Implemented Paul Herman's tw-20030919.patch +###### -Features: - multi-platform configuration via Autoconf's "./configure" - optional linking against OpenSSL - optional linking against STLport +tripwire-2.3.1-18.fdr.6: -This patch has been known to work with the following OSes: - RedHat 7.x, 8.0 - FreeBSD 4.x, 5.0 - NetBSD 1.6.1 (requires pthreads port) - OpenBSD 3.x (3.3 must disable propolice) - Solaris 8 - Cygwin (version?) - MacOS X 10.2.6/Darwin 6.6 - (prebinding compatibility not available) +* See changelog. -Furthermore, the following compiler versions have been successfully tested: - GCC 2.95, 3.0, 3.1, 3.2, 3.3 - Apple Computer, Inc. GCC version 1175 +###### -* Both the mkstemp and rfc822 patches are still implemented +tripwire-2.3.1-18.fdr.5: -* Missing Patches +* Finally the "non-conf-file in config dir" bug has been addressed. The + script twinstall.sh is not, and never has been, a configuration file, + but has lived in sysconfdir since the beginning. Well it's got a new + home and a new name now; it's been moved to the sbindir and is now + called tripwire-setup-keyfiles. The original name was misleading, + since it implied that it installed Tripwire, rather than set up + keyfiles. It's ironic that such a simple bug should have taken so + long to fix (something for which I am partly responsible). The change + certainly doesn't break anything, and is extremely trivial (except in + terms of FHS compliance). I guess you can put the longevity of this + bug down to apathy. Fixes Red Hat bug #61855, if it makes it back + upstream. -tripwire-jbj.patch: Obsoleted by tw-20030919.patch -tripwire-2.3.1-2-fhs.patch: Unknown status. Further testing required -tripwire-2.3.1-gcc3.patch: Partially implemented/obsoleted +* Line 145 of the original twinstall.sh, incorrectly referenced the + site key, as follows: -* RPM Spec file given complete overhaul for stricter compliance + echo "The site key file \"$LOCAL_KEY\"" + + Of course that should read: + + echo "The local key file \"$LOCAL_KEY\"" + + It's a relatively minor semantic error, but still wrong (and + potentially confusing), so has been fixed in tripwire-setup-keyfiles. + +* Updating the default Tripwire policy file, has been long overdue. All + that has changed (this time around) is that various references to + outdated and non-existent files has been commented out, thus greatly + reducing the number of "filesystem error" warnings displayed after an + initial setup. Please do not use this as an excuse to not tune the + Tripwire policy more carefully and precisely for your own system. + This is a *security* tool, after all. If you are not going to use it + conscientiously, then why bother at all? + +###### + +tripwire-2.3.1-18.fdr.4: + +* This file (newest entries first) + +* The siggen.8 man file had a broken command synopsis syntax. Reported + and patched by Eric S. Raymond (docbook). + +* The biggest request has finally been implemented: setting the real + hostname %post install. Previously, a virgin install of Tripwire + caused the unexpected problem of Tripwire failing to find it's own + report files, due to the fact that those files contained the real + hostname as part of the filenames. During one operation, Tripwire + would create report files using a naming convention which included + the real hostname, but during another operation, it would look for + report files with names that contained the literal word "localhost", + and subsequently failed. This problem was very simple to fix, i.e., + edit twpol.txt and replace the line which read "HOSTNAME=localhost;" + with a reference to the real hostname, followed by invoking Tripwire + in "policy update mode", but it did cause a lot of initial confusion, + and so has been fixed. + +* Work is ongoing in the process of updating Tripwire. The four primary + goals are: + + 1) Lose dependency from the dreaded STLport + 2) Ween Tripwire off Crypto++, and onto (the more GPL friendly) + libmcrypt + 3) Modernise the code (64bit, SELinux, non-x86, etc). + 4) And by virtue of all the above, fully modularise Tripwire, + so we're no longer distributing three applications in one. + + Progress is slow (I'm a one man show, and I have a day job), but + there are at least two other developers who are actively (but + separately) working on Tripwire: + + Stephen Zander (Debian) + Paul Herman (independent) + + During the next few months, I'll be talking to both parties, and + negotiating some kind of working arrangement. One way or another, I'm + determined to finish the project this year (2004). + +Keith G. Robertson-Turner + +###### + +tripwire-2.3.1-18.fdr.3: + +* Thanks to Michael Schwendt for really cleaning up the Spec file + + All the hard coded paths have now been replaced with variables, + including some nice rpm macros and templates + +* Proper debuginfo packages build now + +* The remaining parts of the original tripwire-2.3.1-gcc3.patch have + now been implemented + + The new patch is called tripwire-2.3.1-gcc3.new.patch, and + basically just patches references to gmake to ${MAKE}. There's + also a small function patch that was part of the original ###### @@ -50,45 +156,68 @@ tripwire-2.3.1-18.fdr.2: * The tripwire-jbj.patch is now confirmed to be merged with tw-20030919.patch -* Added RPM optimization flags option +* Added RPM optimisation flags option -Unfortunately, this breaks the code + Unfortunately, this breaks the code -To quote Michael Schwendt - "RPM opt flags break "cryptlib". twadmin enters a deadlock in - SubatomicDivide() (cryptlib/integer.cpp) while generating a key." + To quote Michael Schwendt + "RPM opt flags break "cryptlib". twadmin enters a deadlock in + SubatomicDivide() (cryptlib/integer.cpp) while generating a + key." -Therefore this option has been commented out until integer.cpp is fixed + Therefore this option has been commented out until integer.cpp + is fixed -* set umask 022 during install, rather than allowing group writable +* set umask 022 during install, rather than allowing group writable permissions * Added License-Issues to documentation ###### -tripwire-2.3.1-18.fdr.3: - -* Thanks to Michael Schwendt for really cleaning up the Spec file +tripwire-2.3.1-18.fdr.1: - All the hard coded paths have now been replaced with variables, - including some nice rpm macros and templates +* First Fedora release -* Proper debuginfo packages build now +* Implemented Paul Herman's tw-20030919 + patch -* The remaining parts of the original tripwire-2.3.1-gcc3.patch have now - been implemented +Features: + multi-platform configuration via Autoconf's "./configure" + optional linking against OpenSSL + optional linking against STLport - The new patch is called tripwire-2.3.1-gcc3.new.patch, and - basically just patches references to gmake to ${MAKE}. There's - also a small function patch that was part of the original +This patch has been known to work with the following OSes: + RedHat 7.x, 8.0 + FreeBSD 4.x, 5.0 + NetBSD 1.6.1 (requires pthreads port) + OpenBSD 3.x (3.3 must disable propolice) + Solaris 8 + Cygwin (version?) + MacOS X 10.2.6/Darwin 6.6 + (prebinding compatibility not available) + +Furthermore, the following compiler versions have been successfully +tested: + GCC 2.95, 3.0, 3.1, 3.2, 3.3 + Apple Computer, Inc. GCC version 1175 + +* Both the mkstemp and rfc822 patches are still implemented + +* Missing Patches + +tripwire-jbj.patch: Obsoleted by tw-20030919.patch +tripwire-2.3.1-2-fhs.patch: Unknown status. Further testing needed +tripwire-2.3.1-gcc3.patch: Partially implemented/obsoleted + +* RPM Spec file given complete overhaul for stricter compliance ###### -----BEGIN PGP SIGNATURE----- -Version: GnuPG v1.2.2 (GNU/Linux) +Version: GnuPG v1.2.3 (GNU/Linux) -iD8DBQE/x2SD2XoLj+pGfn8RAlJdAJ9dNbyrmw6YiTSRAIm543igMbCGQACfejl6 -FsHjHaNznTiGjCnLR/+q4JA= -=K/+A +iD8DBQFAzzGM2XoLj+pGfn8RAouiAJ9EVwQzr2xqLq6xrWn0DnvpMqSgtQCeIJRD +rCoprE5+omwmJuKoxnP0OCk= +=CXcq -----END PGP SIGNATURE----- diff --git a/License-Issues b/License-Issues index 5e7fc8b..6b892e1 100644 --- a/License-Issues +++ b/License-Issues @@ -1,17 +1,28 @@ -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 -There seems to be some speculation as to the legal status of this software. +Update 19 Feb 2004: -The problem seems to stem from patents, copyrights and licenses in the -cryptlib distribution, by Wei Dei. +The following issues are soon to disappear, since: -For more information on the exact issues, please refer to the following URL: + 1) There are now cleaner upstream sources to work with (Debian) + 2) I'm working towards ditching Crypto++ altogether + +###### + +There seems to be some speculation as to the legal status of this +software. + +The problem seems to stem from patents, copyrights and licenses in the +Crypto++ distribution, by Wei Dei. + +For more information on the exact issues, please refer to the following +URL: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=153007 -The situation with the Fedora release is not as complex however, since many -of the questionable components are not included, specifically: +The situation with the Fedora release is not as complex however, since +many of the questionable components are not included, specifically: The following are not in the archive, so there is no issue: src/cryptlib/idea.cpp @@ -28,30 +39,28 @@ src/cryptlib/ztrees.cpp src/cryptlib/zdeflate.cpp src/cryptlib/sha.cpp ? -With regards to those last four files, Stephen Zander -is apparently going to approach Wei Dei with regards clearing up the "no -license" issues. However, I don't think this is a "fatal" problem at this -stage. Hopefully this will include clearing up the implications of section -2 of src/cryptlib/license.txt, which reads: +With regards to those last four files, Stephen Zander is apparently going to approach Wei Dei with regards clearing up +the "no license" issues. However, I don't think this is a "fatal" +problem at this stage. Hopefully this will include clearing up the +implications of section 2 of src/cryptlib/license.txt, which reads: -"2. Users of the software included in this compilation agree to use +"2. Users of the software included in this compilation agree to use their best efforts to provide Wei Dai with any modifications containing -improvements or extensions and hereby grant Wei Dai a perpetual, -royalty-free license to use and distribute such modifications under -the terms of this license." +improvements or extensions and hereby grant Wei Dai a perpetual, +royalty-free license to use and distribute such modifications under the +terms of this license." -I'm no GPL/OSS expert, but there are some who believe this is incompatible -with the GPL. Discussions are ongoing, and I will continue to update this -file in future releases with any news. - -Keith G. Robertson-Turner -tripwire-devel@genesis-x.nildram.co.uk +I'm no GPL/OSS expert, but there are some who believe this is +incompatible with the GPL. Discussions are ongoing, and I will continue +to update this file in future releases with any news. +Keith G. Robertson-Turner -----BEGIN PGP SIGNATURE----- -Version: GnuPG v1.2.2 (GNU/Linux) +Version: GnuPG v1.2.3 (GNU/Linux) -iD8DBQE/xiN72XoLj+pGfn8RAqnQAJ944Fm/V3gyws8oSVdsrq+ChWckuQCfaB27 -hgduYwJ2Z4qQEGHfdtypOrw= -=28t6 +iD8DBQFANEDN2XoLj+pGfn8RArdFAJ0edxT3u8DmWJEOpQ7eSFcFd17cXACfVH5I +PKV00HlQoZBBfbrq8//6pd8= +=HlLR -----END PGP SIGNATURE----- diff --git a/README.RPM b/README.RPM deleted file mode 100644 index 74eccb4..0000000 --- a/README.RPM +++ /dev/null @@ -1,4 +0,0 @@ -After installing this package, you should run "/etc/tripwire/twinstall.sh" -to generate cryptographic keys, and "tripwire --init" to initialize the -database Tripwire uses. This must be done manually because the key used to -sign the database should be different for each system. diff --git a/README.RPM.in b/README.RPM.in new file mode 100644 index 0000000..ab53114 --- /dev/null +++ b/README.RPM.in @@ -0,0 +1,9 @@ + +After installing this package, you should run: + + @sbindir@/tripwire-setup-keyfiles + +to generate cryptographic keys, and "tripwire --init" to initialize the +database Tripwire uses. This must be done manually because the key used +to sign the database should be different for each system. + diff --git a/pipedmailmessage.patch b/pipedmailmessage.patch new file mode 100644 index 0000000..c92e7d3 --- /dev/null +++ b/pipedmailmessage.patch @@ -0,0 +1,11 @@ +--- tripwire-2.3.1-2/src/tripwire/pipedmailmessage.cpp 2004-06-10 03:34:08.000000000 +0100 ++++ tripwire-2.3.1-2/src/tripwire/pipedmailmessage.cpp.new 2004-06-10 03:38:52.000000000 +0100 +@@ -180,7 +180,7 @@ + + void cPipedMailMessage::SendString( const TSTRING& s ) + { +- if( _ftprintf( mpFile, s.c_str() ) < 0 ) ++ if( _ftprintf( mpFile, "%s", s.c_str() ) < 0 ) + { + TOSTRINGSTREAM estr; + estr << TSS_GetString( cTripwire, tripwire::STR_ERR2_MAIL_MESSAGE_COMMAND ) diff --git a/twinstall.sh.in b/tripwire-setup-keyfiles.in similarity index 85% rename from twinstall.sh.in rename to tripwire-setup-keyfiles.in index 7ac3dfc..66ee0fa 100644 --- a/twinstall.sh.in +++ b/tripwire-setup-keyfiles.in @@ -82,12 +82,11 @@ if [ -z "$TW_SITE_PASS" ] || [ -z "$TW_LOCAL_PASS" ]; then cat << END_OF_TEXT ---------------------------------------------- -The Tripwire site and local passphrases are used to -sign a variety of files, such as the configuration, -policy, and database files. +The Tripwire site and local passphrases are used to sign a variety of +files, such as the configuration, policy, and database files. -Passphrases should be at least 8 characters in length -and contain both letters and numbers. +Passphrases should be at least 8 characters in length and contain both +letters and numbers. See the Tripwire manual for more information. END_OF_TEXT @@ -142,7 +141,7 @@ if [ "$CLOBBER" = "true" ] && [ "$PROMPT" = "false" ] && [ -f "$LOCAL_KEY" ] ; t fi if [ -f "$LOCAL_KEY" ] && [ "$CLOBBER" = "false" ] ; then - echo "The site key file \"$LOCAL_KEY\"" + echo "The local key file \"$LOCAL_KEY\"" echo 'exists and will not be overwritten.' else cmdargs="--generate-keys --local-keyfile \"$LOCAL_KEY\"" @@ -210,10 +209,11 @@ chmod 640 "$CONFIG_FILE" cat << END_OF_TEXT -A clear-text version of the Tripwire configuration file +A clear-text version of the Tripwire configuration file: $TXT_CFG -has been preserved for your inspection. It is recommended -that you delete this file manually after you have examined it. +has been preserved for your inspection. It is recommended that you +move this file to a secure location and/or encrypt it in place (using a +tool such as GPG, for example) after you have examined it. END_OF_TEXT @@ -270,16 +270,29 @@ chmod 0640 "$SIGNED_POL" cat << END_OF_TEXT -A clear-text version of the Tripwire policy file +A clear-text version of the Tripwire policy file: $TXT_POL -has been preserved for your inspection. This implements -a minimal policy, intended only to test essential -Tripwire functionality. You should edit the policy file -to describe your system, and then use twadmin to generate -a new signed copy of the Tripwire policy. +has been preserved for your inspection. This implements a minimal +policy, intended only to test essential Tripwire functionality. You +should edit the policy file to describe your system, and then use +twadmin to generate a new signed copy of the Tripwire policy. + +Once you have a satisfactory Tripwire policy file, you should move the +clear-text version to a secure location and/or encrypt it in place +(using a tool such as GPG, for example). + +Now run "tripwire --init" to enter Database Initialization Mode. This +reads the policy file, generates a database based on its contents, and +then cryptographically signs the resulting database. Options can be +entered on the command line to specify which policy, configuration, and +key files are used to create the database. The filename for the +database can be specified as well. If no options are specified, the +default values from the current configuration file are used. END_OF_TEXT +exit 0 + ######################################################################## ######################################################################## # diff --git a/tripwire-siggen-man8.patch b/tripwire-siggen-man8.patch new file mode 100644 index 0000000..a67a430 --- /dev/null +++ b/tripwire-siggen-man8.patch @@ -0,0 +1,47 @@ +diff -Nur tripwire-2.3.1-2/man/man8/siggen.8 tripwire-2.3.1-2.new/man/man8/siggen.8 +--- tripwire-2.3.1-2/man/man8/siggen.8 2001-03-04 00:30:29.000000000 +0000 ++++ tripwire-2.3.1-2.new/man/man8/siggen.8 2004-02-19 01:18:43.000000000 +0000 +@@ -2,28 +2,25 @@ + .\" Do not move or remove previous line. + .\" Used by some man commands to know that tbl should be used. + .nh +-.TH SIGGEN 8 "1 July 2000" ++.TH SIGGEN 8 "19 Feb 2004" + .SH NAME + siggen \- signature gathering routine for Tripwire + .SH SYNOPSIS + .B siggen +-.RI "[ " "options..." " ]" +-.IR file1 " [ " "file2..." " ] " +- +-.I Options: +-.RS +0.5i +-.TS +-; +-lbw(0.8i) lb. +--t --terse +--h --hexadecimal +--a --all +--C --CRC32 +--M --MD5 +--S --SHA +--H --HAVAL +-.TE +-.RE ++[ ++.BR -t | --terse ++] [ ++.BR -h | --hexadecimal ++] [ ++.BR -a | --all ++] [ ++.BR -C | --CRC32 ++] [ ++.BR -S | --SHA ++] [ ++.BR -h | --HAVAL ++] ++.IR file1 ,,, + .SH DESCRIPTION + .PP + \fBsiggen\fP is a utility that displays the hash function values diff --git a/tripwire.spec b/tripwire.spec index 8e534f0..ed60870 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -1,74 +1,78 @@ -%define path_to_vi /bin/vi -%define path_to_sendmail /usr/sbin/sendmail -Summary: A system integrity assessment tool. -Name: tripwire -Version: 2.3.1 -Release: 18.fdr.3.1 -Epoch: 0 -License: GPL -Group: Applications/System -Source0: http://download.sourceforge.net/tripwire/tripwire-2.3.1-2.tar.gz -Source1: tripwire.cron.in -Source2: tripwire.txt -Source3: tripwire.gif -Source4: twcfg.txt.in -Source5: twinstall.sh.in -Source6: twpol.txt.in -Source7: README.RPM -Source8: Latest-Changes -Source9: License-Issues -URL: http://www.tripwire.org/ -Buildrequires: autoconf, openssl-devel -Requires: sed, grep, gzip, tar, gawk -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +%define path_to_vi /bin/vi +%define path_to_sendmail /usr/sbin/sendmail +Summary: An IDS (Intrusion Detection System) +Name: tripwire +Version: 2.3.1 +Release: 20.fdr.1.1 +Epoch: 0 +License: GPL +Group: Applications/System +Source0: http://download.sourceforge.net/tripwire/tripwire-2.3.1-2.tar.gz +Source1: tripwire.cron.in +Source2: tripwire.txt +Source3: tripwire.gif +Source4: twcfg.txt.in +Source5: tripwire-setup-keyfiles.in +Source6: twpol.txt.in +Source7: README.RPM.in +Source8: Latest-Changes +Source9: License-Issues +URL: http://www.tripwire.org/ +Buildrequires: autoconf openssl-devel +Requires: sed grep gzip tar gawk +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -# Tripwire is NOT 64bit clean, nor endian clean, and only works properly -# on x86 architecture. The open source code doesn't seem to be maintained, -# so this is probably unlikely to change. We exclude non x86 arches. +# Tripwire is NOT 64bit clean, nor endian clean, and only works +# properly on x86 architecture. This open source code *is* being +# maintained, (albeit, quite slowly), so this is likely to change +# eventually. Currently We exclude non x86 arches. ExclusiveArch: %{ix86} -Patch0: tripwire-2.3.0-50-rfc822.patch -Patch1: tripwire-mkstemp.patch -Patch2: tw-20030919.patch -Patch3: tripwire-2.3.1-gcc3.new.patch +Patch0: tripwire-2.3.0-50-rfc822.patch +Patch1: tripwire-mkstemp.patch +Patch2: tw-20030919.patch +Patch3: tripwire-2.3.1-gcc3.new.patch +Patch4: tripwire-siggen-man8.patch +Patch5: pipedmailmessage.patch + %description -Tripwire is a very valuable security tool for Linux systems, if it is -installed to a clean system. Tripwire should be installed right after -the OS installation, and before you have connected your system to a -network (i.e., before any possibility exists that someone could alter +Tripwire is a very valuable security tool for Linux systems, if it is +installed to a clean system. Tripwire should be installed right after +the OS installation, and before you have connected your system to a +network (i.e., before any possibility exists that someone could alter files on your system). -When Tripwire is initially set up, it creates a database that records -certain file information. Then when it is run, it compares a -designated set of files and directories to the information stored in -the database. Added or deleted files are flagged and reported, as are -any files that have changed from their previously recorded state in -the database. When Tripwire is run against system files on a regular -basis, any file changes will be spotted when Tripwire is run. -Tripwire will report the changes, which will give system -administrators a clue that they need to enact damage control measures -immediately if certain files have been altered. +When Tripwire is initially set up, it creates a database that records +certain file information. Then when it is run, it compares a designated +set of files and directories to the information stored in the database. +Added or deleted files are flagged and reported, as are any files that +have changed from their previously recorded state in the database. When +Tripwire is run against system files on a regular basis, any file +changes will be spotted when Tripwire is run. Tripwire will report the +changes, which will give system administrators a clue that they need to +enact damage control measures immediately if certain files have been +altered. -After installing this package, run %{_sysconfdir}/tripwire/twinstall.sh to -generate cryptographic keys and run tripwire --init to initialize the -database. %prep %setup -q -n %{name}-2.3.1-2 -cp -p %{SOURCE2} quickstart.txt -cp -p %{SOURCE3} quickstart.gif +%{__cp} -p %{SOURCE2} quickstart.txt +%{__cp} -p %{SOURCE3} quickstart.gif %patch0 -p1 -b .rfc822 %patch1 -p1 -b .mkstemp %patch2 -p1 -b .tw-20030919 %patch3 -p1 -b .gcc3.new +%patch4 -p1 -b .siggen.manpage +%patch5 -p1 -b .pipedmailmessage + %build -chmod 755 configure +%{__chmod} 755 configure # RPM_OPT_FLAGS break the code (deadlock). export CXXFLAGS="-O -Wall -pipe -g" -./configure \ +./configure -q \ path_to_vi=%{path_to_vi} \ path_to_sendmail=%{path_to_sendmail} \ --prefix=/ \ @@ -77,67 +81,83 @@ export CXXFLAGS="-O -Wall -pipe -g" --libdir=%{_var}/lib \ --mandir=%{_mandir} -# Do not parallelize this with _smp_flags or -j -make +# Do not parallelise this with _smp_flags or -j +%{__make} + %install -rm -fr ${RPM_BUILD_ROOT} +%{__rm} -fr ${RPM_BUILD_ROOT} # Install the binaries. -mkdir -p ${RPM_BUILD_ROOT}%{_sbindir} -install -p -m755 bin/siggen ${RPM_BUILD_ROOT}%{_sbindir} -install -p -m755 bin/tripwire ${RPM_BUILD_ROOT}%{_sbindir} -install -p -m755 bin/twadmin ${RPM_BUILD_ROOT}%{_sbindir} -install -p -m755 bin/twprint ${RPM_BUILD_ROOT}%{_sbindir} +%{__mkdir_p} ${RPM_BUILD_ROOT}%{_sbindir} +%{__install} -p -m755 bin/siggen ${RPM_BUILD_ROOT}%{_sbindir} +%{__install} -p -m755 bin/tripwire ${RPM_BUILD_ROOT}%{_sbindir} +%{__install} -p -m755 bin/twadmin ${RPM_BUILD_ROOT}%{_sbindir} +%{__install} -p -m755 bin/twprint ${RPM_BUILD_ROOT}%{_sbindir} # Install the man pages. -mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/{man4,man5,man8} -install -p -m644 man/man4/*.4 ${RPM_BUILD_ROOT}%{_mandir}/man4/ -install -p -m644 man/man5/*.5 ${RPM_BUILD_ROOT}%{_mandir}/man5/ -install -p -m644 man/man8/*.8 ${RPM_BUILD_ROOT}%{_mandir}/man8/ +%{__mkdir_p} ${RPM_BUILD_ROOT}%{_mandir}/{man4,man5,man8} +%{__install} -p -m644 man/man4/*.4 ${RPM_BUILD_ROOT}%{_mandir}/man4/ +%{__install} -p -m644 man/man5/*.5 ${RPM_BUILD_ROOT}%{_mandir}/man5/ +%{__install} -p -m644 man/man8/*.8 ${RPM_BUILD_ROOT}%{_mandir}/man8/ # Create configuration files from templates. -rm -rf _tmpcfg -mkdir _tmpcfg -for infile in %{SOURCE1} %{SOURCE4} %{SOURCE5} %{SOURCE6} ; do +%{__rm} -fr _tmpcfg +%{__mkdir} _tmpcfg +for infile in %{SOURCE1} %{SOURCE4} %{SOURCE5} %{SOURCE6} %{SOURCE7} ; do outfile=${infile##/*/} outfile=${outfile%.*n} cat ${infile} |\ - sed -e 's|@path_to_vi@|%{path_to_vi}|g' |\ - sed -e 's|@path_to_sendmail@|%{path_to_sendmail}|g' |\ - sed -e 's|@sysconfdir@|%{_sysconfdir}|g' |\ - sed -e 's|@sbindir@|%{_sbindir}|g' |\ - sed -e 's|@vardir@|%{_var}|g' >\ + %{__sed} -e 's|@path_to_vi@|%{path_to_vi}|g' |\ + %{__sed} -e 's|@path_to_sendmail@|%{path_to_sendmail}|g' |\ + %{__sed} -e 's|@sysconfdir@|%{_sysconfdir}|g' |\ + %{__sed} -e 's|@sbindir@|%{_sbindir}|g' |\ + %{__sed} -e 's|@vardir@|%{_var}|g' >\ _tmpcfg/${outfile} done +%{__mv} _tmpcfg/{tripwire-setup-keyfiles,README.RPM} . # Create the reports directory. -install -d -m700 ${RPM_BUILD_ROOT}%{_var}/lib/tripwire/report +%{__install} -d -m700 ${RPM_BUILD_ROOT}%{_var}/lib/tripwire/report # Install the cron job. -install -d -m755 ${RPM_BUILD_ROOT}%{_sysconfdir}/cron.daily -install -p -m755 _tmpcfg/tripwire.cron \ - ${RPM_BUILD_ROOT}%{_sysconfdir}/cron.daily/tripwire-check -rm _tmpcfg/tripwire.cron +%{__install} -d -m755 ${RPM_BUILD_ROOT}%{_sysconfdir}/cron.daily +%{__install} -p -m755 _tmpcfg/tripwire.cron \ + ${RPM_BUILD_ROOT}%{_sysconfdir}/cron.daily/tripwire-check +%{__rm} _tmpcfg/tripwire.cron # Install configuration files. -mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/tripwire +%{__mkdir_p} ${RPM_BUILD_ROOT}%{_sysconfdir}/tripwire for file in _tmpcfg/* ; do - install -p -m644 ${file} ${RPM_BUILD_ROOT}%{_sysconfdir}/tripwire + %{__install} -p -m644 ${file} ${RPM_BUILD_ROOT}%{_sysconfdir}/tripwire done +# Install the keyfile setup script +%{__install} -p -m755 tripwire-setup-keyfiles ${RPM_BUILD_ROOT}%{_sbindir} + # Fix permissions on documentation files. -cp -p %{SOURCE7} %{SOURCE8} %{SOURCE9} . -chmod 644 README Release_Notes ChangeLog COPYING TRADEMARK quickstart.gif quickstart.txt README.RPM policy/policyguide.txt Latest-Changes License-Issues +%{__cp} -p %{SOURCE8} %{SOURCE9} . +%{__chmod} 644 \ + README Release_Notes ChangeLog COPYING TRADEMARK quickstart.gif \ + quickstart.txt README.RPM policy/policyguide.txt Latest-Changes \ + License-Issues + %clean -rm -fr ${RPM_BUILD_ROOT} +%{__rm} -fr ${RPM_BUILD_ROOT} + + +%post +# Set the real hostname in twpol.txt +%{__sed} -i -e "s|localhost|$HOSTNAME|g" %{_sysconfdir}/tripwire/twpol.txt + %files %defattr(-,root,root,-) -%doc README Release_Notes ChangeLog COPYING TRADEMARK quickstart.gif quickstart.txt README.RPM policy/policyguide.txt Latest-Changes License-Issues +%doc README Release_Notes ChangeLog COPYING TRADEMARK quickstart.gif +%doc quickstart.txt README.RPM policy/policyguide.txt Latest-Changes +%doc License-Issues %attr(0755,root,root) %dir %{_sysconfdir}/tripwire -%attr(0755,root,root) %{_sysconfdir}/tripwire/twinstall.sh %attr(0644,root,root) %config(noreplace) %{_sysconfdir}/tripwire/twcfg.txt %attr(0644,root,root) %config(noreplace) %{_sysconfdir}/tripwire/twpol.txt %attr(0755,root,root) %config(noreplace) %{_sysconfdir}/cron.daily/tripwire-check @@ -146,25 +166,65 @@ rm -fr ${RPM_BUILD_ROOT} %attr(0644,root,root) %{_mandir}/*/* %attr(0755,root,root) %{_sbindir}/* + %changelog -* Fri Nov 28 2003 Keith G. Robertson-Turner 0:2.3.1-18.fdr.3 +* Tue Jun 15 2004 Keith G. Robertson-Turner 0:2.3.1-20.fdr.1 +- Revision bump to supersede Fedora Legacy +- Fixed a bogus entry in twpol.txt.in (modeprobe.conf -> modprobe.conf) + +* Thu Jun 10 2004 Keith G. Robertson-Turner 0:2.3.1-18.fdr.9 +- Applied Paul Herman's patch to fix a format string vulnerability in + pipedmailmessage.cpp + +* Sun Feb 29 2004 Keith G. Robertson-Turner 0:2.3.1-18.fdr.8 +- Default policy overhaul +- Spec cleanup + +* Sun Feb 22 2004 Keith G. Robertson-Turner 0:2.3.1-18.fdr.7 +- Moved documentation data out of package description + +* Sat Feb 21 2004 Keith G. Robertson-Turner 0:2.3.1-18.fdr.6 +- Removed explicit Buildrequires gcc-c++ + +* Fri Feb 20 2004 Keith G. Robertson-Turner 0:2.3.1-18.fdr.5 +- Finally moved twinstall.sh from the sysconfdir to the sbindir, since + it is not a configuration file. Fixes Red Hat bug #61855 +- Renamed twinstall.sh to tripwire-setup-keyfiles, since the name is + misleading. It is setting up keyfiles, not installing an application +- Minor correction to twinstall.sh (now tripwire-setup-keyfiles), which + made an incorrect reference to the site key rather than the local key +- Long overdue default policy update +- Added explicit Buildrequires gcc-c++, to satisfy mach + +* Thu Feb 19 2004 Keith G. Robertson-Turner 0:2.3.1-18.fdr.4 +- Fixed siggen.8 man page, broken command synopsis syntax. Submitted by + doclifter +- Set real hostname in post, so Tripwire works first time, without + editing twpol.txt +- More accurate package summary +- Spec cleanup + +* Fri Nov 28 2003 Keith G. Robertson-Turner 0:2.3.1-18.fdr.3 - Thanks to Michael Schwendt for really cleaning up the Spec file -- The remaining parts of the original tripwire-2.3.1-gcc3.patch have now been implemented +- The remaining parts of the original tripwire-2.3.1-gcc3.patch have + now been implemented - Debuginfo fully builds now -* Thu Nov 27 2003 Keith G. Robertson-Turner 0:2.3.1-18.fdr.2 +* Thu Nov 27 2003 Keith G. Robertson-Turner 0:2.3.1-18.fdr.2 - Removed version specific grep dependency, since grep >= 2.3 is common - Added openssl-devel and autoconf to build dependencies -- The tripwire-jbj.patch is now confirmed to be merged with tw-20030919.patch -- Added RPM optimization flags option, disabled by default since it breaks the code +- The tripwire-jbj.patch is now confirmed merged with tw-20030919.patch +- Added RPM optimisation flags option, disabled by default since it + breaks the code - Fixed file permissions of packaged files -* Wed Nov 26 2003 Keith G. Robertson-Turner 0:2.3.1-18.fdr.1 +* Wed Nov 26 2003 Keith G. Robertson-Turner 0:2.3.1-18.fdr.1 - Implemented Paul Herman's tw-20030919.patch -- Removed the fhs gcc3 and jbj patches, which are now broken/obsoleted by the above +- Removed the fhs gcc3 and jbj patches, which are now broken/obsoleted + by the above - Both the mkstemp and rfc822 patches are still implemented - Build uses autoconf for now -- Spec file given complete overhaul for stricter compliance. Still more to do +- Spec file given complete overhaul for stricter compliance. More to do * Wed Jan 22 2003 Tim Powers - rebuilt diff --git a/twpol.txt.in b/twpol.txt.in index 6c9b1e4..c7bcf60 100644 --- a/twpol.txt.in +++ b/twpol.txt.in @@ -1,58 +1,57 @@ - ############################################################################## - # ## -############################################################################## # -# # # -# Policy file for Red Hat Linux # # -# V1.2.0rh # # -# August 9, 2001 # # -# ## -############################################################################## +# identifier: tripwire IDS policy input file +# host: Fedora Core release 1 (Yarrow) +# version: 2.3.1-19.fdr.1 +# maintainer: Keith G. Robertson-Turner +# validator: unvalidated +# date: Tue Jun 15 17:09:21 BST 2004 + +# description: +# This is an example Tripwire Policy input file. It is intended as the +# starting point to creating your own custom Tripwire Policy. Referring +# to it, as well as the Tripwire Policy Guide, should give you enough +# information to make a good custom Tripwire Policy that better fits +# your configuration and security needs. This text version will be used +# by tripwire as input to create a proprietary type of file called a +# Tripwire Policy file, which will then be signed for further security. +# It is recommended that once you complete the creation of the Policy +# file, you move this plaintext version to a secure location (possibly +# on removable media) or encrypt the file using a tool such as GPG. You +# should also do this for the Tripwire plaintext configuration file +# (twcfg.txt) once you have finished setting up the Policy. +# +# Note that this file is tuned to an "everything" install of Fedora +# Linux. If run unmodified, this file should create no errors on +# database creation, or violations on a subsequent integrity check. +# However, it is impossible for there to be one policy file for all +# machines, so this existing one errs on the side of security. Your +# Linux configuration will most likely differ from the one our policy +# file was tuned to, and will therefore require some editing of the +# default Tripwire Policy file. The example policy file is best run +# with "Loose Directory Checking" enabled. +# +# Set LOOSEDIRECTORYCHECKING=TRUE in the Tripwire Configuration file. +# +# Note - legacy entries (which are commented out) are included for +# historical reasons only, and are overdue for removal. They will +# likely disappear from future releases. +# +# The following info is only really useful for non-RPM distributions: +# +# Email support is not included and must be added to this file. Add the +# "emailto=" to the rule directive section of each rule (add a comma +# after the "severity=" line and add an "emailto=" and include the +# email addresses you want the violation reports to go to). Addresses +# are semi-colon delimited. +# +# If you installed from the Fedora RPM, a cron job has already been set +# up for you. Tripwire will perform an integrity check once every day, +# and the generated report will be emailed to root. In this case, you +# do not need to perform the steps in the previous paragraph. + +# policy: - ############################################################################## - # ## -############################################################################## # -# # # -# This is the example Tripwire Policy file. It is intended as a place to # # -# start creating your own custom Tripwire Policy file. Referring to it as # # -# well as the Tripwire Policy Guide should give you enough information to # # -# make a good custom Tripwire Policy file that better covers your # # -# configuration and security needs. A text version of this policy file is # # -# called twpol.txt. # # -# # # -# Note that this file is tuned to an 'everything' install of Red Hat Linux. # # -# If run unmodified, this file should create no errors on database # # -# creation, or violations on a subsiquent integrity check. However, it is # # -# impossible for there to be one policy file for all machines, so this # # -# existing one errs on the side of security. Your Linux configuration will # # -# most likey differ from the one our policy file was tuned to, and will # # -# therefore require some editing of the default Tripwire Policy file. # # -# # # -# The example policy file is best run with 'Loose Directory Checking' # # -# enabled. Set LOOSEDIRECTORYCHECKING=TRUE in the Tripwire Configuration # # -# file. # # -# # # -# Email support is not included and must be added to this file. # # -# Add the 'emailto=' to the rule directive section of each rule (add a comma # # -# after the 'severity=' line and add an 'emailto=' and include the email # # -# addresses you want the violation reports to go to). Addresses are # # -# semi-colon delimited. # # -# ## -############################################################################## - - - - ############################################################################## - # ## -############################################################################## # -# # # -# Global Variable Definitions # # -# # # -# These are defined at install time by the installation script. You may # # -# Manually edit these if you are using this file directly and not from the # # -# installation script itself. # # -# ## -############################################################################## +# Global Variable Definitions @@section GLOBAL TWROOT=@sbindir@; @@ -77,6 +76,7 @@ SIG_HI = 100 ; # Critical files that are significant point # Tripwire Binaries + ( rulename = "Tripwire Binaries", severity = $(SIG_HI) @@ -88,7 +88,9 @@ SIG_HI = 100 ; # Critical files that are significant point $(TWBIN)/twprint -> $(SEC_BIN) ; } + # Tripwire Data Files - Configuration Files, Policy Files, Keys, Reports, Databases + ( rulename = "Tripwire Data Files", severity = $(SIG_HI) @@ -115,6 +117,10 @@ SIG_HI = 100 ; # Critical files that are significant point # Tripwire HQ Connector Binaries +# +# This commercial product has been phased out and is no longer +# supported. This section will disappear from future releases. +# #( # rulename = "Tripwire HQ Connector Binaries", # severity = $(SIG_HI) @@ -125,46 +131,38 @@ SIG_HI = 100 ; # Critical files that are significant point # # Tripwire HQ Connector - Configuration Files, Keys, and Logs - ############################################################################## - # ## -############################################################################## # -# # # -# Note: File locations here are different than in a stock HQ Connector # # -# installation. This is because Tripwire 2.3 uses a different path # # -# structure than Tripwire 2.2.1. # # -# # # -# You may need to update your HQ Agent configuation file (or this policy # # -# file) to correct the paths. We have attempted to support the FHS standard # # -# here by placing the HQ Agent files similarly to the way Tripwire 2.3 # # -# places them. # # -# ## -############################################################################## +# Note: File locations here are different than in a stock HQ Connector +# installation. This is because Tripwire 2.3 uses a different path +# structure than Tripwire 2.2.1. +# +# You may need to update your HQ Agent configuation file (or this +# policy file) to correct the paths. We have attempted to support the +# FHS standard here by placing the HQ Agent files similarly to the way +# Tripwire 2.3 places them. #( # rulename = "Tripwire HQ Connector Data Files", # severity = $(SIG_HI) #) #{ -# ############################################################################# -# ############################################################################## -# # NOTE: Removing the inode attribute because when Tripwire creates a backup ## -# # it does so by renaming the old file and creating a new one (which will ## -# # have a new inode number). Leaving inode turned on for keys, which ## -# # shouldn't ever change. ## -# ############################################################################# + # NOTE: Removing the inode attribute because when Tripwire creates a + # backup it does so by renaming the old file and creating a new one + # (which will have a new inode number). Leaving inode turned on for + # keys, which shouldn't ever change. # -# $(TWBIN)/agent.cfg -> $(SEC_BIN) -i ; -# $(TWLKEY)/authentication.key -> $(SEC_BIN) ; -# $(TWDB)/tasks.dat -> $(SEC_CONFIG) ; -# $(TWDB)/schedule.dat -> $(SEC_CONFIG) ; +# $(TWBIN)/agent.cfg -> $(SEC_BIN) -i ; # legacy +# $(TWLKEY)/authentication.key -> $(SEC_BIN) ; # legacy +# $(TWDB)/tasks.dat -> $(SEC_CONFIG) ; # legacy +# $(TWDB)/schedule.dat -> $(SEC_CONFIG) ; # legacy # -# # Uncomment if you have agent logging enabled. -# #/var/log/tripwire/agent.log -> $(SEC_LOG) ; + # Uncomment if you have agent logging enabled. + #/var/log/tripwire/agent.log -> $(SEC_LOG) ; # legacy #} +# Commonly accessed directories that should remain static with regards +# to owner and group. -# Commonly accessed directories that should remain static with regards to owner and group ( rulename = "Invariant Directories", severity = $(SIG_MED) @@ -174,13 +172,9 @@ SIG_HI = 100 ; # Critical files that are significant point /home -> $(SEC_INVARIANT) (recurse = 0) ; /etc -> $(SEC_INVARIANT) (recurse = 0) ; } - ################################################ - # ## -################################################ # -# # # -# File System and Disk Administration Programs # # -# ## -################################################ + + +# File System and Disk Administration Programs. ( rulename = "File System and Disk Administraton Programs", @@ -198,56 +192,56 @@ SIG_HI = 100 ; # Critical files that are significant point /sbin/dumpe2fs -> $(SEC_CRIT) ; /sbin/dump -> $(SEC_CRIT) ; /sbin/dump.static -> $(SEC_CRIT) ; - # /sbin/e2fsadm -> $(SEC_CRIT) ; tune2fs? + #/sbin/e2fsadm -> $(SEC_CRIT) ; tune2fs? # legacy /sbin/e2fsck -> $(SEC_CRIT) ; /sbin/e2label -> $(SEC_CRIT) ; /sbin/fdisk -> $(SEC_CRIT) ; /sbin/fsck -> $(SEC_CRIT) ; /sbin/fsck.ext2 -> $(SEC_CRIT) ; /sbin/fsck.ext3 -> $(SEC_CRIT) ; - /sbin/fsck.minix -> $(SEC_CRIT) ; + #/sbin/fsck.minix -> $(SEC_CRIT) ; /sbin/fsck.msdos -> $(SEC_CRIT) ; /sbin/fsck.vfat -> $(SEC_CRIT) ; /sbin/ftl_check -> $(SEC_CRIT) ; /sbin/ftl_format -> $(SEC_CRIT) ; /sbin/hdparm -> $(SEC_CRIT) ; - #/sbin/lvchange -> $(SEC_CRIT) ; - #/sbin/lvcreate -> $(SEC_CRIT) ; - #/sbin/lvdisplay -> $(SEC_CRIT) ; - #/sbin/lvextend -> $(SEC_CRIT) ; - #/sbin/lvmchange -> $(SEC_CRIT) ; - #/sbin/lvmcreate_initrd -> $(SEC_CRIT) ; - #/sbin/lvmdiskscan -> $(SEC_CRIT) ; - #/sbin/lvmsadc -> $(SEC_CRIT) ; - #/sbin/lvmsar -> $(SEC_CRIT) ; - #/sbin/lvreduce -> $(SEC_CRIT) ; - #/sbin/lvremove -> $(SEC_CRIT) ; - #/sbin/lvrename -> $(SEC_CRIT) ; - #/sbin/lvscan -> $(SEC_CRIT) ; + #/sbin/lvchange -> $(SEC_CRIT) ; + #/sbin/lvcreate -> $(SEC_CRIT) ; + #/sbin/lvdisplay -> $(SEC_CRIT) ; + #/sbin/lvextend -> $(SEC_CRIT) ; + #/sbin/lvmchange -> $(SEC_CRIT) ; + #/sbin/lvmcreate_initrd -> $(SEC_CRIT) ; + #/sbin/lvmdiskscan -> $(SEC_CRIT) ; + #/sbin/lvmsadc -> $(SEC_CRIT) ; + #/sbin/lvmsar -> $(SEC_CRIT) ; + #/sbin/lvreduce -> $(SEC_CRIT) ; + #/sbin/lvremove -> $(SEC_CRIT) ; + #/sbin/lvrename -> $(SEC_CRIT) ; + #/sbin/lvscan -> $(SEC_CRIT) ; /sbin/mkbootdisk -> $(SEC_CRIT) ; /sbin/mkdosfs -> $(SEC_CRIT) ; /sbin/mke2fs -> $(SEC_CRIT) ; /sbin/mkfs -> $(SEC_CRIT) ; - /sbin/mkfs.bfs -> $(SEC_CRIT) ; + #/sbin/mkfs.bfs -> $(SEC_CRIT) ; /sbin/mkfs.ext2 -> $(SEC_CRIT) ; - /sbin/mkfs.minix -> $(SEC_CRIT) ; + #/sbin/mkfs.minix -> $(SEC_CRIT) ; /sbin/mkfs.msdos -> $(SEC_CRIT) ; /sbin/mkfs.vfat -> $(SEC_CRIT) ; /sbin/mkinitrd -> $(SEC_CRIT) ; - #/sbin/mkpv -> $(SEC_CRIT) ; + #/sbin/mkpv -> $(SEC_CRIT) ; /sbin/mkraid -> $(SEC_CRIT) ; /sbin/mkreiserfs -> $(SEC_CRIT) ; /sbin/mkswap -> $(SEC_CRIT) ; - #/sbin/mtx -> $(SEC_CRIT) ; + #/sbin/mtx -> $(SEC_CRIT) ; /sbin/pam_console_apply -> $(SEC_CRIT) ; /sbin/parted -> $(SEC_CRIT) ; /sbin/pcinitrd -> $(SEC_CRIT) ; - #/sbin/pvchange -> $(SEC_CRIT) ; - #/sbin/pvcreate -> $(SEC_CRIT) ; - #/sbin/pvdata -> $(SEC_CRIT) ; - #/sbin/pvdisplay -> $(SEC_CRIT) ; - #/sbin/pvmove -> $(SEC_CRIT) ; - #/sbin/pvscan -> $(SEC_CRIT) ; + #/sbin/pvchange -> $(SEC_CRIT) ; + #/sbin/pvcreate -> $(SEC_CRIT) ; + #/sbin/pvdata -> $(SEC_CRIT) ; + #/sbin/pvdisplay -> $(SEC_CRIT) ; + #/sbin/pvmove -> $(SEC_CRIT) ; + #/sbin/pvscan -> $(SEC_CRIT) ; /sbin/quotacheck -> $(SEC_CRIT) ; /sbin/quotaon -> $(SEC_CRIT) ; /sbin/raidstart -> $(SEC_CRIT) ; @@ -259,26 +253,26 @@ SIG_HI = 100 ; # Critical files that are significant point /sbin/scsi_info -> $(SEC_CRIT) ; /sbin/sfdisk -> $(SEC_CRIT) ; /sbin/stinit -> $(SEC_CRIT) ; - #/sbin/tapeinfo -> $(SEC_CRIT) ; + #/sbin/tapeinfo -> $(SEC_CRIT) ; # legacy /sbin/tune2fs -> $(SEC_CRIT) ; /sbin/unpack -> $(SEC_CRIT) ; - /sbin/update -> $(SEC_CRIT) ; - #/sbin/vgcfgbackup -> $(SEC_CRIT) ; - #/sbin/vgcfgrestore -> $(SEC_CRIT) ; - #/sbin/vgchange -> $(SEC_CRIT) ; - #/sbin/vgck -> $(SEC_CRIT) ; - #/sbin/vgcreate -> $(SEC_CRIT) ; - #/sbin/vgdisplay -> $(SEC_CRIT) ; - #/sbin/vgexport -> $(SEC_CRIT) ; - #/sbin/vgextend -> $(SEC_CRIT) ; - #/sbin/vgimport -> $(SEC_CRIT) ; - #/sbin/vgmerge -> $(SEC_CRIT) ; - #/sbin/vgmknodes -> $(SEC_CRIT) ; - #/sbin/vgreduce -> $(SEC_CRIT) ; - #/sbin/vgremove -> $(SEC_CRIT) ; - #/sbin/vgrename -> $(SEC_CRIT) ; - #/sbin/vgscan -> $(SEC_CRIT) ; - #/sbin/vgsplit -> $(SEC_CRIT) ; + #/sbin/update -> $(SEC_CRIT) ; + #/sbin/vgcfgbackup -> $(SEC_CRIT) ; + #/sbin/vgcfgrestore -> $(SEC_CRIT) ; + #/sbin/vgchange -> $(SEC_CRIT) ; + #/sbin/vgck -> $(SEC_CRIT) ; + #/sbin/vgcreate -> $(SEC_CRIT) ; + #/sbin/vgdisplay -> $(SEC_CRIT) ; + #/sbin/vgexport -> $(SEC_CRIT) ; + #/sbin/vgextend -> $(SEC_CRIT) ; + #/sbin/vgimport -> $(SEC_CRIT) ; + #/sbin/vgmerge -> $(SEC_CRIT) ; + #/sbin/vgmknodes -> $(SEC_CRIT) ; + #/sbin/vgreduce -> $(SEC_CRIT) ; + #/sbin/vgremove -> $(SEC_CRIT) ; + #/sbin/vgrename -> $(SEC_CRIT) ; + #/sbin/vgscan -> $(SEC_CRIT) ; + #/sbin/vgsplit -> $(SEC_CRIT) ; /bin/chgrp -> $(SEC_CRIT) ; /bin/chmod -> $(SEC_CRIT) ; /bin/chown -> $(SEC_CRIT) ; @@ -294,13 +288,8 @@ SIG_HI = 100 ; # Critical files that are significant point /bin/touch -> $(SEC_CRIT) ; } - ################################## - # ## -################################## # -# # # -# Kernel Administration Programs # # -# ## -################################## + +# Kernel Administration Programs. ( rulename = "Kernel Administration Programs", @@ -317,20 +306,15 @@ SIG_HI = 100 ; # Critical files that are significant point /sbin/ldconfig -> $(SEC_CRIT) ; /sbin/minilogd -> $(SEC_CRIT) ; /sbin/modinfo -> $(SEC_CRIT) ; - #/sbin/nuactlun -> $(SEC_CRIT) ; - #/sbin/nuscsitcpd -> $(SEC_CRIT) ; + #/sbin/nuactlun -> $(SEC_CRIT) ; + #/sbin/nuscsitcpd -> $(SEC_CRIT) ; /sbin/pivot_root -> $(SEC_CRIT) ; /sbin/sndconfig -> $(SEC_CRIT) ; /sbin/sysctl -> $(SEC_CRIT) ; } - ####################### - # ## -####################### # -# # # -# Networking Programs # # -# ## -####################### + +# Networking Programs. ( rulename = "Networking Programs", @@ -366,9 +350,9 @@ SIG_HI = 100 ; # Critical files that are significant point /sbin/agetty -> $(SEC_CRIT) ; /sbin/arp -> $(SEC_CRIT) ; /sbin/arping -> $(SEC_CRIT) ; - /sbin/dhcpcd -> $(SEC_CRIT) ; + /sbin/dhclient -> $(SEC_CRIT) ; /sbin/ether-wake -> $(SEC_CRIT) ; - #/sbin/getty -> $(SEC_CRIT) ; + #/sbin/getty -> $(SEC_CRIT) ; /sbin/ifcfg -> $(SEC_CRIT) ; /sbin/ifconfig -> $(SEC_CRIT) ; /sbin/ifdown -> $(SEC_CRIT) ; @@ -378,18 +362,18 @@ SIG_HI = 100 ; # Critical files that are significant point /sbin/ifuser -> $(SEC_CRIT) ; /sbin/ip -> $(SEC_CRIT) ; /sbin/ip6tables -> $(SEC_CRIT) ; - /sbin/ipchains -> $(SEC_CRIT) ; - /sbin/ipchains-restore -> $(SEC_CRIT) ; - /sbin/ipchains-save -> $(SEC_CRIT) ; - /sbin/ipfwadm -> $(SEC_CRIT) ; + #/sbin/ipchains -> $(SEC_CRIT) ; # legacy + #/sbin/ipchains-restore -> $(SEC_CRIT) ; # legacy + #/sbin/ipchains-save -> $(SEC_CRIT) ; # legacy + #/sbin/ipfwadm -> $(SEC_CRIT) ; /sbin/ipmaddr -> $(SEC_CRIT) ; /sbin/iptables -> $(SEC_CRIT) ; /sbin/iptables-restore -> $(SEC_CRIT) ; /sbin/iptables-save -> $(SEC_CRIT) ; /sbin/iptunnel -> $(SEC_CRIT) ; - /sbin/ipvsadm -> $(SEC_CRIT) ; - /sbin/ipvsadm-restore -> $(SEC_CRIT) ; - /sbin/ipvsadm-save -> $(SEC_CRIT) ; + #/sbin/ipvsadm -> $(SEC_CRIT) ; + #/sbin/ipvsadm-restore -> $(SEC_CRIT) ; + #/sbin/ipvsadm-save -> $(SEC_CRIT) ; /sbin/ipx_configure -> $(SEC_CRIT) ; /sbin/ipx_interface -> $(SEC_CRIT) ; /sbin/ipx_internal_net -> $(SEC_CRIT) ; @@ -405,22 +389,17 @@ SIG_HI = 100 ; # Critical files that are significant point /sbin/plipconfig -> $(SEC_CRIT) ; /sbin/portmap -> $(SEC_CRIT) ; /sbin/ppp-watch -> $(SEC_CRIT) ; - #/sbin/rarp -> $(SEC_CRIT) ; + #/sbin/rarp -> $(SEC_CRIT) ; /sbin/route -> $(SEC_CRIT) ; /sbin/slattach -> $(SEC_CRIT) ; /sbin/tc -> $(SEC_CRIT) ; - #/sbin/uugetty -> $(SEC_CRIT) ; + #/sbin/uugetty -> $(SEC_CRIT) ; /sbin/vgetty -> $(SEC_CRIT) ; /sbin/ypbind -> $(SEC_CRIT) ; } - ################################## - # ## -################################## # -# # # -# System Administration Programs # # -# ## -################################## + +# System Administration Programs. ( rulename = "System Administration Programs", @@ -434,11 +413,11 @@ SIG_HI = 100 ; # Critical files that are significant point /sbin/initlog -> $(SEC_CRIT) ; /sbin/install-info -> $(SEC_CRIT) ; /sbin/killall5 -> $(SEC_CRIT) ; - #/sbin/linuxconf -> $(SEC_CRIT) ; - #/sbin/linuxconf-auth -> $(SEC_CRIT) ; + #/sbin/linuxconf -> $(SEC_CRIT) ; # legacy + #/sbin/linuxconf-auth -> $(SEC_CRIT) ; # legacy /sbin/pam_tally -> $(SEC_CRIT) ; /sbin/pwdb_chkpwd -> $(SEC_CRIT) ; - #/sbin/remadmin -> $(SEC_CRIT) ; + #/sbin/remadmin -> $(SEC_CRIT) ; /sbin/rescuept -> $(SEC_CRIT) ; /sbin/rmt -> $(SEC_CRIT) ; /sbin/rpc.lockd -> $(SEC_CRIT) ; @@ -455,13 +434,9 @@ SIG_HI = 100 ; # Critical files that are significant point /bin/uname -> $(SEC_CRIT) ; } - ######################################## - # ## -######################################## # -# # # -# Hardware and Device Control Programs # # -# ## -######################################## + +# Hardware and Device Control Programs. + ( rulename = "Hardware and Device Control Programs", severity = $(SIG_HI) @@ -478,27 +453,23 @@ SIG_HI = 100 ; # Critical files that are significant point /sbin/hotplug -> $(SEC_CRIT) ; /sbin/hwclock -> $(SEC_CRIT) ; /sbin/ide_info -> $(SEC_CRIT) ; - #/sbin/isapnp -> $(SEC_CRIT) ; - #/sbin/kbdrate -> $(SEC_CRIT) ; + #/sbin/isapnp -> $(SEC_CRIT) ; + #/sbin/kbdrate -> $(SEC_CRIT) ; /sbin/losetup -> $(SEC_CRIT) ; /sbin/lspci -> $(SEC_CRIT) ; /sbin/lspnp -> $(SEC_CRIT) ; /sbin/mii-tool -> $(SEC_CRIT) ; /sbin/pack_cis -> $(SEC_CRIT) ; - #/sbin/pnpdump -> $(SEC_CRIT) ; + #/sbin/pnpdump -> $(SEC_CRIT) ; /sbin/probe -> $(SEC_CRIT) ; - #/sbin/pump -> $(SEC_CRIT) ; + #/sbin/pump -> $(SEC_CRIT) ; /sbin/setpci -> $(SEC_CRIT) ; /sbin/shapecfg -> $(SEC_CRIT) ; } - ############################### - # ## -############################### # -# # # -# System Information Programs # # -# ## -############################### + +# System Information Programs. + ( rulename = "System Information Programs", severity = $(SIG_HI) @@ -509,13 +480,8 @@ SIG_HI = 100 ; # Critical files that are significant point /sbin/runlevel -> $(SEC_CRIT) ; } - #################################### - # ## -#################################### # -# # # -# Application Information Programs # # -# ## -#################################### + +# Application Information Programs. ( rulename = "Application Information Programs", @@ -523,17 +489,13 @@ SIG_HI = 100 ; # Critical files that are significant point ) { /sbin/genksyms -> $(SEC_CRIT) ; - #/sbin/genksyms.old -> $(SEC_CRIT) ; + #/sbin/genksyms.old -> $(SEC_CRIT) ; /sbin/rtmon -> $(SEC_CRIT) ; } - ########################## - # ## -########################## # -# # # -# Shell Related Programs # # -# ## -########################## + +# Shell Related Programs. + ( rulename = "Shell Related Programs", severity = $(SIG_HI) @@ -545,13 +507,8 @@ SIG_HI = 100 ; # Critical files that are significant point } - ################ - # ## -################ # -# # # -# OS Utilities # # -# ## -################ +# OS Utilities. + ( rulename = "Operating System Utilities", severity = $(SIG_HI) @@ -563,7 +520,7 @@ SIG_HI = 100 ; # Critical files that are significant point /bin/aumix-minimal -> $(SEC_CRIT) ; /bin/basename -> $(SEC_CRIT) ; /bin/cat -> $(SEC_CRIT) ; - #/bin/consolechars -> $(SEC_CRIT) ; + #/bin/consolechars -> $(SEC_CRIT) ; /bin/cut -> $(SEC_CRIT) ; /bin/date -> $(SEC_CRIT) ; /bin/dd -> $(SEC_CRIT) ; @@ -576,7 +533,7 @@ SIG_HI = 100 ; # Critical files that are significant point /bin/false -> $(SEC_CRIT) ; /bin/fgrep -> $(SEC_CRIT) ; /bin/gawk -> $(SEC_CRIT) ; - /bin/gawk-3.1.0 -> $(SEC_CRIT) ; + #/bin/gawk-3.1.0 -> $(SEC_CRIT) ; # legacy /bin/gettext -> $(SEC_CRIT) ; /bin/grep -> $(SEC_CRIT) ; /bin/gunzip -> $(SEC_CRIT) ; @@ -610,47 +567,43 @@ SIG_HI = 100 ; # Critical files that are significant point /bin/vi -> $(SEC_CRIT) ; /bin/zcat -> $(SEC_CRIT) ; /bin/zsh -> $(SEC_CRIT) ; - /bin/zsh-4.0.2 -> $(SEC_CRIT) ; + #/bin/zsh-4.0.2 -> $(SEC_CRIT) ; # legacy /sbin/sln -> $(SEC_CRIT) ; /usr/bin/vimtutor -> $(SEC_CRIT) ; } - ############################## - # ## -############################## # -# # # -# Critical Utility Sym-Links # # -# ## -############################## + +# Critical Utility Sym-Links. + ( rulename = "Critical Utility Sym-Links", severity = $(SIG_HI) ) { - #/sbin/askrunlevel -> $(SEC_CRIT) ; + #/sbin/askrunlevel -> $(SEC_CRIT) ; /sbin/clock -> $(SEC_CRIT) ; - #/sbin/fixperm -> $(SEC_CRIT) ; + #/sbin/fixperm -> $(SEC_CRIT) ; /sbin/fsck.reiserfs -> $(SEC_CRIT) ; - #/sbin/fsconf -> $(SEC_CRIT) ; - /sbin/ipfwadm-wrapper -> $(SEC_CRIT) ; + #/sbin/fsconf -> $(SEC_CRIT) ; + #/sbin/ipfwadm-wrapper -> $(SEC_CRIT) ; /sbin/kallsyms -> $(SEC_CRIT) ; /sbin/ksyms -> $(SEC_CRIT) ; /sbin/lsmod -> $(SEC_CRIT) ; - #/sbin/mailconf -> $(SEC_CRIT) ; + #/sbin/mailconf -> $(SEC_CRIT) ; /sbin/mkfs.reiserfs -> $(SEC_CRIT) ; - #/sbin/modemconf -> $(SEC_CRIT) ; + #/sbin/modemconf -> $(SEC_CRIT) ; # legacy /sbin/modprobe -> $(SEC_CRIT) ; /sbin/mount.ncp -> $(SEC_CRIT) ; /sbin/mount.ncpfs -> $(SEC_CRIT) ; /sbin/mount.smb -> $(SEC_CRIT) ; /sbin/mount.smbfs -> $(SEC_CRIT) ; - #/sbin/netconf -> $(SEC_CRIT) ; + #/sbin/netconf -> $(SEC_CRIT) ; /sbin/pidof -> $(SEC_CRIT) ; /sbin/poweroff -> $(SEC_CRIT) ; /sbin/quotaoff -> $(SEC_CRIT) ; /sbin/raid0run -> $(SEC_CRIT) ; /sbin/raidhotadd -> $(SEC_CRIT) ; - /sbin/raidhotgenerateerror -> $(SEC_CRIT) ; + #/sbin/raidhotgenerateerror -> $(SEC_CRIT) ; /sbin/raidhotremove -> $(SEC_CRIT) ; /sbin/raidstop -> $(SEC_CRIT) ; /sbin/rdump -> $(SEC_CRIT) ; @@ -661,9 +614,9 @@ SIG_HI = 100 ; # Critical files that are significant point /sbin/rrestore.static -> $(SEC_CRIT) ; /sbin/swapoff -> $(SEC_CRIT) ; /sbin/telinit -> $(SEC_CRIT) ; - #/sbin/userconf -> $(SEC_CRIT) ; - #/sbin/uucpconf -> $(SEC_CRIT) ; - #/sbin/vregistry -> $(SEC_CRIT) ; + #/sbin/userconf -> $(SEC_CRIT) ; + #/sbin/uucpconf -> $(SEC_CRIT) ; + #/sbin/vregistry -> $(SEC_CRIT) ; /bin/awk -> $(SEC_CRIT) ; /bin/bash2 -> $(SEC_CRIT) ; /bin/bsh -> $(SEC_CRIT) ; @@ -681,13 +634,8 @@ SIG_HI = 100 ; # Critical files that are significant point } - ######################### - # ## -######################### # -# # # -# Temporary directories # # -# ## -######################### +# Temporary directories. + ( rulename = "Temporary directories", recurse = false, @@ -699,13 +647,9 @@ SIG_HI = 100 ; # Critical files that are significant point /tmp -> $(SEC_INVARIANT) ; } - ############### - # ## -############### # -# # # -# Local files # # -# ## -############### + +# Local files. + ( rulename = "User binaries", severity = $(SIG_MED) @@ -724,11 +668,11 @@ SIG_HI = 100 ; # Critical files that are significant point { /bin/bash -> $(SEC_BIN) ; /bin/ksh -> $(SEC_BIN) ; - # /bin/psh -> $(SEC_BIN) ; # No longer used? - # /bin/Rsh -> $(SEC_BIN) ; # No longer used? + #/bin/psh -> $(SEC_BIN) ; # legacy + #/bin/Rsh -> $(SEC_BIN) ; # legacy /bin/sh -> $(SEC_BIN) ; - # /bin/shell -> $(SEC_SUID) ; # No longer used? - # /bin/tsh -> $(SEC_BIN) ; # No longer used? + #/bin/shell -> $(SEC_SUID) ; # legacy + #/bin/tsh -> $(SEC_BIN) ; # legacy /bin/tcsh -> $(SEC_BIN) ; /sbin/nologin -> $(SEC_BIN) ; } @@ -740,7 +684,7 @@ SIG_HI = 100 ; # Critical files that are significant point { /etc/group -> $(SEC_CRIT) ; /etc/security -> $(SEC_CRIT) ; - #/var/spool/cron/crontabs -> $(SEC_CRIT) ; # Uncomment when this file exists + #/var/spool/cron/crontabs -> $(SEC_CRIT) ; # Uncomment when this file exists } #( @@ -768,10 +712,11 @@ SIG_HI = 100 ; # Critical files that are significant point /etc/csh.cshrc -> $(SEC_CONFIG) ; /etc/csh.login -> $(SEC_CONFIG) ; /etc/inputrc -> $(SEC_CONFIG) ; - # /etc/tsh_profile -> $(SEC_CONFIG) ; #Uncomment when this file exists + #/etc/tsh_profile -> $(SEC_CONFIG) ; #Uncomment when this file exists /etc/profile -> $(SEC_CONFIG) ; } + # Libraries ( rulename = "Libraries", @@ -783,14 +728,8 @@ SIG_HI = 100 ; # Critical files that are significant point } - ###################################################### - # ## -###################################################### # -# # # -# Critical System Boot Files # # -# These files are critical to a correct system boot. # # -# ## -###################################################### +# Critical System Boot Files. +# These files are critical to a correct system boot. ( rulename = "Critical system boot files", @@ -798,7 +737,7 @@ SIG_HI = 100 ; # Critical files that are significant point ) { /boot -> $(SEC_CRIT) ; - #/sbin/devfsd -> $(SEC_CRIT) ; + #/sbin/devfsd -> $(SEC_CRIT) ; /sbin/grub -> $(SEC_CRIT) ; /sbin/grub-install -> $(SEC_CRIT) ; /sbin/grub-md5-crypt -> $(SEC_CRIT) ; @@ -818,10 +757,9 @@ SIG_HI = 100 ; # Critical files that are significant point # other boot files may exist. Look for: #/ufsboot -> $(SEC_CRIT) ; } - ################################################## - ################################################### - # These files change every time the system boots ## - ################################################## + + # These files change every time the system boots. + ( rulename = "System boot changes", severity = $(SIG_HI) @@ -831,7 +769,7 @@ SIG_HI = 100 ; # Critical files that are significant point !/root/.enlightenment ; /dev/log -> $(SEC_CONFIG) ; /dev/cua0 -> $(SEC_CONFIG) ; - # /dev/printer -> $(SEC_CONFIG) ; # Uncomment if you have a printer device + #/dev/printer -> $(SEC_CONFIG) ; # legacy /dev/console -> $(SEC_CONFIG) -u ; # User ID may change on console login/logout. /dev/tty1 -> $(SEC_CONFIG) ; # tty devices /dev/tty2 -> $(SEC_CONFIG) ; # tty devices @@ -842,98 +780,98 @@ SIG_HI = 100 ; # Critical files that are significant point /dev/urandom -> $(SEC_CONFIG) ; /dev/initctl -> $(SEC_CONFIG) ; /var/lock/subsys -> $(SEC_CONFIG) ; - /var/lock/subsys/amd -> $(SEC_CONFIG) ; - /var/lock/subsys/anacron -> $(SEC_CONFIG) ; + #/var/lock/subsys/amd -> $(SEC_CONFIG) ; + #/var/lock/subsys/anacron -> $(SEC_CONFIG) ; /var/lock/subsys/apmd -> $(SEC_CONFIG) ; - /var/lock/subsys/arpwatch -> $(SEC_CONFIG) ; + #/var/lock/subsys/arpwatch -> $(SEC_CONFIG) ; /var/lock/subsys/atd -> $(SEC_CONFIG) ; - /var/lock/subsys/autofs -> $(SEC_CONFIG) ; - /var/lock/subsys/bcm5820 -> $(SEC_CONFIG) ; - /var/lock/subsys/bgpd -> $(SEC_CONFIG) ; - /var/lock/subsys/bootparamd -> $(SEC_CONFIG) ; + #/var/lock/subsys/autofs -> $(SEC_CONFIG) ; + #/var/lock/subsys/bcm5820 -> $(SEC_CONFIG) ; + #/var/lock/subsys/bgpd -> $(SEC_CONFIG) ; + #/var/lock/subsys/bootparamd -> $(SEC_CONFIG) ; /var/lock/subsys/canna -> $(SEC_CONFIG) ; /var/lock/subsys/crond -> $(SEC_CONFIG) ; - /var/lock/subsys/cWnn -> $(SEC_CONFIG) ; - /var/lock/subsys/dhcpd -> $(SEC_CONFIG) ; - /var/lock/subsys/firewall -> $(SEC_CONFIG) ; - /var/lock/subsys/freeWnn -> $(SEC_CONFIG) ; - /var/lock/subsys/gated -> $(SEC_CONFIG) ; + #/var/lock/subsys/cWnn -> $(SEC_CONFIG) ; + #/var/lock/subsys/dhcpd -> $(SEC_CONFIG) ; + #/var/lock/subsys/firewall -> $(SEC_CONFIG) ; + #/var/lock/subsys/freeWnn -> $(SEC_CONFIG) ; + #/var/lock/subsys/gated -> $(SEC_CONFIG) ; /var/lock/subsys/gpm -> $(SEC_CONFIG) ; - /var/lock/subsys/httpd -> $(SEC_CONFIG) ; - /var/lock/subsys/identd -> $(SEC_CONFIG) ; - /var/lock/subsys/innd -> $(SEC_CONFIG) ; - /var/lock/subsys/ipchains -> $(SEC_CONFIG) ; + #/var/lock/subsys/httpd -> $(SEC_CONFIG) ; + #/var/lock/subsys/identd -> $(SEC_CONFIG) ; + #/var/lock/subsys/innd -> $(SEC_CONFIG) ; + #/var/lock/subsys/ipchains -> $(SEC_CONFIG) ; # legacy /var/lock/subsys/iptables -> $(SEC_CONFIG) ; - /var/lock/subsys/ipvsadm -> $(SEC_CONFIG) ; - /var/lock/subsys/irda -> $(SEC_CONFIG) ; - /var/lock/subsys/iscsi -> $(SEC_CONFIG) ; - /var/lock/subsys/isdn -> $(SEC_CONFIG) ; - /var/lock/subsys/junkbuster -> $(SEC_CONFIG) ; - /var/lock/subsys/kadmin -> $(SEC_CONFIG) ; - /var/lock/subsys/keytable -> $(SEC_CONFIG) ; - /var/lock/subsys/kprop -> $(SEC_CONFIG) ; - /var/lock/subsys/krb524 -> $(SEC_CONFIG) ; - /var/lock/subsys/krb5kdc -> $(SEC_CONFIG) ; + #/var/lock/subsys/ipvsadm -> $(SEC_CONFIG) ; + #/var/lock/subsys/irda -> $(SEC_CONFIG) ; + #/var/lock/subsys/iscsi -> $(SEC_CONFIG) ; + #/var/lock/subsys/isdn -> $(SEC_CONFIG) ; + #/var/lock/subsys/junkbuster -> $(SEC_CONFIG) ; # legacy + #/var/lock/subsys/kadmin -> $(SEC_CONFIG) ; + #/var/lock/subsys/keytable -> $(SEC_CONFIG) ; + #/var/lock/subsys/kprop -> $(SEC_CONFIG) ; + #/var/lock/subsys/krb524 -> $(SEC_CONFIG) ; + #/var/lock/subsys/krb5kdc -> $(SEC_CONFIG) ; /var/lock/subsys/kudzu -> $(SEC_CONFIG) ; - /var/lock/subsys/kWnn -> $(SEC_CONFIG) ; - /var/lock/subsys/ldap -> $(SEC_CONFIG) ; - /var/lock/subsys/linuxconf -> $(SEC_CONFIG) ; - /var/lock/subsys/lpd -> $(SEC_CONFIG) ; - /var/lock/subsys/mars_nwe -> $(SEC_CONFIG) ; - /var/lock/subsys/mcserv -> $(SEC_CONFIG) ; - /var/lock/subsys/mysqld -> $(SEC_CONFIG) ; - /var/lock/subsys/named -> $(SEC_CONFIG) ; + #/var/lock/subsys/kWnn -> $(SEC_CONFIG) ; + #/var/lock/subsys/ldap -> $(SEC_CONFIG) ; + #/var/lock/subsys/linuxconf -> $(SEC_CONFIG) ; # legacy + #/var/lock/subsys/lpd -> $(SEC_CONFIG) ; + #/var/lock/subsys/mars_nwe -> $(SEC_CONFIG) ; + #/var/lock/subsys/mcserv -> $(SEC_CONFIG) ; + #/var/lock/subsys/mysqld -> $(SEC_CONFIG) ; + #/var/lock/subsys/named -> $(SEC_CONFIG) ; /var/lock/subsys/netfs -> $(SEC_CONFIG) ; /var/lock/subsys/network -> $(SEC_CONFIG) ; - /var/lock/subsys/nfs -> $(SEC_CONFIG) ; + #/var/lock/subsys/nfs -> $(SEC_CONFIG) ; /var/lock/subsys/nfslock -> $(SEC_CONFIG) ; - /var/lock/subsys/nscd -> $(SEC_CONFIG) ; + #/var/lock/subsys/nscd -> $(SEC_CONFIG) ; /var/lock/subsys/ntpd -> $(SEC_CONFIG) ; - /var/lock/subsys/ospf6d -> $(SEC_CONFIG) ; - /var/lock/subsys/ospfd -> $(SEC_CONFIG) ; - /var/lock/subsys/pcmcia -> $(SEC_CONFIG) ; + #/var/lock/subsys/ospf6d -> $(SEC_CONFIG) ; + #/var/lock/subsys/ospfd -> $(SEC_CONFIG) ; + #/var/lock/subsys/pcmcia -> $(SEC_CONFIG) ; /var/lock/subsys/portmap -> $(SEC_CONFIG) ; - /var/lock/subsys/postgresql -> $(SEC_CONFIG) ; - /var/lock/subsys/pxe -> $(SEC_CONFIG) ; - /var/lock/subsys/radvd -> $(SEC_CONFIG) ; + #/var/lock/subsys/postgresql -> $(SEC_CONFIG) ; + #/var/lock/subsys/pxe -> $(SEC_CONFIG) ; + #/var/lock/subsys/radvd -> $(SEC_CONFIG) ; /var/lock/subsys/random -> $(SEC_CONFIG) ; - /var/lock/subsys/rarpd -> $(SEC_CONFIG) ; - /var/lock/subsys/reconfig -> $(SEC_CONFIG) ; - /var/lock/subsys/rhnsd -> $(SEC_CONFIG) ; - /var/lock/subsys/ripd -> $(SEC_CONFIG) ; - /var/lock/subsys/ripngd -> $(SEC_CONFIG) ; - /var/lock/subsys/routed -> $(SEC_CONFIG) ; - /var/lock/subsys/rstatd -> $(SEC_CONFIG) ; - /var/lock/subsys/rusersd -> $(SEC_CONFIG) ; - /var/lock/subsys/rwalld -> $(SEC_CONFIG) ; - /var/lock/subsys/rwhod -> $(SEC_CONFIG) ; + #/var/lock/subsys/rarpd -> $(SEC_CONFIG) ; + #/var/lock/subsys/reconfig -> $(SEC_CONFIG) ; + #/var/lock/subsys/rhnsd -> $(SEC_CONFIG) ; + #/var/lock/subsys/ripd -> $(SEC_CONFIG) ; + #/var/lock/subsys/ripngd -> $(SEC_CONFIG) ; + #/var/lock/subsys/routed -> $(SEC_CONFIG) ; + #/var/lock/subsys/rstatd -> $(SEC_CONFIG) ; + #/var/lock/subsys/rusersd -> $(SEC_CONFIG) ; + #/var/lock/subsys/rwalld -> $(SEC_CONFIG) ; + #/var/lock/subsys/rwhod -> $(SEC_CONFIG) ; /var/lock/subsys/sendmail -> $(SEC_CONFIG) ; - /var/lock/subsys/smb -> $(SEC_CONFIG) ; - /var/lock/subsys/snmpd -> $(SEC_CONFIG) ; - /var/lock/subsys/squid -> $(SEC_CONFIG) ; + #/var/lock/subsys/smb -> $(SEC_CONFIG) ; + #/var/lock/subsys/snmpd -> $(SEC_CONFIG) ; + #/var/lock/subsys/squid -> $(SEC_CONFIG) ; /var/lock/subsys/sshd -> $(SEC_CONFIG) ; /var/lock/subsys/syslog -> $(SEC_CONFIG) ; - /var/lock/subsys/tux -> $(SEC_CONFIG) ; - /var/lock/subsys/tWnn -> $(SEC_CONFIG) ; - /var/lock/subsys/ups -> $(SEC_CONFIG) ; - /var/lock/subsys/vncserver -> $(SEC_CONFIG) ; - /var/lock/subsys/wine -> $(SEC_CONFIG) ; + #/var/lock/subsys/tux -> $(SEC_CONFIG) ; + #/var/lock/subsys/tWnn -> $(SEC_CONFIG) ; + #/var/lock/subsys/ups -> $(SEC_CONFIG) ; + #/var/lock/subsys/vncserver -> $(SEC_CONFIG) ; + #/var/lock/subsys/wine -> $(SEC_CONFIG) ; /var/lock/subsys/xfs -> $(SEC_CONFIG) ; /var/lock/subsys/xinetd -> $(SEC_CONFIG) ; - /var/lock/subsys/ypbind -> $(SEC_CONFIG) ; - /var/lock/subsys/yppasswdd -> $(SEC_CONFIG) ; - /var/lock/subsys/ypserv -> $(SEC_CONFIG) ; - /var/lock/subsys/ypxfrd -> $(SEC_CONFIG) ; - /var/lock/subsys/zebra -> $(SEC_CONFIG) ; + #/var/lock/subsys/ypbind -> $(SEC_CONFIG) ; + #/var/lock/subsys/yppasswdd -> $(SEC_CONFIG) ; + #/var/lock/subsys/ypserv -> $(SEC_CONFIG) ; + #/var/lock/subsys/ypxfrd -> $(SEC_CONFIG) ; + #/var/lock/subsys/zebra -> $(SEC_CONFIG) ; /var/run -> $(SEC_CONFIG) ; /var/log -> $(SEC_CONFIG) ; - /etc/ioctl.save -> $(SEC_CONFIG) ; + #/etc/ioctl.save -> $(SEC_CONFIG) ; /etc/issue.net -> $(SEC_CONFIG) -i ; # Inode number changes /etc/issue -> $(SEC_CONFIG) ; /etc/mtab -> $(SEC_CONFIG) -i ; # Inode number changes on any mount/unmount /lib/modules -> $(SEC_CONFIG) ; /etc/.pwd.lock -> $(SEC_CONFIG) ; - # /lib/modules/preferred -> $(SEC_CONFIG) ; #Uncomment when this file exists + #/lib/modules/preferred -> $(SEC_CONFIG) ; #Uncomment when this file exists } # These files change the behavior of the root account @@ -949,39 +887,34 @@ SIG_HI = 100 ; # Critical files that are significant point /root/.bash_logout -> $(SEC_CONFIG) ; /root/.cshrc -> $(SEC_CONFIG) ; /root/.tcshrc -> $(SEC_CONFIG) ; - #/root/Mail -> $(SEC_CONFIG) ; - #/root/mail -> $(SEC_CONFIG) ; - #/root/.amandahosts -> $(SEC_CONFIG) ; - #/root/.addressbook.lu -> $(SEC_CONFIG) ; - #/root/.addressbook -> $(SEC_CONFIG) ; + #/root/Mail -> $(SEC_CONFIG) ; + #/root/mail -> $(SEC_CONFIG) ; + #/root/.amandahosts -> $(SEC_CONFIG) ; + #/root/.addressbook.lu -> $(SEC_CONFIG) ; + #/root/.addressbook -> $(SEC_CONFIG) ; /root/.bash_history -> $(SEC_CONFIG) ; - #/root/.elm -> $(SEC_CONFIG) ; + #/root/.elm -> $(SEC_CONFIG) ; /root/.esd_auth -> $(SEC_CONFIG) ; - /root/.gnome_private -> $(SEC_CONFIG) ; - /root/.gnome-desktop -> $(SEC_CONFIG) ; + #/root/.gnome_private -> $(SEC_CONFIG) ; + #/root/.gnome-desktop -> $(SEC_CONFIG) ; /root/.gnome -> $(SEC_CONFIG) ; /root/.ICEauthority -> $(SEC_CONFIG) ; - #/root/.mc -> $(SEC_CONFIG) ; - #/root/.pinerc -> $(SEC_CONFIG) ; - #/root/.sawfish -> $(SEC_CONFIG) ; + #/root/.mc -> $(SEC_CONFIG) ; + #/root/.pinerc -> $(SEC_CONFIG) ; + #/root/.sawfish -> $(SEC_CONFIG) ; /root/.Xauthority -> $(SEC_CONFIG) -i ; # Changes Inode number on login - #/root/.xauth -> $(SEC_CONFIG) ; - #/root/.xsession-errors -> $(SEC_CONFIG) ; + #/root/.xauth -> $(SEC_CONFIG) ; + #/root/.xsession-errors -> $(SEC_CONFIG) ; } - ################################ - # ## -################################ # -# # # -# Critical configuration files # # -# ## -################################ +# Critical configuration files. + ( rulename = "Critical configuration files", severity = $(SIG_HI) ) { - #/etc/conf.linuxconf -> $(SEC_BIN) ; + #/etc/conf.linuxconf -> $(SEC_BIN) ; # legacy /etc/crontab -> $(SEC_BIN) ; /etc/cron.hourly -> $(SEC_BIN) ; /etc/cron.daily -> $(SEC_BIN) ; @@ -1000,7 +933,8 @@ SIG_HI = 100 ; # Critical files that are significant point /etc/rc.d/init.d -> $(SEC_BIN) ; /etc/rc.d -> $(SEC_BIN) ; /etc/mail.rc -> $(SEC_BIN) ; - /etc/modules.conf -> $(SEC_BIN) ; + /etc/modules.conf -> $(SEC_BIN) ; # post 2.6 legacy + #/etc/modprobe.conf -> $(SEC_BIN) ; # include this for 2.6 kernels /etc/motd -> $(SEC_BIN) ; /etc/named.conf -> $(SEC_BIN) ; /etc/passwd -> $(SEC_CONFIG) ; @@ -1011,7 +945,7 @@ SIG_HI = 100 ; # Critical files that are significant point /etc/rpc -> $(SEC_BIN) ; /etc/sysconfig -> $(SEC_BIN) ; /etc/samba/smb.conf -> $(SEC_CONFIG) ; - #/etc/gettydefs -> $(SEC_BIN) ; + #/etc/gettydefs -> $(SEC_BIN) ; /etc/nsswitch.conf -> $(SEC_BIN) ; /etc/yp.conf -> $(SEC_BIN) ; /etc/hosts -> $(SEC_CONFIG) ; @@ -1021,13 +955,8 @@ SIG_HI = 100 ; # Critical files that are significant point /etc/syslog.conf -> $(SEC_CONFIG) ; } - #################### - # ## -#################### # -# # # -# Critical devices # # -# ## -#################### +# Critical devices. + ( rulename = "Critical devices", severity = $(SIG_HI), @@ -1076,6 +1005,9 @@ SIG_HI = 100 ; # Critical files that are significant point /lib -> $(SEC_BIN) ; } +# disabled-entries: 184 + +# license: #============================================================================= # # Copyright 2000 Tripwire, Inc. Tripwire is a registered trademark of Tripwire, From 3f770caa68844231d59fefcf650ce9bd8f1b6219 Mon Sep 17 00:00:00 2001 From: cvsextras Date: Mon, 8 Nov 2004 05:29:19 +0000 Subject: [PATCH 03/81] auto-import tripwire-2.3.1-20.fdr.1.2 from tripwire-2.3.1-20.fdr.1.2.src.rpm --- tripwire.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index ed60870..46addf2 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,7 +3,7 @@ Summary: An IDS (Intrusion Detection System) Name: tripwire Version: 2.3.1 -Release: 20.fdr.1.1 +Release: 20.fdr.1.2 Epoch: 0 License: GPL Group: Applications/System From b08d3e14fe1ac671d22f90ea2bcd1b724dfefc71 Mon Sep 17 00:00:00 2001 From: gafton Date: Wed, 24 Nov 2004 05:04:27 +0000 Subject: [PATCH 04/81] Fix braindead typo from the original import --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 0b147ad..2270c8b 100644 --- a/Makefile +++ b/Makefile @@ -12,7 +12,7 @@ MAKEFILE_COMMON := $(shell $(find-makefile-common)) ifeq ($(MAKEFILE_COMMON),) # attept a checkout define checkout-makefile-common -test -f CVS/Rootx && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 +test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 endef MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) From 73e9b3aaf7b0d7863328a5b503849e625ae3831b Mon Sep 17 00:00:00 2001 From: Michael Schwendt Date: Fri, 10 Dec 2004 22:03:12 +0000 Subject: [PATCH 05/81] Bump release, strip off fedora.us prefix and dist tag. --- tripwire.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index 46addf2..476612e 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,7 +3,7 @@ Summary: An IDS (Intrusion Detection System) Name: tripwire Version: 2.3.1 -Release: 20.fdr.1.2 +Release: 21 Epoch: 0 License: GPL Group: Applications/System From 83a77717aa262d670688b31c2bfc025fd5fd6715 Mon Sep 17 00:00:00 2001 From: Matthias Saou Date: Sat, 5 Mar 2005 19:43:17 +0000 Subject: [PATCH 06/81] Mass letter "t" update, one or more apply : - Drop epoch: 0 - Remove %{epoch} requirements in sub-packages - Remove trailing white spaces - Keep consistent between spaces and tabs --- tripwire.spec | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/tripwire.spec b/tripwire.spec index 476612e..fef273e 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -1,10 +1,9 @@ %define path_to_vi /bin/vi %define path_to_sendmail /usr/sbin/sendmail -Summary: An IDS (Intrusion Detection System) +Summary: IDS (Intrusion Detection System) Name: tripwire Version: 2.3.1 Release: 21 -Epoch: 0 License: GPL Group: Applications/System Source0: http://download.sourceforge.net/tripwire/tripwire-2.3.1-2.tar.gz @@ -207,7 +206,7 @@ done * Fri Nov 28 2003 Keith G. Robertson-Turner 0:2.3.1-18.fdr.3 - Thanks to Michael Schwendt for really cleaning up the Spec file - The remaining parts of the original tripwire-2.3.1-gcc3.patch have - now been implemented + now been implemented - Debuginfo fully builds now * Thu Nov 27 2003 Keith G. Robertson-Turner 0:2.3.1-18.fdr.2 @@ -269,7 +268,7 @@ done * Tue Jul 10 2001 Mike A. Harris 2.3.1-3 - Made package own dir /var/lib/tripwire - + * Mon Jun 25 2001 Nalin Dahyabhai - update to 2.3.1-2 From 3192b3b37d08d84ede2e0550d1ebe1ab623d5602 Mon Sep 17 00:00:00 2001 From: Michael Schwendt Date: Wed, 6 Apr 2005 22:13:34 +0000 Subject: [PATCH 07/81] mass release bump for packages not rebuilt after FC-3-split --- tripwire.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index fef273e..82e10b5 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,7 +3,8 @@ Summary: IDS (Intrusion Detection System) Name: tripwire Version: 2.3.1 -Release: 21 +Release: 22 + License: GPL Group: Applications/System Source0: http://download.sourceforge.net/tripwire/tripwire-2.3.1-2.tar.gz @@ -167,6 +168,9 @@ done %changelog +* Fri Apr 7 2005 Michael Schwendt +- rebuilt + * Tue Jun 15 2004 Keith G. Robertson-Turner 0:2.3.1-20.fdr.1 - Revision bump to supersede Fedora Legacy - Fixed a bogus entry in twpol.txt.in (modeprobe.conf -> modprobe.conf) From ec7d0f0a8104ed63514780bd0618862fba722e36 Mon Sep 17 00:00:00 2001 From: Michael Schwendt Date: Mon, 15 May 2006 10:55:32 +0000 Subject: [PATCH 08/81] remove orphans from devel tree + add a file 'dead.package' as a marker --- .cvsignore | 1 - Latest-Changes | 223 - License-Issues | 66 - Makefile | 21 - README.RPM.in | 9 - dead.package | 0 pipedmailmessage.patch | 11 - sources | 1 - tripwire-2.3.0-50-rfc822.patch | 12 - tripwire-2.3.1-gcc3.new.patch | 44 - tripwire-mkstemp.patch | 30 - tripwire-setup-keyfiles.in | 329 - tripwire-siggen-man8.patch | 47 - tripwire.cron.in | 8 - tripwire.gif | Bin 4679 -> 0 bytes tripwire.spec | 318 - tripwire.txt | 82 - tw-20030919.patch | 132435 ------------------------------ twcfg.txt.in | 15 - twpol.txt.in | 1036 - 20 files changed, 134688 deletions(-) delete mode 100644 .cvsignore delete mode 100644 Latest-Changes delete mode 100644 License-Issues delete mode 100644 Makefile delete mode 100644 README.RPM.in create mode 100644 dead.package delete mode 100644 pipedmailmessage.patch delete mode 100644 sources delete mode 100644 tripwire-2.3.0-50-rfc822.patch delete mode 100644 tripwire-2.3.1-gcc3.new.patch delete mode 100644 tripwire-mkstemp.patch delete mode 100644 tripwire-setup-keyfiles.in delete mode 100644 tripwire-siggen-man8.patch delete mode 100644 tripwire.cron.in delete mode 100644 tripwire.gif delete mode 100644 tripwire.spec delete mode 100644 tripwire.txt delete mode 100644 tw-20030919.patch delete mode 100644 twcfg.txt.in delete mode 100644 twpol.txt.in diff --git a/.cvsignore b/.cvsignore deleted file mode 100644 index 79852b8..0000000 --- a/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -tripwire-2.3.1-2.tar.gz diff --git a/Latest-Changes b/Latest-Changes deleted file mode 100644 index a417b68..0000000 --- a/Latest-Changes +++ /dev/null @@ -1,223 +0,0 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 - -tripwire-2.3.1-20.fdr.1 - -* Revision bump to supersede Fedora Legacy - -* Fixed a bogus entry in twpol.txt.in (modeprobe.conf -> modprobe.conf) - -tripwire-2.3.1-18.fdr.9 - -* Paul Herman discovered a format string vulnerability in the fprintf() - function of pipedmailmessage.cpp, thanks to Robert C. Jacobson filing - a bug against tripwire. - - http://www.securityfocus.com/archive/1/365036/2004-06-01/2004-06-07/2 - - The patch from the above page has now been added to this release. - -tripwire-2.3.1-18.fdr.8: - -* I've given the default Policy plaintext file a complete overhaul. - Many of the legacy entries are living on borrowed time, and are due - for removal (pending further research, consultation and approval). - I've also cleaned up a lot of the "lint" in the Policy file. Comments - are usefull, but some of the comment blocks in the original - distribution looked like someone was practising ASCII art! - -* Cleaned up ugly sed entry in Spec (I really should start using perl). - (thanks to Michael Schwendt.) - -* More macro substitutions. Good ol' macros, eh? - -###### - -tripwire-2.3.1-18.fdr.7: - -* See changelog. - -###### - -tripwire-2.3.1-18.fdr.6: - -* See changelog. - -###### - -tripwire-2.3.1-18.fdr.5: - -* Finally the "non-conf-file in config dir" bug has been addressed. The - script twinstall.sh is not, and never has been, a configuration file, - but has lived in sysconfdir since the beginning. Well it's got a new - home and a new name now; it's been moved to the sbindir and is now - called tripwire-setup-keyfiles. The original name was misleading, - since it implied that it installed Tripwire, rather than set up - keyfiles. It's ironic that such a simple bug should have taken so - long to fix (something for which I am partly responsible). The change - certainly doesn't break anything, and is extremely trivial (except in - terms of FHS compliance). I guess you can put the longevity of this - bug down to apathy. Fixes Red Hat bug #61855, if it makes it back - upstream. - -* Line 145 of the original twinstall.sh, incorrectly referenced the - site key, as follows: - - echo "The site key file \"$LOCAL_KEY\"" - - Of course that should read: - - echo "The local key file \"$LOCAL_KEY\"" - - It's a relatively minor semantic error, but still wrong (and - potentially confusing), so has been fixed in tripwire-setup-keyfiles. - -* Updating the default Tripwire policy file, has been long overdue. All - that has changed (this time around) is that various references to - outdated and non-existent files has been commented out, thus greatly - reducing the number of "filesystem error" warnings displayed after an - initial setup. Please do not use this as an excuse to not tune the - Tripwire policy more carefully and precisely for your own system. - This is a *security* tool, after all. If you are not going to use it - conscientiously, then why bother at all? - -###### - -tripwire-2.3.1-18.fdr.4: - -* This file (newest entries first) - -* The siggen.8 man file had a broken command synopsis syntax. Reported - and patched by Eric S. Raymond (docbook). - -* The biggest request has finally been implemented: setting the real - hostname %post install. Previously, a virgin install of Tripwire - caused the unexpected problem of Tripwire failing to find it's own - report files, due to the fact that those files contained the real - hostname as part of the filenames. During one operation, Tripwire - would create report files using a naming convention which included - the real hostname, but during another operation, it would look for - report files with names that contained the literal word "localhost", - and subsequently failed. This problem was very simple to fix, i.e., - edit twpol.txt and replace the line which read "HOSTNAME=localhost;" - with a reference to the real hostname, followed by invoking Tripwire - in "policy update mode", but it did cause a lot of initial confusion, - and so has been fixed. - -* Work is ongoing in the process of updating Tripwire. The four primary - goals are: - - 1) Lose dependency from the dreaded STLport - 2) Ween Tripwire off Crypto++, and onto (the more GPL friendly) - libmcrypt - 3) Modernise the code (64bit, SELinux, non-x86, etc). - 4) And by virtue of all the above, fully modularise Tripwire, - so we're no longer distributing three applications in one. - - Progress is slow (I'm a one man show, and I have a day job), but - there are at least two other developers who are actively (but - separately) working on Tripwire: - - Stephen Zander (Debian) - Paul Herman (independent) - - During the next few months, I'll be talking to both parties, and - negotiating some kind of working arrangement. One way or another, I'm - determined to finish the project this year (2004). - -Keith G. Robertson-Turner - -###### - -tripwire-2.3.1-18.fdr.3: - -* Thanks to Michael Schwendt for really cleaning up the Spec file - - All the hard coded paths have now been replaced with variables, - including some nice rpm macros and templates - -* Proper debuginfo packages build now - -* The remaining parts of the original tripwire-2.3.1-gcc3.patch have - now been implemented - - The new patch is called tripwire-2.3.1-gcc3.new.patch, and - basically just patches references to gmake to ${MAKE}. There's - also a small function patch that was part of the original - -###### - -tripwire-2.3.1-18.fdr.2: - -* Removed version specific grep dependency, since grep >= 2.3 is common - -* Added openssl-devel and autoconf to build dependencies - -* The tripwire-jbj.patch is now confirmed to be merged with - tw-20030919.patch - -* Added RPM optimisation flags option - - Unfortunately, this breaks the code - - To quote Michael Schwendt - "RPM opt flags break "cryptlib". twadmin enters a deadlock in - SubatomicDivide() (cryptlib/integer.cpp) while generating a - key." - - Therefore this option has been commented out until integer.cpp - is fixed - -* set umask 022 during install, rather than allowing group writable - permissions - -* Added License-Issues to documentation - -###### - -tripwire-2.3.1-18.fdr.1: - -* First Fedora release - -* Implemented Paul Herman's tw-20030919 - patch - -Features: - multi-platform configuration via Autoconf's "./configure" - optional linking against OpenSSL - optional linking against STLport - -This patch has been known to work with the following OSes: - RedHat 7.x, 8.0 - FreeBSD 4.x, 5.0 - NetBSD 1.6.1 (requires pthreads port) - OpenBSD 3.x (3.3 must disable propolice) - Solaris 8 - Cygwin (version?) - MacOS X 10.2.6/Darwin 6.6 - (prebinding compatibility not available) - -Furthermore, the following compiler versions have been successfully -tested: - GCC 2.95, 3.0, 3.1, 3.2, 3.3 - Apple Computer, Inc. GCC version 1175 - -* Both the mkstemp and rfc822 patches are still implemented - -* Missing Patches - -tripwire-jbj.patch: Obsoleted by tw-20030919.patch -tripwire-2.3.1-2-fhs.patch: Unknown status. Further testing needed -tripwire-2.3.1-gcc3.patch: Partially implemented/obsoleted - -* RPM Spec file given complete overhaul for stricter compliance - -###### - ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.2.3 (GNU/Linux) - -iD8DBQFAzzGM2XoLj+pGfn8RAouiAJ9EVwQzr2xqLq6xrWn0DnvpMqSgtQCeIJRD -rCoprE5+omwmJuKoxnP0OCk= -=CXcq ------END PGP SIGNATURE----- diff --git a/License-Issues b/License-Issues deleted file mode 100644 index 6b892e1..0000000 --- a/License-Issues +++ /dev/null @@ -1,66 +0,0 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 - -Update 19 Feb 2004: - -The following issues are soon to disappear, since: - - 1) There are now cleaner upstream sources to work with (Debian) - 2) I'm working towards ditching Crypto++ altogether - -###### - -There seems to be some speculation as to the legal status of this -software. - -The problem seems to stem from patents, copyrights and licenses in the -Crypto++ distribution, by Wei Dei. - -For more information on the exact issues, please refer to the following -URL: - -http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=153007 - -The situation with the Fedora release is not as complex however, since -many of the questionable components are not included, specifically: - -The following are not in the archive, so there is no issue: -src/cryptlib/idea.cpp -src/cryptlib/haval.cpp -src/cryptlib/mars.cpp -src/cryptlib/serpent.cpp -src/cryptlib/md5.cpp -src/cryptlib/md5mac.cpp -src/cryptlib/cast.cpp - -The following are copyrighted, but have no license: -src/cryptlib/zbits.cpp -src/cryptlib/ztrees.cpp -src/cryptlib/zdeflate.cpp -src/cryptlib/sha.cpp ? - -With regards to those last four files, Stephen Zander is apparently going to approach Wei Dei with regards clearing up -the "no license" issues. However, I don't think this is a "fatal" -problem at this stage. Hopefully this will include clearing up the -implications of section 2 of src/cryptlib/license.txt, which reads: - -"2. Users of the software included in this compilation agree to use -their best efforts to provide Wei Dai with any modifications containing -improvements or extensions and hereby grant Wei Dai a perpetual, -royalty-free license to use and distribute such modifications under the -terms of this license." - -I'm no GPL/OSS expert, but there are some who believe this is -incompatible with the GPL. Discussions are ongoing, and I will continue -to update this file in future releases with any news. - -Keith G. Robertson-Turner - ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.2.3 (GNU/Linux) - -iD8DBQFANEDN2XoLj+pGfn8RArdFAJ0edxT3u8DmWJEOpQ7eSFcFd17cXACfVH5I -PKV00HlQoZBBfbrq8//6pd8= -=HlLR ------END PGP SIGNATURE----- diff --git a/Makefile b/Makefile deleted file mode 100644 index 2270c8b..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: tripwire -# $Id$ -NAME := tripwire -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/README.RPM.in b/README.RPM.in deleted file mode 100644 index ab53114..0000000 --- a/README.RPM.in +++ /dev/null @@ -1,9 +0,0 @@ - -After installing this package, you should run: - - @sbindir@/tripwire-setup-keyfiles - -to generate cryptographic keys, and "tripwire --init" to initialize the -database Tripwire uses. This must be done manually because the key used -to sign the database should be different for each system. - diff --git a/dead.package b/dead.package new file mode 100644 index 0000000..e69de29 diff --git a/pipedmailmessage.patch b/pipedmailmessage.patch deleted file mode 100644 index c92e7d3..0000000 --- a/pipedmailmessage.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- tripwire-2.3.1-2/src/tripwire/pipedmailmessage.cpp 2004-06-10 03:34:08.000000000 +0100 -+++ tripwire-2.3.1-2/src/tripwire/pipedmailmessage.cpp.new 2004-06-10 03:38:52.000000000 +0100 -@@ -180,7 +180,7 @@ - - void cPipedMailMessage::SendString( const TSTRING& s ) - { -- if( _ftprintf( mpFile, s.c_str() ) < 0 ) -+ if( _ftprintf( mpFile, "%s", s.c_str() ) < 0 ) - { - TOSTRINGSTREAM estr; - estr << TSS_GetString( cTripwire, tripwire::STR_ERR2_MAIL_MESSAGE_COMMAND ) diff --git a/sources b/sources deleted file mode 100644 index 5e32f40..0000000 --- a/sources +++ /dev/null @@ -1 +0,0 @@ -6a15fe110565cef9ed33c1c7e070355e tripwire-2.3.1-2.tar.gz diff --git a/tripwire-2.3.0-50-rfc822.patch b/tripwire-2.3.0-50-rfc822.patch deleted file mode 100644 index 7811135..0000000 --- a/tripwire-2.3.0-50-rfc822.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Naur tripwire-2.3.0-50-orig/src/tripwire/mailmessage.cpp tripwire-2.3.0-50/src/tripwire/mailmessage.cpp ---- tripwire-2.3.0-50-orig/src/tripwire/mailmessage.cpp Sat Oct 28 02:26:18 2000 -+++ tripwire-2.3.0-50/src/tripwire/mailmessage.cpp Thu Jul 5 05:12:54 2001 -@@ -241,7 +241,7 @@ - time_t current_time = time(NULL); - tm = localtime ( ¤t_time ); - -- const TCHAR* szFormat = _T("%a %d %b %Y %H:%M:%S %z"); -+ const TCHAR* szFormat = _T("%a, %d %b %Y %H:%M:%S %z"); - - size_t numChars = _tcsftime( szDate, countof( szDate ), szFormat, tm ); - diff --git a/tripwire-2.3.1-gcc3.new.patch b/tripwire-2.3.1-gcc3.new.patch deleted file mode 100644 index 5f83bfd..0000000 --- a/tripwire-2.3.1-gcc3.new.patch +++ /dev/null @@ -1,44 +0,0 @@ -diff -Nur tripwire-2.3.1-2/src/cryptlib/i686-pc-linux.mak tripwire-2.3.1-2.gcc3.backport/src/cryptlib/i686-pc-linux.mak ---- tripwire-2.3.1-2/src/cryptlib/i686-pc-linux.mak 2000-10-28 01:26:21.000000000 +0100 -+++ tripwire-2.3.1-2.gcc3.backport/src/cryptlib/i686-pc-linux.mak 2003-11-28 14:00:29.000000000 +0000 -@@ -71,12 +71,12 @@ - # Recusively call make defining the appropriate $(D_FLAGS) var - - debug: -- gmake -f $(MAKEFILE) cryptlib_d.a "D_FLAGS=$(DEBUG_FLAGS)" "LDFLAGS=DEBUG_LDFLAGS" --# gmake -f $(MAKEFILE) cryptest_d "D_FLAGS=$(DEBUG_FLAGS)" "LDFLAGS=DEBUG_LDFLAGS" -+ $(MAKE) -f $(MAKEFILE) cryptlib_d.a "D_FLAGS=$(DEBUG_FLAGS)" "LDFLAGS=DEBUG_LDFLAGS" -+# $(MAKE) -f $(MAKEFILE) cryptest_d "D_FLAGS=$(DEBUG_FLAGS)" "LDFLAGS=DEBUG_LDFLAGS" - - release: -- gmake -f $(MAKEFILE) cryptlib.a "D_FLAGS=$(NDEBUG_FLAGS)" "LDFLAGS=NDEBUG_LDFLAGS" --# gmake -f $(MAKEFILE) cryptest "D_FLAGS=$(NDEBUG_FLAGS)" "LDFLAGS=NDEBUG_LDFLAGS" -+ $(MAKE) -f $(MAKEFILE) cryptlib.a "D_FLAGS=$(NDEBUG_FLAGS)" "LDFLAGS=NDEBUG_LDFLAGS" -+# $(MAKE) -f $(MAKEFILE) cryptest "D_FLAGS=$(NDEBUG_FLAGS)" "LDFLAGS=NDEBUG_LDFLAGS" - - - ############################################################################### -diff -Nur tripwire-2.3.1-2/src/cryptlib/misc.h tripwire-2.3.1-2.gcc3.backport/src/cryptlib/misc.h ---- tripwire-2.3.1-2/src/cryptlib/misc.h 2003-11-28 14:03:03.000000000 +0000 -+++ tripwire-2.3.1-2.gcc3.backport/src/cryptlib/misc.h 2003-11-28 14:00:29.000000000 +0000 -@@ -150,7 +150,7 @@ - operator T *() - {return ptr;} - --#if !defined(_MSC_VER) && !defined(_KCC) -+#if !defined(_MSC_VER) && !defined(_KCC) && 0 - T *operator +(unsigned int offset) - {return ptr+offset;} - const T *operator +(unsigned int offset) const -diff -Nur tripwire-2.3.1-2/src/Makefile tripwire-2.3.1-2.gcc3.backport/src/Makefile ---- tripwire-2.3.1-2/src/Makefile 2001-03-04 04:03:52.000000000 +0000 -+++ tripwire-2.3.1-2.gcc3.backport/src/Makefile 2003-11-28 14:01:21.000000000 +0000 -@@ -93,7 +93,7 @@ - # file to Makefile.linux_intel or something similar. - - MAKEFILE = Makefile --GMAKE = gmake -+GMAKE = ${MAKE} - - #----------------------------------------------------------------------------- - # STLPORT diff --git a/tripwire-mkstemp.patch b/tripwire-mkstemp.patch deleted file mode 100644 index daeae8c..0000000 --- a/tripwire-mkstemp.patch +++ /dev/null @@ -1,30 +0,0 @@ ---- tripwire-2.3.1-2/src/core/unix/unixfsservices.cpp.mkstemp 2001-02-24 14:02:12.000000000 -0500 -+++ tripwire-2.3.1-2/src/core/unix/unixfsservices.cpp 2003-01-04 12:54:33.000000000 -0500 -@@ -243,6 +243,7 @@ - { - char* pchTempFileName; - char szTemplate[MAXPATHLEN]; -+ int fd; - - #ifdef _UNICODE - // convert template from wide character to multi-byte string -@@ -253,13 +254,12 @@ - strcpy( szTemplate, strName.c_str() ); - #endif - -- // create temp filename -- pchTempFileName = mktemp( szTemplate ); -- -- //check to see if mktemp failed -- if ( pchTempFileName == NULL || strlen(pchTempFileName) == 0) { -- throw eFSServicesGeneric( strName ); -- } -+ // create temp filename and check to see if mkstemp failed -+ if ((fd = mkstemp( szTemplate )) == -1) -+ throw eFSServicesGeneric( strName ); -+ else -+ close(fd); -+ pchTempFileName = szTemplate; - - // change name so that it has the XXXXXX part filled in - #ifdef _UNICODE diff --git a/tripwire-setup-keyfiles.in b/tripwire-setup-keyfiles.in deleted file mode 100644 index 66ee0fa..0000000 --- a/tripwire-setup-keyfiles.in +++ /dev/null @@ -1,329 +0,0 @@ -#!/bin/sh - -######################################################################## -######################################################################## -## -## Tripwire(R) 2.3 for LINUX(R) Post-RPM installation script -## -## Copyleft information contained in footer -## -######################################################################## -######################################################################## - -##======================================================= -## Setup -##======================================================= - -# We can assume all the correct tools are in place because the -# RPM installed, didn't it? - -##------------------------------------------------------- -## Set HOST_NAME variable -##------------------------------------------------------- -HOST_NAME='localhost' -if uname -n > /dev/null 2> /dev/null ; then - HOST_NAME=`uname -n` -fi - -##------------------------------------------------------- -## Program variables - edited by RPM during initial install -##------------------------------------------------------- - -# Site Passphrase variable -TW_SITE_PASS="" - -# Complete path to site key -SITE_KEY="@sysconfdir@/tripwire/site.key" - -# Local Passphrase variable -TW_LOCAL_PASS="" - -# Complete path to local key -LOCAL_KEY="@sysconfdir@/tripwire/${HOST_NAME}-local.key" - -# If clobber==true, overwrite files; if false, do not overwrite files. -CLOBBER="false" - -# If prompt==true, ask for confirmation before continuing with install. -PROMPT="true" - -# Name of twadmin executeable -TWADMIN="twadmin" - -# Path to twadmin executeable -TWADMPATH=@sbindir@ - -# Path to configuration directory -CONF_PATH="@sysconfdir@/tripwire" - -# Name of clear text policy file -TXT_POL=$CONF_PATH/twpol.txt - -# Name of clear text configuration file -TXT_CFG=$CONF_PATH/twcfg.txt - -# Name of encrypted configuration file -CONFIG_FILE=$CONF_PATH/tw.cfg - -# Path of the final Tripwire policy file (signed) -SIGNED_POL=`grep POLFILE $TXT_CFG | sed -e 's/^.*=\(.*\)/\1/'` - - -##======================================================= -## Create Key Files -##======================================================= - -##------------------------------------------------------- -## If user has to enter a passphrase, give some -## advice about what is appropriate. -##------------------------------------------------------- - -if [ -z "$TW_SITE_PASS" ] || [ -z "$TW_LOCAL_PASS" ]; then -cat << END_OF_TEXT - ----------------------------------------------- -The Tripwire site and local passphrases are used to sign a variety of -files, such as the configuration, policy, and database files. - -Passphrases should be at least 8 characters in length and contain both -letters and numbers. - -See the Tripwire manual for more information. -END_OF_TEXT -fi - -##======================================================= -## Generate keys. -##======================================================= - -echo -echo "----------------------------------------------" -echo "Creating key files..." - -##------------------------------------------------------- -## Site key file. -##------------------------------------------------------- - -# If clobber is true, and prompting is off (unattended operation) -# and the key file already exists, remove it. Otherwise twadmin -# will prompt with an "are you sure?" message. - -if [ "$CLOBBER" = "true" ] && [ "$PROMPT" = "false" ] && [ -f "$SITE_KEY" ] ; then - rm -f "$SITE_KEY" -fi - -if [ -f "$SITE_KEY" ] && [ "$CLOBBER" = "false" ] ; then - echo "The site key file \"$SITE_KEY\"" - echo 'exists and will not be overwritten.' -else - cmdargs="--generate-keys --site-keyfile \"$SITE_KEY\"" - if [ -n "$TW_SITE_PASS" ] ; then - cmdargs="$cmdargs --site-passphrase \"$TW_SITE_PASS\"" - fi - eval "\"$TWADMPATH/$TWADMIN\" $cmdargs" - if [ $? -ne 0 ] ; then - echo "Error: site key generation failed" - exit 1 - else chmod 640 "$SITE_KEY" - fi -fi - -##------------------------------------------------------- -## Local key file. -##------------------------------------------------------- - -# If clobber is true, and prompting is off (unattended operation) -# and the key file already exists, remove it. Otherwise twadmin -# will prompt with an "are you sure?" message. - -if [ "$CLOBBER" = "true" ] && [ "$PROMPT" = "false" ] && [ -f "$LOCAL_KEY" ] ; then - rm -f "$LOCAL_KEY" -fi - -if [ -f "$LOCAL_KEY" ] && [ "$CLOBBER" = "false" ] ; then - echo "The local key file \"$LOCAL_KEY\"" - echo 'exists and will not be overwritten.' -else - cmdargs="--generate-keys --local-keyfile \"$LOCAL_KEY\"" - if [ -n "$TW_LOCAL_PASS" ] ; then - cmdargs="$cmdargs --local-passphrase \"$TW_LOCAL_PASS\"" - fi - eval "\"$TWADMPATH/$TWADMIN\" $cmdargs" - if [ $? -ne 0 ] ; then - echo "Error: local key generation failed" - exit 1 - else chmod 640 "$LOCAL_KEY" - fi -fi - -##======================================================= -## Sign the Configuration File -##======================================================= - -echo -echo "----------------------------------------------" -echo "Signing configuration file..." - -##------------------------------------------------------- -## If noclobber, then backup any existing config file. -##------------------------------------------------------- - -if [ "$CLOBBER" = "false" ] && [ -s "$CONFIG_FILE" ] ; then - backup="${CONFIG_FILE}.$$.bak" - echo "Backing up $CONFIG_FILE" - echo " to $backup" - `mv "$CONFIG_FILE" "$backup"` - if [ $? -ne 0 ] ; then - echo "Error: backup of configuration file failed." - exit 1 - fi -fi - -##------------------------------------------------------- -## Build command line. -##------------------------------------------------------- - -cmdargs="--create-cfgfile" -cmdargs="$cmdargs --cfgfile \"$CONFIG_FILE\"" -cmdargs="$cmdargs --site-keyfile \"$SITE_KEY\"" -if [ -n "$TW_SITE_PASS" ] ; then - cmdargs="$cmdargs --site-passphrase \"$TW_SITE_PASS\"" -fi - -##------------------------------------------------------- -## Sign the file. -##------------------------------------------------------- - -eval "\"$TWADMPATH/$TWADMIN\" $cmdargs \"$TXT_CFG\"" -if [ $? -ne 0 ] ; then - echo "Error: signing of configuration file failed." - exit 1 -fi - -# Set the rights properly -chmod 640 "$CONFIG_FILE" - -##------------------------------------------------------- -## We keep the cleartext version around. -##------------------------------------------------------- - -cat << END_OF_TEXT - -A clear-text version of the Tripwire configuration file: -$TXT_CFG -has been preserved for your inspection. It is recommended that you -move this file to a secure location and/or encrypt it in place (using a -tool such as GPG, for example) after you have examined it. - -END_OF_TEXT - -##======================================================= -## Sign tripwire policy file. -##======================================================= - -echo -echo "----------------------------------------------" -echo "Signing policy file..." - -##------------------------------------------------------- -## If noclobber, then backup any existing policy file. -##------------------------------------------------------- - -if [ "$CLOBBER" = "false" ] && [ -s "$POLICY_FILE" ] ; then - backup="${POLICY_FILE}.$$.bak" - echo "Backing up $POLICY_FILE" - echo " to $backup" - mv "$POLICY_FILE" "$backup" - if [ $? -ne 0 ] ; then - echo "Error: backup of policy file failed." - exit 1 - fi -fi - -##------------------------------------------------------- -## Build command line. -##------------------------------------------------------- - -cmdargs="--create-polfile" -cmdargs="$cmdargs --cfgfile \"$CONFIG_FILE\"" -cmdargs="$cmdargs --site-keyfile \"$SITE_KEY\"" -if [ -n "$TW_SITE_PASS" ] ; then - cmdargs="$cmdargs --site-passphrase \"$TW_SITE_PASS\"" -fi - -##------------------------------------------------------- -## Sign the file. -##------------------------------------------------------- - -eval "\"$TWADMPATH/$TWADMIN\" $cmdargs \"$TXT_POL\"" -if [ $? -ne 0 ] ; then - echo "Error: signing of policy file failed." - exit 1 -fi - -# Set the proper rights on the newly signed policy file. -chmod 0640 "$SIGNED_POL" - -##------------------------------------------------------- -## We keep the cleartext version around. -##------------------------------------------------------- - -cat << END_OF_TEXT - -A clear-text version of the Tripwire policy file: -$TXT_POL -has been preserved for your inspection. This implements a minimal -policy, intended only to test essential Tripwire functionality. You -should edit the policy file to describe your system, and then use -twadmin to generate a new signed copy of the Tripwire policy. - -Once you have a satisfactory Tripwire policy file, you should move the -clear-text version to a secure location and/or encrypt it in place -(using a tool such as GPG, for example). - -Now run "tripwire --init" to enter Database Initialization Mode. This -reads the policy file, generates a database based on its contents, and -then cryptographically signs the resulting database. Options can be -entered on the command line to specify which policy, configuration, and -key files are used to create the database. The filename for the -database can be specified as well. If no options are specified, the -default values from the current configuration file are used. - -END_OF_TEXT - -exit 0 - -######################################################################## -######################################################################## -# -# TRIPWIRE GPL NOTICES -# -# The developer of the original code and/or files is Tripwire, Inc. -# Portions created by Tripwire, Inc. are copyright 2000 Tripwire, Inc. -# Tripwire is a registered trademark of Tripwire, Inc. All rights reserved. -# -# This program is free software. The contents of this file are subject to -# the terms of the GNU General Public License as published by the Free -# Software Foundation; either version 2 of the License, or (at your option) -# any later version. You may redistribute it and/or modify it only in -# compliance with the GNU General Public License. -# -# This program is distributed in the hope that it will be useful. However, -# this program is distributed "AS-IS" WITHOUT ANY WARRANTY; INCLUDING THE -# IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. -# Please see the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# Nothing in the GNU General Public License or any other license to use the -# code or files shall permit you to use Tripwire's trademarks, -# service marks, or other intellectual property without Tripwire's -# prior written consent. -# -# If you have any questions, please contact Tripwire, Inc. at either -# info@tripwire.org or www.tripwire.org. -# -######################################################################## -######################################################################## diff --git a/tripwire-siggen-man8.patch b/tripwire-siggen-man8.patch deleted file mode 100644 index a67a430..0000000 --- a/tripwire-siggen-man8.patch +++ /dev/null @@ -1,47 +0,0 @@ -diff -Nur tripwire-2.3.1-2/man/man8/siggen.8 tripwire-2.3.1-2.new/man/man8/siggen.8 ---- tripwire-2.3.1-2/man/man8/siggen.8 2001-03-04 00:30:29.000000000 +0000 -+++ tripwire-2.3.1-2.new/man/man8/siggen.8 2004-02-19 01:18:43.000000000 +0000 -@@ -2,28 +2,25 @@ - .\" Do not move or remove previous line. - .\" Used by some man commands to know that tbl should be used. - .nh --.TH SIGGEN 8 "1 July 2000" -+.TH SIGGEN 8 "19 Feb 2004" - .SH NAME - siggen \- signature gathering routine for Tripwire - .SH SYNOPSIS - .B siggen --.RI "[ " "options..." " ]" --.IR file1 " [ " "file2..." " ] " -- --.I Options: --.RS +0.5i --.TS --; --lbw(0.8i) lb. ---t --terse ---h --hexadecimal ---a --all ---C --CRC32 ---M --MD5 ---S --SHA ---H --HAVAL --.TE --.RE -+[ -+.BR -t | --terse -+] [ -+.BR -h | --hexadecimal -+] [ -+.BR -a | --all -+] [ -+.BR -C | --CRC32 -+] [ -+.BR -S | --SHA -+] [ -+.BR -h | --HAVAL -+] -+.IR file1 ,,, - .SH DESCRIPTION - .PP - \fBsiggen\fP is a utility that displays the hash function values diff --git a/tripwire.cron.in b/tripwire.cron.in deleted file mode 100644 index d951ec1..0000000 --- a/tripwire.cron.in +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -HOST_NAME=`uname -n` -if [ ! -e @vardir@/lib/tripwire/${HOST_NAME}.twd ] ; then - echo "**** Error: Tripwire database for ${HOST_NAME} not found. ****" - echo "**** Run "@sysconfdir@/tripwire/twinstall.sh" and/or "tripwire --init". ****" -else - test -f @sysconfdir@/tripwire/tw.cfg && @sbindir@/tripwire --check -fi diff --git a/tripwire.gif b/tripwire.gif deleted file mode 100644 index ac9d5eb05b55a69eadc9b4aa2c2f6088e22059a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4679 zcmV-N61eS0Nk%v~VNwBN0`LF;1Ox>C|Nkri0000|0b&9G0{)DTsmtvTqnxzbi?iOm z`wxcVNS5Y_rs`S(?hD8AOxN}uv--~WJ_Pt}g2JNlh|Ca^lO^*BjsBcc2DOUKYB^U= zH}u_#$K*s<<3gRw>~?g03BtMVx?MVttMB}NF>e8=T_DEN|wsgx(bW+sxupF%T#-KyW8oO%M0wP5GjX{V*r=; z8_cY7wboT^*3w*E_8jnXAd{^vZH(-lmQ7wPzOZbq{y0taO%DE!JYPO6jR3lNG-RQYH<`JqufDVu*Wk}R# zL3`k~dM#P?s#r8F@xgOS^`W$i`A%9H3s=%xoNPgfylXOo)wtHOz9T8_X-^1jOVi1+n5*Rp^+;y9W&W7EShH}49uiCGH1{b<%UiS$gRh=0YQCa?fEq0)LbnR zo(NX2Y}8F^-=h+;VnW@!`O*f9uy)tav5Ut|4Y;md+=iPwAA8(1yX#`J8~w?>`{M9d zGkYOlemwf1=3TBAiX*=K`Sjbr&uIVt_5Aw&i}UX<+kXItCg6aU6=j;pL_p^v2ishE(Y5SgKoo8&^{B}#Hq%M$4z`J{W)Tv_ELQ}UE0CCjixWtR|& z0H&CZ{PI$mW@`6AO=_+=VVlD-31=^Dyjdr4kL5`So?Y?Dho7YZdWWEw5xOUvopD4N zqNV`FVWd_%s-96Nfh5pxQDI;xrH5K599?Fu1*xa3=n-mL$z@uqsbUbbRb3K&YMrZ? zp~}^3m=+cethSzd=dZvfD(n`WcIy7=vBka`NQ}vBx2!Cj{t>Mfm>9;ZZRdS5AWP}Bw`r^DxZO&-h^*lj_3gUewrdYyUo{!0ybZO<0=bU9vX{SzDyuIPiYRkb z!3HZDO~MNA>)A)#fD~25ROS0HwawWDTtv!wTx-S}6IY#-uc?|AzD0^`#Brpm1#Ud? zvMhukfsMrKrGag8Jxf(MUU^^wN6->-0=KPEGX;Q5Pcc)l6%R zAJ<)b-6Ggwi@i_QWIK7bI%cQcDBI1f?e?T`0|WQmWZ6wO-g)c2OWk~v_VrzH< zob=GI&Rb&yE9iaGa7~ZI_u-#k`fT8%V>tV&kv<{$BX{4r%}lqSbsWcRYmz${d&BHf!h zs6UjHOoW877hC=(I|Ek1gY)AO@+^l#`T-AisN>uOWtasN{!oHF{G4&%<%xrZtTROP z;d3(Bx+SVEhO}Z={tjnIz${uV9ugBwuQKJ0?OE(%!nMIyd7Mrj&2p~4DeYwkFCKF=C1m-cF$w^~E6PdkK<}-t+#cXbnn$5)J+tjwqjexT+ z;rt*u&w0xv&`?o(OK17U=^=OiC>Um}rZ<_fP61YtmfgHXK0l$BFsbREp_9z4s5DS` z_6;EL;^#H~{Yg)T?o*u7TxdJJ*iUBS6GRC`r-nLO4T4J1nj~%KH|-hCkScVV6vZbL zEh^r1S<>1N7V!-#s6r7}IKN>Qp&$>7YW6-}v0nF!OSCe;=V z6KYI@icGxK(m+4Qp4AL=%GU zw4`fo+mhlsw7TA~uU9>5CDh6(8t#>wcG_Vh7VFT)K8>(a73*UmgIHMd^`3rshVZag zD8LFsvaNxtUpp&WqxGq(JoBGwHuc3}zzwpTtwR{#$gw?!M0bHoEiF(>#ef!)Rhay$ z_-g(e*~geNj>BcG6$D0Gr*^U`Wz^#(cc!P~N_VrB9l}K6r&-1(*H~^!MP|3lQ_B)l zjoQrOdewUkbIFCKvegVor<+|%Rnljbxi5aH>&1?k42~mJUw5$?x(nu}xcUrGVY#~; z-Da|&4nA;q+sIsY+V{a~Tv>ET1;b>BbgJWhR9m^@U*L{5JSpxhW=C9N^!7;??`bjC zQUGHJ!}m;I%CU~`dRWl1n8Vt|oPKP~W0&}ts8|j1-4cXkFL7%?QAS)QmTcFS>XgDZ zBJzyE+hq$cPOB8E@{pn^Av2$uk!kkwWf@!{HP5p{axN>K-Aq{w)p^bF6!VcdivH)v z0@}}l{b-;mw`bNRI(3U~ESA5_{FwA z5bXAxl5dUc6ngh}roHxHyB!mEZ%5sygf>3}KD&bd8rvb7cf1I`yMHfSdlMITsr~J6 zC6uYZ8ISR@$+U5OKbhLbr9;SvIC6&Do8FGq;m1jCy9S-yz!;CTk?&n^{w}+G-)Fh) zmEXr--o9JN$KH9m_shbdzkKLJrxV9{c)iyaW=>V57zrmiN232Ye^7s;0=@1)yex86 z7ngXm*^_VyPZHD=jMYJb9&weEDD4@ppiC|pE~wIu+1T-`&IX(_Nk+IFE>sTOwO;J; zp?l^x@3=9vP1Y$>yypF`c!7(q^uUT-@-|;NZv{N{)x7qt*|Yq2E8m;lO3LxA4WP{2 zzF?hC9`kH=E~K8N@ZbWzji4vD;w^u(oBfaKp1!_Bo}WyT6~isz`)5PGiwF8@A1>IbgL>@#!+dO%7k(GBWpzwP zxckVbedp(HdRr$sE`obW^K{84fNzB$Utn%6mvRQTdafmU2jO~{Hb$6aJpI>q0hoA8 zhZb^lP@)nucDH)p=YQ$-fMSO({!<#5l3{3Obewl~?1W+O5_TY?U<`O5tVd!PH$sIs zDn7A$(cu)f7lU*KaQPK^Jm-5Gh=3i)gqatG&c}66=y6jBf$M;9^Cxt27jQ#?Zv>Qn z{GxhRScM&?ewZVFM~DkKXINgKD;L9o&&OVZG7H>ic20;z-v(q>Vh(($gtPYs8Tfx? z!5loe69QFa-?0{M7;|j6V_w)~2ULiYID-vWiEkKh@R9z6n#hG^(}}(IiCP$n)s}{5 zn1F2Fgu&9fFRg6%$Wzl$r(DW_n=8GzZdXeZ=@-tiYm~7d&k0z#%?Wj~_){J1djud8)5CvwN zmV3L?kkLcWFyj#I7c*|j6eWp`Er~!s zIDUZ%m<`5r=CwbanL&8zex*5nO=6ke*p!T@k{c~^ zPKTeK=nFb{ejtX2+qYlP$#g3=ZR=T5i`k#zGI)>3lcj`F%QrD;8AA|CQc`yp6o`Qr zNMNcNowGSAui2qUIR&?=21qiWuC;%Lr=oPpqHlPXrKm`C_kJ_up}E<3CMsJ|`C*a7 zp{Mhs*79OhnTOexq&HfECV7!Q^Q2HZpvq~HRZ3nhph=XbrCEq9|9GSXI+JrKrTp}z zn2}d6iJ|RDeA`)E5x%+lAlVa7P+UJ zXh&)4V)&SlL@&iV;PRCDy_{oBegnA@TqIfs$z2KY~IS1ovCcqs%YX$Hqjb5 z@|vpec&5LKj@5~*_Uf*}TCU1krpyYk_-d^BDvp`!!wXh5eujQ7nTX~NY zd!b`BtO?r*S=p`T>ZR9et2oB1S6X8c8=fU6Z|WLW47y<|YhfU(u_B9BK?)!Z`;070 za{~*goq8WOJBV6I9zOnSun}V*LVK|?IAkuHZ4tR2CfhGi#IcdNR3)pl)Y4FBSz1)< zu|MmVzHt$*fe<*0c2zrB0mM_S-sJMsCgOz%zBV>^r8Vqn3d7{g>yTc zDYJW73#sfFv{7q6JR83Z>z$EDz?jIuOliRE2ys2zZc|!e<*2yeRIG6)D0mtefr1!YFIPE{v)-jKi`TuCf-jDa@}Ki?Bhw!^tYdM_j~2+`|Pc z!%E!5NW8=X3&lxH!$aIV_qoL9E4e4qP)Gf?Djj zSA48+Ot*sQ#Xua!WK6|*jK?heuqf=q73{xd2FQaOXKt*sSb?j~L&$Wz#l`x)*=oU$ z9LKgh{=K6}irY)L^e4%WJGPD6$ji#ebBwXS=c=8&$!)s9n7n=-+=Rhf$*l{zubjT0 zOM0_R%CH>Ew;aloYq)fH%HFq=H(|&p+{(P{%DQ}QQ4+|uoXH25yoan5&n&vmtjg02 ziq+h6HoSy;iOjORKVNki*^AAb=wV?=n4zX>YBkJ5kjU-q&IRaxUuQ^Px6QEw&yz`- zfYd_RDaXl~m^><*Ujf6#qZcH4ek{dG?%OZiitrdd3^gXeoVlugB6fwaz-6At9uvzlpZo%+Uon zEz+kuydymaHC@JmXw+DE(I*YTz?(Z0-Oo-f(L+hlDG54I{m@d4(p3FwSl!c>>^AQV JIgC*N06V>yOq>7! diff --git a/tripwire.spec b/tripwire.spec deleted file mode 100644 index 82e10b5..0000000 --- a/tripwire.spec +++ /dev/null @@ -1,318 +0,0 @@ -%define path_to_vi /bin/vi -%define path_to_sendmail /usr/sbin/sendmail -Summary: IDS (Intrusion Detection System) -Name: tripwire -Version: 2.3.1 -Release: 22 - -License: GPL -Group: Applications/System -Source0: http://download.sourceforge.net/tripwire/tripwire-2.3.1-2.tar.gz -Source1: tripwire.cron.in -Source2: tripwire.txt -Source3: tripwire.gif -Source4: twcfg.txt.in -Source5: tripwire-setup-keyfiles.in -Source6: twpol.txt.in -Source7: README.RPM.in -Source8: Latest-Changes -Source9: License-Issues -URL: http://www.tripwire.org/ -Buildrequires: autoconf openssl-devel -Requires: sed grep gzip tar gawk -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) - -# Tripwire is NOT 64bit clean, nor endian clean, and only works -# properly on x86 architecture. This open source code *is* being -# maintained, (albeit, quite slowly), so this is likely to change -# eventually. Currently We exclude non x86 arches. -ExclusiveArch: %{ix86} - -Patch0: tripwire-2.3.0-50-rfc822.patch -Patch1: tripwire-mkstemp.patch -Patch2: tw-20030919.patch -Patch3: tripwire-2.3.1-gcc3.new.patch -Patch4: tripwire-siggen-man8.patch -Patch5: pipedmailmessage.patch - - -%description -Tripwire is a very valuable security tool for Linux systems, if it is -installed to a clean system. Tripwire should be installed right after -the OS installation, and before you have connected your system to a -network (i.e., before any possibility exists that someone could alter -files on your system). - -When Tripwire is initially set up, it creates a database that records -certain file information. Then when it is run, it compares a designated -set of files and directories to the information stored in the database. -Added or deleted files are flagged and reported, as are any files that -have changed from their previously recorded state in the database. When -Tripwire is run against system files on a regular basis, any file -changes will be spotted when Tripwire is run. Tripwire will report the -changes, which will give system administrators a clue that they need to -enact damage control measures immediately if certain files have been -altered. - - -%prep -%setup -q -n %{name}-2.3.1-2 -%{__cp} -p %{SOURCE2} quickstart.txt -%{__cp} -p %{SOURCE3} quickstart.gif - -%patch0 -p1 -b .rfc822 -%patch1 -p1 -b .mkstemp -%patch2 -p1 -b .tw-20030919 -%patch3 -p1 -b .gcc3.new -%patch4 -p1 -b .siggen.manpage -%patch5 -p1 -b .pipedmailmessage - - -%build -%{__chmod} 755 configure -# RPM_OPT_FLAGS break the code (deadlock). -export CXXFLAGS="-O -Wall -pipe -g" -./configure -q \ - path_to_vi=%{path_to_vi} \ - path_to_sendmail=%{path_to_sendmail} \ - --prefix=/ \ - --sysconfdir=%{_sysconfdir}/tripwire \ - --sbindir=%{_sbindir} \ - --libdir=%{_var}/lib \ - --mandir=%{_mandir} - -# Do not parallelise this with _smp_flags or -j -%{__make} - - -%install -%{__rm} -fr ${RPM_BUILD_ROOT} - -# Install the binaries. -%{__mkdir_p} ${RPM_BUILD_ROOT}%{_sbindir} -%{__install} -p -m755 bin/siggen ${RPM_BUILD_ROOT}%{_sbindir} -%{__install} -p -m755 bin/tripwire ${RPM_BUILD_ROOT}%{_sbindir} -%{__install} -p -m755 bin/twadmin ${RPM_BUILD_ROOT}%{_sbindir} -%{__install} -p -m755 bin/twprint ${RPM_BUILD_ROOT}%{_sbindir} - -# Install the man pages. -%{__mkdir_p} ${RPM_BUILD_ROOT}%{_mandir}/{man4,man5,man8} -%{__install} -p -m644 man/man4/*.4 ${RPM_BUILD_ROOT}%{_mandir}/man4/ -%{__install} -p -m644 man/man5/*.5 ${RPM_BUILD_ROOT}%{_mandir}/man5/ -%{__install} -p -m644 man/man8/*.8 ${RPM_BUILD_ROOT}%{_mandir}/man8/ - -# Create configuration files from templates. -%{__rm} -fr _tmpcfg -%{__mkdir} _tmpcfg -for infile in %{SOURCE1} %{SOURCE4} %{SOURCE5} %{SOURCE6} %{SOURCE7} ; do - outfile=${infile##/*/} - outfile=${outfile%.*n} - cat ${infile} |\ - %{__sed} -e 's|@path_to_vi@|%{path_to_vi}|g' |\ - %{__sed} -e 's|@path_to_sendmail@|%{path_to_sendmail}|g' |\ - %{__sed} -e 's|@sysconfdir@|%{_sysconfdir}|g' |\ - %{__sed} -e 's|@sbindir@|%{_sbindir}|g' |\ - %{__sed} -e 's|@vardir@|%{_var}|g' >\ - _tmpcfg/${outfile} -done -%{__mv} _tmpcfg/{tripwire-setup-keyfiles,README.RPM} . - -# Create the reports directory. -%{__install} -d -m700 ${RPM_BUILD_ROOT}%{_var}/lib/tripwire/report - -# Install the cron job. -%{__install} -d -m755 ${RPM_BUILD_ROOT}%{_sysconfdir}/cron.daily -%{__install} -p -m755 _tmpcfg/tripwire.cron \ - ${RPM_BUILD_ROOT}%{_sysconfdir}/cron.daily/tripwire-check -%{__rm} _tmpcfg/tripwire.cron - -# Install configuration files. -%{__mkdir_p} ${RPM_BUILD_ROOT}%{_sysconfdir}/tripwire -for file in _tmpcfg/* ; do - %{__install} -p -m644 ${file} ${RPM_BUILD_ROOT}%{_sysconfdir}/tripwire -done - -# Install the keyfile setup script -%{__install} -p -m755 tripwire-setup-keyfiles ${RPM_BUILD_ROOT}%{_sbindir} - -# Fix permissions on documentation files. -%{__cp} -p %{SOURCE8} %{SOURCE9} . -%{__chmod} 644 \ - README Release_Notes ChangeLog COPYING TRADEMARK quickstart.gif \ - quickstart.txt README.RPM policy/policyguide.txt Latest-Changes \ - License-Issues - - -%clean -%{__rm} -fr ${RPM_BUILD_ROOT} - - -%post -# Set the real hostname in twpol.txt -%{__sed} -i -e "s|localhost|$HOSTNAME|g" %{_sysconfdir}/tripwire/twpol.txt - - -%files -%defattr(-,root,root,-) -%doc README Release_Notes ChangeLog COPYING TRADEMARK quickstart.gif -%doc quickstart.txt README.RPM policy/policyguide.txt Latest-Changes -%doc License-Issues -%attr(0755,root,root) %dir %{_sysconfdir}/tripwire -%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/tripwire/twcfg.txt -%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/tripwire/twpol.txt -%attr(0755,root,root) %config(noreplace) %{_sysconfdir}/cron.daily/tripwire-check -%attr(0755,root,root) %dir %{_var}/lib/tripwire -%attr(0755,root,root) %dir %{_var}/lib/tripwire/report -%attr(0644,root,root) %{_mandir}/*/* -%attr(0755,root,root) %{_sbindir}/* - - -%changelog -* Fri Apr 7 2005 Michael Schwendt -- rebuilt - -* Tue Jun 15 2004 Keith G. Robertson-Turner 0:2.3.1-20.fdr.1 -- Revision bump to supersede Fedora Legacy -- Fixed a bogus entry in twpol.txt.in (modeprobe.conf -> modprobe.conf) - -* Thu Jun 10 2004 Keith G. Robertson-Turner 0:2.3.1-18.fdr.9 -- Applied Paul Herman's patch to fix a format string vulnerability in - pipedmailmessage.cpp - -* Sun Feb 29 2004 Keith G. Robertson-Turner 0:2.3.1-18.fdr.8 -- Default policy overhaul -- Spec cleanup - -* Sun Feb 22 2004 Keith G. Robertson-Turner 0:2.3.1-18.fdr.7 -- Moved documentation data out of package description - -* Sat Feb 21 2004 Keith G. Robertson-Turner 0:2.3.1-18.fdr.6 -- Removed explicit Buildrequires gcc-c++ - -* Fri Feb 20 2004 Keith G. Robertson-Turner 0:2.3.1-18.fdr.5 -- Finally moved twinstall.sh from the sysconfdir to the sbindir, since - it is not a configuration file. Fixes Red Hat bug #61855 -- Renamed twinstall.sh to tripwire-setup-keyfiles, since the name is - misleading. It is setting up keyfiles, not installing an application -- Minor correction to twinstall.sh (now tripwire-setup-keyfiles), which - made an incorrect reference to the site key rather than the local key -- Long overdue default policy update -- Added explicit Buildrequires gcc-c++, to satisfy mach - -* Thu Feb 19 2004 Keith G. Robertson-Turner 0:2.3.1-18.fdr.4 -- Fixed siggen.8 man page, broken command synopsis syntax. Submitted by - doclifter -- Set real hostname in post, so Tripwire works first time, without - editing twpol.txt -- More accurate package summary -- Spec cleanup - -* Fri Nov 28 2003 Keith G. Robertson-Turner 0:2.3.1-18.fdr.3 -- Thanks to Michael Schwendt for really cleaning up the Spec file -- The remaining parts of the original tripwire-2.3.1-gcc3.patch have - now been implemented -- Debuginfo fully builds now - -* Thu Nov 27 2003 Keith G. Robertson-Turner 0:2.3.1-18.fdr.2 -- Removed version specific grep dependency, since grep >= 2.3 is common -- Added openssl-devel and autoconf to build dependencies -- The tripwire-jbj.patch is now confirmed merged with tw-20030919.patch -- Added RPM optimisation flags option, disabled by default since it - breaks the code -- Fixed file permissions of packaged files - -* Wed Nov 26 2003 Keith G. Robertson-Turner 0:2.3.1-18.fdr.1 -- Implemented Paul Herman's tw-20030919.patch -- Removed the fhs gcc3 and jbj patches, which are now broken/obsoleted - by the above -- Both the mkstemp and rfc822 patches are still implemented -- Build uses autoconf for now -- Spec file given complete overhaul for stricter compliance. More to do - -* Wed Jan 22 2003 Tim Powers -- rebuilt - -* Sat Nov 16 2002 Jeff Johnson 2.3.1-16 -- rebuild from cvs. -- comment out debug messages to achieve compilation. -- include policyguide.txt (#72259). -- use mkstemp, not mktemp. - -* Fri Aug 02 2002 Mike A. Harris 2.3.1-14 -- Modified default sample twpol file to remove bogus warnings (#70502) - -* Fri Jun 21 2002 Tim Powers 2.3.1-13 -- automated rebuild - -* Sun May 26 2002 Tim Powers 2.3.1-12 -- automated rebuild - -* Wed May 22 2002 Mike A. Harris 2.3.1-11 -- Rebuilt in new build environment with gcc 3.1 - -* Tue Feb 26 2002 Mike A. Harris 2.3.1-9 -- Conditionalized gcc3 patch -- Added back the ExclusiveArch that is required but disappeared somewhere along - the line. -- Rebuild in new build environment - -* Thu Jan 31 2002 Mike A. Harris 2.3.1-7 -- Bump release and rebuild in new environment. -- (Elliot Lee) Add patch to make it build with gcc3. - -* Thu Aug 9 2001 Nalin Dahyabhai 2.3.1-5 -- define USE_FHS when USES_FHS is defined, so that the database winds up - in the right directory (#51332) -- update default twpol file to include files recently-added to the full - installation tree - -* Tue Jul 17 2001 Mike A. Harris 2.3.1-4 -- Applied bugfix for (#47276) to make tripwire email RFC822 compliant, using - patch in bugreport from Michael Schwendt - -* Tue Jul 10 2001 Mike A. Harris 2.3.1-3 -- Made package own dir /var/lib/tripwire - -* Mon Jun 25 2001 Nalin Dahyabhai -- update to 2.3.1-2 - -* Thu Mar 1 2001 Bill Nottingham -- rebuild, fix defattr. Weird. - -* Tue Feb 27 2001 Nalin Dahyabhai -- refresh from upstream -- modify the default policy to match the current tree more closely (#28744) -- make the text files 0644, not 0755 -- defattr for the sake of the docs - -* Wed Sep 20 2000 Nalin Dahyabhai -- change exclusivearch: i386 to exclusivearch: %%{ix86} (#17759) - -* Wed Aug 23 2000 Than Ngo -- remove copyleft information in specfile (Bug #16765) - -* Tue Aug 22 2000 Nalin Dahyabhai -- remove duplicate source files -- sync up description with specspo - -* Fri Aug 4 2000 Than Ngo -- remove Vendor and Distribution from specfile (Bug #15246) - -* Fri Aug 4 2000 Than Ngo -- starts tripwire --check if it was configured before. (Bug #15384) - -* Fri Aug 4 2000 Nalin Dahyabhai -- fix sense of checking for the database's existence in the cron job -- actually include twinstall.sh, twcfg.txt, twpol.txt - -* Thu Aug 3 2000 Than Ngo -- permission fix (bug #15246) - -* Mon Jul 31 2000 Nalin Dahyabhai -- add quickstart docs (Ed) -- tweak description text (Ed) - -* Thu Jul 20 2000 Nalin Dahyabhai -- update .spec file to follow RPM conventions -- add tripwire --check to cron.daily - diff --git a/tripwire.txt b/tripwire.txt deleted file mode 100644 index b29aa7e..0000000 --- a/tripwire.txt +++ /dev/null @@ -1,82 +0,0 @@ -Introduction -Tripwire v2.3 software ensures the integrity of critical system files and directories by identifying all changes made to specified system files and directories. Configure Tripwire software to monitor your system in the way that is best for you. - -Tripwire software works by comparing files and directories against a baseline. It generates the baseline by taking a "snapshot" of specified files and directories in a known secure state. Tripwire software then compares the current system against the baseline and reports any modifications, additions, or deletions. Use Tripwire software for system security, intrusion detection, damage assessment, and recovery forensics. - -To install Tripwire v2.3 -1. Locate the RPM directory on the CD. -2. Locate the Tripwire RPM. -3. Type rpm -i "name" -4. After installing the Tripwire binary RPM, follow these Post-Installation instructions. -5. We recommend you read the Release Notes and README file. - -Post-Installation Instructions -The Tripwire binary RPM installs the basic program files needed to run the software. However, this installation does not complete custom configurations that Tripwire 2.3 needs to perform correctly. After you unpack the RPM, you must: -1. Run the configuration script: /etc/tripwire/twinstall.sh to sign these files. This script walks you through the processes of setting passphrases and signing the Tripwire policy and configuration files. -Note: Once encoded and signed, the configuration file should not be renamed or moved. -2. Initialize the Tripwire database file. (/usr/sbin/tripwire--init) -3. Run the first integrity check. (/usr/sbin/tripwire--check) -4. Edit the configuration file (twcfg.txt) with a text editor, if desired. -5. Edit the policy file (twpol.txt) with a text editor, if desired. - -Note: If you plan to modify the policy file, we recommend you do so before running the configuration script. If you modify the policy file after running the configuration script, you must re-run the configuration file before initializing the database file. - -Modifying the Policy File -You can specify how Tripwire software checks your system in the Tripwire policy file (twpol.txt). A default policy file is included in the Tripwire software installation. We recommend you tailor this policy file to fit your particular system. Tailoring the policy file greatly increases Tripwire software's ability to ensure the integrity of your system. - -Locate the default policy file at /etc/tripwire/twpol.txt. An example policy file (located at /usr/doc/tripwire-VER#-REL#/policyguide.txt) is included to help you learn the policy language. Read the sample policy file and the comments in the sample policy file to learn the policy language. - -After you modify the policy file, follow the Post-Installation Instructions (run the configuration script). This script signs the modified policy file and renames it to tw.pol. This is the active policy file that runs as part of the Tripwire software. - -Selecting Passphrases -Tripwire files are signed or encrypted using site or local keys. These keys are protected by passphrases. When selecting passphrases, the following recommendations apply: -Use at least eight alphanumeric and symbolic characters for each passphrase. The maximum length of a passphrase is 1023 characters. Quotes should not be used as passphrase characters. - -Assign a unique passphrase for the site key. The site key passphrase protects the site key, which is used to sign Tripwire software configuration and policy files. Assign a unique passphrase for the local key. The local key signs Tripwire database files. The local key may sign the Tripwire report files also. - -Store the passphrases in a secure location. There is no way to remove encryption from a signed file if you forget your passphrase. If you forget the passphrases, the files are unusable. In that case you must reinitialize the baseline database. - -Initializing the Database -In Database Initialization mode, Tripwire software builds a database of filesystem objects based on the rules in the policy file. This database serves as the baseline for integrity checks. The syntax for Database Initialization mode is: -tripwire --init - -Running an Integrity Check -The Integrity Check mode compares the current file system objects with their properties recorded in the Tripwire database. Violations are printed to stdout. The report file is saved and can later be accessed by twprint. An email option enables you to send email. The syntax for Integrity Check mode is: -tripwire --check - -Printing Reports - twprint Print Report Mode -The twprint --print-report mode prints the contents of a Tripwire report. If you do not specify a report with the --twrfile or -r command-line argument, the default report file specified by the configuration file REPORTFILE variable is used. -Example: On a machine named LIGHTHOUSE, the command would be: -./twprint -m r --twrfile LIGHTHOUSE-19990622-021212.twr - -Updating the Database after an Integrity Check -Database Update mode enables you to update the Tripwire database after an integrity check if you determine that the violations discovered are valid. This update process saves time by enabling you to update the database without having to re-initialize it. It also enables selective updating, which cannot be done through re-initialization. The syntax for Database Update mode is: -tripwire --update - -Updating the Policy File -Change the way that Tripwire software scans the system by changing the rules in the policy file. You can then update the database without a complete re-initialization. This saves a significant amount of time and preserves security by keeping the policy file synchronized with the database it uses. The syntax for Policy Update mode is: -tripwire --update-policy - -Testing email functions -Test mode tests the software's email notification system, using the settings currently specified in the configuration file. The syntax for Email Test Reporting mode is: -tripwire --test - -Tripwire Components -The policy file begins as a text file containing comments, rules, directives, and variables. These dictate the way Tripwire software checks your system. Each rule in the policy file specifies a system object to be monitored. Rules also describe which changes to the object to report, and which to ignore. - -System objects are the files and directories you wish to monitor. Each object is identified by an object name. A property refers to a single characteristic of an object that Tripwire software can monitor. Directives control conditional processing of sets of rules in a policy file. During installation, the text policy file is encrypted and renamed, and becomes the active policy file. - -The database file is an important component of Tripwire software. When first installed, Tripwire software uses the policy file rules to create the database file. The database file is a baseline "snapshot" of the system in a known secure state. Tripwire software compares this baseline against the current system to determine what changes have occurred. This is an integrity check. - -When you perform an integrity check, Tripwire software produces report files. Report files summarize any changes that violated the policy file rules during the integrity check. You can view the report file in a variety of formats, at varying levels of detail. - -The Tripwire configuration file stores system-specific information, such as the location of Tripwire data files. Tripwire software generates some of the configuration file information during installation. The system administrator can change parameters in the configuration file at any time. The configuration file variables POLFILE, DBFILE, REPORTFILE, SITEKEYFILE, and LOCALKEYFILE specify where the policy file, database file, report files, and site and local key files reside. These variables must be defined or the configuration file is invalid. If any of these variables are undefined, an error occurs on execution of Tripwire software and the program exits. - -Tripwire Help -All Tripwire commands support the help arguments. Example: To get help with Create Configuration File mode, type: ./twadmin --help --create-cfgfile - --? Display usage and version information ---help Display all command modes ---help all Display help for all command modes ---help [mode] Display help for current command mode ---version Display version information diff --git a/tw-20030919.patch b/tw-20030919.patch deleted file mode 100644 index 01c6d89..0000000 --- a/tw-20030919.patch +++ /dev/null @@ -1,132435 +0,0 @@ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/Makefile.am tripwire-2.3.1-2/Makefile.am ---- tripwire-2.3.1-2.old/Makefile.am Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/Makefile.am Fri Aug 16 14:25:07 2002 -@@ -0,0 +1,7 @@ -+AUTOMAKE_OPTIONS = foreign no-dependencies -+SUBDIRS = man src -+ -+install-data-hook: -+ prefix="$(prefix)" sysconfdir="$(sysconfdir)" \ -+ path_to_vi="$(path_to_vi)" path_to_sendmail="$(path_to_sendmail)" \ -+ ./install/install.sh -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/Makefile.in tripwire-2.3.1-2/Makefile.in ---- tripwire-2.3.1-2.old/Makefile.in Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/Makefile.in Mon Sep 22 09:40:54 2003 -@@ -0,0 +1,413 @@ -+# Makefile.in generated automatically by automake 1.5 from Makefile.am. -+ -+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -+# Free Software Foundation, Inc. -+# This Makefile.in is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -+# PARTICULAR PURPOSE. -+ -+@SET_MAKE@ -+ -+SHELL = @SHELL@ -+ -+srcdir = @srcdir@ -+top_srcdir = @top_srcdir@ -+VPATH = @srcdir@ -+prefix = @prefix@ -+exec_prefix = @exec_prefix@ -+ -+bindir = @bindir@ -+sbindir = @sbindir@ -+libexecdir = @libexecdir@ -+datadir = @datadir@ -+sysconfdir = @sysconfdir@ -+sharedstatedir = @sharedstatedir@ -+localstatedir = @localstatedir@ -+libdir = @libdir@ -+infodir = @infodir@ -+mandir = @mandir@ -+includedir = @includedir@ -+oldincludedir = /usr/include -+pkgdatadir = $(datadir)/@PACKAGE@ -+pkglibdir = $(libdir)/@PACKAGE@ -+pkgincludedir = $(includedir)/@PACKAGE@ -+top_builddir = . -+ -+ACLOCAL = @ACLOCAL@ -+AUTOCONF = @AUTOCONF@ -+AUTOMAKE = @AUTOMAKE@ -+AUTOHEADER = @AUTOHEADER@ -+ -+INSTALL = @INSTALL@ -+INSTALL_PROGRAM = @INSTALL_PROGRAM@ -+INSTALL_DATA = @INSTALL_DATA@ -+INSTALL_SCRIPT = @INSTALL_SCRIPT@ -+INSTALL_HEADER = $(INSTALL_DATA) -+transform = @program_transform_name@ -+NORMAL_INSTALL = : -+PRE_INSTALL = : -+POST_INSTALL = : -+NORMAL_UNINSTALL = : -+PRE_UNINSTALL = : -+POST_UNINSTALL = : -+AMTAR = @AMTAR@ -+AWK = @AWK@ -+CC = @CC@ -+CORE_CRYPT_O = @CORE_CRYPT_O@ -+CXX = @CXX@ -+DEPDIR = @DEPDIR@ -+EXEEXT = @EXEEXT@ -+GMAKE = @GMAKE@ -+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -+OBJEXT = @OBJEXT@ -+PACKAGE = @PACKAGE@ -+RANLIB = @RANLIB@ -+STLPORT_INCLUDE = @STLPORT_INCLUDE@ -+STLPORT_LD = @STLPORT_LD@ -+STLPORT_LIBRARY = @STLPORT_LIBRARY@ -+STLPORT_MAKEFILE = @STLPORT_MAKEFILE@ -+STLPORT_SUBDIR = @STLPORT_SUBDIR@ -+SYSPRE = @SYSPRE@ -+VERSION = @VERSION@ -+YACC = @YACC@ -+am__include = @am__include@ -+am__quote = @am__quote@ -+install_sh = @install_sh@ -+path_to_sendmail = @path_to_sendmail@ -+path_to_vi = @path_to_vi@ -+ -+AUTOMAKE_OPTIONS = foreign no-dependencies -+SUBDIRS = man src -+subdir = . -+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -+CONFIG_HEADER = config.h -+CONFIG_CLEAN_FILES = -+depcomp = -+DIST_SOURCES = -+ -+RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \ -+ uninstall-info-recursive all-recursive install-data-recursive \ -+ install-exec-recursive installdirs-recursive install-recursive \ -+ uninstall-recursive check-recursive installcheck-recursive -+DIST_COMMON = README ./stamp-h.in COPYING ChangeLog INSTALL Makefile.am \ -+ Makefile.in aclocal.m4 config.guess config.h.in config.sub \ -+ configure configure.in install-sh missing mkinstalldirs -+DIST_SUBDIRS = $(SUBDIRS) -+all: config.h -+ $(MAKE) $(AM_MAKEFLAGS) all-recursive -+ -+.SUFFIXES: -+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) -+ cd $(top_srcdir) && \ -+ $(AUTOMAKE) --foreign Makefile -+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status -+ cd $(top_builddir) && \ -+ CONFIG_HEADERS= CONFIG_LINKS= \ -+ CONFIG_FILES=$@ $(SHELL) ./config.status -+ -+$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) -+ $(SHELL) ./config.status --recheck -+$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) -+ cd $(srcdir) && $(AUTOCONF) -+ -+$(ACLOCAL_M4): configure.in -+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) -+config.h: stamp-h -+ @if test ! -f $@; then \ -+ rm -f stamp-h; \ -+ $(MAKE) stamp-h; \ -+ else :; fi -+stamp-h: $(srcdir)/config.h.in $(top_builddir)/config.status -+ @rm -f stamp-h stamp-hT -+ @echo timestamp > stamp-hT 2> /dev/null -+ cd $(top_builddir) \ -+ && CONFIG_FILES= CONFIG_HEADERS=config.h \ -+ $(SHELL) ./config.status -+ @mv stamp-hT stamp-h -+$(srcdir)/config.h.in: $(srcdir)/./stamp-h.in -+ @if test ! -f $@; then \ -+ rm -f $(srcdir)/./stamp-h.in; \ -+ $(MAKE) $(srcdir)/./stamp-h.in; \ -+ else :; fi -+$(srcdir)/./stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) -+ @rm -f $(srcdir)/./stamp-h.in $(srcdir)/./stamp-h.inT -+ @echo timestamp > $(srcdir)/./stamp-h.inT 2> /dev/null -+ cd $(top_srcdir) && $(AUTOHEADER) -+ @mv $(srcdir)/./stamp-h.inT $(srcdir)/./stamp-h.in -+ -+distclean-hdr: -+ -rm -f config.h -+uninstall-info-am: -+ -+# This directory's subdirectories are mostly independent; you can cd -+# into them and run `make' without going through this Makefile. -+# To change the values of `make' variables: instead of editing Makefiles, -+# (1) if the variable is set in `config.status', edit `config.status' -+# (which will cause the Makefiles to be regenerated when you run `make'); -+# (2) otherwise, pass the desired values on the `make' command line. -+$(RECURSIVE_TARGETS): -+ @set fnord $(MAKEFLAGS); amf=$$2; \ -+ dot_seen=no; \ -+ target=`echo $@ | sed s/-recursive//`; \ -+ list='$(SUBDIRS)'; for subdir in $$list; do \ -+ echo "Making $$target in $$subdir"; \ -+ if test "$$subdir" = "."; then \ -+ dot_seen=yes; \ -+ local_target="$$target-am"; \ -+ else \ -+ local_target="$$target"; \ -+ fi; \ -+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ -+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ -+ done; \ -+ if test "$$dot_seen" = "no"; then \ -+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ -+ fi; test -z "$$fail" -+ -+mostlyclean-recursive clean-recursive distclean-recursive \ -+maintainer-clean-recursive: -+ @set fnord $(MAKEFLAGS); amf=$$2; \ -+ dot_seen=no; \ -+ case "$@" in \ -+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ -+ *) list='$(SUBDIRS)' ;; \ -+ esac; \ -+ rev=''; for subdir in $$list; do \ -+ if test "$$subdir" = "."; then :; else \ -+ rev="$$subdir $$rev"; \ -+ fi; \ -+ done; \ -+ rev="$$rev ."; \ -+ target=`echo $@ | sed s/-recursive//`; \ -+ for subdir in $$rev; do \ -+ echo "Making $$target in $$subdir"; \ -+ if test "$$subdir" = "."; then \ -+ local_target="$$target-am"; \ -+ else \ -+ local_target="$$target"; \ -+ fi; \ -+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ -+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ -+ done && test -z "$$fail" -+tags-recursive: -+ list='$(SUBDIRS)'; for subdir in $$list; do \ -+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ -+ done -+ -+tags: TAGS -+ -+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) -+ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ -+ unique=`for i in $$list; do \ -+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+ done | \ -+ $(AWK) ' { files[$$0] = 1; } \ -+ END { for (i in files) print i; }'`; \ -+ mkid -fID $$unique $(LISP) -+ -+TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ -+ $(TAGS_FILES) $(LISP) -+ tags=; \ -+ here=`pwd`; \ -+ list='$(SUBDIRS)'; for subdir in $$list; do \ -+ if test "$$subdir" = .; then :; else \ -+ test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ -+ fi; \ -+ done; \ -+ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ -+ unique=`for i in $$list; do \ -+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+ done | \ -+ $(AWK) ' { files[$$0] = 1; } \ -+ END { for (i in files) print i; }'`; \ -+ test -z "$(ETAGS_ARGS)config.h.in$$unique$(LISP)$$tags" \ -+ || etags $(ETAGS_ARGS) $$tags config.h.in $$unique $(LISP) -+ -+GTAGS: -+ here=`CDPATH=: && cd $(top_builddir) && pwd` \ -+ && cd $(top_srcdir) \ -+ && gtags -i $(GTAGS_ARGS) $$here -+ -+distclean-tags: -+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH -+ -+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -+ -+top_distdir = . -+# Avoid unsightly `./'. -+distdir = $(PACKAGE)-$(VERSION) -+ -+GZIP_ENV = --best -+ -+distdir: $(DISTFILES) -+ -chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir) -+ mkdir $(distdir) -+ @for file in $(DISTFILES); do \ -+ if test -f $$file; then d=.; else d=$(srcdir); fi; \ -+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ -+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ -+ $(mkinstalldirs) "$(distdir)/$$dir"; \ -+ fi; \ -+ if test -d $$d/$$file; then \ -+ cp -pR $$d/$$file $(distdir) \ -+ || exit 1; \ -+ else \ -+ test -f $(distdir)/$$file \ -+ || cp -p $$d/$$file $(distdir)/$$file \ -+ || exit 1; \ -+ fi; \ -+ done -+ for subdir in $(SUBDIRS); do \ -+ if test "$$subdir" = .; then :; else \ -+ test -d $(distdir)/$$subdir \ -+ || mkdir $(distdir)/$$subdir \ -+ || exit 1; \ -+ (cd $$subdir && \ -+ $(MAKE) $(AM_MAKEFLAGS) \ -+ top_distdir="$(top_distdir)" \ -+ distdir=../$(distdir)/$$subdir \ -+ distdir) \ -+ || exit 1; \ -+ fi; \ -+ done -+ -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ -+ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ -+ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ -+ ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ -+ || chmod -R a+r $(distdir) -+dist: distdir -+ $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz -+ -chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir) -+ -+# This target untars the dist file and tries a VPATH configuration. Then -+# it guarantees that the distribution is self-contained by making another -+# tarfile. -+distcheck: dist -+ -chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir) -+ GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - -+ chmod -R a-w $(distdir); chmod a+w $(distdir) -+ mkdir $(distdir)/=build -+ mkdir $(distdir)/=inst -+ chmod a-w $(distdir) -+ dc_install_base=`CDPATH=: && cd $(distdir)/=inst && pwd` \ -+ && cd $(distdir)/=build \ -+ && ../configure --srcdir=.. --prefix=$$dc_install_base \ -+ && $(MAKE) $(AM_MAKEFLAGS) \ -+ && $(MAKE) $(AM_MAKEFLAGS) dvi \ -+ && $(MAKE) $(AM_MAKEFLAGS) check \ -+ && $(MAKE) $(AM_MAKEFLAGS) install \ -+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ -+ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ -+ && (test `find $$dc_install_base -type f -print | wc -l` -le 1 \ -+ || (echo "Error: files left after uninstall" 1>&2; \ -+ exit 1) ) \ -+ && $(MAKE) $(AM_MAKEFLAGS) dist \ -+ && $(MAKE) $(AM_MAKEFLAGS) distclean \ -+ && rm -f $(distdir).tar.gz \ -+ && (test `find . -type f -print | wc -l` -eq 0 \ -+ || (echo "Error: files left after distclean" 1>&2; \ -+ exit 1) ) -+ -chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir) -+ @echo "$(distdir).tar.gz is ready for distribution" | \ -+ sed 'h;s/./=/g;p;x;p;x' -+check-am: all-am -+check: check-recursive -+all-am: Makefile config.h -+installdirs: installdirs-recursive -+installdirs-am: -+ -+install: install-recursive -+install-exec: install-exec-recursive -+install-data: install-data-recursive -+uninstall: uninstall-recursive -+ -+install-am: all-am -+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -+ -+installcheck: installcheck-recursive -+install-strip: -+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ -+ `test -z '$(STRIP)' || \ -+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -+mostlyclean-generic: -+ -+clean-generic: -+ -+distclean-generic: -+ -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* -+ -+maintainer-clean-generic: -+ @echo "This command is intended for maintainers to use" -+ @echo "it deletes files that may require special tools to rebuild." -+clean: clean-recursive -+ -+clean-am: clean-generic mostlyclean-am -+ -+dist-all: distdir -+ $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz -+ -chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir) -+distclean: distclean-recursive -+ -rm -f config.status config.cache config.log -+distclean-am: clean-am distclean-generic distclean-hdr distclean-tags -+ -+dvi: dvi-recursive -+ -+dvi-am: -+ -+info: info-recursive -+ -+info-am: -+ -+install-data-am: -+ @$(NORMAL_INSTALL) -+ $(MAKE) $(AM_MAKEFLAGS) install-data-hook -+ -+install-exec-am: -+ -+install-info: install-info-recursive -+ -+install-man: -+ -+installcheck-am: -+ -+maintainer-clean: maintainer-clean-recursive -+ -+maintainer-clean-am: distclean-am maintainer-clean-generic -+ -+mostlyclean: mostlyclean-recursive -+ -+mostlyclean-am: mostlyclean-generic -+ -+uninstall-am: uninstall-info-am -+ -+uninstall-info: uninstall-info-recursive -+ -+.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \ -+ clean-generic clean-recursive dist dist-all distcheck distclean \ -+ distclean-generic distclean-hdr distclean-recursive \ -+ distclean-tags distdir dvi dvi-am dvi-recursive info info-am \ -+ info-recursive install install-am install-data install-data-am \ -+ install-data-recursive install-exec install-exec-am \ -+ install-exec-recursive install-info install-info-am \ -+ install-info-recursive install-man install-recursive \ -+ install-strip installcheck installcheck-am installdirs \ -+ installdirs-am installdirs-recursive maintainer-clean \ -+ maintainer-clean-generic maintainer-clean-recursive mostlyclean \ -+ mostlyclean-generic mostlyclean-recursive tags tags-recursive \ -+ uninstall uninstall-am uninstall-info-am \ -+ uninstall-info-recursive uninstall-recursive -+ -+ -+install-data-hook: -+ prefix="$(prefix)" sysconfdir="$(sysconfdir)" \ -+ path_to_vi="$(path_to_vi)" path_to_sendmail="$(path_to_sendmail)" \ -+ ./install/install.sh -+# Tell versions [3.59,3.63) of GNU make to not export all variables. -+# Otherwise a system limit (for SysV at least) may be exceeded. -+.NOEXPORT: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/Release_Notes tripwire-2.3.1-2/Release_Notes ---- tripwire-2.3.1-2.old/Release_Notes Sat Mar 3 16:26:40 2001 -+++ tripwire-2.3.1-2/Release_Notes Sat Jun 7 18:59:55 2003 -@@ -1,5 +1,5 @@ - ------------------------------------------------------------------------------ -- Open Source Tripwire 2.3.1, build 2 for Linux Release Notes -+ Open Source Tripwire 2.3.1, build 2 Release Notes - March 3, 2001 - ------------------------------------------------------------------------------ - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/aclocal.m4 tripwire-2.3.1-2/aclocal.m4 ---- tripwire-2.3.1-2.old/aclocal.m4 Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/aclocal.m4 Mon Sep 22 09:40:52 2003 -@@ -0,0 +1,560 @@ -+# aclocal.m4 generated automatically by aclocal 1.5 -+ -+# Copyright 1996, 1997, 1998, 1999, 2000, 2001 -+# Free Software Foundation, Inc. -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -+# PARTICULAR PURPOSE. -+ -+# Do all the work for Automake. This macro actually does too much -- -+# some checks are only needed if your package does certain things. -+# But this isn't really a big deal. -+ -+# serial 5 -+ -+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be -+# written in clear, in which case automake, when reading aclocal.m4, -+# will think it sees a *use*, and therefore will trigger all it's -+# C support machinery. Also note that it means that autoscan, seeing -+# CC etc. in the Makefile, will ask for an AC_PROG_CC use... -+ -+ -+# We require 2.13 because we rely on SHELL being computed by configure. -+AC_PREREQ([2.13]) -+ -+# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) -+# ----------------------------------------------------------- -+# If MACRO-NAME is provided do IF-PROVIDED, else IF-NOT-PROVIDED. -+# The purpose of this macro is to provide the user with a means to -+# check macros which are provided without letting her know how the -+# information is coded. -+# If this macro is not defined by Autoconf, define it here. -+ifdef([AC_PROVIDE_IFELSE], -+ [], -+ [define([AC_PROVIDE_IFELSE], -+ [ifdef([AC_PROVIDE_$1], -+ [$2], [$3])])]) -+ -+ -+# AM_INIT_AUTOMAKE(PACKAGE,VERSION, [NO-DEFINE]) -+# ---------------------------------------------- -+AC_DEFUN([AM_INIT_AUTOMAKE], -+[AC_REQUIRE([AC_PROG_INSTALL])dnl -+# test to see if srcdir already configured -+if test "`CDPATH=:; cd $srcdir && pwd`" != "`pwd`" && -+ test -f $srcdir/config.status; then -+ AC_MSG_ERROR([source directory already configured; run \"make distclean\" there first]) -+fi -+ -+# Define the identity of the package. -+PACKAGE=$1 -+AC_SUBST(PACKAGE)dnl -+VERSION=$2 -+AC_SUBST(VERSION)dnl -+ifelse([$3],, -+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) -+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])]) -+ -+# Autoconf 2.50 wants to disallow AM_ names. We explicitly allow -+# the ones we care about. -+ifdef([m4_pattern_allow], -+ [m4_pattern_allow([^AM_[A-Z]+FLAGS])])dnl -+ -+# Autoconf 2.50 always computes EXEEXT. However we need to be -+# compatible with 2.13, for now. So we always define EXEEXT, but we -+# don't compute it. -+AC_SUBST(EXEEXT) -+# Similar for OBJEXT -- only we only use OBJEXT if the user actually -+# requests that it be used. This is a bit dumb. -+: ${OBJEXT=o} -+AC_SUBST(OBJEXT) -+ -+# Some tools Automake needs. -+AC_REQUIRE([AM_SANITY_CHECK])dnl -+AC_REQUIRE([AC_ARG_PROGRAM])dnl -+AM_MISSING_PROG(ACLOCAL, aclocal) -+AM_MISSING_PROG(AUTOCONF, autoconf) -+AM_MISSING_PROG(AUTOMAKE, automake) -+AM_MISSING_PROG(AUTOHEADER, autoheader) -+AM_MISSING_PROG(MAKEINFO, makeinfo) -+AM_MISSING_PROG(AMTAR, tar) -+AM_PROG_INSTALL_SH -+AM_PROG_INSTALL_STRIP -+# We need awk for the "check" target. The system "awk" is bad on -+# some platforms. -+AC_REQUIRE([AC_PROG_AWK])dnl -+AC_REQUIRE([AC_PROG_MAKE_SET])dnl -+AC_REQUIRE([AM_DEP_TRACK])dnl -+AC_REQUIRE([AM_SET_DEPDIR])dnl -+AC_PROVIDE_IFELSE([AC_PROG_][CC], -+ [_AM_DEPENDENCIES(CC)], -+ [define([AC_PROG_][CC], -+ defn([AC_PROG_][CC])[_AM_DEPENDENCIES(CC)])])dnl -+AC_PROVIDE_IFELSE([AC_PROG_][CXX], -+ [_AM_DEPENDENCIES(CXX)], -+ [define([AC_PROG_][CXX], -+ defn([AC_PROG_][CXX])[_AM_DEPENDENCIES(CXX)])])dnl -+]) -+ -+# -+# Check to make sure that the build environment is sane. -+# -+ -+# serial 3 -+ -+# AM_SANITY_CHECK -+# --------------- -+AC_DEFUN([AM_SANITY_CHECK], -+[AC_MSG_CHECKING([whether build environment is sane]) -+# Just in case -+sleep 1 -+echo timestamp > conftest.file -+# Do `set' in a subshell so we don't clobber the current shell's -+# arguments. Must try -L first in case configure is actually a -+# symlink; some systems play weird games with the mod time of symlinks -+# (eg FreeBSD returns the mod time of the symlink's containing -+# directory). -+if ( -+ set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` -+ if test "$[*]" = "X"; then -+ # -L didn't work. -+ set X `ls -t $srcdir/configure conftest.file` -+ fi -+ rm -f conftest.file -+ if test "$[*]" != "X $srcdir/configure conftest.file" \ -+ && test "$[*]" != "X conftest.file $srcdir/configure"; then -+ -+ # If neither matched, then we have a broken ls. This can happen -+ # if, for instance, CONFIG_SHELL is bash and it inherits a -+ # broken ls alias from the environment. This has actually -+ # happened. Such a system could not be considered "sane". -+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken -+alias in your environment]) -+ fi -+ -+ test "$[2]" = conftest.file -+ ) -+then -+ # Ok. -+ : -+else -+ AC_MSG_ERROR([newly created file is older than distributed files! -+Check your system clock]) -+fi -+AC_MSG_RESULT(yes)]) -+ -+ -+# serial 2 -+ -+# AM_MISSING_PROG(NAME, PROGRAM) -+# ------------------------------ -+AC_DEFUN([AM_MISSING_PROG], -+[AC_REQUIRE([AM_MISSING_HAS_RUN]) -+$1=${$1-"${am_missing_run}$2"} -+AC_SUBST($1)]) -+ -+ -+# AM_MISSING_HAS_RUN -+# ------------------ -+# Define MISSING if not defined so far and test if it supports --run. -+# If it does, set am_missing_run to use it, otherwise, to nothing. -+AC_DEFUN([AM_MISSING_HAS_RUN], -+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" -+# Use eval to expand $SHELL -+if eval "$MISSING --run true"; then -+ am_missing_run="$MISSING --run " -+else -+ am_missing_run= -+ am_backtick='`' -+ AC_MSG_WARN([${am_backtick}missing' script is too old or missing]) -+fi -+]) -+ -+# AM_AUX_DIR_EXPAND -+ -+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets -+# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to -+# `$srcdir', `$srcdir/..', or `$srcdir/../..'. -+# -+# Of course, Automake must honor this variable whenever it calls a -+# tool from the auxiliary directory. The problem is that $srcdir (and -+# therefore $ac_aux_dir as well) can be either absolute or relative, -+# depending on how configure is run. This is pretty annoying, since -+# it makes $ac_aux_dir quite unusable in subdirectories: in the top -+# source directory, any form will work fine, but in subdirectories a -+# relative path needs to be adjusted first. -+# -+# $ac_aux_dir/missing -+# fails when called from a subdirectory if $ac_aux_dir is relative -+# $top_srcdir/$ac_aux_dir/missing -+# fails if $ac_aux_dir is absolute, -+# fails when called from a subdirectory in a VPATH build with -+# a relative $ac_aux_dir -+# -+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir -+# are both prefixed by $srcdir. In an in-source build this is usually -+# harmless because $srcdir is `.', but things will broke when you -+# start a VPATH build or use an absolute $srcdir. -+# -+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, -+# iff we strip the leading $srcdir from $ac_aux_dir. That would be: -+# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` -+# and then we would define $MISSING as -+# MISSING="\${SHELL} $am_aux_dir/missing" -+# This will work as long as MISSING is not called from configure, because -+# unfortunately $(top_srcdir) has no meaning in configure. -+# However there are other variables, like CC, which are often used in -+# configure, and could therefore not use this "fixed" $ac_aux_dir. -+# -+# Another solution, used here, is to always expand $ac_aux_dir to an -+# absolute PATH. The drawback is that using absolute paths prevent a -+# configured tree to be moved without reconfiguration. -+ -+AC_DEFUN([AM_AUX_DIR_EXPAND], [ -+# expand $ac_aux_dir to an absolute path -+am_aux_dir=`CDPATH=:; cd $ac_aux_dir && pwd` -+]) -+ -+# AM_PROG_INSTALL_SH -+# ------------------ -+# Define $install_sh. -+AC_DEFUN([AM_PROG_INSTALL_SH], -+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -+install_sh=${install_sh-"$am_aux_dir/install-sh"} -+AC_SUBST(install_sh)]) -+ -+# One issue with vendor `install' (even GNU) is that you can't -+# specify the program used to strip binaries. This is especially -+# annoying in cross-compiling environments, where the build's strip -+# is unlikely to handle the host's binaries. -+# Fortunately install-sh will honor a STRIPPROG variable, so we -+# always use install-sh in `make install-strip', and initialize -+# STRIPPROG with the value of the STRIP variable (set by the user). -+AC_DEFUN([AM_PROG_INSTALL_STRIP], -+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -+INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" -+AC_SUBST([INSTALL_STRIP_PROGRAM])]) -+ -+# serial 4 -*- Autoconf -*- -+ -+ -+ -+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be -+# written in clear, in which case automake, when reading aclocal.m4, -+# will think it sees a *use*, and therefore will trigger all it's -+# C support machinery. Also note that it means that autoscan, seeing -+# CC etc. in the Makefile, will ask for an AC_PROG_CC use... -+ -+ -+ -+# _AM_DEPENDENCIES(NAME) -+# --------------------- -+# See how the compiler implements dependency checking. -+# NAME is "CC", "CXX" or "OBJC". -+# We try a few techniques and use that to set a single cache variable. -+# -+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was -+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular -+# dependency, and given that the user is not expected to run this macro, -+# just rely on AC_PROG_CC. -+AC_DEFUN([_AM_DEPENDENCIES], -+[AC_REQUIRE([AM_SET_DEPDIR])dnl -+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl -+AC_REQUIRE([AM_MAKE_INCLUDE])dnl -+AC_REQUIRE([AM_DEP_TRACK])dnl -+ -+ifelse([$1], CC, [depcc="$CC" am_compiler_list=], -+ [$1], CXX, [depcc="$CXX" am_compiler_list=], -+ [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'] -+ [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], -+ [depcc="$$1" am_compiler_list=]) -+ -+AC_CACHE_CHECK([dependency style of $depcc], -+ [am_cv_$1_dependencies_compiler_type], -+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then -+ # We make a subdir and do the tests there. Otherwise we can end up -+ # making bogus files that we don't know about and never remove. For -+ # instance it was reported that on HP-UX the gcc test will end up -+ # making a dummy file named `D' -- because `-MD' means `put the output -+ # in D'. -+ mkdir conftest.dir -+ # Copy depcomp to subdir because otherwise we won't find it if we're -+ # using a relative directory. -+ cp "$am_depcomp" conftest.dir -+ cd conftest.dir -+ -+ am_cv_$1_dependencies_compiler_type=none -+ if test "$am_compiler_list" = ""; then -+ am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` -+ fi -+ for depmode in $am_compiler_list; do -+ # We need to recreate these files for each test, as the compiler may -+ # overwrite some of them when testing with obscure command lines. -+ # This happens at least with the AIX C compiler. -+ echo '#include "conftest.h"' > conftest.c -+ echo 'int i;' > conftest.h -+ echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf -+ -+ case $depmode in -+ nosideeffect) -+ # after this tag, mechanisms are not by side-effect, so they'll -+ # only be used when explicitly requested -+ if test "x$enable_dependency_tracking" = xyes; then -+ continue -+ else -+ break -+ fi -+ ;; -+ none) break ;; -+ esac -+ # We check with `-c' and `-o' for the sake of the "dashmstdout" -+ # mode. It turns out that the SunPro C++ compiler does not properly -+ # handle `-M -o', and we need to detect this. -+ if depmode=$depmode \ -+ source=conftest.c object=conftest.o \ -+ depfile=conftest.Po tmpdepfile=conftest.TPo \ -+ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && -+ grep conftest.h conftest.Po > /dev/null 2>&1 && -+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then -+ am_cv_$1_dependencies_compiler_type=$depmode -+ break -+ fi -+ done -+ -+ cd .. -+ rm -rf conftest.dir -+else -+ am_cv_$1_dependencies_compiler_type=none -+fi -+]) -+$1DEPMODE="depmode=$am_cv_$1_dependencies_compiler_type" -+AC_SUBST([$1DEPMODE]) -+]) -+ -+ -+# AM_SET_DEPDIR -+# ------------- -+# Choose a directory name for dependency files. -+# This macro is AC_REQUIREd in _AM_DEPENDENCIES -+AC_DEFUN([AM_SET_DEPDIR], -+[rm -f .deps 2>/dev/null -+mkdir .deps 2>/dev/null -+if test -d .deps; then -+ DEPDIR=.deps -+else -+ # MS-DOS does not allow filenames that begin with a dot. -+ DEPDIR=_deps -+fi -+rmdir .deps 2>/dev/null -+AC_SUBST(DEPDIR) -+]) -+ -+ -+# AM_DEP_TRACK -+# ------------ -+AC_DEFUN([AM_DEP_TRACK], -+[AC_ARG_ENABLE(dependency-tracking, -+[ --disable-dependency-tracking Speeds up one-time builds -+ --enable-dependency-tracking Do not reject slow dependency extractors]) -+if test "x$enable_dependency_tracking" != xno; then -+ am_depcomp="$ac_aux_dir/depcomp" -+ AMDEPBACKSLASH='\' -+fi -+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) -+pushdef([subst], defn([AC_SUBST])) -+subst(AMDEPBACKSLASH) -+popdef([subst]) -+]) -+ -+# Generate code to set up dependency tracking. -+# This macro should only be invoked once -- use via AC_REQUIRE. -+# Usage: -+# AM_OUTPUT_DEPENDENCY_COMMANDS -+ -+# -+# This code is only required when automatic dependency tracking -+# is enabled. FIXME. This creates each `.P' file that we will -+# need in order to bootstrap the dependency handling code. -+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],[ -+AC_OUTPUT_COMMANDS([ -+test x"$AMDEP_TRUE" != x"" || -+for mf in $CONFIG_FILES; do -+ case "$mf" in -+ Makefile) dirpart=.;; -+ */Makefile) dirpart=`echo "$mf" | sed -e 's|/[^/]*$||'`;; -+ *) continue;; -+ esac -+ grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue -+ # Extract the definition of DEP_FILES from the Makefile without -+ # running `make'. -+ DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"` -+ test -z "$DEPDIR" && continue -+ # When using ansi2knr, U may be empty or an underscore; expand it -+ U=`sed -n -e '/^U = / s///p' < "$mf"` -+ test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" -+ # We invoke sed twice because it is the simplest approach to -+ # changing $(DEPDIR) to its actual value in the expansion. -+ for file in `sed -n -e ' -+ /^DEP_FILES = .*\\\\$/ { -+ s/^DEP_FILES = // -+ :loop -+ s/\\\\$// -+ p -+ n -+ /\\\\$/ b loop -+ p -+ } -+ /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ -+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do -+ # Make sure the directory exists. -+ test -f "$dirpart/$file" && continue -+ fdir=`echo "$file" | sed -e 's|/[^/]*$||'` -+ $ac_aux_dir/mkinstalldirs "$dirpart/$fdir" > /dev/null 2>&1 -+ # echo "creating $dirpart/$file" -+ echo '# dummy' > "$dirpart/$file" -+ done -+done -+], [AMDEP_TRUE="$AMDEP_TRUE" -+ac_aux_dir="$ac_aux_dir"])]) -+ -+# AM_MAKE_INCLUDE() -+# ----------------- -+# Check to see how make treats includes. -+AC_DEFUN([AM_MAKE_INCLUDE], -+[am_make=${MAKE-make} -+cat > confinc << 'END' -+doit: -+ @echo done -+END -+# If we don't find an include directive, just comment out the code. -+AC_MSG_CHECKING([for style of include used by $am_make]) -+am__include='#' -+am__quote= -+_am_result=none -+# First try GNU make style include. -+echo "include confinc" > confmf -+# We grep out `Entering directory' and `Leaving directory' -+# messages which can occur if `w' ends up in MAKEFLAGS. -+# In particular we don't look at `^make:' because GNU make might -+# be invoked under some other name (usually "gmake"), in which -+# case it prints its new name instead of `make'. -+if test "`$am_make -s -f confmf 2> /dev/null | fgrep -v 'ing directory'`" = "done"; then -+ am__include=include -+ am__quote= -+ _am_result=GNU -+fi -+# Now try BSD make style include. -+if test "$am__include" = "#"; then -+ echo '.include "confinc"' > confmf -+ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then -+ am__include=.include -+ am__quote='"' -+ _am_result=BSD -+ fi -+fi -+AC_SUBST(am__include) -+AC_SUBST(am__quote) -+AC_MSG_RESULT($_am_result) -+rm -f confinc confmf -+]) -+ -+# serial 3 -+ -+# AM_CONDITIONAL(NAME, SHELL-CONDITION) -+# ------------------------------------- -+# Define a conditional. -+# -+# FIXME: Once using 2.50, use this: -+# m4_match([$1], [^TRUE\|FALSE$], [AC_FATAL([$0: invalid condition: $1])])dnl -+AC_DEFUN([AM_CONDITIONAL], -+[ifelse([$1], [TRUE], -+ [errprint(__file__:__line__: [$0: invalid condition: $1 -+])dnl -+m4exit(1)])dnl -+ifelse([$1], [FALSE], -+ [errprint(__file__:__line__: [$0: invalid condition: $1 -+])dnl -+m4exit(1)])dnl -+AC_SUBST([$1_TRUE]) -+AC_SUBST([$1_FALSE]) -+if $2; then -+ $1_TRUE= -+ $1_FALSE='#' -+else -+ $1_TRUE='#' -+ $1_FALSE= -+fi]) -+ -+# Like AC_CONFIG_HEADER, but automatically create stamp file. -+ -+# serial 3 -+ -+# When config.status generates a header, we must update the stamp-h file. -+# This file resides in the same directory as the config header -+# that is generated. We must strip everything past the first ":", -+# and everything past the last "/". -+ -+AC_PREREQ([2.12]) -+ -+AC_DEFUN([AM_CONFIG_HEADER], -+[ifdef([AC_FOREACH],dnl -+ [dnl init our file count if it isn't already -+ m4_ifndef([_AM_Config_Header_Index], m4_define([_AM_Config_Header_Index], [0])) -+ dnl prepare to store our destination file list for use in config.status -+ AC_FOREACH([_AM_File], [$1], -+ [m4_pushdef([_AM_Dest], m4_patsubst(_AM_File, [:.*])) -+ m4_define([_AM_Config_Header_Index], m4_incr(_AM_Config_Header_Index)) -+ dnl and add it to the list of files AC keeps track of, along -+ dnl with our hook -+ AC_CONFIG_HEADERS(_AM_File, -+dnl COMMANDS, [, INIT-CMDS] -+[# update the timestamp -+echo timestamp >"AS_ESCAPE(_AM_DIRNAME(]_AM_Dest[))/stamp-h]_AM_Config_Header_Index[" -+][$2]m4_ifval([$3], [, [$3]]))dnl AC_CONFIG_HEADERS -+ m4_popdef([_AM_Dest])])],dnl -+[AC_CONFIG_HEADER([$1]) -+ AC_OUTPUT_COMMANDS( -+ ifelse(patsubst([$1], [[^ ]], []), -+ [], -+ [test -z "$CONFIG_HEADERS" || echo timestamp >dnl -+ patsubst([$1], [^\([^:]*/\)?.*], [\1])stamp-h]),dnl -+[am_indx=1 -+for am_file in $1; do -+ case " \$CONFIG_HEADERS " in -+ *" \$am_file "*) -+ am_dir=\`echo \$am_file |sed 's%:.*%%;s%[^/]*\$%%'\` -+ if test -n "\$am_dir"; then -+ am_tmpdir=\`echo \$am_dir |sed 's%^\(/*\).*\$%\1%'\` -+ for am_subdir in \`echo \$am_dir |sed 's%/% %'\`; do -+ am_tmpdir=\$am_tmpdir\$am_subdir/ -+ if test ! -d \$am_tmpdir; then -+ mkdir \$am_tmpdir -+ fi -+ done -+ fi -+ echo timestamp > "\$am_dir"stamp-h\$am_indx -+ ;; -+ esac -+ am_indx=\`expr \$am_indx + 1\` -+done]) -+])]) # AM_CONFIG_HEADER -+ -+# _AM_DIRNAME(PATH) -+# ----------------- -+# Like AS_DIRNAME, only do it during macro expansion -+AC_DEFUN([_AM_DIRNAME], -+ [m4_if(m4_regexp([$1], [^.*[^/]//*[^/][^/]*/*$]), -1, -+ m4_if(m4_regexp([$1], [^//\([^/]\|$\)]), -1, -+ m4_if(m4_regexp([$1], [^/.*]), -1, -+ [.], -+ m4_patsubst([$1], [^\(/\).*], [\1])), -+ m4_patsubst([$1], [^\(//\)\([^/].*\|$\)], [\1])), -+ m4_patsubst([$1], [^\(.*[^/]\)//*[^/][^/]*/*$], [\1]))[]dnl -+]) # _AM_DIRNAME -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/config.guess tripwire-2.3.1-2/config.guess ---- tripwire-2.3.1-2.old/config.guess Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/config.guess Wed Jul 3 11:00:05 2002 -@@ -0,0 +1,1298 @@ -+#! /bin/sh -+# Attempt to guess a canonical system name. -+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -+# Free Software Foundation, Inc. -+ -+timestamp='2001-07-12' -+ -+# This file is free software; you can redistribute it and/or modify it -+# under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, but -+# WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+# General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -+# -+# As a special exception to the GNU General Public License, if you -+# distribute this file as part of a program that contains a -+# configuration script generated by Autoconf, you may include it under -+# the same distribution terms that you use for the rest of that program. -+ -+# Written by Per Bothner . -+# Please send patches to . -+# -+# This script attempts to guess a canonical system name similar to -+# config.sub. If it succeeds, it prints the system name on stdout, and -+# exits with 0. Otherwise, it exits with 1. -+# -+# The plan is that this can be called by configure scripts if you -+# don't specify an explicit build system type. -+ -+me=`echo "$0" | sed -e 's,.*/,,'` -+ -+usage="\ -+Usage: $0 [OPTION] -+ -+Output the configuration name of the system \`$me' is run on. -+ -+Operation modes: -+ -h, --help print this help, then exit -+ -t, --time-stamp print date of last modification, then exit -+ -v, --version print version number, then exit -+ -+Report bugs and patches to ." -+ -+version="\ -+GNU config.guess ($timestamp) -+ -+Originally written by Per Bothner. -+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -+Free Software Foundation, Inc. -+ -+This is free software; see the source for copying conditions. There is NO -+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." -+ -+help=" -+Try \`$me --help' for more information." -+ -+# Parse command line -+while test $# -gt 0 ; do -+ case $1 in -+ --time-stamp | --time* | -t ) -+ echo "$timestamp" ; exit 0 ;; -+ --version | -v ) -+ echo "$version" ; exit 0 ;; -+ --help | --h* | -h ) -+ echo "$usage"; exit 0 ;; -+ -- ) # Stop option processing -+ shift; break ;; -+ - ) # Use stdin as input. -+ break ;; -+ -* ) -+ echo "$me: invalid option $1$help" >&2 -+ exit 1 ;; -+ * ) -+ break ;; -+ esac -+done -+ -+if test $# != 0; then -+ echo "$me: too many arguments$help" >&2 -+ exit 1 -+fi -+ -+ -+dummy=dummy-$$ -+trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15 -+ -+# CC_FOR_BUILD -- compiler used by this script. -+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -+# use `HOST_CC' if defined, but it is deprecated. -+ -+set_cc_for_build='case $CC_FOR_BUILD,$HOST_CC,$CC in -+ ,,) echo "int dummy(){}" > $dummy.c ; -+ for c in cc gcc c89 ; do -+ ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ; -+ if test $? = 0 ; then -+ CC_FOR_BUILD="$c"; break ; -+ fi ; -+ done ; -+ rm -f $dummy.c $dummy.o $dummy.rel ; -+ if test x"$CC_FOR_BUILD" = x ; then -+ CC_FOR_BUILD=no_compiler_found ; -+ fi -+ ;; -+ ,,*) CC_FOR_BUILD=$CC ;; -+ ,*,*) CC_FOR_BUILD=$HOST_CC ;; -+esac' -+ -+# This is needed to find uname on a Pyramid OSx when run in the BSD universe. -+# (ghazi@noc.rutgers.edu 1994-08-24) -+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then -+ PATH=$PATH:/.attbin ; export PATH -+fi -+ -+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown -+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -+UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown -+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown -+ -+# Note: order is significant - the case branches are not exclusive. -+ -+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in -+ *:NetBSD:*:*) -+ # Netbsd (nbsd) targets should (where applicable) match one or -+ # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, -+ # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently -+ # switched to ELF, *-*-netbsd* would select the old -+ # object file format. This provides both forward -+ # compatibility and a consistent mechanism for selecting the -+ # object file format. -+ # Determine the machine/vendor (is the vendor relevant). -+ case "${UNAME_MACHINE}" in -+ amiga) machine=m68k-unknown ;; -+ arm32) machine=arm-unknown ;; -+ atari*) machine=m68k-atari ;; -+ sun3*) machine=m68k-sun ;; -+ mac68k) machine=m68k-apple ;; -+ macppc) machine=powerpc-apple ;; -+ hp3[0-9][05]) machine=m68k-hp ;; -+ ibmrt|romp-ibm) machine=romp-ibm ;; -+ *) machine=${UNAME_MACHINE}-unknown ;; -+ esac -+ # The Operating System including object format, if it has switched -+ # to ELF recently, or will in the future. -+ case "${UNAME_MACHINE}" in -+ i386|sparc|amiga|arm*|hp300|mvme68k|vax|atari|luna68k|mac68k|news68k|next68k|pc532|sun3*|x68k) -+ eval $set_cc_for_build -+ if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ -+ | grep __ELF__ >/dev/null -+ then -+ # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). -+ # Return netbsd for either. FIX? -+ os=netbsd -+ else -+ os=netbsdelf -+ fi -+ ;; -+ *) -+ os=netbsd -+ ;; -+ esac -+ # The OS release -+ release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` -+ # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: -+ # contains redundant information, the shorter form: -+ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. -+ echo "${machine}-${os}${release}" -+ exit 0 ;; -+ alpha:OSF1:*:*) -+ if test $UNAME_RELEASE = "V4.0"; then -+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` -+ fi -+ # A Vn.n version is a released version. -+ # A Tn.n version is a released field test version. -+ # A Xn.n version is an unreleased experimental baselevel. -+ # 1.2 uses "1.2" for uname -r. -+ cat <$dummy.s -+ .data -+\$Lformat: -+ .byte 37,100,45,37,120,10,0 # "%d-%x\n" -+ -+ .text -+ .globl main -+ .align 4 -+ .ent main -+main: -+ .frame \$30,16,\$26,0 -+ ldgp \$29,0(\$27) -+ .prologue 1 -+ .long 0x47e03d80 # implver \$0 -+ lda \$2,-1 -+ .long 0x47e20c21 # amask \$2,\$1 -+ lda \$16,\$Lformat -+ mov \$0,\$17 -+ not \$1,\$18 -+ jsr \$26,printf -+ ldgp \$29,0(\$26) -+ mov 0,\$16 -+ jsr \$26,exit -+ .end main -+EOF -+ eval $set_cc_for_build -+ $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null -+ if test "$?" = 0 ; then -+ case `./$dummy` in -+ 0-0) -+ UNAME_MACHINE="alpha" -+ ;; -+ 1-0) -+ UNAME_MACHINE="alphaev5" -+ ;; -+ 1-1) -+ UNAME_MACHINE="alphaev56" -+ ;; -+ 1-101) -+ UNAME_MACHINE="alphapca56" -+ ;; -+ 2-303) -+ UNAME_MACHINE="alphaev6" -+ ;; -+ 2-307) -+ UNAME_MACHINE="alphaev67" -+ ;; -+ esac -+ fi -+ rm -f $dummy.s $dummy -+ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` -+ exit 0 ;; -+ Alpha\ *:Windows_NT*:*) -+ # How do we know it's Interix rather than the generic POSIX subsystem? -+ # Should we change UNAME_MACHINE based on the output of uname instead -+ # of the specific Alpha model? -+ echo alpha-pc-interix -+ exit 0 ;; -+ 21064:Windows_NT:50:3) -+ echo alpha-dec-winnt3.5 -+ exit 0 ;; -+ Amiga*:UNIX_System_V:4.0:*) -+ echo m68k-unknown-sysv4 -+ exit 0;; -+ amiga:OpenBSD:*:*) -+ echo m68k-unknown-openbsd${UNAME_RELEASE} -+ exit 0 ;; -+ *:[Aa]miga[Oo][Ss]:*:*) -+ echo ${UNAME_MACHINE}-unknown-amigaos -+ exit 0 ;; -+ arc64:OpenBSD:*:*) -+ echo mips64el-unknown-openbsd${UNAME_RELEASE} -+ exit 0 ;; -+ arc:OpenBSD:*:*) -+ echo mipsel-unknown-openbsd${UNAME_RELEASE} -+ exit 0 ;; -+ hkmips:OpenBSD:*:*) -+ echo mips-unknown-openbsd${UNAME_RELEASE} -+ exit 0 ;; -+ pmax:OpenBSD:*:*) -+ echo mipsel-unknown-openbsd${UNAME_RELEASE} -+ exit 0 ;; -+ sgi:OpenBSD:*:*) -+ echo mips-unknown-openbsd${UNAME_RELEASE} -+ exit 0 ;; -+ wgrisc:OpenBSD:*:*) -+ echo mipsel-unknown-openbsd${UNAME_RELEASE} -+ exit 0 ;; -+ *:OS/390:*:*) -+ echo i370-ibm-openedition -+ exit 0 ;; -+ arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) -+ echo arm-acorn-riscix${UNAME_RELEASE} -+ exit 0;; -+ SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) -+ echo hppa1.1-hitachi-hiuxmpp -+ exit 0;; -+ Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) -+ # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. -+ if test "`(/bin/universe) 2>/dev/null`" = att ; then -+ echo pyramid-pyramid-sysv3 -+ else -+ echo pyramid-pyramid-bsd -+ fi -+ exit 0 ;; -+ NILE*:*:*:dcosx) -+ echo pyramid-pyramid-svr4 -+ exit 0 ;; -+ sun4H:SunOS:5.*:*) -+ echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` -+ exit 0 ;; -+ sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) -+ echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` -+ exit 0 ;; -+ i86pc:SunOS:5.*:*) -+ echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` -+ exit 0 ;; -+ sun4*:SunOS:6*:*) -+ # According to config.sub, this is the proper way to canonicalize -+ # SunOS6. Hard to guess exactly what SunOS6 will be like, but -+ # it's likely to be more like Solaris than SunOS4. -+ echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` -+ exit 0 ;; -+ sun4*:SunOS:*:*) -+ case "`/usr/bin/arch -k`" in -+ Series*|S4*) -+ UNAME_RELEASE=`uname -v` -+ ;; -+ esac -+ # Japanese Language versions have a version number like `4.1.3-JL'. -+ echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` -+ exit 0 ;; -+ sun3*:SunOS:*:*) -+ echo m68k-sun-sunos${UNAME_RELEASE} -+ exit 0 ;; -+ sun*:*:4.2BSD:*) -+ UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` -+ test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 -+ case "`/bin/arch`" in -+ sun3) -+ echo m68k-sun-sunos${UNAME_RELEASE} -+ ;; -+ sun4) -+ echo sparc-sun-sunos${UNAME_RELEASE} -+ ;; -+ esac -+ exit 0 ;; -+ aushp:SunOS:*:*) -+ echo sparc-auspex-sunos${UNAME_RELEASE} -+ exit 0 ;; -+ atari*:OpenBSD:*:*) -+ echo m68k-unknown-openbsd${UNAME_RELEASE} -+ exit 0 ;; -+ # The situation for MiNT is a little confusing. The machine name -+ # can be virtually everything (everything which is not -+ # "atarist" or "atariste" at least should have a processor -+ # > m68000). The system name ranges from "MiNT" over "FreeMiNT" -+ # to the lowercase version "mint" (or "freemint"). Finally -+ # the system name "TOS" denotes a system which is actually not -+ # MiNT. But MiNT is downward compatible to TOS, so this should -+ # be no problem. -+ atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) -+ echo m68k-atari-mint${UNAME_RELEASE} -+ exit 0 ;; -+ atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) -+ echo m68k-atari-mint${UNAME_RELEASE} -+ exit 0 ;; -+ *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) -+ echo m68k-atari-mint${UNAME_RELEASE} -+ exit 0 ;; -+ milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) -+ echo m68k-milan-mint${UNAME_RELEASE} -+ exit 0 ;; -+ hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) -+ echo m68k-hades-mint${UNAME_RELEASE} -+ exit 0 ;; -+ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) -+ echo m68k-unknown-mint${UNAME_RELEASE} -+ exit 0 ;; -+ sun3*:OpenBSD:*:*) -+ echo m68k-unknown-openbsd${UNAME_RELEASE} -+ exit 0 ;; -+ mac68k:OpenBSD:*:*) -+ echo m68k-unknown-openbsd${UNAME_RELEASE} -+ exit 0 ;; -+ mvme68k:OpenBSD:*:*) -+ echo m68k-unknown-openbsd${UNAME_RELEASE} -+ exit 0 ;; -+ mvme88k:OpenBSD:*:*) -+ echo m88k-unknown-openbsd${UNAME_RELEASE} -+ exit 0 ;; -+ powerpc:machten:*:*) -+ echo powerpc-apple-machten${UNAME_RELEASE} -+ exit 0 ;; -+ RISC*:Mach:*:*) -+ echo mips-dec-mach_bsd4.3 -+ exit 0 ;; -+ RISC*:ULTRIX:*:*) -+ echo mips-dec-ultrix${UNAME_RELEASE} -+ exit 0 ;; -+ VAX*:ULTRIX*:*:*) -+ echo vax-dec-ultrix${UNAME_RELEASE} -+ exit 0 ;; -+ 2020:CLIX:*:* | 2430:CLIX:*:*) -+ echo clipper-intergraph-clix${UNAME_RELEASE} -+ exit 0 ;; -+ mips:*:*:UMIPS | mips:*:*:RISCos) -+ sed 's/^ //' << EOF >$dummy.c -+#ifdef __cplusplus -+#include /* for printf() prototype */ -+ int main (int argc, char *argv[]) { -+#else -+ int main (argc, argv) int argc; char *argv[]; { -+#endif -+ #if defined (host_mips) && defined (MIPSEB) -+ #if defined (SYSTYPE_SYSV) -+ printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); -+ #endif -+ #if defined (SYSTYPE_SVR4) -+ printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); -+ #endif -+ #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) -+ printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); -+ #endif -+ #endif -+ exit (-1); -+ } -+EOF -+ eval $set_cc_for_build -+ $CC_FOR_BUILD $dummy.c -o $dummy \ -+ && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ -+ && rm -f $dummy.c $dummy && exit 0 -+ rm -f $dummy.c $dummy -+ echo mips-mips-riscos${UNAME_RELEASE} -+ exit 0 ;; -+ Motorola:PowerMAX_OS:*:*) -+ echo powerpc-motorola-powermax -+ exit 0 ;; -+ Night_Hawk:Power_UNIX:*:*) -+ echo powerpc-harris-powerunix -+ exit 0 ;; -+ m88k:CX/UX:7*:*) -+ echo m88k-harris-cxux7 -+ exit 0 ;; -+ m88k:*:4*:R4*) -+ echo m88k-motorola-sysv4 -+ exit 0 ;; -+ m88k:*:3*:R3*) -+ echo m88k-motorola-sysv3 -+ exit 0 ;; -+ AViiON:dgux:*:*) -+ # DG/UX returns AViiON for all architectures -+ UNAME_PROCESSOR=`/usr/bin/uname -p` -+ if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] -+ then -+ if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ -+ [ ${TARGET_BINARY_INTERFACE}x = x ] -+ then -+ echo m88k-dg-dgux${UNAME_RELEASE} -+ else -+ echo m88k-dg-dguxbcs${UNAME_RELEASE} -+ fi -+ else -+ echo i586-dg-dgux${UNAME_RELEASE} -+ fi -+ exit 0 ;; -+ M88*:DolphinOS:*:*) # DolphinOS (SVR3) -+ echo m88k-dolphin-sysv3 -+ exit 0 ;; -+ M88*:*:R3*:*) -+ # Delta 88k system running SVR3 -+ echo m88k-motorola-sysv3 -+ exit 0 ;; -+ XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) -+ echo m88k-tektronix-sysv3 -+ exit 0 ;; -+ Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) -+ echo m68k-tektronix-bsd -+ exit 0 ;; -+ *:IRIX*:*:*) -+ echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` -+ exit 0 ;; -+ ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. -+ echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id -+ exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' -+ i*86:AIX:*:*) -+ echo i386-ibm-aix -+ exit 0 ;; -+ ia64:AIX:*:*) -+ if [ -x /usr/bin/oslevel ] ; then -+ IBM_REV=`/usr/bin/oslevel` -+ else -+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} -+ fi -+ echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} -+ exit 0 ;; -+ *:AIX:2:3) -+ if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then -+ sed 's/^ //' << EOF >$dummy.c -+ #include -+ -+ main() -+ { -+ if (!__power_pc()) -+ exit(1); -+ puts("powerpc-ibm-aix3.2.5"); -+ exit(0); -+ } -+EOF -+ eval $set_cc_for_build -+ $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0 -+ rm -f $dummy.c $dummy -+ echo rs6000-ibm-aix3.2.5 -+ elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then -+ echo rs6000-ibm-aix3.2.4 -+ else -+ echo rs6000-ibm-aix3.2 -+ fi -+ exit 0 ;; -+ *:AIX:*:[45]) -+ IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'` -+ if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then -+ IBM_ARCH=rs6000 -+ else -+ IBM_ARCH=powerpc -+ fi -+ if [ -x /usr/bin/oslevel ] ; then -+ IBM_REV=`/usr/bin/oslevel` -+ else -+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} -+ fi -+ echo ${IBM_ARCH}-ibm-aix${IBM_REV} -+ exit 0 ;; -+ *:AIX:*:*) -+ echo rs6000-ibm-aix -+ exit 0 ;; -+ ibmrt:4.4BSD:*|romp-ibm:BSD:*) -+ echo romp-ibm-bsd4.4 -+ exit 0 ;; -+ ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and -+ echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to -+ exit 0 ;; # report: romp-ibm BSD 4.3 -+ *:BOSX:*:*) -+ echo rs6000-bull-bosx -+ exit 0 ;; -+ DPX/2?00:B.O.S.:*:*) -+ echo m68k-bull-sysv3 -+ exit 0 ;; -+ 9000/[34]??:4.3bsd:1.*:*) -+ echo m68k-hp-bsd -+ exit 0 ;; -+ hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) -+ echo m68k-hp-bsd4.4 -+ exit 0 ;; -+ 9000/[34678]??:HP-UX:*:*) -+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` -+ case "${UNAME_MACHINE}" in -+ 9000/31? ) HP_ARCH=m68000 ;; -+ 9000/[34]?? ) HP_ARCH=m68k ;; -+ 9000/[678][0-9][0-9]) -+ case "${HPUX_REV}" in -+ 11.[0-9][0-9]) -+ if [ -x /usr/bin/getconf ]; then -+ sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` -+ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` -+ case "${sc_cpu_version}" in -+ 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 -+ 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 -+ 532) # CPU_PA_RISC2_0 -+ case "${sc_kernel_bits}" in -+ 32) HP_ARCH="hppa2.0n" ;; -+ 64) HP_ARCH="hppa2.0w" ;; -+ esac ;; -+ esac -+ fi ;; -+ esac -+ if [ "${HP_ARCH}" = "" ]; then -+ sed 's/^ //' << EOF >$dummy.c -+ -+ #define _HPUX_SOURCE -+ #include -+ #include -+ -+ int main () -+ { -+ #if defined(_SC_KERNEL_BITS) -+ long bits = sysconf(_SC_KERNEL_BITS); -+ #endif -+ long cpu = sysconf (_SC_CPU_VERSION); -+ -+ switch (cpu) -+ { -+ case CPU_PA_RISC1_0: puts ("hppa1.0"); break; -+ case CPU_PA_RISC1_1: puts ("hppa1.1"); break; -+ case CPU_PA_RISC2_0: -+ #if defined(_SC_KERNEL_BITS) -+ switch (bits) -+ { -+ case 64: puts ("hppa2.0w"); break; -+ case 32: puts ("hppa2.0n"); break; -+ default: puts ("hppa2.0"); break; -+ } break; -+ #else /* !defined(_SC_KERNEL_BITS) */ -+ puts ("hppa2.0"); break; -+ #endif -+ default: puts ("hppa1.0"); break; -+ } -+ exit (0); -+ } -+EOF -+ eval $set_cc_for_build -+ (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy` -+ if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi -+ rm -f $dummy.c $dummy -+ fi ;; -+ esac -+ echo ${HP_ARCH}-hp-hpux${HPUX_REV} -+ exit 0 ;; -+ ia64:HP-UX:*:*) -+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` -+ echo ia64-hp-hpux${HPUX_REV} -+ exit 0 ;; -+ 3050*:HI-UX:*:*) -+ sed 's/^ //' << EOF >$dummy.c -+ #include -+ int -+ main () -+ { -+ long cpu = sysconf (_SC_CPU_VERSION); -+ /* The order matters, because CPU_IS_HP_MC68K erroneously returns -+ true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct -+ results, however. */ -+ if (CPU_IS_PA_RISC (cpu)) -+ { -+ switch (cpu) -+ { -+ case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; -+ case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; -+ case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; -+ default: puts ("hppa-hitachi-hiuxwe2"); break; -+ } -+ } -+ else if (CPU_IS_HP_MC68K (cpu)) -+ puts ("m68k-hitachi-hiuxwe2"); -+ else puts ("unknown-hitachi-hiuxwe2"); -+ exit (0); -+ } -+EOF -+ eval $set_cc_for_build -+ $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0 -+ rm -f $dummy.c $dummy -+ echo unknown-hitachi-hiuxwe2 -+ exit 0 ;; -+ 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) -+ echo hppa1.1-hp-bsd -+ exit 0 ;; -+ 9000/8??:4.3bsd:*:*) -+ echo hppa1.0-hp-bsd -+ exit 0 ;; -+ *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) -+ echo hppa1.0-hp-mpeix -+ exit 0 ;; -+ hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) -+ echo hppa1.1-hp-osf -+ exit 0 ;; -+ hp8??:OSF1:*:*) -+ echo hppa1.0-hp-osf -+ exit 0 ;; -+ i*86:OSF1:*:*) -+ if [ -x /usr/sbin/sysversion ] ; then -+ echo ${UNAME_MACHINE}-unknown-osf1mk -+ else -+ echo ${UNAME_MACHINE}-unknown-osf1 -+ fi -+ exit 0 ;; -+ parisc*:Lites*:*:*) -+ echo hppa1.1-hp-lites -+ exit 0 ;; -+ hppa*:OpenBSD:*:*) -+ echo hppa-unknown-openbsd -+ exit 0 ;; -+ C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) -+ echo c1-convex-bsd -+ exit 0 ;; -+ C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) -+ if getsysinfo -f scalar_acc -+ then echo c32-convex-bsd -+ else echo c2-convex-bsd -+ fi -+ exit 0 ;; -+ C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) -+ echo c34-convex-bsd -+ exit 0 ;; -+ C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) -+ echo c38-convex-bsd -+ exit 0 ;; -+ C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) -+ echo c4-convex-bsd -+ exit 0 ;; -+ CRAY*X-MP:*:*:*) -+ echo xmp-cray-unicos -+ exit 0 ;; -+ CRAY*Y-MP:*:*:*) -+ echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' -+ exit 0 ;; -+ CRAY*[A-Z]90:*:*:*) -+ echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ -+ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -+ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -+ -e 's/\.[^.]*$/.X/' -+ exit 0 ;; -+ CRAY*TS:*:*:*) -+ echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' -+ exit 0 ;; -+ CRAY*T3D:*:*:*) -+ echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' -+ exit 0 ;; -+ CRAY*T3E:*:*:*) -+ echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' -+ exit 0 ;; -+ CRAY*SV1:*:*:*) -+ echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' -+ exit 0 ;; -+ CRAY-2:*:*:*) -+ echo cray2-cray-unicos -+ exit 0 ;; -+ F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) -+ FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` -+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` -+ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` -+ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" -+ exit 0 ;; -+ hp300:OpenBSD:*:*) -+ echo m68k-unknown-openbsd${UNAME_RELEASE} -+ exit 0 ;; -+ i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) -+ echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} -+ exit 0 ;; -+ sparc*:BSD/OS:*:*) -+ echo sparc-unknown-bsdi${UNAME_RELEASE} -+ exit 0 ;; -+ *:BSD/OS:*:*) -+ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} -+ exit 0 ;; -+ *:FreeBSD:*:*) -+ echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` -+ exit 0 ;; -+ *:OpenBSD:*:*) -+ echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` -+ exit 0 ;; -+ i*:CYGWIN*:*) -+ echo ${UNAME_MACHINE}-pc-cygwin -+ exit 0 ;; -+ i*:MINGW*:*) -+ echo ${UNAME_MACHINE}-pc-mingw32 -+ exit 0 ;; -+ i*:PW*:*) -+ echo ${UNAME_MACHINE}-pc-pw32 -+ exit 0 ;; -+ i*:Windows_NT*:* | Pentium*:Windows_NT*:*) -+ # How do we know it's Interix rather than the generic POSIX subsystem? -+ # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we -+ # UNAME_MACHINE based on the output of uname instead of i386? -+ echo i386-pc-interix -+ exit 0 ;; -+ i*:UWIN*:*) -+ echo ${UNAME_MACHINE}-pc-uwin -+ exit 0 ;; -+ p*:CYGWIN*:*) -+ echo powerpcle-unknown-cygwin -+ exit 0 ;; -+ prep*:SunOS:5.*:*) -+ echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` -+ exit 0 ;; -+ *:GNU:*:*) -+ echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` -+ exit 0 ;; -+ i*86:Minix:*:*) -+ echo ${UNAME_MACHINE}-pc-minix -+ exit 0 ;; -+ arm*:Linux:*:*) -+ echo ${UNAME_MACHINE}-unknown-linux-gnu -+ exit 0 ;; -+ ia64:Linux:*:*) -+ echo ${UNAME_MACHINE}-unknown-linux -+ exit 0 ;; -+ m68*:Linux:*:*) -+ echo ${UNAME_MACHINE}-unknown-linux-gnu -+ exit 0 ;; -+ mips:Linux:*:*) -+ case `sed -n '/^byte/s/^.*: \(.*\) endian/\1/p' < /proc/cpuinfo` in -+ big) echo mips-unknown-linux-gnu && exit 0 ;; -+ little) echo mipsel-unknown-linux-gnu && exit 0 ;; -+ esac -+ ;; -+ ppc:Linux:*:*) -+ echo powerpc-unknown-linux-gnu -+ exit 0 ;; -+ alpha:Linux:*:*) -+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in -+ EV5) UNAME_MACHINE=alphaev5 ;; -+ EV56) UNAME_MACHINE=alphaev56 ;; -+ PCA56) UNAME_MACHINE=alphapca56 ;; -+ PCA57) UNAME_MACHINE=alphapca56 ;; -+ EV6) UNAME_MACHINE=alphaev6 ;; -+ EV67) UNAME_MACHINE=alphaev67 ;; -+ EV68*) UNAME_MACHINE=alphaev67 ;; -+ esac -+ objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null -+ if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi -+ echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} -+ exit 0 ;; -+ parisc:Linux:*:* | hppa:Linux:*:*) -+ # Look for CPU level -+ case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in -+ PA7*) echo hppa1.1-unknown-linux-gnu ;; -+ PA8*) echo hppa2.0-unknown-linux-gnu ;; -+ *) echo hppa-unknown-linux-gnu ;; -+ esac -+ exit 0 ;; -+ parisc64:Linux:*:* | hppa64:Linux:*:*) -+ echo hppa64-unknown-linux-gnu -+ exit 0 ;; -+ s390:Linux:*:* | s390x:Linux:*:*) -+ echo ${UNAME_MACHINE}-ibm-linux -+ exit 0 ;; -+ sh*:Linux:*:*) -+ echo ${UNAME_MACHINE}-unknown-linux-gnu -+ exit 0 ;; -+ sparc:Linux:*:* | sparc64:Linux:*:*) -+ echo ${UNAME_MACHINE}-unknown-linux-gnu -+ exit 0 ;; -+ x86_64:Linux:*:*) -+ echo x86_64-unknown-linux-gnu -+ exit 0 ;; -+ i*86:Linux:*:*) -+ # The BFD linker knows what the default object file format is, so -+ # first see if it will tell us. cd to the root directory to prevent -+ # problems with other programs or directories called `ld' in the path. -+ ld_supported_targets=`cd /; ld --help 2>&1 \ -+ | sed -ne '/supported targets:/!d -+ s/[ ][ ]*/ /g -+ s/.*supported targets: *// -+ s/ .*// -+ p'` -+ case "$ld_supported_targets" in -+ elf32-i386) -+ TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" -+ ;; -+ a.out-i386-linux) -+ echo "${UNAME_MACHINE}-pc-linux-gnuaout" -+ exit 0 ;; -+ coff-i386) -+ echo "${UNAME_MACHINE}-pc-linux-gnucoff" -+ exit 0 ;; -+ "") -+ # Either a pre-BFD a.out linker (linux-gnuoldld) or -+ # one that does not give us useful --help. -+ echo "${UNAME_MACHINE}-pc-linux-gnuoldld" -+ exit 0 ;; -+ esac -+ # Determine whether the default compiler is a.out or elf -+ cat >$dummy.c < -+#ifdef __cplusplus -+#include /* for printf() prototype */ -+ int main (int argc, char *argv[]) { -+#else -+ int main (argc, argv) int argc; char *argv[]; { -+#endif -+#ifdef __ELF__ -+# ifdef __GLIBC__ -+# if __GLIBC__ >= 2 -+ printf ("%s-pc-linux-gnu\n", argv[1]); -+# else -+ printf ("%s-pc-linux-gnulibc1\n", argv[1]); -+# endif -+# else -+ printf ("%s-pc-linux-gnulibc1\n", argv[1]); -+# endif -+#else -+ printf ("%s-pc-linux-gnuaout\n", argv[1]); -+#endif -+ return 0; -+} -+EOF -+ eval $set_cc_for_build -+ $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0 -+ rm -f $dummy.c $dummy -+ test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 -+ ;; -+ i*86:DYNIX/ptx:4*:*) -+ # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. -+ # earlier versions are messed up and put the nodename in both -+ # sysname and nodename. -+ echo i386-sequent-sysv4 -+ exit 0 ;; -+ i*86:UNIX_SV:4.2MP:2.*) -+ # Unixware is an offshoot of SVR4, but it has its own version -+ # number series starting with 2... -+ # I am not positive that other SVR4 systems won't match this, -+ # I just have to hope. -- rms. -+ # Use sysv4.2uw... so that sysv4* matches it. -+ echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} -+ exit 0 ;; -+ i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) -+ UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` -+ if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then -+ echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} -+ else -+ echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} -+ fi -+ exit 0 ;; -+ i*86:*:5:[78]*) -+ case `/bin/uname -X | grep "^Machine"` in -+ *486*) UNAME_MACHINE=i486 ;; -+ *Pentium) UNAME_MACHINE=i586 ;; -+ *Pent*|*Celeron) UNAME_MACHINE=i686 ;; -+ esac -+ echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} -+ exit 0 ;; -+ i*86:*:3.2:*) -+ if test -f /usr/options/cb.name; then -+ UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then -+ UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')` -+ (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486 -+ (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \ -+ && UNAME_MACHINE=i586 -+ (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \ -+ && UNAME_MACHINE=i686 -+ (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \ -+ && UNAME_MACHINE=i686 -+ echo ${UNAME_MACHINE}-pc-sco$UNAME_REL -+ else -+ echo ${UNAME_MACHINE}-pc-sysv32 -+ fi -+ exit 0 ;; -+ i*86:*DOS:*:*) -+ echo ${UNAME_MACHINE}-pc-msdosdjgpp -+ exit 0 ;; -+ pc:*:*:*) -+ # Left here for compatibility: -+ # uname -m prints for DJGPP always 'pc', but it prints nothing about -+ # the processor, so we play safe by assuming i386. -+ echo i386-pc-msdosdjgpp -+ exit 0 ;; -+ Intel:Mach:3*:*) -+ echo i386-pc-mach3 -+ exit 0 ;; -+ paragon:*:*:*) -+ echo i860-intel-osf1 -+ exit 0 ;; -+ i860:*:4.*:*) # i860-SVR4 -+ if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then -+ echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 -+ else # Add other i860-SVR4 vendors below as they are discovered. -+ echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 -+ fi -+ exit 0 ;; -+ mini*:CTIX:SYS*5:*) -+ # "miniframe" -+ echo m68010-convergent-sysv -+ exit 0 ;; -+ M68*:*:R3V[567]*:*) -+ test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; -+ 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0) -+ OS_REL='' -+ test -r /etc/.relid \ -+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` -+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ -+ && echo i486-ncr-sysv4.3${OS_REL} && exit 0 -+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ -+ && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; -+ 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) -+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ -+ && echo i486-ncr-sysv4 && exit 0 ;; -+ m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) -+ echo m68k-unknown-lynxos${UNAME_RELEASE} -+ exit 0 ;; -+ mc68030:UNIX_System_V:4.*:*) -+ echo m68k-atari-sysv4 -+ exit 0 ;; -+ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) -+ echo i386-unknown-lynxos${UNAME_RELEASE} -+ exit 0 ;; -+ TSUNAMI:LynxOS:2.*:*) -+ echo sparc-unknown-lynxos${UNAME_RELEASE} -+ exit 0 ;; -+ rs6000:LynxOS:2.*:*) -+ echo rs6000-unknown-lynxos${UNAME_RELEASE} -+ exit 0 ;; -+ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) -+ echo powerpc-unknown-lynxos${UNAME_RELEASE} -+ exit 0 ;; -+ SM[BE]S:UNIX_SV:*:*) -+ echo mips-dde-sysv${UNAME_RELEASE} -+ exit 0 ;; -+ RM*:ReliantUNIX-*:*:*) -+ echo mips-sni-sysv4 -+ exit 0 ;; -+ RM*:SINIX-*:*:*) -+ echo mips-sni-sysv4 -+ exit 0 ;; -+ *:SINIX-*:*:*) -+ if uname -p 2>/dev/null >/dev/null ; then -+ UNAME_MACHINE=`(uname -p) 2>/dev/null` -+ echo ${UNAME_MACHINE}-sni-sysv4 -+ else -+ echo ns32k-sni-sysv -+ fi -+ exit 0 ;; -+ PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort -+ # says -+ echo i586-unisys-sysv4 -+ exit 0 ;; -+ *:UNIX_System_V:4*:FTX*) -+ # From Gerald Hewes . -+ # How about differentiating between stratus architectures? -djm -+ echo hppa1.1-stratus-sysv4 -+ exit 0 ;; -+ *:*:*:FTX*) -+ # From seanf@swdc.stratus.com. -+ echo i860-stratus-sysv4 -+ exit 0 ;; -+ mc68*:A/UX:*:*) -+ echo m68k-apple-aux${UNAME_RELEASE} -+ exit 0 ;; -+ news*:NEWS-OS:6*:*) -+ echo mips-sony-newsos6 -+ exit 0 ;; -+ R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) -+ if [ -d /usr/nec ]; then -+ echo mips-nec-sysv${UNAME_RELEASE} -+ else -+ echo mips-unknown-sysv${UNAME_RELEASE} -+ fi -+ exit 0 ;; -+ BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. -+ echo powerpc-be-beos -+ exit 0 ;; -+ BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. -+ echo powerpc-apple-beos -+ exit 0 ;; -+ BePC:BeOS:*:*) # BeOS running on Intel PC compatible. -+ echo i586-pc-beos -+ exit 0 ;; -+ SX-4:SUPER-UX:*:*) -+ echo sx4-nec-superux${UNAME_RELEASE} -+ exit 0 ;; -+ SX-5:SUPER-UX:*:*) -+ echo sx5-nec-superux${UNAME_RELEASE} -+ exit 0 ;; -+ Power*:Rhapsody:*:*) -+ echo powerpc-apple-rhapsody${UNAME_RELEASE} -+ exit 0 ;; -+ *:Rhapsody:*:*) -+ echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} -+ exit 0 ;; -+ *:Darwin:*:*) -+ echo `uname -p`-apple-darwin${UNAME_RELEASE} -+ exit 0 ;; -+ *:procnto*:*:* | *:QNX:[0123456789]*:*) -+ if test "${UNAME_MACHINE}" = "x86pc"; then -+ UNAME_MACHINE=pc -+ fi -+ echo `uname -p`-${UNAME_MACHINE}-nto-qnx -+ exit 0 ;; -+ *:QNX:*:4*) -+ echo i386-pc-qnx -+ exit 0 ;; -+ NSR-[KW]:NONSTOP_KERNEL:*:*) -+ echo nsr-tandem-nsk${UNAME_RELEASE} -+ exit 0 ;; -+ *:NonStop-UX:*:*) -+ echo mips-compaq-nonstopux -+ exit 0 ;; -+ BS2000:POSIX*:*:*) -+ echo bs2000-siemens-sysv -+ exit 0 ;; -+ DS/*:UNIX_System_V:*:*) -+ echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} -+ exit 0 ;; -+ *:Plan9:*:*) -+ # "uname -m" is not consistent, so use $cputype instead. 386 -+ # is converted to i386 for consistency with other x86 -+ # operating systems. -+ if test "$cputype" = "386"; then -+ UNAME_MACHINE=i386 -+ else -+ UNAME_MACHINE="$cputype" -+ fi -+ echo ${UNAME_MACHINE}-unknown-plan9 -+ exit 0 ;; -+ i*86:OS/2:*:*) -+ # If we were able to find `uname', then EMX Unix compatibility -+ # is probably installed. -+ echo ${UNAME_MACHINE}-pc-os2-emx -+ exit 0 ;; -+ *:TOPS-10:*:*) -+ echo pdp10-unknown-tops10 -+ exit 0 ;; -+ *:TENEX:*:*) -+ echo pdp10-unknown-tenex -+ exit 0 ;; -+ KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) -+ echo pdp10-dec-tops20 -+ exit 0 ;; -+ XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) -+ echo pdp10-xkl-tops20 -+ exit 0 ;; -+ *:TOPS-20:*:*) -+ echo pdp10-unknown-tops20 -+ exit 0 ;; -+ *:ITS:*:*) -+ echo pdp10-unknown-its -+ exit 0 ;; -+esac -+ -+#echo '(No uname command or uname output not recognized.)' 1>&2 -+#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 -+ -+cat >$dummy.c < -+# include -+#endif -+main () -+{ -+#if defined (sony) -+#if defined (MIPSEB) -+ /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, -+ I don't know.... */ -+ printf ("mips-sony-bsd\n"); exit (0); -+#else -+#include -+ printf ("m68k-sony-newsos%s\n", -+#ifdef NEWSOS4 -+ "4" -+#else -+ "" -+#endif -+ ); exit (0); -+#endif -+#endif -+ -+#if defined (__arm) && defined (__acorn) && defined (__unix) -+ printf ("arm-acorn-riscix"); exit (0); -+#endif -+ -+#if defined (hp300) && !defined (hpux) -+ printf ("m68k-hp-bsd\n"); exit (0); -+#endif -+ -+#if defined (NeXT) -+#if !defined (__ARCHITECTURE__) -+#define __ARCHITECTURE__ "m68k" -+#endif -+ int version; -+ version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; -+ if (version < 4) -+ printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); -+ else -+ printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); -+ exit (0); -+#endif -+ -+#if defined (MULTIMAX) || defined (n16) -+#if defined (UMAXV) -+ printf ("ns32k-encore-sysv\n"); exit (0); -+#else -+#if defined (CMU) -+ printf ("ns32k-encore-mach\n"); exit (0); -+#else -+ printf ("ns32k-encore-bsd\n"); exit (0); -+#endif -+#endif -+#endif -+ -+#if defined (__386BSD__) -+ printf ("i386-pc-bsd\n"); exit (0); -+#endif -+ -+#if defined (sequent) -+#if defined (i386) -+ printf ("i386-sequent-dynix\n"); exit (0); -+#endif -+#if defined (ns32000) -+ printf ("ns32k-sequent-dynix\n"); exit (0); -+#endif -+#endif -+ -+#if defined (_SEQUENT_) -+ struct utsname un; -+ -+ uname(&un); -+ -+ if (strncmp(un.version, "V2", 2) == 0) { -+ printf ("i386-sequent-ptx2\n"); exit (0); -+ } -+ if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ -+ printf ("i386-sequent-ptx1\n"); exit (0); -+ } -+ printf ("i386-sequent-ptx\n"); exit (0); -+ -+#endif -+ -+#if defined (vax) -+# if !defined (ultrix) -+# include -+# if defined (BSD) -+# if BSD == 43 -+ printf ("vax-dec-bsd4.3\n"); exit (0); -+# else -+# if BSD == 199006 -+ printf ("vax-dec-bsd4.3reno\n"); exit (0); -+# else -+ printf ("vax-dec-bsd\n"); exit (0); -+# endif -+# endif -+# else -+ printf ("vax-dec-bsd\n"); exit (0); -+# endif -+# else -+ printf ("vax-dec-ultrix\n"); exit (0); -+# endif -+#endif -+ -+#if defined (alliant) && defined (i860) -+ printf ("i860-alliant-bsd\n"); exit (0); -+#endif -+ -+ exit (1); -+} -+EOF -+ -+eval $set_cc_for_build -+$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0 -+rm -f $dummy.c $dummy -+ -+# Apollos put the system type in the environment. -+ -+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } -+ -+# Convex versions that predate uname can use getsysinfo(1) -+ -+if [ -x /usr/convex/getsysinfo ] -+then -+ case `getsysinfo -f cpu_type` in -+ c1*) -+ echo c1-convex-bsd -+ exit 0 ;; -+ c2*) -+ if getsysinfo -f scalar_acc -+ then echo c32-convex-bsd -+ else echo c2-convex-bsd -+ fi -+ exit 0 ;; -+ c34*) -+ echo c34-convex-bsd -+ exit 0 ;; -+ c38*) -+ echo c38-convex-bsd -+ exit 0 ;; -+ c4*) -+ echo c4-convex-bsd -+ exit 0 ;; -+ esac -+fi -+ -+cat >&2 < in order to provide the needed -+information to handle your system. -+ -+config.guess timestamp = $timestamp -+ -+uname -m = `(uname -m) 2>/dev/null || echo unknown` -+uname -r = `(uname -r) 2>/dev/null || echo unknown` -+uname -s = `(uname -s) 2>/dev/null || echo unknown` -+uname -v = `(uname -v) 2>/dev/null || echo unknown` -+ -+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` -+/bin/uname -X = `(/bin/uname -X) 2>/dev/null` -+ -+hostinfo = `(hostinfo) 2>/dev/null` -+/bin/universe = `(/bin/universe) 2>/dev/null` -+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` -+/bin/arch = `(/bin/arch) 2>/dev/null` -+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` -+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` -+ -+UNAME_MACHINE = ${UNAME_MACHINE} -+UNAME_RELEASE = ${UNAME_RELEASE} -+UNAME_SYSTEM = ${UNAME_SYSTEM} -+UNAME_VERSION = ${UNAME_VERSION} -+EOF -+ -+exit 1 -+ -+# Local variables: -+# eval: (add-hook 'write-file-hooks 'time-stamp) -+# time-stamp-start: "timestamp='" -+# time-stamp-format: "%:y-%02m-%02d" -+# time-stamp-end: "'" -+# End: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/config.h.in tripwire-2.3.1-2/config.h.in ---- tripwire-2.3.1-2.old/config.h.in Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/config.h.in Mon Sep 22 09:40:54 2003 -@@ -0,0 +1,167 @@ -+/* config.h.in. Generated automatically from configure.in by autoheader. */ -+ -+/* Compile with debug code */ -+#undef DEBUG -+ -+/* this is the prefix for STLPort exception functions */ -+#undef EXCEPTION_NAMESPACE -+ -+/* Define if you have the header file. */ -+#undef HAVE_BITS_SIGNUM_H -+ -+/* Uses the GNU gcc compiler */ -+#undef HAVE_GCC -+ -+/* Define if you have the `gethostid' function. */ -+#undef HAVE_GETHOSTID -+ -+/* Define if you have the `gethostname' function. */ -+#undef HAVE_GETHOSTNAME -+ -+/* Define if you have the header file. */ -+#undef HAVE_ICONV_H -+ -+/* Define if you have the header file. */ -+#undef HAVE_INTTYPES_H -+ -+/* Define if you have the header file. */ -+#undef HAVE_IOSTREAM -+ -+/* Define if you have the header file. */ -+#undef HAVE_LANGINFO_H -+ -+/* Define if you have the header file. */ -+#undef HAVE_MALLOC_H -+ -+/* Define if you have the header file. */ -+#undef HAVE_MEMORY_H -+ -+/* Define if you have the `mkstemp' function. */ -+#undef HAVE_MKSTEMP -+ -+/* Define if you have the `mktemp' function. */ -+#undef HAVE_MKTEMP -+ -+/* Define if you have the header file. */ -+#undef HAVE_OPENSSL_MD5_H -+ -+/* Define if you have the header file. */ -+#undef HAVE_OPENSSL_SHA_H -+ -+/* Define if you have the header file. */ -+#undef HAVE_SIGNUM_H -+ -+/* Define if you have the header file. */ -+#undef HAVE_STDARG_H -+ -+/* Define if you have the header file. */ -+#undef HAVE_STDINT_H -+ -+/* Define if you have the header file. */ -+#undef HAVE_STDLIB_H -+ -+/* Define if you have the `strftime' function. */ -+#undef HAVE_STRFTIME -+ -+/* Define if you have the header file. */ -+#undef HAVE_STRINGS_H -+ -+/* Define if you have the header file. */ -+#undef HAVE_STRING_H -+ -+/* Define if you have the header file. */ -+#undef HAVE_SYSLOG_H -+ -+/* Define if you have the header file. */ -+#undef HAVE_SYS_MOUNT_H -+ -+/* Define if you have the header file. */ -+#undef HAVE_SYS_PARAM_H -+ -+/* Define if you have the header file. */ -+#undef HAVE_SYS_STATFS_H -+ -+/* Define if you have the header file. */ -+#undef HAVE_SYS_STAT_H -+ -+/* Define if you have the header file. */ -+#undef HAVE_SYS_SYSLOG_H -+ -+/* Define if you have the header file. */ -+#undef HAVE_SYS_SYSMACROS_H -+ -+/* Define if you have the header file. */ -+#undef HAVE_SYS_TYPES_H -+ -+/* Define if you have the header file. */ -+#undef HAVE_SYS_USTAT_H -+ -+/* Define if you have the header file. */ -+#undef HAVE_UNISTD_H -+ -+/* Define if you have the header file. */ -+#undef HAVE_VARARGS_H -+ -+/* define if you have wchar.h */ -+#undef HAVE_WCHAR_H -+ -+/* Is byte aligned */ -+#undef IS_BYTE_ALIGNED -+ -+/* Is a unix type platform */ -+#undef IS_UNIX -+ -+/* don't generate debuging code */ -+#undef NDEBUG -+ -+/* Name of package */ -+#undef PACKAGE -+ -+/* The size of a `int', as computed by sizeof. */ -+#undef SIZEOF_INT -+ -+/* The size of a `long', as computed by sizeof. */ -+#undef SIZEOF_LONG -+ -+/* The size of a `long long', as computed by sizeof. */ -+#undef SIZEOF_LONG_LONG -+ -+/* Don't use gethostbyname() on Solaris */ -+#undef SOLARIS_NO_GETHOSTBYNAME -+ -+/* Define if you have the ANSI C header files. */ -+#undef STDC_HEADERS -+ -+/* Target OS */ -+#undef TARGET_OS -+ -+/* Define if you can safely include both and . */ -+#undef TIME_WITH_SYS_TIME -+ -+/* Uses one's complement */ -+#undef USES_1S_COMPLEMENT -+ -+/* Uses two's complement */ -+#undef USES_2S_COMPLEMENT -+ -+/* Uses signed magnitute */ -+#undef USES_SIGNED_MAGNITUDE -+ -+/* Version number of package */ -+#undef VERSION -+ -+/* Define if your processor stores words with the most significant byte first -+ (like Motorola and SPARC, unlike Intel and VAX). */ -+#undef WORDS_BIGENDIAN -+ -+/* define if you don't have wchar.h */ -+#undef _STLP_NO_WCHAR_T -+ -+/* define if you are OpenBSD */ -+#undef __NetBSD__ -+ -+/* Define to empty if `const' does not conform to ANSI C. */ -+#undef const -+ -+/* Define to `unsigned' if does not define. */ -+#undef size_t -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/config.sub tripwire-2.3.1-2/config.sub ---- tripwire-2.3.1-2.old/config.sub Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/config.sub Wed Jul 3 11:00:05 2002 -@@ -0,0 +1,1375 @@ -+#! /bin/sh -+# Configuration validation subroutine script. -+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -+# Free Software Foundation, Inc. -+ -+timestamp='2001-06-08' -+ -+# This file is (in principle) common to ALL GNU software. -+# The presence of a machine in this file suggests that SOME GNU software -+# can handle that machine. It does not imply ALL GNU software can. -+# -+# This file is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 59 Temple Place - Suite 330, -+# Boston, MA 02111-1307, USA. -+ -+# As a special exception to the GNU General Public License, if you -+# distribute this file as part of a program that contains a -+# configuration script generated by Autoconf, you may include it under -+# the same distribution terms that you use for the rest of that program. -+ -+# Please send patches to . -+# -+# Configuration subroutine to validate and canonicalize a configuration type. -+# Supply the specified configuration type as an argument. -+# If it is invalid, we print an error message on stderr and exit with code 1. -+# Otherwise, we print the canonical config type on stdout and succeed. -+ -+# This file is supposed to be the same for all GNU packages -+# and recognize all the CPU types, system types and aliases -+# that are meaningful with *any* GNU software. -+# Each package is responsible for reporting which valid configurations -+# it does not support. The user should be able to distinguish -+# a failure to support a valid configuration from a meaningless -+# configuration. -+ -+# The goal of this file is to map all the various variations of a given -+# machine specification into a single specification in the form: -+# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -+# or in some cases, the newer four-part form: -+# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -+# It is wrong to echo any other type of specification. -+ -+me=`echo "$0" | sed -e 's,.*/,,'` -+ -+usage="\ -+Usage: $0 [OPTION] CPU-MFR-OPSYS -+ $0 [OPTION] ALIAS -+ -+Canonicalize a configuration name. -+ -+Operation modes: -+ -h, --help print this help, then exit -+ -t, --time-stamp print date of last modification, then exit -+ -v, --version print version number, then exit -+ -+Report bugs and patches to ." -+ -+version="\ -+GNU config.sub ($timestamp) -+ -+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -+Free Software Foundation, Inc. -+ -+This is free software; see the source for copying conditions. There is NO -+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." -+ -+help=" -+Try \`$me --help' for more information." -+ -+# Parse command line -+while test $# -gt 0 ; do -+ case $1 in -+ --time-stamp | --time* | -t ) -+ echo "$timestamp" ; exit 0 ;; -+ --version | -v ) -+ echo "$version" ; exit 0 ;; -+ --help | --h* | -h ) -+ echo "$usage"; exit 0 ;; -+ -- ) # Stop option processing -+ shift; break ;; -+ - ) # Use stdin as input. -+ break ;; -+ -* ) -+ echo "$me: invalid option $1$help" -+ exit 1 ;; -+ -+ *local*) -+ # First pass through any local machine types. -+ echo $1 -+ exit 0;; -+ -+ * ) -+ break ;; -+ esac -+done -+ -+case $# in -+ 0) echo "$me: missing argument$help" >&2 -+ exit 1;; -+ 1) ;; -+ *) echo "$me: too many arguments$help" >&2 -+ exit 1;; -+esac -+ -+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). -+# Here we must recognize all the valid KERNEL-OS combinations. -+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` -+case $maybe_os in -+ nto-qnx* | linux-gnu* | storm-chaos* | os2-emx* | windows32-*) -+ os=-$maybe_os -+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` -+ ;; -+ *) -+ basic_machine=`echo $1 | sed 's/-[^-]*$//'` -+ if [ $basic_machine != $1 ] -+ then os=`echo $1 | sed 's/.*-/-/'` -+ else os=; fi -+ ;; -+esac -+ -+### Let's recognize common machines as not being operating systems so -+### that things like config.sub decstation-3100 work. We also -+### recognize some manufacturers as not being operating systems, so we -+### can provide default operating systems below. -+case $os in -+ -sun*os*) -+ # Prevent following clause from handling this invalid input. -+ ;; -+ -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ -+ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ -+ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ -+ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -+ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -+ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -+ -apple | -axis) -+ os= -+ basic_machine=$1 -+ ;; -+ -sim | -cisco | -oki | -wec | -winbond) -+ os= -+ basic_machine=$1 -+ ;; -+ -scout) -+ ;; -+ -wrs) -+ os=-vxworks -+ basic_machine=$1 -+ ;; -+ -chorusos*) -+ os=-chorusos -+ basic_machine=$1 -+ ;; -+ -chorusrdb) -+ os=-chorusrdb -+ basic_machine=$1 -+ ;; -+ -hiux*) -+ os=-hiuxwe2 -+ ;; -+ -sco5) -+ os=-sco3.2v5 -+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` -+ ;; -+ -sco4) -+ os=-sco3.2v4 -+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` -+ ;; -+ -sco3.2.[4-9]*) -+ os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` -+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` -+ ;; -+ -sco3.2v[4-9]*) -+ # Don't forget version if it is 3.2v4 or newer. -+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` -+ ;; -+ -sco*) -+ os=-sco3.2v2 -+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` -+ ;; -+ -udk*) -+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` -+ ;; -+ -isc) -+ os=-isc2.2 -+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` -+ ;; -+ -clix*) -+ basic_machine=clipper-intergraph -+ ;; -+ -isc*) -+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` -+ ;; -+ -lynx*) -+ os=-lynxos -+ ;; -+ -ptx*) -+ basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` -+ ;; -+ -windowsnt*) -+ os=`echo $os | sed -e 's/windowsnt/winnt/'` -+ ;; -+ -psos*) -+ os=-psos -+ ;; -+ -mint | -mint[0-9]*) -+ basic_machine=m68k-atari -+ os=-mint -+ ;; -+esac -+ -+# Decode aliases for certain CPU-COMPANY combinations. -+case $basic_machine in -+ # Recognize the basic CPU types without company name. -+ # Some are omitted here because they have special meanings below. -+ tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc \ -+ | arm | arme[lb] | arm[bl]e | armv[2345] | armv[345][lb] | strongarm | xscale \ -+ | pyramid | mn10200 | mn10300 | tron | a29k \ -+ | 580 | i960 | h8300 \ -+ | x86 | ppcbe | mipsbe | mipsle | shbe | shle \ -+ | hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \ -+ | hppa64 \ -+ | alpha | alphaev[4-8] | alphaev56 | alphapca5[67] \ -+ | alphaev6[78] \ -+ | we32k | ns16k | clipper | i370 | sh | sh[34] \ -+ | powerpc | powerpcle \ -+ | 1750a | dsp16xx | pdp10 | pdp11 \ -+ | mips16 | mips64 | mipsel | mips64el \ -+ | mips64orion | mips64orionel | mipstx39 | mipstx39el \ -+ | mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \ -+ | mips64vr5000 | mips64vr5000el | mcore | s390 | s390x \ -+ | sparc | sparclet | sparclite | sparc64 | sparcv9 | sparcv9b \ -+ | v850 | c4x \ -+ | thumb | d10v | d30v | fr30 | avr | openrisc | tic80 \ -+ | pj | pjl | h8500 | z8k) -+ basic_machine=$basic_machine-unknown -+ ;; -+ m6811 | m68hc11 | m6812 | m68hc12) -+ # Motorola 68HC11/12. -+ basic_machine=$basic_machine-unknown -+ os=-none -+ ;; -+ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) -+ ;; -+ -+ # We use `pc' rather than `unknown' -+ # because (1) that's what they normally are, and -+ # (2) the word "unknown" tends to confuse beginning users. -+ i*86 | x86_64) -+ basic_machine=$basic_machine-pc -+ ;; -+ # Object if more than one company name word. -+ *-*-*) -+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 -+ exit 1 -+ ;; -+ # Recognize the basic CPU types with company name. -+ # FIXME: clean up the formatting here. -+ vax-* | tahoe-* | i*86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \ -+ | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | c[123]* \ -+ | arm-* | armbe-* | armle-* | armv*-* | strongarm-* | xscale-* \ -+ | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \ -+ | power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \ -+ | xmp-* | ymp-* \ -+ | x86-* | ppcbe-* | mipsbe-* | mipsle-* | shbe-* | shle-* \ -+ | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* \ -+ | hppa2.0n-* | hppa64-* \ -+ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphapca5[67]-* \ -+ | alphaev6[78]-* \ -+ | we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \ -+ | clipper-* | orion-* \ -+ | sparclite-* | pdp10-* | pdp11-* | sh-* | sh[34]-* | sh[34]eb-* \ -+ | powerpc-* | powerpcle-* | sparc64-* | sparcv9-* | sparcv9b-* | sparc86x-* \ -+ | mips16-* | mips64-* | mipsel-* \ -+ | mips64el-* | mips64orion-* | mips64orionel-* \ -+ | mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \ -+ | mipstx39-* | mipstx39el-* | mcore-* \ -+ | f30[01]-* | f700-* | s390-* | s390x-* | sv1-* | t3e-* \ -+ | [cjt]90-* \ -+ | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \ -+ | thumb-* | v850-* | d30v-* | tic30-* | tic80-* | c30-* | fr30-* \ -+ | bs2000-* | tic54x-* | c54x-* | x86_64-* | pj-* | pjl-*) -+ ;; -+ # Recognize the various machine names and aliases which stand -+ # for a CPU type and a company and sometimes even an OS. -+ 386bsd) -+ basic_machine=i386-unknown -+ os=-bsd -+ ;; -+ 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) -+ basic_machine=m68000-att -+ ;; -+ 3b*) -+ basic_machine=we32k-att -+ ;; -+ a29khif) -+ basic_machine=a29k-amd -+ os=-udi -+ ;; -+ adobe68k) -+ basic_machine=m68010-adobe -+ os=-scout -+ ;; -+ alliant | fx80) -+ basic_machine=fx80-alliant -+ ;; -+ altos | altos3068) -+ basic_machine=m68k-altos -+ ;; -+ am29k) -+ basic_machine=a29k-none -+ os=-bsd -+ ;; -+ amdahl) -+ basic_machine=580-amdahl -+ os=-sysv -+ ;; -+ amiga | amiga-*) -+ basic_machine=m68k-unknown -+ ;; -+ amigaos | amigados) -+ basic_machine=m68k-unknown -+ os=-amigaos -+ ;; -+ amigaunix | amix) -+ basic_machine=m68k-unknown -+ os=-sysv4 -+ ;; -+ apollo68) -+ basic_machine=m68k-apollo -+ os=-sysv -+ ;; -+ apollo68bsd) -+ basic_machine=m68k-apollo -+ os=-bsd -+ ;; -+ aux) -+ basic_machine=m68k-apple -+ os=-aux -+ ;; -+ balance) -+ basic_machine=ns32k-sequent -+ os=-dynix -+ ;; -+ convex-c1) -+ basic_machine=c1-convex -+ os=-bsd -+ ;; -+ convex-c2) -+ basic_machine=c2-convex -+ os=-bsd -+ ;; -+ convex-c32) -+ basic_machine=c32-convex -+ os=-bsd -+ ;; -+ convex-c34) -+ basic_machine=c34-convex -+ os=-bsd -+ ;; -+ convex-c38) -+ basic_machine=c38-convex -+ os=-bsd -+ ;; -+ cray | ymp) -+ basic_machine=ymp-cray -+ os=-unicos -+ ;; -+ cray2) -+ basic_machine=cray2-cray -+ os=-unicos -+ ;; -+ [cjt]90) -+ basic_machine=${basic_machine}-cray -+ os=-unicos -+ ;; -+ crds | unos) -+ basic_machine=m68k-crds -+ ;; -+ cris | cris-* | etrax*) -+ basic_machine=cris-axis -+ ;; -+ da30 | da30-*) -+ basic_machine=m68k-da30 -+ ;; -+ decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) -+ basic_machine=mips-dec -+ ;; -+ delta | 3300 | motorola-3300 | motorola-delta \ -+ | 3300-motorola | delta-motorola) -+ basic_machine=m68k-motorola -+ ;; -+ delta88) -+ basic_machine=m88k-motorola -+ os=-sysv3 -+ ;; -+ dpx20 | dpx20-*) -+ basic_machine=rs6000-bull -+ os=-bosx -+ ;; -+ dpx2* | dpx2*-bull) -+ basic_machine=m68k-bull -+ os=-sysv3 -+ ;; -+ ebmon29k) -+ basic_machine=a29k-amd -+ os=-ebmon -+ ;; -+ elxsi) -+ basic_machine=elxsi-elxsi -+ os=-bsd -+ ;; -+ encore | umax | mmax) -+ basic_machine=ns32k-encore -+ ;; -+ es1800 | OSE68k | ose68k | ose | OSE) -+ basic_machine=m68k-ericsson -+ os=-ose -+ ;; -+ fx2800) -+ basic_machine=i860-alliant -+ ;; -+ genix) -+ basic_machine=ns32k-ns -+ ;; -+ gmicro) -+ basic_machine=tron-gmicro -+ os=-sysv -+ ;; -+ go32) -+ basic_machine=i386-pc -+ os=-go32 -+ ;; -+ h3050r* | hiux*) -+ basic_machine=hppa1.1-hitachi -+ os=-hiuxwe2 -+ ;; -+ h8300hms) -+ basic_machine=h8300-hitachi -+ os=-hms -+ ;; -+ h8300xray) -+ basic_machine=h8300-hitachi -+ os=-xray -+ ;; -+ h8500hms) -+ basic_machine=h8500-hitachi -+ os=-hms -+ ;; -+ harris) -+ basic_machine=m88k-harris -+ os=-sysv3 -+ ;; -+ hp300-*) -+ basic_machine=m68k-hp -+ ;; -+ hp300bsd) -+ basic_machine=m68k-hp -+ os=-bsd -+ ;; -+ hp300hpux) -+ basic_machine=m68k-hp -+ os=-hpux -+ ;; -+ hp3k9[0-9][0-9] | hp9[0-9][0-9]) -+ basic_machine=hppa1.0-hp -+ ;; -+ hp9k2[0-9][0-9] | hp9k31[0-9]) -+ basic_machine=m68000-hp -+ ;; -+ hp9k3[2-9][0-9]) -+ basic_machine=m68k-hp -+ ;; -+ hp9k6[0-9][0-9] | hp6[0-9][0-9]) -+ basic_machine=hppa1.0-hp -+ ;; -+ hp9k7[0-79][0-9] | hp7[0-79][0-9]) -+ basic_machine=hppa1.1-hp -+ ;; -+ hp9k78[0-9] | hp78[0-9]) -+ # FIXME: really hppa2.0-hp -+ basic_machine=hppa1.1-hp -+ ;; -+ hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) -+ # FIXME: really hppa2.0-hp -+ basic_machine=hppa1.1-hp -+ ;; -+ hp9k8[0-9][13679] | hp8[0-9][13679]) -+ basic_machine=hppa1.1-hp -+ ;; -+ hp9k8[0-9][0-9] | hp8[0-9][0-9]) -+ basic_machine=hppa1.0-hp -+ ;; -+ hppa-next) -+ os=-nextstep3 -+ ;; -+ hppaosf) -+ basic_machine=hppa1.1-hp -+ os=-osf -+ ;; -+ hppro) -+ basic_machine=hppa1.1-hp -+ os=-proelf -+ ;; -+ i370-ibm* | ibm*) -+ basic_machine=i370-ibm -+ ;; -+# I'm not sure what "Sysv32" means. Should this be sysv3.2? -+ i*86v32) -+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` -+ os=-sysv32 -+ ;; -+ i*86v4*) -+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` -+ os=-sysv4 -+ ;; -+ i*86v) -+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` -+ os=-sysv -+ ;; -+ i*86sol2) -+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` -+ os=-solaris2 -+ ;; -+ i386mach) -+ basic_machine=i386-mach -+ os=-mach -+ ;; -+ i386-vsta | vsta) -+ basic_machine=i386-unknown -+ os=-vsta -+ ;; -+ iris | iris4d) -+ basic_machine=mips-sgi -+ case $os in -+ -irix*) -+ ;; -+ *) -+ os=-irix4 -+ ;; -+ esac -+ ;; -+ isi68 | isi) -+ basic_machine=m68k-isi -+ os=-sysv -+ ;; -+ m88k-omron*) -+ basic_machine=m88k-omron -+ ;; -+ magnum | m3230) -+ basic_machine=mips-mips -+ os=-sysv -+ ;; -+ merlin) -+ basic_machine=ns32k-utek -+ os=-sysv -+ ;; -+ mingw32) -+ basic_machine=i386-pc -+ os=-mingw32 -+ ;; -+ miniframe) -+ basic_machine=m68000-convergent -+ ;; -+ *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) -+ basic_machine=m68k-atari -+ os=-mint -+ ;; -+ mipsel*-linux*) -+ basic_machine=mipsel-unknown -+ os=-linux-gnu -+ ;; -+ mips*-linux*) -+ basic_machine=mips-unknown -+ os=-linux-gnu -+ ;; -+ mips3*-*) -+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` -+ ;; -+ mips3*) -+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown -+ ;; -+ mmix*) -+ basic_machine=mmix-knuth -+ os=-mmixware -+ ;; -+ monitor) -+ basic_machine=m68k-rom68k -+ os=-coff -+ ;; -+ msdos) -+ basic_machine=i386-pc -+ os=-msdos -+ ;; -+ mvs) -+ basic_machine=i370-ibm -+ os=-mvs -+ ;; -+ ncr3000) -+ basic_machine=i486-ncr -+ os=-sysv4 -+ ;; -+ netbsd386) -+ basic_machine=i386-unknown -+ os=-netbsd -+ ;; -+ netwinder) -+ basic_machine=armv4l-rebel -+ os=-linux -+ ;; -+ news | news700 | news800 | news900) -+ basic_machine=m68k-sony -+ os=-newsos -+ ;; -+ news1000) -+ basic_machine=m68030-sony -+ os=-newsos -+ ;; -+ news-3600 | risc-news) -+ basic_machine=mips-sony -+ os=-newsos -+ ;; -+ necv70) -+ basic_machine=v70-nec -+ os=-sysv -+ ;; -+ next | m*-next ) -+ basic_machine=m68k-next -+ case $os in -+ -nextstep* ) -+ ;; -+ -ns2*) -+ os=-nextstep2 -+ ;; -+ *) -+ os=-nextstep3 -+ ;; -+ esac -+ ;; -+ nh3000) -+ basic_machine=m68k-harris -+ os=-cxux -+ ;; -+ nh[45]000) -+ basic_machine=m88k-harris -+ os=-cxux -+ ;; -+ nindy960) -+ basic_machine=i960-intel -+ os=-nindy -+ ;; -+ mon960) -+ basic_machine=i960-intel -+ os=-mon960 -+ ;; -+ nonstopux) -+ basic_machine=mips-compaq -+ os=-nonstopux -+ ;; -+ np1) -+ basic_machine=np1-gould -+ ;; -+ nsr-tandem) -+ basic_machine=nsr-tandem -+ ;; -+ op50n-* | op60c-*) -+ basic_machine=hppa1.1-oki -+ os=-proelf -+ ;; -+ OSE68000 | ose68000) -+ basic_machine=m68000-ericsson -+ os=-ose -+ ;; -+ os68k) -+ basic_machine=m68k-none -+ os=-os68k -+ ;; -+ pa-hitachi) -+ basic_machine=hppa1.1-hitachi -+ os=-hiuxwe2 -+ ;; -+ paragon) -+ basic_machine=i860-intel -+ os=-osf -+ ;; -+ pbd) -+ basic_machine=sparc-tti -+ ;; -+ pbb) -+ basic_machine=m68k-tti -+ ;; -+ pc532 | pc532-*) -+ basic_machine=ns32k-pc532 -+ ;; -+ pentium | p5 | k5 | k6 | nexgen) -+ basic_machine=i586-pc -+ ;; -+ pentiumpro | p6 | 6x86 | athlon) -+ basic_machine=i686-pc -+ ;; -+ pentiumii | pentium2) -+ basic_machine=i686-pc -+ ;; -+ pentium-* | p5-* | k5-* | k6-* | nexgen-*) -+ basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` -+ ;; -+ pentiumpro-* | p6-* | 6x86-* | athlon-*) -+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` -+ ;; -+ pentiumii-* | pentium2-*) -+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` -+ ;; -+ pn) -+ basic_machine=pn-gould -+ ;; -+ power) basic_machine=power-ibm -+ ;; -+ ppc) basic_machine=powerpc-unknown -+ ;; -+ ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` -+ ;; -+ ppcle | powerpclittle | ppc-le | powerpc-little) -+ basic_machine=powerpcle-unknown -+ ;; -+ ppcle-* | powerpclittle-*) -+ basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` -+ ;; -+ ps2) -+ basic_machine=i386-ibm -+ ;; -+ pw32) -+ basic_machine=i586-unknown -+ os=-pw32 -+ ;; -+ rom68k) -+ basic_machine=m68k-rom68k -+ os=-coff -+ ;; -+ rm[46]00) -+ basic_machine=mips-siemens -+ ;; -+ rtpc | rtpc-*) -+ basic_machine=romp-ibm -+ ;; -+ sa29200) -+ basic_machine=a29k-amd -+ os=-udi -+ ;; -+ sequent) -+ basic_machine=i386-sequent -+ ;; -+ sh) -+ basic_machine=sh-hitachi -+ os=-hms -+ ;; -+ sparclite-wrs) -+ basic_machine=sparclite-wrs -+ os=-vxworks -+ ;; -+ sps7) -+ basic_machine=m68k-bull -+ os=-sysv2 -+ ;; -+ spur) -+ basic_machine=spur-unknown -+ ;; -+ st2000) -+ basic_machine=m68k-tandem -+ ;; -+ stratus) -+ basic_machine=i860-stratus -+ os=-sysv4 -+ ;; -+ sun2) -+ basic_machine=m68000-sun -+ ;; -+ sun2os3) -+ basic_machine=m68000-sun -+ os=-sunos3 -+ ;; -+ sun2os4) -+ basic_machine=m68000-sun -+ os=-sunos4 -+ ;; -+ sun3os3) -+ basic_machine=m68k-sun -+ os=-sunos3 -+ ;; -+ sun3os4) -+ basic_machine=m68k-sun -+ os=-sunos4 -+ ;; -+ sun4os3) -+ basic_machine=sparc-sun -+ os=-sunos3 -+ ;; -+ sun4os4) -+ basic_machine=sparc-sun -+ os=-sunos4 -+ ;; -+ sun4sol2) -+ basic_machine=sparc-sun -+ os=-solaris2 -+ ;; -+ sun3 | sun3-*) -+ basic_machine=m68k-sun -+ ;; -+ sun4) -+ basic_machine=sparc-sun -+ ;; -+ sun386 | sun386i | roadrunner) -+ basic_machine=i386-sun -+ ;; -+ sv1) -+ basic_machine=sv1-cray -+ os=-unicos -+ ;; -+ symmetry) -+ basic_machine=i386-sequent -+ os=-dynix -+ ;; -+ t3e) -+ basic_machine=t3e-cray -+ os=-unicos -+ ;; -+ tic54x | c54x*) -+ basic_machine=tic54x-unknown -+ os=-coff -+ ;; -+ tx39) -+ basic_machine=mipstx39-unknown -+ ;; -+ tx39el) -+ basic_machine=mipstx39el-unknown -+ ;; -+ tower | tower-32) -+ basic_machine=m68k-ncr -+ ;; -+ udi29k) -+ basic_machine=a29k-amd -+ os=-udi -+ ;; -+ ultra3) -+ basic_machine=a29k-nyu -+ os=-sym1 -+ ;; -+ v810 | necv810) -+ basic_machine=v810-nec -+ os=-none -+ ;; -+ vaxv) -+ basic_machine=vax-dec -+ os=-sysv -+ ;; -+ vms) -+ basic_machine=vax-dec -+ os=-vms -+ ;; -+ vpp*|vx|vx-*) -+ basic_machine=f301-fujitsu -+ ;; -+ vxworks960) -+ basic_machine=i960-wrs -+ os=-vxworks -+ ;; -+ vxworks68) -+ basic_machine=m68k-wrs -+ os=-vxworks -+ ;; -+ vxworks29k) -+ basic_machine=a29k-wrs -+ os=-vxworks -+ ;; -+ w65*) -+ basic_machine=w65-wdc -+ os=-none -+ ;; -+ w89k-*) -+ basic_machine=hppa1.1-winbond -+ os=-proelf -+ ;; -+ windows32) -+ basic_machine=i386-pc -+ os=-windows32-msvcrt -+ ;; -+ xmp) -+ basic_machine=xmp-cray -+ os=-unicos -+ ;; -+ xps | xps100) -+ basic_machine=xps100-honeywell -+ ;; -+ z8k-*-coff) -+ basic_machine=z8k-unknown -+ os=-sim -+ ;; -+ none) -+ basic_machine=none-none -+ os=-none -+ ;; -+ -+# Here we handle the default manufacturer of certain CPU types. It is in -+# some cases the only manufacturer, in others, it is the most popular. -+ w89k) -+ basic_machine=hppa1.1-winbond -+ ;; -+ op50n) -+ basic_machine=hppa1.1-oki -+ ;; -+ op60c) -+ basic_machine=hppa1.1-oki -+ ;; -+ mips) -+ if [ x$os = x-linux-gnu ]; then -+ basic_machine=mips-unknown -+ else -+ basic_machine=mips-mips -+ fi -+ ;; -+ romp) -+ basic_machine=romp-ibm -+ ;; -+ rs6000) -+ basic_machine=rs6000-ibm -+ ;; -+ vax) -+ basic_machine=vax-dec -+ ;; -+ pdp10) -+ # there are many clones, so DEC is not a safe bet -+ basic_machine=pdp10-unknown -+ ;; -+ pdp11) -+ basic_machine=pdp11-dec -+ ;; -+ we32k) -+ basic_machine=we32k-att -+ ;; -+ sh3 | sh4) -+ basic_machine=sh-unknown -+ ;; -+ sparc | sparcv9 | sparcv9b) -+ basic_machine=sparc-sun -+ ;; -+ cydra) -+ basic_machine=cydra-cydrome -+ ;; -+ orion) -+ basic_machine=orion-highlevel -+ ;; -+ orion105) -+ basic_machine=clipper-highlevel -+ ;; -+ mac | mpw | mac-mpw) -+ basic_machine=m68k-apple -+ ;; -+ pmac | pmac-mpw) -+ basic_machine=powerpc-apple -+ ;; -+ c4x*) -+ basic_machine=c4x-none -+ os=-coff -+ ;; -+ *-unknown) -+ # Make sure to match an already-canonicalized machine name. -+ ;; -+ *) -+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 -+ exit 1 -+ ;; -+esac -+ -+# Here we canonicalize certain aliases for manufacturers. -+case $basic_machine in -+ *-digital*) -+ basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` -+ ;; -+ *-commodore*) -+ basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` -+ ;; -+ *) -+ ;; -+esac -+ -+# Decode manufacturer-specific aliases for certain operating systems. -+ -+if [ x"$os" != x"" ] -+then -+case $os in -+ # First match some system type aliases -+ # that might get confused with valid system types. -+ # -solaris* is a basic system type, with this one exception. -+ -solaris1 | -solaris1.*) -+ os=`echo $os | sed -e 's|solaris1|sunos4|'` -+ ;; -+ -solaris) -+ os=-solaris2 -+ ;; -+ -svr4*) -+ os=-sysv4 -+ ;; -+ -unixware*) -+ os=-sysv4.2uw -+ ;; -+ -gnu/linux*) -+ os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` -+ ;; -+ # First accept the basic system types. -+ # The portable systems comes first. -+ # Each alternative MUST END IN A *, to match a version number. -+ # -sysv* is not here because it comes later, after sysvr4. -+ -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ -+ | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ -+ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ -+ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ -+ | -aos* \ -+ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ -+ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ -+ | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \ -+ | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ -+ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ -+ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ -+ | -chorusos* | -chorusrdb* \ -+ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ -+ | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \ -+ | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \ -+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ -+ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* | -os2*) -+ # Remember, each alternative MUST END IN *, to match a version number. -+ ;; -+ -qnx*) -+ case $basic_machine in -+ x86-* | i*86-*) -+ ;; -+ *) -+ os=-nto$os -+ ;; -+ esac -+ ;; -+ -nto*) -+ os=-nto-qnx -+ ;; -+ -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ -+ | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ -+ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) -+ ;; -+ -mac*) -+ os=`echo $os | sed -e 's|mac|macos|'` -+ ;; -+ -linux*) -+ os=`echo $os | sed -e 's|linux|linux-gnu|'` -+ ;; -+ -sunos5*) -+ os=`echo $os | sed -e 's|sunos5|solaris2|'` -+ ;; -+ -sunos6*) -+ os=`echo $os | sed -e 's|sunos6|solaris3|'` -+ ;; -+ -opened*) -+ os=-openedition -+ ;; -+ -wince*) -+ os=-wince -+ ;; -+ -osfrose*) -+ os=-osfrose -+ ;; -+ -osf*) -+ os=-osf -+ ;; -+ -utek*) -+ os=-bsd -+ ;; -+ -dynix*) -+ os=-bsd -+ ;; -+ -acis*) -+ os=-aos -+ ;; -+ -386bsd) -+ os=-bsd -+ ;; -+ -ctix* | -uts*) -+ os=-sysv -+ ;; -+ -ns2 ) -+ os=-nextstep2 -+ ;; -+ -nsk*) -+ os=-nsk -+ ;; -+ # Preserve the version number of sinix5. -+ -sinix5.*) -+ os=`echo $os | sed -e 's|sinix|sysv|'` -+ ;; -+ -sinix*) -+ os=-sysv4 -+ ;; -+ -triton*) -+ os=-sysv3 -+ ;; -+ -oss*) -+ os=-sysv3 -+ ;; -+ -svr4) -+ os=-sysv4 -+ ;; -+ -svr3) -+ os=-sysv3 -+ ;; -+ -sysvr4) -+ os=-sysv4 -+ ;; -+ # This must come after -sysvr4. -+ -sysv*) -+ ;; -+ -ose*) -+ os=-ose -+ ;; -+ -es1800*) -+ os=-ose -+ ;; -+ -xenix) -+ os=-xenix -+ ;; -+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) -+ os=-mint -+ ;; -+ -none) -+ ;; -+ *) -+ # Get rid of the `-' at the beginning of $os. -+ os=`echo $os | sed 's/[^-]*-//'` -+ echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 -+ exit 1 -+ ;; -+esac -+else -+ -+# Here we handle the default operating systems that come with various machines. -+# The value should be what the vendor currently ships out the door with their -+# machine or put another way, the most popular os provided with the machine. -+ -+# Note that if you're going to try to match "-MANUFACTURER" here (say, -+# "-sun"), then you have to tell the case statement up towards the top -+# that MANUFACTURER isn't an operating system. Otherwise, code above -+# will signal an error saying that MANUFACTURER isn't an operating -+# system, and we'll never get to this point. -+ -+case $basic_machine in -+ *-acorn) -+ os=-riscix1.2 -+ ;; -+ arm*-rebel) -+ os=-linux -+ ;; -+ arm*-semi) -+ os=-aout -+ ;; -+ pdp10-*) -+ os=-tops20 -+ ;; -+ pdp11-*) -+ os=-none -+ ;; -+ *-dec | vax-*) -+ os=-ultrix4.2 -+ ;; -+ m68*-apollo) -+ os=-domain -+ ;; -+ i386-sun) -+ os=-sunos4.0.2 -+ ;; -+ m68000-sun) -+ os=-sunos3 -+ # This also exists in the configure program, but was not the -+ # default. -+ # os=-sunos4 -+ ;; -+ m68*-cisco) -+ os=-aout -+ ;; -+ mips*-cisco) -+ os=-elf -+ ;; -+ mips*-*) -+ os=-elf -+ ;; -+ *-tti) # must be before sparc entry or we get the wrong os. -+ os=-sysv3 -+ ;; -+ sparc-* | *-sun) -+ os=-sunos4.1.1 -+ ;; -+ *-be) -+ os=-beos -+ ;; -+ *-ibm) -+ os=-aix -+ ;; -+ *-wec) -+ os=-proelf -+ ;; -+ *-winbond) -+ os=-proelf -+ ;; -+ *-oki) -+ os=-proelf -+ ;; -+ *-hp) -+ os=-hpux -+ ;; -+ *-hitachi) -+ os=-hiux -+ ;; -+ i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) -+ os=-sysv -+ ;; -+ *-cbm) -+ os=-amigaos -+ ;; -+ *-dg) -+ os=-dgux -+ ;; -+ *-dolphin) -+ os=-sysv3 -+ ;; -+ m68k-ccur) -+ os=-rtu -+ ;; -+ m88k-omron*) -+ os=-luna -+ ;; -+ *-next ) -+ os=-nextstep -+ ;; -+ *-sequent) -+ os=-ptx -+ ;; -+ *-crds) -+ os=-unos -+ ;; -+ *-ns) -+ os=-genix -+ ;; -+ i370-*) -+ os=-mvs -+ ;; -+ *-next) -+ os=-nextstep3 -+ ;; -+ *-gould) -+ os=-sysv -+ ;; -+ *-highlevel) -+ os=-bsd -+ ;; -+ *-encore) -+ os=-bsd -+ ;; -+ *-sgi) -+ os=-irix -+ ;; -+ *-siemens) -+ os=-sysv4 -+ ;; -+ *-masscomp) -+ os=-rtu -+ ;; -+ f30[01]-fujitsu | f700-fujitsu) -+ os=-uxpv -+ ;; -+ *-rom68k) -+ os=-coff -+ ;; -+ *-*bug) -+ os=-coff -+ ;; -+ *-apple) -+ os=-macos -+ ;; -+ *-atari*) -+ os=-mint -+ ;; -+ *) -+ os=-none -+ ;; -+esac -+fi -+ -+# Here we handle the case where we know the os, and the CPU type, but not the -+# manufacturer. We pick the logical manufacturer. -+vendor=unknown -+case $basic_machine in -+ *-unknown) -+ case $os in -+ -riscix*) -+ vendor=acorn -+ ;; -+ -sunos*) -+ vendor=sun -+ ;; -+ -aix*) -+ vendor=ibm -+ ;; -+ -beos*) -+ vendor=be -+ ;; -+ -hpux*) -+ vendor=hp -+ ;; -+ -mpeix*) -+ vendor=hp -+ ;; -+ -hiux*) -+ vendor=hitachi -+ ;; -+ -unos*) -+ vendor=crds -+ ;; -+ -dgux*) -+ vendor=dg -+ ;; -+ -luna*) -+ vendor=omron -+ ;; -+ -genix*) -+ vendor=ns -+ ;; -+ -mvs* | -opened*) -+ vendor=ibm -+ ;; -+ -ptx*) -+ vendor=sequent -+ ;; -+ -vxsim* | -vxworks*) -+ vendor=wrs -+ ;; -+ -aux*) -+ vendor=apple -+ ;; -+ -hms*) -+ vendor=hitachi -+ ;; -+ -mpw* | -macos*) -+ vendor=apple -+ ;; -+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) -+ vendor=atari -+ ;; -+ esac -+ basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` -+ ;; -+esac -+ -+echo $basic_machine$os -+exit 0 -+ -+# Local variables: -+# eval: (add-hook 'write-file-hooks 'time-stamp) -+# time-stamp-start: "timestamp='" -+# time-stamp-format: "%:y-%02m-%02d" -+# time-stamp-end: "'" -+# End: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/configure tripwire-2.3.1-2/configure ---- tripwire-2.3.1-2.old/configure Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/configure Mon Sep 22 09:40:58 2003 -@@ -0,0 +1,6923 @@ -+#! /bin/sh -+# Guess values for system-dependent variables and create Makefiles. -+# Generated by Autoconf 2.52. -+# -+# Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 -+# Free Software Foundation, Inc. -+# This configure script is free software; the Free Software Foundation -+# gives unlimited permission to copy, distribute and modify it. -+ -+# Avoid depending upon Character Ranges. -+as_cr_letters='abcdefghijklmnopqrstuvwxyz' -+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -+as_cr_Letters=$as_cr_letters$as_cr_LETTERS -+as_cr_digits='0123456789' -+as_cr_alnum=$as_cr_Letters$as_cr_digits -+ -+# Sed expression to map a string onto a valid variable name. -+as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" -+ -+# Sed expression to map a string onto a valid CPP name. -+as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" -+ -+# Be Bourne compatible -+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then -+ emulate sh -+ NULLCMD=: -+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then -+ set -o posix -+fi -+ -+# Name of the executable. -+as_me=`echo "$0" |sed 's,.*[\\/],,'` -+ -+if expr a : '\(a\)' >/dev/null 2>&1; then -+ as_expr=expr -+else -+ as_expr=false -+fi -+ -+rm -f conf$$ conf$$.exe conf$$.file -+echo >conf$$.file -+if ln -s conf$$.file conf$$ 2>/dev/null; then -+ # We could just check for DJGPP; but this test a) works b) is more generic -+ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). -+ if test -f conf$$.exe; then -+ # Don't use ln at all; we don't have any links -+ as_ln_s='cp -p' -+ else -+ as_ln_s='ln -s' -+ fi -+elif ln conf$$.file conf$$ 2>/dev/null; then -+ as_ln_s=ln -+else -+ as_ln_s='cp -p' -+fi -+rm -f conf$$ conf$$.exe conf$$.file -+ -+as_executable_p="test -f" -+ -+# Support unset when possible. -+if (FOO=FOO; unset FOO) >/dev/null 2>&1; then -+ as_unset=unset -+else -+ as_unset=false -+fi -+ -+# NLS nuisances. -+$as_unset LANG || test "${LANG+set}" != set || { LANG=C; export LANG; } -+$as_unset LC_ALL || test "${LC_ALL+set}" != set || { LC_ALL=C; export LC_ALL; } -+$as_unset LC_TIME || test "${LC_TIME+set}" != set || { LC_TIME=C; export LC_TIME; } -+$as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set || { LC_CTYPE=C; export LC_CTYPE; } -+$as_unset LANGUAGE || test "${LANGUAGE+set}" != set || { LANGUAGE=C; export LANGUAGE; } -+$as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set || { LC_COLLATE=C; export LC_COLLATE; } -+$as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set || { LC_NUMERIC=C; export LC_NUMERIC; } -+$as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set || { LC_MESSAGES=C; export LC_MESSAGES; } -+ -+# IFS -+# We need space, tab and new line, in precisely that order. -+as_nl=' -+' -+IFS=" $as_nl" -+ -+# CDPATH. -+$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; } -+ -+# Name of the host. -+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, -+# so uname gets run too. -+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` -+ -+exec 6>&1 -+ -+# -+# Initializations. -+# -+ac_default_prefix=/usr/local -+cross_compiling=no -+subdirs= -+MFLAGS= MAKEFLAGS= -+SHELL=${CONFIG_SHELL-/bin/sh} -+ -+# Maximum number of lines to put in a shell here document. -+# This variable seems obsolete. It should probably be removed, and -+# only ac_max_sed_lines should be used. -+: ${ac_max_here_lines=38} -+ -+ac_unique_file="src/tw/tw.cpp" -+# Factoring default headers for most tests. -+ac_includes_default="\ -+#include -+#if HAVE_SYS_TYPES_H -+# include -+#endif -+#if HAVE_SYS_STAT_H -+# include -+#endif -+#if STDC_HEADERS -+# include -+# include -+#else -+# if HAVE_STDLIB_H -+# include -+# endif -+#endif -+#if HAVE_STRING_H -+# if !STDC_HEADERS && HAVE_MEMORY_H -+# include -+# endif -+# include -+#endif -+#if HAVE_STRINGS_H -+# include -+#endif -+#if HAVE_INTTYPES_H -+# include -+#else -+# if HAVE_STDINT_H -+# include -+# endif -+#endif -+#if HAVE_UNISTD_H -+# include -+#endif" -+ -+# Initialize some variables set by options. -+ac_init_help= -+ac_init_version=false -+# The variables have the same names as the options, with -+# dashes changed to underlines. -+cache_file=/dev/null -+exec_prefix=NONE -+no_create= -+no_recursion= -+prefix=NONE -+program_prefix=NONE -+program_suffix=NONE -+program_transform_name=s,x,x, -+silent= -+site= -+srcdir= -+verbose= -+x_includes=NONE -+x_libraries=NONE -+ -+# Installation directory options. -+# These are left unexpanded so users can "make install exec_prefix=/foo" -+# and all the variables that are supposed to be based on exec_prefix -+# by default will actually change. -+# Use braces instead of parens because sh, perl, etc. also accept them. -+bindir='${exec_prefix}/bin' -+sbindir='${exec_prefix}/sbin' -+libexecdir='${exec_prefix}/libexec' -+datadir='${prefix}/share' -+sysconfdir='${prefix}/etc' -+sharedstatedir='${prefix}/com' -+localstatedir='${prefix}/var' -+libdir='${exec_prefix}/lib' -+includedir='${prefix}/include' -+oldincludedir='/usr/include' -+infodir='${prefix}/info' -+mandir='${prefix}/man' -+ -+# Identity of this package. -+PACKAGE_NAME= -+PACKAGE_TARNAME= -+PACKAGE_VERSION= -+PACKAGE_STRING= -+PACKAGE_BUGREPORT= -+ -+ac_prev= -+for ac_option -+do -+ # If the previous option needs an argument, assign it. -+ if test -n "$ac_prev"; then -+ eval "$ac_prev=\$ac_option" -+ ac_prev= -+ continue -+ fi -+ -+ ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` -+ -+ # Accept the important Cygnus configure options, so we can diagnose typos. -+ -+ case $ac_option in -+ -+ -bindir | --bindir | --bindi | --bind | --bin | --bi) -+ ac_prev=bindir ;; -+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) -+ bindir=$ac_optarg ;; -+ -+ -build | --build | --buil | --bui | --bu) -+ ac_prev=build_alias ;; -+ -build=* | --build=* | --buil=* | --bui=* | --bu=*) -+ build_alias=$ac_optarg ;; -+ -+ -cache-file | --cache-file | --cache-fil | --cache-fi \ -+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) -+ ac_prev=cache_file ;; -+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ -+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) -+ cache_file=$ac_optarg ;; -+ -+ --config-cache | -C) -+ cache_file=config.cache ;; -+ -+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da) -+ ac_prev=datadir ;; -+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ -+ | --da=*) -+ datadir=$ac_optarg ;; -+ -+ -disable-* | --disable-*) -+ ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` -+ # Reject names that are not valid shell variable names. -+ expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && -+ { echo "$as_me: error: invalid feature name: $ac_feature" >&2 -+ { (exit 1); exit 1; }; } -+ ac_feature=`echo $ac_feature | sed 's/-/_/g'` -+ eval "enable_$ac_feature=no" ;; -+ -+ -enable-* | --enable-*) -+ ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` -+ # Reject names that are not valid shell variable names. -+ expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && -+ { echo "$as_me: error: invalid feature name: $ac_feature" >&2 -+ { (exit 1); exit 1; }; } -+ ac_feature=`echo $ac_feature | sed 's/-/_/g'` -+ case $ac_option in -+ *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; -+ *) ac_optarg=yes ;; -+ esac -+ eval "enable_$ac_feature='$ac_optarg'" ;; -+ -+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ -+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ -+ | --exec | --exe | --ex) -+ ac_prev=exec_prefix ;; -+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ -+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ -+ | --exec=* | --exe=* | --ex=*) -+ exec_prefix=$ac_optarg ;; -+ -+ -gas | --gas | --ga | --g) -+ # Obsolete; use --with-gas. -+ with_gas=yes ;; -+ -+ -help | --help | --hel | --he | -h) -+ ac_init_help=long ;; -+ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) -+ ac_init_help=recursive ;; -+ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) -+ ac_init_help=short ;; -+ -+ -host | --host | --hos | --ho) -+ ac_prev=host_alias ;; -+ -host=* | --host=* | --hos=* | --ho=*) -+ host_alias=$ac_optarg ;; -+ -+ -includedir | --includedir | --includedi | --included | --include \ -+ | --includ | --inclu | --incl | --inc) -+ ac_prev=includedir ;; -+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ -+ | --includ=* | --inclu=* | --incl=* | --inc=*) -+ includedir=$ac_optarg ;; -+ -+ -infodir | --infodir | --infodi | --infod | --info | --inf) -+ ac_prev=infodir ;; -+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) -+ infodir=$ac_optarg ;; -+ -+ -libdir | --libdir | --libdi | --libd) -+ ac_prev=libdir ;; -+ -libdir=* | --libdir=* | --libdi=* | --libd=*) -+ libdir=$ac_optarg ;; -+ -+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ -+ | --libexe | --libex | --libe) -+ ac_prev=libexecdir ;; -+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ -+ | --libexe=* | --libex=* | --libe=*) -+ libexecdir=$ac_optarg ;; -+ -+ -localstatedir | --localstatedir | --localstatedi | --localstated \ -+ | --localstate | --localstat | --localsta | --localst \ -+ | --locals | --local | --loca | --loc | --lo) -+ ac_prev=localstatedir ;; -+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ -+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \ -+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) -+ localstatedir=$ac_optarg ;; -+ -+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m) -+ ac_prev=mandir ;; -+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) -+ mandir=$ac_optarg ;; -+ -+ -nfp | --nfp | --nf) -+ # Obsolete; use --without-fp. -+ with_fp=no ;; -+ -+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \ -+ | --no-cr | --no-c) -+ no_create=yes ;; -+ -+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \ -+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) -+ no_recursion=yes ;; -+ -+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ -+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ -+ | --oldin | --oldi | --old | --ol | --o) -+ ac_prev=oldincludedir ;; -+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ -+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ -+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) -+ oldincludedir=$ac_optarg ;; -+ -+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) -+ ac_prev=prefix ;; -+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) -+ prefix=$ac_optarg ;; -+ -+ -program-prefix | --program-prefix | --program-prefi | --program-pref \ -+ | --program-pre | --program-pr | --program-p) -+ ac_prev=program_prefix ;; -+ -program-prefix=* | --program-prefix=* | --program-prefi=* \ -+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) -+ program_prefix=$ac_optarg ;; -+ -+ -program-suffix | --program-suffix | --program-suffi | --program-suff \ -+ | --program-suf | --program-su | --program-s) -+ ac_prev=program_suffix ;; -+ -program-suffix=* | --program-suffix=* | --program-suffi=* \ -+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) -+ program_suffix=$ac_optarg ;; -+ -+ -program-transform-name | --program-transform-name \ -+ | --program-transform-nam | --program-transform-na \ -+ | --program-transform-n | --program-transform- \ -+ | --program-transform | --program-transfor \ -+ | --program-transfo | --program-transf \ -+ | --program-trans | --program-tran \ -+ | --progr-tra | --program-tr | --program-t) -+ ac_prev=program_transform_name ;; -+ -program-transform-name=* | --program-transform-name=* \ -+ | --program-transform-nam=* | --program-transform-na=* \ -+ | --program-transform-n=* | --program-transform-=* \ -+ | --program-transform=* | --program-transfor=* \ -+ | --program-transfo=* | --program-transf=* \ -+ | --program-trans=* | --program-tran=* \ -+ | --progr-tra=* | --program-tr=* | --program-t=*) -+ program_transform_name=$ac_optarg ;; -+ -+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ -+ | -silent | --silent | --silen | --sile | --sil) -+ silent=yes ;; -+ -+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) -+ ac_prev=sbindir ;; -+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ -+ | --sbi=* | --sb=*) -+ sbindir=$ac_optarg ;; -+ -+ -sharedstatedir | --sharedstatedir | --sharedstatedi \ -+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ -+ | --sharedst | --shareds | --shared | --share | --shar \ -+ | --sha | --sh) -+ ac_prev=sharedstatedir ;; -+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ -+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ -+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ -+ | --sha=* | --sh=*) -+ sharedstatedir=$ac_optarg ;; -+ -+ -site | --site | --sit) -+ ac_prev=site ;; -+ -site=* | --site=* | --sit=*) -+ site=$ac_optarg ;; -+ -+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) -+ ac_prev=srcdir ;; -+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) -+ srcdir=$ac_optarg ;; -+ -+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ -+ | --syscon | --sysco | --sysc | --sys | --sy) -+ ac_prev=sysconfdir ;; -+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ -+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) -+ sysconfdir=$ac_optarg ;; -+ -+ -target | --target | --targe | --targ | --tar | --ta | --t) -+ ac_prev=target_alias ;; -+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) -+ target_alias=$ac_optarg ;; -+ -+ -v | -verbose | --verbose | --verbos | --verbo | --verb) -+ verbose=yes ;; -+ -+ -version | --version | --versio | --versi | --vers | -V) -+ ac_init_version=: ;; -+ -+ -with-* | --with-*) -+ ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` -+ # Reject names that are not valid shell variable names. -+ expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && -+ { echo "$as_me: error: invalid package name: $ac_package" >&2 -+ { (exit 1); exit 1; }; } -+ ac_package=`echo $ac_package| sed 's/-/_/g'` -+ case $ac_option in -+ *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; -+ *) ac_optarg=yes ;; -+ esac -+ eval "with_$ac_package='$ac_optarg'" ;; -+ -+ -without-* | --without-*) -+ ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` -+ # Reject names that are not valid shell variable names. -+ expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && -+ { echo "$as_me: error: invalid package name: $ac_package" >&2 -+ { (exit 1); exit 1; }; } -+ ac_package=`echo $ac_package | sed 's/-/_/g'` -+ eval "with_$ac_package=no" ;; -+ -+ --x) -+ # Obsolete; use --with-x. -+ with_x=yes ;; -+ -+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ -+ | --x-incl | --x-inc | --x-in | --x-i) -+ ac_prev=x_includes ;; -+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ -+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) -+ x_includes=$ac_optarg ;; -+ -+ -x-libraries | --x-libraries | --x-librarie | --x-librari \ -+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) -+ ac_prev=x_libraries ;; -+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ -+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) -+ x_libraries=$ac_optarg ;; -+ -+ -*) { echo "$as_me: error: unrecognized option: $ac_option -+Try \`$0 --help' for more information." >&2 -+ { (exit 1); exit 1; }; } -+ ;; -+ -+ *=*) -+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` -+ # Reject names that are not valid shell variable names. -+ expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && -+ { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 -+ { (exit 1); exit 1; }; } -+ ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` -+ eval "$ac_envvar='$ac_optarg'" -+ export $ac_envvar ;; -+ -+ *) -+ # FIXME: should be removed in autoconf 3.0. -+ echo "$as_me: WARNING: you should use --build, --host, --target" >&2 -+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && -+ echo "$as_me: WARNING: invalid host type: $ac_option" >&2 -+ : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} -+ ;; -+ -+ esac -+done -+ -+if test -n "$ac_prev"; then -+ ac_option=--`echo $ac_prev | sed 's/_/-/g'` -+ { echo "$as_me: error: missing argument to $ac_option" >&2 -+ { (exit 1); exit 1; }; } -+fi -+ -+# Be sure to have absolute paths. -+for ac_var in exec_prefix prefix -+do -+ eval ac_val=$`echo $ac_var` -+ case $ac_val in -+ [\\/$]* | ?:[\\/]* | NONE | '' ) ;; -+ *) { echo "$as_me: error: expected an absolute path for --$ac_var: $ac_val" >&2 -+ { (exit 1); exit 1; }; };; -+ esac -+done -+ -+# Be sure to have absolute paths. -+for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ -+ localstatedir libdir includedir oldincludedir infodir mandir -+do -+ eval ac_val=$`echo $ac_var` -+ case $ac_val in -+ [\\/$]* | ?:[\\/]* ) ;; -+ *) { echo "$as_me: error: expected an absolute path for --$ac_var: $ac_val" >&2 -+ { (exit 1); exit 1; }; };; -+ esac -+done -+ -+# There might be people who depend on the old broken behavior: `$host' -+# used to hold the argument of --host etc. -+build=$build_alias -+host=$host_alias -+target=$target_alias -+ -+# FIXME: should be removed in autoconf 3.0. -+if test "x$host_alias" != x; then -+ if test "x$build_alias" = x; then -+ cross_compiling=maybe -+ echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. -+ If a cross compiler is detected then cross compile mode will be used." >&2 -+ elif test "x$build_alias" != "x$host_alias"; then -+ cross_compiling=yes -+ fi -+fi -+ -+ac_tool_prefix= -+test -n "$host_alias" && ac_tool_prefix=$host_alias- -+ -+test "$silent" = yes && exec 6>/dev/null -+ -+# Find the source files, if location was not specified. -+if test -z "$srcdir"; then -+ ac_srcdir_defaulted=yes -+ # Try the directory containing this script, then its parent. -+ ac_prog=$0 -+ ac_confdir=`echo "$ac_prog" | sed 's%[\\/][^\\/][^\\/]*$%%'` -+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. -+ srcdir=$ac_confdir -+ if test ! -r $srcdir/$ac_unique_file; then -+ srcdir=.. -+ fi -+else -+ ac_srcdir_defaulted=no -+fi -+if test ! -r $srcdir/$ac_unique_file; then -+ if test "$ac_srcdir_defaulted" = yes; then -+ { echo "$as_me: error: cannot find sources in $ac_confdir or .." >&2 -+ { (exit 1); exit 1; }; } -+ else -+ { echo "$as_me: error: cannot find sources in $srcdir" >&2 -+ { (exit 1); exit 1; }; } -+ fi -+fi -+srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` -+ac_env_build_alias_set=${build_alias+set} -+ac_env_build_alias_value=$build_alias -+ac_cv_env_build_alias_set=${build_alias+set} -+ac_cv_env_build_alias_value=$build_alias -+ac_env_host_alias_set=${host_alias+set} -+ac_env_host_alias_value=$host_alias -+ac_cv_env_host_alias_set=${host_alias+set} -+ac_cv_env_host_alias_value=$host_alias -+ac_env_target_alias_set=${target_alias+set} -+ac_env_target_alias_value=$target_alias -+ac_cv_env_target_alias_set=${target_alias+set} -+ac_cv_env_target_alias_value=$target_alias -+ac_env_CC_set=${CC+set} -+ac_env_CC_value=$CC -+ac_cv_env_CC_set=${CC+set} -+ac_cv_env_CC_value=$CC -+ac_env_CFLAGS_set=${CFLAGS+set} -+ac_env_CFLAGS_value=$CFLAGS -+ac_cv_env_CFLAGS_set=${CFLAGS+set} -+ac_cv_env_CFLAGS_value=$CFLAGS -+ac_env_LDFLAGS_set=${LDFLAGS+set} -+ac_env_LDFLAGS_value=$LDFLAGS -+ac_cv_env_LDFLAGS_set=${LDFLAGS+set} -+ac_cv_env_LDFLAGS_value=$LDFLAGS -+ac_env_CPPFLAGS_set=${CPPFLAGS+set} -+ac_env_CPPFLAGS_value=$CPPFLAGS -+ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} -+ac_cv_env_CPPFLAGS_value=$CPPFLAGS -+ac_env_CXX_set=${CXX+set} -+ac_env_CXX_value=$CXX -+ac_cv_env_CXX_set=${CXX+set} -+ac_cv_env_CXX_value=$CXX -+ac_env_CXXFLAGS_set=${CXXFLAGS+set} -+ac_env_CXXFLAGS_value=$CXXFLAGS -+ac_cv_env_CXXFLAGS_set=${CXXFLAGS+set} -+ac_cv_env_CXXFLAGS_value=$CXXFLAGS -+ac_env_CPP_set=${CPP+set} -+ac_env_CPP_value=$CPP -+ac_cv_env_CPP_set=${CPP+set} -+ac_cv_env_CPP_value=$CPP -+ac_env_CXXCPP_set=${CXXCPP+set} -+ac_env_CXXCPP_value=$CXXCPP -+ac_cv_env_CXXCPP_set=${CXXCPP+set} -+ac_cv_env_CXXCPP_value=$CXXCPP -+ -+# -+# Report the --help message. -+# -+if test "$ac_init_help" = "long"; then -+ # Omit some internal or obsolete options to make the list less imposing. -+ # This message is too long to be a string in the A/UX 3.1 sh. -+ cat < if you have libraries in a -+ nonstandard directory -+ CPPFLAGS C/C++ preprocessor flags, e.g. -I if you have -+ headers in a nonstandard directory -+ CXX C++ compiler command -+ CXXFLAGS C++ compiler flags -+ CPP C preprocessor -+ CXXCPP C++ preprocessor -+ -+Use these variables to override the choices made by `configure' or to help -+it to find libraries and programs with nonstandard names/locations. -+ -+EOF -+fi -+ -+if test "$ac_init_help" = "recursive"; then -+ # If there are subdirs, report their specific --help. -+ ac_popdir=`pwd` -+ for ac_subdir in : $ac_subdirs_all; do test "x$ac_subdir" = x: && continue -+ cd $ac_subdir -+ # A "../" for each directory in /$ac_subdir. -+ ac_dots=`echo $ac_subdir | -+ sed 's,^\./,,;s,[^/]$,&/,;s,[^/]*/,../,g'` -+ -+ case $srcdir in -+ .) # No --srcdir option. We are building in place. -+ ac_sub_srcdir=$srcdir ;; -+ [\\/]* | ?:[\\/]* ) # Absolute path. -+ ac_sub_srcdir=$srcdir/$ac_subdir ;; -+ *) # Relative path. -+ ac_sub_srcdir=$ac_dots$srcdir/$ac_subdir ;; -+ esac -+ -+ # Check for guested configure; otherwise get Cygnus style configure. -+ if test -f $ac_sub_srcdir/configure.gnu; then -+ echo -+ $SHELL $ac_sub_srcdir/configure.gnu --help=recursive -+ elif test -f $ac_sub_srcdir/configure; then -+ echo -+ $SHELL $ac_sub_srcdir/configure --help=recursive -+ elif test -f $ac_sub_srcdir/configure.ac || -+ test -f $ac_sub_srcdir/configure.in; then -+ echo -+ $ac_configure --help -+ else -+ echo "$as_me: WARNING: no configuration information is in $ac_subdir" >&2 -+ fi -+ cd $ac_popdir -+ done -+fi -+ -+test -n "$ac_init_help" && exit 0 -+if $ac_init_version; then -+ cat <<\EOF -+ -+Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 -+Free Software Foundation, Inc. -+This configure script is free software; the Free Software Foundation -+gives unlimited permission to copy, distribute and modify it. -+EOF -+ exit 0 -+fi -+exec 5>config.log -+cat >&5 </dev/null | sed 1q` -+uname -m = `(uname -m) 2>/dev/null || echo unknown` -+uname -r = `(uname -r) 2>/dev/null || echo unknown` -+uname -s = `(uname -s) 2>/dev/null || echo unknown` -+uname -v = `(uname -v) 2>/dev/null || echo unknown` -+ -+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` -+ -+/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -+hostinfo = `(hostinfo) 2>/dev/null || echo unknown` -+/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -+/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` -+ -+PATH = $PATH -+ -+_ASUNAME -+} >&5 -+ -+cat >&5 <\?\"\']*) -+ ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` -+ ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" -+ ac_sep=" " ;; -+ *) ac_configure_args="$ac_configure_args$ac_sep$ac_arg" -+ ac_sep=" " ;; -+ esac -+ # Get rid of the leading space. -+done -+ -+# When interrupted or exit'd, cleanup temporary files, and complete -+# config.log. We remove comments because anyway the quotes in there -+# would cause problems or look ugly. -+trap 'exit_status=$? -+ # Save into config.log some information that might help in debugging. -+ echo >&5 -+ echo "## ----------------- ##" >&5 -+ echo "## Cache variables. ##" >&5 -+ echo "## ----------------- ##" >&5 -+ echo >&5 -+ # The following way of writing the cache mishandles newlines in values, -+{ -+ (set) 2>&1 | -+ case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in -+ *ac_space=\ *) -+ sed -n \ -+ "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; -+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" -+ ;; -+ *) -+ sed -n \ -+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" -+ ;; -+ esac; -+} >&5 -+ sed "/^$/d" confdefs.h >conftest.log -+ if test -s conftest.log; then -+ echo >&5 -+ echo "## ------------ ##" >&5 -+ echo "## confdefs.h. ##" >&5 -+ echo "## ------------ ##" >&5 -+ echo >&5 -+ cat conftest.log >&5 -+ fi -+ (echo; echo) >&5 -+ test "$ac_signal" != 0 && -+ echo "$as_me: caught signal $ac_signal" >&5 -+ echo "$as_me: exit $exit_status" >&5 -+ rm -rf conftest* confdefs* core core.* *.core conf$$* $ac_clean_files && -+ exit $exit_status -+ ' 0 -+for ac_signal in 1 2 13 15; do -+ trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal -+done -+ac_signal=0 -+ -+# confdefs.h avoids OS command line length limits that DEFS can exceed. -+rm -rf conftest* confdefs.h -+# AIX cpp loses on an empty file, so make sure it contains at least a newline. -+echo >confdefs.h -+ -+# Let the site file select an alternate cache file if it wants to. -+# Prefer explicitly selected file to automatically selected ones. -+if test -z "$CONFIG_SITE"; then -+ if test "x$prefix" != xNONE; then -+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" -+ else -+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" -+ fi -+fi -+for ac_site_file in $CONFIG_SITE; do -+ if test -r "$ac_site_file"; then -+ { echo "$as_me:894: loading site script $ac_site_file" >&5 -+echo "$as_me: loading site script $ac_site_file" >&6;} -+ cat "$ac_site_file" >&5 -+ . "$ac_site_file" -+ fi -+done -+ -+if test -r "$cache_file"; then -+ # Some versions of bash will fail to source /dev/null (special -+ # files actually), so we avoid doing that. -+ if test -f "$cache_file"; then -+ { echo "$as_me:905: loading cache $cache_file" >&5 -+echo "$as_me: loading cache $cache_file" >&6;} -+ case $cache_file in -+ [\\/]* | ?:[\\/]* ) . $cache_file;; -+ *) . ./$cache_file;; -+ esac -+ fi -+else -+ { echo "$as_me:913: creating cache $cache_file" >&5 -+echo "$as_me: creating cache $cache_file" >&6;} -+ >$cache_file -+fi -+ -+# Check that the precious variables saved in the cache have kept the same -+# value. -+ac_cache_corrupted=false -+for ac_var in `(set) 2>&1 | -+ sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do -+ eval ac_old_set=\$ac_cv_env_${ac_var}_set -+ eval ac_new_set=\$ac_env_${ac_var}_set -+ eval ac_old_val="\$ac_cv_env_${ac_var}_value" -+ eval ac_new_val="\$ac_env_${ac_var}_value" -+ case $ac_old_set,$ac_new_set in -+ set,) -+ { echo "$as_me:929: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -+echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} -+ ac_cache_corrupted=: ;; -+ ,set) -+ { echo "$as_me:933: error: \`$ac_var' was not set in the previous run" >&5 -+echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} -+ ac_cache_corrupted=: ;; -+ ,);; -+ *) -+ if test "x$ac_old_val" != "x$ac_new_val"; then -+ { echo "$as_me:939: error: \`$ac_var' has changed since the previous run:" >&5 -+echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} -+ { echo "$as_me:941: former value: $ac_old_val" >&5 -+echo "$as_me: former value: $ac_old_val" >&2;} -+ { echo "$as_me:943: current value: $ac_new_val" >&5 -+echo "$as_me: current value: $ac_new_val" >&2;} -+ ac_cache_corrupted=: -+ fi;; -+ esac -+ # Pass precious variables to config.status. It doesn't matter if -+ # we pass some twice (in addition to the command line arguments). -+ if test "$ac_new_set" = set; then -+ case $ac_new_val in -+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) -+ ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` -+ ac_configure_args="$ac_configure_args '$ac_arg'" -+ ;; -+ *) ac_configure_args="$ac_configure_args $ac_var=$ac_new_val" -+ ;; -+ esac -+ fi -+done -+if $ac_cache_corrupted; then -+ { echo "$as_me:962: error: changes in the environment can compromise the build" >&5 -+echo "$as_me: error: changes in the environment can compromise the build" >&2;} -+ { { echo "$as_me:964: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 -+echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} -+ { (exit 1); exit 1; }; } -+fi -+ -+ac_ext=c -+ac_cpp='$CPP $CPPFLAGS' -+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -+ac_compiler_gnu=$ac_cv_c_compiler_gnu -+ -+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in -+ *c*,-n*) ECHO_N= ECHO_C=' -+' ECHO_T=' ' ;; -+ *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; -+ *) ECHO_N= ECHO_C='\c' ECHO_T= ;; -+esac -+echo "#! $SHELL" >conftest.sh -+echo "exit 0" >>conftest.sh -+chmod +x conftest.sh -+if { (echo "$as_me:984: PATH=\".;.\"; conftest.sh") >&5 -+ (PATH=".;."; conftest.sh) 2>&5 -+ ac_status=$? -+ echo "$as_me:987: \$? = $ac_status" >&5 -+ (exit $ac_status); }; then -+ ac_path_separator=';' -+else -+ ac_path_separator=: -+fi -+PATH_SEPARATOR="$ac_path_separator" -+rm -f conftest.sh -+ -+ac_aux_dir= -+for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do -+ if test -f $ac_dir/install-sh; then -+ ac_aux_dir=$ac_dir -+ ac_install_sh="$ac_aux_dir/install-sh -c" -+ break -+ elif test -f $ac_dir/install.sh; then -+ ac_aux_dir=$ac_dir -+ ac_install_sh="$ac_aux_dir/install.sh -c" -+ break -+ elif test -f $ac_dir/shtool; then -+ ac_aux_dir=$ac_dir -+ ac_install_sh="$ac_aux_dir/shtool install -c" -+ break -+ fi -+done -+if test -z "$ac_aux_dir"; then -+ { { echo "$as_me:1013: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 -+echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;} -+ { (exit 1); exit 1; }; } -+fi -+ac_config_guess="$SHELL $ac_aux_dir/config.guess" -+ac_config_sub="$SHELL $ac_aux_dir/config.sub" -+ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. -+ -+# Make sure we can run config.sub. -+$ac_config_sub sun4 >/dev/null 2>&1 || -+ { { echo "$as_me:1023: error: cannot run $ac_config_sub" >&5 -+echo "$as_me: error: cannot run $ac_config_sub" >&2;} -+ { (exit 1); exit 1; }; } -+ -+echo "$as_me:1027: checking build system type" >&5 -+echo $ECHO_N "checking build system type... $ECHO_C" >&6 -+if test "${ac_cv_build+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ ac_cv_build_alias=$build_alias -+test -z "$ac_cv_build_alias" && -+ ac_cv_build_alias=`$ac_config_guess` -+test -z "$ac_cv_build_alias" && -+ { { echo "$as_me:1036: error: cannot guess build type; you must specify one" >&5 -+echo "$as_me: error: cannot guess build type; you must specify one" >&2;} -+ { (exit 1); exit 1; }; } -+ac_cv_build=`$ac_config_sub $ac_cv_build_alias` || -+ { { echo "$as_me:1040: error: $ac_config_sub $ac_cv_build_alias failed." >&5 -+echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed." >&2;} -+ { (exit 1); exit 1; }; } -+ -+fi -+echo "$as_me:1045: result: $ac_cv_build" >&5 -+echo "${ECHO_T}$ac_cv_build" >&6 -+build=$ac_cv_build -+build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -+build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -+build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -+ -+echo "$as_me:1052: checking host system type" >&5 -+echo $ECHO_N "checking host system type... $ECHO_C" >&6 -+if test "${ac_cv_host+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ ac_cv_host_alias=$host_alias -+test -z "$ac_cv_host_alias" && -+ ac_cv_host_alias=$ac_cv_build_alias -+ac_cv_host=`$ac_config_sub $ac_cv_host_alias` || -+ { { echo "$as_me:1061: error: $ac_config_sub $ac_cv_host_alias failed" >&5 -+echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;} -+ { (exit 1); exit 1; }; } -+ -+fi -+echo "$as_me:1066: result: $ac_cv_host" >&5 -+echo "${ECHO_T}$ac_cv_host" >&6 -+host=$ac_cv_host -+host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -+host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -+host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -+ -+echo "$as_me:1073: checking target system type" >&5 -+echo $ECHO_N "checking target system type... $ECHO_C" >&6 -+if test "${ac_cv_target+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ ac_cv_target_alias=$target_alias -+test "x$ac_cv_target_alias" = "x" && -+ ac_cv_target_alias=$ac_cv_host_alias -+ac_cv_target=`$ac_config_sub $ac_cv_target_alias` || -+ { { echo "$as_me:1082: error: $ac_config_sub $ac_cv_target_alias failed" >&5 -+echo "$as_me: error: $ac_config_sub $ac_cv_target_alias failed" >&2;} -+ { (exit 1); exit 1; }; } -+ -+fi -+echo "$as_me:1087: result: $ac_cv_target" >&5 -+echo "${ECHO_T}$ac_cv_target" >&6 -+target=$ac_cv_target -+target_cpu=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -+target_vendor=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -+target_os=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -+ -+# The aliases save the names the user supplied, while $host etc. -+# will get canonicalized. -+test -n "$target_alias" && -+ test "$program_prefix$program_suffix$program_transform_name" = \ -+ NONENONEs,x,x, && -+ program_prefix=${target_alias}- -+# Find a good install program. We prefer a C program (faster), -+# so one script is as good as another. But avoid the broken or -+# incompatible versions: -+# SysV /etc/install, /usr/sbin/install -+# SunOS /usr/etc/install -+# IRIX /sbin/install -+# AIX /bin/install -+# AmigaOS /C/install, which installs bootblocks on floppy discs -+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -+# AFS /usr/afsws/bin/install, which mishandles nonexistent args -+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -+# ./install, which can be erroneously created by make from ./install.sh. -+echo "$as_me:1112: checking for a BSD compatible install" >&5 -+echo $ECHO_N "checking for a BSD compatible install... $ECHO_C" >&6 -+if test -z "$INSTALL"; then -+if test "${ac_cv_path_install+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ ac_save_IFS=$IFS; IFS=$ac_path_separator -+ for ac_dir in $PATH; do -+ IFS=$ac_save_IFS -+ # Account for people who put trailing slashes in PATH elements. -+ case $ac_dir/ in -+ / | ./ | .// | /cC/* \ -+ | /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* \ -+ | /usr/ucb/* ) ;; -+ *) -+ # OSF1 and SCO ODT 3.0 have their own names for install. -+ # Don't use installbsd from OSF since it installs stuff as root -+ # by default. -+ for ac_prog in ginstall scoinst install; do -+ if $as_executable_p "$ac_dir/$ac_prog"; then -+ if test $ac_prog = install && -+ grep dspmsg "$ac_dir/$ac_prog" >/dev/null 2>&1; then -+ # AIX install. It has an incompatible calling convention. -+ : -+ elif test $ac_prog = install && -+ grep pwplus "$ac_dir/$ac_prog" >/dev/null 2>&1; then -+ # program-specific install script used by HP pwplus--don't use. -+ : -+ else -+ ac_cv_path_install="$ac_dir/$ac_prog -c" -+ break 2 -+ fi -+ fi -+ done -+ ;; -+ esac -+ done -+ -+fi -+ if test "${ac_cv_path_install+set}" = set; then -+ INSTALL=$ac_cv_path_install -+ else -+ # As a last resort, use the slow shell script. We don't cache a -+ # path for INSTALL within a source directory, because that will -+ # break other packages using the cache if that directory is -+ # removed, or if the path is relative. -+ INSTALL=$ac_install_sh -+ fi -+fi -+echo "$as_me:1161: result: $INSTALL" >&5 -+echo "${ECHO_T}$INSTALL" >&6 -+ -+# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -+# It thinks the first close brace ends the variable substitution. -+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' -+ -+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' -+ -+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' -+ -+echo "$as_me:1172: checking whether build environment is sane" >&5 -+echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6 -+# Just in case -+sleep 1 -+echo timestamp > conftest.file -+# Do `set' in a subshell so we don't clobber the current shell's -+# arguments. Must try -L first in case configure is actually a -+# symlink; some systems play weird games with the mod time of symlinks -+# (eg FreeBSD returns the mod time of the symlink's containing -+# directory). -+if ( -+ set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` -+ if test "$*" = "X"; then -+ # -L didn't work. -+ set X `ls -t $srcdir/configure conftest.file` -+ fi -+ rm -f conftest.file -+ if test "$*" != "X $srcdir/configure conftest.file" \ -+ && test "$*" != "X conftest.file $srcdir/configure"; then -+ -+ # If neither matched, then we have a broken ls. This can happen -+ # if, for instance, CONFIG_SHELL is bash and it inherits a -+ # broken ls alias from the environment. This has actually -+ # happened. Such a system could not be considered "sane". -+ { { echo "$as_me:1196: error: ls -t appears to fail. Make sure there is not a broken -+alias in your environment" >&5 -+echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken -+alias in your environment" >&2;} -+ { (exit 1); exit 1; }; } -+ fi -+ -+ test "$2" = conftest.file -+ ) -+then -+ # Ok. -+ : -+else -+ { { echo "$as_me:1209: error: newly created file is older than distributed files! -+Check your system clock" >&5 -+echo "$as_me: error: newly created file is older than distributed files! -+Check your system clock" >&2;} -+ { (exit 1); exit 1; }; } -+fi -+echo "$as_me:1215: result: yes" >&5 -+echo "${ECHO_T}yes" >&6 -+test "$program_prefix" != NONE && -+ program_transform_name="s,^,$program_prefix,;$program_transform_name" -+# Use a double $ so make ignores it. -+test "$program_suffix" != NONE && -+ program_transform_name="s,\$,$program_suffix,;$program_transform_name" -+# Double any \ or $. echo might interpret backslashes. -+# By default was `s,x,x', remove it if useless. -+cat <<\_ACEOF >conftest.sed -+s/[\\$]/&&/g;s/;s,x,x,$// -+_ACEOF -+program_transform_name=`echo $program_transform_name | sed -f conftest.sed` -+rm conftest.sed -+ -+# expand $ac_aux_dir to an absolute path -+am_aux_dir=`CDPATH=:; cd $ac_aux_dir && pwd` -+ -+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" -+# Use eval to expand $SHELL -+if eval "$MISSING --run true"; then -+ am_missing_run="$MISSING --run " -+else -+ am_missing_run= -+ am_backtick='`' -+ { echo "$as_me:1240: WARNING: ${am_backtick}missing' script is too old or missing" >&5 -+echo "$as_me: WARNING: ${am_backtick}missing' script is too old or missing" >&2;} -+fi -+ -+for ac_prog in mawk gawk nawk awk -+do -+ # Extract the first word of "$ac_prog", so it can be a program name with args. -+set dummy $ac_prog; ac_word=$2 -+echo "$as_me:1248: checking for $ac_word" >&5 -+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -+if test "${ac_cv_prog_AWK+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ if test -n "$AWK"; then -+ ac_cv_prog_AWK="$AWK" # Let the user override the test. -+else -+ ac_save_IFS=$IFS; IFS=$ac_path_separator -+ac_dummy="$PATH" -+for ac_dir in $ac_dummy; do -+ IFS=$ac_save_IFS -+ test -z "$ac_dir" && ac_dir=. -+ $as_executable_p "$ac_dir/$ac_word" || continue -+ac_cv_prog_AWK="$ac_prog" -+echo "$as_me:1263: found $ac_dir/$ac_word" >&5 -+break -+done -+ -+fi -+fi -+AWK=$ac_cv_prog_AWK -+if test -n "$AWK"; then -+ echo "$as_me:1271: result: $AWK" >&5 -+echo "${ECHO_T}$AWK" >&6 -+else -+ echo "$as_me:1274: result: no" >&5 -+echo "${ECHO_T}no" >&6 -+fi -+ -+ test -n "$AWK" && break -+done -+ -+echo "$as_me:1281: checking whether ${MAKE-make} sets \${MAKE}" >&5 -+echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6 -+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'` -+if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ cat >conftest.make <<\EOF -+all: -+ @echo 'ac_maketemp="${MAKE}"' -+EOF -+# GNU make sometimes prints "make[1]: Entering...", which would confuse us. -+eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=` -+if test -n "$ac_maketemp"; then -+ eval ac_cv_prog_make_${ac_make}_set=yes -+else -+ eval ac_cv_prog_make_${ac_make}_set=no -+fi -+rm -f conftest.make -+fi -+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then -+ echo "$as_me:1301: result: yes" >&5 -+echo "${ECHO_T}yes" >&6 -+ SET_MAKE= -+else -+ echo "$as_me:1305: result: no" >&5 -+echo "${ECHO_T}no" >&6 -+ SET_MAKE="MAKE=${MAKE-make}" -+fi -+ -+# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given. -+if test "${enable_dependency_tracking+set}" = set; then -+ enableval="$enable_dependency_tracking" -+ -+fi; -+if test "x$enable_dependency_tracking" != xno; then -+ am_depcomp="$ac_aux_dir/depcomp" -+ AMDEPBACKSLASH='\' -+fi -+ -+if test "x$enable_dependency_tracking" != xno; then -+ AMDEP_TRUE= -+ AMDEP_FALSE='#' -+else -+ AMDEP_TRUE='#' -+ AMDEP_FALSE= -+fi -+ -+rm -f .deps 2>/dev/null -+mkdir .deps 2>/dev/null -+if test -d .deps; then -+ DEPDIR=.deps -+else -+ # MS-DOS does not allow filenames that begin with a dot. -+ DEPDIR=_deps -+fi -+rmdir .deps 2>/dev/null -+ -+# test to see if srcdir already configured -+if test "`CDPATH=:; cd $srcdir && pwd`" != "`pwd`" && -+ test -f $srcdir/config.status; then -+ { { echo "$as_me:1341: error: source directory already configured; run \"make distclean\" there first" >&5 -+echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} -+ { (exit 1); exit 1; }; } -+fi -+ -+# Define the identity of the package. -+PACKAGE=tripwire -+VERSION=2.3.1 -+ -+cat >>confdefs.h <>confdefs.h < /dev/null -+chmod 755 install-sh 2> /dev/null -+ -+CFLAGS=${CFLAGS:-"-O -pipe -Wall"} -+CXXFLAGS=${CXXFLAGS:-"-O -pipe -Wall"} -+ -+if test "x${STLPORT_MAKEFILE}" = "x"; then STLPORT_MAKEFILE="gcc.mak"; fi -+if test "x${STLPORT_LIBRARY}" = "x"; then STLPORT_LIBRARY="libstlport_gcc.a"; fi -+if test "x${STLPORT_LD}" = "x"; then STLPORT_LD="-lstlport"; fi -+if test "x${STLPORT_INCLUDE}" = "x"; then STLPORT_INCLUDE="-I../STLport-4.0/stlport"; fi -+if test "x${STLPORT_SUBDIR}" = "x"; then STLPORT_SUBDIR="STLport-4.0"; fi -+ -+# Check whether --enable-static or --disable-static was given. -+if test "${enable_static+set}" = set; then -+ enableval="$enable_static" -+ -+fi; -+if test "x$enable_static" = xyes -+then LDFLAGS="${LDFLAGS} -static" -+fi -+# Check whether --enable-debug or --disable-debug was given. -+if test "${enable_debug+set}" = set; then -+ enableval="$enable_debug" -+ -+fi; -+if test "x$enable_debug" = xyes -+then -+ CFLAGS="${CFLAGS} -g" -+ CXXFLAGS="${CXXFLAGS} -g" -+ -+cat >>confdefs.h <<\EOF -+#define DEBUG 1 -+EOF -+ -+fi -+ -+ac_ext=c -+ac_cpp='$CPP $CPPFLAGS' -+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -+ac_compiler_gnu=$ac_cv_c_compiler_gnu -+if test -n "$ac_tool_prefix"; then -+ # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -+set dummy ${ac_tool_prefix}gcc; ac_word=$2 -+echo "$as_me:1436: checking for $ac_word" >&5 -+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -+if test "${ac_cv_prog_CC+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ if test -n "$CC"; then -+ ac_cv_prog_CC="$CC" # Let the user override the test. -+else -+ ac_save_IFS=$IFS; IFS=$ac_path_separator -+ac_dummy="$PATH" -+for ac_dir in $ac_dummy; do -+ IFS=$ac_save_IFS -+ test -z "$ac_dir" && ac_dir=. -+ $as_executable_p "$ac_dir/$ac_word" || continue -+ac_cv_prog_CC="${ac_tool_prefix}gcc" -+echo "$as_me:1451: found $ac_dir/$ac_word" >&5 -+break -+done -+ -+fi -+fi -+CC=$ac_cv_prog_CC -+if test -n "$CC"; then -+ echo "$as_me:1459: result: $CC" >&5 -+echo "${ECHO_T}$CC" >&6 -+else -+ echo "$as_me:1462: result: no" >&5 -+echo "${ECHO_T}no" >&6 -+fi -+ -+fi -+if test -z "$ac_cv_prog_CC"; then -+ ac_ct_CC=$CC -+ # Extract the first word of "gcc", so it can be a program name with args. -+set dummy gcc; ac_word=$2 -+echo "$as_me:1471: checking for $ac_word" >&5 -+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ if test -n "$ac_ct_CC"; then -+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -+else -+ ac_save_IFS=$IFS; IFS=$ac_path_separator -+ac_dummy="$PATH" -+for ac_dir in $ac_dummy; do -+ IFS=$ac_save_IFS -+ test -z "$ac_dir" && ac_dir=. -+ $as_executable_p "$ac_dir/$ac_word" || continue -+ac_cv_prog_ac_ct_CC="gcc" -+echo "$as_me:1486: found $ac_dir/$ac_word" >&5 -+break -+done -+ -+fi -+fi -+ac_ct_CC=$ac_cv_prog_ac_ct_CC -+if test -n "$ac_ct_CC"; then -+ echo "$as_me:1494: result: $ac_ct_CC" >&5 -+echo "${ECHO_T}$ac_ct_CC" >&6 -+else -+ echo "$as_me:1497: result: no" >&5 -+echo "${ECHO_T}no" >&6 -+fi -+ -+ CC=$ac_ct_CC -+else -+ CC="$ac_cv_prog_CC" -+fi -+ -+if test -z "$CC"; then -+ if test -n "$ac_tool_prefix"; then -+ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -+set dummy ${ac_tool_prefix}cc; ac_word=$2 -+echo "$as_me:1510: checking for $ac_word" >&5 -+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -+if test "${ac_cv_prog_CC+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ if test -n "$CC"; then -+ ac_cv_prog_CC="$CC" # Let the user override the test. -+else -+ ac_save_IFS=$IFS; IFS=$ac_path_separator -+ac_dummy="$PATH" -+for ac_dir in $ac_dummy; do -+ IFS=$ac_save_IFS -+ test -z "$ac_dir" && ac_dir=. -+ $as_executable_p "$ac_dir/$ac_word" || continue -+ac_cv_prog_CC="${ac_tool_prefix}cc" -+echo "$as_me:1525: found $ac_dir/$ac_word" >&5 -+break -+done -+ -+fi -+fi -+CC=$ac_cv_prog_CC -+if test -n "$CC"; then -+ echo "$as_me:1533: result: $CC" >&5 -+echo "${ECHO_T}$CC" >&6 -+else -+ echo "$as_me:1536: result: no" >&5 -+echo "${ECHO_T}no" >&6 -+fi -+ -+fi -+if test -z "$ac_cv_prog_CC"; then -+ ac_ct_CC=$CC -+ # Extract the first word of "cc", so it can be a program name with args. -+set dummy cc; ac_word=$2 -+echo "$as_me:1545: checking for $ac_word" >&5 -+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ if test -n "$ac_ct_CC"; then -+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -+else -+ ac_save_IFS=$IFS; IFS=$ac_path_separator -+ac_dummy="$PATH" -+for ac_dir in $ac_dummy; do -+ IFS=$ac_save_IFS -+ test -z "$ac_dir" && ac_dir=. -+ $as_executable_p "$ac_dir/$ac_word" || continue -+ac_cv_prog_ac_ct_CC="cc" -+echo "$as_me:1560: found $ac_dir/$ac_word" >&5 -+break -+done -+ -+fi -+fi -+ac_ct_CC=$ac_cv_prog_ac_ct_CC -+if test -n "$ac_ct_CC"; then -+ echo "$as_me:1568: result: $ac_ct_CC" >&5 -+echo "${ECHO_T}$ac_ct_CC" >&6 -+else -+ echo "$as_me:1571: result: no" >&5 -+echo "${ECHO_T}no" >&6 -+fi -+ -+ CC=$ac_ct_CC -+else -+ CC="$ac_cv_prog_CC" -+fi -+ -+fi -+if test -z "$CC"; then -+ # Extract the first word of "cc", so it can be a program name with args. -+set dummy cc; ac_word=$2 -+echo "$as_me:1584: checking for $ac_word" >&5 -+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -+if test "${ac_cv_prog_CC+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ if test -n "$CC"; then -+ ac_cv_prog_CC="$CC" # Let the user override the test. -+else -+ ac_prog_rejected=no -+ ac_save_IFS=$IFS; IFS=$ac_path_separator -+ac_dummy="$PATH" -+for ac_dir in $ac_dummy; do -+ IFS=$ac_save_IFS -+ test -z "$ac_dir" && ac_dir=. -+ $as_executable_p "$ac_dir/$ac_word" || continue -+if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then -+ ac_prog_rejected=yes -+ continue -+fi -+ac_cv_prog_CC="cc" -+echo "$as_me:1604: found $ac_dir/$ac_word" >&5 -+break -+done -+ -+if test $ac_prog_rejected = yes; then -+ # We found a bogon in the path, so make sure we never use it. -+ set dummy $ac_cv_prog_CC -+ shift -+ if test $# != 0; then -+ # We chose a different compiler from the bogus one. -+ # However, it has the same basename, so the bogon will be chosen -+ # first if we set CC to just the basename; use the full file name. -+ shift -+ set dummy "$ac_dir/$ac_word" ${1+"$@"} -+ shift -+ ac_cv_prog_CC="$@" -+ fi -+fi -+fi -+fi -+CC=$ac_cv_prog_CC -+if test -n "$CC"; then -+ echo "$as_me:1626: result: $CC" >&5 -+echo "${ECHO_T}$CC" >&6 -+else -+ echo "$as_me:1629: result: no" >&5 -+echo "${ECHO_T}no" >&6 -+fi -+ -+fi -+if test -z "$CC"; then -+ if test -n "$ac_tool_prefix"; then -+ for ac_prog in cl -+ do -+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -+set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -+echo "$as_me:1640: checking for $ac_word" >&5 -+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -+if test "${ac_cv_prog_CC+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ if test -n "$CC"; then -+ ac_cv_prog_CC="$CC" # Let the user override the test. -+else -+ ac_save_IFS=$IFS; IFS=$ac_path_separator -+ac_dummy="$PATH" -+for ac_dir in $ac_dummy; do -+ IFS=$ac_save_IFS -+ test -z "$ac_dir" && ac_dir=. -+ $as_executable_p "$ac_dir/$ac_word" || continue -+ac_cv_prog_CC="$ac_tool_prefix$ac_prog" -+echo "$as_me:1655: found $ac_dir/$ac_word" >&5 -+break -+done -+ -+fi -+fi -+CC=$ac_cv_prog_CC -+if test -n "$CC"; then -+ echo "$as_me:1663: result: $CC" >&5 -+echo "${ECHO_T}$CC" >&6 -+else -+ echo "$as_me:1666: result: no" >&5 -+echo "${ECHO_T}no" >&6 -+fi -+ -+ test -n "$CC" && break -+ done -+fi -+if test -z "$CC"; then -+ ac_ct_CC=$CC -+ for ac_prog in cl -+do -+ # Extract the first word of "$ac_prog", so it can be a program name with args. -+set dummy $ac_prog; ac_word=$2 -+echo "$as_me:1679: checking for $ac_word" >&5 -+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ if test -n "$ac_ct_CC"; then -+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -+else -+ ac_save_IFS=$IFS; IFS=$ac_path_separator -+ac_dummy="$PATH" -+for ac_dir in $ac_dummy; do -+ IFS=$ac_save_IFS -+ test -z "$ac_dir" && ac_dir=. -+ $as_executable_p "$ac_dir/$ac_word" || continue -+ac_cv_prog_ac_ct_CC="$ac_prog" -+echo "$as_me:1694: found $ac_dir/$ac_word" >&5 -+break -+done -+ -+fi -+fi -+ac_ct_CC=$ac_cv_prog_ac_ct_CC -+if test -n "$ac_ct_CC"; then -+ echo "$as_me:1702: result: $ac_ct_CC" >&5 -+echo "${ECHO_T}$ac_ct_CC" >&6 -+else -+ echo "$as_me:1705: result: no" >&5 -+echo "${ECHO_T}no" >&6 -+fi -+ -+ test -n "$ac_ct_CC" && break -+done -+ -+ CC=$ac_ct_CC -+fi -+ -+fi -+ -+test -z "$CC" && { { echo "$as_me:1717: error: no acceptable cc found in \$PATH" >&5 -+echo "$as_me: error: no acceptable cc found in \$PATH" >&2;} -+ { (exit 1); exit 1; }; } -+ -+# Provide some information about the compiler. -+echo "$as_me:1722:" \ -+ "checking for C compiler version" >&5 -+ac_compiler=`set X $ac_compile; echo $2` -+{ (eval echo "$as_me:1725: \"$ac_compiler --version &5\"") >&5 -+ (eval $ac_compiler --version &5) 2>&5 -+ ac_status=$? -+ echo "$as_me:1728: \$? = $ac_status" >&5 -+ (exit $ac_status); } -+{ (eval echo "$as_me:1730: \"$ac_compiler -v &5\"") >&5 -+ (eval $ac_compiler -v &5) 2>&5 -+ ac_status=$? -+ echo "$as_me:1733: \$? = $ac_status" >&5 -+ (exit $ac_status); } -+{ (eval echo "$as_me:1735: \"$ac_compiler -V &5\"") >&5 -+ (eval $ac_compiler -V &5) 2>&5 -+ ac_status=$? -+ echo "$as_me:1738: \$? = $ac_status" >&5 -+ (exit $ac_status); } -+ -+cat >conftest.$ac_ext <<_ACEOF -+#line 1742 "configure" -+#include "confdefs.h" -+ -+int -+main () -+{ -+ -+ ; -+ return 0; -+} -+_ACEOF -+ac_clean_files_save=$ac_clean_files -+ac_clean_files="$ac_clean_files a.out a.exe" -+# Try to create an executable without -o first, disregard a.out. -+# It will help us diagnose broken compilers, and finding out an intuition -+# of exeext. -+echo "$as_me:1758: checking for C compiler default output" >&5 -+echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6 -+ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` -+if { (eval echo "$as_me:1761: \"$ac_link_default\"") >&5 -+ (eval $ac_link_default) 2>&5 -+ ac_status=$? -+ echo "$as_me:1764: \$? = $ac_status" >&5 -+ (exit $ac_status); }; then -+ # Find the output, starting from the most likely. This scheme is -+# not robust to junk in `.', hence go to wildcards (a.*) only as a last -+# resort. -+for ac_file in `ls a.exe conftest.exe 2>/dev/null; -+ ls a.out conftest 2>/dev/null; -+ ls a.* conftest.* 2>/dev/null`; do -+ case $ac_file in -+ *.$ac_ext | *.o | *.obj | *.xcoff | *.tds | *.d | *.pdb ) ;; -+ a.out ) # We found the default executable, but exeext='' is most -+ # certainly right. -+ break;; -+ *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` -+ # FIXME: I believe we export ac_cv_exeext for Libtool --akim. -+ export ac_cv_exeext -+ break;; -+ * ) break;; -+ esac -+done -+else -+ echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+{ { echo "$as_me:1787: error: C compiler cannot create executables" >&5 -+echo "$as_me: error: C compiler cannot create executables" >&2;} -+ { (exit 77); exit 77; }; } -+fi -+ -+ac_exeext=$ac_cv_exeext -+echo "$as_me:1793: result: $ac_file" >&5 -+echo "${ECHO_T}$ac_file" >&6 -+ -+# Check the compiler produces executables we can run. If not, either -+# the compiler is broken, or we cross compile. -+echo "$as_me:1798: checking whether the C compiler works" >&5 -+echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6 -+# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 -+# If not cross compiling, check that we can run a simple program. -+if test "$cross_compiling" != yes; then -+ if { ac_try='./$ac_file' -+ { (eval echo "$as_me:1804: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:1807: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ cross_compiling=no -+ else -+ if test "$cross_compiling" = maybe; then -+ cross_compiling=yes -+ else -+ { { echo "$as_me:1814: error: cannot run C compiled programs. -+If you meant to cross compile, use \`--host'." >&5 -+echo "$as_me: error: cannot run C compiled programs. -+If you meant to cross compile, use \`--host'." >&2;} -+ { (exit 1); exit 1; }; } -+ fi -+ fi -+fi -+echo "$as_me:1822: result: yes" >&5 -+echo "${ECHO_T}yes" >&6 -+ -+rm -f a.out a.exe conftest$ac_cv_exeext -+ac_clean_files=$ac_clean_files_save -+# Check the compiler produces executables we can run. If not, either -+# the compiler is broken, or we cross compile. -+echo "$as_me:1829: checking whether we are cross compiling" >&5 -+echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 -+echo "$as_me:1831: result: $cross_compiling" >&5 -+echo "${ECHO_T}$cross_compiling" >&6 -+ -+echo "$as_me:1834: checking for executable suffix" >&5 -+echo $ECHO_N "checking for executable suffix... $ECHO_C" >&6 -+if { (eval echo "$as_me:1836: \"$ac_link\"") >&5 -+ (eval $ac_link) 2>&5 -+ ac_status=$? -+ echo "$as_me:1839: \$? = $ac_status" >&5 -+ (exit $ac_status); }; then -+ # If both `conftest.exe' and `conftest' are `present' (well, observable) -+# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will -+# work properly (i.e., refer to `conftest.exe'), while it won't with -+# `rm'. -+for ac_file in `(ls conftest.exe; ls conftest; ls conftest.*) 2>/dev/null`; do -+ case $ac_file in -+ *.$ac_ext | *.o | *.obj | *.xcoff | *.tds | *.d | *.pdb ) ;; -+ *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` -+ export ac_cv_exeext -+ break;; -+ * ) break;; -+ esac -+done -+else -+ { { echo "$as_me:1855: error: cannot compute EXEEXT: cannot compile and link" >&5 -+echo "$as_me: error: cannot compute EXEEXT: cannot compile and link" >&2;} -+ { (exit 1); exit 1; }; } -+fi -+ -+rm -f conftest$ac_cv_exeext -+echo "$as_me:1861: result: $ac_cv_exeext" >&5 -+echo "${ECHO_T}$ac_cv_exeext" >&6 -+ -+rm -f conftest.$ac_ext -+EXEEXT=$ac_cv_exeext -+ac_exeext=$EXEEXT -+echo "$as_me:1867: checking for object suffix" >&5 -+echo $ECHO_N "checking for object suffix... $ECHO_C" >&6 -+if test "${ac_cv_objext+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ cat >conftest.$ac_ext <<_ACEOF -+#line 1873 "configure" -+#include "confdefs.h" -+ -+int -+main () -+{ -+ -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.o conftest.obj -+if { (eval echo "$as_me:1885: \"$ac_compile\"") >&5 -+ (eval $ac_compile) 2>&5 -+ ac_status=$? -+ echo "$as_me:1888: \$? = $ac_status" >&5 -+ (exit $ac_status); }; then -+ for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do -+ case $ac_file in -+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb ) ;; -+ *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` -+ break;; -+ esac -+done -+else -+ echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+{ { echo "$as_me:1900: error: cannot compute OBJEXT: cannot compile" >&5 -+echo "$as_me: error: cannot compute OBJEXT: cannot compile" >&2;} -+ { (exit 1); exit 1; }; } -+fi -+ -+rm -f conftest.$ac_cv_objext conftest.$ac_ext -+fi -+echo "$as_me:1907: result: $ac_cv_objext" >&5 -+echo "${ECHO_T}$ac_cv_objext" >&6 -+OBJEXT=$ac_cv_objext -+ac_objext=$OBJEXT -+echo "$as_me:1911: checking whether we are using the GNU C compiler" >&5 -+echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 -+if test "${ac_cv_c_compiler_gnu+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ cat >conftest.$ac_ext <<_ACEOF -+#line 1917 "configure" -+#include "confdefs.h" -+ -+int -+main () -+{ -+#ifndef __GNUC__ -+ choke me -+#endif -+ -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext -+if { (eval echo "$as_me:1932: \"$ac_compile\"") >&5 -+ (eval $ac_compile) 2>&5 -+ ac_status=$? -+ echo "$as_me:1935: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -s conftest.$ac_objext' -+ { (eval echo "$as_me:1938: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:1941: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_compiler_gnu=yes -+else -+ echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+ac_compiler_gnu=no -+fi -+rm -f conftest.$ac_objext conftest.$ac_ext -+ac_cv_c_compiler_gnu=$ac_compiler_gnu -+ -+fi -+echo "$as_me:1953: result: $ac_cv_c_compiler_gnu" >&5 -+echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 -+GCC=`test $ac_compiler_gnu = yes && echo yes` -+ac_test_CFLAGS=${CFLAGS+set} -+ac_save_CFLAGS=$CFLAGS -+CFLAGS="-g" -+echo "$as_me:1959: checking whether $CC accepts -g" >&5 -+echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 -+if test "${ac_cv_prog_cc_g+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ cat >conftest.$ac_ext <<_ACEOF -+#line 1965 "configure" -+#include "confdefs.h" -+ -+int -+main () -+{ -+ -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext -+if { (eval echo "$as_me:1977: \"$ac_compile\"") >&5 -+ (eval $ac_compile) 2>&5 -+ ac_status=$? -+ echo "$as_me:1980: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -s conftest.$ac_objext' -+ { (eval echo "$as_me:1983: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:1986: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_cv_prog_cc_g=yes -+else -+ echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+ac_cv_prog_cc_g=no -+fi -+rm -f conftest.$ac_objext conftest.$ac_ext -+fi -+echo "$as_me:1996: result: $ac_cv_prog_cc_g" >&5 -+echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 -+if test "$ac_test_CFLAGS" = set; then -+ CFLAGS=$ac_save_CFLAGS -+elif test $ac_cv_prog_cc_g = yes; then -+ if test "$GCC" = yes; then -+ CFLAGS="-g -O2" -+ else -+ CFLAGS="-g" -+ fi -+else -+ if test "$GCC" = yes; then -+ CFLAGS="-O2" -+ else -+ CFLAGS= -+ fi -+fi -+# Some people use a C++ compiler to compile C. Since we use `exit', -+# in C++ we need to declare it. In case someone uses the same compiler -+# for both compiling C and C++ we need to have the C++ compiler decide -+# the declaration of exit, since it's the most demanding environment. -+cat >conftest.$ac_ext <<_ACEOF -+#ifndef __cplusplus -+ choke me -+#endif -+_ACEOF -+rm -f conftest.$ac_objext -+if { (eval echo "$as_me:2023: \"$ac_compile\"") >&5 -+ (eval $ac_compile) 2>&5 -+ ac_status=$? -+ echo "$as_me:2026: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -s conftest.$ac_objext' -+ { (eval echo "$as_me:2029: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:2032: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ for ac_declaration in \ -+ ''\ -+ '#include ' \ -+ 'extern "C" void std::exit (int) throw (); using std::exit;' \ -+ 'extern "C" void std::exit (int); using std::exit;' \ -+ 'extern "C" void exit (int) throw ();' \ -+ 'extern "C" void exit (int);' \ -+ 'void exit (int);' -+do -+ cat >conftest.$ac_ext <<_ACEOF -+#line 2044 "configure" -+#include "confdefs.h" -+#include -+$ac_declaration -+int -+main () -+{ -+exit (42); -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext -+if { (eval echo "$as_me:2057: \"$ac_compile\"") >&5 -+ (eval $ac_compile) 2>&5 -+ ac_status=$? -+ echo "$as_me:2060: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -s conftest.$ac_objext' -+ { (eval echo "$as_me:2063: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:2066: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ : -+else -+ echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+continue -+fi -+rm -f conftest.$ac_objext conftest.$ac_ext -+ cat >conftest.$ac_ext <<_ACEOF -+#line 2076 "configure" -+#include "confdefs.h" -+$ac_declaration -+int -+main () -+{ -+exit (42); -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext -+if { (eval echo "$as_me:2088: \"$ac_compile\"") >&5 -+ (eval $ac_compile) 2>&5 -+ ac_status=$? -+ echo "$as_me:2091: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -s conftest.$ac_objext' -+ { (eval echo "$as_me:2094: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:2097: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ break -+else -+ echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+fi -+rm -f conftest.$ac_objext conftest.$ac_ext -+done -+rm -f conftest* -+if test -n "$ac_declaration"; then -+ echo '#ifdef __cplusplus' >>confdefs.h -+ echo $ac_declaration >>confdefs.h -+ echo '#endif' >>confdefs.h -+fi -+ -+else -+ echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+fi -+rm -f conftest.$ac_objext conftest.$ac_ext -+ac_ext=c -+ac_cpp='$CPP $CPPFLAGS' -+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -+ac_compiler_gnu=$ac_cv_c_compiler_gnu -+ -+ac_config_commands="$ac_config_commands default-1" -+ -+am_make=${MAKE-make} -+cat > confinc << 'END' -+doit: -+ @echo done -+END -+# If we don't find an include directive, just comment out the code. -+echo "$as_me:2132: checking for style of include used by $am_make" >&5 -+echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6 -+am__include='#' -+am__quote= -+_am_result=none -+# First try GNU make style include. -+echo "include confinc" > confmf -+# We grep out `Entering directory' and `Leaving directory' -+# messages which can occur if `w' ends up in MAKEFLAGS. -+# In particular we don't look at `^make:' because GNU make might -+# be invoked under some other name (usually "gmake"), in which -+# case it prints its new name instead of `make'. -+if test "`$am_make -s -f confmf 2> /dev/null | fgrep -v 'ing directory'`" = "done"; then -+ am__include=include -+ am__quote= -+ _am_result=GNU -+fi -+# Now try BSD make style include. -+if test "$am__include" = "#"; then -+ echo '.include "confinc"' > confmf -+ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then -+ am__include=.include -+ am__quote='"' -+ _am_result=BSD -+ fi -+fi -+ -+echo "$as_me:2159: result: $_am_result" >&5 -+echo "${ECHO_T}$_am_result" >&6 -+rm -f confinc confmf -+ -+depcc="$CC" am_compiler_list= -+ -+echo "$as_me:2165: checking dependency style of $depcc" >&5 -+echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 -+if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then -+ # We make a subdir and do the tests there. Otherwise we can end up -+ # making bogus files that we don't know about and never remove. For -+ # instance it was reported that on HP-UX the gcc test will end up -+ # making a dummy file named `D' -- because `-MD' means `put the output -+ # in D'. -+ mkdir conftest.dir -+ # Copy depcomp to subdir because otherwise we won't find it if we're -+ # using a relative directory. -+ cp "$am_depcomp" conftest.dir -+ cd conftest.dir -+ -+ am_cv_CC_dependencies_compiler_type=none -+ if test "$am_compiler_list" = ""; then -+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` -+ fi -+ for depmode in $am_compiler_list; do -+ # We need to recreate these files for each test, as the compiler may -+ # overwrite some of them when testing with obscure command lines. -+ # This happens at least with the AIX C compiler. -+ echo '#include "conftest.h"' > conftest.c -+ echo 'int i;' > conftest.h -+ echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf -+ -+ case $depmode in -+ nosideeffect) -+ # after this tag, mechanisms are not by side-effect, so they'll -+ # only be used when explicitly requested -+ if test "x$enable_dependency_tracking" = xyes; then -+ continue -+ else -+ break -+ fi -+ ;; -+ none) break ;; -+ esac -+ # We check with `-c' and `-o' for the sake of the "dashmstdout" -+ # mode. It turns out that the SunPro C++ compiler does not properly -+ # handle `-M -o', and we need to detect this. -+ if depmode=$depmode \ -+ source=conftest.c object=conftest.o \ -+ depfile=conftest.Po tmpdepfile=conftest.TPo \ -+ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && -+ grep conftest.h conftest.Po > /dev/null 2>&1 && -+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then -+ am_cv_CC_dependencies_compiler_type=$depmode -+ break -+ fi -+ done -+ -+ cd .. -+ rm -rf conftest.dir -+else -+ am_cv_CC_dependencies_compiler_type=none -+fi -+ -+fi -+echo "$as_me:2227: result: $am_cv_CC_dependencies_compiler_type" >&5 -+echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 -+CCDEPMODE="depmode=$am_cv_CC_dependencies_compiler_type" -+ -+ac_ext=cc -+ac_cpp='$CXXCPP $CPPFLAGS' -+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -+if test -n "$ac_tool_prefix"; then -+ for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC -+ do -+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -+set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -+echo "$as_me:2241: checking for $ac_word" >&5 -+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -+if test "${ac_cv_prog_CXX+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ if test -n "$CXX"; then -+ ac_cv_prog_CXX="$CXX" # Let the user override the test. -+else -+ ac_save_IFS=$IFS; IFS=$ac_path_separator -+ac_dummy="$PATH" -+for ac_dir in $ac_dummy; do -+ IFS=$ac_save_IFS -+ test -z "$ac_dir" && ac_dir=. -+ $as_executable_p "$ac_dir/$ac_word" || continue -+ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" -+echo "$as_me:2256: found $ac_dir/$ac_word" >&5 -+break -+done -+ -+fi -+fi -+CXX=$ac_cv_prog_CXX -+if test -n "$CXX"; then -+ echo "$as_me:2264: result: $CXX" >&5 -+echo "${ECHO_T}$CXX" >&6 -+else -+ echo "$as_me:2267: result: no" >&5 -+echo "${ECHO_T}no" >&6 -+fi -+ -+ test -n "$CXX" && break -+ done -+fi -+if test -z "$CXX"; then -+ ac_ct_CXX=$CXX -+ for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC -+do -+ # Extract the first word of "$ac_prog", so it can be a program name with args. -+set dummy $ac_prog; ac_word=$2 -+echo "$as_me:2280: checking for $ac_word" >&5 -+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -+if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ if test -n "$ac_ct_CXX"; then -+ ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. -+else -+ ac_save_IFS=$IFS; IFS=$ac_path_separator -+ac_dummy="$PATH" -+for ac_dir in $ac_dummy; do -+ IFS=$ac_save_IFS -+ test -z "$ac_dir" && ac_dir=. -+ $as_executable_p "$ac_dir/$ac_word" || continue -+ac_cv_prog_ac_ct_CXX="$ac_prog" -+echo "$as_me:2295: found $ac_dir/$ac_word" >&5 -+break -+done -+ -+fi -+fi -+ac_ct_CXX=$ac_cv_prog_ac_ct_CXX -+if test -n "$ac_ct_CXX"; then -+ echo "$as_me:2303: result: $ac_ct_CXX" >&5 -+echo "${ECHO_T}$ac_ct_CXX" >&6 -+else -+ echo "$as_me:2306: result: no" >&5 -+echo "${ECHO_T}no" >&6 -+fi -+ -+ test -n "$ac_ct_CXX" && break -+done -+test -n "$ac_ct_CXX" || ac_ct_CXX="g++" -+ -+ CXX=$ac_ct_CXX -+fi -+ -+# Provide some information about the compiler. -+echo "$as_me:2318:" \ -+ "checking for C++ compiler version" >&5 -+ac_compiler=`set X $ac_compile; echo $2` -+{ (eval echo "$as_me:2321: \"$ac_compiler --version &5\"") >&5 -+ (eval $ac_compiler --version &5) 2>&5 -+ ac_status=$? -+ echo "$as_me:2324: \$? = $ac_status" >&5 -+ (exit $ac_status); } -+{ (eval echo "$as_me:2326: \"$ac_compiler -v &5\"") >&5 -+ (eval $ac_compiler -v &5) 2>&5 -+ ac_status=$? -+ echo "$as_me:2329: \$? = $ac_status" >&5 -+ (exit $ac_status); } -+{ (eval echo "$as_me:2331: \"$ac_compiler -V &5\"") >&5 -+ (eval $ac_compiler -V &5) 2>&5 -+ ac_status=$? -+ echo "$as_me:2334: \$? = $ac_status" >&5 -+ (exit $ac_status); } -+ -+echo "$as_me:2337: checking whether we are using the GNU C++ compiler" >&5 -+echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 -+if test "${ac_cv_cxx_compiler_gnu+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ cat >conftest.$ac_ext <<_ACEOF -+#line 2343 "configure" -+#include "confdefs.h" -+ -+int -+main () -+{ -+#ifndef __GNUC__ -+ choke me -+#endif -+ -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext -+if { (eval echo "$as_me:2358: \"$ac_compile\"") >&5 -+ (eval $ac_compile) 2>&5 -+ ac_status=$? -+ echo "$as_me:2361: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -s conftest.$ac_objext' -+ { (eval echo "$as_me:2364: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:2367: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_compiler_gnu=yes -+else -+ echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+ac_compiler_gnu=no -+fi -+rm -f conftest.$ac_objext conftest.$ac_ext -+ac_cv_cxx_compiler_gnu=$ac_compiler_gnu -+ -+fi -+echo "$as_me:2379: result: $ac_cv_cxx_compiler_gnu" >&5 -+echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 -+GXX=`test $ac_compiler_gnu = yes && echo yes` -+ac_test_CXXFLAGS=${CXXFLAGS+set} -+ac_save_CXXFLAGS=$CXXFLAGS -+CXXFLAGS="-g" -+echo "$as_me:2385: checking whether $CXX accepts -g" >&5 -+echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 -+if test "${ac_cv_prog_cxx_g+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ cat >conftest.$ac_ext <<_ACEOF -+#line 2391 "configure" -+#include "confdefs.h" -+ -+int -+main () -+{ -+ -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext -+if { (eval echo "$as_me:2403: \"$ac_compile\"") >&5 -+ (eval $ac_compile) 2>&5 -+ ac_status=$? -+ echo "$as_me:2406: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -s conftest.$ac_objext' -+ { (eval echo "$as_me:2409: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:2412: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_cv_prog_cxx_g=yes -+else -+ echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+ac_cv_prog_cxx_g=no -+fi -+rm -f conftest.$ac_objext conftest.$ac_ext -+fi -+echo "$as_me:2422: result: $ac_cv_prog_cxx_g" >&5 -+echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 -+if test "$ac_test_CXXFLAGS" = set; then -+ CXXFLAGS=$ac_save_CXXFLAGS -+elif test $ac_cv_prog_cxx_g = yes; then -+ if test "$GXX" = yes; then -+ CXXFLAGS="-g -O2" -+ else -+ CXXFLAGS="-g" -+ fi -+else -+ if test "$GXX" = yes; then -+ CXXFLAGS="-O2" -+ else -+ CXXFLAGS= -+ fi -+fi -+for ac_declaration in \ -+ ''\ -+ '#include ' \ -+ 'extern "C" void std::exit (int) throw (); using std::exit;' \ -+ 'extern "C" void std::exit (int); using std::exit;' \ -+ 'extern "C" void exit (int) throw ();' \ -+ 'extern "C" void exit (int);' \ -+ 'void exit (int);' -+do -+ cat >conftest.$ac_ext <<_ACEOF -+#line 2449 "configure" -+#include "confdefs.h" -+#include -+$ac_declaration -+int -+main () -+{ -+exit (42); -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext -+if { (eval echo "$as_me:2462: \"$ac_compile\"") >&5 -+ (eval $ac_compile) 2>&5 -+ ac_status=$? -+ echo "$as_me:2465: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -s conftest.$ac_objext' -+ { (eval echo "$as_me:2468: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:2471: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ : -+else -+ echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+continue -+fi -+rm -f conftest.$ac_objext conftest.$ac_ext -+ cat >conftest.$ac_ext <<_ACEOF -+#line 2481 "configure" -+#include "confdefs.h" -+$ac_declaration -+int -+main () -+{ -+exit (42); -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext -+if { (eval echo "$as_me:2493: \"$ac_compile\"") >&5 -+ (eval $ac_compile) 2>&5 -+ ac_status=$? -+ echo "$as_me:2496: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -s conftest.$ac_objext' -+ { (eval echo "$as_me:2499: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:2502: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ break -+else -+ echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+fi -+rm -f conftest.$ac_objext conftest.$ac_ext -+done -+rm -f conftest* -+if test -n "$ac_declaration"; then -+ echo '#ifdef __cplusplus' >>confdefs.h -+ echo $ac_declaration >>confdefs.h -+ echo '#endif' >>confdefs.h -+fi -+ -+ac_ext=c -+ac_cpp='$CPP $CPPFLAGS' -+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -+ac_compiler_gnu=$ac_cv_c_compiler_gnu -+ -+depcc="$CXX" am_compiler_list= -+ -+echo "$as_me:2526: checking dependency style of $depcc" >&5 -+echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 -+if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then -+ # We make a subdir and do the tests there. Otherwise we can end up -+ # making bogus files that we don't know about and never remove. For -+ # instance it was reported that on HP-UX the gcc test will end up -+ # making a dummy file named `D' -- because `-MD' means `put the output -+ # in D'. -+ mkdir conftest.dir -+ # Copy depcomp to subdir because otherwise we won't find it if we're -+ # using a relative directory. -+ cp "$am_depcomp" conftest.dir -+ cd conftest.dir -+ -+ am_cv_CXX_dependencies_compiler_type=none -+ if test "$am_compiler_list" = ""; then -+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` -+ fi -+ for depmode in $am_compiler_list; do -+ # We need to recreate these files for each test, as the compiler may -+ # overwrite some of them when testing with obscure command lines. -+ # This happens at least with the AIX C compiler. -+ echo '#include "conftest.h"' > conftest.c -+ echo 'int i;' > conftest.h -+ echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf -+ -+ case $depmode in -+ nosideeffect) -+ # after this tag, mechanisms are not by side-effect, so they'll -+ # only be used when explicitly requested -+ if test "x$enable_dependency_tracking" = xyes; then -+ continue -+ else -+ break -+ fi -+ ;; -+ none) break ;; -+ esac -+ # We check with `-c' and `-o' for the sake of the "dashmstdout" -+ # mode. It turns out that the SunPro C++ compiler does not properly -+ # handle `-M -o', and we need to detect this. -+ if depmode=$depmode \ -+ source=conftest.c object=conftest.o \ -+ depfile=conftest.Po tmpdepfile=conftest.TPo \ -+ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && -+ grep conftest.h conftest.Po > /dev/null 2>&1 && -+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then -+ am_cv_CXX_dependencies_compiler_type=$depmode -+ break -+ fi -+ done -+ -+ cd .. -+ rm -rf conftest.dir -+else -+ am_cv_CXX_dependencies_compiler_type=none -+fi -+ -+fi -+echo "$as_me:2588: result: $am_cv_CXX_dependencies_compiler_type" >&5 -+echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6 -+CXXDEPMODE="depmode=$am_cv_CXX_dependencies_compiler_type" -+ -+if test -n "$ac_tool_prefix"; then -+ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -+set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -+echo "$as_me:2595: checking for $ac_word" >&5 -+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -+if test "${ac_cv_prog_RANLIB+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ if test -n "$RANLIB"; then -+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -+else -+ ac_save_IFS=$IFS; IFS=$ac_path_separator -+ac_dummy="$PATH" -+for ac_dir in $ac_dummy; do -+ IFS=$ac_save_IFS -+ test -z "$ac_dir" && ac_dir=. -+ $as_executable_p "$ac_dir/$ac_word" || continue -+ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" -+echo "$as_me:2610: found $ac_dir/$ac_word" >&5 -+break -+done -+ -+fi -+fi -+RANLIB=$ac_cv_prog_RANLIB -+if test -n "$RANLIB"; then -+ echo "$as_me:2618: result: $RANLIB" >&5 -+echo "${ECHO_T}$RANLIB" >&6 -+else -+ echo "$as_me:2621: result: no" >&5 -+echo "${ECHO_T}no" >&6 -+fi -+ -+fi -+if test -z "$ac_cv_prog_RANLIB"; then -+ ac_ct_RANLIB=$RANLIB -+ # Extract the first word of "ranlib", so it can be a program name with args. -+set dummy ranlib; ac_word=$2 -+echo "$as_me:2630: checking for $ac_word" >&5 -+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -+if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ if test -n "$ac_ct_RANLIB"; then -+ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -+else -+ ac_save_IFS=$IFS; IFS=$ac_path_separator -+ac_dummy="$PATH" -+for ac_dir in $ac_dummy; do -+ IFS=$ac_save_IFS -+ test -z "$ac_dir" && ac_dir=. -+ $as_executable_p "$ac_dir/$ac_word" || continue -+ac_cv_prog_ac_ct_RANLIB="ranlib" -+echo "$as_me:2645: found $ac_dir/$ac_word" >&5 -+break -+done -+ -+ test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":" -+fi -+fi -+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -+if test -n "$ac_ct_RANLIB"; then -+ echo "$as_me:2654: result: $ac_ct_RANLIB" >&5 -+echo "${ECHO_T}$ac_ct_RANLIB" >&6 -+else -+ echo "$as_me:2657: result: no" >&5 -+echo "${ECHO_T}no" >&6 -+fi -+ -+ RANLIB=$ac_ct_RANLIB -+else -+ RANLIB="$ac_cv_prog_RANLIB" -+fi -+ -+for ac_prog in 'bison -y' byacc -+do -+ # Extract the first word of "$ac_prog", so it can be a program name with args. -+set dummy $ac_prog; ac_word=$2 -+echo "$as_me:2670: checking for $ac_word" >&5 -+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -+if test "${ac_cv_prog_YACC+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ if test -n "$YACC"; then -+ ac_cv_prog_YACC="$YACC" # Let the user override the test. -+else -+ ac_save_IFS=$IFS; IFS=$ac_path_separator -+ac_dummy="$PATH" -+for ac_dir in $ac_dummy; do -+ IFS=$ac_save_IFS -+ test -z "$ac_dir" && ac_dir=. -+ $as_executable_p "$ac_dir/$ac_word" || continue -+ac_cv_prog_YACC="$ac_prog" -+echo "$as_me:2685: found $ac_dir/$ac_word" >&5 -+break -+done -+ -+fi -+fi -+YACC=$ac_cv_prog_YACC -+if test -n "$YACC"; then -+ echo "$as_me:2693: result: $YACC" >&5 -+echo "${ECHO_T}$YACC" >&6 -+else -+ echo "$as_me:2696: result: no" >&5 -+echo "${ECHO_T}no" >&6 -+fi -+ -+ test -n "$YACC" && break -+done -+test -n "$YACC" || YACC="yacc" -+ -+# Extract the first word of "vi", so it can be a program name with args. -+set dummy vi; ac_word=$2 -+echo "$as_me:2706: checking for $ac_word" >&5 -+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -+if test "${ac_cv_path_path_to_vi+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ case $path_to_vi in -+ [\\/]* | ?:[\\/]*) -+ ac_cv_path_path_to_vi="$path_to_vi" # Let the user override the test with a path. -+ ;; -+ *) -+ ac_save_IFS=$IFS; IFS=$ac_path_separator -+ac_dummy="$PATH" -+for ac_dir in $ac_dummy; do -+ IFS=$ac_save_IFS -+ test -z "$ac_dir" && ac_dir=. -+ if $as_executable_p "$ac_dir/$ac_word"; then -+ ac_cv_path_path_to_vi="$ac_dir/$ac_word" -+ echo "$as_me:2723: found $ac_dir/$ac_word" >&5 -+ break -+fi -+done -+ -+ ;; -+esac -+fi -+path_to_vi=$ac_cv_path_path_to_vi -+ -+if test -n "$path_to_vi"; then -+ echo "$as_me:2734: result: $path_to_vi" >&5 -+echo "${ECHO_T}$path_to_vi" >&6 -+else -+ echo "$as_me:2737: result: no" >&5 -+echo "${ECHO_T}no" >&6 -+fi -+ -+# Extract the first word of "sendmail", so it can be a program name with args. -+set dummy sendmail; ac_word=$2 -+echo "$as_me:2743: checking for $ac_word" >&5 -+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -+if test "${ac_cv_path_path_to_sendmail+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ case $path_to_sendmail in -+ [\\/]* | ?:[\\/]*) -+ ac_cv_path_path_to_sendmail="$path_to_sendmail" # Let the user override the test with a path. -+ ;; -+ *) -+ ac_save_IFS=$IFS; IFS=$ac_path_separator -+ac_dummy="$PATH" -+for ac_dir in $ac_dummy; do -+ IFS=$ac_save_IFS -+ test -z "$ac_dir" && ac_dir=. -+ if $as_executable_p "$ac_dir/$ac_word"; then -+ ac_cv_path_path_to_sendmail="$ac_dir/$ac_word" -+ echo "$as_me:2760: found $ac_dir/$ac_word" >&5 -+ break -+fi -+done -+ -+ test -z "$ac_cv_path_path_to_sendmail" && ac_cv_path_path_to_sendmail="$PATH:/usr/libexec" -+ ;; -+esac -+fi -+path_to_sendmail=$ac_cv_path_path_to_sendmail -+ -+if test -n "$path_to_sendmail"; then -+ echo "$as_me:2772: result: $path_to_sendmail" >&5 -+echo "${ECHO_T}$path_to_sendmail" >&6 -+else -+ echo "$as_me:2775: result: no" >&5 -+echo "${ECHO_T}no" >&6 -+fi -+ -+if test "x${GXX}" != "x"; then -+ -+cat >>confdefs.h <<\EOF -+#define HAVE_GCC 1 -+EOF -+ -+ STLPORT_MAKEFILE="gcc.mak" -+ STLPORT_LIBRARY="libstlport_gcc.a" -+else -+ -+cat >>confdefs.h <<\EOF -+#define HAVE_GCC 0 -+EOF -+ -+fi -+ -+ac_ext=c -+ac_cpp='$CPP $CPPFLAGS' -+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -+ac_compiler_gnu=$ac_cv_c_compiler_gnu -+echo "$as_me:2800: checking how to run the C preprocessor" >&5 -+echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 -+# On Suns, sometimes $CPP names a directory. -+if test -n "$CPP" && test -d "$CPP"; then -+ CPP= -+fi -+if test -z "$CPP"; then -+ if test "${ac_cv_prog_CPP+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ # Double quotes because CPP needs to be expanded -+ for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" -+ do -+ ac_preproc_ok=false -+for ac_c_preproc_warn_flag in '' yes -+do -+ # Use a header file that comes with gcc, so configuring glibc -+ # with a fresh cross-compiler works. -+ # On the NeXT, cc -E runs the code through the compiler's parser, -+ # not just through cpp. "Syntax error" is here to catch this case. -+ cat >conftest.$ac_ext <<_ACEOF -+#line 2821 "configure" -+#include "confdefs.h" -+#include -+ Syntax error -+_ACEOF -+if { (eval echo "$as_me:2826: \"$ac_cpp conftest.$ac_ext\"") >&5 -+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 -+ ac_status=$? -+ egrep -v '^ *\+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ echo "$as_me:2832: \$? = $ac_status" >&5 -+ (exit $ac_status); } >/dev/null; then -+ if test -s conftest.err; then -+ ac_cpp_err=$ac_c_preproc_warn_flag -+ else -+ ac_cpp_err= -+ fi -+else -+ ac_cpp_err=yes -+fi -+if test -z "$ac_cpp_err"; then -+ : -+else -+ echo "$as_me: failed program was:" >&5 -+ cat conftest.$ac_ext >&5 -+ # Broken: fails on valid input. -+continue -+fi -+rm -f conftest.err conftest.$ac_ext -+ -+ # OK, works on sane cases. Now check whether non-existent headers -+ # can be detected and how. -+ cat >conftest.$ac_ext <<_ACEOF -+#line 2855 "configure" -+#include "confdefs.h" -+#include -+_ACEOF -+if { (eval echo "$as_me:2859: \"$ac_cpp conftest.$ac_ext\"") >&5 -+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 -+ ac_status=$? -+ egrep -v '^ *\+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ echo "$as_me:2865: \$? = $ac_status" >&5 -+ (exit $ac_status); } >/dev/null; then -+ if test -s conftest.err; then -+ ac_cpp_err=$ac_c_preproc_warn_flag -+ else -+ ac_cpp_err= -+ fi -+else -+ ac_cpp_err=yes -+fi -+if test -z "$ac_cpp_err"; then -+ # Broken: success on invalid input. -+continue -+else -+ echo "$as_me: failed program was:" >&5 -+ cat conftest.$ac_ext >&5 -+ # Passes both tests. -+ac_preproc_ok=: -+break -+fi -+rm -f conftest.err conftest.$ac_ext -+ -+done -+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -+rm -f conftest.err conftest.$ac_ext -+if $ac_preproc_ok; then -+ break -+fi -+ -+ done -+ ac_cv_prog_CPP=$CPP -+ -+fi -+ CPP=$ac_cv_prog_CPP -+else -+ ac_cv_prog_CPP=$CPP -+fi -+echo "$as_me:2902: result: $CPP" >&5 -+echo "${ECHO_T}$CPP" >&6 -+ac_preproc_ok=false -+for ac_c_preproc_warn_flag in '' yes -+do -+ # Use a header file that comes with gcc, so configuring glibc -+ # with a fresh cross-compiler works. -+ # On the NeXT, cc -E runs the code through the compiler's parser, -+ # not just through cpp. "Syntax error" is here to catch this case. -+ cat >conftest.$ac_ext <<_ACEOF -+#line 2912 "configure" -+#include "confdefs.h" -+#include -+ Syntax error -+_ACEOF -+if { (eval echo "$as_me:2917: \"$ac_cpp conftest.$ac_ext\"") >&5 -+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 -+ ac_status=$? -+ egrep -v '^ *\+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ echo "$as_me:2923: \$? = $ac_status" >&5 -+ (exit $ac_status); } >/dev/null; then -+ if test -s conftest.err; then -+ ac_cpp_err=$ac_c_preproc_warn_flag -+ else -+ ac_cpp_err= -+ fi -+else -+ ac_cpp_err=yes -+fi -+if test -z "$ac_cpp_err"; then -+ : -+else -+ echo "$as_me: failed program was:" >&5 -+ cat conftest.$ac_ext >&5 -+ # Broken: fails on valid input. -+continue -+fi -+rm -f conftest.err conftest.$ac_ext -+ -+ # OK, works on sane cases. Now check whether non-existent headers -+ # can be detected and how. -+ cat >conftest.$ac_ext <<_ACEOF -+#line 2946 "configure" -+#include "confdefs.h" -+#include -+_ACEOF -+if { (eval echo "$as_me:2950: \"$ac_cpp conftest.$ac_ext\"") >&5 -+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 -+ ac_status=$? -+ egrep -v '^ *\+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ echo "$as_me:2956: \$? = $ac_status" >&5 -+ (exit $ac_status); } >/dev/null; then -+ if test -s conftest.err; then -+ ac_cpp_err=$ac_c_preproc_warn_flag -+ else -+ ac_cpp_err= -+ fi -+else -+ ac_cpp_err=yes -+fi -+if test -z "$ac_cpp_err"; then -+ # Broken: success on invalid input. -+continue -+else -+ echo "$as_me: failed program was:" >&5 -+ cat conftest.$ac_ext >&5 -+ # Passes both tests. -+ac_preproc_ok=: -+break -+fi -+rm -f conftest.err conftest.$ac_ext -+ -+done -+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -+rm -f conftest.err conftest.$ac_ext -+if $ac_preproc_ok; then -+ : -+else -+ { { echo "$as_me:2984: error: C preprocessor \"$CPP\" fails sanity check" >&5 -+echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check" >&2;} -+ { (exit 1); exit 1; }; } -+fi -+ -+ac_ext=c -+ac_cpp='$CPP $CPPFLAGS' -+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -+ac_compiler_gnu=$ac_cv_c_compiler_gnu -+ -+echo "$as_me:2995: checking for ANSI C header files" >&5 -+echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 -+if test "${ac_cv_header_stdc+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ cat >conftest.$ac_ext <<_ACEOF -+#line 3001 "configure" -+#include "confdefs.h" -+#include -+#include -+#include -+#include -+ -+_ACEOF -+if { (eval echo "$as_me:3009: \"$ac_cpp conftest.$ac_ext\"") >&5 -+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 -+ ac_status=$? -+ egrep -v '^ *\+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ echo "$as_me:3015: \$? = $ac_status" >&5 -+ (exit $ac_status); } >/dev/null; then -+ if test -s conftest.err; then -+ ac_cpp_err=$ac_c_preproc_warn_flag -+ else -+ ac_cpp_err= -+ fi -+else -+ ac_cpp_err=yes -+fi -+if test -z "$ac_cpp_err"; then -+ ac_cv_header_stdc=yes -+else -+ echo "$as_me: failed program was:" >&5 -+ cat conftest.$ac_ext >&5 -+ ac_cv_header_stdc=no -+fi -+rm -f conftest.err conftest.$ac_ext -+ -+if test $ac_cv_header_stdc = yes; then -+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI. -+ cat >conftest.$ac_ext <<_ACEOF -+#line 3037 "configure" -+#include "confdefs.h" -+#include -+ -+_ACEOF -+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | -+ egrep "memchr" >/dev/null 2>&1; then -+ : -+else -+ ac_cv_header_stdc=no -+fi -+rm -f conftest* -+ -+fi -+ -+if test $ac_cv_header_stdc = yes; then -+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. -+ cat >conftest.$ac_ext <<_ACEOF -+#line 3055 "configure" -+#include "confdefs.h" -+#include -+ -+_ACEOF -+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | -+ egrep "free" >/dev/null 2>&1; then -+ : -+else -+ ac_cv_header_stdc=no -+fi -+rm -f conftest* -+ -+fi -+ -+if test $ac_cv_header_stdc = yes; then -+ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. -+ if test "$cross_compiling" = yes; then -+ : -+else -+ cat >conftest.$ac_ext <<_ACEOF -+#line 3076 "configure" -+#include "confdefs.h" -+#include -+#if ((' ' & 0x0FF) == 0x020) -+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -+#else -+# define ISLOWER(c) (('a' <= (c) && (c) <= 'i') \ -+ || ('j' <= (c) && (c) <= 'r') \ -+ || ('s' <= (c) && (c) <= 'z')) -+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -+#endif -+ -+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -+int -+main () -+{ -+ int i; -+ for (i = 0; i < 256; i++) -+ if (XOR (islower (i), ISLOWER (i)) -+ || toupper (i) != TOUPPER (i)) -+ exit(2); -+ exit (0); -+} -+_ACEOF -+rm -f conftest$ac_exeext -+if { (eval echo "$as_me:3102: \"$ac_link\"") >&5 -+ (eval $ac_link) 2>&5 -+ ac_status=$? -+ echo "$as_me:3105: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext' -+ { (eval echo "$as_me:3107: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:3110: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ : -+else -+ echo "$as_me: program exited with status $ac_status" >&5 -+echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+ac_cv_header_stdc=no -+fi -+rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -+fi -+fi -+fi -+echo "$as_me:3123: result: $ac_cv_header_stdc" >&5 -+echo "${ECHO_T}$ac_cv_header_stdc" >&6 -+if test $ac_cv_header_stdc = yes; then -+ -+cat >>confdefs.h <<\EOF -+#define STDC_HEADERS 1 -+EOF -+ -+fi -+ -+for ac_header in sys/param.h -+do -+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -+echo "$as_me:3136: checking for $ac_header" >&5 -+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -+if eval "test \"\${$as_ac_Header+set}\" = set"; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ cat >conftest.$ac_ext <<_ACEOF -+#line 3142 "configure" -+#include "confdefs.h" -+#include <$ac_header> -+_ACEOF -+if { (eval echo "$as_me:3146: \"$ac_cpp conftest.$ac_ext\"") >&5 -+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 -+ ac_status=$? -+ egrep -v '^ *\+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ echo "$as_me:3152: \$? = $ac_status" >&5 -+ (exit $ac_status); } >/dev/null; then -+ if test -s conftest.err; then -+ ac_cpp_err=$ac_c_preproc_warn_flag -+ else -+ ac_cpp_err= -+ fi -+else -+ ac_cpp_err=yes -+fi -+if test -z "$ac_cpp_err"; then -+ eval "$as_ac_Header=yes" -+else -+ echo "$as_me: failed program was:" >&5 -+ cat conftest.$ac_ext >&5 -+ eval "$as_ac_Header=no" -+fi -+rm -f conftest.err conftest.$ac_ext -+fi -+echo "$as_me:3171: result: `eval echo '${'$as_ac_Header'}'`" >&5 -+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -+if test `eval echo '${'$as_ac_Header'}'` = yes; then -+ cat >>confdefs.h <&5 -+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -+if eval "test \"\${$as_ac_Header+set}\" = set"; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ cat >conftest.$ac_ext <<_ACEOF -+#line 3190 "configure" -+#include "confdefs.h" -+#include <$ac_header> -+_ACEOF -+if { (eval echo "$as_me:3194: \"$ac_cpp conftest.$ac_ext\"") >&5 -+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 -+ ac_status=$? -+ egrep -v '^ *\+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ echo "$as_me:3200: \$? = $ac_status" >&5 -+ (exit $ac_status); } >/dev/null; then -+ if test -s conftest.err; then -+ ac_cpp_err=$ac_c_preproc_warn_flag -+ else -+ ac_cpp_err= -+ fi -+else -+ ac_cpp_err=yes -+fi -+if test -z "$ac_cpp_err"; then -+ eval "$as_ac_Header=yes" -+else -+ echo "$as_me: failed program was:" >&5 -+ cat conftest.$ac_ext >&5 -+ eval "$as_ac_Header=no" -+fi -+rm -f conftest.err conftest.$ac_ext -+fi -+echo "$as_me:3219: result: `eval echo '${'$as_ac_Header'}'`" >&5 -+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -+if test `eval echo '${'$as_ac_Header'}'` = yes; then -+ cat >>confdefs.h <&5 -+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -+if eval "test \"\${$as_ac_Header+set}\" = set"; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ cat >conftest.$ac_ext <<_ACEOF -+#line 3238 "configure" -+#include "confdefs.h" -+#include <$ac_header> -+_ACEOF -+if { (eval echo "$as_me:3242: \"$ac_cpp conftest.$ac_ext\"") >&5 -+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 -+ ac_status=$? -+ egrep -v '^ *\+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ echo "$as_me:3248: \$? = $ac_status" >&5 -+ (exit $ac_status); } >/dev/null; then -+ if test -s conftest.err; then -+ ac_cpp_err=$ac_c_preproc_warn_flag -+ else -+ ac_cpp_err= -+ fi -+else -+ ac_cpp_err=yes -+fi -+if test -z "$ac_cpp_err"; then -+ eval "$as_ac_Header=yes" -+else -+ echo "$as_me: failed program was:" >&5 -+ cat conftest.$ac_ext >&5 -+ eval "$as_ac_Header=no" -+fi -+rm -f conftest.err conftest.$ac_ext -+fi -+echo "$as_me:3267: result: `eval echo '${'$as_ac_Header'}'`" >&5 -+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -+if test `eval echo '${'$as_ac_Header'}'` = yes; then -+ cat >>confdefs.h <&5 -+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -+if eval "test \"\${$as_ac_Header+set}\" = set"; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ cat >conftest.$ac_ext <<_ACEOF -+#line 3286 "configure" -+#include "confdefs.h" -+#include <$ac_header> -+_ACEOF -+if { (eval echo "$as_me:3290: \"$ac_cpp conftest.$ac_ext\"") >&5 -+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 -+ ac_status=$? -+ egrep -v '^ *\+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ echo "$as_me:3296: \$? = $ac_status" >&5 -+ (exit $ac_status); } >/dev/null; then -+ if test -s conftest.err; then -+ ac_cpp_err=$ac_c_preproc_warn_flag -+ else -+ ac_cpp_err= -+ fi -+else -+ ac_cpp_err=yes -+fi -+if test -z "$ac_cpp_err"; then -+ eval "$as_ac_Header=yes" -+else -+ echo "$as_me: failed program was:" >&5 -+ cat conftest.$ac_ext >&5 -+ eval "$as_ac_Header=no" -+fi -+rm -f conftest.err conftest.$ac_ext -+fi -+echo "$as_me:3315: result: `eval echo '${'$as_ac_Header'}'`" >&5 -+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -+if test `eval echo '${'$as_ac_Header'}'` = yes; then -+ cat >>confdefs.h <&5 -+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -+if eval "test \"\${$as_ac_Header+set}\" = set"; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ cat >conftest.$ac_ext <<_ACEOF -+#line 3334 "configure" -+#include "confdefs.h" -+#include <$ac_header> -+_ACEOF -+if { (eval echo "$as_me:3338: \"$ac_cpp conftest.$ac_ext\"") >&5 -+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 -+ ac_status=$? -+ egrep -v '^ *\+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ echo "$as_me:3344: \$? = $ac_status" >&5 -+ (exit $ac_status); } >/dev/null; then -+ if test -s conftest.err; then -+ ac_cpp_err=$ac_c_preproc_warn_flag -+ else -+ ac_cpp_err= -+ fi -+else -+ ac_cpp_err=yes -+fi -+if test -z "$ac_cpp_err"; then -+ eval "$as_ac_Header=yes" -+else -+ echo "$as_me: failed program was:" >&5 -+ cat conftest.$ac_ext >&5 -+ eval "$as_ac_Header=no" -+fi -+rm -f conftest.err conftest.$ac_ext -+fi -+echo "$as_me:3363: result: `eval echo '${'$as_ac_Header'}'`" >&5 -+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -+if test `eval echo '${'$as_ac_Header'}'` = yes; then -+ cat >>confdefs.h <&5 -+echo $ECHO_N "checking for wchar.h... $ECHO_C" >&6 -+if test "${ac_cv_header_wchar_h+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ cat >conftest.$ac_ext <<_ACEOF -+#line 3379 "configure" -+#include "confdefs.h" -+#include -+_ACEOF -+if { (eval echo "$as_me:3383: \"$ac_cpp conftest.$ac_ext\"") >&5 -+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 -+ ac_status=$? -+ egrep -v '^ *\+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ echo "$as_me:3389: \$? = $ac_status" >&5 -+ (exit $ac_status); } >/dev/null; then -+ if test -s conftest.err; then -+ ac_cpp_err=$ac_c_preproc_warn_flag -+ else -+ ac_cpp_err= -+ fi -+else -+ ac_cpp_err=yes -+fi -+if test -z "$ac_cpp_err"; then -+ ac_cv_header_wchar_h=yes -+else -+ echo "$as_me: failed program was:" >&5 -+ cat conftest.$ac_ext >&5 -+ ac_cv_header_wchar_h=no -+fi -+rm -f conftest.err conftest.$ac_ext -+fi -+echo "$as_me:3408: result: $ac_cv_header_wchar_h" >&5 -+echo "${ECHO_T}$ac_cv_header_wchar_h" >&6 -+if test $ac_cv_header_wchar_h = yes; then -+ -+cat >>confdefs.h <<\EOF -+#define HAVE_WCHAR_H 1 -+EOF -+ -+else -+ -+cat >>confdefs.h <<\EOF -+#define _STLP_NO_WCHAR_T 1 -+EOF -+ -+fi -+ -+CPPFLAGS_SAVE="${CPPFLAGS}" -+CPPFLAGS="${CPPFLAGS} -Werror" -+ -+for ac_header in malloc.h -+do -+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -+echo "$as_me:3430: checking for $ac_header" >&5 -+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -+if eval "test \"\${$as_ac_Header+set}\" = set"; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ cat >conftest.$ac_ext <<_ACEOF -+#line 3436 "configure" -+#include "confdefs.h" -+#include <$ac_header> -+_ACEOF -+if { (eval echo "$as_me:3440: \"$ac_cpp conftest.$ac_ext\"") >&5 -+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 -+ ac_status=$? -+ egrep -v '^ *\+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ echo "$as_me:3446: \$? = $ac_status" >&5 -+ (exit $ac_status); } >/dev/null; then -+ if test -s conftest.err; then -+ ac_cpp_err=$ac_c_preproc_warn_flag -+ else -+ ac_cpp_err= -+ fi -+else -+ ac_cpp_err=yes -+fi -+if test -z "$ac_cpp_err"; then -+ eval "$as_ac_Header=yes" -+else -+ echo "$as_me: failed program was:" >&5 -+ cat conftest.$ac_ext >&5 -+ eval "$as_ac_Header=no" -+fi -+rm -f conftest.err conftest.$ac_ext -+fi -+echo "$as_me:3465: result: `eval echo '${'$as_ac_Header'}'`" >&5 -+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -+if test `eval echo '${'$as_ac_Header'}'` = yes; then -+ cat >>confdefs.h <&5 -+echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 -+if test "${ac_cv_prog_cc_stdc+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ ac_cv_prog_cc_stdc=no -+ac_save_CC=$CC -+cat >conftest.$ac_ext <<_ACEOF -+#line 3485 "configure" -+#include "confdefs.h" -+#include -+#include -+#include -+#include -+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -+struct buf { int x; }; -+FILE * (*rcsopen) (struct buf *, struct stat *, int); -+static char *e (p, i) -+ char **p; -+ int i; -+{ -+ return p[i]; -+} -+static char *f (char * (*g) (char **, int), char **p, ...) -+{ -+ char *s; -+ va_list v; -+ va_start (v,p); -+ s = g (p, va_arg (v,int)); -+ va_end (v); -+ return s; -+} -+int test (int i, double x); -+struct s1 {int (*f) (int a);}; -+struct s2 {int (*f) (double a);}; -+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -+int argc; -+char **argv; -+int -+main () -+{ -+return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; -+ ; -+ return 0; -+} -+_ACEOF -+# Don't try gcc -ansi; that turns off useful extensions and -+# breaks some systems' header files. -+# AIX -qlanglvl=ansi -+# Ultrix and OSF/1 -std1 -+# HP-UX 10.20 and later -Ae -+# HP-UX older versions -Aa -D_HPUX_SOURCE -+# SVR4 -Xc -D__EXTENSIONS__ -+for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -+do -+ CC="$ac_save_CC $ac_arg" -+ rm -f conftest.$ac_objext -+if { (eval echo "$as_me:3534: \"$ac_compile\"") >&5 -+ (eval $ac_compile) 2>&5 -+ ac_status=$? -+ echo "$as_me:3537: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -s conftest.$ac_objext' -+ { (eval echo "$as_me:3540: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:3543: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_cv_prog_cc_stdc=$ac_arg -+break -+else -+ echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+fi -+rm -f conftest.$ac_objext -+done -+rm -f conftest.$ac_ext conftest.$ac_objext -+CC=$ac_save_CC -+ -+fi -+ -+case "x$ac_cv_prog_cc_stdc" in -+ x|xno) -+ echo "$as_me:3560: result: none needed" >&5 -+echo "${ECHO_T}none needed" >&6 ;; -+ *) -+ echo "$as_me:3563: result: $ac_cv_prog_cc_stdc" >&5 -+echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 -+ CC="$CC $ac_cv_prog_cc_stdc" ;; -+esac -+ -+echo "$as_me:3568: checking for an ANSI C-conforming const" >&5 -+echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6 -+if test "${ac_cv_c_const+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ cat >conftest.$ac_ext <<_ACEOF -+#line 3574 "configure" -+#include "confdefs.h" -+ -+int -+main () -+{ -+/* FIXME: Include the comments suggested by Paul. */ -+#ifndef __cplusplus -+ /* Ultrix mips cc rejects this. */ -+ typedef int charset[2]; -+ const charset x; -+ /* SunOS 4.1.1 cc rejects this. */ -+ char const *const *ccp; -+ char **p; -+ /* NEC SVR4.0.2 mips cc rejects this. */ -+ struct point {int x, y;}; -+ static struct point const zero = {0,0}; -+ /* AIX XL C 1.02.0.0 rejects this. -+ It does not let you subtract one const X* pointer from another in -+ an arm of an if-expression whose if-part is not a constant -+ expression */ -+ const char *g = "string"; -+ ccp = &g + (g ? g-g : 0); -+ /* HPUX 7.0 cc rejects these. */ -+ ++ccp; -+ p = (char**) ccp; -+ ccp = (char const *const *) p; -+ { /* SCO 3.2v4 cc rejects this. */ -+ char *t; -+ char const *s = 0 ? (char *) 0 : (char const *) 0; -+ -+ *t++ = 0; -+ } -+ { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ -+ int x[] = {25, 17}; -+ const int *foo = &x[0]; -+ ++foo; -+ } -+ { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ -+ typedef const int *iptr; -+ iptr p = 0; -+ ++p; -+ } -+ { /* AIX XL C 1.02.0.0 rejects this saying -+ "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ -+ struct s { int j; const int *ap[3]; }; -+ struct s *b; b->j = 5; -+ } -+ { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ -+ const int foo = 10; -+ } -+#endif -+ -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext -+if { (eval echo "$as_me:3632: \"$ac_compile\"") >&5 -+ (eval $ac_compile) 2>&5 -+ ac_status=$? -+ echo "$as_me:3635: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -s conftest.$ac_objext' -+ { (eval echo "$as_me:3638: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:3641: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_cv_c_const=yes -+else -+ echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+ac_cv_c_const=no -+fi -+rm -f conftest.$ac_objext conftest.$ac_ext -+fi -+echo "$as_me:3651: result: $ac_cv_c_const" >&5 -+echo "${ECHO_T}$ac_cv_c_const" >&6 -+if test $ac_cv_c_const = no; then -+ -+cat >>confdefs.h <<\EOF -+#define const -+EOF -+ -+fi -+ -+# On IRIX 5.3, sys/types and inttypes.h are conflicting. -+ -+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ -+ inttypes.h stdint.h unistd.h -+do -+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -+echo "$as_me:3667: checking for $ac_header" >&5 -+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -+if eval "test \"\${$as_ac_Header+set}\" = set"; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ cat >conftest.$ac_ext <<_ACEOF -+#line 3673 "configure" -+#include "confdefs.h" -+$ac_includes_default -+#include <$ac_header> -+_ACEOF -+rm -f conftest.$ac_objext -+if { (eval echo "$as_me:3679: \"$ac_compile\"") >&5 -+ (eval $ac_compile) 2>&5 -+ ac_status=$? -+ echo "$as_me:3682: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -s conftest.$ac_objext' -+ { (eval echo "$as_me:3685: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:3688: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ eval "$as_ac_Header=yes" -+else -+ echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+eval "$as_ac_Header=no" -+fi -+rm -f conftest.$ac_objext conftest.$ac_ext -+fi -+echo "$as_me:3698: result: `eval echo '${'$as_ac_Header'}'`" >&5 -+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -+if test `eval echo '${'$as_ac_Header'}'` = yes; then -+ cat >>confdefs.h <&5 -+echo $ECHO_N "checking for size_t... $ECHO_C" >&6 -+if test "${ac_cv_type_size_t+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ cat >conftest.$ac_ext <<_ACEOF -+#line 3714 "configure" -+#include "confdefs.h" -+$ac_includes_default -+int -+main () -+{ -+if ((size_t *) 0) -+ return 0; -+if (sizeof (size_t)) -+ return 0; -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext -+if { (eval echo "$as_me:3729: \"$ac_compile\"") >&5 -+ (eval $ac_compile) 2>&5 -+ ac_status=$? -+ echo "$as_me:3732: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -s conftest.$ac_objext' -+ { (eval echo "$as_me:3735: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:3738: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_cv_type_size_t=yes -+else -+ echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+ac_cv_type_size_t=no -+fi -+rm -f conftest.$ac_objext conftest.$ac_ext -+fi -+echo "$as_me:3748: result: $ac_cv_type_size_t" >&5 -+echo "${ECHO_T}$ac_cv_type_size_t" >&6 -+if test $ac_cv_type_size_t = yes; then -+ : -+else -+ -+cat >>confdefs.h <&5 -+echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6 -+if test "${ac_cv_header_time+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ cat >conftest.$ac_ext <<_ACEOF -+#line 3766 "configure" -+#include "confdefs.h" -+#include -+#include -+#include -+ -+int -+main () -+{ -+if ((struct tm *) 0) -+return 0; -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext -+if { (eval echo "$as_me:3782: \"$ac_compile\"") >&5 -+ (eval $ac_compile) 2>&5 -+ ac_status=$? -+ echo "$as_me:3785: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -s conftest.$ac_objext' -+ { (eval echo "$as_me:3788: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:3791: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_cv_header_time=yes -+else -+ echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+ac_cv_header_time=no -+fi -+rm -f conftest.$ac_objext conftest.$ac_ext -+fi -+echo "$as_me:3801: result: $ac_cv_header_time" >&5 -+echo "${ECHO_T}$ac_cv_header_time" >&6 -+if test $ac_cv_header_time = yes; then -+ -+cat >>confdefs.h <<\EOF -+#define TIME_WITH_SYS_TIME 1 -+EOF -+ -+fi -+ -+echo "$as_me:3811: checking whether byte ordering is bigendian" >&5 -+echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6 -+if test "${ac_cv_c_bigendian+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ ac_cv_c_bigendian=unknown -+# See if sys/param.h defines the BYTE_ORDER macro. -+cat >conftest.$ac_ext <<_ACEOF -+#line 3819 "configure" -+#include "confdefs.h" -+#include -+#include -+ -+int -+main () -+{ -+#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN -+ bogus endian macros -+#endif -+ -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext -+if { (eval echo "$as_me:3836: \"$ac_compile\"") >&5 -+ (eval $ac_compile) 2>&5 -+ ac_status=$? -+ echo "$as_me:3839: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -s conftest.$ac_objext' -+ { (eval echo "$as_me:3842: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:3845: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ # It does; now see whether it defined to BIG_ENDIAN or not. -+cat >conftest.$ac_ext <<_ACEOF -+#line 3849 "configure" -+#include "confdefs.h" -+#include -+#include -+ -+int -+main () -+{ -+#if BYTE_ORDER != BIG_ENDIAN -+ not big endian -+#endif -+ -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext -+if { (eval echo "$as_me:3866: \"$ac_compile\"") >&5 -+ (eval $ac_compile) 2>&5 -+ ac_status=$? -+ echo "$as_me:3869: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -s conftest.$ac_objext' -+ { (eval echo "$as_me:3872: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:3875: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_cv_c_bigendian=yes -+else -+ echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+ac_cv_c_bigendian=no -+fi -+rm -f conftest.$ac_objext conftest.$ac_ext -+else -+ echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+fi -+rm -f conftest.$ac_objext conftest.$ac_ext -+if test $ac_cv_c_bigendian = unknown; then -+if test "$cross_compiling" = yes; then -+ { { echo "$as_me:3891: error: cannot run test program while cross compiling" >&5 -+echo "$as_me: error: cannot run test program while cross compiling" >&2;} -+ { (exit 1); exit 1; }; } -+else -+ cat >conftest.$ac_ext <<_ACEOF -+#line 3896 "configure" -+#include "confdefs.h" -+int -+main () -+{ -+ /* Are we little or big endian? From Harbison&Steele. */ -+ union -+ { -+ long l; -+ char c[sizeof (long)]; -+ } u; -+ u.l = 1; -+ exit (u.c[sizeof (long) - 1] == 1); -+} -+_ACEOF -+rm -f conftest$ac_exeext -+if { (eval echo "$as_me:3912: \"$ac_link\"") >&5 -+ (eval $ac_link) 2>&5 -+ ac_status=$? -+ echo "$as_me:3915: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext' -+ { (eval echo "$as_me:3917: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:3920: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_cv_c_bigendian=no -+else -+ echo "$as_me: program exited with status $ac_status" >&5 -+echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+ac_cv_c_bigendian=yes -+fi -+rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -+fi -+fi -+fi -+echo "$as_me:3933: result: $ac_cv_c_bigendian" >&5 -+echo "${ECHO_T}$ac_cv_c_bigendian" >&6 -+if test $ac_cv_c_bigendian = yes; then -+ -+cat >>confdefs.h <<\EOF -+#define WORDS_BIGENDIAN 1 -+EOF -+ -+fi -+ -+echo "$as_me:3943: checking for int" >&5 -+echo $ECHO_N "checking for int... $ECHO_C" >&6 -+if test "${ac_cv_type_int+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ cat >conftest.$ac_ext <<_ACEOF -+#line 3949 "configure" -+#include "confdefs.h" -+$ac_includes_default -+int -+main () -+{ -+if ((int *) 0) -+ return 0; -+if (sizeof (int)) -+ return 0; -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext -+if { (eval echo "$as_me:3964: \"$ac_compile\"") >&5 -+ (eval $ac_compile) 2>&5 -+ ac_status=$? -+ echo "$as_me:3967: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -s conftest.$ac_objext' -+ { (eval echo "$as_me:3970: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:3973: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_cv_type_int=yes -+else -+ echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+ac_cv_type_int=no -+fi -+rm -f conftest.$ac_objext conftest.$ac_ext -+fi -+echo "$as_me:3983: result: $ac_cv_type_int" >&5 -+echo "${ECHO_T}$ac_cv_type_int" >&6 -+ -+echo "$as_me:3986: checking size of int" >&5 -+echo $ECHO_N "checking size of int... $ECHO_C" >&6 -+if test "${ac_cv_sizeof_int+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ if test "$ac_cv_type_int" = yes; then -+ if test "$cross_compiling" = yes; then -+ # Depending upon the size, compute the lo and hi bounds. -+cat >conftest.$ac_ext <<_ACEOF -+#line 3995 "configure" -+#include "confdefs.h" -+$ac_includes_default -+int -+main () -+{ -+int _array_ [1 - 2 * !((sizeof (int)) >= 0)] -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext -+if { (eval echo "$as_me:4007: \"$ac_compile\"") >&5 -+ (eval $ac_compile) 2>&5 -+ ac_status=$? -+ echo "$as_me:4010: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -s conftest.$ac_objext' -+ { (eval echo "$as_me:4013: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:4016: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_lo=0 ac_mid=0 -+ while :; do -+ cat >conftest.$ac_ext <<_ACEOF -+#line 4021 "configure" -+#include "confdefs.h" -+$ac_includes_default -+int -+main () -+{ -+int _array_ [1 - 2 * !((sizeof (int)) <= $ac_mid)] -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext -+if { (eval echo "$as_me:4033: \"$ac_compile\"") >&5 -+ (eval $ac_compile) 2>&5 -+ ac_status=$? -+ echo "$as_me:4036: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -s conftest.$ac_objext' -+ { (eval echo "$as_me:4039: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:4042: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_hi=$ac_mid; break -+else -+ echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+ac_lo=`expr $ac_mid + 1`; ac_mid=`expr 2 '*' $ac_mid + 1` -+fi -+rm -f conftest.$ac_objext conftest.$ac_ext -+ done -+else -+ echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+ac_hi=-1 ac_mid=-1 -+ while :; do -+ cat >conftest.$ac_ext <<_ACEOF -+#line 4058 "configure" -+#include "confdefs.h" -+$ac_includes_default -+int -+main () -+{ -+int _array_ [1 - 2 * !((sizeof (int)) >= $ac_mid)] -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext -+if { (eval echo "$as_me:4070: \"$ac_compile\"") >&5 -+ (eval $ac_compile) 2>&5 -+ ac_status=$? -+ echo "$as_me:4073: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -s conftest.$ac_objext' -+ { (eval echo "$as_me:4076: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:4079: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_lo=$ac_mid; break -+else -+ echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+ac_hi=`expr $ac_mid - 1`; ac_mid=`expr 2 '*' $ac_mid` -+fi -+rm -f conftest.$ac_objext conftest.$ac_ext -+ done -+fi -+rm -f conftest.$ac_objext conftest.$ac_ext -+# Binary search between lo and hi bounds. -+while test "x$ac_lo" != "x$ac_hi"; do -+ ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` -+ cat >conftest.$ac_ext <<_ACEOF -+#line 4095 "configure" -+#include "confdefs.h" -+$ac_includes_default -+int -+main () -+{ -+int _array_ [1 - 2 * !((sizeof (int)) <= $ac_mid)] -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext -+if { (eval echo "$as_me:4107: \"$ac_compile\"") >&5 -+ (eval $ac_compile) 2>&5 -+ ac_status=$? -+ echo "$as_me:4110: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -s conftest.$ac_objext' -+ { (eval echo "$as_me:4113: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:4116: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_hi=$ac_mid -+else -+ echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+ac_lo=`expr $ac_mid + 1` -+fi -+rm -f conftest.$ac_objext conftest.$ac_ext -+done -+ac_cv_sizeof_int=$ac_lo -+else -+ if test "$cross_compiling" = yes; then -+ { { echo "$as_me:4129: error: cannot run test program while cross compiling" >&5 -+echo "$as_me: error: cannot run test program while cross compiling" >&2;} -+ { (exit 1); exit 1; }; } -+else -+ cat >conftest.$ac_ext <<_ACEOF -+#line 4134 "configure" -+#include "confdefs.h" -+$ac_includes_default -+int -+main () -+{ -+FILE *f = fopen ("conftest.val", "w"); -+if (!f) -+ exit (1); -+fprintf (f, "%d", (sizeof (int))); -+fclose (f); -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest$ac_exeext -+if { (eval echo "$as_me:4150: \"$ac_link\"") >&5 -+ (eval $ac_link) 2>&5 -+ ac_status=$? -+ echo "$as_me:4153: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext' -+ { (eval echo "$as_me:4155: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:4158: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_cv_sizeof_int=`cat conftest.val` -+else -+ echo "$as_me: program exited with status $ac_status" >&5 -+echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+fi -+rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -+fi -+fi -+rm -f conftest.val -+else -+ ac_cv_sizeof_int=0 -+fi -+fi -+echo "$as_me:4174: result: $ac_cv_sizeof_int" >&5 -+echo "${ECHO_T}$ac_cv_sizeof_int" >&6 -+cat >>confdefs.h <&5 -+echo $ECHO_N "checking for long... $ECHO_C" >&6 -+if test "${ac_cv_type_long+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ cat >conftest.$ac_ext <<_ACEOF -+#line 4186 "configure" -+#include "confdefs.h" -+$ac_includes_default -+int -+main () -+{ -+if ((long *) 0) -+ return 0; -+if (sizeof (long)) -+ return 0; -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext -+if { (eval echo "$as_me:4201: \"$ac_compile\"") >&5 -+ (eval $ac_compile) 2>&5 -+ ac_status=$? -+ echo "$as_me:4204: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -s conftest.$ac_objext' -+ { (eval echo "$as_me:4207: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:4210: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_cv_type_long=yes -+else -+ echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+ac_cv_type_long=no -+fi -+rm -f conftest.$ac_objext conftest.$ac_ext -+fi -+echo "$as_me:4220: result: $ac_cv_type_long" >&5 -+echo "${ECHO_T}$ac_cv_type_long" >&6 -+ -+echo "$as_me:4223: checking size of long" >&5 -+echo $ECHO_N "checking size of long... $ECHO_C" >&6 -+if test "${ac_cv_sizeof_long+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ if test "$ac_cv_type_long" = yes; then -+ if test "$cross_compiling" = yes; then -+ # Depending upon the size, compute the lo and hi bounds. -+cat >conftest.$ac_ext <<_ACEOF -+#line 4232 "configure" -+#include "confdefs.h" -+$ac_includes_default -+int -+main () -+{ -+int _array_ [1 - 2 * !((sizeof (long)) >= 0)] -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext -+if { (eval echo "$as_me:4244: \"$ac_compile\"") >&5 -+ (eval $ac_compile) 2>&5 -+ ac_status=$? -+ echo "$as_me:4247: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -s conftest.$ac_objext' -+ { (eval echo "$as_me:4250: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:4253: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_lo=0 ac_mid=0 -+ while :; do -+ cat >conftest.$ac_ext <<_ACEOF -+#line 4258 "configure" -+#include "confdefs.h" -+$ac_includes_default -+int -+main () -+{ -+int _array_ [1 - 2 * !((sizeof (long)) <= $ac_mid)] -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext -+if { (eval echo "$as_me:4270: \"$ac_compile\"") >&5 -+ (eval $ac_compile) 2>&5 -+ ac_status=$? -+ echo "$as_me:4273: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -s conftest.$ac_objext' -+ { (eval echo "$as_me:4276: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:4279: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_hi=$ac_mid; break -+else -+ echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+ac_lo=`expr $ac_mid + 1`; ac_mid=`expr 2 '*' $ac_mid + 1` -+fi -+rm -f conftest.$ac_objext conftest.$ac_ext -+ done -+else -+ echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+ac_hi=-1 ac_mid=-1 -+ while :; do -+ cat >conftest.$ac_ext <<_ACEOF -+#line 4295 "configure" -+#include "confdefs.h" -+$ac_includes_default -+int -+main () -+{ -+int _array_ [1 - 2 * !((sizeof (long)) >= $ac_mid)] -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext -+if { (eval echo "$as_me:4307: \"$ac_compile\"") >&5 -+ (eval $ac_compile) 2>&5 -+ ac_status=$? -+ echo "$as_me:4310: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -s conftest.$ac_objext' -+ { (eval echo "$as_me:4313: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:4316: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_lo=$ac_mid; break -+else -+ echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+ac_hi=`expr $ac_mid - 1`; ac_mid=`expr 2 '*' $ac_mid` -+fi -+rm -f conftest.$ac_objext conftest.$ac_ext -+ done -+fi -+rm -f conftest.$ac_objext conftest.$ac_ext -+# Binary search between lo and hi bounds. -+while test "x$ac_lo" != "x$ac_hi"; do -+ ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` -+ cat >conftest.$ac_ext <<_ACEOF -+#line 4332 "configure" -+#include "confdefs.h" -+$ac_includes_default -+int -+main () -+{ -+int _array_ [1 - 2 * !((sizeof (long)) <= $ac_mid)] -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext -+if { (eval echo "$as_me:4344: \"$ac_compile\"") >&5 -+ (eval $ac_compile) 2>&5 -+ ac_status=$? -+ echo "$as_me:4347: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -s conftest.$ac_objext' -+ { (eval echo "$as_me:4350: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:4353: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_hi=$ac_mid -+else -+ echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+ac_lo=`expr $ac_mid + 1` -+fi -+rm -f conftest.$ac_objext conftest.$ac_ext -+done -+ac_cv_sizeof_long=$ac_lo -+else -+ if test "$cross_compiling" = yes; then -+ { { echo "$as_me:4366: error: cannot run test program while cross compiling" >&5 -+echo "$as_me: error: cannot run test program while cross compiling" >&2;} -+ { (exit 1); exit 1; }; } -+else -+ cat >conftest.$ac_ext <<_ACEOF -+#line 4371 "configure" -+#include "confdefs.h" -+$ac_includes_default -+int -+main () -+{ -+FILE *f = fopen ("conftest.val", "w"); -+if (!f) -+ exit (1); -+fprintf (f, "%d", (sizeof (long))); -+fclose (f); -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest$ac_exeext -+if { (eval echo "$as_me:4387: \"$ac_link\"") >&5 -+ (eval $ac_link) 2>&5 -+ ac_status=$? -+ echo "$as_me:4390: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext' -+ { (eval echo "$as_me:4392: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:4395: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_cv_sizeof_long=`cat conftest.val` -+else -+ echo "$as_me: program exited with status $ac_status" >&5 -+echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+fi -+rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -+fi -+fi -+rm -f conftest.val -+else -+ ac_cv_sizeof_long=0 -+fi -+fi -+echo "$as_me:4411: result: $ac_cv_sizeof_long" >&5 -+echo "${ECHO_T}$ac_cv_sizeof_long" >&6 -+cat >>confdefs.h <&5 -+echo $ECHO_N "checking for long long... $ECHO_C" >&6 -+if test "${ac_cv_type_long_long+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ cat >conftest.$ac_ext <<_ACEOF -+#line 4423 "configure" -+#include "confdefs.h" -+$ac_includes_default -+int -+main () -+{ -+if ((long long *) 0) -+ return 0; -+if (sizeof (long long)) -+ return 0; -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext -+if { (eval echo "$as_me:4438: \"$ac_compile\"") >&5 -+ (eval $ac_compile) 2>&5 -+ ac_status=$? -+ echo "$as_me:4441: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -s conftest.$ac_objext' -+ { (eval echo "$as_me:4444: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:4447: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_cv_type_long_long=yes -+else -+ echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+ac_cv_type_long_long=no -+fi -+rm -f conftest.$ac_objext conftest.$ac_ext -+fi -+echo "$as_me:4457: result: $ac_cv_type_long_long" >&5 -+echo "${ECHO_T}$ac_cv_type_long_long" >&6 -+ -+echo "$as_me:4460: checking size of long long" >&5 -+echo $ECHO_N "checking size of long long... $ECHO_C" >&6 -+if test "${ac_cv_sizeof_long_long+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ if test "$ac_cv_type_long_long" = yes; then -+ if test "$cross_compiling" = yes; then -+ # Depending upon the size, compute the lo and hi bounds. -+cat >conftest.$ac_ext <<_ACEOF -+#line 4469 "configure" -+#include "confdefs.h" -+$ac_includes_default -+int -+main () -+{ -+int _array_ [1 - 2 * !((sizeof (long long)) >= 0)] -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext -+if { (eval echo "$as_me:4481: \"$ac_compile\"") >&5 -+ (eval $ac_compile) 2>&5 -+ ac_status=$? -+ echo "$as_me:4484: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -s conftest.$ac_objext' -+ { (eval echo "$as_me:4487: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:4490: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_lo=0 ac_mid=0 -+ while :; do -+ cat >conftest.$ac_ext <<_ACEOF -+#line 4495 "configure" -+#include "confdefs.h" -+$ac_includes_default -+int -+main () -+{ -+int _array_ [1 - 2 * !((sizeof (long long)) <= $ac_mid)] -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext -+if { (eval echo "$as_me:4507: \"$ac_compile\"") >&5 -+ (eval $ac_compile) 2>&5 -+ ac_status=$? -+ echo "$as_me:4510: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -s conftest.$ac_objext' -+ { (eval echo "$as_me:4513: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:4516: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_hi=$ac_mid; break -+else -+ echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+ac_lo=`expr $ac_mid + 1`; ac_mid=`expr 2 '*' $ac_mid + 1` -+fi -+rm -f conftest.$ac_objext conftest.$ac_ext -+ done -+else -+ echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+ac_hi=-1 ac_mid=-1 -+ while :; do -+ cat >conftest.$ac_ext <<_ACEOF -+#line 4532 "configure" -+#include "confdefs.h" -+$ac_includes_default -+int -+main () -+{ -+int _array_ [1 - 2 * !((sizeof (long long)) >= $ac_mid)] -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext -+if { (eval echo "$as_me:4544: \"$ac_compile\"") >&5 -+ (eval $ac_compile) 2>&5 -+ ac_status=$? -+ echo "$as_me:4547: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -s conftest.$ac_objext' -+ { (eval echo "$as_me:4550: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:4553: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_lo=$ac_mid; break -+else -+ echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+ac_hi=`expr $ac_mid - 1`; ac_mid=`expr 2 '*' $ac_mid` -+fi -+rm -f conftest.$ac_objext conftest.$ac_ext -+ done -+fi -+rm -f conftest.$ac_objext conftest.$ac_ext -+# Binary search between lo and hi bounds. -+while test "x$ac_lo" != "x$ac_hi"; do -+ ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` -+ cat >conftest.$ac_ext <<_ACEOF -+#line 4569 "configure" -+#include "confdefs.h" -+$ac_includes_default -+int -+main () -+{ -+int _array_ [1 - 2 * !((sizeof (long long)) <= $ac_mid)] -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext -+if { (eval echo "$as_me:4581: \"$ac_compile\"") >&5 -+ (eval $ac_compile) 2>&5 -+ ac_status=$? -+ echo "$as_me:4584: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -s conftest.$ac_objext' -+ { (eval echo "$as_me:4587: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:4590: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_hi=$ac_mid -+else -+ echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+ac_lo=`expr $ac_mid + 1` -+fi -+rm -f conftest.$ac_objext conftest.$ac_ext -+done -+ac_cv_sizeof_long_long=$ac_lo -+else -+ if test "$cross_compiling" = yes; then -+ { { echo "$as_me:4603: error: cannot run test program while cross compiling" >&5 -+echo "$as_me: error: cannot run test program while cross compiling" >&2;} -+ { (exit 1); exit 1; }; } -+else -+ cat >conftest.$ac_ext <<_ACEOF -+#line 4608 "configure" -+#include "confdefs.h" -+$ac_includes_default -+int -+main () -+{ -+FILE *f = fopen ("conftest.val", "w"); -+if (!f) -+ exit (1); -+fprintf (f, "%d", (sizeof (long long))); -+fclose (f); -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest$ac_exeext -+if { (eval echo "$as_me:4624: \"$ac_link\"") >&5 -+ (eval $ac_link) 2>&5 -+ ac_status=$? -+ echo "$as_me:4627: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext' -+ { (eval echo "$as_me:4629: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:4632: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_cv_sizeof_long_long=`cat conftest.val` -+else -+ echo "$as_me: program exited with status $ac_status" >&5 -+echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+fi -+rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -+fi -+fi -+rm -f conftest.val -+else -+ ac_cv_sizeof_long_long=0 -+fi -+fi -+echo "$as_me:4648: result: $ac_cv_sizeof_long_long" >&5 -+echo "${ECHO_T}$ac_cv_sizeof_long_long" >&6 -+cat >>confdefs.h <>confdefs.h <<\EOF -+#define USES_1S_COMPLEMENT 0 -+EOF -+ -+cat >>confdefs.h <<\EOF -+#define USES_2S_COMPLEMENT 1 -+EOF -+ -+cat >>confdefs.h <<\EOF -+#define USES_SIGNED_MAGNITUDE 0 -+EOF -+ -+cat >>confdefs.h <<\EOF -+#define IS_BYTE_ALIGNED 1 -+EOF -+ -+cat >>confdefs.h <<\EOF -+#define EXCEPTION_NAMESPACE std:: -+EOF -+ -+cat >>confdefs.h <<\EOF -+#define IS_UNIX 1 -+EOF -+ -+cat >>confdefs.h <<\EOF -+#define NDEBUG 1 -+EOF -+ -+for ac_func in strftime gethostname gethostid -+do -+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -+echo "$as_me:4685: checking for $ac_func" >&5 -+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -+if eval "test \"\${$as_ac_var+set}\" = set"; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ cat >conftest.$ac_ext <<_ACEOF -+#line 4691 "configure" -+#include "confdefs.h" -+/* System header to define __stub macros and hopefully few prototypes, -+ which can conflict with char $ac_func (); below. */ -+#include -+/* Override any gcc2 internal prototype to avoid an error. */ -+#ifdef __cplusplus -+extern "C" -+#endif -+/* We use char because int might match the return type of a gcc2 -+ builtin and then its argument prototype would still apply. */ -+char $ac_func (); -+char (*f) (); -+ -+int -+main () -+{ -+/* The GNU C library defines this for functions which it implements -+ to always fail with ENOSYS. Some functions are actually named -+ something starting with __ and the normal name is an alias. */ -+#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -+choke me -+#else -+f = $ac_func; -+#endif -+ -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext conftest$ac_exeext -+if { (eval echo "$as_me:4722: \"$ac_link\"") >&5 -+ (eval $ac_link) 2>&5 -+ ac_status=$? -+ echo "$as_me:4725: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -s conftest$ac_exeext' -+ { (eval echo "$as_me:4728: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:4731: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ eval "$as_ac_var=yes" -+else -+ echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+eval "$as_ac_var=no" -+fi -+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -+fi -+echo "$as_me:4741: result: `eval echo '${'$as_ac_var'}'`" >&5 -+echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -+if test `eval echo '${'$as_ac_var'}'` = yes; then -+ cat >>confdefs.h <&5 -+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -+if eval "test \"\${$as_ac_var+set}\" = set"; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ cat >conftest.$ac_ext <<_ACEOF -+#line 4760 "configure" -+#include "confdefs.h" -+/* System header to define __stub macros and hopefully few prototypes, -+ which can conflict with char $ac_func (); below. */ -+#include -+/* Override any gcc2 internal prototype to avoid an error. */ -+#ifdef __cplusplus -+extern "C" -+#endif -+/* We use char because int might match the return type of a gcc2 -+ builtin and then its argument prototype would still apply. */ -+char $ac_func (); -+char (*f) (); -+ -+int -+main () -+{ -+/* The GNU C library defines this for functions which it implements -+ to always fail with ENOSYS. Some functions are actually named -+ something starting with __ and the normal name is an alias. */ -+#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -+choke me -+#else -+f = $ac_func; -+#endif -+ -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext conftest$ac_exeext -+if { (eval echo "$as_me:4791: \"$ac_link\"") >&5 -+ (eval $ac_link) 2>&5 -+ ac_status=$? -+ echo "$as_me:4794: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -s conftest$ac_exeext' -+ { (eval echo "$as_me:4797: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:4800: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ eval "$as_ac_var=yes" -+else -+ echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+eval "$as_ac_var=no" -+fi -+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -+fi -+echo "$as_me:4810: result: `eval echo '${'$as_ac_var'}'`" >&5 -+echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -+if test `eval echo '${'$as_ac_var'}'` = yes; then -+ cat >>confdefs.h <&5 -+echo $ECHO_N "checking for socket in -lc... $ECHO_C" >&6 -+if test "${ac_cv_lib_c_socket+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ ac_check_lib_save_LIBS=$LIBS -+LIBS="-lc $LIBS" -+cat >conftest.$ac_ext <<_ACEOF -+#line 4828 "configure" -+#include "confdefs.h" -+ -+/* Override any gcc2 internal prototype to avoid an error. */ -+#ifdef __cplusplus -+extern "C" -+#endif -+/* We use char because int might match the return type of a gcc2 -+ builtin and then its argument prototype would still apply. */ -+char socket (); -+int -+main () -+{ -+socket (); -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext conftest$ac_exeext -+if { (eval echo "$as_me:4847: \"$ac_link\"") >&5 -+ (eval $ac_link) 2>&5 -+ ac_status=$? -+ echo "$as_me:4850: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -s conftest$ac_exeext' -+ { (eval echo "$as_me:4853: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:4856: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_cv_lib_c_socket=yes -+else -+ echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+ac_cv_lib_c_socket=no -+fi -+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -+LIBS=$ac_check_lib_save_LIBS -+fi -+echo "$as_me:4867: result: $ac_cv_lib_c_socket" >&5 -+echo "${ECHO_T}$ac_cv_lib_c_socket" >&6 -+if test $ac_cv_lib_c_socket = yes; then -+ : -+else -+ -+ echo "$as_me:4873: checking for socket in -lsocket" >&5 -+echo $ECHO_N "checking for socket in -lsocket... $ECHO_C" >&6 -+if test "${ac_cv_lib_socket_socket+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ ac_check_lib_save_LIBS=$LIBS -+LIBS="-lsocket $LIBS" -+cat >conftest.$ac_ext <<_ACEOF -+#line 4881 "configure" -+#include "confdefs.h" -+ -+/* Override any gcc2 internal prototype to avoid an error. */ -+#ifdef __cplusplus -+extern "C" -+#endif -+/* We use char because int might match the return type of a gcc2 -+ builtin and then its argument prototype would still apply. */ -+char socket (); -+int -+main () -+{ -+socket (); -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext conftest$ac_exeext -+if { (eval echo "$as_me:4900: \"$ac_link\"") >&5 -+ (eval $ac_link) 2>&5 -+ ac_status=$? -+ echo "$as_me:4903: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -s conftest$ac_exeext' -+ { (eval echo "$as_me:4906: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:4909: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_cv_lib_socket_socket=yes -+else -+ echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+ac_cv_lib_socket_socket=no -+fi -+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -+LIBS=$ac_check_lib_save_LIBS -+fi -+echo "$as_me:4920: result: $ac_cv_lib_socket_socket" >&5 -+echo "${ECHO_T}$ac_cv_lib_socket_socket" >&6 -+if test $ac_cv_lib_socket_socket = yes; then -+ -+ LIBS="-lsocket $LIBS" -+ -+else -+ : -+fi -+ -+fi -+ -+echo "$as_me:4932: checking for gethostbyname in -lc" >&5 -+echo $ECHO_N "checking for gethostbyname in -lc... $ECHO_C" >&6 -+if test "${ac_cv_lib_c_gethostbyname+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ ac_check_lib_save_LIBS=$LIBS -+LIBS="-lc $LIBS" -+cat >conftest.$ac_ext <<_ACEOF -+#line 4940 "configure" -+#include "confdefs.h" -+ -+/* Override any gcc2 internal prototype to avoid an error. */ -+#ifdef __cplusplus -+extern "C" -+#endif -+/* We use char because int might match the return type of a gcc2 -+ builtin and then its argument prototype would still apply. */ -+char gethostbyname (); -+int -+main () -+{ -+gethostbyname (); -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext conftest$ac_exeext -+if { (eval echo "$as_me:4959: \"$ac_link\"") >&5 -+ (eval $ac_link) 2>&5 -+ ac_status=$? -+ echo "$as_me:4962: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -s conftest$ac_exeext' -+ { (eval echo "$as_me:4965: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:4968: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_cv_lib_c_gethostbyname=yes -+else -+ echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+ac_cv_lib_c_gethostbyname=no -+fi -+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -+LIBS=$ac_check_lib_save_LIBS -+fi -+echo "$as_me:4979: result: $ac_cv_lib_c_gethostbyname" >&5 -+echo "${ECHO_T}$ac_cv_lib_c_gethostbyname" >&6 -+if test $ac_cv_lib_c_gethostbyname = yes; then -+ : -+else -+ -+ echo "$as_me:4985: checking for gethostbyname in -lnsl" >&5 -+echo $ECHO_N "checking for gethostbyname in -lnsl... $ECHO_C" >&6 -+if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ ac_check_lib_save_LIBS=$LIBS -+LIBS="-lnsl $LIBS" -+cat >conftest.$ac_ext <<_ACEOF -+#line 4993 "configure" -+#include "confdefs.h" -+ -+/* Override any gcc2 internal prototype to avoid an error. */ -+#ifdef __cplusplus -+extern "C" -+#endif -+/* We use char because int might match the return type of a gcc2 -+ builtin and then its argument prototype would still apply. */ -+char gethostbyname (); -+int -+main () -+{ -+gethostbyname (); -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext conftest$ac_exeext -+if { (eval echo "$as_me:5012: \"$ac_link\"") >&5 -+ (eval $ac_link) 2>&5 -+ ac_status=$? -+ echo "$as_me:5015: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -s conftest$ac_exeext' -+ { (eval echo "$as_me:5018: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:5021: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_cv_lib_nsl_gethostbyname=yes -+else -+ echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+ac_cv_lib_nsl_gethostbyname=no -+fi -+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -+LIBS=$ac_check_lib_save_LIBS -+fi -+echo "$as_me:5032: result: $ac_cv_lib_nsl_gethostbyname" >&5 -+echo "${ECHO_T}$ac_cv_lib_nsl_gethostbyname" >&6 -+if test $ac_cv_lib_nsl_gethostbyname = yes; then -+ -+ LIBS="-lnsl $LIBS" -+ -+else -+ : -+fi -+ -+fi -+ -+ac_ext=cc -+ac_cpp='$CXXCPP $CPPFLAGS' -+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -+ -+ac_ext=cc -+ac_cpp='$CXXCPP $CPPFLAGS' -+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -+echo "$as_me:5055: checking how to run the C++ preprocessor" >&5 -+echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6 -+if test -z "$CXXCPP"; then -+ if test "${ac_cv_prog_CXXCPP+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ # Double quotes because CXXCPP needs to be expanded -+ for CXXCPP in "$CXX -E" "/lib/cpp" -+ do -+ ac_preproc_ok=false -+for ac_cxx_preproc_warn_flag in '' yes -+do -+ # Use a header file that comes with gcc, so configuring glibc -+ # with a fresh cross-compiler works. -+ # On the NeXT, cc -E runs the code through the compiler's parser, -+ # not just through cpp. "Syntax error" is here to catch this case. -+ cat >conftest.$ac_ext <<_ACEOF -+#line 5072 "configure" -+#include "confdefs.h" -+#include -+ Syntax error -+_ACEOF -+if { (eval echo "$as_me:5077: \"$ac_cpp conftest.$ac_ext\"") >&5 -+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 -+ ac_status=$? -+ egrep -v '^ *\+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ echo "$as_me:5083: \$? = $ac_status" >&5 -+ (exit $ac_status); } >/dev/null; then -+ if test -s conftest.err; then -+ ac_cpp_err=$ac_cxx_preproc_warn_flag -+ else -+ ac_cpp_err= -+ fi -+else -+ ac_cpp_err=yes -+fi -+if test -z "$ac_cpp_err"; then -+ : -+else -+ echo "$as_me: failed program was:" >&5 -+ cat conftest.$ac_ext >&5 -+ # Broken: fails on valid input. -+continue -+fi -+rm -f conftest.err conftest.$ac_ext -+ -+ # OK, works on sane cases. Now check whether non-existent headers -+ # can be detected and how. -+ cat >conftest.$ac_ext <<_ACEOF -+#line 5106 "configure" -+#include "confdefs.h" -+#include -+_ACEOF -+if { (eval echo "$as_me:5110: \"$ac_cpp conftest.$ac_ext\"") >&5 -+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 -+ ac_status=$? -+ egrep -v '^ *\+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ echo "$as_me:5116: \$? = $ac_status" >&5 -+ (exit $ac_status); } >/dev/null; then -+ if test -s conftest.err; then -+ ac_cpp_err=$ac_cxx_preproc_warn_flag -+ else -+ ac_cpp_err= -+ fi -+else -+ ac_cpp_err=yes -+fi -+if test -z "$ac_cpp_err"; then -+ # Broken: success on invalid input. -+continue -+else -+ echo "$as_me: failed program was:" >&5 -+ cat conftest.$ac_ext >&5 -+ # Passes both tests. -+ac_preproc_ok=: -+break -+fi -+rm -f conftest.err conftest.$ac_ext -+ -+done -+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -+rm -f conftest.err conftest.$ac_ext -+if $ac_preproc_ok; then -+ break -+fi -+ -+ done -+ ac_cv_prog_CXXCPP=$CXXCPP -+ -+fi -+ CXXCPP=$ac_cv_prog_CXXCPP -+else -+ ac_cv_prog_CXXCPP=$CXXCPP -+fi -+echo "$as_me:5153: result: $CXXCPP" >&5 -+echo "${ECHO_T}$CXXCPP" >&6 -+ac_preproc_ok=false -+for ac_cxx_preproc_warn_flag in '' yes -+do -+ # Use a header file that comes with gcc, so configuring glibc -+ # with a fresh cross-compiler works. -+ # On the NeXT, cc -E runs the code through the compiler's parser, -+ # not just through cpp. "Syntax error" is here to catch this case. -+ cat >conftest.$ac_ext <<_ACEOF -+#line 5163 "configure" -+#include "confdefs.h" -+#include -+ Syntax error -+_ACEOF -+if { (eval echo "$as_me:5168: \"$ac_cpp conftest.$ac_ext\"") >&5 -+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 -+ ac_status=$? -+ egrep -v '^ *\+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ echo "$as_me:5174: \$? = $ac_status" >&5 -+ (exit $ac_status); } >/dev/null; then -+ if test -s conftest.err; then -+ ac_cpp_err=$ac_cxx_preproc_warn_flag -+ else -+ ac_cpp_err= -+ fi -+else -+ ac_cpp_err=yes -+fi -+if test -z "$ac_cpp_err"; then -+ : -+else -+ echo "$as_me: failed program was:" >&5 -+ cat conftest.$ac_ext >&5 -+ # Broken: fails on valid input. -+continue -+fi -+rm -f conftest.err conftest.$ac_ext -+ -+ # OK, works on sane cases. Now check whether non-existent headers -+ # can be detected and how. -+ cat >conftest.$ac_ext <<_ACEOF -+#line 5197 "configure" -+#include "confdefs.h" -+#include -+_ACEOF -+if { (eval echo "$as_me:5201: \"$ac_cpp conftest.$ac_ext\"") >&5 -+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 -+ ac_status=$? -+ egrep -v '^ *\+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ echo "$as_me:5207: \$? = $ac_status" >&5 -+ (exit $ac_status); } >/dev/null; then -+ if test -s conftest.err; then -+ ac_cpp_err=$ac_cxx_preproc_warn_flag -+ else -+ ac_cpp_err= -+ fi -+else -+ ac_cpp_err=yes -+fi -+if test -z "$ac_cpp_err"; then -+ # Broken: success on invalid input. -+continue -+else -+ echo "$as_me: failed program was:" >&5 -+ cat conftest.$ac_ext >&5 -+ # Passes both tests. -+ac_preproc_ok=: -+break -+fi -+rm -f conftest.err conftest.$ac_ext -+ -+done -+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -+rm -f conftest.err conftest.$ac_ext -+if $ac_preproc_ok; then -+ : -+else -+ { { echo "$as_me:5235: error: C++ preprocessor \"$CXXCPP\" fails sanity check" >&5 -+echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check" >&2;} -+ { (exit 1); exit 1; }; } -+fi -+ -+ac_ext=cc -+ac_cpp='$CXXCPP $CPPFLAGS' -+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -+ -+echo "$as_me:5246: checking for locale" >&5 -+echo $ECHO_N "checking for locale... $ECHO_C" >&6 -+if test "${ac_cv_header_locale+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ cat >conftest.$ac_ext <<_ACEOF -+#line 5252 "configure" -+#include "confdefs.h" -+#include -+_ACEOF -+if { (eval echo "$as_me:5256: \"$ac_cpp conftest.$ac_ext\"") >&5 -+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 -+ ac_status=$? -+ egrep -v '^ *\+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ echo "$as_me:5262: \$? = $ac_status" >&5 -+ (exit $ac_status); } >/dev/null; then -+ if test -s conftest.err; then -+ ac_cpp_err=$ac_cxx_preproc_warn_flag -+ else -+ ac_cpp_err= -+ fi -+else -+ ac_cpp_err=yes -+fi -+if test -z "$ac_cpp_err"; then -+ ac_cv_header_locale=yes -+else -+ echo "$as_me: failed program was:" >&5 -+ cat conftest.$ac_ext >&5 -+ ac_cv_header_locale=no -+fi -+rm -f conftest.err conftest.$ac_ext -+fi -+echo "$as_me:5281: result: $ac_cv_header_locale" >&5 -+echo "${ECHO_T}$ac_cv_header_locale" >&6 -+if test $ac_cv_header_locale = yes; then -+ -+ STLPORT_INCLUDE=" " -+ STLPORT_LD=" " -+ STLPORT_SUBDIR=" " -+ GMAKE=$MAKE -+ -+else -+ -+ echo "$as_me:5292: checking for pthread_getspecific" >&5 -+echo $ECHO_N "checking for pthread_getspecific... $ECHO_C" >&6 -+if test "${ac_cv_func_pthread_getspecific+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ cat >conftest.$ac_ext <<_ACEOF -+#line 5298 "configure" -+#include "confdefs.h" -+/* System header to define __stub macros and hopefully few prototypes, -+ which can conflict with char pthread_getspecific (); below. */ -+#include -+/* Override any gcc2 internal prototype to avoid an error. */ -+#ifdef __cplusplus -+extern "C" -+#endif -+/* We use char because int might match the return type of a gcc2 -+ builtin and then its argument prototype would still apply. */ -+char pthread_getspecific (); -+char (*f) (); -+ -+int -+main () -+{ -+/* The GNU C library defines this for functions which it implements -+ to always fail with ENOSYS. Some functions are actually named -+ something starting with __ and the normal name is an alias. */ -+#if defined (__stub_pthread_getspecific) || defined (__stub___pthread_getspecific) -+choke me -+#else -+f = pthread_getspecific; -+#endif -+ -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext conftest$ac_exeext -+if { (eval echo "$as_me:5329: \"$ac_link\"") >&5 -+ (eval $ac_link) 2>&5 -+ ac_status=$? -+ echo "$as_me:5332: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -s conftest$ac_exeext' -+ { (eval echo "$as_me:5335: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:5338: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_cv_func_pthread_getspecific=yes -+else -+ echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+ac_cv_func_pthread_getspecific=no -+fi -+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -+fi -+echo "$as_me:5348: result: $ac_cv_func_pthread_getspecific" >&5 -+echo "${ECHO_T}$ac_cv_func_pthread_getspecific" >&6 -+if test $ac_cv_func_pthread_getspecific = yes; then -+ : -+else -+ -+ LDFLAGS_TEMP="${LDFLAGS}" -+ LDFLAGS="${LDFLAGS_TEMP} -pthread" -+ unset ac_cv_func_pthread_getspecific -+ echo "$as_me:5357: checking for pthread_getspecific" >&5 -+echo $ECHO_N "checking for pthread_getspecific... $ECHO_C" >&6 -+if test "${ac_cv_func_pthread_getspecific+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ cat >conftest.$ac_ext <<_ACEOF -+#line 5363 "configure" -+#include "confdefs.h" -+/* System header to define __stub macros and hopefully few prototypes, -+ which can conflict with char pthread_getspecific (); below. */ -+#include -+/* Override any gcc2 internal prototype to avoid an error. */ -+#ifdef __cplusplus -+extern "C" -+#endif -+/* We use char because int might match the return type of a gcc2 -+ builtin and then its argument prototype would still apply. */ -+char pthread_getspecific (); -+char (*f) (); -+ -+int -+main () -+{ -+/* The GNU C library defines this for functions which it implements -+ to always fail with ENOSYS. Some functions are actually named -+ something starting with __ and the normal name is an alias. */ -+#if defined (__stub_pthread_getspecific) || defined (__stub___pthread_getspecific) -+choke me -+#else -+f = pthread_getspecific; -+#endif -+ -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext conftest$ac_exeext -+if { (eval echo "$as_me:5394: \"$ac_link\"") >&5 -+ (eval $ac_link) 2>&5 -+ ac_status=$? -+ echo "$as_me:5397: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -s conftest$ac_exeext' -+ { (eval echo "$as_me:5400: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:5403: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_cv_func_pthread_getspecific=yes -+else -+ echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+ac_cv_func_pthread_getspecific=no -+fi -+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -+fi -+echo "$as_me:5413: result: $ac_cv_func_pthread_getspecific" >&5 -+echo "${ECHO_T}$ac_cv_func_pthread_getspecific" >&6 -+if test $ac_cv_func_pthread_getspecific = yes; then -+ : -+else -+ -+ LDFLAGS="${LDFLAGS_TEMP} -lpthread" -+ unset ac_cv_func_pthread_getspecific -+ echo "$as_me:5421: checking for pthread_getspecific" >&5 -+echo $ECHO_N "checking for pthread_getspecific... $ECHO_C" >&6 -+if test "${ac_cv_func_pthread_getspecific+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ cat >conftest.$ac_ext <<_ACEOF -+#line 5427 "configure" -+#include "confdefs.h" -+/* System header to define __stub macros and hopefully few prototypes, -+ which can conflict with char pthread_getspecific (); below. */ -+#include -+/* Override any gcc2 internal prototype to avoid an error. */ -+#ifdef __cplusplus -+extern "C" -+#endif -+/* We use char because int might match the return type of a gcc2 -+ builtin and then its argument prototype would still apply. */ -+char pthread_getspecific (); -+char (*f) (); -+ -+int -+main () -+{ -+/* The GNU C library defines this for functions which it implements -+ to always fail with ENOSYS. Some functions are actually named -+ something starting with __ and the normal name is an alias. */ -+#if defined (__stub_pthread_getspecific) || defined (__stub___pthread_getspecific) -+choke me -+#else -+f = pthread_getspecific; -+#endif -+ -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext conftest$ac_exeext -+if { (eval echo "$as_me:5458: \"$ac_link\"") >&5 -+ (eval $ac_link) 2>&5 -+ ac_status=$? -+ echo "$as_me:5461: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -s conftest$ac_exeext' -+ { (eval echo "$as_me:5464: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:5467: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_cv_func_pthread_getspecific=yes -+else -+ echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+ac_cv_func_pthread_getspecific=no -+fi -+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -+fi -+echo "$as_me:5477: result: $ac_cv_func_pthread_getspecific" >&5 -+echo "${ECHO_T}$ac_cv_func_pthread_getspecific" >&6 -+if test $ac_cv_func_pthread_getspecific = yes; then -+ : -+else -+ -+ LDFLAGS="${LDFLAGS_TEMP}" -+ { { echo "$as_me:5484: error: No posix threads detected, cannot continue." >&5 -+echo "$as_me: error: No posix threads detected, cannot continue." >&2;} -+ { (exit 1); exit 1; }; } -+fi -+ -+fi -+ -+fi -+ -+ # Extract the first word of "gmake", so it can be a program name with args. -+set dummy gmake; ac_word=$2 -+echo "$as_me:5495: checking for $ac_word" >&5 -+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -+if test "${ac_cv_prog_GMAKE+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ if test -n "$GMAKE"; then -+ ac_cv_prog_GMAKE="$GMAKE" # Let the user override the test. -+else -+ ac_save_IFS=$IFS; IFS=$ac_path_separator -+ac_dummy="$PATH" -+for ac_dir in $ac_dummy; do -+ IFS=$ac_save_IFS -+ test -z "$ac_dir" && ac_dir=. -+ $as_executable_p "$ac_dir/$ac_word" || continue -+ac_cv_prog_GMAKE="gmake" -+echo "$as_me:5510: found $ac_dir/$ac_word" >&5 -+break -+done -+ -+fi -+fi -+GMAKE=$ac_cv_prog_GMAKE -+if test -n "$GMAKE"; then -+ echo "$as_me:5518: result: $GMAKE" >&5 -+echo "${ECHO_T}$GMAKE" >&6 -+else -+ echo "$as_me:5521: result: no" >&5 -+echo "${ECHO_T}no" >&6 -+fi -+ -+fi -+ -+ac_ext=c -+ac_cpp='$CPP $CPPFLAGS' -+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -+ac_compiler_gnu=$ac_cv_c_compiler_gnu -+ -+cat >>confdefs.h <>confdefs.h <<\EOF -+#define __NetBSD__ 1 -+EOF -+ -+ ;; -+ *-*-netbsd*) -+ SYSPRE="i386-unknown-netbsd" -+ ;; -+ i[0-9]86-pc-linux*) -+ SYSPRE="i686-pc-linux" -+ ;; -+ sparc-*-linux*) -+ SYSPRE="sparc-linux" -+ ;; -+ *-sun-solaris*) -+ if test "x$enable_static" = xyes -+ then -+ { echo "$as_me:5564: WARNING: -+ -+Sorry, tripwire will not properly link staticaly under Solaris. -+This is due to tripwire's extensive use of gethostbyname(), -+which can only be linked dynamicaly. Please rerun configure -+without the --enable-static option. -+" >&5 -+echo "$as_me: WARNING: -+ -+Sorry, tripwire will not properly link staticaly under Solaris. -+This is due to tripwire's extensive use of gethostbyname(), -+which can only be linked dynamicaly. Please rerun configure -+without the --enable-static option. -+" >&2;} -+ -+cat >>confdefs.h <<\EOF -+#define SOLARIS_NO_GETHOSTBYNAME 1 -+EOF -+ -+ fi -+ SYSPRE=${target} -+ LIBS="-ldl $LIBS" -+ -+for ac_header in strings.h -+do -+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -+echo "$as_me:5590: checking for $ac_header" >&5 -+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -+if eval "test \"\${$as_ac_Header+set}\" = set"; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ cat >conftest.$ac_ext <<_ACEOF -+#line 5596 "configure" -+#include "confdefs.h" -+#include <$ac_header> -+_ACEOF -+if { (eval echo "$as_me:5600: \"$ac_cpp conftest.$ac_ext\"") >&5 -+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 -+ ac_status=$? -+ egrep -v '^ *\+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ echo "$as_me:5606: \$? = $ac_status" >&5 -+ (exit $ac_status); } >/dev/null; then -+ if test -s conftest.err; then -+ ac_cpp_err=$ac_c_preproc_warn_flag -+ else -+ ac_cpp_err= -+ fi -+else -+ ac_cpp_err=yes -+fi -+if test -z "$ac_cpp_err"; then -+ eval "$as_ac_Header=yes" -+else -+ echo "$as_me: failed program was:" >&5 -+ cat conftest.$ac_ext >&5 -+ eval "$as_ac_Header=no" -+fi -+rm -f conftest.err conftest.$ac_ext -+fi -+echo "$as_me:5625: result: `eval echo '${'$as_ac_Header'}'`" >&5 -+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -+if test `eval echo '${'$as_ac_Header'}'` = yes; then -+ cat >>confdefs.h <&5 -+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -+if eval "test \"\${$as_ac_Header+set}\" = set"; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ cat >conftest.$ac_ext <<_ACEOF -+#line 5660 "configure" -+#include "confdefs.h" -+#include <$ac_header> -+_ACEOF -+if { (eval echo "$as_me:5664: \"$ac_cpp conftest.$ac_ext\"") >&5 -+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 -+ ac_status=$? -+ egrep -v '^ *\+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ echo "$as_me:5670: \$? = $ac_status" >&5 -+ (exit $ac_status); } >/dev/null; then -+ if test -s conftest.err; then -+ ac_cpp_err=$ac_cxx_preproc_warn_flag -+ else -+ ac_cpp_err= -+ fi -+else -+ ac_cpp_err=yes -+fi -+if test -z "$ac_cpp_err"; then -+ eval "$as_ac_Header=yes" -+else -+ echo "$as_me: failed program was:" >&5 -+ cat conftest.$ac_ext >&5 -+ eval "$as_ac_Header=no" -+fi -+rm -f conftest.err conftest.$ac_ext -+fi -+echo "$as_me:5689: result: `eval echo '${'$as_ac_Header'}'`" >&5 -+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -+if test `eval echo '${'$as_ac_Header'}'` = yes; then -+ cat >>confdefs.h <conftest.$ac_ext <<_ACEOF -+#line 5715 "configure" -+#include "confdefs.h" -+ -+int -+main () -+{ -+return 0 -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext conftest$ac_exeext -+if { (eval echo "$as_me:5727: \"$ac_link\"") >&5 -+ (eval $ac_link) 2>&5 -+ ac_status=$? -+ echo "$as_me:5730: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -s conftest$ac_exeext' -+ { (eval echo "$as_me:5733: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:5736: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ : -+else -+ echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+ { echo "$as_me:5742: WARNING: -+ -+Hmmm... doesn't look so good. I just tried linking a program -+and it failed. One reason could be missing static libraries -+if you are trying to compile a static binary. -+" >&5 -+echo "$as_me: WARNING: -+ -+Hmmm... doesn't look so good. I just tried linking a program -+and it failed. One reason could be missing static libraries -+if you are trying to compile a static binary. -+" >&2;} -+fi -+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -+ -+# Check whether --enable-openssl or --disable-openssl was given. -+if test "${enable_openssl+set}" = set; then -+ enableval="$enable_openssl" -+ -+fi; -+ -+# Check whether --with-ssl-dir or --without-ssl-dir was given. -+if test "${with_ssl_dir+set}" = set; then -+ withval="$with_ssl_dir" -+ -+ if test "x$withval" != "xno" ; then -+ tryssldir=$withval -+ fi -+ -+fi; -+ -+CORE_CRYPT_O="md5.o sha.o" -+if test "x${enable_openssl}" != "xno" -+then -+ saved_LIBS="$LIBS" -+ saved_LDFLAGS="$LDFLAGS" -+ saved_CPPFLAGS="$CPPFLAGS" -+ if test "x$prefix" != "xNONE" ; then -+ tryssldir="$tryssldir $prefix" -+ fi -+ echo "$as_me:5782: checking for OpenSSL directory" >&5 -+echo $ECHO_N "checking for OpenSSL directory... $ECHO_C" >&6 -+if test "${ac_cv_openssldir+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ -+ for ssldir in $tryssldir "" /usr/local/openssl /usr/lib/openssl /usr/local/ssl /usr/lib/ssl /usr/local /usr/pkg /opt /opt/openssl ; do -+ CPPFLAGS="$saved_CPPFLAGS" -+ LDFLAGS="$saved_LDFLAGS" -+ LIBS="$saved_LIBS -lcrypto" -+ -+ # Skip directories if they don't exist -+ if test ! -z "$ssldir" -a ! -d "$ssldir" ; then -+ continue; -+ fi -+ if test ! -z "$ssldir" -a "x$ssldir" != "x/usr"; then -+ # Try to use $ssldir/lib if it exists, otherwise -+ # $ssldir -+ if test -d "$ssldir/lib" ; then -+ LDFLAGS="-L$ssldir/lib $saved_LDFLAGS" -+ if test ! -z "$need_dash_r" ; then -+ LDFLAGS="-R$ssldir/lib $LDFLAGS" -+ fi -+ else -+ LDFLAGS="-L$ssldir $saved_LDFLAGS" -+ if test ! -z "$need_dash_r" ; then -+ LDFLAGS="-R$ssldir $LDFLAGS" -+ fi -+ fi -+ # Try to use $ssldir/include if it exists, otherwise -+ # $ssldir -+ if test -d "$ssldir/include" ; then -+ CPPFLAGS="-I$ssldir/include $saved_CPPFLAGS" -+ else -+ CPPFLAGS="-I$ssldir $saved_CPPFLAGS" -+ fi -+ fi -+ -+ # Basic test to check for compatible library and -+ # correct linking -+ if test "$cross_compiling" = yes; then -+ { { echo "$as_me:5823: error: cannot run test program while cross compiling" >&5 -+echo "$as_me: error: cannot run test program while cross compiling" >&2;} -+ { (exit 1); exit 1; }; } -+else -+ cat >conftest.$ac_ext <<_ACEOF -+#line 5828 "configure" -+#include "confdefs.h" -+ -+#include -+#include -+int main(void) -+{ -+ char a[2048]; -+ memset(a, 0, sizeof(a)); -+ RAND_add(a, sizeof(a), sizeof(a)); -+ return(RAND_status() <= 0); -+} -+ -+_ACEOF -+rm -f conftest$ac_exeext -+if { (eval echo "$as_me:5843: \"$ac_link\"") >&5 -+ (eval $ac_link) 2>&5 -+ ac_status=$? -+ echo "$as_me:5846: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext' -+ { (eval echo "$as_me:5848: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:5851: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ -+ found_crypto=1 -+ break; -+ -+else -+ echo "$as_me: program exited with status $ac_status" >&5 -+echo "$as_me: failed program was:" >&5 -+cat conftest.$ac_ext >&5 -+ -+fi -+rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -+fi -+ -+ if test ! -z "$found_crypto" ; then -+ break; -+ fi -+ done -+ -+ if test -z "$ssldir" ; then -+ ssldir="(system)" -+ fi -+ -+ if test -z "$found_crypto" ; then -+ ac_cv_openssldir="not found" -+ else -+ ac_cv_openssldir=$ssldir -+ fi -+ -+fi -+echo "$as_me:5882: result: $ac_cv_openssldir" >&5 -+echo "${ECHO_T}$ac_cv_openssldir" >&6 -+ -+LIBS="$saved_LIBS" -+ -+if (test ! -z "$ac_cv_openssldir" && test "x$ac_cv_openssldir" != "xnot found") ; then -+ ssldir=$ac_cv_openssldir -+ if test "x$ssldir" != "x/usr" -a "x$ssldir" != "x(system)"; then -+ # Try to use $ssldir/lib if it exists, otherwise -+ # $ssldir -+ if test -d "$ssldir/lib" ; then -+ LDFLAGS="-L$ssldir/lib $saved_LDFLAGS" -+ if test ! -z "$need_dash_r" ; then -+ LDFLAGS="-R$ssldir/lib $LDFLAGS" -+ fi -+ else -+ LDFLAGS="-L$ssldir $saved_LDFLAGS" -+ if test ! -z "$need_dash_r" ; then -+ LDFLAGS="-R$ssldir $LDFLAGS" -+ fi -+ fi -+ # Try to use $ssldir/include if it exists, otherwise -+ # $ssldir -+ if test -d "$ssldir/include" ; then -+ CPPFLAGS="-I$ssldir/include $saved_CPPFLAGS" -+ else -+ CPPFLAGS="-I$ssldir $saved_CPPFLAGS" -+ fi -+ fi -+ LIBS="$saved_LIBS -lcrypto" -+ -+for ac_header in openssl/md5.h openssl/sha.h -+do -+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -+echo "$as_me:5916: checking for $ac_header" >&5 -+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -+if eval "test \"\${$as_ac_Header+set}\" = set"; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ cat >conftest.$ac_ext <<_ACEOF -+#line 5922 "configure" -+#include "confdefs.h" -+#include <$ac_header> -+_ACEOF -+if { (eval echo "$as_me:5926: \"$ac_cpp conftest.$ac_ext\"") >&5 -+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 -+ ac_status=$? -+ egrep -v '^ *\+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ echo "$as_me:5932: \$? = $ac_status" >&5 -+ (exit $ac_status); } >/dev/null; then -+ if test -s conftest.err; then -+ ac_cpp_err=$ac_c_preproc_warn_flag -+ else -+ ac_cpp_err= -+ fi -+else -+ ac_cpp_err=yes -+fi -+if test -z "$ac_cpp_err"; then -+ eval "$as_ac_Header=yes" -+else -+ echo "$as_me: failed program was:" >&5 -+ cat conftest.$ac_ext >&5 -+ eval "$as_ac_Header=no" -+fi -+rm -f conftest.err conftest.$ac_ext -+fi -+echo "$as_me:5951: result: `eval echo '${'$as_ac_Header'}'`" >&5 -+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -+if test `eval echo '${'$as_ac_Header'}'` = yes; then -+ cat >>confdefs.h <confcache <<\_ACEOF -+# This file is a shell script that caches the results of configure -+# tests run on this system so they can be shared between configure -+# scripts and configure runs, see configure's option --config-cache. -+# It is not useful on other systems. If it contains results you don't -+# want to keep, you may remove or edit it. -+# -+# config.status only pays attention to the cache file if you give it -+# the --recheck option to rerun configure. -+# -+# `ac_cv_env_foo' variables (set or unset) will be overriden when -+# loading this file, other *unset* `ac_cv_foo' will be assigned the -+# following values. -+ -+_ACEOF -+ -+# The following way of writing the cache mishandles newlines in values, -+# but we know of no workaround that is simple, portable, and efficient. -+# So, don't put newlines in cache variables' values. -+# Ultrix sh set writes to stderr and can't be redirected directly, -+# and sets the high bit in the cache file unless we assign to the vars. -+{ -+ (set) 2>&1 | -+ case `(ac_space=' '; set | grep ac_space) 2>&1` in -+ *ac_space=\ *) -+ # `set' does not quote correctly, so add quotes (double-quote -+ # substitution turns \\\\ into \\, and sed turns \\ into \). -+ sed -n \ -+ "s/'/'\\\\''/g; -+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" -+ ;; -+ *) -+ # `set' quotes correctly as required by POSIX, so do not add quotes. -+ sed -n \ -+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" -+ ;; -+ esac; -+} | -+ sed ' -+ t clear -+ : clear -+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ -+ t end -+ /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ -+ : end' >>confcache -+if cmp -s $cache_file confcache; then :; else -+ if test -w $cache_file; then -+ test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" -+ cat confcache >$cache_file -+ else -+ echo "not updating unwritable cache $cache_file" -+ fi -+fi -+rm -f confcache -+ -+test "x$prefix" = xNONE && prefix=$ac_default_prefix -+# Let make expand exec_prefix. -+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' -+ -+# VPATH may cause trouble with some makes, so we remove $(srcdir), -+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and -+# trailing colons and then remove the whole line if VPATH becomes empty -+# (actually we leave an empty line to preserve line numbers). -+if test "x$srcdir" = x.; then -+ ac_vpsub='/^[ ]*VPATH[ ]*=/{ -+s/:*\$(srcdir):*/:/; -+s/:*\${srcdir}:*/:/; -+s/:*@srcdir@:*/:/; -+s/^\([^=]*=[ ]*\):*/\1/; -+s/:*$//; -+s/^[^=]*=[ ]*$//; -+}' -+fi -+ -+DEFS=-DHAVE_CONFIG_H -+ -+: ${CONFIG_STATUS=./config.status} -+ac_clean_files_save=$ac_clean_files -+ac_clean_files="$ac_clean_files $CONFIG_STATUS" -+{ echo "$as_me:6046: creating $CONFIG_STATUS" >&5 -+echo "$as_me: creating $CONFIG_STATUS" >&6;} -+cat >$CONFIG_STATUS <<_ACEOF -+#! $SHELL -+# Generated automatically by configure. -+# Run this file to recreate the current configuration. -+# Compiler output produced by configure, useful for debugging -+# configure, is in config.log if it exists. -+ -+debug=false -+SHELL=\${CONFIG_SHELL-$SHELL} -+ac_cs_invocation="\$0 \$@" -+ -+_ACEOF -+ -+cat >>$CONFIG_STATUS <<\_ACEOF -+# Be Bourne compatible -+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then -+ emulate sh -+ NULLCMD=: -+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then -+ set -o posix -+fi -+ -+# Name of the executable. -+as_me=`echo "$0" |sed 's,.*[\\/],,'` -+ -+if expr a : '\(a\)' >/dev/null 2>&1; then -+ as_expr=expr -+else -+ as_expr=false -+fi -+ -+rm -f conf$$ conf$$.exe conf$$.file -+echo >conf$$.file -+if ln -s conf$$.file conf$$ 2>/dev/null; then -+ # We could just check for DJGPP; but this test a) works b) is more generic -+ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). -+ if test -f conf$$.exe; then -+ # Don't use ln at all; we don't have any links -+ as_ln_s='cp -p' -+ else -+ as_ln_s='ln -s' -+ fi -+elif ln conf$$.file conf$$ 2>/dev/null; then -+ as_ln_s=ln -+else -+ as_ln_s='cp -p' -+fi -+rm -f conf$$ conf$$.exe conf$$.file -+ -+as_executable_p="test -f" -+ -+# Support unset when possible. -+if (FOO=FOO; unset FOO) >/dev/null 2>&1; then -+ as_unset=unset -+else -+ as_unset=false -+fi -+ -+# NLS nuisances. -+$as_unset LANG || test "${LANG+set}" != set || { LANG=C; export LANG; } -+$as_unset LC_ALL || test "${LC_ALL+set}" != set || { LC_ALL=C; export LC_ALL; } -+$as_unset LC_TIME || test "${LC_TIME+set}" != set || { LC_TIME=C; export LC_TIME; } -+$as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set || { LC_CTYPE=C; export LC_CTYPE; } -+$as_unset LANGUAGE || test "${LANGUAGE+set}" != set || { LANGUAGE=C; export LANGUAGE; } -+$as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set || { LC_COLLATE=C; export LC_COLLATE; } -+$as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set || { LC_NUMERIC=C; export LC_NUMERIC; } -+$as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set || { LC_MESSAGES=C; export LC_MESSAGES; } -+ -+# IFS -+# We need space, tab and new line, in precisely that order. -+as_nl=' -+' -+IFS=" $as_nl" -+ -+# CDPATH. -+$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; } -+ -+exec 6>&1 -+ -+_ACEOF -+ -+# Files that config.status was made for. -+if test -n "$ac_config_files"; then -+ echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS -+fi -+ -+if test -n "$ac_config_headers"; then -+ echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS -+fi -+ -+if test -n "$ac_config_links"; then -+ echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS -+fi -+ -+if test -n "$ac_config_commands"; then -+ echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS -+fi -+ -+cat >>$CONFIG_STATUS <<\EOF -+ -+ac_cs_usage="\ -+\`$as_me' instantiates files from templates according to the -+current configuration. -+ -+Usage: $0 [OPTIONS] [FILE]... -+ -+ -h, --help print this help, then exit -+ -V, --version print version number, then exit -+ -d, --debug don't remove temporary files -+ --recheck update $as_me by reconfiguring in the same conditions -+ --file=FILE[:TEMPLATE] -+ instantiate the configuration file FILE -+ --header=FILE[:TEMPLATE] -+ instantiate the configuration header FILE -+ -+Configuration files: -+$config_files -+ -+Configuration headers: -+$config_headers -+ -+Configuration commands: -+$config_commands -+ -+Report bugs to ." -+EOF -+ -+cat >>$CONFIG_STATUS <>$CONFIG_STATUS <<\EOF -+# If no file are specified by the user, then we need to provide default -+# value. By we need to know if files were specified by the user. -+ac_need_defaults=: -+while test $# != 0 -+do -+ case $1 in -+ --*=*) -+ ac_option=`expr "x$1" : 'x\([^=]*\)='` -+ ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` -+ shift -+ set dummy "$ac_option" "$ac_optarg" ${1+"$@"} -+ shift -+ ;; -+ -*);; -+ *) # This is not an option, so the user has probably given explicit -+ # arguments. -+ ac_need_defaults=false;; -+ esac -+ -+ case $1 in -+ # Handling of the options. -+EOF -+cat >>$CONFIG_STATUS <>$CONFIG_STATUS <<\EOF -+ --version | --vers* | -V ) -+ echo "$ac_cs_version"; exit 0 ;; -+ --he | --h) -+ # Conflict between --help and --header -+ { { echo "$as_me:6222: error: ambiguous option: $1 -+Try \`$0 --help' for more information." >&5 -+echo "$as_me: error: ambiguous option: $1 -+Try \`$0 --help' for more information." >&2;} -+ { (exit 1); exit 1; }; };; -+ --help | --hel | -h ) -+ echo "$ac_cs_usage"; exit 0 ;; -+ --debug | --d* | -d ) -+ debug=: ;; -+ --file | --fil | --fi | --f ) -+ shift -+ CONFIG_FILES="$CONFIG_FILES $1" -+ ac_need_defaults=false;; -+ --header | --heade | --head | --hea ) -+ shift -+ CONFIG_HEADERS="$CONFIG_HEADERS $1" -+ ac_need_defaults=false;; -+ -+ # This is an error. -+ -*) { { echo "$as_me:6241: error: unrecognized option: $1 -+Try \`$0 --help' for more information." >&5 -+echo "$as_me: error: unrecognized option: $1 -+Try \`$0 --help' for more information." >&2;} -+ { (exit 1); exit 1; }; } ;; -+ -+ *) ac_config_targets="$ac_config_targets $1" ;; -+ -+ esac -+ shift -+done -+ -+exec 5>>config.log -+cat >&5 << _ACEOF -+ -+## ----------------------- ## -+## Running config.status. ## -+## ----------------------- ## -+ -+This file was extended by $as_me 2.52, executed with -+ CONFIG_FILES = $CONFIG_FILES -+ CONFIG_HEADERS = $CONFIG_HEADERS -+ CONFIG_LINKS = $CONFIG_LINKS -+ CONFIG_COMMANDS = $CONFIG_COMMANDS -+ > $ac_cs_invocation -+on `(hostname || uname -n) 2>/dev/null | sed 1q` -+ -+_ACEOF -+EOF -+ -+cat >>$CONFIG_STATUS <>$CONFIG_STATUS <<\EOF -+for ac_config_target in $ac_config_targets -+do -+ case "$ac_config_target" in -+ # Handling of arguments. -+ "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; -+ "man/Makefile" ) CONFIG_FILES="$CONFIG_FILES man/Makefile" ;; -+ "man/man4/Makefile" ) CONFIG_FILES="$CONFIG_FILES man/man4/Makefile" ;; -+ "man/man5/Makefile" ) CONFIG_FILES="$CONFIG_FILES man/man5/Makefile" ;; -+ "man/man8/Makefile" ) CONFIG_FILES="$CONFIG_FILES man/man8/Makefile" ;; -+ "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; -+ "src/STLport-4.0/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/STLport-4.0/Makefile" ;; -+ "src/cryptlib/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/cryptlib/Makefile" ;; -+ "src/core/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/core/Makefile" ;; -+ "src/db/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/db/Makefile" ;; -+ "src/fco/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/fco/Makefile" ;; -+ "src/fs/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/fs/Makefile" ;; -+ "src/tw/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/tw/Makefile" ;; -+ "src/twcrypto/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/twcrypto/Makefile" ;; -+ "src/twparser/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/twparser/Makefile" ;; -+ "src/util/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/util/Makefile" ;; -+ "src/twprint/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/twprint/Makefile" ;; -+ "src/twadmin/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/twadmin/Makefile" ;; -+ "src/siggen/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/siggen/Makefile" ;; -+ "src/tripwire/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/tripwire/Makefile" ;; -+ "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; -+ "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; -+ *) { { echo "$as_me:6308: error: invalid argument: $ac_config_target" >&5 -+echo "$as_me: error: invalid argument: $ac_config_target" >&2;} -+ { (exit 1); exit 1; }; };; -+ esac -+done -+ -+# If the user did not use the arguments to specify the items to instantiate, -+# then the envvar interface is used. Set only those that are not. -+# We use the long form for the default assignment because of an extremely -+# bizarre bug on SunOS 4.1.3. -+if $ac_need_defaults; then -+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files -+ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers -+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands -+fi -+ -+# Create a temporary directory, and hook for its removal unless debugging. -+$debug || -+{ -+ trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 -+ trap '{ (exit 1); exit 1; }' 1 2 13 15 -+} -+ -+# Create a (secure) tmp directory for tmp files. -+: ${TMPDIR=/tmp} -+{ -+ tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` && -+ test -n "$tmp" && test -d "$tmp" -+} || -+{ -+ tmp=$TMPDIR/cs$$-$RANDOM -+ (umask 077 && mkdir $tmp) -+} || -+{ -+ echo "$me: cannot create a temporary directory in $TMPDIR" >&2 -+ { (exit 1); exit 1; } -+} -+ -+EOF -+ -+cat >>$CONFIG_STATUS <\$tmp/subs.sed <<\\CEOF -+s,@SHELL@,$SHELL,;t t -+s,@exec_prefix@,$exec_prefix,;t t -+s,@prefix@,$prefix,;t t -+s,@program_transform_name@,$program_transform_name,;t t -+s,@bindir@,$bindir,;t t -+s,@sbindir@,$sbindir,;t t -+s,@libexecdir@,$libexecdir,;t t -+s,@datadir@,$datadir,;t t -+s,@sysconfdir@,$sysconfdir,;t t -+s,@sharedstatedir@,$sharedstatedir,;t t -+s,@localstatedir@,$localstatedir,;t t -+s,@libdir@,$libdir,;t t -+s,@includedir@,$includedir,;t t -+s,@oldincludedir@,$oldincludedir,;t t -+s,@infodir@,$infodir,;t t -+s,@mandir@,$mandir,;t t -+s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t -+s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t -+s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t -+s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t -+s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t -+s,@build_alias@,$build_alias,;t t -+s,@host_alias@,$host_alias,;t t -+s,@target_alias@,$target_alias,;t t -+s,@ECHO_C@,$ECHO_C,;t t -+s,@ECHO_N@,$ECHO_N,;t t -+s,@ECHO_T@,$ECHO_T,;t t -+s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t -+s,@DEFS@,$DEFS,;t t -+s,@LIBS@,$LIBS,;t t -+s,@build@,$build,;t t -+s,@build_cpu@,$build_cpu,;t t -+s,@build_vendor@,$build_vendor,;t t -+s,@build_os@,$build_os,;t t -+s,@host@,$host,;t t -+s,@host_cpu@,$host_cpu,;t t -+s,@host_vendor@,$host_vendor,;t t -+s,@host_os@,$host_os,;t t -+s,@target@,$target,;t t -+s,@target_cpu@,$target_cpu,;t t -+s,@target_vendor@,$target_vendor,;t t -+s,@target_os@,$target_os,;t t -+s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t -+s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t -+s,@INSTALL_DATA@,$INSTALL_DATA,;t t -+s,@PACKAGE@,$PACKAGE,;t t -+s,@VERSION@,$VERSION,;t t -+s,@EXEEXT@,$EXEEXT,;t t -+s,@OBJEXT@,$OBJEXT,;t t -+s,@ACLOCAL@,$ACLOCAL,;t t -+s,@AUTOCONF@,$AUTOCONF,;t t -+s,@AUTOMAKE@,$AUTOMAKE,;t t -+s,@AUTOHEADER@,$AUTOHEADER,;t t -+s,@MAKEINFO@,$MAKEINFO,;t t -+s,@AMTAR@,$AMTAR,;t t -+s,@install_sh@,$install_sh,;t t -+s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t -+s,@AWK@,$AWK,;t t -+s,@SET_MAKE@,$SET_MAKE,;t t -+s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t -+s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t -+s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t -+s,@DEPDIR@,$DEPDIR,;t t -+s,@CC@,$CC,;t t -+s,@CFLAGS@,$CFLAGS,;t t -+s,@LDFLAGS@,$LDFLAGS,;t t -+s,@CPPFLAGS@,$CPPFLAGS,;t t -+s,@ac_ct_CC@,$ac_ct_CC,;t t -+s,@am__include@,$am__include,;t t -+s,@am__quote@,$am__quote,;t t -+s,@CCDEPMODE@,$CCDEPMODE,;t t -+s,@CXX@,$CXX,;t t -+s,@CXXFLAGS@,$CXXFLAGS,;t t -+s,@ac_ct_CXX@,$ac_ct_CXX,;t t -+s,@CXXDEPMODE@,$CXXDEPMODE,;t t -+s,@RANLIB@,$RANLIB,;t t -+s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t -+s,@YACC@,$YACC,;t t -+s,@path_to_vi@,$path_to_vi,;t t -+s,@path_to_sendmail@,$path_to_sendmail,;t t -+s,@CPP@,$CPP,;t t -+s,@CXXCPP@,$CXXCPP,;t t -+s,@GMAKE@,$GMAKE,;t t -+s,@OSHASIOSTREAM_TRUE@,$OSHASIOSTREAM_TRUE,;t t -+s,@OSHASIOSTREAM_FALSE@,$OSHASIOSTREAM_FALSE,;t t -+s,@STLPORT_MAKEFILE@,$STLPORT_MAKEFILE,;t t -+s,@STLPORT_LIBRARY@,$STLPORT_LIBRARY,;t t -+s,@STLPORT_LD@,$STLPORT_LD,;t t -+s,@STLPORT_INCLUDE@,$STLPORT_INCLUDE,;t t -+s,@STLPORT_SUBDIR@,$STLPORT_SUBDIR,;t t -+s,@CORE_CRYPT_O@,$CORE_CRYPT_O,;t t -+s,@SYSPRE@,$SYSPRE,;t t -+CEOF -+ -+EOF -+ -+ cat >>$CONFIG_STATUS <<\EOF -+ # Split the substitutions into bite-sized pieces for seds with -+ # small command number limits, like on Digital OSF/1 and HP-UX. -+ ac_max_sed_lines=48 -+ ac_sed_frag=1 # Number of current file. -+ ac_beg=1 # First line for current file. -+ ac_end=$ac_max_sed_lines # Line after last line for current file. -+ ac_more_lines=: -+ ac_sed_cmds= -+ while $ac_more_lines; do -+ if test $ac_beg -gt 1; then -+ sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag -+ else -+ sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag -+ fi -+ if test ! -s $tmp/subs.frag; then -+ ac_more_lines=false -+ else -+ # The purpose of the label and of the branching condition is to -+ # speed up the sed processing (if there are no `@' at all, there -+ # is no need to browse any of the substitutions). -+ # These are the two extra sed commands mentioned above. -+ (echo ':t -+ /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed -+ if test -z "$ac_sed_cmds"; then -+ ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" -+ else -+ ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" -+ fi -+ ac_sed_frag=`expr $ac_sed_frag + 1` -+ ac_beg=$ac_end -+ ac_end=`expr $ac_end + $ac_max_sed_lines` -+ fi -+ done -+ if test -z "$ac_sed_cmds"; then -+ ac_sed_cmds=cat -+ fi -+fi # test -n "$CONFIG_FILES" -+ -+EOF -+cat >>$CONFIG_STATUS <<\EOF -+for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue -+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". -+ case $ac_file in -+ - | *:- | *:-:* ) # input from stdin -+ cat >$tmp/stdin -+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` -+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; -+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` -+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; -+ * ) ac_file_in=$ac_file.in ;; -+ esac -+ -+ # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. -+ ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$ac_file" : 'X\(//\)[^/]' \| \ -+ X"$ac_file" : 'X\(//\)$' \| \ -+ X"$ac_file" : 'X\(/\)' \| \ -+ . : '\(.\)' 2>/dev/null || -+echo X"$ac_file" | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } -+ /^X\(\/\/\)[^/].*/{ s//\1/; q; } -+ /^X\(\/\/\)$/{ s//\1/; q; } -+ /^X\(\/\).*/{ s//\1/; q; } -+ s/.*/./; q'` -+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then -+ { case "$ac_dir" in -+ [\\/]* | ?:[\\/]* ) as_incr_dir=;; -+ *) as_incr_dir=.;; -+esac -+as_dummy="$ac_dir" -+for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do -+ case $as_mkdir_dir in -+ # Skip DOS drivespec -+ ?:) as_incr_dir=$as_mkdir_dir ;; -+ *) -+ as_incr_dir=$as_incr_dir/$as_mkdir_dir -+ test -d "$as_incr_dir" || mkdir "$as_incr_dir" -+ ;; -+ esac -+done; } -+ -+ ac_dir_suffix="/`echo $ac_dir|sed 's,^\./,,'`" -+ # A "../" for each directory in $ac_dir_suffix. -+ ac_dots=`echo "$ac_dir_suffix" | sed 's,/[^/]*,../,g'` -+ else -+ ac_dir_suffix= ac_dots= -+ fi -+ -+ case $srcdir in -+ .) ac_srcdir=. -+ if test -z "$ac_dots"; then -+ ac_top_srcdir=. -+ else -+ ac_top_srcdir=`echo $ac_dots | sed 's,/$,,'` -+ fi ;; -+ [\\/]* | ?:[\\/]* ) -+ ac_srcdir=$srcdir$ac_dir_suffix; -+ ac_top_srcdir=$srcdir ;; -+ *) # Relative path. -+ ac_srcdir=$ac_dots$srcdir$ac_dir_suffix -+ ac_top_srcdir=$ac_dots$srcdir ;; -+ esac -+ -+ case $INSTALL in -+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; -+ *) ac_INSTALL=$ac_dots$INSTALL ;; -+ esac -+ -+ if test x"$ac_file" != x-; then -+ { echo "$as_me:6566: creating $ac_file" >&5 -+echo "$as_me: creating $ac_file" >&6;} -+ rm -f "$ac_file" -+ fi -+ # Let's still pretend it is `configure' which instantiates (i.e., don't -+ # use $as_me), people would be surprised to read: -+ # /* config.h. Generated automatically by config.status. */ -+ configure_input="Generated automatically from `echo $ac_file_in | -+ sed 's,.*/,,'` by configure." -+ -+ # First look for the input files in the build tree, otherwise in the -+ # src tree. -+ ac_file_inputs=`IFS=: -+ for f in $ac_file_in; do -+ case $f in -+ -) echo $tmp/stdin ;; -+ [\\/$]*) -+ # Absolute (can't be DOS-style, as IFS=:) -+ test -f "$f" || { { echo "$as_me:6584: error: cannot find input file: $f" >&5 -+echo "$as_me: error: cannot find input file: $f" >&2;} -+ { (exit 1); exit 1; }; } -+ echo $f;; -+ *) # Relative -+ if test -f "$f"; then -+ # Build tree -+ echo $f -+ elif test -f "$srcdir/$f"; then -+ # Source tree -+ echo $srcdir/$f -+ else -+ # /dev/null tree -+ { { echo "$as_me:6597: error: cannot find input file: $f" >&5 -+echo "$as_me: error: cannot find input file: $f" >&2;} -+ { (exit 1); exit 1; }; } -+ fi;; -+ esac -+ done` || { (exit 1); exit 1; } -+EOF -+cat >>$CONFIG_STATUS <>$CONFIG_STATUS <<\EOF -+:t -+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -+s,@configure_input@,$configure_input,;t t -+s,@srcdir@,$ac_srcdir,;t t -+s,@top_srcdir@,$ac_top_srcdir,;t t -+s,@INSTALL@,$ac_INSTALL,;t t -+" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out -+ rm -f $tmp/stdin -+ if test x"$ac_file" != x-; then -+ mv $tmp/out $ac_file -+ else -+ cat $tmp/out -+ rm -f $tmp/out -+ fi -+ -+done -+EOF -+cat >>$CONFIG_STATUS <<\EOF -+ -+# -+# CONFIG_HEADER section. -+# -+ -+# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where -+# NAME is the cpp macro being defined and VALUE is the value it is being given. -+# -+# ac_d sets the value in "#define NAME VALUE" lines. -+ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' -+ac_dB='[ ].*$,\1#\2' -+ac_dC=' ' -+ac_dD=',;t' -+# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". -+ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -+ac_uB='$,\1#\2define\3' -+ac_uC=' ' -+ac_uD=',;t' -+ -+for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue -+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". -+ case $ac_file in -+ - | *:- | *:-:* ) # input from stdin -+ cat >$tmp/stdin -+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` -+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; -+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` -+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; -+ * ) ac_file_in=$ac_file.in ;; -+ esac -+ -+ test x"$ac_file" != x- && { echo "$as_me:6658: creating $ac_file" >&5 -+echo "$as_me: creating $ac_file" >&6;} -+ -+ # First look for the input files in the build tree, otherwise in the -+ # src tree. -+ ac_file_inputs=`IFS=: -+ for f in $ac_file_in; do -+ case $f in -+ -) echo $tmp/stdin ;; -+ [\\/$]*) -+ # Absolute (can't be DOS-style, as IFS=:) -+ test -f "$f" || { { echo "$as_me:6669: error: cannot find input file: $f" >&5 -+echo "$as_me: error: cannot find input file: $f" >&2;} -+ { (exit 1); exit 1; }; } -+ echo $f;; -+ *) # Relative -+ if test -f "$f"; then -+ # Build tree -+ echo $f -+ elif test -f "$srcdir/$f"; then -+ # Source tree -+ echo $srcdir/$f -+ else -+ # /dev/null tree -+ { { echo "$as_me:6682: error: cannot find input file: $f" >&5 -+echo "$as_me: error: cannot find input file: $f" >&2;} -+ { (exit 1); exit 1; }; } -+ fi;; -+ esac -+ done` || { (exit 1); exit 1; } -+ # Remove the trailing spaces. -+ sed 's/[ ]*$//' $ac_file_inputs >$tmp/in -+ -+EOF -+ -+# Transform confdefs.h into two sed scripts, `conftest.defines' and -+# `conftest.undefs', that substitutes the proper values into -+# config.h.in to produce config.h. The first handles `#define' -+# templates, and the second `#undef' templates. -+# And first: Protect against being on the right side of a sed subst in -+# config.status. Protect against being in an unquoted here document -+# in config.status. -+rm -f conftest.defines conftest.undefs -+# Using a here document instead of a string reduces the quoting nightmare. -+# Putting comments in sed scripts is not portable. -+# -+# `end' is used to avoid that the second main sed command (meant for -+# 0-ary CPP macros) applies to n-ary macro definitions. -+# See the Autoconf documentation for `clear'. -+cat >confdef2sed.sed <<\EOF -+s/[\\&,]/\\&/g -+s,[\\$`],\\&,g -+t clear -+: clear -+s,^[ ]*#[ ]*define[ ][ ]*\(\([^ (][^ (]*\)([^)]*)\)[ ]*\(.*\)$,${ac_dA}\2${ac_dB}\1${ac_dC}\3${ac_dD},gp -+t end -+s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp -+: end -+EOF -+# If some macros were called several times there might be several times -+# the same #defines, which is useless. Nevertheless, we may not want to -+# sort them, since we want the *last* AC-DEFINE to be honored. -+uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines -+sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs -+rm -f confdef2sed.sed -+ -+# This sed command replaces #undef with comments. This is necessary, for -+# example, in the case of _POSIX_SOURCE, which is predefined and required -+# on some systems where configure will not decide to define it. -+cat >>conftest.undefs <<\EOF -+s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, -+EOF -+ -+# Break up conftest.defines because some shells have a limit on the size -+# of here documents, and old seds have small limits too (100 cmds). -+echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS -+echo ' if egrep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS -+echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS -+echo ' :' >>$CONFIG_STATUS -+rm -f conftest.tail -+while grep . conftest.defines >/dev/null -+do -+ # Write a limited-size here document to $tmp/defines.sed. -+ echo ' cat >$tmp/defines.sed <>$CONFIG_STATUS -+ # Speed up: don't consider the non `#define' lines. -+ echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS -+ # Work around the forget-to-reset-the-flag bug. -+ echo 't clr' >>$CONFIG_STATUS -+ echo ': clr' >>$CONFIG_STATUS -+ sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS -+ echo 'CEOF -+ sed -f $tmp/defines.sed $tmp/in >$tmp/out -+ rm -f $tmp/in -+ mv $tmp/out $tmp/in -+' >>$CONFIG_STATUS -+ sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail -+ rm -f conftest.defines -+ mv conftest.tail conftest.defines -+done -+rm -f conftest.defines -+echo ' fi # egrep' >>$CONFIG_STATUS -+echo >>$CONFIG_STATUS -+ -+# Break up conftest.undefs because some shells have a limit on the size -+# of here documents, and old seds have small limits too (100 cmds). -+echo ' # Handle all the #undef templates' >>$CONFIG_STATUS -+rm -f conftest.tail -+while grep . conftest.undefs >/dev/null -+do -+ # Write a limited-size here document to $tmp/undefs.sed. -+ echo ' cat >$tmp/undefs.sed <>$CONFIG_STATUS -+ # Speed up: don't consider the non `#undef' -+ echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS -+ # Work around the forget-to-reset-the-flag bug. -+ echo 't clr' >>$CONFIG_STATUS -+ echo ': clr' >>$CONFIG_STATUS -+ sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS -+ echo 'CEOF -+ sed -f $tmp/undefs.sed $tmp/in >$tmp/out -+ rm -f $tmp/in -+ mv $tmp/out $tmp/in -+' >>$CONFIG_STATUS -+ sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail -+ rm -f conftest.undefs -+ mv conftest.tail conftest.undefs -+done -+rm -f conftest.undefs -+ -+cat >>$CONFIG_STATUS <<\EOF -+ # Let's still pretend it is `configure' which instantiates (i.e., don't -+ # use $as_me), people would be surprised to read: -+ # /* config.h. Generated automatically by config.status. */ -+ if test x"$ac_file" = x-; then -+ echo "/* Generated automatically by configure. */" >$tmp/config.h -+ else -+ echo "/* $ac_file. Generated automatically by configure. */" >$tmp/config.h -+ fi -+ cat $tmp/in >>$tmp/config.h -+ rm -f $tmp/in -+ if test x"$ac_file" != x-; then -+ if cmp -s $ac_file $tmp/config.h 2>/dev/null; then -+ { echo "$as_me:6799: $ac_file is unchanged" >&5 -+echo "$as_me: $ac_file is unchanged" >&6;} -+ else -+ ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$ac_file" : 'X\(//\)[^/]' \| \ -+ X"$ac_file" : 'X\(//\)$' \| \ -+ X"$ac_file" : 'X\(/\)' \| \ -+ . : '\(.\)' 2>/dev/null || -+echo X"$ac_file" | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } -+ /^X\(\/\/\)[^/].*/{ s//\1/; q; } -+ /^X\(\/\/\)$/{ s//\1/; q; } -+ /^X\(\/\).*/{ s//\1/; q; } -+ s/.*/./; q'` -+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then -+ { case "$ac_dir" in -+ [\\/]* | ?:[\\/]* ) as_incr_dir=;; -+ *) as_incr_dir=.;; -+esac -+as_dummy="$ac_dir" -+for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do -+ case $as_mkdir_dir in -+ # Skip DOS drivespec -+ ?:) as_incr_dir=$as_mkdir_dir ;; -+ *) -+ as_incr_dir=$as_incr_dir/$as_mkdir_dir -+ test -d "$as_incr_dir" || mkdir "$as_incr_dir" -+ ;; -+ esac -+done; } -+ -+ fi -+ rm -f $ac_file -+ mv $tmp/config.h $ac_file -+ fi -+ else -+ cat $tmp/config.h -+ rm -f $tmp/config.h -+ fi -+ # Run the commands associated with the file. -+ case $ac_file in -+ config.h ) # update the timestamp -+echo timestamp >"./stamp-h1" -+ ;; -+ esac -+done -+EOF -+cat >>$CONFIG_STATUS <<\EOF -+ -+# -+# CONFIG_COMMANDS section. -+# -+for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue -+ ac_dest=`echo "$ac_file" | sed 's,:.*,,'` -+ ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'` -+ -+ case $ac_dest in -+ default-1 ) -+test x"$AMDEP_TRUE" != x"" || -+for mf in $CONFIG_FILES; do -+ case "$mf" in -+ Makefile) dirpart=.;; -+ */Makefile) dirpart=`echo "$mf" | sed -e 's|/[^/]*$||'`;; -+ *) continue;; -+ esac -+ grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue -+ # Extract the definition of DEP_FILES from the Makefile without -+ # running `make'. -+ DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"` -+ test -z "$DEPDIR" && continue -+ # When using ansi2knr, U may be empty or an underscore; expand it -+ U=`sed -n -e '/^U = / s///p' < "$mf"` -+ test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" -+ # We invoke sed twice because it is the simplest approach to -+ # changing $(DEPDIR) to its actual value in the expansion. -+ for file in `sed -n -e ' -+ /^DEP_FILES = .*\\\\$/ { -+ s/^DEP_FILES = // -+ :loop -+ s/\\\\$// -+ p -+ n -+ /\\\\$/ b loop -+ p -+ } -+ /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ -+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do -+ # Make sure the directory exists. -+ test -f "$dirpart/$file" && continue -+ fdir=`echo "$file" | sed -e 's|/[^/]*$||'` -+ $ac_aux_dir/mkinstalldirs "$dirpart/$fdir" > /dev/null 2>&1 -+ # echo "creating $dirpart/$file" -+ echo '# dummy' > "$dirpart/$file" -+ done -+done -+ ;; -+ esac -+done -+EOF -+ -+cat >>$CONFIG_STATUS <<\EOF -+ -+{ (exit 0); exit 0; } -+EOF -+chmod +x $CONFIG_STATUS -+ac_clean_files=$ac_clean_files_save -+ -+# configure is writing to config.log, and then calls config.status. -+# config.status does its own redirection, appending to config.log. -+# Unfortunately, on DOS this fails, as config.log is still kept open -+# by configure, so config.status won't be able to write to it; its -+# output is simply discarded. So we exec the FD to /dev/null, -+# effectively closing config.log, so it can be properly (re)opened and -+# appended to by config.status. When coming back to configure, we -+# need to make the FD available again. -+if test "$no_create" != yes; then -+ ac_cs_success=: -+ exec 5>/dev/null -+ $SHELL $CONFIG_STATUS || ac_cs_success=false -+ exec 5>>config.log -+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which -+ # would make configure fail if this is the last instruction. -+ $ac_cs_success || { (exit 1); exit 1; } -+fi -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/configure.in tripwire-2.3.1-2/configure.in ---- tripwire-2.3.1-2.old/configure.in Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/configure.in Fri Jun 20 09:34:46 2003 -@@ -0,0 +1,401 @@ -+dnl Process this file with autoconf to produce a configure script. -+dnl -+dnl -+ -+AC_INIT -+AC_CONFIG_SRCDIR([src/tw/tw.cpp]) -+AC_CANONICAL_TARGET([]) -+AM_INIT_AUTOMAKE(tripwire, 2.3.1) -+AM_CONFIG_HEADER(config.h) -+ -+dnl ################################# -+dnl Cleanup Cruft Leftover From Patch -+dnl ################################# -+rm -f src/tripwire/syslog.h 2> /dev/null -+chmod 755 install-sh 2> /dev/null -+ -+dnl ############### -+dnl Setup defaults -+dnl ############### -+CFLAGS=${CFLAGS:-"-O -pipe -Wall"} -+CXXFLAGS=${CXXFLAGS:-"-O -pipe -Wall"} -+ -+if test "x${STLPORT_MAKEFILE}" = "x"; then STLPORT_MAKEFILE="gcc.mak"; fi -+if test "x${STLPORT_LIBRARY}" = "x"; then STLPORT_LIBRARY="libstlport_gcc.a"; fi -+if test "x${STLPORT_LD}" = "x"; then STLPORT_LD="-lstlport"; fi -+if test "x${STLPORT_INCLUDE}" = "x"; then STLPORT_INCLUDE="-I../STLport-4.0/stlport"; fi -+if test "x${STLPORT_SUBDIR}" = "x"; then STLPORT_SUBDIR="STLport-4.0"; fi -+ -+dnl ##################### -+dnl Configuration options -+dnl ##################### -+AC_ARG_ENABLE(static, [ --enable-static compile static binaries]) -+if test "x$enable_static" = xyes -+then LDFLAGS="${LDFLAGS} -static" -+fi -+AC_ARG_ENABLE(debug, [ --enable-debug compile with debuging enabled]) -+if test "x$enable_debug" = xyes -+then -+ CFLAGS="${CFLAGS} -g" -+ CXXFLAGS="${CXXFLAGS} -g" -+ AC_DEFINE(DEBUG, 1, [Compile with debug code]) -+fi -+ -+dnl ################### -+dnl Checks for programs -+dnl ################### -+AC_PROG_CC -+AC_PROG_CXX -+AC_PROG_RANLIB -+AC_PROG_YACC -+AC_PATH_PROG(path_to_vi, vi) -+AC_PATH_PROG(path_to_sendmail, sendmail, [$PATH:/usr/libexec]) -+ -+if test "x${GXX}" != "x"; then -+ AC_DEFINE(HAVE_GCC, 1, [Uses the GNU gcc compiler]) -+ STLPORT_MAKEFILE="gcc.mak" -+ STLPORT_LIBRARY="libstlport_gcc.a" -+else -+ AC_DEFINE(HAVE_GCC, 0, [Uses the GNU gcc compiler]) -+fi -+ -+dnl ####################### -+dnl Checks for header files -+dnl ####################### -+AC_HEADER_STDC -+AC_CHECK_HEADERS(sys/param.h) -+AC_CHECK_HEADERS(sys/mount.h sys/ustat.h sys/sysmacros.h sys/syslog.h) -+AC_CHECK_HEADERS(unistd.h syslog.h iconv.h langinfo.h sys/statfs.h) -+AC_CHECK_HEADERS(signum.h bits/signum.h, break ) -+AC_CHECK_HEADERS(stdarg.h varargs.h, break ) -+AC_CHECK_HEADER(wchar.h, -+ [ AC_DEFINE(HAVE_WCHAR_H, 1, [define if you have wchar.h]) ], -+ [ AC_DEFINE(_STLP_NO_WCHAR_T, 1, [define if you don't have wchar.h]) ] -+ ) -+ -+dnl # Special case for malloc.h, because it's depreciated on most systems. -+CPPFLAGS_SAVE="${CPPFLAGS}" -+CPPFLAGS="${CPPFLAGS} -Werror" -+AC_CHECK_HEADERS(malloc.h) -+CPPFLAGS="${CPPFLAGS_SAVE}" -+ -+dnl ############################################################# -+dnl Checks for typedefs, structures, and compiler characteristics -+dnl ############################################################# -+AC_C_CONST -+AC_TYPE_SIZE_T -+AC_HEADER_TIME -+AC_C_BIGENDIAN -+AC_CHECK_SIZEOF(int) -+AC_CHECK_SIZEOF(long) -+AC_CHECK_SIZEOF(long long) -+ -+dnl All platforms we support use 2's complement, are byte aligned, etc... -+AC_DEFINE(USES_1S_COMPLEMENT, 0, [Uses one's complement]) -+AC_DEFINE(USES_2S_COMPLEMENT, 1, [Uses two's complement]) -+AC_DEFINE(USES_SIGNED_MAGNITUDE, 0, [Uses signed magnitute]) -+AC_DEFINE(IS_BYTE_ALIGNED, 1, [Is byte aligned]) -+AC_DEFINE(EXCEPTION_NAMESPACE, std::, [this is the prefix for STLPort exception functions]) -+ -+dnl We used to check for UNIX or Unix-like target platforms, -+dnl but that is a little extreme, so just assume that the -+dnl target is unix. This can still be changed in config.h -+AC_DEFINE(IS_UNIX, 1, [Is a unix type platform]) -+ -+dnl whether or not to generate debuging code? -+AC_DEFINE(NDEBUG, 1, [don't generate debuging code]) -+ -+dnl ############################# -+dnl Checks for standard functions -+dnl ############################# -+AC_CHECK_FUNCS(strftime gethostname gethostid) -+AC_CHECK_FUNCS(mkstemp mktemp, break) -+ -+dnl ############################################## -+dnl Checks for various platform specific libraries -+dnl ############################################## -+ -+dnl socket? Solaris has it somewhere else. -+AC_CHECK_LIB(c, socket, [:], [ -+ AC_CHECK_LIB(socket, socket, [ -+ LIBS="-lsocket $LIBS" -+ ], [:]) ]) -+ -+dnl gethostbyname? Solaris has it somewhere else. -+AC_CHECK_LIB(c, gethostbyname, [:], [ -+ AC_CHECK_LIB(nsl, gethostbyname, [ -+ LIBS="-lnsl $LIBS" -+ ], [:]) ]) -+ -+dnl check for stl library -+AC_LANG_SAVE -+AC_LANG_CPLUSPLUS -+AC_CHECK_HEADER(locale, [ -+ STLPORT_INCLUDE=" " -+ STLPORT_LD=" " -+ STLPORT_SUBDIR=" " -+ GMAKE=$MAKE -+], [ -+ dnl check for POSIX threads if we compile STLport, because it needs it -+ AC_CHECK_FUNC(pthread_getspecific, [:], [ -+ -+ LDFLAGS_TEMP="${LDFLAGS}" -+ LDFLAGS="${LDFLAGS_TEMP} -pthread" -+ unset ac_cv_func_pthread_getspecific -+ AC_CHECK_FUNC(pthread_getspecific, [:], [ -+ -+ LDFLAGS="${LDFLAGS_TEMP} -lpthread" -+ unset ac_cv_func_pthread_getspecific -+ AC_CHECK_FUNC(pthread_getspecific, [:], [ -+ LDFLAGS="${LDFLAGS_TEMP}" -+ AC_MSG_ERROR([No posix threads detected, cannot continue.]) ]) -+ ]) -+ ]) -+ dnl we don't require GNU make, but STLport does -+ AC_CHECK_PROG(GMAKE, gmake, gmake) -+]) -+AC_LANG_RESTORE -+ -+dnl ####################################################################### -+dnl Local checks/hacks. The goal is to make this part as short as possible -+dnl ####################################################################### -+AC_DEFINE_UNQUOTED(TARGET_OS, "${target}", [Target OS]) -+case $target in -+ i386-*-freebsd*) -+ SYSPRE="i386-unknown-freebsd" -+ ;; -+ alpha-*-freebsd*) -+ SYSPRE="alpha-unknown-freebsd" -+ ;; -+ i386-*-openbsd*) -+ SYSPRE="i386-unknown-openbsd" -+ AC_DEFINE(__NetBSD__, 1, [define if you are OpenBSD]) -+ ;; -+ *-*-netbsd*) -+ SYSPRE="i386-unknown-netbsd" -+ ;; -+ i[[0-9]]86-pc-linux*) -+ SYSPRE="i686-pc-linux" -+ ;; -+ sparc-*-linux*) -+ SYSPRE="sparc-linux" -+ ;; -+ *-sun-solaris*) -+ if test "x$enable_static" = xyes -+ then -+ AC_MSG_WARN( [ -+ -+Sorry, tripwire will not properly link staticaly under Solaris. -+This is due to tripwire's extensive use of gethostbyname(), -+which can only be linked dynamicaly. Please rerun configure -+without the --enable-static option. -+]) -+ AC_DEFINE(SOLARIS_NO_GETHOSTBYNAME, 1, [Don't use gethostbyname() on Solaris]) -+ fi -+ SYSPRE=${target} -+ LIBS="-ldl $LIBS" -+ AC_CHECK_HEADERS(strings.h) -+ ;; -+ alpha*-*-osf*) -+ CXXFLAGS="${CXXFLAGS} -D_ALPHA" -+ STLPORT_MAKEFILE="dec.mak" -+ STLPORT_LIBRARY="libstlport_dec.a" -+ ;; -+ *) -+ SYSPRE="unknown" ;; -+esac -+ -+dnl ####################################################### -+dnl cryptlib tries to include files in it's directory that -+dnl have standard names. Check to see if we have them, and -+dnl make a note of it. -+dnl XXX: This is really dumb. The files should just be -+dnl deleted, but this is a patch, which doesn't -+dnl remove files. If the system doesn't have the -+dnl file, it should (STL-port has it, too.) -+dnl ####################################################### -+AC_LANG_SAVE -+AC_LANG_CPLUSPLUS -+AC_CHECK_HEADERS(iostream, have_iostream="yes") -+AM_CONDITIONAL(OSHASIOSTREAM, test "x${have_iostream}" = "xyes" ) -+AC_LANG_RESTORE -+ -+dnl ################################################## -+dnl Pray make works. A better check would be to grep -+dnl Better yet: ween tripwire (STLport) off of gmake -+dnl Better still: ween tripwire off of STLport -+dnl ################################################## -+if test "x${GMAKE}" = "x"; then GMAKE="make"; fi -+ -+dnl ################################################### -+dnl Try linking a simple program with the flags we have -+dnl ################################################### -+AC_TRY_LINK( , return 0 , , [ AC_MSG_WARN( [ -+ -+Hmmm... doesn't look so good. I just tried linking a program -+and it failed. One reason could be missing static libraries -+if you are trying to compile a static binary. -+]) ] ) -+ -+dnl Check for OpenSSL, now that we have a working compiler -+AC_ARG_ENABLE(openssl, -+ [ --disable-openssl don't link against OpenSSL libraries]) -+AC_ARG_WITH(ssl-dir, -+ [ --with-ssl-dir=PATH Specify path to OpenSSL installation ], -+ [ -+ if test "x$withval" != "xno" ; then -+ tryssldir=$withval -+ fi -+ ] -+) -+ -+dnl ################# -+dnl Check for OpenSSL -+dnl ################# -+CORE_CRYPT_O="md5.o sha.o" -+if test "x${enable_openssl}" != "xno" -+then -+ saved_LIBS="$LIBS" -+ saved_LDFLAGS="$LDFLAGS" -+ saved_CPPFLAGS="$CPPFLAGS" -+ if test "x$prefix" != "xNONE" ; then -+ tryssldir="$tryssldir $prefix" -+ fi -+ AC_CACHE_CHECK([for OpenSSL directory], ac_cv_openssldir, [ -+ for ssldir in $tryssldir "" /usr/local/openssl /usr/lib/openssl /usr/local/ssl /usr/lib/ssl /usr/local /usr/pkg /opt /opt/openssl ; do -+ CPPFLAGS="$saved_CPPFLAGS" -+ LDFLAGS="$saved_LDFLAGS" -+ LIBS="$saved_LIBS -lcrypto" -+ -+ # Skip directories if they don't exist -+ if test ! -z "$ssldir" -a ! -d "$ssldir" ; then -+ continue; -+ fi -+ if test ! -z "$ssldir" -a "x$ssldir" != "x/usr"; then -+ # Try to use $ssldir/lib if it exists, otherwise -+ # $ssldir -+ if test -d "$ssldir/lib" ; then -+ LDFLAGS="-L$ssldir/lib $saved_LDFLAGS" -+ if test ! -z "$need_dash_r" ; then -+ LDFLAGS="-R$ssldir/lib $LDFLAGS" -+ fi -+ else -+ LDFLAGS="-L$ssldir $saved_LDFLAGS" -+ if test ! -z "$need_dash_r" ; then -+ LDFLAGS="-R$ssldir $LDFLAGS" -+ fi -+ fi -+ # Try to use $ssldir/include if it exists, otherwise -+ # $ssldir -+ if test -d "$ssldir/include" ; then -+ CPPFLAGS="-I$ssldir/include $saved_CPPFLAGS" -+ else -+ CPPFLAGS="-I$ssldir $saved_CPPFLAGS" -+ fi -+ fi -+ -+ # Basic test to check for compatible library and -+ # correct linking -+ AC_TRY_RUN( -+ [ -+#include -+#include -+int main(void) -+{ -+ char a[2048]; -+ memset(a, 0, sizeof(a)); -+ RAND_add(a, sizeof(a), sizeof(a)); -+ return(RAND_status() <= 0); -+} -+ ], -+ [ -+ found_crypto=1 -+ break; -+ ], [] -+ ) -+ -+ if test ! -z "$found_crypto" ; then -+ break; -+ fi -+ done -+ -+ if test -z "$ssldir" ; then -+ ssldir="(system)" -+ fi -+ -+ if test -z "$found_crypto" ; then -+ ac_cv_openssldir="not found" -+ else -+ ac_cv_openssldir=$ssldir -+ fi -+]) -+ -+LIBS="$saved_LIBS" -+ -+if (test ! -z "$ac_cv_openssldir" && test "x$ac_cv_openssldir" != "xnot found") ; then -+ dnl Need to recover ssldir - test above runs in subshell -+ ssldir=$ac_cv_openssldir -+ if test "x$ssldir" != "x/usr" -a "x$ssldir" != "x(system)"; then -+ # Try to use $ssldir/lib if it exists, otherwise -+ # $ssldir -+ if test -d "$ssldir/lib" ; then -+ LDFLAGS="-L$ssldir/lib $saved_LDFLAGS" -+ if test ! -z "$need_dash_r" ; then -+ LDFLAGS="-R$ssldir/lib $LDFLAGS" -+ fi -+ else -+ LDFLAGS="-L$ssldir $saved_LDFLAGS" -+ if test ! -z "$need_dash_r" ; then -+ LDFLAGS="-R$ssldir $LDFLAGS" -+ fi -+ fi -+ # Try to use $ssldir/include if it exists, otherwise -+ # $ssldir -+ if test -d "$ssldir/include" ; then -+ CPPFLAGS="-I$ssldir/include $saved_CPPFLAGS" -+ else -+ CPPFLAGS="-I$ssldir $saved_CPPFLAGS" -+ fi -+ fi -+ LIBS="$saved_LIBS -lcrypto" -+ AC_CHECK_HEADERS(openssl/md5.h openssl/sha.h) -+ CORE_CRYPT_O="" -+ fi -+fi -+ -+dnl ##################################### -+dnl Export the variables we use -+dnl ##################################### -+AC_SUBST(STLPORT_MAKEFILE) -+AC_SUBST(STLPORT_LIBRARY) -+AC_SUBST(STLPORT_LD) -+AC_SUBST(STLPORT_INCLUDE) -+AC_SUBST(STLPORT_SUBDIR) -+AC_SUBST(CORE_CRYPT_O) -+ -+dnl SYSPRE should eventually go away. Is now currently only used for STLport -+AC_SUBST(SYSPRE) -+ -+AC_CONFIG_FILES([ -+Makefile -+man/Makefile -+man/man4/Makefile -+man/man5/Makefile -+man/man8/Makefile -+src/Makefile -+src/STLport-4.0/Makefile -+src/cryptlib/Makefile -+src/core/Makefile -+src/db/Makefile -+src/fco/Makefile -+src/fs/Makefile -+src/tw/Makefile -+src/twcrypto/Makefile -+src/twparser/Makefile -+src/util/Makefile -+src/twprint/Makefile -+src/twadmin/Makefile -+src/siggen/Makefile -+src/tripwire/Makefile -+]) -+AC_OUTPUT -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/install/install.cfg tripwire-2.3.1-2/install/install.cfg ---- tripwire-2.3.1-2.old/install/install.cfg Fri Oct 27 17:26:25 2000 -+++ tripwire-2.3.1-2/install/install.cfg Sat Jun 7 19:00:03 2003 -@@ -2,7 +2,7 @@ - # install.cfg - # - # default install.cfg for: --# Tripwire(R) 2.3 Open Source for Linux -+# Tripwire(R) 2.3 Open Source - # - # NOTE: This is a Bourne shell script that stores installation - # parameters for your installation. The installer will -@@ -24,19 +24,19 @@ - CLOBBER=false - - # Tripwire binaries are stored in TWBIN. --TWBIN="/usr/sbin" -+TWBIN="${prefix}/sbin" - - # Tripwire policy files are stored in TWPOLICY. --TWPOLICY="/etc/tripwire" -+TWPOLICY="${sysconfdir}" - - # Tripwire manual pages are stored in TWMAN. --TWMAN="/usr/man" -+TWMAN="${prefix}/man" - - # Tripwire database files are stored in TWDB. --TWDB="/var/lib/tripwire" -+TWDB="${prefix}/lib/tripwire" - - # Tripwire documents directory --TWDOCS="/usr/doc/tripwire" -+TWDOCS="${prefix}/doc/tripwire" - - # The Tripwire site key files are stored in TWSITEKEYDIR. - TWSITEKEYDIR="${TWPOLICY}" -@@ -48,7 +48,7 @@ - TWREPORT="${TWDB}/report" - - # This sets the default text editor for Tripwire. --TWEDITOR="/bin/vi" -+TWEDITOR="${path_to_vi}" - - # TWLATEPROMTING controls the point when tripwire asks for a password. - TWLATEPROMPTING=false -@@ -85,7 +85,7 @@ - ##################################### - - TWMAILMETHOD=SENDMAIL --TWMAILPROGRAM="/usr/lib/sendmail -oi -t" -+TWMAILPROGRAM="${path_to_sendmail} -oi -t" - - ##################################### - # SMTP options -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/install/install.sh tripwire-2.3.1-2/install/install.sh ---- tripwire-2.3.1-2.old/install/install.sh Fri Oct 27 17:26:26 2000 -+++ tripwire-2.3.1-2/install/install.sh Sat Jun 7 19:00:03 2003 -@@ -3,7 +3,7 @@ - ######################################################### - ######################################################### - ## --## Tripwire(R) 2.3 Open Source for LINUX install script -+## Tripwire(R) 2.3 Open Source install script - ## - ######################################################### - ######################################################### -@@ -144,20 +144,23 @@ - ## Miscellaneous configuration parameters. - ##------------------------------------------------------- - -+# prefix -+prefix="${prefix:=/usr}" -+ - # License File name - TWLICENSEFILE="COPYING" - - # Default Tripwire configuration file. - TW_CONFIG_FILE="tw.cfg" - --# Name of initial cleartext Tripwire policy file. -+# Name of initial cleartext Tripwire config file. - CLR_CONFIG_FILE="twcfg.txt" - - # Name of initial cleartext Tripwire policy file. - CLR_POLICY_FILE="twpol.txt" - - # Default installation script configuration file. --INSTALL_CONFIG_FILE="install.cfg" -+INSTALL_CONFIG_FILE="./install/install.cfg" - - # Name of the Readme file. - README="README" -@@ -189,6 +192,16 @@ - # If prompt==true, ask for confirmation before continuing with install. - PROMPT="true" - -+# Guess where the toplevel for the distribution is. -+# A bad guess is the current directory -+TAR_DIR=${TAR_DIR:-${START_DIR}} -+ -+OS=`uname -s` -+POLICYSRC="twpol-${OS:=GENERIC}.txt" -+if [ ! -r ${TAR_DIR}/policy/${POLICYSRC} ] -+then POLICYSRC="twpol-GENERIC.txt" -+fi -+ - ##------------------------------------------------------- - ## Parse the command line. - ##------------------------------------------------------- -@@ -234,7 +247,7 @@ - cat << END_OF_TEXT - - Installer program for: --Tripwire(R) 2.3 Open Source for LINUX -+Tripwire(R) 2.3 Open Source - - Copyright (C) 1998-2000 Tripwire (R) Security Systems, Inc. Tripwire (R) - is a registered trademark of the Purdue Research Foundation and is -@@ -242,53 +255,6 @@ - - END_OF_TEXT - --##------------------------------------------------------- --## Are we installing on a supported OS? --##------------------------------------------------------- -- --osokay=0 --if [ "$UNAME" != "" ] && [ "$GREP" != "" ]; then -- unamOS=`uname -s` -- unamVER=`uname -v -r` -- if ((echo "$unamOS" | $GREP -i "Linux" > /dev/null) || -- (echo "$unamOS" | $GREP -i "HP-UX" > /dev/null) || -- (echo "$unamOS" | $GREP -i "AIX" > /dev/null)); then -- unamHW=`uname -m` -- else -- unamHW=`uname -p` -- fi -- if (echo "$unamOS" | $GREP -i "Linux" > /dev/null); then -- osokay=1 -- fi -- if [ "$osokay" -eq 0 ] ; then --cat << END_OF_TEXT -- --* * * * Warning * * * * --The uname command, which tells what operating system is running on this --machine, returned a result that this installation script did not expect. --Tripwire 2.3 Open Source for LINUX is supported on Linux Kernels only. -- --Use of this software with any other operating system is completely unsupported. -- --END_OF_TEXT -- --##------------------------------------------------------- --## Prompt to continue. --##------------------------------------------------------- -- -- if [ "$PROMPT" = "true" ] ; then -- echo -- (echo $n "Continue with installation? [y/n] " $c) 1>&2 -- read ans -- case "$ans" in -- [yY]*) ;; -- *) echo "Installation has been halted." -- exit 1 -- ;; -- esac -- fi -- fi --fi - - ##------------------------------------------------------- - ## Print a message if the user aborts the install. -@@ -312,14 +278,7 @@ - ##------------------------------------------------------- - ## Where is the license agreement file? - ##------------------------------------------------------- -- --EULA_BASE_DIR=`basename $0` --EULA_BASE_DIR=`echo $0 | sed s/$EULA_BASE_DIR\$//` --if [ ! -z "$EULA_BASE_DIR" ] ; then -- EULA_PATH="${EULA_BASE_DIR}$TWLICENSEFILE" --else -- EULA_PATH="$TWLICENSEFILE" --fi -+EULA_PATH="$TWLICENSEFILE" - - ##------------------------------------------------------- - ## If prompting is turned on, get acceptance from user before moving on. -@@ -327,7 +286,7 @@ - - if [ "$PROMPT" = "true" ] ; then - echo -- echo "LICENSE AGREEMENT for Tripwire(R) 2.3 Open Source for LINUX" -+ echo "LICENSE AGREEMENT for Tripwire(R) 2.3 Open Source" - echo - echo "Please read the following license agreement. You must accept the" - echo "agreement to continue installing Tripwire." -@@ -484,13 +443,9 @@ - echo "Verifying existence of binaries..." - echo - --BASE_DIR=`basename $0` --BASE_DIR=`echo $0 | sed s/$BASE_DIR\$//` -+BASE_DIR="./" - if [ ! -z "$BASE_DIR" ] ; then -- TAR_DIR="${BASE_DIR}" -- BIN_DIR="${BASE_DIR}bin/i686-pc-linux_r" --else -- TAR_DIR="${BASE_DIR}" -+ BIN_DIR="${BASE_DIR}bin" - fi - - CWD=`pwd` -@@ -621,23 +576,24 @@ - f1=' ff=$README ; d="" ; dd=$TWDOCS ; rr=0444 ' - f2=' ff=$REL_NOTES ; d="" ; dd=$TWDOCS ; rr=0444 ' - f3=' ff=$TWLICENSEFILE ; d="" ; dd=$TWDOCS ; rr=0444 ' --f4=' ff=tripwire ; d="/bin/i686-pc-linux_r" ; dd=$TWBIN ; rr=0550 ' --f5=' ff=twadmin ; d="/bin/i686-pc-linux_r" ; dd=$TWBIN ; rr=0550 ' --f6=' ff=twprint ; d="/bin/i686-pc-linux_r" ; dd=$TWBIN ; rr=0550 ' --f7=' ff=siggen ; d="/bin/i686-pc-linux_r" ; dd=$TWBIN ; rr=0550 ' -+#f4=' ff=tripwire ; d="/bin" ; dd=$TWBIN ; rr=0550 ' -+#f5=' ff=twadmin ; d="/bin" ; dd=$TWBIN ; rr=0550 ' -+#f6=' ff=twprint ; d="/bin" ; dd=$TWBIN ; rr=0550 ' -+#f7=' ff=siggen ; d="/bin" ; dd=$TWBIN ; rr=0550 ' - f8=' ff=TRADEMARK ; d="" ; dd=$TWDOCS ; rr=0444 ' --f9=' ff=policyguide.txt ; d="" ; dd=$TWDOCS ; rr=0444 ' --f10=' ff=twpol.txt ; d="/policy/" ; dd=$TWPOLICY ; rr=0640 ' --f11=' ff=twpolicy.4 ; d="/man/man4" ; dd=$TWMAN/man4 ; rr=0444 ' --f12=' ff=twconfig.4 ; d="/man/man4" ; dd=$TWMAN/man4 ; rr=0444 ' --f13=' ff=twfiles.5 ; d="/man/man5" ; dd=$TWMAN/man5 ; rr=0444 ' --f14=' ff=siggen.8 ; d="/man/man8" ; dd=$TWMAN/man8 ; rr=0444 ' --f15=' ff=tripwire.8 ; d="/man/man8" ; dd=$TWMAN/man8 ; rr=0444 ' --f16=' ff=twadmin.8 ; d="/man/man8" ; dd=$TWMAN/man8 ; rr=0444 ' --f17=' ff=twintro.8 ; d="/man/man8" ; dd=$TWMAN/man8 ; rr=0444 ' --f18=' ff=twprint.8 ; d="/man/man8" ; dd=$TWMAN/man8 ; rr=0444 ' -+f9=' ff=policyguide.txt ; d="/policy" ; dd=$TWDOCS ; rr=0444 ' -+f10=' ff=${POLICYSRC} ; d="/policy" ; dd=$TWPOLICY ; rr=0640 ' -+#f11=' ff=twpolicy.4 ; d="/man/man4" ; dd=$TWMAN/man4 ; rr=0444 ' -+#f12=' ff=twconfig.4 ; d="/man/man4" ; dd=$TWMAN/man4 ; rr=0444 ' -+#f13=' ff=twfiles.5 ; d="/man/man5" ; dd=$TWMAN/man5 ; rr=0444 ' -+#f14=' ff=siggen.8 ; d="/man/man8" ; dd=$TWMAN/man8 ; rr=0444 ' -+#f15=' ff=tripwire.8 ; d="/man/man8" ; dd=$TWMAN/man8 ; rr=0444 ' -+#f16=' ff=twadmin.8 ; d="/man/man8" ; dd=$TWMAN/man8 ; rr=0444 ' -+#f17=' ff=twintro.8 ; d="/man/man8" ; dd=$TWMAN/man8 ; rr=0444 ' -+#f18=' ff=twprint.8 ; d="/man/man8" ; dd=$TWMAN/man8 ; rr=0444 ' - --loosefiles="f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18" -+# Binaries and manpages are already installed by the install target -+loosefiles="f1 f2 f3 f8 f9 f10" - - for i in $loosefiles; do - eval "eval \"\$$i\"" -@@ -665,13 +621,9 @@ - ## Set default values for Tripwire file names. - ##------------------------------------------------------- - --HOST_NAME='localhost' --(uname -n) 2> /dev/null 1>&2 --if [ $? -eq 0 ]; then -- HOST_NAME=`uname -n` --fi -+HOST_NAME=`uname -n 2>/dev/null` - --LOCAL_KEY="${TWLOCALKEYDIR}/${HOST_NAME}-local.key" -+LOCAL_KEY="${TWLOCALKEYDIR}/${HOST_NAME:=localhost}-local.key" - SITE_KEY="${TWSITEKEYDIR}/site.key" - CONFIG_FILE="${TWPOLICY}/$TW_CONFIG_FILE" # Signed config file - POLICY_FILE="${TWPOLICY}/tw.pol" # Signed policy file -@@ -883,15 +835,16 @@ - s?^\(TWLKEY=\).*$?\1'\""$TWLOCALKEYDIR"\"';? - s?^\(TWREPORT=\).*$?\1'\""$TWREPORT"\"';? - s?^\(HOSTNAME=\).*$?\1'"$HOST_NAME"';? --}' "${TXT_POL}" > "${TXT_POL}.tmp" -+}' "${TWPOLICY}/${POLICYSRC}" > "${TXT_POL}.tmp" - - # copy the tmp file back over the default policy --cp "${TXT_POL}" "${TXT_POL}.bak" -+[ -f "${TXT_POL}" ] && cp "${TXT_POL}" "${TXT_POL}.bak" - mv "${TXT_POL}.tmp" "${TXT_POL}" -+rm -f "${TWPOLICY}/${POLICYSRC}" - - # reset rights on the policy files to 640 --chmod 640 "$TXT_POL" --chmod 640 "${TXT_POL}.bak" -+[ -f "${TXT_POL}" ] && chmod 640 "$TXT_POL" -+[ -f "${TXT_POL}.bak" ] && chmod 640 "${TXT_POL}.bak" - - - ##======================================================= -@@ -968,7 +921,7 @@ - - Please refer to $README_LOC - for release information and to the printed user documentation --for further instructions on using Tripwire 2.3 Open Source for LINUX. -+for further instructions on using Tripwire 2.3 Open Source. - - END_OF_TEXT - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/install-sh tripwire-2.3.1-2/install-sh ---- tripwire-2.3.1-2.old/install-sh Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/install-sh Sun Feb 18 07:08:31 2001 -@@ -0,0 +1,251 @@ -+#!/bin/sh -+# -+# install - install a program, script, or datafile -+# This comes from X11R5 (mit/util/scripts/install.sh). -+# -+# Copyright 1991 by the Massachusetts Institute of Technology -+# -+# Permission to use, copy, modify, distribute, and sell this software and its -+# documentation for any purpose is hereby granted without fee, provided that -+# the above copyright notice appear in all copies and that both that -+# copyright notice and this permission notice appear in supporting -+# documentation, and that the name of M.I.T. not be used in advertising or -+# publicity pertaining to distribution of the software without specific, -+# written prior permission. M.I.T. makes no representations about the -+# suitability of this software for any purpose. It is provided "as is" -+# without express or implied warranty. -+# -+# Calling this script install-sh is preferred over install.sh, to prevent -+# `make' implicit rules from creating a file called install from it -+# when there is no Makefile. -+# -+# This script is compatible with the BSD install script, but was written -+# from scratch. It can only install one file at a time, a restriction -+# shared with many OS's install programs. -+ -+ -+# set DOITPROG to echo to test this script -+ -+# Don't use :- since 4.3BSD and earlier shells don't like it. -+doit="${DOITPROG-}" -+ -+ -+# put in absolute paths if you don't have them in your path; or use env. vars. -+ -+mvprog="${MVPROG-mv}" -+cpprog="${CPPROG-cp}" -+chmodprog="${CHMODPROG-chmod}" -+chownprog="${CHOWNPROG-chown}" -+chgrpprog="${CHGRPPROG-chgrp}" -+stripprog="${STRIPPROG-strip}" -+rmprog="${RMPROG-rm}" -+mkdirprog="${MKDIRPROG-mkdir}" -+ -+transformbasename="" -+transform_arg="" -+instcmd="$mvprog" -+chmodcmd="$chmodprog 0755" -+chowncmd="" -+chgrpcmd="" -+stripcmd="" -+rmcmd="$rmprog -f" -+mvcmd="$mvprog" -+src="" -+dst="" -+dir_arg="" -+ -+while [ x"$1" != x ]; do -+ case $1 in -+ -c) instcmd="$cpprog" -+ shift -+ continue;; -+ -+ -d) dir_arg=true -+ shift -+ continue;; -+ -+ -m) chmodcmd="$chmodprog $2" -+ shift -+ shift -+ continue;; -+ -+ -o) chowncmd="$chownprog $2" -+ shift -+ shift -+ continue;; -+ -+ -g) chgrpcmd="$chgrpprog $2" -+ shift -+ shift -+ continue;; -+ -+ -s) stripcmd="$stripprog" -+ shift -+ continue;; -+ -+ -t=*) transformarg=`echo $1 | sed 's/-t=//'` -+ shift -+ continue;; -+ -+ -b=*) transformbasename=`echo $1 | sed 's/-b=//'` -+ shift -+ continue;; -+ -+ *) if [ x"$src" = x ] -+ then -+ src=$1 -+ else -+ # this colon is to work around a 386BSD /bin/sh bug -+ : -+ dst=$1 -+ fi -+ shift -+ continue;; -+ esac -+done -+ -+if [ x"$src" = x ] -+then -+ echo "install: no input file specified" -+ exit 1 -+else -+ true -+fi -+ -+if [ x"$dir_arg" != x ]; then -+ dst=$src -+ src="" -+ -+ if [ -d $dst ]; then -+ instcmd=: -+ chmodcmd="" -+ else -+ instcmd=mkdir -+ fi -+else -+ -+# Waiting for this to be detected by the "$instcmd $src $dsttmp" command -+# might cause directories to be created, which would be especially bad -+# if $src (and thus $dsttmp) contains '*'. -+ -+ if [ -f $src -o -d $src ] -+ then -+ true -+ else -+ echo "install: $src does not exist" -+ exit 1 -+ fi -+ -+ if [ x"$dst" = x ] -+ then -+ echo "install: no destination specified" -+ exit 1 -+ else -+ true -+ fi -+ -+# If destination is a directory, append the input filename; if your system -+# does not like double slashes in filenames, you may need to add some logic -+ -+ if [ -d $dst ] -+ then -+ dst="$dst"/`basename $src` -+ else -+ true -+ fi -+fi -+ -+## this sed command emulates the dirname command -+dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` -+ -+# Make sure that the destination directory exists. -+# this part is taken from Noah Friedman's mkinstalldirs script -+ -+# Skip lots of stat calls in the usual case. -+if [ ! -d "$dstdir" ]; then -+defaultIFS=' -+' -+IFS="${IFS-${defaultIFS}}" -+ -+oIFS="${IFS}" -+# Some sh's can't handle IFS=/ for some reason. -+IFS='%' -+set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` -+IFS="${oIFS}" -+ -+pathcomp='' -+ -+while [ $# -ne 0 ] ; do -+ pathcomp="${pathcomp}${1}" -+ shift -+ -+ if [ ! -d "${pathcomp}" ] ; -+ then -+ $mkdirprog "${pathcomp}" -+ else -+ true -+ fi -+ -+ pathcomp="${pathcomp}/" -+done -+fi -+ -+if [ x"$dir_arg" != x ] -+then -+ $doit $instcmd $dst && -+ -+ if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi && -+ if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi && -+ if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi && -+ if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi -+else -+ -+# If we're going to rename the final executable, determine the name now. -+ -+ if [ x"$transformarg" = x ] -+ then -+ dstfile=`basename $dst` -+ else -+ dstfile=`basename $dst $transformbasename | -+ sed $transformarg`$transformbasename -+ fi -+ -+# don't allow the sed command to completely eliminate the filename -+ -+ if [ x"$dstfile" = x ] -+ then -+ dstfile=`basename $dst` -+ else -+ true -+ fi -+ -+# Make a temp file name in the proper directory. -+ -+ dsttmp=$dstdir/#inst.$$# -+ -+# Move or copy the file name to the temp name -+ -+ $doit $instcmd $src $dsttmp && -+ -+ trap "rm -f ${dsttmp}" 0 && -+ -+# and set any options; do chmod last to preserve setuid bits -+ -+# If any of these fail, we abort the whole thing. If we want to -+# ignore errors from any of these, just make sure not to ignore -+# errors from the above "$doit $instcmd $src $dsttmp" command. -+ -+ if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi && -+ if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi && -+ if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi && -+ if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi && -+ -+# Now rename the file to the real destination. -+ -+ $doit $rmcmd -f $dstdir/$dstfile && -+ $doit $mvcmd $dsttmp $dstdir/$dstfile -+ -+fi && -+ -+ -+exit 0 -Only in tripwire-2.3.1-2.old/man: Makefile -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/man/Makefile.am tripwire-2.3.1-2/man/Makefile.am ---- tripwire-2.3.1-2.old/man/Makefile.am Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/man/Makefile.am Sun Feb 18 07:36:44 2001 -@@ -0,0 +1,12 @@ -+AUTOMAKE_OPTIONS = foreign no-dependencies -+SUBDIRS = man4 man5 man8 -+ -+#man_MANS = \ -+# ./man4/twconfig.4 \ -+# ./man4/twpolicy.4 \ -+# ./man5/twfiles.5 \ -+# ./man8/siggen.8 \ -+# ./man8/tripwire.8 \ -+# ./man8/twadmin.8 \ -+# ./man8/twintro.8 \ -+# ./man8/twprint.8 -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/man/Makefile.in tripwire-2.3.1-2/man/Makefile.in ---- tripwire-2.3.1-2.old/man/Makefile.in Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/man/Makefile.in Mon Sep 22 09:40:54 2003 -@@ -0,0 +1,331 @@ -+# Makefile.in generated automatically by automake 1.5 from Makefile.am. -+ -+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -+# Free Software Foundation, Inc. -+# This Makefile.in is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -+# PARTICULAR PURPOSE. -+ -+@SET_MAKE@ -+ -+SHELL = @SHELL@ -+ -+srcdir = @srcdir@ -+top_srcdir = @top_srcdir@ -+VPATH = @srcdir@ -+prefix = @prefix@ -+exec_prefix = @exec_prefix@ -+ -+bindir = @bindir@ -+sbindir = @sbindir@ -+libexecdir = @libexecdir@ -+datadir = @datadir@ -+sysconfdir = @sysconfdir@ -+sharedstatedir = @sharedstatedir@ -+localstatedir = @localstatedir@ -+libdir = @libdir@ -+infodir = @infodir@ -+mandir = @mandir@ -+includedir = @includedir@ -+oldincludedir = /usr/include -+pkgdatadir = $(datadir)/@PACKAGE@ -+pkglibdir = $(libdir)/@PACKAGE@ -+pkgincludedir = $(includedir)/@PACKAGE@ -+top_builddir = .. -+ -+ACLOCAL = @ACLOCAL@ -+AUTOCONF = @AUTOCONF@ -+AUTOMAKE = @AUTOMAKE@ -+AUTOHEADER = @AUTOHEADER@ -+ -+INSTALL = @INSTALL@ -+INSTALL_PROGRAM = @INSTALL_PROGRAM@ -+INSTALL_DATA = @INSTALL_DATA@ -+INSTALL_SCRIPT = @INSTALL_SCRIPT@ -+INSTALL_HEADER = $(INSTALL_DATA) -+transform = @program_transform_name@ -+NORMAL_INSTALL = : -+PRE_INSTALL = : -+POST_INSTALL = : -+NORMAL_UNINSTALL = : -+PRE_UNINSTALL = : -+POST_UNINSTALL = : -+AMTAR = @AMTAR@ -+AWK = @AWK@ -+CC = @CC@ -+CORE_CRYPT_O = @CORE_CRYPT_O@ -+CXX = @CXX@ -+DEPDIR = @DEPDIR@ -+EXEEXT = @EXEEXT@ -+GMAKE = @GMAKE@ -+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -+OBJEXT = @OBJEXT@ -+PACKAGE = @PACKAGE@ -+RANLIB = @RANLIB@ -+STLPORT_INCLUDE = @STLPORT_INCLUDE@ -+STLPORT_LD = @STLPORT_LD@ -+STLPORT_LIBRARY = @STLPORT_LIBRARY@ -+STLPORT_MAKEFILE = @STLPORT_MAKEFILE@ -+STLPORT_SUBDIR = @STLPORT_SUBDIR@ -+SYSPRE = @SYSPRE@ -+VERSION = @VERSION@ -+YACC = @YACC@ -+am__include = @am__include@ -+am__quote = @am__quote@ -+install_sh = @install_sh@ -+path_to_sendmail = @path_to_sendmail@ -+path_to_vi = @path_to_vi@ -+ -+AUTOMAKE_OPTIONS = foreign no-dependencies -+SUBDIRS = man4 man5 man8 -+subdir = man -+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -+CONFIG_HEADER = $(top_builddir)/config.h -+CONFIG_CLEAN_FILES = -+depcomp = -+DIST_SOURCES = -+ -+RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \ -+ uninstall-info-recursive all-recursive install-data-recursive \ -+ install-exec-recursive installdirs-recursive install-recursive \ -+ uninstall-recursive check-recursive installcheck-recursive -+DIST_COMMON = Makefile.am Makefile.in -+DIST_SUBDIRS = $(SUBDIRS) -+all: all-recursive -+ -+.SUFFIXES: -+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) -+ cd $(top_srcdir) && \ -+ $(AUTOMAKE) --foreign man/Makefile -+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status -+ cd $(top_builddir) && \ -+ CONFIG_HEADERS= CONFIG_LINKS= \ -+ CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -+uninstall-info-am: -+ -+# This directory's subdirectories are mostly independent; you can cd -+# into them and run `make' without going through this Makefile. -+# To change the values of `make' variables: instead of editing Makefiles, -+# (1) if the variable is set in `config.status', edit `config.status' -+# (which will cause the Makefiles to be regenerated when you run `make'); -+# (2) otherwise, pass the desired values on the `make' command line. -+$(RECURSIVE_TARGETS): -+ @set fnord $(MAKEFLAGS); amf=$$2; \ -+ dot_seen=no; \ -+ target=`echo $@ | sed s/-recursive//`; \ -+ list='$(SUBDIRS)'; for subdir in $$list; do \ -+ echo "Making $$target in $$subdir"; \ -+ if test "$$subdir" = "."; then \ -+ dot_seen=yes; \ -+ local_target="$$target-am"; \ -+ else \ -+ local_target="$$target"; \ -+ fi; \ -+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ -+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ -+ done; \ -+ if test "$$dot_seen" = "no"; then \ -+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ -+ fi; test -z "$$fail" -+ -+mostlyclean-recursive clean-recursive distclean-recursive \ -+maintainer-clean-recursive: -+ @set fnord $(MAKEFLAGS); amf=$$2; \ -+ dot_seen=no; \ -+ case "$@" in \ -+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ -+ *) list='$(SUBDIRS)' ;; \ -+ esac; \ -+ rev=''; for subdir in $$list; do \ -+ if test "$$subdir" = "."; then :; else \ -+ rev="$$subdir $$rev"; \ -+ fi; \ -+ done; \ -+ rev="$$rev ."; \ -+ target=`echo $@ | sed s/-recursive//`; \ -+ for subdir in $$rev; do \ -+ echo "Making $$target in $$subdir"; \ -+ if test "$$subdir" = "."; then \ -+ local_target="$$target-am"; \ -+ else \ -+ local_target="$$target"; \ -+ fi; \ -+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ -+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ -+ done && test -z "$$fail" -+tags-recursive: -+ list='$(SUBDIRS)'; for subdir in $$list; do \ -+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ -+ done -+ -+tags: TAGS -+ -+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) -+ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ -+ unique=`for i in $$list; do \ -+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+ done | \ -+ $(AWK) ' { files[$$0] = 1; } \ -+ END { for (i in files) print i; }'`; \ -+ mkid -fID $$unique $(LISP) -+ -+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ -+ $(TAGS_FILES) $(LISP) -+ tags=; \ -+ here=`pwd`; \ -+ list='$(SUBDIRS)'; for subdir in $$list; do \ -+ if test "$$subdir" = .; then :; else \ -+ test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ -+ fi; \ -+ done; \ -+ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ -+ unique=`for i in $$list; do \ -+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+ done | \ -+ $(AWK) ' { files[$$0] = 1; } \ -+ END { for (i in files) print i; }'`; \ -+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ -+ || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -+ -+GTAGS: -+ here=`CDPATH=: && cd $(top_builddir) && pwd` \ -+ && cd $(top_srcdir) \ -+ && gtags -i $(GTAGS_ARGS) $$here -+ -+distclean-tags: -+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH -+ -+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -+ -+top_distdir = .. -+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) -+ -+distdir: $(DISTFILES) -+ @for file in $(DISTFILES); do \ -+ if test -f $$file; then d=.; else d=$(srcdir); fi; \ -+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ -+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ -+ $(mkinstalldirs) "$(distdir)/$$dir"; \ -+ fi; \ -+ if test -d $$d/$$file; then \ -+ cp -pR $$d/$$file $(distdir) \ -+ || exit 1; \ -+ else \ -+ test -f $(distdir)/$$file \ -+ || cp -p $$d/$$file $(distdir)/$$file \ -+ || exit 1; \ -+ fi; \ -+ done -+ for subdir in $(SUBDIRS); do \ -+ if test "$$subdir" = .; then :; else \ -+ test -d $(distdir)/$$subdir \ -+ || mkdir $(distdir)/$$subdir \ -+ || exit 1; \ -+ (cd $$subdir && \ -+ $(MAKE) $(AM_MAKEFLAGS) \ -+ top_distdir="$(top_distdir)" \ -+ distdir=../$(distdir)/$$subdir \ -+ distdir) \ -+ || exit 1; \ -+ fi; \ -+ done -+check-am: all-am -+check: check-recursive -+all-am: Makefile -+installdirs: installdirs-recursive -+installdirs-am: -+ -+install: install-recursive -+install-exec: install-exec-recursive -+install-data: install-data-recursive -+uninstall: uninstall-recursive -+ -+install-am: all-am -+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -+ -+installcheck: installcheck-recursive -+install-strip: -+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ -+ `test -z '$(STRIP)' || \ -+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -+mostlyclean-generic: -+ -+clean-generic: -+ -+distclean-generic: -+ -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* -+ -+maintainer-clean-generic: -+ @echo "This command is intended for maintainers to use" -+ @echo "it deletes files that may require special tools to rebuild." -+clean: clean-recursive -+ -+clean-am: clean-generic mostlyclean-am -+ -+distclean: distclean-recursive -+ -+distclean-am: clean-am distclean-generic distclean-tags -+ -+dvi: dvi-recursive -+ -+dvi-am: -+ -+info: info-recursive -+ -+info-am: -+ -+install-data-am: -+ -+install-exec-am: -+ -+install-info: install-info-recursive -+ -+install-man: -+ -+installcheck-am: -+ -+maintainer-clean: maintainer-clean-recursive -+ -+maintainer-clean-am: distclean-am maintainer-clean-generic -+ -+mostlyclean: mostlyclean-recursive -+ -+mostlyclean-am: mostlyclean-generic -+ -+uninstall-am: uninstall-info-am -+ -+uninstall-info: uninstall-info-recursive -+ -+.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \ -+ clean-generic clean-recursive distclean distclean-generic \ -+ distclean-recursive distclean-tags distdir dvi dvi-am \ -+ dvi-recursive info info-am info-recursive install install-am \ -+ install-data install-data-am install-data-recursive \ -+ install-exec install-exec-am install-exec-recursive \ -+ install-info install-info-am install-info-recursive install-man \ -+ install-recursive install-strip installcheck installcheck-am \ -+ installdirs installdirs-am installdirs-recursive \ -+ maintainer-clean maintainer-clean-generic \ -+ maintainer-clean-recursive mostlyclean mostlyclean-generic \ -+ mostlyclean-recursive tags tags-recursive uninstall \ -+ uninstall-am uninstall-info-am uninstall-info-recursive \ -+ uninstall-recursive -+ -+ -+#man_MANS = \ -+# ./man4/twconfig.4 \ -+# ./man4/twpolicy.4 \ -+# ./man5/twfiles.5 \ -+# ./man8/siggen.8 \ -+# ./man8/tripwire.8 \ -+# ./man8/twadmin.8 \ -+# ./man8/twintro.8 \ -+# ./man8/twprint.8 -+# Tell versions [3.59,3.63) of GNU make to not export all variables. -+# Otherwise a system limit (for SysV at least) may be exceeded. -+.NOEXPORT: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/man/man4/Makefile.am tripwire-2.3.1-2/man/man4/Makefile.am ---- tripwire-2.3.1-2.old/man/man4/Makefile.am Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/man/man4/Makefile.am Sun Feb 18 07:36:44 2001 -@@ -0,0 +1,2 @@ -+AUTOMAKE_OPTIONS = foreign no-dependencies -+man_MANS = twconfig.4 twpolicy.4 -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/man/man4/Makefile.in tripwire-2.3.1-2/man/man4/Makefile.in ---- tripwire-2.3.1-2.old/man/man4/Makefile.in Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/man/man4/Makefile.in Mon Sep 22 09:40:55 2003 -@@ -0,0 +1,250 @@ -+# Makefile.in generated automatically by automake 1.5 from Makefile.am. -+ -+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -+# Free Software Foundation, Inc. -+# This Makefile.in is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -+# PARTICULAR PURPOSE. -+ -+@SET_MAKE@ -+ -+SHELL = @SHELL@ -+ -+srcdir = @srcdir@ -+top_srcdir = @top_srcdir@ -+VPATH = @srcdir@ -+prefix = @prefix@ -+exec_prefix = @exec_prefix@ -+ -+bindir = @bindir@ -+sbindir = @sbindir@ -+libexecdir = @libexecdir@ -+datadir = @datadir@ -+sysconfdir = @sysconfdir@ -+sharedstatedir = @sharedstatedir@ -+localstatedir = @localstatedir@ -+libdir = @libdir@ -+infodir = @infodir@ -+mandir = @mandir@ -+includedir = @includedir@ -+oldincludedir = /usr/include -+pkgdatadir = $(datadir)/@PACKAGE@ -+pkglibdir = $(libdir)/@PACKAGE@ -+pkgincludedir = $(includedir)/@PACKAGE@ -+top_builddir = ../.. -+ -+ACLOCAL = @ACLOCAL@ -+AUTOCONF = @AUTOCONF@ -+AUTOMAKE = @AUTOMAKE@ -+AUTOHEADER = @AUTOHEADER@ -+ -+INSTALL = @INSTALL@ -+INSTALL_PROGRAM = @INSTALL_PROGRAM@ -+INSTALL_DATA = @INSTALL_DATA@ -+INSTALL_SCRIPT = @INSTALL_SCRIPT@ -+INSTALL_HEADER = $(INSTALL_DATA) -+transform = @program_transform_name@ -+NORMAL_INSTALL = : -+PRE_INSTALL = : -+POST_INSTALL = : -+NORMAL_UNINSTALL = : -+PRE_UNINSTALL = : -+POST_UNINSTALL = : -+AMTAR = @AMTAR@ -+AWK = @AWK@ -+CC = @CC@ -+CORE_CRYPT_O = @CORE_CRYPT_O@ -+CXX = @CXX@ -+DEPDIR = @DEPDIR@ -+EXEEXT = @EXEEXT@ -+GMAKE = @GMAKE@ -+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -+OBJEXT = @OBJEXT@ -+PACKAGE = @PACKAGE@ -+RANLIB = @RANLIB@ -+STLPORT_INCLUDE = @STLPORT_INCLUDE@ -+STLPORT_LD = @STLPORT_LD@ -+STLPORT_LIBRARY = @STLPORT_LIBRARY@ -+STLPORT_MAKEFILE = @STLPORT_MAKEFILE@ -+STLPORT_SUBDIR = @STLPORT_SUBDIR@ -+SYSPRE = @SYSPRE@ -+VERSION = @VERSION@ -+YACC = @YACC@ -+am__include = @am__include@ -+am__quote = @am__quote@ -+install_sh = @install_sh@ -+path_to_sendmail = @path_to_sendmail@ -+path_to_vi = @path_to_vi@ -+ -+AUTOMAKE_OPTIONS = foreign no-dependencies -+man_MANS = twconfig.4 twpolicy.4 -+subdir = man/man4 -+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -+CONFIG_HEADER = $(top_builddir)/config.h -+CONFIG_CLEAN_FILES = -+depcomp = -+DIST_SOURCES = -+ -+NROFF = nroff -+MANS = $(man_MANS) -+DIST_COMMON = Makefile.am Makefile.in -+all: all-am -+ -+.SUFFIXES: -+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) -+ cd $(top_srcdir) && \ -+ $(AUTOMAKE) --foreign man/man4/Makefile -+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status -+ cd $(top_builddir) && \ -+ CONFIG_HEADERS= CONFIG_LINKS= \ -+ CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -+uninstall-info-am: -+ -+man4dir = $(mandir)/man4 -+install-man4: $(man4_MANS) $(man_MANS) -+ @$(NORMAL_INSTALL) -+ $(mkinstalldirs) $(DESTDIR)$(man4dir) -+ @list='$(man4_MANS) $(dist_man4_MANS) $(nodist_man4_MANS)'; \ -+ l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ -+ for i in $$l2; do \ -+ case "$$i" in \ -+ *.4*) list="$$list $$i" ;; \ -+ esac; \ -+ done; \ -+ for i in $$list; do \ -+ if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ -+ else file=$$i; fi; \ -+ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ -+ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ -+ inst=`echo $$inst | sed -e 's/^.*\///'`; \ -+ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ -+ echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man4dir)/$$inst"; \ -+ $(INSTALL_DATA) $$file $(DESTDIR)$(man4dir)/$$inst; \ -+ done -+uninstall-man4: -+ @$(NORMAL_UNINSTALL) -+ @list='$(man4_MANS) $(dist_man4_MANS) $(nodist_man4_MANS)'; \ -+ l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ -+ for i in $$l2; do \ -+ case "$$i" in \ -+ *.4*) list="$$list $$i" ;; \ -+ esac; \ -+ done; \ -+ for i in $$list; do \ -+ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ -+ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ -+ inst=`echo $$inst | sed -e 's/^.*\///'`; \ -+ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ -+ echo " rm -f $(DESTDIR)$(man4dir)/$$inst"; \ -+ rm -f $(DESTDIR)$(man4dir)/$$inst; \ -+ done -+tags: TAGS -+TAGS: -+ -+ -+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -+ -+top_distdir = ../.. -+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) -+ -+distdir: $(DISTFILES) -+ @for file in $(DISTFILES); do \ -+ if test -f $$file; then d=.; else d=$(srcdir); fi; \ -+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ -+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ -+ $(mkinstalldirs) "$(distdir)/$$dir"; \ -+ fi; \ -+ if test -d $$d/$$file; then \ -+ cp -pR $$d/$$file $(distdir) \ -+ || exit 1; \ -+ else \ -+ test -f $(distdir)/$$file \ -+ || cp -p $$d/$$file $(distdir)/$$file \ -+ || exit 1; \ -+ fi; \ -+ done -+check-am: all-am -+check: check-am -+all-am: Makefile $(MANS) -+ -+installdirs: -+ $(mkinstalldirs) $(DESTDIR)$(man4dir) -+ -+install: install-am -+install-exec: install-exec-am -+install-data: install-data-am -+uninstall: uninstall-am -+ -+install-am: all-am -+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -+ -+installcheck: installcheck-am -+install-strip: -+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ -+ `test -z '$(STRIP)' || \ -+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -+mostlyclean-generic: -+ -+clean-generic: -+ -+distclean-generic: -+ -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* -+ -+maintainer-clean-generic: -+ @echo "This command is intended for maintainers to use" -+ @echo "it deletes files that may require special tools to rebuild." -+clean: clean-am -+ -+clean-am: clean-generic mostlyclean-am -+ -+distclean: distclean-am -+ -+distclean-am: clean-am distclean-generic -+ -+dvi: dvi-am -+ -+dvi-am: -+ -+info: info-am -+ -+info-am: -+ -+install-data-am: install-man -+ -+install-exec-am: -+ -+install-info: install-info-am -+ -+install-man: install-man4 -+ -+installcheck-am: -+ -+maintainer-clean: maintainer-clean-am -+ -+maintainer-clean-am: distclean-am maintainer-clean-generic -+ -+mostlyclean: mostlyclean-am -+ -+mostlyclean-am: mostlyclean-generic -+ -+uninstall-am: uninstall-info-am uninstall-man -+ -+uninstall-man: uninstall-man4 -+ -+.PHONY: all all-am check check-am clean clean-generic distclean \ -+ distclean-generic distdir dvi dvi-am info info-am install \ -+ install-am install-data install-data-am install-exec \ -+ install-exec-am install-info install-info-am install-man \ -+ install-man4 install-strip installcheck installcheck-am \ -+ installdirs maintainer-clean maintainer-clean-generic \ -+ mostlyclean mostlyclean-generic uninstall uninstall-am \ -+ uninstall-info-am uninstall-man uninstall-man4 -+ -+# Tell versions [3.59,3.63) of GNU make to not export all variables. -+# Otherwise a system limit (for SysV at least) may be exceeded. -+.NOEXPORT: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/man/man5/Makefile.am tripwire-2.3.1-2/man/man5/Makefile.am ---- tripwire-2.3.1-2.old/man/man5/Makefile.am Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/man/man5/Makefile.am Sun Feb 18 07:36:44 2001 -@@ -0,0 +1,2 @@ -+AUTOMAKE_OPTIONS = foreign no-dependencies -+man_MANS = twfiles.5 -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/man/man5/Makefile.in tripwire-2.3.1-2/man/man5/Makefile.in ---- tripwire-2.3.1-2.old/man/man5/Makefile.in Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/man/man5/Makefile.in Mon Sep 22 09:40:55 2003 -@@ -0,0 +1,250 @@ -+# Makefile.in generated automatically by automake 1.5 from Makefile.am. -+ -+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -+# Free Software Foundation, Inc. -+# This Makefile.in is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -+# PARTICULAR PURPOSE. -+ -+@SET_MAKE@ -+ -+SHELL = @SHELL@ -+ -+srcdir = @srcdir@ -+top_srcdir = @top_srcdir@ -+VPATH = @srcdir@ -+prefix = @prefix@ -+exec_prefix = @exec_prefix@ -+ -+bindir = @bindir@ -+sbindir = @sbindir@ -+libexecdir = @libexecdir@ -+datadir = @datadir@ -+sysconfdir = @sysconfdir@ -+sharedstatedir = @sharedstatedir@ -+localstatedir = @localstatedir@ -+libdir = @libdir@ -+infodir = @infodir@ -+mandir = @mandir@ -+includedir = @includedir@ -+oldincludedir = /usr/include -+pkgdatadir = $(datadir)/@PACKAGE@ -+pkglibdir = $(libdir)/@PACKAGE@ -+pkgincludedir = $(includedir)/@PACKAGE@ -+top_builddir = ../.. -+ -+ACLOCAL = @ACLOCAL@ -+AUTOCONF = @AUTOCONF@ -+AUTOMAKE = @AUTOMAKE@ -+AUTOHEADER = @AUTOHEADER@ -+ -+INSTALL = @INSTALL@ -+INSTALL_PROGRAM = @INSTALL_PROGRAM@ -+INSTALL_DATA = @INSTALL_DATA@ -+INSTALL_SCRIPT = @INSTALL_SCRIPT@ -+INSTALL_HEADER = $(INSTALL_DATA) -+transform = @program_transform_name@ -+NORMAL_INSTALL = : -+PRE_INSTALL = : -+POST_INSTALL = : -+NORMAL_UNINSTALL = : -+PRE_UNINSTALL = : -+POST_UNINSTALL = : -+AMTAR = @AMTAR@ -+AWK = @AWK@ -+CC = @CC@ -+CORE_CRYPT_O = @CORE_CRYPT_O@ -+CXX = @CXX@ -+DEPDIR = @DEPDIR@ -+EXEEXT = @EXEEXT@ -+GMAKE = @GMAKE@ -+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -+OBJEXT = @OBJEXT@ -+PACKAGE = @PACKAGE@ -+RANLIB = @RANLIB@ -+STLPORT_INCLUDE = @STLPORT_INCLUDE@ -+STLPORT_LD = @STLPORT_LD@ -+STLPORT_LIBRARY = @STLPORT_LIBRARY@ -+STLPORT_MAKEFILE = @STLPORT_MAKEFILE@ -+STLPORT_SUBDIR = @STLPORT_SUBDIR@ -+SYSPRE = @SYSPRE@ -+VERSION = @VERSION@ -+YACC = @YACC@ -+am__include = @am__include@ -+am__quote = @am__quote@ -+install_sh = @install_sh@ -+path_to_sendmail = @path_to_sendmail@ -+path_to_vi = @path_to_vi@ -+ -+AUTOMAKE_OPTIONS = foreign no-dependencies -+man_MANS = twfiles.5 -+subdir = man/man5 -+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -+CONFIG_HEADER = $(top_builddir)/config.h -+CONFIG_CLEAN_FILES = -+depcomp = -+DIST_SOURCES = -+ -+NROFF = nroff -+MANS = $(man_MANS) -+DIST_COMMON = Makefile.am Makefile.in -+all: all-am -+ -+.SUFFIXES: -+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) -+ cd $(top_srcdir) && \ -+ $(AUTOMAKE) --foreign man/man5/Makefile -+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status -+ cd $(top_builddir) && \ -+ CONFIG_HEADERS= CONFIG_LINKS= \ -+ CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -+uninstall-info-am: -+ -+man5dir = $(mandir)/man5 -+install-man5: $(man5_MANS) $(man_MANS) -+ @$(NORMAL_INSTALL) -+ $(mkinstalldirs) $(DESTDIR)$(man5dir) -+ @list='$(man5_MANS) $(dist_man5_MANS) $(nodist_man5_MANS)'; \ -+ l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ -+ for i in $$l2; do \ -+ case "$$i" in \ -+ *.5*) list="$$list $$i" ;; \ -+ esac; \ -+ done; \ -+ for i in $$list; do \ -+ if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ -+ else file=$$i; fi; \ -+ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ -+ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ -+ inst=`echo $$inst | sed -e 's/^.*\///'`; \ -+ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ -+ echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man5dir)/$$inst"; \ -+ $(INSTALL_DATA) $$file $(DESTDIR)$(man5dir)/$$inst; \ -+ done -+uninstall-man5: -+ @$(NORMAL_UNINSTALL) -+ @list='$(man5_MANS) $(dist_man5_MANS) $(nodist_man5_MANS)'; \ -+ l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ -+ for i in $$l2; do \ -+ case "$$i" in \ -+ *.5*) list="$$list $$i" ;; \ -+ esac; \ -+ done; \ -+ for i in $$list; do \ -+ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ -+ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ -+ inst=`echo $$inst | sed -e 's/^.*\///'`; \ -+ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ -+ echo " rm -f $(DESTDIR)$(man5dir)/$$inst"; \ -+ rm -f $(DESTDIR)$(man5dir)/$$inst; \ -+ done -+tags: TAGS -+TAGS: -+ -+ -+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -+ -+top_distdir = ../.. -+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) -+ -+distdir: $(DISTFILES) -+ @for file in $(DISTFILES); do \ -+ if test -f $$file; then d=.; else d=$(srcdir); fi; \ -+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ -+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ -+ $(mkinstalldirs) "$(distdir)/$$dir"; \ -+ fi; \ -+ if test -d $$d/$$file; then \ -+ cp -pR $$d/$$file $(distdir) \ -+ || exit 1; \ -+ else \ -+ test -f $(distdir)/$$file \ -+ || cp -p $$d/$$file $(distdir)/$$file \ -+ || exit 1; \ -+ fi; \ -+ done -+check-am: all-am -+check: check-am -+all-am: Makefile $(MANS) -+ -+installdirs: -+ $(mkinstalldirs) $(DESTDIR)$(man5dir) -+ -+install: install-am -+install-exec: install-exec-am -+install-data: install-data-am -+uninstall: uninstall-am -+ -+install-am: all-am -+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -+ -+installcheck: installcheck-am -+install-strip: -+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ -+ `test -z '$(STRIP)' || \ -+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -+mostlyclean-generic: -+ -+clean-generic: -+ -+distclean-generic: -+ -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* -+ -+maintainer-clean-generic: -+ @echo "This command is intended for maintainers to use" -+ @echo "it deletes files that may require special tools to rebuild." -+clean: clean-am -+ -+clean-am: clean-generic mostlyclean-am -+ -+distclean: distclean-am -+ -+distclean-am: clean-am distclean-generic -+ -+dvi: dvi-am -+ -+dvi-am: -+ -+info: info-am -+ -+info-am: -+ -+install-data-am: install-man -+ -+install-exec-am: -+ -+install-info: install-info-am -+ -+install-man: install-man5 -+ -+installcheck-am: -+ -+maintainer-clean: maintainer-clean-am -+ -+maintainer-clean-am: distclean-am maintainer-clean-generic -+ -+mostlyclean: mostlyclean-am -+ -+mostlyclean-am: mostlyclean-generic -+ -+uninstall-am: uninstall-info-am uninstall-man -+ -+uninstall-man: uninstall-man5 -+ -+.PHONY: all all-am check check-am clean clean-generic distclean \ -+ distclean-generic distdir dvi dvi-am info info-am install \ -+ install-am install-data install-data-am install-exec \ -+ install-exec-am install-info install-info-am install-man \ -+ install-man5 install-strip installcheck installcheck-am \ -+ installdirs maintainer-clean maintainer-clean-generic \ -+ mostlyclean mostlyclean-generic uninstall uninstall-am \ -+ uninstall-info-am uninstall-man uninstall-man5 -+ -+# Tell versions [3.59,3.63) of GNU make to not export all variables. -+# Otherwise a system limit (for SysV at least) may be exceeded. -+.NOEXPORT: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/man/man8/Makefile.am tripwire-2.3.1-2/man/man8/Makefile.am ---- tripwire-2.3.1-2.old/man/man8/Makefile.am Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/man/man8/Makefile.am Sun Feb 18 07:36:44 2001 -@@ -0,0 +1,2 @@ -+AUTOMAKE_OPTIONS = foreign no-dependencies -+man_MANS = siggen.8 tripwire.8 twadmin.8 twintro.8 twprint.8 -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/man/man8/Makefile.in tripwire-2.3.1-2/man/man8/Makefile.in ---- tripwire-2.3.1-2.old/man/man8/Makefile.in Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/man/man8/Makefile.in Mon Sep 22 09:40:55 2003 -@@ -0,0 +1,250 @@ -+# Makefile.in generated automatically by automake 1.5 from Makefile.am. -+ -+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -+# Free Software Foundation, Inc. -+# This Makefile.in is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -+# PARTICULAR PURPOSE. -+ -+@SET_MAKE@ -+ -+SHELL = @SHELL@ -+ -+srcdir = @srcdir@ -+top_srcdir = @top_srcdir@ -+VPATH = @srcdir@ -+prefix = @prefix@ -+exec_prefix = @exec_prefix@ -+ -+bindir = @bindir@ -+sbindir = @sbindir@ -+libexecdir = @libexecdir@ -+datadir = @datadir@ -+sysconfdir = @sysconfdir@ -+sharedstatedir = @sharedstatedir@ -+localstatedir = @localstatedir@ -+libdir = @libdir@ -+infodir = @infodir@ -+mandir = @mandir@ -+includedir = @includedir@ -+oldincludedir = /usr/include -+pkgdatadir = $(datadir)/@PACKAGE@ -+pkglibdir = $(libdir)/@PACKAGE@ -+pkgincludedir = $(includedir)/@PACKAGE@ -+top_builddir = ../.. -+ -+ACLOCAL = @ACLOCAL@ -+AUTOCONF = @AUTOCONF@ -+AUTOMAKE = @AUTOMAKE@ -+AUTOHEADER = @AUTOHEADER@ -+ -+INSTALL = @INSTALL@ -+INSTALL_PROGRAM = @INSTALL_PROGRAM@ -+INSTALL_DATA = @INSTALL_DATA@ -+INSTALL_SCRIPT = @INSTALL_SCRIPT@ -+INSTALL_HEADER = $(INSTALL_DATA) -+transform = @program_transform_name@ -+NORMAL_INSTALL = : -+PRE_INSTALL = : -+POST_INSTALL = : -+NORMAL_UNINSTALL = : -+PRE_UNINSTALL = : -+POST_UNINSTALL = : -+AMTAR = @AMTAR@ -+AWK = @AWK@ -+CC = @CC@ -+CORE_CRYPT_O = @CORE_CRYPT_O@ -+CXX = @CXX@ -+DEPDIR = @DEPDIR@ -+EXEEXT = @EXEEXT@ -+GMAKE = @GMAKE@ -+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -+OBJEXT = @OBJEXT@ -+PACKAGE = @PACKAGE@ -+RANLIB = @RANLIB@ -+STLPORT_INCLUDE = @STLPORT_INCLUDE@ -+STLPORT_LD = @STLPORT_LD@ -+STLPORT_LIBRARY = @STLPORT_LIBRARY@ -+STLPORT_MAKEFILE = @STLPORT_MAKEFILE@ -+STLPORT_SUBDIR = @STLPORT_SUBDIR@ -+SYSPRE = @SYSPRE@ -+VERSION = @VERSION@ -+YACC = @YACC@ -+am__include = @am__include@ -+am__quote = @am__quote@ -+install_sh = @install_sh@ -+path_to_sendmail = @path_to_sendmail@ -+path_to_vi = @path_to_vi@ -+ -+AUTOMAKE_OPTIONS = foreign no-dependencies -+man_MANS = siggen.8 tripwire.8 twadmin.8 twintro.8 twprint.8 -+subdir = man/man8 -+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -+CONFIG_HEADER = $(top_builddir)/config.h -+CONFIG_CLEAN_FILES = -+depcomp = -+DIST_SOURCES = -+ -+NROFF = nroff -+MANS = $(man_MANS) -+DIST_COMMON = Makefile.am Makefile.in -+all: all-am -+ -+.SUFFIXES: -+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) -+ cd $(top_srcdir) && \ -+ $(AUTOMAKE) --foreign man/man8/Makefile -+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status -+ cd $(top_builddir) && \ -+ CONFIG_HEADERS= CONFIG_LINKS= \ -+ CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -+uninstall-info-am: -+ -+man8dir = $(mandir)/man8 -+install-man8: $(man8_MANS) $(man_MANS) -+ @$(NORMAL_INSTALL) -+ $(mkinstalldirs) $(DESTDIR)$(man8dir) -+ @list='$(man8_MANS) $(dist_man8_MANS) $(nodist_man8_MANS)'; \ -+ l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ -+ for i in $$l2; do \ -+ case "$$i" in \ -+ *.8*) list="$$list $$i" ;; \ -+ esac; \ -+ done; \ -+ for i in $$list; do \ -+ if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ -+ else file=$$i; fi; \ -+ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ -+ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ -+ inst=`echo $$inst | sed -e 's/^.*\///'`; \ -+ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ -+ echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man8dir)/$$inst"; \ -+ $(INSTALL_DATA) $$file $(DESTDIR)$(man8dir)/$$inst; \ -+ done -+uninstall-man8: -+ @$(NORMAL_UNINSTALL) -+ @list='$(man8_MANS) $(dist_man8_MANS) $(nodist_man8_MANS)'; \ -+ l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ -+ for i in $$l2; do \ -+ case "$$i" in \ -+ *.8*) list="$$list $$i" ;; \ -+ esac; \ -+ done; \ -+ for i in $$list; do \ -+ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ -+ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ -+ inst=`echo $$inst | sed -e 's/^.*\///'`; \ -+ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ -+ echo " rm -f $(DESTDIR)$(man8dir)/$$inst"; \ -+ rm -f $(DESTDIR)$(man8dir)/$$inst; \ -+ done -+tags: TAGS -+TAGS: -+ -+ -+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -+ -+top_distdir = ../.. -+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) -+ -+distdir: $(DISTFILES) -+ @for file in $(DISTFILES); do \ -+ if test -f $$file; then d=.; else d=$(srcdir); fi; \ -+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ -+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ -+ $(mkinstalldirs) "$(distdir)/$$dir"; \ -+ fi; \ -+ if test -d $$d/$$file; then \ -+ cp -pR $$d/$$file $(distdir) \ -+ || exit 1; \ -+ else \ -+ test -f $(distdir)/$$file \ -+ || cp -p $$d/$$file $(distdir)/$$file \ -+ || exit 1; \ -+ fi; \ -+ done -+check-am: all-am -+check: check-am -+all-am: Makefile $(MANS) -+ -+installdirs: -+ $(mkinstalldirs) $(DESTDIR)$(man8dir) -+ -+install: install-am -+install-exec: install-exec-am -+install-data: install-data-am -+uninstall: uninstall-am -+ -+install-am: all-am -+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -+ -+installcheck: installcheck-am -+install-strip: -+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ -+ `test -z '$(STRIP)' || \ -+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -+mostlyclean-generic: -+ -+clean-generic: -+ -+distclean-generic: -+ -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* -+ -+maintainer-clean-generic: -+ @echo "This command is intended for maintainers to use" -+ @echo "it deletes files that may require special tools to rebuild." -+clean: clean-am -+ -+clean-am: clean-generic mostlyclean-am -+ -+distclean: distclean-am -+ -+distclean-am: clean-am distclean-generic -+ -+dvi: dvi-am -+ -+dvi-am: -+ -+info: info-am -+ -+info-am: -+ -+install-data-am: install-man -+ -+install-exec-am: -+ -+install-info: install-info-am -+ -+install-man: install-man8 -+ -+installcheck-am: -+ -+maintainer-clean: maintainer-clean-am -+ -+maintainer-clean-am: distclean-am maintainer-clean-generic -+ -+mostlyclean: mostlyclean-am -+ -+mostlyclean-am: mostlyclean-generic -+ -+uninstall-am: uninstall-info-am uninstall-man -+ -+uninstall-man: uninstall-man8 -+ -+.PHONY: all all-am check check-am clean clean-generic distclean \ -+ distclean-generic distdir dvi dvi-am info info-am install \ -+ install-am install-data install-data-am install-exec \ -+ install-exec-am install-info install-info-am install-man \ -+ install-man8 install-strip installcheck installcheck-am \ -+ installdirs maintainer-clean maintainer-clean-generic \ -+ mostlyclean mostlyclean-generic uninstall uninstall-am \ -+ uninstall-info-am uninstall-man uninstall-man8 -+ -+# Tell versions [3.59,3.63) of GNU make to not export all variables. -+# Otherwise a system limit (for SysV at least) may be exceeded. -+.NOEXPORT: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/missing tripwire-2.3.1-2/missing ---- tripwire-2.3.1-2.old/missing Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/missing Wed Jul 3 10:38:30 2002 -@@ -0,0 +1,283 @@ -+#! /bin/sh -+# Common stub for a few missing GNU programs while installing. -+# Copyright 1996, 1997, 1999, 2000 Free Software Foundation, Inc. -+# Originally by Fran,cois Pinard , 1996. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2, or (at your option) -+# any later version. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+ -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -+# 02111-1307, USA. -+ -+# As a special exception to the GNU General Public License, if you -+# distribute this file as part of a program that contains a -+# configuration script generated by Autoconf, you may include it under -+# the same distribution terms that you use for the rest of that program. -+ -+if test $# -eq 0; then -+ echo 1>&2 "Try \`$0 --help' for more information" -+ exit 1 -+fi -+ -+run=: -+ -+# In the cases where this matters, `missing' is being run in the -+# srcdir already. -+if test -f configure.ac; then -+ configure_ac=configure.ac -+else -+ configure_ac=configure.in -+fi -+ -+case "$1" in -+--run) -+ # Try to run requested program, and just exit if it succeeds. -+ run= -+ shift -+ "$@" && exit 0 -+ ;; -+esac -+ -+# If it does not exist, or fails to run (possibly an outdated version), -+# try to emulate it. -+case "$1" in -+ -+ -h|--h|--he|--hel|--help) -+ echo "\ -+$0 [OPTION]... PROGRAM [ARGUMENT]... -+ -+Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an -+error status if there is no known handling for PROGRAM. -+ -+Options: -+ -h, --help display this help and exit -+ -v, --version output version information and exit -+ --run try to run the given command, and emulate it if it fails -+ -+Supported PROGRAM values: -+ aclocal touch file \`aclocal.m4' -+ autoconf touch file \`configure' -+ autoheader touch file \`config.h.in' -+ automake touch all \`Makefile.in' files -+ bison create \`y.tab.[ch]', if possible, from existing .[ch] -+ flex create \`lex.yy.c', if possible, from existing .c -+ help2man touch the output file -+ lex create \`lex.yy.c', if possible, from existing .c -+ makeinfo touch the output file -+ tar try tar, gnutar, gtar, then tar without non-portable flags -+ yacc create \`y.tab.[ch]', if possible, from existing .[ch]" -+ ;; -+ -+ -v|--v|--ve|--ver|--vers|--versi|--versio|--version) -+ echo "missing 0.3 - GNU automake" -+ ;; -+ -+ -*) -+ echo 1>&2 "$0: Unknown \`$1' option" -+ echo 1>&2 "Try \`$0 --help' for more information" -+ exit 1 -+ ;; -+ -+ aclocal) -+ echo 1>&2 "\ -+WARNING: \`$1' is missing on your system. You should only need it if -+ you modified \`acinclude.m4' or \`${configure_ac}'. You might want -+ to install the \`Automake' and \`Perl' packages. Grab them from -+ any GNU archive site." -+ touch aclocal.m4 -+ ;; -+ -+ autoconf) -+ echo 1>&2 "\ -+WARNING: \`$1' is missing on your system. You should only need it if -+ you modified \`${configure_ac}'. You might want to install the -+ \`Autoconf' and \`GNU m4' packages. Grab them from any GNU -+ archive site." -+ touch configure -+ ;; -+ -+ autoheader) -+ echo 1>&2 "\ -+WARNING: \`$1' is missing on your system. You should only need it if -+ you modified \`acconfig.h' or \`${configure_ac}'. You might want -+ to install the \`Autoconf' and \`GNU m4' packages. Grab them -+ from any GNU archive site." -+ files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` -+ test -z "$files" && files="config.h" -+ touch_files= -+ for f in $files; do -+ case "$f" in -+ *:*) touch_files="$touch_files "`echo "$f" | -+ sed -e 's/^[^:]*://' -e 's/:.*//'`;; -+ *) touch_files="$touch_files $f.in";; -+ esac -+ done -+ touch $touch_files -+ ;; -+ -+ automake) -+ echo 1>&2 "\ -+WARNING: \`$1' is missing on your system. You should only need it if -+ you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. -+ You might want to install the \`Automake' and \`Perl' packages. -+ Grab them from any GNU archive site." -+ find . -type f -name Makefile.am -print | -+ sed 's/\.am$/.in/' | -+ while read f; do touch "$f"; done -+ ;; -+ -+ bison|yacc) -+ echo 1>&2 "\ -+WARNING: \`$1' is missing on your system. You should only need it if -+ you modified a \`.y' file. You may need the \`Bison' package -+ in order for those modifications to take effect. You can get -+ \`Bison' from any GNU archive site." -+ rm -f y.tab.c y.tab.h -+ if [ $# -ne 1 ]; then -+ eval LASTARG="\${$#}" -+ case "$LASTARG" in -+ *.y) -+ SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` -+ if [ -f "$SRCFILE" ]; then -+ cp "$SRCFILE" y.tab.c -+ fi -+ SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` -+ if [ -f "$SRCFILE" ]; then -+ cp "$SRCFILE" y.tab.h -+ fi -+ ;; -+ esac -+ fi -+ if [ ! -f y.tab.h ]; then -+ echo >y.tab.h -+ fi -+ if [ ! -f y.tab.c ]; then -+ echo 'main() { return 0; }' >y.tab.c -+ fi -+ ;; -+ -+ lex|flex) -+ echo 1>&2 "\ -+WARNING: \`$1' is missing on your system. You should only need it if -+ you modified a \`.l' file. You may need the \`Flex' package -+ in order for those modifications to take effect. You can get -+ \`Flex' from any GNU archive site." -+ rm -f lex.yy.c -+ if [ $# -ne 1 ]; then -+ eval LASTARG="\${$#}" -+ case "$LASTARG" in -+ *.l) -+ SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` -+ if [ -f "$SRCFILE" ]; then -+ cp "$SRCFILE" lex.yy.c -+ fi -+ ;; -+ esac -+ fi -+ if [ ! -f lex.yy.c ]; then -+ echo 'main() { return 0; }' >lex.yy.c -+ fi -+ ;; -+ -+ help2man) -+ echo 1>&2 "\ -+WARNING: \`$1' is missing on your system. You should only need it if -+ you modified a dependency of a manual page. You may need the -+ \`Help2man' package in order for those modifications to take -+ effect. You can get \`Help2man' from any GNU archive site." -+ -+ file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` -+ if test -z "$file"; then -+ file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` -+ fi -+ if [ -f "$file" ]; then -+ touch $file -+ else -+ test -z "$file" || exec >$file -+ echo ".ab help2man is required to generate this page" -+ exit 1 -+ fi -+ ;; -+ -+ makeinfo) -+ if test -z "$run" && (makeinfo --version > /dev/null 2>&1); then -+ # We have makeinfo, but it failed. -+ exit 1 -+ fi -+ -+ echo 1>&2 "\ -+WARNING: \`$1' is missing on your system. You should only need it if -+ you modified a \`.texi' or \`.texinfo' file, or any other file -+ indirectly affecting the aspect of the manual. The spurious -+ call might also be the consequence of using a buggy \`make' (AIX, -+ DU, IRIX). You might want to install the \`Texinfo' package or -+ the \`GNU make' package. Grab either from any GNU archive site." -+ file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` -+ if test -z "$file"; then -+ file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` -+ file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` -+ fi -+ touch $file -+ ;; -+ -+ tar) -+ shift -+ if test -n "$run"; then -+ echo 1>&2 "ERROR: \`tar' requires --run" -+ exit 1 -+ fi -+ -+ # We have already tried tar in the generic part. -+ # Look for gnutar/gtar before invocation to avoid ugly error -+ # messages. -+ if (gnutar --version > /dev/null 2>&1); then -+ gnutar ${1+"$@"} && exit 0 -+ fi -+ if (gtar --version > /dev/null 2>&1); then -+ gtar ${1+"$@"} && exit 0 -+ fi -+ firstarg="$1" -+ if shift; then -+ case "$firstarg" in -+ *o*) -+ firstarg=`echo "$firstarg" | sed s/o//` -+ tar "$firstarg" ${1+"$@"} && exit 0 -+ ;; -+ esac -+ case "$firstarg" in -+ *h*) -+ firstarg=`echo "$firstarg" | sed s/h//` -+ tar "$firstarg" ${1+"$@"} && exit 0 -+ ;; -+ esac -+ fi -+ -+ echo 1>&2 "\ -+WARNING: I can't seem to be able to run \`tar' with the given arguments. -+ You may want to install GNU tar or Free paxutils, or check the -+ command line arguments." -+ exit 1 -+ ;; -+ -+ *) -+ echo 1>&2 "\ -+WARNING: \`$1' is needed, and you do not seem to have it handy on your -+ system. You might have modified some files without having the -+ proper tools for further handling them. Check the \`README' file, -+ it often tells you about the needed prerequirements for installing -+ this package. You may also peek at any GNU archive site, in case -+ some other package would contain this missing \`$1' program." -+ exit 1 -+ ;; -+esac -+ -+exit 0 -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/mkinstalldirs tripwire-2.3.1-2/mkinstalldirs ---- tripwire-2.3.1-2.old/mkinstalldirs Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/mkinstalldirs Sun Feb 18 07:08:31 2001 -@@ -0,0 +1,40 @@ -+#! /bin/sh -+# mkinstalldirs --- make directory hierarchy -+# Author: Noah Friedman -+# Created: 1993-05-16 -+# Public domain -+ -+# $Id: mkinstalldirs,v 1.1 2001/02/18 15:08:31 pherman Exp $ -+ -+errstatus=0 -+ -+for file -+do -+ set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` -+ shift -+ -+ pathcomp= -+ for d -+ do -+ pathcomp="$pathcomp$d" -+ case "$pathcomp" in -+ -* ) pathcomp=./$pathcomp ;; -+ esac -+ -+ if test ! -d "$pathcomp"; then -+ echo "mkdir $pathcomp" -+ -+ mkdir "$pathcomp" || lasterr=$? -+ -+ if test ! -d "$pathcomp"; then -+ errstatus=$lasterr -+ fi -+ fi -+ -+ pathcomp="$pathcomp/" -+ done -+done -+ -+exit $errstatus -+ -+# mkinstalldirs ends here -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/policy/twpol-Darwin.txt tripwire-2.3.1-2/policy/twpol-Darwin.txt ---- tripwire-2.3.1-2.old/policy/twpol-Darwin.txt Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/policy/twpol-Darwin.txt Thu Sep 18 22:55:41 2003 -@@ -0,0 +1,381 @@ -+ ############################################################################## -+ # ## -+############################################################################## # -+# # # -+# Policy file for Mac OS X # # -+# September 3, 2003 # # -+# ## -+############################################################################## -+ -+ ############################################################################## -+ # ## -+############################################################################## # -+# # # -+# Global Variable Definitions # # -+# # # -+# These are defined at install time by the installation script. You may # # -+# manually edit these if you are using this file directly and not from the # # -+# installation script itself. # # -+# ## -+############################################################################## -+ -+@@section GLOBAL -+ -+TWROOT=; -+TWBIN=; -+TWPOL=; -+TWDB=; -+TWSKEY=; -+TWLKEY=; -+TWREPORT=; -+#USER1=frodo ; -+ -+ -+ ############################################################################## -+ # Predefined Variables # -+############################################################################## -+# -+# Property Masks -+# -+# - ignore the following properties -+# + check the following properties -+# -+# a access timestamp (mutually exclusive with +CMSH) -+# b number of blocks allocated -+# c inode creation/modification timestamp -+# d ID of device on which inode resides -+# g group id of owner -+# i inode number -+# l growing files (logfiles for example) -+# m modification timestamp -+# n number of links -+# p permission and file mode bits -+# r ID of device pointed to by inode (valid only for device objects) -+# s file size -+# t file type -+# u user id of owner -+# -+# C CRC-32 hash -+# H HAVAL hash -+# M MD5 hash -+# S SHA hash -+# -+############################################################################## -+ -+SEC_DEVICE = +pugsr-dintlbamcCMSH ; -+SEC_DYNAMIC = +pinugt-dsrlbamcCMSH ; -+SEC_READONLY = +pinugtsbmCM-drlacSH ; -+SEC_GROWING = +pinugtl-dsrbamcCMSH ; -+ -+IgnoreAll = -pinugtsdrlbamcCMSH ; -+IgnoreNone = +pinugtsdrbamcCMSH-l ; -+Temporary = +pugt ; -+ -+@@section FS -+ -+ ######################################## -+ # ## -+######################################## # -+# # # -+# Tripwire Binaries and Data Files # # -+# ## -+######################################## -+ -+# Tripwire Binaries -+( -+ rulename = "Tripwire Binaries", severity=100 -+) -+{ -+ $(TWBIN)/siggen -> $(SEC_READONLY) ; -+ $(TWBIN)/tripwire -> $(SEC_READONLY) ; -+ $(TWBIN)/twadmin -> $(SEC_READONLY) ; -+ $(TWBIN)/twprint -> $(SEC_READONLY) ; -+} -+ -+# Tripwire Data Files - Configuration Files, Policy Files, Keys, Reports, Databases -+( -+ rulename = "Tripwire Data Files", severity=100 -+) -+{ -+ # NOTE: We remove the inode attribute because when Tripwire creates a backup, -+ # it does so by renaming the old file and creating a new one (which will -+ # have a new inode number). Inode is left turned on for keys, which shouldn't -+ # ever change. -+ -+ # NOTE: The first integrity check triggers this rule and each integrity check -+ # afterward triggers this rule until a database update is run, since the -+ # database file does not exist before that point. -+ -+ $(TWDB) -> $(SEC_DYNAMIC) -i ; -+ $(TWPOL)/tw.pol -> $(SEC_READONLY) -i ; -+ $(TWPOL)/tw.cfg -> $(SEC_READONLY) -i ; -+ $(TWLKEY)/local.key -> $(SEC_READONLY) ; -+ $(TWSKEY)/site.key -> $(SEC_READONLY) ; -+ -+ # don't scan the individual reports -+ $(TWREPORT) -> $(SEC_DYNAMIC)(recurse=0) ; -+ -+ -+} -+ -+ ################################################ -+ # ## -+################################################ # -+# # # -+# OS Boot and Configuration Files # # -+# ## -+################################################ -+( -+ rulename = "OS Boot and Configuration Files", severity=100 -+) -+{ -+ /mach.sym -> $(SEC_READONLY)-im ; -+ /mach_kernel -> $(SEC_READONLY) ; -+ /private/etc -> $(SEC_READONLY)-m ; -+ -+ #/private/etc/appletalk.cfg -> $(SEC_READONLY)-im ; -+ #/private/etc/appletalk.nvram.en0 -> $(SEC_DYNAMIC) ; -+ /private/etc/cups/certs -> $(SEC_DYNAMIC) -i(recurse=0) ; -+ /private/etc/smb.conf -> $(SEC_READONLY)-im ; -+ -+ /Library -> $(SEC_READONLY) ; -+ /System -> $(SEC_READONLY) ; -+ -+ /Library/Printers -> $(SEC_READONLY)(recurse=2) ; -+ /Library/Documentation -> $(SEC_READONLY)(recurse=2) ; -+ /Library/Filesystems -> $(SEC_DYNAMIC)-i ; -+ /Library/"Application Support" -> $(SEC_DYNAMIC)-im(recurse=2) ; -+ -+ /System/Library/Filesystems -> $(SEC_DYNAMIC)-i ; -+ /System/Library/CoreServices -> $(SEC_READONLY)-im ; -+ /System/Library/Filesystems/hfs.fs -> $(SEC_DYNAMIC)(recurse=0) ; -+ -+} -+ -+ ################################################### -+ # ## -+################################################### # -+# # # -+# Mount Points # # -+# ## -+################################################### -+( -+ rulename = "Mount Points", severity=60 -+) -+{ -+ / -> $(SEC_READONLY)(recurse=0) ; -+ /Volumes -> $(SEC_READONLY)-M (recurse=0) ; -+ /usr -> $(SEC_READONLY)(recurse=0) ; -+ -+} -+ -+ -+ ################################################ -+ # ## -+################################################ # -+# # # -+# System Devices # # -+# ## -+################################################ -+( -+ rulename = "System Devices", severity=60 -+) -+{ -+ /dev -> $(SEC_DEVICE)(recurse=0) ; -+ #/private/var/cron/tabs/.sock -> $(SEC_DEVICE) ; -+ -+} -+ -+ ################################################ -+ # ## -+################################################ # -+# # # -+# OS Binaries and Libraries # # -+# ## -+################################################ -+( -+ rulename = "OS Binaries and Libraries", severity=100 -+) -+{ -+ /bin -> $(SEC_READONLY) ; -+ /sbin -> $(SEC_READONLY) ; -+ /usr/bin -> $(SEC_READONLY) ; -+ /usr/lib -> $(SEC_READONLY) ; -+ /usr/libexec -> $(SEC_READONLY) ; -+ /usr/sbin -> $(SEC_READONLY) ; -+ #/usr/X11R6 -> $(SEC_READONLY)(recurse=2) ; # May not be present -+ #/usr/X11R6/man -> $(SEC_DYNAMIC)-i(recurse=1) ; # May not be present -+ /usr/share -> $(SEC_READONLY) ; -+ /usr/share/man -> $(SEC_DYNAMIC)-i(recurse=1) ; -+ -+} -+ -+ -+ ################################################ -+ # ## -+################################################ # -+# # # -+# OS X Applications # # -+# ## -+################################################ -+( -+ rulename = "OS Binaries and Libraries", severity=100 -+) -+{ -+ /Applications -> $(SEC_READONLY)-im(recurse=2) ; -+ "/Applications (Mac OS 9)" -> $(SEC_READONLY) ; -+ -+ -+ !/Applications/Internet/P2P/Downloads ; -+ !/Applications/Games/"Warcraft III Folder"/Save ; -+ -+} -+ -+ ################################################ -+ # ## -+################################################ # -+# # # -+# Usr Local Files # # -+# ## -+################################################ -+( -+ rulename = "Usr Local Files", severity=60 -+) -+{ -+ /usr/local -> $(SEC_READONLY) ; -+ #/usr/local/bin -> $(SEC_READONLY) ; -+ /usr/local/etc -> $(SEC_READONLY) ; -+ #/usr/local/sbin -> $(SEC_READONLY) ; -+ #/usr/local/share -> $(SEC_READONLY) ; -+} -+ -+ -+ ################################################ -+ # ## -+################################################ # -+# # # -+# Temporary Files and Directories # # -+# ## -+################################################ -+( -+ rulename = "Variable System Files", severity=60 -+) -+{ -+ /private/tmp -> $(SEC_DYNAMIC)-in(recurse=0) ; -+ -+ /private/var -> $(SEC_READONLY)-i ; -+ /private/var/backups -> $(SEC_READONLY)-imc(severity=100) ; -+ #/private/var/backups/local.nidump -> $(SEC_DYNAMIC) -i(severity=100) ; -+ #/private/var/cron -> $(SEC_DYNAMIC) -i ; -+ /private/var/db -> $(SEC_READONLY)-im ; -+ /private/var/db/BootCache.playlist -> $(SEC_DYNAMIC) -i ; -+ /private/var/db/netinfo/local.nidb/Store.384 -> $(SEC_READONLY)-imc(severity=100) ; -+ #/private/var/db/netinfo/local.nidb/Store.672 -> $(SEC_READONLY)-imc(severity=100) ; -+ /private/var/db/prebindOnDemandBadFiles -> $(SEC_DYNAMIC) -i ; -+ /private/var/log -> $(SEC_DYNAMIC) -i ; -+ #/private/var/mail -> $(SEC_DYNAMIC) ; -+ /private/var/msgs/bounds -> $(SEC_READONLY)-smbCM ; -+ /private/var/root/Library/Caches -> $(SEC_DYNAMIC) -i ; -+ /private/var/run -> $(SEC_DYNAMIC) -i(rulename="Running Services") ; -+ #/private/var/slp.regfile -> $(SEC_READONLY)-im ; -+ /private/var/spool/clientmqueue -> $(SEC_DYNAMIC)(recurse=0) ; -+ /private/var/spool/mqueue -> $(SEC_DYNAMIC)(recurse=0) ; -+ /private/var/spool/lock -> $(SEC_DYNAMIC) -i(recurse=1) ; -+ /private/var/spool/cups -> $(SEC_DYNAMIC) -i(recurse=0) ; -+ /private/var/tmp -> $(SEC_DYNAMIC) -i(recurse=0) ; -+ /private/var/vm -> $(SEC_DYNAMIC)(recurse=0) ; -+ -+ /Library/Caches -> $(SEC_DYNAMIC) -i ; -+ /Library/Logs -> $(SEC_DYNAMIC) -i(recurse=1) ; -+ /Library/Preferences -> $(SEC_DYNAMIC) -i(recurse=1) ; -+ "/Library/Internet Plug-Ins" -> $(SEC_DYNAMIC) -i ; -+ -+ !/private/var/db/dhcpclient ; -+ !/private/var/db/dhcpd_leases ; -+ !/private/var/db/locate.database ; -+ !/private/var/db/SystemEntropyCache ; -+ !/private/var/db/samba/secrets.tdb ; -+ -+} -+ -+ -+ -+ ################################################ -+ # ## -+################################################ # -+# # # -+# Classic Environment # # -+# ## -+################################################ -+( -+ rulename = "Classic Environment", severity=100 -+) -+{ -+ -+ /"System Folder" -> $(SEC_READONLY) ; -+ /"System Folder"/Preferences -> $(SEC_DYNAMIC)-i(recurse=0) ; -+ /"System Folder"/Extensions -> $(SEC_READONLY)-im ; -+ /"System Folder/Apple Menu Items" -> $(SEC_READONLY)-im(recurse=0) ; -+ /"System Folder"/Clipboard -> $(SEC_DYNAMIC) ; -+ -+ !/"System Folder"/VolumeNameIconPict ; -+ -+} -+ -+ -+ -+ -+ ################################################### -+ # ## -+################################################### # -+# # # -+# User Home Directories # # -+# ## -+################################################### -+( -+ rulename = "Home Directories", severity=60 -+) -+{ -+ /Users -> $(SEC_READONLY)(recurse=0) ; # Modify as needed -+ -+ -+##### -+# -+# USER1 as defined at top of policy -+# -+##### -+ -+# /Users/$(USER1) -> $(SEC_READONLY)-mc ; -+# /Users/$(USER1)/Library/Preferences -> $(SEC_DYNAMIC)-i ; -+# "/Users/$(USER1)/Library/Recent Servers" -> $(SEC_DYNAMIC)-i ; -+# "/Users/$(USER1)/Library/Safari" -> $(SEC_DYNAMIC)-i(recurse=3) ; -+# "/Users/$(USER1)/Library/Spelling" -> $(SEC_DYNAMIC)-i ; -+# "/Users/$(USER1)/Library/Mail" -> $(SEC_DYNAMIC)-i(recurse=2) ; -+# "/Users/$(USER1)/Pictures/iPhoto Library" -> $(SEC_DYNAMIC)-i(recurse=1) ; -+# "/Users/$(USER1)/Library/Application Support" -> $(SEC_DYNAMIC)-im(recurse=2) ; -+# /Users/$(USER1)/Documents -> $(SEC_DYNAMIC)(recurse=0) ; -+# /Users/$(USER1)/Desktop -> $(SEC_DYNAMIC)(recurse=0) ; -+ -+ -+#!"/Users/$(USER1)/Documents/Virtual PC List" ; # These items are *huge*, and are of little value to scan. -+#!"/Users/$(USER1)/Library/Preferences/Microsoft/Clipboard" ; -+#!"/Users/$(USER1)/Library/Safari/Icons" ; -+#!"/Users/$(USER1)/Music/iTunes" ; -+#!"/Users/$(USER1)/Library/Caches" ; -+#!"/Users/$(USER1)/Library/Cookies" ; -+#!"/Users/$(USER1)/Library/Logs" ; -+#!"/Users/$(USER1)/Library/Folding@home" ; -+#!"/Users/$(USER1)/setiathome" ; -+#!"/Users/$(USER1)/Documents/seti-A" ; -+#!"/Users/$(USER1)/Documents/seti-B" ; -+#!"/Users/$(USER1)/.tcsh_history" ; -+#!"/Users/$(USER1)/.DS_Store" ; -+#!"/Users/$(USER1)/Public/.DS_Store" ; -+#!"/Users/$(USER1)/.jpi_cache" ; -+#!"/Users/$(USER1)/.lpoptions" ; -+#!"/Users/$(USER1)/.Trash" ; -+} -+ -+# -+# JTI -+# -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/policy/twpol-FreeBSD.txt tripwire-2.3.1-2/policy/twpol-FreeBSD.txt ---- tripwire-2.3.1-2.old/policy/twpol-FreeBSD.txt Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/policy/twpol-FreeBSD.txt Sat Jun 7 19:00:06 2003 -@@ -0,0 +1,655 @@ -+# -+# Policy file for FreeBSD -+# -+# $FreeBSD: ports/security/tripwire/files/twpol.txt,v 1.2 2002/03/04 16:55:21 cy Exp $ -+# $Id: twpol-FreeBSD.txt,v 1.1 2003/06/08 02:00:06 pherman Exp $ -+ -+# -+# This is the example Tripwire Policy file. It is intended as a place to -+# start creating your own custom Tripwire Policy file. Referring to it as -+# well as the Tripwire Policy Guide should give you enough information to -+# make a good custom Tripwire Policy file that better covers your -+# configuration and security needs. A text version of this policy file is -+# called twpol.txt. -+# -+# Note that this file is tuned to an install of FreeBSD using -+# buildworld. If run unmodified, this file should create no errors on -+# database creation, or violations on a subsiquent integrity check. -+# However it is impossible for there to be one policy file for all machines, -+# so this existing one errs on the side of security. Your FreeBSD -+# configuration will most likey differ from the one our policy file was -+# tuned to, and will therefore require some editing of the default -+# Tripwire Policy file. -+# -+# The example policy file is best run with 'Loose Directory Checking' -+# enabled. Set LOOSEDIRECTORYCHECKING=TRUE in the Tripwire Configuration -+# file. -+# -+# Email support is not included and must be added to this file. -+# Add the 'emailto=' to the rule directive section of each rule (add a comma -+# after the 'severity=' line and add an 'emailto=' and include the email -+# addresses you want the violation reports to go to). Addresses are -+# semi-colon delimited. -+# -+ -+ -+ -+# -+# Global Variable Definitions -+# -+# These are defined at install time by the installation script. You may -+# Manually edit these if you are using this file directly and not from the -+# installation script itself. -+# -+ -+@@section GLOBAL -+TWROOT=; -+TWBIN=; -+TWPOL=; -+TWDB=; -+TWSKEY=; -+TWLKEY=; -+TWREPORT=; -+HOSTNAME=; -+ -+@@section FS -+SEC_CRIT = $(IgnoreNone)-SHa ; # Critical files that cannot change -+SEC_SUID = $(IgnoreNone)-SHa ; # Binaries with the SUID or SGID flags set -+SEC_BIN = $(ReadOnly) ; # Binaries that should not change -+SEC_CONFIG = $(Dynamic) ; # Config files that are changed infrequently but accessed often -+SEC_TTY = $(Dynamic)-ugp ; # Tty files that change ownership at login -+SEC_LOG = $(Growing) ; # Files that grow, but that should never change ownership -+SEC_INVARIANT = +tpug ; # Directories that should never change permission or ownership -+SIG_LOW = 33 ; # Non-critical files that are of minimal security impact -+SIG_MED = 66 ; # Non-critical files that are of significant security impact -+SIG_HI = 100 ; # Critical files that are significant points of vulnerability -+ -+ -+# Tripwire Binaries -+( -+ rulename = "Tripwire Binaries", -+ severity = $(SIG_HI) -+) -+{ -+ $(TWBIN)/siggen -> $(SEC_BIN) ; -+ $(TWBIN)/tripwire -> $(SEC_BIN) ; -+ $(TWBIN)/twadmin -> $(SEC_BIN) ; -+ $(TWBIN)/twprint -> $(SEC_BIN) ; -+} -+ -+# Tripwire Data Files - Configuration Files, Policy Files, Keys, Reports, Databases -+( -+ rulename = "Tripwire Data Files", -+ severity = $(SIG_HI) -+) -+{ -+ # NOTE: We remove the inode attribute because when Tripwire creates a backup, -+ # it does so by renaming the old file and creating a new one (which will -+ # have a new inode number). Inode is left turned on for keys, which shouldn't -+ # ever change. -+ -+ # NOTE: The first integrity check triggers this rule and each integrity check -+ # afterward triggers this rule until a database update is run, since the -+ # database file does not exist before that point. -+ -+ $(TWDB) -> $(SEC_CONFIG) -i ; -+ $(TWPOL)/tw.pol -> $(SEC_BIN) -i ; -+ $(TWPOL)/tw.cfg -> $(SEC_BIN) -i ; -+ $(TWPOL)/twcfg.txt -> $(SEC_BIN) ; -+ $(TWPOL)/twpol.txt -> $(SEC_BIN) ; -+ $(TWLKEY)/$(HOSTNAME)-local.key -> $(SEC_BIN) ; -+ $(TWSKEY)/site.key -> $(SEC_BIN) ; -+ -+ #don't scan the individual reports -+ $(TWREPORT) -> $(SEC_CONFIG) (recurse=0) ; -+} -+ -+ -+# Tripwire HQ Connector Binaries -+#( -+# rulename = "Tripwire HQ Connector Binaries", -+# severity = $(SIG_HI) -+#) -+#{ -+# $(TWBIN)/hqagent -> $(SEC_BIN) ; -+#} -+# -+# Tripwire HQ Connector - Configuration Files, Keys, and Logs -+ -+# -+# Note: File locations here are different than in a stock HQ Connector -+# installation. This is because Tripwire 2.3 uses a different path -+# structure than Tripwire 2.2.1. -+# -+# You may need to update your HQ Agent configuation file (or this policy -+# file) to correct the paths. We have attempted to support the FHS standard -+# here by placing the HQ Agent files similarly to the way Tripwire 2.3 -+# places them. -+# -+ -+#( -+# rulename = "Tripwire HQ Connector Data Files", -+# severity = $(SIG_HI) -+#) -+#{ -+# -+# # NOTE: Removing the inode attribute because when Tripwire creates a backup -+# # it does so by renaming the old file and creating a new one (which will -+# # have a new inode number). Leaving inode turned on for keys, which -+# # shouldn't ever change. -+# -+# -+# $(TWBIN)/agent.cfg -> $(SEC_BIN) -i ; -+# $(TWLKEY)/authentication.key -> $(SEC_BIN) ; -+# $(TWDB)/tasks.dat -> $(SEC_CONFIG) ; -+# $(TWDB)/schedule.dat -> $(SEC_CONFIG) ; -+# -+# # Uncomment if you have agent logging enabled. -+# #/var/log/tripwire/agent.log -> $(SEC_LOG) ; -+#} -+ -+ -+ -+# Commonly accessed directories that should remain static with regards to owner and group -+( -+ rulename = "Invariant Directories", -+ severity = $(SIG_MED) -+) -+{ -+ / -> $(SEC_INVARIANT) (recurse = false) ; -+ /home -> $(SEC_INVARIANT) (recurse = false) ; -+} -+ -+# -+# First, root's "home" -+# -+ -+( -+ rulename = "Root's home", -+ severity = $(SIG_HI) -+) -+{ -+ # /.rhosts -> $(SEC_CRIT) ; -+ /.profile -> $(SEC_CRIT) ; -+ /.cshrc -> $(SEC_CRIT) ; -+ /.login -> $(SEC_CRIT) ; -+ # /.exrc -> $(SEC_CRIT) ; -+ # /.logout -> $(SEC_CRIT) ; -+ # /.forward -> $(SEC_CRIT) ; -+ /root -> $(SEC_CRIT) (recurse = true) ; -+ !/root/.history ; -+ !/root/.bash_history ; -+ # !/root/.lsof_SYSTEM_NAME ; # Uncomment if lsof is installed -+} -+ -+ -+# -+# FreeBSD Kernel -+# -+ -+( -+ rulename = "FreeBSD Kernel", -+ severity = $(SIG_HI) -+) -+{ -+ /kernel -> $(SEC_CRIT) ; -+ /kernel.old -> $(SEC_CRIT) ; -+ /kernel.GENERIC -> $(SEC_CRIT) ; -+} -+ -+ -+# -+# FreeBSD Modules -+# -+ -+( -+ rulename = "FreeBSD Modules", -+ severity = $(SIG_HI) -+) -+{ -+ /modules -> $(SEC_CRIT) (recurse = true) ; -+ /modules.old -> $(SEC_CRIT) (recurse = true) ; -+ # /lkm -> $(SEC_CRIT) (recurse = true) ; # uncomment if using lkm kld -+} -+ -+ -+# -+# System Administration Programs -+# -+ -+( -+ rulename = "System Administration Programs", -+ severity = $(SIG_HI) -+) -+{ -+ /sbin -> $(SEC_CRIT) (recurse = true) ; -+ /usr/sbin -> $(SEC_CRIT) (recurse = true) ; -+} -+ -+ -+# -+# User Utilities -+# -+ -+( -+ rulename = "User Utilities", -+ severity = $(SIG_HI) -+) -+{ -+ /bin -> $(SEC_CRIT) (recurse = true) ; -+ /usr/bin -> $(SEC_CRIT) (recurse = true) ; -+} -+ -+ -+# -+# /dev -+# -+ -+( -+ rulename = "/dev", -+ severity = $(SIG_HI) -+) -+{ -+ /dev -> $(Device) (recurse = true) ; -+ !/dev/vga ; -+ !/dev/dri ; -+ /dev/console -> $(SEC_TTY) ; -+ /dev/ttyv0 -> $(SEC_TTY) ; -+ /dev/ttyv1 -> $(SEC_TTY) ; -+ /dev/ttyv2 -> $(SEC_TTY) ; -+ /dev/ttyv3 -> $(SEC_TTY) ; -+ /dev/ttyv4 -> $(SEC_TTY) ; -+ /dev/ttyv5 -> $(SEC_TTY) ; -+ /dev/ttyv6 -> $(SEC_TTY) ; -+ /dev/ttyv7 -> $(SEC_TTY) ; -+ /dev/ttyp0 -> $(SEC_TTY) ; -+ /dev/ttyp1 -> $(SEC_TTY) ; -+ /dev/ttyp2 -> $(SEC_TTY) ; -+ /dev/ttyp3 -> $(SEC_TTY) ; -+ /dev/ttyp4 -> $(SEC_TTY) ; -+ /dev/ttyp5 -> $(SEC_TTY) ; -+ /dev/ttyp6 -> $(SEC_TTY) ; -+ /dev/ttyp7 -> $(SEC_TTY) ; -+ /dev/ttyp8 -> $(SEC_TTY) ; -+ /dev/ttyp9 -> $(SEC_TTY) ; -+ /dev/ttypa -> $(SEC_TTY) ; -+ /dev/ttypb -> $(SEC_TTY) ; -+ /dev/ttypc -> $(SEC_TTY) ; -+ /dev/ttypd -> $(SEC_TTY) ; -+ /dev/ttype -> $(SEC_TTY) ; -+ /dev/ttypf -> $(SEC_TTY) ; -+ /dev/ttypg -> $(SEC_TTY) ; -+ /dev/ttyph -> $(SEC_TTY) ; -+ /dev/ttypi -> $(SEC_TTY) ; -+ /dev/ttypj -> $(SEC_TTY) ; -+ /dev/ttypl -> $(SEC_TTY) ; -+ /dev/ttypm -> $(SEC_TTY) ; -+ /dev/ttypn -> $(SEC_TTY) ; -+ /dev/ttypo -> $(SEC_TTY) ; -+ /dev/ttypp -> $(SEC_TTY) ; -+ /dev/ttypq -> $(SEC_TTY) ; -+ /dev/ttypr -> $(SEC_TTY) ; -+ /dev/ttyps -> $(SEC_TTY) ; -+ /dev/ttypt -> $(SEC_TTY) ; -+ /dev/ttypu -> $(SEC_TTY) ; -+ /dev/ttypv -> $(SEC_TTY) ; -+ /dev/cuaa0 -> $(SEC_TTY) ; # modem -+} -+ -+ -+# -+# /etc -+# -+ -+( -+ rulename = "/etc", -+ severity = $(SIG_HI) -+) -+{ -+ /etc -> $(SEC_CRIT) (recurse = true) ; -+ # /etc/mail/aliases -> $(SEC_CONFIG) ; -+ /etc/dumpdates -> $(SEC_CONFIG) ; -+ /etc/motd -> $(SEC_CONFIG) ; -+ !/etc/ppp/connect-errors ; -+ /etc/skeykeys -> $(SEC_CONFIG) ; -+ # Uncomment the following 4 lines if your password file does not change -+ # /etc/passwd -> $(SEC_CONFIG) ; -+ # /etc/master.passwd -> $(SEC_CONFIG) ; -+ # /etc/pwd.db -> $(SEC_CONFIG) ; -+ # /etc/spwd.db -> $(SEC_CONFIG) ; -+} -+ -+ -+# -+# Copatibility (Linux) -+# -+ -+( -+ rulename = "Linux Compatibility", -+ severity = $(SIG_HI) -+) -+{ -+ /compat -> $(SEC_CRIT) (recurse = true) ; -+# -+# Uncomment the following if Linux compatibility is used. Replace -+# HOSTNAME1 and HOSTNAME2 with the hosts that have Linux emulation port -+# installed. -+# -+#@@ifhost HOSTNAME1 || HOSTNAME2 -+# /compat/linux/etc -> $(SEC_INVARIANT) (recurse = false) ; -+# /compat/linux/etc/X11 -> $(SEC_CONFIG) (recurse = true) ; -+# /compat/linux/etc/pam.d -> $(SEC_CONFIG) (recurse = true) ; -+# /compat/linux/etc/profile.d -> $(SEC_CONFIG) (recurse = true) ; -+# /compat/linux/etc/real -> $(SEC_CONFIG) (recurse = true) ; -+# /compat/linux/etc/bashrc -> $(SEC_CONFIG) ; -+# /compat/linux/etc/csh.login -> $(SEC_CONFIG) ; -+# /compat/linux/etc/host.conf -> $(SEC_CONFIG) ; -+# /compat/linux/etc/hosts.allow -> $(SEC_CONFIG) ; -+# /compat/linux/etc/hosts.deny -> $(SEC_CONFIG) ; -+# /compat/linux/etc/info-dir -> $(SEC_CONFIG) ; -+# /compat/linux/etc/inputrc -> $(SEC_CONFIG) ; -+# /compat/linux/etc/ld.so.conf -> $(SEC_CONFIG) ; -+# /compat/linux/etc/nsswitch.conf -> $(SEC_CONFIG) ; -+# /compat/linux/etc/profile -> $(SEC_CONFIG) ; -+# /compat/linux/etc/redhat-release -> $(SEC_CONFIG) ; -+# /compat/linux/etc/rpc -> $(SEC_CONFIG) ; -+# /compat/linux/etc/securetty -> $(SEC_CONFIG) ; -+# /compat/linux/etc/shells -> $(SEC_CONFIG) ; -+# /compat/linux/etc/termcap -> $(SEC_CONFIG) ; -+# /compat/linux/etc/yp.conf -> $(SEC_CONFIG) ; -+# !/compat/linux/etc/ld.so.cache ; -+# !/compat/linux/var/spool/mail ; -+#@@endif -+} -+ -+ -+# -+# Libraries, include files, and other system files -+# -+ -+( -+ rulename = "Libraries, include files, and other system files", -+ severity = $(SIG_HI) -+) -+{ -+ /usr/include -> $(SEC_CRIT) (recurse = true) ; -+ /usr/lib -> $(SEC_CRIT) (recurse = true) ; -+ /usr/libdata -> $(SEC_CRIT) (recurse = true) ; -+ /usr/libexec -> $(SEC_CRIT) (recurse = true) ; -+ /usr/share -> $(SEC_CRIT) (recurse = true) ; -+ /usr/share/man -> $(SEC_CONFIG) ; -+ !/usr/share/man/whatis ; -+ !/usr/share/man/.glimpse_filenames ; -+ !/usr/share/man/.glimpse_filenames_index ; -+ !/usr/share/man/.glimpse_filetimes ; -+ !/usr/share/man/.glimpse_filters ; -+ !/usr/share/man/.glimpse_index ; -+ !/usr/share/man/.glimpse_messages ; -+ !/usr/share/man/.glimpse_partitions ; -+ !/usr/share/man/.glimpse_statistics ; -+ !/usr/share/man/.glimpse_turbo ; -+ /usr/share/man/man1 -> $(SEC_CRIT) (recurse = true) ; -+ /usr/share/man/man2 -> $(SEC_CRIT) (recurse = true) ; -+ /usr/share/man/man3 -> $(SEC_CRIT) (recurse = true) ; -+ /usr/share/man/man4 -> $(SEC_CRIT) (recurse = true) ; -+ /usr/share/man/man5 -> $(SEC_CRIT) (recurse = true) ; -+ /usr/share/man/man6 -> $(SEC_CRIT) (recurse = true) ; -+ /usr/share/man/man7 -> $(SEC_CRIT) (recurse = true) ; -+ /usr/share/man/man8 -> $(SEC_CRIT) (recurse = true) ; -+ /usr/share/man/man9 -> $(SEC_CRIT) (recurse = true) ; -+ /usr/share/man/mann -> $(SEC_CRIT) (recurse = true) ; -+ ! /usr/share/man/cat1 ; -+ ! /usr/share/man/cat2 ; -+ ! /usr/share/man/cat3 ; -+ ! /usr/share/man/cat4 ; -+ ! /usr/share/man/cat5 ; -+ ! /usr/share/man/cat6 ; -+ ! /usr/share/man/cat7 ; -+ ! /usr/share/man/cat8 ; -+ ! /usr/share/man/cat9 ; -+ ! /usr/share/man/catl ; -+ ! /usr/share/man/catn ; -+ /usr/share/perl/man -> $(SEC_CONFIG) ; -+ !/usr/share/perl/man/whatis ; -+ !/usr/share/perl/man/.glimpse_filenames ; -+ !/usr/share/perl/man/.glimpse_filenames_index ; -+ !/usr/share/perl/man/.glimpse_filetimes ; -+ !/usr/share/perl/man/.glimpse_filters ; -+ !/usr/share/perl/man/.glimpse_index ; -+ !/usr/share/perl/man/.glimpse_messages ; -+ !/usr/share/perl/man/.glimpse_partitions ; -+ !/usr/share/perl/man/.glimpse_statistics ; -+ !/usr/share/perl/man/.glimpse_turbo ; -+ /usr/share/perl/man/man3 -> $(SEC_CRIT) (recurse = true) ; -+ ! /usr/share/perl/man/cat3 ; -+ /usr/local/lib/perl5/5.00503/man -> $(SEC_CONFIG) ; -+ ! /usr/local/lib/perl5/5.00503/man/whatis ; -+ ! /usr/local/lib/perl5/5.00503/man/.glimpse_filters ; -+ ! /usr/local/lib/perl5/5.00503/man/.glimpse_filetimes ; -+ ! /usr/local/lib/perl5/5.00503/man/.glimpse_messages ; -+ ! /usr/local/lib/perl5/5.00503/man/.glimpse_statistics ; -+ ! /usr/local/lib/perl5/5.00503/man/.glimpse_index ; -+ ! /usr/local/lib/perl5/5.00503/man/.glimpse_turbo ; -+ ! /usr/local/lib/perl5/5.00503/man/.glimpse_partitions ; -+ ! /usr/local/lib/perl5/5.00503/man/.glimpse_filenames ; -+ ! /usr/local/lib/perl5/5.00503/man/.glimpse_filenames_index ; -+ /usr/local/lib/perl5/5.00503/man/man3 -> $(SEC_CRIT) (recurse = true) ; -+ ! /usr/local/lib/perl5/5.00503/man/cat3 ; -+} -+ -+ -+# -+# X11R6 -+# -+ -+( -+ rulename = "X11R6", -+ severity = $(SIG_HI) -+) -+{ -+ /usr/X11R6 -> $(SEC_CRIT) (recurse = true) ; -+ /usr/X11R6/lib/X11/xdm -> $(SEC_CONFIG) (recurse = true) ; -+ !/usr/X11R6/lib/X11/xdm/xdm-errors ; -+ !/usr/X11R6/lib/X11/xdm/authdir/authfiles ; -+ !/usr/X11R6/lib/X11/xdm/xdm-pid ; -+ /usr/X11R6/lib/X11/xkb/compiled -> $(SEC_CONFIG) (recurse = true) ; -+ /usr/X11R6/man -> $(SEC_CONFIG) ; -+ !/usr/X11R6/man/whatis ; -+ !/usr/X11R6/man/.glimpse_filenames ; -+ !/usr/X11R6/man/.glimpse_filenames_index ; -+ !/usr/X11R6/man/.glimpse_filetimes ; -+ !/usr/X11R6/man/.glimpse_filters ; -+ !/usr/X11R6/man/.glimpse_index ; -+ !/usr/X11R6/man/.glimpse_messages ; -+ !/usr/X11R6/man/.glimpse_partitions ; -+ !/usr/X11R6/man/.glimpse_statistics ; -+ !/usr/X11R6/man/.glimpse_turbo ; -+ /usr/X11R6/man/man1 -> $(SEC_CRIT) (recurse = true) ; -+ /usr/X11R6/man/man2 -> $(SEC_CRIT) (recurse = true) ; -+ /usr/X11R6/man/man3 -> $(SEC_CRIT) (recurse = true) ; -+ /usr/X11R6/man/man4 -> $(SEC_CRIT) (recurse = true) ; -+ /usr/X11R6/man/man5 -> $(SEC_CRIT) (recurse = true) ; -+ /usr/X11R6/man/man6 -> $(SEC_CRIT) (recurse = true) ; -+ /usr/X11R6/man/man7 -> $(SEC_CRIT) (recurse = true) ; -+ /usr/X11R6/man/man8 -> $(SEC_CRIT) (recurse = true) ; -+ /usr/X11R6/man/man9 -> $(SEC_CRIT) (recurse = true) ; -+ /usr/X11R6/man/manl -> $(SEC_CRIT) (recurse = true) ; -+ /usr/X11R6/man/mann -> $(SEC_CRIT) (recurse = true) ; -+ ! /usr/X11R6/man/cat1 ; -+ ! /usr/X11R6/man/cat2 ; -+ ! /usr/X11R6/man/cat3 ; -+ ! /usr/X11R6/man/cat4 ; -+ ! /usr/X11R6/man/cat5 ; -+ ! /usr/X11R6/man/cat6 ; -+ ! /usr/X11R6/man/cat7 ; -+ ! /usr/X11R6/man/cat8 ; -+ ! /usr/X11R6/man/cat9 ; -+ ! /usr/X11R6/man/catl ; -+ ! /usr/X11R6/man/catn ; -+} -+ -+ -+# -+# sources -+# -+ -+( -+ rulename = "Sources", -+ severity = $(SIG_HI) -+) -+{ -+ /usr/src -> $(SEC_CRIT) (recurse = true) ; -+ /usr/src/sys/compile -> $(SEC_CONFIG) (recurse = false) ; -+} -+ -+ -+# -+# NIS -+# -+ -+( -+ rulename = "NIS", -+ severity = $(SIG_HI) -+) -+{ -+ /var/yp -> $(SEC_CRIT) (recurse = true) ; -+ !/var/yp/binding ; -+} -+ -+ -+# -+# Temporary directories -+# -+( -+ rulename = "Temporary directories", -+ recurse = false, -+ severity = $(SIG_LOW) -+) -+{ -+ /usr/tmp -> $(SEC_INVARIANT) ; -+ /var/tmp -> $(SEC_INVARIANT) ; -+ /var/preserve -> $(SEC_INVARIANT) ; -+ /tmp -> $(SEC_INVARIANT) ; -+} -+ -+# -+# Local files -+# -+ -+( -+ rulename = "Local files", -+ severity = $(SIG_MED) -+) -+{ -+ /usr/local/bin -> $(SEC_BIN) (recurse = true) ; -+ /usr/local/sbin -> $(SEC_BIN) (recurse = true) ; -+ /usr/local/etc -> $(SEC_BIN) (recurse = true) ; -+ /usr/local/lib -> $(SEC_BIN) (recurse = true ) ; -+ /usr/local/libexec -> $(SEC_BIN) (recurse = true ) ; -+ /usr/local/share -> $(SEC_BIN) (recurse = true ) ; -+ /usr/local/man -> $(SEC_CONFIG) ; -+ !/usr/local/man/whatis ; -+ !/usr/local/man/.glimpse_filenames ; -+ !/usr/local/man/.glimpse_filenames_index ; -+ !/usr/local/man/.glimpse_filetimes ; -+ !/usr/local/man/.glimpse_filters ; -+ !/usr/local/man/.glimpse_index ; -+ !/usr/local/man/.glimpse_messages ; -+ !/usr/local/man/.glimpse_partitions ; -+ !/usr/local/man/.glimpse_statistics ; -+ !/usr/local/man/.glimpse_turbo ; -+ /usr/local/man/man1 -> $(SEC_CRIT) (recurse = true) ; -+ /usr/local/man/man2 -> $(SEC_CRIT) (recurse = true) ; -+ /usr/local/man/man3 -> $(SEC_CRIT) (recurse = true) ; -+ /usr/local/man/man4 -> $(SEC_CRIT) (recurse = true) ; -+ /usr/local/man/man5 -> $(SEC_CRIT) (recurse = true) ; -+ /usr/local/man/man6 -> $(SEC_CRIT) (recurse = true) ; -+ /usr/local/man/man7 -> $(SEC_CRIT) (recurse = true) ; -+ /usr/local/man/man8 -> $(SEC_CRIT) (recurse = true) ; -+ /usr/local/man/man9 -> $(SEC_CRIT) (recurse = true) ; -+ /usr/local/man/manl -> $(SEC_CRIT) (recurse = true) ; -+ /usr/local/man/mann -> $(SEC_CRIT) (recurse = true) ; -+ ! /usr/local/man/cat1 ; -+ ! /usr/local/man/cat2 ; -+ ! /usr/local/man/cat3 ; -+ ! /usr/local/man/cat4 ; -+ ! /usr/local/man/cat5 ; -+ ! /usr/local/man/cat6 ; -+ ! /usr/local/man/cat7 ; -+ ! /usr/local/man/cat8 ; -+ ! /usr/local/man/cat9 ; -+ ! /usr/local/man/catl ; -+ ! /usr/local/man/catn ; -+ /usr/local/krb5 -> $(SEC_CRIT) (recurse = true) ; -+ /usr/local/krb5/man -> $(SEC_CONFIG) ; -+ !/usr/local/krb5/man/whatis ; -+ !/usr/local/krb5/man/.glimpse_filenames ; -+ !/usr/local/krb5/man/.glimpse_filenames_index ; -+ !/usr/local/krb5/man/.glimpse_filetimes ; -+ !/usr/local/krb5/man/.glimpse_filters ; -+ !/usr/local/krb5/man/.glimpse_index ; -+ !/usr/local/krb5/man/.glimpse_messages ; -+ !/usr/local/krb5/man/.glimpse_partitions ; -+ !/usr/local/krb5/man/.glimpse_statistics ; -+ !/usr/local/krb5/man/.glimpse_turbo ; -+ /usr/local/krb5/man/man1 -> $(SEC_CRIT) (recurse = true) ; -+ /usr/local/krb5/man/man2 -> $(SEC_CRIT) (recurse = true) ; -+ /usr/local/krb5/man/man3 -> $(SEC_CRIT) (recurse = true) ; -+ /usr/local/krb5/man/man4 -> $(SEC_CRIT) (recurse = true) ; -+ /usr/local/krb5/man/man5 -> $(SEC_CRIT) (recurse = true) ; -+ /usr/local/krb5/man/man6 -> $(SEC_CRIT) (recurse = true) ; -+ /usr/local/krb5/man/man7 -> $(SEC_CRIT) (recurse = true) ; -+ /usr/local/krb5/man/man8 -> $(SEC_CRIT) (recurse = true) ; -+ /usr/local/krb5/man/man9 -> $(SEC_CRIT) (recurse = true) ; -+ /usr/local/krb5/man/manl -> $(SEC_CRIT) (recurse = true) ; -+ /usr/local/krb5/man/mann -> $(SEC_CRIT) (recurse = true) ; -+ ! /usr/local/krb5/man/cat1 ; -+ ! /usr/local/krb5/man/cat2 ; -+ ! /usr/local/krb5/man/cat3 ; -+ ! /usr/local/krb5/man/cat4 ; -+ ! /usr/local/krb5/man/cat5 ; -+ ! /usr/local/krb5/man/cat6 ; -+ ! /usr/local/krb5/man/cat7 ; -+ ! /usr/local/krb5/man/cat8 ; -+ ! /usr/local/krb5/man/cat9 ; -+ ! /usr/local/krb5/man/catl ; -+ ! /usr/local/krb5/man/catn ; -+ /usr/local/www -> $(SEC_CONFIG) (recurse = true) ; -+} -+ -+ -+( -+ rulename = "Security Control", -+ severity = $(SIG_HI) -+) -+{ -+ /etc/group -> $(SEC_CRIT) ; -+ /etc/crontab -> $(SEC_CRIT) ; -+} -+ -+#============================================================================= -+# -+# Copyright 2000 Tripwire, Inc. Tripwire is a registered trademark of Tripwire, -+# Inc. in the United States and other countries. All rights reserved. -+# -+# FreeBSD is a registered trademark of the FreeBSD Project Inc. -+# -+# UNIX is a registered trademark of The Open Group. -+# -+#============================================================================= -+# -+# Permission is granted to make and distribute verbatim copies of this document -+# provided the copyright notice and this permission notice are preserved on all -+# copies. -+# -+# Permission is granted to copy and distribute modified versions of this -+# document under the conditions for verbatim copying, provided that the entire -+# resulting derived work is distributed under the terms of a permission notice -+# identical to this one. -+# -+# Permission is granted to copy and distribute translations of this document -+# into another language, under the above conditions for modified versions, -+# except that this permission notice may be stated in a translation approved by -+# Tripwire, Inc. -+# -+# DCM -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/policy/twpol-GENERIC.txt tripwire-2.3.1-2/policy/twpol-GENERIC.txt ---- tripwire-2.3.1-2.old/policy/twpol-GENERIC.txt Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/policy/twpol-GENERIC.txt Sat Jun 7 19:00:06 2003 -@@ -0,0 +1,1107 @@ -+ ############################################################################## -+ # ## -+############################################################################## # -+# # # -+# Generic Policy file # # -+# V1.2.0rh # # -+# August 9, 2001 # # -+# ## -+############################################################################## -+ -+ -+ ############################################################################## -+ # ## -+############################################################################## # -+# # # -+# This is the example Tripwire Policy file. It is intended as a place to # # -+# start creating your own custom Tripwire Policy file. Referring to it as # # -+# well as the Tripwire Policy Guide should give you enough information to # # -+# make a good custom Tripwire Policy file that better covers your # # -+# configuration and security needs. A text version of this policy file is # # -+# called twpol.txt. # # -+# # # -+# Note that this file is tuned to an 'everything' install of Red Hat Linux. # # -+# If run unmodified, this file should create no errors on database # # -+# creation, or violations on a subsiquent integrity check. However, it is # # -+# impossible for there to be one policy file for all machines, so this # # -+# existing one errs on the side of security. Your Linux configuration will # # -+# most likey differ from the one our policy file was tuned to, and will # # -+# therefore require some editing of the default Tripwire Policy file. # # -+# # # -+# The example policy file is best run with 'Loose Directory Checking' # # -+# enabled. Set LOOSEDIRECTORYCHECKING=TRUE in the Tripwire Configuration # # -+# file. # # -+# # # -+# Email support is not included and must be added to this file. # # -+# Add the 'emailto=' to the rule directive section of each rule (add a comma # # -+# after the 'severity=' line and add an 'emailto=' and include the email # # -+# addresses you want the violation reports to go to). Addresses are # # -+# semi-colon delimited. # # -+# ## -+############################################################################## -+ -+ -+ -+ ############################################################################## -+ # ## -+############################################################################## # -+# # # -+# Global Variable Definitions # # -+# # # -+# These are defined at install time by the installation script. You may # # -+# Manually edit these if you are using this file directly and not from the # # -+# installation script itself. # # -+# ## -+############################################################################## -+ -+@@section GLOBAL -+TWROOT=; -+TWBIN=; -+TWPOL=; -+TWDB=; -+TWSKEY=; -+TWLKEY=; -+TWREPORT=; -+HOSTNAME=; -+ -+@@section FS -+SEC_CRIT = $(IgnoreNone)-SHa ; # Critical files that cannot change -+SEC_SUID = $(IgnoreNone)-SHa ; # Binaries with the SUID or SGID flags set -+SEC_BIN = $(ReadOnly) ; # Binaries that should not change -+SEC_CONFIG = $(Dynamic) ; # Config files that are changed infrequently but accessed often -+SEC_LOG = $(Growing) ; # Files that grow, but that should never change ownership -+SEC_INVARIANT = +tpug ; # Directories that should never change permission or ownership -+SIG_LOW = 33 ; # Non-critical files that are of minimal security impact -+SIG_MED = 66 ; # Non-critical files that are of significant security impact -+SIG_HI = 100 ; # Critical files that are significant points of vulnerability -+ -+ -+# Tripwire Binaries -+( -+ rulename = "Tripwire Binaries", -+ severity = $(SIG_HI) -+) -+{ -+ $(TWBIN)/siggen -> $(SEC_BIN) ; -+ $(TWBIN)/tripwire -> $(SEC_BIN) ; -+ $(TWBIN)/twadmin -> $(SEC_BIN) ; -+ $(TWBIN)/twprint -> $(SEC_BIN) ; -+} -+ -+# Tripwire Data Files - Configuration Files, Policy Files, Keys, Reports, Databases -+( -+ rulename = "Tripwire Data Files", -+ severity = $(SIG_HI) -+) -+{ -+ # NOTE: We remove the inode attribute because when Tripwire creates a backup, -+ # it does so by renaming the old file and creating a new one (which will -+ # have a new inode number). Inode is left turned on for keys, which shouldn't -+ # ever change. -+ -+ # NOTE: The first integrity check triggers this rule and each integrity check -+ # afterward triggers this rule until a database update is run, since the -+ # database file does not exist before that point. -+ -+ $(TWDB) -> $(SEC_CONFIG) -i ; -+ $(TWPOL)/tw.pol -> $(SEC_BIN) -i ; -+ $(TWPOL)/tw.cfg -> $(SEC_BIN) -i ; -+ $(TWLKEY)/$(HOSTNAME)-local.key -> $(SEC_BIN) ; -+ $(TWSKEY)/site.key -> $(SEC_BIN) ; -+ -+ #don't scan the individual reports -+ $(TWREPORT) -> $(SEC_CONFIG) (recurse=0) ; -+} -+ -+ -+# Tripwire HQ Connector Binaries -+#( -+# rulename = "Tripwire HQ Connector Binaries", -+# severity = $(SIG_HI) -+#) -+#{ -+# $(TWBIN)/hqagent -> $(SEC_BIN) ; -+#} -+# -+# Tripwire HQ Connector - Configuration Files, Keys, and Logs -+ -+ ############################################################################## -+ # ## -+############################################################################## # -+# # # -+# Note: File locations here are different than in a stock HQ Connector # # -+# installation. This is because Tripwire 2.3 uses a different path # # -+# structure than Tripwire 2.2.1. # # -+# # # -+# You may need to update your HQ Agent configuation file (or this policy # # -+# file) to correct the paths. We have attempted to support the FHS standard # # -+# here by placing the HQ Agent files similarly to the way Tripwire 2.3 # # -+# places them. # # -+# ## -+############################################################################## -+ -+#( -+# rulename = "Tripwire HQ Connector Data Files", -+# severity = $(SIG_HI) -+#) -+#{ -+# ############################################################################# -+# ############################################################################## -+# # NOTE: Removing the inode attribute because when Tripwire creates a backup ## -+# # it does so by renaming the old file and creating a new one (which will ## -+# # have a new inode number). Leaving inode turned on for keys, which ## -+# # shouldn't ever change. ## -+# ############################################################################# -+# -+# $(TWBIN)/agent.cfg -> $(SEC_BIN) -i ; -+# $(TWLKEY)/authentication.key -> $(SEC_BIN) ; -+# $(TWDB)/tasks.dat -> $(SEC_CONFIG) ; -+# $(TWDB)/schedule.dat -> $(SEC_CONFIG) ; -+# -+# # Uncomment if you have agent logging enabled. -+# #/var/log/tripwire/agent.log -> $(SEC_LOG) ; -+#} -+ -+ -+ -+# Commonly accessed directories that should remain static with regards to owner and group -+( -+ rulename = "Invariant Directories", -+ severity = $(SIG_MED) -+) -+{ -+ / -> $(SEC_INVARIANT) (recurse = 0) ; -+ /home -> $(SEC_INVARIANT) (recurse = 0) ; -+ /etc -> $(SEC_INVARIANT) (recurse = 0) ; -+} -+ ################################################ -+ # ## -+################################################ # -+# # # -+# File System and Disk Administration Programs # # -+# ## -+################################################ -+ -+( -+ rulename = "File System and Disk Administraton Programs", -+ severity = $(SIG_HI) -+) -+{ -+ /sbin/accton -> $(SEC_CRIT) ; -+ /sbin/badblocks -> $(SEC_CRIT) ; -+ /sbin/busybox -> $(SEC_CRIT) ; -+ /sbin/busybox.anaconda -> $(SEC_CRIT) ; -+ /sbin/convertquota -> $(SEC_CRIT) ; -+ /sbin/dosfsck -> $(SEC_CRIT) ; -+ /sbin/debugfs -> $(SEC_CRIT) ; -+ /sbin/debugreiserfs -> $(SEC_CRIT) ; -+ /sbin/dumpe2fs -> $(SEC_CRIT) ; -+ /sbin/dump -> $(SEC_CRIT) ; -+ /sbin/dump.static -> $(SEC_CRIT) ; -+ # /sbin/e2fsadm -> $(SEC_CRIT) ; tune2fs? -+ /sbin/e2fsck -> $(SEC_CRIT) ; -+ /sbin/e2label -> $(SEC_CRIT) ; -+ /sbin/fdisk -> $(SEC_CRIT) ; -+ /sbin/fsck -> $(SEC_CRIT) ; -+ /sbin/fsck.ext2 -> $(SEC_CRIT) ; -+ /sbin/fsck.ext3 -> $(SEC_CRIT) ; -+ /sbin/fsck.minix -> $(SEC_CRIT) ; -+ /sbin/fsck.msdos -> $(SEC_CRIT) ; -+ /sbin/fsck.vfat -> $(SEC_CRIT) ; -+ /sbin/ftl_check -> $(SEC_CRIT) ; -+ /sbin/ftl_format -> $(SEC_CRIT) ; -+ /sbin/hdparm -> $(SEC_CRIT) ; -+ #/sbin/lvchange -> $(SEC_CRIT) ; -+ #/sbin/lvcreate -> $(SEC_CRIT) ; -+ #/sbin/lvdisplay -> $(SEC_CRIT) ; -+ #/sbin/lvextend -> $(SEC_CRIT) ; -+ #/sbin/lvmchange -> $(SEC_CRIT) ; -+ #/sbin/lvmcreate_initrd -> $(SEC_CRIT) ; -+ #/sbin/lvmdiskscan -> $(SEC_CRIT) ; -+ #/sbin/lvmsadc -> $(SEC_CRIT) ; -+ #/sbin/lvmsar -> $(SEC_CRIT) ; -+ #/sbin/lvreduce -> $(SEC_CRIT) ; -+ #/sbin/lvremove -> $(SEC_CRIT) ; -+ #/sbin/lvrename -> $(SEC_CRIT) ; -+ #/sbin/lvscan -> $(SEC_CRIT) ; -+ /sbin/mkbootdisk -> $(SEC_CRIT) ; -+ /sbin/mkdosfs -> $(SEC_CRIT) ; -+ /sbin/mke2fs -> $(SEC_CRIT) ; -+ /sbin/mkfs -> $(SEC_CRIT) ; -+ /sbin/mkfs.bfs -> $(SEC_CRIT) ; -+ /sbin/mkfs.ext2 -> $(SEC_CRIT) ; -+ /sbin/mkfs.minix -> $(SEC_CRIT) ; -+ /sbin/mkfs.msdos -> $(SEC_CRIT) ; -+ /sbin/mkfs.vfat -> $(SEC_CRIT) ; -+ /sbin/mkinitrd -> $(SEC_CRIT) ; -+ #/sbin/mkpv -> $(SEC_CRIT) ; -+ /sbin/mkraid -> $(SEC_CRIT) ; -+ /sbin/mkreiserfs -> $(SEC_CRIT) ; -+ /sbin/mkswap -> $(SEC_CRIT) ; -+ #/sbin/mtx -> $(SEC_CRIT) ; -+ /sbin/pam_console_apply -> $(SEC_CRIT) ; -+ /sbin/parted -> $(SEC_CRIT) ; -+ /sbin/pcinitrd -> $(SEC_CRIT) ; -+ #/sbin/pvchange -> $(SEC_CRIT) ; -+ #/sbin/pvcreate -> $(SEC_CRIT) ; -+ #/sbin/pvdata -> $(SEC_CRIT) ; -+ #/sbin/pvdisplay -> $(SEC_CRIT) ; -+ #/sbin/pvmove -> $(SEC_CRIT) ; -+ #/sbin/pvscan -> $(SEC_CRIT) ; -+ /sbin/quotacheck -> $(SEC_CRIT) ; -+ /sbin/quotaon -> $(SEC_CRIT) ; -+ /sbin/raidstart -> $(SEC_CRIT) ; -+ /sbin/reiserfsck -> $(SEC_CRIT) ; -+ /sbin/resize2fs -> $(SEC_CRIT) ; -+ /sbin/resize_reiserfs -> $(SEC_CRIT) ; -+ /sbin/restore -> $(SEC_CRIT) ; -+ /sbin/restore.static -> $(SEC_CRIT) ; -+ /sbin/scsi_info -> $(SEC_CRIT) ; -+ /sbin/sfdisk -> $(SEC_CRIT) ; -+ /sbin/stinit -> $(SEC_CRIT) ; -+ #/sbin/tapeinfo -> $(SEC_CRIT) ; -+ /sbin/tune2fs -> $(SEC_CRIT) ; -+ /sbin/unpack -> $(SEC_CRIT) ; -+ /sbin/update -> $(SEC_CRIT) ; -+ #/sbin/vgcfgbackup -> $(SEC_CRIT) ; -+ #/sbin/vgcfgrestore -> $(SEC_CRIT) ; -+ #/sbin/vgchange -> $(SEC_CRIT) ; -+ #/sbin/vgck -> $(SEC_CRIT) ; -+ #/sbin/vgcreate -> $(SEC_CRIT) ; -+ #/sbin/vgdisplay -> $(SEC_CRIT) ; -+ #/sbin/vgexport -> $(SEC_CRIT) ; -+ #/sbin/vgextend -> $(SEC_CRIT) ; -+ #/sbin/vgimport -> $(SEC_CRIT) ; -+ #/sbin/vgmerge -> $(SEC_CRIT) ; -+ #/sbin/vgmknodes -> $(SEC_CRIT) ; -+ #/sbin/vgreduce -> $(SEC_CRIT) ; -+ #/sbin/vgremove -> $(SEC_CRIT) ; -+ #/sbin/vgrename -> $(SEC_CRIT) ; -+ #/sbin/vgscan -> $(SEC_CRIT) ; -+ #/sbin/vgsplit -> $(SEC_CRIT) ; -+ /bin/chgrp -> $(SEC_CRIT) ; -+ /bin/chmod -> $(SEC_CRIT) ; -+ /bin/chown -> $(SEC_CRIT) ; -+ /bin/cp -> $(SEC_CRIT) ; -+ /bin/cpio -> $(SEC_CRIT) ; -+ /bin/mount -> $(SEC_CRIT) ; -+ /bin/umount -> $(SEC_CRIT) ; -+ /bin/mkdir -> $(SEC_CRIT) ; -+ /bin/mknod -> $(SEC_CRIT) ; -+ /bin/mktemp -> $(SEC_CRIT) ; -+ /bin/rm -> $(SEC_CRIT) ; -+ /bin/rmdir -> $(SEC_CRIT) ; -+ /bin/touch -> $(SEC_CRIT) ; -+} -+ -+ ################################## -+ # ## -+################################## # -+# # # -+# Kernel Administration Programs # # -+# ## -+################################## -+ -+( -+ rulename = "Kernel Administration Programs", -+ severity = $(SIG_HI) -+) -+{ -+ /sbin/adjtimex -> $(SEC_CRIT) ; -+ /sbin/ctrlaltdel -> $(SEC_CRIT) ; -+ /sbin/depmod -> $(SEC_CRIT) ; -+ /sbin/insmod -> $(SEC_CRIT) ; -+ /sbin/insmod.static -> $(SEC_CRIT) ; -+ /sbin/insmod_ksymoops_clean -> $(SEC_CRIT) ; -+ /sbin/klogd -> $(SEC_CRIT) ; -+ /sbin/ldconfig -> $(SEC_CRIT) ; -+ /sbin/minilogd -> $(SEC_CRIT) ; -+ /sbin/modinfo -> $(SEC_CRIT) ; -+ #/sbin/nuactlun -> $(SEC_CRIT) ; -+ #/sbin/nuscsitcpd -> $(SEC_CRIT) ; -+ /sbin/pivot_root -> $(SEC_CRIT) ; -+ /sbin/sndconfig -> $(SEC_CRIT) ; -+ /sbin/sysctl -> $(SEC_CRIT) ; -+} -+ -+ ####################### -+ # ## -+####################### # -+# # # -+# Networking Programs # # -+# ## -+####################### -+ -+( -+ rulename = "Networking Programs", -+ severity = $(SIG_HI) -+) -+{ -+ /etc/sysconfig/network-scripts/ifdown -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/ifdown-cipcb -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/ifdown-ippp -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/ifdown-ipv6 -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/ifdown-isdn -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/ifdown-post -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/ifdown-ppp -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/ifdown-sit -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/ifdown-sl -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/ifup -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/ifup-aliases -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/ifup-cipcb -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/ifup-ippp -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/ifup-ipv6 -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/ifup-isdn -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/ifup-plip -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/ifup-plusb -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/ifup-post -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/ifup-ppp -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/ifup-routes -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/ifup-sit -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/ifup-sl -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/ifup-wireless -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/network-functions -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/network-functions-ipv6 -> $(SEC_CRIT) ; -+ /bin/ping -> $(SEC_CRIT) ; -+ /sbin/agetty -> $(SEC_CRIT) ; -+ /sbin/arp -> $(SEC_CRIT) ; -+ /sbin/arping -> $(SEC_CRIT) ; -+ /sbin/dhcpcd -> $(SEC_CRIT) ; -+ /sbin/ether-wake -> $(SEC_CRIT) ; -+ #/sbin/getty -> $(SEC_CRIT) ; -+ /sbin/ifcfg -> $(SEC_CRIT) ; -+ /sbin/ifconfig -> $(SEC_CRIT) ; -+ /sbin/ifdown -> $(SEC_CRIT) ; -+ /sbin/ifenslave -> $(SEC_CRIT) ; -+ /sbin/ifport -> $(SEC_CRIT) ; -+ /sbin/ifup -> $(SEC_CRIT) ; -+ /sbin/ifuser -> $(SEC_CRIT) ; -+ /sbin/ip -> $(SEC_CRIT) ; -+ /sbin/ip6tables -> $(SEC_CRIT) ; -+ /sbin/ipchains -> $(SEC_CRIT) ; -+ /sbin/ipchains-restore -> $(SEC_CRIT) ; -+ /sbin/ipchains-save -> $(SEC_CRIT) ; -+ /sbin/ipfwadm -> $(SEC_CRIT) ; -+ /sbin/ipmaddr -> $(SEC_CRIT) ; -+ /sbin/iptables -> $(SEC_CRIT) ; -+ /sbin/iptables-restore -> $(SEC_CRIT) ; -+ /sbin/iptables-save -> $(SEC_CRIT) ; -+ /sbin/iptunnel -> $(SEC_CRIT) ; -+ #/sbin/ipvsadm -> $(SEC_CRIT) ; -+ #/sbin/ipvsadm-restore -> $(SEC_CRIT) ; -+ #/sbin/ipvsadm-save -> $(SEC_CRIT) ; -+ /sbin/ipx_configure -> $(SEC_CRIT) ; -+ /sbin/ipx_interface -> $(SEC_CRIT) ; -+ /sbin/ipx_internal_net -> $(SEC_CRIT) ; -+ /sbin/iwconfig -> $(SEC_CRIT) ; -+ /sbin/iwgetid -> $(SEC_CRIT) ; -+ /sbin/iwlist -> $(SEC_CRIT) ; -+ /sbin/iwpriv -> $(SEC_CRIT) ; -+ /sbin/iwspy -> $(SEC_CRIT) ; -+ /sbin/mgetty -> $(SEC_CRIT) ; -+ /sbin/mingetty -> $(SEC_CRIT) ; -+ /sbin/nameif -> $(SEC_CRIT) ; -+ /sbin/netreport -> $(SEC_CRIT) ; -+ /sbin/plipconfig -> $(SEC_CRIT) ; -+ /sbin/portmap -> $(SEC_CRIT) ; -+ /sbin/ppp-watch -> $(SEC_CRIT) ; -+ #/sbin/rarp -> $(SEC_CRIT) ; -+ /sbin/route -> $(SEC_CRIT) ; -+ /sbin/slattach -> $(SEC_CRIT) ; -+ /sbin/tc -> $(SEC_CRIT) ; -+ #/sbin/uugetty -> $(SEC_CRIT) ; -+ /sbin/vgetty -> $(SEC_CRIT) ; -+ /sbin/ypbind -> $(SEC_CRIT) ; -+} -+ -+ ################################## -+ # ## -+################################## # -+# # # -+# System Administration Programs # # -+# ## -+################################## -+ -+( -+ rulename = "System Administration Programs", -+ severity = $(SIG_HI) -+) -+{ -+ /sbin/chkconfig -> $(SEC_CRIT) ; -+ /sbin/fuser -> $(SEC_CRIT) ; -+ /sbin/halt -> $(SEC_CRIT) ; -+ /sbin/init -> $(SEC_CRIT) ; -+ /sbin/initlog -> $(SEC_CRIT) ; -+ /sbin/install-info -> $(SEC_CRIT) ; -+ /sbin/killall5 -> $(SEC_CRIT) ; -+ #/sbin/linuxconf -> $(SEC_CRIT) ; -+ #/sbin/linuxconf-auth -> $(SEC_CRIT) ; -+ /sbin/pam_tally -> $(SEC_CRIT) ; -+ /sbin/pwdb_chkpwd -> $(SEC_CRIT) ; -+ #/sbin/remadmin -> $(SEC_CRIT) ; -+ /sbin/rescuept -> $(SEC_CRIT) ; -+ /sbin/rmt -> $(SEC_CRIT) ; -+ /sbin/rpc.lockd -> $(SEC_CRIT) ; -+ /sbin/rpc.statd -> $(SEC_CRIT) ; -+ /sbin/rpcdebug -> $(SEC_CRIT) ; -+ /sbin/service -> $(SEC_CRIT) ; -+ /sbin/setsysfont -> $(SEC_CRIT) ; -+ /sbin/shutdown -> $(SEC_CRIT) ; -+ /sbin/sulogin -> $(SEC_CRIT) ; -+ /sbin/swapon -> $(SEC_CRIT) ; -+ /sbin/syslogd -> $(SEC_CRIT) ; -+ /sbin/unix_chkpwd -> $(SEC_CRIT) ; -+ /bin/pwd -> $(SEC_CRIT) ; -+ /bin/uname -> $(SEC_CRIT) ; -+} -+ -+ ######################################## -+ # ## -+######################################## # -+# # # -+# Hardware and Device Control Programs # # -+# ## -+######################################## -+( -+ rulename = "Hardware and Device Control Programs", -+ severity = $(SIG_HI) -+) -+{ -+ /bin/setserial -> $(SEC_CRIT) ; -+ /bin/sfxload -> $(SEC_CRIT) ; -+ /sbin/blockdev -> $(SEC_CRIT) ; -+ /sbin/cardctl -> $(SEC_CRIT) ; -+ /sbin/cardmgr -> $(SEC_CRIT) ; -+ /sbin/cbq -> $(SEC_CRIT) ; -+ /sbin/dump_cis -> $(SEC_CRIT) ; -+ /sbin/elvtune -> $(SEC_CRIT) ; -+ /sbin/hotplug -> $(SEC_CRIT) ; -+ /sbin/hwclock -> $(SEC_CRIT) ; -+ /sbin/ide_info -> $(SEC_CRIT) ; -+ #/sbin/isapnp -> $(SEC_CRIT) ; -+ /sbin/kbdrate -> $(SEC_CRIT) ; -+ /sbin/losetup -> $(SEC_CRIT) ; -+ /sbin/lspci -> $(SEC_CRIT) ; -+ /sbin/lspnp -> $(SEC_CRIT) ; -+ /sbin/mii-tool -> $(SEC_CRIT) ; -+ /sbin/pack_cis -> $(SEC_CRIT) ; -+ #/sbin/pnpdump -> $(SEC_CRIT) ; -+ /sbin/probe -> $(SEC_CRIT) ; -+ /sbin/pump -> $(SEC_CRIT) ; -+ /sbin/setpci -> $(SEC_CRIT) ; -+ /sbin/shapecfg -> $(SEC_CRIT) ; -+} -+ -+ ############################### -+ # ## -+############################### # -+# # # -+# System Information Programs # # -+# ## -+############################### -+( -+ rulename = "System Information Programs", -+ severity = $(SIG_HI) -+) -+{ -+ /sbin/consoletype -> $(SEC_CRIT) ; -+ /sbin/kernelversion -> $(SEC_CRIT) ; -+ /sbin/runlevel -> $(SEC_CRIT) ; -+} -+ -+ #################################### -+ # ## -+#################################### # -+# # # -+# Application Information Programs # # -+# ## -+#################################### -+ -+( -+ rulename = "Application Information Programs", -+ severity = $(SIG_HI) -+) -+{ -+ /sbin/genksyms -> $(SEC_CRIT) ; -+ #/sbin/genksyms.old -> $(SEC_CRIT) ; -+ /sbin/rtmon -> $(SEC_CRIT) ; -+} -+ -+ ########################## -+ # ## -+########################## # -+# # # -+# Shell Related Programs # # -+# ## -+########################## -+( -+ rulename = "Shell Related Programs", -+ severity = $(SIG_HI) -+) -+{ -+ /sbin/getkey -> $(SEC_CRIT) ; -+ /sbin/nash -> $(SEC_CRIT) ; -+ /sbin/sash -> $(SEC_CRIT) ; -+} -+ -+ -+ ################ -+ # ## -+################ # -+# # # -+# OS Utilities # # -+# ## -+################ -+( -+ rulename = "Operating System Utilities", -+ severity = $(SIG_HI) -+) -+{ -+ /bin/arch -> $(SEC_CRIT) ; -+ /bin/ash -> $(SEC_CRIT) ; -+ /bin/ash.static -> $(SEC_CRIT) ; -+ /bin/aumix-minimal -> $(SEC_CRIT) ; -+ /bin/basename -> $(SEC_CRIT) ; -+ /bin/cat -> $(SEC_CRIT) ; -+ /bin/consolechars -> $(SEC_CRIT) ; -+ /bin/cut -> $(SEC_CRIT) ; -+ /bin/date -> $(SEC_CRIT) ; -+ /bin/dd -> $(SEC_CRIT) ; -+ /bin/df -> $(SEC_CRIT) ; -+ /bin/dmesg -> $(SEC_CRIT) ; -+ /bin/doexec -> $(SEC_CRIT) ; -+ /bin/echo -> $(SEC_CRIT) ; -+ /bin/ed -> $(SEC_CRIT) ; -+ /bin/egrep -> $(SEC_CRIT) ; -+ /bin/false -> $(SEC_CRIT) ; -+ /bin/fgrep -> $(SEC_CRIT) ; -+ /bin/gawk -> $(SEC_CRIT) ; -+ /bin/gawk-3.1.0 -> $(SEC_CRIT) ; -+ /bin/gettext -> $(SEC_CRIT) ; -+ /bin/grep -> $(SEC_CRIT) ; -+ /bin/gunzip -> $(SEC_CRIT) ; -+ /bin/gzip -> $(SEC_CRIT) ; -+ /bin/hostname -> $(SEC_CRIT) ; -+ /bin/igawk -> $(SEC_CRIT) ; -+ /bin/ipcalc -> $(SEC_CRIT) ; -+ /bin/kill -> $(SEC_CRIT) ; -+ /bin/ln -> $(SEC_CRIT) ; -+ /bin/loadkeys -> $(SEC_CRIT) ; -+ /bin/login -> $(SEC_CRIT) ; -+ /bin/ls -> $(SEC_CRIT) ; -+ /bin/mail -> $(SEC_CRIT) ; -+ /bin/more -> $(SEC_CRIT) ; -+ /bin/mt -> $(SEC_CRIT) ; -+ /bin/mv -> $(SEC_CRIT) ; -+ /bin/netstat -> $(SEC_CRIT) ; -+ /bin/nice -> $(SEC_CRIT) ; -+ /bin/pgawk -> $(SEC_CRIT) ; -+ /bin/ps -> $(SEC_CRIT) ; -+ /bin/rpm -> $(SEC_CRIT) ; -+ /bin/sed -> $(SEC_CRIT) ; -+ /bin/sleep -> $(SEC_CRIT) ; -+ /bin/sort -> $(SEC_CRIT) ; -+ /bin/stty -> $(SEC_CRIT) ; -+ /bin/su -> $(SEC_CRIT) ; -+ /bin/sync -> $(SEC_CRIT) ; -+ /bin/tar -> $(SEC_CRIT) ; -+ /bin/true -> $(SEC_CRIT) ; -+ /bin/usleep -> $(SEC_CRIT) ; -+ /bin/vi -> $(SEC_CRIT) ; -+ /bin/zcat -> $(SEC_CRIT) ; -+ /bin/zsh -> $(SEC_CRIT) ; -+ #/bin/zsh-4.0.2 -> $(SEC_CRIT) ; -+ /sbin/sln -> $(SEC_CRIT) ; -+ /usr/bin/vimtutor -> $(SEC_CRIT) ; -+} -+ -+ ############################## -+ # ## -+############################## # -+# # # -+# Critical Utility Sym-Links # # -+# ## -+############################## -+( -+ rulename = "Critical Utility Sym-Links", -+ severity = $(SIG_HI) -+) -+{ -+ #/sbin/askrunlevel -> $(SEC_CRIT) ; -+ /sbin/clock -> $(SEC_CRIT) ; -+ #/sbin/fixperm -> $(SEC_CRIT) ; -+ /sbin/fsck.reiserfs -> $(SEC_CRIT) ; -+ #/sbin/fsconf -> $(SEC_CRIT) ; -+ /sbin/ipfwadm-wrapper -> $(SEC_CRIT) ; -+ /sbin/kallsyms -> $(SEC_CRIT) ; -+ /sbin/ksyms -> $(SEC_CRIT) ; -+ /sbin/lsmod -> $(SEC_CRIT) ; -+ #/sbin/mailconf -> $(SEC_CRIT) ; -+ /sbin/mkfs.reiserfs -> $(SEC_CRIT) ; -+ #/sbin/modemconf -> $(SEC_CRIT) ; -+ /sbin/modprobe -> $(SEC_CRIT) ; -+ /sbin/mount.ncp -> $(SEC_CRIT) ; -+ /sbin/mount.ncpfs -> $(SEC_CRIT) ; -+ /sbin/mount.smb -> $(SEC_CRIT) ; -+ /sbin/mount.smbfs -> $(SEC_CRIT) ; -+ #/sbin/netconf -> $(SEC_CRIT) ; -+ /sbin/pidof -> $(SEC_CRIT) ; -+ /sbin/poweroff -> $(SEC_CRIT) ; -+ /sbin/quotaoff -> $(SEC_CRIT) ; -+ /sbin/raid0run -> $(SEC_CRIT) ; -+ /sbin/raidhotadd -> $(SEC_CRIT) ; -+ /sbin/raidhotgenerateerror -> $(SEC_CRIT) ; -+ /sbin/raidhotremove -> $(SEC_CRIT) ; -+ /sbin/raidstop -> $(SEC_CRIT) ; -+ /sbin/rdump -> $(SEC_CRIT) ; -+ /sbin/rdump.static -> $(SEC_CRIT) ; -+ /sbin/reboot -> $(SEC_CRIT) ; -+ /sbin/rmmod -> $(SEC_CRIT) ; -+ /sbin/rrestore -> $(SEC_CRIT) ; -+ /sbin/rrestore.static -> $(SEC_CRIT) ; -+ /sbin/swapoff -> $(SEC_CRIT) ; -+ /sbin/telinit -> $(SEC_CRIT) ; -+ #/sbin/userconf -> $(SEC_CRIT) ; -+ #/sbin/uucpconf -> $(SEC_CRIT) ; -+ #/sbin/vregistry -> $(SEC_CRIT) ; -+ /bin/awk -> $(SEC_CRIT) ; -+ /bin/bash2 -> $(SEC_CRIT) ; -+ /bin/bsh -> $(SEC_CRIT) ; -+ /bin/csh -> $(SEC_CRIT) ; -+ /bin/dnsdomainname -> $(SEC_CRIT) ; -+ /bin/domainname -> $(SEC_CRIT) ; -+ /bin/ex -> $(SEC_CRIT) ; -+ /bin/gtar -> $(SEC_CRIT) ; -+ /bin/nisdomainname -> $(SEC_CRIT) ; -+ /bin/red -> $(SEC_CRIT) ; -+ /bin/rvi -> $(SEC_CRIT) ; -+ /bin/rview -> $(SEC_CRIT) ; -+ /bin/view -> $(SEC_CRIT) ; -+ /bin/ypdomainname -> $(SEC_CRIT) ; -+} -+ -+ -+ ######################### -+ # ## -+######################### # -+# # # -+# Temporary directories # # -+# ## -+######################### -+( -+ rulename = "Temporary directories", -+ recurse = false, -+ severity = $(SIG_LOW) -+) -+{ -+ /usr/tmp -> $(SEC_INVARIANT) ; -+ /var/tmp -> $(SEC_INVARIANT) ; -+ /tmp -> $(SEC_INVARIANT) ; -+} -+ -+ ############### -+ # ## -+############### # -+# # # -+# Local files # # -+# ## -+############### -+( -+ rulename = "User binaries", -+ severity = $(SIG_MED) -+) -+{ -+ /sbin -> $(SEC_BIN) (recurse = 1) ; -+ /usr/bin -> $(SEC_BIN) (recurse = 1) ; -+ /usr/sbin -> $(SEC_BIN) (recurse = 1) ; -+ /usr/local/bin -> $(SEC_BIN) (recurse = 1) ; -+} -+ -+( -+ rulename = "Shell Binaries", -+ severity = $(SIG_HI) -+) -+{ -+ /bin/bash -> $(SEC_BIN) ; -+ /bin/ksh -> $(SEC_BIN) ; -+ # /bin/psh -> $(SEC_BIN) ; # No longer used? -+ # /bin/Rsh -> $(SEC_BIN) ; # No longer used? -+ /bin/sh -> $(SEC_BIN) ; -+ # /bin/shell -> $(SEC_SUID) ; # No longer used? -+ # /bin/tsh -> $(SEC_BIN) ; # No longer used? -+ /bin/tcsh -> $(SEC_BIN) ; -+ /sbin/nologin -> $(SEC_BIN) ; -+} -+ -+( -+ rulename = "Security Control", -+ severity = $(SIG_HI) -+) -+{ -+ /etc/group -> $(SEC_CRIT) ; -+ /etc/security -> $(SEC_CRIT) ; -+ #/var/spool/cron/crontabs -> $(SEC_CRIT) ; # Uncomment when this file exists -+} -+ -+#( -+# rulename = "Boot Scripts", -+# severity = $(SIG_HI) -+#) -+#{ -+# /etc/rc -> $(SEC_CONFIG) ; -+# /etc/rc.bsdnet -> $(SEC_CONFIG) ; -+# /etc/rc.dt -> $(SEC_CONFIG) ; -+# /etc/rc.net -> $(SEC_CONFIG) ; -+# /etc/rc.net.serial -> $(SEC_CONFIG) ; -+# /etc/rc.nfs -> $(SEC_CONFIG) ; -+# /etc/rc.powerfail -> $(SEC_CONFIG) ; -+# /etc/rc.tcpip -> $(SEC_CONFIG) ; -+# /etc/trcfmt.Z -> $(SEC_CONFIG) ; -+#} -+ -+( -+ rulename = "Login Scripts", -+ severity = $(SIG_HI) -+) -+{ -+ /etc/bashrc -> $(SEC_CONFIG) ; -+ /etc/csh.cshrc -> $(SEC_CONFIG) ; -+ /etc/csh.login -> $(SEC_CONFIG) ; -+ /etc/inputrc -> $(SEC_CONFIG) ; -+ # /etc/tsh_profile -> $(SEC_CONFIG) ; #Uncomment when this file exists -+ /etc/profile -> $(SEC_CONFIG) ; -+} -+ -+# Libraries -+( -+ rulename = "Libraries", -+ severity = $(SIG_MED) -+) -+{ -+ /usr/lib -> $(SEC_BIN) ; -+ /usr/local/lib -> $(SEC_BIN) ; -+} -+ -+ -+ ###################################################### -+ # ## -+###################################################### # -+# # # -+# Critical System Boot Files # # -+# These files are critical to a correct system boot. # # -+# ## -+###################################################### -+ -+( -+ rulename = "Critical system boot files", -+ severity = $(SIG_HI) -+) -+{ -+ /boot -> $(SEC_CRIT) ; -+ #/sbin/devfsd -> $(SEC_CRIT) ; -+ /sbin/grub -> $(SEC_CRIT) ; -+ /sbin/grub-install -> $(SEC_CRIT) ; -+ /sbin/grub-md5-crypt -> $(SEC_CRIT) ; -+ /sbin/installkernel -> $(SEC_CRIT) ; -+ /sbin/lilo -> $(SEC_CRIT) ; -+ /sbin/mkkerneldoth -> $(SEC_CRIT) ; -+ !/boot/System.map ; -+ !/boot/module-info ; -+ /usr/share/grub/i386-redhat/e2fs_stage1_5 -> $(SEC_CRIT) ; -+ /usr/share/grub/i386-redhat/fat_stage1_5 -> $(SEC_CRIT) ; -+ /usr/share/grub/i386-redhat/ffs_stage1_5 -> $(SEC_CRIT) ; -+ /usr/share/grub/i386-redhat/minix_stage1_5 -> $(SEC_CRIT) ; -+ /usr/share/grub/i386-redhat/reiserfs_stage1_5 -> $(SEC_CRIT) ; -+ /usr/share/grub/i386-redhat/stage1 -> $(SEC_CRIT) ; -+ /usr/share/grub/i386-redhat/stage2 -> $(SEC_CRIT) ; -+ /usr/share/grub/i386-redhat/vstafs_stage1_5 -> $(SEC_CRIT) ; -+ # other boot files may exist. Look for: -+ #/ufsboot -> $(SEC_CRIT) ; -+} -+ ################################################## -+ ################################################### -+ # These files change every time the system boots ## -+ ################################################## -+( -+ rulename = "System boot changes", -+ severity = $(SIG_HI) -+) -+{ -+ !/var/run/ftp.pids-all ; # Comes and goes on reboot. -+ !/root/.enlightenment ; -+ /dev/log -> $(SEC_CONFIG) ; -+ /dev/cua0 -> $(SEC_CONFIG) ; -+ # /dev/printer -> $(SEC_CONFIG) ; # Uncomment if you have a printer device -+ /dev/console -> $(SEC_CONFIG) -u ; # User ID may change on console login/logout. -+ /dev/tty1 -> $(SEC_CONFIG) ; # tty devices -+ /dev/tty2 -> $(SEC_CONFIG) ; # tty devices -+ /dev/tty3 -> $(SEC_CONFIG) ; # are extremely -+ /dev/tty4 -> $(SEC_CONFIG) ; # variable -+ /dev/tty5 -> $(SEC_CONFIG) ; -+ /dev/tty6 -> $(SEC_CONFIG) ; -+ /dev/urandom -> $(SEC_CONFIG) ; -+ /dev/initctl -> $(SEC_CONFIG) ; -+ /var/lock/subsys -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/amd -> $(SEC_CONFIG) ; -+ /var/lock/subsys/anacron -> $(SEC_CONFIG) ; -+ /var/lock/subsys/apmd -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/arpwatch -> $(SEC_CONFIG) ; -+ /var/lock/subsys/atd -> $(SEC_CONFIG) ; -+ /var/lock/subsys/autofs -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/bcm5820 -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/bgpd -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/bootparamd -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/canna -> $(SEC_CONFIG) ; -+ /var/lock/subsys/crond -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/cWnn -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/dhcpd -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/firewall -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/freeWnn -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/gated -> $(SEC_CONFIG) ; -+ /var/lock/subsys/gpm -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/httpd -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/identd -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/innd -> $(SEC_CONFIG) ; -+ /var/lock/subsys/ipchains -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/iptables -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/ipvsadm -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/irda -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/iscsi -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/isdn -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/junkbuster -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/kadmin -> $(SEC_CONFIG) ; -+ /var/lock/subsys/keytable -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/kprop -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/krb524 -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/krb5kdc -> $(SEC_CONFIG) ; -+ /var/lock/subsys/kudzu -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/kWnn -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/ldap -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/linuxconf -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/lpd -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/mars_nwe -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/mcserv -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/mysqld -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/named -> $(SEC_CONFIG) ; -+ /var/lock/subsys/netfs -> $(SEC_CONFIG) ; -+ /var/lock/subsys/network -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/nfs -> $(SEC_CONFIG) ; -+ /var/lock/subsys/nfslock -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/nscd -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/ntpd -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/ospf6d -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/ospfd -> $(SEC_CONFIG) ; -+ /var/lock/subsys/pcmcia -> $(SEC_CONFIG) ; -+ /var/lock/subsys/portmap -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/postgresql -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/pxe -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/radvd -> $(SEC_CONFIG) ; -+ /var/lock/subsys/random -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/rarpd -> $(SEC_CONFIG) ; -+ /var/lock/subsys/reconfig -> $(SEC_CONFIG) ; -+ /var/lock/subsys/rhnsd -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/ripd -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/ripngd -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/routed -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/rstatd -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/rusersd -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/rwalld -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/rwhod -> $(SEC_CONFIG) ; -+ /var/lock/subsys/sendmail -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/smb -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/snmpd -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/squid -> $(SEC_CONFIG) ; -+ /var/lock/subsys/sshd -> $(SEC_CONFIG) ; -+ /var/lock/subsys/syslog -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/tux -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/tWnn -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/ups -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/vncserver -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/wine -> $(SEC_CONFIG) ; -+ /var/lock/subsys/xfs -> $(SEC_CONFIG) ; -+ /var/lock/subsys/xinetd -> $(SEC_CONFIG) ; -+ /var/lock/subsys/ypbind -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/yppasswdd -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/ypserv -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/ypxfrd -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/zebra -> $(SEC_CONFIG) ; -+ /var/run -> $(SEC_CONFIG) ; -+ /var/log -> $(SEC_CONFIG) ; -+ /etc/ioctl.save -> $(SEC_CONFIG) ; -+ /etc/issue.net -> $(SEC_CONFIG) -i ; # Inode number changes -+ /etc/issue -> $(SEC_CONFIG) ; -+ /etc/mtab -> $(SEC_CONFIG) -i ; # Inode number changes on any mount/unmount -+ /lib/modules -> $(SEC_CONFIG) ; -+ /etc/.pwd.lock -> $(SEC_CONFIG) ; -+ # /lib/modules/preferred -> $(SEC_CONFIG) ; #Uncomment when this file exists -+} -+ -+# These files change the behavior of the root account -+( -+ rulename = "Root config files", -+ severity = 100 -+) -+{ -+ /root -> $(SEC_CRIT) ; # Catch all additions to /root -+ #/root/.Xresources -> $(SEC_CONFIG) ; -+ /root/.bashrc -> $(SEC_CONFIG) ; -+ /root/.bash_profile -> $(SEC_CONFIG) ; -+ /root/.bash_logout -> $(SEC_CONFIG) ; -+ /root/.cshrc -> $(SEC_CONFIG) ; -+ /root/.tcshrc -> $(SEC_CONFIG) ; -+ /root/Mail -> $(SEC_CONFIG) ; -+ #/root/mail -> $(SEC_CONFIG) ; -+ #/root/.amandahosts -> $(SEC_CONFIG) ; -+ #/root/.addressbook.lu -> $(SEC_CONFIG) ; -+ #/root/.addressbook -> $(SEC_CONFIG) ; -+ /root/.bash_history -> $(SEC_CONFIG) ; -+ /root/.elm -> $(SEC_CONFIG) ; -+ #/root/.esd_auth -> $(SEC_CONFIG) ; -+ /root/.gnome_private -> $(SEC_CONFIG) ; -+ /root/.gnome-desktop -> $(SEC_CONFIG) ; -+ /root/.gnome -> $(SEC_CONFIG) ; -+ /root/.ICEauthority -> $(SEC_CONFIG) ; -+ #/root/.mc -> $(SEC_CONFIG) ; -+ #/root/.pinerc -> $(SEC_CONFIG) ; -+ /root/.sawfish -> $(SEC_CONFIG) ; -+ /root/.Xauthority -> $(SEC_CONFIG) -i ; # Changes Inode number on login -+ #/root/.xauth -> $(SEC_CONFIG) ; -+ /root/.xsession-errors -> $(SEC_CONFIG) ; -+} -+ -+ ################################ -+ # ## -+################################ # -+# # # -+# Critical configuration files # # -+# ## -+################################ -+( -+ rulename = "Critical configuration files", -+ severity = $(SIG_HI) -+) -+{ -+ #/etc/conf.linuxconf -> $(SEC_BIN) ; -+ /etc/crontab -> $(SEC_BIN) ; -+ /etc/cron.hourly -> $(SEC_BIN) ; -+ /etc/cron.daily -> $(SEC_BIN) ; -+ /etc/cron.weekly -> $(SEC_BIN) ; -+ /etc/cron.monthly -> $(SEC_BIN) ; -+ /etc/default -> $(SEC_BIN) ; -+ /etc/fstab -> $(SEC_BIN) ; -+ /etc/exports -> $(SEC_BIN) ; -+ /etc/group- -> $(SEC_BIN) ; # changes should be infrequent -+ /etc/host.conf -> $(SEC_BIN) ; -+ /etc/hosts.allow -> $(SEC_BIN) ; -+ /etc/hosts.deny -> $(SEC_BIN) ; -+ /etc/httpd/conf -> $(SEC_BIN) ; # changes should be infrequent -+ /etc/protocols -> $(SEC_BIN) ; -+ /etc/services -> $(SEC_BIN) ; -+ /etc/rc.d/init.d -> $(SEC_BIN) ; -+ /etc/rc.d -> $(SEC_BIN) ; -+ /etc/mail.rc -> $(SEC_BIN) ; -+ /etc/modules.conf -> $(SEC_BIN) ; -+ /etc/motd -> $(SEC_BIN) ; -+ /etc/named.conf -> $(SEC_BIN) ; -+ /etc/passwd -> $(SEC_CONFIG) ; -+ /etc/passwd- -> $(SEC_CONFIG) ; -+ /etc/profile.d -> $(SEC_BIN) ; -+ /var/lib/nfs/rmtab -> $(SEC_BIN) ; -+ /usr/sbin/fixrmtab -> $(SEC_BIN) ; -+ /etc/rpc -> $(SEC_BIN) ; -+ /etc/sysconfig -> $(SEC_BIN) ; -+ /etc/samba/smb.conf -> $(SEC_CONFIG) ; -+ #/etc/gettydefs -> $(SEC_BIN) ; -+ /etc/nsswitch.conf -> $(SEC_BIN) ; -+ /etc/yp.conf -> $(SEC_BIN) ; -+ /etc/hosts -> $(SEC_CONFIG) ; -+ /etc/xinetd.conf -> $(SEC_CONFIG) ; -+ /etc/inittab -> $(SEC_CONFIG) ; -+ /etc/resolv.conf -> $(SEC_CONFIG) ; -+ /etc/syslog.conf -> $(SEC_CONFIG) ; -+} -+ -+ #################### -+ # ## -+#################### # -+# # # -+# Critical devices # # -+# ## -+#################### -+( -+ rulename = "Critical devices", -+ severity = $(SIG_HI), -+ recurse = false -+) -+{ -+ /dev/kmem -> $(Device) ; -+ /dev/mem -> $(Device) ; -+ /dev/null -> $(Device) ; -+ /dev/zero -> $(Device) ; -+ /proc/devices -> $(Device) ; -+ /proc/net -> $(Device) ; -+ /proc/sys -> $(Device) ; -+ /proc/cpuinfo -> $(Device) ; -+ /proc/modules -> $(Device) ; -+ /proc/mounts -> $(Device) ; -+ /proc/dma -> $(Device) ; -+ /proc/filesystems -> $(Device) ; -+ /proc/pci -> $(Device) ; -+ /proc/interrupts -> $(Device) ; -+ /proc/driver/rtc -> $(Device) ; -+ /proc/ioports -> $(Device) ; -+ #/proc/scsi -> $(Device) ; -+ /proc/kcore -> $(Device) ; -+ /proc/self -> $(Device) ; -+ /proc/kmsg -> $(Device) ; -+ /proc/stat -> $(Device) ; -+ /proc/ksyms -> $(Device) ; -+ /proc/loadavg -> $(Device) ; -+ /proc/uptime -> $(Device) ; -+ /proc/locks -> $(Device) ; -+ /proc/version -> $(Device) ; -+ /proc/mdstat -> $(Device) ; -+ /proc/meminfo -> $(Device) ; -+ /proc/cmdline -> $(Device) ; -+ /proc/misc -> $(Device) ; -+} -+ -+# Rest of critical system binaries -+( -+ rulename = "OS executables and libraries", -+ severity = $(SIG_HI) -+) -+{ -+ /bin -> $(SEC_BIN) ; -+ /lib -> $(SEC_BIN) ; -+} -+ -+#============================================================================= -+# -+# Copyright 2000 Tripwire, Inc. Tripwire is a registered trademark of Tripwire, -+# Inc. in the United States and other countries. All rights reserved. -+# -+# Linux is a registered trademark of Linus Torvalds. -+# -+# UNIX is a registered trademark of The Open Group. -+# -+#============================================================================= -+# -+# Permission is granted to make and distribute verbatim copies of this document -+# provided the copyright notice and this permission notice are preserved on all -+# copies. -+# -+# Permission is granted to copy and distribute modified versions of this -+# document under the conditions for verbatim copying, provided that the entire -+# resulting derived work is distributed under the terms of a permission notice -+# identical to this one. -+# -+# Permission is granted to copy and distribute translations of this document -+# into another language, under the above conditions for modified versions, -+# except that this permission notice may be stated in a translation approved by -+# Tripwire, Inc. -+# -+# DCM -+# -+# $Id: twpol-GENERIC.txt,v 1.1 2003/06/08 02:00:06 pherman Exp $ -+# -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/policy/twpol-Linux.txt tripwire-2.3.1-2/policy/twpol-Linux.txt ---- tripwire-2.3.1-2.old/policy/twpol-Linux.txt Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/policy/twpol-Linux.txt Sat Jun 7 19:00:06 2003 -@@ -0,0 +1,1107 @@ -+ ############################################################################## -+ # ## -+############################################################################## # -+# # # -+# Policy file for Red Hat Linux # # -+# V1.2.0rh # # -+# August 9, 2001 # # -+# ## -+############################################################################## -+ -+ -+ ############################################################################## -+ # ## -+############################################################################## # -+# # # -+# This is the example Tripwire Policy file. It is intended as a place to # # -+# start creating your own custom Tripwire Policy file. Referring to it as # # -+# well as the Tripwire Policy Guide should give you enough information to # # -+# make a good custom Tripwire Policy file that better covers your # # -+# configuration and security needs. A text version of this policy file is # # -+# called twpol.txt. # # -+# # # -+# Note that this file is tuned to an 'everything' install of Red Hat Linux. # # -+# If run unmodified, this file should create no errors on database # # -+# creation, or violations on a subsiquent integrity check. However, it is # # -+# impossible for there to be one policy file for all machines, so this # # -+# existing one errs on the side of security. Your Linux configuration will # # -+# most likey differ from the one our policy file was tuned to, and will # # -+# therefore require some editing of the default Tripwire Policy file. # # -+# # # -+# The example policy file is best run with 'Loose Directory Checking' # # -+# enabled. Set LOOSEDIRECTORYCHECKING=TRUE in the Tripwire Configuration # # -+# file. # # -+# # # -+# Email support is not included and must be added to this file. # # -+# Add the 'emailto=' to the rule directive section of each rule (add a comma # # -+# after the 'severity=' line and add an 'emailto=' and include the email # # -+# addresses you want the violation reports to go to). Addresses are # # -+# semi-colon delimited. # # -+# ## -+############################################################################## -+ -+ -+ -+ ############################################################################## -+ # ## -+############################################################################## # -+# # # -+# Global Variable Definitions # # -+# # # -+# These are defined at install time by the installation script. You may # # -+# Manually edit these if you are using this file directly and not from the # # -+# installation script itself. # # -+# ## -+############################################################################## -+ -+@@section GLOBAL -+TWROOT=; -+TWBIN=; -+TWPOL=; -+TWDB=; -+TWSKEY=; -+TWLKEY=; -+TWREPORT=; -+HOSTNAME=; -+ -+@@section FS -+SEC_CRIT = $(IgnoreNone)-SHa ; # Critical files that cannot change -+SEC_SUID = $(IgnoreNone)-SHa ; # Binaries with the SUID or SGID flags set -+SEC_BIN = $(ReadOnly) ; # Binaries that should not change -+SEC_CONFIG = $(Dynamic) ; # Config files that are changed infrequently but accessed often -+SEC_LOG = $(Growing) ; # Files that grow, but that should never change ownership -+SEC_INVARIANT = +tpug ; # Directories that should never change permission or ownership -+SIG_LOW = 33 ; # Non-critical files that are of minimal security impact -+SIG_MED = 66 ; # Non-critical files that are of significant security impact -+SIG_HI = 100 ; # Critical files that are significant points of vulnerability -+ -+ -+# Tripwire Binaries -+( -+ rulename = "Tripwire Binaries", -+ severity = $(SIG_HI) -+) -+{ -+ $(TWBIN)/siggen -> $(SEC_BIN) ; -+ $(TWBIN)/tripwire -> $(SEC_BIN) ; -+ $(TWBIN)/twadmin -> $(SEC_BIN) ; -+ $(TWBIN)/twprint -> $(SEC_BIN) ; -+} -+ -+# Tripwire Data Files - Configuration Files, Policy Files, Keys, Reports, Databases -+( -+ rulename = "Tripwire Data Files", -+ severity = $(SIG_HI) -+) -+{ -+ # NOTE: We remove the inode attribute because when Tripwire creates a backup, -+ # it does so by renaming the old file and creating a new one (which will -+ # have a new inode number). Inode is left turned on for keys, which shouldn't -+ # ever change. -+ -+ # NOTE: The first integrity check triggers this rule and each integrity check -+ # afterward triggers this rule until a database update is run, since the -+ # database file does not exist before that point. -+ -+ $(TWDB) -> $(SEC_CONFIG) -i ; -+ $(TWPOL)/tw.pol -> $(SEC_BIN) -i ; -+ $(TWPOL)/tw.cfg -> $(SEC_BIN) -i ; -+ $(TWLKEY)/$(HOSTNAME)-local.key -> $(SEC_BIN) ; -+ $(TWSKEY)/site.key -> $(SEC_BIN) ; -+ -+ #don't scan the individual reports -+ $(TWREPORT) -> $(SEC_CONFIG) (recurse=0) ; -+} -+ -+ -+# Tripwire HQ Connector Binaries -+#( -+# rulename = "Tripwire HQ Connector Binaries", -+# severity = $(SIG_HI) -+#) -+#{ -+# $(TWBIN)/hqagent -> $(SEC_BIN) ; -+#} -+# -+# Tripwire HQ Connector - Configuration Files, Keys, and Logs -+ -+ ############################################################################## -+ # ## -+############################################################################## # -+# # # -+# Note: File locations here are different than in a stock HQ Connector # # -+# installation. This is because Tripwire 2.3 uses a different path # # -+# structure than Tripwire 2.2.1. # # -+# # # -+# You may need to update your HQ Agent configuation file (or this policy # # -+# file) to correct the paths. We have attempted to support the FHS standard # # -+# here by placing the HQ Agent files similarly to the way Tripwire 2.3 # # -+# places them. # # -+# ## -+############################################################################## -+ -+#( -+# rulename = "Tripwire HQ Connector Data Files", -+# severity = $(SIG_HI) -+#) -+#{ -+# ############################################################################# -+# ############################################################################## -+# # NOTE: Removing the inode attribute because when Tripwire creates a backup ## -+# # it does so by renaming the old file and creating a new one (which will ## -+# # have a new inode number). Leaving inode turned on for keys, which ## -+# # shouldn't ever change. ## -+# ############################################################################# -+# -+# $(TWBIN)/agent.cfg -> $(SEC_BIN) -i ; -+# $(TWLKEY)/authentication.key -> $(SEC_BIN) ; -+# $(TWDB)/tasks.dat -> $(SEC_CONFIG) ; -+# $(TWDB)/schedule.dat -> $(SEC_CONFIG) ; -+# -+# # Uncomment if you have agent logging enabled. -+# #/var/log/tripwire/agent.log -> $(SEC_LOG) ; -+#} -+ -+ -+ -+# Commonly accessed directories that should remain static with regards to owner and group -+( -+ rulename = "Invariant Directories", -+ severity = $(SIG_MED) -+) -+{ -+ / -> $(SEC_INVARIANT) (recurse = 0) ; -+ /home -> $(SEC_INVARIANT) (recurse = 0) ; -+ /etc -> $(SEC_INVARIANT) (recurse = 0) ; -+} -+ ################################################ -+ # ## -+################################################ # -+# # # -+# File System and Disk Administration Programs # # -+# ## -+################################################ -+ -+( -+ rulename = "File System and Disk Administraton Programs", -+ severity = $(SIG_HI) -+) -+{ -+ /sbin/accton -> $(SEC_CRIT) ; -+ /sbin/badblocks -> $(SEC_CRIT) ; -+ /sbin/busybox -> $(SEC_CRIT) ; -+ /sbin/busybox.anaconda -> $(SEC_CRIT) ; -+ /sbin/convertquota -> $(SEC_CRIT) ; -+ /sbin/dosfsck -> $(SEC_CRIT) ; -+ /sbin/debugfs -> $(SEC_CRIT) ; -+ /sbin/debugreiserfs -> $(SEC_CRIT) ; -+ /sbin/dumpe2fs -> $(SEC_CRIT) ; -+ /sbin/dump -> $(SEC_CRIT) ; -+ /sbin/dump.static -> $(SEC_CRIT) ; -+ # /sbin/e2fsadm -> $(SEC_CRIT) ; tune2fs? -+ /sbin/e2fsck -> $(SEC_CRIT) ; -+ /sbin/e2label -> $(SEC_CRIT) ; -+ /sbin/fdisk -> $(SEC_CRIT) ; -+ /sbin/fsck -> $(SEC_CRIT) ; -+ /sbin/fsck.ext2 -> $(SEC_CRIT) ; -+ /sbin/fsck.ext3 -> $(SEC_CRIT) ; -+ /sbin/fsck.minix -> $(SEC_CRIT) ; -+ /sbin/fsck.msdos -> $(SEC_CRIT) ; -+ /sbin/fsck.vfat -> $(SEC_CRIT) ; -+ /sbin/ftl_check -> $(SEC_CRIT) ; -+ /sbin/ftl_format -> $(SEC_CRIT) ; -+ /sbin/hdparm -> $(SEC_CRIT) ; -+ #/sbin/lvchange -> $(SEC_CRIT) ; -+ #/sbin/lvcreate -> $(SEC_CRIT) ; -+ #/sbin/lvdisplay -> $(SEC_CRIT) ; -+ #/sbin/lvextend -> $(SEC_CRIT) ; -+ #/sbin/lvmchange -> $(SEC_CRIT) ; -+ #/sbin/lvmcreate_initrd -> $(SEC_CRIT) ; -+ #/sbin/lvmdiskscan -> $(SEC_CRIT) ; -+ #/sbin/lvmsadc -> $(SEC_CRIT) ; -+ #/sbin/lvmsar -> $(SEC_CRIT) ; -+ #/sbin/lvreduce -> $(SEC_CRIT) ; -+ #/sbin/lvremove -> $(SEC_CRIT) ; -+ #/sbin/lvrename -> $(SEC_CRIT) ; -+ #/sbin/lvscan -> $(SEC_CRIT) ; -+ /sbin/mkbootdisk -> $(SEC_CRIT) ; -+ /sbin/mkdosfs -> $(SEC_CRIT) ; -+ /sbin/mke2fs -> $(SEC_CRIT) ; -+ /sbin/mkfs -> $(SEC_CRIT) ; -+ /sbin/mkfs.bfs -> $(SEC_CRIT) ; -+ /sbin/mkfs.ext2 -> $(SEC_CRIT) ; -+ /sbin/mkfs.minix -> $(SEC_CRIT) ; -+ /sbin/mkfs.msdos -> $(SEC_CRIT) ; -+ /sbin/mkfs.vfat -> $(SEC_CRIT) ; -+ /sbin/mkinitrd -> $(SEC_CRIT) ; -+ #/sbin/mkpv -> $(SEC_CRIT) ; -+ /sbin/mkraid -> $(SEC_CRIT) ; -+ /sbin/mkreiserfs -> $(SEC_CRIT) ; -+ /sbin/mkswap -> $(SEC_CRIT) ; -+ #/sbin/mtx -> $(SEC_CRIT) ; -+ /sbin/pam_console_apply -> $(SEC_CRIT) ; -+ /sbin/parted -> $(SEC_CRIT) ; -+ /sbin/pcinitrd -> $(SEC_CRIT) ; -+ #/sbin/pvchange -> $(SEC_CRIT) ; -+ #/sbin/pvcreate -> $(SEC_CRIT) ; -+ #/sbin/pvdata -> $(SEC_CRIT) ; -+ #/sbin/pvdisplay -> $(SEC_CRIT) ; -+ #/sbin/pvmove -> $(SEC_CRIT) ; -+ #/sbin/pvscan -> $(SEC_CRIT) ; -+ /sbin/quotacheck -> $(SEC_CRIT) ; -+ /sbin/quotaon -> $(SEC_CRIT) ; -+ /sbin/raidstart -> $(SEC_CRIT) ; -+ /sbin/reiserfsck -> $(SEC_CRIT) ; -+ /sbin/resize2fs -> $(SEC_CRIT) ; -+ /sbin/resize_reiserfs -> $(SEC_CRIT) ; -+ /sbin/restore -> $(SEC_CRIT) ; -+ /sbin/restore.static -> $(SEC_CRIT) ; -+ /sbin/scsi_info -> $(SEC_CRIT) ; -+ /sbin/sfdisk -> $(SEC_CRIT) ; -+ /sbin/stinit -> $(SEC_CRIT) ; -+ #/sbin/tapeinfo -> $(SEC_CRIT) ; -+ /sbin/tune2fs -> $(SEC_CRIT) ; -+ /sbin/unpack -> $(SEC_CRIT) ; -+ /sbin/update -> $(SEC_CRIT) ; -+ #/sbin/vgcfgbackup -> $(SEC_CRIT) ; -+ #/sbin/vgcfgrestore -> $(SEC_CRIT) ; -+ #/sbin/vgchange -> $(SEC_CRIT) ; -+ #/sbin/vgck -> $(SEC_CRIT) ; -+ #/sbin/vgcreate -> $(SEC_CRIT) ; -+ #/sbin/vgdisplay -> $(SEC_CRIT) ; -+ #/sbin/vgexport -> $(SEC_CRIT) ; -+ #/sbin/vgextend -> $(SEC_CRIT) ; -+ #/sbin/vgimport -> $(SEC_CRIT) ; -+ #/sbin/vgmerge -> $(SEC_CRIT) ; -+ #/sbin/vgmknodes -> $(SEC_CRIT) ; -+ #/sbin/vgreduce -> $(SEC_CRIT) ; -+ #/sbin/vgremove -> $(SEC_CRIT) ; -+ #/sbin/vgrename -> $(SEC_CRIT) ; -+ #/sbin/vgscan -> $(SEC_CRIT) ; -+ #/sbin/vgsplit -> $(SEC_CRIT) ; -+ /bin/chgrp -> $(SEC_CRIT) ; -+ /bin/chmod -> $(SEC_CRIT) ; -+ /bin/chown -> $(SEC_CRIT) ; -+ /bin/cp -> $(SEC_CRIT) ; -+ /bin/cpio -> $(SEC_CRIT) ; -+ /bin/mount -> $(SEC_CRIT) ; -+ /bin/umount -> $(SEC_CRIT) ; -+ /bin/mkdir -> $(SEC_CRIT) ; -+ /bin/mknod -> $(SEC_CRIT) ; -+ /bin/mktemp -> $(SEC_CRIT) ; -+ /bin/rm -> $(SEC_CRIT) ; -+ /bin/rmdir -> $(SEC_CRIT) ; -+ /bin/touch -> $(SEC_CRIT) ; -+} -+ -+ ################################## -+ # ## -+################################## # -+# # # -+# Kernel Administration Programs # # -+# ## -+################################## -+ -+( -+ rulename = "Kernel Administration Programs", -+ severity = $(SIG_HI) -+) -+{ -+ /sbin/adjtimex -> $(SEC_CRIT) ; -+ /sbin/ctrlaltdel -> $(SEC_CRIT) ; -+ /sbin/depmod -> $(SEC_CRIT) ; -+ /sbin/insmod -> $(SEC_CRIT) ; -+ /sbin/insmod.static -> $(SEC_CRIT) ; -+ /sbin/insmod_ksymoops_clean -> $(SEC_CRIT) ; -+ /sbin/klogd -> $(SEC_CRIT) ; -+ /sbin/ldconfig -> $(SEC_CRIT) ; -+ /sbin/minilogd -> $(SEC_CRIT) ; -+ /sbin/modinfo -> $(SEC_CRIT) ; -+ #/sbin/nuactlun -> $(SEC_CRIT) ; -+ #/sbin/nuscsitcpd -> $(SEC_CRIT) ; -+ /sbin/pivot_root -> $(SEC_CRIT) ; -+ /sbin/sndconfig -> $(SEC_CRIT) ; -+ /sbin/sysctl -> $(SEC_CRIT) ; -+} -+ -+ ####################### -+ # ## -+####################### # -+# # # -+# Networking Programs # # -+# ## -+####################### -+ -+( -+ rulename = "Networking Programs", -+ severity = $(SIG_HI) -+) -+{ -+ /etc/sysconfig/network-scripts/ifdown -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/ifdown-cipcb -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/ifdown-ippp -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/ifdown-ipv6 -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/ifdown-isdn -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/ifdown-post -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/ifdown-ppp -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/ifdown-sit -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/ifdown-sl -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/ifup -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/ifup-aliases -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/ifup-cipcb -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/ifup-ippp -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/ifup-ipv6 -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/ifup-isdn -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/ifup-plip -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/ifup-plusb -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/ifup-post -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/ifup-ppp -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/ifup-routes -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/ifup-sit -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/ifup-sl -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/ifup-wireless -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/network-functions -> $(SEC_CRIT) ; -+ /etc/sysconfig/network-scripts/network-functions-ipv6 -> $(SEC_CRIT) ; -+ /bin/ping -> $(SEC_CRIT) ; -+ /sbin/agetty -> $(SEC_CRIT) ; -+ /sbin/arp -> $(SEC_CRIT) ; -+ /sbin/arping -> $(SEC_CRIT) ; -+ /sbin/dhcpcd -> $(SEC_CRIT) ; -+ /sbin/ether-wake -> $(SEC_CRIT) ; -+ #/sbin/getty -> $(SEC_CRIT) ; -+ /sbin/ifcfg -> $(SEC_CRIT) ; -+ /sbin/ifconfig -> $(SEC_CRIT) ; -+ /sbin/ifdown -> $(SEC_CRIT) ; -+ /sbin/ifenslave -> $(SEC_CRIT) ; -+ /sbin/ifport -> $(SEC_CRIT) ; -+ /sbin/ifup -> $(SEC_CRIT) ; -+ /sbin/ifuser -> $(SEC_CRIT) ; -+ /sbin/ip -> $(SEC_CRIT) ; -+ /sbin/ip6tables -> $(SEC_CRIT) ; -+ /sbin/ipchains -> $(SEC_CRIT) ; -+ /sbin/ipchains-restore -> $(SEC_CRIT) ; -+ /sbin/ipchains-save -> $(SEC_CRIT) ; -+ /sbin/ipfwadm -> $(SEC_CRIT) ; -+ /sbin/ipmaddr -> $(SEC_CRIT) ; -+ /sbin/iptables -> $(SEC_CRIT) ; -+ /sbin/iptables-restore -> $(SEC_CRIT) ; -+ /sbin/iptables-save -> $(SEC_CRIT) ; -+ /sbin/iptunnel -> $(SEC_CRIT) ; -+ #/sbin/ipvsadm -> $(SEC_CRIT) ; -+ #/sbin/ipvsadm-restore -> $(SEC_CRIT) ; -+ #/sbin/ipvsadm-save -> $(SEC_CRIT) ; -+ /sbin/ipx_configure -> $(SEC_CRIT) ; -+ /sbin/ipx_interface -> $(SEC_CRIT) ; -+ /sbin/ipx_internal_net -> $(SEC_CRIT) ; -+ /sbin/iwconfig -> $(SEC_CRIT) ; -+ /sbin/iwgetid -> $(SEC_CRIT) ; -+ /sbin/iwlist -> $(SEC_CRIT) ; -+ /sbin/iwpriv -> $(SEC_CRIT) ; -+ /sbin/iwspy -> $(SEC_CRIT) ; -+ /sbin/mgetty -> $(SEC_CRIT) ; -+ /sbin/mingetty -> $(SEC_CRIT) ; -+ /sbin/nameif -> $(SEC_CRIT) ; -+ /sbin/netreport -> $(SEC_CRIT) ; -+ /sbin/plipconfig -> $(SEC_CRIT) ; -+ /sbin/portmap -> $(SEC_CRIT) ; -+ /sbin/ppp-watch -> $(SEC_CRIT) ; -+ #/sbin/rarp -> $(SEC_CRIT) ; -+ /sbin/route -> $(SEC_CRIT) ; -+ /sbin/slattach -> $(SEC_CRIT) ; -+ /sbin/tc -> $(SEC_CRIT) ; -+ #/sbin/uugetty -> $(SEC_CRIT) ; -+ /sbin/vgetty -> $(SEC_CRIT) ; -+ /sbin/ypbind -> $(SEC_CRIT) ; -+} -+ -+ ################################## -+ # ## -+################################## # -+# # # -+# System Administration Programs # # -+# ## -+################################## -+ -+( -+ rulename = "System Administration Programs", -+ severity = $(SIG_HI) -+) -+{ -+ /sbin/chkconfig -> $(SEC_CRIT) ; -+ /sbin/fuser -> $(SEC_CRIT) ; -+ /sbin/halt -> $(SEC_CRIT) ; -+ /sbin/init -> $(SEC_CRIT) ; -+ /sbin/initlog -> $(SEC_CRIT) ; -+ /sbin/install-info -> $(SEC_CRIT) ; -+ /sbin/killall5 -> $(SEC_CRIT) ; -+ #/sbin/linuxconf -> $(SEC_CRIT) ; -+ #/sbin/linuxconf-auth -> $(SEC_CRIT) ; -+ /sbin/pam_tally -> $(SEC_CRIT) ; -+ /sbin/pwdb_chkpwd -> $(SEC_CRIT) ; -+ #/sbin/remadmin -> $(SEC_CRIT) ; -+ /sbin/rescuept -> $(SEC_CRIT) ; -+ /sbin/rmt -> $(SEC_CRIT) ; -+ /sbin/rpc.lockd -> $(SEC_CRIT) ; -+ /sbin/rpc.statd -> $(SEC_CRIT) ; -+ /sbin/rpcdebug -> $(SEC_CRIT) ; -+ /sbin/service -> $(SEC_CRIT) ; -+ /sbin/setsysfont -> $(SEC_CRIT) ; -+ /sbin/shutdown -> $(SEC_CRIT) ; -+ /sbin/sulogin -> $(SEC_CRIT) ; -+ /sbin/swapon -> $(SEC_CRIT) ; -+ /sbin/syslogd -> $(SEC_CRIT) ; -+ /sbin/unix_chkpwd -> $(SEC_CRIT) ; -+ /bin/pwd -> $(SEC_CRIT) ; -+ /bin/uname -> $(SEC_CRIT) ; -+} -+ -+ ######################################## -+ # ## -+######################################## # -+# # # -+# Hardware and Device Control Programs # # -+# ## -+######################################## -+( -+ rulename = "Hardware and Device Control Programs", -+ severity = $(SIG_HI) -+) -+{ -+ /bin/setserial -> $(SEC_CRIT) ; -+ /bin/sfxload -> $(SEC_CRIT) ; -+ /sbin/blockdev -> $(SEC_CRIT) ; -+ /sbin/cardctl -> $(SEC_CRIT) ; -+ /sbin/cardmgr -> $(SEC_CRIT) ; -+ /sbin/cbq -> $(SEC_CRIT) ; -+ /sbin/dump_cis -> $(SEC_CRIT) ; -+ /sbin/elvtune -> $(SEC_CRIT) ; -+ /sbin/hotplug -> $(SEC_CRIT) ; -+ /sbin/hwclock -> $(SEC_CRIT) ; -+ /sbin/ide_info -> $(SEC_CRIT) ; -+ #/sbin/isapnp -> $(SEC_CRIT) ; -+ /sbin/kbdrate -> $(SEC_CRIT) ; -+ /sbin/losetup -> $(SEC_CRIT) ; -+ /sbin/lspci -> $(SEC_CRIT) ; -+ /sbin/lspnp -> $(SEC_CRIT) ; -+ /sbin/mii-tool -> $(SEC_CRIT) ; -+ /sbin/pack_cis -> $(SEC_CRIT) ; -+ #/sbin/pnpdump -> $(SEC_CRIT) ; -+ /sbin/probe -> $(SEC_CRIT) ; -+ /sbin/pump -> $(SEC_CRIT) ; -+ /sbin/setpci -> $(SEC_CRIT) ; -+ /sbin/shapecfg -> $(SEC_CRIT) ; -+} -+ -+ ############################### -+ # ## -+############################### # -+# # # -+# System Information Programs # # -+# ## -+############################### -+( -+ rulename = "System Information Programs", -+ severity = $(SIG_HI) -+) -+{ -+ /sbin/consoletype -> $(SEC_CRIT) ; -+ /sbin/kernelversion -> $(SEC_CRIT) ; -+ /sbin/runlevel -> $(SEC_CRIT) ; -+} -+ -+ #################################### -+ # ## -+#################################### # -+# # # -+# Application Information Programs # # -+# ## -+#################################### -+ -+( -+ rulename = "Application Information Programs", -+ severity = $(SIG_HI) -+) -+{ -+ /sbin/genksyms -> $(SEC_CRIT) ; -+ #/sbin/genksyms.old -> $(SEC_CRIT) ; -+ /sbin/rtmon -> $(SEC_CRIT) ; -+} -+ -+ ########################## -+ # ## -+########################## # -+# # # -+# Shell Related Programs # # -+# ## -+########################## -+( -+ rulename = "Shell Related Programs", -+ severity = $(SIG_HI) -+) -+{ -+ /sbin/getkey -> $(SEC_CRIT) ; -+ /sbin/nash -> $(SEC_CRIT) ; -+ /sbin/sash -> $(SEC_CRIT) ; -+} -+ -+ -+ ################ -+ # ## -+################ # -+# # # -+# OS Utilities # # -+# ## -+################ -+( -+ rulename = "Operating System Utilities", -+ severity = $(SIG_HI) -+) -+{ -+ /bin/arch -> $(SEC_CRIT) ; -+ /bin/ash -> $(SEC_CRIT) ; -+ /bin/ash.static -> $(SEC_CRIT) ; -+ /bin/aumix-minimal -> $(SEC_CRIT) ; -+ /bin/basename -> $(SEC_CRIT) ; -+ /bin/cat -> $(SEC_CRIT) ; -+ /bin/consolechars -> $(SEC_CRIT) ; -+ /bin/cut -> $(SEC_CRIT) ; -+ /bin/date -> $(SEC_CRIT) ; -+ /bin/dd -> $(SEC_CRIT) ; -+ /bin/df -> $(SEC_CRIT) ; -+ /bin/dmesg -> $(SEC_CRIT) ; -+ /bin/doexec -> $(SEC_CRIT) ; -+ /bin/echo -> $(SEC_CRIT) ; -+ /bin/ed -> $(SEC_CRIT) ; -+ /bin/egrep -> $(SEC_CRIT) ; -+ /bin/false -> $(SEC_CRIT) ; -+ /bin/fgrep -> $(SEC_CRIT) ; -+ /bin/gawk -> $(SEC_CRIT) ; -+ /bin/gawk-3.1.0 -> $(SEC_CRIT) ; -+ /bin/gettext -> $(SEC_CRIT) ; -+ /bin/grep -> $(SEC_CRIT) ; -+ /bin/gunzip -> $(SEC_CRIT) ; -+ /bin/gzip -> $(SEC_CRIT) ; -+ /bin/hostname -> $(SEC_CRIT) ; -+ /bin/igawk -> $(SEC_CRIT) ; -+ /bin/ipcalc -> $(SEC_CRIT) ; -+ /bin/kill -> $(SEC_CRIT) ; -+ /bin/ln -> $(SEC_CRIT) ; -+ /bin/loadkeys -> $(SEC_CRIT) ; -+ /bin/login -> $(SEC_CRIT) ; -+ /bin/ls -> $(SEC_CRIT) ; -+ /bin/mail -> $(SEC_CRIT) ; -+ /bin/more -> $(SEC_CRIT) ; -+ /bin/mt -> $(SEC_CRIT) ; -+ /bin/mv -> $(SEC_CRIT) ; -+ /bin/netstat -> $(SEC_CRIT) ; -+ /bin/nice -> $(SEC_CRIT) ; -+ /bin/pgawk -> $(SEC_CRIT) ; -+ /bin/ps -> $(SEC_CRIT) ; -+ /bin/rpm -> $(SEC_CRIT) ; -+ /bin/sed -> $(SEC_CRIT) ; -+ /bin/sleep -> $(SEC_CRIT) ; -+ /bin/sort -> $(SEC_CRIT) ; -+ /bin/stty -> $(SEC_CRIT) ; -+ /bin/su -> $(SEC_CRIT) ; -+ /bin/sync -> $(SEC_CRIT) ; -+ /bin/tar -> $(SEC_CRIT) ; -+ /bin/true -> $(SEC_CRIT) ; -+ /bin/usleep -> $(SEC_CRIT) ; -+ /bin/vi -> $(SEC_CRIT) ; -+ /bin/zcat -> $(SEC_CRIT) ; -+ /bin/zsh -> $(SEC_CRIT) ; -+ #/bin/zsh-4.0.2 -> $(SEC_CRIT) ; -+ /sbin/sln -> $(SEC_CRIT) ; -+ /usr/bin/vimtutor -> $(SEC_CRIT) ; -+} -+ -+ ############################## -+ # ## -+############################## # -+# # # -+# Critical Utility Sym-Links # # -+# ## -+############################## -+( -+ rulename = "Critical Utility Sym-Links", -+ severity = $(SIG_HI) -+) -+{ -+ #/sbin/askrunlevel -> $(SEC_CRIT) ; -+ /sbin/clock -> $(SEC_CRIT) ; -+ #/sbin/fixperm -> $(SEC_CRIT) ; -+ /sbin/fsck.reiserfs -> $(SEC_CRIT) ; -+ #/sbin/fsconf -> $(SEC_CRIT) ; -+ /sbin/ipfwadm-wrapper -> $(SEC_CRIT) ; -+ /sbin/kallsyms -> $(SEC_CRIT) ; -+ /sbin/ksyms -> $(SEC_CRIT) ; -+ /sbin/lsmod -> $(SEC_CRIT) ; -+ #/sbin/mailconf -> $(SEC_CRIT) ; -+ /sbin/mkfs.reiserfs -> $(SEC_CRIT) ; -+ #/sbin/modemconf -> $(SEC_CRIT) ; -+ /sbin/modprobe -> $(SEC_CRIT) ; -+ /sbin/mount.ncp -> $(SEC_CRIT) ; -+ /sbin/mount.ncpfs -> $(SEC_CRIT) ; -+ /sbin/mount.smb -> $(SEC_CRIT) ; -+ /sbin/mount.smbfs -> $(SEC_CRIT) ; -+ #/sbin/netconf -> $(SEC_CRIT) ; -+ /sbin/pidof -> $(SEC_CRIT) ; -+ /sbin/poweroff -> $(SEC_CRIT) ; -+ /sbin/quotaoff -> $(SEC_CRIT) ; -+ /sbin/raid0run -> $(SEC_CRIT) ; -+ /sbin/raidhotadd -> $(SEC_CRIT) ; -+ /sbin/raidhotgenerateerror -> $(SEC_CRIT) ; -+ /sbin/raidhotremove -> $(SEC_CRIT) ; -+ /sbin/raidstop -> $(SEC_CRIT) ; -+ /sbin/rdump -> $(SEC_CRIT) ; -+ /sbin/rdump.static -> $(SEC_CRIT) ; -+ /sbin/reboot -> $(SEC_CRIT) ; -+ /sbin/rmmod -> $(SEC_CRIT) ; -+ /sbin/rrestore -> $(SEC_CRIT) ; -+ /sbin/rrestore.static -> $(SEC_CRIT) ; -+ /sbin/swapoff -> $(SEC_CRIT) ; -+ /sbin/telinit -> $(SEC_CRIT) ; -+ #/sbin/userconf -> $(SEC_CRIT) ; -+ #/sbin/uucpconf -> $(SEC_CRIT) ; -+ #/sbin/vregistry -> $(SEC_CRIT) ; -+ /bin/awk -> $(SEC_CRIT) ; -+ /bin/bash2 -> $(SEC_CRIT) ; -+ /bin/bsh -> $(SEC_CRIT) ; -+ /bin/csh -> $(SEC_CRIT) ; -+ /bin/dnsdomainname -> $(SEC_CRIT) ; -+ /bin/domainname -> $(SEC_CRIT) ; -+ /bin/ex -> $(SEC_CRIT) ; -+ /bin/gtar -> $(SEC_CRIT) ; -+ /bin/nisdomainname -> $(SEC_CRIT) ; -+ /bin/red -> $(SEC_CRIT) ; -+ /bin/rvi -> $(SEC_CRIT) ; -+ /bin/rview -> $(SEC_CRIT) ; -+ /bin/view -> $(SEC_CRIT) ; -+ /bin/ypdomainname -> $(SEC_CRIT) ; -+} -+ -+ -+ ######################### -+ # ## -+######################### # -+# # # -+# Temporary directories # # -+# ## -+######################### -+( -+ rulename = "Temporary directories", -+ recurse = false, -+ severity = $(SIG_LOW) -+) -+{ -+ /usr/tmp -> $(SEC_INVARIANT) ; -+ /var/tmp -> $(SEC_INVARIANT) ; -+ /tmp -> $(SEC_INVARIANT) ; -+} -+ -+ ############### -+ # ## -+############### # -+# # # -+# Local files # # -+# ## -+############### -+( -+ rulename = "User binaries", -+ severity = $(SIG_MED) -+) -+{ -+ /sbin -> $(SEC_BIN) (recurse = 1) ; -+ /usr/bin -> $(SEC_BIN) (recurse = 1) ; -+ /usr/sbin -> $(SEC_BIN) (recurse = 1) ; -+ /usr/local/bin -> $(SEC_BIN) (recurse = 1) ; -+} -+ -+( -+ rulename = "Shell Binaries", -+ severity = $(SIG_HI) -+) -+{ -+ /bin/bash -> $(SEC_BIN) ; -+ /bin/ksh -> $(SEC_BIN) ; -+ # /bin/psh -> $(SEC_BIN) ; # No longer used? -+ # /bin/Rsh -> $(SEC_BIN) ; # No longer used? -+ /bin/sh -> $(SEC_BIN) ; -+ # /bin/shell -> $(SEC_SUID) ; # No longer used? -+ # /bin/tsh -> $(SEC_BIN) ; # No longer used? -+ /bin/tcsh -> $(SEC_BIN) ; -+ /sbin/nologin -> $(SEC_BIN) ; -+} -+ -+( -+ rulename = "Security Control", -+ severity = $(SIG_HI) -+) -+{ -+ /etc/group -> $(SEC_CRIT) ; -+ /etc/security -> $(SEC_CRIT) ; -+ #/var/spool/cron/crontabs -> $(SEC_CRIT) ; # Uncomment when this file exists -+} -+ -+#( -+# rulename = "Boot Scripts", -+# severity = $(SIG_HI) -+#) -+#{ -+# /etc/rc -> $(SEC_CONFIG) ; -+# /etc/rc.bsdnet -> $(SEC_CONFIG) ; -+# /etc/rc.dt -> $(SEC_CONFIG) ; -+# /etc/rc.net -> $(SEC_CONFIG) ; -+# /etc/rc.net.serial -> $(SEC_CONFIG) ; -+# /etc/rc.nfs -> $(SEC_CONFIG) ; -+# /etc/rc.powerfail -> $(SEC_CONFIG) ; -+# /etc/rc.tcpip -> $(SEC_CONFIG) ; -+# /etc/trcfmt.Z -> $(SEC_CONFIG) ; -+#} -+ -+( -+ rulename = "Login Scripts", -+ severity = $(SIG_HI) -+) -+{ -+ /etc/bashrc -> $(SEC_CONFIG) ; -+ /etc/csh.cshrc -> $(SEC_CONFIG) ; -+ /etc/csh.login -> $(SEC_CONFIG) ; -+ /etc/inputrc -> $(SEC_CONFIG) ; -+ # /etc/tsh_profile -> $(SEC_CONFIG) ; #Uncomment when this file exists -+ /etc/profile -> $(SEC_CONFIG) ; -+} -+ -+# Libraries -+( -+ rulename = "Libraries", -+ severity = $(SIG_MED) -+) -+{ -+ /usr/lib -> $(SEC_BIN) ; -+ /usr/local/lib -> $(SEC_BIN) ; -+} -+ -+ -+ ###################################################### -+ # ## -+###################################################### # -+# # # -+# Critical System Boot Files # # -+# These files are critical to a correct system boot. # # -+# ## -+###################################################### -+ -+( -+ rulename = "Critical system boot files", -+ severity = $(SIG_HI) -+) -+{ -+ /boot -> $(SEC_CRIT) ; -+ #/sbin/devfsd -> $(SEC_CRIT) ; -+ /sbin/grub -> $(SEC_CRIT) ; -+ /sbin/grub-install -> $(SEC_CRIT) ; -+ /sbin/grub-md5-crypt -> $(SEC_CRIT) ; -+ /sbin/installkernel -> $(SEC_CRIT) ; -+ /sbin/lilo -> $(SEC_CRIT) ; -+ /sbin/mkkerneldoth -> $(SEC_CRIT) ; -+ !/boot/System.map ; -+ !/boot/module-info ; -+ /usr/share/grub/i386-redhat/e2fs_stage1_5 -> $(SEC_CRIT) ; -+ /usr/share/grub/i386-redhat/fat_stage1_5 -> $(SEC_CRIT) ; -+ /usr/share/grub/i386-redhat/ffs_stage1_5 -> $(SEC_CRIT) ; -+ /usr/share/grub/i386-redhat/minix_stage1_5 -> $(SEC_CRIT) ; -+ /usr/share/grub/i386-redhat/reiserfs_stage1_5 -> $(SEC_CRIT) ; -+ /usr/share/grub/i386-redhat/stage1 -> $(SEC_CRIT) ; -+ /usr/share/grub/i386-redhat/stage2 -> $(SEC_CRIT) ; -+ /usr/share/grub/i386-redhat/vstafs_stage1_5 -> $(SEC_CRIT) ; -+ # other boot files may exist. Look for: -+ #/ufsboot -> $(SEC_CRIT) ; -+} -+ ################################################## -+ ################################################### -+ # These files change every time the system boots ## -+ ################################################## -+( -+ rulename = "System boot changes", -+ severity = $(SIG_HI) -+) -+{ -+ !/var/run/ftp.pids-all ; # Comes and goes on reboot. -+ !/root/.enlightenment ; -+ /dev/log -> $(SEC_CONFIG) ; -+ /dev/cua0 -> $(SEC_CONFIG) ; -+ # /dev/printer -> $(SEC_CONFIG) ; # Uncomment if you have a printer device -+ /dev/console -> $(SEC_CONFIG) -u ; # User ID may change on console login/logout. -+ /dev/tty1 -> $(SEC_CONFIG) ; # tty devices -+ /dev/tty2 -> $(SEC_CONFIG) ; # tty devices -+ /dev/tty3 -> $(SEC_CONFIG) ; # are extremely -+ /dev/tty4 -> $(SEC_CONFIG) ; # variable -+ /dev/tty5 -> $(SEC_CONFIG) ; -+ /dev/tty6 -> $(SEC_CONFIG) ; -+ /dev/urandom -> $(SEC_CONFIG) ; -+ /dev/initctl -> $(SEC_CONFIG) ; -+ /var/lock/subsys -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/amd -> $(SEC_CONFIG) ; -+ /var/lock/subsys/anacron -> $(SEC_CONFIG) ; -+ /var/lock/subsys/apmd -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/arpwatch -> $(SEC_CONFIG) ; -+ /var/lock/subsys/atd -> $(SEC_CONFIG) ; -+ /var/lock/subsys/autofs -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/bcm5820 -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/bgpd -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/bootparamd -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/canna -> $(SEC_CONFIG) ; -+ /var/lock/subsys/crond -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/cWnn -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/dhcpd -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/firewall -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/freeWnn -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/gated -> $(SEC_CONFIG) ; -+ /var/lock/subsys/gpm -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/httpd -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/identd -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/innd -> $(SEC_CONFIG) ; -+ /var/lock/subsys/ipchains -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/iptables -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/ipvsadm -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/irda -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/iscsi -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/isdn -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/junkbuster -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/kadmin -> $(SEC_CONFIG) ; -+ /var/lock/subsys/keytable -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/kprop -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/krb524 -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/krb5kdc -> $(SEC_CONFIG) ; -+ /var/lock/subsys/kudzu -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/kWnn -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/ldap -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/linuxconf -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/lpd -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/mars_nwe -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/mcserv -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/mysqld -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/named -> $(SEC_CONFIG) ; -+ /var/lock/subsys/netfs -> $(SEC_CONFIG) ; -+ /var/lock/subsys/network -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/nfs -> $(SEC_CONFIG) ; -+ /var/lock/subsys/nfslock -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/nscd -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/ntpd -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/ospf6d -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/ospfd -> $(SEC_CONFIG) ; -+ /var/lock/subsys/pcmcia -> $(SEC_CONFIG) ; -+ /var/lock/subsys/portmap -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/postgresql -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/pxe -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/radvd -> $(SEC_CONFIG) ; -+ /var/lock/subsys/random -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/rarpd -> $(SEC_CONFIG) ; -+ /var/lock/subsys/reconfig -> $(SEC_CONFIG) ; -+ /var/lock/subsys/rhnsd -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/ripd -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/ripngd -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/routed -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/rstatd -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/rusersd -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/rwalld -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/rwhod -> $(SEC_CONFIG) ; -+ /var/lock/subsys/sendmail -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/smb -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/snmpd -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/squid -> $(SEC_CONFIG) ; -+ /var/lock/subsys/sshd -> $(SEC_CONFIG) ; -+ /var/lock/subsys/syslog -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/tux -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/tWnn -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/ups -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/vncserver -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/wine -> $(SEC_CONFIG) ; -+ /var/lock/subsys/xfs -> $(SEC_CONFIG) ; -+ /var/lock/subsys/xinetd -> $(SEC_CONFIG) ; -+ /var/lock/subsys/ypbind -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/yppasswdd -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/ypserv -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/ypxfrd -> $(SEC_CONFIG) ; -+ #/var/lock/subsys/zebra -> $(SEC_CONFIG) ; -+ /var/run -> $(SEC_CONFIG) ; -+ /var/log -> $(SEC_CONFIG) ; -+ /etc/ioctl.save -> $(SEC_CONFIG) ; -+ /etc/issue.net -> $(SEC_CONFIG) -i ; # Inode number changes -+ /etc/issue -> $(SEC_CONFIG) ; -+ /etc/mtab -> $(SEC_CONFIG) -i ; # Inode number changes on any mount/unmount -+ /lib/modules -> $(SEC_CONFIG) ; -+ /etc/.pwd.lock -> $(SEC_CONFIG) ; -+ # /lib/modules/preferred -> $(SEC_CONFIG) ; #Uncomment when this file exists -+} -+ -+# These files change the behavior of the root account -+( -+ rulename = "Root config files", -+ severity = 100 -+) -+{ -+ /root -> $(SEC_CRIT) ; # Catch all additions to /root -+ #/root/.Xresources -> $(SEC_CONFIG) ; -+ /root/.bashrc -> $(SEC_CONFIG) ; -+ /root/.bash_profile -> $(SEC_CONFIG) ; -+ /root/.bash_logout -> $(SEC_CONFIG) ; -+ /root/.cshrc -> $(SEC_CONFIG) ; -+ /root/.tcshrc -> $(SEC_CONFIG) ; -+ /root/Mail -> $(SEC_CONFIG) ; -+ #/root/mail -> $(SEC_CONFIG) ; -+ #/root/.amandahosts -> $(SEC_CONFIG) ; -+ #/root/.addressbook.lu -> $(SEC_CONFIG) ; -+ #/root/.addressbook -> $(SEC_CONFIG) ; -+ /root/.bash_history -> $(SEC_CONFIG) ; -+ /root/.elm -> $(SEC_CONFIG) ; -+ #/root/.esd_auth -> $(SEC_CONFIG) ; -+ /root/.gnome_private -> $(SEC_CONFIG) ; -+ /root/.gnome-desktop -> $(SEC_CONFIG) ; -+ /root/.gnome -> $(SEC_CONFIG) ; -+ /root/.ICEauthority -> $(SEC_CONFIG) ; -+ #/root/.mc -> $(SEC_CONFIG) ; -+ #/root/.pinerc -> $(SEC_CONFIG) ; -+ /root/.sawfish -> $(SEC_CONFIG) ; -+ /root/.Xauthority -> $(SEC_CONFIG) -i ; # Changes Inode number on login -+ #/root/.xauth -> $(SEC_CONFIG) ; -+ /root/.xsession-errors -> $(SEC_CONFIG) ; -+} -+ -+ ################################ -+ # ## -+################################ # -+# # # -+# Critical configuration files # # -+# ## -+################################ -+( -+ rulename = "Critical configuration files", -+ severity = $(SIG_HI) -+) -+{ -+ #/etc/conf.linuxconf -> $(SEC_BIN) ; -+ /etc/crontab -> $(SEC_BIN) ; -+ /etc/cron.hourly -> $(SEC_BIN) ; -+ /etc/cron.daily -> $(SEC_BIN) ; -+ /etc/cron.weekly -> $(SEC_BIN) ; -+ /etc/cron.monthly -> $(SEC_BIN) ; -+ /etc/default -> $(SEC_BIN) ; -+ /etc/fstab -> $(SEC_BIN) ; -+ /etc/exports -> $(SEC_BIN) ; -+ /etc/group- -> $(SEC_BIN) ; # changes should be infrequent -+ /etc/host.conf -> $(SEC_BIN) ; -+ /etc/hosts.allow -> $(SEC_BIN) ; -+ /etc/hosts.deny -> $(SEC_BIN) ; -+ /etc/httpd/conf -> $(SEC_BIN) ; # changes should be infrequent -+ /etc/protocols -> $(SEC_BIN) ; -+ /etc/services -> $(SEC_BIN) ; -+ /etc/rc.d/init.d -> $(SEC_BIN) ; -+ /etc/rc.d -> $(SEC_BIN) ; -+ /etc/mail.rc -> $(SEC_BIN) ; -+ /etc/modules.conf -> $(SEC_BIN) ; -+ /etc/motd -> $(SEC_BIN) ; -+ /etc/named.conf -> $(SEC_BIN) ; -+ /etc/passwd -> $(SEC_CONFIG) ; -+ /etc/passwd- -> $(SEC_CONFIG) ; -+ /etc/profile.d -> $(SEC_BIN) ; -+ /var/lib/nfs/rmtab -> $(SEC_BIN) ; -+ /usr/sbin/fixrmtab -> $(SEC_BIN) ; -+ /etc/rpc -> $(SEC_BIN) ; -+ /etc/sysconfig -> $(SEC_BIN) ; -+ /etc/samba/smb.conf -> $(SEC_CONFIG) ; -+ #/etc/gettydefs -> $(SEC_BIN) ; -+ /etc/nsswitch.conf -> $(SEC_BIN) ; -+ /etc/yp.conf -> $(SEC_BIN) ; -+ /etc/hosts -> $(SEC_CONFIG) ; -+ /etc/xinetd.conf -> $(SEC_CONFIG) ; -+ /etc/inittab -> $(SEC_CONFIG) ; -+ /etc/resolv.conf -> $(SEC_CONFIG) ; -+ /etc/syslog.conf -> $(SEC_CONFIG) ; -+} -+ -+ #################### -+ # ## -+#################### # -+# # # -+# Critical devices # # -+# ## -+#################### -+( -+ rulename = "Critical devices", -+ severity = $(SIG_HI), -+ recurse = false -+) -+{ -+ /dev/kmem -> $(Device) ; -+ /dev/mem -> $(Device) ; -+ /dev/null -> $(Device) ; -+ /dev/zero -> $(Device) ; -+ /proc/devices -> $(Device) ; -+ /proc/net -> $(Device) ; -+ /proc/sys -> $(Device) ; -+ /proc/cpuinfo -> $(Device) ; -+ /proc/modules -> $(Device) ; -+ /proc/mounts -> $(Device) ; -+ /proc/dma -> $(Device) ; -+ /proc/filesystems -> $(Device) ; -+ /proc/pci -> $(Device) ; -+ /proc/interrupts -> $(Device) ; -+ /proc/driver/rtc -> $(Device) ; -+ /proc/ioports -> $(Device) ; -+ #/proc/scsi -> $(Device) ; -+ /proc/kcore -> $(Device) ; -+ /proc/self -> $(Device) ; -+ /proc/kmsg -> $(Device) ; -+ /proc/stat -> $(Device) ; -+ /proc/ksyms -> $(Device) ; -+ /proc/loadavg -> $(Device) ; -+ /proc/uptime -> $(Device) ; -+ /proc/locks -> $(Device) ; -+ /proc/version -> $(Device) ; -+ /proc/mdstat -> $(Device) ; -+ /proc/meminfo -> $(Device) ; -+ /proc/cmdline -> $(Device) ; -+ /proc/misc -> $(Device) ; -+} -+ -+# Rest of critical system binaries -+( -+ rulename = "OS executables and libraries", -+ severity = $(SIG_HI) -+) -+{ -+ /bin -> $(SEC_BIN) ; -+ /lib -> $(SEC_BIN) ; -+} -+ -+#============================================================================= -+# -+# Copyright 2000 Tripwire, Inc. Tripwire is a registered trademark of Tripwire, -+# Inc. in the United States and other countries. All rights reserved. -+# -+# Linux is a registered trademark of Linus Torvalds. -+# -+# UNIX is a registered trademark of The Open Group. -+# -+#============================================================================= -+# -+# Permission is granted to make and distribute verbatim copies of this document -+# provided the copyright notice and this permission notice are preserved on all -+# copies. -+# -+# Permission is granted to copy and distribute modified versions of this -+# document under the conditions for verbatim copying, provided that the entire -+# resulting derived work is distributed under the terms of a permission notice -+# identical to this one. -+# -+# Permission is granted to copy and distribute translations of this document -+# into another language, under the above conditions for modified versions, -+# except that this permission notice may be stated in a translation approved by -+# Tripwire, Inc. -+# -+# DCM -+# -+# $Id: twpol-Linux.txt,v 1.1 2003/06/08 02:00:06 pherman Exp $ -+# -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/policy/twpol-OpenBSD.txt tripwire-2.3.1-2/policy/twpol-OpenBSD.txt ---- tripwire-2.3.1-2.old/policy/twpol-OpenBSD.txt Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/policy/twpol-OpenBSD.txt Sat Jun 7 19:00:06 2003 -@@ -0,0 +1,292 @@ -+ ############################################################################## -+ # ## -+############################################################################## # -+# # # -+# Policy file for OpenBSD 3.3 # # -+# May 20, 2003 # # -+# ## -+############################################################################## -+ -+ ############################################################################## -+ # ## -+############################################################################## # -+# # # -+# Global Variable Definitions # # -+# # # -+# These are defined at install time by the installation script. You may # # -+# manually edit these if you are using this file directly and not from the # # -+# installation script itself. # # -+# ## -+############################################################################## -+ -+@@section GLOBAL -+TWROOT=; -+TWBIN=; -+TWPOL=; -+TWDB=; -+TWSKEY=; -+TWLKEY=; -+TWREPORT=; -+HOSTNAME=; -+ -+ ############################################################################## -+ # Predefined Variables # -+############################################################################## -+# -+# Property Masks -+# -+# - ignore the following properties -+# + check the following properties -+# -+# a access timestamp (mutually exclusive with +CMSH) -+# b number of blocks allocated -+# c inode creation/modification timestamp -+# d ID of device on which inode resides -+# g group id of owner -+# i inode number -+# l growing files (logfiles for example) -+# m modification timestamp -+# n number of links -+# p permission and file mode bits -+# r ID of device pointed to by inode (valid only for device objects) -+# s file size -+# t file type -+# u user id of owner -+# -+# C CRC-32 hash -+# H HAVAL hash -+# M MD5 hash -+# S SHA hash -+# -+############################################################################## -+ -+Device = +pugsdr-intlbamcCMSH ; -+Dynamic = +pinugtd-srlbamcCMSH ; -+Growing = +pinugtdl-srbamcCMSH ; -+IgnoreAll = -pinugtsdrlbamcCMSH ; -+IgnoreNone = +pinugtsdrbamcCMSH-l ; -+ReadOnly = +pinugtsdbmCM-rlacSH ; -+Temporary = +pugt ; -+ -+@@section FS -+ -+ ######################################## -+ # ## -+######################################## # -+# # # -+# Tripwire Binaries and Data Files # # -+# ## -+######################################## -+ -+# Tripwire Binaries -+( -+ rulename = "Tripwire Binaries", -+) -+{ -+ $(TWBIN)/siggen -> $(ReadOnly) ; -+ $(TWBIN)/tripwire -> $(ReadOnly) ; -+ $(TWBIN)/twadmin -> $(ReadOnly) ; -+ $(TWBIN)/twprint -> $(ReadOnly) ; -+} -+ -+# Tripwire Data Files - Configuration Files, Policy Files, Keys, Reports, Databases -+( -+ rulename = "Tripwire Data Files", -+) -+{ -+ # NOTE: We remove the inode attribute because when Tripwire creates a backup, -+ # it does so by renaming the old file and creating a new one (which will -+ # have a new inode number). Inode is left turned on for keys, which shouldn't -+ # ever change. -+ -+ # NOTE: The first integrity check triggers this rule and each integrity check -+ # afterward triggers this rule until a database update is run, since the -+ # database file does not exist before that point. -+ -+ $(TWDB) -> $(Dynamic) -i ; -+ $(TWPOL)/tw.pol -> $(ReadOnly) -i ; -+ $(TWPOL)/tw.cfg -> $(ReadOnly) -i ; -+ $(TWLKEY)/$(HOSTNAME)-local.key -> $(ReadOnly) ; -+ $(TWSKEY)/site.key -> $(ReadOnly) ; -+ -+ # don't scan the individual reports -+ $(TWREPORT) -> $(Dynamic) (recurse=0) ; -+ -+ # In this configuration /usr/local is a symbolic link to /home/local. -+ # We want to ignore the following directories since they are already -+ # scanned using the real directory or mount point. Otherwise we see -+ # duplicates in the reports. -+ -+ !/home/local ; -+} -+ -+ ################################################ -+ # ## -+################################################ # -+# # # -+# OS Boot and Configuration Files # # -+# ## -+################################################ -+( -+ rulename = "OS Boot and Configuration Files", -+) -+{ -+ /boot -> $(ReadOnly) ; -+ /bsd -> $(ReadOnly) ; -+ /etc -> $(IgnoreNone) -SHa ; -+} -+ -+ ################################################### -+ # ## -+################################################### # -+# # # -+# Mount Points # # -+# ## -+################################################### -+( -+ rulename = "Mount Points", -+) -+{ -+ / -> $(ReadOnly) ; -+ /cdrom -> $(Dynamic) ; -+ /floppy -> $(Dynamic) ; -+ /home -> $(ReadOnly) ; # Modify as needed -+ /mnt -> $(Dynamic) ; -+ /usr -> $(ReadOnly) ; -+ /var -> $(ReadOnly) ; -+} -+ -+ ################################################### -+ # ## -+################################################### # -+# # # -+# Misc Top-Level Directories # # -+# ## -+################################################### -+( -+ rulename = "Misc Top-Level Directories", -+) -+{ -+ /altroot -> $(Dynamic) ; -+ /stand -> $(Dynamic) ; -+} -+ -+ ################################################ -+ # ## -+################################################ # -+# # # -+# System Devices # # -+# ## -+################################################ -+( -+ rulename = "System Devices", -+) -+{ -+ /dev -> $(Device) ; -+ /dev/fd -> $(Device) ; -+ /var/cron/tabs/.sock -> $(Device) ; -+ /var/empty/dev/log -> $(Device) ; -+} -+ -+ ################################################ -+ # ## -+################################################ # -+# # # -+# OS Binaries and Libraries # # -+# ## -+################################################ -+( -+ rulename = "OS Binaries and Libraries", -+) -+{ -+ /bin -> $(ReadOnly) ; -+ /sbin -> $(ReadOnly) ; -+ /usr/bin -> $(ReadOnly) ; -+ /usr/lib -> $(ReadOnly) ; -+ /usr/libexec -> $(ReadOnly) ; -+ /usr/sbin -> $(ReadOnly) ; -+ /usr/X11R6/bin -> $(ReadOnly) ; -+ /usr/X11R6/lib -> $(ReadOnly) ; -+} -+ ################################################ -+ # ## -+################################################ # -+# # # -+# Usr Local Files # # -+# ## -+################################################ -+#OK( -+ #OKrulename = "Usr Local Files", -+#OK) -+#OK{ -+ #OK/usr/local -> $(ReadOnly) ; -+ #OK/usr/local/bin -> $(ReadOnly) ; -+ #OK/usr/local/doc -> $(ReadOnly) ; -+ #OK/usr/local/etc -> $(ReadOnly) ; -+ #OK/usr/local/include -> $(ReadOnly) ; -+ #OK/usr/local/info -> $(ReadOnly) ; -+ #OK/usr/local/lib -> $(ReadOnly) ; -+ #OK/usr/local/libdata -> $(ReadOnly) ; -+ #OK/usr/local/libexec -> $(ReadOnly) ; -+ #OK/usr/local/man -> $(ReadOnly) ; -+ #OK/usr/local/sbin -> $(ReadOnly) ; -+ #OK/usr/local/share -> $(ReadOnly) ; -+ #OK/usr/local/src -> $(ReadOnly) ; -+#OK} -+ -+ ################################################ -+ # ## -+################################################ # -+# # # -+# Root Directory and Files # # -+# ## -+################################################ -+( -+ rulename = "Root Directory and Files", -+) -+{ -+ /root -> $(IgnoreNone) -SHa ; -+ /root/.cshrc -> $(Dynamic) ; -+ /root/.profile -> $(Dynamic) ; -+} -+ -+ ################################################ -+ # ## -+################################################ # -+# # # -+# Temporary Directories # # -+# ## -+################################################ -+( -+ rulename = "Temporary Directories", -+) -+{ -+ /tmp -> $(Temporary) ; -+ /var/tmp -> $(Temporary) ; -+} -+ -+ ################################################ -+ # ## -+################################################ # -+# # # -+# System and Boot Changes # # -+# ## -+################################################ -+( -+ rulename = "System and Boot Changes", -+) -+{ -+ /var/backups -> $(Dynamic) -i ; -+ /var/db/host.random -> $(ReadOnly) -mCM ; -+ /var/cron -> $(Growing) -i ; -+ /var/log -> $(Growing) -i ; -+ /var/run -> $(Dynamic) -i ; -+ /var/mail -> $(Growing) ; -+ /var/msgs/bounds -> $(ReadOnly) -smbCM ; -+ /var/spool/clientmqueue -> $(Temporary) ; -+ /var/spool/mqueue -> $(Temporary) ; -+} -+ -+# -+# $Id: twpol-OpenBSD.txt,v 1.1 2003/06/08 02:00:06 pherman Exp $ -+# -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/policy/twpol-SunOS.txt tripwire-2.3.1-2/policy/twpol-SunOS.txt ---- tripwire-2.3.1-2.old/policy/twpol-SunOS.txt Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/policy/twpol-SunOS.txt Sat Jun 7 19:00:06 2003 -@@ -0,0 +1,822 @@ -+ ############################################################################## -+ # ## -+############################################################################## # -+# # # -+# Policy file for Solaris 2.8 # # -+# V1.0.0 # # -+# September 4, 2002 # # -+# ## -+############################################################################## -+ -+ -+ ############################################################################## -+ # ## -+############################################################################## # -+# # # -+# This is the example Tripwire Policy file. It is intended as a place to # # -+# start creating your own custom Tripwire Policy file. Referring to it as # # -+# well as the Tripwire Policy Guide should give you enough information to # # -+# make a good custom Tripwire Policy file that better covers your # # -+# configuration and security needs. A text version of this policy file is # # -+# called twpol.txt. # # -+# # # -+# Note that this file is tuned to an 'everything' install of Solaris. # # -+# If run unmodified, this file should create no errors on database # # -+# creation, or violations on a subsiquent integrity check. However, it is # # -+# impossible for there to be one policy file for all machines, so this # # -+# existing one errs on the side of security. Your Solaris configuration # # -+# will most likey differ from the one our policy file was tuned to, and will # # -+# therefore require some editing of the default Tripwire Policy file. # # -+# # # -+# The example policy file is best run with 'Loose Directory Checking' # # -+# enabled. Set LOOSEDIRECTORYCHECKING=TRUE in the Tripwire Configuration # # -+# file. # # -+# # # -+# Email support is not included and must be added to this file. # # -+# Add the 'emailto=' to the rule directive section of each rule (add a comma # # -+# after the 'severity=' line and add an 'emailto=' and include the email # # -+# addresses you want the violation reports to go to). Addresses are # # -+# semi-colon delimited. # # -+# ## -+############################################################################## -+ -+ -+ -+ ############################################################################## -+ # ## -+############################################################################## # -+# # # -+# Global Variable Definitions # # -+# # # -+# These are defined at install time by the installation script. You may # # -+# Manually edit these if you are using this file directly and not from the # # -+# installation script itself. # # -+# ## -+############################################################################## -+ -+@@section GLOBAL -+TWROOT=; -+TWBIN=; -+TWPOL=; -+TWDB=; -+TWSKEY=; -+TWLKEY=; -+TWREPORT=; -+HOSTNAME=; -+ -+@@section FS -+SEC_CRIT = $(IgnoreNone)-SHa ; # Critical files that cannot change -+SEC_SUID = $(IgnoreNone)-SHa ; # Binaries with the SUID or SGID flags set -+SEC_BIN = $(ReadOnly) ; # Binaries that should not change -+SEC_CONFIG = $(Dynamic) ; # Config files that are changed -+ # infrequently but accessed often -+SEC_LOG = $(Growing) ; # Files that grow, but that should -+ # never change ownership -+SEC_INVARIANT = +tpug ; # Directories that should never -+ # change permission or ownership -+SIG_LOW = 33 ; # Non-critical files that are of -+ # minimal security impact -+SIG_MED = 66 ; # Non-critical files that are of -+ # significant security impact -+SIG_HI = 100 ; # Critical files that are -+ # significant points of vulnerability -+ -+ -+# Tripwire Binaries -+( -+ rulename = "Tripwire Binaries", -+ severity = $(SIG_HI) -+) -+{ -+ $(TWBIN)/siggen -> $(SEC_BIN) ; -+ $(TWBIN)/tripwire -> $(SEC_BIN) ; -+ $(TWBIN)/twadmin -> $(SEC_BIN) ; -+ $(TWBIN)/twprint -> $(SEC_BIN) ; -+} -+ -+# Tripwire Data Files - Configuration Files, Policy Files, Keys, -+# Reports, Databases -+( -+ rulename = "Tripwire Data Files", -+ severity = $(SIG_HI) -+) -+{ -+ # NOTE: We remove the inode attribute because when Tripwire creates a -+ # backup,it does so by renaming the old file and creating a new one -+ # (which will have a new inode number). Inode is left turned on for -+ # keys, which shouldn't ever change. -+ -+ # NOTE: The first integrity check triggers this rule and each -+ # integrity check afterward triggers this rule until a database -+ # update is run, since the database file does not exist before that -+ # point. -+ -+ $(TWDB) -> $(SEC_CONFIG) -i ; -+ $(TWPOL)/tw.pol -> $(SEC_BIN) -i ; -+ $(TWPOL)/tw.cfg -> $(SEC_BIN) -i ; -+ $(TWLKEY)/$(HOSTNAME)-local.key -> $(SEC_BIN) ; -+ $(TWSKEY)/site.key -> $(SEC_BIN) ; -+ -+ #don't scan the individual reports -+ $(TWREPORT) -> $(SEC_CONFIG) (recurse=0) ; -+} -+ -+ -+# Tripwire HQ Connector Binaries -+#( -+# rulename = "Tripwire HQ Connector Binaries", -+# severity = $(SIG_HI) -+#) -+#{ -+# $(TWBIN)/hqagent -> $(SEC_BIN) ; -+#} -+# -+# Tripwire HQ Connector - Configuration Files, Keys, and Logs -+ -+ ############################################################################## -+ # ## -+############################################################################## # -+# # # -+# Note: File locations here are different than in a stock HQ Connector # # -+# installation. This is because Tripwire 2.3 uses a different path # # -+# structure than Tripwire 2.2.1. # # -+# # # -+# You may need to update your HQ Agent configuation file (or this policy # # -+# file) to correct the paths. We have attempted to support the FHS standard # # -+# here by placing the HQ Agent files similarly to the way Tripwire 2.3 # # -+# places them. # # -+# ## -+############################################################################## -+ -+#( -+# rulename = "Tripwire HQ Connector Data Files", -+# severity = $(SIG_HI) -+#) -+#{ -+ ############################################################################## -+ # ## -+############################################################################## # -+# # # -+# NOTE: Removing the inode attribute because when Tripwire creates a backup # # -+# it does so by renaming the old file and creating a new one (which will # # -+# have a new inode number). Leaving inode turned on for keys, which # # -+# shouldn't ever change. # # -+# ## -+############################################################################# -+# -+# $(TWBIN)/agent.cfg -> $(SEC_BIN) -i ; -+# $(TWLKEY)/authentication.key -> $(SEC_BIN) ; -+# $(TWDB)/tasks.dat -> $(SEC_CONFIG) ; -+# $(TWDB)/schedule.dat -> $(SEC_CONFIG) ; -+# -+# # Uncomment if you have agent logging enabled. -+# #/var/log/tripwire/agent.log -> $(SEC_LOG) ; -+#} -+ -+ -+ -+# Commonly accessed directories that should remain static with regards -+# to owner and group -+( -+ rulename = "Invariant Directories", -+ severity = $(SIG_MED) -+) -+{ -+ / -> $(SEC_INVARIANT) (recurse = 0) ; -+ /home -> $(SEC_INVARIANT) (recurse = 0) ; -+ /etc -> $(SEC_INVARIANT) (recurse = 0) ; -+ /usr/local/etc -> $(SEC_INVARIANT) (recurse = 0) ; -+} -+ ################################################ -+ # ## -+################################################ # -+# # # -+# File System and Disk Administration Programs # # -+# ## -+################################################ -+ -+( -+ rulename = "File System and Disk Administraton Programs", -+ severity = $(SIG_HI) -+) -+{ -+ /usr/lib/acct/accton -> $(SEC_CRIT) ; -+ /usr/ccs/bin/dump -> $(SEC_CRIT) ; -+ /usr/bin/fdformat -> $(SEC_CRIT) ; -+ /usr/sbin/fdisk -> $(SEC_CRIT) ; -+ /usr/sbin/fsck -> $(SEC_CRIT) ; -+ /usr/sbin/format -> $(SEC_CRIT) ; -+ #/sbin/lvchange -> $(SEC_CRIT) ; -+ #/sbin/lvcreate -> $(SEC_CRIT) ; -+ #/sbin/lvdisplay -> $(SEC_CRIT) ; -+ #/sbin/lvextend -> $(SEC_CRIT) ; -+ #/sbin/lvmchange -> $(SEC_CRIT) ; -+ #/sbin/lvmcreate_initrd -> $(SEC_CRIT) ; -+ #/sbin/lvmdiskscan -> $(SEC_CRIT) ; -+ #/sbin/lvmsadc -> $(SEC_CRIT) ; -+ #/sbin/lvmsar -> $(SEC_CRIT) ; -+ #/sbin/lvreduce -> $(SEC_CRIT) ; -+ #/sbin/lvremove -> $(SEC_CRIT) ; -+ #/sbin/lvrename -> $(SEC_CRIT) ; -+ #/sbin/lvscan -> $(SEC_CRIT) ; -+ /usr/sbin/installboot -> $(SEC_CRIT) ; -+ /usr/sbin/mkfs -> $(SEC_CRIT) ; -+ #/sbin/pvchange -> $(SEC_CRIT) ; -+ #/sbin/pvcreate -> $(SEC_CRIT) ; -+ #/sbin/pvdata -> $(SEC_CRIT) ; -+ #/sbin/pvdisplay -> $(SEC_CRIT) ; -+ #/sbin/pvmove -> $(SEC_CRIT) ; -+ #/sbin/pvscan -> $(SEC_CRIT) ; -+ /usr/sbin/quotacheck -> $(SEC_CRIT) ; -+ /usr/sbin/quotaon -> $(SEC_CRIT) ; -+ /usr/sbin/tunefs -> $(SEC_CRIT) ; -+ /usr/sbin/ufsdump -> $(SEC_CRIT) ; -+ /usr/sbin/ufsrestore -> $(SEC_CRIT) ; -+ /usr/bin/unpack -> $(SEC_CRIT) ; -+ #/sbin/vgcfgbackup -> $(SEC_CRIT) ; -+ #/sbin/vgcfgrestore -> $(SEC_CRIT) ; -+ #/sbin/vgchange -> $(SEC_CRIT) ; -+ #/sbin/vgck -> $(SEC_CRIT) ; -+ #/sbin/vgcreate -> $(SEC_CRIT) ; -+ #/sbin/vgdisplay -> $(SEC_CRIT) ; -+ #/sbin/vgexport -> $(SEC_CRIT) ; -+ #/sbin/vgextend -> $(SEC_CRIT) ; -+ #/sbin/vgimport -> $(SEC_CRIT) ; -+ #/sbin/vgmerge -> $(SEC_CRIT) ; -+ #/sbin/vgmknodes -> $(SEC_CRIT) ; -+ #/sbin/vgreduce -> $(SEC_CRIT) ; -+ #/sbin/vgremove -> $(SEC_CRIT) ; -+ #/sbin/vgrename -> $(SEC_CRIT) ; -+ #/sbin/vgscan -> $(SEC_CRIT) ; -+ #/sbin/vgsplit -> $(SEC_CRIT) ; -+ /usr/bin/chgrp -> $(SEC_CRIT) ; -+ /usr/bin/chmod -> $(SEC_CRIT) ; -+ /usr/bin/chown -> $(SEC_CRIT) ; -+ /usr/bin/cp -> $(SEC_CRIT) ; -+ /usr/bin/cpio -> $(SEC_CRIT) ; -+ /usr/sbin/mount -> $(SEC_CRIT) ; -+ /usr/sbin/umount -> $(SEC_CRIT) ; -+ /usr/bin/mkdir -> $(SEC_CRIT) ; -+ /usr/sbin/mknod -> $(SEC_CRIT) ; -+ /usr/bin/rm -> $(SEC_CRIT) ; -+ /usr/bin/rmdir -> $(SEC_CRIT) ; -+ /usr/bin/touch -> $(SEC_CRIT) ; -+} -+ -+ ################################## -+ # ## -+################################## # -+# # # -+# Kernel Administration Programs # # -+# ## -+################################## -+ -+( -+ rulename = "Kernel Administration Programs", -+ severity = $(SIG_HI) -+) -+{ -+ /usr/sbin/modinfo -> $(SEC_CRIT) ; -+ /usr/sbin/modload -> $(SEC_CRIT) ; -+ /usr/sbin/modunload -> $(SEC_CRIT) ; -+} -+ -+ ####################### -+ # ## -+####################### # -+# # # -+# Networking Programs # # -+# ## -+####################### -+ -+( -+ rulename = "Networking Programs", -+ severity = $(SIG_HI) -+) -+{ -+ /usr/sbin/ping -> $(SEC_CRIT) ; -+ /usr/sbin/arp -> $(SEC_CRIT) ; -+ /usr/sbin/dhcpd -> $(SEC_CRIT) ; -+ /usr/sbin/ifconfig -> $(SEC_CRIT) ; -+ /usr/lib/inet/in.dhcpd -> $(SEC_CRIT) ; -+ /usr/lib/inet/in.ndpd -> $(SEC_CRIT) ; -+ /usr/lib/inet/in.ripngd -> $(SEC_CRIT) ; -+ #/sbin/ipvsadm -> $(SEC_CRIT) ; -+ #/sbin/ipvsadm-restore -> $(SEC_CRIT) ; -+ #/sbin/ipvsadm-save -> $(SEC_CRIT) ; -+ /usr/lib/saf/listen -> $(SEC_CRIT) ; -+ /usr/lib/saf/nlps_server -> $(SEC_CRIT) ; -+ #/usr/sbin/in.rarpd -> $(SEC_CRIT) ; -+ /usr/sbin/route -> $(SEC_CRIT) ; -+ /usr/lib/saf/sac -> $(SEC_CRIT) ; -+ /usr/lib/inet/slpd -> $(SEC_CRIT) ; -+ /usr/lib/saf/ttymon -> $(SEC_CRIT) ; -+ /usr/lib/inet/xntpd -> $(SEC_CRIT) ; -+ /usr/lib/netsvc/yp/ypbind -> $(SEC_CRIT) ; -+} -+ -+ ################################## -+ # ## -+################################## # -+# # # -+# System Administration Programs # # -+# ## -+################################## -+ -+( -+ rulename = "System Administration Programs", -+ severity = $(SIG_HI) -+) -+{ -+ /usr/sbin/fuser -> $(SEC_CRIT) ; -+ /usr/sbin/halt -> $(SEC_CRIT) ; -+ /usr/sbin/init -> $(SEC_CRIT) ; -+ /usr/local/bin/install-info -> $(SEC_CRIT) ; -+ /usr/sbin/killall -> $(SEC_CRIT) ; -+ /usr/sbin/rmt -> $(SEC_CRIT) ; -+ /usr/lib/netsvc/rstat/rpc.rstatd -> $(SEC_CRIT) ; -+ /usr/sbin/shutdown -> $(SEC_CRIT) ; -+ /sbin/sulogin -> $(SEC_CRIT) ; -+ /usr/sbin/swap -> $(SEC_CRIT) ; -+ /usr/sbin/syslogd -> $(SEC_CRIT) ; -+ /usr/bin/pwd -> $(SEC_CRIT) ; -+ /usr/bin/uname -> $(SEC_CRIT) ; -+} -+ -+ ######################################## -+ # ## -+######################################## # -+# # # -+# Hardware and Device Control Programs # # -+# ## -+######################################## -+( -+ rulename = "Hardware and Device Control Programs", -+ severity = $(SIG_HI) -+) -+{ -+} -+ -+ ############################### -+ # ## -+############################### # -+# # # -+# System Information Programs # # -+# ## -+############################### -+( -+ rulename = "System Information Programs", -+ severity = $(SIG_HI) -+) -+{ -+ /usr/bin/uptime -> $(SEC_CRIT) ; -+ /usr/bin/who -> $(SEC_CRIT) ; -+} -+ -+ #################################### -+ # ## -+#################################### # -+# # # -+# Application Information Programs # # -+# ## -+#################################### -+ -+( -+ rulename = "Application Information Programs", -+ severity = $(SIG_HI) -+) -+{ -+} -+ -+ ########################## -+ # ## -+########################## # -+# # # -+# Shell Related Programs # # -+# ## -+########################## -+( -+ rulename = "Shell Related Programs", -+ severity = $(SIG_HI) -+) -+{ -+} -+ -+ -+ ################ -+ # ## -+################ # -+# # # -+# OS Utilities # # -+# ## -+################ -+( -+ rulename = "Operating System Utilities", -+ severity = $(SIG_HI) -+) -+{ -+ /usr/bin/arch -> $(SEC_CRIT) ; -+ /usr/bin/basename -> $(SEC_CRIT) ; -+ /usr/bin/cat -> $(SEC_CRIT) ; -+ /usr/bin/cut -> $(SEC_CRIT) ; -+ /usr/bin/date -> $(SEC_CRIT) ; -+ /usr/bin/dd -> $(SEC_CRIT) ; -+ /usr/bin/df -> $(SEC_CRIT) ; -+ /usr/bin/dmesg -> $(SEC_CRIT) ; -+ /usr/bin/echo -> $(SEC_CRIT) ; -+ /usr/bin/ed -> $(SEC_CRIT) ; -+ /usr/bin/egrep -> $(SEC_CRIT) ; -+ /usr/bin/false -> $(SEC_CRIT) ; -+ /usr/bin/fgrep -> $(SEC_CRIT) ; -+ #/usr/local/bin/gawk -> $(SEC_CRIT) ; -+ /usr/bin/gettext -> $(SEC_CRIT) ; -+ /usr/bin/grep -> $(SEC_CRIT) ; -+ /usr/bin/gunzip -> $(SEC_CRIT) ; -+ /usr/bin/gzip -> $(SEC_CRIT) ; -+ /usr/bin/hostname -> $(SEC_CRIT) ; -+ /usr/bin/kill -> $(SEC_CRIT) ; -+ /usr/bin/ln -> $(SEC_CRIT) ; -+ /usr/bin/loadkeys -> $(SEC_CRIT) ; -+ /usr/bin/login -> $(SEC_CRIT) ; -+ /usr/bin/ls -> $(SEC_CRIT) ; -+ /usr/bin/mail -> $(SEC_CRIT) ; -+ /usr/bin/more -> $(SEC_CRIT) ; -+ /usr/bin/mt -> $(SEC_CRIT) ; -+ /usr/bin/mv -> $(SEC_CRIT) ; -+ /usr/bin/nawk -> $(SEC_CRIT) ; -+ /usr/bin/netstat -> $(SEC_CRIT) ; -+ /usr/bin/nice -> $(SEC_CRIT) ; -+ /usr/bin/ps -> $(SEC_CRIT) ; -+ /usr/bin/sed -> $(SEC_CRIT) ; -+ /usr/bin/sleep -> $(SEC_CRIT) ; -+ /usr/bin/sort -> $(SEC_CRIT) ; -+ /usr/bin/stty -> $(SEC_CRIT) ; -+ /usr/bin/su -> $(SEC_CRIT) ; -+ /usr/bin/sync -> $(SEC_CRIT) ; -+ /usr/bin/tar -> $(SEC_CRIT) ; -+ /usr/bin/true -> $(SEC_CRIT) ; -+ /usr/bin/vi -> $(SEC_CRIT) ; -+ /usr/bin/zcat -> $(SEC_CRIT) ; -+ /usr/bin/zsh -> $(SEC_CRIT) ; -+ /usr/local/bin/vimtutor -> $(SEC_CRIT) ; -+} -+ -+ ############################## -+ # ## -+############################## # -+# # # -+# Critical Utility Sym-Links # # -+# ## -+############################## -+( -+ rulename = "Critical Utility Sym-Links", -+ severity = $(SIG_HI) -+) -+{ -+ #/usr/openwin/bin/clock -> $(SEC_CRIT) ; -+ /usr/sbin/poweroff -> $(SEC_CRIT) ; -+ /usr/sbin/quotaoff -> $(SEC_CRIT) ; -+ /usr/sbin/reboot -> $(SEC_CRIT) ; -+ /usr/bin/awk -> $(SEC_CRIT) ; -+ /usr/bin/csh -> $(SEC_CRIT) ; -+ /usr/bin/domainname -> $(SEC_CRIT) ; -+ /usr/bin/ex -> $(SEC_CRIT) ; -+ /usr/local/bin/gtar -> $(SEC_CRIT) ; -+ /usr/bin/red -> $(SEC_CRIT) ; -+ /usr/local/bin/rview -> $(SEC_CRIT) ; -+ /usr/bin/view -> $(SEC_CRIT) ; -+} -+ -+ -+ ######################### -+ # ## -+######################### # -+# # # -+# Temporary directories # # -+# ## -+######################### -+( -+ rulename = "Temporary directories", -+ recurse = false, -+ severity = $(SIG_LOW) -+) -+{ -+ /usr/tmp -> $(SEC_INVARIANT) ; -+ /var/tmp -> $(SEC_INVARIANT) ; -+ /tmp -> $(SEC_INVARIANT) ; -+} -+ -+ ############### -+ # ## -+############### # -+# # # -+# Local files # # -+# ## -+############### -+( -+ rulename = "User binaries", -+ severity = $(SIG_MED) -+) -+{ -+ /sbin -> $(SEC_BIN) (recurse = 1) ; -+ /usr/bin -> $(SEC_BIN) (recurse = 1) ; -+ /usr/sbin -> $(SEC_BIN) (recurse = 1) ; -+ /usr/local/bin -> $(SEC_BIN) (recurse = 1) ; -+ /usr/local/sbin -> $(SEC_BIN) (recurse = 1) ; -+} -+ -+( -+ rulename = "Shell Binaries", -+ severity = $(SIG_HI) -+) -+{ -+ /usr/bin/bash -> $(SEC_BIN) ; -+ /usr/bin/ksh -> $(SEC_BIN) ; -+ /usr/bin/sh -> $(SEC_BIN) ; -+ /usr/bin/tcsh -> $(SEC_BIN) ; -+} -+ -+( -+ rulename = "Security Control", -+ severity = $(SIG_HI) -+) -+{ -+ /etc/group -> $(SEC_CRIT) ; -+ /etc/security -> $(SEC_CRIT) ; -+ /var/spool/cron/crontabs -> $(SEC_CRIT) ; -+} -+ -+( -+ rulename = "Boot Scripts", -+ severity = $(SIG_HI) -+) -+{ -+ /sbin/autopush -> $(SEC_CRIT) ; -+ /sbin/bpgetfile -> $(SEC_CRIT) ; -+ /sbin/dhclient -> $(SEC_CRIT) ; -+ /sbin/dhcpagent -> $(SEC_CRIT) ; -+ /sbin/dhcpinfo -> $(SEC_CRIT) ; -+ /sbin/fdisk -> $(SEC_CRIT) ; -+ /sbin/hostconfig -> $(SEC_CRIT) ; -+ /sbin/ifconfig -> $(SEC_CRIT) ; -+ /sbin/in.mpathd -> $(SEC_CRIT) ; -+ /sbin/init -> $(SEC_CRIT) ; -+ /sbin/jsh -> $(SEC_CRIT) ; -+ /sbin/mount -> $(SEC_CRIT) ; -+ /sbin/mountall -> $(SEC_CRIT) ; -+ /sbin/netstrategy -> $(SEC_CRIT) ; -+ /sbin/rc0 -> $(SEC_CRIT) ; -+ /sbin/rc1 -> $(SEC_CRIT) ; -+ /sbin/rc2 -> $(SEC_CRIT) ; -+ /sbin/rc3 -> $(SEC_CRIT) ; -+ /sbin/rc5 -> $(SEC_CRIT) ; -+ /sbin/rc6 -> $(SEC_CRIT) ; -+ /sbin/rcS -> $(SEC_CRIT) ; -+ /sbin/sh -> $(SEC_CRIT) ; -+ /sbin/soconfig -> $(SEC_CRIT) ; -+ /sbin/su -> $(SEC_CRIT) ; -+ /sbin/su.static -> $(SEC_CRIT) ; -+ /sbin/swapadd -> $(SEC_CRIT) ; -+ /sbin/sync -> $(SEC_CRIT) ; -+ /sbin/uadmin -> $(SEC_CRIT) ; -+ /sbin/umount -> $(SEC_CRIT) ; -+ /sbin/umountall -> $(SEC_CRIT) ; -+ /sbin/uname -> $(SEC_CRIT) ; -+ /etc/init.d -> $(SEC_CRIT) ; -+ /etc/rc0.d -> $(SEC_CRIT) ; -+ /etc/rc1.d -> $(SEC_CRIT) ; -+ /etc/rc2.d -> $(SEC_CRIT) ; -+ /etc/rc3.d -> $(SEC_CRIT) ; -+ /etc/rcS.d -> $(SEC_CRIT) ; -+} -+ -+( -+ rulename = "Login Scripts", -+ severity = $(SIG_HI) -+) -+{ -+ /etc/default/login -> $(SEC_CONFIG) ; -+ /etc/profile -> $(SEC_CONFIG) ; -+} -+ -+# Libraries -+( -+ rulename = "Libraries", -+ severity = $(SIG_MED) -+) -+{ -+ /usr/lib -> $(SEC_BIN) ; -+ /usr/local/lib -> $(SEC_BIN) ; -+} -+ -+ -+ ###################################################### -+ # ## -+###################################################### # -+# # # -+# Critical System Boot Files # # -+# These files are critical to a correct system boot. # # -+# ## -+###################################################### -+ -+( -+ rulename = "Critical system boot files", -+ severity = $(SIG_HI) -+) -+{ -+} -+ ################################################## -+ ################################################### -+ # These files change every time the system boots ## -+ ################################################## -+( -+ rulename = "System boot changes", -+ severity = $(SIG_HI) -+) -+{ -+ /devices/pseudo/log@0:log -> $(SEC_CONFIG) ; -+ /devices/pseudo/cn@0:console -> $(SEC_CONFIG) -u ; # User ID may change on console login/logout. -+ /dev/urandom -> $(SEC_CONFIG) ; -+ /dev/random -> $(SEC_CONFIG) ; -+ /var/run -> $(SEC_CONFIG) ; -+ /var/run/rpc_door -> $(SEC_CONFIG) (recurse=0) ; -+ !/var/run/picld_door ; -+ !/var/run/name_service_door ; -+ !/var/run/syslog_door ; -+ /var/log -> $(SEC_CONFIG) ; -+ /etc/mnttab -> $(SEC_CONFIG) -i ; # Inode number changes on any mount/unmount -+ /etc/.pwd.lock -> $(SEC_CONFIG) ; -+} -+ -+# These files change the behavior of the root account -+( -+ rulename = "Root config files", -+ severity = 100 -+) -+{ -+ #/.Xresources -> $(SEC_CONFIG) ; -+ #/.bashrc -> $(SEC_CONFIG) ; -+ #/.bash_profile -> $(SEC_CONFIG) ; -+ #/.bash_logout -> $(SEC_CONFIG) ; -+ #/.cshrc -> $(SEC_CONFIG) ; -+ /.dtprofile -> $(SEC_CONFIG) ; -+ /.kshrc -> $(SEC_CONFIG) ; -+ /.profile -> $(SEC_CONFIG) ; -+ #/.tcshrc -> $(SEC_CONFIG) ; -+ /Mail -> $(SEC_CONFIG) ; -+ #/mail -> $(SEC_CONFIG) ; -+ #/.addressbook.lu -> $(SEC_CONFIG) ; -+ #/.addressbook -> $(SEC_CONFIG) ; -+ #/.bash_history -> $(SEC_CONFIG) ; -+ /.elm -> $(SEC_CONFIG) ; -+ #/root/.esd_auth -> $(SEC_CONFIG) ; -+ #/.gnome_private -> $(SEC_CONFIG) ; -+ #/.gnome-desktop -> $(SEC_CONFIG) ; -+ #/.gnome -> $(SEC_CONFIG) ; -+ #/.ICEauthority -> $(SEC_CONFIG) ; -+ #/.mc -> $(SEC_CONFIG) ; -+ #/.pinerc -> $(SEC_CONFIG) ; -+ #/.sawfish -> $(SEC_CONFIG) ; -+ /.Xauthority -> $(SEC_CONFIG) -i ; # Changes Inode number on login -+ #/root/.xauth -> $(SEC_CONFIG) ; -+ #/.xsession-errors -> $(SEC_CONFIG) ; -+} -+ -+ ################################ -+ # ## -+################################ # -+# # # -+# Critical configuration files # # -+# ## -+################################ -+( -+ rulename = "Critical configuration files", -+ severity = $(SIG_HI) -+) -+{ -+ /usr/spool/cron/crontabs/adm -> $(SEC_BIN) ; -+ /usr/spool/cron/crontabs/lp -> $(SEC_BIN) ; -+ /usr/spool/cron/crontabs/root -> $(SEC_BIN) ; -+ /usr/spool/cron/crontabs/sys -> $(SEC_BIN) ; -+ /usr/spool/cron/crontabs/uucp -> $(SEC_BIN) ; -+ /etc/default -> $(SEC_BIN) ; -+ /etc/dfs/dfstab -> $(SEC_BIN) ; -+ /etc/vfstab -> $(SEC_BIN) ; -+ /etc/coreadm.conf -> $(SEC_BIN) ; -+ /etc/dacf.conf -> $(SEC_BIN) ; -+ /etc/dhcpd.conf -> $(SEC_BIN) ; -+ /etc/dumpadm.conf -> $(SEC_BIN) ; -+ /etc/inetd.conf -> $(SEC_BIN) ; -+ /etc/nfssec.conf -> $(SEC_BIN) ; -+ /etc/nscd.conf -> $(SEC_BIN) ; -+ /etc/nsswitch.conf -> $(SEC_BIN) ; -+ /etc/pam.conf -> $(SEC_BIN) ; -+ /etc/power.conf -> $(SEC_BIN) ; -+ /etc/printers.conf -> $(SEC_BIN) ; -+ /etc/prngd.conf -> $(SEC_BIN) ; -+ /etc/prtconf -> $(SEC_BIN) ; -+ /etc/resolv.conf -> $(SEC_BIN) ; -+ /etc/rmmount.conf -> $(SEC_BIN) ; -+ /etc/rpld.conf -> $(SEC_BIN) ; -+ /etc/syslog.conf -> $(SEC_BIN) ; -+ /etc/vold.conf -> $(SEC_BIN) ; -+ /usr/local/apache/conf/httpd.conf -> $(SEC_BIN) ; -+ /usr/local/apache2/conf/httpd.conf -> $(SEC_BIN) ; -+ /etc/protocols -> $(SEC_BIN) ; -+ /etc/services -> $(SEC_BIN) ; -+ /etc/motd -> $(SEC_BIN) ; -+ /etc/named.conf -> $(SEC_BIN) ; -+ /usr/bin/passwd -> $(SEC_CONFIG) ; -+ /etc/rmtab -> $(SEC_BIN) ; -+ /etc/rpc -> $(SEC_BIN) ; -+ /usr/local/samba/lib/smb.conf -> $(SEC_CONFIG) ; -+ /etc/hosts -> $(SEC_CONFIG) ; -+ /etc/inittab -> $(SEC_CONFIG) ; -+} -+ -+ #################### -+ # ## -+#################### # -+# # # -+# Critical devices # # -+# ## -+#################### -+( -+ rulename = "Critical devices", -+ severity = $(SIG_HI), -+ recurse = false -+) -+{ -+ /dev/arp -> $(Device) ; -+ /dev/audio -> $(Device) ; -+ /dev/audioctl -> $(Device) ; -+ /dev/cfg -> $(Device) ; -+ /dev/conslog -> $(Device) ; -+ /dev/console -> $(Device) ; -+ /dev/cua -> $(Device) ; -+ /devices -> $(Device) ; -+ /dev/dump -> $(Device) ; -+ /dev/dsk -> $(Device) ; -+ /dev/fbs -> $(Device) ; -+ /dev/fd -> $(Device) ; -+ /dev/hme -> $(Device) ; -+ /dev/kmem -> $(Device) ; -+ /dev/le -> $(Device) ; -+ /dev/log -> $(Device) ; -+ /dev/mem -> $(Device) ; -+ /dev/null -> $(Device) ; -+ /dev/rdsk -> $(Device) ; -+ /dev/rmt -> $(Device) ; -+ /dev/sad -> $(Device) ; -+ /dev/sound -> $(Device) ; -+ /dev/stderr -> $(Device) ; -+ /dev/stdin -> $(Device) ; -+ /dev/stdout -> $(Device) ; -+ /dev/swap -> $(Device) ; -+ /dev/syscon -> $(Device) ; -+ /dev/sysmsg -> $(Device) ; -+ /dev/term -> $(Device) ; -+ /dev/volctl -> $(Device) ; -+ /dev/wscons -> $(Device) ; -+ /dev/zero -> $(Device) ; -+} -+ -+# Rest of critical system binaries -+( -+ rulename = "OS executables and libraries", -+ severity = $(SIG_HI) -+) -+{ -+ /bin -> $(SEC_BIN) ; -+ /lib -> $(SEC_BIN) ; -+} -+ -+#============================================================================= -+# -+# Copyright 2000 Tripwire, Inc. Tripwire is a registered trademark of Tripwire, -+# Inc. in the United States and other countries. All rights reserved. -+# -+# Solaris is a registered trademark of Sun Microsystems. -+# -+# UNIX is a registered trademark of The Open Group. -+# -+#============================================================================= -+# -+# Permission is granted to make and distribute verbatim copies of this document -+# provided the copyright notice and this permission notice are preserved on all -+# copies. -+# -+# Permission is granted to copy and distribute modified versions of this -+# document under the conditions for verbatim copying, provided that the entire -+# resulting derived work is distributed under the terms of a permission notice -+# identical to this one. -+# -+# Permission is granted to copy and distribute translations of this document -+# into another language, under the above conditions for modified versions, -+# except that this permission notice may be stated in a translation approved by -+# Tripwire, Inc. -+# -+# DCM -+# -+# $Id: twpol-SunOS.txt,v 1.1 2003/06/08 02:00:06 pherman Exp $ -+# -Only in tripwire-2.3.1-2.old/policy: twpol.txt -Only in tripwire-2.3.1-2.old/src: Makefile -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/Makefile.am tripwire-2.3.1-2/src/Makefile.am ---- tripwire-2.3.1-2.old/src/Makefile.am Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/Makefile.am Mon Aug 12 21:23:08 2002 -@@ -0,0 +1,3 @@ -+SUBDIRS = @STLPORT_SUBDIR@ -+SUBDIRS+= cryptlib core db fco fs tw twcrypto twparser util -+SUBDIRS+= twprint twadmin siggen tripwire -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/Makefile.in tripwire-2.3.1-2/src/Makefile.in ---- tripwire-2.3.1-2.old/src/Makefile.in Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/Makefile.in Mon Sep 22 09:40:55 2003 -@@ -0,0 +1,319 @@ -+# Makefile.in generated automatically by automake 1.5 from Makefile.am. -+ -+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -+# Free Software Foundation, Inc. -+# This Makefile.in is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -+# PARTICULAR PURPOSE. -+ -+@SET_MAKE@ -+ -+SHELL = @SHELL@ -+ -+srcdir = @srcdir@ -+top_srcdir = @top_srcdir@ -+VPATH = @srcdir@ -+prefix = @prefix@ -+exec_prefix = @exec_prefix@ -+ -+bindir = @bindir@ -+sbindir = @sbindir@ -+libexecdir = @libexecdir@ -+datadir = @datadir@ -+sysconfdir = @sysconfdir@ -+sharedstatedir = @sharedstatedir@ -+localstatedir = @localstatedir@ -+libdir = @libdir@ -+infodir = @infodir@ -+mandir = @mandir@ -+includedir = @includedir@ -+oldincludedir = /usr/include -+pkgdatadir = $(datadir)/@PACKAGE@ -+pkglibdir = $(libdir)/@PACKAGE@ -+pkgincludedir = $(includedir)/@PACKAGE@ -+top_builddir = .. -+ -+ACLOCAL = @ACLOCAL@ -+AUTOCONF = @AUTOCONF@ -+AUTOMAKE = @AUTOMAKE@ -+AUTOHEADER = @AUTOHEADER@ -+ -+INSTALL = @INSTALL@ -+INSTALL_PROGRAM = @INSTALL_PROGRAM@ -+INSTALL_DATA = @INSTALL_DATA@ -+INSTALL_SCRIPT = @INSTALL_SCRIPT@ -+INSTALL_HEADER = $(INSTALL_DATA) -+transform = @program_transform_name@ -+NORMAL_INSTALL = : -+PRE_INSTALL = : -+POST_INSTALL = : -+NORMAL_UNINSTALL = : -+PRE_UNINSTALL = : -+POST_UNINSTALL = : -+AMTAR = @AMTAR@ -+AWK = @AWK@ -+CC = @CC@ -+CORE_CRYPT_O = @CORE_CRYPT_O@ -+CXX = @CXX@ -+DEPDIR = @DEPDIR@ -+EXEEXT = @EXEEXT@ -+GMAKE = @GMAKE@ -+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -+OBJEXT = @OBJEXT@ -+PACKAGE = @PACKAGE@ -+RANLIB = @RANLIB@ -+STLPORT_INCLUDE = @STLPORT_INCLUDE@ -+STLPORT_LD = @STLPORT_LD@ -+STLPORT_LIBRARY = @STLPORT_LIBRARY@ -+STLPORT_MAKEFILE = @STLPORT_MAKEFILE@ -+STLPORT_SUBDIR = @STLPORT_SUBDIR@ -+SYSPRE = @SYSPRE@ -+VERSION = @VERSION@ -+YACC = @YACC@ -+am__include = @am__include@ -+am__quote = @am__quote@ -+install_sh = @install_sh@ -+path_to_sendmail = @path_to_sendmail@ -+path_to_vi = @path_to_vi@ -+ -+SUBDIRS = @STLPORT_SUBDIR@ cryptlib core db fco fs tw twcrypto twparser util twprint twadmin siggen tripwire -+subdir = src -+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -+CONFIG_HEADER = $(top_builddir)/config.h -+CONFIG_CLEAN_FILES = -+DIST_SOURCES = -+ -+RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \ -+ uninstall-info-recursive all-recursive install-data-recursive \ -+ install-exec-recursive installdirs-recursive install-recursive \ -+ uninstall-recursive check-recursive installcheck-recursive -+DIST_COMMON = Makefile.am Makefile.in -+DIST_SUBDIRS = $(SUBDIRS) -+all: all-recursive -+ -+.SUFFIXES: -+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) -+ cd $(top_srcdir) && \ -+ $(AUTOMAKE) --gnu src/Makefile -+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status -+ cd $(top_builddir) && \ -+ CONFIG_HEADERS= CONFIG_LINKS= \ -+ CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -+uninstall-info-am: -+ -+# This directory's subdirectories are mostly independent; you can cd -+# into them and run `make' without going through this Makefile. -+# To change the values of `make' variables: instead of editing Makefiles, -+# (1) if the variable is set in `config.status', edit `config.status' -+# (which will cause the Makefiles to be regenerated when you run `make'); -+# (2) otherwise, pass the desired values on the `make' command line. -+$(RECURSIVE_TARGETS): -+ @set fnord $(MAKEFLAGS); amf=$$2; \ -+ dot_seen=no; \ -+ target=`echo $@ | sed s/-recursive//`; \ -+ list='$(SUBDIRS)'; for subdir in $$list; do \ -+ echo "Making $$target in $$subdir"; \ -+ if test "$$subdir" = "."; then \ -+ dot_seen=yes; \ -+ local_target="$$target-am"; \ -+ else \ -+ local_target="$$target"; \ -+ fi; \ -+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ -+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ -+ done; \ -+ if test "$$dot_seen" = "no"; then \ -+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ -+ fi; test -z "$$fail" -+ -+mostlyclean-recursive clean-recursive distclean-recursive \ -+maintainer-clean-recursive: -+ @set fnord $(MAKEFLAGS); amf=$$2; \ -+ dot_seen=no; \ -+ case "$@" in \ -+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ -+ *) list='$(SUBDIRS)' ;; \ -+ esac; \ -+ rev=''; for subdir in $$list; do \ -+ if test "$$subdir" = "."; then :; else \ -+ rev="$$subdir $$rev"; \ -+ fi; \ -+ done; \ -+ rev="$$rev ."; \ -+ target=`echo $@ | sed s/-recursive//`; \ -+ for subdir in $$rev; do \ -+ echo "Making $$target in $$subdir"; \ -+ if test "$$subdir" = "."; then \ -+ local_target="$$target-am"; \ -+ else \ -+ local_target="$$target"; \ -+ fi; \ -+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ -+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ -+ done && test -z "$$fail" -+tags-recursive: -+ list='$(SUBDIRS)'; for subdir in $$list; do \ -+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ -+ done -+ -+tags: TAGS -+ -+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) -+ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ -+ unique=`for i in $$list; do \ -+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+ done | \ -+ $(AWK) ' { files[$$0] = 1; } \ -+ END { for (i in files) print i; }'`; \ -+ mkid -fID $$unique $(LISP) -+ -+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ -+ $(TAGS_FILES) $(LISP) -+ tags=; \ -+ here=`pwd`; \ -+ list='$(SUBDIRS)'; for subdir in $$list; do \ -+ if test "$$subdir" = .; then :; else \ -+ test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ -+ fi; \ -+ done; \ -+ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ -+ unique=`for i in $$list; do \ -+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+ done | \ -+ $(AWK) ' { files[$$0] = 1; } \ -+ END { for (i in files) print i; }'`; \ -+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ -+ || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -+ -+GTAGS: -+ here=`CDPATH=: && cd $(top_builddir) && pwd` \ -+ && cd $(top_srcdir) \ -+ && gtags -i $(GTAGS_ARGS) $$here -+ -+distclean-tags: -+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH -+ -+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -+ -+top_distdir = .. -+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) -+ -+distdir: $(DISTFILES) -+ @for file in $(DISTFILES); do \ -+ if test -f $$file; then d=.; else d=$(srcdir); fi; \ -+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ -+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ -+ $(mkinstalldirs) "$(distdir)/$$dir"; \ -+ fi; \ -+ if test -d $$d/$$file; then \ -+ cp -pR $$d/$$file $(distdir) \ -+ || exit 1; \ -+ else \ -+ test -f $(distdir)/$$file \ -+ || cp -p $$d/$$file $(distdir)/$$file \ -+ || exit 1; \ -+ fi; \ -+ done -+ for subdir in $(SUBDIRS); do \ -+ if test "$$subdir" = .; then :; else \ -+ test -d $(distdir)/$$subdir \ -+ || mkdir $(distdir)/$$subdir \ -+ || exit 1; \ -+ (cd $$subdir && \ -+ $(MAKE) $(AM_MAKEFLAGS) \ -+ top_distdir="$(top_distdir)" \ -+ distdir=../$(distdir)/$$subdir \ -+ distdir) \ -+ || exit 1; \ -+ fi; \ -+ done -+check-am: all-am -+check: check-recursive -+all-am: Makefile -+installdirs: installdirs-recursive -+installdirs-am: -+ -+install: install-recursive -+install-exec: install-exec-recursive -+install-data: install-data-recursive -+uninstall: uninstall-recursive -+ -+install-am: all-am -+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -+ -+installcheck: installcheck-recursive -+install-strip: -+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ -+ `test -z '$(STRIP)' || \ -+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -+mostlyclean-generic: -+ -+clean-generic: -+ -+distclean-generic: -+ -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* -+ -+maintainer-clean-generic: -+ @echo "This command is intended for maintainers to use" -+ @echo "it deletes files that may require special tools to rebuild." -+clean: clean-recursive -+ -+clean-am: clean-generic mostlyclean-am -+ -+distclean: distclean-recursive -+ -+distclean-am: clean-am distclean-generic distclean-tags -+ -+dvi: dvi-recursive -+ -+dvi-am: -+ -+info: info-recursive -+ -+info-am: -+ -+install-data-am: -+ -+install-exec-am: -+ -+install-info: install-info-recursive -+ -+install-man: -+ -+installcheck-am: -+ -+maintainer-clean: maintainer-clean-recursive -+ -+maintainer-clean-am: distclean-am maintainer-clean-generic -+ -+mostlyclean: mostlyclean-recursive -+ -+mostlyclean-am: mostlyclean-generic -+ -+uninstall-am: uninstall-info-am -+ -+uninstall-info: uninstall-info-recursive -+ -+.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \ -+ clean-generic clean-recursive distclean distclean-generic \ -+ distclean-recursive distclean-tags distdir dvi dvi-am \ -+ dvi-recursive info info-am info-recursive install install-am \ -+ install-data install-data-am install-data-recursive \ -+ install-exec install-exec-am install-exec-recursive \ -+ install-info install-info-am install-info-recursive install-man \ -+ install-recursive install-strip installcheck installcheck-am \ -+ installdirs installdirs-am installdirs-recursive \ -+ maintainer-clean maintainer-clean-generic \ -+ maintainer-clean-recursive mostlyclean mostlyclean-generic \ -+ mostlyclean-recursive tags tags-recursive uninstall \ -+ uninstall-am uninstall-info-am uninstall-info-recursive \ -+ uninstall-recursive -+ -+# Tell versions [3.59,3.63) of GNU make to not export all variables. -+# Otherwise a system limit (for SysV at least) may be exceeded. -+.NOEXPORT: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/ChangeLog tripwire-2.3.1-2/src/STLport-4.0/ChangeLog ---- tripwire-2.3.1-2.old/src/STLport-4.0/ChangeLog Sat Feb 24 10:44:04 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/ChangeLog Mon Mar 17 12:57:55 2003 -@@ -1,671 +1,905 @@ --The following fix was made in 4.0 since 4.0 Release Candidate : -+The following changes were made in 4.5.3 since 4.5.1 release: - -- * _threads.h/_config.h : for all platforms, static mutexes made non-indirect -+ * iostreams ported to Windows CE (thanks Andrew Waters) - -- * _iterator_base.h : made possible to choose between iterator_traits approach -- and old-style iterator queries like iterator_category(), value_type(), etc. -- (Thanks to John R. Bandela for pointing this out) -- * _config.h, stl_user_config.h : introduced __STL_OLD_HP_ITERATOR_QUERIES switch to -- allow old-style and new-style iterator queries (for all compilers). -- iterator_traits<> made always defined. -+ * iostreams ported to AmigaOS (thanks Steven Solie) - -- * _ptr_specialize.h - specializations of type_traits<> for compilers w/o partial spec -- moved into separate file. Added iterator_traits<> specializations for pointer types -- for __STL_NO_OLD_HP_ITERATOR_QUERIES case. Macro __STL_POINTERS_SPECIALIZE is now available -- to specialize both type_traits and iterator_traits for a pointer to user-defined -- type (latter for standard-style iterator queries mode only) -+ * iostreams ported to NCR 3.x (thanks Emmanuel Soden) -+ -+ * _hash_map::operator[] : enhanced to avoid calling default object constructor -+ (Thanks Yuri Taranenko for the report) -+ -+ * Identifier "__value" changed everywhere to "__val" to avoid clashes with Microsoft's "managed C++" keyword (thanks Crow for the report) - -- * vc5.mak : __STL_NO_FORCE_INSTANTIATE flag restored -+ * Most containers : swap() fixed to swap non-stateless allocators correctly (thanks Scott Meyers) - -- * _site_config.h : if __STL_NO_NEW_IOSTREAMS or __STL_NO_IOSTREAMS specified, -- SGI iostreams are being turned off. __STL_NO_SGI_IOSTREAMS moved into stl_user_config.h -- (Thanks to Sathish T C for the report) -+ * _sstream : fix to account for ios_base::app flag properly - -- * stl_watcom.h : _REENTRANT is being set if _MT is set (thanks to Ricardo E. Gayoso for the input) -+ * type_traits.h : _IsOKToMemCpy() fixed to only allow memcpy() for same type arguments (thanks Ed Brey for the report) -+ -+ * stl/_num_put.c, stl/_list.c : workarounds for Debian gcc (thanks Levente Farkas) - --The following fix was made in 4.0 Release Candidate : -- * _threads.h, _alloc.c : fixed use of _STL_mutex_base instead of _STL_STATIC_MUTEX macro -+ * : fixed MS workaround (thanks Wil Evers, Andrew Ushakov) - --The following changes were made in 4.0 Release Candidate since 4.0 beta 8: -+ * _pthread_alloc.h : added per_thread_allocator class; returns memory to the same thread it's been allocated in. - -- * fstream.cpp : WIN32 fstreambuf::open flag mapping fixed -- (thanks to Alberto Barbati for the reports) -+ * _iterator_old.h : restored ->() operator for MSVC (thanks Daniel Anderson) - -- * ctype.cpp : fixed classic table regarding ios_base::print/ios_base::space -- conflict (thanks to Alberto Barbati for the report) -+ * a bunch of MPW fixes (thanks Tsutomu Yoshida) - -- * cmath : added same workaround for SUN's math exception/std::exception name clash -- as was there in math.h before -+ * _config_compat.h : fixed compatibility definition for _STLP_NO_EXCEPTIONS (thanks Nicolas) -+ -+ * _fstream.c : fixed bug in _M_seek_init (thanks Pavel Kuznetsov) - -- * _streambuf.c : added "typename" to out-of-line functions (thanks to Michael Tsirkin for the report) -+ * _rope.h : rope<>::swap() methods fixed for non-partial ordering case (thanks Eric Musser) -+ -+ * comlex_trig.cpp : fixed bug on SGI (thanks Mortis) - -- * README fixed to be consistent about SGI iostreams setting (thanks to Ed Brey for the report) -+ * A bunch of fixes for HP aCC compilation with -AA option (thanks John Bossom) - -- * _bitset.h : fixed SUN CC 4.2 crash with -g option (thanks to Alex Vanic for the report), -- fixed bug in bitset<>::reference base bitset typedef -+ * *.c files : added conditional inclusion of corresponding *.h file to fix xlC issues with -tempinc option (thanks Alla Bogolyubov for the report) - -- * _threads.h/.c - fixed issue with inconsistent system's macro for initialization -- and warning about partially bracketed initializer -+ * _auto_ptr.h : "struct" changed to "class" (thanks Alex Pinsker for the report) - -- * debug/_vector.h : fixed _Vector_nonconst_traits specialization for bit_vector -- (thanks for Dave Abrahams for the fix & reminder) -+ * _config.h/stl_user_config.h : handling of macro _STLP_WHOLE_VENDOR_STD rectified - -- * config/msvc.h - addidional level 4 warnings suppressed (thanks to Ed Brey for the report) -- * _ios.h : fixed DLL export decl for MSVC (thanks to Alberto Barbati for the report) -+ * _num_put.c : do_put(const void*) changed to output pointers in hex format (thanks Alex Rosenberg) - -- * stdio_streambuf.cpp : compatibility fix for glibc 2.2 (thanks to Bill Shanahan for the patch) -- * _iterator_base.h : added iterator specialization; -- _stream_iterator.h : ostream_iterator changed to inherit from iterator<> -- (thanks to Raphael Bossek for the report) -+ * test/eh/test_algobase.cpp : fixed alignment to work on 64-bit architectures - -- * INSTALL : added some exaples and fixed typos (thanks to Beman Dawes for the report) -+The following changes were made in 4.5.1 beta 1 since 4.5 release: - -- * _site_config.h : more consistency checks for MT (thanks to John Maddock for the input) -+ * _config.h, _epilog.h : new namespace inclusion schema implemented for own iostreams mode -+ (no std:: redefinition; _STL:: namespace imported into std::, instead of std:: imported to _STL. -+ C library header files wrappers become obsolete if this mode is used and no own namespace is selected. -+ They will be moved out to distinct directory in the next release, and default is going to be no own namespace -+ with own iostreams.) -+ For some compilers (VC6), this only works with _STLP_NO_OWN_NAMESPACE and _STLP_OWN_IOSTREAMS settings. -+ -+ * iostreams ported to SCO OpenServer (thanks Emmanuel Soden) - -- * _messages_facets.h : added DLL export decls (thanks to John Maddock for the report) -+ * sparc_atomic.s : added "stbar" to fix multiprocessor crashes on SPARC - -- * complex_io_w.cpp : fixed specialization syntax for aCC (thanks to Paul E. Blanchard for the report) -+ * dll_main.cpp : forced link of Bs_G static data members (thanks Sandy Martel). Function wrapped in STLport namespace. - -- * complex_exp.cpp : fixed pow() bug for negative arguments (thanks to Anton Sergeev for the report) -- * _fstream.h/_streambuf.h : MRC/MPW workarounds (thanks for Tsutomu Yoshida for the report) -+ * _alloc.c : fixed _STLP_CHUNK_MALLOC for debug malloc configuration (thanks Markus Schöpflin) - -- * using/fstream.h : added missing end-of-line (thanks to Jean-Francois Panisset for the report) -+ * _config_compat.h : fixed compatibility section for _STLP_NO_OWN_IOSTREAMS - -- * : workaround for VC++ 6.0 defining type_info in gobal namespace (thanks to Bosko Ivanisevic for pointing that out) -+ * fstram.cpp , vc6.unicode.mak : fixed bug in wide streams handling for VC6 (thanks Jim Dolter) - -- * _threads.h/_threads.c/pthread_alloc : improved pthreads portability (thatnks to Michael Tsirkin for the patch) -+ * etc/*.txt : files list broken up into several categories for future reorganization - -- * _debug.h/_debug.c : __STL_ASSERT/__STL_VERBOSE_ASSERT/__STL_VERBOSE_RETUN macros guarded to be overridable by user (thanks to Tony Gould for the input) -+ * stl_msvc.h : fixed library selection for .NET (Thanks Franz Zetting) - -- * _valarray.h : added assert to operator= -+ * _ftsream.h, iostream.cpp : fixed compilation for _STLP_NO_EXTENSIONS case (thanks Ben Dorman for the report) - -- * config/vc_select_lib.h : added _AFXDLL recognition (thanks to Andrew Phipps for input) -+ * char_traits.h : fpos<> operators == made members (thanks Thomas Witt) - -- * _rope.h : added default constructors to please gcc-2.7.2 -+ * _threads.h : added using directive for Solaris x86 compile (thanks Mukesh Kapoor) - -- * _set.h/_hash_set.h : pointer and reference typedefs fixed (thanks to Anton Sergeev for the report) -+ * _threads.h : fixed InterlockedXXX definitions for VC++ 6.0 SP5 (thanks AndreasM) - -- * stl/_config.h : stl_user config.h included prior to other parts of configuration -- (thanks to Frank Samuel for the report) -- --The following changes were made in 4.0 beta 8 since 4.0 beta 7: -+ * gcc-install-apple-macosx.mak : INSTALL_STEP set to install_unix (Thanks Tron Thomas) - -- * Merged changes for 06/08 SGI library snapshot; mostly in locale -- -- * Merged series of fixes/workarounds by Tsutomu Yoshida (thanks!): -- * _rope.c - fixed memory leak bug; -- * _debug.c/_debug.h - added extra zero-initialization for more robustness; -- * _list.h - MPW - specific fixes; -- * _hashtable.h - fixed debug renaming clash for __STL_USE_ABBREVS -- * EH workarounds to make Apple compilers behave -+ * common.mak : default install directory for Unix set to /usr/local - -- * _fstream.c : fixed tellg() bug in text mode -+ * _string.h : _M_null expressed via _STLP_DEFAULT_CONSTRUCTED (Thanks Anthony) - -- * : added sig_atomic_t import -+ * _site_config.h : made sure _STLP_NO_THREADS are set if _NOTHREADS is on (Thanks Jeppe Madsen) - -- * series of fixes for HP aCC 1.23 ( thanks to Michael Tsirkin for the patch ): -- _bvector.h : all relops are specialized; -- stl_hpacc.h - fixed config; -- hpacc.mak : added makefiles for HP aCC in src and test -- debug/_iterator.h, debug/_vector.h - removed future errors due to baseclass member use -- -- * : added import of system() call (thanks to Petr Ovchenkov for the report) -+ * _config.h : _STLP_WIN32THREADS is set (bugfix) ( thanks to Andreas Malzahn ) - -- * _REENTRANT is now set by default to be on for all SGI iostreams compilations. -- Same is being enforced if SGI iostreams are used. -- -- * _pair.h : added workaround for make_pair in case of char literals -- (extension, only works with partial function order) -+ * _num_put.c, common_rules.mak : patches by Levente Farkas - -- * config/stl_gcc.h - fixed configuration problem for "g++-3" directory used in Cygnus and Mingw -- distributions for gcc-2.95.2, while all other platforms use "g++". Added recognition section. -- Thanks to Dave Abrahams for the report. -+ * etc/STLport-4.5.1.spec : spec file to build STLport-4.5.1 RPM added (thanks Levente Farkas) - -- * config/stl_mlc.h : added support for MLC compiler (thanks to Anton Sergeev for the patch) -+ * _auto_ptr.h , _debug.c, _debug.h : debug check for auto_ptr pointer added (thanks Gerd Hoeren for the idea) - -- * : auto_ptr simplified (thanks to Kon Tantos for problem report) -- -- * num_get.cpp : included to get external symbols right. -+ * debug/_vector.h : invalidation for erase() corrected not to invalidate current iterator (Thanks ALberto Barbati) - -- * stl_ibm.h : __STL_NO_TYPEINFO added for OS/2 (thanks to Willie Arbuckle for the report) -+ * stl_bc.h : restored automatic library link directive for cases when STLport is not a native library - -- * stl_bc.h : fixed enforcement of static library until dynamic made to work (thanks to J. Lambert for the report) -- * src/stlport.rc : improved version definition to work with mingw32, changed to -- -- * src/mingw32.mak : Made use of stlport.rc for DLL build (thanks to Danny Smith for the suggestion) -- * debug/_vector.h : name clash removed for _Base (thanks to Will Fike for the report) - -- * _monetary.h - added "static const bool intl" member to meneypunct<> templates -- (thanks to Anton Sergeev for the report) -+ * _auto_ptr.h : template constructor conversion bug fixed (thanks mbergal) - -- * _bitset.h : added forward friend decraration for reference (thanks to Anton Sergeev for the report) -+ * MIngw32 patches integrated (thanks Wu Yongwei) - -- * _tree.h : made _Rb_tree_base_iterator::_M_node initialized in default constructor (thanks to Dean Sturtevant for the report) -+ * src/complex_impl.h : case for DEC CXX changed to general, instead of extension functions for float and long double, to get it compliled with CC 6.1 (thanks Tony McConnell) - -- * _set.h : reinterpret_cast<> changed to C-style cast (thanks to Dave Abrahams for the suggestion) -+ * dll_main.cpp : added __malloc_alloc instantiation (thanks Michael Ehrig) - -- * Use of raw SGI allocators (like __node_alloc) as an allocator parameter deprecated, -- available only with __STL_USE_RAW_SGI_ALLOCATORS macro. May be removed later. -- __allocator still available unless __STL_NO_EXTENSIONS is specified -+ * _debug.c : fixed race condition in _M_detach (thanks Achim Stremplat) - -- * _limits.h/_limits.c - alignment fix for Solaris; -- * Modified __format_float* routines to take long double as parameter; -- (thatnks to Anthony Williams for the patch) -+ * test/*/hpacc.mak : fixed flags and libs (thanks Michael Ehrig) - -- * debug/_iterator.h - wrappers for noncompliant compilers moved under -- #ifdef __SGI_STL_NO_ARROW_OPERATOR (thanks to Dave Abrahams for the input) -+ * typeinfo : added fix for MS VC ::bad_cast confusion (thanks Alberto Barbati) -+ -+ * debug/_vector.h : removed extra guard for MSCV around member template constructor (thanks Alberto Barbati) -+ -+ * _fstream.h : added extension basic_fstream<> constructors taking protection parameter (thanks Mukesh Kapoor for the idea) - -- * _numeric_facets.h - num_put<> , num_get<> virtual members made outline to work -- aroung gcc-2.95 bug. -+ * stl_sunpro.h : added additional C include directory choice for Solaris 6&7 (thanks John E. Bossom) - -- * : undefined obsolete C macros : getchar/putchar & the like. -+ * _vector.c : added _vector.h inclusion for _STLP_LINK_TIME_INSTANTIATION case (thanks Alex Vanic) -+ - -- * ctype.cpp : fixed bug with ctype::is (const char*, const char*, mask) -+ * _num_put.c : fixed overflow case with grouping (thanks Will Evers) - -- * ctype.cpp : fixed is(print) for certain platforms where print is a separate flag -+ * _istreambuf_iterator.h : fixed distance_type return type (thanks Anthony Williams) -+ -+ * debug/_vector.h : debug version of push_back() added (thanks) -+ -+ * Iostreams ported to LynxOS 3.0 (thanks Dmitry Azovtsev) -+ -+ * wrappers/*.h : added inclusions of the master header to fix xlC 3.x compile (Thanks Dmitry Azovtsev) - -- * ftstream.cpp : fixed corner case bug for Win32 text output (thanks for Dirk Schreib for the report) -+ * Changes for BCB6 integration (thanks Nathan York) - -- * _streambuf.h, _fstream.h, stdio_strembuf.h : fixed overflow/pbackfail() virtuals definition; -- * _bitset.h : _M_copy_from_string fixed for non-member-template case (thanks to Alex Vanic for the report) -+ * Removed all dead code blocks marked by #if OBSOLETE and #if 0 - -- * gcc-glibc.mak, common_macros.mak : GLIBC compilation fixes (thanks to Thomas Witt for the report) -- * WCHAR_MIN, WCHAR_MAX definitions moved from to -+ * Updates build spec file for Linux rpm (thanks Levene Farkas, Harold van Oostrom) - -- * char_traits::to_char_type : parameter changed to int -+ * complex_trig.cpp : limits changed to be static, for performance optimization (thanks Sergei Nikolaev) - -- * included in (for size_t) -+ * _algo.c : eliminated default-constructed iterators, to lift unnecessary restriction (thanks Tonci Tomic ) -+ -+ * _vector.h : fixed bug in assign() : copy used instead of __copy_aux (Thanks Tim Finer) - -- * _codecvt<>::do_length: fixed first parameter to be const mbstate_t &; -- virtual fns moved into .cpp, to work aroung gcc bugs -+ * stl_sunpro.h : restored _STLP_HAS_NO_NEW_C_HEADERS switch for SUN CC 4.2 - -- * _complex.h : fixed complex<>::operator= and constructors signature to take const T& -+ * : __stl_new definition put into the namespace (thanks Satoshi Nakamura) - -- * _istream.c : fixed formatted input involving binary '0' -+ * bcb*.mak : fixed md command and DYN_LINK (thanks Kirby Zhou) - -- * locale_impl.cpp : insertion of time_put fixed -+ * stl_user_config.h : added _STLP_USE_CUSTOM_CHAR_TYPES_IO switch to optimize iostreams for default case - --The following changes were made in 4.0 beta 7 since 4.0 beta 6: -+ * debug/_vector.h : fixed debug check bug (thanks Gerd Hoeren) - -- * Merged series of fixes/workarounds by Tsutomu Yoshida (thanks!): -- * cmath, _complex.h, stl_apple.h, _deque.h - MPW/MRC specific workarounds -- * _bitset.h - removed the obsolete _WordT template parameters. -- * _ctype.h, _codecvt.h, _collate.h, _istream.h, _messages_facets.h, _monetary.c -- _monetary.h, _numeric_facets.h, _time_facets.h - added workaround for locale's nested class. -- * _ostream.c_ostream.h - added proposed modification against the circular inclusion problem. -- * test/eh/test_deque.cpp - removed the obsolete template argument -+ * _alloc.h : allocator::construct uses std::_Construct (thanks Gert Grossmann) - -- * _bitset.h - removed obsolete adaptor (thanks to Alex Vanic for the report) -+ * stl/_alloc_old.h : restored (thanks Gert Grossmann) - -- * _[io]stream.h - removed extra DLL specs (thanks to Danny Smith for the report) -+ * stl/_threads.h : fixed _STLP_ATOMIC_xxx macros for DEC (thanks Gert Grossman) - -- * stl_msvc.h - fixed bug caused static lib to always be selected -+ * src/_locale_impl.cpp : added missing guards for codecvt<> in _STLP_NO_MBSTATE_T case -+ - -- * gcc.mak - fixed AR definition for static link -+The following changes were made in 4.5 release since 4.5 beta 8 : -+ -+ * _threads.h, debug/_debug.h etc : STLport iostreams library made binary compatible with user code compiler w/o multithreaded switch, for some platforms -+ -+ * config/stl_msvc.h, : corrected _STLP_NO_USING_FOR_GLOBAL_FUNCTIONS for VC++ 6.0 SP5 -+ (Thanks Alberto Barbati) -+ -+ * src/vc6.mak : RC macro definition restored (Thanks Graham) -+ -+ * stl/_cmath.h, : parts of code moved to as uses it (Thanks Synge Todo) -+ -+ * stl/_tree.c : fixed insert_unique() with a hint bug (Thanks Serge Pashkov) -+ -+ * src/gcc-*.mak : removed -nostdinc++ option - -- * Added workaround for static locale::id member in DLL for mingw32 (thanks for Danny Smith for the report) -+ * stl_solaris.h : definition of _STLP_SUNPRO_EXCLUDE made dependant on _XOPEN macro instead of SUN CC macros (Thanks ecohen for the report) -+ -+ * fstream.cpp : mmap_chunk made to be 1M instead of 16M as was originally intended (thanks Alexey Starikovskiy) -+ * stl_sunpro.h : _STLP_LIMITED_DEFAULT_TEMPLATES not defined for compat mode anymore ( thanks Michael Kopp) -+ * dll_main.cpp : added instantiation for _Swap_lock_struct<> (thanks simonb) -+ -+ * _ostream.c : fixed formatting bug for width()==1 -+ -+ * config/_epilog.h : added option pop section for Borland. -+ -+ * stl/_threads.h : fixed InterlockedXXX declarations for MS .NET (thanks Piers Haken) -+ -+ * vc7.mak makefile added for MS VC++ 7.0 (.NET) -+ -+ * fixed _STLP_ITERATOR_CATEGORY, etc. for Mwerks CodeWarrior 5.0 -+ -+ * stl/_num_put.c : fixed operator<<(void*) to use _STLP_LONG_LONG where available. -+ -+ * _STLP_WHOLE_VENDOR_STD option is back supported (Thanks anton ephanov for the input) -+ -+ * _cmath.h : added guard to mask additional overloads (thanks Tim Smith) -+ -+ * stl_solaris.h : mbstate_t stuff defined here, old-style C headers used (Thanks Mukesh Kapoor) -+ -+ * type_traits.h : __default_constructed() inlined (Thanks Matt Davies) -+ -+ * new.h : fix for gcc-3.0 to look in backward directory (Thanks Ken) -+ -+ * stlport/using/h/streambuf.h added (Thanks Gennadiy) -+ -+ * A bunch of changes for Borland static and DLL compile (Thanks Nathan York) -+ -+ * stl/_algo.c : fixed find_end() bug (Thanks Alberto Barbati) -+ -+ * stl/_queue.h : priority_queue<>::_comp renamed to "comp" as standard states (thanks Todd Greer) -+ -+ * _limits.c : added correct data member representations for AS400 and Alpha machines (thanks Holger Stash) -+ -+ * _vector.h : added check to avoid calling allocator<>::deallocate(0) (thanks Stephen Cleary) -+ -+ * config/_prolog.h, config/_epilog.h : added push/pop pack(8) pragmas for MSVC (thanks Todd Greer, Alberto Barbati) -+ -+ * gcc.mak's : default spelling for "-pthreads" option changed to "-pthread" as more platforms use that. -+ -+ -+The following changes were made in 4.5 beta 8 since 4.5 beta 7 : - -- * _string_io.h : added _widen() to get getline() compile with wchar (somewhat missing in b6 , thanks to Mikhail Leonov for reminder) -+ * stl/_fstream.c : _M_underflow bug fix for custom codecvt facets (thanks Alberto Barbati) - -- * threads.h - fixed guards for DreamSega WinCE (thanks to Ben Nason for the report) -+ * bcc55.mak : c_locale.c added to the link command (thanks Steve Loves) -+ -+ * _iterator_base.h & many other places : iterator tags are being accepted by const reference -+ instead of value, to fix segmentation faults experienced on certain platforms with beta7. -+ That also should improve efficiency on same platforms (apparently, empty unreferenced -+ objects with no constructors/destructors were copied on the stack when passed by value). -+ Accompanied change eliminates hardcoded deference hack used in previous beta. -+ Thanks everybody who reported this. -+ -+ * stl_user_config.h : added _STLP_GCC_USES_GNU_LD switch. This is for those platforms -+ where native linker does not let gcc to implement automatic instantiation of static -+ template data members (Tru64, AIX, HP-UX). -+ It is being put in this file as there is no automatic way to check if we are using GNU ld or not. -+ -+ * _range_erors.h : depandancy on and removed for own iostreams mode -+ (thanks Doug Gilbert) -+ -+ * debug/_list.h : "typename" added in new methods (thanks Doug Gilbert) -+ -+ * _config.h, src/common_macros.mak : beta version number bumped -+ -+ * src/ftream.cpp, c_locale_win32.c : fixes for UNICODE compilation (thanks Valo) -+ -+ * stl_gcc.h, etc : changes for GCC support on Tru64 (thanks Tobias Ernst) -+ -+ * _alloc.c : for MS VC, malloc_dbg only used when _STLP_DEBUG_ALLOC is set, not for all debug configs -+ (Thanks Anton Ephanov) -+ -+ * test/eh/gcc.mak : directories stuff fixed (Thanks Brodie) -+ -+ * stl/_complex.h : fixed declarations for long double specializations (Thanks Tsutomu Yoshida) - -- * fstream.cpp : fixed truncation for WIN32 (thanks to Bruce Alderson for the report) -+ * locale_byname.cpp, etc. : fixes for Apple compilers by Tsutomu Yoshida. - -- * _istream.c/_M_ignore_unbuffered() - fixed count bug -+ * _ios_base.h : __evenk id changed not to clash with MS VC++ 7 (thanks Paul Ghezzi) - -- * _istream.c/ readsome() : fixed extra failbit setting on eof -+ * _fstream.c : added basic_filebuf constructor workaround for compiler which do not initialize builtins -+ to zero when default constructed (thanks Alberto Barbati) - -- * __get_integer - enhanced using a table; input value made unchanged in case of error. -+ * _locale.h : relaxed guerd around templated locale constructor (thanks Alberto Barbati) - -- * __get_base_or_zero - more code factored out -+ * stl_mwerks.h : changes to accomodate CodeWarrior 6.2 (thanks cprosser) - -- * stl_wince.h : fixed assert() definition for Win CE (thanks to Andrew Waters for the report) -+ * stl/_cmath.h : extracted from for better decoupling - -- * vc_select_lib.h " fixed __declspec selection for Win CE (thanks to Andrew Waters for the report) -+ * stl/_std_prolog.h, stl/_std_epilog.h : hooks for future alternative namespace inclusion style. - -- * _rope.c - fixed bug in _S_destr_concat_char_iter (thanks to E.Musser for the fix) -+ * config/stl_gcc.h : gcc-3.0 now supported - -- * debug/_vector.h - fixed DLL export for vector -+ * src/gcc-beos.h : only static library is being built (dynamic stil don't work) (thanks John Maddock) - -- * _vector.h, _deque.h, _bvector.h - obsolete guards around at() methods removed ; -- * type_traits.h - WinCE compatibility fixes for -> operator definition ; -- * _vector.h, _deque,h - removed extra casts (thanks to Andrew Waters for the report) -+ * using/iostream : included using/istream and using/ostream - -- * _algobase.h - optimized lexicografical_compare() overload for char* -+ * dll_main.cpp : force_link() fix to prevent numeric_limits static members and -+ _M_increment/decrement from _tree.c from being optimized out by VC++ -+ (thanks Sofus Mortensen, Alberto Barbati ) -+ -+ * _alloc.c : added CHECK_NULL_ALLOC for _STLP_CHUNK_ALLOC with malloc, to throw exception if malloc returns 0 (thanks ghunt) -+ -+ * stl_bc.h, : fixed Borland C++ import of unexpected handler stuff -+ -+ * stl_ibm.h, etc. : fixes for IBM VisualAge 5.02 to compile -+ -+ * type_traits.h : bool2type<> changed to be parameterized on int, to work around SUN CC bugs (probably others, too) -+ -+The following changes were made in 4.5 beta 7 since 4.1 beta 6 : -+ -+ * sparc_atomic.s : file missing from the distribution restored -+ -+ * etc/ subdirectory created; miscellanous files moved there -+ -+ * STLport ported to BeOs, complete with iostreams (thanks John Maddock) -+ -+ * Macro _STLP_NO_SGI_IOSTREAMS renamed to _STLP_NO_OWN_IOSTREAMS, old references to SGI removed; -+ -+ * "prepare" target added to all makefiles in src/; should be run before using STLport; -+ on most platforms it's empty, on some of them it creates necessary symbolic links, etc. - --The following changes were made in 4.0 beta 6 since 4.0 beta 5: -+ * stl/_deque.h : deque<>::erase bug (introduced in 4.1b4) fixed (thanks to BruceFlorman) -+ : default parameter in constructor bug fixed (Thanks to Alex Vanic) - -- * Merged changes from SGI STL snapshots 04/03, 04/14, 04/18. -+ * stl_msvc.h : explicit template function agruments enabled for VC++; - -- * Iostreams ported to Apple MPW/MRC (thanks to Tsutomu Yoshida for the contribution) -+ * stl_wince.h : added inclusion - -- * Iostreams ported to OSF1/Tru64 (thanks to Marc W. Mengel for the contribution) -+ * stl/_limits.h : numeric_limits::digits changed from 0 to 1 (Thanks Mukesh Kapoor) - -- * Iostreams ported to FreeBSD ( Thanks to Sms for the contribution) -+ * stl/_function_base.h : added __identity_element() (extension name), _numeric.h : this one used instead of identity_element() (Thanks Hafeez) -+ -+ * stl_msvc.h : explicit template function agruments enabled for VC++; -+ -+ use_facet<> now fully conforms to the standard with VC++. (Thanks Jeff Kohn for the input) -+ -+ * fstream.cpp : LARGE_INTEGER used to work around Intel shift instruction bug (thanks Thomas Meischner) -+ * fstream.cpp : ULL macro fixed for Win32 -+ * fstream.cpp : Added test for for INVALID_HANDLE_VALUE and NULL base and _M_view_id, -+ for _M_close on Win32 (Thanks Stephen Baker) -+ * fstream.cpp : Fixed corner case with mmap() on EOF (Thanks Jens Maurer) -+ -+ * _istream.c : fixed _M_read_buffered sssso that it does not skip delimiters (Thanks Gerd Hoeren) -+ -+ * stl/_string.h : operator __std_string() uses constructor with a size to correctly initialize string containing null chars (Thanks Armin) -+ -+ * iomanip : added operator for setfill object and istream (was ostream only) (Thanks Mukesh Kapoor) -+ -+ * stl/_locale.h , stl_intel.h : fixes for Intel 5.0 compiler (Thanks Anton and Marcello Pietrobon) -+ -+ * stl_solaris.h : added _STLP_NO_NATIVE_WIDE_FUNCTIONS -+ -+ * New makefiles added for Intel C++ 5.0 and VC++ 6.0 in src/, test/eh, test/regression (Thanks to Marcello Pietrobon) -+ -+ * _STLP_NO_LONG_DOUBLE case handled for STLport iostreams as well (thanks John Daniel) -+ -+ * SUN CC compiler template cache is being properly cleaned up (Thanks Whitney Kew) -+ -+ * dll_main.cpp : added extern "C" around DllMain() (Thanks Danny Smith) - -- * : extra template parameter removed -+ * type_traits.h : added bool parameter to shut up warnings on some compilers (Thanks glassman) - -- * locale::id, locale::facet : reverted to nested classes as standard prescribes -+ * stl/_rope.h/.c, src/mrcpp.mak, src/mrc.mak, stl/_tree.h : MPW & MRC fixes by Tsutomu Yoshida -+ -+ * stl_gcc.h : added path for et al for gcc-2.95.3 on FreeBSD (Thanks to - -- * _string_io.h : added _widen() to get getline() compile with wchar (thanks to Mikhail Leonov for the patch) -+ * _tree.h /_tree.c : pointers used as return values instead of iterators for implementation -+ functions, for efficiency. - -- * collate_byname[_w].cpp : fixes for VC++ 5.0 build w/__STL_DEBUG (thanks to Petr Ovchenkov for the patch) -+ * _algo.h/.c : added leading underscrore to some symbols (Thanks to Ed James-Beckerman for the report) -+ -+ * dll_main.cpp : fixed nothrow object initialization (Thanks to Dan Ingold) - -- * : __STL_COMPLEX_NAMESPACE defined before inclusion of impl. header -- (thanks to Matthew Kelly for the patch) -+ * beta suffix in common_macros.mak updated (thanks to Whitney Kew) - -- * makefiles in "src" : improved to get each compiler to put object files in separate directory : -- ./obj/$(COMP)/Debug, etc. COMP is given some default value for each compiler, but may be also overridden. -+ * c_locale_win32.c : incomple fix for locale completed (thanks to Alberto Barbati) - -- * "src" subdirectory : added stlport_prefix.h file for precompiled header support; -- VC++ makefiles make use of them -+ * c_locale.h : _Locale_ALPHA definition for VC++ and mingw32 fixed (thanks Danny Smith) - -- * stl/_iterator_base.h : provided __STL_NONTEMPL_BASE_MATCH_BUG -- workaround for new form of distance(). -+ * _threads.h : fixed _DECTHREADS block to work on both DEC and HP - -- * : added cast to WCHAR_MAX definition (thanks for Dave Abrahams for the report). -+ * _hash_set.h : fixed typo in MSVC++ bug workaround ( Thanks to Jon_Hanson for the report) - -- * stl_user_config.h, stl/_config.h - setting splitted and organized more properly. -+ * stlport/strstream.h : fixed inclusion for MSVC 6 (Thanks Joachim Achtzehnter) -+ -+ * _config.h : _STLP_RETHROW changed to avoid warnings with NO_EXCEPTIONS (thanks Richmond) - -- * time_facets.cpp - extra instantiations removed (thanks to Matti Rintala for the report). -+ * _hashtable.c : prime list definition made consistent (thanks Rainer Schnitker) - -- * stdio_streambuf.h : added explicit qualifications of C lib functions for gcc-2.91 -+ * stl_hpacc.h : _STLP_FORCE_ALLOCATORS workaround used for Version 3.15 also (thanks Rainer Schnitker) - -- * SGI code used for compatibility w/older versions are guarded with #ifndef __STL_NO_ANACHRONISMS -+ * stl/_string_io.c : fixed using directive in operator >>() (thanks Rainer Schnitker) - -- * SGI extensions are guarded with #ifndef __STL_NO_EXTENSIONS -+ * debug/_deque.h : a check in erase() fixed (thanks Andreas Malzahn) - -- * SGI/HP anachronisms are guarded with #ifndef __STL_NO_ANACHRONISMS -+ * debug/_list.h : added remove() to do iterator invalidation; range erase() fixed to do invalidation - -- * : .h file included if __STL_NO_NEW_NEW header is set -- (thanks to Willie Arbuckle for the report) -+ * stl_watcom.h : added switches; disabled own iosterams by default; -+ enabled ->() operator for iterators (thanks Steven Green) - -- * Suppresed spurious BC55 warnings about iterators -+ * : added throw spec for what(); stl_sgi.h : made _STLP_NO_EXCEPTIONS depend on __EXCEPTIONS macro (Thanks Anton Ephanov) - -- * complex_io.h - fixed operators declarations for MetroWerks -+ * _string_io.c : operator << : fixed width() interpretation bug - -- * debug/_slist.h - cleaned up use of stl_debug_do obsolete macro (thanks to Matti Rintala) -+ * stl_hpacc.h/cmath : fixed HP aCC settings for -AA option (thanks Doug Gilbert) - -- * debug/_iterator.h, debug/_vector.h - fixed relaxed iterator constructors (thanks to Dave Abrahams for the patch) - -- * stl/_complex.h - fixes for gcc-2.95 on IRIX (thanks to Marc W. Mengel) - -- * debug/_iterator.h : fixed relaxed const/non-const iterator construction for debug mode -- (thanks to Dave Abrahams for the patch) -+The following changes were made in 4.1 beta 6 since 4.1 beta 5 : -+ -+ * _istream.h, _ostream.h, _ios.h, _fstream.h : guard macros fixed to not clash with .h files in "stlport" directory -+ Also all uses of those macros fixed. (thanks to Gerd Hoeren for the report) -+ -+ * _debug.c/_debug.h : fixed swap() for rb_tree and list (thanks to Gerd Hoeren for the report) -+ swap() changed not to invalidate any iterators, as prescribed by the standard -+ -+ * forced _REENTRANT to be defined when compiling with STLport iostreams and _STLP_DEBUG -+ (without _STLP_DEBUG it seems to be binary compatible even without that) - -- * collate : added workaround for SUNpro linker (thanks to Petr Ovchenkov for the fix) -+ * facets_byname.cpp source introduced to replace all xx_byname.cpp files; -+ restored separate facets .cpp complilation (they used to be included in locale_impl.cpp) - -- * _ios.h, _streambuf.h - added obsolete stuff required by the standard -+ * introduced _STLP_USE_PERTHREAD_ALLOC to optionally use per-thread allocator -+ (_Pthread_alloc from _pthread_alloc.h) as the deafult node allocator. Only works with pthreads for now. -+ -+ * Switches _STLP_DONT_REDEFINE_STD and _STLP_WHOLE_VENOR_STD are back (thanks to Anton Ephanov for the report) -+ -+ * _vector.h : fixed bug in template version of insert (Thanks to Yotam Medini for the report) -+ -+ * monetary.cpp : unneded hack for cygwin removed (thanks to Dean Sturtevant) - -- * _config.h/stdexcept - introduced __STL_NOTHROW_INHERITED to be used when we actually need -- exception specification due to inheritance (thanks to Joe for the report) -+ * : fixed _STLP_OUTERMOST_HEADER_ID macro - -- * _locale.h:104 : fixed ummaned parameters -+ * cin/cout/cerr redefined if no namespaces and SGI iostreams are used, for all compilers, just in case. -+ * _sparc_atomic.h : fixed and improved atomic ops for gcc - -- * _tempbuf.h - fixed absent inclusion of _tempbuf.c -+ * test/regression : non-backward-compatible old-style __STL_xx macros use changed to _STLP_xx - -- * : relaxed rules for importing vendor symbols -+ * config/st_gcc.h : disabled non-standard "extern" use for non-DLL templates - -- * _deque.h - added != operator -+ * mingw32 - used 'windows.h replacement' section in _threads.h (thanks to Danny Smith) - -- * _streambuf.h - fixed snextc() bug for wchar_t -+ * locale Win32 bug fixed (thanks to Alberto Balbarti) - -- * , _numeric_facets.h - circular dependency resolved -+ * mingw32 : _STLP_CONST_INIT_BUG defined for dll (thanks to Danny Smith) - -- * stl/_iosfwd.h - added include guard -+ * "make clean" glitches fixed (thanks to Whitney Kew for the report) - -- * basic_[io]stream::sentry made inner class again (as per standard) -- for non-DLL compilations. -+ * _fstream.c : fixed codecvt bug for variable width encoding - -- * vector is used in locale implementation to reduce code bloat, -- vector exported from DLL -+ * _STLP_ABORT macro introduced to avoid clashes with third-party sw redefining abort() (thanks to Jerry) - -- * : exported more stuff -+ * c_locale_win32 : fixed parse bug in __ParseLocaleString (thanks to Danny Smith) - -- * stl_intel.h : ICL config merged into stl_msvc.h -+ * extra declspecs removed from templates to fix VC++ 7.0 ; only concrete classes have specifiers (thanks to Holger Stasch for the report) - -- * gcc.mak - fixed for shared target -+ * stl_msvc.h, _hashtable.h/.c : fixes for IA64 compilation (thanks to Rainer Schnitker ) -+ -+ * fixed bugs in "make install" on Unix (thanks to Carlos Paniago) -+ -+ * dll_main.cpp : DisableThreadLibraryCalls used for optimization (thanks to Alberto Barbati) - --The following changes were made in 4.0 beta 5 since 4.0 beta 4: -+ * dll_main.cpp : a dummy function added to force guts for static VC++ link (thanks to Alberto Barbati) -+ -+ * gcc-linux.mak : flags fixed (thanks to Levente Farkas ) - -- * _hastable.c:263 : removed inneeded cast (thanks to Will Fike for the report) -+ * stl_msvc.h, stl_intel.h : fixed __ICL version test (thanks to Serge Pashkov) - -- * debug/_string.h : added conversion to non-SGI string (thanks to Todd Richmond for the report) -+ * versioning schema changed on Windows to have .dll extension (thanks everybody for the feedback) - -- * _complex.h : fixed DLL declarations for i/o operators -+ * NetBSD makefiles fixed - -- * _ostream.h : fixed sentry behavoiur and DLL specs. -+ * A bunch of fixes by Tsutomu Yoshida : MPW fixes plus : -+ * stl/_config.h : I believe the definition for _STLP_STD under debug/non-debug configurations swapped. - -- * _istream.h : fixed DLL specs, optimized some try/catch blocks -+ * typeinfo.h : added check for _STLP_NO_NEW_HEADER for using declaration. -+ Otherwise three classes will not be included in the namespace std when #include . - -- * _vector.h : fixed vector::insert body definition for __STL_INLINE_MEMBER_TEMPLATES -+ * _istream.c : use of bind2nd (which required _function.h inclusion) changed to use alternate functor (thanks to Sergei Nikolaev) -+ -+ * stl_msvc.h : removed erroneous _STLP_USE_TEMPLATE_EXPORT setting which caused major code bloat for native streams builds on VC++ (Thanks to Johannes Brunen for the report) - -- * : more compilers listed as having full exception header -+ * _string_io.c : fixed Intel C++ compilation bug in native streams mode - -- * debug/_debug.h : added namespace to __STL_ASSERT for EH test which uses this internal macro. -+ * fstream.cpp : added write-sharing for fstream file handle (Thanks to Leland Best) - -- * resource info fixed (thanks to Michael Entin for the report) -+ * stl_gcc.h : disabled wide function imports for linux (some xx_POSIX macro should be really used; disabled for all linuxes for now). Thanks everybody for the reports. - -- * debug/_string.h : fixed _M_start resolution bug (thanks to Rob for the report ) -+ * KAI C++ 4.0 is now supported on SUN - -- * : added import of new_handler stuff from vendor namespace (thanks to Niran Bala for the report). -+ * MAC OS X compilation fixed (thanks Patrick Luby for the patch) - -- * src/c_locale_glibc - missed directory contents restored (thanks to Todd Rider for the report) -+ * HP aCC fixes by Michael Tsirkin -+ -+ * "INF/NAN" string representation for uppercase changed to "Inf/NaN" to behave like printf() on most systems. -+ -+ * debug/_iterator.c : fixed SUN 6.0 compiler internal error - -- * mwerks_prj - project updated for new file set, target names for x86 changed to conform to common schema -+ * typeinfo.h : global scope used to import bad_cast, etc. (thanks to Val Melamed) -+ -+ * debug/_list.h : missing template versions of remove_if(), merge() added. Missing regular sort() added. -+ (Thanks to dgehri) - -- * _ostream.c/_istream.c : fixed lookup for _S_eof symbol (thanks to Anton Sergeev for the report) -+ * debug/_slist.h : missing sort() (template and regular) interface added - -- * _ios.h - fixed VC++ DLL warning for specializations -+ * _istream.h : eliminated warning about comparison with unsigned (Thanks to Gerd Hoeren for the report) - -- * stl_ibm.h - disabled "long long" due to incomplete support on MVS by request (thanks to Tinny Ng) -+ * template constructors for containers changed to be one version with default allocator agrument, where possible. - -- * char_traits.h - worked around weird gcc internal bug (__sz identifier changed to _Sz) -+ * remaining _STL_ prefixes changed to _STLP_ - --The following changes were made in 4.0 beta 4 since 4.0 beta 3: -+ * Solaris 7 compilation fixed -+ -+ * fstream.cpp : seek() allowed to seek past the end of the stream (Thanks to Phillip Toland for the input) -+The following changes were made in 4.1 beta 5 since 4.1 beta 4 : - -- * "src" directory : source divided into smaller parts to be more manageable and to -- get more cache locality -+ * All internal macros changed to have prefix _STLP_ instead of __STL or __STLPORT or __SGI_STL. -+ That is to allow seamless wrapping on platforms that use SGI STL as native STL/iostreams. -+ For backward compatibility, most of user-settable __STL_xxx macros are accepted. - -- * throw specifications removed (macros made void) - thanks to Dave Abrahams for the suggestion -+ * Versioning of shared libraries made UNIX-compliant - -- * stl/_list.c - fixed reverse() "inline", -- _deque.h - fixed cast bug for xlC (thanks to Alex Vanic for the reports) -- -- * stl/_strstream.h - fixed DLL specs (thanks to Parcival Willems for the report) -+ * Some temporary lifetime problems in SGI iostreams which may introduce memory corruption, fixed. -+ -+ * : fixed memory leak bug due to unclever macro expansion in __stl_new (thanks to Joachim Achtzehnter) -+ -+ * stl/_tree.h : fixed several bugs in new code for corner cases in insert_equal()/insert_unique() with a hint -+ (thanks to Micheal Tsirkin for the report and patch) - -- * stl/_string.h, debug/_string.h - fixed conversion from native string with __STL_DEBUG -- (thanks to Todd Richmond for the report). -+ * _vector.h:284 : __copy call fixed to be __copy_aux (thanks to Alex Vanic) - -- * stl/_istream.h - fixed clash of "__N" symbol with ctype.h macro for some compilers -- (thanks to Kees de Bruin for the report) -+ * _config.h : fixed static build bug due to __STL_EXPOSE_GLOBALS_IMPLEMENTATION typo (thanks to Serge Pashkov) -+ -+ * fstream.cpp: __pioinfo definition for mingw32 fixed (Thanks to Danny Smith) - -- * Configuration fixed for Borland C++ 5.02 compiler [ deque still does not work with it ] -+ * *.SUNWCCh files changed to regular files; moved to "stlport" directory - -- * gcc-2.7.2 configuration fixed -+ * pthread_alloc : split into / - -- * SGI iostreams now work for Borland 5.5 with static lib , some problems with -- locale initialization when DLL is used. -+ * lightweight atomic ops used on SPARC v8plus and v9 (gcc and SUN CC) - -- * __get_c_string exported in DLL (thanks to Ed Ball for the report). -+ * Mac OS X support introduced (thanks to Patrick Luby) -+ -+ * SGI iostreams ported to DJGPP (thanks to Tanes Sriviroolchai) -+ -+ * SGI iostreams ported to NetBSD (thanks to Michael Rauch) -+ -+ * FreeBSD build fixed, now builds for wchar_t too -+ -+ * DEC CXX build fixed; restricted to dynamic lib only - -- * ENDIAN fixes for CodeWarrior/DEC (thanks to Kevin Wooten for bringing this up) -+ * SGI MIPSpro build fixed; GNU make has to be used - -- * wrap_std/h/strstream.h - added missing wrapper (Thanks to Laurent for the report) -+ * Set of HP fixes by Michael Tsirkin - -- * stl_hpacc.h - fixed #endif bug, -- _limits.h/.c - fixed array initialization, -- _string_io.h, _locale.h - fixed circular dependancy, -- _set.[hc], _hashtable.c, _set.h - added __REINTERPRET_CAST need by some compilers; -- _i[o]stream.c, _rope.[hc] - lookup fixed for dependant symbols -- (thanks to Alain Miniussi for the reports) -+ * Set of Watcom fixes by Ricardo Gayozo -+ -+ * Bunch of Apple MRC/MPW fixes by Tsutomu Yoshida integrated - --After-release minor bugfixes for beta3: -+ * Bunch of iostream fixes for Cygwin, Borland and Intel 4.5, by Serge Pashkov - -- * stl/_list.c - fixed reverse() [ new SGI code, merged unported first ] -- Thanks for everybody who reported it. -+ * debug/_list.h : added checking versions of pop_back/pop_front (thanks to Per Liboriussen) -+ -+ * src/c_locale_win32.c : fix for VC5sp3 (thanks to Petr Ovchenkov), fix for day of week order (thanks to Danny Smith), -+ fix for null-termination in my_ltoa (thanks to Serge Pashkov) - -- * stl/_bvector.h : fixed ambiguity problem with relational iterators -- for __STL_NO_BOOL case (thanks to Alex Vanic for the report). -+ * Some warnings in debug mode fixed (thanks to Marco) - -- * stl/_alloc.c, stl/_threads.c - fixed static member definitions for compilers -- that lack automatic static data members (gcc-2.7). Thanks to Huang-Ming Huang -- for the report. -+ * type_traits.h : IsP functions return types changed to be more portable (thanks to Serge Pashkov for the suggestion), -+ __cdecl added for Win (thanks to Todd Wilson) - -- * standard wide streams initialization bug on Win32 fixed (thanks to Harold Putman for the -- report) -- --The following changes were made in 4.0 beta 3 since 4.0 beta 2: -+ * debug/_tree.h : added owner check for erase() (thanks to Alberto Barbati) - -- * Merged SGI changes from 02/18 snapshot. -+ * stl/_ostream.h : << operator specializations added for compilers w/o partial ordering -+ (thanks to Alberto Barbati for pointing this out). -+ -+ * "make install" on UNIX : fixed the target not to remove lib directory; -+ default installdir restored to be /usr/local (thanks to Jeff de Vries for the input) -+ -+ * _construct.h : extra cast for __STL_SHRED_BYTE removed (thanks to khesin) - -- * Ming32W (gcc Win32 port using MS runtime lib) is now fully supported. -+ * _relops.h header obsoleted; some extra includes removed - -- * .dll build schema improved, now builds with mingw32 and Borland C++ -- (Borland has some problem with numeric i/o) -+ * __STL_STATIC_CONST_INIT_BUG use normalized; now it's used for all compilers not able -+ to treat const members as coplile-time constants; enum used for them (e.g VC++). -+ Thanks to Dean Sturtevant and Gavin Collins for the ideas. - -- * VC++ version bugfixes in // -- (thanks to Todd Richmond for the report) -+ * stlport/cmath : fixed SUN CC 5.0 compatibility mode bug (thanks to ade for the report) - -- * _bvector.h - relational operators defined only for "bit_vector", -- not for "vector" specializations (thanks to Edward Ball for the report) -+ * debug/_hashtable.h : fixed equal_range() bug (thanks to decraft for the report) - -- * src/locale_impl.h - fixed multiple defined symbol problem with gcc -- (Thanks to Matti Rintala for the report) -+ * streambuf.cpp/_streambuf.h : fixes xsgetn() bug (thanks to Vadim Egorov) -+ -+ * istreambuf_iterator<> : nonconforming behaviour fixed (thanks to Tom Widmer) - -- * config/stl_ibm.h - __STL_NO_TYPEINFO added (thanks for Tinny Ng). -+ * _num_put.c : fixed corner case for 0x8000000 output. -+ -+ * num_get<> : extra get() and do_get() members for "int" and "short" removed; istream operators changed accordingly - -- * : _stl_string_io.h/c introduced to fight inter-dependencies -+ * _itreambuf_iterator.h/_ostreambuf_iterator.h introduced to decouple those from num_get/num_put - -- * _bvector.h - added fix for -tempinc compilation on AIX (thanks to Alex Vanic for the patch) -+ * gcc makefiles in src : "-fno-implement-inlines" removed - -- * fstream.cpp - _M_write bug for Win32 text mode fixed (thanks to Mike Pyle) -+ * Added workaround for gcc's limits.h and SUN Ultra with -mcpu=ultrasparc in 32-bit mode. -+ -+ * ios_base:: type for constants made "int" for all compilers, as it more efficient and perfectly compliant. -+ -+ * debug/_hashtable.h : fixed typo in swap() ( thanks to Gerd Hoeren for the report) - -- * _string.h : debug version included prior to _string.c; -+ * debug/_string.h : +() operators defined unconditionally ( thanks to Gerd Hoeren for the report) - -- * debug/_debug.h/.c, debug/_deque.h, debug/_string.h - fixed debug mode bugs; -- Apple compilers config fixes / iostream wrapping fixes / EH test fixes, -- (thanks to Tsutomu Youshida for the patch) -+ * _istream.c : removed dependancy on _function.h (thanks to Kenny Simpson for the report) - -- * csetjmp/setjmp.h - guards added against VC++ #defines (thanks to Gavin Wood) -+ * _limits.c : fixed little-endian representation of infinity & NaN (thanks to Rene van Oostrum) - -- * stl/_iosfwd.h : __STL_DEFAULT_CONSTRUCTED used instead of __STL_NULL_CHAR_INIT -- (thanks to Alex Vanic for the report) -+ * _stdio_file.h : fixed postdecr macro for 64-bit Solaris (thanks to Jim Cole) - -- * __stl_get_c_string() - made extern non-template for SGI iostreams mode. -+ -+The following changes were made in 4.1 beta 4 since 4.1 beta 3 : -+ -+ * Simulation of class partial specialization (thanks to Mat Marcus and Jesse Jones of Adobe) -+ used to provide following enhancements : -+ -+ - type_traits are automatically specialized for all pointer types for all compilers, -+ which makes them able to utilize type_traits-based optimizations when dealing with pointer types, -+ automatically. -+ -+ - all functions specialized for pointers and optimized via __type_traits -+ ( like copy()/copy_backward(), _uninitialized_xx) now enjoy this optimization for all compilers! -+ -+ - generic __value_type()/__difference_type()/__iterator_category() are written so user does not have -+ to supply any of its own even when partial specialization is not available. -+ (Note : gcc-2.7 and VC++ 5.x, 6.x have bugs which prevents them from using this enhancement, still) -+ -+ * : by default, non-standard iterator query names like -+ value_type()/difference_type()/iterator_category() are not used -+ -+ * : major revision: -+ - algorithms without explicit Compare() function expressed via the one that has it where possible. -+ This considerably reduces header size and reduces code bloat for programs which use both flavours of -+ those algorithms. -+ - some function bodies moved between .c and .h -+ - all functions used internally moved out to _algobase.h, so no other header includes <_algo.h> anymore -+ - find() specialized for random access iterators regardless of partial spec. - -- * __cdecl calling convention fixes - now works for debug & non-debug code. -+ * Dynamic libraries (.DLL and .so) : name versioning used to prevent clashes between STLport versions - -- * _limits.h/.c : static data moved from inline functions into a class. -+ * src/ : code regrouped between .cpp files to provide for less executable size with dumb linkers; - -- * stlport_msvc.rc resource file added for DLL's (thanks to Michael Entin) -+ * locale subsystem initialization : startup changed to use statically allocated structures as much as possible; -+ -+ * : basic stuff moved to _function_base.h ; -+ other STL headers now include _function_base.h instead - -- * stlport/config/stl_wince.h : added abort()/assert() definitions -- (thanks to Gavin Wood for the report) -+ * _threads.h : MT support for OS/2 added (only tested with VAC++) - -- * Initial iostreams port for xlC (thanks to Alexander Vanic for the patch). -+ * _stdio_file.h : added support for Solaris in ELF64 mode (thanks to Holger Stasch) -+ -+ * stl/_hashtable.h : [] operator for hash_map optimized to take no more than find() when element is present -+ (Thanks to Thomas Witt et al.) - -- * config files - made safe for C compilers -+ * _ostream.h : fix for default unsigned char (thanks to Holger Stasch) -+ -+ * all __STL_ABBREVS abbreviations moved aside in _abbrevs.h header. - -- * src/c_locale_stub.c - made structure for full platform-dependent -- locales other than "C". Glibc implementation merged. -+ * Fujitsu C++ Compiler support added (thanks to Holger Stasch) - --The following changes were made in 4.0 release candidate 2 since 4.0 release candidate 1: -+ * Initial SGI iostreams port to OS/390 introduced (thanks to Holger Stasch). - -- * Solid approach to __STL_DEFAULT_CONSTRUCTOR_BUG problem implemented, -- rope.h typo fixed (thanks to Alex Vanic for the report) -+ * More on SGI iostreams port to xlC 5.0 (thanks to Holger Stasch). - -- * getline and stream operators moved from _istream.c to _string.c -- where they belong (thanks for Petr Ovchenkov) -+ * Fixes for SGI MIPSpro compilers (Thanks to Ralph) - -- * fixed to import nothrow and nothrow_t -+ * Fixes for HP aCC compiler (Thanks to Michael Tsirkin) - -- * Borland C++ 5.5 (free compiler) supported (iostreams won't compile yet). -+ * stlport/SC5 directory : removed C library .h files to fix circular inclusion problem with WS6.0 + C programs. - -- * SUN CC 6.0 EA - new features unabled (most announced features still don't work though) -+ * hash_map::swap() in debug mode fixed (thanks to Anton) - -- * HP ACC configuration updated, some fixes for new aCC beta(thanks to Alain Miniussi). -+ * __STL_COMPILE_INSTANTIATE hack for DEC removed (thanks to Ralph) -+ -+ * __STL_INLINE_STRING_LITERAL_BUG defined for HP aCC ( thanks to Jason Taylor) - -- * Windows CE compatibility fixed (thanks to Gavin Wood for the report) -+ * _bitset.h - member workaround operators made const (thanks to dzwick) -+ -+ * _bitset.h/.c, hashtable.h -- small bugfixes (thanks to Levente Farkas) - -- * fixed for non-SGI case, ios.cpp bug in __STL_NO_EXCEPTIONS -- mode fixed, debug iterators fix (thanks to Todd Richmond). -+ * - now includes exception.h if only that is available. -+ -+ * vector::assign() inplemented for vector::iterator when member templates are not available (Thanks to dzwick) -+ -+ * fstream.cpp : __pioinfo used for MinGW32 (thanks to Danny Smith) - -- * VC++ 5.0 and 4.2 compatibility fixed (thanks to Ilya for the report) -+The following changes were made in 4.1 beta 3 since 4.1 beta 2 : -+ -+ * list<>::clear() : protected access bug fixed - -- * __cdecl calling convention explicitly specified for VC++ & static/global functions. -+ * __STL_MUTEX_INITIALIZER set back to PTHREAD_MUTEX_INITIALIZER for pthreads case, -+ as some platforms (eg AIX) do not treat zero-initialized mutex as valid one (thanks to Alex Vanic, Jack Andrews for help) -+ -+ * stl/_limits.c : fixed typo preventing numeric limits constants to be defined for __STL_LITTLE_ENDIAN, -+ constants initialization fixed (thanks to Ingo Donasch) - -- * vc_common.mk : debug type changed to CV (thanks to Mike Pyle for the solution) -+ * real implementation of locales for Win32 contributed by Anton Lapach (thanks !) merged in. - -- * fstream.cpp : Win32 text mode : bugs fixed, SGI code used. -- fixed _M_open() creation flags for Win32 (thanks to Mike Pyle for the report) -+ * stl_user_config.h, _config.h : changed default to not define relops:: operators -+ in __STL_NO_NAMESPACES mode. -+ -+ * _numeric_facets.c/num_put.cpp : printing of integer do not use sprintf() anymore -+ -+ * "install" target implemented for UNIX & VC++ Makefiles. It now installs headers and libraries. - -- * "install" target added for VC++ to install .dll's into Win system directory. -+ * "src" : files merged to get less compilation time and less space overhead for imperfect compilers - -- * __STL_USE_STATIC_LIB switch added to add flexibility to VC++ linking. -+ * "debug" flavour of STLport excluded from default build and auto-select ; -+ please use __STL_USE_DEBUG_LIB and build debug STLport lib explicitly with "make debug_dynamic" -+ if you really need it). "all" now builds 2 kinds : "release" and "STLdebug", for static and dynamic builds. -+ -+ * stlport_prefix.h : WIN32_LEAN_AND_MEAN set for Win32 build of STLport library, for speed. -+ -+ * FreeBSD compile fixed; makefiles added. -+ -+ * All "__init" changed to "_Init" to fix clashes with DEC conventions (thanks to Holger Stasch) -+ -+ * _range_errors.h -- fixed to always set __STL_EXTERN_RANGE_ERRORS for SGI iostreams (thanks to Serge Pashkov) - -- * __stl_debug_message for WIN32/Unicode/MFC improved -- (thanks to Edward Ball, Chvetsov for the reports) -+ * *gcc* mak : some files renamed to gcc-platform mak -+ -+ * "extern template" extension used for gcc & standard i/o classes, to reduce code bloat in application's .o - -- * MVS fix for auto_ptr<> (thanks to Tinny Ng) -+ * "extern template" extension used for VC++ & standard i/o classes (was for DLL only) - -- * debug/_tree.h, debug/_vector.h "typename" fixes, thanks to Matti Rintala. -+ * _iterator.h : added template(and non-template) assignment operator for reverse_iterator<> (thanks to psw). Obsolete HP-style code moved to _iterator_old.h - -- * c_locale.h : fix for Solaris 2.5.x (thanks to B. K. Oxley) -+ * _alloc.h : obsolete code for raw SGI allocators support moved to separate header, for compile-time improvement - -- * _bvector.h : Watcom compatibility fixed (thanks to Ricardo E. Gayoso for the report) -+ * More iostreams code conditionally moved out for clients who only use standard i/o and can set __STL_NO_CUSTOM_IO flag -+ -+ * , : initialization of locale subsystem made independent of standard streams. -+ sync_with_stdio call before iostream initialization now works. -+ -+ * , : added initialization code for locale , same as in -+ (thanks to George Trojan for the report) - -- * __STL_DONT_REDEFINE_STD flag behaviour fixed -+ * fstream.cpp : fixed resource leak in case memory map fails on Win32 (thanks to Mark Laffoon) - --The following changes were made in 4.0 release candidate 1 since 3.2.2 Beta 4 : -+ * , : added additonal overload signatures required by chapter 26.5 of ANSI (thanks to Levente Farkas for -+ the suggestion), plus "long long" flavour where applicable. - -- * Merged changes made to SGI standard library snapshot on 01/28. -+ * __STL_LONG_LONG generalized to support __int64 on Win32 (thanks to Adam Gates for the suggestion) -+ -+ * _fstream.h : added constructor from file descriptor, as extension (thanks to eric_a_benson) - -- * Fixed bug with istream reading numbers in hex mode (thanks to Dave Abrahams -- for the patch). -+ * _fstream.h : added basic_filebuf<>::fd() file descriptor accessor, as extension (thanks to George Trojan) - -- * Debug mode redesigned (again) - no extra namespaces is being used -- Finally, it works for MSVC and all other platforms. -+ * stl_sunpro.h : strstream masked for CC 4.2 to avoid virtual table clash (thanks to Ken) - -- * __SGI_STL_OWN_IOSTREAMS made to be the default mode except few platforms -- not provided with makefiles to build STLport yet. -+ * stl_msvc.h : member templates allowed for VC5, it's capable of hadling most of them (same restrictions as VC6 -- inline). - -- * Changed strategy on redefinig std:: namespace. -- prolog/epilog technology used to get clean namespace wrapping. -- It also allows for managing stack of pragmas -- (see stlport/stl/config/_prolog.h,_epilog.h) to get rid of warnings. -- Note : default namespace changed to _STL:: to satisfy implementation -- constraints and to allow for more compact symbols. -- "stlport::" namespace is still defined for backwards compatibility. -+ * debug/_debug.c : slightly changed format of debug message to please VC++ IDE (thanks for Bruce Dawson for the suggestion) - -- * iostreams library now compiles on HP with aCC (thanks to Steven Serocki for the patch). -+ * src/sgi_mipspro.mak added, for SGI MIPSPro compilation - -- * Configuration for SUN Workshop 6.0 EA provided. -+ * merged series of HP/SUN minor fixes by Petr Ovchenkov - -- * For VC++, corresponding [selected by /MT(d) or /MD(d) switch] -- STLport iostreams library is being linked automatically - all you -- need is to put library in lib search path or specify additional library path. -+ * merged series of Intel 4.5 fixes by Serge - -- * Ability to turn on all warnings in your own code if you're using -- a compiler with appropriate support (e.g. MSVC6). -- -- * Small fixes posted to the forum integrated: -+ * vc_common.mak : -Yd dropped, as obsolete (thanks to psw) -+ -+ * _range_errors.h:95 : unused argument removed (thanks to George Trojan) -+ -+ * _string_io.h : refined _WRTLING workaround for Watcom (thanks to Serge Pashkov) -+ -+ * _threads.h : fixed SGI threads dafines for gcc on IRIX (thanks to Brett Denner for the report) -+ -+ * , : mutually-exclusive machanism added to allow including both in same unit. -+ -+ * Inclusion of SGI iostreams headers put to some order; _streambuf_iterator.h file introduced to resolve circular dependancies - -- * config/stl_wince.h : added __STL_HAS_NO_NEW_C_HEADERS switch -- * wrap_std/strsream : fixed preprocessor bug, strstream.h included -- when not using new-style headers -- * other fixes -+The following changes were made in 4.1 beta 2 since 4.1 beta 1 : - --The following changes were made in 3.2.2 beta 4 since 3.2.2 Beta 3: -+ * _algobase.h : fixed __STL_DECLARE_COPY_TRIVIAL definition -+ (thanks to Charles Burfoot for the report) - -- * Merged changes made to SGI standard library snapshot on 01/10. -+ * _algobase.h : added copy_backward specializations for builtin types for compilers w/o partial spec. - -- * Major restructuring of header files - for maintainability and -- 8.3 filesystems benefit. -+ * _char_traits.h : fixed zero-length check for copy (thanks to Michael Tsirkin) - -- * Major debug mode improvements - new debug mode now works with -- VC++, gcc, intel, SUNpro, MetroWerks. -+ * msvc_warnings_off.h : fixed "and" typo -+ (thanks to Charles Burfoot for the report) - -- * Regression test suite changed to new-style headers - thanks to -- Dima Pasechnik for the initial port. -+ * num_put_float.cpp : fixed rounding for "g" format (thanks to Bernd Mohr for the report) - -- * fixes for Watcom -- -- * many miscellanous fixes. -+ * Initial port of iostreams to xlC 5.0 added (thanks to Jack Andrews) - --The following changes were made in 3.2.2 beta 3 since 3.2.2 Beta 2: -+ * stl_sunpro.h : a fix for Forte config (Thanks to Alex Vanic for the report) -+ -+ * old_hp/iterator.h : fixed iterator_category()/etc. import -+ -+ * _threads.h : __stl_atomic_t used instead of "unsigned long" (thanks to Alex Vanic for the report) -+ * using/iomanip : old-streams path used for native iomanip.h (thanks to Michael Tsirkin for the report). -+ -+ * _bitset.h , _bitset.c : direct STL_THROW replaced with __stl_throw_xxx calls (thanks to Michael Tsirkin for the report) -+ -+ * range_errors.h/cpp : added functions to support throwing of overflow_error and invalid_argument -+ -+ * _threads.h : enganced HP-specific guards for HP-UX 11 (thanks to Matthew Collins for the report) - -- * Merged changes made to SGI standard library snapshot in December. -+ * _string.h : compare() bugfix (thanks to Anton Sergeev) -+ -+ * moneypunct_byname_w.cpp : rolled back wrong bugfix (thanks to Ken) -+ -+ * _vector.h, _deque.h, _list.h : nonstandard versions of push_back()/push_front() -+ moved under __STL_NO_ANACHRONISMS guard (thanks to Ed Brey) - -- * std:: is not used for STLport namespace even with SGI iostreams, -- to avoid possible clashes and facilitate 3rd-party library use. -- Same macro redefinition technique for stlport:: used to keep clients -- code with literal std:: happy as in native iostreams mode. -+ * _tree.c, _list.c, _slist.c, _debug.c : compile-time improvements - -- * C library headers wrapping changed to allow multiple inclusion tricks -- (needed by gcc-2.95 mostly) -+ * _tree.h/c, _list.h/c, _slist.h/c, _vector.h/c, _string.h/c : using directive for data members -+ changed to explicit "this->". - -- * gcc-2.95 and CodeWarrior configurations updated. -+ * _complex.h : signatures of some methods changed to take value_type instead of const value_type&, -+ for better conformance (thanks to Petr Ovchenkov) - -- * HP aCC fixes applied. -+ * Bunch of fixes to compile with gcc on HP-UX 10, 11 (thanks to Petr Ovchenkov) - -- * Visual C++ - added static library targets, build refined. -- Fixed memory-mapping bugs. -- -- * auto_ptr updated, now it passes polymorphic tests with VC++. -+ * Code duplication for __STL_INLINE_MEMBER_TEMPLATES removed -- corresponding methods are always inlined -+ -+ * stl_sunpro.h : fix for "-compat" mode (thanks to Vijay Ramachandran) -+ -+ * pthread.h : new wrapper added - -- * Many small bugfixes. -+ * Added custom prolog/epilog for HP aCC to select kthreads on HP-UX 11 (Thanks to Michael Tsirkin) -+ -+ * : fixed throw specification for bad_alloc (has to be inherited) -+ -+ * Macro __STL_NATIVE_CPP_RUNTIME_INCLUDE_PATH introduced to specify separate path for , , . -+ (thanks to Bryan Byrnes) -+ -+ * : moved from stlport/stl to stlport directory, for SGI compatibility - --The following changes were made in 3.2.2 beta 2 since 3.2.2 Beta 1: -+The following changes were made in 4.1 beta 1 since 4.0 : - -- * Fixed SUN CC deque<> problem with -g -+ * Sun Forte 6.0 C++ configuration provided (thanks to Alexander Vanic for the input) - -- * Added configuration and makefiles for DEC VMS, Borland and Win32 gcc. -+ * _threads.h/_config.h : added efficient support for atomic operations for -+ DEC CXX and Watcom (thanks to Ricardo Gayoso for the input). -+ Macros __STL_ATOMIC_xxx introduced to facilitate this. - -- * Merged changes made to November SGI standard library snapshot. -+ * _tree.h : optimizations to lower number of comparisons (thanks to Craig Powers for the patch) - -- * config changes - "configure" made obsolete and moved into "stlport/config/new_compiler". -+ * _tree.h, _hashtable.h and clients : added templated find() as an extension (thanks to Michael Tsirkin for the suggestion) - -- * __STL_TYPENAME_ON_RETURN_TYPE handling changed. -+ * _tree.h : changed some inlining for performance optimization - -- * Miscellanous fixes. -+ * __node_alloc:: allocate broken into two functions for better inlining -+ -+ * _threads.h : added PTHREAD_MUTEX_INITIALIZER guard for HP workaround -+ -+ * stl_bc.h : option set to control alignment and virtual table behaviour to be consistent; -+ library name adjusted to stlport_bcc55_xxx - --The following changes were made in 3.2.2 Beta 1 since 3.2.1 release: -+ * _algobase.h, _uninitialized.h, char_traits.h -- optimized out empty memcpy() calls -+ (thanks to Michael Tsirkin for the report). -+ -+ * _iterator.h : fixed reverse_iterator::operator+(int, reverse_iterator) resolution -+ (thanks to Anton Sergeev for the input) - -- * SGI iostreams adopted. To use SGI iostreams, user have to set -- __SGI_STL_OWN_IOSTREAMS flag and to build the library in "src" -- directory to link with. Please read INSTALL file for detailed -- instructions. -- Default setting is NOT to use SGI iostreams (wrappers used as before). -+ * _bitset.h : bitset<>::test bugfix (thanks to Anton Sergeev for the patch) - -- * Debug mode completely redesigned - debug mode containers are -- implemented in terms of wrappers around non-debug ones. -- That provides for more clean and efficient implementation and -- binary compatibility between debug and non-debug versions. -+ * complex_trig.cpp : use of __STL_NO_LONG_DOUBLE made consistent, fixes for Borland on Linux -+ (thanks to John Wiegley for the input) -+ -+ * moneypunct_byname_w.cpp : bugfixes for string copying (thanks to Anton Sergeev for the input) -+ -+ * Watcom-specific fixes (thanks to Ricardo Gayoso for the input) - -- * Additional configurations added for platforms : -- - gcc-2.95 -- - SUNpro CC 5.0 in "compatibility" mode -- "configure" made obsolete. -+ * src/common_macros.mak : some intermediate targets added (thanks to Jeremy for the suggestion) - -- * Bugfixes reported by users since 3.2.1 release merged -+ * _debug.c : fixes for Win CE (thanks to John Hynes for the patch) - --The following changes were made in 3.2.1 since 3.2 release: -+ * Intel CC 4.0-specific fixes (thanks to Sean Cavanaugh for the input) - -- * Now, by default, STLPort renames std:: namespace for user -- if __STL_USE_OWN_NAMESPACE is used. To make it possible, many new -- wrapper headers introduced. Internally, STLport uses stlport:: namespace, -- so no link- or run- time clashes are possible, and you don't have to rebuild -- the runtime lib (which you don't want to). -- This feature makes STLport usable out-of-the box, without any modifications -- for client code, with any compiler. -+ * _list.c : workaround for Watcom C++ (thanks to Mike Steed for the report) - -- * Code bloat reduction : hashtable uses vector internally. -+ * __STL_NO_NATIVE_WIDE_STREAMS definition fixed (thanks to Glen Summers for the patch) - -- * Vector : efficiency/code bloat reduction fixes. -+ * cast macros fixed to be more robust (thanks to Geoff Oakham for the report) - -- * Visual C++ : DLL export is supported for allocators and strings. To use it, -- please define __STL_USE_DECLSPEC in all modules and __STL_DESIGNATED_DLL -- for the DLL which is supposed to instantiate STLport exports (at least one -- source of this DLL must include . -+ * "strstream.h" native inclusion for VC 6.0 fixed (thanks to Sathish T C for the report) -+ -+ * debug/_string.h : improvement to string with __STL_DEBUG w/o member templates -+ (thanks to Paul Furnanz for the report) - -- * Visual C++ : for MT synchronization, is not included anymore. -+ * debug/_string.h : fixed internal compiler error for VC++ 5.x (thanks to chvetsov for the report) - -- * For Sunpro C++ 5.0 : all headers are linked into stlport/SC5, so only -- one include path is needed. Note that SC5.0 has problems with relative -- search path. It is easy to work around : in your makefiles, instead of -- "STL_INCL=../.." , write "STL_INCL=${PWD}/../..". -+ * cstdio, stl/_streambuf.h : fixes to allow gcc compilation with -ansi flag - -- * Configuration files provided for compilers : -- KAI C++ -- DEC C++ (6.x, 5.x) -- Borland 5.02 is back on the road (finally !) -- -- * Windows CE config provided for Visual C++. -+ * workaround for cin/cout renaming on HPUX11 for -D_REENTRANT (thankf to Jeff Sparkes for the report) - -- * __STL_NO_IOSTREAMS switch introduced for embedded platforms. -+ * cin/cout/cerr/clog renaming in STLport for CC 4.0 and SGI iostreams, -+ to avoid symbol clashes with native ones (thanks to Dirk Schreib for the report) -+ -+ * type_info scope fixes for VC++ 6.0 (thanks to Sathish T C for the report) -+ -+ * typeinfo.h using fixes (thanks to Glen Summers for the input) -+ -+ * stlcomp.h : fixes to allow compilation of .c modules with VAC++, Sun CC, DEC CC, Watcom CC -+ (thanks to Dmitry A.Steklenev, Jonathan Richardson for the report) - -- * Lots of minor config fixes and improvements for various platforms. -+ * debug/_tree.h : fixed insert_unique() bug (thanks to Ben Liblit for the report) - -+ * regression/gcc.mak made non-dependant on "." in the path -+ (thanks to Thomas Matelich for the report) -+ -+ * hmset1.cpp fixed to compile under OS390 ( thanks to Andrey Khovanskiy for the report) -+ - -- -\ No newline at end of file -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/ChangeLog-4.0 tripwire-2.3.1-2/src/STLport-4.0/ChangeLog-4.0 ---- tripwire-2.3.1-2.old/src/STLport-4.0/ChangeLog-4.0 Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/ChangeLog-4.0 Sun Aug 11 18:59:17 2002 -@@ -0,0 +1,668 @@ -+The following fix was made in 4.0 since 4.0 Release Candidate : -+ -+ * _threads.h/_config.h : for all platforms, static mutexes made non-indirect -+ -+ * _iterator_base.h : made possible to choose between iterator_traits approach -+ and old-style iterator queries like iterator_category(), value_type(), etc. -+ (Thanks to John R. Bandela for pointing this out) -+ * _config.h, stl_user_config.h : introduced __STL_OLD_HP_ITERATOR_QUERIES switch to -+ allow old-style and new-style iterator queries (for all compilers). -+ iterator_traits<> made always defined. -+ -+ * _ptr_specialize.h - specializations of type_traits<> for compilers w/o partial spec -+ moved into separate file. Added iterator_traits<> specializations for pointer types -+ for __STL_NO_OLD_HP_ITERATOR_QUERIES case. Macro __STL_POINTERS_SPECIALIZE is now available -+ to specialize both type_traits and iterator_traits for a pointer to user-defined -+ type (latter for standard-style iterator queries mode only) -+ -+ * vc5.mak : __STL_NO_FORCE_INSTANTIATE flag restored -+ -+ * _site_config.h : if __STL_NO_NEW_IOSTREAMS or __STL_NO_IOSTREAMS specified, -+ SGI iostreams are being turned off. __STL_NO_SGI_IOSTREAMS moved into stl_user_config.h -+ (Thanks to Sathish T C for the report) -+ -+ * stl_watcom.h : _REENTRANT is being set if _MT is set (thanks to Ricardo E. Gayoso for the input) -+ -+The following fix was made in 4.0 Release Candidate : -+ * _threads.h, _alloc.c : fixed use of _STL_mutex_base instead of _STL_STATIC_MUTEX macro -+ -+The following changes were made in 4.0 Release Candidate since 4.0 beta 8: -+ -+ * fstream.cpp : WIN32 fstreambuf::open flag mapping fixed -+ (thanks to Alberto Barbati for the reports) -+ -+ * ctype.cpp : fixed classic table regarding ios_base::print/ios_base::space -+ conflict (thanks to Alberto Barbati for the report) -+ -+ * cmath : added same workaround for SUN's math exception/std::exception name clash -+ as was there in math.h before -+ -+ * _streambuf.c : added "typename" to out-of-line functions (thanks to Michael Tsirkin for the report) -+ -+ * README fixed to be consistent about SGI iostreams setting (thanks to Ed Brey for the report) -+ -+ * _bitset.h : fixed SUN CC 4.2 crash with -g option (thanks to Alex Vanic for the report), -+ fixed bug in bitset<>::reference base bitset typedef -+ -+ * _threads.h/.c - fixed issue with inconsistent system's macro for initialization -+ and warning about partially bracketed initializer -+ -+ * debug/_vector.h : fixed _Vector_nonconst_traits specialization for bit_vector -+ (thanks for Dave Abrahams for the fix & reminder) -+ -+ * config/msvc.h - addidional level 4 warnings suppressed (thanks to Ed Brey for the report) -+ * _ios.h : fixed DLL export decl for MSVC (thanks to Alberto Barbati for the report) -+ -+ * stdio_streambuf.cpp : compatibility fix for glibc 2.2 (thanks to Bill Shanahan for the patch) -+ * _iterator_base.h : added iterator specialization; -+ _stream_iterator.h : ostream_iterator changed to inherit from iterator<> -+ (thanks to Raphael Bossek for the report) -+ -+ * INSTALL : added some exaples and fixed typos (thanks to Beman Dawes for the report) -+ -+ * _site_config.h : more consistency checks for MT (thanks to John Maddock for the input) -+ -+ * _messages_facets.h : added DLL export decls (thanks to John Maddock for the report) -+ -+ * complex_io_w.cpp : fixed specialization syntax for aCC (thanks to Paul E. Blanchard for the report) -+ -+ * complex_exp.cpp : fixed pow() bug for negative arguments (thanks to Anton Sergeev for the report) -+ * _fstream.h/_streambuf.h : MRC/MPW workarounds (thanks for Tsutomu Yoshida for the report) -+ -+ * using/fstream.h : added missing end-of-line (thanks to Jean-Francois Panisset for the report) -+ -+ * : workaround for VC++ 6.0 defining type_info in gobal namespace (thanks to Bosko Ivanisevic for pointing that out) -+ -+ * _threads.h/_threads.c/pthread_alloc : improved pthreads portability (thatnks to Michael Tsirkin for the patch) -+ -+ * _debug.h/_debug.c : __STL_ASSERT/__STL_VERBOSE_ASSERT/__STL_VERBOSE_RETUN macros guarded to be overridable by user (thanks to Tony Gould for the input) -+ -+ * _valarray.h : added assert to operator= -+ -+ * config/vc_select_lib.h : added _AFXDLL recognition (thanks to Andrew Phipps for input) -+ -+ * _rope.h : added default constructors to please gcc-2.7.2 -+ -+ * _set.h/_hash_set.h : pointer and reference typedefs fixed (thanks to Anton Sergeev for the report) -+ -+ * stl/_config.h : stl_user config.h included prior to other parts of configuration -+ (thanks to Frank Samuel for the report) -+ -+The following changes were made in 4.0 beta 8 since 4.0 beta 7: -+ -+ * Merged changes for 06/08 SGI library snapshot; mostly in locale -+ -+ * Merged series of fixes/workarounds by Tsutomu Yoshida (thanks!): -+ * _rope.c - fixed memory leak bug; -+ * _debug.c/_debug.h - added extra zero-initialization for more robustness; -+ * _list.h - MPW - specific fixes; -+ * _hashtable.h - fixed debug renaming clash for __STL_USE_ABBREVS -+ * EH workarounds to make Apple compilers behave -+ -+ * _fstream.c : fixed tellg() bug in text mode -+ -+ * : added sig_atomic_t import -+ -+ * series of fixes for HP aCC 1.23 ( thanks to Michael Tsirkin for the patch ): -+ _bvector.h : all relops are specialized; -+ stl_hpacc.h - fixed config; -+ hpacc.mak : added makefiles for HP aCC in src and test -+ debug/_iterator.h, debug/_vector.h - removed future errors due to baseclass member use -+ -+ * : added import of system() call (thanks to Petr Ovchenkov for the report) -+ -+ * _REENTRANT is now set by default to be on for all SGI iostreams compilations. -+ Same is being enforced if SGI iostreams are used. -+ -+ * _pair.h : added workaround for make_pair in case of char literals -+ (extension, only works with partial function order) -+ -+ * config/stl_gcc.h - fixed configuration problem for "g++-3" directory used in Cygnus and Mingw -+ distributions for gcc-2.95.2, while all other platforms use "g++". Added recognition section. -+ Thanks to Dave Abrahams for the report. -+ -+ * config/stl_mlc.h : added support for MLC compiler (thanks to Anton Sergeev for the patch) -+ -+ * : auto_ptr simplified (thanks to Kon Tantos for problem report) -+ -+ * num_get.cpp : included to get external symbols right. -+ -+ * stl_ibm.h : __STL_NO_TYPEINFO added for OS/2 (thanks to Willie Arbuckle for the report) -+ -+ * stl_bc.h : fixed enforcement of static library until dynamic made to work (thanks to J. Lambert for the report) -+ * src/stlport.rc : improved version definition to work with mingw32, changed to -+ -+ * src/mingw32.mak : Made use of stlport.rc for DLL build (thanks to Danny Smith for the suggestion) -+ * debug/_vector.h : name clash removed for _Base (thanks to Will Fike for the report) -+ -+ * _monetary.h - added "static const bool intl" member to meneypunct<> templates -+ (thanks to Anton Sergeev for the report) -+ -+ * _bitset.h : added forward friend decraration for reference (thanks to Anton Sergeev for the report) -+ -+ * _tree.h : made _Rb_tree_base_iterator::_M_node initialized in default constructor (thanks to Dean Sturtevant for the report) -+ -+ * _set.h : reinterpret_cast<> changed to C-style cast (thanks to Dave Abrahams for the suggestion) -+ -+ * Use of raw SGI allocators (like __node_alloc) as an allocator parameter deprecated, -+ available only with __STL_USE_RAW_SGI_ALLOCATORS macro. May be removed later. -+ __allocator still available unless __STL_NO_EXTENSIONS is specified -+ -+ * _limits.h/_limits.c - alignment fix for Solaris; -+ * Modified __format_float* routines to take long double as parameter; -+ (thatnks to Anthony Williams for the patch) -+ -+ * debug/_iterator.h - wrappers for noncompliant compilers moved under -+ #ifdef __SGI_STL_NO_ARROW_OPERATOR (thanks to Dave Abrahams for the input) -+ -+ * _numeric_facets.h - num_put<> , num_get<> virtual members made outline to work -+ aroung gcc-2.95 bug. -+ -+ * : undefined obsolete C macros : getchar/putchar & the like. -+ -+ * ctype.cpp : fixed bug with ctype::is (const char*, const char*, mask) -+ -+ * ctype.cpp : fixed is(print) for certain platforms where print is a separate flag -+ -+ * ftstream.cpp : fixed corner case bug for Win32 text output (thanks for Dirk Schreib for the report) -+ -+ * _streambuf.h, _fstream.h, stdio_strembuf.h : fixed overflow/pbackfail() virtuals definition; -+ * _bitset.h : _M_copy_from_string fixed for non-member-template case (thanks to Alex Vanic for the report) -+ -+ * gcc-glibc.mak, common_macros.mak : GLIBC compilation fixes (thanks to Thomas Witt for the report) -+ * WCHAR_MIN, WCHAR_MAX definitions moved from to -+ -+ * char_traits::to_char_type : parameter changed to int -+ -+ * included in (for size_t) -+ -+ * _codecvt<>::do_length: fixed first parameter to be const mbstate_t &; -+ virtual fns moved into .cpp, to work aroung gcc bugs -+ -+ * _complex.h : fixed complex<>::operator= and constructors signature to take const T& -+ -+ * _istream.c : fixed formatted input involving binary '0' -+ -+ * locale_impl.cpp : insertion of time_put fixed -+ -+The following changes were made in 4.0 beta 7 since 4.0 beta 6: -+ -+ * Merged series of fixes/workarounds by Tsutomu Yoshida (thanks!): -+ * cmath, _complex.h, stl_apple.h, _deque.h - MPW/MRC specific workarounds -+ * _bitset.h - removed the obsolete _WordT template parameters. -+ * _ctype.h, _codecvt.h, _collate.h, _istream.h, _messages_facets.h, _monetary.c -+ _monetary.h, _numeric_facets.h, _time_facets.h - added workaround for locale's nested class. -+ * _ostream.c_ostream.h - added proposed modification against the circular inclusion problem. -+ * test/eh/test_deque.cpp - removed the obsolete template argument -+ -+ * _bitset.h - removed obsolete adaptor (thanks to Alex Vanic for the report) -+ -+ * _[io]stream.h - removed extra DLL specs (thanks to Danny Smith for the report) -+ -+ * stl_msvc.h - fixed bug caused static lib to always be selected -+ -+ * gcc.mak - fixed AR definition for static link -+ -+ * Added workaround for static locale::id member in DLL for mingw32 (thanks for Danny Smith for the report) -+ -+ * _string_io.h : added _widen() to get getline() compile with wchar (somewhat missing in b6 , thanks to Mikhail Leonov for reminder) -+ -+ * threads.h - fixed guards for DreamSega WinCE (thanks to Ben Nason for the report) -+ -+ * fstream.cpp : fixed truncation for WIN32 (thanks to Bruce Alderson for the report) -+ -+ * _istream.c/_M_ignore_unbuffered() - fixed count bug -+ -+ * _istream.c/ readsome() : fixed extra failbit setting on eof -+ -+ * __get_integer - enhanced using a table; input value made unchanged in case of error. -+ -+ * __get_base_or_zero - more code factored out -+ -+ * stl_wince.h : fixed assert() definition for Win CE (thanks to Andrew Waters for the report) -+ -+ * vc_select_lib.h " fixed __declspec selection for Win CE (thanks to Andrew Waters for the report) -+ -+ * _rope.c - fixed bug in _S_destr_concat_char_iter (thanks to E.Musser for the fix) -+ -+ * debug/_vector.h - fixed DLL export for vector -+ -+ * _vector.h, _deque.h, _bvector.h - obsolete guards around at() methods removed ; -+ * type_traits.h - WinCE compatibility fixes for -> operator definition ; -+ * _vector.h, _deque,h - removed extra casts (thanks to Andrew Waters for the report) -+ -+ * _algobase.h - optimized lexicografical_compare() overload for char* -+ -+The following changes were made in 4.0 beta 6 since 4.0 beta 5: -+ -+ * Merged changes from SGI STL snapshots 04/03, 04/14, 04/18. -+ -+ * Iostreams ported to Apple MPW/MRC (thanks to Tsutomu Yoshida for the contribution) -+ -+ * Iostreams ported to OSF1/Tru64 (thanks to Marc W. Mengel for the contribution) -+ -+ * Iostreams ported to FreeBSD ( Thanks to Sms for the contribution) -+ -+ * : extra template parameter removed -+ -+ * locale::id, locale::facet : reverted to nested classes as standard prescribes -+ -+ * _string_io.h : added _widen() to get getline() compile with wchar (thanks to Mikhail Leonov for the patch) -+ -+ * collate_byname[_w].cpp : fixes for VC++ 5.0 build w/__STL_DEBUG (thanks to Petr Ovchenkov for the patch) -+ -+ * : __STL_COMPLEX_NAMESPACE defined before inclusion of impl. header -+ (thanks to Matthew Kelly for the patch) -+ -+ * makefiles in "src" : improved to get each compiler to put object files in separate directory : -+ ./obj/$(COMP)/Debug, etc. COMP is given some default value for each compiler, but may be also overridden. -+ -+ * "src" subdirectory : added stlport_prefix.h file for precompiled header support; -+ VC++ makefiles make use of them -+ -+ * stl/_iterator_base.h : provided __STL_NONTEMPL_BASE_MATCH_BUG -+ workaround for new form of distance(). -+ -+ * : added cast to WCHAR_MAX definition (thanks for Dave Abrahams for the report). -+ -+ * stl_user_config.h, stl/_config.h - setting splitted and organized more properly. -+ -+ * time_facets.cpp - extra instantiations removed (thanks to Matti Rintala for the report). -+ -+ * stdio_streambuf.h : added explicit qualifications of C lib functions for gcc-2.91 -+ -+ * SGI code used for compatibility w/older versions are guarded with #ifndef __STL_NO_ANACHRONISMS -+ -+ * SGI extensions are guarded with #ifndef __STL_NO_EXTENSIONS -+ -+ * SGI/HP anachronisms are guarded with #ifndef __STL_NO_ANACHRONISMS -+ -+ * : .h file included if __STL_NO_NEW_NEW header is set -+ (thanks to Willie Arbuckle for the report) -+ -+ * Suppresed spurious BC55 warnings about iterators -+ -+ * complex_io.h - fixed operators declarations for MetroWerks -+ -+ * debug/_slist.h - cleaned up use of stl_debug_do obsolete macro (thanks to Matti Rintala) -+ -+ * debug/_iterator.h, debug/_vector.h - fixed relaxed iterator constructors (thanks to Dave Abrahams for the patch) -+ -+ * stl/_complex.h - fixes for gcc-2.95 on IRIX (thanks to Marc W. Mengel) -+ -+ * debug/_iterator.h : fixed relaxed const/non-const iterator construction for debug mode -+ (thanks to Dave Abrahams for the patch) -+ -+ * collate : added workaround for SUNpro linker (thanks to Petr Ovchenkov for the fix) -+ -+ * _ios.h, _streambuf.h - added obsolete stuff required by the standard -+ -+ * _config.h/stdexcept - introduced __STL_NOTHROW_INHERITED to be used when we actually need -+ exception specification due to inheritance (thanks to Joe for the report) -+ -+ * _locale.h:104 : fixed ummaned parameters -+ -+ * _tempbuf.h - fixed absent inclusion of _tempbuf.c -+ -+ * : relaxed rules for importing vendor symbols -+ -+ * _deque.h - added != operator -+ -+ * _streambuf.h - fixed snextc() bug for wchar_t -+ -+ * , _numeric_facets.h - circular dependency resolved -+ -+ * stl/_iosfwd.h - added include guard -+ -+ * basic_[io]stream::sentry made inner class again (as per standard) -+ for non-DLL compilations. -+ -+ * vector is used in locale implementation to reduce code bloat, -+ vector exported from DLL -+ -+ * : exported more stuff -+ -+ * stl_intel.h : ICL config merged into stl_msvc.h -+ -+ * gcc.mak - fixed for shared target -+ -+The following changes were made in 4.0 beta 5 since 4.0 beta 4: -+ -+ * _hastable.c:263 : removed inneeded cast (thanks to Will Fike for the report) -+ -+ * debug/_string.h : added conversion to non-SGI string (thanks to Todd Richmond for the report) -+ -+ * _complex.h : fixed DLL declarations for i/o operators -+ -+ * _ostream.h : fixed sentry behavoiur and DLL specs. -+ -+ * _istream.h : fixed DLL specs, optimized some try/catch blocks -+ -+ * _vector.h : fixed vector::insert body definition for __STL_INLINE_MEMBER_TEMPLATES -+ -+ * : more compilers listed as having full exception header -+ -+ * debug/_debug.h : added namespace to __STL_ASSERT for EH test which uses this internal macro. -+ -+ * resource info fixed (thanks to Michael Entin for the report) -+ -+ * debug/_string.h : fixed _M_start resolution bug (thanks to Rob for the report ) -+ -+ * : added import of new_handler stuff from vendor namespace (thanks to Niran Bala for the report). -+ -+ * src/c_locale_glibc - missed directory contents restored (thanks to Todd Rider for the report) -+ -+ * mwerks_prj - project updated for new file set, target names for x86 changed to conform to common schema -+ -+ * _ostream.c/_istream.c : fixed lookup for _S_eof symbol (thanks to Anton Sergeev for the report) -+ -+ * _ios.h - fixed VC++ DLL warning for specializations -+ -+ * stl_ibm.h - disabled "long long" due to incomplete support on MVS by request (thanks to Tinny Ng) -+ -+ * char_traits.h - worked around weird gcc internal bug (__sz identifier changed to _Sz) -+ -+The following changes were made in 4.0 beta 4 since 4.0 beta 3: -+ -+ * "src" directory : source divided into smaller parts to be more manageable and to -+ get more cache locality -+ -+ * throw specifications removed (macros made void) - thanks to Dave Abrahams for the suggestion -+ -+ * stl/_list.c - fixed reverse() "inline", -+ _deque.h - fixed cast bug for xlC (thanks to Alex Vanic for the reports) -+ -+ * stl/_strstream.h - fixed DLL specs (thanks to Parcival Willems for the report) -+ -+ * stl/_string.h, debug/_string.h - fixed conversion from native string with __STL_DEBUG -+ (thanks to Todd Richmond for the report). -+ -+ * stl/_istream.h - fixed clash of "__N" symbol with ctype.h macro for some compilers -+ (thanks to Kees de Bruin for the report) -+ -+ * Configuration fixed for Borland C++ 5.02 compiler [ deque still does not work with it ] -+ -+ * gcc-2.7.2 configuration fixed -+ -+ * SGI iostreams now work for Borland 5.5 with static lib , some problems with -+ locale initialization when DLL is used. -+ -+ * __get_c_string exported in DLL (thanks to Ed Ball for the report). -+ -+ * ENDIAN fixes for CodeWarrior/DEC (thanks to Kevin Wooten for bringing this up) -+ -+ * wrap_std/h/strstream.h - added missing wrapper (Thanks to Laurent for the report) -+ -+ * stl_hpacc.h - fixed #endif bug, -+ _limits.h/.c - fixed array initialization, -+ _string_io.h, _locale.h - fixed circular dependancy, -+ _set.[hc], _hashtable.c, _set.h - added __REINTERPRET_CAST need by some compilers; -+ _i[o]stream.c, _rope.[hc] - lookup fixed for dependant symbols -+ (thanks to Alain Miniussi for the reports) -+ -+After-release minor bugfixes for beta3: -+ -+ * stl/_list.c - fixed reverse() [ new SGI code, merged unported first ] -+ Thanks for everybody who reported it. -+ -+ * stl/_bvector.h : fixed ambiguity problem with relational iterators -+ for __STL_NO_BOOL case (thanks to Alex Vanic for the report). -+ -+ * stl/_alloc.c, stl/_threads.c - fixed static member definitions for compilers -+ that lack automatic static data members (gcc-2.7). Thanks to Huang-Ming Huang -+ for the report. -+ -+ * standard wide streams initialization bug on Win32 fixed (thanks to Harold Putman for the -+ report) -+ -+The following changes were made in 4.0 beta 3 since 4.0 beta 2: -+ -+ * Merged SGI changes from 02/18 snapshot. -+ -+ * Ming32W (gcc Win32 port using MS runtime lib) is now fully supported. -+ -+ * .dll build schema improved, now builds with mingw32 and Borland C++ -+ (Borland has some problem with numeric i/o) -+ -+ * VC++ version bugfixes in // -+ (thanks to Todd Richmond for the report) -+ -+ * _bvector.h - relational operators defined only for "bit_vector", -+ not for "vector" specializations (thanks to Edward Ball for the report) -+ -+ * src/locale_impl.h - fixed multiple defined symbol problem with gcc -+ (Thanks to Matti Rintala for the report) -+ -+ * config/stl_ibm.h - __STL_NO_TYPEINFO added (thanks for Tinny Ng). -+ -+ * : _stl_string_io.h/c introduced to fight inter-dependencies -+ -+ * _bvector.h - added fix for -tempinc compilation on AIX (thanks to Alex Vanic for the patch) -+ -+ * fstream.cpp - _M_write bug for Win32 text mode fixed (thanks to Mike Pyle) -+ -+ * _string.h : debug version included prior to _string.c; -+ -+ * debug/_debug.h/.c, debug/_deque.h, debug/_string.h - fixed debug mode bugs; -+ Apple compilers config fixes / iostream wrapping fixes / EH test fixes, -+ (thanks to Tsutomu Youshida for the patch) -+ -+ * csetjmp/setjmp.h - guards added against VC++ #defines (thanks to Gavin Wood) -+ -+ * stl/_iosfwd.h : __STL_DEFAULT_CONSTRUCTED used instead of __STL_NULL_CHAR_INIT -+ (thanks to Alex Vanic for the report) -+ -+ * __stl_get_c_string() - made extern non-template for SGI iostreams mode. -+ -+ * __cdecl calling convention fixes - now works for debug & non-debug code. -+ -+ * _limits.h/.c : static data moved from inline functions into a class. -+ -+ * stlport_msvc.rc resource file added for DLL's (thanks to Michael Entin) -+ -+ * stlport/config/stl_wince.h : added abort()/assert() definitions -+ (thanks to Gavin Wood for the report) -+ -+ * Initial iostreams port for xlC (thanks to Alexander Vanic for the patch). -+ -+ * config files - made safe for C compilers -+ -+ * src/c_locale_stub.c - made structure for full platform-dependent -+ locales other than "C". Glibc implementation merged. -+ -+The following changes were made in 4.0 release candidate 2 since 4.0 release candidate 1: -+ -+ * Solid approach to __STL_DEFAULT_CONSTRUCTOR_BUG problem implemented, -+ rope.h typo fixed (thanks to Alex Vanic for the report) -+ -+ * getline and stream operators moved from _istream.c to _string.c -+ where they belong (thanks for Petr Ovchenkov) -+ -+ * fixed to import nothrow and nothrow_t -+ -+ * Borland C++ 5.5 (free compiler) supported (iostreams won't compile yet). -+ -+ * SUN CC 6.0 EA - new features unabled (most announced features still don't work though) -+ -+ * HP ACC configuration updated, some fixes for new aCC beta(thanks to Alain Miniussi). -+ -+ * Windows CE compatibility fixed (thanks to Gavin Wood for the report) -+ -+ * fixed for non-SGI case, ios.cpp bug in __STL_NO_EXCEPTIONS -+ mode fixed, debug iterators fix (thanks to Todd Richmond). -+ -+ * VC++ 5.0 and 4.2 compatibility fixed (thanks to Ilya for the report) -+ -+ * __cdecl calling convention explicitly specified for VC++ & static/global functions. -+ -+ * vc_common.mk : debug type changed to CV (thanks to Mike Pyle for the solution) -+ -+ * fstream.cpp : Win32 text mode : bugs fixed, SGI code used. -+ fixed _M_open() creation flags for Win32 (thanks to Mike Pyle for the report) -+ -+ * "install" target added for VC++ to install .dll's into Win system directory. -+ -+ * __STL_USE_STATIC_LIB switch added to add flexibility to VC++ linking. -+ -+ * __stl_debug_message for WIN32/Unicode/MFC improved -+ (thanks to Edward Ball, Chvetsov for the reports) -+ -+ * MVS fix for auto_ptr<> (thanks to Tinny Ng) -+ -+ * debug/_tree.h, debug/_vector.h "typename" fixes, thanks to Matti Rintala. -+ -+ * c_locale.h : fix for Solaris 2.5.x (thanks to B. K. Oxley) -+ -+ * _bvector.h : Watcom compatibility fixed (thanks to Ricardo E. Gayoso for the report) -+ -+ * __STL_DONT_REDEFINE_STD flag behaviour fixed -+ -+The following changes were made in 4.0 release candidate 1 since 3.2.2 Beta 4 : -+ -+ * Merged changes made to SGI standard library snapshot on 01/28. -+ -+ * Fixed bug with istream reading numbers in hex mode (thanks to Dave Abrahams -+ for the patch). -+ -+ * Debug mode redesigned (again) - no extra namespaces is being used -+ Finally, it works for MSVC and all other platforms. -+ -+ * __SGI_STL_OWN_IOSTREAMS made to be the default mode except few platforms -+ not provided with makefiles to build STLport yet. -+ -+ * Changed strategy on redefinig std:: namespace. -+ prolog/epilog technology used to get clean namespace wrapping. -+ It also allows for managing stack of pragmas -+ (see stlport/stl/config/_prolog.h,_epilog.h) to get rid of warnings. -+ Note : default namespace changed to _STL:: to satisfy implementation -+ constraints and to allow for more compact symbols. -+ "stlport::" namespace is still defined for backwards compatibility. -+ -+ * iostreams library now compiles on HP with aCC (thanks to Steven Serocki for the patch). -+ -+ * Configuration for SUN Workshop 6.0 EA provided. -+ -+ * For VC++, corresponding [selected by /MT(d) or /MD(d) switch] -+ STLport iostreams library is being linked automatically - all you -+ need is to put library in lib search path or specify additional library path. -+ -+ * Ability to turn on all warnings in your own code if you're using -+ a compiler with appropriate support (e.g. MSVC6). -+ -+ * Small fixes posted to the forum integrated: -+ -+ * config/stl_wince.h : added __STL_HAS_NO_NEW_C_HEADERS switch -+ * wrap_std/strsream : fixed preprocessor bug, strstream.h included -+ when not using new-style headers -+ * other fixes -+ -+The following changes were made in 3.2.2 beta 4 since 3.2.2 Beta 3: -+ -+ * Merged changes made to SGI standard library snapshot on 01/10. -+ -+ * Major restructuring of header files - for maintainability and -+ 8.3 filesystems benefit. -+ -+ * Major debug mode improvements - new debug mode now works with -+ VC++, gcc, intel, SUNpro, MetroWerks. -+ -+ * Regression test suite changed to new-style headers - thanks to -+ Dima Pasechnik for the initial port. -+ -+ * fixes for Watcom -+ -+ * many miscellanous fixes. -+ -+The following changes were made in 3.2.2 beta 3 since 3.2.2 Beta 2: -+ -+ * Merged changes made to SGI standard library snapshot in December. -+ -+ * std:: is not used for STLport namespace even with SGI iostreams, -+ to avoid possible clashes and facilitate 3rd-party library use. -+ Same macro redefinition technique for stlport:: used to keep clients -+ code with literal std:: happy as in native iostreams mode. -+ -+ * C library headers wrapping changed to allow multiple inclusion tricks -+ (needed by gcc-2.95 mostly) -+ -+ * gcc-2.95 and CodeWarrior configurations updated. -+ -+ * HP aCC fixes applied. -+ -+ * Visual C++ - added static library targets, build refined. -+ Fixed memory-mapping bugs. -+ -+ * auto_ptr updated, now it passes polymorphic tests with VC++. -+ -+ * Many small bugfixes. -+ -+The following changes were made in 3.2.2 beta 2 since 3.2.2 Beta 1: -+ -+ * Fixed SUN CC deque<> problem with -g -+ -+ * Added configuration and makefiles for DEC VMS, Borland and Win32 gcc. -+ -+ * Merged changes made to November SGI standard library snapshot. -+ -+ * config changes - "configure" made obsolete and moved into "stlport/config/new_compiler". -+ -+ * __STL_TYPENAME_ON_RETURN_TYPE handling changed. -+ -+ * Miscellanous fixes. -+ -+The following changes were made in 3.2.2 Beta 1 since 3.2.1 release: -+ -+ * SGI iostreams adopted. To use SGI iostreams, user have to set -+ __SGI_STL_OWN_IOSTREAMS flag and to build the library in "src" -+ directory to link with. Please read INSTALL file for detailed -+ instructions. -+ Default setting is NOT to use SGI iostreams (wrappers used as before). -+ -+ * Debug mode completely redesigned - debug mode containers are -+ implemented in terms of wrappers around non-debug ones. -+ That provides for more clean and efficient implementation and -+ binary compatibility between debug and non-debug versions. -+ -+ * Additional configurations added for platforms : -+ - gcc-2.95 -+ - SUNpro CC 5.0 in "compatibility" mode -+ "configure" made obsolete. -+ -+ * Bugfixes reported by users since 3.2.1 release merged -+ -+The following changes were made in 3.2.1 since 3.2 release: -+ -+ * Now, by default, STLPort renames std:: namespace for user -+ if __STL_USE_OWN_NAMESPACE is used. To make it possible, many new -+ wrapper headers introduced. Internally, STLport uses stlport:: namespace, -+ so no link- or run- time clashes are possible, and you don't have to rebuild -+ the runtime lib (which you don't want to). -+ This feature makes STLport usable out-of-the box, without any modifications -+ for client code, with any compiler. -+ -+ * Code bloat reduction : hashtable uses vector internally. -+ -+ * Vector : efficiency/code bloat reduction fixes. -+ -+ * Visual C++ : DLL export is supported for allocators and strings. To use it, -+ please define __STL_USE_DECLSPEC in all modules and __STL_DESIGNATED_DLL -+ for the DLL which is supposed to instantiate STLport exports (at least one -+ source of this DLL must include . -+ -+ * Visual C++ : for MT synchronization, is not included anymore. -+ -+ * For Sunpro C++ 5.0 : all headers are linked into stlport/SC5, so only -+ one include path is needed. Note that SC5.0 has problems with relative -+ search path. It is easy to work around : in your makefiles, instead of -+ "STL_INCL=../.." , write "STL_INCL=${PWD}/../..". -+ -+ * Configuration files provided for compilers : -+ KAI C++ -+ DEC C++ (6.x, 5.x) -+ Borland 5.02 is back on the road (finally !) -+ -+ * Windows CE config provided for Visual C++. -+ -+ * __STL_NO_IOSTREAMS switch introduced for embedded platforms. -+ -+ * Lots of minor config fixes and improvements for various platforms. -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/Makefile.am tripwire-2.3.1-2/src/STLport-4.0/Makefile.am ---- tripwire-2.3.1-2.old/src/STLport-4.0/Makefile.am Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/Makefile.am Sun Sep 7 16:00:01 2003 -@@ -0,0 +1,31 @@ -+LIBDIR = ../../lib -+STLLIB_R=$(STLPORT_LIBRARY) -+INSTLIB = $(LIBDIR)/libstlport.a -+CC = @CC@ -+CXX = @CXX@ -+CFLAGS = @CFLAGS@ -+CXXFLAGS = @CXXFLAGS@ -+ -+all: release -+ -+clean: -+ PATH=./stlport:${PATH}; export PATH; \ -+ $(GMAKE) -C ./src -f $(STLPORT_MAKEFILE) clean -+ test -h "include" && rm -f include || true -+ rm -f lib/$(STLLIB_R) $(INSTLIB) -+distclean: clean -+ -rm -f Makefile -+clobber: -+ PATH=./stlport:${PATH}; export PATH; \ -+ $(GMAKE) -C ./src -f $(STLPORT_MAKEFILE) clobber -+debug release: -+ @test -d $(LIBDIR) || mkdir $(LIBDIR) -+ @test -d "include" || test -h "include" || test "x$(SYSPRE)" != "xi386-unknown-freebsd" || ln -s /usr/include/g++ include -+ @test -d "include" || test -h "include" || test "x$(SYSPRE)" != "xi386-unknown-openbsd" || ln -s /usr/include/g++ include -+ @test -d "include" || test -h "include" || test "x$(SYSPRE)" != "xi386-unknown-netbsd" || ln -s /usr/include/g++ include -+ PATH=./stlport:${PATH}; export PATH; \ -+ $(GMAKE) -C ./src -f $(STLPORT_MAKEFILE) \ -+ CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" \ -+ ../lib/$(STLLIB_R) -+ ln -f lib/$(STLLIB_R) $(INSTLIB) -+ $(RANLIB) $(INSTLIB) -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/Makefile.in tripwire-2.3.1-2/src/STLport-4.0/Makefile.in ---- tripwire-2.3.1-2.old/src/STLport-4.0/Makefile.in Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/Makefile.in Mon Sep 22 09:40:55 2003 -@@ -0,0 +1,230 @@ -+# Makefile.in generated automatically by automake 1.5 from Makefile.am. -+ -+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -+# Free Software Foundation, Inc. -+# This Makefile.in is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -+# PARTICULAR PURPOSE. -+ -+@SET_MAKE@ -+ -+SHELL = @SHELL@ -+ -+srcdir = @srcdir@ -+top_srcdir = @top_srcdir@ -+VPATH = @srcdir@ -+prefix = @prefix@ -+exec_prefix = @exec_prefix@ -+ -+bindir = @bindir@ -+sbindir = @sbindir@ -+libexecdir = @libexecdir@ -+datadir = @datadir@ -+sysconfdir = @sysconfdir@ -+sharedstatedir = @sharedstatedir@ -+localstatedir = @localstatedir@ -+libdir = @libdir@ -+infodir = @infodir@ -+mandir = @mandir@ -+includedir = @includedir@ -+oldincludedir = /usr/include -+pkgdatadir = $(datadir)/@PACKAGE@ -+pkglibdir = $(libdir)/@PACKAGE@ -+pkgincludedir = $(includedir)/@PACKAGE@ -+top_builddir = ../.. -+ -+ACLOCAL = @ACLOCAL@ -+AUTOCONF = @AUTOCONF@ -+AUTOMAKE = @AUTOMAKE@ -+AUTOHEADER = @AUTOHEADER@ -+ -+INSTALL = @INSTALL@ -+INSTALL_PROGRAM = @INSTALL_PROGRAM@ -+INSTALL_DATA = @INSTALL_DATA@ -+INSTALL_SCRIPT = @INSTALL_SCRIPT@ -+INSTALL_HEADER = $(INSTALL_DATA) -+transform = @program_transform_name@ -+NORMAL_INSTALL = : -+PRE_INSTALL = : -+POST_INSTALL = : -+NORMAL_UNINSTALL = : -+PRE_UNINSTALL = : -+POST_UNINSTALL = : -+AMTAR = @AMTAR@ -+AWK = @AWK@ -+CORE_CRYPT_O = @CORE_CRYPT_O@ -+DEPDIR = @DEPDIR@ -+EXEEXT = @EXEEXT@ -+GMAKE = @GMAKE@ -+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -+OBJEXT = @OBJEXT@ -+PACKAGE = @PACKAGE@ -+RANLIB = @RANLIB@ -+STLPORT_INCLUDE = @STLPORT_INCLUDE@ -+STLPORT_LD = @STLPORT_LD@ -+STLPORT_LIBRARY = @STLPORT_LIBRARY@ -+STLPORT_MAKEFILE = @STLPORT_MAKEFILE@ -+STLPORT_SUBDIR = @STLPORT_SUBDIR@ -+SYSPRE = @SYSPRE@ -+VERSION = @VERSION@ -+YACC = @YACC@ -+am__include = @am__include@ -+am__quote = @am__quote@ -+install_sh = @install_sh@ -+path_to_sendmail = @path_to_sendmail@ -+path_to_vi = @path_to_vi@ -+CC = @CC@ -+CXX = @CXX@ -+ -+LIBDIR = ../../lib -+STLLIB_R = $(STLPORT_LIBRARY) -+INSTLIB = $(LIBDIR)/libstlport.a -+CFLAGS = @CFLAGS@ -+CXXFLAGS = @CXXFLAGS@ -+subdir = src/STLport-4.0 -+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -+CONFIG_HEADER = $(top_builddir)/config.h -+CONFIG_CLEAN_FILES = -+DIST_SOURCES = -+DIST_COMMON = README ChangeLog INSTALL Makefile.am Makefile.in TODO -+all: all-am -+ -+.SUFFIXES: -+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) -+ cd $(top_srcdir) && \ -+ $(AUTOMAKE) --gnu src/STLport-4.0/Makefile -+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status -+ cd $(top_builddir) && \ -+ CONFIG_HEADERS= CONFIG_LINKS= \ -+ CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -+uninstall-info-am: -+tags: TAGS -+TAGS: -+ -+ -+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -+ -+top_distdir = ../.. -+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) -+ -+distdir: $(DISTFILES) -+ @for file in $(DISTFILES); do \ -+ if test -f $$file; then d=.; else d=$(srcdir); fi; \ -+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ -+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ -+ $(mkinstalldirs) "$(distdir)/$$dir"; \ -+ fi; \ -+ if test -d $$d/$$file; then \ -+ cp -pR $$d/$$file $(distdir) \ -+ || exit 1; \ -+ else \ -+ test -f $(distdir)/$$file \ -+ || cp -p $$d/$$file $(distdir)/$$file \ -+ || exit 1; \ -+ fi; \ -+ done -+check-am: all-am -+check: check-am -+all-am: Makefile -+ -+installdirs: -+ -+install: install-am -+install-exec: install-exec-am -+install-data: install-data-am -+uninstall: uninstall-am -+ -+install-am: all-am -+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -+ -+installcheck: installcheck-am -+install-strip: -+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ -+ `test -z '$(STRIP)' || \ -+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -+mostlyclean-generic: -+ -+clean-generic: -+ -+distclean-generic: -+ -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* -+ -+maintainer-clean-generic: -+ @echo "This command is intended for maintainers to use" -+ @echo "it deletes files that may require special tools to rebuild." -+clean: clean-am -+ -+clean-am: clean-generic mostlyclean-am -+ -+distclean: distclean-am -+ -+distclean-am: clean-am distclean-generic -+ -+dvi: dvi-am -+ -+dvi-am: -+ -+info: info-am -+ -+info-am: -+ -+install-data-am: -+ -+install-exec-am: -+ -+install-info: install-info-am -+ -+install-man: -+ -+installcheck-am: -+ -+maintainer-clean: maintainer-clean-am -+ -+maintainer-clean-am: distclean-am maintainer-clean-generic -+ -+mostlyclean: mostlyclean-am -+ -+mostlyclean-am: mostlyclean-generic -+ -+uninstall-am: uninstall-info-am -+ -+.PHONY: all all-am check check-am clean clean-generic distclean \ -+ distclean-generic distdir dvi dvi-am info info-am install \ -+ install-am install-data install-data-am install-exec \ -+ install-exec-am install-info install-info-am install-man \ -+ install-strip installcheck installcheck-am installdirs \ -+ maintainer-clean maintainer-clean-generic mostlyclean \ -+ mostlyclean-generic uninstall uninstall-am uninstall-info-am -+ -+ -+all: release -+ -+clean: -+ PATH=./stlport:${PATH}; export PATH; \ -+ $(GMAKE) -C ./src -f $(STLPORT_MAKEFILE) clean -+ test -h "include" && rm -f include || true -+ rm -f lib/$(STLLIB_R) $(INSTLIB) -+distclean: clean -+ -rm -f Makefile -+clobber: -+ PATH=./stlport:${PATH}; export PATH; \ -+ $(GMAKE) -C ./src -f $(STLPORT_MAKEFILE) clobber -+debug release: -+ @test -d $(LIBDIR) || mkdir $(LIBDIR) -+ @test -d "include" || test -h "include" || test "x$(SYSPRE)" != "xi386-unknown-freebsd" || ln -s /usr/include/g++ include -+ @test -d "include" || test -h "include" || test "x$(SYSPRE)" != "xi386-unknown-openbsd" || ln -s /usr/include/g++ include -+ @test -d "include" || test -h "include" || test "x$(SYSPRE)" != "xi386-unknown-netbsd" || ln -s /usr/include/g++ include -+ PATH=./stlport:${PATH}; export PATH; \ -+ $(GMAKE) -C ./src -f $(STLPORT_MAKEFILE) \ -+ CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" \ -+ ../lib/$(STLLIB_R) -+ ln -f lib/$(STLLIB_R) $(INSTLIB) -+ $(RANLIB) $(INSTLIB) -+# Tell versions [3.59,3.63) of GNU make to not export all variables. -+# Otherwise a system limit (for SysV at least) may be exceeded. -+.NOEXPORT: -Only in tripwire-2.3.1-2.old/src/STLport-4.0: STLport.mak -Only in tripwire-2.3.1-2.old/src/STLport-4.0/doc: FAQ.html -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.BC.html tripwire-2.3.1-2/src/STLport-4.0/doc/README.BC.html ---- tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.BC.html Sat Feb 24 10:45:49 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/doc/README.BC.html Mon Mar 17 12:57:57 2003 -@@ -1,107 +1,6 @@ -- -- -- --STLport - Note For Borland C++ Users -+STLport: STLport - Note For Borland C++ Users




    - -- -- -- -- -- -- -- -- --
    --
    -- -- --
    -- -- -- -- -- --
    -- STLport.org - "Templates that fit" -- -- -- -- -- --
    -- --
    --
    --
    --
    --
    -- -- -- -- --
    --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    Contents
    -- Introduction
    -- --   About STLport
    --   SGI STL Base
    --   STLport Story
    -- -- --

    STLport Features
    --   Portability
    --   Debug Mode
    --   Thread Safety
    --   Exception Safety --

    -- --

    Getting Started
    -- --   Download and Install
    --   Select Streams Mode
    --   Compiling with STLport --

    -- --

    White Papers
    --   Release Notes
    -- --   READMEs
    --   Interface with std::
    --   Wrappers
    --   Config manual
    --   Regression Test
    --   Exception Test --

    -- --

    Feedback
    --   Bug Reports
    --   Forum
    --

    -- --

    Appendix
    --   Acknowledgements
    -- --   Your Free Licence

    -- --
    -- --
    -- --

    Note For Borland C++ / C++ Builder Users

    -+ Note For Borland C++ / C++ Builder Users -

     

    -

    Known problems

    -

    Compiling

    -@@ -113,10 +12,10 @@ - with <string>, so BC50 is configured to use native one. You may face other problems with - 5.0. Please direct your bug reports and workarounds to the Forum. -
  • This release should work out-of-the box for Borland C++ Builder 4. Builder 3 may require -- some configuration adjustments to enable features added in BCB 3. You may also utilize <iostream.h> -+ some configuration adjustments to enable features added in BCB 3. You may also utilize <iostream.h> - wrapper in stlport/BCB directory to compile programs using old-style header.
  • -
  • With 5.0, you may also encounter problems with too long symbols when compiling -- with debug information. To handle this, try defining __STL_USE_ABBREVS -+ with debug information. To handle this, try defining _STLP_USE_ABBREVS - in stlcomp.h.
  • -
  • If your program is multi-threaded, be sure to define macro _REENTRANT - for proper synchronization (if you are using SGI node -@@ -124,7 +23,7 @@ - need that).
  • -
  • You may encounter problems using new-style BC++ 5.0 <iostream> - in mix with SGI STL <string>, <stdexcept> -- without defining __STL_USE_OWN_NAMESPACE.
  • -+ without defining _STLP_USE_OWN_NAMESPACE. - -
    -

    Migration notes

    -@@ -138,37 +37,4 @@ - Borland C++ versions older than 4.52 have not been tested. Probably it - would work with 4.50-4.51. - -- -- -- --
    --
    --
    -- --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    --
    --
    Copyright © 1999,2000 by Boris Fomitchev.   --  Last modified: July 14, 2000 --
    --
    -- -- -- -- -- -- -+

    Table of Contents


    Copyright 2001 by STLport
    -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.CW.html tripwire-2.3.1-2/src/STLport-4.0/doc/README.CW.html ---- tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.CW.html Sat Feb 24 10:45:49 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/doc/README.CW.html Mon Mar 17 12:57:57 2003 -@@ -1,108 +1,6 @@ -- -- -- --STLport - Note For Metrowerks CodeWarrior Users -+STLport: Note For Metrowerks CodeWarrior Users




    - -- -- -- -- -- -- -- -- --
    --
    -- -- --
    -- -- -- -- -- --
    -- STLport.org - "Templates that fit" -- -- -- -- -- --
    -- --
    --
    --
    --
    --
    -- -- -- -- --
    --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    Contents
    -- Introduction
    -- --   About STLport
    --   SGI STL Base
    --   STLport Story
    -- -- --

    STLport Features
    --   Portability
    --   Debug Mode
    --   Thread Safety
    --   Exception Safety --

    -- --

    Getting Started
    -- --   Download and Install
    --   Select Streams Mode
    --   Compiling with STLport --

    -- --

    White Papers
    --   Release Notes
    -- --   READMEs
    --   Interface with std::
    --   Wrappers
    --   Config manual
    --   Regression Test
    --   Exception Test --

    -- --

    Feedback
    --   Bug Reports
    --   Forum
    --

    -- --

    Appendix
    --   Acknowledgements
    -- --   Your Free Licence

    -- --
    -- --
    -- -- --

    Note For Metrowerks CodeWarrior Users

    -+ Note For Metrowerks CodeWarrior Users -
    -

    Known problems

    -

    Compiling

    -@@ -110,15 +8,15 @@ -
  • You may have to edit relative/full path to CodeWarrior native - headers .
  • -
  • To avoid editing the headers mentioned above, Metrowerks users -- should put the "STLport" directory in the "Metrowerks -- Standard Library" directory, and add the "STLport" -+ should put the "STLport" directory in the "Metrowerks -+ Standard Library" directory, and add the "STLport" - directory as the first item in the system search paths of the - projects that wish to use it.
  • -
  • If you want your code to be portable, you should avoid explicit - usage of reverse_iterator<Iterator,T,T&,T*,Distance>.
  • -
  • It's better to use coherent set of headers in the project: all - new-style, including STL ones;
  • --
  • IMPORTANT : You should either have __STL_USE_OWN_NAMESPACE -+
  • IMPORTANT : You should either have _STLP_USE_OWN_NAMESPACE - defined, or you should recompile CodeWarrior runtime libraries after - you installed STLport.
  • -
  • For earlier versions, you have to copy <functional> -@@ -127,37 +25,4 @@ - on 8.3 systems
  • - - -- -- -- --
    --
    --
    -- --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    --
    --
    Copyright © 1999,2000 by Boris Fomitchev.   --  Last modified: July 14, 2000 --
    --
    -- -- -- -- -- -- -+

    Table of Contents


    Copyright 2001 by STLport
    -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.DEC.html tripwire-2.3.1-2/src/STLport-4.0/doc/README.DEC.html ---- tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.DEC.html Sat Feb 24 10:45:50 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/doc/README.DEC.html Mon Mar 17 12:57:57 2003 -@@ -1,108 +1,6 @@ -- -- -- --STLport - Notes for DEC CXX Users -+STLport: Notes for DEC CXX Users




    - -- -- -- -- -- -- -- -- --
    --
    -- -- --
    -- -- -- -- -- --
    -- STLport.org - "Templates that fit" -- -- -- -- -- --
    -- --
    --
    --
    --
    --
    -- -- -- -- --
    --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    Contents
    -- Introduction
    -- --   About STLport
    --   SGI STL Base
    --   STLport Story
    -- -- --

    STLport Features
    --   Portability
    --   Debug Mode
    --   Thread Safety
    --   Exception Safety --

    -- --

    Getting Started
    -- --   Download and Install
    --   Select Streams Mode
    --   Compiling with STLport --

    -- --

    White Papers
    --   Release Notes
    -- --   READMEs
    --   Interface with std::
    --   Wrappers
    --   Config manual
    --   Regression Test
    --   Exception Test --

    -- --

    Feedback
    --   Bug Reports
    --   Forum
    --

    -- --

    Appendix
    --   Acknowledgements
    -- --   Your Free Licence

    -- --
    -- --
    -- -- --

    Note for DEC CXX users

    -+ Note for DEC CXX users -
    -

    Known problems

    -

    Compiling

    -@@ -124,7 +22,7 @@ - of two kinds : unresolved symbols and duplicate symbols. The latter - problem was never reported to occur with DEC CXX. The problem with - undefined symbols is also may require manual intervention. General rule -- is : if you get "unresolved symbol" errors, explicit -+ is : if you get "unresolved symbol" errors, explicit - instantiation will most likely help, for example: -

    Unresolved:
    - __default_alloc_template<0, 0>::allocate(unsigned long)
    -@@ -134,39 +32,6 @@ - explicitly in some module:

    -

    template class __default_alloc_template<0,0>;

    -

    Another way to solve this problem may be use of -pts compiler -- option, but I'm not sure it works in all cases. -- -- -- -- --

    --
    --
    -- --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    --
    --
    Copyright © 1999,2000 by Boris Fomitchev.   --  Last modified: July 14, 2000 --
    --
    -- -- -- -- -+ option, but I'm not sure it works in all cases.

    - -- -+

    Table of Contents


    Copyright 2001 by STLport
    -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.MPW.html tripwire-2.3.1-2/src/STLport-4.0/doc/README.MPW.html ---- tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.MPW.html Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/doc/README.MPW.html Mon Mar 17 12:57:57 2003 -@@ -0,0 +1,35 @@ -+STLport: Note for Apple MPW users




    -+ -+Note for Apple MPW users -+ -+

    -+03/22/2001
    -+Tsutomu Yoshida
    -+Minokamo, Japan -+

    -+ -+

    Installation

    -+For the installation of STLport package, please follow the instruction contained in "ReadMe.MPW" located in "test:regression:" folder. -+The MPW shell scripts embedded in this document will set up the shell variable "{STL}" which points to the main STLport package folder "stlport:". -+A small MPW shell script named "!STL_Folder_SetUp" will be placed in "{MPW}StartUp Items:" so that this "{STL}" will be automatically reestablished -+at the subsequent MPW startups. -+The script also set up an alias to MPW's "{CIncludes}" at the same level as "stlport:" which is used to look up the native C headers refered from STLport. -+ -+

    The installation script will build and install stlport library binary which contains iostreams code and other commonly used class binaries. -+The library binaries are stored in "{STL}:lib:" folder with the names:
    -+

      -+
    • "STLportLib.68K.DBG.o" : 68K (SCpp) with debugging code
    • -+
    • "STLportLib.68K.o" : 68K (SCpp) without debugging code
    • -+
    • "STLportLib.PPC.DBG.o" : PPC (MrCpp) with debugging code
    • -+
    • "STLportLib.PPC.o" : PPC (MrCpp) without debugging code
    • -+
    -+
    -+For the sample setup of makefile utilizing STLport and accompanying library binary, please refer to:
    -+
      -+
    • "{STL}:src:MrCpp.mak"
    • -+
    • "{STL}:test:regression:MrCpp.mak"
    • -+
    • "{STL}:src:SCpp.mak"
    • -+
    • "{STL}:test:regression:SCpp.mak"
    • -+
    -+

    -+

    Table of Contents


    Copyright 2001 by STLport
    -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.VC++.html tripwire-2.3.1-2/src/STLport-4.0/doc/README.VC++.html ---- tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.VC++.html Sat Feb 24 10:45:50 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/doc/README.VC++.html Mon Mar 17 12:57:57 2003 -@@ -1,108 +1,6 @@ -- -- -- --STLport - Note For Visual C++ Users -+STLport: Note For Visual C++ Users




    - -- -- -- -- -- -- -- -- --
    --
    -- -- --
    -- -- -- -- -- --
    -- STLport.org - "Templates that fit" -- -- -- -- -- --
    -- --
    --
    --
    --
    --
    -- -- -- -- --
    --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    Contents
    -- Introduction
    -- --   About STLport
    --   SGI STL Base
    --   STLport Story
    -- -- --

    STLport Features
    --   Portability
    --   Debug Mode
    --   Thread Safety
    --   Exception Safety --

    -- --

    Getting Started
    -- --   Download and Install
    --   Select Streams Mode
    --   Compiling with STLport --

    -- --

    White Papers
    --   Release Notes
    -- --   READMEs
    --   Interface with std::
    --   Wrappers
    --   Config manual
    --   Regression Test
    --   Exception Test --

    -- --

    Feedback
    --   Bug Reports
    --   Forum
    --

    -- --

    Appendix
    --   Acknowledgements
    -- --   Your Free Licence

    -- --
    -- --
    -- -- --

    Note For Visual C++ Users

    -+ Note For Visual C++ Users -
    -

    Known problems

    -

    Compiling

    -@@ -113,24 +11,24 @@ - won't need that). -
  • You may encounter problems using  <iostream> in - mix with SGI STL <string>, <stdexcept> without -- defining __STL_USE_OWN_NAMESPACE.  Using  __STL_USE_OWN_NAMESPACE  -+ defining _STLP_USE_OWN_NAMESPACE.  Using  _STLP_USE_OWN_NAMESPACE  - is the most safe way to cooperate with new I/O
    - library and is definitely recommended unless you recompile the whole - C++ std library with STLport installed.
  • --
  • __STL_USE_EXCEPTIONS is being defined -+
  • _STLP_USE_EXCEPTIONS is being defined - automatically if the compiler defined _CPPUNWIND -- macro ("/GX" option). So you should not -+ macro ("/GX" option). So you should not - worry about it.
  • -
  • There were reports that Visual C++ 4.0 have problems with -- namespaces in certain cases. Due to that, __STL_NO_NAMESPACES  -+ namespaces in certain cases. Due to that, _STLP_NO_NAMESPACES  - defined for it in <stlcomp.h>.
  • -
  • You may encounter problems with too long symbols when compiling -- with debug information. To handle this, try defining __STL_USE_ABBREVS -+ with debug information. To handle this, try defining _STLP_USE_ABBREVS - in stlcomp.h.
  • -
  • You may experience problems with default SGI node allocator. I had - no such problems, though. Default node allocator is quite fast, so I - wouldn't recommend disabling it without serious reason. However, if -- it causes problems, define __STL_USE_MALLOC or __STL_USE_NEWALLOC -+ it causes problems, define _STLP_USE_MALLOC or _STLP_USE_NEWALLOC - to get bare malloc()-based or new()-based default allocator.
  • -
  • If your program is multi-threaded, make sure you defined macro _REENTRANT - to enable proper synchronization.
  • -@@ -142,11 +40,11 @@ - If you want to use old-style <iostream.h> in your - project: -
      --
    • define macro __STL_NO_NEW_IOSTREAMS in <stl_user_config.h> -+
    • define macro _STLP_NO_NEW_IOSTREAMS in <stl_user_config.h> - or at the command line.
    • -
    - If you are going to use new-style <iostream> without -- defining __STL_USE_OWN_NAMESPACE: -+ defining _STLP_USE_OWN_NAMESPACE: -
      -
    • You may have to edit relative (or set full) path to VC++  - native headers in <stl_user_config.h>. Using -@@ -174,37 +72,4 @@ -

       

      -
      - -- -- -- --
    --
    --
    -- --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    --
    --
    Copyright © 1999,2000 by Boris Fomitchev.   --  Last modified: July 14, 2000 --
    --
    -- -- -- -- -- -- -+

    Table of Contents


    Copyright 2001 by STLport
    -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.aCC.html tripwire-2.3.1-2/src/STLport-4.0/doc/README.aCC.html ---- tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.aCC.html Sat Feb 24 10:45:50 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/doc/README.aCC.html Mon Mar 17 12:57:57 2003 -@@ -1,108 +1,6 @@ -- -- -- --STLport - Note for HP ANSI C++ Compiler users -+STLport: Note for HP ANSI C++ Compiler users




    - -- -- -- -- -- -- -- -- --
    --
    -- -- --
    -- -- -- -- -- --
    -- STLport.org - "Templates that fit" -- -- -- -- -- --
    -- --
    --
    --
    --
    --
    -- -- -- -- --
    --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    Contents
    -- Introduction
    -- --   About STLport
    --   SGI STL Base
    --   STLport Story
    -- -- --

    STLport Features
    --   Portability
    --   Debug Mode
    --   Thread Safety
    --   Exception Safety --

    -- --

    Getting Started
    -- --   Download and Install
    --   Select Streams Mode
    --   Compiling with STLport --

    -- --

    White Papers
    --   Release Notes
    -- --   READMEs
    --   Interface with std::
    --   Wrappers
    --   Config manual
    --   Regression Test
    --   Exception Test --

    -- --

    Feedback
    --   Bug Reports
    --   Forum
    --

    -- --

    Appendix
    --   Acknowledgements
    -- --   Your Free Licence

    -- --
    -- --
    -- -- --

    Note for HP ANSI C++ Compiler users

    -+ Note for HP ANSI C++ Compiler users -

     

    -
    -

    Known problems

    -@@ -110,7 +8,7 @@ - stlcomp.h provides recognition section usable with aCC 1.06. - You should be able to use unconfigured STL distribution with it. If you - are using more recent version, you might want to enable more features -- (see comments in stlcomp.h). Basically, "configure" -+ (see comments in stlcomp.h). Basically, "configure" - script was reported to work with aCC. However, your aCC version might - contain bugs (not showing in simple example) that could prevent your - code from compiling. In this case, refer to stlcomp.h to figure -@@ -119,39 +17,6 @@ - aCC enforces stricter name lookup checking than many other compilers.  - Also it uses initial template name lookup scheme different from many - compilers. This scheme prevents any use of inherited typenames without -- explicit "using" directive, etc. -- -- -- -- --
    --
    --
    -- --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    --
    --
    Copyright © 1999,2000 by Boris Fomitchev.   --  Last modified: July 14, 2000 --
    --
    -- -- -- -- -+ explicit "using" directive, etc. - -- -+

    Table of Contents


    Copyright 2001 by STLport
    -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.gcc.html tripwire-2.3.1-2/src/STLport-4.0/doc/README.gcc.html ---- tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.gcc.html Sat Feb 24 10:45:50 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/doc/README.gcc.html Mon Mar 17 12:57:57 2003 -@@ -1,112 +1,12 @@ -- -- -- --STLport - Note for GCC users -+STLport: Note for GCC users




    - -- -- -- -- -- -- -- -- --
    --
    -- -- --
    -- -- -- -- -- --
    -- STLport.org - "Templates that fit" -- -- -- -- -- --
    -- --
    --
    --
    --
    --
    -- -- -- -- --
    --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    Contents
    -- Introduction
    -- --   About STLport
    --   SGI STL Base
    --   STLport Story
    -- -- --

    STLport Features
    --   Portability
    --   Debug Mode
    --   Thread Safety
    --   Exception Safety --

    -- --

    Getting Started
    -- --   Download and Install
    --   Select Streams Mode
    --   Compiling with STLport --

    -- --

    White Papers
    --   Release Notes
    -- --   READMEs
    --   Interface with std::
    --   Wrappers
    --   Config manual
    --   Regression Test
    --   Exception Test --

    -- --

    Feedback
    --   Bug Reports
    --   Forum
    --

    -- --

    Appendix
    --   Acknowledgements
    -- --   Your Free Licence

    -- --
    -- --
    -- -- --

    Note for GCC users

    -+ Note for GCC users -
    -

    GCC versions

    - STLport works with the following GCC flavours: --

    Cygnus "egcs": -+

    gcc-3.0 Note : "wrapper mode" w/o STLport iostreams doesn't work with 3.0, as gcc 3.0 implements Koenig lookup properly, which leads to ambiguity errors when trying to wrap new-style gcc iostreams into STLport namespace.

    -+

    gcc-2.95.x Note: on some platforms (HP, AIX) gcc-2.95 does not implement automatic instantiation of static template data members. Please refer to gcc-2.7 section below for workaround.

    -+

    Cygnus "egcs": - Based on gcc-2.8 development tree, it provides better template - support than in FSF gcc-2.8.1, and many modern commercial compilers. It - features full-blown default template parameters, namespaces, partial -@@ -116,7 +16,7 @@ - you may still want to use STLport because of debug mode.

    -

    gcc-2.8.1: About the same as egcs.
    - ( Note : you may encounter problems compiling with 2.8.1 due to bugs -- in partial template specialization. Just #define __STL_PARTIAL_SPECIALIZATION_BUG -+ in partial template specialization. Just #define _STLP_PARTIAL_SPECIALIZATION_BUG - then ) .

    -

    If you use egcs or 2.8.1 or higher, you may stop reading here.

    -

     

    -@@ -143,7 +43,7 @@ -
    -

    Known problems

    -

    Compiling

    -- See Migration notes. -+ See Migration notes. -

    Linking

    - When using __attribute__((weak))__ , you may run into - linker errors like : 'multiple definition of `global constructors -@@ -153,11 +53,11 @@ - global.
    - The workaround is simple : just put some dummy global variable before - including STL headers. That worked for me.
    -- Another way is to #define __STL_WEAK_ATTRIBUTE 0 in stlconf.h -+ Another way is to #define _STLP_WEAK_ATTRIBUTE 0 in stlconf.h - and use __PUT_STATIC_DATA_MEMBERS_HERE scheme described above. --

    On some non-ELF systems (SunOS 4.x) "configure" sets -- __STL_WEAK_ATTRIBUTE. Unfortunately, this won't work unless you -- are using GNU linker. To justify this, #define __STL_WEAK_ATTRIBUTE -+

    On some non-ELF systems (SunOS 4.x) "configure" sets -+ _STLP_WEAK_ATTRIBUTE. Unfortunately, this won't work unless you -+ are using GNU linker. To justify this, #define _STLP_WEAK_ATTRIBUTE - 0 in stlconf.h and use __PUT_STATIC_DATA_MEMBERS_HERE - scheme described above.

    -

    You may have troubles getting _linker_ errors compiling complex cases -@@ -166,7 +66,7 @@ - examples. Be sure to supply -frepo switch on the link stage, too.

    -

     

    -
    --

    Migration notes

    -+

    Migration notes

    - You may have to define operators ==() and <() on all classes you are - using with most containers, even if they are not really used. That is - the gcc bug. Another bug is that gcc won't find this operators defined -@@ -175,8 +75,8 @@ - in resolution and report that as ambiguity with templates in function.h. -

    If you use <string> from libg++ the described - problem of the definition of !=, >, <= and >= -- occurs: something like: "ambiguous template instantiation in -- sinst.h" The concrete solution is to disable the definitions -+ occurs: something like: "ambiguous template instantiation in -+ sinst.h" The concrete solution is to disable the definitions - of those operators in g++-include/std/sinst.h (line 59):

    -

    __DOB (==)
    - //__DOB (!=)
    -@@ -186,39 +86,6 @@ - //__DOB (<=)
    - //__DOB (>=)

    -

    This would be a general fix due to gcc problems. The other possible -- solution is to #include <string> after STL headers. -- -- -- -- --

    --
    --
    -- --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    --
    --
    Copyright © 1999,2000 by Boris Fomitchev.   --  Last modified: July 14, 2000 --
    --
    -- -- -- -- -+ solution is to #include <string> after STL headers.

    - -- -+

    Table of Contents


    Copyright 2001 by STLport
    -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.os390.html tripwire-2.3.1-2/src/STLport-4.0/doc/README.os390.html ---- tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.os390.html Sat Feb 24 10:45:50 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/doc/README.os390.html Mon Mar 17 12:57:57 2003 -@@ -1,108 +1,6 @@ -- -- -- --STLport - Note for IBM OS/390 C/C++ Users -+STLport: Note for IBM OS/390 C/C++ Users




    - -- -- -- -- -- -- -- -- --
    --
    -- -- --
    -- -- -- -- -- --
    -- STLport.org - "Templates that fit" -- -- -- -- -- --
    -- --
    --
    --
    --
    --
    -- -- -- -- --
    --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    Contents
    -- Introduction
    -- --   About STLport
    --   SGI STL Base
    --   STLport Story
    -- -- --

    STLport Features
    --   Portability
    --   Debug Mode
    --   Thread Safety
    --   Exception Safety --

    -- --

    Getting Started
    -- --   Download and Install
    --   Select Streams Mode
    --   Compiling with STLport --

    -- --

    White Papers
    --   Release Notes
    -- --   READMEs
    --   Interface with std::
    --   Wrappers
    --   Config manual
    --   Regression Test
    --   Exception Test --

    -- --

    Feedback
    --   Bug Reports
    --   Forum
    --

    -- --

    Appendix
    --   Acknowledgements
    -- --   Your Free Licence

    -- --
    -- --
    -- -- --

    Note for IBM OS/390 C/C++ Users

    -+ Note for IBM OS/390 C/C++ Users -

     

    -
    -
    -@@ -129,7 +27,7 @@ - This adaptation works around the above OS/390 C/C++ requirement, but - may cause compatibility problems when porting template code from other - platforms. --
  • OS/390 C++, does not allow passing an extern "C" -+
  • OS/390 C++, does not allow passing an extern "C" - function pointer as an argument to a C++ function. For example:
  • -


    -
    -@@ -143,11 +41,11 @@ -   p = ptr_gen(rand);   // error for OS/390 C/C++

    - In the above template, ptr_gen takes a function pointer as its - argument and returns a function pointer adaptor (a type of function -- object), and rand is an extern "C" library pointer. -+ object), and rand is an extern "C" library pointer. - This is not allowed because C and C++ linkage is different on OS/390 - C/C++. -

    To work around this problem, provide a C++ wrapper around the -- extern "C" function and pass the C++ wrapper instead:

    -+ extern "C" function and pass the C++ wrapper instead:

    -


    -
    -   int cxxrand(void) { return rand();}
    -@@ -229,39 +127,6 @@ -   template class __default_alloc_template<0,0>;

    -

    Useful Links

    -

    Check out :

    --

    http://www.software.ibm.com/ad/c390/cmvsstlp.htm -- -- -- -- --

    --
    --
    -- --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    --
    --
    Copyright © 1999,2000 by Boris Fomitchev.   --  Last modified: July 14, 2000 --
    --
    -- -- -- -- -+

    http://www.software.ibm.com/ad/c390/cmvsstlp.htm

    - -- -+

    Table of Contents


    Copyright 2001 by STLport
    -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.pow.html tripwire-2.3.1-2/src/STLport-4.0/doc/README.pow.html ---- tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.pow.html Sat Feb 24 10:45:51 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/doc/README.pow.html Mon Mar 17 12:57:57 2003 -@@ -1,108 +1,6 @@ -- -- -- --STLport - Note for PowerSoft's Power++ Users -+STLport: Note for PowerSoft's Power++ Users




    - -- -- -- -- -- -- -- -- --
    --
    -- -- --
    -- -- -- -- -- --
    -- STLport.org - "Templates that fit" -- -- -- -- -- --
    -- --
    --
    --
    --
    --
    -- -- -- -- --
    --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    Contents
    -- Introduction
    -- --   About STLport
    --   SGI STL Base
    --   STLport Story
    -- -- --

    STLport Features
    --   Portability
    --   Debug Mode
    --   Thread Safety
    --   Exception Safety --

    -- --

    Getting Started
    -- --   Download and Install
    --   Select Streams Mode
    --   Compiling with STLport --

    -- --

    White Papers
    --   Release Notes
    -- --   READMEs
    --   Interface with std::
    --   Wrappers
    --   Config manual
    --   Regression Test
    --   Exception Test --

    -- --

    Feedback
    --   Bug Reports
    --   Forum
    --

    -- --

    Appendix
    --   Acknowledgements
    -- --   Your Free Licence

    -- --
    -- --
    -- -- --

    Note for PowerSoft's Power++ Users

    -+ Note for PowerSoft's Power++ Users - -
    -

    Known problems

    -@@ -134,7 +32,7 @@ - // 'sizeof' operand contains compiler generated information // This - warning remains disabled after loading this file.

    -

    #pragma warning 549 9;

    --

    /* Redefine the C++ "new" and "delete" -+

    /* Redefine the C++ "new" and "delete" - operators to not go through the component library's memory checker. */
    - #if defined( _DEBUG ) && defined( new )
    - # undef new
    -@@ -143,69 +41,36 @@ - #endif

    -

    // If can get STL debug working, use the following
    - // #if defined( _DEBUG )
    -- // # define __STL_DEBUG 1 // #endif

    -+ // # define _STLP_DEBUG 1 // #endif

    -

    // Get rid of Watcom's min and max macros
    - #undef min
    - #undef max

    --

    // Get configuration defines #include "stlcomp.h"

    --

    #include "algo.h"
    -- #include "bvector.h"
    -- #include "deque.h"
    -- #include "heap.h"
    -- #include "list.h"
    -- #include "map.h"
    -- #include "multimap.h"
    -- #include "multiset.h"
    -- #include "pair.h"
    -- #include "set.h"
    -- #include "stack.h"
    -- #include "tempbuf.h"
    -- #include "vector.h"

    -+

    // Get configuration defines #include "stlcomp.h"

    -+

    #include "algo.h"
    -+ #include "bvector.h"
    -+ #include "deque.h"
    -+ #include "heap.h"
    -+ #include "list.h"
    -+ #include "map.h"
    -+ #include "multimap.h"
    -+ #include "multiset.h"
    -+ #include "pair.h"
    -+ #include "set.h"
    -+ #include "stack.h"
    -+ #include "tempbuf.h"
    -+ #include "vector.h"

    -

    // SGI-specific additions
    -- #include "rope.h"
    -- #include "slist.h"
    -- #include "function.h"
    -- #include "hash_map.h"
    -- #include "hash_set.h"

    -+ #include "rope.h"
    -+ #include "slist.h"
    -+ #include "function.h"
    -+ #include "hash_map.h"
    -+ #include "hash_set.h"

    -

    #ifdef _REDEFINE_WNEW
    -- # include "wnew.hpp"
    -+ # include "wnew.hpp"
    - # undef _REDEFINE_WNEW
    - #endif

    -

    #endif

    -

     

    -
    - -- -- -- --
    --
    --
    -- --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    --
    --
    Copyright © 1999,2000 by Boris Fomitchev.   --  Last modified: July 14, 2000 --
    --
    -- -- -- -- -- -- -+

    Table of Contents


    Copyright 2001 by STLport
    -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.sgi40.html tripwire-2.3.1-2/src/STLport-4.0/doc/README.sgi40.html ---- tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.sgi40.html Sat Feb 24 10:45:51 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/doc/README.sgi40.html Mon Mar 17 12:57:57 2003 -@@ -1,150 +1,15 @@ -- -- -- --STLport - Note for SGI's CC v4 Compiler users -+STLport: Note for SGI's CC v4 Compiler users




    - -- -- -- -- -- -- -- -- --
    --
    -- -- --
    -- -- -- -- -- --
    -- STLport.org - "Templates that fit" -- -- -- -- -- --
    -- --
    --
    --
    --
    --
    -- -- -- -- --
    --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    Contents
    -- Introduction
    -- --   About STLport
    --   SGI STL Base
    --   STLport Story
    -- -- --

    STLport Features
    --   Portability
    --   Debug Mode
    --   Thread Safety
    --   Exception Safety --

    -- --

    Getting Started
    -- --   Download and Install
    --   Select Streams Mode
    --   Compiling with STLport --

    -- --

    White Papers
    --   Release Notes
    -- --   READMEs
    --   Interface with std::
    --   Wrappers
    --   Config manual
    --   Regression Test
    --   Exception Test --

    -- --

    Feedback
    --   Bug Reports
    --   Forum
    --

    -- --

    Appendix
    --   Acknowledgements
    -- --   Your Free Licence

    -- --
    -- --
    -- -- --

    Note for SGI's CC v4 Compiler users

    -+ Note for SGI's CC v4 Compiler users - -
    -

    Known problems

    -

    Patches required

    - - You have to make sure that you have installed the C++_non_shared_libs -- package (from the "C++ translator" CD). -+ package (from the "C++ translator" CD). -

    - You must then install CC patch 1599 (you may also installed patches - 1260,1600, and 1628 though they should not be necessary).

    -

     

    -
    - -- -- -- --
    --
    --
    -- --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    --
    --
    Copyright © 1999,2000 by Boris Fomitchev.   --  Last modified: July 14, 2000 --
    --
    -- -- -- -- -- -- -+

    Table of Contents


    Copyright 2001 by STLport
    -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.sunpro.html tripwire-2.3.1-2/src/STLport-4.0/doc/README.sunpro.html ---- tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.sunpro.html Sat Feb 24 10:45:51 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/doc/README.sunpro.html Mon Mar 17 12:57:57 2003 -@@ -1,133 +1,24 @@ -- -- -- --STLport - Notes for SUNPro C++ Users -+STLport: Notes for SUNPro C++ Users




    - -- -- -- -- -- -- -- -- --
    --
    -- -- --
    -- -- -- -- -- --
    -- STLport.org - "Templates that fit" -- -- -- -- -- --
    -- --
    --
    --
    --
    --
    -- -- -- -- --
    --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    Contents
    -- Introduction
    -- --   About STLport
    --   SGI STL Base
    --   STLport Story
    -- -- --

    STLport Features
    --   Portability
    --   Debug Mode
    --   Thread Safety
    --   Exception Safety --

    -- --

    Getting Started
    -- --   Download and Install
    --   Select Streams Mode
    --   Compiling with STLport --

    -- --

    White Papers
    --   Release Notes
    -- --   READMEs
    --   Interface with std::
    --   Wrappers
    --   Config manual
    --   Regression Test
    --   Exception Test --

    -- --

    Feedback
    --   Bug Reports
    --   Forum
    --

    -- --

    Appendix
    --   Acknowledgements
    -- --   Your Free Licence

    -- --
    -- --
    -- -- --

    Notes for SUNPro C++ Users

    -+ Notes for SUNPro C++ Users -

     

    -

    Common Notes

    -- For all SUN compilers, STLport 3.2 enables separate compilation with -+ For all SUN compilers, STLport nables separate compilation with - non-inline template members defined in .c file. That is supposed to - help with code bloat, but does not make a big difference for SUN compilers. -- So, if having any problems with this mode, just turn off __STL_LINK_TIME_INSTANTIATION switch. --

    Notes for SUNPro C++ 5.0 users

    -+ So, if having any problems with this mode, just turn off _STLP_LINK_TIME_INSTANTIATION switch. -+ Installation: please note that even if you do not use STLport iostreams, you still have to go to "src" subdirectory and do "make" or at least "make prepare" to produce additional .SUNWCCh files necessary for compilation) -+ -+

    Notes for SUNPro C++ users

    -

    Known problems

    -

    Compiling

    --
      --
    • Directory STLport/SC5/ contains some extra files SunPro C++ -- expects to see on the path. Make sure you put STLport/SC5 in
      -- your search path along with STLport main directory.
    • --
    • You may encounter problems using  <iostream> in -- mix with STLport <string>, <stdexcept> without -- defining __STL_USE_OWN_NAMESPACE.
    • --
    --
    -

    Known problems

    -

    Bugs (Note for SUNPro C++ 4.2 or before)

    --

    Note : in 3.2, proposed workaround is implemented for this bug for all relevant STLport code. -+
    Note: proposed workaround is implemented for this bug for all relevant STLport code. - However, please be aware of this bug because it might affect your own code. --

    Perry R. Ross 3/12/99
    -+
    Perry R. Ross 3/12/99
    - pross@platinum.com
    --
    -+

    - The SunPro 4.2 compiler has a serious problem handling string literals
    - passed as arguments to inline functions. Each time the dummy argument - representing the string literal appears in the function, it receives a -@@ -141,21 +32,21 @@ - inline void func(char *s) {
    - // Each of these will print a different address for s
    - // if the arg was a string literal.
    -- cout << "address of " << s << " is -- " << (int) s << endl;
    -- cout << "address of " << s << " is -- " << (int) s << endl;
    -- cout << "address of " << s << " is -- " << (int) s << endl;
    -+ cout << "address of " << s << " is -+ " << (int) s << endl;
    -+ cout << "address of " << s << " is -+ " << (int) s << endl;
    -+ cout << "address of " << s << " is -+ " << (int) s << endl;
    -
    - // This will print a negative number if the arg is a literal.
    -- cout << "the difference between (s+1) and s is " -+ cout << "the difference between (s+1) and s is " - << ( (s+1) - s) << endl;
    - }

    -

    int
    - main(int argc, char *argv[]) {
    -- func("hello");
    -- char *bye = "goodbye";
    -+ func("hello");
    -+ char *bye = "goodbye";
    - func(bye);
    - return 0;
    - }
    -@@ -165,14 +56,14 @@ - #include <iostream.h>
    - #include <string>
    -
    -- string str("hello");
    -+ string str("hello");
    -
    - int main(int argc, char *argv[]) {
    - cout << str << endl;
    - return 0;
    - }
    -
    -- This will print "hellohello" on a broken compiler version.
    -+ This will print "hellohello" on a broken compiler version.
    -
    - The fix for this is to add this line to the beginning of func():
    -
    -@@ -226,7 +117,7 @@ -

    STL code itself is now free of this problem.

    -

    C++ 4.1 may also suffer from optimization bugs when using exception - handling. If your application doesn't use exceptions, you'd better use -noex -- option along with __STL_NO_EXCEPTIONS flag.

    -+ option along with _STLP_NO_EXCEPTIONS flag.

    -

    Linking

    - You may have troubles getting linker errors compiling multiple targets - in one directory ( for example, running cygnus testsuite). That is a bug -@@ -269,15 +160,15 @@ -

    More severe problems arise when given template argument's typedefs - are used as template arguments for base class. The example is function - adaptors from function.h . Refer to workarounds for binders & -- composers to see how it can be hanled ( proposed by "Martin -- Abernethy" <gma@paston.co.uk> ).

    -+ composers to see how it can be hanled ( proposed by "Martin -+ Abernethy" <gma@paston.co.uk> ).

    -

    C++ 4.01 may also suffer from optimization bugs when using exception - handling. If your application doesn't use exceptions, you'd better use -noex -- option along with __STL_NO_EXCEPTIONS flag.

    -+ option along with _STLP_NO_EXCEPTIONS flag.

    -

    Linking

    - You may still have to use explicit instantiations and/or specific -- template database controls for complex cases to avoid "unresolved -- symbol" linker errors. -+ template database controls for complex cases to avoid "unresolved -+ symbol" linker errors. -

    You may have troubles getting linker errors compiling multiple - targets in one directory ( for example, running cygnus testsuite). That - is a bug in handling Templates.DB dependencies. Known solutions are :

    -@@ -297,35 +188,4 @@ - For info on SUNPro C++ 4.0.1, see README.sunpro401. SUNPro C++ older - than 4.0.1 won't compile STL. You have to upgrade. - -- -- -- --
    --
    --
    -- --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    --
    --
    Copyright © 1999,2000 by Boris Fomitchev.   --  Last modified: July 14, 2000 --
    --
    -- -- -- -- -+

    Table of Contents


    Copyright 2001 by STLport
    -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.xlC.html tripwire-2.3.1-2/src/STLport-4.0/doc/README.xlC.html ---- tripwire-2.3.1-2.old/src/STLport-4.0/doc/README.xlC.html Sat Feb 24 10:45:51 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/doc/README.xlC.html Mon Mar 17 12:57:57 2003 -@@ -1,108 +1,6 @@ -- -- -- --STLport - Note for xlC & Visual Age C++ users -+STLport: Note for xlC & Visual Age C++ users




    - -- -- -- -- -- -- -- -- --
    --
    -- -- --
    -- -- -- -- -- --
    -- STLport.org - "Templates that fit" -- -- -- -- -- --
    -- --
    --
    --
    --
    --
    -- -- -- -- --
    --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    Contents
    -- Introduction
    -- --   About STLport
    --   SGI STL Base
    --   STLport Story
    -- -- --

    STLport Features
    --   Portability
    --   Debug Mode
    --   Thread Safety
    --   Exception Safety --

    -- --

    Getting Started
    -- --   Download and Install
    --   Select Streams Mode
    --   Compiling with STLport --

    -- --

    White Papers
    --   Release Notes
    -- --   READMEs
    --   Interface with std::
    --   Wrappers
    --   Config manual
    --   Regression Test
    --   Exception Test --

    -- --

    Feedback
    --   Bug Reports
    --   Forum
    --

    -- --

    Appendix
    --   Acknowledgements
    -- --   Your Free Licence

    -- --
    -- --
    -- -- --

    Note for xlC & Visual Age C++ users

    -+ Note for xlC & Visual Age C++ users -
    -

    Known problems

    -

    Compiling

    -@@ -129,7 +27,7 @@ - scheme, these compilers produce better results (around 50% code size reduction, less duplicate symbols). - The problem with undefined symbols is also caused by imperfect - repository handling, but it may require manual intervention. General -- rule is : if you get "unresolved symbol" errors, explicit -+ rule is : if you get "unresolved symbol" errors, explicit - instantiation will most likely help, for example: -

    Unresolved:
    - __default_alloc_template<0, 0>::allocate(unsigned long)
    -@@ -138,38 +36,6 @@ -

    To work around this problem, just instantiate __default_alloc_template<0,0> - explicitly in some module:

    -

    template class __default_alloc_template<0,0>;

    --

      -- -- -- -- --

    --
    --
    -- --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    --
    --
    Copyright © 1999,2000 by Boris Fomitchev.   --  Last modified: July 14, 2000 --
    --
    -- -- -+

     

    - -- -- -+

    Table of Contents


    Copyright 2001 by STLport
    -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/auto_configure.html tripwire-2.3.1-2/src/STLport-4.0/doc/auto_configure.html ---- tripwire-2.3.1-2.old/src/STLport-4.0/doc/auto_configure.html Sat Feb 24 10:45:52 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/doc/auto_configure.html Mon Mar 17 12:57:57 2003 -@@ -1,108 +1,6 @@ -- -- -- --STLport - Running "configure" -- -- -- -- -- -- -- -- -- --
    --
    -- -- --
    -- -- -- -- -- --
    -- STLport.org - "Templates that fit" -- -- -- -- -- --
    -- --
    --
    --
    --
    --
    -- -- -- -- --
    --
    -- -- -- --
    -- -- -- -- -- -- -- -- --
    Contents
    -- Introduction
    -- --   About STLport
    --   SGI STL Base
    --   STLport Story
    -- -- --

    STLport Features
    --   Portability
    --   Debug Mode
    --   Thread Safety
    --   Exception Safety --

    -- --

    Getting Started
    -- --   Download and Install
    --   Select Streams Mode
    --   Compiling with STLport --

    -- --

    White Papers
    --   Release Notes
    -- --   READMEs
    --   Interface with std::
    --   Wrappers
    --   Config manual
    --   Regression Test
    --   Exception Test --

    -- --

    Feedback
    --   Bug Reports
    --   Forum
    --

    -- --

    Appendix
    --   Acknowledgements
    -- --   Your Free Licence

    -- --
    -- --
    -+STLport: Running configure --




    - -- --

    Running "configure"

    -+ Running "configure" - - by Boris Fomitchev - -@@ -110,9 +8,9 @@ - -

    Note: this document describes the procedure ot tuning STLport for - new compiler, not the one that is already supported. If your compiler is listed -- as supported, this is absolutely unnecessary. -+ as supported, this is absolutely unnecessary.

    - --

    STLport comes with "configure" shell script to help in the -+

    STLport comes with "configure" shell script to help in the - initial step to tune the library for a new compiler. - It sets up stlconf.h configuration header - with proper flags depending on features of the compiler and user-defined -@@ -121,20 +19,22 @@ - in "config/new_compiler" directory and create stl_yourcompiler.h in "config" - directory based on switches defined by "configure" in stlconf.h. - Do not expect STLport to be configured just by running "configure". -+

    - -

    Here is an example how to specify the parameters to "configure" (for Bourne-like - shells):
    - host> cd STLport/config
    -- host> CXX=CC CXXFLAGS="-xwe -noex" ./configure --enable-malloc

    --

    This will set up workarounds necessary for "CC" -+ host> CXX=CC CXXFLAGS="-xwe -noex" ./configure --enable-malloc

    -+

    This will set up workarounds necessary for "CC" - compiler as well as specify malloc-based allocator as the default one.
    -+ - -- Run "configure --help" to see list of options -+ Run "configure --help" to see list of options - available. For most reliable results, you should specify CXXFLAGS - to contain the option turning warnings into errors. -- "configure" tries to scan warnings, but that not always works. -+ "configure" tries to scan warnings, but that not always works. - After testing your compiler features and setting options specified, -- "configure" creates stlconf.h file using config/stlconf.h -+ "configure" creates stlconf.h file using config/stlconf.h - as input. Macro __AUTO_CONFIGURED indicates that the package has - been configured. If it is not set (before you run configure), stlconf.h - includes stlcomp.h header to set up conservative configuration -@@ -147,22 +47,22 @@ - them. 
    - - For example, the cygwin32  -- suite for Windows 95/NT runs "configure" just fine.    -+ suite for Windows 95/NT runs "configure" just fine.    -
    - - You can also change <stlcomp.h> for your system manually.
    - Please consider contributing your changes back to the  STLport - project! - --

    "configure" synopsys (Bourne shells):

    -+

    "configure" synopsys (Bourne shells):

    - -

    > [environment] ./configure [user-defined options]

    - --

    "configure" synopsys (C-shells):

    -+

    "configure" synopsys (C-shells):

    -

    > env [environment] ./configure [user-defined - options]

    - --

    "configure" script runs series of tests to determine -+

    "configure" script runs series of tests to determine - detailed characteristics of your compiler.

    -

    In [environment] , you may specify the following parameters

    -

    CXX=<compiler_name>, default is c++

    -@@ -173,48 +73,16 @@ - them by default, specify the option enabling EH there.
    - It is also helpful to specify an option turning warnings into errors - here to get most reliable configuration ( For example, warnings could be -- like that : "Warning: namespaces are mostly broken in this -- release", and they're indeed broken. ).

    -+ like that : "Warning: namespaces are mostly broken in this -+ release", and they're indeed broken. ).

    - -

    In case you are not able to run configure, you might have to know - internal STLport macros describing compiler features/bugs -- Please refer to the Configuration Manual for the values. -+ Please refer to the Configuration Manual for the values. -+

    - -

    Modifying the configuration engine

    --

    Don't edit the "configure" script directly, use config/configure.in -- source + GNU autoconf instead. -- -- -- -- --

    -- -- -- --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    --
    --
    Copyright © 1999,2000 by Boris Fomitchev.   --  Last modified: July 14, 2000 --
    --
    -- -- -- -- -+

    Don't edit the "configure" script directly, use config/configure.in -+ source + GNU autoconf instead.

    - -- -+

    Table of Contents


    Copyright 2001 by STLport
    -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/bug_report.html tripwire-2.3.1-2/src/STLport-4.0/doc/bug_report.html ---- tripwire-2.3.1-2.old/src/STLport-4.0/doc/bug_report.html Sat Feb 24 10:45:52 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/doc/bug_report.html Mon Mar 17 12:57:57 2003 -@@ -1,108 +1,6 @@ -- -- -- --STLport - Bug Reports -+STLport: Bug Reports




    - -- -- -- -- -- -- -- -- --
    --
    -- -- --
    -- -- -- -- -- --
    -- STLport.org - "Templates that fit" -- -- -- -- -- --
    -- --
    --
    --
    --
    --
    -- -- -- -- --
    --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    Contents
    -- Introduction
    -- --   About STLport
    --   SGI STL Base
    --   STLport Story
    -- -- --

    STLport Features
    --   Portability
    --   Debug Mode
    --   Thread Safety
    --   Exception Safety --

    -- --

    Getting Started
    -- --   Download and Install
    --   Select Streams Mode
    --   Compiling with STLport --

    -- --

    White Papers
    --   Release Notes
    -- --   READMEs
    --   Interface with std::
    --   Wrappers
    --   Config manual
    --   Regression Test
    --   Exception Test --

    -- --

    Feedback
    --   Bug Reports
    --   Forum
    --

    -- --

    Appendix
    --   Acknowledgements
    -- --   Your Free Licence

    -- --
    -- --
    -- -- --

    Bug Reports and Questions

    -+ Bug Reports and Questions -


    -
    Bug reports and questions are welcome. Please supply a source - code fragment and compiler/OS information along with bug reports.

    -@@ -110,54 +8,18 @@ - and Known Bugs to see if your bug has been - reported already. Refer also to READMEs - to see if it's common problem with your compiler.

    --

    Please direct your bug reports and questions to STLport -- forum to get better feedback. Answers are being normally posted -+

    Please direct your bug reports and questions to STLport -+ Forum to get better feedback. Answers are being normally posted - there, too. Please keep in mind the support is done on a pure volunteer - basis.

    -

    If you make a port for your compiler and would like to make it -- available to the public, contact me -- and I'll be happy to include it with this package, provided that your -+ available to the public, contact us -+ and we'll be happy to include it with this package, provided that your - modifications are freely distributable.

    --

    STLport is  committed to correspond to  SGI STL code base.
    -- Last SGI STL version processed: 3.3 (stdlib snapshot 08/08/2000).

    -

    If you wish to be notified about STLport updates automatically : please - indicate it in download form. You may alter your mail list option - anytime via the same form.

    --

    Report your -- bug -- -- -- --

    --
    --
    -- --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    --
    --
    Copyright © 1999,2000 by Boris Fomitchev.   --  Last modified: July 14, 2000 --
    --
    -- -- -- -- -- -- -- -+

    Report your -+ bug

    - -+

    Table of Contents


    Copyright 2001 by STLport
    -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/buglist.html tripwire-2.3.1-2/src/STLport-4.0/doc/buglist.html ---- tripwire-2.3.1-2.old/src/STLport-4.0/doc/buglist.html Sat Feb 24 10:45:52 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/doc/buglist.html Mon Mar 17 12:57:57 2003 -@@ -1,165 +1,18 @@ -- -- -- --STLport - Current buglist -+STLport: Current buglist




    - -- -- -- -- -- -- -- -- --
    --
    -- -- --
    -- -- -- -- -- --
    -- STLport.org - "Templates that fit" -- -- -- -- -- --
    -- --
    --
    --
    --
    --
    -- -- -- -- --
    --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    Contents
    -- Introduction
    -- --   About STLport
    --   SGI STL Base
    --   STLport Story
    -- -- --

    STLport Features
    --   Portability
    --   Debug Mode
    --   Thread Safety
    --   Exception Safety --

    -- --

    Getting Started
    -- --   Download and Install
    --   Select Streams Mode
    --   Compiling with STLport --

    -- --

    White Papers
    --   Release Notes
    -- --   READMEs
    --   Interface with std::
    --   Wrappers
    --   Config manual
    --   Regression Test
    --   Exception Test --

    -- --

    Feedback
    --   Bug Reports
    --   Forum
    --

    -- --

    Appendix
    --   Acknowledgements
    -- --   Your Free Licence

    -- --
    -- --
    -- -- --

    Known bugs

    --
    -+ Known bugs -+
    -

    Borland C++ 5.0
    - This release is known to still have problems with BC 5.0x. - Directory STLport/BC50/ contains some extra files Borland C++ 5.x - expects to see on the path. Make sure you put STLport/BC50 in
    - your search path before STLport main directory. The problems still persist - with <string>, so BC50 is configured to use native one. You may face other problems with -- 5.0. Please direct your bug reports and workarounds to the Forum. -+ 5.0. Please direct your bug reports and workarounds to the Forum.

    -+ -

    Visual C++ 6.0 :
    -
    To fix internal compiler errors on large compilations, please refer to VC knowledge base to see what extra options may be supplied.

    --
    --

    Sunpro CC 4.2 and before :
    -- There is a serious bug in the SUNpro 4.2 (and earlier?) compiler with -- inline functions being passed string literals. Each time the dummy -- argument that represents the string literal appears in the inline -- function, a new copy of the string literal is created. If the function -- does any pointer arithmetic on the string, the answer is horribly wrong.
    --
    -- Refer to SunPro CC Readme file for -- details. In 3.2, the workaround is provide for all relevant STLport code. -- However, please be aware of this bug because it might affect your own code. -- In general, with CC 4.2, NEVER pass string literals as arguments to functions that -- could be inlined.

    --
    --

    Report a bug -- -- -- -- --

    --
    --
    -- --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    --
    --
    Copyright © 1999,2000 by Boris Fomitchev.   --  Last modified: July 14, 2000 --
    --
    -- -- -- -- -+
    -+

    Report a bug

    - -- -+

    Table of Contents


    Copyright 2001 by STLport
    -Only in tripwire-2.3.1-2.old/src/STLport-4.0/doc: build.html -Only in tripwire-2.3.1-2.old/src/STLport-4.0/doc: build_nosgi.html -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/compiler_readmes.html tripwire-2.3.1-2/src/STLport-4.0/doc/compiler_readmes.html ---- tripwire-2.3.1-2.old/src/STLport-4.0/doc/compiler_readmes.html Sat Feb 24 10:45:52 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/doc/compiler_readmes.html Mon Mar 17 12:57:57 2003 -@@ -1,108 +1,7 @@ -- -- -- --STLport - README Files for Particular Compilers -+STLport: README Files for Particular Compilers




    - -- -- -- -- -- - -- -- --
    --
    -- -- --
    -- -- -- -- -- --
    -- STLport.org - "Templates that fit" -- -- -- -- -- --
    -- --
    --
    --
    --
    --
    -- -- -- -- --
    --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    Contents
    -- Introduction
    -- --   About STLport
    --   SGI STL Base
    --   STLport Story
    -- -- --

    STLport Features
    --   Portability
    --   Debug Mode
    --   Thread Safety
    --   Exception Safety --

    -- --

    Getting Started
    -- --   Download and Install
    --   Select Streams Mode
    --   Compiling with STLport --

    -- --

    White Papers
    --   Release Notes
    -- --   READMEs
    --   Interface with std::
    --   Wrappers
    --   Config manual
    --   Regression Test
    --   Exception Test --

    -- --

    Feedback
    --   Bug Reports
    --   Forum
    --

    -- --

    Appendix
    --   Acknowledgements
    -- --   Your Free Licence

    -- --
    -- --
    -- -- --

    README Files for Particular Compilers

    -+ README Files for Particular Compilers -

     

    -

    Some compilers have bugs that require specific workarounds in your - source code. They compile STLport headers OK but crash on using certain -@@ -111,7 +10,7 @@ -

    -
  • GCC README 
  • -
  • SunPro C++  README
  • --
  • Visual C++ 4.x/5.0 README
  • -+
  • Visual C++ README
  • -
  • Borland C++ 5.x README
  • -
  • AIX xlC README
  • -
  • IBM Visual Age C++ README
  • -@@ -122,39 +21,7 @@ -
  • IBM OS/390 C/C++ 1.x - 2.x  - README 
  • -
  • SGI MIPSpro C++ 4.0 README
  • -+
  • Apple MPW MrCpp and SCpp README
  • -
    - -- -- -- --
    --
    --
    -- --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    --
    --
    Copyright © 1999,2000 by Boris Fomitchev.   --  Last modified: July 14, 2000 --
    --
    -- -- -- -- -- -- -+

    Table of Contents


    Copyright 2001 by STLport
    -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/configure.html tripwire-2.3.1-2/src/STLport-4.0/doc/configure.html ---- tripwire-2.3.1-2.old/src/STLport-4.0/doc/configure.html Sat Feb 24 10:45:54 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/doc/configure.html Mon Mar 17 12:57:57 2003 -@@ -1,109 +1,9 @@ -- -- -- --STLport - Configuration Manual -- -- -- -- -- -- -- -- -- --
    --
    -- -- --
    -- -- -- -- -- --
    -- STLport.org - "Templates that fit" -- -- -- -- -- --
    -- --
    --
    --
    --
    --
    -- -- -- -- --
    --
    -- -- -- --
    -- -- -- -- -- -- -- -- --
    Contents
    -- Introduction
    -- --   About STLport
    --   SGI STL Base
    --   STLport Story
    -- -- --

    STLport Features
    --   Portability
    --   Debug Mode
    --   Thread Safety
    --   Exception Safety --

    -- --

    Getting Started
    -- --   Download and Install
    --   Select Streams Mode
    --   Compiling with STLport --

    -- --

    White Papers
    --   Release Notes
    -- --   READMEs
    --   Interface with std::
    --   Wrappers
    --   Config manual
    --   Regression Test
    --   Exception Test --

    -- --

    Feedback
    --   Bug Reports
    --   Forum
    --

    -- --

    Appendix
    --   Acknowledgements
    -- --   Your Free Licence

    -- --
    -- --
    -+STLport: Configuration Manual --




    - -- --

    STLport Configuration Manual

    -+ STLport Configuration Manual -+

    - by Boris Fomitchev -+

    -

    Parameters

    -

    There are two major categories of STLport configuration parameters:

    -
      -@@ -130,15 +30,15 @@ - headers for different projects. -
    • Specifying corresponding flag on compiler command-line. Some - options also may be suppressed. For example, you may configure the -- distribution to exploit exception handling with setting __STL_USE_EXCEPTIONS -- macro to 1, then turning exception handling off with -D__STL_NO_EXCEPTIONS -+ distribution to exploit exception handling with setting _STLP_USE_EXCEPTIONS -+ macro to 1, then turning exception handling off with -D_STLP_NO_EXCEPTIONS - command-line option for particular project
    • - -

      Below is a stable set of of user-defined options with description. If - not indicated otherwise, default for these options is that they are - undefined.
      -

      -- -+
      - -@@ -147,88 +47,84 @@ - - - -- - - - -- - - - -- - - -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - -- - - - -- - -+ automatically if _STLP_USE_NAMESPACES is set. - - -- - - - -- -- -- -- -- -- -- -- -- -- -- -- -- -+ - - - -- - - - -- -+ - - - -- -+ - - - -- -+ - - - - -- -+ - - - -- -+ - - - -- - -@@ -274,54 +170,54 @@ - use any multithreading support. - - -- -+ - - - -- - - - -- -+ - - - -- -+ - - - -- -+ - - - -- -+ - - - -- -+ - - - -- -+ - - - -- - - - -- -+ - - - -- -+ - - - -- -+ - - - -- -+ - - - -- - - - - -- - - - -@@ -397,7 +294,7 @@ -

      Notes:

      -
        -
      • When using tools like Purify (c), Codeguard (c) or BoundsChecker -- (c), it is advised to #define __STL_USE_MALLOC or __STL_USE_NEWALLOC, -+ (c), it is advised to #define _STLP_USE_MALLOC or _STLP_USE_NEWALLOC, - otherwise pointer checking will generally not be available on most - STL internal structures, thus defeating the purpose of those tools.
      • -
      -@@ -426,195 +323,204 @@ - - - -- -+ -+ -+ -+ -+ - - - - -- -+ - - - - - -- -+ - - - - -- - - - - -- -+ - - - - -- -+ - - - - -- -+ - - - - -- -+ - - - - -- -+ - - - - -- -+ - - - - -- -+ - - - - -- -+ - - - - -- -+ - - - - -- -+ - - - - -- -+ - - - - -- -+ - - - - -- -+ - - - - -- -+ - - - - -- -+ - - - - -- -+ - - - - -- -- - - - -- -+ - - - - -- -+ - - - - -- - - - - -- -+ - - - - -- -+ - - - - -- -+ - - - - -- -+ - - - - -- - - - - -- -+ - - - - -- - - - -- - - - -- - - - - -- -+ - - - - -- -+ - - - - -- -+ - - - - -- - - - - -- -+ - - - - -- -+ - - - - -- -+ - - - - -- -+ - - - - -- -+ - - - - -- - - - -- -+ - - - - -- -+ - - - - -- -+ - - - - -- -+ - - - - -- -+ - - - - -- -+ - - - - -- -+ - - - - -- -+ - - - - -- -+ - - - - -- - -@@ -772,88 +678,88 @@ - - - -- - - - - -- - - - - -- - - - - -- - - - - -- - - - - -- -+ - - - - -- -+ - - - - -- -+ - - - - -- - - - - -- - - - - -- - - - - -- -+ - -+ compiler does not understand "/". - - - -- - - - -- - - - - -- - - - - -- - -- -+ - - -
      -

      User-defined options for STLport

      -
      Description
      __SGI_STL_OWN_IOSTREAMS -+ _STLP_NO_OWN_IOSTREAMS - This switch is used to select - one from two major STLport iostream modes. Please visit "Getting Started" section for details. -
      __STL_NO_NEW_IOSTREAMS -+ _STLP_NO_NEW_IOSTREAMS - Suppress using new-style - iostreams even if they are available.
      __STL_NO_IOSTREAMS -+ _STLP_NO_IOSTREAMS - This switch is experimental and - is intended to be used in embedded environments. It makes STLport assume that - no iostreams are available at all.
      _STLP_NO_CUSTOM_IO -+ This switch is experimental. Define this if you do not instantiate basic_xxx iostream classes with custom types (which is most likely the case). "Custom" means types other than char, wchar and char_traits<>, like basic_ostream<my_char_type, my_traits<my_char_type> >. When this option is on, most non-inline template functions definitions for iostreams are not seen by the client. Default is off, just not to break compilation for those who do use those types. When on, it saves a lot of compile time for most compilers, also object and executable size for some. That also guarantees that you still use optimized standard i/o when you compile your program without optimization and link with optimized library. Option does not affect STLport library build; you may use the same binary library with and without this option, on per-project basis.
      _STLP_USE_DEBUG_LIB (Windows compilers only) -+ Normally, optimized STLport library is being automatically linked in even when you compile your project with _DEBUG set (Debug build). If you wish to use debug build of STLport library for your debug builds, define this option (you will also have to build STLport library with debug flags, via additional "make debug_static debug_dynamic" command, as "make all" only builds "release" and "stldebug" versions of the libraries). -+
      _STLP_USE_STATIC_LIB, _STLP_USE_STATICX_LIB, _STLP_USE_DYNAMIC_LIB (Windows compilers only) -+ Normally, a version of STLport library iwhich corresponds to your RTL library setting is being automatically linked in (if you use dynamic RTL DLL, dynamic STLport DLL is being used, and vice versa). -+ If you wish to force use of particular (static, dynamic, or "staticx" which is static STLport lib built with dynamic RTL) STLport lib, please make use one of those options. -+
      __STL_NO_OWN_NAMESPACE -+ _STLP_NO_OWN_NAMESPACE - Suppresses STLport use of -- namespace stlport:: even if it is recommended, forces -+ namespace _STL:: even if it is recommended, forces - STLport to use std::. Normally, STLport uses _STL:: - namespace instead of std::, to prevent clashes with iostreams/string stuff that comes - with the compiler.
      __STL_USE_OWN_NAMESPACE -+ _STLP_USE_OWN_NAMESPACE - Forces STLport to use _STL:: - namespace instead of std:: STLport sets this flag -- automatically if __STL_USE_NAMESPACES is set.
      __STL_DONT_RENAME_STD -+ _STLP_DONT_RENAME_STD - Precludes STLport from redefining std:: - to _STL::. Define it only if renaming scheme does not work for you for some reason. -
      __STLPORT_NAMESPACE This is the namespace -- STLport uses in the above case. Default is _STL. Do NOT try to -- change it to std.
      __STL_USE_SGI_STRING Forces use of SGI string -- even if you share namespace std:: with native C++ library -- and use new <iostream>. IMPORTANT: DO NOT use SGI -- <string> with native <iostream> unless -- you recompile -- standard C++ runtime library with STLport installed, or (better) -- define __STL_USE_OWN_NAMESPACE --
      __STL_NATIVE_INCLUDE_PATH -- The path where native -- compiler headers are located. STLport uses this information to -- import std:: names into _STL:: namespace. Default -- is ../include. Hint : never install STLport headers in the -- directory that ends with include.
      __STL_DEBUG _STLP_DEBUG Turns the Debug - Mode on. That gets you checked iterators and ranges. - Thread-safe.
      __STL_USE_SYSTEM_ASSERT -+ _STLP_USE_SYSTEM_ASSERT - use the system-defined - assert instead of fprintf to stderr
      __STL_DEBUG_MESSAGE _STLP_DEBUG_MESSAGE Uncomment this to force - all failed assertions to be directed through a user-defined global - function: void __stl_debug_message(const char * format_str, ...). -@@ -236,28 +132,28 @@ - purposes. Note : If you set this macro, you must supply __stl_debug_message function definition somewhere.
      __STL_DEBUG_TERMINATE _STLP_DEBUG_TERMINATE Uncomment this to force -- all failed assertions to be executed through user-defined global function: void __stl_debug_terminate(void). This allows you to take control of assertion behaviour for debugging purposes. Default routine throws unique exception if __STL_NO_DEBUG_EXCEPTIONS is not set, calls abort() otherwise.
      Note : If you set this macro, you must supply __stl_debug_terminate function definition somewhere. -+ all failed assertions to be executed through user-defined global function: void __stl_debug_terminate(void). This allows you to take control of assertion behaviour for debugging purposes. Default routine throws unique exception if _STLP_NO_DEBUG_EXCEPTIONS is not set, calls abort() otherwise.
      Note : If you set this macro, you must supply __stl_debug_terminate function definition somewhere. -
      __STL_NO_DEBUG_EXCEPTIONS _STLP_NO_DEBUG_EXCEPTIONS Comment this out to enable throwing unique exceptions from default __stl_debug_terminate() instead of calling abort().
      __STL_NO_EXCEPTIONS _STLP_NO_EXCEPTIONS Disables exception - handling code.
      __STL_NO_NAMESPACES _STLP_NO_NAMESPACES Puts STLport into global - namespace, even if the compiler supports namespaces.
      __STL_NO_RELOPS_NAMESPACE -+ _STLP_NO_RELOPS_NAMESPACE - if defined, don't put the - relational operators in namespace std::rel_ops.
      __STL_NO_NEW_C_HEADERS_STLP_NO_NEW_C_HEADERSIf defined, STLport don't - use native new-style C headers even if they are available.
      __STL_USE_SGI_ALLOCATORS -+ _STLP_USE_RAW_SGI_ALLOCATORS - Force STLport to use - older SGI-style allocators as default ones for containers, instead - of standard-conforming allocator<>.
      __STL_USE_MALLOC _STLP_USE_MALLOC This makes allocator<> - to do plain malloc() calls instead of using SGI optimized - node allocator engine.
      __STL_USE_NEWALLOC _STLP_USE_NEWALLOC This makes allocator<> - to do plain new() calls instead of using SGI optimized node - allocator engine.
      __STL_DEBUG_ALLOC _STLP_DEBUG_ALLOC This makes allocator<> - to perform memory debugging, such as padding/checking for memory - consistency.
      __STL_DEBUG_UNINITIALIZED _STLP_DEBUG_UNINITIALIZED - Use this option to catch uninitialized members in your classes. - When it is set, construct() and destroy() fill the class storage -- with __STL_SHRED_BYTE (see below). -- Note : __STL_DEBUG and __STL_DEBUG_ALLOC don't set this option automatically -+ with _STLP_SHRED_BYTE (see below). -+ Note : _STLP_DEBUG and _STLP_DEBUG_ALLOC don't set this option automatically -
      __STL_SHRED_BYTE _STLP_SHRED_BYTE Provides a definition for -- the byte with which raw memory will be filled if __STL_DEBUG_ALLOC or __STL_DEBUG_UNINITIALIZED -+ the byte with which raw memory will be filled if _STLP_DEBUG_ALLOC or _STLP_DEBUG_UNINITIALIZED - is defined. Choose a value which is likely to cause a noticeable - problem if dereferenced or otherwise abused. A good value may - already be defined for your platform; see stldebug.h
      __STL_DONT_THROW_RANGE_ERRORS _STLP_DONT_THROW_RANGE_ERRORS - This macro prevents instantiation of at() member function - for containers (vector and deque). -@@ -330,7 +226,7 @@ -
      __STL_MSVC50_COMPATIBILITY -+ _STLP_MSVC50_COMPATIBILITY - This definition makes SGI - reverse_iterator to be compatible with other parts of MSVC -@@ -339,22 +235,22 @@ - being set automatically.
      __STL_USE_MFC _STLP_USE_MFC - You should define this macro if compiling with MFC - STLport <stl/_config.h> - then include <afx.h> instead of <windows.h> to get synchronisation primitives -
      __STL_MINIMUM_DEFAULT _TEMPLATE_PARAMS_STLP_MINIMUM_DEFAULT_TEMPLATE_PARAMS - Use minimum set of default arguments on template classes that have more - than one - for example map<>, set<>. -- This has effect only if __STL_LIMITED_DEFAULT_TEMPLATES is on. -+ This has effect only if _STLP_LIMITED_DEFAULT_TEMPLATES is on. -
      __STL_NO_PROXY_ARROW_OPERATOR_STLP_NO_PROXY_ARROW_OPERATOR - By default, STLport uses proxy technique to enable operator -> for - iterators even for those compilers that check the return type of -@@ -363,33 +259,34 @@ -
      __STL_USE_ABBREVS_STLP_USE_ABBREVSUse abbreviated class - names internally for linker benefit (don't affect interface). This - option is obsolete, but should work in this release.
      __STL_USE_DECLSPEC -+ _STLP_USE_DECLSPEC - -- (Windows only) This switch makes some STLport symbols exported from DLL. -+ (Obsolete, Windows only) This switch makes STLport symbols exported from DLL. - To use export feature, you should define this macro for all compilation units and -- also define __STL_DESIGNATED_DLL macro for one of your DLL's which is supposed to export -+ also define _STLP_DESIGNATED_DLL macro for one of your DLL's which is supposed to export - all STLport symbols. You must use this feature if you use default node allocator and pass -- objects across DLL boundaries. Defined automatically if you use STLport/SGI iostreams and -- compile with /MD flag. -+ objects across DLL boundaries, and do not use STLport iostreams. -+ Defined automatically if you use STLport iostreams and -+ compile with /MD flag. -
      __STL_DESIGNATED_DLL -+ _STLP_DESIGNATED_DLL - -- (Windows only) Designed to be used together with __STL_USE_DECLSPEC switch to -+ (Obsolete, Windows only) Designed to be used together with _STLP_USE_DECLSPEC switch to - make one of your DLL's to export STLport symbols for other modules. - The library which is designated to export DLL symbols, must have both of -- those switches defined for compilation and it should include at least <string> -- header from at least one source file. Used by STLport internally to build STLport DLL. -+ those switches defined for compilation and it should include at least <string> -+ header from at least one source file. Normally you should not be using this, it is used by STLport internally to build STLport DLL. -
      Default
      __STL_UINT32_T_STLP_NATIVE_INCLUDE_PATH -+ The path where native -+ compiler headers are located. STLport uses this information to -+ import std:: names into _STL:: namespace. Default -+ is ../include. Hint : never install STLport headers in the -+ directory that ends with include.
      _STLP_UINT32_TUnsigned 32-bit integral - typeunsigned long
      __STL_LONG_LONG_STLP_LONG_LONGDefined if compiler - supports non-standard long long typeOff
      __STL_NO_WCHAR_T_STLP_NO_WCHAR_TDefined if compiler - does not support wchar_t typeOff
      __STL_WCHAR_T_IS_USHORT -+ _STLP_WCHAR_T_IS_USHORT - wchar_t is not a unique - type, and is actually a typedef to unsigned short Off
      __STL_NO_LONG_DOUBLE_STLP_NO_LONG_DOUBLEDefined if compiler - does not support long double typeOff
      __STL_NO_TYPENAME_STLP_NO_TYPENAMEDefined if your compiler - does not support typename keywordOff
      __STL_NO_EXPLICIT_STLP_NO_EXPLICITDefined if your compiler - does not support explicit keywordOff
      __STL_NO_MUTABLE_STLP_NO_MUTABLEDefined if your compiler - does not support mutable keywordOff
      __STL_NO_NEW_STYLE_CASTS_STLP_NO_NEW_STYLE_CASTSDefined if compiler - does not support new-style const_cast<>Off
      __STL_NO_BOOL_STLP_NO_BOOLDefined if the compiler - does not support boolOff
      __STL_DONT_USE_BOOL_TYPEDEF_STLP_DONT_USE_BOOL_TYPEDEFBool not supported, but - keyword is reserved for future useOff
      __STL_YVALS_H_STLP_YVALS_Htrue/false defined - in <yvals.h> header ( Visual C++ 4.2)Off
      __STL_DEFAULT_TEMPLATE_PARAM_STLP_DEFAULT_TEMPLATE_PARAMDefined if compiler - does not support default template parametersOff
      __STL_DEFAULT_TYPE_PARAM_STLP_DEFAULT_TYPE_PARAMDefined if compiler - support only complete types as default parametersOff
      __STL_LIMITED_DEFAULT_TEMPLATES_STLP_LIMITED_DEFAULT_TEMPLATESDefined if the compiler - cannot handle default non-type template parametersOff
      __STL_NON_TYPE_TMPL_PARAM_BUG_STLP_NON_TYPE_TMPL_PARAM_BUGDefined if compiler has - trouble with functions getting non-type-parameterized classes as - parametersOff
      __STL_NO_STATIC_TEMPLATE_DATA_STLP_NO_STATIC_TEMPLATE_DATADefined if compiler does - not support static class data template definitionOff
      __STL_STATIC_CONST_INIT_BUG_STLP_STATIC_CONST_INIT_BUGDefined if compiler does - not support initialization of const static class data template members within class.Off
      __STL_WEAK_ATTRIBUTE_STLP_WEAK_ATTRIBUTEDefined if your compiler - provides __attribute((weak))__ construct as extension. Only needed if - the compiler can't handle static template data members (gcc 2.7.2)Off
      __STL_HAS_NO_NAMESPACES_STLP_HAS_NO_NAMESPACESDefined if your compiler - does not support namespacesOff
      __STL_BROKEN_USING_DIRECTIVE -+ _STLP_BROKEN_USING_DIRECTIVE - "using" -+ "using" - keyword does not work with template types Off
      __STL_HAS_NO_EXCEPTIONS_STLP_HAS_NO_EXCEPTIONSDefined if your compiler - does not support exception-handlingOff
      __STL_NO_EXCEPTION_SPEC_STLP_NO_EXCEPTION_SPECDefined if your compiler - does not support exception specificationsOff
      __STL_THROW_RETURN_BUG -+ _STLP_THROW_RETURN_BUG - Compiler requires return - statement after throw() Off
      __STL_NO_BAD_ALLOC _STLP_NO_BAD_ALLOC Header <new> - that comes with the compiler does not define bad_alloc - exception Off
      __STL_NO_MEMBER_TEMPLATES_STLP_NO_MEMBER_TEMPLATESDefined if compiler - does not support member templatesOff
      __STL_NO_MEMBER_TEMPLATE_CLASSES_STLP_NO_MEMBER_TEMPLATE_CLASSESDefined if compiler - does not support member template classesOff
      __STL_NO_FRIEND_TEMPLATES_STLP_NO_FRIEND_TEMPLATESDefined if compiler - does not support friend templatesOff
      __STL_NO_QUALIFIED_FRIENDS -+ _STLP_NO_QUALIFIED_FRIENDS - Compiler does not accept - friend declaration qualified with namespace name. Off
      __STL_NO_CLASS_PARTIAL_SPECIALIZATION_STLP_NO_CLASS_PARTIAL_SPECIALIZATIONDefined if compiler - does not support partial template class specializationOff
      __STL_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS -+ _STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS - Class being partially - specialized require full name (template parameters) of itself for -@@ -622,7 +528,7 @@ - Off
      __STL_PARTIAL_SPECIALIZATION_BUG -+ _STLP_PARTIAL_SPECIALIZATION_BUG - Partial specialization - has bugs that prevent you from using new-style reverse_iterator -@@ -630,71 +536,71 @@ - Off
      __STL_MEMBER_SPECIALIZATION_BUG -+ _STLP_MEMBER_SPECIALIZATION_BUG - Compiler has problems - specializing members of partially specialized class Off
      __STL_NO_METHOD_SPECIALIZATION_STLP_NO_METHOD_SPECIALIZATIONDefined if the compiler - does not support specializations of single template method.Off
      __STL_NO_FUNC_PARTIAL_ORDERING_STLP_NO_FUNC_PARTIAL_ORDERINGDefined if compiler - does not support partial template functions orderingOff
      __STL_NO_PARTIAL_SPECIALIZATION_SYNTAX_STLP_NO_PARTIAL_SPECIALIZATION_SYNTAXDefined if compiler - does not support full template specialization syntaxOff
      __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS -+ _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS - Compiler does not support - explicit template arguments for functions Off
      __STL_AUTOMATIC_TYPE_TRAITS_STLP_AUTOMATIC_TYPE_TRAITSDefined if the compiler - specializes predefined class type_traits<T> for every - type. This is an extensionOff
      __STL_LOOP_INLINE_PROBLEMS_STLP_LOOP_INLINE_PROBLEMSDefined if your compiler - can't inline while(), for()Off
      __STL_BASE_MATCH_BUG_STLP_BASE_MATCH_BUGDefined if the compiler - fails to match a template function argument of base typeOff
      __STL_NONTEMPL_BASE_MATCH_BUG_STLP_NONTEMPL_BASE_MATCH_BUGDefined if the compiler - fails to match a template function argument of base - (non-template) typeOff
      __STL_NESTED_TYPE_PARAM_BUG_STLP_NESTED_TYPE_PARAM_BUGDefined if the compiler - rejects outline method definition explicitly taking nested types/typedefsOff
      __STL_TYPENAME_ON_RETURN_TYPE -+ _STLP_TYPENAME_ON_RETURN_TYPE - Compiler requires - typename keyword on outline method definition explicitly taking -@@ -702,63 +608,63 @@ - Off
      __STL_BASE_TYPEDEF_BUG_STLP_BASE_TYPEDEF_BUGDefined if your compiler - have serious problems with typedefsOff
      __STL_BASE_TYPEDEF_OUTSIDE_BUG_STLP_BASE_TYPEDEF_OUTSIDE_BUGDefined if the baseclass - typedefs not visible from outsideOff
      __STL_MEMBER_POINTER_PARAM_BUG_STLP_MEMBER_POINTER_PARAM_BUGDefined if the compiler - can't handle pointer-to-member type as function parameterOff
      __STL_UNINITIALIZABLE_PRIVATE_STLP_UNINITIALIZABLE_PRIVATEDefined if the compiler - has problems with static private data members initializationOff
      __STL_STATIC_ARRAY_BUG_STLP_STATIC_ARRAY_BUGDefined if the compiler - has trouble instantiating static array members with dimension - defined as enum.Off
      __STL_DEFAULT_CONSTRUCTOR_BUG_STLP_DEFAULT_CONSTRUCTOR_BUGDefined if default - constructor for builtin integer type fails to initialize it to 0 Off
      __STL_CONST_CONSTRUCTOR_BUG_STLP_CONST_CONSTRUCTOR_BUGDefined if constructor - required to explicitly call member's default constructors for - const objectsOff
      __STL_TRIVIAL_CONSTRUCTOR_BUG_STLP_TRIVIAL_CONSTRUCTOR_BUGDefined if the compiler - has trouble calling POD-types constructorsOff
      __STL_TRIVIAL_DESTRUCTOR_BUG_STLP_TRIVIAL_DESTRUCTOR_BUGDefined if the compiler - has trouble calling POD-types destructorsOff
      __STL_MULTI_CONST_TEMPLATE_ARG_BUG -+ _STLP_MULTI_CONST_TEMPLATE_ARG_BUG - problems specializing - maps/sets with key type being const Off
      __STL_NO_AT_MEMBER_FUNCTION -+ _STLP_NO_AT_MEMBER_FUNCTION - Disables at() - member functions for containers Off
      __STL_HAS_NO_NEW_IOSTREAMS -+ _STLP_HAS_NO_NEW_IOSTREAMS - Native C++ library does not provide - new-style templatized iostreams Off
      __STL_NO_EXCEPTION_HEADER -+ _STLP_NO_EXCEPTION_HEADER - compiler lacks <exception> - header Off
      __STL_HAS_NO_NEW_C_HEADERS -+ _STLP_HAS_NO_NEW_C_HEADERS - Native library does not provide new-style headers - like <cstddef>, only old-style like: <stddef.h> Off
      __STL_HAS_NO_NEW_NEW_HEADER -+ _STLP_NO_NEW_NEW_HEADER - Native library does not provide new-style - like <new> header. Off
      __STL_VENDOR_GLOBAL_STD _STLP_VENDOR_GLOBAL_STD compiler-supplied standard library - resides in global namespace, not std:: std::
      __STL_VENDOR_GLOBAL_CSTD _STLP_VENDOR_GLOBAL_CSTD compiler-supplied <cstdio> - and the like put stuff in global namespace, not std:: Off
      __STL_RAND48_STLP_RAND48Defined if C library has lrand48() - functionOff
      __STL_NATIVE_INCLUDE_PATH -+ _STLP_NATIVE_INCLUDE_PATH - Path to get native - compiler headers included. May be relative or absolute. ../include
      __STL_NATIVE_C_INCLUDE_PATH -+ _STLP_NATIVE_C_INCLUDE_PATH - Path to get native - compiler's old-style C headers (like stdio.h) included. May be relative or absolute. ../include
      __STL_NATIVE_CPP_C_INCLUDE_PATH -+ _STLP_NATIVE_CPP_C_INCLUDE_PATH - Path to get native - compiler new-style C headers (like cstdio) included. May be relative or absolute. ../include
      __STL_MAKE_HEADER _STLP_MAKE_HEADER This macro constructs - header path from directory and name. You may change it if your -- compiler does not understand "/". <path/header>
      __STL_NATIVE_HEADER(header) -+ _STLP_NATIVE_HEADER(header) - This macro constructs - native include header path from include path and name. You may -@@ -861,64 +767,27 @@ - See stl_config.h
      __STL_NATIVE_C_HEADER(header) -+ _STLP_NATIVE_C_HEADER(header) - Same for old-style C headers See stl_config.h
      __STL_NATIVE_CPP_C_HEADER(header) -+ _STLP_NATIVE_CPP_C_HEADER(header) - Same for new-style C headers See stl_config.h
      __STL_LINK_TIME_INSTANTIATION -+ _STLP_LINK_TIME_INSTANTIATION - - This switch should be set on if the compiler supports separate template compilation model, - with non-inlined functions and methods being defined in implementation .c file. - OffOff
      -

       

      --

      Modifying the configuration engine

      --

      Don't edit the "configure" script directly, use config/configure.in -- source + GNU autoconf instead. -- -- -- -- --

    -- -- -- --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    --
    --
    Copyright © 1999,2000 by Boris Fomitchev.   --  Last modified: July 14, 2000 --
    --
    -- -- -- -- -- -- -+

    Table of Contents


    Copyright 2001 by STLport
    -Only in tripwire-2.3.1-2.old/src/STLport-4.0/doc: contributors.html -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/copyrights.html tripwire-2.3.1-2/src/STLport-4.0/doc/copyrights.html ---- tripwire-2.3.1-2.old/src/STLport-4.0/doc/copyrights.html Sat Feb 24 10:45:54 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/doc/copyrights.html Mon Mar 17 12:57:57 2003 -@@ -1,112 +1,11 @@ -- -- -- --STLport - Copyrights and Permissions -- -- -- -- -- -- -- -- -- --
    --
    -- -- --
    -- -- -- -- -- --
    -- STLport.org - "Templates that fit" -- -- -- -- -- --
    -- --
    --
    --
    --
    --
    -- -- -- -- --
    --
    -- -- -- --
    -- -- -- -- -- -- -- -- --
    Contents
    -- Introduction
    -- --   About STLport
    --   SGI STL Base
    --   STLport Story
    -- -- --

    STLport Features
    --   Portability
    --   Debug Mode
    --   Thread Safety
    --   Exception Safety --

    -- --

    Getting Started
    -- --   Download and Install
    --   Select Streams Mode
    --   Compiling with STLport --

    -- --

    White Papers
    --   Release Notes
    -- --   READMEs
    --   Interface with std::
    --   Wrappers
    --   Config manual
    --   Regression Test
    --   Exception Test --

    -- --

    Feedback
    --   Bug Reports
    --   Forum
    --

    -- --

    Appendix
    --   Acknowledgements
    -- --   Your Free Licence

    -- --
    -- --
    -- --

    Copyrights and Permissions

    -+STLport: Copyrights and Permissions --




    -+ -+ Copyrights and Permissions -

     

    -

    STLport library is

    -

    Copyright (c) 1999, 2000 Boris Fomitchev

    -

    See license agreement for details.

    --

    STLport is build upon the SGI -+

    STLport is build upon the SGI - STL distribution, which is:

    -

    Copyright (c) 1994 Hewlett-Packard Company

    -

    Copyright (c) 1996,97,98,99 Silicon Graphics Computer Systems, Inc.

    -@@ -120,7 +19,7 @@ - in all copies and that both that copyright notice and this permission - notice appear in supporting documentation. Hewlett-Packard Company - makes no representations about the suitability of this software for -- any purpose. It is provided "as is" without express or -+ any purpose. It is provided "as is" without express or - implied warranty.

    -

    Permission to use, copy, modify, distribute and - sell this software and its documentation for any purpose is hereby -@@ -128,7 +27,7 @@ - in all copies and that both that copyright notice and this permission - notice appear in supporting documentation. Silicon Graphics makes no - representations about the suitability of this software for any -- purpose. It is provided "as is" without express or implied -+ purpose. It is provided "as is" without express or implied - warranty.

    - -
    -@@ -138,7 +37,7 @@ - copies and that both that copyright notice and this permission notice - appear in supporting documentation. Moscow Center for SPARC Technology  - makes no representations about the suitability of this software for -- any purpose. It is provided "as is" without express or -+ any purpose. It is provided "as is" without express or - implied warranty. -
    -

    The Exception Handling Test Suite is

    -@@ -150,41 +49,8 @@ - in all copies and that both that copyright notice and this permission - notice appear in supporting documentation. Mark of the Unicorn makes - no representations about the suitability of this software for any -- purpose. It is provided "as is" without express or implied -+ purpose. It is provided "as is" without express or implied - warranty.

    - - -- -- -- --
    -- -- -- --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    --
    --
    Copyright © 1999,2000 by Boris Fomitchev.   --  Last modified: July 14, 2000 --
    --
    -- -- -- -- -- -- -+

    Table of Contents


    Copyright 2001 by STLport
    -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/cvs.html tripwire-2.3.1-2/src/STLport-4.0/doc/cvs.html ---- tripwire-2.3.1-2.old/src/STLport-4.0/doc/cvs.html Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/doc/cvs.html Mon Mar 17 12:57:57 2003 -@@ -0,0 +1,38 @@ -+STLport: Early Access




    -+ -+Early access -+ -+ -+ -+ -+ -+
    -+ -+

    Setting up CVS

    -+Please download 'scvs' script from "http://www.stlport.com/beta/cvsaccess" directory. -+To use it, you need three programs : perl, cvs and ssh installed on your system. -+The script is already modified to work with stlpor.com under cygwin. -+You might have to edit location for your perl installation and cvs program. -+ -+Use this script like that : -+

    -+scvs -d pserver:cvs@www.stlport.com/stlport <cvs command> -+ -+

    -+ -+

    CVS Accounts

    -+Note : example above use "cvs" account -- this allows anonymous readonly access. -+If you have been given individual account with write permissions, use your account name instead. -+If you do not have individual account but wish to have one, please submit the patches that you made -+ (using read-only access and cvs diff) along with your request to boris@stlport.com. -+ -+More detailed instructions on using scvs script can be found at : -+ -+http://www.prima.eu.org/tobez/cvs-howto.html -+ -+

    Tags and Branches

    -+STLport CVS repository provides static tags and branches. Branches are provided for bugfixes maintenance. -+Please use static tags to retrieve particular snapshots. -+Tags have the form : STLPORT<VERSION_MAJOR><VERSION_MINOR><YYMMDD>, where YYMMDD is the time stamp when the tag was created. -+
    -+

    Table of Contents


    Copyright 2001 by STLport
    -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/debug_mode.html tripwire-2.3.1-2/src/STLport-4.0/doc/debug_mode.html ---- tripwire-2.3.1-2.old/src/STLport-4.0/doc/debug_mode.html Sat Feb 24 10:45:55 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/doc/debug_mode.html Mon Mar 17 12:57:57 2003 -@@ -1,108 +1,6 @@ -- -- -- --STLport - Debug Mode -+STLport: Debug Mode




    - -- -- -- -- -- -- -- -- --
    --
    -- -- --
    -- -- -- -- -- --
    -- STLport.org - "Templates that fit" -- -- -- -- -- --
    -- --
    --
    --
    --
    --
    -- -- -- -- --
    --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    Contents
    -- Introduction
    -- --   About STLport
    --   SGI STL Base
    --   STLport Story
    -- -- --

    STLport Features
    --   Portability
    --   Debug Mode
    --   Thread Safety
    --   Exception Safety --

    -- --

    Getting Started
    -- --   Download and Install
    --   Select Streams Mode
    --   Compiling with STLport --

    -- --

    White Papers
    --   Release Notes
    -- --   READMEs
    --   Interface with std::
    --   Wrappers
    --   Config manual
    --   Regression Test
    --   Exception Test --

    -- --

    Feedback
    --   Bug Reports
    --   Forum
    --

    -- --

    Appendix
    --   Acknowledgements
    -- --   Your Free Licence

    -- --
    -- --
    -- -- --

    STLport : Debug Mode

    -+ STLport : Debug Mode - -

    by Boris Fomitchev

    -

    Abstract

    -@@ -115,7 +13,7 @@ - thread-safe as in release mode.

    -

    Debugging facilities provided

    -
      --
    • "Safe iterators" for all STL containers.
      -+
    • "Safe iterators" for all STL containers.
      - They report detailed diagnostics when being used in invalid ways.
    • -
    -
      -@@ -130,7 +28,7 @@ -

      Implementation

      -

      Checked iterators keep track of their container while the container - keeps track of them. The idea was introduced in Cay -- Horstmann's "Safe STL".

      -+ Horstmann's "Safe STL".

      -
        -
      • If the container goes out of scope, its iterators are being - invalidated;
      • -@@ -138,22 +36,22 @@ - operation, all instances of this iterator are invalidated. -
      -

      Usage

      --

      To turn on the debug mode, you should somehow #define __STL_DEBUG -+

      To turn on the debug mode, you should somehow #define _STLP_DEBUG - macro before including any STL header. You can either supply the - definition via compiler command-line or within CXXFLAGS in your makefile:

      --

      $> CC -g -D__STL_DEBUG foo.cpp

      -+

      $> CC -g -D_STLP_DEBUG foo.cpp

      -

      Naturally, you may also wrap it into your project configuration - header :

      -

      # ifdef _NDEBUG
      -- # undef __STL_DEBUG
      -+ # undef _STLP_DEBUG
      - # else
      -- # define __STL_DEBUG 1
      -+ # define _STLP_DEBUG 1
      - # endif

      --

      Important : you must recompile your project after changing __STL_DEBUG -+

      Important : you must recompile your project after changing _STLP_DEBUG - definition.

      -

      Examples

      -

      Here are some error examples with corresponding runtime output:

      --

      char string[23] = "A string to be copied.";
      -+

      char string[23] = "A string to be copied.";
      - char result[23];
      - copy(string+20, string+10, result);

      - _debug.h:168 STL error : Range [first,last) is invalid
      -@@ -200,14 +98,14 @@ - it in your code - it's non-standard and is subject to change. - -

    • The ability to throw exceptions instead of calling abort() -- is provided since 3.2. Please comment out __STL_NO_DEBUG_EXCEPTIONS switch which -+ is provided since 3.2. Please comment out _STLP_NO_DEBUG_EXCEPTIONS switch which - disables it as default.
    • - -
    • If those two defaults do not match your debugging needs, - you may force all failed assertions to be executed through user-defined global function:
      void __stl_debug_terminate(void). This allows you to take control of assertion behavior for debugging purposes.
    • - -
    • You can control the way the debug checking messages are being printed out by defining --your own debug output function. To do so, you should define __STL_DEBUG_MESSAGE switch in stl_user_config.h and -+your own debug output function. To do so, you should define _STLP_DEBUG_MESSAGE switch in stl_user_config.h and - provide your function with the following signature :
      - void __stl_debug_message(const char * format_str, ...). The parameters are printf()-like. - STLport will then use it to format debug message output.
    • -@@ -224,37 +122,4 @@ - error. -
    - -- -- -- --
    --
    --
    -- --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    --
    --
    Copyright © 1999,2000 by Boris Fomitchev.   --  Last modified: July 14, 2000 --
    --
    -- -- -- -- -- -- -+

    Table of Contents


    Copyright 2001 by STLport
    -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/doc.css tripwire-2.3.1-2/src/STLport-4.0/doc/doc.css ---- tripwire-2.3.1-2.old/src/STLport-4.0/doc/doc.css Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/doc/doc.css Sun Aug 11 19:12:57 2002 -@@ -0,0 +1,12 @@ -+BODY { margin: 0 0; background: #FFFFFF; font-family: "Tahoma", "Helvetica", "Arial", "sans-serif"; } -+ -+A:link {font-size: 14px; text-decoration:none; color: #0c70b6;} -+ -+A:visited {font-size: 14px; text-decoration:none; color: #0c70b6;} -+ -+.copyright { font-size: 10px; font-family: "Tahoma", "Helvetica", "Arial", "sans-serif"; line-height: 12px; color: #999999; } -+ -+.bottomNav { font-size: 11px; font-family: "Tahoma", "Helvetica", "Arial", "sans-serif"; text-decoration: none; font-weight: bold; color: #325A30; } -+ -+.heading { font-size: 18px; font-family: "Tahoma", "Helvetica", "Arial", "sans-serif"; line-height: 14px; color: #e35a23; } -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/eh_testsuite.html tripwire-2.3.1-2/src/STLport-4.0/doc/eh_testsuite.html ---- tripwire-2.3.1-2.old/src/STLport-4.0/doc/eh_testsuite.html Sat Feb 24 10:45:55 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/doc/eh_testsuite.html Mon Mar 17 12:57:57 2003 -@@ -1,110 +1,8 @@ -- -- -- --STLport - Exception Handling Testsuite -- -- -- -- -- -- -- -- -- --
    --
    -- -- --
    -- -- -- -- -- --
    -- STLport.org - "Templates that fit" -- -- -- -- -- --
    -- --
    --
    --
    --
    --
    -- -- -- -- --
    --
    -- -- -- --
    -- -- -- -- -- -- -- -- --
    Contents
    -- Introduction
    -- --   About STLport
    --   SGI STL Base
    --   STLport Story
    -- -- --

    STLport Features
    --   Portability
    --   Debug Mode
    --   Thread Safety
    --   Exception Safety --

    -- --

    Getting Started
    -- --   Download and Install
    --   Select Streams Mode
    --   Compiling with STLport --

    -- --

    White Papers
    --   Release Notes
    -- --   READMEs
    --   Interface with std::
    --   Wrappers
    --   Config manual
    --   Regression Test
    --   Exception Test --

    -- --

    Feedback
    --   Bug Reports
    --   Forum
    --

    -- --

    Appendix
    --   Acknowledgements
    -- --   Your Free Licence

    -- --
    -- --
    -- -- --

    Exception Handling Test Suite for STLport

    -- -+STLport: Exception Handling Testsuite --




    -+ Exception Handling Test Suite for STLport -+

    - by Dave Abrahams, Boris Fomitchev -+

    -

    Synopsis

    -

    eh_test [-n <iterations>] [-s <size>] [-l] [-e] - [-q]/[-v] [-t]

    -@@ -152,24 +50,24 @@ -

    How To

    -

    EH testsuite comes in directory test/eh with your STLport - distribution. Edit appropriate makefile to fit your compiler and include -- directories . After you've done, try "make check". That -+ directories . After you've done, try "make check". That - should build test executable and run it with default options (see - Synopsis). If writing your own makefile or working from within some IDE, - you should specify the following switches to get proper testing :

    --

    __STL_USE_NEWALLOC - use new-based allocator (that will -+

    _STLP_USE_NEWALLOC - use new-based allocator (that will - promptly throw on common test scheme). Otherwise, only - assignment/comparison will throw,

    --

    __STL_USE_DEBUG_ALLOC - to catch other potential memory -+

    _STLP_USE_DEBUG_ALLOC - to catch other potential memory - problems.

    -

    EH_NEW_HEADERS - if you wish to use new-style C++ headers. - This option may be useful to test some other STL implementation.

    --

    For Borland C++ 5.x , you have to #define __STL_NO_NAMESPACES -+

    For Borland C++ 5.x , you have to #define _STLP_NO_NAMESPACES - to compile.

    -

    For 16-bit platforms, you have to #define NO_FAST_ALLOCATOR to - compile.

    -

    The testsuite may be used to test not only STLport adaptation against - particular compiler. It does not contain any adaptation-specific code, -- so it may be used with regular SGI release (note __STL_USE_NEWALLOC has -+ so it may be used with regular SGI release (note _STLP_USE_NEWALLOC has - no effect then) or with other STL implementation (hash - containers and rope may not work).

    -

    Copyright

    -@@ -181,39 +79,7 @@ - all copies and that both that copyright notice and this permission - notice appear in supporting documentation. Mark of the Unicorn makes no - representations about the suitability of this software for any purpose. -- It is provided "as is" without express or implied warranty. -- -- -- -- --
    -- -- -- --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    --
    --
    Copyright © 1999,2000 by Boris Fomitchev.   --  Last modified: July 14, 2000 --
    --
    -- -- -- -- -+ It is provided "as is" without express or implied warranty. -+

    - -- -+

    Table of Contents


    Copyright 2001 by STLport
    -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/exception_safety.html tripwire-2.3.1-2/src/STLport-4.0/doc/exception_safety.html ---- tripwire-2.3.1-2.old/src/STLport-4.0/doc/exception_safety.html Sat Feb 24 10:45:55 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/doc/exception_safety.html Mon Mar 17 12:57:57 2003 -@@ -1,109 +1,9 @@ -- -- -- --STLport - Exception Handling -+STLport: Exception Handling - - - -@@ -568,37 +468,4 @@ - -




    - -- -- -- -- -- -- -- -- --
    --
    -- -- --
    -- -- -- -- -- --
    -- STLport.org - "Templates that fit" -- -- -- -- -- --
    -- --
    --
    --
    --
    --
    -- -- -- -- --
    --
    -- -- -- -- - - -- -+ - - - -- -+ - - - -- -+ - - -
    -- -- -- -- -- -- -- -- --
    Contents
    -- Introduction
    -- --   About STLport
    --   SGI STL Base
    --   STLport Story
    -- -- --

    STLport Features
    --   Portability
    --   Debug Mode
    --   Thread Safety
    --   Exception Safety --

    -- --

    Getting Started
    -- --   Download and Install
    --   Select Streams Mode
    --   Compiling with STLport --

    -- --

    White Papers
    --   Release Notes
    -- --   READMEs
    --   Interface with std::
    --   Wrappers
    --   Config manual
    --   Regression Test
    --   Exception Test --

    -- --

    Feedback
    --   Bug Reports
    --   Forum
    --

    -- --

    Appendix
    --   Acknowledgements
    -- --   Your Free Licence

    -- --
    -- --
    -- -- --

    Exception Safety in STLport

    -+ Exception Safety in STLport -+

    - by Dave Abrahams -+

    -

    Basic Library Guarantees

    -

    STLport makes the guarantee that no resources are leaked in - the face of exceptions.

    -@@ -139,8 +39,8 @@ - remain unchanged. For example, vector<T,A>::push_back() - leaves the vector unchanged if an exception is thrown, provided the - library client fulfills the basic -- requirements below. For some operations, the "strong -- guarantee" is available if additional requirements are -+ requirements below. For some operations, the "strong -+ guarantee" is available if additional requirements are - filled. - -

     

    -@@ -153,7 +53,7 @@ -
      -
    • Destructors of any classes used by the library. This includes all - classes used as library template parameters. It also includes all -- classes which fulfill "type requirements" of classes used -+ classes which fulfill "type requirements" of classes used - as library templates- an allocator's size_type, for - example.
    • -
    • Valid uses of any of the required functionality of the following -@@ -198,7 +98,7 @@ - has no function in its public interface to tell you how far it has been - advanced.

      -

       

      --

      The "Strong Guarantee"

      -+

      The "Strong Guarantee"

      -

      In many programs, some objects will be destroyed automatically during - exception-unwinding. For these, the basic guarantee that resources won't - be leaked is good enough. If a program hopes to survive an exception and -@@ -211,7 +111,7 @@ -

        -

        If an exception is thrown, the operation has no effects.

        -
      --

      You can get the strong guarantee by "brute force" for any -+

      You can get the strong guarantee by "brute force" for any - container operation as follows, provided the container's swap() - member function can't fail (this is true for most real-world - containers):

      -@@ -223,7 +123,7 @@ - for others, you can either use the above technique or conform to some additional - requirements.

      -

       

      --

      Operations that give the "strong guarantee" with no -+

      Operations that give the "strong guarantee" with no - additional requirements

      -

      ( Operations labelled with * are guaranteed to - return normally if all basic requirements -@@ -360,16 +260,16 @@ - (x and yof type T)

    "guaranteed copyable""guaranteed copyable"T z(x) and x = y may not exit via - exception.
    "guaranteed equality-comparable""guaranteed equality-comparable"x == y may not exit via exception.
    "guaranteed comparable""guaranteed comparable"x < y may not exit via exception.
    -@@ -443,7 +343,7 @@ -
    insert (iterator position, const_iterator first, - const_iterator last); --

    void insert (iterator position, size_type n, const T& -+
    void insert (iterator position, size_type n, const T& - x);

    T guaranteed copyable
    - -- -- -- --
    --
    --
    -- --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    --
    --
    Copyright © 1999,2000 by Boris Fomitchev.   --  Last modified: July 14, 2000 --
    --
    -- -- -- -- -- -- -+
    Table of Contents


    Copyright 2001 by STLport
    -Only in tripwire-2.3.1-2.old/src/STLport-4.0/doc: extensions.html -Only in tripwire-2.3.1-2.old/src/STLport-4.0/doc: getting_started.html -Only in tripwire-2.3.1-2.old/src/STLport-4.0/doc/images: blue.gif -Only in tripwire-2.3.1-2.old/src/STLport-4.0/doc/images: logo.jpg -Only in tripwire-2.3.1-2.old/src/STLport-4.0/doc/images: logo_1.jpg -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/index.html tripwire-2.3.1-2/src/STLport-4.0/doc/index.html ---- tripwire-2.3.1-2.old/src/STLport-4.0/doc/index.html Sat Feb 24 10:45:56 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/doc/index.html Mon Mar 17 12:57:57 2003 -@@ -1,181 +1,56 @@ -- -- --STLport - Multiplatform ANSI C++ library -- -- -- -- -- -- -- -- -- --
    --
    -- -- --
    -- -- -- -- -- --
    -- STLport.org - "Templates that fit" -- -- -- -- -- --
    -- --
    --
    --
    --
    --
    -- -- -- -- --
    --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    Contents
    -- Introduction
    -- --   About STLport
    --   SGI STL Base
    --   STLport Story
    -- -- --

    STLport Features
    --   Portability
    --   Debug Mode
    --   Thread Safety
    --   Exception Safety --

    -- --

    Getting Started
    -- --   Download and Install
    --   Select Streams Mode
    --   Compiling with STLport --

    -- --

    White Papers
    --   Release Notes
    -- --   READMEs
    --   Interface with std::
    --   Wrappers
    --   Config manual
    --   Regression Test
    --   Exception Test --

    -- --

    Feedback
    --   Bug Reports
    --   Forum
    --

    -- --

    Appendix
    --   Acknowledgements
    -- --   Your Free Licence

    -- --
    -- --
    -- -- --

    STLport Project : Overview

    --

    STLport is an open-source, volunteer-driven project. Its goal is to build -- complete, multiplatform ANSI C++ Standard library -- with SGI STL code base. From this base, -- it inherits the following advantages: --

      --
    • Advanced technology for maximum efficiency
    • --
    • Exception safety and thread safety
    • --
    • Standard compliance and reliability
    • --
    • Important extensions - hash tables, singly-linked list, rope
    • --
    --

    Learn more about STLport story.

    -- --

    STLport Distinction

    -- STLport ports SGI STL to any platform possible and provides all necessary wrap-ups, like DLL builds, -- to be a seamless drop-in for modern production environments. -- Besides that, it offers important functionality not provided by any other vendor: --
      --
    • Debug mode: "Safe iterators" with rigorous validity -- checking for all containers. Also, checking of preconditions for algorithms and container methods. --
    • --
    • Flexibility for use in exotic environments, such as vxWorks or Windows CE. --
    • --
    -- --

    When Portability Matters

    --

    With STLport, you rely on uniform tested code base for all compilers -- used in the project. -- That makes STLport to be the ultimate choice for multiplatform development. Here is the list of compilers supported by STLport. -- --

    Free and Unrestricted

    --

    --Copyright © 1999,2000 Boris Fomitchev
    --
    --This material is provided "as is", with absolutely no warranty --expressed or implied. Any use is at your own risk. --Permission to use or copy this software for any purpose is hereby granted --without fee, provided the above notices are retained on all copies. Permission --to modify the code and to distribute modified code is granted, provided the --above notices are retained, and a notice that the code was modified is included --with the above copyright notice. --

    -- -- -- -- --
    --
    --
    -- --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    --
    --
    Copyright © 1999,2000 by Boris Fomitchev.   --  Last modified: July 14, 2000 --
    --
    -- -+STLport: STLport Documentation Index




    - -+STLport Documentation Index -+

    - -- -+ -+ -+ - -- -+ -+ -+
    -+ Introduction
    -+ -+   Documentation Index
    -+   SGI STL Base
    -+   STLport Story
    -+ -+ -+

    STLport Features
    -+   Portability
    -+   Debug Mode
    -+   Thread Safety
    -+   Exception Safety -+

    -+ -+

    Getting Started
    -+ -+   Download and Install
    -+   Select Streams Mode
    -+   Compiling with STLport -+

    -+
    -+

    White Papers
    -+   Release Notes
    -+ -+   READMEs
    -+   Interface with std::
    -+   Wrappers
    -+   Config manual
    -+   Regression Test
    -+   Exception Test -+

    -+ -+

    Feedback
    -+   Bug Reports
    -+   Forum
    -+

    -+ -+

    Appendix
    -+   Acknowledgements
    -+ -+   Your Free Licence

    -+
    - -+

    Table of Contents


    Copyright 2001 by STLport
    -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/install.html tripwire-2.3.1-2/src/STLport-4.0/doc/install.html ---- tripwire-2.3.1-2.old/src/STLport-4.0/doc/install.html Sat Feb 24 10:45:56 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/doc/install.html Mon Mar 17 12:57:57 2003 -@@ -1,128 +1,27 @@ -- -- --STLport - Getting Started : Installing STLport -- -- -- -- -- -- -- -- -- --
    --
    -- -- --
    -- -- -- -- -- --
    -- STLport.org - "Templates that fit" -- -- -- -- -- --
    -- --
    --
    --
    --
    --
    -- -- -- -- -- --
    --
    -- -- -- --
    -- -- -- -- -- -- -- -- --
    Contents
    -- Introduction
    -- --   About STLport
    --   SGI STL Base
    --   STLport Story
    -- -- --

    STLport Features
    --   Portability
    --   Debug Mode
    --   Thread Safety
    --   Exception Safety --

    -- --

    Getting Started
    -- --   Download and Install
    --   Select Streams Mode
    --   Compiling with STLport --

    -- --

    White Papers
    --   Release Notes
    -- --   READMEs
    --   Interface with std::
    --   Wrappers
    --   Config manual
    --   Regression Test
    --   Exception Test --

    -- --

    Feedback
    --   Bug Reports
    --   Forum
    --

    -- --

    Appendix
    --   Acknowledgements
    -- --   Your Free Licence

    -- --
    -- --
    -+STLport: Getting Started: Installing STLport --




    - - --

    Getting Started : Installing STLport

    -+ Getting Started: Installing STLport - -

    Download

    -- To download STLport, please visit download page at stlport.org. -- It provides stable STLport releases from 2.x to the latest one. -- If you are interested in contributing to STLport development, you are welcome to try out -- beta snapshots (usually, pretty stable). -+ To get STLport, please visit download page at stlport.com. -+ It provides STLport releases from 2.x to the latest one as well as beta snapshots. -+ If you are interested in contributing to STLport development, please take a look at Early Access page. - -

    Unpack

    -

    After downloading STLport-XXX.tar.gz [zip],  - unpack it to some place where it is going to be accesible for all - compilers you plan to use with this installation. -
    Note : Never overwrite header files that come with the compiler, -- even if you made a backup - this won't work ! -+ even if you made a backup - this won't work! - Also, please make sure you do not rename this "stlport" subdirectory - into anything else - that may render installation unusable. -+

    - -

    Setup Preferences

    - -

    Look through <stl/_site_config.h> and <stl_user_config.h> -- to adjust preferences. -+ to adjust preferences.

    - -

    - Do NOT attempt to run "configure" script! -@@ -131,49 +30,16 @@ - Your compiler should be auto-recognized. - Please edit appropriate configuration header for your compiler - directly if you have to make small compiler-specific configuration changes. -+

    - -

    Only if you recieve error message during compilation which explicitly says - "Your compiler version is not recognized by STLport", you - will have to do major configuration of STLport before use. - To learn how to configure STLport, please read -- configuration manual. -+ configuration manual. -

    - --

    Please be sure to read about STLport iostreams modes -- and select the one appropriate for your project before using the library. -- -- -- -- --

    -- -- -- --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    --
    --
    Copyright © 1999,2000 by Boris Fomitchev.   --  Last modified: July 14, 2000 --
    --
    -- -- -- -- -- -- -+

    Please be sure to read about STLport iostreams modes -+ and select the one appropriate for your project before using the library.

    - -+

    Table of Contents


    Copyright 2001 by STLport
    -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/license.html tripwire-2.3.1-2/src/STLport-4.0/doc/license.html ---- tripwire-2.3.1-2.old/src/STLport-4.0/doc/license.html Sat Feb 24 10:45:57 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/doc/license.html Mon Mar 17 12:57:57 2003 -@@ -1,106 +1,6 @@ -- -- -+STLport: License Agreement




    - -- -- -- -- -- -- -- -- --
    --
    -- -- --
    -- -- -- -- -- --
    -- STLport.org - "Templates that fit" -- -- -- -- -- --
    -- --
    --
    --
    --
    --
    -- -- -- -- --
    --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    Contents
    -- Introduction
    -- --   About STLport
    --   SGI STL Base
    --   STLport Story
    -- -- --

    STLport Features
    --   Portability
    --   Debug Mode
    --   Thread Safety
    --   Exception Safety --

    -- --

    Getting Started
    -- --   Download and Install
    --   Select Streams Mode
    --   Compiling with STLport --

    -- --

    White Papers
    --   Release Notes
    -- --   READMEs
    --   Interface with std::
    --   Wrappers
    --   Config manual
    --   Regression Test
    --   Exception Test --

    -- --

    Feedback
    --   Bug Reports
    --   Forum
    --

    -- --

    Appendix
    --   Acknowledgements
    -- --   Your Free Licence

    -- --
    -- --
    -- -- --

    License Agreement

    -+License Agreement - -

    Boris Fomitchev grants Licensee a non-exclusive, - non-transferable, royalty-free license to use STLport and its -@@ -115,9 +15,9 @@ - notices on STLport sources and its documentation unchanged :

    - - --Copyright © 1999,2000 Boris Fomitchev
    -+Copyright 1999,2000 Boris Fomitchev
    -
    --This material is provided "as is", with absolutely no warranty -+This material is provided "as is", with absolutely no warranty - expressed or implied. Any use is at your own risk.
    - Permission to use or copy this software for any purpose is hereby granted - without fee, provided the above notices are retained on all copies. Permission -@@ -135,23 +35,23 @@ -
  • The following copyright notices are retained when present, and conditions - provided in accompanying permission notices are met :
  • - --

    Copyright © 1994 Hewlett-Packard Company

    --

    Copyright © 1996,97 Silicon Graphics Computer Systems, Inc.

    --

    Copyright © 1997 Moscow Center for SPARC Technology.

    -+

    Copyright 1994 Hewlett-Packard Company

    -+

    Copyright 1996,97 Silicon Graphics Computer Systems, Inc.

    -+

    Copyright 1997 Moscow Center for SPARC Technology.

    -
    -

    Permission to use, copy, modify, distribute and sell this - software and its documentation for any purpose is hereby granted without fee, - provided that the above copyright notice appear in all copies and that both - that copyright notice and this permission notice appear in supporting - documentation. Hewlett-Packard Company makes no representations about the -- suitability of this software for any purpose. It is provided "as is" -+ suitability of this software for any purpose. It is provided "as is" - without express or implied warranty.

    -

    Permission to use, copy, modify, distribute and sell this - software and its documentation for any purpose is hereby granted without fee, - provided that the above copyright notice appear in all copies and that both - that copyright notice and this permission notice appear in supporting - documentation. Silicon Graphics makes no representations about the suitability -- of this software for any purpose. It is provided "as is" without -+ of this software for any purpose. It is provided "as is" without - express or implied warranty.

    -
    -
    -@@ -161,41 +61,8 @@ - that copyright notice and this permission notice appear in supporting - documentation. Moscow Center for SPARC Technology  makes no - representations about the suitability of this software for any purpose. It is -- provided "as is" without express or implied warranty. -+ provided "as is" without express or implied warranty. -
    - - -- -- -- --
    --
    --
    -- --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    --
    --
    Copyright © 1999,2000 by Boris Fomitchev.   --  Last modified: July 14, 2000 --
    --
    -- -- -- -- -- -- -+

    Table of Contents


    Copyright 2001 by STLport
    -Only in tripwire-2.3.1-2.old/src/STLport-4.0/doc: major_modes.html -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/platforms.html tripwire-2.3.1-2/src/STLport-4.0/doc/platforms.html ---- tripwire-2.3.1-2.old/src/STLport-4.0/doc/platforms.html Sat Feb 24 10:45:57 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/doc/platforms.html Mon Mar 17 12:57:57 2003 -@@ -1,122 +1,19 @@ -- -- -- --STLport - Platforms -- -- -- -- -- -- -- -- -- --
    --
    -- -- --
    -- -- -- -- -- --
    -- STLport.org - "Templates that fit" -- -- -- -- -- --
    -- --
    --
    --
    --
    --
    -- -- -- -- --
    --
    -- -- -- --
    -- -- -- -- -- -- -- -- --
    Contents
    -- Introduction
    -- --   About STLport
    --   SGI STL Base
    --   STLport Story
    -- -- --

    STLport Features
    --   Portability
    --   Debug Mode
    --   Thread Safety
    --   Exception Safety --

    -- --

    Getting Started
    -- --   Download and Install
    --   Select Streams Mode
    --   Compiling with STLport --

    -- --

    White Papers
    --   Release Notes
    -- --   READMEs
    --   Interface with std::
    --   Wrappers
    --   Config manual
    --   Regression Test
    --   Exception Test --

    -- --

    Feedback
    --   Bug Reports
    --   Forum
    --

    -- --

    Appendix
    --   Acknowledgements
    -- --   Your Free Licence

    -- --
    -- --
    -+STLport: Platforms --




    - -- --

    Compilers supported by STLport

    -+ Compilers supported by STLport -

    Portability is a key feature of STLport. It allows for having single, -- thoroughly tested code base on all platforms used in the project. --

    STLport was reported to work with the compilers listed below. --

    Please follow links to see README files for particular compilers. -+ thoroughly tested code base on all platforms used in the project.

    -+

    STLport was reported to work with the compilers listed below.

    -+

    Please follow links to see README files for particular compilers.

    - - - -- -- -- --
    -- -- -- --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    --
    --
    Copyright © 1999,2000 by Boris Fomitchev.   --  Last modified: July 14, 2000 --
    --
    -- -- -- -- -- -- -+

    Table of Contents


    Copyright 2001 by STLport
    -Only in tripwire-2.3.1-2.old/src/STLport-4.0/doc: prepare.html -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/projects.html tripwire-2.3.1-2/src/STLport-4.0/doc/projects.html ---- tripwire-2.3.1-2.old/src/STLport-4.0/doc/projects.html Sat Feb 24 10:45:58 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/doc/projects.html Mon Mar 17 12:57:57 2003 -@@ -1,108 +1,6 @@ -- -- -- --STLport - Real World Projects -+STLport: Real World Projects




    - -- -- -- -- -- -- -- -- --
    --
    -- -- --
    -- -- -- -- -- --
    -- STLport.org - "Templates that fit" -- -- -- -- -- --
    -- --
    --
    --
    --
    --
    -- -- -- -- --
    --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    Contents
    -- Introduction
    -- --   About STLport
    --   SGI STL Base
    --   STLport Story
    -- -- --

    STLport Features
    --   Portability
    --   Debug Mode
    --   Thread Safety
    --   Exception Safety --

    -- --

    Getting Started
    -- --   Download and Install
    --   Select Streams Mode
    --   Compiling with STLport --

    -- --

    White Papers
    --   Release Notes
    -- --   READMEs
    --   Interface with std::
    --   Wrappers
    --   Config manual
    --   Regression Test
    --   Exception Test --

    -- --

    Feedback
    --   Bug Reports
    --   Forum
    --

    -- --

    Appendix
    --   Acknowledgements
    -- --   Your Free Licence

    -- --
    -- --
    -- -- --

    STLport Portofolio - Real World Projects

    -+ STLport Portfolio - Real World Projects - -

    Many people still won't consider using STL in industrial projects. - The reason is often that the code could may turn out to be nonportable, -@@ -111,7 +9,7 @@ - multiplatform project.  Below is very incomplete list of software - projects using STLport  (thanks to all contributors who have - submitted the information).

    --

    Coming soon : Add Your Project

    -+

    Coming soon : Add Your Project

    -
    -

    Organization: Moscow Center for - SPARC Technology

    -@@ -128,14 +26,14 @@ -
    - Organization: Mark of the Unicorn, - Inc. --

    Product : "Composer's Mosaic"

    -+

    Product : "Composer's Mosaic"

    -
    Description :
    -
    State-of-the-art music desktop publishing software for the - Macintosh. Provides a WYSIWYG environment in which you can produce - publication-quality music notation, from lead sheets to full - orchestra scores. Includes real-time MIDI playback and recording, - using the transcription engine that Keyboard magazine called -- "The best we've ever seen". Also supports convenient -+ "The best we've ever seen". Also supports convenient - step-record and mouse and keyboard note entry. Supports standard - MIDI file format. Unlimited voices, staves, and voices per staff. - Unlimited Undo/Redo.
    -@@ -146,7 +44,7 @@ -
    -

    Organization: Mark of the Unicorn, - Inc.

    --

    Product : "FreeStyle"

    -+

    Product : "FreeStyle"

    -
    Description :
    -
    Trackless MIDI sequencing and notation program for songwriters and - arrangers, combining simplicity and ease-of-use with sophisticated -@@ -184,7 +82,7 @@ -
    -

    Organization:Askesis - B.V

    --

    Product : "ICAS"

    -+

    Product : "ICAS"

    -
    Description :
    -
    A client/server patient database management system for the - intensive care departement in the hospital of the University of -@@ -202,7 +100,7 @@ -
    -

    Organization: Entegrity - Solutions Inc

    --

    Product : "Security Development Platform"

    -+

    Product : "Security Development Platform"

    -
    Description :
    -
    A comprehensive framework/library for developping secure - applications. Includes symmetric and assymetric cryptography and -@@ -221,8 +119,8 @@ - Reserve University School of Medicine,
    - Department of Molecular and - Genetic Epidemiology, S.A.G.E. Group

    --

    Product : "S.A.G.E. (Statistical Analysis for Genetic -- Epidemiology)"

    -+

    Product : "S.A.G.E. (Statistical Analysis for Genetic -+ Epidemiology)"

    -
    Description :
    -
    For detailed package information, see http://darwin.cwru.edu. - Use of the STL : in upcoming 4.0 release, ~50k+ lines of code relies -@@ -239,7 +137,7 @@ -
    -

    Organization: Formatek - Inc.

    --

    Product : "Softmap"

    -+

    Product : "Softmap"

    -
    Description :
    -
    SoftMap is a GIS software bundled to a set of standard maps - (topographic maps, city maps, thematic maps) on CD-ROM to which -@@ -255,7 +153,7 @@ -
    -

    Organization: Interactive Network - Technologies, Inc (INT)

    --

    Product : "Carnac", Graphics Toolkit

    -+

    Product : "Carnac", Graphics Toolkit

    -
    Description :
    -
    Carnac is a multi-platform high-performance graphics - toolkit written in C++ targeted at handling of huge volumes of -@@ -275,7 +173,7 @@ - upcoming ANSI C++ standard: templates, exception handling, standard - library based on STL. The biggest problem of our multi-platform - project was a diversity of C++ compilers. They have a variety of -- different bugs and "features", and somewhat incompatible -+ different bugs and "features", and somewhat incompatible - interpretations of templates. Some of them didn't support HP STL we - started with. HP STL had a limited set of containers (notably it - lacks hash-based containers). ObjectSpace STL was modeled after HP -@@ -342,39 +240,5 @@ -   More informations are available on the PadFEM homepage at
    - http://www.uni-paderborn.de/cs/padfem/. -
    -- -- -- -- -- --
    --
    --
    -- --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    --
    --
    Copyright © 1999,2000 by Boris Fomitchev.   --  Last modified: July 14, 2000 --
    --
    -- -- -- -- - -- -+

    Table of Contents


    Copyright 2001 by STLport
    -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/release_notes.html tripwire-2.3.1-2/src/STLport-4.0/doc/release_notes.html ---- tripwire-2.3.1-2.old/src/STLport-4.0/doc/release_notes.html Sat Feb 24 10:45:58 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/doc/release_notes.html Mon Mar 17 12:57:57 2003 -@@ -1,109 +1,14 @@ -- -- -- --STLport - Release Notes -- -- -- -- -- -- -- -- -- --
    --
    -- -- --
    -- -- -- -- -- --
    -- STLport.org - "Templates that fit" -- -- -- -- -- --
    -- --
    --
    --
    --
    --
    -- -- -- -- --
    --
    -- -- -- --
    -- -- -- -- -- -- -- -- --
    Contents
    -- Introduction
    -- --   About STLport
    --   SGI STL Base
    --   STLport Story
    -- -- --

    STLport Features
    --   Portability
    --   Debug Mode
    --   Thread Safety
    --   Exception Safety --

    -- --

    Getting Started
    -- --   Download and Install
    --   Select Streams Mode
    --   Compiling with STLport --

    -- --

    White Papers
    --   Release Notes
    -- --   READMEs
    --   Interface with std::
    --   Wrappers
    --   Config manual
    --   Regression Test
    --   Exception Test --

    -- --

    Feedback
    --   Bug Reports
    --   Forum
    --

    -- --

    Appendix
    --   Acknowledgements
    -- --   Your Free Licence

    -- --
    -- --
    -- -- --

    STLport 4.0 Release Notes

    -+STLport: Release Notes --




    - -+ STLport 4.5 Release Notes -+

    -+ Please see etc/ChangeLog for the list of changes since 4.0. -+ A number of new platforms are supported; STLport iostreams ported to many new platforms. -+ 4.5 should provide for much greater reliability and efficiency, especially in iostreams part. -+ Code bloat should be significantly reduced. Versioning is introduced for dynamic libraries. -+

    -+ STLport 4.0 Release Notes -+

    - STLport 4.0 is a major release. Finally, it offers complete C++ standard library! - Here is a list of major changes in 4.0 : -

      -@@ -139,11 +44,12 @@ -
    • config changes - "configure" made obsolete and moved into "stlport/config/new_compiler"
    • -
    • Lot of minor bugfixes.
    • -
    -+

    - -

    STLport 3.2.1 Release Notes

    - -

    STLport 3.2.1 is a minor release in terms of functionality, but it is a huge -- leap forward in terms of usability. -+ leap forward in terms of usability.

    - -

    std::renaming

    - 3.2.1 finally solved the conflict between STLport string and std::string, which -@@ -162,12 +68,12 @@ - from a designated user's DLL, which solves the problem observed with default allocator - and passing objects across DLL boundaries. Currently, one of user's DLL is supposed to - be designated to export STLport symbols. That will change as soon as STLport will provide -- iostreams library.

    -+ iostreams library.

    - For MT compilation, <windows.h> is not included anymore to get synchronization - function prototypes. That significally reduces compilation time. --

    -+

    -

    Quality improvements

    --

    3.2.1 provides further code bloat reduction - hashtable uses vector <void*> internally. -+

    3.2.1 provides further code bloat reduction - hashtable uses vector <void*> internally.

    -

    New platforms

    - Configuration files provided for DEC C++ 6.x/5.x , Borland C++ 5.02, KAI C++. - Windows CE configuration provided. -@@ -176,7 +82,7 @@ -

    STLport 3.2 Release Notes

    - -

    STLport 3.2 is a major change from 3.12. It provides new components, new wrappers -- and fixes many portability issues. -+ and fixes many portability issues.

    -

    New Components

    - New standard header files are provided : <limits;> and <valarray>. - Also, STLport now provide complete set of C library headers which are currently -@@ -188,23 +94,28 @@ -

    3.2 provides new workarounds for standard allocators : EBO (empty-base optimization), - for automatic space optimization for instanceless allocators. Allocators with instances - now can be used with any compiler. Chunking problem is fixed - no memory overuse. -+

    -

    Major restructuring - non-inline code moved to .c implementation files. - That makes huge code bloat reduction for compilers that support separate compilation model, - like IBM xlC. If this model is not supported, .c file is being included in corresponding .h file. -+

    -

    Debug mode redesigned for less code bloat and memory footprint. - Now it use single-linked lists for iterators lists and tables for error reporting. Also it provides more flexible control on error reporting for user - now you can control whether debug aasertion throws an exception or not, or to supply your own termination routine in addition to reporting one. -+

    -

    New platforms

    - Configuration files provided for Apogee C++, Borland C++ Builder 4. -

    Smoother portability

    -

    New workarounds are used for compilers with limited capabilities. Standard forms of distance() - and operator -> for iterators is supported for them in 3.2. Additional user-level switch -- __STL_MINIMUM_DEFAULT_TEMPLATE_PARAMS is added to use minimum set of default arguments on -+ _STLP_MINIMUM_DEFAULT_TEMPLATE_PARAMS is added to use minimum set of default arguments on - template classes that have more than one - for example map<>, set<>. This is supposed to help compiling existing standard code which use shortest notation. -- Many other portability issues reported for 3.12 are fixed, including workaround for famous Sun CC 4.2 bug. __STL_USE_MFC switch added for MFC cooperation. -+ Many other portability issues reported for 3.12 are fixed, including workaround for famous Sun CC 4.2 bug. _STLP_USE_MFC switch added for MFC cooperation. -+

    -

    Configuration engine changes

    -

    Configuration switches changed - those describing compiler misfeatures changed so that - the compiler that implements complete ANSI C++ Standard and has no bugs would have empty - configuration file. -+

    -
    -
    -

    STLport 3.12 Release Notes

    -@@ -221,7 +132,7 @@ - please be sure to read the document - describing this technique.

    -

    New-style iostreams:

    --

    In STLport 3.12, __STL_USE_NEW_IOSTREAMS  macro controls -+

    In STLport 3.12, _STLP_USE_NEW_IOSTREAMS  macro controls - whether you are using templatized iostreams or not. This setting is - important - STLport's <iostream> imports appropriate - version of native iostreams (<iostream> vs. <iostream.h> -@@ -236,9 +147,9 @@ - other new features).

    -

    Underscored  names

    -

    All inernal names in STLport 3.12 starts with undercsore -- ("_"), as specified by C++ standard.

    --

    New-style C library headers

    -- In this release, __STL_USE_NEW_STYLE_HEADERS only controls -+ ("_"), as specified by C++ standard.

    -+

    New-style C library headers

    -+ In this release, _STLP_USE_NEW_STYLE_HEADERS only controls - STLport choice of using new-style C library headers : <cstdio> vs. - <stdio.h>, etc. -

    Bitset - additional parameter

    -@@ -258,41 +169,8 @@ -

    Note that explicit use of extra parameter will lead to - non-portability with other STL implementations. You may force full - version to be the default ( deque<class T, class Alloc=allocator<T>, -- size_t BufSize=0> ) by disabling __STL_NON_TYPE_TMPL_PARAM_BUG -+ size_t BufSize=0> ) by disabling _STLP_NON_TYPE_TMPL_PARAM_BUG - switch. Note that you may have problems instantiating template functions - taking deque as its argument then.

    - -- -- -- --
    -- -- -- --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    --
    --
    Copyright © 1999,2000 by Boris Fomitchev.   --  Last modified: July 14, 2000 --
    --
    -- -- -- -- -- -- -+

    Table of Contents


    Copyright 2001 by STLport
    -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/select_io.html tripwire-2.3.1-2/src/STLport-4.0/doc/select_io.html ---- tripwire-2.3.1-2.old/src/STLport-4.0/doc/select_io.html Sat Feb 24 10:45:58 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/doc/select_io.html Mon Mar 17 12:57:57 2003 -@@ -1,158 +1,59 @@ -- -- --STLport - Getting Started : Selecting IOStreams mode -- -- -- -- -- -- -- -- -- --
    --
    -- -- --
    -- -- -- -- -- --
    -- STLport.org - "Templates that fit" -- -- -- -- -- --
    -- --
    --
    --
    --
    --
    -- -- -- -- -- --
    --
    -- -- -- --
    -- -- -- -- -- -- -- -- --
    Contents
    -- Introduction
    -- --   About STLport
    --   SGI STL Base
    --   STLport Story
    -- -- --

    STLport Features
    --   Portability
    --   Debug Mode
    --   Thread Safety
    --   Exception Safety --

    -- --

    Getting Started
    -- --   Download and Install
    --   Select Streams Mode
    --   Compiling with STLport --

    -- --

    White Papers
    --   Release Notes
    -- --   READMEs
    --   Interface with std::
    --   Wrappers
    --   Config manual
    --   Regression Test
    --   Exception Test --

    -- --

    Feedback
    --   Bug Reports
    --   Forum
    --

    -- --

    Appendix
    --   Acknowledgements
    -- --   Your Free Licence

    -- --
    -- --
    -+STLport: Getting Started: Selecting IOStreams mode --




    - -- --

    Selecting IOStreams Mode

    -+ Selecting IOStreams Mode - --

    Major IOStream Modes

    -+

    Major IOStream Modes

    - - STLport 4.0 may be used in two different major modes : -
      --
    • With SGI iostreams (default). In this mode, you are going to use iostreams -+
    • With STLport iostreams (default). In this mode, you are going to use iostreams - and complex libraries provided by STLport. - To do so, first you have to build STLport library from sources - provided in "src" subdirectory and link your programs with it. -- This is major change since pre-4.0 releases, please read the instructions carefully. -+ This is major change since pre-4.0 releases, please read the instructions carefully.
    • - --
    • Without SGI iostreams. In this mode, STLport will use wrappers around -+
    • Without STLport iostreams. In this mode, STLport will use wrappers around - your compiler's iostreams and complex libraries, just like in STLport -- releases prior to 4.0. -+ releases prior to 4.0.
    • -
    - --

    Installing STLport for use without SGI iostreams

    -+ For any of these modes, please make sure -+ "stlport" directory containing header files -+ is the first one in your include search path when you compile the project
    -+ -+

    Installing STLport for use without STLport iostream library ("wrapper mode")

    - - In this mode, you will use wrappers around your compiler's iostreams - libabry, as in previous STLport releases. - - All you have to do to use STLport in this mode is to uncomment -- __STL_NO_SGI_IOSTREAMS setting in "stlport/stl/_site_config.h" -- to disable use of SGI iostreams and to use wrappers around your existing iostreams. -+ _STLP_NO_OWN_IOSTREAMS setting in "stlport/stl/_site_config.h" -+ to disable use of STLport iostreams and to use wrappers around your existing iostreams. -+ (For SUN CC, you still have to go to "src" subdirectory and do "make" or at least "make prepare" to produce additional .SUNWCCh files necessary for compilation) - - Note though : -
      -+
    • For the most modern compilers which implements Koenig lookup properly, this option may not be available due to ambiguities during namespace lookup. Example: gcc-3.0
    • -
    • New-style ANSI iostreams and/or complex library - may not be provided by your compiler vendor;
    • --
    • If provided, vendor iostreams are most likely slower than SGI version.
    • -+
    • If provided, vendor iostreams may appear to be slower than STLport version.
    • -
    -- If you have decided to disable SGI iostreams, you may stop reading here. -+ If you have decided to disable STLport iostreams, you may stop reading here. - To use wrapper mode, you do not have to build any binary libraries, as everything you need - is contained in the header files already. - --

    Building STLport iostreams library (Default Mode)

    -+

    Building STLport iostreams library (Default Mode)

    - -- In this mode, you will use SGI implementation of iostreams instead of the one that comes -+ In this mode, you will use STLport implementation of iostreams instead of the one that comes - with your compiler. It does contain some non-template code so you have to build STLport - iostreams library in "src" directory to link your project with. - - Below are step-by-step instructions to build STLport library: -
      --
    1. Unpack STLport as described in "Install" document.
    2. -+
    3. Do make sure you have followed instructions for default installation above.
    4. - --
    5. Go to "src" subdirectory. It contains makefiles for different compilers. -- If iostreams library is not yet ported to your compiler -- (please see Release Notes for details), -- you may revert to use no-SGI-iostreams mode or port it. -- Please refer -+
    6. Go to "src" subdirectory. It contains various makefiles for different compilers. -+ If iostreams library is not yet ported to your compiler (please see Release Notes for details), you may revert to use "wrapper" mode or port it. Please refer - to porting document to learn how to port iostreams library - to your compiler. The porting procedure is usually straightforward on UNIXes. -
    7. -@@ -163,52 +64,16 @@ - Note : your make program may have different name, like "nmake" for Visual C++, so, with "nmake", do "nmake clean all" - - --
    8. If make fails, you may try fixing the build yourself and/or report it to STLport Forum. -+
    9. If make fails, you may try fixing the build yourself and/or report it to STLport Forum. -
    10. - -
    11. Do "make install" to install resulting libraries into "lib" subdirectory. On Windows, this step also copies .dll libraries to system directory to be accessible at runtime.
    12. - -- -
    --

    - -

    Testing STLport

    - STLport provides two test suites - regression - test and exception handling test.
    - It is recommended that you build and run them in place to verify your new STLport installation is OK. --

      -- -- -- -- --

    -- -- -- --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    --
    --
    Copyright © 1999,2000 by Boris Fomitchev.   --  Last modified: July 14, 2000 --
    --
    -- -- -- -- - -- -+

    Table of Contents


    Copyright 2001 by STLport
    -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/sgi_stl.html tripwire-2.3.1-2/src/STLport-4.0/doc/sgi_stl.html ---- tripwire-2.3.1-2.old/src/STLport-4.0/doc/sgi_stl.html Sat Feb 24 10:45:59 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/doc/sgi_stl.html Mon Mar 17 12:57:57 2003 -@@ -1,111 +1,9 @@ -- -- -- --STLport - SGI STL Overview -+STLport: SGI STL Overview




    - -- -- -- -- -- -- -- -- --
    --
    -- -- --
    -- -- -- -- -- --
    -- STLport.org - "Templates that fit" -- -- -- -- -- --
    -- --
    --
    --
    --
    --
    -- -- -- -- --
    --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    Contents
    -- Introduction
    -- --   About STLport
    --   SGI STL Base
    --   STLport Story
    -- -- --

    STLport Features
    --   Portability
    --   Debug Mode
    --   Thread Safety
    --   Exception Safety --

    -- --

    Getting Started
    -- --   Download and Install
    --   Select Streams Mode
    --   Compiling with STLport --

    -- --

    White Papers
    --   Release Notes
    -- --   READMEs
    --   Interface with std::
    --   Wrappers
    --   Config manual
    --   Regression Test
    --   Exception Test --

    -- --

    Feedback
    --   Bug Reports
    --   Forum
    --

    -- --

    Appendix
    --   Acknowledgements
    -- --   Your Free Licence

    -- --
    -- --
    -- -- --

    SGI Standard Template Library

    -+ SGI Standard Template Library - -

    Overview

    --

    Silicon Graphics has made its implementation of the C++ -+

    Silicon Graphics has made its implementation of the C++ - Standard Template Library freely available to the public. The SGI - Standard Template Library features thread safety, improved memory - utilization, improved run-time efficiency, and new data structures, -@@ -174,7 +72,7 @@ - all copies and that both that copyright notice and this permission - notice appear in supporting documentation. Hewlett-Packard Company makes - no representations about the suitability of this software for any -- purpose. It is provided "as is" without express or implied -+ purpose. It is provided "as is" without express or implied - warranty.

    -

    Permission to use, copy, modify, distribute and - sell this software and its documentation for any purpose is hereby -@@ -182,39 +80,7 @@ - all copies and that both that copyright notice and this permission - notice appear in supporting documentation. Silicon Graphics makes no - representations about the suitability of this software for any purpose. -- It is provided "as is" without express or implied warranty. -- -- -- --

    --
    --
    -- --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    --
    --
    Copyright © 1999,2000 by Boris Fomitchev.   --  Last modified: July 14, 2000 --
    --
    -- -- -- -- -- -- -+ It is provided "as is" without express or implied warranty. -+

    - -+

    Table of Contents


    Copyright 2001 by STLport
    -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/story.html tripwire-2.3.1-2/src/STLport-4.0/doc/story.html ---- tripwire-2.3.1-2.old/src/STLport-4.0/doc/story.html Sat Feb 24 10:45:59 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/doc/story.html Mon Mar 17 12:57:57 2003 -@@ -1,109 +1,8 @@ -- -- --STLport Story -- -- -- -- -- -- -- -- -- --
    --
    -- -- --
    -- -- -- -- -- --
    -- STLport.org - "Templates that fit" -- -- -- -- -- --
    -- --
    --
    --
    --
    --
    -- -- -- -- --
    --
    -- -- -- --
    -- -- -- -- -- -- -- -- --
    Contents
    -- Introduction
    -- --   About STLport
    --   SGI STL Base
    --   STLport Story
    -- -- --

    STLport Features
    --   Portability
    --   Debug Mode
    --   Thread Safety
    --   Exception Safety --

    -- --

    Getting Started
    -- --   Download and Install
    --   Select Streams Mode
    --   Compiling with STLport --

    -- --

    White Papers
    --   Release Notes
    -- --   READMEs
    --   Interface with std::
    --   Wrappers
    --   Config manual
    --   Regression Test
    --   Exception Test --

    -- --

    Feedback
    --   Bug Reports
    --   Forum
    --

    -- --

    Appendix
    --   Acknowledgements
    -- --   Your Free Licence

    -- --
    -- --
    -+STLport: History --




    - -+STLport Story - --

    STLport Story

    -- --
    by Boris Fomitchev
    -+
    by Boris Fomitchev
    - -

    First Step

    - -@@ -127,52 +26,18 @@ - - The first time STLport went ahead of SGI STL was introduction of exception handling support. Dave Abrahams implemented exception-safe standard containers and algorithms on the base of SGI STL to present to ANSI C++ Commitee. At the time, no EH guarantees/requirements were present in the draft standard. Dave proposed to merge his changes into STLport, for maintenance reasons, which I happily did. In the meantime, SGI somewhat independently implemented the exception-safety guarantees in the proposal Dave brought before the committee with Greg Colvin. The STLport exception-handling testsuite was instrumental in getting these implementations right. Dave and Greg managed to get the proposal approved by the standards commitee, due in part to the existence of two working implementations. - --

    Making the Difference

    -+

    Making the Difference

    - --Debug Mode was implemented after "Safe STL" (debug version of HP STL, by Cay Horstmann) in 1997. It is still the feature which makes STLport different from all other standard libraries. No matter how simple the idea of this mode might look, it took severaseveral complete redesigns to get it to its current level. I am very pleased to be able to present this unique feature. -+Debug Mode was implemented after "Safe STL" (debug version of HP STL, by Cay Horstmann) in 1997. It is still the feature which makes STLport different from all other standard libraries. No matter how simple the idea of this mode might look, it took several complete redesigns to get it to its current level. I am very pleased to be able to present this unique feature. - --

    Letting Go

    -+

    Letting Go

    - - I have to confess that there was a time when I was serious about selling STLport as a commercial library. - It took me two years to get a slight idea of how the industry works. So I decided to stick with open source. - --

    Growing Up

    -+

    Growing Up

    - Using open source component does not necessarily mean relying on self-maintenance and volunteers good will. - In 1999, STLport Consulting, Inc. was founded. We offer STLport support contracts as well as custom development and --other consulting services. You may reach us at consulting@stlport.com. -- -- -- -- --
    -- -- -- --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    --
    --
    Copyright © 1999,2000 by Boris Fomitchev.   --  Last modified: July 14, 2000 --
    --
    -- -- -- -- -- -- -+other consulting services. You may reach us at consulting@stlport.com. - -+

    Table of Contents


    Copyright 2001 by STLport
    -Only in tripwire-2.3.1-2.old/src/STLport-4.0/doc: style.css -Only in tripwire-2.3.1-2.old/src/STLport-4.0/doc: test.html -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/testsuite.html tripwire-2.3.1-2/src/STLport-4.0/doc/testsuite.html ---- tripwire-2.3.1-2.old/src/STLport-4.0/doc/testsuite.html Sat Feb 24 10:45:59 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/doc/testsuite.html Mon Mar 17 12:57:57 2003 -@@ -1,108 +1,9 @@ -- -- -- --STLport - Testsuite -+STLport: Testsuite




    - -- -- -- -- -- -- -- -- --
    --
    -- -- --
    -- -- -- -- -- --
    -- STLport.org - "Templates that fit" -- -- -- -- -- --
    -- --
    --
    --
    --
    --
    -- -- -- -- --
    --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    Contents
    -- Introduction
    -- --   About STLport
    --   SGI STL Base
    --   STLport Story
    -- -- --

    STLport Features
    --   Portability
    --   Debug Mode
    --   Thread Safety
    --   Exception Safety --

    -- --

    Getting Started
    -- --   Download and Install
    --   Select Streams Mode
    --   Compiling with STLport --

    -- --

    White Papers
    --   Release Notes
    -- --   READMEs
    --   Interface with std::
    --   Wrappers
    --   Config manual
    --   Regression Test
    --   Exception Test --

    -- --

    Feedback
    --   Bug Reports
    --   Forum
    --

    -- --

    Appendix
    --   Acknowledgements
    -- --   Your Free Licence

    -- --
    -- --
    -- --

    STLport Test Suite

    -+ STLport Test Suite -+

    - by Boris Fomitchev -+

    -

    Abstract

    -

    STLport test suite performs extensive test of basic STLport - functionality.
    -@@ -131,7 +32,7 @@ - distribution.
    - You may have to edit appropriate makefile to fit your compiler and - include directories .
    -- After you've done, try "make check". This target is -+ After you've done, try "make check". This target is - output (stl_test.out) of single executable containing all the - tests.
    - Compare it with stl_test.exp output. There should be no -@@ -140,44 +41,12 @@ - uses rand() function, you should compare the result with stl_test.rand.exp. - Obviously, there is no guarantee for matching of different rand() - implementations.
    -- If some test fails to compile, you may try "make test_name.out" -+ If some test fails to compile, you may try "make test_name.out" - to produce single test executable and run it.

    -

    Linux (glibc) note

    -

    GNU libc, being used widely on Linux platforms, has different - random generator implementation than one used on most UNIX platforms. - You should ignore the output difference of tests using random generator. -+

    - -- -- -- --
    --
    --
    -- --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    --
    --
    Copyright © 1999,2000 by Boris Fomitchev.   --  Last modified: July 14, 2000 --
    --
    -- -- -- -- -- -- -+

    Table of Contents


    Copyright 2001 by STLport
    -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/thanks.html tripwire-2.3.1-2/src/STLport-4.0/doc/thanks.html ---- tripwire-2.3.1-2.old/src/STLport-4.0/doc/thanks.html Sat Feb 24 10:45:59 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/doc/thanks.html Mon Mar 17 12:57:57 2003 -@@ -1,121 +1,18 @@ -- -- -- --STLport - Acknowledgements -+STLport: Acknowledgements




    - -- -- -- -- -- -- -- -- --
    --
    -- -- --
    -- -- -- -- -- --
    -- STLport.org - "Templates that fit" -- -- -- -- -- --
    -- --
    --
    --
    --
    --
    -- -- -- -- --
    --
    -- -- -- --
    -- -- -- -- -- -- -- -- --
    Contents
    -- Introduction
    -- --   About STLport
    --   SGI STL Base
    --   STLport Story
    -- -- --

    STLport Features
    --   Portability
    --   Debug Mode
    --   Thread Safety
    --   Exception Safety --

    -- --

    Getting Started
    -- --   Download and Install
    --   Select Streams Mode
    --   Compiling with STLport --

    -- --

    White Papers
    --   Release Notes
    -- --   READMEs
    --   Interface with std::
    --   Wrappers
    --   Config manual
    --   Regression Test
    --   Exception Test --

    -- --

    Feedback
    --   Bug Reports
    --   Forum
    --

    -- --

    Appendix
    --   Acknowledgements
    -- --   Your Free Licence

    -- --
    -- --
    -- -- --

    Acknowledgements

    -+ Acknowledgements - -

    Special thanks to:

    -
      -
    • Alexander Stepanov for his fundamental work;
    • --
    • SGI -- STL  team and personally to Matt Austern, for his valuable collaboration
    • -+
    • Matt Austern, for his valuable collaboration
    • -
    • Dave Abrahams, for his continuous help, exception-handling code contribution, - EH testsuite and Metrowerks support
    • -
    • Cay Horstmann, for debug approach example
    • -
    -- Thanks to all contributors who -+ Thanks to all contributors who - have submitted bug reports, patches and suggestions: -- -+
    - - -- -+ - -@@ -223,37 +195,4 @@ - - - -- -- -- -- --
    - -@@ -165,10 +62,6 @@ -
  • Catherine Lung
  • -
  • Joachim Achtzehnter
  • -
  • Steven Woolgar
  • --
    --
    -- -
  • Michael Carr
  • -
  • Simon-Pierre Cadieux
  • -
  • Tinny Ng
  • -@@ -209,13 +102,92 @@ -
  • Marc W. Mengel
  • -
  • Willie Arbuckle
  • -
  • Matthew Kelly
  • -+
    -+
    -+ -
  • Mikhail Leonov
  • -
  • E.Musser
  • -
  • Andrew Waters
  • -
  • Bruce Alderson
  • -
  • Ben Nason
  • -
  • Danny Smith
  • -- -+
  • Andrey Khovanskiy
  • -+
  • Ben Liblit
  • -+
  • Mike Steed
  • -+
  • Sean Cavanaugh
  • -+
  • John Hynes
  • -+
  • Glen Summers
  • -+
  • Dirk Schreib
  • -+
  • Jeff Sparkes
  • -+
  • Ricardo Gayoso
  • -+
  • John Wiegley
  • -+
  • Craig Powers
  • -+
  • Bryan Byrnes
  • -+
  • Vijay Ramachandran
  • -+
  • Ed Brey
  • -+
  • Matthew Collins
  • -+
  • Jack Andrews
  • -+
  • Bernd Mohr
  • -+
  • Charles Burfoot
  • -+
  • Brett Denner
  • -+
  • Serge Pashkov
  • -+
  • George Trojan
  • -+
  • Bruce Dawson
  • -+
  • Adam Gates
  • -+
  • Levente Farkas
  • -+
  • Mark Laffoon
  • -+
  • Holger Stasch
  • -+
  • Anton Lapach
  • -+
  • Ingo Donasch
  • -+
  • Jack Andrews
  • -+
  • Jason Taylor
  • -+
  • Thomas Witt
  • -+
  • Mat Marcus
  • -+
  • Jesse Jones
  • -+
  • Jim Cole
  • -+
  • Rene van Oostrum
  • -+
  • Kenny Simpson
  • -+
  • Gerd Hoeren
  • -+
  • Tom Widmer
  • -+
  • Vadim Egorov
  • -+
  • Dean Sturtevant
  • -+
  • Gavin Collins
  • -+
  • Alberto Barbati
  • -+
  • Todd Wilson
  • -+
  • Per Liboriussen
  • -+
  • Michael Rauch
  • -+
  • Tanes Sriviroolchai
  • -+
  • Patrick Luby
  • -+
  • Joachim Achtzehnter
  • -+
  • Phillip Toland
  • -+
  • Val Melamed
  • -+
  • Johannes Brunen
  • -+
  • Sergei Nikolaev
  • -+
  • Levente Farkas
  • -+
  • Rainer Schnitker
  • -+
  • Carlos Paniago
  • -+
  • Yotam Medini
  • -+
  • Anton Ephanov
  • -+
  • Doug Gilbert
  • -+
  • Steven Green
  • -+
  • Andreas Malzahn
  • -+
  • Whitney Kew
  • -+
  • Dan Ingold
  • -+
  • Ed James-Beckerman
  • -+
  • John Daniel
  • -+
  • Marcello Pietrobon
  • -+
  • Mukesh Kapoor
  • -+
  • Jens Maurer
  • -+
  • Stephen Baker
  • -+
  • Thomas Meischner
  • -+
  • Bruce Florman
  • -+
  • Paul Ghezzi
  • -+
  • Tobias Ernst
  • -+
  • Steve Loves
  • -+
  • Piers Haken
  • -+
  • Michael Kopp
  • -+
  • Synge Todo
  • -
    -
    -- -- -- --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    --
    --
    Copyright © 1999,2000 by Boris Fomitchev.   --  Last modified: July 14, 2000 --
    --
    -- -- -- -- -- -- -+

    Table of Contents


    Copyright 2001 by STLport
    -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/use_stlport.html tripwire-2.3.1-2/src/STLport-4.0/doc/use_stlport.html ---- tripwire-2.3.1-2.old/src/STLport-4.0/doc/use_stlport.html Sat Feb 24 10:45:59 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/doc/use_stlport.html Mon Mar 17 12:57:57 2003 -@@ -1,108 +1,6 @@ -- -- --STLport - Getting Started : Compiling with STLport -+STLport: Getting Started: Compiling with STLport




    - -- -- -- -- -- -- -- -- --
    --
    -- -- --
    -- -- -- -- -- --
    -- STLport.org - "Templates that fit" -- -- -- -- -- --
    -- --
    --
    --
    --
    --
    -- -- -- -- -- --
    --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    Contents
    -- Introduction
    -- --   About STLport
    --   SGI STL Base
    --   STLport Story
    -- -- --

    STLport Features
    --   Portability
    --   Debug Mode
    --   Thread Safety
    --   Exception Safety --

    -- --

    Getting Started
    -- --   Download and Install
    --   Select Streams Mode
    --   Compiling with STLport --

    -- --

    White Papers
    --   Release Notes
    -- --   READMEs
    --   Interface with std::
    --   Wrappers
    --   Config manual
    --   Regression Test
    --   Exception Test --

    -- --

    Feedback
    --   Bug Reports
    --   Forum
    --

    -- --

    Appendix
    --   Acknowledgements
    -- --   Your Free Licence

    -- --
    -- --
    -- -- --

    Compiling Your Project with STLport

    -+ Compiling Your Project with STLport - -

    - Please make sure -@@ -111,52 +9,19 @@ -

    - Note: for SunPro CC 5.0 and higher, there is special directory "stlport/SC5" - to be set in search path due to specific SUNpro search rules) -+

    - -- --

    Special Notes for SGI IOstreams Mode

    -+

    Special Notes for STLport as a dynamic library

    -+

    - When using STLport as a dynamic library, please make sure you put in the PATH - and distribute it together with your executable. This extra dependency is certainly - in favor of using static linking. However, if your project deploys any - Win DLL's using STLport, you have to use STLport as Win DLL, too. This is because - it contains some static variables (like cerr stream) which would otherwise be duplicated -- in every DLL. This problem does not arise in Unix world. -+ in every DLL. This problem does not arise in Unix world.

    -

    - [ Visual C++ specific ] If using STLport as DLL, please be sure to use /MD[d] - compiler option to pick up all dynamic libraries. -+

    - --

      -- -- -- -- --

    --
    --
    -- --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    --
    --
    Copyright © 1999,2000 by Boris Fomitchev.   --  Last modified: July 14, 2000 --
    --
    -- -- -- -- -- -- -+

    Table of Contents


    Copyright 2001 by STLport
    -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/vendor_interface.html tripwire-2.3.1-2/src/STLport-4.0/doc/vendor_interface.html ---- tripwire-2.3.1-2.old/src/STLport-4.0/doc/vendor_interface.html Sat Feb 24 10:46:00 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/doc/vendor_interface.html Mon Mar 17 12:57:57 2003 -@@ -1,121 +1,20 @@ -- -- -- --STLport - Native C++ Library Interface -- -- -- -- -- -- -- -- -- --
    --
    -- -- --
    -- -- -- -- -- --
    -- STLport.org - "Templates that fit" -- -- -- -- -- --
    -- --
    --
    --
    --
    --
    -- -- -- -- --
    --
    -- -- -- --
    -- -- -- -- -- -- -- -- --
    Contents
    -- Introduction
    -- --   About STLport
    --   SGI STL Base
    --   STLport Story
    -- -- --

    STLport Features
    --   Portability
    --   Debug Mode
    --   Thread Safety
    --   Exception Safety --

    -- --

    Getting Started
    -- --   Download and Install
    --   Select Streams Mode
    --   Compiling with STLport --

    -- --

    White Papers
    --   Release Notes
    -- --   READMEs
    --   Interface with std::
    --   Wrappers
    --   Config manual
    --   Regression Test
    --   Exception Test --

    -- --

    Feedback
    --   Bug Reports
    --   Forum
    --

    -- --

    Appendix
    --   Acknowledgements
    -- --   Your Free Licence

    -- --
    -- --
    -+STLport: Native C++ Library Interface --




    - - --

    STLport and Vendor's C++ Library

    -+ STLport and Vendor's C++ Library -

    Modern compilers come with more or less complete ANSI standard C++ -- library.  Below, term "native" -+ library.  Below, term "native" - is being used to refer to standard C++ headers and object code libraries -- supplied with the compiler. -+ supplied with the compiler.

    - -

    The problem that arises when you want to use STLport with them, is - that putting STLport into namespace std:: may violate ODR(One - Definition Rule). This can happen if some parts of native - library (such as string, locale, iostream) are - instantiated already and compiled into native runtime C++ support -- libraries.
    -+ libraries.


    - -- Example : Visual C++ 6.x

    -+ Example : Visual C++ 6.x - -

    In practice, if the compiler supplies  new-style <iostream>, - you have this problem almost for sure - typically that means you have -@@ -123,12 +22,12 @@ - library. The clash can happen even if you do not utilize new-style - iostreams.

    - --

    Even if you use STLport with SGI iostreams, which means your code do not -- use any part of native C++ library, you may still encounter clashes at -+

    Even if you use STLport with its own iostreams, which means your code do not -+ use any part of native C++ standard library, you may still encounter clashes at - link stage. Just magine using 3rd-party lib which was compiled with -- native library.
    -+ native library.

    -

    To resolve this namespace conflict, after long experiments, -- it was decided to put STLport into its own namespace "_STL::". -+ it was decided to put STLport into its own namespace "_STL::". -
    - This provides seamless drop-in compatibility and ensures no conflicts - are ever possible.

    -@@ -137,42 +36,13 @@ - you use _STL:: components, - not the native std:: one, STLport provides macro redefinition - of std:: into _STL::. -- This is completely transparent to the user. -+ This is completely transparent to the user.

    -

    - As STLport code uses namespace different from std::, - it never clashes with native library - neither at compile nor at link time. -+

    -+

    For the most modern compilers which implements Koenig lookup properly, "wrapper mode" w/o STLport iostreams may not be available due to ambiguities during namespace lookup. Example: gcc-3.0. -+

    - -- -- - --
    -- -- -- --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    --
    --
    Copyright © 1999,2000 by Boris Fomitchev.   --  Last modified: July 14, 2000 --
    --
    -- -- -- -- -- -- -+

    Table of Contents


    Copyright 2001 by STLport
    -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/doc/wrappers.html tripwire-2.3.1-2/src/STLport-4.0/doc/wrappers.html ---- tripwire-2.3.1-2.old/src/STLport-4.0/doc/wrappers.html Sat Feb 24 10:46:00 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/doc/wrappers.html Mon Mar 17 12:57:57 2003 -@@ -1,115 +1,16 @@ -- -- -- --STLport - Wrappers Technique -+STLport: Wrappers Technique




    - -- -- -- -- -- - -- -- --
    --
    -- -- --
    -- -- -- -- -- --
    -- STLport.org - "Templates that fit" -- -- -- -- -- --
    -- --
    --
    --
    --
    --
    -- -- -- -- --
    --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    Contents
    -- Introduction
    -- --   About STLport
    --   SGI STL Base
    --   STLport Story
    -- -- --

    STLport Features
    --   Portability
    --   Debug Mode
    --   Thread Safety
    --   Exception Safety --

    -- --

    Getting Started
    -- --   Download and Install
    --   Select Streams Mode
    --   Compiling with STLport --

    -- --

    White Papers
    --   Release Notes
    -- --   READMEs
    --   Interface with std::
    --   Wrappers
    --   Config manual
    --   Regression Test
    --   Exception Test --

    -- --

    Feedback
    --   Bug Reports
    --   Forum
    --

    -- --

    Appendix
    --   Acknowledgements
    -- --   Your Free Licence

    -- --
    -- --
    -- -- --

    Wrapper Technique in STLport

    -+ Wrapper Technique in STLport -+

    - Considerable point of non-portability was the lack of default - template class parameters in many compilers. C++ template syntax doesn't - allow an easy way to hide that behind any macro magic. --

    STLport uses wrapper technique to work around that:
    -- Full functionality for 'container' is implemented via class '__container__'.

    -+
    STLport uses wrapper technique to work around that:
    -+ Full functionality for 'container' is implemented via class '__container__'. -+

    -

    For example:

    --
    #ifdef __STL_DEFAULT_TYPE_PARAM
    -+        
    #ifdef _STLP_DEFAULT_TYPE_PARAM
    - template <class T, class Alloc = alloc>
    - #else
    - #  define vector __vector
    -@@ -118,7 +19,7 @@
    - class vector {
    - public:
    - ......
    --#ifdef __STL_DEFAULT_TYPE_PARAM
    -+#ifdef _STLP_DEFAULT_TYPE_PARAM
    - define __vector__ vector
    - # else
    - template <class T>
    -@@ -126,7 +27,7 @@
    - {
    - .....
    - #define __vector__ __vector
    --# endif /* __STL_DEFAULT_TYPE_PARAM */
    -+# endif /* _STLP_DEFAULT_TYPE_PARAM */
    - So, you are provided with two versions of container: with and without - default parameters. It buys you a way to access full functionality while - not breaking code using the short notation.
    -@@ -136,48 +37,16 @@ - to be able to switch easily.
    - If you don't use different allocators, don't bother. -

    New in STLport 3.2:
    -- __STL_MINIMUM_DEFAULT_TEMPLATE_PARAMS switch is introduced for user to take control -+ _STLP_MINIMUM_DEFAULT_TEMPLATE_PARAMS switch is introduced for user to take control - of wrappers behavior with classes that have more than one default template argument. With this switch defined, - STLport will use minimum set of default arguments on template classes that have more than one - - for example map<>, set<>. -- This is supposed to help compiling existing standard code which use shortest notation. -+ This is supposed to help compiling existing standard code which use shortest notation.

    - -

    Here is the list of compilers that cannot handle dependant - default template parameters:
    - SunPro CC, BC++ 4.52, VC++ 4.2, xlC 3.1.4, DEC C++ 5.5, Visual Age C++ -- 3.0. -- -- -- -- --

    --
    --
    -- --
    -- -- -- -- --
    -- -- -- -- -- -- -- -- --
    --
    --
    Copyright © 1999,2000 by Boris Fomitchev.   --  Last modified: July 14, 2000 --
    --
    -- -- -+ 3.0.

    - -- - -- -+

    Table of Contents


    Copyright 2001 by STLport
    -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/MrCpp.mak tripwire-2.3.1-2/src/STLport-4.0/src/MrCpp.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/MrCpp.mak Sat Feb 24 10:44:12 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/MrCpp.mak Sun Aug 11 18:59:22 2002 -@@ -5,7 +5,7 @@ - !ifdef DEBUG - config_ = .PPC.DBG - MrCpp_DebugOptions = -inline none,global -opt none {Sym-PPC} --STL_DebugOptions = -d __STL_DEBUG -d __STL_DEBUG_ALLOC -d __STL_DEBUG_UNINITIALIZED -+STL_DebugOptions = -d _STLP_DEBUG -d _STLP_DEBUG_ALLOC -d _STLP_DEBUG_UNINITIALIZED - !else - config_ = .PPC - MrCpp_DebugOptions = -@@ -18,8 +18,8 @@ - - MrCpp_Options = -ansi on -ansifor -bool on -exceptions on -rtti on -align power -j0 -traceback -opt size -inline 3,global -includes unix_mac - --STL_Options = #-d __STL_USE_NEWALLOC ¶ -- -d __STL_NO_SGI_IOSTREAMS ¶ -+STL_Options = #-d _STLP_USE_NEWALLOC ¶ -+ #-d _STLP_NO_SGI_IOSTREAMS ¶ - # end - - Link_options = ¶ -@@ -79,135 +79,77 @@ - ### Source Files ### - - STLportLibSrcFiles = ¶ -- c_locale_stub.cpp ¶ -+ c_locale_stub.cpp ¶ - codecvt.cpp ¶ -- codecvt_byname.cpp ¶ -- codecvt_w.cpp ¶ - collate.cpp ¶ -- collate_byname.cpp ¶ -- collate_byname_w.cpp ¶ -- collate_w.cpp ¶ - complex.cpp ¶ - complex_exp.cpp ¶ - complex_io.cpp ¶ - complex_io_w.cpp ¶ - complex_trig.cpp ¶ - ctype.cpp ¶ -- ctype_byname.cpp ¶ -- ctype_byname_w.cpp ¶ -- ctype_w.cpp ¶ --# dll_main.cpp ¶ -+ dll_main.cpp ¶ - fstream.cpp ¶ -- fstream_w.cpp ¶ - ios.cpp ¶ -- ios_base.cpp ¶ -- ios_w.cpp ¶ - iostream.cpp ¶ -+ istream.cpp ¶ - locale.cpp ¶ - locale_catalog.cpp ¶ -+ facets_byname.cpp ¶ - locale_impl.cpp ¶ -- message_facets.cpp ¶ -- message_facets_w.cpp ¶ -+ messages.cpp ¶ - monetary.cpp ¶ -- money_get.cpp ¶ -- money_get_w.cpp ¶ -- money_put.cpp ¶ -- money_put_w.cpp ¶ -- moneypunct.cpp ¶ -- moneypunct_byname.cpp ¶ -- moneypunct_byname_w.cpp ¶ -- moneypunct_w.cpp ¶ - num_get.cpp ¶ - num_get_float.cpp ¶ -- num_get_inst.cpp ¶ -- num_get_inst_w.cpp ¶ - num_put.cpp ¶ - num_put_float.cpp ¶ -- num_put_inst.cpp ¶ -- num_put_inst_w.cpp ¶ - numpunct.cpp ¶ -- numpunct_byname.cpp ¶ -- numpunct_w.cpp ¶ -- range_errors.cpp ¶ -+ ostream.cpp ¶ - sstream.cpp ¶ - stdio_streambuf.cpp ¶ - streambuf.cpp ¶ -- string.cpp ¶ - string_w.cpp ¶ - strstream.cpp ¶ --# test.cpp ¶ - time_facets.cpp ¶ -- time_get.cpp ¶ -- time_get_w.cpp ¶ -- time_put.cpp ¶ -- time_put_w.cpp ¶ -- # end -+ # end #*TY 11/25/2000 - updated for STLport.4.1 - - - ### Object Files ### - - STLportLibObjFiles-PPC = ¶ -- "{ObjDir}"c_locale_stub.cpp.x ¶ -- "{ObjDir}"codecvt.cpp.x ¶ -- "{ObjDir}"codecvt_byname.cpp.x ¶ -- "{ObjDir}"codecvt_w.cpp.x ¶ -- "{ObjDir}"collate.cpp.x ¶ -- "{ObjDir}"collate_byname.cpp.x ¶ -- "{ObjDir}"collate_byname_w.cpp.x ¶ -- "{ObjDir}"collate_w.cpp.x ¶ -- "{ObjDir}"complex.cpp.x ¶ -- "{ObjDir}"complex_exp.cpp.x ¶ -- "{ObjDir}"complex_io.cpp.x ¶ -- "{ObjDir}"complex_io_w.cpp.x ¶ -- "{ObjDir}"complex_trig.cpp.x ¶ -- "{ObjDir}"ctype.cpp.x ¶ -- "{ObjDir}"ctype_byname.cpp.x ¶ -- "{ObjDir}"ctype_byname_w.cpp.x ¶ -- "{ObjDir}"ctype_w.cpp.x ¶ -- "{ObjDir}"fstream.cpp.x ¶ -- "{ObjDir}"fstream_w.cpp.x ¶ -- "{ObjDir}"ios.cpp.x ¶ -- "{ObjDir}"ios_base.cpp.x ¶ -- "{ObjDir}"ios_w.cpp.x ¶ -- "{ObjDir}"iostream.cpp.x ¶ -- "{ObjDir}"locale.cpp.x ¶ -- "{ObjDir}"locale_catalog.cpp.x ¶ -- "{ObjDir}"locale_impl.cpp.x ¶ -- "{ObjDir}"message_facets.cpp.x ¶ -- "{ObjDir}"message_facets_w.cpp.x ¶ -- "{ObjDir}"monetary.cpp.x ¶ -- "{ObjDir}"money_get.cpp.x ¶ -- "{ObjDir}"money_get_w.cpp.x ¶ -- "{ObjDir}"money_put.cpp.x ¶ -- "{ObjDir}"money_put_w.cpp.x ¶ -- "{ObjDir}"moneypunct.cpp.x ¶ -- "{ObjDir}"moneypunct_byname.cpp.x ¶ -- "{ObjDir}"moneypunct_byname_w.cpp.x ¶ -- "{ObjDir}"moneypunct_w.cpp.x ¶ -- "{ObjDir}"num_get.cpp.x ¶ -- "{ObjDir}"num_get_float.cpp.x ¶ -- "{ObjDir}"num_get_inst.cpp.x ¶ -- "{ObjDir}"num_get_inst_w.cpp.x ¶ -- "{ObjDir}"num_put.cpp.x ¶ -- "{ObjDir}"num_put_float.cpp.x ¶ -- "{ObjDir}"num_put_inst.cpp.x ¶ -- "{ObjDir}"num_put_inst_w.cpp.x ¶ -- "{ObjDir}"numpunct.cpp.x ¶ -- "{ObjDir}"numpunct_byname.cpp.x ¶ -- "{ObjDir}"numpunct_w.cpp.x ¶ -- "{ObjDir}"range_errors.cpp.x ¶ -- "{ObjDir}"sstream.cpp.x ¶ -- "{ObjDir}"stdio_streambuf.cpp.x ¶ -- "{ObjDir}"streambuf.cpp.x ¶ -- "{ObjDir}"string.cpp.x ¶ -- "{ObjDir}"string_w.cpp.x ¶ -- "{ObjDir}"strstream.cpp.x ¶ -- "{ObjDir}"time_facets.cpp.x ¶ -- "{ObjDir}"time_get.cpp.x ¶ -- "{ObjDir}"time_get_w.cpp.x ¶ -- "{ObjDir}"time_put.cpp.x ¶ -- "{ObjDir}"time_put_w.cpp.x ¶ -- # end -+ {ObjDir}c_locale_stub.cpp.x ¶ -+ {ObjDir}codecvt.cpp.x ¶ -+ {ObjDir}collate.cpp.x ¶ -+ {ObjDir}complex.cpp.x ¶ -+ {ObjDir}complex_exp.cpp.x ¶ -+ {ObjDir}complex_io.cpp.x ¶ -+ {ObjDir}complex_io_w.cpp.x ¶ -+ {ObjDir}complex_trig.cpp.x ¶ -+ {ObjDir}ctype.cpp.x ¶ -+ {ObjDir}dll_main.cpp.x ¶ -+ {ObjDir}fstream.cpp.x ¶ -+ {ObjDir}ios.cpp.x ¶ -+ {ObjDir}iostream.cpp.x ¶ -+ {ObjDir}istream.cpp.x ¶ -+ {ObjDir}locale.cpp.x ¶ -+ {ObjDir}locale_catalog.cpp.x ¶ -+ {ObjDir}facets_byname.cpp.x ¶ -+ {ObjDir}locale_impl.cpp.x ¶ -+ {ObjDir}messages.cpp.x ¶ -+ {ObjDir}monetary.cpp.x ¶ -+ {ObjDir}num_get.cpp.x ¶ -+ {ObjDir}num_get_float.cpp.x ¶ -+ {ObjDir}num_put.cpp.x ¶ -+ {ObjDir}num_put_float.cpp.x ¶ -+ {ObjDir}numpunct.cpp.x ¶ -+ {ObjDir}ostream.cpp.x ¶ -+ {ObjDir}sstream.cpp.x ¶ -+ {ObjDir}stdio_streambuf.cpp.x ¶ -+ {ObjDir}streambuf.cpp.x ¶ -+ {ObjDir}string_w.cpp.x ¶ -+ {ObjDir}strstream.cpp.x ¶ -+ {ObjDir}time_facets.cpp.x ¶ -+ # end #*TY 11/25/2000 - updated for STLport.4.1 - - - ### Build Rules ### -@@ -218,6 +160,9 @@ - install ÄÄ build - ### - echo "¶nInstalling: ¶{stl¶}:lib:STLportLib{config_}.o" -+ if !`exists "{stl}":lib:` -+ newfolder "{stl}":lib: -+ end - duplicate -y "{ObjDir}"STLportLib{config_}.o "{stl}":lib:STLportLib{config_}.o - - "{ObjDir}"STLportLib{config_}.o ÄÄ {STLportLibObjFiles-PPC} {¥MondoBuild¥} -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/SCpp.mak tripwire-2.3.1-2/src/STLport-4.0/src/SCpp.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/SCpp.mak Sat Feb 24 10:44:15 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/SCpp.mak Sun Aug 11 18:59:22 2002 -@@ -5,7 +5,7 @@ - !ifdef DEBUG - config_ = .68K.DBG - SCpp_DebugOptions = -inline none,global -opt none -frames {Sym-68K} --STL_DebugOptions = -d __STL_DEBUG -d __STL_DEBUG_ALLOC -d __STL_DEBUG_UNINITIALIZED -+STL_DebugOptions = -d _STLP_DEBUG -d _STLP_DEBUG_ALLOC -d _STLP_DEBUG_UNINITIALIZED - !else - config_ = .68K - SCpp_DebugOptions = -@@ -18,8 +18,8 @@ - - SCpp_Options = -model far -ansi on -ansifor -bool on -exceptions on -rtti on -b2 -mbg full -opt all -inline all,global -includes unix_mac -w 12 - --STL_Options = #-d __STL_USE_NEWALLOC ¶ -- -d __STL_NO_SGI_IOSTREAMS ¶ -+STL_Options = #-d _STLP_USE_NEWALLOC ¶ -+ #-d _STLP_NO_SGI_IOSTREAMS ¶ - # end - - Link_options = ¶ -@@ -82,137 +82,79 @@ - ### Source Files ### - - STLportLibSrcFiles = ¶ -- c_locale_stub.cpp ¶ -+ c_locale_stub.cpp ¶ - codecvt.cpp ¶ -- codecvt_byname.cpp ¶ -- codecvt_w.cpp ¶ - collate.cpp ¶ -- collate_byname.cpp ¶ -- collate_byname_w.cpp ¶ -- collate_w.cpp ¶ - complex.cpp ¶ - complex_exp.cpp ¶ - complex_io.cpp ¶ - complex_io_w.cpp ¶ - complex_trig.cpp ¶ - ctype.cpp ¶ -- ctype_byname.cpp ¶ -- ctype_byname_w.cpp ¶ -- ctype_w.cpp ¶ --# dll_main.cpp ¶ -+ dll_main.cpp ¶ - fstream.cpp ¶ -- fstream_w.cpp ¶ - ios.cpp ¶ -- ios_base.cpp ¶ -- ios_w.cpp ¶ - iostream.cpp ¶ -+ istream.cpp ¶ - locale.cpp ¶ - locale_catalog.cpp ¶ -+ facets_byname.cpp ¶ - locale_impl.cpp ¶ -- message_facets.cpp ¶ -- message_facets_w.cpp ¶ -+ messages.cpp ¶ - monetary.cpp ¶ -- money_get.cpp ¶ -- money_get_w.cpp ¶ -- money_put.cpp ¶ -- money_put_w.cpp ¶ -- moneypunct.cpp ¶ -- moneypunct_byname.cpp ¶ -- moneypunct_byname_w.cpp ¶ -- moneypunct_w.cpp ¶ - num_get.cpp ¶ - num_get_float.cpp ¶ -- num_get_inst.cpp ¶ -- num_get_inst_w.cpp ¶ - num_put.cpp ¶ - num_put_float.cpp ¶ -- num_put_inst.cpp ¶ -- num_put_inst_w.cpp ¶ - numpunct.cpp ¶ -- numpunct_byname.cpp ¶ -- numpunct_w.cpp ¶ -- range_errors.cpp ¶ -+ ostream.cpp ¶ - sstream.cpp ¶ - stdio_streambuf.cpp ¶ - streambuf.cpp ¶ -- string.cpp ¶ - string_w.cpp ¶ - strstream.cpp ¶ --# test.cpp ¶ - time_facets.cpp ¶ -- time_get.cpp ¶ -- time_get_w.cpp ¶ -- time_put.cpp ¶ -- time_put_w.cpp ¶ -- # end -+ # end #*TY 11/25/2000 - updated for STLport.4.1 - - - ### Object Files ### - - STLportLibObjFiles1-68K = ¶ -- "{ObjDir}"c_locale_stub.cpp.o ¶ -- "{ObjDir}"codecvt.cpp.o ¶ -- "{ObjDir}"codecvt_byname.cpp.o ¶ -- "{ObjDir}"codecvt_w.cpp.o ¶ -- "{ObjDir}"collate.cpp.o ¶ -- "{ObjDir}"collate_byname.cpp.o ¶ -- "{ObjDir}"collate_byname_w.cpp.o ¶ -- "{ObjDir}"collate_w.cpp.o ¶ -- "{ObjDir}"complex.cpp.o ¶ -- "{ObjDir}"complex_exp.cpp.o ¶ -- "{ObjDir}"complex_io.cpp.o ¶ -- "{ObjDir}"complex_io_w.cpp.o ¶ -- "{ObjDir}"complex_trig.cpp.o ¶ -- "{ObjDir}"ctype.cpp.o ¶ -- "{ObjDir}"ctype_byname.cpp.o ¶ -- "{ObjDir}"ctype_byname_w.cpp.o ¶ -- "{ObjDir}"ctype_w.cpp.o ¶ -- "{ObjDir}"fstream.cpp.o ¶ -- "{ObjDir}"fstream_w.cpp.o ¶ -- "{ObjDir}"ios.cpp.o ¶ -- "{ObjDir}"ios_base.cpp.o ¶ -- "{ObjDir}"ios_w.cpp.o ¶ -- "{ObjDir}"iostream.cpp.o ¶ -- "{ObjDir}"locale.cpp.o ¶ -- "{ObjDir}"locale_catalog.cpp.o ¶ -- "{ObjDir}"locale_impl.cpp.o ¶ -- "{ObjDir}"message_facets.cpp.o ¶ -- "{ObjDir}"message_facets_w.cpp.o ¶ -- "{ObjDir}"monetary.cpp.o ¶ -- "{ObjDir}"money_get.cpp.o ¶ -+ {ObjDir}c_locale_stub.cpp.o ¶ -+ {ObjDir}codecvt.cpp.o ¶ -+ {ObjDir}collate.cpp.o ¶ -+ {ObjDir}complex.cpp.o ¶ -+ {ObjDir}complex_exp.cpp.o ¶ -+ {ObjDir}complex_io.cpp.o ¶ -+ {ObjDir}complex_io_w.cpp.o ¶ -+ {ObjDir}complex_trig.cpp.o ¶ -+ {ObjDir}ctype.cpp.o ¶ -+ {ObjDir}dll_main.cpp.o ¶ -+ {ObjDir}fstream.cpp.o ¶ -+ {ObjDir}ios.cpp.o ¶ -+ {ObjDir}iostream.cpp.o ¶ -+ {ObjDir}istream.cpp.o ¶ -+ {ObjDir}locale.cpp.o ¶ -+ {ObjDir}locale_catalog.cpp.o ¶ - # - STLportLibObjFiles2-68K = ¶ -- "{ObjDir}"money_get_w.cpp.o ¶ -- "{ObjDir}"money_put.cpp.o ¶ -- "{ObjDir}"money_put_w.cpp.o ¶ -- "{ObjDir}"moneypunct.cpp.o ¶ -- "{ObjDir}"moneypunct_byname.cpp.o ¶ -- "{ObjDir}"moneypunct_byname_w.cpp.o ¶ -- "{ObjDir}"moneypunct_w.cpp.o ¶ -- "{ObjDir}"num_get.cpp.o ¶ -- "{ObjDir}"num_get_float.cpp.o ¶ -- "{ObjDir}"num_get_inst.cpp.o ¶ -- "{ObjDir}"num_get_inst_w.cpp.o ¶ -- "{ObjDir}"num_put.cpp.o ¶ -- "{ObjDir}"num_put_float.cpp.o ¶ -- "{ObjDir}"num_put_inst.cpp.o ¶ -- "{ObjDir}"num_put_inst_w.cpp.o ¶ -- "{ObjDir}"numpunct.cpp.o ¶ -- "{ObjDir}"numpunct_byname.cpp.o ¶ -- "{ObjDir}"numpunct_w.cpp.o ¶ -- "{ObjDir}"range_errors.cpp.o ¶ -- "{ObjDir}"sstream.cpp.o ¶ -- "{ObjDir}"stdio_streambuf.cpp.o ¶ -- "{ObjDir}"streambuf.cpp.o ¶ -- "{ObjDir}"string.cpp.o ¶ -- "{ObjDir}"string_w.cpp.o ¶ -- "{ObjDir}"strstream.cpp.o ¶ -- "{ObjDir}"time_facets.cpp.o ¶ -- "{ObjDir}"time_get.cpp.o ¶ -- "{ObjDir}"time_get_w.cpp.o ¶ -- "{ObjDir}"time_put.cpp.o ¶ -- "{ObjDir}"time_put_w.cpp.o ¶ -- # end -+ {ObjDir}facets_byname.cpp.o ¶ -+ {ObjDir}locale_impl.cpp.o ¶ -+ {ObjDir}messages.cpp.o ¶ -+ {ObjDir}monetary.cpp.o ¶ -+ {ObjDir}num_get.cpp.o ¶ -+ {ObjDir}num_get_float.cpp.o ¶ -+ {ObjDir}num_put.cpp.o ¶ -+ {ObjDir}num_put_float.cpp.o ¶ -+ {ObjDir}numpunct.cpp.o ¶ -+ {ObjDir}ostream.cpp.o ¶ -+ {ObjDir}sstream.cpp.o ¶ -+ {ObjDir}stdio_streambuf.cpp.o ¶ -+ {ObjDir}streambuf.cpp.o ¶ -+ {ObjDir}string_w.cpp.o ¶ -+ {ObjDir}strstream.cpp.o ¶ -+ {ObjDir}time_facets.cpp.o ¶ -+ # end #*TY 11/25/2000 - updated for STLport.4.1 - - - ### Build Rules ### -@@ -248,4 +190,7 @@ - install ÄÄ build - ### - echo "¶nInstalling: ¶{stl¶}:lib:STLportLib{config_}.o" -+ if !`exists "{stl}":lib:` -+ newfolder "{stl}":lib: -+ end - duplicate -y "{ObjDir}"STLportLib{config_}.o "{stl}":lib:STLportLib{config_}.o -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/aligned_buffer.h tripwire-2.3.1-2/src/STLport-4.0/src/aligned_buffer.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/aligned_buffer.h Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/aligned_buffer.h Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,13 @@ -+# ifndef ALIGNED_BUFFER_H -+# define ALIGNED_BUFFER_H -+ -+_STLP_BEGIN_NAMESPACE -+// this is for fake initialization -+template -+union _Stl_aligned_buffer { -+ char buf[sizeof(T)]; -+ struct { double a; double b; } padding; -+}; -+_STLP_END_NAMESPACE -+ -+# endif -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/bc502.mak tripwire-2.3.1-2/src/STLport-4.0/src/bc502.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/bc502.mak Sat Feb 24 10:44:04 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/bc502.mak Sun Aug 11 18:59:22 2002 -@@ -7,7 +7,7 @@ - RC=brc32 - COMP=BCC502 - --LIB_BASENAME=stlport_bcc -+LIB_BASENAME=stlport_bcb - - # --------------------------------------------------------------------------- - -@@ -15,22 +15,22 @@ - DYNLINK_OUT= - LINK = tlib /P128 - DYN_LINK = ilink32 --OBJEXT=obj --DYNEXT=dll --STEXT=lib --RM=@erase /F /Q --PATH_SEP=\\ --MKDIR=mkdir -p -+OBJEXT=obj -+DYNEXT=dll -+STEXT=lib -+RM=@erase /F /Q -+PATH_SEP=\\ -+MKDIR=mkdir - STATIC_SUFFIX=_static --INSTALL_STEP=do_install -+INSTALL_STEP=install_bc - - # static builds, but cannot be used - some weird compile errors.. - all : all_dynamic - --!include common_macros.mak -+!include common_macros_windows.mak - - DYNAMIC_DEFS=_RTLDLL --STATIC_DEFS=_LIB -+STATIC_DEFS=_LIB;_STLP_NO_FORCE_INSTANTIATE - - LINKSTARTUP= c0d32.obj - -@@ -58,90 +58,111 @@ - - CXXFLAGS_RELEASE_static= $(FLAGS_COMMON_static) -O2 -n$(RELEASE_OBJDIR_static) - CXXFLAGS_DEBUG_static= $(FLAGS_COMMON_static) -v -N -x -xp -n$(DEBUG_OBJDIR_static) --CXXFLAGS_STLDEBUG_static= $(FLAGS_COMMON_static) -v -N -x -xp -n$(STLDEBUG_OBJDIR_static) -D__STLDEBUG -+CXXFLAGS_STLDEBUG_static= $(FLAGS_COMMON_static) -v -N -x -xp -n$(STLDEBUG_OBJDIR_static) -D_STLP_DEBUG - - CXXFLAGS_RELEASE_dynamic= $(FLAGS_COMMON_dynamic) -O2 -n$(RELEASE_OBJDIR_dynamic) - CXXFLAGS_DEBUG_dynamic= $(FLAGS_COMMON_dynamic) -v -N -x -xp -n$(DEBUG_OBJDIR_dynamic) --CXXFLAGS_STLDEBUG_dynamic= $(FLAGS_COMMON_dynamic) -v -N -x -xp -n$(STLDEBUG_OBJDIR_dynamic) -D__STLDEBUG -+CXXFLAGS_STLDEBUG_dynamic= $(FLAGS_COMMON_dynamic) -v -N -x -xp -n$(STLDEBUG_OBJDIR_dynamic) -D_STLP_DEBUG - - RELEASE_LINK_COMMANDS_static=\ -- +$(RELEASE_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ -- +$(RELEASE_OBJDIR_static)$(PATH_SEP)c_numeric_facets.$(OBJEXT) \ -- +$(RELEASE_OBJDIR_static)$(PATH_SEP)codecvt.$(OBJEXT) \ -- +$(RELEASE_OBJDIR_static)$(PATH_SEP)collate.$(OBJEXT) \ -- +$(RELEASE_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ -- +$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ -- +$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ -- +$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ -- +$(RELEASE_OBJDIR_static)$(PATH_SEP)ctype.$(OBJEXT) \ -- +$(RELEASE_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ -- +$(RELEASE_OBJDIR_static)$(PATH_SEP)ios.$(OBJEXT) \ -- +$(RELEASE_OBJDIR_static)$(PATH_SEP)iostream.$(OBJEXT) \ -- +$(RELEASE_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ -- +$(RELEASE_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ -- +$(RELEASE_OBJDIR_static)$(PATH_SEP)message_facets.$(OBJEXT) \ -- +$(RELEASE_OBJDIR_static)$(PATH_SEP)monetary.$(OBJEXT) \ -- +$(RELEASE_OBJDIR_static)$(PATH_SEP)numeric_facets.$(OBJEXT) \ -- +$(RELEASE_OBJDIR_static)$(PATH_SEP)range_errors.$(OBJEXT) \ -- +$(RELEASE_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ -- +$(RELEASE_OBJDIR_static)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ -- +$(RELEASE_OBJDIR_static)$(PATH_SEP)dll_main.$(OBJEXT) \ -- +$(RELEASE_OBJDIR_static)$(PATH_SEP)streambuf.$(OBJEXT) \ -- +$(RELEASE_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ -- +$(RELEASE_OBJDIR_static)$(PATH_SEP)time_facets.$(OBJEXT) -- --DEBUG_LINK_COMMANDS_static=\ -- +$(DEBUG_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ -- +$(DEBUG_OBJDIR_static)$(PATH_SEP)c_numeric_facets.$(OBJEXT) \ -- +$(DEBUG_OBJDIR_static)$(PATH_SEP)codecvt.$(OBJEXT) \ -- +$(DEBUG_OBJDIR_static)$(PATH_SEP)collate.$(OBJEXT) \ -- +$(DEBUG_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ -- +$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ -- +$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ -- +$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ -- +$(DEBUG_OBJDIR_static)$(PATH_SEP)ctype.$(OBJEXT) \ -- +$(DEBUG_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ -- +$(DEBUG_OBJDIR_static)$(PATH_SEP)ios.$(OBJEXT) \ -- +$(DEBUG_OBJDIR_static)$(PATH_SEP)iostream.$(OBJEXT) \ -- +$(DEBUG_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ -- +$(DEBUG_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ -- +$(DEBUG_OBJDIR_static)$(PATH_SEP)message_facets.$(OBJEXT) \ -- +$(DEBUG_OBJDIR_static)$(PATH_SEP)monetary.$(OBJEXT) \ -- +$(DEBUG_OBJDIR_static)$(PATH_SEP)numeric_facets.$(OBJEXT) \ -- +$(DEBUG_OBJDIR_static)$(PATH_SEP)range_errors.$(OBJEXT) \ -- +$(DEBUG_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ -- +$(DEBUG_OBJDIR_static)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ -- +$(DEBUG_OBJDIR_static)$(PATH_SEP)dll_main.$(OBJEXT) \ -- +$(DEBUG_OBJDIR_static)$(PATH_SEP)streambuf.$(OBJEXT) \ -- +$(DEBUG_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ -- +$(DEBUG_OBJDIR_static)$(PATH_SEP)time_facets.$(OBJEXT) -- --STLDEBUG_LINK_COMMANDS_static=\ -- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ -- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)c_numeric_facets.$(OBJEXT) \ -- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)codecvt.$(OBJEXT) \ -- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)collate.$(OBJEXT) \ -- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ -- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ -- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ -- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ -- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ctype.$(OBJEXT) \ -- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ -- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ios.$(OBJEXT) \ -- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)iostream.$(OBJEXT) \ -- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ -- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ -- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)message_facets.$(OBJEXT) \ -- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)monetary.$(OBJEXT) \ -- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)numeric_facets.$(OBJEXT) \ -- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)range_errors.$(OBJEXT) \ -- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ -- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ -- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)dll_main.$(OBJEXT) \ -- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)streambuf.$(OBJEXT) \ -- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ -- +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)time_facets.$(OBJEXT) -- -++$(RELEASE_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)dll_main.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)ios.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)streambuf.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)iostream.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)istream.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)ostream.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)codecvt.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)collate.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)ctype.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)messages.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)monetary.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)num_get.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)num_get_float.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)num_put.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)num_put_float.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)numpunct.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)time_facets.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)facets_byname.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_io_w.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) -+ -+ -+DEBUG_LINK_COMMANDS_static= \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)dll_main.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)ios.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)streambuf.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)iostream.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)istream.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)ostream.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)codecvt.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)collate.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)ctype.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)messages.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)monetary.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)num_get.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)num_get_float.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)num_put.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)num_put_float.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)numpunct.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)time_facets.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)facets_byname.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_io_w.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) -+ -+STLDEBUG_LINK_COMMANDS_static= \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)dll_main.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ios.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)streambuf.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)iostream.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)istream.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ostream.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)codecvt.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)collate.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ctype.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)messages.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)monetary.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_get.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_get_float.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_put.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_put_float.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)numpunct.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)time_facets.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)facets_byname.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_io_w.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) - - # - # Target directories -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/bcb.mak tripwire-2.3.1-2/src/STLport-4.0/src/bcb.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/bcb.mak Sat Feb 24 10:44:05 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/bcb.mak Sun Aug 11 18:59:22 2002 -@@ -1,43 +1,55 @@ - # --------------------------------------------------------------------------- - -+!if !$d(BCB) -+BCB = $(MAKEDIR)\.. -+!endif -+ - CPP=cpp32 - CC=bcc32 -P - CXX=bcc32 - - RC=brc32 --COMP=BCC -+COMP=BCB - --LIB_BASENAME=stlport_bcc -+LIB_BASENAME=stlp - - # --------------------------------------------------------------------------- - - LINK_OUT= - DYNLINK_OUT= --LINK = tlib /P128 --DYN_LINK = ilink32 --OBJEXT=obj --DYNEXT=dll --STEXT=lib --RM=@erase /F /Q --PATH_SEP=\\ --MKDIR=-mkdir --STATIC_SUFFIX=_static --INSTALL_STEP=do_install -- --all : all_dynamic all_static -- --!include common_macros.mak -+LINK = tlib /P256 -+# Use objs in RTL build tree -+DYN_LINK = ilink32 -L$(BCB)\lib -+OBJEXT=obj -+DYNEXT=dll -+STEXT=lib -+# We use 4NT, which does not know about /Q -+#RM=-rd /S /Q -+RM=-rd /S -+PATH_SEP=\\ -+MKDIR=-mkdir -+STATIC_SUFFIX=st -+INSTALL_STEP=install_bc -+ -+all : platform all_dynamic all_static -+ -+!include common_macros_windows.mak -+ -+#RM=-rd /S /Q -+RM=-rd /S -+MKDIR=-mkdir - --DYNAMIC_DEFS=_RTLDLL;_DLL --STATIC_DEFS=_LIB -+DYNAMIC_DEFS=_RTLDLL;_WIN32;_DLL;_STLP_DESIGNATED_DLL -+STATIC_DEFS=_LIB;_WIN32;_STLP_NO_FORCE_INSTANTIATE - - LINKSTARTUP= c0d32.obj - --FLAGS_COMMON= -I.;..\stlport;$(BCB)\include -jb -j1 -w -c -w-par -w-inl -tWM -+FLAGS_COMMON= -I.;..\stlport;$(BCB)\include;$(BCB)\include\windows -jb -j1 -w -c -w-par -w-inl -w-stl - FLAGS_COMMON_static = $(FLAGS_COMMON) -D$(SYSDEFINES);$(USERDEFINES);$(STATIC_DEFS) - FLAGS_COMMON_dynamic = $(FLAGS_COMMON) -D$(SYSDEFINES);$(USERDEFINES);$(DYNAMIC_DEFS) -tWDR - --LDFLAGS_COMMON=-Gn -Gi -Tpd -aa -L$(MAKEDIR)\..\lib -x -+# -L$(MAKEDIR)\..\lib removed ...it should get ilink32.cfg values instead -+LDFLAGS_COMMON=-Gn -Gi -Tpd -aa -x - LDFLAGS_COMMON_static= $(LDFLAGS_COMMON) - LDFLAGS_COMMON_dynamic= $(LDFLAGS_COMMON) - -@@ -50,18 +62,18 @@ - LDFLAGS_DEBUG_dynamic= $(LDFLAGS_COMMON_dynamic) $(LINKSTARTUP) - LDFLAGS_STLDEBUG_dynamic= $(LDFLAGS_COMMON_dynamic) $(LINKSTARTUP) - --LDLIBS_RELEASE_dynamic= import32.lib cw32mti.lib --LDLIBS_DEBUG_dynamic= import32.lib cw32mti.lib --LDLIBS_STLDEBUG_dynamic= import32.lib cw32mti.lib -+LDLIBS_RELEASE_dynamic= import32.lib cw32i.lib -+LDLIBS_DEBUG_dynamic= import32.lib cw32i.lib -+LDLIBS_STLDEBUG_dynamic= import32.lib cw32i.lib - - --CXXFLAGS_RELEASE_static= $(FLAGS_COMMON_static) -O2 -n$(RELEASE_OBJDIR_static) -H -H=$(RELEASE_OBJDIR_static)$(PATH_SEP)stlport.csm --CXXFLAGS_DEBUG_static= $(FLAGS_COMMON_static) -v -N -x -xp -n$(DEBUG_OBJDIR_static) -H -H=$(DEBUG_OBJDIR_static)$(PATH_SEP)stlport.csm --CXXFLAGS_STLDEBUG_static= $(FLAGS_COMMON_static) -v -N -x -xp -n$(STLDEBUG_OBJDIR_static) -D__STL_DEBUG -H -H=$(STLDEBUG_OBJDIR_static)$(PATH_SEP)stlport.csm -- --CXXFLAGS_RELEASE_dynamic= $(FLAGS_COMMON_dynamic) -O2 -n$(RELEASE_OBJDIR_dynamic) -H -H=$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)stlport.csm --CXXFLAGS_DEBUG_dynamic= $(FLAGS_COMMON_dynamic) -v -N -x -xp -n$(DEBUG_OBJDIR_dynamic) -H -H=$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)stlport.csm --CXXFLAGS_STLDEBUG_dynamic= $(FLAGS_COMMON_dynamic) -v -N -x -xp -n$(STLDEBUG_OBJDIR_dynamic) -D__STL_DEBUG -H -H=$(STLDEBUG_OBJDIR_static)$(PATH_SEP)stlport.csm -+CXXFLAGS_RELEASE_static= $(FLAGS_COMMON_static) -O2 -n$(RELEASE_OBJDIR_static) -+CXXFLAGS_DEBUG_static= $(FLAGS_COMMON_static) -v -N -x -xp -n$(DEBUG_OBJDIR_static) -+CXXFLAGS_STLDEBUG_static= $(FLAGS_COMMON_static) -v -N -x -xp -n$(STLDEBUG_OBJDIR_static) -D_STLP_DEBUG -+ -+CXXFLAGS_RELEASE_dynamic= $(FLAGS_COMMON_dynamic) -O2 -n$(RELEASE_OBJDIR_dynamic) -+CXXFLAGS_DEBUG_dynamic= $(FLAGS_COMMON_dynamic) -v -N -x -xp -n$(DEBUG_OBJDIR_dynamic) -+CXXFLAGS_STLDEBUG_dynamic= $(FLAGS_COMMON_dynamic) -v -N -x -xp -n$(STLDEBUG_OBJDIR_dynamic) -D_STLP_DEBUG - - RELEASE_LINK_COMMANDS_static=\ - +$(RELEASE_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ -@@ -69,196 +81,111 @@ - +$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ - +$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ - +$(RELEASE_OBJDIR_static)$(PATH_SEP)dll_main.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)range_errors.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)string.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)ios_base.$(OBJEXT) \ - +$(RELEASE_OBJDIR_static)$(PATH_SEP)ios.$(OBJEXT) \ - +$(RELEASE_OBJDIR_static)$(PATH_SEP)streambuf.$(OBJEXT) \ - +$(RELEASE_OBJDIR_static)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ - +$(RELEASE_OBJDIR_static)$(PATH_SEP)iostream.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)istream.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)ostream.$(OBJEXT) \ - +$(RELEASE_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ - +$(RELEASE_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ - +$(RELEASE_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ - +$(RELEASE_OBJDIR_static)$(PATH_SEP)codecvt.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)codecvt_byname.$(OBJEXT) \ - +$(RELEASE_OBJDIR_static)$(PATH_SEP)collate.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)collate_byname.$(OBJEXT) \ - +$(RELEASE_OBJDIR_static)$(PATH_SEP)ctype.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)ctype_byname.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)message_facets.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)messages.$(OBJEXT) \ - +$(RELEASE_OBJDIR_static)$(PATH_SEP)monetary.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)money_get.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)money_put.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)moneypunct.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)moneypunct_byname.$(OBJEXT) \ - +$(RELEASE_OBJDIR_static)$(PATH_SEP)num_get.$(OBJEXT) \ - +$(RELEASE_OBJDIR_static)$(PATH_SEP)num_get_float.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)num_get_inst.$(OBJEXT) \ - +$(RELEASE_OBJDIR_static)$(PATH_SEP)num_put.$(OBJEXT) \ - +$(RELEASE_OBJDIR_static)$(PATH_SEP)num_put_float.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)num_put_inst.$(OBJEXT) \ - +$(RELEASE_OBJDIR_static)$(PATH_SEP)numpunct.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)numpunct_byname.$(OBJEXT) \ - +$(RELEASE_OBJDIR_static)$(PATH_SEP)time_facets.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)time_get.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)time_put.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)facets_byname.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)c_locale.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ - +$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_io_w.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)ctype_byname_w.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)fstream_w.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)codecvt_w.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)collate_byname_w.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)collate_w.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)ctype_w.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)ios_w.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)message_facets_w.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)money_get_w.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)money_put_w.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)moneypunct_byname_w.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)moneypunct_w.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)num_get_inst_w.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)num_put_inst_w.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)numpunct_w.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)time_get_w.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)time_put_w.$(OBJEXT) -++$(RELEASE_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) -+ - - DEBUG_LINK_COMMANDS_static= \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ - +$(DEBUG_OBJDIR_static)$(PATH_SEP)dll_main.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)range_errors.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)string.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)ios_base.$(OBJEXT) \ - +$(DEBUG_OBJDIR_static)$(PATH_SEP)ios.$(OBJEXT) \ - +$(DEBUG_OBJDIR_static)$(PATH_SEP)streambuf.$(OBJEXT) \ - +$(DEBUG_OBJDIR_static)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ - +$(DEBUG_OBJDIR_static)$(PATH_SEP)iostream.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)istream.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)ostream.$(OBJEXT) \ - +$(DEBUG_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ - +$(DEBUG_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ - +$(DEBUG_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ - +$(DEBUG_OBJDIR_static)$(PATH_SEP)codecvt.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)codecvt_byname.$(OBJEXT) \ - +$(DEBUG_OBJDIR_static)$(PATH_SEP)collate.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)collate_byname.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ - +$(DEBUG_OBJDIR_static)$(PATH_SEP)ctype.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)ctype_byname.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)message_facets.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)messages.$(OBJEXT) \ - +$(DEBUG_OBJDIR_static)$(PATH_SEP)monetary.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)money_get.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)money_put.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)moneypunct.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)moneypunct_byname.$(OBJEXT) \ - +$(DEBUG_OBJDIR_static)$(PATH_SEP)num_get.$(OBJEXT) \ - +$(DEBUG_OBJDIR_static)$(PATH_SEP)num_get_float.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)num_get_inst.$(OBJEXT) \ - +$(DEBUG_OBJDIR_static)$(PATH_SEP)num_put.$(OBJEXT) \ - +$(DEBUG_OBJDIR_static)$(PATH_SEP)num_put_float.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)num_put_inst.$(OBJEXT) \ - +$(DEBUG_OBJDIR_static)$(PATH_SEP)numpunct.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)numpunct_byname.$(OBJEXT) \ - +$(DEBUG_OBJDIR_static)$(PATH_SEP)time_facets.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)time_get.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)time_put.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)facets_byname.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)c_locale.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ - +$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_io_w.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)ctype_byname_w.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)fstream_w.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)codecvt_w.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)collate_byname_w.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)collate_w.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)ctype_w.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)ios_w.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)message_facets_w.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)money_get_w.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)money_put_w.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)moneypunct_byname_w.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)moneypunct_w.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)num_get_inst_w.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)num_put_inst_w.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)numpunct_w.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)time_get_w.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)time_put_w.$(OBJEXT) -++$(DEBUG_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) - - STLDEBUG_LINK_COMMANDS_static= \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ - +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)dll_main.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)range_errors.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)string.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ios_base.$(OBJEXT) \ - +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ios.$(OBJEXT) \ - +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)streambuf.$(OBJEXT) \ - +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ - +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)iostream.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)istream.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ostream.$(OBJEXT) \ - +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ - +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ - +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ - +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)codecvt.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)codecvt_byname.$(OBJEXT) \ - +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)collate.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)collate_byname.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ - +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ctype.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ctype_byname.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)message_facets.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)messages.$(OBJEXT) \ - +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)monetary.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)money_get.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)money_put.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)moneypunct.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)moneypunct_byname.$(OBJEXT) \ - +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_get.$(OBJEXT) \ - +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_get_float.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_get_inst.$(OBJEXT) \ - +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_put.$(OBJEXT) \ - +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_put_float.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_put_inst.$(OBJEXT) \ - +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)numpunct.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)numpunct_byname.$(OBJEXT) \ - +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)time_facets.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)time_get.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)time_put.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)facets_byname.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)c_locale.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ - +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_io_w.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)time_get_w.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ctype_byname_w.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)fstream_w.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)codecvt_w.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)collate_byname_w.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)collate_w.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ctype_w.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ios_w.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)message_facets_w.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)money_get_w.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)money_put_w.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)moneypunct_byname_w.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)moneypunct_w.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_get_inst_w.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_put_inst_w.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)numpunct_w.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)time_put_w.$(OBJEXT) -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) - - # - # Target directories - # - # - --$(OUTDIR) : -- $(MKDIR) $(OUTDIR) - $(RELEASE_OBJDIR_dynamic) : - $(MKDIR) $(RELEASE_OBJDIR_dynamic) - $(DEBUG_OBJDIR_dynamic) : -@@ -289,23 +216,27 @@ - -$(RM) $(OUTDIR)$(PATH_SEP)$(DEBUG_NAME).* \ - $(OUTDIR)$(PATH_SEP)$(RELEASE_NAME).* $(OUTDIR)$(PATH_SEP)$(STLDEBUG_NAME).* - -+#create a compiler platform directory -+platform: -+ -$(MKDIR) $(OBJDIR_COMMON) -+ -$(MKDIR) $(OBJDIR) - --$(OUTDIR)$(PATH_SEP)$(RELEASE_DYNLIB) : $(OUTDIR) $(RELEASE_OBJDIR_dynamic) $(DEF_FILE) $(RELEASE_OBJECTS_dynamic) -+$(OUTDIR)$(PATH_SEP)$(RELEASE_DYNLIB) : $(RELEASE_OBJDIR_dynamic) $(DEF_FILE) $(RELEASE_OBJECTS_dynamic) - $(DYN_LINK) $(LDFLAGS_RELEASE_dynamic) $(RELEASE_OBJECTS_dynamic) , $(OUTDIR)$(PATH_SEP)$(RELEASE_DYNLIB),,$(LDLIBS_RELEASE_dynamic) - --$(OUTDIR)$(PATH_SEP)$(DEBUG_DYNLIB) : $(OUTDIR) $(DEBUG_OBJDIR_dynamic) $(DEF_FILE) $(DEBUG_OBJECTS_dynamic) -+$(OUTDIR)$(PATH_SEP)$(DEBUG_DYNLIB) : $(DEBUG_OBJDIR_dynamic) $(DEF_FILE) $(DEBUG_OBJECTS_dynamic) - $(DYN_LINK) $(LDFLAGS_DEBUG_dynamic) $(DEBUG_OBJECTS_dynamic), $(DYNLINK_OUT)$(OUTDIR)$(PATH_SEP)$(DEBUG_DYNLIB) ,, $(LDLIBS_DEBUG_dynamic) - --$(OUTDIR)$(PATH_SEP)$(STLDEBUG_DYNLIB) : $(OUTDIR) $(STLDEBUG_OBJDIR_dynamic) $(DEF_FILE) $(STLDEBUG_OBJECTS_dynamic) -+$(OUTDIR)$(PATH_SEP)$(STLDEBUG_DYNLIB) : $(STLDEBUG_OBJDIR_dynamic) $(DEF_FILE) $(STLDEBUG_OBJECTS_dynamic) - $(DYN_LINK) $(LDFLAGS_STLDEBUG_dynamic) $(STLDEBUG_OBJECTS_dynamic) , $(DYNLINK_OUT)$(OUTDIR)$(PATH_SEP)$(STLDEBUG_DYNLIB) ,, $(LDLIBS_STLDEBUG_dynamic) - --$(OUTDIR)$(PATH_SEP)$(RELEASE_LIB) : $(OUTDIR) $(RELEASE_OBJDIR_static) $(DEF_FILE) $(RELEASE_OBJECTS_static) -+$(OUTDIR)$(PATH_SEP)$(RELEASE_LIB) : $(RELEASE_OBJDIR_static) $(DEF_FILE) $(RELEASE_OBJECTS_static) - $(LINK) $(OUTDIR)$(PATH_SEP)$(RELEASE_LIB) $(RELEASE_LINK_COMMANDS_static) - --$(OUTDIR)$(PATH_SEP)$(DEBUG_LIB) : $(OUTDIR) $(DEBUG_OBJDIR_static) $(DEF_FILE) $(DEBUG_OBJECTS_static) -+$(OUTDIR)$(PATH_SEP)$(DEBUG_LIB) : $(DEBUG_OBJDIR_static) $(DEF_FILE) $(DEBUG_OBJECTS_static) - $(LINK) $(OUTDIR)$(PATH_SEP)$(DEBUG_LIB) $(DEBUG_LINK_COMMANDS_static) - --$(OUTDIR)$(PATH_SEP)$(STLDEBUG_LIB) : $(OUTDIR) $(STLDEBUG_OBJDIR_static) $(DEF_FILE) $(STLDEBUG_OBJECTS_static) -+$(OUTDIR)$(PATH_SEP)$(STLDEBUG_LIB) : $(STLDEBUG_OBJDIR_static) $(DEF_FILE) $(STLDEBUG_OBJECTS_static) - $(LINK) $(OUTDIR)$(PATH_SEP)$(STLDEBUG_LIB) $(STLDEBUG_LINK_COMMANDS_static) - - ######################################### -@@ -315,7 +246,7 @@ - !include nmake_common.mak - - .cpp.i: -- $(CPP) $(CXXFLAGS_RELEASE_dynamic) -n. -Sr -Ss -Sd {$< } -+ $(CPP) $(CXXFLAGS_DEBUG_dynamic) -n. -Sr -Ss -Sd {$< } - - # --------------------------------------------------------------------------- - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/bcb55.mak tripwire-2.3.1-2/src/STLport-4.0/src/bcb55.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/bcb55.mak Sat Feb 24 10:44:05 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/bcb55.mak Sun Aug 11 18:59:22 2002 -@@ -1,39 +1,50 @@ - # --------------------------------------------------------------------------- - -+!if !$d(BCB) -+BCB = $(MAKEDIR)\.. -+!endif -+ - CPP=cpp32 - CC=bcc32 -P - CXX=bcc32 - - RC=brc32 --COMP=BCB55 -+COMP=BCB - --LIB_BASENAME=stlport_bcb55 -+LIB_BASENAME=stlp - - # --------------------------------------------------------------------------- - - LINK_OUT= - DYNLINK_OUT= --LINK = tlib /P128 --DYN_LINK = ilink32 -+LINK = tlib /P256 -+# Use objs in RTL build tree -+DYN_LINK = ilink32 -L$(BCB)\lib - OBJEXT=obj - DYNEXT=dll - STEXT=lib --RM=-rd /S /Q -+# We use 4NT, which does not know about /Q -+#RM=-rd /S /Q -+RM=-rd /S - PATH_SEP=\\ --MKDIR=-mkdir --STATIC_SUFFIX=_static --INSTALL_STEP=do_install -+MKDIR=-md -+STATIC_SUFFIX=st -+INSTALL_STEP=install_bc - - all : platform all_dynamic all_static -- --!include common_macros.mak - --DYNAMIC_DEFS=_RTLDLL;_DLL --STATIC_DEFS=_LIB -+!include common_macros_windows.mak -+ -+#RM=-rd /S /Q -+RM=-rd /S -+MKDIR=-md -+ -+DYNAMIC_DEFS=_RTLDLL;_WIN32;_DLL;_STLP_DESIGNATED_DLL -+STATIC_DEFS=_LIB;_WIN32;_STLP_NO_FORCE_INSTANTIATE - - LINKSTARTUP= c0d32.obj - --FLAGS_COMMON= -I.;..\stlport;$(BCB)\include -jb -j1 -w -c -w-par -w-inl -tWM -w-stl -+FLAGS_COMMON= -I.;..\stlport;$(BCB)\include;$(BCB)\include\windows -jb -j1 -w -c -w-par -w-inl -w-stl - FLAGS_COMMON_static = $(FLAGS_COMMON) -D$(SYSDEFINES);$(USERDEFINES);$(STATIC_DEFS) - FLAGS_COMMON_dynamic = $(FLAGS_COMMON) -D$(SYSDEFINES);$(USERDEFINES);$(DYNAMIC_DEFS) -tWDR - -@@ -51,18 +62,18 @@ - LDFLAGS_DEBUG_dynamic= $(LDFLAGS_COMMON_dynamic) $(LINKSTARTUP) - LDFLAGS_STLDEBUG_dynamic= $(LDFLAGS_COMMON_dynamic) $(LINKSTARTUP) - --LDLIBS_RELEASE_dynamic= import32.lib cw32mti.lib --LDLIBS_DEBUG_dynamic= import32.lib cw32mti.lib --LDLIBS_STLDEBUG_dynamic= import32.lib cw32mti.lib -+LDLIBS_RELEASE_dynamic= import32.lib cw32i.lib -+LDLIBS_DEBUG_dynamic= import32.lib cw32i.lib -+LDLIBS_STLDEBUG_dynamic= import32.lib cw32i.lib - - - CXXFLAGS_RELEASE_static= $(FLAGS_COMMON_static) -O2 -n$(RELEASE_OBJDIR_static) - CXXFLAGS_DEBUG_static= $(FLAGS_COMMON_static) -v -N -x -xp -n$(DEBUG_OBJDIR_static) --CXXFLAGS_STLDEBUG_static= $(FLAGS_COMMON_static) -v -N -x -xp -n$(STLDEBUG_OBJDIR_static) -D__STL_DEBUG -+CXXFLAGS_STLDEBUG_static= $(FLAGS_COMMON_static) -v -N -x -xp -n$(STLDEBUG_OBJDIR_static) -D_STLP_DEBUG - - CXXFLAGS_RELEASE_dynamic= $(FLAGS_COMMON_dynamic) -O2 -n$(RELEASE_OBJDIR_dynamic) - CXXFLAGS_DEBUG_dynamic= $(FLAGS_COMMON_dynamic) -v -N -x -xp -n$(DEBUG_OBJDIR_dynamic) --CXXFLAGS_STLDEBUG_dynamic= $(FLAGS_COMMON_dynamic) -v -N -x -xp -n$(STLDEBUG_OBJDIR_dynamic) -D__STL_DEBUG -+CXXFLAGS_STLDEBUG_dynamic= $(FLAGS_COMMON_dynamic) -v -N -x -xp -n$(STLDEBUG_OBJDIR_dynamic) -D_STLP_DEBUG - - RELEASE_LINK_COMMANDS_static=\ - +$(RELEASE_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ -@@ -70,196 +81,111 @@ - +$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ - +$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ - +$(RELEASE_OBJDIR_static)$(PATH_SEP)dll_main.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)range_errors.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)string.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)ios_base.$(OBJEXT) \ - +$(RELEASE_OBJDIR_static)$(PATH_SEP)ios.$(OBJEXT) \ - +$(RELEASE_OBJDIR_static)$(PATH_SEP)streambuf.$(OBJEXT) \ - +$(RELEASE_OBJDIR_static)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ - +$(RELEASE_OBJDIR_static)$(PATH_SEP)iostream.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)istream.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)ostream.$(OBJEXT) \ - +$(RELEASE_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ - +$(RELEASE_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ - +$(RELEASE_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ - +$(RELEASE_OBJDIR_static)$(PATH_SEP)codecvt.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)codecvt_byname.$(OBJEXT) \ - +$(RELEASE_OBJDIR_static)$(PATH_SEP)collate.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)collate_byname.$(OBJEXT) \ - +$(RELEASE_OBJDIR_static)$(PATH_SEP)ctype.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)ctype_byname.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)message_facets.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)messages.$(OBJEXT) \ - +$(RELEASE_OBJDIR_static)$(PATH_SEP)monetary.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)money_get.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)money_put.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)moneypunct.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)moneypunct_byname.$(OBJEXT) \ - +$(RELEASE_OBJDIR_static)$(PATH_SEP)num_get.$(OBJEXT) \ - +$(RELEASE_OBJDIR_static)$(PATH_SEP)num_get_float.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)num_get_inst.$(OBJEXT) \ - +$(RELEASE_OBJDIR_static)$(PATH_SEP)num_put.$(OBJEXT) \ - +$(RELEASE_OBJDIR_static)$(PATH_SEP)num_put_float.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)num_put_inst.$(OBJEXT) \ - +$(RELEASE_OBJDIR_static)$(PATH_SEP)numpunct.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)numpunct_byname.$(OBJEXT) \ - +$(RELEASE_OBJDIR_static)$(PATH_SEP)time_facets.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)time_get.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)time_put.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)facets_byname.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)c_locale.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ - +$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_io_w.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)ctype_byname_w.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)fstream_w.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)codecvt_w.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)collate_byname_w.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)collate_w.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)ctype_w.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)ios_w.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)message_facets_w.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)money_get_w.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)money_put_w.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)moneypunct_byname_w.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)moneypunct_w.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)num_get_inst_w.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)num_put_inst_w.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)numpunct_w.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)time_get_w.$(OBJEXT) \ --+$(RELEASE_OBJDIR_static)$(PATH_SEP)time_put_w.$(OBJEXT) -++$(RELEASE_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) -+ - - DEBUG_LINK_COMMANDS_static= \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ - +$(DEBUG_OBJDIR_static)$(PATH_SEP)dll_main.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)range_errors.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)string.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)ios_base.$(OBJEXT) \ - +$(DEBUG_OBJDIR_static)$(PATH_SEP)ios.$(OBJEXT) \ - +$(DEBUG_OBJDIR_static)$(PATH_SEP)streambuf.$(OBJEXT) \ - +$(DEBUG_OBJDIR_static)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ - +$(DEBUG_OBJDIR_static)$(PATH_SEP)iostream.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)istream.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)ostream.$(OBJEXT) \ - +$(DEBUG_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ - +$(DEBUG_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ - +$(DEBUG_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ - +$(DEBUG_OBJDIR_static)$(PATH_SEP)codecvt.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)codecvt_byname.$(OBJEXT) \ - +$(DEBUG_OBJDIR_static)$(PATH_SEP)collate.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)collate_byname.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ - +$(DEBUG_OBJDIR_static)$(PATH_SEP)ctype.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)ctype_byname.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)message_facets.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)messages.$(OBJEXT) \ - +$(DEBUG_OBJDIR_static)$(PATH_SEP)monetary.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)money_get.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)money_put.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)moneypunct.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)moneypunct_byname.$(OBJEXT) \ - +$(DEBUG_OBJDIR_static)$(PATH_SEP)num_get.$(OBJEXT) \ - +$(DEBUG_OBJDIR_static)$(PATH_SEP)num_get_float.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)num_get_inst.$(OBJEXT) \ - +$(DEBUG_OBJDIR_static)$(PATH_SEP)num_put.$(OBJEXT) \ - +$(DEBUG_OBJDIR_static)$(PATH_SEP)num_put_float.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)num_put_inst.$(OBJEXT) \ - +$(DEBUG_OBJDIR_static)$(PATH_SEP)numpunct.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)numpunct_byname.$(OBJEXT) \ - +$(DEBUG_OBJDIR_static)$(PATH_SEP)time_facets.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)time_get.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)time_put.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)facets_byname.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)c_locale.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ - +$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_io_w.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)ctype_byname_w.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)fstream_w.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)codecvt_w.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)collate_byname_w.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)collate_w.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)ctype_w.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)ios_w.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)message_facets_w.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)money_get_w.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)money_put_w.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)moneypunct_byname_w.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)moneypunct_w.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)num_get_inst_w.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)num_put_inst_w.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)numpunct_w.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)time_get_w.$(OBJEXT) \ --+$(DEBUG_OBJDIR_static)$(PATH_SEP)time_put_w.$(OBJEXT) -++$(DEBUG_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) - - STLDEBUG_LINK_COMMANDS_static= \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ - +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)dll_main.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)range_errors.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)string.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ios_base.$(OBJEXT) \ - +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ios.$(OBJEXT) \ - +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)streambuf.$(OBJEXT) \ - +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ - +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)iostream.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)istream.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ostream.$(OBJEXT) \ - +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ - +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ - +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ - +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)codecvt.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)codecvt_byname.$(OBJEXT) \ - +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)collate.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)collate_byname.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ - +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ctype.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ctype_byname.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)message_facets.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)messages.$(OBJEXT) \ - +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)monetary.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)money_get.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)money_put.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)moneypunct.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)moneypunct_byname.$(OBJEXT) \ - +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_get.$(OBJEXT) \ - +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_get_float.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_get_inst.$(OBJEXT) \ - +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_put.$(OBJEXT) \ - +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_put_float.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_put_inst.$(OBJEXT) \ - +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)numpunct.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)numpunct_byname.$(OBJEXT) \ - +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)time_facets.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)time_get.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)time_put.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)facets_byname.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)c_locale.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ - +$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_io_w.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)time_get_w.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ctype_byname_w.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)fstream_w.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)codecvt_w.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)collate_byname_w.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)collate_w.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ctype_w.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ios_w.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)message_facets_w.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)money_get_w.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)money_put_w.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)moneypunct_byname_w.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)moneypunct_w.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_get_inst_w.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_put_inst_w.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)numpunct_w.$(OBJEXT) \ --+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)time_put_w.$(OBJEXT) -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) - - # - # Target directories - # - # - --$(OUTDIR) : -- $(MKDIR) $(OUTDIR) - $(RELEASE_OBJDIR_dynamic) : - $(MKDIR) $(RELEASE_OBJDIR_dynamic) - $(DEBUG_OBJDIR_dynamic) : -@@ -290,27 +216,27 @@ - -$(RM) $(OUTDIR)$(PATH_SEP)$(DEBUG_NAME).* \ - $(OUTDIR)$(PATH_SEP)$(RELEASE_NAME).* $(OUTDIR)$(PATH_SEP)$(STLDEBUG_NAME).* - -- -+#create a compiler platform directory - platform: -- -@$(MKDIR) obj -- -@$(MKDIR) obj$(PATH_SEP)$(COMP) -+ -$(MKDIR) $(OBJDIR_COMMON) -+ -$(MKDIR) $(OBJDIR) - --$(OUTDIR)$(PATH_SEP)$(RELEASE_DYNLIB) : $(OUTDIR) $(RELEASE_OBJDIR_dynamic) $(DEF_FILE) $(RELEASE_OBJECTS_dynamic) -+$(OUTDIR)$(PATH_SEP)$(RELEASE_DYNLIB) : $(RELEASE_OBJDIR_dynamic) $(DEF_FILE) $(RELEASE_OBJECTS_dynamic) - $(DYN_LINK) $(LDFLAGS_RELEASE_dynamic) $(RELEASE_OBJECTS_dynamic) , $(OUTDIR)$(PATH_SEP)$(RELEASE_DYNLIB),,$(LDLIBS_RELEASE_dynamic) - --$(OUTDIR)$(PATH_SEP)$(DEBUG_DYNLIB) : $(OUTDIR) $(DEBUG_OBJDIR_dynamic) $(DEF_FILE) $(DEBUG_OBJECTS_dynamic) -+$(OUTDIR)$(PATH_SEP)$(DEBUG_DYNLIB) : $(DEBUG_OBJDIR_dynamic) $(DEF_FILE) $(DEBUG_OBJECTS_dynamic) - $(DYN_LINK) $(LDFLAGS_DEBUG_dynamic) $(DEBUG_OBJECTS_dynamic), $(DYNLINK_OUT)$(OUTDIR)$(PATH_SEP)$(DEBUG_DYNLIB) ,, $(LDLIBS_DEBUG_dynamic) - --$(OUTDIR)$(PATH_SEP)$(STLDEBUG_DYNLIB) : $(OUTDIR) $(STLDEBUG_OBJDIR_dynamic) $(DEF_FILE) $(STLDEBUG_OBJECTS_dynamic) -+$(OUTDIR)$(PATH_SEP)$(STLDEBUG_DYNLIB) : $(STLDEBUG_OBJDIR_dynamic) $(DEF_FILE) $(STLDEBUG_OBJECTS_dynamic) - $(DYN_LINK) $(LDFLAGS_STLDEBUG_dynamic) $(STLDEBUG_OBJECTS_dynamic) , $(DYNLINK_OUT)$(OUTDIR)$(PATH_SEP)$(STLDEBUG_DYNLIB) ,, $(LDLIBS_STLDEBUG_dynamic) - --$(OUTDIR)$(PATH_SEP)$(RELEASE_LIB) : $(OUTDIR) $(RELEASE_OBJDIR_static) $(DEF_FILE) $(RELEASE_OBJECTS_static) -+$(OUTDIR)$(PATH_SEP)$(RELEASE_LIB) : $(RELEASE_OBJDIR_static) $(DEF_FILE) $(RELEASE_OBJECTS_static) - $(LINK) $(OUTDIR)$(PATH_SEP)$(RELEASE_LIB) $(RELEASE_LINK_COMMANDS_static) - --$(OUTDIR)$(PATH_SEP)$(DEBUG_LIB) : $(OUTDIR) $(DEBUG_OBJDIR_static) $(DEF_FILE) $(DEBUG_OBJECTS_static) -+$(OUTDIR)$(PATH_SEP)$(DEBUG_LIB) : $(DEBUG_OBJDIR_static) $(DEF_FILE) $(DEBUG_OBJECTS_static) - $(LINK) $(OUTDIR)$(PATH_SEP)$(DEBUG_LIB) $(DEBUG_LINK_COMMANDS_static) - --$(OUTDIR)$(PATH_SEP)$(STLDEBUG_LIB) : $(OUTDIR) $(STLDEBUG_OBJDIR_static) $(DEF_FILE) $(STLDEBUG_OBJECTS_static) -+$(OUTDIR)$(PATH_SEP)$(STLDEBUG_LIB) : $(STLDEBUG_OBJDIR_static) $(DEF_FILE) $(STLDEBUG_OBJECTS_static) - $(LINK) $(OUTDIR)$(PATH_SEP)$(STLDEBUG_LIB) $(STLDEBUG_LINK_COMMANDS_static) - - ######################################### -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/bcb60.mak tripwire-2.3.1-2/src/STLport-4.0/src/bcb60.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/bcb60.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/bcb60.mak Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,254 @@ -+# --------------------------------------------------------------------------- -+ -+!if !$d(BCB) -+BCB = $(MAKEDIR)\.. -+!endif -+ -+CPP=cpp32 -+CC=bcc32 -P -+CXX=bcc32 -+ -+RC=brc32 -+COMP=BCB -+ -+LIB_BASENAME=stlp -+ -+# --------------------------------------------------------------------------- -+ -+LINK_OUT= -+DYNLINK_OUT= -+LINK = tlib /P256 -+# Use objs in RTL build tree -+DYN_LINK = ilink32 -L$(BCB)\lib -+OBJEXT=obj -+DYNEXT=dll -+STEXT=lib -+# We use 4NT, which does not know about /Q -+#RM=-rd /S /Q -+RM=-rd /S -+PATH_SEP=\\ -+MKDIR=-md -+STATIC_SUFFIX=st -+INSTALL_STEP=install_bc -+ -+all : platform all_dynamic all_static -+ -+!include common_macros_windows.mak -+ -+#RM=-rd /S /Q -+RM=-rd /S -+MKDIR=-md -+ -+DYNAMIC_DEFS=_RTLDLL;_WIN32;_DLL;_STLP_DESIGNATED_DLL -+STATIC_DEFS=_LIB;_WIN32;_STLP_NO_FORCE_INSTANTIATE -+ -+LINKSTARTUP= c0d32.obj -+ -+FLAGS_COMMON= -I.;..\stlport;$(BCB)\include;$(BCB)\include\windows -jb -j1 -w -c -w-par -w-inl -w-stl -D_STLP_DONT_REDEFINE_STD -+ -+FLAGS_COMMON_static = $(FLAGS_COMMON) -D$(SYSDEFINES);$(USERDEFINES);$(STATIC_DEFS) -+FLAGS_COMMON_dynamic = $(FLAGS_COMMON) -D$(SYSDEFINES);$(USERDEFINES);$(DYNAMIC_DEFS) -tWDR -+ -+# -L$(MAKEDIR)\..\lib removed ...it should get ilink32.cfg values instead -+LDFLAGS_COMMON=-Gn -Gi -Tpd -aa -x -+LDFLAGS_COMMON_static= $(LDFLAGS_COMMON) -+LDFLAGS_COMMON_dynamic= $(LDFLAGS_COMMON) -+ -+ -+LDFLAGS_RELEASE_static= $(LDFLAGS_COMMON_static) $(LINKSTARTUP) -+LDFLAGS_DEBUG_static= $(LDFLAGS_COMMON_static) $(LINKSTARTUP) -+LDFLAGS_STLDEBUG_static= $(LDFLAGS_COMMON_static) $(LINKSTARTUP) -+ -+LDFLAGS_RELEASE_dynamic= $(LDFLAGS_COMMON_dynamic) $(LINKSTARTUP) -+LDFLAGS_DEBUG_dynamic= $(LDFLAGS_COMMON_dynamic) $(LINKSTARTUP) -+LDFLAGS_STLDEBUG_dynamic= $(LDFLAGS_COMMON_dynamic) $(LINKSTARTUP) -+ -+LDLIBS_RELEASE_dynamic= import32.lib cw32i.lib -+LDLIBS_DEBUG_dynamic= import32.lib cw32i.lib -+LDLIBS_STLDEBUG_dynamic= import32.lib cw32i.lib -+ -+ -+CXXFLAGS_RELEASE_static= $(FLAGS_COMMON_static) -O2 -n$(RELEASE_OBJDIR_static) -+CXXFLAGS_DEBUG_static= $(FLAGS_COMMON_static) -v -N -x -xp -n$(DEBUG_OBJDIR_static) -+CXXFLAGS_STLDEBUG_static= $(FLAGS_COMMON_static) -v -N -x -xp -n$(STLDEBUG_OBJDIR_static) -D_STLP_DEBUG -+ -+CXXFLAGS_RELEASE_dynamic= $(FLAGS_COMMON_dynamic) -O2 -n$(RELEASE_OBJDIR_dynamic) -+CXXFLAGS_DEBUG_dynamic= $(FLAGS_COMMON_dynamic) -v -N -x -xp -n$(DEBUG_OBJDIR_dynamic) -+CXXFLAGS_STLDEBUG_dynamic= $(FLAGS_COMMON_dynamic) -v -N -x -xp -n$(STLDEBUG_OBJDIR_dynamic) -D_STLP_DEBUG -+ -+RELEASE_LINK_COMMANDS_static=\ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)dll_main.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)ios.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)streambuf.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)iostream.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)istream.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)ostream.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)codecvt.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)collate.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)ctype.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)messages.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)monetary.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)num_get.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)num_get_float.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)num_put.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)num_put_float.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)numpunct.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)time_facets.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)facets_byname.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)c_locale.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_io_w.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) -+ -+ -+DEBUG_LINK_COMMANDS_static= \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)dll_main.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)ios.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)streambuf.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)iostream.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)istream.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)ostream.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)codecvt.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)collate.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)ctype.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)messages.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)monetary.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)num_get.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)num_get_float.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)num_put.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)num_put_float.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)numpunct.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)time_facets.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)facets_byname.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)c_locale.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_io_w.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) -+ -+STLDEBUG_LINK_COMMANDS_static= \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)dll_main.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ios.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)streambuf.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)iostream.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)istream.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ostream.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)codecvt.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)collate.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ctype.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)messages.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)monetary.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_get.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_get_float.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_put.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_put_float.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)numpunct.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)time_facets.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)facets_byname.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)c_locale.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_io_w.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) -+ -+# -+# Target directories -+# -+# -+ -+$(RELEASE_OBJDIR_dynamic) : -+ $(MKDIR) $(RELEASE_OBJDIR_dynamic) -+$(DEBUG_OBJDIR_dynamic) : -+ $(MKDIR) $(DEBUG_OBJDIR_dynamic) -+$(STLDEBUG_OBJDIR_dynamic) : -+ $(MKDIR) $(STLDEBUG_OBJDIR_dynamic) -+$(RELEASE_OBJDIR_static) : -+ $(MKDIR) $(RELEASE_OBJDIR_static) -+$(DEBUG_OBJDIR_static) : -+ $(MKDIR) $(DEBUG_OBJDIR_static) -+$(STLDEBUG_OBJDIR_static) : -+ $(MKDIR) $(STLDEBUG_OBJDIR_static) -+ -+###### Targets ################## -+ -+all_static : $(ALL_STATIC_LIBS) -+ -+all_dynamic : $(ALL_DYNAMIC_LIBS) -+ -+install : $(INSTALL_STEP) -+ -+clean : $(CLEAN_SPECIFIC) -+ -$(RM) $(RELEASE_OBJDIR_static) $(DEBUG_OBJDIR_static) \ -+ $(STLDEBUG_OBJDIR_static) $(RELEASE_OBJDIR_dynamic) \ -+ $(DEBUG_OBJDIR_dynamic) $(STLDEBUG_OBJDIR_dynamic) -+ -+clobber : clean -+ -$(RM) $(OUTDIR)$(PATH_SEP)$(DEBUG_NAME).* \ -+ $(OUTDIR)$(PATH_SEP)$(RELEASE_NAME).* $(OUTDIR)$(PATH_SEP)$(STLDEBUG_NAME).* -+ -+#create a compiler platform directory -+platform: -+ -$(MKDIR) $(OBJDIR_COMMON) -+ -$(MKDIR) $(OBJDIR) -+ -+$(OUTDIR)$(PATH_SEP)$(RELEASE_DYNLIB) : $(RELEASE_OBJDIR_dynamic) $(DEF_FILE) $(RELEASE_OBJECTS_dynamic) -+ $(DYN_LINK) $(LDFLAGS_RELEASE_dynamic) $(RELEASE_OBJECTS_dynamic) , $(OUTDIR)$(PATH_SEP)$(RELEASE_DYNLIB),,$(LDLIBS_RELEASE_dynamic) -+ -+$(OUTDIR)$(PATH_SEP)$(DEBUG_DYNLIB) : $(DEBUG_OBJDIR_dynamic) $(DEF_FILE) $(DEBUG_OBJECTS_dynamic) -+ $(DYN_LINK) $(LDFLAGS_DEBUG_dynamic) $(DEBUG_OBJECTS_dynamic), $(DYNLINK_OUT)$(OUTDIR)$(PATH_SEP)$(DEBUG_DYNLIB) ,, $(LDLIBS_DEBUG_dynamic) -+ -+$(OUTDIR)$(PATH_SEP)$(STLDEBUG_DYNLIB) : $(STLDEBUG_OBJDIR_dynamic) $(DEF_FILE) $(STLDEBUG_OBJECTS_dynamic) -+ $(DYN_LINK) $(LDFLAGS_STLDEBUG_dynamic) $(STLDEBUG_OBJECTS_dynamic) , $(DYNLINK_OUT)$(OUTDIR)$(PATH_SEP)$(STLDEBUG_DYNLIB) ,, $(LDLIBS_STLDEBUG_dynamic) -+ -+$(OUTDIR)$(PATH_SEP)$(RELEASE_LIB) : $(RELEASE_OBJDIR_static) $(DEF_FILE) $(RELEASE_OBJECTS_static) -+ $(LINK) $(OUTDIR)$(PATH_SEP)$(RELEASE_LIB) $(RELEASE_LINK_COMMANDS_static) -+ -+$(OUTDIR)$(PATH_SEP)$(DEBUG_LIB) : $(DEBUG_OBJDIR_static) $(DEF_FILE) $(DEBUG_OBJECTS_static) -+ $(LINK) $(OUTDIR)$(PATH_SEP)$(DEBUG_LIB) $(DEBUG_LINK_COMMANDS_static) -+ -+$(OUTDIR)$(PATH_SEP)$(STLDEBUG_LIB) : $(STLDEBUG_OBJDIR_static) $(DEF_FILE) $(STLDEBUG_OBJECTS_static) -+ $(LINK) $(OUTDIR)$(PATH_SEP)$(STLDEBUG_LIB) $(STLDEBUG_LINK_COMMANDS_static) -+ -+######################################### -+ -+# --------------------------------------------------------------------------- -+ -+!include nmake_common.mak -+ -+.cpp.i: -+ $(CPP) $(FLAGS_COMMON_static) -n. -Sr -Ss -Sd {$< } -+ -+# --------------------------------------------------------------------------- -+ -+# --------------------------------------------------------------------------- -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/bcb60mt.mak tripwire-2.3.1-2/src/STLport-4.0/src/bcb60mt.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/bcb60mt.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/bcb60mt.mak Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,253 @@ -+# --------------------------------------------------------------------------- -+ -+!if !$d(BCB) -+BCB = $(MAKEDIR)\.. -+!endif -+ -+CPP=cpp32 -+CC=bcc32 -P -+CXX=bcc32 -+ -+RC=brc32 -+COMP=BCB60MT -+ -+LIB_BASENAME=stlpmt -+ -+# --------------------------------------------------------------------------- -+ -+LINK_OUT= -+DYNLINK_OUT= -+LINK = tlib /P256 -+# Use objs in RTL build tree -+DYN_LINK = ilink32 -L$(BCB)\..\lib -+OBJEXT=obj -+DYNEXT=dll -+STEXT=lib -+# We use 4NT, which does not know about /Q -+#RM=-rd /S /Q -+RM=-rd /S -+PATH_SEP=\\ -+MKDIR=-md /S -+STATIC_SUFFIX=st -+INSTALL_STEP=install_bc -+ -+all : platform all_dynamic all_static -+ -+!include common_macros_windows.mak -+ -+#RM=-rd /S /Q -+RM=-rd /S -+MKDIR=-md /S -+ -+DYNAMIC_DEFS=_RTLDLL;_WIN32;_DLL;_STLP_DESIGNATED_DLL -+STATIC_DEFS=_LIB;_WIN32;_STLP_NO_FORCE_INSTANTIATE -+ -+LINKSTARTUP= c0d32.obj -+ -+FLAGS_COMMON= -I.;..\stlport;$(BCB)\include;$(BCB)\include\windows -jb -j1 -w -c -w-par -w-inl -tWM -w-stl -+FLAGS_COMMON_static = $(FLAGS_COMMON) -D$(SYSDEFINES);$(USERDEFINES);$(STATIC_DEFS) -+FLAGS_COMMON_dynamic = $(FLAGS_COMMON) -D$(SYSDEFINES);$(USERDEFINES);$(DYNAMIC_DEFS) -tWDR -+ -+# -L$(MAKEDIR)\..\lib removed ...it should get ilink32.cfg values instead -+LDFLAGS_COMMON=-Gn -Gi -Tpd -aa -x -+LDFLAGS_COMMON_static= $(LDFLAGS_COMMON) -+LDFLAGS_COMMON_dynamic= $(LDFLAGS_COMMON) -+ -+ -+LDFLAGS_RELEASE_static= $(LDFLAGS_COMMON_static) $(LINKSTARTUP) -+LDFLAGS_DEBUG_static= $(LDFLAGS_COMMON_static) $(LINKSTARTUP) -+LDFLAGS_STLDEBUG_static= $(LDFLAGS_COMMON_static) $(LINKSTARTUP) -+ -+LDFLAGS_RELEASE_dynamic= $(LDFLAGS_COMMON_dynamic) $(LINKSTARTUP) -+LDFLAGS_DEBUG_dynamic= $(LDFLAGS_COMMON_dynamic) $(LINKSTARTUP) -+LDFLAGS_STLDEBUG_dynamic= $(LDFLAGS_COMMON_dynamic) $(LINKSTARTUP) -+ -+LDLIBS_RELEASE_dynamic= import32.lib cw32mti.lib -+LDLIBS_DEBUG_dynamic= import32.lib cw32mti.lib -+LDLIBS_STLDEBUG_dynamic= import32.lib cw32mti.lib -+ -+ -+CXXFLAGS_RELEASE_static= $(FLAGS_COMMON_static) -O2 -n$(RELEASE_OBJDIR_static) -+CXXFLAGS_DEBUG_static= $(FLAGS_COMMON_static) -v -N -x -xp -n$(DEBUG_OBJDIR_static) -+CXXFLAGS_STLDEBUG_static= $(FLAGS_COMMON_static) -v -N -x -xp -n$(STLDEBUG_OBJDIR_static) -D_STLP_DEBUG -+ -+CXXFLAGS_RELEASE_dynamic= $(FLAGS_COMMON_dynamic) -O2 -n$(RELEASE_OBJDIR_dynamic) -+CXXFLAGS_DEBUG_dynamic= $(FLAGS_COMMON_dynamic) -v -N -x -xp -n$(DEBUG_OBJDIR_dynamic) -+CXXFLAGS_STLDEBUG_dynamic= $(FLAGS_COMMON_dynamic) -v -N -x -xp -n$(STLDEBUG_OBJDIR_dynamic) -D_STLP_DEBUG -+ -+RELEASE_LINK_COMMANDS_static=\ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)dll_main.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)ios.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)streambuf.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)iostream.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)istream.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)ostream.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)codecvt.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)collate.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)ctype.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)messages.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)monetary.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)num_get.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)num_get_float.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)num_put.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)num_put_float.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)numpunct.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)time_facets.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)facets_byname.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)c_locale.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_io_w.$(OBJEXT) \ -++$(RELEASE_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) -+ -+ -+DEBUG_LINK_COMMANDS_static= \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)dll_main.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)ios.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)streambuf.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)iostream.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)istream.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)ostream.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)codecvt.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)collate.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)ctype.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)messages.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)monetary.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)num_get.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)num_get_float.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)num_put.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)num_put_float.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)numpunct.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)time_facets.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)facets_byname.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)c_locale.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_io_w.$(OBJEXT) \ -++$(DEBUG_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) -+ -+STLDEBUG_LINK_COMMANDS_static= \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)dll_main.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ios.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)streambuf.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)iostream.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)istream.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ostream.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)codecvt.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)collate.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ctype.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)messages.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)monetary.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_get.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_get_float.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_put.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_put_float.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)numpunct.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)time_facets.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)facets_byname.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)c_locale.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_io_w.$(OBJEXT) \ -++$(STLDEBUG_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) -+ -+# -+# Target directories -+# -+# -+ -+$(RELEASE_OBJDIR_dynamic) : -+ $(MKDIR) $(RELEASE_OBJDIR_dynamic) -+$(DEBUG_OBJDIR_dynamic) : -+ $(MKDIR) $(DEBUG_OBJDIR_dynamic) -+$(STLDEBUG_OBJDIR_dynamic) : -+ $(MKDIR) $(STLDEBUG_OBJDIR_dynamic) -+$(RELEASE_OBJDIR_static) : -+ $(MKDIR) $(RELEASE_OBJDIR_static) -+$(DEBUG_OBJDIR_static) : -+ $(MKDIR) $(DEBUG_OBJDIR_static) -+$(STLDEBUG_OBJDIR_static) : -+ $(MKDIR) $(STLDEBUG_OBJDIR_static) -+ -+###### Targets ################## -+ -+all_static : $(ALL_STATIC_LIBS) -+ -+all_dynamic : $(ALL_DYNAMIC_LIBS) -+ -+install : $(INSTALL_STEP) -+ -+clean : $(CLEAN_SPECIFIC) -+ -$(RM) $(RELEASE_OBJDIR_static) $(DEBUG_OBJDIR_static) \ -+ $(STLDEBUG_OBJDIR_static) $(RELEASE_OBJDIR_dynamic) \ -+ $(DEBUG_OBJDIR_dynamic) $(STLDEBUG_OBJDIR_dynamic) -+ -+clobber : clean -+ -$(RM) $(OUTDIR)$(PATH_SEP)$(DEBUG_NAME).* \ -+ $(OUTDIR)$(PATH_SEP)$(RELEASE_NAME).* $(OUTDIR)$(PATH_SEP)$(STLDEBUG_NAME).* -+ -+#create a compiler platform directory -+platform: -+ -$(MKDIR) $(OBJDIR_COMMON) -+ -$(MKDIR) $(OBJDIR) -+ -+$(OUTDIR)$(PATH_SEP)$(RELEASE_DYNLIB) : $(RELEASE_OBJDIR_dynamic) $(DEF_FILE) $(RELEASE_OBJECTS_dynamic) -+ $(DYN_LINK) $(LDFLAGS_RELEASE_dynamic) $(RELEASE_OBJECTS_dynamic) , $(OUTDIR)$(PATH_SEP)$(RELEASE_DYNLIB),,$(LDLIBS_RELEASE_dynamic) -+ -+$(OUTDIR)$(PATH_SEP)$(DEBUG_DYNLIB) : $(DEBUG_OBJDIR_dynamic) $(DEF_FILE) $(DEBUG_OBJECTS_dynamic) -+ $(DYN_LINK) $(LDFLAGS_DEBUG_dynamic) $(DEBUG_OBJECTS_dynamic), $(DYNLINK_OUT)$(OUTDIR)$(PATH_SEP)$(DEBUG_DYNLIB) ,, $(LDLIBS_DEBUG_dynamic) -+ -+$(OUTDIR)$(PATH_SEP)$(STLDEBUG_DYNLIB) : $(STLDEBUG_OBJDIR_dynamic) $(DEF_FILE) $(STLDEBUG_OBJECTS_dynamic) -+ $(DYN_LINK) $(LDFLAGS_STLDEBUG_dynamic) $(STLDEBUG_OBJECTS_dynamic) , $(DYNLINK_OUT)$(OUTDIR)$(PATH_SEP)$(STLDEBUG_DYNLIB) ,, $(LDLIBS_STLDEBUG_dynamic) -+ -+$(OUTDIR)$(PATH_SEP)$(RELEASE_LIB) : $(RELEASE_OBJDIR_static) $(DEF_FILE) $(RELEASE_OBJECTS_static) -+ $(LINK) $(OUTDIR)$(PATH_SEP)$(RELEASE_LIB) $(RELEASE_LINK_COMMANDS_static) -+ -+$(OUTDIR)$(PATH_SEP)$(DEBUG_LIB) : $(DEBUG_OBJDIR_static) $(DEF_FILE) $(DEBUG_OBJECTS_static) -+ $(LINK) $(OUTDIR)$(PATH_SEP)$(DEBUG_LIB) $(DEBUG_LINK_COMMANDS_static) -+ -+$(OUTDIR)$(PATH_SEP)$(STLDEBUG_LIB) : $(STLDEBUG_OBJDIR_static) $(DEF_FILE) $(STLDEBUG_OBJECTS_static) -+ $(LINK) $(OUTDIR)$(PATH_SEP)$(STLDEBUG_LIB) $(STLDEBUG_LINK_COMMANDS_static) -+ -+######################################### -+ -+# --------------------------------------------------------------------------- -+ -+!include nmake_common.mak -+ -+.cpp.i: -+ $(CPP) $(CXXFLAGS_DEBUG_dynamic) -n. -Sr -Ss -Sd {$< } -+ -+# --------------------------------------------------------------------------- -+ -+# --------------------------------------------------------------------------- -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/beos-setup tripwire-2.3.1-2/src/STLport-4.0/src/beos-setup ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/beos-setup Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/beos-setup Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,87 @@ -+#!/bin/sh -+ -+function intel_setup -+{ -+files='alloca assert ctype dirent err fcntl float new inttypes libio limits locale malloc math memory signal stdarg stddef stdio stdlib string time va_list wchar wctype' -+ -+for file in $files; do -+ echo '#include_next "'"$file"'.h"' > "../stlport/beos/$file"'.h' -+ echo '#include_next "'"c$file"'"' > "../stlport/beos/c$file"'' -+done -+ -+files='fstream new exception typeinfo iomanip iosfwd iostream istream ostream stdexcept stdiostream stream streambuf strstream' -+ -+for file in $files; do -+ echo '#include_next "'"$file"'.h"' > "../stlport/beos/$file"'.h' -+ echo '#include_next "'"$file"'"' > "../stlport/beos/$file"'' -+done -+} -+ -+function intel_uninstall -+{ -+ rm -fr ~/config/include/stlport -+ cd ../lib -+ for file in libstlport_gcc*; do -+ rm -f ~/config/lib/$file -+ done -+ rm -f ~/config/lib/libstlport_gcc*.so -+} -+ -+function intel_install -+{ -+ cp -R ../stlport ~/config/include -+ -+ cd ../lib -+ for file in libstlport_gcc*.so.*; do -+ basename=`echo $file | sed 's/\(.*\.so\).*/\1/'` -+ cp $file ~/config/lib -+ if test "$file" != "$basename"; then -+ ln -s ~/config/lib/$file ~/config/lib/$basename -+ fi -+ done -+ -+ for file in libstlport_gcc*.a; do -+ cp $file ~/config/lib -+ done -+ -+ echo include files are in ~/config/include -+ echo libraries are in ~/config/lib -+} -+ -+ -+if test $# -ne 1; then -+echo usage: -+echo " beos-setup -setup # sets up headers" -+echo " beos-setup -install # installs STLPort" -+echo " beos-setup -uninstall #uninstalls STLPort" -+ -+else -+ -+if test $1 = "-setup"; then -+ intel_setup -+ exit 0 -+fi -+ -+if test $1 = "-uninstall"; then -+ intel_uninstall -+ exit 0 -+fi -+ -+if test $1 = "-install"; then -+ intel_install -+ exit 0 -+fi -+ -+echo unknown option $* -+exit 1 -+ -+ -+ -+fi -+ -+ -+ -+ -+ -+ -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/build-tempinc-xlc.mk tripwire-2.3.1-2/src/STLport-4.0/src/build-tempinc-xlc.mk ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/build-tempinc-xlc.mk Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/build-tempinc-xlc.mk Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,16 @@ -+tempIncConst = tempinc -+buildDir = . -+tempIncDir = $(buildDir)/$(tempIncConst) -+ -+TempInc_CFiles := $(wildcard $(tempIncDir)/*.C) -+TempInc_OFiles := $(patsubst %.C,%.o, $(TempInc_CFiles)) -+ -+all.PHONY : $(TempInc_OFiles) -+ -+%.o : %.C -+ @echo "Compiling File $@" -+ @xlC_r \ -+ -I/tools/STLport-4.0/stlport -qmaxerr=10 -qtempinc=$(tempIncDir) -+-qrtti=all -qsrcmsg \ -+ -o $(@) \ -+ -c $< -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/build-tempinc-xlc.sh tripwire-2.3.1-2/src/STLport-4.0/src/build-tempinc-xlc.sh ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/build-tempinc-xlc.sh Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/build-tempinc-xlc.sh Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,18 @@ -+#!/bin/sh -+ -+GNUMake=gmake -+MakeFile=build-tempinc-xlc.mk -+ -+PassNumber=0 -+echo "Building the AIX tempinc directory." -+echo "Calling $MakeFile." -+until { $GNUMake -f $MakeFile -q ; } -+do -+ let PassNumber=$PassNumber+1 -+ echo "Pass Number: $PassNumber" -+ if { ! $GNUMake -f $MakeFile ; } then -+ echo "An error occurred.. aborting" -+ exit 1; -+ fi -+done -+echo "Finished the AIX tempinc directory." -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/c_locale.c tripwire-2.3.1-2/src/STLport-4.0/src/c_locale.c ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/c_locale.c Sat Feb 24 10:44:08 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/c_locale.c Fri Aug 16 20:47:29 2002 -@@ -15,13 +15,21 @@ - * modified is included with the above copyright notice. - * - */ --# ifdef __STL_REAL_LOCALE_IMPLEMENTED --# define __BUILDING_STLPORT 1 - --# include --# include -+# include "stlport_prefix.h" -+ -+#if !defined(__APPLE__) /* XXX: Darwin seems to have trouble with this... leave it out for now. */ -+# include -+#endif - --# if defined (__STL_USE_GLIBC) && ! defined (__CYGWIN__) -+# ifdef _STLP_REAL_LOCALE_IMPLEMENTED -+# include -+# include "c_locale.h" -+# if defined (WIN32) || defined (_WIN32) -+# include "c_locale_win32/c_locale_win32.c" -+# elif defined (_STLP_USE_GLIBC) && ! defined (__CYGWIN__) - # include "c_locale_glibc/c_locale_glibc.c" -+# elif defined __ISCPP__ -+# include "c_locale_is/c_locale_is.cpp" - # endif - # endif -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/c_locale.h tripwire-2.3.1-2/src/STLport-4.0/src/c_locale.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/c_locale.h Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/c_locale.h Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,403 @@ -+/* -+ * Copyright (c) 1999 -+ * Silicon Graphics Computer Systems, Inc. -+ * -+ * Copyright (c) 1999 -+ * Boris Fomitchev -+ * -+ * This material is provided "as is", with absolutely no warranty expressed -+ * or implied. Any use is at your own risk. -+ * -+ * Permission to use or copy this software for any purpose is hereby granted -+ * without fee, provided the above notices are retained on all copies. -+ * Permission to modify the code and to distribute modified code is granted, -+ * provided the above notices are retained, and a notice that the code was -+ * modified is included with the above copyright notice. -+ * -+ */ -+ -+/* -+ * It is impossible to write the C++ locale library in terms of locales -+ * as defined in the C standard. Instead, we write the C++ locale and I/O -+ * library in terms of a low level C-like interface. This file defines -+ * that interface. -+ * -+ * The low-level locale interface can't be written portably; there -+ * must be a version of it for each platform that the C++ library -+ * is ported to. On many systems this interface may be a thin wrapper -+ * for existing functionality. -+ */ -+ -+#ifndef _STLP_C_LOCALE_IMPL_H -+# define _STLP_C_LOCALE_IMPL_H -+ -+# include -+// # include -+# include -+ -+#define _Locale_MAX_SIMPLE_NAME 256 -+ -+/* -+ * A number: the maximum length of a simple locale name. -+ * (i.e. a name like like en_US, as opposed to a name like -+ * en_US/de_AT/de_AT/es_MX/en_US/en_US) */ -+#define _Locale_MAX_COMPOSITE_NAME 6*(_Locale_MAX_SIMPLE_NAME+3) -+ -+/* -+ * Maximum length of a composite locale. -+ */ -+ -+#ifdef __cplusplus -+_STLP_BEGIN_NAMESPACE -+extern "C" { -+#endif -+ -+/* -+ * Typedefs: -+ */ -+ -+#if defined (__GNUC__) || defined (_KCC) -+typedef unsigned short int _Locale_mask_t; -+#else -+typedef unsigned int _Locale_mask_t; -+#endif -+ -+void * _Locale_ctype_create(const char *); -+void * _Locale_numeric_create(const char *); -+void * _Locale_time_create(const char *); -+void * _Locale_collate_create(const char *); -+void * _Locale_monetary_create(const char *); -+void * _Locale_messages_create(const char *); -+ -+/* -+ * The char* argument is a simple locale name. -+ * These functions return NULL to indicate failure. -+ * The char* argument is a simple locale name, which may not -+ * be "". These functions return NULL to indicate failure. -+ */ -+ -+const char * _Locale_ctype_default(char * __buf); -+const char * _Locale_numeric_default(char * __buf); -+const char * _Locale_time_default(char * __buf); -+const char * _Locale_collate_default(char * __buf); -+const char * _Locale_monetary_default(char * __buf); -+const char * _Locale_messages_default(char * __buf); -+ -+/* -+ * Returns the name of the user's default locale in each -+ * category, as a null-terminated string. A NULL value -+ * means the default "C" locale. -+ */ -+ -+char * _Locale_ctype_name(const void *, char *); -+char * _Locale_numeric_name(const void *, char *); -+char * _Locale_time_name(const void *, char *); -+char * _Locale_collate_name(const void *, char *); -+char * _Locale_monetary_name(const void *, char *); -+char * _Locale_messages_name(const void *, char *); -+ -+/* -+ * __buf points to a buffer that can hold at least _Locale_MAX_SIMPLE_NAME -+ * characters. These functions store the name, as a null-terminated -+ * string, in __buf. -+ */ -+ -+void _Locale_ctype_destroy(void *); -+void _Locale_numeric_destroy(void *); -+void _Locale_time_destroy(void *); -+void _Locale_collate_destroy(void *); -+void _Locale_monetary_destroy(void *); -+void _Locale_messages_destroy(void *); -+ -+char * _Locale_extract_ctype_name(const char *cname, char *__buf); -+char * _Locale_extract_numeric_name(const char *cname, char *__buf); -+char * _Locale_extract_time_name(const char *cname, char *__buf); -+char * _Locale_extract_collate_name(const char *cname, char *__buf); -+char * _Locale_extract_monetary_name(const char *cname, char *__buf); -+char * _Locale_extract_messages_name(const char *cname, char *__buf); -+ -+/* -+ * cname is a (possibly composite) locale name---i.e. a name that can -+ * be passed to setlocale. _buf points to an array large enough to -+ * store at least _Locale_MAX_SIMPLE_NAME characters, and each of these -+ * functions extracts the name of a single category, stores it in buf -+ * as a null-terminated string, and returns buf. -+ */ -+ -+char * _Locale_compose_name(char *__buf, -+ const char *__Ctype, const char *__Numeric, -+ const char *__Time, const char *__Collate, -+ const char *__Monetary, const char *__Messages); -+ -+/* -+ * The inputs to this function are six null-terminated strings: the -+ * names of a locale's six categories. __buf is a pointer to an array -+ * large enough to store at least _Locale_MAX_COMPOSITE_NAME characters. -+ * This function constructs a (possibly composite) name describing the -+ * locale as a whole, stores that name in buf as a null-terminated -+ * string, and returns buf. -+ */ -+ -+/* -+ * FUNCTIONS THAT USE CTYPE -+ */ -+ -+/* -+ * Narrow character functions: -+ */ -+ -+_Locale_mask_t * _Locale_ctype_table(struct _Locale_ctype *); -+ -+/* -+ * Returns a pointer to the beginning of the ctype table. The table is -+ * at least 257 bytes long; if p is the pointer returned by this -+ * function, then p[c] is valid if c is EOF or if p is any value of -+ * type unsigned char. -+ */ -+ -+int _Locale_toupper(struct _Locale_ctype *, int); -+int _Locale_tolower(struct _Locale_ctype *, int); -+ -+/* -+ * c is either EOF, or an unsigned char value. -+ */ -+ -+# ifndef _STLP_NO_WCHAR_T -+/* -+ * Wide character functions: -+ */ -+_Locale_mask_t _Locale_wchar_ctype(struct _Locale_ctype *, wint_t); -+wint_t _Locale_wchar_tolower(struct _Locale_ctype *, wint_t); -+wint_t _Locale_wchar_toupper(struct _Locale_ctype *, wint_t); -+# endif -+ -+# if !defined ( _STLP_NO_MBSTATE_T ) -+ -+/* -+ * Multibyte functions: -+ */ -+ -+int _Locale_mb_cur_max (struct _Locale_ctype *); -+/* -+ * Returns the number of bytes of the longest allowed multibyte -+ * character in the current encoding. -+ */ -+ -+int _Locale_mb_cur_min (struct _Locale_ctype *); -+/* -+ * Returns the number of bytes of the shortest allowed multibyte -+ * character in the current encoding. -+ */ -+ -+int _Locale_is_stateless (struct _Locale_ctype *); -+/* -+ * Returns 1 if the current multibyte encoding is stateless -+ * and does not require the use of an mbstate_t value. -+ */ -+ -+# ifndef _STLP_NO_WCHAR_T -+wint_t _Locale_btowc(struct _Locale_ctype *, int); -+int _Locale_wctob(struct _Locale_ctype *, wint_t); -+ -+/* -+ * Just like btowc and wctob, from 4.6.5.1 of the C standard, Normative -+ * Addendum 1. (And just like widen/narrow, from clause 22 of the C++ -+ * standard.) -+ */ -+ -+size_t _Locale_mbtowc(struct _Locale_ctype *, -+ wchar_t *, -+ const char *, size_t, -+ mbstate_t *); -+ -+/* -+ * Almost identical to mbrtowc, from 4.6.5.3.2 of NA1. The only -+ * important difference is that mbrtowc treats null wide characters -+ * as special, and we don't. Specifically: examines the characters -+ * in [from, from + n), extracts a single wide character, and stores -+ * it in *to. Modifies shift_state if appropriate. The return value, -+ * which is always positive, is the number of characters extracted from -+ * the input sequence. Return value is (size_t) -1 if there was an -+ * encoding error in the input sequence, and (size_t) -2 if -+ * [from, from + n) is correct but not complete. None of the pointer -+ * arguments may be null pointers. -+ */ -+ -+size_t _Locale_wctomb(struct _Locale_ctype *, -+ char *, size_t, -+ const wchar_t, -+ mbstate_t *); -+ -+/* -+ * Again, very similar to wcrtomb. The differences are that (1) it -+ * doesn't treat null characters as special; and (2) it stores at most -+ * n characters. Converts c to a multibyte sequence, stores that -+ * sequence in the array 'to', and returns the length of the sequence. -+ * Modifies shift_state if appropriate. The return value is (size_t) -1 -+ * if c is not a valid wide character, and (size_t) -2 if the length of -+ * the multibyte character sequence is greater than n. -+ */ -+# endif -+ -+size_t _Locale_unshift(struct _Locale_ctype *, -+ mbstate_t *, -+ char *, size_t, char **); -+ -+/* -+ * Inserts whatever characters are necessary to restore st to an -+ * initial shift state. Sets *next to buf + m, where m is the number -+ * of characters inserted. (0 <= m <= n.) Returns m to indicate -+ * success, (size_t) -1 to indicate error, (size_t) -2 to indicate -+ * partial success (more than n characters needed). For success or partial -+ * success, sets *next to buf + m. -+ */ -+ -+# endif /* _STLP_NO_MBSTATE_T */ -+ -+/* -+ * FUNCTIONS THAT USE COLLATE -+ */ -+ -+int _Locale_strcmp(struct _Locale_collate *, -+ const char *, size_t, -+ const char *, size_t); -+# ifndef _STLP_NO_WCHAR_T -+int _Locale_strwcmp(struct _Locale_collate *, -+ const wchar_t *, size_t, -+ const wchar_t *, size_t); -+# endif -+/* -+ * Compares the two sequences [s1, s1 + n1) and [s2, s2 + n2). Neither -+ * sequence is assumed to be null-terminated, and null characters -+ * aren't special. If the two sequences are the same up through -+ * min(n1, n2), then the sequence that compares less is whichever one -+ * is shorter. -+ */ -+ -+size_t _Locale_strxfrm(struct _Locale_collate *, -+ char *, size_t, -+ const char *, size_t); -+ -+# ifndef _STLP_NO_WCHAR_T -+size_t _Locale_strwxfrm(struct _Locale_collate *, -+ wchar_t *, size_t, -+ const wchar_t *, size_t); -+# endif -+ -+/* -+ * Creates a transformed version of the string [s2, s2 + n2). The -+ * string may contain embedded null characters; nulls aren't special. -+ * The transformed string begins at s1, and contains at most n1 -+ * characters. The return value is the length of the transformed -+ * string. If the return value is greater than n1 then this is an -+ * error condition: it indicates that there wasn't enough space. In -+ * that case, the contents of [s1, s1 + n1) is unspecified. -+*/ -+ -+/* -+ * FUNCTIONS THAT USE NUMERIC -+ */ -+ -+char _Locale_decimal_point(struct _Locale_numeric *); -+char _Locale_thousands_sep(struct _Locale_numeric *); -+const char * _Locale_grouping(struct _Locale_numeric *); -+ -+/* -+ * Equivalent to the first three fields in struct lconv. (C standard, -+ * section 7.4.) -+ */ -+ -+const char * _Locale_true(struct _Locale_numeric *); -+const char * _Locale_false(struct _Locale_numeric *); -+ -+/* -+ * Return "true" and "false" in English locales, and something -+ * appropriate in non-English locales. -+ */ -+ -+/* -+ * FUNCTIONS THAT USE MONETARY -+ */ -+ -+const char * _Locale_int_curr_symbol(struct _Locale_monetary *); -+const char * _Locale_currency_symbol(struct _Locale_monetary *); -+char _Locale_mon_decimal_point(struct _Locale_monetary *); -+char _Locale_mon_thousands_sep(struct _Locale_monetary *); -+const char * _Locale_mon_grouping(struct _Locale_monetary *); -+const char * _Locale_positive_sign(struct _Locale_monetary *); -+const char * _Locale_negative_sign(struct _Locale_monetary *); -+char _Locale_int_frac_digits(struct _Locale_monetary *); -+char _Locale_frac_digits(struct _Locale_monetary *); -+int _Locale_p_cs_precedes(struct _Locale_monetary *); -+int _Locale_p_sep_by_space(struct _Locale_monetary *); -+int _Locale_p_sign_posn(struct _Locale_monetary *); -+int _Locale_n_cs_precedes(struct _Locale_monetary *); -+int _Locale_n_sep_by_space(struct _Locale_monetary *); -+int _Locale_n_sign_posn(struct _Locale_monetary *); -+ -+/* -+ * Return the obvious fields of struct lconv. -+ */ -+ -+/* -+ * FUNCTIONS THAT USE TIME -+ */ -+ -+const char ** _Locale_full_monthname(struct _Locale_time *); -+const char ** _Locale_abbrev_monthname(struct _Locale_time *); -+ -+/* -+ * month is in the range [0, 12). -+ */ -+ -+const char ** _Locale_full_dayofweek(struct _Locale_time *); -+const char ** _Locale_abbrev_dayofweek(struct _Locale_time *); -+ -+/* -+ * day is in the range [0, 7). Sunday is 0. -+ */ -+ -+const char * _Locale_d_t_fmt(struct _Locale_time *); -+const char * _Locale_d_fmt(struct _Locale_time *); -+const char * _Locale_t_fmt(struct _Locale_time *); -+const char * _Locale_long_d_t_fmt(struct _Locale_time*); -+const char * _Locale_long_d_fmt(struct _Locale_time*); -+ -+const char * _Locale_am_str(struct _Locale_time *); -+const char * _Locale_pm_str(struct _Locale_time *); -+const char * _Locale_t_fmt_ampm(struct _Locale_time *); -+ -+ -+/* -+ * FUNCTIONS THAT USE MESSAGES -+ */ -+ -+int _Locale_catopen(struct _Locale_messages*, const char*); -+ -+/* -+ * Very similar to catopen, except that it uses L to determine -+ * which catalog to open. -+ */ -+ -+void _Locale_catclose(struct _Locale_messages*, int); -+ -+/* -+ * catalog is a value that was returned by a previous call to -+ * _Locale_catopen -+ */ -+ -+const char * _Locale_catgets(struct _Locale_messages *, int, -+ int, int,const char *); -+ -+/* -+ * Returns a string, identified by a set index and a message index, -+ * from an opened message catalog. Returns default if no such -+ * string exists. -+ */ -+ -+# ifdef __cplusplus -+} -+_STLP_END_NAMESPACE -+# endif -+ -+# endif /* _STLP_C_LOCALE_IMPL_H */ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/c_locale_glibc/c_locale_glibc.c tripwire-2.3.1-2/src/STLport-4.0/src/c_locale_glibc/c_locale_glibc.c ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/c_locale_glibc/c_locale_glibc.c Sat Feb 24 10:44:17 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/c_locale_glibc/c_locale_glibc.c Sun Aug 11 18:59:23 2002 -@@ -22,7 +22,7 @@ - #include - #include - #include --#include -+/* #include */ - - #include - #include -@@ -30,9 +30,10 @@ - - wint_t btowc(int c); - int wctob (wint_t c); --size_t __mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps); --size_t __wcrtomb (char *s, wchar_t wc, mbstate_t *ps); --size_t __mbrlen (const char* s, size_t n, mbstate_t *ps); -+ -+size_t mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps); -+size_t wcrtomb (char *s, wchar_t wc, mbstate_t *ps); -+size_t mbrlen (const char* s, size_t n, mbstate_t *ps); - - #include - -@@ -114,7 +115,7 @@ - _Find_locale (char *locale_path, size_t locale_path_len, - int category, char **name) - { -- return _nl_find_locale(locale_path, locale_path_len, category, name); -+ return __nl_find_locale(locale_path, locale_path_len, category, name); - } - - -@@ -139,11 +140,11 @@ - locpath_var = __secure_getenv("LOCPATH"); - - if (locpath_var != NULL && locpath_var[0] != '\0') -- if (__argz_create_sep (locpath_var, ':', -- &locale_path, &locale_path_len) != 0) -+ if (argz_create_sep (locpath_var, ':', -+ &locale_path, &locale_path_len) != 0) - return NULL; -- -- if (__argz_add_sep (&locale_path, &locale_path_len, __LOCALE_PATH, ':') != 0) -+ -+ if (argz_add_sep (&locale_path, &locale_path_len, __LOCALE_PATH, ':') != 0) - return NULL; - - return _Find_locale(locale_path, locale_path_len, -@@ -215,21 +216,21 @@ - - /****** Numeric Category ******/ - --struct _Locale_numeric* -+void* - _Locale_numeric_create(const char * name) { - L_numeric_t* lnum = (L_numeric_t*)malloc(sizeof(L_numeric_t)); - lnum->gcc_data = _Category_create(name, LC_NUMERIC); -- return lnum; -+ return (void*)lnum; - } - - --char* _Locale_numeric_name(const struct _Locale_numeric* lnum, -+char* _Locale_numeric_name(const void* lnum, - char* buf) { -- return _Locale_name(lnum->gcc_data, buf); -+ return _Locale_name(((struct _Locale_ctype*)lnum)->gcc_data, buf); - } --void _Locale_numeric_destroy(struct _Locale_numeric* lnum) -+void _Locale_numeric_destroy(void* lnum) - { -- _Remove_locale(LC_NUMERIC, (struct locale_data *)lnum->gcc_data); -+ _Remove_locale(LC_NUMERIC, (struct locale_data *)((struct _Locale_ctype*)lnum)->gcc_data); - free(lnum); - } - char* _Locale_extract_numeric_name(const char* cname, char* buf) -@@ -264,18 +265,19 @@ - - /****** Monetary Category ******/ - --struct _Locale_monetary* _Locale_monetary_create(const char* name) { -+void* _Locale_monetary_create(const char* name) { - L_monetary_t* lmon = (L_monetary_t*)malloc(sizeof(L_monetary_t)); - lmon->gcc_data = _Category_create(name, LC_MONETARY); - return lmon; - } --char* _Locale_monetary_name(const struct _Locale_monetary* lmon, -- char* buf) { -- return _Locale_name(lmon->gcc_data, buf); -+ -+char* _Locale_monetary_name(const void* lmon, -+ char* buf) { -+ return _Locale_name(((struct _Locale_monetary*)lmon)->gcc_data, buf); - } - --void _Locale_monetary_destroy(struct _Locale_monetary* lmon) { -- _Remove_locale(LC_MONETARY, (struct locale_data *)lmon->gcc_data); -+void _Locale_monetary_destroy(void*lmon) { -+ _Remove_locale(LC_MONETARY, (struct locale_data *)((struct _Locale_monetary*)lmon)->gcc_data); - free(lmon); - } - -@@ -331,20 +333,21 @@ - - /****** Time Category ******/ - --struct _Locale_time* _Locale_time_create(const char * name) { -+void* _Locale_time_create(const char * name) { - L_time_t* ltime = (L_time_t*)malloc(sizeof(L_time_t)); - ltime->gcc_data = _Category_create(name, LC_TIME); - return ltime; - } --char* _Locale_time_name(const struct _Locale_time* ltime, -+ -+char* _Locale_time_name(const void* ltime, - char* buf) { -- return _Locale_name(ltime->gcc_data, buf); -+ return _Locale_name(((struct _Locale_time*)ltime)->gcc_data, buf); - } - char* _Locale_extract_time_name(const char* cname, char* buf) { - return _Locale_extract_name(cname, buf, LC_TIME); - } --void _Locale_time_destroy(struct _Locale_time* ltime) { -- _Remove_locale(LC_TIME, (struct locale_data *)ltime->gcc_data); -+void _Locale_time_destroy(void* ltime) { -+ _Remove_locale(LC_TIME, (struct locale_data *)((struct _Locale_time*)ltime)->gcc_data); - free(ltime); - } - const char ** _Locale_full_monthname(struct _Locale_time *ltime) { -@@ -362,10 +365,17 @@ - const char* _Locale_d_t_fmt(struct _Locale_time* ltime) { - return ltime->gcc_data->values[_NL_ITEM_INDEX(D_T_FMT)].string; - } -+const char* _Locale_long_d_t_fmt(struct _Locale_time* ltime) { -+ return ltime->gcc_data->values[_NL_ITEM_INDEX(D_T_FMT)].string; -+} - const char* _Locale_d_fmt(struct _Locale_time* ltime) - { - return ltime->gcc_data->values[_NL_ITEM_INDEX(D_FMT)].string; - } -+const char* _Locale_long_d_fmt(struct _Locale_time* ltime) -+{ -+ return ltime->gcc_data->values[_NL_ITEM_INDEX(D_FMT)].string; -+} - const char* _Locale_t_fmt(struct _Locale_time* ltime) { - return ltime->gcc_data->values[_NL_ITEM_INDEX(T_FMT)].string; - } -@@ -383,18 +393,18 @@ - - /****** Messages Category ******/ - --struct _Locale_messages* _Locale_messages_create(const char * name) { -+void* _Locale_messages_create(const char * name) { - L_messages_t* lmsg = (L_messages_t*)malloc(sizeof(L_messages_t)); - lmsg->gcc_data = _Category_create(name, LC_MESSAGES); - return lmsg; - } - --char* _Locale_messages_name(const struct _Locale_messages* lmsg, char* buf) { -- return _Locale_name(lmsg->gcc_data, buf); -+char* _Locale_messages_name(const void* lmsg, char* buf) { -+ return _Locale_name(((struct _Locale_messages*)lmsg)->gcc_data, buf); - } - --void _Locale_messages_destroy(struct _Locale_messages* lmsg) { -- _Remove_locale(LC_MESSAGES, (struct locale_data *)lmsg->gcc_data); -+void _Locale_messages_destroy(void* lmsg) { -+ _Remove_locale(LC_MESSAGES, (struct locale_data *)((struct _Locale_messages*)lmsg)->gcc_data); - free(lmsg); - } - -@@ -451,7 +461,7 @@ - } - - --struct _Locale_ctype* _Locale_ctype_create(const char * name) { -+void* _Locale_ctype_create(const char * name) { - const union locale_data_value *ctypes; - L_ctype_t* lctype; - -@@ -476,16 +486,16 @@ - #endif - return lctype; - } --char* _Locale_ctype_name(const struct _Locale_ctype* lctype, -- char* buf) { -- return _Locale_name(lctype->gcc_data, buf); -+char* _Locale_ctype_name(const void* lctype, -+ char* buf) { -+ return _Locale_name(((struct _Locale_ctype*)lctype)->gcc_data, buf); - } --void _Locale_ctype_destroy(struct _Locale_ctype* lctype) { -- _Remove_locale(LC_CTYPE, (struct locale_data *)lctype->gcc_data); -+void _Locale_ctype_destroy(void* lctype) { -+ _Remove_locale(LC_CTYPE, (struct locale_data *)((struct _Locale_ctype*)lctype)->gcc_data); - free(lctype); - } - char* _Locale_extract_ctype_name(const char* cname, char* buf) { -- return _Locale_extract_name(cname, buf, LC_TIME); -+ return _Locale_extract_name(cname, buf, LC_CTYPE); - } - _Locale_mask_t* _Locale_ctype_table(struct _Locale_ctype* lctype) { - return lctype->__class; -@@ -601,9 +611,9 @@ - { - int ret; - if (to) -- ret = __mbrtowc(to, from, n, shift_state); -+ ret = mbrtowc(to, from, n, shift_state); - else -- ret = __mbrlen(from, n, shift_state); -+ ret = mbrlen(from, n, shift_state); - return ret; - } - -@@ -615,7 +625,7 @@ - char buf [MB_LEN_MAX]; - int ret; - char* mb = buf; -- ret = __wcrtomb(mb, c, shift_state); -+ ret = wcrtomb(mb, c, shift_state); - - if (ret > n) - return (size_t)-2; -@@ -639,18 +649,18 @@ - - /****** Collate Category ******/ - --struct _Locale_collate* _Locale_collate_create(const char * name) { -+void* _Locale_collate_create(const char * name) { - L_collate_t* lcollate = (L_collate_t*)malloc(sizeof(L_collate_t)); - lcollate->gcc_data = _Category_create(name, LC_COLLATE); - return lcollate; - } - --char* _Locale_collate_name(const struct _Locale_collate* lcollate, char* buf) { -- return _Locale_name(lcollate->gcc_data, buf); -+char* _Locale_collate_name(const void* lcollate, char* buf) { -+ return _Locale_name(((struct _Locale_collate*)lcollate)->gcc_data, buf); - } - --void _Locale_collate_destroy(struct _Locale_collate* lcollate) { -- _Remove_locale(LC_COLLATE, (struct locale_data *)lcollate->gcc_data); -+void _Locale_collate_destroy(void* lcollate) { -+ _Remove_locale(LC_COLLATE, (struct locale_data *)((struct _Locale_collate*)lcollate)->gcc_data); - free(lcollate); - } - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/c_locale_stub.cpp tripwire-2.3.1-2/src/STLport-4.0/src/c_locale_stub.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/c_locale_stub.cpp Sat Feb 24 10:44:08 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/c_locale_stub.cpp Sun Aug 11 18:59:22 2002 -@@ -16,18 +16,17 @@ - * - */ - # include "stlport_prefix.h" -- --#include -+#include "c_locale.h" - #include - --# ifdef __STL_REAL_LOCALE_IMPLEMENTED -+# ifdef _STLP_REAL_LOCALE_IMPLEMENTED - - // here, we'll put C locale implementation for those compilers where - // it has to be done in C++ - - # else - --/* This is a "stub" implementation of the interface, -+/* This is a "stub" implementation of the "c_locale.h" interface, - intended for operating systems where we have not yet written - a real implementation. A C++ library using this stub implementation - is still standard-conforming, since the C++ standard does not require -@@ -44,7 +43,7 @@ - struct _Locale_messages /* { } */; - - # ifdef __cplusplus --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - extern "C" { - # define __DUMMY_PAR - # define __DUMMY_PAR1 -@@ -122,7 +121,7 @@ - int _Locale_toupper(struct _Locale_ctype*__DUMMY_PAR1, int __DUMMY_PAR) { return 0; } - int _Locale_tolower(struct _Locale_ctype*__DUMMY_PAR1, int __DUMMY_PAR) { return 0; } - --# ifndef __STL_NO_WCHAR_T -+# ifndef _STLP_NO_WCHAR_T - _Locale_mask_t _Locale_wchar_ctype(struct _Locale_ctype*__DUMMY_PAR1, wint_t __DUMMY_PAR) - { return 0; } - wint_t _Locale_wchar_tolower(struct _Locale_ctype*__DUMMY_PAR1, wint_t __DUMMY_PAR) -@@ -131,13 +130,15 @@ - { return 0; } - # endif - --# ifndef __STL_NO_MBSTATE_T -+# ifndef _STLP_NO_MBSTATE_T - - int _Locale_mb_cur_max (struct _Locale_ctype * __DUMMY_PAR) { return 0; } - int _Locale_mb_cur_min (struct _Locale_ctype * __DUMMY_PAR) { return 0; } - int _Locale_is_stateless (struct _Locale_ctype * __DUMMY_PAR) { return 1; } -+#ifndef _STLP_NO_WCHAR_T - wint_t _Locale_btowc(struct _Locale_ctype * __DUMMY_PAR1, int __DUMMY_PAR) { return 0; } - int _Locale_wctob(struct _Locale_ctype * __DUMMY_PAR2, wint_t __DUMMY_PAR) { return 0; } -+ - size_t _Locale_mbtowc(struct _Locale_ctype *__DUMMY_PAR1, - wchar_t *__DUMMY_PAR2, - const char *__DUMMY_PAR3, size_t __DUMMY_PAR4, -@@ -150,13 +151,15 @@ - mbstate_t *__DUMMY_PAR5) { - return (size_t) -1; - } -+# endif -+ - size_t _Locale_unshift(struct _Locale_ctype *__DUMMY_PAR1, - mbstate_t *__DUMMY_PAR2, - char *__DUMMY_PAR3, size_t __DUMMY_PAR4, char ** __DUMMY_PAR5) { - return (size_t) -1; - } - --# endif /* __STL_NO_MBSTATE_T */ -+# endif /* _STLP_NO_MBSTATE_T */ - - - /* Collate */ -@@ -166,7 +169,7 @@ - return 0; - } - --# ifndef __STL_NO_WCHAR_T -+# ifndef _STLP_NO_WCHAR_T - - int _Locale_strwcmp(struct _Locale_collate* __DUMMY_PAR1, - const wchar_t* __DUMMY_PAR2, size_t __DUMMY_PAR3, -@@ -182,7 +185,7 @@ - return 0; - } - --# ifndef __STL_NO_WCHAR_T -+# ifndef _STLP_NO_WCHAR_T - - size_t _Locale_strwxfrm(struct _Locale_collate* __DUMMY_PAR1, - wchar_t* __DUMMY_PAR2, size_t __DUMMY_PAR3, -@@ -251,6 +254,8 @@ - const char* _Locale_d_t_fmt(struct _Locale_time* __DUMMY_PAR) { return 0; } - const char* _Locale_d_fmt(struct _Locale_time* __DUMMY_PAR) { return 0; } - const char* _Locale_t_fmt(struct _Locale_time* __DUMMY_PAR) { return 0; } -+ const char* _Locale_long_d_t_fmt(struct _Locale_time* __DUMMY_PAR){ return 0; } -+ const char* _Locale_long_d_fmt(struct _Locale_time* __DUMMY_PAR) { return 0; } - const char* _Locale_am_str(struct _Locale_time* __DUMMY_PAR) { return 0; } - const char* _Locale_pm_str(struct _Locale_time* __DUMMY_PAR) { return 0; } - const char* _Locale_t_fmt_ampm(struct _Locale_time* __DUMMY_PAR) { return 0; } -@@ -267,7 +272,7 @@ - - #ifdef __cplusplus - } /* extern C */ --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - #endif - - #endif /* real locale */ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/codecvt.cpp tripwire-2.3.1-2/src/STLport-4.0/src/codecvt.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/codecvt.cpp Sat Feb 24 10:44:05 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/codecvt.cpp Sun Aug 11 18:59:22 2002 -@@ -1,104 +1,165 @@ --/* -- * Copyright (c) 1999 -- * Silicon Graphics Computer Systems, Inc. -- * -- * Copyright (c) 1999 -- * Boris Fomitchev -- * -- * This material is provided "as is", with absolutely no warranty expressed -- * or implied. Any use is at your own risk. -- * -- * Permission to use or copy this software for any purpose is hereby granted -- * without fee, provided the above notices are retained on all copies. -- * Permission to modify the code and to distribute modified code is granted, -- * provided the above notices are retained, and a notice that the code was -- * modified is included with the above copyright notice. -- * -- */ --# include "stlport_prefix.h" -- --#include --#include --#include --#include --#include -- --# ifndef __STL_NO_MBSTATE_T -- --__STL_BEGIN_NAMESPACE -- --//---------------------------------------------------------------------- --// codecvt -- --codecvt::codecvt(size_t refs) --#if !(defined(__MRC__) || defined(__SC__) ) //*TY 04/29/2000 - added workaround for mpw -- : locale::facet(refs) --#else //*TY 04/29/2000 - -- : _facet(refs) //*TY 04/29/2000 - they forget to look into the nested class for the ctor --#endif //*TY 04/29/2000 - --{} -- --codecvt::~codecvt() --{} -- --int codecvt::do_length(const mbstate_t&, -- const char* from, -- const char* end, -- size_t max) const --{ -- return min( __STATIC_CAST(size_t, (end - from)), max); --} -- --int codecvt::do_max_length() const __STL_NOTHROW --{ -- return 1; --} -- --bool --codecvt::do_always_noconv() const __STL_NOTHROW --{ -- return true; --} -- --int --codecvt::do_encoding() const __STL_NOTHROW --{ -- return 1; --} -- -- --codecvt_base::result --codecvt::do_unshift(mbstate_t& /* __state */, -- char* __to, -- char* /* __to_limit */, -- char*& __to_next) const --{ __to_next = __to; return noconv; } -- --codecvt_base::result --codecvt::do_in (mbstate_t& /* __state */ , -- const char* __from, -- const char* /* __from_end */, -- const char*& __from_next, -- char* __to, -- char* /* __to_end */, -- char*& __to_next) const --{ __from_next = __from; __to_next = __to; return noconv; } -- --codecvt_base::result --codecvt::do_out(mbstate_t& /* __state */, -- const char* __from, -- const char* /* __from_end */, -- const char*& __from_next, -- char* __to, -- char* /* __to_limit */, -- char*& __to_next) const --{ __from_next = __from; __to_next = __to; return noconv; } -- --__STL_END_NAMESPACE -- --# endif /* __STL_NO_MBSTATE_T */ -- --// Local Variables: --// mode:C++ --// End: -- -+/* -+ * Copyright (c) 1999 -+ * Silicon Graphics Computer Systems, Inc. -+ * -+ * Copyright (c) 1999 -+ * Boris Fomitchev -+ * -+ * This material is provided "as is", with absolutely no warranty expressed -+ * or implied. Any use is at your own risk. -+ * -+ * Permission to use or copy this software for any purpose is hereby granted -+ * without fee, provided the above notices are retained on all copies. -+ * Permission to modify the code and to distribute modified code is granted, -+ * provided the above notices are retained, and a notice that the code was -+ * modified is included with the above copyright notice. -+ * -+ */ -+# include "stlport_prefix.h" -+ -+# ifndef _STLP_NO_MBSTATE_T -+ -+#include -+#include -+ -+_STLP_BEGIN_NAMESPACE -+ -+//---------------------------------------------------------------------- -+// codecvt -+ -+codecvt::~codecvt() {} -+ -+int codecvt::do_length(const mbstate_t&, -+ const char* from, -+ const char* end, -+ size_t mx) const -+{ -+ return (int)(min) ( __STATIC_CAST(size_t, (end - from)), mx); -+} -+ -+int codecvt::do_max_length() const _STLP_NOTHROW -+{ -+ return 1; -+} -+ -+bool -+codecvt::do_always_noconv() const _STLP_NOTHROW -+{ -+ return true; -+} -+ -+int -+codecvt::do_encoding() const _STLP_NOTHROW -+{ -+ return 1; -+} -+ -+ -+codecvt_base::result -+codecvt::do_unshift(mbstate_t& /* __state */, -+ char* __to, -+ char* /* __to_limit */, -+ char*& __to_next) const -+{ __to_next = __to; return noconv; } -+ -+codecvt_base::result -+codecvt::do_in (mbstate_t& /* __state */ , -+ const char* __from, -+ const char* /* __from_end */, -+ const char*& __from_next, -+ char* __to, -+ char* /* __to_end */, -+ char*& __to_next) const -+{ __from_next = __from; __to_next = __to; return noconv; } -+ -+codecvt_base::result -+codecvt::do_out(mbstate_t& /* __state */, -+ const char* __from, -+ const char* /* __from_end */, -+ const char*& __from_next, -+ char* __to, -+ char* /* __to_limit */, -+ char*& __to_next) const -+{ __from_next = __from; __to_next = __to; return noconv; } -+ -+ -+# ifndef _STLP_NO_WCHAR_T -+//---------------------------------------------------------------------- -+// codecvt -+ -+codecvt::~codecvt() {} -+ -+ -+codecvt::result -+codecvt::do_out(state_type& /* state */, -+ const intern_type* from, -+ const intern_type* from_end, -+ const intern_type*& from_next, -+ extern_type* to, -+ extern_type* to_limit, -+ extern_type*& to_next) const -+{ -+ ptrdiff_t len = (min) (from_end - from, to_limit - to); -+ copy(from, from + len, to); -+ from_next = from + len; -+ to_next = to + len; -+ return ok; -+} -+ -+codecvt::result -+codecvt::do_in (state_type& /* state */, -+ const extern_type* from, -+ const extern_type* from_end, -+ const extern_type*& from_next, -+ intern_type* to, -+ intern_type* to_limit, -+ intern_type*& to_next) const -+{ -+ ptrdiff_t len = (min) (from_end - from, to_limit - to); -+ copy(from, from + len, to); -+ from_next = from + len; -+ to_next = to + len; -+ return ok; -+} -+ -+codecvt::result -+codecvt::do_unshift(state_type& /* state */, -+ extern_type* to, -+ extern_type* , -+ extern_type*& to_next) const -+{ -+ to_next = to; -+ return noconv; -+} -+ -+int codecvt::do_encoding() const _STLP_NOTHROW { -+ return 1; -+} -+ -+ -+bool codecvt::do_always_noconv() const _STLP_NOTHROW -+{ -+ return true; -+} -+ -+int codecvt::do_length(const state_type&, -+ const extern_type* from, -+ const extern_type* end, -+ size_t mx) const -+{ -+ return (int)(min) ((size_t) (end - from), mx); -+} -+ -+int codecvt::do_max_length() const _STLP_NOTHROW { -+ return 1; -+} -+# endif /* wchar_t */ -+ -+_STLP_END_NAMESPACE -+ -+# endif /* _STLP_NO_MBSTATE_T */ -+ -+// Local Variables: -+// mode:C++ -+// End: -+ -Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: codecvt_byname.cpp -Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: codecvt_w.cpp -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/collate.cpp tripwire-2.3.1-2/src/STLport-4.0/src/collate.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/collate.cpp Sat Feb 24 10:44:06 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/collate.cpp Sun Aug 11 18:59:22 2002 -@@ -1,76 +1,83 @@ --/* -- * Copyright (c) 1999 -- * Silicon Graphics Computer Systems, Inc. -- * -- * Copyright (c) 1999 -- * Boris Fomitchev -- * -- * This material is provided "as is", with absolutely no warranty expressed -- * or implied. Any use is at your own risk. -- * -- * Permission to use or copy this software for any purpose is hereby granted -- * without fee, provided the above notices are retained on all copies. -- * Permission to modify the code and to distribute modified code is granted, -- * provided the above notices are retained, and a notice that the code was -- * modified is included with the above copyright notice. -- * -- */ --# include "stlport_prefix.h" -- --#include -- --//*TY 05/01/2000 - removed unnecessary workaround --//#if defined(__MRC__)||defined(__SC__) //*TY 03/04/2000 - added workaround for MPW compilers; to force its instantiation which the compiler forget to do so implicitly --//template void std::_String_base >::_M_throw_length_error() const; --//#endif //*TY 03/04/2000 - -- --#include -- --#include --#include -- --__STL_BEGIN_NAMESPACE -- --// collate -- --collate::collate(size_t refs) --#if !(defined(__MRC__) || defined(__SC__) ) //*TY 04/29/2000 - added workaround for mpw -- : locale::facet(refs) --#else //*TY 04/29/2000 - -- : _facet(refs) //*TY 04/29/2000 - they forget to look into the nested class for the ctor --#endif //*TY 04/29/2000 - --{} -- --collate::~collate() --{} -- --int collate::do_compare(const char* low1, const char* high1, -- const char* low2, const char* high2) const --{ -- return __lexicographical_compare_3way(low1, high1, low2, high2); --} -- --string collate::transform(const char* low, const char* high) const --{ -- return do_transform(low, high); --} -- --string collate::do_transform(const char* low, const char* high) const --{ -- return string(low, high); --} -- --long collate::do_hash(const char* low, const char* high) const { -- unsigned long result = 0; -- for ( ; low < high; ++low) -- result = 5 * result + *low; -- return result; --} -- --__STL_END_NAMESPACE -- -- --// Local Variables: --// mode:C++ --// End: -- -+/* -+ * Copyright (c) 1999 -+ * Silicon Graphics Computer Systems, Inc. -+ * -+ * Copyright (c) 1999 -+ * Boris Fomitchev -+ * -+ * This material is provided "as is", with absolutely no warranty expressed -+ * or implied. Any use is at your own risk. -+ * -+ * Permission to use or copy this software for any purpose is hereby granted -+ * without fee, provided the above notices are retained on all copies. -+ * Permission to modify the code and to distribute modified code is granted, -+ * provided the above notices are retained, and a notice that the code was -+ * modified is included with the above copyright notice. -+ * -+ */ -+# include "stlport_prefix.h" -+ -+#include "stl/_collate.h" -+ -+_STLP_BEGIN_NAMESPACE -+ -+// collate -+ -+collate::~collate() {} -+ -+int collate::do_compare(const char* low1, const char* high1, -+ const char* low2, const char* high2) const -+{ -+ return __lexicographical_compare_3way(low1, high1, low2, high2); -+} -+ -+string collate::do_transform(const char* low, const char* high) const -+{ -+ return string(low, high); -+} -+ -+long collate::do_hash(const char* low, const char* high) const { -+ unsigned long result = 0; -+ for ( ; low < high; ++low) -+ result = 5 * result + *low; -+ return result; -+} -+ -+ -+ -+ -+# ifndef _STLP_NO_WCHAR_T -+// collate -+ -+collate::~collate() {} -+ -+int -+collate::do_compare(const wchar_t* low1, const wchar_t* high1, -+ const wchar_t* low2, const wchar_t* high2) const -+{ -+ return __lexicographical_compare_3way(low1, high1, low2, high2); -+} -+ -+ -+wstring -+collate::do_transform(const wchar_t* low, const wchar_t* high) const -+{ -+ return wstring(low, high); -+} -+ -+long collate::do_hash(const wchar_t* low, const wchar_t* high) const -+{ -+ unsigned long result = 0; -+ for ( ; low < high; ++low) -+ result = 5 * result + *low; -+ return result; -+} -+# endif -+ -+_STLP_END_NAMESPACE -+ -+ -+// Local Variables: -+// mode:C++ -+// End: -+ -Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: collate_byname.cpp -Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: collate_byname_w.cpp -Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: collate_w.cpp -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/common_macros.mak tripwire-2.3.1-2/src/STLport-4.0/src/common_macros.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/common_macros.mak Sat Feb 24 10:44:06 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/common_macros.mak Sun Aug 11 18:59:22 2002 -@@ -1,19 +1,57 @@ -+SHELL=/bin/sh -+ -+# -+# Versioning -+# -+VERSION_MAJOR=4 -+VERSION_MINOR=5 -+ -+# This one is not always present; it should be empty for release versions. -+# We do not assume any binary compatibility for betas. -+BETA_SUFFIX= -+ -+VERSION_SUFFIX= .$(VERSION_MAJOR).$(VERSION_MINOR)$(BETA_SUFFIX) -+WIN_VERSION_SUFFIX= $(VERSION_MAJOR)$(VERSION_MINOR)$(BETA_SUFFIX) -+ -+# DYNAMIC_SUFFIX= $(VERSION_SUFFIX)$(PATCH_SUFFIX) -+DYNAMIC_SUFFIX= $(VERSION_SUFFIX) -+WIN_DYNAMIC_SUFFIX= $(WIN_VERSION_SUFFIX) -+ - # - # Directories - # - # - - SRCDIR=. --STLPORT_DIR=..$(PATH_SEP)stlport --OUTDIR=..$(PATH_SEP)lib -+STLPORT_DIR=$(CUR_DIR)..$(PATH_SEP)stlport -+OUTDIR=$(CUR_DIR)..$(PATH_SEP)lib -+OBJDIR_COMMON=$(OUTDIR)$(PATH_SEP)obj -+OBJDIR=$(OUTDIR)$(PATH_SEP)obj$(PATH_SEP)$(COMP) -+ -+RELEASE_OBJDIR_static=$(OBJDIR)$(PATH_SEP)Release -+DEBUG_OBJDIR_static=$(OBJDIR)$(PATH_SEP)Debug -+STLDEBUG_OBJDIR_static=$(OBJDIR)$(PATH_SEP)DebugSTL -+RELEASE_OBJDIR_staticx=$(OBJDIR)$(PATH_SEP)Releasex -+DEBUG_OBJDIR_staticx=$(OBJDIR)$(PATH_SEP)Debugx -+STLDEBUG_OBJDIR_staticx=$(OBJDIR)$(PATH_SEP)DebugSTLx -+RELEASE_OBJDIR_dynamic=$(OBJDIR)$(PATH_SEP)ReleaseD -+DEBUG_OBJDIR_dynamic=$(OBJDIR)$(PATH_SEP)DebugD -+STLDEBUG_OBJDIR_dynamic=$(OBJDIR)$(PATH_SEP)DebugSTLD - --RELEASE_OBJDIR_static=obj$(PATH_SEP)$(COMP)$(PATH_SEP)Release --DEBUG_OBJDIR_static=obj$(PATH_SEP)$(COMP)$(PATH_SEP)Debug --STLDEBUG_OBJDIR_static=obj$(PATH_SEP)$(COMP)$(PATH_SEP)DebugSTL --RELEASE_OBJDIR_dynamic=obj$(PATH_SEP)$(COMP)$(PATH_SEP)ReleaseD --DEBUG_OBJDIR_dynamic=obj$(PATH_SEP)$(COMP)$(PATH_SEP)DebugD --STLDEBUG_OBJDIR_dynamic=obj$(PATH_SEP)$(COMP)$(PATH_SEP)DebugSTLD -+# -+# By default on UNIX, STLport headers go into /usr/local/include/stlport, -+# and libraries go into /usr/local/lib. Please override any of them if desired. -+# - -+INSTALLDIR=/usr/local -+# INSTALLDIR=/tmp -+INSTALLDIR_INC=$(INSTALLDIR)/include/stlport -+INSTALLDIR_LIB=$(INSTALLDIR)/lib -+ -+RM = rm -fr -+INSTALL = ./install.sh -c -+INSTALL_LIB = $(INSTALL) -+INSTALL_H = $(INSTALL) -m 444 - - # - # -@@ -24,411 +62,355 @@ - DEBUG_NAME=$(LIB_BASENAME)_debug - STLDEBUG_NAME=$(LIB_BASENAME)_stldebug - --RELEASE_DYNLIB=$(RELEASE_NAME).$(DYNEXT) --DEBUG_DYNLIB=$(DEBUG_NAME).$(DYNEXT) --STLDEBUG_DYNLIB=$(STLDEBUG_NAME).$(DYNEXT) -+RELEASE_DYNLIB=$(RELEASE_NAME).$(DYNEXT)$(DYNAMIC_SUFFIX) -+DEBUG_DYNLIB=$(DEBUG_NAME).$(DYNEXT)$(DYNAMIC_SUFFIX) -+STLDEBUG_DYNLIB=$(STLDEBUG_NAME).$(DYNEXT)$(DYNAMIC_SUFFIX) -+ -+RELEASE_DYNLIB_SONAME=$(RELEASE_NAME).$(DYNEXT)$(VERSION_SUFFIX) -+DEBUG_DYNLIB_SONAME=$(DEBUG_NAME).$(DYNEXT)$(VERSION_SUFFIX) -+STLDEBUG_DYNLIB_SONAME=$(STLDEBUG_NAME).$(DYNEXT)$(VERSION_SUFFIX) - - RELEASE_LIB=$(RELEASE_NAME)$(STATIC_SUFFIX).$(STEXT) - DEBUG_LIB=$(DEBUG_NAME)$(STATIC_SUFFIX).$(STEXT) - STLDEBUG_LIB=$(STLDEBUG_NAME)$(STATIC_SUFFIX).$(STEXT) - --ALL_STATIC_LIBS=$(OUTDIR)$(PATH_SEP)$(RELEASE_LIB) $(OUTDIR)$(PATH_SEP)$(DEBUG_LIB) $(OUTDIR)$(PATH_SEP)$(STLDEBUG_LIB) -+RELEASEX_LIB=$(RELEASE_NAME)$(STATIC_SUFFIX)x.$(STEXT) -+DEBUGX_LIB=$(DEBUG_NAME)$(STATIC_SUFFIX)x.$(STEXT) -+STLDEBUGX_LIB=$(STLDEBUG_NAME)$(STATIC_SUFFIX)x.$(STEXT) -+ -+ALL_STATIC_LIBS=$(OUTDIR)$(PATH_SEP)$(RELEASE_LIB) $(OUTDIR)$(PATH_SEP)$(STLDEBUG_LIB) -+DEBUG_STATIC_LIBS=$(ALL_STATIC_LIBS) $(OUTDIR)$(PATH_SEP)$(DEBUG_LIB) -+ -+ALL_STATICX_LIBS=$(OUTDIR)$(PATH_SEP)$(RELEASEX_LIB) $(OUTDIR)$(PATH_SEP)$(STLDEBUGX_LIB) -+DEBUG_STATICX_LIBS=$(ALL_STATICX_LIBS) $(OUTDIR)$(PATH_SEP)$(DEBUGX_LIB) -+ -+ALL_DYNAMIC_LIBS=$(OUTDIR)$(PATH_SEP)$(RELEASE_DYNLIB) $(OUTDIR)$(PATH_SEP)$(STLDEBUG_DYNLIB) -+DEBUG_DYNAMIC_LIBS=$(OUTDIR)$(PATH_SEP)$(RELEASE_DYNLIB) $(OUTDIR)$(PATH_SEP)$(STLDEBUG_DYNLIB) - --ALL_DYNAMIC_LIBS=$(OUTDIR)$(PATH_SEP)$(RELEASE_DYNLIB) $(OUTDIR)$(PATH_SEP)$(DEBUG_DYNLIB) $(OUTDIR)$(PATH_SEP)$(STLDEBUG_DYNLIB) - - RELEASE_OBJECTS_static= \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ - $(RELEASE_OBJDIR_static)$(PATH_SEP)dll_main.$(OBJEXT) \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)range_errors.$(OBJEXT) \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)string.$(OBJEXT) \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)ios_base.$(OBJEXT) \ -+$(RELEASE_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ -+$(RELEASE_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ -+$(RELEASE_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ - $(RELEASE_OBJDIR_static)$(PATH_SEP)ios.$(OBJEXT) \ - $(RELEASE_OBJDIR_static)$(PATH_SEP)streambuf.$(OBJEXT) \ - $(RELEASE_OBJDIR_static)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ -+$(RELEASE_OBJDIR_static)$(PATH_SEP)istream.$(OBJEXT) \ -+$(RELEASE_OBJDIR_static)$(PATH_SEP)ostream.$(OBJEXT) \ - $(RELEASE_OBJDIR_static)$(PATH_SEP)iostream.$(OBJEXT) \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)c_locale.$(OBJEXT) \ - $(RELEASE_OBJDIR_static)$(PATH_SEP)codecvt.$(OBJEXT) \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)codecvt_byname.$(OBJEXT) \ - $(RELEASE_OBJDIR_static)$(PATH_SEP)collate.$(OBJEXT) \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)collate_byname.$(OBJEXT) \ - $(RELEASE_OBJDIR_static)$(PATH_SEP)ctype.$(OBJEXT) \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)ctype_byname.$(OBJEXT) \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)message_facets.$(OBJEXT) \ - $(RELEASE_OBJDIR_static)$(PATH_SEP)monetary.$(OBJEXT) \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)money_get.$(OBJEXT) \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)money_put.$(OBJEXT) \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)moneypunct.$(OBJEXT) \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)moneypunct_byname.$(OBJEXT) \ - $(RELEASE_OBJDIR_static)$(PATH_SEP)num_get.$(OBJEXT) \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)num_get_float.$(OBJEXT) \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)num_get_inst.$(OBJEXT) \ - $(RELEASE_OBJDIR_static)$(PATH_SEP)num_put.$(OBJEXT) \ -+$(RELEASE_OBJDIR_static)$(PATH_SEP)num_get_float.$(OBJEXT) \ - $(RELEASE_OBJDIR_static)$(PATH_SEP)num_put_float.$(OBJEXT) \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)num_put_inst.$(OBJEXT) \ - $(RELEASE_OBJDIR_static)$(PATH_SEP)numpunct.$(OBJEXT) \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)numpunct_byname.$(OBJEXT) \ - $(RELEASE_OBJDIR_static)$(PATH_SEP)time_facets.$(OBJEXT) \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)time_get.$(OBJEXT) \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)time_put.$(OBJEXT) \ -+$(RELEASE_OBJDIR_static)$(PATH_SEP)messages.$(OBJEXT) \ -+$(RELEASE_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ -+$(RELEASE_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ -+$(RELEASE_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ -+$(RELEASE_OBJDIR_static)$(PATH_SEP)facets_byname.$(OBJEXT) \ -+$(RELEASE_OBJDIR_static)$(PATH_SEP)c_locale.$(OBJEXT) \ -+$(RELEASE_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ -+$(RELEASE_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ -+$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ -+$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ -+$(RELEASE_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ - $(RELEASE_OBJDIR_static)$(PATH_SEP)complex_io_w.$(OBJEXT) \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)ctype_byname_w.$(OBJEXT) \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)fstream_w.$(OBJEXT) \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)codecvt_w.$(OBJEXT) \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)collate_byname_w.$(OBJEXT) \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)collate_w.$(OBJEXT) \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)ctype_w.$(OBJEXT) \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)ios_w.$(OBJEXT) \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)message_facets_w.$(OBJEXT) \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)money_get_w.$(OBJEXT) \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)money_put_w.$(OBJEXT) \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)moneypunct_byname_w.$(OBJEXT) \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)moneypunct_w.$(OBJEXT) \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)num_get_inst_w.$(OBJEXT) \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)num_put_inst_w.$(OBJEXT) \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)numpunct_w.$(OBJEXT) \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)time_get_w.$(OBJEXT) \ --$(RELEASE_OBJDIR_static)$(PATH_SEP)time_put_w.$(OBJEXT) -- -+$(RELEASE_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) - - - DEBUG_OBJECTS_static= \ - $(DEBUG_OBJDIR_static)$(PATH_SEP)dll_main.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)range_errors.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)string.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)ios_base.$(OBJEXT) \ -+$(DEBUG_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ -+$(DEBUG_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ -+$(DEBUG_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ - $(DEBUG_OBJDIR_static)$(PATH_SEP)ios.$(OBJEXT) \ - $(DEBUG_OBJDIR_static)$(PATH_SEP)streambuf.$(OBJEXT) \ - $(DEBUG_OBJDIR_static)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ -+$(DEBUG_OBJDIR_static)$(PATH_SEP)istream.$(OBJEXT) \ -+$(DEBUG_OBJDIR_static)$(PATH_SEP)ostream.$(OBJEXT) \ - $(DEBUG_OBJDIR_static)$(PATH_SEP)iostream.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)c_locale.$(OBJEXT) \ - $(DEBUG_OBJDIR_static)$(PATH_SEP)codecvt.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)codecvt_byname.$(OBJEXT) \ - $(DEBUG_OBJDIR_static)$(PATH_SEP)collate.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)collate_byname.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ - $(DEBUG_OBJDIR_static)$(PATH_SEP)ctype.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)ctype_byname.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)message_facets.$(OBJEXT) \ - $(DEBUG_OBJDIR_static)$(PATH_SEP)monetary.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)money_get.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)money_put.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)moneypunct.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)moneypunct_byname.$(OBJEXT) \ - $(DEBUG_OBJDIR_static)$(PATH_SEP)num_get.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)num_get_float.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)num_get_inst.$(OBJEXT) \ - $(DEBUG_OBJDIR_static)$(PATH_SEP)num_put.$(OBJEXT) \ -+$(DEBUG_OBJDIR_static)$(PATH_SEP)num_get_float.$(OBJEXT) \ - $(DEBUG_OBJDIR_static)$(PATH_SEP)num_put_float.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)num_put_inst.$(OBJEXT) \ - $(DEBUG_OBJDIR_static)$(PATH_SEP)numpunct.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)numpunct_byname.$(OBJEXT) \ - $(DEBUG_OBJDIR_static)$(PATH_SEP)time_facets.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)time_get.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)time_put.$(OBJEXT) \ -+$(DEBUG_OBJDIR_static)$(PATH_SEP)messages.$(OBJEXT) \ -+$(DEBUG_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ -+$(DEBUG_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ -+$(DEBUG_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ -+$(DEBUG_OBJDIR_static)$(PATH_SEP)facets_byname.$(OBJEXT) \ -+$(DEBUG_OBJDIR_static)$(PATH_SEP)c_locale.$(OBJEXT) \ -+$(DEBUG_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ -+$(DEBUG_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ -+$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ -+$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ -+$(DEBUG_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ - $(DEBUG_OBJDIR_static)$(PATH_SEP)complex_io_w.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)ctype_byname_w.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)fstream_w.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)codecvt_w.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)collate_byname_w.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)collate_w.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)ctype_w.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)ios_w.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)message_facets_w.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)money_get_w.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)money_put_w.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)moneypunct_byname_w.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)moneypunct_w.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)num_get_inst_w.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)num_put_inst_w.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)numpunct_w.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)time_get_w.$(OBJEXT) \ --$(DEBUG_OBJDIR_static)$(PATH_SEP)time_put_w.$(OBJEXT) -- -- -+$(DEBUG_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) - - STLDEBUG_OBJECTS_static= \ - $(STLDEBUG_OBJDIR_static)$(PATH_SEP)dll_main.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)range_errors.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)string.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ios_base.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ - $(STLDEBUG_OBJDIR_static)$(PATH_SEP)ios.$(OBJEXT) \ - $(STLDEBUG_OBJDIR_static)$(PATH_SEP)streambuf.$(OBJEXT) \ - $(STLDEBUG_OBJDIR_static)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)istream.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ostream.$(OBJEXT) \ - $(STLDEBUG_OBJDIR_static)$(PATH_SEP)iostream.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)fstream.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)strstream.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)sstream.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)c_locale.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ - $(STLDEBUG_OBJDIR_static)$(PATH_SEP)codecvt.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)codecvt_byname.$(OBJEXT) \ - $(STLDEBUG_OBJDIR_static)$(PATH_SEP)collate.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)collate_byname.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ - $(STLDEBUG_OBJDIR_static)$(PATH_SEP)ctype.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ctype_byname.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)message_facets.$(OBJEXT) \ - $(STLDEBUG_OBJDIR_static)$(PATH_SEP)monetary.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)money_get.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)money_put.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)moneypunct.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)moneypunct_byname.$(OBJEXT) \ - $(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_get.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_get_float.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_get_inst.$(OBJEXT) \ - $(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_put.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_get_float.$(OBJEXT) \ - $(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_put_float.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_put_inst.$(OBJEXT) \ - $(STLDEBUG_OBJDIR_static)$(PATH_SEP)numpunct.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)numpunct_byname.$(OBJEXT) \ - $(STLDEBUG_OBJDIR_static)$(PATH_SEP)time_facets.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)time_get.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)time_put.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)messages.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale_impl.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)locale_catalog.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)facets_byname.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)c_locale.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_exp.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_io.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_trig.$(OBJEXT) \ - $(STLDEBUG_OBJDIR_static)$(PATH_SEP)complex_io_w.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)time_get_w.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ctype_byname_w.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)fstream_w.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)codecvt_w.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)collate_byname_w.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)collate_w.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ctype_w.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)ios_w.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)message_facets_w.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)money_get_w.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)money_put_w.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)moneypunct_byname_w.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)moneypunct_w.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_get_inst_w.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)num_put_inst_w.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)numpunct_w.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_static)$(PATH_SEP)time_put_w.$(OBJEXT) -+$(STLDEBUG_OBJDIR_static)$(PATH_SEP)string_w.$(OBJEXT) -+ -+########################################################### -+ -+RELEASE_OBJECTS_staticx= \ -+$(RELEASE_OBJDIR_staticx)$(PATH_SEP)dll_main.$(OBJEXT) \ -+$(RELEASE_OBJDIR_staticx)$(PATH_SEP)fstream.$(OBJEXT) \ -+$(RELEASE_OBJDIR_staticx)$(PATH_SEP)strstream.$(OBJEXT) \ -+$(RELEASE_OBJDIR_staticx)$(PATH_SEP)sstream.$(OBJEXT) \ -+$(RELEASE_OBJDIR_staticx)$(PATH_SEP)ios.$(OBJEXT) \ -+$(RELEASE_OBJDIR_staticx)$(PATH_SEP)streambuf.$(OBJEXT) \ -+$(RELEASE_OBJDIR_staticx)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ -+$(RELEASE_OBJDIR_staticx)$(PATH_SEP)istream.$(OBJEXT) \ -+$(RELEASE_OBJDIR_staticx)$(PATH_SEP)ostream.$(OBJEXT) \ -+$(RELEASE_OBJDIR_staticx)$(PATH_SEP)iostream.$(OBJEXT) \ -+$(RELEASE_OBJDIR_staticx)$(PATH_SEP)codecvt.$(OBJEXT) \ -+$(RELEASE_OBJDIR_staticx)$(PATH_SEP)collate.$(OBJEXT) \ -+$(RELEASE_OBJDIR_staticx)$(PATH_SEP)ctype.$(OBJEXT) \ -+$(RELEASE_OBJDIR_staticx)$(PATH_SEP)monetary.$(OBJEXT) \ -+$(RELEASE_OBJDIR_staticx)$(PATH_SEP)num_get.$(OBJEXT) \ -+$(RELEASE_OBJDIR_staticx)$(PATH_SEP)num_put.$(OBJEXT) \ -+$(RELEASE_OBJDIR_staticx)$(PATH_SEP)num_get_float.$(OBJEXT) \ -+$(RELEASE_OBJDIR_staticx)$(PATH_SEP)num_put_float.$(OBJEXT) \ -+$(RELEASE_OBJDIR_staticx)$(PATH_SEP)numpunct.$(OBJEXT) \ -+$(RELEASE_OBJDIR_staticx)$(PATH_SEP)time_facets.$(OBJEXT) \ -+$(RELEASE_OBJDIR_staticx)$(PATH_SEP)messages.$(OBJEXT) \ -+$(RELEASE_OBJDIR_staticx)$(PATH_SEP)locale_impl.$(OBJEXT) \ -+$(RELEASE_OBJDIR_staticx)$(PATH_SEP)locale.$(OBJEXT) \ -+$(RELEASE_OBJDIR_staticx)$(PATH_SEP)locale_catalog.$(OBJEXT) \ -+$(RELEASE_OBJDIR_staticx)$(PATH_SEP)facets_byname.$(OBJEXT) \ -+$(RELEASE_OBJDIR_staticx)$(PATH_SEP)c_locale.$(OBJEXT) \ -+$(RELEASE_OBJDIR_staticx)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ -+$(RELEASE_OBJDIR_staticx)$(PATH_SEP)complex.$(OBJEXT) \ -+$(RELEASE_OBJDIR_staticx)$(PATH_SEP)complex_exp.$(OBJEXT) \ -+$(RELEASE_OBJDIR_staticx)$(PATH_SEP)complex_io.$(OBJEXT) \ -+$(RELEASE_OBJDIR_staticx)$(PATH_SEP)complex_trig.$(OBJEXT) \ -+$(RELEASE_OBJDIR_staticx)$(PATH_SEP)complex_io_w.$(OBJEXT) \ -+$(RELEASE_OBJDIR_staticx)$(PATH_SEP)string_w.$(OBJEXT) -+ -+ -+DEBUG_OBJECTS_staticx= \ -+$(DEBUG_OBJDIR_staticx)$(PATH_SEP)dll_main.$(OBJEXT) \ -+$(DEBUG_OBJDIR_staticx)$(PATH_SEP)fstream.$(OBJEXT) \ -+$(DEBUG_OBJDIR_staticx)$(PATH_SEP)strstream.$(OBJEXT) \ -+$(DEBUG_OBJDIR_staticx)$(PATH_SEP)sstream.$(OBJEXT) \ -+$(DEBUG_OBJDIR_staticx)$(PATH_SEP)ios.$(OBJEXT) \ -+$(DEBUG_OBJDIR_staticx)$(PATH_SEP)streambuf.$(OBJEXT) \ -+$(DEBUG_OBJDIR_staticx)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ -+$(DEBUG_OBJDIR_staticx)$(PATH_SEP)istream.$(OBJEXT) \ -+$(DEBUG_OBJDIR_staticx)$(PATH_SEP)ostream.$(OBJEXT) \ -+$(DEBUG_OBJDIR_staticx)$(PATH_SEP)iostream.$(OBJEXT) \ -+$(DEBUG_OBJDIR_staticx)$(PATH_SEP)codecvt.$(OBJEXT) \ -+$(DEBUG_OBJDIR_staticx)$(PATH_SEP)collate.$(OBJEXT) \ -+$(DEBUG_OBJDIR_staticx)$(PATH_SEP)ctype.$(OBJEXT) \ -+$(DEBUG_OBJDIR_staticx)$(PATH_SEP)monetary.$(OBJEXT) \ -+$(DEBUG_OBJDIR_staticx)$(PATH_SEP)num_get.$(OBJEXT) \ -+$(DEBUG_OBJDIR_staticx)$(PATH_SEP)num_put.$(OBJEXT) \ -+$(DEBUG_OBJDIR_staticx)$(PATH_SEP)num_get_float.$(OBJEXT) \ -+$(DEBUG_OBJDIR_staticx)$(PATH_SEP)num_put_float.$(OBJEXT) \ -+$(DEBUG_OBJDIR_staticx)$(PATH_SEP)numpunct.$(OBJEXT) \ -+$(DEBUG_OBJDIR_staticx)$(PATH_SEP)time_facets.$(OBJEXT) \ -+$(DEBUG_OBJDIR_staticx)$(PATH_SEP)messages.$(OBJEXT) \ -+$(DEBUG_OBJDIR_staticx)$(PATH_SEP)locale_impl.$(OBJEXT) \ -+$(DEBUG_OBJDIR_staticx)$(PATH_SEP)locale.$(OBJEXT) \ -+$(DEBUG_OBJDIR_staticx)$(PATH_SEP)locale_catalog.$(OBJEXT) \ -+$(DEBUG_OBJDIR_staticx)$(PATH_SEP)facets_byname.$(OBJEXT) \ -+$(DEBUG_OBJDIR_staticx)$(PATH_SEP)c_locale.$(OBJEXT) \ -+$(DEBUG_OBJDIR_staticx)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ -+$(DEBUG_OBJDIR_staticx)$(PATH_SEP)complex.$(OBJEXT) \ -+$(DEBUG_OBJDIR_staticx)$(PATH_SEP)complex_exp.$(OBJEXT) \ -+$(DEBUG_OBJDIR_staticx)$(PATH_SEP)complex_io.$(OBJEXT) \ -+$(DEBUG_OBJDIR_staticx)$(PATH_SEP)complex_trig.$(OBJEXT) \ -+$(DEBUG_OBJDIR_staticx)$(PATH_SEP)complex_io_w.$(OBJEXT) \ -+$(DEBUG_OBJDIR_staticx)$(PATH_SEP)string_w.$(OBJEXT) -+ -+STLDEBUG_OBJECTS_staticx= \ -+$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)dll_main.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)fstream.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)strstream.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)sstream.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)ios.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)streambuf.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)istream.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)ostream.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)iostream.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)codecvt.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)collate.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)ctype.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)monetary.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)num_get.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)num_put.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)num_get_float.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)num_put_float.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)numpunct.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)time_facets.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)messages.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)locale_impl.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)locale.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)locale_catalog.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)facets_byname.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)c_locale.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)complex.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)complex_exp.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)complex_io.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)complex_trig.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)complex_io_w.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_staticx)$(PATH_SEP)string_w.$(OBJEXT) -+ - - ########################################################### - - RELEASE_OBJECTS_dynamic= \ - $(RELEASE_OBJDIR_dynamic)$(PATH_SEP)dll_main.$(OBJEXT) \ --$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)range_errors.$(OBJEXT) \ --$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)string.$(OBJEXT) \ --$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)ios_base.$(OBJEXT) \ -+$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)fstream.$(OBJEXT) \ -+$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)strstream.$(OBJEXT) \ -+$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)sstream.$(OBJEXT) \ - $(RELEASE_OBJDIR_dynamic)$(PATH_SEP)ios.$(OBJEXT) \ - $(RELEASE_OBJDIR_dynamic)$(PATH_SEP)streambuf.$(OBJEXT) \ - $(RELEASE_OBJDIR_dynamic)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ -+$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)istream.$(OBJEXT) \ -+$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)ostream.$(OBJEXT) \ - $(RELEASE_OBJDIR_dynamic)$(PATH_SEP)iostream.$(OBJEXT) \ --$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)fstream.$(OBJEXT) \ --$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)strstream.$(OBJEXT) \ --$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)sstream.$(OBJEXT) \ --$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)c_locale.$(OBJEXT) \ --$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ - $(RELEASE_OBJDIR_dynamic)$(PATH_SEP)codecvt.$(OBJEXT) \ --$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)codecvt_byname.$(OBJEXT) \ - $(RELEASE_OBJDIR_dynamic)$(PATH_SEP)collate.$(OBJEXT) \ --$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)collate_byname.$(OBJEXT) \ --$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)complex.$(OBJEXT) \ --$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)complex_exp.$(OBJEXT) \ --$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)complex_io.$(OBJEXT) \ --$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)complex_trig.$(OBJEXT) \ - $(RELEASE_OBJDIR_dynamic)$(PATH_SEP)ctype.$(OBJEXT) \ --$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)ctype_byname.$(OBJEXT) \ --$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)locale.$(OBJEXT) \ --$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)locale_catalog.$(OBJEXT) \ --$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)locale_impl.$(OBJEXT) \ --$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)message_facets.$(OBJEXT) \ - $(RELEASE_OBJDIR_dynamic)$(PATH_SEP)monetary.$(OBJEXT) \ --$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)money_get.$(OBJEXT) \ --$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)money_put.$(OBJEXT) \ --$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)moneypunct.$(OBJEXT) \ --$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)moneypunct_byname.$(OBJEXT) \ - $(RELEASE_OBJDIR_dynamic)$(PATH_SEP)num_get.$(OBJEXT) \ --$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)num_get_float.$(OBJEXT) \ --$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)num_get_inst.$(OBJEXT) \ - $(RELEASE_OBJDIR_dynamic)$(PATH_SEP)num_put.$(OBJEXT) \ -+$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)num_get_float.$(OBJEXT) \ - $(RELEASE_OBJDIR_dynamic)$(PATH_SEP)num_put_float.$(OBJEXT) \ --$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)num_put_inst.$(OBJEXT) \ - $(RELEASE_OBJDIR_dynamic)$(PATH_SEP)numpunct.$(OBJEXT) \ --$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)numpunct_byname.$(OBJEXT) \ - $(RELEASE_OBJDIR_dynamic)$(PATH_SEP)time_facets.$(OBJEXT) \ --$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)time_get.$(OBJEXT) \ --$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)time_put.$(OBJEXT) \ -+$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)messages.$(OBJEXT) \ -+$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)locale_impl.$(OBJEXT) \ -+$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)locale.$(OBJEXT) \ -+$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)locale_catalog.$(OBJEXT) \ -+$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)facets_byname.$(OBJEXT) \ -+$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)c_locale.$(OBJEXT) \ -+$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ -+$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)complex.$(OBJEXT) \ -+$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)complex_exp.$(OBJEXT) \ -+$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)complex_io.$(OBJEXT) \ -+$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)complex_trig.$(OBJEXT) \ - $(RELEASE_OBJDIR_dynamic)$(PATH_SEP)complex_io_w.$(OBJEXT) \ --$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)ctype_byname_w.$(OBJEXT) \ --$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)fstream_w.$(OBJEXT) \ --$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)codecvt_w.$(OBJEXT) \ --$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)collate_byname_w.$(OBJEXT) \ --$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)collate_w.$(OBJEXT) \ --$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)ctype_w.$(OBJEXT) \ --$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)ios_w.$(OBJEXT) \ --$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)message_facets_w.$(OBJEXT) \ --$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)money_get_w.$(OBJEXT) \ --$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)money_put_w.$(OBJEXT) \ --$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)moneypunct_byname_w.$(OBJEXT) \ --$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)moneypunct_w.$(OBJEXT) \ --$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)num_get_inst_w.$(OBJEXT) \ --$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)num_put_inst_w.$(OBJEXT) \ --$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)numpunct_w.$(OBJEXT) \ - $(RELEASE_OBJDIR_dynamic)$(PATH_SEP)string_w.$(OBJEXT) \ --$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)time_get_w.$(OBJEXT) \ --$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)time_put_w.$(OBJEXT) \ - $(RESFILE) - - DEBUG_OBJECTS_dynamic= \ - $(DEBUG_OBJDIR_dynamic)$(PATH_SEP)dll_main.$(OBJEXT) \ --$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)range_errors.$(OBJEXT) \ --$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)string.$(OBJEXT) \ --$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)ios_base.$(OBJEXT) \ -+$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)fstream.$(OBJEXT) \ -+$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)strstream.$(OBJEXT) \ -+$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)sstream.$(OBJEXT) \ - $(DEBUG_OBJDIR_dynamic)$(PATH_SEP)ios.$(OBJEXT) \ - $(DEBUG_OBJDIR_dynamic)$(PATH_SEP)streambuf.$(OBJEXT) \ - $(DEBUG_OBJDIR_dynamic)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ -+$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)istream.$(OBJEXT) \ -+$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)ostream.$(OBJEXT) \ - $(DEBUG_OBJDIR_dynamic)$(PATH_SEP)iostream.$(OBJEXT) \ --$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)fstream.$(OBJEXT) \ --$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)strstream.$(OBJEXT) \ --$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)sstream.$(OBJEXT) \ --$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)c_locale.$(OBJEXT) \ --$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ - $(DEBUG_OBJDIR_dynamic)$(PATH_SEP)codecvt.$(OBJEXT) \ --$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)codecvt_byname.$(OBJEXT) \ - $(DEBUG_OBJDIR_dynamic)$(PATH_SEP)collate.$(OBJEXT) \ --$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)collate_byname.$(OBJEXT) \ --$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)complex.$(OBJEXT) \ --$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)complex_exp.$(OBJEXT) \ --$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)complex_io.$(OBJEXT) \ --$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)complex_trig.$(OBJEXT) \ - $(DEBUG_OBJDIR_dynamic)$(PATH_SEP)ctype.$(OBJEXT) \ --$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)ctype_byname.$(OBJEXT) \ --$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)locale.$(OBJEXT) \ --$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)locale_catalog.$(OBJEXT) \ --$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)locale_impl.$(OBJEXT) \ --$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)message_facets.$(OBJEXT) \ - $(DEBUG_OBJDIR_dynamic)$(PATH_SEP)monetary.$(OBJEXT) \ --$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)money_get.$(OBJEXT) \ --$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)money_put.$(OBJEXT) \ --$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)moneypunct.$(OBJEXT) \ --$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)moneypunct_byname.$(OBJEXT) \ - $(DEBUG_OBJDIR_dynamic)$(PATH_SEP)num_get.$(OBJEXT) \ --$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)num_get_float.$(OBJEXT) \ --$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)num_get_inst.$(OBJEXT) \ - $(DEBUG_OBJDIR_dynamic)$(PATH_SEP)num_put.$(OBJEXT) \ -+$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)num_get_float.$(OBJEXT) \ - $(DEBUG_OBJDIR_dynamic)$(PATH_SEP)num_put_float.$(OBJEXT) \ --$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)num_put_inst.$(OBJEXT) \ - $(DEBUG_OBJDIR_dynamic)$(PATH_SEP)numpunct.$(OBJEXT) \ --$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)numpunct_byname.$(OBJEXT) \ - $(DEBUG_OBJDIR_dynamic)$(PATH_SEP)time_facets.$(OBJEXT) \ --$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)time_get.$(OBJEXT) \ -+$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)messages.$(OBJEXT) \ -+$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)locale_impl.$(OBJEXT) \ -+$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)locale.$(OBJEXT) \ -+$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)locale_catalog.$(OBJEXT) \ -+$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)facets_byname.$(OBJEXT) \ -+$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)c_locale.$(OBJEXT) \ -+$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ -+$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)complex.$(OBJEXT) \ -+$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)complex_exp.$(OBJEXT) \ -+$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)complex_io.$(OBJEXT) \ -+$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)complex_trig.$(OBJEXT) \ - $(DEBUG_OBJDIR_dynamic)$(PATH_SEP)complex_io_w.$(OBJEXT) \ --$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)time_put.$(OBJEXT) \ --$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)ctype_byname_w.$(OBJEXT) \ --$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)fstream_w.$(OBJEXT) \ --$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)codecvt_w.$(OBJEXT) \ --$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)collate_byname_w.$(OBJEXT) \ --$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)collate_w.$(OBJEXT) \ --$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)ctype_w.$(OBJEXT) \ --$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)ios_w.$(OBJEXT) \ --$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)message_facets_w.$(OBJEXT) \ --$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)money_get_w.$(OBJEXT) \ --$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)money_put_w.$(OBJEXT) \ --$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)moneypunct_byname_w.$(OBJEXT) \ --$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)moneypunct_w.$(OBJEXT) \ --$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)num_get_inst_w.$(OBJEXT) \ --$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)num_put_inst_w.$(OBJEXT) \ --$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)numpunct_w.$(OBJEXT) \ - $(DEBUG_OBJDIR_dynamic)$(PATH_SEP)string_w.$(OBJEXT) \ --$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)time_get_w.$(OBJEXT) \ --$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)time_put_w.$(OBJEXT) \ - $(RESFILE_debug) - -- - STLDEBUG_OBJECTS_dynamic= \ - $(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)dll_main.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)range_errors.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)string.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)ios_base.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)fstream.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)strstream.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)sstream.$(OBJEXT) \ - $(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)ios.$(OBJEXT) \ - $(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)streambuf.$(OBJEXT) \ - $(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)stdio_streambuf.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)istream.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)ostream.$(OBJEXT) \ - $(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)iostream.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)fstream.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)strstream.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)sstream.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)c_locale.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ - $(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)codecvt.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)codecvt_byname.$(OBJEXT) \ - $(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)collate.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)collate_byname.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)complex.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)complex_exp.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)complex_io.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)complex_trig.$(OBJEXT) \ - $(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)ctype.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)ctype_byname.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)locale.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)locale_catalog.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)locale_impl.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)message_facets.$(OBJEXT) \ - $(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)monetary.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)money_get.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)money_put.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)moneypunct.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)moneypunct_byname.$(OBJEXT) \ - $(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)num_get.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)num_get_float.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)num_get_inst.$(OBJEXT) \ - $(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)num_put.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)num_get_float.$(OBJEXT) \ - $(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)num_put_float.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)num_put_inst.$(OBJEXT) \ - $(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)numpunct.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)numpunct_byname.$(OBJEXT) \ - $(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)time_facets.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)time_get.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)time_put.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)messages.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)locale_impl.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)locale.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)locale_catalog.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)facets_byname.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)c_locale.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)c_locale_stub.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)complex.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)complex_exp.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)complex_io.$(OBJEXT) \ -+$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)complex_trig.$(OBJEXT) \ - $(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)complex_io_w.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)ctype_byname_w.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)fstream_w.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)codecvt_w.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)collate_byname_w.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)collate_w.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)ctype_w.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)ios_w.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)message_facets_w.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)money_get_w.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)money_put_w.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)moneypunct_byname_w.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)moneypunct_w.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)num_get_inst_w.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)num_put_inst_w.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)numpunct_w.$(OBJEXT) \ - $(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)string_w.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)time_get_w.$(OBJEXT) \ --$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)time_put_w.$(OBJEXT) \ - $(RESFILE_stldebug) -- - - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/common_macros_windows.mak tripwire-2.3.1-2/src/STLport-4.0/src/common_macros_windows.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/common_macros_windows.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/common_macros_windows.mak Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,30 @@ -+SHELL=/bin/sh -+ -+!include common_macros.mak -+ -+# INSTALLDIR=/usr/local -+# INSTALLDIR_INC=$(INSTALLDIR)/include/stlport -+# INSTALLDIR_LIB=$(INSTALLDIR)/lib -+ -+# RM = rm -fr -+ -+# INSTALL = ./install.sh -c -+# INSTALL_LIB = $(INSTALL) -+# INSTALL_H = $(INSTALL) -m 444 -+ -+# -+# -+# Targets -+# -+ -+# those are defined "Unix way" in common_macros.mak; redefine them here -+RELEASE_DYNLIB=$(RELEASE_NAME)$(WIN_DYNAMIC_SUFFIX).$(DYNEXT) -+DEBUG_DYNLIB=$(DEBUG_NAME)$(WIN_DYNAMIC_SUFFIX).$(DYNEXT) -+STLDEBUG_DYNLIB=$(STLDEBUG_NAME)$(WIN_DYNAMIC_SUFFIX).$(DYNEXT) -+ -+RELEASE_DYNLIB_SONAME=$(RELEASE_NAME)$(WIN_VERSION_SUFFIX).$(DYNEXT) -+DEBUG_DYNLIB_SONAME=$(DEBUG_NAME)$(WIN_VERSION_SUFFIX).$(DYNEXT) -+STLDEBUG_DYNLIB_SONAME=$(STLDEBUG_NAME)$(WIN_VERSION_SUFFIX).$(DYNEXT) -+ -+ALL_DYNAMIC_LIBS=$(OUTDIR)$(PATH_SEP)$(RELEASE_DYNLIB) $(OUTDIR)$(PATH_SEP)$(STLDEBUG_DYNLIB) -+DEBUG_DYNAMIC_LIBS=$(OUTDIR)$(PATH_SEP)$(RELEASE_DYNLIB) $(OUTDIR)$(PATH_SEP)$(STLDEBUG_DYNLIB) -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/common_percent_rules.mak tripwire-2.3.1-2/src/STLport-4.0/src/common_percent_rules.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/common_percent_rules.mak Sat Feb 24 10:44:06 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/common_percent_rules.mak Sun Aug 11 18:59:22 2002 -@@ -1,3 +1,4 @@ -+ - .SUFFIXES: .cpp .c .o .so .a - - $(RELEASE_OBJDIR_static)/%.o: %.cpp -@@ -41,3 +42,5 @@ - $(CC) $(CXXFLAGS_STLDEBUG_dynamic) $< -c -o $@ - $(STLDEBUG_OBJDIR_dynamic)/%.i : %.cpp - $(CXX) $(CXXFLAGS_STLDEBUG_dynamic) $< -E $@ -+ -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/common_rules.mak tripwire-2.3.1-2/src/STLport-4.0/src/common_rules.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/common_rules.mak Sat Feb 24 10:44:06 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/common_rules.mak Sun Aug 11 18:59:22 2002 -@@ -17,14 +17,26 @@ - $(MKDIR) $(DEBUG_OBJDIR_static) - $(STLDEBUG_OBJDIR_static) : - $(MKDIR) $(STLDEBUG_OBJDIR_static) -+$(RELEASE_OBJDIR_staticx) : -+ $(MKDIR) $(RELEASE_OBJDIR_staticx) -+$(DEBUG_OBJDIR_staticx) : -+ $(MKDIR) $(DEBUG_OBJDIR_staticx) -+$(STLDEBUG_OBJDIR_staticx) : -+ $(MKDIR) $(STLDEBUG_OBJDIR_staticx) - - #create a compiler platform directory --platform: -- -@$(MKDIR) obj -- -@$(MKDIR) obj$(PATH_SEP)$(COMP) -+platform: $(PREPARE_STEP) -+ -@$(MKDIR) $(OUTDIR) -+ -@$(MKDIR) $(OBJDIR_COMMON) -+ -@$(MKDIR) $(OBJDIR) -+ -+prepare: $(PREPARE_STEP) -+ @echo "STLport installation is prepared for use in-place. No iostreams are built yet !" -+ @echo "To build and use STLport iostreams, please do : make -f all." -+ @echo "To install STLport in a designated directory, please do : make -f install." - - clean_all_obj: -- -$(RM) obj -+ -$(RM) $(OUTDIR)$(PATH_SEP)obj - - ###### Targets ################## - -@@ -32,33 +44,117 @@ - - all_dynamic : platform $(ALL_DYNAMIC_LIBS) - --install : $(INSTALL_STEP) -+all_staticx : platform $(ALL_STATICX_LIBS) -+ -+release_static : platform $(OUTDIR)$(PATH_SEP)$(RELEASE_LIB) -+ -+debug_static : platform $(OUTDIR)$(PATH_SEP)$(DEBUG_LIB) -+ -+stldebug_static : platform $(OUTDIR)$(PATH_SEP)$(STLDEBUG_LIB) -+ -+release_staticx : platform $(OUTDIR)$(PATH_SEP)$(RELEASEX_LIB) -+ -+debug_staticx : platform $(OUTDIR)$(PATH_SEP)$(DEBUGX_LIB) -+ -+stldebug_staticx : platform $(OUTDIR)$(PATH_SEP)$(STLDEBUGX_LIB) -+ -+release_dynamic : platform $(OUTDIR)$(PATH_SEP)$(RELEASE_DYNLIB) -+ -+debug_dynamic : platform $(OUTDIR)$(PATH_SEP)$(DEBUG_DYNLIB) -+ -+stldebug_dynamic : platform $(OUTDIR)$(PATH_SEP)$(STLDEBUG_DYNLIB) -+ -+install : all $(INSTALL_STEP) - - clean : $(CLEAN_SPECIFIC) -- -$(RM) $(RELEASE_OBJDIR_static) $(DEBUG_OBJDIR_static) \ -- $(STLDEBUG_OBJDIR_static) $(RELEASE_OBJDIR_dynamic) \ -- $(DEBUG_OBJDIR_dynamic) $(STLDEBUG_OBJDIR_dynamic) SunWS_cache Templates.DB tempinc -+ -$(RM) $(RELEASE_OBJDIR_static) $(DEBUG_OBJDIR_static) $(STLDEBUG_OBJDIR_static) \ -+ $(RELEASE_OBJDIR_staticx) $(DEBUG_OBJDIR_staticx) $(STLDEBUG_OBJDIR_staticx) \ -+ $(RELEASE_OBJDIR_dynamic) $(DEBUG_OBJDIR_dynamic) $(STLDEBUG_OBJDIR_dynamic) \ -+ $(OUTDIR)$(PATH_SEP)SunWS_cache SunWS_cache $(OUTDIR)$(PATH_SEP)Templates.DB Templates.DB tempinc - - clobber : clean clean_all_obj - -$(RM) $(OUTDIR)$(PATH_SEP)$(DEBUG_NAME).* \ - $(OUTDIR)$(PATH_SEP)$(RELEASE_NAME).* $(OUTDIR)$(PATH_SEP)$(STLDEBUG_NAME).* - -+HEADER_DIRS1 = . using wrap_std old_hp -+HEADER_DIRS2 = config stl stl/debug stl/wrappers using/h wrap_std/h -+ -+symbolic_links : -+ $(RM) $(OUTDIR)/$(RELEASE_NAME).$(DYNEXT) -+ $(RM) $(OUTDIR)/$(STLDEBUG_NAME).$(DYNEXT) -+ $(RM) $(OUTDIR)/$(DEBUG_NAME).$(DYNEXT) -+ ln -s $(RELEASE_DYNLIB) $(OUTDIR)/$(RELEASE_NAME).$(DYNEXT) -+ -ln -s $(DEBUG_DYNLIB) $(OUTDIR)/$(DEBUG_NAME).$(DYNEXT) -+ ln -s $(STLDEBUG_DYNLIB) $(OUTDIR)/$(STLDEBUG_NAME).$(DYNEXT) -+ -+install_unix : -+ -$(RM) $(INSTALLDIR_INC) -+ for dir in $(HEADER_DIRS1); \ -+ do \ -+ ./mkinstalldirs $(INSTALLDIR_INC)/$$dir; \ -+ for file in `cat ../stlport/$$dir/export`; \ -+ do \ -+ $(INSTALL_H) ../stlport/$$dir/$$file $(INSTALLDIR_INC)/$$dir ; \ -+ done \ -+ done -+ for dir in $(HEADER_DIRS2); \ -+ do \ -+ ./mkinstalldirs $(INSTALLDIR_INC)/$$dir; \ -+ for file in `ls ../stlport/$$dir/*.*`; \ -+ do \ -+ $(INSTALL_H) $$file $(INSTALLDIR_INC)/$$dir ; \ -+ done \ -+ done -+ ./mkinstalldirs $(INSTALLDIR_LIB) -+ for file in `ls $(OUTDIR)/$(LIB_BASENAME)*`; \ -+ do \ -+ $(RM) $(INSTALLDIR_LIB)/$$file; \ -+ $(INSTALL_LIB) $$file $(INSTALLDIR_LIB); \ -+ done -+ $(RM) $(INSTALLDIR_LIB)/$(RELEASE_NAME).$(DYNEXT) -+ $(RM) $(INSTALLDIR_LIB)/$(STLDEBUG_NAME).$(DYNEXT) -+ ln -s $(RELEASE_DYNLIB) $(INSTALLDIR_LIB)/$(RELEASE_NAME).$(DYNEXT) -+ ln -s $(STLDEBUG_DYNLIB) $(INSTALLDIR_LIB)/$(STLDEBUG_NAME).$(DYNEXT) -+ -+# ln -s $(INSTALLDIR_LIB)/$(RELEASE_DYNLIB) $(INSTALLDIR_LIB)/$(RELEASE_NAME).$(DYNEXT) -+# ln -s $(INSTALLDIR_LIB)/$(STLDEBUG_DYNLIB) $(INSTALLDIR_LIB)/$(STLDEBUG_NAME).$(DYNEXT) -+ -+install_sun : install_unix -+ for file in `cat ../stlport/$$dir/export.sun`; \ -+ do \ -+ $(INSTALL_H) ../stlport/$$dir/$$file $(INSTALLDIR_INC)/$$dir ; \ -+ done -+ - $(OUTDIR)$(PATH_SEP)$(RELEASE_DYNLIB) : $(OUTDIR) $(RELEASE_OBJDIR_dynamic) $(DEF_FILE) $(RELEASE_OBJECTS_dynamic) - $(DYN_LINK) $(DYNLINK_OUT)$(OUTDIR)$(PATH_SEP)$(RELEASE_DYNLIB) $(LDFLAGS_RELEASE_dynamic) $(RELEASE_OBJECTS_dynamic) $(LDLIBS_RELEASE_dynamic) - - $(OUTDIR)$(PATH_SEP)$(RELEASE_LIB) : $(OUTDIR) $(RELEASE_OBJDIR_static) $(DEF_FILE) $(RELEASE_OBJECTS_static) - $(LINK) $(LINK_OUT)$(OUTDIR)$(PATH_SEP)$(RELEASE_LIB) $(LDFLAGS_RELEASE_static) $(RELEASE_OBJECTS_static) $(LDLIBS_RELEASE_static) - -+$(OUTDIR)$(PATH_SEP)$(RELEASEX_LIB) : $(OUTDIR) $(RELEASE_OBJDIR_staticx) $(DEF_FILE) $(RELEASE_OBJECTS_staticx) -+ $(LINK) $(LINK_OUT)$(OUTDIR)$(PATH_SEP)$(RELEASEX_LIB) $(LDFLAGS_RELEASE_static) $(RELEASE_OBJECTS_staticx) $(LDLIBS_RELEASE_static) -+ - $(OUTDIR)$(PATH_SEP)$(DEBUG_DYNLIB) : $(OUTDIR) $(DEBUG_OBJDIR_dynamic) $(DEF_FILE) $(DEBUG_OBJECTS_dynamic) - $(DYN_LINK) $(DYNLINK_OUT)$(OUTDIR)$(PATH_SEP)$(DEBUG_DYNLIB) $(LDFLAGS_DEBUG_dynamic) $(DEBUG_OBJECTS_dynamic) $(LDLIBS_DEBUG_dynamic) - - $(OUTDIR)$(PATH_SEP)$(DEBUG_LIB) : $(OUTDIR) $(DEBUG_OBJDIR_static) $(DEF_FILE) $(DEBUG_OBJECTS_static) - $(LINK) $(LINK_OUT)$(OUTDIR)$(PATH_SEP)$(DEBUG_LIB) $(LDLIBS_DEBUG_static) $(LDFLAGS_DEBUG_static) $(DEBUG_OBJECTS_static) - -+$(OUTDIR)$(PATH_SEP)$(DEBUGX_LIB) : $(OUTDIR) $(DEBUG_OBJDIR_staticx) $(DEF_FILE) $(DEBUG_OBJECTS_staticx) -+ $(LINK) $(LINK_OUT)$(OUTDIR)$(PATH_SEP)$(DEBUGX_LIB) $(LDLIBS_DEBUG_static) $(LDFLAGS_DEBUG_static) $(DEBUG_OBJECTS_staticx) -+ - $(OUTDIR)$(PATH_SEP)$(STLDEBUG_DYNLIB) : $(OUTDIR) $(STLDEBUG_OBJDIR_dynamic) $(DEF_FILE) $(STLDEBUG_OBJECTS_dynamic) - $(DYN_LINK) $(DYNLINK_OUT)$(OUTDIR)$(PATH_SEP)$(STLDEBUG_DYNLIB) $(LDFLAGS_STLDEBUG_dynamic) $(STLDEBUG_OBJECTS_dynamic) $(LDLIBS_STLDEBUG_dynamic) - - $(OUTDIR)$(PATH_SEP)$(STLDEBUG_LIB) : $(OUTDIR) $(STLDEBUG_OBJDIR_static) $(DEF_FILE) $(STLDEBUG_OBJECTS_static) - $(LINK) $(LINK_OUT)$(OUTDIR)$(PATH_SEP)$(STLDEBUG_LIB) $(LDFLAGS_STLDEBUG_static) $(STLDEBUG_OBJECTS_static) $(LDLIBS_STLDEBUG_static) - --######################################### -\ No newline at end of file -+$(OUTDIR)$(PATH_SEP)$(STLDEBUGX_LIB) : $(OUTDIR) $(STLDEBUG_OBJDIR_staticx) $(DEF_FILE) $(STLDEBUG_OBJECTS_staticx) -+ $(LINK) $(LINK_OUT)$(OUTDIR)$(PATH_SEP)$(STLDEBUGX_LIB) $(LDFLAGS_STLDEBUG_static) $(STLDEBUG_OBJECTS_staticx) $(LDLIBS_STLDEBUG_static) -+ -+# locale_impl.cpp : codecvt.cpp collate.cpp ctype.cpp monetary.cpp num_get.cpp num_get_float.cpp num_put.cpp num_put_float.cpp numpunct.cpp time_facets.cpp messages.cpp -+ -+# locale_catalog.cpp : ctype_byname.cpp collate_byname.cpp codecvt_byname.cpp numpunct_byname.cpp monetary_byname.cpp messages_byname.cpp -+ -+ -+######################################### -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/como.mak tripwire-2.3.1-2/src/STLport-4.0/src/como.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/como.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/como.mak Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,53 @@ -+# -+# Note : this makefile has been only tested in como + gcc setup -+# -+ -+# -+# compiler -+# -+CC = gcc -+CXX = como -+ -+# -+# Basename for libraries -+# -+LIB_BASENAME = libstlport_como -+ -+# -+# guts for common stuff -+# -+# -+LINK=ar cr -+# 2.95 flag -+DYN_LINK=-copt="-shared -all" -G -o -+ -+OBJEXT=o -+DYNEXT=so -+STEXT=a -+RM=rm -rf -+PATH_SEP=/ -+MKDIR=mkdir -p -+COMP=COMO_$(ARCH) -+INSTALL_STEP = install_unix -+ -+all: all_static symbolic_links -+ -+include common_macros.mak -+ -+WARNING_FLAGS= -DLIBCIO= --diag_suppress=68 -+ -+CXXFLAGS_COMMON = -I. -I${STLPORT_DIR} ${WARNING_FLAGS} -+ -+CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O2 -+CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -O2 -fPIC -+ -+CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -g -O -+CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -g -O -fPIC -+ -+CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG -+CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG -+ -+include common_percent_rules.mak -+include common_rules.mak -+ -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/complex.cpp tripwire-2.3.1-2/src/STLport-4.0/src/complex.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/complex.cpp Sat Feb 24 10:44:07 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/complex.cpp Sun Aug 11 18:59:22 2002 -@@ -18,64 +18,69 @@ - # include "stlport_prefix.h" - // Complex division and square roots. - --#include -+#include "complex_impl.h" - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - // Absolute value --__STL_DECLSPEC float __STL_CALL abs(const complex& __z) -+_STLP_DECLSPEC float _STLP_CALL abs(const complex& __z) - { -- return __STL_HYPOTF(__z._M_re, __z._M_im); -+ return _STLP_HYPOTF(__z._M_re, __z._M_im); - } - --__STL_DECLSPEC double __STL_CALL abs(const complex& __z) -+_STLP_DECLSPEC double _STLP_CALL abs(const complex& __z) - { -- return __STL_HYPOT(__z._M_re, __z._M_im); -+ return _STLP_HYPOT(__z._M_re, __z._M_im); - } - --__STL_DECLSPEC long double __STL_CALL abs(const complex& __z) -+#ifndef _STLP_NO_LONG_DOUBLE -+_STLP_DECLSPEC long double _STLP_CALL abs(const complex& __z) - { -- return __STL_HYPOTL(__z._M_re, __z._M_im); -+ return _STLP_HYPOTL(__z._M_re, __z._M_im); - } -+#endif - - // Phase - --__STL_DECLSPEC float __STL_CALL arg(const complex& __z) -+_STLP_DECLSPEC float _STLP_CALL arg(const complex& __z) - { -- return __STL_ATAN2F(__z._M_im, __z._M_re); -+ return _STLP_ATAN2F(__z._M_im, __z._M_re); - } - --__STL_DECLSPEC double __STL_CALL arg(const complex& __z) -+_STLP_DECLSPEC double _STLP_CALL arg(const complex& __z) - { -- return __STL_ATAN2(__z._M_im, __z._M_re); -+ return _STLP_ATAN2(__z._M_im, __z._M_re); - } - --__STL_DECLSPEC long double __STL_CALL arg(const complex& __z) -+#ifndef _STLP_NO_LONG_DOUBLE -+_STLP_DECLSPEC long double _STLP_CALL arg(const complex& __z) - { -- return __STL_ATAN2L(__z._M_im, __z._M_re); -+ return _STLP_ATAN2L(__z._M_im, __z._M_re); - } -+#endif - - // Construct a complex number from polar representation - --__STL_DECLSPEC complex __STL_CALL polar(const float& __rho, const float& __phi) -+_STLP_DECLSPEC complex _STLP_CALL polar(const float& __rho, const float& __phi) - { -- return complex(__rho * __STL_COSF(__phi), __rho * __STL_SINF(__phi)); -+ return complex(__rho * _STLP_COSF(__phi), __rho * _STLP_SINF(__phi)); - } - --__STL_DECLSPEC complex __STL_CALL polar(const double& __rho, const double& __phi) -+_STLP_DECLSPEC complex _STLP_CALL polar(const double& __rho, const double& __phi) - { -- return complex(__rho * __STL_COS(__phi), __rho * __STL_SIN(__phi)); -+ return complex(__rho * _STLP_COS(__phi), __rho * _STLP_SIN(__phi)); - } - --__STL_DECLSPEC complex __STL_CALL polar(const long double& __rho, const long double& __phi) -+#ifndef _STLP_NO_LONG_DOUBLE -+_STLP_DECLSPEC complex _STLP_CALL polar(const long double& __rho, const long double& __phi) - { -- return complex(__rho * __STL_COSL(__phi), __rho * __STL_SINL(__phi)); -+ return complex(__rho * _STLP_COSL(__phi), __rho * _STLP_SINL(__phi)); - } -- -+#endif - - // Division - --void __STL_CALL -+void _STLP_CALL - complex::_div(const float& __z1_r, const float& __z1_i, - const float& __z2_r, const float& __z2_i, - float& __res_r, float& __res_i) { -@@ -96,7 +101,7 @@ - } - } - --void __STL_CALL -+void _STLP_CALL - complex::_div(const float& __z1_r, - const float& __z2_r, const float& __z2_i, - float& __res_r, float& __res_i) { -@@ -118,7 +123,7 @@ - } - - --void __STL_CALL -+void _STLP_CALL - complex::_div(const double& __z1_r, const double& __z1_i, - const double& __z2_r, const double& __z2_i, - double& __res_r, double& __res_i) { -@@ -139,7 +144,7 @@ - } - } - --void __STL_CALL -+void _STLP_CALL - complex::_div(const double& __z1_r, - const double& __z2_r, const double& __z2_i, - double& __res_r, double& __res_i) { -@@ -160,8 +165,8 @@ - } - } - -- --void __STL_CALL -+#ifndef _STLP_NO_LONG_DOUBLE -+void _STLP_CALL - complex::_div(const long double& __z1_r, const long double& __z1_i, - const long double& __z2_r, const long double& __z2_i, - long double& __res_r, long double& __res_i) { -@@ -183,7 +188,7 @@ - } - - --void __STL_CALL -+void _STLP_CALL - complex::_div(const long double& __z1_r, - const long double& __z2_r, const long double& __z2_i, - long double& __res_r, long double& __res_i) { -@@ -203,25 +208,26 @@ - __res_i = - (__z1_r * __ratio) / __denom; - } - } -+#endif - - //---------------------------------------------------------------------- - // Square root - - --complex __STL_CALL -+complex _STLP_CALL - sqrt(const complex& z) { - float re = z._M_re; - float im = z._M_im; -- float mag = __STL_HYPOTF(re, im); -+ float mag = _STLP_HYPOTF(re, im); - complex result; - - if (mag == 0.) { - result._M_re = result._M_im = 0.f; - } else if (re > 0.f) { -- result._M_re = __STL_SQRTF(0.5f * (mag + re)); -+ result._M_re = _STLP_SQRTF(0.5f * (mag + re)); - result._M_im = im/result._M_re/2.f; - } else { -- result._M_im = __STL_SQRTF(0.5f * (mag - re)); -+ result._M_im = _STLP_SQRTF(0.5f * (mag - re)); - if (im < 0.f) - result._M_im = - result._M_im; - result._M_re = im/result._M_im/2.f; -@@ -230,20 +236,20 @@ - } - - --complex __STL_CALL -+complex _STLP_CALL - sqrt(const complex& z) { - double re = z._M_re; - double im = z._M_im; -- double mag = __STL_HYPOT(re, im); -+ double mag = _STLP_HYPOT(re, im); - complex result; - - if (mag == 0.) { - result._M_re = result._M_im = 0.; - } else if (re > 0.) { -- result._M_re = __STL_SQRT(0.5 * (mag + re)); -+ result._M_re = _STLP_SQRT(0.5 * (mag + re)); - result._M_im = im/result._M_re/2; - } else { -- result._M_im = __STL_SQRT(0.5 * (mag - re)); -+ result._M_im = _STLP_SQRT(0.5 * (mag - re)); - if (im < 0.) - result._M_im = - result._M_im; - result._M_re = im/result._M_im/2; -@@ -251,26 +257,28 @@ - return result; - } - -- --complex __STL_CALL -+#ifndef _STLP_NO_LONG_DOUBLE -+complex _STLP_CALL - sqrt(const complex& z) { - long double re = z._M_re; - long double im = z._M_im; -- long double mag = __STL_HYPOTL(re, im); -+ long double mag = _STLP_HYPOTL(re, im); - complex result; - - if (mag == 0.L) { - result._M_re = result._M_im = 0.L; - } else if (re > 0.L) { -- result._M_re = __STL_SQRTL(0.5L * (mag + re)); -+ result._M_re = _STLP_SQRTL(0.5L * (mag + re)); - result._M_im = (im/result._M_re) * .5L; - } else { -- result._M_im = __STL_SQRTL(0.5L * (mag - re)); -+ result._M_im = _STLP_SQRTL(0.5L * (mag - re)); - if (im < 0.L) - result._M_im = - result._M_im; - result._M_re = (im/result._M_im) * .5L; - } - return result; - } -+#endif -+ -+_STLP_END_NAMESPACE - --__STL_END_NAMESPACE -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/complex_exp.cpp tripwire-2.3.1-2/src/STLport-4.0/src/complex_exp.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/complex_exp.cpp Sat Feb 24 10:44:07 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/complex_exp.cpp Sun Aug 11 18:59:22 2002 -@@ -1,235 +1,235 @@ --/* -- * Copyright (c) 1999 -- * Silicon Graphics Computer Systems, Inc. -- * -- * Copyright (c) 1999 -- * Boris Fomitchev -- * -- * This material is provided "as is", with absolutely no warranty expressed -- * or implied. Any use is at your own risk. -- * -- * Permission to use or copy this software for any purpose is hereby granted -- * without fee, provided the above notices are retained on all copies. -- * Permission to modify the code and to distribute modified code is granted, -- * provided the above notices are retained, and a notice that the code was -- * modified is included with the above copyright notice. -- * -- */ -- --# include "stlport_prefix.h" --// exp, log, pow for complex, complex, and complex -- --#include --#include -- --__STL_BEGIN_NAMESPACE -- -- --//---------------------------------------------------------------------- --// exp -- --__STL_DECLSPEC complex __STL_CALL --exp(const complex& z) --{ -- float expx = __STL_EXPF(z._M_re); -- return complex(expx * __STL_COSF(z._M_im), -- expx * __STL_SINF(z._M_im)); --} -- --__STL_DECLSPEC complex __STL_CALL exp(const complex& z) --{ -- double expx = __STL_EXP(z._M_re); -- return complex(expx * __STL_COS(z._M_im), -- expx * __STL_SIN(z._M_im)); --} -- --__STL_DECLSPEC complex __STL_CALL exp(const complex& z) --{ -- long double expx = __STL_EXPL(z._M_re); -- return complex(expx * __STL_COSL(z._M_im), -- expx * __STL_SINL(z._M_im)); --} -- --//---------------------------------------------------------------------- --// log10 -- --__STL_DECLSPEC complex __STL_CALL log10(const complex& z) --{ -- complex r; -- static float ln10_inv = 1.f / __STL_LOGF(10.f); -- -- r._M_im = __STL_ATAN2F(z._M_im, z._M_re) * ln10_inv; -- r._M_re = __STL_LOG10F(__STL_HYPOTF(z._M_re, z._M_im)); -- return r; --} -- --__STL_DECLSPEC complex __STL_CALL log10(const complex& z) --{ -- complex r; -- static double ln10_inv = 1. / __STL_LOG(10.); -- -- r._M_im = __STL_ATAN2(z._M_im, z._M_re) * ln10_inv; -- r._M_re = __STL_LOG10(__STL_HYPOT(z._M_re, z._M_im)); -- return r; --} -- --__STL_DECLSPEC complex __STL_CALL log10(const complex& z) --{ -- complex result; -- static long double ln10_inv = 1.l / __STL_LOGL(10.l); -- -- result._M_im = __STL_ATAN2L(z._M_im, z._M_re) * ln10_inv; -- result._M_re = __STL_LOG10L(__STL_HYPOTL(z._M_re, z._M_im)); -- return result; --} -- -- --//---------------------------------------------------------------------- --// log -- --__STL_DECLSPEC complex __STL_CALL log(const complex& z) --{ -- complex r; -- -- r._M_im = __STL_ATAN2F(z._M_im, z._M_re); -- r._M_re = __STL_LOGF(__STL_HYPOTF(z._M_re, z._M_im)); -- return r; --} -- --__STL_DECLSPEC complex __STL_CALL log(const complex& z) --{ -- complex r; -- -- r._M_im = __STL_ATAN2(z._M_im, z._M_re); -- r._M_re = __STL_LOG(__STL_HYPOT(z._M_re, z._M_im)); -- return r; --} -- --__STL_DECLSPEC complex __STL_CALL log(const complex& z) --{ -- complex result; -- -- result._M_im = __STL_ATAN2L(z._M_im, z._M_re); -- result._M_re = __STL_LOGL(__STL_HYPOTL(z._M_re, z._M_im)); -- return result; --} -- -- --//---------------------------------------------------------------------- --// pow -- --__STL_DECLSPEC complex __STL_CALL pow(const float& a, const complex& b) { -- float logr = __STL_LOGF(a); -- float x = __STL_EXPF(logr*b._M_re); -- float y = logr*b._M_im; -- -- return complex(x * __STL_COSF(y), x * __STL_SINF(y)); --} -- --__STL_DECLSPEC complex __STL_CALL pow(const complex& z_in, int n) { -- complex z = z_in; -- z = __power(z, (n < 0 ? -n : n), multiplies< complex >()); -- if (n < 0) -- return 1.f / z; -- else -- return z; --} -- --__STL_DECLSPEC complex __STL_CALL pow(const complex& a, const float& b) { -- float logr = __STL_LOGF(__STL_HYPOTF(a._M_re,a._M_im)); -- float logi = __STL_ATAN2F(a._M_im, a._M_re); -- float x = __STL_EXPF(logr * b); -- float y = logi * b; -- -- return complex(x * __STL_COSF(y), x * __STL_SINF(y)); --} -- --__STL_DECLSPEC complex __STL_CALL pow(const complex& a, const complex& b) { -- float logr = __STL_LOGF(__STL_HYPOTF(a._M_re,a._M_im)); -- float logi = __STL_ATAN2F(a._M_im, a._M_re); -- float x = __STL_EXPF(logr*b._M_re - logi*b._M_im); -- float y = logr*b._M_im + logi*b._M_re; -- -- return complex(x * __STL_COSF(y), x * __STL_SINF(y)); --} -- -- --__STL_DECLSPEC complex __STL_CALL pow(const double& a, const complex& b) { -- double logr = __STL_LOG(a); -- double x = __STL_EXP(logr*b._M_re); -- double y = logr*b._M_im; -- -- return complex(x * __STL_COS(y), x * __STL_SIN(y)); --} -- --__STL_DECLSPEC complex __STL_CALL pow(const complex& z_in, int n) { -- complex z = z_in; -- z = __power(z, (n < 0 ? -n : n), multiplies< complex >()); -- if (n < 0) --#if !defined(__SC__) //*TY 04/15/2000 - -- return 1. / z; --#else //*TY 04/15/2000 - added workaround for SCpp compiler -- return double(1.0) / z; //*TY 04/15/2000 - it incorrectly assign long double attribute to floating point literals --#endif //*TY 04/15/2000 - -- else -- return z; --} -- --__STL_DECLSPEC complex __STL_CALL pow(const complex& a, const double& b) { -- double logr = __STL_LOG(__STL_HYPOT(a._M_re,a._M_im)); -- double logi = __STL_ATAN2(a._M_im, a._M_re); -- double x = __STL_EXP(logr * b); -- double y = logi * b; -- -- return complex(x * __STL_COS(y), x * __STL_SIN(y)); --} -- --__STL_DECLSPEC complex __STL_CALL pow(const complex& a, const complex& b) { -- double logr = __STL_LOG(__STL_HYPOT(a._M_re,a._M_im)); -- double logi = __STL_ATAN2(a._M_im, a._M_re); -- double x = __STL_EXP(logr*b._M_re - logi*b._M_im); -- double y = logr*b._M_im + logi*b._M_re; -- -- return complex(x * __STL_COS(y), x * __STL_SIN(y)); --} -- -- --__STL_DECLSPEC complex __STL_CALL pow(const long double& a, -- const complex& b) { -- long double logr = __STL_LOGL(a); -- long double x = __STL_EXPL(logr*b._M_re); -- long double y = logr*b._M_im; -- -- return complex(x * __STL_COSL(y), x * __STL_SINL(y)); --} -- --__STL_DECLSPEC complex __STL_CALL pow(const complex& z_in, int n) { -- complex z = z_in; -- z = __power(z, (n < 0 ? -n : n), multiplies< complex >()); -- if (n < 0) -- return 1.l / z; -- else -- return z; --} -- --__STL_DECLSPEC complex __STL_CALL pow(const complex& a, -- const long double& b) { -- long double logr = __STL_LOGL(__STL_HYPOTL(a._M_re,a._M_im)); -- long double logi = __STL_ATAN2L(a._M_im, a._M_re); -- long double x = __STL_EXPL(logr * b); -- long double y = logi * b; -- -- return complex(x * __STL_COSL(y), x * __STL_SINL(y)); --} -- --__STL_DECLSPEC complex __STL_CALL pow(const complex& a, -- const complex& b) { -- long double logr = __STL_LOGL(__STL_HYPOTL(a._M_re,a._M_im)); -- long double logi = __STL_ATAN2L(a._M_im, a._M_re); -- long double x = __STL_EXPL(logr*b._M_re - logi*b._M_im); -- long double y = logr*b._M_im + logi*b._M_re; -- -- return complex(x * __STL_COSL(y), x * __STL_SINL(y)); --} -- --__STL_END_NAMESPACE -+/* -+ * Copyright (c) 1999 -+ * Silicon Graphics Computer Systems, Inc. -+ * -+ * Copyright (c) 1999 -+ * Boris Fomitchev -+ * -+ * This material is provided "as is", with absolutely no warranty expressed -+ * or implied. Any use is at your own risk. -+ * -+ * Permission to use or copy this software for any purpose is hereby granted -+ * without fee, provided the above notices are retained on all copies. -+ * Permission to modify the code and to distribute modified code is granted, -+ * provided the above notices are retained, and a notice that the code was -+ * modified is included with the above copyright notice. -+ * -+ */ -+ -+# include "stlport_prefix.h" -+// exp, log, pow for complex, complex, and complex -+ -+#include -+#include "complex_impl.h" -+ -+_STLP_BEGIN_NAMESPACE -+ -+//---------------------------------------------------------------------- -+// exp -+ -+_STLP_DECLSPEC complex _STLP_CALL -+exp(const complex& z) -+{ -+ float expx = _STLP_EXPF(z._M_re); -+ return complex(expx * _STLP_COSF(z._M_im), -+ expx * _STLP_SINF(z._M_im)); -+} -+ -+_STLP_DECLSPEC complex _STLP_CALL exp(const complex& z) -+{ -+ double expx = _STLP_EXP(z._M_re); -+ return complex(expx * _STLP_COS(z._M_im), -+ expx * _STLP_SIN(z._M_im)); -+} -+ -+_STLP_DECLSPEC complex _STLP_CALL exp(const complex& z) -+{ -+ long double expx = _STLP_EXPL(z._M_re); -+ return complex(expx * _STLP_COSL(z._M_im), -+ expx * _STLP_SINL(z._M_im)); -+} -+ -+//---------------------------------------------------------------------- -+// log10 -+ -+_STLP_DECLSPEC complex _STLP_CALL log10(const complex& z) -+{ -+ complex r; -+ static float ln10_inv = 1.f / _STLP_LOGF(10.f); -+ -+ r._M_im = _STLP_ATAN2F(z._M_im, z._M_re) * ln10_inv; -+ r._M_re = _STLP_LOG10F(_STLP_HYPOTF(z._M_re, z._M_im)); -+ return r; -+} -+ -+_STLP_DECLSPEC complex _STLP_CALL log10(const complex& z) -+{ -+ complex r; -+ static double ln10_inv = 1. / _STLP_LOG(10.); -+ -+ r._M_im = _STLP_ATAN2(z._M_im, z._M_re) * ln10_inv; -+ r._M_re = _STLP_LOG10(_STLP_HYPOT(z._M_re, z._M_im)); -+ return r; -+} -+ -+_STLP_DECLSPEC complex _STLP_CALL log10(const complex& z) -+{ -+ complex result; -+ static long double ln10_inv = 1.l / _STLP_LOGL(10.l); -+ -+ result._M_im = _STLP_ATAN2L(z._M_im, z._M_re) * ln10_inv; -+ result._M_re = _STLP_LOG10L(_STLP_HYPOTL(z._M_re, z._M_im)); -+ return result; -+} -+ -+ -+//---------------------------------------------------------------------- -+// log -+ -+_STLP_DECLSPEC complex _STLP_CALL log(const complex& z) -+{ -+ complex r; -+ -+ r._M_im = _STLP_ATAN2F(z._M_im, z._M_re); -+ r._M_re = _STLP_LOGF(_STLP_HYPOTF(z._M_re, z._M_im)); -+ return r; -+} -+ -+_STLP_DECLSPEC complex _STLP_CALL log(const complex& z) -+{ -+ complex r; -+ -+ r._M_im = _STLP_ATAN2(z._M_im, z._M_re); -+ r._M_re = _STLP_LOG(_STLP_HYPOT(z._M_re, z._M_im)); -+ return r; -+} -+ -+_STLP_DECLSPEC complex _STLP_CALL log(const complex& z) -+{ -+ complex result; -+ -+ result._M_im = _STLP_ATAN2L(z._M_im, z._M_re); -+ result._M_re = _STLP_LOGL(_STLP_HYPOTL(z._M_re, z._M_im)); -+ return result; -+} -+ -+ -+//---------------------------------------------------------------------- -+// pow -+ -+_STLP_DECLSPEC complex _STLP_CALL pow(const float& a, const complex& b) { -+ float logr = _STLP_LOGF(a); -+ float x = _STLP_EXPF(logr*b._M_re); -+ float y = logr*b._M_im; -+ -+ return complex(x * _STLP_COSF(y), x * _STLP_SINF(y)); -+} -+ -+_STLP_DECLSPEC complex _STLP_CALL pow(const complex& z_in, int n) { -+ complex z = z_in; -+ z = __power(z, (n < 0 ? -n : n), multiplies< complex >()); -+ if (n < 0) -+ return 1.f / z; -+ else -+ return z; -+} -+ -+_STLP_DECLSPEC complex _STLP_CALL pow(const complex& a, const float& b) { -+ float logr = _STLP_LOGF(_STLP_HYPOTF(a._M_re,a._M_im)); -+ float logi = _STLP_ATAN2F(a._M_im, a._M_re); -+ float x = _STLP_EXPF(logr * b); -+ float y = logi * b; -+ -+ return complex(x * _STLP_COSF(y), x * _STLP_SINF(y)); -+} -+ -+_STLP_DECLSPEC complex _STLP_CALL pow(const complex& a, const complex& b) { -+ float logr = _STLP_LOGF(_STLP_HYPOTF(a._M_re,a._M_im)); -+ float logi = _STLP_ATAN2F(a._M_im, a._M_re); -+ float x = _STLP_EXPF(logr*b._M_re - logi*b._M_im); -+ float y = logr*b._M_im + logi*b._M_re; -+ -+ return complex(x * _STLP_COSF(y), x * _STLP_SINF(y)); -+} -+ -+ -+_STLP_DECLSPEC complex _STLP_CALL pow(const double& a, const complex& b) { -+ double logr = _STLP_LOG(a); -+ double x = _STLP_EXP(logr*b._M_re); -+ double y = logr*b._M_im; -+ -+ return complex(x * _STLP_COS(y), x * _STLP_SIN(y)); -+} -+ -+_STLP_DECLSPEC complex _STLP_CALL pow(const complex& z_in, int n) { -+ complex z = z_in; -+ z = __power(z, (n < 0 ? -n : n), multiplies< complex >()); -+ if (n < 0) -+#if !defined(__SC__) //*TY 04/15/2000 - -+ return 1. / z; -+#else //*TY 04/15/2000 - added workaround for SCpp compiler -+ return double(1.0) / z; //*TY 04/15/2000 - it incorrectly assign long double attribute to floating point literals -+#endif //*TY 04/15/2000 - -+ else -+ return z; -+} -+ -+_STLP_DECLSPEC complex _STLP_CALL pow(const complex& a, const double& b) { -+ double logr = _STLP_LOG(_STLP_HYPOT(a._M_re,a._M_im)); -+ double logi = _STLP_ATAN2(a._M_im, a._M_re); -+ double x = _STLP_EXP(logr * b); -+ double y = logi * b; -+ -+ return complex(x * _STLP_COS(y), x * _STLP_SIN(y)); -+} -+ -+_STLP_DECLSPEC complex _STLP_CALL pow(const complex& a, const complex& b) { -+ double logr = _STLP_LOG(_STLP_HYPOT(a._M_re,a._M_im)); -+ double logi = _STLP_ATAN2(a._M_im, a._M_re); -+ double x = _STLP_EXP(logr*b._M_re - logi*b._M_im); -+ double y = logr*b._M_im + logi*b._M_re; -+ -+ return complex(x * _STLP_COS(y), x * _STLP_SIN(y)); -+} -+ -+ -+_STLP_DECLSPEC complex _STLP_CALL pow(const long double& a, -+ const complex& b) { -+ long double logr = _STLP_LOGL(a); -+ long double x = _STLP_EXPL(logr*b._M_re); -+ long double y = logr*b._M_im; -+ -+ return complex(x * _STLP_COSL(y), x * _STLP_SINL(y)); -+} -+ -+_STLP_DECLSPEC complex _STLP_CALL pow(const complex& z_in, int n) { -+ complex z = z_in; -+ z = __power(z, (n < 0 ? -n : n), multiplies< complex >()); -+ if (n < 0) -+ return 1.l / z; -+ else -+ return z; -+} -+ -+_STLP_DECLSPEC complex _STLP_CALL pow(const complex& a, -+ const long double& b) { -+ long double logr = _STLP_LOGL(_STLP_HYPOTL(a._M_re,a._M_im)); -+ long double logi = _STLP_ATAN2L(a._M_im, a._M_re); -+ long double x = _STLP_EXPL(logr * b); -+ long double y = logi * b; -+ -+ return complex(x * _STLP_COSL(y), x * _STLP_SINL(y)); -+} -+ -+_STLP_DECLSPEC complex _STLP_CALL pow(const complex& a, -+ const complex& b) { -+ long double logr = _STLP_LOGL(_STLP_HYPOTL(a._M_re,a._M_im)); -+ long double logi = _STLP_ATAN2L(a._M_im, a._M_re); -+ long double x = _STLP_EXPL(logr*b._M_re - logi*b._M_im); -+ long double y = logr*b._M_im + logi*b._M_re; -+ -+ return complex(x * _STLP_COSL(y), x * _STLP_SINL(y)); -+} -+ -+_STLP_END_NAMESPACE -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/complex_impl.h tripwire-2.3.1-2/src/STLport-4.0/src/complex_impl.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/complex_impl.h Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/complex_impl.h Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,94 @@ -+/* -+ * Copyright (c) 1999 -+ * Silicon Graphics Computer Systems, Inc. -+ * -+ * Copyright (c) 1999 -+ * Boris Fomitchev -+ * -+ * This material is provided "as is", with absolutely no warranty expressed -+ * or implied. Any use is at your own risk. -+ * -+ * Permission to use or copy this software for any purpose is hereby granted -+ * without fee, provided the above notices are retained on all copies. -+ * Permission to modify the code and to distribute modified code is granted, -+ * provided the above notices are retained, and a notice that the code was -+ * modified is included with the above copyright notice. -+ * -+ */ -+ -+# ifndef COMPLEX_IMPL_H -+# define COMPLEX_IMPL_H -+ -+#include -+#include -+#include -+#include -+ -+# if (defined (__sgi) && !defined(__GNUC__)) /* || defined (__DECCXX) */ -+ -+# define _STLP_ABSF _STLP_VENDOR_CSTD::fabsf -+# define _STLP_ATAN2F _STLP_VENDOR_CSTD::atan2f -+# define _STLP_SINF _STLP_VENDOR_CSTD::sinf -+# define _STLP_COSF _STLP_VENDOR_CSTD::cosf -+# define _STLP_SQRTF _STLP_VENDOR_CSTD::sqrtf -+# define _STLP_EXPF _STLP_VENDOR_CSTD::expf -+# define _STLP_LOG10F _STLP_VENDOR_CSTD::log10f -+# define _STLP_LOGF _STLP_VENDOR_CSTD::logf -+# define _STLP_SINHF _STLP_VENDOR_CSTD::sinhf -+# define _STLP_COSHF _STLP_VENDOR_CSTD::coshf -+# define _STLP_HYPOTF _STLP_VENDOR_CSTD::hypotf -+ -+ -+# define _STLP_ABSL _STLP_VENDOR_CSTD::fabsl -+# define _STLP_ATAN2L _STLP_VENDOR_CSTD::atan2l -+# define _STLP_SINL _STLP_VENDOR_CSTD::sinl -+# define _STLP_COSL _STLP_VENDOR_CSTD::cosl -+# define _STLP_SQRTL _STLP_VENDOR_CSTD::sqrtl -+# define _STLP_EXPL _STLP_VENDOR_CSTD::expl -+# define _STLP_LOG10L _STLP_VENDOR_CSTD::log10l -+# define _STLP_LOGL _STLP_VENDOR_CSTD::logl -+# define _STLP_SINHL _STLP_VENDOR_CSTD::sinhl -+# define _STLP_COSHL _STLP_VENDOR_CSTD::coshl -+// # define _STLP_HYPOT ::hypot -+# define _STLP_HYPOTL _STLP_VENDOR_CSTD::hypotl -+ -+#else -+ -+# define _STLP_ABSF (float)_STLP_DO_ABS(double) -+# define _STLP_ABSL (long double)_STLP_DO_ABS(double) -+# define _STLP_ATAN2F (float)_STLP_DO_ATAN2(double) -+# define _STLP_ATAN2L (long double)_STLP_DO_ATAN2(double) -+# define _STLP_SINF (float)_STLP_DO_SIN(double) -+# define _STLP_SINL (long double)_STLP_DO_SIN(double) -+# define _STLP_COSF (float)_STLP_DO_COS(double) -+# define _STLP_COSL (long double)_STLP_DO_COS(double) -+# define _STLP_SQRTF (float)_STLP_DO_SQRT(double) -+# define _STLP_SQRTL (long double)_STLP_DO_SQRT(double) -+# define _STLP_EXPF (float)_STLP_DO_EXP(double) -+# define _STLP_EXPL (long double)_STLP_DO_EXP(double) -+# define _STLP_LOG10F (float)_STLP_DO_LOG10(double) -+# define _STLP_LOG10L (long double)_STLP_DO_LOG10(double) -+# define _STLP_LOGF (float)_STLP_DO_LOG(double) -+# define _STLP_LOGL (long double)_STLP_DO_LOG(double) -+# define _STLP_SINHF (float)_STLP_DO_SINH(double) -+# define _STLP_SINHL (long double)_STLP_DO_SINH(double) -+# define _STLP_COSHF (float)_STLP_DO_COSH(double) -+# define _STLP_COSHL (long double)_STLP_DO_COSH(double) -+# define _STLP_HYPOTF (float)_STLP_DO_HYPOT(double) -+# define _STLP_HYPOTL (long double)_STLP_DO_HYPOT(double) -+ -+#endif -+ -+# define _STLP_ABS (double)_STLP_DO_ABS(double) -+# define _STLP_ATAN2 (double)_STLP_DO_ATAN2(double) -+# define _STLP_SIN (double)_STLP_DO_SIN(double) -+# define _STLP_COS (double)_STLP_DO_COS(double) -+# define _STLP_SQRT (double)_STLP_DO_SQRT(double) -+# define _STLP_EXP (double)_STLP_DO_EXP(double) -+# define _STLP_LOG10 (double)_STLP_DO_LOG10(double) -+# define _STLP_LOG (double)_STLP_DO_LOG(double) -+# define _STLP_SINH (double)_STLP_DO_SINH(double) -+# define _STLP_COSH (double)_STLP_DO_COSH(double) -+# define _STLP_HYPOT _STLP_DO_HYPOT(double) -+ -+#endif -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/complex_io.cpp tripwire-2.3.1-2/src/STLport-4.0/src/complex_io.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/complex_io.cpp Sat Feb 24 10:44:07 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/complex_io.cpp Sun Aug 11 18:59:22 2002 -@@ -1,146 +1,144 @@ --/* -- * Copyright (c) 1999 -- * Silicon Graphics Computer Systems, Inc. -- * -- * Copyright (c) 1999 -- * Boris Fomitchev -- * -- * This material is provided "as is", with absolutely no warranty expressed -- * or implied. Any use is at your own risk. -- * -- * Permission to use or copy this software for any purpose is hereby granted -- * without fee, provided the above notices are retained on all copies. -- * Permission to modify the code and to distribute modified code is granted, -- * provided the above notices are retained, and a notice that the code was -- * modified is included with the above copyright notice. -- * -- */ -- --# include "stlport_prefix.h" --#include --#include --#include -- --__STL_BEGIN_NAMESPACE -- --# if defined (__STL_FUNCTION_TMPL_PARTIAL_ORDER) || defined (__BORLANDC__) --# define __STL_OPERATOR_SPEC __STL_DECLSPEC --# else --# define __STL_OPERATOR_SPEC __STL_TEMPLATE_NULL __STL_DECLSPEC --# endif -- --# if ! (defined (__STL_MSVC) && __STL_MSVC < 1200) -- --// Specializations for narrow characters; lets us avoid the nuisance of --// widening. --__STL_OPERATOR_SPEC --basic_ostream >& __STL_CALL --operator<< (basic_ostream >& __os, const complex& __z) --{ -- return __os << '(' << (double)__z.real() << ',' << (double)__z.imag() << ')'; --} -- --__STL_OPERATOR_SPEC --basic_ostream >& __STL_CALL --operator<< (basic_ostream >& __os, const complex& __z) --{ -- return __os << '(' << __z.real() << ',' << __z.imag() << ')'; --} -- --__STL_OPERATOR_SPEC --basic_ostream >& __STL_CALL --operator<< (basic_ostream >& __os, const complex& __z) --{ -- return __os << '(' << __z.real() << ',' << __z.imag() << ')'; --} -- -- --// Specialization for narrow characters; lets us avoid widen. --__STL_OPERATOR_SPEC --basic_istream >& __STL_CALL --operator>>(basic_istream >& __is, complex& __z) --{ -- float __re = 0; -- float __im = 0; -- -- char __c; -- -- __is >> __c; -- if (__c == '(') { -- __is >> __re >> __c; -- if (__c == ',') -- __is >> __im >> __c; -- if (__c != ')') -- __is.setstate(ios_base::failbit); -- } -- else { -- __is.putback(__c); -- __is >> __re; -- } -- -- if (__is) -- __z = complex(__re, __im); -- return __is; --} -- --__STL_OPERATOR_SPEC --basic_istream >& __STL_CALL --operator>>(basic_istream >& __is, complex& __z) --{ -- double __re = 0; -- double __im = 0; -- -- char __c; -- -- __is >> __c; -- if (__c == '(') { -- __is >> __re >> __c; -- if (__c == ',') -- __is >> __im >> __c; -- if (__c != ')') -- __is.setstate(ios_base::failbit); -- } -- else { -- __is.putback(__c); -- __is >> __re; -- } -- -- if (__is) -- __z = complex(__re, __im); -- return __is; --} -- --__STL_OPERATOR_SPEC --basic_istream >& __STL_CALL --operator>>(basic_istream >& __is, complex& __z) { -- long double __re = 0; -- long double __im = 0; -- -- char __c; -- -- __is >> __c; -- if (__c == '(') { -- __is >> __re >> __c; -- if (__c == ',') -- __is >> __im >> __c; -- if (__c != ')') -- __is.setstate(ios_base::failbit); -- } -- else { -- __is.putback(__c); -- __is >> __re; -- } -- -- if (__is) -- __z = complex(__re, __im); -- return __is; --} -- --# endif /* MSVC */ -- --__STL_END_NAMESPACE -- -- --// Local Variables: --// mode:C++ --// End: -+/* -+ * Copyright (c) 1999 -+ * Silicon Graphics Computer Systems, Inc. -+ * -+ * Copyright (c) 1999 -+ * Boris Fomitchev -+ * -+ * This material is provided "as is", with absolutely no warranty expressed -+ * or implied. Any use is at your own risk. -+ * -+ * Permission to use or copy this software for any purpose is hereby granted -+ * without fee, provided the above notices are retained on all copies. -+ * Permission to modify the code and to distribute modified code is granted, -+ * provided the above notices are retained, and a notice that the code was -+ * modified is included with the above copyright notice. -+ * -+ */ -+ -+# include "stlport_prefix.h" -+// #include -+#include "complex_impl.h" -+#include -+ -+_STLP_BEGIN_NAMESPACE -+ -+# if ! (defined (_STLP_MSVC) && _STLP_MSVC < 1200) -+ -+// Specializations for narrow characters; lets us avoid the nuisance of -+// widening. -+_STLP_OPERATOR_SPEC -+basic_ostream >& _STLP_CALL -+operator<< (basic_ostream >& __os, const complex& __z) -+{ -+ return __os << '(' << (double)__z.real() << ',' << (double)__z.imag() << ')'; -+} -+ -+_STLP_OPERATOR_SPEC -+basic_ostream >& _STLP_CALL -+operator<< (basic_ostream >& __os, const complex& __z) -+{ -+ return __os << '(' << __z.real() << ',' << __z.imag() << ')'; -+} -+ -+#ifndef _STLP_NO_LONG_DOUBLE -+_STLP_OPERATOR_SPEC -+basic_ostream >& _STLP_CALL -+operator<< (basic_ostream >& __os, const complex& __z) -+{ -+ return __os << '(' << __z.real() << ',' << __z.imag() << ')'; -+} -+#endif -+ -+// Specialization for narrow characters; lets us avoid widen. -+_STLP_OPERATOR_SPEC -+basic_istream >& _STLP_CALL -+operator>>(basic_istream >& __is, complex& __z) -+{ -+ float __re = 0; -+ float __im = 0; -+ -+ char __c; -+ -+ __is >> __c; -+ if (__c == '(') { -+ __is >> __re >> __c; -+ if (__c == ',') -+ __is >> __im >> __c; -+ if (__c != ')') -+ __is.setstate(ios_base::failbit); -+ } -+ else { -+ __is.putback(__c); -+ __is >> __re; -+ } -+ -+ if (__is) -+ __z = complex(__re, __im); -+ return __is; -+} -+ -+_STLP_OPERATOR_SPEC -+basic_istream >& _STLP_CALL -+operator>>(basic_istream >& __is, complex& __z) -+{ -+ double __re = 0; -+ double __im = 0; -+ -+ char __c; -+ -+ __is >> __c; -+ if (__c == '(') { -+ __is >> __re >> __c; -+ if (__c == ',') -+ __is >> __im >> __c; -+ if (__c != ')') -+ __is.setstate(ios_base::failbit); -+ } -+ else { -+ __is.putback(__c); -+ __is >> __re; -+ } -+ -+ if (__is) -+ __z = complex(__re, __im); -+ return __is; -+} -+ -+# ifndef _STLP_NO_LONG_DOUBLE -+_STLP_OPERATOR_SPEC -+basic_istream >& _STLP_CALL -+operator>>(basic_istream >& __is, complex& __z) { -+ long double __re = 0; -+ long double __im = 0; -+ -+ char __c; -+ -+ __is >> __c; -+ if (__c == '(') { -+ __is >> __re >> __c; -+ if (__c == ',') -+ __is >> __im >> __c; -+ if (__c != ')') -+ __is.setstate(ios_base::failbit); -+ } -+ else { -+ __is.putback(__c); -+ __is >> __re; -+ } -+ -+ if (__is) -+ __z = complex(__re, __im); -+ return __is; -+} -+# endif -+ -+# endif /* MSVC */ -+ -+_STLP_END_NAMESPACE -+ -+ -+// Local Variables: -+// mode:C++ -+// End: -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/complex_io_w.cpp tripwire-2.3.1-2/src/STLport-4.0/src/complex_io_w.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/complex_io_w.cpp Sat Feb 24 10:44:07 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/complex_io_w.cpp Sun Aug 11 18:59:22 2002 -@@ -1,66 +1,57 @@ --/* -- * Copyright (c) 1999 -- * Silicon Graphics Computer Systems, Inc. -- * -- * Copyright (c) 1999 -- * Boris Fomitchev -- * -- * This material is provided "as is", with absolutely no warranty expressed -- * or implied. Any use is at your own risk. -- * -- * Permission to use or copy this software for any purpose is hereby granted -- * without fee, provided the above notices are retained on all copies. -- * Permission to modify the code and to distribute modified code is granted, -- * provided the above notices are retained, and a notice that the code was -- * modified is included with the above copyright notice. -- * -- */ -- --# include "stlport_prefix.h" --#include --#include --#include -- -- --# if defined (__STL_FUNCTION_TMPL_PARTIAL_ORDER) || defined (__BORLANDC__) --# define __STL_OPERATOR_SPEC __STL_DECLSPEC --# else --# define __STL_OPERATOR_SPEC __STL_TEMPLATE_NULL __STL_DECLSPEC --# endif -- --__STL_BEGIN_NAMESPACE -- --// Force instantiation of complex I/O functions -- --#if !(defined (__STL_NO_FORCE_INSTANTIATE) || defined (__STL_NO_WCHAR_T)) -- --#if defined(__MRC__)||defined(__SC__) //*TY 04/29/2000 - added workaround for mpw --template class basic_istream >; //*TY 04/29/2000 - they confuse on the nested class sentry of basic_istream if the class is not instantiated before it is used. --template class basic_ostream >; //*TY 04/29/2000 - --#endif //*TY 04/29/2000 - -- --__STL_OPERATOR_SPEC basic_istream >& __STL_CALL --operator>>(basic_istream >&, complex&); -- --__STL_OPERATOR_SPEC basic_istream >& __STL_CALL --operator>>(basic_istream >&, complex&); -- --__STL_OPERATOR_SPEC basic_istream >& __STL_CALL --operator>>(basic_istream >&, complex&); -- --__STL_OPERATOR_SPEC basic_ostream >& __STL_CALL --operator<<(basic_ostream >&, const complex&); -- --__STL_OPERATOR_SPEC basic_ostream >& __STL_CALL --operator<<(basic_ostream >&, const complex&); -- --__STL_OPERATOR_SPEC basic_ostream >& __STL_CALL --operator<<(basic_ostream >&, const complex&); -- --# endif /* __STL_NO_WCHAR_T */ -- --__STL_END_NAMESPACE -- --// Local Variables: --// mode:C++ --// End: -+/* -+ * Copyright (c) 1999 -+ * Silicon Graphics Computer Systems, Inc. -+ * -+ * Copyright (c) 1999 -+ * Boris Fomitchev -+ * -+ * This material is provided "as is", with absolutely no warranty expressed -+ * or implied. Any use is at your own risk. -+ * -+ * Permission to use or copy this software for any purpose is hereby granted -+ * without fee, provided the above notices are retained on all copies. -+ * Permission to modify the code and to distribute modified code is granted, -+ * provided the above notices are retained, and a notice that the code was -+ * modified is included with the above copyright notice. -+ * -+ */ -+ -+# include "stlport_prefix.h" -+// #include -+#include -+#include -+ -+_STLP_BEGIN_NAMESPACE -+ -+// Force instantiation of complex I/O functions -+ -+#if !(defined (_STLP_NO_FORCE_INSTANTIATE) || defined (_STLP_NO_WCHAR_T)) -+ -+_STLP_OPERATOR_SPEC basic_istream >& _STLP_CALL -+operator>>(basic_istream >&, complex&); -+ -+_STLP_OPERATOR_SPEC basic_istream >& _STLP_CALL -+operator>>(basic_istream >&, complex&); -+ -+#ifndef _STLP_NO_LONG_DOUBLE -+_STLP_OPERATOR_SPEC basic_istream >& _STLP_CALL -+operator>>(basic_istream >&, complex&); -+ -+_STLP_OPERATOR_SPEC basic_ostream >& _STLP_CALL -+operator<<(basic_ostream >&, const complex&); -+#endif -+ -+_STLP_OPERATOR_SPEC basic_ostream >& _STLP_CALL -+operator<<(basic_ostream >&, const complex&); -+ -+_STLP_OPERATOR_SPEC basic_ostream >& _STLP_CALL -+operator<<(basic_ostream >&, const complex&); -+ -+# endif /* _STLP_NO_WCHAR_T */ -+ -+_STLP_END_NAMESPACE -+ -+// Local Variables: -+// mode:C++ -+// End: -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/complex_trig.cpp tripwire-2.3.1-2/src/STLport-4.0/src/complex_trig.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/complex_trig.cpp Sat Feb 24 10:44:07 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/complex_trig.cpp Sun Aug 11 18:59:22 2002 -@@ -21,219 +21,198 @@ - // Trigonometric and hyperbolic functions for complex, - // complex, and complex - --#include -+ -+#include "complex_impl.h" -+ - #include - #include - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE -+ -+ -+//---------------------------------------------------------------------- -+// helpers -+ -+#ifdef __sgi -+ static const union { unsigned int i; float f; } float_ulimit = { 0x42b2d4fc }; -+ static const float float_limit = float_ulimit.f; -+ static union { -+ struct { unsigned int h; unsigned int l; } w; -+ double d; -+ } double_ulimit = { 0x408633ce, 0x8fb9f87d }; -+ static const double double_limit = double_ulimit.d; -+ static union { -+ struct { unsigned int h[2]; unsigned int l[2]; } w; -+ long double ld; -+ } ldouble_ulimit = {0x408633ce, 0x8fb9f87e, 0xbd23b659, 0x4e9bd8b1}; -+# ifndef _STLP_NO_LONG_DOUBLE -+ static const long double ldouble_limit = ldouble_ulimit.ld; -+# endif -+#else -+ static const float float_limit = _STLP_LOGF(FLT_MAX); -+ static const double double_limit = _STLP_DO_LOG(double)(DBL_MAX); -+# ifndef _STLP_NO_LONG_DOUBLE -+ static const long double ldouble_limit = _STLP_LOGL(LDBL_MAX); -+# endif -+#endif -+ - - //---------------------------------------------------------------------- - // sin - --__STL_DECLSPEC complex __STL_CALL sin(const complex& z) { -- return complex(__STL_SINF(z._M_re) * __STL_COSHF(z._M_im), -- __STL_COSF(z._M_re) * __STL_SINHF(z._M_im)); -+_STLP_DECLSPEC complex _STLP_CALL sin(const complex& z) { -+ return complex(_STLP_SINF(z._M_re) * _STLP_COSHF(z._M_im), -+ _STLP_COSF(z._M_re) * _STLP_SINHF(z._M_im)); - } - --__STL_DECLSPEC complex __STL_CALL sin(const complex& z) { -- return complex(__STL_SIN(z._M_re) * __STL_COSH(z._M_im), -- __STL_COS(z._M_re) * __STL_SINH(z._M_im)); -+_STLP_DECLSPEC complex _STLP_CALL sin(const complex& z) { -+ return complex(_STLP_SIN(z._M_re) * _STLP_COSH(z._M_im), -+ _STLP_COS(z._M_re) * _STLP_SINH(z._M_im)); - } - --__STL_DECLSPEC complex __STL_CALL sin(const complex& z) { -- return complex(__STL_SINL(z._M_re) * __STL_COSHL(z._M_im), -- __STL_COSL(z._M_re) * __STL_SINHL(z._M_im)); -+#ifndef _STLP_NO_LONG_DOUBLE -+_STLP_DECLSPEC complex _STLP_CALL sin(const complex& z) { -+ return complex(_STLP_SINL(z._M_re) * _STLP_COSHL(z._M_im), -+ _STLP_COSL(z._M_re) * _STLP_SINHL(z._M_im)); - } -- -+#endif - - //---------------------------------------------------------------------- - // cos - --__STL_DECLSPEC complex __STL_CALL cos(const complex& z) { -- return complex(__STL_COSF(z._M_re) * __STL_COSHF(z._M_im), -- -__STL_SINF(z._M_re) * __STL_SINHF(z._M_im)); -+_STLP_DECLSPEC complex _STLP_CALL cos(const complex& z) { -+ return complex(_STLP_COSF(z._M_re) * _STLP_COSHF(z._M_im), -+ -_STLP_SINF(z._M_re) * _STLP_SINHF(z._M_im)); - } - --__STL_DECLSPEC complex __STL_CALL cos(const complex& z) { -- return complex(__STL_COS(z._M_re) * __STL_COSH(z._M_im), -- -__STL_SIN(z._M_re) * __STL_SINH(z._M_im)); -+_STLP_DECLSPEC complex _STLP_CALL cos(const complex& z) { -+ return complex(_STLP_COS(z._M_re) * _STLP_COSH(z._M_im), -+ -_STLP_SIN(z._M_re) * _STLP_SINH(z._M_im)); - } - --__STL_DECLSPEC complex __STL_CALL cos(const complex& z) { -- return complex(__STL_COSL(z._M_re) * __STL_COSHL(z._M_im), -- -__STL_SINL(z._M_re) * __STL_SINHL(z._M_im)); -+#ifndef _STLP_NO_LONG_DOUBLE -+_STLP_DECLSPEC complex _STLP_CALL cos(const complex& z) { -+ return complex(_STLP_COSL(z._M_re) * _STLP_COSHL(z._M_im), -+ -_STLP_SINL(z._M_re) * _STLP_SINHL(z._M_im)); - } -- -+# endif - - //---------------------------------------------------------------------- - // tan - --__STL_DECLSPEC complex __STL_CALL tan(const complex& z) { -+_STLP_DECLSPEC complex _STLP_CALL tan(const complex& z) { - float re2 = 2.f * z._M_re; - float im2 = 2.f * z._M_im; - --#ifdef __sgi -- const union { unsigned int i; float f; } ulimit = { 0x42b2d4fc }; -- const float limit = ulimit.f; --#else -- const float limit = __STL_LOGF(FLT_MAX); --#endif -- -- if (__STL_ABSF(im2) > limit) -+ if (_STLP_ABSF(im2) > float_limit) - return complex(0.f, (im2 > 0 ? 1.f : -1.f)); - else { -- float den = __STL_COSF(re2) + __STL_COSHF(im2); -- return complex(__STL_SINF(re2) / den, __STL_SINHF(im2) / den); -+ float den = _STLP_COSF(re2) + _STLP_COSHF(im2); -+ return complex(_STLP_SINF(re2) / den, _STLP_SINHF(im2) / den); - } - } - --__STL_DECLSPEC complex __STL_CALL tan(const complex& z) { -+_STLP_DECLSPEC complex _STLP_CALL tan(const complex& z) { - double re2 = 2. * z._M_re; - double im2 = 2. * z._M_im; - --#ifdef __sgi -- union { -- struct { unsigned int h; unsigned int l; } w; -- double d; -- } ulimit = { 0x408633ce, 0x8fb9f87d }; -- const double limit = ulimit.d; --#else -- const double limit = __STL_DO_LOG(double)(DBL_MAX); --#endif -- -- if (fabs(im2) > limit) -+ if (fabs(float(im2)) > double_limit) - return complex(0., (im2 > 0 ? 1. : -1.)); - else { -- double den = __STL_COS(re2) + __STL_COSH(im2); -- return complex(__STL_SIN(re2) / den, __STL_SINH(im2) / den); -+ double den = _STLP_COS(re2) + _STLP_COSH(im2); -+ return complex(_STLP_SIN(re2) / den, _STLP_SINH(im2) / den); - } - } - --__STL_DECLSPEC complex __STL_CALL tan(const complex& z) { -+#ifndef _STLP_NO_LONG_DOUBLE -+_STLP_DECLSPEC complex _STLP_CALL tan(const complex& z) { - long double re2 = 2.l * z._M_re; - long double im2 = 2.l * z._M_im; -- --#ifdef __sgi -- union { -- struct { unsigned int h[2]; unsigned int l[2]; } w; -- long double ld; -- } ulimit = {0x408633ce, 0x8fb9f87e, 0xbd23b659, 0x4e9bd8b1}; -- const long double limit = ulimit.ld; --#else -- const long double limit = __STL_LOGL(LDBL_MAX); --#endif -- -- if (__STL_ABSL(im2) > limit) -+ if (_STLP_ABSL(im2) > ldouble_limit) - return complex(0.l, (im2 > 0 ? 1.l : -1.l)); - else { -- long double den = __STL_COSL(re2) + __STL_COSHL(im2); -- return complex(__STL_SINL(re2) / den, __STL_SINHL(im2) / den); -+ long double den = _STLP_COSL(re2) + _STLP_COSHL(im2); -+ return complex(_STLP_SINL(re2) / den, _STLP_SINHL(im2) / den); - } - } - -+# endif - - //---------------------------------------------------------------------- - // sinh - --__STL_DECLSPEC complex __STL_CALL sinh(const complex& z) { -- return complex(__STL_SINHF(z._M_re) * __STL_COSF(z._M_im), -- __STL_COSHF(z._M_re) * __STL_SINF(z._M_im)); -+_STLP_DECLSPEC complex _STLP_CALL sinh(const complex& z) { -+ return complex(_STLP_SINHF(z._M_re) * _STLP_COSF(z._M_im), -+ _STLP_COSHF(z._M_re) * _STLP_SINF(z._M_im)); - } - --__STL_DECLSPEC complex __STL_CALL sinh(const complex& z) { -- return complex(__STL_SINH(z._M_re) * __STL_COS(z._M_im), -- __STL_COSH(z._M_re) * __STL_SIN(z._M_im)); -+_STLP_DECLSPEC complex _STLP_CALL sinh(const complex& z) { -+ return complex(_STLP_SINH(z._M_re) * _STLP_COS(z._M_im), -+ _STLP_COSH(z._M_re) * _STLP_SIN(z._M_im)); - } - --__STL_DECLSPEC complex __STL_CALL sinh(const complex& z) { -- return complex(__STL_SINHL(z._M_re) * __STL_COSL(z._M_im), -- __STL_COSHL(z._M_re) * __STL_SINL(z._M_im)); -+#ifndef _STLP_NO_LONG_DOUBLE -+_STLP_DECLSPEC complex _STLP_CALL sinh(const complex& z) { -+ return complex(_STLP_SINHL(z._M_re) * _STLP_COSL(z._M_im), -+ _STLP_COSHL(z._M_re) * _STLP_SINL(z._M_im)); - } -- -+#endif - - //---------------------------------------------------------------------- - // cosh - --__STL_DECLSPEC complex __STL_CALL cosh(const complex& z) { -- return complex(__STL_COSHF(z._M_re) * __STL_COSF(z._M_im), -- __STL_SINHF(z._M_re) * __STL_SINF(z._M_im)); -+_STLP_DECLSPEC complex _STLP_CALL cosh(const complex& z) { -+ return complex(_STLP_COSHF(z._M_re) * _STLP_COSF(z._M_im), -+ _STLP_SINHF(z._M_re) * _STLP_SINF(z._M_im)); - } - --__STL_DECLSPEC complex __STL_CALL cosh(const complex& z) { -- return complex(__STL_COSH(z._M_re) * __STL_COS(z._M_im), -- __STL_SINH(z._M_re) * __STL_SIN(z._M_im)); -+_STLP_DECLSPEC complex _STLP_CALL cosh(const complex& z) { -+ return complex(_STLP_COSH(z._M_re) * _STLP_COS(z._M_im), -+ _STLP_SINH(z._M_re) * _STLP_SIN(z._M_im)); - } - --__STL_DECLSPEC complex __STL_CALL cosh(const complex& z) { -- return complex(__STL_COSHL(z._M_re) * __STL_COSL(z._M_im), -- __STL_SINHL(z._M_re) * __STL_SINL(z._M_im)); -+#ifndef _STLP_NO_LONG_DOUBLE -+_STLP_DECLSPEC complex _STLP_CALL cosh(const complex& z) { -+ return complex(_STLP_COSHL(z._M_re) * _STLP_COSL(z._M_im), -+ _STLP_SINHL(z._M_re) * _STLP_SINL(z._M_im)); - } -- -+#endif - - //---------------------------------------------------------------------- - // tanh - --__STL_DECLSPEC complex __STL_CALL tanh(const complex& z) { -+_STLP_DECLSPEC complex _STLP_CALL tanh(const complex& z) { - float re2 = 2.f * z._M_re; - float im2 = 2.f * z._M_im; -- --#ifdef __sgi -- const union { unsigned int i; float f; } ulimit = { 0x42b2d4fc }; -- const float limit = ulimit.f; --#else -- const float limit = __STL_LOGF(FLT_MAX); --#endif -- -- if (__STL_ABSF(re2) > limit) -+ if (_STLP_ABSF(re2) > float_limit) - return complex((re2 > 0 ? 1.f : -1.f), 0.f); - else { -- float den = __STL_COSHF(re2) + __STL_COSF(im2); -- return complex(__STL_SINHF(re2) / den, __STL_SINF(im2) / den); -+ float den = _STLP_COSHF(re2) + _STLP_COSF(im2); -+ return complex(_STLP_SINHF(re2) / den, _STLP_SINF(im2) / den); - } - } - --__STL_DECLSPEC complex __STL_CALL tanh(const complex& z) { -+_STLP_DECLSPEC complex _STLP_CALL tanh(const complex& z) { - double re2 = 2. * z._M_re; -- double im2 = 2. * z._M_im; -- --#ifdef __sgi -- union { -- struct { unsigned int h; unsigned int l; } w; -- double d; -- } ulimit = { 0x408633ce, 0x8fb9f87d }; -- const double limit = ulimit.d; --#else -- const double limit = __STL_DO_LOG(double)(DBL_MAX); --#endif -- -- if (fabs(re2) > limit) -+ double im2 = 2. * z._M_im; -+ if (fabs(float(re2)) > double_limit) - return complex((re2 > 0 ? 1. : -1.), 0.); - else { -- double den = __STL_COSH(re2) + __STL_COS(im2); -- return complex(__STL_SINH(re2) / den, __STL_SIN(im2) / den); -+ double den = _STLP_COSH(re2) + _STLP_COS(im2); -+ return complex(_STLP_SINH(re2) / den, _STLP_SIN(im2) / den); - } - } - --__STL_DECLSPEC complex __STL_CALL tanh(const complex& z) { -+#ifndef _STLP_NO_LONG_DOUBLE -+_STLP_DECLSPEC complex _STLP_CALL tanh(const complex& z) { - long double re2 = 2.l * z._M_re; - long double im2 = 2.l * z._M_im; -- --#ifdef __sgi -- union { -- struct { unsigned int h[2]; unsigned int l[2]; } w; -- long double ld; -- } ulimit = {0x408633ce, 0x8fb9f87e, 0xbd23b659, 0x4e9bd8b1}; -- const long double limit = ulimit.ld; --#else -- const long double limit = __STL_LOGL(LDBL_MAX); --#endif -- -- if (__STL_ABSL(re2) > limit) -+ if (_STLP_ABSL(re2) > ldouble_limit) - return complex((re2 > 0 ? 1.l : -1.l), 0.l); - else { -- long double den = __STL_COSHL(re2) + __STL_COSL(im2); -- return complex(__STL_SINHL(re2) / den, __STL_SINL(im2) / den); -+ long double den = _STLP_COSHL(re2) + _STLP_COSL(im2); -+ return complex(_STLP_SINHL(re2) / den, _STLP_SINL(im2) / den); - } - } -- --__STL_END_NAMESPACE -+#endif -+_STLP_END_NAMESPACE -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/ctype.cpp tripwire-2.3.1-2/src/STLport-4.0/src/ctype.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/ctype.cpp Sat Feb 24 10:44:08 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/ctype.cpp Sun Aug 11 18:59:22 2002 -@@ -18,79 +18,19 @@ - - # include "stlport_prefix.h" - --#include --#include -+#include - #include --#include -+#include -+#include "c_locale.h" - --__STL_BEGIN_NAMESPACE -- --// Some helper functions used in ctype<>::scan_is and scan_is_not. -- --struct _Ctype_is_mask { -- typedef char argument_type; -- typedef bool result_type; -- -- ctype_base::mask M; -- const ctype_base::mask* table; -- -- _Ctype_is_mask(ctype_base::mask m, const ctype_base::mask* t) : M(m), table(t) {} -- bool operator()(char c) const { return (table[(unsigned char) c] & M) != 0; } --}; -+_STLP_BEGIN_NAMESPACE - - //---------------------------------------------------------------------- - // ctype - --ctype::ctype(const mask* tab, bool del, size_t refs) --#if !(defined(__MRC__) || defined(__SC__) ) //*TY 04/29/2000 - added workaround for mpw -- : locale::facet(refs), --#else //*TY 04/29/2000 - -- : _facet(refs), //*TY 04/29/2000 - they forget to look into the nested class for the ctor --#endif //*TY 04/29/2000 - -- _M_ctype_table(0) --{ -- _M_ctype_table = tab ? tab : classic_table(); -- _M_delete = tab && del; --} -- --ctype::~ctype() { -- if (_M_delete) -- delete[] __CONST_CAST(mask*, _M_ctype_table); --} -- --const char* --ctype::is(const char* low, const char* high, mask* vec) const { -- for (const char* p = low;p != high; ++p, ++vec) { -- *vec = table()[(unsigned char)*p]; -- } -- return high; --} -- --const char* --ctype::scan_is(mask m, const char* low, const char* high) const { -- return find_if(low, high, _Ctype_is_mask(m, this->table())); --} -- --const char* --ctype::scan_not(mask m, const char* low, const char* high) const { -- return find_if(low, high, not1(_Ctype_is_mask(m, this->table()))); --} -- --const char* ctype::do_toupper(char* low, const char* high) const { -- for ( ; low < high; ++low) -- *low = (char) _S_upper[(unsigned char) *low]; -- return high; --} -- --const char* ctype::do_tolower(char* low, const char* high) const { -- for ( ; low < high; ++low) -- *low = (char) _S_lower[(unsigned char) *low]; -- return high; --} -- - // The classic table: static data members. - --# if !defined(__STL_STATIC_CONST_INIT_BUG) && !(defined(__MRC__) || defined(__SC__)) -+# if !defined(_STLP_STATIC_CONST_INIT_BUG) && !(defined(__MRC__) || defined(__SC__)) - //*TY 02/25/2000 - added workaround for MPW compilers; they confuse on in-class static const - const size_t ctype::table_size; - # endif -@@ -98,7 +38,7 @@ - // This macro is specifically for platforms where isprint() relies - // on separate flag - --# define PRINTFLAG mask( _Locale_PRINT & ~(_Locale_UPPER | _Locale_LOWER | _Locale_ALPHA | _Locale_DIGIT | _Locale_PUNCT | _Locale_SPACE | _Locale_XDIGIT )) -+# define PRINTFLAG ctype_base::mask( _Locale_PRINT & ~(_Locale_UPPER | _Locale_LOWER | _Locale_ALPHA | _Locale_DIGIT | _Locale_PUNCT | _Locale_SPACE | _Locale_XDIGIT )) - - // Ctype table for the ASCII character set. - // There are 257 entries in this table. The first is EOF (-1). -@@ -107,7 +47,7 @@ - const ctype_base::mask - ctype::_S_classic_table[257] = - { -- mask(0) /* EOF */, -+ ctype_base::mask(0) /* EOF */, - cntrl /* null */, - cntrl /* ^A */, - cntrl /* ^B */, -@@ -117,11 +57,11 @@ - cntrl /* ^F */, - cntrl /* ^G */, - cntrl /* ^H */, -- mask(space | cntrl) /* tab */, -- mask(space | cntrl) /* LF */, -- mask(space | cntrl) /* ^K */, -- mask(space | cntrl) /* FF */, -- mask(space | cntrl) /* ^M */, -+ ctype_base::mask(space | cntrl) /* tab */, -+ ctype_base::mask(space | cntrl) /* LF */, -+ ctype_base::mask(space | cntrl) /* ^K */, -+ ctype_base::mask(space | cntrl) /* FF */, -+ ctype_base::mask(space | cntrl) /* ^M */, - cntrl /* ^N */, - cntrl /* ^O */, - cntrl /* ^P */, -@@ -140,119 +80,119 @@ - cntrl /* ^] */, - cntrl /* ^^ */, - cntrl /* ^_ */, -- mask (space | PRINTFLAG) /* */, -- mask (punct | PRINTFLAG ) /* ! */, -- mask (punct | PRINTFLAG ) /* " */, -- mask (punct | PRINTFLAG ) /* # */, -- mask (punct | PRINTFLAG ) /* $ */, -- mask (punct | PRINTFLAG ) /* % */, -- mask (punct | PRINTFLAG ) /* & */, -- mask (punct | PRINTFLAG ) /* ' */, -- mask (punct | PRINTFLAG ) /* ( */, -- mask (punct | PRINTFLAG ) /* ) */, -- mask (punct | PRINTFLAG ) /* * */, -- mask (punct | PRINTFLAG ) /* + */, -- mask (punct | PRINTFLAG ) /* , */, -- mask (punct | PRINTFLAG ) /* - */, -- mask (punct | PRINTFLAG ) /* . */, -- mask (punct | PRINTFLAG ) /* / */, -- mask(digit | PRINTFLAG | xdigit) /* 0 */, -- mask(digit | PRINTFLAG | xdigit) /* 1 */, -- mask(digit | PRINTFLAG | xdigit) /* 2 */, -- mask(digit | PRINTFLAG | xdigit) /* 3 */, -- mask(digit | PRINTFLAG | xdigit) /* 4 */, -- mask(digit | PRINTFLAG | xdigit) /* 5 */, -- mask(digit | PRINTFLAG | xdigit) /* 6 */, -- mask(digit | PRINTFLAG | xdigit) /* 7 */, -- mask(digit | PRINTFLAG | xdigit) /* 8 */, -- mask(digit | PRINTFLAG | xdigit) /* 9 */, -- mask (punct | PRINTFLAG ) /* : */, -- mask (punct | PRINTFLAG ) /* ; */, -- mask (punct | PRINTFLAG ) /* < */, -- mask (punct | PRINTFLAG ) /* = */, -- mask (punct | PRINTFLAG ) /* > */, -- mask (punct | PRINTFLAG ) /* ? */, -- mask (punct | PRINTFLAG ) /* ! */, -- mask(alpha | PRINTFLAG | upper | xdigit) /* A */, -- mask(alpha | PRINTFLAG | upper | xdigit) /* B */, -- mask(alpha | PRINTFLAG | upper | xdigit) /* C */, -- mask(alpha | PRINTFLAG | upper | xdigit) /* D */, -- mask(alpha | PRINTFLAG | upper | xdigit) /* E */, -- mask(alpha | PRINTFLAG | upper | xdigit) /* F */, -- mask(alpha | PRINTFLAG | upper) /* G */, -- mask(alpha | PRINTFLAG | upper) /* H */, -- mask(alpha | PRINTFLAG | upper) /* I */, -- mask(alpha | PRINTFLAG | upper) /* J */, -- mask(alpha | PRINTFLAG | upper) /* K */, -- mask(alpha | PRINTFLAG | upper) /* L */, -- mask(alpha | PRINTFLAG | upper) /* M */, -- mask(alpha | PRINTFLAG | upper) /* N */, -- mask(alpha | PRINTFLAG | upper) /* O */, -- mask(alpha | PRINTFLAG | upper) /* P */, -- mask(alpha | PRINTFLAG | upper) /* Q */, -- mask(alpha | PRINTFLAG | upper) /* R */, -- mask(alpha | PRINTFLAG | upper) /* S */, -- mask(alpha | PRINTFLAG | upper) /* T */, -- mask(alpha | PRINTFLAG | upper) /* U */, -- mask(alpha | PRINTFLAG | upper) /* V */, -- mask(alpha | PRINTFLAG | upper) /* W */, -- mask(alpha | PRINTFLAG | upper) /* X */, -- mask(alpha | PRINTFLAG | upper) /* Y */, -- mask(alpha | PRINTFLAG | upper) /* Z */, -- mask (punct | PRINTFLAG ) /* [ */, -- mask (punct | PRINTFLAG ) /* \ */, -- mask (punct | PRINTFLAG ) /* ] */, -- mask (punct | PRINTFLAG ) /* ^ */, -- mask (punct | PRINTFLAG ) /* _ */, -- mask (punct | PRINTFLAG ) /* ` */, -- mask(alpha | PRINTFLAG | lower | xdigit) /* a */, -- mask(alpha | PRINTFLAG | lower | xdigit) /* b */, -- mask(alpha | PRINTFLAG | lower | xdigit) /* c */, -- mask(alpha | PRINTFLAG | lower | xdigit) /* d */, -- mask(alpha | PRINTFLAG | lower | xdigit) /* e */, -- mask(alpha | PRINTFLAG | lower | xdigit) /* f */, -- mask(alpha | PRINTFLAG | lower) /* g */, -- mask(alpha | PRINTFLAG | lower) /* h */, -- mask(alpha | PRINTFLAG | lower) /* i */, -- mask(alpha | PRINTFLAG | lower) /* j */, -- mask(alpha | PRINTFLAG | lower) /* k */, -- mask(alpha | PRINTFLAG | lower) /* l */, -- mask(alpha | PRINTFLAG | lower) /* m */, -- mask(alpha | PRINTFLAG | lower) /* n */, -- mask(alpha | PRINTFLAG | lower) /* o */, -- mask(alpha | PRINTFLAG | lower) /* p */, -- mask(alpha | PRINTFLAG | lower) /* q */, -- mask(alpha | PRINTFLAG | lower) /* r */, -- mask(alpha | PRINTFLAG | lower) /* s */, -- mask(alpha | PRINTFLAG | lower) /* t */, -- mask(alpha | PRINTFLAG | lower) /* u */, -- mask(alpha | PRINTFLAG | lower) /* v */, -- mask(alpha | PRINTFLAG | lower) /* w */, -- mask(alpha | PRINTFLAG | lower) /* x */, -- mask(alpha | PRINTFLAG | lower) /* y */, -- mask(alpha | PRINTFLAG | lower) /* x */, -- mask (punct | PRINTFLAG ) /* { */, -- mask (punct | PRINTFLAG ) /* | */, -- mask (punct | PRINTFLAG ) /* } */, -- mask (punct | PRINTFLAG ) /* ~ */, -+ ctype_base::mask (space | PRINTFLAG) /* */, -+ ctype_base::mask (punct | PRINTFLAG ) /* ! */, -+ ctype_base::mask (punct | PRINTFLAG ) /* " */, -+ ctype_base::mask (punct | PRINTFLAG ) /* # */, -+ ctype_base::mask (punct | PRINTFLAG ) /* $ */, -+ ctype_base::mask (punct | PRINTFLAG ) /* % */, -+ ctype_base::mask (punct | PRINTFLAG ) /* & */, -+ ctype_base::mask (punct | PRINTFLAG ) /* ' */, -+ ctype_base::mask (punct | PRINTFLAG ) /* ( */, -+ ctype_base::mask (punct | PRINTFLAG ) /* ) */, -+ ctype_base::mask (punct | PRINTFLAG ) /* * */, -+ ctype_base::mask (punct | PRINTFLAG ) /* + */, -+ ctype_base::mask (punct | PRINTFLAG ) /* , */, -+ ctype_base::mask (punct | PRINTFLAG ) /* - */, -+ ctype_base::mask (punct | PRINTFLAG ) /* . */, -+ ctype_base::mask (punct | PRINTFLAG ) /* / */, -+ ctype_base::mask(digit | PRINTFLAG | xdigit) /* 0 */, -+ ctype_base::mask(digit | PRINTFLAG | xdigit) /* 1 */, -+ ctype_base::mask(digit | PRINTFLAG | xdigit) /* 2 */, -+ ctype_base::mask(digit | PRINTFLAG | xdigit) /* 3 */, -+ ctype_base::mask(digit | PRINTFLAG | xdigit) /* 4 */, -+ ctype_base::mask(digit | PRINTFLAG | xdigit) /* 5 */, -+ ctype_base::mask(digit | PRINTFLAG | xdigit) /* 6 */, -+ ctype_base::mask(digit | PRINTFLAG | xdigit) /* 7 */, -+ ctype_base::mask(digit | PRINTFLAG | xdigit) /* 8 */, -+ ctype_base::mask(digit | PRINTFLAG | xdigit) /* 9 */, -+ ctype_base::mask (punct | PRINTFLAG ) /* : */, -+ ctype_base::mask (punct | PRINTFLAG ) /* ; */, -+ ctype_base::mask (punct | PRINTFLAG ) /* < */, -+ ctype_base::mask (punct | PRINTFLAG ) /* = */, -+ ctype_base::mask (punct | PRINTFLAG ) /* > */, -+ ctype_base::mask (punct | PRINTFLAG ) /* ? */, -+ ctype_base::mask (punct | PRINTFLAG ) /* ! */, -+ ctype_base::mask(alpha | PRINTFLAG | upper | xdigit) /* A */, -+ ctype_base::mask(alpha | PRINTFLAG | upper | xdigit) /* B */, -+ ctype_base::mask(alpha | PRINTFLAG | upper | xdigit) /* C */, -+ ctype_base::mask(alpha | PRINTFLAG | upper | xdigit) /* D */, -+ ctype_base::mask(alpha | PRINTFLAG | upper | xdigit) /* E */, -+ ctype_base::mask(alpha | PRINTFLAG | upper | xdigit) /* F */, -+ ctype_base::mask(alpha | PRINTFLAG | upper) /* G */, -+ ctype_base::mask(alpha | PRINTFLAG | upper) /* H */, -+ ctype_base::mask(alpha | PRINTFLAG | upper) /* I */, -+ ctype_base::mask(alpha | PRINTFLAG | upper) /* J */, -+ ctype_base::mask(alpha | PRINTFLAG | upper) /* K */, -+ ctype_base::mask(alpha | PRINTFLAG | upper) /* L */, -+ ctype_base::mask(alpha | PRINTFLAG | upper) /* M */, -+ ctype_base::mask(alpha | PRINTFLAG | upper) /* N */, -+ ctype_base::mask(alpha | PRINTFLAG | upper) /* O */, -+ ctype_base::mask(alpha | PRINTFLAG | upper) /* P */, -+ ctype_base::mask(alpha | PRINTFLAG | upper) /* Q */, -+ ctype_base::mask(alpha | PRINTFLAG | upper) /* R */, -+ ctype_base::mask(alpha | PRINTFLAG | upper) /* S */, -+ ctype_base::mask(alpha | PRINTFLAG | upper) /* T */, -+ ctype_base::mask(alpha | PRINTFLAG | upper) /* U */, -+ ctype_base::mask(alpha | PRINTFLAG | upper) /* V */, -+ ctype_base::mask(alpha | PRINTFLAG | upper) /* W */, -+ ctype_base::mask(alpha | PRINTFLAG | upper) /* X */, -+ ctype_base::mask(alpha | PRINTFLAG | upper) /* Y */, -+ ctype_base::mask(alpha | PRINTFLAG | upper) /* Z */, -+ ctype_base::mask (punct | PRINTFLAG ) /* [ */, -+ ctype_base::mask (punct | PRINTFLAG ) /* \ */, -+ ctype_base::mask (punct | PRINTFLAG ) /* ] */, -+ ctype_base::mask (punct | PRINTFLAG ) /* ^ */, -+ ctype_base::mask (punct | PRINTFLAG ) /* _ */, -+ ctype_base::mask (punct | PRINTFLAG ) /* ` */, -+ ctype_base::mask(alpha | PRINTFLAG | lower | xdigit) /* a */, -+ ctype_base::mask(alpha | PRINTFLAG | lower | xdigit) /* b */, -+ ctype_base::mask(alpha | PRINTFLAG | lower | xdigit) /* c */, -+ ctype_base::mask(alpha | PRINTFLAG | lower | xdigit) /* d */, -+ ctype_base::mask(alpha | PRINTFLAG | lower | xdigit) /* e */, -+ ctype_base::mask(alpha | PRINTFLAG | lower | xdigit) /* f */, -+ ctype_base::mask(alpha | PRINTFLAG | lower) /* g */, -+ ctype_base::mask(alpha | PRINTFLAG | lower) /* h */, -+ ctype_base::mask(alpha | PRINTFLAG | lower) /* i */, -+ ctype_base::mask(alpha | PRINTFLAG | lower) /* j */, -+ ctype_base::mask(alpha | PRINTFLAG | lower) /* k */, -+ ctype_base::mask(alpha | PRINTFLAG | lower) /* l */, -+ ctype_base::mask(alpha | PRINTFLAG | lower) /* m */, -+ ctype_base::mask(alpha | PRINTFLAG | lower) /* n */, -+ ctype_base::mask(alpha | PRINTFLAG | lower) /* o */, -+ ctype_base::mask(alpha | PRINTFLAG | lower) /* p */, -+ ctype_base::mask(alpha | PRINTFLAG | lower) /* q */, -+ ctype_base::mask(alpha | PRINTFLAG | lower) /* r */, -+ ctype_base::mask(alpha | PRINTFLAG | lower) /* s */, -+ ctype_base::mask(alpha | PRINTFLAG | lower) /* t */, -+ ctype_base::mask(alpha | PRINTFLAG | lower) /* u */, -+ ctype_base::mask(alpha | PRINTFLAG | lower) /* v */, -+ ctype_base::mask(alpha | PRINTFLAG | lower) /* w */, -+ ctype_base::mask(alpha | PRINTFLAG | lower) /* x */, -+ ctype_base::mask(alpha | PRINTFLAG | lower) /* y */, -+ ctype_base::mask(alpha | PRINTFLAG | lower) /* x */, -+ ctype_base::mask (punct | PRINTFLAG ) /* { */, -+ ctype_base::mask (punct | PRINTFLAG ) /* | */, -+ ctype_base::mask (punct | PRINTFLAG ) /* } */, -+ ctype_base::mask (punct | PRINTFLAG ) /* ~ */, - cntrl /* del (0x7f)*/, - /* ASCII is a 7-bit code, so everything else is non-ASCII */ --mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), --mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), --mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), --mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), --mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), --mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), --mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), --mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), --mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), --mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), --mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), --mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), --mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), --mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), --mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), --mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0), mask(0) -+ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), -+ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), -+ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), -+ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), -+ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), -+ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), -+ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), -+ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), -+ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), -+ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), -+ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), -+ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), -+ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), -+ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), -+ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), -+ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0), ctype_base::mask(0) - }; - - // For every c in the range 0 <= c < 256, _S_upper[c] is the -@@ -332,7 +272,217 @@ - 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff - }; - --__STL_END_NAMESPACE -+ -+// Some helper functions used in ctype<>::scan_is and scan_is_not. -+ -+struct _Ctype_is_mask { -+ typedef char argument_type; -+ typedef bool result_type; -+ -+ ctype_base::mask _Mask; -+ const ctype_base::mask* _M_table; -+ -+ _Ctype_is_mask(ctype_base::mask __m, const ctype_base::mask* __t) : _Mask(__m), _M_table(__t) {} -+ bool operator()(char __c) const { return (_M_table[(unsigned char) __c] & _Mask) != 0; } -+}; -+ -+struct _Ctype_not_mask { -+ typedef char argument_type; -+ typedef bool result_type; -+ -+ ctype_base::mask _Mask; -+ const ctype_base::mask* _M_table; -+ -+ _Ctype_not_mask(ctype_base::mask __m, const ctype_base::mask* __t) : _Mask(__m), _M_table(__t) {} -+ bool operator()(char __c) const { return (_M_table[(unsigned char) __c] & _Mask) == 0; } -+}; -+ -+ctype::ctype(const ctype_base::mask * __tab, bool __del, size_t __refs) : -+ _BaseFacet(__refs) /* , _M_ctype_table(0) */ { -+ _M_ctype_table = __tab ? __tab : classic_table(); -+ _M_delete = __tab && __del; -+} -+ -+ctype::~ctype() { -+ if (_M_delete) -+ delete[] __CONST_CAST(ctype_base::mask *, _M_ctype_table); -+} -+ -+const char* -+ctype::scan_is(ctype_base::mask __m, const char* __low, const char* __high) const { -+ return _STLP_STD::find_if(__low, __high, _Ctype_is_mask(__m, _M_ctype_table)); -+} -+ -+const char* -+ctype::scan_not(ctype_base::mask __m, const char* __low, const char* __high) const { -+ return _STLP_STD::find_if(__low, __high, _Ctype_not_mask(__m, _M_ctype_table)); -+} -+ -+char -+ctype::do_toupper(char __c) const -+{ return (char) _S_upper[(unsigned char) __c]; } -+char -+ctype::do_tolower(char __c) const -+{ return (char) _S_lower[(unsigned char) __c]; } -+const char* -+ctype::do_toupper(char* __low, const char* __high) const { -+ for ( ; __low < __high; ++__low) -+ *__low = (char) _S_upper[(unsigned char) *__low]; -+ return __high; -+} -+ -+const char* -+ctype::do_tolower(char* __low, const char* __high) const { -+ for ( ; __low < __high; ++__low) -+ *__low = (char) _S_lower[(unsigned char) *__low]; -+ return __high; -+} -+ -+char -+ctype::do_widen(char __c) const { return __c; } -+ -+const char* -+ctype::do_widen(const char* __low, const char* __high, -+ char* __to) const { -+ __copy_trivial(__low, __high, __to); -+ return __high; -+} -+char -+ctype::do_narrow(char __c, char /* dfault */ ) const { return __c; } -+const char* -+ctype::do_narrow(const char* __low, const char* __high, -+ char /* dfault */, char* __to) const { -+ __copy_trivial(__low, __high, __to); -+ return __high; -+} -+ -+ -+# ifndef _STLP_NO_WCHAR_T -+ -+ struct _Ctype_w_is_mask { -+ typedef wchar_t argument_type; -+ typedef bool result_type; -+ -+ ctype_base::mask M; -+ const ctype_base::mask* table; -+ -+ _Ctype_w_is_mask(ctype_base::mask m, const ctype_base::mask* t) -+ : M(m), table(t) {} -+ bool operator()(wchar_t c) const -+ { return c >= 0 && size_t(c) < ctype::table_size && (table[c] & M); } -+ }; -+ -+ -+//---------------------------------------------------------------------- -+// ctype -+ -+ctype::~ctype() {} -+ -+ -+bool ctype::do_is(ctype_base::mask m, wchar_t c) const -+{ -+ const ctype_base::mask * table = ctype::classic_table(); -+ return c >= 0 && size_t(c) < ctype::table_size && (m & table[c]); -+} -+ -+const wchar_t* ctype::do_is(const wchar_t* low, const wchar_t* high, -+ ctype_base::mask * vec) const -+{ -+ // boris : not clear if this is the right thing to do... -+ const ctype_base::mask * table = ctype::classic_table(); -+ for ( ; low < high; ++low, ++vec) { -+ wchar_t c = *low; -+ *vec = c >= 0 && size_t(c) < ctype::table_size ? table[c] : ctype_base::mask (0); -+ } -+ return high; -+} -+ -+const wchar_t* -+ctype::do_scan_is(ctype_base::mask m, -+ const wchar_t* low, const wchar_t* high) const -+{ -+ return find_if(low, high, _Ctype_w_is_mask(m, ctype::classic_table())); -+} -+ -+ -+const wchar_t* -+ctype::do_scan_not(ctype_base::mask m, -+ const wchar_t* low, const wchar_t* high) const -+{ -+ return find_if(low, high, not1(_Ctype_w_is_mask(m, ctype::classic_table()))); -+} -+ -+wchar_t ctype::do_toupper(wchar_t c) const -+{ -+ return c >= 0 && size_t(c) < ctype::table_size -+ ? (wchar_t) ctype::_S_upper[c] -+ : c; -+} -+ -+const wchar_t* -+ctype::do_toupper(wchar_t* low, const wchar_t* high) const -+{ -+ for ( ; low < high; ++low) { -+ wchar_t c = *low; -+ *low = c >= 0 && size_t(c) < ctype::table_size -+ ? (wchar_t) ctype::_S_upper[c] -+ : c; -+ } -+ return high; -+} -+ -+wchar_t ctype::do_tolower(wchar_t c) const -+{ -+ return c >= 0 && size_t(c) < ctype::table_size -+ ? (wchar_t) ctype::_S_lower[c] -+ : c; -+} -+ -+const wchar_t* -+ctype::do_tolower(wchar_t* low, const wchar_t* high) const -+{ -+ for ( ; low < high; ++low) { -+ wchar_t c = *low; -+ *low = c >= 0 && size_t(c) < ctype::table_size -+ ? (wchar_t) ctype::_S_lower[c] -+ : c; -+ } -+ return high; -+} -+ -+wchar_t ctype::do_widen(char c) const -+{ -+ return (wchar_t) c; -+} -+ -+const char* -+ctype::do_widen(const char* low, const char* high, -+ wchar_t* dest) const -+{ -+ while (low != high) -+ *dest++ = (wchar_t) *low++; -+ return high; -+} -+ -+char ctype::do_narrow(wchar_t c, char dfault) const -+{ -+ return (char) c == c ? c : dfault; -+} -+ -+const wchar_t* ctype::do_narrow(const wchar_t* low, -+ const wchar_t* high, -+ char dfault, char* dest) const -+{ -+ while (low != high) { -+ wchar_t c = *low++; -+ *dest++ = (char) c == c ? c : dfault; -+ } -+ -+ return high; -+} -+ -+# endif -+_STLP_END_NAMESPACE - - // Local Variables: - // mode:C++ -Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: ctype_byname.cpp -Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: ctype_byname_w.cpp -Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: ctype_w.cpp -Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: cygwin.mak -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/dec.mak tripwire-2.3.1-2/src/STLport-4.0/src/dec.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/dec.mak Sat Feb 24 10:44:08 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/dec.mak Sun Aug 11 18:59:22 2002 -@@ -1,8 +1,13 @@ - # -+# Note : this requires GNU make -+# -+ - # Basename for libraries - # - LIB_BASENAME = libstlport_dec - -+CUR_DIR= $(PWD)/ -+ - # point this to proper location - STL_INCL= -I. -I../stlport -I/usr/include - -@@ -13,8 +18,8 @@ - CC = cxx - CXX = cxx - --LINK=$(CXX) --DYN_LINK=$(CXX) -+LINK=$(CXX) -o -+DYN_LINK=$(CXX) -o - - OBJEXT=o - DYNEXT=so -@@ -27,7 +32,15 @@ - # LINK_OUT=-xar -o - # DYNLINK_OUT=-o - --all: all_dynamic all_static -+# all: all_dynamic all_static -+# Boris : do not see a reasonable way to link static library witout instantiating in .o -+# Anyone ? -+all: msg all_dynamic symbolic_links -+ -+msg: -+ @echo "*** ATTENTION! ***" -+ @echo "This makefile requires GNU make!" -+ @echo "******************" - - include common_macros.mak - -@@ -35,37 +48,45 @@ - - MTFLAGS = -pthread - --CXXFLAGS_COMMON = -std strict_ansi -protect_headers none -tall_repository -rtti $(MTFLAGS) ${STL_INCL} -D_PTHREADS -D__STL_LONG_LONG -D__SGI_STL_OWN_IOSTREAMS -+CXXFLAGS_COMMON = -std ansi -nousing_std -pt -rtti $(MTFLAGS) ${STL_INCL} -D_PTHREADS - - SHCXXFLAGS = -shared --# DEBUG_FLAGS = -g -+RELEASE_FLAGS = -O - --LIBS = -+LIBS = - --# RELEASE_static_rep = -ptr${RELEASE_OBJDIR_static} --# RELEASE_dynamic_rep = -ptr${RELEASE_OBJDIR_dynamic} --# DEBUG_static_rep = -ptr${DEBUG_OBJDIR_static} --# DEBUG_dynamic_rep = -ptr${DEBUG_OBJDIR_dynamic} --# STLDEBUG_static_rep = -ptr${STLDEBUG_OBJDIR_static} --# STLDEBUG_dynamic_rep = -ptr${STLDEBUG_OBJDIR_dynamic} -+RELEASE_static_rep = -ptr ${RELEASE_OBJDIR_static} -+RELEASE_dynamic_rep = -ptr ${RELEASE_OBJDIR_dynamic} -+DEBUG_static_rep = -ptr ${DEBUG_OBJDIR_static} -+DEBUG_dynamic_rep = -ptr ${DEBUG_OBJDIR_dynamic} -+STLDEBUG_static_rep = -ptr ${STLDEBUG_OBJDIR_static} -+STLDEBUG_dynamic_rep = -ptr ${STLDEBUG_OBJDIR_dynamic} - - CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) ${RELEASE_FLAGS} ${RELEASE_static_rep} - CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) ${RELEASE_FLAGS} $(SHCXXFLAGS) ${RELEASE_dynamic_rep} - --CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -g ${DEBUG_static_rep} --CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -g $(SHCXXFLAGS) ${DEBUG_dynamic_rep} -+CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -O -g ${DEBUG_static_rep} -+CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -O -g $(SHCXXFLAGS) ${DEBUG_dynamic_rep} - --CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_COMMON) -g ${STLDEBUG_static_rep} -D__STL_DEBUG --CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_COMMON) -g $(SHCXXFLAGS) ${STLDEBUG_dynamic_rep} -D__STL_DEBUG -+CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_COMMON) -O -g ${STLDEBUG_static_rep} -D_STLP_DEBUG -+CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_COMMON) -O -g $(SHCXXFLAGS) ${STLDEBUG_dynamic_rep} -D_STLP_DEBUG - - LDFLAGS_RELEASE_static = ${CXXFLAGS_RELEASE_static} - LDFLAGS_RELEASE_dynamic = ${CXXFLAGS_RELEASE_dynamic} -+LDLIBS_RELEASE_dynamic = -lm -+LDLIBS_RELEASE_static = -lm - - LDFLAGS_DEBUG_static = ${CXXFLAGS_DEBUG_static} - LDFLAGS_DEBUG_dynamic = ${CXXFLAGS_DEBUG_dynamic} -+LDLIBS_DEBUG_dynamic = -lm -+LDLIBS_DEBUG_static = -lm - - LDFLAGS_STLDEBUG_static = ${CXXFLAGS_STLDEBUG_static} - LDFLAGS_STLDEBUG_dynamic = ${CXXFLAGS_STLDEBUG_dynamic} -+LDLIBS_STLDEBUG_dynamic = -lm -+LDLIBS_STLDEBUG_static = -lm -+ -+INSTALL_STEP = install_unix - - include common_percent_rules.mak - include common_rules.mak -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/djgpp.mak tripwire-2.3.1-2/src/STLport-4.0/src/djgpp.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/djgpp.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/djgpp.mak Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,72 @@ -+ -+# -+# This is makefile for compiling with DJGPP. -+# Since DJGPP is used to create DOS protected mode, it has no -+# dynamic link library. Only static libraries are created. -+# With DJGPP, gcc is used to compile c++. It will know the -+# language being compiled automatically from file extension of -+# the source code being compiled. -+# -+# Tanes Sriviroolchai (tanes73@yahoo.com) -+# Jan 4, 2001 -+# -+ -+# -+# compiler -+# -+CC = gcc -+CXX = gcc -+ -+# -+# Basename for libraries -+# -+LIB_BASENAME = libstlport_djgpp -+ -+# -+# guts for common stuff -+# -+# -+LINK=ar crv -+ -+OBJEXT=o -+STEXT=a -+RM=rm -rf -+PATH_SEP=/ -+MKDIR=mkdir -p -+COMP=DJGPP -+ -+STATIC_SUFFIX=_static -+ -+all: all_static -+ -+include common_macros.mak -+ -+RESFILE=$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)stlport.o -+RESFILE_debug=$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)stlport.o -+RESFILE_stldebug=$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)stlport.o -+ -+WARNING_FLAGS= -W -Wno-sign-compare -Wno-unused -Wno-uninitialized -+ -+CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} -ftemplate-depth-32 -mbnu210 -+ -+CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O2 -+ -+CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -O -g -+ -+CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG -+ -+LDFLAGS_RELEASE_static = -+ -+LDFLAGS_DEBUG_static = -+ -+LDFLAGS_STLDEBUG_static = -+ -+ -+include common_percent_rules.mak -+include common_rules.mak -+ -+ -+#%.s: %.cpp -+# $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ -+ -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/dll_main.cpp tripwire-2.3.1-2/src/STLport-4.0/src/dll_main.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/dll_main.cpp Sat Feb 24 10:44:08 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/dll_main.cpp Sun Aug 11 18:59:22 2002 -@@ -1,42 +1,207 @@ -+ /* -+ * -+ * Copyright (c) 1994 -+ * Hewlett-Packard Company -+ * -+ * Copyright (c) 1996,1997 -+ * Silicon Graphics Computer Systems, Inc. -+ * -+ * Copyright (c) 1997 -+ * Moscow Center for SPARC Technology -+ * -+ * Copyright (c) 1999 -+ * Boris Fomitchev -+ * -+ * This material is provided "as is", with absolutely no warranty expressed -+ * or implied. Any use is at your own risk. -+ * -+ * Permission to use or copy this software for any purpose is hereby granted -+ * without fee, provided the above notices are retained on all copies. -+ * Permission to modify the code and to distribute modified code is granted, -+ * provided the above notices are retained, and a notice that the code was -+ * modified is included with the above copyright notice. -+ * -+ */ -+ -+# define __PUT_STATIC_DATA_MEMBERS_HERE -+# define _STLP_EXPOSE_GLOBALS_IMPLEMENTATION - - # include "stlport_prefix.h" - -+# if !defined(_STLP_DEBUG) && ! defined (_STLP_ASSERTIONS) -+# define _STLP_ASSERTIONS 1 -+# endif -+ - #include -+ -+#include - #include - #include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+# if ( _STLP_STATIC_TEMPLATE_DATA < 1 ) -+// for rope, locale static members -+# include -+# include -+# endif -+ -+# if defined (_STLP_UNIX) -+# define _STLP_HAS_PERTHREAD_ALLOCATOR -+# include -+# endif -+ -+// boris : this piece of code duplicated from _range_errors.h -+#undef _STLP_THROW_MSG -+#if defined(_STLP_THROW_RANGE_ERRORS) -+# ifndef _STLP_STDEXCEPT -+# include -+# endif -+# ifndef _STLP_STRING -+# include -+# endif -+# define _STLP_THROW_MSG(ex,msg) throw ex(string(msg)) -+#else -+# if defined (_STLP_WINCE) -+# define _STLP_THROW_MSG(ex,msg) TerminateProcess(GetCurrentProcess(), 0) -+# else -+# include -+# include -+# define _STLP_THROW_MSG(ex,msg) puts(msg),_STLP_ABORT() -+# endif -+#endif -+ -+#ifdef _STLP_MSVC -+#pragma optimize("g",off) -+#endif -+ -+_STLP_BEGIN_NAMESPACE -+ -+void _STLP_DECLSPEC _STLP_CALL __stl_throw_range_error(const char* __msg) { -+ _STLP_THROW_MSG(range_error, __msg); -+} -+ -+void _STLP_DECLSPEC _STLP_CALL __stl_throw_out_of_range(const char* __msg) { -+ _STLP_THROW_MSG(out_of_range, __msg); -+} -+ -+void _STLP_DECLSPEC _STLP_CALL __stl_throw_length_error(const char* __msg) { -+ _STLP_THROW_MSG(length_error, __msg); -+} -+ -+void _STLP_DECLSPEC _STLP_CALL __stl_throw_invalid_argument(const char* __msg) { -+ _STLP_THROW_MSG(invalid_argument, __msg); -+} -+ -+void _STLP_DECLSPEC _STLP_CALL __stl_throw_overflow_error(const char* __msg) { -+ _STLP_THROW_MSG(overflow_error, __msg); -+} -+ -+_STLP_DECLSPEC const char* _STLP_CALL -+__get_c_string(const string& __str) { -+ return __str.c_str(); -+} -+ -+ -+# if defined (_STLP_NO_EXCEPTION_HEADER) || defined(_STLP_BROKEN_EXCEPTION_CLASS) -+exception::exception() _STLP_NOTHROW {} -+exception::~exception() _STLP_NOTHROW {} -+bad_exception::bad_exception() _STLP_NOTHROW {} -+bad_exception::~bad_exception() _STLP_NOTHROW {} -+const char* exception::what() const _STLP_NOTHROW {return "class exception";} -+const char* bad_exception::what() const _STLP_NOTHROW {return "class bad_exception";} -+# endif -+ -+# ifdef _STLP_OWN_STDEXCEPT -+__Named_exception::__Named_exception(const string& __str) { -+ strncpy(_M_name, __get_c_string(__str), _S_bufsize); -+ _M_name[_S_bufsize - 1] = '\0'; -+} - --__STL_BEGIN_NAMESPACE -+const char* __Named_exception::what() const _STLP_NOTHROW_INHERENTLY { return _M_name; } -+ -+// boris : those are needed to force typeinfo nodes to be created in here only -+__Named_exception::~__Named_exception() _STLP_NOTHROW_INHERENTLY {} -+ -+logic_error::~logic_error() _STLP_NOTHROW_INHERENTLY {} -+runtime_error::~runtime_error() _STLP_NOTHROW_INHERENTLY {} -+domain_error::~domain_error() _STLP_NOTHROW_INHERENTLY {} -+invalid_argument::~invalid_argument() _STLP_NOTHROW_INHERENTLY {} -+length_error::~length_error() _STLP_NOTHROW_INHERENTLY {} -+out_of_range::~out_of_range() _STLP_NOTHROW_INHERENTLY {} -+range_error::~range_error() _STLP_NOTHROW_INHERENTLY {} -+overflow_error::~overflow_error() _STLP_NOTHROW_INHERENTLY {} -+underflow_error::~underflow_error() _STLP_NOTHROW_INHERENTLY {} -+ -+# endif -+ -+# ifdef _STLP_NO_BAD_ALLOC -+const nothrow_t nothrow /* = {} */; -+# endif - --#if !defined(__STL_NO_FORCE_INSTANTIATE) -+# ifndef _STLP_NO_FORCE_INSTANTIATE - --# ifdef __STL_DEBUG --template struct __STL_CLASS_DECLSPEC __stl_debug_engine; -+# if defined (_STLP_DEBUG) || defined (_STLP_ASSERTIONS) -+template struct _STLP_CLASS_DECLSPEC __stl_debug_engine; - # endif - --template class __STL_CLASS_DECLSPEC __node_alloc; --template class __STL_CLASS_DECLSPEC __node_alloc; --template class __STL_CLASS_DECLSPEC __debug_alloc<_Node_alloc>; -+template class _STLP_CLASS_DECLSPEC __node_alloc; -+template class _STLP_CLASS_DECLSPEC __node_alloc; -+template class _STLP_CLASS_DECLSPEC __debug_alloc< __node_alloc >; -+template class _STLP_CLASS_DECLSPEC __debug_alloc< __node_alloc >; -+template class _STLP_CLASS_DECLSPEC __debug_alloc<__new_alloc>; -+#ifdef _STLP_HAS_PERTHREAD_ALLOCATOR -+template class _STLP_CLASS_DECLSPEC _Pthread_alloc<_MAX_BYTES>; -+template class _STLP_CLASS_DECLSPEC __debug_alloc<__pthread_alloc>; -+#endif -+template class _STLP_CLASS_DECLSPEC __malloc_alloc<0>; - --template class __STL_CLASS_DECLSPEC __debug_alloc<__new_alloc>; -+# if defined (_STLP_THREADS) && ! defined ( _STLP_ATOMIC_EXCHANGE ) && (defined(_STLP_PTHREADS) || defined (_STLP_UITHREADS) || defined (_STLP_OS2THREADS)) -+template class _STLP_CLASS_DECLSPEC _Swap_lock_struct<0>; -+# endif - - template class allocator; --template class _STL_alloc_proxy >; -+template class _STLP_alloc_proxy >; - template class _Vector_base >; --# if defined (__STL_DEBUG) -+# if defined (_STLP_DEBUG) && ! defined (__SUNPRO_CC) - template class __WORKAROUND_DBG_RENAME(vector) >; - # endif - template class __vector__ >; - -+template class _Rb_global; -+template class _List_global; -+template class _Sl_global; -+template class _Stl_prime; -+template class _LimG; -+template class _Bs_G; -+ -+template class _STLP_CLASS_DECLSPEC allocator; -+template class _STLP_CLASS_DECLSPEC _STLP_alloc_proxy >; -+template class _STLP_CLASS_DECLSPEC _String_base >; -+ -+# if defined (_STLP_DEBUG) && ! defined (__SUNPRO_CC) -+template class _STLP_CLASS_DECLSPEC _Nondebug_string, allocator >; - # endif - --__STL_END_NAMESPACE -+template class basic_string, allocator >; -+# endif - -+_STLP_END_NAMESPACE - --# if defined (_WIN32) && defined (__STL_USE_DECLSPEC) -+# if defined (_WIN32) && defined (_STLP_USE_DECLSPEC) && ! defined (_STLP_USE_STATIC_LIB) && ! defined (_STLP_USE_STATICX_LIB) - // stlportmt.cpp : Defines the entry point for the DLL application. - // - #define WIN32_LEAN_AND_MEAN --#include "windows.h" -+#include -+ -+extern "C" { -+ - BOOL APIENTRY DllMain( HANDLE hModule, - DWORD ul_reason_for_call, - LPVOID lpReserved -@@ -45,6 +210,7 @@ - switch (ul_reason_for_call) - { - case DLL_PROCESS_ATTACH: -+ DisableThreadLibraryCalls((HINSTANCE)hModule); - case DLL_THREAD_ATTACH: - case DLL_THREAD_DETACH: - case DLL_PROCESS_DETACH: -@@ -52,4 +218,38 @@ - } - return TRUE; - } -+ -+} /* extern "C" */ -+ -+_STLP_BEGIN_NAMESPACE -+ -+void force_link() -+{ -+ float f; -+ f = numeric_limits::infinity(); -+ f = numeric_limits::quiet_NaN(); -+ f = numeric_limits::signaling_NaN(); -+ double d; -+ d = numeric_limits::infinity(); -+ d = numeric_limits::quiet_NaN(); -+ d = numeric_limits::signaling_NaN(); -+#ifndef _STLP_NO_LONG_DOUBLE -+ long double ld; -+ ld = numeric_limits::infinity(); -+ ld = numeric_limits::quiet_NaN(); -+ ld = numeric_limits::signaling_NaN(); -+#endif -+ -+ set::iterator iter; -+ // _M_increment; _M_decrement instantiation -+ ++iter; -+ --iter; -+ -+ // force bitset globals to be instantiated -+ unsigned char uc = _Bs_G::_S_bit_count[0]; -+ uc += _Bs_G::_S_first_one[0]; -+} -+ -+_STLP_END_NAMESPACE -+ - # endif -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/facets_byname.cpp tripwire-2.3.1-2/src/STLport-4.0/src/facets_byname.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/facets_byname.cpp Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/facets_byname.cpp Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,1167 @@ -+/* -+ * Copyright (c) 1999 -+ * Silicon Graphics Computer Systems, Inc. -+ * -+ * Copyright (c) 1999 -+ * Boris Fomitchev -+ * -+ * This material is provided "as is", with absolutely no warranty expressed -+ * or implied. Any use is at your own risk. -+ * -+ * Permission to use or copy this software for any purpose is hereby granted -+ * without fee, provided the above notices are retained on all copies. -+ * Permission to modify the code and to distribute modified code is granted, -+ * provided the above notices are retained, and a notice that the code was -+ * modified is included with the above copyright notice. -+ * -+ */ -+# include "stlport_prefix.h" -+ -+#include -+#include "locale_impl.h" -+#include "c_locale.h" -+ -+#include "locale_nonclassic.h" -+ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include -+// #include -+#include -+#include "c_locale.h" -+ -+_STLP_BEGIN_NAMESPACE -+ -+_Locale_ctype* __acquire_ctype(const char* name); -+void __release_ctype(_Locale_ctype* cat); -+ -+ -+//---------------------------------------------------------------------- -+// ctype_byname -+ -+ctype_byname::ctype_byname(const char* name, size_t refs) -+ : ctype(_M_byname_table+1, false, refs), -+ _M_ctype(__acquire_ctype(name)) -+{ -+ -+ if (!_M_ctype) -+ locale::_M_throw_runtime_error(); -+ -+ // We have to do this, instead of just pointer twiddling, because -+ // ctype_base::mask isn't the same type as _Locale_mask_t. -+ -+ _Locale_mask_t* p = _Locale_ctype_table(_M_ctype); -+ -+ if (!p) -+ locale::_M_throw_runtime_error(); -+ -+ for (size_t i = 0; i < table_size + 1; ++i) { -+ _Locale_mask_t __m = p[i]; -+ if (__m & (upper | lower)) -+ __m |= alpha; -+ _M_byname_table[i] = ctype_base::mask(__m); -+ } -+} -+ -+ctype_byname::~ctype_byname() -+{ -+ __release_ctype(_M_ctype); -+} -+ -+char ctype_byname::do_toupper(char c) const -+{ -+ return _Locale_toupper(_M_ctype, c); -+} -+ -+char ctype_byname::do_tolower(char c) const -+{ -+ return _Locale_tolower(_M_ctype, c); -+} -+ -+const char* -+ctype_byname::do_toupper(char* first, const char* last) const -+{ -+ for ( ; first != last ; ++first) -+ *first = _Locale_toupper(_M_ctype, *first); -+ return last; -+} -+ -+const char* -+ctype_byname::do_tolower(char* first, const char* last) const -+{ -+ for ( ; first != last ; ++first) -+ *first = _Locale_tolower(_M_ctype, *first); -+ return last; -+} -+ -+ -+// Some helper functions used in ctype<>::scan_is and scan_is_not. -+ -+# ifndef _STLP_NO_WCHAR_T -+ -+// ctype_byname -+ -+ struct _Ctype_byname_w_is_mask { -+ typedef wchar_t argument_type; -+ typedef bool result_type; -+ -+ /* ctype_base::mask*/ int M; -+ _Locale_ctype* M_ctp; -+ -+ _Ctype_byname_w_is_mask(/* ctype_base::mask */ int m, _Locale_ctype* c) : M((int)m), M_ctp(c) {} -+ bool operator()(wchar_t c) const -+ { return (M & _Locale_wchar_ctype(M_ctp, c)) != 0; } -+ }; -+ -+ctype_byname::ctype_byname(const char* name, size_t refs) -+ : ctype(refs), -+ _M_ctype(__acquire_ctype(name)) -+{ -+ if (!_M_ctype) -+ locale::_M_throw_runtime_error(); -+} -+ -+ctype_byname::~ctype_byname() -+{ -+ __release_ctype(_M_ctype); -+} -+ -+bool ctype_byname::do_is(ctype_base::mask m, wchar_t c) const -+{ -+ return (m & _Locale_wchar_ctype(_M_ctype, c)) != 0; -+} -+ -+const wchar_t* -+ctype_byname::do_is(const wchar_t* low, const wchar_t* high, -+ ctype_base::mask * m) const -+{ -+ for ( ; low < high; ++low, ++m) -+ *m = ctype_base::mask (_Locale_wchar_ctype(_M_ctype, *low)); -+ return high; -+} -+ -+ -+const wchar_t* -+ctype_byname -+ ::do_scan_is(ctype_base::mask m, const wchar_t* low, const wchar_t* high) const -+{ -+ return find_if(low, high, _Ctype_byname_w_is_mask(m, _M_ctype)); -+} -+ -+const wchar_t* -+ctype_byname -+ ::do_scan_not(ctype_base::mask m, const wchar_t* low, const wchar_t* high) const -+{ -+ return find_if(low, high, not1(_Ctype_byname_w_is_mask(m, _M_ctype))); -+} -+ -+wchar_t ctype_byname::do_toupper(wchar_t c) const -+{ -+ return _Locale_wchar_toupper(_M_ctype, c); -+} -+ -+const wchar_t* -+ctype_byname::do_toupper(wchar_t* low, const wchar_t* high) const -+{ -+ for ( ; low < high; ++low) -+ *low = _Locale_wchar_toupper(_M_ctype, *low); -+ return high; -+} -+ -+wchar_t ctype_byname::do_tolower(wchar_t c) const -+{ -+ return _Locale_wchar_tolower(_M_ctype, c); -+} -+ -+const wchar_t* -+ctype_byname::do_tolower(wchar_t* low, const wchar_t* high) const -+{ -+ for ( ; low < high; ++low) -+ *low = _Locale_wchar_tolower(_M_ctype, *low); -+ return high; -+} -+ -+# endif /* WCHAR_T */ -+ -+_STLP_END_NAMESPACE -+ -+ -+// # include "collate_byname.cpp" -+ -+#include "stl/_collate.h" -+#include "c_locale.h" -+#include -+ -+_STLP_BEGIN_NAMESPACE -+ -+// collate_byname -+_Locale_collate* __acquire_collate(const char* name); -+void __release_collate(_Locale_collate* cat); -+ -+collate_byname::collate_byname(const char* name, size_t refs) -+ : collate(refs), -+ _M_collate(__acquire_collate(name)) -+{ -+ if (!_M_collate) -+ locale::_M_throw_runtime_error(); -+} -+ -+collate_byname::~collate_byname() -+{ -+ __release_collate(_M_collate); -+} -+ -+int collate_byname::do_compare(const char* __low1, -+ const char* __high1, -+ const char* __low2, -+ const char* __high2) const { -+ return _Locale_strcmp(_M_collate, -+ __low1, __high1 - __low1, -+ __low2, __high2 - __low2); -+} -+ -+collate_byname::string_type -+collate_byname::do_transform(const char* low, const char* high) const { -+ size_t n = _Locale_strxfrm(_M_collate, -+ NULL, 0, -+ low, high - low); -+ -+ __vector__ > buf(n); -+ _Locale_strxfrm(_M_collate, &buf.front(), n, -+ low, high - low); -+ -+ char& __c1 = *(buf.begin()); -+ char& __c2 = (n == (size_t)-1) ? *(buf.begin() + (high-low-1)) : *(buf.begin() + n); -+ // char& __c2 = *(buf.begin() + n); -+ return string_type( &__c1, &__c2 ); -+} -+ -+ -+# ifndef _STLP_NO_WCHAR_T -+ -+// collate_byname -+ -+collate_byname::collate_byname(const char* name, size_t refs) -+ : collate(refs), -+ _M_collate(__acquire_collate(name)) -+{ -+ if (!_M_collate) -+ locale::_M_throw_runtime_error(); -+} -+ -+collate_byname::~collate_byname() -+{ -+ __release_collate(_M_collate); -+} -+ -+int collate_byname::do_compare(const wchar_t* low1, -+ const wchar_t* high1, -+ const wchar_t* low2, -+ const wchar_t* high2) const -+{ -+ return _Locale_strwcmp(_M_collate, -+ low1, high1 - low1, -+ low2, high2 - low2); -+} -+ -+collate_byname::string_type -+collate_byname -+ ::do_transform(const wchar_t* low, const wchar_t* high) const -+{ -+ size_t n = _Locale_strwxfrm(_M_collate, -+ NULL, 0, -+ low, high - low); -+ -+ __vector__ > buf(high - low); -+ _Locale_strwxfrm(_M_collate, &buf.front(), n, -+ low, high - low); -+ wchar_t& __c1 = *(buf.begin()); -+ wchar_t& __c2 = (n == (size_t)-1) ? *(buf.begin() + (high-low-1)) : *(buf.begin() + n); -+ // wchar_t& __c2 = *(buf.begin() + n); -+ return string_type( &__c1, &__c2 ); -+} -+ -+# endif /* _STLP_NO_WCHAR_T */ -+ -+_STLP_END_NAMESPACE -+ -+# ifndef _STLP_NO_MBSTATE_T -+ -+#include -+#include -+#include "c_locale.h" -+ -+_STLP_BEGIN_NAMESPACE -+ -+ -+//---------------------------------------------------------------------- -+// codecvt_byname -+ -+codecvt_byname -+ ::codecvt_byname(const char* /* name */, size_t refs) -+ : codecvt(refs) -+{} -+ -+codecvt_byname::~codecvt_byname() {} -+ -+ -+# ifndef _STLP_NO_WCHAR_T -+ -+//---------------------------------------------------------------------- -+// codecvt_byname -+ -+_Locale_ctype* __acquire_ctype(const char* name); -+void __release_ctype(_Locale_ctype* cat); -+ -+codecvt_byname -+ ::codecvt_byname(const char* name, size_t refs) -+ : codecvt(refs), -+ _M_ctype(__acquire_ctype(name)) -+{ -+ if (!_M_ctype) -+ locale::_M_throw_runtime_error(); -+} -+ -+codecvt_byname::~codecvt_byname() -+{ -+ __release_ctype(_M_ctype); -+} -+ -+codecvt::result -+codecvt_byname -+ ::do_out(state_type& state, -+ const wchar_t* from, -+ const wchar_t* from_end, -+ const wchar_t*& from_next, -+ char* to, -+ char* to_limit, -+ char*& to_next) const -+{ -+ while (from != from_end) { -+ size_t chars_stored = _Locale_wctomb(_M_ctype, -+ to, to_limit - to, *from, -+ &state); -+ if (chars_stored == (size_t) -1) { -+ from_next = from; -+ to_next = to; -+ return error; -+ } -+ -+ else if (chars_stored == (size_t) -2) { -+ from_next = from; -+ to_next = to; -+ return partial; -+ } -+ -+ ++from; -+ to += chars_stored; -+ } -+ -+ from_next = from; -+ to_next = to; -+ return ok; -+} -+ -+codecvt::result -+codecvt_byname -+ ::do_in(state_type& state, -+ const extern_type* from, -+ const extern_type* from_end, -+ const extern_type*& from_next, -+ intern_type* to, -+ intern_type* , -+ intern_type*& to_next) const -+{ -+ while (from != from_end) { -+ size_t chars_read = _Locale_mbtowc(_M_ctype, -+ to, from, from_end - from, -+ &state); -+ if (chars_read == (size_t) -1) { -+ from_next = from; -+ to_next = to; -+ return error; -+ } -+ -+ if (chars_read == (size_t) -2) { -+ from_next = from; -+ to_next = to; -+ return partial; -+ } -+ -+ from += chars_read; -+ to++; -+ } -+ -+ from_next = from; -+ to_next = to; -+ return ok; -+} -+ -+codecvt::result -+codecvt_byname -+ ::do_unshift(state_type& state, -+ extern_type* to, -+ extern_type* to_limit, -+ extern_type*& to_next) const -+{ -+ to_next = to; -+ size_t result = _Locale_unshift(_M_ctype, &state, -+ to, to_limit - to, &to_next); -+ if (result == (size_t) -1) -+ return error; -+ else if (result == (size_t) -2) -+ return partial; -+ else -+#ifdef __ISCPP__ -+ return /*to_next == to ? noconv :*/ ok; -+#else -+ return to_next == to ? noconv : ok; -+#endif -+} -+ -+int -+codecvt_byname::do_encoding() const _STLP_NOTHROW -+{ -+ if (_Locale_is_stateless(_M_ctype)) { -+ int max_width = _Locale_mb_cur_max(_M_ctype); -+ int min_width = _Locale_mb_cur_min(_M_ctype); -+ return min_width == max_width ? min_width : 0; -+ } -+ else -+ return -1; -+} -+ -+ -+bool codecvt_byname -+ ::do_always_noconv() const _STLP_NOTHROW -+{ -+ return false; -+} -+ -+int -+codecvt_byname::do_length( -+ const state_type&, -+ const extern_type* from, const extern_type* end, -+ size_t mx) const -+{ -+ return (int)(min) ((size_t) (end - from), mx); -+} -+ -+int -+codecvt_byname::do_max_length() const _STLP_NOTHROW -+{ -+ return _Locale_mb_cur_max(_M_ctype); -+} -+# endif /* WCHAR_T */ -+ -+_STLP_END_NAMESPACE -+ -+# endif /* MBSTATE_T */ -+ -+#include "locale_impl.h" -+# include -+ -+_STLP_BEGIN_NAMESPACE -+ -+_Locale_numeric* _STLP_CALL __acquire_numeric(const char* name); -+void _STLP_CALL __release_numeric(_Locale_numeric* cat); -+ -+// numpunct_byname -+ -+numpunct_byname::numpunct_byname(const char* name, size_t refs) -+ : numpunct(refs), -+ _M_numeric(__acquire_numeric(name)) -+{ -+ if (!_M_numeric) -+ locale::_M_throw_runtime_error(); -+ -+ _M_truename = _Locale_true(_M_numeric); -+ _M_falsename = _Locale_false(_M_numeric); -+} -+ -+numpunct_byname::~numpunct_byname() -+{ -+ __release_numeric(_M_numeric); -+} -+ -+char numpunct_byname::do_decimal_point() const { -+ return _Locale_decimal_point(_M_numeric); -+} -+ -+char numpunct_byname::do_thousands_sep() const { -+ return _Locale_thousands_sep(_M_numeric); -+} -+ -+string numpunct_byname::do_grouping() const { -+ const char * __grouping = _Locale_grouping(_M_numeric); -+ if (__grouping != NULL && __grouping[0] == CHAR_MAX) -+ __grouping = ""; -+ return __grouping; -+} -+ -+//---------------------------------------------------------------------- -+// numpunct -+ -+# ifndef _STLP_NO_WCHAR_T -+ -+// numpunct_byname -+ -+numpunct_byname::numpunct_byname(const char* name, size_t refs) -+ : numpunct(refs), -+ _M_numeric(__acquire_numeric(name)) -+{ -+ if (!_M_numeric) -+ locale::_M_throw_runtime_error(); -+ -+ const char* truename = _Locale_true(_M_numeric); -+ const char* falsename = _Locale_false(_M_numeric); -+ _M_truename.resize(strlen(truename)); -+ _M_falsename.resize(strlen(falsename)); -+ copy(truename, truename + strlen(truename), _M_truename.begin()); -+ copy(falsename, falsename + strlen(falsename), _M_falsename.begin()); -+} -+ -+numpunct_byname::~numpunct_byname() -+{ -+ __release_numeric(_M_numeric); -+} -+ -+wchar_t numpunct_byname::do_decimal_point() const { -+ return (wchar_t) _Locale_decimal_point(_M_numeric); -+} -+ -+wchar_t numpunct_byname::do_thousands_sep() const { -+ return (wchar_t) _Locale_thousands_sep(_M_numeric); -+} -+ -+string numpunct_byname::do_grouping() const { -+ const char * __grouping = _Locale_grouping(_M_numeric); -+ if (__grouping != NULL && __grouping[0] == CHAR_MAX) -+ __grouping = ""; -+ return __grouping; -+} -+ -+# endif -+ -+_STLP_END_NAMESPACE -+ -+#include -+// #include -+// #include -+#include "c_locale.h" -+ -+ -+_STLP_BEGIN_NAMESPACE -+ -+static void _Init_monetary_formats(money_base::pattern& pos_format, -+ money_base::pattern& neg_format, -+ _Locale_monetary * monetary) { -+ switch (_Locale_p_sign_posn(monetary)) { -+ case 0: case 1: -+ pos_format.field[0] = (char) money_base::sign; -+ if (_Locale_p_cs_precedes(monetary)) { -+ pos_format.field[1] = (char) money_base::symbol; -+ if (_Locale_p_sep_by_space(monetary)) { -+ pos_format.field[2] = (char) money_base::space; -+ pos_format.field[3] = (char) money_base::value; -+ } -+ else { -+ pos_format.field[2] = (char) money_base::value; -+ pos_format.field[3] = (char) money_base::none; -+ } -+ } -+ else { -+ pos_format.field[2] = (char) money_base::value; -+ if (_Locale_p_sep_by_space(monetary)) { -+ pos_format.field[2] = (char) money_base::space; -+ pos_format.field[3] = (char) money_base::symbol; -+ } -+ else { -+ pos_format.field[2] = (char) money_base::symbol; -+ pos_format.field[3] = (char) money_base::none; -+ } -+ } -+ break; -+ case 2: -+ if (_Locale_p_cs_precedes(monetary)) { -+ pos_format.field[0] = (char) money_base::symbol; -+ if (_Locale_p_sep_by_space(monetary)) { -+ pos_format.field[1] = (char) money_base::space; -+ pos_format.field[2] = (char) money_base::value; -+ pos_format.field[3] = (char) money_base::sign; -+ } -+ else { -+ pos_format.field[1] = (char) money_base::value; -+ pos_format.field[2] = (char) money_base::sign; -+ pos_format.field[3] = (char) money_base::none; -+ } -+ } -+ else { -+ pos_format.field[1] = (char) money_base::value; -+ if (_Locale_p_sep_by_space(monetary)) { -+ pos_format.field[1] = (char) money_base::space; -+ pos_format.field[2] = (char) money_base::symbol; -+ pos_format.field[3] = (char) money_base::sign; -+ } -+ else { -+ pos_format.field[1] = (char) money_base::symbol; -+ pos_format.field[2] = (char) money_base::sign; -+ pos_format.field[3] = (char) money_base::none; -+ } -+ } -+ break; -+ case 3: -+ if (_Locale_p_cs_precedes(monetary)) { -+ pos_format.field[0] = (char) money_base::sign; -+ pos_format.field[1] = (char) money_base::symbol; -+ if (_Locale_p_sep_by_space(monetary)) { -+ pos_format.field[2] = (char) money_base::space; -+ pos_format.field[3] = (char) money_base::value; -+ } -+ else { -+ pos_format.field[2] = (char) money_base::value; -+ pos_format.field[3] = (char) money_base::none; -+ } -+ } -+ else { -+ pos_format.field[0] = (char) money_base::value; -+ pos_format.field[1] = (char) money_base::sign; -+ pos_format.field[2] = (char) money_base::symbol; -+ pos_format.field[3] = (char) money_base::none; -+ } -+ break; -+ case 4: default: -+ if (_Locale_p_cs_precedes(monetary)) { -+ pos_format.field[0] = (char) money_base::symbol; -+ pos_format.field[1] = (char) money_base::sign; -+ pos_format.field[2] = (char) money_base::value; -+ pos_format.field[3] = (char) money_base::none; -+ } -+ else { -+ pos_format.field[0] = (char) money_base::value; -+ if (_Locale_p_sep_by_space(monetary)) { -+ pos_format.field[1] = (char) money_base::space; -+ pos_format.field[2] = (char) money_base::symbol; -+ pos_format.field[3] = (char) money_base::sign; -+ } -+ else { -+ pos_format.field[1] = (char) money_base::symbol; -+ pos_format.field[2] = (char) money_base::sign; -+ pos_format.field[3] = (char) money_base::none; -+ } -+ } -+ break; -+ } -+ -+ switch (_Locale_n_sign_posn(monetary)) { -+ case 0: case 1: -+ neg_format.field[0] = (char) money_base::sign; -+ if (_Locale_n_cs_precedes(monetary)) { -+ neg_format.field[1] = (char) money_base::symbol; -+ if (_Locale_n_sep_by_space(monetary)) { -+ neg_format.field[2] = (char) money_base::space; -+ neg_format.field[3] = (char) money_base::value; -+ } -+ else { -+ neg_format.field[2] = (char) money_base::value; -+ neg_format.field[3] = (char) money_base::none; -+ } -+ } -+ else { -+ neg_format.field[2] = (char) money_base::value; -+ if (_Locale_n_sep_by_space(monetary)) { -+ neg_format.field[2] = (char) money_base::space; -+ neg_format.field[3] = (char) money_base::symbol; -+ } -+ else { -+ neg_format.field[2] = (char) money_base::symbol; -+ neg_format.field[3] = (char) money_base::none; -+ } -+ } -+ break; -+ case 2: -+ if (_Locale_n_cs_precedes(monetary)) { -+ neg_format.field[0] = (char) money_base::symbol; -+ if (_Locale_n_sep_by_space(monetary)) { -+ neg_format.field[1] = (char) money_base::space; -+ neg_format.field[2] = (char) money_base::value; -+ neg_format.field[3] = (char) money_base::sign; -+ } -+ else { -+ neg_format.field[1] = (char) money_base::value; -+ neg_format.field[2] = (char) money_base::sign; -+ neg_format.field[3] = (char) money_base::none; -+ } -+ } -+ else { -+ neg_format.field[1] = (char) money_base::value; -+ if (_Locale_n_sep_by_space(monetary)) { -+ neg_format.field[1] = (char) money_base::space; -+ neg_format.field[2] = (char) money_base::symbol; -+ neg_format.field[3] = (char) money_base::sign; -+ } -+ else { -+ neg_format.field[1] = (char) money_base::symbol; -+ neg_format.field[2] = (char) money_base::sign; -+ neg_format.field[3] = (char) money_base::none; -+ } -+ } -+ break; -+ case 3: -+ if (_Locale_n_cs_precedes(monetary)) { -+ neg_format.field[0] = (char) money_base::sign; -+ neg_format.field[1] = (char) money_base::symbol; -+ if (_Locale_n_sep_by_space(monetary)) { -+ neg_format.field[2] = (char) money_base::space; -+ neg_format.field[3] = (char) money_base::value; -+ } -+ else { -+ neg_format.field[2] = (char) money_base::value; -+ neg_format.field[3] = (char) money_base::none; -+ } -+ } -+ else { -+ neg_format.field[0] = (char) money_base::value; -+ neg_format.field[1] = (char) money_base::sign; -+ neg_format.field[2] = (char) money_base::symbol; -+ neg_format.field[3] = (char) money_base::none; -+ } -+ break; -+ case 4: default: -+ if (_Locale_n_cs_precedes(monetary)) { -+ neg_format.field[0] = (char) money_base::symbol; -+ neg_format.field[1] = (char) money_base::sign; -+ neg_format.field[2] = (char) money_base::value; -+ neg_format.field[3] = (char) money_base::none; -+ } -+ else { -+ neg_format.field[0] = (char) money_base::value; -+ if (_Locale_n_sep_by_space(monetary)) { -+ neg_format.field[1] = (char) money_base::space; -+ neg_format.field[2] = (char) money_base::symbol; -+ neg_format.field[3] = (char) money_base::sign; -+ } -+ else { -+ neg_format.field[1] = (char) money_base::symbol; -+ neg_format.field[2] = (char) money_base::sign; -+ neg_format.field[3] = (char) money_base::none; -+ } -+ } -+ break; -+ } -+} -+ -+ -+// -+// moneypunct_byname<> -+// -+ -+_Locale_monetary* __acquire_monetary(const char* name); -+void __release_monetary(_Locale_monetary* mon); -+ -+moneypunct_byname::moneypunct_byname(const char * name, -+ size_t refs): -+ moneypunct(refs), -+ _M_monetary(__acquire_monetary(name)) -+{ -+ if (!_M_monetary) -+ locale::_M_throw_runtime_error(); -+ _Init_monetary_formats(_M_pos_format, _M_neg_format, _M_monetary); -+} -+ -+moneypunct_byname::~moneypunct_byname() -+{ -+ __release_monetary(_M_monetary); -+} -+ -+char moneypunct_byname::do_decimal_point() const -+ {return _Locale_mon_decimal_point(_M_monetary);} -+ -+char moneypunct_byname::do_thousands_sep() const -+ {return _Locale_mon_thousands_sep(_M_monetary);} -+ -+string moneypunct_byname::do_grouping() const -+ {return _Locale_mon_grouping(_M_monetary);} -+ -+string moneypunct_byname::do_curr_symbol() const -+ {return _Locale_int_curr_symbol(_M_monetary);} -+ -+string moneypunct_byname::do_positive_sign() const -+ {return _Locale_positive_sign(_M_monetary);} -+ -+string moneypunct_byname::do_negative_sign() const -+ {return _Locale_negative_sign(_M_monetary);} -+ -+int moneypunct_byname::do_frac_digits() const -+ {return _Locale_int_frac_digits(_M_monetary);} -+ -+moneypunct_byname::moneypunct_byname(const char * name, -+ size_t refs): -+ moneypunct(refs), -+ _M_monetary(__acquire_monetary(name)) -+{ -+ if (!_M_monetary) -+ locale::_M_throw_runtime_error(); -+ _Init_monetary_formats(_M_pos_format, _M_neg_format, _M_monetary); -+} -+ -+moneypunct_byname::~moneypunct_byname() -+{ -+ __release_monetary(_M_monetary); -+} -+ -+char moneypunct_byname::do_decimal_point() const -+ {return _Locale_mon_decimal_point(_M_monetary);} -+ -+char moneypunct_byname::do_thousands_sep() const -+ {return _Locale_mon_thousands_sep(_M_monetary);} -+ -+string moneypunct_byname::do_grouping() const -+ {return _Locale_mon_grouping(_M_monetary);} -+ -+string moneypunct_byname::do_curr_symbol() const -+ {return _Locale_currency_symbol(_M_monetary);} -+ -+string moneypunct_byname::do_positive_sign() const -+ {return _Locale_positive_sign(_M_monetary);} -+ -+string moneypunct_byname::do_negative_sign() const -+ {return _Locale_negative_sign(_M_monetary);} -+ -+int moneypunct_byname::do_frac_digits() const -+ {return _Locale_frac_digits(_M_monetary);} -+ -+// -+// moneypunct_byname -+// -+# ifndef _STLP_NO_WCHAR_T -+ -+moneypunct_byname::moneypunct_byname(const char * name, -+ size_t refs): -+ moneypunct(refs), -+ _M_monetary(__acquire_monetary(name)) -+{ -+ if (!_M_monetary) -+ locale::_M_throw_runtime_error(); -+ _Init_monetary_formats(_M_pos_format, _M_neg_format, _M_monetary); -+} -+ -+moneypunct_byname::~moneypunct_byname() -+{ -+ __release_monetary(_M_monetary); -+} -+ -+wchar_t moneypunct_byname::do_decimal_point() const -+ {return _Locale_mon_decimal_point(_M_monetary);} -+ -+wchar_t moneypunct_byname::do_thousands_sep() const -+ {return _Locale_mon_thousands_sep(_M_monetary);} -+ -+string moneypunct_byname::do_grouping() const -+ {return _Locale_mon_grouping(_M_monetary);} -+ -+wstring moneypunct_byname::do_curr_symbol() const -+{ -+ string str = _Locale_int_curr_symbol(_M_monetary); -+# if defined (_STLP_NO_MEMBER_TEMPLATES) || defined (_STLP_MSVC) || defined(__MRC__) || defined(__SC__) //*ty 05/26/2001 - added workaround for mpw -+ wstring result(wstring::_Reserve_t(), str.size()); -+ copy(str.begin(), str.end(), result.begin()); -+# else -+ wstring result(str.begin(), str.end()); -+# endif -+ return result; -+} -+ -+wstring moneypunct_byname::do_positive_sign() const -+{ -+ string str = _Locale_positive_sign(_M_monetary); -+# if defined (_STLP_NO_MEMBER_TEMPLATES) || defined (_STLP_MSVC) || defined(__MRC__) || defined(__SC__) //*ty 05/26/2001 - added workaround for mpw -+ wstring result(wstring::_Reserve_t(), str.size()); -+ copy(str.begin(), str.end(), result.begin()); -+# else -+ wstring result(str.begin(), str.end()); -+# endif -+ return result; -+} -+ -+ -+wstring moneypunct_byname::do_negative_sign() const -+{ -+ string str = _Locale_negative_sign(_M_monetary); -+# if defined (_STLP_NO_MEMBER_TEMPLATES) || defined (_STLP_MSVC) || defined(__MRC__) || defined(__SC__) //*ty 05/26/2001 - added workaround for mpw -+ wstring result(wstring::_Reserve_t(), str.size()); -+ copy(str.begin(), str.end(), result.begin()); -+# else -+ wstring result(str.begin(), str.end()); -+# endif -+ return result; -+} -+ -+int moneypunct_byname::do_frac_digits() const -+ {return _Locale_int_frac_digits(_M_monetary);} -+ -+moneypunct_byname::moneypunct_byname(const char * name, -+ size_t refs): -+ moneypunct(refs), -+ _M_monetary(__acquire_monetary(name)) -+{ -+ if (!_M_monetary) -+ locale::_M_throw_runtime_error() ; -+ _Init_monetary_formats(_M_pos_format, _M_neg_format, _M_monetary); -+} -+ -+moneypunct_byname::~moneypunct_byname() -+{ -+ __release_monetary(_M_monetary); -+} -+ -+wchar_t moneypunct_byname::do_decimal_point() const -+ {return _Locale_mon_decimal_point(_M_monetary);} -+ -+wchar_t moneypunct_byname::do_thousands_sep() const -+ {return _Locale_mon_thousands_sep(_M_monetary);} -+ -+string moneypunct_byname::do_grouping() const -+ {return _Locale_mon_grouping(_M_monetary);} -+ -+wstring moneypunct_byname::do_curr_symbol() const -+{ -+ string str = _Locale_currency_symbol(_M_monetary); -+# if defined (_STLP_NO_MEMBER_TEMPLATES) || defined (_STLP_MSVC) || defined(__MRC__) || defined(__SC__) //*ty 05/26/2001 - added workaround for mpw -+ wstring result(wstring::_Reserve_t(), str.size()); -+ copy(str.begin(), str.end(), result.begin()); -+# else -+ wstring result(str.begin(), str.end()); -+# endif -+ return result; -+} -+ -+wstring moneypunct_byname::do_positive_sign() const -+{ -+ string str = _Locale_positive_sign(_M_monetary); -+# if defined (_STLP_NO_MEMBER_TEMPLATES) || defined (_STLP_MSVC) || defined(__MRC__) || defined(__SC__) //*ty 05/26/2001 - added workaround for mpw -+ wstring result(wstring::_Reserve_t(), str.size()); -+ copy(str.begin(), str.end(), result.begin()); -+# else -+ wstring result(str.begin(), str.end()); -+# endif -+ return result; -+} -+ -+wstring moneypunct_byname::do_negative_sign() const -+{ -+ string str = _Locale_negative_sign(_M_monetary); -+# if defined (_STLP_NO_MEMBER_TEMPLATES) || defined (_STLP_MSVC) || defined(__MRC__) || defined(__SC__) //*ty 05/26/2001 - added workaround for mpw -+ wstring result(wstring::_Reserve_t(), str.size()); -+ copy(str.begin(), str.end(), result.begin()); -+# else -+ wstring result(str.begin(), str.end()); -+# endif -+ return result; -+} -+ -+int moneypunct_byname::do_frac_digits() const -+ {return _Locale_frac_digits(_M_monetary);} -+ -+# endif -+ -+_STLP_END_NAMESPACE -+ -+#include -+#include "message_facets.h" -+#include -+ -+_STLP_BEGIN_NAMESPACE -+ -+void _Catalog_locale_map::insert(int key, const locale& L) -+{ -+# ifdef _STLP_NO_WCHAR_T -+ typedef char _Char; -+# else -+ typedef wchar_t _Char; -+# endif -+#if !defined(_STLP_NO_TYPEINFO) -+ // Don't bother to do anything unless we're using a non-default ctype facet -+ _STLP_TRY { -+ typedef ctype<_Char> wctype; -+ wctype& wct = (wctype &)use_facet(L); -+ wctype* zz; -+ if (typeid(&wct) != typeid(zz)) { -+ if (!M) -+ M = new hash_map, equal_to >; -+ -+#if defined(__SC__) -+ if (!M) delete M; -+#endif -+ if (M->find(key) == M->end()) -+ M->insert(pair(key, L)); -+ } -+ } -+ _STLP_CATCH_ALL {} -+# endif /* _STLP_NO_TYPEINFO */ -+} -+ -+void _Catalog_locale_map::erase(int key) -+{ -+ if (M) -+ M->erase(key); -+} -+ -+locale _Catalog_locale_map::lookup(int key) const -+{ -+ if (M) { -+ hash_map, equal_to >::iterator i = M->find(key); -+ return i != M->end() ? (*i).second : locale::classic(); -+ } -+ else -+ return locale::classic(); -+} -+ -+ -+//---------------------------------------------------------------------- -+// -+// -+ -+_Messages_impl::_Messages_impl(bool is_wide) : -+ _M_message_obj(0), _M_map(0) -+{ -+ _M_delete = true; -+ if (is_wide) -+ _M_map = new _Catalog_locale_map; -+ _M_message_obj = __acquire_messages("C"); -+} -+ -+_Messages_impl::_Messages_impl(bool is_wide, _Locale_messages* msg_obj ) : -+ _M_message_obj(msg_obj), _M_map(0) -+{ -+ _M_delete = true; -+ if (is_wide) -+ _M_map = new _Catalog_locale_map; -+} -+ -+_Messages_impl::~_Messages_impl() -+{ -+ __release_messages(_M_message_obj); -+ if (_M_map) delete _M_map; -+} -+ -+int _Messages_impl::do_open(const string& filename, const locale& L) const -+{ -+ int result = _M_message_obj -+ ? _Locale_catopen(_M_message_obj, filename.c_str()) -+ : -1; -+ -+ if (result >= 0 && _M_map != 0) -+ _M_map->insert(result, L); -+ -+ return result; -+} -+ -+string _Messages_impl::do_get(catalog cat, -+ int set, int p_id, const string& dfault) const -+{ -+ return _M_message_obj != 0 && cat >= 0 -+ ? string(_Locale_catgets(_M_message_obj, cat, set, p_id, dfault.c_str())) -+ : dfault; -+} -+ -+# ifndef _STLP_NO_WCHAR_T -+ -+wstring -+_Messages_impl::do_get(catalog thecat, -+ int set, int p_id, const wstring& dfault) const -+{ -+ typedef ctype wctype; -+ const wctype& ct = use_facet(_M_map->lookup(thecat)); -+ -+ const char* str = _Locale_catgets(_M_message_obj, thecat, set, p_id, ""); -+ -+ // Verify that the lookup failed; an empty string might represent success. -+ if (!str) -+ return dfault; -+ else if (str[0] == '\0') { -+ const char* str2 = _Locale_catgets(_M_message_obj, thecat, set, p_id, "*"); -+ if (!str2 || strcmp(str2, "*") == 0) -+ return dfault; -+ } -+ -+ // str is correct. Now we must widen it to get a wstring. -+ size_t n = strlen(str); -+ -+ // NOT PORTABLE. What we're doing relies on internal details of the -+ // string implementation. (Contiguity of string elements.) -+ wstring result(n, wchar_t(0)); -+ ct.widen(str, str + n, &*result.begin()); -+ return result; -+} -+ -+# endif -+ -+void _Messages_impl::do_close(catalog thecat) const -+{ -+ if (_M_message_obj) -+ _Locale_catclose(_M_message_obj, thecat); -+ if (_M_map) _M_map->erase(thecat); -+} -+ -+ -+//---------------------------------------------------------------------- -+// messages -+ -+messages::messages(size_t refs) : -+ _BaseFacet(refs), _M_impl(new _Messages_impl(false)) -+{} -+ -+messages::messages(size_t refs, _Locale_messages* msg_obj) : _BaseFacet(refs), -+ _M_impl(new _Messages_impl(false, msg_obj)) -+{} -+ -+ -+//---------------------------------------------------------------------- -+// messages_byname -+ -+messages_byname::messages_byname(const char* name, size_t refs) -+ : messages(refs, name ? __acquire_messages(name) : 0) -+{} -+ -+messages_byname::~messages_byname() -+{} -+ -+# ifndef _STLP_NO_WCHAR_T -+ -+//---------------------------------------------------------------------- -+// messages -+ -+messages::messages(size_t refs) : -+ _BaseFacet(refs), _M_impl(new _Messages_impl(true)) -+{} -+ -+messages::messages(size_t refs, _Locale_messages* msg_obj) -+ : _BaseFacet(refs), -+ _M_impl(new _Messages_impl(true, msg_obj)) -+{} -+ -+//---------------------------------------------------------------------- -+// messages_byname -+ -+ -+messages_byname::messages_byname(const char* name, size_t refs) -+ : messages(refs, name ? __acquire_messages(name) : 0) -+{} -+ -+messages_byname::~messages_byname() -+{} -+ -+# endif -+ -+_STLP_END_NAMESPACE -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/fstream.cpp tripwire-2.3.1-2/src/STLport-4.0/src/fstream.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/fstream.cpp Sat Feb 24 10:44:09 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/fstream.cpp Fri Feb 14 16:26:12 2003 -@@ -1,1054 +1,1134 @@ --/* -- * Copyright (c) 1999 -- * Silicon Graphics Computer Systems, Inc. -- * -- * Copyright (c) 1999 -- * Boris Fomitchev -- * -- * This material is provided "as is", with absolutely no warranty expressed -- * or implied. Any use is at your own risk. -- * -- * Permission to use or copy this software for any purpose is hereby granted -- * without fee, provided the above notices are retained on all copies. -- * Permission to modify the code and to distribute modified code is granted, -- * provided the above notices are retained, and a notice that the code was -- * modified is included with the above copyright notice. -- * -- */ -- --# include "stlport_prefix.h" -- --#include -- --#ifdef __CYGWIN__ --# define __int64 long long --#endif -- --#if defined (__STL_USE_UNIX_IO) --// open/close/read/write --# include // For stat --# include // For mmap --# include --# include --#elif defined (__STL_USE_WIN32_IO) --# define WIN32_LEAN_AND_MEAN --# include --# ifdef __BORLANDC__ --# if (__BORLANDC__ > 0x530) --# include // For _O_RDONLY, etc --# else --# include // For _O_RDONLY, etc --# endif --# include // For _fstat --# else --# include // For _get_osfhandle --# include // For _O_RDONLY, etc --# include // For _fstat --# endif --# define _TEXTBUF_SIZE 0x1000 --#elif defined (__STL_USE_UNIX_EMULATION_IO) --# if defined( __MSL__ ) --# include --# else --# include --# endif --# include --# include --#elif defined (__STL_USE_STDIO_IO) --# include --# if !(defined(__MRC__)||defined(__SC__)) //*TY 02/25/2000 - MPW does not come with --# include --# endif //*TY 02/25/2000 - --# if defined( __MSL__ ) --# include --# endif --#else --#error "Configure i/o !" --#endif -- --// map permission masks --#if defined (__STL_USE_UNIX_EMULATION_IO) || defined (__STL_USE_STDIO_IO) --# ifndef S_IRUSR --# define S_IRUSR _S_IREAD --# define S_IWUSR _S_IWRITE --# define S_IRGRP _S_IREAD --# define S_IWGRP _S_IWRITE --# define S_IROTH _S_IREAD --# define S_IWOTH _S_IWRITE --# endif --# ifndef O_RDONLY --# define O_RDONLY _O_RDONLY --# define O_WRONLY _O_WRONLY --# define O_RDWR _O_RDWR --# define O_APPEND _O_APPEND --# define O_CREAT _O_CREAT --# define O_TRUNC _O_TRUNC --# define O_TEXT _O_TEXT --# define O_BINARY _O_BINARY --# endif -- --# ifdef __MSL__ --# define _O_TEXT 0x0 --# if !defined( O_TEXT ) --# define O_TEXT _O_TEXT --# endif --# define _S_IFREG S_IFREG --# define S_IREAD S_IRUSR --# define S_IWRITE S_IWUSR --# define S_IEXEC S_IXUSR --# define _S_IWRITE S_IWRITE --# define _S_IREAD S_IREAD --# define _open open --# define _lseek lseek --# define _close close --# define _read read --# define _write write --# endif -- --#endif -- --#ifndef O_ACCMODE --# define O_ACCMODE (O_RDONLY|O_WRONLY|O_RDWR) --#endif -- --#include "fstream_impl.h" -- --# ifdef __STL_LONG_LONG --# define ULL(x) ((unsigned long long)x) --# elif defined (_MSC_VER) || defined (__BORLANDC__) --# define ULL(x) ((__int64)x) --# elif defined(__MRC__) || defined(__SC__) //*TY 02/25/2000 - added support for MPW compilers --# include --# define ULL(x) (U64SetU(x)) --# else --# error "there should be some long long type on the system!" --# endif -- --__SGI_BEGIN_NAMESPACE -- --#if !defined(__MSL__) && !defined(__MRC__) && !defined(__SC__) //*TY 04/15/2000 - exclude mpw compilers also --ios_base::openmode flag_to_openmode(int mode) --{ -- ios_base::openmode ret; -- -- switch(mode & O_ACCMODE) { -- -- case O_RDONLY: -- ret = ios_base::in; break; -- -- case O_WRONLY: -- ret = ios_base::out; break; -- -- case O_RDWR: -- ret = ios_base::in | ios_base::out; break; -- -- } -- -- if (mode & O_APPEND) -- ret |= ios_base::app; -- --# ifdef __STL_USE_WIN32_IO -- if (mode & O_BINARY) -- ret |= ios_base::binary; --# endif // _MSC_VER -- -- return ret; -- --} --# endif /* MSL */ -- --// Helper functions for _Filebuf_base. -- --bool __is_regular_file(_STL_fd fd) { -- --#if defined (__STL_UNIX) -- -- struct stat buf; -- return fstat(fd, &buf) == 0 && S_ISREG(buf.st_mode); -- --#elif defined(__MRC__) || defined(__SC__) //*TY 02/25/2000 - added support for MPW compilers -- -- #pragma unused(fd) -- return true; // each file is a regular file under mac os, isn't it? (we don't have fstat()) -- --#elif defined(__STL_USE_UNIX_EMULATION_IO) || defined (__STL_USE_STDIO_IO) -- -- struct stat buf; -- return fstat(fd, &buf) == 0 && (buf.st_mode & _S_IFREG) != 0 ; -- --# elif defined (__STL_USE_WIN32_IO) -- -- return (GetFileType(fd) & ~FILE_TYPE_REMOTE) == FILE_TYPE_DISK; -- --#else -- (void)fd; // dwa 4/27/00 - suppress unused parameter warning -- return false; -- --#endif --} -- --// Number of characters in the file. --streamoff __file_size(_STL_fd fd) { -- streamoff ret = 0; -- --#if defined (__STL_UNIX) -- -- struct stat buf; -- if(fstat(fd, &buf) == 0 && S_ISREG(buf.st_mode)) -- ret = buf.st_size > 0 ? buf.st_size : 0; -- --#elif defined(__MRC__) || defined(__SC__) //*TY 02/25/2000 - added support for MPW compilers -- -- #pragma unused(fd) -- --#elif defined(__STL_USE_UNIX_EMULATION_IO) || defined (__STL_USE_STDIO_IO) -- -- struct stat buf; -- if(fstat(fd, &buf) == 0 && (buf.st_mode & _S_IFREG) != 0) -- ret = buf.st_size > 0 ? buf.st_size : 0; -- --# elif defined (__STL_USE_WIN32_IO) -- -- DWORD FileSizeHigh; -- DWORD FileSize = GetFileSize(fd, &FileSizeHigh); -- // may use 64-bit -- ret = (((__int64)FileSizeHigh) << 32) | (__int64)FileSize; -- --# else -- (void)fd; // dwa 4/27/00 - suppress unused parameter warning --# endif -- -- return ret; -- --} -- -- --// Visual C++ and Intel use this, but not Metrowerks --#if !defined(__MSL__) && defined ( _MSC_VER ) && defined (_WIN32) -- --// fcntl(fileno, F_GETFL) for Microsoft library --// 'semi-documented' defines: --#define IOINFO_L2E 5 --#define IOINFO_ARRAY_ELTS (1 << IOINFO_L2E) --#define _pioinfo(i) ( __pioinfo[(i) >> IOINFO_L2E] + \ -- ((i) & (IOINFO_ARRAY_ELTS - 1)) ) --#define FAPPEND 0x20 // O_APPEND flag --#define FTEXT 0x80 // O_TEXT flag --// end of 'semi-documented' defines -- --// fbp : empirical --#define F_WRITABLE 0x04 -- --// 'semi-documented' internal structure --extern "C" { -- struct ioinfo { -- long osfhnd; // the real os HANDLE -- char osfile; // file handle flags -- char pipech; // pipe buffer --# ifdef _MT -- // multi-threaded locking -- int lockinitflag; -- CRITICAL_SECTION lock; --# endif /* _MT */ -- }; -- extern _CRTIMP ioinfo * __pioinfo[]; --} // extern "C" --// end of 'semi-documented' declarations -- --ios_base::openmode _get_osfflags(int fd, HANDLE oshandle) { -- char dosflags = 0; -- -- dosflags = _pioinfo(fd)->osfile; -- // end of 'semi-documented' stuff -- int mode = 0; -- -- if (dosflags & FAPPEND) -- mode |= O_APPEND; -- if (dosflags & FTEXT) -- mode |= O_TEXT; -- else -- mode |= O_BINARY; -- -- // we have to guess --# ifdef __macintosh -- DWORD dummy, dummy2; -- if (WriteFile(oshandle, &dummy2, 0, &dummy, 0)) -- mode |= O_RDWR; -- else -- mode |= O_RDONLY; --# else -- // on Windows, this seems to work... -- if (dosflags & F_WRITABLE) -- mode |= O_RDWR; -- else -- mode |= O_RDONLY; --# endif -- -- return flag_to_openmode(mode); --} -- --#endif // _MSC_VER -- --__SGI_END_NAMESPACE -- --// All version of Unix have mmap and lseek system calls. Some also have --// longer versions of thos system calls to accommodate 64-bit offsets. --// If we're on a Unix system, define some macros to encapsulate those --// differences. --#ifdef __STL_USE_UNIX_IO --# ifdef __sgi /* IRIX */ --# define LSEEK lseek64 --# define MMAP mmap64 --# else --# define LSEEK lseek --# define MMAP mmap --# endif -- --#ifndef MAP_FAILED /* MMAP failure return code */ --# define MAP_FAILED -1 --#endif -- --#elif defined (__STL_USE_UNIX_EMULATION_IO) --# define LSEEK _lseek --#endif -- -- --__STL_BEGIN_NAMESPACE -- --size_t --_Filebuf_base::_M_page_size = 4096; -- --_Filebuf_base::_Filebuf_base() -- : _M_file_id((_STL_fd)-1), -- _M_openmode(0), -- _M_is_open(false), -- _M_should_close(false) --{ -- if (!_M_page_size) --#if defined (__STL_UNIX) -- _M_page_size = sysconf(_SC_PAGESIZE); --# elif defined (__STL_USE_WIN32_IO) -- { -- SYSTEM_INFO SystemInfo; -- GetSystemInfo(&SystemInfo); -- _M_page_size = SystemInfo.dwPageSize; -- // might be .dwAllocationGranularity -- } -- // _M_CRLF_trans_buf = 0, -- // _M_trans_buf_end=0, -- _M_view_id = 0; --#endif -- -- if (_M_page_size <=0 ) -- _M_page_size = 4096; -- --} -- -- --// Return the size of the file. This is a wrapper for stat. --// Returns zero if the size cannot be determined or is ill-defined. --streamoff --_Filebuf_base::_M_file_size() --{ -- return SGI::__file_size(_M_file_id); --} -- --bool _Filebuf_base::_M_open(const char* name, ios_base::openmode openmode, -- long permission) --{ -- _STL_fd file_no; -- -- if (_M_is_open) -- return false; -- --#if defined (__STL_USE_UNIX_IO) || defined (__STL_USE_UNIX_EMULATION_IO) -- -- int flags = 0; -- -- // Unix makes no distinction between text and binary files. -- switch(openmode & (~ios_base::ate & ~ios_base::binary)) { -- case ios_base::out: -- case ios_base::out | ios_base::trunc: -- flags = O_WRONLY | O_CREAT | O_TRUNC; -- break; -- case ios_base::out | ios_base::app: -- flags = O_WRONLY | O_CREAT | O_APPEND; -- break; -- case ios_base::in: -- flags = O_RDONLY; -- permission = 0; // Irrelevant unless we're writing. -- break; -- case ios_base::in | ios_base::out: -- flags = O_RDWR; -- break; -- case ios_base::in | ios_base::out | ios_base::trunc: -- flags = O_RDWR | O_CREAT | O_TRUNC; -- break; -- default: // The above are the only combinations of -- return false; // flags allowed by the C++ standard. -- } -- --# if defined (__STL_USE_UNIX_EMULATION_IO) -- -- if (openmode & ios_base::binary) -- flags |= O_BINARY; -- else -- flags |= O_TEXT; -- -- file_no = _open(name, flags, permission); -- --# else -- -- file_no = open(name, flags, permission); -- --# endif /* __STL_USE_UNIX_EMULATION_IO */ -- -- if (file_no < 0) -- return false; -- -- _M_is_open = true; -- -- if (openmode & ios_base::ate) -- if (LSEEK(file_no, 0, SEEK_END) == -1) -- _M_is_open = false; -- --#elif defined (__STL_USE_STDIO_IO) -- // use FILE-based i/o -- const char* flags; -- -- switch(openmode & (~ios_base::ate)) { -- case ios_base::out: -- case ios_base::out | ios_base::trunc: -- flags = "w"; -- break; -- -- case ios_base::out | ios_base::binary: -- case ios_base::out | ios_base::trunc | ios_base::binary: -- flags = "wb"; -- break; -- -- case ios_base::out | ios_base::app: -- flags = "a"; -- break; -- -- case ios_base::out | ios_base::app | ios_base::binary: -- flags = "ab"; -- break; -- -- case ios_base::in: -- flags = "r"; -- break; -- -- case ios_base::in | ios_base::binary: -- flags = "rb"; -- break; -- -- case ios_base::in | ios_base::out: -- flags = "r+"; -- break; -- -- case ios_base::in | ios_base::out | ios_base::binary: -- flags = "r+b"; -- break; -- -- -- case ios_base::in | ios_base::out | ios_base::trunc: -- flags = "w+"; -- break; -- -- case ios_base::in | ios_base::out | ios_base::trunc | ios_base::binary: -- flags = "w+b"; -- break; -- -- default: // The above are the only combinations of -- return false; // flags allowed by the C++ standard. -- } -- -- // fbp : TODO : set permissions ! -- (void)permission; // currently unused //*TY 02/26/2000 - added to suppress warning message -- _M_file = fopen(name, flags); -- -- if (_M_file) { -- file_no = fileno(_M_file); -- } -- else -- return false; -- -- // unset buffering immediately -- setbuf(_M_file, 0); -- -- _M_is_open = true; -- -- if (openmode & ios_base::ate) -- if (fseek(_M_file, 0, SEEK_END) == -1) -- _M_is_open = false; -- --# elif defined (__STL_USE_WIN32_IO) -- -- DWORD dwDesiredAccess, dwShareMode, dwCreationDisposition; -- bool doTruncate = false; -- -- switch(openmode & (~ios_base::ate & ~ios_base::binary)) { -- case ios_base::out: -- case ios_base::out | ios_base::trunc: -- dwDesiredAccess = GENERIC_WRITE; -- dwShareMode = FILE_SHARE_READ; -- dwCreationDisposition = OPEN_ALWAYS; -- // boris : even though it is very non-intuitive, standard -- // requires them both to behave same. -- doTruncate = true; -- break; -- -- case ios_base::out | ios_base::app: -- dwDesiredAccess = GENERIC_WRITE; -- dwShareMode = FILE_SHARE_READ; -- dwCreationDisposition = OPEN_ALWAYS; -- break; -- case ios_base::in: -- dwDesiredAccess = GENERIC_READ; -- dwShareMode = FILE_SHARE_READ | FILE_SHARE_WRITE; -- dwCreationDisposition = OPEN_EXISTING; -- permission = 0; // Irrelevant unless we're writing. -- break; -- case ios_base::in | ios_base::out: -- dwDesiredAccess = GENERIC_READ | GENERIC_WRITE; -- dwShareMode = FILE_SHARE_READ; -- dwCreationDisposition = OPEN_EXISTING; -- break; -- case ios_base::in | ios_base::out | ios_base::trunc: -- dwDesiredAccess = GENERIC_READ | GENERIC_WRITE; -- dwShareMode = FILE_SHARE_READ; -- dwCreationDisposition = OPEN_ALWAYS; -- doTruncate = true; -- break; -- default: // The above are the only combinations of -- return false; // flags allowed by the C++ standard. -- } -- --# ifdef _UNICODE -- file_no = CreateFileA( --# else -- file_no = CreateFile( --# endif -- name, dwDesiredAccess, dwShareMode, 0, -- dwCreationDisposition, permission, 0); -- -- if ( file_no == INVALID_HANDLE_VALUE ) -- return false; -- -- if ((doTruncate && SetEndOfFile(file_no) == 0) || -- ((openmode & ios_base::ate) && SetFilePointer(file_no, 0, NULL, FILE_END) == -1)) { -- CloseHandle(file_no); -- return false; -- } -- -- _M_is_open = true; -- --#else --# error "Port!" --#endif /* __unix */ -- -- -- _M_file_id = file_no; -- _M_should_close = _M_is_open; -- _M_openmode = openmode; -- -- if (_M_is_open) -- _M_regular_file = SGI::__is_regular_file(_M_file_id); -- -- return _M_is_open; --} -- -- --bool _Filebuf_base::_M_open(const char* name, ios_base::openmode openmode) --{ -- // This doesn't really grant everyone in the world read/write -- // access. On Unix, file-creation system calls always clear -- // bits that are set in the umask from the permissions flag. --# ifdef __STL_USE_WIN32_IO -- return this->_M_open(name, openmode, FILE_ATTRIBUTE_NORMAL); --# elif defined(__MRC__) || defined(__SC__) //*TY 02/26/2000 - added support for MPW compilers -- return this->_M_open(name, openmode, 0); --# else -- return this->_M_open(name, openmode, S_IRUSR | S_IWUSR | S_IRGRP | -- S_IWGRP | S_IROTH | S_IWOTH); --# endif --} -- -- --// Associated the filebuf with a file descriptor pointing to an already- --// open file. Mode is set to be consistent with the way that the file --// was opened. --bool _Filebuf_base::_M_open(int file_no, ios_base::openmode init_mode) { -- -- if (_M_is_open || file_no < 0) -- return false; -- --# if defined (__STL_UNIX) -- (void)init_mode; // dwa 4/27/00 - suppress unused parameter warning -- int mode ; -- mode = fcntl(file_no, F_GETFL); -- -- if (mode == -1) -- return false; -- -- _M_openmode = SGI::flag_to_openmode(mode); -- --# elif defined(__MRC__) || defined(__SC__) //*TY 02/26/2000 - added support for MPW compilers -- (void)init_mode; // dwa 4/27/00 - suppress unused parameter warning -- switch( _iob[file_no]._flag & (_IOREAD|_IOWRT|_IORW) ) -- { -- case _IOREAD: -- _M_openmode = ios_base::in; break; -- case _IOWRT: -- _M_openmode = ios_base::out; break; -- case _IORW: -- _M_openmode = ios_base::in | ios_base::out; break; -- default: -- return false; -- } -- --# elif defined (__STL_USE_UNIX_EMULATION_IO) || defined (__STL_USE_STDIO_IO) -- (void)init_mode; // dwa 4/27/00 - suppress unused parameter warning -- int mode ; -- struct stat buf; -- if (fstat(file_no, &buf) != 0) -- return false; -- mode = buf.st_mode; -- -- switch(mode & (_S_IWRITE | _S_IREAD) ) { -- case _S_IREAD: -- _M_openmode = ios_base::in; break; -- case _S_IWRITE: -- _M_openmode = ios_base::out; break; -- case (_S_IWRITE | _S_IREAD): -- _M_openmode = ios_base::in | ios_base::out; break; -- default: -- return false; -- } --# elif defined(__STL_USE_WIN32_IO) && defined (_MSC_VER) -- -- if (_M_is_open || file_no == -1) -- return false; -- -- HANDLE oshandle = (HANDLE)_get_osfhandle(file_no); -- -- if ((long)oshandle != -1) -- file_no = (int)oshandle; -- else -- return false; -- -- if (init_mode != ios_base::__default_mode) -- _M_openmode = init_mode; -- else -- _M_openmode = SGI::_get_osfflags(file_no, oshandle); -- --# else -- (void)init_mode; // dwa 4/27/00 - suppress unused parameter warning -- -- // not available for the API -- return false; -- --# endif -- -- -- _M_is_open = true; -- _M_file_id = (_STL_fd)file_no; -- _M_should_close = false; -- _M_regular_file = SGI::__is_regular_file(_M_file_id); -- -- return true; --} -- --bool _Filebuf_base::_M_close() { -- if (!_M_is_open) -- return false; -- -- bool ok; -- -- if (!_M_should_close) -- ok = true; -- else { -- --# if defined (__STL_USE_UNIX_IO) -- -- ok = (close(_M_file_id) == 0); -- --# elif defined (__STL_USE_UNIX_EMULATION_IO) -- -- ok = (_close(_M_file_id) == 0); -- --# elif defined (__STL_USE_STDIO_IO) -- -- ok = (fclose(_M_file) == 0); -- --# elif defined (__STL_USE_WIN32_IO) -- -- ok = (CloseHandle(_M_file_id) != 0); -- --# else -- -- ok = false; -- --# endif /* __STL_USE_UNIX_IO */ -- } -- -- _M_is_open = _M_should_close = false; -- _M_openmode = 0; -- return ok; --} -- -- --# define __STL_LF 10 --# define __STL_CR 13 --# define __STL_CTRLZ 26 -- --// Read up to n characters into a buffer. Return value is number of --// characters read. --ptrdiff_t _Filebuf_base::_M_read(char* buf, ptrdiff_t n) { --# if defined (__STL_USE_UNIX_IO) -- -- return read(_M_file_id, buf, n); -- --# elif defined (__STL_USE_UNIX_EMULATION_IO) -- -- return _read(_M_file_id, buf, n); -- --# elif defined (__STL_USE_WIN32_IO) -- -- DWORD NumberOfBytesRead; -- ReadFile(_M_file_id, (LPVOID)buf, (DWORD)n, -- &NumberOfBytesRead, 0); -- -- if ((! (_M_openmode & ios_base::binary)) && NumberOfBytesRead) { -- // translate CR-LFs to LFs in the buffer -- char * to = buf, * last = buf + NumberOfBytesRead - 1; -- char * from; -- for (from = buf; from <= last && * from != __STL_CTRLZ; ++ from ) { -- if (* from != __STL_CR) -- * to ++ = * from; -- else { // found CR -- if (from < last) { // not at buffer end -- if (* (from + 1) != __STL_LF) -- * to ++ = __STL_CR; -- } -- else { // last char is CR, peek for LF -- char peek = ' '; -- DWORD NumberOfBytesPeeked; -- ReadFile(_M_file_id, (LPVOID)&peek, -- 1, &NumberOfBytesPeeked, 0); -- if (NumberOfBytesPeeked) -- SetFilePointer(_M_file_id,(LONG)-1,0,SEEK_CUR); -- if (peek != __STL_LF) -- * to ++ = __STL_CR; -- } -- } // found CR -- } // for -- // seek back to TEXT end of file if hit CTRL-Z -- if (from <= last) // terminated due to CTRLZ -- SetFilePointer(_M_file_id,(LONG)((last+1) - from),0,SEEK_CUR); -- NumberOfBytesRead = to - buf; -- } -- return (ptrdiff_t)NumberOfBytesRead; -- --# elif defined (__STL_USE_STDIO_IO) -- -- return fread(buf, 1, n, _M_file); -- --# else --# error "Port!" --# endif /* __unix */ --} -- --// Write n characters from a buffer. Return value: true if we managed --// to write the entire buffer, false if we didn't. --bool _Filebuf_base::_M_write(char* buf, ptrdiff_t n) { -- -- while (true) { -- ptrdiff_t written; -- --# if defined (__STL_USE_UNIX_IO) -- -- written = write(_M_file_id, buf, n); -- --# elif defined (__STL_USE_UNIX_EMULATION_IO) -- -- written = _write(_M_file_id, buf, n); -- --# elif defined (__STL_USE_WIN32_IO) -- -- // In append mode, every write does an implicit seek to the end -- // of the file. -- if (_M_openmode & ios_base::app) -- _M_seek( 0, ios_base::end); -- -- if (_M_openmode & ios_base::binary) { -- // binary mode -- DWORD NumberOfBytesWritten; -- WriteFile(_M_file_id, (LPVOID)buf, (DWORD)n, -- &NumberOfBytesWritten, 0); -- written = (ptrdiff_t)NumberOfBytesWritten; -- } -- else { -- char textbuf[_TEXTBUF_SIZE + 1]; // extra 1 in case LF at end -- char * nextblock = buf, * ptrtextbuf = textbuf; -- char * endtextbuf = textbuf + _TEXTBUF_SIZE; -- char * endblock = buf + n; -- ptrdiff_t nextblocksize = (__STLPORT_STD::min)(n, _TEXTBUF_SIZE); -- char * nextlf; -- -- while ( (nextblocksize > 0) && -- (nextlf = (char *)memchr(nextblock, __STL_LF, nextblocksize)) != 0) { -- ptrdiff_t linelength = nextlf - nextblock; -- memcpy(ptrtextbuf, nextblock, linelength); -- ptrtextbuf += linelength; -- nextblock += (linelength + 1); -- * ptrtextbuf ++ = __STL_CR; -- * ptrtextbuf ++ = __STL_LF; -- nextblocksize = (__STLPORT_STD::min)(ptrdiff_t(endblock - nextblock), -- (__STLPORT_STD::max)(ptrdiff_t(0), ptrdiff_t(endtextbuf - ptrtextbuf))); -- } -- // write out what's left, > condition is here since for LF at the end , -- // endtextbuf may get < ptrtextbuf ... -- if (nextblocksize > 0) { -- memcpy(ptrtextbuf, nextblock, nextblocksize); -- ptrtextbuf += nextblocksize; -- nextblock += nextblocksize; -- } -- // now write out the translated buffer -- char * writetextbuf = textbuf; -- for (ptrdiff_t NumberOfBytesToWrite = ptrtextbuf - textbuf; -- NumberOfBytesToWrite;) { -- DWORD NumberOfBytesWritten; -- WriteFile((HANDLE)_M_file_id, (LPVOID)writetextbuf, -- NumberOfBytesToWrite, &NumberOfBytesWritten, 0); -- if (NumberOfBytesWritten == NumberOfBytesToWrite) -- break; -- if (!NumberOfBytesWritten) // write shortfall -- return false; -- writetextbuf += NumberOfBytesWritten; -- NumberOfBytesToWrite -= NumberOfBytesWritten; -- } -- // count non-translated characters -- written = (nextblock - buf); -- } -- --# elif defined (__STL_USE_STDIO_IO) -- -- written = fwrite(buf, 1, n, _M_file); -- --# else --# error "Port!" --# endif /* __unix */ -- -- if (n == written) -- return true; -- else if (written > 0 && written < n) { -- n -= written; -- buf += written; -- } -- else -- return false; -- } --} -- -- --#ifdef __STL_USE_WIN32_IO --# define STL_SEEK_SET FILE_BEGIN --# define STL_SEEK_CUR FILE_CURRENT --# define STL_SEEK_END FILE_END --#else --# define STL_SEEK_SET SEEK_SET --# define STL_SEEK_CUR SEEK_CUR --# define STL_SEEK_END SEEK_END --#endif -- --// Wrapper for lseek or the like. --streamoff _Filebuf_base::_M_seek(streamoff offset, ios_base::seekdir dir) --{ -- streamoff result = -1; -- -- int whence; -- -- switch(dir) { -- case ios_base::beg: -- if (offset < 0 || offset > _M_file_size()) -- return streamoff(-1); -- whence = STL_SEEK_SET; -- break; -- case ios_base::cur: -- whence = STL_SEEK_CUR; -- break; -- case ios_base::end: -- if (offset > 0 || -offset > _M_file_size()) -- return streamoff(-1); -- whence = STL_SEEK_END; -- break; -- default: -- return streamoff(-1); -- } -- --#if defined (__STL_USE_UNIX_IO) || defined (__STL_USE_UNIX_EMULATION_IO) -- -- result = LSEEK(_M_file_id, offset, whence); -- --#elif defined (__STL_USE_STDIO_IO) -- -- result = fseek(_M_file, offset, whence); -- --#elif defined (__STL_USE_WIN32_IO) -- -- long hi_seek = ULL(offset) >> 32; -- long ret = SetFilePointer(_M_file_id, offset, &hi_seek, whence); -- if (ret == -1) -- result = ret; -- else { -- result = hi_seek; -- result = (ULL(result)<<32) | ret; -- } -- --#else --# error "Port!" --#endif -- -- return result; --} -- -- --// Attempts to memory-map len bytes of the current file, starting --// at position offset. Precondition: offset is a multiple of the --// page size. Postcondition: return value is a null pointer if the --// memory mapping failed. Otherwise the return value is a pointer to --// the memory-mapped file and the file position is set to offset. --void* _Filebuf_base::_M_mmap(streamoff offset, streamoff len) { -- void* base; --#if defined (__STL_UNIX) -- base = MMAP(0, len, PROT_READ, MAP_PRIVATE, _M_file_id, offset); -- if (base != (void*)MAP_FAILED) { -- if (LSEEK(_M_file_id, offset + len, SEEK_SET) < 0) { -- this->_M_unmap(base, len); -- base = 0; -- } -- } else -- base =0; -- --#elif defined (__STL_USE_WIN32_IO) -- -- _M_view_id = CreateFileMapping(_M_file_id, (PSECURITY_ATTRIBUTES)0 , -- PAGE_READONLY, 0 /* len >> 32 */ , -- 0 /* len & 0xFFFFFFFF */ , // low-order DWORD of size -- 0); -- -- if (_M_view_id) { --# if 0 -- printf("view %x created from file %x, error = %d, size = %d, map_offset = %d map_len = %d\n", -- _M_view_id, _M_file_id, GetLastError(), -- (int)cur_filesize, ULL(offset) & 0xffffffff, len); --# endif -- -- base = MapViewOfFile(_M_view_id, FILE_MAP_READ, ULL(offset)>>32, -- ULL(offset) & 0xffffffff, len); -- -- if (base) { -- if (_M_seek(offset+len, ios_base::beg) < 0) { -- this->_M_unmap(base, len); -- base = 0; -- } -- } -- } --#else -- (void)len; //*TY 02/26/2000 - unused variables -- (void)offset; //*TY 02/26/2000 - -- base = 0; --#endif -- return base; --} -- --void _Filebuf_base::_M_unmap(void* base, streamoff len) { -- // precondition : there is a valid mapping at the moment --#if defined (__STL_UNIX) -- munmap((caddr_t)base, len); --#elif defined (__STL_USE_WIN32_IO) -- UnmapViewOfFile(base); -- // destroy view handle as well -- CloseHandle(_M_view_id); -- _M_view_id = 0; --#else -- (void)len; //*TY 02/26/2000 - unused variables -- (void)base; //*TY 02/26/2000 - --#endif --} -- --# define MMAP_CHUNK 0x1000000UL -- --int __STL_CALL --_Underflow >::_M_doit (basic_filebuf >* __this) --{ -- if (!__this->_M_in_input_mode) { -- if (!__this->_M_switch_to_input_mode()) -- return traits_type::eof(); -- } -- -- else if (__this->_M_in_putback_mode) { -- __this->_M_exit_putback_mode(); -- if (__this->gptr() != __this->egptr()) { -- int_type __c = traits_type::to_int_type(*__this->gptr()); -- return __c; -- } -- } -- -- // If it's a disk file, and if the internal and external character -- // sequences are guaranteed to be identical, then try to use memory -- // mapped I/O. Otherwise, revert to ordinary read. -- if (__this->_M_base.__regular_file() -- && __this->_M_always_noconv -- && __this->_M_base._M_in_binary_mode()) { -- // If we've mmapped part of the file already, then unmap it. -- if (__this->_M_mmap_base) -- __this->_M_base._M_unmap(__this->_M_mmap_base, __this->_M_mmap_len); -- -- // Determine the position where we start mapping. It has to be -- // a multiple of the page size. -- streamoff __cur = __this->_M_base._M_seek(0, ios_base::cur); -- streamoff __size = __this->_M_base._M_file_size(); -- if (__size > 0 && __cur >= 0 && __cur < __size) { -- streamoff __offset = (__cur / __this->_M_base.__page_size()) -- * __this->_M_base.__page_size(); -- streamoff __remainder = __cur - __offset; -- -- __this->_M_mmap_len = __size - __offset; -- -- // fbp : let us map 1 MB maximum, just be sure not to trash VM -- if (__this->_M_mmap_len > MMAP_CHUNK) -- __this->_M_mmap_len = MMAP_CHUNK; -- -- if ((__this->_M_mmap_base = -- __this->_M_base._M_mmap(__offset, __this->_M_mmap_len)) != 0) { -- __this->setg((char*) __this->_M_mmap_base, -- (char*) __this->_M_mmap_base + __remainder, -- (char*) __this->_M_mmap_base + __this->_M_mmap_len); -- return traits_type::to_int_type(*__this->gptr()); -- } -- } -- } -- -- return __this->_M_underflow_aux(); --} -- -- --//---------------------------------------------------------------------- --// Force instantiation of filebuf and fstream classes. --#if !defined(__STL_NO_FORCE_INSTANTIATE) -- --template class basic_filebuf >; --template class basic_ifstream >; --template class basic_ofstream >; --template class basic_fstream >; -- --#endif --__STL_END_NAMESPACE -- --// Local Variables: --// mode:C++ --// End: -- -+/* -+ * Copyright (c) 1999 -+ * Silicon Graphics Computer Systems, Inc. -+ * -+ * Copyright (c) 1999 -+ * Boris Fomitchev -+ * -+ * This material is provided "as is", with absolutely no warranty expressed -+ * or implied. Any use is at your own risk. -+ * -+ * Permission to use or copy this software for any purpose is hereby granted -+ * without fee, provided the above notices are retained on all copies. -+ * Permission to modify the code and to distribute modified code is granted, -+ * provided the above notices are retained, and a notice that the code was -+ * modified is included with the above copyright notice. -+ * -+ */ -+ -+ -+# include "stlport_prefix.h" -+ -+# if defined (__SUNPPRO_CC) && !defined (_STLP_NO_NEW_C_HEADERS) -+# include -+// For sunpro, it chokes if time.h is included through stat.h -+# endif -+ -+#include -+ -+ -+#ifdef __CYGWIN__ -+# define __int64 long long -+#endif -+ -+#if defined (_STLP_USE_UNIX_IO) -+extern "C" { -+// open/close/read/write -+# include // For stat -+# include // For mmap -+ -+// on HP-UX 11, this one contradicts with pthread.h on pthread_atfork, unless we unset this -+# if defined (__hpux) && defined (__GNUC__) -+# undef _INCLUDE_POSIX1C_SOURCE -+# endif -+ -+# include -+# include -+} -+# ifdef __APPLE__ -+# include -+# endif -+#elif defined (_STLP_USE_WIN32_IO) -+# define WIN32_LEAN_AND_MEAN -+# include -+ -+# ifdef __BORLANDC__ -+# if (__BORLANDC__ > 0x530) -+# include // For _O_RDONLY, etc -+# else -+# include // For _O_RDONLY, etc -+# endif -+# include // For _fstat -+# elif !defined(_STLP_WINCE) -+# include // For _get_osfhandle -+# include // For _O_RDONLY, etc -+# include // For _fstat -+# endif -+ -+# define _TEXTBUF_SIZE 0x1000 -+#elif defined (_STLP_USE_UNIX_EMULATION_IO) -+# if defined( __MSL__ ) -+# include -+# else -+# include -+# endif -+# include -+# include -+ -+#elif defined (_STLP_USE_STDIO_IO) -+# include -+ -+# if !(defined(__MRC__) || defined(__SC__) || defined(__ISCPP__) ) -+extern "C" { -+# include -+} -+# endif -+# if defined( __MSL__ ) -+# include -+# endif -+# if defined(__ISCPP__) -+# include -+# endif -+# if defined(__BEOS__) && defined(__INTEL__) -+# include -+# include // For _fstat -+# define _S_IREAD S_IREAD -+# define _S_IWRITE S_IWRITE -+# define _S_IFREG S_IFREG -+# endif -+#else -+#error "Configure i/o !" -+#endif -+ -+// map permission masks -+#if defined (_STLP_USE_UNIX_EMULATION_IO) || defined (_STLP_USE_STDIO_IO) -+# ifndef S_IRUSR -+# define S_IRUSR _S_IREAD -+# define S_IWUSR _S_IWRITE -+# define S_IRGRP _S_IREAD -+# define S_IWGRP _S_IWRITE -+# define S_IROTH _S_IREAD -+# define S_IWOTH _S_IWRITE -+# endif -+# ifndef O_RDONLY -+# define O_RDONLY _O_RDONLY -+# define O_WRONLY _O_WRONLY -+# define O_RDWR _O_RDWR -+# define O_APPEND _O_APPEND -+# define O_CREAT _O_CREAT -+# define O_TRUNC _O_TRUNC -+# define O_TEXT _O_TEXT -+# define O_BINARY _O_BINARY -+# endif -+ -+# ifdef __MSL__ -+# define _O_TEXT 0x0 -+# if !defined( O_TEXT ) -+# define O_TEXT _O_TEXT -+# endif -+# define _S_IFREG S_IFREG -+# define S_IREAD S_IRUSR -+# define S_IWRITE S_IWUSR -+# define S_IEXEC S_IXUSR -+# define _S_IWRITE S_IWRITE -+# define _S_IREAD S_IREAD -+# define _open open -+# define _lseek lseek -+# define _close close -+# define _read read -+# define _write write -+# endif -+ -+#endif -+ -+#ifndef O_ACCMODE -+# define O_ACCMODE (O_RDONLY|O_WRONLY|O_RDWR) -+#endif -+ -+#include "fstream_impl.h" -+ -+# ifdef _STLP_LONG_LONG -+# define ULL(x) ((unsigned _STLP_LONG_LONG)x) -+// # elif defined (_MSC_VER) || defined (__BORLANDC__) -+// # define ULL(x) ((__int64)x) -+# elif defined(__MRC__) || defined(__SC__) //*TY 02/25/2000 - added support for MPW compilers -+# include -+# define ULL(x) (U64SetU(x)) -+# elif defined(__ISCPP__) -+# include "uint64.h" -+# else -+# error "there should be some long long type on the system!" -+# endif -+ -+__SGI_BEGIN_NAMESPACE -+ -+#if !defined(__MSL__) && !defined(__MRC__) && !defined(__SC__) && !defined(_STLP_WINCE) //*TY 04/15/2000 - exclude mpw compilers also -+ios_base::openmode flag_to_openmode(int mode) -+{ -+ ios_base::openmode ret; -+ -+ switch(mode & O_ACCMODE) { -+ -+ case O_RDONLY: -+ ret = ios_base::in; break; -+ -+ case O_WRONLY: -+ ret = ios_base::out; break; -+ -+ case O_RDWR: -+ ret = ios_base::in | ios_base::out; break; -+ -+ } -+ -+ if (mode & O_APPEND) -+ ret |= ios_base::app; -+ -+# ifdef _STLP_USE_WIN32_IO -+ if (mode & O_BINARY) -+ ret |= ios_base::binary; -+# endif // _MSC_VER -+ -+ return ret; -+ -+} -+# endif /* MSL */ -+ -+// Helper functions for _Filebuf_base. -+ -+bool __is_regular_file(_STLP_fd fd) { -+ -+#if defined (_STLP_UNIX) -+ -+ struct stat buf; -+ return fstat(fd, &buf) == 0 && S_ISREG(buf.st_mode); -+ -+#elif defined(__MRC__) || defined(__SC__) //*TY 02/25/2000 - added support for MPW compilers -+ -+ #pragma unused(fd) -+ return true; // each file is a regular file under mac os, isn't it? (we don't have fstat()) -+ -+#elif defined(_STLP_USE_UNIX_EMULATION_IO) || defined (_STLP_USE_STDIO_IO) -+ -+ struct stat buf; -+ return fstat(fd, &buf) == 0 && (buf.st_mode & _S_IFREG) != 0 ; -+ -+# elif defined (_STLP_USE_WIN32_IO) && !defined(_STLP_WINCE) -+ -+ return (GetFileType(fd) & ~FILE_TYPE_REMOTE) == FILE_TYPE_DISK; -+ -+#else -+ (void)fd; // dwa 4/27/00 - suppress unused parameter warning -+ return false; -+ -+#endif -+} -+ -+// Number of characters in the file. -+streamoff __file_size(_STLP_fd fd) { -+ streamoff ret = 0; -+ -+#if defined (_STLP_UNIX) -+ -+ struct stat buf; -+ if(fstat(fd, &buf) == 0 && S_ISREG(buf.st_mode)) -+ ret = buf.st_size > 0 ? buf.st_size : 0; -+ -+#elif defined(__MRC__) || defined(__SC__) //*TY 02/25/2000 - added support for MPW compilers -+ -+ #pragma unused(fd) -+ -+#elif defined(_STLP_USE_UNIX_EMULATION_IO) || defined (_STLP_USE_STDIO_IO) -+ -+ struct stat buf; -+ if(fstat(fd, &buf) == 0 && (buf.st_mode & _S_IFREG) != 0) -+ ret = buf.st_size > 0 ? buf.st_size : 0; -+ -+# elif defined (_STLP_USE_WIN32_IO) -+ -+ LARGE_INTEGER li; -+ li.LowPart = GetFileSize(fd, (unsigned long*) &li.HighPart); -+ if (li.LowPart == 0xFFFFFFFF && GetLastError() != NO_ERROR ) -+ { -+ ret = 0; -+ } else -+ ret = li.QuadPart; -+ -+# else -+ (void)fd; // dwa 4/27/00 - suppress unused parameter warning -+# endif -+ -+ return ret; -+} -+ -+ -+// Visual C++ and Intel use this, but not Metrowerks -+// Also MinGW, msvcrt.dll (but not crtdll.dll) dependent version -+#if (!defined(__MSL__) && !defined(_STLP_WINCE) && defined( _MSC_VER ) && defined(_WIN32)) || \ -+ (defined(__MINGW32__) && defined(__MSVCRT__)) -+ -+// fcntl(fileno, F_GETFL) for Microsoft library -+// 'semi-documented' defines: -+#define IOINFO_L2E 5 -+#define IOINFO_ARRAY_ELTS (1 << IOINFO_L2E) -+#define _pioinfo(i) ( __pioinfo[(i) >> IOINFO_L2E] + \ -+ ((i) & (IOINFO_ARRAY_ELTS - 1)) ) -+#define FAPPEND 0x20 // O_APPEND flag -+#define FTEXT 0x80 // O_TEXT flag -+// end of 'semi-documented' defines -+ -+// fbp : empirical -+#define F_WRITABLE 0x04 -+ -+// 'semi-documented' internal structure -+extern "C" { -+ struct ioinfo { -+ long osfhnd; // the real os HANDLE -+ char osfile; // file handle flags -+ char pipech; // pipe buffer -+# ifdef _MT -+ // multi-threaded locking -+ int lockinitflag; -+ CRITICAL_SECTION lock; -+# endif /* _MT */ -+ }; -+#ifdef __MINGW32__ -+ __MINGW_IMPORT ioinfo * __pioinfo[]; -+#else -+ extern _CRTIMP ioinfo * __pioinfo[]; -+#endif -+ -+} // extern "C" -+// end of 'semi-documented' declarations -+ -+ios_base::openmode _get_osfflags(int fd, HANDLE oshandle) { -+ char dosflags = 0; -+ -+ dosflags = _pioinfo(fd)->osfile; -+ // end of 'semi-documented' stuff -+ int mode = 0; -+ -+ if (dosflags & FAPPEND) -+ mode |= O_APPEND; -+ if (dosflags & FTEXT) -+ mode |= O_TEXT; -+ else -+ mode |= O_BINARY; -+ -+ // we have to guess -+# ifdef __macintosh -+ DWORD dummy, dummy2; -+ if (WriteFile(oshandle, &dummy2, 0, &dummy, 0)) -+ mode |= O_RDWR; -+ else -+ mode |= O_RDONLY; -+# else -+ // on Windows, this seems to work... -+ if (dosflags & F_WRITABLE) -+ mode |= O_RDWR; -+ else -+ mode |= O_RDONLY; -+# endif -+ -+ return flag_to_openmode(mode); -+} -+ -+#endif // _MSC_VER -+ -+__SGI_END_NAMESPACE -+ -+// All version of Unix have mmap and lseek system calls. Some also have -+// longer versions of thos system calls to accommodate 64-bit offsets. -+// If we're on a Unix system, define some macros to encapsulate those -+// differences. -+#ifdef _STLP_USE_UNIX_IO -+# ifdef __sgi /* IRIX */ -+# define LSEEK lseek64 -+# define MMAP mmap64 -+# else -+# define LSEEK lseek -+# define MMAP mmap -+# endif -+ -+#ifndef MAP_FAILED /* MMAP failure return code */ -+# define MAP_FAILED -1 -+#endif -+ -+#elif defined (_STLP_USE_UNIX_EMULATION_IO) -+# define LSEEK _lseek -+#endif -+ -+ -+_STLP_BEGIN_NAMESPACE -+ -+size_t -+_Filebuf_base::_M_page_size = 4096; -+ -+_Filebuf_base::_Filebuf_base() -+ : _M_file_id((_STLP_fd)-1), -+ _M_openmode(0), -+ _M_is_open(false), -+ _M_should_close(false) -+{ -+ if (!_M_page_size) -+#if defined (_STLP_UNIX) && !defined(__DJGPP) -+# if defined (__APPLE__) -+ { -+ int mib[2]; -+ size_t pagesize, len; -+ mib[0] = CTL_HW; -+ mib[1] = HW_PAGESIZE; -+ len = sizeof(pagesize); -+ sysctl(mib, 2, &pagesize, &len, NULL, 0); -+ _M_page_size = pagesize; -+ } -+# elif defined(__DJGPP) -+ _M_page_size = BUFSIZ; -+# else -+ _M_page_size = sysconf(_SC_PAGESIZE); -+# endif -+# elif defined (_STLP_USE_WIN32_IO) -+ { -+ SYSTEM_INFO SystemInfo; -+ GetSystemInfo(&SystemInfo); -+ _M_page_size = SystemInfo.dwPageSize; -+ // might be .dwAllocationGranularity -+ } -+ // _M_CRLF_trans_buf = 0, -+ // _M_trans_buf_end=0, -+ _M_view_id = 0; -+#endif -+ -+ if (_M_page_size <=0 ) -+ _M_page_size = 4096; -+ -+} -+ -+ -+// Return the size of the file. This is a wrapper for stat. -+// Returns zero if the size cannot be determined or is ill-defined. -+streamoff -+_Filebuf_base::_M_file_size() -+{ -+ return _SgI::__file_size(_M_file_id); -+} -+ -+bool _Filebuf_base::_M_open(const char* name, ios_base::openmode openmode, -+ long permission) -+{ -+ _STLP_fd file_no; -+ -+ if (_M_is_open) -+ return false; -+ -+#if defined (_STLP_USE_UNIX_IO) || defined (_STLP_USE_UNIX_EMULATION_IO) -+ -+ int flags = 0; -+ -+ // Unix makes no distinction between text and binary files. -+ switch(openmode & (~ios_base::ate & ~ios_base::binary)) { -+ case ios_base::out: -+ case ios_base::out | ios_base::trunc: -+ flags = O_WRONLY | O_CREAT | O_TRUNC; -+ break; -+ case ios_base::out | ios_base::app: -+ flags = O_WRONLY | O_CREAT | O_APPEND; -+ break; -+ case ios_base::in: -+ flags = O_RDONLY; -+ permission = 0; // Irrelevant unless we're writing. -+ break; -+ case ios_base::in | ios_base::out: -+ flags = O_RDWR; -+ break; -+ case ios_base::in | ios_base::out | ios_base::trunc: -+ flags = O_RDWR | O_CREAT | O_TRUNC; -+ break; -+ default: // The above are the only combinations of -+ return false; // flags allowed by the C++ standard. -+ } -+ -+# if defined (_STLP_USE_UNIX_EMULATION_IO) -+ -+ if (openmode & ios_base::binary) -+ flags |= O_BINARY; -+ else -+ flags |= O_TEXT; -+ -+ file_no = _open(name, flags, permission); -+ -+# else -+ -+ file_no = open(name, flags, permission); -+ -+# endif /* _STLP_USE_UNIX_EMULATION_IO */ -+ -+ if (file_no < 0) -+ return false; -+ -+ _M_is_open = true; -+ -+ if (openmode & ios_base::ate) -+ if (LSEEK(file_no, 0, SEEK_END) == -1) -+ _M_is_open = false; -+ -+#elif defined (_STLP_USE_STDIO_IO) -+ // use FILE-based i/o -+ const char* flags; -+ -+ switch(openmode & (~ios_base::ate)) { -+ case ios_base::out: -+ case ios_base::out | ios_base::trunc: -+ flags = "w"; -+ break; -+ -+ case ios_base::out | ios_base::binary: -+ case ios_base::out | ios_base::trunc | ios_base::binary: -+ flags = "wb"; -+ break; -+ -+ case ios_base::out | ios_base::app: -+ flags = "a"; -+ break; -+ -+ case ios_base::out | ios_base::app | ios_base::binary: -+ flags = "ab"; -+ break; -+ -+ case ios_base::in: -+ flags = "r"; -+ break; -+ -+ case ios_base::in | ios_base::binary: -+ flags = "rb"; -+ break; -+ -+ case ios_base::in | ios_base::out: -+ flags = "r+"; -+ break; -+ -+ case ios_base::in | ios_base::out | ios_base::binary: -+ flags = "r+b"; -+ break; -+ -+ -+ case ios_base::in | ios_base::out | ios_base::trunc: -+ flags = "w+"; -+ break; -+ -+ case ios_base::in | ios_base::out | ios_base::trunc | ios_base::binary: -+ flags = "w+b"; -+ break; -+ -+ default: // The above are the only combinations of -+ return false; // flags allowed by the C++ standard. -+ } -+ -+ // fbp : TODO : set permissions ! -+ (void)permission; // currently unused //*TY 02/26/2000 - added to suppress warning message -+ _M_file = fopen(name, flags); -+ -+ if (_M_file) { -+ file_no = fileno(_M_file); -+ } -+ else -+ return false; -+ -+ // unset buffering immediately -+ setbuf(_M_file, 0); -+ -+ _M_is_open = true; -+ -+ if (openmode & ios_base::ate) -+ if (fseek(_M_file, 0, SEEK_END) == -1) -+ _M_is_open = false; -+ -+# elif defined (_STLP_USE_WIN32_IO) -+ -+ DWORD dwDesiredAccess, dwShareMode, dwCreationDisposition; -+ bool doTruncate = false; -+ -+ switch(openmode & (~ios_base::ate & ~ios_base::binary)) { -+ case ios_base::out: -+ case ios_base::out | ios_base::trunc: -+ dwDesiredAccess = GENERIC_WRITE; -+ dwShareMode = FILE_SHARE_READ | FILE_SHARE_WRITE; -+ dwCreationDisposition = OPEN_ALWAYS; -+ // boris : even though it is very non-intuitive, standard -+ // requires them both to behave same. -+ doTruncate = true; -+ break; -+ -+ case ios_base::out | ios_base::app: -+ dwDesiredAccess = GENERIC_WRITE; -+ dwShareMode = FILE_SHARE_READ | FILE_SHARE_WRITE; -+ dwCreationDisposition = OPEN_ALWAYS; -+ break; -+ case ios_base::in: -+ dwDesiredAccess = GENERIC_READ; -+ dwShareMode = FILE_SHARE_READ | FILE_SHARE_WRITE; -+ dwCreationDisposition = OPEN_EXISTING; -+ permission = 0; // Irrelevant unless we're writing. -+ break; -+ case ios_base::in | ios_base::out: -+ dwDesiredAccess = GENERIC_READ | GENERIC_WRITE; -+ dwShareMode = FILE_SHARE_READ | FILE_SHARE_WRITE; -+ dwCreationDisposition = OPEN_EXISTING; -+ break; -+ case ios_base::in | ios_base::out | ios_base::trunc: -+ dwDesiredAccess = GENERIC_READ | GENERIC_WRITE; -+ dwShareMode = FILE_SHARE_READ | FILE_SHARE_WRITE; -+ dwCreationDisposition = OPEN_ALWAYS; -+ doTruncate = true; -+ break; -+ default: // The above are the only combinations of -+ return false; // flags allowed by the C++ standard. -+ } -+ -+ #if defined(_STLP_WINCE) -+ file_no = CreateFile(__ASCIIToWide(name).c_str(), -+ #else -+ file_no = CreateFileA(name, -+ #endif -+ dwDesiredAccess, dwShareMode, 0, -+ dwCreationDisposition, permission, 0); -+ -+ if ( file_no == INVALID_HANDLE_VALUE ) -+ return false; -+ -+ if ((doTruncate && SetEndOfFile(file_no) == 0) || -+ ((openmode & ios_base::ate) && SetFilePointer(file_no, 0, NULL, FILE_END) == -1)) { -+ CloseHandle(file_no); -+ return false; -+ } -+ -+ _M_is_open = true; -+ -+#else -+# error "Port!" -+#endif /* __unix */ -+ -+ -+ _M_file_id = file_no; -+ _M_should_close = _M_is_open; -+ _M_openmode = openmode; -+ -+ if (_M_is_open) -+ _M_regular_file = _SgI::__is_regular_file(_M_file_id); -+ -+ return _M_is_open; -+} -+ -+ -+bool _Filebuf_base::_M_open(const char* name, ios_base::openmode openmode) -+{ -+ // This doesn't really grant everyone in the world read/write -+ // access. On Unix, file-creation system calls always clear -+ // bits that are set in the umask from the permissions flag. -+# ifdef _STLP_USE_WIN32_IO -+ return this->_M_open(name, openmode, FILE_ATTRIBUTE_NORMAL); -+# elif defined(__MRC__) || defined(__SC__) //*TY 02/26/2000 - added support for MPW compilers -+ return this->_M_open(name, openmode, 0); -+# else -+ return this->_M_open(name, openmode, S_IRUSR | S_IWUSR | S_IRGRP | -+ S_IWGRP | S_IROTH | S_IWOTH); -+# endif -+} -+ -+ -+// Associated the filebuf with a file descriptor pointing to an already- -+// open file. Mode is set to be consistent with the way that the file -+// was opened. -+bool _Filebuf_base::_M_open(int file_no, ios_base::openmode init_mode) { -+ -+ if (_M_is_open || file_no < 0) -+ return false; -+ -+# if defined (_STLP_UNIX) -+ (void)init_mode; // dwa 4/27/00 - suppress unused parameter warning -+ int mode ; -+ mode = fcntl(file_no, F_GETFL); -+ -+ if (mode == -1) -+ return false; -+ -+ _M_openmode = _SgI::flag_to_openmode(mode); -+ -+# elif defined(__MRC__) || defined(__SC__) //*TY 02/26/2000 - added support for MPW compilers -+ (void)init_mode; // dwa 4/27/00 - suppress unused parameter warning -+ switch( _iob[file_no]._flag & (_IOREAD|_IOWRT|_IORW) ) -+ { -+ case _IOREAD: -+ _M_openmode = ios_base::in; break; -+ case _IOWRT: -+ _M_openmode = ios_base::out; break; -+ case _IORW: -+ _M_openmode = ios_base::in | ios_base::out; break; -+ default: -+ return false; -+ } -+ -+# elif defined (_STLP_USE_UNIX_EMULATION_IO) || defined (_STLP_USE_STDIO_IO) -+ (void)init_mode; // dwa 4/27/00 - suppress unused parameter warning -+ int mode ; -+ struct stat buf; -+ if (fstat(file_no, &buf) != 0) -+ return false; -+ mode = buf.st_mode; -+ -+ switch(mode & (_S_IWRITE | _S_IREAD) ) { -+ case _S_IREAD: -+ _M_openmode = ios_base::in; break; -+ case _S_IWRITE: -+ _M_openmode = ios_base::out; break; -+ case (_S_IWRITE | _S_IREAD): -+ _M_openmode = ios_base::in | ios_base::out; break; -+ default: -+ return false; -+ } -+# elif (defined(_STLP_USE_WIN32_IO) && defined (_MSC_VER) && !defined(_STLP_WINCE)) || \ -+ (defined(__MINGW32__) && defined(__MSVCRT__)) -+ -+ if (_M_is_open || file_no == -1) -+ return false; -+ -+ HANDLE oshandle = (HANDLE)_get_osfhandle(file_no); -+ -+ if ((long)oshandle != -1) -+ file_no = (int)oshandle; -+ else -+ return false; -+ -+ if (init_mode != ios_base::__default_mode) -+ _M_openmode = init_mode; -+ else -+ _M_openmode = _SgI::_get_osfflags(file_no, oshandle); -+ -+# else -+ (void)init_mode; // dwa 4/27/00 - suppress unused parameter warning -+ -+ // not available for the API -+ return false; -+ -+# endif -+ -+ -+ _M_is_open = true; -+ _M_file_id = (_STLP_fd)file_no; -+ _M_should_close = false; -+ _M_regular_file = _SgI::__is_regular_file(_M_file_id); -+ -+ return true; -+} -+ -+bool _Filebuf_base::_M_close() { -+ if (!_M_is_open) -+ return false; -+ -+ bool ok; -+ -+ if (!_M_should_close) -+ ok = true; -+ else { -+ -+# if defined (_STLP_USE_UNIX_IO) -+ -+ ok = (close(_M_file_id) == 0); -+ -+# elif defined (_STLP_USE_UNIX_EMULATION_IO) -+ -+ ok = (_close(_M_file_id) == 0); -+ -+# elif defined (_STLP_USE_STDIO_IO) -+ -+ ok = (fclose(_M_file) == 0); -+ -+# elif defined (_STLP_USE_WIN32_IO) -+ -+ if ( _M_file_id != INVALID_HANDLE_VALUE ) { -+ ok = (CloseHandle(_M_file_id) != 0); -+ } -+ else { -+ ok = false; -+ } -+ -+# else -+ -+ ok = false; -+ -+# endif /* _STLP_USE_UNIX_IO */ -+ } -+ -+ _M_is_open = _M_should_close = false; -+ _M_openmode = 0; -+ return ok; -+} -+ -+ -+# define _STLP_LF 10 -+# define _STLP_CR 13 -+# define _STLP_CTRLZ 26 -+ -+// Read up to n characters into a buffer. Return value is number of -+// characters read. -+ptrdiff_t _Filebuf_base::_M_read(char* buf, ptrdiff_t n) { -+# if defined (_STLP_USE_UNIX_IO) -+ -+ return read(_M_file_id, buf, n); -+ -+# elif defined (_STLP_USE_UNIX_EMULATION_IO) -+ -+ return _read(_M_file_id, buf, n); -+ -+# elif defined (_STLP_USE_WIN32_IO) -+ -+ DWORD NumberOfBytesRead; -+ ReadFile(_M_file_id, (LPVOID)buf, (DWORD)n, -+ &NumberOfBytesRead, 0); -+ -+ if ((! (_M_openmode & ios_base::binary)) && NumberOfBytesRead) { -+ // translate CR-LFs to LFs in the buffer -+ char * to = buf, * last = buf + NumberOfBytesRead - 1; -+ char * from; -+ for (from = buf; from <= last && * from != _STLP_CTRLZ; ++ from ) { -+ if (* from != _STLP_CR) -+ * to ++ = * from; -+ else { // found CR -+ if (from < last) { // not at buffer end -+ if (* (from + 1) != _STLP_LF) -+ * to ++ = _STLP_CR; -+ } -+ else { // last char is CR, peek for LF -+ char peek = ' '; -+ DWORD NumberOfBytesPeeked; -+ ReadFile(_M_file_id, (LPVOID)&peek, -+ 1, &NumberOfBytesPeeked, 0); -+ if (NumberOfBytesPeeked) -+ SetFilePointer(_M_file_id,(LONG)-1,0,SEEK_CUR); -+ if (peek != _STLP_LF) -+ * to ++ = _STLP_CR; -+ } -+ } // found CR -+ } // for -+ // seek back to TEXT end of file if hit CTRL-Z -+ if (from <= last) // terminated due to CTRLZ -+ SetFilePointer(_M_file_id,(LONG)((last+1) - from),0,SEEK_CUR); -+ NumberOfBytesRead = to - buf; -+ } -+ return (ptrdiff_t)NumberOfBytesRead; -+ -+# elif defined (_STLP_USE_STDIO_IO) -+ -+ return fread(buf, 1, n, _M_file); -+ -+# else -+# error "Port!" -+# endif /* __unix */ -+} -+ -+// Write n characters from a buffer. Return value: true if we managed -+// to write the entire buffer, false if we didn't. -+bool _Filebuf_base::_M_write(char* buf, ptrdiff_t n) { -+ -+ while (true) { -+ ptrdiff_t written; -+ -+# if defined (_STLP_USE_UNIX_IO) -+ -+ written = write(_M_file_id, buf, n); -+ -+# elif defined (_STLP_USE_UNIX_EMULATION_IO) -+ -+ written = _write(_M_file_id, buf, n); -+ -+# elif defined (_STLP_USE_WIN32_IO) -+ -+ // In append mode, every write does an implicit seek to the end -+ // of the file. -+ if (_M_openmode & ios_base::app) -+ _M_seek( 0, ios_base::end); -+ -+ if (_M_openmode & ios_base::binary) { -+ // binary mode -+ DWORD NumberOfBytesWritten; -+ WriteFile(_M_file_id, (LPVOID)buf, (DWORD)n, -+ &NumberOfBytesWritten, 0); -+ written = (ptrdiff_t)NumberOfBytesWritten; -+ } -+ else { -+ char textbuf[_TEXTBUF_SIZE + 1]; // extra 1 in case LF at end -+ char * nextblock = buf, * ptrtextbuf = textbuf; -+ char * endtextbuf = textbuf + _TEXTBUF_SIZE; -+ char * endblock = buf + n; -+ ptrdiff_t nextblocksize = (min) (n, (ptrdiff_t)_TEXTBUF_SIZE); -+ char * nextlf; -+ -+ while ( (nextblocksize > 0) && -+ (nextlf = (char *)memchr(nextblock, _STLP_LF, nextblocksize)) != 0) { -+ ptrdiff_t linelength = nextlf - nextblock; -+ memcpy(ptrtextbuf, nextblock, linelength); -+ ptrtextbuf += linelength; -+ nextblock += (linelength + 1); -+ * ptrtextbuf ++ = _STLP_CR; -+ * ptrtextbuf ++ = _STLP_LF; -+ nextblocksize = (min) (ptrdiff_t(endblock - nextblock), -+ (max) (ptrdiff_t(0), ptrdiff_t(endtextbuf - ptrtextbuf))); -+ } -+ // write out what's left, > condition is here since for LF at the end , -+ // endtextbuf may get < ptrtextbuf ... -+ if (nextblocksize > 0) { -+ memcpy(ptrtextbuf, nextblock, nextblocksize); -+ ptrtextbuf += nextblocksize; -+ nextblock += nextblocksize; -+ } -+ // now write out the translated buffer -+ char * writetextbuf = textbuf; -+ for (ptrdiff_t NumberOfBytesToWrite = ptrtextbuf - textbuf; -+ NumberOfBytesToWrite;) { -+ DWORD NumberOfBytesWritten; -+ WriteFile((HANDLE)_M_file_id, (LPVOID)writetextbuf, -+ NumberOfBytesToWrite, &NumberOfBytesWritten, 0); -+ if (NumberOfBytesWritten == NumberOfBytesToWrite) -+ break; -+ if (!NumberOfBytesWritten) // write shortfall -+ return false; -+ writetextbuf += NumberOfBytesWritten; -+ NumberOfBytesToWrite -= NumberOfBytesWritten; -+ } -+ // count non-translated characters -+ written = (nextblock - buf); -+ } -+ -+# elif defined (_STLP_USE_STDIO_IO) -+ -+ written = fwrite(buf, 1, n, _M_file); -+ -+# else -+# error "Port!" -+# endif /* __unix */ -+ -+ if (n == written) -+ return true; -+ else if (written > 0 && written < n) { -+ n -= written; -+ buf += written; -+ } -+ else -+ return false; -+ } -+} -+ -+ -+#ifdef _STLP_USE_WIN32_IO -+# define STL_SEEK_SET FILE_BEGIN -+# define STL_SEEK_CUR FILE_CURRENT -+# define STL_SEEK_END FILE_END -+#else -+# define STL_SEEK_SET SEEK_SET -+# define STL_SEEK_CUR SEEK_CUR -+# define STL_SEEK_END SEEK_END -+#endif -+ -+// Wrapper for lseek or the like. -+streamoff _Filebuf_base::_M_seek(streamoff offset, ios_base::seekdir dir) -+{ -+ streamoff result = -1; -+ -+ int whence; -+ -+ switch(dir) { -+ case ios_base::beg: -+ if (offset < 0 /* || offset > _M_file_size() */ ) -+ return streamoff(-1); -+ whence = STL_SEEK_SET; -+ break; -+ case ios_base::cur: -+ whence = STL_SEEK_CUR; -+ break; -+ case ios_base::end: -+ if (/* offset > 0 || */ -offset > _M_file_size() ) -+ return streamoff(-1); -+ whence = STL_SEEK_END; -+ break; -+ default: -+ return streamoff(-1); -+ } -+ -+#if defined (_STLP_USE_UNIX_IO) || defined (_STLP_USE_UNIX_EMULATION_IO) -+ -+ result = LSEEK(_M_file_id, offset, whence); -+ -+#elif defined (_STLP_USE_STDIO_IO) -+ -+ result = fseek(_M_file, offset, whence); -+ -+#elif defined (_STLP_USE_WIN32_IO) -+ -+ LARGE_INTEGER li; -+ li.QuadPart = offset; -+ li.LowPart = SetFilePointer(_M_file_id, li.LowPart, &li.HighPart, whence); -+ if (li.LowPart == 0xFFFFFFFF && GetLastError() != NO_ERROR) -+ result = -1; // Error -+ else -+ result = li.QuadPart; -+ -+#else -+# error "Port!" -+#endif -+ -+ return result; -+} -+ -+// Attempts to memory-map len bytes of the current file, starting -+// at position offset. Precondition: offset is a multiple of the -+// page size. Postcondition: return value is a null pointer if the -+// memory mapping failed. Otherwise the return value is a pointer to -+// the memory-mapped file and the file position is set to offset. -+void* _Filebuf_base::_M_mmap(streamoff offset, streamoff len) { -+ void* base; -+#if defined (_STLP_UNIX) && !defined(__DJGPP) -+ base = MMAP(0, len, PROT_READ, MAP_PRIVATE, _M_file_id, offset); -+ if (base != (void*)MAP_FAILED) { -+ if (LSEEK(_M_file_id, offset + len, SEEK_SET) < 0) { -+ this->_M_unmap(base, len); -+ base = 0; -+ } -+ } else -+ base =0; -+ -+#elif defined (_STLP_USE_WIN32_IO) -+ -+ _M_view_id = CreateFileMapping(_M_file_id, (PSECURITY_ATTRIBUTES)0 , -+ PAGE_READONLY, 0 /* len >> 32 */ , -+ 0 /* len & 0xFFFFFFFF */ , // low-order DWORD of size -+ 0); -+ -+ if (_M_view_id) { -+# if 0 -+ printf("view %x created from file %x, error = %d, size = %d, map_offset = %d map_len = %d\n", -+ _M_view_id, _M_file_id, GetLastError(), -+ (int)cur_filesize, ULL(offset) & 0xffffffff, len); -+# endif -+ -+ base = MapViewOfFile(_M_view_id, FILE_MAP_READ, ULL(offset)>>32, -+ ULL(offset) & 0xffffffff, len); -+ // check if mapping succeded and is usable -+ if (base ==0 || _M_seek(offset+len, ios_base::beg) < 0) { -+ this->_M_unmap(base, len); -+ base = 0; -+ } -+ } else -+ base = 0; -+#else -+ (void)len; //*TY 02/26/2000 - unused variables -+ (void)offset; //*TY 02/26/2000 - -+ base = 0; -+#endif -+ return base; -+} -+ -+void _Filebuf_base::_M_unmap(void* base, streamoff len) { -+ // precondition : there is a valid mapping at the moment -+#if defined (_STLP_UNIX) && !defined(__DJGPP) -+ munmap((char*)base, len); -+#elif defined (_STLP_USE_WIN32_IO) -+ if ( base != NULL ) -+ UnmapViewOfFile(base); -+ // destroy view handle as well -+ if ( _M_view_id != NULL ) -+ CloseHandle(_M_view_id); -+ _M_view_id = 0; -+ base = 0; -+#else -+ (void)len; //*TY 02/26/2000 - unused variables -+ (void)base; //*TY 02/26/2000 - -+#endif -+} -+ -+// fbp : let us map 1 MB maximum, just be sure not to trash VM -+# define MMAP_CHUNK 0x100000UL -+ -+int _STLP_CALL -+_Underflow >::_M_doit (basic_filebuf >* __this) -+{ -+ if (!__this->_M_in_input_mode) { -+ if (!__this->_M_switch_to_input_mode()) -+ return traits_type::eof(); -+ } -+ -+ else if (__this->_M_in_putback_mode) { -+ __this->_M_exit_putback_mode(); -+ if (__this->gptr() != __this->egptr()) { -+ int_type __c = traits_type::to_int_type(*__this->gptr()); -+ return __c; -+ } -+ } -+ -+ // If it's a disk file, and if the internal and external character -+ // sequences are guaranteed to be identical, then try to use memory -+ // mapped I/O. Otherwise, revert to ordinary read. -+ if (__this->_M_base.__regular_file() -+ && __this->_M_always_noconv -+ && __this->_M_base._M_in_binary_mode()) { -+ // If we've mmapped part of the file already, then unmap it. -+ if (__this->_M_mmap_base) -+ __this->_M_base._M_unmap(__this->_M_mmap_base, __this->_M_mmap_len); -+ __this->_M_mmap_base = 0; -+ __this->_M_mmap_len = 0; -+ -+ // Determine the position where we start mapping. It has to be -+ // a multiple of the page size. -+ streamoff __cur = __this->_M_base._M_seek(0, ios_base::cur); -+ streamoff __size = __this->_M_base._M_file_size(); -+ if (__size > 0 && __cur >= 0 && __cur < __size) { -+ streamoff __offset = (__cur / __this->_M_base.__page_size()) -+ * __this->_M_base.__page_size(); -+ streamoff __remainder = __cur - __offset; -+ -+ __this->_M_mmap_len = __size - __offset; -+ -+ if (__this->_M_mmap_len > MMAP_CHUNK) -+ __this->_M_mmap_len = MMAP_CHUNK; -+ -+ if ((__this->_M_mmap_base = -+ __this->_M_base._M_mmap(__offset, __this->_M_mmap_len)) != 0) { -+ __this->setg((char*) __this->_M_mmap_base, -+ (char*) __this->_M_mmap_base + __remainder, -+ (char*) __this->_M_mmap_base + __this->_M_mmap_len); -+ return traits_type::to_int_type(*__this->gptr()); -+ } -+ } else /* size > 0 ... */ { -+ // There is nothing to map. We unmapped the file above, now zap pointers. -+ __this->_M_mmap_base = 0; -+ __this->_M_mmap_len = 0; -+ } -+ } -+ -+ return __this->_M_underflow_aux(); -+} -+ -+ -+//---------------------------------------------------------------------- -+// Force instantiation of filebuf and fstream classes. -+#if !defined(_STLP_NO_FORCE_INSTANTIATE) -+ -+template class basic_filebuf >; -+template class basic_ifstream >; -+template class basic_ofstream >; -+template class basic_fstream >; -+ -+# ifndef _STLP_NO_WCHAR_T -+template class _Underflow >; -+template class basic_filebuf >; -+template class basic_ifstream >; -+template class basic_ofstream >; -+template class basic_fstream >; -+# endif /* _STLP_NO_WCHAR_T */ -+ -+#endif -+ -+_STLP_END_NAMESPACE -+ -+// Local Variables: -+// mode:C++ -+// End: -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/fstream_impl.h tripwire-2.3.1-2/src/STLport-4.0/src/fstream_impl.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/fstream_impl.h Sat Feb 24 10:44:09 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/fstream_impl.h Sun Aug 11 18:59:22 2002 -@@ -21,33 +21,33 @@ - - #include - --# ifdef __STL_HAS_NO_NAMESPACES -+# ifdef _STLP_HAS_NO_NAMESPACES - # define __SGI_BEGIN_NAMESPACE - # define __SGI_END_NAMESPACE --# define SGI -+# define _SgI - # else --# define __SGI_BEGIN_NAMESPACE namespace SGI { -+# define __SGI_BEGIN_NAMESPACE namespace _SgI { - # define __SGI_END_NAMESPACE } - # endif - - __SGI_BEGIN_NAMESPACE - --# ifndef __STL_HAS_NO_NAMESPACES --using __STLPORT_STD::streamoff; --using __STLPORT_STD::ios_base; --using __STLPORT_STD::streamsize; --using __STLPORT_STD::streamoff; --using __STLPORT_STD::char_traits; --# ifndef __STL_USE_UNIX_IO --using __STL_VENDOR_CSTD::FILE; --using __STL_VENDOR_CSTD::ftell; -+# ifndef _STLP_HAS_NO_NAMESPACES -+using _STLP_STD::streamoff; -+using _STLP_STD::ios_base; -+using _STLP_STD::streamsize; -+using _STLP_STD::streamoff; -+using _STLP_STD::char_traits; -+# ifndef _STLP_USE_UNIX_IO -+using _STLP_VENDOR_CSTD::FILE; -+using _STLP_VENDOR_CSTD::ftell; - # endif - --using __STLPORT_STD::_FILE_fd; -+using _STLP_STD::_FILE_fd; - # endif - --extern bool __is_regular_file(_STL_fd fd); --extern streamoff __file_size(_STL_fd fd); -+extern bool __is_regular_file(_STLP_fd fd); -+extern streamoff __file_size(_STLP_fd fd); - - __SGI_END_NAMESPACE - -Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: fstream_w.cpp -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-99r1-sun.mak tripwire-2.3.1-2/src/STLport-4.0/src/gcc-99r1-sun.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-99r1-sun.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/gcc-99r1-sun.mak Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,66 @@ -+# -+# Note : this makefile is for gcc-2.95 and later ! -+# -+ -+# -+# compiler -+# -+CC = gcc -+CXX = c++ -pthreads -+ -+# -+# Basename for libraries -+# -+LIB_BASENAME = libstlport_gcc99r1 -+ -+# -+# guts for common stuff -+# -+# -+LINK=ar cr -+# 2.95 flag -+DYN_LINK=c++ -pthreads -shared -o -+ -+OBJEXT=o -+DYNEXT=so -+STEXT=a -+RM=rm -rf -+PATH_SEP=/ -+MKDIR=mkdir -p -+COMP=GCC-99r1 -+INSTALL_STEP = install_unix -+ -+all: all_dynamic all_static symbolic_links -+ -+include common_macros.mak -+ -+WARNING_FLAGS= -Wall -W -Wno-sign-compare -Wno-unused -Wno-uninitialized -+ -+CXXFLAGS_COMMON = -nostdinc++ -fexceptions -ftemplate-depth-32 -D_STLP_HAS_NO_NAMESPACES -shared -I${STLPORT_DIR} ${WARNING_FLAGS} -+ -+CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O2 -+CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -O2 -fPIC -+ -+CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -gstabs -+CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -gstabs -fPIC -+ -+CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG -+CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG -+ -+LDFLAGS_RELEASE_dynamic = ${CXXFLAGS_RELEASE_dynamic} -+ -+LDFLAGS_DEBUG_dynamic = ${CXXFLAGS_DEBUG_dynamic} -+ -+LDFLAGS_STLDEBUG_dynamic = ${CXXFLAGS_STLDEBUG_dynamic} -+ -+LDLIBS_RELEASE_dynamic = -lposix4 -+ -+LDLIBS_STLDEBUG_dynamic = -lposix4 -+ -+include common_percent_rules.mak -+include common_rules.mak -+ -+#%.s: %.cpp -+# $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ -+ -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-amigaos-m68k.mak tripwire-2.3.1-2/src/STLport-4.0/src/gcc-amigaos-m68k.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-amigaos-m68k.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/gcc-amigaos-m68k.mak Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,46 @@ -+# -+# Note : this makefile is for gcc-2.95.3 and later ! -+# -+ -+# -+# compiler -+# -+CC = gcc -noixemul -m68020 -+CXX = g++ -noixemul -m68020 -ftemplate-depth-32 -+ -+# -+# Basename for libraries -+# -+LIB_BASENAME = libstlport_gcc -+ -+# -+# guts for common stuff -+# -+# -+LINK=ar cr -+OBJEXT=o -+STEXT=a -+RM=rm -rf -+PATH_SEP=/ -+MKDIR=mkdir -p -+COMP=GCC$(ARCH) -+ -+all: release_static -+ -+include common_macros.mak -+ -+WARNING_FLAGS= -Wall -W -Wno-sign-compare -Wno-unused -Wno-uninitialized -+ -+CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} -+ -+CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O2 -+ -+CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -g -+ -+CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG -+ -+include common_percent_rules.mak -+include common_rules.mak -+ -+$(OUTDIR)$(PATH_SEP)$(RELEASE_LIB) : $(OUTDIR) $(RELEASE_OBJDIR_static) $(DEF_FILE) $(RELEASE_OBJECTS_static) -+ $(LINK) $(LINK_OUT)$(OUTDIR)$(PATH_SEP)$(RELEASE_LIB) $(LDFLAGS_RELEASE_static) $(RELEASE_OBJDIR_static)$(PATH_SEP)*.$(OBJEXT) $(LDLIBS_RELEASE_static) -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-apple-macosx.mak tripwire-2.3.1-2/src/STLport-4.0/src/gcc-apple-macosx.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-apple-macosx.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/gcc-apple-macosx.mak Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,52 @@ -+# -+# Note : this makefile is for gcc-2.95 and later ! -+# -+ -+# -+# compiler -+# -+CC = cc -+CXX = cc -+ -+# -+# Basename for libraries -+# -+LIB_BASENAME = libstlport_gcc -+ -+# -+# guts for common stuff -+# -+# -+LINK=libtool -static -o -+# 2.95 flag -+DYN_LINK=libtool -dynamic -framework System -lcc_dynamic -lstdc++ -install_name @executable_path/$(@F) -o -+ -+OBJEXT=o -+DYNEXT=dylib -+STEXT=a -+RM=rm -Rf -+PATH_SEP=/ -+MKDIR=mkdir -p -+COMP=GCC$(ARCH) -+INSTALL_STEP = install_unix -+ -+all: all_dynamic all_static -+ -+include common_macros.mak -+ -+WARNING_FLAGS= -W -Wno-sign-compare -Wno-unused -Wno-uninitialized -+ -+CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} -traditional-cpp -fno-coalesce -+ -+CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O2 -+CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -O2 -fPIC -+ -+CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -O -g -+CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -O -g -fPIC -+ -+CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG -+CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG -fPIC -+ -+include common_percent_rules.mak -+include common_rules.mak -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-beos.mak tripwire-2.3.1-2/src/STLport-4.0/src/gcc-beos.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-beos.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/gcc-beos.mak Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,63 @@ -+# -+# compiler -+# -+CC = gcc -+CXX = c++ -+ -+# -+# Basename for libraries -+# -+LIB_BASENAME = libstlport_gcc -+ -+# -+# guts for common stuff -+# -+# -+LINK=ar crv -+DYN_LINK=g++ -nostart -o -+ -+OBJEXT=o -+DYNEXT=so -+STEXT=a -+RM=rm -rf -+PATH_SEP=/ -+MKDIR=mkdir -p -+COMP=GCC-BEOS -+ -+all: msg all_static -+ -+msg: -+ mkdir -p ../stlport/beos -+ ./beos-setup -setup -+ -+include common_macros.mak -+ -+WARNING_FLAGS= -W -Wno-sign-compare -Wno-unused -Wno-uninitialized -+ -+# boris : real locale implementation does not really work -+# CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} -D_STLP_REAL_LOCALE_IMPLEMENTED -+CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} -+ -+CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O2 -+CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -O2 -fPIC -+ -+CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -O -g -+CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -O -g -fPIC -+ -+CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG -+CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG -fPIC -+ -+include common_percent_rules.mak -+include common_rules.mak -+ -+ -+install: all -+ ./beos-setup -install -+ -+uninstall: -+ ./beos-setup -uninstall -+ -+#%.s: %.cpp -+# $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ -+ -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-cygwin.mak tripwire-2.3.1-2/src/STLport-4.0/src/gcc-cygwin.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-cygwin.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/gcc-cygwin.mak Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,62 @@ -+# -+# compiler -+# -+CC = gcc -+CXX = c++ -+ -+COMP = cygwin -+ -+# -+# Basename for libraries -+# -+LIB_BASENAME = libstlport_cygwin -+ -+# -+# guts for common stuff -+# -+# -+LINK=ar crv -+DYN_LINK=c++ -o -+ -+OBJEXT=o -+DYNEXT=dll -+STEXT=a -+RM=rm -rf -+PATH_SEP=/ -+MKDIR=mkdir -p -+COMP=cygwin -+ -+# STATIC_SUFFIX=_static -+ -+all: all_static -+INSTALL_STEP = install_unix -+ -+include common_macros.mak -+ -+WARNING_FLAGS= -W -Wno-sign-compare -Wno-unused -Wno-uninitialized -+ -+CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} -+ -+CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O2 -+CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -O2 -D_STLP_USE_DYNAMIC_LIB -+ -+CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -O -g -+CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -O -g -D_STLP_USE_DYNAMIC_LIB -+ -+CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG -+CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG -D_STLP_USE_DYNAMIC_LIB -+ -+LDFLAGS_RELEASE_static = -+LDFLAGS_RELEASE_dynamic = ${CXXFLAGS_RELEASE_dynamic} -Wl,-d -+ -+LDFLAGS_DEBUG_static = -+LDFLAGS_DEBUG_dynamic = ${CXXFLAGS_DEBUG_dynamic} -Wl,--export-all-symbols -Wl,-d -Wl,--out-implib,${OUTDIR}/${DEBUG_NAME}.a -+ -+LDFLAGS_STLDEBUG_static = -+LDFLAGS_STLDEBUG_dynamic = ${CXXFLAGS_STLDEBUG_dynamic} -Wl,--export-all-symbols -Wl,--out-implib,${OUTDIR}/${STLDEBUG_NAME}.a -+ -+include common_percent_rules.mak -+ -+include common_rules.mak -+ -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-freebsd.mak tripwire-2.3.1-2/src/STLport-4.0/src/gcc-freebsd.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-freebsd.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/gcc-freebsd.mak Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,63 @@ -+# -+# Note : this makefile is for gcc-2.95 and later ! -+# -+ -+# -+# compiler -+# -+CC = gcc -pthread -+CXX = c++ -pthread -fexceptions -+ -+# -+# Basename for libraries -+# -+LIB_BASENAME = libstlport_gcc -+ -+# -+# guts for common stuff -+# -+# -+LINK=ar cr -+# 2.95 flag -+DYN_LINK=c++ -pthread -fexceptions -shared -o -+ -+OBJEXT=o -+DYNEXT=so -+STEXT=a -+RM=rm -rf -+PATH_SEP=/ -+MKDIR=mkdir -p -+COMP=GCC-FREEBSD -+INSTALL_STEP = install_unix -+ -+all: gmake_message all_dynamic all_static symbolic_links -+ -+gmake_message: -+ echo "Note : this makefile requires gmake on FreeBSD" -+ -+include common_macros.mak -+ -+WARNING_FLAGS= -Wall -W -Wno-sign-compare -Wno-unused -Wno-uninitialized -ftemplate-depth-32 -+ -+CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} -+ -+CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O2 -+CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -O2 -fPIC -+ -+CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -O -g -+CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -O -g -fPIC -+ -+CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG -+CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG -fPIC -+ -+include common_percent_rules.mak -+include common_rules.mak -+ -+ -+#install: all -+# cp -p $(LIB_TARGET) ${D_LIB_TARGET} ../lib -+ -+#%.s: %.cpp -+# $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ -+ -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-glibc.mak tripwire-2.3.1-2/src/STLport-4.0/src/gcc-glibc.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-glibc.mak Sat Feb 24 10:44:09 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/gcc-glibc.mak Sun Aug 11 18:59:22 2002 -@@ -23,28 +23,29 @@ - PATH_SEP=/ - MKDIR=mkdir -p - COMP=GCC$(ARCH) -+INSTALL_STEP = install_unix - --all: msg all_dynamic all_static -+all: msg all_dynamic all_static symbolic_links - - msg: - @echo "*** ATTENTION! ***" - @echo "This makefile tries to use system locale which might not work well with all glibc flavours." -- @echo "If build fails, please resort to gcc.mak which will build C-locale only version for STLport 4.0" -+ @echo "If build fails, please resort to gcc.mak which will build C-locale only version for STLport" - @echo "******************" - include common_macros.mak - --WARNING_FLAGS= -W -Wno-sign-compare -Wno-unused -Wno-uninitialized -D__STL_USE_GLIBC -+WARNING_FLAGS= -W -Wno-sign-compare -Wno-unused -Wno-uninitialized -D_STLP_USE_GLIBC - --CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} -D__STL_REAL_LOCALE_IMPLEMENTED -+CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} -D_STLP_REAL_LOCALE_IMPLEMENTED - - CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O2 - CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -O2 -fpic - --CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -g --CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -g -fpic -+CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -O -g -+CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -O -g -fpic - --CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D__STL_DEBUG --CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D__STL_DEBUG -fpic -+CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG -+CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG -fpic - - include common_percent_rules.mak - include common_rules.mak -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-hp.mak tripwire-2.3.1-2/src/STLport-4.0/src/gcc-hp.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-hp.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/gcc-hp.mak Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,69 @@ -+# -+# Note : this makefile is for gcc-2.95 and later (HP-UX)! -+# -+ -+# -+# compiler -+# -+CC = gcc -+CXX = c++ -pthreads -+ -+# -fkeep-inline-functions -+# -finline-functions -+# -fno-default-inline -+ -+# -+# Basename for libraries -+# -+LIB_BASENAME = libstlport_gcc -+ -+# -+# guts for common stuff -+# -+# -+LINK=ar cr -+# 2.95 flag -+# DYN_LINK=c++ -pthreads -fPIC -shared -o -+# DYN_LINK=c++ -pthreads -nostdinc++ -fexceptions -frtti -fPIC -O -fno-implement-inlines -Winline -Wextern-inline -shared -D_STLP_DEBUG -o -+# DYN_LINK=ld -shared -export-dynamic -Bdynamic -Bsymbolic -Ur -o -+DYN_LINK=ld -z -b -o -+ -+OBJEXT=o -+DYNEXT=sl -+STEXT=a -+RM=rm -rf -+PATH_SEP=/ -+MKDIR=mkdir -p -+COMP=GCC-HP -+INSTALL_STEP = install_unix -+ -+all: all_dynamic all_static symbolic_links -+ -+include common_macros.mak -+ -+WARNING_FLAGS= -Wall -W -Wno-sign-compare -Wno-unused -Wno-uninitialized -+ -+# CXXFLAGS_COMMON = -ftemplate-depth-32 -I${STLPORT_DIR} ${WARNING_FLAGS} -+CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} -+ -+CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O -+CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -O -fPIC -+ -+CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -O -g -+CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -O -g -fPIC -+ -+CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG -+CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG -+ -+LDFLAGS_RELEASE_dynamic = ${CXXFLAGS_RELEASE_dynamic} -Wl,+h${RELEASE_DYNLIB_SONAME} -+LDFLAGS_DEBUG_dynamic = ${CXXFLAGS_DEBUG_dynamic} -Wl,+h${DEBUG_DYNLIB_SONAME} -+LDFLAGS_STLDEBUG_dynamic = ${CXXFLAGS_STLDEBUG_dynamic} -Wl,+h${STLDEBUG_DYNLIB_SONAME} -+ -+include common_percent_rules.mak -+include common_rules.mak -+ -+#install: all -+# cp -p $(LIB_TARGET) ${D_LIB_TARGET} ../lib -+ -+#%.s: %.cpp -+# $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-hp11.mak tripwire-2.3.1-2/src/STLport-4.0/src/gcc-hp11.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-hp11.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/gcc-hp11.mak Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,75 @@ -+# -+# Note : this makefile is for gcc-2.95 and later (HP-UX)! -+# -+ -+# -+# compiler -+# -+CC = gcc -+CXX = c++ -+ -+# -fkeep-inline-functions -+# -finline-functions -+# -fno-default-inline -+ -+# -+# Basename for libraries -+# -+LIB_BASENAME = libstlport_gcc -+ -+# -+# guts for common stuff -+# -+# -+LINK=ar cr -+# 2.95 flag -+# DYN_LINK=c++ -pthreads -fPIC -shared -o -+# DYN_LINK=c++ -pthreads -nostdinc++ -fexceptions -frtti -fPIC -O -fno-implement-inlines -Winline -Wextern-inline -shared -D_STLP_DEBUG -o -+# DYN_LINK=ld -shared -export-dynamic -Bdynamic -Bsymbolic -Ur -o -+# DYN_LINK=/usr/bin/ld -z -b -o -+ -+DYN_LINK= c++ -shared -o -+ -+OBJEXT=o -+DYNEXT=sl -+STEXT=a -+RM=rm -rf -+PATH_SEP=/ -+MKDIR=mkdir -p -+COMP=GCC-HP -+INSTALL_STEP = install_unix -+ -+all: all_dynamic all_static symbolic_links -+ -+include common_macros.mak -+ -+WARNING_FLAGS= -Wall -W -Wno-sign-compare -Wno-unused -Wno-uninitialized -D_REENTRANT -D_POSIX_C_SOURCE=199506L -D__EXTENSIONS__ -+ -+# CXXFLAGS_COMMON = -ftemplate-depth-32 -I${STLPORT_DIR} ${WARNING_FLAGS} -+CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} -+ -+CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O -+CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -O -fPIC -+ -+CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -O -g -+CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -O -g -fPIC -+ -+CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG -+CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG -+ -+# LDFLAGS_RELEASE_dynamic = ${CXXFLAGS_RELEASE_dynamic} -Wl,+h${RELEASE_DYNLIB_SONAME} -+# LDFLAGS_DEBUG_dynamic = ${CXXFLAGS_DEBUG_dynamic} -Wl,+h${DEBUG_DYNLIB_SONAME} -+# LDFLAGS_STLDEBUG_dynamic = ${CXXFLAGS_STLDEBUG_dynamic} -Wl,+h${STLDEBUG_DYNLIB_SONAME} -+ -+LDFLAGS_RELEASE_dynamic = ${CXXFLAGS_RELEASE_dynamic} -+LDFLAGS_DEBUG_dynamic = ${CXXFLAGS_DEBUG_dynamic} -+LDFLAGS_STLDEBUG_dynamic = ${CXXFLAGS_STLDEBUG_dynamic} -+ -+include common_percent_rules.mak -+include common_rules.mak -+ -+#install: all -+# cp -p $(LIB_TARGET) ${D_LIB_TARGET} ../lib -+ -+#%.s: %.cpp -+# $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-irix.mak tripwire-2.3.1-2/src/STLport-4.0/src/gcc-irix.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-irix.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/gcc-irix.mak Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,51 @@ -+# -+# Note : this makefile is for gcc-2.95 and later ! -+# -+ -+# -+# compiler -+# -+CC = gcc -+CXX = c++ -fexceptions -+ -+# -+# Basename for libraries -+# -+LIB_BASENAME = libstlport_gcc -+ -+# -+# guts for common stuff -+# -+# -+LINK=ar cr -+# 2.95 flag -+DYN_LINK=c++ -lpthread -fexceptions -shared -o -+ -+OBJEXT=o -+DYNEXT=so -+STEXT=a -+RM=rm -rf -+PATH_SEP=/ -+MKDIR=mkdir -p -+COMP=GCC$(ARCH) -+INSTALL_STEP = install_unix -+ -+all: all_dynamic all_static symbolic_links -+ -+include common_macros.mak -+ -+WARNING_FLAGS= -Wall -W -Wno-sign-compare -Wno-unused -Wno-uninitialized -ftemplate-depth-32 -+ -+CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} -+ -+CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O2 -+CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -O2 -fPIC -+ -+CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -O -g -+CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -O -g -fPIC -+ -+CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG -+CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG -+ -+include common_percent_rules.mak -+include common_rules.mak -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-linux.mak tripwire-2.3.1-2/src/STLport-4.0/src/gcc-linux.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-linux.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/gcc-linux.mak Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,62 @@ -+# -+# compiler -+# -+CC = gcc -+CXX = c++ -pthread -fexceptions -+ -+# -+# Basename for libraries -+# -+LIB_BASENAME = libstlport_gcc -+ -+# -+# guts for common stuff -+# -+# -+LINK=ar crv -+DYN_LINK=gcc -shared -o -+ -+OBJEXT=o -+DYNEXT=so -+STEXT=a -+RM=rm -rf -+PATH_SEP=/ -+MKDIR=mkdir -p -+COMP=GCC-LINUX -+INSTALL_STEP = install_unix -+ -+all: msg all_dynamic all_static symbolic_links -+ -+msg: -+ @echo "*** ATTENTION! ***" -+ @echo "This makefile tries to use system locale which might not work well with all glibc flavours." -+ @echo "If build fails, please resort to gcc.mak which will build C-locale only version for STLport" -+ @echo "******************" -+include common_macros.mak -+ -+WARNING_FLAGS= -W -Wno-sign-compare -Wno-unused -Wno-uninitialized -D_STLP_USE_GLIBC -+ -+# boris : real locale implementation may not really work -+# CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} -D_STLP_REAL_LOCALE_IMPLEMENTED -+CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} -+ -+CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O2 -+CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -O2 -fPIC -+ -+CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -O -g -+CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -O -g -fPIC -+ -+CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG -+CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG -fPIC -+ -+include common_percent_rules.mak -+include common_rules.mak -+ -+ -+#install: all -+# cp -p $(LIB_TARGET) ${D_LIB_TARGET} ../lib -+ -+#%.s: %.cpp -+# $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ -+ -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-mingw32.mak tripwire-2.3.1-2/src/STLport-4.0/src/gcc-mingw32.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-mingw32.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/gcc-mingw32.mak Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,78 @@ -+# -+# compiler -+# -+CC = gcc -+CXX = c++ -+ -+# -+# Basename for libraries -+# -+LIB_BASENAME = libstlport_mingw32 -+ -+# -+# guts for common stuff -+# -+# -+LINK=ar crv -+DYN_LINK=c++ -shared -o -+ -+OBJEXT=o -+DYNEXT=dll -+STEXT=a -+RM=rm -rf -+PATH_SEP=/ -+MKDIR=mkdir -p -+COMP=MINGW32 -+ -+STATIC_SUFFIX=_static -+ -+all: all_dynamic all_static -+ -+include common_macros.mak -+ -+RESFILE=$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)stlport.o -+RESFILE_debug=$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)stlport.o -+RESFILE_stldebug=$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)stlport.o -+ -+WARNING_FLAGS= -W -Wno-sign-compare -Wno-unused -Wno-uninitialized -+ -+CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} -+ -+CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O2 -+# CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -O2 -shared -D_STLP_USE_DYNAMIC_LIB -+CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -O2 -D_STLP_USE_DYNAMIC_LIB -+ -+CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -O -g -+CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -O -g -shared -D_STLP_USE_DYNAMIC_LIB -+ -+CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG -+CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG -shared -D_STLP_USE_DYNAMIC_LIB -+ -+LDFLAGS_RELEASE_static = -+# LDFLAGS_RELEASE_dynamic = ${CXXFLAGS_RELEASE_dynamic} -Wl,--no-undefined, -Wl,--export-all-symbols -Wl,-d -Wl,--out-implib,${OUTDIR}/${RELEASE_NAME}.a -+LDFLAGS_RELEASE_dynamic = ${CXXFLAGS_RELEASE_dynamic} -Wl,--export-all-symbols -Wl,-d -Wl,--out-implib,${OUTDIR}/${RELEASE_NAME}.a -+ -+LDFLAGS_DEBUG_static = -+LDFLAGS_DEBUG_dynamic = ${CXXFLAGS_DEBUG_dynamic} -Wl,--export-all-symbols -Wl,-d -Wl,--out-implib,${OUTDIR}/${DEBUG_NAME}.a -+ -+LDFLAGS_STLDEBUG_static = -+LDFLAGS_STLDEBUG_dynamic = ${CXXFLAGS_STLDEBUG_dynamic} -Wl,--export-all-symbols -Wl,--out-implib,${OUTDIR}/${STLDEBUG_NAME}.a -+ -+ -+include common_percent_rules.mak -+include common_rules.mak -+ -+ -+${RESFILE}: stlport.rc -+ windres -O coff --define COMP=${COMP} --define BUILD= -o $(RELEASE_OBJDIR_dynamic)$(PATH_SEP)stlport.o stlport.rc -+ -+${RESFILE_debug}: stlport.rc -+ windres -O coff --define COMP=${COMP} --define BUILD=_DEBUG -o $(DEBUG_OBJDIR_dynamic)$(PATH_SEP)stlport.o stlport.rc -+ -+${RESFILE_stldebug}: stlport.rc -+ windres -O coff --define COMP=${COMP} --define BUILD=_STLDEBUG -o $(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)stlport.o stlport.rc -+ -+#%.s: %.cpp -+# $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ -+ -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-ncr.mak tripwire-2.3.1-2/src/STLport-4.0/src/gcc-ncr.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-ncr.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/gcc-ncr.mak Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,60 @@ -+# -+# Note : this makefile is for gcc-2.95 and later ! -+# -+ -+# -+# compiler -+# -+CC = gcc -+CXX = c++ -fexceptions -+ -+# -+# Basename for libraries -+# -+LIB_BASENAME = libstlport_gcc -+ -+# -+# guts for common stuff -+# -+# -+LINK=ar cr -+# 2.95 flag -+DYN_LINK=c++ -pthreads -fexceptions -shared -o -+ -+OBJEXT=o -+DYNEXT=so -+STEXT=a -+RM=rm -rf -+PATH_SEP=/ -+MKDIR=mkdir -p -+COMP=GCC-NCR -+INSTALL_STEP = install_unix -+ -+all: all_dynamic all_static symbolic_links -+ -+include common_macros.mak -+ -+WARNING_FLAGS= -Wall -W -Wno-sign-compare -Wno-unused -Wno-uninitialized -ftemplate-depth-32 -+ -+CXXFLAGS_COMMON = -D__NCR_SVR -I${STLPORT_DIR} ${WARNING_FLAGS} -+ -+CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O2 -+CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -O2 -fPIC -+ -+CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -g -+CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -g -fPIC -+ -+CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG -+CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG -+ -+include common_percent_rules.mak -+include common_rules.mak -+ -+ -+#install: all -+# cp -p $(LIB_TARGET) ${D_LIB_TARGET} ../lib -+ -+#%.s: %.cpp -+# $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ -+ -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-netbsd.mak tripwire-2.3.1-2/src/STLport-4.0/src/gcc-netbsd.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-netbsd.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/gcc-netbsd.mak Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,60 @@ -+# -+# Note : this makefile is for gcc-2.95 and later ! -+# -+ -+# -+# compiler -+# -+CC = gcc -+CXX = c++ -fexceptions -+ -+# -+# Basename for libraries -+# -+LIB_BASENAME = libstlport_gcc -+ -+# -+# guts for common stuff -+# -+# -+LINK=ar crv -+# 2.95 flag -+DYN_LINK=c++ -lpthread -fexceptions -shared -fPIC -o -+ -+OBJEXT=o -+DYNEXT=so -+STEXT=a -+RM=rm -rf -+PATH_SEP=/ -+MKDIR=mkdir -p -+COMP=GCC-NETBSD -+INSTALL_STEP = install_unix -+ -+all: all_dynamic all_static symbolic_links -+ -+include common_macros.mak -+ -+WARNING_FLAGS= -Wall -W -Wno-sign-compare -Wno-unused -Wno-uninitialized -ftemplate-depth-32 -+ -+CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} -+ -+CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O2 -+CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -O2 -fPIC -+ -+CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -O -g -+CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -O -g -fPIC -+ -+CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG -+CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG -fPIC -+ -+include common_percent_rules.mak -+include common_rules.mak -+ -+ -+#install: all -+# cp -p $(LIB_TARGET) ${D_LIB_TARGET} ../lib -+ -+#%.s: %.cpp -+# $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ -+ -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-sun.mak tripwire-2.3.1-2/src/STLport-4.0/src/gcc-sun.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc-sun.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/gcc-sun.mak Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,71 @@ -+# -+# Note : this makefile is for gcc-2.95 and later ! -+# -+ -+# -+# compiler -+# -+CC = gcc -+CXX = c++ -pthreads -+ -+CUR_DIR= ${PWD}/ -+ -+STLPORT_DIR=${PWD}/../stlport -+ -+# -+# Basename for libraries -+# -+LIB_BASENAME = libstlport_gcc -+ -+# -+# guts for common stuff -+# -+# -+LINK=ar cr -+# 2.95 flag -+DYN_LINK=c++ -pthreads -shared -o -+ -+OBJEXT=o -+DYNEXT=so -+STEXT=a -+RM=rm -rf -+PATH_SEP=/ -+MKDIR=mkdir -p -+COMP=GCC-SUN -+INSTALL_STEP = install_unix -+ -+all: all_dynamic all_static symbolic_links -+ -+include common_macros.mak -+ -+WARNING_FLAGS= -Wall -W -Wno-sign-compare -Wno-unused -Wno-uninitialized -+ -+CXXFLAGS_COMMON = -fexceptions -ftemplate-depth-32 -shared -I${STLPORT_DIR} ${WARNING_FLAGS} -+ -+CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O2 -+CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -O2 -fPIC -+ -+CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -gstabs -+CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -gstabs -fPIC -+ -+CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG -+CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG -+ -+# LDFLAGS_RELEASE_dynamic = ${CXXFLAGS_RELEASE_dynamic} -Wl,-soname,${RELEASE_DYNLIB_SONAME} -+# LDFLAGS_DEBUG_dynamic = ${CXXFLAGS_DEBUG_dynamic} -Wl,-soname,${DEBUG_DYNLIB_SONAME} -+# LDFLAGS_STLDEBUG_dynamic = ${CXXFLAGS_STLDEBUG_dynamic} -Wl,-soname,${STLDEBUG_DYNLIB_SONAME} -+ -+LDFLAGS_RELEASE_dynamic = ${CXXFLAGS_RELEASE_dynamic} -+LDFLAGS_DEBUG_dynamic = ${CXXFLAGS_DEBUG_dynamic} -+LDFLAGS_STLDEBUG_dynamic = ${CXXFLAGS_STLDEBUG_dynamic} -+ -+# LDLIBS_RELEASE_dynamic = -lposix4 -+# LDLIBS_STLDEBUG_dynamic = -lposix4 -+ -+include common_percent_rules.mak -+include common_rules.mak -+ -+#%.s: %.cpp -+# $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ -+ -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc.mak tripwire-2.3.1-2/src/STLport-4.0/src/gcc.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc.mak Sat Feb 24 10:44:09 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/gcc.mak Sat Mar 22 16:42:12 2003 -@@ -5,8 +5,9 @@ - # - # compiler - # --CC = gcc --CXX = c++ -+CC ?= gcc -+CXX ?= c++ -+CXXFLAGS ?= -pthread -fexceptions - - # - # Basename for libraries -@@ -19,7 +20,7 @@ - # - LINK=ar cr - # 2.95 flag --DYN_LINK=gcc -shared -o -+DYN_LINK=c++ -pthread -fexceptions -shared -o - - OBJEXT=o - DYNEXT=so -@@ -28,23 +29,24 @@ - PATH_SEP=/ - MKDIR=mkdir -p - COMP=GCC$(ARCH) -+INSTALL_STEP = install_unix - --all: all_dynamic all_static -+all: all_dynamic all_static symbolic_links - - include common_macros.mak - - WARNING_FLAGS= -Wall -W -Wno-sign-compare -Wno-unused -Wno-uninitialized -ftemplate-depth-32 - --CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} -+CXXFLAGS_COMMON = $(CXXFLAGS) -I${STLPORT_DIR} ${WARNING_FLAGS} - --CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O2 --CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -O2 -fPIC -+CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -+CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -fPIC - - CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -g - CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -g -fPIC - --CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D__STL_DEBUG --CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D__STL_DEBUG -fPIC -+CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG -+CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG - - include common_percent_rules.mak - include common_rules.mak -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc7.mak tripwire-2.3.1-2/src/STLport-4.0/src/gcc7.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc7.mak Sat Feb 24 10:44:09 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/gcc7.mak Sun Aug 11 18:59:22 2002 -@@ -23,23 +23,24 @@ - PATH_SEP=/ - MKDIR=mkdir -p - COMP=GCC7${ARCH} -+INSTALL_STEP = install_unix - --all: all_dynamic all_static -+all: all_dynamic all_static symbolic_links - - include common_macros.mak - --WARNING_FLAGS= -W -Wno-sign-compare -Wno-unused -Wno-uninitialized -D__STL_NO_TYPEINFO -D__STL_NO_EXCEPTIONS -frtti -+WARNING_FLAGS= -W -Wno-sign-compare -Wno-unused -Wno-uninitialized -D_STLP_NO_TYPEINFO -D_STLP_NO_EXCEPTIONS -frtti - - CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} - - CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O2 - CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -O2 -fpic - --CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -g --CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -g -fpic -+CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -O -g -+CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -O -g -fpic - --CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D__STL_DEBUG --CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D__STL_DEBUG -fpic -+CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG -+CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG -fpic - - include common_percent_rules.mak - include common_rules.mak -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc8.mak tripwire-2.3.1-2/src/STLport-4.0/src/gcc8.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/gcc8.mak Sat Feb 24 10:44:09 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/gcc8.mak Sun Aug 11 18:59:22 2002 -@@ -23,6 +23,7 @@ - PATH_SEP=/ - MKDIR=mkdir -p - COMP=GCC8${ARCH} -+INSTALL_STEP = install_unix - - all: all_static - -@@ -30,17 +31,17 @@ - - WARNING_FLAGS= -Wall -W -Wno-sign-compare -Wno-unused -Wno-uninitialized - --CXXFLAGS_COMMON = -I${STLPORT_DIR} -I/usr/local/depot/libstdc++/2.8.1.1/include/g++ -I/usr/local/depot/libstdc++/2.8.1.1/sparc-sun-solaris2.6/include ${WARNING_FLAGS} -+CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} - - # -O does not always work for gcc-2.8 - CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) - CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -fpic - --CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -g --CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -g -fpic -+CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -O -g -+CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -O -g -fpic - --CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D__STL_DEBUG --CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D__STL_DEBUG -fpic -+CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG -+CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG -fpic - - include common_percent_rules.mak - include common_rules.mak -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/hpacc.mak tripwire-2.3.1-2/src/STLport-4.0/src/hpacc.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/hpacc.mak Sat Feb 24 10:44:09 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/hpacc.mak Sun Aug 11 18:59:22 2002 -@@ -26,14 +26,17 @@ - PATH_SEP=/ - MKDIR=mkdir -p - COMP=ACC$(ARCH) -+INSTALL_STEP = install_unix - --all: all_dynamic all_static -+all: all_dynamic all_static symbolic_links - - include common_macros.mak - - WARNING_FLAGS= - --CXXFLAGS_COMMON = +ESlit -Aa -I${STLPORT_DIR} ${WARNING_FLAGS} -+# CXXFLAGS_COMMON = +ESlit -Aa -I${STLPORT_DIR} ${WARNING_FLAGS} -+# CXXFLAGS_COMMON = -Aa -I${STLPORT_DIR} -D_REENTRANT +inst_close ${WARNING_FLAGS} -+CXXFLAGS_COMMON = -AA -I${STLPORT_DIR} +inst_close ${WARNING_FLAGS} ${CXX_EXTRA_FLAGS} - - CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) ${OPTIM} -z - CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) ${OPTIM} -z +Z -@@ -41,8 +44,8 @@ - CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -g ${OPTIM} -z - CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -g ${OPTIM} -z +Z - --CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D__STL_DEBUG --CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D__STL_DEBUG -+CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG -+CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG - - include common_percent_rules.mak - include common_rules.mak -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/install.sh tripwire-2.3.1-2/src/STLport-4.0/src/install.sh ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/install.sh Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/install.sh Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,238 @@ -+#! /bin/sh -+# -+# install - install a program, script, or datafile -+# This comes from X11R5. -+# -+# Calling this script install-sh is preferred over install.sh, to prevent -+# `make' implicit rules from creating a file called install from it -+# when there is no Makefile. -+# -+# This script is compatible with the BSD install script, but was written -+# from scratch. -+# -+ -+ -+# set DOITPROG to echo to test this script -+ -+# Don't use :- since 4.3BSD and earlier shells don't like it. -+doit="${DOITPROG-}" -+ -+ -+# put in absolute paths if you don't have them in your path; or use env. vars. -+ -+mvprog="${MVPROG-mv}" -+cpprog="${CPPROG-cp}" -+chmodprog="${CHMODPROG-chmod}" -+chownprog="${CHOWNPROG-chown}" -+chgrpprog="${CHGRPPROG-chgrp}" -+stripprog="${STRIPPROG-strip}" -+rmprog="${RMPROG-rm}" -+mkdirprog="${MKDIRPROG-mkdir}" -+ -+tranformbasename="" -+transform_arg="" -+instcmd="$mvprog" -+chmodcmd="$chmodprog 0755" -+chowncmd="" -+chgrpcmd="" -+stripcmd="" -+rmcmd="$rmprog -f" -+mvcmd="$mvprog" -+src="" -+dst="" -+dir_arg="" -+ -+while [ x"$1" != x ]; do -+ case $1 in -+ -c) instcmd="$cpprog" -+ shift -+ continue;; -+ -+ -d) dir_arg=true -+ shift -+ continue;; -+ -+ -m) chmodcmd="$chmodprog $2" -+ shift -+ shift -+ continue;; -+ -+ -o) chowncmd="$chownprog $2" -+ shift -+ shift -+ continue;; -+ -+ -g) chgrpcmd="$chgrpprog $2" -+ shift -+ shift -+ continue;; -+ -+ -s) stripcmd="$stripprog" -+ shift -+ continue;; -+ -+ -t=*) transformarg=`echo $1 | sed 's/-t=//'` -+ shift -+ continue;; -+ -+ -b=*) transformbasename=`echo $1 | sed 's/-b=//'` -+ shift -+ continue;; -+ -+ *) if [ x"$src" = x ] -+ then -+ src=$1 -+ else -+ # this colon is to work around a 386BSD /bin/sh bug -+ : -+ dst=$1 -+ fi -+ shift -+ continue;; -+ esac -+done -+ -+if [ x"$src" = x ] -+then -+ echo "install: no input file specified" -+ exit 1 -+else -+ true -+fi -+ -+if [ x"$dir_arg" != x ]; then -+ dst=$src -+ src="" -+ -+ if [ -d $dst ]; then -+ instcmd=: -+ else -+ instcmd=mkdir -+ fi -+else -+ -+# Waiting for this to be detected by the "$instcmd $src $dsttmp" command -+# might cause directories to be created, which would be especially bad -+# if $src (and thus $dsttmp) contains '*'. -+ -+ if [ -f $src -o -d $src ] -+ then -+ true -+ else -+ echo "install: $src does not exist" -+ exit 1 -+ fi -+ -+ if [ x"$dst" = x ] -+ then -+ echo "install: no destination specified" -+ exit 1 -+ else -+ true -+ fi -+ -+# If destination is a directory, append the input filename; if your system -+# does not like double slashes in filenames, you may need to add some logic -+ -+ if [ -d $dst ] -+ then -+ dst="$dst"/`basename $src` -+ else -+ true -+ fi -+fi -+ -+## this sed command emulates the dirname command -+dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` -+ -+# Make sure that the destination directory exists. -+# this part is taken from Noah Friedman's mkinstalldirs script -+ -+# Skip lots of stat calls in the usual case. -+if [ ! -d "$dstdir" ]; then -+defaultIFS=' -+' -+IFS="${IFS-${defaultIFS}}" -+ -+oIFS="${IFS}" -+# Some sh's can't handle IFS=/ for some reason. -+IFS='%' -+set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` -+IFS="${oIFS}" -+ -+pathcomp='' -+ -+while [ $# -ne 0 ] ; do -+ pathcomp="${pathcomp}${1}" -+ shift -+ -+ if [ ! -d "${pathcomp}" ] ; -+ then -+ $mkdirprog "${pathcomp}" -+ else -+ true -+ fi -+ -+ pathcomp="${pathcomp}/" -+done -+fi -+ -+if [ x"$dir_arg" != x ] -+then -+ $doit $instcmd $dst && -+ -+ if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi && -+ if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi && -+ if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi && -+ if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi -+else -+ -+# If we're going to rename the final executable, determine the name now. -+ -+ if [ x"$transformarg" = x ] -+ then -+ dstfile=`basename $dst` -+ else -+ dstfile=`basename $dst $transformbasename | -+ sed $transformarg`$transformbasename -+ fi -+ -+# don't allow the sed command to completely eliminate the filename -+ -+ if [ x"$dstfile" = x ] -+ then -+ dstfile=`basename $dst` -+ else -+ true -+ fi -+ -+# Make a temp file name in the proper directory. -+ -+ dsttmp=$dstdir/#inst.$$# -+ -+# Move or copy the file name to the temp name -+ -+ $doit $instcmd $src $dsttmp && -+ -+ trap "rm -f ${dsttmp}" 0 && -+ -+# and set any options; do chmod last to preserve setuid bits -+ -+# If any of these fail, we abort the whole thing. If we want to -+# ignore errors from any of these, just make sure not to ignore -+# errors from the above "$doit $instcmd $src $dsttmp" command. -+ -+ if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi && -+ if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi && -+ if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi && -+ if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi && -+ -+# Now rename the file to the real destination. -+ -+ $doit $rmcmd -f $dstdir/$dstfile && -+ $doit $mvcmd $dsttmp $dstdir/$dstfile -+ -+fi && -+ -+ -+exit 0 -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/intel40.mak tripwire-2.3.1-2/src/STLport-4.0/src/intel40.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/intel40.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/intel40.mak Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,26 @@ -+# -+# Tools -+# -+ -+CXX=icl.exe -+CC=icl.exe -+RC=rc -+ -+LIB_BASENAME=stlport_icl -+ -+# EXTRA_COMMON_FLAGS=/D "_MBCS" -+EXTRA_COMMON_FLAGS= -D_MBCS -+EXTRA_DEBUG_FLAGS= -+EXTRA_NDEBUG_FLAGS= -Qipo -Qsox- -+ -+COMP=ICL -+ -+all: all_static -+ -+!INCLUDE vc_common.mak -+ -+# -+# -+ -+ -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/intel45.mak tripwire-2.3.1-2/src/STLport-4.0/src/intel45.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/intel45.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/intel45.mak Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,30 @@ -+# -+# Makefile for Intel C++ compiler v.4.5 -+ -+# -+# Tools -+# -+CXX=icl.exe -+CC=icl.exe -+# Intel frontend tools -+# LINK=xilib.exe -+ -+DYN_LINK=xilink.exe -+ -+ -+LIB_BASENAME=stlport_icl -+COMP=ICL -+ -+EXTRA_COMMON_FLAGS= -D_MBCS -Qwd186 -+EXTRA_DEBUG_FLAGS= -+EXTRA_NDEBUG_FLAGS= -Qsox- -+ -+all: platform all_dynamic all_static -+ -+!INCLUDE vc_common.mak -+ -+# -+# -+ -+ -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/intel50.mak tripwire-2.3.1-2/src/STLport-4.0/src/intel50.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/intel50.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/intel50.mak Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,33 @@ -+# -+# Makefile for Intel C++ compiler v.5.0 -+ -+# -+# Tools -+# -+ -+CXX=icl.exe -+CC=icl.exe -+RC=rc -+ -+# Intel frontend tools -+# LINK=xilib.exe -+ -+DYN_LINK=xilink.exe -+ -+ -+LIB_BASENAME=stlport_icl -+COMP=ICL -+ -+EXTRA_COMMON_FLAGS= -D_MBCS -Qwd186,985 -+EXTRA_DEBUG_FLAGS= -+EXTRA_NDEBUG_FLAGS= -Qsox- -+ -+all: platform all_static all_dynamic -+ -+!INCLUDE vc_common.mak -+ -+# -+# -+ -+ -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/ios.cpp tripwire-2.3.1-2/src/STLport-4.0/src/ios.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/ios.cpp Sat Feb 24 10:44:09 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/ios.cpp Sun Aug 11 18:59:22 2002 -@@ -15,25 +15,298 @@ - * modified is included with the above copyright notice. - * - */ -+ - # include "stlport_prefix.h" --#include --#include --#include --#include --#include --#include --#include -+# include -+# include -+ -+_STLP_BEGIN_NAMESPACE -+ -+char* _STLP_CALL -+__write_integer(char* buf, ios_base::fmtflags flags, long x); -+ -+//---------------------------------------------------------------------- -+// ios_base members -+ -+// class ios_base::failure, a subclass of exception. It's used solely -+// for reporting errors. -+ -+ios_base::failure::failure(const string& s) -+ : __Named_exception(s) -+{} -+ -+ios_base::failure::~failure() _STLP_NOTHROW_INHERENTLY {} -+ -+#if !defined (_STLP_STATIC_CONST_INIT_BUG) -+ -+// Definitions of ios_base's formatting flags. -+const ios_base::fmtflags ios_base::left; -+const ios_base::fmtflags ios_base::right; -+const ios_base::fmtflags ios_base::internal; -+const ios_base::fmtflags ios_base::dec; -+const ios_base::fmtflags ios_base::hex; -+const ios_base::fmtflags ios_base::oct; -+const ios_base::fmtflags ios_base::fixed; -+const ios_base::fmtflags ios_base::scientific; -+const ios_base::fmtflags ios_base::boolalpha; -+const ios_base::fmtflags ios_base::showbase; -+const ios_base::fmtflags ios_base::showpoint; -+const ios_base::fmtflags ios_base::showpos; -+const ios_base::fmtflags ios_base::skipws; -+const ios_base::fmtflags ios_base::unitbuf; -+const ios_base::fmtflags ios_base::uppercase; -+const ios_base::fmtflags ios_base::adjustfield; -+const ios_base::fmtflags ios_base::basefield; -+const ios_base::fmtflags ios_base::floatfield; -+ -+// Definitions of ios_base's state flags. -+const ios_base::iostate ios_base::goodbit; -+const ios_base::iostate ios_base::badbit; -+const ios_base::iostate ios_base::eofbit; -+const ios_base::iostate ios_base::failbit; -+ -+// Definitions of ios_base's openmode flags. -+const ios_base::openmode ios_base::app; -+const ios_base::openmode ios_base::ate; -+const ios_base::openmode ios_base::binary; -+const ios_base::openmode ios_base::in; -+const ios_base::openmode ios_base::out; -+const ios_base::openmode ios_base::trunc; -+ -+// Definitions of ios_base's seekdir flags. -+const ios_base::seekdir ios_base::beg; -+const ios_base::seekdir ios_base::cur; -+const ios_base::seekdir ios_base::end; -+ -+# endif /* _STLP_STATIC_CONST_INIT_BUG */ -+ -+// Internal functions used for managing exponentially-growing arrays of -+// POD types. -+ -+// array is a pointer to N elements of type PODType. Expands the array, -+// if necessary, so that array[index] is meaningful. All new elements are -+// initialized to zero. Returns a pointer to the new array, and the new -+// size. -+template -+pair -+_Stl_expand_array(PODType* array, size_t N, int index) -+{ -+ if ((int)N < index + 1) { -+ size_t new_N = (max)(2 * N, size_t(index + 1)); -+ PODType* new_array -+ = __STATIC_CAST(PODType*,realloc(array, new_N * sizeof(PODType))); -+ if (new_array) { -+ fill(new_array + N, new_array + new_N, PODType()); -+ return pair(new_array, new_N); -+ } -+ else -+ return pair(__STATIC_CAST(PODType*,0), 0); -+ } -+ else -+ return pair(array, N); -+} -+ -+// array is a pointer to N elements of type PODType. Allocate a new -+// array of N elements, copying the values from the old array to the new. -+// Return a pointer to the new array. It is assumed that array is non-null -+// and N is nonzero. -+template -+PODType* _Stl_copy_array(const PODType* array, size_t N) { -+ PODType* result = __STATIC_CAST(PODType*,malloc(N * sizeof(PODType))); -+ if (result) -+ copy(array, array + N, result); -+ return result; -+} -+ -+locale ios_base::imbue(const locale& loc) { -+ locale previous = _M_locale; -+ _M_locale = loc; -+ _M_invoke_callbacks(imbue_event); -+ return previous; -+} -+ -+int ios_base::_S_index = 0; -+ -+int _STLP_CALL ios_base::xalloc() -+{ -+ static _STLP_STATIC_MUTEX L _STLP_MUTEX_INITIALIZER; -+ _STLP_auto_lock sentry(L); -+ return _S_index++; -+} -+ -+long& ios_base::iword(int index) { -+ static long dummy = 0; -+ -+ pair tmp = _Stl_expand_array(_M_iwords, _M_num_iwords, index); -+ if (tmp.first) { // The allocation, if any, succeeded. -+ _M_iwords = tmp.first; -+ _M_num_iwords = tmp.second; -+ return _M_iwords[index]; -+ } -+ else { -+ _M_setstate_nothrow(badbit); -+ _M_check_exception_mask(); -+ return dummy; -+ } -+} -+ -+ -+void*& ios_base::pword(int index) { -+ static void* dummy = 0; -+ -+ pair tmp = _Stl_expand_array(_M_pwords, _M_num_pwords, index); -+ if (tmp.first) { // The allocation, if any, succeeded. -+ _M_pwords = tmp.first; -+ _M_num_pwords = tmp.second; -+ return _M_pwords[index]; -+ } -+ else { -+ _M_setstate_nothrow(badbit); -+ _M_check_exception_mask(); -+ return dummy; -+ } -+} -+ -+void ios_base::register_callback(event_callback __fn, int index) { -+ pair*, size_t> tmp -+ = _Stl_expand_array(_M_callbacks, _M_num_callbacks, (int)_M_callback_index /* fbp: index ??? */ ); -+ if (tmp.first) { -+ _M_callbacks = tmp.first; -+ _M_num_callbacks = tmp.second; -+ _M_callbacks[_M_callback_index++] = make_pair(__fn, index); -+ } -+ else { -+ _M_setstate_nothrow(badbit); -+ _M_check_exception_mask(); -+ } -+} -+ -+// Invokes all currently registered callbacks for a particular event. -+// Behaves correctly even if one of the callbacks adds a new callback. -+void ios_base::_M_invoke_callbacks(event E) { -+ for (size_t i = _M_callback_index; i > 0; --i) { -+ event_callback f = _M_callbacks[i-1].first; -+ int n = _M_callbacks[i-1].second; -+ f(E, *this, n); -+ } -+} -+ -+// This function is called if the state, rdstate(), has a bit set -+// that is also set in the exception mask exceptions(). -+void ios_base::_M_throw_failure() { -+ const char* arg ; -+# if 0 -+ char buffer[256]; -+ char* ptr; -+ strcpy(buffer, "ios failure: rdstate = 0x"); -+ ptr = __write_integer(buffer+strlen(buffer), ios_base::hex, __STATIC_CAST(unsigned long,_M_iostate)); -+ strcpy(ptr, " mask = 0x"); -+ ptr = __write_integer(buffer+strlen(buffer), ios_base::hex, __STATIC_CAST(unsigned long,_M_exception_mask)); -+ *ptr = 0; -+ arg = buffer; -+# else -+ arg = "ios failure"; -+# endif -+ -+# ifndef _STLP_USE_EXCEPTIONS -+ fputs(arg, stderr); -+# else -+ throw failure(arg); -+# endif -+} -+ -+// Copy x's state to *this. This member function is used in the -+// implementation of basic_ios::copyfmt. Does not copy _M_exception_mask -+// or _M_iostate. -+void ios_base::_M_copy_state(const ios_base& x) { -+ _M_fmtflags = x._M_fmtflags; // Copy the flags, except for _M_iostate -+ _M_openmode = x._M_openmode; // and _M_exception_mask. -+ _M_seekdir = x._M_seekdir; -+ _M_precision = x._M_precision; -+ _M_width = x._M_width; -+ -+ if (_M_locale != x._M_locale) { -+ _M_locale = x._M_locale; -+ _M_cached_ctype = x._M_cached_ctype; -+ _M_cached_numpunct = x._M_cached_numpunct; -+ } -+ -+ if (x._M_callbacks) { -+ pair* tmp = _Stl_copy_array(x._M_callbacks, x._M_callback_index); -+ if (tmp) { -+ free(_M_callbacks); -+ _M_callbacks = tmp; -+ _M_num_callbacks = _M_callback_index = x._M_callback_index; -+ } -+ else { -+ _M_setstate_nothrow(badbit); -+ _M_check_exception_mask(); -+ } -+ } -+ -+ if (x._M_iwords) { -+ long* tmp = _Stl_copy_array(x._M_iwords, x._M_num_iwords); -+ if (tmp) { -+ free(_M_iwords); -+ _M_iwords = tmp; -+ _M_num_iwords = x._M_num_iwords; -+ } -+ else { -+ _M_setstate_nothrow(badbit); -+ _M_check_exception_mask(); -+ } -+ } -+ -+ if (x._M_pwords) { -+ void** tmp = _Stl_copy_array(x._M_pwords, x._M_num_pwords); -+ if (tmp) { -+ free(_M_pwords); -+ _M_pwords = tmp; -+ _M_num_pwords = x._M_num_pwords; -+ } -+ else { -+ _M_setstate_nothrow(badbit); -+ _M_check_exception_mask(); -+ } -+ } -+} -+ -+ -+// ios's (protected) default constructor. The standard says that all -+// fields have indeterminate values; we initialize them to zero for -+// simplicity. The only thing that really matters is that the arrays -+// are all initially null pointers, and the array element counts are all -+// initially zero. -+ios_base::ios_base() -+ : _M_fmtflags(0), _M_iostate(0), _M_openmode(0), _M_seekdir(0), -+ _M_exception_mask(0), -+ _M_precision(0), _M_width(0), -+ _M_locale(), -+ _M_callbacks(0), _M_num_callbacks(0), _M_callback_index(0), -+ _M_iwords(0), _M_num_iwords(0), -+ _M_pwords(0), -+ _M_num_pwords(0) , _M_cached_ctype(0), _M_cached_numpunct(0) -+{ } - --__STL_BEGIN_NAMESPACE -+// ios's destructor. -+ios_base::~ios_base() { -+ _M_invoke_callbacks(erase_event); -+ free(_M_callbacks); -+ free(_M_iwords); -+ free(_M_pwords); -+} - - //---------------------------------------------------------------------- - // Force instantiation of basic_ios - // For DLL exports, they are already instantiated. --# if !defined(__STL_NO_FORCE_INSTANTIATE) --template class __STL_CLASS_DECLSPEC basic_ios >; -+# if !defined(_STLP_NO_FORCE_INSTANTIATE) -+template class _STLP_CLASS_DECLSPEC basic_ios >; -+# ifndef _STLP_NO_WCHAR_T -+template class _STLP_CLASS_DECLSPEC basic_ios >; -+# endif /* _STLP_NO_WCHAR_T */ - # endif - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - - // Local Variables: - // mode:C++ -Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: ios_base.cpp -Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: ios_w.cpp -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/iostream.cpp tripwire-2.3.1-2/src/STLport-4.0/src/iostream.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/iostream.cpp Sat Feb 24 10:44:10 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/iostream.cpp Sun Aug 11 18:59:22 2002 -@@ -17,59 +17,27 @@ - */ - # include "stlport_prefix.h" - --#include - #include --#include --#include --#include --#include -+// #include - --__STL_BEGIN_NAMESPACE -- --#if defined (__BORLANDC__) --using __STL_VENDOR_CSTD::_streams; -+#include -+#include -+#include "aligned_buffer.h" -+ -+// boris : note this is repeated in -+#ifndef _STLP_USE_NAMESPACES -+// in case of SGI iostreams, we have to rename our streams not to clash with those -+// provided in native lib -+# define cin _STLP_cin -+# define cout _STLP_cout -+# define cerr _STLP_cerr -+# define clog _STLP_clog - #endif - --// Good guess for having problems with global --// native iostream objects is the absence of new-style ones --# ifdef __STL_HAS_NO_NEW_IOSTREAMS --# define GLOBAL_NATIVE_STREAM_OBJECTS --# ifndef __STL_NO_WCHAR_T --# define GLOBAL_NATIVE_WIDE_STREAM_OBJECTS --# endif --# endif -- --#if !defined(__STL_NO_FORCE_INSTANTIATE) -- --// instantiations --template class __STL_CLASS_DECLSPEC istreambuf_iterator >; --template class __STL_CLASS_DECLSPEC ostreambuf_iterator >; -- --template class __STL_CLASS_DECLSPEC basic_ostream >; -- --# if defined (__STL_USE_TEMPLATE_EXPORT) --template class __STL_CLASS_DECLSPEC _Osentry >; --template class __STL_CLASS_DECLSPEC _Isentry >; --# endif -- --template class __STL_CLASS_DECLSPEC basic_istream >; --template class __STL_CLASS_DECLSPEC basic_iostream >; -- --#ifndef __STL_NO_WCHAR_T -- --template class __STL_CLASS_DECLSPEC ostreambuf_iterator >; --template class __STL_CLASS_DECLSPEC istreambuf_iterator >; -- --# if defined (__STL_USE_TEMPLATE_EXPORT) --template class __STL_CLASS_DECLSPEC _Osentry >; --template class __STL_CLASS_DECLSPEC _Isentry >; --# endif -- --template class __STL_CLASS_DECLSPEC basic_ostream >; --template class __STL_CLASS_DECLSPEC basic_istream >; --template class __STL_CLASS_DECLSPEC basic_iostream >; --#endif /* INSTANTIATE_WIDE_STREAMS */ -+_STLP_BEGIN_NAMESPACE - -+#if defined (__BORLANDC__) && ! defined (_STLP_USE_GLIBC) -+using _STLP_VENDOR_CSTD::_streams; - #endif - - // This file handles iostream initialization. It is inherently -@@ -77,13 +45,13 @@ - // for controlling order of initialization of nonlocal objects. - // Initialization has three parts, which must be performed in the following - // order: --// (1) Initialize the locale system by calling __initialize_locales() -+// (1) Initialize the locale system - // (2) Call the constructors for the eight global stream objects. - // (3) Create streambufs for the global stream objects, and initialize - // the stream objects by calling the init() member function. - - --#if defined (__STL_MSVC) || defined(__MWERKS__) || defined (__ICL) -+#if defined (_STLP_MSVC) || defined(__MWERKS__) || defined (__ICL) || defined (__ISCPP__) - - // Definitions of the eight global I/O objects that are declared in - // . For VC++ we use the init_seg pragma to put the global I/O -@@ -94,18 +62,18 @@ - #if defined(__MWERKS__) - # pragma suppress_init_code on - #else --# pragma init_seg("SGI_STL_NO_INIT") -+# pragma init_seg("STLPORT_NO_INIT") - #endif - --__STL_DECLSPEC istream cin(0); --__STL_DECLSPEC ostream cout(0); --__STL_DECLSPEC ostream cerr(0); --__STL_DECLSPEC ostream clog(0); -- --__STL_DECLSPEC wistream wcin(0); --__STL_DECLSPEC wostream wcout(0); --__STL_DECLSPEC wostream wcerr(0); --__STL_DECLSPEC wostream wclog(0); -+_STLP_DECLSPEC istream cin(0); -+_STLP_DECLSPEC ostream cout(0); -+_STLP_DECLSPEC ostream cerr(0); -+_STLP_DECLSPEC ostream clog(0); -+ -+_STLP_DECLSPEC wistream wcin(0); -+_STLP_DECLSPEC wostream wcout(0); -+_STLP_DECLSPEC wostream wcerr(0); -+_STLP_DECLSPEC wostream wclog(0); - - #if defined(__MWERKS__) - # pragma suppress_init_code off -@@ -125,47 +93,38 @@ - // Most compilers, however, silently accept this instead of diagnosing - // it as an error. - --template --union _Stl_aligned_buffer { -- char buf[sizeof(T)]; -- struct { double a; double b; } padding; --}; -- --__STL_DECLSPEC _Stl_aligned_buffer cin; --__STL_DECLSPEC _Stl_aligned_buffer cout; --__STL_DECLSPEC _Stl_aligned_buffer cerr; --__STL_DECLSPEC _Stl_aligned_buffer clog; -- --# ifndef __STL_NO_WCHAR_T -- --__STL_DECLSPEC _Stl_aligned_buffer wcin; --__STL_DECLSPEC _Stl_aligned_buffer wcout; --__STL_DECLSPEC _Stl_aligned_buffer wcerr; --__STL_DECLSPEC _Stl_aligned_buffer wclog; -+_STLP_DECLSPEC _Stl_aligned_buffer cin; -+_STLP_DECLSPEC _Stl_aligned_buffer cout; -+_STLP_DECLSPEC _Stl_aligned_buffer cerr; -+_STLP_DECLSPEC _Stl_aligned_buffer clog; -+ -+# ifndef _STLP_NO_WCHAR_T -+ -+_STLP_DECLSPEC _Stl_aligned_buffer wcin; -+_STLP_DECLSPEC _Stl_aligned_buffer wcout; -+_STLP_DECLSPEC _Stl_aligned_buffer wcerr; -+_STLP_DECLSPEC _Stl_aligned_buffer wclog; - - # endif - --# ifdef GLOBAL_NATIVE_STREAM_OBJECTS -- --_Stl_aligned_buffer saved_cin; --_Stl_aligned_buffer saved_cout; --_Stl_aligned_buffer saved_cerr; --_Stl_aligned_buffer saved_clog; -- --# ifndef __STL_NO_WCHAR_T -- --_Stl_aligned_buffer saved_wcin; --_Stl_aligned_buffer saved_wcout; --_Stl_aligned_buffer saved_wcerr; --_Stl_aligned_buffer saved_wclog; -- --# endif --# endif /* GLOBAL */ - #endif /* STL_MSVC || __MWERKS__ */ - - // Member functions from class ios_base and ios_base::Init - - long ios_base::Init::_S_count = 0; -+// by default, those are synced -+bool ios_base::_S_was_synced = true; -+ -+ios_base::Init::Init() { -+ if (_S_count++ == 0) -+ ios_base::_S_initialize(); -+} -+ -+ios_base::Init::~Init() { -+ if (--_S_count == 0) -+ ios_base::_S_uninitialize(); -+} -+ - - filebuf* - _Stl_create_filebuf(FILE* f, ios_base::openmode mode ) -@@ -174,10 +133,10 @@ - - result = new basic_filebuf >(); - -- try { -- result->open(_FILE_fd(*f), mode); -+ _STLP_TRY { -+ result->_M_open(_FILE_fd(f), mode); - } -- catch(...) {} -+ _STLP_CATCH_ALL {} - - if (!result->is_open()) { - delete result; -@@ -186,7 +145,7 @@ - return result; - } - --# ifndef __STL_NO_WCHAR_T -+# ifndef _STLP_NO_WCHAR_T - - wfilebuf* - _Stl_create_wfilebuf(FILE* f, ios_base::openmode mode ) -@@ -195,10 +154,10 @@ - - result = new basic_filebuf >(); - -- try { -- result->open(_FILE_fd(*f), mode); -+ _STLP_TRY { -+ result->_M_open(_FILE_fd(f), mode); - } -- catch(...) {} -+ _STLP_CATCH_ALL {} - - if (!result->is_open()) { - delete result; -@@ -209,70 +168,46 @@ - - # endif - --void __STL_CALL ios_base::_S_initialize() -+void _STLP_CALL ios_base::_S_initialize() - { --# ifndef __STL_HAS_NO_NAMESPACES -- using SGI::stdio_istreambuf; -- using SGI::stdio_ostreambuf; -+# if !defined(_STLP_HAS_NO_NAMESPACES) && !defined(_STLP_WINCE) -+ using _SgI::stdio_istreambuf; -+ using _SgI::stdio_ostreambuf; - # endif -- // Initialize the locale system. -- locale::_S_initialize(); -- -- __STL_TRY { -+ _STLP_TRY { - // Run constructors for the four narrow stream objects. --# if defined(__STL_MSVC) || defined(__MWERKS__) || defined (__ICL) -- istream* ptr_cin = new(&cin) istream(0); -- ostream* ptr_cout = new(&cout) ostream(0); -- ostream* ptr_cerr = new(&cerr) ostream(0); -- ostream* ptr_clog = new(&clog) ostream(0); --# else -- --# ifdef GLOBAL_NATIVE_STREAM_OBJECTS -- memcpy(saved_cin.buf, cin.buf, sizeof(cin)); -- memcpy(saved_cout.buf, cout.buf, sizeof(cout)); -- memcpy(saved_cerr.buf, cerr.buf, sizeof(cerr)); -- memcpy(saved_clog.buf, clog.buf, sizeof(clog)); --# endif -+ // check with locale system -+ if (_Loc_init::_S_count++ == 0) { -+ locale::_S_initialize(); -+ } -+#if !defined(_STLP_WINCE) -+ istream* ptr_cin = new((void*)&cin) istream(0); -+ ostream* ptr_cout = new((void*)&cout) ostream(0); -+ ostream* ptr_cerr = new((void*)&cerr) ostream(0); -+ ostream* ptr_clog = new((void*)&clog) ostream(0); - -- istream* ptr_cin = new(cin.buf) istream(0); -- ostream* ptr_cout = new(cout.buf) ostream(0); -- ostream* ptr_cerr = new(cerr.buf) ostream(0); -- ostream* ptr_clog = new(clog.buf) ostream(0); --# endif - // Initialize the four narrow stream objects. -- ptr_cin->init(new stdio_istreambuf(stdin)); -- ptr_cout->init(new stdio_ostreambuf(stdout)); -- ptr_cerr->init(new stdio_ostreambuf(stderr)); -- ptr_clog->init(new stdio_ostreambuf(stderr)); -- -+ if (_S_was_synced) { -+ ptr_cin->init(new stdio_istreambuf(stdin)); -+ ptr_cout->init(new stdio_ostreambuf(stdout)); -+ ptr_cerr->init(new stdio_ostreambuf(stderr)); -+ ptr_clog->init(new stdio_ostreambuf(stderr)); -+ } else { -+ ptr_cin->init(_Stl_create_filebuf(stdin, ios_base::in)); -+ ptr_cin->init(_Stl_create_filebuf(stdout, ios_base::out)); -+ ptr_cin->init(_Stl_create_filebuf(stderr, ios_base::out)); -+ ptr_cin->init(_Stl_create_filebuf(stderr, ios_base::out)); -+ } - ptr_cin->tie(ptr_cout); - ptr_cerr->setf(ios_base::unitbuf); - --# ifndef __STL_NO_WCHAR_T -+# ifndef _STLP_NO_WCHAR_T - --# if defined(__STL_MSVC) || defined(__MWERKS__) || defined (__ICL) - // Run constructors for the four wide stream objects. - wistream* ptr_wcin = new(&wcin) wistream(0); - wostream* ptr_wcout = new(&wcout) wostream(0); - wostream* ptr_wcerr = new(&wcerr) wostream(0); - wostream* ptr_wclog = new(&wclog) wostream(0); --# else -- -- --# ifdef GLOBAL_NATIVE_WIDE_STREAM_OBJECTS -- memcpy(saved_wcin.buf, wcin.buf, sizeof(wcin)); -- memcpy(saved_wcout.buf, wcout.buf, sizeof(wcout)); -- memcpy(saved_wcerr.buf, wcerr.buf, sizeof(wcerr)); -- memcpy(saved_wclog.buf, wclog.buf, sizeof(wclog)); --# endif -- -- // Run constructors for the four wide stream objects. -- wistream* ptr_wcin = new(wcin.buf) wistream(0); -- wostream* ptr_wcout = new(wcout.buf) wostream(0); -- wostream* ptr_wcerr = new(wcerr.buf) wostream(0); -- wostream* ptr_wclog = new(wclog.buf) wostream(0); -- --# endif /*__STL_MSVC */ - - wfilebuf* win = _Stl_create_wfilebuf(stdin, ios_base::in); - wfilebuf* wout = _Stl_create_wfilebuf(stdout, ios_base::out);; -@@ -287,14 +222,15 @@ - ptr_wcin->tie(ptr_wcout); - ptr_wcerr->setf(ios_base::unitbuf); - --# endif /* __STL_NO_WCHAR_T */ -+# endif /* _STLP_NO_WCHAR_T */ -+#endif /* _STLP_WINCE */ - - } - -- __STL_CATCH_ALL {} -+ _STLP_CATCH_ALL {} - } - --void __STL_CALL ios_base::_S_uninitialize() -+void _STLP_CALL ios_base::_S_uninitialize() - { - // Note that destroying output streambufs flushes the buffers. - -@@ -303,13 +239,19 @@ - ostream* ptr_cerr = __REINTERPRET_CAST(ostream*,&cerr); - ostream* ptr_clog = __REINTERPRET_CAST(ostream*,&clog); - --# ifndef __STL_NO_WCHAR_T -+# ifndef _STLP_NO_WCHAR_T - wistream* ptr_wcin = __REINTERPRET_CAST(wistream*,&wcin); - wostream* ptr_wcout = __REINTERPRET_CAST(wostream*,&wcout); - wostream* ptr_wcerr = __REINTERPRET_CAST(wostream*,&wcerr); - wostream* ptr_wclog = __REINTERPRET_CAST(wostream*,&wclog); - # endif - -+ // we don't want any exceptions being thrown here -+ ptr_cin->exceptions(0); -+ ptr_cout->exceptions(0); -+ ptr_cerr->exceptions(0); -+ ptr_clog->exceptions(0); -+ - delete ptr_cin->rdbuf(0); - delete ptr_cout->rdbuf(0); - delete ptr_cerr->rdbuf(0); -@@ -320,7 +262,13 @@ - _Destroy(ptr_cerr); - _Destroy(ptr_clog); - --# ifndef __STL_NO_WCHAR_T -+# ifndef _STLP_NO_WCHAR_T -+ // we don't want any exceptions being thrown here -+ ptr_wcin->exceptions(0); -+ ptr_wcout->exceptions(0); -+ ptr_wcerr->exceptions(0); -+ ptr_wclog->exceptions(0); -+ - delete ptr_wcin->rdbuf(0); - delete ptr_wcout->rdbuf(0); - delete ptr_wcerr->rdbuf(0); -@@ -332,30 +280,28 @@ - _Destroy(ptr_wclog); - - # endif -+ if (--_Loc_init::_S_count == 0) { -+ locale::_S_uninitialize(); -+ } -+} - -- // Shut down the locale subsystem. -- locale::_S_uninitialize(); --# ifdef GLOBAL_NATIVE_STREAM_OBJECTS -- memcpy(cin.buf, saved_cin.buf, sizeof(cin)); -- memcpy(cout.buf, saved_cout.buf, sizeof(cout)); -- memcpy(cerr.buf, saved_cerr.buf, sizeof(cerr)); -- memcpy(clog.buf, saved_clog.buf, sizeof(clog)); --# endif - --# ifdef GLOBAL_NATIVE_WIDE_STREAM_OBJECTS -- memcpy(wcin.buf, saved_wcin.buf, sizeof(wcin)); -- memcpy(wcout.buf, saved_wcout.buf, sizeof(wcout)); -- memcpy(wcerr.buf, saved_wcerr.buf, sizeof(wcerr)); -- memcpy(wclog.buf, saved_wclog.buf, sizeof(wclog)); -+bool _STLP_CALL ios_base::sync_with_stdio(bool sync) { -+#if !defined(STLP_WINCE) -+# ifndef _STLP_HAS_NO_NAMESPACES -+ using _SgI::stdio_istreambuf; -+ using _SgI::stdio_ostreambuf; - # endif --} -+ -+ bool was_synced = _S_was_synced; - -+ // if by any chance we got there before std streams initialization, -+ // just set the sync flag and exit -+ if (Init::_S_count == 0) { -+ _S_was_synced = sync; -+ return was_synced; -+ } - --bool __STL_CALL ios_base::sync_with_stdio(bool sync) { --# ifndef __STL_HAS_NO_NAMESPACES -- using SGI::stdio_istreambuf; -- using SGI::stdio_ostreambuf; --# endif - istream* ptr_cin = __REINTERPRET_CAST(istream*,&cin); - ostream* ptr_cout = __REINTERPRET_CAST(ostream*,&cout); - ostream* ptr_cerr = __REINTERPRET_CAST(ostream*,&cerr); -@@ -365,15 +311,13 @@ - streambuf* old_cout = ptr_cout->rdbuf(); - streambuf* old_cerr = ptr_cerr->rdbuf(); - streambuf* old_clog = ptr_clog->rdbuf(); -- bool was_synced = old_cin != 0 && -- __DYNAMIC_CAST(stdio_istreambuf*,old_cin) != 0; - - streambuf* new_cin = 0; - streambuf* new_cout = 0; - streambuf* new_cerr = 0; - streambuf* new_clog = 0; - -- try { -+ _STLP_TRY { - if (sync && !was_synced) { - new_cin = new stdio_istreambuf(stdin); - new_cout = new stdio_ostreambuf(stdout); -@@ -387,7 +331,7 @@ - new_clog = _Stl_create_filebuf(stderr, ios_base::out); - } - } -- catch(...) {} -+ _STLP_CATCH_ALL {} - - if (new_cin && new_cout && new_cerr && new_clog) { - ptr_cin->rdbuf(new_cin); -@@ -408,10 +352,12 @@ - } - - return was_synced; -+#else -+ return false; -+#endif /* _STLP_WINCE */ - } - --__STL_END_NAMESPACE -- -+_STLP_END_NAMESPACE - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/istream.cpp tripwire-2.3.1-2/src/STLport-4.0/src/istream.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/istream.cpp Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/istream.cpp Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,49 @@ -+/* -+ * Copyright (c) 1999 -+ * Silicon Graphics Computer Systems, Inc. -+ * -+ * Copyright (c) 1999 -+ * Boris Fomitchev -+ * -+ * This material is provided "as is", with absolutely no warranty expressed -+ * or implied. Any use is at your own risk. -+ * -+ * Permission to use or copy this software for any purpose is hereby granted -+ * without fee, provided the above notices are retained on all copies. -+ * Permission to modify the code and to distribute modified code is granted, -+ * provided the above notices are retained, and a notice that the code was -+ * modified is included with the above copyright notice. -+ * -+ */ -+# include "stlport_prefix.h" -+ -+#include -+ -+_STLP_BEGIN_NAMESPACE -+ -+#if !defined(_STLP_NO_FORCE_INSTANTIATE) -+// instantiations -+# if defined (_STLP_USE_TEMPLATE_EXPORT) -+template class _STLP_CLASS_DECLSPEC _Isentry >; -+# endif -+template class _STLP_CLASS_DECLSPEC basic_iostream >; -+#if !defined(_STLP_MSVC) || (_STLP_MSVC > 1100) -+template class _STLP_CLASS_DECLSPEC basic_istream >; -+#endif -+ -+#ifndef _STLP_NO_WCHAR_T -+# if defined (_STLP_USE_TEMPLATE_EXPORT) -+template class _STLP_CLASS_DECLSPEC _Isentry >; -+# endif -+#if !defined(_STLP_MSVC) || (_STLP_MSVC > 1100) -+template class _STLP_CLASS_DECLSPEC basic_istream >; -+#endif -+template class _STLP_CLASS_DECLSPEC basic_iostream >; -+#endif /* INSTANTIATE_WIDE_STREAMS */ -+#endif -+ -+_STLP_END_NAMESPACE -+ -+// Local Variables: -+// mode:C++ -+// End: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/kai-sun.mak tripwire-2.3.1-2/src/STLport-4.0/src/kai-sun.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/kai-sun.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/kai-sun.mak Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,67 @@ -+# -+# compiler -+# -+CC = KCC -+CXX = $(CC) -+ -+# -+# Basename for libraries -+# -+LIB_BASENAME = libstlport_kcc -+ -+# -+# guts for common stuff -+# -+# -+ -+WARNING_FLAGS= --one_per --thread_safe --exceptions --abstract_pointer -+ -+CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} -+ -+LINK=KCC ${CXXFLAGS_COMMON} -o -+DYN_LINK=KCC ${CXXFLAGS_COMMON} -o -+ -+OBJEXT=o -+DYNEXT=so -+STEXT=a -+RM=rm -rf -+PATH_SEP=/ -+MKDIR=mkdir -p -+COMP=KAI${ARCH} -+INSTALL_STEP = install_unix -+ -+all: sparc_atomic.o all_static all_dynamic symbolic_links -+ -+include common_macros.mak -+ -+CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) +K3 -O2 -+CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) +K3 -O2 -KPIC -+ -+CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) +K0 -+CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) +K0 -KPIC -+ -+CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG -+CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG -+ -+include common_percent_rules.mak -+include common_rules.mak -+ -+sparc_atomic.o : sparc_atomic.s -+ ${AS} sparc_atomic.s -o sparc_atomic.o -+sparc_atomic64.o : sparc_atomic64.s -+ ${AS} sparc_atomic64.s -o sparc_atomic64.o -+ -+LDFLAGS_RELEASE_static = ${CXXFLAGS_RELEASE_static} -+LDFLAGS_RELEASE_dynamic = ${CXXFLAGS_RELEASE_dynamic} --soname ${RELEASE_DYNLIB_SONAME} sparc_atomic.o -+ -+LDFLAGS_DEBUG_static = ${CXXFLAGS_DEBUG_static} sparc_atomic.o -+LDFLAGS_DEBUG_dynamic = ${CXXFLAGS_DEBUG_dynamic} --soname ${DEBUG_DYNLIB_SONAME} sparc_atomic.o -+ -+LDFLAGS_STLDEBUG_static = ${CXXFLAGS_STLDEBUG_static} sparc_atomic.o -+LDFLAGS_STLDEBUG_dynamic = ${CXXFLAGS_STLDEBUG_dynamic} --soname ${STLDEBUG_DYNLIB_SONAME} sparc_atomic.o -+ -+# LDLIBS_RELEASE_dynamic = -lposix4 -+# LDLIBS_STLDEBUG_dynamic = -lposix4 -+ -+ -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/kai.mak tripwire-2.3.1-2/src/STLport-4.0/src/kai.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/kai.mak Sat Feb 24 10:44:10 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/kai.mak Sun Aug 11 18:59:22 2002 -@@ -13,8 +13,13 @@ - # guts for common stuff - # - # -+ -+WARNING_FLAGS= --one_per --thread_safe --exceptions --abstract_pointer -+ -+CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} -+ - LINK=ar crv --DYN_LINK=ar crv -+DYN_LINK=KCC ${CXXFLAGS_COMMON} -o - - OBJEXT=o - DYNEXT=so -@@ -23,32 +28,36 @@ - PATH_SEP=/ - MKDIR=mkdir -p - COMP=KAI${ARCH} -+INSTALL_STEP = install_unix - --all: all_dynamic all_static -+all: all_static all_dynamic symbolic_links - - include common_macros.mak - --WARNING_FLAGS= --one_per --thread_safe +K0 --exceptions --abstract_pointer -- --CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} -- --CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O2 --CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -O2 -KPIC -+CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) +K3 -O2 -+CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) +K3 -O2 -KPIC - --CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -g --CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -g -KPIC -+CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -K0 -+CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -K0 -KPIC - --CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D__STL_DEBUG --CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D__STL_DEBUG -fpic -+CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG -+CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG - - include common_percent_rules.mak - include common_rules.mak - - --#install: all --# cp -p $(LIB_TARGET) ${D_LIB_TARGET} ../lib -+LDFLAGS_RELEASE_static = ${CXXFLAGS_RELEASE_static} -+LDFLAGS_RELEASE_dynamic = ${CXXFLAGS_RELEASE_dynamic} --soname ${RELEASE_DYNLIB_SONAME} -+ -+LDFLAGS_DEBUG_static = ${CXXFLAGS_DEBUG_static} -+LDFLAGS_DEBUG_dynamic = ${CXXFLAGS_DEBUG_dynamic} --soname ${DEBUG_DYNLIB_SONAME} -+ -+LDFLAGS_STLDEBUG_static = ${CXXFLAGS_STLDEBUG_static} sparc_atomic.S -+LDFLAGS_STLDEBUG_dynamic = ${CXXFLAGS_STLDEBUG_dynamic} --soname ${STLDEBUG_DYNLIB_SONAME} -+ -+LDLIBS_RELEASE_dynamic = -lposix4 -+LDLIBS_STLDEBUG_dynamic = -lposix4 - --#%.s: %.cpp --# $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ - - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/locale.cpp tripwire-2.3.1-2/src/STLport-4.0/src/locale.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/locale.cpp Sat Feb 24 10:44:10 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/locale.cpp Sun Aug 11 18:59:22 2002 -@@ -18,376 +18,103 @@ - # include "stlport_prefix.h" - - #include --#include --#include "locale_impl.h" -+#include -+#include - --__STL_BEGIN_NAMESPACE -+#include "locale_nonclassic.h" - --locale::facet::~facet() {} -+_STLP_BEGIN_NAMESPACE - --# if ! defined ( __STL_MEMBER_TEMPLATES ) || defined (__STL_INLINE_MEMBER_TEMPLATES) -- --template --inline bool --locale_do_operator_call (const locale* __that, const basic_string<_CharT, char_traits<_CharT>, allocator<_CharT> >& __x, -- const basic_string<_CharT, char_traits<_CharT>, allocator<_CharT> >& __y) -+_Locale::_Locale(const _Locale_impl& L) -+ : _Locale_impl(L), _Refcount_Base(1), facets_vec((void**)L.facets, (void**)L.facets+L.size()) - { -- // typedef char _CharT; -- const __STLPORT_STD::collate<_CharT>& __col = -- use_facet<__STLPORT_STD::collate<_CharT> >(*__that); -- return __col.compare(__x.data(), __x.data() + __x.size(), -- __y.data(), __y.data() + __y.size()); --} -- --// members that fail to be templates --bool locale::operator()(const string& __x, -- const string& __y) const { -- return locale_do_operator_call(this, __x, __y); -+ for (size_t i = 1; i < L.size(); ++i) { -+ locale::facet* f = L.facets[i]; -+ if (f && f->_M_delete) -+ f->_M_incr(); -+ } -+ facets = (locale::facet**)&facets_vec[0]; -+ _M_size = facets_vec.size(); - } - --# ifndef __STL_NO_WCHAR_T --bool locale::operator()(const wstring& __x, -- const wstring& __y) const { -- return locale_do_operator_call(this, __x, __y); -+_Locale::~_Locale() { -+ size_t sz = facets_vec.size(); -+ for (size_t i = 1; i < sz ; ++i) -+ this->remove(i); - } --# endif --# endif - --//---------------------------------------------------------------------- --// struct locale::id -- --size_t locale::id::_S_max; --locale* _Stl_loc_classic_locale = 0; --_STL_STATIC_MUTEX _Stl_loc_global_locale_lock __STL_MUTEX_INITIALIZER; -- -- --//---------------------------------------------------------------------- --// class locale -- --// Helper function: return a copy of I. If do_clone is true --// we create a new _Locale_impl object, otherwise we just adjust --// the reference counts. --_Locale_impl* __STL_CALL --locale::_S_copy_impl(_Locale_impl* I, bool do_clone) --{ -- if (do_clone) { -- _Locale_impl* result = new _Locale_impl(*I); -- result->name = "*"; -- return result; -- } -- else { -- I->_M_incr(); -- return I; -+void _Locale::remove(size_t index) { -+ if (index > 0 && index < facets_vec.size()) { -+ locale::facet* old = (locale::facet*)facets_vec[index]; -+ if (old && old->_M_delete) { -+ old->_M_decr(); -+ if (old->_M_ref_count == 0) -+ delete old; -+ } -+ facets_vec[index] = 0; - } - } - --void locale::_M_insert(facet* f, locale::id& n) --{ -- if (f) -- _M_impl->insert(f, _Stl_loc_get_index(n), false); --} -- -- --void __STL_CALL --locale::_M_throw_runtime_error(const char* name) --{ -- char buf[256]; -- -- if (name) { -- const char* prefix = "bad locale name: "; -- strcpy(buf, prefix); -- strncat(buf, name, 256 - strlen(prefix)); -- buf[255] = '\0'; -- } -- else { -- strcpy(buf, "locale error"); -+locale::facet* -+_Locale::insert(locale::facet* f, size_t index, bool do_incr) { -+ if (f != 0 && index != 0) { -+ if (index >= facets_vec.size()) { -+ facets_vec.insert(facets_vec.end(), -+ index - facets_vec.size() + 1, (void*) 0); -+ facets = (locale::facet**)&facets_vec[0]; -+ _M_size = facets_vec.size(); -+ } -+ if (do_incr) -+ f->_M_incr(); -+ -+ remove(index); -+ facets_vec[index] = (void*)f; -+ return f; - } -- __STL_THROW(runtime_error(buf)); -+ else -+ return 0; - } - -- --// Initialization of the locale system. This must be called before --// any locales are constructed. (Meaning that it must be called when --// the I/O library itself is initialized.) --void __STL_CALL --locale::_S_initialize() --{ -- -- _Stl_loc_assign_ids(); -- _Locale_impl* classic_impl = _Stl_loc_make_classic_locale(); -- _Stl_loc_global_impl = classic_impl; -- _Stl_loc_classic_locale = new locale(classic_impl, false); -- // Postcondition: number of references to classic_impl is 2. -+void _Locale::insert(_Locale_impl* from, const locale::id& n) { -+ size_t index = n._M_index; -+ this->remove(index); -+ if (index > 0 && index < from->size()) -+ this->insert(from->facets[index], index, true); - } - - -+static _STLP_STATIC_MUTEX _Index_lock _STLP_MUTEX_INITIALIZER; - --void __STL_CALL --locale::_S_uninitialize() -+// Takes a reference to a locale::id, and returns its numeric index. -+// If no numeric index has yet been assigned, assigns one. The return -+// value is always positive. -+static size_t _Stl_loc_get_index(locale::id& id) - { -- if (_Stl_loc_global_impl->_M_decr() == 0) -- delete _Stl_loc_global_impl; -- delete _Stl_loc_classic_locale; -- -- _Stl_loc_global_impl = 0; -- _Stl_loc_classic_locale = 0; -+ if (id._M_index == 0) { -+ _STLP_auto_lock sentry(_Index_lock); -+ size_t new_index = locale::id::_S_max++; -+ id._M_index = new_index; -+ } -+ return id._M_index; - } - -- --// Default constructor: create a copy of the global locale. --locale::locale() -- : _M_impl(0) -+void locale::_M_insert(facet* f, locale::id& n) - { -- _M_impl = _S_copy_impl(_Stl_loc_global_impl, false); -+ if (f) -+ ((_Locale*)_M_impl)->insert(f, _Stl_loc_get_index(n), false); - } - --// Copy constructor --locale::locale(const locale& L) __STL_NOTHROW -- : _M_impl(0) --{ -- _M_impl = _S_copy_impl(L._M_impl, false); --} - - // Make a locale directly from a _Locale_impl object. If the second argument - // is true, we clone the _Locale_impl. If false, we just twiddle pointers. - locale::locale(_Locale_impl* impl, bool do_copy) - : _M_impl(0) - { -- _M_impl = _S_copy_impl(impl, do_copy); --} -- -- --// Create a locale from a name. --locale::locale(const char* name) -- : _M_impl(0) --{ -- if (!name) -- _M_throw_runtime_error(0); -- -- __STL_TRY { -- _M_impl = new _Locale_impl(locale::id::_S_max, name); -- -- // Insert categories one at a time. -- _M_impl->insert_ctype_facets(name); -- _M_impl->insert_numeric_facets(name); -- _M_impl->insert_time_facets(name); -- _M_impl->insert_collate_facets(name); -- _M_impl->insert_monetary_facets(name); -- _M_impl->insert_messages_facets(name); -- } -- __STL_UNWIND(delete _M_impl); --} -- --// Contruct a new locale where all facets that aren't in category c --// come from L1, and all those that are in category c come from L2. --locale::locale(const locale& L1, const locale& L2, category c) -- : _M_impl(0) --{ -- _M_impl = new _Locale_impl(*L1._M_impl); -- _Locale_impl* i2 = L2._M_impl; -- -- static string nameless("*"); -- if (L1.name() != nameless && L2.name() != nameless) -- _Stl_loc_combine_names(_M_impl, -- L1._M_impl->name.c_str(), L2._M_impl->name.c_str(), -- c); -- else { -+ if (do_copy) { -+ _M_impl = new _Locale(*impl); - _M_impl->name = "*"; -- } -- -- if (c & collate) { -- _M_impl->insert( i2, __STLPORT_STD::collate::id); --# ifndef __STL_NO_WCHAR_T -- _M_impl->insert( i2, __STLPORT_STD::collate::id); --# endif -- } -- if (c & ctype) { -- _M_impl->insert( i2, __STLPORT_STD::ctype::id); -- _M_impl->insert( i2, __STLPORT_STD::codecvt::id); --# ifndef __STL_NO_WCHAR_T -- _M_impl->insert( i2, __STLPORT_STD::ctype::id); -- _M_impl->insert( i2, __STLPORT_STD::codecvt::id); --# endif -- } -- if (c & monetary) { -- _M_impl->insert( i2, __STLPORT_STD::moneypunct::id); -- _M_impl->insert( i2, __STLPORT_STD::moneypunct::id); -- _M_impl->insert( i2, __STLPORT_STD::money_get > >::id); -- _M_impl->insert( i2, __STLPORT_STD::money_put > >::id); --# ifndef __STL_NO_WCHAR_T -- _M_impl->insert( i2, __STLPORT_STD::moneypunct::id); -- _M_impl->insert( i2, __STLPORT_STD::moneypunct::id); -- _M_impl->insert( i2, __STLPORT_STD::money_get > >::id); -- _M_impl->insert( i2, __STLPORT_STD::money_put > >::id); --# endif -- } -- if (c & numeric) { -- _M_impl->insert( i2, __STLPORT_STD::numpunct::id); -- _M_impl->insert( i2, __STLPORT_STD::num_get > >::id); -- _M_impl->insert( i2, __STLPORT_STD::num_put > >::id); --# ifndef __STL_NO_WCHAR_T -- _M_impl->insert( i2, __STLPORT_STD::numpunct::id); -- _M_impl->insert( i2, num_get > >::id); -- _M_impl->insert( i2, num_put > >::id); --# endif -- } -- if (c & time) { -- _M_impl->insert( i2, __STLPORT_STD::time_get > >::id); -- _M_impl->insert( i2, __STLPORT_STD::time_put > >::id); --# ifndef __STL_NO_WCHAR_T -- _M_impl->insert( i2, __STLPORT_STD::time_get > >::id); -- _M_impl->insert( i2, __STLPORT_STD::time_put > >::id); --# endif -- } -- if (c & messages) { -- _M_impl->insert( i2, __STLPORT_STD::messages::id); --# ifndef __STL_NO_WCHAR_T -- _M_impl->insert( i2, __STLPORT_STD::messages::id); --# endif -- } -+ } else -+ _M_impl = _S_copy_impl(impl); - } - --// Create a locale that's a copy of L, except that all of the facets --// in category c are instead constructed by name. --locale::locale(const locale& L, const char* name, locale::category c) -- : _M_impl(0) --{ -- if (name == 0 || strcmp(name, "*") == 0) -- _M_throw_runtime_error(name); -- -- __STL_TRY { -- _M_impl = new _Locale_impl(*L._M_impl); -- _Stl_loc_combine_names(_M_impl, L._M_impl->name.c_str(), name, c); -- -- if (c & locale::ctype) -- _M_impl->insert_ctype_facets(name); -- if (c & locale::numeric) -- _M_impl->insert_numeric_facets(name); -- if (c & locale::time) -- _M_impl->insert_time_facets(name); -- if (c & locale::collate) -- _M_impl->insert_collate_facets(name); -- if (c & locale::monetary) -- _M_impl->insert_monetary_facets(name); -- if (c & locale::messages) -- _M_impl->insert_messages_facets(name); -- } -- __STL_UNWIND(delete _M_impl) --} -- --// Destructor. --locale::~locale() __STL_NOTHROW --{ -- if (_M_impl->_M_decr() == 0) -- delete _M_impl; --} -- --// Assignment operator. Much like the copy constructor: just a bit of --// pointer twiddling. --const locale& locale::operator=(const locale& L) __STL_NOTHROW --{ -- if (this->_M_impl != L._M_impl) { -- if (this->_M_impl->_M_decr() == 0) -- delete this->_M_impl; -- this->_M_impl = _S_copy_impl(L._M_impl, false); -- } -- return *this; --} -- --locale::facet* locale::_M_get_facet(const locale::id& n) const --{ -- return n._M_index < _M_impl->facets.size() -- ? (locale::facet*)_M_impl->facets[n._M_index] -- : (locale::facet*) 0; --} -- --string locale::name() const { -- return _M_impl->name; --} -- -- --// Compare two locales for equality. --bool locale::operator==(const locale& L) const { -- static string nameless("*"); -- -- return this->_M_impl == L._M_impl || -- (this->name() == L.name() && this->name() != nameless); --} -- --bool locale::operator!=(const locale& L) const { -- return !(*this == L); --} -- --// Static member functions. --const locale& __STL_CALL --locale::classic() { -- return *_Stl_loc_classic_locale; --} -- --locale __STL_CALL --locale::global(const locale& L) --{ -- locale old; // A copy of the old global locale. -- -- L._M_impl->_M_incr(); -- { -- _STL_auto_lock lock(_Stl_loc_global_locale_lock); -- _Stl_loc_global_impl->_M_decr(); // We made a copy, so it can't be zero. -- _Stl_loc_global_impl = L._M_impl; -- } -- -- // Set the global C locale, if appropriate. -- static string nameless("*"); -- if (L.name() != nameless) -- setlocale(LC_ALL, L.name().c_str()); -- -- return old; --} -- -- --// static data members. -- --# if !defined (__STL_STATIC_CONST_INIT_BUG) && ! defined (__STL_USE_DECLSPEC) -- --const locale::category locale::none; --const locale::category locale::collate; --const locale::category locale::ctype; --const locale::category locale::monetary; --const locale::category locale::numeric; --const locale::category locale::time; --const locale::category locale::messages; --const locale::category locale::all; -- --# endif -- -- --//---------------------------------------------------------------------- --// Declarations of (non-template) facets' static data members --__STL_STATIC_MEMBER_DECLSPEC locale::id collate::id; --__STL_STATIC_MEMBER_DECLSPEC locale::id ctype::id; -- --__STL_STATIC_MEMBER_DECLSPEC locale::id numpunct::id; -- -- --# ifndef __STL_NO_MBSTATE_T --__STL_STATIC_MEMBER_DECLSPEC locale::id codecvt::id; --__STL_STATIC_MEMBER_DECLSPEC locale::id codecvt::id; --# endif -- --__STL_STATIC_MEMBER_DECLSPEC locale::id moneypunct::id; --__STL_STATIC_MEMBER_DECLSPEC locale::id moneypunct::id; -- --__STL_STATIC_MEMBER_DECLSPEC locale::id messages::id; -- --# ifndef __STL_NO_WCHAR_T --__STL_STATIC_MEMBER_DECLSPEC locale::id numpunct::id; --__STL_STATIC_MEMBER_DECLSPEC locale::id ctype::id; --__STL_STATIC_MEMBER_DECLSPEC locale::id collate::id; --__STL_STATIC_MEMBER_DECLSPEC locale::id moneypunct::id; --__STL_STATIC_MEMBER_DECLSPEC locale::id moneypunct::id; --__STL_STATIC_MEMBER_DECLSPEC locale::id messages::id; --# endif -- -- -- --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/locale_catalog.cpp tripwire-2.3.1-2/src/STLport-4.0/src/locale_catalog.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/locale_catalog.cpp Sat Feb 24 10:44:11 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/locale_catalog.cpp Sun Aug 11 18:59:22 2002 -@@ -17,11 +17,26 @@ - */ - # include "stlport_prefix.h" - --#include -+// #include - #include - #include "locale_impl.h" -+#include "c_locale.h" - --__STL_BEGIN_NAMESPACE -+#include "locale_nonclassic.h" -+ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+ -+_STLP_BEGIN_NAMESPACE - - // those wrappers are needed to avoid extern "C" - -@@ -107,7 +122,7 @@ - // We have a single lock for all of the hash tables. We may wish to - // replace it with six different locks. - /* REFERENCED */ --_STL_STATIC_MUTEX __category_hash_lock __STL_MUTEX_INITIALIZER; -+_STLP_STATIC_MUTEX __category_hash_lock _STLP_MUTEX_INITIALIZER; - - static void* - __acquire_category(const char* name, loc_create_func_t create_obj, -@@ -115,7 +130,7 @@ - { - typedef Category_Map::iterator Category_iterator; - pair result; -- _STL_auto_lock sentry(__category_hash_lock); -+ _STLP_auto_lock sentry(__category_hash_lock); - - typedef const char* key_type; - pair > __e(name, pair((void*)0,size_t(0))); -@@ -155,7 +170,7 @@ - loc_name_func_t get_name, - Category_Map* M) - { -- _STL_auto_lock sentry(__category_hash_lock); -+ _STLP_auto_lock sentry(__category_hash_lock); - - if (cat && M) { - // Find the name of the category object. -@@ -177,42 +192,545 @@ - } - } - --_Locale_ctype* __STL_CALL __acquire_ctype(const char* name) -+_Locale_ctype* _STLP_CALL __acquire_ctype(const char* name) - { return __REINTERPRET_CAST(_Locale_ctype*, - __acquire_category(name, _Loc_ctype_create, _Loc_ctype_default, &ctype_hash)); } --_Locale_numeric* __STL_CALL __acquire_numeric(const char* name) -+_Locale_numeric* _STLP_CALL __acquire_numeric(const char* name) - { return __REINTERPRET_CAST(_Locale_numeric*, - __acquire_category(name, _Loc_numeric_create, _Loc_numeric_default, &numeric_hash)); } --_Locale_time* __STL_CALL __acquire_time(const char* name) -+_Locale_time* _STLP_CALL __acquire_time(const char* name) - { return __REINTERPRET_CAST(_Locale_time*, - __acquire_category(name, _Loc_time_create, _Loc_time_default, &time_hash)); } --_Locale_collate* __STL_CALL __acquire_collate(const char* name) -+_Locale_collate* _STLP_CALL __acquire_collate(const char* name) - { return __REINTERPRET_CAST(_Locale_collate*, - __acquire_category(name, _Loc_collate_create, _Loc_collate_default, &collate_hash)); } --_Locale_monetary* __STL_CALL __acquire_monetary(const char* name) -+_Locale_monetary* _STLP_CALL __acquire_monetary(const char* name) - { return __REINTERPRET_CAST(_Locale_monetary*, - __acquire_category(name, _Loc_monetary_create, _Loc_monetary_default, &monetary_hash)); } --_Locale_messages* __STL_CALL __acquire_messages(const char* name) -+_Locale_messages* _STLP_CALL __acquire_messages(const char* name) - { return __REINTERPRET_CAST(_Locale_messages*, - __acquire_category(name, _Loc_messages_create, _Loc_messages_default, &messages_hash)); } - --void __STL_CALL __release_ctype(_Locale_ctype* cat) { -+void _STLP_CALL __release_ctype(_Locale_ctype* cat) { - __release_category(cat, _Loc_ctype_destroy, _Loc_ctype_name, ctype_hash); - } --void __STL_CALL __release_numeric(_Locale_numeric* cat) { -+void _STLP_CALL __release_numeric(_Locale_numeric* cat) { - __release_category(cat, _Loc_numeric_destroy, _Loc_numeric_name, numeric_hash); - } --void __STL_CALL __release_time(_Locale_time* cat) { -+void _STLP_CALL __release_time(_Locale_time* cat) { - __release_category(cat, _Loc_time_destroy, _Loc_time_name, time_hash); - } --void __STL_CALL __release_collate(_Locale_collate* cat) { -+void _STLP_CALL __release_collate(_Locale_collate* cat) { - __release_category(cat, _Loc_collate_destroy, _Loc_collate_name, collate_hash); - } --void __STL_CALL __release_monetary(_Locale_monetary* cat) { -+void _STLP_CALL __release_monetary(_Locale_monetary* cat) { - __release_category(cat, _Loc_monetary_destroy, _Loc_monetary_name, monetary_hash); - } --void __STL_CALL __release_messages(_Locale_messages* cat) { -+void _STLP_CALL __release_messages(_Locale_messages* cat) { - __release_category(cat, _Loc_messages_destroy, _Loc_messages_name, messages_hash); - } - --__STL_END_NAMESPACE -+ -+// -+// content which is dependent on the name -+// -+ -+template -+inline locale::facet* -+_Locale_insert(_Locale* __that, Facet* f) { -+ return __that->insert(f, Facet::id._M_index, false); -+} -+ -+// Give L a name where all facets except those in category c -+// are taken from name1, and those in category c are taken from name2. -+void _Stl_loc_combine_names(_Locale* L, -+ const char* name1, const char* name2, -+ locale::category c) -+{ -+ if ((c & locale::all) == 0 || strcmp(name1, name2) == 0) -+ L->name = name1; -+ else if ((c & locale::all) == locale::all) -+ L->name = name2; -+ else { -+ // Decompose the names. -+ char ctype_buf[_Locale_MAX_SIMPLE_NAME]; -+ char numeric_buf[_Locale_MAX_SIMPLE_NAME]; -+ char time_buf[_Locale_MAX_SIMPLE_NAME]; -+ char collate_buf[_Locale_MAX_SIMPLE_NAME]; -+ char monetary_buf[_Locale_MAX_SIMPLE_NAME]; -+ char messages_buf[_Locale_MAX_SIMPLE_NAME]; -+ -+ _Locale_extract_ctype_name((c & locale::ctype) ? name2 : name1, -+ ctype_buf); -+ _Locale_extract_numeric_name((c & locale::numeric) ? name2 : name1, -+ numeric_buf); -+ _Locale_extract_time_name((c & locale::time) ? name2 : name1, -+ time_buf); -+ _Locale_extract_collate_name((c & locale::collate) ? name2 : name1, -+ collate_buf); -+ _Locale_extract_monetary_name((c & locale::monetary) ? name2 : name1, -+ monetary_buf); -+ _Locale_extract_messages_name((c & locale::messages) ? name2 : name1, -+ messages_buf); -+ -+ // Construct a new composite name. -+ char composite_buf[_Locale_MAX_COMPOSITE_NAME]; -+ _Locale_compose_name(composite_buf, -+ ctype_buf, numeric_buf, time_buf, -+ collate_buf, monetary_buf, messages_buf); -+ L->name = composite_buf; -+ } -+} -+ -+ -+// Create a locale from a name. -+locale::locale(const char* name) -+ : _M_impl(0) -+{ -+ if (!name) -+ _M_throw_runtime_error(0); -+ -+ _Locale* impl = 0; -+ -+ _STLP_TRY { -+ impl = new _Locale(locale::id::_S_max, name); -+ -+ // Insert categories one at a time. -+ impl->insert_ctype_facets(name); -+ impl->insert_numeric_facets(name); -+ impl->insert_time_facets(name); -+ impl->insert_collate_facets(name); -+ impl->insert_monetary_facets(name); -+ impl->insert_messages_facets(name); -+ // reassign impl -+ _M_impl = impl; -+ } -+ _STLP_UNWIND(delete impl); -+} -+ -+// Create a locale that's a copy of L, except that all of the facets -+// in category c are instead constructed by name. -+locale::locale(const locale& L, const char* name, locale::category c) -+ : _M_impl(0) -+{ -+ if (name == 0 || strcmp(name, "*") == 0) -+ _M_throw_runtime_error(name); -+ -+ _Locale* impl = 0; -+ -+ _STLP_TRY { -+ impl = new _Locale(*L._M_impl); -+ _Stl_loc_combine_names(impl, L._M_impl->name.c_str(), name, c); -+ -+ if (c & locale::ctype) -+ impl->insert_ctype_facets(name); -+ if (c & locale::numeric) -+ impl->insert_numeric_facets(name); -+ if (c & locale::time) -+ impl->insert_time_facets(name); -+ if (c & locale::collate) -+ impl->insert_collate_facets(name); -+ if (c & locale::monetary) -+ impl->insert_monetary_facets(name); -+ if (c & locale::messages) -+ impl->insert_messages_facets(name); -+ _M_impl = impl; -+ } -+ _STLP_UNWIND(delete impl) -+ -+} -+ -+// Contruct a new locale where all facets that aren't in category c -+// come from L1, and all those that are in category c come from L2. -+locale::locale(const locale& L1, const locale& L2, category c) -+ : _M_impl(0) -+{ -+ _Locale* impl = new _Locale(*L1._M_impl); -+ -+ _Locale_impl* i2 = L2._M_impl; -+ -+ static string nameless("*"); -+ if (L1.name() != nameless && L2.name() != nameless) -+ _Stl_loc_combine_names(impl, -+ L1._M_impl->name.c_str(), L2._M_impl->name.c_str(), -+ c); -+ else { -+ impl->name = "*"; -+ } -+ -+ if (c & collate) { -+ impl->insert( i2, _STLP_STD::collate::id); -+# ifndef _STLP_NO_WCHAR_T -+ impl->insert( i2, _STLP_STD::collate::id); -+# endif -+ } -+ if (c & ctype) { -+ impl->insert( i2, _STLP_STD::ctype::id); -+ impl->insert( i2, _STLP_STD::codecvt::id); -+# ifndef _STLP_NO_WCHAR_T -+ impl->insert( i2, _STLP_STD::ctype::id); -+ impl->insert( i2, _STLP_STD::codecvt::id); -+# endif -+ } -+ if (c & monetary) { -+ impl->insert( i2, _STLP_STD::moneypunct::id); -+ impl->insert( i2, _STLP_STD::moneypunct::id); -+ impl->insert( i2, _STLP_STD::money_get > >::id); -+ impl->insert( i2, _STLP_STD::money_put > >::id); -+# ifndef _STLP_NO_WCHAR_T -+ impl->insert( i2, _STLP_STD::moneypunct::id); -+ impl->insert( i2, _STLP_STD::moneypunct::id); -+ impl->insert( i2, _STLP_STD::money_get > >::id); -+ impl->insert( i2, _STLP_STD::money_put > >::id); -+# endif -+ } -+ if (c & numeric) { -+ impl->insert( i2, _STLP_STD::numpunct::id); -+ impl->insert( i2, _STLP_STD::num_get > >::id); -+ impl->insert( i2, _STLP_STD::num_put > >::id); -+# ifndef _STLP_NO_WCHAR_T -+ impl->insert( i2, _STLP_STD::numpunct::id); -+ impl->insert( i2, num_get > >::id); -+ impl->insert( i2, num_put > >::id); -+# endif -+ } -+ if (c & time) { -+ impl->insert( i2, _STLP_STD::time_get > >::id); -+ impl->insert( i2, _STLP_STD::time_put > >::id); -+# ifndef _STLP_NO_WCHAR_T -+ impl->insert( i2, _STLP_STD::time_get > >::id); -+ impl->insert( i2, _STLP_STD::time_put > >::id); -+# endif -+ } -+ if (c & messages) { -+ impl->insert( i2, _STLP_STD::messages::id); -+# ifndef _STLP_NO_WCHAR_T -+ impl->insert( i2, _STLP_STD::messages::id); -+# endif -+ } -+ _M_impl = impl; -+} -+ -+// Six functions, one for each category. Each of them takes a -+// _Locale* and a name, constructs that appropriate category -+// facets by name, and inserts them into the locale. -+ -+void _Locale::insert_ctype_facets(const char* pname) -+{ -+ char buf[_Locale_MAX_SIMPLE_NAME]; -+ _Locale_impl* i2 = locale::classic()._M_impl; -+ -+ if (pname == 0 || pname[0] == 0) -+ pname = _Locale_ctype_default(buf); -+ -+ if (pname == 0 || pname[0] == 0 || strcmp(pname, "C") == 0) { -+ this->insert(i2, ctype::id); -+# ifndef _STLP_NO_MBSTATE_T -+ this->insert(i2, codecvt::id); -+# endif -+# ifndef _STLP_NO_WCHAR_T -+ this->insert(i2, ctype::id); -+# ifndef _STLP_NO_MBSTATE_T -+ this->insert(i2, codecvt::id); -+# endif -+# endif -+ } -+ else { -+ ctype* ct = 0; -+# ifndef _STLP_NO_MBSTATE_T -+ codecvt* cvt = 0; -+# endif -+# ifndef _STLP_NO_WCHAR_T -+ ctype* wct = 0; -+ codecvt* wcvt = 0; -+# endif -+ _STLP_TRY { -+ ct = new ctype_byname(pname); -+# ifndef _STLP_NO_MBSTATE_T -+ cvt = new codecvt_byname(pname); -+# endif -+# ifndef _STLP_NO_WCHAR_T -+ wct = new ctype_byname(pname); -+ wcvt = new codecvt_byname(pname); -+# endif -+ } -+ -+# ifndef _STLP_NO_WCHAR_T -+# ifdef _STLP_NO_MBSTATE_T -+ _STLP_UNWIND(delete ct; delete wct; delete wcvt); -+# else -+ _STLP_UNWIND(delete ct; delete wct; delete cvt; delete wcvt); -+# endif -+# else -+# ifdef _STLP_NO_MBSTATE_T -+ _STLP_UNWIND(delete ct); -+# else -+ _STLP_UNWIND(delete ct; delete cvt); -+# endif -+# endif -+ _Locale_insert(this, ct); -+# ifndef _STLP_NO_MBSTATE_T -+ _Locale_insert(this, cvt); -+# endif -+# ifndef _STLP_NO_WCHAR_T -+ _Locale_insert(this, wct); -+ _Locale_insert(this, wcvt); -+# endif -+ } -+} -+ -+void _Locale::insert_numeric_facets(const char* pname) -+{ -+ _Locale_impl* i2 = locale::classic()._M_impl; -+ -+ numpunct* punct = 0; -+ num_get > >* get = 0; -+ num_put > >* put = 0; -+# ifndef _STLP_NO_WCHAR_T -+ numpunct* wpunct = 0; -+ num_get > >* wget = 0; -+ num_put > >* wput = 0; -+# endif -+ -+ char buf[_Locale_MAX_SIMPLE_NAME]; -+ if (pname == 0 || pname[0] == 0) -+ pname = _Locale_numeric_default(buf); -+ -+ if (pname == 0 || pname[0] == 0 || strcmp(pname, "C") == 0) { -+ this->insert(i2, numpunct::id); -+ this->insert(i2, -+ num_put > >::id); -+ this->insert(i2, -+ num_get > >::id); -+# ifndef _STLP_NO_WCHAR_T -+ this->insert(i2, numpunct::id); -+ this->insert(i2, -+ num_get > >::id); -+ this->insert(i2, -+ num_put > >::id); -+# endif -+ } -+ else { -+ _STLP_TRY { -+ punct = new numpunct_byname(pname); -+ get = new num_get > >; -+ put = new num_put > >; -+# ifndef _STLP_NO_WCHAR_T -+ wpunct = new numpunct_byname(pname); -+ wget = new num_get > >; -+ wput = new num_put > >; -+# endif -+ } -+# ifndef _STLP_NO_WCHAR_T -+ _STLP_UNWIND(delete punct; delete wpunct; delete get; delete wget; -+ delete put; delete wput); -+# else -+ _STLP_UNWIND(delete punct; delete get;delete put); -+# endif -+ -+ _Locale_insert(this,punct); -+ _Locale_insert(this,get); -+ _Locale_insert(this,put); -+ -+# ifndef _STLP_NO_WCHAR_T -+ _Locale_insert(this,wpunct); -+ _Locale_insert(this,wget); -+ _Locale_insert(this,wput); -+# endif -+ } -+} -+ -+void _Locale::insert_time_facets(const char* pname) -+{ -+ _Locale_impl* i2 = locale::classic()._M_impl; -+ time_get > >* get = 0; -+ time_put > >* put = 0; -+# ifndef _STLP_NO_WCHAR_T -+ time_get > >* wget = 0; -+ time_put > >* wput = 0; -+# endif -+ -+ char buf[_Locale_MAX_SIMPLE_NAME]; -+ if (pname == 0 || pname[0] == 0) -+ pname = _Locale_time_default(buf); -+ -+ if (pname == 0 || pname[0] == 0 || strcmp(pname, "C") == 0) { -+ -+ this->insert(i2, -+ time_get > >::id); -+ this->insert(i2, -+ time_put > >::id); -+# ifndef _STLP_NO_WCHAR_T -+ this->insert(i2, -+ time_get > >::id); -+ this->insert(i2, -+ time_put > >::id); -+# endif -+ } -+ else { -+ _STLP_TRY { -+ get = new time_get_byname > >(pname); -+ put = new time_put_byname > >(pname); -+# ifndef _STLP_NO_WCHAR_T -+ wget = new time_get_byname > >(pname); -+ wput = new time_put_byname > >(pname); -+# endif -+ } -+# ifndef _STLP_NO_WCHAR_T -+ _STLP_UNWIND(delete get; delete wget; delete put; delete wput); -+# else -+ _STLP_UNWIND(delete get; delete put); -+# endif -+ _Locale_insert(this,get); -+ _Locale_insert(this,put); -+# ifndef _STLP_NO_WCHAR_T -+ _Locale_insert(this,wget); -+ _Locale_insert(this,wput); -+# endif -+ } -+} -+ -+void _Locale::insert_collate_facets(const char* nam) -+{ -+ _Locale_impl* i2 = locale::classic()._M_impl; -+ -+ collate* col = 0; -+# ifndef _STLP_NO_WCHAR_T -+ collate* wcol = 0; -+# endif -+ -+ char buf[_Locale_MAX_SIMPLE_NAME]; -+ if (nam == 0 || nam[0] == 0) -+ nam = _Locale_collate_default(buf); -+ -+ if (nam == 0 || nam[0] == 0 || strcmp(nam, "C") == 0) { -+ this->insert(i2, collate::id); -+# ifndef _STLP_NO_WCHAR_T -+ this->insert(i2, collate::id); -+# endif -+ } -+ else { -+ _STLP_TRY { -+ col = new collate_byname(nam); -+# ifndef _STLP_NO_WCHAR_T -+ wcol = new collate_byname(nam); -+# endif -+ } -+# ifndef _STLP_NO_WCHAR_T -+ _STLP_UNWIND(delete col; delete wcol); -+# else -+ _STLP_UNWIND(delete col); -+# endif -+ _Locale_insert(this,col); -+# ifndef _STLP_NO_WCHAR_T -+ _Locale_insert(this,wcol); -+# endif -+ } -+} -+ -+void _Locale::insert_monetary_facets(const char* pname) -+{ -+ _Locale_impl* i2 = locale::classic()._M_impl; -+ -+ moneypunct* punct = 0; -+ moneypunct* ipunct = 0; -+ money_get > >* get = 0; -+ money_put > >* put = 0; -+ -+# ifndef _STLP_NO_WCHAR_T -+ moneypunct* wpunct = 0; -+ moneypunct* wipunct = 0; -+ money_get > >* wget = 0; -+ money_put > >* wput = 0; -+# endif -+ -+ char buf[_Locale_MAX_SIMPLE_NAME]; -+ if (pname == 0 || pname[0] == 0) -+ pname = _Locale_monetary_default(buf); -+ -+ if (pname == 0 || pname[0] == 0 || strcmp(pname, "C") == 0) { -+ this->insert(i2, moneypunct::id); -+ this->insert(i2, moneypunct::id); -+ this->insert(i2, money_get > >::id); -+ this->insert(i2, money_put > >::id); -+# ifndef _STLP_NO_WCHAR_T -+ this->insert(i2, moneypunct::id); -+ this->insert(i2, moneypunct::id); -+ this->insert(i2, money_get > >::id); -+ this->insert(i2, money_put > >::id); -+# endif -+ } -+ else { -+ _STLP_TRY { -+ punct = new moneypunct_byname(pname); -+ ipunct = new moneypunct_byname(pname); -+ get = new money_get > >; -+ put = new money_put > >; -+# ifndef _STLP_NO_WCHAR_T -+ wpunct = new moneypunct_byname(pname); -+ wipunct = new moneypunct_byname(pname); -+ wget = new money_get > >; -+ wput = new money_put > >; -+# endif -+ } -+# ifndef _STLP_NO_WCHAR_T -+ _STLP_UNWIND(delete punct; delete ipunct; delete wpunct; delete wipunct; -+ delete get; delete wget; delete put; delete wput); -+# else -+ _STLP_UNWIND(delete punct; delete ipunct; delete get; delete put); -+# endif -+ _Locale_insert(this,punct); -+ _Locale_insert(this,ipunct); -+ _Locale_insert(this,get); -+ _Locale_insert(this,put); -+# ifndef _STLP_NO_WCHAR_T -+ _Locale_insert(this,wget); -+ _Locale_insert(this,wpunct); -+ _Locale_insert(this,wipunct); -+ _Locale_insert(this,wput); -+# endif -+ } -+} -+ -+ -+void _Locale::insert_messages_facets(const char* pname) -+{ -+ _Locale_impl* i2 = locale::classic()._M_impl; -+ messages* msg = 0; -+# ifndef _STLP_NO_WCHAR_T -+ messages* wmsg = 0; -+# endif -+ -+ char buf[_Locale_MAX_SIMPLE_NAME]; -+ if (pname == 0 || pname[0] == 0) -+ pname = _Locale_messages_default(buf); -+ -+ if (pname == 0 || pname[0] == 0 || strcmp(pname, "C") == 0) { -+ this->insert(i2, messages::id); -+# ifndef _STLP_NO_WCHAR_T -+ this->insert(i2, messages::id); -+# endif -+ } -+ else { -+ _STLP_TRY { -+ msg = new messages_byname(pname); -+# ifndef _STLP_NO_WCHAR_T -+ wmsg = new messages_byname(pname); -+# endif -+ } -+# ifndef _STLP_NO_WCHAR_T -+ _STLP_UNWIND(delete msg; delete wmsg); -+# else -+ _STLP_UNWIND(delete msg); -+# endif -+ _Locale_insert(this,msg); -+# ifndef _STLP_NO_WCHAR_T -+ _Locale_insert(this,wmsg); -+# endif -+ } -+} -+ -+_STLP_END_NAMESPACE -+ -+ -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/locale_impl.cpp tripwire-2.3.1-2/src/STLport-4.0/src/locale_impl.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/locale_impl.cpp Sat Feb 24 10:44:11 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/locale_impl.cpp Sun Aug 11 18:59:22 2002 -@@ -17,537 +17,458 @@ - */ - # include "stlport_prefix.h" - --//# ifdef __CYGWIN__ --//# define __STL_IN_LOCALE_CPP 1 --//# endif -- - #include "locale_impl.h" -+#include -+#include -+#include -+#include "c_locale.h" -+#include "aligned_buffer.h" - --__STL_BEGIN_NAMESPACE - --// _Locale_impl non-inline member functions. -+#include "locale_impl.h" -+#include -+#include -+#include -+#include -+#include "message_facets.h" -+ -+_STLP_BEGIN_NAMESPACE -+ -+_Locale_impl::_Locale_impl(const char* s) : name(s) {} -+_Locale_impl::~_Locale_impl() {} -+void _Locale_impl::incr() {} -+void _Locale_impl::decr() {} - --_Locale_impl::_Locale_impl(const _Locale_impl& L) -- : _Refcount_Base(1), facets(L.facets), -- name(L.name) -+// _Locale_impl non-inline member functions. -+void _STLP_CALL -+_Locale_impl::_M_throw_bad_cast() - { -- for (size_t i = 1; i < L.facets.size(); ++i) { -- if (L.facets[i] && ((locale::facet*)L.facets[i])->_M_delete) -- ((locale::facet*)L.facets[i])->_M_incr(); -- } -+ _STLP_THROW(bad_cast()); - } - --_Locale_impl::~_Locale_impl() { -- for (size_t i = 1; i < facets.size(); ++i) -- remove(i); --} -+static void -+_Stl_loc_assign_ids() { -+ // This assigns ids to every facet that is a member of a category, -+ // and also to money_get/put, num_get/put, and time_get/put -+ // instantiated using ordinary pointers as the input/output -+ // iterators. (The default is [io]streambuf_iterator.) - -+ money_get > >::id._M_index = 8; -+ money_get::id._M_index = 9; -+ money_put > >::id._M_index = 10; -+ money_put::id._M_index = 11; -+ -+ num_get > >::id._M_index = 12; -+ num_get::id._M_index = 13; -+ num_put > >::id._M_index = 14; -+ num_put::id._M_index = 15; -+ time_get > >::id._M_index = 16; -+ time_get::id._M_index = 17; -+ time_put > >::id._M_index = 18; -+ time_put::id._M_index = 19; -+ -+# ifndef _STLP_NO_WCHAR_T -+ -+ money_get > >::id._M_index = 27; -+ money_get::id._M_index = 28; -+ money_put > >::id._M_index = 29; -+ money_put::id._M_index = 30; -+ -+ num_get > >::id._M_index = 31; -+ num_get::id._M_index = 32; -+ num_put > > ::id._M_index = 33; -+ num_put::id._M_index = 34; -+ time_get > >::id._M_index = 35; -+ time_get::id._M_index = 36; -+ time_put > >::id._M_index = 37; -+ time_put::id._M_index = 38; -+ // messages::id._M_index = 38; -+# endif -+ -+ // locale::id::_S_max = 39; -+} -+ -+static _Stl_aligned_buffer<_Locale_impl> _S_classic_locale; -+ -+static _Stl_aligned_buffer > _S_collate_char; -+static _Stl_aligned_buffer > _S_ctype_char; -+ -+# ifndef _STLP_NO_MBSTATE_T -+static _Stl_aligned_buffer > _S_codecvt_char; -+# endif -+ -+static _Stl_aligned_buffer > _S_moneypunct_true_char; -+static _Stl_aligned_buffer > _S_moneypunct_false_char; -+static _Stl_aligned_buffer > _S_numpunct_char; -+static _Stl_aligned_buffer > _S_messages_char; -+ -+static _Stl_aligned_buffer > > > _S_money_get_char; -+static _Stl_aligned_buffer > > > _S_money_put_char; -+static _Stl_aligned_buffer > > > _S_num_get_char; -+static _Stl_aligned_buffer > > > _S_num_put_char; -+static _Stl_aligned_buffer > > > _S_time_get_char; -+static _Stl_aligned_buffer > > > _S_time_put_char; -+ -+# ifndef _STLP_NO_WCHAR_T -+static _Stl_aligned_buffer > _S_collate_wchar; -+static _Stl_aligned_buffer > _S_ctype_wchar; -+# ifndef _STLP_NO_MBSTATE_T -+static _Stl_aligned_buffer > _S_codecvt_wchar; -+# endif -+static _Stl_aligned_buffer > _S_moneypunct_true_wchar; -+static _Stl_aligned_buffer > _S_moneypunct_false_wchar; -+static _Stl_aligned_buffer > _S_numpunct_wchar; -+static _Stl_aligned_buffer > _S_messages_wchar; -+ -+static _Stl_aligned_buffer > > > _S_money_get_wchar; -+static _Stl_aligned_buffer > > > _S_money_put_wchar; -+static _Stl_aligned_buffer > > > _S_num_get_wchar; -+static _Stl_aligned_buffer > > > _S_num_put_wchar; -+static _Stl_aligned_buffer > > > _S_time_get_wchar; -+static _Stl_aligned_buffer > > > _S_time_put_wchar; -+ -+# endif -+ -+static _Messages _Null_messages; -+ -+static locale::facet* _S_classic_facets[] = { -+ (locale::facet*)0, -+ (locale::facet*)&_S_collate_char, -+ (locale::facet*)&_S_ctype_char, -+# ifndef _STLP_NO_MBSTATE_T -+ (locale::facet*)&_S_codecvt_char, -+# else -+ (locale::facet*)0, -+# endif -+ (locale::facet*)&_S_moneypunct_true_char, -+ (locale::facet*)&_S_moneypunct_false_char, -+ (locale::facet*)&_S_numpunct_char, -+ (locale::facet*)&_S_messages_char, -+ -+ (locale::facet*)&_S_money_get_char, -+ (locale::facet*)0, -+ (locale::facet*)&_S_money_put_char, -+ (locale::facet*)0, -+ -+ (locale::facet*)&_S_num_get_char, -+ (locale::facet*)0, -+ (locale::facet*)&_S_num_put_char, -+ (locale::facet*)0, -+ (locale::facet*)&_S_time_get_char, -+ (locale::facet*)0, -+ (locale::facet*)&_S_time_put_char, -+ (locale::facet*)0, -+# ifndef _STLP_NO_WCHAR_T -+ (locale::facet*)&_S_collate_wchar, -+ (locale::facet*)&_S_ctype_wchar, - --void _Locale_impl::remove(size_t index) { -- if (index > 0 && index < facets.size()) { -- locale::facet* old = (locale::facet*)facets[index]; -- if (old && old->_M_delete) -- if (old->_M_decr() == 0) -- delete old; -- facets[index] = 0; -- } --} -+# ifndef _STLP_NO_MBSTATE_T -+ (locale::facet*)&_S_codecvt_wchar, -+# else -+(locale::facet*)0 -+# endif -+ (locale::facet*)&_S_moneypunct_true_wchar, -+ (locale::facet*)&_S_moneypunct_false_wchar, -+ (locale::facet*)&_S_numpunct_wchar, -+ (locale::facet*)&_S_messages_wchar, -+ -+ (locale::facet*)&_S_money_get_wchar, -+ (locale::facet*)0, -+ (locale::facet*)&_S_money_put_wchar, -+ (locale::facet*)0, -+ -+ (locale::facet*)&_S_num_get_wchar, -+ (locale::facet*)0, -+ (locale::facet*)&_S_num_put_wchar, -+ (locale::facet*)0, -+ (locale::facet*)&_S_time_get_wchar, -+ (locale::facet*)0, -+ (locale::facet*)&_S_time_put_wchar, -+ (locale::facet*)0, -+# endif -+ 0 -+}; - --locale::facet* --_Locale_impl::insert(locale::facet* f, size_t index, bool do_incr) { -- if (f != 0 && index != 0) { -- if (index >= facets.size()) -- facets.insert(facets.end(), -- index - facets.size() + 1, (void*) 0); -- if (do_incr) -- f->_M_incr(); -- -- remove(index); -- facets[index] = (void*)f; -- return f; -- } -- else -- return 0; --} -+_Locale_impl* -+_Locale_impl::make_classic_locale() { -+ // The classic locale contains every facet that belongs to a category. -+ _Locale_impl* classic = (_Locale_impl*) &_S_classic_locale; -+ -+ new (classic) _Locale_impl("C"); - --void _Locale_impl::insert(_Locale_impl* from, const locale::id& n) { -- size_t index = n._M_index; -- this->remove(index); -- if (index > 0 && index < from->facets.size()) -- this->insert((locale::facet*)from->facets[index], index, true); --} -+ classic->facets = _S_classic_facets; -+ classic->_M_size = locale::id::_S_max; - --// Six functions, one for each category. Each of them takes a --// _Locale_impl* and a name, constructs that appropriate category --// facets by name, and inserts them into the locale. -+ // ctype category -+ new(&_S_ctype_char) ctype(0, false, 1); -+ // collate category -+ new(&_S_collate_char) collate(1); -+ new(&_S_codecvt_char) codecvt(1); -+ // numeric category -+ new(&_S_numpunct_char) numpunct(1); -+ new (&_S_num_get_char) num_get > >(1); -+ new (&_S_num_put_char) num_put > >(1); -+ new (&_S_time_get_char) time_get > >(1); -+ new (&_S_time_put_char) time_put > >(1); -+ // monetary category -+ new (&_S_moneypunct_true_char) moneypunct(1); -+ new (&_S_moneypunct_false_char) moneypunct(1); -+ new (&_S_money_get_char) money_get > >(1); -+ new (&_S_money_put_char) money_put > >(1); -+ // messages category -+ new (&_S_messages_char)messages(&_Null_messages); - --void _Locale_impl::insert_ctype_facets(const char* pname) --{ -- ctype* ct = 0; --# ifndef __STL_NO_MBSTATE_T -- codecvt* cvt = 0; --# endif --# ifndef __STL_NO_WCHAR_T -- ctype* wct = 0; -- codecvt* wcvt = 0; --# endif -- -- char buf[_Locale_MAX_SIMPLE_NAME]; -- if (pname == 0 || pname[0] == 0) -- pname = _Locale_ctype_default(buf); -- -- if (pname == 0 || pname[0] == 0 || strcmp(pname, "C") == 0) { -- this->insert(_Stl_loc_classic_locale->_M_impl, ctype::id); -- this->insert(_Stl_loc_classic_locale->_M_impl, -- codecvt::id); --# ifndef __STL_NO_WCHAR_T -- this->insert(_Stl_loc_classic_locale->_M_impl, ctype::id); -- this->insert(_Stl_loc_classic_locale->_M_impl, -- codecvt::id); -+# ifndef _STLP_NO_WCHAR_T -+ // ctype category -+ new(&_S_ctype_wchar) ctype(1); -+ // collate category -+ new(&_S_collate_wchar) collate(1); -+ new(&_S_codecvt_wchar) codecvt(1); -+ // numeric category -+ new(&_S_numpunct_wchar) numpunct(1); -+ new (&_S_num_get_wchar) num_get > >(1); -+ new (&_S_num_put_wchar) num_put > >(1); -+ new (&_S_time_get_wchar) time_get > >(1); -+ new (&_S_time_put_wchar) time_put > >(1); -+ new (&_S_messages_wchar)messages(&_Null_messages); -+ // monetary category -+ new (&_S_moneypunct_true_wchar) moneypunct(1); -+ new (&_S_moneypunct_false_wchar) moneypunct(1); -+ new (&_S_money_get_wchar) money_get > >(1); -+ new (&_S_money_put_wchar) money_put > >(1); - # endif -- } -- else { -- __STL_TRY { -- ct = new ctype_byname(pname); --# ifndef __STL_NO_MBSTATE_T -- cvt = new codecvt_byname(pname); --# endif --# ifndef __STL_NO_WCHAR_T -- wct = new ctype_byname(pname); -- wcvt = new codecvt_byname(pname); --# endif -- } -- --# ifndef __STL_NO_WCHAR_T --# ifdef __STL_NO_MBSTATE_T -- __STL_UNWIND(delete ct; delete wct; delete cvt); --# else -- __STL_UNWIND(delete ct; delete wct; delete cvt; delete wcvt); --# endif --# else --# ifdef __STL_NO_MBSTATE_T -- __STL_UNWIND(delete ct); --# else -- __STL_UNWIND(delete ct; delete cvt); --# endif --# endif -- _Locale_impl_insert(this, ct); --# ifndef __STL_NO_MBSTATE_T -- _Locale_impl_insert(this, cvt); --# endif --# ifndef __STL_NO_WCHAR_T -- _Locale_impl_insert(this, wct); -- _Locale_impl_insert(this, wcvt); --# endif -- } -+ -+ return classic; - } - --void _Locale_impl::insert_numeric_facets(const char* pname) --{ -- numpunct* punct = 0; -- num_get > >* get = 0; -- num_put > >* put = 0; --# ifndef __STL_NO_WCHAR_T -- numpunct* wpunct = 0; -- num_get > >* wget = 0; -- num_put > >* wput = 0; --# endif -- -- char buf[_Locale_MAX_SIMPLE_NAME]; -- if (pname == 0 || pname[0] == 0) -- pname = _Locale_numeric_default(buf); -- -- if (pname == 0 || pname[0] == 0 || strcmp(pname, "C") == 0) { -- this->insert(_Stl_loc_classic_locale->_M_impl, numpunct::id); -- this->insert(_Stl_loc_classic_locale->_M_impl, -- num_put > >::id); -- this->insert(_Stl_loc_classic_locale->_M_impl, -- num_get > >::id); --# ifndef __STL_NO_WCHAR_T -- this->insert(_Stl_loc_classic_locale->_M_impl, numpunct::id); -- this->insert(_Stl_loc_classic_locale->_M_impl, -- num_get > >::id); -- this->insert(_Stl_loc_classic_locale->_M_impl, -- num_put > >::id); --# endif -- } -- else { -- __STL_TRY { -- punct = new numpunct_byname(pname); -- get = new num_get > >; -- put = new num_put > >; --# ifndef __STL_NO_WCHAR_T -- wpunct = new numpunct_byname(pname); -- wget = new num_get > >; -- wput = new num_put > >; --# endif -- } --# ifndef __STL_NO_WCHAR_T -- __STL_UNWIND(delete punct; delete wpunct; delete get; delete wget; -- delete put; delete wput); --# else -- __STL_UNWIND(delete punct; delete get;delete put); -+ -+//---------------------------------------------------------------------- -+ -+// Declarations of (non-template) facets' static data members -+size_t locale::id::_S_max = 39; -+ -+_STLP_STATIC_MEMBER_DECLSPEC locale::id collate::id = { 1 }; -+_STLP_STATIC_MEMBER_DECLSPEC locale::id ctype::id = { 2 }; -+ -+# ifndef _STLP_NO_MBSTATE_T -+_STLP_STATIC_MEMBER_DECLSPEC locale::id codecvt::id = { 3 }; -+# ifndef _STLP_NO_WCHAR_T -+_STLP_STATIC_MEMBER_DECLSPEC locale::id codecvt::id = { 22 }; -+# endif - # endif -- -- _Locale_impl_insert(this,punct); -- _Locale_impl_insert(this,get); -- _Locale_impl_insert(this,put); -- --# ifndef __STL_NO_WCHAR_T -- _Locale_impl_insert(this,wpunct); -- _Locale_impl_insert(this,wget); -- _Locale_impl_insert(this,wput); -+ -+_STLP_STATIC_MEMBER_DECLSPEC locale::id moneypunct::id = { 4 }; -+_STLP_STATIC_MEMBER_DECLSPEC locale::id moneypunct::id = { 5 }; -+_STLP_STATIC_MEMBER_DECLSPEC locale::id numpunct::id = { 6 } ; -+_STLP_STATIC_MEMBER_DECLSPEC locale::id messages::id = { 7 }; -+ -+# ifndef _STLP_NO_WCHAR_T -+_STLP_STATIC_MEMBER_DECLSPEC locale::id collate::id = { 20 }; -+_STLP_STATIC_MEMBER_DECLSPEC locale::id ctype::id = { 21 }; -+ -+_STLP_STATIC_MEMBER_DECLSPEC locale::id moneypunct::id = { 23 } ; -+_STLP_STATIC_MEMBER_DECLSPEC locale::id moneypunct::id = { 24 } ; -+ -+_STLP_STATIC_MEMBER_DECLSPEC locale::id numpunct::id = { 25 }; -+_STLP_STATIC_MEMBER_DECLSPEC locale::id messages::id = { 26 }; - # endif -- } --} - --void _Locale_impl::insert_time_facets(const char* pname) --{ -+// -+// locale class -+// - -- time_get > >* get = 0; -- time_put > >* put = 0; --# ifndef __STL_NO_WCHAR_T -- time_get > >* wget = 0; -- time_put > >* wput = 0; -+locale::facet::~facet() {} -+ -+# if ! defined ( _STLP_MEMBER_TEMPLATES ) || defined (_STLP_INLINE_MEMBER_TEMPLATES) -+// members that fail to be templates -+bool locale::operator()(const string& __x, -+ const string& __y) const { -+ return __locale_do_operator_call(this, __x, __y); -+} -+ -+# ifndef _STLP_NO_WCHAR_T -+bool locale::operator()(const wstring& __x, -+ const wstring& __y) const { -+ return __locale_do_operator_call(this, __x, __y); -+} -+# endif - # endif - -- char buf[_Locale_MAX_SIMPLE_NAME]; -- if (pname == 0 || pname[0] == 0) -- pname = _Locale_time_default(buf); -+ -+_Locale_impl* _Stl_loc_global_impl = 0; -+locale _Stl_loc_classic_locale((_Locale_impl*) &_S_classic_locale); -+_STLP_STATIC_MUTEX _Stl_loc_global_locale_lock _STLP_MUTEX_INITIALIZER; -+ - -- if (pname == 0 || pname[0] == 0 || strcmp(pname, "C") == 0) { -+//---------------------------------------------------------------------- -+// class locale - -- this->insert(_Stl_loc_classic_locale->_M_impl, -- time_get > >::id); -- this->insert(_Stl_loc_classic_locale->_M_impl, -- time_put > >::id); --# ifndef __STL_NO_WCHAR_T -- this->insert(_Stl_loc_classic_locale->_M_impl, -- time_get > >::id); -- this->insert(_Stl_loc_classic_locale->_M_impl, -- time_put > >::id); --# endif -+void _STLP_CALL -+locale::_M_throw_runtime_error(const char* name) -+{ -+ char buf[256]; -+ -+ if (name) { -+ const char* prefix = "bad locale name: "; -+ strcpy(buf, prefix); -+ strncat(buf, name, 256 - strlen(prefix)); -+ buf[255] = '\0'; - } - else { -- __STL_TRY { -- get = new time_get_byname > >(pname); -- put = new time_put_byname > >(pname); --# ifndef __STL_NO_WCHAR_T -- wget = new time_get_byname > >(pname); -- wput = new time_put_byname > >(pname); --# endif -- } --# ifndef __STL_NO_WCHAR_T -- __STL_UNWIND(delete get; delete wget; delete put; delete wput); --# else -- __STL_UNWIND(delete get; delete put); --# endif -- _Locale_impl_insert(this,get); -- _Locale_impl_insert(this,put); --# ifndef __STL_NO_WCHAR_T -- _Locale_impl_insert(this,wget); -- _Locale_impl_insert(this,wput); --# endif -+ strcpy(buf, "locale error"); - } -+ _STLP_THROW(runtime_error(buf)); - } - --void _Locale_impl::insert_collate_facets(const char* nam) --{ -- collate* col = 0; --# ifndef __STL_NO_WCHAR_T -- collate* wcol = 0; --# endif -+#if !( defined (__BORLANDC__) && defined(_RTLDLL)) - -- char buf[_Locale_MAX_SIMPLE_NAME]; -- if (nam == 0 || nam[0] == 0) -- nam = _Locale_collate_default(buf); -- -- if (nam == 0 || nam[0] == 0 || strcmp(nam, "C") == 0) { -- this->insert(_Stl_loc_classic_locale->_M_impl, collate::id); --# ifndef __STL_NO_WCHAR_T -- this->insert(_Stl_loc_classic_locale->_M_impl, collate::id); --# endif -- } -- else { -- __STL_TRY { -- col = new collate_byname(nam); --# ifndef __STL_NO_WCHAR_T -- wcol = new collate_byname(nam); --# endif -- } --# ifndef __STL_NO_WCHAR_T -- __STL_UNWIND(delete col; delete wcol); --# else -- __STL_UNWIND(delete col); --# endif -- _Locale_impl_insert(this,col); --# ifndef __STL_NO_WCHAR_T -- _Locale_impl_insert(this,wcol); --# endif -- } -+long ios_base::_Loc_init::_S_count = 0; -+ -+ios_base::_Loc_init::_Loc_init() { -+ if (_S_count++ == 0) -+ locale::_S_initialize(); - } - --void _Locale_impl::insert_monetary_facets(const char* pname) -+ios_base::_Loc_init::~_Loc_init() { -+ if (--_S_count == 0) -+ locale::_S_uninitialize(); -+} -+ -+#endif /* _RTLDLL */ -+ -+// Initialization of the locale system. This must be called before -+// any locales are constructed. (Meaning that it must be called when -+// the I/O library itself is initialized.) -+void _STLP_CALL -+locale::_S_initialize() - { -- moneypunct* punct = 0; -- moneypunct* ipunct = 0; -- money_get > >* get = 0; -- money_put > >* put = 0; -- --# ifndef __STL_NO_WCHAR_T -- moneypunct* wpunct = 0; -- moneypunct* wipunct = 0; -- money_get > >* wget = 0; -- money_put > >* wput = 0; --# endif -- -- char buf[_Locale_MAX_SIMPLE_NAME]; -- if (pname == 0 || pname[0] == 0) -- pname = _Locale_monetary_default(buf); -- -- if (pname == 0 || pname[0] == 0 || strcmp(pname, "C") == 0) { -- this->insert(_Stl_loc_classic_locale->_M_impl, moneypunct::id); -- this->insert(_Stl_loc_classic_locale->_M_impl, moneypunct::id); -- this->insert(_Stl_loc_classic_locale->_M_impl, money_get > >::id); -- this->insert(_Stl_loc_classic_locale->_M_impl, money_put > >::id); --# ifndef __STL_NO_WCHAR_T -- this->insert(_Stl_loc_classic_locale->_M_impl, moneypunct::id); -- this->insert(_Stl_loc_classic_locale->_M_impl, moneypunct::id); -- this->insert(_Stl_loc_classic_locale->_M_impl, money_get > >::id); -- this->insert(_Stl_loc_classic_locale->_M_impl, money_put > >::id); --# endif -- } -- else { -- __STL_TRY { -- punct = new moneypunct_byname(pname); -- ipunct = new moneypunct_byname(pname); -- get = new money_get > >; -- put = new money_put > >; --# ifndef __STL_NO_WCHAR_T -- wpunct = new moneypunct_byname(pname); -- wipunct = new moneypunct_byname(pname); -- wget = new money_get > >; -- wput = new money_put > >; --# endif -- } --# ifndef __STL_NO_WCHAR_T -- __STL_UNWIND(delete punct; delete ipunct; delete wpunct; delete wipunct; -- delete get; delete wget; delete put; delete wput); --# else -- __STL_UNWIND(delete punct; delete ipunct; delete get; delete put); --# endif -- _Locale_impl_insert(this,punct); -- _Locale_impl_insert(this,ipunct); -- _Locale_impl_insert(this,get); -- _Locale_impl_insert(this,put); --# ifndef __STL_NO_WCHAR_T -- _Locale_impl_insert(this,wget); -- _Locale_impl_insert(this,wpunct); -- _Locale_impl_insert(this,wipunct); -- _Locale_impl_insert(this,wput); --# endif -- } -+ _Stl_loc_assign_ids(); -+ _Stl_loc_global_impl = _Locale_impl::make_classic_locale(); - } - --void _Locale_impl::insert_messages_facets(const char* pname) -+ -+ -+void _STLP_CALL -+locale::_S_uninitialize() - { -- messages* msg = 0; --# ifndef __STL_NO_WCHAR_T -- messages* wmsg = 0; --# endif -+ _Stl_loc_global_impl->decr(); -+} - -- char buf[_Locale_MAX_SIMPLE_NAME]; -- if (pname == 0 || pname[0] == 0) -- pname = _Locale_messages_default(buf); -- -- if (pname == 0 || pname[0] == 0 || strcmp(pname, "C") == 0) { -- this->insert(_Stl_loc_classic_locale->_M_impl, messages::id); --# ifndef __STL_NO_WCHAR_T -- this->insert(_Stl_loc_classic_locale->_M_impl, messages::id); --# endif -- } -- else { -- __STL_TRY { -- msg = new messages_byname(pname); --# ifndef __STL_NO_WCHAR_T -- wmsg = new messages_byname(pname); --# endif -- } --# ifndef __STL_NO_WCHAR_T -- __STL_UNWIND(delete msg; delete wmsg); --# else -- __STL_UNWIND(delete msg); --# endif -- _Locale_impl_insert(this,msg); --# ifndef __STL_NO_WCHAR_T -- _Locale_impl_insert(this,wmsg); --# endif -- } -+ -+// Default constructor: create a copy of the global locale. -+locale::locale() : _M_impl(0) { -+ _M_impl = _S_copy_impl(_Stl_loc_global_impl); - } - --static _STL_STATIC_MUTEX _Index_lock __STL_MUTEX_INITIALIZER; -+locale::locale(_Locale_impl* impl) : _M_impl(impl) -+{} -+ -+// Copy constructor -+locale::locale(const locale& L) _STLP_NOTHROW -+ : _M_impl(0) -+{ -+ _M_impl = _S_copy_impl(L._M_impl); -+} - --// Takes a reference to a locale::id, and returns its numeric index. --// If no numeric index has yet been assigned, assigns one. The return --// value is always positive. --size_t _Stl_loc_get_index(locale::id& id) -+// Destructor. -+locale::~locale() _STLP_NOTHROW - { -- if (id._M_index == 0) { -- _STL_auto_lock sentry(_Index_lock); -- size_t new_index = locale::id::_S_max++; -- id._M_index = new_index; -+ _M_impl->decr(); -+} -+ -+// Assignment operator. Much like the copy constructor: just a bit of -+// pointer twiddling. -+const locale& locale::operator=(const locale& L) _STLP_NOTHROW -+{ -+ if (this->_M_impl != L._M_impl) { -+ this->_M_impl->decr(); -+ this->_M_impl = _S_copy_impl(L._M_impl); - } -- return id._M_index; -+ return *this; - } - --void _Stl_loc_assign_ids() { -- // This assigns ids to every facet that is a member of a category, -- // and also to money_get/put, num_get/put, and time_get/put -- // instantiated using ordinary pointers as the input/output -- // iterators. (The default is [io]streambuf_iterator.) -+locale::facet* locale::_M_get_facet(const locale::id& n) const -+{ -+ return n._M_index < _M_impl->size() -+ ? (locale::facet*)_M_impl->facets[n._M_index] -+ : (locale::facet*) 0; -+} - -- collate::id._M_index = 1; -- ctype::id._M_index = 3; -- codecvt::id._M_index = 5; -- moneypunct::id._M_index = 7; -- moneypunct::id._M_index = 8; -- money_get > >::id._M_index = 11; -- money_get::id._M_index = 13; -- money_put > >::id._M_index = 15; -- money_put::id._M_index = 17; -- numpunct::id._M_index = 19; -- num_get > >::id._M_index = 21; -- num_get::id._M_index = 23; -- num_put > >::id._M_index = 25; -- num_put::id._M_index = 27; -- time_get > >::id._M_index = 29; -- time_get::id._M_index = 31; -- time_put > >::id._M_index = 33; -- time_put::id._M_index = 35; -- messages::id._M_index = 37; -- --# ifndef __STL_NO_WCHAR_T -- collate::id._M_index = 2; -- ctype::id._M_index = 4; -- codecvt::id._M_index = 6; -- moneypunct::id._M_index = 9; -- moneypunct::id._M_index = 10; -- money_get > >::id._M_index = 12; -- money_get::id._M_index = 14; -- money_put > >::id._M_index = 16; -- money_put::id._M_index = 18; -- numpunct::id._M_index = 20; -- num_get > >::id._M_index = 22; -- num_get::id._M_index = 24; -- num_put > > ::id._M_index = 26; -- num_put::id._M_index = 28; -- time_get > >::id._M_index = 30; -- time_get::id._M_index = 32; -- time_put > >::id._M_index = 34; -- time_put::id._M_index = 36; -- messages::id._M_index = 38; --# endif -+locale::facet* locale::_M_use_facet(const locale::id& n) const -+{ -+ locale::facet* f = (n._M_index < _M_impl->size() -+ ? (locale::facet*)_M_impl->facets[n._M_index] -+ : (locale::facet*) 0); -+ if (!f) -+ _M_impl->_M_throw_bad_cast(); -+ return f; -+} - -- locale::id::_S_max = 39; -+string locale::name() const { -+ return _M_impl->name; - } - --_Locale_impl* _Stl_loc_make_classic_locale() { -- // The classic locale contains every facet that belongs to a category. -- _Locale_impl* classic = new _Locale_impl(locale::id::_S_max, "C"); -+static string _Nameless("*"); - -- // collate category -- _Locale_impl_insert(classic, new collate(0)); --# ifndef __STL_NO_WCHAR_T -- _Locale_impl_insert(classic, new collate(0)); --# endif -- // ctype category -- _Locale_impl_insert(classic,new ctype(0, false, 0)); -- _Locale_impl_insert(classic,new codecvt(0)); --# ifndef __STL_NO_WCHAR_T -- _Locale_impl_insert(classic,new ctype(0)); -- _Locale_impl_insert(classic,new codecvt(0)); --# endif -- // monetary category -- _Locale_impl_insert(classic, new moneypunct(0)); -- _Locale_impl_insert(classic,new moneypunct(0)); -- _Locale_impl_insert(classic,new money_get > >(0)); -- _Locale_impl_insert(classic,new money_put > >(0)); --# ifndef __STL_NO_WCHAR_T -- _Locale_impl_insert(classic,new moneypunct(0)); -- _Locale_impl_insert(classic,new moneypunct(0)); -- _Locale_impl_insert(classic,new money_get > >(0)); -- _Locale_impl_insert(classic,new money_put > >(0)); --# endif -- // numeric category -- _Locale_impl_insert(classic,new numpunct(0)); -- _Locale_impl_insert(classic,new num_get > >(0)); -- _Locale_impl_insert(classic,new num_put > >(0)); --# ifndef __STL_NO_WCHAR_T -- _Locale_impl_insert(classic,new numpunct(0)); -- _Locale_impl_insert(classic,new num_get > >(0)); -- _Locale_impl_insert(classic,new num_put > >(0)); --# endif -- // time category -- _Locale_impl_insert(classic,new time_get > >(0)); -- _Locale_impl_insert(classic,new time_put > >(0)); -- --# ifndef __STL_NO_WCHAR_T -- _Locale_impl_insert(classic,new time_get > > (0)); -- _Locale_impl_insert(classic,new time_put > > (0)); --# endif -- -- // messages category -- _Locale_impl_insert(classic,new messages(0)); --# ifndef __STL_NO_WCHAR_T -- _Locale_impl_insert(classic,new messages(0)); --# endif -+// Compare two locales for equality. -+bool locale::operator==(const locale& L) const { - -- return classic; -+ return this->_M_impl == L._M_impl || -+ (this->name() == L.name() && this->name() != _Nameless); - } - --// Give L a name where all facets except those in category c --// are taken from name1, and those in category c are taken from name2. --void _Stl_loc_combine_names(_Locale_impl* L, -- const char* name1, const char* name2, -- locale::category c) -+bool locale::operator!=(const locale& L) const { -+ return !(*this == L); -+} -+ -+// Static member functions. -+const locale& _STLP_CALL -+locale::classic() { -+ return _Stl_loc_classic_locale; -+} -+ -+locale _STLP_CALL -+locale::global(const locale& L) - { -- if ((c & locale::all) == 0 || strcmp(name1, name2) == 0) -- L->name = name1; -- else if ((c & locale::all) == locale::all) -- L->name = name2; -- else { -- // Decompose the names. -- char ctype_buf[_Locale_MAX_SIMPLE_NAME]; -- char numeric_buf[_Locale_MAX_SIMPLE_NAME]; -- char time_buf[_Locale_MAX_SIMPLE_NAME]; -- char collate_buf[_Locale_MAX_SIMPLE_NAME]; -- char monetary_buf[_Locale_MAX_SIMPLE_NAME]; -- char messages_buf[_Locale_MAX_SIMPLE_NAME]; -- -- _Locale_extract_ctype_name((c & locale::ctype) ? name1 : name2, -- ctype_buf); -- _Locale_extract_numeric_name((c & locale::numeric) ? name1 : name2, -- numeric_buf); -- _Locale_extract_time_name((c & locale::time) ? name1 : name2, -- time_buf); -- _Locale_extract_collate_name((c & locale::collate) ? name1 : name2, -- collate_buf); -- _Locale_extract_monetary_name((c & locale::monetary) ? name1 : name2, -- monetary_buf); -- _Locale_extract_messages_name((c & locale::messages) ? name1 : name2, -- messages_buf); -- -- // Construct a new composite name. -- char composite_buf[_Locale_MAX_COMPOSITE_NAME]; -- _Locale_compose_name(composite_buf, -- ctype_buf, numeric_buf, time_buf, -- collate_buf, monetary_buf, messages_buf); -- L->name = composite_buf; -+ locale old; // A copy of the old global locale. -+ -+ L._M_impl->incr(); -+ { -+ _STLP_auto_lock lock(_Stl_loc_global_locale_lock); -+ _Stl_loc_global_impl->decr(); // We made a copy, so it can't be zero. -+ _Stl_loc_global_impl = L._M_impl; - } -+ -+ // Set the global C locale, if appropriate. -+#if !defined(_STLP_WINCE) -+ if (L.name() != _Nameless) -+ setlocale(LC_ALL, L.name().c_str()); -+#endif -+ -+ return old; - } - --_Locale_impl* _Stl_loc_global_impl = 0; -+ -+// static data members. -+ -+# if !defined (_STLP_STATIC_CONST_INIT_BUG) && ! defined (_STLP_USE_DECLSPEC) -+ -+const locale::category locale::none; -+const locale::category locale::collate; -+const locale::category locale::ctype; -+const locale::category locale::monetary; -+const locale::category locale::numeric; -+const locale::category locale::time; -+const locale::category locale::messages; -+const locale::category locale::all; -+ -+# endif -+ -+_STLP_END_NAMESPACE -+ -+// -+// Facets included in classic locale : -+// - - - --__STL_END_NAMESPACE -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/locale_impl.h tripwire-2.3.1-2/src/STLport-4.0/src/locale_impl.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/locale_impl.h Sat Feb 24 10:44:11 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/locale_impl.h Sun Aug 11 18:59:22 2002 -@@ -21,60 +21,53 @@ - - #include // C locale header file. - #include --#include -+#include -+#include -+#include "c_locale.h" - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - //---------------------------------------------------------------------- - // Class _Locale_impl -- --class __STL_CLASS_DECLSPEC _Locale_impl : public _Refcount_Base -+// This is the base class which implements access only and is supposed to -+// be used for classic locale only -+class _STLP_CLASS_DECLSPEC _Locale_impl - { - public: -- _Locale_impl(size_t n, const char* s) : _Refcount_Base(1), facets(n, (void*)0 ), name(s) {} -- _Locale_impl(const _Locale_impl&); -- ~_Locale_impl(); -- -- void remove(size_t index); -- locale::facet* insert(locale::facet*, size_t index, bool do_incr); -- void insert(_Locale_impl* from, const locale::id& n); -- --// Helper functions for byname construction of locales. -- void insert_ctype_facets(const char* name); -- void insert_numeric_facets(const char* name); -- void insert_time_facets(const char* name); -- void insert_collate_facets(const char* name); -- void insert_monetary_facets(const char* name); -- void insert_messages_facets(const char* name); -+ _Locale_impl(const char* s); -+ // _Locale_impl(const _Locale_impl&); -+ virtual ~_Locale_impl(); -+ -+ virtual void incr(); -+ virtual void decr(); -+ -+ size_t size() const { return _M_size; } -+ -+ static _Locale_impl* make_classic_locale(); - -- vector facets; -+ locale::facet** facets; -+ size_t _M_size; -+ - basic_string, allocator > name; - -+ static void _STLP_CALL _M_throw_bad_cast(); -+ - private: - void operator=(const _Locale_impl&); - }; - --template --inline locale::facet* --_Locale_impl_insert(_Locale_impl* __that, Facet* f) { -- return __that->insert(f, Facet::id._M_index, false); -+inline _Locale_impl* _STLP_CALL _S_copy_impl(_Locale_impl* I) { -+ _STLP_ASSERT( I != 0 ); -+ I->incr(); -+ return I; - } - --size_t _Stl_loc_get_index(locale::id& id); --void _Stl_loc_assign_ids(); --_Locale_impl* _Stl_loc_make_classic_locale(); --void _Stl_loc_combine_names(_Locale_impl* L, -- const char* name1, const char* name2, -- locale::category c); -- - extern _Locale_impl* _Stl_loc_global_impl; --extern locale* _Stl_loc_classic_locale; --extern _STL_STATIC_MUTEX _Stl_loc_global_locale_lock; -- --// this is really from locale.cpp --_Locale_numeric* __STL_CALL __acquire_numeric(const char* name); --void __STL_CALL __release_numeric(_Locale_numeric* cat); -+// extern locale* _Stl_loc_classic_locale; -+extern _STLP_STATIC_MUTEX _Stl_loc_global_locale_lock; - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - - #endif -+ -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/locale_nonclassic.h tripwire-2.3.1-2/src/STLport-4.0/src/locale_nonclassic.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/locale_nonclassic.h Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/locale_nonclassic.h Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,59 @@ -+/* -+ * Copyright (c) 1999 -+ * Silicon Graphics Computer Systems, Inc. -+ * -+ * Copyright (c) 1999 -+ * Boris Fomitchev -+ * -+ * This material is provided "as is", with absolutely no warranty expressed -+ * or implied. Any use is at your own risk. -+ * -+ * Permission to use or copy this software for any purpose is hereby granted -+ * without fee, provided the above notices are retained on all copies. -+ * Permission to modify the code and to distribute modified code is granted, -+ * provided the above notices are retained, and a notice that the code was -+ * modified is included with the above copyright notice. -+ * -+ */ -+ -+# ifndef LOCALE_nonclassic_H -+# define LOCALE_nonclassic_H -+ -+# include "locale_impl.h" -+ -+_STLP_BEGIN_NAMESPACE -+ -+class _STLP_CLASS_DECLSPEC _Locale : public _Locale_impl, public _Refcount_Base -+{ -+public: -+ _Locale(size_t n, const char* s) : _Locale_impl(s), _Refcount_Base(1), -+ facets_vec(n, (void*)0 ) { facets = (locale::facet**)&facets_vec[0]; _M_size = n; } -+ _Locale(const _Locale_impl&); -+ ~_Locale(); -+ -+ virtual void incr() { this->_M_incr(); } -+ virtual void decr() { this->_M_decr(); if (!this->_M_ref_count) delete this;} -+ -+ void remove(size_t index); -+ locale::facet* insert(locale::facet*, size_t index, bool do_incr); -+ void insert(_Locale_impl* from, const locale::id& n); -+ -+// Helper functions for byname construction of locales. -+ void insert_ctype_facets(const char* name); -+ void insert_numeric_facets(const char* name); -+ void insert_time_facets(const char* name); -+ void insert_collate_facets(const char* name); -+ void insert_monetary_facets(const char* name); -+ void insert_messages_facets(const char* name); -+ -+ vector facets_vec; -+ -+ static void _STLP_CALL _M_throw_bad_cast(); -+ -+private: -+ void operator=(const _Locale_impl&); -+}; -+ -+_STLP_END_NAMESPACE -+ -+#endif -Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: message_facets.cpp -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/message_facets.h tripwire-2.3.1-2/src/STLport-4.0/src/message_facets.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/message_facets.h Sat Feb 24 10:44:11 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/message_facets.h Sun Aug 11 18:59:22 2002 -@@ -19,11 +19,17 @@ - # define MESSAGE_FACETS_H - - #include --#include -+#include -+#include -+// #include - #include - #include -+#include "c_locale.h" - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE -+ -+// Forward declaration of an opaque type. -+struct _Catalog_locale_map; - - _Locale_messages* __acquire_messages(const char* name); - void __release_messages(_Locale_messages* cat); -@@ -49,6 +55,48 @@ - void operator=(const _Catalog_locale_map&); - }; - --__STL_END_NAMESPACE -+ -+class _Messages { -+public: -+ typedef messages_base::catalog catalog; -+ -+ _Messages(); -+ -+ virtual catalog do_open(const string& __fn, const locale& __loc) const; -+ virtual string do_get(catalog __c, int __set, int __msgid, -+ const string& __dfault) const; -+# ifndef _STLP_NO_WCHAR_T -+ virtual wstring do_get(catalog __c, int __set, int __msgid, -+ const wstring& __dfault) const; -+# endif -+ virtual void do_close(catalog __c) const; -+ virtual ~_Messages(); -+ bool _M_delete; -+}; -+ -+class _Messages_impl : public _Messages { -+public: -+ -+ _Messages_impl(bool); -+ -+ _Messages_impl(bool, _Locale_messages*); -+ -+ catalog do_open(const string& __fn, const locale& __loc) const; -+ string do_get(catalog __c, int __set, int __msgid, -+ const string& __dfault) const; -+# ifndef _STLP_NO_WCHAR_T -+ wstring do_get(catalog __c, int __set, int __msgid, -+ const wstring& __dfault) const; -+# endif -+ void do_close(catalog __c) const; -+ -+ ~_Messages_impl(); -+ -+private: -+ _Locale_messages* _M_message_obj; -+ _Catalog_locale_map* _M_map; -+}; -+ -+_STLP_END_NAMESPACE - - #endif -Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: message_facets_w.cpp -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/messages.cpp tripwire-2.3.1-2/src/STLport-4.0/src/messages.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/messages.cpp Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/messages.cpp Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,111 @@ -+/* -+ * Copyright (c) 1999 -+ * Silicon Graphics Computer Systems, Inc. -+ * -+ * Copyright (c) 1999 -+ * Boris Fomitchev -+ * -+ * This material is provided "as is", with absolutely no warranty expressed -+ * or implied. Any use is at your own risk. -+ * -+ * Permission to use or copy this software for any purpose is hereby granted -+ * without fee, provided the above notices are retained on all copies. -+ * Permission to modify the code and to distribute modified code is granted, -+ * provided the above notices are retained, and a notice that the code was -+ * modified is included with the above copyright notice. -+ * -+ */ -+# include "stlport_prefix.h" -+ -+# include "message_facets.h" -+ -+_STLP_BEGIN_NAMESPACE -+ -+//---------------------------------------------------------------------- -+// messages -+ -+messages::messages(_Messages* imp) : -+ _BaseFacet(1), _M_impl(imp) { imp->_M_delete = false; } -+ -+messages::~messages() -+{ -+ if (_M_impl && _M_impl->_M_delete) delete _M_impl; -+} -+ -+int messages::do_open(const string& filename, const locale& l) const -+{ -+ return _M_impl->do_open(filename, l); -+} -+ -+string messages::do_get(catalog cat, -+ int set, int p_id, const string& dfault) const -+{ -+ return _M_impl->do_get(cat, set, p_id, dfault); -+} -+ -+void messages::do_close(catalog cat) const -+{ -+ _M_impl->do_close(cat); -+} -+ -+_Messages::_Messages() -+{ } -+ -+_Messages::~_Messages() -+{} -+ -+int _Messages::do_open(const string&, const locale&) const -+{ -+ return -1; -+} -+ -+string _Messages::do_get(catalog, -+ int, int, const string& dfault) const -+{ -+ return dfault; -+} -+ -+void _Messages::do_close(catalog) const -+{} -+ -+ -+# ifndef _STLP_NO_WCHAR_T -+ -+messages::messages(_Messages* imp) : -+ _BaseFacet(1), _M_impl(imp) { imp->_M_delete = false; } -+ -+messages::~messages() -+{ if (_M_impl && _M_impl->_M_delete) delete _M_impl; } -+ -+int messages::do_open(const string& filename, const locale& L) const -+{ -+ return _M_impl->do_open(filename, L); -+} -+ -+wstring -+messages::do_get(catalog thecat, -+ int set, int p_id, const wstring& dfault) const -+{ -+ return _M_impl->do_get(thecat, set, p_id, dfault); -+} -+ -+void messages::do_close(catalog cat) const -+{ -+ _M_impl->do_close(cat); -+} -+ -+wstring -+_Messages::do_get(catalog, -+ int, int, const wstring& dfault) const -+{ -+ return dfault; -+} -+ -+# endif -+ -+_STLP_END_NAMESPACE -+ -+// Local Variables: -+// mode:C++ -+// End: -+ -Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: mingw32.mak -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/mkinstalldirs tripwire-2.3.1-2/src/STLport-4.0/src/mkinstalldirs ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/mkinstalldirs Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/mkinstalldirs Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,32 @@ -+#! /bin/sh -+# mkinstalldirs --- make directory hierarchy -+# Author: Noah Friedman -+# Created: 1993-05-16 -+# Last modified: 1994-03-25 -+# Public domain -+ -+errstatus=0 -+ -+for file in ${1+"$@"} ; do -+ set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` -+ shift -+ -+ pathcomp= -+ for d in ${1+"$@"} ; do -+ pathcomp="$pathcomp$d" -+ case "$pathcomp" in -+ -* ) pathcomp=./$pathcomp ;; -+ esac -+ -+ if test ! -d "$pathcomp"; then -+ echo "mkdir $pathcomp" 1>&2 -+ mkdir "$pathcomp" || errstatus=$? -+ fi -+ -+ pathcomp="$pathcomp/" -+ done -+done -+ -+exit $errstatus -+ -+# mkinstalldirs ends here -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/monetary.cpp tripwire-2.3.1-2/src/STLport-4.0/src/monetary.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/monetary.cpp Sat Feb 24 10:44:12 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/monetary.cpp Sun Aug 11 18:59:22 2002 -@@ -17,18 +17,13 @@ - */ - # include "stlport_prefix.h" - --#include --#include --#include -+#include -+#include - --#include --// #include // for copy -+_STLP_BEGIN_NAMESPACE - -- --__STL_BEGIN_NAMESPACE -- --void __init_monetary_formats(money_base::pattern& pos_format, -- money_base::pattern& neg_format) { -+static void _Init_monetary_formats(money_base::pattern& pos_format, -+ money_base::pattern& neg_format) { - pos_format.field[0] = (char) money_base::symbol; - pos_format.field[1] = (char) money_base::sign; - pos_format.field[2] = (char) money_base::none; -@@ -40,205 +35,114 @@ - neg_format.field[3] = (char) money_base::value; - } - --void __init_monetary_formats(money_base::pattern& pos_format, -- money_base::pattern& neg_format, -- _Locale_monetary * monetary) { -- switch (_Locale_p_sign_posn(monetary)) { -- case 0: case 1: -- pos_format.field[0] = (char) money_base::sign; -- if (_Locale_p_cs_precedes(monetary)) { -- pos_format.field[1] = (char) money_base::symbol; -- if (_Locale_p_sep_by_space(monetary)) { -- pos_format.field[2] = (char) money_base::space; -- pos_format.field[3] = (char) money_base::value; -- } -- else { -- pos_format.field[2] = (char) money_base::value; -- pos_format.field[3] = (char) money_base::none; -- } -- } -- else { -- pos_format.field[2] = (char) money_base::value; -- if (_Locale_p_sep_by_space(monetary)) { -- pos_format.field[2] = (char) money_base::space; -- pos_format.field[3] = (char) money_base::symbol; -- } -- else { -- pos_format.field[2] = (char) money_base::symbol; -- pos_format.field[3] = (char) money_base::none; -- } -- } -- break; -- case 2: -- if (_Locale_p_cs_precedes(monetary)) { -- pos_format.field[0] = (char) money_base::symbol; -- if (_Locale_p_sep_by_space(monetary)) { -- pos_format.field[1] = (char) money_base::space; -- pos_format.field[2] = (char) money_base::value; -- pos_format.field[3] = (char) money_base::sign; -- } -- else { -- pos_format.field[1] = (char) money_base::value; -- pos_format.field[2] = (char) money_base::sign; -- pos_format.field[3] = (char) money_base::none; -- } -- } -- else { -- pos_format.field[1] = (char) money_base::value; -- if (_Locale_p_sep_by_space(monetary)) { -- pos_format.field[1] = (char) money_base::space; -- pos_format.field[2] = (char) money_base::symbol; -- pos_format.field[3] = (char) money_base::sign; -- } -- else { -- pos_format.field[1] = (char) money_base::symbol; -- pos_format.field[2] = (char) money_base::sign; -- pos_format.field[3] = (char) money_base::none; -- } -- } -- break; -- case 3: -- if (_Locale_p_cs_precedes(monetary)) { -- pos_format.field[0] = (char) money_base::sign; -- pos_format.field[1] = (char) money_base::symbol; -- if (_Locale_p_sep_by_space(monetary)) { -- pos_format.field[2] = (char) money_base::space; -- pos_format.field[3] = (char) money_base::value; -- } -- else { -- pos_format.field[2] = (char) money_base::value; -- pos_format.field[3] = (char) money_base::none; -- } -- } -- else { -- pos_format.field[0] = (char) money_base::value; -- pos_format.field[1] = (char) money_base::sign; -- pos_format.field[2] = (char) money_base::symbol; -- pos_format.field[3] = (char) money_base::none; -- } -- break; -- case 4: default: -- if (_Locale_p_cs_precedes(monetary)) { -- pos_format.field[0] = (char) money_base::symbol; -- pos_format.field[1] = (char) money_base::sign; -- pos_format.field[2] = (char) money_base::value; -- pos_format.field[3] = (char) money_base::none; -- } -- else { -- pos_format.field[0] = (char) money_base::value; -- if (_Locale_p_sep_by_space(monetary)) { -- pos_format.field[1] = (char) money_base::space; -- pos_format.field[2] = (char) money_base::symbol; -- pos_format.field[3] = (char) money_base::sign; -- } -- else { -- pos_format.field[1] = (char) money_base::symbol; -- pos_format.field[2] = (char) money_base::sign; -- pos_format.field[3] = (char) money_base::none; -- } -- } -- break; -- } -- -- switch (_Locale_n_sign_posn(monetary)) { -- case 0: case 1: -- neg_format.field[0] = (char) money_base::sign; -- if (_Locale_n_cs_precedes(monetary)) { -- neg_format.field[1] = (char) money_base::symbol; -- if (_Locale_n_sep_by_space(monetary)) { -- neg_format.field[2] = (char) money_base::space; -- neg_format.field[3] = (char) money_base::value; -- } -- else { -- neg_format.field[2] = (char) money_base::value; -- neg_format.field[3] = (char) money_base::none; -- } -- } -- else { -- neg_format.field[2] = (char) money_base::value; -- if (_Locale_n_sep_by_space(monetary)) { -- neg_format.field[2] = (char) money_base::space; -- neg_format.field[3] = (char) money_base::symbol; -- } -- else { -- neg_format.field[2] = (char) money_base::symbol; -- neg_format.field[3] = (char) money_base::none; -- } -- } -- break; -- case 2: -- if (_Locale_n_cs_precedes(monetary)) { -- neg_format.field[0] = (char) money_base::symbol; -- if (_Locale_n_sep_by_space(monetary)) { -- neg_format.field[1] = (char) money_base::space; -- neg_format.field[2] = (char) money_base::value; -- neg_format.field[3] = (char) money_base::sign; -- } -- else { -- neg_format.field[1] = (char) money_base::value; -- neg_format.field[2] = (char) money_base::sign; -- neg_format.field[3] = (char) money_base::none; -- } -- } -- else { -- neg_format.field[1] = (char) money_base::value; -- if (_Locale_n_sep_by_space(monetary)) { -- neg_format.field[1] = (char) money_base::space; -- neg_format.field[2] = (char) money_base::symbol; -- neg_format.field[3] = (char) money_base::sign; -- } -- else { -- neg_format.field[1] = (char) money_base::symbol; -- neg_format.field[2] = (char) money_base::sign; -- neg_format.field[3] = (char) money_base::none; -- } -- } -- break; -- case 3: -- if (_Locale_n_cs_precedes(monetary)) { -- neg_format.field[0] = (char) money_base::sign; -- neg_format.field[1] = (char) money_base::symbol; -- if (_Locale_n_sep_by_space(monetary)) { -- neg_format.field[2] = (char) money_base::space; -- neg_format.field[3] = (char) money_base::value; -- } -- else { -- neg_format.field[2] = (char) money_base::value; -- neg_format.field[3] = (char) money_base::none; -- } -- } -- else { -- neg_format.field[0] = (char) money_base::value; -- neg_format.field[1] = (char) money_base::sign; -- neg_format.field[2] = (char) money_base::symbol; -- neg_format.field[3] = (char) money_base::none; -- } -- break; -- case 4: default: -- if (_Locale_n_cs_precedes(monetary)) { -- neg_format.field[0] = (char) money_base::symbol; -- neg_format.field[1] = (char) money_base::sign; -- neg_format.field[2] = (char) money_base::value; -- neg_format.field[3] = (char) money_base::none; -- } -- else { -- neg_format.field[0] = (char) money_base::value; -- if (_Locale_n_sep_by_space(monetary)) { -- neg_format.field[1] = (char) money_base::space; -- neg_format.field[2] = (char) money_base::symbol; -- neg_format.field[3] = (char) money_base::sign; -- } -- else { -- neg_format.field[1] = (char) money_base::symbol; -- neg_format.field[2] = (char) money_base::sign; -- neg_format.field[3] = (char) money_base::none; -- } -- } -- break; -- } -+// This is being used throughout the library -+string _S_empty_string(""); -+# ifndef _STLP_NO_WCHAR_T -+wstring _S_empty_wstring(L""); -+# endif -+ -+// -+// moneypunct<> -+// -+ -+moneypunct::moneypunct(size_t __refs) : _BaseFacet(__refs) { -+ _Init_monetary_formats(_M_pos_format, _M_neg_format); - } -+moneypunct::~moneypunct() {} -+ -+char moneypunct::do_decimal_point() const {return ' ';} -+char moneypunct::do_thousands_sep() const {return ' ';} -+string moneypunct::do_grouping() const { return _S_empty_string; } -+string moneypunct::do_curr_symbol() const { return _S_empty_string; } -+string moneypunct::do_positive_sign() const { return _S_empty_string; } -+string moneypunct::do_negative_sign() const { return _S_empty_string; } -+money_base::pattern moneypunct::do_pos_format() const {return _M_pos_format;} -+money_base::pattern moneypunct::do_neg_format() const {return _M_neg_format;} -+int moneypunct::do_frac_digits() const {return 0;} -+ -+moneypunct::moneypunct(size_t __refs) : _BaseFacet(__refs) { -+ _Init_monetary_formats(_M_pos_format, _M_neg_format); -+} -+moneypunct::~moneypunct() {} -+ -+char moneypunct::do_decimal_point() const {return ' ';} -+char moneypunct::do_thousands_sep() const {return ' ';} -+ -+string moneypunct::do_grouping() const { return _S_empty_string; } -+string moneypunct::do_curr_symbol() const { return _S_empty_string; } -+string moneypunct::do_positive_sign() const { return _S_empty_string; } -+string moneypunct::do_negative_sign() const { return _S_empty_string; } -+money_base::pattern moneypunct::do_pos_format() const {return _M_pos_format;} -+money_base::pattern moneypunct::do_neg_format() const {return _M_neg_format;} -+int moneypunct::do_frac_digits() const {return 0;} -+ -+ -+# ifndef _STLP_NO_WCHAR_T -+ -+moneypunct::moneypunct(size_t __refs) : _BaseFacet(__refs) { -+ _Init_monetary_formats(_M_pos_format, _M_neg_format); -+} -+moneypunct::~moneypunct() {} -+ -+wchar_t moneypunct::do_decimal_point() const {return L' ';} -+wchar_t moneypunct::do_thousands_sep() const {return L' ';} -+string moneypunct::do_grouping() const {return _S_empty_string;} -+ -+wstring moneypunct::do_curr_symbol() const -+ {return _S_empty_wstring;} -+wstring moneypunct::do_positive_sign() const -+ {return _S_empty_wstring;} -+wstring moneypunct::do_negative_sign() const -+ {return _S_empty_wstring;} -+int moneypunct::do_frac_digits() const {return 0;} -+money_base::pattern moneypunct::do_pos_format() const -+ {return _M_pos_format;} -+money_base::pattern moneypunct::do_neg_format() const -+ {return _M_neg_format;} -+ -+moneypunct::moneypunct(size_t __refs) : _BaseFacet(__refs) { -+ _Init_monetary_formats(_M_pos_format, _M_neg_format); -+} -+moneypunct::~moneypunct() {} -+ -+wchar_t moneypunct::do_decimal_point() const {return L' ';} -+wchar_t moneypunct::do_thousands_sep() const {return L' ';} -+string moneypunct::do_grouping() const { return _S_empty_string;} -+wstring moneypunct::do_curr_symbol() const -+ {return _S_empty_wstring;} -+wstring moneypunct::do_positive_sign() const -+ {return _S_empty_wstring;} -+wstring moneypunct::do_negative_sign() const -+ {return _S_empty_wstring;} -+int moneypunct::do_frac_digits() const {return 0;} -+ -+money_base::pattern moneypunct::do_pos_format() const -+ {return _M_pos_format;} -+money_base::pattern moneypunct::do_neg_format() const -+ {return _M_neg_format;} -+ -+# endif /* WCHAR_T */ -+ -+// -+// Instantiations -+// -+ -+# if !defined(_STLP_NO_FORCE_INSTANTIATE) -+ -+template class money_get > >; -+template class money_put > >; -+// template class money_put; -+ -+#ifndef _STLP_NO_WCHAR_T -+template class money_get > >; -+template class money_put > >; -+// template class money_put; -+// template class money_get; -+#endif -+ -+# endif - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - - // Local Variables: - // mode:C++ -Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: money_get.cpp -Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: money_get_w.cpp -Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: money_put.cpp -Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: money_put_w.cpp -Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: moneypunct.cpp -Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: moneypunct_byname.cpp -Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: moneypunct_byname_w.cpp -Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: moneypunct_w.cpp -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/mwerks_debug_prefix.h tripwire-2.3.1-2/src/STLport-4.0/src/mwerks_debug_prefix.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/mwerks_debug_prefix.h Sat Feb 24 10:44:12 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/mwerks_debug_prefix.h Sun Aug 11 18:59:22 2002 -@@ -1,3 +1,3 @@ - #define __BUILDING_STLPORT 1 --#define __SGI_STL_OWN_IOSTREAMS 1 --#define __STL_DEBUG 1 -+#define _STLP_OWN_IOSTREAMS 1 -+#define _STLP_DEBUG 1 -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/mwerks_prefix.h tripwire-2.3.1-2/src/STLport-4.0/src/mwerks_prefix.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/mwerks_prefix.h Sat Feb 24 10:44:12 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/mwerks_prefix.h Sun Aug 11 18:59:22 2002 -@@ -1,2 +1,2 @@ - #define __BUILDING_STLPORT 1 --#define __SGI_STL_OWN_IOSTREAMS 1 -\ No newline at end of file -+#define _STLP_OWN_IOSTREAMS 1 -Only in tripwire-2.3.1-2.old/src/STLport-4.0/src/mwerks_prj: libstlport.mcp -Binary files tripwire-2.3.1-2.old/src/STLport-4.0/src/mwerks_prj/libstlport_Data/CWSettingsWindows.stg and tripwire-2.3.1-2/src/STLport-4.0/src/mwerks_prj/libstlport_Data/CWSettingsWindows.stg differ -Only in tripwire-2.3.1-2.old/src/STLport-4.0/src/mwerks_prj: tlib.cfg -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/mwerks_x86_prefix.h tripwire-2.3.1-2/src/STLport-4.0/src/mwerks_x86_prefix.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/mwerks_x86_prefix.h Sat Feb 24 10:44:12 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/mwerks_x86_prefix.h Sun Aug 11 18:59:22 2002 -@@ -1,4 +1,4 @@ - // #define __BUILDING_STLPORT 1 --#define __SGI_STL_OWN_IOSTREAMS 1 -+#define _STLP_OWN_IOSTREAMS 1 - // #define _DLL - #define _WIN32 -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/nmake_common.mak tripwire-2.3.1-2/src/STLport-4.0/src/nmake_common.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/nmake_common.mak Sat Feb 24 10:44:13 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/nmake_common.mak Sun Aug 11 18:59:22 2002 -@@ -1,11 +1,33 @@ - --do_install: all -+install_dlls: - @echo Copying STLport DLLs to Windows system directory... - @if "%OS%" == "Windows_NT" copy $(OUTDIR)\$(LIB_BASENAME)*.dll $(WINDIR)\System32 - @if "%OS%" == "" copy $(OUTDIR)\$(LIB_BASENAME)*.dll $(WINDIR)\System - @echo STLport DLL libraries are installed on your system. - --# if not exist "$(OUTDIR)/$(NULL)" $(MKDIR) "$(OUTDIR)" -+install_libs_vc: -+ @echo Copying STLport .lib files to VC lib directory : %MSVCDir%\lib... -+ @copy $(OUTDIR)\$(LIB_BASENAME)*.lib "%MSVCDir%\lib" -+ @echo Done copying .lib files. -+ -+install_headers_vc: -+ @echo Copying STLport headers files to VC include directory : %MSVCDir%\include\stlport... -+ @xcopy /Q /R /K /I /S ..\stlport "%MSVCDir%\include\stlport\" -+ @echo Done copying STLport headers. -+ -+check_env_vc: -+ @if not exist "%MSVCDir%\lib\*.*" echo "Please set up MSVCDir environment variable. Did you run vcvars32.bat ?" -+ @if not exist "%MSVCDir%\lib\*.*" dir "%MSVCDir%\lib" -+ -+install_vc : all check_env_vc install_libs_vc install_dlls install_headers_vc report_dirs_vc -+ -+install_bc : all install_dlls -+ -+report_dirs_vc : -+ @echo STLport installation complete. -+ @echo Please find STLport headers in %MSVCDir%\include\stlport. -+ @echo Please find STLport .lib files in %MSVCDir%\lib. -+ @echo Please find STLport DLLs in Windows system directory. - - {$(SRCDIR)}.cpp{$(RELEASE_OBJDIR_static)}.obj: - $(CXX) $(CXXFLAGS_RELEASE_static) $< -@@ -20,6 +42,19 @@ - $(CXX) $(CXXFLAGS_RELEASE_static) $< - - -+{$(SRCDIR)}.cpp{$(RELEASE_OBJDIR_staticx)}.obj: -+ $(CXX) $(CXXFLAGS_RELEASE_staticx) $< -+ -+{$(SRCDIR)}.c{$(RELEASE_OBJDIR_staticx)}.obj: -+ $(CC) $(CXXFLAGS_RELEASE_staticx) $< -+ -+{$(SRCDIR)}.c{$(RELEASE_OBJDIR_staticx)}.sbr: -+ $(CC) $(CXXFLAGS_RELEASE_staticx) $< -+ -+{$(SRCDIR)}.cpp{$(RELEASE_OBJDIR_staticx)}.sbr: -+ $(CXX) $(CXXFLAGS_RELEASE_staticx) $< -+ -+ - {$(SRCDIR)}.cpp{$(RELEASE_OBJDIR_dynamic)}.obj: - $(CXX) $(CXXFLAGS_RELEASE_dynamic) $< - -@@ -46,6 +81,18 @@ - {$(SRCDIR)}.cpp{$(DEBUG_OBJDIR_static)}.sbr: - $(CXX) $(CXXFLAGS_DEBUG_static) $< - -+{$(SRCDIR)}.cpp{$(DEBUG_OBJDIR_staticx)}.obj: -+ $(CXX) $(CXXFLAGS_DEBUG_staticx) $< -+ -+{$(SRCDIR)}.c{$(DEBUG_OBJDIR_staticx)}.obj: -+ $(CC) $(CXXFLAGS_DEBUG_staticx) $< -+ -+{$(SRCDIR)}.c{$(DEBUG_OBJDIR_staticx)}.sbr: -+ $(CC) $(CXXFLAGS_DEBUG_staticx) $< -+ -+{$(SRCDIR)}.cpp{$(DEBUG_OBJDIR_staticx)}.sbr: -+ $(CXX) $(CXXFLAGS_DEBUG_staticx) $< -+ - {$(SRCDIR)}.cpp{$(DEBUG_OBJDIR_dynamic)}.obj: - $(CXX) $(CXXFLAGS_DEBUG_dynamic) $< - -@@ -72,6 +119,18 @@ - {$(SRCDIR)}.cpp{$(STLDEBUG_OBJDIR_static)}.sbr: - $(CXX) $(CXXFLAGS_STLDEBUG_static) $< - -+{$(SRCDIR)}.cpp{$(STLDEBUG_OBJDIR_staticx)}.obj: -+ $(CXX) $(CXXFLAGS_STLDEBUG_staticx) $< -+ -+{$(SRCDIR)}.c{$(STLDEBUG_OBJDIR_staticx)}.obj: -+ $(CC) $(CXXFLAGS_STLDEBUG_staticx) $< -+ -+{$(SRCDIR)}.c{$(STLDEBUG_OBJDIR_staticx)}.sbr: -+ $(CC) $(CXXFLAGS_STLDEBUG_staticx) $< -+ -+{$(SRCDIR)}.cpp{$(STLDEBUG_OBJDIR_staticx)}.sbr: -+ $(CXX) $(CXXFLAGS_STLDEBUG_staticx) $< -+ - {$(SRCDIR)}.cpp{$(STLDEBUG_OBJDIR_dynamic)}.obj: - $(CXX) $(CXXFLAGS_STLDEBUG_dynamic) $< - -@@ -90,8 +149,9 @@ - $(RC) /d COMP=$(COMP) /fo $(RELEASE_OBJDIR_dynamic)\stlport.res $< - - {$(SRCDIR)}.rc{$(DEBUG_OBJDIR_dynamic)}.res: -- $(RC) /d COMP=$(COMP) /d BUILD=DEBUG /fo $(DEBUG_OBJDIR_dynamic)\stlport.res $< -+ $(RC) /d COMP=$(COMP) /d BUILD=_DEBUG /fo $(DEBUG_OBJDIR_dynamic)\stlport.res $< - - {$(SRCDIR)}.rc{$(STLDEBUG_OBJDIR_dynamic)}.res: -- $(RC) /d COMP=$(COMP) /d BUILD=STLDEBUG /fo $(STLDEBUG_OBJDIR_dynamic)\stlport.res $< -+ $(RC) /d COMP=$(COMP) /d BUILD=_STLDEBUG /fo $(STLDEBUG_OBJDIR_dynamic)\stlport.res $< -+ - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/num_get.cpp tripwire-2.3.1-2/src/STLport-4.0/src/num_get.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/num_get.cpp Sat Feb 24 10:44:13 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/num_get.cpp Sun Aug 11 18:59:22 2002 -@@ -16,31 +16,25 @@ - * - */ - # include "stlport_prefix.h" --#include --#include --#include --#include --#include -- --#include --#include --#include --#include -+#include -+#include -+#include - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - //---------------------------------------------------------------------- - // num_get - --// Helper functions for _M_do_get_integer. - --void __STL_CALL --__initialize_get_digit(wchar_t* digits, wchar_t* xdigits, -+static char narrow_digits[11] = "0123456789"; -+static char narrow_xdigits[13] = "aAbBcCdDeEfF"; -+ -+# ifndef _STLP_NO_WCHAR_T -+ -+void _STLP_CALL -+_Initialize_get_digit(wchar_t* digits, wchar_t* xdigits, - const ctype& ct) - { -- char narrow_digits[11] = "0123456789"; -- char narrow_xdigits[13] = "aAbBcCdDeEfF"; -- - ct.widen(narrow_digits + 0, narrow_digits + 10, digits); - ct.widen(narrow_xdigits + 0, narrow_xdigits + 10, xdigits); - } -@@ -48,9 +42,9 @@ - // Return either the digit corresponding to c, or a negative number if - // if c isn't a digit. We return -1 if c is the separator character, and - // -2 if it's some other non-digit. --int __get_digit(wchar_t c, -- const wchar_t* digits, const wchar_t* xdigits, -- wchar_t separator) -+int _STLP_CALL __get_digit(wchar_t c, -+ const wchar_t* digits, const wchar_t* xdigits, -+ wchar_t separator) - { - // Test if it's the separator. - if (c == separator) -@@ -61,16 +55,18 @@ - // Test if it's a decimal digit. - p = find(digits, digits + 10, c); - if (p != digits + 10) -- return p - digits; -+ return (int)(p - digits); - - // Test if it's a hex digit. - p = find(xdigits, xdigits + 12, c); - if (p != xdigits + 12) -- return 10 + (xdigits - p) / 2; -+ return (int)(10 + (xdigits - p) / 2); - else - return -2; // It's not a digit and not the separator. - } - -+# endif /* _STLP_NO_WCHAR_T */ -+ - // __valid_grouping compares two strings, one representing the - // group sizes encountered when reading an integer, and the other - // representing the valid group sizes as returned by the numpunct -@@ -80,28 +76,29 @@ - // the first string must be equal to the corresponding term in the - // second, except for the last, which must be less than or equal. - --bool __STL_CALL --__valid_grouping(const string& group_sizes, -- const string& prescribed_grouping) --{ -- const char * first1 = group_sizes.data(); -- const char * last1 = first1 + group_sizes.size(); -- const char * first2 = prescribed_grouping.data(); -- const char * last2 = first2 + prescribed_grouping.size(); -- -+// boris : this takes reversed first string ! -+bool _STLP_CALL -+__valid_grouping(const char * first1, const char * last1, -+ const char * first2, const char * last2) -+{ - if (first1 == last1 || first2 == last2) return true; - - --last1; --last2; - - while (first1 != last1) { -- if (*first1 != *first2) -+ if (*last1 != *first2) - return false; -- ++first1; -+ --last1; - if (first2 != last2) ++first2; - } -- return *first1 <= *first2; -+ -+ return *last1 <= *first2; - } - -+// this needed for some compilers to make sure sumbols are extern -+extern const unsigned char __digit_val_table[]; -+extern const char __narrow_atoms[]; -+ - - const unsigned char __digit_val_table[128] = - { -@@ -119,8 +116,55 @@ - - // index is actually a char - -+# ifndef _STLP_NO_WCHAR_T -+ -+// Similar, except return the character itself instead of the numeric -+// value. Used for floating-point input. -+bool _STLP_CALL __get_fdigit(wchar_t& c, const wchar_t* digits) -+{ -+ const wchar_t* p = find(digits, digits + 10, c); -+ if (p != digits + 10) { -+ c = (char)('0' + (p - digits)); -+ return true; -+ } -+ else -+ return false; -+} -+ -+bool _STLP_CALL __get_fdigit_or_sep(wchar_t& c, wchar_t sep, -+ const wchar_t * digits) -+{ -+ if (c == sep) { -+ c = (char)','; -+ return true; -+ } -+ else -+ return __get_fdigit(c, digits); -+} -+ -+//---------------------------------------------------------------------- -+// Force instantiation of of num_get<> -+ -+#if !defined(_STLP_NO_FORCE_INSTANTIATE) -+template class _STLP_CLASS_DECLSPEC istreambuf_iterator >; -+template class num_get > >; -+// template class num_get; -+#endif -+ -+# endif /* _STLP_NO_WCHAR_T */ -+ -+//---------------------------------------------------------------------- -+// Force instantiation of of num_get<> -+ -+#if !defined(_STLP_NO_FORCE_INSTANTIATE) -+template class _STLP_CLASS_DECLSPEC istreambuf_iterator >; -+// template class num_get; -+template class num_get > >; -+#endif -+ -+// basic_streambuf >* _STLP_CALL _M_get_istreambuf(basic_istream >& ) ; - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/num_get_float.cpp tripwire-2.3.1-2/src/STLport-4.0/src/num_get_float.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/num_get_float.cpp Sat Feb 24 10:44:14 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/num_get_float.cpp Sun Aug 11 18:59:22 2002 -@@ -17,62 +17,30 @@ - */ - - # include "stlport_prefix.h" --#include --#include --#include --#include --#include -- --#include --#include --#include -+#include -+#include -+#include - --// #include "c_numeric_facets.h" -- --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - //---------------------------------------------------------------------- - // num_get - - // Helper functions for _M_do_get_float. - --void __STL_CALL --__initialize_get_float(const locale& loc, -- char& Plus, char& Minus, char& dot_char, -- char& pow_e, char& pow_E, -- char& sep, string& grouping, -- char* /* digits */) --{ -- const numpunct& fac = (const numpunct&)use_facet >(loc); -- Plus = '+'; -- Minus = '-'; -- dot_char = fac.decimal_point(); -- pow_e = 'e'; -- pow_E = 'E'; -- sep = fac.thousands_sep(); -- grouping = fac.grouping(); --} -+# ifndef _STLP_NO_WCHAR_T - -- --# ifndef __STL_NO_WCHAR_T -- --void __STL_CALL --__initialize_get_float(const locale& loc, -- wchar_t& Plus, wchar_t& Minus, wchar_t& dot_char, -+void _STLP_CALL -+_Initialize_get_float( const ctype& ct, -+ wchar_t& Plus, wchar_t& Minus, - wchar_t& pow_e, wchar_t& pow_E, -- wchar_t& sep, string& grouping, - wchar_t* digits) - { - char ndigits[11] = "0123456789"; -- const ctype& ct = use_facet >(loc); -- const numpunct& np = use_facet >(loc); - Plus = ct.widen('+'); - Minus = ct.widen('-'); -- dot_char = np.decimal_point(); - pow_e = ct.widen('e'); - pow_E = ct.widen('E'); -- sep = np.thousands_sep(); -- grouping = np.grouping(); - ct.widen(ndigits + 0, ndigits + 10, digits); - } - -@@ -86,12 +54,12 @@ - */ - - typedef unsigned int uint32; --# ifdef __STL_LONG_LONG --typedef unsigned long long uint64; --# define ULL(x) x##ull --# elif defined (__STL_MSVC) || defined (__BORLANDC__) --typedef unsigned __int64 uint64; --# define ULL(x) uint64(x) -+# if defined (_STLP_MSVC) || defined (__BORLANDC__) || defined (__ICL) -+# define ULL(x) x##Ui64 -+typedef unsigned _STLP_LONG_LONG uint64; -+# elif defined (_STLP_LONG_LONG) -+typedef unsigned _STLP_LONG_LONG uint64; -+# define ULL(x) x##ULL - # elif defined(__MRC__) || defined(__SC__) //*TY 02/25/2000 - added support for MPW compilers - # include "uint64.h" //*TY 03/25/2000 - added 64bit math type definition - # else -@@ -99,12 +67,11 @@ - # define NUMERIC_NO_64 1 - # endif - -- - // Multiplication of two 64-bit integers, giving a 128-bit result. - // Taken from Algorithm M in Knuth section 4.3.1, with the loop - // hand-unrolled. --inline void _Stl_mult64(const uint64 u, const uint64 v, -- uint64& high, uint64& low) -+void _Stl_mult64(const uint64 u, const uint64 v, -+ uint64& high, uint64& low) - { - const uint64 low_mask = ULL(0xffffffff); - const uint64 u0 = u & low_mask; -@@ -124,8 +91,8 @@ - high = u1 * v1 + w2 + (x >> 32); - } - -- static const uint64 bit11 = ULL(0x7ff); -- static const uint64 exponent_mask = bit11 << 52; -+# define bit11 ULL(0x7ff) -+# define exponent_mask (bit11 << 52) - - inline void _Stl_set_exponent(uint64& val, uint64 exp) - { -@@ -262,7 +229,7 @@ - # define NUM_HI_P 11 - # define NUM_HI_N 13 - --const uint64 _Stl_HIBITULL = ULL(1) << 63; -+# define _Stl_HIBITULL (ULL(1) << 63) - - void _Stl_norm_and_round(uint64& p, int& norm, uint64 prodhi, uint64 prodlo) - { -@@ -279,7 +246,7 @@ - p = _Stl_HIBITULL; - return; - } -- p = prodhi<<1 | prodlo>>63; /* normalize */ -+ p = (prodhi<<1) | (prodlo>>63); /* normalize */ - norm=1; - prodlo <<= 1; - } -@@ -289,10 +256,10 @@ - - if( (prodlo & _Stl_HIBITULL) != 0 ) { /* first guard bit a one */ //*TY 03/25/2000 - added explicit comparison to zero to avoid reliance to the implicit conversion from uint64 to bool - #if !defined(__SC__) //*TY 03/25/2000 - -- if( (p & ULL(0x1) != 0) || /* LSB on, round to even */ //*TY 03/25/2000 - added explicit comparison to zero -+ if( ((p & 0x1) != 0) || - prodlo != _Stl_HIBITULL ) { /* not borderline for round to even */ - #else //*TY 03/25/2000 - added workaround for SCpp compiler -- bool b1 = ((p & ULL(0x1)) != 0); -+ bool b1 = ((p & 0x1) != 0); - if( b1 || prodlo != _Stl_HIBITULL ) { //*TY 03/25/2000 - SCpp confuses on this particular original boolean expression - #endif //*TY 03/25/2000 - - /* round */ -@@ -348,7 +315,7 @@ - return; - } - while(exp_hi) { /* scale */ -- hi = min(exp_hi,num_hi); /* only a few large powers of 10 */ -+ hi = (min) (exp_hi,num_hi); /* only a few large powers of 10 */ - exp_hi -= hi; /* could iterate in extreme case */ - hi += thi-1; - _Stl_mult64(p, _Stl_tenpow[hi], prodhi, prodlo); -@@ -372,9 +339,9 @@ - #if defined(__SC__) || defined(__MRC__) - - //*TY 04/06/2000 - powermac's 68K emulator utilizes apple's SANE floating point, which is not compatible with IEEE format. --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - # include --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - inline double _Stl_atod(char *buffer, int ndigit, int dexp) - { - decimal d; // ref. inside macintosh powerpc numerics p.9-13 -@@ -391,6 +358,11 @@ - - #else /* IEEE representation */ - -+#if 0 // def __ICL -+// turn off optimization here -+# pragma optimize "off" -+#endif -+ - double _Stl_atod(char *buffer, int ndigit, int dexp) - { - -@@ -481,9 +453,9 @@ - { - rest = value & ((ULL(1)<< 63)-1); - #if !defined(__SC__) -- guard = (uint32) ((value>> 63) & ULL(1) ); -+ guard = (uint32) ((value>> 63) & 1 ); - #else -- guard = to_ulong((value>> 63) & ULL(1) ); //*TY 03/25/2000 - use member function instead of problematic conversion operator utilization -+ guard = to_ulong((value>> 63) & 1 ); //*TY 03/25/2000 - use member function instead of problematic conversion operator utilization - #endif - value = 0; - } -@@ -491,9 +463,9 @@ - { - rest = value & (((ULL(1) << lead0)-1)-1); - #if !defined(__SC__) -- guard = (uint32) (((value>> lead0)-1) & ULL(1)); -+ guard = (uint32) (((value>> lead0)-1) & 1); - #else //*TY 03/25/2000 - -- guard = to_ulong(((value>> lead0)-1) & ULL(1)); -+ guard = to_ulong(((value>> lead0)-1) & 1); - #endif //*TY 03/25/2000 - - value >>= /*(uint64)*/ lead0; /* exponent is zero */ - } -@@ -512,7 +484,7 @@ - else { /* not zero or denorm */ - /* Round to 53 bits */ - -- rest = value & (ULL(1)<<10)-1; -+ rest = value & (1<<10)-1; - value >>= 10; - #if !defined(__SC__) - guard = (uint32) value & 1; -@@ -671,6 +643,7 @@ - } - - -+#ifndef _STLP_NO_LONG_DOUBLE - /* - * __string_to_long_double is just lifted from atold, the difference being - * that we just use '.' for the decimal point, rather than let it -@@ -793,23 +766,26 @@ - - return x; - } -+#endif - --void __STL_CALL -+void _STLP_CALL - __string_to_float(const string& v, float& val) { - val = _Stl_string_to_double(v.data()); - } - --void __STL_CALL -+void _STLP_CALL - __string_to_float(const string& v, double& val) { - val = _Stl_string_to_double(v.data()); - } - --void __STL_CALL -+#ifndef _STLP_NO_LONG_DOUBLE -+void _STLP_CALL - __string_to_float(const string& v, long double& val) { - val = _Stl_string_to_long_double(v.data()); - } -+#endif - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - - // Local Variables: - // mode:C++ -Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: num_get_inst.cpp -Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: num_get_inst_w.cpp -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/num_put.cpp tripwire-2.3.1-2/src/STLport-4.0/src/num_put.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/num_put.cpp Sat Feb 24 10:44:14 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/num_put.cpp Sun Aug 11 18:59:22 2002 -@@ -16,91 +16,32 @@ - * - */ - -+# include "stlport_prefix.h" - # include "num_put.h" - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - //---------------------------------------------------------------------- - // num_put - --// Helper functions for _M_do_put_integer -+extern const char __hex_char_table_lo[]; -+extern const char __hex_char_table_hi[]; - --void __STL_CALL --__make_integer_conversion_spec(char * cvtspec, -- ios_base::fmtflags flags, -- bool is_signed, -- bool is_long_long) --{ -- *cvtspec++ = '%'; -- if (flags & ios_base::showpos) *cvtspec++ = '+'; -- if (flags & ios_base::showbase) *cvtspec++ = '#'; -- -- *cvtspec++ = 'l'; // %l... for long, %ll... for unsigned long. -- if (is_long_long) // We never construct a conversion specifier -- *cvtspec++ = 'l'; // for any type shorter than long. -- -- switch (flags & ios_base::basefield) { -- case ios_base::oct: -- *cvtspec++ = 'o'; break; -- case ios_base::hex: -- *cvtspec++ = flags & ios_base::uppercase ? 'X' : 'x'; break; -- default: -- *cvtspec++ = is_signed ? 'd' : 'u'; -- } -- -- *cvtspec++ = 0; --} -+const char __hex_char_table_lo[18] = "0123456789abcdefx"; -+const char __hex_char_table_hi[18] = "0123456789ABCDEFX"; - --char* __STL_CALL -+char* _STLP_CALL - __write_integer(char* buf, ios_base::fmtflags flags, long x) - { -- char cvtspec[64]; -- __make_integer_conversion_spec(cvtspec, flags, true, false); -- sprintf(buf, cvtspec, x); -- return buf + strlen(buf); --} -- --char* __STL_CALL --__write_integer(char* buf, ios_base::fmtflags flags, unsigned long x) --{ -- char cvtspec[64]; -- __make_integer_conversion_spec(cvtspec, flags, false, false); -- sprintf(buf, cvtspec, x); -- return buf + strlen(buf); --} -- --#ifdef __STL_LONG_LONG -- --char* __STL_CALL --__write_integer(char* buf, ios_base::fmtflags flags, long long x) --{ -- char cvtspec[64]; -- __make_integer_conversion_spec(cvtspec, flags, true, true); -- sprintf(buf, cvtspec, x); -- return buf + strlen(buf); -+ char tmp[64]; -+ char* bufend = tmp+64; -+ char* beg = __write_integer_backward(bufend, flags, x); -+ return copy(beg, bufend, buf); - } - --char* __STL_CALL --__write_integer(char* buf, ios_base::fmtflags flags, unsigned long long x) --{ -- char cvtspec[64]; -- __make_integer_conversion_spec(cvtspec, flags, false, true); -- sprintf(buf, cvtspec, x); -- return buf + strlen(buf); --} -- --#endif /* __STL_LONG_LONG */ -- -- --ptrdiff_t __STL_CALL --__insert_grouping(char* first, char* last, const string& grouping, -- char separator, int basechars) --{ -- return __insert_grouping_aux(first, last, grouping, separator, -- '+', '-', basechars); --} -+///------------------------------------- - --ptrdiff_t __STL_CALL -+ptrdiff_t _STLP_CALL - __insert_grouping(char * first, char * last, const string& grouping, - char separator, char Plus, char Minus, int basechars) - { -@@ -108,9 +49,9 @@ - separator, Plus, Minus, basechars); - } - --# ifndef __STL_NO_WCHAR_T -+# ifndef _STLP_NO_WCHAR_T - --ptrdiff_t __STL_CALL -+ptrdiff_t _STLP_CALL - __insert_grouping(wchar_t* first, wchar_t* last, const string& grouping, - wchar_t separator, wchar_t Plus, wchar_t Minus, - int basechars) -@@ -121,7 +62,21 @@ - - # endif - --__STL_END_NAMESPACE -+ -+//---------------------------------------------------------------------- -+// Force instantiation of num_put<> -+#if !defined(_STLP_NO_FORCE_INSTANTIATE) -+template class _STLP_CLASS_DECLSPEC ostreambuf_iterator >; -+// template class num_put; -+template class num_put > >; -+# ifndef _STLP_NO_WCHAR_T -+template class ostreambuf_iterator >; -+template class num_put > >; -+// template class num_put; -+# endif /* INSTANTIATE_WIDE_STREAMS */ -+#endif -+ -+_STLP_END_NAMESPACE - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/num_put.h tripwire-2.3.1-2/src/STLport-4.0/src/num_put.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/num_put.h Sat Feb 24 10:44:14 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/num_put.h Sun Aug 11 18:59:22 2002 -@@ -16,22 +16,17 @@ - * - */ - --# ifndef __STL_NUM_PUT_H --# define __STL_NUM_PUT_H -+# ifndef _STLP_NUM_PUT_H -+# define _STLP_NUM_PUT_H - --#define __BUILDING_STLPORT 1 --#include --#include --#include --#include --// #include -- --#include --#include --#include --#include -+#ifndef _STLP_INTERNAL_NUM_PUT_H -+#include -+#endif -+#ifndef _STLP_INTERNAL_OSTREAM_H -+#include -+#endif - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - // Note that grouping[0] is the number of digits in the *rightmost* group. - // We assume, without checking, that *last is null and that there is enough -@@ -77,6 +72,6 @@ - return (last - first) + sign + basechars; - } - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - - # endif -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/num_put_float.cpp tripwire-2.3.1-2/src/STLport-4.0/src/num_put_float.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/num_put_float.cpp Sat Feb 24 10:44:14 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/num_put_float.cpp Sun Aug 11 18:59:22 2002 -@@ -24,7 +24,7 @@ - #define NDIG 82 - # endif - --# ifdef __STL_NO_LONG_DOUBLE -+# ifdef _STLP_NO_LONG_DOUBLE - # define MAXECVT 17 - # define MAXFCVT 18 - typedef double max_double_type; -@@ -41,29 +41,33 @@ - - # include - --# ifdef __STL_UNIX -- --# ifdef __OpenBSD__ --# include --# include --# else --# include --# endif -+# ifdef _STLP_UNIX - - # if defined (__sun) - # include - # endif - --# if !defined(__STL_USE_GLIBC) && !defined(__FreeBSD__) && !defined(__OpenBSD__) // dwa 1/10/00 - nan.h not supplied with gcc --// DEC & Solaris need this -+//# if !(defined(_STLP_USE_GLIBC) || defined(__FreeBSD__) || defined(__NetBSD__) || defined (_AIX) || defined(__MVS__) || defined (__OS400__) || defined (__QNXNTO__) || defined (__APPLE__) || defined (__DJGPP)) -+# if defined (__sun) || defined (__digital__) || defined (__sgi) || defined (_STLP_SCO_OPENSERVER) || defined (__NCR_SVR) -+// DEC, SGI & Solaris need this -+# include - # include - # endif - -+# if defined (__QNXNTO__) || ( defined(__GNUC__) && defined(__APPLE__) ) -+# define USE_SPRINTF_INSTEAD - # endif - --# include -+# if defined( _AIX ) // JFA 3-Aug-2000 -+# include -+# include -+# endif -+ -+# endif - --#if defined (_MSC_VER) || defined (__MINGW32__) || defined (__BORLANDC__) -+# include -+ -+#if defined (_MSC_VER) || defined (__MINGW32__) || defined (__BORLANDC__) || defined (__DJGPP) || defined (_STLP_SCO_OPENSERVER) || defined (__NCR_SVR) - # include - #endif - -@@ -80,113 +84,255 @@ - # include - #endif - --# include -+#if defined (__ISCPP__) -+# include -+#endif -+ -+ -+# include "num_put.h" - # include - --__STL_BEGIN_NAMESPACE - -+#if defined(__hpux) && !defined(_INCLUDE_HPUX_SOURCE) -+ extern "C" double erf(double); -+ extern "C" double erfc(double); -+ extern "C" double gamma(double); /* obsolescent */ -+ extern "C" double hypot(double, double); -+ extern "C" int isnan(double); -+ extern "C" double j0(double); -+ extern "C" double j1(double); -+ extern "C" double jn(int, double); -+ extern "C" double lgamma(double); -+ extern "C" double y0(double); -+ extern "C" double y1(double); -+ extern "C" double yn(int, double); -+ -+# define HUGE_VALF _SINFINITY -+# define INFINITY _SINFINITY -+# define NAN _SQNAN -+ -+# define isnan(x) _ISNAN(x) -+# define isinf(x) _ISINF(x) -+# define signbit(x) _SIGNBIT(x) -+# define isfinite(x) _ISFINITE(x) -+# define isnormal(x) _ISNORMAL(x) -+# define fpclassify(x) _FPCLASSIFY(x) -+# define isunordered(x,y) _ISUNORDERED(x,y) -+# define isgreater(x,y) _ISGREATER(x,y) -+# define isgreaterequal(x,y) _ISGREATEREQUAL(x,y) -+# define isless(x,y) _ISLESS(x,y) -+# define islessequal(x,y) _ISLESSEQUAL(x,y) -+# define islessgreater(x,y) _ISLESSGREATER(x,y) -+ -+# define FP_NORMAL 0 -+# define FP_ZERO 1 -+# define FP_INFINITE 2 -+# define FP_SUBNORMAL 3 -+# define FP_NAN 4 -+ -+# define DECIMAL_DIG 17 -+ -+# define _IS64(x) (sizeof(x)==sizeof(double)) -+# define _IS32(x) (sizeof(x)==sizeof(float)) -+ -+extern "C" { -+ extern double copysign(double, double); -+ extern const float _SINFINITY; -+ extern const float _SQNAN; -+# ifdef _PA_RISC -+# define _ISNAN(x) (_IS32(x)?_Isnanf(x):(isnan)(x)) -+# define _ISINF(x) (_IS32(x)?_Isinff(x):_Isinf(x)) -+# define _SIGNBIT(x) (_IS32(x)?_Signbitf(x):_Signbit(x)) -+# define _ISFINITE(x) (_IS32(x)?_Isfinitef(x):_Isfinite(x)) -+# define _ISNORMAL(x) (_IS32(x)?_Isnormalf(x):_Isnormal(x)) -+# define _FPCLASSIFY(x) (_IS32(x)?_Fpclassifyf(x)>>1:_Fpclassify(x)>>1) -+# define _ISUNORDERED(x,y) (_IS32(x)&&_IS32(y)?_Isunorderedf(x,y):_Isunordered(x,y)) -+ extern int _Signbit(double); -+ extern int _Signbitf(float); -+ extern int _Isnanf(float); -+ extern int _Isfinite(double); -+ extern int _Isfinitef(float); -+ extern int _Isinf(double); -+ extern int _Isinff(float); -+ extern int _Isnormal(double); -+ extern int _Isnormalf(float); -+ extern int _Isunordered(double, double); -+ extern int _Isunorderedf(float, float); -+ extern int _Fpclassify(double); -+ extern int _Fpclassifyf(float); -+# else -+# include "math_ia64_internal.h" -+# define _FPCLASSIFY(x) (_IS32(x)?_Fpclassf(x):_Fpclass(x)) -+ extern int _Fpclass(double); -+ extern int _Fpclassf(float); -+# endif -+} - --// Tests for infinity and NaN differ on different OSs. We encapsulate --// these differences here. -+#ifndef _INCLUDE_XOPEN_SOURCE_EXTENDED -+extern "C" char *fcvt(double, int, int *, int *); -+extern "C" char *ecvt(double, int, int *, int *); -+#endif -+#ifndef _INCLUDE_HPUX_SOURCE -+# ifndef _LONG_DOUBLE -+# define _LONG_DOUBLE -+ typedef struct { -+ uint32_t word1, word2, word3, word4; -+ } long_double; -+# endif /* _LONG_DOUBLE */ -+extern "C" char *_ldecvt(long_double, int, int *, int *); -+extern "C" char *_ldfcvt(long_double, int, int *, int *); -+ -+#endif -+ -+#endif /* __hpux */ - --#if defined(__STL_USE_GLIBC) || defined (__hpux) || defined(__MSL__) --# if defined(__MSL__) -- // dwa 1/16/00 -- untested! -- inline bool _Stl_is_nan_or_inf(double x) { int fp_class = fpclassify(x); return x == FP_NAN || x == FP_INFINITE; } -- inline bool _Stl_is_neg_nan(double x) { return isnan(x) && ( __STL_VENDOR_STD::copysign(1., x) < 0 ); } -+_STLP_BEGIN_NAMESPACE -+ -+#if defined (__MWERKS__) || defined(__BEOS__) -+# define USE_SPRINTF_INSTEAD -+#endif -+ -+# if defined (_AIX) -+// Some OS'es only provide non-reentrant primitives, so we have to use additional synchronization here -+# ifdef _REENTRANT -+static _STLP_STATIC_MUTEX __put_float_mutex _STLP_MUTEX_INITIALIZER; -+# define LOCK_CVT _STLP_auto_lock lock(__put_float_mutex); -+# define RETURN_CVT(ecvt, x, n, pt, sign, buf) strcpy(buf, ecvt(x, n, pt, sign)); return buf; - # else -- inline bool _Stl_is_nan_or_inf(double x) { return !finite(x); } -- inline bool _Stl_is_neg_nan(double x) { return isnan(x) && ( copysign(1., x) < 0 ); } -+# define LOCK_CVT -+# define RETURN_CVT(ecvt, x, n, pt, sign, buf) return ecvt(x, n, pt, sign); - # endif -- inline bool _Stl_is_inf(double x) { return isinf(x); } -- inline bool _Stl_is_neg_inf(double x) { return isinf(x) < 0; } --#elif defined(__unix) && !defined(__FreeBSD__) && !defined(__OpenBSD__) /* (__sgi) || defined (__sun) IRIX , Solaris, others ? */ -- inline bool _Stl_is_nan_or_inf(double x) { return IsNANorINF(x); } -- inline bool _Stl_is_inf(double x) { return IsNANorINF(x) && IsINF(x); } -- inline bool _Stl_is_neg_inf(double x) { return (IsINF(x)) && (x < 0.0); } -- inline bool _Stl_is_neg_nan(double x) { return IsNegNAN(x); } --# elif defined (__BORLANDC__) && __BORLANDC__ < 0x540 -- inline bool _Stl_is_nan_or_inf(double x) { return !_finite(x); } -- inline bool _Stl_is_inf(double x) { -- return _Stl_is_nan_or_inf(x) && ! _isnan(x); -- } -- inline bool _Stl_is_neg_inf(double x) { -- return _Stl_is_inf(x) && x < 0 ; -- } -- inline bool _Stl_is_neg_nan(double x) { return _isnan(x) && x < 0 ; } -+# endif -+ -+// Tests for infinity and NaN differ on different OSs. We encapsulate -+// these differences here. -+ -+#ifdef USE_SPRINTF_INSTEAD -+ -+#elif defined (__hpux) || defined (__DJGPP) || ( defined(_STLP_USE_GLIBC) && ! defined (__MSL__) ) -+# if defined (isfinite) -+inline bool _Stl_is_nan_or_inf(double x) { return !isfinite(x); } -+# else -+inline bool _Stl_is_nan_or_inf(double x) { return !finite(x); } -+# endif -+inline bool _Stl_is_neg_nan(double x) { return isnan(x) && ( copysign(1., x) < 0 ); } -+inline bool _Stl_is_inf(double x) { return isinf(x); } -+// inline bool _Stl_is_neg_inf(double x) { return isinf(x) < 0; } -+inline bool _Stl_is_neg_inf(double x) { return isinf(x) && x < 0; } -+#elif defined(__unix) && !defined(__FreeBSD__) && !defined(__NetBSD__) \ -+ && !defined(__APPLE__) && !defined(__DJGPP) && !defined(__osf__) -+inline bool _Stl_is_nan_or_inf(double x) { return IsNANorINF(x); } -+inline bool _Stl_is_inf(double x) { return IsNANorINF(x) && IsINF(x); } -+inline bool _Stl_is_neg_inf(double x) { return (IsINF(x)) && (x < 0.0); } -+inline bool _Stl_is_neg_nan(double x) { return IsNegNAN(x); } -+# elif defined (__BORLANDC__) && ( __BORLANDC__ < 0x540 ) -+inline bool _Stl_is_nan_or_inf(double x) { return !_finite(x); } -+inline bool _Stl_is_inf(double x) { return _Stl_is_nan_or_inf(x) && ! _isnan(x);} -+inline bool _Stl_is_neg_inf(double x) { return _Stl_is_inf(x) && x < 0 ; } -+inline bool _Stl_is_neg_nan(double x) { return _isnan(x) && x < 0 ; } - #elif defined (_MSC_VER) || defined (__MINGW32__) || defined (__BORLANDC__) -- inline bool _Stl_is_nan_or_inf(double x) { return !_finite(x); } -- inline bool _Stl_is_inf(double x) { -- int fclass = _fpclass(x); -- return fclass == _FPCLASS_NINF || fclass == _FPCLASS_PINF; -- } -- inline bool _Stl_is_neg_inf(double x) { -- return _fpclass(x) == _FPCLASS_NINF; -- } -- inline bool _Stl_is_neg_nan(double x) { return _isnan(x) && _copysign(1., x) < 0 ; } -+inline bool _Stl_is_nan_or_inf(double x) { return !_finite(x); } -+inline bool _Stl_is_inf(double x) { -+ int fclass = _fpclass(x); -+ return fclass == _FPCLASS_NINF || fclass == _FPCLASS_PINF; -+} -+inline bool _Stl_is_neg_inf(double x) { return _fpclass(x) == _FPCLASS_NINF; } -+inline bool _Stl_is_neg_nan(double x) { return _isnan(x) && _copysign(1., x) < 0 ; } - #elif defined(__MRC__) || defined(__SC__) //*TY 02/24/2000 - added support for MPW -- bool _Stl_is_nan_or_inf(double x) { return isnan(x) || !isfinite(x); } -- bool _Stl_is_inf(double x) { return !isfinite(x); } -- bool _Stl_is_neg_inf(double x) { return !isfinite(x) && signbit(x); } -- bool _Stl_is_neg_nan(double x) { return isnan(x) && signbit(x); } --#elif defined (__FreeBSD__) || defined(__OpenBSD__) -- inline bool _Stl_is_nan_or_inf(double x) { return !finite(x); } -- inline bool _Stl_is_inf(double x) { -- return _Stl_is_nan_or_inf(x) && ! isnan(x); -- } -- inline bool _Stl_is_neg_inf(double x) { -- return _Stl_is_inf(x) && x < 0 ; -- } -- inline bool _Stl_is_neg_nan(double x) { return isnan(x) && copysign(1., x) < 0 ; } -+bool _Stl_is_nan_or_inf(double x) { return isnan(x) || !isfinite(x); } -+bool _Stl_is_inf(double x) { return !isfinite(x); } -+bool _Stl_is_neg_inf(double x) { return !isfinite(x) && signbit(x); } -+bool _Stl_is_neg_nan(double x) { return isnan(x) && signbit(x); } -+#elif /* defined (__FreeBSD__) */ ( defined (__GNUC__) && defined (__APPLE__) ) -+inline bool _Stl_is_nan_or_inf(double x) { return !finite(x); } -+inline bool _Stl_is_inf(double x) { return _Stl_is_nan_or_inf(x) && ! isnan(x); } -+inline bool _Stl_is_neg_inf(double x) { return _Stl_is_inf(x) && x < 0 ; } -+inline bool _Stl_is_neg_nan(double x) { return isnan(x) && copysign(1., x) < 0 ; } -+#elif defined( _AIX ) // JFA 11-Aug-2000 -+bool _Stl_is_nan_or_inf(double x) { return isnan(x) || !finite(x); } -+bool _Stl_is_inf(double x) { return !finite(x); } -+// bool _Stl_is_neg_inf(double x) { return _class(x) == FP_MINUS_INF; } -+bool _Stl_is_neg_inf(double x) { return _Stl_is_inf(x) && ( copysign(1., x) < 0 ); } -+bool _Stl_is_neg_nan(double x) { return isnan(x) && ( copysign(1., x) < 0 ); } -+#elif defined (__ISCPP__) -+inline bool _Stl_is_nan_or_inf (double x) { return _fp_isINF(x) || _fp_isNAN(x); } -+inline bool _Stl_is_inf (double x) { return _fp_isINF(x); } -+inline bool _Stl_is_neg_inf (double x) { return _fp_isINF(x) && x < 0; } -+inline bool _Stl_is_neg_nan (double x) { return _fp_isNAN(x) && x < 0; } -+#elif ! defined (USE_SPRINTF_INSTEAD) -+# define USE_SPRINTF_INSTEAD - #endif - -+ -+# ifndef USE_SPRINTF_INSTEAD - // Reentrant versions of floating-point conversion functions. The argument - // lists look slightly different on different operating systems, so we're - // encapsulating the differences here. - --#if defined (__CYGWIN__) -+#if defined (__CYGWIN__) || defined(__DJGPP) - inline char* _Stl_ecvtR(double x, int n, int* pt, int* sign, char* buf) - { return ecvtbuf(x, n, pt, sign, buf); } - inline char* _Stl_fcvtR(double x, int n, int* pt, int* sign, char* buf) - { return fcvtbuf(x, n, pt, sign, buf); } -+# ifndef _STLP_NO_LONG_DOUBLE - inline char* _Stl_qecvtR(long double x, int n, int* pt, int* sign, char* buf) - { return ecvtbuf(x, n, pt, sign, buf); } - inline char* _Stl_qfcvtR(long double x, int n, int* pt, int* sign, char* buf) - { return fcvtbuf(x, n, pt, sign, buf); } --#elif defined (__STL_USE_GLIBC) -+# endif -+#elif defined (_STLP_USE_GLIBC) - inline char* _Stl_ecvtR(double x, int n, int* pt, int* sign, char* buf) - { return buf + ecvt_r(x, n, pt, sign, buf, NDIG+2); } - inline char* _Stl_fcvtR(double x, int n, int* pt, int* sign, char* buf) - { return buf + fcvt_r(x, n, pt, sign, buf, NDIG+2); } -+# ifndef _STLP_NO_LONG_DOUBLE - inline char* _Stl_qecvtR(long double x, int n, int* pt, int* sign, char* buf) - { return buf + qecvt_r(x, n, pt, sign, buf, NDIG+2); } - inline char* _Stl_qfcvtR(long double x, int n, int* pt, int* sign, char* buf) - { return buf + qfcvt_r(x, n, pt, sign, buf, NDIG+2); } -+# endif -+#elif defined (_STLP_SCO_OPENSERVER) || defined (__NCR_SVR) -+ inline char* _Stl_ecvtR(double x, int n, int* pt, int* sign, char* buf) -+ { return ecvt(x, n, pt, sign); } -+ inline char* _Stl_fcvtR(double x, int n, int* pt, int* sign, char* buf) -+ { return fcvt(x, n, pt, sign); } -+# ifndef _STLP_NO_LONG_DOUBLE -+ inline char* _Stl_qecvtR(long double x, int n, int* pt, int* sign, char* buf) -+ { return ecvtl(x, n, pt, sign); } -+ inline char* _Stl_qfcvtR(long double x, int n, int* pt, int* sign, char* buf) -+ { return fcvtl(x, n, pt, sign); } -+# endif - #elif defined (__sun) - inline char* _Stl_ecvtR(double x, int n, int* pt, int* sign, char* buf) - { return econvert(x, n, pt, sign, buf); } - inline char* _Stl_fcvtR(double x, int n, int* pt, int* sign, char* buf) - { return fconvert(x, n, pt, sign, buf); } -+# ifndef _STLP_NO_LONG_DOUBLE - inline char* _Stl_qecvtR(long double x, int n, int* pt, int* sign, char* buf) - { return qeconvert(&x, n, pt, sign, buf); } - inline char* _Stl_qfcvtR(long double x, int n, int* pt, int* sign, char* buf) - { return qfconvert(&x, n, pt, sign, buf); } -+# endif - #elif defined (__DECCXX) - inline char* _Stl_ecvtR(double x, int n, int* pt, int* sign, char* buf) - { return (ecvt_r(x, n, pt, sign, buf, NDIG)==0 ? buf : 0); } - inline char* _Stl_fcvtR(double x, int n, int* pt, int* sign, char* buf) - { return (fcvt_r(x, n, pt, sign, buf, NDIG)==0 ? buf : 0); } -+# ifndef _STLP_NO_LONG_DOUBLE - // fbp : no "long double" conversions ! - inline char* _Stl_qecvtR(long double x, int n, int* pt, int* sign, char* buf) - { return (ecvt_r((double)x, n, pt, sign, buf, NDIG)==0 ? buf : 0) ; } - inline char* _Stl_qfcvtR(long double x, int n, int* pt, int* sign, char* buf) - { return (fcvt_r((double)x, n, pt, sign, buf, NDIG)==0 ? buf : 0); } -+# endif - #elif defined (__hpux) - inline char* _Stl_ecvtR(double x, int n, int* pt, int* sign, char* buf) - { return ecvt(x, n, pt, sign); } - inline char* _Stl_fcvtR(double x, int n, int* pt, int* sign, char* buf) - { return fcvt(x, n, pt, sign); } --# ifdef _REENTRANT -+# ifndef _STLP_NO_LONG_DOUBLE -+ -+# if defined( _REENTRANT ) && (defined(_PTHREADS_DRAFT4) || defined(PTHREAD_THREADS_MAX)) - inline char* _Stl_qecvtR(long double x, int n, int* pt, int* sign, char* buf) - { return (_ldecvt_r(*(long_double*)&x, n, pt, sign, buf, NDIG+2)==0 ? buf : 0); } - inline char* _Stl_qfcvtR(long double x, int n, int* pt, int* sign, char* buf) -@@ -197,343 +343,62 @@ - inline char* _Stl_qfcvtR(long double x, int n, int* pt, int* sign, char* buf) - { return _ldfcvt(*(long_double*)&x, n, pt, sign); } - # endif -- --#elif defined (__unix) && !defined(__FreeBSD__) && !defined(__OpenBSD__) /* defined(__sgi) IRIX */ -+# endif -+#elif defined (_AIX) -+ inline char* _Stl_ecvtR(double x, int n, int* pt, int* sign, char* buf) -+ { LOCK_CVT RETURN_CVT(ecvt, x, n, pt, sign, buf) } -+ inline char* _Stl_fcvtR(double x, int n, int* pt, int* sign, char* buf) -+ { LOCK_CVT RETURN_CVT(fcvt, x, n, pt, sign, buf) } -+# ifndef _STLP_NO_LONG_DOUBLE -+ inline char* _Stl_qecvtR(long double x, int n, int* pt, int* sign, char* buf) -+ { LOCK_CVT RETURN_CVT(ecvt, x, n, pt, sign, buf) } -+ inline char* _Stl_qfcvtR(long double x, int n, int* pt, int* sign, char* buf) -+ { LOCK_CVT RETURN_CVT(fcvt, x, n, pt, sign, buf) } -+# endif -+#elif defined (__unix) && !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__APPLE__) - inline char* _Stl_ecvtR(double x, int n, int* pt, int* sign, char* buf) - { return ecvt_r(x, n, pt, sign, buf); } - inline char* _Stl_fcvtR(double x, int n, int* pt, int* sign, char* buf) - { return fcvt_r(x, n, pt, sign, buf); } -+# ifndef _STLP_NO_LONG_DOUBLE - inline char* _Stl_qecvtR(long double x, int n, int* pt, int* sign, char* buf) - { return qecvt_r(x, n, pt, sign, buf); } - inline char* _Stl_qfcvtR(long double x, int n, int* pt, int* sign, char* buf) - { return qfcvt_r(x, n, pt, sign, buf); } -- --#elif defined (__FreeBSD__) || defined(__OpenBSD__) -- --/* -- * Copyright (c) 1995-1997 The Apache Group. All rights reserved. -- * -- * Redistribution and use in source and binary forms, with or without -- * modification, are permitted provided that the following conditions -- * are met: -- * -- * 1. Redistributions of source code must retain the above copyright -- * notice, this list of conditions and the following disclaimer. -- * -- * 2. Redistributions in binary form must reproduce the above copyright -- * notice, this list of conditions and the following disclaimer in -- * the documentation and/or other materials provided with the -- * distribution. -- * -- * 3. All advertising materials mentioning features or use of this -- * software must display the following acknowledgment: -- * "This product includes software developed by the Apache Group -- * for use in the Apache HTTP server project (http://www.apache.org/)." -- * -- * 4. The names "Apache Server" and "Apache Group" must not be used to -- * endorse or promote products derived from this software without -- * prior written permission. -- * -- * 5. Redistributions of any form whatsoever must retain the following -- * acknowledgment: -- * "This product includes software developed by the Apache Group -- * for use in the Apache HTTP server project (http://www.apache.org/)." -- */ -- --static char * -- ap_cvt(double arg, int ndigits, int *decpt, int *sign, int eflag, char *str) --{ -- register int r2; -- double fi, fj; -- register char *p, *p1; -- static char buf[NDIG]; -- -- if (ndigits >= NDIG - 1) -- ndigits = NDIG - 2; -- r2 = 0; -- *sign = 0; -- p = &buf[0]; -- if (arg < 0) { -- *sign = 1; -- arg = -arg; -- } -- arg = modf(arg, &fi); -- p1 = &buf[NDIG]; -- /* -- * Do integer part -- */ -- if (fi != 0) { -- p1 = &buf[NDIG]; -- while (fi != 0) { -- fj = modf(fi / 10, &fi); -- *--p1 = (int) ((fj + .03) * 10) + '0'; -- r2++; -- } -- while (p1 < &buf[NDIG]) -- *p++ = *p1++; -- } -- else if (arg > 0) { -- while ((fj = arg * 10) < 1) { -- arg = fj; -- r2--; -- } -- } -- p1 = &buf[ndigits]; -- if (eflag == 0) -- p1 += r2; -- *decpt = r2; -- if (p1 < &buf[0]) { -- buf[0] = '\0'; -- str = buf; -- return (buf); -- } -- while (p <= p1 && p < &buf[NDIG]) { -- arg *= 10; -- arg = modf(arg, &fj); -- *p++ = (int) fj + '0'; -- } -- if (p1 >= &buf[NDIG]) { -- buf[NDIG - 1] = '\0'; -- str = buf; -- return (buf); -- } -- p = p1; -- *p1 += 5; -- while (*p1 > '9') { -- *p1 = '0'; -- if (p1 > buf) -- ++ * --p1; -- else { -- *p1 = '1'; -- (*decpt)++; -- if (eflag == 0) { -- if (p > buf) -- *p = '0'; -- p++; -- } -- } -- } -- *p = '\0'; -- str = buf; -- return (buf); --} -- --static char * -- ap_ecvt(double arg, int ndigits, int *decpt, int *sign, char *buf) --{ -- return ap_cvt(arg, ndigits, decpt, sign, 1, buf); --} -- --static char * -- ap_fcvt(double arg, int ndigits, int *decpt, int *sign, char *buf) --{ -- return ap_cvt(arg, ndigits, decpt, sign, 0, buf); --} --/*** End of Apache code ***/ -+# endif -+#elif defined (_MSC_VER) || defined (__MINGW32__) || defined (__BORLANDC__) -+// those guys claim _cvt functions being reentrant. -+inline char* _Stl_ecvtR(double x, int n, int* pt, int* sign, char* buf) { return _ecvt(x, n, pt, sign); } -+inline char* _Stl_fcvtR(double x, int n, int* pt, int* sign, char* buf) { return _fcvt(x, n, pt, sign); } -+# ifndef _STLP_NO_LONG_DOUBLE -+inline char* _Stl_qecvtR(long double x, int n, int* pt, int* sign, char* buf) { return _ecvt((double)x, n, pt, sign); } -+inline char* _Stl_qfcvtR(long double x, int n, int* pt, int* sign, char* buf) { return _fcvt((double)x, n, pt, sign); } -+# endif -+#elif defined (__ISCPP__) - inline char* _Stl_ecvtR(double x, int n, int* pt, int* sign, char* buf) -- { return ap_ecvt(x, n, pt, sign, buf); } --inline char* _Stl_fcvtR(double x, int n, int* pt, int* sign, char* buf) -- { return ap_fcvt(x, n, pt, sign, buf); } --inline char* _Stl_qecvtR(long double x, int n, int* pt, int* sign, char* buf) -- { return ap_ecvt(x, n, pt, sign, buf); } --inline char* _Stl_qfcvtR(long double x, int n, int* pt, int* sign, char* buf) -- { return ap_fcvt(x, n, pt, sign, buf); } -- --#elif defined (__MSL__) -+{ return _fp_ecvt( x, n, pt, sign, buf); } - -- // dwa 1/16/00 -- untested! -- // dwa 1/16/00: I would be not be shocked if this wasn't reentrant -- namespace { -- // extra bytes for sign, leading zero, decimal point, exponent, -- // null termination -- const int scientific_buffer_extra = 30; -- -- char* cvt_nan_inf_aux(int fp_class, const int n, int* const pt, char* const result) -- { -- if (fp_class == FP_NAN) -- strcpy(result, "Nan"); -- else if (fp_class == FP_INFINITE) -- strcpy(result, n < 8 ? "Inf" : "Infinity"); -- else -- return 0; -- -- return result; -- } -- -- // Returns 0 if the number is not a NAN or INF. Otherwise suitable return value for -- // ecvt. -- template -- char* cvt_nan_inf(const T x, const int n, int* const pt, int* const sign, char* const buf) -- { -- char* const result = cvt_nan_inf_aux(fpclassify(x), n, pt, buf); -- if (result != 0) -- { -- // documentation gives no indication of what this should really be. -- *pt = 0; -- *sign = x < 0.0; -- } -- return result; -- } -- -- template const char* ecvt_fmt_string(); -- template <> inline const char* ecvt_fmt_string() { return "%0.*E"; } -- template <> inline const char* ecvt_fmt_string() { return "%0.*LE"; } -- -- template const char* fcvt_fmt_string(); -- template <> inline const char* fcvt_fmt_string() { return "%0.*f"; } -- template <> inline const char* fcvt_fmt_string() { return "%0.*Lf"; } -- -- #if defined( NDEBUG ) -- const size_t stack_buffer_size = 400; // set large for efficiency -- #else -- const size_t stack_buffer_size = 4; // set small for testing purposes -- #endif -- -- -- template -- char* ecvtR(const T x, const int n, int* const pt, int* const sign, char* const result) -- { -- char* const nan_inf_result = cvt_nan_inf(x, n, pt, sign, result); -- if (nan_inf_result != 0) -- return nan_inf_result; -- -- int buffer_size = n + scientific_buffer_extra; -- -- char stack_buffer[stack_buffer_size]; -- char* const buffer = buffer_size > stack_buffer_size -- ? new char[buffer_size] : stack_buffer; // no alloca provided for mac -- -- // One significant digit will come before the decimal point, so we only -- // want n-1 digits afterwards. (snprintf not supported by CW!) -- sprintf(buffer, ecvt_fmt_string(), n - 1, x); -- char* const begin = buffer; -- char* const end = find(begin, begin + buffer_size, '\0'); -- -- // Handle the sign -- const bool neg = *buffer == '-'; -- char* const mantissa = neg ? begin + 1 : begin; -- *sign = neg; -- -- char* const end_mantissa = find(mantissa, end, 'E'); -- -- *result = *mantissa; // copy the first digit of the mantissa -- -- // copy the rest (skipping over the decimal point) -- char* const end_result = copy(mantissa + 2, end_mantissa, result + 1); -- -- // if this ever goes off, I guess we need to zero-fill -- assert(end_result == result + n); -- -- // null-terminate -- *end_result = '\0'; -- -- // The exponent is just after the 'E' -- char* const exponent = end_mantissa + 1; -- -- // There was one digit before the decimal, so we must adjust -- *pt = atoi(exponent) + 1; -- -- if (buffer_size > stack_buffer_size) -- delete[] buffer; -- -- return result; -- } -- -- template -- char* fcvtR(const T x, const int n, int* const pt, int* const sign, char* const result) -- { -- char* const nan_inf_result = cvt_nan_inf(x, n, pt, sign, result); -- if (nan_inf_result != 0) -- return nan_inf_result; -- -- // 310 is a constant gleaned from the Sun documentation. It might need to be changed. -- int buffer_size = 310 + max(n, 0) + scientific_buffer_extra; -- -- char stack_buffer[stack_buffer_size]; -- char* const buffer = buffer_size > stack_buffer_size -- ? new char[buffer_size] : stack_buffer; // no alloca provided for mac -- -- // One significant digit will come before the decimal point, so we only -- // want n-1 digits afterwards. (snprintf not supported by CW!) -- sprintf(buffer, fcvt_fmt_string(), n - 1, x); -- char* const begin = buffer; -- char* const end = find(begin, begin + buffer_size, '\0'); -- -- // Handle the sign -- const bool neg = *buffer == '-'; -- char* const first_digit_pos = neg ? begin + 1 : begin; -- *sign = neg; -- -- char* const pt_pos = find(first_digit_pos, end, '.'); -- *pt = pt_pos - first_digit_pos; -- char* const frac_pos = pt_pos == end ? pt_pos : pt_pos + 1; -- -- // add everything from after the decimal point through the null terminator -- copy(frac_pos, end + 1, -- // to the sequence from the first digit to the decimal point -- copy(first_digit_pos, pt_pos, result) ); -- -- if (buffer_size > stack_buffer_size) -- delete[] buffer; -- -- return result; -- } -- -- } -- -- inline char* _Stl_ecvtR(double x, int n, int* pt, int* sign, char* result) -- { -- return ecvtR(x, n, pt, sign, result); -- } -- -- char* _Stl_fcvtR(double x, int n, int* pt, int* sign, char* result) -- { -- return fcvtR(x, n, pt, sign, result); -- } -- -- inline char* _Stl_qecvtR(long double x, int n, int* pt, int* sign, char* result) -- { -- return ecvtR(x, n, pt, sign, result); -- } -- -- inline char* _Stl_qfcvtR(long double x, int n, int* pt, int* sign, char* result) -- { -- return fcvtR(x, n, pt, sign, result); -- } -- --#elif defined (_MSC_VER) || defined (__MINGW32__) || defined (__BORLANDC__) -- inline char* _Stl_ecvtR(double x, int n, int* pt, int* sign, char* buf) -- { -- strcpy(buf, _ecvt(x, n, pt, sign)); -- return buf; -- } -- inline char* _Stl_fcvtR(double x, int n, int* pt, int* sign, char* buf) -- { -- strcpy(buf, _fcvt(x, n, pt, sign)); -- return buf; -- } -- inline char* _Stl_qecvtR(long double x, int n, int* pt, int* sign, char* buf) -- { -- strcpy(buf, _ecvt((double)x, n, pt, sign)); -- return buf; -- } -- inline char* _Stl_qfcvtR(long double x, int n, int* pt, int* sign, char* buf) -- { -- strcpy(buf, _fcvt((double)x, n, pt, sign)); -- return buf; -- } --#elif defined (__MRC__) || defined(__SC__) //*TY 02/24/2000 - added support for MPW -- inline char* _Stl_ecvtR(double x, int n, int* pt, int* sign, char* ) -- { return ecvt( x, n, pt, sign ); } -- -- inline char* _Stl_fcvtR(double x, int n, int* pt, int* sign, char* ) -- { return fcvt(x, n, pt, sign); } -+inline char* _Stl_fcvtR(double x, int n, int* pt, int* sign, char* buf) -+{ return _fp_fcvt(x, n, pt, sign, buf); } - -- inline char* _Stl_qecvtR(long double x, int n, int* pt, int* sign, char* ) -- { return ecvt( x, n, pt, sign ); } -+# ifndef _STLP_NO_LONG_DOUBLE -+inline char* _Stl_qecvtR(long double x, int n, int* pt, int* sign, char* buf) -+{ return _fp_ecvt( x, n, pt, sign, buf); } - -- inline char* _Stl_qfcvtR(long double x, int n, int* pt, int* sign, char* ) -- { return fcvt(x, n, pt, sign); } -+inline char* _Stl_qfcvtR(long double x, int n, int* pt, int* sign, char* buf) -+{ return _fp_fcvt(x, n, pt, sign, buf); } -+# endif -+#elif defined (__MRC__) || defined(__SC__) -+inline char* _Stl_ecvtR(double x, int n, int* pt, int* sign, char* ) -+{ return ecvt( x, n, pt, sign ); } -+inline char* _Stl_fcvtR(double x, int n, int* pt, int* sign, char* ) -+{ return fcvt(x, n, pt, sign); } -+#ifndef _STLP_NO_LONG_DOUBLE -+inline char* _Stl_qecvtR(long double x, int n, int* pt, int* sign, char* ) -+{ return ecvt( x, n, pt, sign ); } -+inline char* _Stl_qfcvtR(long double x, int n, int* pt, int* sign, char* ) -+{ return fcvt(x, n, pt, sign); } -+#endif - #endif - - -@@ -551,9 +416,9 @@ - // __copy_float_and_fill. - - void __format_float_scientific(char * buf, const char * bp, -- int decpt, int sign, max_double_type x, -- ios_base::fmtflags flags, -- int precision, bool /* islong */) -+ int decpt, int sign, bool is_zero, -+ ios_base::fmtflags flags, -+ int precision, bool /* islong */) - { - char * suffix; - char expbuf[MAXESIZ + 2]; -@@ -576,7 +441,7 @@ - - // exponent - *(suffix = &expbuf[MAXESIZ]) = 0; -- if (x != 0) { -+ if (!is_zero) { - int nn = decpt - 1; - if (nn < 0) - nn = -nn; -@@ -590,7 +455,7 @@ - *--suffix = '0'; - - // put in the exponent sign -- *--suffix = (char) ((decpt > 0 || x == 0) ? '+' : '-'); -+ *--suffix = (char) ((decpt > 0 || is_zero ) ? '+' : '-'); - - // put in the e - *--suffix = flags & ios_base::uppercase ? 'E' : 'e'; -@@ -600,9 +465,9 @@ - } - - void __format_float_fixed(char * buf, const char * bp, -- int decpt, int sign, max_double_type /* x */, -- ios_base::fmtflags flags, -- int precision, bool islong ) -+ int decpt, int sign, bool /* x */, -+ ios_base::fmtflags flags, -+ int precision, bool islong ) - { - if (sign && decpt > -precision && *bp != 0) - *buf++ = '-'; -@@ -624,7 +489,7 @@ - *buf++ = '.'; - - // digits after decimal point if any -- nn = min(precision, MAXFCVT); -+ nn = (min) (precision, MAXFCVT); - if (precision > nn) - rzero = precision - nn; - while (--nn >= 0) -@@ -637,120 +502,196 @@ - *buf++ = '\0'; - } - -+ -+void __format_nan_or_inf(char * buf, double x, -+ ios_base::fmtflags flags) -+{ -+ static const char* inf[2] = { "inf", "Inf" }; -+ static const char* nan[2] = { "nan", "NaN" }; -+ const char** inf_or_nan = 0; -+ if (_Stl_is_inf((double)x)) { // Infinity -+ inf_or_nan = inf; -+ if (_Stl_is_neg_inf((double)x)) -+ *buf++ = '-'; -+ else if (flags & ios_base::showpos) -+ *buf++ = '+'; -+ } -+ else { // NaN -+ inf_or_nan = nan; -+ if (_Stl_is_neg_nan((double)x)) -+ *buf++ = '-'; -+ else if (flags & ios_base::showpos) -+ *buf++ = '+'; -+ } -+ strcpy(buf, flags & ios_base::uppercase ? inf_or_nan[1] : inf_or_nan[0]); -+} -+ -+template -+static inline - void __format_float(char * buf, const char * bp, - int decpt, int sign, max_double_type x, - ios_base::fmtflags flags, - int precision, bool islong) - { -- const char* inf[2] = { "inf", "INF" }; -- const char* nan[2] = { "nan", "NAN" }; -- - // Output of infinities and NANs does not depend on the format flags - if (_Stl_is_nan_or_inf((double)x)) { // Infinity or NaN -- const char** inf_or_nan = 0; -- if (_Stl_is_inf((double)x)) { // Infinity -- inf_or_nan = inf; -- if (_Stl_is_neg_inf((double)x)) -- *buf++ = '-'; -- else if (flags & ios_base::showpos) -- *buf++ = '+'; -- } -- else { // NaN -- inf_or_nan = nan; -- if (_Stl_is_neg_nan((double)x)) -- *buf++ = '-'; -- else if (flags & ios_base::showpos) -- *buf++ = '+'; -- } -- strcpy(buf, flags & ios_base::uppercase ? inf_or_nan[1] : inf_or_nan[0]); -- } -+ __format_nan_or_inf(buf, x, flags); -+ } - else { // representable number - switch (flags & ios_base::floatfield) { -- case ios_base::scientific: -- __format_float_scientific(buf, bp, decpt, sign, x, flags, -- precision, islong); -- break; -- -- case ios_base::fixed: -- __format_float_fixed(buf, bp, decpt, sign, x, flags, -- precision, islong); -- break; -- -- default: // g format -- // establish default precision -- if (flags & ios_base::showpoint || precision > 0) { -- if (precision == 0) precision = 1; -- } -- else -- precision = 6; -- -- // reset exponent if value is zero -- if (x == 0) -- decpt = 1; -- -- int kk = precision; -- if (!(flags & ios_base::showpoint)) { -- int n = strlen(bp); -- if (n < kk) -- kk = n; -- while (kk >= 1 && bp[kk-1] == '0') -- --kk; -- } -- -- if (decpt < -3 || decpt > precision) { -- precision = kk - 1; -- __format_float_scientific(buf, bp, decpt, sign, x, -- flags, precision, islong); -- } -- else { -- precision = kk - decpt; -- __format_float_fixed(buf, bp, decpt, sign, x, -- flags, precision, islong); -- } -+ case ios_base::scientific: -+ __format_float_scientific(buf, bp, decpt, sign, x == 0.0, flags, -+ precision, islong); -+ break; -+ -+ case ios_base::fixed: -+ __format_float_fixed(buf, bp, decpt, sign, true, flags, -+ precision, islong); -+ break; -+ -+ default: // g format -+ // establish default precision -+ if (flags & ios_base::showpoint || precision > 0) { -+ if (precision == 0) precision = 1; -+ } -+ else -+ precision = 6; -+ -+ // reset exponent if value is zero -+ if (x == 0) -+ decpt = 1; -+ -+ int kk = precision; -+ if (!(flags & ios_base::showpoint)) { -+ size_t n = strlen(bp); -+ if (n < kk) -+ kk = (int)n; -+ while (kk >= 1 && bp[kk-1] == '0') -+ --kk; -+ } -+ -+ if (decpt < -3 || decpt > precision) { -+ precision = kk - 1; -+ __format_float_scientific(buf, bp, decpt, sign, x == 0, -+ flags, precision, islong); -+ } -+ else { -+ precision = kk - decpt; -+ __format_float_fixed(buf, bp, decpt, sign, true, -+ flags, precision, islong); -+ } - break; - } /* switch */ - } /* else */ - } - --char* __STL_CALL -+# else -+// Creates a format string for sprintf() -+static int fill_fmtbuf(char* fmtbuf, ios_base::fmtflags flags, char long_modifier) -+{ -+ fmtbuf[0] = '%'; -+ int i = 1; -+ -+ if (flags & ios_base::showpos) -+ fmtbuf[i++] = '+'; -+ -+ if (flags & ios_base::showpoint) -+ fmtbuf[i++] = '#'; -+ -+ fmtbuf[i++] = '.'; -+ fmtbuf[i++] = '*'; -+ -+ if (long_modifier) -+ fmtbuf[i++] = long_modifier; -+ -+ switch (flags & ios_base::floatfield) -+ { -+ case ios_base::scientific: -+ fmtbuf[i++] = (flags & ios_base::uppercase) ? 'E' : 'e'; -+ break; -+ case ios_base::fixed: -+ fmtbuf[i++] = (flags & ios_base::uppercase) ? 'F' : 'f'; -+ break; -+ default: -+ fmtbuf[i++] = (flags & ios_base::uppercase) ? 'G' : 'g'; -+ break; -+ } -+ -+ fmtbuf[i] = 0; -+ return i; -+} -+# endif /* USE_SPRINTF_INSTEAD */ -+ -+ -+char* _STLP_CALL - __write_float(char* buf, ios_base::fmtflags flags, int precision, - double x) - { -+# ifdef USE_SPRINTF_INSTEAD -+ char fmtbuf[32]; -+ fill_fmtbuf(fmtbuf, flags, 0); -+ sprintf(buf, fmtbuf, precision, x); -+ // we should be able to return buf + sprintf(), but we do not trust'em... -+ return buf + strlen(buf); -+# else - char cvtbuf[NDIG+2]; - char * bp; - int decpt, sign; - -- if (flags & ios_base::fixed) -- bp = _Stl_fcvtR(x, min(precision, MAXFCVT), &decpt, &sign, cvtbuf); -- else -- bp = _Stl_ecvtR(x, min(precision + 1, MAXECVT), &decpt, &sign, cvtbuf); -- -+ switch (flags & ios_base::floatfield) { -+ case ios_base::fixed: -+ bp = _Stl_fcvtR(x, (min) (precision, MAXFCVT), &decpt, &sign, cvtbuf); -+ break; -+ case ios_base::scientific : -+ bp = _Stl_ecvtR(x, (min) (precision + 1, MAXECVT), &decpt, &sign, cvtbuf); -+ break; -+ default : -+ bp = _Stl_ecvtR(x, (min) (precision, MAXECVT), &decpt, &sign, cvtbuf); -+ break; -+ } - __format_float(buf, bp, decpt, sign, x, flags, precision, false); -- - return buf + strlen(buf); -+# endif -+ - } - --char* __STL_CALL -+# ifndef _STLP_NO_LONG_DOUBLE -+char* _STLP_CALL - __write_float(char* buf, ios_base::fmtflags flags, int precision, - long double x) - { -+# ifdef USE_SPRINTF_INSTEAD -+ char fmtbuf[64]; -+ int i = fill_fmtbuf(fmtbuf, flags, 'L'); -+ sprintf(buf, fmtbuf, precision, x); -+ // we should be able to return buf + sprintf(), but we do not trust'em... -+ return buf + strlen(buf); -+# else - char cvtbuf[NDIG+2]; - char * bp; - int decpt, sign; - -- if (flags & ios_base::scientific) -- bp = _Stl_qecvtR(x, min(precision + 1, MAXECVT), &decpt, &sign, cvtbuf); -- else -- bp = _Stl_qfcvtR(x, min(precision, MAXFCVT), &decpt, &sign, cvtbuf); -- -+ switch (flags & ios_base::floatfield) { -+ case ios_base::fixed: -+ bp = _Stl_qfcvtR(x, (min) (precision, MAXFCVT), &decpt, &sign, cvtbuf); -+ break; -+ case ios_base::scientific : -+ bp = _Stl_qecvtR(x, (min) (precision + 1, MAXECVT), &decpt, &sign, cvtbuf); -+ break; -+ default : -+ bp = _Stl_qecvtR(x, (min) (precision, MAXECVT), &decpt, &sign, cvtbuf); -+ break; -+ } - __format_float(buf, bp, decpt, sign, x, flags, precision, true); -- - return buf + strlen(buf); -+# endif - } -+# endif -+ - --# ifndef __STL_NO_WCHAR_T -+# ifndef _STLP_NO_WCHAR_T - --wchar_t* __STL_CALL -+wchar_t* _STLP_CALL - __convert_float_buffer(const char* first, const char* last, wchar_t* out, - const ctype& ct, wchar_t dot) - { -@@ -761,13 +702,13 @@ - - # endif - --void __STL_CALL -+void _STLP_CALL - __adjust_float_buffer(char* first, char* last, char dot) - { - replace(first, last, '.', dot); - } - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - - // Local Variables: - // mode:C++ -Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: num_put_inst.cpp -Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: num_put_inst_w.cpp -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/numpunct.cpp tripwire-2.3.1-2/src/STLport-4.0/src/numpunct.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/numpunct.cpp Sat Feb 24 10:44:13 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/numpunct.cpp Sun Aug 11 18:59:22 2002 -@@ -1,53 +1,73 @@ --/* -- * Copyright (c) 1999 -- * Silicon Graphics Computer Systems, Inc. -- * -- * Copyright (c) 1999 -- * Boris Fomitchev -- * -- * This material is provided "as is", with absolutely no warranty expressed -- * or implied. Any use is at your own risk. -- * -- * Permission to use or copy this software for any purpose is hereby granted -- * without fee, provided the above notices are retained on all copies. -- * Permission to modify the code and to distribute modified code is granted, -- * provided the above notices are retained, and a notice that the code was -- * modified is included with the above copyright notice. -- * -- */ --# include "stlport_prefix.h" -- --#include "locale_impl.h" --#include -- -- --__STL_BEGIN_NAMESPACE -- --//---------------------------------------------------------------------- --// numpunct -- --numpunct::numpunct(size_t refs) --#if !(defined(__MRC__) || defined(__SC__) ) //*TY 04/29/2000 - added workaround for mpw -- : locale::facet(refs), --#else //*TY 04/29/2000 - -- : _facet(refs), //*TY 04/29/2000 - they forget to look into the nested class for the ctor --#endif //*TY 04/29/2000 - -- _M_truename("true"), -- _M_falsename("false") --{ --} -- --numpunct::~numpunct() --{} -- --char numpunct::do_decimal_point() const { return '.'; } --char numpunct::do_thousands_sep() const { return ','; } --string numpunct::do_grouping() const { return string();} --string numpunct::do_truename() const { return _M_truename;} --string numpunct::do_falsename() const { return _M_falsename; } -- --__STL_END_NAMESPACE -- --// Local Variables: --// mode:C++ --// End: -+/* -+ * Copyright (c) 1999 -+ * Silicon Graphics Computer Systems, Inc. -+ * -+ * Copyright (c) 1999 -+ * Boris Fomitchev -+ * -+ * This material is provided "as is", with absolutely no warranty expressed -+ * or implied. Any use is at your own risk. -+ * -+ * Permission to use or copy this software for any purpose is hereby granted -+ * without fee, provided the above notices are retained on all copies. -+ * Permission to modify the code and to distribute modified code is granted, -+ * provided the above notices are retained, and a notice that the code was -+ * modified is included with the above copyright notice. -+ * -+ */ -+# include "stlport_prefix.h" -+# include -+ -+_STLP_BEGIN_NAMESPACE -+ -+//---------------------------------------------------------------------- -+// numpunct -+char numpunct::do_decimal_point() const {return '.';} -+char numpunct::do_thousands_sep() const { return ','; } -+string numpunct::do_grouping() const { return string();} -+string numpunct::do_truename() const { return _M_truename;} -+string numpunct::do_falsename() const { return _M_falsename; } -+numpunct::~numpunct() {} -+ -+_STLP_STATIC_MEMBER_DECLSPEC string numpunct::_M_truename("true"); -+_STLP_STATIC_MEMBER_DECLSPEC string numpunct::_M_falsename("false"); -+_STLP_STATIC_MEMBER_DECLSPEC string numpunct::_M_grouping(""); -+ -+# ifndef _STLP_NO_WCHAR_T -+ -+numpunct::~numpunct() {} -+ -+wchar_t numpunct::do_decimal_point() const { return L'.'; } -+ -+wchar_t numpunct::do_thousands_sep() const -+{ -+ return L','; -+} -+ -+string numpunct::do_grouping() const -+{ -+ return string(); -+} -+ -+ -+wstring numpunct::do_truename() const -+{ -+ return _M_truename; -+} -+ -+wstring numpunct::do_falsename() const -+{ -+ return _M_falsename; -+} -+ -+_STLP_STATIC_MEMBER_DECLSPEC wstring numpunct::_M_truename(L"true"); -+_STLP_STATIC_MEMBER_DECLSPEC wstring numpunct::_M_falsename(L"false"); -+_STLP_STATIC_MEMBER_DECLSPEC string numpunct::_M_grouping(""); -+# endif -+ -+_STLP_END_NAMESPACE -+ -+// Local Variables: -+// mode:C++ -+// End: -+ -Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: numpunct_byname.cpp -Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: numpunct_w.cpp -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/ostream.cpp tripwire-2.3.1-2/src/STLport-4.0/src/ostream.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/ostream.cpp Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/ostream.cpp Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,57 @@ -+/* -+ * Copyright (c) 1999 -+ * Silicon Graphics Computer Systems, Inc. -+ * -+ * Copyright (c) 1999 -+ * Boris Fomitchev -+ * -+ * This material is provided "as is", with absolutely no warranty expressed -+ * or implied. Any use is at your own risk. -+ * -+ * Permission to use or copy this software for any purpose is hereby granted -+ * without fee, provided the above notices are retained on all copies. -+ * Permission to modify the code and to distribute modified code is granted, -+ * provided the above notices are retained, and a notice that the code was -+ * modified is included with the above copyright notice. -+ * -+ */ -+# include "stlport_prefix.h" -+#include -+ -+_STLP_BEGIN_NAMESPACE -+ -+#if !defined(_STLP_NO_FORCE_INSTANTIATE) -+ -+// instantiations -+template class _STLP_CLASS_DECLSPEC basic_ostream >; -+ -+template _STLP_DECLSPEC basic_ostream >& _STLP_CALL -+_M_put_num(basic_ostream >&, long); -+template _STLP_DECLSPEC basic_ostream >& _STLP_CALL -+_M_put_num(basic_ostream >&, unsigned long); -+# if defined (_STLP_LONG_LONG) -+template _STLP_DECLSPEC basic_ostream >& _STLP_CALL -+_M_put_num(basic_ostream >&, unsigned _STLP_LONG_LONG); -+template _STLP_DECLSPEC basic_ostream >& _STLP_CALL -+_M_put_num(basic_ostream >&, _STLP_LONG_LONG); -+# endif -+ -+# if defined (_STLP_USE_TEMPLATE_EXPORT) -+template class _STLP_CLASS_DECLSPEC _Osentry >; -+# endif -+ -+#ifndef _STLP_NO_WCHAR_T -+ -+# if defined (_STLP_USE_TEMPLATE_EXPORT) -+template class _STLP_CLASS_DECLSPEC _Osentry >; -+# endif -+template class _STLP_CLASS_DECLSPEC basic_ostream >; -+#endif -+ -+#endif -+ -+_STLP_END_NAMESPACE -+ -+// Local Variables: -+// mode:C++ -+// End: -Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: range_errors.cpp -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/sgi_mipspro.mak tripwire-2.3.1-2/src/STLport-4.0/src/sgi_mipspro.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/sgi_mipspro.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/sgi_mipspro.mak Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,70 @@ -+# -+# Basename for libraries -+# -+.POSIX: -+ -+SHELL=/bin/sh -+ -+LIB_BASENAME = libstlport_mipspro -+ -+STL_INCL= -I. -I${PWD}/../stlport/ -+CUR_DIR=./ -+ -+CC = CC -+CXX = CC -+ -+# -+# guts for common stuff -+# -+# -+LINK=$(CC) -ar -all -o -+DYN_LINK=$(CC) -shared -all -o -+ -+OBJEXT=o -+DYNEXT=so -+STEXT=a -+RM=rm -rf -+PATH_SEP=/ -+MKDIR=mkdir -p -+COMP=MIPS -+INSTALL_STEP = install_unix -+ -+all: msg all_dynamic all_static symbolic_links -+ -+msg: -+ @echo "*** ATTENTION! ***" -+ @echo "This makefile requires GNU make!" -+ @echo "******************" -+ -+include common_macros.mak -+ -+CXXFLAGS_COMMON = -J 4 -ansi -LANG:std -I. -D_PTHREADS ${STL_INCL} -+ -+DEBUG_FLAGS = -g +w2 -D_STLP_DEBUG -+RELEASE_FLAGS = -O2 -+ -+ -+# install: $(TARGETS) -+# cp -p $(TARGETS) ${INSTALLDIR} -+ -+CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) ${RELEASE_FLAGS} -+CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) ${RELEASE_FLAGS} $(SHCXXFLAGS) -+ -+CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -O -g -+CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -O -g -+ -+CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_COMMON) -O -g -D_STLP_DEBUG -+CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_COMMON) -O -g -D_STLP_DEBUG -+ -+LDFLAGS_RELEASE_static = ${CXXFLAGS_RELEASE_static} -+LDFLAGS_RELEASE_dynamic = ${CXXFLAGS_RELEASE_dynamic} -+ -+LDFLAGS_DEBUG_static = ${CXXFLAGS_DEBUG_static} -+LDFLAGS_DEBUG_dynamic = ${CXXFLAGS_DEBUG_dynamic} -+ -+LDFLAGS_STLDEBUG_static = ${CXXFLAGS_STLDEBUG_static} -+LDFLAGS_STLDEBUG_dynamic = ${CXXFLAGS_STLDEBUG_dynamic} -+ -+include common_percent_rules.mak -+include common_rules.mak -+ -Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: sources -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/sparc_atomic.s tripwire-2.3.1-2/src/STLport-4.0/src/sparc_atomic.s ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/sparc_atomic.s Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/sparc_atomic.s Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,68 @@ -+ .section ".text",#alloc,#execinstr -+ .align 8 -+ .skip 16 -+ -+ -+ /* -+ ** int _STLP_atomic_exchange (void *pvalue, int value) -+ */ -+ -+ .type _STLP_atomic_exchange,#function -+ .global _STLP_atomic_exchange -+ .align 8 -+ -+_STLP_atomic_exchange: -+0: -+ ld [%o0], %o2 ! Set the current value -+ mov %o1, %o3 ! Set the new value -+! swap [%o0], %o3 ! Do the compare and swap -+ cas [%o0], %o2, %o3 -+ cmp %o2, %o3 ! Check whether successful -+ bne 0b ! Retry upon failure -+ stbar -+ mov %o2, %o0 ! Set the new value -+ retl ! return -+ nop -+ .size _STLP_atomic_exchange,(.-_STLP_atomic_exchange) -+ -+ /* int _STLP_atomic_increment (void *pvalue) */ -+ -+ .type _STLP_atomic_increment,#function -+ .global _STLP_atomic_increment -+ .align 8 -+_STLP_atomic_increment: -+1: -+ ld [%o0], %o2 ! set the current -+ add %o2, 0x1, %o3 ! Increment and store current -+! swap [%o0], %o3 ! Do the compare and swap -+ cas [%o0], %o2, %o3 -+ cmp %o3, %o2 ! Check whether successful -+ bne 1b ! Retry if we failed. -+ membar #LoadLoad | #LoadStore ! Ensure the cas finishes before -+ ! returning -+ nop -+ retl ! return -+ nop -+ -+ .size _STLP_atomic_increment,(.-_STLP_atomic_increment) -+ -+ -+ /* int _STLP_atomic_decrement (void *pvalue) */ -+ .type _STLP_atomic_decrement,#function -+ .global _STLP_atomic_decrement -+ .align 8 -+ -+_STLP_atomic_decrement: -+2: -+ ld [%o0], %o2 ! set the current -+ sub %o2, 0x1, %o3 ! decrement and store current -+! swap [%o0], %o3 ! Do the compare and swap -+ cas [%o0], %o2, %o3 -+ cmp %o3, %o2 ! Check whether successful -+ bne 2b ! Retry if we failed. -+ membar #LoadLoad | #LoadStore ! Ensure the cas finishes before -+ nop -+ ! returning -+ retl ! return -+ nop -+ .size _STLP_atomic_decrement,(.-_STLP_atomic_decrement) -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/sparc_atomic64.s tripwire-2.3.1-2/src/STLport-4.0/src/sparc_atomic64.s ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/sparc_atomic64.s Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/sparc_atomic64.s Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,65 @@ -+ .section ".text",#alloc,#execinstr -+ .align 8 -+ .skip 16 -+ -+! int _STLP_atomic_exchange (void *pvalue, int value) -+! -+ -+ .type _STLP_atomic_exchange,#function -+ .global _STLP_atomic_exchange -+ .align 8 -+ -+_STLP_atomic_exchange: -+1: -+ ldx [%o0], %o2 ! Set the current value -+ mov %o1, %o3 ! Set the new value -+ casx [%o0], %o2, %o3 ! Do the compare and swap -+ cmp %o2, %o3 ! Check whether successful -+ bne 1b ! Retry upon failure -+ membar #LoadLoad | #LoadStore ! Ensure the cas finishes before -+ ! returning -+ retl ! return -+ mov %o2, %o0 ! Set the new value -+ .size _STLP_atomic_exchange,(.-_STLP_atomic_exchange) -+ -+ -+! int _STLP_atomic_increment (void *pvalue) -+ -+ .type _STLP_atomic_increment,#function -+ .global _STLP_atomic_increment -+ .align 8 -+_STLP_atomic_increment: -+0: -+ ldx [%o0], %o2 ! set the current -+ addx %o2, 0x1, %o3 ! Increment and store current -+ casx [%o0], %o2, %o3 ! Do the compare and swap -+ cmp %o3, %o2 ! Check whether successful -+ bne 0b -+ membar #LoadLoad | #LoadStore ! Ensure the cas finishes before -+ ! returning -+ retl ! return -+ mov %o1, %o0 ! Set the return value -+ -+ .size _STLP_atomic_increment,(.-_STLP_atomic_increment) -+ -+ -+! /* int _STLP_atomic_decrement (void *pvalue) */ -+ .type _STLP_atomic_decrement,#function -+ .global _STLP_atomic_decrement -+ .align 8 -+ -+_STLP_atomic_decrement: -+0: -+ ldx [%o0], %o2 ! set the current -+ subx %o2, 0x1, %o3 ! decrement and store current -+ casx [%o0], %o2, %o3 ! Do the compare and swap -+ cmp %o3, %o2 ! Check whether successful -+ bne 0b -+ membar #LoadLoad | #LoadStore ! Ensure the cas finishes before -+ ! returning -+ retl ! return -+ nop -+ .size _STLP_atomic_decrement,(.-_STLP_atomic_decrement) -+ -+ -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/sstream.cpp tripwire-2.3.1-2/src/STLport-4.0/src/sstream.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/sstream.cpp Sat Feb 24 10:44:15 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/sstream.cpp Sun Aug 11 18:59:22 2002 -@@ -16,30 +16,28 @@ - * - */ - # include "stlport_prefix.h" --#include -+#include - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - --# ifndef __STL_NO_FORCE_INSTANTIATE -+# ifndef _STLP_NO_FORCE_INSTANTIATE - - // Force instantiation of stringstream classes. -- --template class __STL_CLASS_DECLSPEC basic_stringbuf, allocator >; --template class __STL_CLASS_DECLSPEC basic_ostringstream, allocator >; --template class __STL_CLASS_DECLSPEC basic_istringstream, allocator >; --template class __STL_CLASS_DECLSPEC basic_stringstream, allocator >; -- --#ifndef __STL_NO_WCHAR_T --template class __STL_CLASS_DECLSPEC basic_stringbuf, allocator >; --template class __STL_CLASS_DECLSPEC basic_ostringstream, allocator >; --template class __STL_CLASS_DECLSPEC basic_istringstream, allocator >; --template class __STL_CLASS_DECLSPEC basic_stringstream, allocator >; -+template class _STLP_CLASS_DECLSPEC basic_stringbuf, allocator >; -+template class _STLP_CLASS_DECLSPEC basic_ostringstream, allocator >; -+template class _STLP_CLASS_DECLSPEC basic_istringstream, allocator >; -+template class _STLP_CLASS_DECLSPEC basic_stringstream, allocator >; -+ -+#ifndef _STLP_NO_WCHAR_T -+template class _STLP_CLASS_DECLSPEC basic_stringbuf, allocator >; -+template class _STLP_CLASS_DECLSPEC basic_ostringstream, allocator >; -+template class _STLP_CLASS_DECLSPEC basic_istringstream, allocator >; -+template class _STLP_CLASS_DECLSPEC basic_stringstream, allocator >; - #endif /* INSTANTIATE_WIDE_STREAMS */ - - # endif - -- --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/stdio_streambuf.cpp tripwire-2.3.1-2/src/STLport-4.0/src/stdio_streambuf.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/stdio_streambuf.cpp Sat Feb 24 10:44:15 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/stdio_streambuf.cpp Sun Aug 11 18:59:22 2002 -@@ -16,13 +16,9 @@ - * - */ - # include "stlport_prefix.h" --#include --#include --#include --#include -+#include - -- --#ifdef __STL_UNIX -+#ifdef _STLP_UNIX - #include - #include - #endif /* __unix */ -@@ -30,7 +26,7 @@ - #include - #include "fstream_impl.h" - --# if defined (__STL_USE_WIN32_IO) -+# if defined (_STLP_USE_WIN32_IO) && !defined(_STLP_WINCE) - # if defined (__BORLANDC__) - // # include - # include -@@ -42,25 +38,23 @@ - # include - # endif - -- -- - __SGI_BEGIN_NAMESPACE - //---------------------------------------------------------------------- - // Class stdio_streambuf_base - - stdio_streambuf_base::stdio_streambuf_base(FILE* file) -- : __STLPORT_STD::basic_streambuf >(file, 0), -+ : _STLP_STD::basic_streambuf >(file, 0), - _M_file(file) - {} - - stdio_streambuf_base::~stdio_streambuf_base() - { -- __STL_VENDOR_CSTD::fflush(_M_file); -+ _STLP_VENDOR_CSTD::fflush(_M_file); - } - --__STLPORT_STD::streambuf* stdio_streambuf_base::setbuf(char* s, streamsize n) -+_STLP_STD::streambuf* stdio_streambuf_base::setbuf(char* s, streamsize n) - { -- __STL_VENDOR_CSTD::setvbuf(_M_file, s, (s == 0 && n == 0) ? _IONBF : _IOFBF, n); -+ _STLP_VENDOR_CSTD::setvbuf(_M_file, s, (s == 0 && n == 0) ? _IONBF : _IOFBF, n); - return this; - } - -@@ -83,13 +77,15 @@ - return pos_type(-1); - } - -- if (__STL_VENDOR_CSTD::fseek(_M_file, off, whence) == 0) { -+ if (_STLP_VENDOR_CSTD::fseek(_M_file, off, whence) == 0) { - fpos_t pos; -- __STL_VENDOR_CSTD::fgetpos(_M_file, &pos); -+ _STLP_VENDOR_CSTD::fgetpos(_M_file, &pos); - // added 21 june 00 mdb,rjf,wjs: glibc 2.2 changed fpos_t to be a struct instead - // of a primitive type - #if (defined(__GLIBC__) && ( (__GLIBC__ > 2) || ( (__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 2) ) ) ) - return pos_type((streamoff)pos.__pos); -+#elif defined(__ISCPP__) || defined(__MVS__) || (__OS400__) -+ return pos_type(pos.__fpos_elem[ 0 ]); - #else - return pos_type(pos); - #endif -@@ -109,11 +105,14 @@ - fpos_t p; - p.__pos = pos; - memset( &(p.__state), 0, sizeof(p.__state) ); -+#elif defined(__MVS__) || (__OS400__) -+ fpos_t p; -+ p.__fpos_elem[0] = pos; - #else - fpos_t p(pos); - #endif - -- if (__STL_VENDOR_CSTD::fsetpos(_M_file, &p) == 0) -+ if (_STLP_VENDOR_CSTD::fsetpos(_M_file, &p) == 0) - return pos; - else - return pos_type(-1); -@@ -121,19 +120,21 @@ - - int stdio_streambuf_base::sync() - { -- return __STL_VENDOR_CSTD::fflush(_M_file) == 0 ? 0 : -1; -+ return _STLP_VENDOR_CSTD::fflush(_M_file) == 0 ? 0 : -1; - } - - //---------------------------------------------------------------------- - // Class stdio_istreambuf - -+stdio_istreambuf::~stdio_istreambuf() {} -+ - streamsize stdio_istreambuf::showmanyc() - { - if (feof(_M_file)) - return -1; - else { -- int fd = _FILE_fd(*_M_file); --# ifdef __STL_USE_WIN32_IO -+ int fd = _FILE_fd(_M_file); -+# ifdef _STLP_USE_WIN32_IO - // in this case, __file_size works with Win32 fh , not libc one - streamoff size; - struct stat buf; -@@ -146,10 +147,10 @@ - else - size = 0; - # else -- streamoff size = SGI::__file_size(fd); -+ streamoff size = _SgI::__file_size(fd); - # endif - // fbp : we can use ftell as this flavour always use stdio. -- long pos = __STL_VENDOR_CSTD::ftell(_M_file); -+ long pos = _STLP_VENDOR_CSTD::ftell(_M_file); - return pos >= 0 && size > pos ? size - pos : 0; - } - } -@@ -158,7 +159,7 @@ - { - int c = getc(_M_file); - if (c != EOF) { -- __STL_VENDOR_CSTD::ungetc(c, _M_file); -+ _STLP_VENDOR_CSTD::ungetc(c, _M_file); - return c; - } - else -@@ -174,7 +175,7 @@ - stdio_istreambuf::int_type stdio_istreambuf::pbackfail(int_type c) - { - if (c != traits_type::eof()) { -- int result = __STL_VENDOR_CSTD::ungetc(c, _M_file); -+ int result = _STLP_VENDOR_CSTD::ungetc(c, _M_file); - return result != EOF ? result : traits_type::eof(); - } - else{ -@@ -190,6 +191,8 @@ - //---------------------------------------------------------------------- - // Class stdio_ostreambuf - -+stdio_ostreambuf::~stdio_ostreambuf() {} -+ - streamsize stdio_ostreambuf::showmanyc() - { - return -1; -@@ -202,7 +205,7 @@ - // Do we have a buffer to write? - ptrdiff_t unwritten = this->pptr() - this->pbase(); - if (unwritten != 0) { -- __STL_VENDOR_CSTD::fflush(_M_file); -+ _STLP_VENDOR_CSTD::fflush(_M_file); - // Test if the write succeeded. - if (this->pptr() - this->pbase() < unwritten) - return traits_type::not_eof(c); -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/stlport.rc tripwire-2.3.1-2/src/STLport-4.0/src/stlport.rc ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/stlport.rc Sat Feb 24 10:44:15 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/stlport.rc Sun Aug 11 18:59:23 2002 -@@ -6,9 +6,9 @@ - #include - - #define VER_MAJOR 4 --#define VER_MINOR 0 -+#define VER_MINOR 1 - #define VER_YEAR 2000 --#define VER_MMDD 0707 -+#define VER_MMDD 1111 - - #define VERSION_STRING2(x) #x "\0" - #define VERSION_STRING(x) VERSION_STRING2(x) -@@ -17,8 +17,7 @@ - - #define VERSION_STRING1(x) #x - #define DLLNAME_STRING2(compstr,buildstr) \ --"STLPORT_" VERSION_STRING1(compstr) VERSION_STRING1(buildstr) ".DLL\0" --// #define DLLNAME_STRING2(compstr, buildstr) "STLPORT_" #compstr #buildstr ".DLL\0" -+"STLPORT_" VERSION_STRING1(compstr) VERSION_STRING1(buildstr) "_\0" VERSION_STRING1(VER_MAJOR) VERSION_STRING1(VER_MINOR) ".DLL\0" - - VS_VERSION_INFO VERSIONINFO - FILEVERSION VERSION_ID -@@ -38,7 +37,7 @@ - VALUE "CompanyName", "STLport Consulting, Inc.\0" - VALUE "FileDescription", "STLport\0" - VALUE "FileVersion", VERSION_STR --VALUE "InternalName", "stlport.dll\0" -+VALUE "InternalName", "STLPORT.DLL\0" - VALUE "LegalCopyright", "Copyright (C) Boris Fomitchev\0" - - VALUE "OriginalFilename", DLLNAME_STRING2(COMP,BUILD) -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/stlport_prefix.h tripwire-2.3.1-2/src/STLport-4.0/src/stlport_prefix.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/stlport_prefix.h Sat Feb 24 10:44:15 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/stlport_prefix.h Sun Aug 11 18:59:23 2002 -@@ -3,18 +3,41 @@ - - # define __BUILDING_STLPORT 1 - --// Please add extra compilation switches for particular compilers here -+# if defined (_WIN32) || defined (WIN32) -+# ifdef __cplusplus -+# define WIN32_LEAN_AND_MEAN -+# define NOSERVICE -+# endif -+# if !(defined (__CYGWIN__) || defined(_WIN32_WCE)) -+# define _STLP_REAL_LOCALE_IMPLEMENTED -+# endif -+# endif -+ -+# undef _STLP_NO_FORCE_INSTANTIATE -+ -+/* Please add extra compilation switches for particular compilers here */ - - # include - -+# if defined (_STLP_USE_TEMPLATE_EXPORT) && defined (_STLP_USE_DECLSPEC) && ! defined (_STLP_EXPOSE_GLOBALS_IMPLEMENTATION) -+# define _STLP_EXPOSE_GLOBALS_IMPLEMENTATION -+# endif -+ -+# ifdef __cplusplus -+ -+# include -+# if defined (_STLP_USE_NAMESPACES) && ! defined (_STLP_VENDOR_GLOBAL_CSTD) -+using _STLP_VENDOR_CSTD::time_t; -+# endif -+ - // This section is only for compilers that support precompiled headers ! - // Currently there are : Visual C++ - // Please remember to make sure to turn on precompiled header option in - // the platform makefile when addinf compilers to this list, otherwise - // this will result in worse build performance. - --# if defined (__STL_MSVC) --# ifndef __STL_USE_DECLSPEC -+# if defined (_STLP_MSVC) || defined (__ICL) -+# ifndef _STLP_USE_DECLSPEC - # include - # include - # include -@@ -33,13 +56,22 @@ - # include - # include - // # include --# endif - --# ifdef __STL_MSVC -+# ifdef _STLP_MSVC - # pragma hdrstop - # endif - -+# endif - - # endif /* precompiler headers */ - -+# if defined (_STLP_FUNCTION_TMPL_PARTIAL_ORDER) || defined (__BORLANDC__) -+# define _STLP_OPERATOR_SPEC _STLP_DECLSPEC -+# else -+# define _STLP_OPERATOR_SPEC _STLP_TEMPLATE_NULL _STLP_DECLSPEC -+# endif -+ -+# endif /* __cplusplus */ -+ - #endif /* PREFIX */ -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/streambuf.cpp tripwire-2.3.1-2/src/STLport-4.0/src/streambuf.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/streambuf.cpp Sat Feb 24 10:44:15 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/streambuf.cpp Sun Aug 11 18:59:23 2002 -@@ -18,57 +18,42 @@ - # include "stlport_prefix.h" - - --#include -+#include - #include - - // Implementation of non-inline member functions of class - // basic_streambuf > - - # if defined (__hpux) --# define FILE_CAST(x) (*__REINTERPRET_CAST(FILE*, &x)) -+# define FILE_CAST(x) (__REINTERPRET_CAST(FILE*, x)) - # else - # define FILE_CAST(x) x - # endif - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - --locale basic_streambuf >::pubimbue(const locale& loc) --{ -- this->imbue(loc); -- locale tmp = _M_locale; -- _M_locale = loc; -- return tmp; --} -+#if !defined(_STLP_WINCE) - - basic_streambuf >::~basic_streambuf() {} - --// The default constructor. --basic_streambuf >::basic_streambuf() -- : _M_get(FILE_CAST(_M_default_get)), -- _M_put(FILE_CAST(_M_default_put)), _M_locale() --{ -- // _M_lock._M_initialize(); -- -- _FILE_I_set(_M_get, 0, 0, 0); -- _FILE_O_set(_M_put, 0, 0, 0); --} -- - // This constructor is an extension. It is for streambuf subclasses that - // are synchronized with C stdio files. - basic_streambuf > - ::basic_streambuf(FILE* __get, FILE* __put) -- : _M_get(__get ? *__get : FILE_CAST(_M_default_get)), -- _M_put(__put ? *__put : FILE_CAST(_M_default_put)), -+ : _M_get(__get ? __get : FILE_CAST(&_M_default_get)), -+ _M_put(__put ? __put : FILE_CAST(&_M_default_put)), - _M_locale() - { - _M_lock._M_initialize(); - -- if (&_M_get == &FILE_CAST(_M_default_get)) -+ if (_M_get == FILE_CAST(&_M_default_get)) - _FILE_I_set(_M_get, 0, 0, 0); -- if (&_M_put == &FILE_CAST(_M_default_put)) -+ if (_M_put == FILE_CAST(&_M_default_put)) - _FILE_O_set(_M_put, 0, 0, 0); - } - -+// virtual functions -+ - void basic_streambuf >::imbue(const locale&) - {} - -@@ -110,7 +95,7 @@ - - while (result < n) { - if (_FILE_I_avail(_M_get) > 0) { -- size_t chunk = min(__STATIC_CAST(size_t,_FILE_I_avail(_M_get)), -+ size_t chunk = (min) (__STATIC_CAST(size_t,_FILE_I_avail(_M_get)), - __STATIC_CAST(size_t,n - result)); - traits_type::copy(s, _FILE_I_next(_M_get), chunk); - result += chunk; -@@ -120,9 +105,9 @@ - else { - int_type c = sbumpc(); - if (c != eof) { -- s[result] = c; -+ *s = c; - ++result; -- ++s; -+ ++s; - } - else - break; -@@ -162,12 +147,12 @@ - - while (result < n) { - if (_FILE_O_avail(_M_put) > 0) { -- size_t chunk = min(__STATIC_CAST(size_t,_FILE_O_avail(_M_put)), -+ size_t chunk = (min) (__STATIC_CAST(size_t,_FILE_O_avail(_M_put)), - __STATIC_CAST(size_t,n - result)); - traits_type::copy(_FILE_O_next(_M_put), s, chunk); - result += chunk; - s += chunk; -- _FILE_O_bump(_M_put, chunk); -+ _FILE_O_bump(_M_put, (int)chunk); - } - - else if (this->overflow(traits_type::to_int_type(*s)) != eof) { -@@ -188,11 +173,11 @@ - - while (result < n) { - if (_FILE_O_avail(_M_put) > 0) { -- size_t chunk = min(__STATIC_CAST(size_t,_FILE_O_avail(_M_put)), -+ size_t chunk = (min) (__STATIC_CAST(size_t,_FILE_O_avail(_M_put)), - __STATIC_CAST(size_t,n - result)); - traits_type::assign(_FILE_O_next(_M_put), chunk, c); - result += chunk; -- _FILE_O_bump(_M_put, chunk); -+ _FILE_O_bump(_M_put, (int)chunk); - } - - else if (this->overflow(traits_type::to_int_type(c)) != eof) -@@ -222,22 +207,35 @@ - } - } - -+ -+locale basic_streambuf >::pubimbue(const locale& loc) -+{ -+ this->imbue(loc); -+ locale tmp = _M_locale; -+ _M_locale = loc; -+ return tmp; -+} -+ -+#else -+ -+#if !defined(_STLP_NO_FORCE_INSTANTIATE) -+template class basic_streambuf >; -+#endif -+ -+#endif /* _STLP_WINCE */ -+ - //---------------------------------------------------------------------- - // Force instantiation of basic_streambuf - - // not basic_streambuf, because it's specialized. - --#if !defined(__STL_NO_FORCE_INSTANTIATE) --#if !defined (__STL_NO_WCHAR_T) -+#if !defined(_STLP_NO_FORCE_INSTANTIATE) -+#if !defined (_STLP_NO_WCHAR_T) - template class basic_streambuf >; - #endif /* INSTANTIATE_WIDE_STREAMS */ - #endif - --//static void __dummy_inst() { --// basic_streambuf >* buf; --//} -- --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - - // Local Variables: - // mode:C++ -Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: string.cpp -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/string_w.cpp tripwire-2.3.1-2/src/STLport-4.0/src/string_w.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/string_w.cpp Sat Feb 24 10:44:15 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/string_w.cpp Sun Aug 11 18:59:23 2002 -@@ -1,16 +1,16 @@ - #include "stlport_prefix.h" --#include -+#include - --__STL_BEGIN_NAMESPACE --# ifndef __STL_NO_FORCE_INSTANTIATE --# ifndef __STL_NO_WCHAR_T --template class __STL_CLASS_DECLSPEC allocator; --template class __STL_CLASS_DECLSPEC _String_base >; --# ifdef __STL_DEBUG --template class __STL_CLASS_DECLSPEC _Nondebug_string, allocator >; -+_STLP_BEGIN_NAMESPACE -+# ifndef _STLP_NO_FORCE_INSTANTIATE -+# ifndef _STLP_NO_WCHAR_T -+template class _STLP_CLASS_DECLSPEC allocator; -+template class _STLP_CLASS_DECLSPEC _String_base >; -+# ifdef _STLP_DEBUG -+template class _STLP_CLASS_DECLSPEC _Nondebug_string, allocator >; - # endif --template class __STL_CLASS_DECLSPEC basic_string, allocator >; -+template class _STLP_CLASS_DECLSPEC basic_string, allocator >; - # endif - # endif --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/strstream.cpp tripwire-2.3.1-2/src/STLport-4.0/src/strstream.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/strstream.cpp Sat Feb 24 10:44:15 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/strstream.cpp Sun Aug 11 18:59:23 2002 -@@ -23,16 +23,10 @@ - // header instead. - - # include "stlport_prefix.h" --#include --#include --#include --#include --#include --#include -+#include -+#include - -- -- --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - // strstreambuf constructor, destructor. - -@@ -40,7 +34,7 @@ - : _M_alloc_fun(0), _M_free_fun(0), - _M_dynamic(true), _M_frozen(false), _M_constant(false) - { -- streamsize n = max(initial_capacity, streamsize(16)); -+ streamsize n = (max)(initial_capacity, streamsize(16)); - - char* buf = _M_alloc(n); - if (buf) { -@@ -127,7 +121,7 @@ - - int strstreambuf::pcount() const - { -- return pptr() ? pptr() - pbase() : 0; -+ return int(pptr() ? pptr() - pbase() : 0); - } - - strstreambuf::int_type strstreambuf::overflow(int_type c) { -@@ -137,7 +131,7 @@ - // Try to expand the buffer. - if (pptr() == epptr() && _M_dynamic && !_M_frozen && !_M_constant) { - ptrdiff_t old_size = epptr() - pbase(); -- ptrdiff_t new_size = max(2 * old_size, ptrdiff_t(1)); -+ ptrdiff_t new_size = (max)(2 * old_size, ptrdiff_t(1)); - - char* buf = _M_alloc(new_size); - if (buf) { -@@ -152,10 +146,10 @@ - } - - setp(buf, buf + new_size); -- pbump(old_size); -+ pbump((int)old_size); - - if (reposition_get) -- setg(buf, buf + old_get_offset, buf + max(old_get_offset, old_size)); -+ setg(buf, buf + old_get_offset, buf + (max)(old_get_offset, old_size)); - - _M_free(old_buffer); - } -@@ -254,11 +248,11 @@ - if (do_put) { - if (seeklow + off < pbase()) { - setp(seeklow, epptr()); -- pbump(off); -+ pbump((int)off); - } - else { - setp(pbase(), epptr()); -- pbump(off - (pbase() - seeklow)); -+ pbump((int)(off - (pbase() - seeklow))); - } - } - if (do_get) { -@@ -424,8 +418,7 @@ - return _M_buf.str(); - } - --__STL_END_NAMESPACE -- -+_STLP_END_NAMESPACE - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/sunpro-64.mak tripwire-2.3.1-2/src/STLport-4.0/src/sunpro-64.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/sunpro-64.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/sunpro-64.mak Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,16 @@ -+# -+# Basename for libraries -+# -+LIB_BASENAME = libstlport_sunpro64 -+ -+# -+# This makefile will work for SUN CC 5.0-5.3 (Forte 6 Update 2) -+# -+ -+CC = CC -xarch=v9 -+CXX = CC -xarch=v9 -+ -+COMP = SUN64 -+ATOMIC_ASM = sparc_atomic64.s -+ -+include sunpro-common.mak -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/sunpro-common.mak tripwire-2.3.1-2/src/STLport-4.0/src/sunpro-common.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/sunpro-common.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/sunpro-common.mak Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,94 @@ -+ -+CUR_DIR= ${PWD}/ -+ -+STL_INCL= -I. -I${PWD}/../stlport -+ -+# -+# guts for common stuff -+# -+# -+LINK=$(CC) -xar -o -+DYN_LINK=$(CC) -G -o -+ -+OBJEXT=o -+DYNEXT=so -+STEXT=a -+RM=rm -rf -+PATH_SEP=/ -+MKDIR=mkdir -p -+INSTALL_STEP = install_sun -+PREPARE_STEP = prepare_sunpro -+ -+all: all_dynamic symbolic_links all_static -+ -+include common_macros.mak -+ -+CXXFLAGS_COMMON = -mt +w2 -library=no%Cstd -features=rtti -xildoff ${STL_INCL} $(EXTRA_COMMON_FLAGS) -+ -+SHCXXFLAGS = -PIC -+ -+DEBUG_FLAGS = -O -g +w2 -D_STLP_DEBUG -+ -+# -+# Try those flags to see if they help to get maximum efficiency : -+# -Qoption iropt -R,-Ml30,-Ms30,-Mi1000000,-Mm1000000,-Mr1000000,-Ma1000000,-Mc1000000,-Mt1000000 -+RELEASE_FLAGS = -O2 +w2 -qoption ccfe -expand=1000 -+ -+ -+# install: $(TARGETS) -+# cp -p $(TARGETS) ${INSTALLDIR} -+ -+RELEASE_static_rep = -ptr${RELEASE_OBJDIR_static} -+RELEASE_dynamic_rep = -ptr${RELEASE_OBJDIR_dynamic} -+DEBUG_static_rep = -ptr${DEBUG_OBJDIR_static} -+DEBUG_dynamic_rep = -ptr${DEBUG_OBJDIR_dynamic} -+STLDEBUG_static_rep = -ptr${STLDEBUG_OBJDIR_static} -+STLDEBUG_dynamic_rep = -ptr${STLDEBUG_OBJDIR_dynamic} -+ -+CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) ${RELEASE_FLAGS} ${RELEASE_static_rep} -+CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) ${RELEASE_FLAGS} $(SHCXXFLAGS) ${RELEASE_dynamic_rep} -+ -+CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -O -g ${DEBUG_static_rep} -+CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -O -g $(SHCXXFLAGS) ${DEBUG_dynamic_rep} -+ -+CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_COMMON) -O -g ${STLDEBUG_static_rep} -D_STLP_DEBUG -+CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_COMMON) -O -g $(SHCXXFLAGS) ${STLDEBUG_dynamic_rep} -D_STLP_DEBUG -+ -+ -+LDFLAGS_RELEASE_static = ${CXXFLAGS_RELEASE_static} ${ATOMIC_ASM} -+LDFLAGS_RELEASE_dynamic = ${CXXFLAGS_RELEASE_dynamic} -h${RELEASE_DYNLIB_SONAME} ${ATOMIC_ASM} -+ -+LDFLAGS_DEBUG_static = ${CXXFLAGS_DEBUG_static} ${ATOMIC_ASM} -+LDFLAGS_DEBUG_dynamic = ${CXXFLAGS_DEBUG_dynamic} -h${DEBUG_DYNLIB_SONAME} ${ATOMIC_ASM} -+ -+LDFLAGS_STLDEBUG_static = ${CXXFLAGS_STLDEBUG_static} ${ATOMIC_ASM} -+LDFLAGS_STLDEBUG_dynamic = ${CXXFLAGS_STLDEBUG_dynamic} -h${STLDEBUG_DYNLIB_SONAME} ${ATOMIC_ASM} -+ -+#LDLIBS_RELEASE_dynamic = -lposix4 -+#LDLIBS_STLDEBUG_dynamic = -lposix4 -+ -+include common_percent_rules.mak -+ -+# for file in `cat ../etc/std_headers.txt ../etc/std_headers_classic_iostreams.txt ../etc/std_headers_cpp_runtime.txt ../etc/std_headers_cpp_runtime_h.txt`; \ -+ -+../stlport/algorithm.SUNWCCh : -+ for file in `cat ../etc/std_headers.txt ../etc/std_headers_classic_iostreams.txt ../etc/std_headers_c.txt ../etc/std_headers_cpp_runtime.txt ../etc/std_headers_c_h.txt ../etc/std_headers_cpp_runtime_h.txt`; \ -+ do \ -+ rm -f ../stlport/$$file.SUNWCCh ; \ -+ (cd ../stlport ; ln -s $$file $$file.SUNWCCh) ; \ -+ done -+ -+# for file in `cat ../etc/std_headers_c_h.txt ../etc/std_headers_c.txt`; \ -+# do \ -+# rm -f ../stlport/$$file; \ -+# done -+ -+prepare_sunpro : ../stlport/algorithm.SUNWCCh -+ -+remove_c_headers : -+ for file in `cat ../etc/std_headers_c_h.txt ../etc/std_headers_c.txt`; \ -+ do \ -+ rm -f ../stlport/$$file ../stlport/$$file.SUNWCCh; \ -+ done -+ -+include common_rules.mak -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/sunpro-compat.mak tripwire-2.3.1-2/src/STLport-4.0/src/sunpro-compat.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/sunpro-compat.mak Sat Feb 24 10:44:15 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/sunpro-compat.mak Sun Aug 11 18:59:23 2002 -@@ -1,75 +1,10 @@ - # - # Basename for libraries - # --LIB_BASENAME = libstlport_sunpro -- --STL_INCL= -I. -I${PWD}/../stlport/SC5 -+LIB_BASENAME = libstlport_sunpro_compat - - CC = CC - CXX = CC -compat=4 - --# --# guts for common stuff --# --# --LINK=$(CC) -xar -o --DYN_LINK=$(CC) -G -o -- --OBJEXT=o --DYNEXT=so --STEXT=a --RM=rm -rf --PATH_SEP=/ --MKDIR=mkdir -p --COMP=SUN-compat -- --# LINK_OUT=-xar -o --# DYNLINK_OUT=-o -- --all: all_static -- --include common_macros.mak -- --CXXFLAGS_COMMON = -mt -pta +w2 -features=rtti -xildoff ${STL_INCL} -D__SGI_STL_OWN_IOSTREAMS -- --SHCXXFLAGS = -PIC -- --DEBUG_FLAGS = -g +w2 -D__STL_DEBUG -- --# --# Try those flags to see if they help to get maximum efficiency : --# -Qoption iropt -R,-Ml30,-Ms30,-Mi1000000,-Mm1000000,-Mr1000000,-Ma1000000,-Mc1000000,-Mt1000000 --RELEASE_FLAGS = -O2 +w2 -Qoption iropt -R,-Ml30,-Ms30,-Mi1000000,-Mm1000000,-Mr1000000,-Ma1000000,-Mc1000000,-Mt1000000 -- -- --# install: $(TARGETS) --# cp -p $(TARGETS) ${INSTALLDIR} -- --RELEASE_static_rep = -ptr${RELEASE_OBJDIR_static} --RELEASE_dynamic_rep = -ptr${RELEASE_OBJDIR_dynamic} --DEBUG_static_rep = -ptr${DEBUG_OBJDIR_static} --DEBUG_dynamic_rep = -ptr${DEBUG_OBJDIR_dynamic} --STLDEBUG_static_rep = -ptr${STLDEBUG_OBJDIR_static} --STLDEBUG_dynamic_rep = -ptr${STLDEBUG_OBJDIR_dynamic} -- --CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) ${RELEASE_FLAGS} ${RELEASE_static_rep} --CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) ${RELEASE_FLAGS} $(SHCXXFLAGS) ${RELEASE_dynamic_rep} -- --CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -g ${DEBUG_static_rep} --CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -g $(SHCXXFLAGS) ${DEBUG_dynamic_rep} -- --CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) ${STLDEBUG_static_rep} -D__STL_DEBUG --CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) ${STLDEBUG_dynamic_rep} -D__STL_DEBUG -- --LDFLAGS_RELEASE_static = ${CXXFLAGS_RELEASE_static} --LDFLAGS_RELEASE_dynamic = ${CXXFLAGS_RELEASE_dynamic} -- --LDFLAGS_DEBUG_static = ${CXXFLAGS_DEBUG_static} --LDFLAGS_DEBUG_dynamic = ${CXXFLAGS_DEBUG_dynamic} -- --LDFLAGS_STLDEBUG_static = ${CXXFLAGS_STLDEBUG_static} --LDFLAGS_STLDEBUG_dynamic = ${CXXFLAGS_STLDEBUG_dynamic} -- --include common_percent_rules.mak --include common_rules.mak -+COMP=SUN-COMPAT - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/sunpro-v8plus.mak tripwire-2.3.1-2/src/STLport-4.0/src/sunpro-v8plus.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/sunpro-v8plus.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/sunpro-v8plus.mak Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,16 @@ -+# -+# Basename for libraries -+# -+LIB_BASENAME = libstlport_sunpro64 -+ -+# -+# This makefile will work for SUN CC 5.0-5.3 (Forte 6 Update 2) -+# -+ -+CC = CC -xarch=v8plus -+CXX = CC -xarch=v8plus -+ -+COMP = SUN64 -+ATOMIC_ASM = sparc_atomic.s -+ -+include sunpro-common.mak -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/sunpro.mak tripwire-2.3.1-2/src/STLport-4.0/src/sunpro.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/sunpro.mak Sat Feb 24 10:44:15 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/sunpro.mak Sun Aug 11 18:59:23 2002 -@@ -1,75 +1,16 @@ - # - # Basename for libraries - # --LIB_BASENAME = libstlport_sunpro -- --STL_INCL= -I. -I${PWD}/../stlport/SC5 - --CC = CC --CXX = CC -- --# --# guts for common stuff - # -+# This makefile will work for SUN 5.0 and higher - # --LINK=$(CC) -xar -o --DYN_LINK=$(CC) -G -o - --OBJEXT=o --DYNEXT=so --STEXT=a --RM=rm -rf --PATH_SEP=/ --MKDIR=mkdir -p -+LIB_BASENAME = libstlport_sunpro - COMP=SUN -+CC = CC -+CXX = CC - --# LINK_OUT=-xar -o --# DYNLINK_OUT=-o -- --all: all_dynamic all_static -- --include common_macros.mak -- --CXXFLAGS_COMMON = -mt -pta +w2 -features=rtti -xildoff ${STL_INCL} -D__SGI_STL_OWN_IOSTREAMS -- --SHCXXFLAGS = -PIC -- --DEBUG_FLAGS = -g +w2 -D__STL_DEBUG -- --# --# Try those flags to see if they help to get maximum efficiency : --# -Qoption iropt -R,-Ml30,-Ms30,-Mi1000000,-Mm1000000,-Mr1000000,-Ma1000000,-Mc1000000,-Mt1000000 --RELEASE_FLAGS = -O2 +w2 -Qoption iropt -R,-Ml30,-Ms30,-Mi1000000,-Mm1000000,-Mr1000000,-Ma1000000,-Mc1000000,-Mt1000000 -- -- --# install: $(TARGETS) --# cp -p $(TARGETS) ${INSTALLDIR} -- --RELEASE_static_rep = -ptr${RELEASE_OBJDIR_static} --RELEASE_dynamic_rep = -ptr${RELEASE_OBJDIR_dynamic} --DEBUG_static_rep = -ptr${DEBUG_OBJDIR_static} --DEBUG_dynamic_rep = -ptr${DEBUG_OBJDIR_dynamic} --STLDEBUG_static_rep = -ptr${STLDEBUG_OBJDIR_static} --STLDEBUG_dynamic_rep = -ptr${STLDEBUG_OBJDIR_dynamic} -- --CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) ${RELEASE_FLAGS} ${RELEASE_static_rep} --CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) ${RELEASE_FLAGS} $(SHCXXFLAGS) ${RELEASE_dynamic_rep} -- --CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -g ${DEBUG_static_rep} --CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -g $(SHCXXFLAGS) ${DEBUG_dynamic_rep} -- --CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_COMMON) -g ${STLDEBUG_static_rep} -D__STL_DEBUG --CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_COMMON) -g $(SHCXXFLAGS) ${STLDEBUG_dynamic_rep} -D__STL_DEBUG -- --LDFLAGS_RELEASE_static = ${CXXFLAGS_RELEASE_static} --LDFLAGS_RELEASE_dynamic = ${CXXFLAGS_RELEASE_dynamic} -- --LDFLAGS_DEBUG_static = ${CXXFLAGS_DEBUG_static} --LDFLAGS_DEBUG_dynamic = ${CXXFLAGS_DEBUG_dynamic} -- --LDFLAGS_STLDEBUG_static = ${CXXFLAGS_STLDEBUG_static} --LDFLAGS_STLDEBUG_dynamic = ${CXXFLAGS_STLDEBUG_dynamic} -+include sunpro-common.mak - --include common_percent_rules.mak --include common_rules.mak - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/sunpro42.mak tripwire-2.3.1-2/src/STLport-4.0/src/sunpro42.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/sunpro42.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/sunpro42.mak Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,11 @@ -+# -+# Basename for libraries -+# -+LIB_BASENAME = libstlport_sunpro42 -+COMP=SUN42 -+CC = CC -+CXX = CC -+ -+include sunpro-common.mak -+ -+ -Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: sunpro6.mak -Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: test.cpp -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/time_facets.cpp tripwire-2.3.1-2/src/STLport-4.0/src/time_facets.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/time_facets.cpp Sat Feb 24 10:44:16 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/time_facets.cpp Sun Aug 11 18:59:23 2002 -@@ -17,22 +17,22 @@ - */ - - --# include "stlport_prefix.h" --#include --#include --#include --#include --#include -+#include "stlport_prefix.h" -+#include -+#include -+#include "c_locale.h" - -+_STLP_BEGIN_NAMESPACE - --__STL_BEGIN_NAMESPACE -+char* _STLP_CALL -+__write_integer(char* buf, ios_base::fmtflags flags, long x); - - // The function copy_cstring is used to initialize a string - // with a C-style string. Used to initialize the month and weekday --// tables in time_get and time_put. Called only by __init_timeinfo -+// tables in time_get and time_put. Called only by _Init_timeinfo - // so its name does not require leading underscores. - --inline void copy_cstring(const char * s, string& v) { -+static inline void copy_cstring(const char * s, string& v) { - copy(s, s + strlen(s), back_insert_iterator(v)); - } - -@@ -49,11 +49,11 @@ - "January", "February", "March", "April", "May", "June", - "July", "August", "September", "October", "November", "December"}; - --// __init_time_info: initialize table with -+// _Init_time_info: initialize table with - // "C" values (note these are not defined in the C standard, so this - // is somewhat arbitrary). - --void __STL_CALL __init_timeinfo(_Time_Info& table) { -+void _STLP_CALL _Init_timeinfo(_Time_Info& table) { - int i; - for (i = 0; i < 14; ++i) - copy_cstring(default_dayname[i], table._M_dayname[i]); -@@ -66,7 +66,7 @@ - copy_cstring("%a %b %e %H:%M:%S %Y", table._M_date_time_format); - } - --void __STL_CALL __init_timeinfo(_Time_Info& table, _Locale_time * time) { -+void _STLP_CALL _Init_timeinfo(_Time_Info& table, _Locale_time * time) { - int i; - for (i = 0; i < 7; ++i) - copy_cstring(_Locale_abbrev_dayofweek(time)[i], -@@ -87,6 +87,8 @@ - copy_cstring(_Locale_t_fmt(time), table._M_time_format); - copy_cstring(_Locale_d_fmt(time), table._M_date_format); - copy_cstring(_Locale_d_t_fmt(time), table._M_date_time_format); -+ copy_cstring(_Locale_long_d_fmt(time), table._M_long_date_format); -+ copy_cstring(_Locale_long_d_t_fmt(time), table._M_long_date_time_format); - } - - inline char* __subformat(string format, char*& buf, -@@ -95,8 +97,12 @@ - const char * cp_end = cp + format.size(); - while (cp != cp_end) { - if (*cp == '%') { -+ char mod = 0; - ++cp; -- buf = __write_formatted_time(buf, *cp++, table, t); -+ if(*cp == '#') { -+ mod = *cp; ++cp; -+ } -+ buf = __write_formatted_time(buf, *cp++, mod, table, t); - } else - *buf++ = *cp++; - } -@@ -124,7 +130,10 @@ - #define __is_leap(year) \ - ((year) % 4 == 0 && ((year) % 100 != 0 || (year) % 400 == 0)) - --char * __write_formatted_time(char* buf, char format, -+#define __hour12(hour) \ -+ (((hour) % 12 == 0) ? (12) : (hour) % 12) -+ -+char * __write_formatted_time(char* buf, char format, char modifier, - const _Time_Info& table, const tm* t) { - switch(format) { - case 'a': -@@ -148,12 +157,15 @@ - buf); - - case 'c': { -- const char * cp = table._M_date_time_format.data(); -- const char* cp_end = cp + table._M_date_time_format.size(); -+ const char * cp = (modifier != '#') ? table._M_date_time_format.data():\ -+ table._M_long_date_time_format.data(); -+ const char* cp_end = (modifier != '#') ? cp + table._M_date_time_format.size():\ -+ cp + table._M_long_date_time_format.size(); -+ char mod = 0; - while (cp != cp_end) { - if (*cp == '%') { -- ++cp; -- buf = __write_formatted_time(buf, *cp++, table, t); -+ ++cp; if(*cp == '#') mod = *cp++; else mod = 0; -+ buf = __write_formatted_time(buf, *cp++, mod, table, t); - } - else - *buf++ = *cp++; -@@ -162,31 +174,31 @@ - } - - case 'd': -- sprintf(buf, "%.2ld", (long)t->tm_mday); -- return buf + 2; -+ sprintf(buf, (modifier != '#')?"%.2ld":"%ld", (long)t->tm_mday); -+ return ((long)t->tm_mday < 10L && modifier == '#')?buf+1:buf + 2; - - case 'e': - sprintf(buf, "%2ld", (long)t->tm_mday); - return buf + 2; - - case 'H': -- sprintf(buf, "%.2ld", (long)t->tm_hour); -- return buf + 2; -+ sprintf(buf, (modifier != '#')?"%.2ld":"%ld", (long)t->tm_hour); -+ return ((long)t->tm_hour < 10L && modifier == '#')?buf+1:buf + 2; - - case 'I': -- sprintf(buf, "%.2ld", (long)t->tm_hour % 12); -- return buf + 2; -+ sprintf(buf, (modifier != '#')?"%.2ld":"%ld", (long)__hour12(t->tm_hour)); -+ return ((long)__hour12(t->tm_hour) < 10L && modifier == '#')?buf+1:buf + 2; - - case 'j': - return __write_integer(buf, 0, (long)((long)t->tm_yday + 1)); - - case 'm': -- sprintf(buf, "%.2ld", (long)t->tm_mon + 1); -- return buf + 2; -+ sprintf(buf, (modifier != '#')?"%.2ld":"%ld", (long)t->tm_mon + 1); -+ return ((long)(t->tm_mon + 1) < 10L && modifier == '#')?buf+1:buf + 2; - - case 'M': -- sprintf(buf, "%.2ld", (long)t->tm_min); -- return buf + 2; -+ sprintf(buf, (modifier != '#')?"%.2ld":"%ld", (long)t->tm_min); -+ return ((long)t->tm_min < 10L && modifier == '#')?buf+1:buf + 2; - - case 'p': - return copy(table._M_am_pm[t->tm_hour/12].begin(), -@@ -194,8 +206,8 @@ - buf); - - case 'S': // pad with zeros -- sprintf(buf, "%.2ld", (long)t->tm_sec); -- return buf + 2; -+ sprintf(buf, (modifier != '#')?"%.2ld":"%ld", (long)t->tm_sec); -+ return ((long)t->tm_sec < 10L && modifier == '#')?buf+1:buf + 2; - - case 'U': - return __write_integer(buf, 0, -@@ -213,12 +225,15 @@ - (t->tm_yday + 8 - t->tm_wday) / 7)); - - case'x': { -- const char * cp = table._M_date_format.data(); -- const char* cp_end = cp + table._M_date_format.size(); -+ const char * cp = (modifier != '#') ? table._M_date_format.data():\ -+ table._M_long_date_format.data(); -+ const char* cp_end = (modifier != '#') ? cp + table._M_date_format.size():\ -+ cp + table._M_long_date_format.size(); -+ char mod = 0; - while (cp != cp_end) { - if (*cp == '%') { -- ++cp; -- buf = __write_formatted_time(buf, *cp++, table, t); -+ ++cp; if(*cp == '#') mod = *cp++; else mod = 0; -+ buf = __write_formatted_time(buf, *cp++, mod, table, t); - } - else - *buf++ = *cp++; -@@ -229,10 +244,11 @@ - case 'X': { - const char * cp = table._M_time_format.data(); - const char* cp_end = cp + table._M_time_format.size(); -+ char mod = 0; - while (cp != cp_end) { - if (*cp == '%') { -- ++cp; -- buf = __write_formatted_time(buf, *cp++, table, t); -+ ++cp; if(*cp == '#') mod = *cp++; else mod = 0; -+ buf = __write_formatted_time(buf, *cp++, mod, table, t); - } - else - *buf++ = *cp++; -@@ -252,7 +268,7 @@ - #ifdef __GNUC__ - - // fbp : at least on SUN --# if defined ( __STL_UNIX ) && ! defined (__linux__) -+# if defined ( _STLP_UNIX ) && ! defined (__linux__) - # define __USE_BSD 1 - # endif - -@@ -336,13 +352,13 @@ - } - } - --# if defined ( __STL_USE_GLIBC ) && ! defined (__CYGWIN__) -+# if defined ( _STLP_USE_GLIBC ) && ! defined (__CYGWIN__) - case 'z': /* GNU extension. */ - if (t->tm_isdst < 0) - break; - { - int diff; --#ifdef __USE_BSD -+#if defined(__USE_BSD) || defined(__BEOS__) - diff = t->tm_gmtoff; - #else - diff = t->__tm_gmtoff; -@@ -367,7 +383,7 @@ - return buf; - } - --time_base::dateorder __STL_CALL -+time_base::dateorder _STLP_CALL - __get_date_order(_Locale_time* time) - { - const char * fmt = _Locale_d_fmt(time); -@@ -406,4 +422,20 @@ - return time_base::no_order; - } - } --__STL_END_NAMESPACE -+ -+#if !defined(_STLP_NO_FORCE_INSTANTIATE) -+template class time_get > >; -+// template class time_get; -+template class time_put > >; -+// template class time_put; -+ -+#ifndef _STLP_NO_WCHAR_T -+template class time_get > >; -+// template class time_get; -+template class time_put > >; -+// template class time_put; -+#endif /* INSTANTIATE_WIDE_STREAMS */ -+ -+#endif -+ -+_STLP_END_NAMESPACE -Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: time_get.cpp -Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: time_get_w.cpp -Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: time_put.cpp -Only in tripwire-2.3.1-2.old/src/STLport-4.0/src: time_put_w.cpp -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/uint64.h tripwire-2.3.1-2/src/STLport-4.0/src/uint64.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/uint64.h Sat Feb 24 10:44:16 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/uint64.h Sun Aug 11 18:59:23 2002 -@@ -125,12 +125,13 @@ - - #if defined(__MRC__)||defined(__SC__) - --__STL_END_NAMESPACE // ugly! -+_STLP_END_NAMESPACE // ugly! - # include - # include - # undef modff //*TY 04/06/2000 - defined in which conflicts with definition - # include --__STL_BEGIN_NAMESPACE -+ -+_STLP_BEGIN_NAMESPACE - - # if TYPE_LONGLONG - typedef UInt64 uint64; -@@ -150,33 +151,33 @@ - # define ULL2(hi,lo) {hi,lo} - - // Constructors, destructor, assignment operator. --__STL_TEMPLATE_NULL inline _compound_int::_compound_int() { hi = 0; lo = 0; } --__STL_TEMPLATE_NULL inline _compound_int::_compound_int(unsigned long val) { hi = 0; lo = val; } --__STL_TEMPLATE_NULL inline _compound_int::_compound_int(unsigned long h, unsigned long l) { hi = h; lo = l; } -+_STLP_TEMPLATE_NULL inline _compound_int::_compound_int() { hi = 0; lo = 0; } -+_STLP_TEMPLATE_NULL inline _compound_int::_compound_int(unsigned long val) { hi = 0; lo = val; } -+_STLP_TEMPLATE_NULL inline _compound_int::_compound_int(unsigned long h, unsigned long l) { hi = h; lo = l; } - - // Arithmetic op= operations involving two _compound_int. --__STL_TEMPLATE_NULL inline _compound_int& _compound_int::operator+= (const _compound_int& rhs) { *this = U64Add( *this, rhs ); return *this; } --__STL_TEMPLATE_NULL inline _compound_int& _compound_int::operator-= (const _compound_int& rhs) { *this = U64Subtract( *this, rhs ); return *this; } --__STL_TEMPLATE_NULL inline _compound_int& _compound_int::operator*= (const _compound_int& rhs) { *this = U64Multiply( *this, rhs ); return *this; } --__STL_TEMPLATE_NULL inline _compound_int& _compound_int::operator/= (const _compound_int& rhs) { *this = U64Divide( *this, rhs, NULL ); return *this; } --__STL_TEMPLATE_NULL inline _compound_int& _compound_int::operator%= (const _compound_int& rhs) { U64Divide( *this, rhs, this ); return *this; } --__STL_TEMPLATE_NULL inline _compound_int& _compound_int::operator&= (const _compound_int& rhs) { *this = U64BitwiseAnd( *this, rhs ); return *this; } --__STL_TEMPLATE_NULL inline _compound_int& _compound_int::operator|= (const _compound_int& rhs) { *this = U64BitwiseOr( *this, rhs ); return *this; } --__STL_TEMPLATE_NULL inline _compound_int& _compound_int::operator^= (const _compound_int& rhs) { *this = U64BitwiseEor( *this, rhs ); return *this; } -+_STLP_TEMPLATE_NULL inline _compound_int& _compound_int::operator+= (const _compound_int& rhs) { *this = U64Add( *this, rhs ); return *this; } -+_STLP_TEMPLATE_NULL inline _compound_int& _compound_int::operator-= (const _compound_int& rhs) { *this = U64Subtract( *this, rhs ); return *this; } -+_STLP_TEMPLATE_NULL inline _compound_int& _compound_int::operator*= (const _compound_int& rhs) { *this = U64Multiply( *this, rhs ); return *this; } -+_STLP_TEMPLATE_NULL inline _compound_int& _compound_int::operator/= (const _compound_int& rhs) { *this = U64Divide( *this, rhs, NULL ); return *this; } -+_STLP_TEMPLATE_NULL inline _compound_int& _compound_int::operator%= (const _compound_int& rhs) { U64Divide( *this, rhs, this ); return *this; } -+_STLP_TEMPLATE_NULL inline _compound_int& _compound_int::operator&= (const _compound_int& rhs) { *this = U64BitwiseAnd( *this, rhs ); return *this; } -+_STLP_TEMPLATE_NULL inline _compound_int& _compound_int::operator|= (const _compound_int& rhs) { *this = U64BitwiseOr( *this, rhs ); return *this; } -+_STLP_TEMPLATE_NULL inline _compound_int& _compound_int::operator^= (const _compound_int& rhs) { *this = U64BitwiseEor( *this, rhs ); return *this; } - - // Arithmetic op= operations involving built-in integer. --__STL_TEMPLATE_NULL inline _compound_int& _compound_int::operator<<= (unsigned int rhs) { *this = U64ShiftLeft( *this, rhs ); return *this; } --__STL_TEMPLATE_NULL inline _compound_int& _compound_int::operator>>= (unsigned int rhs) { *this = U64ShiftRight( *this, rhs ); return *this; } -+_STLP_TEMPLATE_NULL inline _compound_int& _compound_int::operator<<= (unsigned int rhs) { *this = U64ShiftLeft( *this, rhs ); return *this; } -+_STLP_TEMPLATE_NULL inline _compound_int& _compound_int::operator>>= (unsigned int rhs) { *this = U64ShiftRight( *this, rhs ); return *this; } - - // Comparison operators. --__STL_TEMPLATE_NULL inline bool operator==(const _compound_int& lhs, const _compound_int& rhs) { return (lhs.hi == rhs.hi) && (lhs.lo == rhs.lo); } --__STL_TEMPLATE_NULL inline bool operator< (const _compound_int& lhs, const _compound_int& rhs) { return U64Compare( lhs, rhs ) < 0; } --__STL_TEMPLATE_NULL inline bool operator==(const _compound_int& lhs, unsigned long rhs) { return (lhs.hi == 0) && (lhs.lo == rhs); } -+_STLP_TEMPLATE_NULL inline bool operator==(const _compound_int& lhs, const _compound_int& rhs) { return (lhs.hi == rhs.hi) && (lhs.lo == rhs.lo); } -+_STLP_TEMPLATE_NULL inline bool operator< (const _compound_int& lhs, const _compound_int& rhs) { return U64Compare( lhs, rhs ) < 0; } -+_STLP_TEMPLATE_NULL inline bool operator==(const _compound_int& lhs, unsigned long rhs) { return (lhs.hi == 0) && (lhs.lo == rhs); } - - // Unary non-member arithmetic operators. --__STL_TEMPLATE_NULL inline unsigned long to_ulong(const _compound_int& val) { return val.lo; } --__STL_TEMPLATE_NULL inline _compound_int operator~(const _compound_int& val) { return U64BitwiseNot( val ); } --__STL_TEMPLATE_NULL inline bool operator!(const _compound_int& val) { return !((val.hi == 0) && (val.lo == 0)); } -+_STLP_TEMPLATE_NULL inline unsigned long to_ulong(const _compound_int& val) { return val.lo; } -+_STLP_TEMPLATE_NULL inline _compound_int operator~(const _compound_int& val) { return U64BitwiseNot( val ); } -+_STLP_TEMPLATE_NULL inline bool operator!(const _compound_int& val) { return !((val.hi == 0) && (val.lo == 0)); } - - # endif // TYPE_LONGLONG - #endif // __MRC__ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/vc5.mak tripwire-2.3.1-2/src/STLport-4.0/src/vc5.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/vc5.mak Sat Feb 24 10:44:16 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/vc5.mak Sun Aug 11 18:59:23 2002 -@@ -9,9 +9,12 @@ - LIB_BASENAME=stlport_vc5 - COMP=VC5 - --EXTRA_COMMON_FLAGS=/D "_MBCS" /D "__STL_NO_FORCE_INSTANTIATE" -+# EXTRA_COMMON_FLAGS=/D "_MBCS" /D "_STLP_NO_FORCE_INSTANTIATE" -+EXTRA_COMMON_FLAGS=/Zm800 /FI "vc_warning_disable.h" /D "_MBCS" -+EXTRA_DEBUG_FLAGS= -+EXTRA_NDEBUG_FLAGS= - --all: all_static -+all: all_static all_staticx - - !INCLUDE vc_common.mak - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/vc6-unicode.mak tripwire-2.3.1-2/src/STLport-4.0/src/vc6-unicode.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/vc6-unicode.mak Sat Feb 24 10:44:16 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/vc6-unicode.mak Sun Aug 11 18:59:23 2002 -@@ -6,12 +6,15 @@ - CC=cl.exe - RC=rc - --LIB_BASENAME=stlport_vc6_unicode --COMP=VC6_UNICODE -+LIB_BASENAME=stlport_vc6 -+COMP=VC6 - --EXTRA_COMMON_FLAGS=/D "_UNICODE" /D "UNICODE" -+# EXTRA_COMMON_FLAGS=/D "_MBCS" -+EXTRA_COMMON_FLAGS=/Zm800 /FI "vc_warning_disable.h" /D "_MBCS" -+EXTRA_DEBUG_FLAGS= -+EXTRA_NDEBUG_FLAGS= - --all: all_dynamic all_static -+all: platform all_static all_dynamic - - !INCLUDE vc_common.mak - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/vc6.mak tripwire-2.3.1-2/src/STLport-4.0/src/vc6.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/vc6.mak Sat Feb 24 10:44:16 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/vc6.mak Sun Aug 11 18:59:23 2002 -@@ -4,11 +4,15 @@ - - CXX=cl.exe - CC=cl.exe -+RC=rc - - LIB_BASENAME=stlport_vc6 - COMP=VC6 - --EXTRA_COMMON_FLAGS=/D "_MBCS" -+# EXTRA_COMMON_FLAGS=/D "_MBCS" -+EXTRA_COMMON_FLAGS=/Zm800 /FI "vc_warning_disable.h" /D "_MBCS" -+EXTRA_DEBUG_FLAGS= -+EXTRA_NDEBUG_FLAGS= - - all: platform all_static all_dynamic - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/vc7.mak tripwire-2.3.1-2/src/STLport-4.0/src/vc7.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/vc7.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/vc7.mak Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,25 @@ -+# -+# STLport makefile for VC++ 7 (.NET) -+# -+ -+CXX=cl.exe -+CC=cl.exe -+RC=rc -+ -+LIB_BASENAME=stlport_vc7 -+COMP=VC7 -+ -+# EXTRA_COMMON_FLAGS=/D "_MBCS" -+EXTRA_COMMON_FLAGS=/FI "vc_warning_disable.h" /D "_MBCS" -+EXTRA_DEBUG_FLAGS= -+EXTRA_NDEBUG_FLAGS= -+ -+all: platform all_static all_dynamic -+ -+!INCLUDE vc_common.mak -+ -+# -+# -+ -+ -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/vc_common.mak tripwire-2.3.1-2/src/STLport-4.0/src/vc_common.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/vc_common.mak Sat Feb 24 10:44:16 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/vc_common.mak Sun Aug 11 18:59:23 2002 -@@ -1,80 +1,115 @@ --# --# -- --!IF "$(OS)" == "Windows_NT" --NULL= --!ELSE --NULL=nul --!ENDIF -- -- --# --# Tools --# -- --# RSC=rc.exe --LINK=lib.exe --DYN_LINK=link.exe --OBJEXT=obj --DYNEXT=dll --STEXT=lib --RM=-rd /S /Q -- --PATH_SEP=\\ -- --MKDIR=-mkdir --LINK_OUT=/out: --DYNLINK_OUT=/out: --STATIC_SUFFIX=_static --INSTALL_STEP=do_install -- --!include common_macros.mak -- --# --# --# Flags --# -- --FLAGS_COMMON =/Zm800 /nologo /W3 /GR /GX /FI "vc_warning_disable.h" /D "WIN32" /D "_WINDOWS" /I "$(STLPORT_DIR)" /D "__SGI_STL_OWN_IOSTREAMS" $(EXTRA_COMMON_FLAGS) -- --FLAGS_COMMON_static = $(FLAGS_COMMON) /D "_LIB" /FD --FLAGS_COMMON_dynamic = $(FLAGS_COMMON) /D "_USRDLL" -- -- --LDFLAGS_COMMON_static=/nologo /machine:I386 --LDFLAGS_COMMON_dynamic=/nologo /dll /incremental:no /machine:I386 -- --CXXFLAGS_DEBUG_static=$(FLAGS_COMMON_static) /MTd /Zi /Yd /Gm /Od /D "_DEBUG" /Fo"$(DEBUG_OBJDIR_static)\\" /Fd"$(DEBUG_OBJDIR_static)\\" /YXstlport_prefix.h /Fp$(DEBUG_OBJDIR_static)\stlport.pch /c -- --CXXFLAGS_DEBUG_dynamic=$(FLAGS_COMMON_dynamic) /MDd /Zi /Yd /Gm /Od /D "_DEBUG" /Fo"$(DEBUG_OBJDIR_dynamic)\\" /Fd"$(DEBUG_OBJDIR_dynamic)\\" /YXstlport_prefix.h /Fp$(DEBUG_OBJDIR_dynamic)\stlport.pch /c -- --CXXFLAGS_STLDEBUG_static=$(FLAGS_COMMON_static) /MTd /Zi /Yd /Gm /Od /D "_DEBUG" /D "__STL_DEBUG" /Fo"$(STLDEBUG_OBJDIR_static)\\" /Fd"$(STLDEBUG_OBJDIR_static)\\" /YXstlport_prefix.h /Fp$(STLDEBUG_OBJDIR_static)\stlport.pch /c -- --CXXFLAGS_STLDEBUG_dynamic=$(FLAGS_COMMON_dynamic) /MDd /Zi /Yd /Gm /Od /D "_DEBUG" /D "__STL_DEBUG" /Fo"$(STLDEBUG_OBJDIR_dynamic)\\" /Fd"$(STLDEBUG_OBJDIR_dynamic)\\" /YXstlport_prefix.h /Fp$(STLDEBUG_OBJDIR_dynamic)\stlport.pch /c -- --LDFLAGS_DEBUG_static=$(LDFLAGS_COMMON_static) /NODEFAULTLIB:MTD /DEBUGTYPE:CV --LDFLAGS_DEBUG_dynamic=$(LDFLAGS_COMMON_dynamic) /DEBUG /DEBUGTYPE:CV /implib:"$(OUTDIR)\$(DEBUG_NAME).$(STEXT)" -- --LDFLAGS_STLDEBUG_static=$(LDFLAGS_COMMON_static) /NODEFAULTLIB:MTD /DEBUGTYPE:CV --LDFLAGS_STLDEBUG_dynamic=$(LDFLAGS_COMMON_dynamic) /DEBUG /DEBUGTYPE:CV /implib:"$(OUTDIR)\$(STLDEBUG_NAME).$(STEXT)" -- --CXXFLAGS_RELEASE_static=$(FLAGS_COMMON_static) /O2 /MT /D "NDEBUG" /Fo"$(RELEASE_OBJDIR_static)\\" /Fd"$(RELEASE_OBJDIR_static)\\" /YXstlport_prefix.h /Fp$(RELEASE_OBJDIR_static)\stlport.pch /c -- --CXXFLAGS_RELEASE_dynamic=$(FLAGS_COMMON_dynamic) /O2 /MD /D "NDEBUG" /Fo"$(RELEASE_OBJDIR_dynamic)\\" /Fd"$(RELEASE_OBJDIR_dynamic)\\" /YXstlport_prefix.h /Fp$(RELEASE_OBJDIR_dynamic)\stlport.pch /c -- --LDFLAGS_RELEASE_static=$(LDFLAGS_COMMON_static) --LDFLAGS_RELEASE_dynamic=$(LDFLAGS_COMMON_dynamic) /implib:"$(OUTDIR)\$(RELEASE_NAME).$(STEXT)" -- --RESFILE=$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)stlport.res --RESFILE_debug=$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)stlport.res --RESFILE_stldebug=$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)stlport.res -- -- --# --# Rules --# -- --!include common_rules.mak -- --!include nmake_common.mak -- -+# -+# -+ -+ -+# -+# Tools -+# -+ -+#Default tools -+ -+!IF "$(CC)" == "" -+CC=cl.exe -+!ENDIF -+!IF "$(CXX)" == "" -+CXX=cl.exe -+!ENDIF -+!IF "$(DYN_LINK)" == "" -+DYN_LINK=link.exe -+!ENDIF -+!IF "$(LINK)" == "" -+LINK=lib.exe -+!ENDIF -+ -+#Files extension -+ -+OBJEXT=obj -+DYNEXT=dll -+STEXT=lib -+ -+PATH_SEP=\\ -+ -+MKDIR=-mkdir -+LINK_OUT=/out: -+DYNLINK_OUT=/out: -+STATIC_SUFFIX=_static -+INSTALL_STEP=install_vc -+ -+!include common_macros_windows.mak -+ -+!IF "$(OS)" == "Windows_NT" -+NULL= -+RM=-rd /S /Q -+!ELSE -+RM=-deltree /Y -+NULL=nul -+!ENDIF -+ -+ -+# -+# Flags -+# -+ -+# FLAGS_COMMON =/nologo /c /W3 /GR /GX /D "WIN32" /D "_WINDOWS" /I "$(STLPORT_DIR)" $(EXTRA_COMMON_FLAGS) -+FLAGS_COMMON =/nologo /c /Zi /W3 /GR /GX /D "WIN32" /D "_WINDOWS" /I "$(STLPORT_DIR)" $(EXTRA_COMMON_FLAGS) -+FLAGS_COMMON_static = $(FLAGS_COMMON) /FD /D "_STLP_NO_FORCE_INSTANTIATE" -+FLAGS_COMMON_dynamic = $(FLAGS_COMMON) -+ -+FLAGS_DEBUG=/Gm /Od /D_DEBUG $(EXTRA_DEBUG_FLAGS) -+# FLAGS_DEBUG=/Zi /Gm /Od /D_DEBUG $(EXTRA_DEBUG_FLAGS) -+FLAGS_NDEBUG=/O2 /DNDEBUG $(EXTRA_NDEBUG_FLAGS) -+ -+LDFLAGS_COMMON=/nologo /machine:I386 /debugtype:cv -+LDFLAGS_DEBUG=/debug -+LDFLAGS_RELEASE=/opt:ref -+ -+LDFLAGS_COMMON_static=$(LDFLAGS_COMMON) -+LDFLAGS_COMMON_dynamic=$(LDFLAGS_COMMON) /dll /incremental:no -+ -+ -+CXXFLAGS_DEBUG_static=$(FLAGS_COMMON_static) /MTd $(FLAGS_DEBUG) /Fo"$(DEBUG_OBJDIR_static)\\" /Fd"$(DEBUG_OBJDIR_static)\\" /YXstlport_prefix.h /Fp$(DEBUG_OBJDIR_static)\stlport.pch -+ -+CXXFLAGS_DEBUG_staticx=$(FLAGS_COMMON_static) /MDd $(FLAGS_DEBUG) /Fo"$(DEBUG_OBJDIR_staticx)\\" /Fd"$(DEBUG_OBJDIR_staticx)\\" /YXstlport_prefix.h /Fp$(DEBUG_OBJDIR_staticx)\stlport.pch -+ -+CXXFLAGS_DEBUG_dynamic=$(FLAGS_COMMON_dynamic) /MDd $(FLAGS_DEBUG) /Fo"$(DEBUG_OBJDIR_dynamic)\\" /Fd"$(DEBUG_OBJDIR_dynamic)\\" /YXstlport_prefix.h /Fp$(DEBUG_OBJDIR_dynamic)\stlport.pch -+ -+CXXFLAGS_STLDEBUG_static=$(FLAGS_COMMON_static) /MTd $(FLAGS_DEBUG) /D "_STLP_DEBUG" /Fo"$(STLDEBUG_OBJDIR_static)\\" /Fd"$(STLDEBUG_OBJDIR_static)\\" /YXstlport_prefix.h /Fp$(STLDEBUG_OBJDIR_static)\stlport.pch -+ -+CXXFLAGS_STLDEBUG_staticx=$(FLAGS_COMMON_static) /MDd $(FLAGS_DEBUG) /D "_STLP_DEBUG" /Fo"$(STLDEBUG_OBJDIR_staticx)\\" /Fd"$(STLDEBUG_OBJDIR_staticx)\\" /YXstlport_prefix.h /Fp$(STLDEBUG_OBJDIR_staticx)\stlport.pch -+ -+CXXFLAGS_STLDEBUG_dynamic=$(FLAGS_COMMON_dynamic) /MDd $(FLAGS_DEBUG) /D "_STLP_DEBUG" /Fo"$(STLDEBUG_OBJDIR_dynamic)\\" /Fd"$(STLDEBUG_OBJDIR_dynamic)\\" /YXstlport_prefix.h /Fp$(STLDEBUG_OBJDIR_dynamic)\stlport.pch -+ -+ -+LDFLAGS_DEBUG_static=$(LDFLAGS_COMMON_static) -+LDFLAGS_DEBUG_dynamic=$(LDFLAGS_COMMON_dynamic) $(LDFLAGS_DEBUG) /implib:"$(OUTDIR)\$(DEBUG_NAME).$(STEXT)" -+LDFLAGS_STLDEBUG_static=$(LDFLAGS_COMMON_static) -+LDFLAGS_STLDEBUG_dynamic=$(LDFLAGS_COMMON_dynamic) $(LDFLAGS_DEBUG) /implib:"$(OUTDIR)\$(STLDEBUG_NAME).$(STEXT)" -+ -+# LDFLAGS_DEBUG_static=$(LDFLAGS_COMMON_static) /DEBUGTYPE:CV -+# LDFLAGS_DEBUG_dynamic=$(LDFLAGS_COMMON_dynamic) /DEBUG /DEBUGTYPE:CV /implib:"$(OUTDIR)\$(DEBUG_NAME).$(STEXT)" -+# LDFLAGS_STLDEBUG_static=$(LDFLAGS_COMMON_static) /DEBUGTYPE:CV -+# LDFLAGS_STLDEBUG_dynamic=$(LDFLAGS_COMMON_dynamic) /DEBUG /DEBUGTYPE:CV /implib:"$(OUTDIR)\$(STLDEBUG_NAME).$(STEXT)" -+ -+CXXFLAGS_RELEASE_static=$(FLAGS_COMMON_static) /MT $(FLAGS_NDEBUG) /Fo"$(RELEASE_OBJDIR_static)\\" /Fd"$(RELEASE_OBJDIR_static)\\" /YXstlport_prefix.h /Fp$(RELEASE_OBJDIR_static)\stlport.pch -+ -+CXXFLAGS_RELEASE_staticx=$(FLAGS_COMMON_static) /MD $(FLAGS_NDEBUG) /Fo"$(RELEASE_OBJDIR_staticx)\\" /Fd"$(RELEASE_OBJDIR_staticx)\\" /YXstlport_prefix.h /Fp$(RELEASE_OBJDIR_staticx)\stlport.pch -+ -+CXXFLAGS_RELEASE_dynamic=$(FLAGS_COMMON_dynamic) /MD $(FLAGS_NDEBUG) /Fo"$(RELEASE_OBJDIR_dynamic)\\" /Fd"$(RELEASE_OBJDIR_dynamic)\\" /YXstlport_prefix.h /Fp$(RELEASE_OBJDIR_dynamic)\stlport.pch -+ -+LDFLAGS_RELEASE_static=$(LDFLAGS_COMMON_static) -+LDFLAGS_RELEASE_dynamic=$(LDFLAGS_COMMON_dynamic) $(LDFLAGS_RELEASE) /implib:"$(OUTDIR)\$(RELEASE_NAME).$(STEXT)" -+# LDFLAGS_RELEASE_dynamic=$(LDFLAGS_COMMON_dynamic) /implib:"$(OUTDIR)\$(RELEASE_NAME).$(STEXT)" -+ -+RESFILE=$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)stlport.res -+RESFILE_debug=$(DEBUG_OBJDIR_dynamic)$(PATH_SEP)stlport.res -+RESFILE_stldebug=$(STLDEBUG_OBJDIR_dynamic)$(PATH_SEP)stlport.res -+ -+ -+# -+# Rules -+# -+ -+!include common_rules.mak -+ -+!include nmake_common.mak -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/vc_warning_disable.h tripwire-2.3.1-2/src/STLport-4.0/src/vc_warning_disable.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/vc_warning_disable.h Sat Feb 24 10:44:16 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/vc_warning_disable.h Sun Aug 11 18:59:23 2002 -@@ -12,3 +12,12 @@ - #pragma warning( disable : 4670) // throwing class with private base class - #pragma warning( disable : 4018) // signed/unsigned mismatch - #pragma warning( disable : 4505 ) // unreferenced local function has been removed -+#pragma warning( disable : 4146 ) // unary minus applied to unsigned type -+#pragma warning( disable : 4244 ) // arithmetic conversion - possible loss of data -+#pragma warning( disable : 4290 ) // c++ exception specification ignored -+ -+// dwa 1/28/00 - actually I think this may indicate real bugs. We should look -+// into these -+#pragma warning( disable : 4018 ) // signed/unsigned mismatch -+#pragma warning( disable : 4251 ) // DLL interface needed -+#pragma warning( disable : 4284 ) // for -> operator -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/watcom-qnx.mak tripwire-2.3.1-2/src/STLport-4.0/src/watcom-qnx.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/watcom-qnx.mak Sat Feb 24 10:44:17 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/watcom-qnx.mak Sun Aug 11 18:59:23 2002 -@@ -23,19 +23,20 @@ - PATH_SEP=/ - MKDIR=mkdir -p - COMP=WATCOM -+INSTALL_STEP = install_unix - --all: all_dynamic all_static -+all: all_dynamic symbolic_links all_static - - CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} - - CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O2 - CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -O2 - --CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -g --CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -g -+CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -O -g -+CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -O -g - --CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D__STL_DEBUG --CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D__STL_DEBUG -+CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG -+CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG - - include common_percent_rules.mak - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/src/xlC50.mak tripwire-2.3.1-2/src/STLport-4.0/src/xlC50.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/src/xlC50.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/src/xlC50.mak Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,43 @@ -+# -+# compiler -+# -+CC = xlc_r -qcpluscmt -+CXX = xlC_r -qnotempinc -+ -+# -+# Basename for libraries -+# -+LIB_BASENAME = libstlport_xlC50 -+ -+# -+# guts for common stuff -+# -+# -+ -+LINK=ar crv -+ -+OBJEXT=o -+DYNEXT=so -+STEXT=a -+RM=rm -rf -+PATH_SEP=/ -+MKDIR=mkdir -p -+COMP=XLC50-AIX -+INSTALL_STEP = install_unix -+ -+# Alex Vanic, 07Aug2001, only want static libraries. -+all: all_static -+ -+include common_macros.mak -+ -+CXXFLAGS_COMMON = -I${STLPORT_DIR} -+ -+CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O2 -+ -+CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -O -g -+ -+CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG -+ -+include common_percent_rules.mak -+include common_rules.mak -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/cstring.h tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/cstring.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/cstring.h Sat Feb 24 10:44:26 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/cstring.h Sun Aug 11 18:59:23 2002 -@@ -1,54 +1,54 @@ --using __STL_VENDOR_CSTD::size_t; -+using _STLP_VENDOR_CSTD::size_t; - --# ifndef __STL_NO_CSTD_FUNCTION_IMPORTS -+# ifndef _STLP_NO_CSTD_FUNCTION_IMPORTS - # if defined(__MSL__) && __MC68K__ && !_No_BlockMove && __dest_os == __mac_os - # undef memcpy - # undef memmove - inline void* memcpy(void* dst, const void* src, size_t len) - { -- return __STL_VENDOR_CSTD::__memcpy(dst, src, len); -+ return _STLP_VENDOR_CSTD::__memcpy(dst, src, len); - } - inline void* memmove(void* dst, const void* src, size_t len) - { -- return __STL_VENDOR_CSTD::__memmove(dst, src, len); -+ return _STLP_VENDOR_CSTD::__memmove(dst, src, len); - } - # else - -- using __STL_VENDOR_CSTD::memmove; -- using __STL_VENDOR_CSTD::memcpy; -+ using _STLP_VENDOR_CSTD::memmove; -+ using _STLP_VENDOR_CSTD::memcpy; - - # endif - - # if ! defined (__BORLANDC__) --using __STL_VENDOR_CSTD::memchr; --using __STL_VENDOR_CSTD::strchr; --using __STL_VENDOR_CSTD::strpbrk; --using __STL_VENDOR_CSTD::strrchr; --using __STL_VENDOR_CSTD::strstr; -+using _STLP_VENDOR_CSTD::memchr; -+using _STLP_VENDOR_CSTD::strchr; -+using _STLP_VENDOR_CSTD::strpbrk; -+using _STLP_VENDOR_CSTD::strrchr; -+using _STLP_VENDOR_CSTD::strstr; - # endif - --using __STL_VENDOR_CSTD::memcmp; --using __STL_VENDOR_CSTD::memset; -+using _STLP_VENDOR_CSTD::memcmp; -+using _STLP_VENDOR_CSTD::memset; - --using __STL_VENDOR_CSTD::strcat; -+using _STLP_VENDOR_CSTD::strcat; - - # if !defined (strcmp) --using __STL_VENDOR_CSTD::strcmp; -+using _STLP_VENDOR_CSTD::strcmp; - # endif - --using __STL_VENDOR_CSTD::strcoll; -+using _STLP_VENDOR_CSTD::strcoll; - # if !defined (strcpy) --using __STL_VENDOR_CSTD::strcpy; -+using _STLP_VENDOR_CSTD::strcpy; - # endif --using __STL_VENDOR_CSTD::strcspn; --using __STL_VENDOR_CSTD::strerror; --using __STL_VENDOR_CSTD::strlen; --using __STL_VENDOR_CSTD::strncat; --using __STL_VENDOR_CSTD::strncmp; -- --using __STL_VENDOR_CSTD::strncpy; --using __STL_VENDOR_CSTD::strspn; -- --using __STL_VENDOR_CSTD::strtok; --using __STL_VENDOR_CSTD::strxfrm; --# endif /* __STL_NO_CSTD_FUNCTION_IMPORTS */ -+using _STLP_VENDOR_CSTD::strcspn; -+using _STLP_VENDOR_CSTD::strerror; -+using _STLP_VENDOR_CSTD::strlen; -+using _STLP_VENDOR_CSTD::strncat; -+using _STLP_VENDOR_CSTD::strncmp; -+ -+using _STLP_VENDOR_CSTD::strncpy; -+using _STLP_VENDOR_CSTD::strspn; -+ -+using _STLP_VENDOR_CSTD::strtok; -+using _STLP_VENDOR_CSTD::strxfrm; -+# endif /* _STLP_NO_CSTD_FUNCTION_IMPORTS */ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/fstream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/fstream.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/fstream.h Sat Feb 24 10:44:26 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/fstream.h Sun Aug 11 18:59:23 2002 -@@ -1,19 +1,19 @@ --#ifdef __STL_BROKEN_USING_DIRECTIVE --using namespace __STLPORT_STD; -+#ifdef _STLP_BROKEN_USING_DIRECTIVE -+using namespace _STLP_STD; - #else --using __STL_NEW_IO_NAMESPACE::basic_filebuf; --using __STL_NEW_IO_NAMESPACE::filebuf; --using __STL_NEW_IO_NAMESPACE::basic_ifstream; --using __STL_NEW_IO_NAMESPACE::basic_ofstream; --using __STL_NEW_IO_NAMESPACE::ifstream; --using __STL_NEW_IO_NAMESPACE::ofstream; --using __STL_NEW_IO_NAMESPACE::basic_fstream; --using __STL_NEW_IO_NAMESPACE::fstream; -+using _STLP_NEW_IO_NAMESPACE::basic_filebuf; -+using _STLP_NEW_IO_NAMESPACE::filebuf; -+using _STLP_NEW_IO_NAMESPACE::basic_ifstream; -+using _STLP_NEW_IO_NAMESPACE::basic_ofstream; -+using _STLP_NEW_IO_NAMESPACE::ifstream; -+using _STLP_NEW_IO_NAMESPACE::ofstream; -+using _STLP_NEW_IO_NAMESPACE::basic_fstream; -+using _STLP_NEW_IO_NAMESPACE::fstream; - --# ifndef __STL_NO_WIDE_STREAMS --using __STL_NEW_IO_NAMESPACE::wofstream; --using __STL_NEW_IO_NAMESPACE::wfilebuf; --using __STL_NEW_IO_NAMESPACE::wifstream; --using __STL_NEW_IO_NAMESPACE::wfstream; -+# ifndef _STLP_NO_WIDE_STREAMS -+using _STLP_NEW_IO_NAMESPACE::wofstream; -+using _STLP_NEW_IO_NAMESPACE::wfilebuf; -+using _STLP_NEW_IO_NAMESPACE::wifstream; -+using _STLP_NEW_IO_NAMESPACE::wfstream; - # endif --#endif -\ No newline at end of file -+#endif -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/iomanip.h tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/iomanip.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/iomanip.h Sat Feb 24 10:44:26 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/iomanip.h Sun Aug 11 18:59:23 2002 -@@ -1,6 +1,6 @@ --using __STL_NEW_IO_NAMESPACE::setiosflags; --using __STL_NEW_IO_NAMESPACE::resetiosflags; --using __STL_NEW_IO_NAMESPACE::setbase; --using __STL_NEW_IO_NAMESPACE::setfill; --using __STL_NEW_IO_NAMESPACE::setprecision; --using __STL_NEW_IO_NAMESPACE::setw; -+using _STLP_NEW_IO_NAMESPACE::setiosflags; -+using _STLP_NEW_IO_NAMESPACE::resetiosflags; -+using _STLP_NEW_IO_NAMESPACE::setbase; -+using _STLP_NEW_IO_NAMESPACE::setfill; -+using _STLP_NEW_IO_NAMESPACE::setprecision; -+using _STLP_NEW_IO_NAMESPACE::setw; -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/ios.h tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/ios.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/ios.h Sat Feb 24 10:44:26 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/ios.h Sun Aug 11 18:59:23 2002 -@@ -1,41 +1,41 @@ --# ifdef __STL_BROKEN_USING_DIRECTIVE --using namespace __STL_NEW_IO_NAMESPACE; -+# ifdef _STLP_BROKEN_USING_DIRECTIVE -+using namespace _STLP_NEW_IO_NAMESPACE; - # else - --using __STL_NEW_IO_NAMESPACE::ios; --using __STL_NEW_IO_NAMESPACE::streamoff; --using __STL_NEW_IO_NAMESPACE::streamsize; -+using _STLP_NEW_IO_NAMESPACE::ios; -+using _STLP_NEW_IO_NAMESPACE::streamoff; -+using _STLP_NEW_IO_NAMESPACE::streamsize; - --using __STL_NEW_IO_NAMESPACE::ios_base; --using __STL_NEW_IO_NAMESPACE::basic_ios; -+using _STLP_NEW_IO_NAMESPACE::ios_base; -+using _STLP_NEW_IO_NAMESPACE::basic_ios; - - // _lib.std.ios.manip_, manipulators: --using __STL_NEW_IO_NAMESPACE::boolalpha; --using __STL_NEW_IO_NAMESPACE::noboolalpha; --using __STL_NEW_IO_NAMESPACE::showbase; --using __STL_NEW_IO_NAMESPACE::noshowbase; --using __STL_NEW_IO_NAMESPACE::showpoint; --using __STL_NEW_IO_NAMESPACE::noshowpoint; --using __STL_NEW_IO_NAMESPACE::showpos; --using __STL_NEW_IO_NAMESPACE::noshowpos; --using __STL_NEW_IO_NAMESPACE::skipws; --using __STL_NEW_IO_NAMESPACE::noskipws; --using __STL_NEW_IO_NAMESPACE::uppercase; --using __STL_NEW_IO_NAMESPACE::nouppercase; -+using _STLP_NEW_IO_NAMESPACE::boolalpha; -+using _STLP_NEW_IO_NAMESPACE::noboolalpha; -+using _STLP_NEW_IO_NAMESPACE::showbase; -+using _STLP_NEW_IO_NAMESPACE::noshowbase; -+using _STLP_NEW_IO_NAMESPACE::showpoint; -+using _STLP_NEW_IO_NAMESPACE::noshowpoint; -+using _STLP_NEW_IO_NAMESPACE::showpos; -+using _STLP_NEW_IO_NAMESPACE::noshowpos; -+using _STLP_NEW_IO_NAMESPACE::skipws; -+using _STLP_NEW_IO_NAMESPACE::noskipws; -+using _STLP_NEW_IO_NAMESPACE::uppercase; -+using _STLP_NEW_IO_NAMESPACE::nouppercase; - - // _lib.adjustfield.manip_ adjustfield: --using __STL_NEW_IO_NAMESPACE::internal; --using __STL_NEW_IO_NAMESPACE::left; --using __STL_NEW_IO_NAMESPACE::right; -+using _STLP_NEW_IO_NAMESPACE::internal; -+using _STLP_NEW_IO_NAMESPACE::left; -+using _STLP_NEW_IO_NAMESPACE::right; - - // _lib.basefield.manip_ basefield: --using __STL_NEW_IO_NAMESPACE::dec; --using __STL_NEW_IO_NAMESPACE::hex; --using __STL_NEW_IO_NAMESPACE::oct; -+using _STLP_NEW_IO_NAMESPACE::dec; -+using _STLP_NEW_IO_NAMESPACE::hex; -+using _STLP_NEW_IO_NAMESPACE::oct; - - // _lib.floatfield.manip_ floatfield: --using __STL_NEW_IO_NAMESPACE::fixed; --using __STL_NEW_IO_NAMESPACE::scientific; -+using _STLP_NEW_IO_NAMESPACE::fixed; -+using _STLP_NEW_IO_NAMESPACE::scientific; - --# endif /* __STL_BROKEN_USING_DIRECTIVE */ -+# endif /* _STLP_BROKEN_USING_DIRECTIVE */ - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/iosfwd.h tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/iosfwd.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/iosfwd.h Sat Feb 24 10:44:27 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/iosfwd.h Sun Aug 11 18:59:23 2002 -@@ -1,54 +1,54 @@ --# if defined (__STL_USE_NEW_IOSTREAMS) --using __STL_NEW_IO_NAMESPACE::char_traits; --using __STL_NEW_IO_NAMESPACE::basic_ios; --using __STL_NEW_IO_NAMESPACE::basic_streambuf; --using __STL_NEW_IO_NAMESPACE::basic_istream; --using __STL_NEW_IO_NAMESPACE::basic_ostream; --using __STL_NEW_IO_NAMESPACE::basic_iostream; --using __STL_NEW_IO_NAMESPACE::basic_stringbuf; --using __STL_NEW_IO_NAMESPACE::basic_istringstream; --using __STL_NEW_IO_NAMESPACE::basic_ostringstream; --using __STL_NEW_IO_NAMESPACE::basic_stringstream; --using __STL_NEW_IO_NAMESPACE::basic_filebuf; --using __STL_NEW_IO_NAMESPACE::basic_ifstream; --using __STL_NEW_IO_NAMESPACE::basic_ofstream; --using __STL_NEW_IO_NAMESPACE::basic_fstream; --using __STL_NEW_IO_NAMESPACE::fpos; --using __STL_NEW_IO_NAMESPACE::istreambuf_iterator; --using __STL_NEW_IO_NAMESPACE::ostreambuf_iterator; --using __STL_NEW_IO_NAMESPACE::stringbuf; --using __STL_NEW_IO_NAMESPACE::istringstream; --using __STL_NEW_IO_NAMESPACE::ostringstream; --using __STL_NEW_IO_NAMESPACE::stringstream; -+# if defined (_STLP_USE_NEW_IOSTREAMS) -+using _STLP_NEW_IO_NAMESPACE::char_traits; -+using _STLP_NEW_IO_NAMESPACE::basic_ios; -+using _STLP_NEW_IO_NAMESPACE::basic_streambuf; -+using _STLP_NEW_IO_NAMESPACE::basic_istream; -+using _STLP_NEW_IO_NAMESPACE::basic_ostream; -+using _STLP_NEW_IO_NAMESPACE::basic_iostream; -+using _STLP_NEW_IO_NAMESPACE::basic_stringbuf; -+using _STLP_NEW_IO_NAMESPACE::basic_istringstream; -+using _STLP_NEW_IO_NAMESPACE::basic_ostringstream; -+using _STLP_NEW_IO_NAMESPACE::basic_stringstream; -+using _STLP_NEW_IO_NAMESPACE::basic_filebuf; -+using _STLP_NEW_IO_NAMESPACE::basic_ifstream; -+using _STLP_NEW_IO_NAMESPACE::basic_ofstream; -+using _STLP_NEW_IO_NAMESPACE::basic_fstream; -+using _STLP_NEW_IO_NAMESPACE::fpos; -+using _STLP_NEW_IO_NAMESPACE::istreambuf_iterator; -+using _STLP_NEW_IO_NAMESPACE::ostreambuf_iterator; -+using _STLP_NEW_IO_NAMESPACE::stringbuf; -+using _STLP_NEW_IO_NAMESPACE::istringstream; -+using _STLP_NEW_IO_NAMESPACE::ostringstream; -+using _STLP_NEW_IO_NAMESPACE::stringstream; - # endif - --using __STL_NEW_IO_NAMESPACE::ios; --using __STL_NEW_IO_NAMESPACE::streambuf; --using __STL_NEW_IO_NAMESPACE::istream; --using __STL_NEW_IO_NAMESPACE::ostream; --using __STL_NEW_IO_NAMESPACE::iostream; -+using _STLP_NEW_IO_NAMESPACE::ios; -+using _STLP_NEW_IO_NAMESPACE::streambuf; -+using _STLP_NEW_IO_NAMESPACE::istream; -+using _STLP_NEW_IO_NAMESPACE::ostream; -+using _STLP_NEW_IO_NAMESPACE::iostream; - --using __STL_NEW_IO_NAMESPACE::filebuf; --using __STL_NEW_IO_NAMESPACE::ifstream; --using __STL_NEW_IO_NAMESPACE::ofstream; --using __STL_NEW_IO_NAMESPACE::fstream; -+using _STLP_NEW_IO_NAMESPACE::filebuf; -+using _STLP_NEW_IO_NAMESPACE::ifstream; -+using _STLP_NEW_IO_NAMESPACE::ofstream; -+using _STLP_NEW_IO_NAMESPACE::fstream; - --using __STL_NEW_IO_NAMESPACE::streampos; --using __STL_NEW_IO_NAMESPACE::streamoff; -+using _STLP_NEW_IO_NAMESPACE::streampos; -+using _STLP_NEW_IO_NAMESPACE::streamoff; - --# if !defined (__STL_NO_WIDE_STREAMS) --using __STL_NEW_IO_NAMESPACE::wios; --using __STL_NEW_IO_NAMESPACE::wstreambuf; --using __STL_NEW_IO_NAMESPACE::wistream; --using __STL_NEW_IO_NAMESPACE::wostream; --using __STL_NEW_IO_NAMESPACE::wiostream; --using __STL_NEW_IO_NAMESPACE::wstringbuf; --using __STL_NEW_IO_NAMESPACE::wistringstream; --using __STL_NEW_IO_NAMESPACE::wostringstream; --using __STL_NEW_IO_NAMESPACE::wstringstream; --using __STL_NEW_IO_NAMESPACE::wfilebuf; --using __STL_NEW_IO_NAMESPACE::wifstream; --using __STL_NEW_IO_NAMESPACE::wofstream; --using __STL_NEW_IO_NAMESPACE::wfstream; --using __STL_NEW_IO_NAMESPACE::wstreampos; -+# if !defined (_STLP_NO_WIDE_STREAMS) -+using _STLP_NEW_IO_NAMESPACE::wios; -+using _STLP_NEW_IO_NAMESPACE::wstreambuf; -+using _STLP_NEW_IO_NAMESPACE::wistream; -+using _STLP_NEW_IO_NAMESPACE::wostream; -+using _STLP_NEW_IO_NAMESPACE::wiostream; -+using _STLP_NEW_IO_NAMESPACE::wstringbuf; -+using _STLP_NEW_IO_NAMESPACE::wistringstream; -+using _STLP_NEW_IO_NAMESPACE::wostringstream; -+using _STLP_NEW_IO_NAMESPACE::wstringstream; -+using _STLP_NEW_IO_NAMESPACE::wfilebuf; -+using _STLP_NEW_IO_NAMESPACE::wifstream; -+using _STLP_NEW_IO_NAMESPACE::wofstream; -+using _STLP_NEW_IO_NAMESPACE::wfstream; -+using _STLP_NEW_IO_NAMESPACE::wstreampos; - # endif -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/iostream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/iostream.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/iostream.h Sat Feb 24 10:44:27 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/iostream.h Sun Aug 11 18:59:23 2002 -@@ -1,11 +1,11 @@ --using __STL_VENDOR_STD::cin; --using __STL_VENDOR_STD::cout; --using __STL_VENDOR_STD::cerr; --using __STL_VENDOR_STD::clog; -+using _STLP_VENDOR_STD::cin; -+using _STLP_VENDOR_STD::cout; -+using _STLP_VENDOR_STD::cerr; -+using _STLP_VENDOR_STD::clog; - --# if ! defined (__STL_NO_WIDE_STREAMS) --using __STL_VENDOR_STD::wcin; --using __STL_VENDOR_STD::wcout; --using __STL_VENDOR_STD::wcerr; --using __STL_VENDOR_STD::wclog; -+# if ! defined (_STLP_NO_WIDE_STREAMS) -+using _STLP_VENDOR_STD::wcin; -+using _STLP_VENDOR_STD::wcout; -+using _STLP_VENDOR_STD::wcerr; -+using _STLP_VENDOR_STD::wclog; - # endif -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/istream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/istream.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/istream.h Sat Feb 24 10:44:27 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/istream.h Sun Aug 11 18:59:23 2002 -@@ -1,15 +1,15 @@ - --using __STL_NEW_IO_NAMESPACE::basic_istream; --using __STL_NEW_IO_NAMESPACE::basic_iostream; -+using _STLP_NEW_IO_NAMESPACE::basic_istream; -+using _STLP_NEW_IO_NAMESPACE::basic_iostream; - --using __STL_NEW_IO_NAMESPACE::istream; --using __STL_NEW_IO_NAMESPACE::iostream; -+using _STLP_NEW_IO_NAMESPACE::istream; -+using _STLP_NEW_IO_NAMESPACE::iostream; - --# if !defined (__STL_NO_NATIVE_WIDE_STREAMS) --using __STL_NEW_IO_NAMESPACE::wistream; --using __STL_NEW_IO_NAMESPACE::wiostream; -+# if !defined (_STLP_NO_NATIVE_WIDE_STREAMS) -+using _STLP_NEW_IO_NAMESPACE::wistream; -+using _STLP_NEW_IO_NAMESPACE::wiostream; - # endif - --#if !(defined (__STL_MSVC) && (__STL_MSVC < 1200)) --using __STL_NEW_IO_NAMESPACE::ws; -+#if !(defined (_STLP_MSVC) && (_STLP_MSVC < 1200)) -+using _STLP_NEW_IO_NAMESPACE::ws; - #endif -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/locale.h tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/locale.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/locale.h Sat Feb 24 10:44:27 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/locale.h Sun Aug 11 18:59:23 2002 -@@ -1,62 +1,62 @@ - // from --#if !defined (__STL_NO_MBSTATE_T) --using __STL_VENDOR_MB_NAMESPACE::mbstate_t; -+#if !defined (_STLP_NO_MBSTATE_T) -+using _STLP_VENDOR_MB_NAMESPACE::mbstate_t; - #endif - - // _lib.locale_, locale: --using __STL_NEW_IO_NAMESPACE::locale; --using __STL_NEW_IO_NAMESPACE::use_facet; --using __STL_NEW_IO_NAMESPACE::has_facet; -+using _STLP_NEW_IO_NAMESPACE::locale; -+using _STLP_NEW_IO_NAMESPACE::use_facet; -+using _STLP_NEW_IO_NAMESPACE::has_facet; - - // _lib.locale.convenience_, convenience interfaces: --using __STL_NEW_IO_NAMESPACE::isspace; --using __STL_NEW_IO_NAMESPACE::isprint; --using __STL_NEW_IO_NAMESPACE::iscntrl; --using __STL_NEW_IO_NAMESPACE::isupper; --using __STL_NEW_IO_NAMESPACE::islower; --using __STL_NEW_IO_NAMESPACE::isalpha; --using __STL_NEW_IO_NAMESPACE::isdigit; --using __STL_NEW_IO_NAMESPACE::ispunct; --using __STL_NEW_IO_NAMESPACE::isxdigit; --using __STL_NEW_IO_NAMESPACE::isalnum; --using __STL_NEW_IO_NAMESPACE::isgraph; --using __STL_NEW_IO_NAMESPACE::toupper; --using __STL_NEW_IO_NAMESPACE::tolower; -+using _STLP_NEW_IO_NAMESPACE::isspace; -+using _STLP_NEW_IO_NAMESPACE::isprint; -+using _STLP_NEW_IO_NAMESPACE::iscntrl; -+using _STLP_NEW_IO_NAMESPACE::isupper; -+using _STLP_NEW_IO_NAMESPACE::islower; -+using _STLP_NEW_IO_NAMESPACE::isalpha; -+using _STLP_NEW_IO_NAMESPACE::isdigit; -+using _STLP_NEW_IO_NAMESPACE::ispunct; -+using _STLP_NEW_IO_NAMESPACE::isxdigit; -+using _STLP_NEW_IO_NAMESPACE::isalnum; -+using _STLP_NEW_IO_NAMESPACE::isgraph; -+using _STLP_NEW_IO_NAMESPACE::toupper; -+using _STLP_NEW_IO_NAMESPACE::tolower; - - // _lib.category.ctype_ and _lib.facet.ctype.special_, ctype: --using __STL_NEW_IO_NAMESPACE::ctype_base; --using __STL_NEW_IO_NAMESPACE::ctype; --using __STL_NEW_IO_NAMESPACE::ctype_byname; --using __STL_NEW_IO_NAMESPACE::codecvt_base; --using __STL_NEW_IO_NAMESPACE::codecvt; --using __STL_NEW_IO_NAMESPACE::codecvt_byname; -+using _STLP_NEW_IO_NAMESPACE::ctype_base; -+using _STLP_NEW_IO_NAMESPACE::ctype; -+using _STLP_NEW_IO_NAMESPACE::ctype_byname; -+using _STLP_NEW_IO_NAMESPACE::codecvt_base; -+using _STLP_NEW_IO_NAMESPACE::codecvt; -+using _STLP_NEW_IO_NAMESPACE::codecvt_byname; - - // _lib.category.numeric_ and _lib.facet.numpunct_, numeric: --using __STL_NEW_IO_NAMESPACE::num_get; --using __STL_NEW_IO_NAMESPACE::num_put; --using __STL_NEW_IO_NAMESPACE::numpunct; --using __STL_NEW_IO_NAMESPACE::numpunct_byname; -+using _STLP_NEW_IO_NAMESPACE::num_get; -+using _STLP_NEW_IO_NAMESPACE::num_put; -+using _STLP_NEW_IO_NAMESPACE::numpunct; -+using _STLP_NEW_IO_NAMESPACE::numpunct_byname; - - // _lib.category.collate_, collation: --using __STL_NEW_IO_NAMESPACE::collate; --using __STL_NEW_IO_NAMESPACE::collate_byname; -+using _STLP_NEW_IO_NAMESPACE::collate; -+using _STLP_NEW_IO_NAMESPACE::collate_byname; - - // _lib.category.time_, date and time: --using __STL_NEW_IO_NAMESPACE::time_base; --using __STL_NEW_IO_NAMESPACE::time_get; --using __STL_NEW_IO_NAMESPACE::time_get_byname; --using __STL_NEW_IO_NAMESPACE::time_put; --using __STL_NEW_IO_NAMESPACE::time_put_byname; -+using _STLP_NEW_IO_NAMESPACE::time_base; -+using _STLP_NEW_IO_NAMESPACE::time_get; -+using _STLP_NEW_IO_NAMESPACE::time_get_byname; -+using _STLP_NEW_IO_NAMESPACE::time_put; -+using _STLP_NEW_IO_NAMESPACE::time_put_byname; - - // _lib.category.monetary_, money: --using __STL_NEW_IO_NAMESPACE::money_base; --using __STL_NEW_IO_NAMESPACE::money_get; --using __STL_NEW_IO_NAMESPACE::money_put; --using __STL_NEW_IO_NAMESPACE::moneypunct; --using __STL_NEW_IO_NAMESPACE::moneypunct_byname; -- --#if !defined (__SGI_STL_OWN_IOSTREAMS) && !defined (__STL_NO_NATIVE_MESSAGE_FACET) --using __STL_NEW_IO_NAMESPACE::messages_base; --using __STL_NEW_IO_NAMESPACE::messages; --using __STL_NEW_IO_NAMESPACE::messages_byname; -+using _STLP_NEW_IO_NAMESPACE::money_base; -+using _STLP_NEW_IO_NAMESPACE::money_get; -+using _STLP_NEW_IO_NAMESPACE::money_put; -+using _STLP_NEW_IO_NAMESPACE::moneypunct; -+using _STLP_NEW_IO_NAMESPACE::moneypunct_byname; -+ -+#if !defined (_STLP_OWN_IOSTREAMS) && !defined (_STLP_NO_NATIVE_MESSAGE_FACET) -+using _STLP_NEW_IO_NAMESPACE::messages_base; -+using _STLP_NEW_IO_NAMESPACE::messages; -+using _STLP_NEW_IO_NAMESPACE::messages_byname; - #endif // _MSL_NO_MESSAGE_FACET -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/ostream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/ostream.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/ostream.h Sat Feb 24 10:44:27 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/ostream.h Sun Aug 11 18:59:23 2002 -@@ -1,10 +1,10 @@ --using __STL_NEW_IO_NAMESPACE::basic_ostream; --using __STL_NEW_IO_NAMESPACE::ostream; -+using _STLP_NEW_IO_NAMESPACE::basic_ostream; -+using _STLP_NEW_IO_NAMESPACE::ostream; - --# ifndef __STL_NO_WIDE_STREAMS --using __STL_NEW_IO_NAMESPACE::wostream; -+# ifndef _STLP_NO_WIDE_STREAMS -+using _STLP_NEW_IO_NAMESPACE::wostream; - # endif - --using __STL_NEW_IO_NAMESPACE::endl; --using __STL_NEW_IO_NAMESPACE::ends; --using __STL_NEW_IO_NAMESPACE::flush; -+using _STLP_NEW_IO_NAMESPACE::endl; -+using _STLP_NEW_IO_NAMESPACE::ends; -+using _STLP_NEW_IO_NAMESPACE::flush; -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/sstream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/sstream.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/sstream.h Sat Feb 24 10:44:27 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/sstream.h Sun Aug 11 18:59:23 2002 -@@ -1,16 +1,16 @@ --using __STL_NEW_IO_NAMESPACE::basic_stringbuf; --using __STL_NEW_IO_NAMESPACE::stringbuf; -+using _STLP_NEW_IO_NAMESPACE::basic_stringbuf; -+using _STLP_NEW_IO_NAMESPACE::stringbuf; - --using __STL_NEW_IO_NAMESPACE::basic_istringstream; --using __STL_NEW_IO_NAMESPACE::basic_ostringstream; --using __STL_NEW_IO_NAMESPACE::basic_stringstream; --using __STL_NEW_IO_NAMESPACE::istringstream; --using __STL_NEW_IO_NAMESPACE::ostringstream; --using __STL_NEW_IO_NAMESPACE::stringstream; -+using _STLP_NEW_IO_NAMESPACE::basic_istringstream; -+using _STLP_NEW_IO_NAMESPACE::basic_ostringstream; -+using _STLP_NEW_IO_NAMESPACE::basic_stringstream; -+using _STLP_NEW_IO_NAMESPACE::istringstream; -+using _STLP_NEW_IO_NAMESPACE::ostringstream; -+using _STLP_NEW_IO_NAMESPACE::stringstream; - --#ifndef __STL_NO_WIDE_STREAMS --using __STL_NEW_IO_NAMESPACE::wstringbuf; --using __STL_NEW_IO_NAMESPACE::wistringstream; --using __STL_NEW_IO_NAMESPACE::wostringstream; --using __STL_NEW_IO_NAMESPACE::wstringstream; -+#ifndef _STLP_NO_WIDE_STREAMS -+using _STLP_NEW_IO_NAMESPACE::wstringbuf; -+using _STLP_NEW_IO_NAMESPACE::wistringstream; -+using _STLP_NEW_IO_NAMESPACE::wostringstream; -+using _STLP_NEW_IO_NAMESPACE::wstringstream; - #endif -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/streambuf.h tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/streambuf.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/streambuf.h Sat Feb 24 10:44:27 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/streambuf.h Sun Aug 11 18:59:23 2002 -@@ -1,5 +1,5 @@ --using __STL_NEW_IO_NAMESPACE::basic_streambuf; --using __STL_NEW_IO_NAMESPACE::streambuf; --#ifndef __STL_NO_WIDE_STREAMS --using __STL_NEW_IO_NAMESPACE::wstreambuf; -+using _STLP_NEW_IO_NAMESPACE::basic_streambuf; -+using _STLP_NEW_IO_NAMESPACE::streambuf; -+#ifndef _STLP_NO_WIDE_STREAMS -+using _STLP_NEW_IO_NAMESPACE::wstreambuf; - # endif -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/strstream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/strstream.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/BC50/using/strstream.h Sat Feb 24 10:44:27 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/BC50/using/strstream.h Sun Aug 11 18:59:23 2002 -@@ -1,4 +1,4 @@ --using __STL_NEW_IO_NAMESPACE::strstreambuf; --using __STL_NEW_IO_NAMESPACE::istrstream; --using __STL_NEW_IO_NAMESPACE::ostrstream; --using __STL_NEW_IO_NAMESPACE::strstream; -+using _STLP_NEW_IO_NAMESPACE::strstreambuf; -+using _STLP_NEW_IO_NAMESPACE::istrstream; -+using _STLP_NEW_IO_NAMESPACE::ostrstream; -+using _STLP_NEW_IO_NAMESPACE::strstream; -Only in tripwire-2.3.1-2.old/src/STLport-4.0/stlport/SC5: README -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/algorithm tripwire-2.3.1-2/src/STLport-4.0/stlport/algorithm ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/algorithm Sat Feb 24 10:44:21 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/algorithm Sun Aug 11 18:59:23 2002 -@@ -23,51 +23,33 @@ - * - */ - --#ifndef __SGI_STL_ALGORITHM --#define __SGI_STL_ALGORITHM -+#ifndef _STLP_ALGORITHM -+#define _STLP_ALGORITHM - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x1 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x1 - # include - # endif - --#ifndef __SGI_STL_INTERNAL_ALGOBASE_H --# include --#endif -- --# if ! defined (__STL_USE_NAMESPACES) -+# if ! defined (_STLP_USE_NAMESPACES) - // remove() conflicts, should always go first - # include - # endif - --# ifndef __SGI_STL_INTERNAL_ALGO_H -+# ifndef _STLP_INTERNAL_ALGO_H - # include - # endif - --#if defined (__STL_IMPORT_VENDOR_STD) -- --# if defined(__MSL__) && ( __MSL__ < 0x5201 ) // dwa 2/28/99 - help MSL get its own headers and prevent it from including ours --# include __STL_NATIVE_HEADER(algobase.h) --# ifndef __SGI_STL_ALGOBASE_H --# define __SGI_STL_ALGOBASE_H --# endif --# include __STL_NATIVE_HEADER(heap.h) --# ifndef __SGI_STL_HEAP_H --# define __SGI_STL_HEAP_H --# endif --# endif -- --# include __STL_NATIVE_HEADER(algorithm) -- --#endif /* __STL_IMPORT_VENDOR_STD */ -- -+#if defined (_STLP_IMPORT_VENDOR_STD) -+# include _STLP_NATIVE_HEADER(algorithm) -+#endif /* _STLP_IMPORT_VENDOR_STD */ - --# if (__STL_OUTERMOST_HEADER_ID == 0x1 ) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x1 ) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_ALGORITHM */ -+#endif /* _STLP_ALGORITHM */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/bitset tripwire-2.3.1-2/src/STLport-4.0/stlport/bitset ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/bitset Sat Feb 24 10:44:21 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/bitset Sun Aug 11 18:59:23 2002 -@@ -16,8 +16,8 @@ - * - */ - --#ifndef __SGI_STL_BITSET --#define __SGI_STL_BITSET -+#ifndef _STLP_BITSET -+#define _STLP_BITSET - - // This implementation of bitset<> has a second template parameter, - // _WordT, which defaults to unsigned long. *YOU SHOULD NOT USE -@@ -39,23 +39,19 @@ - // to test(), except that it does no range checking. The non-const version - // returns a reference to a bit, again without doing any range checking. - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x2 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x2 - # include - # endif - - # include - --#if defined (__STL_WHOLE_NATIVE_STD) --# include __STL_NATIVE_HEADER(bitset) --#endif -- --# if (__STL_OUTERMOST_HEADER_ID == 0x2 ) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x2 ) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_BITSET */ -+#endif /* _STLP_BITSET */ - - - // Local Variables: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cassert tripwire-2.3.1-2/src/STLport-4.0/stlport/cassert ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cassert Sat Feb 24 10:44:21 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/cassert Sun Aug 11 18:59:23 2002 -@@ -13,26 +13,26 @@ - * - */ - --#ifndef __STLPORT_CASSERT --# define __STLPORT_CASSERT -+#ifndef _STLP_CASSERT -+# define _STLP_CASSERT - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x103 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x103 - # include - # endif - --# if defined (__STL_USE_NEW_C_HEADERS) || defined (__IN_STLPORT_CASSERT) --# include __STL_NATIVE_CPP_C_HEADER(cassert) --# else -+# if defined (_STLP_USE_NEW_C_HEADERS) || defined (__IN_STLPORT_CASSERT) -+# include _STLP_NATIVE_CPP_C_HEADER(cassert) -+# elif !defined(_STLP_WINCE) - # include - # endif - --# if (__STL_OUTERMOST_HEADER_ID == 0x103 ) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x103 ) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __STLPORT_CASSERT */ -+#endif /* _STLP_CASSERT */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cctype tripwire-2.3.1-2/src/STLport-4.0/stlport/cctype ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cctype Sat Feb 24 10:44:21 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/cctype Sun Aug 11 18:59:23 2002 -@@ -13,17 +13,17 @@ - * - */ - --#ifndef __STLPORT_CCTYPE --# define __STLPORT_CCTYPE -+#ifndef _STLP_CCTYPE -+# define _STLP_CCTYPE - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x104 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x104 - # include - # endif - --# if defined (__STL_USE_NEW_C_HEADERS) -+# if defined (_STLP_USE_NEW_C_HEADERS) - --# include __STL_NATIVE_CPP_C_HEADER(cctype) -+# include _STLP_NATIVE_CPP_C_HEADER(cctype) - - # else - -@@ -44,34 +44,34 @@ - #undef toupper - #undef tolower - --# endif /* __STL_USE_NEW_C_HEADERS */ -+# endif /* _STLP_USE_NEW_C_HEADERS */ - --# if ! defined (__STL_NO_CSTD_FUNCTION_IMPORTS) --# if defined ( __STL_IMPORT_VENDOR_CSTD ) --__STL_BEGIN_NAMESPACE --using __STL_VENDOR_CSTD::isalnum; --using __STL_VENDOR_CSTD::isalpha; --using __STL_VENDOR_CSTD::iscntrl; --using __STL_VENDOR_CSTD::isdigit; --using __STL_VENDOR_CSTD::isgraph; --using __STL_VENDOR_CSTD::islower; --using __STL_VENDOR_CSTD::isprint; --using __STL_VENDOR_CSTD::ispunct; --using __STL_VENDOR_CSTD::isspace; --using __STL_VENDOR_CSTD::isupper; --using __STL_VENDOR_CSTD::isxdigit; --using __STL_VENDOR_CSTD::tolower; --using __STL_VENDOR_CSTD::toupper; --__STL_END_NAMESPACE --# endif /* __STL_IMPORT_VENDOR_CSTD*/ --# endif /* __STL_NO_CSTD_FUNCTION_IMPORTS */ -+# if ! defined (_STLP_NO_CSTD_FUNCTION_IMPORTS) -+# if defined ( _STLP_IMPORT_VENDOR_CSTD ) -+_STLP_BEGIN_NAMESPACE -+using _STLP_VENDOR_CSTD::isalnum; -+using _STLP_VENDOR_CSTD::isalpha; -+using _STLP_VENDOR_CSTD::iscntrl; -+using _STLP_VENDOR_CSTD::isdigit; -+using _STLP_VENDOR_CSTD::isgraph; -+using _STLP_VENDOR_CSTD::islower; -+using _STLP_VENDOR_CSTD::isprint; -+using _STLP_VENDOR_CSTD::ispunct; -+using _STLP_VENDOR_CSTD::isspace; -+using _STLP_VENDOR_CSTD::isupper; -+using _STLP_VENDOR_CSTD::isxdigit; -+using _STLP_VENDOR_CSTD::tolower; -+using _STLP_VENDOR_CSTD::toupper; -+_STLP_END_NAMESPACE -+# endif /* _STLP_IMPORT_VENDOR_CSTD*/ -+# endif /* _STLP_NO_CSTD_FUNCTION_IMPORTS */ - --# if (__STL_OUTERMOST_HEADER_ID == 0x104 ) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x104 ) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __STLPORT_CCTYPE */ -+#endif /* _STLP_CCTYPE */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cerrno tripwire-2.3.1-2/src/STLport-4.0/stlport/cerrno ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cerrno Sat Feb 24 10:44:21 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/cerrno Sun Aug 11 18:59:23 2002 -@@ -13,36 +13,40 @@ - * - */ - --#ifndef __STLPORT_CERRNO --# define __STLPORT_CERRNO -+#ifndef _STLP_CERRNO -+# define _STLP_CERRNO - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x105 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x105 - # include - # endif - --# if defined (__STL_USE_NEW_C_HEADERS) --# include __STL_NATIVE_CPP_C_HEADER(cerrno) -+#if !defined(_STLP_WINCE) -+ -+# if defined (_STLP_USE_NEW_C_HEADERS) -+# include _STLP_NATIVE_CPP_C_HEADER(cerrno) - # else - # include - # endif - - #ifndef errno - --# ifdef __STL_IMPORT_VENDOR_CSTD --__STL_BEGIN_NAMESPACE --using __STL_VENDOR_CSTD::errno; --__STL_END_NAMESPACE --# endif /* __STL_IMPORT_VENDOR_CSTD */ -+# if defined (_STLP_IMPORT_VENDOR_CSTD) && ! defined (__IBMCPP__) && ! defined(__hpux) -+_STLP_BEGIN_NAMESPACE -+using _STLP_VENDOR_CSTD::errno; -+_STLP_END_NAMESPACE -+# endif /* _STLP_IMPORT_VENDOR_CSTD */ - - #endif - --# if (__STL_OUTERMOST_HEADER_ID == 0x105 ) -+#endif /* _STLP_WINCE */ -+ -+# if (_STLP_OUTERMOST_HEADER_ID == 0x105 ) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __STLPORT_CERRNO */ -+#endif /* _STLP_CERRNO */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cfloat tripwire-2.3.1-2/src/STLport-4.0/stlport/cfloat ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cfloat Sat Feb 24 10:44:21 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/cfloat Sun Aug 11 18:59:23 2002 -@@ -13,28 +13,28 @@ - * - */ - --#ifndef __STLPORT_CFLOAT --# define __STLPORT_CFLOAT -+#ifndef _STLP_CFLOAT -+# define _STLP_CFLOAT - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x106 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x106 - # include - # endif - - // Borland defines some implementation constants in std:: namespace, - // we do not want to import them. --# if defined (__STL_USE_NEW_C_HEADERS) && ! defined (__BORLANDC__) --# include __STL_NATIVE_CPP_C_HEADER(cfloat) -+# if defined (_STLP_USE_NEW_C_HEADERS) && ! defined (__BORLANDC__) -+# include _STLP_NATIVE_CPP_C_HEADER(cfloat) - # else --# include __STL_NATIVE_C_HEADER(float.h) -+# include _STLP_NATIVE_C_HEADER(float.h) - # endif - --# if (__STL_OUTERMOST_HEADER_ID == 0x106 ) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x106 ) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __STLPORT_CFLOAT */ -+#endif /* _STLP_CFLOAT */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/climits tripwire-2.3.1-2/src/STLport-4.0/stlport/climits ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/climits Sat Feb 24 10:44:21 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/climits Sun Aug 11 18:59:23 2002 -@@ -13,32 +13,32 @@ - * - */ - --#ifndef __STLPORT_CLIMITS --# define __STLPORT_CLIMITS -+#ifndef _STLP_CLIMITS -+# define _STLP_CLIMITS - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x107 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x107 - # include - # endif - - # if defined (__SUNPRO_CC) && ((__SUNPRO_CC == 0x500) && (__SUNPRO_CC_COMPAT > 4)) - # include --# elif defined (__STL_USE_NEW_C_HEADERS) --# include __STL_NATIVE_CPP_C_HEADER(climits) -+# elif defined (_STLP_USE_NEW_C_HEADERS) -+# include _STLP_NATIVE_CPP_C_HEADER(climits) - # else - # ifdef __BORLANDC__ --# include __STL_NATIVE_C_HEADER(limits.h) -+# include _STLP_NATIVE_C_HEADER(limits.h) - # else - # include - # endif - # endif - --# if (__STL_OUTERMOST_HEADER_ID == 0x107 ) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x107 ) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __STLPORT_CLIMITS */ -+#endif /* _STLP_CLIMITS */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/clocale tripwire-2.3.1-2/src/STLport-4.0/stlport/clocale ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/clocale Sat Feb 24 10:44:21 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/clocale Sun Aug 11 18:59:23 2002 -@@ -13,36 +13,40 @@ - * - */ - --#ifndef __STLPORT_CLOCALE --# define __STLPORT_CLOCALE -+#ifndef _STLP_CLOCALE -+# define _STLP_CLOCALE - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x108 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x108 - # include - # endif - --# if defined (__STL_USE_NEW_C_HEADERS) --# include __STL_NATIVE_CPP_C_HEADER(clocale) -+#if !defined(_STLP_WINCE) -+ -+# if defined (_STLP_USE_NEW_C_HEADERS) -+# include _STLP_NATIVE_CPP_C_HEADER(clocale) - # else --# include __STL_NATIVE_C_HEADER(locale.h) -+# include _STLP_NATIVE_C_HEADER(locale.h) - # endif - --# ifdef __STL_IMPORT_VENDOR_CSTD --__STL_BEGIN_NAMESPACE --using __STL_VENDOR_CSTD::lconv; --# if ! defined (__STL_NO_CSTD_FUNCTION_IMPORTS) --using __STL_VENDOR_CSTD::localeconv; --using __STL_VENDOR_CSTD::setlocale; -+# ifdef _STLP_IMPORT_VENDOR_CSTD -+_STLP_BEGIN_NAMESPACE -+using _STLP_VENDOR_CSTD::lconv; -+# if ! defined (_STLP_NO_CSTD_FUNCTION_IMPORTS) -+using _STLP_VENDOR_CSTD::localeconv; -+using _STLP_VENDOR_CSTD::setlocale; - # endif --__STL_END_NAMESPACE --# endif /* __STL_IMPORT_VENDOR_CSTD */ -+_STLP_END_NAMESPACE -+# endif /* _STLP_IMPORT_VENDOR_CSTD */ -+ -+#endif /* _STLP_WINCE */ - --# if (__STL_OUTERMOST_HEADER_ID == 0x108 ) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x108 ) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __STLPORT_CLOCALE */ -+#endif /* _STLP_CLOCALE */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cmath tripwire-2.3.1-2/src/STLport-4.0/stlport/cmath ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cmath Sat Feb 24 10:44:21 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/cmath Sun Aug 11 18:59:23 2002 -@@ -13,135 +13,78 @@ - * - */ - --#ifndef __STLPORT_CMATH --# define __STLPORT_CMATH -+#ifndef _STLP_CMATH -+# define _STLP_CMATH - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x109 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x109 - # include - # endif - --# if defined (__STL_USE_NEW_C_HEADERS) --# if defined (__STL_HAS_NO_NAMESPACES) && ! defined (exception) -+# if defined (_STLP_USE_NEW_C_HEADERS) -+# if defined (_STLP_HAS_NO_NAMESPACES) && ! defined (exception) - # define exception __math_exception - # endif --# include __STL_NATIVE_CPP_C_HEADER(cmath) --# if defined (__STL_HAS_NO_NAMESPACES) -+# include _STLP_NATIVE_CPP_C_HEADER(cmath) -+# if defined (_STLP_HAS_NO_NAMESPACES) - # undef exception - # endif - # else - # include - # endif - --# if defined (__SUNPRO_CC) && (__SUNPRO_CC > 0x500) -+# if (defined (__SUNPRO_CC) && (__SUNPRO_CC > 0x500)) || \ -+ !( defined (__IBMCPP__) && (__IBMCPP__ >= 500) || ! ( defined (__HP_aCC) && (__HP_aCC >= 30000) )) -+# ifndef _STLP_HAS_NO_NAMESPACES - namespace std { -+# endif - extern "C" double hypot(double x, double y); -+# ifndef _STLP_HAS_NO_NAMESPACES - } --# endif -- --# ifdef __STL_IMPORT_VENDOR_CSTD --__STL_BEGIN_NAMESPACE --# if ! defined (__STL_NO_CSTD_FUNCTION_IMPORTS) --using __STL_VENDOR_CSTD::acos; --using __STL_VENDOR_CSTD::asin; --using __STL_VENDOR_CSTD::atan2; --using __STL_VENDOR_CSTD::atan; --using __STL_VENDOR_CSTD::ceil; --using __STL_VENDOR_CSTD::cos; --using __STL_VENDOR_CSTD::cosh; --using __STL_VENDOR_CSTD::exp; --using __STL_VENDOR_CSTD::fabs; --using __STL_VENDOR_CSTD::floor; --using __STL_VENDOR_CSTD::fmod; --using __STL_VENDOR_CSTD::frexp; --using __STL_VENDOR_CSTD::ldexp; --using __STL_VENDOR_CSTD::log10; --using __STL_VENDOR_CSTD::log; --using __STL_VENDOR_CSTD::modf; --using __STL_VENDOR_CSTD::pow; --using __STL_VENDOR_CSTD::sin; --using __STL_VENDOR_CSTD::sinh; --using __STL_VENDOR_CSTD::sqrt; --using __STL_VENDOR_CSTD::tan; --using __STL_VENDOR_CSTD::tanh; --# endif /* BUG */ --__STL_END_NAMESPACE --# endif /* __STL_IMPORT_VENDOR_CSTD */ -- --__STL_BEGIN_NAMESPACE -- --# ifdef __STL_SAME_FUNCTION_NAME_RESOLUTION_BUG -+# endif - --// this proxy is needed for some compilers to resolve problems --// calling sqrt() from within sqrt(), etc. --template --struct _STL_math_proxy { -- static inline _Tp _do_abs(const _Tp& __x) { return __STL_VENDOR_CSTD::fabs(__x); } -- static inline _Tp _do_acos(const _Tp& __x) { return __STL_VENDOR_CSTD::acos(__x); } -- static inline _Tp _do_asin(const _Tp& __x) { return __STL_VENDOR_CSTD::asin(__x); } -- static inline _Tp _do_atan(const _Tp& __x) { return __STL_VENDOR_CSTD::atan(__x); } -- static inline _Tp _do_atan2(const _Tp& __x, const _Tp& __y) { return __STL_VENDOR_CSTD::atan2(__x, __y); } -- static inline _Tp _do_cos(const _Tp& __x) { return __STL_VENDOR_CSTD::cos(__x); } -- static inline _Tp _do_cosh(const _Tp& __x) { return __STL_VENDOR_CSTD::cosh(__x); } -- static inline _Tp _do_log(const _Tp& __x) { return __STL_VENDOR_CSTD::log(__x); } -- static inline _Tp _do_log10(const _Tp& __x) { return __STL_VENDOR_CSTD::log10(__x); } -- static inline _Tp _do_pow(const _Tp& __x, const _Tp& __y) { return __STL_VENDOR_CSTD::pow(__x, __y); } -- static inline _Tp _do_sin(const _Tp& __x) { return __STL_VENDOR_CSTD::sin(__x); } -- static inline _Tp _do_sinh(const _Tp& __x) { return __STL_VENDOR_CSTD::sinh(__x); } -- -- static inline _Tp _do_sqrt(const _Tp& __x) { return __STL_VENDOR_CSTD::sqrt(__x); } -- static inline _Tp _do_tan(const _Tp& __x) { return __STL_VENDOR_CSTD::tan(__x); } -- static inline _Tp _do_tanh(const _Tp& __x) { return __STL_VENDOR_CSTD::tanh(__x); } -- static inline _Tp _do_exp(const _Tp& __x) { return __STL_VENDOR_CSTD::exp(__x); } -- static inline _Tp _do_hypot(const _Tp& __x, const _Tp& __y) { return __STL_VENDOR_CSTD::hypot(__x, __y); } --}; -- --# define __STL_DO_ABS(_Tp) _STL_math_proxy<_Tp>::_do_abs --# define __STL_DO_ACOS(_Tp) _STL_math_proxy<_Tp>::_do_acos --# define __STL_DO_ASIN(_Tp) _STL_math_proxy<_Tp>::_do_asin --# define __STL_DO_ATAN(_Tp) _STL_math_proxy<_Tp>::_do_atan --# define __STL_DO_ATAN2(_Tp) _STL_math_proxy<_Tp>::_do_atan2 --# define __STL_DO_COS(_Tp) _STL_math_proxy<_Tp>::_do_cos --# define __STL_DO_COSH(_Tp) _STL_math_proxy<_Tp>::_do_cosh --# define __STL_DO_LOG(_Tp) _STL_math_proxy<_Tp>::_do_log --# define __STL_DO_LOG10(_Tp) _STL_math_proxy<_Tp>::_do_log10 --# define __STL_DO_POW(_Tp) _STL_math_proxy<_Tp>::_do_pow --# define __STL_DO_SIN(_Tp) _STL_math_proxy<_Tp>::_do_sin --# define __STL_DO_SINH(_Tp) _STL_math_proxy<_Tp>::_do_sinh --# define __STL_DO_SQRT(_Tp) _STL_math_proxy<_Tp>::_do_sqrt --# define __STL_DO_TAN(_Tp) _STL_math_proxy<_Tp>::_do_tan --# define __STL_DO_TANH(_Tp) _STL_math_proxy<_Tp>::_do_tanh --# define __STL_DO_EXP(_Tp) _STL_math_proxy<_Tp>::_do_exp --# define __STL_DO_HYPOT(_Tp) _STL_math_proxy<_Tp>::_do_hypot --# else -+# endif - --# define __STL_DO_ABS(_Tp) __STL_VENDOR_CSTD::fabs --# define __STL_DO_ACOS(_Tp) __STL_VENDOR_CSTD::acos --# define __STL_DO_ASIN(_Tp) __STL_VENDOR_CSTD::asin --# define __STL_DO_ATAN(_Tp) __STL_VENDOR_CSTD::atan --# define __STL_DO_ATAN2(_Tp) __STL_VENDOR_CSTD::atan2 --# define __STL_DO_COS(_Tp) __STL_VENDOR_CSTD::cos --# define __STL_DO_COSH(_Tp) __STL_VENDOR_CSTD::cosh --# define __STL_DO_LOG(_Tp) __STL_VENDOR_CSTD::log --# define __STL_DO_LOG10(_Tp) __STL_VENDOR_CSTD::log10 --# define __STL_DO_POW(_Tp) __STL_VENDOR_CSTD::pow --# define __STL_DO_SIN(_Tp) __STL_VENDOR_CSTD::sin --# define __STL_DO_SINH(_Tp) __STL_VENDOR_CSTD::sinh --# define __STL_DO_SQRT(_Tp) __STL_VENDOR_CSTD::sqrt --# define __STL_DO_TAN(_Tp) __STL_VENDOR_CSTD::tan --# define __STL_DO_TANH(_Tp) __STL_VENDOR_CSTD::tanh --# define __STL_DO_EXP(_Tp) __STL_VENDOR_CSTD::exp --# define __STL_DO_HYPOT(_Tp) __STL_VENDOR_CSTD::hypot -+# ifdef _STLP_IMPORT_VENDOR_CSTD -+_STLP_BEGIN_NAMESPACE -+# if ! defined (_STLP_NO_CSTD_FUNCTION_IMPORTS) -+# ifdef _STLP_HAS_NATIVE_FLOAT_ABS -+using _STLP_VENDOR_CSTD::abs; - # endif -+using _STLP_VENDOR_CSTD::acos; -+using _STLP_VENDOR_CSTD::asin; -+using _STLP_VENDOR_CSTD::atan2; -+using _STLP_VENDOR_CSTD::atan; -+using _STLP_VENDOR_CSTD::ceil; -+using _STLP_VENDOR_CSTD::cos; -+using _STLP_VENDOR_CSTD::cosh; -+using _STLP_VENDOR_CSTD::exp; -+using _STLP_VENDOR_CSTD::fabs; -+using _STLP_VENDOR_CSTD::floor; -+using _STLP_VENDOR_CSTD::fmod; -+using _STLP_VENDOR_CSTD::frexp; -+using _STLP_VENDOR_CSTD::ldexp; -+using _STLP_VENDOR_CSTD::log10; -+using _STLP_VENDOR_CSTD::log; -+using _STLP_VENDOR_CSTD::modf; -+using _STLP_VENDOR_CSTD::pow; -+using _STLP_VENDOR_CSTD::sin; -+using _STLP_VENDOR_CSTD::sinh; -+using _STLP_VENDOR_CSTD::sqrt; -+using _STLP_VENDOR_CSTD::tan; -+using _STLP_VENDOR_CSTD::tanh; -+# endif /* BUG */ -+_STLP_END_NAMESPACE -+# endif /* _STLP_IMPORT_VENDOR_CSTD */ - --__STL_END_NAMESPACE -+# include - --# if (__STL_OUTERMOST_HEADER_ID == 0x109 ) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x109 ) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __STLPORT_CMATH */ -+#endif /* _STLP_CMATH */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/complex tripwire-2.3.1-2/src/STLport-4.0/stlport/complex ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/complex Sat Feb 24 10:44:21 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/complex Sun Aug 11 18:59:23 2002 -@@ -16,15 +16,15 @@ - * - */ - --#ifndef __sgi_template_complex --#define __sgi_template_complex -+#ifndef _STLP_template_complex -+# define _STLP_template_complex - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x10 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x10 - # include - # endif - --# ifdef __SGI_STL_OWN_IOSTREAMS -+# ifdef _STLP_OWN_IOSTREAMS - // This header declares the template class complex, as described in - // in the draft C++ standard. Single-precision complex numbers - // are complex, double-precision are complex, and -@@ -33,19 +33,19 @@ - // Note that the template class complex is declared within namespace - // std, as called for by the draft C++ standard - --# define __STL_COMPLEX_NAMESPACE __STLPORT_STD -+# define _STLP_COMPLEX_NAMESPACE _STLP_STD - # include - # else --# define __STL_COMPLEX_NAMESPACE __STL_VENDOR_STD -+# define _STLP_COMPLEX_NAMESPACE _STLP_VENDOR_STD - # include - # endif - --# if (__STL_OUTERMOST_HEADER_ID == 0x10 ) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x10 ) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __sgi_template_complex */ -+#endif /* _STLP_template_complex */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/_epilog.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/_epilog.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/_epilog.h Sat Feb 24 10:44:29 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/_epilog.h Sun Aug 11 18:59:24 2002 -@@ -1,8 +1,15 @@ --#if defined (__STL_MSVC) || defined (__ICL) || defined (__BORLANDC__) -+#if defined (_STLP_MSVC) || defined (__ICL) || defined (__BORLANDC__) - --# if !(defined (__STL_MSVC) && (__STL_MSVC < 1200)) --# pragma warning (pop) -+# if defined (__BORLANDC__) -+# pragma option pop -+# pragma option -w-8062 -+# else -+# if !(defined (_STLP_MSVC) && (_STLP_MSVC < 1200)) -+# pragma warning (pop) -+# endif -+# pragma pack (pop) - # endif -+ - - #elif defined(__sgi) && !defined(__GNUC__) && (_MIPS_SIM != _MIPS_SIM_ABI32) - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/_msvc_warnings_off.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/_msvc_warnings_off.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/_msvc_warnings_off.h Sat Feb 24 10:44:29 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/_msvc_warnings_off.h Sun Aug 11 18:59:24 2002 -@@ -7,9 +7,11 @@ - * "forcing value to bool 'true' or 'false' - * typedef used instaead of full type - * 4018 : signed/unsigned mismatch, 4146 - result still unsigned -+ * 4100: unreferenced formal parameter -+ * 4663: C++ language change: to explicitly specialize class template 'identifier' use the following syntax - */ --# pragma warning ( disable : 4355 4284 4231 4511 4512 4097 4786 4800 4018 4146 4244 4514 4127) --# pragma warning ( disable : 4245 ) // conversion from enum to unsigned int signed/unsigned mismatch -+# pragma warning ( disable : 4355 4284 4231 4511 4512 4097 4786 4800 4018 4146 4244 4514 4127 4100 4663) -+# pragma warning ( disable : 4245 4514 4660) // conversion from enum to unsigned int signed/unsigned mismatch - # if (_MSC_VER > 1200) - // multiple copy constructors/assignment operators specified, - // with member templates are bogus... -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/_prolog.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/_prolog.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/_prolog.h Sat Feb 24 10:44:29 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/_prolog.h Sun Aug 11 18:59:24 2002 -@@ -1,20 +1,19 @@ - --# undef min --# undef max -- --#if defined (__STL_MSVC) || defined (__ICL) || defined (__BORLANDC__) -- --# if !(defined (__STL_MSVC) && (__STL_MSVC < 1200)) --# pragma warning(push) --# endif -+#if defined (_STLP_MSVC) || defined (__ICL) || defined (__BORLANDC__) - - # if defined (__BORLANDC__) --# pragma warning(disable:8012) --# pragma warning(disable:8091) -+# if (__BORLANDC__ >= 0x510) -+# pragma option push -Vx- -Ve- -a8 -b -pc -w-inl -w-aus -w-sig -w-8062 -w-8041 -w-8008 -w-8012 -w-8027 -w-8057 -w-8091 -w-8092 -w-8066 /* P_O_1 */ -+# endif - # else -+# if !(defined (_STLP_MSVC) && (_STLP_MSVC < 1200)) -+# pragma warning(push) -+# endif -+# pragma pack(push,8) - # include - # endif - -+ - #elif defined(__sgi) && !defined(__GNUC__) && (_MIPS_SIM != _MIPS_SIM_ABI32) - - #pragma set woff 1209 -@@ -34,4 +33,14 @@ - // supress EDC3130: A constant is being used as a conditional expression - #pragma info(nocnd) - -+#elif defined (__HP_aCC) -+/* _REENTRANT selects Posix 1c threads unless draft4 selected. -+ * * This usage is obsolescent, "-D_POSIX_C_SOURCE=199506" is preferred */ -+# if 0 /* defined (_REENTRANT) && ! defined (_POSIX_C_SOURCE) */ -+# define _POSIX_C_SOURCE 199506 -+# endif -+#elif defined (__WATCOMCPLUSPLUS__) -+# pragma warning 604 10 // must lookahead to determine... -+# pragma warning 594 10 // resolved as declaration/type -+# pragma warning 595 10 // resolved as an expression - #endif -Only in tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/new_compiler: confdefs.h -Only in tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/new_compiler: config.log -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/new_compiler/configure tripwire-2.3.1-2/src/STLport-4.0/stlport/config/new_compiler/configure ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/new_compiler/configure Sat Feb 24 10:44:32 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/new_compiler/configure Sun Aug 11 18:59:24 2002 -@@ -781,7 +781,7 @@ - - if test "$ac_cv_sizeof_int" = "4"; then - cat >> confdefs.h <> confdefs.h <> confdefs.h <&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 -+#define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 - EOF - ac_cv_spec_syntax="no" _FULL_SPEC="" - fi -@@ -980,7 +980,7 @@ - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_NO_BOOL 1 -+#define _STLP_NO_BOOL 1 - EOF - ac_cv_bool="no" - fi -@@ -1002,7 +1002,7 @@ - if { (eval echo configure:1003: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_YVALS_H 1 -+#define _STLP_YVALS_H 1 - EOF - echo "$ac_t""yes" 1>&6 - else -@@ -1029,7 +1029,7 @@ - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_DONT_USE_BOOL_TYPEDEF 1 -+#define _STLP_DONT_USE_BOOL_TYPEDEF 1 - EOF - ac_cv_bool_reserved="yes" - fi -@@ -1059,7 +1059,7 @@ - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_NO_WCHAR_T 1 -+#define _STLP_NO_WCHAR_T 1 - EOF - ac_cv_wchar="no" - fi -@@ -1092,7 +1092,7 @@ - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_WCHAR_T_IS_USHORT 1 -+#define _STLP_WCHAR_T_IS_USHORT 1 - EOF - ac_cv_wchar_short="yes" - fi -@@ -1112,7 +1112,7 @@ - if { (eval echo configure:1113: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_LONG_LONG 1 -+#define _STLP_LONG_LONG 1 - EOF - ac_cv_long_long="yes" - else -@@ -1142,7 +1142,7 @@ - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_NO_LONG_DOUBLE 1 -+#define _STLP_NO_LONG_DOUBLE 1 - EOF - ac_cv_long_double="no" - fi -@@ -1196,7 +1196,7 @@ - rm -rf conftest* - __TYPENAME="" - cat >> confdefs.h <<\EOF --#define __STL_NEED_TYPENAME 1 -+#define _STLP_NEED_TYPENAME 1 - EOF - - ac_cv_typename="no" -@@ -1224,7 +1224,7 @@ - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_NO_EXPLICIT 1 -+#define _STLP_NO_EXPLICIT 1 - EOF - ac_cv_explicit="no" - fi -@@ -1251,7 +1251,7 @@ - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_NEED_MUTABLE 1 -+#define _STLP_NEED_MUTABLE 1 - EOF - ac_cv_mutable="no" - fi -@@ -1282,7 +1282,7 @@ - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_NO_NEW_STYLE_CASTS 1 -+#define _STLP_NO_NEW_STYLE_CASTS 1 - EOF - ac_cv_new_cast="no" - fi -@@ -1302,7 +1302,7 @@ - #include - #include - #include -- #ifndef __STL_NO_WCHAR_T -+ #ifndef _STLP_NO_WCHAR_T - #include - #endif - -@@ -1318,7 +1318,7 @@ - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_HAS_NO_NEW_C_HEADERS 1 -+#define _STLP_HAS_NO_NEW_C_HEADERS 1 - EOF - ac_cv_newheaders="no" - fi -@@ -1345,7 +1345,7 @@ - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_NO_NEW_NEW_HEADER 1 -+#define _STLP_NO_NEW_NEW_HEADER 1 - EOF - ac_cv_new_new="no" - fi -@@ -1380,7 +1380,7 @@ - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_NO_MEMBER_TEMPLATES 1 -+#define _STLP_NO_MEMBER_TEMPLATES 1 - EOF - ac_cv_member_templates="no" - -@@ -1416,7 +1416,7 @@ - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_NO_FRIEND_TEMPLATES 1 -+#define _STLP_NO_FRIEND_TEMPLATES 1 - EOF - ac_cv_friend_templates="no" - -@@ -1456,7 +1456,7 @@ - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_NO_QUALIFIED_FRIENDS 1 -+#define _STLP_NO_QUALIFIED_FRIENDS 1 - EOF - ac_cv_qual_friend_templates="no" - -@@ -1498,7 +1498,7 @@ - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_NO_MEMBER_TEMPLATE_KEYWORD 1 -+#define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1 - EOF - ac_cv_member_template_keyword="no" - -@@ -1541,7 +1541,7 @@ - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_NO_MEMBER_TEMPLATE_CLASSES 1 -+#define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1 - EOF - ac_cv_member_template_classes="no" - -@@ -1588,7 +1588,7 @@ - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_NO_CLASS_PARTIAL_SPECIALIZATION 1 -+#define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1 - EOF - ac_cv_partial_spec="no" - -@@ -1634,7 +1634,7 @@ - if { (eval echo configure:1635: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS 1 -+#define _STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS 1 - EOF - ac_cv_partial_spec_needs_args="yes" - else -@@ -1681,7 +1681,7 @@ - if { (eval echo configure:1682: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS 1 -+#define _STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS 1 - EOF - ac_cv_partial_spec_needs_args="yes" - else -@@ -1729,7 +1729,7 @@ - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 -+#define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 - EOF - ac_cv_partial_ord="no" - -@@ -1771,7 +1771,7 @@ - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_NO_METHOD_SPECIALIZATION 1 -+#define _STLP_NO_METHOD_SPECIALIZATION 1 - EOF - ac_cv_method_spec="no" - -@@ -1792,7 +1792,7 @@ - if { (eval echo configure:1793: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_RAND48 1 -+#define _STLP_RAND48 1 - EOF - ac_cv_func_lrand48="yes" - else -@@ -1827,7 +1827,7 @@ - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_LIMITED_DEFAULT_TEMPLATES 1 -+#define _STLP_LIMITED_DEFAULT_TEMPLATES 1 - EOF - ac_cv_default_template_param="no" - fi -@@ -1867,7 +1867,7 @@ - if { (eval echo configure:1868: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_DEFAULT_TYPE_PARAM 1 -+#define _STLP_DEFAULT_TYPE_PARAM 1 - EOF - ac_cv_default_type_param="yes" - else -@@ -1912,7 +1912,7 @@ - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_NO_DEFAULT_NON_TYPE_PARAM 1 -+#define _STLP_NO_DEFAULT_NON_TYPE_PARAM 1 - EOF - ac_cv_default_nontype_param="no" - -@@ -1954,7 +1954,7 @@ - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_NON_TYPE_TMPL_PARAM_BUG 1 -+#define _STLP_NON_TYPE_TMPL_PARAM_BUG 1 - EOF - ac_cv_nontype_param_bug="yes" - -@@ -1981,7 +1981,7 @@ - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_NO_STATIC_TEMPLATE_DATA 1 -+#define _STLP_NO_STATIC_TEMPLATE_DATA 1 - EOF - ac_cv_static_templates="no" - fi -@@ -2002,7 +2002,7 @@ - if { (eval echo configure:2003: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_WEAK_ATTRIBUTE 1 -+#define _STLP_WEAK_ATTRIBUTE 1 - EOF - ac_cv_weak_attribute="yes" - else -@@ -2035,7 +2035,7 @@ - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_STATIC_ARRAY_BUG 1 -+#define _STLP_STATIC_ARRAY_BUG 1 - EOF - ac_cv_static_array_bug="yes" - fi -@@ -2062,7 +2062,7 @@ - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_STATIC_CONST_INIT_BUG 1 -+#define _STLP_STATIC_CONST_INIT_BUG 1 - EOF - ac_cv_static_init_bug="yes" - fi -@@ -2098,7 +2098,7 @@ - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_HAS_NO_NAMESPACES 1 -+#define _STLP_HAS_NO_NAMESPACES 1 - EOF - _TEST_STD="" _TEST_STD_BEGIN="" _TEST_STD_END="" ac_cv_namespaces="no" - fi -@@ -2139,13 +2139,13 @@ - ac_cv_broken_using=no - else - cat >> confdefs.h <<\EOF --#define __STL_BROKEN_USING_DIRECTIVE 1 -+#define _STLP_BROKEN_USING_DIRECTIVE 1 - EOF - - fi - else - cat >> confdefs.h <<\EOF --#define __STL_BROKEN_USING_DIRECTIVE 1 -+#define _STLP_BROKEN_USING_DIRECTIVE 1 - EOF - - fi -@@ -2159,7 +2159,7 @@ - - case "$enableval" in - no) cat >> confdefs.h <<\EOF --#define __STL_NO_NAMESPACES 1 -+#define _STLP_NO_NAMESPACES 1 - EOF - - _TEST_STD="" -@@ -2203,7 +2203,7 @@ - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_HAS_NO_EXCEPTIONS 1 -+#define _STLP_HAS_NO_EXCEPTIONS 1 - EOF - ac_cv_exceptions="no" - fi -@@ -2230,7 +2230,7 @@ - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_NO_EXCEPTION_SPEC 1 -+#define _STLP_NO_EXCEPTION_SPEC 1 - EOF - ac_cv_exception_spec="no" - fi -@@ -2261,7 +2261,7 @@ - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_THROW_RETURN_BUG 1 -+#define _STLP_THROW_RETURN_BUG 1 - EOF - ac_cv_throw_return_bug="yes" - fi -@@ -2273,7 +2273,7 @@ - ac_cv_throw_return_bug="no" - else - cat >> confdefs.h <<\EOF --#define __STL_THROW_RETURN_BUG 1 -+#define _STLP_THROW_RETURN_BUG 1 - EOF - - ac_cv_throw_return_bug="yes" -@@ -2290,7 +2290,7 @@ - #include "confdefs.h" - - #include -- # if !defined (__STL_HAS_NO_NAMESPACES) -+ # if !defined (_STLP_HAS_NO_NAMESPACES) - using namespace $_TEST_STD; - # endif - basic_string, allocator > bs; -@@ -2308,7 +2308,7 @@ - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_NO_STRING_HEADER 1 -+#define _STLP_NO_STRING_HEADER 1 - EOF - ac_cv_string_header="no" - -@@ -2324,7 +2324,7 @@ - #include "confdefs.h" - - #include -- # if !defined (__STL_HAS_NO_NAMESPACES) -+ # if !defined (_STLP_HAS_NO_NAMESPACES) - using namespace $_TEST_STD; - # endif - string s; -@@ -2350,7 +2350,7 @@ - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_NO_STDEXCEPT_HEADER 1 -+#define _STLP_NO_STDEXCEPT_HEADER 1 - EOF - ac_cv_stdexcept_header="no" - -@@ -2366,7 +2366,7 @@ - - #include - #include -- # if !defined (__STL_HAS_NO_NAMESPACES) -+ # if !defined (_STLP_HAS_NO_NAMESPACES) - using namespace $_TEST_STD; - # endif - -@@ -2389,7 +2389,7 @@ - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_HAS_NO_NEW_IOSTREAMS 1 -+#define _STLP_HAS_NO_NEW_IOSTREAMS 1 - EOF - ac_cv_newstreams="no" - fi -@@ -2406,7 +2406,7 @@ - #include "confdefs.h" - - #include -- # if !defined (__STL_HAS_NO_NAMESPACES) -+ # if !defined (_STLP_HAS_NO_NAMESPACES) - using namespace $_TEST_STD; - # endif - class my_exception: public $_TEST_STD::exception {}; -@@ -2424,7 +2424,7 @@ - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_NO_EXCEPTION_HEADER 1 -+#define _STLP_NO_EXCEPTION_HEADER 1 - EOF - ac_cv_exception_header="no" - -@@ -2436,7 +2436,7 @@ - echo "configure:2437: checking builtin constructor bug" >&5 - if test "$cross_compiling" = yes; then - cat >> confdefs.h <<\EOF --#define __STL_DEFAULT_CONSTRUCTOR_BUG 1 -+#define _STLP_DEFAULT_CONSTRUCTOR_BUG 1 - EOF - ac_cv_builtin_c_bug="yes" - -@@ -2448,7 +2448,7 @@ - extern "C" void exit(int); - #endif - --# ifdef __STL_USE_NEW_STYLE_HEADERS -+# ifdef _STLP_USE_NEW_STYLE_HEADERS - # include - # include - # include -@@ -2500,7 +2500,7 @@ - cat conftest.$ac_ext >&5 - rm -fr conftest* - cat >> confdefs.h <<\EOF --#define __STL_DEFAULT_CONSTRUCTOR_BUG 1 -+#define _STLP_DEFAULT_CONSTRUCTOR_BUG 1 - EOF - ac_cv_builtin_c_bug="yes" - fi -@@ -2529,7 +2529,7 @@ - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_TRIVIAL_CONSTRUCTOR_BUG 1 -+#define _STLP_TRIVIAL_CONSTRUCTOR_BUG 1 - EOF - ac_cv_tc_bug="yes" - fi -@@ -2557,7 +2557,7 @@ - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_TRIVIAL_DESTRUCTOR_BUG 1 -+#define _STLP_TRIVIAL_DESTRUCTOR_BUG 1 - EOF - ac_cv_td_bug="yes" - fi -@@ -2592,7 +2592,7 @@ - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 -+#define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 - EOF - ac_cv_expl_fun_args="no" _NULLARGS="" - fi -@@ -2646,7 +2646,7 @@ - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_BASE_MATCH_BUG 1 -+#define _STLP_BASE_MATCH_BUG 1 - EOF - ac_cv_base_match="no" - fi -@@ -2696,7 +2696,7 @@ - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_NONTEMPL_BASE_MATCH_BUG 1 -+#define _STLP_NONTEMPL_BASE_MATCH_BUG 1 - EOF - ac_cv_nont_base_match="no" - fi -@@ -2722,7 +2722,7 @@ - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_NESTED_TYPE_PARAM_BUG 1 -+#define _STLP_NESTED_TYPE_PARAM_BUG 1 - EOF - ac_cv_nested_type_param_bug="yes" - fi -@@ -2780,11 +2780,11 @@ - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_BASE_TYPEDEF_BUG 1 -+#define _STLP_BASE_TYPEDEF_BUG 1 - EOF - - cat >> confdefs.h <<\EOF --#define __STL_BASE_TYPEDEF_OUTSIDE_BUG 1 -+#define _STLP_BASE_TYPEDEF_OUTSIDE_BUG 1 - EOF - ac_cv_typebug="yes" - fi -@@ -2828,7 +2828,7 @@ - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_BASE_TYPEDEF_OUTSIDE_BUG 1 -+#define _STLP_BASE_TYPEDEF_OUTSIDE_BUG 1 - EOF - ac_cv_outside_typedef="no" - fi -@@ -2859,7 +2859,7 @@ - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_UNINITIALIZABLE_PRIVATE 1 -+#define _STLP_UNINITIALIZABLE_PRIVATE 1 - EOF - ac_cv_private="no" - fi -@@ -2894,7 +2894,7 @@ - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_CONST_CONSTRUCTOR_BUG 1 -+#define _STLP_CONST_CONSTRUCTOR_BUG 1 - EOF - ac_cv_const_constructor_bug="yes" - fi -@@ -2920,7 +2920,7 @@ - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_LOOP_INLINE_PROBLEMS 1 -+#define _STLP_LOOP_INLINE_PROBLEMS 1 - EOF - ac_cv_inline_problems="yes" - fi -@@ -2931,7 +2931,7 @@ - ac_cv_inline_problems="no" - else - cat >> confdefs.h <<\EOF --#define __STL_LOOP_INLINE_PROBLEMS 1 -+#define _STLP_LOOP_INLINE_PROBLEMS 1 - EOF - - ac_cv_inline_problems="yes" -@@ -2972,7 +2972,7 @@ - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __SGI_STL_NO_ARROW_OPERATOR 1 -+#define _STLP_NO_ARROW_OPERATOR 1 - EOF - ac_cv_unused_required="yes" - -@@ -3019,7 +3019,7 @@ - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_MEMBER_POINTER_PARAM_BUG 1 -+#define _STLP_MEMBER_POINTER_PARAM_BUG 1 - EOF - ac_cv_pmf_bug="yes" - fi -@@ -3032,13 +3032,13 @@ - #line 3033 "configure" - #include "confdefs.h" - -- #if !defined (__STL_NO_NEW_STYLE_HEADERS) -+ #if !defined (_STLP_NO_NEW_STYLE_HEADERS) - #include - #else - #include - #endif - -- # if !defined (__STL_HAS_NO_NAMESPACES) -+ # if !defined (_STLP_HAS_NO_NAMESPACES) - using namespace $_TEST_STD; - # endif - -@@ -3055,7 +3055,7 @@ - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_NO_BAD_ALLOC 1 -+#define _STLP_NO_BAD_ALLOC 1 - EOF - ac_cv_bad_alloc="no" - fi -@@ -3078,7 +3078,7 @@ - if { (eval echo configure:3079: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then - rm -rf conftest* - cat >> confdefs.h <<\EOF --#define __STL_AUTOMATIC_TYPE_TRAITS 1 -+#define _STLP_AUTOMATIC_TYPE_TRAITS 1 - EOF - ac_cv_type_traits="yes" - else -@@ -3103,7 +3103,7 @@ - - case "$enableval" in - no) cat >> confdefs.h <<\EOF --#define __STL_NO_EXCEPTIONS 1 -+#define _STLP_NO_EXCEPTIONS 1 - EOF - - echo "$ac_t""Config arg --disable-exceptions : disabling exceptions by user request" 1>&6;; -@@ -3126,7 +3126,7 @@ - - case "$enableval" in - no) cat >> confdefs.h <<\EOF --#define __STL_NO_RELOPS_NAMESPACE 1 -+#define _STLP_NO_RELOPS_NAMESPACE 1 - EOF - - echo "$ac_t""Config arg --disable-relops : no std::rel_ops namespace by user request" 1>&6;; -@@ -3140,7 +3140,7 @@ - - else - cat >> confdefs.h <<\EOF --#define __STL_NO_RELOPS_NAMESPACE 1 -+#define _STLP_NO_RELOPS_NAMESPACE 1 - EOF - - fi -@@ -3152,7 +3152,7 @@ - - case "$enableval" in - no) cat >> confdefs.h <<\EOF --#define __STL_NO_NEW_STYLE_HEADERS 1 -+#define _STLP_NO_NEW_STYLE_HEADERS 1 - EOF - - echo "$ac_t""Config arg --disable-new-style-headers : not using new-style headers" 1>&6;; -@@ -3166,7 +3166,7 @@ - - else - cat >> confdefs.h <<\EOF --#define __STL_NO_NEW_STYLE_HEADERS 1 -+#define _STLP_NO_NEW_STYLE_HEADERS 1 - EOF - - fi -@@ -3178,7 +3178,7 @@ - - case "$enableval" in - no) cat >> confdefs.h <<\EOF --#define __STL_NO_NEW_IOSTREAMS 1 -+#define _STLP_NO_NEW_IOSTREAMS 1 - EOF - - echo "$ac_t""Config arg --disable-new-iostreams : not using new iostreams" 1>&6;; -@@ -3192,7 +3192,7 @@ - - else - cat >> confdefs.h <<\EOF --#define __STL_NO_NEW_IOSTREAMS 1 -+#define _STLP_NO_NEW_IOSTREAMS 1 - EOF - - fi -@@ -3204,7 +3204,7 @@ - case "$enableval" in - yes ) echo "$ac_t""Config arg --enable-sgi-allocators : SGI-style alloc as default allocator" 1>&6 - cat >> confdefs.h <<\EOF --#define __STL_USE_SGI_ALLOCATORS 1 -+#define _STLP_USE_RAW_SGI_ALLOCATORS 1 - EOF - ;; - * ) echo "$ac_t""Config default: using allocator as default allocator if possible " 1>&6 -@@ -3225,7 +3225,7 @@ - case "$enableval" in - yes ) echo "$ac_t""Config arg --enable-malloc : setting malloc_alloc as default alloc" 1>&6 - cat >> confdefs.h <<\EOF --#define __STL_USE_MALLOC 1 -+#define _STLP_USE_MALLOC 1 - EOF - ;; - * ) echo "$ac_t""Config default: not using malloc_alloc as default alloc" 1>&6 -@@ -3246,7 +3246,7 @@ - case "$enableval" in - yes ) echo "$ac_t""Config arg --enable-newalloc : setting new_alloc as default alloc" 1>&6 - cat >> confdefs.h <<\EOF --#define __STL_USE_NEWALLOC 1 -+#define _STLP_USE_NEWALLOC 1 - EOF - ;; - * ) -@@ -3270,7 +3270,7 @@ - - * ) echo "$ac_t""Config default : including HP-style defalloc.h into alloc.h" 1>&6 - cat >> confdefs.h <<\EOF --#define __STL_USE_DEFALLOC 1 -+#define _STLP_USE_DEFALLOC 1 - EOF - - esac -@@ -3291,7 +3291,7 @@ - case "$enableval" in - yes ) echo "$ac_t""Config arg --enable-debugalloc : use debug versions of allocators " 1>&6 - cat >> confdefs.h <<\EOF --#define __STL_DEBUG_ALLOC 1 -+#define _STLP_DEBUG_ALLOC 1 - EOF - ;; - * ) -@@ -3314,7 +3314,7 @@ - case "$enableval" in - yes ) echo "$ac_t""Config arg --enable-abbrevs : using abbreviated class names internally" 1>&6 - cat >> confdefs.h <<\EOF --#define __STL_USE_ABBREVS 1 -+#define _STLP_USE_ABBREVS 1 - EOF - ;; - * ) -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/new_compiler/configure.in tripwire-2.3.1-2/src/STLport-4.0/stlport/config/new_compiler/configure.in ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/new_compiler/configure.in Sat Feb 24 10:44:33 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/new_compiler/configure.in Sun Aug 11 18:59:24 2002 -@@ -59,17 +59,17 @@ - ac_ext=$use_ac_ext - - if test "$ac_cv_sizeof_int" = "4"; then -- AC_DEFINE_UNQUOTED(__STL_UINT32_T,unsigned int) -+ AC_DEFINE_UNQUOTED(_STLP_UINT32_T,unsigned int) - else - AC_CHECK_SIZEOF(long,4) - ac_ext=$use_ac_ext - if test "$ac_cv_sizeof_long" = "4"; then -- AC_DEFINE_UNQUOTED(__STL_UINT32_T,unsigned long) -+ AC_DEFINE_UNQUOTED(_STLP_UINT32_T,unsigned long) - else - dnl ELBRUS ??? ;) - AC_CHECK_SIZEOF(short,4) - if test "$ac_cv_sizeof_short" = "4"; then -- AC_DEFINE_UNQUOTED(__STL_UINT32_T,unsigned short) -+ AC_DEFINE_UNQUOTED(_STLP_UINT32_T,unsigned short) - else - AC_MSG_ERROR(Cannot find any 32-bit integer type for your compiler) - fi -@@ -118,7 +118,7 @@ - template <> class fs_foo {};], - [ fs_foo i;], - [ _FULL_SPEC="template <>" ac_cv_spec_syntax="yes"], -- [ AC_DEFINE(__STL_NO_PARTIAL_SPECIALIZATION_SYNTAX) ac_cv_spec_syntax="no" _FULL_SPEC=""]) -+ [ AC_DEFINE(_STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX) ac_cv_spec_syntax="no" _FULL_SPEC=""]) - AC_MSG_RESULT($ac_cv_spec_syntax) - - AC_MSG_CHECKING(for bool keyword) -@@ -126,14 +126,14 @@ - [bool b_foo() { return true; }], - [(void)b_foo();], - [ac_cv_bool="yes"], -- [AC_DEFINE(__STL_NO_BOOL) ac_cv_bool="no"]) -+ [AC_DEFINE(_STLP_NO_BOOL) ac_cv_bool="no"]) - AC_MSG_RESULT($ac_cv_bool) - if test "$ac_cv_bool" = "no"; then - AC_MSG_CHECKING(for yvals.h header) - AC_TRY_COMPILE([#include - extern bool aaa=true; - ], [], -- [AC_DEFINE(__STL_YVALS_H) AC_MSG_RESULT(yes) ], -+ [AC_DEFINE(_STLP_YVALS_H) AC_MSG_RESULT(yes) ], - [ - AC_MSG_RESULT(no) - AC_MSG_CHECKING(whether bool is reserved word) -@@ -141,7 +141,7 @@ - [typedef int bool;], - [], - [ac_cv_bool_reserved="no"], -- [AC_DEFINE(__STL_DONT_USE_BOOL_TYPEDEF) ac_cv_bool_reserved="yes"]) -+ [AC_DEFINE(_STLP_DONT_USE_BOOL_TYPEDEF) ac_cv_bool_reserved="yes"]) - AC_MSG_RESULT($ac_cv_bool_reserved) - ]) - fi -@@ -152,7 +152,7 @@ - wchar_t wc_foo() { return 'a'; }], - [(void)wc_foo();], - [ac_cv_wchar="yes"], -- [AC_DEFINE(__STL_NO_WCHAR_T) ac_cv_wchar="no"]) -+ [AC_DEFINE(_STLP_NO_WCHAR_T) ac_cv_wchar="no"]) - AC_MSG_RESULT($ac_cv_wchar) - - AC_MSG_CHECKING(if wchar_t is unsigned short) -@@ -168,14 +168,14 @@ - ], - [], - [ac_cv_wchar_short="no"], -- [AC_DEFINE(__STL_WCHAR_T_IS_USHORT) ac_cv_wchar_short="yes"]) -+ [AC_DEFINE(_STLP_WCHAR_T_IS_USHORT) ac_cv_wchar_short="yes"]) - AC_MSG_RESULT($ac_cv_wchar_short) - - AC_MSG_CHECKING(for long long type) - AC_TRY_COMPILE( - [long long ll_foo() { return 0; }], - [(void)ll_foo();], -- [AC_DEFINE(__STL_LONG_LONG) ac_cv_long_long="yes"], -+ [AC_DEFINE(_STLP_LONG_LONG) ac_cv_long_long="yes"], - [ac_cv_long_long="no"]) - AC_MSG_RESULT($ac_cv_long_long) - -@@ -184,7 +184,7 @@ - [long double ld_foo() { return 0; }], - [(void)ld_foo();], - [ac_cv_long_double="yes"], -- [AC_DEFINE(__STL_NO_LONG_DOUBLE) ac_cv_long_double="no"]) -+ [AC_DEFINE(_STLP_NO_LONG_DOUBLE) ac_cv_long_double="no"]) - AC_MSG_RESULT($ac_cv_long_double) - - AC_MSG_CHECKING(for typename keyword) -@@ -221,7 +221,7 @@ - [__TYPENAME="typename" - ac_cv_typename="yes"], - [__TYPENAME="" -- AC_DEFINE(__STL_NEED_TYPENAME) -+ AC_DEFINE(_STLP_NEED_TYPENAME) - ac_cv_typename="no"]) - AC_MSG_RESULT($ac_cv_typename) - -@@ -232,7 +232,7 @@ - ], - [], - [ac_cv_explicit="yes"], -- [AC_DEFINE(__STL_NO_EXPLICIT) ac_cv_explicit="no"]) -+ [AC_DEFINE(_STLP_NO_EXPLICIT) ac_cv_explicit="no"]) - AC_MSG_RESULT($ac_cv_explicit) - - AC_MSG_CHECKING(for mutable keyword) -@@ -242,7 +242,7 @@ - ], - [c.update()], - [ac_cv_mutable="yes"], -- [AC_DEFINE(__STL_NEED_MUTABLE) ac_cv_mutable="no"]) -+ [AC_DEFINE(_STLP_NEED_MUTABLE) ac_cv_mutable="no"]) - AC_MSG_RESULT($ac_cv_mutable) - - AC_MSG_CHECKING(for new style casts) -@@ -256,7 +256,7 @@ - c.update(const_cast(&a)) - ], - [ac_cv_new_cast="yes"], -- [AC_DEFINE(__STL_NO_NEW_STYLE_CASTS) ac_cv_new_cast="no"]) -+ [AC_DEFINE(_STLP_NO_NEW_STYLE_CASTS) ac_cv_new_cast="no"]) - AC_MSG_RESULT($ac_cv_new_cast) - - AC_MSG_CHECKING(for new-style C library headers) -@@ -269,13 +269,13 @@ - #include - #include - #include -- #ifndef __STL_NO_WCHAR_T -+ #ifndef _STLP_NO_WCHAR_T - #include - #endif - ], - [], - [ac_cv_newheaders="yes"], -- [AC_DEFINE(__STL_HAS_NO_NEW_C_HEADERS) ac_cv_newheaders="no"]) -+ [AC_DEFINE(_STLP_HAS_NO_NEW_C_HEADERS) ac_cv_newheaders="no"]) - AC_MSG_RESULT($ac_cv_newheaders) - - AC_MSG_CHECKING(for new-style header) -@@ -285,7 +285,7 @@ - ], - [], - [ac_cv_new_new="yes"], -- [AC_DEFINE(__STL_NO_NEW_NEW_HEADER) ac_cv_new_new="no"]) -+ [AC_DEFINE(_STLP_NO_NEW_NEW_HEADER) ac_cv_new_new="no"]) - AC_MSG_RESULT($ac_cv_new_new) - - -@@ -302,7 +302,7 @@ - (void)p.operate((char*)"aaa"); - ], - [ac_cv_member_templates="yes"], --[AC_DEFINE(__STL_NO_MEMBER_TEMPLATES) ac_cv_member_templates="no"] -+[AC_DEFINE(_STLP_NO_MEMBER_TEMPLATES) ac_cv_member_templates="no"] - ) - AC_MSG_RESULT($ac_cv_member_templates) - -@@ -320,7 +320,7 @@ - ], - [], - [ac_cv_friend_templates="yes"], --[AC_DEFINE(__STL_NO_FRIEND_TEMPLATES) ac_cv_friend_templates="no"] -+[AC_DEFINE(_STLP_NO_FRIEND_TEMPLATES) ac_cv_friend_templates="no"] - ) - AC_MSG_RESULT($ac_cv_friend_templates) - -@@ -342,7 +342,7 @@ - ], - [], - [ac_cv_qual_friend_templates="yes"], --[AC_DEFINE(__STL_NO_QUALIFIED_FRIENDS) ac_cv_qual_friend_templates="no"] -+[AC_DEFINE(_STLP_NO_QUALIFIED_FRIENDS) ac_cv_qual_friend_templates="no"] - ) - AC_MSG_RESULT($ac_cv_qual_friend_templates) - -@@ -366,7 +366,7 @@ - ], - [], - [ac_cv_member_template_keyword="yes"], --[AC_DEFINE(__STL_NO_MEMBER_TEMPLATE_KEYWORD) ac_cv_member_template_keyword="no"] -+[AC_DEFINE(_STLP_NO_MEMBER_TEMPLATE_KEYWORD) ac_cv_member_template_keyword="no"] - ) - AC_MSG_RESULT($ac_cv_member_template_keyword) - -@@ -391,7 +391,7 @@ - ], - [], - [ac_cv_member_template_classes="yes"], --[AC_DEFINE(__STL_NO_MEMBER_TEMPLATE_CLASSES) ac_cv_member_template_classes="no"] -+[AC_DEFINE(_STLP_NO_MEMBER_TEMPLATE_CLASSES) ac_cv_member_template_classes="no"] - ) - AC_MSG_RESULT($ac_cv_member_template_classes) - fi -@@ -420,7 +420,7 @@ - [p.bar(); - p1.foo();], - [ac_cv_partial_spec="yes"], --[AC_DEFINE(__STL_NO_CLASS_PARTIAL_SPECIALIZATION) ac_cv_partial_spec="no"] -+[AC_DEFINE(_STLP_NO_CLASS_PARTIAL_SPECIALIZATION) ac_cv_partial_spec="no"] - ) - AC_MSG_RESULT($ac_cv_partial_spec) - -@@ -452,7 +452,7 @@ - ], - [p.bar(); - p1.foo();], --[AC_DEFINE(__STL_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS) ac_cv_partial_spec_needs_args="yes"], -+[AC_DEFINE(_STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS) ac_cv_partial_spec_needs_args="yes"], - [ac_cv_partial_spec_needs_args="no"] - ) - AC_MSG_RESULT($ac_cv_partial_spec_needs_args) -@@ -481,7 +481,7 @@ - ], - [p.bar(); - p1.foo();], --[AC_DEFINE(__STL_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS) ac_cv_partial_spec_needs_args="yes"], -+[AC_DEFINE(_STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS) ac_cv_partial_spec_needs_args="yes"], - [ac_cv_partial_spec_needs_args="no"] - ) - AC_MSG_RESULT($ac_cv_partial_spec_needs_args) -@@ -507,7 +507,7 @@ - A po_a(0); A po_b(1); (void)po_foo(po_b, po_a) - ], - [ac_cv_partial_ord="yes"], --[AC_DEFINE(__STL_NO_FUNCTION_TMPL_PARTIAL_ORDER) ac_cv_partial_ord="no"] -+[AC_DEFINE(_STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER) ac_cv_partial_ord="no"] - ) - AC_MSG_RESULT($ac_cv_partial_ord) - -@@ -531,7 +531,7 @@ - [p.bar(); - p1.bar();], - [ac_cv_method_spec="yes"], --[AC_DEFINE(__STL_NO_METHOD_SPECIALIZATION) ac_cv_method_spec="no"] -+[AC_DEFINE(_STLP_NO_METHOD_SPECIALIZATION) ac_cv_method_spec="no"] - ) - AC_MSG_RESULT($ac_cv_method_spec) - -@@ -539,7 +539,7 @@ - AC_TRY_LINK( - [#include ], - [long i = lrand48();], -- [AC_DEFINE(__STL_RAND48) ac_cv_func_lrand48="yes"], -+ [AC_DEFINE(_STLP_RAND48) ac_cv_func_lrand48="yes"], - [ac_cv_func_lrand48="no"]) - AC_MSG_RESULT($ac_cv_func_lrand48) - -@@ -553,7 +553,7 @@ - ], - [], - [ac_cv_default_template_param="yes"], -- [AC_DEFINE(__STL_LIMITED_DEFAULT_TEMPLATES) ac_cv_default_template_param="no"]) -+ [AC_DEFINE(_STLP_LIMITED_DEFAULT_TEMPLATES) ac_cv_default_template_param="no"]) - AC_MSG_RESULT($ac_cv_default_template_param) - if test "$ac_cv_default_template_param" = "no"; then - AC_MSG_CHECKING(for default type parameters) -@@ -580,7 +580,7 @@ - Class > cl2; - ], - [], -- [AC_DEFINE(__STL_DEFAULT_TYPE_PARAM) ac_cv_default_type_param="yes"], -+ [AC_DEFINE(_STLP_DEFAULT_TYPE_PARAM) ac_cv_default_type_param="yes"], - [ac_cv_default_type_param="no"]) - AC_MSG_RESULT($ac_cv_default_type_param) - -@@ -605,7 +605,7 @@ - ], - [], - [ac_cv_default_nontype_param="yes"], -- [AC_DEFINE(__STL_NO_DEFAULT_NON_TYPE_PARAM) ac_cv_default_nontype_param="no"] -+ [AC_DEFINE(_STLP_NO_DEFAULT_NON_TYPE_PARAM) ac_cv_default_nontype_param="no"] - ) - AC_MSG_RESULT($ac_cv_default_nontype_param) - -@@ -630,7 +630,7 @@ - ], - [], - [ac_cv_nontype_param_bug="no"], -- [AC_DEFINE(__STL_NON_TYPE_TMPL_PARAM_BUG) ac_cv_nontype_param_bug="yes"] -+ [AC_DEFINE(_STLP_NON_TYPE_TMPL_PARAM_BUG) ac_cv_nontype_param_bug="yes"] - ) - AC_MSG_RESULT($ac_cv_nontype_param_bug) - -@@ -640,7 +640,7 @@ - template int Class::a;], - [], - [ac_cv_static_templates="yes"], -- [AC_DEFINE(__STL_NO_STATIC_TEMPLATE_DATA) ac_cv_static_templates="no"]) -+ [AC_DEFINE(_STLP_NO_STATIC_TEMPLATE_DATA) ac_cv_static_templates="no"]) - AC_MSG_RESULT($ac_cv_static_templates) - - if test "$ac_cv_static_templates" = no; then -@@ -648,7 +648,7 @@ - AC_TRY_COMPILE( - [int a_w __attribute__((weak));], - [], -- [AC_DEFINE(__STL_WEAK_ATTRIBUTE) ac_cv_weak_attribute="yes"], -+ [AC_DEFINE(_STLP_WEAK_ATTRIBUTE) ac_cv_weak_attribute="yes"], - [ac_cv_weak_attribute="no"]) - AC_MSG_RESULT($ac_cv_weak_attribute) - fi -@@ -660,7 +660,7 @@ - template int Class::a[Class::sz];], - [], - [ac_cv_static_array_bug="no"], -- [AC_DEFINE(__STL_STATIC_ARRAY_BUG) ac_cv_static_array_bug="yes"]) -+ [AC_DEFINE(_STLP_STATIC_ARRAY_BUG) ac_cv_static_array_bug="yes"]) - AC_MSG_RESULT($ac_cv_static_array_bug) - fi - -@@ -670,7 +670,7 @@ - template const int Class::a;], - [], - [ac_cv_static_init_bug="no"], -- [AC_DEFINE(__STL_STATIC_CONST_INIT_BUG) ac_cv_static_init_bug="yes"]) -+ [AC_DEFINE(_STLP_STATIC_CONST_INIT_BUG) ac_cv_static_init_bug="yes"]) - AC_MSG_RESULT($ac_cv_static_init_bug) - - AC_MSG_CHECKING(for namespaces support) -@@ -689,7 +689,7 @@ - ], - [(void)ns_foo(1);], - [_TEST_STD="std" _TEST_STD_BEGIN="namespace $_TEST_STD" _TEST_STD_END="namespace $_TEST_STD" ac_cv_namespaces="yes"], -- [AC_DEFINE(__STL_HAS_NO_NAMESPACES) _TEST_STD="" _TEST_STD_BEGIN="" _TEST_STD_END="" ac_cv_namespaces="no"]) -+ [AC_DEFINE(_STLP_HAS_NO_NAMESPACES) _TEST_STD="" _TEST_STD_BEGIN="" _TEST_STD_END="" ac_cv_namespaces="no"]) - AC_MSG_RESULT($ac_cv_namespaces) - - AC_MSG_CHECKING(for broken "using" directive) -@@ -711,10 +711,10 @@ - if `check_warning` ; then - ac_cv_broken_using=no - else -- AC_DEFINE(__STL_BROKEN_USING_DIRECTIVE) -+ AC_DEFINE(_STLP_BROKEN_USING_DIRECTIVE) - fi - else -- AC_DEFINE(__STL_BROKEN_USING_DIRECTIVE) -+ AC_DEFINE(_STLP_BROKEN_USING_DIRECTIVE) - fi - AC_MSG_RESULT($ac_cv_broken_using) - -@@ -724,7 +724,7 @@ - --disable-namespaces Don't use namespaces support], - [ - case "$enableval" in -- no) AC_DEFINE(__STL_NO_NAMESPACES) -+ no) AC_DEFINE(_STLP_NO_NAMESPACES) - _TEST_STD="" - _TEST_STD_BEGIN="" - _TEST_STD_END="" -@@ -750,7 +750,7 @@ - }], - [(void)ex_foo();], - [ac_cv_exceptions="yes"], -- [AC_DEFINE(__STL_HAS_NO_EXCEPTIONS) ac_cv_exceptions="no"]) -+ [AC_DEFINE(_STLP_HAS_NO_EXCEPTIONS) ac_cv_exceptions="no"]) - AC_MSG_RESULT($ac_cv_exceptions) - - if test "$ac_cv_exceptions" = yes; then -@@ -760,11 +760,11 @@ - [template inline int ex_spec_foo(const T&) throw () { return 0;} ], - [(void)ex_spec_foo(5);], - [ac_cv_exception_spec="yes"], -- [AC_DEFINE(__STL_NO_EXCEPTION_SPEC) ac_cv_exception_spec="no"]) -+ [AC_DEFINE(_STLP_NO_EXCEPTION_SPEC) ac_cv_exception_spec="no"]) - dnl if test "$ac_cv_exception_spec" = yes; then - dnl # check if no warnings have been issued - dnl if `check_warning` ; then --dnl AC_DEFINE(__STL_EXCEPTION_SPEC) -+dnl AC_DEFINE(_STLP_EXCEPTION_SPEC) - dnl else - dnl ac_cv_exception_spec=no - dnl fi -@@ -782,14 +782,14 @@ - }], - [(void)ex_foo();], - [ac_cv_throw_return_bug="no"], -- [AC_DEFINE(__STL_THROW_RETURN_BUG) ac_cv_throw_return_bug="yes"]) -+ [AC_DEFINE(_STLP_THROW_RETURN_BUG) ac_cv_throw_return_bug="yes"]) - - if test "$ac_cv_throw_return_bug" = no; then - # check if no warnings have been issued - if `check_warning` ; then - ac_cv_throw_return_bug="no" - else -- AC_DEFINE(__STL_THROW_RETURN_BUG) -+ AC_DEFINE(_STLP_THROW_RETURN_BUG) - ac_cv_throw_return_bug="yes" - fi - fi -@@ -801,7 +801,7 @@ - AC_TRY_COMPILE( - [ - #include -- # if !defined (__STL_HAS_NO_NAMESPACES) -+ # if !defined (_STLP_HAS_NO_NAMESPACES) - using namespace $_TEST_STD; - # endif - basic_string, allocator > bs; -@@ -809,7 +809,7 @@ - ], - [], - [ ac_cv_string_header="yes"], -- [ AC_DEFINE(__STL_NO_STRING_HEADER) ac_cv_string_header="no"] -+ [ AC_DEFINE(_STLP_NO_STRING_HEADER) ac_cv_string_header="no"] - ) - AC_MSG_RESULT($ac_cv_string_header) - -@@ -819,7 +819,7 @@ - AC_TRY_COMPILE( - [ - #include -- # if !defined (__STL_HAS_NO_NAMESPACES) -+ # if !defined (_STLP_HAS_NO_NAMESPACES) - using namespace $_TEST_STD; - # endif - string s; -@@ -835,7 +835,7 @@ - ], - [], - [ac_cv_stdexcept_header="yes"], -- [AC_DEFINE(__STL_NO_STDEXCEPT_HEADER) ac_cv_stdexcept_header="no"] -+ [AC_DEFINE(_STLP_NO_STDEXCEPT_HEADER) ac_cv_stdexcept_header="no"] - ) - AC_MSG_RESULT($ac_cv_stdexcept_header) - -@@ -844,7 +844,7 @@ - [ - #include - #include -- # if !defined (__STL_HAS_NO_NAMESPACES) -+ # if !defined (_STLP_HAS_NO_NAMESPACES) - using namespace $_TEST_STD; - # endif - -@@ -857,7 +857,7 @@ - outp(cout, "Hello World\n") - ], - [ac_cv_newstreams="yes"], -- [AC_DEFINE(__STL_HAS_NO_NEW_IOSTREAMS) ac_cv_newstreams="no"]) -+ [AC_DEFINE(_STLP_HAS_NO_NEW_IOSTREAMS) ac_cv_newstreams="no"]) - AC_MSG_RESULT($ac_cv_newstreams) - - dnl end namespace-related tests -@@ -868,7 +868,7 @@ - AC_TRY_COMPILE( - [ - #include -- # if !defined (__STL_HAS_NO_NAMESPACES) -+ # if !defined (_STLP_HAS_NO_NAMESPACES) - using namespace $_TEST_STD; - # endif - class my_exception: public $_TEST_STD::exception {}; -@@ -876,13 +876,13 @@ - ], - [], - [ac_cv_exception_header="yes"], -- [AC_DEFINE(__STL_NO_EXCEPTION_HEADER) ac_cv_exception_header="no"] -+ [AC_DEFINE(_STLP_NO_EXCEPTION_HEADER) ac_cv_exception_header="no"] - ) - AC_MSG_RESULT($ac_cv_exception_header) - - AC_MSG_CHECKING(builtin constructor bug) - AC_TRY_RUN( [ --# ifdef __STL_USE_NEW_STYLE_HEADERS -+# ifdef _STLP_USE_NEW_STYLE_HEADERS - # include - # include - # include -@@ -926,8 +926,8 @@ - } - ], - [ ac_cv_builtin_c_bug="no"], --[ AC_DEFINE(__STL_DEFAULT_CONSTRUCTOR_BUG) ac_cv_builtin_c_bug="yes"], --[ AC_DEFINE(__STL_DEFAULT_CONSTRUCTOR_BUG) ac_cv_builtin_c_bug="yes"] -+[ AC_DEFINE(_STLP_DEFAULT_CONSTRUCTOR_BUG) ac_cv_builtin_c_bug="yes"], -+[ AC_DEFINE(_STLP_DEFAULT_CONSTRUCTOR_BUG) ac_cv_builtin_c_bug="yes"] - ) - AC_MSG_RESULT($ac_cv_builtin_c_bug) - -@@ -938,7 +938,7 @@ - inline void tc_test_foo() { tc_bug_foo(output_iterator_tag()); }], - [tc_test_foo();], - [ac_cv_tc_bug="no"], -- [AC_DEFINE(__STL_TRIVIAL_CONSTRUCTOR_BUG) ac_cv_tc_bug="yes"]) -+ [AC_DEFINE(_STLP_TRIVIAL_CONSTRUCTOR_BUG) ac_cv_tc_bug="yes"]) - AC_MSG_RESULT($ac_cv_tc_bug) - - AC_MSG_CHECKING(for trivial destructor bug) -@@ -949,7 +949,7 @@ - [ td_bug_bar->~output_iterator_tag(); - ], - [ac_cv_td_bug="no"], -- [AC_DEFINE(__STL_TRIVIAL_DESTRUCTOR_BUG) ac_cv_td_bug="yes"]) -+ [AC_DEFINE(_STLP_TRIVIAL_DESTRUCTOR_BUG) ac_cv_td_bug="yes"]) - AC_MSG_RESULT($ac_cv_td_bug) - - AC_MSG_CHECKING(for explicit function template arguments) -@@ -967,7 +967,7 @@ - [ foo f1, f2; - int ret= (f1==f2) ], - [ _NULLARGS="<>" ac_cv_expl_fun_args="yes"], -- [ AC_DEFINE(__STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS) ac_cv_expl_fun_args="no" _NULLARGS=""]) -+ [ AC_DEFINE(_STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS) ac_cv_expl_fun_args="no" _NULLARGS=""]) - AC_MSG_RESULT($ac_cv_expl_fun_args) - - AC_MSG_CHECKING(for template parameter baseclass matching) -@@ -1004,7 +1004,7 @@ - ], - [ (void)tbase_foo((int)1); ], - [ac_cv_base_match="yes"], -- [AC_DEFINE(__STL_BASE_MATCH_BUG) ac_cv_base_match="no"]) -+ [AC_DEFINE(_STLP_BASE_MATCH_BUG) ac_cv_base_match="no"]) - AC_MSG_RESULT($ac_cv_base_match) - - AC_MSG_CHECKING(for non-template parameter baseclass matching ) -@@ -1037,7 +1037,7 @@ - ], - [ nont_base_foo((int)1); ], - [ac_cv_nont_base_match="yes"], -- [AC_DEFINE(__STL_NONTEMPL_BASE_MATCH_BUG) ac_cv_nont_base_match="no"]) -+ [AC_DEFINE(_STLP_NONTEMPL_BASE_MATCH_BUG) ac_cv_nont_base_match="no"]) - AC_MSG_RESULT($ac_cv_nont_base_match) - - AC_MSG_CHECKING(for nested type parameters bug) -@@ -1046,7 +1046,7 @@ - template inline nt_o::ii nt_o::foo(ii) { return 0; }], - [], - [ac_cv_nested_type_param_bug="no"], -- [AC_DEFINE(__STL_NESTED_TYPE_PARAM_BUG) ac_cv_nested_type_param_bug="yes"]) -+ [AC_DEFINE(_STLP_NESTED_TYPE_PARAM_BUG) ac_cv_nested_type_param_bug="yes"]) - AC_MSG_RESULT($ac_cv_nested_type_param_bug) - - -@@ -1087,8 +1087,8 @@ - (void)n(1,2); - ], - [ac_cv_typebug="no"], -- [AC_DEFINE(__STL_BASE_TYPEDEF_BUG) -- AC_DEFINE(__STL_BASE_TYPEDEF_OUTSIDE_BUG) ac_cv_typebug="yes"]) -+ [AC_DEFINE(_STLP_BASE_TYPEDEF_BUG) -+ AC_DEFINE(_STLP_BASE_TYPEDEF_OUTSIDE_BUG) ac_cv_typebug="yes"]) - AC_MSG_RESULT($ac_cv_typebug) - - AC_MSG_CHECKING(if inherited typedefs visible from outside) -@@ -1115,7 +1115,7 @@ - ], - [], - [ac_cv_outside_typedef="yes"], -- [AC_DEFINE(__STL_BASE_TYPEDEF_OUTSIDE_BUG) ac_cv_outside_typedef="no"]) -+ [AC_DEFINE(_STLP_BASE_TYPEDEF_OUTSIDE_BUG) ac_cv_outside_typedef="no"]) - AC_MSG_RESULT($ac_cv_outside_typedef) - - # fi -@@ -1129,7 +1129,7 @@ - ], - [], - [ac_cv_private="yes"], -- [AC_DEFINE(__STL_UNINITIALIZABLE_PRIVATE) ac_cv_private="no"]) -+ [AC_DEFINE(_STLP_UNINITIALIZABLE_PRIVATE) ac_cv_private="no"]) - AC_MSG_RESULT($ac_cv_private) - - -@@ -1146,7 +1146,7 @@ - ], - [], - [ac_cv_const_constructor_bug="no"], -- [AC_DEFINE(__STL_CONST_CONSTRUCTOR_BUG) ac_cv_const_constructor_bug="yes"]) -+ [AC_DEFINE(_STLP_CONST_CONSTRUCTOR_BUG) ac_cv_const_constructor_bug="yes"]) - AC_MSG_RESULT($ac_cv_const_constructor_bug) - - AC_MSG_CHECKING(for loop inline problems) -@@ -1155,13 +1155,13 @@ - int i; for (i=0; i0) a-=3; return a; }], - [(void)il_foo(2);], - [ac_cv_inline_problems="no"], -- [AC_DEFINE(__STL_LOOP_INLINE_PROBLEMS) ac_cv_inline_problems="yes"]) -+ [AC_DEFINE(_STLP_LOOP_INLINE_PROBLEMS) ac_cv_inline_problems="yes"]) - if test "$ac_cv_inline_problems" = no; then - # check if no warnings have been issued - if `check_warning` ; then - ac_cv_inline_problems="no" - else -- AC_DEFINE(__STL_LOOP_INLINE_PROBLEMS) -+ AC_DEFINE(_STLP_LOOP_INLINE_PROBLEMS) - ac_cv_inline_problems="yes" - fi - fi -@@ -1187,7 +1187,7 @@ - [ - int b(5); a.ptr=&b;], - [ac_cv_unused_required="no"], -- [AC_DEFINE(__SGI_STL_NO_ARROW_OPERATOR) ac_cv_unused_required="yes"] -+ [AC_DEFINE(_STPL_NO_ARROW_OPERATOR) ac_cv_unused_required="yes"] - ) - AC_MSG_RESULT($ac_cv_unused_required) - -@@ -1217,26 +1217,26 @@ - ], - [pmf_foo pmf; (void)mem_fun(&pmf_foo::bar)(&pmf)], - [ac_cv_pmf_bug="no"], -- [AC_DEFINE( __STL_MEMBER_POINTER_PARAM_BUG) ac_cv_pmf_bug="yes"]) -+ [AC_DEFINE( _STLP_MEMBER_POINTER_PARAM_BUG) ac_cv_pmf_bug="yes"]) - AC_MSG_RESULT($ac_cv_pmf_bug) - - AC_MSG_CHECKING(if bad_alloc defined in ) - AC_TRY_COMPILE( - [ -- #if !defined (__STL_NO_NEW_STYLE_HEADERS) -+ #if !defined (_STLP_NO_NEW_STYLE_HEADERS) - #include - #else - #include - #endif - -- # if !defined (__STL_HAS_NO_NAMESPACES) -+ # if !defined (_STLP_HAS_NO_NAMESPACES) - using namespace $_TEST_STD; - # endif - - bad_alloc badalloc_foo() { bad_alloc err; return err;}], - [(void)badalloc_foo()], - [ac_cv_bad_alloc="yes"], -- [AC_DEFINE(__STL_NO_BAD_ALLOC) ac_cv_bad_alloc="no"]) -+ [AC_DEFINE(_STLP_NO_BAD_ALLOC) ac_cv_bad_alloc="no"]) - AC_MSG_RESULT($ac_cv_bad_alloc) - - AC_MSG_CHECKING(for __type_traits automatic specialization) -@@ -1246,7 +1246,7 @@ - return 0; - }], - [(void)tt_foo(5)], -- [AC_DEFINE(__STL_AUTOMATIC_TYPE_TRAITS) ac_cv_type_traits="yes"], -+ [AC_DEFINE(_STLP_AUTOMATIC_TYPE_TRAITS) ac_cv_type_traits="yes"], - [ac_cv_type_traits="no"]) - AC_MSG_RESULT($ac_cv_type_traits) - -@@ -1261,7 +1261,7 @@ - --disable-exceptions Don't use exceptions support], - [ - case "$enableval" in -- no) AC_DEFINE(__STL_NO_EXCEPTIONS) -+ no) AC_DEFINE(_STLP_NO_EXCEPTIONS) - AC_MSG_RESULT(Config arg --disable-exceptions : disabling exceptions by user request);; - *) AC_MSG_RESULT(Config default: exceptions enabled) - esac -@@ -1277,7 +1277,7 @@ - --disable-relops No separate rel_ops namespace for relational operators], - [ - case "$enableval" in -- no) AC_DEFINE(__STL_NO_RELOPS_NAMESPACE) -+ no) AC_DEFINE(_STLP_NO_RELOPS_NAMESPACE) - AC_MSG_RESULT(Config arg --disable-relops : no std::rel_ops namespace by user request);; - *) AC_MSG_RESULT(Config default: Separate std::rel_ops namespace for relational operators) - esac -@@ -1285,7 +1285,7 @@ - [AC_MSG_RESULT(Config default: Separate std::rel_ops namespace for relational operators)] - ) - else -- AC_DEFINE(__STL_NO_RELOPS_NAMESPACE) -+ AC_DEFINE(_STLP_NO_RELOPS_NAMESPACE) - fi - - if test "$ac_cv_newheaders" = yes; then -@@ -1293,7 +1293,7 @@ - --disable-new-style-headers Don't use new-style headers], - [ - case "$enableval" in -- no) AC_DEFINE(__STL_NO_NEW_STYLE_HEADERS) -+ no) AC_DEFINE(_STLP_NO_NEW_STYLE_HEADERS) - AC_MSG_RESULT(Config arg --disable-new-style-headers : not using new-style headers);; - *) AC_MSG_RESULT(Config default: using new-style headers) - esac -@@ -1301,7 +1301,7 @@ - [AC_MSG_RESULT(Config default: using new-style headers)] - ) - else -- AC_DEFINE(__STL_NO_NEW_STYLE_HEADERS) -+ AC_DEFINE(_STLP_NO_NEW_STYLE_HEADERS) - fi - - if test "$ac_cv_newstreams" = yes; then -@@ -1309,7 +1309,7 @@ - --disable-new-iostreams Don't use new iostreams], - [ - case "$enableval" in -- no) AC_DEFINE(__STL_NO_NEW_IOSTREAMS) -+ no) AC_DEFINE(_STLP_NO_NEW_IOSTREAMS) - AC_MSG_RESULT(Config arg --disable-new-iostreams : not using new iostreams);; - *) AC_MSG_RESULT(Config default: using new iostreams) - esac -@@ -1317,7 +1317,7 @@ - [AC_MSG_RESULT(Config default: using new iostreams)] - ) - else -- AC_DEFINE(__STL_NO_NEW_IOSTREAMS) -+ AC_DEFINE(_STLP_NO_NEW_IOSTREAMS) - fi - - AC_ARG_ENABLE(sgi-allocators,[--enable-sgi-allocators : set default parameter to SGI-style default alloc, not allocator -@@ -1325,7 +1325,7 @@ - [ - case "$enableval" in - yes ) AC_MSG_RESULT(Config arg --enable-sgi-allocators : SGI-style alloc as default allocator) -- AC_DEFINE(__STL_USE_SGI_ALLOCATORS);; -+ AC_DEFINE(_STLP_USE_RAW_SGI_ALLOCATORS);; - * ) AC_MSG_RESULT(Config default: using allocator as default allocator if possible ) - esac - ], -@@ -1339,7 +1339,7 @@ - [ - case "$enableval" in - yes ) AC_MSG_RESULT(Config arg --enable-malloc : setting malloc_alloc as default alloc) -- AC_DEFINE(__STL_USE_MALLOC);; -+ AC_DEFINE(_STLP_USE_MALLOC);; - * ) AC_MSG_RESULT(Config default: not using malloc_alloc as default alloc) - esac - ], -@@ -1353,7 +1353,7 @@ - [ - case "$enableval" in - yes ) AC_MSG_RESULT(Config arg --enable-newalloc : setting new_alloc as default alloc) -- AC_DEFINE(__STL_USE_NEWALLOC);; -+ AC_DEFINE(_STLP_USE_NEWALLOC);; - * ) - AC_MSG_RESULT(Config default: not using new_alloc as default alloc) - esac -@@ -1370,7 +1370,7 @@ - no ) AC_MSG_RESULT(Config arg --disable-defalloc : not including HP-style defalloc.h into alloc.h);; - - * ) AC_MSG_RESULT(Config default : including HP-style defalloc.h into alloc.h) -- AC_DEFINE(__STL_USE_DEFALLOC) -+ AC_DEFINE(_STLP_USE_DEFALLOC) - esac - ], - [ -@@ -1384,7 +1384,7 @@ - [ - case "$enableval" in - yes ) AC_MSG_RESULT(Config arg --enable-debugalloc : use debug versions of allocators ) -- AC_DEFINE(__STL_DEBUG_ALLOC);; -+ AC_DEFINE(_STLP_DEBUG_ALLOC);; - * ) - AC_MSG_RESULT(Config default : not using debug allocators) - esac -@@ -1400,7 +1400,7 @@ - [ - case "$enableval" in - yes ) AC_MSG_RESULT(Config arg --enable-abbrevs : using abbreviated class names internally) -- AC_DEFINE(__STL_USE_ABBREVS);; -+ AC_DEFINE(_STLP_USE_ABBREVS);; - * ) - AC_MSG_RESULT(Config default : not using abbreviated class names internally) - esac -Only in tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/new_compiler: stlconf.h -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/new_compiler/stlconf.h.in tripwire-2.3.1-2/src/STLport-4.0/stlport/config/new_compiler/stlconf.h.in ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/new_compiler/stlconf.h.in Sat Feb 24 10:44:33 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/new_compiler/stlconf.h.in Sun Aug 11 18:59:24 2002 -@@ -16,8 +16,8 @@ - * - */ - --#ifndef __SGI_STL_STLCONF_H --# define __SGI_STL_STLCONF_H -+#ifndef _STLP_STLCONF_H -+# define _STLP_STLCONF_H - - # undef __AUTO_CONFIGURED - -@@ -31,102 +31,103 @@ - # if defined (__AUTO_CONFIGURED) - // auto-configured section - --# undef __STL_NO_EXCEPTIONS --# undef __STL_NO_NAMESPACES --# undef __STL_NO_RELOPS_NAMESPACE --# undef __STL_NO_NEW_NEW_HEADER -+# undef _STLP_NO_EXCEPTIONS -+# undef _STLP_NO_NAMESPACES -+# undef _STLP_NO_RELOPS_NAMESPACE -+# undef _STLP_NO_NEW_NEW_HEADER - --# undef __STL_NO_NEW_IOSTREAMS -+# undef _STLP_NO_NEW_IOSTREAMS - - // select threads strategy - # undef _PTHREADS - # undef _NOTHREADS - - // select SGI-style alloc instead of allocator --# undef __STL_USE_SGI_ALLOCATORS -+# undef _STLP_USE_SGI_ALLOCATORS - - // select allocation method you like --# undef __STL_USE_MALLOC --# undef __STL_USE_NEWALLOC -+# undef _STLP_USE_MALLOC -+# undef _STLP_USE_NEWALLOC - - // this one is not mandatory, just enabled --# undef __STL_USE_DEFALLOC -+# undef _STLP_USE_DEFALLOC - --// define __STL_USE_ABBREVS if your linker has trouble with long -+// define _STLP_USE_ABBREVS if your linker has trouble with long - // external symbols --# undef __STL_USE_ABBREVS -+# undef _STLP_USE_ABBREVS - - - // unsigned 32-bit integer type --# define __STL_UINT32_T unsigned --# undef __STL_NO_BOOL --# undef __STL_DONT_USE_BOOL_TYPEDEF --# undef __STL_YVALS_H --# undef __STL_LIMITED_DEFAULT_TEMPLATES --# undef __STL_DEFAULT_TYPE_PARAM --# undef __STL_NO_STATIC_TEMPLATE_DATA --# undef __STL_RAND48 --# undef __STL_LOOP_INLINE_PROBLEMS -- --# undef __STL_HAS_NO_NAMESPACES -- --# undef __STL_NEED_TYPENAME --# undef __STL_NEED_EXPLICIT --# undef __STL_HAS_NO_EXCEPTIONS --# undef __STL_NO_EXCEPTION_SPEC --# undef __STL_WEAK_ATTRIBUTE --# undef __STL_BASE_MATCH_BUG --# undef __STL_NONTEMPL_BASE_MATCH_BUG --# undef __STL_NESTED_TYPE_PARAM_BUG --# undef __SGI_STL_NO_ARROW_OPERATOR --# undef __STL_UNINITIALIZABLE_PRIVATE --# undef __STL_BASE_TYPEDEF_BUG --# undef __STL_BASE_TYPEDEF_OUTSIDE_BUG --# undef __STL_CONST_CONSTRUCTOR_BUG -- --# undef __STL_NO_NEW_STYLE_CASTS --# undef __STL_NO_WCHAR_T --# undef __STL_WCHAR_T_IS_USHORT --# undef __STL_LONG_LONG --# undef __STL_NO_LONG_DOUBLE --# undef __STL_NEED_MUTABLE --# undef __STL_NO_PARTIAL_SPECIALIZATION_SYNTAX --# undef __STL_NO_BAD_ALLOC --# undef __STL_DEBUG_ALLOC --# undef __STL_NO_MEMBER_TEMPLATES --# undef __STL_NO_MEMBER_TEMPLATE_CLASSES --# undef __STL_NO_MEMBER_TEMPLATE_KEYWORD --# undef __STL_NO_FRIEND_TEMPLATES --# undef __STL_NO_QUALIFIED_FRIENDS --# undef __STL_NO_CLASS_PARTIAL_SPECIALIZATION --# undef __STL_NO_FUNCTION_TMPL_PARTIAL_ORDER --# undef __STL_AUTOMATIC_TYPE_TRAITS --# undef __STL_MEMBER_POINTER_PARAM_BUG --# undef __STL_NON_TYPE_TMPL_PARAM_BUG --# undef __STL_NO_DEFAULT_NON_TYPE_PARAM --# undef __STL_NO_METHOD_SPECIALIZATION --# undef __STL_STATIC_ARRAY_BUG --# undef __STL_STATIC_CONST_INIT_BUG --# undef __STL_TRIVIAL_CONSTRUCTOR_BUG --# undef __STL_TRIVIAL_DESTRUCTOR_BUG --# undef __STL_BROKEN_USING_DIRECTIVE --# undef __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS --# undef __STL_NO_EXCEPTION_HEADER --# undef __STL_DEFAULT_CONSTRUCTOR_BUG -- --# undef __STL_HAS_NO_NEW_IOSTREAMS --# undef __STL_HAS_NO_NEW_C_HEADERS --# undef __STL_STATIC_CONST_INIT_BUG -+# define _STLP_UINT32_T unsigned -+# undef _STLP_NO_BOOL -+# undef _STLP_DONT_USE_BOOL_TYPEDEF -+# undef _STLP_YVALS_H -+# undef _STLP_LIMITED_DEFAULT_TEMPLATES -+# undef _STLP_DEFAULT_TYPE_PARAM -+# undef _STLP_NO_STATIC_TEMPLATE_DATA -+# undef _STLP_RAND48 -+# undef _STLP_LOOP_INLINE_PROBLEMS -+ -+# undef _STLP_HAS_NO_NAMESPACES -+ -+# undef _STLP_NEED_TYPENAME -+# undef _STLP_NEED_EXPLICIT -+# undef _STLP_HAS_NO_EXCEPTIONS -+# undef _STLP_NO_EXCEPTION_SPEC -+# undef _STLP_WEAK_ATTRIBUTE -+# undef _STLP_BASE_MATCH_BUG -+# undef _STLP_NONTEMPL_BASE_MATCH_BUG -+# undef _STLP_NESTED_TYPE_PARAM_BUG -+# undef _STLP_NO_ARROW_OPERATOR -+# undef _STLP_UNINITIALIZABLE_PRIVATE -+# undef _STLP_BASE_TYPEDEF_BUG -+# undef _STLP_BASE_TYPEDEF_OUTSIDE_BUG -+# undef _STLP_CONST_CONSTRUCTOR_BUG -+ -+# undef _STLP_NO_NEW_STYLE_CASTS -+# undef _STLP_NO_WCHAR_T -+# undef _STLP_WCHAR_T_IS_USHORT -+# undef _STLP_LONG_LONG -+# undef _STLP_NO_LONG_DOUBLE -+# undef _STLP_NEED_MUTABLE -+# undef _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX -+# undef _STLP_NO_BAD_ALLOC -+# undef _STLP_DEBUG_ALLOC -+# undef _STLP_NO_MEMBER_TEMPLATES -+# undef _STLP_NO_MEMBER_TEMPLATE_CLASSES -+# undef _STLP_NO_MEMBER_TEMPLATE_KEYWORD -+# undef _STLP_NO_FRIEND_TEMPLATES -+# undef _STLP_NO_QUALIFIED_FRIENDS -+# undef _STLP_NO_CLASS_PARTIAL_SPECIALIZATION -+# undef _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER -+# undef _STLP_AUTOMATIC_TYPE_TRAITS -+# undef _STLP_MEMBER_POINTER_PARAM_BUG -+# undef _STLP_NON_TYPE_TMPL_PARAM_BUG -+# undef _STLP_NO_DEFAULT_NON_TYPE_PARAM -+# undef _STLP_NO_METHOD_SPECIALIZATION -+# undef _STLP_STATIC_ARRAY_BUG -+# undef _STLP_STATIC_CONST_INIT_BUG -+# undef _STLP_TRIVIAL_CONSTRUCTOR_BUG -+# undef _STLP_TRIVIAL_DESTRUCTOR_BUG -+# undef _STLP_BROKEN_USING_DIRECTIVE -+# undef _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS -+# undef _STLP_NO_EXCEPTION_HEADER -+# undef _STLP_DEFAULT_CONSTRUCTOR_BUG -+ -+# undef _STLP_HAS_NO_NEW_IOSTREAMS -+# undef _STLP_HAS_NO_NEW_C_HEADERS -+# undef _STLP_STATIC_CONST_INIT_BUG - // new ones --# undef __STL_THROW_RETURN_BUG -+# undef _STLP_THROW_RETURN_BUG - // unimp --# undef __STL_LINK_TIME_INSTANTIATION --# undef __STL_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS -+# undef _STLP_LINK_TIME_INSTANTIATION -+# undef _STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS - // unimp --# undef __STL_NO_TEMPLATE_CONVERSIONS -+# undef _STLP_NO_TEMPLATE_CONVERSIONS - # endif /* AUTO_CONFIGURED */ - - //========================================================== - - - #endif /* __STLCONF_H */ -+ -Only in tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/new_compiler: test.cpp -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_apcc.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_apcc.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_apcc.h Sat Feb 24 10:44:27 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_apcc.h Sun Aug 11 18:59:24 2002 -@@ -1,29 +1,32 @@ - // STLport config file for Apogee 4.x - --# define __STL_NO_NEW_NEW_HEADER 1 --# define __STL_HAS_NO_NEW_IOSTREAMS 1 --# define __STL_HAS_NO_NEW_C_HEADERS 1 -+# define _STLP_NO_NEW_NEW_HEADER 1 -+# define _STLP_HAS_NO_NEW_IOSTREAMS 1 -+# define _STLP_HAS_NO_NEW_C_HEADERS 1 - --# define __STL_RAND48 1 --# define __STL_LONG_LONG 1 --# define __STL_NO_BAD_ALLOC 1 --# define __STL_NO_MEMBER_TEMPLATE_KEYWORD 1 --# define __STL_NON_TYPE_TMPL_PARAM_BUG 1 --// # define __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 --# define __STL_NO_EXCEPTION_HEADER 1 -+#if defined(_XOPEN_SOURCE) && (_XOPEN_VERSION - 0 >= 4) -+# define _STLP_RAND48 1 -+#endif -+// # define _STLP_RAND48 1 -+# define _STLP_LONG_LONG long long -+# define _STLP_NO_BAD_ALLOC 1 -+# define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1 -+# define _STLP_NON_TYPE_TMPL_PARAM_BUG 1 -+// # define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 -+# define _STLP_NO_EXCEPTION_HEADER 1 - --# undef __STL_LINK_TIME_INSTANTIATION --# define __STL_LINK_TIME_INSTANTIATION 1 -+# undef _STLP_LINK_TIME_INSTANTIATION -+# define _STLP_LINK_TIME_INSTANTIATION 1 - - # ifdef __STDLIB --# undef __STL_HAS_NO_NEW_IOSTREAMS --# undef __STL_NO_NEW_C_HEADERS --# undef __STL_NO_NEW_NEW_HEADER --# undef __STL_NO_BAD_ALLOC --# undef __STL_LONG_LONG -+# undef _STLP_HAS_NO_NEW_IOSTREAMS -+# undef _STLP_NO_NEW_C_HEADERS -+# undef _STLP_NO_NEW_NEW_HEADER -+# undef _STLP_NO_BAD_ALLOC -+# undef _STLP_LONG_LONG - # else --# undef __STL_NO_EXCEPTION_SPEC --# define __STL_NO_EXCEPTION_SPEC 1 -+# undef _STLP_NO_EXCEPTION_SPEC -+# define _STLP_NO_EXCEPTION_SPEC 1 - # endif - - -Only in tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config: stl_apple.bak.h -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_apple.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_apple.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_apple.h Sat Feb 24 10:44:27 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_apple.h Sun Aug 11 18:59:24 2002 -@@ -1,105 +1,112 @@ --// STLport configuration file --// It is internal STLport header - DO NOT include it directly -- --// common configuration settings for Apple MPW MrCpp / SCpp -- --#if defined(__MRC__) && __MRC__ < 0x500 --# error Apple's MPW MrCpp v.5.0.0 or better compiler required --#endif --#if defined(__SC__) && __SC__ < 0x890 --# error Apple's MPW SCpp v.8.9.0 or better compiler required --#endif -- --#ifdef qMacApp --# ifndef __CONDITIONALMACROS__ // skip including ConditionalMacros_AC.h if ConditionalMacros.h is already included --# include --# include --# include --# define __STL_FILE__ _FILE_AC --# define __STL_DEBUG_MESSAGE --# define __stl_debug_message ProgramBreak_AC --# include --# endif --# include --#else --# include --# include --#endif -- --#define __STL_UINT32_T UInt32 --typedef int wint_t; -- --#ifndef TYPE_BOOL --# error must be included. (TYPE_BOOL) --#endif --#if !TYPE_BOOL --# define __STL_NO_BOOL --# define __STL_DONT_USE_BOOL_TYPEDEF --#endif -- --#ifndef TYPE_LONGLONG --# error must be included. (TYPE_LONGLONG) --#endif --#if TYPE_LONGLONG --//# define __STL_LONG_LONG // deactivated since long long is not allowed as a template value argument [File "{STL}stl:_limits.h"; line 282] --#endif -- --#if !__option(exceptions) --# define __STL_HAS_NO_EXCEPTIONS --#endif -- --#define __STL_DEBUG_MESSAGE_POST DebugStr("\pSTL diagnosis issued. See 'stderr' for detail."); --#define __STL_ASSERT_MSG_TRAILER " " -- --#ifdef __STL_DEBUG --# define __STL_THROW(x) (DebugStr("\pSTL is about to throw exception: "#x),throw x) --#endif -- --#if defined(__MRC__) --# ifndef __spillargs --# define __spillargs 1 // MrCpp requires this symbol to be defined as 1 to properly handle va_start; ref.[ file stdarg.h; line 26 ] --# endif --#endif -- --#ifndef __STL_NATIVE_INCLUDE_PATH --# if __option(unix_includes) --# define __STL_NATIVE_INCLUDE_PATH ../CIncludes // expects the alias to {CIncludes} under the same folder as {STL} --# else --# define __STL_NATIVE_INCLUDE_PATH ::CIncludes // expects the alias to {CIncludes} under the same folder as {STL} --# endif --#endif --#if !defined(__STL_MAKE_HEADER) --# if !__option(unix_includes) --# define __STL_MAKE_HEADER(path, header) // Mac uses ":" for directory delimiter --# endif --#endif -- --# define _STLD _DBG // to keep the length of generated symbols within the compiler limitation -- --#define __SGI_STL_OWN_IOSTREAMS //*TY 01/11/2000 - EXPERIMENTAL --#define __STL_USE_STDIO_IO 1 //*TY 02/24/2000 - see also ; ref.[ file _fstream.h; line 36 ] -- -- --// native library limitations --#define __STL_VENDOR_GLOBAL_STD // mpw's c++ libs do not utilize namespace std yet --#define __STL_NO_BAD_ALLOC // known limitation --#define __STL_HAS_NO_NEW_C_HEADERS // known limitation --#define __STL_NO_NEW_NEW_HEADER // known limitation --#define __STL_HAS_NO_NEW_IOSTREAMS // known limitation --#define __STL_NO_NATIVE_MBSTATE_T // known limitation --#define __STL_NO_NATIVE_WIDE_FUNCTIONS // known limitation --#define __STL_NO_NATIVE_WIDE_STREAMS // known limitation --# define __STL_NO_EXCEPTION_HEADER 1 // fbp : please double-check the opportunity to use native header ! -- --// compiler limitations --# define __STL_MPWFIX_TRY try{ //*TY 06/01/2000 - exception handling bug workaround --# define __STL_MPWFIX_CATCH }catch(...){throw;} //*TY 06/01/2000 - exception handling bug workaround --# define __STL_MPWFIX_CATCH_ACTION(action) }catch(...){action;throw;} //*TY 06/01/2000 - exception handling bug workaround --# define __STL_NO_METHOD_SPECIALIZATION //*TY 04/15/2000 - late breaking compiler bug; ref.[ file _ios.h; line 161 ] --# define __STL_NO_COMPLEX_SPECIALIZATIONS //*TY 02/25/2000 - late breaking compiler bug; ref.[ file _complex.h; line 36 ] --# define __STL_THROW_RETURN_BUG // known limitation --# define __STL_NO_CLASS_PARTIAL_SPECIALIZATION // known limitation --# define __STL_NO_PARTIAL_SPECIALIZATION_SYNTAX // known limitation --# define __STL_NO_FUNCTION_TMPL_PARTIAL_ORDER // known limitation --# define __STL_NO_RELOPS_NAMESPACE // known limitation --// end of stl_apple.h -+// STLport configuration file -+// It is internal STLport header - DO NOT include it directly -+ -+// common configuration settings for Apple MPW MrCpp / SCpp -+ -+#if defined(__MRC__) && __MRC__ < 0x500 -+# error Apple's MPW MrCpp v.5.0.0 or better compiler required -+#endif -+#if defined(__SC__) && __SC__ < 0x890 -+# error Apple's MPW SCpp v.8.9.0 or better compiler required -+#endif -+ -+#ifdef qMacApp -+# ifndef __CONDITIONALMACROS__ // skip including ConditionalMacros_AC.h if ConditionalMacros.h is already included -+# include -+# include -+# include -+# define _STLP_FILE__ _FILE_AC -+# define _STLP_DEBUG_MESSAGE -+# define __stl_debug_message ProgramBreak_AC -+# include -+# endif -+# include -+#else -+# include -+# include -+#endif -+ -+#define _STLP_UINT32_T UInt32 -+typedef int wint_t; -+ -+#ifndef TYPE_BOOL -+# error must be included. (TYPE_BOOL) -+#endif -+#if !TYPE_BOOL -+# define _STLP_NO_BOOL -+# define _STLP_DONT_USE_BOOL_TYPEDEF -+#endif -+ -+#ifndef TYPE_LONGLONG -+# error must be included. (TYPE_LONGLONG) -+#endif -+#if TYPE_LONGLONG -+# define _STLP_LONG_LONG long long -+#endif -+ -+#if !__option(exceptions) -+# define _STLP_HAS_NO_EXCEPTIONS -+#endif -+ -+#define _STLP_DEBUG_MESSAGE_POST DebugStr("\pSTL diagnosis issued. See 'stderr' for detail."); -+#define _STLP_ASSERT_MSG_TRAILER " " -+ -+#ifdef _STLP_DEBUG -+# define _STLP_THROW(x) (DebugStr("\pSTL is about to throw exception: "#x),throw x) -+#endif -+ -+#if defined(__MRC__) -+# ifndef __spillargs -+# define __spillargs 1 // MrCpp requires this symbol to be defined as 1 to properly handle va_start; ref.[ file stdarg.h; line 26 ] -+# endif -+#endif -+ -+#if defined(__SC__) -+#define _STLP_VENDOR_LONG_DOUBLE_MATH //*TY 12/03/2000 - SCpp's native math type is long double -+#endif -+ -+#ifndef _STLP_NATIVE_INCLUDE_PATH -+# if __option(unix_includes) -+# define _STLP_NATIVE_INCLUDE_PATH ../CIncludes // expects the alias to {CIncludes} under the same folder as {STL} -+# else -+# define _STLP_NATIVE_INCLUDE_PATH ::CIncludes // expects the alias to {CIncludes} under the same folder as {STL} -+# endif -+#endif -+#if !defined(_STLP_MAKE_HEADER) -+# if !__option(unix_includes) -+# define _STLP_MAKE_HEADER(path, header) // Mac uses ":" for directory delimiter -+# endif -+#endif -+ -+# define _STLD _DBG // to keep the length of generated symbols within the compiler limitation -+ -+#define _STLP_OWN_IOSTREAMS -+#define _STLP_USE_STDIO_IO 1 //*TY 02/24/2000 - see also ; ref.[ file _fstream.h; line 36 ] -+#define _STLP_NO_THREADS //*TY 12/17/2000 - multi-thread capability not explored, yet. -+#undef _REENTRANT //*ty 11/24/2001 - to make sure no thread facility is activated -+#define _NOTHREADS //*ty 12/07/2001 - -+ -+// native library limitations -+#define _STLP_VENDOR_GLOBAL_STD // mpw's c++ libs do not utilize namespace std yet -+#define _STLP_NO_BAD_ALLOC // known limitation -+#define _STLP_HAS_NO_NEW_C_HEADERS // known limitation -+#define _STLP_NO_NEW_NEW_HEADER // known limitation -+#define _STLP_HAS_NO_NEW_IOSTREAMS // known limitation -+#define _STLP_NO_NATIVE_MBSTATE_T // known limitation -+#define _STLP_NO_NATIVE_WIDE_FUNCTIONS // known limitation -+#define _STLP_NO_NATIVE_WIDE_STREAMS // known limitation -+#define _STLP_INCOMPLETE_EXCEPTION_HEADER // known limitation -+#define _STLP_BROKEN_EXCEPTION_CLASS // known limitation -+ -+// compiler limitations -+# define _STLP_DONT_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS -+ -+# define _STLP_MPWFIX_TRY try{ //*TY 06/01/2000 - exception handling bug workaround -+# define _STLP_MPWFIX_CATCH }catch(...){throw;} //*TY 06/01/2000 - exception handling bug workaround -+# define _STLP_MPWFIX_CATCH_ACTION(action) }catch(...){action;throw;} //*TY 06/01/2000 - exception handling bug workaround -+# define _STLP_THROW_RETURN_BUG // known limitation -+# define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION // known limitation -+# define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX // known limitation -+# define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER // known limitation -+# define _STLP_NO_RELOPS_NAMESPACE // known limitation -+// end of stl_apple.h -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_as400.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_as400.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_as400.h Sat Feb 24 10:44:27 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_as400.h Sun Aug 11 18:59:24 2002 -@@ -3,52 +3,58 @@ - - // AS/400 C++ config - --# define __STL_NO_BOOL --# define __STL_LIMITED_DEFAULT_TEMPLATES -- --# define __STL_HAS_NO_NAMESPACES --# define __STL_NEED_TYPENAME --# define __STL_NEED_EXPLICIT --# define __STL_HAS_NO_EXCEPTIONS --# define __STL_NO_EXCEPTION_SPEC --# define __SGI_STL_NO_ARROW_OPERATOR --# define __STL_NO_PROXY_ARROW_OPERATOR --# define __STL_NO_NEW_STYLE_CASTS -- --# define __STL_NEED_MUTABLE --# define __STL_NO_PARTIAL_SPECIALIZATION_SYNTAX --# define __STL_NO_BAD_ALLOC --# define __STL_NO_MEMBER_TEMPLATES --# define __STL_NO_MEMBER_TEMPLATE_CLASSES --# define __STL_NO_MEMBER_TEMPLATE_KEYWORD --# define __STL_NO_FRIEND_TEMPLATES --# define __STL_NO_QUALIFIED_FRIENDS --# define __STL_NO_CLASS_PARTIAL_SPECIALIZATION --# define __STL_NO_FUNCTION_TMPL_PARTIAL_ORDER -- --# define __STL_NO_METHOD_SPECIALIZATION --# define __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS --# define __STL_NO_EXCEPTION_HEADER -- --# define __STL_HAS_NO_NEW_IOSTREAMS --# define __STL_HAS_NO_NEW_C_HEADERS -- --# define __STL_STATIC_CONST_INIT_BUG --# define __STL_THROW_RETURN_BUG --# define __STL_LINK_TIME_INSTANTIATION --# define __STL_NO_TEMPLATE_CONVERSIONS -- --# define __STL_UNINITIALIZABLE_PRIVATE 1 --# define __STL_STATIC_ARRAY_BUG 1 --# define __STL_NON_TYPE_TMPL_PARAM_BUG 1 --# define __STL_TRIVIAL_DESTRUCTOR_BUG 1 -+# ifdef _REENTRANT -+# define _PTHREADS -+# endif -+ -+# define _STLP_NO_NEW_NEW_HEADER 1 -+ -+# define _STLP_NO_BOOL -+# define _STLP_LIMITED_DEFAULT_TEMPLATES -+ -+# define _STLP_HAS_NO_NAMESPACES -+# define _STLP_NEED_TYPENAME -+# define _STLP_NEED_EXPLICIT -+# define _STLP_HAS_NO_EXCEPTIONS -+# define _STLP_NO_EXCEPTION_SPEC -+# define _STLP_NO_ARROW_OPERATOR -+# define _STLP_NO_NEW_STYLE_CASTS -+ -+# define _STLP_NEED_MUTABLE -+# define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX -+# define _STLP_NO_BAD_ALLOC -+# define _STLP_NO_MEMBER_TEMPLATES -+# define _STLP_NO_MEMBER_TEMPLATE_CLASSES -+# define _STLP_NO_MEMBER_TEMPLATE_KEYWORD -+# define _STLP_NO_FRIEND_TEMPLATES -+# define _STLP_NO_QUALIFIED_FRIENDS -+# define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION -+# define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER -+ -+# define _STLP_NO_METHOD_SPECIALIZATION -+# define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS -+ -+// # define _STLP_NO_EXCEPTION_HEADER -+ -+# define _STLP_HAS_NO_NEW_IOSTREAMS -+# define _STLP_HAS_NO_NEW_C_HEADERS -+ -+# define _STLP_STATIC_CONST_INIT_BUG -+# define _STLP_THROW_RETURN_BUG -+# define _STLP_LINK_TIME_INSTANTIATION -+# define _STLP_NO_TEMPLATE_CONVERSIONS -+ -+# define _STLP_UNINITIALIZABLE_PRIVATE 1 -+# define _STLP_STATIC_ARRAY_BUG 1 -+# define _STLP_NON_TYPE_TMPL_PARAM_BUG 1 -+# define _STLP_TRIVIAL_DESTRUCTOR_BUG 1 - - # if defined(_LONG_LONG) --# define __STL_LONG_LONG 1 -+# define _STLP_LONG_LONG long long - # endif --// # define __STL_LONG_DOUBLE 1 -+// # define _STLP_LONG_DOUBLE 1 - # if defined(_PTHREADS) - # define _MULTI_THREADED - # endif - // fbp : to fix __partition() problem --# define __STL_NONTEMPL_BASE_MATCH_BUG 1 -+# define _STLP_NONTEMPL_BASE_MATCH_BUG 1 -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_bc.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_bc.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_bc.h Sat Feb 24 10:44:27 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_bc.h Sun Aug 11 18:59:24 2002 -@@ -3,106 +3,109 @@ - - - // versions ? --# define __STL_CALL __cdecl --# define __STL_DLLEXPORT_NEEDS_PREDECLARATION --# define __STL_OPERATOR_SPEC_NEEDS_TEMPLATE_ARGS -+# if defined(_STLP_DESIGNATED_DLL) -+# define _STLP_CALL __cdecl __export -+# elif defined(_RTLDLL) -+# define _STLP_CALL __cdecl __import -+# else -+# define _STLP_CALL __cdecl -+# endif - --// most of contents is still in global namespace --# define __STL_VENDOR_UNEXPECTED_STD -+# define _USE_STLP -+// # define _STLP_USE_OWN_NAMESPACE -+# define _STLP_DLLEXPORT_NEEDS_PREDECLARATION -+# define _STLP_OPERATOR_SPEC_NEEDS_TEMPLATE_ARGS - --// cannot work with dynamic lib as for now - locale initialization problems --#ifndef __STL_USE_STATIC_LIB --# define __STL_USE_STATIC_LIB --#endif -+// most of contents is still in global namespace -+// # define _STLP_VENDOR_UNEXPECTED_STD - - // problem --# define __STL_STATIC_CONST_INIT_BUG -+# define _STLP_STATIC_CONST_INIT_BUG - - // problems --# define __STL_MEMBER_SPECIALIZATION_BUG --# define __STL_USING_BASE_MEMBER --# define __STL_HAS_SPECIFIC_PROLOG_EPILOG 1 -+# define _STLP_MEMBER_SPECIALIZATION_BUG -+# define _STLP_HAS_SPECIFIC_PROLOG_EPILOG 1 - - #if ( __BORLANDC__ < 0x540 ) - // Borland C++ Builder 3 (?) - // those are assumptions, if some of them actually work, please let me know --# define __STL_STATIC_CONST_INIT_BUG 1 --// # define __STL_THROW_RETURN_BUG 1 --# define __STL_NO_TEMPLATE_CONVERSIONS 1 --# define __STL_DEFAULT_CONSTRUCTOR_BUG 1 --# define __STL_NO_TYPENAME_ON_RETURN_TYPE -+// # define _STLP_STATIC_CONST_INIT_BUG 1 -+// # define _STLP_THROW_RETURN_BUG 1 -+# define _STLP_NO_TEMPLATE_CONVERSIONS 1 -+# define _STLP_DEFAULT_CONSTRUCTOR_BUG 1 -+# define _STLP_NO_TYPENAME_ON_RETURN_TYPE -+#else -+# define _STLP_LONG_LONG __int64 - #endif - - // BCB 2 or less (Borland 5.02) - #if ( __BORLANDC__ < 0x530 ) - --# define __STL_NO_SGI_IOSTREAMS --# undef __SGI_STL_OWN_IOSTREAMS -+# define _STLP_NO_OWN_IOSTREAMS -+# undef _STLP_OWN_IOSTREAMS - --# define __STL_GLOBAL_VENDOR_CSTD 1 --# define __STL_HAS_NO_NEW_IOSTREAMS 1 --# define __STL_HAS_NO_NEW_C_HEADERS 1 -- --# define __STL_NO_MEMBER_TEMPLATES 1 --# define __STL_NO_MEMBER_TEMPLATE_CLASSES 1 --# define __STL_NO_MEMBER_TEMPLATE_KEYWORD 1 --# define __STL_NO_FRIEND_TEMPLATES 1 --# define __STL_NO_QUALIFIED_FRIENDS 1 --# define __STL_NO_CLASS_PARTIAL_SPECIALIZATION 1 --# define __STL_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 --# define __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 -- --# define __STL_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 -- --# define __STL_NO_DEFAULT_NON_TYPE_PARAM 1 --# define __STL_NON_TYPE_TMPL_PARAM_BUG 1 --# define __STL_MEMBER_SPECIALIZATION_BUG --# define __STL_NO_EXCEPTION_HEADER 1 --# define __STL_NO_EXCEPTION_SPEC 1 -- --# define __STL_NO_BAD_ALLOC 1 --# define __SGI_STL_NO_ARROW_OPERATOR 1 --# define __STL_NO_PROXY_ARROW_OPERATOR 1 -+# define _STLP_GLOBAL_VENDOR_CSTD 1 -+# define _STLP_HAS_NO_NEW_IOSTREAMS 1 -+# define _STLP_HAS_NO_NEW_C_HEADERS 1 -+ -+# define _STLP_NO_MEMBER_TEMPLATES 1 -+# define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1 -+# define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1 -+# define _STLP_NO_FRIEND_TEMPLATES 1 -+# define _STLP_NO_QUALIFIED_FRIENDS 1 -+# define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1 -+# define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 -+# define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 -+ -+# define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 -+ -+# define _STLP_NO_DEFAULT_NON_TYPE_PARAM 1 -+# define _STLP_NON_TYPE_TMPL_PARAM_BUG 1 -+# define _STLP_MEMBER_SPECIALIZATION_BUG -+# define _STLP_NO_EXCEPTION_HEADER 1 -+# define _STLP_NO_EXCEPTION_SPEC 1 - -+# define _STLP_NO_BAD_ALLOC 1 -+# define _STLP_NO_ARROW_OPERATOR 1 - - typedef char mbstate_t; - --# define __STL_LIMITED_DEFAULT_TEMPLATES 1 --# define __STL_NO_TYPEINFO --# define __STL_NO_METHOD_SPECIALIZATION -+# define _STLP_LIMITED_DEFAULT_TEMPLATES 1 -+# define _STLP_NO_TYPEINFO -+# define _STLP_NO_METHOD_SPECIALIZATION - - #endif - - // Borland 5.0x - #if ( __BORLANDC__ < 0x520 ) - --# define __STL_BROKEN_USING_DIRECTIVE 1 --# define __STLPORT_EXPORT_KEYWORD _export --# define __STLPORT_IMPORT_KEYWORD _import --# define __STLPORT_EXPORT_TEMPLATE_KEYWORD _export --# define __STLPORT_IMPORT_TEMPLATE_KEYWORD _import -+# define _STLP_BROKEN_USING_DIRECTIVE 1 -+# define _STLP_EXPORT_KEYWORD _export -+# define _STLP_IMPORT_KEYWORD _import -+# define _STLP_EXPORT_TEMPLATE_KEYWORD _export -+# define _STLP_IMPORT_TEMPLATE_KEYWORD _import - #endif - - #if ( __BORLANDC__ < 0x501 ) --# define __STL_NONTEMPL_BASE_MATCH_BUG 1 --# define __STL_NO_WCHAR_T 1 -+# define _STLP_NONTEMPL_BASE_MATCH_BUG 1 -+# define _STLP_NO_WCHAR_T 1 - #endif - - // 4.x - #if ( __BORLANDC__ < 0x500 ) --# define __STL_NESTED_TYPE_PARAM_BUG 1 --# define __STL_STATIC_ARRAY_BUG 1 --# define __STL_NO_BOOL 1 --# define __STL_HAS_NO_NAMESPACES 1 --# define __STL_NEED_TYPENAME 1 --# define __STL_NEED_EXPLICIT 1 --# define __STL_NEED_MUTABLE 1 --# define __STL_NO_WCHAR_T 1 -+# define _STLP_NESTED_TYPE_PARAM_BUG 1 -+# define _STLP_STATIC_ARRAY_BUG 1 -+# define _STLP_NO_BOOL 1 -+# define _STLP_HAS_NO_NAMESPACES 1 -+# define _STLP_NEED_TYPENAME 1 -+# define _STLP_NEED_EXPLICIT 1 -+# define _STLP_NEED_MUTABLE 1 -+# define _STLP_NO_WCHAR_T 1 - #endif - - // auto enable thread safety and exceptions: - # ifndef _CPPUNWIND --# define __STL_HAS_NO_EXCEPTIONS -+# define _STLP_HAS_NO_EXCEPTIONS - # endif - - # if defined ( __MT__ ) && !defined (_NOTHREADS) && !defined (_REENTRANT) -@@ -110,38 +113,91 @@ - # endif - - # if defined ( __DEBUG ) && ( __DEBUG > 1 ) --# define __STL_DEBUG -+# define _STLP_DEBUG - # endif - --// Stop complaints about functions not inlined --# pragma option -w-inl --// Stop complaints about significant digits --# pragma option -w-sig --// Stop complaint about constant being long --# pragma option -w-cln -- --# define __STL_LIB_BASENAME "stlport_bcc" -+# define _STLP_LIB_BASENAME "stlp" - - # if (__BORLANDC__ < 0x540) - --# define __STL_EXPORT_DECLSPEC __declspec(dllexport) --# define __STL_IMPORT_DECLSPEC __declspec(dllimport) --# define __STL_IMPORT_TEMPLATE_KEYWORD extern --# define __STL_EXPORT_TEMPLATE_KEYWORD -+# define _STLP_EXPORT_DECLSPEC __declspec(dllexport) -+# define _STLP_IMPORT_DECLSPEC __declspec(dllimport) -+# define _STLP_IMPORT_TEMPLATE_KEYWORD extern -+# define _STLP_EXPORT_TEMPLATE_KEYWORD - --# define __STL_CLASS_EXPORT_DECLSPEC __declspec(dllexport) --# define __STL_CLASS_IMPORT_DECLSPEC __declspec(dllimport) -+# define _STLP_CLASS_EXPORT_DECLSPEC __declspec(dllexport) -+# define _STLP_CLASS_IMPORT_DECLSPEC __declspec(dllimport) - --# if !defined (__STL_NO_SGI_IOSTREAMS) -+# if !defined (_STLP_NO_OWN_IOSTREAMS) - - # if ( defined (__DLL) || defined (_DLL) || defined (_WINDLL) || defined (_RTLDLL) \ -- || defined (__STL_USE_DYNAMIC_LIB) ) \ -- && ! defined (__STL_USE_STATIC_LIB) --# undef __STL_USE_DECLSPEC --# define __STL_USE_DECLSPEC -+ || defined (_STLP_USE_DYNAMIC_LIB) ) \ -+ && ! defined (_STLP_USE_STATIC_LIB) -+# undef _STLP_USE_DECLSPEC -+# define _STLP_USE_DECLSPEC - # endif - # endif - - # else --# include -+ -+# define _STLP_EXPORT_DECLSPEC __declspec(dllexport) -+# define _STLP_IMPORT_DECLSPEC __declspec(dllimport) -+ -+# define _STLP_CLASS_EXPORT_DECLSPEC __declspec(dllexport) -+# define _STLP_CLASS_IMPORT_DECLSPEC __declspec(dllimport) -+ -+# if !defined (_STLP_NO_OWN_IOSTREAMS) -+ -+# if ( defined (__DLL) || defined (_DLL) || defined (_WINDLL) || defined (_RTLDLL) \ -+ || defined(_AFXDLL) || defined (_STLP_USE_DYNAMIC_LIB) ) -+# undef _STLP_USE_DECLSPEC -+# define _STLP_USE_DECLSPEC 1 -+# endif -+ -+# ifndef _STLP_IMPORT_TEMPLATE_KEYWORD -+# define _STLP_IMPORT_TEMPLATE_KEYWORD __declspec(dllimport) -+# endif -+# define _STLP_EXPORT_TEMPLATE_KEYWORD __declspec(dllexport) -+ -+# if (__BORLANDC__ >= 0x560) && ! defined (_STLP_OWN_IOSTREAMS) -+// # define _STLP_IS_NATIVE_LIB -+# define _STLP_NATIVE_INCLUDE_PATH ../include/oldstl -+# define _STLP_NATIVE_CPP_C_INCLUDE_PATH ../include/oldstl -+# define _STLP_NATIVE_C_INCLUDE_PATH ../include/oldstl -+# define _STLP_NATIVE_CPP_RUNTIME_PATH ../include/oldstl -+# endif -+ -+# ifndef __BUILDING_STLPORT -+# ifdef _STLP_DEBUG -+# ifdef _MT -+# ifdef _RTLDLL -+# pragma comment(lib,"stlpmt_stldebug45.lib") -+# else -+# pragma comment(lib,"stlpmt_stldebugst.lib") -+# endif -+# else -+# ifdef _RTLDLL -+# pragma comment(lib,"stlp_stldebug45.lib") -+# else -+# pragma comment(lib,"stlp_stldebugst.lib") -+# endif -+# endif -+# else -+# ifdef _MT -+# ifdef _RTLDLL -+# pragma comment(lib,"stlpmt45.lib") -+# else -+# pragma comment(lib,"stlpmtst.lib") -+# endif -+# else -+# ifdef _RTLDLL -+# pragma comment(lib,"stlp45.lib") -+# else -+# pragma comment(lib,"stlpst.lib") -+# endif -+# endif -+# endif -+# endif -+ -+# endif /* _STLP_OWN_IOSTREAMS */ - # endif -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_como.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_como.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_como.h Sat Feb 24 10:44:27 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_como.h Sun Aug 11 18:59:24 2002 -@@ -1,30 +1,209 @@ -+ - // STLport configuration file - // It is internal STLport header - DO NOT include it directly - --// COMO 4.238 with MSVC - --# define __STL_UINT32_T unsigned int -+# define _STLP_UINT32_T unsigned int -+ -+# define _STLP_HAS_NO_NEW_C_HEADERS -+// # define _STLP_VENDOR_GLOBAL_EXCEPT_STD -+// # define _STLP_LONG_LONG -+ -+ -+// -+// ADDITIONS FOR COMEAU C++, made by Comeau Computing. -+// We can be reached through comeau@comeaucomputing.com -+// You shouldn't need to change anything below here for Comeau C++. -+// If you do, please tell us at comeau@comeaucomputing.com -+// -+// Changes made here, AND THROUGH ALL FILES, based upon the __COMO__ macro -+// (and SIMILAR NAMES INVOLVING COMO).... no doubt some of this will -+// change as SGI integrates the changes into their code base since -+// some changes are not really Comeau C++ specific, but required to -+// make the SGI code compliant with Standard C++). -+// -+// Testing was done with Comeau C++ 4.2.44 and 4.2.45.2. Changes were made for -+// both Comeau relaxed mode and Comeau strict mode, especially for end user code -+// (that is, some of the .cxx files cannot compile in strict mode, because they -+// contain extensions to Standard C++, however their object code forms can -+// be used once compiled in relaxed mode, even if the end user code uses -+// strict mode). -+// -+// These changes may also work for some earlier versions of Comeau C++, -+// though we have not tested them. -+// -+// Actual mods made under RedHat 6.1 LINUX, should be ok with SuSE too and -+// other LINUX's, and older Caldera LINUX, Solaris/SPARC, SunOS, SCO UNIX, -+// and NetBSD. Other platforms may be added. Comeau will also perform -+// custom ports for you. -+// -+// Check libcomo details at http://www.comeaucomputing.com/libcomo and -+// http://www.comeaucomputing.com -+// -+// History of Comeau changes (this is rough, as work was often going on in parallel): -+// BETA1 July 14, 2000, Initial port for RedHat 6.1 INTEL/ELF -+// BETA2 Aug 4, 2000, Stronger RedHat support -+// Support for Comeau strict mode for end user code -+// BETA3 Aug 22, 2000, Support for other LINUX/INTEL/ELF's, including older ones -+// BETA4 Sept 2, 2000, Initial support for SCO UNIX + other UNIX x86 SVR3's -+// Stronger support for end user Comeau strict mode -+// BETA5 Oct 5, 2000, Initial support for Solaris/SPARC -+// More SCO support (though still incomplete) -+// BETA6 Feb 5, 2001, Minor mods to accomodate Comeau C++ 4.2.45.1 -+// BETA7 Mar 13, 2001, Verified with Comeau C++ 4.2.45.2 -+// Minor NetBSD support -+// BETA8 Apr 1. 2001, Initial support for SunOS/SPARC -+// BETA9 Apr 7, 2001, Stronger SCO support + other UNIX x86 SVR3's -+// Mods for an fpos_t problem for some LINUXes -+// Mods since Destroy did not work in strict mode -+// BETA10 Apr 12. 2001, Stronger NetBSD support -+// -+// PLANNED: -+// BETAx TBA TBA, 2001, NetBSD, UNIXWARE, and Windows support expected -+// -+ -+ -+#ifdef __linux__ -+ -+# define _STLP_NO_NATIVE_MBSTATE_T 1 -+# define _STLP_NO_NATIVE_WIDE_FUNCTIONS 1 -+# define _STLP_NO_NATIVE_WIDE_STREAMS 1 -+# define _STLP_NO_LONG_DOUBLE 1 -+ -+// Comeau C++ under LINUX/INTEL/ELF -+// Preprocess away "long long" routines for now, even in relaxed mode -+# define __wcstoull_internal_defined 1 -+# define __wcstoll_internal_defined 1 -+ -+#endif /* __COMO__ under __linux__ */ -+ -+#ifdef __USING_x86SVR3x_WITH_COMO /* SCO et al */ -+/* UNIX 386+ SVR3 mods made with __USING_x86SVR3x_WITH_COMO -+ in other sources, not here */ -+# define atan2l atan2 -+# define cosl cos -+# define sinl sin -+# define sqrtl sqrt -+# include -+ inline long double expl(long double arg) { return exp(arg); } -+ inline long double logl(long double arg) { return log(arg); } -+# define log10l log10 -+ -+# define sinhl sinh -+# define coshl cosh -+# define fabsl fabs -+namespace std { -+ inline int min(int a, int b) { return a>b ? b : a; } -+} -+#endif -+ -+#ifdef sun -+// Comeau C++ under Solaris/SPARC or SunOS -+ -+#ifdef solarissparc -+#define __USING_SOLARIS_SPARC_WITH_COMO /* show this in the source when grep'ing for COMO */ -+// Note comowchar.h for Solaris/SPARC wchar stuff -+ -+#include -+# define sinf sin -+# define sinl sin -+# define sinhf sinh -+# define sinhl sinh -+# define cosf cos -+# define cosl cos -+# define coshf cosh -+# define coshl cosh -+# define atan2l atan2 -+# define atan2f atan2 -+ inline float logf(float arg) { return log(arg); } -+ inline long double logl(long double arg) { return log(arg); } -+# define log10f log10 -+# define log10l log10 -+# define expf exp -+ inline long double expl(long double arg) { return exp(arg); } -+# define sqrtf sqrt -+# define sqrtl sqrt -+# define fabsf fabs -+# define fabsl fabs -+#else -+#define __USING_SUNOS_WITH_COMO -+ -+#define __unix 1 -+#define __EXTENSIONS__ /* This might create undue noise somewhere */ -+#endif -+#endif /* sun */ -+ -+#if defined(__NetBSD__) -+// From non-como #ifdef __GNUC__ above -+#undef _STLP_NO_FUNCTION_PTR_IN_CLASS_TEMPLATE -+#define __unix 1 -+ -+#include -+// Some joker #define'd __END_DECLS as }; -+#undef __END_DECLS -+#define __END_DECLS } -+ -+// prob -+#include -+#undef __RENAME -+#define __RENAME(x) -+ -+#define wchar_t __COMO_WCHAR_T -+#include -+#undef wchar_t -+ -+#include -+# ifdef BORIS_DISABLED -+# define atan2l atan2 -+# define cosl cos -+# define sinl sin -+# define sqrtl sqrt -+ inline long double expl(long double arg) { return exp(arg); } -+ inline long double logl(long double arg) { return log(arg); } -+# define log10l log10 -+# define sinhl sinh -+# define coshl cosh -+# define fabsl fabs -+# endif -+#endif /* __NetBSD__ under __COMO__ */ -+ -+// Shouldn't need to change anything below here for Comeau C++ -+// If so, tell us at comeau@comeaucomputing.com -+ -+#define _STLP_NO_DRAND48 -+ -+#define _STLP_PARTIAL_SPECIALIZATION_SYNTAX -+#define _STLP_NO_USING_CLAUSE_IN_CLASS -+ -+ -+#if __COMO_VERSION__ >= 4245 -+#define _STLP_NO_EXCEPTION_HEADER /**/ -+#endif -+#define _STLP_NO_BAD_ALLOC /**/ -+#define _STLP_USE_AUTO_PTR_CONVERSIONS /**/ -+ -+#if __COMO_VERSION__ >= 4245 -+// Is this needed? -+#include -+// -+// ALSO: SEE THE END OF THIS FILE FOR #INCLUDE -+// -+#endif - - // this one is true only with MS - # if defined (_MSC_VER) --# define __STL_WCHAR_T_IS_USHORT 1 -+# define _STLP_WCHAR_T_IS_USHORT 1 - # if _MSC_VER <= 1200 --# define __STL_VENDOR_GLOBAL_CSTD -+# define _STLP_VENDOR_GLOBAL_CSTD - # endif - # if _MSC_VER < 1100 --# define __STL_NO_BAD_ALLOC 1 --# define __STL_NO_EXCEPTION_HEADER 1 --# define __STL_HAS_NO_NEW_C_HEADERS 1 --# define __STL_NO_NEW_NEW_HEADER 1 --# define __STL_NO_NEW_IOSTREAMS 1 -+# define _STLP_NO_BAD_ALLOC 1 -+# define _STLP_NO_EXCEPTION_HEADER 1 -+# define _STLP_NO_NEW_NEW_HEADER 1 -+# define _STLP_NO_NEW_IOSTREAMS 1 - # endif - # endif - --// # define __STL_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 --// # define __STL_NON_TYPE_TMPL_PARAM_BUG 1 --// # define __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 -- -- --# define __EDG_SWITCHES -+// # define __EDG_SWITCHES - - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_confix.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_confix.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_confix.h Sat Feb 24 10:44:27 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_confix.h Sun Aug 11 18:59:24 2002 -@@ -21,65 +21,57 @@ - * - */ - --#ifndef __STL_CONFIX_H --# define __STL_CONFIX_H -+#ifndef _STLP_CONFIX_H -+# define _STLP_CONFIX_H - --/* If, by any chance, C compiler get there, try to help it to pass smoothly */ --# if ! defined (__cplusplus) && ! defined (__STL_HAS_NO_NAMESPACES) --# define __STL_HAS_NO_NAMESPACES --# endif -- --/* list of compilers to use SGI string */ --# if (defined (__sgi) || defined (__GNUC__)) --# if !defined (__STL_USE_SGI_STRING) --# define __STL_USE_SGI_STRING 1 --# endif --# undef __STL_USE_OWN_NAMESPACE -+/* If, by any chance, C compiler gets there, try to help it to pass smoothly */ -+# if ! defined (__cplusplus) && ! defined (_STLP_HAS_NO_NAMESPACES) -+# define _STLP_HAS_NO_NAMESPACES - # endif - - # if defined(__MINGW32__) --# define __STL_NO_DRAND48 -+# define _STLP_NO_DRAND48 - # endif - - /* Modena C++ library */ --#if defined (__MWERKS__) && __MWERKS__ <= 0x2303 || defined (__KCC) -+#if defined (__MWERKS__) && __MWERKS__ <= 0x2303 || (defined (__KCC) && __KCC_VERSION < 3400) - # include --# define __STL_USE_MSIPL 1 -+# define _STLP_USE_MSIPL 1 - # if defined (__KCC) || (defined(__MSL_CPP__) && \ - ( (__MSL_CPP__ >= 0x5000 && defined( _MSL_NO_MESSAGE_FACET )) || \ - (__MSL_CPP__ < 0x5000 && defined( MSIPL_NL_TYPES ))) \ - ) --# define __STL_NO_NATIVE_MESSAGE_FACET 1 -+# define _STLP_NO_NATIVE_MESSAGE_FACET 1 - # endif - #endif - - /* common switches for EDG front-end */ - # if defined (__EDG_SWITCHES) - # if !(defined(_TYPENAME) || defined (_TYPENAME_IS_KEYWORD)) --# undef __STL_NEED_TYPENAME --# define __STL_NEED_TYPENAME 1 -+# undef _STLP_NEED_TYPENAME -+# define _STLP_NEED_TYPENAME 1 - # endif - # if !defined(_WCHAR_T_IS_KEYWORD) --# undef __STL_NO_WCHAR_T --# define __STL_NO_WCHAR_T 1 -+# undef _STLP_NO_WCHAR_T -+# define _STLP_NO_WCHAR_T 1 - # endif - # ifndef _PARTIAL_SPECIALIZATION_OF_CLASS_TEMPLATES --# undef __STL_NO_CLASS_PARTIAL_SPECIALIZATION --# define __STL_NO_CLASS_PARTIAL_SPECIALIZATION 1 -+# undef _STLP_NO_CLASS_PARTIAL_SPECIALIZATION -+# define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1 - # endif - # ifndef _MEMBER_TEMPLATES --# undef __STL_NO_MEMBER_TEMPLATES --# define __STL_NO_MEMBER_TEMPLATES 1 --# undef __STL_NO_MEMBER_TEMPLATE_CLASSES --# define __STL_NO_MEMBER_TEMPLATE_CLASSES 1 -+# undef _STLP_NO_MEMBER_TEMPLATES -+# define _STLP_NO_MEMBER_TEMPLATES 1 -+# undef _STLP_NO_MEMBER_TEMPLATE_CLASSES -+# define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1 - # endif - # if !defined(_MEMBER_TEMPLATE_KEYWORD) --# undef __STL_NO_MEMBER_TEMPLATE_KEYWORD --# define __STL_NO_MEMBER_TEMPLATE_KEYWORD 1 -+# undef _STLP_NO_MEMBER_TEMPLATE_KEYWORD -+# define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1 - # endif - # if !defined (__EXCEPTIONS) && ! defined (_EXCEPTIONS) --# undef __STL_HAS_NO_EXCEPTIONS --# define __STL_HAS_NO_EXCEPTIONS -+# undef _STLP_HAS_NO_EXCEPTIONS -+# define _STLP_HAS_NO_EXCEPTIONS - # endif - # undef __EDG_SWITCHES - # endif /* EDG */ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_dec.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_dec.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_dec.h Sat Feb 24 10:44:27 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_dec.h Sun Aug 11 18:59:24 2002 -@@ -1,53 +1,61 @@ --# define __STL_HAS_SPECIFIC_PROLOG_EPILOG -+# define _STLP_HAS_SPECIFIC_PROLOG_EPILOG - --# define __STL_NATIVE_HEADER(header) <../cxx/##header> --# define __STL_NATIVE_C_HEADER(x) <../include/##x> --# define __STL_NATIVE_CPP_C_HEADER(header) <../cxx/##header> --# define __STL_NATIVE_OLD_STREAMS_HEADER(header) <../cxx/##header> -+ -+# define _STLP_NATIVE_HEADER(header) <../cxx/##header> -+# define _STLP_NATIVE_C_HEADER(x) <../include/##x> -+ -+#if (__DECCXX_VER < 60300000) -+# define _STLP_NATIVE_CPP_C_HEADER(header) <../cxx/##header> -+#else -+# define _STLP_NATIVE_CPP_C_HEADER(header) -+#endif -+ -+# define _STLP_NATIVE_OLD_STREAMS_HEADER(header) <../cxx/##header> -+# define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <../cxx/##header> - - // Alpha is little-endian --# define __STL_LITTLE_ENDIAN -+# define _STLP_LITTLE_ENDIAN - - // collisions --# define __STL_DONT_PUT_STLPORT_IN_STD -- --# define __STL_NAMESPACE_FUNCTION_AMBIGUITY_BUG 1 -+# define _STLP_DONT_PUT_STLPORT_IN_STD - - #if (__DECCXX_VER < 60000000) - - // automatic template instantiation does not - // work with namespaces ;( --# define __STL_HAS_NO_NAMESPACES 1 -+# define _STLP_HAS_NO_NAMESPACES 1 -+ -+# define _STLP_NO_NEW_NEW_HEADER 1 - --# define __STL_NO_WCHAR_T 1 --# define __STL_NEED_EXPLICIT 1 -+# define _STLP_NO_WCHAR_T 1 -+# define _STLP_NEED_EXPLICIT 1 - --# define __STL_NO_BOOL 1 --# define __STL_NEED_TYPENAME 1 --# define __STL_NO_NEW_STYLE_CASTS 1 --# define __STL_NEED_MUTABLE 1 --# define __STL_NO_BAD_ALLOC 1 -- --# define __STL_NO_NEW_NEW_HEADER 1 --# define __STL_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 -- --# define __STL_NO_MEMBER_TEMPLATES 1 --# define __STL_NO_MEMBER_TEMPLATE_CLASSES 1 --# define __STL_NO_MEMBER_TEMPLATE_KEYWORD 1 --# define __STL_NO_FRIEND_TEMPLATES 1 --# define __STL_NO_QUALIFIED_FRIENDS 1 --# define __STL_NO_CLASS_PARTIAL_SPECIALIZATION 1 --# define __STL_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 --# define __STL_NON_TYPE_TMPL_PARAM_BUG 1 --# define __STL_BROKEN_USING_DIRECTIVE 1 --# define __STL_NO_EXCEPTION_HEADER 1 --# define __STL_DEFAULT_CONSTRUCTOR_BUG 1 -+# define _STLP_NO_BOOL 1 -+# define _STLP_NEED_TYPENAME 1 -+# define _STLP_NO_NEW_STYLE_CASTS 1 -+# define _STLP_NEED_MUTABLE 1 -+# define _STLP_NO_BAD_ALLOC 1 -+ -+ -+# define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 -+ -+# define _STLP_NO_MEMBER_TEMPLATES 1 -+# define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1 -+# define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1 -+# define _STLP_NO_FRIEND_TEMPLATES 1 -+# define _STLP_NO_QUALIFIED_FRIENDS 1 -+# define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1 -+# define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 -+# define _STLP_NON_TYPE_TMPL_PARAM_BUG 1 -+# define _STLP_BROKEN_USING_DIRECTIVE 1 -+# define _STLP_NO_EXCEPTION_HEADER 1 -+# define _STLP_DEFAULT_CONSTRUCTOR_BUG 1 - - #endif - - - #ifdef __NO_USE_STD_IOSTREAM --# define __STL_HAS_NO_NEW_IOSTREAMS 1 -+# define _STLP_HAS_NO_NEW_IOSTREAMS 1 - # else - // default is to use new iostreams, anyway - # ifndef __USE_STD_IOSTREAM -@@ -55,51 +63,49 @@ - # endif - #endif - --// # if !defined (__STLPORT_NEW_IOSTREAMS) && ! defined (__STL_DONT_REDEFINE_STD) \ --// && ! defined (__STL_REDEFINE_STD) -+// # if !defined (_STLP_NEW_IOSTREAMS) && ! defined (_STLP_DONT_REDEFINE_STD) \ -+// && ! defined (_STLP_REDEFINE_STD) - // # undef __PRAGMA_ENVIRONMENT --// # define __STL_DONT_REDEFINE_STD -+// # define _STLP_DONT_REDEFINE_STD - // # endif - - //# ifndef __STD_STRICT_ANSI_ERRORS - //# endif - - #ifndef __EXCEPTIONS --# define __STL_HAS_NO_EXCEPTIONS 1 -+# define _STLP_HAS_NO_EXCEPTIONS 1 - #endif - - # ifdef __IMPLICIT_INCLUDE_ENABLED - --#ifndef __SGI_STL_OWN_IOSTREAMS --// implicit include introduces conflicts --// between stlport and native lib. --# undef __IMPLICIT_INCLUDE_ENABLED --#endif -- - // but, works with ours ;). --# define __STL_LINK_TIME_INSTANTIATION 1 -- -+# define _STLP_LINK_TIME_INSTANTIATION 1 -+# else -+# undef _STLP_LINK_TIME_INSTANTIATION - # endif - - # if defined (__IMPLICIT_USING_STD) && !defined (__NO_USE_STD_IOSTREAM) - // we should ban that ! --# error "STLport won't work with new iostreams and std:: being implicitly included. Please use -std strict_ansi[_errors] or specify __NO_USE_STD_IOSTREAM" -+// # error "STLport won't work with new iostreams and std:: being implicitly included. Please use -std strict_ansi[_errors] or specify __NO_USE_STD_IOSTREAM" - # endif - --# if !(defined (__STD_STRICT_ANSI) || defined (__STD_STRICT_ANSI_ERRORS)) -+# if (defined (__STD_STRICT_ANSI) || defined (__STD_STRICT_ANSI_ERRORS)) -+# define _STLP_STRICT_ANSI 1 -+# else - // we want to enforce it --# define __STL_LONG_LONG 1 -+# define _STLP_LONG_LONG long long - # endif - - // unsigned 32-bit integer type --# define __STL_UINT32_T unsigned int --# define __STL_RAND48 1 -+# define _STLP_UINT32_T unsigned int -+#if defined(_XOPEN_SOURCE) && (_XOPEN_VERSION - 0 >= 4) -+# define _STLP_RAND48 1 -+#endif -+// # define _STLP_RAND48 1 - --# define __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 -+# define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 - --# if (__DECCXX_VER <= 60200000) --# define __STL_HAS_NO_NEW_C_HEADERS 1 -+# if (__DECCXX_VER <= 60300000) -+# define _STLP_HAS_NO_NEW_C_HEADERS 1 - # endif -- -- - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_dec_vms.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_dec_vms.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_dec_vms.h Sat Feb 24 10:44:27 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_dec_vms.h Sun Aug 11 18:59:24 2002 -@@ -1,44 +1,45 @@ - // OpenVMS version - --# define __STL_NATIVE_HEADER(header) --# define __STL_NATIVE_C_HEADER(x) --# define __STL_NATIVE_CPP_C_HEADER(header) -+# define _STLP_NATIVE_HEADER(header) -+# define _STLP_NATIVE_C_HEADER(x) -+# define _STLP_NATIVE_CPP_C_HEADER(header) -+# define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) - - #if (__DECCXX_VER < 60000000) - - // automatic template instantiation does not - // work with namespaces ;( --# define __STL_HAS_NO_NAMESPACES 1 -+# define _STLP_HAS_NO_NAMESPACES 1 - --# define __STL_NO_WCHAR_T 1 --# define __STL_NEED_EXPLICIT 1 -+# define _STLP_NO_WCHAR_T 1 -+# define _STLP_NEED_EXPLICIT 1 - --# define __STL_NO_BOOL 1 --# define __STL_NEED_TYPENAME 1 --# define __STL_NO_NEW_STYLE_CASTS 1 --# define __STL_NEED_MUTABLE 1 --# define __STL_NO_BAD_ALLOC 1 -- --# define __STL_NO_NEW_NEW_HEADER 1 --# define __STL_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 -- --# define __STL_NO_MEMBER_TEMPLATES 1 --# define __STL_NO_MEMBER_TEMPLATE_CLASSES 1 --# define __STL_NO_MEMBER_TEMPLATE_KEYWORD 1 --# define __STL_NO_FRIEND_TEMPLATES 1 --# define __STL_NO_QUALIFIED_FRIENDS 1 --# define __STL_NO_CLASS_PARTIAL_SPECIALIZATION 1 --# define __STL_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 --# define __STL_NON_TYPE_TMPL_PARAM_BUG 1 --# define __STL_BROKEN_USING_DIRECTIVE 1 --# define __STL_NO_EXCEPTION_HEADER 1 --# define __STL_DEFAULT_CONSTRUCTOR_BUG 1 -+# define _STLP_NO_BOOL 1 -+# define _STLP_NEED_TYPENAME 1 -+# define _STLP_NO_NEW_STYLE_CASTS 1 -+# define _STLP_NEED_MUTABLE 1 -+# define _STLP_NO_BAD_ALLOC 1 -+ -+# define _STLP_NO_NEW_NEW_HEADER 1 -+# define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 -+ -+# define _STLP_NO_MEMBER_TEMPLATES 1 -+# define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1 -+# define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1 -+# define _STLP_NO_FRIEND_TEMPLATES 1 -+# define _STLP_NO_QUALIFIED_FRIENDS 1 -+# define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1 -+# define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 -+# define _STLP_NON_TYPE_TMPL_PARAM_BUG 1 -+# define _STLP_BROKEN_USING_DIRECTIVE 1 -+# define _STLP_NO_EXCEPTION_HEADER 1 -+# define _STLP_DEFAULT_CONSTRUCTOR_BUG 1 - - #endif - - - #ifdef __NO_USE_STD_IOSTREAM --# define __STL_HAS_NO_NEW_IOSTREAMS 1 -+# define _STLP_HAS_NO_NEW_IOSTREAMS 1 - # else - // default is to use new iostreams, anyway - # ifndef __USE_STD_IOSTREAM -@@ -46,29 +47,29 @@ - # endif - #endif - --// # if !defined (__STLPORT_NEW_IOSTREAMS) && ! defined (__STL_DONT_REDEFINE_STD) \ --// && ! defined (__STL_REDEFINE_STD) -+// # if !defined (_STLP_NEW_IOSTREAMS) && ! defined (_STLP_DONT_REDEFINE_STD) \ -+// && ! defined (_STLP_REDEFINE_STD) - // # undef __PRAGMA_ENVIRONMENT --// # define __STL_DONT_REDEFINE_STD -+// # define _STLP_DONT_REDEFINE_STD - // # endif - - //# ifndef __STD_STRICT_ANSI_ERRORS - //# endif - - #ifndef __EXCEPTIONS --# define __STL_HAS_NO_EXCEPTIONS 1 -+# define _STLP_HAS_NO_EXCEPTIONS 1 - #endif - - # ifdef __IMPLICIT_INCLUDE_ENABLED - --#ifndef __STLPORT_IOSTREAMS -+#ifndef _STLP_IOSTREAMS - // implicit include introduces conflicts - // between stlport and native lib. - # undef __IMPLICIT_INCLUDE_ENABLED - #endif - - // but, works with ours ;). --# define __STL_LINK_TIME_INSTANTIATION 1 -+# define _STLP_LINK_TIME_INSTANTIATION 1 - - # endif - -@@ -79,14 +80,17 @@ - - # if !(defined (__STD_STRICT_ANSI) || defined (__STD_STRICT_ANSI_ERRORS)) - // we want to enforce it --# define __STL_LONG_LONG 1 -+# define _STLP_LONG_LONG long long - # endif - - // unsigned 32-bit integer type --# define __STL_UINT32_T unsigned int --# define __STL_RAND48 1 -+# define _STLP_UINT32_T unsigned int -+#if defined(_XOPEN_SOURCE) && (_XOPEN_VERSION - 0 >= 4) -+# define _STLP_RAND48 1 -+#endif -+// # define _STLP_RAND48 1 - --# define __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 -+# define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 - --#define __STL_HAS_NO_NEW_C_HEADERS 1 -+#define _STLP_HAS_NO_NEW_C_HEADERS 1 - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_fujitsu.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_fujitsu.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_fujitsu.h Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_fujitsu.h Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,5 @@ -+/* STLport configuration for Fujitsu compiler : looks like a perfect one ! */ -+# define _STLP_NATIVE_INCLUDE_PATH ../std -+# define _STLP_UINT32_T unsigned int -+# define _STLP_LONG_LONG long long -+# define _STLP_WCHAR_SUNPRO_EXCLUDE 1 -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_gcc.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_gcc.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_gcc.h Sat Feb 24 10:44:28 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_gcc.h Sun Aug 11 18:59:24 2002 -@@ -3,102 +3,182 @@ - */ - - /* Systems having GLIBC installed have different traits */ --#if ! defined (__STL_USE_GLIBC) && \ -- ( defined (__linux__) || defined (__CYGWIN__) ) --# define __STL_USE_GLIBC -+#if ! defined (_STLP_USE_GLIBC) && ( defined (__linux__) || defined (__CYGWIN__) ) -+# define _STLP_USE_GLIBC - #endif - --/* gcc has weird problems in debug mode */ --# define __STL_NAMESPACE_FUNCTION_AMBIGUITY_BUG 1 -+# define _STLP_NO_MEMBER_TEMPLATE_KEYWORD - --# define __STL_HAS_NO_NEW_C_HEADERS 1 -+# if defined(__FreeBSD__) || defined (__hpux) || defined(__amigaos__) -+# define _STLP_NO_WCHAR_T -+# endif -+ -+# if defined (__sun) -+ -+// gcc does not support ELF64 yet ; however; it supports ultrasparc + v8plus. -+// limits.h contains invalid values for this combination -+# if (defined (__sparc_v9__) || defined (__sparcv9)) && ! defined ( __WORD64 ) -+# define __LONG_MAX__ 2147483647L -+# endif -+ -+# include -+# endif -+ -+// no thread support on AmigaOS -+#if defined (__amigaos__) -+# define _NOTHREADS -+# define _STLP_NO_THREADS -+#endif - --# if defined(__FreeBSD__) --# define __STL_NATIVE_CPP_C_INCLUDE_PATH /usr/include/g++ -- /* Emulate a small wchar.h */ --# include --# define _WCHAR_T --# define _WINT_T -- typedef unsigned int wint_t; -- typedef unsigned int wchar_t; -- extern size_t __wcslen __P ((__const wchar_t *__s)); -- extern size_t wcslen __P ((__const wchar_t *__s)); --# endif -- --# if defined(__OpenBSD__) --# define __STL_NATIVE_CPP_C_INCLUDE_PATH /usr/include/g++ --# define __STL_UNIX /* Yes, OpenBSD is Unix-like */ --# define _NOTHREADS /* Has no pthread capabilities */ --# include /* Necessary for __P() macro */ -- /* Emulate a small wchar.h */ --# define _WCHAR_T --# define _WINT_T -- typedef unsigned int wint_t; -- typedef unsigned int wchar_t; -- extern size_t __wcslen __P ((__const wchar_t *__s)); -- extern size_t wcslen __P ((__const wchar_t *__s)); -+// azov: gcc on lynx have a bug that causes internal -+// compiler errors when compiling STLport with namespaces turned on. -+// When the compiler gets better - comment out _STLP_HAS_NO_NAMESPACES -+# if defined (__Lynx__) && (__GNUC__ < 3) -+# define _STLP_HAS_NO_NAMESPACES 1 -+# define _STLP_NO_STATIC_TEMPLATE_DATA 1 -+// turn off useless warning about including system headers -+# define __NO_INCLUDE_WARN__ 1 - # endif - -+ -+/* Tru64 Unix, AIX, HP : gcc there by default uses uses native ld and hence cannot auto-instantiate -+ static template data. If you are using GNU ld, please say so in stl_user_config.h header */ -+# if (__GNUC__ < 3) && ! (_STLP_GCC_USES_GNU_LD) && \ -+ ((defined (__osf__) && defined (__alpha__)) || defined (_AIX) || defined (__hpux) || defined(__amigaos__) ) -+# define _STLP_NO_STATIC_TEMPLATE_DATA -+# endif -+ -+# if defined(__DJGPP) -+# define _STLP_RAND48 1 -+# define _NOTHREADS 1 -+# undef _PTHREADS -+# define _STLP_LITTLE_ENDIAN -+# endif -+ - # if defined(__MINGW32__) - /* Mingw32, egcs compiler using the Microsoft C runtime */ --# undef __STL_NO_DRAND48 --# define __STL_NO_DRAND48 -+# undef _STLP_NO_DRAND48 -+# define _STLP_NO_DRAND48 - # ifdef _MT - # define _REENTRANT - # endif --# define __STL_IMPORT_DECLSPEC __attribute__((dllimport)) --# define __STL_EXPORT_DECLSPEC __attribute__((dllexport)) --# define __STL_CLASS_IMPORT_DECLSPEC __attribute__((dllimport)) --# define __STL_CLASS_EXPORT_DECLSPEC __attribute__((dllexport)) --# define __STL_CALL __cdecl -- --# if defined (__STL_USE_DYNAMIC_LIB) --# define __STL_USE_DECLSPEC 1 -+# define _STLP_IMPORT_DECLSPEC __attribute__((dllimport)) -+# define _STLP_EXPORT_DECLSPEC __attribute__((dllexport)) -+# define _STLP_CLASS_IMPORT_DECLSPEC __attribute__((dllimport)) -+# define _STLP_CLASS_EXPORT_DECLSPEC __attribute__((dllexport)) -+# define _STLP_CALL -+ -+# if defined (_STLP_USE_DYNAMIC_LIB) -+# define _STLP_USE_DECLSPEC 1 -+// # define _STLP_USE_TEMPLATE_EXPORT 1 -+/* Using dynamic library in MinGW requires _STLP_NO_CUSTOM_IO */ -+# define _STLP_NO_CUSTOM_IO - # endif - - # endif - --/* cygwin is a little bit different, but most traits are same. */ --# if defined ( __STL_USE_GLIBC ) && !defined (__CYGWIN__) --# else --# define __STL_NO_NATIVE_MBSTATE_T 1 -+#if defined (__CYGWIN__) || defined (__MINGW32__) || !(defined (_STLP_USE_GLIBC) || defined (__sun)) -+#ifndef __MINGW32__ -+# define _STLP_NO_NATIVE_MBSTATE_T 1 -+#endif -+# define _STLP_NO_NATIVE_WIDE_FUNCTIONS 1 -+# define _STLP_NO_NATIVE_WIDE_STREAMS 1 -+# elif defined(__linux__) -+# define _STLP_NO_NATIVE_WIDE_FUNCTIONS 1 -+# define _STLP_NO_NATIVE_WIDE_STREAMS 1 -+# elif defined (__sun) -+# define _STLP_WCHAR_BORLAND_EXCLUDE -+# define _STLP_NO_NATIVE_WIDE_FUNCTIONS 1 -+#endif -+ -+/* Mac OS X is a little different with namespaces and cannot instantiate -+ * static data members in template classes */ -+# if defined (__APPLE__) -+/* Mac OS X is missing a required typedef and standard macro */ -+typedef unsigned int wint_t; -+ -+# define __unix -+ -+ /* Mac OS X needs one and only one source file to initialize all static data -+ * members in template classes. Only one source file in an executable or -+ * library can declare instances for such data members, otherwise duplicate -+ * symbols will be generated. */ -+ -+# define _STLP_NO_STATIC_TEMPLATE_DATA -+# define _STLP_STATIC_CONST_INIT_BUG 1 -+# define _STLP_STATIC_TEMPLATE_DATA 0 -+# define _STLP_WEAK_ATTRIBUTE 0 -+# define _STLP_NO_LONG_DOUBLE -+ -+/* Mac OS X needs all "::" scope references to be "std::" */ -+# undef _STLP_VENDOR_GLOBAL_STD -+# undef _STLP_VENDOR_GLOBAL_CSTD -+# define _STLP_NO_CSTD_FUNCTION_IMPORTS -+ /* Workaround for the broken Mac OS X C++ preprocessor which cannot handle -+ * parameterized macros in #include statements */ -+# define _STLP_NATIVE_HEADER(header) <../g++/##header##> -+# define _STLP_NATIVE_C_HEADER(header) <../include/##header##> -+# define _STLP_NATIVE_CPP_C_HEADER(header) <../g++/##header##> -+# define _STLP_NATIVE_OLD_STREAMS_HEADER(header) <../g++/##header##> -+# define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <../g++/##header##> -+# endif -+ -+ -+# if defined(__BEOS__) && defined(__INTEL__) -+# define _STLP_NATIVE_HEADER(header) <../stlport/beos/##header##> -+# define _STLP_NATIVE_C_HEADER(header) <../stlport/beos/##header##> -+# define _STLP_NATIVE_CPP_C_HEADER(header) <../stlport/beos/##header##> -+# define _STLP_NATIVE_OLD_STREAMS_HEADER(header) <../stlport/beos/##header##> -+# define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <../stlport/beos/##header##> -+# define _STLP_NO_NATIVE_WIDE_FUNCTIONS 1 -+# define _STLP_NO_NATIVE_WIDE_STREAMS 1 -+//# define _NOTHREADS 1 -+# ifdef _PTHREADS -+# undef _PTHREADS -+# endif -+# ifdef _STLP_PTHREADS -+# undef _STLP_PTHREADS -+# endif -+# define _STLP_USE_STDIO_IO 1 -+# define _STLP_USE_GLIBC 1 - # endif - - - /* g++ 2.7.x and above */ --# define __STL_LONG_LONG 1 --# define __STL_NO_NATIVE_WIDE_FUNCTIONS 1 --# define __STL_NO_NATIVE_WIDE_STREAMS 1 --# define __STL_HAS_NO_NEW_IOSTREAMS 1 -+# define _STLP_LONG_LONG long long - --# ifdef __HONOR_STD --# define __STL_VENDOR_GLOBAL_CSTD 1 --# else --/* dwa 12/18/99 -- fhonor-std doesn't actually work in gcc 2.95.2 -- * also note that __HONOR_STD is not automatically defined in -- * accordance with -fhonor-std. */ --# define __STL_VENDOR_GLOBAL_EXCEPT_STD 1 --# endif -+# if (__GNUC__ >= 3) -+# define _STLP_HAS_NATIVE_FLOAT_ABS -+# endif -+ -+# if (__GNUC__ < 3) -+# define _STLP_HAS_NO_NEW_C_HEADERS 1 -+# define _STLP_VENDOR_GLOBAL_CSTD 1 -+# define _STLP_HAS_NO_NEW_IOSTREAMS 1 -+# ifndef __HONOR_STD -+# define _STLP_VENDOR_GLOBAL_EXCEPT_STD 1 -+# endif -+# endif - --# if (__GNUC_MINOR__ < 95) --# define __STL_VENDOR_GLOBAL_EXCEPT_STD 1 -+# if (__GNUC_MINOR__ < 95) && (__GNUC__ < 3) - /* egcs fails to initialize builtin types in expr. like this : new(p) char(); */ --# define __STL_DEFAULT_CONSTRUCTOR_BUG 1 --# else --// boris : this is temporary --# undef __STL_INCOMPLETE_EXCEPTION_HEADER -+# define _STLP_DEFAULT_CONSTRUCTOR_BUG 1 -+# define _STLP_INCOMPLETE_EXCEPTION_HEADER - # endif - --# if (__GNUC_MINOR__ < 90) /* egcs 1.1 */ --# define __STL_NO_TEMPLATE_CONVERSIONS --# define __STL_NO_MEMBER_TEMPLATE_CLASSES 1 --# define __STL_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 --# define __STL_NO_FRIEND_TEMPLATES 1 --# define __STL_HAS_NO_NAMESPACES 1 --# define __STL_NO_METHOD_SPECIALIZATION 1 -+# if (__GNUC_MINOR__ < 9) && (__GNUC__ < 3) /* gcc 2.8 */ -+# define _STLP_NO_TEMPLATE_CONVERSIONS -+# define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1 -+# define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 -+# define _STLP_NO_FRIEND_TEMPLATES 1 -+# define _STLP_HAS_NO_NAMESPACES 1 -+# define _STLP_NO_METHOD_SPECIALIZATION 1 -+# define _STLP_NO_MEMBER_TEMPLATES 1 -+# define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1 -+# define _STLP_DONT_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS - /* DJGPP doesn't seem to implement it in 2.8.x */ - # ifdef DJGPP --# define __STL_NO_STATIC_TEMPLATE_DATA 1 -+# define _STLP_NO_STATIC_TEMPLATE_DATA 1 - # endif - # endif - -@@ -107,108 +187,167 @@ - # if ( __GNUC_MINOR__ < 6 ) - __GIVE_UP_WITH_STL(GCC_272); - # endif --# define __STL_NON_TYPE_TMPL_PARAM_BUG --# define __STL_LIMITED_DEFAULT_TEMPLATES 1 --# define __STL_DEFAULT_TYPE_PARAM 1 --# define __STL_NO_BAD_ALLOC --# define __SGI_STL_NO_ARROW_OPERATOR 1 --# ifndef __STL_NO_STATIC_TEMPLATE_DATA --# define __STL_NO_STATIC_TEMPLATE_DATA --# endif --# define __STL_NO_MEMBER_TEMPLATES 1 --# define __STL_NO_CLASS_PARTIAL_SPECIALIZATION 1 --# define __STL_NO_METHOD_SPECIALIZATION 1 -+ -+# define _STLP_NO_RELOPS_NAMESPACE -+# define _STLP_NON_TYPE_TMPL_PARAM_BUG -+# define _STLP_LIMITED_DEFAULT_TEMPLATES 1 -+# define _STLP_DEFAULT_TYPE_PARAM 1 -+# define _STLP_NO_BAD_ALLOC -+# define _STLP_NO_ARROW_OPERATOR 1 -+# ifndef _STLP_NO_STATIC_TEMPLATE_DATA -+# define _STLP_NO_STATIC_TEMPLATE_DATA -+# endif -+# define _STLP_STATIC_CONST_INIT_BUG 1 -+# define _STLP_NO_METHOD_SPECIALIZATION 1 - - # if !defined (__CYGWIN32__) --# define __STL_NESTED_TYPE_PARAM_BUG 1 --# define __STL_BASE_MATCH_BUG 1 -+# define _STLP_NESTED_TYPE_PARAM_BUG 1 -+# define _STLP_BASE_MATCH_BUG 1 - /* unused operators are required (forward) */ --# define __STL_CONST_CONSTRUCTOR_BUG --# define __STL_NO_DEFAULT_NON_TYPE_PARAM -+# define _STLP_CONST_CONSTRUCTOR_BUG -+# define _STLP_NO_DEFAULT_NON_TYPE_PARAM - # endif --# define __STL_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 --# define __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 --# define __STL_NO_EXCEPTION_HEADER 1 -+# define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 -+# define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 -+# define _STLP_NO_EXCEPTION_HEADER 1 - # else /* ! <= 2.7.* */ - # endif /* ! <= 2.7.* */ - - /* static template data members workaround strategy for gcc tries - * to use weak symbols. -- * if you don't want to use that, #define __STL_WEAK_ATTRIBUTE=0 ( you'll -+ * if you don't want to use that, #define _STLP_WEAK_ATTRIBUTE=0 ( you'll - * have to put "#define __PUT_STATIC_DATA_MEMBERS_HERE" line in one of your - * compilation unit ( or CFLAGS for it ) _before_ including any STL header ). - */ --# if defined (__STL_NO_STATIC_TEMPLATE_DATA) && ! defined (__STL_WEAK_ATTRIBUTE ) -+# if defined (_STLP_NO_STATIC_TEMPLATE_DATA) && ! defined (_STLP_WEAK_ATTRIBUTE ) - /* systems using GNU ld or format that supports weak symbols - may use "weak" attribute - Linux & Solaris ( x86 & SPARC ) are being auto-recognized here */ --# if defined(__STL_GNU_LD) || defined(__ELF__) || defined (__CYGWIN__) || \ -+# if defined(_STLP_GNU_LD) || defined(__ELF__) || defined (__CYGWIN__) || \ - (( defined (__SVR4) || defined ( __svr4__ )) && \ - ( defined (sun) || defined ( __sun__ ))) --# define __STL_WEAK_ATTRIBUTE 1 -+# define _STLP_WEAK_ATTRIBUTE 1 - # endif --# endif /* __STL_WEAK_ATTRIBUTE */ -+# endif /* _STLP_WEAK_ATTRIBUTE */ - - - /* strict ANSI prohibits "long long" ( gcc) */ - # if defined ( __STRICT_ANSI__ ) --# undef __STL_LONG_LONG -+# undef _STLP_LONG_LONG -+// # define _STLP_STRICT_ANSI 1 - # endif - -+//# if !defined (__STRICT_ANSI__) || defined (__BUILDING_STLPORT) -+//# define _STLP_USE_TEMPLATE_EXPORT -+//# define _STLP_EXPORT_TEMPLATE_KEYWORD extern -+//# define _STLP_IMPORT_TEMPLATE_KEYWORD extern -+//# endif -+ - # ifndef __EXCEPTIONS --# undef __STL_HAS_NO_EXCEPTIONS --# define __STL_HAS_NO_EXCEPTIONS 1 -+# undef _STLP_HAS_NO_EXCEPTIONS -+# define _STLP_HAS_NO_EXCEPTIONS 1 - # endif - --#if (__GNUC_MINOR__ < 8) -+# if (__GNUC__ >= 3) - --# define __STL_NO_SGI_IOSTREAMS 1 --# undef __SGI_STL_OWN_IOSTREAMS --# define __STL_NATIVE_INCLUDE_PATH ../g++-include -+# define _STLP_NATIVE_INCLUDE_PATH ../g++-v3 -+# define _STLP_NATIVE_OLD_STREAMS_INCLUDE_PATH ../g++-v3/backward - --# if defined ( __STL_NO_STATIC_TEMPLATE_DATA ) --# define __STL_STATIC_TEMPLATE_DATA 0 --# if !defined ( __STL_WEAK_ATTRIBUTE ) --# define __STL_WEAK_ATTRIBUTE 0 --# endif --# else --# define __STL_STATIC_TEMPLATE_DATA 1 --# endif -+# elif (__GNUC_MINOR__ < 8) -+ -+# define _STLP_NO_OWN_IOSTREAMS 1 -+# undef _STLP_OWN_IOSTREAMS -+# define _STLP_NATIVE_INCLUDE_PATH ../g++-include - - /* tuning of static template data members workaround */ --# if ( __STL_STATIC_TEMPLATE_DATA < 1 ) --# if ( __STL_WEAK_ATTRIBUTE > 0 ) --# define __STL_WEAK __attribute__ (( weak )) --# else --# define __STL_WEAK --# endif /* __STL_WEAK_ATTRIBUTE */ -+# if ( _STLP_STATIC_TEMPLATE_DATA < 1 ) -+# if ( _STLP_WEAK_ATTRIBUTE > 0 ) -+# define _STLP_WEAK __attribute__ (( weak )) -+# else -+# define _STLP_WEAK -+# endif /* _STLP_WEAK_ATTRIBUTE */ - - # ifdef __PUT_STATIC_DATA_MEMBERS_HERE --# define __DECLARE_INSTANCE(type,item,init) type item __STL_WEAK init -+# define __DECLARE_INSTANCE(type,item,init) type item _STLP_WEAK init - # else - # define __DECLARE_INSTANCE(type,item,init) - # endif /* __PUT_STATIC_DATA_MEMBERS_HERE */ -+# endif /* _STLP_STATIC_TEMPLATE_DATA */ - --# endif /* __STL_STATIC_TEMPLATE_DATA */ -- --#else -+# else - - // gcc-2.95.0 used to use "g++-3" directory which has been changed to "g++" in - // system-dependent "include" for 2.95.2 except for Cygwin and Mingw packages. --// I expect "g++-3" not being used in leter releases. -+// I expect "g++-3" not being used in later releases. - // If your installation use "g++-3" include directory for any reason (pre-2.95.2 or Win binary kit), - // please change the macro below to point to your directory. --# if (__GNUC_MINOR__ == 95) && ( defined (__CYGWIN__) || defined (__MINGW32__)) --# define __STL_NATIVE_INCLUDE_PATH ../g++-3 -+ -+# if defined(__DJGPP) -+# define _STLP_NATIVE_INCLUDE_PATH ../lang/cxx -+# elif (__GNUC__ >= 3) || (__GNUC_MINOR__ >= 97) -+# define _STLP_NATIVE_INCLUDE_PATH ../include/g++-v3 -+# elif ((__GNUC_MINOR__ >= 95 && __GNUC_MINOR__ < 97) && !( defined (__FreeBSD__) || defined (__NetBSD__) || defined(__sgi) ) ) -+# define _STLP_NATIVE_INCLUDE_PATH ../g++-3 -+# elif (__GNUC_MINOR__ > 8) && (__GNUC_MINOR__ < 95) && (__GNUC__ < 3) && !defined( __Lynx__ ) -+// this really sucks, as GNUpro does not really identifies itself, so we have to guess -+// depending on a platform -+# ifdef __hpux -+# define _STLP_NATIVE_INCLUDE_PATH ../g++-3 -+# else -+# define _STLP_NATIVE_INCLUDE_PATH ../g++-2 -+# endif -+# else -+# define _STLP_NATIVE_INCLUDE_PATH g++ -+# endif -+ -+// et al -+# ifdef __FreeBSD__ -+# if (__GNUC__ > 2) || (__GNUC__ == 2 && __GNUC_MINOR__ > 95) -+# define _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH ../include -+# endif - # else --# define __STL_NATIVE_INCLUDE_PATH ../g++ -+// azov -+# ifdef __Lynx__ -+# define _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH _STLP_NATIVE_INCLUDE_PATH -+# else -+# if (__GNUC__ > 2) || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97) -+// # define _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH ../g++-v3 -+# else -+# define _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH ../include -+# endif -+# endif - # endif - - #endif /* GNUC_MINOR < 8 */ - --#if !defined(__STL_NATIVE_CPP_C_INCLUDE_PATH) --# define __STL_NATIVE_CPP_C_INCLUDE_PATH __STL_NATIVE_INCLUDE_PATH --#endif --#if !defined(__STL_NATIVE_C_INCLUDE_PATH) --# define __STL_NATIVE_C_INCLUDE_PATH ../include -+# define _STLP_NATIVE_CPP_C_INCLUDE_PATH _STLP_NATIVE_INCLUDE_PATH -+# define _STLP_NATIVE_C_INCLUDE_PATH ../include -+ -+ -+#ifdef _SCO_ELF -+# define _STLP_SCO_OPENSERVER -+# if defined(_REENTRANT) -+# define _UITHREADS /* if UnixWare < 7.0.1 */ -+# define _STLP_UITHREADS -+# endif /* _REENTRANT */ - #endif -+ -+// Tune settings for the case where static template data members are not -+// instaniated by default -+# if defined ( _STLP_NO_STATIC_TEMPLATE_DATA ) -+# define _STLP_STATIC_TEMPLATE_DATA 0 -+# if !defined ( _STLP_WEAK_ATTRIBUTE ) -+# define _STLP_WEAK_ATTRIBUTE 0 -+# endif -+# ifdef __PUT_STATIC_DATA_MEMBERS_HERE -+# define __DECLARE_INSTANCE(type,item,init) type item init -+# else -+# define __DECLARE_INSTANCE(type,item,init) -+# endif -+# else -+# define _STLP_STATIC_TEMPLATE_DATA 1 -+# endif -+ -+ -+ -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_hpacc.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_hpacc.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_hpacc.h Sat Feb 24 10:44:28 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_hpacc.h Sun Aug 11 18:59:24 2002 -@@ -1,153 +1,217 @@ --// STLport configuration file --// It is internal STLport header - DO NOT include it directly -- --// system C-library dependent --# define __STL_RAND48 1 --# define __STL_NO_NATIVE_MBSTATE_T 1 --# define __STL_HPACC_BROKEN_BUFEND 1 --# define __STL_WCHAR_HPACC_EXCLUDE 1 -- --// HP aCC with +noeh --# ifdef __HPACC_NOEH --# define __STL_HAS_NO_EXCEPTIONS 1 --# endif -- --// HP compilers --// At that point, we only know we are on HP (and _not_ using gcc, --// according to "stlcomp.h" -- --// __HP_aCC indicate HP ANSI C++, but not always (03.xx does not --// define it before 3.13, for example). --// --# if defined(__HP_aCC) -- --# define __STL_NATIVE_OLD_STREAMS_INCLUDE_PATH ../iostream --# define __STL_LONG_LONG 1 -- --#if (__HP_aCC <= 30000 && __HP_aCC >= 12300) -- --//Special kludge to workaround bug in aCC A.01.23, CR JAGac40634 --#ifdef __STL_DEBUG --static void __STL_dummy_literal() { const char *p = "x";} --static void __STL_dummy_literal_2() { const char *p = "123456789"; } --static void __STL_dummy_literal_3() { const char *p = "123456700000000000000089";} --#endif -- --# define __STL_HP_ACC 0123 --# define __STL_NATIVE_INCLUDE_PATH ../include --# define __STL_NATIVE_C_INCLUDE_PATH ../include --# define __STL_NATIVE_CPP_C_INCLUDE_PATH ../include --# define __STL_VENDOR_GLOBAL_STD 1 --# define __STL_VENDOR_GLOBAL_CSTD 1 --# define __STL_HAS_NO_NEW_IOSTREAMS 1 --# define __STL_DONT_THROW_RANGE_ERRORS 1 --# define __STL_USING_BASE_MEMBER using --# define __STL_STATIC_CONST_INIT_BUG 1 --# define __STL_NO_OLD_SGI_ALLOCATORS 1 --# endif /* 123 */ -- --// lates version and up --# if (__HP_aCC >= 31400) --# define __STL_HP_ACC 0314 --# if defined(_NAMESPACE_STD) // option -AA --// from now, we have a full standard lib in namespace std --# define __STL_NATIVE_INCLUDE_PATH ../include_std --# define __STL_NATIVE_C_INCLUDE_PATH ../include_std --# define __STL_NATIVE_CPP_C_INCLUDE_PATH ../include_std --# define __STL_HPACC_ONLY_NATIVE_STRING 1 // STLPort _string.c includes --// fbp : what are exact problems - we may add those headers to IMPORT_NATIVE_STD --# define __STL_WHOLE_NATIVE_STD 1 // rw needs to acces to it's own components --// fbp : why is that ? --# define __STL_DONT_REDEFINE_STD 1 --# define __STL_HP_ACC_COMPAT -1 --# else // kind of compatibility mode --# define __STL_NATIVE_INCLUDE_PATH ../include --# define __STL_NATIVE_C_INCLUDE_PATH ../include --# define __STL_NATIVE_CPP_C_INCLUDE_PATH ../include --# define __STL_VENDOR_GLOBAL_STD 1 --# define __STL_VENDOR_GLOBAL_CSTD 1 --# define __STL_HAS_NO_NEW_IOSTREAMS 1 --// comment if "-Wc,-koenig_lookup,on" id used --# define __STL_NO_KOENIG_LOOKUP 1 --# define __STL_DONT_THROW_RANGE_ERRORS 1 --# define __STL_NO_ROPE 1 --# define __STL_HP_ACC 0314 --# endif /* _NAMESPACE_STD */ --# endif /* 314 */ -- --# if (__HP_aCC >= 30000 && __HP_aCC < 31400) -- --// the folllowing was true for version A03.10 --// # define __STL_PARTIAL_SPECIALIZATION_BUG 1 -- --# define __STL_HAS_NO_NEW_C_HEADERS 1 -- --# define __STL_HAS_NO_NEW_IOSTREAMS --# define __STL_NO_QUALIFIED_FRIENDS 1 --// aCC bug ? need explicit args on constructors of partial specialized --// classes --# define __STL_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS 1 --// ?? fbp: really needed ? --# define __STL_STATIC_ARRAY_BUG 1 --// ?? fbp : maybe present in some versions ? --# define __STL_NO_MEMBER_TEMPLATE_CLASSES 1 --# define __STL_NO_MEMBER_TEMPLATE_KEYWORD 1 --// and stuff is in global namespace --# define __STL_VENDOR_GLOBAL_EXCEPT_STD --// fbp : moved here --# define __STL_uSING_BASE_MEMBER -- --# endif /* < 314 */ -- --# endif /* HP_ACC */ -- --// --# ifndef __HP_aCC --# define __STL_NATIVE_INCLUDE_PATH ../CC --# define __STL_NATIVE_C_INCLUDE_PATH ../include --// it is HP's old cfront-based compiler. --# define __STL_NO_BOOL 1 --// # define __STL_DONT_USE_BOOL_TYPEDEF 1 --# define __STL_NO_NEW_NEW_HEADER 1 --# define __STL_HAS_NO_NEW_IOSTREAMS 1 --# define __STL_LIMITED_DEFAULT_TEMPLATES 1 --# define __STL_NO_SIGNED_BUILTINS --# define __STL_HAS_NO_NAMESPACES 1 --# define __STL_NEED_TYPENAME 1 --# define __STL_NEED_EXPLICIT 1 --# define __STL_NO_EXCEPTION_SPEC 1 --# define __STL_NONTEMPL_BASE_MATCH_BUG 1 --# define __SGI_STL_NO_ARROW_OPERATOR 1 --# define __STL_BASE_MATCH_BUG --# define __STL_BASE_TYPEDEF_OUTSIDE_BUG 1 --# define __STL_NO_NEW_STYLE_CASTS 1 --// # define __STL_NO_WCHAR_T 1 --// # define __STL_LONG_LONG 1 --# define __STL_NEED_MUTABLE 1 --# define __STL_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 --# define __STL_NO_BAD_ALLOC 1 --# define __STL_NO_MEMBER_TEMPLATES 1 --# define __STL_NO_MEMBER_TEMPLATE_CLASSES 1 --# define __STL_NO_MEMBER_TEMPLATE_KEYWORD 1 --# define __STL_NO_FRIEND_TEMPLATES 1 --# define __STL_NO_QUALIFIED_FRIENDS 1 --# define __STL_NO_CLASS_PARTIAL_SPECIALIZATION 1 --# define __STL_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 --# define __STL_MEMBER_POINTER_PARAM_BUG 1 --# define __STL_NON_TYPE_TMPL_PARAM_BUG 1 --# define __STL_NO_DEFAULT_NON_TYPE_PARAM 1 --// # define __STL_NO_METHOD_SPECIALIZATION 1 --# define __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 --# define __STL_NO_EXCEPTION_HEADER 1 --# define __STL_DEFAULT_CONSTRUCTOR_BUG 1 --# define __STL_HAS_NO_NEW_C_HEADERS 1 --// # define __STL_STATIC_CONST_INIT_BUG 1 --// # define __STL_THROW_RETURN_BUG 1 --// # define __STL_LINK_TIME_INSTANTIATION 1 --// # define __STL_NO_TEMPLATE_CONVERSIONS 1 --# define __STL_NO_TYPEINFO 1 --# define __STL_WCHAR_T_IS_USHORT 1 --# define __STL_NO_PROXY_ARROW_OPERATOR 1 --# endif /* cfront */ -- -- -+// STLport configuration file -+// It is internal STLport header - DO NOT include it directly -+ -+// system C-library dependent -+#if defined(_XOPEN_SOURCE) && (_XOPEN_VERSION - 0 >= 4) -+# define _STLP_RAND48 1 -+#endif -+// # define _STLP_RAND48 1 -+# define _STLP_NO_NATIVE_MBSTATE_T 1 -+# define _STLP_HPACC_BROKEN_BUFEND 1 -+# define _STLP_WCHAR_HPACC_EXCLUDE 1 -+ -+// this was reported to help, just as with SUN CC 4.2 -+# define _STLP_INLINE_STRING_LITERAL_BUG -+ -+ -+// specific prolog is needed to select correct threads impl -+# define _STLP_HAS_SPECIFIC_PROLOG_EPILOG -+ -+// HP aCC with +noeh -+# ifdef __HPACC_NOEH -+# define _STLP_HAS_NO_EXCEPTIONS 1 -+# endif -+ -+// HP compilers -+// At that point, we only know we are on HP (and _not_ using gcc, -+// according to "stlcomp.h" -+ -+// __HP_aCC indicate HP ANSI C++, but not always (03.xx does not -+// define it before 3.13, for example). -+// -+# if defined(__HP_aCC) -+ -+# if __HP_aCC < 33100 -+# define _STLP_NATIVE_OLD_STREAMS_INCLUDE_PATH ../iostream -+# else -+# define _STLP_NATIVE_OLD_STREAMS_INCLUDE_PATH ../include/iostream -+# endif -+ -+# define _STLP_LONG_LONG long long -+ -+#if (__HP_aCC <= 30000 && __HP_aCC >= 12100) -+ -+//Special kludge to workaround bug in aCC A.01.23, CR JAGac40634 -+#ifdef _STLP_DEBUG -+static void _STLP_dummy_literal() { const char *p = "x";} -+static void _STLP_dummy_literal_2() { const char *p = "123456789"; } -+static void _STLP_dummy_literal_3() { const char *p = "123456700000000000000089";} -+#endif -+ -+# define _STLP_HP_ACC 0123 -+# define _STLP_NATIVE_INCLUDE_PATH ../include -+# define _STLP_NATIVE_C_INCLUDE_PATH ../include -+# define _STLP_NATIVE_CPP_C_INCLUDE_PATH ../include -+# define _STLP_VENDOR_GLOBAL_STD 1 -+# define _STLP_VENDOR_GLOBAL_CSTD 1 -+# define _STLP_HAS_NO_NEW_IOSTREAMS 1 -+# define _STLP_DONT_THROW_RANGE_ERRORS 1 -+# define _STLP_STATIC_CONST_INIT_BUG 1 -+#if (__HP_aCC < 12700) -+//new flag: on most HP compilers cwchar is missing -+# define _STLP_NO_CWCHAR -+#endif -+ -+# define _STLP_FORCE_ALLOCATORS(t,a) \ -+ typedef typename _Alloc_traits::_Orig _STLP_dummy_type1;\ -+ typedef typename _STLP_dummy_type1:: _STLP_TEMPLATE rebind::other _STLP_dummy_type2; -+ -+# endif /* 123 */ -+ -+// latest version and up -+# if (__HP_aCC >= 32500 ) -+# define _STLP_HP_ACC 0325 -+ -+# define _STLP_FORCE_ALLOCATORS(t,a) \ -+ typedef typename _Alloc_traits::_Orig _STLP_dummy_type1;\ -+ typedef typename _STLP_dummy_type1:: _STLP_TEMPLATE rebind::other _STLP_dummy_type2; -+ -+# if !defined( _INCLUDE__STDC_A1_SOURCE ) // HP-UX 11i only -+# define _STLP_HAS_NO_UNIX98_WCHAR_EXTENSIONS -+# endif -+# if defined(_HP_NAMESPACE_STD) // option -AA -+// from now, we have a full standard lib in namespace std -+// -+// -AA indicates that we are compiling against Rogue Wave 2.2.1 -+// STL shipped with the HP aCC compiler. -AA tells the compiler -+// to use the STL defined in the include_std directory. -+// -+# define _STLP_NATIVE_INCLUDE_PATH ../include_std -+# define _STLP_NATIVE_C_INCLUDE_PATH ../include_std -+# define _STLP_NATIVE_CPP_C_INCLUDE_PATH ../include_std -+ -+// # define _STLP_HPACC_ONLY_NATIVE_STRING 1 // STLPort _string.c includes -+# define _STLP_HP_ACC_COMPAT -1 -+# else // option -Aa -+# define _STLP_NATIVE_INCLUDE_PATH ../include -+# define _STLP_NATIVE_C_INCLUDE_PATH ../include -+# define _STLP_NATIVE_CPP_C_INCLUDE_PATH ../include -+# define _STLP_VENDOR_GLOBAL_STD 1 -+# define _STLP_VENDOR_GLOBAL_CSTD 1 -+# define _STLP_HAS_NO_NEW_IOSTREAMS 1 -+// Add the following in _site_config.h if "-Wc,-koenig_lookup,on" not used -+//# define _STLP_NO_KOENIG_LOOKUP 1 -+# define _STLP_DONT_THROW_RANGE_ERRORS 1 -+# endif /* _NAMESPACE_STD */ -+# endif -+ -+# if (__HP_aCC >= 31400 && __HP_aCC < 32500) -+# define _STLP_HP_ACC 0314 -+ -+# define _STLP_FORCE_ALLOCATORS(t,a) \ -+typedef typename _Alloc_traits::_Orig _STLP_dummy_type1;\ -+typedef typename _STLP_dummy_type1:: _STLP_TEMPLATE rebind::other _STLP_dummy_type2; -+# define _STLP_NO_CWCHAR -+# if defined(_NAMESPACE_STD) // option -AA -+// from now, we have a full standard lib in namespace std -+# define _STLP_NATIVE_INCLUDE_PATH ../include_std -+# define _STLP_NATIVE_C_INCLUDE_PATH ../include_std -+# define _STLP_NATIVE_CPP_C_INCLUDE_PATH ../include_std -+// # define _STLP_HPACC_ONLY_NATIVE_STRING 1 // STLPort _string.c includes -+# define _STLP_HP_ACC_COMPAT -1 -+# else // kind of compatibility mode -+# define _STLP_NATIVE_INCLUDE_PATH ../include -+# define _STLP_NATIVE_C_INCLUDE_PATH ../include -+# define _STLP_NATIVE_CPP_C_INCLUDE_PATH ../include -+# define _STLP_VENDOR_GLOBAL_STD 1 -+# define _STLP_VENDOR_GLOBAL_CSTD 1 -+# define _STLP_HAS_NO_NEW_IOSTREAMS 1 -+// comment if "-Wc,-koenig_lookup,on" id used -+# define _STLP_NO_KOENIG_LOOKUP 1 -+# define _STLP_DONT_THROW_RANGE_ERRORS 1 -+# define _STLP_NO_ROPE 1 -+# endif /* _NAMESPACE_STD */ -+# endif /* 314 */ -+ -+# if ((__HP_aCC >= 30000 && __HP_aCC < 31400) || (__HP_aCC == 1)) // A.03.13: __HP_aCC == 1 -+ -+#if (__HP_aCC != 1) -+# define _STLP_HAS_NO_NEW_C_HEADERS 1 -+#endif -+ -+# define _STLP_HAS_NO_NEW_IOSTREAMS -+# define _STLP_NO_QUALIFIED_FRIENDS 1 -+// aCC bug ? need explicit args on constructors of partial specialized -+// classes -+# define _STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS 1 -+// ?? fbp: really needed ? -+# define _STLP_STATIC_ARRAY_BUG 1 -+// ?? fbp : maybe present in some versions ? -+# define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1 -+# define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1 -+// and stuff is in global namespace -+# define _STLP_VENDOR_GLOBAL_EXCEPT_STD -+// fbp : moved here -+# define _STLP_VENDOR_GLOBAL_CSTD 1 -+// # define _INCLUDE_HPUX_SOURCE -+# define _XPG4 -+# define _INCLUDE_XOPEN_SOURCE -+# define _INCLUDE_AES_SOURCE -+# endif /* < 314 */ -+# if __HP_aCC == 1 -+# define _STLP_BROKEN_USING_IN_CLASS -+# define _STLP_USING_BASE_MEMBER -+# define _STLP_NO_CWCHAR -+// # define _STLP_NO_WCHAR_T 1 -+# endif -+# endif /* HP_ACC */ -+ -+// -+# ifndef __HP_aCC -+# define _STLP_NATIVE_INCLUDE_PATH ../CC -+# define _STLP_NATIVE_C_INCLUDE_PATH ../include -+// it is HP's old cfront-based compiler. -+# define _STLP_NO_BOOL 1 -+// # define _STLP_DONT_USE_BOOL_TYPEDEF 1 -+# define _STLP_NO_NEW_NEW_HEADER 1 -+# define _STLP_HAS_NO_NEW_IOSTREAMS 1 -+# define _STLP_LIMITED_DEFAULT_TEMPLATES 1 -+# define _STLP_NO_SIGNED_BUILTINS -+# define _STLP_HAS_NO_NAMESPACES 1 -+# define _STLP_NEED_TYPENAME 1 -+# define _STLP_NEED_EXPLICIT 1 -+# define _STLP_NO_EXCEPTION_SPEC 1 -+# define _STLP_NONTEMPL_BASE_MATCH_BUG 1 -+# define _STLP_NO_ARROW_OPERATOR 1 -+# define _STLP_BASE_MATCH_BUG -+# define _STLP_BASE_TYPEDEF_OUTSIDE_BUG 1 -+# define _STLP_NO_NEW_STYLE_CASTS 1 -+// # define _STLP_NO_WCHAR_T 1 -+// # define _STLP_LONG_LONG long long -+# define _STLP_NEED_MUTABLE 1 -+# define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 -+# define _STLP_NO_BAD_ALLOC 1 -+# define _STLP_NO_MEMBER_TEMPLATES 1 -+# define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1 -+# define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1 -+# define _STLP_NO_FRIEND_TEMPLATES 1 -+# define _STLP_NO_QUALIFIED_FRIENDS 1 -+# define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1 -+# define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 -+# define _STLP_MEMBER_POINTER_PARAM_BUG 1 -+# define _STLP_NON_TYPE_TMPL_PARAM_BUG 1 -+# define _STLP_NO_DEFAULT_NON_TYPE_PARAM 1 -+// # define _STLP_NO_METHOD_SPECIALIZATION 1 -+# define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 -+# define _STLP_NO_EXCEPTION_HEADER 1 -+# define _STLP_DEFAULT_CONSTRUCTOR_BUG 1 -+# define _STLP_HAS_NO_NEW_C_HEADERS 1 -+// # define _STLP_STATIC_CONST_INIT_BUG 1 -+// # define _STLP_THROW_RETURN_BUG 1 -+// # define _STLP_LINK_TIME_INSTANTIATION 1 -+// # define _STLP_NO_TEMPLATE_CONVERSIONS 1 -+# define _STLP_NO_TYPEINFO 1 -+# define _STLP_WCHAR_T_IS_USHORT 1 -+ -+# endif /* cfront */ -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_ibm.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_ibm.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_ibm.h Sat Feb 24 10:44:28 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_ibm.h Sun Aug 11 18:59:24 2002 -@@ -1,40 +1,55 @@ - // STLport configuration file - // It is internal STLport header - DO NOT include it directly - -+#if !defined(__IBMCPP__) || (__IBMCPP__ < 500) -+# define _STLP_HAS_NO_NEW_C_HEADERS 1 -+#endif -+ -+// string literal problem, same as with SUN and aCC -+# define _STLP_INLINE_STRING_LITERAL_BUG 1 -+# define _STLP_HAS_NATIVE_FLOAT_ABS -+ -+# define _STLP_DEFAULT_CONSTRUCTOR_BUG 1 -+ - - # ifdef __IBMCPP__ --# define __STL_HAS_SPECIFIC_PROLOG_EPILOG -+# define _STLP_HAS_SPECIFIC_PROLOG_EPILOG - # endif - -+// # if ( defined (__MULTI__) && defined (__WINDOWS__)) -+// # define _STLP_WIN32THREADS 1 // Only Visual Age 3.5 for Windows -+// # endif -+ -+# if ( defined (__MULTI__) && defined (__OS2__)) -+# define _STLP_OS2THREADS 1 -+# endif -+ - // __TEMPINC__ is set when /Ft+ option is used - # ifdef __TEMPINC__ --# define __STL_LINK_TIME_INSTANTIATION 1 -+# define _STLP_LINK_TIME_INSTANTIATION 1 - # endif - - # if defined (__MVS__) - // long long support is buggy - reported by Tinny Ng - // # if __EXTENDED__ && __COMPILER_VER__ >= 0x22060000 --// # define __STL_LONG_LONG 1 -+// # define _STLP_LONG_LONG long long - // # endif --# define __STL_NO_TYPEINFO 1 --# undef __STL_NATIVE_INCLUDE_PATH --# define __STL_NATIVE_INCLUDE_PATH /usr/lpp/ioclib/include -+// boris : hstash reported it can be treated like UNIX -+# define _STLP_UNIX 1 -+# define _STLP_NO_TYPEINFO 1 -+# undef _STLP_NATIVE_INCLUDE_PATH -+# define _STLP_NATIVE_INCLUDE_PATH /usr/lpp/ioclib/include - // same for C headers like --# undef __STL_NATIVE_C_INCLUDE_PATH --# define __STL_NATIVE_C_INCLUDE_PATH /usr/include -+# undef _STLP_NATIVE_C_INCLUDE_PATH -+# define _STLP_NATIVE_C_INCLUDE_PATH /usr/include -+# define _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH /usr/include - - # elif (defined (__WINDOWS__) || defined (_AIX) || defined (__OS2__) ) && (__IBMCPP__ >= 350) - --# define __STL_LONG_LONG 1 -+# define _STLP_LONG_LONG long long - - #endif - --# if ( defined (__MULTI__) && defined (__WINDOWS__)) --# define __STL_WIN32THREADS 1 // Only Visual Age 3.5 for Windows --# endif -- --# define __STL_HAS_NO_NEW_C_HEADERS 1 -- - #if !( defined( __xlC__ ) && __xlC__ >= 0x500 ) - - // AIX xlC 3.1 , 3.0.1 ==0x301 -@@ -42,70 +57,82 @@ - // OS-390 C++ - // fbp : should be more version-specific! - --# define __STL_NO_BOOL 1 --# define __STL_DONT_USE_BOOL_TYPEDEF 1 --# define __STL_LIMITED_DEFAULT_TEMPLATES 1 --# define __STL_HAS_NO_NAMESPACES 1 -- --# define __STL_NEED_TYPENAME 1 --# define __STL_NEED_EXPLICIT 1 -- --// # define __STL_HAS_NO_EXCEPTIONS 1 --// # define __STL_NO_EXCEPTION_SPEC 1 -- --# define __SGI_STL_NO_ARROW_OPERATOR 1 --# define __STL_NO_PROXY_ARROW_OPERATOR 1 --# define __STL_NO_NEW_STYLE_CASTS 1 --# define __STL_NO_WCHAR_T 1 --# define __STL_NEED_MUTABLE 1 --# define __STL_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 --# define __STL_NO_BAD_ALLOC 1 -- --# define __STL_NO_MEMBER_TEMPLATES 1 --# define __STL_NO_MEMBER_TEMPLATE_CLASSES 1 --# define __STL_NO_MEMBER_TEMPLATE_KEYWORD 1 --# define __STL_NO_FRIEND_TEMPLATES 1 --# define __STL_NO_QUALIFIED_FRIENDS 1 --# define __STL_NO_CLASS_PARTIAL_SPECIALIZATION 1 --# define __STL_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 -- --# define __STL_NO_DEFAULT_NON_TYPE_PARAM 1 --# define __STL_NO_METHOD_SPECIALIZATION 1 --# define __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 --# define __STL_NO_EXCEPTION_HEADER 1 -+# define _STLP_NO_BOOL 1 -+# define _STLP_DONT_USE_BOOL_TYPEDEF 1 -+# define _STLP_LIMITED_DEFAULT_TEMPLATES 1 -+# define _STLP_HAS_NO_NAMESPACES 1 -+# define _STLP_NEED_TYPENAME 1 -+# define _STLP_NEED_EXPLICIT 1 -+# define _STLP_NO_ARROW_OPERATOR 1 -+# define _STLP_NO_NEW_STYLE_CASTS 1 -+# define _STLP_NO_WCHAR_T 1 -+# define _STLP_NEED_MUTABLE 1 -+# define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 -+# define _STLP_NO_BAD_ALLOC 1 -+ -+# define _STLP_NO_MEMBER_TEMPLATES 1 -+# define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1 -+# define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1 -+# define _STLP_NO_FRIEND_TEMPLATES 1 -+# define _STLP_NO_QUALIFIED_FRIENDS 1 -+# define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1 -+# define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 -+ -+# define _STLP_NO_DEFAULT_NON_TYPE_PARAM 1 -+# define _STLP_NO_METHOD_SPECIALIZATION 1 -+# define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 -+# define _STLP_NO_EXCEPTION_HEADER 1 - --# define __STL_HAS_NO_NEW_IOSTREAMS 1 --# define __STL_NO_NEW_NEW_HEADER 1 -+# define _STLP_HAS_NO_NEW_IOSTREAMS 1 -+# define _STLP_NO_NEW_NEW_HEADER 1 - --# if defined (__OS2__) --# define __STL_NO_TYPEINFO 1 -+# if defined (__OS2__) && (__IBMCPP__ <= 350) -+# define _STLP_NO_TYPEINFO 1 - # endif --# define __STL_NO_NEW_NEW_HEADER 1 -+# define _STLP_NO_NEW_NEW_HEADER 1 - --# define __STL_STATIC_CONST_INIT_BUG 1 --// # define __STL_THROW_RETURN_BUG 1 -+# define _STLP_STATIC_CONST_INIT_BUG 1 -+// # define _STLP_THROW_RETURN_BUG 1 - - --# define __STL_NO_TEMPLATE_CONVERSIONS 1 --# define __STL_UNINITIALIZABLE_PRIVATE 1 --# define __STL_BASE_TYPEDEF_OUTSIDE_BUG 1 --# define __STL_STATIC_ARRAY_BUG 1 -+# define _STLP_NO_TEMPLATE_CONVERSIONS 1 -+# define _STLP_UNINITIALIZABLE_PRIVATE 1 -+# define _STLP_BASE_TYPEDEF_OUTSIDE_BUG 1 -+# define _STLP_STATIC_ARRAY_BUG 1 - - // AIX xlC, Visual Age 3.0 for OS/2 and MS --# define __STL_TRIVIAL_DESTRUCTOR_BUG -+# define _STLP_TRIVIAL_DESTRUCTOR_BUG - --# define __STL_NON_TYPE_TMPL_PARAM_BUG 1 --# define __STL_NONTEMPL_BASE_MATCH_BUG 1 -+# define _STLP_NON_TYPE_TMPL_PARAM_BUG 1 -+# define _STLP_NONTEMPL_BASE_MATCH_BUG 1 - - #if __IBMCPP__ <= 350 --# define __STL_NEED_UNREACHABLE_RETURN 1 -+# define _STLP_NEED_UNREACHABLE_RETURN 1 - #endif - - #if __IBMCPP__ < 350 --# define __STL_NO_LONG_DOUBLE 1 -+# define _STLP_NO_LONG_DOUBLE 1 -+#endif -+ -+#if __IBMCPP__ >= 365 -+// does not have new C headers, but has div() -+# define _STLP_LDIV - #endif - - #endif /* xlC 5 */ -+ -+/* detect xlC5 by: */ -+#if defined(__IBMCPP__) && (500 <= __IBMCPP__) && (__IBMCPP__ < 600) -+#define _STLP_USE_EXCEPTIONS 1 -+#define _STLP_STATIC_CONST_INIT_BUG 1 -+//#pragma report(disable,CPPC1500029) -+// unsigned 32-bit integer type -+# define _STLP_UINT32_T unsigned int -+#if defined(_XOPEN_SOURCE) && (_XOPEN_VERSION - 0 >= 4) -+# define _STLP_RAND48 1 -+#endif -+// # define _STLP_RAND48 1 -+# endif /* __IBMCPP__ == 500 */ - - - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_intel.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_intel.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_intel.h Sat Feb 24 10:44:28 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_intel.h Sun Aug 11 18:59:24 2002 -@@ -1,11 +1,14 @@ - // STLport configuration file - // It is internal STLport header - DO NOT include it directly - --# define __STL_DLLEXPORT_NEEDS_PREDECLARATION 1 -+# if (__ICL >= 450) -+# define _STLP_DLLEXPORT_NEEDS_PREDECLARATION 1 -+# endif -+ -+# define _STLP_IMPORT_TEMPLATE_KEYWORD extern - - # include - --// debug mode problems in --# define __STL_NAMESPACE_FUNCTION_AMBIGUITY_BUG 1 --# define __STL_LONG_LONG 1 -+# undef _STLP_LONG_LONG -+# define _STLP_LONG_LONG long long - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_kai.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_kai.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_kai.h Sat Feb 24 10:44:28 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_kai.h Sun Aug 11 18:59:24 2002 -@@ -1,26 +1,58 @@ - // STLport config file for KAI C++ compiler - --# define __STL_RAND48 1 -- --# define __STL_VENDOR_MB_NAMESPACE __STL_VENDOR_STD -+#if defined(_XOPEN_SOURCE) && (_XOPEN_VERSION - 0 >= 4) -+# define _STLP_RAND48 1 -+#endif - - # ifndef __KAI_STRICT /* _NO_LONGLONG */ --# define __STL_LONG_LONG 1 -+# define _STLP_LONG_LONG long long - # endif - - # if !defined (__EXCEPTIONS) && ! defined (_EXCEPTIONS) --# define __STL_HAS_NO_EXCEPTIONS -+# define _STLP_HAS_NO_EXCEPTIONS - # endif - --// # define __STL_LINK_TIME_INSTANTIATION 1 --# define __STL_VENDOR_GLOBAL_CSTD 1 --# define __STL_NO_NATIVE_WIDE_STREAMS 1 -+# ifndef __BUILDING_STLPORT -+# define _STLP_LINK_TIME_INSTANTIATION 1 -+# endif - - // two levels of macros do not work good with kcc. --# define __STL_NATIVE_HEADER(header) <../include/##header> --# define __STL_NATIVE_C_HEADER(header) <../include/##header> --# define __STL_NATIVE_CPP_C_HEADER(header) <../include/##header> -+# define _STLP_NATIVE_HEADER(header) <../include/##header> -+# define _STLP_NATIVE_C_HEADER(header) <../include/##header> -+# define _STLP_NATIVE_CPP_C_HEADER(header) <../include/##header> -+# define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <../include/##header> -+ -+# ifdef _WIN32 -+# define _STLP_MINIMUM_IMPORT_STD -+# endif - - // KAI C++ uses EDG front-end, but apparently different switches - // # define __EDG_SWITCHES 1 -+ -+ -+# define _STLP_VENDOR_GLOBAL_CSTD 1 -+# define _STLP_VENDOR_MB_NAMESPACE std -+ -+// boris : some of those may also apply to KCC 3.4 -+# if __KCC_VERSION < 4000 -+# define _STLP_VENDOR_GLOBAL_EXCEPT_STD 1 -+ -+# endif -+ -+// this is multiplatform compiler, so here should go system-dependant section -+// This really should be in platform-specific files, like stl_solaris.h -+# ifdef __linux__ -+# define _STLP_NO_NATIVE_WIDE_STREAMS 1 -+# define _STLP_NO_NATIVE_WIDE_FUNCTIONS 1 -+# elif defined (__sun) || defined (sun) -+// # define _STLP_VENDOR_MB_NAMESPACE -+# include -+# elif defined (__hpux) -+# define _STLP_NO_NATIVE_WIDE_FUNCTIONS -+# elif defined (__sgi) -+// this requires some discrimination on whether we are actually on -+// a system officially supported by KAI. -+# define _STLP_HAS_NO_NEW_C_HEADERS 1 -+# include -+# endif - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_mlc.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_mlc.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_mlc.h Sat Feb 24 10:44:28 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_mlc.h Sun Aug 11 18:59:24 2002 -@@ -1,8 +1,8 @@ - // STLport configuration file - // It is internal STLport header - DO NOT include it directly - --#define __STL_NO_MEMBER_TEMPLATES // Compiler does not support member templates --#define __STL_NO_MEMBER_TEMPLATE_CLASSES // Compiler does not support member template classes -+#define _STLP_NO_MEMBER_TEMPLATES // Compiler does not support member templates -+#define _STLP_NO_MEMBER_TEMPLATE_CLASSES // Compiler does not support member template classes - --#define __STL_HAS_NEW_NEW_HEADER --#define __STL_HAS_NO_NEW_IOSTREAMS // Native C++ library does not provide new-style templatized iostreams -+#define _STLP_HAS_NEW_NEW_HEADER -+#define _STLP_HAS_NO_NEW_IOSTREAMS // Native C++ library does not provide new-style templatized iostreams -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_msvc.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_msvc.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_msvc.h Sat Feb 24 10:44:28 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_msvc.h Sun Aug 11 18:59:24 2002 -@@ -2,122 +2,163 @@ - // It is internal STLport header - DO NOT include it directly - // Microsoft Visual C++ 4.0, 4.1, 4.2, 5.0, ICL - -+ - // Common features for VC++ 4.0 and higher --# define __STL_NATIVE_HEADER(x) <../include/##x> --# define __STL_NATIVE_C_HEADER(x) <../include/##x> --# define __STL_NATIVE_CPP_C_HEADER(x) <../include/##x> --# define __STL_NATIVE_OLD_STREAMS_HEADER(x) <../include/##x> -+# ifdef _M_IA64 -+# define _STLP_NATIVE_HEADER(x) <../crt/##x> -+# define _STLP_NATIVE_C_HEADER(x) <../crt/##x> -+# define _STLP_NATIVE_CPP_C_HEADER(x) <../crt/##x> -+# define _STLP_NATIVE_OLD_STREAMS_HEADER(x) <../crt/##x> -+# define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <../crt/##header> -+# define _STLP_GLOBAL_NEW_HANDLER -+# else -+# define _STLP_NATIVE_HEADER(x) <../include/##x> -+# define _STLP_NATIVE_C_HEADER(x) <../include/##x> -+# define _STLP_NATIVE_CPP_C_HEADER(x) <../include/##x> -+# define _STLP_NATIVE_OLD_STREAMS_HEADER(x) <../include/##x> -+# define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <../include/##header> -+# endif - --# define __STL_MSVC50_COMPATIBILITY 1 -+# define _STLP_CALL __cdecl - --# define __STL_CALL __cdecl -+# ifndef _STLP_LONG_LONG -+# define _STLP_LONG_LONG __int64 -+# endif - - // these switches depend on compiler flags - # ifndef _CPPUNWIND --# define __STL_HAS_NO_EXCEPTIONS 1 -+# define _STLP_HAS_NO_EXCEPTIONS 1 - # endif - --# define __STL_VENDOR_UNEXPECTED_STD -+# define _STLP_VENDOR_UNEXPECTED_STD - --# if defined ( _MT ) && !defined (_NOTHREADS) && !defined (_REENTRANT) -+# if defined ( _MT ) && !defined (_STLP_NO_THREADS) && !defined (_REENTRANT) - # define _REENTRANT 1 - # endif - --# define __STL_WCHAR_T_IS_USHORT 1 -+# define _STLP_WCHAR_T_IS_USHORT 1 -+# define _STLP_MINIMUM_IMPORT_STD -+ -+# ifdef _STLP_MSVC -+ -+# ifndef _STLP_MSVC50_COMPATIBILITY -+# define _STLP_MSVC50_COMPATIBILITY 1 -+# endif -+ -+// # define _STLP_STATIC_CONST_INIT_BUG 1 -+# define _STLP_DEFAULT_CONSTRUCTOR_BUG 1 -+ -+# define _STLP_DLLEXPORT_NEEDS_PREDECLARATION 1 - --// common for VC++ and ICL --# define __STL_STATIC_CONST_INIT_BUG 1 --# define __STL_DEFAULT_CONSTRUCTOR_BUG 1 -- --# ifdef __STL_MSVC --# define __STL_DLLEXPORT_NEEDS_PREDECLARATION 1 --# define __STL_HAS_SPECIFIC_PROLOG_EPILOG --# define __STL_NO_TYPENAME_IN_TEMPLATE_HEADER -+// # ifndef __BUILDING_STLPORT -+// # define _STLP_USE_TEMPLATE_EXPORT 1 -+// # endif -+ -+# define _STLP_HAS_SPECIFIC_PROLOG_EPILOG -+# define _STLP_NO_TYPENAME_IN_TEMPLATE_HEADER - // fails to properly resolve call to sin() from within sin() --# define __STL_SAME_FUNCTION_NAME_RESOLUTION_BUG -+# define _STLP_SAME_FUNCTION_NAME_RESOLUTION_BUG - --# if (__STL_MSVC > 1100) -+# if (_STLP_MSVC > 1100) - typedef char __stl_char; --# define __STL_DEFAULTCHAR __stl_char --# endif /* (__STL_MSVC < 1100 ) */ -+# define _STLP_DEFAULTCHAR __stl_char -+# endif /* (_STLP_MSVC < 1100 ) */ - --# define __STL_NO_TYPENAME_ON_RETURN_TYPE 1 -+# define _STLP_NO_TYPENAME_ON_RETURN_TYPE 1 - // using ::func_name results in ambiguity --# define __STL_NO_USING_FOR_GLOBAL_FUNCTIONS 1 --# define __STL_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 --# define __STL_NO_CLASS_PARTIAL_SPECIALIZATION 1 --# define __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 --# define __STL_NO_MEMBER_TEMPLATE_KEYWORD 1 --# define __STL_NO_MEMBER_TEMPLATE_CLASSES 1 --# define __STL_NO_FRIEND_TEMPLATES --# define __STL_NO_QUALIFIED_FRIENDS 1 --# define __STL_DONT_USE_BOOL_TYPEDEF 1 --# endif /* __STL_MSVC */ -- --# if (_MSC_VER <= 1200) // including MSVC 6.0 --# define __STL_GLOBAL_NEW_HANDLER --// and the like still put stuff in ::namespace --// up to version 6 --# define __STL_VENDOR_GLOBAL_CSTD - --# ifdef __STL_MSVC -+# if (_STLP_MSVC <= 1300) -+// boris : not defining this macro for SP5 causes other problems -+// # if !defined (_MSC_FULL_VER) || (_MSC_FULL_VER < 12008804 ) -+# define _STLP_NO_USING_FOR_GLOBAL_FUNCTIONS 1 -+//# endif -+# define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 -+# define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1 -+# define _STLP_NO_FRIEND_TEMPLATES -+# define _STLP_STATIC_CONST_INIT_BUG 1 - // these work, as long they are inline --# define __STL_INLINE_MEMBER_TEMPLATES 1 --# endif -+# define _STLP_INLINE_MEMBER_TEMPLATES 1 -+// VC++ cannot handle default allocator argument in template constructors -+# define _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS -+// there is no partial spec, and MSVC breaks on simulating it for iterator_traits queries -+# define _STLP_USE_OLD_HP_ITERATOR_QUERIES -+# endif -+ -+// # define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 -+# define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1 -+# define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1 -+ -+# define _STLP_NO_QUALIFIED_FRIENDS 1 -+# define _STLP_DONT_USE_BOOL_TYPEDEF 1 -+ -+# endif /* _STLP_MSVC */ -+ -+ -+# if (_MSC_VER <= 1300) -+# define _STLP_VENDOR_GLOBAL_CSTD -+// They included the necessary coding, -+// but the beta still has an issue with template classes -+// ok: class a { static const int v = 2; }; -+// error: template <class _Tp> class a { static const int v = 2; }; -+# endif /* (_MSC_VER <= 1300) */ -+ -+# if (_MSC_VER <= 1200) // including MSVC 6.0 -+# define _STLP_GLOBAL_NEW_HANDLER - # endif /* (_MSC_VER <= 1200) */ - - # if ( _MSC_VER<=1010 ) - // "bool" is reserved in MSVC 4.1 while absent, so : --// # define __STL_USE_ABBREVS 1 --# define __STL_NO_BAD_ALLOC --# define __STL_HAS_NO_NEW_C_HEADERS 1 --# define __STL_NO_NEW_NEW_HEADER 1 -+// # define _STLP_USE_ABBREVS 1 -+# define _STLP_NO_BAD_ALLOC -+# define _STLP_HAS_NO_NEW_C_HEADERS 1 -+# define _STLP_NO_NEW_NEW_HEADER 1 - # elif (_MSC_VER < 1100) - // VC++ 4.2 and higher --# define __STL_YVALS_H 1 --# define __STL_HAS_NO_NEW_IOSTREAMS 1 -+# define _STLP_YVALS_H 1 -+# define _STLP_HAS_NO_NEW_IOSTREAMS 1 - # endif /* 1010 */ - --# if defined (__STL_MSVC) && ( __STL_MSVC < 1200 ) /* VC++ 6.0 */ --# define __STL_NO_MEMBER_TEMPLATES 1 --# define __STL_NON_TYPE_TMPL_PARAM_BUG 1 --# define __STL_THROW_RETURN_BUG 1 -+# if defined (_STLP_MSVC) && ( _STLP_MSVC < 1200 ) /* VC++ 6.0 */ -+// # define _STLP_NO_MEMBER_TEMPLATES 1 -+// # define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 -+# define _STLP_NON_TYPE_TMPL_PARAM_BUG 1 -+# define _STLP_THROW_RETURN_BUG 1 - # endif - --# if defined (__STL_MSVC) && ( __STL_MSVC < 1100 ) --# ifndef __STL_NO_SGI_IOSTREAMS --# define __STL_NO_SGI_IOSTREAMS --# undef __SGI_STL_OWN_IOSTREAMS -+# if defined (_STLP_MSVC) && ( _STLP_MSVC < 1100 ) -+# ifndef _STLP_NO_OWN_IOSTREAMS -+# define _STLP_NO_OWN_IOSTREAMS -+# undef _STLP_OWN_IOSTREAMS - # endif --// # define __STL_NESTED_TYPE_PARAM_BUG 1 -+// # define _STLP_NESTED_TYPE_PARAM_BUG 1 - // Debug mode does not work for 4.2 --# ifdef __STL_DEBUG --# pragma message ("STLport debug mode does not work for VC++ 4.2, turning __STL_DEBUG off ...") --# undef __STL_DEBUG -+# ifdef _STLP_DEBUG -+# pragma message ("STLport debug mode does not work for VC++ 4.2, turning _STLP_DEBUG off ...") -+# undef _STLP_DEBUG - # endif --# define __STL_NO_BOOL 1 --# define __STL_NEED_TYPENAME 1 --# define __STL_NEED_EXPLICIT 1 --# define __STL_NEED_MUTABLE 1 --# define __STL_NO_PARTIAL_SPECIALIZATION_SYNTAX --# define __STL_LIMITED_DEFAULT_TEMPLATES 1 -+# define _STLP_NO_BOOL 1 -+# define _STLP_NEED_TYPENAME 1 -+# define _STLP_NEED_EXPLICIT 1 -+# define _STLP_NEED_MUTABLE 1 -+# define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX -+# define _STLP_LIMITED_DEFAULT_TEMPLATES 1 - - // up to 4.2, library is in global namespace --# define __STL_VENDOR_GLOBAL_STD --# define __STL_NONTEMPL_BASE_MATCH_BUG 1 --# define __STL_BROKEN_USING_DIRECTIVE 1 --# define __SGI_STL_NO_ARROW_OPERATOR --# define __STL_NO_SIGNED_BUILTINS 1 --# define __STL_NO_EXCEPTION_SPEC 1 --# undef __STL_DEFAULT_TYPE_PARAM --# undef __STL_HAS_NO_NAMESPACES --# undef __STL_NO_AT_MEMBER_FUNCTION --# undef __STL_NO_MEMBER_TEMPLATES --# undef __STL_NO_MEMBER_TEMPLATE_CLASSES --# define __STL_HAS_NO_NAMESPACES 1 --# define __STL_NO_AT_MEMBER_FUNCTION 1 --# define __STL_NO_MEMBER_TEMPLATES --# define __STL_NO_MEMBER_TEMPLATE_CLASSES -+# define _STLP_VENDOR_GLOBAL_STD -+# define _STLP_NONTEMPL_BASE_MATCH_BUG 1 -+# define _STLP_BROKEN_USING_DIRECTIVE 1 -+# define _STLP_NO_ARROW_OPERATOR -+# define _STLP_NO_SIGNED_BUILTINS 1 -+# define _STLP_NO_EXCEPTION_SPEC 1 -+# undef _STLP_DEFAULT_TYPE_PARAM -+# undef _STLP_HAS_NO_NAMESPACES -+# undef _STLP_NO_AT_MEMBER_FUNCTION -+# undef _STLP_NO_MEMBER_TEMPLATES -+# undef _STLP_NO_MEMBER_TEMPLATE_CLASSES -+# define _STLP_HAS_NO_NAMESPACES 1 -+# define _STLP_NO_AT_MEMBER_FUNCTION 1 -+# define _STLP_NO_MEMBER_TEMPLATES -+# define _STLP_NO_MEMBER_TEMPLATE_CLASSES - # endif /* 1100 */ - - // If we are under Windows CE, include appropriate config -@@ -127,30 +168,32 @@ - # endif - - # ifdef __ICL --# define __STL_LIB_BASENAME "stlport_icl" -+# define _STLP_LIB_BASENAME "stlport_icl" - # else --# if (_MSC_VER >= 1200) --# ifdef _UNICODE --# define __STL_LIB_BASENAME "stlport_vc6_unicode" --# else --# define __STL_LIB_BASENAME "stlport_vc6" --# endif -+# if (_MSC_VER >= 1300) -+# define _STLP_LIB_BASENAME "stlport_vc7" -+# elif (_MSC_VER >= 1200) -+//# ifdef _UNICODE -+//# define _STLP_LIB_BASENAME "stlport_vc6_unicode" -+//# else -+# define _STLP_LIB_BASENAME "stlport_vc6" -+//# endif - # elif (_MSC_VER >= 1100) --# ifdef _UNICODE --# define __STL_LIB_BASENAME "stlport_vc5_unicode" --# else --# define __STL_LIB_BASENAME "stlport_vc5" --# endif -+//# ifdef _UNICODE -+//# define _STLP_LIB_BASENAME "stlport_vc5_unicode" -+//# else -+# define _STLP_LIB_BASENAME "stlport_vc5" -+//# endif - # endif /* (_MSC_VER >= 1200) */ - # endif /* __ICL */ - - --# if defined (__ICL) || (_MSC_VER < 1200) && ! defined (__BUILDING_STLPORT) --// only static SGI lib now works for ICL and VC 5.0 --# undef __STL_USE_STATIC_LIB --# define __STL_USE_STATIC_LIB -+# if (defined (__ICL) && (__ICL < 450)) || (_MSC_VER < 1200) -+// only static STLport lib now works for ICL and VC 5.0 -+# undef _STLP_USE_STATIC_LIB -+# define _STLP_USE_STATIC_LIB - // disable hook which makes template symbols to be searched for in the library --# undef __STL_NO_CUSTOM_IO -+# undef _STLP_NO_CUSTOM_IO - # endif - - # include -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_mwerks.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_mwerks.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_mwerks.h Sat Feb 24 10:44:28 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_mwerks.h Sun Aug 11 18:59:24 2002 -@@ -1,126 +1,140 @@ --// STLport configuration file --// It is internal STLport header - DO NOT include it directly -- --// Bring in definition of __MSL__ and related items --#include --#include -- --// --// Compiler features --// -- -- --// *** CodeWarrior Compiler Common Features *** --# if __option(longlong) --# define __STL_LONG_LONG 1 --# endif -- --# define __STL_USE_UNIX_EMULATION_IO 1 --# define __SGI_STL_USE_AUTO_PTR_CONVERSIONS 1 --# define __STL_STATIC_CONST_INIT_BUG -- --# ifdef __INTEL__ --# define __STL_LITTLE_ENDIAN --# else --# define __STL_BIG_ENDIAN --# endif -- --// *** CodeWarrior Compiler Common Bugs *** --# define __MSL_FIX_ITERATORS__(myType) // Some MSL headers rely on this --# define __STL_NO_FRIEND_TEMPLATES 1 // Bug mysteriously reintroduced in this version. --# define __STL_THROW_RETURN_BUG 1 -- --# if __MWERKS__ <= 0x2303 --# define __STL_NO_TEMPLATE_CONVERSIONS 1 --# define __STL_NO_MEMBER_TEMPLATE_KEYWORD 1 --# endif -- --// *** Version-specific settings *** -- --# if __MWERKS__ < 0x2301 --# define __STL_MEMBER_SPECIALIZATION_BUG 1 --# endif -- --# if __MWERKS__ < 0x2300 // CW Pro5 features --# define __STL_INLINE_MEMBER_TEMPLATES 1 --# define __STL_RELOPS_IN_STD_BUG 1 --# define __STL_DEFAULT_CONSTRUCTOR_BUG 1 --# define __STL_NO_TYPENAME_ON_RETURN_TYPE --# endif -- --# if __MWERKS__ < 0x2200 // CW Pro4 features --# define __STL_BROKEN_USING_DIRECTIVE 1 --# define __STL_NO_MEMBER_TEMPLATES 1 --# define __STL_NO_MEMBER_TEMPLATE_CLASSES 1 --# define __STL_NO_MEMBER_TEMPLATE_KEYWORD 1 --# define __STL_NO_FRIEND_TEMPLATES 1 --# define __STL_NO_QUALIFIED_FRIENDS 1 --# define __STL_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 --# endif -- --# if __MWERKS__ < 0x2100 // CW Pro3 features --# define __STL_NO_CLASS_PARTIAL_SPECIALIZATION 1 --# define __STL_HAS_NO_NAMESPACES 1 --# define __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 -- --# define __STL_NEED_TYPENAME 1 --# define __SGI_STL_NO_ARROW_OPERATOR 1 --# define __STL_TEMPLATE_PARAM_SUBTYPE_BUG 1 --# define __STL_FORCED_INLINE_INSTANTIATION_BUG 1 --# define __STL_MULTI_CONST_TEMPLATE_ARG_BUG 1 --# define __STL_INLINE_NAME_RESOLUTION_BUG 1 --// *** Metrowerks Standard Library Bug *** --# define __STL_MSVC50_COMPATIBILITY 1 --# endif -- --# if __MWERKS__ < 0x2000 // v. 2.0 features --# define __STL_NO_WCHAR_T 1 --# define __STL_NO_DEFAULT_NON_TYPE_PARAM 1 --# define __STL_NON_TYPE_TMPL_PARAM_BUG 1 // dwa 8/21/97 - this bug fixed for CWPro2 --# define __STL_UNINITIALIZABLE_PRIVATE 1 // dwa 10/23/97 - this bug fixed for CWPro2 --# endif -- --# if __MWERKS__ < 0x1900 // dwa 8/19/97 - 1.9 Compiler feature defines --# define __STL_LIMITED_DEFAULT_TEMPLATES 1 --# define __STL_BASE_TYPEDEF_BUG 1 --# define __STL_BASE_MATCH_BUG 1 --# define __STL_NONTEMPL_BASE_MATCH_BUG 1 --# define __STL_DEFAULT_TYPE_PARAM 1 // More limited template parameters -- --# if __MWERKS__ < 0x1800 -- __GIVE_UP_WITH_STL(CW_18) --# endif -- --# endif -- -- --// fixes to native inclusion wrappers. --# if __MWERKS__ >= 0x2300 // CWPro5 changes paths - dwa 2/28/99 -- --# define __STL_NATIVE_INCLUDE_PATH ../include --# define __STL_NATIVE_C_INCLUDE_PATH ../include --# define __STL_NATIVE_HEADER(header) <../include/##header> -- // fbp -- --# define __STL_NATIVE_CPP_C_HEADER(header) <../include/##header> --# define __STL_NATIVE_C_HEADER(header) <../include/##header> -- --# else -- --# define __STL_NATIVE_INCLUDE_PATH Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C++:Include --# define __STL_NATIVE_C_INCLUDE_PATH Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:MSL Common:Public Includes --# define __STL_NATIVE_HEADER(header) --# define __STL_NATIVE_CPP_C_HEADER(header) --# define __STL_NATIVE_C_HEADER(header) -- --# endif -- -- // fbp --# if !defined( __MSL_CPP__ ) || __MSL_CPP__ <= 0x4105 --# define __STL_NO_NATIVE_WIDE_STREAMS 1 --# endif -- --# define __STL_LIB_BASENAME stlport_mwerks_x86 --# define __STL_DLLEXPORT_NEEDS_PREDECLARATION 1 -- --// # include -+// STLport configuration file -+// It is internal STLport header - DO NOT include it directly -+ -+// Bring in definition of __MSL__ and related items -+#include -+#include -+ -+// -+// Compiler features -+// -+ -+ -+// *** CodeWarrior Compiler Common Features *** -+# if __option(longlong) -+# define _STLP_LONG_LONG long long -+# endif -+ -+# define _STLP_USE_UNIX_EMULATION_IO 1 -+# define _STLP_USE_AUTO_PTR_CONVERSIONS 1 -+ -+# ifdef __INTEL__ -+# define _STLP_LITTLE_ENDIAN -+# else -+# define _STLP_BIG_ENDIAN -+# endif -+ -+#if defined(_MSL_NO_LOCALE) -+#define _STLP_NO_IMPORT_LOCALE -+#endif -+#if !__option( wchar_type ) -+# define _STLP_WCHAR_T_IS_USHORT -+#endif -+ -+// *** CodeWarrior Compiler Common Bugs *** -+# define __MSL_FIX_ITERATORS__(myType) // Some MSL headers rely on this -+# define _STLP_NO_FRIEND_TEMPLATES 1 // Bug mysteriously reintroduced in this version. -+# define _STLP_THROW_RETURN_BUG 1 -+ -+// *** Version-specific settings *** -+ -+# if __MWERKS__ >= 0x2405 -+# define _STLP_HAS_NATIVE_FLOAT_ABS -+# endif -+ -+# if __MWERKS__ < 0x2405 -+# define _STLP_STATIC_CONST_INIT_BUG -+# endif -+ -+# if __MWERKS__ <= 0x2303 -+# define _STLP_NO_TEMPLATE_CONVERSIONS 1 -+# define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1 -+# endif -+ -+# if __MWERKS__ < 0x2301 -+# define _STLP_MEMBER_SPECIALIZATION_BUG 1 -+# endif -+ -+# if __MWERKS__ < 0x2300 // CW Pro5 features -+# define _STLP_INLINE_MEMBER_TEMPLATES 1 -+# define _STLP_RELOPS_IN_STD_BUG 1 -+# define _STLP_DEFAULT_CONSTRUCTOR_BUG 1 -+# define _STLP_NO_TYPENAME_ON_RETURN_TYPE -+# endif -+ -+# if __MWERKS__ < 0x2200 // CW Pro4 features -+# define _STLP_BROKEN_USING_DIRECTIVE 1 -+# define _STLP_NO_MEMBER_TEMPLATES 1 -+# define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1 -+# define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1 -+# define _STLP_NO_FRIEND_TEMPLATES 1 -+# define _STLP_NO_QUALIFIED_FRIENDS 1 -+# define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 -+# endif -+ -+# if __MWERKS__ < 0x2100 // CW Pro3 features -+# define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1 -+# define _STLP_HAS_NO_NAMESPACES 1 -+# define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 -+ -+# define _STLP_NEED_TYPENAME 1 -+# define _STLP_NO_ARROW_OPERATOR 1 -+# define _STLP_TEMPLATE_PARAM_SUBTYPE_BUG 1 -+# define _STLP_FORCED_INLINE_INSTANTIATION_BUG 1 -+# define _STLP_MULTI_CONST_TEMPLATE_ARG_BUG 1 -+# define _STLP_INLINE_NAME_RESOLUTION_BUG 1 -+// *** Metrowerks Standard Library Bug *** -+# define _STLP_MSVC50_COMPATIBILITY 1 -+# endif -+ -+# if __MWERKS__ < 0x2000 // v. 2.0 features -+# define _STLP_NO_WCHAR_T 1 -+# define _STLP_NO_DEFAULT_NON_TYPE_PARAM 1 -+# define _STLP_NON_TYPE_TMPL_PARAM_BUG 1 // dwa 8/21/97 - this bug fixed for CWPro2 -+# define _STLP_UNINITIALIZABLE_PRIVATE 1 // dwa 10/23/97 - this bug fixed for CWPro2 -+# endif -+ -+# if __MWERKS__ < 0x1900 // dwa 8/19/97 - 1.9 Compiler feature defines -+# define _STLP_LIMITED_DEFAULT_TEMPLATES 1 -+# define _STLP_BASE_TYPEDEF_BUG 1 -+# define _STLP_BASE_MATCH_BUG 1 -+# define _STLP_NONTEMPL_BASE_MATCH_BUG 1 -+# define _STLP_DEFAULT_TYPE_PARAM 1 // More limited template parameters -+ -+# if __MWERKS__ < 0x1800 -+ __GIVE_UP_WITH_STL(CW_18) -+# endif -+ -+# endif -+ -+ -+// fixes to native inclusion wrappers. -+# if __MWERKS__ >= 0x2300 // CWPro5 changes paths - dwa 2/28/99 -+ -+# define _STLP_NATIVE_INCLUDE_PATH ../include -+# define _STLP_NATIVE_C_INCLUDE_PATH ../include -+# define _STLP_NATIVE_HEADER(header) <../include/##header> -+# define _STLP_NATIVE_CPP_C_HEADER(header) <../include/##header> -+# define _STLP_NATIVE_C_HEADER(header) <../include/##header> -+# define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <../include/##header> -+ -+# else -+ -+# define _STLP_NATIVE_INCLUDE_PATH Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C++:Include -+# define _STLP_NATIVE_C_INCLUDE_PATH Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:MSL Common:Public Includes -+# define _STLP_NATIVE_HEADER(header) -+# define _STLP_NATIVE_CPP_C_HEADER(header) -+# define _STLP_NATIVE_C_HEADER(header) -+# define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) -+ -+# endif -+ -+ // fbp -+# if !defined( __MSL_CPP__ ) || __MSL_CPP__ <= 0x4105 -+# define _STLP_NO_NATIVE_WIDE_STREAMS 1 -+# endif -+ -+# define _STLP_LIB_BASENAME stlport_mwerks_x86 -+# define _STLP_DLLEXPORT_NEEDS_PREDECLARATION 1 -+ -+// # include -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_mycomp.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_mycomp.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_mycomp.h Sat Feb 24 10:44:28 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_mycomp.h Sun Aug 11 18:59:24 2002 -@@ -27,8 +27,8 @@ - * macros. - * - */ --# ifndef __STLPORT_MYCOMP_H --# define __STLPORT_MYCOMP_H -+# ifndef _STLP_MYCOMP_H -+# define _STLP_MYCOMP_H - - # error "Your compiler version is not recognized by STLport. Please edit " - -@@ -39,225 +39,221 @@ - - // Mostly correct guess, change it for Alpha (and other environments - // that has 64-bit "long") --// # define __STL_UINT32_T unsigned long -+// # define _STLP_UINT32_T unsigned long - - // Disables wchar_t functinality --// # define __STL_NO_WCHAR_T 1 -+// # define _STLP_NO_WCHAR_T 1 - - // Define if wchar_t is not a unique type, and is actually a typedef to unsigned short. --// # define __STL_WCHAR_T_IS_USHORT 1 -+// # define _STLP_WCHAR_T_IS_USHORT 1 - - // Uncomment if long long is available --// # define __STL_LONG_LONG 1 -+// # define _STLP_LONG_LONG long long - - // Uncomment if long double is not available --// # define __STL_NO_LONG_DOUBLE 1 -+// # define _STLP_NO_LONG_DOUBLE 1 - - // Uncomment this if your compiler does not support "typename" keyword --// # define __STL_NEED_TYPENAME 1 -+// # define _STLP_NEED_TYPENAME 1 - - // Uncomment this if your compiler does not support "mutable" keyword --// # define __STL_NEED_MUTABLE 1 -+// # define _STLP_NEED_MUTABLE 1 - - // Uncomment this if your compiler does not support "explicit" keyword --// # define __STL_NEED_EXPLICIT 1 -+// # define _STLP_NEED_EXPLICIT 1 - - // Uncomment if new-style-casts like const_cast<> are not available --// # define __STL_NO_NEW_STYLE_CASTS 1 -+// # define _STLP_NO_NEW_STYLE_CASTS 1 - - // Uncomment this if your compiler does not have "bool" type --// # define __STL_NO_BOOL 1 -+// # define _STLP_NO_BOOL 1 - - // Uncomment this if your compiler does not have "bool" type, but has "bool" keyword reserved --// # define __STL_DONT_USE_BOOL_TYPEDEF 1 -+// # define _STLP_DONT_USE_BOOL_TYPEDEF 1 - - // Uncomment this if your compiler does not have "bool" type, but defines "bool" in --// # define __STL_YVALS_H 1 -+// # define _STLP_YVALS_H 1 - - // Uncomment this if your compiler has limited or no default template arguments for classes --// # define __STL_LIMITED_DEFAULT_TEMPLATES 1 -+// # define _STLP_LIMITED_DEFAULT_TEMPLATES 1 - - // Uncomment this if your compiler support only complete (not dependent on other parameters) - // types as default parameters for class templates --// # define __STL_DEFAULT_TYPE_PARAM 1 -+// # define _STLP_DEFAULT_TYPE_PARAM 1 - - // Uncomment this if your compiler has problem with not-type - // default template parameters --// # define __STL_NO_DEFAULT_NON_TYPE_PARAM 1 -+// # define _STLP_NO_DEFAULT_NON_TYPE_PARAM 1 - - // Define if compiler has - // trouble with functions getting non-type-parameterized classes as parameters --// # define __STL_NON_TYPE_TMPL_PARAM_BUG 1 -+// # define _STLP_NON_TYPE_TMPL_PARAM_BUG 1 - - // Uncomment this if your compiler lacks static data members. - // Uncomment next line if your compiler supports __attribute__((weak)) --// # define __STL_NO_STATIC_TEMPLATE_DATA 1 --// # define __STL_WEAK_ATTRIBUTE 1 -+// # define _STLP_NO_STATIC_TEMPLATE_DATA 1 -+// # define _STLP_WEAK_ATTRIBUTE 1 - - // Uncomment this if your compiler does not support namespaces --// # define __STL_HAS_NO_NAMESPACES 1 -+// # define _STLP_HAS_NO_NAMESPACES 1 - - // Uncomment if "using" keyword does not work with template types --// # define __STL_BROKEN_USING_DIRECTIVE 1 -+// # define _STLP_BROKEN_USING_DIRECTIVE 1 - - // Uncomment this if your compiler does not support exceptions --// # define __STL_HAS_NO_EXCEPTIONS 1 -+// # define _STLP_HAS_NO_EXCEPTIONS 1 - - // Uncomment this if your compiler does not support exception specifications --// # define __STL_NO_EXCEPTION_SPEC -+// # define _STLP_NO_EXCEPTION_SPEC - - // Define this if your compiler requires return statement after throw() --// # define __STL_THROW_RETURN_BUG 1 -+// # define _STLP_THROW_RETURN_BUG 1 - - // Header that comes with the compiler - // does not define bad_alloc exception --// # define __STL_NO_BAD_ALLOC 1 -+// # define _STLP_NO_BAD_ALLOC 1 - - // Uncomment if member template methods are not available --// # define __STL_NO_MEMBER_TEMPLATES 1 -+// # define _STLP_NO_MEMBER_TEMPLATES 1 - - // Uncomment if member template classes are not available --// # define __STL_NO_MEMBER_TEMPLATE_CLASSES 1 -+// # define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1 - - // Uncomment if no "template" keyword should be used with member template classes --// # define __STL_NO_MEMBER_TEMPLATE_KEYWORD 1 -+// # define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1 - - // Uncomment if friend member templates are not available --// # define __STL_NO_FRIEND_TEMPLATES 1 -+// # define _STLP_NO_FRIEND_TEMPLATES 1 - - // Compiler does not accept friend declaration qualified with namespace name. --// # define __STL_NO_QUALIFIED_FRIENDS 1 -+// # define _STLP_NO_QUALIFIED_FRIENDS 1 - - // Uncomment if partial specialization is not available --// # define __STL_NO_CLASS_PARTIAL_SPECIALIZATION 1 -+// # define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1 - - // Define if class being partially specialized require full name (template parameters) - // of itself for method declarations --// # define __STL_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS -- --// partial specialization has bugs that prevent you from --// using new-style reverse_iterator --// # define __STL_PARTIAL_SPECIALIZATION_BUG -+// # define _STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS - - // Compiler has problems specializing members of partially - // specialized class --// # define __STL_MEMBER_SPECIALIZATION_BUG -+// # define _STLP_MEMBER_SPECIALIZATION_BUG - - // Uncomment if partial order of template functions is not available --// # define __STL_NO_FUNC_PARTIAL_ORDERING 1 -+// # define _STLP_NO_FUNC_PARTIAL_ORDERING 1 - - // Uncomment if specialization of methods is not allowed --// # define __STL_NO_METHOD_SPECIALIZATION 1 -+// # define _STLP_NO_METHOD_SPECIALIZATION 1 - - // Uncomment if full specialization does not use partial spec. syntax : template <> struct .... --// # define __STL_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 -+// # define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 - - // Uncomment if compiler does not support explicit template arguments for functions --// # define __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS -+// # define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS - - // Uncomment if "__typetraits is being instaniated automatically by the compiler (SGI only ?) --// # define __STL_AUTOMATIC_TYPE_TRAITS 1 -+// # define _STLP_AUTOMATIC_TYPE_TRAITS 1 - - // Uncomment this if your compiler can't inline while(), for() --// # define __STL_LOOP_INLINE_PROBLEMS 1 -+// # define _STLP_LOOP_INLINE_PROBLEMS 1 - - // Define if the compiler fails to match a template function argument of base --// # define __STL_BASE_MATCH_BUG 1 -+// # define _STLP_BASE_MATCH_BUG 1 - - // Define if the compiler fails to match a template function argument of base - // (non-template) --//# define __STL_NONTEMPL_BASE_MATCH_BUG 1 -+//# define _STLP_NONTEMPL_BASE_MATCH_BUG 1 - - // Define if the compiler rejects outline method definition - // explicitly taking nested types/typedefs --// # define __STL_NESTED_TYPE_PARAM_BUG 1 -+// # define _STLP_NESTED_TYPE_PARAM_BUG 1 - - // Compiler requires typename keyword on outline method definition - // explicitly taking nested types/typedefs --// #define __STL_TYPENAME_ON_RETURN_TYPE -+// #define _STLP_TYPENAME_ON_RETURN_TYPE - - // Define if the baseclass typedefs not visible from outside --// # define __STL_BASE_TYPEDEF_OUTSIDE_BUG 1 -+// # define _STLP_BASE_TYPEDEF_OUTSIDE_BUG 1 - - // if your compiler have serious problems with typedefs, try this one --// # define __STL_BASE_TYPEDEF_BUG 1 -+// # define _STLP_BASE_TYPEDEF_BUG 1 - - // Uncomment if getting errors compiling mem_fun* adaptors --// # define __STL_MEMBER_POINTER_PARAM_BUG 1 -+// # define _STLP_MEMBER_POINTER_PARAM_BUG 1 - --// # define __STL_UNINITIALIZABLE_PRIVATE 1 -+// # define _STLP_UNINITIALIZABLE_PRIVATE 1 - - // Defined if the compiler - // has trouble instantiating static array members with dimension defined as enum --// # define __STL_STATIC_ARRAY_BUG -+// # define _STLP_STATIC_ARRAY_BUG - --// * __STL_STATIC_CONST_INIT_BUG: defined if the compiler can't handle a -+// * _STLP_STATIC_CONST_INIT_BUG: defined if the compiler can't handle a - // constant-initializer in the declaration of a static const data member - // of integer type. (See section 9.4.2, paragraph 4, of the C++ standard.) --// # define __STL_STATIC_CONST_INIT_BUG -+// # define _STLP_STATIC_CONST_INIT_BUG - - // Define if default constructor for builtin integer type fails to initialize it to 0 --// # define __STL_DEFAULT_CONSTRUCTOR_BUG 1 -+// # define _STLP_DEFAULT_CONSTRUCTOR_BUG 1 - - // Defined if constructor - // required to explicitly call member's default constructors for const objects --// # define __STL_CONST_CONSTRUCTOR_BUG 1 -+// # define _STLP_CONST_CONSTRUCTOR_BUG 1 - - // Defined if the compiler has trouble calling POD-types constructors/destructors --// # define __STL_TRIVIAL_CONSTRUCTOR_BUG 1 --// # define __STL_TRIVIAL_DESTRUCTOR_BUG 1 -+// # define _STLP_TRIVIAL_CONSTRUCTOR_BUG 1 -+// # define _STLP_TRIVIAL_DESTRUCTOR_BUG 1 - - // Define if having problems specializing maps/sets with - // key type being const --// # define __STL_MULTI_CONST_TEMPLATE_ARG_BUG -+// # define _STLP_MULTI_CONST_TEMPLATE_ARG_BUG - - // Uncomment this to disable -> operators on all iterators --// # define __SGI_STL_NO_ARROW_OPERATOR 1 -+// # define _STLP_NO_ARROW_OPERATOR 1 - - // Uncomment this to disble at() member functions for containers --// # define __STL_NO_AT_MEMBER_FUNCTION 1 -+// # define _STLP_NO_AT_MEMBER_FUNCTION 1 - - // Uncomment if native new-style iostreams are not available --// #define __STL_HAS_NO_NEW_IOSTREAMS 1 -+// #define _STLP_HAS_NO_NEW_IOSTREAMS 1 - - // Define this if compiler lacks header --// # define __STL_NO_EXCEPTION_HEADER 1 -+// # define _STLP_NO_EXCEPTION_HEADER 1 - - // Uncomment this if your C library has lrand48() function --// # define __STL_RAND48 1 -+// # define _STLP_RAND48 1 - - // Uncomment if native new-style C library headers lile , etc are not available. --// # define __STL_HAS_NO_NEW_C_HEADERS 1 -+// # define _STLP_HAS_NO_NEW_C_HEADERS 1 - - // uncomment if new-style headers is available --// # define __STL_HAS_NEW_NEW_HEADER 1 -+// # define _STLP_HAS_NEW_NEW_HEADER 1 - - // uncomment this if and other STD headers put their stuff in ::namespace, - // not std:: --// # define __STL_VENDOR_GLOBAL_STD -+// # define _STLP_VENDOR_GLOBAL_STD - - // uncomment this if and the like put stuff in ::namespace, - // not std:: --// # define __STL_VENDOR_GLOBAL_CSTD -+// # define _STLP_VENDOR_GLOBAL_CSTD - - // Edit relative path below (or put full path) to get native - // compiler headers included. Default is "../include". - // C headers may reside in different directory, so separate macro is provided. - // Hint : never install STLport in the directory that ends with "include" --// # define __STL_NATIVE_INCLUDE_PATH ../include --// # define __STL_NATIVE_C_INCLUDE_PATH ../include --// # define __STL_NATIVE_CPP_C_INCLUDE_PATH ../include -+// # define _STLP_NATIVE_INCLUDE_PATH ../include -+// # define _STLP_NATIVE_C_INCLUDE_PATH ../include -+// # define _STLP_NATIVE_CPP_C_INCLUDE_PATH ../include - - // This macro constructs header path from directory and name. - // You may change it if your compiler does not understand "/". --// # define __STL_MAKE_HEADER(path, header) -+// # define _STLP_MAKE_HEADER(path, header) - - // This macro constructs native include header path from include path and name. - // You may have do define it if experirncing problems with preprocessor --// # define __STL_NATIVE_HEADER(header) __STL_MAKE_HEADER(__STL_NATIVE_INCLUDE_PATH,header) -+// # define _STLP_NATIVE_HEADER(header) _STLP_MAKE_HEADER(_STLP_NATIVE_INCLUDE_PATH,header) - - // Same for C headers --// __STL_NATIVE_C_HEADER(header) -+// _STLP_NATIVE_C_HEADER(header) - - //========================================================== - # endif -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_sco.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_sco.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_sco.h Sat Feb 24 10:44:28 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_sco.h Sun Aug 11 18:59:24 2002 -@@ -1,38 +1,35 @@ - // SCO UDK 7 compiler (UnixWare 7x, OSR 5, UnixWare 2x) - - --//# define __SGI_STL_NO_ARROW_OPERATOR 1 --//# define __STL_NO_NEW_STYLE_CASTS 1 -- --// # define __STL_NEED_MUTABLE 1 -- --.. # define __STL_NO_BAD_ALLOC 1 -+# define _STLP_NO_BAD_ALLOC 1 - - // allocator::rebind used not to work properly --// # define __STL_NO_MEMBER_TEMPLATE_CLASSES 1 --// # define __STL_NO_MEMBER_TEMPLATE_KEYWORD 1 -+// # define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1 -+// # define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1 - --# define __STL_NO_FRIEND_TEMPLATES 1 --# define __STL_NO_QUALIFIED_FRIENDS 1 -+# define _STLP_NO_FRIEND_TEMPLATES 1 -+# define _STLP_NO_QUALIFIED_FRIENDS 1 - - --// # define __STL_NO_DEFAULT_NON_TYPE_PARAM 1 -+// # define _STLP_NO_DEFAULT_NON_TYPE_PARAM 1 - --//# define __STL_HAS_NO_NEW_IOSTREAMS 1 --//# define __STL_HAS_NO_NEW_C_HEADERS 1 -+//# define _STLP_HAS_NO_NEW_IOSTREAMS 1 -+//# define _STLP_HAS_NO_NEW_C_HEADERS 1 - - // ??? --//# define __STL_STATIC_CONST_INIT_BUG 1 -+//# define _STLP_STATIC_CONST_INIT_BUG 1 - - // ??? --//# define __STL_LINK_TIME_INSTANTIATION 1 -+//# define _STLP_LINK_TIME_INSTANTIATION 1 - - // ??? --# define __STL_NO_TEMPLATE_CONVERSIONS 1 -+# define _STLP_NO_TEMPLATE_CONVERSIONS 1 - --# define __STL_LONG_LONG 1 -+# define _STLP_LONG_LONG long long - - # if defined(_REENTRANT) - # define _UITHREADS /* if UnixWare < 7.0.1 */ --# define __STL_UITHREADS -+# define _STLP_UITHREADS - # endif /* _REENTRANT */ -+ -+# define _STLP_SCO_OPENSERVER -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_select_lib.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_select_lib.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_select_lib.h Sat Feb 24 10:44:28 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_select_lib.h Sun Aug 11 18:59:24 2002 -@@ -1,36 +1,36 @@ --# if !defined (__STL_NO_SGI_IOSTREAMS) -+# if !defined (_STLP_NO_OWN_IOSTREAMS) - --# if ! defined (__STL_LIB_STATIC_SUFFIX) --# define __STL_LIB_STATIC_SUFFIX "" -+# if ! defined (_STLP_LIB_STATIC_SUFFIX) -+# define _STLP_LIB_STATIC_SUFFIX "" - # endif - - // Note : the code below is intended to make use of compiled --// SGI iostreams easier. If you are with to change names used for -+// STLport iostreams easier. If you are with to change names used for - // STLport libraries , please also change RELEASE_NAME and DEBUG_NAME - // macros in makefile ../../src/vc6.mak (or whatever .mak you are using to build - // STLport). If you are using binaries, you may just rename the binaries. --# if ! defined (__BUILDING_STLPORT) && ! defined (__STL_DONT_FORCE_MSVC_LIB_NAME) --# if defined (__STL_USE_DECLSPEC) --# ifdef __STL_DEBUG --# pragma comment(lib, __STL_LIB_BASENAME"_stldebug.lib") --# elif defined (_DEBUG) || defined (__DEBUG) --# pragma comment(lib, __STL_LIB_BASENAME"_debug.lib") -+# if ! defined (__BUILDING_STLPORT) && ! defined (_STLP_DONT_FORCE_MSVC_LIB_NAME) -+# if defined (_STLP_USE_DECLSPEC) -+# ifdef _STLP_DEBUG -+# pragma comment(lib, _STLP_LIB_BASENAME"_stldebug.lib") -+# elif (defined (_DEBUG) || defined (__DEBUG)) && defined (_STLP_USE_DEBUG_LIB) -+# pragma comment(lib, _STLP_LIB_BASENAME"_debug.lib") - # else --# pragma comment(lib, __STL_LIB_BASENAME".lib") -+# pragma comment(lib, _STLP_LIB_BASENAME".lib") - # endif --# else /* __STL_USE_DECLSPEC */ -+# else /* _STLP_USE_DECLSPEC */ - // fbp : for static linking, debug setting _MUST_ correspond to what - // has been compiled into binary lib --# ifdef __STL_DEBUG -+# ifdef _STLP_DEBUG - # if (! defined (_DEBUG)) --# error "For static link with STLport library, _DEBUG setting MUST be on when __STL_DEBUG is on. (/MTd forces _DEBUG)" -+# error "For static link with STLport library, _DEBUG setting MUST be on when _STLP_DEBUG is on. (/MTd forces _DEBUG)" - # endif --# pragma comment(lib, __STL_LIB_BASENAME"_stldebug"__STL_LIB_STATIC_SUFFIX".lib") --# elif defined (_DEBUG) || defined (__DEBUG) --# pragma comment(lib, __STL_LIB_BASENAME"_debug"__STL_LIB_STATIC_SUFFIX".lib") -+# pragma comment(lib, _STLP_LIB_BASENAME"_stldebug"_STLP_LIB_STATIC_SUFFIX".lib") -+# elif (defined (_DEBUG) || defined (__DEBUG)) && defined (_STLP_USE_DEBUG_LIB) -+# pragma comment(lib, _STLP_LIB_BASENAME"_debug"_STLP_LIB_STATIC_SUFFIX".lib") - # else --# pragma comment(lib, __STL_LIB_BASENAME""__STL_LIB_STATIC_SUFFIX".lib") -+# pragma comment(lib, _STLP_LIB_BASENAME""_STLP_LIB_STATIC_SUFFIX".lib") - # endif --# endif /* __STL_USE_DECLSPEC */ -+# endif /* _STLP_USE_DECLSPEC */ - # endif /* __BUILDING_STLPORT */ --# endif /* __SGI_STL_OWN_IOSTREAMS */ -+# endif /* _STLP_OWN_IOSTREAMS */ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_sgi.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_sgi.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_sgi.h Sat Feb 24 10:44:28 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_sgi.h Sun Aug 11 18:59:24 2002 -@@ -1,71 +1,94 @@ - // STLport configuration file - // It is internal STLport header - DO NOT include it directly - --# define __STL_HAS_SPECIFIC_PROLOG_EPILOG -+# define _STLP_HAS_SPECIFIC_PROLOG_EPILOG - - // define native include path before trying to include anything - --# define __STL_NATIVE_HEADER(__x) --# define __STL_NATIVE_C_HEADER(__x) --# define __STL_NATIVE_OLD_STREAMS_HEADER(__x) --# define __STL_NATIVE_CPP_C_HEADER(__x) -+# define _STLP_NATIVE_HEADER(__x) -+# define _STLP_NATIVE_C_HEADER(__x) -+# define _STLP_NATIVE_OLD_STREAMS_HEADER(__x) -+# define _STLP_NATIVE_CPP_C_HEADER(__x) -+# define _STLP_NATIVE_CPP_RUNTIME_HEADER(__x) - --# define __STL_NO_NATIVE_MBSTATE_T -+# define _STLP_NO_NATIVE_MBSTATE_T - -+#define _STLP_NO_CSTD_FUNCTION_IMPORTS -+#define _STLP_NO_NATIVE_WIDE_FUNCTIONS -+#define _STLP_NO_MEMBER_TEMPLATE_CLASSES -+ -+// #define _STLP_NO_BAD_ALLOC -+ -+#define _STL_HAS_NAMESPACES -+ -+#if ! defined (__EXCEPTIONS) && ! defined (_STLP_NO_EXCEPTIONS) -+# define _STLP_NO_EXCEPTIONS -+#endif -+ -+// #define _STLP_NOTHROW throw() -+ - # define __EDG_SWITCHES - - // any version ??? --# define __STL_AUTOMATIC_TYPE_TRAITS 1 -+# define _STLP_AUTOMATIC_TYPE_TRAITS 1 - --# define __STL_USE_SGI_STRING 1 -+# define _STLP_USE_SGI_STRING 1 - --# define __STL_HAS_NO_NEW_C_HEADERS 1 -+# define _STLP_HAS_NO_NEW_C_HEADERS 1 -+// # define _STLP_VENDOR_GLOBAL_EXCEPT_STD - --# include -+// # if ! defined (_STLP_NO_OWN_IOSTREAMS) && ! defined (_STLP_NO_NEW_IOSTREAMS) -+# define _STLP_NO_POST_COMPATIBLE_SECTION -+// # endif - --// # if !(_COMPILER_VERSION >= 700) --# define __STL_NO_NEW_NEW_HEADER 1 --// # endif -+# include - -+# if !(_COMPILER_VERSION >= 730) -+# define _STLP_NO_NEW_NEW_HEADER 1 -+# endif -+ -+# if (_COMPILER_VERSION >= 730 && defined(_STANDARD_C_PLUS_PLUS)) -+# define _STLP_EXTERN_RANGE_ERRORS -+# endif - - # if !defined(_BOOL) --# define __STL_NO_BOOL -+# define _STLP_NO_BOOL - # endif - # if defined(_MIPS_SIM) && _MIPS_SIM == _ABIO32 --# define __STL_STATIC_CONST_INIT_BUG -+# define _STLP_STATIC_CONST_INIT_BUG - # endif - --# if COMPILER_VERSION < 720 || (defined(_MIPS_SIM) && _MIPS_SIM == _ABIO32) --# define __STL_DEFAULT_CONSTRUCTOR_BUG -+# if (_COMPILER_VERSION < 720) || (defined(_MIPS_SIM) && _MIPS_SIM == _ABIO32) -+# define _STLP_DEFAULT_CONSTRUCTOR_BUG - # endif - # if !((_COMPILER_VERSION >= 730) && defined(_MIPS_SIM) && _MIPS_SIM != _ABIO32) --# define __STL_NO_MEMBER_TEMPLATE_KEYWORD -+# define _STLP_NO_MEMBER_TEMPLATE_KEYWORD - # endif - # if !defined(_STANDARD_C_PLUS_PLUS) --# define __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS -+# define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS - # endif - # if !((_COMPILER_VERSION >= 721) && defined(_NAMESPACES)) --# define __STL_HAS_NO_NAMESPACES -+# define _STLP_HAS_NO_NAMESPACES - # endif --# if (_COMPILER_VERSION < 721) || !defined(_STL_HAS_NAMESPACES) || defined(__STL_NO_NAMESPACES) --# define __STL_NO_EXCEPTION_HEADER -+# if (_COMPILER_VERSION < 721) || !defined(_STL_HAS_NAMESPACES) || defined(_STLP_NO_NAMESPACES) -+# define _STLP_NO_EXCEPTION_HEADER - # endif - # if _COMPILER_VERSION < 730 || !defined(_STANDARD_C_PLUS_PLUS) || !defined(_NAMESPACES) --# define __STL_NO_BAD_ALLOC -+# define _STLP_NO_BAD_ALLOC - # endif - # if defined(_LONGLONG) && defined(_SGIAPI) && _SGIAPI --# define __STL_LONG_LONG -+# define _STLP_LONG_LONG long long - # endif - # if !(_COMPILER_VERSION >= 730 && defined(_STANDARD_C_PLUS_PLUS)) --# define __STL_HAS_NO_NEW_IOSTREAMS -+# define _STLP_HAS_NO_NEW_IOSTREAMS - # endif - # if !(_COMPILER_VERSION >= 730 && defined(_STANDARD_C_PLUS_PLUS)) --# define __STL_NO_AT_MEMBER_FUNCTION -+# define _STLP_NO_AT_MEMBER_FUNCTION - # endif - // # if !(_COMPILER_VERSION >= 730 && defined(_STANDARD_C_PLUS_PLUS)) - # if !(_COMPILER_VERSION >= 721 && defined(_STANDARD_C_PLUS_PLUS)) --# define __STL_NO_TEMPLATE_CONVERSIONS -+# define _STLP_NO_TEMPLATE_CONVERSIONS - # endif - # if !((_COMPILER_VERSION >= 730) && defined(_MIPS_SIM) && _MIPS_SIM != _ABIO32) --# define __STL_NO_FUNCTION_TMPL_PARTIAL_ORDER -+# define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER - # endif -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_solaris.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_solaris.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_solaris.h Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_solaris.h Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,36 @@ -+ -+// include system features file -+# include -+ -+// system-dependent defines -+ -+# if defined (__SunOS_5_8) && ! defined (_STLP_HAS_NO_NEW_C_HEADERS) && ( __cplusplus >= 199711L) -+# define _STLP_HAS_NATIVE_FLOAT_ABS -+# endif -+ -+#if defined(_XOPEN_SOURCE) && (_XOPEN_VERSION - 0 >= 4) -+# define _STLP_RAND48 1 -+#endif -+ -+#if (defined(_XOPEN_SOURCE) && (_XOPEN_VERSION - 0 == 4)) || defined (__SunOS_5_6) -+# define _STLP_WCHAR_SUNPRO_EXCLUDE 1 -+# define _STLP_NO_NATIVE_WIDE_FUNCTIONS 1 -+#endif -+ -+// boris : this should always be defined for Solaris 5 & 6. Any ideas how to do it ? -+# if !(defined ( __KCC ) && __KCC_VERSION > 3400 ) && \ -+ ((defined(__SunOS_5_5_1) || defined(__SunOS_5_6) )) -+# ifndef _STLP_NO_NATIVE_MBSTATE_T -+# define _STLP_NO_NATIVE_MBSTATE_T 1 -+# endif -+# endif /* KCC */ -+ -+// For SPARC we use lightweight synchronization -+# if defined (__sparc) /* && (defined (_REENTRANT) || defined (_PTHREADS)) */ \ -+ && ((defined (__GNUC__) && defined (__sparc_v9__)) || \ -+ ((defined (__sparcv9) || defined (__sparcv8plus)) && ! defined (_STLP_NO_OWN_IOSTREAMS)) ) \ -+ && !defined(_NOTHREADS) && ! defined (_STLP_NO_SPARC_SOLARIS_THREADS) -+# define _STLP_SPARC_SOLARIS_THREADS -+# define _STLP_THREADS_DEFINED -+# endif -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_sunpro.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_sunpro.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_sunpro.h Sat Feb 24 10:44:29 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_sunpro.h Sun Aug 11 18:59:24 2002 -@@ -1,124 +1,148 @@ - // STLport configuration file - // It is internal STLport header - DO NOT include it directly - --// system-dependent defines -- --# if defined(__SunOS_5_5_1) --# define __STL_NO_NATIVE_WIDE_FUNCTIONS 1 --# endif -- --# define __STL_LONG_LONG 1 --// on solaris 2.x only ? -- --# define __STL_RAND48 1 -- --# define __STL_LINK_TIME_INSTANTIATION 1 -+# define _STLP_LONG_LONG long long -+# define _STLP_LINK_TIME_INSTANTIATION 1 - - # if ! defined(_BOOL) --# define __STL_NO_BOOL 1 -+# define _STLP_NO_BOOL 1 - # endif - -+# if (__SUNPRO_CC >= 0x500 ) && (!defined (__SUNPRO_CC_COMPAT) || (__SUNPRO_CC_COMPAT == 5 )) \ -+ && defined (_STLP_NO_OWN_IOSTREAMS) && ! defined (_STLP_HAS_NO_NEW_IOSTREAMS) -+# error "The wrapper (_STLP_NO_OWN_IOSTREAMS) mode does not work well without _STLP_HAS_NO_NEW_IOSTREAMS. Please set this flag. You will also have to use -liostream option on link phase." -+// # define _STLP_HAS_NO_NEW_IOSTREAMS -+# endif - - // compatibility mode stuff --# if (defined (__SUNPRO_CC_COMPAT) && __SUNPRO_CC_COMPAT == 4) --# define __STL_NATIVE_INCLUDE_PATH ../CC4 -+# if (__SUNPRO_CC >= 0x510) && (!defined (__SUNPRO_CC_COMPAT) || (__SUNPRO_CC_COMPAT == 5 )) -+# define _STLP_NATIVE_INCLUDE_PATH ../CC/Cstd -+# define _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH ../CC -+# elif (__SUNPRO_CC >= 0x500) && (!defined (__SUNPRO_CC_COMPAT) || (__SUNPRO_CC_COMPAT == 5 )) -+# define _STLP_NATIVE_INCLUDE_PATH ../CC -+# elif (defined (__SUNPRO_CC_COMPAT) && __SUNPRO_CC_COMPAT == 4) -+# define _STLP_NATIVE_INCLUDE_PATH ../CC4 - # else --# define __STL_NATIVE_INCLUDE_PATH ../CC --// if the project is set up to use libiostream (__STL_NO_NEW_IOSTREAMS should be defined then), -+# define _STLP_NATIVE_INCLUDE_PATH ../CC -+# endif -+ -+# if (__SUNPRO_CC >= 0x500 ) && ( defined (_STLP_NO_NEW_IOSTREAMS) || defined (_STLP_HAS_NO_NEW_IOSTREAMS) ) -+// if the project is set up to use libiostream (_STLP_NO_NEW_IOSTREAMS should be defined then), - // use classic iostreams --# if (__SUNPRO_CC >= 0x500 ) && ( defined (__STL_NO_NEW_IOSTREAMS) || defined (__STL_HAS_NO_NEW_IOSTREAMS) ) --# define __STL_NATIVE_OLD_STREAMS_INCLUDE_PATH ../CCios -+# define _STLP_NATIVE_OLD_STREAMS_INCLUDE_PATH ../CCios - # endif --# endif - --# if (__SUNPRO_CC < 0x600) -+# define _STLP_STATIC_CONST_INIT_BUG 1 -+ -+# if (__SUNPRO_CC < 0x530) - // those are tested and proved not to work... --# define __STL_STATIC_ARRAY_BUG 1 --# define __STL_STATIC_CONST_INIT_BUG 1 --# define __STL_USING_BASE_MEMBER -+# define _STLP_STATIC_ARRAY_BUG 1 -+# define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1 -+# define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1 -+# define _STLP_USE_OLD_HP_ITERATOR_QUERIES -+# endif - --// no partial , just for explicit one --# define __STL_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS - --# define __STL_NO_QUALIFIED_FRIENDS 1 -+# if defined (_STLP_OWN_IOSTREAMS) -+//# if ! defined (_STLP_NO_OWN_NAMESPACE) -+//# define _STLP_NO_OWN_NAMESPACE -+//# endif -+# else -+# define _STLP_HAS_NO_NEW_C_HEADERS 1 -+# endif - --// constructor problem --# define __STL_NO_MEMBER_TEMPLATES 1 --# define __STL_NO_MEMBER_TEMPLATE_KEYWORD 1 --# define __STL_NO_MEMBER_TEMPLATE_CLASSES 1 --# define __STL_NO_FRIEND_TEMPLATES 1 -+// those do not depend on compatibility -+# if (__SUNPRO_CC < 0x510) -+# define _STLP_NO_TYPENAME_ON_RETURN_TYPE 1 -+# define _STLP_NONTEMPL_BASE_MATCH_BUG 1 -+# endif - --// ambiguity problems --# define __STL_NO_CLASS_PARTIAL_SPECIALIZATION 1 --# define __STL_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 -+# if (__SUNPRO_CC < 0x510) || (defined (__SUNPRO_CC_COMPAT) && (__SUNPRO_CC_COMPAT < 5)) - --# endif -+# define _STLP_NO_QUALIFIED_FRIENDS 1 -+ -+// no partial , just for explicit one -+# define _STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS -+# define _STLP_NON_TYPE_TMPL_PARAM_BUG 1 - -+# define _STLP_NO_MEMBER_TEMPLATES 1 -+# define _STLP_NO_FRIEND_TEMPLATES 1 - --# if (__SUNPRO_CC < 0x600) --# define __STL_NO_TYPENAME_ON_RETURN_TYPE 1 --# define __STL_HAS_NO_NEW_C_HEADERS 1 --# define __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS --# define __STL_NON_TYPE_TMPL_PARAM_BUG 1 --# define __STL_NONTEMPL_BASE_MATCH_BUG 1 -+# define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 -+# define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS -+# define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1 - # endif - - // Features that depend on compatibility switch - # if ( __SUNPRO_CC < 0x500 ) || (defined (__SUNPRO_CC_COMPAT) && (__SUNPRO_CC_COMPAT < 5)) --# define __STL_HAS_NO_NEW_IOSTREAMS 1 --# define __STL_NO_NEW_NEW_HEADER 1 --// # define __STL_NO_RELOPS_NAMESPACE --# define __STL_HAS_NO_NAMESPACES 1 --# define __STL_NEED_MUTABLE 1 --# define __STL_NO_BAD_ALLOC 1 --# define __STL_NO_EXCEPTION_HEADER 1 --# define __STL_NATIVE_C_INCLUDE_PATH ../include --# elif (__SUNPRO_CC < 0x600) --# define __STL_NATIVE_C_HEADER(header) <../CC/##header##.SUNWCCh> --# define __STL_NATIVE_CPP_C_HEADER(header) <../CC/##header##.SUNWCCh> -+ -+# ifndef _STLP_HAS_NO_NEW_IOSTREAMS -+# define _STLP_HAS_NO_NEW_IOSTREAMS 1 -+# endif -+# define _STLP_NO_NEW_NEW_HEADER 1 -+// # define _STLP_NO_RELOPS_NAMESPACE -+# define _STLP_HAS_NO_NAMESPACES 1 -+# define _STLP_NEED_MUTABLE 1 -+# define _STLP_NO_BAD_ALLOC 1 -+# define _STLP_NO_EXCEPTION_HEADER 1 -+# define _STLP_NATIVE_C_INCLUDE_PATH ../include -+# elif (__SUNPRO_CC < 0x510) -+// # define _STLP_NATIVE_C_HEADER(header) <../CC/##header##.SUNWCCh> -+# define _STLP_NATIVE_CPP_C_HEADER(header) <../CC/##header##.SUNWCCh> -+# define _STLP_NATIVE_C_INCLUDE_PATH /usr/include -+# elif defined( __SunOS_5_5_1 ) || defined( __SunOS_5_6 ) || defined( __SunOS_5_7 ) -+# define _STLP_NATIVE_C_INCLUDE_PATH ../CC/std -+# define _STLP_NATIVE_CPP_C_INCLUDE_PATH ../CC/std - # else --# define __STL_NATIVE_C_INCLUDE_PATH ../CC/std --# define __STL_NATIVE_CPP_C_INCLUDE_PATH ../CC/std -+# define _STLP_NATIVE_C_INCLUDE_PATH /usr/include -+# define _STLP_NATIVE_CPP_C_INCLUDE_PATH ../CC/std - # endif - -+ -+ - # if ( __SUNPRO_CC < 0x500 ) - --# undef __STL_NATIVE_C_HEADER --# undef __STL_NATIVE_CPP_C_HEADER -+# undef _STLP_NATIVE_C_HEADER -+# undef _STLP_NATIVE_CPP_C_HEADER - - # define wint_t __wint_t - // famous CC 4.2 bug --# define __STL_INLINE_STRING_LITERAL_BUG 1 -+# define _STLP_INLINE_STRING_LITERAL_BUG 1 - // /usr/include --# define __STL_NATIVE_C_INCLUDE_PATH ../include -+# define _STLP_NATIVE_C_INCLUDE_PATH ../include -+ -+// 4.2 cannot handle iterator_traits<_Tp>::iterator_category as a return type ;( -+# define _STLP_USE_OLD_HP_ITERATOR_QUERIES - - // 4.2 does not like it --# undef __STL_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS -+# undef _STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS - --# define __STL_LIMITED_DEFAULT_TEMPLATES 1 -+# define _STLP_LIMITED_DEFAULT_TEMPLATES 1 - --# define __STL_NEED_TYPENAME 1 --# define __STL_NEED_EXPLICIT 1 --# define __STL_UNINITIALIZABLE_PRIVATE 1 --# define __STL_NO_BAD_ALLOC 1 --# define __SGI_STL_NO_ARROW_OPERATOR 1 --# define __STL_NO_PROXY_ARROW_OPERATOR 1 --# define __STL_DEFAULT_CONSTRUCTOR_BUG 1 --# define __STL_GLOBAL_NESTED_RETURN_TYPE_PARAM_BUG 1 -+# define _STLP_NEED_TYPENAME 1 -+# define _STLP_NEED_EXPLICIT 1 -+# define _STLP_UNINITIALIZABLE_PRIVATE 1 -+# define _STLP_NO_BAD_ALLOC 1 -+# define _STLP_NO_ARROW_OPERATOR 1 -+ -+# define _STLP_DEFAULT_CONSTRUCTOR_BUG 1 -+# define _STLP_GLOBAL_NESTED_RETURN_TYPE_PARAM_BUG 1 -+# undef _STLP_HAS_NO_NEW_C_HEADERS -+# define _STLP_HAS_NO_NEW_C_HEADERS 1 -+// # define _STLP_DONT_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS - - # if ( __SUNPRO_CC < 0x420 ) --# define __STL_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 --# define __STL_NO_NEW_STYLE_CASTS 1 --# define __STL_NO_METHOD_SPECIALIZATION 1 -- -+# define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 -+# define _STLP_NO_NEW_STYLE_CASTS 1 -+# define _STLP_NO_METHOD_SPECIALIZATION 1 - # if ( __SUNPRO_CC > 0x401 ) - # if (__SUNPRO_CC==0x410) --# define __STL_BASE_TYPEDEF_OUTSIDE_BUG 1 -+# define _STLP_BASE_TYPEDEF_OUTSIDE_BUG 1 - # endif - # else - // SUNPro C++ 4.0.1 --# define __STL_BASE_MATCH_BUG 1 --# define __STL_BASE_TYPEDEF_BUG 1 -+# define _STLP_BASE_MATCH_BUG 1 -+# define _STLP_BASE_TYPEDEF_BUG 1 - # if ( __SUNPRO_CC < 0x401 ) - __GIVE_UP_WITH_STL(SUNPRO_401) - # endif -@@ -127,3 +151,23 @@ - - # endif /* < 5.0 */ - -+# include -+ -+#ifndef _MBSTATET_H -+# define _MBSTATET_H -+# undef _MBSTATE_T -+# define _MBSTATE_T -+ typedef struct __mbstate_t { -+ #if defined(_LP64) -+ long __filler[4]; -+ #else -+ int __filler[6]; -+ #endif -+ } __mbstate_t; -+# ifndef _STLP_HAS_NO_NAMESPACES -+ namespace std { -+ typedef __mbstate_t mbstate_t; -+ } -+ using std::mbstate_t; -+# endif -+#endif /* __MBSTATET_H */ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_symantec.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_symantec.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_symantec.h Sat Feb 24 10:44:29 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_symantec.h Sun Aug 11 18:59:24 2002 -@@ -3,40 +3,40 @@ - - // if not using maximum ANSI compatibility ( -A -Ab -Aw), - // uncomment the following two lines: --//# define __STL_NO_BOOL 1 --//# define __STL_NO_WCHAR_T 1 -+//# define _STLP_NO_BOOL 1 -+//# define _STLP_NO_WCHAR_T 1 - - --# define __STL_HAS_NO_NAMESPACES 1 -+# define _STLP_HAS_NO_NAMESPACES 1 - --# define __STL_NEED_TYPENAME 1 --# define __STL_NEED_EXPLICIT 1 --# define __STL_NO_NEW_STYLE_CASTS 1 --# define __STL_NEED_MUTABLE 1 --# define __STL_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 --// # define __STL_NO_BAD_ALLOC 1 -- --# define __STL_NO_MEMBER_TEMPLATES 1 --# define __STL_NO_MEMBER_TEMPLATE_CLASSES 1 --# define __STL_NO_MEMBER_TEMPLATE_KEYWORD 1 --# define __STL_NO_FRIEND_TEMPLATES 1 --# define __STL_NO_QUALIFIED_FRIENDS 1 --# define __STL_NO_CLASS_PARTIAL_SPECIALIZATION 1 --# define __STL_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 -- --// # define __STL_NO_DEFAULT_NON_TYPE_PARAM 1 --# define __STL_NO_METHOD_SPECIALIZATION 1 --# define __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 --// # define __STL_NO_EXCEPTION_HEADER 1 -- --# define __STL_HAS_NO_NEW_IOSTREAMS 1 --# define __STL_HAS_NO_NEW_C_HEADERS 1 -- --# define __STL_STATIC_CONST_INIT_BUG 1 --# define __STL_THROW_RETURN_BUG 1 --// # define __STL_LINK_TIME_INSTANTIATION 1 --# define __STL_NO_TEMPLATE_CONVERSIONS 1 -+# define _STLP_NEED_TYPENAME 1 -+# define _STLP_NEED_EXPLICIT 1 -+# define _STLP_NO_NEW_STYLE_CASTS 1 -+# define _STLP_NEED_MUTABLE 1 -+# define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 -+// # define _STLP_NO_BAD_ALLOC 1 -+ -+# define _STLP_NO_MEMBER_TEMPLATES 1 -+# define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1 -+# define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1 -+# define _STLP_NO_FRIEND_TEMPLATES 1 -+# define _STLP_NO_QUALIFIED_FRIENDS 1 -+# define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1 -+# define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 -+ -+// # define _STLP_NO_DEFAULT_NON_TYPE_PARAM 1 -+# define _STLP_NO_METHOD_SPECIALIZATION 1 -+# define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 -+// # define _STLP_NO_EXCEPTION_HEADER 1 -+ -+# define _STLP_HAS_NO_NEW_IOSTREAMS 1 -+# define _STLP_HAS_NO_NEW_C_HEADERS 1 -+ -+# define _STLP_STATIC_CONST_INIT_BUG 1 -+# define _STLP_THROW_RETURN_BUG 1 -+// # define _STLP_LINK_TIME_INSTANTIATION 1 -+# define _STLP_NO_TEMPLATE_CONVERSIONS 1 - --# define __STL_NON_TYPE_TMPL_PARAM_BUG 1 --# define __STL_UNINITIALIZABLE_PRIVATE 1 -+# define _STLP_NON_TYPE_TMPL_PARAM_BUG 1 -+# define _STLP_UNINITIALIZABLE_PRIVATE 1 - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_watcom.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_watcom.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_watcom.h Sat Feb 24 10:44:29 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_watcom.h Sun Aug 11 18:59:24 2002 -@@ -1,58 +1,136 @@ - // STLport configuration file - // It is internal STLport header - DO NOT include it directly - -+# ifndef _STLP_NO_OWN_IOSTREAMS -+# define _STLP_NO_OWN_IOSTREAMS -+# endif -+ -+# define _STLP_NO_RELOPS_NAMESPACE -+# define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX -+ -+# define _STLP_HAS_SPECIFIC_PROLOG_EPILOG -+# define _STLP_DONT_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS -+# define _STLP_USE_OLD_HP_ITERATOR_QUERIES - - // On QNX, headers are supposed to be found in /usr/include, - // so default "../include" should work. - # ifndef __QNX__ --# define __STL_NATIVE_INCLUDE_PATH ../h -+# define _STLP_NATIVE_INCLUDE_PATH ../h - # endif - -+// Inline replacements for locking calls under Watcom -+// Define _STLP_NO_WATCOM_INLINE_INTERLOCK to keep using -+// standard WIN32 calls -+// Define _STL_MULTIPROCESSOR to enable lock -+#if !defined(_STLP_NO_WATCOM_INLINE_INTERLOCK) -+ -+long __stl_InterlockedIncrement( long *var ); -+long __stl_InterlockedDecrement( long *var ); -+ -+#ifdef _STL_MULTIPROCESSOR -+// Multiple Processors, add lock prefix -+#pragma aux __stl_InterlockedIncrement parm [ ecx ] = \ -+ ".586" \ -+ "mov eax, 1" \ -+ "lock xadd [ecx], eax" \ -+ "inc eax" \ -+ value [eax]; -+ -+ -+#pragma aux __stl_InterlockedDecrement parm [ ecx ] = \ -+ ".586" \ -+ "mov eax, 0FFFFFFFFh" \ -+ "lock xadd [ecx], eax" \ -+ "dec eax" \ -+ value [eax]; -+#else -+// Single Processor, lock prefix not needed -+#pragma aux __stl_InterlockedIncrement parm [ ecx ] = \ -+ ".586" \ -+ "mov eax, 1" \ -+ "xadd [ecx], eax" \ -+ "inc eax" \ -+ value [eax]; -+ -+#pragma aux __stl_InterlockedDecrement parm [ ecx ] = \ -+ ".586" \ -+ "mov eax, 0FFFFFFFFh" \ -+ "xadd [ecx], eax" \ -+ "dec eax" \ -+ value [eax]; -+#endif // _STL_MULTIPROCESSOR -+ -+long __stl_InterlockedExchange( long *Destination, long Value ); -+ -+// xchg has auto-lock -+#pragma aux __stl_InterlockedExchange parm [ecx] [eax] = \ -+ ".586" \ -+ "xchg eax, [ecx]" \ -+ value [eax]; -+#else -+ -+#define __stl_InterlockedIncrement InterlockedIncrement -+#define __stl_InterlockedDecrement InterlockedDecrement -+#define __stl_InterlockedExchange InterlockedExchange -+#endif /* INLINE INTERLOCK */ -+ -+#define _STLP_ATOMIC_INCREMENT(__x) __stl_InterlockedIncrement((long*)__x) -+#define _STLP_ATOMIC_DECREMENT(__x) __stl_InterlockedDecrement((long*)__x) -+#define _STLP_ATOMIC_EXCHANGE(__x, __y) __stl_InterlockedExchange((long*)__x, (long)__y) -+ - // boris : is this true or just the header is not in /usr/include ? - # ifdef __QNX__ --# define __STL_NO_TYPEINFO 1 -+# define _STLP_NO_TYPEINFO 1 - # endif - --# define __STL_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 --# define __STL_NO_CLASS_PARTIAL_SPECIALIZATION 1 --# define __STL_NO_MEMBER_TEMPLATE_KEYWORD 1 --# define __STL_NO_MEMBER_TEMPLATES 1 --# define __STL_NO_FRIEND_TEMPLATES 1 --# define __STL_NO_MEMBER_TEMPLATE_CLASSES 1 -- -- --# define __STL_LIMITED_DEFAULT_TEMPLATES 1 --# define __STL_HAS_NO_NAMESPACES 1 --# define __STL_NEED_TYPENAME 1 --# define __STL_NO_WCHAR_T 1 --# define __STL_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 --# define __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 -- --# define __STL_STATIC_CONST_INIT_BUG 1 --// # define __STL_THROW_RETURN_BUG 1 --# define __STL_NO_TEMPLATE_CONVERSIONS 1 -- --# define __STL_BASE_TYPEDEF_OUTSIDE_BUG 1 -- --# define __STL_HAS_NO_NEW_IOSTREAMS 1 --# define __STL_HAS_NO_NEW_C_HEADERS 1 --# define __STL_NO_NEW_NEW_HEADER 1 -- --# define __STL_NO_DEFAULT_NON_TYPE_PARAM 1 --# define __STL_NON_TYPE_TMPL_PARAM_BUG 1 --# define __STL_NONTEMPL_BASE_MATCH_BUG --# define __STL_NO_EXCEPTION_HEADER 1 --# define __STL_NO_BAD_ALLOC 1 --# define __SGI_STL_NO_ARROW_OPERATOR 1 --# define __STL_NESTED_TYPE_PARAM_BUG 1 -+# define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 -+# define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1 -+# define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1 -+# define _STLP_NO_MEMBER_TEMPLATES 1 -+# define _STLP_NO_FRIEND_TEMPLATES 1 -+# define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1 -+ -+ -+# define _STLP_LIMITED_DEFAULT_TEMPLATES 1 -+# define _STLP_HAS_NO_NAMESPACES 1 -+# define _STLP_NEED_TYPENAME 1 -+ -+# if __WATCOMC__ < 1100 -+# define _STLP_NO_WCHAR_T 1 -+# define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 -+# endif -+ -+# define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 -+ -+# define _STLP_STATIC_CONST_INIT_BUG 1 -+// # define _STLP_THROW_RETURN_BUG 1 -+# define _STLP_NO_TEMPLATE_CONVERSIONS 1 -+ -+# define _STLP_BASE_TYPEDEF_OUTSIDE_BUG 1 -+ -+# define _STLP_HAS_NO_NEW_IOSTREAMS 1 -+# define _STLP_HAS_NO_NEW_C_HEADERS 1 -+# define _STLP_NO_NEW_NEW_HEADER 1 -+# define _STLP_VENDOR_GLOBAL_STD -+ -+# define _STLP_NO_DEFAULT_NON_TYPE_PARAM 1 -+# define _STLP_NON_TYPE_TMPL_PARAM_BUG 1 -+# define _STLP_NONTEMPL_BASE_MATCH_BUG -+# define _STLP_NO_EXCEPTION_HEADER 1 -+# define _STLP_NO_BAD_ALLOC 1 -+ -+# define _STLP_NESTED_TYPE_PARAM_BUG 1 -+ -+# define _STLP_NO_CSTD_FUNCTION_IMPORTS 1 - - # if (__WATCOM_CPLUSPLUS__ < 1100 ) --# define __STL_NO_BOOL 1 --# define __STL_NEED_EXPLICIT 1 --# define __STL_NEED_MUTABLE 1 -+# define _STLP_NO_BOOL 1 -+# define _STLP_NEED_EXPLICIT 1 -+# define _STLP_NEED_MUTABLE 1 -+# define _STLP_NO_ARROW_OPERATOR 1 - # endif - // This one is present in 11, but apparently has bugs (with auto_ptr). --# define __STL_NO_NEW_STYLE_CASTS 1 -+# define _STLP_NO_NEW_STYLE_CASTS 1 - - // Get rid of Watcom's min and max macros - #undef min -@@ -61,10 +139,14 @@ - // for switches (-xs, -xss, -xst) - // - #if !(defined (__SW_XS) || defined (__SW_XSS) || defined(__SW_XST)) --# define __STL_HAS_NO_EXCEPTIONS 1 -+# define _STLP_HAS_NO_EXCEPTIONS 1 - # endif - - # if defined ( _MT ) && !defined (_NOTHREADS) && !defined (_REENTRANT) - # define _REENTRANT 1 - # endif -+ -+ -+ -+ - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_wince.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_wince.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stl_wince.h Sat Feb 24 10:44:29 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stl_wince.h Sun Aug 11 18:59:24 2002 -@@ -4,39 +4,49 @@ - * Origin : Giuseppe Govi - g.govi@iol.it - */ - --#ifndef __STL_WINCE_H --#define __STL_WINCE_H -+#ifndef _STLP_WINCE_H -+#define _STLP_WINCE_H - - // this flag is being used by STLport --# define __STL_WINCE -+# define _STLP_WINCE - --// tell other parts no iostreams are desired --# define __STL_NO_IOSTREAMS 1 -+#ifndef _MT // Always threaded in CE -+ #define _MT -+#endif -+ -+#define _STLP_NO_NATIVE_MBSTATE_T -+#define _STLP_NO_TYPEINFO -+#define _STLP_NO_BAD_ALLOC -+#define _STLP_NO_NEW_NEW_HEADER -+#define _STLP_OWN_IOSTREAMS -+ -+// tell other parts no threads are there -+# define _STLP_NO_THREADS 1 - - // not all new-style headers are available... --# define __STL_HAS_NO_NEW_C_HEADERS -+# define _STLP_HAS_NO_NEW_C_HEADERS - --# undef __STL_HAS_NO_EXCEPTIONS --# define __STL_HAS_NO_EXCEPTIONS --# undef __STL_NO_EXCEPTION_HEADER --# define __STL_NO_EXCEPTION_HEADER -+# undef _STLP_HAS_NO_EXCEPTIONS -+# define _STLP_HAS_NO_EXCEPTIONS -+# undef _STLP_NO_EXCEPTION_HEADER -+# define _STLP_NO_EXCEPTION_HEADER - - // we have to use malloc instead of new --# undef __STL_USE_NEWALLOC --# define __STL_USE_MALLOC -+# undef _STLP_USE_NEWALLOC -+# define _STLP_USE_MALLOC - --//# ifdef __STL_MSVC -+//# ifdef _STLP_MSVC - //# pragma warning (disable: 4786) - //# endif - --#ifdef __STL_WINCE_USE_OUTPUTDEBUGSTRING --#define __STL_WINCE_TRACE(msg) OutputDebugString(msg) -+#ifdef _STLP_WINCE_USE_OUTPUTDEBUGSTRING -+#define _STLP_WINCE_TRACE(msg) OutputDebugString(msg) - #else --#define __STL_WINCE_TRACE(msg) MessageBox(NULL,(msg),NULL,MB_OK) -+#define _STLP_WINCE_TRACE(msg) MessageBox(NULL,(msg),NULL,MB_OK) - #endif - - #ifndef __THROW_BAD_ALLOC --#define __THROW_BAD_ALLOC __STL_WINCE_TRACE(L"out of memory"); ExitThread(1) -+#define __THROW_BAD_ALLOC _STLP_WINCE_TRACE(L"out of memory"); ExitThread(1) - #endif - - #ifndef _SIZE_T_DEFINED -@@ -44,33 +54,135 @@ - #define _SIZE_T_DEFINED - #endif - --#ifndef __PLACEMENT_NEW_INLINE --inline void *__cdecl operator new(size_t, void *_P) { return (_P); } --#define __PLACEMENT_NEW_INLINE --#endif -- - #ifndef _WCHAR_T_DEFINED - typedef unsigned short wchar_t; - #define _WCHAR_T_DEFINED - #endif - -+#ifndef _TIME_T_DEFINED -+typedef unsigned long time_t; -+#define _TIME_T_DEFINED -+#endif -+ - //ptrdiff_t is not defined in Windows CE SDK - #ifndef _PTRDIFF_T_DEFINED - typedef int ptrdiff_t; - #define _PTRDIFF_T_DEFINED - #endif - -+//clock_t is not defined in Windows CE SDK -+#ifndef _CLOCK_T_DEFINED -+typedef long clock_t; -+#define _CLOCK_T_DEFINED -+#endif -+ -+//struct tm is not defined in Windows CE SDK -+#ifndef _TM_DEFINED -+struct tm { -+ int tm_sec; /* seconds after the minute - [0,59] */ -+ int tm_min; /* minutes after the hour - [0,59] */ -+ int tm_hour; /* hours since midnight - [0,23] */ -+ int tm_mday; /* day of the month - [1,31] */ -+ int tm_mon; /* months since January - [0,11] */ -+ int tm_year; /* years since 1900 */ -+ int tm_wday; /* days since Sunday - [0,6] */ -+ int tm_yday; /* days since January 1 - [0,365] */ -+ int tm_isdst; /* daylight savings time flag */ -+ }; -+#define _TM_DEFINED -+#endif -+ -+// Some useful routines that are missing in Windows CE SDK -+#ifdef __cplusplus -+extern "C" -+{ -+#endif -+ -+ char * __cdecl getenv(const char *); -+ struct tm * __cdecl gmtime(const time_t *); -+ int __cdecl remove(const char *); -+ int __cdecl rename(const char *, const char *); -+ time_t __cdecl time(time_t *); -+ -+ #if (_WIN32_WCE < 300) -+ char * __cdecl strrchr(const char *, int); -+ #endif -+ -+#ifdef __cplusplus -+} -+ -+#ifndef __PLACEMENT_NEW_INLINE -+inline void *__cdecl operator new(size_t, void *_P) { return (_P); } -+#define __PLACEMENT_NEW_INLINE -+#endif -+ -+// Only defined as macros in Windows CE SDK -+#include _STLP_NATIVE_C_HEADER(ctype.h) -+ -+#if (_WIN32_WCE < 300) // Only wide chars for older versions -+#define _isctype iswctype -+#endif -+ -+inline int (isalpha)(int c) { return _isctype(c, _ALPHA); } -+inline int (isupper)(int c) { return _isctype(c, _UPPER); } -+inline int (islower)(int c) { return _isctype(c, _LOWER); } -+inline int (isdigit)(int c) { return _isctype(c, _DIGIT); } -+inline int (isxdigit)(int c) { return _isctype(c, _HEX); } -+inline int (isspace)(int c) { return _isctype(c, _SPACE); } -+inline int (ispunct)(int c) { return _isctype(c, _PUNCT); } -+inline int (isalnum)(int c) { return _isctype(c, _ALPHA|_DIGIT); } -+inline int (isprint)(int c) { return _isctype(c, _BLANK|_PUNCT|_ALPHA|_DIGIT); } -+inline int (isgraph)(int c) { return _isctype(c, _PUNCT|_ALPHA|_DIGIT); } -+inline int (iscntrl)(int c) { return _isctype(c, _CONTROL); } -+inline int (isascii)(int c) { return ((unsigned)(c) < 0x80); } -+ -+#undef _isctype -+ -+inline int (iswalpha)(int c) { return iswctype(c, _ALPHA); } -+inline int (iswupper)(int c) { return iswctype(c, _UPPER); } -+inline int (iswlower)(int c) { return iswctype(c, _LOWER); } -+inline int (iswdigit)(int c) { return iswctype(c, _DIGIT); } -+inline int (iswxdigit)(int c) { return iswctype(c, _HEX); } -+inline int (iswspace)(int c) { return iswctype(c, _SPACE); } -+inline int (iswpunct)(int c) { return iswctype(c, _PUNCT); } -+inline int (iswalnum)(int c) { return iswctype(c, _ALPHA|_DIGIT); } -+inline int (iswprint)(int c) { return iswctype(c, _BLANK|_PUNCT|_ALPHA|_DIGIT); } -+inline int (iswgraph)(int c) { return iswctype(c, _PUNCT|_ALPHA|_DIGIT); } -+inline int (iswcntrl)(int c) { return iswctype(c, _CONTROL); } -+inline int (iswascii)(int c) { return ((unsigned)(c) < 0x80); } -+ -+#endif /* __cplusplus */ -+ -+#if !defined(WIN32_LEAN_AND_MEAN) // Minimise windows includes -+ #define WIN32_LEAN_AND_MEAN -+#endif -+#if !defined(VC_EXTRALEAN) -+ #define VC_EXTRALEAN -+#endif -+#if !defined(STRICT) -+ #define STRICT -+#endif -+#if !defined(NOMINMAX) -+ #define NOMINMAX -+#endif -+ -+#ifndef __WINDOWS__ -+#include -+#endif -+ - #ifndef _ABORT_DEFINED --# define abort() TerminateProcess(GetCurrentProcess(), 0) -+# define _STLP_ABORT() TerminateProcess(GetCurrentProcess(), 0) - # define _ABORT_DEFINED - #endif - -- - #ifndef _ASSERT_DEFINED --# define assert(expr) __STL_ASSERT(expr) -+# define assert(expr) _STLP_ASSERT(expr) - # define _ASSERT_DEFINED - #endif - --#endif /* __STL_WCE_H */ -+// they say it's needed -+# include -+ -+#endif /* _STLP_WCE_H */ - - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stlcomp.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stlcomp.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/stlcomp.h Sat Feb 24 10:44:27 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/stlcomp.h Sun Aug 11 18:59:24 2002 -@@ -33,43 +33,39 @@ - * - */ - --#ifndef __STLCOMP_H --# define __STLCOMP_H -+#ifndef _STLP_COMP_H -+# define _STLP_COMP_H - - # define __GIVE_UP_WITH_STL(message) void give_up() \ - { upgrade_the_compiler_to_use_STL;} - - /* distinguish real MSC from Metrowerks and Intel */ - # if defined(_MSC_VER) && !defined(__MWERKS__) && !defined (__ICL) && !defined (__COMO__) --# define __STL_MSVC _MSC_VER -+# define _STLP_MSVC _MSC_VER - # endif - --# if defined(__sgi) && !defined(__GNUC__) -+# if defined (__xlC__) || defined (__IBMC__) || defined ( __IBMCPP__ ) -+/* AIX xlC, Visual Age C++ , OS-390 C++ */ -+# include -+# elif defined (__GNUC__ ) -+# include -+# elif defined (__KCC) -+# include -+# elif defined(__sgi) - # include - # elif (defined(__OS400__)) - /* AS/400 C++ */ - # include --# elif ( defined (__xlC__) && __xlC__ < 0x400 ) || \ -- (defined(__MVS__) && defined ( __IBMCPP__ ) && (__IBMCPP__ < 23000 )) || \ -- ( defined ( __IBMCPP__ ) && ( __IBMCPP__ < 400 ) && !defined(__OS400__) ) --/* AIX xlC 3.1 , 3.0.1 ==0x301 -- * Visual Age C++ 3.x -- * OS-390 C++ -- */ --# include --# elif defined(__STL_MSVC) -+# elif defined(_STLP_MSVC) - /* Microsoft Visual C++ 4.0, 4.1, 4.2, 5.0 */ - # include - # elif defined ( __BORLANDC__ ) - /* Borland C++ ( 4.x - 5.x ) */ - # include --# elif defined(__SUNPRO_CC) -+# elif defined(__SUNPRO_CC) || defined (__SUNPRO_C) - /* SUN CC 4.0.1-5.0 */ - # include --# elif defined (__GNUC__ ) --/* g++ 2.7.x and above */ --# include --# elif defined (__WATCOM_CPLUSPLUS__) -+# elif defined (__WATCOM_CPLUSPLUS__) || defined (__WATCOMC__) - /* Watcom C++ */ - # include - # elif defined(__COMO__) || defined (__COMO_VERSION_) -@@ -96,16 +92,17 @@ - /* Apogee 4.x */ - # elif defined (__APOGEE__) - # include --# elif defined (__KCC) --# include --# elif defined (__DECCXX) -+# elif defined (__DECCXX) || defined (__DECC) - # ifdef __vms - # include - # else - # include - # endif --# elif defined (__MLCCPP__) --# include -+# elif defined (__ISCPP__) -+# include -+# elif defined (__FCC_VERSION) -+/* Fujutsu Compiler, v4.0 assumed */ -+# include - # else - /* Unable to identify the compiler, issue error diagnostic. - * Edit to set STLport up for your compiler. */ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/vc_select_lib.h tripwire-2.3.1-2/src/STLport-4.0/stlport/config/vc_select_lib.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/config/vc_select_lib.h Sat Feb 24 10:44:29 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/config/vc_select_lib.h Sun Aug 11 18:59:24 2002 -@@ -1,28 +1,35 @@ --# if !( defined(__STL_WINCE) ) --# define __STL_EXPORT_DECLSPEC __declspec(dllexport) --# define __STL_IMPORT_DECLSPEC __declspec(dllimport) -+# if !( defined(_STLP_WINCE) ) -+# define _STLP_EXPORT_DECLSPEC __declspec(dllexport) -+# define _STLP_IMPORT_DECLSPEC __declspec(dllimport) - # endif - --# define __STL_IMPORT_TEMPLATE_KEYWORD extern --# define __STL_EXPORT_TEMPLATE_KEYWORD -- --# if !( defined(__STL_MSVC) && __STL_MSVC < 1100) --# define __STL_CLASS_EXPORT_DECLSPEC __declspec(dllexport) --# define __STL_CLASS_IMPORT_DECLSPEC __declspec(dllimport) -+# if !( defined(_STLP_MSVC) && _STLP_MSVC < 1100) -+# define _STLP_CLASS_EXPORT_DECLSPEC __declspec(dllexport) -+# define _STLP_CLASS_IMPORT_DECLSPEC __declspec(dllimport) - # endif - -- --# if !defined (__STL_NO_SGI_IOSTREAMS) -+# if !defined (_STLP_NO_OWN_IOSTREAMS) - - # if ( defined (__DLL) || defined (_DLL) || defined (_WINDLL) || defined (_RTLDLL) \ -- || defined(_AFXDLL) || defined (__STL_USE_DYNAMIC_LIB) ) \ -- && ! defined (__STL_USE_STATIC_LIB) --# undef __STL_USE_DECLSPEC --# define __STL_USE_DECLSPEC 1 -+ || defined(_AFXDLL) || defined (_STLP_USE_DYNAMIC_LIB) ) \ -+ && ! defined (_STLP_USE_STATIC_LIB) -+# undef _STLP_USE_DECLSPEC -+# define _STLP_USE_DECLSPEC 1 - # endif --# define __STL_LIB_STATIC_SUFFIX "_static" -+ -+# ifndef _STLP_IMPORT_TEMPLATE_KEYWORD -+# define _STLP_IMPORT_TEMPLATE_KEYWORD extern -+# endif -+# define _STLP_EXPORT_TEMPLATE_KEYWORD -+ -+# if defined (_RTLDLL) && defined (_STLP_USE_STATIC_LIB) -+# define _STLP_LIB_STATIC_SUFFIX "_staticx" -+# else -+# define _STLP_LIB_STATIC_SUFFIX "_static" -+# endif -+ - # include - --# endif /* __SGI_STL_OWN_IOSTREAMS */ -+# endif /* _STLP_OWN_IOSTREAMS */ - - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/csetjmp tripwire-2.3.1-2/src/STLport-4.0/stlport/csetjmp ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/csetjmp Sat Feb 24 10:44:21 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/csetjmp Sun Aug 11 18:59:23 2002 -@@ -13,41 +13,41 @@ - * - */ - --#ifndef __STLPORT_CSETJMP --# define __STLPORT_CSETJMP -+#ifndef _STLP_CSETJMP -+# define _STLP_CSETJMP - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x111 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x111 - # include - # endif - - // if the macro is on, the header is already there - # ifndef setjmp --# if defined (__STL_USE_NEW_C_HEADERS) --# include __STL_NATIVE_CPP_C_HEADER(csetjmp) -+# if defined (_STLP_USE_NEW_C_HEADERS) -+# include _STLP_NATIVE_CPP_C_HEADER(csetjmp) - # else --# include __STL_NATIVE_C_HEADER(setjmp.h) -+# include _STLP_NATIVE_C_HEADER(setjmp.h) - # endif - # endif - --# ifdef __STL_IMPORT_VENDOR_CSTD --__STL_BEGIN_NAMESPACE --using __STL_VENDOR_CSTD::jmp_buf; --# ifndef __STL_NO_CSTD_FUNCTION_IMPORTS -+# ifdef _STLP_IMPORT_VENDOR_CSTD -+_STLP_BEGIN_NAMESPACE -+using _STLP_VENDOR_CSTD::jmp_buf; -+# ifndef _STLP_NO_CSTD_FUNCTION_IMPORTS - # ifndef setjmp --using __STL_VENDOR_CSTD::setjmp; -+using _STLP_VENDOR_CSTD::setjmp; - # endif --using __STL_VENDOR_CSTD::longjmp; -+using _STLP_VENDOR_CSTD::longjmp; - # endif --__STL_END_NAMESPACE --#endif /* __STL_IMPORT_VENDOR_CSTD */ -+_STLP_END_NAMESPACE -+#endif /* _STLP_IMPORT_VENDOR_CSTD */ - --# if (__STL_OUTERMOST_HEADER_ID == 0x111 ) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x111 ) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __STLPORT_CSETJMP */ -+#endif /* _STLP_CSETJMP */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/csignal tripwire-2.3.1-2/src/STLport-4.0/stlport/csignal ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/csignal Sat Feb 24 10:44:21 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/csignal Sun Aug 11 18:59:23 2002 -@@ -13,36 +13,36 @@ - * - */ - --#ifndef __STLPORT_CSIGNAL --# define __STLPORT_CSIGNAL -+#ifndef _STLP_CSIGNAL -+# define _STLP_CSIGNAL - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x112 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x112 - # include - # endif - --# if defined (__STL_USE_NEW_C_HEADERS) --# include __STL_NATIVE_CPP_C_HEADER(csignal) -+# if defined (_STLP_USE_NEW_C_HEADERS) -+# include _STLP_NATIVE_CPP_C_HEADER(csignal) - # else --# include __STL_NATIVE_C_HEADER(signal.h) -+# include _STLP_NATIVE_C_HEADER(signal.h) - # endif - --# ifdef __STL_IMPORT_VENDOR_CSTD --__STL_BEGIN_NAMESPACE --# ifndef __STL_NO_CSTD_FUNCTION_IMPORTS --using __STL_VENDOR_CSTD::signal; --using __STL_VENDOR_CSTD::raise; --# endif /* __STL_NO_CSTD_FUNCTION_IMPORTS */ --using __STL_VENDOR_CSTD::sig_atomic_t; --__STL_END_NAMESPACE --# endif /* __STL_IMPORT_VENDOR_CSTD */ -+# ifdef _STLP_IMPORT_VENDOR_CSTD -+_STLP_BEGIN_NAMESPACE -+# ifndef _STLP_NO_CSTD_FUNCTION_IMPORTS -+using _STLP_VENDOR_CSTD::signal; -+using _STLP_VENDOR_CSTD::raise; -+# endif /* _STLP_NO_CSTD_FUNCTION_IMPORTS */ -+using _STLP_VENDOR_CSTD::sig_atomic_t; -+_STLP_END_NAMESPACE -+# endif /* _STLP_IMPORT_VENDOR_CSTD */ - --# if (__STL_OUTERMOST_HEADER_ID == 0x112 ) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x112 ) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __STLPORT_CSIGNAL */ -+#endif /* _STLP_CSIGNAL */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cstdarg tripwire-2.3.1-2/src/STLport-4.0/stlport/cstdarg ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cstdarg Sat Feb 24 10:44:21 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/cstdarg Sun Aug 11 18:59:23 2002 -@@ -13,32 +13,32 @@ - * - */ - --#ifndef __STLPORT_CSTDARG --# define __STLPORT_CSTDARG -+#ifndef _STLP_CSTDARG -+# define _STLP_CSTDARG - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x113 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x113 - # include - # endif - --# if defined (__STL_USE_NEW_C_HEADERS) --# include __STL_NATIVE_CPP_C_HEADER(cstdarg) -+# if defined (_STLP_USE_NEW_C_HEADERS) -+# include _STLP_NATIVE_CPP_C_HEADER(cstdarg) - # else --# include __STL_NATIVE_C_HEADER(stdarg.h) -+# include _STLP_NATIVE_C_HEADER(stdarg.h) - # endif - --# ifdef __STL_IMPORT_VENDOR_CSTD --__STL_BEGIN_NAMESPACE --using __STL_VENDOR_CSTD::va_list; --__STL_END_NAMESPACE --#endif /* __STL_IMPORT_VENDOR_CSTD */ -+# ifdef _STLP_IMPORT_VENDOR_CSTD -+_STLP_BEGIN_NAMESPACE -+using _STLP_VENDOR_CSTD::va_list; -+_STLP_END_NAMESPACE -+#endif /* _STLP_IMPORT_VENDOR_CSTD */ - --# if (__STL_OUTERMOST_HEADER_ID == 0x113 ) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x113 ) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __STLPORT_CSTDARG */ -+#endif /* _STLP_CSTDARG */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cstddef tripwire-2.3.1-2/src/STLport-4.0/stlport/cstddef ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cstddef Sat Feb 24 10:44:21 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/cstddef Sun Aug 11 18:59:23 2002 -@@ -13,37 +13,41 @@ - * - */ - --#ifndef __STLPORT_CSTDDEF --# define __STLPORT_CSTDDEF -+#ifndef _STLP_CSTDDEF -+# define _STLP_CSTDDEF - --# if ! defined (__STL_WINCE) -- --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x114 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x114 - # include - # endif - --# if defined (__STL_USE_NEW_C_HEADERS) --# include __STL_NATIVE_CPP_C_HEADER(cstddef) -+# if (__GNUC__ >= 3) && defined(__CYGWIN__) // this total HACK is the only expedient way I could cygwin to work with GCC 3.0 -+# define __need_wint_t // mostly because wint_t didn't seem to get defined otherwise :( -+# define __need_wchar_t -+# define __need_size_t -+# define __need_ptrdiff_t -+# define __need_NULL -+# endif -+ -+# if defined (_STLP_USE_NEW_C_HEADERS) -+# include _STLP_NATIVE_CPP_C_HEADER(cstddef) - # else --# include __STL_NATIVE_C_HEADER(stddef.h) -+# include _STLP_NATIVE_C_HEADER(stddef.h) - # endif - --# ifdef __STL_IMPORT_VENDOR_CSTD --__STL_BEGIN_NAMESPACE --using __STL_VENDOR_CSTD::ptrdiff_t; --using __STL_VENDOR_CSTD::size_t; --__STL_END_NAMESPACE --#endif /* __STL_IMPORT_VENDOR_CSTD */ -+# ifdef _STLP_IMPORT_VENDOR_CSTD -+_STLP_BEGIN_NAMESPACE -+using _STLP_VENDOR_CSTD::ptrdiff_t; -+using _STLP_VENDOR_CSTD::size_t; -+_STLP_END_NAMESPACE -+#endif /* _STLP_IMPORT_VENDOR_CSTD */ - --# if (__STL_OUTERMOST_HEADER_ID == 0x114 ) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x114 ) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __STL_WINCE */ -- --#endif /* __STLPORT_CSTDDEF */ -+#endif /* _STLP_CSTDDEF */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cstdio tripwire-2.3.1-2/src/STLport-4.0/stlport/cstdio ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cstdio Sat Feb 24 10:44:21 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/cstdio Sun Aug 11 18:59:23 2002 -@@ -13,45 +13,48 @@ - * - */ - --#ifndef __STLPORT_CSTDIO --# define __STLPORT_CSTDIO -+#ifndef _STLP_CSTDIO -+# define _STLP_CSTDIO - --# if ! defined (__STL_WINCE) -- --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 15 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 15 - # include - # endif - --# if defined (__STL_USE_NEW_C_HEADERS) --# include __STL_NATIVE_CPP_C_HEADER(cstdio) -+#ifdef __Lynx__ -+# include _STLP_NATIVE_C_HEADER(stdarg.h) -+#endif -+ -+# if defined (_STLP_USE_NEW_C_HEADERS) -+# include _STLP_NATIVE_CPP_C_HEADER(cstdio) - # else --# include __STL_NATIVE_C_HEADER(stdio.h) -+# include _STLP_NATIVE_C_HEADER(stdio.h) - # endif - - # ifdef __MWERKS__ - # undef stdin - # undef stdout - # undef stderr --# define stdin (&__STL_VENDOR_CSTD::__files[0]) --# define stdout (&__STL_VENDOR_CSTD::__files[1]) --# define stderr (&__STL_VENDOR_CSTD::__files[2]) -+# define stdin (&_STLP_VENDOR_CSTD::__files[0]) -+# define stdout (&_STLP_VENDOR_CSTD::__files[1]) -+# define stderr (&_STLP_VENDOR_CSTD::__files[2]) - # endif - --# if defined (__STL_MSVC) || defined (__ICL) -+# if defined (_STLP_MSVC) || defined (__ICL) - inline - int vsnprintf(char *s1, size_t n, const char *s2, va_list v) - { -- return __STL_VENDOR_CSTD::_vsnprintf(s1, n, s2, v); -+ return _STLP_VENDOR_CSTD::_vsnprintf(s1, n, s2, v); - } - # endif - --# ifdef __STL_IMPORT_VENDOR_CSTD --__STL_BEGIN_NAMESPACE --using __STL_VENDOR_CSTD::FILE; --using __STL_VENDOR_CSTD::fpos_t; --using __STL_VENDOR_CSTD::size_t; -+# ifdef _STLP_IMPORT_VENDOR_CSTD -+_STLP_BEGIN_NAMESPACE -+using _STLP_VENDOR_CSTD::FILE; -+using _STLP_VENDOR_CSTD::fpos_t; -+using _STLP_VENDOR_CSTD::size_t; - -+# if !defined(__amigaos__) - // undef obsolete macros - # undef putc - # undef getc -@@ -59,63 +62,66 @@ - # undef putchar - # undef feof - # undef ferror -+# endif - --# ifndef __STL_NO_CSTD_FUNCTION_IMPORTS --using __STL_VENDOR_CSTD::clearerr; --using __STL_VENDOR_CSTD::fclose; --using __STL_VENDOR_CSTD::feof; --using __STL_VENDOR_CSTD::ferror; --using __STL_VENDOR_CSTD::fflush; --using __STL_VENDOR_CSTD::fgetc; --using __STL_VENDOR_CSTD::fgetpos; --using __STL_VENDOR_CSTD::fgets; --using __STL_VENDOR_CSTD::fopen; --using __STL_VENDOR_CSTD::fprintf; --using __STL_VENDOR_CSTD::fputc; --using __STL_VENDOR_CSTD::fputs; --using __STL_VENDOR_CSTD::fread; --using __STL_VENDOR_CSTD::freopen; --using __STL_VENDOR_CSTD::fscanf; --using __STL_VENDOR_CSTD::fseek; --using __STL_VENDOR_CSTD::fsetpos; --using __STL_VENDOR_CSTD::ftell; --using __STL_VENDOR_CSTD::fwrite; --using __STL_VENDOR_CSTD::getc; --using __STL_VENDOR_CSTD::getchar; --using __STL_VENDOR_CSTD::gets; --using __STL_VENDOR_CSTD::perror; --using __STL_VENDOR_CSTD::printf; --using __STL_VENDOR_CSTD::putc; --using __STL_VENDOR_CSTD::putchar; --using __STL_VENDOR_CSTD::puts; --using __STL_VENDOR_CSTD::remove; --using __STL_VENDOR_CSTD::rename; --using __STL_VENDOR_CSTD::rewind; --using __STL_VENDOR_CSTD::scanf; --using __STL_VENDOR_CSTD::setbuf; --using __STL_VENDOR_CSTD::setvbuf; --using __STL_VENDOR_CSTD::sprintf; --using __STL_VENDOR_CSTD::sscanf; --using __STL_VENDOR_CSTD::tmpfile; --using __STL_VENDOR_CSTD::tmpnam; --using __STL_VENDOR_CSTD::ungetc; --using __STL_VENDOR_CSTD::vfprintf; --using __STL_VENDOR_CSTD::vprintf; --using __STL_VENDOR_CSTD::vsprintf; --# if defined (__MWERKS__) || defined (__STL_MSVC) || defined (__ICL) || \ --( defined (__BORLANDC__) && __BORLANDC__ > 0x530) || ( defined (__STL_USE_GLIBC) && ! defined (__CYGWIN__)) --using __STL_VENDOR_CSTD::vsnprintf; -+# ifndef _STLP_NO_CSTD_FUNCTION_IMPORTS -+using _STLP_VENDOR_CSTD::clearerr; -+using _STLP_VENDOR_CSTD::fclose; -+using _STLP_VENDOR_CSTD::feof; -+using _STLP_VENDOR_CSTD::ferror; -+using _STLP_VENDOR_CSTD::fflush; -+using _STLP_VENDOR_CSTD::fgetc; -+using _STLP_VENDOR_CSTD::fgetpos; -+using _STLP_VENDOR_CSTD::fgets; -+using _STLP_VENDOR_CSTD::fopen; -+using _STLP_VENDOR_CSTD::fprintf; -+using _STLP_VENDOR_CSTD::fputc; -+using _STLP_VENDOR_CSTD::fputs; -+using _STLP_VENDOR_CSTD::fread; -+using _STLP_VENDOR_CSTD::freopen; -+using _STLP_VENDOR_CSTD::fscanf; -+using _STLP_VENDOR_CSTD::fseek; -+using _STLP_VENDOR_CSTD::fsetpos; -+using _STLP_VENDOR_CSTD::ftell; -+using _STLP_VENDOR_CSTD::fwrite; -+ -+# if ( !( defined (__IBMCPP__) && (__IBMCPP__ >= 500) ) ) -+ using _STLP_VENDOR_CSTD::getc; -+ using _STLP_VENDOR_CSTD::getchar; -+ using _STLP_VENDOR_CSTD::putc; -+ using _STLP_VENDOR_CSTD::putchar; - # endif --# endif /* __STL_NO_CSTD_FUNCTION_IMPORTS */ --__STL_END_NAMESPACE --# endif /* __STL_IMPORT_VENDOR_CSTD */ - --# if (__STL_OUTERMOST_HEADER_ID == 15) -+using _STLP_VENDOR_CSTD::gets; -+using _STLP_VENDOR_CSTD::perror; -+using _STLP_VENDOR_CSTD::printf; -+using _STLP_VENDOR_CSTD::puts; -+using _STLP_VENDOR_CSTD::remove; -+using _STLP_VENDOR_CSTD::rename; -+using _STLP_VENDOR_CSTD::rewind; -+using _STLP_VENDOR_CSTD::scanf; -+using _STLP_VENDOR_CSTD::setbuf; -+using _STLP_VENDOR_CSTD::setvbuf; -+using _STLP_VENDOR_CSTD::sprintf; -+using _STLP_VENDOR_CSTD::sscanf; -+using _STLP_VENDOR_CSTD::tmpfile; -+using _STLP_VENDOR_CSTD::tmpnam; -+using _STLP_VENDOR_CSTD::ungetc; -+using _STLP_VENDOR_CSTD::vfprintf; -+using _STLP_VENDOR_CSTD::vprintf; -+using _STLP_VENDOR_CSTD::vsprintf; -+# if (defined (__MWERKS__) || defined (_STLP_MSVC) || defined (__ICL) || \ -+( defined (__BORLANDC__) && __BORLANDC__ > 0x530)) -+using _STLP_VENDOR_CSTD::vsnprintf; -+# endif -+# endif /* _STLP_NO_CSTD_FUNCTION_IMPORTS */ -+_STLP_END_NAMESPACE -+# endif /* _STLP_IMPORT_VENDOR_CSTD */ -+ -+# if (_STLP_OUTERMOST_HEADER_ID == 15) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif -- --# endif /* ! defined (__STL_WINCE) */ - - #endif - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cstdlib tripwire-2.3.1-2/src/STLport-4.0/stlport/cstdlib ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cstdlib Sat Feb 24 10:44:21 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/cstdlib Sun Aug 11 18:59:23 2002 -@@ -13,24 +13,20 @@ - * - */ - --#ifndef __STLPORT_CSTDLIB --# define __STLPORT_CSTDLIB -+#ifndef _STLP_CSTDLIB -+# define _STLP_CSTDLIB - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x116 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x116 - # include - # endif - --# if defined (__STL_USE_NEW_C_HEADERS) --# include __STL_NATIVE_CPP_C_HEADER(cstdlib) -+# if defined (_STLP_USE_NEW_C_HEADERS) -+# include _STLP_NATIVE_CPP_C_HEADER(cstdlib) - # else --# include __STL_NATIVE_C_HEADER(stdlib.h) -+# include _STLP_NATIVE_C_HEADER(stdlib.h) - # endif - --// dwa 2/28/99 - work around MSL bugs. Not strictly correct (actual --// namespace where div_t is defined is detectable), but probably the --// best we can do. We expect this to be fixed by the time Pro5 is --// released. - # if defined( __MSL__ ) && __MSL__ <= 0x5003 - namespace std { - typedef ::div_t div_t; -@@ -41,56 +37,77 @@ - } - # endif - --# ifdef __STL_IMPORT_VENDOR_CSTD --__STL_BEGIN_NAMESPACE --using __STL_VENDOR_CSTD::div_t; --using __STL_VENDOR_CSTD::ldiv_t; --# ifdef __STL_LONG_LONG --// using __STL_VENDOR_CSTD::lldiv_t; --# endif --using __STL_VENDOR_CSTD::size_t; --# ifndef __STL_NO_CSTD_FUNCTION_IMPORTS --using __STL_VENDOR_CSTD::abort; --using __STL_VENDOR_CSTD::atexit; --using __STL_VENDOR_CSTD::exit; --using __STL_VENDOR_CSTD::getenv; --using __STL_VENDOR_CSTD::calloc; --using __STL_VENDOR_CSTD::free; --using __STL_VENDOR_CSTD::malloc; --using __STL_VENDOR_CSTD::realloc; --using __STL_VENDOR_CSTD::atof; --using __STL_VENDOR_CSTD::atoi; --using __STL_VENDOR_CSTD::atol; --using __STL_VENDOR_CSTD::mblen; --using __STL_VENDOR_CSTD::mbstowcs; --using __STL_VENDOR_CSTD::mbtowc; --using __STL_VENDOR_CSTD::strtod; --using __STL_VENDOR_CSTD::strtol; --using __STL_VENDOR_CSTD::strtoul; --using __STL_VENDOR_CSTD::system; -- --#if ! (defined (__STL_NO_NATIVE_WIDE_STREAMS) || defined (__STL_NO_MBSTATE_T)) --using __STL_VENDOR_CSTD::wcstombs; --using __STL_VENDOR_CSTD::wctomb; -+# ifdef _STLP_IMPORT_VENDOR_CSTD -+_STLP_BEGIN_NAMESPACE -+using _STLP_VENDOR_CSTD::div_t; -+using _STLP_VENDOR_CSTD::ldiv_t; -+using _STLP_VENDOR_CSTD::size_t; -+ -+# ifndef _STLP_NO_CSTD_FUNCTION_IMPORTS -+using _STLP_VENDOR_CSTD::abort; -+using _STLP_VENDOR_CSTD::atexit; -+using _STLP_VENDOR_CSTD::exit; -+using _STLP_VENDOR_CSTD::getenv; -+using _STLP_VENDOR_CSTD::calloc; -+using _STLP_VENDOR_CSTD::free; -+using _STLP_VENDOR_CSTD::malloc; -+using _STLP_VENDOR_CSTD::realloc; -+using _STLP_VENDOR_CSTD::atof; -+using _STLP_VENDOR_CSTD::atoi; -+using _STLP_VENDOR_CSTD::atol; -+using _STLP_VENDOR_CSTD::mblen; -+using _STLP_VENDOR_CSTD::mbstowcs; -+using _STLP_VENDOR_CSTD::mbtowc; -+using _STLP_VENDOR_CSTD::strtod; -+using _STLP_VENDOR_CSTD::strtol; -+using _STLP_VENDOR_CSTD::strtoul; -+using _STLP_VENDOR_CSTD::system; -+ -+#if ! (defined (_STLP_NO_NATIVE_WIDE_STREAMS) || defined (_STLP_NO_MBSTATE_T) ) -+using _STLP_VENDOR_CSTD::wcstombs; -+using _STLP_VENDOR_CSTD::wctomb; - #endif --using __STL_VENDOR_CSTD::bsearch; --using __STL_VENDOR_CSTD::qsort; --using __STL_VENDOR_CSTD::abs; --using __STL_VENDOR_CSTD::div; --using __STL_VENDOR_CSTD::labs; --using __STL_VENDOR_CSTD::ldiv; --using __STL_VENDOR_CSTD::rand; --using __STL_VENDOR_CSTD::srand; --# endif /* __STL_NO_CSTD_FUNCTION_IMPORTS */ --__STL_END_NAMESPACE --#endif /* __STL_IMPORT_VENDOR_CSTD */ -+using _STLP_VENDOR_CSTD::bsearch; -+using _STLP_VENDOR_CSTD::qsort; -+// boris : if we do not have native float abs, we define ours; then we cannot do "using" for "other" abs -+# ifdef _STLP_HAS_NATIVE_FLOAT_ABS -+using _STLP_VENDOR_CSTD::abs; -+# endif -+using _STLP_VENDOR_CSTD::div; -+using _STLP_VENDOR_CSTD::labs; -+using _STLP_VENDOR_CSTD::ldiv; -+using _STLP_VENDOR_CSTD::rand; -+using _STLP_VENDOR_CSTD::srand; -+# endif /* _STLP_NO_CSTD_FUNCTION_IMPORTS */ -+_STLP_END_NAMESPACE -+#endif /* _STLP_IMPORT_VENDOR_CSTD */ -+ -+_STLP_BEGIN_NAMESPACE -+ -+# ifdef _STLP_HAS_NO_NEW_C_HEADERS -+# if !defined ( _STLP_LABS ) -+inline long abs(long __x) { return _STLP_VENDOR_CSTD::labs(__x); } -+# endif -+# if !defined ( _STLP_LDIV ) -+inline ldiv_t div(long __x, long __y) { return _STLP_VENDOR_CSTD::ldiv(__x, __y); } -+# endif -+# endif -+ -+# if defined ( _STLP_LLABS ) -+_STLP_LONG_LONG abs(_STLP_LONG_LONG __x) { return _STLP_VENDOR_CSTD::_STLP_LLABS(__x); } -+# endif -+# if defined ( _STLP_LLDIV ) -+_STLP_LLDIV_T div(_STLP_LONG_LONG __x, _STLP_LONG_LONG __y) { return _STLP_VENDOR_CSTD::_STLP_LLDIV(__x, __y); } -+# endif -+ -+_STLP_END_NAMESPACE - --# if (__STL_OUTERMOST_HEADER_ID == 0x116) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x116) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __STLPORT_CSTDLIB */ -+#endif /* _STLP_CSTDLIB */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cstring tripwire-2.3.1-2/src/STLport-4.0/stlport/cstring ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cstring Sat Feb 24 10:44:22 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/cstring Sun Aug 11 18:59:23 2002 -@@ -13,32 +13,32 @@ - * - */ - --#ifndef __STLPORT_CSTRING --# define __STLPORT_CSTRING -+#ifndef _STLP_CSTRING -+# define _STLP_CSTRING - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x117 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x117 - # include - # endif - --# if defined (__STL_USE_NEW_C_HEADERS) --# include __STL_NATIVE_CPP_C_HEADER(cstring) -+# if defined (_STLP_USE_NEW_C_HEADERS) -+# include _STLP_NATIVE_CPP_C_HEADER(cstring) - # else --# include __STL_NATIVE_C_HEADER(string.h) -+# include _STLP_NATIVE_C_HEADER(string.h) - # endif - --# ifdef __STL_IMPORT_VENDOR_CSTD --__STL_BEGIN_NAMESPACE -+# ifdef _STLP_IMPORT_VENDOR_CSTD -+_STLP_BEGIN_NAMESPACE - # include --__STL_END_NAMESPACE --#endif /* __STL_IMPORT_VENDOR_CSTD */ -+_STLP_END_NAMESPACE -+#endif /* _STLP_IMPORT_VENDOR_CSTD */ - --# if (__STL_OUTERMOST_HEADER_ID == 0x117) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x117) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __STLPORT_CSTRING */ -+#endif /* _STLP_CSTRING */ - - // Local Variables: - // mode:C++ -Only in tripwire-2.3.1-2.old/src/STLport-4.0/stlport: cstring.h -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/ctime tripwire-2.3.1-2/src/STLport-4.0/stlport/ctime ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/ctime Sat Feb 24 10:44:22 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/ctime Sun Aug 11 18:59:23 2002 -@@ -13,46 +13,46 @@ - * - */ - --#ifndef __STLPORT_CTIME --# define __STLPORT_CTIME -+#ifndef _STLP_CTIME -+# define _STLP_CTIME - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x118 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x118 - # include - # endif - --# if defined (__STL_USE_NEW_C_HEADERS) --# include __STL_NATIVE_CPP_C_HEADER(ctime) --# else --# include __STL_NATIVE_C_HEADER(time.h) -+# if defined (_STLP_USE_NEW_C_HEADERS) -+# include _STLP_NATIVE_CPP_C_HEADER(ctime) -+# elif !defined(_STLP_WINCE) -+# include _STLP_NATIVE_C_HEADER(time.h) - # endif - --# ifdef __STL_IMPORT_VENDOR_CSTD --__STL_BEGIN_NAMESPACE --using __STL_VENDOR_CSTD::size_t; --using __STL_VENDOR_CSTD::clock_t; --using __STL_VENDOR_CSTD::time_t; --using __STL_VENDOR_CSTD::tm; --# ifndef __STL_NO_CSTD_FUNCTION_IMPORTS --using __STL_VENDOR_CSTD::clock; --using __STL_VENDOR_CSTD::asctime; --using __STL_VENDOR_CSTD::ctime; --using __STL_VENDOR_CSTD::gmtime; --using __STL_VENDOR_CSTD::difftime; --using __STL_VENDOR_CSTD::mktime; --using __STL_VENDOR_CSTD::localtime; --using __STL_VENDOR_CSTD::strftime; --using __STL_VENDOR_CSTD::time; --# endif /* __STL_NO_CSTD_FUNCTION_IMPORTS */ --__STL_END_NAMESPACE --#endif /* __STL_IMPORT_VENDOR_CSTD */ -+# ifdef _STLP_IMPORT_VENDOR_CSTD -+_STLP_BEGIN_NAMESPACE -+using _STLP_VENDOR_CSTD::size_t; -+using _STLP_VENDOR_CSTD::clock_t; -+using _STLP_VENDOR_CSTD::time_t; -+using _STLP_VENDOR_CSTD::tm; -+# ifndef _STLP_NO_CSTD_FUNCTION_IMPORTS -+using _STLP_VENDOR_CSTD::clock; -+using _STLP_VENDOR_CSTD::asctime; -+using _STLP_VENDOR_CSTD::ctime; -+using _STLP_VENDOR_CSTD::gmtime; -+using _STLP_VENDOR_CSTD::difftime; -+using _STLP_VENDOR_CSTD::mktime; -+using _STLP_VENDOR_CSTD::localtime; -+using _STLP_VENDOR_CSTD::strftime; -+using _STLP_VENDOR_CSTD::time; -+# endif /* _STLP_NO_CSTD_FUNCTION_IMPORTS */ -+_STLP_END_NAMESPACE -+#endif /* _STLP_IMPORT_VENDOR_CSTD */ - --# if (__STL_OUTERMOST_HEADER_ID == 0x118) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x118) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __STLPORT_CTIME */ -+#endif /* _STLP_CTIME */ - // Local Variables: - // mode:C++ - // End: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/ctype.h tripwire-2.3.1-2/src/STLport-4.0/stlport/ctype.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/ctype.h Sat Feb 24 10:44:22 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/ctype.h Sun Aug 11 18:59:23 2002 -@@ -13,21 +13,21 @@ - * - */ - --# if !defined (__STL_OUTERMOST_HEADER_ID) --# define __STL_OUTERMOST_HEADER_ID 0x219 -+# if !defined (_STLP_OUTERMOST_HEADER_ID) -+# define _STLP_OUTERMOST_HEADER_ID 0x219 - # include --# elif (__STL_OUTERMOST_HEADER_ID == 0x219) && ! defined (__STL_DONT_POP_0x219) --# define __STL_DONT_POP_0x219 -+# elif (_STLP_OUTERMOST_HEADER_ID == 0x219) && ! defined (_STLP_DONT_POP_0x219) -+# define _STLP_DONT_POP_0x219 - # endif - --# include __STL_NATIVE_C_HEADER(ctype.h) -+# include _STLP_NATIVE_C_HEADER(ctype.h) - --# if (__STL_OUTERMOST_HEADER_ID == 0x219) --# if ! defined (__STL_DONT_POP_0x219) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x219) -+# if ! defined (_STLP_DONT_POP_0x219) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif --# undef __STL_DONT_POP_0x219 -+# undef _STLP_DONT_POP_0x219 - # endif - - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cwchar tripwire-2.3.1-2/src/STLport-4.0/stlport/cwchar ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cwchar Sat Feb 24 10:44:22 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/cwchar Fri Feb 14 16:26:17 2003 -@@ -13,240 +13,290 @@ - * - */ - --#ifndef __STLPORT_CWCHAR --# define __STLPORT_CWCHAR -+#ifndef _STLP_CWCHAR -+# define _STLP_CWCHAR - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x120 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x120 - # include - # endif - - # ifdef __GNUC__ --# include -+# include - # endif - --# if ! defined (__STL_WINCE) -- --# if defined (__BORLANDC__) && (__BORLANDC__ >= 0x530 ) && ! defined (__SGI_STL_OWN_IOSTREAMS) --// Borland defines this stuff here -+# if defined (__BORLANDC__) && (__BORLANDC__ >= 0x530 ) && ! defined (_STLP_OWN_IOSTREAMS) -+/* Borland defines this stuff here */ - # include - # endif - --# if defined (__STL_USE_NEW_C_HEADERS) && ! defined (__HP_aCC) --# include __STL_NATIVE_CPP_C_HEADER(cwchar) --# elif defined (__MRC__) || defined (__SC__) || defined (__BORLANDC__) --# include __STL_NATIVE_C_HEADER(stddef.h) --# else --# if !defined(__STL_NO_WCHAR_T) && !defined(__FreeBSD__) && !defined(__OpenBSD__) --# include __STL_NATIVE_C_HEADER(wchar.h) -+# if ! defined (_STLP_NO_CWCHAR) && defined (_STLP_USE_NEW_C_HEADERS) -+# include _STLP_NATIVE_CPP_C_HEADER(cwchar) -+ -+# elif defined (__MRC__) || defined (__SC__) || defined (__BORLANDC__) \ -+ || defined(__FreeBSD__) || defined(__OpenBSD__) \ -+ || (defined (__GNUC__) && defined (__APPLE__) || defined( __Lynx__ )) \ -+ || defined (_STLP_NO_WCHAR_T) -+ -+# include _STLP_NATIVE_C_HEADER(stddef.h) -+# if defined (__FreeBSD__) || defined(__OpenBSD__) || defined (__Lynx__) -+# ifndef _WINT_T -+typedef long int wint_t; -+# define _WINT_T -+# endif /* _WINT_T */ -+# endif -+ -+# elif defined(_STLP_WINCE) -+# include _STLP_NATIVE_C_HEADER(stdlib.h) -+# else -+# include _STLP_NATIVE_C_HEADER(wchar.h) -+ -+# if defined(__sun) && (defined(_XOPEN_SOURCE) || (_XOPEN_VERSION - 0 == 4)) -+extern wint_t btowc(); -+extern int fwprintf(); -+extern int fwscanf(); -+extern int fwide(); -+extern int mbsinit(); -+extern size_t mbrlen(); -+extern size_t mbrtowc(); -+extern size_t mbsrtowcs(); -+extern int swprintf(); -+extern int swscanf(); -+extern int vfwprintf(); -+extern int vwprintf(); -+extern int vswprintf(); -+extern size_t wcrtomb(); -+extern size_t wcsrtombs(); -+extern wchar_t *wcsstr(); -+extern int wctob(); -+extern wchar_t *wmemchr(); -+extern int wmemcmp(); -+extern wchar_t *wmemcpy(); -+extern wchar_t *wmemmove(); -+extern wchar_t *wmemset(); -+extern int wprintf(); -+extern int wscanf(); - # endif - # endif - --// this stuff is varying a lot between platforms --#if defined(__MSL__) && __MSL__ <= 0x51FF // dwa 2/28/99 - not yet implemented by MSL --# define __STL_WCHAR_MSL_EXCLUDE 1 --// dwa 2/28/99 - Fix an MSL bug. We expect this to be fixed in the next release. -+#if defined(__MSL__) && __MSL__ <= 0x51FF /* dwa 2/28/99 - not yet implemented by MSL */ -+# define _STLP_WCHAR_MSL_EXCLUDE 1 - namespace std - { - extern "C" size_t wcsftime(wchar_t * str, size_t max_size, const wchar_t * format_str, const struct tm * timeptr); - } --# define __STL_NO_MBSTATE_T 1 --#elif defined(__sun) && defined (__SVR4) && !defined (_MBSTATE_T) && !defined (_STD_MBSTATE_T) \ -- && (defined(__SunOS_5_5_1) || defined(__SunOS_5_6) || ! defined (_WCHAR_ISO_SUNWCC_H)) --# ifndef __STL_NO_NATIVE_MBSTATE_T --# define __STL_NO_NATIVE_MBSTATE_T 1 --# endif --# define __STL_WCHAR_SUNPRO_EXCLUDE 1 --# if defined ( __SGI_STL_OWN_IOSTREAMS ) --# define _MBSTATE_T --# define _STD_MBSTATE_T --# else --# define __STL_NO_MBSTATE_T 1 --# endif -+# define _STLP_NO_MBSTATE_T 1 - #elif defined (__BORLANDC__) --# ifdef __SGI_STL_OWN_IOSTREAMS --# define __STL_NO_NATIVE_MBSTATE_T -+# ifdef _STLP_OWN_IOSTREAMS -+# define _STLP_NO_NATIVE_MBSTATE_T - # endif --# define __STL_WCHAR_BORLAND_EXCLUDE 1 -+# define _STLP_WCHAR_BORLAND_EXCLUDE 1 - # if (__BORLANDC__ < 0x540 ) --# define __STL_NO_MBSTATE_T 1 --# define __STL_WCHAR_SUNPRO_EXCLUDE -+# define _STLP_NO_MBSTATE_T 1 -+# define _STLP_WCHAR_SUNPRO_EXCLUDE - # endif - #endif - --# if defined ( __SGI_STL_OWN_IOSTREAMS ) \ -- && defined (__STL_NO_NATIVE_MBSTATE_T) && ! defined (__STL_NO_MBSTATE_T) --# define __STL_USE_OWN_MBSTATE_T -+# if defined ( _STLP_OWN_IOSTREAMS ) && defined (_STLP_NO_NATIVE_MBSTATE_T) && ! defined (_STLP_NO_MBSTATE_T) && ! defined (_MBSTATE_T) && ! defined (__mbstate_t_defined) -+# define _STLP_USE_OWN_MBSTATE_T -+# define _MBSTATE_T - # endif - --# ifdef __STL_USE_OWN_MBSTATE_T -+# ifdef _STLP_USE_OWN_MBSTATE_T -+ -+// to be compatible across different SUN platforms -+#ifdef __sun -+# define __stl_mbstate_t __mbstate_t -+#endif - --__STL_BEGIN_NAMESPACE -+struct __stl_mbstate_t; - -+# ifdef __cplusplus - struct __stl_mbstate_t { -- __stl_mbstate_t( long __st = 0 ) : _M_state(__st) {} -+ __stl_mbstate_t( long __st = 0 ) { _M_state[0] = __st ; } - __stl_mbstate_t& operator=(const long __st) { -- _M_state= __st; -+ _M_state[0] = __st; - return *this; - } -- // default ones -- __stl_mbstate_t(const __stl_mbstate_t& __x) : _M_state(__x._M_state) {} -+ __stl_mbstate_t(const __stl_mbstate_t& __x) {_M_state[0]= __x._M_state[0]; } - __stl_mbstate_t& operator=(const __stl_mbstate_t& __x) { -- _M_state= __x._M_state; -+ _M_state[0]= __x._M_state[0]; - return *this; -- } -- long _M_state; -- // friend inline bool operator==(const __stl_mbstate_t& __x, const __stl_mbstate_t& __y); -- // friend inline bool operator!=(const __stl_mbstate_t& __x, const __stl_mbstate_t& __y); -+ } -+# if defined (__sun) -+# ifdef _LP64 -+ long _M_state[4]; -+# else -+ int _M_state[6]; -+# endif -+# else -+ long _M_state[1]; -+# endif - }; - - inline bool operator==(const __stl_mbstate_t& __x, const __stl_mbstate_t& __y) { -- return ( __x._M_state == __y._M_state ); -+ return ( __x._M_state[0] == __y._M_state[0] ); - } - - inline bool operator!=(const __stl_mbstate_t& __x, const __stl_mbstate_t& __y) { -- return ( __x._M_state == __y._M_state ); -+ return ( __x._M_state[0] == __y._M_state[0] ); - } -+# endif - --typedef __stl_mbstate_t mbstate_t; - --__STL_END_NAMESPACE -+_STLP_BEGIN_NAMESPACE - --# endif -+typedef struct __stl_mbstate_t mbstate_t; -+ -+_STLP_END_NAMESPACE - -+# endif /* _STLP_USE_OWN_MBSTATE_T */ - --# if defined (__STL_NO_MBSTATE_T) && !defined (__STL_NO_NATIVE_MBSTATE_T) --# define __STL_NO_NATIVE_MBSTATE_T 1 -+ -+# ifdef _STLP_IMPORT_VENDOR_CSTD -+ -+#if defined (__SUNPRO_CC) && defined (_STLP_NO_OWN_IOSTREAMS) && !defined (_STLP_HAS_NO_NEW_C_HEADERS) -+using _STLP_VENDOR_CSTD::wint_t; -+#endif -+ -+_STLP_BEGIN_NAMESPACE -+# ifdef _STLP_NO_WCHAR_T -+typedef int wint_t; -+# else -+// gcc 3.0 has a glitch : wint_t only sucked into the global namespace if _GLIBCPP_USE_WCHAR_T is defined -+# if defined (__GNUC__) && ! defined (_GLIBCPP_USE_WCHAR_T) -+using ::wint_t; -+# else -+using _STLP_VENDOR_CSTD::wint_t; - # endif -+# endif - - --# ifdef __STL_IMPORT_VENDOR_CSTD --__STL_BEGIN_NAMESPACE --using __STL_VENDOR_CSTD::wint_t; --using __STL_VENDOR_CSTD::size_t; -+using _STLP_VENDOR_CSTD::size_t; - --# if !defined (__STL_NO_NATIVE_MBSTATE_T) --using __STL_VENDOR_MB_NAMESPACE::mbstate_t; -+# if !defined (_STLP_NO_NATIVE_MBSTATE_T) && ! defined (_STLP_USE_OWN_MBSTATE_T) -+using _STLP_VENDOR_MB_NAMESPACE::mbstate_t; - --# if !defined (__STL_NO_CSTD_FUNCTION_IMPORTS) && !defined(__STL_WCHAR_BORLAND_EXCLUDE) \ -+# if !defined (_STLP_NO_CSTD_FUNCTION_IMPORTS) && !defined(_STLP_WCHAR_BORLAND_EXCLUDE) \ - && (!defined(__MSL__) || __MSL__ > 0x6001) --using __STL_VENDOR_MB_NAMESPACE::btowc; --using __STL_VENDOR_MB_NAMESPACE::mbrlen; --using __STL_VENDOR_MB_NAMESPACE::mbrtowc; --using __STL_VENDOR_MB_NAMESPACE::mbsinit; --using __STL_VENDOR_MB_NAMESPACE::mbsrtowcs; --using __STL_VENDOR_MB_NAMESPACE::wcrtomb; --using __STL_VENDOR_MB_NAMESPACE::wcsrtombs; -+# if ! (defined (__KCC) || defined (__GNUC__)) -+using _STLP_VENDOR_MB_NAMESPACE::btowc; -+# if (!defined(__MSL__) || __MSL__ > 0x7001) -+using _STLP_VENDOR_MB_NAMESPACE::mbsinit; -+# endif -+# endif -+# if ! defined (__GNUC__) -+using _STLP_VENDOR_MB_NAMESPACE::mbrlen; -+using _STLP_VENDOR_MB_NAMESPACE::mbrtowc; -+using _STLP_VENDOR_MB_NAMESPACE::mbsrtowcs; -+using _STLP_VENDOR_MB_NAMESPACE::wcrtomb; -+using _STLP_VENDOR_MB_NAMESPACE::wcsrtombs; -+# endif - # endif /* BORLAND && !__MSL__ || __MSL__ > 0x6001 */ - --# endif /* __STL_NO_NATIVE_MBSTATE_T */ -+# endif /* _STLP_NO_NATIVE_MBSTATE_T */ - --# if !defined (__STL_NO_NATIVE_WIDE_FUNCTIONS) && ! defined (__STL_NO_CSTD_FUNCTION_IMPORTS) -+# if !defined (_STLP_NO_NATIVE_WIDE_FUNCTIONS) && ! defined (_STLP_NO_CSTD_FUNCTION_IMPORTS) - --# if !defined (__STL_WCHAR_BORLAND_EXCLUDE) && ! defined (__STL_NO_CSTD_FUNCTION_IMPORTS) --using __STL_VENDOR_CSTD::fgetwc; --using __STL_VENDOR_CSTD::fgetws; --using __STL_VENDOR_CSTD::fputwc; --using __STL_VENDOR_CSTD::fputws; -+# if !defined (_STLP_WCHAR_BORLAND_EXCLUDE) && ! defined (_STLP_NO_CSTD_FUNCTION_IMPORTS) -+using _STLP_VENDOR_CSTD::fgetwc; -+using _STLP_VENDOR_CSTD::fgetws; -+using _STLP_VENDOR_CSTD::fputwc; -+using _STLP_VENDOR_CSTD::fputws; - # endif - --# if !( defined (__STL_WCHAR_SUNPRO_EXCLUDE) || defined (__STL_WCHAR_BORLAND_EXCLUDE) \ -- || defined(__STL_WCHAR_HPACC_EXCLUDE) ) -+# if !( defined (_STLP_WCHAR_SUNPRO_EXCLUDE) || defined (_STLP_WCHAR_BORLAND_EXCLUDE) \ -+ || defined(_STLP_WCHAR_HPACC_EXCLUDE) ) - # ifndef __DECCXX --using __STL_VENDOR_CSTD::fwide; -+using _STLP_VENDOR_CSTD::fwide; - # endif --using __STL_VENDOR_CSTD::fwprintf; --using __STL_VENDOR_CSTD::fwscanf; --using __STL_VENDOR_CSTD::getwchar; -+using _STLP_VENDOR_CSTD::fwprintf; -+using _STLP_VENDOR_CSTD::fwscanf; -+using _STLP_VENDOR_CSTD::getwchar; - # endif - --# ifndef __STL_WCHAR_BORLAND_EXCLUDE --using __STL_VENDOR_CSTD::getwc; --using __STL_VENDOR_CSTD::ungetwc; -- --using __STL_VENDOR_CSTD::putwc; --using __STL_VENDOR_CSTD::putwchar; --# endif -+# ifndef _STLP_WCHAR_BORLAND_EXCLUDE -+using _STLP_VENDOR_CSTD::getwc; -+using _STLP_VENDOR_CSTD::ungetwc; -+ -+using _STLP_VENDOR_CSTD::putwc; -+using _STLP_VENDOR_CSTD::putwchar; -+# endif -+ -+# if !( defined (_STLP_WCHAR_SUNPRO_EXCLUDE) || defined (_STLP_WCHAR_BORLAND_EXCLUDE)\ -+ || defined(_STLP_WCHAR_HPACC_EXCLUDE) ) -+using _STLP_VENDOR_CSTD::swprintf; -+using _STLP_VENDOR_CSTD::swscanf; -+using _STLP_VENDOR_CSTD::vfwprintf; -+using _STLP_VENDOR_CSTD::vwprintf; -+using _STLP_VENDOR_CSTD::vswprintf; - --# if !( defined (__STL_WCHAR_SUNPRO_EXCLUDE) || defined (__STL_WCHAR_BORLAND_EXCLUDE)\ -- || defined(__STL_WCHAR_HPACC_EXCLUDE) ) --using __STL_VENDOR_CSTD::swprintf; --using __STL_VENDOR_CSTD::swscanf; --using __STL_VENDOR_CSTD::vfwprintf; --using __STL_VENDOR_CSTD::vwprintf; --using __STL_VENDOR_CSTD::vswprintf; -- --# if !defined(__MSL__) || __MSL__ > 0x6001 --using __STL_VENDOR_CSTD::wcsftime; -+# if !defined(__MSL__) || __MSL__ > 0x7001 -+using _STLP_VENDOR_CSTD::wcsftime; - # endif --using __STL_VENDOR_CSTD::wcstok; -+using _STLP_VENDOR_CSTD::wcstok; - - # endif - - # if !(defined (__BORLANDC__) && (__BORLANDC__ < 0x540)) --using __STL_VENDOR_CSTD::wcscat; --using __STL_VENDOR_CSTD::wcsrchr; --using __STL_VENDOR_CSTD::wcscmp; --using __STL_VENDOR_CSTD::wcscoll; -+using _STLP_VENDOR_CSTD::wcscat; -+using _STLP_VENDOR_CSTD::wcsrchr; -+using _STLP_VENDOR_CSTD::wcscmp; -+using _STLP_VENDOR_CSTD::wcscoll; - --using __STL_VENDOR_CSTD::wcscpy; --using __STL_VENDOR_CSTD::wcscspn; -+using _STLP_VENDOR_CSTD::wcscpy; -+using _STLP_VENDOR_CSTD::wcscspn; - --using __STL_VENDOR_CSTD::wcslen; --using __STL_VENDOR_CSTD::wcsncat; --using __STL_VENDOR_CSTD::wcsncmp; --using __STL_VENDOR_CSTD::wcsncpy; --using __STL_VENDOR_CSTD::wcspbrk; --using __STL_VENDOR_CSTD::wcschr; -+using _STLP_VENDOR_CSTD::wcslen; -+using _STLP_VENDOR_CSTD::wcsncat; -+using _STLP_VENDOR_CSTD::wcsncmp; -+using _STLP_VENDOR_CSTD::wcsncpy; -+using _STLP_VENDOR_CSTD::wcspbrk; -+using _STLP_VENDOR_CSTD::wcschr; - --using __STL_VENDOR_CSTD::wcsspn; --using __STL_VENDOR_CSTD::wcsxfrm; -+using _STLP_VENDOR_CSTD::wcsspn; -+using _STLP_VENDOR_CSTD::wcsxfrm; - - # endif - --# if !defined (__STL_WCHAR_BORLAND_EXCLUDE) -+# if !defined (_STLP_WCHAR_BORLAND_EXCLUDE) - --using __STL_VENDOR_CSTD::wcstod; --using __STL_VENDOR_CSTD::wcstol; -+using _STLP_VENDOR_CSTD::wcstod; -+using _STLP_VENDOR_CSTD::wcstol; - - # endif - --# if !( defined (__STL_WCHAR_SUNPRO_EXCLUDE) || defined(__STL_WCHAR_HPACC_EXCLUDE) ) -+# if !( defined (_STLP_WCHAR_SUNPRO_EXCLUDE) || defined(_STLP_WCHAR_HPACC_EXCLUDE) ) - --using __STL_VENDOR_CSTD::wcsstr; --using __STL_VENDOR_CSTD::wmemchr; -+using _STLP_VENDOR_CSTD::wcsstr; -+using _STLP_VENDOR_CSTD::wmemchr; - --# if !defined (__STL_WCHAR_BORLAND_EXCLUDE) -+# if !defined (_STLP_WCHAR_BORLAND_EXCLUDE) - --using __STL_VENDOR_CSTD::wctob; --using __STL_VENDOR_CSTD::wmemcmp; --using __STL_VENDOR_CSTD::wmemmove; --using __STL_VENDOR_CSTD::wprintf; --using __STL_VENDOR_CSTD::wscanf; -+using _STLP_VENDOR_CSTD::wctob; -+using _STLP_VENDOR_CSTD::wmemcmp; -+using _STLP_VENDOR_CSTD::wmemmove; -+using _STLP_VENDOR_CSTD::wprintf; -+using _STLP_VENDOR_CSTD::wscanf; - - # endif - --using __STL_VENDOR_CSTD::wmemcpy; --using __STL_VENDOR_CSTD::wmemset; -+using _STLP_VENDOR_CSTD::wmemcpy; -+using _STLP_VENDOR_CSTD::wmemset; - # endif - --# endif /* __STL_NO_NATIVE_WIDE_FUNCTIONS */ --__STL_END_NAMESPACE --# endif /* __STL_IMPORT_VENDOR_CSTD */ -- --# undef __STL_WCHAR_SUNPRO_EXCLUDE --# undef __STL_WCHAR_MSL_EXCLUDE -+# endif /* _STLP_NO_NATIVE_WIDE_FUNCTIONS */ -+_STLP_END_NAMESPACE -+# endif /* _STLP_IMPORT_VENDOR_CSTD */ - --# endif /* WINCE */ -+# undef _STLP_WCHAR_SUNPRO_EXCLUDE -+# undef _STLP_WCHAR_MSL_EXCLUDE - -- -- -- --#if !defined (__STL_NO_WCHAR_T) -+#if !defined (_STLP_NO_WCHAR_T) - # ifndef WCHAR_MIN - # define WCHAR_MIN 0 - // SUNpro has some bugs with casts. wchar_t is size of int there anyway. --# ifdef __SUNPRO_CC -+# if defined (__SUNPRO_CC) || defined (__DJGPP) - # define WCHAR_MAX (~0) - # else - # define WCHAR_MAX ((wchar_t)~0) -@@ -254,14 +304,10 @@ - # endif - #endif - --# if (__STL_OUTERMOST_HEADER_ID == 0x120) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x120) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __STLPORT_CWCHAR */ -- --// Local Variables: --// mode:C++ --// End: -+#endif /* _STLP_CWCHAR */ - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cwctype tripwire-2.3.1-2/src/STLport-4.0/stlport/cwctype ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/cwctype Sat Feb 24 10:44:22 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/cwctype Sun Aug 11 18:59:23 2002 -@@ -13,11 +13,11 @@ - * - */ - --#ifndef __STLPORT_CWCTYPE --# define __STLPORT_CWCTYPE -+#ifndef _STLP_CWCTYPE -+# define _STLP_CWCTYPE - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x121 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x121 - # include - # endif - -@@ -25,8 +25,8 @@ - # include - #endif - --# if defined (__STL_USE_NEW_C_HEADERS) --# include __STL_NATIVE_CPP_C_HEADER(cwctype) -+# if defined (_STLP_USE_NEW_C_HEADERS) -+# include _STLP_NATIVE_CPP_C_HEADER(cwctype) - # if defined (__MSL__) - namespace std { - typedef wchar_t wctrans_t; -@@ -34,47 +34,51 @@ - wctrans_t wctrans(const char *name); - } - # endif -+# elif defined(_STLP_WINCE) -+# include _STLP_NATIVE_C_HEADER(stdlib.h) - # else --# include __STL_NATIVE_C_HEADER(wctype.h) -+# include _STLP_NATIVE_C_HEADER(wctype.h) - # endif - --# ifdef __STL_IMPORT_VENDOR_CSTD --__STL_BEGIN_NAMESPACE --using __STL_VENDOR_CSTD::wctype_t; --using __STL_VENDOR_CSTD::wint_t; --# ifndef __STL_NO_CSTD_FUNCTION_IMPORTS -+# ifdef _STLP_IMPORT_VENDOR_CSTD -+_STLP_BEGIN_NAMESPACE -+using _STLP_VENDOR_CSTD::wctype_t; -+using _STLP_VENDOR_CSTD::wint_t; -+# ifndef _STLP_NO_CSTD_FUNCTION_IMPORTS - # if ! defined (__BORLANDC__) --using __STL_VENDOR_CSTD::wctrans_t; --using __STL_VENDOR_CSTD::towctrans; --using __STL_VENDOR_CSTD::wctrans; --using __STL_VENDOR_CSTD::wctype; --using __STL_VENDOR_CSTD::iswctype; -+# if ! defined ( _STLP_HAS_NO_UNIX98_WCHAR_EXTENSIONS ) -+using _STLP_VENDOR_CSTD::wctrans_t; -+using _STLP_VENDOR_CSTD::towctrans; -+using _STLP_VENDOR_CSTD::wctrans; -+# endif -+using _STLP_VENDOR_CSTD::wctype; -+using _STLP_VENDOR_CSTD::iswctype; - # endif --using __STL_VENDOR_CSTD::iswalnum; --using __STL_VENDOR_CSTD::iswalpha; --using __STL_VENDOR_CSTD::iswcntrl; -- --using __STL_VENDOR_CSTD::iswdigit; --using __STL_VENDOR_CSTD::iswgraph; --using __STL_VENDOR_CSTD::iswlower; --using __STL_VENDOR_CSTD::iswprint; --using __STL_VENDOR_CSTD::iswpunct; --using __STL_VENDOR_CSTD::iswspace; --using __STL_VENDOR_CSTD::iswupper; --using __STL_VENDOR_CSTD::iswxdigit; -- --using __STL_VENDOR_CSTD::towlower; --using __STL_VENDOR_CSTD::towupper; --# endif /* __STL_NO_CSTD_FUNCTION_IMPORTS */ --__STL_END_NAMESPACE --#endif /* __STL_IMPORT_VENDOR_CSTD */ -+using _STLP_VENDOR_CSTD::iswalnum; -+using _STLP_VENDOR_CSTD::iswalpha; -+using _STLP_VENDOR_CSTD::iswcntrl; -+ -+using _STLP_VENDOR_CSTD::iswdigit; -+using _STLP_VENDOR_CSTD::iswgraph; -+using _STLP_VENDOR_CSTD::iswlower; -+using _STLP_VENDOR_CSTD::iswprint; -+using _STLP_VENDOR_CSTD::iswpunct; -+using _STLP_VENDOR_CSTD::iswspace; -+using _STLP_VENDOR_CSTD::iswupper; -+using _STLP_VENDOR_CSTD::iswxdigit; -+ -+using _STLP_VENDOR_CSTD::towlower; -+using _STLP_VENDOR_CSTD::towupper; -+# endif /* _STLP_NO_CSTD_FUNCTION_IMPORTS */ -+_STLP_END_NAMESPACE -+#endif /* _STLP_IMPORT_VENDOR_CSTD */ - --# if (__STL_OUTERMOST_HEADER_ID == 0x121) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x121) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __STLPORT_CWCTYPE */ -+#endif /* _STLP_CWCTYPE */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/deque tripwire-2.3.1-2/src/STLport-4.0/stlport/deque ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/deque Sat Feb 24 10:44:22 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/deque Sun Aug 11 18:59:23 2002 -@@ -23,28 +23,28 @@ - * - */ - --#ifndef __SGI_STL_DEQUE --#define __SGI_STL_DEQUE -+#ifndef _STLP_DEQUE -+#define _STLP_DEQUE - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x22 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x22 - # include - # endif - --#ifndef __SGI_STL_INTERNAL_DEQUE_H -+#ifndef _STLP_INTERNAL_DEQUE_H - # include - #endif - --#if defined (__STL_WHOLE_NATIVE_STD) --# include __STL_NATIVE_HEADER(deque) -+#if defined (_STLP_WHOLE_VENDOR_STD) -+# include _STLP_NATIVE_HEADER(deque) - #endif - --# if (__STL_OUTERMOST_HEADER_ID == 0x22) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x22) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_DEQUE */ -+#endif /* _STLP_DEQUE */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/exception tripwire-2.3.1-2/src/STLport-4.0/stlport/exception ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/exception Sat Feb 24 10:44:22 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/exception Sun Aug 11 18:59:23 2002 -@@ -29,101 +29,123 @@ - // in , but it suffices to support a bare minimum of STL - // functionality. - --# if !defined (__STL_OUTERMOST_HEADER_ID) --# define __STL_OUTERMOST_HEADER_ID 0x423 -+# if !defined (_STLP_OUTERMOST_HEADER_ID) -+# define _STLP_OUTERMOST_HEADER_ID 0x423 - # include --# elif (__STL_OUTERMOST_HEADER_ID == 0x423) && ! defined (__STL_DONT_POP_0x423) --# define __STL_DONT_POP_0x423 -+# elif (_STLP_OUTERMOST_HEADER_ID == 0x423) && ! defined (_STLP_DONT_POP_0x423) -+# define _STLP_DONT_POP_0x423 - # endif - --# if ! defined (__STL_NO_EXCEPTION_HEADER) -+# if ! defined (_STLP_NO_EXCEPTION_HEADER) - --# if defined ( _UNCAUGHT_EXCEPTION ) --# undef __STL_INCOMPLETE_EXCEPTION_HEADER --# endif -+# if defined ( _UNCAUGHT_EXCEPTION ) -+# undef _STLP_INCOMPLETE_EXCEPTION_HEADER -+# endif - --# if defined (__GNUC__) && (__GNUC_MINOR__ >= 8 ) --# include <../include/exception> -+# if defined(_STLP_BROKEN_EXCEPTION_CLASS) -+# define exception _STLP_NULLIFIED_BROKEN_EXCEPTION_CLASS -+# define bad_exception _STLP_NULLIFIED_BROKEN_BAD_EXCEPTION_CLASS -+# if defined (_STLP_NO_NEW_NEW_HEADER) -+# include _STLP_NATIVE_CPP_RUNTIME_HEADER(Exception.h) - # else --# include __STL_NATIVE_HEADER(exception) -+# include _STLP_NATIVE_CPP_RUNTIME_HEADER(Exception) - # endif -+# undef exception -+# undef bad_exception -+# else -+ -+# if defined (_STLP_NO_NEW_NEW_HEADER) -+# include _STLP_NATIVE_CPP_RUNTIME_HEADER(exception.h) -+# else -+# include _STLP_NATIVE_CPP_RUNTIME_HEADER(exception) -+# endif -+ -+# endif -+ -+# if defined (_STLP_MSVC) || defined (__ICL) - // dwa 02/04/00 - here I'm assuming that __ICL uses the same library headers as vc6. - // the header which ships with vc6 and is included by its native - // actually turns on warnings, so we have to turn them back off. --# if defined (__STL_MSVC) || defined (__ICL) - # include - # endif - --# ifndef __STL_EXCEPTION_BASE --# define __STL_EXCEPTION_BASE __STL_VENDOR_EXCEPT_STD::exception -+# if !defined(_STLP_EXCEPTION_BASE) && !defined(_STLP_BROKEN_EXCEPTION_CLASS) -+# define _STLP_EXCEPTION_BASE _STLP_VENDOR_EXCEPT_STD::exception - # endif - --# ifdef __STL_USE_OWN_NAMESPACE -+# ifdef _STLP_USE_OWN_NAMESPACE - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - --using __STL_VENDOR_EXCEPT_STD::exception; --using __STL_VENDOR_EXCEPT_STD::bad_exception; -+#if !defined(_STLP_BROKEN_EXCEPTION_CLASS) -+using _STLP_VENDOR_EXCEPT_STD::exception; -+using _STLP_VENDOR_EXCEPT_STD::bad_exception; -+#endif - --# if ! defined (__STL_NO_USING_FOR_GLOBAL_FUNCTIONS) -+# if ! defined (_STLP_NO_USING_FOR_GLOBAL_FUNCTIONS) - - // fbp : many platforms present strange mix of - // those in various namespaces --# if !defined(__STL_VENDOR_UNEXPECTED_STD) --# define __STL_VENDOR_UNEXPECTED_STD __STL_VENDOR_EXCEPT_STD -+# if !defined(_STLP_VENDOR_UNEXPECTED_STD) -+# define _STLP_VENDOR_UNEXPECTED_STD _STLP_VENDOR_EXCEPT_STD - # endif - - // weird errors --# ifndef __BORLANDC__ --using __STL_VENDOR_UNEXPECTED_STD ::unexpected; --using __STL_VENDOR_UNEXPECTED_STD ::unexpected_handler; --using __STL_VENDOR_UNEXPECTED_STD ::set_unexpected; --using __STL_VENDOR_UNEXPECTED_STD ::terminate; --using __STL_VENDOR_UNEXPECTED_STD ::terminate_handler; --using __STL_VENDOR_UNEXPECTED_STD ::set_terminate; -+# if (! defined (__BORLANDC__)) || (defined (__STD_EXCEPTION) && defined (__RWSTD_EXCEPTION_SEEN) && defined ( _STLP_DONT_POP_0x423)) -+using _STLP_VENDOR_UNEXPECTED_STD::unexpected; -+using _STLP_VENDOR_UNEXPECTED_STD::unexpected_handler; -+using _STLP_VENDOR_UNEXPECTED_STD::set_unexpected; -+using _STLP_VENDOR_UNEXPECTED_STD::terminate; -+using _STLP_VENDOR_UNEXPECTED_STD::terminate_handler; -+using _STLP_VENDOR_UNEXPECTED_STD::set_terminate; - # endif - --# if !defined (__STL_INCOMPLETE_EXCEPTION_HEADER) --using __STL_VENDOR_UNEXPECTED_STD::uncaught_exception; -+# if !defined (_STLP_INCOMPLETE_EXCEPTION_HEADER) -+using _STLP_VENDOR_UNEXPECTED_STD::uncaught_exception; - # endif - - # endif - --__STL_END_NAMESPACE -- --# endif /* __STL_OWN_NAMESPACE */ -- --#else /* __STL_NO_EXCEPTION_HEADER */ -+_STLP_END_NAMESPACE - --# ifndef __SGI_STL_EXCEPTION_H --# define __SGI_STL_EXCEPTION_H -+# endif /* _STLP_OWN_NAMESPACE */ - --__STL_BEGIN_NAMESPACE -+#else /* _STLP_NO_EXCEPTION_HEADER */ - --// section 18.6 -- class exception; -- class bad_exception; -- - // fbp : absence of usually means that those - // functions are not going to be called by compiler. - // Still, define them for the user. -- typedef void (*unexpected_handler)(); -- unexpected_handler set_unexpected(unexpected_handler f) __STL_NOTHROW; -- void unexpected(); -- -- typedef void (*terminate_handler)(); -- terminate_handler set_terminate(terminate_handler f) __STL_NOTHROW; -- void terminate(); -- -- bool uncaught_exception(); // not implemented under mpw as of Jan/1999 -+typedef void (*unexpected_handler)(); -+unexpected_handler set_unexpected(unexpected_handler f) _STLP_NOTHROW_INHERENTLY; -+void unexpected(); -+ -+typedef void (*terminate_handler)(); -+terminate_handler set_terminate(terminate_handler f) _STLP_NOTHROW_INHERENTLY; -+void terminate(); -+ -+bool uncaught_exception(); // not implemented under mpw as of Jan/1999 -+ -+#endif /* _STLP_NO_EXCEPTION_HEADER */ -+ -+# if defined (_STLP_NO_EXCEPTION_HEADER) || defined(_STLP_BROKEN_EXCEPTION_CLASS) -+# ifndef _STLP_EXCEPTION_H -+# define _STLP_EXCEPTION_H -+ -+_STLP_BEGIN_NAMESPACE - - // section 18.6.1 - class exception - { - public: -- exception()__STL_NOTHROW {} -- virtual ~exception() __STL_NOTHROW {} -- virtual const char* what() const __STL_NOTHROW {return "class exception";} -+# ifdef _STLP_OWN_IOSTREAMS -+ exception() _STLP_NOTHROW; -+ virtual ~exception() _STLP_NOTHROW; -+ virtual const char* what() const _STLP_NOTHROW; -+# else -+ exception() _STLP_NOTHROW {} -+ virtual ~exception() _STLP_NOTHROW {} -+ virtual const char* what() const _STLP_NOTHROW {return "class exception";} -+# endif - }; - - -@@ -132,31 +154,40 @@ - class bad_exception : public exception - { - public: -- bad_exception() __STL_NOTHROW {} -- virtual ~bad_exception() __STL_NOTHROW {} -- virtual const char* what() const __STL_NOTHROW {return "class bad_exception";} -+# ifdef _STLP_OWN_IOSTREAMS -+ bad_exception() _STLP_NOTHROW; -+ ~bad_exception() _STLP_NOTHROW; -+ const char* what() const _STLP_NOTHROW; -+# else -+ bad_exception() _STLP_NOTHROW {} -+ ~bad_exception() _STLP_NOTHROW {} -+ const char* what() const _STLP_NOTHROW {return "class bad_exception";} -+# endif - }; - --# define __STL_EXCEPTION_BASE exception -+# define _STLP_EXCEPTION_BASE exception - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --#endif /* __STL_NO_EXCEPTION_HEADER */ -+#endif /* _STLP_NO_EXCEPTION_HEADER */ - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - // forward declaration - class __Named_exception; --__STL_END_NAMESPACE --#endif /* __SGI_STL_EXCEPTION_H */ -+_STLP_END_NAMESPACE -+#endif /* _STLP_EXCEPTION_H */ - --# if (__STL_OUTERMOST_HEADER_ID == 0x423) --# if ! defined (__STL_DONT_POP_0x423) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x423) -+# if ! defined (_STLP_DONT_POP_0x423) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif --# undef __STL_DONT_POP_0x423 -+# undef _STLP_DONT_POP_0x423 - # endif - - // Local Variables: - // mode:C++ - // End: -+ -+ -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/exception.h tripwire-2.3.1-2/src/STLport-4.0/stlport/exception.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/exception.h Sat Feb 24 10:44:22 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/exception.h Sun Aug 11 18:59:23 2002 -@@ -13,33 +13,33 @@ - * - */ - --#ifndef __STLPORT_OLDSTD_exception --# define __STLPORT_OLDSTD_exception -+#ifndef _STLP_OLDSTD_exception -+# define _STLP_OLDSTD_exception - --# if !defined (__STL_OUTERMOST_HEADER_ID) --# define __STL_OUTERMOST_HEADER_ID 0x824 -+# if !defined (_STLP_OUTERMOST_HEADER_ID) -+# define _STLP_OUTERMOST_HEADER_ID 0x824 - # include --# elif (__STL_OUTERMOST_HEADER_ID == 0x824) && ! defined (__STL_DONT_POP_0x824) --# define __STL_DONT_POP_0x824 -+# elif (_STLP_OUTERMOST_HEADER_ID == 0x824) && ! defined (_STLP_DONT_POP_0x824) -+# define _STLP_DONT_POP_0x824 - # endif - --# if defined (__GNUC__) && (__GNUC_MINOR__ >= 8 ) --# include <../include/exception.h> --# elif defined (__BORLANDC__) -+# if defined (__BORLANDC__) - # include -+# elif defined (_MSC_VER) -+# include - # else --# include __STL_NATIVE_HEADER(exception.h) -+# include _STLP_NATIVE_CPP_RUNTIME_HEADER(exception.h) - # endif - --# if (__STL_OUTERMOST_HEADER_ID == 0x824) --# if ! defined (__STL_DONT_POP_0x824) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x824) -+# if ! defined (_STLP_DONT_POP_0x824) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif --# undef __STL_DONT_POP_0x824 -+# undef _STLP_DONT_POP_0x824 - # endif - --#endif /* __STLPORT_OLDSTD_exception */ -+#endif /* _STLP_OLDSTD_exception */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/export tripwire-2.3.1-2/src/STLport-4.0/stlport/export ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/export Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/export Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,85 @@ -+./algorithm -+./bitset -+./cassert -+./cctype -+./cerrno -+./cfloat -+./climits -+./clocale -+./cmath -+./complex -+./csetjmp -+./csignal -+./cstdarg -+./cstddef -+./cstdio -+./cstdlib -+./cstring -+./ctime -+./ctype.h -+./cwchar -+./cwctype -+./deque -+./exception -+./exception.h -+./export -+./fstream -+./fstream.h -+./functional -+./hash_map -+./hash_set -+./iomanip -+./iomanip.h -+./ios -+./ios.h -+./iosfwd -+./iostream -+./iostream.h -+./istream -+./istream.h -+./iterator -+./limits -+./list -+./locale -+./locale.h -+./map -+./math.h -+./mem.h -+./memory -+./mmemory.h -+./new -+./new.h -+./numeric -+./ostream -+./ostream.h -+./pthread.h -+./pthread_alloc -+./queue -+./rope -+./set -+./setjmp.h -+./signal.h -+./slist -+./sstream -+./stack -+./stdarg.h -+./stddef.h -+./stdexcept -+./stdio.h -+./stdio_streambuf -+./stdlib.h -+./stl_user_config.h -+./streambuf -+./streambuf.h -+./string -+./string.h -+./strstream -+./strstream.h -+./time.h -+./typeinfo -+./typeinfo.h -+./utility -+./valarray -+./vector -+./wchar.h -+./wctype.h -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/export.sun tripwire-2.3.1-2/src/STLport-4.0/stlport/export.sun ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/export.sun Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/export.sun Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,48 @@ -+./algorithm.SUNWCCh -+./bitset.SUNWCCh -+./complex.SUNWCCh -+./deque.SUNWCCh -+./exception.SUNWCCh -+./fstream.SUNWCCh -+./fstream.h.SUNWCCh -+./functional.SUNWCCh -+./hash_map.SUNWCCh -+./hash_set.SUNWCCh -+./iomanip.SUNWCCh -+./iomanip.h.SUNWCCh -+./ios.SUNWCCh -+./ios.h.SUNWCCh -+./iosfwd.SUNWCCh -+./iostream.SUNWCCh -+./iostream.h.SUNWCCh -+./istream.SUNWCCh -+./istream.h.SUNWCCh -+./iterator.SUNWCCh -+./limits.SUNWCCh -+./list.SUNWCCh -+./locale.SUNWCCh -+./map.SUNWCCh -+./memory.SUNWCCh -+./new.SUNWCCh -+./numeric.SUNWCCh -+./ostream.SUNWCCh -+./ostream.h.SUNWCCh -+./pthread_alloc.SUNWCCh -+./queue.SUNWCCh -+./set.SUNWCCh -+./slist.SUNWCCh -+./sstream.SUNWCCh -+./stack.SUNWCCh -+./stdexcept.SUNWCCh -+./streambuf.SUNWCCh -+./streambuf.h.SUNWCCh -+./string.SUNWCCh -+./strstream.SUNWCCh -+./strstream.h.SUNWCCh -+./typeinfo.SUNWCCh -+./utility.SUNWCCh -+./valarray.SUNWCCh -+./vector.SUNWCCh -+ -+ -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/fstream tripwire-2.3.1-2/src/STLport-4.0/stlport/fstream ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/fstream Sat Feb 24 10:44:22 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/fstream Sun Aug 11 18:59:23 2002 -@@ -21,30 +21,35 @@ - // basic_ofstream, and basic_fstream. These classes represent - // streambufs and streams whose sources or destinations are files. - --#ifndef __SGI_STL_FSTREAM --#define __SGI_STL_FSTREAM -+#ifndef _STLP_FSTREAM -+#define _STLP_FSTREAM - --# if defined(__sgi) && !defined(__GNUC__) && !defined(_STANDARD_C_PLUS_PLUS) --# error New-style iostreams header files require the -LANG:std option --# endif -- --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x1025 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x1025 - # include - # endif - --# if defined (__SGI_STL_OWN_IOSTREAMS) -+# if defined (_STLP_OWN_IOSTREAMS) - # include --# elif !defined(__STL_USE_NO_IOSTREAMS) -+ -+# ifndef __LOCALE_INITIALIZED -+# define __LOCALE_INITIALIZED -+_STLP_BEGIN_NAMESPACE -+// Global initializer object, to ensure construction of static objects. -+static ios_base::_Loc_init _LocInit; -+_STLP_END_NAMESPACE -+# endif -+ -+# elif !defined(_STLP_USE_NO_IOSTREAMS) - # include - # endif - --# if (__STL_OUTERMOST_HEADER_ID == 0x1025) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x1025) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_FSTREAM */ -+#endif /* _STLP_FSTREAM */ - - - // Local Variables: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/fstream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/fstream.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/fstream.h Sat Feb 24 10:44:22 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/fstream.h Sun Aug 11 18:59:23 2002 -@@ -13,33 +13,43 @@ - * - */ - --#ifndef __STLPORT_FSTREAM_H --# define __STLPORT_FSTREAM_H -+#ifndef _STLP_FSTREAM_H -+# define _STLP_FSTREAM_H - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x2026 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x2026 - # include - # endif - --# if defined (__SGI_STL_OWN_IOSTREAMS) -+# if defined (_STLP_OWN_IOSTREAMS) -+#ifdef __BORLANDC__ -+# include -+#else - # include -+#endif - // get desired pollution - # include - --# ifndef __STL_HAS_NO_NAMESPACES -+# ifndef __LOCALE_INITIALIZED -+# define __LOCALE_INITIALIZED -+// Global initializer object, to ensure initialization of locale subsystem. -+static ios_base::_Loc_init _LocInit; -+# endif -+ -+# ifndef _STLP_HAS_NO_NAMESPACES - # include - # endif - --# elif ! defined (__STL_USE_NO_IOSTREAMS) -+# elif ! defined (_STLP_USE_NO_IOSTREAMS) - # include - # endif - --# if (__STL_OUTERMOST_HEADER_ID == 0x2026) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x2026) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __STLPORT_FSTREAM_H */ -+#endif /* _STLP_FSTREAM_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/functional tripwire-2.3.1-2/src/STLport-4.0/stlport/functional ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/functional Sat Feb 24 10:44:22 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/functional Sun Aug 11 18:59:23 2002 -@@ -16,28 +16,28 @@ - * - */ - --#ifndef __SGI_STL_FUNCTIONAL --#define __SGI_STL_FUNCTIONAL -+#ifndef _STLP_FUNCTIONAL -+#define _STLP_FUNCTIONAL - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x27 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x27 - # include - # endif - --# if defined (__STL_IMPORT_VENDOR_STD) --# include __STL_NATIVE_HEADER(functional) -+# if defined (_STLP_IMPORT_VENDOR_STD) -+# include _STLP_NATIVE_HEADER(functional) - # endif - --# ifndef __STL_INTERNAL_FUNCTION_H -+# ifndef _STLP_INTERNAL_FUNCTION_H - # include - # endif - --# if (__STL_OUTERMOST_HEADER_ID == 0x27) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x27) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_FUNCTIONAL */ -+#endif /* _STLP_FUNCTIONAL */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/hash_map tripwire-2.3.1-2/src/STLport-4.0/stlport/hash_map ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/hash_map Sat Feb 24 10:44:22 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/hash_map Sun Aug 11 18:59:23 2002 -@@ -16,25 +16,22 @@ - * - */ - --#ifndef __SGI_STL_HASH_MAP --#define __SGI_STL_HASH_MAP -+#ifndef _STLP_HASH_MAP -+#define _STLP_HASH_MAP - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x4028 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x4028 - # include - # endif - --#ifndef __SGI_STL_INTERNAL_HASHTABLE_H --#include --#endif -- - #include --# if (__STL_OUTERMOST_HEADER_ID == 0x4028) -+ -+# if (_STLP_OUTERMOST_HEADER_ID == 0x4028) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_HASH_MAP */ -+#endif /* _STLP_HASH_MAP */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/hash_set tripwire-2.3.1-2/src/STLport-4.0/stlport/hash_set ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/hash_set Sat Feb 24 10:44:22 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/hash_set Sun Aug 11 18:59:23 2002 -@@ -16,26 +16,22 @@ - * - */ - --#ifndef __SGI_STL_HASH_SET --#define __SGI_STL_HASH_SET -+#ifndef _STLP_HASH_SET -+#define _STLP_HASH_SET - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x4029 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x4029 - # include - # endif - --#ifndef __SGI_STL_INTERNAL_HASHTABLE_H --#include --#endif -+#include - --# if (__STL_OUTERMOST_HEADER_ID == 0x4029) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x4029) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#include -- --#endif /* __SGI_STL_HASH_SET */ -+#endif /* _STLP_HASH_SET */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/iomanip tripwire-2.3.1-2/src/STLport-4.0/stlport/iomanip ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/iomanip Sat Feb 24 10:44:23 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/iomanip Sun Aug 11 18:59:23 2002 -@@ -16,23 +16,19 @@ - * - */ - --#ifndef __SGI_STL_IOMANIP --#define __SGI_STL_IOMANIP -+#ifndef _STLP_IOMANIP -+#define _STLP_IOMANIP - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x1030 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x1030 - # include - # endif - --# if defined ( __SGI_STL_OWN_IOSTREAMS ) -+# if defined ( _STLP_OWN_IOSTREAMS ) - --# if defined(__sgi) && !defined(__GNUC__) && !defined(_STANDARD_C_PLUS_PLUS) --# error This header file requires the -LANG:std option --# endif -+# include // Includes and - --# include // Includes and -- --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - //---------------------------------------------------------------------- - // Machinery for defining manipulators. -@@ -78,7 +74,7 @@ - - - template --inline basic_istream<_CharT, _Traits>& __STL_CALL -+inline basic_istream<_CharT, _Traits>& _STLP_CALL - operator>>(basic_istream<_CharT, _Traits>& __in, - const _Ios_Manip_1<_Arg>& __f) - { -@@ -87,7 +83,7 @@ - } - - template --inline basic_ostream<_CharT, _Traits>& __STL_CALL -+inline basic_ostream<_CharT, _Traits>& _STLP_CALL - operator<<(basic_ostream<_CharT, _Traits>& __os, - const _Ios_Manip_1<_Arg>& __f) - { -@@ -96,7 +92,7 @@ - } - - template --inline basic_istream<_CharT, _Traits>& __STL_CALL -+inline basic_istream<_CharT, _Traits>& _STLP_CALL - operator>>(basic_istream<_CharT, _Traits>& __in, const _Ios_Setf_Manip& __f) - { - __f(__in); -@@ -104,7 +100,7 @@ - } - - template --inline basic_ostream<_CharT, _Traits>& __STL_CALL -+inline basic_ostream<_CharT, _Traits>& _STLP_CALL - operator<<(basic_ostream<_CharT, _Traits>& __os, const _Ios_Setf_Manip& __f) - - { -@@ -115,15 +111,15 @@ - //---------------------------------------------------------------------- - // The ios_base manipulators. - --inline _Ios_Setf_Manip __STL_CALL resetiosflags(ios_base::fmtflags __mask) { -+inline _Ios_Setf_Manip _STLP_CALL resetiosflags(ios_base::fmtflags __mask) { - return _Ios_Setf_Manip(0, __mask); - } - --inline _Ios_Setf_Manip __STL_CALL setiosflags(ios_base::fmtflags __flag) { -+inline _Ios_Setf_Manip _STLP_CALL setiosflags(ios_base::fmtflags __flag) { - return _Ios_Setf_Manip(__flag); - } - --inline _Ios_Setf_Manip __STL_CALL setbase(int __n) { -+inline _Ios_Setf_Manip _STLP_CALL setbase(int __n) { - ios_base::fmtflags __base = __n == 8 ? ios_base::oct : - __n == 10 ? ios_base::dec : - __n == 16 ? ios_base::hex : -@@ -131,24 +127,15 @@ - return _Ios_Setf_Manip(__base, ios_base::basefield); - } - --inline _Ios_Manip_1 __STL_CALL -+inline _Ios_Manip_1 _STLP_CALL - setprecision(int __n) { -- //*TY 02/24/2000 - mpw compilers have difficulty resolving overloaded function when assigning a pointer to function --#if !(defined(__MRC__) || defined(__SC__)) - _Ios_Manip_1::__f_ptr_type __f = &ios_base::precision; --#else -- _Ios_Manip_1::__f_ptr_type __f = &ios_base::_PRECISION; --#endif - return _Ios_Manip_1(__f, __n); - } - --inline _Ios_Manip_1 __STL_CALL -+inline _Ios_Manip_1 _STLP_CALL - setw(int __n) { --#if !(defined(__MRC__) || defined(__SC__)) -- _Ios_Manip_1::__f_ptr_type __f = &ios_base::width; --#else -- _Ios_Manip_1::__f_ptr_type __f = &ios_base::_WIDTH; --#endif -+ _Ios_Manip_1::__f_ptr_type __f = &ios_base::width; - return _Ios_Manip_1(__f, __n); - } - -@@ -162,7 +149,7 @@ - }; - - template --inline basic_ostream<_CharT, _Traits>& __STL_CALL -+inline basic_ostream<_CharT, _Traits>& _STLP_CALL - operator<<(basic_ostream<_CharT, _Traits>& __os, - const _Setfill_Manip<_CharT2>& __m) - { -@@ -170,24 +157,33 @@ - return __os; - } - -+template -+inline basic_istream<_CharT, _Traits>& _STLP_CALL -+operator>>(basic_istream<_CharT, _Traits>& __is, -+ const _Setfill_Manip<_CharT2>& __m) -+{ -+ __is.fill(__m._M_c); -+ return __is; -+} -+ - template --inline _Setfill_Manip<_CharT> __STL_CALL -+inline _Setfill_Manip<_CharT> _STLP_CALL - setfill(_CharT __c) { - return _Setfill_Manip<_CharT>(__c); - } - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --# elif !defined (__STL_USE_NO_IOSTREAMS) -+# elif !defined (_STLP_USE_NO_IOSTREAMS) - # include - # endif - --# if (__STL_OUTERMOST_HEADER_ID == 0x1030) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x1030) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_IOMANIP */ -+#endif /* _STLP_IOMANIP */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/iomanip.h tripwire-2.3.1-2/src/STLport-4.0/stlport/iomanip.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/iomanip.h Sat Feb 24 10:44:23 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/iomanip.h Sun Aug 11 18:59:23 2002 -@@ -13,49 +13,56 @@ - * - */ - --#ifndef __STLPORT_IOMANIP_H --# define __STLPORT_IOMANIP_H -+#ifndef _STLP_IOMANIP_H -+# define _STLP_IOMANIP_H - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x2031 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x2031 - # include - # endif - --# if defined ( __SGI_STL_OWN_IOSTREAMS ) -+# if defined ( _STLP_OWN_IOSTREAMS ) - -+#ifdef __BORLANDC__ -+# include -+#else - # include -+#endif - --# ifndef __STL_HAS_NO_NAMESPACES --# ifdef __STL_BROKEN_USING_DIRECTIVE --using namespace __STLPORT_STD; -+# ifndef _STLP_HAS_NO_NAMESPACES -+# ifdef _STLP_BROKEN_USING_DIRECTIVE -+using namespace _STLP_STD; - # else --using __STLPORT_STD::setiosflags; --using __STLPORT_STD::resetiosflags; --using __STLPORT_STD::setbase; --using __STLPORT_STD::setfill; --using __STLPORT_STD::setprecision; --using __STLPORT_STD::setw; -+using _STLP_STD::setiosflags; -+using _STLP_STD::resetiosflags; -+using _STLP_STD::setbase; -+using _STLP_STD::setfill; -+using _STLP_STD::setprecision; -+using _STLP_STD::setw; - # endif --# endif /* __STL_HAS_NO_NAMESPACES */ -+# endif /* _STLP_HAS_NO_NAMESPACES */ - --# elif !defined (__STL_USE_NO_IOSTREAMS) -+// get all the pollution we want -+# include - --# include __STL_NATIVE_OLD_STREAMS_HEADER(iomanip.h) -+# elif !defined (_STLP_USE_NO_IOSTREAMS) - --# if defined (__STL_USE_NAMESPACES) && ! defined (__STL_BROKEN_USING_DIRECTIVE) --__STL_BEGIN_NAMESPACE -+# include _STLP_NATIVE_OLD_STREAMS_HEADER(iomanip.h) -+ -+# if defined (_STLP_USE_NAMESPACES) && ! defined (_STLP_BROKEN_USING_DIRECTIVE) -+_STLP_BEGIN_NAMESPACE - # include --__STL_END_NAMESPACE --# endif /* __STL_USE_NAMESPACES */ -+_STLP_END_NAMESPACE -+# endif /* _STLP_USE_NAMESPACES */ - - # endif - --# if (__STL_OUTERMOST_HEADER_ID == 0x2031) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x2031) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __STLPORT_IOMANIP_H */ -+#endif /* _STLP_IOMANIP_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/ios tripwire-2.3.1-2/src/STLport-4.0/stlport/ios ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/ios Sat Feb 24 10:44:23 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/ios Sun Aug 11 18:59:23 2002 -@@ -16,26 +16,26 @@ - * - */ - --#ifndef __SGI_STL_IOS --#define __SGI_STL_IOS -+#ifndef _STLP_IOS -+#define _STLP_IOS - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x1032 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x1032 - # include - # endif - --# if defined ( __SGI_STL_OWN_IOSTREAMS ) -+# if defined ( _STLP_OWN_IOSTREAMS ) - # include --# elif !defined (__STL_USE_NO_IOSTREAMS) -+# elif !defined (_STLP_USE_NO_IOSTREAMS) - # include - # endif - --# if (__STL_OUTERMOST_HEADER_ID == 0x1032) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x1032) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_IOS */ -+#endif /* _STLP_IOS */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/ios.h tripwire-2.3.1-2/src/STLport-4.0/stlport/ios.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/ios.h Sat Feb 24 10:44:23 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/ios.h Sun Aug 11 18:59:23 2002 -@@ -13,39 +13,43 @@ - * - */ - --#ifndef __STLPORT_IOS_H --# define __STLPORT_IOS_H -+#ifndef _STLP_IOS_H -+# define _STLP_IOS_H - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x1033 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x1033 - # include - # endif - --# if defined (__SGI_STL_OWN_IOSTREAMS) -+# if defined (_STLP_OWN_IOSTREAMS) - -+#ifdef __BORLANDC__ -+# include -+#else - # include -+#endif - --# if defined (__STL_USE_NAMESPACES) -+# if defined (_STLP_USE_NAMESPACES) - # include - # endif - --# elif !defined (__STL_USE_NO_IOSTREAMS) -+# elif !defined (_STLP_USE_NO_IOSTREAMS) - --# include __STL_NATIVE_OLD_STREAMS_HEADER(ios.h) --# if defined (__STL_USE_NAMESPACES) && !defined (__STL_BROKEN_USING_DIRECTIVE) --__STL_BEGIN_NAMESPACE --using __STL_OLD_IO_NAMESPACE::ios; --__STL_END_NAMESPACE --# endif /* __STL_USE_OWN_NAMESPACE */ -+# include _STLP_NATIVE_OLD_STREAMS_HEADER(ios.h) -+# if defined (_STLP_USE_NAMESPACES) && !defined (_STLP_BROKEN_USING_DIRECTIVE) -+_STLP_BEGIN_NAMESPACE -+using _STLP_OLD_IO_NAMESPACE::ios; -+_STLP_END_NAMESPACE -+# endif /* _STLP_USE_OWN_NAMESPACE */ - - # endif - --# if (__STL_OUTERMOST_HEADER_ID == 0x1033) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x1033) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __STLPORT_IOS_H */ -+#endif /* _STLP_IOS_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/iosfwd tripwire-2.3.1-2/src/STLport-4.0/stlport/iosfwd ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/iosfwd Sat Feb 24 10:44:23 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/iosfwd Sun Aug 11 18:59:23 2002 -@@ -16,42 +16,42 @@ - * - */ - --#ifndef __SGI_STL_IOSFWD --#define __SGI_STL_IOSFWD -+#ifndef _STLP_IOSFWD -+#define _STLP_IOSFWD - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x1034 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x1034 - # include - # endif - --#if defined(__sgi) && !defined(__GNUC__) && !defined(_STANDARD_C_PLUS_PLUS) --#error This header file requires the -LANG:std option --#endif -+# if defined (_STLP_OWN_IOSTREAMS) - --# if defined (__SGI_STL_OWN_IOSTREAMS) -+# if defined (_STLP_HAS_WCHAR_T) && !defined (_STLP_CWCHAR) -+# include -+# endif - - # include - --# elif defined (__STL_USE_NO_IOSTREAMS) -+# elif defined (_STLP_USE_NO_IOSTREAMS) - - # include - - # else - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - template class allocator; --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - - # include - - # endif - --# if (__STL_OUTERMOST_HEADER_ID == 0x1034) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x1034) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_IOSFWD */ -+#endif /* _STLP_IOSFWD */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/iostream tripwire-2.3.1-2/src/STLport-4.0/stlport/iostream ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/iostream Sat Feb 24 10:44:23 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/iostream Sun Aug 11 18:59:23 2002 -@@ -16,25 +16,29 @@ - * - */ - --#ifndef __SGI_STL_IOSTREAM --#define __SGI_STL_IOSTREAM -+#ifndef _STLP_IOSTREAM -+#define _STLP_IOSTREAM - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID ZZ -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x1037 - # include - # endif - --#if defined(__sgi) && !defined(__GNUC__) && !defined(_STANDARD_C_PLUS_PLUS) --#error This header file requires the -LANG:std option --#endif -+# if defined (_STLP_OWN_IOSTREAMS) - --# if defined (__SGI_STL_OWN_IOSTREAMS) -+#include -+#include - --#include --#include --#include -+_STLP_BEGIN_NAMESPACE - --__STL_BEGIN_NAMESPACE -+#ifndef _STLP_USE_NAMESPACES -+// in case of SGI iostreams, we have to rename our streams not to clash with those -+// provided in native lib -+# define cin _STLP_cin -+# define cout _STLP_cout -+# define cerr _STLP_cerr -+# define clog _STLP_clog -+#endif - - // Note: cin and wcin are both associated with stdio. The C standard - // (Amendment 1, section 4.6.2.1) says that it is an error to mix -@@ -43,27 +47,33 @@ - // program; the same applies to cout and wcout, and cerr/clog and - // wcerr/wclog. - --extern __STL_DECLSPEC istream cin; --extern __STL_DECLSPEC ostream cout; --extern __STL_DECLSPEC ostream cerr; --extern __STL_DECLSPEC ostream clog; -- --# ifndef __STL_NO_WCHAR_T --extern __STL_DECLSPEC wistream wcin; --extern __STL_DECLSPEC wostream wcout; --extern __STL_DECLSPEC wostream wcerr; --extern __STL_DECLSPEC wostream wclog; -+extern _STLP_DECLSPEC istream cin; -+extern _STLP_DECLSPEC ostream cout; -+extern _STLP_DECLSPEC ostream cerr; -+extern _STLP_DECLSPEC ostream clog; -+ -+# ifndef _STLP_NO_WCHAR_T -+extern _STLP_DECLSPEC wistream wcin; -+extern _STLP_DECLSPEC wostream wcout; -+extern _STLP_DECLSPEC wostream wcerr; -+extern _STLP_DECLSPEC wostream wclog; -+# endif -+ -+# ifndef __LOCALE_INITIALIZED -+# define __LOCALE_INITIALIZED -+// Global initializer object, to ensure initialization of locale subsystem. -+static ios_base::_Loc_init _LocInit; - # endif - - # ifndef __IOS_BASE_INITIALIZED - # define __IOS_BASE_INITIALIZED - // Global initializer object, to ensure construction of static objects. --static ios_base::Init __initializer; -+static ios_base::Init _IosInit; - # endif - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --# elif defined ( __STL_USE_NO_IOSTREAMS ) -+# elif defined ( _STLP_USE_NO_IOSTREAMS ) - # include - # else - -@@ -71,12 +81,12 @@ - - # endif /* STL_USE_NO_IOSTREAMS */ - --# if (__STL_OUTERMOST_HEADER_ID == ZZ) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x1037) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_IOSTREAM */ -+#endif /* _STLP_IOSTREAM */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/iostream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/iostream.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/iostream.h Sat Feb 24 10:44:23 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/iostream.h Sun Aug 11 18:59:23 2002 -@@ -13,45 +13,48 @@ - * - */ - --#ifndef __STLPORT_IOSTREAM_H --# define __STLPORT_IOSTREAM_H -+#ifndef _STLP_IOSTREAM_H -+# define _STLP_IOSTREAM_H - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x2035 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x2035 - # include - # endif - --# ifdef __SGI_STL_OWN_IOSTREAMS -+# ifdef _STLP_OWN_IOSTREAMS - -+#ifdef __BORLANDC__ -+# include -+#else - # include -+#endif - - // Those should be included all separately, as they do contain using declarations - # include - # include - # include - -+# ifndef _STLP_HAS_NO_NAMESPACES - --# ifndef __STL_HAS_NO_NAMESPACES -- --# ifdef __STL_BROKEN_USING_DIRECTIVE --using namespace __STLPORT_STD; -+# ifdef _STLP_BROKEN_USING_DIRECTIVE -+using namespace _STLP_STD; - # else --using __STLPORT_STD::cin; --using __STLPORT_STD::cout; --using __STLPORT_STD::clog; --using __STLPORT_STD::cerr; --using __STLPORT_STD::iostream; -- --# ifndef __STL_NO_WCHAR_T --using __STLPORT_STD::wcin; --using __STLPORT_STD::wcout; --using __STLPORT_STD::wclog; --using __STLPORT_STD::wcerr; -+using _STLP_STD::cin; -+using _STLP_STD::cout; -+using _STLP_STD::clog; -+using _STLP_STD::cerr; -+using _STLP_STD::iostream; -+ -+# ifndef _STLP_NO_WCHAR_T -+using _STLP_STD::wcin; -+using _STLP_STD::wcout; -+using _STLP_STD::wclog; -+using _STLP_STD::wcerr; - # endif - - # endif - --# endif /* __STL_HAS_NO_NAMESPACES */ -+# endif /* _STLP_HAS_NO_NAMESPACES */ - - // Obsolete classes for old-style backwards compatibility - -@@ -100,16 +103,16 @@ - } - } ; - --# elif ! defined (__STL_USE_NO_IOSTREAMS) -+# elif ! defined (_STLP_USE_NO_IOSTREAMS) - # include - # endif - --# if (__STL_OUTERMOST_HEADER_ID == 0x2035) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x2035) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __STLPORT_IOSTREAM_H */ -+#endif /* _STLP_IOSTREAM_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/istream tripwire-2.3.1-2/src/STLport-4.0/stlport/istream ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/istream Sat Feb 24 10:44:23 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/istream Sun Aug 11 18:59:23 2002 -@@ -16,37 +16,33 @@ - * - */ - --#ifndef __SGI_STL_ISTREAM --#define __SGI_STL_ISTREAM -+#ifndef _STLP_ISTREAM -+#define _STLP_ISTREAM - --#if defined(__sgi) && !defined(__GNUC__) && !defined(_STANDARD_C_PLUS_PLUS) --#error This header file requires the -LANG:std option --#endif -- --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x1036 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x1036 - # include - # endif - --# if defined (__SGI_STL_OWN_IOSTREAMS) -+# if defined (_STLP_OWN_IOSTREAMS) - - // boris : apparently, needed to resolve some - // circular dependancies --# include -+// # include - # include - --# elif !defined(__STL_USE_NO_IOSTREAMS) -+# elif !defined(_STLP_USE_NO_IOSTREAMS) - - # include - - # endif - --# if (__STL_OUTERMOST_HEADER_ID == 0x1036) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x1036) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_ISTREAM */ -+#endif /* _STLP_ISTREAM */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/istream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/istream.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/istream.h Sat Feb 24 10:44:23 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/istream.h Sun Aug 11 18:59:23 2002 -@@ -13,50 +13,51 @@ - * - */ - --#ifndef __STLPORT_ISTREAM_H --# define __STLPORT_ISTREAM_H -+#ifndef _STLP_ISTREAM_H -+# define _STLP_ISTREAM_H - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x2037 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x2037 - # include - # endif - --# if defined (__SGI_STL_OWN_IOSTREAMS) -+# if defined (_STLP_OWN_IOSTREAMS) - - # include - --# ifndef __STL_HAS_NO_NAMESPACES --# ifdef __STL_BROKEN_USING_DIRECTIVE --using namespace __STLPORT_STD; -+# ifndef _STLP_HAS_NO_NAMESPACES -+# ifdef _STLP_BROKEN_USING_DIRECTIVE -+using namespace _STLP_STD; - # else --using __STLPORT_STD::basic_istream; --using __STLPORT_STD::basic_iostream; --using __STLPORT_STD::istream; --using __STLPORT_STD::iostream; --# ifndef __STL_NO_WCHAR_T --using __STLPORT_STD::wistream; --using __STLPORT_STD::wiostream; -+using _STLP_STD::basic_istream; -+using _STLP_STD::basic_iostream; -+using _STLP_STD::istream; -+using _STLP_STD::iostream; -+using _STLP_STD::ios; -+# ifndef _STLP_NO_WCHAR_T -+using _STLP_STD::wistream; -+using _STLP_STD::wiostream; - # endif --using __STLPORT_STD::ws; -+using _STLP_STD::ws; - # endif - # endif - --# elif !defined (__STL_USE_NO_IOSTREAMS) -+# elif !defined (_STLP_USE_NO_IOSTREAMS) - --# include __STL_NATIVE_OLD_STREAMS_HEADER(istream.h) -+# include _STLP_NATIVE_OLD_STREAMS_HEADER(istream.h) - --# if defined (__STL_USE_NAMESPACES) && !defined (__STL_BROKEN_USING_DIRECTIVE) --__STL_BEGIN_NAMESPACE --using __STL_OLD_IO_NAMESPACE::istream; --__STL_END_NAMESPACE --# endif /* __STL_USE_OWN_NAMESPACE */ -+# if defined (_STLP_USE_NAMESPACES) && !defined (_STLP_BROKEN_USING_DIRECTIVE) -+_STLP_BEGIN_NAMESPACE -+using _STLP_OLD_IO_NAMESPACE::istream; -+_STLP_END_NAMESPACE -+# endif /* _STLP_USE_OWN_NAMESPACE */ - --# endif /* __SGI_STL_OWN_IOSTREAMS */ -+# endif /* _STLP_OWN_IOSTREAMS */ - --# if (__STL_OUTERMOST_HEADER_ID == 0x2037) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x2037) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __STLPORT_ISTREAM_H */ -+#endif /* _STLP_ISTREAM_H */ - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/iterator tripwire-2.3.1-2/src/STLport-4.0/stlport/iterator ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/iterator Sat Feb 24 10:44:23 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/iterator Sun Aug 11 18:59:23 2002 -@@ -23,32 +23,32 @@ - * - */ - --#ifndef __SGI_STL_ITERATOR --#define __SGI_STL_ITERATOR -+#ifndef _STLP_ITERATOR -+#define _STLP_ITERATOR - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x38 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x38 - # include - # endif - --# ifndef __SGI_STL_INTERNAL_ITERATOR_H -+#if defined (_STLP_IMPORT_VENDOR_STD) -+# include _STLP_NATIVE_HEADER(iterator) -+#endif /* IMPORT */ -+ -+# ifndef _STLP_INTERNAL_ITERATOR_H - # include - # endif - --# ifndef __SGI_STL_INTERNAL_STREAM_ITERATOR_H -+# ifndef _STLP_INTERNAL_STREAM_ITERATOR_H - # include - # endif - --#if defined (__STL_IMPORT_VENDOR_STD) --# include __STL_NATIVE_HEADER(iterator) --#endif /* IMPORT */ -- --# if (__STL_OUTERMOST_HEADER_ID == 0x38) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x38) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_ITERATOR */ -+#endif /* _STLP_ITERATOR */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/limits tripwire-2.3.1-2/src/STLport-4.0/stlport/limits ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/limits Sat Feb 24 10:44:23 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/limits Sun Aug 11 18:59:23 2002 -@@ -16,38 +16,24 @@ - * - */ - --#ifndef __STLPORT_LIMITS --#define __STLPORT_LIMITS -+#ifndef _STLP_LIMITS -+#define _STLP_LIMITS - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x39 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x39 - # include - # endif - --#ifndef __STLPORT_CLIMITS --# include --#endif -- --#ifndef __STLPORT_CFLOAT --# include --#endif -- --#if !defined (__STL_NO_WCHAR_T) --# include --#endif -- --# include -- --# ifdef __STL_WHOLE_NATIVE_STD --# include __STL_NATIVE_HEADER(limits) -+# ifndef _STLP_LIMITS_H -+# include - # endif - --# if (__STL_OUTERMOST_HEADER_ID == 0x39) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x39) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_CPP_LIMITS */ -+#endif /* _STLP_LIMITS */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/list tripwire-2.3.1-2/src/STLport-4.0/stlport/list ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/list Sat Feb 24 10:44:23 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/list Sun Aug 11 18:59:23 2002 -@@ -23,28 +23,28 @@ - * - */ - --#ifndef __SGI_STL_LIST --#define __SGI_STL_LIST -+#ifndef _STLP_LIST -+#define _STLP_LIST - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x40 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x40 - # include - # endif - --#ifndef __SGI_STL_INTERNAL_LIST_H -+#ifndef _STLP_INTERNAL_LIST_H - # include - #endif - --#if defined (__STL_WHOLE_NATIVE_STD) --# include __STL_NATIVE_HEADER(list) --# endif -+#if defined (_STLP_WHOLE_VENDOR_STD) -+# include _STLP_NATIVE_HEADER(list) -+#endif - --# if (__STL_OUTERMOST_HEADER_ID == 0x40) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x40) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_LIST */ -+#endif /* _STLP_LIST */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/locale tripwire-2.3.1-2/src/STLport-4.0/stlport/locale ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/locale Sat Feb 24 10:44:23 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/locale Sun Aug 11 18:59:23 2002 -@@ -15,35 +15,48 @@ - * modified is included with the above copyright notice. - * - */ --#ifndef __SGI_STL_LOCALE --#define __SGI_STL_LOCALE -+#ifndef _STLP_LOCALE -+#define _STLP_LOCALE - - // Basic framework: class locale and class locale::facet - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x1041 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x1041 - # include - # endif - --# if defined (__SGI_STL_OWN_IOSTREAMS) -- --#include -- --#include // Some facets need basic_ios and/or ios_base --#include // Needed by --#include // Needed for [io]streambuf_iterator --#include // Needed by numeric facets --#include // Needed (for struct tm) by time facets -+# if defined (_STLP_OWN_IOSTREAMS) - - // Individual facets -+#ifndef _STLP_INTERNAL_CTYPE_H - #include -+#endif -+#ifndef _STLP_INTERNAL_CODECVT_H - #include -+#endif -+#ifndef _STLP_INTERNAL_COLLATE_H - #include --#include -+#endif -+#ifndef _STLP_INTERNAL_NUM_PUT_H -+# include -+#endif -+ -+#ifndef _STLP_INTERNAL_NUM_GET_H -+# include -+#endif -+ -+// those never included separately anyway - #include - #include - #include - -+// some stuff for streambuf iterators ended up defined there -+// Strictly speaking, _istream.h portion is only required for , but it may break too many -+// programs if we omit it -+#ifndef _STLP_ISTREAM_H -+# include -+#endif -+ - // Convenience interfaces - #undef isspace - #undef isprint -@@ -59,7 +72,7 @@ - #undef toupper - #undef tolower - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - template - inline bool isspace (_CharT c, const locale& loc) { -@@ -126,24 +139,24 @@ - return (use_facet >(loc)).tolower(c); - } - --# ifndef __IOS_BASE_INITIALIZED --# define __IOS_BASE_INITIALIZED --// Global initializer object, to ensure construction of static objects. --static ios_base::Init __initializer; -+# ifndef __LOCALE_INITIALIZED -+# define __LOCALE_INITIALIZED -+// Global initializer object, to ensure initialization of locale subsystem. -+static ios_base::_Loc_init _LocInit; - # endif - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --# elif !defined (__STL_USE_NO_IOSTREAMS) -+# elif !defined (_STLP_USE_NO_IOSTREAMS) - # include - # endif - --# if (__STL_OUTERMOST_HEADER_ID == 0x1041) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x1041) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_LOCALE */ -+#endif /* _STLP_LOCALE */ - - - // Local Variables: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/locale.h tripwire-2.3.1-2/src/STLport-4.0/stlport/locale.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/locale.h Sat Feb 24 10:44:23 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/locale.h Sun Aug 11 18:59:23 2002 -@@ -13,21 +13,21 @@ - * - */ - --# if !defined (__STL_OUTERMOST_HEADER_ID) --# define __STL_OUTERMOST_HEADER_ID 0x242 -+# if !defined (_STLP_OUTERMOST_HEADER_ID) -+# define _STLP_OUTERMOST_HEADER_ID 0x242 - # include --# elif (__STL_OUTERMOST_HEADER_ID == 0x242) && ! defined (__STL_DONT_POP_0x242) --# define __STL_DONT_POP_0x242 -+# elif (_STLP_OUTERMOST_HEADER_ID == 0x242) && ! defined (_STLP_DONT_POP_0x242) -+# define _STLP_DONT_POP_0x242 - # endif - --# include __STL_NATIVE_C_HEADER(locale.h) -+# include _STLP_NATIVE_C_HEADER(locale.h) - --# if (__STL_OUTERMOST_HEADER_ID == 0x242) --# if ! defined (__STL_DONT_POP_0x242) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x242) -+# if ! defined (_STLP_DONT_POP_0x242) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif --# undef __STL_DONT_POP_0x242 -+# undef _STLP_DONT_POP_0x242 - # endif - - // Local Variables: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/map tripwire-2.3.1-2/src/STLport-4.0/stlport/map ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/map Sat Feb 24 10:44:23 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/map Sun Aug 11 18:59:23 2002 -@@ -23,30 +23,26 @@ - * - */ - --#ifndef __SGI_STL_MAP --#define __SGI_STL_MAP -+#ifndef _STLP_MAP -+#define _STLP_MAP - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x43 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x43 - # include - # endif - --#ifndef __SGI_STL_INTERNAL_TREE_H --#include --#endif -- - #include - --#if defined (__STL_WHOLE_NATIVE_STD) --# include __STL_NATIVE_HEADER(map) -+#if defined (_STLP_WHOLE_VENDOR_STD) -+# include _STLP_NATIVE_HEADER(map) - #endif - --# if (__STL_OUTERMOST_HEADER_ID == 0x43) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x43) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_MAP */ -+#endif /* _STLP_MAP */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/math.h tripwire-2.3.1-2/src/STLport-4.0/stlport/math.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/math.h Sat Feb 24 10:44:23 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/math.h Sun Aug 11 18:59:23 2002 -@@ -13,29 +13,32 @@ - * - */ - --# if !defined (__STL_OUTERMOST_HEADER_ID) --# define __STL_OUTERMOST_HEADER_ID 0x244 -+# if !defined (_STLP_OUTERMOST_HEADER_ID) -+# define _STLP_OUTERMOST_HEADER_ID 0x244 - # include --# elif (__STL_OUTERMOST_HEADER_ID == 0x244) && ! defined (__STL_DONT_POP_0x244) --# define __STL_DONT_POP_0x244 -+# elif (_STLP_OUTERMOST_HEADER_ID == 0x244) && ! defined (_STLP_DONT_POP_0x244) -+# define _STLP_DONT_POP_0x244 - # endif - --# if defined (__STL_HAS_NO_NAMESPACES) && ! defined (exception) -+# if ! defined (exception) && (! defined (__KCC) || (__KCC_VERSION < 4000)) && \ -+ ! (defined(__IBMCPP__) && (500 <= __IBMCPP__)) -+# define __EXCEPTION_WAS_REDEFINED 1 - # define exception __math_exception - # endif - --# include __STL_NATIVE_C_HEADER(math.h) -+# include _STLP_NATIVE_C_HEADER(math.h) - --# if defined (__STL_HAS_NO_NAMESPACES) -+# if defined (__EXCEPTION_WAS_REDEFINED) - # undef exception -+# undef __EXCEPTION_WAS_REDEFINED - # endif - --# if (__STL_OUTERMOST_HEADER_ID == 0x244) --# if ! defined (__STL_DONT_POP_0x244) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x244) -+# if ! defined (_STLP_DONT_POP_0x244) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif --# undef __STL_DONT_POP_0x244 -+# undef _STLP_DONT_POP_0x244 - # endif - - // Local Variables: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/mem.h tripwire-2.3.1-2/src/STLport-4.0/stlport/mem.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/mem.h Sat Feb 24 10:44:23 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/mem.h Sun Aug 11 18:59:23 2002 -@@ -15,34 +15,34 @@ - - // Boris : highly questionable header for BC++ - --#ifndef __STLPORT_mem_h -+#ifndef _STLP_mem_h - --# if !defined (__STL_OUTERMOST_HEADER_ID) --# define __STL_OUTERMOST_HEADER_ID 0x245 -+# if !defined (_STLP_OUTERMOST_HEADER_ID) -+# define _STLP_OUTERMOST_HEADER_ID 0x245 - # include --# elif (__STL_OUTERMOST_HEADER_ID == 0x245) && ! defined (__STL_DONT_POP_0x245) --# define __STL_DONT_POP_0x245 -+# elif (_STLP_OUTERMOST_HEADER_ID == 0x245) && ! defined (_STLP_DONT_POP_0x245) -+# define _STLP_DONT_POP_0x245 - # endif - --# if (__BORLANDC__ > 0x530) -+# if (__BORLANDC__ > 0x530) && !defined(__linux__) - # include - # endif - - # undef __USING_CNAME__ - --# include __STL_NATIVE_C_HEADER(mem.h) -+# include _STLP_NATIVE_C_HEADER(mem.h) - --# define __STLPORT_mem_h 1 -+# define _STLP_mem_h 1 - --# if (__STL_OUTERMOST_HEADER_ID == 0x245) --# if ! defined (__STL_DONT_POP_0x245) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x245) -+# if ! defined (_STLP_DONT_POP_0x245) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif --# undef __STL_DONT_POP_0x245 -+# undef _STLP_DONT_POP_0x245 - # endif - --#endif /* __STLPORT_mem_h */ -+#endif /* _STLP_mem_h */ - - // #endif /* NATIVE */ - // Local Variables: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/memory tripwire-2.3.1-2/src/STLport-4.0/stlport/memory ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/memory Sat Feb 24 10:44:23 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/memory Sun Aug 11 18:59:23 2002 -@@ -16,33 +16,35 @@ - * - */ - --#ifndef __SGI_STL_MEMORY --# define __SGI_STL_MEMORY -+#ifndef _STLP_MEMORY -+# define _STLP_MEMORY - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x46 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x46 - # include - # endif - --# ifndef __SGI_STL_INTERNAL_ALLOC_H -+# ifndef _STLP_INTERNAL_ALLOC_H - # include - # endif - --# ifndef __SGI_STL_INTERNAL_TEMPBUF_H -+# ifndef _STLP_INTERNAL_TEMPBUF_H - # include - # endif - --# ifndef __SGI_STL_INTERNAL_RAW_STORAGE_ITER_H -+# ifndef _STLP_INTERNAL_RAW_STORAGE_ITER_H - # include - # endif - --# if defined (__STL_IMPORT_VENDOR_STD) -+# include -+ -+# if defined (_STLP_IMPORT_VENDOR_STD) - - # if defined (__MSL__) --# include __STL_NATIVE_HEADER(limits) -+# include _STLP_NATIVE_HEADER(limits) - # endif - --# include __STL_NATIVE_HEADER(memory) -+# include _STLP_NATIVE_HEADER(memory) - - # if defined (__MSL__) && (__MSL__ >= 0x2405 && __MSL__ < 0x5201) - /* 980401 vss MSL 2.4 Pro 3 Release */ -@@ -51,150 +53,12 @@ - - # endif - --__STL_BEGIN_NAMESPACE --// implementation primitive --class __ptr_base { --public: -- void* _M_p; -- void __set(const void* p) { _M_p = __CONST_CAST(void*,p); } -- void __set(void* p) { _M_p = p; } --}; -- --// interface common for all smart pointers --template --class __ptr_intf : protected __ptr_base { --public: -- _Tp* get() const { return __REINTERPRET_CAST(_Tp*,__CONST_CAST(void*,_M_p)); } --# if defined (__SGI_STL_NO_ARROW_OPERATOR) -- // fbp : you would not instantiate auto_ptrs for builtins, would you ? --# if !defined (__STL_NO_AUTO_PTR_PROXY_ARROW_OPERATOR) --# ifdef __MVS__ --# pragma define(__arrow_op_dispatch<_Tp&, _Tp*>) --# endif -- __arrow_op_dispatch<_Tp&, _Tp*> operator->() const { -- return __arrow_op_dispatch<_Tp&, _Tp*>(*get()); -- } --# endif --# else -- _Tp* operator->() const { return get(); } --# endif -- _Tp& operator*() const { return *get(); } -- -- // this member is here to convert derived into base if needed -- // public for auto_ptr_handler -- void __set(_Tp* p) { __ptr_base::__set(p); } -- --# if defined(__STL_MEMBER_TEMPLATES) && !defined(__STL_NO_TEMPLATE_CONVERSIONS) -- template operator __ptr_intf<_Tp1>() { return __ptr_intf<_Tp1>(get()); } --# endif -- --protected: -- __ptr_intf(_Tp* p = 0) { __ptr_base::__set(p); } --private: -- __ptr_intf<_Tp>(const __ptr_intf<_Tp>&); --}; -- -- --template class auto_ptr_ref { --public: -- __ptr_base& _M_r; -- _Tp* const _M_p; -- -- auto_ptr_ref(__ptr_base& __r, _Tp* __p) : _M_r(__r), _M_p(__p) { } -- -- _Tp* release() const { _M_r.__set((void*)0); return _M_p; } -- --}; -- --template struct auto_ptr : public __ptr_intf<_Tp> { -- -- typedef _Tp element_type; -- typedef auto_ptr<_Tp> _Self; -- -- _Tp* release() { -- _Tp* __px = this->get(); -- this->_M_p = 0; -- return __px; -- } -- -- void reset(_Tp* __px=0) { -- _Tp* __pt = this->get(); -- if (__px != __pt) -- delete __pt; -- this->__set(__px); -- } -- -- auto_ptr() {} -- -- explicit auto_ptr(_Tp* __px) : __ptr_intf<_Tp>(__px) { } -- --#if defined (__STL_MEMBER_TEMPLATES) --# ifdef __STL_MSVC -- template auto_ptr(const auto_ptr<_Tp1>& __r) -- : __ptr_intf<_Tp>((_Tp1*)const_cast >(__r).release()) {} -- template auto_ptr<_Tp>& operator=(const auto_ptr<_Tp1>& __r) { -- reset((_Tp1*)const_cast >(__r).release()); -- return *this; -- } --# else --# if !defined (__STL_NO_TEMPLATE_CONVERSIONS) -- template auto_ptr(auto_ptr<_Tp1>& __r) -- : __ptr_intf<_Tp>((_Tp1*)__r.release()) {} --# endif -- template auto_ptr<_Tp>& operator=(auto_ptr<_Tp1>& __r) { -- reset((_Tp1*)__r.release()); -- return *this; -- } --# endif --#endif /* __STL_MEMBER_TEMPLATES */ -- --#ifdef __STL_MSVC -- auto_ptr(const _Self& __r) : __ptr_intf<_Tp>(const_cast<_Self&>(__r).release()) { } -- -- _Self& operator=(const _Self& __r) { -- reset(const_cast<_Self&>(__r).release()); -- return *this; -- } --#else -- auto_ptr(_Self& __r) : __ptr_intf<_Tp>(__r.release()) { } -- -- _Self& operator=(_Self& __r) { -- reset(__r.release()); -- return *this; -- } --#endif -- -- ~auto_ptr() { /* boris : reset(0) might be better */ delete this->get(); } -- -- auto_ptr(auto_ptr_ref<_Tp> __r) : __ptr_intf<_Tp>(__r.release()) { -- } -- -- _Self& operator=(auto_ptr_ref<_Tp> __r) { -- reset(__r.release()); -- return *this; -- } -- --# if defined(__STL_MEMBER_TEMPLATES) && !defined(__STL_NO_TEMPLATE_CONVERSIONS) -- template operator auto_ptr_ref<_Tp1>() { -- return auto_ptr_ref<_Tp1>(*this, this->get()); -- } -- template operator auto_ptr<_Tp1>() { -- return auto_ptr<_Tp1>(release()); -- } --# else -- operator auto_ptr_ref<_Tp>() -- { return auto_ptr_ref<_Tp>(*this, this->get()); } --# endif -- --}; --__STL_END_NAMESPACE -- --# if (__STL_OUTERMOST_HEADER_ID == 0x46) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x46) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_MEMORY */ -+#endif /* _STLP_MEMORY */ - - // Local Variables: - // mode:C++ -Only in tripwire-2.3.1-2.old/src/STLport-4.0/stlport: memory.new -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/new tripwire-2.3.1-2/src/STLport-4.0/stlport/new ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/new Sat Feb 24 10:44:24 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/new Sun Aug 11 18:59:23 2002 -@@ -13,120 +13,99 @@ - * - */ - --#ifndef __STLPORT_NEW --# define __STLPORT_NEW -+#ifndef _STLP_NEW_HEADER -+# define _STLP_NEW_HEADER - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x447 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x447 - # include - # endif - --#ifdef __STL_WINCE -- --inline void* __STL_CALL __stl_new(size_t __n) { -- return ::malloc(__n); --} -- --inline void __STL_CALL __stl_delete(void* __p) { -- free(__p); --} -- --#else -- -+#ifndef _STLP_CSTDDEF - // size_t - # include -+#endif - - #if defined (__BORLANDC__) && (__BORLANDC__ > 0x520) - // new.h uses ::malloc ;( - # include --using __STL_VENDOR_CSTD::malloc; -+using _STLP_VENDOR_CSTD::malloc; - #endif - --# if !defined (__STL_NO_NEW_NEW_HEADER) --# if ( defined (__GNUC__) && (__GNUC_MINOR__ >= 8 )) || ( defined (__MVS__) && ! defined (__GNUC__)) --# include __STL_NATIVE_C_HEADER(new) --# else --# include __STL_NATIVE_HEADER(new) --# endif --# else --# if ( defined (__MVS__) && ! defined (__GNUC__)) --# include __STL_NATIVE_C_HEADER(new.h) --# else --# include __STL_NATIVE_HEADER(new.h) --# endif -+# if !defined (_STLP_NO_NEW_NEW_HEADER) -+# include _STLP_NATIVE_CPP_RUNTIME_HEADER(new) -+# elif !defined(_STLP_WINCE) -+# include - # endif - --# ifndef __STL_NO_BAD_ALLOC --# ifdef __STL_USE_OWN_NAMESPACE -- __STL_BEGIN_NAMESPACE -- using __STL_VENDOR_EXCEPT_STD::bad_alloc; -- using __STL_VENDOR_EXCEPT_STD::nothrow_t; -- using __STL_VENDOR_EXCEPT_STD::nothrow; -+# ifndef _STLP_NO_BAD_ALLOC -+# ifdef _STLP_USE_OWN_NAMESPACE -+ _STLP_BEGIN_NAMESPACE -+ using _STLP_VENDOR_EXCEPT_STD::bad_alloc; -+ using _STLP_VENDOR_EXCEPT_STD::nothrow_t; -+ using _STLP_VENDOR_EXCEPT_STD::nothrow; - --# if defined (__STL_GLOBAL_NEW_HANDLER) -+# if defined (_STLP_GLOBAL_NEW_HANDLER) - using ::new_handler; - using ::set_new_handler; - # else -- using __STL_VENDOR_EXCEPT_STD::new_handler; -- using __STL_VENDOR_EXCEPT_STD::set_new_handler; -+ using _STLP_VENDOR_EXCEPT_STD::new_handler; -+ using _STLP_VENDOR_EXCEPT_STD::set_new_handler; - # endif - -- __STL_END_NAMESPACE -+ _STLP_END_NAMESPACE - --# endif /* __STL_OWN_NAMESPACE */ --# else /* __STL_NO_BAD_ALLOC */ -+# endif /* _STLP_OWN_NAMESPACE */ -+ -+# else /* _STLP_NO_BAD_ALLOC */ - - # include - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - class nothrow_t {}; - --# ifdef __SGI_STL_OWN_IOSTREAMS --extern nothrow_t nothrow; -+# ifdef _STLP_OWN_IOSTREAMS -+extern _STLP_DECLSPEC const nothrow_t nothrow; - # else - # define nothrow nothrow_t() - # endif - --class bad_alloc : public __STL_EXCEPTION_BASE { -+class bad_alloc : public _STLP_EXCEPTION_BASE { - public: -- bad_alloc () __STL_NOTHROW { } -- bad_alloc(const bad_alloc&) __STL_NOTHROW { } -- bad_alloc& operator=(const bad_alloc&) __STL_NOTHROW {return *this;} -- ~bad_alloc () __STL_NOTHROW { } -- const char* what() const __STL_NOTHROW { return "bad alloc"; } -+ bad_alloc () _STLP_NOTHROW_INHERENTLY { } -+ bad_alloc(const bad_alloc&) _STLP_NOTHROW_INHERENTLY { } -+ bad_alloc& operator=(const bad_alloc&) _STLP_NOTHROW_INHERENTLY {return *this;} -+ ~bad_alloc () _STLP_NOTHROW_INHERENTLY { } -+ const char* what() const _STLP_NOTHROW_INHERENTLY { return "bad alloc"; } - }; - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --#endif /* __STL_NO_BAD_ALLOC */ -+#endif /* _STLP_NO_BAD_ALLOC */ - --__STL_BEGIN_NAMESPACE --inline void* __STL_CALL __stl_new(size_t __n) { --#if (( defined(__IBMCPP__)|| defined(__OS400__) || defined (__xlC__) || defined (qTidyHeap)) && defined(__DEBUG_ALLOC__) ) -- return ::operator __STL_NEW(__n, __FILE__, __LINE__); --#else -- return ::operator __STL_NEW(__n); --#endif --} -+# if defined (_STLP_NO_NEW_NEW_HEADER) || defined (_STLP_NO_BAD_ALLOC) && ! defined (_STLP_CHECK_NULL_ALLOC) -+# define _STLP_CHECK_NULL_ALLOC(__x) void* __y = __x; if (__y == 0) _STLP_THROW(bad_alloc()); return __y -+# else -+# define _STLP_CHECK_NULL_ALLOC(__x) return __x -+# endif - --inline void __STL_CALL __stl_delete(void* __p) { --#if (( defined(__IBMCPP__) || defined(__OS400__)|| defined (__xlC__) || defined (qTidyHeap)) && defined(__DEBUG_ALLOC__) ) -- ::operator delete(__p, __FILE__, __LINE__); -+_STLP_BEGIN_NAMESPACE -+#if (( defined(__IBMCPP__)|| defined(__OS400__) || defined (__xlC__) || defined (qTidyHeap)) && defined(__DEBUG_ALLOC__) ) -+inline void* _STLP_CALL __stl_new(size_t __n) { _STLP_CHECK_NULL_ALLOC(::operator _STLP_NEW(__n, __FILE__, __LINE__)); } -+inline void _STLP_CALL __stl_delete(void* __p) { ::operator delete(__p, __FILE__, __LINE__); } - #else -- ::operator delete(__p); -+inline void* _STLP_CALL __stl_new(size_t __n) { _STLP_CHECK_NULL_ALLOC(::operator _STLP_NEW(__n)); } -+inline void _STLP_CALL __stl_delete(void* __p) { ::operator delete(__p); } - #endif --} --__STL_END_NAMESPACE -- --#endif /* WINCE */ -+_STLP_END_NAMESPACE - --# if (__STL_OUTERMOST_HEADER_ID == 0x447) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x447) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __STLPORT_NEW */ -+#endif /* _STLP_NEW */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/new.h tripwire-2.3.1-2/src/STLport-4.0/stlport/new.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/new.h Sat Feb 24 10:44:24 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/new.h Sun Aug 11 18:59:23 2002 -@@ -14,29 +14,31 @@ - */ - - --# if !defined (__STL_OUTERMOST_HEADER_ID) --# define __STL_OUTERMOST_HEADER_ID 0x848 -+# if !defined (_STLP_OUTERMOST_HEADER_ID) -+# define _STLP_OUTERMOST_HEADER_ID 0x848 - # include --# elif (__STL_OUTERMOST_HEADER_ID == 0x848) && ! defined (__STL_DONT_POP_0x848) --# define __STL_DONT_POP_0x848 -+# elif (_STLP_OUTERMOST_HEADER_ID == 0x848) && ! defined (_STLP_DONT_POP_0x848) -+# define _STLP_DONT_POP_0x848 - # endif - --# ifndef __STL_WINCE --# if ( defined (__GNUC__) && (__GNUC_MINOR__ >= 8 )) || ( defined (__MVS__) && ! defined (__GNUC__)) --# include __STL_NATIVE_C_HEADER(new.h) --# elif defined (__BORLANDC__) -+# ifndef _STLP_WINCE -+# if defined (__BORLANDC__) - # include - # else --# include __STL_NATIVE_HEADER(new.h) -+# if defined (__GNUC__) && (__GNUC__ >=3) -+# include _STLP_NATIVE_OLD_STREAMS_HEADER(new.h) -+# else -+# include _STLP_NATIVE_CPP_RUNTIME_HEADER(new.h) -+# endif - # endif - # endif /* STL_WINCE */ - --# if (__STL_OUTERMOST_HEADER_ID == 0x848) --# if ! defined (__STL_DONT_POP_0x848) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x848) -+# if ! defined (_STLP_DONT_POP_0x848) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif --# undef __STL_DONT_POP_0x848 -+# undef _STLP_DONT_POP_0x848 - # endif - - // Local Variables: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/numeric tripwire-2.3.1-2/src/STLport-4.0/stlport/numeric ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/numeric Sat Feb 24 10:44:24 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/numeric Sun Aug 11 18:59:23 2002 -@@ -20,26 +20,26 @@ - * - */ - --#ifndef __SGI_STL_NUMERIC --#define __SGI_STL_NUMERIC -+#ifndef _STLP_NUMERIC -+#define _STLP_NUMERIC - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x49 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x49 - # include - # endif - --#ifndef __SGI_STL_INTERNAL_FUNCTION_H --# include -+#ifndef _STLP_INTERNAL_FUNCTION_H -+# include - #endif - - #include - --# if (__STL_OUTERMOST_HEADER_ID == 0x49) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x49) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_NUMERIC */ -+#endif /* _STLP_NUMERIC */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/algo.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/algo.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/algo.h Sat Feb 24 10:44:33 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/algo.h Sun Aug 11 18:59:24 2002 -@@ -23,41 +23,41 @@ - * - */ - --#ifndef __SGI_STL_ALGO_H --#define __SGI_STL_ALGO_H -+#ifndef _STLP_ALGO_H -+#define _STLP_ALGO_H - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0xa001 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0xa001 - # include - # endif - --# ifndef __SGI_STL_ALGOBASE_H -+# ifndef _STLP_ALGOBASE_H - # include - # endif - --# ifndef __SGI_STL_TEMPBUF_H -+# ifndef _STLP_TEMPBUF_H - # include - # endif - --# ifndef __SGI_STL_INTERNAL_HEAP_H -+# ifndef _STLP_INTERNAL_HEAP_H - # include - # endif - --# ifndef __SGI_STL_ITERATOR_H -+# ifndef _STLP_ITERATOR_H - # include - # endif - --# ifndef __SGI_STL_INTERNAL_ALGO_H -+# ifndef _STLP_INTERNAL_ALGO_H - # include - # endif - --# ifndef __SGI_STL_NUMERIC_H -+# ifndef _STLP_NUMERIC_H - # include - # endif - --#ifdef __STL_USE_NAMESPACES -+#ifdef _STLP_USE_NAMESPACES - --# ifdef __STL_BROKEN_USING_DIRECTIVE -+# ifdef _STLP_BROKEN_USING_DIRECTIVE - using namespace STLPORT; - # else - // Names from -@@ -131,15 +131,15 @@ - using STLPORT::power; - using STLPORT::iota; - --# endif /* __STL_BROKEN_USING_DIRECTIVE */ --#endif /* __STL_USE_NAMESPACES */ -+# endif /* _STLP_BROKEN_USING_DIRECTIVE */ -+#endif /* _STLP_USE_NAMESPACES */ - --# if (__STL_OUTERMOST_HEADER_ID == 0xa001) -+# if (_STLP_OUTERMOST_HEADER_ID == 0xa001) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_ALGO_H */ -+#endif /* _STLP_ALGO_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/algobase.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/algobase.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/algobase.h Sat Feb 24 10:44:33 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/algobase.h Sun Aug 11 18:59:24 2002 -@@ -23,43 +23,43 @@ - * - */ - --#ifndef __SGI_STL_ALGOBASE_H --#define __SGI_STL_ALGOBASE_H -+#ifndef _STLP_ALGOBASE_H -+#define _STLP_ALGOBASE_H - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0xa002 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0xa002 - # include - # endif - --#ifndef __SGI_STL_PAIR_H -+#ifndef _STLP_PAIR_H - #include - #endif - - // memmove --#ifndef __STLPORT_CSTRING -+#ifndef _STLP_CSTRING - # include - #endif - - // CHAR_MAX --#ifndef __STLPORT_CLIMITS -+#ifndef _STLP_CLIMITS - # include - #endif - --#ifndef __SGI_STL_ITERATOR_H -+#ifndef _STLP_ITERATOR_H - #include - #endif - --#ifndef __SGI_STL_INTERNAL_ALGOBASE_H -+#ifndef _STLP_INTERNAL_ALGOBASE_H - #include - #endif - --#ifndef __SGI_STL_INTERNAL_UNINITIALIZED_H -+#ifndef _STLP_INTERNAL_UNINITIALIZED_H - #include - #endif - --#ifdef __STL_USE_NAMESPACES -+#ifdef _STLP_USE_NAMESPACES - --# ifdef __STL_BROKEN_USING_DIRECTIVE -+# ifdef _STLP_BROKEN_USING_DIRECTIVE - using namespace STLPORT; - # else - // Names from stl_algobase.h -@@ -82,15 +82,15 @@ - using STLPORT::uninitialized_copy_n; - using STLPORT::uninitialized_fill; - using STLPORT::uninitialized_fill_n; --# endif /* __STL_BROKEN_USING_DIRECTIVE */ --#endif /* __STL_USE_NAMESPACES */ -+# endif /* _STLP_BROKEN_USING_DIRECTIVE */ -+#endif /* _STLP_USE_NAMESPACES */ - --# if (__STL_OUTERMOST_HEADER_ID == 0xa002) -+# if (_STLP_OUTERMOST_HEADER_ID == 0xa002) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_ALGOBASE_H */ -+#endif /* _STLP_ALGOBASE_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/alloc.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/alloc.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/alloc.h Sat Feb 24 10:44:33 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/alloc.h Sun Aug 11 18:59:24 2002 -@@ -16,44 +16,44 @@ - * - */ - --#ifndef __SGI_STL_ALLOC_H --#define __SGI_STL_ALLOC_H -+#ifndef _STLP_ALLOC_H -+#define _STLP_ALLOC_H - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0xa003 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0xa003 - # include - # endif - --#if defined (__STL_DEBUG) || defined (__STL_ASSERTIONS) && !defined (__STLPORT_DEBUG_H) -+#if defined (_STLP_DEBUG) || defined (_STLP_ASSERTIONS) && !defined (_STLP_DEBUG_H) - # include - #endif - --# ifndef __STLPORT_CSTDDEF -+# ifndef _STLP_CSTDDEF - # include - # endif --# ifndef __STLPORT_CLIMITS -+# ifndef _STLP_CLIMITS - # include - # endif --# ifndef __STLPORT_CSTDLIB -+# ifndef _STLP_CSTDLIB - # include - # endif --# ifndef __STLPORT_CSTRING -+# ifndef _STLP_CSTRING - # include - # endif --# ifndef __STLPORT_CASSERT -+# ifndef _STLP_CASSERT - # include - # endif - --#ifndef __SGI_STL_INTERNAL_ALLOC_H -+#ifndef _STLP_INTERNAL_ALLOC_H - #include - #endif - - // Old SGI names --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - typedef __sgi_alloc alloc; - typedef __malloc_alloc<0> malloc_alloc; --#ifdef __STL_USE_NEWALLOC -+#ifdef _STLP_USE_NEWALLOC - typedef __new_alloc new_alloc; - #endif - -@@ -61,37 +61,41 @@ - typedef __single_client_alloc single_client_alloc; - typedef __multithreaded_alloc multithreaded_alloc; - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --#ifdef __STL_USE_NAMESPACES --# ifdef __STL_BROKEN_USING_DIRECTIVE -+#ifdef _STLP_USE_NAMESPACES -+# ifdef _STLP_BROKEN_USING_DIRECTIVE - - using namespace STLPORT; - - # else - --using __STLPORT_STD::malloc_alloc; --using __STLPORT_STD::simple_alloc; --# ifdef __STL_DEBUG_ALLOC --using __STLPORT_STD::__debug_alloc; -+# ifdef _STLP_USE_RAW_SGI_ALLOCATORS -+using _STLP_STD::simple_alloc; -+using _STLP_STD::alloc; -+# endif -+ -+using _STLP_STD::malloc_alloc; -+# ifdef _STLP_DEBUG_ALLOC -+using _STLP_STD::__debug_alloc; - # endif --#ifdef __STL_USE_NEWALLOC --using __STLPORT_STD::new_alloc; -+#ifdef _STLP_USE_NEWALLOC -+using _STLP_STD::new_alloc; - #endif --using __STLPORT_STD::alloc; --using __STLPORT_STD::single_client_alloc; --using __STLPORT_STD::multithreaded_alloc; --using __STLPORT_STD::allocator; - --# endif /* __STL_BROKEN_USING_DIRECTIVE */ --#endif /* __STL_USE_NAMESPACES */ -+using _STLP_STD::single_client_alloc; -+using _STLP_STD::multithreaded_alloc; -+using _STLP_STD::allocator; -+ -+# endif /* _STLP_BROKEN_USING_DIRECTIVE */ -+#endif /* _STLP_USE_NAMESPACES */ - --# if (__STL_OUTERMOST_HEADER_ID == 0xa003) -+# if (_STLP_OUTERMOST_HEADER_ID == 0xa003) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_ALLOC_H */ -+#endif /* _STLP_ALLOC_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/bvector.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/bvector.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/bvector.h Sat Feb 24 10:44:33 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/bvector.h Sun Aug 11 18:59:24 2002 -@@ -23,11 +23,11 @@ - * - */ - --#ifndef __SGI_STL_BVECTOR_H --#define __SGI_STL_BVECTOR_H -+#ifndef _STLP_BVECTOR_H -+#define _STLP_BVECTOR_H - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0xa004 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0xa004 - # include - # endif - -@@ -35,7 +35,7 @@ - - #include - --#ifdef __STL_CLASS_PARTIAL_SPECIALIZATION -+#ifdef _STLP_CLASS_PARTIAL_SPECIALIZATION - #include - #else - #include -@@ -44,22 +44,22 @@ - #include - #include - --#ifdef __STL_USE_NAMESPACES -+#ifdef _STLP_USE_NAMESPACES - --# ifdef __STL_BROKEN_USING_DIRECTIVE -+# ifdef _STLP_BROKEN_USING_DIRECTIVE - using namespace STLPORT; - # else --using __STLPORT_STD::bit_vector; -+using _STLP_STD::bit_vector; - # endif - --#endif /* __STL_USE_NAMESPACES */ -+#endif /* _STLP_USE_NAMESPACES */ - --# if (__STL_OUTERMOST_HEADER_ID == 0xa004) -+# if (_STLP_OUTERMOST_HEADER_ID == 0xa004) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_BVECTOR_H */ -+#endif /* _STLP_BVECTOR_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/defalloc.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/defalloc.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/defalloc.h Sat Feb 24 10:44:33 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/defalloc.h Sun Aug 11 18:59:24 2002 -@@ -29,19 +29,19 @@ - // However, explicit use of allocator is not recommended - // unless you have to do so ( for example, compiling third-party code). - --#ifndef __SGI_STL_DEFALLOC_H --#define __SGI_STL_DEFALLOC_H -+#ifndef _STLP_DEFALLOC_H -+#define _STLP_DEFALLOC_H - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0xa005 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0xa005 - # include - # endif - --# if defined (__STL_DEBUG) && ! defined ( __SGI_STL_DEBUG_H ) -+# if defined (_STLP_DEBUG) && ! defined ( _STLP_DEBUG_H ) - # include - # endif - --#if defined (__STL_USE_NEW_STYLE_HEADERS) -+#if defined (_STLP_USE_NEW_STYLE_HEADERS) - # include - # include - # include -@@ -55,12 +55,12 @@ - - # include - --#ifdef __STL_THREADS -+#ifdef _STLP_THREADS - # include - #endif - --# if !defined (__THROW_BAD_ALLOC) && !defined(__STL_USE_EXCEPTIONS) --# if defined (__STL_USE_NEW_STYLE_HEADERS) -+# if !defined (__THROW_BAD_ALLOC) && !defined(_STLP_USE_EXCEPTIONS) -+# if defined (_STLP_USE_NEW_STYLE_HEADERS) - # include - # else - # include -@@ -70,18 +70,18 @@ - - // fbp: just for backwards compatibility, - // hope this doesn't break anything. --#ifdef __STL_USE_NAMESPACES --# ifdef __STL_BROKEN_USING_DIRECTIVE -+#ifdef _STLP_USE_NAMESPACES -+# ifdef _STLP_BROKEN_USING_DIRECTIVE - using namespace STLPORT; - # else - using STLPORT::allocator; --# endif /* __STL_BROKEN_USING_DIRECTIVE */ --#endif /* __STL_USE_NAMESPACES */ -+# endif /* _STLP_BROKEN_USING_DIRECTIVE */ -+#endif /* _STLP_USE_NAMESPACES */ - --# if (__STL_OUTERMOST_HEADER_ID == 0xa005) -+# if (_STLP_OUTERMOST_HEADER_ID == 0xa005) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_DEFALLOC_H */ -+#endif /* _STLP_DEFALLOC_H */ - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/deque.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/deque.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/deque.h Sat Feb 24 10:44:33 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/deque.h Sun Aug 11 18:59:24 2002 -@@ -23,45 +23,45 @@ - * - */ - --#ifndef __SGI_STL_DEQUE_H --#define __SGI_STL_DEQUE_H -+#ifndef _STLP_DEQUE_H -+#define _STLP_DEQUE_H - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0xa006 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0xa006 - # include - # endif - --#ifndef __SGI_STL_ALGOBASE_H -+#ifndef _STLP_ALGOBASE_H - # include - #endif - --#ifndef __STL_RANGE_ERRORS_H -+#ifndef _STLP_RANGE_ERRORS_H - # include - #endif - --#ifndef __SGI_STL_ALLOC_H -+#ifndef _STLP_ALLOC_H - # include - #endif - --#ifndef __SGI_STL_INTERNAL_DEQUE_H -+#ifndef _STLP_INTERNAL_DEQUE_H - # include - #endif - --#ifdef __STL_USE_NAMESPACES --# ifdef __STL_BROKEN_USING_DIRECTIVE -+#ifdef _STLP_USE_NAMESPACES -+# ifdef _STLP_BROKEN_USING_DIRECTIVE - using namespace STLPORT; - # else - using STLPORT::deque; - using STLPORT::__deque__; --# endif /* __STL_BROKEN_USING_DIRECTIVE */ --#endif /* __STL_USE_NAMESPACES */ -+# endif /* _STLP_BROKEN_USING_DIRECTIVE */ -+#endif /* _STLP_USE_NAMESPACES */ - --# if (__STL_OUTERMOST_HEADER_ID == 0xa006) -+# if (_STLP_OUTERMOST_HEADER_ID == 0xa006) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_DEQUE_H */ -+#endif /* _STLP_DEQUE_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/export tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/export ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/export Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/export Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,27 @@ -+./algo.h -+./algobase.h -+./alloc.h -+./bvector.h -+./defalloc.h -+./deque.h -+./function.h -+./hash_map.h -+./hash_set.h -+./hashtable.h -+./heap.h -+./iterator.h -+./list.h -+./map.h -+./multimap.h -+./multiset.h -+./numeric.h -+./pair.h -+./pthread_alloc.h -+./queue.h -+./rope.h -+./set.h -+./slist.h -+./stack.h -+./tempbuf.h -+./tree.h -+./vector.h -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/function.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/function.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/function.h Sat Feb 24 10:44:34 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/function.h Sun Aug 11 18:59:24 2002 -@@ -23,103 +23,103 @@ - * - */ - --#ifndef __SGI_STL_FUNCTION_H --#define __SGI_STL_FUNCTION_H -+#ifndef _STLP_FUNCTION_H -+#define _STLP_FUNCTION_H - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0xa008 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0xa008 - # include - # endif - --#ifndef __STLPORT_CSTDDEF -+#ifndef _STLP_CSTDDEF - # include - #endif - --#ifndef __SGI_STL_INTERNAL_RELOPS --#include -+#ifndef _STLP_INTERNAL_ALGOBASE_H -+#include - #endif - --#ifndef __SGI_STL_INTERNAL_FUNCTION_H -+#ifndef _STLP_INTERNAL_FUNCTION_H - #include - #endif - --#ifdef __STL_USE_NAMESPACES -+#ifdef _STLP_USE_NAMESPACES - --# ifdef __STL_BROKEN_USING_DIRECTIVE -+# ifdef _STLP_BROKEN_USING_DIRECTIVE - using namespace STLPORT; --#ifdef __STL_USE_NAMESPACE_FOR_RELOPS -+#ifndef _STLP_NO_RELOPS_NAMESPACE - using namespace STLPORT_RELOPS; --#endif /* __STL_USE_NAMESPACE_FOR_RELOPS */ -+#endif /* _STLP_USE_NAMESPACE_FOR_RELOPS */ - --# else /* __STL_BROKEN_USING_DIRECTIVE */ -+# else /* _STLP_BROKEN_USING_DIRECTIVE */ - - // Names from stl_function.h --using __STLPORT_STD::unary_function; --using __STLPORT_STD::binary_function; --using __STLPORT_STD::plus; --using __STLPORT_STD::minus; --using __STLPORT_STD::multiplies; --using __STLPORT_STD::divides; --using __STLPORT_STD::identity_element; --using __STLPORT_STD::modulus; --using __STLPORT_STD::negate; --using __STLPORT_STD::equal_to; --using __STLPORT_STD::not_equal_to; --using __STLPORT_STD::greater; --using __STLPORT_STD::less; --using __STLPORT_STD::greater_equal; --using __STLPORT_STD::less_equal; --using __STLPORT_STD::logical_and; --using __STLPORT_STD::logical_or; --using __STLPORT_STD::logical_not; --using __STLPORT_STD::unary_negate; --using __STLPORT_STD::binary_negate; --using __STLPORT_STD::not1; --using __STLPORT_STD::not2; --using __STLPORT_STD::binder1st; --using __STLPORT_STD::binder2nd; --using __STLPORT_STD::bind1st; --using __STLPORT_STD::bind2nd; --using __STLPORT_STD::unary_compose; --using __STLPORT_STD::binary_compose; --using __STLPORT_STD::compose1; --using __STLPORT_STD::compose2; --using __STLPORT_STD::pointer_to_unary_function; --using __STLPORT_STD::pointer_to_binary_function; --using __STLPORT_STD::ptr_fun; --using __STLPORT_STD::identity; --using __STLPORT_STD::select1st; --using __STLPORT_STD::select2nd; --using __STLPORT_STD::project1st; --using __STLPORT_STD::project2nd; --using __STLPORT_STD::constant_void_fun; --using __STLPORT_STD::constant_unary_fun; --using __STLPORT_STD::constant_binary_fun; --using __STLPORT_STD::constant0; --using __STLPORT_STD::constant1; --using __STLPORT_STD::constant2; --using __STLPORT_STD::subtractive_rng; --using __STLPORT_STD::mem_fun_t; --using __STLPORT_STD::const_mem_fun_t; --using __STLPORT_STD::mem_fun_ref_t; --using __STLPORT_STD::const_mem_fun_ref_t; --using __STLPORT_STD::mem_fun1_t; --using __STLPORT_STD::const_mem_fun1_t; --using __STLPORT_STD::mem_fun1_ref_t; --using __STLPORT_STD::const_mem_fun1_ref_t; --using __STLPORT_STD::mem_fun; --using __STLPORT_STD::mem_fun_ref; --using __STLPORT_STD::mem_fun1; --using __STLPORT_STD::mem_fun1_ref; -+using _STLP_STD::unary_function; -+using _STLP_STD::binary_function; -+using _STLP_STD::plus; -+using _STLP_STD::minus; -+using _STLP_STD::multiplies; -+using _STLP_STD::divides; -+using _STLP_STD::identity_element; -+using _STLP_STD::modulus; -+using _STLP_STD::negate; -+using _STLP_STD::equal_to; -+using _STLP_STD::not_equal_to; -+using _STLP_STD::greater; -+using _STLP_STD::less; -+using _STLP_STD::greater_equal; -+using _STLP_STD::less_equal; -+using _STLP_STD::logical_and; -+using _STLP_STD::logical_or; -+using _STLP_STD::logical_not; -+using _STLP_STD::unary_negate; -+using _STLP_STD::binary_negate; -+using _STLP_STD::not1; -+using _STLP_STD::not2; -+using _STLP_STD::binder1st; -+using _STLP_STD::binder2nd; -+using _STLP_STD::bind1st; -+using _STLP_STD::bind2nd; -+using _STLP_STD::unary_compose; -+using _STLP_STD::binary_compose; -+using _STLP_STD::compose1; -+using _STLP_STD::compose2; -+using _STLP_STD::pointer_to_unary_function; -+using _STLP_STD::pointer_to_binary_function; -+using _STLP_STD::ptr_fun; -+using _STLP_STD::identity; -+using _STLP_STD::select1st; -+using _STLP_STD::select2nd; -+using _STLP_STD::project1st; -+using _STLP_STD::project2nd; -+using _STLP_STD::constant_void_fun; -+using _STLP_STD::constant_unary_fun; -+using _STLP_STD::constant_binary_fun; -+using _STLP_STD::constant0; -+using _STLP_STD::constant1; -+using _STLP_STD::constant2; -+using _STLP_STD::subtractive_rng; -+using _STLP_STD::mem_fun_t; -+using _STLP_STD::const_mem_fun_t; -+using _STLP_STD::mem_fun_ref_t; -+using _STLP_STD::const_mem_fun_ref_t; -+using _STLP_STD::mem_fun1_t; -+using _STLP_STD::const_mem_fun1_t; -+using _STLP_STD::mem_fun1_ref_t; -+using _STLP_STD::const_mem_fun1_ref_t; -+using _STLP_STD::mem_fun; -+using _STLP_STD::mem_fun_ref; -+using _STLP_STD::mem_fun1; -+using _STLP_STD::mem_fun1_ref; - # endif --#endif /* __STL_USE_NAMESPACES */ -+#endif /* _STLP_USE_NAMESPACES */ - --# if (__STL_OUTERMOST_HEADER_ID == 0xa008) -+# if (_STLP_OUTERMOST_HEADER_ID == 0xa008) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_FUNCTION_H */ -+#endif /* _STLP_FUNCTION_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/hash_map.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/hash_map.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/hash_map.h Sat Feb 24 10:44:34 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/hash_map.h Sun Aug 11 18:59:24 2002 -@@ -23,39 +23,39 @@ - * - */ - --#ifndef __SGI_STL_HASH_MAP_H --#define __SGI_STL_HASH_MAP_H -+#ifndef _STLP_HASH_MAP_H -+#define _STLP_HASH_MAP_H - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0xa009 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0xa009 - # include - # endif - --#ifndef __SGI_STL_HASHTABLE_H -+#ifndef _STLP_HASHTABLE_H - #include - #endif - - #include - --#ifdef __STL_USE_NAMESPACES --# ifdef __STL_BROKEN_USING_DIRECTIVE -+#ifdef _STLP_USE_NAMESPACES -+# ifdef _STLP_BROKEN_USING_DIRECTIVE - using namespace STLPORT; - # else --using __STLPORT_STD::hash; -+using _STLP_STD::hash; - using STLPORT::hashtable; - using STLPORT::hash_map; - using STLPORT::hash_multimap; - using STLPORT::__hash_map__; - using STLPORT::__hash_multimap__; - # endif --#endif /* __STL_USE_NAMESPACES */ -+#endif /* _STLP_USE_NAMESPACES */ - --# if (__STL_OUTERMOST_HEADER_ID == 0xa009) -+# if (_STLP_OUTERMOST_HEADER_ID == 0xa009) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_HASH_MAP_H */ -+#endif /* _STLP_HASH_MAP_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/hash_set.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/hash_set.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/hash_set.h Sat Feb 24 10:44:34 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/hash_set.h Sun Aug 11 18:59:24 2002 -@@ -23,36 +23,36 @@ - * - */ - --#ifndef __SGI_STL_HASH_SET_H --#define __SGI_STL_HASH_SET_H -+#ifndef _STLP_HASH_SET_H -+#define _STLP_HASH_SET_H - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0xa010 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0xa010 - # include - # endif - --#ifndef __SGI_STL_HASHTABLE_H -+#ifndef _STLP_HASHTABLE_H - #include - #endif - - #include - --#ifdef __STL_USE_NAMESPACES --# ifdef __STL_BROKEN_USING_DIRECTIVE -+#ifdef _STLP_USE_NAMESPACES -+# ifdef _STLP_BROKEN_USING_DIRECTIVE - using namespace STLPORT; - # else --using __STLPORT_STD::hash; -+using _STLP_STD::hash; - using STLPORT::hashtable; - using STLPORT::hash_set; - using STLPORT::hash_multiset; - using STLPORT::__hash_set__; - using STLPORT::__hash_multiset__; - # endif --#endif /* __STL_USE_NAMESPACES */ -+#endif /* _STLP_USE_NAMESPACES */ - --# if (__STL_OUTERMOST_HEADER_ID == 0xa010) -+# if (_STLP_OUTERMOST_HEADER_ID == 0xa010) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_HASH_SET_H */ -+#endif /* _STLP_HASH_SET_H */ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/hashtable.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/hashtable.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/hashtable.h Sat Feb 24 10:44:34 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/hashtable.h Sun Aug 11 18:59:24 2002 -@@ -26,44 +26,44 @@ - * You should not attempt to use it directly. - */ - --#ifndef __SGI_STL_HASHTABLE_H --#define __SGI_STL_HASHTABLE_H -+#ifndef _STLP_HASHTABLE_H -+#define _STLP_HASHTABLE_H - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0xa011 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0xa011 - # include - # endif - --#ifndef __SGI_STL_ALGO_H -+#ifndef _STLP_ALGO_H - #include - #endif --#ifndef __SGI_STL_ALLOC_H -+#ifndef _STLP_ALLOC_H - #include - #endif --#ifndef __SGI_STL_VECTOR_H -+#ifndef _STLP_VECTOR_H - #include - #endif --#ifndef __SGI_STL_HASH_FUN_H -+#ifndef _STLP_HASH_FUN_H - #include - #endif --#ifndef __SGI_STL_INTERNAL_HASHTABLE_H -+#ifndef _STLP_INTERNAL_HASHTABLE_H - #include - #endif - --#ifdef __STL_USE_NAMESPACES --# ifdef __STL_BROKEN_USING_DIRECTIVE -+#ifdef _STLP_USE_NAMESPACES -+# ifdef _STLP_BROKEN_USING_DIRECTIVE - using namespace STLPORT; - # else --using __STLPORT_STD::hash; -+using _STLP_STD::hash; - using STLPORT::hashtable; - # endif --#endif /* __STL_USE_NAMESPACES */ -+#endif /* _STLP_USE_NAMESPACES */ - --# if (__STL_OUTERMOST_HEADER_ID == 0xa011) -+# if (_STLP_OUTERMOST_HEADER_ID == 0xa011) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif --#endif /* __SGI_STL_HASHTABLE_H */ -+#endif /* _STLP_HASHTABLE_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/heap.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/heap.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/heap.h Sat Feb 24 10:44:34 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/heap.h Sun Aug 11 18:59:24 2002 -@@ -23,19 +23,19 @@ - * - */ - --#ifndef __SGI_STL_HEAP_H --#define __SGI_STL_HEAP_H -+#ifndef _STLP_HEAP_H -+#define _STLP_HEAP_H - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x12 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x12 - # include - # endif - - #include - --#ifdef __STL_USE_NAMESPACES -+#ifdef _STLP_USE_NAMESPACES - --# ifdef __STL_BROKEN_USING_DIRECTIVE -+# ifdef _STLP_BROKEN_USING_DIRECTIVE - using namespace std; - # else - using STLPORT::push_heap; -@@ -44,14 +44,14 @@ - using STLPORT::sort_heap; - # endif - --#endif /* __STL_USE_NAMESPACES */ -+#endif /* _STLP_USE_NAMESPACES */ - --# if (__STL_OUTERMOST_HEADER_ID == 0x12) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x12) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_HEAP_H */ -+#endif /* _STLP_HEAP_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/iterator.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/iterator.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/iterator.h Sat Feb 24 10:44:34 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/iterator.h Sun Aug 11 18:59:24 2002 -@@ -23,25 +23,25 @@ - * - */ - --#ifndef __SGI_STL_ITERATOR_H --#define __SGI_STL_ITERATOR_H -+#ifndef _STLP_ITERATOR_H -+#define _STLP_ITERATOR_H - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0xa013 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0xa013 - # include - # endif - --#if defined (__STL_DEBUG) || defined (__STL_ASSERTIONS) && !defined (__STLPORT_DEBUG_H) -+#if defined (_STLP_DEBUG) || defined (_STLP_ASSERTIONS) && !defined (_STLP_DEBUG_H) - # include - #endif - --#if defined (__STL_USE_NEW_STYLE_HEADERS) -+#if defined (_STLP_USE_NEW_STYLE_HEADERS) - # include - #else - # include - #endif - --# ifndef __STLPORT_NEW -+# ifndef _STLP_NEW - # include - # endif - -@@ -49,51 +49,39 @@ - # include - # endif - --#ifndef __SGI_STL_FUNCTION_H -+#ifndef _STLP_FUNCTION_H - #include - #endif - --# ifndef __STLPORT_IOSFWD -+# ifndef _STLP_IOSFWD - # include - # endif - --# ifndef __SGI_STL_INTERNAL_ITERATOR_BASE_H -+# ifndef _STLP_INTERNAL_ITERATOR_BASE_H - # include - # endif - --# ifndef __SGI_STL_INTERNAL_ITERATOR_H -+# ifndef _STLP_INTERNAL_ITERATOR_H - # include - # endif - --#ifndef __SGI_STL_INTERNAL_CONSTRUCT_H -+#ifndef _STLP_INTERNAL_CONSTRUCT_H - #include - #endif - --#ifndef __SGI_STL_INTERNAL_RAW_STORAGE_ITERATOR_H -+#ifndef _STLP_INTERNAL_RAW_STORAGE_ITERATOR_H - #include - #endif - --# ifndef __SGI_STL_INTERNAL_STREAM_ITERATOR_H -+# ifndef _STLP_INTERNAL_STREAM_ITERATOR_H - # include - # endif - --#ifdef __STL_USE_NAMESPACES -- -- --# if 0 // defined (__STL_USE_OWN_NAMESPACE) && defined (__STL_IMPORT_VENDOR_STD) && !defined (__STL_BROKEN_USING_DIRECTIVE) -- --__STL_BEGIN_NAMESPACE -- --using __STL_VENDOR_STD::istream_iterator; --using __STL_VENDOR_STD::ostream_iterator; -- --__STL_END_NAMESPACE -- --# endif -+#ifdef _STLP_USE_NAMESPACES - - // Names from stl_iterator.h - --# ifdef __STL_BROKEN_USING_DIRECTIVE -+# ifdef _STLP_BROKEN_USING_DIRECTIVE - using namespace STLPORT; - # else - -@@ -109,13 +97,15 @@ - using STLPORT::bidirectional_iterator; - using STLPORT::random_access_iterator; - --#ifdef __STL_CLASS_PARTIAL_SPECIALIZATION -+#ifdef _STLP_CLASS_PARTIAL_SPECIALIZATION - using STLPORT::iterator_traits; - #endif - -+# ifdef _STLP_USE_OLD_HP_ITERATOR_QUERIES - using STLPORT::iterator_category; - using STLPORT::distance_type; - using STLPORT::value_type; -+# endif - - using STLPORT::distance; - using STLPORT::advance; -@@ -128,8 +118,9 @@ - using STLPORT::back_inserter; - - using STLPORT::reverse_iterator; -+# if ! defined ( _STLP_CLASS_PARTIAL_SPECIALIZATION ) || defined (_STLP_USE_OLD_HP_ITERATOR_QUERIES) - using STLPORT::reverse_bidirectional_iterator; -- -+# endif - using STLPORT::istream_iterator; - using STLPORT::ostream_iterator; - -@@ -141,14 +132,14 @@ - using STLPORT::raw_storage_iterator; - # endif - --#endif /* __STL_USE_NAMESPACES */ -+#endif /* _STLP_USE_NAMESPACES */ - --# if (__STL_OUTERMOST_HEADER_ID == 0xa013) -+# if (_STLP_OUTERMOST_HEADER_ID == 0xa013) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_ITERATOR_H */ -+#endif /* _STLP_ITERATOR_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/list.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/list.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/list.h Sat Feb 24 10:44:34 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/list.h Sun Aug 11 18:59:24 2002 -@@ -23,39 +23,39 @@ - * - */ - --#ifndef __SGI_STL_LIST_H --#define __SGI_STL_LIST_H -+#ifndef _STLP_LIST_H -+#define _STLP_LIST_H - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0xa014 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0xa014 - # include - # endif - --#ifndef __SGI_STL_ALGOBASE_H -+#ifndef _STLP_ALGOBASE_H - # include - #endif - --#ifndef __SGI_STL_ALLOC_H -+#ifndef _STLP_ALLOC_H - # include - #endif - - #include - --#ifdef __STL_USE_NAMESPACES --# ifdef __STL_BROKEN_USING_DIRECTIVE -+#ifdef _STLP_USE_NAMESPACES -+# ifdef _STLP_BROKEN_USING_DIRECTIVE - using namespace STLPORT; - # else - using STLPORT::list; - using STLPORT::__list__; - # endif --#endif /* __STL_USE_NAMESPACES */ -+#endif /* _STLP_USE_NAMESPACES */ - --# if (__STL_OUTERMOST_HEADER_ID == 0xa014) -+# if (_STLP_OUTERMOST_HEADER_ID == 0xa014) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_LIST_H */ -+#endif /* _STLP_LIST_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/map.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/map.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/map.h Sat Feb 24 10:44:34 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/map.h Sun Aug 11 18:59:24 2002 -@@ -23,37 +23,37 @@ - * - */ - --#ifndef __SGI_STL_MAP_H --# define __SGI_STL_MAP_H -+#ifndef _STLP_MAP_H -+# define _STLP_MAP_H - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0xa015 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0xa015 - # include - # endif - --#ifndef __SGI_STL_TREE_H -+#ifndef _STLP_TREE_H - # include - #endif - - # include - --#ifdef __STL_USE_NAMESPACES --# ifdef __STL_BROKEN_USING_DIRECTIVE -+#ifdef _STLP_USE_NAMESPACES -+# ifdef _STLP_BROKEN_USING_DIRECTIVE - using namespace STLPORT; - # else - using STLPORT::map; --# ifdef __STL_LIMITED_DEFAULT_TEMPLATES -+# ifdef _STLP_LIMITED_DEFAULT_TEMPLATES - using STLPORT::__map; - # endif - # endif --#endif /* __STL_USE_NAMESPACES */ -+#endif /* _STLP_USE_NAMESPACES */ - --# if (__STL_OUTERMOST_HEADER_ID == 0xa015) -+# if (_STLP_OUTERMOST_HEADER_ID == 0xa015) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_MAP_H */ -+#endif /* _STLP_MAP_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/multimap.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/multimap.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/multimap.h Sat Feb 24 10:44:34 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/multimap.h Sun Aug 11 18:59:24 2002 -@@ -23,35 +23,35 @@ - * - */ - --#ifndef __SGI_STL_MULTIMAP_H --#define __SGI_STL_MULTIMAP_H -+#ifndef _STLP_MULTIMAP_H -+#define _STLP_MULTIMAP_H - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0xa016 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0xa016 - # include - # endif - --#ifndef __SGI_STL_TREE_H -+#ifndef _STLP_TREE_H - # include - #endif - - #include - --#ifdef __STL_USE_NAMESPACES --# ifdef __STL_BROKEN_USING_DIRECTIVE -+#ifdef _STLP_USE_NAMESPACES -+# ifdef _STLP_BROKEN_USING_DIRECTIVE - using namespace STLPORT; - # else - using STLPORT::multimap; - using STLPORT::__multimap__; - # endif --#endif /* __STL_USE_NAMESPACES */ -+#endif /* _STLP_USE_NAMESPACES */ - --# if (__STL_OUTERMOST_HEADER_ID == 0xa016) -+# if (_STLP_OUTERMOST_HEADER_ID == 0xa016) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_MULTIMAP_H */ -+#endif /* _STLP_MULTIMAP_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/multiset.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/multiset.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/multiset.h Sat Feb 24 10:44:34 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/multiset.h Sun Aug 11 18:59:24 2002 -@@ -23,35 +23,35 @@ - * - */ - --#ifndef __SGI_STL_MULTISET_H --#define __SGI_STL_MULTISET_H -+#ifndef _STLP_MULTISET_H -+#define _STLP_MULTISET_H - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0xa017 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0xa017 - # include - # endif - --#ifndef __SGI_STL_TREE_H -+#ifndef _STLP_TREE_H - # include - #endif - - #include - --#ifdef __STL_USE_NAMESPACES --# ifdef __STL_BROKEN_USING_DIRECTIVE -+#ifdef _STLP_USE_NAMESPACES -+# ifdef _STLP_BROKEN_USING_DIRECTIVE - using namespace STLPORT; - # else - using STLPORT::multiset; - using STLPORT::__multiset__; - # endif --#endif /* __STL_USE_NAMESPACES */ -+#endif /* _STLP_USE_NAMESPACES */ - --# if (__STL_OUTERMOST_HEADER_ID == 0xa017) -+# if (_STLP_OUTERMOST_HEADER_ID == 0xa017) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_MULTISET_H */ -+#endif /* _STLP_MULTISET_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/numeric.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/numeric.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/numeric.h Sat Feb 24 10:44:34 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/numeric.h Sun Aug 11 18:59:24 2002 -@@ -12,8 +12,8 @@ - * - */ - --#ifndef __SGI_STL_NUMERIC_H --# define __SGI_STL_NUMERIC_H -+#ifndef _STLP_NUMERIC_H -+# define _STLP_NUMERIC_H - - #ifndef __MWERKS__ - # error This file should be removed from installations not using the Metrowerks Standard Library -@@ -22,4 +22,4 @@ - //# include - #endif - --# endif // __SGI_STL_NUMERIC_H -+# endif // _STLP_NUMERIC_H -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/pair.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/pair.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/pair.h Sat Feb 24 10:44:34 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/pair.h Sun Aug 11 18:59:24 2002 -@@ -23,47 +23,35 @@ - * - */ - --#ifndef __SGI_STL_PAIR_H --#define __SGI_STL_PAIR_H -+#ifndef _STLP_PAIR_H -+#define _STLP_PAIR_H - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0xa020 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0xa020 - # include - # endif - --#if defined (__STL_DEBUG) || defined (__STL_ASSERTIONS) && !defined (__STLPORT_DEBUG_H) --# include -+#ifndef _STLP_INTERNAL_ALGOBASE_H -+# include - #endif - --#ifndef __SGI_STL_INTERNAL_RELOPS --#include --#endif -- --#ifndef __TYPE_TRAITS_H --# include --#endif -- --#ifndef __SGI_STL_INTERNAL_PAIR_H --# include --#endif -- --#ifdef __STL_USE_NAMESPACES -+#ifdef _STLP_USE_NAMESPACES - --# ifdef __STL_BROKEN_USING_DIRECTIVE -+# ifdef _STLP_BROKEN_USING_DIRECTIVE - using namespace STLPORT; - # else --using __STLPORT_STD::pair; --using __STLPORT_STD::make_pair; -+using _STLP_STD::pair; -+using _STLP_STD::make_pair; - # endif - --#endif /* __STL_USE_NAMESPACES */ -+#endif /* _STLP_USE_NAMESPACES */ - --# if (__STL_OUTERMOST_HEADER_ID == 0xa020) -+# if (_STLP_OUTERMOST_HEADER_ID == 0xa020) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_PAIR_H */ -+#endif /* _STLP_PAIR_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/pthread_alloc.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/pthread_alloc.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/pthread_alloc.h Sat Feb 24 10:44:34 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/pthread_alloc.h Sun Aug 11 18:59:24 2002 -@@ -23,33 +23,33 @@ - * - */ - --#ifndef __SGI_STL_PTHREAD_ALLOC_H --#define __SGI_STL_PTHREAD_ALLOC_H -+#ifndef _STLP_PTHREAD_ALLOC_H -+#define _STLP_PTHREAD_ALLOC_H - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0xa021 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0xa021 - # include - # endif - --#if defined (__STL_DEBUG) || defined (__STL_ASSERTIONS) -+#if defined (_STLP_DEBUG) || defined (_STLP_ASSERTIONS) - # include - #endif - - #include - --#ifdef __STL_USE_NAMESPACES -+#ifdef _STLP_USE_NAMESPACES - - using STLPORT::_Pthread_alloc_template; - using STLPORT::pthread_alloc; - --#endif /* __STL_USE_NAMESPACES */ -+#endif /* _STLP_USE_NAMESPACES */ - --# if (__STL_OUTERMOST_HEADER_ID == 0xa021) -+# if (_STLP_OUTERMOST_HEADER_ID == 0xa021) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_PTHREAD_ALLOC_H */ -+#endif /* _STLP_PTHREAD_ALLOC_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/rope.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/rope.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/rope.h Sat Feb 24 10:44:34 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/rope.h Sun Aug 11 18:59:24 2002 -@@ -16,18 +16,18 @@ - * - */ - --#ifndef __SGI_STL_ROPE_H --#define __SGI_STL_ROPE_H -+#ifndef _STLP_ROPE_H -+#define _STLP_ROPE_H - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0xa022 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0xa022 - # include - # endif - - #include - --#ifdef __STL_USE_NAMESPACES --# ifdef __STL_BROKEN_USING_DIRECTIVE -+#ifdef _STLP_USE_NAMESPACES -+# ifdef _STLP_BROKEN_USING_DIRECTIVE - using namespace STLPORT; - # else - using STLPORT::char_producer; -@@ -36,14 +36,14 @@ - using STLPORT::crope; - using STLPORT::wrope; - # endif --#endif /* __STL_USE_NAMESPACES */ -+#endif /* _STLP_USE_NAMESPACES */ - --# if (__STL_OUTERMOST_HEADER_ID == 0xa022) -+# if (_STLP_OUTERMOST_HEADER_ID == 0xa022) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_ROPE_H */ -+#endif /* _STLP_ROPE_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/set.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/set.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/set.h Sat Feb 24 10:44:34 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/set.h Sun Aug 11 18:59:24 2002 -@@ -23,34 +23,34 @@ - * - */ - --#ifndef __SGI_STL_SET_H --#define __SGI_STL_SET_H -+#ifndef _STLP_SET_H -+#define _STLP_SET_H - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0xa023 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0xa023 - # include - # endif - --#ifndef __SGI_STL_TREE_H -+#ifndef _STLP_TREE_H - # include - #endif - - #include - --#ifdef __STL_USE_NAMESPACES --# ifdef __STL_BROKEN_USING_DIRECTIVE -+#ifdef _STLP_USE_NAMESPACES -+# ifdef _STLP_BROKEN_USING_DIRECTIVE - using namespace STLPORT; - # else - using STLPORT::set; - using STLPORT::__set__; - # endif --#endif /* __STL_USE_NAMESPACES */ --# if (__STL_OUTERMOST_HEADER_ID == 0xa023) -+#endif /* _STLP_USE_NAMESPACES */ -+# if (_STLP_OUTERMOST_HEADER_ID == 0xa023) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_SET_H */ -+#endif /* _STLP_SET_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/slist.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/slist.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/slist.h Sat Feb 24 10:44:34 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/slist.h Sun Aug 11 18:59:24 2002 -@@ -16,41 +16,41 @@ - * - */ - --#ifndef __SGI_STL_SLIST_H --#define __SGI_STL_SLIST_H -+#ifndef _STLP_SLIST_H -+#define _STLP_SLIST_H - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0xa024 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0xa024 - # include - # endif - --#ifndef __SGI_STL_ALGOBASE_H -+#ifndef _STLP_ALGOBASE_H - # include - #endif - --#ifndef __SGI_STL_ALLOC_H -+#ifndef _STLP_ALLOC_H - # include - #endif - - #include - --#ifdef __STL_USE_NAMESPACES --# ifdef __STL_BROKEN_USING_DIRECTIVE -+#ifdef _STLP_USE_NAMESPACES -+# ifdef _STLP_BROKEN_USING_DIRECTIVE - using namespace STLPORT; - # else - using STLPORT::slist; --# ifdef __STL_LIMITED_DEFAULT_TEMPLATES -+# ifdef _STLP_LIMITED_DEFAULT_TEMPLATES - using STLPORT::__slist; - # endif - # endif --#endif /* __STL_USE_NAMESPACES */ -+#endif /* _STLP_USE_NAMESPACES */ - --# if (__STL_OUTERMOST_HEADER_ID == 0xa024) -+# if (_STLP_OUTERMOST_HEADER_ID == 0xa024) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_SLIST_H */ -+#endif /* _STLP_SLIST_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/stack.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/stack.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/stack.h Sat Feb 24 10:44:34 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/stack.h Sun Aug 11 18:59:24 2002 -@@ -23,50 +23,50 @@ - * - */ - --#ifndef __SGI_STL_STACK_H --#define __SGI_STL_STACK_H -+#ifndef _STLP_STACK_H -+#define _STLP_STACK_H - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0xa027 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0xa027 - # include - # endif - --#ifndef __SGI_STL_VECTOR_H -+#ifndef _STLP_VECTOR_H - #include - #endif - --#ifndef __SGI_STL_DEQUE_H -+#ifndef _STLP_DEQUE_H - #include - #endif - --#ifndef __SGI_STL_HEAP_H -+#ifndef _STLP_HEAP_H - #include - #endif - --#ifndef __SGI_STL_INTERNAL_STACK_H -+#ifndef _STLP_INTERNAL_STACK_H - #include - #endif - --#ifndef __SGI_STL_INTERNAL_QUEUE_H -+#ifndef _STLP_INTERNAL_QUEUE_H - #include - #endif - --#ifdef __STL_USE_NAMESPACES --# ifdef __STL_BROKEN_USING_DIRECTIVE -+#ifdef _STLP_USE_NAMESPACES -+# ifdef _STLP_BROKEN_USING_DIRECTIVE - using namespace STLPORT; - # else --using __STLPORT_STD::stack; --using __STLPORT_STD::queue; --using __STLPORT_STD::priority_queue; -+using _STLP_STD::stack; -+using _STLP_STD::queue; -+using _STLP_STD::priority_queue; - # endif --#endif /* __STL_USE_NAMESPACES */ -+#endif /* _STLP_USE_NAMESPACES */ - --# if (__STL_OUTERMOST_HEADER_ID == 0xa027) -+# if (_STLP_OUTERMOST_HEADER_ID == 0xa027) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_STACK_H */ -+#endif /* _STLP_STACK_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/tempbuf.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/tempbuf.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/tempbuf.h Sat Feb 24 10:44:34 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/tempbuf.h Sun Aug 11 18:59:24 2002 -@@ -20,27 +20,27 @@ - * - */ - --#ifndef __SGI_STL_TEMPBUF_H --#define __SGI_STL_TEMPBUF_H -+#ifndef _STLP_TEMPBUF_H -+#define _STLP_TEMPBUF_H - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0xa028 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0xa028 - # include - # endif - --# ifndef __STLPORT_CLIMITS -+# ifndef _STLP_CLIMITS - # include - # endif - --#ifndef __STLPORT_CSTDDEF -+#ifndef _STLP_CSTDDEF - # include - #endif - --#ifndef __STLPORT_CSTDLIB -+#ifndef _STLP_CSTDLIB - # include - #endif - --#if !defined (__STLPORT_NEW) -+#if !defined (_STLP_NEW) - # include - #endif - -@@ -48,31 +48,31 @@ - #include - #endif - --#ifndef __SGI_STL_PAIR_H -+#ifndef _STLP_PAIR_H - #include - #endif - --#ifndef __SGI_STL_INTERNAL_TEMPBUF_H -+#ifndef _STLP_INTERNAL_TEMPBUF_H - #include - #endif - --#ifdef __STL_USE_NAMESPACES -+#ifdef _STLP_USE_NAMESPACES - --# ifdef __STL_BROKEN_USING_DIRECTIVE -+# ifdef _STLP_BROKEN_USING_DIRECTIVE - using namespace STLPORT; - # else --using __STLPORT_STD::get_temporary_buffer; --using __STLPORT_STD::return_temporary_buffer; --using __STLPORT_STD::temporary_buffer; -+using _STLP_STD::get_temporary_buffer; -+using _STLP_STD::return_temporary_buffer; -+using _STLP_STD::temporary_buffer; - # endif --#endif /* __STL_USE_NAMESPACES */ -+#endif /* _STLP_USE_NAMESPACES */ - --# if (__STL_OUTERMOST_HEADER_ID == 0xa028) -+# if (_STLP_OUTERMOST_HEADER_ID == 0xa028) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_TEMPBUF_H */ -+#endif /* _STLP_TEMPBUF_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/tree.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/tree.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/tree.h Sat Feb 24 10:44:34 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/tree.h Sun Aug 11 18:59:24 2002 -@@ -20,40 +20,40 @@ - * - */ - --#ifndef __SGI_STL_TREE_H --#define __SGI_STL_TREE_H -+#ifndef _STLP_TREE_H -+#define _STLP_TREE_H - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0xa030 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0xa030 - # include - # endif - --#ifndef __SGI_STL_ALGOBASE_H -+#ifndef _STLP_ALGOBASE_H - #include - #endif - --#ifndef __SGI_STL_ALLOC_H -+#ifndef _STLP_ALLOC_H - #include - #endif - --#ifndef __SGI_STL_INTERNAL_TREE_H -+#ifndef _STLP_INTERNAL_TREE_H - #include - #endif - --#ifdef __STL_USE_NAMESPACES --# ifdef __STL_BROKEN_USING_DIRECTIVE -+#ifdef _STLP_USE_NAMESPACES -+# ifdef _STLP_BROKEN_USING_DIRECTIVE - using namespace STLPORT; - # else --using __STLPORT_STD::rb_tree; -+using _STLP_STD::rb_tree; - # endif --#endif /* __STL_USE_NAMESPACES */ -+#endif /* _STLP_USE_NAMESPACES */ - --# if (__STL_OUTERMOST_HEADER_ID == 0xa030) -+# if (_STLP_OUTERMOST_HEADER_ID == 0xa030) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_TREE_H */ -+#endif /* _STLP_TREE_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/vector.h tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/vector.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/old_hp/vector.h Sat Feb 24 10:44:34 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/old_hp/vector.h Sun Aug 11 18:59:24 2002 -@@ -20,45 +20,45 @@ - * - */ - --#ifndef __SGI_STL_VECTOR_H --#define __SGI_STL_VECTOR_H -+#ifndef _STLP_VECTOR_H -+#define _STLP_VECTOR_H - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0xa031 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0xa031 - # include - # endif - --#ifndef __SGI_STL_ALGOBASE_H -+#ifndef _STLP_ALGOBASE_H - # include - #endif - --#ifndef __SGI_STL_ALLOC_H -+#ifndef _STLP_ALLOC_H - # include - #endif - --# ifndef __STL_RANGE_ERRORS_H -+# ifndef _STLP_RANGE_ERRORS_H - # include - # endif - --#ifndef __SGI_STL_INTERNAL_VECTOR_H -+#ifndef _STLP_INTERNAL_VECTOR_H - # include - #endif - --#ifdef __STL_USE_NAMESPACES --# ifdef __STL_BROKEN_USING_DIRECTIVE -+#ifdef _STLP_USE_NAMESPACES -+# ifdef _STLP_BROKEN_USING_DIRECTIVE - using namespace STLPORT; - # else - using STLPORT::vector; - using STLPORT::__vector__; - # endif --#endif /* __STL_USE_NAMESPACES */ -+#endif /* _STLP_USE_NAMESPACES */ - --# if (__STL_OUTERMOST_HEADER_ID == 0xa031) -+# if (_STLP_OUTERMOST_HEADER_ID == 0xa031) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_VECTOR_H */ -+#endif /* _STLP_VECTOR_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/ostream tripwire-2.3.1-2/src/STLport-4.0/stlport/ostream ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/ostream Sat Feb 24 10:44:24 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/ostream Sun Aug 11 18:59:23 2002 -@@ -15,34 +15,30 @@ - * modified is included with the above copyright notice. - * - */ --#ifndef __SGI_STL_OSTREAM --#define __SGI_STL_OSTREAM -+#ifndef _STLP_OSTREAM -+#define _STLP_OSTREAM - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x1050 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x1050 - # include - # endif - --# if defined (__SGI_STL_OWN_IOSTREAMS) -- --# if defined(__sgi) && !defined(__GNUC__) && !defined(_STANDARD_C_PLUS_PLUS) --# error This header file requires the -LANG:std option --# endif -+# if defined (_STLP_OWN_IOSTREAMS) - - # include - --# elif !defined(__STL_USE_NO_IOSTREAMS) -+# elif !defined(_STLP_USE_NO_IOSTREAMS) - - # include - - # endif - --# if (__STL_OUTERMOST_HEADER_ID == 0x1050) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x1050) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_OSTREAM */ -+#endif /* _STLP_OSTREAM */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/ostream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/ostream.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/ostream.h Sat Feb 24 10:44:24 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/ostream.h Sun Aug 11 18:59:23 2002 -@@ -13,37 +13,41 @@ - * - */ - --#ifndef __STLPORT_OSTREAM_H --# define __STLPORT_OSTREAM_H -+#ifndef _STLP_OSTREAM_H -+# define _STLP_OSTREAM_H - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x2051 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x2051 - # include - # endif - --# if defined (__SGI_STL_OWN_IOSTREAMS) -+# if defined (_STLP_OWN_IOSTREAMS) - -+#ifdef __BORLANDC__ -+# include -+#else - # include -+#endif - --# ifdef __STL_USE_NAMESPACES -+# ifdef _STLP_USE_NAMESPACES - # include - # endif - --# elif !defined (__STL_USE_NO_IOSTREAMS) -+# elif !defined (_STLP_USE_NO_IOSTREAMS) - --# include __STL_NATIVE_OLD_STREAMS_HEADER(ostream.h) --# if defined (__STL_USE_NAMESPACES) && !defined (__STL_BROKEN_USING_DIRECTIVE) --__STL_BEGIN_NAMESPACE -+# include _STLP_NATIVE_OLD_STREAMS_HEADER(ostream.h) -+# if defined (_STLP_USE_NAMESPACES) && !defined (_STLP_BROKEN_USING_DIRECTIVE) -+_STLP_BEGIN_NAMESPACE - # include --__STL_END_NAMESPACE --# endif /* __STL_USE_NAMESPACES */ -+_STLP_END_NAMESPACE -+# endif /* _STLP_USE_NAMESPACES */ - --# endif /* __STL_USE_NO_IOSTREAMS */ -+# endif /* _STLP_USE_NO_IOSTREAMS */ - --# if (__STL_OUTERMOST_HEADER_ID == 0x2051) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x2051) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __STLPORT_OSTREAM_H */ -+#endif /* _STLP_OSTREAM_H */ - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/pthread.h tripwire-2.3.1-2/src/STLport-4.0/stlport/pthread.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/pthread.h Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/pthread.h Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,39 @@ -+/* -+ * Copyright (c) 1999 -+ * Boris Fomitchev -+ * -+ * This material is provided "as is", with absolutely no warranty expressed -+ * or implied. Any use is at your own risk. -+ * -+ * Permission to use or copy this software for any purpose is hereby granted -+ * without fee, provided the above notices are retained on all copies. -+ * Permission to modify the code and to distribute modified code is granted, -+ * provided the above notices are retained, and a notice that the code was -+ * modified is included with the above copyright notice. -+ * -+ */ -+ -+# if !defined (_STLP_OUTERMOST_HEADER_ID) -+# define _STLP_OUTERMOST_HEADER_ID 0x280 -+# include -+# elif (_STLP_OUTERMOST_HEADER_ID == 0x280) && ! defined (_STLP_DONT_POP_0x280) -+# define _STLP_DONT_POP_0x280 -+# endif -+ -+# if defined (__SUNPRO_CC) || defined (__HP_aCC) -+# include "/usr/include/pthread.h" -+# else -+# include _STLP_NATIVE_C_HEADER(pthread.h) -+# endif -+ -+# if (_STLP_OUTERMOST_HEADER_ID == 0x280) -+# if ! defined (_STLP_DONT_POP_0x280) -+# include -+# undef _STLP_OUTERMOST_HEADER_ID -+# endif -+# undef _STLP_DONT_POP_0x280 -+# endif -+ -+// Local Variables: -+// mode:C++ -+// End: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/pthread_alloc tripwire-2.3.1-2/src/STLport-4.0/stlport/pthread_alloc ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/pthread_alloc Sat Feb 24 10:44:24 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/pthread_alloc Sun Aug 11 18:59:23 2002 -@@ -23,506 +23,22 @@ - * - */ - --#ifndef __SGI_STL_PTHREAD_ALLOC --#define __SGI_STL_PTHREAD_ALLOC -+#ifndef _STLP_PTHREAD_ALLOC -+#define _STLP_PTHREAD_ALLOC - --// Pthread-specific node allocator. --// This is similar to the default allocator, except that free-list --// information is kept separately for each thread, avoiding locking. --// This should be reasonably fast even in the presence of threads. --// The down side is that storage may not be well-utilized. --// It is not an error to allocate memory in thread A and deallocate --// it in thread B. But this effectively transfers ownership of the memory, --// so that it can only be reallocated by thread B. Thus this can effectively --// result in a storage leak if it's done on a regular basis. --// It can also result in frequent sharing of --// cache lines among processors, with potentially serious performance --// consequences. -- --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x52 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x52 - # include - # endif - --#ifndef __SGI_STL_INTERNAL_ALLOC_H --#include --#endif --#ifndef __RESTRICT --# define __RESTRICT --#endif -- --__STL_BEGIN_NAMESPACE -- --#define __STL_DATA_ALIGNMENT 8 -- --union _Pthread_alloc_obj { -- union _Pthread_alloc_obj * __free_list_link; -- char __client_data[__STL_DATA_ALIGNMENT]; /* The client sees this. */ --}; -- --// Pthread allocators don't appear to the client to have meaningful --// instances. We do in fact need to associate some state with each --// thread. That state is represented by --// _Pthread_alloc_per_thread_state<_Max_size>. -- --template --struct _Pthread_alloc_per_thread_state { -- typedef _Pthread_alloc_obj __obj; -- enum { _S_NFREELISTS = _Max_size/__STL_DATA_ALIGNMENT }; -- _Pthread_alloc_obj* volatile __free_list[_S_NFREELISTS]; -- _Pthread_alloc_per_thread_state<_Max_size> * __next; -- // Free list link for list of available per thread structures. -- // When one of these becomes available for reuse due to thread -- // termination, any objects in its free list remain associated -- // with it. The whole structure may then be used by a newly -- // created thread. -- _Pthread_alloc_per_thread_state() : __next(0) -- { -- memset((void *)__free_list, 0, (size_t)_S_NFREELISTS * sizeof(__obj *)); -- } -- // Returns an object of size __n, and possibly adds to size n free list. -- void *_M_refill(size_t __n); --}; -- --// Pthread-specific allocator. --// The argument specifies the largest object size allocated from per-thread --// free lists. Larger objects are allocated using malloc_alloc. --// Max_size must be a power of 2. --template < __DFL_NON_TYPE_PARAM(size_t, _Max_size, 128) > --class _Pthread_alloc_template { -- --public: // but only for internal use: -- -- typedef _Pthread_alloc_obj __obj; -- -- // Allocates a chunk for nobjs of size size. nobjs may be reduced -- // if it is inconvenient to allocate the requested number. -- static char *_S_chunk_alloc(size_t __size, int &__nobjs); -- -- enum {_S_ALIGN = __STL_DATA_ALIGNMENT}; -- -- static size_t _S_round_up(size_t __bytes) { -- return (((__bytes) + (int)_S_ALIGN-1) & ~((int)_S_ALIGN - 1)); -- } -- static size_t _S_freelist_index(size_t __bytes) { -- return (((__bytes) + (int)_S_ALIGN-1)/(int)_S_ALIGN - 1); -- } -- --private: -- // Chunk allocation state. And other shared state. -- // Protected by _S_chunk_allocator_lock. -- static _STL_mutex_base _S_chunk_allocator_lock; -- static char *_S_start_free; -- static char *_S_end_free; -- static size_t _S_heap_size; -- static _Pthread_alloc_per_thread_state<_Max_size>* _S_free_per_thread_states; -- static pthread_key_t _S_key; -- static bool _S_key_initialized; -- // Pthread key under which per thread state is stored. -- // Allocator instances that are currently unclaimed by any thread. -- static void _S_destructor(void *instance); -- // Function to be called on thread exit to reclaim per thread -- // state. -- static _Pthread_alloc_per_thread_state<_Max_size> *_S_new_per_thread_state(); -- // Return a recycled or new per thread state. -- static _Pthread_alloc_per_thread_state<_Max_size> *_S_get_per_thread_state(); -- // ensure that the current thread has an associated -- // per thread state. -- class _M_lock; -- friend class _M_lock; -- class _M_lock { -- public: -- _M_lock () { _S_chunk_allocator_lock._M_acquire_lock(); } -- ~_M_lock () { _S_chunk_allocator_lock._M_release_lock(); } -- }; -- --public: -- -- /* n must be > 0 */ -- static void * allocate(size_t __n) -- { -- __obj * volatile * __my_free_list; -- __obj * __RESTRICT __result; -- _Pthread_alloc_per_thread_state<_Max_size>* __a; -- -- if (__n > _Max_size) { -- return(__malloc_alloc<0>::allocate(__n)); -- } -- if (!_S_key_initialized || -- !(__a = (_Pthread_alloc_per_thread_state<_Max_size>*) -- pthread_getspecific(_S_key))) { -- __a = _S_get_per_thread_state(); -- } -- __my_free_list = __a -> __free_list + _S_freelist_index(__n); -- __result = *__my_free_list; -- if (__result == 0) { -- void *__r = __a -> _M_refill(_S_round_up(__n)); -- return __r; -- } -- *__my_free_list = __result -> __free_list_link; -- return (__result); -- }; -- -- /* p may not be 0 */ -- static void deallocate(void *__p, size_t __n) -- { -- __obj *__q = (__obj *)__p; -- __obj * volatile * __my_free_list; -- _Pthread_alloc_per_thread_state<_Max_size>* __a; -- -- if (__n > _Max_size) { -- __malloc_alloc<0>::deallocate(__p, __n); -- return; -- } -- if (!_S_key_initialized || -- !(__a = (_Pthread_alloc_per_thread_state<_Max_size> *) -- pthread_getspecific(_S_key))) { -- __a = _S_get_per_thread_state(); -- } -- __my_free_list = __a->__free_list + _S_freelist_index(__n); -- __q -> __free_list_link = *__my_free_list; -- *__my_free_list = __q; -- } -- -- static void * reallocate(void *__p, size_t __old_sz, size_t __new_sz); -- --} ; -- --typedef _Pthread_alloc_template<128> pthread_alloc; -- -- --template --void _Pthread_alloc_template<_Max_size>::_S_destructor(void * __instance) --{ -- _M_lock __lock_instance; // Need to acquire lock here. -- _Pthread_alloc_per_thread_state<_Max_size>* __s = -- (_Pthread_alloc_per_thread_state<_Max_size> *)__instance; -- __s -> __next = _S_free_per_thread_states; -- _S_free_per_thread_states = __s; --} -- --template --_Pthread_alloc_per_thread_state<_Max_size> * --_Pthread_alloc_template<_Max_size>::_S_new_per_thread_state() --{ -- /* lock already held here. */ -- if (0 != _S_free_per_thread_states) { -- _Pthread_alloc_per_thread_state<_Max_size> *__result = -- _S_free_per_thread_states; -- _S_free_per_thread_states = _S_free_per_thread_states -> __next; -- return __result; -- } else { -- return __STL_NEW _Pthread_alloc_per_thread_state<_Max_size>; -- } --} -- --template --_Pthread_alloc_per_thread_state<_Max_size> * --_Pthread_alloc_template<_Max_size>::_S_get_per_thread_state() --{ -- /*REFERENCED*/ -- _M_lock __lock_instance; // Need to acquire lock here. -- int __ret_code; -- _Pthread_alloc_per_thread_state<_Max_size> * __result; -- if (!_S_key_initialized) { -- if (pthread_key_create(&_S_key, _S_destructor)) { -- __THROW_BAD_ALLOC; // failed -- } -- _S_key_initialized = true; -- } -- __result = _S_new_per_thread_state(); -- __ret_code = pthread_setspecific(_S_key, __result); -- if (__ret_code) { -- if (__ret_code == ENOMEM) { -- __THROW_BAD_ALLOC; -- } else { -- // EINVAL -- abort(); -- } -- } -- return __result; --} -- --/* We allocate memory in large chunks in order to avoid fragmenting */ --/* the malloc heap too much. */ --/* We assume that size is properly aligned. */ --template --char *_Pthread_alloc_template<_Max_size> --::_S_chunk_alloc(size_t __p_size, int &__nobjs) --{ -- { -- char * __result; -- size_t __total_bytes; -- size_t __bytes_left; -- /*REFERENCED*/ -- _M_lock __lock_instance; // Acquire lock for this routine -- -- __total_bytes = __p_size * __nobjs; -- __bytes_left = _S_end_free - _S_start_free; -- if (__bytes_left >= __total_bytes) { -- __result = _S_start_free; -- _S_start_free += __total_bytes; -- return(__result); -- } else if (__bytes_left >= __p_size) { -- __nobjs = __bytes_left/__p_size; -- __total_bytes = __p_size * __nobjs; -- __result = _S_start_free; -- _S_start_free += __total_bytes; -- return(__result); -- } else { -- size_t __bytes_to_get = -- 2 * __total_bytes + _S_round_up(_S_heap_size >> 4); -- // Try to make use of the left-over piece. -- if (__bytes_left > 0) { -- _Pthread_alloc_per_thread_state<_Max_size>* __a = -- (_Pthread_alloc_per_thread_state<_Max_size>*) -- pthread_getspecific(_S_key); -- __obj * volatile * __my_free_list = -- __a->__free_list + _S_freelist_index(__bytes_left); -- -- ((__obj *)_S_start_free) -> __free_list_link = *__my_free_list; -- *__my_free_list = (__obj *)_S_start_free; -- } --# ifdef _SGI_SOURCE -- // Try to get memory that's aligned on something like a -- // cache line boundary, so as to avoid parceling out -- // parts of the same line to different threads and thus -- // possibly different processors. -- { -- const int __cache_line_size = 128; // probable upper bound -- __bytes_to_get &= ~(__cache_line_size-1); -- _S_start_free = (char *)memalign(__cache_line_size, __bytes_to_get); -- if (0 == _S_start_free) { -- _S_start_free = (char *)__malloc_alloc<0>::allocate(__bytes_to_get); -- } -- } --# else /* !SGI_SOURCE */ -- _S_start_free = (char *)__malloc_alloc<0>::allocate(__bytes_to_get); --# endif -- _S_heap_size += __bytes_to_get; -- _S_end_free = _S_start_free + __bytes_to_get; -- } -- } -- // lock is released here -- return(_S_chunk_alloc(__p_size, __nobjs)); --} -- -- --/* Returns an object of size n, and optionally adds to size n free list.*/ --/* We assume that n is properly aligned. */ --/* We hold the allocation lock. */ --template --void *_Pthread_alloc_per_thread_state<_Max_size> --::_M_refill(size_t __n) --{ -- int __nobjs = 128; -- char * __chunk = -- _Pthread_alloc_template<_Max_size>::_S_chunk_alloc(__n, __nobjs); -- __obj * volatile * __my_free_list; -- __obj * __result; -- __obj * __current_obj, * __next_obj; -- int __i; -- -- if (1 == __nobjs) { -- return(__chunk); -- } -- __my_free_list = __free_list -- + _Pthread_alloc_template<_Max_size>::_S_freelist_index(__n); -- -- /* Build free list in chunk */ -- __result = (__obj *)__chunk; -- *__my_free_list = __next_obj = (__obj *)(__chunk + __n); -- for (__i = 1; ; __i++) { -- __current_obj = __next_obj; -- __next_obj = (__obj *)((char *)__next_obj + __n); -- if (__nobjs - 1 == __i) { -- __current_obj -> __free_list_link = 0; -- break; -- } else { -- __current_obj -> __free_list_link = __next_obj; -- } -- } -- return(__result); --} -- --template --void *_Pthread_alloc_template<_Max_size> --::reallocate(void *__p, size_t __old_sz, size_t __new_sz) --{ -- void * __result; -- size_t __copy_sz; -- -- if (__old_sz > _Max_size -- && __new_sz > _Max_size) { -- return(realloc(__p, __new_sz)); -- } -- if (_S_round_up(__old_sz) == _S_round_up(__new_sz)) return(__p); -- __result = allocate(__new_sz); -- __copy_sz = __new_sz > __old_sz? __old_sz : __new_sz; -- memcpy(__result, __p, __copy_sz); -- deallocate(__p, __old_sz); -- return(__result); --} -- --#if __STL_STATIC_TEMPLATE_DATA > 0 --template --_Pthread_alloc_per_thread_state<_Max_size> * --_Pthread_alloc_template<_Max_size>::_S_free_per_thread_states = 0; -- --template --pthread_key_t _Pthread_alloc_template<_Max_size>::_S_key; -- --template --bool _Pthread_alloc_template<_Max_size>::_S_key_initialized = false; -- --template --_STL_mutex_base _Pthread_alloc_template<_Max_size>::_S_chunk_allocator_lock -- __STL_MUTEX_INITIALIZER; -- --template --char *_Pthread_alloc_template<_Max_size> --::_S_start_free = 0; -- --template --char *_Pthread_alloc_template<_Max_size> --::_S_end_free = 0; -- --template --size_t _Pthread_alloc_template<_Max_size> --::_S_heap_size = 0; --# endif -- --template --class pthread_allocator { -- typedef pthread_alloc _S_Alloc; // The underlying allocator. --public: -- typedef size_t size_type; -- typedef ptrdiff_t difference_type; -- typedef _Tp* pointer; -- typedef const _Tp* const_pointer; -- typedef _Tp& reference; -- typedef const _Tp& const_reference; -- typedef _Tp value_type; -- --#ifdef __STL_MEMBER_TEMPLATE_CLASSES -- template struct rebind { -- typedef pthread_allocator<_NewType> other; -- }; --#endif -- -- pthread_allocator() __STL_NOTHROW {} -- pthread_allocator(const pthread_allocator<_Tp>& a) __STL_NOTHROW {} -- --#if defined (__STL_MEMBER_TEMPLATES) && defined (__STL_FUNCTION_PARTIAL_ORDER) -- template pthread_allocator(const pthread_allocator<_OtherType>&) -- __STL_NOTHROW {} --#endif -- -- ~pthread_allocator() __STL_NOTHROW {} -- -- pointer address(reference __x) const { return &__x; } -- const_pointer address(const_reference __x) const { return &__x; } -- -- // __n is permitted to be 0. The C++ standard says nothing about what -- // the return value is when __n == 0. -- _Tp* allocate(size_type __n, const void* = 0) { -- return __n != 0 ? __STATIC_CAST(_Tp*,_S_Alloc::allocate(__n * sizeof(_Tp))) -- : 0; -- } -- -- // p is not permitted to be a null pointer. -- void deallocate(pointer __p, size_type __n) -- { _S_Alloc::deallocate(__p, __n * sizeof(_Tp)); } -- -- size_type max_size() const __STL_NOTHROW -- { return size_t(-1) / sizeof(_Tp); } -- -- void construct(pointer __p, const _Tp& __val) { __STL_PLACEMENT_NEW (__p) _Tp(__val); } -- void destroy(pointer _p) { _p->~_Tp(); } --}; -- --__STL_TEMPLATE_NULL --class pthread_allocator { --public: -- typedef size_t size_type; -- typedef ptrdiff_t difference_type; -- typedef void* pointer; -- typedef const void* const_pointer; -- typedef void value_type; --#ifdef __STL_MEMBER_TEMPLATE_CLASSES -- template struct rebind { -- typedef pthread_allocator<_NewType> other; -- }; --#endif --}; -- --/* --template --inline bool operator==(const _Pthread_alloc_template<_Max_size>&, -- const _Pthread_alloc_template<_Max_size>&) --{ -- return true; --} --*/ -- --template --inline bool operator==(const pthread_allocator<_T1>&, -- const pthread_allocator<_T2>& a2) --{ -- return true; --} -- --#ifdef __STL_FUNCTION_TMPL_PARTIAL_ORDER --template --inline bool operator!=(const pthread_allocator<_T1>&, -- const pthread_allocator<_T2>&) --{ -- return false; --} --#endif -- --#ifdef __STL_CLASS_PARTIAL_SPECIALIZATION --template --struct _Alloc_traits<_Tp, _Pthread_alloc_template<_Max_size> > --{ -- typedef __allocator<_Tp, _Pthread_alloc_template<_Max_size> > -- allocator_type; --}; -- --/* --template --struct _Alloc_traits<_Tp, __allocator<_Atype, _Pthread_alloc_template<_Max> > > --{ -- typedef __allocator<_Tp, _Pthread_alloc_template<_Max> > allocator_type; --}; --*/ -- --template --struct _Alloc_traits<_Tp, pthread_allocator<_Atype> > --{ -- typedef pthread_allocator<_Tp> allocator_type; --}; -- --#endif -- --#if !defined (__STL_MEMBER_TEMPLATE_CLASSES) -- --template --inline allocator<_Tp2> --__stl_alloc_rebind(pthread_allocator<_Tp1>&, const _Tp2*, __false_type) { -- return allocator<_Tp2>(); --} -- --#endif /* __STL_MEMBER_TEMPLATE_CLASSES */ -- --__STL_END_NAMESPACE -+# include - --# if (__STL_OUTERMOST_HEADER_ID == 0x52) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x52) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_PTHREAD_ALLOC */ -+#endif /* _STLP_PTHREAD_ALLOC */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/queue tripwire-2.3.1-2/src/STLport-4.0/stlport/queue ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/queue Sat Feb 24 10:44:24 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/queue Sun Aug 11 18:59:23 2002 -@@ -23,32 +23,28 @@ - * - */ - --#ifndef __SGI_STL_QUEUE --#define __SGI_STL_QUEUE -+#ifndef _STLP_QUEUE -+#define _STLP_QUEUE - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x53 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x53 - # include - # endif - --#ifndef __SGI_STL_INTERNAL_QUEUE_H -+#ifndef _STLP_INTERNAL_QUEUE_H - # include - #endif - --#ifndef __SGI_STL_INTERNAL_FUNCTION_H -+#ifndef _STLP_INTERNAL_FUNCTION_H - # include - #endif - --#if defined (__STL_WHOLE_NATIVE_STD) --# include __STL_NATIVE_HEADER(queue) --#endif -- --# if (__STL_OUTERMOST_HEADER_ID == 0x53) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x53) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_QUEUE */ -+#endif /* _STLP_QUEUE */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/rlocks.h tripwire-2.3.1-2/src/STLport-4.0/stlport/rlocks.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/rlocks.h Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/rlocks.h Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,11 @@ -+#ifndef _STLP_misc_rlocks_h -+# define _STLP_misc_rlocks_h -+# if (__SUNPRO_CC >= 0x500 ) -+# include <../CCios/rlocks.h> -+# elif defined (__SUNPRO_CC) -+# include <../CC/rlocks.h> -+# else -+# error "This file is for SUN CC only. Please remove it if it causes any harm for other compilers." -+# endif -+#endif -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/rope tripwire-2.3.1-2/src/STLport-4.0/stlport/rope ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/rope Sat Feb 24 10:44:24 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/rope Sun Aug 11 18:59:23 2002 -@@ -11,22 +11,22 @@ - * purpose. It is provided "as is" without express or implied warranty. - */ - --#ifndef __SGI_STL_ROPE --#define __SGI_STL_ROPE -+#ifndef _STLP_ROPE -+#define _STLP_ROPE - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x54 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x54 - # include - # endif - - # include - --# if (__STL_OUTERMOST_HEADER_ID == 0x54) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x54) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_ROPE */ -+#endif /* _STLP_ROPE */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/set tripwire-2.3.1-2/src/STLport-4.0/stlport/set ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/set Sat Feb 24 10:44:24 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/set Sun Aug 11 18:59:23 2002 -@@ -23,26 +23,26 @@ - * - */ - --#ifndef __SGI_STL_SET --#define __SGI_STL_SET -+#ifndef _STLP_SET -+#define _STLP_SET - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x55 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x55 - # include - # endif - - #include - --#if defined (__STL_WHOLE_NATIVE_STD) --# include __STL_NATIVE_HEADER(set) -+#if defined (_STLP_WHOLE_VENDOR_STD) -+# include _STLP_NATIVE_HEADER(set) - #endif - --# if (__STL_OUTERMOST_HEADER_ID == 0x55) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x55) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_SET */ -+#endif /* _STLP_SET */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/setjmp.h tripwire-2.3.1-2/src/STLport-4.0/stlport/setjmp.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/setjmp.h Sat Feb 24 10:44:24 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/setjmp.h Sun Aug 11 18:59:23 2002 -@@ -13,24 +13,24 @@ - * - */ - --# if !defined (__STL_OUTERMOST_HEADER_ID) --# define __STL_OUTERMOST_HEADER_ID 0x256 -+# if !defined (_STLP_OUTERMOST_HEADER_ID) -+# define _STLP_OUTERMOST_HEADER_ID 0x256 - # include --# elif (__STL_OUTERMOST_HEADER_ID == 0x256) && ! defined (__STL_DONT_POP_0x256) --# define __STL_DONT_POP_0x256 -+# elif (_STLP_OUTERMOST_HEADER_ID == 0x256) && ! defined (_STLP_DONT_POP_0x256) -+# define _STLP_DONT_POP_0x256 - # endif - - - # ifndef setjmp --# include __STL_NATIVE_C_HEADER(setjmp.h) -+# include _STLP_NATIVE_C_HEADER(setjmp.h) - # endif - --# if (__STL_OUTERMOST_HEADER_ID == 0x256) --# if ! defined (__STL_DONT_POP_0x256) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x256) -+# if ! defined (_STLP_DONT_POP_0x256) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif --# undef __STL_DONT_POP_0x256 -+# undef _STLP_DONT_POP_0x256 - # endif - - // Local Variables: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/signal.h tripwire-2.3.1-2/src/STLport-4.0/stlport/signal.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/signal.h Sat Feb 24 10:44:24 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/signal.h Sun Aug 11 18:59:23 2002 -@@ -13,21 +13,21 @@ - * - */ - --# if !defined (__STL_OUTERMOST_HEADER_ID) --# define __STL_OUTERMOST_HEADER_ID 0x257 -+# if !defined (_STLP_OUTERMOST_HEADER_ID) -+# define _STLP_OUTERMOST_HEADER_ID 0x257 - # include --# elif (__STL_OUTERMOST_HEADER_ID == 0x257) && ! defined (__STL_DONT_POP_0x257) --# define __STL_DONT_POP_0x257 -+# elif (_STLP_OUTERMOST_HEADER_ID == 0x257) && ! defined (_STLP_DONT_POP_0x257) -+# define _STLP_DONT_POP_0x257 - # endif - --# include __STL_NATIVE_C_HEADER(signal.h) -+# include _STLP_NATIVE_C_HEADER(signal.h) - --# if (__STL_OUTERMOST_HEADER_ID == 0x257) --# if ! defined (__STL_DONT_POP_0x257) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x257) -+# if ! defined (_STLP_DONT_POP_0x257) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif --# undef __STL_DONT_POP_0x257 -+# undef _STLP_DONT_POP_0x257 - # endif - - // Local Variables: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/slist tripwire-2.3.1-2/src/STLport-4.0/stlport/slist ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/slist Sat Feb 24 10:44:25 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/slist Sun Aug 11 18:59:23 2002 -@@ -12,24 +12,28 @@ - * - */ - --#ifndef __SGI_STL_SLIST --#define __SGI_STL_SLIST -+#ifndef _STLP_SLIST -+#define _STLP_SLIST - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x58 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x58 - # include - # endif - --#ifndef __SGI_STL_INTERNAL_SLIST_H -+#ifndef _STLP_INTERNAL_SLIST_H - # include - #endif - --# if (__STL_OUTERMOST_HEADER_ID == 0x58) -+#if defined (_STLP_WHOLE_VENDOR_STD) -+# include _STLP_NATIVE_HEADER(slist) -+#endif -+ -+# if (_STLP_OUTERMOST_HEADER_ID == 0x58) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_SLIST */ -+#endif /* _STLP_SLIST */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/sstream tripwire-2.3.1-2/src/STLport-4.0/stlport/sstream ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/sstream Sat Feb 24 10:44:25 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/sstream Sun Aug 11 18:59:23 2002 -@@ -20,34 +20,30 @@ - // represent streamsbufs and streams whose sources or destinations are - // C++ strings. - --#ifndef __SGI_STL_SSTREAM --#define __SGI_STL_SSTREAM -+#ifndef _STLP_SSTREAM -+#define _STLP_SSTREAM - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x1059 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x1059 - # include - # endif - --# if defined (__SGI_STL_OWN_IOSTREAMS) -- --# if defined(__sgi) && !defined(__GNUC__) && !defined(_STANDARD_C_PLUS_PLUS) --# error This header file requires the -LANG:std option --# endif -+# if defined (_STLP_OWN_IOSTREAMS) - - # include - --# elif !defined (__STL_USE_NO_IOSTREAMS) -+# elif !defined (_STLP_USE_NO_IOSTREAMS) - - # include - - # endif - --# if (__STL_OUTERMOST_HEADER_ID == 0x1059) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x1059) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_SSTREAM */ -+#endif /* _STLP_SSTREAM */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stack tripwire-2.3.1-2/src/STLport-4.0/stlport/stack ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stack Sat Feb 24 10:44:25 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stack Sun Aug 11 18:59:23 2002 -@@ -23,32 +23,28 @@ - * - */ - --#ifndef __SGI_STL_STACK --#define __SGI_STL_STACK -+#ifndef _STLP_STACK -+#define _STLP_STACK - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x60 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x60 - # include - # endif - --#ifndef __SGI_STL_INTERNAL_DEQUE_H --#include --#endif -- --#ifndef __SGI_STL_INTERNAL_STACK_H -+#ifndef _STLP_INTERNAL_STACK_H - #include - #endif - --#if defined (__STL_WHOLE_NATIVE_STD) --# include __STL_NATIVE_HEADER(stack) --# endif -+#if defined (_STLP_WHOLE_VENDOR_STD) -+# include _STLP_NATIVE_HEADER(stack) -+#endif - --# if (__STL_OUTERMOST_HEADER_ID == 0x60) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x60) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_STACK */ -+#endif /* _STLP_STACK */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stdarg.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stdarg.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stdarg.h Sat Feb 24 10:44:25 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stdarg.h Sun Aug 11 18:59:23 2002 -@@ -13,21 +13,21 @@ - * - */ - --# if !defined (__STL_OUTERMOST_HEADER_ID) --# define __STL_OUTERMOST_HEADER_ID 0x261 -+# if !defined (_STLP_OUTERMOST_HEADER_ID) -+# define _STLP_OUTERMOST_HEADER_ID 0x261 - # include --# elif (__STL_OUTERMOST_HEADER_ID == 0x261) && ! defined (__STL_DONT_POP_0x261) --# define __STL_DONT_POP_0x261 -+# elif (_STLP_OUTERMOST_HEADER_ID == 0x261) && ! defined (_STLP_DONT_POP_0x261) -+# define _STLP_DONT_POP_0x261 - # endif - --# include __STL_NATIVE_C_HEADER(stdarg.h) -+# include _STLP_NATIVE_C_HEADER(stdarg.h) - --# if (__STL_OUTERMOST_HEADER_ID == 0x261) --# if ! defined (__STL_DONT_POP_0x261) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x261) -+# if ! defined (_STLP_DONT_POP_0x261) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif --# undef __STL_DONT_POP_0x261 -+# undef _STLP_DONT_POP_0x261 - # endif - - // Local Variables: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stddef.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stddef.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stddef.h Sat Feb 24 10:44:25 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stddef.h Sun Aug 11 18:59:23 2002 -@@ -13,23 +13,23 @@ - * - */ - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x262 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x262 - # include - # endif - --# ifndef __STL_WINCE -+# ifndef _STLP_WINCE - --# include __STL_NATIVE_C_HEADER(stddef.h) -+# include _STLP_NATIVE_C_HEADER(stddef.h) - - # endif /* WINCE */ - --# if (__STL_OUTERMOST_HEADER_ID == 0x262) --# if ! defined (__STL_DONT_POP_0x262) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x262) -+# if ! defined (_STLP_DONT_POP_0x262) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif --# undef __STL_DONT_POP_0x262 -+# undef _STLP_DONT_POP_0x262 - # endif - - // Local Variables: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stdexcept tripwire-2.3.1-2/src/STLport-4.0/stlport/stdexcept ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stdexcept Sat Feb 24 10:44:25 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stdexcept Sun Aug 11 18:59:23 2002 -@@ -16,117 +16,152 @@ - * - */ - --#ifndef __SGI_STDEXCEPT -+#ifndef _STLP_STDEXCEPT - --# if !defined (__STL_OUTERMOST_HEADER_ID) --# define __STL_OUTERMOST_HEADER_ID 0x63 -+# if !defined (_STLP_OUTERMOST_HEADER_ID) -+# define _STLP_OUTERMOST_HEADER_ID 0x63 - # include --# elif (__STL_OUTERMOST_HEADER_ID == 0x63) && ! defined (__STL_DONT_POP_0x63) --# define __STL_DONT_POP_0x63 -+# elif (_STLP_OUTERMOST_HEADER_ID == 0x63) && ! defined (_STLP_DONT_POP_0x63) -+# define _STLP_DONT_POP_0x63 - # endif - --# if !defined(__SGI_STDEXCEPT_SEEN) && \ -- (!defined (__STL_USE_NATIVE_STDEXCEPT) || defined (__STL_USE_OWN_NAMESPACE)) -+# if !defined(_STLP_STDEXCEPT_SEEN) && \ -+ (!defined (_STLP_USE_NATIVE_STDEXCEPT) || defined (_STLP_USE_OWN_NAMESPACE)) - --# define __SGI_STDEXCEPT_SEEN 1 -+# define _STLP_STDEXCEPT_SEEN 1 - - # include - --#if defined(__STL_USE_EXCEPTIONS) || \ -+#if defined(_STLP_USE_EXCEPTIONS) || \ - !(defined(_MIPS_SIM) && defined(_ABIO32) && _MIPS_SIM == _ABIO32) - - # include - --#ifndef __SGI_STL_INTERNAL_ALLOC_H -+#ifndef _STLP_INTERNAL_ALLOC_H - # include - #endif - --#ifndef __SGI_STL_STRING_FWD_H -+#ifndef _STLP_STRING_FWD_H - # include - #endif - --__STL_BEGIN_NAMESPACE -+# define _STLP_OWN_STDEXCEPT 1 - --class __STL_CLASS_DECLSPEC __Named_exception : public __STL_EXCEPTION_BASE { -+_STLP_BEGIN_NAMESPACE -+ -+class _STLP_CLASS_DECLSPEC __Named_exception : public _STLP_EXCEPTION_BASE { - public: -- __Named_exception(const string& __str) { -+ __Named_exception(const string& __str) -+# ifdef _STLP_OWN_IOSTREAMS -+ ; -+ const char* what() const _STLP_NOTHROW_INHERENTLY; -+ ~__Named_exception() _STLP_NOTHROW_INHERENTLY; -+# else -+ { - strncpy(_M_name, __get_c_string(__str), _S_bufsize); - _M_name[_S_bufsize - 1] = '\0'; - } -- virtual const char* what() const __STL_NOTHROW_INHERENTLY { return _M_name; } -+ const char* what() const _STLP_NOTHROW_INHERENTLY { return _M_name; } -+# endif - - private: - enum { _S_bufsize = 256 }; - char _M_name[_S_bufsize]; - }; - --class __STL_CLASS_DECLSPEC logic_error : public __Named_exception { -+class _STLP_CLASS_DECLSPEC logic_error : public __Named_exception { - public: - logic_error(const string& __s) : __Named_exception(__s) {} -+# ifdef _STLP_OWN_IOSTREAMS -+ ~logic_error() _STLP_NOTHROW_INHERENTLY; -+# endif - }; - --class __STL_CLASS_DECLSPEC runtime_error : public __Named_exception { -+class _STLP_CLASS_DECLSPEC runtime_error : public __Named_exception { - public: - runtime_error(const string& __s) : __Named_exception(__s) {} -+# ifdef _STLP_OWN_IOSTREAMS -+ ~runtime_error() _STLP_NOTHROW_INHERENTLY; -+# endif - }; - --class __STL_CLASS_DECLSPEC domain_error : public logic_error { -+class _STLP_CLASS_DECLSPEC domain_error : public logic_error { - public: - domain_error(const string& __arg) : logic_error(__arg) {} -+# ifdef _STLP_OWN_IOSTREAMS -+ ~domain_error() _STLP_NOTHROW_INHERENTLY; -+# endif - }; - --class __STL_CLASS_DECLSPEC invalid_argument : public logic_error { -+class _STLP_CLASS_DECLSPEC invalid_argument : public logic_error { - public: - invalid_argument(const string& __arg) : logic_error(__arg) {} -+# ifdef _STLP_OWN_IOSTREAMS -+ ~invalid_argument() _STLP_NOTHROW_INHERENTLY; -+# endif - }; - --class __STL_CLASS_DECLSPEC length_error : public logic_error { -+class _STLP_CLASS_DECLSPEC length_error : public logic_error { - public: - length_error(const string& __arg) : logic_error(__arg) {} -+# ifdef _STLP_OWN_IOSTREAMS -+ ~length_error() _STLP_NOTHROW_INHERENTLY; -+# endif - }; - --class __STL_CLASS_DECLSPEC out_of_range : public logic_error { -+class _STLP_CLASS_DECLSPEC out_of_range : public logic_error { - public: - out_of_range(const string& __arg) : logic_error(__arg) {} -+# ifdef _STLP_OWN_IOSTREAMS -+ ~out_of_range() _STLP_NOTHROW_INHERENTLY; -+# endif - }; - --class __STL_CLASS_DECLSPEC range_error : public runtime_error { -+class _STLP_CLASS_DECLSPEC range_error : public runtime_error { - public: - range_error(const string& __arg) : runtime_error(__arg) {} -+# ifdef _STLP_OWN_IOSTREAMS -+ ~range_error() _STLP_NOTHROW_INHERENTLY; -+# endif - }; - --class __STL_CLASS_DECLSPEC overflow_error : public runtime_error { -+class _STLP_CLASS_DECLSPEC overflow_error : public runtime_error { - public: - overflow_error(const string& __arg) : runtime_error(__arg) {} -+# ifdef _STLP_OWN_IOSTREAMS -+ ~overflow_error() _STLP_NOTHROW_INHERENTLY; -+# endif - }; - --class __STL_CLASS_DECLSPEC underflow_error : public runtime_error { -+class _STLP_CLASS_DECLSPEC underflow_error : public runtime_error { - public: - underflow_error(const string& __arg) : runtime_error(__arg) {} -+# ifdef _STLP_OWN_IOSTREAMS -+ ~underflow_error() _STLP_NOTHROW_INHERENTLY; -+# endif - }; - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - - #endif /* Not o32, and no exceptions */ --# endif /* __STL_STDEXCEPT_SEEN */ -+# endif /* _STLP_STDEXCEPT_SEEN */ - - --#if defined (__STL_USE_NATIVE_STDEXCEPT) --# include __STL_NATIVE_HEADER(stdexcept) -+#if defined (_STLP_USE_NATIVE_STDEXCEPT) -+# include _STLP_NATIVE_HEADER(stdexcept) - # endif - --# undef __SGI_STDEXCEPT_SEEN --# define __SGI_STDEXCEPT 1 -+# define _STLP_STDEXCEPT 1 - --# if (__STL_OUTERMOST_HEADER_ID == 0x63) --# if ! defined (__STL_DONT_POP_0x63) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x63) -+# if ! defined (_STLP_DONT_POP_0x63) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif --# undef __STL_DONT_POP_0x63 -+# undef _STLP_DONT_POP_0x63 - # endif - --#endif /* __SGI_STDEXCEPT */ -+#endif /* _STLP_STDEXCEPT */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stdio.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stdio.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stdio.h Sat Feb 24 10:44:25 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stdio.h Sun Aug 11 18:59:23 2002 -@@ -13,13 +13,13 @@ - * - */ - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x264 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x264 - # include - # endif - --# if ! defined (__STL_WINCE) --# include __STL_NATIVE_C_HEADER(stdio.h) -+# if ! defined (_STLP_WINCE) -+# include _STLP_NATIVE_C_HEADER(stdio.h) - - #if defined (__SUNPRO_CC) && !defined (_STRUCT_FILE) - # define _STRUCT_FILE -@@ -30,16 +30,16 @@ - # undef stdout - # undef stderr - --# define stdin (&__STL_VENDOR_CSTD::__files[0]) --# define stdout (&__STL_VENDOR_CSTD::__files[1]) --# define stderr (&__STL_VENDOR_CSTD::__files[2]) -+# define stdin (&_STLP_VENDOR_CSTD::__files[0]) -+# define stdout (&_STLP_VENDOR_CSTD::__files[1]) -+# define stderr (&_STLP_VENDOR_CSTD::__files[2]) - # endif - - # endif /* WINCE */ - --# if (__STL_OUTERMOST_HEADER_ID == 0x264) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x264) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - - // Local Variables: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stdio_streambuf tripwire-2.3.1-2/src/STLport-4.0/stlport/stdio_streambuf ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stdio_streambuf Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stdio_streambuf Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,115 @@ -+/* -+ * Copyright (c) 1999 -+ * Silicon Graphics Computer Systems, Inc. -+ * -+ * Copyright (c) 1999 -+ * Boris Fomitchev -+ * -+ * This material is provided "as is", with absolutely no warranty expressed -+ * or implied. Any use is at your own risk. -+ * -+ * Permission to use or copy this software for any purpose is hereby granted -+ * without fee, provided the above notices are retained on all copies. -+ * Permission to modify the code and to distribute modified code is granted, -+ * provided the above notices are retained, and a notice that the code was -+ * modified is included with the above copyright notice. -+ * -+ */ -+// This header is an extension. It defines two streambufs: -+// stdio_istreambuf, a read-only streambuf synchronized with a C stdio -+// FILE object, and stdio_ostreambuf, a write-only streambuf -+// synchronized with a C stdio FILE object. Note that neither -+// stdio_istreambuf nor stdio_ostreambuf is a template; both classes -+// are derived from basic_streambuf >. -+ -+// Note: the imbue() member function is a no-op. In particular, these -+// classes assume that codecvt is always an identity -+// transformation. This is true of the default locale, and of all locales -+// defined for the C I/O library. If you need to use a locale where -+// the codecvt facet performs a nontrivial -+// conversion, then you should use basic_filebuf<> instead of stdio_istreambuf -+// or stdio_ostreambuf. (If you don't understand what any of this means, -+// then it's not a feature you need to worry about. Locales where -+// codecvt does something nontrivial are a rare -+// corner case.) -+ -+ -+#ifndef _STLP_STDIO_STREAMBUF -+#define _STLP_STDIO_STREAMBUF -+ -+#if !defined(STLP_WINCE) -+ -+#include // For basic_streambuf<> -+#include // For FILE. -+ -+# ifndef _STLP_HAS_NO_NAMESPACES -+// This is an extension. It is in namespace SGI, not namespace std -+namespace _SgI { -+ -+# ifdef _STLP_USE_NAMESPACES -+using namespace _STLP_STD; -+# endif -+# endif -+ -+// Base class for features common to stdio_istreambuf and stdio_ostreambuf -+class stdio_streambuf_base : public _STLP_STD::basic_streambuf > -+{ -+public: // Constructor, destructor. -+ // The argument may not be null. It must be an open file pointer. -+ stdio_streambuf_base(FILE*); -+ -+ // The destructor flushes the stream, but does not close it. -+ ~stdio_streambuf_base(); -+ -+protected: // Virtual functions from basic_streambuf. -+ streambuf* setbuf(char*, streamsize); -+ -+ pos_type seekoff(off_type, ios_base::seekdir, -+ ios_base::openmode -+ = ios_base::in | ios_base::out); -+ pos_type seekpos(pos_type, -+ ios_base::openmode -+ = ios_base::in | ios_base::out); -+ int sync(); -+ -+protected: -+ FILE* _M_file; -+}; -+ -+class stdio_istreambuf : public stdio_streambuf_base -+{ -+public: // Constructor, destructor. -+ stdio_istreambuf(FILE* __f) : stdio_streambuf_base(__f) {} -+ -+ ~stdio_istreambuf(); -+ -+protected: // Virtual functions from basic_streambuf. -+ streamsize showmanyc(); -+ int_type underflow(); -+ int_type uflow(); -+ virtual int_type pbackfail(int_type c = traits_type::eof()); -+}; -+ -+class stdio_ostreambuf : public stdio_streambuf_base -+{ -+public: // Constructor, destructor. -+ stdio_ostreambuf(FILE* __f) : stdio_streambuf_base(__f) {} -+ ~stdio_ostreambuf(); -+ -+protected: // Virtual functions from basic_streambuf. -+ streamsize showmanyc(); -+ int_type overflow(int_type c = traits_type::eof()); -+}; -+ -+# ifndef _STLP_HAS_NO_NAMESPACES -+} // Close namespace _SgI. -+# endif -+ -+#endif /* _STLP_STDIO_STREAMBUF */ -+ -+#endif /* _STLP_WINCE */ -+ -+// Local Variables: -+// mode:C++ -+// End: -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stdiostream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stdiostream.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stdiostream.h Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stdiostream.h Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,10 @@ -+#ifndef _STLP_misc_stdiostream_h -+# define _STLP_misc_stdiostream_h -+# if (__SUNPRO_CC >= 0x500 ) -+# include <../CCios/stdiostream.h> -+# else if defined (__SUNPRO_CC) -+# include <../CC/stdiostream.h> -+# else -+# error "This file is for SUN CC only. Please remove it if it causes any harm for other compilers." -+# endif -+#endif -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stdlib.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stdlib.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stdlib.h Sat Feb 24 10:44:25 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stdlib.h Sun Aug 11 18:59:23 2002 -@@ -13,21 +13,21 @@ - * - */ - --# if !defined (__STL_OUTERMOST_HEADER_ID) --# define __STL_OUTERMOST_HEADER_ID 0x265 -+# if !defined (_STLP_OUTERMOST_HEADER_ID) -+# define _STLP_OUTERMOST_HEADER_ID 0x265 - # include --# elif (__STL_OUTERMOST_HEADER_ID == 0x265) && ! defined (__STL_DONT_POP_0x265) --# define __STL_DONT_POP_0x265 -+# elif (_STLP_OUTERMOST_HEADER_ID == 0x265) && ! defined (_STLP_DONT_POP_0x265) -+# define _STLP_DONT_POP_0x265 - # endif - --# include __STL_NATIVE_C_HEADER(stdlib.h) -+# include _STLP_NATIVE_C_HEADER(stdlib.h) - --# if (__STL_OUTERMOST_HEADER_ID == 0x265) --# if ! defined (__STL_DONT_POP_0x265) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x265) -+# if ! defined (_STLP_DONT_POP_0x265) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif --# undef __STL_DONT_POP_0x265 -+# undef _STLP_DONT_POP_0x265 - # endif - - // Local Variables: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_abbrevs.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_abbrevs.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_abbrevs.h Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_abbrevs.h Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,70 @@ -+/* -+ * -+ * Copyright (c) 1999 -+ * Boris Fomitchev -+ * -+ * This material is provided "as is", with absolutely no warranty expressed -+ * or implied. Any use is at your own risk. -+ * -+ * Permission to use or copy this software for any purpose is hereby granted -+ * without fee, provided the above notices are retained on all copies. -+ * Permission to modify the code and to distribute modified code is granted, -+ * provided the above notices are retained, and a notice that the code was -+ * modified is included with the above copyright notice. -+ * -+ */ -+ -+/* NOTE: This is an internal header file, included by other STL headers. -+ * You should not attempt to use it directly. -+ */ -+ -+#ifndef _STLP_INTERNAL_ABBREVS_H -+# define _STLP_INTERNAL_ABBREVS_H -+ -+// ugliness is intentional - to reduce conflicts -+# define input_iterator_tag _In__ItT -+# define output_iterator_tag _Ou__ItT -+# define bidirectional_iterator_tag _Bd__ItT -+# define random_access_iterator_tag _Ra__ItT -+# define input_iterator _In__It -+# define output_iterator _Ou__It -+# define bidirectional_iterator _Bd__It -+# define random_access_iterator _Ra__It -+# define reverse_bidirectional_iterator _rBd__It -+# define reverse_iterator _r__It -+# define back_insert_iterator _bI__It -+# define front_insert_iterator _fI__It -+# define raw_storage_iterator _rS__It -+# define _Const_traits _C_Tr -+# define _Nonconst_traits _N_Tr -+ -+// ugliness is intentional - to reduce conflicts probability -+# define __malloc_alloc M__A -+# define __node_alloc D__A -+# define __new_alloc N__A -+# define __debug_alloc G__A -+ -+# define __deque_iterator _dQ__It -+# define _Buf_traits _dQ__BTr -+# define _Deque_iterator _Dq__It -+ -+# define _Select1st _S1st -+# define _Select2nd _S2nd -+ -+# define _Hashtable_iterator _hT__It -+# define _Hashtable_const_iterator _hT__cIt -+# define _Hashtable_node _hT__N -+# define _Hashtable_base _hT__B -+# define _Ht_iterator _Ht_It -+ -+# define __list_iterator _L__It -+# define __slist_iterator _SL__It -+ -+# define _Rb_tree_node_base _rbT__NB -+# define _Rb_tree_node _rbT__N -+# define _Rb_base_iterator _rbTB__It -+# define _Rb_tree_base_iterator _rbT__It -+# define _Rb_tree_base _rbT__B -+ -+#endif -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_algo.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_algo.c ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_algo.c Sat Feb 24 10:44:39 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_algo.c Sun Aug 11 18:59:24 2002 -@@ -23,16 +23,14 @@ - * - */ - --#ifndef __STL_ALGO_C --# define __STL_ALGO_C -+#ifndef _STLP_ALGO_C -+# define _STLP_ALGO_C - --__STL_BEGIN_NAMESPACE -+# if !defined (_STLP_INTERNAL_ALGO_H) -+# include -+# endif - --template --void __merge_without_buffer(_BidirectionalIter __first, -- _BidirectionalIter __middle, -- _BidirectionalIter __last, -- _Distance __len1, _Distance __len2); -+_STLP_BEGIN_NAMESPACE - - template - void __merge_without_buffer(_BidirectionalIter __first, -@@ -41,13 +39,6 @@ - _Distance __len1, _Distance __len2, - _Compare __comp); - --template --_BidirectionalIter3 __merge_backward(_BidirectionalIter1 __first1, -- _BidirectionalIter1 __last1, -- _BidirectionalIter2 __first2, -- _BidirectionalIter2 __last2, -- _BidirectionalIter3 __result); - - template -@@ -58,7 +49,6 @@ - _BidirectionalIter3 __result, - _Compare __comp); - -- - template - # if !(defined (__SUNPRO_CC) && (__SUNPRO_CC < 0x420 )) - inline -@@ -100,168 +90,12 @@ - return __b; - } - --template --_Function for_each(_InputIter __first, _InputIter __last, _Function __f) { -- for ( ; __first != __last; ++__first) -- __f(*__first); -- return __f; --} -- --#ifdef __STL_CLASS_PARTIAL_SPECIALIZATION -- --template --_RandomAccessIter find(_RandomAccessIter __first, _RandomAccessIter __last, -- const _Tp& __val, -- random_access_iterator_tag) --{ -- typename iterator_traits<_RandomAccessIter>::difference_type __trip_count -- = (__last - __first) >> 2; -- -- for ( ; __trip_count > 0 ; --__trip_count) { -- if (*__first == __val) return __first; -- ++__first; -- -- if (*__first == __val) return __first; -- ++__first; -- -- if (*__first == __val) return __first; -- ++__first; -- -- if (*__first == __val) return __first; -- ++__first; -- } -- -- switch(__last - __first) { -- case 3: -- if (*__first == __val) return __first; -- ++__first; -- case 2: -- if (*__first == __val) return __first; -- ++__first; -- case 1: -- if (*__first == __val) return __first; -- ++__first; -- case 0: -- default: -- return __last; -- } --} -- --template --_RandomAccessIter find_if(_RandomAccessIter __first, _RandomAccessIter __last, -- _Predicate __pred, -- random_access_iterator_tag) --{ -- typename iterator_traits<_RandomAccessIter>::difference_type __trip_count -- = (__last - __first) >> 2; -- -- for ( ; __trip_count > 0 ; --__trip_count) { -- if (__pred(*__first)) return __first; -- ++__first; -- -- if (__pred(*__first)) return __first; -- ++__first; -- -- if (__pred(*__first)) return __first; -- ++__first; -- -- if (__pred(*__first)) return __first; -- ++__first; -- } -- -- switch(__last - __first) { -- case 3: -- if (__pred(*__first)) return __first; -- ++__first; -- case 2: -- if (__pred(*__first)) return __first; -- ++__first; -- case 1: -- if (__pred(*__first)) return __first; -- // ++__first; -- case 0: -- default: -- return __last; -- } --} -- --#endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */ -- --template --_ForwardIter adjacent_find(_ForwardIter __first, _ForwardIter __last) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -- if (__first == __last) -- return __last; -- _ForwardIter __next = __first; -- while(++__next != __last) { -- if (*__first == *__next) -- return __first; -- __first = __next; -- } -- return __last; --} -- --template --_ForwardIter adjacent_find(_ForwardIter __first, _ForwardIter __last, -- _BinaryPredicate __binary_pred) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -- if (__first == __last) -- return __last; -- _ForwardIter __next = __first; -- while(++__next != __last) { -- if (__binary_pred(*__first, *__next)) -- return __first; -- __first = __next; -- } -- return __last; --} -- --template --void count(_InputIter __first, _InputIter __last, const _Tp& __value, -- _Size& __n) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -- for ( ; __first != __last; ++__first) -- if (*__first == __value) -- ++__n; --} -- --template --void count_if(_InputIter __first, _InputIter __last, _Predicate __pred, -- _Size& __n) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -- for ( ; __first != __last; ++__first) -- if (__pred(*__first)) -- ++__n; --} -- --template --__STL_DIFFERENCE_TYPE(_InputIter) --count(_InputIter __first, _InputIter __last, const _Tp& __value) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -- __STL_DIFFERENCE_TYPE(_InputIter) __n = 0; -- for ( ; __first != __last; ++__first) -- if (*__first == __value) -- ++__n; -- return __n; --} -- --template --__STL_DIFFERENCE_TYPE(_InputIter) --count_if(_InputIter __first, _InputIter __last, _Predicate __pred) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) --__STL_DIFFERENCE_TYPE(_InputIter) __n = 0; -- for ( ; __first != __last; ++__first) -- if (__pred(*__first)) -- ++__n; -- return __n; --} -- - template - _ForwardIter1 search(_ForwardIter1 __first1, _ForwardIter1 __last1, - _ForwardIter2 __first2, _ForwardIter2 __last2) - { -- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) -- __STL_DEBUG_CHECK(__check_range(__first2, __last2)) -+ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) -+ _STLP_DEBUG_CHECK(__check_range(__first2, __last2)) - // Test for empty ranges - if (__first1 == __last1 || __first2 == __last2) - return __first1; -@@ -273,10 +107,8 @@ - return find(__first1, __last1, *__first2); - - // General case. -- -- _ForwardIter2 __p1, __p; -- -- __p1 = __first2; ++__p1; -+ _ForwardIter2 __p1 = __first2; -+ ++__p1; - - _ForwardIter1 __current = __first1; - -@@ -285,7 +117,7 @@ - if (__first1 == __last1) - return __last1; - -- __p = __p1; -+ _ForwardIter2 __p = __p1; - __current = __first1; - if (++__current == __last1) - return __last1; -@@ -302,68 +134,12 @@ - return __first1; - } - -- --template --_ForwardIter1 search(_ForwardIter1 __first1, _ForwardIter1 __last1, -- _ForwardIter2 __first2, _ForwardIter2 __last2, -- _BinaryPred __predicate) --{ -- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) -- __STL_DEBUG_CHECK(__check_range(__first2, __last2)) -- // Test for empty ranges -- if (__first1 == __last1 || __first2 == __last2) -- return __first1; -- -- // Test for a pattern of length 1. -- _ForwardIter2 __tmp(__first2); -- ++__tmp; -- if (__tmp == __last2) { -- while (__first1 != __last1 && !__predicate(*__first1, *__first2)) -- ++__first1; -- return __first1; -- } -- -- // General case. -- -- _ForwardIter2 __p1, __p; -- -- __p1 = __first2; ++__p1; -- -- // _ForwardIter1 __current = __first1; -- -- while (__first1 != __last1) { -- while (__first1 != __last1) { -- if (__predicate(*__first1, *__first2)) -- break; -- ++__first1; -- } -- while (__first1 != __last1 && !__predicate(*__first1, *__first2)) -- ++__first1; -- if (__first1 == __last1) -- return __last1; -- -- __p = __p1; -- _ForwardIter1 __current = __first1; -- if (++__current == __last1) return __last1; -- -- while (__predicate(*__current, *__p)) { -- if (++__p == __last2) -- return __first1; -- if (++__current == __last1) -- return __last1; -- } -- -- ++__first1; -- } -- return __first1; --} -- - // search_n. Search for __count consecutive copies of __val. - - template - _ForwardIter search_n(_ForwardIter __first, _ForwardIter __last, - _Integer __count, const _Tp& __val) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) - if (__count <= 0) - return __first; - else { -@@ -389,7 +165,7 @@ - _ForwardIter search_n(_ForwardIter __first, _ForwardIter __last, - _Integer __count, const _Tp& __val, - _BinaryPred __binary_pred) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) - if (__count <= 0) - return __first; - else { -@@ -421,194 +197,97 @@ - } - } - --// swap_ranges - template --_ForwardIter2 swap_ranges(_ForwardIter1 __first1, _ForwardIter1 __last1, -- _ForwardIter2 __first2) { -- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) -- for ( ; __first1 != __last1; ++__first1, ++__first2) -- iter_swap(__first1, __first2); -- return __first2; --} -- --// transform --template --_OutputIter transform(_InputIter __first, _InputIter __last, -- _OutputIter __result, _UnaryOperation __opr) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -- for ( ; __first != __last; ++__first, ++__result) -- *__result = __opr(*__first); -- return __result; --} -- --template --_OutputIter transform(_InputIter1 __first1, _InputIter1 __last1, -- _InputIter2 __first2, _OutputIter __result, -- _BinaryOperation __binary_op) { -- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) -- for ( ; __first1 != __last1; ++__first1, ++__first2, ++__result) -- *__result = __binary_op(*__first1, *__first2); -- return __result; --} -- -- --// replace, replace_if, replace_copy, replace_copy_if --template --void replace(_ForwardIter __first, _ForwardIter __last, -- const _Tp& __old_value, const _Tp& __new_value) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -- for ( ; __first != __last; ++__first) -- if (*__first == __old_value) -- *__first = __new_value; --} -- --template --void replace_if(_ForwardIter __first, _ForwardIter __last, -- _Predicate __pred, const _Tp& __new_value) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -- for ( ; __first != __last; ++__first) -- if (__pred(*__first)) -- *__first = __new_value; --} -- --template --_OutputIter replace_copy(_InputIter __first, _InputIter __last, -- _OutputIter __result, -- const _Tp& __old_value, const _Tp& __new_value) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -- for ( ; __first != __last; ++__first, ++__result) -- *__result = *__first == __old_value ? __new_value : *__first; -- return __result; --} -- --template --_OutputIter replace_copy_if(Iterator __first, Iterator __last, -- _OutputIter __result, -- _Predicate __pred, const _Tp& __new_value) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -- for ( ; __first != __last; ++__first, ++__result) -- *__result = __pred(*__first) ? __new_value : *__first; -- return __result; --} -- --// generate and generate_n --template --void generate(_ForwardIter __first, _ForwardIter __last, _Generator __gen) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -- for ( ; __first != __last; ++__first) -- *__first = __gen(); --} -- --template --_OutputIter generate_n(_OutputIter __first, _Size __n, _Generator __gen) { -- for ( ; __n > 0; --__n, ++__first) -- *__first = __gen(); -- return __first; --} -- --// remove, remove_if, remove_copy, remove_copy_if -- --template --_OutputIter remove_copy(_InputIter __first, _InputIter __last, -- _OutputIter __result, const _Tp& __value) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -- for ( ; __first != __last; ++__first) -- if (!(*__first == __value)) { -- *__result = *__first; -- ++__result; -- } -- return __result; --} -- --template --_OutputIter remove_copy_if(_InputIter __first, _InputIter __last, -- _OutputIter __result, _Predicate __pred) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -- for ( ; __first != __last; ++__first) -- if (!__pred(*__first)) { -- *__result = *__first; -- ++__result; -- } -- return __result; --} -- --template --_ForwardIter remove(_ForwardIter __first, _ForwardIter __last, -- const _Tp& __value) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -- __first = find(__first, __last, __value); -- if (__first == __last) -- return __first; -- else { -- _ForwardIter __next = __first; -- return remove_copy(++__next, __last, __first, __value); -- } --} -- --template --_ForwardIter remove_if(_ForwardIter __first, _ForwardIter __last, -- _Predicate __pred) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -- __first = find_if(__first, __last, __pred); -- if ( __first == __last ) -- return __first; -- else { -- _ForwardIter __next = __first; -- return remove_copy_if(++__next, __last, __first, __pred); -- } -+_ForwardIter1 -+find_end(_ForwardIter1 __first1, _ForwardIter1 __last1, -+ _ForwardIter2 __first2, _ForwardIter2 __last2) -+{ -+ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) -+ _STLP_DEBUG_CHECK(__check_range(__first2, __last2)) -+ return __find_end(__first1, __last1, __first2, __last2, -+# if defined (_STLP_CLASS_PARTIAL_SPECIALIZATION) -+ _STLP_ITERATOR_CATEGORY(__first1, _ForwardIter1), -+ _STLP_ITERATOR_CATEGORY(__first2, _ForwardIter2), -+# else -+ forward_iterator_tag(), -+ forward_iterator_tag(), -+# endif -+ __equal_to(_STLP_VALUE_TYPE(__first1, _ForwardIter1)) -+ ); - } - - // unique and unique_copy -- --template --_OutputIter __unique_copy(_InputIter __first, _InputIter __last, -- _OutputIter __result, _Tp*) { -- _Tp __value = *__first; -- *__result = __value; -+template -+_STLP_INLINE_LOOP _OutputIterator -+__unique_copy(_InputIterator __first, _InputIterator __last, -+ _OutputIterator __result, -+ _BinaryPredicate __binary_pred, _Tp*) { -+ _Tp __val = *__first; -+ *__result = __val; - while (++__first != __last) -- if (!(__value == *__first)) { -- __value = *__first; -- *++__result = __value; -+ if (!__binary_pred(__val, *__first)) { -+ __val = *__first; -+ *++__result = __val; - } - return ++__result; - } - --template --_ForwardIter __unique_copy(_InputIter __first, _InputIter __last, -- _ForwardIter __result, forward_iterator_tag) { -- *__result = *__first; -- while (++__first != __last) -- if (!(*__result == *__first)) *++__result = *__first; -- return ++__result; --} -- --template --OutputIterator __unique_copy(InputIterator first, InputIterator last, -- OutputIterator result, -- BinaryPredicate binary_pred, _Tp*) { -- _Tp value = *first; -- *result = value; -- while (++first != last) -- if (!binary_pred(value, *first)) { -- value = *first; -- *++result = value; -- } -- return ++result; -+template -+inline _OutputIter -+__unique_copy(_InputIter __first, _InputIter __last,_OutputIter __result, -+ _BinaryPredicate __binary_pred, const output_iterator_tag &) { -+ return __unique_copy(__first, __last, __result, __binary_pred, _STLP_VALUE_TYPE(__first, _InputIter)); - } - - template --_ForwardIter __unique_copy(_InputIter __first, _InputIter __last, -- _ForwardIter __result, -- _BinaryPredicate __binary_pred, -- forward_iterator_tag) { -+_STLP_INLINE_LOOP _ForwardIter -+__unique_copy(_InputIter __first, _InputIter __last, _ForwardIter __result, -+ _BinaryPredicate __binary_pred, const forward_iterator_tag &) { - *__result = *__first; - while (++__first != __last) - if (!__binary_pred(*__result, *__first)) *++__result = *__first; - return ++__result; - } - -+# if defined (_STLP_NONTEMPL_BASE_MATCH_BUG) -+template -+inline _BidirectionalIterator -+__unique_copy(_InputIterator __first, _InputIterator __last, -+ _BidirectionalIterator __result, _BinaryPredicate __binary_pred, -+ const bidirectional_iterator_tag &) { -+ return __unique_copy(__first, __last, __result, __binary_pred, forward_iterator_tag()); -+} -+ -+template -+inline _RandomAccessIterator -+__unique_copy(_InputIterator __first, _InputIterator __last, -+ _RandomAccessIterator __result, _BinaryPredicate __binary_pred, -+ const random_access_iterator_tag &) { -+ return __unique_copy(__first, __last, __result, __binary_pred, forward_iterator_tag()); -+} -+# endif /* _STLP_NONTEMPL_BASE_MATCH_BUG */ -+ -+ -+template -+_OutputIter -+unique_copy(_InputIter __first, _InputIter __last, _OutputIter __result) { -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) -+ if (__first == __last) return __result; -+ return __unique_copy(__first, __last, __result, __equal_to(_STLP_VALUE_TYPE(__first, _InputIter)), -+ _STLP_ITERATOR_CATEGORY(__result, _OutputIter)); -+} -+ -+template -+_OutputIter -+unique_copy(_InputIter __first, _InputIter __last,_OutputIter __result, -+ _BinaryPredicate __binary_pred) { -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) -+ if (__first == __last) return __result; -+ return __unique_copy(__first, __last, __result, __binary_pred, -+ _STLP_ITERATOR_CATEGORY(__result, _OutputIter)); -+} -+ - // rotate and rotate_copy, and their auxiliary functions - - template -@@ -616,7 +295,7 @@ - _ForwardIter __middle, - _ForwardIter __last, - _Distance*, -- forward_iterator_tag) { -+ const forward_iterator_tag &) { - if (__first == __middle) - return __last; - if (__last == __middle) -@@ -649,7 +328,7 @@ - _BidirectionalIter __middle, - _BidirectionalIter __last, - _Distance*, -- bidirectional_iterator_tag) { -+ const bidirectional_iterator_tag &) { - if (__first == __middle) - return __last; - if (__last == __middle) -@@ -727,13 +406,31 @@ - return __result; - } - -+template -+inline _RandomAccessIter -+__rotate(_RandomAccessIter __first, _RandomAccessIter __middle, _RandomAccessIter __last, -+ _Distance * __dis, const random_access_iterator_tag &) { -+ return __rotate(__first, __middle, __last, -+ __dis, _STLP_VALUE_TYPE(__first, _RandomAccessIter)); -+} -+ -+template -+_ForwardIter -+rotate(_ForwardIter __first, _ForwardIter __middle, _ForwardIter __last) { -+ _STLP_DEBUG_CHECK(__check_range(__first, __middle)) -+ _STLP_DEBUG_CHECK(__check_range(__middle, __last)) -+ return __rotate(__first, __middle, __last, -+ _STLP_DISTANCE_TYPE(__first, _ForwardIter), -+ _STLP_ITERATOR_CATEGORY(__first, _ForwardIter)); -+} -+ - // Return a random number in the range [0, __n). This function encapsulates - // whether we're using rand (part of the standard C library) or lrand48 - // (not standard, but a much better choice whenever it's available). - - template - inline _Distance __random_number(_Distance __n) { --#ifdef __STL_NO_DRAND48 -+#ifdef _STLP_NO_DRAND48 - return rand() % __n; - #else - return lrand48() % __n; -@@ -743,7 +440,7 @@ - template - void random_shuffle(_RandomAccessIter __first, - _RandomAccessIter __last) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) - if (__first == __last) return; - for (_RandomAccessIter __i = __first + 1; __i != __last; ++__i) - iter_swap(__i, __first + __random_number((__i - __first) + 1)); -@@ -752,13 +449,13 @@ - template - void random_shuffle(_RandomAccessIter __first, _RandomAccessIter __last, - _RandomNumberGenerator& __rand) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) - if (__first == __last) return; - for (_RandomAccessIter __i = __first + 1; __i != __last; ++__i) - iter_swap(__i, __first + __rand((__i - __first) + 1)); - } - --# ifndef __STL_NO_EXTENSIONS -+# ifndef _STLP_NO_EXTENSIONS - - // random_sample and random_sample_n (extensions, not part of the standard). - -@@ -766,10 +463,9 @@ - _OutputIter random_sample_n(_ForwardIter __first, _ForwardIter __last, - _OutputIter __out, const _Distance __n) - { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -- _Distance __remaining = 0; -- distance(__first, __last, __remaining); -- _Distance __m = min(__n, __remaining); -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) -+ _Distance __remaining = distance(__first, __last); -+ _Distance __m = (min) (__n, __remaining); - - while (__m > 0) { - if (__random_number(__remaining) < __m) { -@@ -791,10 +487,9 @@ - _OutputIter __out, const _Distance __n, - _RandomNumberGenerator& __rand) - { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -- _Distance __remaining = 0; -- distance(__first, __last, __remaining); -- _Distance __m = min(__n, __remaining); -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) -+ _Distance __remaining = distance(__first, __last); -+ _Distance __m = (min) (__n, __remaining); - - while (__m > 0) { - if (__rand(__remaining) < __m) { -@@ -853,15 +548,39 @@ - return __out + __m; - } - --# endif /* __STL_NO_EXTENSIONS */ -+template -+_RandomAccessIter -+random_sample(_InputIter __first, _InputIter __last, -+ _RandomAccessIter __out_first, _RandomAccessIter __out_last) -+{ -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) -+ _STLP_DEBUG_CHECK(__check_range(__out_first, __out_last)) -+ return __random_sample(__first, __last, -+ __out_first, __out_last - __out_first); -+} -+ -+template -+_RandomAccessIter -+random_sample(_InputIter __first, _InputIter __last, -+ _RandomAccessIter __out_first, _RandomAccessIter __out_last, -+ _RandomNumberGenerator& __rand) -+{ -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) -+ _STLP_DEBUG_CHECK(__check_range(__out_first, __out_last)) -+ return __random_sample(__first, __last, -+ __out_first, __rand, -+ __out_last - __out_first); -+} -+ -+# endif /* _STLP_NO_EXTENSIONS */ - - // partition, stable_partition, and their auxiliary functions - - template --_ForwardIter __partition(_ForwardIter __first, -- _ForwardIter __last, -- _Predicate __pred, -- forward_iterator_tag) { -+_STLP_INLINE_LOOP _ForwardIter __partition(_ForwardIter __first, -+ _ForwardIter __last, -+ _Predicate __pred, -+ const forward_iterator_tag &) { - if (__first == __last) return __first; - - while (__pred(*__first)) -@@ -874,15 +593,14 @@ - swap(*__first, *__next); - ++__first; - } -- - return __first; - } - - template --_BidirectionalIter __partition(_BidirectionalIter __first, -- _BidirectionalIter __last, -- _Predicate __pred, -- bidirectional_iterator_tag) { -+_STLP_INLINE_LOOP _BidirectionalIter __partition(_BidirectionalIter __first, -+ _BidirectionalIter __last, -+ _Predicate __pred, -+ const bidirectional_iterator_tag &) { - while (true) { - while (true) - if (__first == __last) -@@ -904,6 +622,24 @@ - } - } - -+# if defined (_STLP_NONTEMPL_BASE_MATCH_BUG) -+template -+inline -+_BidirectionalIter __partition(_BidirectionalIter __first, -+ _BidirectionalIter __last, -+ _Predicate __pred, -+ const random_access_iterator_tag &) { -+ return __partition(__first, __last, __pred, bidirectional_iterator_tag()); -+} -+# endif -+ -+template -+_ForwardIter partition(_ForwardIter __first, _ForwardIter __last, _Predicate __pred) { -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) -+ return __partition(__first, __last, __pred, _STLP_ITERATOR_CATEGORY(__first, _ForwardIter)); -+} -+ -+ - template - _ForwardIter __inplace_stable_partition(_ForwardIter __first, - _ForwardIter __last, -@@ -955,23 +691,33 @@ - } - } - --template --_RandomAccessIter __unguarded_partition(_RandomAccessIter __first, -- _RandomAccessIter __last, -- _Tp __pivot) --{ -- while (true) { -- while (*__first < __pivot) -- ++__first; -- --__last; -- while (__pivot < *__last) -- --__last; -- if (!(__first < __last)) -- return __first; -- iter_swap(__first, __last); -- ++__first; -- } --} -+template -+inline _ForwardIter -+__stable_partition_aux(_ForwardIter __first, _ForwardIter __last, -+ _Predicate __pred, _Tp*, _Distance*) -+{ -+ _Temporary_buffer<_ForwardIter, _Tp> __buf(__first, __last); -+ _STLP_MPWFIX_TRY //*TY 06/01/2000 - they forget to call dtor for _Temporary_buffer if no try/catch block is present -+ return (__buf.size() > 0) ? -+ __stable_partition_adaptive(__first, __last, __pred, -+ _Distance(__buf.requested_size()), -+ __buf.begin(), __buf.size()) : -+ __inplace_stable_partition(__first, __last, __pred, -+ _Distance(__buf.requested_size())); -+ _STLP_MPWFIX_CATCH //*TY 06/01/2000 - they forget to call dtor for _Temporary_buffer if no try/catch block is present -+} -+ -+template -+_ForwardIter -+stable_partition(_ForwardIter __first, _ForwardIter __last, _Predicate __pred) { -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) -+ if (__first == __last) -+ return __first; -+ else -+ return __stable_partition_aux(__first, __last, __pred, -+ _STLP_VALUE_TYPE(__first, _ForwardIter), -+ _STLP_DISTANCE_TYPE(__first, _ForwardIter)); -+} - - template - _RandomAccessIter __unguarded_partition(_RandomAccessIter __first, -@@ -995,19 +741,6 @@ - - # define __stl_threshold 16 - --template --void __unguarded_linear_insert(_RandomAccessIter __last, _Tp __val) { -- _RandomAccessIter __next = __last; -- --__next; -- while (__val < *__next) { -- *__last = *__next; -- __last = __next; -- --__next; -- } -- *__last = __val; --} -- -- - template - void __unguarded_linear_insert(_RandomAccessIter __last, _Tp __val, - _Compare __comp) { -@@ -1021,19 +754,6 @@ - *__last = __val; - } - --template --inline void __linear_insert(_RandomAccessIter __first, -- _RandomAccessIter __last, _Tp __val) { -- //*TY 12/26/1998 - added __val as a paramter -- // _Tp __val = *__last; //*TY 12/26/1998 - __val supplied by caller -- if (__val < *__first) { -- copy_backward(__first, __last, __last + 1); -- *__first = __val; -- } -- else -- __unguarded_linear_insert(__last, __val); --} -- - template - inline void __linear_insert(_RandomAccessIter __first, - _RandomAccessIter __last, _Tp __val, _Compare __comp) { -@@ -1047,13 +767,6 @@ - __unguarded_linear_insert(__last, __val, __comp); - } - --template --void __insertion_sort(_RandomAccessIter __first, _RandomAccessIter __last) { -- if (__first == __last) return; -- for (_RandomAccessIter __i = __first + 1; __i != __last; ++__i) -- __linear_insert(__first, __i, *__i); //*TY 12/26/1998 - supply *__i as __val --} -- - template - void __insertion_sort(_RandomAccessIter __first, - _RandomAccessIter __last, _Compare __comp) { -@@ -1062,19 +775,6 @@ - __linear_insert(__first, __i, *__i, __comp); //*TY 12/26/1998 - supply *__i as __val - } - --template --void __unguarded_insertion_sort_aux(_RandomAccessIter __first, -- _RandomAccessIter __last, _Tp*) { -- for (_RandomAccessIter __i = __first; __i != __last; ++__i) -- __unguarded_linear_insert(__i, _Tp(*__i)); --} -- --template --inline void __unguarded_insertion_sort(_RandomAccessIter __first, -- _RandomAccessIter __last) { -- __unguarded_insertion_sort_aux(__first, __last, __VALUE_TYPE(__first)); --} -- - template - void __unguarded_insertion_sort_aux(_RandomAccessIter __first, - _RandomAccessIter __last, -@@ -1087,19 +787,7 @@ - inline void __unguarded_insertion_sort(_RandomAccessIter __first, - _RandomAccessIter __last, - _Compare __comp) { -- __unguarded_insertion_sort_aux(__first, __last, __VALUE_TYPE(__first), -- __comp); --} -- --template --void __final_insertion_sort(_RandomAccessIter __first, -- _RandomAccessIter __last) { -- if (__last - __first > __stl_threshold) { -- __insertion_sort(__first, __first + __stl_threshold); -- __unguarded_insertion_sort(__first + __stl_threshold, __last); -- } -- else -- __insertion_sort(__first, __last); -+ __unguarded_insertion_sort_aux(__first, __last, _STLP_VALUE_TYPE(__first, _RandomAccessIter), __comp); - } - - template -@@ -1113,35 +801,14 @@ - __insertion_sort(__first, __last, __comp); - } - --template -+template - void __introsort_loop(_RandomAccessIter __first, - _RandomAccessIter __last, _Tp*, -- _Size __depth_limit) -+ _Size __depth_limit, _Compare __comp) - { - while (__last - __first > __stl_threshold) { - if (__depth_limit == 0) { -- partial_sort(__first, __last, __last); -- return; -- } -- --__depth_limit; -- _RandomAccessIter __cut = -- __unguarded_partition(__first, __last, -- _Tp(__median(*__first, -- *(__first + (__last - __first)/2), -- *(__last - 1)))); -- __introsort_loop(__cut, __last, (_Tp*) 0, __depth_limit); -- __last = __cut; -- } --} -- --template --void __introsort_loop(_RandomAccessIter __first, -- _RandomAccessIter __last, _Tp*, -- _Size __depth_limit, _Compare __comp) --{ -- while (__last - __first > __stl_threshold) { -- if (__depth_limit == 0) { -- partial_sort(__first, __last, __last, __comp); -+ partial_sort(__first, __last, __last, __comp); - return; - } - --__depth_limit; -@@ -1156,23 +823,31 @@ - } - } - --// stable_sort() and its auxiliary functions. -- - template --void __inplace_stable_sort(_RandomAccessIter __first, -- _RandomAccessIter __last) { -- if (__last - __first < 15) { -- __insertion_sort(__first, __last); -- return; -+void sort(_RandomAccessIter __first, _RandomAccessIter __last) { -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) -+ if (__first != __last) { -+ __introsort_loop(__first, __last, -+ _STLP_VALUE_TYPE(__first, _RandomAccessIter), -+ __lg(__last - __first) * 2, __less(_STLP_VALUE_TYPE(__first, _RandomAccessIter)) ); -+ __final_insertion_sort(__first, __last, __less(_STLP_VALUE_TYPE(__first, _RandomAccessIter))); -+ } -+} -+ -+template -+void sort(_RandomAccessIter __first, _RandomAccessIter __last, _Compare __comp) { -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) -+ if (__first != __last) { -+ __introsort_loop(__first, __last, -+ _STLP_VALUE_TYPE(__first, _RandomAccessIter), -+ __lg(__last - __first) * 2, -+ __comp); -+ __final_insertion_sort(__first, __last, __comp); - } -- _RandomAccessIter __middle = __first + (__last - __first) / 2; -- __inplace_stable_sort(__first, __middle); -- __inplace_stable_sort(__middle, __last); -- __merge_without_buffer(__first, __middle, __last, -- __middle - __first, -- __last - __middle); - } - -+// stable_sort() and its auxiliary functions. -+ - template - void __inplace_stable_sort(_RandomAccessIter __first, - _RandomAccessIter __last, _Compare __comp) { -@@ -1190,25 +865,6 @@ - } - - template --void __merge_sort_loop(_RandomAccessIter1 __first, -- _RandomAccessIter1 __last, -- _RandomAccessIter2 __result, _Distance __step_size) { -- _Distance __two_step = 2 * __step_size; -- -- while (__last - __first >= __two_step) { -- __result = merge(__first, __first + __step_size, -- __first + __step_size, __first + __two_step, -- __result); -- __first += __two_step; -- } -- -- __step_size = min(_Distance(__last - __first), __step_size); -- merge(__first, __first + __step_size, __first + __step_size, __last, -- __result); --} -- --template - void __merge_sort_loop(_RandomAccessIter1 __first, - _RandomAccessIter1 __last, -@@ -1223,7 +879,7 @@ - __comp); - __first += __two_step; - } -- __step_size = min(_Distance(__last - __first), __step_size); -+ __step_size = (min) (_Distance(__last - __first), __step_size); - - merge(__first, __first + __step_size, - __first + __step_size, __last, -@@ -1233,17 +889,6 @@ - - const int __stl_chunk_size = 7; - --template --void __chunk_insertion_sort(_RandomAccessIter __first, -- _RandomAccessIter __last, _Distance __chunk_size) --{ -- while (__last - __first >= __chunk_size) { -- __insertion_sort(__first, __first + __chunk_size); -- __first += __chunk_size; -- } -- __insertion_sort(__first, __last); --} -- - template - void __chunk_insertion_sort(_RandomAccessIter __first, - _RandomAccessIter __last, -@@ -1256,24 +901,6 @@ - __insertion_sort(__first, __last, __comp); - } - --template --void __merge_sort_with_buffer(_RandomAccessIter __first, -- _RandomAccessIter __last, -- _Pointer __buffer, _Distance*) { -- _Distance __len = __last - __first; -- _Pointer __buffer_last = __buffer + __len; -- -- _Distance __step_size = __stl_chunk_size; -- __chunk_insertion_sort(__first, __last, __step_size); -- -- while (__step_size < __len) { -- __merge_sort_loop(__first, __last, __buffer, __step_size); -- __step_size *= 2; -- __merge_sort_loop(__buffer, __buffer_last, __first, __step_size); -- __step_size *= 2; -- } --} -- - template - void __merge_sort_with_buffer(_RandomAccessIter __first, -@@ -1301,14 +928,13 @@ - _Distance __len1, _Distance __len2, - _BidirectionalIter2 __buffer, - _Distance __buffer_size) { -- _BidirectionalIter2 __buffer_end; - if (__len1 > __len2 && __len2 <= __buffer_size) { -- __buffer_end = copy(__middle, __last, __buffer); -+ _BidirectionalIter2 __buffer_end = copy(__middle, __last, __buffer); - copy_backward(__first, __middle, __last); - return copy(__buffer, __buffer_end, __first); - } - else if (__len1 <= __buffer_size) { -- __buffer_end = copy(__first, __middle, __buffer); -+ _BidirectionalIter2 __buffer_end = copy(__first, __middle, __buffer); - copy(__middle, __last, __first); - return copy_backward(__buffer, __buffer_end, __last); - } -@@ -1316,47 +942,6 @@ - return rotate(__first, __middle, __last); - } - --template --void __merge_adaptive(_BidirectionalIter __first, -- _BidirectionalIter __middle, -- _BidirectionalIter __last, -- _Distance __len1, _Distance __len2, -- _Pointer __buffer, _Distance __buffer_size) { -- if (__len1 <= __len2 && __len1 <= __buffer_size) { -- _Pointer __buffer_end = copy(__first, __middle, __buffer); -- merge(__buffer, __buffer_end, __middle, __last, __first); -- } -- else if (__len2 <= __buffer_size) { -- _Pointer __buffer_end = copy(__middle, __last, __buffer); -- __merge_backward(__first, __middle, __buffer, __buffer_end, __last); -- } -- else { -- _BidirectionalIter __first_cut = __first; -- _BidirectionalIter __second_cut = __middle; -- _Distance __len11 = 0; -- _Distance __len22 = 0; -- if (__len1 > __len2) { -- __len11 = __len1 / 2; -- advance(__first_cut, __len11); -- __second_cut = lower_bound(__middle, __last, *__first_cut); -- distance(__middle, __second_cut, __len22); -- } -- else { -- __len22 = __len2 / 2; -- advance(__second_cut, __len22); -- __first_cut = upper_bound(__first, __middle, *__second_cut); -- distance(__first, __first_cut, __len11); -- } -- _BidirectionalIter __new_middle = -- __rotate_adaptive(__first_cut, __middle, __second_cut, __len1 - __len11, -- __len22, __buffer, __buffer_size); -- __merge_adaptive(__first, __first_cut, __new_middle, __len11, -- __len22, __buffer, __buffer_size); -- __merge_adaptive(__new_middle, __second_cut, __last, __len1 - __len11, -- __len2 - __len22, __buffer, __buffer_size); -- } --} -- - template - void __merge_adaptive(_BidirectionalIter __first, -@@ -1383,13 +968,13 @@ - __len11 = __len1 / 2; - advance(__first_cut, __len11); - __second_cut = lower_bound(__middle, __last, *__first_cut, __comp); -- distance(__middle, __second_cut, __len22); -+ __len22 += distance(__middle, __second_cut); - } - else { - __len22 = __len2 / 2; - advance(__second_cut, __len22); - __first_cut = upper_bound(__first, __middle, *__second_cut, __comp); -- distance(__first, __first_cut, __len11); -+ __len11 += distance(__first, __first_cut); - } - _BidirectionalIter __new_middle = - __rotate_adaptive(__first_cut, __middle, __second_cut, __len1 - __len11, -@@ -1401,24 +986,6 @@ - } - } - --template --void __stable_sort_adaptive(_RandomAccessIter __first, -- _RandomAccessIter __last, _Pointer __buffer, -- _Distance __buffer_size) { -- _Distance __len = (__last - __first + 1) / 2; -- _RandomAccessIter __middle = __first + __len; -- if (__len > __buffer_size) { -- __stable_sort_adaptive(__first, __middle, __buffer, __buffer_size); -- __stable_sort_adaptive(__middle, __last, __buffer, __buffer_size); -- } -- else { -- __merge_sort_with_buffer(__first, __middle, __buffer, (_Distance*)0); -- __merge_sort_with_buffer(__middle, __last, __buffer, (_Distance*)0); -- } -- __merge_adaptive(__first, __middle, __last, _Distance(__middle - __first), -- _Distance(__last - __middle), __buffer, __buffer_size); --} -- - template - void __stable_sort_adaptive(_RandomAccessIter __first, -@@ -1443,18 +1010,6 @@ - __comp); - } - --template --void __stable_sort_aux(_RandomAccessIter __first, -- _RandomAccessIter __last, _Tp*, _Distance*) { -- _Temporary_buffer<_RandomAccessIter, _Tp> buf(__first, __last); -- _Tp* __begin = buf.begin(); -- if (__begin == 0) -- __inplace_stable_sort(__first, __last); -- else -- __stable_sort_adaptive(__first, __last, __begin, -- (_Distance)buf.size()); --} -- - template - void __stable_sort_aux(_RandomAccessIter __first, - _RandomAccessIter __last, _Tp*, _Distance*, -@@ -1471,35 +1026,25 @@ - template - void stable_sort(_RandomAccessIter __first, - _RandomAccessIter __last) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) - __stable_sort_aux(__first, __last, -- __VALUE_TYPE(__first), -- __DISTANCE_TYPE(__first)); -+ _STLP_VALUE_TYPE(__first, _RandomAccessIter), -+ _STLP_DISTANCE_TYPE(__first, _RandomAccessIter), -+ __less(_STLP_VALUE_TYPE(__first, _RandomAccessIter))); - } - - template - void stable_sort(_RandomAccessIter __first, - _RandomAccessIter __last, _Compare __comp) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) - __stable_sort_aux(__first, __last, -- __VALUE_TYPE(__first), -- __DISTANCE_TYPE(__first), -+ _STLP_VALUE_TYPE(__first, _RandomAccessIter), -+ _STLP_DISTANCE_TYPE(__first, _RandomAccessIter), - __comp); - } - - // partial_sort, partial_sort_copy, and auxiliary functions. - --template --void __partial_sort(_RandomAccessIter __first, _RandomAccessIter __middle, -- _RandomAccessIter __last, _Tp*) { -- make_heap(__first, __middle); -- for (_RandomAccessIter __i = __middle; __i < __last; ++__i) -- if (*__i < *__first) -- __pop_heap(__first, __middle, __i, _Tp(*__i), -- __DISTANCE_TYPE(__first)); -- sort_heap(__first, __middle); --} -- - template - void __partial_sort(_RandomAccessIter __first, _RandomAccessIter __middle, - _RandomAccessIter __last, _Tp*, _Compare __comp) { -@@ -1507,34 +1052,26 @@ - for (_RandomAccessIter __i = __middle; __i < __last; ++__i) - if (__comp(*__i, *__first)) - __pop_heap(__first, __middle, __i, _Tp(*__i), __comp, -- __DISTANCE_TYPE(__first)); -+ _STLP_DISTANCE_TYPE(__first, _RandomAccessIter)); - sort_heap(__first, __middle, __comp); - } - --template --_RandomAccessIter __partial_sort_copy(_InputIter __first, -- _InputIter __last, -- _RandomAccessIter __result_first, -- _RandomAccessIter __result_last, -- _Distance*, _Tp*) { -- if (__result_first == __result_last) return __result_last; -- _RandomAccessIter __result_real_last = __result_first; -- while(__first != __last && __result_real_last != __result_last) { -- *__result_real_last = *__first; -- ++__result_real_last; -- ++__first; -- } -- make_heap(__result_first, __result_real_last); -- while (__first != __last) { -- if (*__first < *__result_first) -- __adjust_heap(__result_first, _Distance(0), -- _Distance(__result_real_last - __result_first), -- _Tp(*__first)); -- ++__first; -- } -- sort_heap(__result_first, __result_real_last); -- return __result_real_last; -+ -+template -+void -+partial_sort(_RandomAccessIter __first,_RandomAccessIter __middle, _RandomAccessIter __last) { -+ _STLP_DEBUG_CHECK(__check_range(__first, __middle)) -+ _STLP_DEBUG_CHECK(__check_range(__middle, __last)) -+ __partial_sort(__first, __middle, __last, _STLP_VALUE_TYPE(__first, _RandomAccessIter), -+ __less(_STLP_VALUE_TYPE(__first, _RandomAccessIter))); -+} -+ -+template -+void partial_sort(_RandomAccessIter __first,_RandomAccessIter __middle, -+ _RandomAccessIter __last, _Compare __comp) { -+ _STLP_DEBUG_CHECK(__check_range(__first, __middle)) -+ _STLP_DEBUG_CHECK(__check_range(__middle, __last)) -+ __partial_sort(__first, __middle, __last, _STLP_VALUE_TYPE(__first, _RandomAccessIter), __comp); - } - - template --void __nth_element(_RandomAccessIter __first, _RandomAccessIter __nth, -- _RandomAccessIter __last, _Tp*) { -- while (__last - __first > 3) { -- _RandomAccessIter __cut = -- __unguarded_partition(__first, __last, -- _Tp(__median(*__first, -- *(__first + (__last - __first)/2), -- *(__last - 1)))); -- if (__cut <= __nth) -- __first = __cut; -- else -- __last = __cut; -- } -- __insertion_sort(__first, __last); -+template -+_RandomAccessIter -+partial_sort_copy(_InputIter __first, _InputIter __last, -+ _RandomAccessIter __result_first, _RandomAccessIter __result_last) { -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) -+ _STLP_DEBUG_CHECK(__check_range(__result_first, __result_last)) -+ return __partial_sort_copy(__first, __last, __result_first, __result_last, -+ __less(_STLP_VALUE_TYPE(__first, _InputIter)), -+ _STLP_DISTANCE_TYPE(__result_first, _RandomAccessIter), -+ _STLP_VALUE_TYPE(__first, _InputIter)); -+} -+ -+template -+_RandomAccessIter -+partial_sort_copy(_InputIter __first, _InputIter __last, -+ _RandomAccessIter __result_first, -+ _RandomAccessIter __result_last, _Compare __comp) { -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) -+ _STLP_DEBUG_CHECK(__check_range(__result_first, __result_last)) -+ return __partial_sort_copy(__first, __last, __result_first, __result_last, -+ __comp, -+ _STLP_DISTANCE_TYPE(__result_first, _RandomAccessIter), -+ _STLP_VALUE_TYPE(__first, _InputIter)); - } - -+// nth_element() and its auxiliary functions. -+ - template - void __nth_element(_RandomAccessIter __first, _RandomAccessIter __nth, - _RandomAccessIter __last, _Tp*, _Compare __comp) { -@@ -1602,90 +1147,36 @@ - __insertion_sort(__first, __last, __comp); - } - --template --_ForwardIter __lower_bound(_ForwardIter __first, _ForwardIter __last, -- const _Tp& __val, _Distance*) --{ -- _Distance __len = 0; -- distance(__first, __last, __len); -- _Distance __half; -- _ForwardIter __middle; - -- while (__len > 0) { -- __half = __len >> 1; -- __middle = __first; -- advance(__middle, __half); -- if (*__middle < __val) { -- __first = __middle; -- ++__first; -- __len = __len - __half - 1; -- } -- else -- __len = __half; -- } -- return __first; -+template -+void nth_element(_RandomAccessIter __first, _RandomAccessIter __nth, -+ _RandomAccessIter __last) { -+ _STLP_DEBUG_CHECK(__check_range(__first, __nth)) -+ _STLP_DEBUG_CHECK(__check_range(__nth, __last)) -+ __nth_element(__first, __nth, __last, _STLP_VALUE_TYPE(__first, _RandomAccessIter), -+ __less(_STLP_VALUE_TYPE(__first, _RandomAccessIter))); - } - --template --_ForwardIter __lower_bound(_ForwardIter __first, _ForwardIter __last, -- const _Tp& __val, _Compare __comp, _Distance*) --{ -- _Distance __len = 0; -- distance(__first, __last, __len); -- _Distance __half; -- _ForwardIter __middle; -- -- while (__len > 0) { -- __half = __len >> 1; -- __middle = __first; -- advance(__middle, __half); -- if (__comp(*__middle, __val)) { -- __first = __middle; -- ++__first; -- __len = __len - __half - 1; -- } -- else -- __len = __half; -- } -- return __first; -+template -+void nth_element(_RandomAccessIter __first, _RandomAccessIter __nth, -+ _RandomAccessIter __last, _Compare __comp) { -+ _STLP_DEBUG_CHECK(__check_range(__first, __nth)) -+ _STLP_DEBUG_CHECK(__check_range(__nth, __last)) -+ __nth_element(__first, __nth, __last, _STLP_VALUE_TYPE(__first, _RandomAccessIter), __comp); - } - --template --_ForwardIter __upper_bound(_ForwardIter __first, _ForwardIter __last, -- const _Tp& __val, _Distance*) --{ -- _Distance __len = 0; -- distance(__first, __last, __len); -- _Distance __half; -- _ForwardIter __middle; -- -- while (__len > 0) { -- __half = __len >> 1; -- __middle = __first; -- advance(__middle, __half); -- if (__val < *__middle) -- __len = __half; -- else { -- __first = __middle; -- ++__first; -- __len = __len - __half - 1; -- } -- } -- return __first; --} -+// Binary search (lower_bound, upper_bound, equal_range, binary_search). - - template - _ForwardIter __upper_bound(_ForwardIter __first, _ForwardIter __last, - const _Tp& __val, _Compare __comp, _Distance*) - { -- _Distance __len = 0; -- distance(__first, __last, __len); -+ _Distance __len = distance(__first, __last); - _Distance __half; -- _ForwardIter __middle; - - while (__len > 0) { - __half = __len >> 1; -- __middle = __first; -+ _ForwardIter __middle = __first; - advance(__middle, __half); - if (__comp(__val, *__middle)) - __len = __half; -@@ -1698,50 +1189,17 @@ - return __first; - } - --template --pair<_ForwardIter, _ForwardIter> --__equal_range(_ForwardIter __first, _ForwardIter __last, const _Tp& __val, -- _Distance*) --{ -- _Distance __len = 0; -- distance(__first, __last, __len); -- _Distance __half; -- _ForwardIter __middle, __left, __right; -- -- while (__len > 0) { -- __half = __len >> 1; -- __middle = __first; -- advance(__middle, __half); -- if (*__middle < __val) { -- __first = __middle; -- ++__first; -- __len = __len - __half - 1; -- } -- else if (__val < *__middle) -- __len = __half; -- else { -- __left = lower_bound(__first, __middle, __val); -- advance(__first, __len); -- __right = upper_bound(++__middle, __first, __val); -- return pair<_ForwardIter, _ForwardIter>(__left, __right); -- } -- } -- return pair<_ForwardIter, _ForwardIter>(__first, __first); --} -- - template - pair<_ForwardIter, _ForwardIter> - __equal_range(_ForwardIter __first, _ForwardIter __last, const _Tp& __val, - _Compare __comp, _Distance*) - { -- _Distance __len = 0; -- distance(__first, __last, __len); -+ _Distance __len = distance(__first, __last); - _Distance __half; -- _ForwardIter __middle, __left, __right; - - while (__len > 0) { - __half = __len >> 1; -- __middle = __first; -+ _ForwardIter __middle = __first; - advance(__middle, __half); - if (__comp(*__middle, __val)) { - __first = __middle; -@@ -1751,9 +1209,9 @@ - else if (__comp(__val, *__middle)) - __len = __half; - else { -- __left = lower_bound(__first, __middle, __val, __comp); -+ _ForwardIter __left = lower_bound(__first, __middle, __val, __comp); - advance(__first, __len); -- __right = upper_bound(++__middle, __first, __val, __comp); -+ _ForwardIter __right = upper_bound(++__middle, __first, __val, __comp); - return pair<_ForwardIter, _ForwardIter>(__left, __right); - } - } -@@ -1764,8 +1222,8 @@ - _OutputIter merge(_InputIter1 __first1, _InputIter1 __last1, - _InputIter2 __first2, _InputIter2 __last2, - _OutputIter __result) { -- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) -- __STL_DEBUG_CHECK(__check_range(__first2, __last2)) -+ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) -+ _STLP_DEBUG_CHECK(__check_range(__first2, __last2)) - while (__first1 != __last1 && __first2 != __last2) { - if (*__first2 < *__first1) { - *__result = *__first2; -@@ -1785,8 +1243,8 @@ - _OutputIter merge(_InputIter1 __first1, _InputIter1 __last1, - _InputIter2 __first2, _InputIter2 __last2, - _OutputIter __result, _Compare __comp) { -- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) -- __STL_DEBUG_CHECK(__check_range(__first2, __last2)) -+ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) -+ _STLP_DEBUG_CHECK(__check_range(__first2, __last2)) - while (__first1 != __last1 && __first2 != __last2) { - if (__comp(*__first2, *__first1)) { - *__result = *__first2; -@@ -1801,42 +1259,6 @@ - return copy(__first2, __last2, copy(__first1, __last1, __result)); - } - --template --void __merge_without_buffer(_BidirectionalIter __first, -- _BidirectionalIter __middle, -- _BidirectionalIter __last, -- _Distance __len1, _Distance __len2) { -- if (__len1 == 0 || __len2 == 0) -- return; -- if (__len1 + __len2 == 2) { -- if (*__middle < *__first) -- iter_swap(__first, __middle); -- return; -- } -- _BidirectionalIter __first_cut = __first; -- _BidirectionalIter __second_cut = __middle; -- _Distance __len11 = 0; -- _Distance __len22 = 0; -- if (__len1 > __len2) { -- __len11 = __len1 / 2; -- advance(__first_cut, __len11); -- __second_cut = lower_bound(__middle, __last, *__first_cut); -- distance(__middle, __second_cut, __len22); -- } -- else { -- __len22 = __len2 / 2; -- advance(__second_cut, __len22); -- __first_cut = upper_bound(__first, __middle, *__second_cut); -- distance(__first, __first_cut, __len11); -- } -- _BidirectionalIter __new_middle -- = rotate(__first_cut, __middle, __second_cut); -- __merge_without_buffer(__first, __first_cut, __new_middle, -- __len11, __len22); -- __merge_without_buffer(__new_middle, __second_cut, __last, __len1 - __len11, -- __len2 - __len22); --} -- - template - void __merge_without_buffer(_BidirectionalIter __first, - _BidirectionalIter __middle, -@@ -1858,13 +1280,13 @@ - __len11 = __len1 / 2; - advance(__first_cut, __len11); - __second_cut = lower_bound(__middle, __last, *__first_cut, __comp); -- distance(__middle, __second_cut, __len22); -+ __len22 += distance(__middle, __second_cut); - } - else { - __len22 = __len2 / 2; - advance(__second_cut, __len22); - __first_cut = upper_bound(__first, __middle, *__second_cut, __comp); -- distance(__first, __first_cut, __len11); -+ __len11 +=distance(__first, __first_cut); - } - _BidirectionalIter __new_middle - = rotate(__first_cut, __middle, __second_cut); -@@ -1874,14 +1296,14 @@ - __len2 - __len22, __comp); - } - -- - template -+ class _BidirectionalIter3, class _Compare> - _BidirectionalIter3 __merge_backward(_BidirectionalIter1 __first1, - _BidirectionalIter1 __last1, - _BidirectionalIter2 __first2, - _BidirectionalIter2 __last2, -- _BidirectionalIter3 __result) { -+ _BidirectionalIter3 __result, -+ _Compare __comp) { - if (__first1 == __last1) - return copy_backward(__first2, __last2, __result); - if (__first2 == __last2) -@@ -1889,7 +1311,7 @@ - --__last1; - --__last2; - while (true) { -- if (*__last2 < *__last1) { -+ if (__comp(*__last2, *__last1)) { - *--__result = *__last1; - if (__first1 == __last1) - return copy_backward(__first2, ++__last2, __result); -@@ -1904,63 +1326,14 @@ - } - } - --template --_BidirectionalIter3 __merge_backward(_BidirectionalIter1 __first1, -- _BidirectionalIter1 __last1, -- _BidirectionalIter2 __first2, -- _BidirectionalIter2 __last2, -- _BidirectionalIter3 __result, -- _Compare __comp) { -- if (__first1 == __last1) -- return copy_backward(__first2, __last2, __result); -- if (__first2 == __last2) -- return copy_backward(__first1, __last1, __result); -- --__last1; -- --__last2; -- while (true) { -- if (__comp(*__last2, *__last1)) { -- *--__result = *__last1; -- if (__first1 == __last1) -- return copy_backward(__first2, ++__last2, __result); -- --__last1; -- } -- else { -- *--__result = *__last2; -- if (__first2 == __last2) -- return copy_backward(__first1, ++__last1, __result); -- --__last2; -- } -- } --} -- --template --inline void __inplace_merge_aux(_BidirectionalIter __first, -- _BidirectionalIter __middle, -- _BidirectionalIter __last, _Tp*, _Distance*) { -- _Distance __len1 = 0; -- distance(__first, __middle, __len1); -- _Distance __len2 = 0; -- distance(__middle, __last, __len2); -- -- _Temporary_buffer<_BidirectionalIter, _Tp> __buf(__first, __last); -- if (__buf.begin() == 0) -- __merge_without_buffer(__first, __middle, __last, __len1, __len2); -- else -- __merge_adaptive(__first, __middle, __last, __len1, __len2, -- __buf.begin(), _Distance(__buf.size())); --} -- - template - inline void __inplace_merge_aux(_BidirectionalIter __first, - _BidirectionalIter __middle, - _BidirectionalIter __last, _Tp*, _Distance*, - _Compare __comp) { -- _Distance __len1 = 0; -- distance(__first, __middle, __len1); -- _Distance __len2 = 0; -- distance(__middle, __last, __len2); -+ _Distance __len1 = distance(__first, __middle); -+ _Distance __len2 = distance(__middle, __last); - - _Temporary_buffer<_BidirectionalIter, _Tp> __buf(__first, __last); - if (__buf.begin() == 0) -@@ -1975,36 +1348,38 @@ - void inplace_merge(_BidirectionalIter __first, - _BidirectionalIter __middle, - _BidirectionalIter __last) { -- __STL_DEBUG_CHECK(__check_range(__first, __middle)) -- __STL_DEBUG_CHECK(__check_range(__middle, __last)) -+ _STLP_DEBUG_CHECK(__check_range(__first, __middle)) -+ _STLP_DEBUG_CHECK(__check_range(__middle, __last)) - if (__first == __middle || __middle == __last) - return; - __inplace_merge_aux(__first, __middle, __last, -- __VALUE_TYPE(__first), __DISTANCE_TYPE(__first)); -+ _STLP_VALUE_TYPE(__first, _BidirectionalIter), _STLP_DISTANCE_TYPE(__first, _BidirectionalIter), -+ __less(_STLP_VALUE_TYPE(__first, _BidirectionalIter))); - } - - template - void inplace_merge(_BidirectionalIter __first, - _BidirectionalIter __middle, - _BidirectionalIter __last, _Compare __comp) { -- __STL_DEBUG_CHECK(__check_range(__first, __middle)) -- __STL_DEBUG_CHECK(__check_range(__middle, __last)) -+ _STLP_DEBUG_CHECK(__check_range(__first, __middle)) -+ _STLP_DEBUG_CHECK(__check_range(__middle, __last)) - if (__first == __middle || __middle == __last) - return; - __inplace_merge_aux(__first, __middle, __last, -- __VALUE_TYPE(__first), __DISTANCE_TYPE(__first), -+ _STLP_VALUE_TYPE(__first, _BidirectionalIter), _STLP_DISTANCE_TYPE(__first, _BidirectionalIter), - __comp); - } - --template --bool includes(_InputIter1 __first1, _InputIter1 __last1, -- _InputIter2 __first2, _InputIter2 __last2) { -- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) -- __STL_DEBUG_CHECK(__check_range(__first2, __last2)) -+ -+template -+bool __includes(_InputIter1 __first1, _InputIter1 __last1, -+ _InputIter2 __first2, _InputIter2 __last2, _Compare __comp) { -+ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) -+ _STLP_DEBUG_CHECK(__check_range(__first2, __last2)) - while (__first1 != __last1 && __first2 != __last2) -- if (*__first2 < *__first1) -+ if (__comp(*__first2, *__first1)) - return false; -- else if(*__first1 < *__first2) -+ else if(__comp(*__first1, *__first2)) - ++__first1; - else - ++__first1, ++__first2; -@@ -2015,31 +1390,28 @@ - template - bool includes(_InputIter1 __first1, _InputIter1 __last1, - _InputIter2 __first2, _InputIter2 __last2, _Compare __comp) { -- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) -- __STL_DEBUG_CHECK(__check_range(__first2, __last2)) -- while (__first1 != __last1 && __first2 != __last2) -- if (__comp(*__first2, *__first1)) -- return false; -- else if(__comp(*__first1, *__first2)) -- ++__first1; -- else -- ++__first1, ++__first2; -+ return __includes(__first1, __last1, __first2, __last2, __comp); -+} - -- return __first2 == __last2; -+template -+bool includes(_InputIter1 __first1, _InputIter1 __last1, -+ _InputIter2 __first2, _InputIter2 __last2) { -+ return __includes(__first1, __last1, __first2, __last2, __less(_STLP_VALUE_TYPE(__first1, _InputIter1))); - } - --template --_OutputIter set_union(_InputIter1 __first1, _InputIter1 __last1, -- _InputIter2 __first2, _InputIter2 __last2, -- _OutputIter __result) { -- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) -- __STL_DEBUG_CHECK(__check_range(__first2, __last2)) -+template -+_OutputIter __set_union(_InputIter1 __first1, _InputIter1 __last1, -+ _InputIter2 __first2, _InputIter2 __last2, -+ _OutputIter __result, _Compare __comp) { -+ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) -+ _STLP_DEBUG_CHECK(__check_range(__first2, __last2)) - while (__first1 != __last1 && __first2 != __last2) { -- if (*__first1 < *__first2) { -+ if (__comp(*__first1, *__first2)) { - *__result = *__first1; - ++__first1; - } -- else if (*__first2 < *__first1) { -+ else if (__comp(*__first2, *__first1)) { - *__result = *__first2; - ++__first2; - } -@@ -2053,50 +1425,47 @@ - return copy(__first2, __last2, copy(__first1, __last1, __result)); - } - -+template -+_OutputIter set_union(_InputIter1 __first1, _InputIter1 __last1, -+ _InputIter2 __first2, _InputIter2 __last2, -+ _OutputIter __result) { -+ return __set_union(__first1, __last1, __first2, __last2, __result, __less(_STLP_VALUE_TYPE(__first1, _InputIter1))); -+} -+ - template - _OutputIter set_union(_InputIter1 __first1, _InputIter1 __last1, - _InputIter2 __first2, _InputIter2 __last2, - _OutputIter __result, _Compare __comp) { -- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) -- __STL_DEBUG_CHECK(__check_range(__first2, __last2)) -- while (__first1 != __last1 && __first2 != __last2) { -- if (__comp(*__first1, *__first2)) { -- *__result = *__first1; -+ return __set_union(__first1, __last1, __first2, __last2, __result, __comp); -+} -+ -+template -+_OutputIter __set_intersection(_InputIter1 __first1, _InputIter1 __last1, -+ _InputIter2 __first2, _InputIter2 __last2, -+ _OutputIter __result, _Compare __comp) { -+ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) -+ _STLP_DEBUG_CHECK(__check_range(__first2, __last2)) -+ while (__first1 != __last1 && __first2 != __last2) -+ if (__comp(*__first1, *__first2)) - ++__first1; -- } -- else if (__comp(*__first2, *__first1)) { -- *__result = *__first2; -+ else if (__comp(*__first2, *__first1)) - ++__first2; -- } - else { - *__result = *__first1; - ++__first1; - ++__first2; -+ ++__result; - } -- ++__result; -- } -- return copy(__first2, __last2, copy(__first1, __last1, __result)); -+ return __result; - } - - template - _OutputIter set_intersection(_InputIter1 __first1, _InputIter1 __last1, - _InputIter2 __first2, _InputIter2 __last2, - _OutputIter __result) { -- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) -- __STL_DEBUG_CHECK(__check_range(__first2, __last2)) -- while (__first1 != __last1 && __first2 != __last2) -- if (*__first1 < *__first2) -- ++__first1; -- else if (*__first2 < *__first1) -- ++__first2; -- else { -- *__result = *__first1; -- ++__first1; -- ++__first2; -- ++__result; -- } -- return __result; -+ return __set_intersection(__first1, __last1, __first2, __last2, __result, __less(_STLP_VALUE_TYPE(__first1, _InputIter1))); - } - - template -+_OutputIter __set_difference(_InputIter1 __first1, _InputIter1 __last1, -+ _InputIter2 __first2, _InputIter2 __last2, -+ _OutputIter __result, _Compare __comp) { -+ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) -+ _STLP_DEBUG_CHECK(__check_range(__first2, __last2)) - while (__first1 != __last1 && __first2 != __last2) -- if (__comp(*__first1, *__first2)) -+ if (__comp(*__first1, *__first2)) { -+ *__result = *__first1; - ++__first1; -+ ++__result; -+ } - else if (__comp(*__first2, *__first1)) - ++__first2; - else { -- *__result = *__first1; - ++__first1; - ++__first2; -- ++__result; - } -- return __result; -+ return copy(__first1, __last1, __result); - } - - template - _OutputIter set_difference(_InputIter1 __first1, _InputIter1 __last1, - _InputIter2 __first2, _InputIter2 __last2, - _OutputIter __result) { -- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) -- __STL_DEBUG_CHECK(__check_range(__first2, __last2)) -- while (__first1 != __last1 && __first2 != __last2) -- if (*__first1 < *__first2) { -- *__result = *__first1; -- ++__first1; -- ++__result; -- } -- else if (*__first2 < *__first1) -- ++__first2; -- else { -- ++__first1; -- ++__first2; -- } -- return copy(__first1, __last1, __result); -+ return __set_difference(__first1, __last1, __first2, __last2, __result, -+ __less(_STLP_VALUE_TYPE(__first1, _InputIter1))); - } - - template -+_OutputIter -+__set_symmetric_difference(_InputIter1 __first1, _InputIter1 __last1, -+ _InputIter2 __first2, _InputIter2 __last2, -+ _OutputIter __result, _Compare __comp) { -+ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) -+ _STLP_DEBUG_CHECK(__check_range(__first2, __last2)) - while (__first1 != __last1 && __first2 != __last2) - if (__comp(*__first1, *__first2)) { - *__result = *__first1; - ++__first1; - ++__result; - } -- else if (__comp(*__first2, *__first1)) -+ else if (__comp(*__first2, *__first1)) { -+ *__result = *__first2; - ++__first2; -+ ++__result; -+ } - else { - ++__first1; - ++__first2; - } -- return copy(__first1, __last1, __result); -+ return copy(__first2, __last2, copy(__first1, __last1, __result)); - } - - template -@@ -2168,81 +1544,47 @@ - set_symmetric_difference(_InputIter1 __first1, _InputIter1 __last1, - _InputIter2 __first2, _InputIter2 __last2, - _OutputIter __result) { -- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) -- __STL_DEBUG_CHECK(__check_range(__first2, __last2)) -- while (__first1 != __last1 && __first2 != __last2) -- if (*__first1 < *__first2) { -- *__result = *__first1; -- ++__first1; -- ++__result; -- } -- else if (*__first2 < *__first1) { -- *__result = *__first2; -- ++__first2; -- ++__result; -- } -- else { -- ++__first1; -- ++__first2; -- } -- return copy(__first2, __last2, copy(__first1, __last1, __result)); -+ return __set_symmetric_difference(__first1, __last1, __first2, __last2, __result, -+ __less(_STLP_VALUE_TYPE(__first1, _InputIter1))); - } - --template -+template - _OutputIter - set_symmetric_difference(_InputIter1 __first1, _InputIter1 __last1, - _InputIter2 __first2, _InputIter2 __last2, - _OutputIter __result, - _Compare __comp) { -- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) -- __STL_DEBUG_CHECK(__check_range(__first2, __last2)) -- while (__first1 != __last1 && __first2 != __last2) -- if (__comp(*__first1, *__first2)) { -- *__result = *__first1; -- ++__first1; -- ++__result; -- } -- else if (__comp(*__first2, *__first1)) { -- *__result = *__first2; -- ++__first2; -- ++__result; -- } -- else { -- ++__first1; -- ++__first2; -- } -- return copy(__first2, __last2, copy(__first1, __last1, __result)); -+ return __set_symmetric_difference(__first1, __last1, __first2, __last2, __result, __comp); - } - - // min_element and max_element, with and without an explicitly supplied - // comparison function. - --template --_ForwardIter max_element(_ForwardIter __first, _ForwardIter __last) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -+template -+_ForwardIter max_element(_ForwardIter __first, _ForwardIter __last, -+ _Compare __comp) { -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) - if (__first == __last) return __first; - _ForwardIter __result = __first; - while (++__first != __last) -- if (*__result < *__first) -- __result = __first; -+ if (__comp(*__result, *__first)) __result = __first; - return __result; - } - --template --_ForwardIter max_element(_ForwardIter __first, _ForwardIter __last, -- _Compare __comp) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -+template -+_ForwardIter max_element(_ForwardIter __first, _ForwardIter __last) { -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) - if (__first == __last) return __first; - _ForwardIter __result = __first; - while (++__first != __last) -- if (__comp(*__result, *__first)) __result = __first; -+ if (*__result < *__first) -+ __result = __first; - return __result; - } - - template - _ForwardIter min_element(_ForwardIter __first, _ForwardIter __last) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) - if (__first == __last) return __first; - _ForwardIter __result = __first; - while (++__first != __last) -@@ -2254,55 +1596,20 @@ - template - _ForwardIter min_element(_ForwardIter __first, _ForwardIter __last, - _Compare __comp) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) - if (__first == __last) return __first; - _ForwardIter __result = __first; - while (++__first != __last) -- if (__comp(*__first, *__result)) -- __result = __first; -+ if (__comp(*__first, *__result)) __result = __first; - return __result; - } - - // next_permutation and prev_permutation, with and without an explicitly - // supplied comparison function. -- --template --bool next_permutation(_BidirectionalIter __first, _BidirectionalIter __last) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -- if (__first == __last) -- return false; -- _BidirectionalIter __i = __first; -- ++__i; -- if (__i == __last) -- return false; -- __i = __last; -- --__i; -- -- for(;;) { -- _BidirectionalIter __ii = __i; -- --__i; -- if (*__i < *__ii) { -- _BidirectionalIter __j = __last; -- while (!(*__i < *--__j)) -- {} -- iter_swap(__i, __j); -- reverse(__ii, __last); -- return true; -- } -- if (__i == __first) { -- reverse(__first, __last); -- return false; -- } -- } --#if defined(__STL_NEED_UNREACHABLE_RETURN) -- return 0; --#endif --} -- - template --bool next_permutation(_BidirectionalIter __first, _BidirectionalIter __last, -- _Compare __comp) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -+bool __next_permutation(_BidirectionalIter __first, _BidirectionalIter __last, -+ _Compare __comp) { -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) - if (__first == __last) - return false; - _BidirectionalIter __i = __first; -@@ -2328,48 +1635,27 @@ - return false; - } - } --#if defined(__STL_NEED_UNREACHABLE_RETURN) -+#if defined(_STLP_NEED_UNREACHABLE_RETURN) - return 0; - #endif - } - - template --bool prev_permutation(_BidirectionalIter __first, _BidirectionalIter __last) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -- if (__first == __last) -- return false; -- _BidirectionalIter __i = __first; -- ++__i; -- if (__i == __last) -- return false; -- __i = __last; -- --__i; -+bool next_permutation(_BidirectionalIter __first, _BidirectionalIter __last) { -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) -+ return __next_permutation(__first, __last, __less(_STLP_VALUE_TYPE(__first, _BidirectionalIter))); -+} - -- for(;;) { -- _BidirectionalIter __ii = __i; -- --__i; -- if (*__ii < *__i) { -- _BidirectionalIter __j = __last; -- while (!(*--__j < *__i)) -- {} -- iter_swap(__i, __j); -- reverse(__ii, __last); -- return true; -- } -- if (__i == __first) { -- reverse(__first, __last); -- return false; -- } -- } --#if defined(__STL_NEED_UNREACHABLE_RETURN) -- return 0; --#endif -+template -+bool next_permutation(_BidirectionalIter __first, _BidirectionalIter __last, -+ _Compare __comp) { -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) -+ return __next_permutation(__first, __last, __comp); - } - - template --bool prev_permutation(_BidirectionalIter __first, _BidirectionalIter __last, -+bool __prev_permutation(_BidirectionalIter __first, _BidirectionalIter __last, - _Compare __comp) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) - if (__first == __last) - return false; - _BidirectionalIter __i = __first; -@@ -2395,204 +1681,30 @@ - return false; - } - } --#if defined(__STL_NEED_UNREACHABLE_RETURN) -+#if defined(_STLP_NEED_UNREACHABLE_RETURN) - return 0; - #endif - } - --// find_first_of, with and without an explicitly supplied comparison function. -- --template --_InputIter find_first_of(_InputIter __first1, _InputIter __last1, -- _ForwardIter __first2, _ForwardIter __last2) --{ -- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) -- __STL_DEBUG_CHECK(__check_range(__first2, __last2)) -- for ( ; __first1 != __last1; ++__first1) -- for (_ForwardIter __iter = __first2; __iter != __last2; ++__iter) -- if (*__first1 == *__iter) -- return __first1; -- return __last1; --} -- --template --_InputIter find_first_of(_InputIter __first1, _InputIter __last1, -- _ForwardIter __first2, _ForwardIter __last2, -- _BinaryPredicate __comp) --{ -- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) -- __STL_DEBUG_CHECK(__check_range(__first2, __last2)) -- for ( ; __first1 != __last1; ++__first1) -- for (_ForwardIter __iter = __first2; __iter != __last2; ++__iter) -- if (__comp(*__first1, *__iter)) -- return __first1; -- return __last1; --} -- --// find_end, with and without an explicitly supplied comparison function. --// Search [first2, last2) as a subsequence in [first1, last1), and return --// the *last* possible match. Note that find_end for bidirectional iterators --// is much faster than for forward iterators. -- --// find_end for forward iterators. --template --_ForwardIter1 __find_end(_ForwardIter1 __first1, _ForwardIter1 __last1, -- _ForwardIter2 __first2, _ForwardIter2 __last2, -- forward_iterator_tag, forward_iterator_tag) --{ -- if (__first2 == __last2) -- return __last1; -- else { -- _ForwardIter1 __result = __last1; -- while (1) { -- _ForwardIter1 __new_result -- = search(__first1, __last1, __first2, __last2); -- if (__new_result == __last1) -- return __result; -- else { -- __result = __new_result; -- __first1 = __new_result; -- ++__first1; -- } -- } -- } --} -- --template --_ForwardIter1 __find_end(_ForwardIter1 __first1, _ForwardIter1 __last1, -- _ForwardIter2 __first2, _ForwardIter2 __last2, -- forward_iterator_tag, forward_iterator_tag, -- _BinaryPredicate __comp) --{ -- if (__first2 == __last2) -- return __last1; -- else { -- _ForwardIter1 __result = __last1; -- while (1) { -- _ForwardIter1 __new_result -- = search(__first1, __last1, __first2, __last2, __comp); -- if (__new_result == __last1) -- return __result; -- else { -- __result = __new_result; -- __first1 = __new_result; -- ++__first1; -- } -- } -- } --} -- --// find_end for bidirectional iterators. Requires partial specialization. --#if defined ( __STL_CLASS_PARTIAL_SPECIALIZATION ) && \ --! defined (__STL_PARTIAL_SPECIALIZATION_BUG) -- --template --_BidirectionalIter1 --__find_end(_BidirectionalIter1 __first1, _BidirectionalIter1 __last1, -- _BidirectionalIter2 __first2, _BidirectionalIter2 __last2, -- bidirectional_iterator_tag, bidirectional_iterator_tag) --{ -- typedef reverse_iterator<_BidirectionalIter1> _RevIter1; -- typedef reverse_iterator<_BidirectionalIter2> _RevIter2; -- -- _RevIter1 __rlast1(__first1); -- _RevIter2 __rlast2(__first2); -- _RevIter1 __rresult = search(_RevIter1(__last1), __rlast1, -- _RevIter2(__last2), __rlast2); -- -- if (__rresult == __rlast1) -- return __last1; -- else { -- _BidirectionalIter1 __result = __rresult.base(); -- advance(__result, -distance(__first2, __last2)); -- return __result; -- } --} -- --template --_BidirectionalIter1 --__find_end(_BidirectionalIter1 __first1, _BidirectionalIter1 __last1, -- _BidirectionalIter2 __first2, _BidirectionalIter2 __last2, -- bidirectional_iterator_tag, bidirectional_iterator_tag, -- _BinaryPredicate __comp) --{ -- typedef reverse_iterator<_BidirectionalIter1> _RevIter1; -- typedef reverse_iterator<_BidirectionalIter2> _RevIter2; -- -- _RevIter1 __rlast1(__first1); -- _RevIter2 __rlast2(__first2); -- _RevIter1 __rresult = search(_RevIter1(__last1), __rlast1, -- _RevIter2(__last2), __rlast2, -- __comp); -- -- if (__rresult == __rlast1) -- return __last1; -- else { -- _BidirectionalIter1 __result = __rresult.base(); -- advance(__result, -distance(__first2, __last2)); -- return __result; -- } --} --#endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */ -- --template --_ForwardIter1 --find_end(_ForwardIter1 __first1, _ForwardIter1 __last1, -- _ForwardIter2 __first2, _ForwardIter2 __last2) --{ -- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) -- __STL_DEBUG_CHECK(__check_range(__first2, __last2)) -- return __find_end(__first1, __last1, __first2, __last2, --# if defined (__STL_CLASS_PARTIAL_SPECIALIZATION) -- __ITERATOR_CATEGORY(__first1), -- __ITERATOR_CATEGORY(__first2) --# else -- forward_iterator_tag(), -- forward_iterator_tag() --# endif --); -+template -+bool prev_permutation(_BidirectionalIter __first, _BidirectionalIter __last) { -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) -+ return __prev_permutation(__first, __last, __less(_STLP_VALUE_TYPE(__first, _BidirectionalIter))); - } - --template --_ForwardIter1 --find_end(_ForwardIter1 __first1, _ForwardIter1 __last1, -- _ForwardIter2 __first2, _ForwardIter2 __last2, -- _BinaryPredicate __comp) --{ -- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) -- __STL_DEBUG_CHECK(__check_range(__first2, __last2)) -- return __find_end(__first1, __last1, __first2, __last2, --# if defined (__STL_CLASS_PARTIAL_SPECIALIZATION) -- __ITERATOR_CATEGORY(__first1), -- __ITERATOR_CATEGORY(__first2), --# else -- forward_iterator_tag(), -- forward_iterator_tag(), --# endif -- __comp); -+template -+bool prev_permutation(_BidirectionalIter __first, _BidirectionalIter __last, -+ _Compare __comp) { -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) -+ return __prev_permutation(__first, __last, __comp); - } - --# ifndef __STL_NO_EXTENSIONS -+# ifndef _STLP_NO_EXTENSIONS - - // is_heap, a predicate testing whether or not a range is - // a heap. This function is an extension, not part of the C++ - // standard. - --template --bool __is_heap(_RandomAccessIter __first, _Distance __n) --{ -- _Distance __parent = 0; -- for (_Distance __child = 1; __child < __n; ++__child) { -- if (__first[__parent] < __first[__child]) -- return false; -- if ((__child & 1) == 0) -- ++__parent; -- } -- return true; --} - - template - bool __is_heap(_RandomAccessIter __first, _StrictWeakOrdering __comp, -@@ -2611,43 +1723,24 @@ - template - bool is_heap(_RandomAccessIter __first, _RandomAccessIter __last) - { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -- return __is_heap(__first, __last - __first); -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) -+ return __is_heap(__first, __less(_STLP_VALUE_TYPE(__first, _RandomAccessIter)), __last - __first); - } - - template - bool is_heap(_RandomAccessIter __first, _RandomAccessIter __last, - _StrictWeakOrdering __comp) - { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) - return __is_heap(__first, __comp, __last - __first); - } - --// is_sorted, a predicated testing whether a range is sorted in --// nondescending order. This is an extension, not part of the C++ --// standard. -- --template --bool is_sorted(_ForwardIter __first, _ForwardIter __last) --{ -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -- if (__first == __last) -- return true; -- -- _ForwardIter __next = __first; -- for (++__next; __next != __last; __first = __next, ++__next) { -- if (*__next < *__first) -- return false; -- } -- -- return true; --} - - template --bool is_sorted(_ForwardIter __first, _ForwardIter __last, -- _StrictWeakOrdering __comp) -+bool __is_sorted(_ForwardIter __first, _ForwardIter __last, -+ _StrictWeakOrdering __comp) - { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) - if (__first == __last) - return true; - -@@ -2660,13 +1753,13 @@ - return true; - } - --# endif /* __STL_NO_EXTENSIONS */ -+# endif /* _STLP_NO_EXTENSIONS */ - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - - # undef __stl_threshold - --#endif /* __STL_ALGO_C */ -+#endif /* _STLP_ALGO_C */ - // Local Variables: - // mode:C++ - // End: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_algo.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_algo.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_algo.h Sat Feb 24 10:44:40 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_algo.h Sun Aug 11 18:59:24 2002 -@@ -27,311 +27,281 @@ - * You should not attempt to use it directly. - */ - --#ifndef __SGI_STL_INTERNAL_ALGO_H --#define __SGI_STL_INTERNAL_ALGO_H -+#ifndef _STLP_INTERNAL_ALGO_H -+#define _STLP_INTERNAL_ALGO_H - --# ifndef __SGI_STL_INTERNAL_ALGOBASE_H -+# ifndef _STLP_INTERNAL_ALGOBASE_H - # include - # endif - --# ifndef __SGI_STL_INTERNAL_TEMPBUF_H -+# ifndef _STLP_INTERNAL_TEMPBUF_H - # include - # endif - --# ifndef __SGI_STL_INTERNAL_HEAP_H -+# ifndef _STLP_INTERNAL_HEAP_H - # include - # endif - --# ifndef __SGI_STL_INTERNAL_ITERATOR_H -+# ifndef _STLP_INTERNAL_ITERATOR_H - # include - # endif - -+# ifndef _STLP_INTERNAL_FUNCTION_BASE_H -+# include -+# endif -+ - # ifdef __SUNPRO_CC - // remove() conflict - # include - # endif - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - // for_each. Apply a function to every element of a range. - template --_Function for_each(_InputIter __first, _InputIter __last, _Function __f); -- --// find and find_if. -- --template --inline _InputIter find(_InputIter __first, _InputIter __last, -- const _Tp& __val, -- input_iterator_tag) --{ -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -- while (__first != __last && !(*__first == __val)) -- ++__first; -- return __first; --} -- --template --inline _InputIter find_if(_InputIter __first, __STL_MPW_EXTRA_CONST _InputIter __last, -- _Predicate __pred, -- input_iterator_tag) --{ -- while (__first != __last && !__pred(*__first)) -- ++__first; -- return __first; --} -- --#ifdef __STL_CLASS_PARTIAL_SPECIALIZATION -- --template --_RandomAccessIter find(_RandomAccessIter __first, _RandomAccessIter __last, -- const _Tp& __val, -- random_access_iterator_tag); -- --template --_RandomAccessIter find_if(_RandomAccessIter __first, _RandomAccessIter __last, -- _Predicate __pred, -- random_access_iterator_tag); -- --#endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */ -- --// fbp : without partial spec, we essentially have one variant for those. --template --inline _InputIter find(_InputIter __first, _InputIter __last, -- const _Tp& __val) --{ -- __STL_DEBUG_CHECK(__check_range(__first, __last)) --# if defined (__STL_CLASS_PARTIAL_SPECIALIZATION) -- return find(__first, __last, __val, __ITERATOR_CATEGORY(__first)); --# else -- return find(__first, __last, __val, input_iterator_tag()); --# endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */ -+_STLP_INLINE_LOOP _Function -+for_each(_InputIter __first, _InputIter __last, _Function __f) { -+ for ( ; __first != __last; ++__first) -+ __f(*__first); -+ return __f; - } - -+// count_if - template --inline _InputIter find_if(_InputIter __first, _InputIter __last, -- _Predicate __pred) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) --# if defined (__STL_CLASS_PARTIAL_SPECIALIZATION) -- return find_if(__first, __last, __pred, __ITERATOR_CATEGORY(__first)); --# else -- return find_if(__first, __last, __pred, input_iterator_tag()); --# endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */ -+_STLP_INLINE_LOOP _STLP_DIFFERENCE_TYPE(_InputIter) -+count_if(_InputIter __first, _InputIter __last, _Predicate __pred) { -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) -+_STLP_DIFFERENCE_TYPE(_InputIter) __n = 0; -+ for ( ; __first != __last; ++__first) -+ if (__pred(*__first)) -+ ++__n; -+ return __n; - } - - // adjacent_find. -- - template --_ForwardIter adjacent_find(_ForwardIter __first, _ForwardIter __last); --template --_ForwardIter adjacent_find(_ForwardIter __first, _ForwardIter __last, -- _BinaryPredicate __binary_pred); -+_STLP_INLINE_LOOP _ForwardIter -+adjacent_find(_ForwardIter __first, _ForwardIter __last) { -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) -+ if (__first == __last) -+ return __last; -+ _ForwardIter __next = __first; -+ while(++__next != __last) { -+ if (*__first == *__next) -+ return __first; -+ __first = __next; -+ } -+ return __last; -+} - --// count and count_if. There are two version of each, one whose return type --// type is void and one (present only if we have partial specialization) --// whose return type is iterator_traits<_InputIter>::difference_type. The --// C++ standard only has the latter version, but the former, which was present --// in the HP STL, is retained for backward compatibility. -+template -+_STLP_INLINE_LOOP _ForwardIter -+adjacent_find(_ForwardIter __first, _ForwardIter __last, -+ _BinaryPredicate __binary_pred) { -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) -+ if (__first == __last) -+ return __last; -+ _ForwardIter __next = __first; -+ while(++__next != __last) { -+ if (__binary_pred(*__first, *__next)) -+ return __first; -+ __first = __next; -+ } -+ return __last; -+} - -+# ifndef _STLP_NO_ANACHRONISMS - template --void count(_InputIter __first, _InputIter __last, const _Tp& __value, -- _Size& __n); --template --void count_if(_InputIter __first, _InputIter __last, _Predicate __pred, -- _Size& __n); -- -- --template --__STL_DIFFERENCE_TYPE(_InputIter) --count(_InputIter __first, _InputIter __last, const _Tp& __value); -- --template --__STL_DIFFERENCE_TYPE(_InputIter) --count_if(_InputIter __first, _InputIter __last, _Predicate __pred); -+_STLP_INLINE_LOOP void -+count(_InputIter __first, _InputIter __last, const _Tp& __val, _Size& __n) { -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) -+ for ( ; __first != __last; ++__first) -+ if (*__first == __val) -+ ++__n; -+} - --// search. -+template -+_STLP_INLINE_LOOP void -+count_if(_InputIter __first, _InputIter __last, _Predicate __pred, _Size& __n) { -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) -+ for ( ; __first != __last; ++__first) -+ if (__pred(*__first)) -+ ++__n; -+} -+# endif - - template - _ForwardIter1 search(_ForwardIter1 __first1, _ForwardIter1 __last1, - _ForwardIter2 __first2, _ForwardIter2 __last2); --template --_ForwardIter1 search(_ForwardIter1 __first1, _ForwardIter1 __last1, -- _ForwardIter2 __first2, _ForwardIter2 __last2, -- _BinaryPred __predicate); -- - - // search_n. Search for __count consecutive copies of __val. -- - template - _ForwardIter search_n(_ForwardIter __first, _ForwardIter __last, - _Integer __count, const _Tp& __val); -- - template - _ForwardIter search_n(_ForwardIter __first, _ForwardIter __last, -- _Integer __count, const _Tp& __val, -- _BinaryPred __binary_pred); -- -+ _Integer __count, const _Tp& __val, _BinaryPred __binary_pred); - -+template -+inline _InputIter find_first_of(_InputIter __first1, _InputIter __last1, -+ _ForwardIter __first2, _ForwardIter __last2) { -+ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) -+ _STLP_DEBUG_CHECK(__check_range(__first2, __last2)) -+ return __find_first_of(__first1, __last1, __first2, __last2,__equal_to(_STLP_VALUE_TYPE(__first1, _InputIter))); -+} - --// swap_ranges -+template -+inline _InputIter -+find_first_of(_InputIter __first1, _InputIter __last1, -+ _ForwardIter __first2, _ForwardIter __last2,_BinaryPredicate __comp) { -+ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) -+ _STLP_DEBUG_CHECK(__check_range(__first2, __last2)) -+ return __find_first_of(__first1, __last1, __first2, __last2,__comp); -+} - - template --_ForwardIter2 swap_ranges(_ForwardIter1 __first1, _ForwardIter1 __last1, -- _ForwardIter2 __first2); -+_ForwardIter1 -+find_end(_ForwardIter1 __first1, _ForwardIter1 __last1, -+ _ForwardIter2 __first2, _ForwardIter2 __last2); - -+// swap_ranges -+template -+_STLP_INLINE_LOOP _ForwardIter2 -+swap_ranges(_ForwardIter1 __first1, _ForwardIter1 __last1, _ForwardIter2 __first2) { -+ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) -+ for ( ; __first1 != __last1; ++__first1, ++__first2) -+ iter_swap(__first1, __first2); -+ return __first2; -+} - - // transform - template --_OutputIter transform(_InputIter __first, _InputIter __last, -- _OutputIter __result, _UnaryOperation __opr); -- --template --_OutputIter transform(_InputIter1 __first1, _InputIter1 __last1, -- _InputIter2 __first2, _OutputIter __result, -- _BinaryOperation __binary_op); -+_STLP_INLINE_LOOP _OutputIter -+transform(_InputIter __first, _InputIter __last, _OutputIter __result, _UnaryOperation __opr) { -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) -+ for ( ; __first != __last; ++__first, ++__result) -+ *__result = __opr(*__first); -+ return __result; -+} -+template -+_STLP_INLINE_LOOP _OutputIter -+transform(_InputIter1 __first1, _InputIter1 __last1, -+ _InputIter2 __first2, _OutputIter __result,_BinaryOperation __binary_op) { -+ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) -+ for ( ; __first1 != __last1; ++__first1, ++__first2, ++__result) -+ *__result = __binary_op(*__first1, *__first2); -+ return __result; -+} - --// replace, replace_if, replace_copy, replace_copy_if -+// replace_if, replace_copy, replace_copy_if - --template --void replace(_ForwardIter __first, _ForwardIter __last, -- const _Tp& __old_value, const _Tp& __new_value); - template --void replace_if(_ForwardIter __first, _ForwardIter __last, -- _Predicate __pred, const _Tp& __new_value); -+_STLP_INLINE_LOOP void -+replace_if(_ForwardIter __first, _ForwardIter __last, _Predicate __pred, const _Tp& __new_value) { -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) -+ for ( ; __first != __last; ++__first) -+ if (__pred(*__first)) -+ *__first = __new_value; -+} - - template --_OutputIter replace_copy(_InputIter __first, _InputIter __last, -- _OutputIter __result, -- const _Tp& __old_value, const _Tp& __new_value); --template --_OutputIter replace_copy_if(Iterator __first, Iterator __last, -- _OutputIter __result, -- _Predicate __pred, const _Tp& __new_value); -+_STLP_INLINE_LOOP _OutputIter -+replace_copy(_InputIter __first, _InputIter __last,_OutputIter __result, -+ const _Tp& __old_value, const _Tp& __new_value) { -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) -+ for ( ; __first != __last; ++__first, ++__result) -+ *__result = *__first == __old_value ? __new_value : *__first; -+ return __result; -+} - -+template -+_STLP_INLINE_LOOP _OutputIter -+replace_copy_if(_Iterator __first, _Iterator __last, -+ _OutputIter __result, -+ _Predicate __pred, const _Tp& __new_value) { -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) -+ for ( ; __first != __last; ++__first, ++__result) -+ *__result = __pred(*__first) ? __new_value : *__first; -+ return __result; -+} - - // generate and generate_n - - template --void generate(_ForwardIter __first, _ForwardIter __last, _Generator __gen); -+_STLP_INLINE_LOOP void -+generate(_ForwardIter __first, _ForwardIter __last, _Generator __gen) { -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) -+ for ( ; __first != __last; ++__first) -+ *__first = __gen(); -+} - - template --_OutputIter generate_n(_OutputIter __first, _Size __n, _Generator __gen); -+_STLP_INLINE_LOOP _OutputIter -+generate_n(_OutputIter __first, _Size __n, _Generator __gen) { -+ for ( ; __n > 0; --__n, ++__first) -+ *__first = __gen(); -+ return __first; -+} - - // remove, remove_if, remove_copy, remove_copy_if - - template --_OutputIter remove_copy(_InputIter __first, _InputIter __last, -- _OutputIter __result, const _Tp& __value); -+_STLP_INLINE_LOOP _OutputIter -+remove_copy(_InputIter __first, _InputIter __last,_OutputIter __result, const _Tp& __val) { -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) -+ for ( ; __first != __last; ++__first) -+ if (!(*__first == __val)) { -+ *__result = *__first; -+ ++__result; -+ } -+ return __result; -+} - - template --_OutputIter remove_copy_if(_InputIter __first, _InputIter __last, -- _OutputIter __result, _Predicate __pred); -+_STLP_INLINE_LOOP _OutputIter -+remove_copy_if(_InputIter __first, _InputIter __last, _OutputIter __result, _Predicate __pred) { -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) -+ for ( ; __first != __last; ++__first) -+ if (!__pred(*__first)) { -+ *__result = *__first; -+ ++__result; -+ } -+ return __result; -+} - - template --_ForwardIter remove(_ForwardIter __first, _ForwardIter __last, -- const _Tp& __value); -- --template --_ForwardIter remove_if(_ForwardIter __first, _ForwardIter __last, -- _Predicate __pred); -- --// unique and unique_copy -- --template --_OutputIter __unique_copy(_InputIter __first, _InputIter __last, -- _OutputIter __result, _Tp*); -- -- --template --inline _OutputIter __unique_copy(_InputIter __first, _InputIter __last, -- _OutputIter __result, -- output_iterator_tag) { -- return __unique_copy(__first, __last, __result, __VALUE_TYPE(__first)); -+_STLP_INLINE_LOOP _ForwardIter -+remove(_ForwardIter __first, _ForwardIter __last, const _Tp& __val) { -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) -+ __first = find(__first, __last, __val); -+ if (__first == __last) -+ return __first; -+ else { -+ _ForwardIter __next = __first; -+ return remove_copy(++__next, __last, __first, __val); -+ } - } - --template --_ForwardIter __unique_copy(_InputIter __first, _InputIter __last, -- _ForwardIter __result, forward_iterator_tag); -- --# if defined (__STL_NONTEMPL_BASE_MATCH_BUG) --template --inline --_ForwardIter __unique_copy(_InputIter __first, _InputIter __last, -- _ForwardIter __result, bidirectional_iterator_tag) { -- return __unique_copy(__first, __last, __result, forward_iterator_tag()); --} --template --inline --_ForwardIter __unique_copy(_InputIter __first, _InputIter __last, -- _ForwardIter __result, random_access_iterator_tag) { -- return __unique_copy(__first, __last, __result, forward_iterator_tag()); -+template -+_STLP_INLINE_LOOP _ForwardIter -+remove_if(_ForwardIter __first, _ForwardIter __last, _Predicate __pred) { -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) -+ __first = find_if(__first, __last, __pred); -+ if ( __first == __last ) -+ return __first; -+ else { -+ _ForwardIter __next = __first; -+ return remove_copy_if(++__next, __last, __first, __pred); -+ } - } --# endif /* __STL_NONTEMPL_BASE_MATCH_BUG */ - -+// unique and unique_copy - template --inline _OutputIter unique_copy(_InputIter __first, _InputIter __last, -- _OutputIter __result) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -- if (__first == __last) return __result; -- return __unique_copy(__first, __last, __result, -- __ITERATOR_CATEGORY(__result)); --} -- --template --OutputIterator __unique_copy(InputIterator first, InputIterator last, -- OutputIterator result, -- BinaryPredicate binary_pred, _Tp*); -- -+_OutputIter unique_copy(_InputIter __first, _InputIter __last, _OutputIter __result); - - template --inline _OutputIter __unique_copy(_InputIter __first, _InputIter __last, -- _OutputIter __result, -- _BinaryPredicate __binary_pred, -- output_iterator_tag) { -- return __unique_copy(__first, __last, __result, __binary_pred, -- __VALUE_TYPE(__first)); --} -- --template --_ForwardIter __unique_copy(_InputIter __first, _InputIter __last, -- _ForwardIter __result, -- _BinaryPredicate __binary_pred, -- forward_iterator_tag); -- --# if defined (__STL_NONTEMPL_BASE_MATCH_BUG) --template --inline BidirectionalIterator __unique_copy(InputIterator first, -- InputIterator last, -- BidirectionalIterator result, -- BinaryPredicate binary_pred, -- bidirectional_iterator_tag) { -- return __unique_copy(first, last, result, binary_pred, -- forward_iterator_tag()); --} -- --template --inline RandomAccessIterator __unique_copy(InputIterator first, -- InputIterator last, -- RandomAccessIterator result, -- BinaryPredicate binary_pred, -- random_access_iterator_tag) { -- return __unique_copy(first, last, result, binary_pred, -- forward_iterator_tag()); --} --# endif /* __STL_NONTEMPL_BASE_MATCH_BUG */ -- --template --inline _OutputIter unique_copy(_InputIter __first, _InputIter __last, -- _OutputIter __result, -- _BinaryPredicate __binary_pred) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -- if (__first == __last) return __result; -- return __unique_copy(__first, __last, __result, __binary_pred, -- __ITERATOR_CATEGORY(__result)); --} -+_OutputIter unique_copy(_InputIter __first, _InputIter __last,_OutputIter __result, -+ _BinaryPredicate __binary_pred); - - template - inline _ForwardIter unique(_ForwardIter __first, _ForwardIter __last) { -@@ -349,9 +319,8 @@ - // reverse and reverse_copy, and their auxiliary functions - - template --__STL_INLINE_LOOP --void __reverse(_BidirectionalIter __first, _BidirectionalIter __last, -- bidirectional_iterator_tag) { -+_STLP_INLINE_LOOP void -+__reverse(_BidirectionalIter __first, _BidirectionalIter __last, const bidirectional_iterator_tag &) { - while (true) - if (__first == __last || __first == --__last) - return; -@@ -361,24 +330,24 @@ - - - template --__STL_INLINE_LOOP --void __reverse(_RandomAccessIter __first, _RandomAccessIter __last, -- random_access_iterator_tag) { -+_STLP_INLINE_LOOP void -+__reverse(_RandomAccessIter __first, _RandomAccessIter __last, const random_access_iterator_tag &) { - for (; __first < __last; ++__first) iter_swap(__first, --__last); - } - - template --inline void reverse(_BidirectionalIter __first, _BidirectionalIter __last) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -- __reverse(__first, __last, __ITERATOR_CATEGORY(__first)); -+inline void -+reverse(_BidirectionalIter __first, _BidirectionalIter __last) { -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) -+ __reverse(__first, __last, _STLP_ITERATOR_CATEGORY(__first, _BidirectionalIter)); - } - - template --__STL_INLINE_LOOP -+_STLP_INLINE_LOOP - _OutputIter reverse_copy(_BidirectionalIter __first, - _BidirectionalIter __last, - _OutputIter __result) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) - while (__first != __last) { - --__last; - *__result = *__last; -@@ -390,7 +359,7 @@ - // rotate and rotate_copy, and their auxiliary functions - - template --__STL_INLINE_LOOP -+_STLP_INLINE_LOOP - _EuclideanRingElement __gcd(_EuclideanRingElement __m, - _EuclideanRingElement __n) - { -@@ -402,64 +371,26 @@ - return __m; - } - --template --_ForwardIter __rotate(_ForwardIter __first, -- _ForwardIter __middle, -- _ForwardIter __last, -- _Distance*, -- forward_iterator_tag); -- --template --_BidirectionalIter __rotate(_BidirectionalIter __first, -- _BidirectionalIter __middle, -- _BidirectionalIter __last, -- _Distance*, -- bidirectional_iterator_tag); -- --template --_RandomAccessIter __rotate(_RandomAccessIter __first, -- _RandomAccessIter __middle, -- _RandomAccessIter __last, -- _Distance *, _Tp *); -- -- --template --inline _RandomAccessIter __rotate(_RandomAccessIter __first, -- _RandomAccessIter __middle, -- _RandomAccessIter __last, -- _Distance * __dis, -- random_access_iterator_tag) { -- return __rotate(__first, __middle, __last, -- __dis, __VALUE_TYPE(__first)); --} -- - template --inline _ForwardIter rotate(_ForwardIter __first, _ForwardIter __middle, -- _ForwardIter __last) { -- __STL_DEBUG_CHECK(__check_range(__first, __middle)) -- __STL_DEBUG_CHECK(__check_range(__middle, __last)) -- return __rotate(__first, __middle, __last, -- __DISTANCE_TYPE(__first), -- __ITERATOR_CATEGORY(__first)); --} -+_ForwardIter -+rotate(_ForwardIter __first, _ForwardIter __middle, _ForwardIter __last); - - template - inline _OutputIter rotate_copy(_ForwardIter __first, _ForwardIter __middle, -- _ForwardIter __last, _OutputIter __result) { -+ _ForwardIter __last, _OutputIter __result) { - return copy(__first, __middle, copy(__middle, __last, __result)); - } - - // random_shuffle - - template --void random_shuffle(_RandomAccessIter __first, -- _RandomAccessIter __last); -+void random_shuffle(_RandomAccessIter __first, _RandomAccessIter __last); - - template - void random_shuffle(_RandomAccessIter __first, _RandomAccessIter __last, - _RandomNumberGenerator& __rand); - --# ifndef __STL_NO_EXTENSIONS -+# ifndef _STLP_NO_EXTENSIONS - // random_sample and random_sample_n (extensions, not part of the standard). - - template -@@ -472,145 +403,32 @@ - _OutputIter __out, const _Distance __n, - _RandomNumberGenerator& __rand); - --template --_RandomAccessIter __random_sample(_InputIter __first, _InputIter __last, -- _RandomAccessIter __out, -- const _Distance __n); -- --template --_RandomAccessIter __random_sample(_InputIter __first, _InputIter __last, -- _RandomAccessIter __out, -- _RandomNumberGenerator& __rand, -- const _Distance __n); -- - template --inline _RandomAccessIter -+_RandomAccessIter - random_sample(_InputIter __first, _InputIter __last, -- _RandomAccessIter __out_first, _RandomAccessIter __out_last) --{ -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -- __STL_DEBUG_CHECK(__check_range(__out_first, __out_last)) -- return __random_sample(__first, __last, -- __out_first, __out_last - __out_first); --} -- -+ _RandomAccessIter __out_first, _RandomAccessIter __out_last); - - template --inline _RandomAccessIter -+_RandomAccessIter - random_sample(_InputIter __first, _InputIter __last, - _RandomAccessIter __out_first, _RandomAccessIter __out_last, -- _RandomNumberGenerator& __rand) --{ -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -- __STL_DEBUG_CHECK(__check_range(__out_first, __out_last)) -- return __random_sample(__first, __last, -- __out_first, __rand, -- __out_last - __out_first); --} -+ _RandomNumberGenerator& __rand); - --# endif /* __STL_NO_EXTENSIONS */ -+# endif /* _STLP_NO_EXTENSIONS */ - - // partition, stable_partition, and their auxiliary functions - - template --_ForwardIter __partition(_ForwardIter __first, -- _ForwardIter __last, -- _Predicate __pred, -- forward_iterator_tag); -- --template --_BidirectionalIter __partition(_BidirectionalIter __first, -- _BidirectionalIter __last, -- _Predicate __pred, -- bidirectional_iterator_tag); -- -- --# if defined (__STL_NONTEMPL_BASE_MATCH_BUG) --template --inline --_BidirectionalIter __partition(_BidirectionalIter __first, -- _BidirectionalIter __last, -- _Predicate __pred, -- random_access_iterator_tag) { -- return __partition(__first, __last, __pred, bidirectional_iterator_tag()); --} --# endif -+_ForwardIter partition(_ForwardIter __first, _ForwardIter __last, _Predicate __pred); - --template --inline _ForwardIter partition(_ForwardIter __first, -- _ForwardIter __last, -- _Predicate __pred) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -- return __partition(__first, __last, __pred, __ITERATOR_CATEGORY(__first)); --} -- --template --_ForwardIter __inplace_stable_partition(_ForwardIter __first, -- _ForwardIter __last, -- _Predicate __pred, _Distance __len); -- -- --template --_ForwardIter __stable_partition_adaptive(_ForwardIter __first, -- _ForwardIter __last, -- _Predicate __pred, _Distance __len, -- _Pointer __buffer, -- _Distance __buffer_size); -- -- --template --inline _ForwardIter --__stable_partition_aux(_ForwardIter __first, _ForwardIter __last, -- _Predicate __pred, _Tp*, _Distance*) --{ -- _Temporary_buffer<_ForwardIter, _Tp> __buf(__first, __last); -- __STL_MPWFIX_TRY //*TY 06/01/2000 - they forget to call dtor for _Temporary_buffer if no try/catch block is present -- return (__buf.size() > 0) ? -- __stable_partition_adaptive(__first, __last, __pred, -- _Distance(__buf.requested_size()), -- __buf.begin(), __buf.size()) : -- __inplace_stable_partition(__first, __last, __pred, -- _Distance(__buf.requested_size())); -- __STL_MPWFIX_CATCH //*TY 06/01/2000 - they forget to call dtor for _Temporary_buffer if no try/catch block is present --} - - template --inline _ForwardIter stable_partition(_ForwardIter __first, -- _ForwardIter __last, -- _Predicate __pred) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -- if (__first == __last) -- return __first; -- else -- return __stable_partition_aux(__first, __last, __pred, -- __VALUE_TYPE(__first), -- __DISTANCE_TYPE(__first)); --} -- --template --_RandomAccessIter __unguarded_partition(_RandomAccessIter __first, -- _RandomAccessIter __last, -- _Tp __pivot); -- --template --_RandomAccessIter __unguarded_partition(_RandomAccessIter __first, -- _RandomAccessIter __last, -- _Tp __pivot, _Compare __comp); -+_ForwardIter -+stable_partition(_ForwardIter __first, _ForwardIter __last, _Predicate __pred); - - // sort() and its auxiliary functions. - --template --void __final_insertion_sort(_RandomAccessIter __first, -- _RandomAccessIter __last); -- --template --void __final_insertion_sort(_RandomAccessIter __first, -- _RandomAccessIter __last, _Compare __comp); -- -- - template - inline _Size __lg(_Size __n) { - _Size __k; -@@ -618,40 +436,10 @@ - return __k; - } - --template --void __introsort_loop(_RandomAccessIter __first, -- _RandomAccessIter __last, _Tp*, -- _Size __depth_limit); -- --template --void __introsort_loop(_RandomAccessIter __first, -- _RandomAccessIter __last, _Tp*, -- _Size __depth_limit, _Compare __comp); -- -- - template --inline void sort(_RandomAccessIter __first, _RandomAccessIter __last) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -- if (__first != __last) { -- __introsort_loop(__first, __last, -- __VALUE_TYPE(__first), -- __lg(__last - __first) * 2); -- __final_insertion_sort(__first, __last); -- } --} -- -+void sort(_RandomAccessIter __first, _RandomAccessIter __last); - template --inline void sort(_RandomAccessIter __first, _RandomAccessIter __last, -- _Compare __comp) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -- if (__first != __last) { -- __introsort_loop(__first, __last, -- __VALUE_TYPE(__first), -- __lg(__last - __first) * 2, -- __comp); -- __final_insertion_sort(__first, __last, __comp); -- } --} -+void sort(_RandomAccessIter __first, _RandomAccessIter __last, _Compare __comp); - - // stable_sort() and its auxiliary functions. - template -@@ -664,184 +452,99 @@ - - // partial_sort, partial_sort_copy, and auxiliary functions. - --template --void __partial_sort(_RandomAccessIter __first, _RandomAccessIter __middle, -- _RandomAccessIter __last, _Tp*); -- - template --inline void partial_sort(_RandomAccessIter __first, -- _RandomAccessIter __middle, -- _RandomAccessIter __last) { -- __STL_DEBUG_CHECK(__check_range(__first, __middle)) -- __STL_DEBUG_CHECK(__check_range(__middle, __last)) -- __partial_sort(__first, __middle, __last, __VALUE_TYPE(__first)); --} -- --template --void __partial_sort(_RandomAccessIter __first, _RandomAccessIter __middle, -- _RandomAccessIter __last, _Tp*, _Compare __comp); -+void -+partial_sort(_RandomAccessIter __first,_RandomAccessIter __middle, _RandomAccessIter __last); - - template --inline void partial_sort(_RandomAccessIter __first, -- _RandomAccessIter __middle, -- _RandomAccessIter __last, _Compare __comp) { -- __STL_DEBUG_CHECK(__check_range(__first, __middle)) -- __STL_DEBUG_CHECK(__check_range(__middle, __last)) -- __partial_sort(__first, __middle, __last, __VALUE_TYPE(__first), __comp); --} -- --template --_RandomAccessIter __partial_sort_copy(_InputIter __first, -- _InputIter __last, -- _RandomAccessIter __result_first, -- _RandomAccessIter __result_last, -- _Distance*, _Tp*); -+void -+partial_sort(_RandomAccessIter __first,_RandomAccessIter __middle, -+ _RandomAccessIter __last, _Compare __comp); - - template --inline _RandomAccessIter -+_RandomAccessIter - partial_sort_copy(_InputIter __first, _InputIter __last, -- _RandomAccessIter __result_first, -- _RandomAccessIter __result_last) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -- __STL_DEBUG_CHECK(__check_range(__result_first, __result_last)) -- return __partial_sort_copy(__first, __last, __result_first, __result_last, -- __DISTANCE_TYPE(__result_first), -- __VALUE_TYPE(__first)); --} -- --template --_RandomAccessIter __partial_sort_copy(_InputIter __first, -- _InputIter __last, -- _RandomAccessIter __result_first, -- _RandomAccessIter __result_last, -- _Compare __comp, _Distance*, _Tp*); -+ _RandomAccessIter __result_first, _RandomAccessIter __result_last); - - template --inline _RandomAccessIter -+_RandomAccessIter - partial_sort_copy(_InputIter __first, _InputIter __last, - _RandomAccessIter __result_first, -- _RandomAccessIter __result_last, _Compare __comp) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -- __STL_DEBUG_CHECK(__check_range(__result_first, __result_last)) -- return __partial_sort_copy(__first, __last, __result_first, __result_last, -- __comp, -- __DISTANCE_TYPE(__result_first), -- __VALUE_TYPE(__first)); --} -+ _RandomAccessIter __result_last, _Compare __comp); - - // nth_element() and its auxiliary functions. - --template --void __nth_element(_RandomAccessIter __first, _RandomAccessIter __nth, -- _RandomAccessIter __last, _Tp*); -- - template --inline void nth_element(_RandomAccessIter __first, _RandomAccessIter __nth, -- _RandomAccessIter __last) { -- __STL_DEBUG_CHECK(__check_range(__first, __nth)) -- __STL_DEBUG_CHECK(__check_range(__nth, __last)) -- __nth_element(__first, __nth, __last, __VALUE_TYPE(__first)); --} -- --template --void __nth_element(_RandomAccessIter __first, _RandomAccessIter __nth, -- _RandomAccessIter __last, _Tp*, _Compare __comp); -+void nth_element(_RandomAccessIter __first, _RandomAccessIter __nth, -+ _RandomAccessIter __last); - - template --inline void nth_element(_RandomAccessIter __first, _RandomAccessIter __nth, -- _RandomAccessIter __last, _Compare __comp) { -- __STL_DEBUG_CHECK(__check_range(__first, __nth)) -- __STL_DEBUG_CHECK(__check_range(__nth, __last)) -- __nth_element(__first, __nth, __last, __VALUE_TYPE(__first), __comp); --} -- -+void nth_element(_RandomAccessIter __first, _RandomAccessIter __nth, -+ _RandomAccessIter __last, _Compare __comp); - - // Binary search (lower_bound, upper_bound, equal_range, binary_search). - --template --_ForwardIter __lower_bound(_ForwardIter __first, _ForwardIter __last, -- const _Tp& __val, _Distance*); -- -- - template - inline _ForwardIter lower_bound(_ForwardIter __first, _ForwardIter __last, - const _Tp& __val) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -- return __lower_bound(__first, __last, __val, -- __DISTANCE_TYPE(__first)); -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) -+ return __lower_bound(__first, __last, __val, less<_Tp>(), _STLP_DISTANCE_TYPE(__first, _ForwardIter)); - } - --template --_ForwardIter __lower_bound(_ForwardIter __first, _ForwardIter __last, -- const _Tp& __val, _Compare __comp, _Distance*); -- -- - template - inline _ForwardIter lower_bound(_ForwardIter __first, _ForwardIter __last, - const _Tp& __val, _Compare __comp) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -- return __lower_bound(__first, __last, __val, __comp, -- __DISTANCE_TYPE(__first)); -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) -+ return __lower_bound(__first, __last, __val, __comp, _STLP_DISTANCE_TYPE(__first, _ForwardIter)); - } - --template -+template - _ForwardIter __upper_bound(_ForwardIter __first, _ForwardIter __last, -- const _Tp& __val, _Distance*); -+ const _Tp& __val, _Compare __comp, _Distance*); - - template - inline _ForwardIter upper_bound(_ForwardIter __first, _ForwardIter __last, - const _Tp& __val) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -- return __upper_bound(__first, __last, __val, -- __DISTANCE_TYPE(__first)); -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) -+ return __upper_bound(__first, __last, __val, less<_Tp>(), -+ _STLP_DISTANCE_TYPE(__first, _ForwardIter)); - } - --template --_ForwardIter __upper_bound(_ForwardIter __first, _ForwardIter __last, -- const _Tp& __val, _Compare __comp, _Distance*); -- - template - inline _ForwardIter upper_bound(_ForwardIter __first, _ForwardIter __last, - const _Tp& __val, _Compare __comp) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) - return __upper_bound(__first, __last, __val, __comp, -- __DISTANCE_TYPE(__first)); -+ _STLP_DISTANCE_TYPE(__first, _ForwardIter)); - } - --template -+template - pair<_ForwardIter, _ForwardIter> - __equal_range(_ForwardIter __first, _ForwardIter __last, const _Tp& __val, -- _Distance*); -+ _Compare __comp, _Distance*); - - template - inline pair<_ForwardIter, _ForwardIter> - equal_range(_ForwardIter __first, _ForwardIter __last, const _Tp& __val) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -- return __equal_range(__first, __last, __val, -- __DISTANCE_TYPE(__first)); -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) -+ return __equal_range(__first, __last, __val, less<_Tp>(), -+ _STLP_DISTANCE_TYPE(__first, _ForwardIter)); - } - --template --pair<_ForwardIter, _ForwardIter> --__equal_range(_ForwardIter __first, _ForwardIter __last, const _Tp& __val, -- _Compare __comp, _Distance*); -- - template - inline pair<_ForwardIter, _ForwardIter> - equal_range(_ForwardIter __first, _ForwardIter __last, const _Tp& __val, - _Compare __comp) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) - return __equal_range(__first, __last, __val, __comp, -- __DISTANCE_TYPE(__first)); -+ _STLP_DISTANCE_TYPE(__first, _ForwardIter)); - } - - template - inline bool binary_search(_ForwardIter __first, _ForwardIter __last, - const _Tp& __val) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -- _ForwardIter __i = lower_bound(__first, __last, __val); -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) -+ _ForwardIter __i = __lower_bound(__first, __last, __val, less<_Tp>(), _STLP_DISTANCE_TYPE(__first, _ForwardIter)); - return __i != __last && !(__val < *__i); - } - -@@ -849,8 +552,8 @@ - inline bool binary_search(_ForwardIter __first, _ForwardIter __last, - const _Tp& __val, - _Compare __comp) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -- _ForwardIter __i = lower_bound(__first, __last, __val, __comp); -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) -+ _ForwardIter __i = __lower_bound(__first, __last, __val, __comp, _STLP_DISTANCE_TYPE(__first, _ForwardIter)); - return __i != __last && !__comp(__val, *__i); - } - -@@ -980,40 +683,7 @@ - bool prev_permutation(_BidirectionalIter __first, _BidirectionalIter __last, - _Compare __comp); - -- --// find_first_of, with and without an explicitly supplied comparison function. -- --template --_InputIter find_first_of(_InputIter __first1, _InputIter __last1, -- _ForwardIter __first2, _ForwardIter __last2); -- --template --_InputIter find_first_of(_InputIter __first1, _InputIter __last1, -- _ForwardIter __first2, _ForwardIter __last2, -- _BinaryPredicate __comp); -- -- --// find_end, with and without an explicitly supplied comparison function. --// Search [first2, last2) as a subsequence in [first1, last1), and return --// the *last* possible match. Note that find_end for bidirectional iterators --// is much faster than for forward iterators. -- -- --// Dispatching functions for find_end. -- --template --_ForwardIter1 --find_end(_ForwardIter1 __first1, _ForwardIter1 __last1, -- _ForwardIter2 __first2, _ForwardIter2 __last2); -- --template --_ForwardIter1 --find_end(_ForwardIter1 __first1, _ForwardIter1 __last1, -- _ForwardIter2 __first2, _ForwardIter2 __last2, -- _BinaryPredicate __comp); -- --# ifndef __STL_NO_EXTENSIONS -+# ifndef _STLP_NO_EXTENSIONS - - // is_heap, a predicate testing whether or not a range is - // a heap. This function is an extension, not part of the C++ -@@ -1026,25 +696,33 @@ - bool is_heap(_RandomAccessIter __first, _RandomAccessIter __last, - _StrictWeakOrdering __comp); - -+ - // is_sorted, a predicated testing whether a range is sorted in - // nondescending order. This is an extension, not part of the C++ - // standard. -+template -+bool __is_sorted(_ForwardIter __first, _ForwardIter __last, -+ _StrictWeakOrdering __comp); - - template --bool is_sorted(_ForwardIter __first, _ForwardIter __last); -+inline bool is_sorted(_ForwardIter __first, _ForwardIter __last) { -+ return __is_sorted(__first, __last, __less(_STLP_VALUE_TYPE(__first, _ForwardIter))); -+} - - template --bool is_sorted(_ForwardIter __first, _ForwardIter __last, -- _StrictWeakOrdering __comp); -+inline bool is_sorted(_ForwardIter __first, _ForwardIter __last, -+ _StrictWeakOrdering __comp) { -+ return __is_sorted(__first, __last, __comp); -+} - # endif - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --# if !defined (__STL_LINK_TIME_INSTANTIATION) -+# if !defined (_STLP_LINK_TIME_INSTANTIATION) - # include - # endif - --#endif /* __SGI_STL_INTERNAL_ALGO_H */ -+#endif /* _STLP_INTERNAL_ALGO_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_algobase.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_algobase.c ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_algobase.c Sat Feb 24 10:44:40 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_algobase.c Sun Aug 11 18:59:24 2002 -@@ -22,23 +22,27 @@ - * modified is included with the above copyright notice. - * - */ --#ifndef __SGI_STL_ALGOBASE_C --#define __SGI_STL_ALGOBASE_C -+#ifndef _STLP_ALGOBASE_C -+#define _STLP_ALGOBASE_C - --__STL_BEGIN_NAMESPACE -+# if !defined (_STLP_INTERNAL_ALGOBASE_H) -+# include -+# endif -+ -+_STLP_BEGIN_NAMESPACE - - template - bool lexicographical_compare(_InputIter1 __first1, _InputIter1 __last1, - _InputIter2 __first2, _InputIter2 __last2) { -- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) -- __STL_DEBUG_CHECK(__check_range(__first2, __last2)) -- for ( ; __first1 != __last1 && __first2 != __last2 -- ; ++__first1, ++__first2) { -- if (*__first1 < *__first2) -- return true; -- if (*__first2 < *__first1) -- return false; -- } -+ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) -+ _STLP_DEBUG_CHECK(__check_range(__first2, __last2)) -+ for ( ; __first1 != __last1 && __first2 != __last2 -+ ; ++__first1, ++__first2) { -+ if (*__first1 < *__first2) -+ return true; -+ if (*__first2 < *__first1) -+ return false; -+ } - return __first1 == __last1 && __first2 != __last2; - } - -@@ -46,18 +50,20 @@ - bool lexicographical_compare(_InputIter1 __first1, _InputIter1 __last1, - _InputIter2 __first2, _InputIter2 __last2, - _Compare __comp) { -- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) -- __STL_DEBUG_CHECK(__check_range(__first2, __last2)) -- for ( ; __first1 != __last1 && __first2 != __last2 -- ; ++__first1, ++__first2) { -- if (__comp(*__first1, *__first2)) -- return true; -- if (__comp(*__first2, *__first1)) -- return false; -- } -+ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) -+ _STLP_DEBUG_CHECK(__check_range(__first2, __last2)) -+ for ( ; __first1 != __last1 && __first2 != __last2 -+ ; ++__first1, ++__first2) { -+ if (__comp(*__first1, *__first2)) -+ return true; -+ if (__comp(*__first2, *__first1)) -+ return false; -+ } - return __first1 == __last1 && __first2 != __last2; - } - -+# ifndef _STLP_NO_EXTENSIONS -+ - template - int __lexicographical_compare_3way(_InputIter1 __first1, _InputIter1 __last1, - _InputIter2 __first2, _InputIter2 __last2) -@@ -83,14 +89,303 @@ - int lexicographical_compare_3way(_InputIter1 __first1, _InputIter1 __last1, - _InputIter2 __first2, _InputIter2 __last2) - { -- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) -- __STL_DEBUG_CHECK(__check_range(__first2, __last2)) -- return __lexicographical_compare_3way(__first1, __last1, __first2, __last2); -+ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) -+ _STLP_DEBUG_CHECK(__check_range(__first2, __last2)) -+ return __lexicographical_compare_3way(__first1, __last1, __first2, __last2); -+} -+# endif -+ -+template -+_STLP_INLINE_LOOP _RandomAccessIter __find(_RandomAccessIter __first, _RandomAccessIter __last, -+ const _Tp& __val, -+ const random_access_iterator_tag &) -+{ -+ _STLP_DIFFERENCE_TYPE(_RandomAccessIter) __trip_count = (__last - __first) >> 2; -+ -+ for ( ; __trip_count > 0 ; --__trip_count) { -+ if (*__first == __val) return __first; -+ ++__first; -+ -+ if (*__first == __val) return __first; -+ ++__first; -+ -+ if (*__first == __val) return __first; -+ ++__first; -+ -+ if (*__first == __val) return __first; -+ ++__first; -+ } -+ -+ switch(__last - __first) { -+ case 3: -+ if (*__first == __val) return __first; -+ ++__first; -+ case 2: -+ if (*__first == __val) return __first; -+ ++__first; -+ case 1: -+ if (*__first == __val) return __first; -+ ++__first; -+ case 0: -+ default: -+ return __last; -+ } -+} -+ -+template -+_STLP_INLINE_LOOP _RandomAccessIter __find_if(_RandomAccessIter __first, _RandomAccessIter __last, -+ _Predicate __pred, -+ const random_access_iterator_tag &) -+{ -+ _STLP_DIFFERENCE_TYPE(_RandomAccessIter) __trip_count = (__last - __first) >> 2; -+ -+ for ( ; __trip_count > 0 ; --__trip_count) { -+ if (__pred(*__first)) return __first; -+ ++__first; -+ -+ if (__pred(*__first)) return __first; -+ ++__first; -+ -+ if (__pred(*__first)) return __first; -+ ++__first; -+ -+ if (__pred(*__first)) return __first; -+ ++__first; -+ } -+ -+ switch(__last - __first) { -+ case 3: -+ if (__pred(*__first)) return __first; -+ ++__first; -+ case 2: -+ if (__pred(*__first)) return __first; -+ ++__first; -+ case 1: -+ if (__pred(*__first)) return __first; -+ // ++__first; -+ case 0: -+ default: -+ return __last; -+ } -+} -+ -+template -+inline _InputIter __find(_InputIter __first, _InputIter __last, -+ const _Tp& __val, -+ const input_iterator_tag &) -+{ -+ while (__first != __last && !(*__first == __val)) -+ ++__first; -+ return __first; -+} -+ -+template -+inline _InputIter __find_if(_InputIter __first, _STLP_MPW_EXTRA_CONST _InputIter __last, -+ _Predicate __pred, -+ const input_iterator_tag &) -+{ -+ while (__first != __last && !__pred(*__first)) -+ ++__first; -+ return __first; -+} -+ -+template -+_InputIter find_if(_InputIter __first, _InputIter __last, -+ _Predicate __pred) { -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) -+ return __find_if(__first, __last, __pred, _STLP_ITERATOR_CATEGORY(__first, _InputIter)); -+} -+ -+template -+_InputIter find(_InputIter __first, _InputIter __last, const _Tp& __val) -+{ -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) -+ return __find(__first, __last, __val, _STLP_ITERATOR_CATEGORY(__first, _InputIter)); -+} -+ -+template -+_ForwardIter1 search(_ForwardIter1 __first1, _ForwardIter1 __last1, -+ _ForwardIter2 __first2, _ForwardIter2 __last2, -+ _BinaryPred __predicate) -+{ -+ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) -+ _STLP_DEBUG_CHECK(__check_range(__first2, __last2)) -+ // Test for empty ranges -+ if (__first1 == __last1 || __first2 == __last2) -+ return __first1; -+ -+ // Test for a pattern of length 1. -+ _ForwardIter2 __tmp(__first2); -+ ++__tmp; -+ if (__tmp == __last2) { -+ while (__first1 != __last1 && !__predicate(*__first1, *__first2)) -+ ++__first1; -+ return __first1; -+ } -+ -+ // General case. -+ -+ _ForwardIter2 __p1, __p; -+ -+ __p1 = __first2; ++__p1; -+ -+ // _ForwardIter1 __current = __first1; -+ -+ while (__first1 != __last1) { -+ while (__first1 != __last1) { -+ if (__predicate(*__first1, *__first2)) -+ break; -+ ++__first1; -+ } -+ while (__first1 != __last1 && !__predicate(*__first1, *__first2)) -+ ++__first1; -+ if (__first1 == __last1) -+ return __last1; -+ -+ __p = __p1; -+ _ForwardIter1 __current = __first1; -+ if (++__current == __last1) return __last1; -+ -+ while (__predicate(*__current, *__p)) { -+ if (++__p == __last2) -+ return __first1; -+ if (++__current == __last1) -+ return __last1; -+ } -+ -+ ++__first1; -+ } -+ return __first1; -+} -+ -+// find_first_of, with and without an explicitly supplied comparison function. -+ -+template -+_InputIter __find_first_of(_InputIter __first1, _InputIter __last1, -+ _ForwardIter __first2, _ForwardIter __last2, -+ _BinaryPredicate __comp) { -+ for ( ; __first1 != __last1; ++__first1) -+ for (_ForwardIter __iter = __first2; __iter != __last2; ++__iter) -+ if (__comp(*__first1, *__iter)) -+ return __first1; -+ return __last1; -+} -+ -+ -+// find_end, with and without an explicitly supplied comparison function. -+// Search [first2, last2) as a subsequence in [first1, last1), and return -+// the *last* possible match. Note that find_end for bidirectional iterators -+// is much faster than for forward iterators. -+ -+// find_end for forward iterators. -+ -+template -+_ForwardIter1 __find_end(_ForwardIter1 __first1, _ForwardIter1 __last1, -+ _ForwardIter2 __first2, _ForwardIter2 __last2, -+ const forward_iterator_tag &, const forward_iterator_tag &, -+ _BinaryPredicate __comp) -+{ -+ if (__first2 == __last2) -+ return __last1; -+ else { -+ _ForwardIter1 __result = __last1; -+ while (1) { -+ _ForwardIter1 __new_result -+ = search(__first1, __last1, __first2, __last2, __comp); -+ if (__new_result == __last1) -+ return __result; -+ else { -+ __result = __new_result; -+ __first1 = __new_result; -+ ++__first1; -+ } -+ } -+ } -+} -+ -+// find_end for bidirectional iterators. Requires partial specialization. -+#if defined ( _STLP_CLASS_PARTIAL_SPECIALIZATION ) -+ -+#if ! defined (_STLP_INTERNAL_ITERATOR_H) -+_STLP_END_NAMESPACE -+# include -+_STLP_BEGIN_NAMESPACE -+#endif -+ -+template -+_BidirectionalIter1 -+__find_end(_BidirectionalIter1 __first1, _BidirectionalIter1 __last1, -+ _BidirectionalIter2 __first2, _BidirectionalIter2 __last2, -+ const bidirectional_iterator_tag &, const bidirectional_iterator_tag &, -+ _BinaryPredicate __comp) -+{ -+ typedef reverse_iterator<_BidirectionalIter1> _RevIter1; -+ typedef reverse_iterator<_BidirectionalIter2> _RevIter2; -+ -+ _RevIter1 __rlast1(__first1); -+ _RevIter2 __rlast2(__first2); -+ _RevIter1 __rresult = search(_RevIter1(__last1), __rlast1, -+ _RevIter2(__last2), __rlast2, -+ __comp); -+ -+ if (__rresult == __rlast1) -+ return __last1; -+ else { -+ _BidirectionalIter1 __result = __rresult.base(); -+ advance(__result, -distance(__first2, __last2)); -+ return __result; -+ } -+} -+#endif /* _STLP_CLASS_PARTIAL_SPECIALIZATION */ -+ -+template -+_ForwardIter1 -+find_end(_ForwardIter1 __first1, _ForwardIter1 __last1, -+ _ForwardIter2 __first2, _ForwardIter2 __last2, -+ _BinaryPredicate __comp) -+{ -+ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) -+ _STLP_DEBUG_CHECK(__check_range(__first2, __last2)) -+ return __find_end(__first1, __last1, __first2, __last2, -+# if defined (_STLP_CLASS_PARTIAL_SPECIALIZATION) -+ _STLP_ITERATOR_CATEGORY(__first1, _ForwardIter1), -+ _STLP_ITERATOR_CATEGORY(__first2, _ForwardIter2), -+# else -+ forward_iterator_tag(), -+ forward_iterator_tag(), -+# endif -+ __comp); -+} -+ -+template -+_ForwardIter __lower_bound(_ForwardIter __first, _ForwardIter __last, -+ const _Tp& __val, _Compare __comp, _Distance*) -+{ -+ _Distance __len = distance(__first, __last); -+ _Distance __half; -+ _ForwardIter __middle; -+ -+ while (__len > 0) { -+ __half = __len >> 1; -+ __middle = __first; -+ advance(__middle, __half); -+ if (__comp(*__middle, __val)) { -+ __first = __middle; -+ ++__first; -+ __len = __len - __half - 1; -+ } -+ else -+ __len = __half; -+ } -+ return __first; - } - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --#endif /* __SGI_STL_ALGOBASE_C */ -+#endif /* _STLP_ALGOBASE_C */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_algobase.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_algobase.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_algobase.h Sat Feb 24 10:44:41 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_algobase.h Sun Aug 11 18:59:24 2002 -@@ -28,46 +28,34 @@ - */ - - --#ifndef __SGI_STL_INTERNAL_ALGOBASE_H --#define __SGI_STL_INTERNAL_ALGOBASE_H -+#ifndef _STLP_INTERNAL_ALGOBASE_H -+#define _STLP_INTERNAL_ALGOBASE_H - --# if defined (__STL_DEBUG) && ! defined (__STLPORT_DEBUG_H) --# include --# endif -- --# if ! defined (__STLPORT_CSTDDEF) -+# if ! defined (_STLP_CSTDDEF) - # include - # endif - --#ifndef __STLPORT_CSTRING -+#ifndef _STLP_CSTRING - # include - #endif - --#ifndef __STLPORT_CLIMITS -+#ifndef _STLP_CLIMITS - # include - #endif - --# if ! defined (__STLPORT_CSTDLIB) -+# if ! defined (_STLP_CSTDLIB) - # include - # endif - --# ifndef __SGI_STL_INTERNAL_RELOPS --# include --# endif -- --// # ifndef __TYPE_TRAITS_H --// # include --// # endif -- --# ifndef __SGI_STL_INTERNAL_PAIR_H -+# ifndef _STLP_INTERNAL_PAIR_H - # include - # endif - --#ifndef __SGI_STL_INTERNAL_ITERATOR_BASE_H -+#ifndef _STLP_INTERNAL_ITERATOR_BASE_H - # include - #endif - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - // swap and iter_swap - template - inline void swap(_Tp& __a, _Tp& __b) { -@@ -76,79 +64,33 @@ - __b = __tmp; - } - --# if defined (__STL_CLASS_PARTIAL_SPECIALIZATION) -- - template --inline void iter_swap(_ForwardIter1 __a, _ForwardIter2 __b) { -- typedef typename iterator_traits<_ForwardIter1>::value_type __value_type; -- swap((__value_type&)*__a, (__value_type&)*__b); --} -- --# else -- --template --inline void __iter_swap(_ForwardIter1 __a, _ForwardIter2 __b, _Tp*) { -- swap((_Tp&)*__a, (_Tp&)*__b); -+inline void iter_swap(_ForwardIter1 __i1, _ForwardIter2 __i2) { -+ swap(*__i1, *__i2); - } - --template --inline void iter_swap(_ForwardIter1 __a, _ForwardIter2 __b) { -- __iter_swap(__a, __b, __VALUE_TYPE(__a)); --} -- --# endif -- -- - //-------------------------------------------------- - // min and max - --#undef min --#undef max -- --# if 0 /* defined (__BORLANDC__) && (__BORLANDC__ < 0x520) */ -- --# if defined (__STL_USE_NAMESPACES) --using ::min; --using ::max; --# endif -- --# endif -- --# if !defined (__BORLANDC__) || defined (__STL_USE_OWN_NAMESPACE) -- -+# if !defined (__BORLANDC__) || defined (_STLP_USE_OWN_NAMESPACE) - template --inline const _Tp& min(const _Tp& __a, const _Tp& __b) { -- return __b < __a ? __b : __a; --} -- -+inline const _Tp& (min)(const _Tp& __a, const _Tp& __b) { return __b < __a ? __b : __a; } - template --inline const _Tp& max(const _Tp& __a, const _Tp& __b) { -- return __a < __b ? __b : __a; --} -- -+inline const _Tp& (max)(const _Tp& __a, const _Tp& __b) { return __a < __b ? __b : __a; } - #endif /* __BORLANDC__ */ - --# if defined (__BORLANDC__) && ( __BORLANDC__ < 0x530 || defined (__STL_USE_OWN_NAMESPACE)) -- --inline unsigned long min (unsigned long __a, unsigned long __b) --{ -- return __b < __a ? __b : __a; --} -- --inline unsigned long max (unsigned long __a, unsigned long __b) --{ -- return __a < __b ? __b : __a; --} -- -+# if defined (__BORLANDC__) && ( __BORLANDC__ < 0x530 || defined (_STLP_USE_OWN_NAMESPACE)) -+inline unsigned long (min) (unsigned long __a, unsigned long __b) { return __b < __a ? __b : __a; } -+inline unsigned long (max) (unsigned long __a, unsigned long __b) { return __a < __b ? __b : __a; } - # endif - - template --inline const _Tp& min(const _Tp& __a, const _Tp& __b, _Compare __comp) { -+inline const _Tp& (min)(const _Tp& __a, const _Tp& __b, _Compare __comp) { - return __comp(__b, __a) ? __b : __a; - } - - template --inline const _Tp& max(const _Tp& __a, const _Tp& __b, _Compare __comp) { -+inline const _Tp& (max)(const _Tp& __a, const _Tp& __b, _Compare __comp) { - return __comp(__a, __b) ? __b : __a; - } - -@@ -164,37 +106,35 @@ - template - inline _OutputIter __copy(_InputIter __first, _InputIter __last, - _OutputIter __result, -- input_iterator_tag, _Distance*) --{ -+ const input_iterator_tag &, _Distance*) { - for ( ; __first != __last; ++__result, ++__first) - *__result = *__first; - return __result; - } - --# if defined (__STL_NONTEMPL_BASE_MATCH_BUG) -+# if defined (_STLP_NONTEMPL_BASE_MATCH_BUG) - template - inline _OutputIter __copy(_InputIter __first, _InputIter __last, -- _OutputIter __result, forward_iterator_tag, _Distance* __dis) --{ -- return __copy(__first, __last, __result, input_iterator_tag(), -- __dis); -+ _OutputIter __result, const forward_iterator_tag &, _Distance* ) { -+ for ( ; __first != __last; ++__result, ++__first) -+ *__result = *__first; -+ return __result; - } - - - template - inline _OutputIter __copy(_InputIter __first, _InputIter __last, -- _OutputIter __result, bidirectional_iterator_tag, _Distance* __dis) --{ -- return __copy(__first, __last, __result, input_iterator_tag(), -- __dis); -+ _OutputIter __result, const bidirectional_iterator_tag &, _Distance* __dis) { -+ for ( ; __first != __last; ++__result, ++__first) -+ *__result = *__first; -+ return __result; - } - # endif - - template - inline _OutputIter - __copy(_RandomAccessIter __first, _RandomAccessIter __last, -- _OutputIter __result, random_access_iterator_tag, _Distance*) --{ -+ _OutputIter __result, const random_access_iterator_tag &, _Distance*) { - for (_Distance __n = __last - __first; __n > 0; --__n) { - *__result = *__first; - ++__first; -@@ -203,162 +143,23 @@ - return __result; - } - --template --inline _Tp* --__copy_trivial(const _Tp* __first, const _Tp* __last, _Tp* __result) { -- memmove((void*)__result, (const void*)__first, sizeof(_Tp) * (__last - __first)); -- return __result + (__last - __first); --} -- -- --#if defined(__STL_FUNCTION_TMPL_PARTIAL_ORDER) -- --template --inline _OutputIter __copy_aux2(_InputIter __first, _InputIter __last, -- _OutputIter __result, __false_type) { -- return __copy(__first, __last, __result, -- __ITERATOR_CATEGORY(__first), -- __DISTANCE_TYPE(__first)); -+inline void* -+__copy_trivial(const void* __first, const void* __last, void* __result) { -+ return (__last == __first) ? __result : -+ ((char*)memmove(__result, __first, ((const char*)__last - (const char*)__first))) + -+ ((const char*)__last - (const char*)__first); - } - --template --inline _OutputIter __copy_aux2(_InputIter __first, _InputIter __last, -- _OutputIter __result, __true_type) { -- return __copy(__first, __last, __result, -- __ITERATOR_CATEGORY(__first), -- __DISTANCE_TYPE(__first)); --} -- --# if ! (defined (__APOGEE__) || defined (__USLC__)) --template --inline _Tp* __copy_aux2(_Tp* __first, _Tp* __last, _Tp* __result, -- __true_type) { -- return __copy_trivial(__first, __last, __result); --} --# endif -- --template --inline _Tp* __copy_aux2(const _Tp* __first, const _Tp* __last, _Tp* __result, -- __true_type) { -- return __copy_trivial(__first, __last, __result); --} -- --template --inline _OutputIter __copy_aux(_InputIter __first, _InputIter __last, -- _OutputIter __result, _Tp*) { -- typedef typename __type_traits<_Tp>::has_trivial_assignment_operator -- _Trivial; -- return __copy_aux2(__first, __last, __result, _Trivial()); --} -- --template --inline _OutputIter copy(_InputIter __first, _InputIter __last, -- _OutputIter __result) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -- return __copy_aux(__first, __last, __result, __VALUE_TYPE(__first)); --} -- --// Hack for compilers that don't have partial ordering of function templates --// but do have partial specialization of class templates. --#elif defined __STL_CLASS_PARTIAL_SPECIALIZATION -- --template --struct __copy_dispatch { -- static _OutputIter __STL_CALL copy(_InputIter __first, _InputIter __last, -- _OutputIter __result) { -- typedef typename iterator_traits<_InputIter>::iterator_category _Category; -- typedef typename iterator_traits<_InputIter>::difference_type _Distance; -- return __copy(__first, __last, __result, _Category(), (_Distance*) 0); -- } --}; -- --template --struct __copy_dispatch<_Tp*, _Tp*, __true_type> --{ -- static _Tp* __STL_CALL copy(const _Tp* __first, const _Tp* __last, _Tp* __result) { --# ifdef __STL_EXPLICIT_FUNCTION_TMPL_ARGS -- // dwa 11/19/98 -- CW bug workaround -- return __copy_trivial<_Tp>(__first, __last, __result); --# else -- return __copy_trivial(__first, __last, __result); --# endif -- } --}; -- --template --struct __copy_dispatch --{ -- static _Tp* copy(const _Tp* __first, const _Tp* __last, _Tp* __result) { -- return __copy_trivial(__first, __last, __result); -- } --}; -- --template --inline _OutputIter copy(_InputIter __first, _InputIter __last, -- _OutputIter __result) { -- typedef typename iterator_traits<_InputIter>::value_type _Tp; -- typedef typename __type_traits<_Tp>::has_trivial_assignment_operator -- _Trivial; -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -- return __copy_dispatch<_InputIter, _OutputIter, _Trivial> -- ::copy(__first, __last, __result); --} -- --#else /* __STL_CLASS_PARTIAL_SPECIALIZATION */ -- --template --inline _OutputIter copy(_InputIter __first, _InputIter __last, -- _OutputIter __result) --{ -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -- return __copy(__first, __last, __result, -- __ITERATOR_CATEGORY(__first), -- __DISTANCE_TYPE(__first)); --} -- --#define __SGI_STL_DECLARE_COPY_TRIVIAL(_Tp) \ -- inline _Tp* copy(const _Tp* __first, const _Tp* __last, _Tp* __result) { \ -- memmove(__result, __first, sizeof(_Tp) * (__last - __first)); \ -- return __result + (__last - __first); \ -- } -- --__SGI_STL_DECLARE_COPY_TRIVIAL(char) --# ifndef __STL_NO_SIGNED_BUILTINS --__SGI_STL_DECLARE_COPY_TRIVIAL(signed char) --# endif --__SGI_STL_DECLARE_COPY_TRIVIAL(unsigned char) --__SGI_STL_DECLARE_COPY_TRIVIAL(short) --__SGI_STL_DECLARE_COPY_TRIVIAL(unsigned short) --__SGI_STL_DECLARE_COPY_TRIVIAL(int) --__SGI_STL_DECLARE_COPY_TRIVIAL(unsigned int) --__SGI_STL_DECLARE_COPY_TRIVIAL(long) --__SGI_STL_DECLARE_COPY_TRIVIAL(unsigned long) --#if !defined(__STL_NO_WCHAR_T) && !defined (__STL_WCHAR_T_IS_USHORT) --__SGI_STL_DECLARE_COPY_TRIVIAL(wchar_t) --#endif --#ifdef _STL_LONG_LONG --__SGI_STL_DECLARE_COPY_TRIVIAL(long long) --__SGI_STL_DECLARE_COPY_TRIVIAL(unsigned long long) --#endif --__SGI_STL_DECLARE_COPY_TRIVIAL(float) --__SGI_STL_DECLARE_COPY_TRIVIAL(double) --# ifndef __STL_NO_LONG_DOUBLE --__SGI_STL_DECLARE_COPY_TRIVIAL(long double) --# endif --#undef __SGI_STL_DECLARE_COPY_TRIVIAL -- --#endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */ -- - //-------------------------------------------------- --// copy_backward -+// copy_backward auxiliary functions - - template - inline _BidirectionalIter2 __copy_backward(_BidirectionalIter1 __first, - _BidirectionalIter1 __last, - _BidirectionalIter2 __result, -- bidirectional_iterator_tag, -- _Distance*) -+ const bidirectional_iterator_tag &, -+ _Distance*) - { - while (__first != __last) - *--__result = *--__last; -@@ -369,7 +170,7 @@ - inline _BidirectionalIter __copy_backward(_RandomAccessIter __first, - _RandomAccessIter __last, - _BidirectionalIter __result, -- random_access_iterator_tag, -+ const random_access_iterator_tag &, - _Distance*) - { - for (_Distance __n = __last - __first; __n > 0; --__n) -@@ -377,77 +178,112 @@ - return __result; - } - --#ifdef __STL_CLASS_PARTIAL_SPECIALIZATION -+inline void* -+__copy_trivial_backward(const void* __first, const void* __last, void* __result) { -+ const ptrdiff_t _Num = (const char*)__last - (const char*)__first; -+ return (_Num > 0) ? memmove((char*)__result - _Num, __first, _Num) : __result ; -+} - --// This dispatch class is a workaround for compilers that do not --// have partial ordering of function templates. All we're doing is --// creating a specialization so that we can turn a call to copy_backward --// into a memmove whenever possible. -- --template --struct __copy_backward_dispatch --{ -- typedef typename iterator_traits<_BidirectionalIter1>::iterator_category -- _Cat; -- typedef typename iterator_traits<_BidirectionalIter1>::difference_type -- _Distance; -- -- static _BidirectionalIter2 __STL_CALL copy(_BidirectionalIter1 __first, -- _BidirectionalIter1 __last, -- _BidirectionalIter2 __result) { -- return __copy_backward(__first, __last, __result, _Cat(), (_Distance*) 0); -- } --}; -+template -+inline _OutputIter __copy_ptrs(_InputIter __first, _InputIter __last, _OutputIter __result, const __false_type&) { -+ return __copy(__first, __last, __result, -+ _STLP_ITERATOR_CATEGORY(__first, _InputIter), -+ _STLP_DISTANCE_TYPE(__first, _InputIter)); -+} -+template -+inline _OutputIter __copy_ptrs(_InputIter __first, _InputIter __last, _OutputIter __result, const __true_type&) { -+// we know they all pointers, so this cast is OK -+ // return (_OutputIter)__copy_trivial(&(*__first), &(*__last), &(*__result)); -+ return (_OutputIter)__copy_trivial(__first, __last, __result); -+} - --template --struct __copy_backward_dispatch<_Tp*, _Tp*, __true_type> --{ -- static _Tp* __STL_CALL copy(const _Tp* __first, const _Tp* __last, _Tp* __result) { -- const ptrdiff_t _Num = __last - __first; -- memmove(__result - _Num, __first, sizeof(_Tp) * _Num); -- return __result - _Num; -- } --}; -+template -+inline _OutputIter __copy_aux(_InputIter __first, _InputIter __last, _OutputIter __result, const __true_type&) { -+ return __copy_ptrs(__first, __last, __result, -+ _IsOKToMemCpy(_STLP_VALUE_TYPE(__first, _InputIter), -+ _STLP_VALUE_TYPE(__result, _OutputIter))._Ret()); -+} - --template --struct __copy_backward_dispatch --{ -- static _Tp* __STL_CALL copy(const _Tp* __first, const _Tp* __last, _Tp* __result) { -- return __copy_backward_dispatch<_Tp*, _Tp*, __true_type> -- ::copy(__first, __last, __result); -- } --}; -+template -+inline _OutputIter __copy_aux(_InputIter __first, _InputIter __last, _OutputIter __result, const __false_type&) { -+ return __copy(__first, __last, __result, -+ _STLP_ITERATOR_CATEGORY(__first, _InputIter), _STLP_DISTANCE_TYPE(__first, _InputIter)); -+} -+ -+template -+inline _OutputIter copy(_InputIter __first, _InputIter __last, _OutputIter __result) { -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) -+ return __copy_aux(__first, __last, __result, _BothPtrType< _InputIter, _OutputIter> :: _Ret()); -+} - --template --inline _BI2 copy_backward(_BI1 __first, _BI1 __last, _BI2 __result) { -- typedef typename __type_traits::value_type> -- ::has_trivial_assignment_operator -- _Trivial; -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -- return __copy_backward_dispatch<_BI1, _BI2, _Trivial> -- ::copy(__first, __last, __result); -+template -+inline _OutputIter __copy_backward_ptrs(_InputIter __first, _InputIter __last, _OutputIter __result, const __false_type&) { -+ return __copy_backward(__first, __last, __result, _STLP_ITERATOR_CATEGORY(__first, _InputIter), _STLP_DISTANCE_TYPE(__first, _InputIter)); -+} -+template -+inline _OutputIter __copy_backward_ptrs(_InputIter __first, _InputIter __last, _OutputIter __result, const __true_type&) { -+ return (_OutputIter)__copy_trivial_backward(__first, __last, __result); - } - --#else /* __STL_CLASS_PARTIAL_SPECIALIZATION */ -+template -+inline _OutputIter __copy_backward_aux(_InputIter __first, _InputIter __last, _OutputIter __result, const __false_type&) { -+ return __copy_backward(__first, __last, __result, _STLP_ITERATOR_CATEGORY(__first,_InputIter), _STLP_DISTANCE_TYPE(__first, _InputIter)); -+} - --template --inline _BI2 copy_backward(_BI1 __first, _BI1 __last, _BI2 __result) { -- return __copy_backward(__first, __last, __result, -- __ITERATOR_CATEGORY(__first), -- __DISTANCE_TYPE(__first)); -+template -+inline _OutputIter __copy_backward_aux(_InputIter __first, _InputIter __last, _OutputIter __result, const __true_type&) { -+ return __copy_backward_ptrs(__first, __last, __result, -+ _IsOKToMemCpy(_STLP_VALUE_TYPE(__first, _InputIter), -+ _STLP_VALUE_TYPE(__result, _OutputIter))._Ret()); - } - --#endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */ -+template -+inline _OutputIter copy_backward(_InputIter __first, _InputIter __last, _OutputIter __result) { -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) -+ return __copy_backward_aux(__first, __last, __result, _BothPtrType< _InputIter, _OutputIter> :: _Ret() ); -+} -+ -+#if ! defined (_STLP_CLASS_PARTIAL_SPECIALIZATION) && ! defined ( _STLP_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS ) -+#define _STLP_DECLARE_COPY_TRIVIAL(_Tp) \ -+inline _Tp* copy(const _Tp* __first, const _Tp* __last, _Tp* __result) \ -+{ return (_Tp*)__copy_trivial(__first, __last, __result); } \ -+inline _Tp* copy_backward(const _Tp* __first, const _Tp* __last, _Tp* __result) \ -+{ return (_Tp*)__copy_trivial_backward(__first, __last, __result); } -+ -+_STLP_DECLARE_COPY_TRIVIAL(char) -+# ifndef _STLP_NO_SIGNED_BUILTINS -+_STLP_DECLARE_COPY_TRIVIAL(signed char) -+# endif -+_STLP_DECLARE_COPY_TRIVIAL(unsigned char) -+_STLP_DECLARE_COPY_TRIVIAL(short) -+_STLP_DECLARE_COPY_TRIVIAL(unsigned short) -+_STLP_DECLARE_COPY_TRIVIAL(int) -+_STLP_DECLARE_COPY_TRIVIAL(unsigned int) -+_STLP_DECLARE_COPY_TRIVIAL(long) -+_STLP_DECLARE_COPY_TRIVIAL(unsigned long) -+#if !defined(_STLP_NO_WCHAR_T) && !defined (_STLP_WCHAR_T_IS_USHORT) -+_STLP_DECLARE_COPY_TRIVIAL(wchar_t) -+#endif -+#ifdef _STLP_LONG_LONG -+_STLP_DECLARE_COPY_TRIVIAL(long long) -+_STLP_DECLARE_COPY_TRIVIAL(unsigned long long) -+#endif -+_STLP_DECLARE_COPY_TRIVIAL(float) -+_STLP_DECLARE_COPY_TRIVIAL(double) -+# ifndef _STLP_NO_LONG_DOUBLE -+_STLP_DECLARE_COPY_TRIVIAL(long double) -+# endif -+#undef _STLP_DECLARE_COPY_TRIVIAL -+#endif /* _STLP_CLASS_PARTIAL_SPECIALIZATION */ - - //-------------------------------------------------- - // copy_n (not part of the C++ standard) - - template --__STL_INLINE_LOOP -+_STLP_INLINE_LOOP - pair<_InputIter, _OutputIter> __copy_n(_InputIter __first, _Size __count, - _OutputIter __result, -- input_iterator_tag) { -+ const input_iterator_tag &) { - for ( ; __count > 0; --__count) { - *__result = *__first; - ++__first; -@@ -460,7 +296,7 @@ - inline pair<_RAIter, _OutputIter> - __copy_n(_RAIter __first, _Size __count, - _OutputIter __result, -- random_access_iterator_tag) { -+ const random_access_iterator_tag &) { - _RAIter __last = __first + __count; - return pair<_RAIter, _OutputIter>(__last, copy(__first, __last, __result)); - } -@@ -468,15 +304,15 @@ - template - inline pair<_InputIter, _OutputIter> - __copy_n(_InputIter __first, _Size __count, _OutputIter __result) { -- return __copy_n(__first, __count, __result, -- __ITERATOR_CATEGORY(__first)); -+ _STLP_FIX_LITERAL_BUG(__first) -+ return __copy_n(__first, __count, __result, _STLP_ITERATOR_CATEGORY(__first, _InputIter)); - } - - template - inline pair<_InputIter, _OutputIter> - copy_n(_InputIter __first, _Size __count, _OutputIter __result) { -- __STL_FIX_LITERAL_BUG(__first) -- return __copy_n(__first, __count, __result); -+ _STLP_FIX_LITERAL_BUG(__first) -+ return __copy_n(__first, __count, __result, _STLP_ITERATOR_CATEGORY(__first, _InputIter)); - } - - //-------------------------------------------------- -@@ -484,19 +320,19 @@ - - - template --__STL_INLINE_LOOP --void fill(_ForwardIter __first, _ForwardIter __last, const _Tp& __value) { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -+_STLP_INLINE_LOOP -+void fill(_ForwardIter __first, _ForwardIter __last, const _Tp& __val) { -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) - for ( ; __first != __last; ++__first) -- *__first = __value; -+ *__first = __val; - } - - template --__STL_INLINE_LOOP --_OutputIter fill_n(_OutputIter __first, _Size __n, const _Tp& __value) { -- __STL_FIX_LITERAL_BUG(__first) -+_STLP_INLINE_LOOP -+_OutputIter fill_n(_OutputIter __first, _Size __n, const _Tp& __val) { -+ _STLP_FIX_LITERAL_BUG(__first) - for ( ; __n > 0; --__n, ++__first) -- *__first = __value; -+ *__first = __val; - return __first; - } - -@@ -504,57 +340,57 @@ - // Specialization: for one-byte types we can use memset. - - inline void fill(unsigned char* __first, unsigned char* __last, -- const unsigned char& __c) { -- unsigned char __tmp = __c; -+ const unsigned char& __val) { -+ unsigned char __tmp = __val; - memset(__first, __tmp, __last - __first); - } -- -+# ifndef _STLP_NO_SIGNED_BUILTINS - inline void fill(signed char* __first, signed char* __last, -- const signed char& __c) { -- signed char __tmp = __c; -+ const signed char& __val) { -+ signed char __tmp = __val; - memset(__first, __STATIC_CAST(unsigned char,__tmp), __last - __first); - } -- --inline void fill(char* __first, char* __last, const char& __c) { -- char __tmp = __c; -+# endif -+inline void fill(char* __first, char* __last, const char& __val) { -+ char __tmp = __val; - memset(__first, __STATIC_CAST(unsigned char,__tmp), __last - __first); - } - --#ifdef __STL_FUNCTION_TMPL_PARTIAL_ORDER -+#ifdef _STLP_FUNCTION_TMPL_PARTIAL_ORDER - - template - inline unsigned char* fill_n(unsigned char* __first, _Size __n, -- const unsigned char& __c) { -- fill(__first, __first + __n, __c); -+ const unsigned char& __val) { -+ fill(__first, __first + __n, __val); - return __first + __n; - } - - template - inline signed char* fill_n(char* __first, _Size __n, -- const signed char& __c) { -- fill(__first, __first + __n, __c); -+ const signed char& __val) { -+ fill(__first, __first + __n, __val); - return __first + __n; - } - - template --inline char* fill_n(char* __first, _Size __n, const char& __c) { -- fill(__first, __first + __n, __c); -+inline char* fill_n(char* __first, _Size __n, const char& __val) { -+ fill(__first, __first + __n, __val); - return __first + __n; - } - --#endif /* __STL_FUNCTION_TMPL_PARTIAL_ORDER */ -+#endif /* _STLP_FUNCTION_TMPL_PARTIAL_ORDER */ - - - //-------------------------------------------------- - // equal and mismatch - - template --__STL_INLINE_LOOP -+_STLP_INLINE_LOOP - pair<_InputIter1, _InputIter2> mismatch(_InputIter1 __first1, - _InputIter1 __last1, - _InputIter2 __first2) { -- __STL_FIX_LITERAL_BUG(__first2) -- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) -+ _STLP_FIX_LITERAL_BUG(__first2) -+ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) - while (__first1 != __last1 && *__first1 == *__first2) { - ++__first1; - ++__first2; -@@ -563,13 +399,13 @@ - } - - template --__STL_INLINE_LOOP -+_STLP_INLINE_LOOP - pair<_InputIter1, _InputIter2> mismatch(_InputIter1 __first1, - _InputIter1 __last1, - _InputIter2 __first2, - _BinaryPredicate __binary_pred) { -- __STL_FIX_LITERAL_BUG(__first2) -- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) -+ _STLP_FIX_LITERAL_BUG(__first2) -+ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) - while (__first1 != __last1 && __binary_pred(*__first1, *__first2)) { - ++__first1; - ++__first2; -@@ -578,11 +414,11 @@ - } - - template --__STL_INLINE_LOOP -+_STLP_INLINE_LOOP - bool equal(_InputIter1 __first1, _InputIter1 __last1, - _InputIter2 __first2) { -- __STL_FIX_LITERAL_BUG(__first1) __STL_FIX_LITERAL_BUG(__last1) __STL_FIX_LITERAL_BUG(__first2) -- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) -+ _STLP_FIX_LITERAL_BUG(__first1) _STLP_FIX_LITERAL_BUG(__last1) _STLP_FIX_LITERAL_BUG(__first2) -+ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) - for ( ; __first1 != __last1; ++__first1, ++__first2) - if (!(*__first1 == *__first2)) - return false; -@@ -590,11 +426,11 @@ - } - - template --__STL_INLINE_LOOP -+_STLP_INLINE_LOOP - bool equal(_InputIter1 __first1, _InputIter1 __last1, - _InputIter2 __first2, _BinaryPredicate __binary_pred) { -- __STL_FIX_LITERAL_BUG(__first2) -- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) -+ _STLP_FIX_LITERAL_BUG(__first2) -+ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) - for ( ; __first1 != __last1; ++__first1, ++__first2) - if (!__binary_pred(*__first1, *__first2)) - return false; -@@ -622,10 +458,10 @@ - { - const size_t __len1 = __last1 - __first1; - const size_t __len2 = __last2 - __first2; -- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) -- __STL_DEBUG_CHECK(__check_range(__first2, __last2)) -+ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) -+ _STLP_DEBUG_CHECK(__check_range(__first2, __last2)) - -- const int __result = memcmp(__first1, __first2, min(__len1, __len2)); -+ const int __result = memcmp(__first1, __first2, (min) (__len1, __len2)); - return __result != 0 ? (__result < 0) : (__len1 < __len2); - } - -@@ -634,8 +470,8 @@ - inline bool lexicographical_compare(const char* __first1, const char* __last1, - const char* __first2, const char* __last2) - { -- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) -- __STL_DEBUG_CHECK(__check_range(__first2, __last2)) -+ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) -+ _STLP_DEBUG_CHECK(__check_range(__first2, __last2)) - - return lexicographical_compare((const unsigned char*) __first1, - (const unsigned char*) __last1, -@@ -656,7 +492,7 @@ - { - const ptrdiff_t __len1 = __last1 - __first1; - const ptrdiff_t __len2 = __last2 - __first2; -- const int __result = memcmp(__first1, __first2, min(__len1, __len2)); -+ const int __result = memcmp(__first1, __first2, (min) (__len1, __len2)); - return __result != 0 ? __result - : (__len1 == __len2 ? 0 : (__len1 < __len2 ? -1 : 1)); - } -@@ -674,17 +510,72 @@ - } - # endif - -+# ifndef _STLP_NO_EXTENSIONS -+ - template - int lexicographical_compare_3way(_InputIter1 __first1, _InputIter1 __last1, - _InputIter2 __first2, _InputIter2 __last2); - --__STL_END_NAMESPACE -+# endif /* EXTENSIONS */ -+ -+// count -+template -+_STLP_INLINE_LOOP _STLP_DIFFERENCE_TYPE(_InputIter) -+count(_InputIter __first, _InputIter __last, const _Tp& __val) { -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) -+ _STLP_DIFFERENCE_TYPE(_InputIter) __n = 0; -+ for ( ; __first != __last; ++__first) -+ if (*__first == __val) -+ ++__n; -+ return __n; -+} -+ -+// find and find_if. Note find may be expressed in terms of find_if if appropriate binder was available. -+template -+_InputIter find(_InputIter __first, _InputIter __last, const _Tp& __val); -+template -+_InputIter find_if(_InputIter __first, _InputIter __last, _Predicate __pred); -+ -+// search. -+template -+_ForwardIter1 search(_ForwardIter1 __first1, _ForwardIter1 __last1, -+ _ForwardIter2 __first2, _ForwardIter2 __last2, _BinaryPred __predicate); -+ -+// find_first_of -+template -+_InputIter __find_first_of(_InputIter __first1, _InputIter __last1, -+ _ForwardIter __first2, _ForwardIter __last2, -+ _BinaryPredicate __comp); -+ -+template -+_ForwardIter1 -+find_end(_ForwardIter1 __first1, _ForwardIter1 __last1, -+ _ForwardIter2 __first2, _ForwardIter2 __last2, -+ _BinaryPredicate __comp); -+ -+// replace -+template -+_STLP_INLINE_LOOP void -+replace(_ForwardIter __first, _ForwardIter __last, -+ const _Tp& __old_value, const _Tp& __new_value) { -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) -+ for ( ; __first != __last; ++__first) -+ if (*__first == __old_value) -+ *__first = __new_value; -+} -+ -+template -+_ForwardIter __lower_bound(_ForwardIter __first, _ForwardIter __last, -+ const _Tp& __val, _Compare __comp, _Distance*); -+ -+_STLP_END_NAMESPACE - --# if !defined (__STL_LINK_TIME_INSTANTIATION) -+# if !defined (_STLP_LINK_TIME_INSTANTIATION) - # include - # endif - --#endif /* __SGI_STL_INTERNAL_ALGOBASE_H */ -+#endif /* _STLP_INTERNAL_ALGOBASE_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_alloc.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_alloc.c ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_alloc.c Sat Feb 24 10:44:41 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_alloc.c Sun Aug 11 18:59:24 2002 -@@ -19,31 +19,53 @@ - * modified is included with the above copyright notice. - * - */ --#ifndef __STL_ALLOC_C --#define __STL_ALLOC_C -+#ifndef _STLP_ALLOC_C -+#define _STLP_ALLOC_C -+ -+#ifdef __WATCOMC__ -+#pragma warning 13 9 -+#pragma warning 367 9 -+#pragma warning 368 9 -+#endif -+ -+#ifndef _STLP_INTERNAL_ALLOC_H -+# include -+#endif -+ -+# if defined (_STLP_EXPOSE_GLOBALS_IMPLEMENTATION) -+ -+# ifdef _STLP_SGI_THREADS -+ // We test whether threads are in use before locking. -+ // Perhaps this should be moved into stl_threads.h, but that -+ // probably makes it harder to avoid the procedure call when -+ // it isn't needed. -+ extern "C" { -+ extern int __us_rsthread_malloc; -+ } -+# endif - --# if defined (__BUILDING_STLPORT) || ! defined (__SGI_STL_OWN_IOSTREAMS) - - // Specialised debug form of malloc which does not provide "false" - // memory leaks when run with debug CRT libraries. --#if defined(__STL_MSVC) && (__STL_MSVC>=1020 && defined(_DEBUG)) && ! defined (__STL_WINCE) -+#if defined(_STLP_MSVC) && (_STLP_MSVC>=1020 && defined(_STLP_DEBUG_ALLOC)) && ! defined (_STLP_WINCE) - # include --# define __STL_CHUNK_MALLOC(s) _malloc_dbg(s, _CRT_BLOCK, __FILE__, __LINE__) -+inline void* __stlp_chunk_malloc(size_t __bytes) { _STLP_CHECK_NULL_ALLOC(_malloc_dbg(__bytes, _CRT_BLOCK, __FILE__, __LINE__)); } - #else // !_DEBUG --# ifdef __STL_NODE_ALLOC_USE_MALLOC -+# ifdef _STLP_NODE_ALLOC_USE_MALLOC - # include --# define __STL_CHUNK_MALLOC(s) __STL_VENDOR_CSTD::malloc(s) -+inline void* __stlp_chunk_malloc(size_t __bytes) { _STLP_CHECK_NULL_ALLOC(_STLP_VENDOR_CSTD::malloc(__bytes)); } - # else --# define __STL_CHUNK_MALLOC(s) __stl_new(s) -+inline void* __stlp_chunk_malloc(size_t __bytes) { return _STLP_STD::__stl_new(__bytes); } - # endif - #endif // !_DEBUG - -+ - #define _S_FREELIST_INDEX(__bytes) ((__bytes-size_t(1))>>(int)_ALIGN_SHIFT) - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - template --void * __STL_CALL __malloc_alloc<__inst>::_S_oom_malloc(size_t __n) -+void * _STLP_CALL __malloc_alloc<__inst>::_S_oom_malloc(size_t __n) - { - __oom_handler_type __my_malloc_handler; - void * __result; -@@ -55,43 +77,43 @@ - __result = malloc(__n); - if (__result) return(__result); - } --#if defined(__STL_NEED_UNREACHABLE_RETURN) -+#if defined(_STLP_NEED_UNREACHABLE_RETURN) - return 0; - #endif - - } - - template --void * __STL_CALL __debug_alloc<_Alloc>::allocate(size_t __n) { -+void * _STLP_CALL __debug_alloc<_Alloc>::allocate(size_t __n) { - size_t __real_n = __n + __extra_before_chunk() + __extra_after_chunk(); - __alloc_header *__result = (__alloc_header *)__allocator_type::allocate(__real_n); - memset((char*)__result, __shred_byte, __real_n*sizeof(value_type)); - __result->__magic = __magic; - __result->__type_size = sizeof(value_type); -- __result->_M_size = __n; -+ __result->_M_size = (_STLP_UINT32_T)__n; - return ((char*)__result) + (long)__extra_before; - } - - template --void __STL_CALL -+void _STLP_CALL - __debug_alloc<_Alloc>::deallocate(void *__p, size_t __n) { - __alloc_header * __real_p = (__alloc_header*)((char *)__p -(long)__extra_before); - // check integrity -- __STL_VERBOSE_ASSERT(__real_p->__magic != __deleted_magic, _StlMsg_DBA_DELETED_TWICE) -- __STL_VERBOSE_ASSERT(__real_p->__magic == __magic, _StlMsg_DBA_NEVER_ALLOCATED) -- __STL_VERBOSE_ASSERT(__real_p->__type_size == 1,_StlMsg_DBA_TYPE_MISMATCH) -- __STL_VERBOSE_ASSERT(__real_p->_M_size == __n, _StlMsg_DBA_SIZE_MISMATCH) -+ _STLP_VERBOSE_ASSERT(__real_p->__magic != __deleted_magic, _StlMsg_DBA_DELETED_TWICE) -+ _STLP_VERBOSE_ASSERT(__real_p->__magic == __magic, _StlMsg_DBA_NEVER_ALLOCATED) -+ _STLP_VERBOSE_ASSERT(__real_p->__type_size == 1,_StlMsg_DBA_TYPE_MISMATCH) -+ _STLP_VERBOSE_ASSERT(__real_p->_M_size == __n, _StlMsg_DBA_SIZE_MISMATCH) - // check pads on both sides - unsigned char* __tmp; - for (__tmp= (unsigned char*)(__real_p+1); __tmp < (unsigned char*)__p; __tmp++) { -- __STL_VERBOSE_ASSERT(*__tmp==__shred_byte, _StlMsg_DBA_UNDERRUN) -+ _STLP_VERBOSE_ASSERT(*__tmp==__shred_byte, _StlMsg_DBA_UNDERRUN) - } - - size_t __real_n= __n + __extra_before_chunk() + __extra_after_chunk(); - - for (__tmp= ((unsigned char*)__p)+__n*sizeof(value_type); - __tmp < ((unsigned char*)__real_p)+__real_n ; __tmp++) { -- __STL_VERBOSE_ASSERT(*__tmp==__shred_byte, _StlMsg_DBA_OVERRUN) -+ _STLP_VERBOSE_ASSERT(*__tmp==__shred_byte, _StlMsg_DBA_OVERRUN) - } - - // that may be unfortunate, just in case -@@ -100,88 +122,69 @@ - __allocator_type::deallocate(__real_p, __real_n); - } - -- -- --# ifdef __STL_THREADS -+// # ifdef _STLP_THREADS - - template --class __STL_CLASS_DECLSPEC _Node_Alloc_Lock { -+class _Node_Alloc_Lock { - public: - _Node_Alloc_Lock() { - --# ifdef __STL_SGI_THREADS -+# ifdef _STLP_SGI_THREADS - if (__threads && __us_rsthread_malloc) --# else /* !__STL_SGI_THREADS */ -+# else /* !_STLP_SGI_THREADS */ - if (__threads) - # endif - _S_lock._M_acquire_lock(); - } - - ~_Node_Alloc_Lock() { --# ifdef __STL_SGI_THREADS -+# ifdef _STLP_SGI_THREADS - if (__threads && __us_rsthread_malloc) --# else /* !__STL_SGI_THREADS */ -+# else /* !_STLP_SGI_THREADS */ - if (__threads) - # endif - _S_lock._M_release_lock(); - } - -- static _STL_STATIC_MUTEX _S_lock; -+ static _STLP_STATIC_MUTEX _S_lock; - }; - --# endif /* __STL_THREADS */ -+// # endif /* _STLP_THREADS */ - - - template --void* __STL_CALL --__node_alloc<__threads, __inst>::allocate(size_t __n) { -+void* _STLP_CALL -+__node_alloc<__threads, __inst>::_M_allocate(size_t __n) { - void* __r; -- if (__n > (size_t)_MAX_BYTES) { --# ifdef __STL_NODE_ALLOC_USE_MALLOC -- __r = __STL_VENDOR_CSTD::malloc(__n); --# else -- __r = __stl_new(__n); --# endif -- -+ _Obj * _STLP_VOLATILE * __my_free_list = _S_free_list + _S_FREELIST_INDEX(__n); -+ // # ifdef _STLP_THREADS -+ /*REFERENCED*/ -+ _Node_Alloc_Lock<__threads, __inst> __lock_instance; -+ // # endif -+ // Acquire the lock here with a constructor call. -+ // This ensures that it is released in exit or during stack -+ // unwinding. -+ if ( (__r = *__my_free_list) != 0 ) { -+ *__my_free_list = ((_Obj*)__r) -> _M_free_list_link; - } else { -- _Obj * __STL_VOLATILE * __my_free_list = _S_free_list + _S_FREELIST_INDEX(__n); --# ifdef __STL_THREADS -- /*REFERENCED*/ -- _Node_Alloc_Lock<__threads, __inst> __lock_instance; --# endif -- // Acquire the lock here with a constructor call. -- // This ensures that it is released in exit or during stack -- // unwinding. -- if ( (__r = *__my_free_list) != 0 ) { -- *__my_free_list = ((_Obj*)__r) -> _M_free_list_link; -- } else { -- __r = _S_refill(__n); -- } -- // lock is released here -+ __r = _S_refill(__n); - } -+ // lock is released here - return __r; - } - - template --void __STL_CALL --__node_alloc<__threads, __inst>::deallocate(void *__p, size_t __n) { -- if (__n > (size_t) _MAX_BYTES) { --# ifdef __STL_NODE_ALLOC_USE_MALLOC -- __STL_VENDOR_CSTD::free(__p); --# else -- __stl_delete(__p); --# endif -- } else { -- _Obj * __STL_VOLATILE * __my_free_list = _S_free_list + _S_FREELIST_INDEX(__n); --# ifdef __STL_THREADS -- /*REFERENCED*/ -- _Node_Alloc_Lock<__threads, __inst> __lock_instance; --# endif /* __STL_THREADS */ -- // acquire lock -- ((_Obj *)__p) -> _M_free_list_link = *__my_free_list; -- *__my_free_list = (_Obj *)__p; -- // lock is released here -- } -+void _STLP_CALL -+__node_alloc<__threads, __inst>::_M_deallocate(void *__p, size_t __n) { -+ _Obj * _STLP_VOLATILE * __my_free_list = _S_free_list + _S_FREELIST_INDEX(__n); -+ // # ifdef _STLP_THREADS -+ /*REFERENCED*/ -+ _Node_Alloc_Lock<__threads, __inst> __lock_instance; -+ // # endif /* _STLP_THREADS */ -+ // acquire lock -+ ((_Obj *)__p) -> _M_free_list_link = *__my_free_list; -+ *__my_free_list = (_Obj *)__p; -+ // lock is released here - } - - /* We allocate memory in large chunks in order to avoid fragmenting */ -@@ -189,7 +192,7 @@ - /* We assume that size is properly aligned. */ - /* We hold the allocation lock. */ - template --char* __STL_CALL -+char* _STLP_CALL - __node_alloc<__threads, __inst>::_S_chunk_alloc(size_t _p_size, - int& __nobjs) - { -@@ -212,16 +215,16 @@ - 2 * __total_bytes + _S_round_up(_S_heap_size >> 4); - // Try to make use of the left-over piece. - if (__bytes_left > 0) { -- _Obj* __STL_VOLATILE* __my_free_list = -+ _Obj* _STLP_VOLATILE* __my_free_list = - _S_free_list + _S_FREELIST_INDEX(__bytes_left); - - ((_Obj*)_S_start_free) -> _M_free_list_link = *__my_free_list; - *__my_free_list = (_Obj*)_S_start_free; - } -- _S_start_free = (char*)__STL_CHUNK_MALLOC(__bytes_to_get); -+ _S_start_free = (char*)__stlp_chunk_malloc(__bytes_to_get); - if (0 == _S_start_free) { - size_t __i; -- _Obj* __STL_VOLATILE* __my_free_list; -+ _Obj* _STLP_VOLATILE* __my_free_list; - _Obj* __p; - // Try to make do with what we have. That can't - // hurt. We do not try smaller requests, since that tends -@@ -239,7 +242,7 @@ - } - } - _S_end_free = 0; // In case of exception. -- _S_start_free = (char*)__STL_CHUNK_MALLOC(__bytes_to_get); -+ _S_start_free = (char*)__stlp_chunk_malloc(__bytes_to_get); - /* - (char*)malloc_alloc::allocate(__bytes_to_get); - */ -@@ -259,13 +262,13 @@ - /* We assume that __n is properly aligned. */ - /* We hold the allocation lock. */ - template --void* __STL_CALL -+void* _STLP_CALL - __node_alloc<__threads, __inst>::_S_refill(size_t __n) - { - int __nobjs = 20; - __n = _S_round_up(__n); - char* __chunk = _S_chunk_alloc(__n, __nobjs); -- _Obj* __STL_VOLATILE* __my_free_list; -+ _Obj* _STLP_VOLATILE* __my_free_list; - _Obj* __result; - _Obj* __current_obj; - _Obj* __next_obj; -@@ -290,20 +293,20 @@ - return(__result); - } - --# if ( __STL_STATIC_TEMPLATE_DATA > 0 ) -+# if ( _STLP_STATIC_TEMPLATE_DATA > 0 ) - // malloc_alloc out-of-memory handling - template - __oom_handler_type __malloc_alloc<__inst>::__oom_handler=(__oom_handler_type)0 ; - --#ifdef __STL_THREADS -+// #ifdef _STLP_THREADS - template -- _STL_STATIC_MUTEX -- _Node_Alloc_Lock<__threads, __inst>::_S_lock __STL_MUTEX_INITIALIZER; --#endif -+ _STLP_STATIC_MUTEX -+ _Node_Alloc_Lock<__threads, __inst>::_S_lock _STLP_MUTEX_INITIALIZER; -+// #endif - - template --_Node_alloc_obj * __STL_VOLATILE --__node_alloc<__threads, __inst>::_S_free_list[_NFREELISTS] -+_Node_alloc_obj * _STLP_VOLATILE -+__node_alloc<__threads, __inst>::_S_free_list[_STLP_NFREELISTS] - = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; - // The 16 zeros are necessary to make version 4.1 of the SunPro - // compiler happy. Otherwise it appears to allocate too little -@@ -319,48 +322,48 @@ - size_t __node_alloc<__threads, __inst>::_S_heap_size = 0; - - --# else /* ( __STL_STATIC_TEMPLATE_DATA > 0 ) */ -+# else /* ( _STLP_STATIC_TEMPLATE_DATA > 0 ) */ - - __DECLARE_INSTANCE(__oom_handler_type, __malloc_alloc<0>::__oom_handler, =0); - --# define __STL_ALLOC_NOTHREADS __node_alloc --# define __STL_ALLOC_THREADS __node_alloc --# define __STL_ALLOC_NOTHREADS_LOCK _Node_Alloc_Lock --# define __STL_ALLOC_THREADS_LOCK _Node_Alloc_Lock -- --__DECLARE_INSTANCE(char *, __STL_ALLOC_NOTHREADS::_S_start_free,=0); --__DECLARE_INSTANCE(char *, __STL_ALLOC_NOTHREADS::_S_end_free,=0); --__DECLARE_INSTANCE(size_t, __STL_ALLOC_NOTHREADS::_S_heap_size,=0); --__DECLARE_INSTANCE(_Node_alloc_obj * __STL_VOLATILE, -- __STL_ALLOC_NOTHREADS::_S_free_list[_NFREELISTS], -+# define _STLP_ALLOC_NOTHREADS __node_alloc -+# define _STLP_ALLOC_THREADS __node_alloc -+# define _STLP_ALLOC_NOTHREADS_LOCK _Node_Alloc_Lock -+# define _STLP_ALLOC_THREADS_LOCK _Node_Alloc_Lock -+ -+__DECLARE_INSTANCE(char *, _STLP_ALLOC_NOTHREADS::_S_start_free,=0); -+__DECLARE_INSTANCE(char *, _STLP_ALLOC_NOTHREADS::_S_end_free,=0); -+__DECLARE_INSTANCE(size_t, _STLP_ALLOC_NOTHREADS::_S_heap_size,=0); -+__DECLARE_INSTANCE(_Node_alloc_obj * _STLP_VOLATILE, -+ _STLP_ALLOC_NOTHREADS::_S_free_list[_STLP_NFREELISTS], - ={0}); --__DECLARE_INSTANCE(char *, __STL_ALLOC_THREADS::_S_start_free,=0); --__DECLARE_INSTANCE(char *, __STL_ALLOC_THREADS::_S_end_free,=0); --__DECLARE_INSTANCE(size_t, __STL_ALLOC_THREADS::_S_heap_size,=0); --__DECLARE_INSTANCE(_Node_alloc_obj * __STL_VOLATILE, -- __STL_ALLOC_THREADS::_S_free_list[_NFREELISTS], -+__DECLARE_INSTANCE(char *, _STLP_ALLOC_THREADS::_S_start_free,=0); -+__DECLARE_INSTANCE(char *, _STLP_ALLOC_THREADS::_S_end_free,=0); -+__DECLARE_INSTANCE(size_t, _STLP_ALLOC_THREADS::_S_heap_size,=0); -+__DECLARE_INSTANCE(_Node_alloc_obj * _STLP_VOLATILE, -+ _STLP_ALLOC_THREADS::_S_free_list[_STLP_NFREELISTS], - ={0}); --# ifdef __STL_THREADS --__DECLARE_INSTANCE(_STL_STATIC_MUTEX, -- __STL_ALLOC_NOTHREADS_LOCK::_S_lock, -- __STL_MUTEX_INITIALIZER); --__DECLARE_INSTANCE(_STL_STATIC_MUTEX, -- __STL_ALLOC_THREADS_LOCK::_S_lock, -- __STL_MUTEX_INITIALIZER); --# endif -+// # ifdef _STLP_THREADS -+__DECLARE_INSTANCE(_STLP_STATIC_MUTEX, -+ _STLP_ALLOC_NOTHREADS_LOCK::_S_lock, -+ _STLP_MUTEX_INITIALIZER); -+__DECLARE_INSTANCE(_STLP_STATIC_MUTEX, -+ _STLP_ALLOC_THREADS_LOCK::_S_lock, -+ _STLP_MUTEX_INITIALIZER); -+// # endif - --# undef __STL_ALLOC_THREADS --# undef __STL_ALLOC_NOTHREADS -+# undef _STLP_ALLOC_THREADS -+# undef _STLP_ALLOC_NOTHREADS - --# endif /* __STL_STATIC_TEMPLATE_DATA */ -+# endif /* _STLP_STATIC_TEMPLATE_DATA */ - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - - # undef _S_FREELIST_INDEX - --# endif /* OWN_IOSTREAMS */ -+# endif /* _STLP_EXPOSE_GLOBALS_IMPLEMENTATION */ - --#endif /* __STL_ALLOC_C */ -+#endif /* _STLP_ALLOC_C */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_alloc.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_alloc.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_alloc.h Sat Feb 24 10:44:42 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_alloc.h Sun Aug 11 18:59:24 2002 -@@ -24,59 +24,47 @@ - * You should not attempt to use it directly. - */ - --#ifndef __SGI_STL_INTERNAL_ALLOC_H --#define __SGI_STL_INTERNAL_ALLOC_H -+#ifndef _STLP_INTERNAL_ALLOC_H -+#define _STLP_INTERNAL_ALLOC_H - -- --// This implements some standard node allocators. These are --// NOT the same as the allocators in the C++ draft standard or in --// in the original STL. They do not encapsulate different pointer --// types; indeed we assume that there is only one pointer type. --// The allocation primitives are intended to allocate individual objects, --// not larger arenas as with the original STL allocators. -- --# ifndef __STLPORT_CSTDDEF -+# ifndef _STLP_CSTDDEF - # include - # endif - --#if !defined (__STLPORT_DEBUG_H) && (defined (__STL_DEBUG) || defined (__STL_ASSERTIONS)) -+#if !defined (_STLP_DEBUG_H) && (defined (_STLP_DEBUG) || defined (_STLP_ASSERTIONS)) - # include - #endif - --# ifndef __STLPORT_CSTDLIB -+# ifndef _STLP_CSTDLIB - # include - # endif --# ifndef __STLPORT_CSTRING -+# ifndef _STLP_CSTRING - # include - # endif - - # ifndef __THROW_BAD_ALLOC --# if !defined(__STL_USE_EXCEPTIONS) --# if !defined (__STLPORT_CSTDIO) -+# if !defined(_STLP_USE_EXCEPTIONS) -+# if !defined (_STLP_CSTDIO) - # include - # endif --# if !defined (__STLPORT_CSTDLIB) -+# if !defined (_STLP_CSTDLIB) - # include - # endif --# define __THROW_BAD_ALLOC fprintf(stderr, "out of memory\n"); exit(1) --# else /* !defined(__STL_USE_EXCEPTIONS) */ --# define __THROW_BAD_ALLOC throw __STLPORT_STD::bad_alloc() --# endif /* !defined(__STL_USE_EXCEPTIONS) */ -+# define __THROW_BAD_ALLOC puts("out of memory\n"); exit(1) -+# else /* !defined(_STLP_USE_EXCEPTIONS) */ -+# define __THROW_BAD_ALLOC throw _STLP_STD::bad_alloc() -+# endif /* !defined(_STLP_USE_EXCEPTIONS) */ - # endif /* __THROW_BAD_ALLOC */ - --# ifndef __STLPORT_NEW -+# ifndef _STLP_NEW_HEADER - # include - # endif - --#if defined (__STL_THREADS) && ! defined (__SGI_STL_INTERNAL_THREADS_H) -+#if /* defined (_STLP_THREADS) && */ ! defined (_STLP_INTERNAL_THREADS_H) - # include - #endif - --// #ifndef __TYPE_TRAITS_H --// # include --// #endif -- --#ifndef __SGI_STL_INTERNAL_CONSTRUCT_H -+#ifndef _STLP_INTERNAL_CONSTRUCT_H - # include - #endif - -@@ -88,37 +76,17 @@ - # define __RESTRICT - # endif - --# if defined ( __STL_USE_ABBREVS ) --// ugliness is intentional - to reduce conflicts probability --# define __malloc_alloc M__A --# define __node_alloc D__A --# define __new_alloc N__A --# define __debug_alloc G__A --# endif -- --#if defined (__STL_THREADS) || (defined(__SGI_STL_OWN_IOSTREAMS) && ! defined (__STL_NO_THREADS) && ! defined (_NOTHREADS) ) --# define __NODE_ALLOCATOR_THREADS true -+#if defined (_STLP_THREADS) || (defined(_STLP_OWN_IOSTREAMS) && ! defined (_STLP_NO_THREADS) && ! defined (_NOTHREADS) ) -+# define _STLP_NODE_ALLOCATOR_THREADS true - #else --# define __NODE_ALLOCATOR_THREADS false -+# define _STLP_NODE_ALLOCATOR_THREADS false - #endif - --# ifdef __STL_SGI_THREADS -- // We test whether threads are in use before locking. -- // Perhaps this should be moved into stl_threads.h, but that -- // probably makes it harder to avoid the procedure call when -- // it isn't needed. -- extern "C" { -- extern int __us_rsthread_malloc; -- } --// The above is copied from malloc.h. Including --// would be cleaner but fails with certain levels of standard --// conformance. --# endif -- --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - --template --struct __allocator; -+# if defined (_STLP_USE_RAW_SGI_ALLOCATORS) -+template struct __allocator; -+# endif - - // Malloc-based allocator. Typically slower than default alloc below. - // Typically thread-safe and more storage efficient. -@@ -128,61 +96,43 @@ - template - class __malloc_alloc { - private: -- -- static void* __STL_CALL _S_oom_malloc(size_t); -- // static void* __STL_CALL _S_oom_realloc(void*, size_t); -- -+ static void* _STLP_CALL _S_oom_malloc(size_t); - static __oom_handler_type __oom_handler; -- - public: - // this one is needed for proper simple_alloc wrapping - typedef char value_type; -- --# if defined (__STL_MEMBER_TEMPLATE_CLASSES) && defined (__STL_USE_RAW_SGI_ALLOCATORS) -+# if defined (_STLP_MEMBER_TEMPLATE_CLASSES) && defined (_STLP_USE_RAW_SGI_ALLOCATORS) - template struct rebind { - typedef __allocator<_Tp1, __malloc_alloc<__inst> > other; - }; - # endif -- -- static void* __STL_CALL allocate(size_t __n) -- { -- void* __result = malloc(__n); -- if (0 == __result) __result = _S_oom_malloc(__n); -- return __result; -- } -- -- static void __STL_CALL deallocate(void* __p, size_t /* __n */) -- { -- free((char*)__p); -- } -- -- static __oom_handler_type __STL_CALL set_malloc_handler(__oom_handler_type __f) -- { -- __oom_handler_type __old = __oom_handler; -- __oom_handler = __f; -- return(__old); -- } -- -+ static void* _STLP_CALL allocate(size_t __n) { -+ void* __result = malloc(__n); -+ if (0 == __result) __result = _S_oom_malloc(__n); -+ return __result; -+ } -+ static void _STLP_CALL deallocate(void* __p, size_t /* __n */) { free((char*)__p); } -+ static __oom_handler_type _STLP_CALL set_malloc_handler(__oom_handler_type __f) { -+ __oom_handler_type __old = __oom_handler; -+ __oom_handler = __f; -+ return(__old); -+ } - }; - - - // New-based allocator. Typically slower than default alloc below. - // Typically thread-safe and more storage efficient. --class __STL_CLASS_DECLSPEC __new_alloc { -+class _STLP_CLASS_DECLSPEC __new_alloc { - public: - // this one is needed for proper simple_alloc wrapping - typedef char value_type; --# if defined (__STL_MEMBER_TEMPLATE_CLASSES) && defined(__STL_USE_RAW_SGI_ALLOCATORS) -+# if defined (_STLP_MEMBER_TEMPLATE_CLASSES) && defined(_STLP_USE_RAW_SGI_ALLOCATORS) - template struct rebind { - typedef __allocator<_Tp1, __new_alloc > other; - }; - # endif -- static void* __STL_CALL allocate(size_t __n) { -- return __stl_new(__n); -- } -- static void __STL_CALL deallocate(void* __p, size_t) { -- __stl_delete(__p); -- } -+ static void* _STLP_CALL allocate(size_t __n) { return __stl_new(__n); } -+ static void _STLP_CALL deallocate(void* __p, size_t) { __stl_delete(__p); } - }; - - -@@ -202,38 +152,35 @@ - struct __alloc_header { - size_t __magic: 16; - size_t __type_size:16; -- __STL_UINT32_T _M_size; -+ _STLP_UINT32_T _M_size; - }; // that is 8 bytes for sure - // Sunpro CC has bug on enums, so extra_before/after set explicitly - enum { __pad=8, __magic=0xdeba, __deleted_magic = 0xdebd, -- __shred_byte= __STL_SHRED_BYTE -+ __shred_byte= _STLP_SHRED_BYTE - }; - - enum { __extra_before = 16, __extra_after = 8 }; - // Size of space used to store size. Note - // that this must be large enough to preserve - // alignment. -- static size_t __STL_CALL __extra_before_chunk() { -+ static size_t _STLP_CALL __extra_before_chunk() { - return (long)__extra_before/sizeof(value_type)+ - (size_t)((long)__extra_before%sizeof(value_type)>0); - } -- static size_t __STL_CALL __extra_after_chunk() { -+ static size_t _STLP_CALL __extra_after_chunk() { - return (long)__extra_after/sizeof(value_type)+ - (size_t)((long)__extra_after%sizeof(value_type)>0); - } - public: -- --# if defined (__STL_MEMBER_TEMPLATE_CLASSES) && defined (__STL_USE_RAW_SGI_ALLOCATORS) -+# if defined (_STLP_MEMBER_TEMPLATE_CLASSES) && defined (_STLP_USE_RAW_SGI_ALLOCATORS) - template struct rebind { - typedef __allocator< _Tp1, __debug_alloc<_Alloc> > other; - }; - # endif -- -- // __debug_alloc(const _Alloc&); - __debug_alloc() {} - ~__debug_alloc() {} -- static void * __STL_CALL allocate(size_t); -- static void __STL_CALL deallocate(void *, size_t); -+ static void * _STLP_CALL allocate(size_t); -+ static void _STLP_CALL deallocate(void *, size_t); - }; - - -@@ -262,90 +209,104 @@ - - # if defined(__OS400__) - enum {_ALIGN = 16, _ALIGN_SHIFT=4, _MAX_BYTES = 256}; --# define _NFREELISTS 16 -+# define _STLP_NFREELISTS 16 - # else - enum {_ALIGN = 8, _ALIGN_SHIFT=3, _MAX_BYTES = 128}; --// SunPro CC 4.0.1 has bug on enums --// enum {_NFREELISTS = _MAX_BYTES/_ALIGN}; --# define _NFREELISTS 16 -+# define _STLP_NFREELISTS 16 - # endif /* __OS400__ */ - --class __STL_CLASS_DECLSPEC _Node_alloc_obj { -+class _STLP_CLASS_DECLSPEC _Node_alloc_obj { - public: - _Node_alloc_obj * _M_free_list_link; - }; - -- - template - class __node_alloc { -- __PRIVATE: -- static inline size_t __STL_CALL -- _S_round_up(size_t __bytes) -- { return (((__bytes) + (size_t)_ALIGN-1) & ~((size_t)_ALIGN - 1)); } -- -+ _STLP_PRIVATE: -+ static inline size_t _STLP_CALL _S_round_up(size_t __bytes) { return (((__bytes) + (size_t)_ALIGN-1) & ~((size_t)_ALIGN - 1)); } - typedef _Node_alloc_obj _Obj; -- - private: -- - // Returns an object of size __n, and optionally adds to size __n free list. -- static void* __STL_CALL _S_refill(size_t __n); -+ static void* _STLP_CALL _S_refill(size_t __n); - // Allocates a chunk for nobjs of size size. nobjs may be reduced - // if it is inconvenient to allocate the requested number. -- static char* __STL_CALL _S_chunk_alloc(size_t __p_size, int& __nobjs); -- -- -+ static char* _STLP_CALL _S_chunk_alloc(size_t __p_size, int& __nobjs); - // Chunk allocation state. -- static _Node_alloc_obj * __STL_VOLATILE _S_free_list[_NFREELISTS]; -+ static _Node_alloc_obj * _STLP_VOLATILE _S_free_list[_STLP_NFREELISTS]; - static char* _S_start_free; - static char* _S_end_free; - static size_t _S_heap_size; -- -+ static void * _STLP_CALL _M_allocate(size_t __n); -+ /* __p may not be 0 */ -+ static void _STLP_CALL _M_deallocate(void *__p, size_t __n); - public: - // this one is needed for proper simple_alloc wrapping - typedef char value_type; -- --# if defined (__STL_MEMBER_TEMPLATE_CLASSES) && defined (__STL_USE_RAW_SGI_ALLOCATORS) -+# if defined (_STLP_MEMBER_TEMPLATE_CLASSES) && defined (_STLP_USE_RAW_SGI_ALLOCATORS) - template struct rebind { - typedef __allocator<_Tp1, __node_alloc<__threads, __inst> > other; - }; - # endif - /* __n must be > 0 */ -- static void * __STL_CALL allocate(size_t __n); -+ static void * _STLP_CALL allocate(size_t __n) { return (__n > (size_t)_MAX_BYTES) ? __stl_new(__n) : _M_allocate(__n); } - /* __p may not be 0 */ -- static void __STL_CALL deallocate(void *__p, size_t __n); --} ; -+ static void _STLP_CALL deallocate(void *__p, size_t __n) { if (__n > (size_t)_MAX_BYTES) __stl_delete(__p); else _M_deallocate(__p, __n); } -+}; - --# if defined (__STL_USE_TEMPLATE_EXPORT) --__STL_EXPORT_TEMPLATE_CLASS __malloc_alloc<0>; --__STL_EXPORT_TEMPLATE_CLASS __node_alloc<__NODE_ALLOCATOR_THREADS, 0>; --# endif /* __STL_USE_TEMPLATE_EXPORT */ --typedef __node_alloc<__NODE_ALLOCATOR_THREADS, 0> _Node_alloc; --# if defined (__STL_USE_TEMPLATE_EXPORT) --__STL_EXPORT_TEMPLATE_CLASS __debug_alloc<_Node_alloc>; --__STL_EXPORT_TEMPLATE_CLASS __debug_alloc<__new_alloc>; --__STL_EXPORT_TEMPLATE_CLASS __debug_alloc<__malloc_alloc<0> >; -+# if defined (_STLP_USE_TEMPLATE_EXPORT) -+_STLP_EXPORT_TEMPLATE_CLASS __malloc_alloc<0>; -+_STLP_EXPORT_TEMPLATE_CLASS __node_alloc<_STLP_NODE_ALLOCATOR_THREADS, 0>; -+# endif /* _STLP_USE_TEMPLATE_EXPORT */ -+typedef __node_alloc<_STLP_NODE_ALLOCATOR_THREADS, 0> _Node_alloc; -+# if defined (_STLP_USE_TEMPLATE_EXPORT) -+_STLP_EXPORT_TEMPLATE_CLASS __debug_alloc<_Node_alloc>; -+_STLP_EXPORT_TEMPLATE_CLASS __debug_alloc<__new_alloc>; -+_STLP_EXPORT_TEMPLATE_CLASS __debug_alloc<__malloc_alloc<0> >; - # endif - --# if defined ( __STL_USE_NEWALLOC ) --# if defined ( __STL_DEBUG_ALLOC ) -+# if defined (_STLP_USE_PERTHREAD_ALLOC) -+ -+_STLP_END_NAMESPACE -+// include additional header here -+# include -+_STLP_BEGIN_NAMESPACE -+ -+# if defined ( _STLP_DEBUG_ALLOC ) -+typedef __debug_alloc<__pthread_alloc> __sgi_alloc; -+# else -+typedef __pthread_alloc __sgi_alloc; -+# endif /* _STLP_DEBUG_ALLOC */ -+ -+typedef __pthread_alloc __single_client_alloc; -+typedef __pthread_alloc __multithreaded_alloc; -+ -+# else -+ -+# if defined ( _STLP_USE_NEWALLOC ) -+ -+# if defined ( _STLP_DEBUG_ALLOC ) - typedef __debug_alloc<__new_alloc> __sgi_alloc; - # else - typedef __new_alloc __sgi_alloc; --# endif /* __STL_DEBUG_ALLOC */ -+# endif /* _STLP_DEBUG_ALLOC */ - - typedef __new_alloc __single_client_alloc; - typedef __new_alloc __multithreaded_alloc; - --# elif defined (__STL_USE_MALLOC) --# if defined ( __STL_DEBUG_ALLOC ) -+# elif defined (_STLP_USE_MALLOC) -+ -+# if defined ( _STLP_DEBUG_ALLOC ) - typedef __debug_alloc<__malloc_alloc<0> > __sgi_alloc; - # else - typedef __malloc_alloc<0> __sgi_alloc; --# endif /* __STL_DEBUG_ALLOC */ -+# endif /* _STLP_DEBUG_ALLOC */ -+ - typedef __malloc_alloc<0> __single_client_alloc; - typedef __malloc_alloc<0> __multithreaded_alloc; -+ - # else --# if defined ( __STL_DEBUG_ALLOC ) -+ -+# if defined ( _STLP_DEBUG_ALLOC ) - typedef __debug_alloc<_Node_alloc> __sgi_alloc; - # else - typedef _Node_alloc __sgi_alloc; -@@ -354,7 +315,8 @@ - typedef __node_alloc __single_client_alloc; - typedef __node_alloc __multithreaded_alloc; - --# endif /* __STL_USE_NEWALLOC */ -+# endif /* _STLP_USE_NEWALLOC */ -+# endif /* PTHREAD_ALLOC */ - - // This implements allocators as specified in the C++ standard. - // -@@ -365,7 +327,7 @@ - // to refer to a template member of a dependent type. - - template --class __STL_CLASS_DECLSPEC allocator { -+class allocator { - public: - - typedef _Tp value_type; -@@ -375,508 +337,170 @@ - typedef const _Tp& const_reference; - typedef size_t size_type; - typedef ptrdiff_t difference_type; -- -- --# if defined (__STL_MEMBER_TEMPLATE_CLASSES) -+# if defined (_STLP_MEMBER_TEMPLATE_CLASSES) - template struct rebind { - typedef allocator<_Tp1> other; - }; - # endif -- -- allocator() __STL_NOTHROW {} -- -- # if defined (__STL_MEMBER_TEMPLATES) -- template allocator(const allocator<_Tp1>&) __STL_NOTHROW {} -- # endif -- -- allocator(const allocator<_Tp>&) __STL_NOTHROW {} -- -- ~allocator() __STL_NOTHROW {} -- -+ allocator() _STLP_NOTHROW {} -+ # if defined (_STLP_MEMBER_TEMPLATES) -+ template allocator(const allocator<_Tp1>&) _STLP_NOTHROW {} -+ # endif -+ allocator(const allocator<_Tp>&) _STLP_NOTHROW {} -+ ~allocator() _STLP_NOTHROW {} - pointer address(reference __x) { return &__x; } -- - const_pointer address(const_reference __x) const { return &__x; } -- -- // __n is permitted to be 0. The C++ standard says nothing about what -- // the return value is when __n == 0. -- _Tp* allocate(size_type __n, const void* = 0) const { -- return __n != 0 ? __REINTERPRET_CAST(value_type*,__sgi_alloc::allocate(__n * sizeof(value_type))) -- : 0; -+ // __n is permitted to be 0. The C++ standard says nothing about what the return value is when __n == 0. -+ _Tp* allocate(size_type __n, const void* = 0) const { -+ return __n != 0 ? __REINTERPRET_CAST(value_type*,__sgi_alloc::allocate(__n * sizeof(value_type))) : 0; - } -- - // __p is permitted to be a null pointer, only if n==0. - void deallocate(pointer __p, size_type __n) const { -- __STL_ASSERT( (__p == 0) == (__n == 0) ) -- if (__p != 0) -- __sgi_alloc::deallocate((void*)__p, __n * sizeof(value_type)); -+ _STLP_ASSERT( (__p == 0) == (__n == 0) ) -+ if (__p != 0) __sgi_alloc::deallocate((void*)__p, __n * sizeof(value_type)); - } -- - // backwards compatibility -- void deallocate(pointer __p) const -- { if (__p != 0) __sgi_alloc::deallocate((void*)__p, sizeof(value_type)); } -- -- size_type max_size() const __STL_NOTHROW -- { return size_t(-1) / sizeof(value_type); } -- -- void construct(pointer __p, const _Tp& __val) const { __STLPORT_STD::construct(__p, __val); } -- void destroy(pointer __p) const { __STLPORT_STD::destroy(__p); } -+ void deallocate(pointer __p) const { if (__p != 0) __sgi_alloc::deallocate((void*)__p, sizeof(value_type)); } -+ size_type max_size() const _STLP_NOTHROW { return size_t(-1) / sizeof(value_type); } -+ void construct(pointer __p, const _Tp& __val) const { _STLP_STD::_Construct(__p, __val); } -+ void destroy(pointer __p) const { _STLP_STD::_Destroy(__p); } -+# if defined(__MRC__)||defined(__SC__) -+ template bool operator==(const allocator<_T2>&) const { return true; } -+ template bool operator!=(const allocator<_T2>&) const { return false; } -+# endif - }; - --__STL_TEMPLATE_NULL --class __STL_CLASS_DECLSPEC allocator { -+_STLP_TEMPLATE_NULL -+class _STLP_CLASS_DECLSPEC allocator { - public: - typedef size_t size_type; - typedef ptrdiff_t difference_type; - typedef void* pointer; - typedef const void* const_pointer; --# if defined (__STL_CLASS_PARTIAL_SPECIALIZATION) -+# if defined (_STLP_CLASS_PARTIAL_SPECIALIZATION) - typedef void value_type; - # endif --# if defined (__STL_MEMBER_TEMPLATE_CLASSES) -+# if defined (_STLP_MEMBER_TEMPLATE_CLASSES) - template struct rebind { - typedef allocator<_Tp1> other; - }; - # endif --}; -- -- --template --inline bool __STL_CALL operator==(const allocator<_T1>&, const allocator<_T2>&) --{ -- return true; --} -- --template --inline bool __STL_CALL operator!=(const allocator<_T1>&, const allocator<_T2>&) --{ -- return false; --} -- --# if defined (__STL_USE_TEMPLATE_EXPORT) --__STL_EXPORT_TEMPLATE_CLASS allocator; --# if defined (__STL_HAS_WCHAR_T) --__STL_EXPORT_TEMPLATE_CLASS allocator; --# endif -- --# endif /* __STL_USE_TEMPLATE_EXPORT */ -- --template --class __simple_alloc { -- typedef _Alloc __alloc_type; --public: -- -- typedef typename _Alloc::value_type __alloc_value_type; -- typedef _Tp value_type; -- -- static size_t __STL_CALL __chunk(size_t __n) { -- return (sizeof(__alloc_value_type)==sizeof(value_type)) ? __n : -- ((__n*sizeof(value_type)+sizeof(__alloc_value_type)-1)/sizeof(__alloc_value_type)); -- } -- static _Tp* __STL_CALL allocate(size_t __n) -- { return 0 == __n ? 0 : (_Tp*) __alloc_type::allocate(__chunk(__n)); } -- -- static void __STL_CALL deallocate(_Tp * __p, size_t __n) { -- __alloc_type::deallocate((__alloc_value_type*)__p, __chunk(__n)); } --}; -- --# ifndef __STL_NO_EXTENSIONS --// Allocator adaptor to turn an SGI-style allocator (e.g. alloc, malloc_alloc) --// into a standard-conforming allocator. Note that this adaptor does --// *not* assume that all objects of the underlying alloc class are --// identical, nor does it assume that all of the underlying alloc's --// member functions are static member functions. Note, also, that --// __allocator<_Tp, alloc> is essentially the same thing as allocator<_Tp>. -- --template --struct __allocator : public _Alloc { -- typedef _Alloc __underlying_alloc; -- -- typedef size_t size_type; -- typedef ptrdiff_t difference_type; -- typedef _Tp* pointer; -- typedef const _Tp* const_pointer; -- typedef _Tp& reference; -- typedef const _Tp& const_reference; -- typedef _Tp value_type; -- --# if defined (__STL_MEMBER_TEMPLATE_CLASSES) -- template struct rebind { -- typedef __allocator<_Tp1, _Alloc> other; -- }; --# endif -- __allocator() __STL_NOTHROW {} -- __allocator(const _Alloc& ) __STL_NOTHROW {} -- __allocator(const __allocator<_Tp, _Alloc>& __a) __STL_NOTHROW -- : _Alloc(__a) {} --# if defined (__STL_MEMBER_TEMPLATES) && defined (__STL_FUNCTION_TMPL_PARTIAL_ORDER) -- template -- __allocator(const __allocator<_Tp1, _Alloc>& __a) __STL_NOTHROW -- : _Alloc(__a) {} -+# if defined(__MRC__)||defined(__SC__) //*ty 03/24/2001 - MPW compilers get confused on these operator definitions -+ template bool operator==(const allocator<_T2>&) const { return true; } -+ template bool operator!=(const allocator<_T2>&) const { return false; } - # endif -- ~__allocator() __STL_NOTHROW {} -- -- pointer address(reference __x) const { return &__x; } -- --# if !defined (__WATCOM_CPLUSPLUS__) -- const_pointer address(const_reference __x) const { return &__x; } --# endif -- -- // __n is permitted to be 0. -- _Tp* allocate(size_type __n, const void* = 0) { -- return __n != 0 -- ? __STATIC_CAST(_Tp*,__underlying_alloc::allocate(__n * sizeof(_Tp))) -- : 0; -- } -- -- // __p is not permitted to be a null pointer. -- void deallocate(pointer __p, size_type __n) -- { if (__p) __underlying_alloc::deallocate(__p, __n * sizeof(_Tp)); } -- -- size_type max_size() const __STL_NOTHROW -- { return size_t(-1) / sizeof(_Tp); } -- -- void construct(pointer __p, const _Tp& __val) { __STLPORT_STD::construct(__p, __val); } -- void destroy(pointer __p) { __STLPORT_STD::destroy(__p); } -- -- const __underlying_alloc& __get_underlying_alloc() const { return *this; } - }; - --#ifdef __STL_CLASS_PARTIAL_SPECIALIZATION --template --class __allocator { -- typedef size_t size_type; -- typedef ptrdiff_t difference_type; -- typedef void* pointer; -- typedef const void* const_pointer; -- typedef void value_type; --#ifdef __STL_MEMBER_TEMPLATE_CLASSES -- template struct rebind { -- typedef __allocator<_Tp1, _Alloc> other; -- }; -+#if !(defined(__MRC__)||defined(__SC__)) //*ty 03/24/2001 - MPW compilers get confused on these operator definitions -+template inline bool _STLP_CALL operator==(const allocator<_T1>&, const allocator<_T2>&) { return true; } -+template inline bool _STLP_CALL operator!=(const allocator<_T1>&, const allocator<_T2>&) { return false; } - #endif --}; --#endif -- --template --inline bool __STL_CALL operator==(const __allocator<_Tp, _Alloc>& __a1, -- const __allocator<_Tp, _Alloc>& __a2) --{ -- return __a1.__get_underlying_alloc() == __a2.__get_underlying_alloc(); --} -- --#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE --template --inline bool __STL_CALL operator!=(const __allocator<_Tp, _Alloc>& __a1, -- const __allocator<_Tp, _Alloc>& __a2) --{ -- return __a1.__get_underlying_alloc() != __a2.__get_underlying_alloc(); --} --#endif /* __STL_FUNCTION_TMPL_PARTIAL_ORDER */ - -- --// Comparison operators for all of the predifined SGI-style allocators. --// This ensures that __allocator (for example) will --// work correctly. -- --#ifndef __STL_NON_TYPE_TMPL_PARAM_BUG --template --inline bool __STL_CALL operator==(const __malloc_alloc&, -- const __malloc_alloc&) --{ -- return true; --} -- --#ifdef __STL_FUNCTION_TMPL_PARTIAL_ORDER --template --inline bool __STL_CALL operator!=(const __malloc_alloc<__inst>&, -- const __malloc_alloc<__inst>&) --{ -- return false; --} --#endif /* __STL_FUNCTION_TMPL_PARTIAL_ORDER */ -- --template --inline bool __STL_CALL operator==(const __node_alloc<__threads, __inst>&, -- const __node_alloc<__threads, __inst>&) --{ -- return true; --} -- --#if defined( __STL_FUNCTION_TMPL_PARTIAL_ORDER ) -- --template --inline bool __STL_CALL operator!=(const __node_alloc<__threads, __inst>&, -- const __node_alloc<__threads, __inst>&) --{ -- return false; --} --#endif /* __STL_FUNCTION_TMPL_PARTIAL_ORDER */ -- --#endif /* __STL_NON_TYPE_TMPL_PARAM_BUG */ -- --template --inline bool __STL_CALL operator==(const __debug_alloc<_Alloc>&, -- const __debug_alloc<_Alloc>&) { -- return true; --} -- --# ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE --template --inline bool __STL_CALL operator!=(const __debug_alloc<_Alloc>&, -- const __debug_alloc<_Alloc>&) { -- return false; --} --# endif --#endif /* __STL_NO_EXTENSIONS : excluding __allocator */ -+# if defined (_STLP_USE_TEMPLATE_EXPORT) -+_STLP_EXPORT_TEMPLATE_CLASS allocator; -+# if defined (_STLP_HAS_WCHAR_T) -+_STLP_EXPORT_TEMPLATE_CLASS allocator; -+# endif -+# endif /* _STLP_USE_TEMPLATE_EXPORT */ - - // Another allocator adaptor: _Alloc_traits. This serves two - // purposes. First, make it possible to write containers that can use - // either SGI-style allocators or standard-conforming allocator. --// Second, provide a mechanism so that containers can query whether or --// not the allocator has distinct instances. If not, the container --// can avoid wasting a word of memory to store an empty object. -- --// This adaptor uses partial specialization. The general case of --// _Alloc_traits<_Tp, _Alloc> assumes that _Alloc is a --// standard-conforming allocator, possibly with non-equal instances --// and non-static members. (It still behaves correctly even if _Alloc --// has static member and if all instances are equal. Refinements --// affect performance, not correctness.) - - // The fully general version. -- --// fbp: _S_instanceless is unused in STLport --// _Alloc_type is always being used to do allocation/deallocation --// allocator_type is the type being converted to _Allocator when returned --// from Container::get_allocator, unless it is NOT a raw alloc, in which case --// __get_alloc will return __allocator -- - template - struct _Alloc_traits - { --# if defined (__STL_MEMBER_TEMPLATE_CLASSES) -- typedef typename _Allocator::__STL_TEMPLATE rebind<_Tp> _Rebind_type; -+ typedef _Allocator _Orig; -+# if defined (_STLP_MEMBER_TEMPLATE_CLASSES) -+ typedef typename _Allocator::_STLP_TEMPLATE rebind<_Tp> _Rebind_type; - typedef typename _Rebind_type::other allocator_type; -+ static allocator_type create_allocator(const _Orig& __a) { return allocator_type(__a); } - # else - // this is not actually true, used only to pass this type through -- // to dynamic overload selection in _STL_alloc_proxy methods -+ // to dynamic overload selection in _STLP_alloc_proxy methods - typedef _Allocator allocator_type; - # endif - }; - -+#ifndef _STLP_FORCE_ALLOCATORS -+#define _STLP_FORCE_ALLOCATORS(a,y) -+#endif - --#if defined (__STL_CLASS_PARTIAL_SPECIALIZATION) --// The version for the default allocator. -- -+#if defined (_STLP_CLASS_PARTIAL_SPECIALIZATION) && ! defined (_STLP_MEMBER_TEMPLATE_CLASSES) -+// The version for the default allocator, for rare occasion when we have partial spec w/o member template classes - template - struct _Alloc_traits<_Tp, allocator<_Tp1> > { -+ typedef allocator<_Tp1> _Orig; - typedef allocator<_Tp> allocator_type; -+ static allocator_type create_allocator(const allocator<_Tp1 >& __a) { return allocator_type(__a); } - }; -+#endif /* _STLP_CLASS_PARTIAL_SPECIALIZATION */ - --# if defined (__STL_USE_RAW_SGI_ALLOCATORS) --// Versions for the predefined SGI-style allocators. --template --struct _Alloc_traits<_Tp, __malloc_alloc<__inst> > { -- typedef __allocator<_Tp, __malloc_alloc<__inst> > allocator_type; --}; -- -- --template --struct _Alloc_traits<_Tp, __node_alloc<__threads, __inst> > { -- typedef __allocator<_Tp, __node_alloc<__threads, __inst> > -- allocator_type; --}; -- --template --struct _Alloc_traits<_Tp, __debug_alloc<_Alloc> > { -- typedef __allocator<_Tp, __debug_alloc<_Alloc> > allocator_type; --}; --# endif -- --# ifndef __STL_NO_EXTENSIONS --// Versions for the __allocator adaptor used with the predefined --// SGI-style allocators. -- --template --struct _Alloc_traits<_Tp, __allocator<_Tp1, _Alloc > > { -- typedef __allocator<_Tp, _Alloc > allocator_type; --}; -+/* macro to convert the allocator for initialization -+ * not using MEMBER_TEMPLATE_CLASSES as it should work given template constructor */ -+#if defined (_STLP_MEMBER_TEMPLATES) || ! defined (_STLP_CLASS_PARTIAL_SPECIALIZATION) -+/* if _STLP_NO_TEMPLATE_CONVERSIONS is set, the member template constructor is -+ * not used implicitly to convert allocator parameter, so let us do it explicitly */ -+# if defined (_STLP_MEMBER_TEMPLATE_CLASSES) && defined (_STLP_NO_TEMPLATE_CONVERSIONS) -+# define _STLP_CONVERT_ALLOCATOR(__a, _Tp) __stl_alloc_create(__a,(_Tp*)0) -+# else -+# define _STLP_CONVERT_ALLOCATOR(__a, _Tp) __a - # endif -+/* else convert, but only if partial specialization works, since else -+ * Container::allocator_type won't be different */ -+#else -+# define _STLP_CONVERT_ALLOCATOR(__a, _Tp) __stl_alloc_create(__a,(_Tp*)0) -+#endif - --#endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */ -- --# if defined (__STL_MEMBER_TEMPLATE_CLASSES) -- --// __a may be not rebound, return different type -+# if defined (_STLP_MEMBER_TEMPLATE_CLASSES) - template --inline __STL_TYPENAME_ON_RETURN_TYPE _Alloc_traits<_Tp, _Alloc>::allocator_type __STL_CALL -+inline _STLP_TYPENAME_ON_RETURN_TYPE _Alloc_traits<_Tp, _Alloc>::allocator_type _STLP_CALL - __stl_alloc_create(const _Alloc& __a, const _Tp*) { -- typedef typename _Alloc_traits<_Tp, _Alloc>::allocator_type _Rebound_type; -+ typedef typename _Alloc::_STLP_TEMPLATE rebind<_Tp>::other _Rebound_type; - return _Rebound_type(__a); - } -- - #else -- --# if defined (__STL_USE_RAW_SGI_ALLOCATORS) -- --// Versions for the predefined SGI-style allocators. --template --inline __allocator<_Tp, __new_alloc > __STL_CALL --__stl_alloc_create(const __new_alloc&, const _Tp*) { -- return __allocator<_Tp, __new_alloc >(); --} --template --inline __allocator<_Tp, __new_alloc >& __STL_CALL --__stl_alloc_rebind(__new_alloc& __a, const _Tp*) { -- return (__allocator<_Tp, __new_alloc >&)__a; --} -- --template --inline __allocator<_Tp, __debug_alloc<_Alloc> > __STL_CALL --__stl_alloc_create(const __debug_alloc<_Alloc>&, const _Tp*) { -- return __allocator<_Tp, __debug_alloc<_Alloc> >(); --} --template --inline __allocator<_Tp, __debug_alloc<_Alloc> >& __STL_CALL --__stl_alloc_rebind(__debug_alloc<_Alloc>& __a, const _Tp*) { -- return (__allocator<_Tp, __debug_alloc<_Alloc> >&)__a; --} -- --# if defined (__STL_NON_TYPE_TMPL_PARAM_BUG) -- --typedef __malloc_alloc<0> __malloc_alloc_dfl; --typedef __node_alloc __single_client_node_alloc; --typedef __node_alloc __multithreaded_node_alloc; -- --template --inline __allocator<_Tp, __malloc_alloc_dfl >& __STL_CALL --__stl_alloc_rebind(__malloc_alloc_dfl& __a, const _Tp*) { -- return (__allocator<_Tp, __malloc_alloc_dfl >&)__a; --} -- --template --inline __allocator<_Tp, __single_client_node_alloc >& __STL_CALL --__stl_alloc_rebind(__single_client_node_alloc& __a, const _Tp*) { -- return (__allocator<_Tp, __single_client_node_alloc >&)__a; --} -- --template --inline __allocator<_Tp, __multithreaded_node_alloc >& __STL_CALL --__stl_alloc_rebind(__multithreaded_node_alloc& __a, const _Tp*) { -- return (__allocator<_Tp, __multithreaded_node_alloc >&)__a; --} -- --template --inline __allocator<_Tp, __malloc_alloc_dfl > __STL_CALL --__stl_alloc_create(const __malloc_alloc_dfl&, const _Tp*) { -- return __allocator<_Tp, __malloc_alloc_dfl > (); --} -- --template --inline __allocator<_Tp, __single_client_node_alloc > __STL_CALL --__stl_alloc_create(const __single_client_node_alloc&, const _Tp*) { -- return __allocator<_Tp, __single_client_node_alloc >(); --} -- --template --inline __allocator<_Tp, __multithreaded_node_alloc > __STL_CALL --__stl_alloc_create(const __multithreaded_node_alloc&, const _Tp*) { -- return __allocator<_Tp, __multithreaded_node_alloc >(); --} -- --# else -- --template --inline __allocator<_Tp, __malloc_alloc<__inst> >& __STL_CALL --__stl_alloc_rebind(__malloc_alloc<__inst>& __a, const _Tp*) { -- return (__allocator<_Tp, __malloc_alloc<__inst> >&)__a; --} -- --template --inline __allocator<_Tp, __node_alloc<__threads, __inst> >& __STL_CALL --__stl_alloc_rebind(__node_alloc<__threads, __inst>& __a, const _Tp*) { -- return (__allocator<_Tp, __node_alloc<__threads, __inst> >&)__a; --} -- --template --inline __allocator<_Tp, __malloc_alloc<__inst> > __STL_CALL --__stl_alloc_create(const __malloc_alloc<__inst>&, const _Tp*) { -- return __allocator<_Tp, __malloc_alloc<__inst> >(); --} -- --template --inline __allocator<_Tp, __node_alloc<__threads, __inst> > __STL_CALL --__stl_alloc_create(const __node_alloc<__threads, __inst>&, const _Tp*) { -- return __allocator<_Tp, __node_alloc<__threads, __inst> >(); --} -- --# endif --# endif /* defined (__STL_USE_RAW_SGI_ALLOCATORS) */ -- - // If custom allocators are being used without member template classes support : - // user (on purpose) is forced to define rebind/get operations !!! -- - template --inline allocator<_Tp2>& __STL_CALL --__stl_alloc_rebind(allocator<_Tp1>& __a, const _Tp2*) { -- return (allocator<_Tp2>&)(__a); --} -- -+inline allocator<_Tp2>& _STLP_CALL -+__stl_alloc_rebind(allocator<_Tp1>& __a, const _Tp2*) { return (allocator<_Tp2>&)(__a); } - template --inline allocator<_Tp2> __STL_CALL --__stl_alloc_create(const allocator<_Tp1>&, const _Tp2*) { -- return allocator<_Tp2>(); --} -- --# ifndef __STL_NO_EXTENSIONS -- --template --inline __allocator<_Tp2, _Alloc>& __STL_CALL --__stl_alloc_rebind(__allocator<_Tp1, _Alloc>& __a, const _Tp2*) { -- return (__allocator<_Tp2, _Alloc>&)__a; --} -- --template --inline __allocator<_Tp2, _Alloc> __STL_CALL --__stl_alloc_create(const __allocator<_Tp1, _Alloc>&, const _Tp2*) { -- return __allocator<_Tp2, _Alloc>(); --} --# endif /* __STL_NO_EXTENSIONS */ -- --#endif /* __STL_MEMBER_TEMPLATE_CLASSES */ -+inline allocator<_Tp2> _STLP_CALL -+__stl_alloc_create(const allocator<_Tp1>&, const _Tp2*) { return allocator<_Tp2>(); } -+#endif /* _STLP_MEMBER_TEMPLATE_CLASSES */ -+ -+# ifdef _STLP_USE_RAW_SGI_ALLOCATORS -+// move obsolete stuff out of the way -+# include -+# endif - - // inheritance is being used for EBO optimization -- - template --class __STL_CLASS_DECLSPEC _STL_alloc_proxy : public _MaybeReboundAlloc { -+class _STLP_alloc_proxy : public _MaybeReboundAlloc { - private: - typedef _MaybeReboundAlloc _Base; -- typedef _STL_alloc_proxy<_Value, _Tp, _MaybeReboundAlloc> _Self; -+ typedef _STLP_alloc_proxy<_Value, _Tp, _MaybeReboundAlloc> _Self; - public: - _Value _M_data; -+ inline _STLP_alloc_proxy(const _MaybeReboundAlloc& __a, _Value __p) : _MaybeReboundAlloc(__a), _M_data(__p) {} -+ -+# if 0 -+ inline _STLP_alloc_proxy(const _Self& __x) : _MaybeReboundAlloc(__x), _M_data(__x._M_data) {} - // construction/destruction -- inline _STL_alloc_proxy(const _Self& __x) : _MaybeReboundAlloc(__x), _M_data(__x._M_data) {} -- inline _STL_alloc_proxy(const _MaybeReboundAlloc& __a, _Value __p) : _MaybeReboundAlloc(__a), -- _M_data(__p) {} -- inline _Self& operator = (const _Self& __x) { _M_data = __x._M_data; return *this; } -- // _Self& operator = (const _Value& __x) { _M_data = __x; return *this; } -+ inline _Self& operator = (const _Self& __x) { -+ *(_MaybeReboundAlloc*)this = *(_MaybeReboundAlloc*)__x; -+ _M_data = __x._M_data; return *this; -+ } - inline _Self& operator = (const _Base& __x) { ((_Base&)*this) = __x; return *this; } -- // operator _Value() const { return _M_data; } -- -+# endif - // Unified interface to perform allocate()/deallocate() with limited - // language support --#if defined (__STL_MEMBER_TEMPLATE_CLASSES) --# if 1 // def __BORLANDC__ -- inline _Tp* allocate(size_t __n) { -- return _Base::allocate(__n); -- } --# else -- __STL_USING_BASE_MEMBER _MaybeReboundAlloc::allocate; --# endif --#else -+#if ! defined (_STLP_MEMBER_TEMPLATE_CLASSES) - // else it is rebound already, and allocate() member is accessible - inline _Tp* allocate(size_t __n) { -- return __stl_alloc_rebind(__STATIC_CAST(_Base&,*this),(_Tp*)0).allocate(__n); -+ return __stl_alloc_rebind(__STATIC_CAST(_Base&,*this),(_Tp*)0).allocate(__n,0); - } - inline void deallocate(_Tp* __p, size_t __n) { - __stl_alloc_rebind(__STATIC_CAST(_Base&, *this),(_Tp*)0).deallocate(__p, __n); -@@ -884,21 +508,22 @@ - #endif - }; - -- --# if defined (__STL_USE_TEMPLATE_EXPORT) --__STL_EXPORT_TEMPLATE_CLASS _STL_alloc_proxy >; --# if defined (__STL_HAS_WCHAR_T) --__STL_EXPORT_TEMPLATE_CLASS _STL_alloc_proxy >; -+# if defined (_STLP_USE_TEMPLATE_EXPORT) -+_STLP_EXPORT_TEMPLATE_CLASS _STLP_alloc_proxy >; -+# if defined (_STLP_HAS_WCHAR_T) -+_STLP_EXPORT_TEMPLATE_CLASS _STLP_alloc_proxy >; - # endif --# endif /* __STL_USE_TEMPLATE_EXPORT */ -+# endif /* _STLP_USE_TEMPLATE_EXPORT */ -+ -+# undef _STLP_NODE_ALLOCATOR_THREADS - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --# if !defined (__STL_LINK_TIME_INSTANTIATION) -+# if defined (_STLP_EXPOSE_GLOBALS_IMPLEMENTATION) && !defined (_STLP_LINK_TIME_INSTANTIATION) - # include - # endif - --#endif /* __SGI_STL_INTERNAL_ALLOC_H */ -+#endif /* _STLP_INTERNAL_ALLOC_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_alloc_old.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_alloc_old.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_alloc_old.h Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_alloc_old.h Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,303 @@ -+template -+class __simple_alloc { -+ typedef _Alloc __alloc_type; -+public: -+ typedef typename _Alloc::value_type __alloc_value_type; -+ typedef _Tp value_type; -+ static size_t _STLP_CALL __chunk(size_t __n) { -+ return (sizeof(__alloc_value_type)==sizeof(value_type)) ? __n : -+ ((__n*sizeof(value_type)+sizeof(__alloc_value_type)-1)/sizeof(__alloc_value_type)); -+ } -+ static _Tp* _STLP_CALL allocate(size_t __n) { return 0 == __n ? 0 : (_Tp*) __alloc_type::allocate(__chunk(__n)); } -+ static void _STLP_CALL deallocate(_Tp * __p, size_t __n) { -+ __alloc_type::deallocate((__alloc_value_type*)__p, __chunk(__n)); } -+}; -+ -+// Allocator adaptor to turn an SGI-style allocator (e.g. alloc, malloc_alloc) -+// into a standard-conforming allocator. Note that this adaptor does -+// *not* assume that all objects of the underlying alloc class are -+// identical, nor does it assume that all of the underlying alloc's -+// member functions are static member functions. Note, also, that -+// __allocator<_Tp, alloc> is essentially the same thing as allocator<_Tp>. -+ -+template -+struct __allocator : public _Alloc { -+ typedef _Alloc __underlying_alloc; -+ -+ typedef size_t size_type; -+ typedef ptrdiff_t difference_type; -+ typedef _Tp* pointer; -+ typedef const _Tp* const_pointer; -+ typedef _Tp& reference; -+ typedef const _Tp& const_reference; -+ typedef _Tp value_type; -+ -+# if defined (_STLP_MEMBER_TEMPLATE_CLASSES) -+ template struct rebind { -+ typedef __allocator<_Tp1, _Alloc> other; -+ }; -+# endif -+ __allocator() _STLP_NOTHROW {} -+ __allocator(const _Alloc& ) _STLP_NOTHROW {} -+ __allocator(const __allocator<_Tp, _Alloc>& __a) _STLP_NOTHROW -+ : _Alloc(__a) {} -+# if defined (_STLP_MEMBER_TEMPLATES) && defined (_STLP_FUNCTION_TMPL_PARTIAL_ORDER) -+ template -+ __allocator(const __allocator<_Tp1, _Alloc>& __a) _STLP_NOTHROW -+ : _Alloc(__a) {} -+# endif -+# ifdef _STLP_TRIVIAL_DESTRUCTOR_BUG -+ ~__allocator() _STLP_NOTHROW {} -+# endif -+ pointer address(reference __x) const { return &__x; } -+ -+# if !defined (__WATCOM_CPLUSPLUS__) -+ const_pointer address(const_reference __x) const { return &__x; } -+# endif -+ -+ // __n is permitted to be 0. -+ _Tp* allocate(size_type __n, const void* = 0) { -+ return __n != 0 -+ ? __STATIC_CAST(_Tp*,__underlying_alloc::allocate(__n * sizeof(_Tp))) -+ : 0; -+ } -+ -+ // __p is not permitted to be a null pointer. -+ void deallocate(pointer __p, size_type __n) -+ { if (__p) __underlying_alloc::deallocate(__p, __n * sizeof(_Tp)); } -+ -+ size_type max_size() const _STLP_NOTHROW -+ { return size_t(-1) / sizeof(_Tp); } -+ -+ void construct(pointer __p, const _Tp& __val) { _STLP_STD::_Construct(__p, __val); } -+ void destroy(pointer __p) { _STLP_STD::_Destroy(__p); } -+ -+ const __underlying_alloc& __get_underlying_alloc() const { return *this; } -+}; -+ -+#ifdef _STLP_CLASS_PARTIAL_SPECIALIZATION -+template -+class __allocator { -+ typedef size_t size_type; -+ typedef ptrdiff_t difference_type; -+ typedef void* pointer; -+ typedef const void* const_pointer; -+ typedef void value_type; -+#ifdef _STLP_MEMBER_TEMPLATE_CLASSES -+ template struct rebind { -+ typedef __allocator<_Tp1, _Alloc> other; -+ }; -+#endif -+}; -+#endif -+ -+template -+inline bool _STLP_CALL operator==(const __allocator<_Tp, _Alloc>& __a1, -+ const __allocator<_Tp, _Alloc>& __a2) -+{ -+ return __a1.__get_underlying_alloc() == __a2.__get_underlying_alloc(); -+} -+ -+#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE -+template -+inline bool _STLP_CALL operator!=(const __allocator<_Tp, _Alloc>& __a1, -+ const __allocator<_Tp, _Alloc>& __a2) -+{ -+ return __a1.__get_underlying_alloc() != __a2.__get_underlying_alloc(); -+} -+#endif /* _STLP_FUNCTION_TMPL_PARTIAL_ORDER */ -+ -+ -+// Comparison operators for all of the predifined SGI-style allocators. -+// This ensures that __allocator (for example) will -+// work correctly. -+ -+#ifndef _STLP_NON_TYPE_TMPL_PARAM_BUG -+template -+inline bool _STLP_CALL operator==(const __malloc_alloc&, -+ const __malloc_alloc&) -+{ -+ return true; -+} -+ -+#ifdef _STLP_FUNCTION_TMPL_PARTIAL_ORDER -+template -+inline bool _STLP_CALL operator!=(const __malloc_alloc<__inst>&, -+ const __malloc_alloc<__inst>&) -+{ -+ return false; -+} -+#endif /* _STLP_FUNCTION_TMPL_PARTIAL_ORDER */ -+ -+inline bool _STLP_CALL operator==(const __new_alloc&, const __new_alloc&) { return true; } -+ -+# ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE -+inline bool _STLP_CALL operator!=(const __new_alloc&, const __new_alloc&) { return false; } -+# endif -+ -+ -+template -+inline bool _STLP_CALL operator==(const __node_alloc<__threads, __inst>&, -+ const __node_alloc<__threads, __inst>&) -+{ -+ return true; -+} -+ -+#if defined( _STLP_FUNCTION_TMPL_PARTIAL_ORDER ) -+ -+template -+inline bool _STLP_CALL operator!=(const __node_alloc<__threads, __inst>&, -+ const __node_alloc<__threads, __inst>&) -+{ -+ return false; -+} -+#endif /* _STLP_FUNCTION_TMPL_PARTIAL_ORDER */ -+ -+#endif /* _STLP_NON_TYPE_TMPL_PARAM_BUG */ -+ -+template -+inline bool _STLP_CALL operator==(const __debug_alloc<_Alloc>&, const __debug_alloc<_Alloc>&) { return true; } -+# ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE -+template -+inline bool _STLP_CALL operator!=(const __debug_alloc<_Alloc>&, const __debug_alloc<_Alloc>&) { return false; } -+# endif -+ -+#if defined (_STLP_CLASS_PARTIAL_SPECIALIZATION) -+ -+// Versions for the predefined SGI-style allocators. -+template -+struct _Alloc_traits<_Tp, __malloc_alloc<__inst> > { -+ typedef __allocator<_Tp, __malloc_alloc<__inst> > allocator_type; -+}; -+ -+ -+template -+struct _Alloc_traits<_Tp, __node_alloc<__threads, __inst> > { -+ typedef __allocator<_Tp, __node_alloc<__threads, __inst> > -+ allocator_type; -+}; -+ -+template -+struct _Alloc_traits<_Tp, __debug_alloc<_Alloc> > { -+ typedef __allocator<_Tp, __debug_alloc<_Alloc> > allocator_type; -+}; -+ -+// Versions for the __allocator adaptor used with the predefined -+// SGI-style allocators. -+ -+template -+struct _Alloc_traits<_Tp, __allocator<_Tp1, _Alloc > > { -+ typedef __allocator<_Tp, _Alloc > allocator_type; -+}; -+ -+#endif -+ -+#if !defined (_STLP_MEMBER_TEMPLATE_CLASSES) -+ -+// Versions for the predefined SGI-style allocators. -+ -+ -+# if defined (_STLP_NON_TYPE_TMPL_PARAM_BUG) -+ -+typedef __malloc_alloc<0> __malloc_alloc_dfl; -+typedef __node_alloc __single_client_node_alloc; -+typedef __node_alloc __multithreaded_node_alloc; -+ -+template -+inline __allocator<_Tp, __malloc_alloc_dfl >& _STLP_CALL -+__stl_alloc_rebind(__malloc_alloc_dfl& __a, const _Tp*) { -+ return (__allocator<_Tp, __malloc_alloc_dfl >&)__a; -+} -+ -+template -+inline __allocator<_Tp, __single_client_node_alloc >& _STLP_CALL -+__stl_alloc_rebind(__single_client_node_alloc& __a, const _Tp*) { -+ return (__allocator<_Tp, __single_client_node_alloc >&)__a; -+} -+ -+template -+inline __allocator<_Tp, __multithreaded_node_alloc >& _STLP_CALL -+__stl_alloc_rebind(__multithreaded_node_alloc& __a, const _Tp*) { -+ return (__allocator<_Tp, __multithreaded_node_alloc >&)__a; -+} -+ -+template -+inline __allocator<_Tp, __malloc_alloc_dfl > _STLP_CALL -+__stl_alloc_create(const __malloc_alloc_dfl&, const _Tp*) { -+ return __allocator<_Tp, __malloc_alloc_dfl > (); -+} -+ -+template -+inline __allocator<_Tp, __single_client_node_alloc > _STLP_CALL -+__stl_alloc_create(const __single_client_node_alloc&, const _Tp*) { -+ return __allocator<_Tp, __single_client_node_alloc >(); -+} -+ -+template -+inline __allocator<_Tp, __multithreaded_node_alloc > _STLP_CALL -+__stl_alloc_create(const __multithreaded_node_alloc&, const _Tp*) { -+ return __allocator<_Tp, __multithreaded_node_alloc >(); -+} -+ -+# else -+ -+template -+inline __allocator<_Tp, __malloc_alloc<__inst> >& _STLP_CALL -+__stl_alloc_rebind(__malloc_alloc<__inst>& __a, const _Tp*) { -+ return (__allocator<_Tp, __malloc_alloc<__inst> >&)__a; -+} -+ -+template -+inline __allocator<_Tp, __node_alloc<__threads, __inst> >& _STLP_CALL -+__stl_alloc_rebind(__node_alloc<__threads, __inst>& __a, const _Tp*) { -+ return (__allocator<_Tp, __node_alloc<__threads, __inst> >&)__a; -+} -+ -+template -+inline __allocator<_Tp, __malloc_alloc<__inst> > _STLP_CALL -+__stl_alloc_create(const __malloc_alloc<__inst>&, const _Tp*) { -+ return __allocator<_Tp, __malloc_alloc<__inst> >(); -+} -+ -+template -+inline __allocator<_Tp, __node_alloc<__threads, __inst> > _STLP_CALL -+__stl_alloc_create(const __node_alloc<__threads, __inst>&, const _Tp*) { -+ return __allocator<_Tp, __node_alloc<__threads, __inst> >(); -+} -+ -+# endif -+ -+template -+inline __allocator<_Tp, __debug_alloc<_Alloc> > _STLP_CALL -+__stl_alloc_create(const __debug_alloc<_Alloc>&, const _Tp*) { -+ return __allocator<_Tp, __debug_alloc<_Alloc> >(); -+} -+template -+inline __allocator<_Tp, __debug_alloc<_Alloc> >& _STLP_CALL -+__stl_alloc_rebind(__debug_alloc<_Alloc>& __a, const _Tp*) { -+ return (__allocator<_Tp, __debug_alloc<_Alloc> >&)__a; -+} -+ -+template -+inline __allocator<_Tp, __new_alloc > _STLP_CALL -+__stl_alloc_create(const __new_alloc&, const _Tp*) { -+ return __allocator<_Tp, __new_alloc >(); -+} -+template -+inline __allocator<_Tp, __new_alloc >& _STLP_CALL -+__stl_alloc_rebind(__new_alloc& __a, const _Tp*) { -+ return (__allocator<_Tp, __new_alloc >&)__a; -+} -+ -+template -+inline __allocator<_Tp2, _Alloc>& _STLP_CALL -+__stl_alloc_rebind(__allocator<_Tp1, _Alloc>& __a, const _Tp2*) { -+ return (__allocator<_Tp2, _Alloc>&)__a; -+} -+ -+template -+inline __allocator<_Tp2, _Alloc> _STLP_CALL -+__stl_alloc_create(const __allocator<_Tp1, _Alloc>&, const _Tp2*) { -+ return __allocator<_Tp2, _Alloc>(); -+} -+#endif -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_auto_ptr.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_auto_ptr.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_auto_ptr.h Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_auto_ptr.h Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,129 @@ -+/* -+ * Copyright (c) 1997-1999 -+ * Silicon Graphics Computer Systems, Inc. -+ * -+ * Copyright (c) 1999 -+ * Boris Fomitchev -+ * -+ * This material is provided "as is", with absolutely no warranty expressed -+ * or implied. Any use is at your own risk. -+ * -+ * Permission to use or copy this software for any purpose is hereby granted -+ * without fee, provided the above notices are retained on all copies. -+ * Permission to modify the code and to distribute modified code is granted, -+ * provided the above notices are retained, and a notice that the code was -+ * modified is included with the above copyright notice. -+ * -+ */ -+ -+#ifndef _STLP_AUTO_PTR_H -+# define _STLP_AUTO_PTR_H -+ -+_STLP_BEGIN_NAMESPACE -+// implementation primitive -+class __ptr_base { -+public: -+ void* _M_p; -+ void __set(const void* p) { _M_p = __CONST_CAST(void*,p); } -+ void __set(void* p) { _M_p = p; } -+}; -+ -+template class auto_ptr_ref { -+public: -+ __ptr_base& _M_r; -+ _Tp* const _M_p; -+ -+ auto_ptr_ref(__ptr_base& __r, _Tp* __p) : _M_r(__r), _M_p(__p) { } -+ -+ _Tp* release() const { _M_r.__set((void*)0); return _M_p; } -+ -+}; -+ -+template struct auto_ptr : public __ptr_base { -+ -+ typedef _Tp element_type; -+ typedef auto_ptr<_Tp> _Self; -+ -+ _Tp* release() { -+ _Tp* __px = this->get(); -+ this->_M_p = 0; -+ return __px; -+ } -+ -+ void reset(_Tp* __px=0) { -+ _Tp* __pt = this->get(); -+ if (__px != __pt) -+ delete __pt; -+ this->__set(__px); -+ } -+ -+ _Tp* get() const { return __REINTERPRET_CAST(_Tp*,__CONST_CAST(void*,_M_p)); } -+ -+# if !defined (_STLP_NO_ARROW_OPERATOR) -+ _Tp* operator->() const { -+ _STLP_VERBOSE_ASSERT(get()!=0, _StlMsg_AUTO_PTR_NULL) -+ return get(); -+ } -+# endif -+ _Tp& operator*() const { -+ _STLP_VERBOSE_ASSERT(get()!=0, _StlMsg_AUTO_PTR_NULL) -+ return *get(); -+ } -+ -+ auto_ptr() { this->_M_p = 0; } -+ -+ explicit auto_ptr(_Tp* __px) { this->__set(__px); } -+ -+#if defined (_STLP_MEMBER_TEMPLATES) -+# if !defined (_STLP_NO_TEMPLATE_CONVERSIONS) -+ template auto_ptr(auto_ptr<_Tp1>& __r) { -+ _Tp* __conversionCheck = __r.release(); -+ this->__set(__conversionCheck); -+ } -+# endif -+ template auto_ptr<_Tp>& operator=(auto_ptr<_Tp1>& __r) { -+ _Tp* __conversionCheck = __r.release(); -+ reset(__conversionCheck); -+ return *this; -+ } -+#endif /* _STLP_MEMBER_TEMPLATES */ -+ -+ auto_ptr(_Self& __r) { this->__set(__r.release()); } -+ -+ _Self& operator=(_Self& __r) { -+ reset(__r.release()); -+ return *this; -+ } -+ -+ ~auto_ptr() { /* boris : reset(0) might be better */ delete this->get(); } -+ -+ auto_ptr(auto_ptr_ref<_Tp> __r) { -+ this->__set(__r.release()); -+ } -+ -+ _Self& operator=(auto_ptr_ref<_Tp> __r) { -+ reset(__r.release()); -+ return *this; -+ } -+ -+# if defined(_STLP_MEMBER_TEMPLATES) && !defined(_STLP_NO_TEMPLATE_CONVERSIONS) -+ template operator auto_ptr_ref<_Tp1>() { -+ return auto_ptr_ref<_Tp1>(*this, this->get()); -+ } -+ template operator auto_ptr<_Tp1>() { -+ return auto_ptr<_Tp1>(release()); -+ } -+# else -+ operator auto_ptr_ref<_Tp>() -+ { return auto_ptr_ref<_Tp>(*this, this->get()); } -+# endif -+ -+}; -+_STLP_END_NAMESPACE -+ -+#endif /* _STLP_AUTO_PTR_H */ -+ -+// Local Variables: -+// mode:C++ -+// End: -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_bitset.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_bitset.c ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_bitset.c Sat Feb 24 10:44:43 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_bitset.c Sun Aug 11 18:59:24 2002 -@@ -16,17 +16,16 @@ - * - */ - --#ifndef __STL_BITSET_C --# define __STL_BITSET_C -+#ifndef _STLP_BITSET_C -+# define _STLP_BITSET_C - --# define __BITS_PER_WORD (CHAR_BIT*sizeof(unsigned long)) --# define __BITSET_WORDS(__n) ((__n) < 1 ? 1 : ((__n) + __BITS_PER_WORD - 1)/__BITS_PER_WORD) -- --# if ! defined (__STL_DEFAULT_TYPE_PARAM) --# define bitset __bitset -+# ifndef _STLP_BITSET_H -+# include - # endif - --__STL_BEGIN_NAMESPACE -+# define __BITS_PER_WORD (CHAR_BIT*sizeof(unsigned long)) -+ -+_STLP_BEGIN_NAMESPACE - - // - // Definitions of non-inline functions from _Base_bitset. -@@ -87,7 +86,7 @@ - { - for (size_t __i = 1; __i < _Nw; ++__i) - if (_M_w[__i]) -- __STL_THROW(overflow_error("bitset")); -+ __stl_throw_overflow_error("bitset"); - return _M_w[0]; - } // End _M_do_to_ulong - -@@ -103,7 +102,7 @@ - = __STATIC_CAST(unsigned char,(__thisword & (~(unsigned char)0))); - if ( __this_byte ) - return __i*__BITS_PER_WORD + __j*CHAR_BIT + -- _First_one::_S_first_one[__this_byte]; -+ _Bs_G::_S_first_one[__this_byte]; - - __thisword >>= CHAR_BIT; - } -@@ -141,7 +140,7 @@ - = __STATIC_CAST(unsigned char,(__thisword & (~(unsigned char)0))); - if ( __this_byte ) - return __i*__BITS_PER_WORD + __j*CHAR_BIT + -- _First_one::_S_first_one[__this_byte]; -+ _Bs_G::_S_first_one[__this_byte]; - - __thisword >>= CHAR_BIT; - } -@@ -150,7 +149,7 @@ - // check subsequent words - __i++; - for ( ; __i < _Nw; __i++ ) { -- _WordT __thisword = _M_w[__i]; -+ /* _WordT */ __thisword = _M_w[__i]; - if ( __thisword != __STATIC_CAST(_WordT,0) ) { - // find byte within word - for ( size_t __j = 0; __j < sizeof(_WordT); __j++ ) { -@@ -158,7 +157,7 @@ - = __STATIC_CAST(unsigned char,(__thisword & (~(unsigned char)0))); - if ( __this_byte ) - return __i*__BITS_PER_WORD + __j*CHAR_BIT + -- _First_one::_S_first_one[__this_byte]; -+ _Bs_G::_S_first_one[__this_byte]; - - __thisword >>= CHAR_BIT; - } -@@ -171,12 +170,12 @@ - - - --# if ! defined (__STL_NON_TYPE_TMPL_PARAM_BUG) -+# if ! defined (_STLP_NON_TYPE_TMPL_PARAM_BUG) - --#if defined ( __STL_USE_NEW_IOSTREAMS) -+#if defined ( _STLP_USE_NEW_IOSTREAMS) - - template --basic_istream<_CharT, _Traits>& __STL_CALL -+basic_istream<_CharT, _Traits>& _STLP_CALL - operator>>(basic_istream<_CharT, _Traits>& __is, bitset<_Nb>& __x) - { - basic_string<_CharT, _Traits> __tmp; -@@ -217,7 +216,7 @@ - } - - template --basic_ostream<_CharT, _Traits>& __STL_CALL -+basic_ostream<_CharT, _Traits>& _STLP_CALL - operator<<(basic_ostream<_CharT, _Traits>& __os, - const bitset<_Nb>& __x) - { -@@ -226,11 +225,12 @@ - return __os << __tmp; - } - --#elif ! defined ( __STL_USE_NO_IOSTREAMS ) -+#elif ! defined ( _STLP_USE_NO_IOSTREAMS ) - -+// (reg) For Watcom IO, this tells if ostream class is in .exe or in .dll - template --istream& __STL_CALL --operator>>(istream& __is, bitset<_Nb>& __x) { -+_ISTREAM_DLL& _STLP_CALL -+operator>>(_ISTREAM_DLL& __is, bitset<_Nb>& __x) { - string __tmp; - __tmp.reserve(_Nb); - -@@ -266,19 +266,21 @@ - return __is; - } - --# endif /* __STL_USE_NEW_IOSTREAMS */ -+# endif /* _STLP_USE_NEW_IOSTREAMS */ -+ -+# endif /* _STLP_NON_TYPE_TMPL_PARAM_BUG */ - --# endif /* __STL_NON_TYPE_TMPL_PARAM_BUG */ - -+# if defined (_STLP_EXPOSE_GLOBALS_IMPLEMENTATION) - - // ------------------------------------------------------------ - // Lookup tables for find and count operations. - --# if ( __STL_STATIC_TEMPLATE_DATA > 0 ) --template --unsigned char _Bit_count<__dummy>::_S_bit_count[256] = { -+# if ( _STLP_STATIC_TEMPLATE_DATA > 0 ) -+template -+unsigned char _Bs_G<_Dummy>::_S_bit_count[256] = { - # else --unsigned char _Bit_count::_S_bit_count[256] __STL_WEAK = { -+unsigned char _Bs_G::_S_bit_count[256] _STLP_WEAK = { - # endif - 0, /* 0 */ 1, /* 1 */ 1, /* 2 */ 2, /* 3 */ 1, /* 4 */ - 2, /* 5 */ 2, /* 6 */ 3, /* 7 */ 1, /* 8 */ 2, /* 9 */ -@@ -332,13 +334,13 @@ - 6, /* 245 */ 6, /* 246 */ 7, /* 247 */ 5, /* 248 */ 6, /* 249 */ - 6, /* 250 */ 7, /* 251 */ 6, /* 252 */ 7, /* 253 */ 7, /* 254 */ - 8 /* 255 */ --}; // end _Bit_count -+}; // end _Bitset_global - --# if ( __STL_STATIC_TEMPLATE_DATA > 0 ) --template --unsigned char _First_one<__dummy>::_S_first_one[256] = { -+# if ( _STLP_STATIC_TEMPLATE_DATA > 0 ) -+template -+unsigned char _Bs_G<_Dummy>::_S_first_one[256] = { - # else --unsigned char _First_one::_S_first_one[256] __STL_WEAK = { -+unsigned char _Bs_G::_S_first_one[256] _STLP_WEAK = { - # endif - - 0, /* 0 */ 0, /* 1 */ 1, /* 2 */ 0, /* 3 */ 2, /* 4 */ -@@ -393,12 +395,13 @@ - 0, /* 245 */ 1, /* 246 */ 0, /* 247 */ 3, /* 248 */ 0, /* 249 */ - 1, /* 250 */ 0, /* 251 */ 2, /* 252 */ 0, /* 253 */ 1, /* 254 */ - 0, /* 255 */ --}; // end _First_one -+}; // end _Bitset_global -+ -+# endif /* defined (_STLP_EXPOSE_GLOBALS_IMPLEMENTATION) */ - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - - # undef __BITS_PER_WORD --# undef __BITSET_WORDS - # undef bitset - --#endif /* __STL_BITSET_C */ -+#endif /* _STLP_BITSET_C */ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_bitset.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_bitset.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_bitset.h Sat Feb 24 10:44:43 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_bitset.h Sun Aug 11 18:59:24 2002 -@@ -16,8 +16,8 @@ - * - */ - --#ifndef __SGI_STL_BITSET_H --#define __SGI_STL_BITSET_H -+#ifndef _STLP_BITSET_H -+#define _STLP_BITSET_H - - // A bitset of size N has N % (sizeof(unsigned long) * CHAR_BIT) unused - // bits. (They are the high- order bits in the highest word.) It is -@@ -35,50 +35,46 @@ - // returns a reference to a bit, again without doing any range checking. - - --# ifndef __SGI_STL_INTERNAL_ALGOBASE_H -+# ifndef _STLP_INTERNAL_ALGOBASE_H - # include - # endif - --# ifndef __SGI_STL_INTERNAL_ALLOC_H -+# ifndef _STLP_INTERNAL_ALLOC_H - # include - # endif - --# ifndef __SGI_STL_INTERNAL_ITERATOR_H -+# ifndef _STLP_INTERNAL_ITERATOR_H - # include - # endif - --# ifndef __SGI_STL_INTERNAL_UNINITIALIZED_H -+# ifndef _STLP_INTERNAL_UNINITIALIZED_H - # include - # endif - --#ifndef __SGI_STDEXCEPT --# include --#endif -+# ifndef _STLP_RANGE_ERRORS_H -+# include -+# endif - --# ifndef __STLPORT_STRING -+# ifndef _STLP_STRING - # include - # endif - --# ifndef __STLPORT_ISTREAM -+# ifndef _STLP_ISTREAM - # include - # endif - -- - #define __BITS_PER_WORD (CHAR_BIT*sizeof(unsigned long)) --#define __BITSET_WORDS(__n) ((__n) < 1 ? 1 : ((__n) + __BITS_PER_WORD - 1)/__BITS_PER_WORD) -+#define __BITSET_WORDS(__n) ((__n + __BITS_PER_WORD - 1)/__BITS_PER_WORD) - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - // structure to aid in counting bits --template --struct _Bit_count { -+template -+class _Bs_G { -+public: - static unsigned char _S_bit_count[256]; --}; -- --// Mapping from 8 bit unsigned integers to the index of the first one --// bit: --template --struct _First_one { -+ // Mapping from 8 bit unsigned integers to the index of the first one -+ // bit: - static unsigned char _S_first_one[256]; - }; - -@@ -99,16 +95,16 @@ - _M_w[0] = __val; - } - -- static size_t __STL_CALL _S_whichword( size_t __pos ) { -+ static size_t _STLP_CALL _S_whichword( size_t __pos ) { - return __pos / __BITS_PER_WORD; - } -- static size_t __STL_CALL _S_whichbyte( size_t __pos ) { -+ static size_t _STLP_CALL _S_whichbyte( size_t __pos ) { - return (__pos % __BITS_PER_WORD) / CHAR_BIT; - } -- static size_t __STL_CALL _S_whichbit( size_t __pos ) { -+ static size_t _STLP_CALL _S_whichbit( size_t __pos ) { - return __pos % __BITS_PER_WORD; - } -- static _WordT __STL_CALL _S_maskbit( size_t __pos ) { -+ static _WordT _STLP_CALL _S_maskbit( size_t __pos ) { - return __STATIC_CAST(_WordT,1) << _S_whichbit(__pos); - } - -@@ -177,7 +173,7 @@ - const unsigned char* __end_ptr = (const unsigned char*)(_M_w+_Nw); - - while ( __byte_ptr < __end_ptr ) { -- __result += _Bit_count::_S_bit_count[*__byte_ptr]; -+ __result += _Bs_G::_S_bit_count[*__byte_ptr]; - __byte_ptr++; - } - return __result; -@@ -192,12 +188,11 @@ - size_t _M_do_find_next(size_t __prev, size_t __not_found) const; - }; - -- - // - // Base class: specialization for a single word. - // - --__STL_TEMPLATE_NULL -+_STLP_TEMPLATE_NULL - struct _Base_bitset<1UL> { - typedef unsigned long _WordT; - typedef _Base_bitset<1UL> _Self; -@@ -207,16 +202,16 @@ - _Base_bitset( void ) : _M_w(0) {} - _Base_bitset(unsigned long __val) : _M_w(__val) {} - -- static size_t __STL_CALL _S_whichword( size_t __pos ) { -+ static size_t _STLP_CALL _S_whichword( size_t __pos ) { - return __pos / __BITS_PER_WORD ; - } -- static size_t __STL_CALL _S_whichbyte( size_t __pos ) { -+ static size_t _STLP_CALL _S_whichbyte( size_t __pos ) { - return (__pos % __BITS_PER_WORD) / CHAR_BIT; - } -- static size_t __STL_CALL _S_whichbit( size_t __pos ) { -+ static size_t _STLP_CALL _S_whichbit( size_t __pos ) { - return __pos % __BITS_PER_WORD; - } -- static _WordT __STL_CALL _S_maskbit( size_t __pos ) { -+ static _WordT _STLP_CALL _S_maskbit( size_t __pos ) { - return (__STATIC_CAST(_WordT,1)) << _S_whichbit(__pos); - } - -@@ -248,7 +243,7 @@ - const unsigned char* __byte_ptr = (const unsigned char*)&_M_w; - const unsigned char* __end_ptr = ((const unsigned char*)&_M_w)+sizeof(_M_w); - while ( __byte_ptr < __end_ptr ) { -- __result += _Bit_count::_S_bit_count[*__byte_ptr]; -+ __result += _Bs_G::_S_bit_count[*__byte_ptr]; - __byte_ptr++; - } - return __result; -@@ -273,7 +268,7 @@ - inline size_t - _Base_bitset<1UL>::_M_do_find_first(size_t __not_found) const - { -- typedef unsigned long _WordT; -+ // typedef unsigned long _WordT; - _WordT __thisword = _M_w; - - if ( __thisword != __STATIC_CAST(_WordT,0) ) { -@@ -282,7 +277,7 @@ - unsigned char __this_byte - = __STATIC_CAST(unsigned char,(__thisword & (~(unsigned char)0))); - if ( __this_byte ) -- return __j*CHAR_BIT + _First_one::_S_first_one[__this_byte]; -+ return __j*CHAR_BIT + _Bs_G::_S_first_one[__this_byte]; - - __thisword >>= CHAR_BIT; - } -@@ -316,7 +311,7 @@ - unsigned char __this_byte - = __STATIC_CAST(unsigned char,(__thisword & (~(unsigned char)0))); - if ( __this_byte ) -- return __j*CHAR_BIT + _First_one::_S_first_one[__this_byte]; -+ return __j*CHAR_BIT + _Bs_G::_S_first_one[__this_byte]; - - __thisword >>= CHAR_BIT; - } -@@ -331,12 +326,12 @@ - // Helper class to zero out the unused high-order bits in the highest word. - - template struct _Sanitize { -- static void __STL_CALL _M_do_sanitize(unsigned long& __val) -+ static void _STLP_CALL _M_do_sanitize(unsigned long& __val) - { __val &= ~((~__STATIC_CAST(unsigned long,0)) << _Extrabits); } - }; - --__STL_TEMPLATE_NULL struct _Sanitize<0UL> { -- static void __STL_CALL _M_do_sanitize(unsigned long) {} -+_STLP_TEMPLATE_NULL struct _Sanitize<0UL> { -+ static void _STLP_CALL _M_do_sanitize(unsigned long) {} - }; - - // ------------------------------------------------------------ -@@ -347,8 +342,11 @@ - template - class bitset : public _Base_bitset<__BITSET_WORDS(_Nb) > - { -+public: -+ enum { _Words = __BITSET_WORDS(_Nb) } ; -+ - private: -- typedef _Base_bitset<__BITSET_WORDS(_Nb) > _Base; -+ typedef _Base_bitset< _Words > _Base; - - void _M_do_sanitize() { - _Sanitize<_Nb%__BITS_PER_WORD >::_M_do_sanitize(this->_M_hiword()); -@@ -360,7 +358,7 @@ - - // bit reference: - struct reference { -- typedef _Base_bitset<__BITSET_WORDS(_Nb) > _Bitset_base; -+ typedef _Base_bitset<_Words > _Bitset_base; - typedef bitset<_Nb> _Bitset; - // friend _Bitset; - _WordT *_M_wp; -@@ -412,17 +410,17 @@ - - // 23.3.5.1 constructors: - bitset() {} -- bitset(unsigned long __val) : -- _Base_bitset<__BITSET_WORDS(_Nb) >(__val) { _M_do_sanitize(); } - --# ifdef __STL_MEMBER_TEMPLATES -+ bitset(unsigned long __val) : _Base_bitset<_Words>(__val) { _M_do_sanitize(); } -+ -+# ifdef _STLP_MEMBER_TEMPLATES - template - explicit bitset(const basic_string<_CharT,_Traits,_Alloc>& __s, - size_t __pos = 0) -- : _Base_bitset<__BITSET_WORDS(_Nb) >() -+ : _Base_bitset<_Words >() - { - if (__pos > __s.size()) -- __STL_THROW(out_of_range("bitset")); -+ __stl_throw_out_of_range("bitset"); - _M_copy_from_string(__s, __pos, - basic_string<_CharT, _Traits, _Alloc>::npos); - } -@@ -430,23 +428,23 @@ - bitset(const basic_string<_CharT, _Traits, _Alloc>& __s, - size_t __pos, - size_t __n) -- : _Base_bitset<__BITSET_WORDS(_Nb) >() -+ : _Base_bitset<_Words >() - { - if (__pos > __s.size()) -- __STL_THROW(out_of_range("bitset")); -+ __stl_throw_out_of_range("bitset"); - _M_copy_from_string(__s, __pos, __n); - } --#else /* __STL_MEMBER_TEMPLATES */ -+#else /* _STLP_MEMBER_TEMPLATES */ - explicit bitset(const string& __s, - size_t __pos = 0, - size_t __n = (size_t)-1) -- : _Base_bitset<__BITSET_WORDS(_Nb) >() -+ : _Base_bitset<_Words >() - { - if (__pos > __s.size()) -- __STL_THROW(out_of_range("bitset")); -+ __stl_throw_out_of_range("bitset"); - _M_copy_from_string(__s, __pos, __n); - } --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - // 23.3.5.2 bitset operations: - bitset<_Nb>& operator&=(const bitset<_Nb>& __rhs) { -@@ -482,7 +480,7 @@ - // - - bitset<_Nb>& _Unchecked_set(size_t __pos) { -- this->_M_getword(__pos) |= _Base_bitset<__BITSET_WORDS(_Nb) > ::_S_maskbit(__pos); -+ this->_M_getword(__pos) |= _Base_bitset<_Words > ::_S_maskbit(__pos); - return *this; - } - -@@ -519,15 +517,13 @@ - - bitset<_Nb>& set(size_t __pos) { - if (__pos >= _Nb) -- __STL_THROW(out_of_range("bitset")); -- -+ __stl_throw_out_of_range("bitset"); - return _Unchecked_set(__pos); - } - - bitset<_Nb>& set(size_t __pos, int __val) { - if (__pos >= _Nb) -- __STL_THROW(out_of_range("bitset")); -- -+ __stl_throw_out_of_range("bitset"); - return _Unchecked_set(__pos, __val); - } - -@@ -538,7 +534,7 @@ - - bitset<_Nb>& reset(size_t __pos) { - if (__pos >= _Nb) -- __STL_THROW(out_of_range("bitset")); -+ __stl_throw_out_of_range("bitset"); - - return _Unchecked_reset(__pos); - } -@@ -551,7 +547,7 @@ - - bitset<_Nb>& flip(size_t __pos) { - if (__pos >= _Nb) -- __STL_THROW(out_of_range("bitset")); -+ __stl_throw_out_of_range("bitset"); - - return _Unchecked_flip(__pos); - } -@@ -567,8 +563,7 @@ - - unsigned long to_ulong() const { return this->_M_do_to_ulong(); } - --#if defined (__STL_MEMBER_TEMPLATES) && \ -- defined (__STL_EXPLICIT_FUNCTION_TMPL_ARGS) -+#if defined (_STLP_MEMBER_TEMPLATES) && ! defined (_STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS) - template - basic_string<_CharT, _Traits, _Alloc> to_string() const { - basic_string<_CharT, _Traits, _Alloc> __result; -@@ -581,7 +576,7 @@ - _M_copy_to_string(__result); - return __result; - } --#endif /* __STL_EXPLICIT_FUNCTION_TMPL_ARGS */ -+#endif /* _STLP_EXPLICIT_FUNCTION_TMPL_ARGS */ - - size_t count() const { return this->_M_do_count(); } - -@@ -595,9 +590,9 @@ - } - - bool test(size_t __pos) const { -- if (__pos > _Nb) -- __STL_THROW(out_of_range("bitset")); -- -+ if (__pos >= _Nb) -+ __stl_throw_out_of_range("bitset"); -+ - return _Unchecked_test(__pos); - } - -@@ -630,7 +625,7 @@ - // - // Definitions of should-be non-inline member functions. - // --# if defined (__STL_MEMBER_TEMPLATES) -+# if defined (_STLP_MEMBER_TEMPLATES) - template - void _M_copy_from_string(const basic_string<_CharT,_Traits,_Alloc>& __s, - size_t __pos, -@@ -643,18 +638,18 @@ - #endif - reset(); - size_t __tmp = _Nb; -- const size_t __Nbits = min(__tmp, min(__n, __s.size() - __pos)); -+ const size_t __Nbits = (min) (__tmp, (min) (__n, __s.size() - __pos)); - for ( size_t __i= 0; __i < __Nbits; ++__i) { - typename _Traits::int_type __k = _Traits::to_int_type(__s[__pos + __Nbits - __i - 1]); - // boris : widen() ? - if (__k == '1') - set(__i); - else if (__k !='0') -- __STL_THROW(invalid_argument("bitset")); -+ __stl_throw_invalid_argument("bitset"); - } - } - --# if defined (__STL_MEMBER_TEMPLATES) -+# if defined (_STLP_MEMBER_TEMPLATES) - template - void _M_copy_to_string(basic_string<_CharT, _Traits, _Alloc>& __s) const - # else -@@ -668,34 +663,35 @@ - __s[_Nb - 1 - __i] = '1'; - } - --# if defined (__STL_NON_TYPE_TMPL_PARAM_BUG) -- bitset<_Nb> operator&(const bitset<_Nb>& __y) { -+# if defined (_STLP_NON_TYPE_TMPL_PARAM_BUG) -+ bitset<_Nb> operator&(const bitset<_Nb>& __y) const { - bitset<_Nb> __result(*this); - __result &= __y; - return __result; - } -- bitset<_Nb> operator|(const bitset<_Nb>& __y) { -+ bitset<_Nb> operator|(const bitset<_Nb>& __y) const { - bitset<_Nb> __result(*this); - __result |= __y; - return __result; - } -- bitset<_Nb> operator^(const bitset<_Nb>& __y) { -+ bitset<_Nb> operator^(const bitset<_Nb>& __y) const { - bitset<_Nb> __result(*this); - __result ^= __y; - return __result; - } - # endif -+ - }; - - // ------------------------------------------------------------ -- - // - // 23.3.5.3 bitset operations: - // - --# if ! defined (__STL_NON_TYPE_TMPL_PARAM_BUG) -+# if ! defined (_STLP_NON_TYPE_TMPL_PARAM_BUG) -+ - template --inline bitset<_Nb> __STL_CALL -+inline bitset<_Nb> _STLP_CALL - operator&(const bitset<_Nb>& __x, - const bitset<_Nb>& __y) { - bitset<_Nb> __result(__x); -@@ -705,7 +701,7 @@ - - - template --inline bitset<_Nb> __STL_CALL -+inline bitset<_Nb> _STLP_CALL - operator|(const bitset<_Nb>& __x, - const bitset<_Nb>& __y) { - bitset<_Nb> __result(__x); -@@ -714,7 +710,7 @@ - } - - template --inline bitset<_Nb> __STL_CALL -+inline bitset<_Nb> _STLP_CALL - operator^(const bitset<_Nb>& __x, - const bitset<_Nb>& __y) { - bitset<_Nb> __result(__x); -@@ -722,25 +718,26 @@ - return __result; - } - --#if defined ( __STL_USE_NEW_IOSTREAMS ) -+#if defined ( _STLP_USE_NEW_IOSTREAMS ) -+ - template --basic_istream<_CharT, _Traits>& __STL_CALL -+basic_istream<_CharT, _Traits>& _STLP_CALL - operator>>(basic_istream<_CharT, _Traits>& __is, bitset<_Nb>& __x); - - - template --basic_ostream<_CharT, _Traits>& __STL_CALL --operator<<(basic_ostream<_CharT, _Traits>& __os, -- const bitset<_Nb>& __x); -+basic_ostream<_CharT, _Traits>& _STLP_CALL -+operator<<(basic_ostream<_CharT, _Traits>& __os, const bitset<_Nb>& __x); - --#elif ! defined ( __STL_USE_NO_IOSTREAMS ) -+#elif ! defined ( _STLP_USE_NO_IOSTREAMS ) - -+// (reg) For Watcom IO, this tells if ostream class is in .exe or in .dll - template --istream& __STL_CALL --operator>>(istream& __is, bitset<_Nb>& __x); -+_ISTREAM_DLL& _STLP_CALL -+operator>>(_ISTREAM_DLL& __is, bitset<_Nb>& __x); - - template --inline ostream& __STL_CALL operator<<(ostream& __os, const bitset<_Nb>& __x) { -+inline _OSTREAM_DLL& _STLP_CALL operator<<(_OSTREAM_DLL& __os, const bitset<_Nb>& __x) { - string __tmp; - __x._M_copy_to_string(__tmp); - return __os << __tmp; -@@ -748,20 +745,21 @@ - - #endif - --# endif /* __STL_NON_TYPE_TMPL_PARAM_BUG */ -+# endif /* _STLP_NON_TYPE_TMPL_PARAM_BUG */ - - # undef bitset - --__STL_END_NAMESPACE -+ -+_STLP_END_NAMESPACE - - # undef __BITS_PER_WORD - # undef __BITSET_WORDS - --# if !defined (__STL_LINK_TIME_INSTANTIATION) -+# if !defined (_STLP_LINK_TIME_INSTANTIATION) - # include - # endif - --#endif /* __SGI_STL_BITSET_H */ -+#endif /* _STLP_BITSET_H */ - - - // Local Variables: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_bvector.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_bvector.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_bvector.h Sat Feb 24 10:44:44 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_bvector.h Sun Aug 11 18:59:24 2002 -@@ -27,24 +27,16 @@ - * You should not attempt to use it directly. - */ - --#ifndef __SGI_STL_INTERNAL_BVECTOR_H --#define __SGI_STL_INTERNAL_BVECTOR_H -+#ifndef _STLP_INTERNAL_BVECTOR_H -+#define _STLP_INTERNAL_BVECTOR_H - --#define __WORD_BIT (int(CHAR_BIT*sizeof(unsigned int))) -- --# ifndef __SGI_STL_INTERNAL_ALLOC_H --# include --# endif -- --# ifndef __SGI_STL_INTERNAL_ITERATOR_H --# include -+#ifndef _STLP_INTERNAL_VECTOR_H -+# include - # endif - --# ifndef __STL_RANGE_ERRORS_H --# include --# endif -+#define __WORD_BIT (int(CHAR_BIT*sizeof(unsigned int))) - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - struct _Bit_reference { - unsigned int* _M_p; -@@ -61,7 +53,7 @@ - else *_M_p &= ~_M_mask; - return *this; - } -- _Bit_reference& operator=(const _Bit_reference& __x) -+ _Bit_reference& operator=(const _Bit_reference& __x) - { return *this = bool(__x); } - bool operator==(const _Bit_reference& __x) const - { return bool(*this) == bool(__x); } -@@ -71,27 +63,9 @@ - void flip() { *_M_p ^= _M_mask; } - }; - --__STL_END_NAMESPACE -- --# if defined (__SGI_STL_NO_ARROW_OPERATOR) && ! defined (__STL_NO_PROXY_ARROW_OPERATOR) -- --__STL_TEMPLATE_NULL struct __arrow_op_dispatch<_Bit_reference, _Bit_reference*> { -- __arrow_op_dispatch(_Bit_reference) {} -- __arrow_op_dummy operator ->() const { return __arrow_op_dummy(); } --}; -- --__STL_TEMPLATE_NULL struct __arrow_op_dispatch { -- __arrow_op_dispatch(bool) {} -- __arrow_op_dummy operator ->() const { return __arrow_op_dummy(); } --}; -- --# endif -- --__STL_BEGIN_NAMESPACE -- --inline void swap(_Bit_reference __x, _Bit_reference __y) -+inline void swap(_Bit_reference __x, _Bit_reference& __y) - { -- bool __tmp = __x; -+ bool __tmp = (bool)__x; - __x = __y; - __y = __tmp; - } -@@ -103,7 +77,7 @@ - typedef ptrdiff_t difference_type; - - unsigned int* _M_p; -- unsigned int _M_offset; -+ unsigned int _M_offset; - - void _M_bump_up() { - if (_M_offset++ == __WORD_BIT - 1) { -@@ -121,6 +95,8 @@ - - _Bit_iterator_base() : _M_p(0), _M_offset(0) {} - _Bit_iterator_base(unsigned int* __x, unsigned int __y) : _M_p(__x), _M_offset(__y) {} -+ // _Bit_iterator_base( const _Bit_iterator_base& __x) : _M_p(__x._M_p), _M_offset(__x._M_offset) {} -+ // _Bit_iterator_base& operator = ( const _Bit_iterator_base& __x) { _M_p = __x._M_p ; _M_offset = __x._M_offset ; return *this; } - - void _M_advance (difference_type __i) { - difference_type __n = __i + _M_offset; -@@ -138,24 +114,24 @@ - } - }; - --inline bool __STL_CALL operator==(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) { -+inline bool _STLP_CALL operator==(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) { - return __y._M_p == __x._M_p && __y._M_offset == __x._M_offset; - } --inline bool __STL_CALL operator!=(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) { -+inline bool _STLP_CALL operator!=(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) { - return __y._M_p != __x._M_p || __y._M_offset != __x._M_offset; - } - --inline bool __STL_CALL operator<(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) { -+inline bool _STLP_CALL operator<(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) { - return __x._M_p < __y._M_p || (__x._M_p == __y._M_p && __x._M_offset < __y._M_offset); - } - --inline bool __STL_CALL operator>(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) { -+inline bool _STLP_CALL operator>(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) { - return operator <(__y , __x); - } --inline bool __STL_CALL operator<=(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) { -+inline bool _STLP_CALL operator<=(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) { - return !(__y < __x); - } --inline bool __STL_CALL operator>=(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) { -+inline bool _STLP_CALL operator>=(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) { - return !(__x < __y); - } - -@@ -164,8 +140,6 @@ - { - typedef _Ref reference; - typedef _Ptr pointer; -- // typedef _Bit_iter<_Bit_reference, _Bit_reference*> iterator; -- // typedef _Bit_iter const_iterator; - typedef _Bit_iter<_Ref, _Ptr> _Self; - typedef random_access_iterator_tag iterator_category; - typedef bool value_type; -@@ -174,8 +148,13 @@ - - _Bit_iter(unsigned int* __x, unsigned int __y) : _Bit_iterator_base(__x, __y) {} - _Bit_iter() {} -+ - _Bit_iter(const _Bit_iter<_Bit_reference, _Bit_reference*>& __x): - _Bit_iterator_base((const _Bit_iterator_base&)__x) {} -+ -+ // _Self& operator = (const _Bit_iter<_Bit_reference, _Bit_reference*>& __x) -+ // { (_Bit_iterator_base&)*this = (const _Bit_iterator_base&)__x; return *this; } -+ - reference operator*() const { - return _Bit_reference(_M_p, 1UL << _M_offset); - } -@@ -220,25 +199,21 @@ - }; - - template --inline _Bit_iter<_Ref,_Ptr> __STL_CALL -+inline _Bit_iter<_Ref,_Ptr> _STLP_CALL - operator+(ptrdiff_t __n, const _Bit_iter<_Ref, _Ptr>& __x) { - return __x + __n; - } - --# ifdef __STL_USE_OLD_HP_ITERATOR_QUERIES --inline random_access_iterator_tag --__ITERATOR_CATEGORY(const _Bit_iterator_base&) {return random_access_iterator_tag();} --inline ptrdiff_t* --__DISTANCE_TYPE(const _Bit_iterator_base&) {return (ptrdiff_t*)0;} --inline bool* __VALUE_TYPE(const _Bit_iter<_Bit_reference, _Bit_reference*>&) {return (bool*)0;} --inline bool* __VALUE_TYPE(const _Bit_iter&) {return (bool*)0;} -+# ifdef _STLP_USE_OLD_HP_ITERATOR_QUERIES -+inline random_access_iterator_tag iterator_category(const _Bit_iterator_base&) {return random_access_iterator_tag();} -+inline ptrdiff_t* distance_type(const _Bit_iterator_base&) {return (ptrdiff_t*)0;} -+inline bool* value_type(const _Bit_iter<_Bit_reference, _Bit_reference*>&) {return (bool*)0;} -+inline bool* value_type(const _Bit_iter&) {return (bool*)0;} - # endif - - typedef _Bit_iter _Bit_const_iterator; - typedef _Bit_iter<_Bit_reference, _Bit_reference*> _Bit_iterator; - -- -- - // Bit-vector base class, which encapsulates the difference between - // old SGI-style allocators and standard-conforming allocators. - -@@ -247,15 +222,18 @@ - class _Bvector_base - { - public: -+ _STLP_FORCE_ALLOCATORS(bool, _Alloc) - typedef typename _Alloc_traits::allocator_type allocator_type; - typedef unsigned int __chunk_type; - typedef typename _Alloc_traits<__chunk_type, - _Alloc>::allocator_type __chunk_allocator_type; - allocator_type get_allocator() const { -- return __STL_CONVERT_ALLOCATOR((const __chunk_allocator_type&)_M_end_of_storage, bool); -+ return _STLP_CONVERT_ALLOCATOR((const __chunk_allocator_type&)_M_end_of_storage, bool); - } -+ static allocator_type __get_dfl_allocator() { return allocator_type(); } -+ - _Bvector_base(const allocator_type& __a) -- : _M_start(), _M_finish(), _M_end_of_storage(__STL_CONVERT_ALLOCATOR(__a, __chunk_type), -+ : _M_start(), _M_finish(), _M_end_of_storage(_STLP_CONVERT_ALLOCATOR(__a, __chunk_type), - (__chunk_type*)0) { - } - ~_Bvector_base() { _M_deallocate(); -@@ -273,7 +251,7 @@ - - _Bit_iterator _M_start; - _Bit_iterator _M_finish; -- _STL_alloc_proxy<__chunk_type*, __chunk_type, __chunk_allocator_type> _M_end_of_storage; -+ _STLP_alloc_proxy<__chunk_type*, __chunk_type, __chunk_allocator_type> _M_end_of_storage; - }; - - -@@ -282,30 +260,33 @@ - // compiler support. Otherwise, we define a class bit_vector which uses - // the default allocator. - --#if defined(__STL_CLASS_PARTIAL_SPECIALIZATION) \ -- && !defined(__STL_PARTIAL_SPECIALIZATION_BUG) && ! defined(__STL_NO_BOOL) --# define __SGI_STL_VECBOOL_TEMPLATE -+#if defined(_STLP_CLASS_PARTIAL_SPECIALIZATION) && ! defined(_STLP_NO_BOOL) && ! defined (__SUNPRO_CC) -+# define _STLP_VECBOOL_TEMPLATE - # define __BVEC_TMPL_HEADER template - #else --# undef __SGI_STL_VECBOOL_TEMPLATE --# ifdef __STL_NO_BOOL -+# undef _STLP_VECBOOL_TEMPLATE -+# ifdef _STLP_NO_BOOL - # define __BVEC_TMPL_HEADER - # else --# define __BVEC_TMPL_HEADER __STL_TEMPLATE_NULL -+# define __BVEC_TMPL_HEADER _STLP_TEMPLATE_NULL -+# endif -+# if !(defined(__MRC__)||defined(__SC__)) //*TY 12/17/2000 - -+# define _Alloc _STLP_DEFAULT_ALLOCATOR(bool) -+# else -+# define _Alloc allocator - # endif --# define _Alloc __STL_DEFAULT_ALLOCATOR(bool) - #endif - --#ifdef __STL_NO_BOOL -+#ifdef _STLP_NO_BOOL - # define __BVECTOR_QUALIFIED bit_vector - # define __BVECTOR bit_vector - #else --# ifdef __SGI_STL_VECBOOL_TEMPLATE -+# ifdef _STLP_VECBOOL_TEMPLATE - # define __BVECTOR_QUALIFIED __WORKAROUND_DBG_RENAME(vector) - # else - # define __BVECTOR_QUALIFIED __WORKAROUND_DBG_RENAME(vector) > - # endif --#ifdef __STL_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS -+#if defined (_STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS) - # define __BVECTOR __BVECTOR_QUALIFIED - #else - # define __BVECTOR __WORKAROUND_DBG_RENAME(vector) -@@ -331,93 +312,81 @@ - typedef _Bit_iterator iterator; - typedef _Bit_const_iterator const_iterator; - --#if defined ( __STL_CLASS_PARTIAL_SPECIALIZATION ) && \ -- ! defined (__STL_PARTIAL_SPECIALIZATION_BUG) -- typedef __STLPORT_STD::reverse_iterator const_reverse_iterator; -- typedef __STLPORT_STD::reverse_iterator reverse_iterator; --#else /* __STL_CLASS_PARTIAL_SPECIALIZATION */ --# if defined (__STL_MSVC50_COMPATIBILITY) -- typedef __STLPORT_STD::reverse_iterator const_reverse_iterator; -+ typedef _STLP_STD::reverse_iterator reverse_iterator; -+#else /* _STLP_CLASS_PARTIAL_SPECIALIZATION */ -+# if defined (_STLP_MSVC50_COMPATIBILITY) -+ typedef _STLP_STD::reverse_iterator const_reverse_iterator; -- typedef __STLPORT_STD::reverse_iterator reverse_iterator; - # else -- typedef __STLPORT_STD::reverse_iterator const_reverse_iterator; -- typedef __STLPORT_STD::reverse_iterator -+ typedef _STLP_STD::reverse_iterator - reverse_iterator; - # endif --#endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */ -+#endif /* _STLP_CLASS_PARTIAL_SPECIALIZATION */ - --# ifdef __SGI_STL_VECBOOL_TEMPLATE -+# ifdef _STLP_VECBOOL_TEMPLATE - typedef typename _Bvector_base<_Alloc >::allocator_type allocator_type; - typedef typename _Bvector_base<_Alloc >::__chunk_type __chunk_type ; - # else - typedef _Bvector_base<_Alloc >::allocator_type allocator_type; -- typedef _Bvector_base<_Alloc >::__chunk_type __chunk_type ; -+ typedef _Bvector_base<_Alloc >::__chunk_type __chunk_type ; - # endif - --#if defined( __STL_HAS_NAMESPACES ) -- __STL_USING_BASE_MEMBER _Bvector_base<_Alloc >::get_allocator; --protected: -- __STL_USING_BASE_MEMBER _Bvector_base<_Alloc >::_M_bit_alloc; -- __STL_USING_BASE_MEMBER _Bvector_base<_Alloc >::_M_deallocate; -- __STL_USING_BASE_MEMBER _Bvector_base<_Alloc >::_M_start; -- __STL_USING_BASE_MEMBER _Bvector_base<_Alloc >::_M_finish; -- __STL_USING_BASE_MEMBER _Bvector_base<_Alloc >::_M_end_of_storage; --#endif /* __STL_HAS_NAMESPACES */ -- - protected: - - void _M_initialize(size_type __n) { -- unsigned int* __q = _M_bit_alloc(__n); -- _M_end_of_storage._M_data = __q + (__n + __WORD_BIT - 1)/__WORD_BIT; -- _M_start = iterator(__q, 0); -- _M_finish = _M_start + difference_type(__n); -+ unsigned int* __q = this->_M_bit_alloc(__n); -+ this->_M_end_of_storage._M_data = __q + (__n + __WORD_BIT - 1)/__WORD_BIT; -+ this->_M_start = iterator(__q, 0); -+ this->_M_finish = this->_M_start + difference_type(__n); - } - void _M_insert_aux(iterator __position, bool __x) { -- if (_M_finish._M_p != _M_end_of_storage._M_data) { -- copy_backward(__position, _M_finish, _M_finish + 1); -+ if (this->_M_finish._M_p != this->_M_end_of_storage._M_data) { -+ __copy_backward(__position, this->_M_finish, this->_M_finish + 1, random_access_iterator_tag(), (difference_type*)0 ); - *__position = __x; -- ++_M_finish; -+ ++this->_M_finish; - } - else { - size_type __len = size() ? 2 * size() : __WORD_BIT; -- unsigned int* __q = _M_bit_alloc(__len); -+ unsigned int* __q = this->_M_bit_alloc(__len); - iterator __i = copy(begin(), __position, iterator(__q, 0)); - *__i++ = __x; -- _M_finish = copy(__position, end(), __i); -- _M_deallocate(); -- _M_end_of_storage._M_data = __q + (__len + __WORD_BIT - 1)/__WORD_BIT; -- _M_start = iterator(__q, 0); -+ this->_M_finish = copy(__position, end(), __i); -+ this->_M_deallocate(); -+ this->_M_end_of_storage._M_data = __q + (__len + __WORD_BIT - 1)/__WORD_BIT; -+ this->_M_start = iterator(__q, 0); - } - } - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - template - void _M_initialize_range(_InputIterator __first, _InputIterator __last, -- input_iterator_tag) { -- _M_start = iterator(); -- _M_finish = iterator(); -- _M_end_of_storage._M_data = 0; -+ const input_iterator_tag &) { -+ this->_M_start = iterator(); -+ this->_M_finish = iterator(); -+ this->_M_end_of_storage._M_data = 0; - for ( ; __first != __last; ++__first) - push_back(*__first); - } - - template - void _M_initialize_range(_ForwardIterator __first, _ForwardIterator __last, -- forward_iterator_tag) { -- size_type __n = 0; -- distance(__first, __last, __n); -+ const forward_iterator_tag &) { -+ size_type __n = distance(__first, __last); - _M_initialize(__n); - // copy(__first, __last, _M_start); -- copy(__first, __last, _M_start); // dwa 12/22/99 -- resolving ambiguous reference. -+ copy(__first, __last, this->_M_start); // dwa 12/22/99 -- resolving ambiguous reference. - } - - template - void _M_insert_range(iterator __pos, - _InputIterator __first, _InputIterator __last, -- input_iterator_tag) { -+ const input_iterator_tag &) { - for ( ; __first != __last; ++__first) { - __pos = insert(__pos, *__first); - ++__pos; -@@ -427,35 +396,34 @@ - template - void _M_insert_range(iterator __position, - _ForwardIterator __first, _ForwardIterator __last, -- forward_iterator_tag) { -+ const forward_iterator_tag &) { - if (__first != __last) { -- size_type __n = 0; -- distance(__first, __last, __n); -+ size_type __n = distance(__first, __last); - if (capacity() - size() >= __n) { -- copy_backward(__position, end(), _M_finish + difference_type(__n)); -+ __copy_backward(__position, end(), this->_M_finish + difference_type(__n), random_access_iterator_tag(), (difference_type*)0 ); - copy(__first, __last, __position); -- _M_finish += difference_type(__n); -+ this->_M_finish += difference_type(__n); - } - else { -- size_type __len = size() + max(size(), __n); -- unsigned int* __q = _M_bit_alloc(__len); -+ size_type __len = size() + (max)(size(), __n); -+ unsigned int* __q = this->_M_bit_alloc(__len); - iterator __i = copy(begin(), __position, iterator(__q, 0)); - __i = copy(__first, __last, __i); -- _M_finish = copy(__position, end(), __i); -- _M_deallocate(); -- _M_end_of_storage._M_data = __q + (__len + __WORD_BIT - 1)/__WORD_BIT; -- _M_start = iterator(__q, 0); -+ this->_M_finish = copy(__position, end(), __i); -+ this->_M_deallocate(); -+ this->_M_end_of_storage._M_data = __q + (__len + __WORD_BIT - 1)/__WORD_BIT; -+ this->_M_start = iterator(__q, 0); - } - } - } - --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - public: -- iterator begin() { return _M_start; } -- const_iterator begin() const { return _M_start; } -- iterator end() { return _M_finish; } -- const_iterator end() const { return _M_finish; } -+ iterator begin() { return this->_M_start; } -+ const_iterator begin() const { return this->_M_start; } -+ iterator end() { return this->_M_finish; } -+ const_iterator end() const { return this->_M_finish; } - - reverse_iterator rbegin() { return reverse_iterator(end()); } - const_reverse_iterator rbegin() const { -@@ -469,7 +437,7 @@ - size_type size() const { return size_type(end() - begin()); } - size_type max_size() const { return size_type(-1); } - size_type capacity() const { -- return size_type(const_iterator(_M_end_of_storage._M_data, 0) - begin()); -+ return size_type(const_iterator(this->_M_end_of_storage._M_data, 0) - begin()); - } - bool empty() const { return begin() == end(); } - reference operator[](size_type __n) -@@ -487,44 +455,43 @@ - const_reference at(size_type __n) const - { _M_range_check(__n); return (*this)[__n]; } - -- explicit __BVECTOR(const allocator_type& __a = -- allocator_type()) -+ explicit __BVECTOR(const allocator_type& __a = allocator_type()) - : _Bvector_base<_Alloc >(__a) {} - -- __BVECTOR(size_type __n, bool __value, -+ __BVECTOR(size_type __n, bool __val, - const allocator_type& __a = - allocator_type()) - : _Bvector_base<_Alloc >(__a) - { - _M_initialize(__n); -- fill(_M_start._M_p, (__chunk_type*)_M_end_of_storage._M_data, __value ? ~0 : 0); -+ fill(this->_M_start._M_p, (__chunk_type*)(this->_M_end_of_storage._M_data), __val ? ~0 : 0); - } - - explicit __BVECTOR(size_type __n) - : _Bvector_base<_Alloc >(allocator_type()) - { - _M_initialize(__n); -- fill(_M_start._M_p, (__chunk_type*)_M_end_of_storage._M_data, 0); -+ fill(this->_M_start._M_p, (__chunk_type*)(this->_M_end_of_storage._M_data), 0); - } - - __BVECTOR(const _Self& __x) : _Bvector_base<_Alloc >(__x.get_allocator()) { - _M_initialize(__x.size()); -- copy(__x.begin(), __x.end(), _M_start); -+ copy(__x.begin(), __x.end(), this->_M_start); - } - --#if defined (__STL_MEMBER_TEMPLATES) && !(defined (__GNUC__) && __GNUC_MINOR__ < 90) -+#if defined (_STLP_MEMBER_TEMPLATES) - template -- void _M_initialize_dispatch(_Integer __n, _Integer __x, __true_type) { -+ void _M_initialize_dispatch(_Integer __n, _Integer __x, const __true_type&) { - _M_initialize(__n); -- fill(_M_start._M_p, _M_end_of_storage._M_data, __x ? ~0 : 0); -+ fill(this->_M_start._M_p, this->_M_end_of_storage._M_data, __x ? ~0 : 0); - } - - template - void _M_initialize_dispatch(_InputIterator __first, _InputIterator __last, -- __false_type) { -- _M_initialize_range(__first, __last, __ITERATOR_CATEGORY(__first)); -+ const __false_type&) { -+ _M_initialize_range(__first, __last, _STLP_ITERATOR_CATEGORY(__first, _InputIterator)); - } -- -+# ifdef _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS - // Check whether it's an integral type. If so, it's not an iterator. - template - __BVECTOR(_InputIterator __first, _InputIterator __last) -@@ -533,46 +500,44 @@ - typedef typename _Is_integer<_InputIterator>::_Integral _Integral; - _M_initialize_dispatch(__first, __last, _Integral()); - } -+# endif - template - __BVECTOR(_InputIterator __first, _InputIterator __last, -- const allocator_type& __a) -+ const allocator_type& __a _STLP_ALLOCATOR_TYPE_DFL) - : _Base(__a) - { - typedef typename _Is_integer<_InputIterator>::_Integral _Integral; - _M_initialize_dispatch(__first, __last, _Integral()); - } -- --#else /* __STL_MEMBER_TEMPLATES */ -+#else /* _STLP_MEMBER_TEMPLATES */ - __BVECTOR(const_iterator __first, const_iterator __last, - const allocator_type& __a = allocator_type()) - : _Bvector_base<_Alloc >(__a) - { -- size_type __n = 0; -- distance(__first, __last, __n); -+ size_type __n = distance(__first, __last); - _M_initialize(__n); -- copy(__first, __last, _M_start); -+ copy(__first, __last, this->_M_start); - } - __BVECTOR(const bool* __first, const bool* __last, - const allocator_type& __a = allocator_type()) - : _Bvector_base<_Alloc >(__a) - { -- size_type __n = 0; -- distance(__first, __last, __n); -+ size_type __n = distance(__first, __last); - _M_initialize(__n); -- copy(__first, __last, _M_start); -+ copy(__first, __last, this->_M_start); - } --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - ~__BVECTOR() { } - - __BVECTOR_QUALIFIED& operator=(const __BVECTOR_QUALIFIED& __x) { - if (&__x == this) return *this; - if (__x.size() > capacity()) { -- _M_deallocate(); -+ this->_M_deallocate(); - _M_initialize(__x.size()); - } - copy(__x.begin(), __x.end(), begin()); -- _M_finish = begin() + difference_type(__x.size()); -+ this->_M_finish = begin() + difference_type(__x.size()); - return *this; - } - -@@ -583,17 +548,17 @@ - - void _M_fill_assign(size_t __n, bool __x) { - if (__n > size()) { -- fill(_M_start._M_p, (__chunk_type*)_M_end_of_storage._M_data, __x ? ~0 : 0); -+ fill(this->_M_start._M_p, (__chunk_type*)(this->_M_end_of_storage._M_data), __x ? ~0 : 0); - insert(end(), __n - size(), __x); - } - else { - erase(begin() + __n, end()); -- fill(_M_start._M_p, (__chunk_type*)_M_end_of_storage._M_data, __x ? ~0 : 0); -+ fill(this->_M_start._M_p, (__chunk_type*)(this->_M_end_of_storage._M_data), __x ? ~0 : 0); - } - } - void assign(size_t __n, bool __x) { _M_fill_assign(__n, __x); } - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - - template - void assign(_InputIterator __first, _InputIterator __last) { -@@ -602,16 +567,16 @@ - } - - template -- void _M_assign_dispatch(_Integer __n, _Integer __val, __true_type) -+ void _M_assign_dispatch(_Integer __n, _Integer __val, const __true_type&) - { _M_fill_assign((size_t) __n, (bool) __val); } - - template -- void _M_assign_dispatch(_InputIter __first, _InputIter __last, __false_type) -- { _M_assign_aux(__first, __last, __ITERATOR_CATEGORY(__first)); } -+ void _M_assign_dispatch(_InputIter __first, _InputIter __last, const __false_type&) -+ { _M_assign_aux(__first, __last, _STLP_ITERATOR_CATEGORY(__first, _InputIter)); } - - template - void _M_assign_aux(_InputIterator __first, _InputIterator __last, -- input_iterator_tag) { -+ const input_iterator_tag &) { - iterator __cur = begin(); - for ( ; __first != __last && __cur != end(); ++__cur, ++__first) - *__cur = *__first; -@@ -623,9 +588,8 @@ - - template - void _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last, -- forward_iterator_tag) { -- size_type __len = 0; -- distance(__first, __last, __len); -+ const forward_iterator_tag &) { -+ size_type __len = distance(__first, __last); - if (__len < size()) - erase(copy(__first, __last, begin()), end()); - else { -@@ -636,16 +600,16 @@ - } - } - --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - void reserve(size_type __n) { - if (capacity() < __n) { -- unsigned int* __q = _M_bit_alloc(__n); -+ unsigned int* __q = this->_M_bit_alloc(__n); - _Bit_iterator __z(__q, 0); -- _M_finish = copy(begin(), end(), __z); -- _M_deallocate(); -- _M_start = iterator(__q, 0); -- _M_end_of_storage._M_data = __q + (__n + __WORD_BIT - 1)/__WORD_BIT; -+ this->_M_finish = copy(begin(), end(), __z); -+ this->_M_deallocate(); -+ this->_M_start = iterator(__q, 0); -+ this->_M_end_of_storage._M_data = __q + (__n + __WORD_BIT - 1)/__WORD_BIT; - } - } - -@@ -654,40 +618,42 @@ - reference back() { return *(end() - 1); } - const_reference back() const { return *(end() - 1); } - void push_back(bool __x) { -- if (_M_finish._M_p != _M_end_of_storage._M_data) { -- *_M_finish++ = __x; -+ if (this->_M_finish._M_p != this->_M_end_of_storage._M_data) { -+ *(this->_M_finish) = __x; -+ ++this->_M_finish; - } - else - _M_insert_aux(end(), __x); - } - void swap(__BVECTOR_QUALIFIED& __x) { -- __STLPORT_STD::swap(_M_start, __x._M_start); -- __STLPORT_STD::swap(_M_finish, __x._M_finish); -- __STLPORT_STD::swap(_M_end_of_storage._M_data, __x._M_end_of_storage._M_data); -+ _STLP_STD::swap(this->_M_start, __x._M_start); -+ _STLP_STD::swap(this->_M_finish, __x._M_finish); -+ _STLP_STD::swap(this->_M_end_of_storage, __x._M_end_of_storage); - } - iterator insert(iterator __position, bool __x = bool()) { - difference_type __n = __position - begin(); -- if (_M_finish._M_p != _M_end_of_storage._M_data && __position == end()) { -- *_M_finish++ = __x; -+ if (this->_M_finish._M_p != this->_M_end_of_storage._M_data && __position == end()) { -+ *(this->_M_finish) = __x; -+ ++this->_M_finish; - } - else - _M_insert_aux(__position, __x); - return begin() + __n; - } - --#if defined ( __STL_MEMBER_TEMPLATES ) && !(defined (__GNUC__) && (__GNUC_MINOR__ < 90)) -+#if defined ( _STLP_MEMBER_TEMPLATES ) - - template - void _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __x, -- __true_type) { -+ const __true_type&) { - _M_fill_insert(__pos, (size_type) __n, (bool) __x); - } - - template - void _M_insert_dispatch(iterator __pos, - _InputIterator __first, _InputIterator __last, -- __false_type) { -- _M_insert_range(__pos, __first, __last, __ITERATOR_CATEGORY(__first)); -+ const __false_type&) { -+ _M_insert_range(__pos, __first, __last, _STLP_ITERATOR_CATEGORY(__first, _InputIterator)); - } - - // Check whether it's an integral type. If so, it's not an iterator. -@@ -697,67 +663,67 @@ - typedef typename _Is_integer<_InputIterator>::_Integral _Is_Integral; - _M_insert_dispatch(__position, __first, __last, _Is_Integral()); - } --#else /* __STL_MEMBER_TEMPLATES */ -+#else /* _STLP_MEMBER_TEMPLATES */ - void insert(iterator __position, - const_iterator __first, const_iterator __last) { - if (__first == __last) return; -- size_type __n = 0; -- distance(__first, __last, __n); -+ size_type __n = distance(__first, __last); - if (capacity() - size() >= __n) { -- copy_backward(__position, end(), _M_finish + __n); -+ __copy_backward(__position, end(), this->_M_finish + __n, -+ random_access_iterator_tag(), (difference_type*)0 ); - copy(__first, __last, __position); -- _M_finish += __n; -+ this->_M_finish += __n; - } - else { -- size_type __len = size() + max(size(), __n); -- unsigned int* __q = _M_bit_alloc(__len); -+ size_type __len = size() + (max)(size(), __n); -+ unsigned int* __q = this->_M_bit_alloc(__len); - iterator __i = copy(begin(), __position, iterator(__q, 0)); - __i = copy(__first, __last, __i); -- _M_finish = copy(__position, end(), __i); -- _M_deallocate(); -- _M_end_of_storage._M_data = __q + (__len + __WORD_BIT - 1)/__WORD_BIT; -- _M_start = iterator(__q, 0); -+ this->_M_finish = copy(__position, end(), __i); -+ this->_M_deallocate(); -+ this->_M_end_of_storage._M_data = __q + (__len + __WORD_BIT - 1)/__WORD_BIT; -+ this->_M_start = iterator(__q, 0); - } - } - - void insert(iterator __position, const bool* __first, const bool* __last) { - if (__first == __last) return; -- size_type __n = 0; -- distance(__first, __last, __n); -+ size_type __n = distance(__first, __last); - if (capacity() - size() >= __n) { -- copy_backward(__position, end(), _M_finish + __n); -+ __copy_backward(__position, end(), this->_M_finish + __n, -+ random_access_iterator_tag(), (difference_type*)0 ); - copy(__first, __last, __position); -- _M_finish += __n; -+ this->_M_finish += __n; - } - else { -- size_type __len = size() + max(size(), __n); -- unsigned int* __q = _M_bit_alloc(__len); -+ size_type __len = size() + (max)(size(), __n); -+ unsigned int* __q = this->_M_bit_alloc(__len); - iterator __i = copy(begin(), __position, iterator(__q, 0)); - __i = copy(__first, __last, __i); -- _M_finish = copy(__position, end(), __i); -- _M_deallocate(); -- _M_end_of_storage._M_data = __q + (__len + __WORD_BIT - 1)/__WORD_BIT; -- _M_start = iterator(__q, 0); -+ this->_M_finish = copy(__position, end(), __i); -+ this->_M_deallocate(); -+ this->_M_end_of_storage._M_data = __q + (__len + __WORD_BIT - 1)/__WORD_BIT; -+ this->_M_start = iterator(__q, 0); - } - } --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - void _M_fill_insert(iterator __position, size_type __n, bool __x) { - if (__n == 0) return; - if (capacity() - size() >= __n) { -- copy_backward(__position, end(), _M_finish + difference_type(__n)); -+ __copy_backward(__position, end(), this->_M_finish + difference_type(__n), random_access_iterator_tag(), (difference_type*)0 ); - fill(__position, __position + difference_type(__n), __x); -- _M_finish += difference_type(__n); -+ this->_M_finish += difference_type(__n); - } - else { -- size_type __len = size() + max(size(), __n); -- unsigned int* __q = _M_bit_alloc(__len); -+ size_type __len = size() + (max)(size(), __n); -+ unsigned int* __q = this->_M_bit_alloc(__len); - iterator __i = copy(begin(), __position, iterator(__q, 0)); - fill_n(__i, __n, __x); -- _M_finish = copy(__position, end(), __i + difference_type(__n)); -- _M_deallocate(); -- _M_end_of_storage._M_data = __q + (__len + __WORD_BIT - 1)/__WORD_BIT; -- _M_start = iterator(__q, 0); -+ this->_M_finish = copy(__position, end(), __i + difference_type(__n)); -+ this->_M_deallocate(); -+ this->_M_end_of_storage._M_data = __q + (__len + __WORD_BIT - 1)/__WORD_BIT; -+ this->_M_start = iterator(__q, 0); - } - } - -@@ -766,16 +732,16 @@ - } - - void pop_back() { -- --_M_finish; -+ --this->_M_finish; - } - iterator erase(iterator __position) { - if (__position + 1 != end()) - copy(__position + 1, end(), __position); -- --_M_finish; -+ --this->_M_finish; - return __position; - } - iterator erase(iterator __first, iterator __last) { -- _M_finish = copy(__last, end(), __first); -+ this->_M_finish = copy(__last, end(), __first); - return __first; - } - void resize(size_type __new_size, bool __x = bool()) { -@@ -785,15 +751,14 @@ - insert(end(), __new_size - size(), __x); - } - void flip() { -- for (unsigned int* __p = _M_start._M_p; __p != _M_end_of_storage._M_data; ++__p) -+ for (unsigned int* __p = this->_M_start._M_p; __p != this->_M_end_of_storage._M_data; ++__p) - *__p = ~*__p; - } - - void clear() { erase(begin(), end()); } - }; - --# if defined ( __STL_NO_BOOL ) \ --|| defined (__HP_aCC) // fixed soon (03/17/2000) -+# if defined ( _STLP_NO_BOOL ) || defined (__HP_aCC) // fixed soon (03/17/2000) - - __BVEC_TMPL_HEADER - inline void swap(__BVECTOR_QUALIFIED& __x, __BVECTOR_QUALIFIED& __y) { -@@ -801,7 +766,7 @@ - } - - __BVEC_TMPL_HEADER --inline bool __STL_CALL -+inline bool _STLP_CALL - operator==(const __BVECTOR_QUALIFIED& __x, const __BVECTOR_QUALIFIED& __y) - { - return (__x.size() == __y.size() && -@@ -810,33 +775,33 @@ - - - __BVEC_TMPL_HEADER --inline bool __STL_CALL -+inline bool _STLP_CALL - operator<(const __BVECTOR_QUALIFIED& __x, const __BVECTOR_QUALIFIED& __y) - { - return lexicographical_compare(__x.begin(), __x.end(), - __y.begin(), __y.end()); - } - --__STL_RELOPS_OPERATORS( __BVEC_TMPL_HEADER, __BVECTOR_QUALIFIED ) -+_STLP_RELOPS_OPERATORS( __BVEC_TMPL_HEADER, __BVECTOR_QUALIFIED ) - - # endif /* NO_BOOL */ - --#if !defined (__STL_NO_BOOL) -+#if !defined (_STLP_NO_BOOL) - // This typedef is non-standard. It is provided for backward compatibility. - typedef __WORKAROUND_DBG_RENAME(vector) > bit_vector; - #endif - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - - #undef _Alloc --#undef __SGI_STL_VECBOOL_TEMPLATE -+#undef _STLP_VECBOOL_TEMPLATE - #undef __BVECTOR - #undef __BVECTOR_QUALIFIED - #undef __BVEC_TMPL_HEADER - - # undef __WORD_BIT - --#endif /* __SGI_STL_INTERNAL_BVECTOR_H */ -+#endif /* _STLP_INTERNAL_BVECTOR_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_check_config.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_check_config.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_check_config.h Sat Feb 24 10:44:44 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_check_config.h Sun Aug 11 18:59:24 2002 -@@ -1,7 +1,7 @@ - // This file is reserved to site configuration purpose - // and should NEVER be overridden by user - --# if defined ( __STL_NO_SGI_IOSTREAMS ) -+# if defined ( _STLP_NO_OWN_IOSTREAMS ) - - // User choose not to use SGI iostreams, which means no - // precompiled library will be used and he is free to override -@@ -10,6 +10,28 @@ - # else - - // The following will be defined in stl_config.h : --// # define __SGI_STL_OWN_IOSTREAMS 1 -+// # define _STLP_OWN_IOSTREAMS 1 - # endif - -+/* -+ * Consistency check : if we use SGI iostreams, we have to use consistent -+ * thread model (single-threaded or multi-threaded) with the compiled library -+ * -+ * Default is multithreaded build. If you want to build and use single-threaded -+ * STLport, please change _STLP_NOTHREADS configuration setting above and rebuild the library -+ * -+ */ -+ -+# if defined (_STLP_OWN_IOSTREAMS) \ -+ && !defined (_STLP_NO_THREADS) && !defined (_REENTRANT) -+ -+# if defined(_MSC_VER) && !defined(__MWERKS__) && !defined (__COMO__) && !defined(_MT) -+# error "Only multi-threaded runtime library may be linked with STLport!" -+# endif -+ -+// boris : you may change that to build non-threadsafe STLport library -+# if defined (__BUILDING_STLPORT) /* || defined (_STLP_DEBUG) */ -+# define _REENTRANT 1 -+# endif -+ -+# endif -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_cmath.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_cmath.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_cmath.h Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_cmath.h Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,208 @@ -+/* -+ * Copyright (c) 1999 -+ * Boris Fomitchev -+ * -+ * This material is provided "as is", with absolutely no warranty expressed -+ * or implied. Any use is at your own risk. -+ * -+ * Permission to use or copy this software for any purpose is hereby granted -+ * without fee, provided the above notices are retained on all copies. -+ * Permission to modify the code and to distribute modified code is granted, -+ * provided the above notices are retained, and a notice that the code was -+ * modified is included with the above copyright notice. -+ * -+ */ -+ -+#ifndef _STLP_CMATH_H_HEADER -+# define _STLP_CMATH_H_HEADER -+ -+ -+ -+_STLP_BEGIN_NAMESPACE -+ -+# ifdef _STLP_SAME_FUNCTION_NAME_RESOLUTION_BUG -+ -+// this proxy is needed for some compilers to resolve problems -+// calling sqrt() from within sqrt(), etc. -+template -+struct _STL_math_proxy { -+ static inline _Tp _do_abs(const _Tp& __x) { return _STLP_VENDOR_CSTD::fabs(__x); } -+ static inline _Tp _do_acos(const _Tp& __x) { return _STLP_VENDOR_CSTD::acos(__x); } -+ static inline _Tp _do_asin(const _Tp& __x) { return _STLP_VENDOR_CSTD::asin(__x); } -+ static inline _Tp _do_atan(const _Tp& __x) { return _STLP_VENDOR_CSTD::atan(__x); } -+ static inline _Tp _do_atan2(const _Tp& __x, const _Tp& __y) { return _STLP_VENDOR_CSTD::atan2(__x, __y); } -+ static inline _Tp _do_cos(const _Tp& __x) { return _STLP_VENDOR_CSTD::cos(__x); } -+ static inline _Tp _do_cosh(const _Tp& __x) { return _STLP_VENDOR_CSTD::cosh(__x); } -+ static inline _Tp _do_floor(const _Tp& __x) { return _STLP_VENDOR_CSTD::floor(__x); } -+ static inline _Tp _do_ceil(const _Tp& __x) { return _STLP_VENDOR_CSTD::ceil(__x); } -+ static inline _Tp _do_fmod(const _Tp& __x, const _Tp& __y) { return _STLP_VENDOR_CSTD::fmod(__x, __y); } -+ static inline _Tp _do_frexp(const _Tp& __x, int* __y) { return _STLP_VENDOR_CSTD::frexp(__x, __y); } -+ static inline _Tp _do_ldexp(const _Tp& __x, int __y) { return _STLP_VENDOR_CSTD::ldexp(__x, __y); } -+ static inline _Tp _do_modf(const _Tp& __x, double* __y) { return _STLP_VENDOR_CSTD::modf(__x, __y); } -+ static inline _Tp _do_log(const _Tp& __x) { return _STLP_VENDOR_CSTD::log(__x); } -+ static inline _Tp _do_log10(const _Tp& __x) { return _STLP_VENDOR_CSTD::log10(__x); } -+ static inline _Tp _do_pow(const _Tp& __x, const _Tp& __y) { return _STLP_VENDOR_CSTD::pow(__x, __y); } -+ static inline _Tp _do_pow(const _Tp& __x, int __y) { return _STLP_VENDOR_CSTD::pow(__x, __y); } -+ static inline _Tp _do_sin(const _Tp& __x) { return _STLP_VENDOR_CSTD::sin(__x); } -+ static inline _Tp _do_sinh(const _Tp& __x) { return _STLP_VENDOR_CSTD::sinh(__x); } -+ -+ static inline _Tp _do_sqrt(const _Tp& __x) { return _STLP_VENDOR_CSTD::sqrt(__x); } -+ static inline _Tp _do_tan(const _Tp& __x) { return _STLP_VENDOR_CSTD::tan(__x); } -+ static inline _Tp _do_tanh(const _Tp& __x) { return _STLP_VENDOR_CSTD::tanh(__x); } -+ static inline _Tp _do_exp(const _Tp& __x) { return _STLP_VENDOR_CSTD::exp(__x); } -+ static inline _Tp _do_hypot(const _Tp& __x, const _Tp& __y) { return _STLP_VENDOR_CSTD::hypot(__x, __y); } -+}; -+ -+# define _STLP_DO_ABS(_Tp) _STL_math_proxy<_Tp>::_do_abs -+# define _STLP_DO_ACOS(_Tp) _STL_math_proxy<_Tp>::_do_acos -+# define _STLP_DO_ASIN(_Tp) _STL_math_proxy<_Tp>::_do_asin -+# define _STLP_DO_ATAN(_Tp) _STL_math_proxy<_Tp>::_do_atan -+# define _STLP_DO_ATAN2(_Tp) _STL_math_proxy<_Tp>::_do_atan2 -+# define _STLP_DO_COS(_Tp) _STL_math_proxy<_Tp>::_do_cos -+# define _STLP_DO_COSH(_Tp) _STL_math_proxy<_Tp>::_do_cosh -+# define _STLP_DO_FLOOR(_Tp) _STL_math_proxy<_Tp>::_do_floor -+# define _STLP_DO_CEIL(_Tp) _STL_math_proxy<_Tp>::_do_ceil -+# define _STLP_DO_FMOD(_Tp) _STL_math_proxy<_Tp>::_do_fmod -+# define _STLP_DO_FREXP(_Tp) _STL_math_proxy<_Tp>::_do_frexp -+# define _STLP_DO_LDEXP(_Tp) _STL_math_proxy<_Tp>::_do_ldexp -+# define _STLP_DO_MODF(_Tp) _STL_math_proxy<_Tp>::_do_modf -+# define _STLP_DO_LOG(_Tp) _STL_math_proxy<_Tp>::_do_log -+# define _STLP_DO_LOG10(_Tp) _STL_math_proxy<_Tp>::_do_log10 -+# define _STLP_DO_POW(_Tp) _STL_math_proxy<_Tp>::_do_pow -+# define _STLP_DO_SIN(_Tp) _STL_math_proxy<_Tp>::_do_sin -+# define _STLP_DO_SINH(_Tp) _STL_math_proxy<_Tp>::_do_sinh -+# define _STLP_DO_SQRT(_Tp) _STL_math_proxy<_Tp>::_do_sqrt -+# define _STLP_DO_TAN(_Tp) _STL_math_proxy<_Tp>::_do_tan -+# define _STLP_DO_TANH(_Tp) _STL_math_proxy<_Tp>::_do_tanh -+# define _STLP_DO_EXP(_Tp) _STL_math_proxy<_Tp>::_do_exp -+# define _STLP_DO_HYPOT(_Tp) _STL_math_proxy<_Tp>::_do_hypot -+# else -+ -+# define _STLP_DO_ABS(_Tp) _STLP_VENDOR_CSTD::fabs -+# define _STLP_DO_ACOS(_Tp) _STLP_VENDOR_CSTD::acos -+# define _STLP_DO_ASIN(_Tp) _STLP_VENDOR_CSTD::asin -+# define _STLP_DO_ATAN(_Tp) _STLP_VENDOR_CSTD::atan -+# define _STLP_DO_ATAN2(_Tp) _STLP_VENDOR_CSTD::atan2 -+# define _STLP_DO_COS(_Tp) _STLP_VENDOR_CSTD::cos -+# define _STLP_DO_COSH(_Tp) _STLP_VENDOR_CSTD::cosh -+# define _STLP_DO_FLOOR(_Tp) _STLP_VENDOR_CSTD::floor -+# define _STLP_DO_CEIL(_Tp) _STLP_VENDOR_CSTD::ceil -+# define _STLP_DO_FMOD(_Tp) _STLP_VENDOR_CSTD::fmod -+# define _STLP_DO_FREXP(_Tp) _STLP_VENDOR_CSTD::frexp -+# define _STLP_DO_LDEXP(_Tp) _STLP_VENDOR_CSTD::ldexp -+# define _STLP_DO_MODF(_Tp) _STLP_VENDOR_CSTD::modf -+# define _STLP_DO_LOG(_Tp) _STLP_VENDOR_CSTD::log -+# define _STLP_DO_LOG10(_Tp) _STLP_VENDOR_CSTD::log10 -+# define _STLP_DO_POW(_Tp) _STLP_VENDOR_CSTD::pow -+# define _STLP_DO_SIN(_Tp) _STLP_VENDOR_CSTD::sin -+# define _STLP_DO_SINH(_Tp) _STLP_VENDOR_CSTD::sinh -+# define _STLP_DO_SQRT(_Tp) _STLP_VENDOR_CSTD::sqrt -+# define _STLP_DO_TAN(_Tp) _STLP_VENDOR_CSTD::tan -+# define _STLP_DO_TANH(_Tp) _STLP_VENDOR_CSTD::tanh -+# define _STLP_DO_EXP(_Tp) _STLP_VENDOR_CSTD::exp -+# if defined (__GNUC__) || defined ( __IBMCPP__ ) || defined (__SUNPRO_CC) -+# define _STLP_DO_HYPOT(_Tp) ::hypot -+# else -+# define _STLP_DO_HYPOT(_Tp) _STLP_VENDOR_CSTD::hypot -+# endif -+ -+# endif -+ -+_STLP_END_NAMESPACE -+ -+# if defined (_STLP_HAS_NO_NEW_C_HEADERS) || defined(_STLP_MSVC) || defined (__ICL) -+ -+#if ! defined (_STLP_USE_NEW_C_HEADERS) -+ -+_STLP_BEGIN_NAMESPACE -+ -+# ifndef _STLP_HAS_NATIVE_FLOAT_ABS -+inline double abs(double __x) { return _STLP_DO_ABS(double)(__x); } -+inline float abs (float __x) { return _STLP_DO_ABS(float)(__x); } -+# endif -+ -+inline double pow(double __x, int __y) { return _STLP_DO_POW(double)(__x, __y); } -+inline float acos (float __x) { return _STLP_DO_ACOS(float)(__x); } -+inline float asin (float __x) { return _STLP_DO_ASIN(float)(__x); } -+inline float atan (float __x) { return _STLP_DO_ATAN(float)(__x); } -+inline float atan2(float __x, float __y) { return _STLP_DO_ATAN2(float)(__x, __y); } -+inline float ceil (float __x) { return _STLP_DO_CEIL(float)(__x); } -+inline float cos (float __x) { return _STLP_DO_COS(float)(__x); } -+inline float cosh (float __x) { return _STLP_DO_COSH(float)(__x); } -+inline float exp (float __x) { return _STLP_DO_EXP(float)(__x); } -+# ifdef _STLP_USE_NAMESPACES -+inline float fabs (float __x) { return _STLP_DO_ABS(float)(__x); } -+# endif -+inline float floor(float __x) { return _STLP_DO_FLOOR(float)(__x); } -+inline float fmod (float __x, float __y) { return _STLP_DO_FMOD(float)(__x, __y); } -+inline float frexp(float __x, int* __y) { return _STLP_DO_FREXP(float)(__x, __y); } -+inline float ldexp(float __x, int __y) { return _STLP_DO_LDEXP(float)(__x, __y); } -+// fbp : float versions are not always available -+#if !defined(_STLP_VENDOR_LONG_DOUBLE_MATH) //*ty 11/25/2001 - -+inline float modf (float __x, float* __y) { -+ double __dd[2]; -+ double __res = _STLP_DO_MODF(double)((double)__x, __dd); -+ __y[0] = (float)__dd[0] ; __y[1] = (float)__dd[1]; -+ return (float)__res; -+} -+#else //*ty 11/25/2001 - i.e. for apple SCpp -+inline float modf (float __x, float* __y) { -+ long double __dd[2]; -+ long double __res = _STLP_DO_MODF(long double)((long double)__x, __dd); -+ __y[0] = (float)__dd[0] ; __y[1] = (float)__dd[1]; -+ return (float)__res; -+} -+#endif //*ty 11/25/2001 - -+ -+inline float log (float __x) { return _STLP_DO_LOG(float)(__x); } -+inline float log10(float __x) { return _STLP_DO_LOG10(float)(__x); } -+inline float pow (float __x, float __y) { return _STLP_DO_POW(float)(__x, __y); } -+inline float pow (float __x, int __y) { return _STLP_DO_POW(float)(__x, __y); } -+inline float sin (float __x) { return _STLP_DO_SIN(float)(__x); } -+inline float sinh (float __x) { return _STLP_DO_SINH(float)(__x); } -+inline float sqrt (float __x) { return _STLP_DO_SQRT(float)(__x); } -+inline float tan (float __x) { return _STLP_DO_TAN(float)(__x); } -+inline float tanh (float __x) { return _STLP_DO_TANH(float)(__x); } -+ -+# if ! (defined (_STLP_NO_LONG_DOUBLE) || defined(_STLP_VENDOR_LONG_DOUBLE_MATH)) -+ -+#if !defined (__MVS__) -+inline long double abs (long double __x) { return _STLP_DO_ABS(long double)((double)__x); } -+#endif -+inline long double acos (long double __x) { return _STLP_DO_ACOS(long double)(__x); } -+inline long double asin (long double __x) { return _STLP_DO_ASIN(long double)(__x); } -+inline long double atan (long double __x) { return _STLP_DO_ATAN(long double)(__x); } -+inline long double atan2(long double __x, long double __y) { return _STLP_DO_ATAN2(long double)(__x, __y); } -+inline long double ceil (long double __x) { return _STLP_DO_CEIL(long double)(__x); } -+inline long double cos (long double __x) { return _STLP_DO_COS(long double)(__x); } -+inline long double cosh (long double __x) { return _STLP_DO_COSH(long double)(__x); } -+inline long double exp (long double __x) { return _STLP_DO_EXP(long double)(__x); } -+inline long double fabs (long double __x) { return _STLP_DO_ABS(long double)(__x); } -+inline long double floor(long double __x) { return _STLP_DO_FLOOR(long double)(__x); } -+inline long double fmod (long double __x, long double __y) { return _STLP_DO_FMOD(long double)(__x, __y); } -+inline long double frexp(long double __x, int* __y) { return _STLP_DO_FREXP(long double)(__x, __y); } -+inline long double ldexp(long double __x, int __y) { return _STLP_DO_LDEXP(long double)(__x, __y); } -+// fbp : long double versions are not available -+inline long double modf (long double __x, long double* __y) { -+ double __dd[2]; -+ double __res = _STLP_DO_MODF(double)((double)__x, __dd); -+ __y[0] = (long double)__dd[0] ; __y[1] = (long double)__dd[1]; -+ return (long double)__res; -+} -+inline long double log (long double __x) { return _STLP_DO_LOG(long double)(__x); } -+inline long double log10(long double __x) { return _STLP_DO_LOG10(long double)(__x); } -+inline long double pow (long double __x, long double __y) { return _STLP_DO_POW(long double)(__x, __y); } -+inline long double pow (long double __x, int __y) { return _STLP_DO_POW(long double)(__x, __y); } -+inline long double sin (long double __x) { return _STLP_DO_SIN(long double)(__x); } -+inline long double sinh (long double __x) { return _STLP_DO_SINH(long double)(__x); } -+inline long double sqrt (long double __x) { return _STLP_DO_SQRT(long double)(__x); } -+inline long double tan (long double __x) { return _STLP_DO_TAN(long double)(__x); } -+inline long double tanh (long double __x) { return _STLP_DO_TANH(long double)(__x); } -+# endif -+ -+_STLP_END_NAMESPACE -+ -+# endif /* NEW_C_HEADERS */ -+# endif /* NEW_C_HEADERS */ -+ -+#endif /* CMATH_H */ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_codecvt.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_codecvt.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_codecvt.h Sat Feb 24 10:44:44 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_codecvt.h Sun Aug 11 18:59:24 2002 -@@ -20,39 +20,40 @@ - // file directly. - - --#ifndef __SGI_STL_INTERNAL_CODECVT_H --#define __SGI_STL_INTERNAL_CODECVT_H -+#ifndef _STLP_INTERNAL_CODECVT_H -+#define _STLP_INTERNAL_CODECVT_H - --#include --#include -+# ifndef _STLP_C_LOCALE_H -+# include -+# endif -+# ifndef _STLP_INTERNAL_LOCALE_H -+# include -+# endif - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - --class __STL_CLASS_DECLSPEC codecvt_base { -+class _STLP_CLASS_DECLSPEC codecvt_base { - public: - enum result {ok, partial, error, noconv}; - }; - - template --class __STL_CLASS_DECLSPEC codecvt {}; -+class codecvt {}; - - template --class __STL_CLASS_DECLSPEC codecvt_byname {}; -+class codecvt_byname {}; - --__STL_TEMPLATE_NULL --class __STL_CLASS_DECLSPEC codecvt -+_STLP_TEMPLATE_NULL -+class _STLP_CLASS_DECLSPEC codecvt - : public locale::facet, public codecvt_base - { -- friend class _Locale_impl; --#if defined(__MRC__) || defined(__SC__) //*TY 04/29/2000 - added workaround for mpw -- typedef locale::facet _facet; //*TY 04/29/2000 - they forget to look into nested class for the ctor. --#endif //*TY 04/29/2000 - -+ friend class _Locale; - public: - typedef char intern_type; - typedef char extern_type; - typedef mbstate_t state_type; - -- explicit codecvt(size_t __refs = 0); -+ explicit codecvt(size_t __refs = 0) : _BaseFacet(__refs) {} - - result out(mbstate_t __state, - const char* __from, -@@ -82,18 +83,18 @@ - __to, __to_limit, __to_next); - } - -- int encoding() const __STL_NOTHROW { return do_encoding(); } -+ int encoding() const _STLP_NOTHROW { return do_encoding(); } - -- bool always_noconv() const __STL_NOTHROW { return do_always_noconv(); } -+ bool always_noconv() const _STLP_NOTHROW { return do_always_noconv(); } - - int length(const mbstate_t& __state, - const char* __from, const char* __end, - size_t __max) const - { return do_length(__state, __from, __end, __max); } - -- int max_length() const __STL_NOTHROW { return do_max_length(); } -+ int max_length() const _STLP_NOTHROW { return do_max_length(); } - -- __STL_STATIC_MEMBER_DECLSPEC static locale::id id; -+ _STLP_STATIC_MEMBER_DECLSPEC static locale::id id; - - protected: - ~codecvt(); -@@ -119,34 +120,31 @@ - char* /* __to_limit */, - char*& __to_next) const; - -- virtual int do_encoding() const __STL_NOTHROW; -- virtual bool do_always_noconv() const __STL_NOTHROW; -+ virtual int do_encoding() const _STLP_NOTHROW; -+ virtual bool do_always_noconv() const _STLP_NOTHROW; - virtual int do_length(const mbstate_t& __state, - const char* __from, - const char* __end, - size_t __max) const; -- virtual int do_max_length() const __STL_NOTHROW; -+ virtual int do_max_length() const _STLP_NOTHROW; - private: - codecvt(const codecvt&); - codecvt& operator =(const codecvt&); - }; - --# ifndef __STL_NO_WCHAR_T -+# ifndef _STLP_NO_WCHAR_T - --__STL_TEMPLATE_NULL --class __STL_CLASS_DECLSPEC codecvt -+_STLP_TEMPLATE_NULL -+class _STLP_CLASS_DECLSPEC codecvt - : public locale::facet, public codecvt_base - { -- friend class _Locale_impl; --#if defined(__MRC__) || defined(__SC__) //*TY 04/29/2000 - added workaround for mpw -- typedef locale::facet _facet; //*TY 04/29/2000 - they forget to look into nested class for the ctor. --#endif //*TY 04/29/2000 - -+ friend class _Locale; - public: - typedef wchar_t intern_type; - typedef char extern_type; - typedef mbstate_t state_type; - -- explicit codecvt(size_t __refs = 0); -+ explicit codecvt(size_t __refs = 0) : _BaseFacet(__refs) {} - - result out(mbstate_t __state, - const wchar_t* __from, -@@ -177,9 +175,9 @@ - __to, __to_limit, __to_next); - } - -- int encoding() const __STL_NOTHROW { return do_encoding(); } -+ int encoding() const _STLP_NOTHROW { return do_encoding(); } - -- bool always_noconv() const __STL_NOTHROW { return do_always_noconv(); } -+ bool always_noconv() const _STLP_NOTHROW { return do_always_noconv(); } - - int length(const mbstate_t& __state, - const char* __from, -@@ -187,9 +185,9 @@ - size_t __max) const - { return do_length(__state, __from, __end, __max); } - -- int max_length() const __STL_NOTHROW { return do_max_length(); } -+ int max_length() const _STLP_NOTHROW { return do_max_length(); } - -- __STL_STATIC_MEMBER_DECLSPEC static locale::id id; -+ _STLP_STATIC_MEMBER_DECLSPEC static locale::id id; - - protected: - ~codecvt(); -@@ -215,16 +213,16 @@ - char* __to_limit, - char*& __to_next) const; - -- virtual int do_encoding() const __STL_NOTHROW; -+ virtual int do_encoding() const _STLP_NOTHROW; - -- virtual bool do_always_noconv() const __STL_NOTHROW; -+ virtual bool do_always_noconv() const _STLP_NOTHROW; - - virtual int do_length(const mbstate_t& __state, - const char* __from, - const char* __end, - size_t __max) const; - -- virtual int do_max_length() const __STL_NOTHROW; -+ virtual int do_max_length() const _STLP_NOTHROW; - - private: - codecvt(const codecvt&); -@@ -233,18 +231,19 @@ - - # endif - --__STL_TEMPLATE_NULL --class __STL_CLASS_DECLSPEC codecvt_byname -+_STLP_TEMPLATE_NULL -+class _STLP_CLASS_DECLSPEC codecvt_byname - : public codecvt { - public: - explicit codecvt_byname(const char* __name, size_t __refs = 0); -+ ~codecvt_byname(); - private: - codecvt_byname(const codecvt_byname&); - codecvt_byname& operator =(const codecvt_byname&); - }; - --# ifndef __STL_NO_WCHAR_T --__STL_TEMPLATE_NULL -+# ifndef _STLP_NO_WCHAR_T -+_STLP_TEMPLATE_NULL - class codecvt_byname - : public codecvt - { -@@ -275,16 +274,16 @@ - char* __to_limit, - char*& __to_next) const; - -- virtual int do_encoding() const __STL_NOTHROW; -+ virtual int do_encoding() const _STLP_NOTHROW; - -- virtual bool do_always_noconv() const __STL_NOTHROW; -+ virtual bool do_always_noconv() const _STLP_NOTHROW; - - virtual int do_length(const mbstate_t& __state, - const char* __from, - const char* __end, - size_t __max) const; - -- virtual int do_max_length() const __STL_NOTHROW; -+ virtual int do_max_length() const _STLP_NOTHROW; - - private: - _Locale_ctype* _M_ctype; -@@ -294,9 +293,9 @@ - - # endif - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --#endif /* __SGI_STL_INTERNAL_CODECVT_H */ -+#endif /* _STLP_INTERNAL_CODECVT_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_collate.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_collate.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_collate.h Sat Feb 24 10:44:44 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_collate.h Sun Aug 11 18:59:24 2002 -@@ -19,43 +19,50 @@ - // standard library headers. You should not attempt to use this header - // file directly. - --#ifndef __SGI_STL_INTERNAL_COLLATE_H --#define __SGI_STL_INTERNAL_COLLATE_H -+#ifndef _STLP_INTERNAL_COLLATE_H -+#define _STLP_INTERNAL_COLLATE_H - --#include --#include --#include -+#ifndef _STLP_C_LOCALE_H -+# include -+#endif -+ -+#ifndef _STLP_INTERNAL_LOCALE_H -+# include -+#endif -+ -+#ifndef _STLP_STRING_H -+# include -+#endif - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - - template class collate {}; - template class collate_byname {}; - --__STL_TEMPLATE_NULL --class __STL_CLASS_DECLSPEC collate : public locale::facet -+_STLP_TEMPLATE_NULL -+class _STLP_CLASS_DECLSPEC collate : public locale::facet - { -- friend class _Locale_impl; --#if defined(__MRC__) || defined(__SC__) //*TY 04/29/2000 - added workaround for mpw -- typedef locale::facet _facet; //*TY 04/29/2000 - they forget to look into nested class for the ctor. --#endif //*TY 04/29/2000 - -+ friend class _Locale; - public: - typedef char char_type; - typedef string string_type; - -- explicit collate(size_t __refs = 0); -+ explicit collate(size_t __refs = 0) : _BaseFacet(__refs) {} - - int compare(const char* __low1, const char* __high1, - const char* __low2, const char* __high2) const { - return do_compare( __low1, __high1, __low2, __high2); - } - -- string_type transform(const char* __low, const char* __high) const; -+ string_type transform(const char* __low, const char* __high) const { -+ return do_transform(__low, __high); -+ } - - long hash(const char* __low, const char* __high) const - { return do_hash(__low, __high); } - -- __STL_STATIC_MEMBER_DECLSPEC static locale::id id; -+ _STLP_STATIC_MEMBER_DECLSPEC static locale::id id; - - protected: - ~collate(); -@@ -69,32 +76,31 @@ - collate& operator =(const collate&); - }; - --# ifndef __STL_NO_WCHAR_T -+# ifndef _STLP_NO_WCHAR_T - --__STL_TEMPLATE_NULL --class __STL_CLASS_DECLSPEC collate : public locale::facet -+_STLP_TEMPLATE_NULL -+class _STLP_CLASS_DECLSPEC collate : public locale::facet - { -- friend class _Locale_impl; --#if defined(__MRC__) || defined(__SC__) //*TY 04/29/2000 - added workaround for mpw -- typedef locale::facet _facet; //*TY 04/29/2000 - they forget to look into nested class for the ctor. --#endif //*TY 04/29/2000 - -+ friend class _Locale; - public: - typedef wchar_t char_type; - typedef wstring string_type; - -- explicit collate(size_t __refs = 0); -+ explicit collate(size_t __refs = 0) : _BaseFacet(__refs) {} - - int compare(const wchar_t* __low1, const wchar_t* __high1, - const wchar_t* __low2, const wchar_t* __high2) const { - return do_compare( __low1, __high1, __low2, __high2); - } - -- string_type transform(const wchar_t* __low, const wchar_t* __high) const; -+ string_type transform(const wchar_t* __low, const wchar_t* __high) const { -+ return do_transform(__low, __high); -+ } - - long hash(const wchar_t* __low, const wchar_t* __high) const - { return do_hash(__low, __high); } - -- __STL_STATIC_MEMBER_DECLSPEC static locale::id id; -+ _STLP_STATIC_MEMBER_DECLSPEC static locale::id id; - - protected: - ~collate(); -@@ -110,8 +116,8 @@ - - # endif /* NO_WCHAR_T */ - --__STL_TEMPLATE_NULL --class __STL_CLASS_DECLSPEC collate_byname: public collate -+_STLP_TEMPLATE_NULL -+class _STLP_CLASS_DECLSPEC collate_byname: public collate - { - public: - explicit collate_byname(const char* __name, size_t __refs = 0); -@@ -129,10 +135,10 @@ - collate_byname& operator =(const collate_byname&); - }; - --# ifndef __STL_NO_WCHAR_T -+# ifndef _STLP_NO_WCHAR_T - --__STL_TEMPLATE_NULL --class __STL_CLASS_DECLSPEC collate_byname: public collate -+_STLP_TEMPLATE_NULL -+class _STLP_CLASS_DECLSPEC collate_byname: public collate - { - public: - explicit collate_byname(const char * __name, size_t __refs = 0); -@@ -153,9 +159,23 @@ - # endif /* NO_WCHAR_T */ - - --__STL_END_NAMESPACE -+template -+bool -+__locale_do_operator_call (const locale* __that, -+ const basic_string<_CharT, char_traits<_CharT>, allocator<_CharT> >& __x, -+ const basic_string<_CharT, char_traits<_CharT>, allocator<_CharT> >& __y) -+{ -+ collate<_CharT>* __f = (collate<_CharT>*)__that->_M_get_facet(collate<_CharT>::id); -+ if (!__f) -+ __that->_M_throw_runtime_error(); -+ return __f->compare(__x.data(), __x.data() + __x.size(), -+ __y.data(), __y.data() + __y.size()); -+ -+} -+ -+_STLP_END_NAMESPACE - --#endif /* __SGI_STL_INTERNAL_COLLATE_H */ -+#endif /* _STLP_INTERNAL_COLLATE_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_complex.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_complex.c ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_complex.c Sat Feb 24 10:44:45 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_complex.c Sun Aug 11 18:59:24 2002 -@@ -15,10 +15,20 @@ - * modified is included with the above copyright notice. - * - */ --#ifndef __STL_COMPLEX_C --#define __STL_COMPLEX_C -+#ifndef _STLP_COMPLEX_C -+#define _STLP_COMPLEX_C - --__STL_BEGIN_NAMESPACE -+# ifndef _STLP_internal_complex_h -+# include -+# endif -+ -+#include -+ -+#ifdef _STLP_USE_NEW_IOSTREAMS -+# include -+#endif -+ -+_STLP_BEGIN_NAMESPACE - - // Non-inline member functions. - -@@ -66,12 +76,12 @@ - - // I/O. - --#ifdef __STL_USE_NEW_IOSTREAMS -+#ifdef _STLP_USE_NEW_IOSTREAMS - - // Complex output, in the form (re,im). We use a two-step process - // involving stringstream so that we get the padding right. - template --basic_ostream<_CharT, _Traits>& __STL_CALL -+basic_ostream<_CharT, _Traits>& _STLP_CALL - operator<<(basic_ostream<_CharT, _Traits>& __os, const complex<_Tp>& __z) - { - basic_ostringstream<_CharT, _Traits, allocator<_CharT> > __tmp; -@@ -87,15 +97,16 @@ - // locale and the separator between real and imaginary parts does not. - - template --basic_istream<_CharT, _Traits>& __STL_CALL -+basic_istream<_CharT, _Traits>& _STLP_CALL - operator>>(basic_istream<_CharT, _Traits>& __is, complex<_Tp>& __z) - { - _Tp __re = 0; - _Tp __im = 0; - -- typedef ctype<_CharT> _Ctype; -- locale __loc = __is.getloc(); -- const _Ctype& __c_type = use_facet<_Ctype>(__loc); -+ // typedef ctype<_CharT> _Ctype; -+ // locale __loc = __is.getloc(); -+ //const _Ctype& __c_type = use_facet<_Ctype>(__loc); -+ const ctype<_CharT>& __c_type = *(const ctype<_CharT>*)__is._M_ctype_facet(); - - char __punct[4] = "(,)"; - _CharT __wpunct[3]; -@@ -122,16 +133,16 @@ - } - - --#else /* __STL_USE_NEW_IOSTREAMS */ -+#else /* _STLP_USE_NEW_IOSTREAMS */ - - template --ostream& __STL_CALL operator<<(ostream& s, const complex<_Tp>& __z) -+ostream& _STLP_CALL operator<<(ostream& s, const complex<_Tp>& __z) - { - return s << "( " << __z._M_re <<", " << __z._M_im <<")"; - } - - template --istream& __STL_CALL operator>>(istream& s, complex<_Tp>& a) -+istream& _STLP_CALL operator>>(istream& s, complex<_Tp>& a) - { - _Tp re = 0, im = 0; - char c = 0; -@@ -151,8 +162,8 @@ - return s; - } - --#endif /* __STL_USE_NEW_IOSTREAMS */ -+#endif /* _STLP_USE_NEW_IOSTREAMS */ - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --#endif /* __STL_COMPLEX_C */ -+#endif /* _STLP_COMPLEX_C */ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_complex.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_complex.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_complex.h Sat Feb 24 10:44:45 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_complex.h Sun Aug 11 18:59:24 2002 -@@ -15,8 +15,8 @@ - * modified is included with the above copyright notice. - * - */ --#ifndef __sgi_internal_complex_h --#define __sgi_internal_complex_h -+#ifndef _STLP_internal_complex_h -+#define _STLP_internal_complex_h - - // This header declares the template class complex, as described in - // in the draft C++ standard. Single-precision complex numbers -@@ -26,42 +26,20 @@ - // Note that the template class complex is declared within namespace - // std, as called for by the draft C++ standard. - --#if !(defined(__MRC__)||defined(__SC__)) //*TY 05/01/2000 - added workaround for mpw - #include --#else //*TY 05/01/2000 - --#include //*TY 05/01/2000 - mpw confuse on the using declarations for the math functions --# define __STL_DO_ABS(_Tp) ::fabs --# define __STL_DO_ACOS(_Tp) ::acos --# define __STL_DO_ASIN(_Tp) ::asin --# define __STL_DO_ATAN(_Tp) ::atan --# define __STL_DO_ATAN2(_Tp) ::atan2 --# define __STL_DO_COS(_Tp) ::cos --# define __STL_DO_COSH(_Tp) ::cosh --# define __STL_DO_LOG(_Tp) ::log --# define __STL_DO_LOG10(_Tp) ::log10 --# define __STL_DO_POW(_Tp) ::pow --# define __STL_DO_SIN(_Tp) ::sin --# define __STL_DO_SINH(_Tp) ::sinh --# define __STL_DO_SQRT(_Tp) ::sqrt --# define __STL_DO_TAN(_Tp) ::tan --# define __STL_DO_TANH(_Tp) ::tanh --# define __STL_DO_EXP(_Tp) ::exp --# define __STL_DO_HYPOT(_Tp) ::hypot --#endif //*TY 05/01/2000 - --// #include --#include --#include -+#include - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - --#if !defined(__STL_NO_COMPLEX_SPECIALIZATIONS) //*TY 02/25/2000 - added for MPW compiler workaround -+#if !defined(_STLP_NO_COMPLEX_SPECIALIZATIONS) //*TY 02/25/2000 - added for MPW compiler workaround - - template struct complex; - --__STL_TEMPLATE_NULL struct __STL_CLASS_DECLSPEC complex; --__STL_TEMPLATE_NULL struct __STL_CLASS_DECLSPEC complex; --__STL_TEMPLATE_NULL struct __STL_CLASS_DECLSPEC complex; -- -+_STLP_TEMPLATE_NULL struct _STLP_CLASS_DECLSPEC complex; -+_STLP_TEMPLATE_NULL struct _STLP_CLASS_DECLSPEC complex; -+# ifndef _STLP_NO_LONG_DOUBLE -+_STLP_TEMPLATE_NULL struct _STLP_CLASS_DECLSPEC complex; -+# endif - # endif - - template -@@ -84,7 +62,7 @@ - return *this; - } - --#if defined (__STL_MEMBER_TEMPLATES) && ( defined (__STL_FUNCTION_TMPL_PARTIAL_ORDER) || defined(__STL_NO_COMPLEX_SPECIALIZATIONS)) -+#if defined (_STLP_MEMBER_TEMPLATES) && ( defined (_STLP_FUNCTION_TMPL_PARTIAL_ORDER) || defined(_STLP_NO_COMPLEX_SPECIALIZATIONS)) - template - explicit complex(const complex<_Tp2>& __z) - : _M_re(__z._M_re), _M_im(__z._M_im) {} -@@ -95,7 +73,7 @@ - _M_im = __z._M_im; - return *this; - } --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - // Element access. - value_type real() const { return _M_re; } -@@ -129,15 +107,15 @@ - - // Arithmetic op= operations involving two complex arguments. - -- static void __STL_CALL _div(const value_type& __z1_r, const value_type& __z1_i, -+ static void _STLP_CALL _div(const value_type& __z1_r, const value_type& __z1_i, - const value_type& __z2_r, const value_type& __z2_i, - value_type& __res_r, value_type& __res_i); - -- static void __STL_CALL _div(const value_type& __z1_r, -+ static void _STLP_CALL _div(const value_type& __z1_r, - const value_type& __z2_r, const value_type& __z2_i, - value_type& __res_r, value_type& __res_i); - --#if defined ( __STL_MEMBER_TEMPLATES ) // && defined (__STL_FUNCTION_TMPL_PARTIAL_ORDER) -+#if defined ( _STLP_MEMBER_TEMPLATES ) // && defined (_STLP_FUNCTION_TMPL_PARTIAL_ORDER) - - template _Self& operator+= (const complex<_Tp2>& __z) { - _M_re += __z._M_re; -@@ -168,7 +146,7 @@ - return *this; - } - --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - _Self& operator+= (const _Self& __z) { - _M_re += __z._M_re; -@@ -204,56 +182,53 @@ - value_type _M_im; - }; - --#if !defined(__STL_NO_COMPLEX_SPECIALIZATIONS) //*TY 02/25/2000 - added for MPW compiler workaround -+#if !defined(_STLP_NO_COMPLEX_SPECIALIZATIONS) //*TY 02/25/2000 - added for MPW compiler workaround - // Explicit specializations for float, double, long double. The only - // reason for these specializations is to enable automatic conversions - // from complex to complex, and complex to - // complex. - - --__STL_TEMPLATE_NULL --struct __STL_CLASS_DECLSPEC complex { -+_STLP_TEMPLATE_NULL -+struct _STLP_CLASS_DECLSPEC complex { - typedef float value_type; - typedef complex _Self; --# if 0 - // Constructors, destructor, assignment operator. -- complex() : _M_re(0), _M_im(0) {} -- complex(value_type __x) -- : _M_re(__x), _M_im(0) {} --# endif -- complex(const value_type& __x = 0.0, const value_type& __y = 0.0) -+ -+ complex(value_type __x = 0.0, value_type __y = 0.0) - : _M_re(__x), _M_im(__y) {} - - complex(const complex& __z) : _M_re(__z._M_re), _M_im(__z._M_im) {} - -- explicit inline complex(const complex& __z); -- explicit inline complex(const complex& __z); -- -+ inline explicit complex(const complex& __z); -+# ifndef _STLP_NO_LONG_DOUBLE -+ inline explicit complex(const complex& __z); -+# endif - // Element access. - value_type real() const { return _M_re; } - value_type imag() const { return _M_im; } - - // Arithmetic op= operations involving one real argument. - -- _Self& operator= (const value_type& __x) { -+ _Self& operator= (value_type __x) { - _M_re = __x; - _M_im = 0; - return *this; - } -- _Self& operator+= (const value_type& __x) { -+ _Self& operator+= (value_type __x) { - _M_re += __x; - return *this; - } -- _Self& operator-= (const value_type& __x) { -+ _Self& operator-= (value_type __x) { - _M_re -= __x; - return *this; - } -- _Self& operator*= (const value_type& __x) { -+ _Self& operator*= (value_type __x) { - _M_re *= __x; - _M_im *= __x; - return *this; - } -- _Self& operator/= (const value_type& __x) { -+ _Self& operator/= (value_type __x) { - _M_re /= __x; - _M_im /= __x; - return *this; -@@ -261,15 +236,15 @@ - - // Arithmetic op= operations involving two complex arguments. - -- static void __STL_CALL _div(const float& __z1_r, const float& __z1_i, -+ static void _STLP_CALL _div(const float& __z1_r, const float& __z1_i, - const float& __z2_r, const float& __z2_i, - float& __res_r, float& __res_i); - -- static void __STL_CALL _div(const float& __z1_r, -+ static void _STLP_CALL _div(const float& __z1_r, - const float& __z2_r, const float& __z2_i, - float& __res_r, float& __res_i); - --#if defined (__STL_MEMBER_TEMPLATES) // && defined (__STL_FUNCTION_TMPL_PARTIAL_ORDER) -+#if defined (_STLP_MEMBER_TEMPLATES) - - template - complex& operator=(const complex<_Tp2>& __z) { -@@ -311,7 +286,7 @@ - return *this; - } - --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - _Self& operator=(const _Self& __z) { - _M_re = __z._M_re; -@@ -353,49 +328,46 @@ - value_type _M_im; - }; - --__STL_TEMPLATE_NULL struct __STL_CLASS_DECLSPEC complex { -+_STLP_TEMPLATE_NULL struct _STLP_CLASS_DECLSPEC complex { - typedef double value_type; - typedef complex _Self; - --# if 0 - // Constructors, destructor, assignment operator. -- complex() : _M_re(0), _M_im(0) {} -- complex(value_type __x) -- : _M_re(__x), _M_im(0) {} --# endif -- complex(const value_type& __x = 0.0, const value_type& __y = 0.0) -+ -+ complex(value_type __x = 0.0, value_type __y = 0.0) - : _M_re(__x), _M_im(__y) {} - - complex(const complex& __z) - : _M_re(__z._M_re), _M_im(__z._M_im) {} - inline complex(const complex& __z); -+# ifndef _STLP_NO_LONG_DOUBLE - explicit inline complex(const complex& __z); -- -+# endif - // Element access. - value_type real() const { return _M_re; } - value_type imag() const { return _M_im; } - - // Arithmetic op= operations involving one real argument. - -- _Self& operator= (const value_type& __x) { -+ _Self& operator= (value_type __x) { - _M_re = __x; - _M_im = 0; - return *this; - } -- _Self& operator+= (const value_type& __x) { -+ _Self& operator+= (value_type __x) { - _M_re += __x; - return *this; - } -- _Self& operator-= (const value_type& __x) { -+ _Self& operator-= (value_type __x) { - _M_re -= __x; - return *this; - } -- _Self& operator*= (const value_type& __x) { -+ _Self& operator*= (value_type __x) { - _M_re *= __x; - _M_im *= __x; - return *this; - } -- _Self& operator/= (const value_type& __x) { -+ _Self& operator/= (value_type __x) { - _M_re /= __x; - _M_im /= __x; - return *this; -@@ -403,14 +375,14 @@ - - // Arithmetic op= operations involving two complex arguments. - -- static void __STL_CALL _div(const double& __z1_r, const double& __z1_i, -+ static void _STLP_CALL _div(const double& __z1_r, const double& __z1_i, - const double& __z2_r, const double& __z2_i, - double& __res_r, double& __res_i); -- static void __STL_CALL _div(const double& __z1_r, -+ static void _STLP_CALL _div(const double& __z1_r, - const double& __z2_r, const double& __z2_i, - double& __res_r, double& __res_i); - --#if defined (__STL_MEMBER_TEMPLATES) && defined (__STL_FUNCTION_TMPL_PARTIAL_ORDER) -+#if defined (_STLP_MEMBER_TEMPLATES) && defined (_STLP_FUNCTION_TMPL_PARTIAL_ORDER) - - template - complex& operator=(const complex<_Tp2>& __z) { -@@ -452,7 +424,7 @@ - return *this; - } - --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - _Self& operator=(const _Self& __z) { - _M_re = __z._M_re; -@@ -494,18 +466,14 @@ - value_type _M_im; - }; - -+# ifndef _STLP_NO_LONG_DOUBLE - --__STL_TEMPLATE_NULL struct __STL_CLASS_DECLSPEC complex { -+_STLP_TEMPLATE_NULL struct _STLP_CLASS_DECLSPEC complex { - typedef long double value_type; - typedef complex _Self; - - // Constructors, destructor, assignment operator. --# if 0 -- complex() : _M_re(0), _M_im(0) {} -- complex(const value_type& __x) -- : _M_re(__x), _M_im(0) {} --# endif -- complex(const value_type& __x = 0.0, const value_type& __y = 0.0) -+ complex(value_type __x = 0.0, value_type __y = 0.0) - : _M_re(__x), _M_im(__y) {} - - complex(const complex& __z) -@@ -519,25 +487,25 @@ - - // Arithmetic op= operations involving one real argument. - -- _Self& operator= (const value_type& __x) { -+ _Self& operator= (value_type __x) { - _M_re = __x; - _M_im = 0; - return *this; - } -- _Self& operator+= (const value_type& __x) { -+ _Self& operator+= (value_type __x) { - _M_re += __x; - return *this; - } -- _Self& operator-= (const value_type& __x) { -+ _Self& operator-= (value_type __x) { - _M_re -= __x; - return *this; - } -- _Self& operator*= (const value_type& __x) { -+ _Self& operator*= (value_type __x) { - _M_re *= __x; - _M_im *= __x; - return *this; - } -- _Self& operator/= (const value_type& __x) { -+ _Self& operator/= (value_type __x) { - _M_re /= __x; - _M_im /= __x; - return *this; -@@ -545,15 +513,15 @@ - - // Arithmetic op= operations involving two complex arguments. - -- static void __STL_CALL _div(const long double& __z1_r, const long double& __z1_i, -+ static void _STLP_CALL _div(const long double& __z1_r, const long double& __z1_i, - const long double& __z2_r, const long double& __z2_i, - long double& __res_r, long double& __res_i); - -- static void __STL_CALL _div(const long double& __z1_r, -+ static void _STLP_CALL _div(const long double& __z1_r, - const long double& __z2_r, const long double& __z2_i, - long double& __res_r, long double& __res_i); - --#if defined (__STL_MEMBER_TEMPLATES) && defined (__STL_FUNCTION_TMPL_PARTIAL_ORDER) -+#if defined (_STLP_MEMBER_TEMPLATES) && defined (_STLP_FUNCTION_TMPL_PARTIAL_ORDER) - - template - complex& operator=(const complex<_Tp2>& __z) { -@@ -595,7 +563,7 @@ - return *this; - } - --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - _Self& operator=(const _Self& __z) { - _M_re = __z._M_re; -@@ -637,138 +605,74 @@ - value_type _M_im; - }; - -+# endif /* _STLP_NO_LONG_DOUBLE */ -+ - // Converting constructors from one of these three specialized types - // to another. - - inline complex::complex(const complex& __z) - : _M_re(__z._M_re), _M_im(__z._M_im) {} --inline complex::complex(const complex& __z) -- : _M_re(__z._M_re), _M_im(__z._M_im) {} - inline complex::complex(const complex& __z) - : _M_re(__z._M_re), _M_im(__z._M_im) {} -+# ifndef _STLP_NO_LONG_DOUBLE -+inline complex::complex(const complex& __z) -+ : _M_re(__z._M_re), _M_im(__z._M_im) {} - inline complex::complex(const complex& __z) - : _M_re(__z._M_re), _M_im(__z._M_im) {} - inline complex::complex(const complex& __z) - : _M_re(__z._M_re), _M_im(__z._M_im) {} - inline complex::complex(const complex& __z) - : _M_re(__z._M_re), _M_im(__z._M_im) {} -+# endif - - # endif /* SPECIALIZATIONS */ - --__STL_END_NAMESPACE -- -- --#if defined (__sgi) && !defined(__GNUC__) -- --# define __STL_ABSF ::absf --# define __STL_ABSL ::absl --# define __STL_ATAN2F ::atan2f --# define __STL_ATAN2L ::atan2l --# define __STL_SINF ::sinf --# define __STL_SINL ::sinl --# define __STL_COSF ::cosf --# define __STL_COSL ::cosl --# define __STL_SQRTF ::sqrtf --# define __STL_SQRTL ::sqrtl --# define __STL_EXPF ::expf --# define __STL_EXPL ::expl --# define __STL_LOG10F ::log10f --# define __STL_LOG10L ::log10l --# define __STL_LOGF ::logf --# define __STL_LOGL ::logl --# define __STL_SINHF ::sinhf --# define __STL_SINHL ::sinhl --# define __STL_COSHF ::coshf --# define __STL_COSHL ::coshl --# define __STL_HYPOTF ::hypotf --// # define __STL_HYPOT ::hypot --# define __STL_HYPOTL ::hypotl --#else --# define __STL_ABSF (float)__STL_DO_ABS(double) --# define __STL_ABSL (long double)__STL_DO_ABS(double) --# define __STL_ATAN2F (float)__STL_DO_ATAN2(double) --# define __STL_ATAN2L (long double)__STL_DO_ATAN2(double) --# define __STL_SINF (float)__STL_DO_SIN(double) --# define __STL_SINL (long double)__STL_DO_SIN(double) --# define __STL_COSF (float)__STL_DO_COS(double) --# define __STL_COSL (long double)__STL_DO_COS(double) --# define __STL_SQRTF (float)__STL_DO_SQRT(double) --# define __STL_SQRTL (long double)__STL_DO_SQRT(double) --# define __STL_EXPF (float)__STL_DO_EXP(double) --# define __STL_EXPL (long double)__STL_DO_EXP(double) --# define __STL_LOG10F (float)__STL_DO_LOG10(double) --# define __STL_LOG10L (long double)__STL_DO_LOG10(double) --# define __STL_LOGF (float)__STL_DO_LOG(double) --# define __STL_LOGL (long double)__STL_DO_LOG(double) --# define __STL_SINHF (float)__STL_DO_SINH(double) --# define __STL_SINHL (long double)__STL_DO_SINH(double) --# define __STL_COSHF (float)__STL_DO_COSH(double) --# define __STL_COSHL (long double)__STL_DO_COSH(double) --# define __STL_HYPOTF (float)__STL_DO_HYPOT(double) --# define __STL_HYPOTL (long double)__STL_DO_HYPOT(double) --#endif -- --# define __STL_ABS (double)__STL_DO_ABS(double) --# define __STL_ATAN2 (double)__STL_DO_ATAN2(double) --# define __STL_SIN (double)__STL_DO_SIN(double) --# define __STL_COS (double)__STL_DO_COS(double) --# define __STL_SQRT (double)__STL_DO_SQRT(double) --# define __STL_EXP (double)__STL_DO_EXP(double) --# define __STL_LOG10 (double)__STL_DO_LOG10(double) --# define __STL_LOG (double)__STL_DO_LOG(double) --# define __STL_SINH (double)__STL_DO_SINH(double) --# define __STL_COSH (double)__STL_DO_COSH(double) --# define __STL_HYPOT __STL_DO_HYPOT(double) -- -- --__STL_BEGIN_NAMESPACE -- - // Unary non-member arithmetic operators. - - template --inline complex<_Tp> __STL_CALL operator+(const complex<_Tp>& __z) { -+inline complex<_Tp> _STLP_CALL operator+(const complex<_Tp>& __z) { - return __z; - } - - template --inline complex<_Tp> __STL_CALL operator-(const complex<_Tp>& __z) { -+inline complex<_Tp> _STLP_CALL operator-(const complex<_Tp>& __z) { - return complex<_Tp>(-__z._M_re, -__z._M_im); - } - - // Non-member arithmetic operations involving one real argument. - - template --inline complex<_Tp> __STL_CALL operator+(const _Tp& __x, const complex<_Tp>& __z) { -+inline complex<_Tp> _STLP_CALL operator+(const _Tp& __x, const complex<_Tp>& __z) { - return complex<_Tp>(__x + __z._M_re, __z._M_im); - } - - template --inline complex<_Tp> __STL_CALL operator+(const complex<_Tp>& __z, const _Tp& __x) { -+inline complex<_Tp> _STLP_CALL operator+(const complex<_Tp>& __z, const _Tp& __x) { - return complex<_Tp>(__z._M_re + __x, __z._M_im); - } - - template --inline complex<_Tp> __STL_CALL operator-(const _Tp& __x, const complex<_Tp>& __z) { -+inline complex<_Tp> _STLP_CALL operator-(const _Tp& __x, const complex<_Tp>& __z) { - return complex<_Tp>(__x - __z._M_re, -__z._M_im); - } - - template --inline complex<_Tp> __STL_CALL operator-(const complex<_Tp>& __z, const _Tp& __x) { -+inline complex<_Tp> _STLP_CALL operator-(const complex<_Tp>& __z, const _Tp& __x) { - return complex<_Tp>(__z._M_re - __x, __z._M_im); - } - - template --inline complex<_Tp> __STL_CALL operator*(const _Tp& __x, const complex<_Tp>& __z) { -+inline complex<_Tp> _STLP_CALL operator*(const _Tp& __x, const complex<_Tp>& __z) { - return complex<_Tp>(__x * __z._M_re, __x * __z._M_im); - } - - template --inline complex<_Tp> __STL_CALL operator*(const complex<_Tp>& __z, const _Tp& __x) { -+inline complex<_Tp> _STLP_CALL operator*(const complex<_Tp>& __z, const _Tp& __x) { - return complex<_Tp>(__z._M_re * __x, __z._M_im * __x); - } - - template --inline complex<_Tp> __STL_CALL operator/(const _Tp& __x, const complex<_Tp>& __z) { -+inline complex<_Tp> _STLP_CALL operator/(const _Tp& __x, const complex<_Tp>& __z) { - complex<_Tp> __result; - complex<_Tp>::_div(__x, - __z._M_re, __z._M_im, -@@ -777,33 +681,33 @@ - } - - template --inline complex<_Tp> __STL_CALL operator/(const complex<_Tp>& __z, const _Tp& __x) { -+inline complex<_Tp> _STLP_CALL operator/(const complex<_Tp>& __z, const _Tp& __x) { - return complex<_Tp>(__z._M_re / __x, __z._M_im / __x); - } - - // Non-member arithmetic operations involving two complex arguments - - template --inline complex<_Tp> __STL_CALL -+inline complex<_Tp> _STLP_CALL - operator+(const complex<_Tp>& __z1, const complex<_Tp>& __z2) { - return complex<_Tp>(__z1._M_re + __z2._M_re, __z1._M_im + __z2._M_im); - } - - template --inline complex<_Tp> __STL_CALL -+inline complex<_Tp> _STLP_CALL - operator-(const complex<_Tp>& __z1, const complex<_Tp>& __z2) { - return complex<_Tp>(__z1._M_re - __z2._M_re, __z1._M_im - __z2._M_im); - } - - template --inline complex<_Tp> __STL_CALL -+inline complex<_Tp> _STLP_CALL - operator*(const complex<_Tp>& __z1, const complex<_Tp>& __z2) { - return complex<_Tp>(__z1._M_re * __z2._M_re - __z1._M_im * __z2._M_im, - __z1._M_re * __z2._M_im + __z1._M_im * __z2._M_re); - } - - template --inline complex<_Tp> __STL_CALL -+inline complex<_Tp> _STLP_CALL - operator/(const complex<_Tp>& __z1, const complex<_Tp>& __z2) { - complex<_Tp> __result; - complex<_Tp>::_div(__z1._M_re, __z1._M_im, -@@ -815,270 +719,239 @@ - // Comparison operators. - - template --inline bool __STL_CALL operator==(const complex<_Tp>& __z1, const complex<_Tp>& __z2) { -+inline bool _STLP_CALL operator==(const complex<_Tp>& __z1, const complex<_Tp>& __z2) { - return __z1._M_re == __z2._M_re && __z1._M_im == __z2._M_im; - } - - template --inline bool __STL_CALL operator==(const complex<_Tp>& __z, const _Tp& __x) { -+inline bool _STLP_CALL operator==(const complex<_Tp>& __z, const _Tp& __x) { - return __z._M_re == __x && __z._M_im == 0; - } - - template --inline bool __STL_CALL operator==(const _Tp& __x, const complex<_Tp>& __z) { -+inline bool _STLP_CALL operator==(const _Tp& __x, const complex<_Tp>& __z) { - return __x == __z._M_re && 0 == __z._M_im; - } - --#ifdef __STL_FUNCTION_TMPL_PARTIAL_ORDER -+#ifdef _STLP_FUNCTION_TMPL_PARTIAL_ORDER - - template --inline bool __STL_CALL operator!=(const complex<_Tp>& __z1, const complex<_Tp>& __z2) { -+inline bool _STLP_CALL operator!=(const complex<_Tp>& __z1, const complex<_Tp>& __z2) { - return __z1._M_re != __z2._M_re || __z1._M_im != __z2._M_im; - } - --#endif /* __STL_FUNCTION_TMPL_PARTIAL_ORDER */ -+#endif /* _STLP_FUNCTION_TMPL_PARTIAL_ORDER */ - - template --inline bool __STL_CALL operator!=(const complex<_Tp>& __z, const _Tp& __x) { -+inline bool _STLP_CALL operator!=(const complex<_Tp>& __z, const _Tp& __x) { - return __z._M_re != __x || __z._M_im != 0; - } - - template --inline bool __STL_CALL operator!=(const _Tp& __x, const complex<_Tp>& __z) { -+inline bool _STLP_CALL operator!=(const _Tp& __x, const complex<_Tp>& __z) { - return __x != __z._M_re || 0 != __z._M_im; - } - - // Other basic arithmetic operations - - template --inline _Tp __STL_CALL real(const complex<_Tp>& __z) { -+inline _Tp _STLP_CALL real(const complex<_Tp>& __z) { - return __z._M_re; - } - - template --inline _Tp __STL_CALL imag(const complex<_Tp>& __z) { -+inline _Tp _STLP_CALL imag(const complex<_Tp>& __z) { - return __z._M_im; - } - --__STL_DECLSPEC float __STL_CALL abs(const complex&); --__STL_DECLSPEC double __STL_CALL abs(const complex&); --__STL_DECLSPEC float __STL_CALL arg(const complex&); --__STL_DECLSPEC double __STL_CALL arg(const complex&); --__STL_DECLSPEC complex __STL_CALL polar(const float& __rho, const float& __phi); --__STL_DECLSPEC complex __STL_CALL polar(const double& __rho, const double& __phi); -+_STLP_DECLSPEC float _STLP_CALL abs(const complex&); -+_STLP_DECLSPEC double _STLP_CALL abs(const complex&); -+_STLP_DECLSPEC float _STLP_CALL arg(const complex&); -+_STLP_DECLSPEC double _STLP_CALL arg(const complex&); -+_STLP_DECLSPEC complex _STLP_CALL polar(const float& __rho, const float& __phi); -+_STLP_DECLSPEC complex _STLP_CALL polar(const double& __rho, const double& __phi); - - --# ifdef __STL_LONG_DOUBLE --__STL_DECLSPEC long double __STL_CALL arg(const complex&); --__STL_DECLSPEC long double __STL_CALL abs(const complex&); --__STL_DECLSPEC complex __STL_CALL polar(const long double&, const long double&); -+# ifndef _STLP_NO_LONG_DOUBLE -+_STLP_DECLSPEC long double _STLP_CALL arg(const complex&); -+_STLP_DECLSPEC long double _STLP_CALL abs(const complex&); -+_STLP_DECLSPEC complex _STLP_CALL polar(const long double&, const long double&); - # endif - - template --_Tp __STL_CALL abs(const complex<_Tp>& __z) { -+_Tp _STLP_CALL abs(const complex<_Tp>& __z) { - return _Tp(abs(complex(double(__z.real()), double(__z.imag())))); - } - - template --_Tp __STL_CALL arg(const complex<_Tp>& __z) { -+_Tp _STLP_CALL arg(const complex<_Tp>& __z) { - return _Tp(arg(complex(double(__z.real()), double(__z.imag())))); - } - - template --inline _Tp __STL_CALL norm(const complex<_Tp>& __z) { -+inline _Tp _STLP_CALL norm(const complex<_Tp>& __z) { - return __z._M_re * __z._M_re + __z._M_im * __z._M_im; - } - - template --inline complex<_Tp> __STL_CALL conj(const complex<_Tp>& __z) { -+inline complex<_Tp> _STLP_CALL conj(const complex<_Tp>& __z) { - return complex<_Tp>(__z._M_re, -__z._M_im); - } - - template --complex<_Tp> __STL_CALL polar(const _Tp& __rho) { -+complex<_Tp> _STLP_CALL polar(const _Tp& __rho) { - return complex<_Tp>(__rho, 0); - } - - template --complex<_Tp> __STL_CALL polar(const _Tp& __rho, const _Tp& __phi) { -+complex<_Tp> _STLP_CALL polar(const _Tp& __rho, const _Tp& __phi) { - complex __tmp = polar(double(__rho), double(__phi)); - return complex<_Tp>(_Tp(__tmp.real()), _Tp(__tmp.imag())); - } - --#ifdef __STL_USE_NEW_IOSTREAMS -+#ifdef _STLP_USE_NEW_IOSTREAMS - - // Complex output, in the form (re,im). We use a two-step process - // involving stringstream so that we get the padding right. - template --basic_ostream<_CharT, _Traits>& __STL_CALL -+basic_ostream<_CharT, _Traits>& _STLP_CALL - operator<<(basic_ostream<_CharT, _Traits>& __os, const complex<_Tp>& __z); - - template --basic_istream<_CharT, _Traits>& __STL_CALL -+basic_istream<_CharT, _Traits>& _STLP_CALL - operator>>(basic_istream<_CharT, _Traits>& __is, complex<_Tp>& __z); - - // Specializations for narrow characters; lets us avoid widen. - --#ifdef __STL_FUNCTION_TMPL_PARTIAL_ORDER --# define __STL_OPERATOR_TEMPLATE --# else --# define __STL_OPERATOR_TEMPLATE __STL_TEMPLATE_NULL --#endif -- -- --__STL_OPERATOR_TEMPLATE --__STL_DECLSPEC basic_istream >& __STL_CALL -+_STLP_OPERATOR_TEMPLATE -+_STLP_DECLSPEC basic_istream >& _STLP_CALL - operator>>(basic_istream >& __is, complex& __z); - --__STL_OPERATOR_TEMPLATE --__STL_DECLSPEC basic_istream >& __STL_CALL -+_STLP_OPERATOR_TEMPLATE -+_STLP_DECLSPEC basic_istream >& _STLP_CALL - operator>>(basic_istream >& __is, complex& __z); - - --__STL_OPERATOR_TEMPLATE --__STL_DECLSPEC basic_ostream >& __STL_CALL -+_STLP_OPERATOR_TEMPLATE -+_STLP_DECLSPEC basic_ostream >& _STLP_CALL - operator<<(basic_ostream >& __is, const complex& __z); - --__STL_OPERATOR_TEMPLATE --__STL_DECLSPEC basic_ostream >& __STL_CALL -+_STLP_OPERATOR_TEMPLATE -+_STLP_DECLSPEC basic_ostream >& _STLP_CALL - operator<<(basic_ostream >& __is, const complex& __z); - --# ifdef __STL_LONG_DOUBLE -- --__STL_OPERATOR_TEMPLATE --__STL_DECLSPEC basic_ostream >& __STL_CALL --operator>>(basic_istream >& __is, const complex& __z); -- --__STL_OPERATOR_TEMPLATE --__STL_DECLSPEC basic_istream >& __STL_CALL --operator<<(basic_ostream >& __is, complex& __z); -+# if ! defined (_STLP_NO_LONG_DOUBLE) -+_STLP_OPERATOR_TEMPLATE -+_STLP_DECLSPEC basic_istream >& _STLP_CALL -+operator>>(basic_istream >& __is, complex& __z); -+ -+_STLP_OPERATOR_TEMPLATE -+_STLP_DECLSPEC basic_ostream >& _STLP_CALL -+operator<<(basic_ostream >& __is, const complex& __z); - - # endif - --# if defined (__STL_USE_TEMPLATE_EXPORT) && ! defined (__STL_NO_WCHAR_T) -+# if defined (_STLP_USE_TEMPLATE_EXPORT) && ! defined (_STLP_NO_WCHAR_T) - --__STL_EXPORT_TEMPLATE basic_istream >& __STL_CALL operator>>( -+_STLP_EXPORT_TEMPLATE basic_istream >& _STLP_CALL operator>>( - basic_istream >&, complex&); --__STL_EXPORT_TEMPLATE basic_ostream >& __STL_CALL operator<<( -+_STLP_EXPORT_TEMPLATE basic_ostream >& _STLP_CALL operator<<( - basic_ostream >&, const complex&); --__STL_EXPORT_TEMPLATE basic_istream >& __STL_CALL operator>>( -+_STLP_EXPORT_TEMPLATE basic_istream >& _STLP_CALL operator>>( - basic_istream >&, complex&); --__STL_EXPORT_TEMPLATE basic_ostream >& __STL_CALL operator<<( -+_STLP_EXPORT_TEMPLATE basic_ostream >& _STLP_CALL operator<<( - basic_ostream >&, const complex&); - --# ifdef __STL_LONG_DOUBLE --__STL_EXPORT_TEMPLATE basic_istream >& __STL_CALL operator>>( -+# ifndef _STLP_NO_LONG_DOUBLE -+_STLP_EXPORT_TEMPLATE basic_istream >& _STLP_CALL operator>>( - basic_istream >&, complex&); --__STL_EXPORT_TEMPLATE basic_ostream >& __STL_CALL operator<<( -+_STLP_EXPORT_TEMPLATE basic_ostream >& _STLP_CALL operator<<( - basic_ostream >&, const complex&); - # endif - - # endif /* USE_TEMPLATE_EXPORT */ - --#else /* __STL_USE_NEW_IOSTREAMS */ -+#else /* _STLP_USE_NEW_IOSTREAMS */ - - template --ostream& __STL_CALL operator<<(ostream& s, const complex<_Tp>& __z); -+ostream& _STLP_CALL operator<<(ostream& s, const complex<_Tp>& __z); - - template --istream& __STL_CALL operator>>(istream& s, complex<_Tp>& a); -+istream& _STLP_CALL operator>>(istream& s, complex<_Tp>& a); - --#endif /* __STL_USE_NEW_IOSTREAMS */ -+#endif /* _STLP_USE_NEW_IOSTREAMS */ - - - // Transcendental functions. These are defined only for float, - // double, and long double. (Sqrt isn't transcendental, of course, - // but it's included in this section anyway.) - --__STL_DECLSPEC complex __STL_CALL sqrt(const complex&); -- --__STL_DECLSPEC complex __STL_CALL exp(const complex&); --__STL_DECLSPEC complex __STL_CALL log(const complex&); --__STL_DECLSPEC complex __STL_CALL log10(const complex&); -+_STLP_DECLSPEC complex _STLP_CALL sqrt(const complex&); - --__STL_DECLSPEC complex __STL_CALL pow(const complex&, int); --__STL_DECLSPEC complex __STL_CALL pow(const complex&, const float&); --__STL_DECLSPEC complex __STL_CALL pow(const float&, const complex&); --__STL_DECLSPEC complex __STL_CALL pow(const complex&, const complex&); -- --__STL_DECLSPEC complex __STL_CALL sin(const complex&); --__STL_DECLSPEC complex __STL_CALL cos(const complex&); --__STL_DECLSPEC complex __STL_CALL tan(const complex&); -- --__STL_DECLSPEC complex __STL_CALL sinh(const complex&); --__STL_DECLSPEC complex __STL_CALL cosh(const complex&); --__STL_DECLSPEC complex __STL_CALL tanh(const complex&); -- --__STL_DECLSPEC complex __STL_CALL sqrt(const complex&); -- --__STL_DECLSPEC complex __STL_CALL exp(const complex&); --__STL_DECLSPEC complex __STL_CALL log(const complex&); --__STL_DECLSPEC complex __STL_CALL log10(const complex&); -- --__STL_DECLSPEC complex __STL_CALL pow(const complex&, int); --__STL_DECLSPEC complex __STL_CALL pow(const complex&, const double&); --__STL_DECLSPEC complex __STL_CALL pow(const double&, const complex&); --__STL_DECLSPEC complex __STL_CALL pow(const complex&, const complex&); -- --__STL_DECLSPEC complex __STL_CALL sin(const complex&); --__STL_DECLSPEC complex __STL_CALL cos(const complex&); --__STL_DECLSPEC complex __STL_CALL tan(const complex&); -- --__STL_DECLSPEC complex __STL_CALL sinh(const complex&); --__STL_DECLSPEC complex __STL_CALL cosh(const complex&); --__STL_DECLSPEC complex __STL_CALL tanh(const complex&); -- -- -- --__STL_DECLSPEC complex __STL_CALL sqrt(const complex&); -- --__STL_DECLSPEC complex __STL_CALL exp(const complex&); --__STL_DECLSPEC complex __STL_CALL log(const complex&); --__STL_DECLSPEC complex __STL_CALL log10(const complex&); -- --__STL_DECLSPEC complex __STL_CALL pow(const complex&, int); --__STL_DECLSPEC complex __STL_CALL pow(const complex&, const long double&); --__STL_DECLSPEC complex __STL_CALL pow(const long double&, const complex&); --__STL_DECLSPEC complex __STL_CALL pow(const complex&, -+_STLP_DECLSPEC complex _STLP_CALL exp(const complex&); -+_STLP_DECLSPEC complex _STLP_CALL log(const complex&); -+_STLP_DECLSPEC complex _STLP_CALL log10(const complex&); -+ -+_STLP_DECLSPEC complex _STLP_CALL pow(const complex&, int); -+_STLP_DECLSPEC complex _STLP_CALL pow(const complex&, const float&); -+_STLP_DECLSPEC complex _STLP_CALL pow(const float&, const complex&); -+_STLP_DECLSPEC complex _STLP_CALL pow(const complex&, const complex&); -+ -+_STLP_DECLSPEC complex _STLP_CALL sin(const complex&); -+_STLP_DECLSPEC complex _STLP_CALL cos(const complex&); -+_STLP_DECLSPEC complex _STLP_CALL tan(const complex&); -+ -+_STLP_DECLSPEC complex _STLP_CALL sinh(const complex&); -+_STLP_DECLSPEC complex _STLP_CALL cosh(const complex&); -+_STLP_DECLSPEC complex _STLP_CALL tanh(const complex&); -+ -+_STLP_DECLSPEC complex _STLP_CALL sqrt(const complex&); -+ -+_STLP_DECLSPEC complex _STLP_CALL exp(const complex&); -+_STLP_DECLSPEC complex _STLP_CALL log(const complex&); -+_STLP_DECLSPEC complex _STLP_CALL log10(const complex&); -+ -+_STLP_DECLSPEC complex _STLP_CALL pow(const complex&, int); -+_STLP_DECLSPEC complex _STLP_CALL pow(const complex&, const double&); -+_STLP_DECLSPEC complex _STLP_CALL pow(const double&, const complex&); -+_STLP_DECLSPEC complex _STLP_CALL pow(const complex&, const complex&); -+ -+_STLP_DECLSPEC complex _STLP_CALL sin(const complex&); -+_STLP_DECLSPEC complex _STLP_CALL cos(const complex&); -+_STLP_DECLSPEC complex _STLP_CALL tan(const complex&); -+ -+_STLP_DECLSPEC complex _STLP_CALL sinh(const complex&); -+_STLP_DECLSPEC complex _STLP_CALL cosh(const complex&); -+_STLP_DECLSPEC complex _STLP_CALL tanh(const complex&); -+ -+# ifndef _STLP_NO_LONG_DOUBLE -+_STLP_DECLSPEC complex _STLP_CALL sqrt(const complex&); -+_STLP_DECLSPEC complex _STLP_CALL exp(const complex&); -+_STLP_DECLSPEC complex _STLP_CALL log(const complex&); -+_STLP_DECLSPEC complex _STLP_CALL log10(const complex&); -+ -+_STLP_DECLSPEC complex _STLP_CALL pow(const complex&, int); -+_STLP_DECLSPEC complex _STLP_CALL pow(const complex&, const long double&); -+_STLP_DECLSPEC complex _STLP_CALL pow(const long double&, const complex&); -+_STLP_DECLSPEC complex _STLP_CALL pow(const complex&, - const complex&); - --__STL_DECLSPEC complex __STL_CALL sin(const complex&); --__STL_DECLSPEC complex __STL_CALL cos(const complex&); --__STL_DECLSPEC complex __STL_CALL tan(const complex&); -- --__STL_DECLSPEC complex __STL_CALL sinh(const complex&); --__STL_DECLSPEC complex __STL_CALL cosh(const complex&); --__STL_DECLSPEC complex __STL_CALL tanh(const complex&); -- --__STL_END_NAMESPACE -+_STLP_DECLSPEC complex _STLP_CALL sin(const complex&); -+_STLP_DECLSPEC complex _STLP_CALL cos(const complex&); -+_STLP_DECLSPEC complex _STLP_CALL tan(const complex&); -+ -+_STLP_DECLSPEC complex _STLP_CALL sinh(const complex&); -+_STLP_DECLSPEC complex _STLP_CALL cosh(const complex&); -+_STLP_DECLSPEC complex _STLP_CALL tanh(const complex&); -+# endif - -+_STLP_END_NAMESPACE - --# ifndef __STL_LINK_TIME_INSTANTIATION -+# ifndef _STLP_LINK_TIME_INSTANTIATION - # include - # endif - --#if defined(__MRC__)||defined(__SC__) //*TY 05/01/2000 - added workaround for mpw --# undef __STL_DO_ABS //*TY 05/01/2000 - claan ups --# undef __STL_DO_ACOS --# undef __STL_DO_ASIN --# undef __STL_DO_ATAN --# undef __STL_DO_ATAN2 --# undef __STL_DO_COS --# undef __STL_DO_COSH --# undef __STL_DO_LOG --# undef __STL_DO_LOG10 --# undef __STL_DO_POW --# undef __STL_DO_SIN --# undef __STL_DO_SINH --# undef __STL_DO_SQRT --# undef __STL_DO_TAN --# undef __STL_DO_TANH --# undef __STL_DO_EXP --# undef __STL_DO_HYPOT --#include // can be included once comprex version of math functions are declared --#endif //*TY 05/01/2000 - -- --#endif /* __sgi_template_complex */ -+#endif /* _STLP_template_complex */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_config.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_config.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_config.h Sat Feb 24 10:45:18 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_config.h Fri Feb 14 16:26:18 2003 -@@ -1,4 +1,4 @@ --/* -+ /* - * - * Copyright (c) 1994 - * Hewlett-Packard Company -@@ -23,8 +23,8 @@ - * - */ - --#ifndef __STL_CONFIG_H --# define __STL_CONFIG_H -+#ifndef _STLP_CONFIG_H -+# define _STLP_CONFIG_H - - /* - * Purpose of this file : -@@ -40,20 +40,20 @@ - - /* Other macros defined by this file: - -- * bool, true, and false, if __STL_NO_BOOL is defined. -+ * bool, true, and false, if _STLP_NO_BOOL is defined. - * typename, as a null macro if it's not already a keyword. - * explicit, as a null macro if it's not already a keyword. -- * namespace-related macros (__STLPORT_STD, __STL_BEGIN_NAMESPACE, etc.) -- * exception-related macros (__STL_TRY, __STL_UNWIND, etc.) -- * __STL_ASSERT, either as a test or as a null macro, depending on -- whether or not __STL_ASSERTIONS is defined. -+ * namespace-related macros (_STLP_STD, _STLP_BEGIN_NAMESPACE, etc.) -+ * exception-related macros (_STLP_TRY, _STLP_UNWIND, etc.) -+ * _STLP_ASSERT, either as a test or as a null macro, depending on -+ whether or not _STLP_ASSERTIONS is defined. - */ - --/* SGI basic release */ -+/* The last SGI STL release we merged with */ - # define __SGI_STL 0x330 - --/* Adaptation version */ --# define __SGI_STL_PORT 0x400 -+/* STLport version */ -+# define _STLPORT_VERSION 0x452 - - /* Placeholder for user to override settings. - * It could be also used to mask settings from -@@ -61,6 +61,11 @@ - */ - # include - -+/* ========================================================= */ -+/* This file is used for compatibility; it accepts old-style config -+ switches */ -+# include -+ - /* Common configuration file for this particular installation. */ - - # include -@@ -68,7 +73,7 @@ - /* Use per-version compiler recognition */ - # include - --//========================================================= -+/* ========================================================= */ - - /* some fixes to configuration. This also includes modifications - * of STLport switches depending on compiler flags, -@@ -82,323 +87,294 @@ - * Performs integrity check on user-specified parameters - * and site-specific settings. - */ --# include -- -+// # include - - /* SGI terms */ - --#if !defined(__STL_HAS_NAMESPACES) && !defined(__STL_HAS_NO_NAMESPACES) --# define __STL_HAS_NAMESPACES 1 --#endif -- --# if !defined (__STL_NO_PARTIAL_SPECIALIZATION_SYNTAX) && !defined (__STL_PARTIAL_SPECIALIZATION_SYNTAX) --# define __STL_PARTIAL_SPECIALIZATION_SYNTAX 1 --# endif -- --# if !defined (__STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS) && !defined(__STL_EXPLICIT_FUNCTION_TMPL_ARGS) --# define __STL_EXPLICIT_FUNCTION_TMPL_ARGS 1 -+# if !defined (_STLP_NO_MEMBER_TEMPLATES) && !defined (_STLP_MEMBER_TEMPLATES) -+# define _STLP_MEMBER_TEMPLATES 1 - # endif - --# if !defined (__STL_NO_MEMBER_TEMPLATES) && !defined (__STL_MEMBER_TEMPLATES) --# define __STL_MEMBER_TEMPLATES 1 -+# if !defined (_STLP_NO_FRIEND_TEMPLATES) && !defined (_STLP_FRIEND_TEMPLATES) -+# define _STLP_FRIEND_TEMPLATES 1 - # endif - --# if !defined (__STL_NO_FRIEND_TEMPLATES) && !defined (__STL_FRIEND_TEMPLATES) --# define __STL_FRIEND_TEMPLATES 1 -+# if !defined (_STLP_NO_MEMBER_TEMPLATE_CLASSES) && !defined (_STLP_MEMBER_TEMPLATE_CLASSES) -+# define _STLP_MEMBER_TEMPLATE_CLASSES 1 - # endif - --# if !defined (__STL_NO_MEMBER_TEMPLATE_CLASSES) && !defined (__STL_MEMBER_TEMPLATE_CLASSES) --# define __STL_MEMBER_TEMPLATE_CLASSES 1 --# endif -- --#if !defined (__STL_NO_CLASS_PARTIAL_SPECIALIZATION) && !defined (__STL_CLASS_PARTIAL_SPECIALIZATION) --# define __STL_CLASS_PARTIAL_SPECIALIZATION 1 --#endif -- --#if !defined (__STL_FUNCTION_TMPL_PARTIAL_ORDER) && !defined (__STL_NO_FUNCTION_TMPL_PARTIAL_ORDER) --# define __STL_FUNCTION_TMPL_PARTIAL_ORDER 1 -+#if !defined (_STLP_NO_CLASS_PARTIAL_SPECIALIZATION) && !defined (_STLP_CLASS_PARTIAL_SPECIALIZATION) -+# define _STLP_CLASS_PARTIAL_SPECIALIZATION 1 - #endif - --#if !defined(__STL_NO_TEMPLATE_CONVERSIONS) && !defined (__SGI_STL_USE_AUTO_PTR_CONVERSIONS) --# define __SGI_STL_USE_AUTO_PTR_CONVERSIONS -+#if !defined (_STLP_FUNCTION_TMPL_PARTIAL_ORDER) && !defined (_STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER) -+# define _STLP_FUNCTION_TMPL_PARTIAL_ORDER 1 - #endif - -- --# if !defined (__STL_BIG_ENDIAN) && ! defined (__STL_LITTLE_ENDIAN) -+# if !defined (_STLP_BIG_ENDIAN) && ! defined (_STLP_LITTLE_ENDIAN) - # if defined(_MIPSEB) || defined (__sparc) || \ - defined (_AIX) || defined (__hpux) || defined(macintosh) || defined (_MAC) --# define __STL_BIG_ENDIAN 1 -+# define _STLP_BIG_ENDIAN 1 - # elif defined(__i386) || defined(_M_IX86) --# define __STL_LITTLE_ENDIAN 1 -+# define _STLP_LITTLE_ENDIAN 1 - # else --# define __STL_UNKNOWN_ENDIAN 1 -+# define _STLP_UNKNOWN_ENDIAN 1 - # endif --# endif /* __STL_BIG_ENDIAN */ -+# endif /* _STLP_BIG_ENDIAN */ - - /* ========================================================== - * final workaround tuning based on given flags - * ========================================================== */ - --#ifndef __STL_UINT32_T --# define __STL_UINT32_T unsigned long -+#ifndef _STLP_UINT32_T -+# define _STLP_UINT32_T unsigned long -+#endif -+#ifndef _STLP_ABORT -+# define _STLP_ABORT() abort() - #endif - --# if !defined (__STL_HAS_NO_NAMESPACES) --# if defined __STL_NO_NAMESPACES --# undef __STL_USE_NAMESPACES -+# if !defined (_STLP_HAS_NO_NAMESPACES) -+# if defined _STLP_NO_NAMESPACES -+# undef _STLP_USE_NAMESPACES - # else - /* assume it as the default, turn it off later if NO_NAMESPACES selected */ --# undef __STL_USE_NAMESPACES --# define __STL_USE_NAMESPACES 1 -+# undef _STLP_USE_NAMESPACES -+# define _STLP_USE_NAMESPACES 1 - # endif - # endif - --# if defined (__STL_NO_IOSTREAMS) --# define __STL_USE_NO_IOSTREAMS -+# if defined (_STLP_NO_IOSTREAMS) -+# define _STLP_USE_NO_IOSTREAMS - # endif - --# if defined (__STL_USE_NO_IOSTREAMS) --# undef __STL_USE_NEW_IOSTREAMS -+# if defined (_STLP_USE_NO_IOSTREAMS) -+# undef _STLP_USE_NEW_IOSTREAMS - # endif - -- --# if ( defined (__SGI_STL_OWN_IOSTREAMS) || \ -- ! defined (__STL_HAS_NO_NEW_IOSTREAMS)) \ -- && ! defined (__STL_USE_NO_IOSTREAMS) && !defined (__STL_USE_NEW_IOSTREAMS) --# define __STL_USE_NEW_IOSTREAMS -+# if ( defined (_STLP_OWN_IOSTREAMS) || ! defined (_STLP_HAS_NO_NEW_IOSTREAMS)) \ -+ && ! defined (_STLP_USE_NO_IOSTREAMS) && !defined (_STLP_USE_NEW_IOSTREAMS) -+# define _STLP_USE_NEW_IOSTREAMS - # endif - --# if defined (__STL_NO_NEW_IOSTREAMS) --# undef __STL_USE_NEW_IOSTREAMS --# undef __SGI_STL_OWN_IOSTREAMS -+# if defined (_STLP_NO_NEW_IOSTREAMS) -+# undef _STLP_USE_NEW_IOSTREAMS -+# undef _STLP_OWN_IOSTREAMS - # endif - - /* Operating system recognition (basic) */ --# if defined (__unix) || defined (__linux__) || defined (__QNX__) || defined (_AIX) --# define __STL_UNIX 1 --# if defined (__linux__) && ! defined (__STL_USE_GLIBC) --# define __STL_USE_GLIBC 1 -+# if defined (__unix) || defined (__linux__) || defined (__QNX__) \ -+ || defined (_AIX) || defined (__NetBSD__) || defined(__OpenBSD__) \ -+ || defined (__Lynx__) -+# define _STLP_UNIX 1 -+# if defined (__linux__) && ! defined (_STLP_USE_GLIBC) -+# define _STLP_USE_GLIBC 1 - # endif - # elif defined(macintosh) || defined (_MAC) --# define __STL_MAC 1 -+# define _STLP_MAC 1 - # elif defined (_WIN32) || defined (__WIN32) || defined (WIN32) || defined (__WIN32__) --# define __STL_WIN32 1 -+# define _STLP_WIN32 1 - # elif defined (__WIN16) || defined (WIN16) || defined (_WIN16) --# define __STL_WIN16 -+# define _STLP_WIN16 - # endif /* __unix */ - --# if !defined(__STL_MAKE_HEADER) --# define __STL_MAKE_HEADER(path, header) -+# if !defined(_STLP_MAKE_HEADER) -+# define _STLP_MAKE_HEADER(path, header) - # endif - --#if !defined (__STL_NATIVE_HEADER) --# if !defined (__STL_NATIVE_INCLUDE_PATH) --# define __STL_NATIVE_INCLUDE_PATH ../include -+#if !defined (_STLP_NATIVE_HEADER) -+# if !defined (_STLP_NATIVE_INCLUDE_PATH) -+# define _STLP_NATIVE_INCLUDE_PATH ../include - # endif --# define __STL_NATIVE_HEADER(header) __STL_MAKE_HEADER(__STL_NATIVE_INCLUDE_PATH,header) -+# define _STLP_NATIVE_HEADER(header) _STLP_MAKE_HEADER(_STLP_NATIVE_INCLUDE_PATH,header) - #endif - - /* For some compilers, C headers like are located in separate directory */ --#if !defined (__STL_NATIVE_C_HEADER) --# if !defined (__STL_NATIVE_C_INCLUDE_PATH) --# define __STL_NATIVE_C_INCLUDE_PATH __STL_NATIVE_INCLUDE_PATH -+#if !defined (_STLP_NATIVE_C_HEADER) -+# if !defined (_STLP_NATIVE_C_INCLUDE_PATH) -+# define _STLP_NATIVE_C_INCLUDE_PATH _STLP_NATIVE_INCLUDE_PATH - # endif --# define __STL_NATIVE_C_HEADER(header) __STL_MAKE_HEADER(__STL_NATIVE_C_INCLUDE_PATH,header) -+# define _STLP_NATIVE_C_HEADER(header) _STLP_MAKE_HEADER(_STLP_NATIVE_C_INCLUDE_PATH,header) - #endif - - /* For some compilers, C-library headers like are located in separate directory */ --#if !defined (__STL_NATIVE_CPP_C_HEADER) --# if !defined (__STL_NATIVE_CPP_C_INCLUDE_PATH) --# define __STL_NATIVE_CPP_C_INCLUDE_PATH __STL_NATIVE_INCLUDE_PATH -+#if !defined (_STLP_NATIVE_CPP_C_HEADER) -+# if !defined (_STLP_NATIVE_CPP_C_INCLUDE_PATH) -+# define _STLP_NATIVE_CPP_C_INCLUDE_PATH _STLP_NATIVE_INCLUDE_PATH - # endif --# define __STL_NATIVE_CPP_C_HEADER(header) __STL_MAKE_HEADER(__STL_NATIVE_CPP_C_INCLUDE_PATH,header) -+# define _STLP_NATIVE_CPP_C_HEADER(header) _STLP_MAKE_HEADER(_STLP_NATIVE_CPP_C_INCLUDE_PATH,header) - #endif - - /* Some compilers have weird placement of old-style iostream headers */ --#if !defined ( __STL_NATIVE_OLD_STREAMS_HEADER ) --# if !defined (__STL_NATIVE_OLD_STREAMS_INCLUDE_PATH) --# define __STL_NATIVE_OLD_STREAMS_INCLUDE_PATH __STL_NATIVE_INCLUDE_PATH -+#if !defined ( _STLP_NATIVE_OLD_STREAMS_HEADER ) -+# if !defined (_STLP_NATIVE_OLD_STREAMS_INCLUDE_PATH) -+# define _STLP_NATIVE_OLD_STREAMS_INCLUDE_PATH _STLP_NATIVE_INCLUDE_PATH -+# endif -+# define _STLP_NATIVE_OLD_STREAMS_HEADER(header) _STLP_MAKE_HEADER(_STLP_NATIVE_OLD_STREAMS_INCLUDE_PATH,header) -+#endif -+ -+/* Some compilers locate basic C++ runtime support headers (, , ) in separate directory */ -+#if !defined ( _STLP_NATIVE_CPP_RUNTIME_HEADER ) -+# if !defined (_STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH) -+# define _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH _STLP_NATIVE_INCLUDE_PATH - # endif --# define __STL_NATIVE_OLD_STREAMS_HEADER(header) __STL_MAKE_HEADER(__STL_NATIVE_OLD_STREAMS_INCLUDE_PATH,header) -+# define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) _STLP_MAKE_HEADER(_STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH,header) - #endif - - /* shared library tune-up */ - --# if defined (__BUILDING_STLPORT) -+#if defined (__BUILDING_STLPORT) - /* if we are rebuilding right now as a DLL, place everything here */ --# undef __STL_DESIGNATED_DLL --# define __STL_DESIGNATED_DLL 1 --# endif -- --#ifdef __SGI_STL_OWN_IOSTREAMS -- --# undef __STL_WHOLE_NATIVE_STD -- --/* tell everybody we are using new iostreams */ --# if defined (__DECCXX) && ! defined (__USE_STD_IOSTREAM) --# define __USE_STD_IOSTREAM --# endif -- -+# undef _STLP_DESIGNATED_DLL -+# define _STLP_DESIGNATED_DLL 1 - #endif - -- - /* Use own namespace always if possible and not explicitly instructed otherwise */ --# if defined (__STL_USE_NAMESPACES) && !defined (__STL_BROKEN_USING_DIRECTIVE) && \ -- !defined(__STL_NO_OWN_NAMESPACE) --# undef __STL_USE_OWN_NAMESPACE --# define __STL_USE_OWN_NAMESPACE 1 --# else --# undef __STL_WHOLE_NATIVE_STD --# endif -- --# undef __STLPORT_NAMESPACE --# if defined (__STL_USE_OWN_NAMESPACE) --# define __STLPORT_NAMESPACE _STL --# define __STLPORT_DBG_NAMESPACE _STLD --# else --# define __STLPORT_NAMESPACE std --# define __STLPORT_DBG_NAMESPACE stdD --# endif -- --# if (defined (__STL_NOTHREADS) || defined (NOTHREADS)) && ! defined (_NOTHREADS) --# define _NOTHREADS --# endif -- --# if defined(_PTHREADS) && !defined(_NOTHREADS) --# define __STL_PTHREADS --# endif --# if defined(_UITHREADS) && !defined(_NOTHREADS) --# define __STL_UITHREADS --# endif --# ifdef _REENTRANT --# if !defined(_NOTHREADS) --# if defined (__sgi) --# define __STL_SGI_THREADS --# elif (defined (__sun) && defined (__SVR4)) || \ -- (defined(_UITHREADS) || defined (__STL_SOLARIS_THREADS) && !defined(_NOTHREADS) && !defined(_PTHREADS)) --# define __STL_UITHREADS --# elif defined (_WIN32) || defined (WIN32) || defined (__WIN32__) --# define __STL_WIN32THREADS -+# if defined (_STLP_USE_NAMESPACES) && !defined (_STLP_BROKEN_USING_DIRECTIVE) && \ -+ /* !defined (_STLP_OWN_IOSTREAMS) && */ !defined(_STLP_NO_OWN_NAMESPACE) -+# undef _STLP_USE_OWN_NAMESPACE -+# define _STLP_USE_OWN_NAMESPACE 1 -+# else -+# undef _STLP_WHOLE_NATIVE_STD -+# endif -+ -+# undef _STLP_NAMESPACE -+ -+# if !defined(_NOTHREADS) && ! defined (_STLP_THREADS_DEFINED) -+ -+# if defined(_PTHREADS) -+# define _STLP_PTHREADS -+# define _STLP_THREADS -+# endif -+# if defined(_UITHREADS) -+# define _STLP_UITHREADS -+# define _STLP_THREADS -+# endif -+ -+# if defined (__sgi) && ! defined (__KCC) && ! defined (__GNUC__) -+# define _STLP_SGI_THREADS -+# elif defined(__DECC) || defined(__DECCXX) -+# define _STLP_DEC_THREADS -+# elif defined (_STLP_WIN32) && ! defined (_STLP_PTHREADS) -+# define _STLP_WIN32THREADS 1 -+# elif ((defined (__sun) && !defined (__linux__)) \ -+ || defined(_UITHREADS) ) && !defined(_STLP_PTHREADS) -+# define _STLP_UITHREADS -+# elif defined (__OS2__) -+# define _STLP_OS2THREADS -+# elif defined(__BEOS__) -+# define _STLP_BETHREADS - # else --# define __STL_PTHREADS -+# define _STLP_PTHREADS - # endif /* __sgi */ --# endif /* _NOTHREADS */ --# endif /* _REENTRANT */ -+# define _STLP_THREADS_DEFINED -+# endif -+ -+# if defined (_REENTRANT) && ! defined (_STLP_THREADS) -+# define _STLP_THREADS -+# endif /* _REENTRANT */ - --# define _STL_STATIC_MUTEX _STL_mutex_base -+# define _STLP_STATIC_MUTEX _STLP_mutex_base - --# if defined (_MFC_VER) && !defined (__STL_USE_MFC) --# define __STL_USE_MFC 1 -+# if defined (_MFC_VER) && !defined (_STLP_USE_MFC) -+# define _STLP_USE_MFC 1 - # endif - --#if defined(__STL_WIN32THREADS) || defined(__STL_SGI_THREADS) \ -- || defined(__STL_PTHREADS) || defined(__STL_UITHREADS) --# define __STL_THREADS --# define __STL_VOLATILE volatile -+#if defined (_STLP_THREADS) -+# define _STLP_VOLATILE volatile - /* windows.h _MUST be included before bool definition ;( */ --# if defined (__STL_WIN32THREADS) && defined (__STL_NO_BOOL) -+# if defined (_STLP_WIN32THREADS) && defined (_STLP_NO_BOOL) - # undef NOMINMAX - # define NOMINMAX --# ifdef __STL_USE_MFC -+# ifdef _STLP_USE_MFC - # include - # else - # include - # endif --# undef min --# undef max --# define __STLPORT_WINDOWS_H_INCLUDED -+# define _STLP_WINDOWS_H_INCLUDED - # endif - #else --# define __STL_VOLATILE -+# define _STLP_VOLATILE - #endif - --# if !defined ( __STL_USE_NEW_C_HEADERS ) && !defined ( __STL_HAS_NO_NEW_C_HEADERS ) --# define __STL_USE_NEW_C_HEADERS -+# if !defined ( _STLP_USE_NEW_C_HEADERS ) && !defined ( _STLP_HAS_NO_NEW_C_HEADERS ) -+# define _STLP_USE_NEW_C_HEADERS - # endif - /* disable new-style headers if requested */ --# if defined ( __STL_NO_NEW_C_HEADERS ) --# undef __STL_USE_NEW_C_HEADERS -+# if defined ( _STLP_NO_NEW_C_HEADERS ) -+# undef _STLP_USE_NEW_C_HEADERS - # endif - --# if !defined ( __STL_STATIC_TEMPLATE_DATA ) --# define __STL_STATIC_TEMPLATE_DATA 1 -+# if !defined ( _STLP_STATIC_TEMPLATE_DATA ) -+# define _STLP_STATIC_TEMPLATE_DATA 1 - # endif - --#ifdef __STL_STATIC_CONST_INIT_BUG --# define __STL_INLINE_STATIC_INIT(__x) --# define __STL_OUTLINE_STATIC_INIT(__x) = __x --#else --# define __STL_INLINE_STATIC_INIT(__x) = __x --# define __STL_OUTLINE_STATIC_INIT(__x) --#endif -- --# if defined (__STL_BASE_TYPEDEF_BUG) --# undef __STL_BASE_TYPEDEF_OUTSIDE_BUG --# define __STL_BASE_TYPEDEF_OUTSIDE_BUG 1 -+# if defined (_STLP_BASE_TYPEDEF_BUG) -+# undef _STLP_BASE_TYPEDEF_OUTSIDE_BUG -+# define _STLP_BASE_TYPEDEF_OUTSIDE_BUG 1 - # endif - --# if defined ( __STL_NESTED_TYPE_PARAM_BUG ) || (defined (__STL_MSVC) && (__STL_MSVC < 1100)) --# define __STL_GLOBAL_NESTED_RETURN_TYPE_PARAM_BUG -+# if defined ( _STLP_NESTED_TYPE_PARAM_BUG ) || (defined (_STLP_MSVC) && (_STLP_MSVC < 1100)) -+# define _STLP_GLOBAL_NESTED_RETURN_TYPE_PARAM_BUG - # endif - - /* SUNpro 4.2 inline string literal bug */ --#ifdef __STL_INLINE_STRING_LITERAL_BUG --# define __STL_FIX_LITERAL_BUG(__x) __x=__x; -+#ifdef _STLP_INLINE_STRING_LITERAL_BUG -+# define _STLP_FIX_LITERAL_BUG(__x) __x=__x; - #else --# define __STL_FIX_LITERAL_BUG(__x) -+# define _STLP_FIX_LITERAL_BUG(__x) - #endif - --# if defined (__STL_NON_TYPE_TMPL_PARAM_BUG) --# undef __STL_NO_DEFAULT_NON_TYPE_PARAM --# define __STL_NO_DEFAULT_NON_TYPE_PARAM 1 -+# if defined (_STLP_NON_TYPE_TMPL_PARAM_BUG) -+# undef _STLP_NO_DEFAULT_NON_TYPE_PARAM -+# define _STLP_NO_DEFAULT_NON_TYPE_PARAM 1 - # endif - --# define __STL_NEW new --# define __STL_PLACEMENT_NEW new -+# define _STLP_NEW new -+# define _STLP_PLACEMENT_NEW new - --# ifdef __STL_DEBUG --# define __STL_ASSERTIONS 1 -+# ifdef _STLP_DEBUG -+# define _STLP_ASSERTIONS 1 - # endif - --/* apple mpw exception handling bug */ //*TY 06/01/2000 - added default definitions --#ifndef __STL_MPWFIX_TRY --# define __STL_MPWFIX_TRY -+/* apple mpw exception handling bug */ -+#ifndef _STLP_MPWFIX_TRY -+# define _STLP_MPWFIX_TRY - #endif --#ifndef __STL_MPWFIX_CATCH --# define __STL_MPWFIX_CATCH -+#ifndef _STLP_MPWFIX_CATCH -+# define _STLP_MPWFIX_CATCH - #endif --#ifndef __STL_MPWFIX_CATCH_ACTION --# define __STL_MPWFIX_CATCH_ACTION(action) -+#ifndef _STLP_MPWFIX_CATCH_ACTION -+# define _STLP_MPWFIX_CATCH_ACTION(action) - #endif - --/* if __STL_DEBUG or __STL_ASSERTIONS are set, stl/debug/_debug.h defines those */ -+/* if _STLP_DEBUG or _STLP_ASSERTIONS are set, stl/debug/_debug.h defines those */ - --# if !defined( __STL_ASSERTIONS ) && !defined(__STL_DEBUG) && !defined(__STL_DEBUG_ALLOC) --# define __STL_ASSERT(expr) -+# if !defined( _STLP_ASSERTIONS ) && !defined(_STLP_DEBUG) && !defined(_STLP_DEBUG_ALLOC) -+# define _STLP_ASSERT(expr) - # endif - --# ifndef __STL_DEBUG --# define __STL_VERBOSE_ASSERT(expr,diagnostic) --# define __STL_DEBUG_CHECK(expr) --# define __STL_DEBUG_DO(expr) -+# ifndef _STLP_DEBUG -+# define _STLP_VERBOSE_ASSERT(expr,diagnostic) -+# define _STLP_DEBUG_CHECK(expr) -+# define _STLP_DEBUG_DO(expr) - # endif - --# if !defined (__STL_WEAK) --# define __STL_WEAK -+# if !defined (_STLP_WEAK) -+# define _STLP_WEAK - # endif - - /* default parameters as template types derived from arguments ( not always supported ) */ --# if defined (__STL_LIMITED_DEFAULT_TEMPLATES) -+# if defined (_STLP_LIMITED_DEFAULT_TEMPLATES) - # define __DFL_TMPL_PARAM( classname, defval ) class classname - # define __DFL_TMPL_ARG(classname) , classname - # else --# define __STL_DEFAULT_TYPE_PARAM 1 -+# define _STLP_DEFAULT_TYPE_PARAM 1 - # define __DFL_TMPL_PARAM( classname, defval ) class classname = defval - # define __DFL_TMPL_ARG(classname) - # endif - - /* default parameters as complete types */ --# if defined ( __STL_DEFAULT_TYPE_PARAM ) -+# if defined ( _STLP_DEFAULT_TYPE_PARAM ) - # define __DFL_TYPE_PARAM( classname, defval ) class classname = defval - # define __DFL_NON_TYPE_PARAM(type,name,val) type name = val - # define __DFL_TYPE_ARG(classname) -@@ -410,366 +386,343 @@ - - /* SGI compatibility */ - --#ifdef __STL_NO_WCHAR_T --# ifndef __STL_NO_NATIVE_WIDE_STREAMS --# define __STL_NO_NATIVE_WIDE_STREAMS 1 -+#ifdef _STLP_NO_WCHAR_T -+# ifndef _STLP_NO_NATIVE_WIDE_STREAMS -+# define _STLP_NO_NATIVE_WIDE_STREAMS 1 - # endif - #else --# define __STL_HAS_WCHAR_T 1 -+# define _STLP_HAS_WCHAR_T 1 - #endif - --#if !defined (__STL_NO_AT_MEMBER_FUNCTION) --# define __STL_CAN_THROW_RANGE_ERRORS 1 -+#if !defined (_STLP_NO_AT_MEMBER_FUNCTION) -+# define _STLP_CAN_THROW_RANGE_ERRORS 1 - #endif - --/* __STL_USE_SGI_ALLOCATORS is a hook so that users can -- * disable allocator<_Tp> as default, and continue to use the same kind of -- * allocators as before, without having to edit library headers. -- */ -- --# if !defined (__STL_USE_SGI_ALLOCATORS) --# define __STL_DEFAULT_ALLOCATOR(_Tp) allocator< _Tp > --# define __STL_DEFAULT_ALLOCATOR_SELECT( _Tp ) __DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) --# define __STL_DEFAULT_PAIR_ALLOCATOR(_Key, _Tp) allocator< pair < _Key, _Tp > > --# if defined (__STL_LIMITED_DEFAULT_TEMPLATES) --# define __STL_DEFAULT_PAIR_ALLOCATOR_SELECT(_Key, _Tp ) class _Alloc --# define __STL_USE_WRAPPER_FOR_ALLOC_PARAM 1 -+# if !defined (_STLP_USE_RAW_SGI_ALLOCATORS) -+# define _STLP_DEFAULT_ALLOCATOR(_Tp) allocator< _Tp > -+# define _STLP_DEFAULT_ALLOCATOR_SELECT( _Tp ) __DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) -+# define _STLP_DEFAULT_PAIR_ALLOCATOR(_Key, _Tp) allocator< pair < _Key, _Tp > > -+# if defined (_STLP_LIMITED_DEFAULT_TEMPLATES) -+# define _STLP_DEFAULT_PAIR_ALLOCATOR_SELECT(_Key, _Tp ) class _Alloc -+# define _STLP_USE_WRAPPER_FOR_ALLOC_PARAM 1 - # else --# define __STL_DEFAULT_PAIR_ALLOCATOR_SELECT(_Key, _Tp ) \ -+# define _STLP_DEFAULT_PAIR_ALLOCATOR_SELECT(_Key, _Tp ) \ - class _Alloc = allocator< pair < _Key, _Tp > > - # endif - # else --# define __STL_DEFAULT_ALLOCATOR( _Tp ) __sgi_alloc --# define __STL_DEFAULT_ALLOCATOR_SELECT( _Tp ) __DFL_TYPE_PARAM(_Alloc,__sgi_alloc) --# define __STL_DEFAULT_PAIR_ALLOCATOR( _Key, _Tp ) __sgi_alloc --# define __STL_DEFAULT_PAIR_ALLOCATOR_SELECT(_Key, _Tp ) __DFL_TYPE_PARAM(_Alloc,__sgi_alloc) --# if defined (__STL_LIMITED_DEFAULT_TEMPLATES) && !defined (__STL_DEFAULT_TYPE_PARAM) --# define __STL_USE_WRAPPER_FOR_ALLOC_PARAM 1 -+# define _STLP_DEFAULT_ALLOCATOR( _Tp ) __sgi_alloc -+# define _STLP_DEFAULT_ALLOCATOR_SELECT( _Tp ) __DFL_TYPE_PARAM(_Alloc,__sgi_alloc) -+# define _STLP_DEFAULT_PAIR_ALLOCATOR( _Key, _Tp ) __sgi_alloc -+# define _STLP_DEFAULT_PAIR_ALLOCATOR_SELECT(_Key, _Tp ) __DFL_TYPE_PARAM(_Alloc,__sgi_alloc) -+# if defined (_STLP_LIMITED_DEFAULT_TEMPLATES) && !defined (_STLP_DEFAULT_TYPE_PARAM) -+# define _STLP_USE_WRAPPER_FOR_ALLOC_PARAM 1 - # endif - # endif - - /* default parameters workaround tuning */ --# if defined ( __STL_USE_WRAPPER_FOR_ALLOC_PARAM ) -+# if defined ( _STLP_USE_WRAPPER_FOR_ALLOC_PARAM ) - # define __WORKAROUND_RENAME(X) __##X - # else - # define __WORKAROUND_RENAME(X) X - # endif --# if defined ( __STL_DEBUG ) -+# if defined ( _STLP_DEBUG ) - # define __WORKAROUND_DBG_RENAME(X) __##X - # else - # define __WORKAROUND_DBG_RENAME(X) __WORKAROUND_RENAME(X) - # endif - # define __FULL_NAME(X) __WORKAROUND_RENAME(X) - --/* macro to convert the allocator for initialization -- * not using MEMBER_TEMPLATE_CLASSES as it should work given template constructor */ --#if defined (__STL_MEMBER_TEMPLATES) || ! defined (__STL_CLASS_PARTIAL_SPECIALIZATION) -- --/* if __STL_NO_TEMPLATE_CONVERSIONS is set, the member template constructor is -- * not used implicitly to convert allocator parameter, so let us do it explicitly */ --# if defined (__STL_MEMBER_TEMPLATE_CLASSES) && defined (__STL_NO_TEMPLATE_CONVERSIONS) --# define __STL_CONVERT_ALLOCATOR(__a, _Tp) __a.rebind<_Tp>::other(__a) --# else --# define __STL_CONVERT_ALLOCATOR(__a, _Tp) __a --# endif -- --/* else convert, but only if partial specialization works, since else -- * Container::allocator_type won't be different */ --#else --# define __STL_CONVERT_ALLOCATOR(__a, _Tp) __stl_alloc_create(__a,(_Tp*)0) --#endif -- --#ifdef __STL_MEMBER_TEMPLATE_CLASSES --# define __STL_REBIND_ALLOCATOR(__a, _Tp) __a --#else --# define __STL_REBIND_ALLOCATOR(__a, _Tp) __stl_alloc_rebind(__a,(_Tp*)0) --#endif -- --/* namespace stuff adjustment */ --# if defined (__STL_USE_NAMESPACES) && defined (__cplusplus) --# ifdef __STL_DEBUG --# define __STLPORT_NONDBG_STD __STLPORT_DBG_NAMESPACE --# define __STLPORT_DBG_STD __STLPORT_DBG_NAMESPACE --# else --# define __STLPORT_NONDBG_STD __STLPORT_NAMESPACE --# define __STLPORT_DBG_STD __STLPORT_NAMESPACE --# endif --# endif -- --/* provide a mechanism to redefine std:: namespace in a way that is transparent to the -- * user. __STL_REDEFINE_STD is being used for wrapper files that include native headers -- * to temporary undef the std macro. */ --# if defined ( __STL_USE_NAMESPACES ) && defined ( __STL_USE_OWN_NAMESPACE ) && \ -- ! defined ( __STL_DONT_REDEFINE_STD ) --# define __STL_REDEFINE_STD 1 --# else --# undef __STL_REDEFINE_STD --# endif -- - /* this always mean the C library is in global namespace */ --# if defined (__STL_HAS_NO_NEW_C_HEADERS) && ! defined (__STL_VENDOR_GLOBAL_CSTD) --# define __STL_VENDOR_GLOBAL_CSTD 1 -+# if defined (_STLP_HAS_NO_NEW_C_HEADERS) && ! defined (_STLP_VENDOR_GLOBAL_CSTD) -+# define _STLP_VENDOR_GLOBAL_CSTD 1 - # endif - - /* Depending of whether compiler supports namespaces, - * tune the parameters for vendor-supplied libraries. -- * This section is guarded by __STL_HAS_NO_NAMESPACES, not by __STL_USE_NAMESPACES, -+ * This section is guarded by _STLP_HAS_NO_NAMESPACES, not by _STLP_USE_NAMESPACES, - * since it depends only on the native features, not on user's preference whether - * to use namespace for STLport or not. - */ --# if !defined (__STL_HAS_NO_NAMESPACES) -+# if !defined (_STLP_HAS_NO_NAMESPACES) - /* Import some vendor's headers into corresponding STLport ones if they might be needed - * (if we wrap native iostreams and use namepace other than std::) */ --# if ( defined (__STL_USE_OWN_NAMESPACE) || \ -- ( defined (__STL_DEBUG) && defined (__STL_USE_NAMESPACES) ) \ -- ) && defined (__STL_USE_NEW_IOSTREAMS) && ! defined (__SGI_STL_OWN_IOSTREAMS) --# define __STL_IMPORT_VENDOR_STD 1 -+# if defined (_STLP_WHOLE_NATIVE_STD) -+# define _STLP_IMPORT_VENDOR_STD 1 -+# undef _STLP_MINIMUM_IMPORT_STD -+# elif (defined (_STLP_USE_OWN_NAMESPACE) || ( defined (_STLP_DEBUG) && defined (_STLP_USE_NAMESPACES))) \ -+ && defined (_STLP_USE_NEW_IOSTREAMS) && ! defined (_STLP_OWN_IOSTREAMS) -+# define _STLP_IMPORT_VENDOR_STD 1 - # endif - - /* if using stlport:: namespace or if C library stuff is not in vendor's std::, - * try importing 'em. - * MSVC has ambiguity problem when we try to import C-style std:: stuff back into global namespace */ --# if defined (__STL_USE_NAMESPACES) && \ -- ( defined(__STL_USE_OWN_NAMESPACE) || defined (__STL_DEBUG) || defined (__STL_VENDOR_GLOBAL_CSTD)) --# define __STL_IMPORT_VENDOR_CSTD 1 -+# if defined (_STLP_USE_NAMESPACES) && /* ! defined (_STLP_OWN_IOSTREAMS) && */ \ -+ ( defined(_STLP_USE_OWN_NAMESPACE) || defined (_STLP_VENDOR_GLOBAL_CSTD)) -+# define _STLP_IMPORT_VENDOR_CSTD 1 - # endif - --# if defined (__STL_NO_USING_FOR_GLOBAL_FUNCTIONS) && ! defined (__STL_DO_IMPORT_CSTD_FUNCTIONS) --# define __STL_NO_CSTD_FUNCTION_IMPORTS -+# if defined (_STLP_NO_USING_FOR_GLOBAL_FUNCTIONS) && ! defined (_STLP_DO_IMPORT_CSTD_FUNCTIONS) -+# define _STLP_NO_CSTD_FUNCTION_IMPORTS - # endif - --# define __STL_USING_NAMESPACE(x) using namespace x ; -+# define _STLP_USING_NAMESPACE(x) using namespace x ; - - namespace std { } - namespace __std_alias = std; - - /* assume std:: namespace for C++ std library if not being told otherwise */ --# ifdef __STL_VENDOR_GLOBAL_STD --# define __STL_VENDOR_STD --# define __STL_USING_VENDOR_STD --# else --# define __STL_VENDOR_STD __std_alias --# define __STL_USING_VENDOR_STD __STL_USING_NAMESPACE(__STL_VENDOR_STD) -+# ifdef _STLP_VENDOR_GLOBAL_STD -+# define _STLP_VENDOR_STD -+# define _STLP_USING_VENDOR_STD -+# else -+# define _STLP_VENDOR_STD __std_alias -+# define _STLP_USING_VENDOR_STD _STLP_USING_NAMESPACE(_STLP_VENDOR_STD) -+// # define _STLP_USING_VENDOR_STD - # endif - - /* tune things that come from C library */ --# if defined (__STL_VENDOR_GLOBAL_CSTD) || !defined(__STL_USE_NEW_C_HEADERS) -+# if defined (_STLP_VENDOR_GLOBAL_CSTD) || !defined(_STLP_USE_NEW_C_HEADERS) - /* in old-style headers, C functions go to global scope. */ --# define __STL_VENDOR_CSTD --# define __STL_USING_VENDOR_CSTD -+# define _STLP_VENDOR_CSTD -+# define _STLP_USING_VENDOR_CSTD - # else --# define __STL_VENDOR_CSTD __STL_VENDOR_STD --# define __STL_USING_VENDOR_CSTD __STL_USING_NAMESPACE(__STL_VENDOR_CSTD) --# endif /* __STL_VENDOR_CSTD */ -+# define _STLP_VENDOR_CSTD _STLP_VENDOR_STD -+# define _STLP_USING_VENDOR_CSTD _STLP_USING_NAMESPACE(_STLP_VENDOR_CSTD) -+# endif /* _STLP_VENDOR_CSTD */ - /* exception, typeinfo, new - always come from the vendor */ --# ifdef __STL_VENDOR_GLOBAL_EXCEPT_STD --# define __STL_VENDOR_EXCEPT_STD -+# ifdef _STLP_VENDOR_GLOBAL_EXCEPT_STD -+# define _STLP_VENDOR_EXCEPT_STD - # else --# define __STL_VENDOR_EXCEPT_STD __STL_VENDOR_STD -+# define _STLP_VENDOR_EXCEPT_STD _STLP_VENDOR_STD - # endif --# define __STL_OLD_IO_NAMESPACE --# ifndef __STL_VENDOR_MB_NAMESPACE --# define __STL_VENDOR_MB_NAMESPACE __STL_VENDOR_CSTD -+# define _STLP_OLD_IO_NAMESPACE -+# ifndef _STLP_VENDOR_MB_NAMESPACE -+# define _STLP_VENDOR_MB_NAMESPACE _STLP_VENDOR_CSTD - # endif --# ifndef __STL_USING_BASE_MEMBER --# define __STL_USING_BASE_MEMBER using --# endif - # else - /* compiler has no namespace support */ --# define __STL_VENDOR_STD --# define __STL_VENDOR_CSTD --# define __STL_USING_BASE_MEMBER --# define __STL_USING_NAMESPACE(x) --# define __STL_USING_VENDOR_CSTD --# define __STL_USING_VENDOR_STD --# define __STL_VENDOR_EXCEPT_STD -+# define _STLP_VENDOR_STD -+# define _STLP_VENDOR_CSTD -+# define _STLP_USING_NAMESPACE(x) -+# define _STLP_USING_VENDOR_CSTD -+# define _STLP_USING_VENDOR_STD -+# define _STLP_VENDOR_EXCEPT_STD - # endif - --# if defined (__STL_USE_NAMESPACES) --/* SGI terms */ --/* user level defines for STLport stuff and C-related stuff. */ --# ifdef __STL_DEBUG --# define __STLPORT_STD __STLPORT_DBG_STD --# else --# define __STLPORT_STD __STLPORT_NONDBG_STD --# endif --# define __STL_BEGIN_NAMESPACE namespace __STLPORT_STD { --# define __STL_END_NAMESPACE } --__STL_BEGIN_NAMESPACE __STL_END_NAMESPACE --namespace stlport = __STLPORT_STD; -+# if defined (_STLP_USE_NAMESPACES) -+ -+# if defined (_STLP_USE_OWN_NAMESPACE) -+# define _STLP_STD _STL -+# else -+# ifdef _STLP_DEBUG -+namespace stdD = std; -+# endif -+# define _STLP_STD std -+# endif /* _STLP_USE_OWN_NAMESPACE */ -+ -+# define _STLP_BEGIN_NAMESPACE namespace _STLP_STD { -+# define _STLP_END_NAMESPACE } -+ -+_STLP_BEGIN_NAMESPACE _STLP_END_NAMESPACE -+ -+namespace stlport = _STLP_STD; -+// backward compatibility -+# undef __STLPORT_NAMESPACE -+# define __STLPORT_NAMESPACE _STLP_STD - --# define __STL_USE_NAMESPACE_FOR_RELOPS - /* decide whether or not we use separate namespace for rel ops */ --# if defined(__STL_NO_RELOPS_NAMESPACE) --# define __STL_BEGIN_RELOPS_NAMESPACE __STL_BEGIN_NAMESPACE namespace rel_ops {} --# define __STL_END_RELOPS_NAMESPACE } --# define __STLPORT_STD_RELOPS STLPORT -+# if defined(_STLP_NO_RELOPS_NAMESPACE) -+# define _STLP_BEGIN_RELOPS_NAMESPACE _STLP_BEGIN_NAMESPACE namespace rel_ops {} -+# define _STLP_END_RELOPS_NAMESPACE } - # else - /* Use std::rel_ops namespace */ --# define __STLPORT_STD_RELOPS STLPORT::rel_ops --# define __STL_BEGIN_RELOPS_NAMESPACE __STL_BEGIN_NAMESPACE namespace rel_ops { --# define __STL_END_RELOPS_NAMESPACE } } --# define __STL_USE_SEPARATE_RELOPS_NAMESPACE -+# define _STLP_BEGIN_RELOPS_NAMESPACE _STLP_BEGIN_NAMESPACE namespace rel_ops { -+# define _STLP_END_RELOPS_NAMESPACE } } -+# define _STLP_USE_SEPARATE_RELOPS_NAMESPACE - # endif /* Use std::rel_ops namespace */ - --# else /* __STL_USE_NAMESPACES */ -+# else /* _STLP_USE_NAMESPACES */ - /* STLport is being put into global namespace */ --# define __STLPORT_STD --# define __STLPORT_DBG_STD --# define __STL_BEGIN_NAMESPACE --# define __STL_END_NAMESPACE --# undef __STL_USE_NAMESPACE_FOR_RELOPS --// boris : postponed until next release. For now, define --// __STL_USE_SEPARATE_RELOPS_NAMESPACE yourselves if you do not want --// relational operator templetes in global namespace --//# ifndef __STL_NO_RELOPS_NAMESPACE --//# define __STL_USE_SEPARATE_RELOPS_NAMESPACE --//# endif --# define __STL_BEGIN_RELOPS_NAMESPACE --# define __STL_END_RELOPS_NAMESPACE --# define __STLPORT_STD_RELOPS --# undef __STL_USE_OWN_NAMESPACE --# endif /* __STL_USE_NAMESPACES */ -+# define _STLP_STD -+# define _STLP_BEGIN_NAMESPACE -+# define _STLP_END_NAMESPACE -+ -+/* boris : it was found out that _STLP_USE_SEPARATE_RELOPS_NAMESPACE -+ causes less problems than having relational operator templates in global namespace -+ Please define _STLP_NO_RELOPS_NAMESPACE in stl_user_config.h if your code rely on them. */ -+# ifndef _STLP_NO_RELOPS_NAMESPACE -+# define _STLP_USE_SEPARATE_RELOPS_NAMESPACE -+# endif -+# define _STLP_BEGIN_RELOPS_NAMESPACE -+# define _STLP_END_RELOPS_NAMESPACE -+# undef _STLP_USE_OWN_NAMESPACE -+# endif /* _STLP_USE_NAMESPACES */ - --# define STLPORT_CSTD __STL_VENDOR_CSTD --# define STLPORT __STLPORT_STD -+# define STLPORT_CSTD _STLP_VENDOR_CSTD -+# define STLPORT _STLP_STD - --#if defined(__STL_BOGUS_TEMPLATE_TYPE_MATCHING_BUG) --# define __STL_SIMPLE_TYPE(T) _stl_trivial_proxy -+#if defined(_STLP_BOGUS_TEMPLATE_TYPE_MATCHING_BUG) -+# define _STLP_SIMPLE_TYPE(T) _stl_trivial_proxy - #else --# define __STL_SIMPLE_TYPE(T) T -+# define _STLP_SIMPLE_TYPE(T) T - #endif - - /* if we are going to use native new iostreams, use native and */ --# if defined (__STL_USE_NEW_IOSTREAMS) && \ -- !defined (__STL_USE_SGI_STRING) && !defined (__SGI_STL_OWN_IOSTREAMS) --# define __STL_USE_NATIVE_STRING 1 --# define __STL_USE_NATIVE_STDEXCEPT 1 --# endif /* __STL_USE_NEW_IOSTREAMS */ -- --# if defined(__STL_MSVC) && defined (__STL_USE_NEW_IOSTREAMS) && ! defined (__SGI_STL_OWN_IOSTREAMS) && \ -- !defined (__STL_USE_OWN_NAMESPACE) && ! defined (__STL_STD_REBUILD) && defined (__STL_USE_SGI_STRING) --# if !defined (CRTDLL2) --# error "You have to #define CRTDLL2, and to link dynamically to work with and SGI , or to #define __STL_OWN_NAMESPACE. Read README.VC++" --# endif /* CRTDLL2 */ --# endif /* __STL_MSVC */ -+# if defined (_STLP_USE_NEW_IOSTREAMS) && !defined (_STLP_OWN_IOSTREAMS) -+# define _STLP_USE_NATIVE_STRING 1 -+# define _STLP_USE_NATIVE_STDEXCEPT 1 -+# endif - --# ifndef __STL_RAND48 --# define __STL_NO_DRAND48 -+# ifndef _STLP_RAND48 -+# define _STLP_NO_DRAND48 - # endif - - /* backwards compatibility */ --# define __STL_NAMESPACE __STLPORT_NAMESPACE --# define __STL_NAME(name) __STLPORT_NAMESPACE::name // Lo Russo Graziano -+# define __STL_NAMESPACE _STLP_STD -+# define __STL_NAME(name) _STLP_STD::name - - /* advanced keywords usage */ --# ifndef __STL_NO_NEW_STYLE_CASTS -+# ifndef _STLP_NO_NEW_STYLE_CASTS - # define __CONST_CAST(__x,__y) const_cast<__x>(__y) - # define __STATIC_CAST(__x,__y) static_cast<__x>(__y) - # define __REINTERPRET_CAST(__x,__y) reinterpret_cast<__x>(__y) - # define __DYNAMIC_CAST(__x,__y) dynamic_cast<__x>(__y) - # else --# define __STATIC_CAST(__x,__y) ((__x)__y) --# define __CONST_CAST(__x,__y) ((__x)__y) --# define __REINTERPRET_CAST(__x,__y) ((__x)__y) --# define __DYNAMIC_CAST(__x,__y) ((__x)__y) -+# define __STATIC_CAST(__x,__y) ((__x)(__y)) -+# define __CONST_CAST(__x,__y) ((__x)(__y)) -+# define __REINTERPRET_CAST(__x,__y) ((__x)(__y)) -+# define __DYNAMIC_CAST(__x,__y) ((__x)(__y)) - # endif --# ifdef __STL_NEED_TYPENAME -+# if defined (_STLP_NEED_TYPENAME) && ! defined (typename) - # define typename - # endif --# if defined (__STL_NEED_TYPENAME) || defined (__STL_NO_TYPENAME_ON_RETURN_TYPE ) --# define __STL_TYPENAME_ON_RETURN_TYPE -+# if defined (_STLP_NEED_TYPENAME) || defined (_STLP_NO_TYPENAME_ON_RETURN_TYPE ) -+# define _STLP_TYPENAME_ON_RETURN_TYPE - # else --# define __STL_TYPENAME_ON_RETURN_TYPE typename -+# define _STLP_TYPENAME_ON_RETURN_TYPE typename - # endif --# ifdef __STL_NO_TYPENAME_IN_TEMPLATE_HEADER --# define __STL_HEADER_TYPENAME -+# ifdef _STLP_NO_TYPENAME_IN_TEMPLATE_HEADER -+# define _STLP_HEADER_TYPENAME - # else --# define __STL_HEADER_TYPENAME typename -+# define _STLP_HEADER_TYPENAME typename - # endif --# ifndef __STL_NO_MEMBER_TEMPLATE_KEYWORD --# define __STL_TEMPLATE template -+# ifndef _STLP_NO_MEMBER_TEMPLATE_KEYWORD -+# define _STLP_TEMPLATE template - # else --# define __STL_TEMPLATE -+# define _STLP_TEMPLATE - # endif --# ifdef __STL_NEED_EXPLICIT -+# if defined (_STLP_NEED_EXPLICIT) && ! defined (explicit) - # define explicit - # endif --# ifndef __STL_NEED_MUTABLE -+# ifndef _STLP_NEED_MUTABLE - # define __ASSIGN_MUTABLE(type,x,y) x=y - # else - # define __ASSIGN_MUTABLE(type,x,y) __CONST_CAST(type,x)=y - # define mutable - # endif --# if defined (__STL_NO_SIGNED_BUILTINS) --/* old HP-UX don't understand "signed" keyword */ -+# if defined (_STLP_NO_SIGNED_BUILTINS) -+/* old HP-UX doesn't understand "signed" keyword */ - # define signed - # endif - --# if defined (__STL_LOOP_INLINE_PROBLEMS) --# define __STL_INLINE_LOOP -+# if defined (_STLP_LOOP_INLINE_PROBLEMS) -+# define _STLP_INLINE_LOOP - # else --# define __STL_INLINE_LOOP inline -+# define _STLP_INLINE_LOOP inline - # endif - --# define __PRIVATE public --# define __PROTECTED public -+# define _STLP_PRIVATE public -+# define _STLP_PROTECTED public - --# ifndef __STL_NO_PARTIAL_SPECIALIZATION_SYNTAX --# define __STL_TEMPLATE_NULL template<> -+# ifndef _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX -+# define _STLP_TEMPLATE_NULL template<> - # else --# define __STL_TEMPLATE_NULL -+# define _STLP_TEMPLATE_NULL - # endif - --# ifdef __STL_CLASS_PARTIAL_SPECIALIZATION --# else --// In 4.0, iterator_category()/value_type()/distance_type() are used by default when no partial spec is available. --// For your own iterators, please use inheritance from iterator<> instead of these obsolete queries. --# if defined (__STL_NESTED_TYPE_PARAM_BUG) || (! defined ( __STL_NO_OLD_HP_ITERATOR_QUERIES ) && ! defined ( __STL_NO_ANACHRONISMS ) && ! defined ( __STL_USE_OLD_HP_ITERATOR_QUERIES ) ) --# define __STL_USE_OLD_HP_ITERATOR_QUERIES -+#ifdef _STLP_FUNCTION_TMPL_PARTIAL_ORDER -+# define _STLP_OPERATOR_TEMPLATE -+# else -+# define _STLP_OPERATOR_TEMPLATE _STLP_TEMPLATE_NULL -+#endif -+ -+# ifndef _STLP_CLASS_PARTIAL_SPECIALIZATION -+/* unless we have other compiler problem, try simulating partial spec here */ -+# if ! defined (_STLP_DONT_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS) -+# define _STLP_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS -+# endif -+/* For your own iterators, please use inheritance from iterator<> instead of these obsolete queries. */ -+# if ( defined (_STLP_NESTED_TYPE_PARAM_BUG) || !defined (_STLP_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS)) -+# if ! defined ( _STLP_USE_OLD_HP_ITERATOR_QUERIES ) -+# define _STLP_USE_OLD_HP_ITERATOR_QUERIES -+# endif -+# elif defined ( _STLP_NO_ANACHRONISMS ) -+# undef _STLP_USE_OLD_HP_ITERATOR_QUERIES - # endif - # endif - --# ifndef __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS --# define __STL_NULL_TMPL_ARGS <> -+# ifndef _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS -+# define _STLP_NULL_TMPL_ARGS <> - # else --# define __STL_NULL_TMPL_ARGS -+# define _STLP_NULL_TMPL_ARGS -+# endif -+ -+# ifndef _STLP_ALLOCATOR_TYPE_DFL -+# ifdef _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS -+# define _STLP_ALLOCATOR_TYPE_DFL -+# else -+# define _STLP_ALLOCATOR_TYPE_DFL = allocator_type() -+# endif -+# endif -+ -+# if defined (__SGI_STL_NO_ARROW_OPERATOR) && ! defined (_STLP_NO_ARROW_OPERATOR) -+# define _STLP_NO_ARROW_OPERATOR - # endif - --# if !defined (__STL_CLASS_PARTIAL_SPECIALIZATION) --# if !( defined (__SGI_STL_NO_ARROW_OPERATOR) && defined (__STL_NO_PROXY_ARROW_OPERATOR)) \ -- && !defined (__STL_NO_MSVC50_COMPATIBILITY) && !defined (__STL_MSVC50_COMPATIBILITY) -+# if !defined (_STLP_CLASS_PARTIAL_SPECIALIZATION) -+# if !( defined (_STLP_NO_ARROW_OPERATOR)) \ -+ && !defined (_STLP_NO_MSVC50_COMPATIBILITY) && !defined (_STLP_MSVC50_COMPATIBILITY) - /* this one is needed for proper reverse_iterator<> operator ->() handling */ --# define __STL_MSVC50_COMPATIBILITY 1 -+# define _STLP_MSVC50_COMPATIBILITY 1 - # endif - # endif - --#if defined ( __STL_CLASS_PARTIAL_SPECIALIZATION ) && \ --! defined (__STL_PARTIAL_SPECIALIZATION_BUG) --# define __STL_DECLARE_REVERSE_ITERATORS(__reverse_iterator) \ -- typedef __STLPORT_STD::reverse_iterator const_reverse_iterator; \ -- typedef __STLPORT_STD::reverse_iterator reverse_iterator --#else /* __STL_CLASS_PARTIAL_SPECIALIZATION */ --# if defined (__STL_MSVC50_COMPATIBILITY) --# define __STL_DECLARE_REVERSE_ITERATORS(__reverse_iterator) \ -- typedef __STLPORT_STD::__reverse_iterator const_reverse_iterator; \ -+ typedef typename _STLP_STD :: reverse_iterator reverse_iterator -+# elif (defined (__sgi) && ! defined (__GNUC__)) || defined (__SUNPRO_CC) || defined (__xlC__) -+# define _STLP_DECLARE_REVERSE_ITERATORS(__reverse_iterator) \ -+ typedef _STLP_STD:: _STLP_TEMPLATE reverse_iterator const_reverse_iterator; \ -+ typedef _STLP_STD:: _STLP_TEMPLATE reverse_iterator reverse_iterator -+# else -+# define _STLP_DECLARE_REVERSE_ITERATORS(__reverse_iterator) \ -+ typedef _STLP_STD::reverse_iterator const_reverse_iterator; \ -+ typedef _STLP_STD::reverse_iterator reverse_iterator -+# endif -+#else /* _STLP_CLASS_PARTIAL_SPECIALIZATION */ -+# if defined (_STLP_MSVC50_COMPATIBILITY) -+# define _STLP_DECLARE_REVERSE_ITERATORS(__reverse_iterator) \ -+ typedef _STLP_STD::__reverse_iterator const_reverse_iterator; \ -- typedef __STLPORT_STD::__reverse_iterator \ -+ typedef _STLP_STD::__reverse_iterator \ - reverse_iterator - # else --# define __STL_DECLARE_REVERSE_ITERATORS(__reverse_iterator) \ -- typedef __STLPORT_STD::__reverse_iterator const_reverse_iterator; \ -- typedef __STLPORT_STD::__reverse_iterator \ - reverse_iterator - # endif --#endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */ -+#endif /* _STLP_CLASS_PARTIAL_SPECIALIZATION */ - --# define __STL_DECLARE_BIDIRECTIONAL_REVERSE_ITERATORS \ -- __STL_DECLARE_REVERSE_ITERATORS(reverse_bidirectional_iterator) --# define __STL_DECLARE_RANDOM_ACCESS_REVERSE_ITERATORS \ -- __STL_DECLARE_REVERSE_ITERATORS(reverse_iterator) -+# define _STLP_DECLARE_BIDIRECTIONAL_REVERSE_ITERATORS \ -+ _STLP_DECLARE_REVERSE_ITERATORS(reverse_bidirectional_iterator) -+# define _STLP_DECLARE_RANDOM_ACCESS_REVERSE_ITERATORS \ -+ _STLP_DECLARE_REVERSE_ITERATORS(reverse_iterator) - - # define __IMPORT_CONTAINER_TYPEDEFS(_Super) \ - typedef typename _Super::value_type value_type; \ -@@ -808,12 +761,12 @@ - # define __IMPORT_WITH_REVERSE_ITERATORS(_Super) \ - __IMPORT_WITH_ITERATORS(_Super) __IMPORT_REVERSE_ITERATORS(_Super) - --# if defined (__STL_TRIVIAL_CONSTRUCTOR_BUG) -+# if defined (_STLP_TRIVIAL_CONSTRUCTOR_BUG) - # define __TRIVIAL_CONSTRUCTOR(__type) __type() {} - # else - # define __TRIVIAL_CONSTRUCTOR(__type) - # endif --# if defined (__STL_TRIVIAL_DESTRUCTOR_BUG) -+# if defined (_STLP_TRIVIAL_DESTRUCTOR_BUG) - # define __TRIVIAL_DESTRUCTOR(__type) ~__type() {} - # else - # define __TRIVIAL_DESTRUCTOR(__type) -@@ -822,44 +775,45 @@ - # define __TRIVIAL_STUFF(__type) \ - __TRIVIAL_CONSTRUCTOR(__type) __TRIVIAL_DESTRUCTOR(__type) - --# if ! (defined ( __STL_NO_EXCEPTIONS ) || defined (__STL_HAS_NO_EXCEPTIONS) \ -- || defined ( __STL_USE_EXCEPTIONS )) --# define __STL_USE_EXCEPTIONS -+# if ! (defined ( _STLP_NO_EXCEPTIONS ) || defined (_STLP_HAS_NO_EXCEPTIONS) \ -+ || defined ( _STLP_USE_EXCEPTIONS )) -+# define _STLP_USE_EXCEPTIONS - # endif - --# ifdef __STL_USE_EXCEPTIONS --# define __STL_TRY try --# define __STL_CATCH_ALL catch(...) --# ifndef __STL_THROW --# define __STL_THROW(x) throw x -+# ifdef _STLP_USE_EXCEPTIONS -+# define _STLP_TRY try -+# define _STLP_CATCH_ALL catch(...) -+# ifndef _STLP_THROW -+# define _STLP_THROW(x) throw x - # endif --# define __STL_RETHROW throw --# define __STL_UNWIND(action) catch(...) { action; throw; } --# if !defined ( __STL_NO_EXCEPTION_SPEC ) --# define __STL_THROWS_INHERENTLY(x) throw x --# define __STL_NOTHROW_INHERENTLY throw() -+# define _STLP_RETHROW throw -+# define _STLP_UNWIND(action) catch(...) { action; throw; } -+ -+# if !defined ( _STLP_NO_EXCEPTION_SPEC ) -+# define _STLP_THROWS_INHERENTLY(x) throw x -+# define _STLP_NOTHROW_INHERENTLY throw() - # else --# define __STL_THROWS_INHERENTLY(x) --# define __STL_NOTHROW_INHERENTLY -+# define _STLP_THROWS_INHERENTLY(x) -+# define _STLP_NOTHROW_INHERENTLY - # endif --// We do not use exception throw specifications unless we are forced to --# define __STL_THROWS(x) --# define __STL_NOTHROW --# else --# define __STL_TRY --# define __STL_CATCH_ALL if (false) --# ifndef __STL_THROW --# define __STL_THROW(x) -+/* We do not use exception throw specifications unless we are forced to */ -+# define _STLP_THROWS(x) -+# define _STLP_NOTHROW -+# else -+# define _STLP_TRY -+# define _STLP_CATCH_ALL if (false) -+# ifndef _STLP_THROW -+# define _STLP_THROW(x) - # endif --# define __STL_RETHROW --# define __STL_UNWIND(action) --# define __STL_THROWS(x) --# define __STL_NOTHROW --# define __STL_THROWS_INHERENTLY(x) --# define __STL_NOTHROW_INHERENTLY -+# define _STLP_RETHROW {} -+# define _STLP_UNWIND(action) -+# define _STLP_THROWS(x) -+# define _STLP_NOTHROW -+# define _STLP_THROWS_INHERENTLY(x) -+# define _STLP_NOTHROW_INHERENTLY - # endif - --#if defined(__STL_NO_BOOL) -+#if defined(_STLP_NO_BOOL) - # if (defined (__IBMCPP__) && (__IBMCPP__ < 400)) && ! defined (_AIX) - # include - # if defined (__OS400__) -@@ -868,10 +822,10 @@ - typedef Boolean bool; - # endif - # else --# if defined(__STL_YVALS_H) -+# if defined(_STLP_YVALS_H) - # include - # else --# if defined (__STL_DONT_USE_BOOL_TYPEDEF) -+# if defined (_STLP_DONT_USE_BOOL_TYPEDEF) - # define bool int - # else - typedef int bool; -@@ -881,157 +835,183 @@ - # endif - # endif /* __IBMCPP__ */ - #else --# define __STL_BOOL_KEYWORD 1 --#endif /* __STL_NO_BOOL */ -+# define _STLP_BOOL_KEYWORD 1 -+#endif /* _STLP_NO_BOOL */ - --# ifndef __STL_MPW_EXTRA_CONST --# define __STL_MPW_EXTRA_CONST -+# ifndef _STLP_MPW_EXTRA_CONST -+# define _STLP_MPW_EXTRA_CONST - # endif - --# ifndef __STL_DEFAULTCHAR --# define __STL_DEFAULTCHAR char -+# ifndef _STLP_DEFAULTCHAR -+# define _STLP_DEFAULTCHAR char - # endif - --# if defined (__STL_DEBUG_ALLOC) && ! defined (__STL_ASSERTIONS) --# define __STL_ASSERTIONS 1 -+# if defined (_STLP_DEBUG_ALLOC) && ! defined (_STLP_ASSERTIONS) -+# define _STLP_ASSERTIONS 1 - # endif - - /* uninitialized value filler */ --# ifndef __STL_SHRED_BYTE -+# ifndef _STLP_SHRED_BYTE - /* This value is designed to cause problems if an error occurs */ --# define __STL_SHRED_BYTE 0xA3 --# endif /* __STL_SHRED_BYTE */ -+# define _STLP_SHRED_BYTE 0xA3 -+# endif /* _STLP_SHRED_BYTE */ - - /* shared library tune-up */ --# ifndef __STL_IMPORT_DECLSPEC --# define __STL_IMPORT_DECLSPEC -+# ifndef _STLP_IMPORT_DECLSPEC -+# define _STLP_IMPORT_DECLSPEC - # endif - - /* a keyword used to instantiate export template */ --# ifndef __STL_EXPORT_TEMPLATE_KEYWORD --# define __STL_EXPORT_TEMPLATE_KEYWORD -+# ifndef _STLP_EXPORT_TEMPLATE_KEYWORD -+# define _STLP_EXPORT_TEMPLATE_KEYWORD - # endif --# ifndef __STL_IMPORT_TEMPLATE_KEYWORD --# define __STL_IMPORT_TEMPLATE_KEYWORD -+# ifndef _STLP_IMPORT_TEMPLATE_KEYWORD -+# define _STLP_IMPORT_TEMPLATE_KEYWORD - # endif - - --# if defined (__STL_DLLEXPORT_NEEDS_PREDECLARATION) && defined (__STL_USE_DECLSPEC) --// this setting turns on "export template" extensio use --# define __STL_USE_TEMPLATE_EXPORT --# if defined (__STL_DESIGNATED_DLL) && ! defined (__STL_NO_FORCE_INSTANTIATE) --# define __STL_NO_FORCE_INSTANTIATE -+# if defined (_STLP_DLLEXPORT_NEEDS_PREDECLARATION) && defined (_STLP_USE_DECLSPEC) -+# if ! defined (_STLP_USE_TEMPLATE_EXPORT) -+/* this setting turns on "extern template" extension use */ -+# define _STLP_USE_TEMPLATE_EXPORT -+# endif -+# if defined (_STLP_DESIGNATED_DLL) && ! defined (_STLP_NO_FORCE_INSTANTIATE) -+# define _STLP_NO_FORCE_INSTANTIATE - # endif - # endif - --# if defined (__STL_DESIGNATED_DLL) /* This is a lib which will contain STLport exports */ --# define __STL_EXPORT __STL_EXPORT_TEMPLATE_KEYWORD -+# if defined (_STLP_DESIGNATED_DLL) /* This is a lib which will contain STLport exports */ -+# define _STLP_EXPORT _STLP_EXPORT_TEMPLATE_KEYWORD - # else --# define __STL_EXPORT __STL_IMPORT_TEMPLATE_KEYWORD -+# define _STLP_EXPORT _STLP_IMPORT_TEMPLATE_KEYWORD - # endif - --# ifndef __STL_EXPORT_TEMPLATE --# define __STL_EXPORT_TEMPLATE __STL_EXPORT template -+# ifndef _STLP_EXPORT_TEMPLATE -+# define _STLP_EXPORT_TEMPLATE _STLP_EXPORT template - # endif - --# if defined (__STL_USE_DECLSPEC) /* using export/import technique */ --# ifndef __STL_EXPORT_DECLSPEC --# define __STL_EXPORT_DECLSPEC -+# if defined (_STLP_USE_DECLSPEC) /* using export/import technique */ -+ -+# ifndef _STLP_EXPORT_DECLSPEC -+# define _STLP_EXPORT_DECLSPEC - # endif --# ifndef __STL_CLASS_EXPORT_DECLSPEC --# define __STL_CLASS_EXPORT_DECLSPEC -+# ifndef _STLP_IMPORT_DECLSPEC -+# define _STLP_IMPORT_DECLSPEC - # endif --# ifndef __STL_CLASS_IMPORT_DECLSPEC --# define __STL_CLASS_IMPORT_DECLSPEC -+# ifndef _STLP_CLASS_EXPORT_DECLSPEC -+# define _STLP_CLASS_EXPORT_DECLSPEC - # endif --# if defined (__STL_DESIGNATED_DLL) /* This is a lib which will contain STLport exports */ --# define __STL_DECLSPEC __STL_EXPORT_DECLSPEC --# define __STL_CLASS_DECLSPEC __STL_CLASS_EXPORT_DECLSPEC --# else --# define __STL_DECLSPEC __STL_IMPORT_DECLSPEC /* Other modules, importing STLport exports */ --# define __STL_CLASS_DECLSPEC __STL_CLASS_IMPORT_DECLSPEC -+# ifndef _STLP_CLASS_IMPORT_DECLSPEC -+# define _STLP_CLASS_IMPORT_DECLSPEC -+# endif -+# if defined (_STLP_DESIGNATED_DLL) /* This is a lib which will contain STLport exports */ -+# define _STLP_DECLSPEC _STLP_EXPORT_DECLSPEC -+# define _STLP_CLASS_DECLSPEC _STLP_CLASS_EXPORT_DECLSPEC -+# else -+# define _STLP_DECLSPEC _STLP_IMPORT_DECLSPEC /* Other modules, importing STLport exports */ -+# define _STLP_CLASS_DECLSPEC _STLP_CLASS_IMPORT_DECLSPEC - # endif - -+# ifndef _STLP_STATIC_CONST_INIT_BUG -+// constant data members cannot be exported; using workaround here -+# define _STLP_STATIC_CONST_INIT_BUG -+# endif - # else /* Not using DLL export/import specifications */ - --# define __STL_DECLSPEC --# define __STL_CLASS_DECLSPEC -+# define _STLP_DECLSPEC -+# define _STLP_CLASS_DECLSPEC -+ - # endif - --# define __STL_EXPORT_TEMPLATE_CLASS __STL_EXPORT template class __STL_CLASS_DECLSPEC -+# define _STLP_EXPORT_TEMPLATE_CLASS _STLP_EXPORT template class _STLP_CLASS_DECLSPEC - --# if defined (__STL_MSVC) || defined (__ICL) --# define __STL_STATIC_MEMBER_DECLSPEC -+# if defined (_STLP_MSVC) || defined (__ICL) -+# define _STLP_STATIC_MEMBER_DECLSPEC - # else --# define __STL_STATIC_MEMBER_DECLSPEC __STL_DECLSPEC -+# define _STLP_STATIC_MEMBER_DECLSPEC _STLP_DECLSPEC -+# endif -+ -+# if !defined (_STLP_CALL) -+# define _STLP_CALL -+# endif -+ -+#ifdef _STLP_OWN_IOSTREAMS -+ -+# if defined (__DECCXX) && ! defined (__USE_STD_IOSTREAM) -+# define __USE_STD_IOSTREAM - # endif - --# if !defined (__STL_CALL) --# define __STL_CALL -+/* We only need to expose details of streams implementation -+ if we use non-standard i/o or are building STLport*/ -+# if defined (__BUILDING_STLPORT) || defined (_STLP_NO_FORCE_INSTANTIATE) || !defined(_STLP_NO_CUSTOM_IO) -+# define _STLP_EXPOSE_STREAM_IMPLEMENTATION 1 -+# endif -+ -+/* We only need to expose details of global implementation if we are building STLport -+ or have not instantiated everything in the lib */ -+# if defined (__BUILDING_STLPORT) || defined (_STLP_NO_FORCE_INSTANTIATE) -+# undef _STLP_EXPOSE_GLOBALS_IMPLEMENTATION -+# define _STLP_EXPOSE_GLOBALS_IMPLEMENTATION 1 - # endif - --# ifdef __STL_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS --# define __STL_PSPEC2(t1,t2) < t1,t2 > --# define __STL_PSPEC3(t1,t2,t3) < t1,t2,t3 > -+#else -+/* when we are not using SGI iostreams, we must expose globals, but not streams implementation */ -+# define _STLP_EXPOSE_GLOBALS_IMPLEMENTATION -+#endif -+ -+# ifdef _STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS -+# define _STLP_PSPEC2(t1,t2) < t1,t2 > -+# define _STLP_PSPEC3(t1,t2,t3) < t1,t2,t3 > - # else --# define __STL_PSPEC2(t1,t2) /* nothing */ --# define __STL_PSPEC3(t1,t2,t3) /* nothing */ -+# define _STLP_PSPEC2(t1,t2) /* nothing */ -+# define _STLP_PSPEC3(t1,t2,t3) /* nothing */ - # endif - --# ifdef __STL_OPERATOR_SPEC_NEEDS_TEMPLATE_ARGS --# define __STL_OPSPEC2(t1,t2) < t1,t2 > -+# ifdef _STLP_OPERATOR_SPEC_NEEDS_TEMPLATE_ARGS -+# define _STLP_OPSPEC2(t1,t2) < t1,t2 > - # else --# define __STL_OPSPEC2(t1,t2) /* nothing */ -+# define _STLP_OPSPEC2(t1,t2) /* nothing */ - # endif - --# if defined (__SGI_STL_OWN_IOSTREAMS) --# define __STL_NEW_IO_NAMESPACE __STLPORT_STD --# define __STL_NO_WIDE_STREAMS __STL_NO_WCHAR_T -+# if defined (_STLP_OWN_IOSTREAMS) -+# define _STLP_NEW_IO_NAMESPACE _STLP_STD -+# define _STLP_NO_WIDE_STREAMS _STLP_NO_WCHAR_T - # else --# ifdef __STL_USE_NEW_IOSTREAMS --# define __STL_NEW_IO_NAMESPACE __STL_VENDOR_STD --# define __STL_NO_WIDE_STREAMS __STL_NO_NATIVE_WIDE_STREAMS -+# ifdef _STLP_USE_NEW_IOSTREAMS -+# define _STLP_NEW_IO_NAMESPACE _STLP_VENDOR_STD -+# ifdef _STLP_NO_NATIVE_WIDE_STREAMS -+# define _STLP_NO_WIDE_STREAMS _STLP_NO_NATIVE_WIDE_STREAMS -+# endif /* _STLP_NO_NATIVE_WIDE_STREAMS */ - # else --# define __STL_NO_WIDE_STREAMS --# define __STL_NEW_IO_NAMESPACE -+# define _STLP_NO_WIDE_STREAMS -+# define _STLP_NEW_IO_NAMESPACE - # endif - # endif - --/* We disable link-time instantiation of RW library because -- * it is not compatible with std renaming */ --#if !(defined(__STL_DONT_RENAME_STD) || defined(__BORLANDC__) || \ -- defined(_RWSTD_COMPILE_INSTANTIATE)) --# define _RWSTD_COMPILE_INSTANTIATE --#endif -- --#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE --# define __STL_RELOPS_OPERATORS(_TMPL, _TP) \ --_TMPL \ --inline bool __STL_CALL operator!=(const _TP& __x, const _TP& __y) {return !(__x == __y);}\ --_TMPL \ --inline bool __STL_CALL operator>(const _TP& __x, const _TP& __y) {return __y < __x;}\ --_TMPL \ --inline bool __STL_CALL operator<=(const _TP& __x, const _TP& __y) { return !(__y < __x);}\ --_TMPL \ --inline bool __STL_CALL operator>=(const _TP& __x, const _TP& __y) { return !(__x < __y);} -+#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE -+# define _STLP_RELOPS_OPERATORS(_TMPL, _TP) \ -+_TMPL inline bool _STLP_CALL operator!=(const _TP& __x, const _TP& __y) {return !(__x == __y);}\ -+_TMPL inline bool _STLP_CALL operator>(const _TP& __x, const _TP& __y) {return __y < __x;}\ -+_TMPL inline bool _STLP_CALL operator<=(const _TP& __x, const _TP& __y) { return !(__y < __x);}\ -+_TMPL inline bool _STLP_CALL operator>=(const _TP& __x, const _TP& __y) { return !(__x < __y);} - # else --# define __STL_RELOPS_OPERATORS(_TMPL, _TP) -+# define _STLP_RELOPS_OPERATORS(_TMPL, _TP) -+# endif -+ -+# if defined ( _STLP_USE_ABBREVS ) -+# include - # endif - - /* some cleanup */ --# undef __STL_PARTIAL_SPECIALIZATION_SYNTAX --# undef __STL_DONT_USE_BOOL_TYPEDEF --# undef __STL_YVALS_H --# undef __STL_LOOP_INLINE_PROBLEMS --# undef __STL_NEED_EXPLICIT --# undef __STL_NEED_TYPENAME --# undef __STL_NO_NEW_STYLE_CASTS -+# undef _STLP_DONT_USE_BOOL_TYPEDEF -+# undef _STLP_YVALS_H -+# undef _STLP_LOOP_INLINE_PROBLEMS -+# undef _STLP_NEED_EXPLICIT -+# undef _STLP_NEED_TYPENAME -+# undef _STLP_NO_NEW_STYLE_CASTS - # undef __AUTO_CONFIGURED - --# define __STL_CONFIG_H_DONE 1 -- -- --#endif /* __STL_CONFIG_H */ -+#endif /* _STLP_CONFIG_H */ - - /* Local Variables: - * mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_config_compat.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_config_compat.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_config_compat.h Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_config_compat.h Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,89 @@ -+ -+/* -+ * Compatibility section -+ * This section sets new-style macros based on old-style ones, for compatibility -+ */ -+ -+# if (defined (__STL_NO_SGI_IOSTREAMS) || defined (_STLP_NO_SGI_IOSTREAMS)) \ -+ && ! defined ( _STLP_NO_OWN_IOSTREAMS ) -+# define _STLP_NO_OWN_IOSTREAMS -+# endif -+ -+# if defined (__STL_NO_NEW_IOSTREAMS) && ! defined ( _STLP_NO_NEW_IOSTREAMS ) -+# define _STLP_NO_NEW_IOSTREAMS __STL_NO_NEW_IOSTREAMS -+# endif -+# if defined (__STL_NO_IOSTREAMS) && ! defined ( _STLP_NO_IOSTREAMS ) -+# define _STLP_NO_IOSTREAMS __STL_NO_IOSTREAMS -+# endif -+# if defined (__STL_DEBUG) && ! defined ( _STLP_DEBUG ) -+# define _STLP_DEBUG __STL_DEBUG -+# endif -+# if defined (__STL_NO_ANACHRONISMS) && ! defined ( _STLP_NO_ANACHRONISMS ) -+# define _STLP_NO_ANACHRONISMS __STL_NO_ANACHRONISMS -+# endif -+# if defined (__STL_NO_EXTENSIONS) && ! defined ( _STLP_NO_EXTENSIONS ) -+# define _STLP_NO_EXTENSIONS __STL_NO_EXTENSIONS -+# endif -+# if defined (__STL_NO_EXCEPTIONS) && ! defined ( _STLP_NO_EXCEPTIONS ) -+# define _STLP_NO_EXCEPTIONS __STL_NO_EXCEPTIONS -+# endif -+# if defined (__STL_NO_NAMESPACES) && ! defined ( _STLP_NO_NAMESPACES ) -+# define _STLP_NO_NAMESPACES __STL_NO_NAMESPACES -+# endif -+# if defined (__STL_MINIMUM_DEFAULT_TEMPLATE_PARAMS) && ! defined ( _STLP_MINIMUM_DEFAULT_TEMPLATE_PARAMS ) -+# define _STLP_MINIMUM_DEFAULT_TEMPLATE_PARAMS __STL_MINIMUM_DEFAULT_TEMPLATE_PARAMS -+# endif -+# if defined (__STL_NO_OWN_NAMESPACE) && ! defined ( _STLP_NO_OWN_NAMESPACE ) -+# define _STLP_NO_OWN_NAMESPACE __STL_NO_OWN_NAMESPACE -+# endif -+ -+# if defined (__STL_NO_RELOPS_NAMESPACE) && ! defined ( _STLP_NO_RELOPS_NAMESPACE ) -+# define _STLP_NO_RELOPS_NAMESPACE __STL_NO_RELOPS_NAMESPACE -+# endif -+ -+# if defined (__STL_DEBUG_UNINITIALIZED) && ! defined ( _STLP_DEBUG_UNINITIALIZED ) -+# define _STLP_DEBUG_UNINITIALIZED __STL_DEBUG_UNINITIALIZED -+# endif -+# if defined (__STL_SHRED_BYTE) && ! defined ( _STLP_SHRED_BYTE ) -+# define _STLP_SHRED_BYTE __STL_SHRED_BYTE -+# endif -+# if defined (__STL_USE_MFC) && ! defined ( _STLP_USE_MFC ) -+# define _STLP_USE_MFC __STL_USE_MFC -+# endif -+ -+# if defined (__STL_USE_NEWALLOC) && ! defined ( _STLP_USE_NEWALLOC ) -+# define _STLP_USE_NEWALLOC __STL_USE_NEWALLOC -+# endif -+# if defined (__STL_USE_MALLOC) && ! defined ( _STLP_USE_MALLOC ) -+# define _STLP_USE_MALLOC __STL_USE_MALLOC -+# endif -+ -+# if defined (__STL_DEBUG_ALLOC) && ! defined ( _STLP_DEBUG_ALLOC ) -+# define _STLP_DEBUG_ALLOC __STL_DEBUG_ALLOC -+# endif -+ -+# if defined (__STL_DEBUG_MESSAGE) && ! defined ( _STLP_DEBUG_MESSAGE ) -+# define _STLP_DEBUG_MESSAGE __STL_DEBUG_MESSAGE -+# endif -+ -+# if defined (__STL_DEBUG_TERMINATE) && ! defined ( _STLP_DEBUG_TERMINATE ) -+# define _STLP_DEBUG_TERMINATE __STL_DEBUG_TERMINATE -+# endif -+ -+# if defined (__STL_NO_DEBUG_EXCEPTIONS) && ! defined ( _STLP_NO_DEBUG_EXCEPTIONS ) -+# define _STLP_NO_DEBUG_EXCEPTIONS __STL_NO_DEBUG_EXCEPTIONS -+# endif -+ -+# if defined (__STL_USE_ABBREVS) && ! defined ( _STLP_USE_ABBREVS ) -+# define _STLP_USE_ABBREVS __STL_USE_ABBREVS -+# endif -+ -+# if defined (__STL_NO_MSVC50_COMPATIBILITY) && ! defined ( _STLP_NO_MSVC50_COMPATIBILITY ) -+# define _STLP_NO_MSVC50_COMPATIBILITY __STL_NO_MSVC50_COMPATIBILITY -+# endif -+ -+# if defined (__STL_USE_RAW_SGI_ALLOCATORS) && ! defined ( _STLP_USE_RAW_SGI_ALLOCATORS ) -+# define _STLP_USE_RAW_SGI_ALLOCATORS __STL_USE_RAW_SGI_ALLOCATORS -+# endif -+ -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_config_compat_post.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_config_compat_post.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_config_compat_post.h Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_config_compat_post.h Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,35 @@ -+//========================================== -+ -+# define __SGI_STL_PORT _STLPORT_VERSION -+ -+# if defined (_STLP_DEBUG) && ! defined ( __STL_DEBUG ) -+# define __STL_DEBUG _STLP_DEBUG -+# endif -+ -+# if defined (_STLP_USE_NAMESPACES) -+# undef __STL_USE_NAMESPACES -+# define __STL_USE_NAMESPACES _STLP_USE_NAMESPACES -+# endif -+ -+# if defined (_STLP_USE_EXCEPTIONS) -+# undef __STL_USE_EXCEPTIONS -+# define __STL_USE_EXCEPTIONS _STLP_USE_EXCEPTIONS -+# endif -+ -+# if defined (_STLP_USE_NEW_IOSTREAMS) && ! defined ( __STL_USE_NEW_IOSTREAMS ) -+# define __STL_USE_NEW_IOSTREAMS _STLP_USE_NEW_IOSTREAMS -+# endif -+ -+# if defined (_STLP_BEGIN_NAMESPACE) && ! defined ( __STL_BEGIN_NAMESPACE ) -+# define __STL_BEGIN_NAMESPACE _STLP_BEGIN_NAMESPACE -+# define __STL_END_NAMESPACE _STLP_END_NAMESPACE -+# define __STL_VENDOR_STD _STLP_VENDOR_STD -+# define __STL_VENDOR_CSTD _STLP_VENDOR_CSTD -+# endif -+ -+/* -+# if defined (_STLP_XXX) && ! defined ( __STL_XXX ) -+# define __STL_XXX _STLP_XXX -+# endif -+*/ -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_construct.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_construct.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_construct.h Sat Feb 24 10:44:46 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_construct.h Sun Aug 11 18:59:24 2002 -@@ -27,32 +27,29 @@ - * You should not attempt to use it directly. - */ - --#ifndef __SGI_STL_INTERNAL_CONSTRUCT_H --#define __SGI_STL_INTERNAL_CONSTRUCT_H -+#ifndef _STLP_INTERNAL_CONSTRUCT_H -+#define _STLP_INTERNAL_CONSTRUCT_H - --# if defined (__STL_DEBUG_UNINITIALIZED) && ! defined (__STLPORT_CSTRING) -+# if defined (_STLP_DEBUG_UNINITIALIZED) && ! defined (_STLP_CSTRING) - # include - # endif - --# ifndef __STLPORT_NEW -+# ifndef _STLP_NEW_HEADER - # include - # endif - --// # ifndef __TYPE_TRAITS_H --// # include --// # endif - --#ifndef __SGI_STL_INTERNAL_ITERATOR_BASE_H -+#ifndef _STLP_INTERNAL_ITERATOR_BASE_H - # include - #endif - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - --# ifdef __STL_TRIVIAL_DESTRUCTOR_BUG -+# ifdef _STLP_TRIVIAL_DESTRUCTOR_BUG - template --inline void __destroy_aux(_Tp* __pointer, __false_type) { __pointer->~_Tp(); } -+inline void __destroy_aux(_Tp* __pointer, const __false_type&) { __pointer->~_Tp(); } - template --inline void __destroy_aux(_Tp* __pointer, __true_type) {} -+inline void __destroy_aux(_Tp* __pointer, const __true_type&) {} - # endif - - template -@@ -60,9 +57,8 @@ - # if _MSC_VER >= 1010 - __pointer; - # endif // _MSC_VER >= 1000 --# ifdef __STL_TRIVIAL_DESTRUCTOR_BUG -- typedef typename __type_traits<_Tp>::has_trivial_destructor -- _Trivial_destructor; -+# ifdef _STLP_TRIVIAL_DESTRUCTOR_BUG -+ typedef typename __type_traits<_Tp>::has_trivial_destructor _Trivial_destructor; - __destroy_aux(__pointer, _Trivial_destructor()); - # else - # if ( defined (__BORLANDC__) && ( __BORLANDC__ < 0x500 ) ) -@@ -71,96 +67,83 @@ - __pointer->~_Tp(); - # endif - # endif --# ifdef __STL_DEBUG_UNINITIALIZED -- memset((char*)__pointer, (char)__STL_SHRED_BYTE, sizeof(_Tp)); -+# ifdef _STLP_DEBUG_UNINITIALIZED -+ memset((char*)__pointer, _STLP_SHRED_BYTE, sizeof(_Tp)); - # endif - } - - # if defined (new) --# define __STL_NEW_REDEFINE new -+# define _STLP_NEW_REDEFINE new - # undef new - # endif - - template --inline void _Construct(_T1* __p, const _T2& __value) { --# ifdef __STL_DEBUG_UNINITIALIZED -- memset((char*)__p, (char)__STL_SHRED_BYTE, sizeof(_T1)); -+inline void _Construct(_T1* __p, const _T2& __val) { -+# ifdef _STLP_DEBUG_UNINITIALIZED -+ memset((char*)__p, _STLP_SHRED_BYTE, sizeof(_T1)); - # endif -- __STL_PLACEMENT_NEW (__p) _T1(__value); -+ _STLP_PLACEMENT_NEW (__p) _T1(__val); - } - - template - inline void _Construct(_T1* __p) { --# ifdef __STL_DEBUG_UNINITIALIZED -- memset((char*)__p, (char)__STL_SHRED_BYTE, sizeof(_T1)); -+# ifdef _STLP_DEBUG_UNINITIALIZED -+ memset((char*)__p, _STLP_SHRED_BYTE, sizeof(_T1)); - # endif -- __STL_PLACEMENT_NEW (__p) _T1(); -+ _STLP_PLACEMENT_NEW (__p) _T1(); - } - --# if defined(__STL_NEW_REDEFINE) -+# if defined(_STLP_NEW_REDEFINE) - # ifdef DEBUG_NEW - # define new DEBUG_NEW - # endif --# undef __STL_NEW_REDEFINE -+# undef _STLP_NEW_REDEFINE - # endif - - template --__STL_INLINE_LOOP void --__destroy_aux(_ForwardIterator __first, _ForwardIterator __last, __false_type) --{ -+_STLP_INLINE_LOOP void -+__destroy_aux(_ForwardIterator __first, _ForwardIterator __last, const __false_type&) { - for ( ; __first != __last; ++__first) - _Destroy(&*__first); - } - - template --inline void __destroy_aux(_ForwardIterator, _ForwardIterator, __true_type) {} -+inline void __destroy_aux(_ForwardIterator, _ForwardIterator, const __true_type&) {} - - template - inline void --__destroy(_ForwardIterator __first, _ForwardIterator __last, _Tp*) --{ -- typedef typename __type_traits<_Tp>::has_trivial_destructor -- _Trivial_destructor; -+__destroy(_ForwardIterator __first, _ForwardIterator __last, _Tp*) { -+ typedef typename __type_traits<_Tp>::has_trivial_destructor _Trivial_destructor; - __destroy_aux(__first, __last, _Trivial_destructor()); - } - - template - inline void _Destroy(_ForwardIterator __first, _ForwardIterator __last) { -- __destroy(__first, __last, __VALUE_TYPE(__first)); -+ __destroy(__first, __last, _STLP_VALUE_TYPE(__first, _ForwardIterator)); - } - - inline void _Destroy(char*, char*) {} --# ifdef __STL_HAS_WCHAR_T // dwa 8/15/97 -+# ifdef _STLP_HAS_WCHAR_T // dwa 8/15/97 - inline void _Destroy(wchar_t*, wchar_t*) {} - inline void _Destroy(const wchar_t*, const wchar_t*) {} - # endif - -+# ifndef _STLP_NO_ANACHRONISMS - // -------------------------------------------------- - // Old names from the HP STL. - - template --inline void construct(_T1* __p, const _T2& __value) { -- _Construct(__p, __value); --} -- -+inline void construct(_T1* __p, const _T2& __val) {_Construct(__p, __val); } - template --inline void construct(_T1* __p) { -- _Construct(__p); --} -- -+inline void construct(_T1* __p) { _Construct(__p); } - template --inline void destroy(_Tp* __pointer) { -- _Destroy(__pointer); --} -- -+inline void destroy(_Tp* __pointer) { _Destroy(__pointer); } - template --inline void destroy(_ForwardIterator __first, _ForwardIterator __last) { -- _Destroy(__first, __last); --} -- --__STL_END_NAMESPACE -+inline void destroy(_ForwardIterator __first, _ForwardIterator __last) { _Destroy(__first, __last); } -+# endif -+_STLP_END_NAMESPACE - --#endif /* __SGI_STL_INTERNAL_CONSTRUCT_H */ -+#endif /* _STLP_INTERNAL_CONSTRUCT_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_ctraits_fns.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_ctraits_fns.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_ctraits_fns.h Sat Feb 24 10:44:46 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_ctraits_fns.h Sun Aug 11 18:59:24 2002 -@@ -15,17 +15,17 @@ - // standard library headers. You should not attempt to use this header - // file directly. - --#ifndef __SGI_STL_INTERNAL_CTRAITS_FUNCTIONS_H --#define __SGI_STL_INTERNAL_CTRAITS_FUNCTIONS_H -+#ifndef _STLP_INTERNAL_CTRAITS_FUNCTIONS_H -+#define _STLP_INTERNAL_CTRAITS_FUNCTIONS_H - --# ifndef __SGI_STL_INTERNAL_FUNCTION_H --# include -+# ifndef _STLP_INTERNAL_FUNCTION_H -+# include - # endif - - // This file contains a few small adapters that allow a character - // traits class to be used as a function object. - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - template - struct _Eq_traits -@@ -39,17 +39,38 @@ - }; - - template --struct _Eq_int_traits -- : public binary_function -+struct _Eq_char_bound -+ : public unary_function - { -- bool operator()(const typename _Traits::char_type& __x, -- const typename _Traits::int_type& __y) const -- { return _Traits::eq_int_type(_Traits::to_int_type(__x), __y); } -+ typename _Traits::char_type __val; -+ _Eq_char_bound(typename _Traits::char_type __c) : __val(__c) {} -+ bool operator()(const typename _Traits::char_type& __x) const -+ { return _Traits::eq(__x, __val); } -+}; -+ -+template -+struct _Neq_char_bound -+ : public unary_function -+{ -+ typename _Traits::char_type __val; -+ _Neq_char_bound(typename _Traits::char_type __c) : __val(__c) {} -+ bool operator()(const typename _Traits::char_type& __x) const -+ { return !_Traits::eq(__x, __val); } - }; - - template -+struct _Eq_int_bound -+ : public unary_function -+{ -+ typename _Traits::int_type __val; -+ -+ _Eq_int_bound(typename _Traits::int_type __c) : __val(__c) {} -+ bool operator()(const typename _Traits::char_type& __x) const -+ { return _Traits::eq_int_type(_Traits::to_int_type(__x), __val); } -+}; -+ -+# if 0 -+template - struct _Lt_traits - : public binary_function -- --# ifndef __STL_INTERNAL_ALGOBASE_H -+# ifndef _STLP_C_LOCALE_H -+# include -+# endif -+# ifndef _STLP_INTERNAL_LOCALE_H -+# include -+# endif -+# ifndef _STLP_INTERNAL_ALGOBASE_H - # include - # endif - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - --class __STL_CLASS_DECLSPEC ctype_base { -+class _STLP_CLASS_DECLSPEC ctype_base { - public: - enum mask { - space = _Locale_SPACE, -@@ -47,21 +51,132 @@ - }; - }; - -+// ctype<> template -+ - template class ctype {}; - template class ctype_byname {}; - --# ifndef __STL_NO_WCHAR_T --__STL_TEMPLATE_NULL --class __STL_CLASS_DECLSPEC ctype : public locale::facet, public ctype_base -+//ctype specializations -+ -+_STLP_TEMPLATE_NULL -+class _STLP_CLASS_DECLSPEC ctype : public locale::facet, public ctype_base -+{ -+ -+# ifndef _STLP_NO_WCHAR_T -+# ifdef _STLP_MSVC -+ typedef ctype _Wctype; -+ friend _Wctype; -+# else -+ friend class ctype; -+# endif -+# endif -+ friend class _Locale; -+public: -+ -+ typedef char char_type; -+ -+ explicit ctype(const mask* __tab = 0, bool __del = false, size_t __refs = 0); -+ bool is(mask __m, char __c) const -+ { return ((*(_M_ctype_table+(unsigned char)__c)) & __m) != 0; } -+ -+ const char* is(const char* __low, const char* __high, mask* __vec) const { -+ for (const char* __p = __low;__p != __high; ++__p, ++__vec) { -+ *__vec = _M_ctype_table[(unsigned char)*__p]; -+ } -+ return __high; -+ } -+ -+ const char* scan_is(mask __m, const char* __low, const char* __high) const; -+ const char* scan_not(mask __m, const char* __low, const char* __high) const; -+ -+ char (toupper)(char __c) const { return do_toupper(__c); } -+ const char* (toupper)(char* __low, const char* __high) const { -+ return do_toupper(__low, __high); -+ } -+ -+ char (tolower)(char __c) const { return do_tolower(__c); } -+ const char* (tolower)(char* __low, const char* __high) const { -+ return do_tolower(__low, __high); -+ } -+ -+ char widen(char __c) const { return do_widen(__c); } -+ const char* widen(const char* __low, const char* __high, char* __to) const { -+ return do_widen(__low, __high, __to); -+ } -+ -+ char narrow(char __c, char __dfault) const { -+ return do_narrow(__c, __dfault); -+ } -+ const char* narrow(const char* __low, const char* __high, -+ char __dfault, char* __to) const { -+ return do_narrow(__low, __high, __dfault, __to); -+ } -+ -+ _STLP_STATIC_MEMBER_DECLSPEC static locale::id id; -+# if defined(_STLP_STATIC_CONST_INIT_BUG) -+ enum __TableSize { table_size = 256 }; -+# else -+ static const size_t table_size = 256; -+# endif -+ -+protected: -+ const mask* table() const _STLP_NOTHROW {return _M_ctype_table;} -+ static const mask* _STLP_CALL classic_table() _STLP_NOTHROW { return & _S_classic_table [1]; } -+ -+ ~ctype(); -+ -+ virtual char do_toupper(char __c) const; -+ virtual char do_tolower(char __c) const; -+ virtual const char* do_toupper(char* __low, const char* __high) const; -+ virtual const char* do_tolower(char* __low, const char* __high) const; -+ virtual char do_widen(char __c) const; -+ virtual const char* do_widen(const char* __low, const char* __high, -+ char* __to) const; -+ virtual char do_narrow(char __c, char /* dfault */ ) const; -+ virtual const char* do_narrow(const char* __low, const char* __high, -+ char /* dfault */, char* __to) const; -+private: -+ struct _Is_mask { -+ mask __m; -+ _Is_mask(mask __x): __m(__x) {} -+ bool operator()(char __c) {return (__m & (unsigned char) __c) != 0;} -+ }; -+ -+ static const mask _S_classic_table[257 /* table_size + 1 */]; -+ const mask* _M_ctype_table; -+ bool _M_delete; -+ -+ static const unsigned char _S_upper[256 /* table_size */]; -+ static const unsigned char _S_lower[256 /* table_size */]; -+}; -+ -+_STLP_TEMPLATE_NULL -+class _STLP_CLASS_DECLSPEC ctype_byname: public ctype { -+public: -+ explicit ctype_byname(const char*, size_t = 0); -+ ~ctype_byname(); -+ -+ virtual char do_toupper(char __c) const; -+ virtual char do_tolower(char __c) const; -+ -+ virtual const char* do_toupper(char*, const char*) const; -+ virtual const char* do_tolower(char*, const char*) const; -+ -+private: -+ mask _M_byname_table[table_size + 1]; -+ _Locale_ctype* _M_ctype; -+}; -+ -+ -+# ifndef _STLP_NO_WCHAR_T -+_STLP_TEMPLATE_NULL -+class _STLP_CLASS_DECLSPEC ctype : public locale::facet, public ctype_base - { --#if defined(__MRC__) || defined(__SC__) //*TY 04/29/2000 - added workaround for mpw -- typedef locale::facet _facet; //*TY 04/29/2000 - they forget to look into nested class for the ctor. --#endif //*TY 04/29/2000 - -- friend class _Locale_impl; -+ friend class _Locale; - public: - typedef wchar_t char_type; - -- explicit ctype(size_t refs = 0); -+ explicit ctype(size_t __refs = 0) : _BaseFacet(__refs) {} - - bool is(mask __m, wchar_t __c) const - { return do_is(__m, __c); } -@@ -97,7 +212,7 @@ - char __dfault, char* __to) const - { return do_narrow(__low, __high, __dfault, __to); } - -- __STL_STATIC_MEMBER_DECLSPEC static locale::id id; -+ _STLP_STATIC_MEMBER_DECLSPEC static locale::id id; - - protected: - ~ctype(); -@@ -119,8 +234,8 @@ - char, char*) const; - }; - --__STL_TEMPLATE_NULL --class __STL_CLASS_DECLSPEC ctype_byname: public ctype { -+_STLP_TEMPLATE_NULL -+class _STLP_CLASS_DECLSPEC ctype_byname: public ctype { - public: - explicit ctype_byname(const char* __name, size_t __refs = 0); - -@@ -144,128 +259,9 @@ - - # endif /* WCHAR_T */ - --//ctype specializations -- --__STL_TEMPLATE_NULL --class __STL_CLASS_DECLSPEC ctype : -- public locale::facet, public ctype_base --{ -- --# ifndef __STL_NO_WCHAR_T --# ifdef __STL_MSVC -- typedef ctype _Wctype; -- friend _Wctype; --# else -- friend class ctype; --# endif --# endif -- friend class _Locale_impl; --#if defined(__MRC__) || defined(__SC__) //*TY 04/29/2000 - added workaround for mpw -- typedef locale::facet _facet; //*TY 04/29/2000 - they forget to look into nested class for the ctor. --#endif //*TY 04/29/2000 - --public: -- typedef char char_type; -- -- explicit ctype(const mask* = 0, bool = false, size_t = 0); -- -- inline bool is(mask __m, char __c) const -- { return ((*(table()+(unsigned char)__c)) & __m) != 0; } -- const char* is(const char*, const char*, mask*) const; -- const char* scan_is(mask __m, const char* __low, const char* __high) const; -- const char* scan_not(mask __m, const char* __low, const char* __high) const; -- -- char (toupper)(char __c) const { return do_toupper(__c); } -- const char* (toupper)(char* __low, const char* __high) const -- { return do_toupper(__low, __high); } -- -- char (tolower)(char __c) const { return do_tolower(__c); } -- const char* (tolower)(char* __low, const char* __high) const -- { return do_tolower(__low, __high); } -- -- char widen(char __c) const -- { return do_widen(__c); } -- const char* widen(const char* __low, const char* __high, char* __to) const -- { return do_widen(__low, __high, __to); } -- -- char narrow(char __c, char __dfault) const -- { return do_narrow(__c, __dfault); } -- const char* narrow(const char* __low, const char* __high, -- char __dfault, char* __to) const -- { return do_narrow(__low, __high, __dfault, __to); } -- -- __STL_STATIC_MEMBER_DECLSPEC static locale::id id; --# if defined(__STL_STATIC_CONST_INIT_BUG) // || defined(__MRC__) || defined(__SC__) //*TY 04/29/2000 - turned out this work around is not needed for mpw -- enum __TableSize { table_size = 256 }; --# else -- static const size_t table_size = 256; --# endif -- --protected: -- const mask* table() const __STL_NOTHROW {return _M_ctype_table;} -- static const mask* __STL_CALL classic_table() __STL_NOTHROW { return & _S_classic_table [1]; } -- -- ~ctype(); -- -- virtual char do_toupper(char __c) const -- { return (char) _S_upper[(unsigned char) __c]; } -- virtual char do_tolower(char __c) const -- { return (char) _S_lower[(unsigned char) __c]; } -- -- virtual const char* do_toupper(char*, const char*) const; -- virtual const char* do_tolower(char*, const char*) const; -- -- virtual char do_widen(char __c) const { return __c; } -- virtual const char* do_widen(const char* __low, const char* __high, -- char* __to) const { -- copy(__low, __high, __to); -- return __high; -- } -- -- virtual char do_narrow(char __c, char /* dfault */ ) const { return __c; } -- virtual const char* do_narrow(const char* __low, const char* __high, -- char /* dfault */, char* __to) const { -- copy(__low, __high, __to); -- return __high; -- } -- --private: -- struct _Is_mask { -- mask __m; -- _Is_mask(mask __x): __m(__x) {} -- bool operator()(char __c) {return (__m & (unsigned char) __c) != 0;} -- }; -- -- static const mask _S_classic_table[257 /* table_size + 1 */]; -- const mask* _M_ctype_table; -- bool _M_delete; -- -- static const unsigned char _S_upper[256 /* table_size */]; -- static const unsigned char _S_lower[256 /* table_size */]; --}; -- -- --__STL_TEMPLATE_NULL --class __STL_CLASS_DECLSPEC ctype_byname: public ctype { --public: -- explicit ctype_byname(const char*, size_t = 0); -- ~ctype_byname(); -- -- virtual char do_toupper(char __c) const; -- virtual char do_tolower(char __c) const; -- -- virtual const char* do_toupper(char*, const char*) const; -- virtual const char* do_tolower(char*, const char*) const; -- --private: -- mask _M_byname_table[table_size + 1]; -- _Locale_ctype* _M_ctype; --}; -- -- -- --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --#endif /* __SGI_STL_INTERNAL_CTYPE_H */ -+#endif /* _STLP_INTERNAL_CTYPE_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_cwchar.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_cwchar.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_cwchar.h Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_cwchar.h Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,20 @@ -+/* -+ * Copyright (c) 1999 -+ * Boris Fomitchev -+ * -+ * This material is provided "as is", with absolutely no warranty expressed -+ * or implied. Any use is at your own risk. -+ * -+ * Permission to use or copy this software for any purpose is hereby granted -+ * without fee, provided the above notices are retained on all copies. -+ * Permission to modify the code and to distribute modified code is granted, -+ * provided the above notices are retained, and a notice that the code was -+ * modified is included with the above copyright notice. -+ * -+ */ -+ -+#ifndef _STLP_CWCHAR_H -+# define _STLP_CWCHAR_H -+/* This file is now obsolete */ -+#endif /* _STLP_CWCHAR_H */ -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_deque.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_deque.c ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_deque.c Sat Feb 24 10:44:47 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_deque.c Sun Aug 11 18:59:24 2002 -@@ -23,10 +23,14 @@ - * modified is included with the above copyright notice. - * - */ --#ifndef __STL_DEQUE_C --#define __STL_DEQUE_C -+#ifndef _STLP_DEQUE_C -+# define _STLP_DEQUE_C - --__STL_BEGIN_NAMESPACE -+# ifndef _STLP_INTERNAL_DEQUE_H -+# include -+# endif -+ -+_STLP_BEGIN_NAMESPACE - - // Non-inline member functions from _Deque_base. - -@@ -43,24 +47,24 @@ - _Deque_base<_Tp,_Alloc>::_M_initialize_map(size_t __num_elements) - { - size_t __num_nodes = -- __num_elements / __buf_traits::buffer_size() + 1 ; -+ __num_elements / this->buffer_size() + 1 ; - -- _M_map_size._M_data = max((size_t) _S_initial_map_size, __num_nodes + 2); -+ _M_map_size._M_data = (max)((size_t) _S_initial_map_size, __num_nodes + 2); - _M_map._M_data = _M_map.allocate(_M_map_size._M_data); - - _Tp** __nstart = _M_map._M_data + (_M_map_size._M_data - __num_nodes) / 2; - _Tp** __nfinish = __nstart + __num_nodes; - -- __STL_TRY { -+ _STLP_TRY { - _M_create_nodes(__nstart, __nfinish); - } -- __STL_UNWIND((_M_map.deallocate(_M_map._M_data, _M_map_size._M_data), -+ _STLP_UNWIND((_M_map.deallocate(_M_map._M_data, _M_map_size._M_data), - _M_map._M_data = 0, _M_map_size._M_data = 0)); - _M_start._M_set_node(__nstart); - this->_M_finish._M_set_node(__nfinish - 1); - _M_start._M_cur = _M_start._M_first; - this->_M_finish._M_cur = this->_M_finish._M_first + -- __num_elements % __buf_traits::buffer_size(); -+ __num_elements % this->buffer_size(); - } - - template -@@ -69,11 +73,11 @@ - _Tp** __nfinish) - { - _Tp** __cur; -- __STL_TRY { -+ _STLP_TRY { - for (__cur = __nstart; __cur < __nfinish; ++__cur) -- *__cur = _M_map_size.allocate(__buf_traits::_buf_size); -+ *__cur = _M_map_size.allocate(this->buffer_size()); - } -- __STL_UNWIND(_M_destroy_nodes(__nstart, __cur)); -+ _STLP_UNWIND(_M_destroy_nodes(__nstart, __cur)); - } - - template -@@ -82,14 +86,14 @@ - _Tp** __nfinish) - { - for (_Tp** __n = __nstart; __n < __nfinish; ++__n) -- _M_map_size.deallocate(*__n, __buf_traits::_buf_size); -+ _M_map_size.deallocate(*__n, this->buffer_size()); - } - - - - // Non-inline member functions - --# if defined ( __STL_NESTED_TYPE_PARAM_BUG ) -+# if defined ( _STLP_NESTED_TYPE_PARAM_BUG ) - // qualified references - # define __iterator__ _Deque_iterator<_Tp, _Nonconst_traits<_Tp> > - # define const_iterator _Deque_iterator<_Tp, _Const_traits<_Tp> > -@@ -97,7 +101,7 @@ - # define size_type size_t - # define value_type _Tp - # else --# define __iterator__ __STL_TYPENAME_ON_RETURN_TYPE __deque__<_Tp, _Alloc>::iterator -+# define __iterator__ _STLP_TYPENAME_ON_RETURN_TYPE __deque__<_Tp, _Alloc>::iterator - # endif - - template -@@ -123,25 +127,25 @@ - { - if (__pos._M_cur == this->_M_start._M_cur) { - iterator __new_start = _M_reserve_elements_at_front(__n); -- __STL_TRY { -+ _STLP_TRY { - uninitialized_fill(__new_start, this->_M_start, __x); - } -- __STL_UNWIND(this->_M_destroy_nodes(__new_start._M_node, this->_M_start._M_node)); -+ _STLP_UNWIND(this->_M_destroy_nodes(__new_start._M_node, this->_M_start._M_node)); - this->_M_start = __new_start; - } - else if (__pos._M_cur == this->_M_finish._M_cur) { - iterator __new_finish = _M_reserve_elements_at_back(__n); -- __STL_TRY { -+ _STLP_TRY { - uninitialized_fill(this->_M_finish, __new_finish, __x); - } -- __STL_UNWIND(this->_M_destroy_nodes(this->_M_finish._M_node+1, __new_finish._M_node+1)); -+ _STLP_UNWIND(this->_M_destroy_nodes(this->_M_finish._M_node+1, __new_finish._M_node+1)); - this->_M_finish = __new_finish; - } - else - _M_insert_aux(__pos, __n, __x); - } - --#ifndef __STL_MEMBER_TEMPLATES -+#ifndef _STLP_MEMBER_TEMPLATES - - template - void __deque__<_Tp, _Alloc>::insert(iterator __pos, -@@ -150,18 +154,18 @@ - size_type __n = __last - __first; - if (__pos._M_cur == this->_M_start._M_cur) { - iterator __new_start = _M_reserve_elements_at_front(__n); -- __STL_TRY { -+ _STLP_TRY { - uninitialized_copy(__first, __last, __new_start); - } -- __STL_UNWIND(this->_M_destroy_nodes(__new_start._M_node, this->_M_start._M_node)); -+ _STLP_UNWIND(this->_M_destroy_nodes(__new_start._M_node, this->_M_start._M_node)); - this->_M_start = __new_start; - } - else if (__pos._M_cur == this->_M_finish._M_cur) { - iterator __new_finish = _M_reserve_elements_at_back(__n); -- __STL_TRY { -+ _STLP_TRY { - uninitialized_copy(__first, __last, this->_M_finish); - } -- __STL_UNWIND(this->_M_destroy_nodes(this->_M_finish._M_node + 1, -+ _STLP_UNWIND(this->_M_destroy_nodes(this->_M_finish._M_node + 1, - __new_finish._M_node + 1)); - this->_M_finish = __new_finish; - } -@@ -177,25 +181,25 @@ - size_type __n = __last - __first; - if (__pos._M_cur == this->_M_start._M_cur) { - iterator __new_start = _M_reserve_elements_at_front(__n); -- __STL_TRY { -+ _STLP_TRY { - uninitialized_copy(__first, __last, __new_start); - } -- __STL_UNWIND(this->_M_destroy_nodes(__new_start._M_node, this->_M_start._M_node)); -+ _STLP_UNWIND(this->_M_destroy_nodes(__new_start._M_node, this->_M_start._M_node)); - this->_M_start = __new_start; - } - else if (__pos._M_cur == this->_M_finish._M_cur) { - iterator __new_finish = _M_reserve_elements_at_back(__n); -- __STL_TRY { -+ _STLP_TRY { - uninitialized_copy(__first, __last, this->_M_finish); - } -- __STL_UNWIND(this->_M_destroy_nodes(this->_M_finish._M_node + 1,__new_finish._M_node + 1)); -+ _STLP_UNWIND(this->_M_destroy_nodes(this->_M_finish._M_node + 1,__new_finish._M_node + 1)); - this->_M_finish = __new_finish; - } - else - _M_insert_aux(__pos, __first, __last, __n); - } - --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - template - __iterator__ -@@ -212,7 +216,7 @@ - copy_backward(this->_M_start, __first, __last); - iterator __new_start = this->_M_start + __n; - _Destroy(this->_M_start, __new_start); -- this->_M_destroy_nodes(__new_start._M_node, this->_M_start._M_node); -+ this->_M_destroy_nodes(this->_M_start._M_node, __new_start._M_node); - this->_M_start = __new_start; - } - else { -@@ -232,14 +236,14 @@ - for (_Map_pointer __node = this->_M_start._M_node + 1; - __node < this->_M_finish._M_node; - ++__node) { -- _Destroy(*__node, *__node + __buf_traits::_buf_size); -- this->_M_map_size.deallocate(*__node, __buf_traits::_buf_size); -+ _Destroy(*__node, *__node + this->buffer_size()); -+ this->_M_map_size.deallocate(*__node, this->buffer_size()); - } - - if (this->_M_start._M_node != this->_M_finish._M_node) { - _Destroy(this->_M_start._M_cur, this->_M_start._M_last); - _Destroy(this->_M_finish._M_first, this->_M_finish._M_cur); -- this->_M_map_size.deallocate(this->_M_finish._M_first, __buf_traits::_buf_size); -+ this->_M_map_size.deallocate(this->_M_finish._M_first, this->buffer_size()); - } - else - _Destroy(this->_M_start._M_cur, this->_M_finish._M_cur); -@@ -251,14 +255,14 @@ - // but none of the deque's elements have yet been constructed. - template - void --__deque__<_Tp,_Alloc>::_M_fill_initialize(const value_type& __value) { -+__deque__<_Tp,_Alloc>::_M_fill_initialize(const value_type& __val) { - _Map_pointer __cur; -- __STL_TRY { -+ _STLP_TRY { - for (__cur = this->_M_start._M_node; __cur < this->_M_finish._M_node; ++__cur) -- uninitialized_fill(*__cur, *__cur + __buf_traits::_buf_size, __value); -- uninitialized_fill(this->_M_finish._M_first, this->_M_finish._M_cur, __value); -+ uninitialized_fill(*__cur, *__cur + this->buffer_size(), __val); -+ uninitialized_fill(this->_M_finish._M_first, this->_M_finish._M_cur, __val); - } -- __STL_UNWIND(_Destroy(this->_M_start, iterator(*__cur, __cur))); -+ _STLP_UNWIND(_Destroy(this->_M_start, iterator(*__cur, __cur))); - } - - -@@ -269,31 +273,33 @@ - { - value_type __t_copy = __t; - _M_reserve_map_at_back(); -- *(this->_M_finish._M_node + 1) = this->_M_map_size.allocate(__buf_traits::_buf_size); -- __STL_TRY { -+ *(this->_M_finish._M_node + 1) = this->_M_map_size.allocate(this->buffer_size()); -+ _STLP_TRY { - _Construct(this->_M_finish._M_cur, __t_copy); - this->_M_finish._M_set_node(this->_M_finish._M_node + 1); - this->_M_finish._M_cur = this->_M_finish._M_first; - } -- __STL_UNWIND(this->_M_map_size.deallocate(*(this->_M_finish._M_node + 1), -- __buf_traits::_buf_size)); -+ _STLP_UNWIND(this->_M_map_size.deallocate(*(this->_M_finish._M_node + 1), -+ this->buffer_size())); - } - -+# ifndef _STLP_NO_ANACHRONISMS - // Called only if this->_M_finish._M_cur == this->_M_finish._M_last - 1. - template - void - __deque__<_Tp,_Alloc>::_M_push_back_aux() - { - _M_reserve_map_at_back(); -- *(this->_M_finish._M_node + 1) = this->_M_map_size.allocate(__buf_traits::_buf_size); -- __STL_TRY { -+ *(this->_M_finish._M_node + 1) = this->_M_map_size.allocate(this->buffer_size()); -+ _STLP_TRY { - _Construct(this->_M_finish._M_cur); - this->_M_finish._M_set_node(this->_M_finish._M_node + 1); - this->_M_finish._M_cur = this->_M_finish._M_first; - } -- __STL_UNWIND(this->_M_map_size.deallocate(*(this->_M_finish._M_node + 1), -- __buf_traits::_buf_size)); -+ _STLP_UNWIND(this->_M_map_size.deallocate(*(this->_M_finish._M_node + 1), -+ this->buffer_size())); - } -+# endif - - // Called only if this->_M_start._M_cur == this->_M_start._M_first. - template -@@ -302,38 +308,41 @@ - { - value_type __t_copy = __t; - _M_reserve_map_at_front(); -- *(this->_M_start._M_node - 1) = this->_M_map_size.allocate(__buf_traits::_buf_size); -- __STL_TRY { -+ *(this->_M_start._M_node - 1) = this->_M_map_size.allocate(this->buffer_size()); -+ _STLP_TRY { - this->_M_start._M_set_node(this->_M_start._M_node - 1); - this->_M_start._M_cur = this->_M_start._M_last - 1; - _Construct(this->_M_start._M_cur, __t_copy); - } -- __STL_UNWIND((++this->_M_start, -- this->_M_map_size.deallocate(*(this->_M_start._M_node - 1), __buf_traits::_buf_size))); -+ _STLP_UNWIND((++this->_M_start, -+ this->_M_map_size.deallocate(*(this->_M_start._M_node - 1), this->buffer_size()))); - } - -+ -+# ifndef _STLP_NO_ANACHRONISMS - // Called only if this->_M_start._M_cur == this->_M_start._M_first. - template - void - __deque__<_Tp,_Alloc>::_M_push_front_aux() - { - _M_reserve_map_at_front(); -- *(this->_M_start._M_node - 1) = this->_M_map_size.allocate(__buf_traits::_buf_size); -- __STL_TRY { -+ *(this->_M_start._M_node - 1) = this->_M_map_size.allocate(this->buffer_size()); -+ _STLP_TRY { - this->_M_start._M_set_node(this->_M_start._M_node - 1); - this->_M_start._M_cur = this->_M_start._M_last - 1; - _Construct(this->_M_start._M_cur); - } -- __STL_UNWIND((++this->_M_start, this->_M_map_size.deallocate(*(this->_M_start._M_node - 1), -- __buf_traits::_buf_size ))); -+ _STLP_UNWIND((++this->_M_start, this->_M_map_size.deallocate(*(this->_M_start._M_node - 1), -+ this->buffer_size() ))); - } -+# endif - - // Called only if this->_M_finish._M_cur == this->_M_finish._M_first. - template - void - __deque__<_Tp,_Alloc>::_M_pop_back_aux() - { -- this->_M_map_size.deallocate(this->_M_finish._M_first, __buf_traits::_buf_size); -+ this->_M_map_size.deallocate(this->_M_finish._M_first, this->buffer_size()); - this->_M_finish._M_set_node(this->_M_finish._M_node - 1); - this->_M_finish._M_cur = this->_M_finish._M_last - 1; - _Destroy(this->_M_finish._M_cur); -@@ -348,7 +357,7 @@ - __deque__<_Tp,_Alloc>::_M_pop_front_aux() - { - _Destroy(this->_M_start._M_cur); -- this->_M_map_size.deallocate(this->_M_start._M_first, __buf_traits::_buf_size); -+ this->_M_map_size.deallocate(this->_M_start._M_first, this->buffer_size()); - this->_M_start._M_set_node(this->_M_start._M_node + 1); - this->_M_start._M_cur = this->_M_start._M_first; - } -@@ -357,7 +366,7 @@ - - template - __iterator__ --__deque__<_Tp,_Alloc>::_M_insert_aux_prepare(__iterator__ __pos) { -+__deque__<_Tp,_Alloc>::_M_insert_aux_prepare(iterator __pos) { - difference_type __index = __pos - this->_M_start; - if (__index < difference_type(size() / 2)) { - push_front(front()); -@@ -384,19 +393,19 @@ - - template - __iterator__ --__deque__<_Tp,_Alloc>::_M_insert_aux(__iterator__ __pos, -- const value_type& __x) { -+__deque__<_Tp,_Alloc>::_M_insert_aux(iterator __pos, -+ const value_type& __x) { - value_type __x_copy = __x; -- __STL_MPWFIX_TRY //*TY 06/01/2000 - mpw forget to call dtor on __x_copy without this try block -+ _STLP_MPWFIX_TRY //*TY 06/01/2000 - mpw forget to call dtor on __x_copy without this try block - __pos = _M_insert_aux_prepare(__pos); - *__pos = __x_copy; - return __pos; -- __STL_MPWFIX_CATCH //*TY 06/01/2000 - -+ _STLP_MPWFIX_CATCH //*TY 06/01/2000 - - } - - template - __iterator__ --__deque__<_Tp,_Alloc>::_M_insert_aux(__iterator__ __pos) -+__deque__<_Tp,_Alloc>::_M_insert_aux(iterator __pos) - { - __pos = _M_insert_aux_prepare(__pos); - *__pos = value_type(); -@@ -416,7 +425,7 @@ - iterator __new_start = _M_reserve_elements_at_front(__n); - iterator __old_start = this->_M_start; - __pos = this->_M_start + __elems_before; -- __STL_TRY { -+ _STLP_TRY { - if (__elems_before >= difference_type(__n)) { - iterator __start_n = this->_M_start + difference_type(__n); - uninitialized_copy(this->_M_start, __start_n, __new_start); -@@ -431,7 +440,7 @@ - fill(__old_start, __pos, __x_copy); - } - } -- __STL_UNWIND(this->_M_destroy_nodes(__new_start._M_node, this->_M_start._M_node)); -+ _STLP_UNWIND(this->_M_destroy_nodes(__new_start._M_node, this->_M_start._M_node)); - } - else { - iterator __new_finish = _M_reserve_elements_at_back(__n); -@@ -439,7 +448,7 @@ - const difference_type __elems_after = - difference_type(__length) - __elems_before; - __pos = this->_M_finish - __elems_after; -- __STL_TRY { -+ _STLP_TRY { - if (__elems_after > difference_type(__n)) { - iterator __finish_n = this->_M_finish - difference_type(__n); - uninitialized_copy(__finish_n, this->_M_finish, this->_M_finish); -@@ -454,11 +463,11 @@ - fill(__pos, __old_finish, __x_copy); - } - } -- __STL_UNWIND(this->_M_destroy_nodes(this->_M_finish._M_node + 1, __new_finish._M_node + 1)); -+ _STLP_UNWIND(this->_M_destroy_nodes(this->_M_finish._M_node + 1, __new_finish._M_node + 1)); - } - } - --#ifndef __STL_MEMBER_TEMPLATES -+#ifndef _STLP_MEMBER_TEMPLATES - template - void - __deque__<_Tp,_Alloc>::_M_insert_aux(iterator __pos, -@@ -473,7 +482,7 @@ - iterator __new_start = _M_reserve_elements_at_front(__n); - iterator __old_start = this->_M_start; - __pos = this->_M_start + __elemsbefore; -- __STL_TRY { -+ _STLP_TRY { - if (__elemsbefore >= difference_type(__n)) { - iterator __start_n = this->_M_start + difference_type(__n); - uninitialized_copy(this->_M_start, __start_n, __new_start); -@@ -485,12 +494,12 @@ - const value_type* __mid = - __first + (difference_type(__n) - __elemsbefore); - __uninitialized_copy_copy(this->_M_start, __pos, __first, __mid, -- __new_start); -+ __new_start, _IsPODType()); - this->_M_start = __new_start; - copy(__mid, __last, __old_start); - } - } -- __STL_UNWIND(this->_M_destroy_nodes(__new_start._M_node, this->_M_start._M_node)); -+ _STLP_UNWIND(this->_M_destroy_nodes(__new_start._M_node, this->_M_start._M_node)); - } - else { - iterator __new_finish = _M_reserve_elements_at_back(__n); -@@ -498,7 +507,7 @@ - const difference_type __elemsafter = - difference_type(__length) - __elemsbefore; - __pos = this->_M_finish - __elemsafter; -- __STL_TRY { -+ _STLP_TRY { - if (__elemsafter > difference_type(__n)) { - iterator __finish_n = this->_M_finish - difference_type(__n); - uninitialized_copy(__finish_n, this->_M_finish, this->_M_finish); -@@ -508,12 +517,12 @@ - } - else { - const value_type* __mid = __first + __elemsafter; -- __uninitialized_copy_copy(__mid, __last, __pos, this->_M_finish, this->_M_finish); -+ __uninitialized_copy_copy(__mid, __last, __pos, this->_M_finish, this->_M_finish, _IsPODType()); - this->_M_finish = __new_finish; - copy(__first, __mid, __pos); - } - } -- __STL_UNWIND(this->_M_destroy_nodes(this->_M_finish._M_node + 1, __new_finish._M_node + 1)); -+ _STLP_UNWIND(this->_M_destroy_nodes(this->_M_finish._M_node + 1, __new_finish._M_node + 1)); - } - } - -@@ -530,7 +539,7 @@ - iterator __new_start = _M_reserve_elements_at_front(__n); - iterator __old_start = this->_M_start; - __pos = this->_M_start + __elemsbefore; -- __STL_TRY { -+ _STLP_TRY { - if (__elemsbefore >= difference_type(__n)) { - iterator __start_n = this->_M_start + __n; - uninitialized_copy(this->_M_start, __start_n, __new_start); -@@ -541,19 +550,19 @@ - else { - const_iterator __mid = __first + (__n - __elemsbefore); - __uninitialized_copy_copy(this->_M_start, __pos, __first, __mid, -- __new_start); -+ __new_start, _IsPODType()); - this->_M_start = __new_start; - copy(__mid, __last, __old_start); - } - } -- __STL_UNWIND(this->_M_destroy_nodes(__new_start._M_node, this->_M_start._M_node)); -+ _STLP_UNWIND(this->_M_destroy_nodes(__new_start._M_node, this->_M_start._M_node)); - } - else { - iterator __new_finish = _M_reserve_elements_at_back(__n); - iterator __old_finish = this->_M_finish; - const difference_type __elemsafter = __length - __elemsbefore; - __pos = this->_M_finish - __elemsafter; -- __STL_TRY { -+ _STLP_TRY { - if (__elemsafter > difference_type(__n)) { - iterator __finish_n = this->_M_finish - difference_type(__n); - uninitialized_copy(__finish_n, this->_M_finish, this->_M_finish); -@@ -563,36 +572,36 @@ - } - else { - const_iterator __mid = __first + __elemsafter; -- __uninitialized_copy_copy(__mid, __last, __pos, this->_M_finish, this->_M_finish); -+ __uninitialized_copy_copy(__mid, __last, __pos, this->_M_finish, this->_M_finish, _IsPODType()); - this->_M_finish = __new_finish; - copy(__first, __mid, __pos); - } - } -- __STL_UNWIND(this->_M_destroy_nodes(this->_M_finish._M_node + 1, __new_finish._M_node + 1)); -+ _STLP_UNWIND(this->_M_destroy_nodes(this->_M_finish._M_node + 1, __new_finish._M_node + 1)); - } - } - --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - template - void - __deque__<_Tp,_Alloc>::_M_new_elements_at_front(size_type __new_elems) - { - size_type __new_nodes -- = (__new_elems + __buf_traits::_buf_size - 1) / __buf_traits::_buf_size; -+ = (__new_elems + this->buffer_size() - 1) / this->buffer_size(); - _M_reserve_map_at_front(__new_nodes); - size_type __i =1; -- __STL_TRY { -+ _STLP_TRY { - for (; __i <= __new_nodes; ++__i) -- *(this->_M_start._M_node - __i) = this->_M_map_size.allocate(__buf_traits::_buf_size); -+ *(this->_M_start._M_node - __i) = this->_M_map_size.allocate(this->buffer_size()); - } --# ifdef __STL_USE_EXCEPTIONS -+# ifdef _STLP_USE_EXCEPTIONS - catch(...) { - for (size_type __j = 1; __j < __i; ++__j) -- this->_M_map_size.deallocate(*(this->_M_start._M_node - __j), __buf_traits::_buf_size); -+ this->_M_map_size.deallocate(*(this->_M_start._M_node - __j), this->buffer_size()); - throw; - } --# endif /* __STL_USE_EXCEPTIONS */ -+# endif /* _STLP_USE_EXCEPTIONS */ - } - - template -@@ -600,20 +609,20 @@ - __deque__<_Tp,_Alloc>::_M_new_elements_at_back(size_type __new_elems) - { - size_type __new_nodes -- = (__new_elems + __buf_traits::_buf_size - 1) / __buf_traits::_buf_size; -+ = (__new_elems + this->buffer_size() - 1) / this->buffer_size(); - _M_reserve_map_at_back(__new_nodes); - size_type __i = 1; -- __STL_TRY { -+ _STLP_TRY { - for (; __i <= __new_nodes; ++__i) -- *(this->_M_finish._M_node + __i) = this->_M_map_size.allocate(__buf_traits::_buf_size); -+ *(this->_M_finish._M_node + __i) = this->_M_map_size.allocate(this->buffer_size()); - } --# ifdef __STL_USE_EXCEPTIONS -+# ifdef _STLP_USE_EXCEPTIONS - catch(...) { - for (size_type __j = 1; __j < __i; ++__j) -- this->_M_map_size.deallocate(*(this->_M_finish._M_node + __j), __buf_traits::_buf_size); -+ this->_M_map_size.deallocate(*(this->_M_finish._M_node + __j), this->buffer_size()); - throw; - } --# endif /* __STL_USE_EXCEPTIONS */ -+# endif /* _STLP_USE_EXCEPTIONS */ - } - - template -@@ -636,7 +645,7 @@ - } - else { - size_type __new_map_size = -- this->_M_map_size._M_data + max((size_t)this->_M_map_size._M_data, __nodes_to_add) + 2; -+ this->_M_map_size._M_data + (max)((size_t)this->_M_map_size._M_data, __nodes_to_add) + 2; - - _Map_pointer __new_map = this->_M_map.allocate(__new_map_size); - __new_nstart = __new_map + (__new_map_size - __new_num_nodes) / 2 -@@ -652,132 +661,7 @@ - this->_M_finish._M_set_node(__new_nstart + __old_num_nodes - 1); - } - --#if defined (__STL_MEMBER_TEMPLATES) && ! defined (__STL_INLINE_MEMBER_TEMPLATES ) --template --template --void __deque__<_Tp,_Alloc>::_M_range_initialize(_InputIterator __first, -- _InputIterator __last, -- input_iterator_tag) { -- this->_M_initialize_map(0); -- __STL_TRY { -- for ( ; __first != __last; ++__first) -- push_back(*__first); -- } -- __STL_UNWIND(clear()); -- } -- --template --template --void __deque__<_Tp,_Alloc>::_M_range_initialize(_ForwardIterator __first, -- _ForwardIterator __last, -- forward_iterator_tag) { -- size_type __n = 0; -- distance(__first, __last, __n); -- this->_M_initialize_map(__n); -- _Map_pointer __cur_node = this->_M_start._M_node; -- __STL_TRY { -- for (; -- __cur_node < this->_M_finish._M_node; -- ++__cur_node) { -- _ForwardIterator __mid = __first; -- advance(__mid, __buf_traits::_buf_size); -- uninitialized_copy(__first, __mid, *__cur_node); -- __first = __mid; -- } -- uninitialized_copy(__first, __last, this->_M_finish._M_first); -- } -- __STL_UNWIND(_Destroy(this->_M_start, iterator(*__cur_node, __cur_node))); -- } -- --template --template --void __deque__<_Tp,_Alloc>::insert(iterator __pos, -- _ForwardIterator __first, -- _ForwardIterator __last, -- forward_iterator_tag) -- { -- size_type __n = 0; -- distance(__first, __last, __n); -- if (__pos._M_cur == this->_M_start._M_cur) { -- iterator __new_start = _M_reserve_elements_at_front(__n); -- __STL_TRY { -- uninitialized_copy(__first, __last, __new_start); -- this->_M_start = __new_start; -- } -- __STL_UNWIND(this->_M_destroy_nodes(__new_start._M_node, this->_M_start._M_node)); -- } -- else if (__pos._M_cur == this->_M_finish._M_cur) { -- iterator __new_finish = _M_reserve_elements_at_back(__n); -- __STL_TRY { -- uninitialized_copy(__first, __last, this->_M_finish); -- this->_M_finish = __new_finish; -- } -- __STL_UNWIND(this->_M_destroy_nodes(this->_M_finish._M_node + 1, __new_finish._M_node + 1)); -- } -- else -- _M_insert_aux(__pos, __first, __last, __n); --} -- --template --template --void __deque__<_Tp,_Alloc>::_M_insert_aux(iterator __pos, -- _ForwardIterator __first, -- _ForwardIterator __last, -- size_type __n) --{ -- const difference_type __elemsbefore = __pos - this->_M_start; -- size_type __length = size(); -- if (__elemsbefore < difference_type(__length / 2)) { -- iterator __new_start = _M_reserve_elements_at_front(__n); -- iterator __old_start = this->_M_start; -- __pos = this->_M_start + __elemsbefore; -- __STL_TRY { -- if (__elemsbefore >= difference_type(__n)) { -- iterator __start_n = this->_M_start + difference_type(__n); -- uninitialized_copy(this->_M_start, __start_n, __new_start); -- this->_M_start = __new_start; -- copy(__start_n, __pos, __old_start); -- copy(__first, __last, __pos - difference_type(__n)); -- } -- else { -- _ForwardIterator __mid = __first; -- advance(__mid, difference_type(__n) - __elemsbefore); -- __uninitialized_copy_copy(this->_M_start, __pos, __first, __mid, -- __new_start); -- this->_M_start = __new_start; -- copy(__mid, __last, __old_start); -- } -- } -- __STL_UNWIND(this->_M_destroy_nodes(__new_start._M_node, this->_M_start._M_node)); -- } -- else { -- iterator __new_finish = _M_reserve_elements_at_back(__n); -- iterator __old_finish = this->_M_finish; -- const difference_type __elemsafter = -- difference_type(__length) - __elemsbefore; -- __pos = this->_M_finish - __elemsafter; -- __STL_TRY { -- if (__elemsafter > difference_type(__n)) { -- iterator __finish_n = this->_M_finish - difference_type(__n); -- uninitialized_copy(__finish_n, this->_M_finish, this->_M_finish); -- this->_M_finish = __new_finish; -- copy_backward(__pos, __finish_n, __old_finish); -- copy(__first, __last, __pos); -- } -- else { -- _ForwardIterator __mid = __first; -- advance(__mid, __elemsafter); -- __uninitialized_copy_copy(__mid, __last, __pos, this->_M_finish, this->_M_finish); -- this->_M_finish = __new_finish; -- copy(__first, __mid, __pos); -- } -- } -- __STL_UNWIND(this->_M_destroy_nodes(this->_M_finish._M_node + 1, __new_finish._M_node + 1)); -- } -- } --# endif /* __STL_MEMBER_TEMPLATES */ -- --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - - # undef __iterator__ - # undef iterator -@@ -785,7 +669,7 @@ - # undef size_type - # undef value_type - --#endif /* __STL_DEQUE_C */ -+#endif /* _STLP_DEQUE_C */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_deque.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_deque.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_deque.h Sat Feb 24 10:44:48 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_deque.h Sun Aug 11 18:59:24 2002 -@@ -27,26 +27,26 @@ - * You should not attempt to use it directly. - */ - --#ifndef __SGI_STL_INTERNAL_DEQUE_H --#define __SGI_STL_INTERNAL_DEQUE_H -+#ifndef _STLP_INTERNAL_DEQUE_H -+#define _STLP_INTERNAL_DEQUE_H - --# ifndef __SGI_STL_INTERNAL_ALGOBASE_H -+# ifndef _STLP_INTERNAL_ALGOBASE_H - # include - # endif - --# ifndef __SGI_STL_INTERNAL_ALLOC_H -+# ifndef _STLP_INTERNAL_ALLOC_H - # include - # endif - --# ifndef __SGI_STL_INTERNAL_ITERATOR_H -+# ifndef _STLP_INTERNAL_ITERATOR_H - # include - # endif - --# ifndef __SGI_STL_INTERNAL_UNINITIALIZED_H -+# ifndef _STLP_INTERNAL_UNINITIALIZED_H - # include - # endif - --# ifndef __STL_RANGE_ERRORS_H -+# ifndef _STLP_RANGE_ERRORS_H - # include - # endif - -@@ -76,59 +76,19 @@ - * if and only if the pointer is in the range [start.node, finish.node]. - */ - -- --/* -- * In previous versions of deque, node_size was fixed by the -- * implementation. In this version, however, users can select -- * the node size. Deque has three template parameters; the third, -- * a number of type size_t, is the number of elements per node. -- * If the third template parameter is 0 (which is the default), -- * then deque will use a default node size. -- * -- * The only reason for using an alternate node size is if your application -- * requires a different performance tradeoff than the default. If, -- * for example, your program contains many deques each of which contains -- * only a few elements, then you might want to save memory (possibly -- * by sacrificing some speed) by using smaller nodes. -- * -- */ -- - # undef deque - # define deque __WORKAROUND_DBG_RENAME(deque) - --__STL_BEGIN_NAMESPACE -- --# if defined ( __STL_USE_ABBREVS ) --# define __deque_iterator _dQ__It --# define _Buf_traits _dQ__BTr --# define _Deque_iterator _Dq__It --# endif -- --// this helper class is needed to pass deque not-type parameter --// to its iterators. -- --template --struct _Buf_size_traits { --public: -- enum _Constants { -- _blocksize = 512, -- _buf_size = (sizeof(_Tp) < (size_t)_blocksize ? -- ( (size_t)_blocksize / sizeof(_Tp)) : size_t(1)), -- _byte_buf_size = sizeof(_Tp)*_buf_size -- }; -- static size_t __STL_CALL buffer_size() { return (size_t)_buf_size; } --}; -+_STLP_BEGIN_NAMESPACE - - template - struct _Deque_iterator_base { - -- typedef _Buf_size_traits<_Tp> __bufsiz; -- --#if !(defined(__MRC__)||defined(__SC__)) //*TY 04/30/2000 - added workaround for mpw -- enum { __buffer_size = __bufsiz::_buf_size } ; --#else //*TY 04/30/2000 - -- enum { __buffer_size = _Buf_size_traits<_Tp>::_buf_size } ; //*TY 04/30/2000 - they confuse on the typedef --#endif //*TY 04/30/2000 - -+ enum _Constants { -+ _blocksize = _MAX_BYTES, -+ __buffer_size = (sizeof(_Tp) < (size_t)_blocksize ? -+ ( (size_t)_blocksize / sizeof(_Tp)) : size_t(1)) -+ }; - - typedef random_access_iterator_tag iterator_category; - -@@ -203,7 +163,6 @@ - typedef ptrdiff_t difference_type; - typedef value_type** _Map_pointer; - -- typedef _Buf_size_traits<_Tp> __bufsiz; - typedef _Deque_iterator_base< _Tp > _Base; - typedef _Deque_iterator<_Tp, _Traits> _Self; - typedef _Deque_iterator<_Tp, _Nonconst_traits<_Tp> > _Nonconst_self; -@@ -220,7 +179,7 @@ - return *this->_M_cur; - } - -- __STL_DEFINE_ARROW_OPERATOR -+ _STLP_DEFINE_ARROW_OPERATOR - - difference_type operator-(const _Self& __x) const { return this->_M_subtract(__x); } - -@@ -255,24 +214,24 @@ - }; - - template --inline _Deque_iterator<_Tp, _Traits> __STL_CALL -+inline _Deque_iterator<_Tp, _Traits> _STLP_CALL - operator+(ptrdiff_t __n, const _Deque_iterator<_Tp, _Traits>& __x) - { - return __x + __n; - } - - --#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE -+#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE - - template --inline bool __STL_CALL -+inline bool _STLP_CALL - operator==(const _Deque_iterator_base<_Tp >& __x, - const _Deque_iterator_base<_Tp >& __y) { - return __x._M_cur == __y._M_cur; - } - - template --inline bool __STL_CALL -+inline bool _STLP_CALL - operator < (const _Deque_iterator_base<_Tp >& __x, - const _Deque_iterator_base<_Tp >& __y) { - return (__x._M_node == __y._M_node) ? -@@ -280,38 +239,39 @@ - } - - template --inline bool __STL_CALL -+inline bool _STLP_CALL - operator!=(const _Deque_iterator_base<_Tp >& __x, - const _Deque_iterator_base<_Tp >& __y) { - return __x._M_cur != __y._M_cur; - } - template --inline bool __STL_CALL -+inline bool _STLP_CALL - operator>(const _Deque_iterator_base<_Tp >& __x, - const _Deque_iterator_base<_Tp >& __y) { - return __y < __x; - } - template --inline bool __STL_CALL operator>=(const _Deque_iterator_base<_Tp >& __x, -+inline bool _STLP_CALL operator>=(const _Deque_iterator_base<_Tp >& __x, - const _Deque_iterator_base<_Tp >& __y) { - return !(__x < __y); - } - template --inline bool __STL_CALL operator<=(const _Deque_iterator_base<_Tp >& __x, -+inline bool _STLP_CALL operator<=(const _Deque_iterator_base<_Tp >& __x, - const _Deque_iterator_base<_Tp >& __y) { - return !(__y < __x); - } -+ - # else - - template --inline bool __STL_CALL -+inline bool _STLP_CALL - operator==(const _Deque_iterator<_Tp, _Traits1 >& __x, - const _Deque_iterator<_Tp, _Traits2 >& __y) { - return __x._M_cur == __y._M_cur; - } - - template --inline bool __STL_CALL -+inline bool _STLP_CALL - operator < (const _Deque_iterator<_Tp, _Traits1 >& __x, - const _Deque_iterator<_Tp, _Traits2 >& __y) { - return (__x._M_node == __y._M_node) ? -@@ -319,42 +279,39 @@ - } - - template --inline bool __STL_CALL -+inline bool _STLP_CALL - operator!=(const _Deque_iterator<_Tp, _Nonconst_traits<_Tp> >& __x, - const _Deque_iterator<_Tp, _Const_traits<_Tp> >& __y) { - return __x._M_cur != __y._M_cur; - } - template --inline bool __STL_CALL -+inline bool _STLP_CALL - operator>(const _Deque_iterator<_Tp, _Nonconst_traits<_Tp> >& __x, - const _Deque_iterator<_Tp, _Const_traits<_Tp> >& __y) { - return __y < __x; - } - template --inline bool __STL_CALL -+inline bool _STLP_CALL - operator>=(const _Deque_iterator<_Tp, _Nonconst_traits<_Tp> >& __x, - const _Deque_iterator<_Tp, _Const_traits<_Tp> >& __y) { - return !(__x < __y); - } - template --inline bool __STL_CALL -+inline bool _STLP_CALL - operator<=(const _Deque_iterator<_Tp, _Nonconst_traits<_Tp> >& __x, - const _Deque_iterator<_Tp, _Const_traits<_Tp> >& __y) { - return !(__y < __x); - } - # endif - --# ifdef __STL_USE_OLD_HP_ITERATOR_QUERIES --template --inline _Tp* __STL_CALL __VALUE_TYPE(const _Deque_iterator<_Tp, _Traits >&) { return (_Tp*)0; } --template --inline random_access_iterator_tag __STL_CALL --__ITERATOR_CATEGORY(const _Deque_iterator<_Tp, _Traits >&) { return random_access_iterator_tag(); } --template --inline ptrdiff_t* __STL_CALL __DISTANCE_TYPE(const _Deque_iterator<_Tp, _Traits >&) { return 0; } -+# ifdef _STLP_USE_OLD_HP_ITERATOR_QUERIES -+template inline _Tp* _STLP_CALL value_type(const _Deque_iterator<_Tp, _Traits >&) { return (_Tp*)0; } -+template inline random_access_iterator_tag _STLP_CALL -+iterator_category(const _Deque_iterator<_Tp, _Traits >&) { return random_access_iterator_tag(); } -+template inline ptrdiff_t* _STLP_CALL -+distance_type(const _Deque_iterator<_Tp, _Traits >&) { return 0; } - #endif - -- - // Deque base class. It has two purposes. First, its constructor - // and destructor allocate (but don't initialize) storage. This makes - // exception safety easier. Second, the base class encapsulates all of -@@ -364,27 +321,26 @@ - template - class _Deque_base { - public: -- - typedef _Tp value_type; -+ _STLP_FORCE_ALLOCATORS(_Tp, _Alloc) - typedef typename _Alloc_traits<_Tp,_Alloc>::allocator_type allocator_type; - typedef typename _Alloc_traits<_Tp*, _Alloc>::allocator_type _Map_alloc_type; - -- typedef _Buf_size_traits <_Tp> __buf_traits; -- - typedef _Deque_iterator<_Tp, _Nonconst_traits<_Tp> > iterator; - typedef _Deque_iterator<_Tp, _Const_traits<_Tp> > const_iterator; - -+ static size_t _STLP_CALL buffer_size() { return (size_t)_Deque_iterator_base<_Tp>::__buffer_size; } -+ - _Deque_base(const allocator_type& __a, size_t __num_elements) -- : _M_start(), _M_finish(), _M_map(__STL_CONVERT_ALLOCATOR(__a, _Tp*), 0), -+ : _M_start(), _M_finish(), _M_map(_STLP_CONVERT_ALLOCATOR(__a, _Tp*), 0), - _M_map_size(__a, (size_t)0) { - _M_initialize_map(__num_elements); - } - _Deque_base(const allocator_type& __a) -- : _M_start(), _M_finish(), _M_map(__STL_CONVERT_ALLOCATOR(__a, _Tp*), 0), -+ : _M_start(), _M_finish(), _M_map(_STLP_CONVERT_ALLOCATOR(__a, _Tp*), 0), - _M_map_size(__a, (size_t)0) { - } - ~_Deque_base(); -- allocator_type get_allocator() const { return _M_map_size; } - - protected: - void _M_initialize_map(size_t); -@@ -395,12 +351,12 @@ - protected: - iterator _M_start; - iterator _M_finish; -- _STL_alloc_proxy _M_map; -- _STL_alloc_proxy _M_map_size; -+ _STLP_alloc_proxy _M_map; -+ _STLP_alloc_proxy _M_map_size; - }; - - --template -+template - class deque : protected _Deque_base<_Tp, _Alloc> { - typedef _Deque_base<_Tp, _Alloc> _Base; - typedef deque<_Tp, _Alloc> _Self; -@@ -413,18 +369,19 @@ - typedef size_t size_type; - typedef ptrdiff_t difference_type; - typedef random_access_iterator_tag _Iterator_category; -- -+ _STLP_FORCE_ALLOCATORS(_Tp, _Alloc) - typedef typename _Base::allocator_type allocator_type; - - public: // Iterators - typedef typename _Base::iterator iterator; - typedef typename _Base::const_iterator const_iterator; - -- __STL_DECLARE_RANDOM_ACCESS_REVERSE_ITERATORS; -+ _STLP_DECLARE_RANDOM_ACCESS_REVERSE_ITERATORS; - - protected: // Internal typedefs - typedef pointer* _Map_pointer; -- typedef _Buf_size_traits < _Tp > __buf_traits; -+ typedef typename __type_traits<_Tp>::has_trivial_assignment_operator _TrivialAss; -+ typedef typename __type_traits<_Tp>::has_trivial_assignment_operator _IsPODType; - - public: // Basic accessors - iterator begin() { return this->_M_start; } -@@ -469,6 +426,7 @@ - size_type size() const { return this->_M_finish - this->_M_start; } - size_type max_size() const { return size_type(-1); } - bool empty() const { return this->_M_finish == this->_M_start; } -+ allocator_type get_allocator() const { return _M_map_size; } - - public: // Constructor, destructor. - explicit deque(const allocator_type& __a = allocator_type()) -@@ -476,39 +434,32 @@ - - deque(const _Self& __x) : - _Deque_base<_Tp, _Alloc>(__x.get_allocator(), __x.size()) { -- uninitialized_copy(__x.begin(), __x.end(), this->_M_start); -+ __uninitialized_copy(__x.begin(), __x.end(), this->_M_start, _IsPODType()); - } - -- deque(size_type __n, const value_type& __value, -+ deque(size_type __n, const value_type& __val, - const allocator_type& __a = allocator_type()) : - _Deque_base<_Tp, _Alloc>(__a, __n) -- { _M_fill_initialize(__value); } -+ { _M_fill_initialize(__val); } - // int,long variants may be needed - explicit deque(size_type __n) : _Deque_base<_Tp, _Alloc>(allocator_type(), __n) - { _M_fill_initialize(value_type()); } - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - - template -- void _M_initialize_dispatch(_Integer __n, _Integer __x, __true_type) { -+ void _M_initialize_dispatch(_Integer __n, _Integer __x, const __true_type&) { - this->_M_initialize_map(__n); - _M_fill_initialize(__x); - } - - template - void _M_initialize_dispatch(_InputIter __first, _InputIter __last, -- __false_type) { -- _M_range_initialize(__first, __last, __ITERATOR_CATEGORY(__first)); -+ const __false_type&) { -+ _M_range_initialize(__first, __last, _STLP_ITERATOR_CATEGORY(__first, _InputIter)); - } - -- // Check whether it's an integral type. If so, it's not an iterator. -- template -- deque(_InputIterator __first, _InputIterator __last, -- const allocator_type& __a) : -- _Deque_base<_Tp, _Alloc>(__a) { -- typedef typename _Is_integer<_InputIterator>::_Integral _Integral; -- _M_initialize_dispatch(__first, __last, _Integral()); -- } -+# ifdef _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS - // VC++ needs this - template - deque(_InputIterator __first, _InputIterator __last) : -@@ -516,34 +467,30 @@ - typedef typename _Is_integer<_InputIterator>::_Integral _Integral; - _M_initialize_dispatch(__first, __last, _Integral()); - } --# if !(defined (__STL_MSVC) && __STL_MSVC < 1200 ) -- // specialization -- deque(const_iterator __first, const_iterator __last) -- : _Deque_base<_Tp, _Alloc>(allocator_type(), __last - __first) { -- uninitialized_copy(__first, __last, this->_M_start); -- } -- deque(const_iterator __first, const_iterator __last, -- const allocator_type& __a ) -- : _Deque_base<_Tp, _Alloc>(__a, __last - __first) { -- uninitialized_copy(__first, __last, this->_M_start); -+# endif -+ -+ // Check whether it's an integral type. If so, it's not an iterator. -+ template -+ deque(_InputIterator __first, _InputIterator __last, -+ const allocator_type& __a _STLP_ALLOCATOR_TYPE_DFL) : -+ _Deque_base<_Tp, _Alloc>(__a) { -+ typedef typename _Is_integer<_InputIterator>::_Integral _Integral; -+ _M_initialize_dispatch(__first, __last, _Integral()); - } --# endif --# else /* __STL_MEMBER_TEMPLATES */ - -+# else - deque(const value_type* __first, const value_type* __last, -- const allocator_type& __a = allocator_type()) -+ const allocator_type& __a = allocator_type() ) - : _Deque_base<_Tp, _Alloc>(__a, __last - __first) { -- uninitialized_copy(__first, __last, this->_M_start); -+ __uninitialized_copy(__first, __last, this->_M_start, _IsPODType()); - } - - deque(const_iterator __first, const_iterator __last, - const allocator_type& __a = allocator_type() ) - : _Deque_base<_Tp, _Alloc>(__a, __last - __first) { -- uninitialized_copy(__first, __last, this->_M_start); -+ __uninitialized_copy(__first, __last, this->_M_start, _IsPODType()); - } -- --#endif /* __STL_MEMBER_TEMPLATES */ -- -+#endif /* _STLP_MEMBER_TEMPLATES */ - - ~deque() { - _Destroy(this->_M_start, this->_M_finish); -@@ -552,10 +499,10 @@ - _Self& operator= (const _Self& __x); - - void swap(_Self& __x) { -- __STLPORT_STD::swap(this->_M_start, __x._M_start); -- __STLPORT_STD::swap(this->_M_finish, __x._M_finish); -- __STLPORT_STD::swap(this->_M_map, __x._M_map); -- __STLPORT_STD::swap(this->_M_map_size, __x._M_map_size); -+ _STLP_STD::swap(this->_M_start, __x._M_start); -+ _STLP_STD::swap(this->_M_finish, __x._M_finish); -+ _STLP_STD::swap(this->_M_map, __x._M_map); -+ _STLP_STD::swap(this->_M_map_size, __x._M_map_size); - } - - public: -@@ -566,12 +513,12 @@ - - void _M_fill_assign(size_type __n, const _Tp& __val) { - if (__n > size()) { -- fill(begin(), end(), __val); -+ _STLP_STD::fill(begin(), end(), __val); - insert(end(), __n - size(), __val); - } - else { - erase(begin() + __n, end()); -- fill(begin(), end(), __val); -+ _STLP_STD::fill(begin(), end(), __val); - } - } - -@@ -579,7 +526,7 @@ - _M_fill_assign(__n, __val); - } - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - - template - void assign(_InputIterator __first, _InputIterator __last) { -@@ -590,17 +537,17 @@ - private: // helper functions for assign() - - template -- void _M_assign_dispatch(_Integer __n, _Integer __val, __true_type) -+ void _M_assign_dispatch(_Integer __n, _Integer __val, const __true_type&) - { _M_fill_assign((size_type) __n, (_Tp) __val); } - - template - void _M_assign_dispatch(_InputIterator __first, _InputIterator __last, -- __false_type) { -- _M_assign_aux(__first, __last, __ITERATOR_CATEGORY(__first)); -+ const __false_type&) { -+ _M_assign_aux(__first, __last, _STLP_ITERATOR_CATEGORY(__first, _InputIterator)); - } - - template -- void _M_assign_aux(_InputIter __first, _InputIter __last, input_iterator_tag) { -+ void _M_assign_aux(_InputIter __first, _InputIter __last, const input_iterator_tag &) { - iterator __cur = begin(); - for ( ; __first != __last && __cur != end(); ++__cur, ++__first) - *__cur = *__first; -@@ -612,9 +559,8 @@ - - template - void _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last, -- forward_iterator_tag) { -- size_type __len = 0; -- distance(__first, __last, __len); -+ const forward_iterator_tag &) { -+ size_type __len = distance(__first, __last); - if (__len > size()) { - _ForwardIterator __mid = __first; - advance(__mid, size()); -@@ -625,7 +571,7 @@ - erase(copy(__first, __last, begin()), end()); - } - --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - public: // push_* and pop_* - -@@ -637,16 +583,6 @@ - else - _M_push_back_aux_v(__t); - } -- -- void push_back() { -- if (this->_M_finish._M_cur != this->_M_finish._M_last - 1) { -- _Construct(this->_M_finish._M_cur); -- ++this->_M_finish._M_cur; -- } -- else -- _M_push_back_aux(); -- } -- - void push_front(const value_type& __t) { - if (this->_M_start._M_cur != this->_M_start._M_first) { - _Construct(this->_M_start._M_cur - 1, __t); -@@ -656,6 +592,15 @@ - _M_push_front_aux_v(__t); - } - -+# ifndef _STLP_NO_ANACHRONISMS -+ void push_back() { -+ if (this->_M_finish._M_cur != this->_M_finish._M_last - 1) { -+ _Construct(this->_M_finish._M_cur); -+ ++this->_M_finish._M_cur; -+ } -+ else -+ _M_push_back_aux(); -+ } - void push_front() { - if (this->_M_start._M_cur != this->_M_start._M_first) { - _Construct(this->_M_start._M_cur - 1); -@@ -664,7 +609,7 @@ - else - _M_push_front_aux(); - } -- -+# endif - - void pop_back() { - if (this->_M_finish._M_cur != this->_M_finish._M_first) { -@@ -711,7 +656,7 @@ - - void _M_fill_insert(iterator __pos, size_type __n, const value_type& __x); - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - - // Check whether it's an integral type. If so, it's not an iterator. - template -@@ -722,25 +667,25 @@ - - template - void _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __x, -- __true_type) { -+ const __true_type&) { - _M_fill_insert(__pos, (size_type) __n, (value_type) __x); - } - - template - void _M_insert_dispatch(iterator __pos, - _InputIterator __first, _InputIterator __last, -- __false_type) { -- insert(__pos, __first, __last, __ITERATOR_CATEGORY(__first)); -+ const __false_type&) { -+ insert(__pos, __first, __last, _STLP_ITERATOR_CATEGORY(__first, _InputIterator)); - } - --#else /* __STL_MEMBER_TEMPLATES */ -+#else /* _STLP_MEMBER_TEMPLATES */ - - void insert(iterator __pos, - const value_type* __first, const value_type* __last); - void insert(iterator __pos, - const_iterator __first, const_iterator __last); - --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - void resize(size_type __new_size, const value_type& __x) { - const size_type __len = size(); -@@ -773,74 +718,64 @@ - - protected: // Internal construction/destruction - -- void _M_fill_initialize(const value_type& __value); -+ void _M_fill_initialize(const value_type& __val); - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - - template - void _M_range_initialize(_InputIterator __first, - _InputIterator __last, -- input_iterator_tag) --#ifndef __STL_INLINE_MEMBER_TEMPLATES --; --#else -- { -+ const input_iterator_tag &) { - this->_M_initialize_map(0); -- __STL_TRY { -+ _STLP_TRY { - for ( ; __first != __last; ++__first) -- push_back(*__first); -+ push_back(*__first); - } -- __STL_UNWIND(clear()); -+ _STLP_UNWIND(clear()); - } --# endif /* __STL_OUTLINE_MEMBER_TEMPLATES */ -- - template - void _M_range_initialize(_ForwardIterator __first, -- _ForwardIterator __last, -- forward_iterator_tag) --# ifndef __STL_INLINE_MEMBER_TEMPLATES --; --# else --{ -- size_type __n = 0; -- distance(__first, __last, __n); -+ _ForwardIterator __last, -+ const forward_iterator_tag &) { -+ size_type __n = distance(__first, __last); - this->_M_initialize_map(__n); - _Map_pointer __cur_node; -- __STL_TRY { -+ _STLP_TRY { - for (__cur_node = this->_M_start._M_node; - __cur_node < this->_M_finish._M_node; - ++__cur_node) { - _ForwardIterator __mid = __first; -- advance(__mid, __buf_traits::_buf_size); -+ advance(__mid, this->buffer_size()); - uninitialized_copy(__first, __mid, *__cur_node); - __first = __mid; - } - uninitialized_copy(__first, __last, this->_M_finish._M_first); - } -- __STL_UNWIND(_Destroy(this->_M_start, iterator(*__cur_node, __cur_node))); -+ _STLP_UNWIND(_Destroy(this->_M_start, iterator(*__cur_node, __cur_node))); - } --# endif /* __STL_INLINE_MEMBER_TEMPLATES */ --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - protected: // Internal push_* and pop_* - - void _M_push_back_aux_v(const value_type&); -- void _M_push_back_aux(); - void _M_push_front_aux_v(const value_type&); -+# ifndef _STLP_NO_ANACHRONISMS -+ void _M_push_back_aux(); - void _M_push_front_aux(); -+# endif - void _M_pop_back_aux(); - void _M_pop_front_aux(); - - protected: // Internal insert functions - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - - template - void - insert(iterator __pos, - _InputIterator __first, - _InputIterator __last, -- input_iterator_tag) -+ const input_iterator_tag &) - { - copy(__first, __last, inserter(*this, __pos)); - } -@@ -849,34 +784,29 @@ - void insert(iterator __pos, - _ForwardIterator __first, - _ForwardIterator __last, -- forward_iterator_tag) --# ifndef __STL_INLINE_MEMBER_TEMPLATES --; --# else -+ const forward_iterator_tag &) - { -- size_type __n = 0; -- distance(__first, __last, __n); -+ size_type __n = distance(__first, __last); - if (__pos._M_cur == this->_M_start._M_cur) { - iterator __new_start = _M_reserve_elements_at_front(__n); -- __STL_TRY { -+ _STLP_TRY { - uninitialized_copy(__first, __last, __new_start); - this->_M_start = __new_start; - } -- __STL_UNWIND(this->_M_destroy_nodes(__new_start._M_node, this->_M_start._M_node)); -+ _STLP_UNWIND(this->_M_destroy_nodes(__new_start._M_node, this->_M_start._M_node)); - } - else if (__pos._M_cur == this->_M_finish._M_cur) { - iterator __new_finish = _M_reserve_elements_at_back(__n); -- __STL_TRY { -+ _STLP_TRY { - uninitialized_copy(__first, __last, this->_M_finish); - this->_M_finish = __new_finish; - } -- __STL_UNWIND(this->_M_destroy_nodes(this->_M_finish._M_node + 1, __new_finish._M_node + 1)); -+ _STLP_UNWIND(this->_M_destroy_nodes(this->_M_finish._M_node + 1, __new_finish._M_node + 1)); - } - else - _M_insert_aux(__pos, __first, __last, __n); - } --# endif /* __STL_INLINE_MEMBER_TEMPLATES */ --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - iterator _M_insert_aux(iterator __pos, const value_type& __x); - iterator _M_insert_aux(iterator __pos); -@@ -884,16 +814,12 @@ - - void _M_insert_aux(iterator __pos, size_type __n, const value_type& __x); - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - template - void _M_insert_aux(iterator __pos, -- _ForwardIterator __first, -- _ForwardIterator __last, -- size_type __n) --# ifndef __STL_INLINE_MEMBER_TEMPLATES --; --# else -- { -+ _ForwardIterator __first, -+ _ForwardIterator __last, -+ size_type __n) { - - const difference_type __elemsbefore = __pos - this->_M_start; - size_type __length = size(); -@@ -901,7 +827,7 @@ - iterator __new_start = _M_reserve_elements_at_front(__n); - iterator __old_start = this->_M_start; - __pos = this->_M_start + __elemsbefore; -- __STL_TRY { -+ _STLP_TRY { - if (__elemsbefore >= difference_type(__n)) { - iterator __start_n = this->_M_start + difference_type(__n); - uninitialized_copy(this->_M_start, __start_n, __new_start); -@@ -913,12 +839,12 @@ - _ForwardIterator __mid = __first; - advance(__mid, difference_type(__n) - __elemsbefore); - __uninitialized_copy_copy(this->_M_start, __pos, __first, __mid, -- __new_start); -+ __new_start, _IsPODType()); - this->_M_start = __new_start; - copy(__mid, __last, __old_start); - } - } -- __STL_UNWIND(this->_M_destroy_nodes(__new_start._M_node, this->_M_start._M_node)); -+ _STLP_UNWIND(this->_M_destroy_nodes(__new_start._M_node, this->_M_start._M_node)); - } - else { - iterator __new_finish = _M_reserve_elements_at_back(__n); -@@ -926,7 +852,7 @@ - const difference_type __elemsafter = - difference_type(__length) - __elemsbefore; - __pos = this->_M_finish - __elemsafter; -- __STL_TRY { -+ _STLP_TRY { - if (__elemsafter > difference_type(__n)) { - iterator __finish_n = this->_M_finish - difference_type(__n); - uninitialized_copy(__finish_n, this->_M_finish, this->_M_finish); -@@ -937,16 +863,15 @@ - else { - _ForwardIterator __mid = __first; - advance(__mid, __elemsafter); -- __uninitialized_copy_copy(__mid, __last, __pos, this->_M_finish, this->_M_finish); -+ __uninitialized_copy_copy(__mid, __last, __pos, this->_M_finish, this->_M_finish, _IsPODType()); - this->_M_finish = __new_finish; - copy(__first, __mid, __pos); - } - } -- __STL_UNWIND(this->_M_destroy_nodes(this->_M_finish._M_node + 1, __new_finish._M_node + 1)); -+ _STLP_UNWIND(this->_M_destroy_nodes(this->_M_finish._M_node + 1, __new_finish._M_node + 1)); - } - } --# endif /* __STL_INLINE_MEMBER_TEMPLATES */ --#else /* __STL_MEMBER_TEMPLATES */ -+#else /* _STLP_MEMBER_TEMPLATES */ - - void _M_insert_aux(iterator __pos, - const value_type* __first, const value_type* __last, -@@ -956,7 +881,7 @@ - const_iterator __first, const_iterator __last, - size_type __n); - --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - iterator _M_reserve_elements_at_front(size_type __n) { - size_type __vacancies = this->_M_start._M_cur - this->_M_start._M_first; -@@ -998,7 +923,7 @@ - // Nonmember functions. - - template --inline bool __STL_CALL operator==(const deque<_Tp, _Alloc>& __x, -+inline bool _STLP_CALL operator==(const deque<_Tp, _Alloc>& __x, - const deque<_Tp, _Alloc>& __y) - { - return __x.size() == __y.size() && -@@ -1006,50 +931,50 @@ - } - - template --inline bool __STL_CALL operator<(const deque<_Tp, _Alloc>& __x, -+inline bool _STLP_CALL operator<(const deque<_Tp, _Alloc>& __x, - const deque<_Tp, _Alloc>& __y) - { - return lexicographical_compare(__x.begin(), __x.end(), - __y.begin(), __y.end()); - } - --#if defined(__STL_USE_SEPARATE_RELOPS_NAMESPACE) -+#if defined(_STLP_USE_SEPARATE_RELOPS_NAMESPACE) - - template --inline bool __STL_CALL operator!=(const deque<_Tp, _Alloc>& __x, -+inline bool _STLP_CALL operator!=(const deque<_Tp, _Alloc>& __x, - const deque<_Tp, _Alloc>& __y) - { - return !(__x == __y); - } - - template --inline bool __STL_CALL operator>(const deque<_Tp, _Alloc>& __x, -+inline bool _STLP_CALL operator>(const deque<_Tp, _Alloc>& __x, - const deque<_Tp, _Alloc>& __y) - { - return __y < __x; - } - - template --inline bool __STL_CALL operator>=(const deque<_Tp, _Alloc>& __x, -+inline bool _STLP_CALL operator>=(const deque<_Tp, _Alloc>& __x, - const deque<_Tp, _Alloc>& __y) - { - return !(__x < __y); - } - - template --inline bool __STL_CALL operator<=(const deque<_Tp, _Alloc>& __x, -+inline bool _STLP_CALL operator<=(const deque<_Tp, _Alloc>& __x, - const deque<_Tp, _Alloc>& __y) - { - return !(__y < __x); - } - - --# endif /* __STL_SEPARATE_RELOPS_NAMESPACE */ -+# endif /* _STLP_SEPARATE_RELOPS_NAMESPACE */ - --# if defined(__STL_FUNCTION_TMPL_PARTIAL_ORDER) -+# if defined(_STLP_FUNCTION_TMPL_PARTIAL_ORDER) - - template --inline void __STL_CALL -+inline void _STLP_CALL - swap(deque<_Tp,_Alloc>& __x, deque<_Tp,_Alloc>& __y) - { - __x.swap(__y); -@@ -1057,26 +982,26 @@ - - # endif - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - - // do a cleanup - # undef deque - # undef __deque__ - # define __deque__ __WORKAROUND_DBG_RENAME(deque) - --# if !defined (__STL_LINK_TIME_INSTANTIATION) -+# if !defined (_STLP_LINK_TIME_INSTANTIATION) - # include - # endif - --#if defined (__STL_DEBUG) -+#if defined (_STLP_DEBUG) - # include - #endif - --# if defined (__STL_USE_WRAPPER_FOR_ALLOC_PARAM) -+# if defined (_STLP_USE_WRAPPER_FOR_ALLOC_PARAM) - # include - # endif - --#endif /* __SGI_STL_INTERNAL_DEQUE_H */ -+#endif /* _STLP_INTERNAL_DEQUE_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_epilog.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_epilog.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_epilog.h Sat Feb 24 10:44:48 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_epilog.h Sun Aug 11 18:59:24 2002 -@@ -6,12 +6,36 @@ - - /* If the platform provides any specific epilog actions, - like #pragmas, do include platform-specific prolog file */ --# if defined (__STL_HAS_SPECIFIC_PROLOG_EPILOG) -+# if defined (_STLP_HAS_SPECIFIC_PROLOG_EPILOG) - # include - # endif -- --# if defined (__STL_REDEFINE_STD) || ! defined (__STL_USE_NAMESPACES) --/* We redefine "std" to "stlport", so that user code may use std:: transparently */ --# undef std --# define std STLPORT -+ -+# ifndef _STLP_NO_POST_COMPATIBLE_SECTION -+# include -+# endif -+ -+/* provide a mechanism to redefine std:: namespace in a way that is transparent to the -+ * user. _STLP_REDEFINE_STD is being used for wrapper files that include native headers -+ * to temporary undef the std macro. */ -+# if ! defined ( _STLP_USE_NAMESPACES ) || (defined ( _STLP_USE_OWN_NAMESPACE ) \ -+ && ! defined ( _STLP_DONT_REDEFINE_STD )) -+# define _STLP_REDEFINE_STD 1 -+# endif -+ -+# if defined (_STLP_REDEFINE_STD) -+/* We redefine "std" to "stlport", so that user code may use std:: transparently */ -+# undef std -+# define std STLPORT -+# else -+# if defined(__cplusplus) -+# ifndef _STLP_CONFIG_H -+# include -+# endif -+# if defined (_STLP_USE_OWN_NAMESPACE) && defined (_STLP_OWN_IOSTREAMS) -+namespace _STLP_STD {} -+namespace std { -+ using namespace _STLP_STD; -+} -+# endif -+# endif /* __cplusplus */ - # endif -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_fstream.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_fstream.c ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_fstream.c Sat Feb 24 10:44:48 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_fstream.c Sun Aug 11 18:59:24 2002 -@@ -15,22 +15,26 @@ - * modified is included with the above copyright notice. - * - */ --#ifndef __STL_FSTREAM_C --#define __STL_FSTREAM_C -+#ifndef _STLP_FSTREAM_C -+#define _STLP_FSTREAM_C - --# if defined (__STL_DESIGNATED_DLL) || ! defined (__STL_NO_CUSTOM_IO) -+# ifndef _STLP_INTERNAL_FSTREAM_H -+# include -+# endif -+ -+# if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - --# if defined ( __STL_NESTED_TYPE_PARAM_BUG ) -+# if defined ( _STLP_NESTED_TYPE_PARAM_BUG ) - // no wchar_t is supported for this mode - # define __BF_int_type__ int - # define __BF_pos_type__ streampos - # define __BF_off_type__ streamoff - # else --# define __BF_int_type__ __STL_TYPENAME_ON_RETURN_TYPE basic_filebuf<_CharT, _Traits>::int_type --# define __BF_pos_type__ __STL_TYPENAME_ON_RETURN_TYPE basic_filebuf<_CharT, _Traits>::pos_type --# define __BF_off_type__ __STL_TYPENAME_ON_RETURN_TYPE basic_filebuf<_CharT, _Traits>::off_type -+# define __BF_int_type__ _STLP_TYPENAME_ON_RETURN_TYPE basic_filebuf<_CharT, _Traits>::int_type -+# define __BF_pos_type__ _STLP_TYPENAME_ON_RETURN_TYPE basic_filebuf<_CharT, _Traits>::pos_type -+# define __BF_off_type__ _STLP_TYPENAME_ON_RETURN_TYPE basic_filebuf<_CharT, _Traits>::off_type - # endif - - -@@ -47,8 +51,8 @@ - _M_int_buf(0), _M_int_buf_EOS(0), - _M_ext_buf(0), _M_ext_buf_EOS(0), - _M_ext_buf_converted(0), _M_ext_buf_end(0), -- _M_state(), -- _M_end_state(), -+ _M_state(_STLP_DEFAULT_CONSTRUCTED(_State_type)), -+ _M_end_state(_STLP_DEFAULT_CONSTRUCTED(_State_type)), - _M_mmap_base(0), _M_mmap_len(0), - _M_saved_eback(0), _M_saved_gptr(0), _M_saved_egptr(0), - _M_codecvt(0), -@@ -65,7 +69,7 @@ - - - template --__STL_TYPENAME_ON_RETURN_TYPE basic_filebuf<_CharT, _Traits>::int_type -+_STLP_TYPENAME_ON_RETURN_TYPE basic_filebuf<_CharT, _Traits>::int_type - basic_filebuf<_CharT, _Traits>::underflow() - { - return _Underflow<_CharT, _Traits>::_M_doit(this); -@@ -518,10 +522,11 @@ - // Fill the external buffer. Start with any leftover characters that - // didn't get converted last time. - if (_M_ext_buf_end > _M_ext_buf_converted) -- // boris : let us use copy_backward to be safe -- // _M_ext_buf_end = copy(_M_ext_buf_converted, _M_ext_buf_end, _M_ext_buf); -- _M_ext_buf_end = copy_backward(_M_ext_buf_converted, _M_ext_buf_end, -- _M_ext_buf+ (_M_ext_buf_end - _M_ext_buf_converted)); -+ -+ _M_ext_buf_end = copy(_M_ext_buf_converted, _M_ext_buf_end, _M_ext_buf); -+ // boris : copy_backward did not work -+ //_M_ext_buf_end = copy_backward(_M_ext_buf_converted, _M_ext_buf_end, -+ //_M_ext_buf+ (_M_ext_buf_end - _M_ext_buf_converted)); - else - _M_ext_buf_end = _M_ext_buf; - -@@ -556,10 +561,11 @@ - return _Noconv_input<_Traits>::_M_doit(this); - - else if (__status == _Codecvt::error || -- (__inext != _M_int_buf && __enext == _M_ext_buf) || -- (_M_constant_width && -- __inext - _M_int_buf != _M_width * (__enext - _M_ext_buf)) || -- (__inext == _M_int_buf && __enext - _M_ext_buf >= _M_max_width)) -+ (__inext != _M_int_buf && __enext == _M_ext_buf) || -+ (_M_constant_width && -+ // __inext - _M_int_buf != _M_width * (__enext - _M_ext_buf)) || -+ (__inext - _M_int_buf) * _M_width != (__enext - _M_ext_buf)) || -+ (__inext == _M_int_buf && __enext - _M_ext_buf >= _M_max_width)) - return _M_input_error(); - - else if (__inext != _M_int_buf) { -@@ -634,7 +640,7 @@ - // basic_filebuf<>::overflow() for the reason.) - template - bool --basic_filebuf<_CharT, _Traits>::_M_allocate_buffers(_CharT* __buf, int __n) -+basic_filebuf<_CharT, _Traits>::_M_allocate_buffers(_CharT* __buf, streamsize __n) - { - - if (__buf == 0) { -@@ -648,8 +654,8 @@ - _M_int_buf_dynamic = false; - } - -- int __ebufsiz = max(__n * max(_M_codecvt->encoding(), 1), -- _M_codecvt->max_length()); -+ size_t __ebufsiz = (max)(__n * (max)(_M_codecvt->encoding(), 1), -+ streamsize(_M_codecvt->max_length())); - - _M_ext_buf = __STATIC_CAST(char*,malloc(__ebufsiz)); - if (!_M_ext_buf) { -@@ -668,8 +674,8 @@ - { - // Choose a buffer that's at least 4096 characters long and that's a - // multiple of the page size. -- int __default_bufsiz = -- ((_M_base.__page_size() + 4095) / _M_base.__page_size()) * _M_base.__page_size(); -+ streamsize __default_bufsiz = -+ ((_M_base.__page_size() + 4095UL) / _M_base.__page_size()) * _M_base.__page_size(); - return _M_allocate_buffers(0, __default_bufsiz); - } - -@@ -700,7 +706,7 @@ - bool __ok = !traits_type::eq_int_type(this->overflow(traits_type::eof()), - traits_type::eof()); - if (__do_unshift) -- __ok == __ok && this->_M_unshift(); -+ __ok = __ok && this->_M_unshift(); - if (!__ok) { - _M_in_output_mode = false; - _M_in_error_mode = true; -@@ -725,19 +731,19 @@ - _M_codecvt = &use_facet<_Codecvt>(__loc) ; - int __encoding = _M_codecvt->encoding(); - -- _M_width = max(__encoding, 1); -+ _M_width = (max)(__encoding, 1); - _M_max_width = _M_codecvt->max_length(); - _M_constant_width = __encoding > 0; - _M_always_noconv = _M_codecvt->always_noconv(); - } - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - - # undef __BF_int_type__ - # undef __BF_pos_type__ - # undef __BF_off_type__ - --# endif /* if defined (__STL_DESIGNATED_DLL) || ! defined (__STL_NO_CUSTOM_IO) */ -+# endif /* defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) */ - --#endif /* __STL_FSTREAM_C */ -+#endif /* _STLP_FSTREAM_C */ - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_fstream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_fstream.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_fstream.h Sat Feb 24 10:44:49 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_fstream.h Sun Aug 11 18:59:24 2002 -@@ -19,55 +19,65 @@ - // basic_ofstream, and basic_fstream. These classes represent - // streambufs and streams whose sources or destinations are files. - --#ifndef __SGI_STL_FSTREAM_H --#define __SGI_STL_FSTREAM_H -+#ifndef _STLP_INTERNAL_FSTREAM_H -+#define _STLP_INTERNAL_FSTREAM_H - - #if defined(__sgi) && !defined(__GNUC__) && !defined(_STANDARD_C_PLUS_PLUS) - #error This header file requires the -LANG:std option - #endif - --#include // Includes , , -+#ifndef _STLP_INTERNAL_STREAMBUF -+# include -+#endif -+ -+#ifndef _STLP_INTERNAL_ISTREAM_H -+#include -+#endif -+ -+#ifndef _STLP_INTERNAL_CODECVT_H - #include --#include --#include -+#endif - -+#ifndef _STLP_STDIO_FILE_H -+#include -+#endif - --#if !defined (__STL_USE_UNIX_IO) && !defined(__STL_USE_WIN32_IO) \ -- && ! defined (__STL_USE_UNIX_EMULATION_IO) && !defined (__STL_USE_STDIO_IO) -+#if !defined (_STLP_USE_UNIX_IO) && !defined(_STLP_USE_WIN32_IO) \ -+ && ! defined (_STLP_USE_UNIX_EMULATION_IO) && !defined (_STLP_USE_STDIO_IO) - --# if defined (__STL_UNIX) || defined (__CYGWIN__) -+# if defined (_STLP_UNIX) || defined (__CYGWIN__) || defined (__amigaos__) - // open/close/read/write --# define __STL_USE_UNIX_IO --# elif defined (__STL_WIN32) && ! defined (__CYGWIN__) -+# define _STLP_USE_UNIX_IO -+# elif defined (_STLP_WIN32) && ! defined (__CYGWIN__) - // CreateFile/ReadFile/WriteFile --# define __STL_USE_WIN32_IO --# elif defined (__STL_WIN16) || defined (__STL_WIN32) || defined (__STL_MAC) -+# define _STLP_USE_WIN32_IO -+# elif defined (_STLP_WIN16) || defined (_STLP_WIN32) || defined (_STLP_MAC) - // _open/_read/_write --# define __STL_USE_UNIX_EMULATION_IO -+# define _STLP_USE_UNIX_EMULATION_IO - # else - // fopen/fread/fwrite --# define __STL_USE_STDIO_IO --# endif /* __STL_UNIX */ -+# define _STLP_USE_STDIO_IO -+# endif /* _STLP_UNIX */ - - #endif /* mode selection */ - - --#if defined (__STL_USE_WIN32_IO) --typedef void* _STL_fd; --#elif defined (__STL_USE_UNIX_EMULATION_IO) || defined (__STL_USE_STDIO_IO) || defined (__STL_USE_UNIX_IO) --typedef int _STL_fd; -+#if defined (_STLP_USE_WIN32_IO) -+typedef void* _STLP_fd; -+#elif defined (_STLP_USE_UNIX_EMULATION_IO) || defined (_STLP_USE_STDIO_IO) || defined (_STLP_USE_UNIX_IO) -+typedef int _STLP_fd; - #else - #error "Configure i/o !" - #endif - - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - //---------------------------------------------------------------------- - // Class _Filebuf_base, a private base class to factor out the system- - // dependent code from basic_filebuf<>. - --class __STL_CLASS_DECLSPEC _Filebuf_base { -+class _STLP_CLASS_DECLSPEC _Filebuf_base { - public: // Opening and closing files. - _Filebuf_base(); - -@@ -95,9 +105,9 @@ - // where m is the number of newlines in the range. That's because an - // internal \n corresponds to an external two-character sequence. - streamoff _M_get_offset(char* __first, char* __last) { --#if defined (__STL_UNIX) || defined (__STL_MAC) -+#if defined (_STLP_UNIX) || defined (_STLP_MAC) - return __last - __first; --#else // defined (__STL_WIN32) || defined (__STL_WIN16) || defined (__STL_DOS) -+#else // defined (_STLP_WIN32) || defined (_STLP_WIN16) || defined (_STLP_DOS) - return ( (_M_openmode & ios_base::binary) != 0 ) - ? (__last - __first) - : count(__first, __last, '\n') + (__last - __first); -@@ -107,9 +117,9 @@ - // Returns true if we're in binary mode or if we're using an OS or file - // system where there is no distinction between text and binary mode. - bool _M_in_binary_mode() const { --# if defined (__STL_UNIX) || defined (__STL_MAC) -+# if defined (_STLP_UNIX) || defined (_STLP_MAC) || defined(__BEOS__) || defined (__amigaos__) - return true; --# elif defined (__STL_WIN32) || defined (__STL_WIN16) || defined (__STL_DOS) -+# elif defined (_STLP_WIN32) || defined (_STLP_WIN16) || defined (_STLP_DOS) || defined (_STLP_VM) - return (_M_openmode & ios_base::binary) != 0; - # else - # error "Port!" -@@ -120,12 +130,12 @@ - static size_t _M_page_size; - - protected: // Data members. -- _STL_fd _M_file_id; --# ifdef __STL_USE_STDIO_IO -+ _STLP_fd _M_file_id; -+# ifdef _STLP_USE_STDIO_IO - // for stdio, the whole FILE* is being kept here - FILE* _M_file; - # endif --# ifdef __STL_USE_WIN32_IO -+# ifdef _STLP_USE_WIN32_IO - void* _M_view_id; - # endif - -@@ -135,11 +145,12 @@ - unsigned char _M_regular_file ; - - public : -- static size_t __STL_CALL __page_size() { return _M_page_size; } -+ static size_t _STLP_CALL __page_size() { return _M_page_size; } - int __o_mode() const { return (int)_M_openmode; } - bool __is_open() const { return (_M_is_open !=0 ); } - bool __should_close() const { return (_M_should_close != 0); } - bool __regular_file() const { return (_M_regular_file != 0); } -+ _STLP_fd __get_fd() const { return _M_file_id; } - }; - - -@@ -150,11 +161,11 @@ - - // Forward declaration of two helper classes. - template class _Noconv_input; --__STL_TEMPLATE_NULL -+_STLP_TEMPLATE_NULL - class _Noconv_input >; - - template class _Noconv_output; --__STL_TEMPLATE_NULL -+_STLP_TEMPLATE_NULL - class _Noconv_output< char_traits >; - - // There is a specialized version of underflow, for basic_filebuf, -@@ -163,7 +174,7 @@ - template - class _Underflow; - -- __STL_TEMPLATE_NULL class _Underflow< char, char_traits >; -+ _STLP_TEMPLATE_NULL class _Underflow< char, char_traits >; - - template - class basic_filebuf : public basic_streambuf<_CharT, _Traits> -@@ -190,14 +201,22 @@ - return _M_base._M_open(__s, __m) ? this : 0; - } - -- // These two version of open() are extensions. -+# ifndef _STLP_NO_EXTENSIONS -+ // These two version of open() and file descriptor getter are extensions. - _Self* open(const char* __s, ios_base::openmode __m, - long __protection) { - return _M_base._M_open(__s, __m, __protection) ? this : 0; - } - -- _Self* open(int __id, ios_base::openmode __init_mode = ios_base::__default_mode) { -- return _M_base._M_open(__id, __init_mode) ? this : 0; -+ _STLP_fd fd() const { return _M_base.__get_fd(); } -+ -+ _Self* open(int __id, ios_base::openmode _Init_mode = ios_base::__default_mode) { -+ return this->_M_open(__id, _Init_mode); -+ } -+# endif -+ -+ _Self* _M_open(int __id, ios_base::openmode _Init_mode = ios_base::__default_mode) { -+ return _M_base._M_open(__id, _Init_mode) ? this : 0; - } - - _Self* close(); -@@ -239,7 +258,7 @@ - int_type _M_output_error(); - bool _M_unshift(); - -- bool _M_allocate_buffers(_CharT* __buf, int __n); -+ bool _M_allocate_buffers(_CharT* __buf, streamsize __n); - bool _M_allocate_buffers(); - void _M_deallocate_buffers(); - -@@ -338,12 +357,12 @@ - } - }; - --# if defined (__STL_USE_TEMPLATE_EXPORT) --__STL_EXPORT_TEMPLATE_CLASS basic_filebuf >; --# if ! defined (__STL_NO_WCHAR_T) --__STL_EXPORT_TEMPLATE_CLASS basic_filebuf >; -+# if defined (_STLP_USE_TEMPLATE_EXPORT) -+_STLP_EXPORT_TEMPLATE_CLASS basic_filebuf >; -+# if ! defined (_STLP_NO_WCHAR_T) -+_STLP_EXPORT_TEMPLATE_CLASS basic_filebuf >; - # endif --# endif /* __STL_USE_TEMPLATE_EXPORT */ -+# endif /* _STLP_USE_TEMPLATE_EXPORT */ - - // public: - // helper class. -@@ -364,17 +383,17 @@ - class _Noconv_output { - public: - typedef typename _Traits::char_type char_type; -- static bool __STL_CALL _M_doit(basic_filebuf*, -+ static bool _STLP_CALL _M_doit(basic_filebuf*, - char_type*, char_type*) - { - return false; - } - }; - --__STL_TEMPLATE_NULL --class __STL_CLASS_DECLSPEC _Noconv_output< char_traits > { -+_STLP_TEMPLATE_NULL -+class _STLP_CLASS_DECLSPEC _Noconv_output< char_traits > { - public: -- static bool __STL_CALL -+ static bool _STLP_CALL - _M_doit(basic_filebuf >* __buf, - char* __first, char* __last) - { -@@ -404,17 +423,17 @@ - typedef typename _Traits::int_type int_type; - typedef typename _Traits::char_type char_type; - -- static inline int_type __STL_CALL -+ static inline int_type _STLP_CALL - _M_doit(basic_filebuf*) - { - return 0; - } - }; - --__STL_TEMPLATE_NULL -+_STLP_TEMPLATE_NULL - class _Noconv_input > { - public: -- static inline int __STL_CALL -+ static inline int _STLP_CALL - _M_doit(basic_filebuf >* __buf) { - return __buf->_M_do_noconv_input(); - } -@@ -425,30 +444,30 @@ - // to the regular internal buffer. (2) We've exhausted the internal buffer, - // and we need to replentish it. - template --class __STL_CLASS_DECLSPEC _Underflow { -+class _Underflow { - public: - typedef typename _Traits::int_type int_type; - typedef _Traits traits_type; - -- static int_type __STL_CALL _M_doit(basic_filebuf<_CharT, _Traits>* __this); -+ static int_type _STLP_CALL _M_doit(basic_filebuf<_CharT, _Traits>* __this); - }; - - - // Specialization of underflow: if the character type is char, maybe - // we can use mmap instead of read. --__STL_TEMPLATE_NULL --class __STL_CLASS_DECLSPEC _Underflow< char, char_traits > { -+_STLP_TEMPLATE_NULL -+class _STLP_CLASS_DECLSPEC _Underflow< char, char_traits > { - public: - typedef char_traits::int_type int_type; - typedef char_traits traits_type; -- static int __STL_CALL _M_doit(basic_filebuf* __this); -+ static int _STLP_CALL _M_doit(basic_filebuf* __this); - }; - - // There is a specialized version of underflow, for basic_filebuf, - // in fstream.cxx. - - template --__STL_TYPENAME_ON_RETURN_TYPE _Underflow<_CharT, _Traits>::int_type __STL_CALL -+_STLP_TYPENAME_ON_RETURN_TYPE _Underflow<_CharT, _Traits>::int_type // _STLP_CALL - _Underflow<_CharT, _Traits>::_M_doit(basic_filebuf<_CharT, _Traits>* __this) - { - if (!__this->_M_in_input_mode) { -@@ -467,8 +486,8 @@ - return __this->_M_underflow_aux(); - } - --#if defined( __STL_USE_TEMPLATE_EXPORT ) && ! defined (__STL_NO_WCHAR_T) --__STL_EXPORT_TEMPLATE_CLASS _Underflow >; -+#if defined( _STLP_USE_TEMPLATE_EXPORT ) && ! defined (_STLP_NO_WCHAR_T) -+_STLP_EXPORT_TEMPLATE_CLASS _Underflow >; - #endif - - -@@ -504,6 +523,23 @@ - this->setstate(ios_base::failbit); - } - -+# ifndef _STLP_NO_EXTENSIONS -+ explicit basic_ifstream(int __id, ios_base::openmode __mod = ios_base::in) : -+ basic_ios<_CharT, _Traits>(), basic_istream<_CharT, _Traits>(0), _M_buf() { -+ this->init(&_M_buf); -+ if (!_M_buf.open(__id, __mod | ios_base::in)) -+ this->setstate(ios_base::failbit); -+ } -+ basic_ifstream(const char* __s, ios_base::openmode __m, -+ long __protection) : -+ basic_ios<_CharT, _Traits>(), basic_istream<_CharT, _Traits>(0), _M_buf() { -+ this->init(&_M_buf); -+ if (!_M_buf.open(__s, __m | ios_base::in, __protection)) -+ this->setstate(ios_base::failbit); -+ } -+ -+# endif -+ - ~basic_ifstream() {} - - public: // File and buffer operations. -@@ -560,6 +596,23 @@ - if (!_M_buf.open(__s, __mod | ios_base::out)) - this->setstate(ios_base::failbit); - } -+ -+# ifndef _STLP_NO_EXTENSIONS -+ explicit basic_ofstream(int __id, ios_base::openmode __mod = ios_base::out) -+ : basic_ios<_CharT, _Traits>(), basic_ostream<_CharT, _Traits>(0), -+ _M_buf() { -+ this->init(&_M_buf); -+ if (!_M_buf.open(__id, __mod | ios_base::out)) -+ this->setstate(ios_base::failbit); -+ } -+ basic_ofstream(const char* __s, ios_base::openmode __m, long __protection) : -+ basic_ios<_CharT, _Traits>(), basic_ostream<_CharT, _Traits>(0), _M_buf() { -+ this->init(&_M_buf); -+ if (!_M_buf.open(__s, __m | ios_base::out, __protection)) -+ this->setstate(ios_base::failbit); -+ } -+# endif -+ - ~basic_ofstream() {} - - public: // File and buffer operations. -@@ -589,7 +642,7 @@ - // Class basic_fstream<> - - template --class __STL_DECLSPEC basic_fstream : public basic_iostream<_CharT, _Traits> -+class basic_fstream : public basic_iostream<_CharT, _Traits> - { - public: // Types - typedef _CharT char_type; -@@ -616,6 +669,22 @@ - if (!_M_buf.open(__s, __mod)) - this->setstate(ios_base::failbit); - } -+ -+# ifndef _STLP_NO_EXTENSIONS -+ explicit basic_fstream(int __id, -+ ios_base::openmode __mod = ios_base::in | ios_base::out) : -+ basic_ios<_CharT, _Traits>(), basic_iostream<_CharT, _Traits>(0), _M_buf() { -+ this->init(&_M_buf); -+ if (!_M_buf.open(__id, __mod)) -+ this->setstate(ios_base::failbit); -+ } -+ basic_fstream(const char* __s, ios_base::openmode __m, long __protection) : -+ basic_ios<_CharT, _Traits>(), basic_iostream<_CharT, _Traits>(0), _M_buf() { -+ this->init(&_M_buf); -+ if (!_M_buf.open(__s, __m, __protection)) -+ this->setstate(ios_base::failbit); -+ } -+# endif - ~basic_fstream() {} - - public: // File and buffer operations. -@@ -643,28 +712,28 @@ - basic_filebuf<_CharT, _Traits> _M_buf; - }; - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --# if !defined (__STL_LINK_TIME_INSTANTIATION) -+# if !defined (_STLP_LINK_TIME_INSTANTIATION) - # include - # endif - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - --# if defined (__STL_USE_TEMPLATE_EXPORT) --__STL_EXPORT_TEMPLATE_CLASS basic_ifstream >; --__STL_EXPORT_TEMPLATE_CLASS basic_ofstream >; --__STL_EXPORT_TEMPLATE_CLASS basic_fstream >; --# if ! defined (__STL_NO_WCHAR_T) --__STL_EXPORT_TEMPLATE_CLASS basic_ifstream >; --__STL_EXPORT_TEMPLATE_CLASS basic_ofstream >; --__STL_EXPORT_TEMPLATE_CLASS basic_fstream >; -+# if defined (_STLP_USE_TEMPLATE_EXPORT) -+_STLP_EXPORT_TEMPLATE_CLASS basic_ifstream >; -+_STLP_EXPORT_TEMPLATE_CLASS basic_ofstream >; -+_STLP_EXPORT_TEMPLATE_CLASS basic_fstream >; -+# if ! defined (_STLP_NO_WCHAR_T) -+_STLP_EXPORT_TEMPLATE_CLASS basic_ifstream >; -+_STLP_EXPORT_TEMPLATE_CLASS basic_ofstream >; -+_STLP_EXPORT_TEMPLATE_CLASS basic_fstream >; - # endif --# endif /* __STL_USE_TEMPLATE_EXPORT */ -+# endif /* _STLP_USE_TEMPLATE_EXPORT */ - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --#endif /* __SGI_STL_FSTREAM */ -+#endif /* _STLP_FSTREAM */ - - - // Local Variables: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_function.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_function.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_function.h Sat Feb 24 10:44:50 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_function.h Sun Aug 11 18:59:24 2002 -@@ -27,120 +27,22 @@ - * You should not attempt to use it directly. - */ - --#ifndef __SGI_STL_INTERNAL_FUNCTION_H --#define __SGI_STL_INTERNAL_FUNCTION_H -+#ifndef _STLP_INTERNAL_FUNCTION_H -+#define _STLP_INTERNAL_FUNCTION_H - --__STL_BEGIN_NAMESPACE -+#ifndef _STLP_INTERNAL_FUNCTION_BASE_H -+#include -+#endif - --template --struct unary_function { -- typedef _Arg argument_type; -- typedef _Result result_type; --}; -- --template --struct binary_function { -- typedef _Arg1 first_argument_type; -- typedef _Arg2 second_argument_type; -- typedef _Result result_type; --}; -- --template --struct plus : public binary_function<_Tp,_Tp,_Tp> { -- _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x + __y; } --}; -- --template --struct minus : public binary_function<_Tp,_Tp,_Tp> { -- _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x - __y; } --}; -- --template --struct multiplies : public binary_function<_Tp,_Tp,_Tp> { -- _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x * __y; } --}; -- --template --struct divides : public binary_function<_Tp,_Tp,_Tp> { -- _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x / __y; } --}; -+_STLP_BEGIN_NAMESPACE - -+# ifndef _STLP_NO_EXTENSIONS - // identity_element (not part of the C++ standard). -+template inline _Tp identity_element(plus<_Tp>) { return _Tp(0); } -+template inline _Tp identity_element(multiplies<_Tp>) { return _Tp(1); } -+# endif - --template inline _Tp identity_element(plus<_Tp>) { -- return _Tp(0); --} --template inline _Tp identity_element(multiplies<_Tp>) { -- return _Tp(1); --} -- --template --struct modulus : public binary_function<_Tp,_Tp,_Tp> --{ -- _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x % __y; } --}; -- --template --struct negate : public unary_function<_Tp,_Tp> --{ -- _Tp operator()(const _Tp& __x) const { return -__x; } --}; -- --template --struct equal_to : public binary_function<_Tp,_Tp,bool> --{ -- bool operator()(const _Tp& __x, const _Tp& __y) const { return __x == __y; } --}; -- --template --struct not_equal_to : public binary_function<_Tp,_Tp,bool> --{ -- bool operator()(const _Tp& __x, const _Tp& __y) const { return __x != __y; } --}; -- --template --struct greater : public binary_function<_Tp,_Tp,bool> --{ -- bool operator()(const _Tp& __x, const _Tp& __y) const { return __x > __y; } --}; -- --template --struct less : public binary_function<_Tp,_Tp,bool> --{ -- bool operator()(const _Tp& __x, const _Tp& __y) const { return __x < __y; } --}; -- --template --struct greater_equal : public binary_function<_Tp,_Tp,bool> --{ -- bool operator()(const _Tp& __x, const _Tp& __y) const { return __x >= __y; } --}; -- --template --struct less_equal : public binary_function<_Tp,_Tp,bool> --{ -- bool operator()(const _Tp& __x, const _Tp& __y) const { return __x <= __y; } --}; -- --template --struct logical_and : public binary_function<_Tp,_Tp,bool> --{ -- bool operator()(const _Tp& __x, const _Tp& __y) const { return __x && __y; } --}; -- --template --struct logical_or : public binary_function<_Tp,_Tp,bool> --{ -- bool operator()(const _Tp& __x, const _Tp& __y) const { return __x || __y; } --}; -- --template --struct logical_not : public unary_function<_Tp,bool> --{ -- bool operator()(const _Tp& __x) const { return !__x; } --}; -- --# if defined (__STL_BASE_TYPEDEF_BUG) -+# if defined (_STLP_BASE_TYPEDEF_BUG) - // this workaround is needed for SunPro 4.0.1 - // suggested by "Martin Abernethy" : - -@@ -271,7 +173,7 @@ - return binder2nd<_Operation>(__fn, _Arg2_type(__x)); - } - --# ifndef __STL_NO_EXTENSIONS -+# ifndef _STLP_NO_EXTENSIONS - // unary_compose and binary_compose (extensions, not part of the standard). - - template -@@ -324,7 +226,7 @@ - (__fn1, __fn2, __fn3); - } - --# endif /* __STL_NO_EXTENSIONS */ -+# endif /* _STLP_NO_EXTENSIONS */ - - template - class pointer_to_unary_function : public unary_function<_Arg, _Result> { -@@ -362,56 +264,7 @@ - return pointer_to_binary_function<_Arg1,_Arg2,_Result>(__x); - } - -- --template --struct _Identity : public unary_function<_Tp,_Tp> { -- const _Tp& operator()(const _Tp& __x) const { return __x; } --}; -- --# ifdef __STL_USE_ABBREVS --# define _Select1st _S1st --# define _Select2nd _S2nd --# endif -- --template --struct _Select1st : public unary_function<_Pair, typename _Pair::first_type> { -- const typename _Pair::first_type& operator()(const _Pair& __x) const { -- return __x.first; -- } --}; -- --template --struct _Select2nd : public unary_function<_Pair, typename _Pair::second_type> --{ -- const typename _Pair::second_type& operator()(const _Pair& __x) const { -- return __x.second; -- } --}; -- --#ifdef __STL_MULTI_CONST_TEMPLATE_ARG_BUG --// fbp : sort of select1st just for maps --template --// JDJ (CW Pro1 doesn't like const when first_type is also const) --struct __Select1st_hint : public unary_function<_Pair, _Whatever> { -- const _Whatever& operator () (const _Pair& __x) const { return __x.first; } --}; --# define __STL_SELECT1ST(__x,__y) __Select1st_hint< __x, __y > --# else --# define __STL_SELECT1ST(__x, __y) _Select1st< __x > --# endif -- --// project1st and project2nd are extensions: they are not part of the standard --template --struct _Project1st : public binary_function<_Arg1, _Arg2, _Arg1> { -- _Arg1 operator()(const _Arg1& __x, const _Arg2&) const { return __x; } --}; -- --template --struct _Project2nd : public binary_function<_Arg1, _Arg2, _Arg2> { -- _Arg2 operator()(const _Arg1&, const _Arg2& __y) const { return __y; } --}; -- --# ifndef __STL_NO_EXTENSIONS -+# ifndef _STLP_NO_EXTENSIONS - - // identity is an extension: it is not part of the standard. - template struct identity : public _Identity<_Tp> {}; -@@ -425,6 +278,7 @@ - template - struct project2nd : public _Project2nd<_Arg1, _Arg2> {}; - -+ - // constant_void_fun, constant_unary_fun, and constant_binary_fun are - // extensions: they are not part of the standard. (The same, of course, - // is true of the helper functions constant0, constant1, and constant2.) -@@ -438,28 +292,6 @@ - const result_type& operator()() const { return _M_val; } - }; - --template --struct _Constant_unary_fun { -- typedef _Argument argument_type; -- typedef _Result result_type; -- result_type _M_val; -- -- _Constant_unary_fun(const result_type& __v) : _M_val(__v) {} -- const result_type& operator()(const _Argument&) const { return _M_val; } --}; -- --template --struct _Constant_binary_fun { -- typedef _Arg1 first_argument_type; -- typedef _Arg2 second_argument_type; -- typedef _Result result_type; -- _Result _M_val; -- -- _Constant_binary_fun(const _Result& __v) : _M_val(__v) {} -- const result_type& operator()(const _Arg1&, const _Arg2&) const { -- return _M_val; -- } --}; - - template - struct constant_void_fun : public _Constant_void_fun<_Result> { -@@ -502,26 +334,26 @@ - - // subtractive_rng is an extension: it is not part of the standard. - // Note: this code assumes that int is 32 bits. --class subtractive_rng : public unary_function<__STL_UINT32_T, __STL_UINT32_T> { -+class subtractive_rng : public unary_function<_STLP_UINT32_T, _STLP_UINT32_T> { - private: -- __STL_UINT32_T _M_table[55]; -- __STL_UINT32_T _M_index1; -- __STL_UINT32_T _M_index2; -+ _STLP_UINT32_T _M_table[55]; -+ _STLP_UINT32_T _M_index1; -+ _STLP_UINT32_T _M_index2; - public: -- __STL_UINT32_T operator()(__STL_UINT32_T __limit) { -+ _STLP_UINT32_T operator()(_STLP_UINT32_T __limit) { - _M_index1 = (_M_index1 + 1) % 55; - _M_index2 = (_M_index2 + 1) % 55; - _M_table[_M_index1] = _M_table[_M_index1] - _M_table[_M_index2]; - return _M_table[_M_index1] % __limit; - } - -- void _M_initialize(__STL_UINT32_T __seed) -+ void _M_initialize(_STLP_UINT32_T __seed) - { -- __STL_UINT32_T __k = 1; -+ _STLP_UINT32_T __k = 1; - _M_table[54] = __seed; -- __STL_UINT32_T __i; -+ _STLP_UINT32_T __i; - for (__i = 0; __i < 54; __i++) { -- __STL_UINT32_T __ii = (21 * (__i + 1) % 55) - 1; -+ _STLP_UINT32_T __ii = (21 * (__i + 1) % 55) - 1; - _M_table[__ii] = __k; - __k = __seed - __k; - __seed = _M_table[__ii]; -@@ -538,7 +370,7 @@ - subtractive_rng() { _M_initialize(161803398ul); } - }; - --# endif /* __STL_NO_EXTENSIONS */ -+# endif /* _STLP_NO_EXTENSIONS */ - - - // Adaptor function objects: pointers to member functions. -@@ -644,13 +476,13 @@ - }; - - --# ifdef __STL_CLASS_PARTIAL_SPECIALIZATION -+# ifdef _STLP_CLASS_PARTIAL_SPECIALIZATION - - template - class mem_fun_t : public unary_function<_Tp*,void> { - typedef void (_Tp::*_fun_type)(void); - public: -- explicit mem_fun_t __STL_PSPEC2(void,_Tp) (_fun_type __pf) : _M_f(__pf) {} -+ explicit mem_fun_t _STLP_PSPEC2(void,_Tp) (_fun_type __pf) : _M_f(__pf) {} - void operator()(_Tp* __p) const { (__p->*_M_f)(); } - private: - _fun_type _M_f; -@@ -660,7 +492,7 @@ - class const_mem_fun_t : public unary_function { - typedef void (_Tp::*_fun_type)(void) const; - public: -- explicit const_mem_fun_t __STL_PSPEC2(void,_Tp) (_fun_type __pf) : _M_f(__pf) {} -+ explicit const_mem_fun_t _STLP_PSPEC2(void,_Tp) (_fun_type __pf) : _M_f(__pf) {} - void operator()(const _Tp* __p) const { (__p->*_M_f)(); } - private: - _fun_type _M_f; -@@ -670,7 +502,7 @@ - class mem_fun_ref_t : public unary_function<_Tp,void> { - typedef void (_Tp::*_fun_type)(void); - public: -- explicit mem_fun_ref_t __STL_PSPEC2(void,_Tp) (_fun_type __pf) : _M_f(__pf) {} -+ explicit mem_fun_ref_t _STLP_PSPEC2(void,_Tp) (_fun_type __pf) : _M_f(__pf) {} - void operator()(_Tp& __r) const { (__r.*_M_f)(); } - private: - _fun_type _M_f; -@@ -680,7 +512,7 @@ - class const_mem_fun_ref_t : public unary_function<_Tp,void> { - typedef void (_Tp::*_fun_type)(void) const; - public: -- explicit const_mem_fun_ref_t __STL_PSPEC2(void,_Tp) (_fun_type __pf) : _M_f(__pf) {} -+ explicit const_mem_fun_ref_t _STLP_PSPEC2(void,_Tp) (_fun_type __pf) : _M_f(__pf) {} - void operator()(const _Tp& __r) const { (__r.*_M_f)(); } - private: - _fun_type _M_f; -@@ -690,7 +522,7 @@ - class mem_fun1_t : public binary_function<_Tp*,_Arg,void> { - typedef void (_Tp::*_fun_type)(_Arg); - public: -- explicit mem_fun1_t __STL_PSPEC3(void,_Tp,_Arg) (_fun_type __pf) : _M_f(__pf) {} -+ explicit mem_fun1_t _STLP_PSPEC3(void,_Tp,_Arg) (_fun_type __pf) : _M_f(__pf) {} - void operator()(_Tp* __p, _Arg __x) const { (__p->*_M_f)(__x); } - private: - _fun_type _M_f; -@@ -701,7 +533,7 @@ - : public binary_function { - typedef void (_Tp::*_fun_type)(_Arg) const; - public: -- explicit const_mem_fun1_t __STL_PSPEC3(void,_Tp,_Arg) (_fun_type __pf) : _M_f(__pf) {} -+ explicit const_mem_fun1_t _STLP_PSPEC3(void,_Tp,_Arg) (_fun_type __pf) : _M_f(__pf) {} - void operator()(const _Tp* __p, _Arg __x) const { (__p->*_M_f)(__x); } - private: - _fun_type _M_f; -@@ -712,7 +544,7 @@ - : public binary_function<_Tp,_Arg,void> { - typedef void (_Tp::*_fun_type)(_Arg); - public: -- explicit mem_fun1_ref_t __STL_PSPEC3(void,_Tp,_Arg) (_fun_type __pf) : _M_f(__pf) {} -+ explicit mem_fun1_ref_t _STLP_PSPEC3(void,_Tp,_Arg) (_fun_type __pf) : _M_f(__pf) {} - void operator()(_Tp& __r, _Arg __x) const { (__r.*_M_f)(__x); } - private: - _fun_type _M_f; -@@ -723,15 +555,15 @@ - : public binary_function<_Tp,_Arg,void> { - typedef void (_Tp::*_fun_type)(_Arg) const; - public: -- explicit const_mem_fun1_ref_t __STL_PSPEC3(void,_Tp,_Arg) (_fun_type __pf) : _M_f(__pf) {} -+ explicit const_mem_fun1_ref_t _STLP_PSPEC3(void,_Tp,_Arg) (_fun_type __pf) : _M_f(__pf) {} - void operator()(const _Tp& __r, _Arg __x) const { (__r.*_M_f)(__x); } - private: - _fun_type _M_f; - }; - --#endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */ -+#endif /* _STLP_CLASS_PARTIAL_SPECIALIZATION */ - --# if !defined (__STL_MEMBER_POINTER_PARAM_BUG) -+# if !defined (_STLP_MEMBER_POINTER_PARAM_BUG) - - // Mem_fun adaptor helper functions. There are only two: - // mem_fun and mem_fun_ref. (mem_fun1 and mem_fun1_ref -@@ -739,74 +571,60 @@ - // part of the C++ standard.) - - template --inline mem_fun_t<_Ret,_Tp> mem_fun(_Ret (_Tp::*__f)()) -- { return mem_fun_t<_Ret,_Tp>(__f); } -+inline mem_fun_t<_Ret,_Tp> mem_fun(_Ret (_Tp::*__f)()) { return mem_fun_t<_Ret,_Tp>(__f); } - - template --inline const_mem_fun_t<_Ret,_Tp> mem_fun(_Ret (_Tp::*__f)() const) -- { return const_mem_fun_t<_Ret,_Tp>(__f); } -+inline const_mem_fun_t<_Ret,_Tp> mem_fun(_Ret (_Tp::*__f)() const) { return const_mem_fun_t<_Ret,_Tp>(__f); } - - template --inline mem_fun_ref_t<_Ret,_Tp> mem_fun_ref(_Ret (_Tp::*__f)()) -- { return mem_fun_ref_t<_Ret,_Tp>(__f); } -+inline mem_fun_ref_t<_Ret,_Tp> mem_fun_ref(_Ret (_Tp::*__f)()) { return mem_fun_ref_t<_Ret,_Tp>(__f); } - - template --inline const_mem_fun_ref_t<_Ret,_Tp> mem_fun_ref(_Ret (_Tp::*__f)() const) -- { return const_mem_fun_ref_t<_Ret,_Tp>(__f); } -+inline const_mem_fun_ref_t<_Ret,_Tp> mem_fun_ref(_Ret (_Tp::*__f)() const) { return const_mem_fun_ref_t<_Ret,_Tp>(__f); } - - - template - inline mem_fun1_t<_Ret,_Tp,_Arg> --mem_fun(_Ret (_Tp::*__f)(_Arg)) --{ return mem_fun1_t<_Ret,_Tp,_Arg>(__f); } -+mem_fun(_Ret (_Tp::*__f)(_Arg)) { return mem_fun1_t<_Ret,_Tp,_Arg>(__f); } - - template - inline const_mem_fun1_t<_Ret,_Tp,_Arg> --mem_fun(_Ret (_Tp::*__f)(_Arg) const) --{ return const_mem_fun1_t<_Ret,_Tp,_Arg>(__f); } -+mem_fun(_Ret (_Tp::*__f)(_Arg) const) { return const_mem_fun1_t<_Ret,_Tp,_Arg>(__f); } - - template - inline mem_fun1_ref_t<_Ret,_Tp,_Arg> --mem_fun_ref(_Ret (_Tp::*__f)(_Arg)) --{ return mem_fun1_ref_t<_Ret,_Tp,_Arg>(__f); } -+mem_fun_ref(_Ret (_Tp::*__f)(_Arg)) { return mem_fun1_ref_t<_Ret,_Tp,_Arg>(__f); } - - template - inline const_mem_fun1_ref_t<_Ret,_Tp,_Arg> --mem_fun_ref(_Ret (_Tp::*__f)(_Arg) const) -- { return const_mem_fun1_ref_t<_Ret,_Tp,_Arg>(__f); } -- --# if !(defined (__STL_NO_EXTENSIONS) || defined (__STL_NO_ANACHRONISMS)) -+mem_fun_ref(_Ret (_Tp::*__f)(_Arg) const) { return const_mem_fun1_ref_t<_Ret,_Tp,_Arg>(__f); } - -+# if !(defined (_STLP_NO_EXTENSIONS) || defined (_STLP_NO_ANACHRONISMS)) - // mem_fun1 and mem_fun1_ref are no longer part of the C++ standard, - // but they are provided for backward compatibility. -- - template - inline mem_fun1_t<_Ret,_Tp,_Arg> --mem_fun1(_Ret (_Tp::*__f)(_Arg)) -- { return mem_fun1_t<_Ret,_Tp,_Arg>(__f); } -+mem_fun1(_Ret (_Tp::*__f)(_Arg)) { return mem_fun1_t<_Ret,_Tp,_Arg>(__f); } - - template - inline const_mem_fun1_t<_Ret,_Tp,_Arg> --mem_fun1(_Ret (_Tp::*__f)(_Arg) const) -- { return const_mem_fun1_t<_Ret,_Tp,_Arg>(__f); } -+mem_fun1(_Ret (_Tp::*__f)(_Arg) const) { return const_mem_fun1_t<_Ret,_Tp,_Arg>(__f); } - - template - inline mem_fun1_ref_t<_Ret,_Tp,_Arg> --mem_fun1_ref(_Ret (_Tp::*__f)(_Arg)) -- { return mem_fun1_ref_t<_Ret,_Tp,_Arg>(__f); } -+mem_fun1_ref(_Ret (_Tp::*__f)(_Arg)) { return mem_fun1_ref_t<_Ret,_Tp,_Arg>(__f); } - - template - inline const_mem_fun1_ref_t<_Ret,_Tp,_Arg> --mem_fun1_ref(_Ret (_Tp::*__f)(_Arg) const) -- { return const_mem_fun1_ref_t<_Ret,_Tp,_Arg>(__f); } -+mem_fun1_ref(_Ret (_Tp::*__f)(_Arg) const) { return const_mem_fun1_ref_t<_Ret,_Tp,_Arg>(__f); } - --# endif /* __STL_NO_EXTENSIONS */ -+# endif /* _STLP_NO_EXTENSIONS */ - --# endif /* __STL_MEMBER_POINTER_PARAM_BUG */ -+# endif /* _STLP_MEMBER_POINTER_PARAM_BUG */ - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --#endif /* __SGI_STL_INTERNAL_FUNCTION_H */ -+#endif /* _STLP_INTERNAL_FUNCTION_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_function_base.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_function_base.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_function_base.h Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_function_base.h Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,226 @@ -+/* -+ * -+ * Copyright (c) 1994 -+ * Hewlett-Packard Company -+ * -+ * Copyright (c) 1996-1998 -+ * Silicon Graphics Computer Systems, Inc. -+ * -+ * Copyright (c) 1997 -+ * Moscow Center for SPARC Technology -+ * -+ * Copyright (c) 1999 -+ * Boris Fomitchev -+ * -+ * This material is provided "as is", with absolutely no warranty expressed -+ * or implied. Any use is at your own risk. -+ * -+ * Permission to use or copy this software for any purpose is hereby granted -+ * without fee, provided the above notices are retained on all copies. -+ * Permission to modify the code and to distribute modified code is granted, -+ * provided the above notices are retained, and a notice that the code was -+ * modified is included with the above copyright notice. -+ * -+ */ -+ -+/* NOTE: This is an internal header file, included by other STL headers. -+ * You should not attempt to use it directly. -+ */ -+ -+#ifndef _STLP_INTERNAL_FUNCTION_BASE_H -+#define _STLP_INTERNAL_FUNCTION_BASE_H -+ -+#ifndef _STLP_CONFIG_H -+#include -+#endif -+ -+_STLP_BEGIN_NAMESPACE -+ -+template -+struct unary_function { -+ typedef _Arg argument_type; -+ typedef _Result result_type; -+}; -+ -+template -+struct binary_function { -+ typedef _Arg1 first_argument_type; -+ typedef _Arg2 second_argument_type; -+ typedef _Result result_type; -+}; -+ -+template -+struct equal_to : public binary_function<_Tp,_Tp,bool> -+{ -+ bool operator()(const _Tp& __x, const _Tp& __y) const { return __x == __y; } -+}; -+ -+template -+struct not_equal_to : public binary_function<_Tp,_Tp,bool> -+{ -+ bool operator()(const _Tp& __x, const _Tp& __y) const { return __x != __y; } -+}; -+ -+template -+struct greater : public binary_function<_Tp,_Tp,bool> -+{ -+ bool operator()(const _Tp& __x, const _Tp& __y) const { return __x > __y; } -+}; -+ -+template -+struct less : public binary_function<_Tp,_Tp,bool> -+{ -+ bool operator()(const _Tp& __x, const _Tp& __y) const { return __x < __y; } -+}; -+ -+template -+struct greater_equal : public binary_function<_Tp,_Tp,bool> -+{ -+ bool operator()(const _Tp& __x, const _Tp& __y) const { return __x >= __y; } -+}; -+ -+template -+struct less_equal : public binary_function<_Tp,_Tp,bool> -+{ -+ bool operator()(const _Tp& __x, const _Tp& __y) const { return __x <= __y; } -+}; -+ -+template -+less<_Tp> __less(_Tp* ) { return less<_Tp>(); } -+ -+template -+equal_to<_Tp> __equal_to(_Tp* ) { return equal_to<_Tp>(); } -+ -+template -+struct plus : public binary_function<_Tp,_Tp,_Tp> { -+ _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x + __y; } -+}; -+ -+template -+struct minus : public binary_function<_Tp,_Tp,_Tp> { -+ _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x - __y; } -+}; -+ -+template -+plus<_Tp> __plus(_Tp* ) { return plus<_Tp>(); } -+ -+template -+minus<_Tp> __minus(_Tp* ) { return minus<_Tp>(); } -+ -+template -+struct multiplies : public binary_function<_Tp,_Tp,_Tp> { -+ _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x * __y; } -+}; -+ -+template -+struct divides : public binary_function<_Tp,_Tp,_Tp> { -+ _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x / __y; } -+}; -+ -+template -+struct modulus : public binary_function<_Tp,_Tp,_Tp> -+{ -+ _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x % __y; } -+}; -+ -+template -+struct negate : public unary_function<_Tp,_Tp> -+{ -+ _Tp operator()(const _Tp& __x) const { return -__x; } -+}; -+ -+template -+struct logical_and : public binary_function<_Tp,_Tp,bool> -+{ -+ bool operator()(const _Tp& __x, const _Tp& __y) const { return __x && __y; } -+}; -+ -+template -+struct logical_or : public binary_function<_Tp,_Tp,bool> -+{ -+ bool operator()(const _Tp& __x, const _Tp& __y) const { return __x || __y; } -+}; -+ -+template -+struct logical_not : public unary_function<_Tp,bool> -+{ -+ bool operator()(const _Tp& __x) const { return !__x; } -+}; -+ -+template -+struct _Select1st : public unary_function<_Pair, typename _Pair::first_type> { -+ const typename _Pair::first_type& operator()(const _Pair& __x) const { -+ return __x.first; -+ } -+}; -+ -+template -+struct _Select2nd : public unary_function<_Pair, typename _Pair::second_type> -+{ -+ const typename _Pair::second_type& operator()(const _Pair& __x) const { -+ return __x.second; -+ } -+}; -+ -+// project1st and project2nd are extensions: they are not part of the standard -+template -+struct _Project1st : public binary_function<_Arg1, _Arg2, _Arg1> { -+ _Arg1 operator()(const _Arg1& __x, const _Arg2&) const { return __x; } -+}; -+ -+template -+struct _Project2nd : public binary_function<_Arg1, _Arg2, _Arg2> { -+ _Arg2 operator()(const _Arg1&, const _Arg2& __y) const { return __y; } -+}; -+ -+#ifdef _STLP_MULTI_CONST_TEMPLATE_ARG_BUG -+// fbp : sort of select1st just for maps -+template -+// JDJ (CW Pro1 doesn't like const when first_type is also const) -+struct __Select1st_hint : public unary_function<_Pair, _Whatever> { -+ const _Whatever& operator () (const _Pair& __x) const { return __x.first; } -+}; -+# define _STLP_SELECT1ST(__x,__y) __Select1st_hint< __x, __y > -+# else -+# define _STLP_SELECT1ST(__x, __y) _Select1st< __x > -+# endif -+ -+template -+struct _Identity : public unary_function<_Tp,_Tp> { -+ const _Tp& operator()(const _Tp& __x) const { return __x; } -+}; -+ -+template -+struct _Constant_unary_fun { -+ typedef _Argument argument_type; -+ typedef _Result result_type; -+ result_type _M_val; -+ -+ _Constant_unary_fun(const result_type& __v) : _M_val(__v) {} -+ const result_type& operator()(const _Argument&) const { return _M_val; } -+}; -+ -+template -+struct _Constant_binary_fun { -+ typedef _Arg1 first_argument_type; -+ typedef _Arg2 second_argument_type; -+ typedef _Result result_type; -+ _Result _M_val; -+ -+ _Constant_binary_fun(const _Result& __v) : _M_val(__v) {} -+ const result_type& operator()(const _Arg1&, const _Arg2&) const { -+ return _M_val; -+ } -+}; -+ -+// identity_element (not part of the C++ standard). -+template inline _Tp __identity_element(plus<_Tp>) { return _Tp(0); } -+template inline _Tp __identity_element(multiplies<_Tp>) { return _Tp(1); } -+ -+_STLP_END_NAMESPACE -+ -+#endif /* _STLP_INTERNAL_FUNCTION_BASE_H */ -+ -+// Local Variables: -+// mode:C++ -+// End: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_hash_fun.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_hash_fun.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_hash_fun.h Sat Feb 24 10:44:51 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_hash_fun.h Sun Aug 11 18:59:24 2002 -@@ -28,20 +28,20 @@ - * You should not attempt to use it directly. - */ - --#ifndef __SGI_STL_HASH_FUN_H --#define __SGI_STL_HASH_FUN_H -+#ifndef _STLP_HASH_FUN_H -+#define _STLP_HASH_FUN_H - --# ifndef __STLPORT_CSTDDEF -+# ifndef _STLP_CSTDDEF - # include - # endif - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - template struct hash { }; - - inline size_t __stl_hash_string(const char* __s) - { -- __STL_FIX_LITERAL_BUG(__s) -+ _STLP_FIX_LITERAL_BUG(__s) - unsigned long __h = 0; - for ( ; *__s; ++__s) - __h = 5*__h + *__s; -@@ -49,58 +49,58 @@ - return size_t(__h); - } - --__STL_TEMPLATE_NULL struct hash -+_STLP_TEMPLATE_NULL struct hash - { -- size_t operator()(const char* __s) const { __STL_FIX_LITERAL_BUG(__s) return __stl_hash_string(__s); } -+ size_t operator()(const char* __s) const { _STLP_FIX_LITERAL_BUG(__s) return __stl_hash_string(__s); } - }; - --__STL_TEMPLATE_NULL struct hash -+_STLP_TEMPLATE_NULL struct hash - { -- size_t operator()(const char* __s) const { __STL_FIX_LITERAL_BUG(__s) return __stl_hash_string(__s); } -+ size_t operator()(const char* __s) const { _STLP_FIX_LITERAL_BUG(__s) return __stl_hash_string(__s); } - }; - --__STL_TEMPLATE_NULL struct hash { -+_STLP_TEMPLATE_NULL struct hash { - size_t operator()(char __x) const { return __x; } - }; --__STL_TEMPLATE_NULL struct hash { -+_STLP_TEMPLATE_NULL struct hash { - size_t operator()(unsigned char __x) const { return __x; } - }; --#ifndef __STL_NO_SIGNED_BUILTINS --__STL_TEMPLATE_NULL struct hash { -+#ifndef _STLP_NO_SIGNED_BUILTINS -+_STLP_TEMPLATE_NULL struct hash { - size_t operator()(unsigned char __x) const { return __x; } - }; - #endif --__STL_TEMPLATE_NULL struct hash { -+_STLP_TEMPLATE_NULL struct hash { - size_t operator()(short __x) const { return __x; } - }; --__STL_TEMPLATE_NULL struct hash { -+_STLP_TEMPLATE_NULL struct hash { - size_t operator()(unsigned short __x) const { return __x; } - }; --__STL_TEMPLATE_NULL struct hash { -+_STLP_TEMPLATE_NULL struct hash { - size_t operator()(int __x) const { return __x; } - }; --__STL_TEMPLATE_NULL struct hash { -+_STLP_TEMPLATE_NULL struct hash { - size_t operator()(unsigned int __x) const { return __x; } - }; --__STL_TEMPLATE_NULL struct hash { -+_STLP_TEMPLATE_NULL struct hash { - size_t operator()(long __x) const { return __x; } - }; --__STL_TEMPLATE_NULL struct hash { -+_STLP_TEMPLATE_NULL struct hash { - size_t operator()(unsigned long __x) const { return __x; } - }; - --# if defined (__STL_LONG_LONG) --__STL_TEMPLATE_NULL struct hash { -+# if defined (_STLP_LONG_LONG) -+_STLP_TEMPLATE_NULL struct hash<_STLP_LONG_LONG> { - size_t operator()(long x) const { return x; } - }; --__STL_TEMPLATE_NULL struct hash { -+_STLP_TEMPLATE_NULL struct hash { - size_t operator()(unsigned long x) const { return x; } - }; - # endif - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --#endif /* __SGI_STL_HASH_FUN_H */ -+#endif /* _STLP_HASH_FUN_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_hash_map.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_hash_map.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_hash_map.h Sat Feb 24 10:44:51 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_hash_map.h Sun Aug 11 18:59:24 2002 -@@ -27,26 +27,30 @@ - * You should not attempt to use it directly. - */ - --#ifndef __SGI_STL_INTERNAL_HASH_MAP_H --#define __SGI_STL_INTERNAL_HASH_MAP_H -+#ifndef _STLP_INTERNAL_HASH_MAP_H -+#define _STLP_INTERNAL_HASH_MAP_H - --__STL_BEGIN_NAMESPACE -+#ifndef _STLP_INTERNAL_HASHTABLE_H -+# include -+#endif -+ -+_STLP_BEGIN_NAMESPACE - - # define hash_map __WORKAROUND_RENAME(hash_map) - # define hash_multimap __WORKAROUND_RENAME(hash_multimap) - --# define __STL_KEY_PAIR pair< const _Key, _Tp > --# define __STL_HASHTABLE hashtable \ -+# define _STLP_KEY_PAIR pair< const _Key, _Tp > -+# define _STLP_HASHTABLE hashtable \ - < pair < const _Key, _Tp >, _Key, _HashFcn, \ -- __STL_SELECT1ST( __STL_KEY_PAIR, _Key ), _EqualKey, _Alloc > -+ _STLP_SELECT1ST( _STLP_KEY_PAIR, _Key ), _EqualKey, _Alloc > - - template ), - __DFL_TMPL_PARAM(_EqualKey,equal_to<_Key>), -- __STL_DEFAULT_PAIR_ALLOCATOR_SELECT(const _Key, _Tp) > -+ _STLP_DEFAULT_PAIR_ALLOCATOR_SELECT(const _Key, _Tp) > - class hash_map - { - private: -- typedef __STL_HASHTABLE _Ht; -+ typedef _STLP_HASHTABLE _Ht; - typedef hash_map<_Key, _Tp, _HashFcn, _EqualKey, _Alloc> _Self; - public: - typedef typename _Ht::key_type key_type; -@@ -85,7 +89,7 @@ - const allocator_type& __a = allocator_type()) - : _M_ht(__n, __hf, __eql, __a) {} - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - template - hash_map(_InputIterator __f, _InputIterator __l) - : _M_ht(100, hasher(), key_equal(), allocator_type()) -@@ -99,15 +103,17 @@ - const hasher& __hf) - : _M_ht(__n, __hf, key_equal(), allocator_type()) - { _M_ht.insert_unique(__f, __l); } -+# ifdef _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS - template - hash_map(_InputIterator __f, _InputIterator __l, size_type __n, - const hasher& __hf, const key_equal& __eql) - : _M_ht(__n, __hf, __eql, allocator_type()) - { _M_ht.insert_unique(__f, __l); } -+# endif - template - hash_map(_InputIterator __f, _InputIterator __l, size_type __n, - const hasher& __hf, const key_equal& __eql, -- const allocator_type& __a) -+ const allocator_type& __a _STLP_ALLOCATOR_TYPE_DFL) - : _M_ht(__n, __hf, __eql, __a) - { _M_ht.insert_unique(__f, __l); } - -@@ -143,7 +149,7 @@ - const allocator_type& __a = allocator_type()) - : _M_ht(__n, __hf, __eql, __a) - { _M_ht.insert_unique(__f, __l); } --#endif /*__STL_MEMBER_TEMPLATES */ -+#endif /*_STLP_MEMBER_TEMPLATES */ - - public: - size_type size() const { return _M_ht.size(); } -@@ -158,7 +164,7 @@ - public: - pair insert(const value_type& __obj) - { return _M_ht.insert_unique(__obj); } --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - template - void insert(_InputIterator __f, _InputIterator __l) - { _M_ht.insert_unique(__f,__l); } -@@ -168,16 +174,18 @@ - } - void insert(const_iterator __f, const_iterator __l) - { _M_ht.insert_unique(__f, __l); } --#endif /*__STL_MEMBER_TEMPLATES */ -+#endif /*_STLP_MEMBER_TEMPLATES */ - pair insert_noresize(const value_type& __obj) - { return _M_ht.insert_unique_noresize(__obj); } - - iterator find(const key_type& __key) { return _M_ht.find(__key); } -- const_iterator find(const key_type& __key) const -- { return _M_ht.find(__key); } -+ const_iterator find(const key_type& __key) const { return _M_ht.find(__key); } - - _Tp& operator[](const key_type& __key) { -- return _M_ht.find_or_insert(_value_type(__key, _Tp())).second; -+ iterator __it = _M_ht.find(__key); -+ return (__it == _M_ht.end() ? -+ _M_ht._M_insert(_value_type(__key, _Tp())).second : -+ (*__it).second ); - } - - size_type count(const key_type& __key) const { return _M_ht.count(__key); } -@@ -198,45 +206,45 @@ - size_type max_bucket_count() const { return _M_ht.max_bucket_count(); } - size_type elems_in_bucket(size_type __n) const - { return _M_ht.elems_in_bucket(__n); } -- static bool __STL_CALL _M_equal (const _Self& __x, const _Self& __y) { -+ static bool _STLP_CALL _M_equal (const _Self& __x, const _Self& __y) { - return _Ht::_M_equal(__x._M_ht,__y._M_ht); - } - }; - - - template --inline bool __STL_CALL -+inline bool _STLP_CALL - operator==(const hash_map<_Key,_Tp,_HashFcn,_EqlKey,_Alloc>& __hm1, - const hash_map<_Key,_Tp,_HashFcn,_EqlKey,_Alloc>& __hm2) - { - return hash_map<_Key,_Tp,_HashFcn,_EqlKey,_Alloc>::_M_equal(__hm1, __hm2); - } --#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE -+#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE - - template --inline bool __STL_CALL -+inline bool _STLP_CALL - operator!=(const hash_map<_Key,_Tp,_HashFcn,_EqlKey,_Alloc>& __hm1, - const hash_map<_Key,_Tp,_HashFcn,_EqlKey,_Alloc>& __hm2) { - return !(__hm1 == __hm2); - } - - template --inline void __STL_CALL -+inline void _STLP_CALL - swap(hash_map<_Key,_Tp,_HashFcn,_EqlKey,_Alloc>& __hm1, - hash_map<_Key,_Tp,_HashFcn,_EqlKey,_Alloc>& __hm2) - { - __hm1.swap(__hm2); - } - --#endif /* __STL_FUNCTION_TMPL_PARTIAL_ORDER */ -+#endif /* _STLP_FUNCTION_TMPL_PARTIAL_ORDER */ - - template ), - __DFL_TMPL_PARAM(_EqualKey,equal_to<_Key>), -- __STL_DEFAULT_PAIR_ALLOCATOR_SELECT(const _Key, _Tp) > -+ _STLP_DEFAULT_PAIR_ALLOCATOR_SELECT(const _Key, _Tp) > - class hash_multimap - { - private: -- typedef __STL_HASHTABLE _Ht; -+ typedef _STLP_HASHTABLE _Ht; - typedef hash_multimap<_Key, _Tp, _HashFcn, _EqualKey, _Alloc> _Self; - public: - typedef typename _Ht::key_type key_type; -@@ -275,7 +283,7 @@ - const allocator_type& __a = allocator_type()) - : _M_ht(__n, __hf, __eql, __a) {} - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - template - hash_multimap(_InputIterator __f, _InputIterator __l) - : _M_ht(100, hasher(), key_equal(), allocator_type()) -@@ -289,15 +297,17 @@ - const hasher& __hf) - : _M_ht(__n, __hf, key_equal(), allocator_type()) - { _M_ht.insert_equal(__f, __l); } -+# ifdef _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS - template - hash_multimap(_InputIterator __f, _InputIterator __l, size_type __n, - const hasher& __hf, const key_equal& __eql) - : _M_ht(__n, __hf, __eql, allocator_type()) - { _M_ht.insert_equal(__f, __l); } -+# endif - template - hash_multimap(_InputIterator __f, _InputIterator __l, size_type __n, - const hasher& __hf, const key_equal& __eql, -- const allocator_type& __a ) -+ const allocator_type& __a _STLP_ALLOCATOR_TYPE_DFL) - : _M_ht(__n, __hf, __eql, __a) - { _M_ht.insert_equal(__f, __l); } - -@@ -333,7 +343,7 @@ - const allocator_type& __a = allocator_type()) - : _M_ht(__n, __hf, __eql, __a) - { _M_ht.insert_equal(__f, __l); } --#endif /*__STL_MEMBER_TEMPLATES */ -+#endif /*_STLP_MEMBER_TEMPLATES */ - - public: - size_type size() const { return _M_ht.size(); } -@@ -349,7 +359,7 @@ - public: - iterator insert(const value_type& __obj) - { return _M_ht.insert_equal(__obj); } --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - template - void insert(_InputIterator __f, _InputIterator __l) - { _M_ht.insert_equal(__f,__l); } -@@ -359,7 +369,7 @@ - } - void insert(const_iterator __f, const_iterator __l) - { _M_ht.insert_equal(__f, __l); } --#endif /*__STL_MEMBER_TEMPLATES */ -+#endif /*_STLP_MEMBER_TEMPLATES */ - iterator insert_noresize(const value_type& __obj) - { return _M_ht.insert_equal_noresize(__obj); } - -@@ -386,44 +396,44 @@ - size_type max_bucket_count() const { return _M_ht.max_bucket_count(); } - size_type elems_in_bucket(size_type __n) const - { return _M_ht.elems_in_bucket(__n); } -- static bool __STL_CALL _M_equal (const _Self& __x, const _Self& __y) { -+ static bool _STLP_CALL _M_equal (const _Self& __x, const _Self& __y) { - return _Ht::_M_equal(__x._M_ht,__y._M_ht); - } - }; - - - template --inline bool __STL_CALL -+inline bool _STLP_CALL - operator==(const hash_multimap<_Key,_Tp,_HashFcn,_EqlKey,_Alloc>& __hm1, - const hash_multimap<_Key,_Tp,_HashFcn,_EqlKey,_Alloc>& __hm2) - { - return hash_multimap<_Key,_Tp,_HashFcn,_EqlKey,_Alloc>::_M_equal(__hm1, __hm2); - } - --#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE -+#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE - - template --inline bool __STL_CALL -+inline bool _STLP_CALL - operator!=(const hash_multimap<_Key,_Tp,_HashFcn,_EqlKey,_Alloc>& __hm1, - const hash_multimap<_Key,_Tp,_HashFcn,_EqlKey,_Alloc>& __hm2) { - return !(__hm1 == __hm2); - } - - template --inline void __STL_CALL -+inline void _STLP_CALL - swap(hash_multimap<_Key,_Tp,_HashFcn,_EqlKey,_Alloc>& __hm1, - hash_multimap<_Key,_Tp,_HashFcn,_EqlKey,_Alloc>& __hm2) - { - __hm1.swap(__hm2); - } - --#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ -+#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ - - - // Specialization of insert_iterator so that it will work for hash_map - // and hash_multimap. - --#ifdef __STL_CLASS_PARTIAL_SPECIALIZATION -+#ifdef _STLP_CLASS_PARTIAL_SPECIALIZATION - - template - class insert_iterator > { -@@ -442,8 +452,8 @@ - insert_iterator(_Container& __x, typename _Container::iterator) - : container(&__x) {} - insert_iterator<_Container>& -- operator=(const typename _Container::value_type& __value) { -- container->insert(__value); -+ operator=(const typename _Container::value_type& __val) { -+ container->insert(__val); - return *this; - } - insert_iterator<_Container>& operator*() { return *this; } -@@ -469,8 +479,8 @@ - insert_iterator(_Container& __x, typename _Container::iterator) - : container(&__x) {} - insert_iterator<_Container>& -- operator=(const typename _Container::value_type& __value) { -- container->insert(__value); -+ operator=(const typename _Container::value_type& __val) { -+ container->insert(__val); - return *this; - } - insert_iterator<_Container>& operator*() { return *this; } -@@ -478,7 +488,7 @@ - insert_iterator<_Container>& operator++(int) { return *this; } - }; - --#endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */ -+#endif /* _STLP_CLASS_PARTIAL_SPECIALIZATION */ - - // do a cleanup - # undef hash_map -@@ -488,13 +498,13 @@ - # define __hash_multimap__ __FULL_NAME(hash_multimap) - - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --# if defined (__STL_USE_WRAPPER_FOR_ALLOC_PARAM) -+# if defined (_STLP_USE_WRAPPER_FOR_ALLOC_PARAM) - # include - # endif /* WRAPPER */ - --#endif /* __SGI_STL_INTERNAL_HASH_MAP_H */ -+#endif /* _STLP_INTERNAL_HASH_MAP_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_hash_set.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_hash_set.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_hash_set.h Sat Feb 24 10:44:52 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_hash_set.h Sun Aug 11 18:59:24 2002 -@@ -27,17 +27,21 @@ - * You should not attempt to use it directly. - */ - --#ifndef __SGI_STL_INTERNAL_HASH_SET_H --#define __SGI_STL_INTERNAL_HASH_SET_H -+#ifndef _STLP_INTERNAL_HASH_SET_H -+#define _STLP_INTERNAL_HASH_SET_H -+ -+#ifndef _STLP_INTERNAL_HASHTABLE_H -+# include -+#endif - - # define hash_set __WORKAROUND_RENAME(hash_set) - # define hash_multiset __WORKAROUND_RENAME(hash_multiset) - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - template ), - __DFL_TMPL_PARAM(_EqualKey,equal_to<_Value>), -- __STL_DEFAULT_ALLOCATOR_SELECT(_Value) > -+ _STLP_DEFAULT_ALLOCATOR_SELECT(_Value) > - class hash_set - { - private: -@@ -82,7 +86,7 @@ - const allocator_type& __a = allocator_type()) - : _M_ht(__n, __hf, __eql, __a) {} - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - template - hash_set(_InputIterator __f, _InputIterator __l) - : _M_ht(100, hasher(), key_equal(), allocator_type()) -@@ -96,15 +100,17 @@ - const hasher& __hf) - : _M_ht(__n, __hf, key_equal(), allocator_type()) - { _M_ht.insert_unique(__f, __l); } -+# ifdef _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS - template - hash_set(_InputIterator __f, _InputIterator __l, size_type __n, - const hasher& __hf, const key_equal& __eql) - : _M_ht(__n, __hf, __eql, allocator_type()) - { _M_ht.insert_unique(__f, __l); } -+# endif - template - hash_set(_InputIterator __f, _InputIterator __l, size_type __n, - const hasher& __hf, const key_equal& __eql, -- const allocator_type& __a) -+ const allocator_type& __a _STLP_ALLOCATOR_TYPE_DFL) - : _M_ht(__n, __hf, __eql, __a) - { _M_ht.insert_unique(__f, __l); } - #else -@@ -140,7 +146,7 @@ - const allocator_type& __a = allocator_type()) - : _M_ht(__n, __hf, __eql, __a) - { _M_ht.insert_unique(__f, __l); } --#endif /*__STL_MEMBER_TEMPLATES */ -+#endif /*_STLP_MEMBER_TEMPLATES */ - - public: - size_type size() const { return _M_ht.size(); } -@@ -157,7 +163,7 @@ - pair<_ht_iterator, bool> __p = _M_ht.insert_unique(__obj); - return pair(__REINTERPRET_CAST(const iterator&, __p.first), __p.second); - } --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - template - void insert(_InputIterator __f, _InputIterator __l) - { _M_ht.insert_unique(__f,__l); } -@@ -167,7 +173,8 @@ - } - void insert(const_iterator __f, const_iterator __l) - {_M_ht.insert_unique(__f, __l); } --#endif /*__STL_MEMBER_TEMPLATES */ -+ -+#endif /*_STLP_MEMBER_TEMPLATES */ - pair insert_noresize(const value_type& __obj) - { - pair<_ht_iterator, bool> __p = -@@ -175,8 +182,12 @@ - return pair(__p.first, __p.second); - } - -+# if defined(_STLP_MEMBER_TEMPLATES) && ! defined ( _STLP_NO_EXTENSIONS ) -+ template -+ iterator find(const _KT& __key) const { return _M_ht.find(__key); } -+# else - iterator find(const key_type& __key) const { return _M_ht.find(__key); } -- -+# endif - size_type count(const key_type& __key) const { return _M_ht.count(__key); } - - pair equal_range(const key_type& __key) const -@@ -194,7 +205,7 @@ - size_type elems_in_bucket(size_type __n) const - { return _M_ht.elems_in_bucket(__n); } - -- static bool __STL_CALL _M_equal (const _Self& __x, const _Self& __y) { -+ static bool _STLP_CALL _M_equal (const _Self& __x, const _Self& __y) { - return _Ht::_M_equal(__x._M_ht,__y._M_ht); - } - -@@ -202,36 +213,36 @@ - - - template --inline bool __STL_CALL -+inline bool _STLP_CALL - operator==(const hash_set<_Value,_HashFcn,_EqualKey,_Alloc>& __hs1, - const hash_set<_Value,_HashFcn,_EqualKey,_Alloc>& __hs2) - { - return hash_set<_Value,_HashFcn,_EqualKey,_Alloc>::_M_equal(__hs1, __hs2); - } - --#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE -+#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE - - template --inline bool __STL_CALL -+inline bool _STLP_CALL - operator!=(const hash_set<_Value,_HashFcn,_EqualKey,_Alloc>& __hs1, - const hash_set<_Value,_HashFcn,_EqualKey,_Alloc>& __hs2) { - return !(__hs1 == __hs2); - } - - template --inline void __STL_CALL -+inline void _STLP_CALL - swap(hash_set<_Val,_HashFcn,_EqualKey,_Alloc>& __hs1, - hash_set<_Val,_HashFcn,_EqualKey,_Alloc>& __hs2) - { - __hs1.swap(__hs2); - } - --#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ -+#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ - - - template ), - __DFL_TMPL_PARAM(_EqualKey,equal_to<_Value>), -- __STL_DEFAULT_ALLOCATOR_SELECT(_Value) > -+ _STLP_DEFAULT_ALLOCATOR_SELECT(_Value) > - class hash_multiset - { - private: -@@ -278,7 +289,7 @@ - const allocator_type& __a) - : _M_ht(__n, __hf, __eql, __a) {} - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - template - hash_multiset(_InputIterator __f, _InputIterator __l) - : _M_ht(100, hasher(), key_equal(), allocator_type()) -@@ -292,10 +303,18 @@ - const hasher& __hf) - : _M_ht(__n, __hf, key_equal(), allocator_type()) - { _M_ht.insert_equal(__f, __l); } -+ -+# ifdef _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS -+ template -+ hash_multiset(_InputIterator __f, _InputIterator __l, size_type __n, -+ const hasher& __hf, const key_equal& __eql) -+ : _M_ht(__n, __hf, __eql, allocator_type()) -+ { _M_ht.insert_equal(__f, __l); } -+# endif - template - hash_multiset(_InputIterator __f, _InputIterator __l, size_type __n, - const hasher& __hf, const key_equal& __eql, -- const allocator_type& __a = allocator_type()) -+ const allocator_type& __a _STLP_ALLOCATOR_TYPE_DFL) - : _M_ht(__n, __hf, __eql, __a) - { _M_ht.insert_equal(__f, __l); } - #else -@@ -331,7 +350,7 @@ - const allocator_type& __a = allocator_type()) - : _M_ht(__n, __hf, __eql, __a) - { _M_ht.insert_equal(__f, __l); } --#endif /*__STL_MEMBER_TEMPLATES */ -+#endif /*_STLP_MEMBER_TEMPLATES */ - - public: - size_type size() const { return _M_ht.size(); } -@@ -345,7 +364,7 @@ - public: - iterator insert(const value_type& __obj) - { return _M_ht.insert_equal(__obj); } --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - template - void insert(_InputIterator __f, _InputIterator __l) - { _M_ht.insert_equal(__f,__l); } -@@ -355,11 +374,16 @@ - } - void insert(const_iterator __f, const_iterator __l) - { _M_ht.insert_equal(__f, __l); } --#endif /*__STL_MEMBER_TEMPLATES */ -+#endif /*_STLP_MEMBER_TEMPLATES */ - iterator insert_noresize(const value_type& __obj) - { return _M_ht.insert_equal_noresize(__obj); } - -+# if defined(_STLP_MEMBER_TEMPLATES) && ! defined ( _STLP_NO_EXTENSIONS ) -+ template -+ iterator find(const _KT& __key) const { return _M_ht.find(__key); } -+# else - iterator find(const key_type& __key) const { return _M_ht.find(__key); } -+# endif - - size_type count(const key_type& __key) const { return _M_ht.count(__key); } - -@@ -377,7 +401,7 @@ - size_type max_bucket_count() const { return _M_ht.max_bucket_count(); } - size_type elems_in_bucket(size_type __n) const - { return _M_ht.elems_in_bucket(__n); } -- static bool __STL_CALL _M_equal (const _Self& __x, const _Self& __y) { -+ static bool _STLP_CALL _M_equal (const _Self& __x, const _Self& __y) { - return _Ht::_M_equal(__x._M_ht,__y._M_ht); - } - }; -@@ -390,28 +414,28 @@ - return hash_multiset<_Value,_HashFcn,_EqualKey,_Alloc>::_M_equal(__hs1, __hs2); - } - --#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE -+#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE - - template --inline bool __STL_CALL -+inline bool _STLP_CALL - operator!=(const hash_multiset<_Value,_HashFcn,_EqualKey,_Alloc>& __hs1, - const hash_multiset<_Value,_HashFcn,_EqualKey,_Alloc>& __hs2) { - return !(__hs1 == __hs2); - } - - template --inline void __STL_CALL -+inline void _STLP_CALL - swap(hash_multiset<_Val,_HashFcn,_EqualKey,_Alloc>& __hs1, - hash_multiset<_Val,_HashFcn,_EqualKey,_Alloc>& __hs2) { - __hs1.swap(__hs2); - } - --#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ -+#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ - - // Specialization of insert_iterator so that it will work for hash_set - // and hash_multiset. - --#ifdef __STL_CLASS_PARTIAL_SPECIALIZATION -+#ifdef _STLP_CLASS_PARTIAL_SPECIALIZATION - - template - class insert_iterator > { -@@ -430,8 +454,8 @@ - insert_iterator(_Container& __x, typename _Container::iterator) - : container(&__x) {} - insert_iterator<_Container>& -- operator=(const typename _Container::value_type& __value) { -- container->insert(__value); -+ operator=(const typename _Container::value_type& __val) { -+ container->insert(__val); - return *this; - } - insert_iterator<_Container>& operator*() { return *this; } -@@ -457,8 +481,8 @@ - insert_iterator(_Container& __x, typename _Container::iterator) - : container(&__x) {} - insert_iterator<_Container>& -- operator=(const typename _Container::value_type& __value) { -- container->insert(__value); -+ operator=(const typename _Container::value_type& __val) { -+ container->insert(__val); - return *this; - } - insert_iterator<_Container>& operator*() { return *this; } -@@ -466,8 +490,8 @@ - insert_iterator<_Container>& operator++(int) { return *this; } - }; - --#endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */ --__STL_END_NAMESPACE -+#endif /* _STLP_CLASS_PARTIAL_SPECIALIZATION */ -+_STLP_END_NAMESPACE - - // do a cleanup - # undef hash_set -@@ -477,11 +501,11 @@ - # define __hash_set__ __FULL_NAME(hash_set) - # define __hash_multiset__ __FULL_NAME(hash_multiset) - --# if defined ( __STL_USE_WRAPPER_FOR_ALLOC_PARAM ) -+# if defined ( _STLP_USE_WRAPPER_FOR_ALLOC_PARAM ) - # include - # endif /* WRAPPER */ - --#endif /* __SGI_STL_INTERNAL_HASH_SET_H */ -+#endif /* _STLP_INTERNAL_HASH_SET_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_hashtable.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_hashtable.c ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_hashtable.c Sat Feb 24 10:44:50 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_hashtable.c Sun Aug 11 18:59:24 2002 -@@ -23,14 +23,18 @@ - * modified is included with the above copyright notice. - * - */ --#ifndef __STL_HASHTABLE_C --#define __STL_HASHTABLE_C -+#ifndef _STLP_HASHTABLE_C -+#define _STLP_HASHTABLE_C - --#ifdef __STL_DEBUG -+#ifndef _STLP_INTERNAL_HASHTABLE_H -+# include -+#endif -+ -+#ifdef _STLP_DEBUG - # define hashtable __WORKAROUND_DBG_RENAME(hashtable) - #endif - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - # define __PRIME_LIST_BODY { \ - 53ul, 97ul, 193ul, 389ul, 769ul, \ -@@ -41,37 +45,33 @@ - 1610612741ul, 3221225473ul, 4294967291ul \ - } - --#if ( __STL_STATIC_TEMPLATE_DATA > 0 ) -+#if ( _STLP_STATIC_TEMPLATE_DATA > 0 ) - template --const unsigned long _Stl_prime<_Tp>::_M_list[__stl_num_primes] = __PRIME_LIST_BODY; -+const size_t _Stl_prime<_Tp>::_M_list[__stl_num_primes] = __PRIME_LIST_BODY; - #else --__DECLARE_INSTANCE(const unsigned long, -+__DECLARE_INSTANCE(const size_t, - _Stl_prime_type::_M_list[], =__PRIME_LIST_BODY); --#endif /* __STL_STATIC_TEMPLATE_DATA */ -+#endif /* _STLP_STATIC_TEMPLATE_DATA */ - - # undef __PRIME_LIST_BODY - - // fbp: these defines are for outline methods definitions. - // needed to definitions to be portable. Should not be used in method bodies. - --# if defined ( __STL_NESTED_TYPE_PARAM_BUG ) --# define __difference_type__ ptrdiff_t -+# if defined ( _STLP_NESTED_TYPE_PARAM_BUG ) - # define __size_type__ size_t --# define __value_type__ _Val --# define __key_type__ _Key --# define __node__ _Hashtable_node<_Val> -+# define size_type size_t -+# define value_type _Val -+# define key_type _Key -+# define _Node _Hashtable_node<_Val> - # define __reference__ _Val& -+ - # define __iterator__ _Ht_iterator<_Val, _Nonconst_traits<_Val>, _Key, _HF, _ExK, _EqK, _All> - # define __const_iterator__ _Ht_iterator<_Val, _Const_traits<_Val>, _Key, _HF, _ExK, _EqK, _All> - # else --# define __difference_type__ typename hashtable<_Val, _Key, _HF, _ExK, _EqK, _All>::difference_type --# define __size_type__ __STL_TYPENAME_ON_RETURN_TYPE hashtable<_Val, _Key, _HF, _ExK, _EqK, _All>::size_type --# define __value_type__ __STL_TYPENAME_ON_RETURN_TYPE hashtable<_Val, _Key, _HF, _ExK, _EqK, _All>::value_type --# define __key_type__ __STL_TYPENAME_ON_RETURN_TYPE hashtable<_Val, _Key, _HF, _ExK, _EqK, _All>::key_type --# define __node__ __STL_TYPENAME_ON_RETURN_TYPE hashtable<_Val, _Key, _HF, _ExK, _EqK, _All>::_Node --# define __reference__ __STL_TYPENAME_ON_RETURN_TYPE hashtable<_Val, _Key, _HF, _ExK, _EqK, _All>::reference --# define __iterator__ __STL_TYPENAME_ON_RETURN_TYPE hashtable<_Val, _Key, _HF, _ExK, _EqK, _All>::iterator --# define __const_iterator__ __STL_TYPENAME_ON_RETURN_TYPE hashtable<_Val, _Key, _HF, _ExK, _EqK, _All>::const_iterator -+# define __size_type__ _STLP_TYPENAME_ON_RETURN_TYPE hashtable<_Val, _Key, _HF, _ExK, _EqK, _All>::size_type -+# define __reference__ _STLP_TYPENAME_ON_RETURN_TYPE hashtable<_Val, _Key, _HF, _ExK, _EqK, _All>::reference -+# define __iterator__ _STLP_TYPENAME_ON_RETURN_TYPE hashtable<_Val, _Key, _HF, _ExK, _EqK, _All>::iterator - # endif - - template -+__size_type__ -+hashtable<_Val,_Key,_HF,_ExK,_EqK,_All>::_M_next_size(size_type __n) const { -+ const size_type* __first = (const size_type*)_Stl_prime_type::_M_list; -+ const size_type* __last = (const size_type*)_Stl_prime_type::_M_list + (int)__stl_num_primes; -+ const size_type* pos = __lower_bound(__first, __last, __n, __less((size_type*)0), (ptrdiff_t*)0); -+ return (pos == __last ? *(__last - 1) : *pos); -+} -+ - template - bool - hashtable<_Val,_Key,_HF,_ExK,_EqK,_All>::_M_equal( -@@ -112,7 +122,7 @@ - template - pair< _Ht_iterator<_Val, _Nonconst_traits<_Val>, _Key, _HF, _ExK, _EqK, _All> , bool> - hashtable<_Val,_Key,_HF,_ExK,_EqK,_All> -- ::insert_unique_noresize(const __value_type__& __obj) -+ ::insert_unique_noresize(const value_type& __obj) - { - const size_type __n = _M_bkt_num(__obj); - _Node* __first = (_Node*)_M_buckets[__n]; -@@ -131,7 +141,7 @@ - template - __iterator__ - hashtable<_Val,_Key,_HF,_ExK,_EqK,_All> -- ::insert_equal_noresize(const __value_type__& __obj) -+ ::insert_equal_noresize(const value_type& __obj) - { - const size_type __n = _M_bkt_num(__obj); - _Node* __first = (_Node*)_M_buckets[__n]; -@@ -154,17 +164,13 @@ - - template - __reference__ --hashtable<_Val,_Key,_HF,_ExK,_EqK,_All>::find_or_insert(const __value_type__& __obj) -+hashtable<_Val,_Key,_HF,_ExK,_EqK,_All>::_M_insert(const value_type& __obj) - { - resize(_M_num_elements._M_data + 1); - - size_type __n = _M_bkt_num(__obj); - _Node* __first = (_Node*)_M_buckets[__n]; - -- for (_Node* __cur = __first; __cur; __cur = __cur->_M_next) -- if (_M_equals(_M_get_key(__cur->_M_val), _M_get_key(__obj))) -- return __cur->_M_val; -- - _Node* __tmp = _M_new_node(__obj); - __tmp->_M_next = __first; - _M_buckets[__n] = __tmp; -@@ -173,9 +179,21 @@ - } - - template -+__reference__ -+hashtable<_Val,_Key,_HF,_ExK,_EqK,_All>::find_or_insert(const value_type& __obj) -+{ -+ -+ _Node* __first = _M_find(_M_get_key(__obj)); -+ if (__first) -+ return __first->_M_val; -+ else -+ return _M_insert(__obj); -+} -+ -+template - pair< _Ht_iterator<_Val, _Nonconst_traits<_Val>, _Key, _HF, _ExK, _EqK, _All>, - _Ht_iterator<_Val, _Nonconst_traits<_Val>, _Key, _HF, _ExK, _EqK, _All> > --hashtable<_Val,_Key,_HF,_ExK,_EqK,_All>::equal_range(const __key_type__& __key) -+hashtable<_Val,_Key,_HF,_ExK,_EqK,_All>::equal_range(const key_type& __key) - { - typedef pair _Pii; - const size_type __n = _M_bkt_num_key(__key); -@@ -198,7 +216,7 @@ - pair< _Ht_iterator<_Val, _Const_traits<_Val>, _Key, _HF, _ExK, _EqK, _All>, - _Ht_iterator<_Val, _Const_traits<_Val>, _Key, _HF, _ExK, _EqK, _All> > - hashtable<_Val,_Key,_HF,_ExK,_EqK,_All> -- ::equal_range(const __key_type__& __key) const -+ ::equal_range(const key_type& __key) const - { - typedef pair _Pii; - const size_type __n = _M_bkt_num_key(__key); -@@ -225,7 +243,7 @@ - - template - __size_type__ --hashtable<_Val,_Key,_HF,_ExK,_EqK,_All>::erase(const __key_type__& __key) -+hashtable<_Val,_Key,_HF,_ExK,_EqK,_All>::erase(const key_type& __key) - { - const size_type __n = _M_bkt_num_key(__key); - _Node* __first = (_Node*)_M_buckets[__n]; -@@ -258,7 +276,7 @@ - } - - template --void hashtable<_Val,_Key,_HF,_ExK,_EqK,_All>::erase(const __const_iterator__& __it) -+void hashtable<_Val,_Key,_HF,_ExK,_EqK,_All>::erase(const const_iterator& __it) - { - // const iterator& __it = __REINTERPRET_CAST(const iterator&,_c_it); - const _Node* __p = __it._M_cur; -@@ -291,7 +309,7 @@ - - template - void hashtable<_Val,_Key,_HF,_ExK,_EqK,_All> -- ::erase(__const_iterator__ _c_first, __const_iterator__ _c_last) -+ ::erase(const_iterator _c_first, const_iterator _c_last) - { - iterator& __first = (iterator&)_c_first; - iterator& __last = (iterator&)_c_last; -@@ -314,7 +332,7 @@ - - template - void hashtable<_Val,_Key,_HF,_ExK,_EqK,_All> -- ::resize(__size_type__ __num_elements_hint) -+ ::resize(size_type __num_elements_hint) - { - const size_type __old_n = _M_buckets.size(); - if (__num_elements_hint > __old_n) { -@@ -322,7 +340,7 @@ - if (__n > __old_n) { - _BucketVector __tmp(__n, (void*)(0), - _M_buckets.get_allocator()); -- __STL_TRY { -+ _STLP_TRY { - for (size_type __bucket = 0; __bucket < __old_n; ++__bucket) { - _Node* __first = (_Node*)_M_buckets[__bucket]; - while (__first) { -@@ -335,7 +353,7 @@ - } - _M_buckets.swap(__tmp); - } --# ifdef __STL_USE_EXCEPTIONS -+# ifdef _STLP_USE_EXCEPTIONS - catch(...) { - for (size_type __bucket = 0; __bucket < __tmp.size(); ++__bucket) { - while (__tmp[__bucket]) { -@@ -346,14 +364,14 @@ - } - throw; - } --# endif /* __STL_USE_EXCEPTIONS */ -+# endif /* _STLP_USE_EXCEPTIONS */ - } - } - } - - template - void hashtable<_Val,_Key,_HF,_ExK,_EqK,_All> -- ::_M_erase_bucket(const __size_type__ __n, __node__* __first, __node__* __last) -+ ::_M_erase_bucket(const size_type __n, _Node* __first, _Node* __last) - { - _Node* __cur = (_Node*)_M_buckets[__n]; - if (__cur == __first) -@@ -375,7 +393,7 @@ - - template - void hashtable<_Val,_Key,_HF,_ExK,_EqK,_All> -- ::_M_erase_bucket(const __size_type__ __n, __node__* __last) -+ ::_M_erase_bucket(const size_type __n, _Node* __last) - { - _Node* __cur = (_Node*)_M_buckets[__n]; - while (__cur && __cur != __last) { -@@ -410,39 +428,40 @@ - _M_buckets.clear(); - _M_buckets.reserve(__ht._M_buckets.size()); - _M_buckets.insert(_M_buckets.end(), __ht._M_buckets.size(), (void*) 0); -- __STL_TRY { -+ _STLP_TRY { - for (size_type __i = 0; __i < __ht._M_buckets.size(); ++__i) { - const _Node* __cur = (_Node*)__ht._M_buckets[__i]; - if (__cur) { -- _Node* __copy = _M_new_node(__cur->_M_val); -- _M_buckets[__i] = __copy; -+ _Node* __xcopy = _M_new_node(__cur->_M_val); -+ _M_buckets[__i] = __xcopy; - - for (_Node* __next = __cur->_M_next; - __next; - __cur = __next, __next = __cur->_M_next) { -- __copy->_M_next = _M_new_node(__next->_M_val); -- __copy = __copy->_M_next; -+ __xcopy->_M_next = _M_new_node(__next->_M_val); -+ __xcopy = __xcopy->_M_next; - } - } - } - _M_num_elements._M_data = __ht._M_num_elements._M_data; - } -- __STL_UNWIND(clear()); -+ _STLP_UNWIND(clear()); - } - - # undef __iterator__ --# undef __const_iterator__ --# undef __difference_type__ --# undef __size_type__ --# undef __value_type__ --# undef __key_type__ --# undef __node__ -+# undef const_iterator -+# undef __size_type__ -+# undef __reference__ -+# undef size_type -+# undef value_type -+# undef key_type -+# undef _Node - # undef __stl_num_primes - # undef hashtable - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --#endif /* __STL_HASHTABLE_C */ -+#endif /* _STLP_HASHTABLE_C */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_hashtable.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_hashtable.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_hashtable.h Sat Feb 24 10:44:51 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_hashtable.h Sun Aug 11 18:59:24 2002 -@@ -27,46 +27,37 @@ - * You should not attempt to use it directly. - */ - --#ifndef __SGI_STL_INTERNAL_HASHTABLE_H --#define __SGI_STL_INTERNAL_HASHTABLE_H -+#ifndef _STLP_INTERNAL_HASHTABLE_H -+#define _STLP_INTERNAL_HASHTABLE_H - --# ifndef __SGI_STL_INTERNAL_VECTOR_H -+# ifndef _STLP_INTERNAL_VECTOR_H - # include - # endif - --# ifndef __SGI_STL_INTERNAL_ITERATOR_H -+# ifndef _STLP_INTERNAL_ITERATOR_H - # include - # endif - --# ifndef __SGI_STL_INTERNAL_FUNCTION_H --# include -+# ifndef _STLP_INTERNAL_FUNCTION_H -+# include - # endif - --# ifndef __SGI_STL_INTERNAL_ALGO_H --# include -+# ifndef _STLP_INTERNAL_ALGOBASE_H -+# include - # endif - --# ifndef __SGI_STL_HASH_FUN_H -+# ifndef _STLP_HASH_FUN_H - # include - # endif - - // Hashtable class, used to implement the hashed associative containers - // hash_set, hash_map, hash_multiset, and hash_multimap. - --#ifdef __STL_DEBUG -+#ifdef _STLP_DEBUG - # define hashtable __WORKAROUND_DBG_RENAME(hashtable) - #endif - --__STL_BEGIN_NAMESPACE -- --# if defined ( __STL_USE_ABBREVS ) --# define _Hashtable_iterator _hT__It --# define _Hashtable_const_iterator _hT__cIt --# define _Hashtable_node _hT__N --# define _Hashtable_base _hT__B --# define _Ht_iterator _Ht_It --# endif -- -+_STLP_BEGIN_NAMESPACE - - template - struct _Hashtable_node -@@ -131,7 +122,7 @@ - reference operator*() const { - return this->_M_cur->_M_val; - } -- __STL_DEFINE_ARROW_OPERATOR -+ _STLP_DEFINE_ARROW_OPERATOR - - _Self& operator++() { - _Node* __n = this->_M_cur->_M_next; -@@ -153,7 +144,7 @@ - return __x._M_cur == __y._M_cur; - } - --#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE -+#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE - template - inline bool -@@ -182,23 +173,26 @@ - } - #endif - --# ifdef __STL_USE_OLD_HP_ITERATOR_QUERIES -+# ifdef _STLP_USE_OLD_HP_ITERATOR_QUERIES - template --inline _Val* __VALUE_TYPE(const _Ht_iterator<_Val, _Traits,_Key,_HF,_ExK,_EqK,_All>&) { return (_Val*) 0; } -+inline _Val* value_type(const _Ht_iterator<_Val, _Traits,_Key,_HF,_ExK,_EqK,_All>&) { return (_Val*) 0; } - template --inline forward_iterator_tag __ITERATOR_CATEGORY(const _Ht_iterator<_Val, _Traits,_Key,_HF,_ExK,_EqK,_All>&) { return forward_iterator_tag(); } -+inline forward_iterator_tag iterator_category(const _Ht_iterator<_Val, _Traits,_Key,_HF,_ExK,_EqK,_All>&) { return forward_iterator_tag(); } - template --inline ptrdiff_t* __DISTANCE_TYPE(const _Ht_iterator<_Val,_Traits,_Key,_HF,_ExK,_EqK,_All>&) { return (ptrdiff_t*) 0; } -+inline ptrdiff_t* distance_type(const _Ht_iterator<_Val,_Traits,_Key,_HF,_ExK,_EqK,_All>&) { return (ptrdiff_t*) 0; } - #endif - - #define __stl_num_primes 28 - template --struct _Stl_prime { -+class _Stl_prime { - public: -- static const unsigned long _M_list[__stl_num_primes]; -+ static const size_t _M_list[__stl_num_primes]; - }; - --#define __stl_prime_list _Stl_prime_type::_M_list -+# if defined (_STLP_USE_TEMPLATE_EXPORT) -+_STLP_EXPORT_TEMPLATE_CLASS _Stl_prime; -+# endif -+ - typedef _Stl_prime _Stl_prime_type; - - -@@ -234,20 +228,21 @@ - typedef _Hashtable_node<_Val> _Node; - - private: -+ _STLP_FORCE_ALLOCATORS(_Val, _All) - typedef typename _Alloc_traits<_Node, _All>::allocator_type _M_node_allocator_type; - typedef typename _Alloc_traits::allocator_type _M_node_ptr_allocator_type; - typedef __vector__ _BucketVector; - public: - typedef typename _Alloc_traits<_Val,_All>::allocator_type allocator_type; - allocator_type get_allocator() const { -- return __STL_CONVERT_ALLOCATOR((const _M_node_allocator_type&)_M_num_elements, _Val); -+ return _STLP_CONVERT_ALLOCATOR((const _M_node_allocator_type&)_M_num_elements, _Val); - } - private: - hasher _M_hash; - key_equal _M_equals; - _ExK _M_get_key; - _BucketVector _M_buckets; -- _STL_alloc_proxy _M_num_elements; -+ _STLP_alloc_proxy _M_num_elements; - const _Node* _M_get_bucket(size_t __n) const { return (_Node*)_M_buckets[__n]; } - - public: -@@ -269,8 +264,8 @@ - _M_hash(__hf), - _M_equals(__eql), - _M_get_key(__ext), -- _M_buckets(__STL_CONVERT_ALLOCATOR(__a,void*)), -- _M_num_elements(__STL_CONVERT_ALLOCATOR(__a,_Node), (size_type)0) -+ _M_buckets(_STLP_CONVERT_ALLOCATOR(__a,void*)), -+ _M_num_elements(_STLP_CONVERT_ALLOCATOR(__a,_Node), (size_type)0) - { - _M_initialize_buckets(__n); - } -@@ -283,8 +278,8 @@ - _M_hash(__hf), - _M_equals(__eql), - _M_get_key(_ExK()), -- _M_buckets(__STL_CONVERT_ALLOCATOR(__a,void*)), -- _M_num_elements(__STL_CONVERT_ALLOCATOR(__a,_Node), (size_type)0) -+ _M_buckets(_STLP_CONVERT_ALLOCATOR(__a,void*)), -+ _M_num_elements(_STLP_CONVERT_ALLOCATOR(__a,_Node), (size_type)0) - { - _M_initialize_buckets(__n); - } -@@ -294,7 +289,7 @@ - _M_hash(__ht._M_hash), - _M_equals(__ht._M_equals), - _M_get_key(__ht._M_get_key), -- _M_buckets(__STL_CONVERT_ALLOCATOR(__ht.get_allocator(),void*)), -+ _M_buckets(_STLP_CONVERT_ALLOCATOR(__ht.get_allocator(),void*)), - _M_num_elements((const _M_node_allocator_type&)__ht._M_num_elements, (size_type)0) - { - _M_copy_from(__ht); -@@ -320,11 +315,11 @@ - - void swap(_Self& __ht) - { -- __STLPORT_STD::swap(_M_hash, __ht._M_hash); -- __STLPORT_STD::swap(_M_equals, __ht._M_equals); -- __STLPORT_STD::swap(_M_get_key, __ht._M_get_key); -+ _STLP_STD::swap(_M_hash, __ht._M_hash); -+ _STLP_STD::swap(_M_equals, __ht._M_equals); -+ _STLP_STD::swap(_M_get_key, __ht._M_get_key); - _M_buckets.swap(__ht._M_buckets); -- __STLPORT_STD::swap(_M_num_elements, __ht._M_num_elements); -+ _STLP_STD::swap(_M_num_elements, __ht._M_num_elements); - } - - iterator begin() -@@ -347,7 +342,7 @@ - - const_iterator end() const { return const_iterator((_Node*)0, this); } - -- static bool __STL_CALL _M_equal (const hashtable<_Val, _Key, _HF, _ExK, _EqK, _All>&, -+ static bool _STLP_CALL _M_equal (const hashtable<_Val, _Key, _HF, _ExK, _EqK, _All>&, - const hashtable<_Val, _Key, _HF, _ExK, _EqK, _All>&); - - public: -@@ -355,7 +350,7 @@ - size_type bucket_count() const { return _M_buckets.size(); } - - size_type max_bucket_count() const -- { return __stl_prime_list[(int)__stl_num_primes - 1]; } -+ { return _Stl_prime_type::_M_list[(int)__stl_num_primes - 1]; } - - size_type elems_in_bucket(size_type __bucket) const - { -@@ -380,22 +375,22 @@ - pair insert_unique_noresize(const value_type& __obj); - iterator insert_equal_noresize(const value_type& __obj); - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - template - void insert_unique(_InputIterator __f, _InputIterator __l) - { -- insert_unique(__f, __l, __ITERATOR_CATEGORY(__f)); -+ insert_unique(__f, __l, _STLP_ITERATOR_CATEGORY(__f, _InputIterator)); - } - - template - void insert_equal(_InputIterator __f, _InputIterator __l) - { -- insert_equal(__f, __l, __ITERATOR_CATEGORY(__f)); -+ insert_equal(__f, __l, _STLP_ITERATOR_CATEGORY(__f, _InputIterator)); - } - - template - void insert_unique(_InputIterator __f, _InputIterator __l, -- input_iterator_tag) -+ const input_iterator_tag &) - { - for ( ; __f != __l; ++__f) - insert_unique(*__f); -@@ -403,7 +398,7 @@ - - template - void insert_equal(_InputIterator __f, _InputIterator __l, -- input_iterator_tag) -+ const input_iterator_tag &) - { - for ( ; __f != __l; ++__f) - insert_equal(*__f); -@@ -411,10 +406,9 @@ - - template - void insert_unique(_ForwardIterator __f, _ForwardIterator __l, -- forward_iterator_tag) -+ const forward_iterator_tag &) - { -- size_type __n = 0; -- distance(__f, __l, __n); -+ size_type __n = distance(__f, __l); - resize(_M_num_elements._M_data + __n); - for ( ; __n > 0; --__n, ++__f) - insert_unique_noresize(*__f); -@@ -422,16 +416,15 @@ - - template - void insert_equal(_ForwardIterator __f, _ForwardIterator __l, -- forward_iterator_tag) -+ const forward_iterator_tag &) - { -- size_type __n = 0; -- distance(__f, __l, __n); -+ size_type __n = distance(__f, __l); - resize(_M_num_elements._M_data + __n); - for ( ; __n > 0; --__n, ++__f) - insert_equal_noresize(*__f); - } - --#else /* __STL_MEMBER_TEMPLATES */ -+#else /* _STLP_MEMBER_TEMPLATES */ - void insert_unique(const value_type* __f, const value_type* __l) - { - size_type __n = __l - __f; -@@ -450,8 +443,7 @@ - - void insert_unique(const_iterator __f, const_iterator __l) - { -- size_type __n = 0; -- distance(__f, __l, __n); -+ size_type __n = distance(__f, __l); - resize(_M_num_elements._M_data + __n); - for ( ; __n > 0; --__n, ++__f) - insert_unique_noresize(*__f); -@@ -459,36 +451,51 @@ - - void insert_equal(const_iterator __f, const_iterator __l) - { -- size_type __n = 0; -- distance(__f, __l, __n); -+ size_type __n = distance(__f, __l); - resize(_M_num_elements._M_data + __n); - for ( ; __n > 0; --__n, ++__f) - insert_equal_noresize(*__f); - } --#endif /*__STL_MEMBER_TEMPLATES */ -+#endif /*_STLP_MEMBER_TEMPLATES */ - - reference find_or_insert(const value_type& __obj); - -- iterator find(const key_type& __key) -+private: -+# if defined(_STLP_MEMBER_TEMPLATES) && ! defined ( _STLP_NO_EXTENSIONS ) && !(defined(__MRC__)||defined(__SC__)) -+ template -+ _Node* _M_find(const _KT& __key) const -+# else -+ _Node* _M_find(const key_type& __key) const -+# endif - { -- size_type __n = _M_bkt_num_key(__key); -+ size_type __n = _M_hash(__key)% _M_buckets.size(); - _Node* __first; - for ( __first = (_Node*)_M_buckets[__n]; - __first && !_M_equals(_M_get_key(__first->_M_val), __key); - __first = __first->_M_next) - {} -- return iterator(__first, this); -+ return __first; -+ } -+ -+public: -+# if defined(_STLP_MEMBER_TEMPLATES) && ! defined ( _STLP_NO_EXTENSIONS ) && !(defined(__MRC__)||defined(__SC__)) -+ template -+ iterator find(const _KT& __key) -+# else -+ iterator find(const key_type& __key) -+# endif -+ { -+ return iterator(_M_find(__key), this); - } - -+# if defined(_STLP_MEMBER_TEMPLATES) && ! defined ( _STLP_NO_EXTENSIONS ) && !(defined(__MRC__)||defined(__SC__)) -+ template -+ const_iterator find(const _KT& __key) const -+# else - const_iterator find(const key_type& __key) const -+# endif - { -- size_type __n = _M_bkt_num_key(__key); -- const _Node* __first; -- for ( __first = (_Node*)_M_buckets[__n]; -- __first && !_M_equals(_M_get_key(__first->_M_val), __key); -- __first = __first->_M_next) -- {} -- return const_iterator(__first, this); -+ return const_iterator(_M_find(__key), this); - } - - size_type count(const key_type& __key) const -@@ -519,15 +526,13 @@ - void resize(size_type __num_elements_hint); - void clear(); - -+public: -+ // this is for hash_map::operator[] -+ reference _M_insert(const value_type& __obj); -+ - private: - -- size_type _M_next_size(size_type __n) const -- { -- const size_type* __first = (const size_type*)__stl_prime_list; -- const size_type* __last = (const size_type*)__stl_prime_list + (int)__stl_num_primes; -- const size_type* pos = lower_bound(__first, __last, __n); -- return (pos == __last ? *(__last - 1) : *pos); -- } -+ size_type _M_next_size(size_type __n) const; - - void _M_initialize_buckets(size_type __n) - { -@@ -561,11 +566,11 @@ - { - _Node* __n = _M_num_elements.allocate(1); - __n->_M_next = 0; -- __STL_TRY { -+ _STLP_TRY { - _Construct(&__n->_M_val, __obj); - // return __n; - } -- __STL_UNWIND(_M_num_elements.deallocate(__n, 1)); -+ _STLP_UNWIND(_M_num_elements.deallocate(__n, 1)); - return __n; - } - -@@ -582,43 +587,42 @@ - }; - - template --inline bool __STL_CALL operator==(const hashtable<_Val,_Key,_HF,_ExK,_EqK,_All>& __ht1, -+inline bool _STLP_CALL operator==(const hashtable<_Val,_Key,_HF,_ExK,_EqK,_All>& __ht1, - const hashtable<_Val,_Key,_HF,_ExK,_EqK,_All>& __ht2) - { - return hashtable<_Val,_Key,_HF,_ExK,_EqK,_All>::_M_equal( __ht1, __ht2 ); - } - --#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE -+#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE - - template --inline bool __STL_CALL operator!=(const hashtable<_Val,_Key,_HF,_Ex,_Eq,_All>& __ht1, -+inline bool _STLP_CALL operator!=(const hashtable<_Val,_Key,_HF,_Ex,_Eq,_All>& __ht1, - const hashtable<_Val,_Key,_HF,_Ex,_Eq,_All>& __ht2) { - return !(__ht1 == __ht2); - } - - template --inline void __STL_CALL swap(hashtable<_Val, _Key, _HF, _ExK, _EqK, _All>& __ht1, -+inline void _STLP_CALL swap(hashtable<_Val, _Key, _HF, _ExK, _EqK, _All>& __ht1, - hashtable<_Val, _Key, _HF, _ExK, _EqK, _All>& __ht2) { - __ht1.swap(__ht2); - } - --#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ -+#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --# undef __stl_prime_list - # undef hashtable - --# if !defined (__STL_LINK_TIME_INSTANTIATION) -+# if !defined (_STLP_LINK_TIME_INSTANTIATION) - # include - # endif - --# if defined (__STL_DEBUG) -+# if defined (_STLP_DEBUG) - # include - # endif - --#endif /* __SGI_STL_INTERNAL_HASHTABLE_H */ -+#endif /* _STLP_INTERNAL_HASHTABLE_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_heap.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_heap.c ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_heap.c Sat Feb 24 10:44:52 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_heap.c Sun Aug 11 18:59:24 2002 -@@ -23,28 +23,32 @@ - * modified is included with the above copyright notice. - * - */ --#ifndef __STL_HEAP_C --#define __STL_HEAP_C -+#ifndef _STLP_HEAP_C -+#define _STLP_HEAP_C - --#ifndef __SGI_STL_INTERNAL_ITERATOR_BASE_H -+#ifndef _STLP_INTERNAL_HEAP_H -+# include -+#endif -+ -+#ifndef _STLP_INTERNAL_ITERATOR_BASE_H - # include - #endif - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - template --__STL_INLINE_LOOP -+_STLP_INLINE_LOOP - void - __push_heap(_RandomAccessIterator __first, -- _Distance __holeIndex, _Distance __topIndex, _Tp __value) -+ _Distance __holeIndex, _Distance __topIndex, _Tp __val) - { - _Distance __parent = (__holeIndex - 1) / 2; -- while (__holeIndex > __topIndex && *(__first + __parent) < __value) { -+ while (__holeIndex > __topIndex && *(__first + __parent) < __val) { - *(__first + __holeIndex) = *(__first + __parent); - __holeIndex = __parent; - __parent = (__holeIndex - 1) / 2; - } -- *(__first + __holeIndex) = __value; -+ *(__first + __holeIndex) = __val; - } - - template -@@ -61,24 +65,24 @@ - push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) - { - __push_heap_aux(__first, __last, -- __DISTANCE_TYPE(__first), __VALUE_TYPE(__first)); -+ _STLP_DISTANCE_TYPE(__first, _RandomAccessIterator), _STLP_VALUE_TYPE(__first, _RandomAccessIterator)); - } - - - template --__STL_INLINE_LOOP -+_STLP_INLINE_LOOP - void - __push_heap(_RandomAccessIterator __first, _Distance __holeIndex, -- _Distance __topIndex, _Tp __value, _Compare __comp) -+ _Distance __topIndex, _Tp __val, _Compare __comp) - { - _Distance __parent = (__holeIndex - 1) / 2; -- while (__holeIndex > __topIndex && __comp(*(__first + __parent), __value)) { -+ while (__holeIndex > __topIndex && __comp(*(__first + __parent), __val)) { - *(__first + __holeIndex) = *(__first + __parent); - __holeIndex = __parent; - __parent = (__holeIndex - 1) / 2; - } -- *(__first + __holeIndex) = __value; -+ *(__first + __holeIndex) = __val; - } - - template - void - push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, -- _Compare __comp) -+ _Compare __comp) - { - __push_heap_aux(__first, __last, __comp, -- __DISTANCE_TYPE(__first), __VALUE_TYPE(__first)); -+ _STLP_DISTANCE_TYPE(__first, _RandomAccessIterator), _STLP_VALUE_TYPE(__first, _RandomAccessIterator)); - } - - template - void - __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex, -- _Distance __len, _Tp __value) --{ -+ _Distance __len, _Tp __val) { - _Distance __topIndex = __holeIndex; - _Distance __secondChild = 2 * __holeIndex + 2; - while (__secondChild < __len) { -@@ -119,31 +122,28 @@ - *(__first + __holeIndex) = *(__first + (__secondChild - 1)); - __holeIndex = __secondChild - 1; - } -- __push_heap(__first, __holeIndex, __topIndex, __value); -+ __push_heap(__first, __holeIndex, __topIndex, __val); - } - - - template - inline void --__pop_heap_aux(_RandomAccessIterator __first, _RandomAccessIterator __last, -- _Tp*) --{ -+__pop_heap_aux(_RandomAccessIterator __first, _RandomAccessIterator __last, _Tp*) { - __pop_heap(__first, __last - 1, __last - 1, -- _Tp(*(__last - 1)), __DISTANCE_TYPE(__first)); -+ _Tp(*(__last - 1)), _STLP_DISTANCE_TYPE(__first, _RandomAccessIterator)); - } - - template - void pop_heap(_RandomAccessIterator __first, -- _RandomAccessIterator __last) --{ -- __pop_heap_aux(__first, __last, __VALUE_TYPE(__first)); -+ _RandomAccessIterator __last) { -+ __pop_heap_aux(__first, __last, _STLP_VALUE_TYPE(__first, _RandomAccessIterator)); - } - - template - void - __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex, -- _Distance __len, _Tp __value, _Compare __comp) -+ _Distance __len, _Tp __val, _Compare __comp) - { - _Distance __topIndex = __holeIndex; - _Distance __secondChild = 2 * __holeIndex + 2; -@@ -158,7 +158,7 @@ - *(__first + __holeIndex) = *(__first + (__secondChild - 1)); - __holeIndex = __secondChild - 1; - } -- __push_heap(__first, __holeIndex, __topIndex, __value, __comp); -+ __push_heap(__first, __holeIndex, __topIndex, __val, __comp); - } - - -@@ -168,7 +168,7 @@ - _RandomAccessIterator __last, _Tp*, _Compare __comp) - { - __pop_heap(__first, __last - 1, __last - 1, _Tp(*(__last - 1)), __comp, -- __DISTANCE_TYPE(__first)); -+ _STLP_DISTANCE_TYPE(__first, _RandomAccessIterator)); - } - - -@@ -177,11 +177,11 @@ - pop_heap(_RandomAccessIterator __first, - _RandomAccessIterator __last, _Compare __comp) - { -- __pop_heap_aux(__first, __last, __VALUE_TYPE(__first), __comp); -+ __pop_heap_aux(__first, __last, _STLP_VALUE_TYPE(__first, _RandomAccessIterator), __comp); - } - - template --__STL_INLINE_LOOP -+_STLP_INLINE_LOOP - void - __make_heap(_RandomAccessIterator __first, - _RandomAccessIterator __last, _Tp*, _Distance*) -@@ -202,12 +202,12 @@ - make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) - { - __make_heap(__first, __last, -- __VALUE_TYPE(__first), __DISTANCE_TYPE(__first)); -+ _STLP_VALUE_TYPE(__first, _RandomAccessIterator), _STLP_DISTANCE_TYPE(__first, _RandomAccessIterator)); - } - - template --__STL_INLINE_LOOP -+_STLP_INLINE_LOOP - void - __make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, - _Compare __comp, _Tp*, _Distance*) -@@ -230,12 +230,12 @@ - _RandomAccessIterator __last, _Compare __comp) - { - __make_heap(__first, __last, __comp, -- __VALUE_TYPE(__first), __DISTANCE_TYPE(__first)); -+ _STLP_VALUE_TYPE(__first, _RandomAccessIterator), _STLP_DISTANCE_TYPE(__first, _RandomAccessIterator)); - } - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --#endif /* __STL_HEAP_C */ -+#endif /* _STLP_HEAP_C */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_heap.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_heap.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_heap.h Sat Feb 24 10:44:52 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_heap.h Sun Aug 11 18:59:24 2002 -@@ -27,14 +27,14 @@ - * You should not attempt to use it directly. - */ - --#ifndef __SGI_STL_INTERNAL_HEAP_H --#define __SGI_STL_INTERNAL_HEAP_H -+#ifndef _STLP_INTERNAL_HEAP_H -+#define _STLP_INTERNAL_HEAP_H - --#ifndef __STL_CONFIG_H -+#ifndef _STLP_CONFIG_H - #include - #endif - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - // Heap-manipulation functions: push_heap, pop_heap, make_heap, sort_heap. - -@@ -51,15 +51,15 @@ - template - void - __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex, -- _Distance __len, _Tp __value); -+ _Distance __len, _Tp __val); - - template - inline void - __pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, -- _RandomAccessIterator __result, _Tp __value, _Distance*) -+ _RandomAccessIterator __result, _Tp __val, _Distance*) - { - *__result = *__first; -- __adjust_heap(__first, _Distance(0), _Distance(__last - __first), __value); -+ __adjust_heap(__first, _Distance(0), _Distance(__last - __first), __val); - } - - template -@@ -70,18 +70,18 @@ - class _Tp, class _Compare> - void - __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex, -- _Distance __len, _Tp __value, _Compare __comp); -+ _Distance __len, _Tp __val, _Compare __comp); - - template - inline void - __pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, -- _RandomAccessIterator __result, _Tp __value, _Compare __comp, -+ _RandomAccessIterator __result, _Tp __val, _Compare __comp, - _Distance*) - { - *__result = *__first; - __adjust_heap(__first, _Distance(0), _Distance(__last - __first), -- __value, __comp); -+ __val, __comp); - } - - template -@@ -99,7 +99,7 @@ - _RandomAccessIterator __last, _Compare __comp); - - template --__STL_INLINE_LOOP -+_STLP_INLINE_LOOP - void sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) - { - while (__last - __first > 1) -@@ -107,7 +107,7 @@ - } - - template --__STL_INLINE_LOOP -+_STLP_INLINE_LOOP - void - sort_heap(_RandomAccessIterator __first, - _RandomAccessIterator __last, _Compare __comp) -@@ -116,13 +116,13 @@ - pop_heap(__first, __last--, __comp); - } - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --# if !defined (__STL_LINK_TIME_INSTANTIATION) -+# if !defined (_STLP_LINK_TIME_INSTANTIATION) - # include - # endif - --#endif /* __SGI_STL_INTERNAL_HEAP_H */ -+#endif /* _STLP_INTERNAL_HEAP_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_ios.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_ios.c ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_ios.c Sat Feb 24 10:44:52 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_ios.c Sun Aug 11 18:59:24 2002 -@@ -15,12 +15,24 @@ - * modified is included with the above copyright notice. - * - */ --#ifndef __STL_IOS_C --#define __STL_IOS_C -+#ifndef _STLP_IOS_C -+#define _STLP_IOS_C - -+#ifndef _STLP_INTERNAL_IOS_H -+# include -+#endif -+ -+#if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) -+ -+#ifndef _STLP_INTERNAL_STREAMBUF - # include -+#endif -+ -+#ifndef _STLP_INTERNAL_NUMPUNCT_H -+# include -+#endif - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - // basic_ios<>'s non-inline member functions - -@@ -29,7 +41,7 @@ - basic_ios<_CharT, _Traits> - ::basic_ios(basic_streambuf<_CharT, _Traits>* __streambuf) - : ios_base(), -- _M_fill(__STL_NULL_CHAR_INIT(_CharT)), _M_streambuf(0), _M_tied_ostream(0), _M_cached_ctype(0) -+ _M_fill(_STLP_NULL_CHAR_INIT(_CharT)), _M_streambuf(0), _M_tied_ostream(0) - { - init(__streambuf); - } -@@ -62,11 +74,13 @@ - { - locale __tmp = ios_base::imbue(__loc); - -- _M_cached_ctype = & use_facet >(getloc()) ; -- - if (_M_streambuf) - _M_streambuf->pubimbue(__loc); - -+ // no throwing here -+ this->_M_cached_ctype = __loc._M_get_facet(ctype::id) ; -+ this->_M_cached_numpunct = __loc._M_get_facet(numpunct::id) ; -+ this->_M_cached_grouping = ((numpunct*)_M_cached_numpunct)->grouping() ; - return __tmp; - } - -@@ -77,7 +91,7 @@ - template - basic_ios<_CharT, _Traits>::basic_ios() - : ios_base(), -- _M_fill(__STL_NULL_CHAR_INIT(_CharT)), _M_streambuf(0), _M_tied_ostream(0), _M_cached_ctype(0) -+ _M_fill(_STLP_NULL_CHAR_INIT(_CharT)), _M_streambuf(0), _M_tied_ostream(0) - {} - - template -@@ -103,9 +117,11 @@ - { - this->_M_setstate_nothrow(__flag); - if (this->_M_get_exception_mask() & __flag) -- __STL_RETHROW; -+ _STLP_RETHROW; - } - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE -+ -+#endif /* defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) */ - --#endif /* __STL_IOS_C */ -+#endif /* _STLP_IOS_C */ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_ios.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_ios.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_ios.h Sat Feb 24 10:44:52 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_ios.h Sun Aug 11 18:59:24 2002 -@@ -15,18 +15,22 @@ - * modified is included with the above copyright notice. - * - */ --#ifndef __SGI_STL_IOS_H --#define __SGI_STL_IOS_H -+#ifndef _STLP_INTERNAL_IOS_H -+#define _STLP_INTERNAL_IOS_H - --#include --#include --#include -- --#include --#include --#include - --__STL_BEGIN_NAMESPACE -+#ifndef _STLP_IOS_BASE_H -+# include -+#endif -+ -+#ifndef _STLP_INTERNAL_CTYPE_H -+# include -+#endif -+#ifndef _STLP_INTERNAL_NUMPUNCT_H -+# include -+#endif -+ -+_STLP_BEGIN_NAMESPACE - - // ---------------------------------------------------------------------- - -@@ -51,7 +55,7 @@ - - public: // Constructor, destructor. - explicit basic_ios(basic_streambuf<_CharT, _Traits>* __streambuf); -- virtual ~basic_ios() { } -+ virtual ~basic_ios() {} - - public: // Members from clause 27.4.4.2 - basic_ostream<_CharT, _Traits>* tie() const { -@@ -98,21 +102,16 @@ - public: // Locale-related member functions. - locale imbue(const locale&); - -- // Equivalent to &use_facet >(getloc()), but faster. -- const ctype<_CharT>* _M_ctype_facet() const { return _M_cached_ctype; } -- - inline char narrow(_CharT, char) const ; - inline _CharT widen(char) const; - - // Helper function that makes testing for EOF more convenient. -- static bool __STL_CALL _S_eof(int_type __c) { -+ static bool _STLP_CALL _S_eof(int_type __c) { - const int_type __eof = _Traits::eof(); - return _Traits::eq_int_type(__c, __eof); - } - --# if !(defined(__MRC__) || defined(__SC__)) - protected: --# endif - basic_ios(); - - void init(basic_streambuf<_CharT, _Traits>* __streambuf); -@@ -129,56 +128,72 @@ - basic_streambuf<_CharT, _Traits>* _M_streambuf; - basic_ostream<_CharT, _Traits>* _M_tied_ostream; - -- // A cached copy of the curent locale's ctype facet. It is set by init() -- // and imbue(). -- const ctype<_CharT>* _M_cached_ctype; - }; - - - template - inline char - basic_ios<_CharT, _Traits>::narrow(_CharT __c, char __default) const --{ return _M_ctype_facet()->narrow(__c, __default); } -+{ return ((const ctype<_CharT>*)this->_M_ctype_facet())->narrow(__c, __default); } - - template - inline _CharT - basic_ios<_CharT, _Traits>::widen(char __c) const - { -- return _M_ctype_facet()->widen(__c); } -+ return ((const ctype<_CharT>*)this->_M_ctype_facet())->widen(__c); } - --# if defined (__STL_USE_TEMPLATE_EXPORT) --__STL_EXPORT_TEMPLATE_CLASS basic_ios >; --# if ! defined (__STL_NO_WCHAR_T) --__STL_EXPORT_TEMPLATE_CLASS basic_ios >; -+# if defined (_STLP_USE_TEMPLATE_EXPORT) -+_STLP_EXPORT_TEMPLATE_CLASS basic_ios >; -+# if ! defined (_STLP_NO_WCHAR_T) -+_STLP_EXPORT_TEMPLATE_CLASS basic_ios >; - # endif --# endif /* __STL_USE_TEMPLATE_EXPORT */ -+# endif /* _STLP_USE_TEMPLATE_EXPORT */ - --# if !defined (__STL_NO_METHOD_SPECIALIZATION) --__STL_TEMPLATE_NULL -+# if !defined (_STLP_NO_METHOD_SPECIALIZATION) -+_STLP_TEMPLATE_NULL - inline char - basic_ios >::narrow(char __c, char) const - { - return __c; - } - --__STL_TEMPLATE_NULL -+_STLP_TEMPLATE_NULL - inline char - basic_ios >::widen(char __c) const - { - return __c; - } --# endif /* __STL_NO_METHOD_SPECIALIZATION */ -+# endif /* _STLP_NO_METHOD_SPECIALIZATION */ - - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --# if !defined (__STL_LINK_TIME_INSTANTIATION) -+#if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) && !defined (_STLP_LINK_TIME_INSTANTIATION) - # include - # endif - -+// The following is needed to ensure that the inlined _Stl_loc_init functions -+// that ios_base::_Loc_init::_Loc_init() calls are found eventually. -+// Otherwise, undefined externs may be caused. -+ -+#if defined(__BORLANDC__) && defined(_RTLDLL) -+# ifndef _STLP_INTERNAL_NUM_PUT_H -+# include -+# endif -+# ifndef _STLP_INTERNAL_NUM_GET_H -+# include -+# endif -+# ifndef _STLP_INTERNAL_MONETARY_H -+# include -+# endif -+# ifndef _STLP_INTERNAL_TIME_FACETS_H -+# include -+# endif -+#endif - --#endif /* __SGI_STL_IOS */ -+#endif /* _STLP_IOS */ - - // Local Variables: - // mode:C++ - // End: -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_ios_base.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_ios_base.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_ios_base.h Sat Feb 24 10:44:53 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_ios_base.h Sun Aug 11 18:59:24 2002 -@@ -15,16 +15,23 @@ - * modified is included with the above copyright notice. - * - */ --#ifndef __SGI_STL_IOS_BASE_H --#define __SGI_STL_IOS_BASE_H -+#ifndef _STLP_IOS_BASE_H -+#define _STLP_IOS_BASE_H - --#include -+#ifndef _STLP_STDEXCEPT - #include -+#endif -+#ifndef _STLP_UTILITY - #include --#include -+#endif -+#ifndef _STLP_INTERNAL_LOCALE_H - #include -+#endif -+#ifndef _STLP_STRING_H -+# include -+#endif - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - // ---------------------------------------------------------------------- - -@@ -35,93 +42,71 @@ - // manipulation to the streambuf classes, and they delegate most - // formatting tasks to a locale. - --class __STL_CLASS_DECLSPEC ios_base { -+class _STLP_CLASS_DECLSPEC ios_base { - public: - -- class __STL_CLASS_DECLSPEC failure : public __Named_exception { -+ class _STLP_CLASS_DECLSPEC failure : public __Named_exception { - public: - explicit failure(const string&); -- virtual ~failure() __STL_NOTHROW_INHERENTLY; -+ virtual ~failure() _STLP_NOTHROW_INHERENTLY; - }; - -- typedef unsigned int fmtflags; -- // Formatting flags. --# if defined ( __STL_STATIC_CONST_INIT_BUG) || defined (__STL_USE_DECLSPEC) || defined(__MRC__) || defined(__SC__) -- enum fmt_flags { --# else -- // somebody relies on that -- typedef unsigned int fmt_flags; -- static const fmtflags --# endif -- left = 0x0001, -- right = 0x0002, -- internal = 0x0004, -- dec = 0x0008, -- hex = 0x0010, -- oct = 0x0020, -- fixed = 0x0040, -- scientific = 0x0080, -- boolalpha = 0x0100, -- showbase = 0x0200, -- showpoint = 0x0400, -- showpos = 0x0800, -- skipws = 0x1000, -- unitbuf = 0x2000, -- uppercase = 0x4000, -- adjustfield = left | right | internal, -- basefield = dec | hex | oct, -- floatfield = scientific | fixed --# if defined ( __STL_STATIC_CONST_INIT_BUG) || defined (__STL_USE_DECLSPEC) || defined(__MRC__) || defined(__SC__) -- } --# endif -- ; -- -- typedef unsigned char iostate; -- // State flags. --# if defined ( __STL_STATIC_CONST_INIT_BUG) || defined (__STL_USE_DECLSPEC) || defined(__MRC__) || defined(__SC__) -- enum io_state_ { --# else -- static const iostate --# endif -- goodbit = 0x00, -- badbit = 0x01, -- eofbit = 0x02, -- failbit = 0x04 --# if defined ( __STL_STATIC_CONST_INIT_BUG) || defined (__STL_USE_DECLSPEC) || defined(__MRC__) || defined(__SC__) -- } --# endif -- ; -+ typedef int fmtflags; -+ typedef int iostate; -+ typedef int openmode; -+ typedef int seekdir; - -- // Openmode flags. -- typedef unsigned short openmode; --# if defined ( __STL_STATIC_CONST_INIT_BUG) || defined (__STL_USE_DECLSPEC) || defined(__MRC__) || defined(__SC__) -- enum __open_mode { --# else -- static const openmode -+# ifndef _STLP_NO_ANACHRONISMS -+ typedef fmtflags fmt_flags; - # endif -- __default_mode = 0x0, /* implementation detail */ -- app = 0x01, -- ate = 0x02, -- binary = 0x04, -- in = 0x08, -- out = 0x10, -- trunc = 0x20 --# if defined ( __STL_STATIC_CONST_INIT_BUG) || defined (__STL_USE_DECLSPEC)|| defined(__MRC__) || defined(__SC__) -- } --# endif -- ; - -- typedef unsigned char seekdir; -- // Seekdir flags --# if defined ( __STL_STATIC_CONST_INIT_BUG) || defined (__STL_USE_DECLSPEC) || defined(__MRC__) || defined(__SC__) -- enum __seek_dir { -+ // Formatting flags. -+# ifdef _STLP_STATIC_CONST_INIT_BUG -+ enum { - # else -- static const seekdir -+ // boris : type for all those constants is int -+ static const int - # endif -- beg = 0x01, -- cur = 0x02, -- end = 0x04 --# if defined ( __STL_STATIC_CONST_INIT_BUG) || defined (__STL_USE_DECLSPEC) || defined(__MRC__) || defined(__SC__) -+ left = 0x0001, -+ right = 0x0002, -+ internal = 0x0004, -+ dec = 0x0008, -+ hex = 0x0010, -+ oct = 0x0020, -+ fixed = 0x0040, -+ scientific = 0x0080, -+ boolalpha = 0x0100, -+ showbase = 0x0200, -+ showpoint = 0x0400, -+ showpos = 0x0800, -+ skipws = 0x1000, -+ unitbuf = 0x2000, -+ uppercase = 0x4000, -+ adjustfield = left | right | internal, -+ basefield = dec | hex | oct, -+ floatfield = scientific | fixed, -+ -+ // State flags. -+ goodbit = 0x00, -+ badbit = 0x01, -+ eofbit = 0x02, -+ failbit = 0x04, -+ -+ // Openmode flags. -+ __default_mode = 0x0, /* implementation detail */ -+ app = 0x01, -+ ate = 0x02, -+ binary = 0x04, -+ in = 0x08, -+ out = 0x10, -+ trunc = 0x20, -+ -+ // Seekdir flags -+ -+ beg = 0x01, -+ cur = 0x02, -+ end = 0x04 -+# ifdef _STLP_STATIC_CONST_INIT_BUG - } - # endif - ; -@@ -160,19 +145,13 @@ - _M_width = __newwidth; - return __tmp; - } --#if defined(__MRC__) || defined(__SC__) -- //*TY 02/24/2000 - added workaround for MPW compilers; ref.[ file iomanip; line 139 ] -- streamsize _PRECISION(streamsize __newprecision) {return precision(__newprecision);} -- //*TY 03/05/2000 - mpw compilers have difficulty resolving overloaded function when assigning a pointer to function -- streamsize _WIDTH(streamsize __newwidth) {return width(__newwidth);} --#endif - - public: // Locales - locale imbue(const locale&); - locale getloc() const { return _M_locale; } - - public: // Auxiliary storage. -- static int __STL_CALL xalloc(); -+ static int _STLP_CALL xalloc(); - long& iword(int __index); - void*& pword(int __index); - -@@ -187,7 +166,7 @@ - public: // This member function affects only - // the eight predefined ios objects: - // cin, cout, etc. -- static bool __STL_CALL sync_with_stdio(bool __sync = true); -+ static bool _STLP_CALL sync_with_stdio(bool __sync = true); - - public: // The C++ standard requires only that these - // member functions be defined in basic_ios. -@@ -215,18 +194,21 @@ - void _M_clear_nothrow(iostate __state) { _M_iostate = __state; } - iostate _M_get_exception_mask() const { return _M_exception_mask; } - void _M_set_exception_mask(iostate __mask) { _M_exception_mask = __mask; } -- void _M_check_exception_mask() -- { if (_M_iostate & _M_exception_mask) _M_throw_failure(); } -+ void _M_check_exception_mask() { -+ if (_M_iostate & _M_exception_mask) -+ _M_throw_failure(); -+ } - -- void _M_invoke_callbacks(event __event); -+ void _M_invoke_callbacks(event); - void _M_throw_failure(); - - ios_base(); // Default constructor. - - protected: // Initialization of the I/O system -- static void __STL_CALL _S_initialize(); -- static void __STL_CALL _S_uninitialize(); -- -+ static void _STLP_CALL _S_initialize(); -+ static void _STLP_CALL _S_uninitialize(); -+ static bool _S_was_synced; -+ - private: // Invalidate the copy constructor and - // assignment operator. - ios_base(const ios_base&); -@@ -258,6 +240,16 @@ - - static int _S_index; - -+protected: -+ // Cached copies of the curent locale's facets. Set by init() and imbue(). -+ locale::facet* _M_cached_ctype; -+ locale::facet* _M_cached_numpunct; -+ string _M_cached_grouping; -+public: -+ // Equivalent to &use_facet< Facet >(getloc()), but faster. -+ const locale::facet* _M_ctype_facet() const { return _M_cached_ctype; } -+ const locale::facet* _M_numpunct_facet() const { return _M_cached_numpunct; } -+ const string& _M_grouping() const { return _M_cached_grouping; } - public: - - // ---------------------------------------------------------------------- -@@ -266,108 +258,151 @@ - // implementations where such a thing is required) is declared in - // - -- class __STL_CLASS_DECLSPEC Init { -+ class _STLP_CLASS_DECLSPEC Init { - public: - Init(); - ~Init(); - private: - static long _S_count; -+ friend class ios_base; -+ }; -+ -+ // this class is needed to ensure locale initialization w/o inclusion -+ class _STLP_CLASS_DECLSPEC _Loc_init { -+ public: -+ _Loc_init(); -+ ~_Loc_init(); -+ private: -+ static long _S_count; -+ friend class ios_base; - }; - - friend class Init; - - public: --# ifndef __STL_NO_ANACHRONISMS -+# ifndef _STLP_NO_ANACHRONISMS - // 31.6 Old iostreams members [depr.ios.members] - typedef iostate io_state; - typedef openmode open_mode; - typedef seekdir seek_dir; -- typedef __STLPORT_STD::streamoff streamoff; -- typedef __STLPORT_STD::streampos streampos; -+ typedef _STLP_STD::streamoff streamoff; -+ typedef _STLP_STD::streampos streampos; - # endif - }; - -+template -+locale::facet* _M_get_facet(ios_base& __i, Facet*) -+{ -+ -+} - - // ---------------------------------------------------------------------- - // ios_base manipulator functions, from section 27.4.5 of the C++ standard. - // All of them are trivial one-line wrapper functions. - - // fmtflag manipulators, section 27.4.5.1 --inline ios_base& __STL_CALL boolalpha(ios_base& __s) -+inline ios_base& _STLP_CALL boolalpha(ios_base& __s) - { __s.setf(ios_base::boolalpha); return __s;} - --inline ios_base& __STL_CALL noboolalpha(ios_base& __s) -+inline ios_base& _STLP_CALL noboolalpha(ios_base& __s) - { __s.unsetf(ios_base::boolalpha); return __s;} - --inline ios_base& __STL_CALL showbase(ios_base& __s) -+inline ios_base& _STLP_CALL showbase(ios_base& __s) - { __s.setf(ios_base::showbase); return __s;} - --inline ios_base& __STL_CALL noshowbase(ios_base& __s) -+inline ios_base& _STLP_CALL noshowbase(ios_base& __s) - { __s.unsetf(ios_base::showbase); return __s;} - --inline ios_base& __STL_CALL showpoint(ios_base& __s) -+inline ios_base& _STLP_CALL showpoint(ios_base& __s) - { __s.setf(ios_base::showpoint); return __s;} - --inline ios_base& __STL_CALL noshowpoint(ios_base& __s) -+inline ios_base& _STLP_CALL noshowpoint(ios_base& __s) - { __s.unsetf(ios_base::showpoint); return __s;} - --inline ios_base& __STL_CALL showpos(ios_base& __s) -+inline ios_base& _STLP_CALL showpos(ios_base& __s) - { __s.setf(ios_base::showpos); return __s;} - --inline ios_base& __STL_CALL noshowpos(ios_base& __s) -+inline ios_base& _STLP_CALL noshowpos(ios_base& __s) - { __s.unsetf(ios_base::showpos); return __s;} - --inline ios_base& __STL_CALL skipws(ios_base& __s) -+inline ios_base& _STLP_CALL skipws(ios_base& __s) - { __s.setf(ios_base::skipws); return __s;} - --inline ios_base& __STL_CALL noskipws(ios_base& __s) -+inline ios_base& _STLP_CALL noskipws(ios_base& __s) - { __s.unsetf(ios_base::skipws); return __s;} - --inline ios_base& __STL_CALL uppercase(ios_base& __s) -+inline ios_base& _STLP_CALL uppercase(ios_base& __s) - { __s.setf(ios_base::uppercase); return __s;} - --inline ios_base& __STL_CALL nouppercase(ios_base& __s) -+inline ios_base& _STLP_CALL nouppercase(ios_base& __s) - { __s.unsetf(ios_base::uppercase); return __s;} - --inline ios_base& __STL_CALL unitbuf(ios_base& __s) -+inline ios_base& _STLP_CALL unitbuf(ios_base& __s) - { __s.setf(ios_base::unitbuf); return __s;} - --inline ios_base& __STL_CALL nounitbuf(ios_base& __s) -+inline ios_base& _STLP_CALL nounitbuf(ios_base& __s) - { __s.unsetf(ios_base::unitbuf); return __s;} - - - // adjustfield manipulators, section 27.4.5.2 --inline ios_base& __STL_CALL internal(ios_base& __s) -+inline ios_base& _STLP_CALL internal(ios_base& __s) - { __s.setf(ios_base::internal, ios_base::adjustfield); return __s; } - --inline ios_base& __STL_CALL left(ios_base& __s) -+inline ios_base& _STLP_CALL left(ios_base& __s) - { __s.setf(ios_base::left, ios_base::adjustfield); return __s; } - --inline ios_base& __STL_CALL right(ios_base& __s) -+inline ios_base& _STLP_CALL right(ios_base& __s) - { __s.setf(ios_base::right, ios_base::adjustfield); return __s; } - - // basefield manipulators, section 27.4.5.3 --inline ios_base& __STL_CALL dec(ios_base& __s) -+inline ios_base& _STLP_CALL dec(ios_base& __s) - { __s.setf(ios_base::dec, ios_base::basefield); return __s; } - --inline ios_base& __STL_CALL hex(ios_base& __s) -+inline ios_base& _STLP_CALL hex(ios_base& __s) - { __s.setf(ios_base::hex, ios_base::basefield); return __s; } - --inline ios_base& __STL_CALL oct(ios_base& __s) -+inline ios_base& _STLP_CALL oct(ios_base& __s) - { __s.setf(ios_base::oct, ios_base::basefield); return __s; } - - - // floatfield manipulators, section 27.4.5.3 --inline ios_base& __STL_CALL fixed(ios_base& __s) -+inline ios_base& _STLP_CALL fixed(ios_base& __s) - { __s.setf(ios_base::fixed, ios_base::floatfield); return __s; } - --inline ios_base& __STL_CALL scientific(ios_base& __s) -+inline ios_base& _STLP_CALL scientific(ios_base& __s) - { __s.setf(ios_base::scientific, ios_base::floatfield); return __s; } - --__STL_END_NAMESPACE -+#if defined(__BORLANDC__) && defined(_RTLDLL) -+ -+long ios_base::_Loc_init::_S_count = 0; -+ -+void _STLP_CALL _Stl_loc_init_num_put(); -+void _STLP_CALL _Stl_loc_init_num_get(); -+void _STLP_CALL _Stl_loc_init_monetary(); -+void _STLP_CALL _Stl_loc_init_time_facets(); -+ -+inline ios_base::_Loc_init::_Loc_init() { -+ if (_S_count++ == 0) { -+ _Stl_loc_init_num_put(); -+ _Stl_loc_init_num_get(); -+ _Stl_loc_init_monetary(); -+ _Stl_loc_init_time_facets(); -+ locale::_S_initialize(); -+ } -+} - --#endif /* __SGI_STL_IOS_BASE */ -+inline ios_base::_Loc_init::~_Loc_init() { -+ if (--_S_count == 0) -+ locale::_S_uninitialize(); -+} -+ -+#endif /* __BORLANDC__ */ -+ -+_STLP_END_NAMESPACE -+ -+#endif /* _STLP_IOS_BASE */ - - // Local Variables: - // mode:C++ - // End: -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_iosfwd.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_iosfwd.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_iosfwd.h Sat Feb 24 10:44:53 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_iosfwd.h Sun Aug 11 18:59:24 2002 -@@ -1,5 +1,5 @@ --# ifndef __STL_INTERNAL_IOSFWD --# define __STL_INTERNAL_IOSFWD -+# ifndef _STLP_INTERNAL_IOSFWD -+# define _STLP_INTERNAL_IOSFWD - - #if defined(__sgi) && !defined(__GNUC__) && !defined(_STANDARD_C_PLUS_PLUS) - #error This header file requires the -LANG:std option -@@ -18,147 +18,56 @@ - // In this implementation, the declarations in contain default - // template arguments. All of the other I/O headers include . - --#include // For mbstate_t --#include // For ptrdiff_t -- --#include -- --#if defined (__STL_UNIX) && defined (__STL_HAS_NO_NEW_C_HEADERS) --#include // For off_t --#endif /* __unix */ -- -- --__STL_BEGIN_NAMESPACE -- --template class allocator; -- --#define __STL_NULL_CHAR_INIT(_ChT) __STL_DEFAULT_CONSTRUCTED(_ChT) -- --// template class char_traits; -- --#if defined (__sgi) && defined (__STL_HAS_NO_NEW_C_HEADERS) /* IRIX */ --typedef off64_t streamoff; --#elif defined (__unix) && defined (__STL_HAS_NO_NEW_C_HEADERS) /* Other version of UNIX */ --typedef off_t streamoff; --#else /* __unix */ --typedef ptrdiff_t streamoff; --#endif /* __STL_HAS_NO_NEW_C_HEADERS */ -- --typedef ptrdiff_t streamsize; -- --// dwa 12/22/99 - gcc 2.95.2 bug workaround --#ifdef __GNUC__ --template class fpos; --template --inline bool __STL_CALL operator==(const fpos<_StateT>& __x, const fpos<_StateT>& __y) -- { return __x._M_pos == __y._M_pos; } --template --inline bool __STL_CALL operator!=(const fpos<_StateT>& __x, const fpos<_StateT>& __y) -- { return __x._M_pos != __y._M_pos; } --#endif -- --// Class fpos, which represents a position within a file. (The C++ --// standard calls for it to be defined in . This implementation --// moves it to , which is included by .) --template class fpos --{ --public: // From table 88 of the C++ standard. -- fpos(streamoff __pos) : _M_pos(__pos), _M_st(__STL_NULL_CHAR_INIT(_StateT)) {} -- fpos() : _M_pos(0), _M_st(__STL_NULL_CHAR_INIT(_StateT)) {} -- -- operator streamoff() const { return _M_pos; } -- --// dwa 12/22/99 - gcc 2.95.2 bug workaround --#ifdef __GNUC__ -- friend bool operator==<>(const fpos<_StateT>& __x, const fpos<_StateT>& __y); -- friend bool operator!=<>(const fpos<_StateT>& __x, const fpos<_StateT>& __y); --#else -- friend bool __STL_CALL operator==(const fpos<_StateT>& __x, const fpos<_StateT>& __y) -- { return __x._M_pos == __y._M_pos; } -- friend bool __STL_CALL operator!=(const fpos<_StateT>& __x, const fpos<_StateT>& __y) -- { return __x._M_pos != __y._M_pos; } -+#ifndef _STLP_CHAR_TRAITS_H -+# include - #endif -- fpos<_StateT>& operator+=(streamoff __off) { -- _M_pos += __off; -- return *this; -- } -- fpos<_StateT>& operator-=(streamoff __off) { -- _M_pos -= __off; -- return *this; -- } -- -- fpos<_StateT> operator+(streamoff __off) { -- fpos<_StateT> __tmp(*this); -- __tmp += __off; -- return __tmp; -- } -- fpos<_StateT> operator-(streamoff __off) { -- fpos<_StateT> __tmp(*this); -- __tmp -= __off; -- return __tmp; -- } -- --public: // Manipulation of the state member. -- _StateT state() const { return _M_st; } -- void state(_StateT __st) { _M_st = __st; } --private: -- streamoff _M_pos; -- _StateT _M_st; --}; - --typedef fpos streampos; --typedef fpos wstreampos; -+_STLP_BEGIN_NAMESPACE - --__STL_END_NAMESPACE -- --#include -- --__STL_BEGIN_NAMESPACE -- --class __STL_CLASS_DECLSPEC ios_base; -+class _STLP_CLASS_DECLSPEC ios_base; - - template ) > --class __STL_CLASS_DECLSPEC basic_ios; -+class basic_ios; - - template ) > --class __STL_CLASS_DECLSPEC basic_streambuf; -+class basic_streambuf; - - template ) > --class __STL_CLASS_DECLSPEC basic_istream; -+class basic_istream; - - template ) > --class __STL_CLASS_DECLSPEC basic_ostream; -+class basic_ostream; - - template ) > --class __STL_CLASS_DECLSPEC basic_iostream; -+class basic_iostream; - - template ), - __DFL_TMPL_PARAM(_Allocator , allocator<_CharT>) > --class __STL_CLASS_DECLSPEC basic_stringbuf; -+class basic_stringbuf; - - template ), - __DFL_TMPL_PARAM(_Allocator , allocator<_CharT>) > --class __STL_CLASS_DECLSPEC basic_istringstream; -+class basic_istringstream; - - template ), - __DFL_TMPL_PARAM(_Allocator , allocator<_CharT>) > --class __STL_CLASS_DECLSPEC basic_ostringstream; -+class basic_ostringstream; - - template ), - __DFL_TMPL_PARAM(_Allocator , allocator<_CharT>) > --class __STL_CLASS_DECLSPEC basic_stringstream; -+class basic_stringstream; - - template ) > --class __STL_CLASS_DECLSPEC basic_filebuf; -+class basic_filebuf; - - template ) > --class __STL_CLASS_DECLSPEC basic_ifstream; -+class basic_ifstream; - - template ) > --class __STL_CLASS_DECLSPEC basic_ofstream; -+class basic_ofstream; - - template ) > --class __STL_CLASS_DECLSPEC basic_fstream; -+class basic_fstream; - - template ) > - class istreambuf_iterator; -@@ -168,15 +77,15 @@ - - typedef basic_ios > ios; - --# ifndef __STL_NO_WCHAR_T -+# ifndef _STLP_NO_WCHAR_T - typedef basic_ios > wios; - # endif - - // Forward declaration of class locale, and of the most important facets. - class locale; --# ifdef __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS -+# ifdef _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS - template --struct __STL_CLASS_DECLSPEC _Use_facet { -+struct _Use_facet { - const locale& __loc; - _Use_facet(const locale& __p_loc) : __loc(__p_loc) {} - inline const _Facet& operator *() const; -@@ -191,30 +100,27 @@ - template class collate; - template class collate_byname; - --__STL_TEMPLATE_NULL class __STL_CLASS_DECLSPEC ctype; --__STL_TEMPLATE_NULL class __STL_CLASS_DECLSPEC ctype_byname; --__STL_TEMPLATE_NULL class __STL_CLASS_DECLSPEC collate; --__STL_TEMPLATE_NULL class __STL_CLASS_DECLSPEC collate_byname; -- --# ifndef __STL_NO_WCHAR_T --__STL_TEMPLATE_NULL class __STL_CLASS_DECLSPEC ctype; --__STL_TEMPLATE_NULL class __STL_CLASS_DECLSPEC ctype_byname; --__STL_TEMPLATE_NULL class __STL_CLASS_DECLSPEC collate; --__STL_TEMPLATE_NULL class __STL_CLASS_DECLSPEC collate_byname; -+_STLP_TEMPLATE_NULL class _STLP_CLASS_DECLSPEC ctype; -+_STLP_TEMPLATE_NULL class _STLP_CLASS_DECLSPEC ctype_byname; -+_STLP_TEMPLATE_NULL class _STLP_CLASS_DECLSPEC collate; -+_STLP_TEMPLATE_NULL class _STLP_CLASS_DECLSPEC collate_byname; -+ -+# ifndef _STLP_NO_WCHAR_T -+_STLP_TEMPLATE_NULL class _STLP_CLASS_DECLSPEC ctype; -+_STLP_TEMPLATE_NULL class _STLP_CLASS_DECLSPEC ctype_byname; -+_STLP_TEMPLATE_NULL class _STLP_CLASS_DECLSPEC collate; -+_STLP_TEMPLATE_NULL class _STLP_CLASS_DECLSPEC collate_byname; - # endif - --# if !(defined (__SUNPRO_CC) && __SUNPRO_CC < 0x500 ) -+# if !(defined (__SUNPRO_CC) && __SUNPRO_CC < 0x500 ) && !defined(_STLP_WINCE) - // Typedefs for ordinary (narrow-character) streams. --__STL_TEMPLATE_NULL class __STL_CLASS_DECLSPEC basic_streambuf >; -+_STLP_TEMPLATE_NULL class _STLP_CLASS_DECLSPEC basic_streambuf >; - # endif - - typedef basic_istream > istream; - typedef basic_ostream > ostream; - typedef basic_iostream > iostream; -- --// # if !(defined (__SUNPRO_CC) && __SUNPRO_CC < 0x500 ) - typedef basic_streambuf > streambuf; --// #endif - - typedef basic_stringbuf, allocator > stringbuf; - typedef basic_istringstream, allocator > istringstream; -@@ -226,7 +132,7 @@ - typedef basic_ofstream > ofstream; - typedef basic_fstream > fstream; - --# ifndef __STL_NO_WCHAR_T -+# ifndef _STLP_NO_WCHAR_T - // Typedefs for wide-character streams. - typedef basic_streambuf > wstreambuf; - typedef basic_istream > wistream; -@@ -244,7 +150,7 @@ - typedef basic_fstream > wfstream; - # endif - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - - #endif - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_istream.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_istream.c ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_istream.c Sat Feb 24 10:44:54 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_istream.c Sun Aug 11 18:59:24 2002 -@@ -15,49 +15,238 @@ - * modified is included with the above copyright notice. - * - */ --#ifndef __STL_ISTREAM_C --#define __STL_ISTREAM_C -+#ifndef _STLP_ISTREAM_C -+#define _STLP_ISTREAM_C - --#include // For num_put<> --#include // for size_t -+#ifndef _STLP_INTERNAL_ISTREAM_H -+# include -+#endif - --# if defined ( __STL_NESTED_TYPE_PARAM_BUG ) -+# if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) -+ -+#ifndef _STLP_LIMITS_H -+# include -+#endif -+ -+#ifndef _STLP_INTERNAL_NUM_GET_H -+# include -+#endif -+ -+# if defined ( _STLP_NESTED_TYPE_PARAM_BUG ) - // no wchar_t is supported for this mode - # define __BIS_int_type__ int - # define __BIS_pos_type__ streampos - # define __BIS_off_type__ streamoff - # else --# define __BIS_int_type__ __STL_TYPENAME_ON_RETURN_TYPE basic_istream<_CharT, _Traits>::int_type --# define __BIS_pos_type__ __STL_TYPENAME_ON_RETURN_TYPE basic_istream<_CharT, _Traits>::pos_type --# define __BIS_off_type__ __STL_TYPENAME_ON_RETURN_TYPE basic_istream<_CharT, _Traits>::off_type -+# define __BIS_int_type__ _STLP_TYPENAME_ON_RETURN_TYPE basic_istream<_CharT, _Traits>::int_type -+# define __BIS_pos_type__ _STLP_TYPENAME_ON_RETURN_TYPE basic_istream<_CharT, _Traits>::pos_type -+# define __BIS_off_type__ _STLP_TYPENAME_ON_RETURN_TYPE basic_istream<_CharT, _Traits>::off_type - # endif - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE -+ -+//---------------------------------------------------------------------- -+// Function object structs used by some member functions. -+ -+template -+struct _Is_not_wspace { -+ typedef typename _Traits::char_type argument_type; -+ typedef bool result_type; -+ -+ const ctype* _M_ctype; -+ -+ _Is_not_wspace(const ctype* __c_type) : _M_ctype(__c_type) {} -+ bool operator()(argument_type __c) const -+ { return !_M_ctype->is(ctype_base::space, __c); } -+}; -+ -+template -+struct _Is_wspace_null { -+ typedef typename _Traits::char_type argument_type; -+ typedef bool result_type; -+ -+ const ctype* _M_ctype; -+ -+ _Is_wspace_null(const ctype* __c_type) : _M_ctype(__c_type) {} -+ bool operator()(argument_type __c) const { -+ return _Traits::eq(__c, argument_type()) || -+ _M_ctype->is(ctype_base::space, __c); -+ } -+}; -+ -+template -+struct _Scan_for_wspace { -+ typedef typename _Traits::char_type char_type; -+ typedef char_type* first_argument_type; -+ typedef char_type* second_argument_type; -+ typedef char_type* result_type; - -+ const ctype* _M_ctype; -+ -+ _Scan_for_wspace(const ctype* __ctype) : _M_ctype(__ctype) {} -+ const char_type* -+ operator()(const char_type* __first, const char_type* __last) const { -+ return _M_ctype->scan_is(ctype_base::space, __first, __last); -+ } -+}; -+ -+template -+struct _Scan_wspace_null { -+ typedef typename _Traits::char_type char_type; -+ typedef char_type* first_argument_type; -+ typedef char_type* second_argument_type; -+ typedef char_type* result_type; -+ -+ const ctype* _M_ctype; -+ -+ _Scan_wspace_null(const ctype* __c_type) : _M_ctype(__c_type) {} -+ const char_type* -+ operator()(const char_type* __first, const char_type* __last) const { -+ __last = find_if(__first, __last, -+ _Eq_char_bound<_Traits>(char_type())); -+ return _M_ctype->scan_is(ctype_base::space, __first, __last); -+ } -+}; -+ -+template -+struct _Scan_for_not_wspace { -+ typedef typename _Traits::char_type char_type; -+ typedef char_type* first_argument_type; -+ typedef char_type* second_argument_type; -+ typedef char_type* result_type; -+ -+ const ctype* _M_ctype; -+ -+ _Scan_for_not_wspace(const ctype* __c_type) : _M_ctype(__c_type) {} -+ const char_type* -+ operator()(const char_type* __first, const char_type* __last) const { -+ return _M_ctype->scan_not(ctype_base::space, __first, __last); -+ } -+}; -+ -+template -+struct _Scan_for_char_val -+{ -+ typedef typename _Traits::char_type char_type; -+ typedef char_type* first_argument_type; -+ typedef char_type* second_argument_type; -+ typedef char_type* result_type; -+ -+ char_type _M_val; -+ -+ _Scan_for_char_val(char_type __val) : _M_val(__val) {} -+ -+ const char_type* -+ operator()(const char_type* __first, const char_type* __last) const { -+ return find_if(__first, __last, _Eq_char_bound<_Traits>(_M_val)); -+ } -+}; -+ -+template -+struct _Scan_for_int_val -+{ -+ typedef typename _Traits::char_type char_type; -+ typedef typename _Traits::int_type int_type; -+ typedef char_type* first_argument_type; -+ typedef char_type* second_argument_type; -+ typedef char_type* result_type; -+ -+ int_type _M_val; -+ -+ _Scan_for_int_val(int_type __val) : _M_val(__val) {} -+ -+ const char_type* -+ operator()(const char_type* __first, const char_type* __last) const { -+ return find_if(__first, __last, -+ _Eq_int_bound<_Traits>(_M_val)); -+ } -+}; -+ -+// Helper function: try to push back a character to a streambuf, -+// return true if the pushback succeeded. Does not throw. -+ -+template -+bool _STLP_CALL -+__pushback(basic_streambuf<_CharT, _Traits>* __buf, _CharT __c) -+{ -+ bool ret; -+ _STLP_TRY { -+ const typename _Traits::int_type __eof = _Traits::eof(); -+ ret = !_Traits::eq_int_type(__buf->sputbackc(__c), __eof); -+ } -+ _STLP_CATCH_ALL { -+ ret = false; -+ } -+ return ret; -+} -+ -+template -+basic_istream<_CharT, _Traits>& _STLP_CALL -+ws(basic_istream<_CharT, _Traits>& __is) -+{ -+ typedef typename basic_istream<_CharT, _Traits>::sentry _Sentry; -+ _Sentry __sentry(__is, _No_Skip_WS()); // Don't skip whitespace. -+ if (__sentry) -+ __is._M_skip_whitespace(false); -+ return __is; -+} -+ -+// Helper functions for istream<>::sentry constructor. -+template -+bool -+_M_init_skip(basic_istream<_CharT, _Traits>& __is) { -+ if (__is.good()) { -+ if (__is.tie()) -+ __is.tie()->flush(); -+ -+ __is._M_skip_whitespace(true); -+ } -+ -+ if (!__is.good()) { -+ __is.setstate(ios_base::failbit); -+ return false; -+ } else -+ return true; -+} -+ -+template -+bool -+_M_init_noskip(basic_istream<_CharT, _Traits>& __is){ -+ if (__is.good()) { -+ if (__is.tie()) -+ __is.tie()->flush(); -+ -+ if (!__is.rdbuf()) -+ __is.setstate(ios_base::badbit); -+ } -+ else -+ __is.setstate(ios_base::failbit); -+ return __is.good(); -+} - - //---------------------------------------------------------------------- - // Definitions of basic_istream<>'s noninline member functions. - - // Helper function for formatted input of numbers. - template --basic_istream<_CharT, _Traits>& __STL_CALL -+ios_base::iostate _STLP_CALL - _M_get_num(basic_istream<_CharT, _Traits>& __that, _Number& __val) - { - typedef typename basic_istream<_CharT, _Traits>::sentry _Sentry; -+ ios_base::iostate __err = 0; - _Sentry __sentry( __that ); // Skip whitespace. - if (__sentry) { - typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> > _Num_get; -- ios_base::iostate __err = 0; -- __STL_TRY { -- ((const _Num_get&)use_facet<_Num_get>(__that.getloc())).get(istreambuf_iterator<_CharT, _Traits>(__that), -+ _STLP_TRY { -+ ((const _Num_get&)use_facet<_Num_get>(__that.getloc())).get(istreambuf_iterator<_CharT, _Traits>(__that.rdbuf()), - 0, __that, __err, __val); - } -- __STL_CATCH_ALL { -+ _STLP_CATCH_ALL { - __that._M_handle_exception(ios_base::badbit); - } -- __that.setstate(__err); -+ if (__err) __that.setstate(__err); - } -- return __that; -+ return __err; - } - - -@@ -73,10 +262,10 @@ - sentry __sentry(*this, _No_Skip_WS()); - - if (__sentry) { -- __STL_TRY { -+ _STLP_TRY { - __tmp = this->rdbuf()->sgetc(); - } -- __STL_CATCH_ALL { -+ _STLP_CATCH_ALL { - this->_M_handle_exception(ios_base::badbit); - } - if (this->_S_eof(__tmp)) -@@ -96,10 +285,10 @@ - this->_M_gcount = 0; - - if (__sentry) { -- __STL_TRY { -+ _STLP_TRY { - __tmp = this->rdbuf()->sbumpc(); - } -- __STL_CATCH_ALL { -+ _STLP_CATCH_ALL { - this->_M_handle_exception(ios_base::badbit); - } - -@@ -122,10 +311,10 @@ - - if (__sentry) { - typename _Traits::int_type __tmp = _Traits::eof(); -- __STL_TRY { -+ _STLP_TRY { - __tmp = this->rdbuf()->sbumpc(); - } -- __STL_CATCH_ALL { -+ _STLP_CATCH_ALL { - this->_M_handle_exception(ios_base::badbit); - } - -@@ -155,10 +344,10 @@ - - if (__sentry) { - int_type __c; -- __STL_TRY { -+ _STLP_TRY { - __c = this->rdbuf()->sbumpc(); - } -- __STL_CATCH_ALL { -+ _STLP_CATCH_ALL { - this->_M_handle_exception(ios_base::badbit); - return *this; - } -@@ -185,10 +374,10 @@ - basic_streambuf<_CharT, _Traits>* __buf = this->rdbuf(); - // if (!__buf || this->_S_eof(__buf->sputbackc(__c))) - if (__buf) { -- __STL_TRY { -+ _STLP_TRY { - __tmp = __buf->sputbackc(__c); - } -- __STL_CATCH_ALL { -+ _STLP_CATCH_ALL { - this->_M_handle_exception(ios_base::badbit); - } - } -@@ -211,13 +400,13 @@ - basic_streambuf<_CharT, _Traits>* __buf = this->rdbuf(); - // if (!__buf || _Traits::eq_int_type(__buf->sungetc(), _Traits::eof())) - if (__buf) { -- __STL_TRY { -+ _STLP_TRY { - _CharT __tmp; - __tmp = __buf->sungetc(); - if (this->_S_eof(__tmp)) - this->setstate(ios_base::badbit); - } -- __STL_CATCH_ALL { -+ _STLP_CATCH_ALL { - this->_M_handle_exception(ios_base::badbit); - } - } else -@@ -251,11 +440,10 @@ - template - __BIS_pos_type__ - basic_istream<_CharT, _Traits>::tellg() { -- sentry __sentry(*this, _No_Skip_WS()); -- -+ // sentry __sentry(*this, _No_Skip_WS()); - basic_streambuf<_CharT, _Traits>* __buf = this->rdbuf(); - return (__buf && !this->fail()) ? __buf->pubseekoff(0, ios_base::cur, ios_base::in) -- : pos_type(-1); -+ : pos_type(-1); - } - - template -@@ -291,12 +479,12 @@ - sentry __sentry(*this); // Skip whitespace. - - if (__sentry) { -- typename _Traits::int_type __tmp; -+ typename _Traits::int_type __tmp = _Traits::eof(); - -- __STL_TRY { -+ _STLP_TRY { - __tmp = this->rdbuf()->sbumpc(); - } -- __STL_CATCH_ALL { -+ _STLP_CATCH_ALL { - this->_M_handle_exception(ios_base::badbit); - return; - } -@@ -330,31 +518,20 @@ - // delimiter if it is extracted. Note that the number of characaters - // extracted isn't necessarily the same as the number stored. - --#if !(defined(__MRC__)||defined(__SC__)) //*TY 02/25/2000 - mpw compilers have difficulty matching complex template arguments - template < class _CharT, class _Traits, class _Is_Delim> --streamsize __STL_CALL -+streamsize _STLP_CALL - _M_read_unbuffered(basic_istream<_CharT, _Traits>* __that, basic_streambuf<_CharT, _Traits>* __buf, - streamsize _Num, _CharT* __s, - _Is_Delim __is_delim, - bool __extract_delim, bool __append_null, - bool __is_getline) --#else //*TY 02/25/2000 - added workaround for MPW compilers --template < class _CharT, class _Traits, class _Is_Delim, class _Buf> //*TY 02/25/2000 - added _Buf --streamsize __STL_CALL --_M_read_unbuffered(basic_istream<_CharT, _Traits>* __that, -- _Buf* __buf, //*TY 02/25/2000 - simplified parameter type -- streamsize _Num, _CharT* __s, -- _Is_Delim __is_delim, -- bool __extract_delim, bool __append_null, -- bool __is_getline) --#endif //*TY 02/25/2000 - - { - streamsize __n = 0; - ios_base::iostate __status = 0; - - typedef typename basic_istream<_CharT, _Traits>::int_type int_type; - // The operations that can potentially throw are sbumpc, snextc, and sgetc. -- __STL_TRY { -+ _STLP_TRY { - int_type __c = __buf->sgetc(); - while (true) { - if (__that->_S_eof(__c)) { -@@ -382,14 +559,14 @@ - __c = __buf->snextc(); - } - } -- __STL_CATCH_ALL { -+ _STLP_CATCH_ALL { - __that->_M_handle_exception(ios_base::badbit); -- *__s = __STL_DEFAULT_CONSTRUCTED(_CharT); -+ *__s = _STLP_DEFAULT_CONSTRUCTED(_CharT); - return __n; - } - - if (__append_null) -- *__s = __STL_DEFAULT_CONSTRUCTED(_CharT); -+ *__s = _STLP_DEFAULT_CONSTRUCTED(_CharT); - if (__status) - __that->setstate(__status); // This might throw. - return __n; -@@ -398,42 +575,31 @@ - // Much like _M_read_unbuffered, but with one additional function object: - // __scan_delim(first, last) returns the first pointer p in [first, last) - // such that __is_delim(p) is true. --#if !(defined(__MRC__)||defined(__SC__)) //*TY 02/25/2000 - mpw compilers have difficulty matching complex template arguments -+ - template < class _CharT, class _Traits, class _Is_Delim, class _Scan_Delim> --streamsize __STL_CALL -+streamsize _STLP_CALL - _M_read_buffered(basic_istream<_CharT, _Traits>* __that, basic_streambuf<_CharT, _Traits>* __buf, - streamsize _Num, _CharT* __s, - _Is_Delim __is_delim, _Scan_Delim __scan_delim, - bool __extract_delim, bool __append_null, - bool __is_getline) --#else //*TY 02/25/2000 - added workaround for MPW compilers --template < class _CharT, class _Traits, class _Is_Delim, class _Scan_Delim, class _Buf> //*TY 02/25/2000 - added _Buf --streamsize __STL_CALL --_M_read_buffered(basic_istream<_CharT, _Traits>* __that, -- _Buf* __buf, //*TY 02/25/2000 - simplified parameter type -- streamsize _Num, _CharT* __s, -- _Is_Delim __is_delim, _Scan_Delim __scan_delim, -- bool __extract_delim, bool __append_null, -- bool __is_getline) --#endif //*TY 02/25/2000 - - { - streamsize __n = 0; - ios_base::iostate __status = 0; - bool __done = false; - -- -- __STL_TRY { -+ _STLP_TRY { - while (__buf->_M_egptr() != __buf->_M_gptr() && !__done) { - const _CharT* __first = __buf->_M_gptr(); - const _CharT* __last = __buf->_M_egptr(); - ptrdiff_t __request = _Num - __n; - - const _CharT* __p = __scan_delim(__first, __last); -- ptrdiff_t __chunk = min(ptrdiff_t(__p - __first), __request); -+ ptrdiff_t __chunk = (min) (ptrdiff_t(__p - __first), __request); - _Traits::copy(__s, __first, __chunk); - __s += __chunk; - __n += __chunk; -- __buf->_M_gbump(__chunk); -+ __buf->_M_gbump((int)__chunk); - - // We terminated by finding delim. - if (__p != __last && __p - __first <= __request) { -@@ -446,6 +612,7 @@ - - // We terminated by reading all the characters we were asked for. - else if(__n == _Num) { -+ - // Find out if we have reached eof. This matters for getline. - if (__is_getline) { - if (__chunk == __last - __first) { -@@ -461,21 +628,21 @@ - // The buffer contained fewer than _Num - __n characters. Either we're - // at eof, or we should refill the buffer and try again. - else { -- if (__that->_S_eof(__buf->sgetc())) { -+ if (__that->_S_eof(__buf->sgetc())) { - __status |= ios_base::eofbit; - __done = true; - } - } - } // Close the while loop. - } -- __STL_CATCH_ALL { -+ _STLP_CATCH_ALL { - __that->_M_handle_exception(ios_base::badbit); - __done = true; - } - - if (__done) { - if (__append_null) -- *__s = __STL_DEFAULT_CONSTRUCTED(_CharT); -+ *__s = _STLP_DEFAULT_CONSTRUCTED(_CharT); - if (__status != 0) - __that->setstate(__status); // This might throw. - return __n; -@@ -507,13 +674,13 @@ - if (__buf->egptr() != __buf->gptr()) - this->_M_gcount = - _M_read_buffered(this, __buf, __n - 1, __s, -- bind2nd(_Eq_traits<_Traits>(), __delim), -+ _Eq_char_bound<_Traits>(__delim), - _Scan_for_char_val<_Traits>(__delim), - false, true, false); - else - this->_M_gcount = - _M_read_unbuffered(this, __buf, __n - 1, __s, -- bind2nd(_Eq_traits<_Traits>(), __delim), -+ _Eq_char_bound<_Traits>(__delim), - false, true, false); - } - } -@@ -538,11 +705,11 @@ - basic_streambuf<_CharT, _Traits>* __buf = this->rdbuf(); - this->_M_gcount = __buf->egptr() != __buf->gptr() - ? _M_read_buffered(this, __buf, __n - 1, __s, -- bind2nd(_Eq_traits<_Traits>(), __delim), -+ _Eq_char_bound<_Traits>(__delim), - _Scan_for_char_val<_Traits>(__delim), - true, true, true) - : _M_read_unbuffered(this, __buf, __n - 1, __s, -- bind2nd(_Eq_traits<_Traits>(), __delim), -+ _Eq_char_bound<_Traits>(__delim), - true, true, true); - } - } -@@ -608,13 +775,13 @@ - - if (__buf->gptr() != __buf->egptr()) - _M_gcount -- = _M_read_buffered(this, __buf, min(__avail, __nmax), __s, -+ = _M_read_buffered(this, __buf, (min) (__avail, __nmax), __s, - _Constant_unary_fun(false), - _Project2nd(), - false, false, false); - else - _M_gcount -- = _M_read_unbuffered(this, __buf, min(__avail, __nmax), __s, -+ = _M_read_unbuffered(this, __buf, (min) (__avail, __nmax), __s, - _Constant_unary_fun(false), - false, false, false); - } -@@ -642,16 +809,16 @@ - basic_streambuf<_CharT, _Traits>* __buf = this->rdbuf(); - streamsize __nmax = this->width() > 0 - ? this->width() - 1 -- : numeric_limits::max() / sizeof(_CharT) - 1; -- // boris : here, extract_delim set to true to pass Dietmar's test -+ : (numeric_limits::max)() / sizeof(_CharT) - 1; -+ - streamsize __n = __buf->gptr() != __buf->egptr() - ? _M_read_buffered(this, __buf, __nmax, __s, -- _Is_wspace_null<_Traits>(this->_M_ctype_facet()), -- _Scan_wspace_null<_Traits>(this->_M_ctype_facet()), -- /* false*/ true, true, false) -+ _Is_wspace_null<_Traits>((const ctype<_CharT>*)this->_M_ctype_facet()), -+ _Scan_wspace_null<_Traits>((const ctype<_CharT>*)this->_M_ctype_facet()), -+ false, true, false) - : _M_read_unbuffered(this, __buf, __nmax, __s, -- _Is_wspace_null<_Traits>(this->_M_ctype_facet()), -- /* false */ true, true, false); -+ _Is_wspace_null<_Traits>((const ctype<_CharT>*)this->_M_ctype_facet()), -+ false, true, false); - if (__n == 0) - this->setstate(ios_base::failbit); - } -@@ -662,27 +829,19 @@ - // when we reach EOF, or when the function object __is_delim returns - // true. In the last case, it extracts the character for which - // __is_delim is true, if and only if __extract_delim is true. --#if !(defined(__MRC__)||defined(__SC__)) //*TY 02/25/2000 - mpw compilers have difficulty matching complex template arguments -+ - template < class _CharT, class _Traits, class _Is_Delim> --void __STL_CALL -+void _STLP_CALL - _M_ignore_unbuffered(basic_istream<_CharT, _Traits>* __that, - basic_streambuf<_CharT, _Traits>* __buf, - _Is_Delim __is_delim, - bool __extract_delim, bool __set_failbit) --#else //*TY 02/25/2000 - added workaround for MPW compilers --template < class _CharT, class _Traits, class _Is_Delim, class _Buf> //*TY 02/25/2000 - added _Buf --void __STL_CALL --_M_ignore_unbuffered(basic_istream<_CharT, _Traits>* __that, -- _Buf* __buf, //*TY 02/25/2000 - simplified parameter type -- _Is_Delim __is_delim, -- bool __extract_delim, bool __set_failbit) --#endif //*TY 02/25/2000 - - { - bool __done = false; - ios_base::iostate __status = 0; - typedef typename basic_istream<_CharT, _Traits>::int_type int_type; - -- __STL_TRY { -+ _STLP_TRY { - while (!__done) { - int_type __c = __buf->sbumpc(); - -@@ -700,7 +859,7 @@ - } - } - } -- __STL_CATCH_ALL { -+ _STLP_CATCH_ALL { - __that->_M_handle_exception(ios_base::badbit); - } - -@@ -711,29 +870,21 @@ - // _M_ignore_unbuffered, but with one additional function object: - // __scan_delim(first, last) returns the first pointer p in [first, - // last) such that __is_delim(p) is true. --#if !(defined(__MRC__)||defined(__SC__)) //*TY 02/25/2000 - mpw compilers have difficulty matching complex template arguments -+ - template < class _CharT, class _Traits, class _Is_Delim, class _Scan_Delim> --void __STL_CALL -+void _STLP_CALL - _M_ignore_buffered(basic_istream<_CharT, _Traits>* __that, - basic_streambuf<_CharT, _Traits>* __buf, - _Is_Delim __is_delim, _Scan_Delim __scan_delim, - bool __extract_delim, bool __set_failbit) --#else //*TY 02/25/2000 - added workaround for MPW compilers --template < class _CharT, class _Traits, class _Is_Delim, class _Scan_Delim, class _Buf> //*TY 02/25/2000 - added _Buf --void __STL_CALL --_M_ignore_buffered(basic_istream<_CharT, _Traits>* __that, -- _Buf* __buf, //*TY 02/25/2000 - simplified parameter type -- _Is_Delim __is_delim, _Scan_Delim __scan_delim, -- bool __extract_delim, bool __set_failbit) --#endif //*TY 02/25/2000 - - { - bool __at_eof = false; - bool __found_delim = false; - -- __STL_TRY { -+ _STLP_TRY { - while (__buf->_M_egptr() != __buf->_M_gptr() && !__at_eof && !__found_delim) { - const _CharT* __p = __scan_delim(__buf->_M_gptr(), __buf->_M_egptr()); -- __buf->_M_gbump(__p - __buf->_M_gptr()); -+ __buf->_M_gbump((int)(__p - __buf->_M_gptr())); - - if (__p != __buf->_M_egptr()) { // We found delim, so we're done. - if (__extract_delim) -@@ -745,7 +896,7 @@ - __at_eof = __that->_S_eof(__buf->sgetc()); - } // Close the while loop. - } -- __STL_CATCH_ALL { -+ _STLP_CATCH_ALL { - __that->_M_handle_exception(ios_base::badbit); - return; - } -@@ -775,29 +926,20 @@ - // We parameterize _M_ignore_buffered so that we can use it for both - // bounded and unbounded input; for the former the function object should - // be minus<>, and for the latter it should return a constant maximum value. --#if !(defined(__MRC__)||defined(__SC__)) //*TY 02/25/2000 - mpw compilers have difficulty matching complex template arguments -+ - template < class _CharT, class _Traits, class _Max_Chars, class _Is_Delim> --streamsize __STL_CALL -+streamsize _STLP_CALL - _M_ignore_unbuffered(basic_istream<_CharT, _Traits>* __that, - basic_streambuf<_CharT, _Traits>* __buf, - streamsize _Num, _Max_Chars __max_chars, - _Is_Delim __is_delim, - bool __extract_delim, bool __set_failbit) --#else //*TY 02/25/2000 - added workaround for MPW compilers --template < class _CharT, class _Traits, class _Max_Chars, class _Is_Delim, class _Buf> //*TY 02/25/2000 - added _Buf --streamsize __STL_CALL --_M_ignore_unbuffered(basic_istream<_CharT, _Traits>* __that, -- _Buf* __buf, //*TY 02/25/2000 - simplified parameter type -- streamsize _Num, _Max_Chars __max_chars, -- _Is_Delim __is_delim, -- bool __extract_delim, bool __set_failbit) --#endif //*TY 02/25/2000 - - { - streamsize __n = 0; - ios_base::iostate __status = 0; - typedef typename basic_istream<_CharT, _Traits>::int_type int_type; - -- __STL_TRY { -+ _STLP_TRY { - while (__max_chars(_Num, __n) > 0) { - int_type __c = __buf->sbumpc(); - -@@ -819,7 +961,7 @@ - ++__n; - } - } -- __STL_CATCH_ALL { -+ _STLP_CATCH_ALL { - __that->_M_handle_exception(ios_base::badbit); - } - -@@ -828,31 +970,20 @@ - return __n; - } - --#if !(defined(__MRC__)||defined(__SC__)) //*TY 02/25/2000 - mpw compilers have difficulty matching complex template arguments - template < class _CharT, class _Traits, class _Max_Chars, class _Is_Delim, class _Scan_Delim> --streamsize __STL_CALL -+streamsize _STLP_CALL - _M_ignore_buffered(basic_istream<_CharT, _Traits>* __that, - basic_streambuf<_CharT, _Traits>* __buf, - streamsize _Num, - _Max_Chars __max_chars, - _Is_Delim __is_delim, _Scan_Delim __scan_delim, - bool __extract_delim, bool __set_failbit) --#else //*TY 02/25/2000 - added workaround for MPW compilers --template < class _CharT, class _Traits, class _Max_Chars, class _Is_Delim, class _Scan_Delim, class _Buf> //*TY 02/25/2000 - added _Buf --streamsize __STL_CALL --_M_ignore_buffered(basic_istream<_CharT, _Traits>* __that, -- _Buf* __buf, //*TY 02/25/2000 - simplified parameter type -- streamsize _Num, -- _Max_Chars __max_chars, -- _Is_Delim __is_delim, _Scan_Delim __scan_delim, -- bool __extract_delim, bool __set_failbit) --#endif //*TY 02/25/2000 - - { - streamsize __n = 0; - bool __at_eof = false; - bool __done = false; - -- __STL_TRY { -+ _STLP_TRY { - while (__buf->_M_egptr() != __buf->_M_gptr() && !__done) { - ptrdiff_t __avail = __buf->_M_egptr() - __buf->_M_gptr(); - streamsize __m = __max_chars(_Num, __n); -@@ -862,7 +993,7 @@ - const _CharT* __p = __scan_delim(__buf->_M_gptr(), __last); - ptrdiff_t __chunk = __p - __buf->_M_gptr(); - __n += __chunk; -- __buf->_M_gbump(__chunk); -+ __buf->_M_gbump((int)__chunk); - - if (__extract_delim && __p != __last) { - __n += 1; -@@ -876,7 +1007,7 @@ - const _CharT* __p = __scan_delim(__buf->_M_gptr(), __buf->_M_egptr()); - ptrdiff_t __chunk = __p - __buf->_M_gptr(); - __n += __chunk; -- __buf->_M_gbump(__chunk); -+ __buf->_M_gbump((int)__chunk); - - if (__p != __buf->_M_egptr()) { // We found delim. - if (__extract_delim) { -@@ -895,7 +1026,7 @@ - } - } // Close the while loop. - } -- __STL_CATCH_ALL { -+ _STLP_CATCH_ALL { - __that->_M_handle_exception(ios_base::badbit); - return __n; - } -@@ -929,9 +1060,9 @@ - typedef _Constant_unary_fun _Const_bool; - typedef _Constant_binary_fun - _Const_streamsize; -- const streamsize __maxss = numeric_limits::max(); -+ const streamsize __maxss = (numeric_limits::max)(); - -- if (__n == numeric_limits::max()) { -+ if (__n == (numeric_limits::max)()) { - if (__buf->gptr() != __buf->egptr()) - _M_gcount - = _M_ignore_buffered(this, __buf, -@@ -973,35 +1104,32 @@ - typedef _Constant_unary_fun _Const_bool; - typedef _Constant_binary_fun - _Const_streamsize; -- const streamsize __maxss = numeric_limits::max(); -+ const streamsize __maxss = (numeric_limits::max)(); - -- if (__n == numeric_limits::max()) { -+ if (__n == (numeric_limits::max)()) { - if (__buf->gptr() != __buf->egptr()) - _M_gcount = _M_ignore_buffered(this, __buf, - __maxss, _Const_streamsize(__maxss), -- bind2nd(_Eq_int_traits<_Traits>(), -- __delim), -+ _Eq_int_bound<_Traits>(__delim), - _Scan_for_int_val<_Traits>(__delim), - true, false); - else - _M_gcount = _M_ignore_unbuffered(this, __buf, - __maxss, _Const_streamsize(__maxss), -- bind2nd(_Eq_int_traits<_Traits>(), -- __delim), -+ _Eq_int_bound<_Traits>(__delim), - true, false); - } - else { - if (__buf->gptr() != __buf->egptr()) - _M_gcount = _M_ignore_buffered(this, __buf, - __n, minus(), -- bind2nd(_Eq_int_traits<_Traits>(), -+ _Eq_int_bound<_Traits>( - __delim), - _Scan_for_int_val<_Traits>(__delim), - true, false); - else - _M_gcount = _M_ignore_unbuffered(this, __buf, __n, minus(), -- bind2nd(_Eq_int_traits<_Traits>(), -- __delim), -+ _Eq_int_bound<_Traits>(__delim), - true, false); - } - } -@@ -1019,12 +1147,12 @@ - this->setstate(ios_base::badbit); - else if (__buf->gptr() != __buf->egptr()) - _M_ignore_buffered(this, __buf, -- not1(_Is_wspace<_Traits>(this->_M_ctype_facet())), -- _Scan_for_not_wspace<_Traits>(this->_M_ctype_facet()), -+ _Is_not_wspace<_Traits>((const ctype<_CharT>*)this->_M_ctype_facet()), -+ _Scan_for_not_wspace<_Traits>((const ctype<_CharT>*)this->_M_ctype_facet()), - false, __set_failbit); - else - _M_ignore_unbuffered(this, __buf, -- not1(_Is_wspace<_Traits>(this->_M_ctype_facet())), -+ _Is_not_wspace<_Traits>((const ctype<_CharT>*)this->_M_ctype_facet()), - false, __set_failbit); - } - -@@ -1036,28 +1164,19 @@ - // We stop when we get an exception, when we fail to insert into the - // output streambuf, or when __is_delim is true. - --#if !(defined(__MRC__)||defined(__SC__)) //*TY 02/25/2000 - mpw compilers have difficulty matching complex template arguments - template < class _CharT, class _Traits, class _Is_Delim> --streamsize __STL_CALL -+streamsize _STLP_CALL - _M_copy_unbuffered( basic_istream<_CharT, _Traits>* __that, basic_streambuf<_CharT, _Traits>* __src, - basic_streambuf<_CharT, _Traits>* __dest, - _Is_Delim __is_delim, - bool __extract_delim, bool __rethrow) --#else //*TY 02/25/2000 - added workaround for MPW compilers --template < class _CharT, class _Traits, class _Is_Delim, class _Buf> //*TY 02/25/2000 - added _Buf --streamsize __STL_CALL --_M_copy_unbuffered( basic_istream<_CharT, _Traits>* __that, -- _Buf* __src, _Buf* __dest, //*TY 02/25/2000 - simplified parameter type -- _Is_Delim __is_delim, -- bool __extract_delim, bool __rethrow) --#endif //*TY 02/25/2000 - - { - streamsize __extracted = 0; - ios_base::iostate __status = 0; - typedef typename basic_istream<_CharT, _Traits>::int_type int_type; - int_type __c; - -- __STL_TRY { -+ _STLP_TRY { - - while (true) { - -@@ -1080,13 +1199,13 @@ - - // Try to put the character in the output streambuf. - bool __failed = false; -- __STL_TRY { -+ _STLP_TRY { - if (!__that->_S_eof(__dest->sputc(__c))) - ++__extracted; - else - __failed = true; - } -- __STL_CATCH_ALL { -+ _STLP_CATCH_ALL { - __failed = true; - } - -@@ -1105,7 +1224,7 @@ - } - // fbp : this try/catch moved here in reasonable assumption - // __is_delim never throw (__pushback is guaranteed not to) -- __STL_CATCH_ALL { -+ _STLP_CATCH_ALL { - // See 27.6.1.2.3, paragraph 13. - if (__rethrow && __extracted == 0) - __that->_M_handle_exception(ios_base::failbit); -@@ -1119,21 +1238,12 @@ - // of the error conditions we checked in _M_copy_unbuffered, plus one more: - // the streambuf might decide to switch from a buffered to an unbuffered mode. - --#if !(defined(__MRC__)||defined(__SC__)) //*TY 02/25/2000 - mpw compilers have difficulty matching complex template arguments - template < class _CharT, class _Traits, class _Is_Delim, class _Scan_Delim> --streamsize __STL_CALL -+streamsize _STLP_CALL - _M_copy_buffered(basic_istream<_CharT, _Traits>* __that, basic_streambuf<_CharT, _Traits>* __src, - basic_streambuf<_CharT, _Traits>* __dest, - _Scan_Delim __scan_delim, _Is_Delim __is_delim, - bool __extract_delim, bool __rethrow) --#else --template < class _CharT, class _Traits, class _Is_Delim, class _Scan_Delim, class _Buf> --streamsize __STL_CALL --_M_copy_buffered(basic_istream<_CharT, _Traits>* __that, -- _Buf* __src, _Buf* __dest, //*TY 02/25/2000 - simplified parameter type -- _Scan_Delim __scan_delim, _Is_Delim __is_delim, -- bool __extract_delim, bool __rethrow) --#endif //*TY 02/25/2000 - - { - streamsize __extracted = 0; - ios_base::iostate __status = 0; -@@ -1144,7 +1254,7 @@ - // fbp : introduced to move catch/try blocks out of the loop - bool __do_handle_exceptions; - -- __STL_TRY { -+ _STLP_TRY { - while (true) { - __do_handle_exceptions = false ; - const _CharT* __last = __scan_delim(__first, __src->_M_egptr()); -@@ -1153,7 +1263,7 @@ - streamsize __n = __dest->sputn(__first, __extract_delim && __last != __src->_M_egptr() - ? (__last - __first) + 1 - : (__last - __first)); -- __src->_M_gbump(__n); -+ __src->_M_gbump((int)__n); - __extracted += __n; - - // from this on, catch() will call _M_handle_exceptions() -@@ -1181,7 +1291,7 @@ - } /* while */ - } - -- __STL_CATCH_ALL { -+ _STLP_CATCH_ALL { - // See 27.6.1.2.3, paragraph 13. - if (__rethrow && __do_handle_exceptions && __extracted == 0) - __that->_M_handle_exception(ios_base::failbit); -@@ -1209,10 +1319,10 @@ - this->_M_gcount = __src->egptr() != __src->gptr() - ? _M_copy_buffered(this, __src, &__dest, - _Scan_for_char_val<_Traits>(__delim), -- bind2nd(_Eq_traits<_Traits>(), __delim), -+ _Eq_char_bound<_Traits>(__delim), - false, false) - : _M_copy_unbuffered(this, __src, &__dest, -- bind2nd(_Eq_traits<_Traits>(), __delim), -+ _Eq_char_bound<_Traits>(__delim), - false, false); - } - -@@ -1268,10 +1378,12 @@ - basic_iostream<_CharT, _Traits>::~basic_iostream() - {} - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - - # undef __BIS_int_type__ - # undef __BIS_pos_type__ - # undef __BIS_off_type__ - --#endif /* __STL_ISTREAM_C */ -+# endif /* defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) */ -+ -+#endif /* _STLP_ISTREAM_C */ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_istream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_istream.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_istream.h Sat Feb 24 10:44:54 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_istream.h Sun Aug 11 18:59:24 2002 -@@ -15,31 +15,46 @@ - * modified is included with the above copyright notice. - * - */ --#ifndef __SGI_STL_ISTREAM_H --#define __SGI_STL_ISTREAM_H -+#ifndef _STLP_INTERNAL_ISTREAM_H -+#define _STLP_INTERNAL_ISTREAM_H - --#include -+// this block is included by _ostream.h, we include it here to lower #include level -+# if defined (_STLP_HAS_WCHAR_T) && !defined (_STLP_CWCHAR) -+# include -+# endif -+ -+# ifndef _STLP_INTERNAL_IOS_H -+# include // For basic_ios<>. Includes . -+# endif -+ -+#ifndef _STLP_INTERNAL_OSTREAM_H -+# include // Needed as a base class of basic_iostream. -+#endif - --#include // Needed as a base class of basic_iostream. -- // includes , which in turn -- // includes . -+#ifndef _STLP_INTERNAL_ISTREAMBUF_ITERATOR_H -+# include -+#endif - - #include // Helper functions that allow char traits - // to be used as function objects. -- --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - template --basic_istream<_CharT, _Traits>& __STL_CALL -+ios_base::iostate _STLP_CALL - _M_get_num(basic_istream<_CharT, _Traits>& __that, _Number& __val); - --#if defined (__STL_USE_TEMPLATE_EXPORT) || defined(__MRC__) || defined(__SC__) -+#if defined (_STLP_USE_TEMPLATE_EXPORT) - template - class _Isentry; - #endif - - struct _No_Skip_WS {}; // Dummy class used by sentry. - -+template -+bool _M_init_skip(basic_istream<_CharT, _Traits>& __is); -+template -+bool _M_init_noskip(basic_istream<_CharT, _Traits>& __is); -+ - //---------------------------------------------------------------------- - // Class basic_istream, a class that performs formatted input through - // a stream buffer. -@@ -60,9 +75,9 @@ - typedef basic_ios<_CharT, _Traits> _Basic_ios; - typedef basic_istream<_CharT, _Traits> _Self; - -- typedef basic_ios<_CharT, _Traits>& (__STL_CALL *__ios_fn)(basic_ios<_CharT, _Traits>&); -- typedef ios_base& (__STL_CALL *__ios_base_fn)(ios_base&); -- typedef _Self& (__STL_CALL *__istream_fn)(_Self&); -+ typedef basic_ios<_CharT, _Traits>& (_STLP_CALL *__ios_fn)(basic_ios<_CharT, _Traits>&); -+ typedef ios_base& (_STLP_CALL *__ios_base_fn)(ios_base&); -+ typedef _Self& (_STLP_CALL *__istream_fn)(_Self&); - - public: // Constructor and destructor. - explicit basic_istream(basic_streambuf<_CharT, _Traits>* __buf) : -@@ -80,23 +95,47 @@ - _Self& operator>> (__ios_base_fn __f) { __f(*this); return *this; } - - public: // Formatted input of numbers. -- _Self& operator>> (short& __val) { return _M_get_num(*this, __val); } -- _Self& operator>> (unsigned short& __val) { return _M_get_num(*this, __val); } -- _Self& operator>> (int& __val) { return _M_get_num(*this, __val); } -- _Self& operator>> (unsigned int& __val) { return _M_get_num(*this, __val); } -- _Self& operator>> (long& __val) { return _M_get_num(*this, __val); } -- _Self& operator>> (unsigned long& __val) { return _M_get_num(*this, __val); } --#ifdef __STL_LONG_LONG -- _Self& operator>> (long long& __val) { return _M_get_num(*this, __val); } -- _Self& operator>> (unsigned long long& __val) { return _M_get_num(*this, __val); } -+ _Self& operator>> (short& __val) { -+ long __lval; -+ unsigned short __uval; -+ _M_get_num(*this, __lval); -+ __val = __STATIC_CAST(short, __lval); -+ __uval = __lval; -+ // check if we lose digits -+ // if ((__val != __lval) && ((unsigned short)__val != __lval)) -+ if ((__val != __lval) && ((long)__uval != __lval)) -+ this->setstate(ios_base::failbit); -+ return *this; -+ } -+ _Self& operator>> (int& __val) { -+ long __lval; -+ unsigned int __uval; -+ _M_get_num(*this, __lval); -+ __val = __lval; -+ __uval = __lval; -+ // check if we lose digits -+ // if ((__val != __lval) && ((unsigned int)__val != __lval)) -+ if ((__val != __lval) && ((long)__uval != __lval)) -+ this->setstate(ios_base::failbit); -+ return *this; -+ } -+ _Self& operator>> (unsigned short& __val) { _M_get_num(*this, __val); return *this; } -+ _Self& operator>> (unsigned int& __val) { _M_get_num(*this, __val); return *this; } -+ _Self& operator>> (long& __val) { _M_get_num(*this, __val); return *this; } -+ _Self& operator>> (unsigned long& __val) { _M_get_num(*this, __val); return *this; } -+#ifdef _STLP_LONG_LONG -+ _Self& operator>> (_STLP_LONG_LONG& __val) { _M_get_num(*this, __val); return *this; } -+ _Self& operator>> (unsigned _STLP_LONG_LONG& __val) { _M_get_num(*this, __val); return *this; } - #endif -- _Self& operator>> (float& __val) { return _M_get_num(*this, __val); } -- _Self& operator>> (double& __val) { return _M_get_num(*this, __val); } -- _Self& operator>> (long double& __val) { return _M_get_num(*this, __val); } --# ifndef __STL_NO_BOOL -- _Self& operator>> (bool& __val) { return _M_get_num(*this, __val); } -+ _Self& operator>> (float& __val) { _M_get_num(*this, __val); return *this; } -+ _Self& operator>> (double& __val) { _M_get_num(*this, __val); return *this; } -+# ifndef _STLP_NO_LONG_DOUBLE -+ _Self& operator>> (long double& __val) { _M_get_num(*this, __val); return *this; } - # endif -- _Self& operator>> (void*& __val) { return _M_get_num(*this, __val); } -+# ifndef _STLP_NO_BOOL -+ _Self& operator>> (bool& __val) { _M_get_num(*this, __val); return *this; } -+# endif -+ _Self& operator>> (void*& __val) { _M_get_num(*this, __val); return *this; } - - public: // Copying characters into a streambuf. - _Self& operator>>(basic_streambuf<_CharT, _Traits>*); -@@ -128,7 +167,7 @@ - public: // read(), readsome(), ignore() - _Self& ignore(); - _Self& ignore(streamsize __n); --#if (defined (__STL_MSVC) && __STL_MSVC < 1200) -+#if (defined (_STLP_MSVC) && _STLP_MSVC < 1200) - inline - #endif - _Self& ignore(streamsize __n, int_type __delim); -@@ -157,7 +196,7 @@ - - public: - --#if defined (__STL_USE_TEMPLATE_EXPORT) || defined(__MRC__) || defined(__SC__) -+#if defined (_STLP_USE_TEMPLATE_EXPORT) - // If we are using DLL specs, we have not to use inner classes - // end class declaration here - typedef _Isentry<_CharT, _Traits> sentry; -@@ -172,286 +211,103 @@ - #endif - - private: -- bool _M_ok; -- basic_streambuf<_CharT, _Traits>* _M_buf; -- -- // Helper functions for constructor. -- void _M_init_skip(basic_istream<_CharT, _Traits>& __is) { -- if (__is.good()) { -- if (__is.tie()) -- __is.tie()->flush(); -+ const bool _M_ok; -+ // basic_streambuf<_CharT, _Traits>* _M_buf; - -- __is._M_skip_whitespace(true); -- } -- -- if (!__is.good()) -- __is.setstate(ios_base::failbit); -- -- _M_ok = __is.good(); -- } -- void _M_init_noskip(basic_istream<_CharT, _Traits>& __is){ -- if (__is.good()) { -- if (__is.tie()) -- __is.tie()->flush(); -- -- if (!_M_buf) -- __is.setstate(ios_base::badbit); -- } -- else -- __is.setstate(ios_base::failbit); -- -- _M_ok = __is.good(); -- } -- - public: - typedef _Traits traits_type; - - explicit sentry(basic_istream<_CharT, _Traits>& __is, -- bool __noskipws = false) : _M_buf(__is.rdbuf()) { -- if (__noskipws || !(__is.flags() & ios_base::skipws)) -- _M_init_noskip(__is); -- else -- _M_init_skip(__is); -- } -+ bool __noskipws = false) : -+ _M_ok((__noskipws || !(__is.flags() & ios_base::skipws)) ? _M_init_noskip(__is) : _M_init_skip(__is) ) -+ /* , _M_buf(__is.rdbuf()) */ -+ {} - - // Calling this constructor is the same as calling the previous one with - // __noskipws = true, except that it doesn't require a runtime test. -- sentry(basic_istream<_CharT, _Traits>& __is, _No_Skip_WS) : _M_buf(__is.rdbuf()) { -- _M_init_noskip(__is); -- } -- -+ sentry(basic_istream<_CharT, _Traits>& __is, _No_Skip_WS) : /* _M_buf(__is.rdbuf()), */ -+ _M_ok(_M_init_noskip(__is)) {} - - ~sentry() {} - - operator bool() const { return _M_ok; } - - private: // Disable assignment and copy constructor. -- sentry(const _Self&) {} -+ sentry(const _Self&) : _M_ok(false) {} - void operator=(const _Self&) {} - }; - --# if defined (__STL_USE_TEMPLATE_EXPORT) || defined(__MRC__) || defined(__SC__) -+# if defined (_STLP_USE_TEMPLATE_EXPORT) - # undef sentry - # else - // close basic_istream class definition here - }; - # endif - --# if defined (__STL_USE_TEMPLATE_EXPORT) --__STL_EXPORT_TEMPLATE_CLASS _Isentry >; --__STL_EXPORT_TEMPLATE_CLASS basic_istream >; --# if ! defined (__STL_NO_WCHAR_T) --__STL_EXPORT_TEMPLATE_CLASS _Isentry >; --__STL_EXPORT_TEMPLATE_CLASS basic_istream >; -+# if defined (_STLP_USE_TEMPLATE_EXPORT) -+_STLP_EXPORT_TEMPLATE_CLASS _Isentry >; -+_STLP_EXPORT_TEMPLATE_CLASS basic_istream >; -+# if ! defined (_STLP_NO_WCHAR_T) -+_STLP_EXPORT_TEMPLATE_CLASS _Isentry >; -+_STLP_EXPORT_TEMPLATE_CLASS basic_istream >; - # endif --# endif /* __STL_USE_TEMPLATE_EXPORT */ -+# endif /* _STLP_USE_TEMPLATE_EXPORT */ - - // Non-member character and string extractor functions. - - template --inline basic_istream<_CharT, _Traits>& __STL_CALL -+inline basic_istream<_CharT, _Traits>& _STLP_CALL - operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c) { - __in._M_formatted_get(__c); - return __in; - } - - template --inline basic_istream& __STL_CALL -+inline basic_istream& _STLP_CALL - operator>>(basic_istream& __in, unsigned char& __c) { - __in._M_formatted_get(__REINTERPRET_CAST(char&,__c)); - return __in; - } - - template --inline basic_istream& __STL_CALL -+inline basic_istream& _STLP_CALL - operator>>(basic_istream& __in, signed char& __c) { - __in._M_formatted_get(__REINTERPRET_CAST(char&,__c)); - return __in; - } - - template --inline basic_istream<_CharT, _Traits>& __STL_CALL -+inline basic_istream<_CharT, _Traits>& _STLP_CALL - operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s) { - __in._M_formatted_get(__s); - return __in; - } - - template --inline basic_istream& __STL_CALL -+inline basic_istream& _STLP_CALL - operator>>(basic_istream& __in, unsigned char* __s) { - __in._M_formatted_get(__REINTERPRET_CAST(char*,__s)); - return __in; - } - - template --inline basic_istream& __STL_CALL -+inline basic_istream& _STLP_CALL - operator>>(basic_istream& __in, signed char* __s) { - __in._M_formatted_get(__REINTERPRET_CAST(char*,__s)); - return __in; - } - - //---------------------------------------------------------------------- --// Function object structs used by some member functions. -- --template --struct _Is_wspace { -- typedef typename _Traits::char_type argument_type; -- typedef bool result_type; -- -- const ctype* _M_ctype; -- -- _Is_wspace(const ctype* __c_type) : _M_ctype(__c_type) {} -- bool operator()(argument_type __c) const -- { return _M_ctype->is(ctype_base::space, __c); } --}; -- --template --struct _Is_wspace_null { -- typedef typename _Traits::char_type argument_type; -- typedef bool result_type; -- -- const ctype* _M_ctype; -- -- _Is_wspace_null(const ctype* __c_type) : _M_ctype(__c_type) {} -- bool operator()(argument_type __c) const { -- return _Traits::eq(__c, argument_type()) || -- _M_ctype->is(ctype_base::space, __c); -- } --}; -- --template --struct _Scan_for_wspace { -- typedef typename _Traits::char_type char_type; -- typedef char_type* first_argument_type; -- typedef char_type* second_argument_type; -- typedef char_type* result_type; -- -- const ctype* _M_ctype; -- -- _Scan_for_wspace(const ctype* __ctype) : _M_ctype(__ctype) {} -- const char_type* -- operator()(const char_type* __first, const char_type* __last) const { -- return _M_ctype->scan_is(ctype_base::space, __first, __last); -- } --}; -- --template --struct _Scan_wspace_null { -- typedef typename _Traits::char_type char_type; -- typedef char_type* first_argument_type; -- typedef char_type* second_argument_type; -- typedef char_type* result_type; -- -- const ctype* _M_ctype; -- -- _Scan_wspace_null(const ctype* __c_type) : _M_ctype(__c_type) {} -- const char_type* -- operator()(const char_type* __first, const char_type* __last) const { -- __last = find_if(__first, __last, -- bind2nd(_Eq_traits<_Traits>(), char_type())); -- return _M_ctype->scan_is(ctype_base::space, __first, __last); -- } --}; -- --template --struct _Scan_for_not_wspace { -- typedef typename _Traits::char_type char_type; -- typedef char_type* first_argument_type; -- typedef char_type* second_argument_type; -- typedef char_type* result_type; -- -- const ctype* _M_ctype; -- -- _Scan_for_not_wspace(const ctype* __c_type) : _M_ctype(__c_type) {} -- const char_type* -- operator()(const char_type* __first, const char_type* __last) const { -- return _M_ctype->scan_not(ctype_base::space, __first, __last); -- } --}; -- --template --struct _Scan_for_char_val --{ -- typedef typename _Traits::char_type char_type; -- typedef char_type* first_argument_type; -- typedef char_type* second_argument_type; -- typedef char_type* result_type; -- -- char_type _M_val; -- -- _Scan_for_char_val(char_type __value) : _M_val(__value) {} -- -- const char_type* -- operator()(const char_type* __first, const char_type* __last) const { -- return find_if(__first, __last, bind2nd(_Eq_traits<_Traits>(), _M_val)); -- } --}; -- --template --struct _Scan_for_int_val --{ -- typedef typename _Traits::char_type char_type; -- typedef typename _Traits::int_type int_type; -- typedef char_type* first_argument_type; -- typedef char_type* second_argument_type; -- typedef char_type* result_type; -- -- int_type _M_val; -- -- _Scan_for_int_val(int_type __value) : _M_val(__value) {} -- -- const char_type* -- operator()(const char_type* __first, const char_type* __last) const { -- return find_if(__first, __last, -- bind2nd(_Eq_int_traits<_Traits>(), _M_val)); -- } --}; -- -- --// Helper function: try to push back a character to a streambuf, --// return true if the pushback succeeded. Does not throw. --#if !(defined(__MRC__)||defined(__SC__)) //*TY 02/26/2000 - --template --bool __STL_CALL --__pushback(basic_streambuf<_CharT, _Traits>* __buf, _CharT __c) --{ --#else --template //*TY 02/26/2000 - added _Buf, removed _Traits --bool __STL_CALL --__pushback(_Buf* __buf, _CharT __c) //*TY 02/26/2000 - simplified parameter type --{ -- typedef typename _Buf::traits_type _Traits; --#endif -- bool ret; -- __STL_TRY { -- const typename _Traits::int_type __eof = _Traits::eof(); -- ret = !_Traits::eq_int_type(__buf->sputbackc(__c), __eof); -- } -- __STL_CATCH_ALL { -- ret = false; -- } -- return ret; --} -- --//---------------------------------------------------------------------- - // istream manipulator. -- - template --basic_istream<_CharT, _Traits>& __STL_CALL --ws(basic_istream<_CharT, _Traits>& __is) --{ -- typedef typename basic_istream<_CharT, _Traits>::sentry _Sentry; -- _Sentry __sentry(__is, _No_Skip_WS()); // Don't skip whitespace. -- if (__sentry) -- __is._M_skip_whitespace(false); -- return __is; --} -+basic_istream<_CharT, _Traits>& _STLP_CALL -+ws(basic_istream<_CharT, _Traits>& __is); - - //---------------------------------------------------------------------- - // Class iostream. - - template --class __STL_CLASS_DECLSPEC basic_iostream -+class basic_iostream - : public basic_istream<_CharT, _Traits>, - public basic_ostream<_CharT, _Traits> - { -@@ -462,20 +318,26 @@ - virtual ~basic_iostream(); - }; - --# if defined (__STL_USE_TEMPLATE_EXPORT) --__STL_EXPORT_TEMPLATE_CLASS basic_iostream >; --# if ! defined (__STL_NO_WCHAR_T) --__STL_EXPORT_TEMPLATE_CLASS basic_iostream >; -+# if defined (_STLP_USE_TEMPLATE_EXPORT) -+_STLP_EXPORT_TEMPLATE_CLASS basic_iostream >; -+# if ! defined (_STLP_NO_WCHAR_T) -+_STLP_EXPORT_TEMPLATE_CLASS basic_iostream >; - # endif --# endif /* __STL_USE_TEMPLATE_EXPORT */ -+# endif /* _STLP_USE_TEMPLATE_EXPORT */ -+ -+template -+basic_streambuf<_CharT, _Traits>* _STLP_CALL _M_get_istreambuf(basic_istream<_CharT, _Traits>& __is) -+{ -+ return __is.rdbuf(); -+} - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --# if !defined (__STL_LINK_TIME_INSTANTIATION) -+# if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) && !defined (_STLP_LINK_TIME_INSTANTIATION) - # include - # endif - --#endif /* __SGI_STL_ISTREAM_H */ -+#endif /* _STLP_INTERNAL_ISTREAM_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_istreambuf_iterator.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_istreambuf_iterator.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_istreambuf_iterator.h Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_istreambuf_iterator.h Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,167 @@ -+/* -+ * Copyright (c) 1999 -+ * Silicon Graphics Computer Systems, Inc. -+ * -+ * Copyright (c) 1999 -+ * Boris Fomitchev -+ * -+ * This material is provided "as is", with absolutely no warranty expressed -+ * or implied. Any use is at your own risk. -+ * -+ * Permission to use or copy this software for any purpose is hereby granted -+ * without fee, provided the above notices are retained on all copies. -+ * Permission to modify the code and to distribute modified code is granted, -+ * provided the above notices are retained, and a notice that the code was -+ * modified is included with the above copyright notice. -+ * -+ */ -+// WARNING: This is an internal header file, included by other C++ -+// standard library headers. You should not attempt to use this header -+// file directly. -+ -+ -+#ifndef _STLP_INTERNAL_ISTREAMBUF_ITERATOR_H -+#define _STLP_INTERNAL_ISTREAMBUF_ITERATOR_H -+ -+#ifndef _STLP_INTERNAL_ITERATOR_BASE_H -+# include -+#endif -+ -+#ifndef _STLP_INTERNAL_STREAMBUF -+# include -+#endif -+ -+_STLP_BEGIN_NAMESPACE -+ -+// defined in _istream.h -+template -+extern basic_streambuf<_CharT, _Traits>* _STLP_CALL _M_get_istreambuf(basic_istream<_CharT, _Traits>& ) ; -+ -+// We do not read any characters until operator* is called. operator* calls sgetc -+// unless the iterator is unchanged from the last call in which case a cached value is -+// used. Calls to operator++ use sbumpc. -+ -+template -+class istreambuf_iterator -+{ -+public: -+ typedef _CharT char_type; -+ typedef _Traits traits_type; -+ typedef typename _Traits::int_type int_type; -+ typedef basic_streambuf<_CharT, _Traits> streambuf_type; -+ typedef basic_istream<_CharT, _Traits> istream_type; -+ -+ typedef input_iterator_tag iterator_category; -+ typedef _CharT value_type; -+ typedef typename _Traits::off_type difference_type; -+ typedef const _CharT* pointer; -+ typedef const _CharT& reference; -+ -+public: -+ istreambuf_iterator(streambuf_type* __p = 0) { this->_M_init(__p); } -+ // istreambuf_iterator(basic_istream<_CharT, _Traits>& __is) { this->_M_init(_M_get_istreambuf(__is)); } -+ inline istreambuf_iterator(basic_istream<_CharT, _Traits>& __is); -+ -+ char_type operator*() const { this->_M_getc(); return _M_c; } -+ istreambuf_iterator<_CharT, _Traits>& operator++() { this->_M_bumpc(); return *this; } -+ istreambuf_iterator<_CharT, _Traits> operator++(int); -+ -+ bool equal(const istreambuf_iterator<_CharT, _Traits>& __i) const { -+ if (this->_M_buf) -+ this->_M_getc(); -+ if (__i._M_buf) -+ __i._M_getc(); -+ return this->_M_eof == __i._M_eof; -+ } -+ -+private: -+ void _M_init(streambuf_type* __p) { -+ _M_buf = __p; -+ _M_eof = !__p; -+ // _M_is_initialized = _M_eof; -+ _M_have_c = false; -+ } -+ -+ void _M_getc() const { -+ if (_M_have_c) -+ return; -+ int_type __c = _M_buf->sgetc(); -+# if !defined (_STLP_NEED_MUTABLE) /* && ! defined (__SUNPRO_CC) */ -+ _M_c = traits_type::to_char_type(__c); -+ _M_eof = traits_type::eq_int_type(__c, traits_type::eof()); -+ _M_have_c = true; -+# else -+ typedef istreambuf_iterator<_CharT,_Traits> _Self; -+ _Self* __that = __CONST_CAST(_Self*, this); -+ __that->_M_c = __STATIC_CAST(_CharT, traits_type::to_char_type(__c)); -+ __that->_M_eof = traits_type::eq_int_type(__c, traits_type::eof()); -+ __that->_M_have_c = true; -+# endif -+ } -+ -+ void _M_bumpc() { -+ _M_buf->sbumpc(); -+ _M_have_c = false; -+ } -+ -+private: -+ streambuf_type* _M_buf; -+ mutable _CharT _M_c; -+ mutable unsigned char _M_eof; -+ mutable unsigned char _M_have_c; -+}; -+ -+template -+inline istreambuf_iterator<_CharT, _Traits>::istreambuf_iterator(basic_istream<_CharT, _Traits>& __is) -+{ this->_M_init(_M_get_istreambuf(__is)); } -+ -+template -+inline bool _STLP_CALL operator==(const istreambuf_iterator<_CharT, _Traits>& __x, -+ const istreambuf_iterator<_CharT, _Traits>& __y) { -+ return __x.equal(__y); -+} -+ -+#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE -+ -+template -+inline bool _STLP_CALL operator!=(const istreambuf_iterator<_CharT, _Traits>& __x, -+ const istreambuf_iterator<_CharT, _Traits>& __y) { -+ return !__x.equal(__y); -+} -+ -+#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ -+ -+# if defined (_STLP_USE_TEMPLATE_EXPORT) -+_STLP_EXPORT_TEMPLATE_CLASS istreambuf_iterator >; -+# if defined (INSTANTIATE_WIDE_STREAMS) -+_STLP_EXPORT_TEMPLATE_CLASS istreambuf_iterator >; -+# endif -+# endif /* _STLP_USE_TEMPLATE_EXPORT */ -+ -+# ifdef _STLP_USE_OLD_HP_ITERATOR_QUERIES -+template -+inline input_iterator_tag _STLP_CALL iterator_category(const istreambuf_iterator<_CharT, _Traits>&) { return input_iterator_tag(); } -+template -+inline streamoff* _STLP_CALL -+distance_type(const istreambuf_iterator<_CharT, _Traits>&) { return (streamoff*)0; } -+template -+inline _CharT* _STLP_CALL value_type(const istreambuf_iterator<_CharT, _Traits>&) { return (_CharT*)0; } -+# endif -+ -+template -+istreambuf_iterator<_CharT, _Traits> -+istreambuf_iterator<_CharT, _Traits>::operator++(int) { -+ istreambuf_iterator<_CharT, _Traits> __tmp = *this; -+ this->_M_bumpc(); -+ this->_M_have_c = false; -+ return __tmp; -+} -+ -+_STLP_END_NAMESPACE -+ -+#endif /* _STLP_INTERNAL_ISTREAMBUF_ITERATOR_H */ -+ -+// Local Variables: -+// mode:C++ -+// End: -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_iterator.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_iterator.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_iterator.h Sat Feb 24 10:44:55 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_iterator.h Sun Aug 11 18:59:24 2002 -@@ -27,124 +27,16 @@ - * You should not attempt to use it directly. - */ - --#ifndef __SGI_STL_INTERNAL_ITERATOR_H --#define __SGI_STL_INTERNAL_ITERATOR_H -+#ifndef _STLP_INTERNAL_ITERATOR_H -+#define _STLP_INTERNAL_ITERATOR_H - --#ifndef __SGI_STL_INTERNAL_ITERATOR_BASE_H -+#ifndef _STLP_INTERNAL_ITERATOR_BASE_H - # include - #endif - --__STL_BEGIN_NAMESPACE -- --# if defined (__STL_NO_CLASS_PARTIAL_SPECIALIZATION) || ! defined (__STL_NO_ANACHRONISMS) -- --# if defined (__STL_MSVC50_COMPATIBILITY) --# define __Reference _Reference, class _Pointer --# define Reference__ _Reference, _Pointer --template --# else --# define __Reference _Reference --# define Reference__ _Reference --template --# endif --class reverse_bidirectional_iterator { -- typedef reverse_bidirectional_iterator<_BidirectionalIterator, _Tp, -- Reference__, _Distance> _Self; -- // friend inline bool operator== __STL_NULL_TMPL_ARGS (const _Self& x, const _Self& y); --protected: -- _BidirectionalIterator current; --public: -- typedef bidirectional_iterator_tag iterator_category; -- typedef _Tp value_type; -- typedef _Distance difference_type; --# if defined (__STL_MSVC50_COMPATIBILITY) -- typedef _Pointer pointer; --# else -- typedef _Tp* pointer; --# endif -- typedef _Reference reference; -- -- reverse_bidirectional_iterator() {} -- explicit reverse_bidirectional_iterator(_BidirectionalIterator __x) -- : current(__x) {} -- _BidirectionalIterator base() const { return current; } -- _Reference operator*() const { -- _BidirectionalIterator __tmp = current; -- return *--__tmp; -- } --# if !(defined __SGI_STL_NO_ARROW_OPERATOR && ! defined (__STL_MSVC50_COMPATIBILITY)) -- __STL_DEFINE_ARROW_OPERATOR --# endif -- _Self& operator++() { -- --current; -- return *this; -- } -- _Self operator++(int) { -- _Self __tmp = *this; -- --current; -- return __tmp; -- } -- _Self& operator--() { -- ++current; -- return *this; -- } -- _Self operator--(int) { -- _Self __tmp = *this; -- ++current; -- return __tmp; -- } --}; -- --# ifdef __STL_USE_OLD_HP_ITERATOR_QUERIES --template --inline bidirectional_iterator_tag __STL_CALL --__ITERATOR_CATEGORY(const reverse_bidirectional_iterator<_BidirectionalIterator, _Tp, Reference__, _Distance>&) --{ return bidirectional_iterator_tag(); } --template --inline _Tp* __STL_CALL --__VALUE_TYPE(const reverse_bidirectional_iterator<_BidirectionalIterator, _Tp, Reference__, _Distance>&) --{ return (_Tp*) 0; } --template --inline _Distance* __STL_CALL --__DISTANCE_TYPE(const reverse_bidirectional_iterator<_BidirectionalIterator, _Tp, Reference__, _Distance>&) --{ return (_Distance*) 0; } --#endif -- --template --inline bool __STL_CALL operator==( -- const reverse_bidirectional_iterator<_BidirectionalIterator, _Tp, -- Reference__, _Distance>& __x, -- const reverse_bidirectional_iterator<_BidirectionalIterator, _Tp, -- Reference__, _Distance>& __y) --{ -- return __x.base() == __y.base(); --} -- --#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE -- --template --inline bool __STL_CALL operator!=( -- const reverse_bidirectional_iterator<_BiIter, _Tp, Reference__, _Distance>& __x, -- const reverse_bidirectional_iterator<_BiIter, _Tp, Reference__, _Distance>& __y) --{ -- return !(__x == __y); --} -- --#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ -- --#endif /* ANACHRONISMS */ -- --#if defined ( __STL_CLASS_PARTIAL_SPECIALIZATION ) && \ --! defined (__STL_PARTIAL_SPECIALIZATION_BUG) -+_STLP_BEGIN_NAMESPACE - -+#if defined ( _STLP_CLASS_PARTIAL_SPECIALIZATION ) - // This is the new version of reverse_iterator, as defined in the - // draft C++ standard. It relies on the iterator_traits template, - // which in turn relies on partial specialization. The class -@@ -161,38 +53,32 @@ - { - protected: - _Iterator current; -+ typedef reverse_iterator<_Iterator> _Self; - public: -- typedef typename iterator_traits<_Iterator>::iterator_category -- iterator_category; -- typedef typename iterator_traits<_Iterator>::value_type -- value_type; -- typedef typename iterator_traits<_Iterator>::difference_type -- difference_type; -- typedef typename iterator_traits<_Iterator>::pointer -- pointer; -- typedef typename iterator_traits<_Iterator>::reference -- reference; -- -+ typedef typename iterator_traits<_Iterator>::iterator_category iterator_category; -+ typedef typename iterator_traits<_Iterator>::value_type value_type; -+ typedef typename iterator_traits<_Iterator>::difference_type difference_type; -+ typedef typename iterator_traits<_Iterator>::pointer pointer; -+ typedef typename iterator_traits<_Iterator>::reference reference; - typedef _Iterator iterator_type; -- typedef reverse_iterator<_Iterator> _Self; -- - public: - reverse_iterator() {} - explicit reverse_iterator(iterator_type __x) : current(__x) {} -- - reverse_iterator(const _Self& __x) : current(__x.current) {} --#ifdef __STL_MEMBER_TEMPLATES -+ _Self& operator = (const _Self& __x) { current = __x.base(); return *this; } -+#ifdef _STLP_MEMBER_TEMPLATES - template -- reverse_iterator(const reverse_iterator<_Iter>& __x) -- : current(__x.base()) {} --#endif /* __STL_MEMBER_TEMPLATES */ -+ reverse_iterator(const reverse_iterator<_Iter>& __x) : current(__x.base()) {} -+ template -+ _Self& operator = (const reverse_iterator<_Iter>& __x) { current = __x.base(); return *this; } -+#endif /* _STLP_MEMBER_TEMPLATES */ - - iterator_type base() const { return current; } - reference operator*() const { - _Iterator __tmp = current; - return *--__tmp; - } -- __STL_DEFINE_ARROW_OPERATOR -+ _STLP_DEFINE_ARROW_OPERATOR - _Self& operator++() { - --current; - return *this; -@@ -230,248 +116,64 @@ - }; - - template --inline bool __STL_CALL operator==(const reverse_iterator<_Iterator>& __x, -+inline bool _STLP_CALL operator==(const reverse_iterator<_Iterator>& __x, - const reverse_iterator<_Iterator>& __y) { - return __x.base() == __y.base(); - } - - template --inline bool __STL_CALL operator<(const reverse_iterator<_Iterator>& __x, -+inline bool _STLP_CALL operator<(const reverse_iterator<_Iterator>& __x, - const reverse_iterator<_Iterator>& __y) { - return __y.base() < __x.base(); - } - --#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE -+#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE - - template --inline bool __STL_CALL operator!=(const reverse_iterator<_Iterator>& __x, -+inline bool _STLP_CALL operator!=(const reverse_iterator<_Iterator>& __x, - const reverse_iterator<_Iterator>& __y) { - return !(__x == __y); - } - - template --inline bool __STL_CALL operator>(const reverse_iterator<_Iterator>& __x, -+inline bool _STLP_CALL operator>(const reverse_iterator<_Iterator>& __x, - const reverse_iterator<_Iterator>& __y) { - return __y < __x; - } - - template --inline bool __STL_CALL operator<=(const reverse_iterator<_Iterator>& __x, -+inline bool _STLP_CALL operator<=(const reverse_iterator<_Iterator>& __x, - const reverse_iterator<_Iterator>& __y) { - return !(__y < __x); - } - - template --inline bool __STL_CALL operator>=(const reverse_iterator<_Iterator>& __x, -+inline bool _STLP_CALL operator>=(const reverse_iterator<_Iterator>& __x, - const reverse_iterator<_Iterator>& __y) { - return !(__x < __y); - } - --#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ -+#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ - - template --inline typename reverse_iterator<_Iterator>::difference_type __STL_CALL -+# ifdef __SUNPRO_CC -+inline ptrdiff_t _STLP_CALL -+# else -+inline typename reverse_iterator<_Iterator>::difference_type _STLP_CALL -+# endif - operator-(const reverse_iterator<_Iterator>& __x, - const reverse_iterator<_Iterator>& __y) { - return __y.base() - __x.base(); - } - --template --inline reverse_iterator<_Iterator> __STL_CALL --operator+(typename reverse_iterator<_Iterator>::difference_type __n, -- const reverse_iterator<_Iterator>& __x) { -- return reverse_iterator<_Iterator>(__x.base() - __n); -+template -+inline reverse_iterator<_Iterator> _STLP_CALL -+operator+(_DifferenceType n,const reverse_iterator<_Iterator>& x) { -+ return x.operator+(n); - } - - # endif - --#if ! defined ( __STL_CLASS_PARTIAL_SPECIALIZATION ) || defined (__STL_PARTIAL_SPECIALIZATION_BUG) -- --// This is the old version of reverse_iterator, as found in the original --// HP STL. It does not use partial specialization. -- --template = 0x2405) -- __DFL_TMPL_PARAM(_Tp,iterator_traits<_RandomAccessIterator>::value_type), --# else -- class _Tp, --#endif -- __DFL_TMPL_PARAM(_Reference,_Tp&), --# if defined (__STL_MSVC50_COMPATIBILITY) -- __DFL_TMPL_PARAM(_Pointer, _Tp*), --# endif -- __DFL_TYPE_PARAM(_Distance,ptrdiff_t)> --class reverse_iterator { -- typedef reverse_iterator<_RandomAccessIterator, _Tp, Reference__, _Distance> -- _Self; --protected: -- _RandomAccessIterator __current; --public: -- typedef random_access_iterator_tag iterator_category; -- typedef _Tp value_type; -- typedef _Distance difference_type; --# if defined (__STL_MSVC50_COMPATIBILITY) -- typedef _Pointer pointer; --# else -- typedef _Tp* pointer; --# endif -- typedef _Reference reference; -- -- reverse_iterator() {} -- reverse_iterator(const _Self& __x) : __current(__x.base()) {} -- explicit reverse_iterator(_RandomAccessIterator __x) : __current(__x) {} -- _Self& operator=(const _Self& __x) {__current = __x.base(); return *this; } -- -- _RandomAccessIterator base() const { return __current; } -- _Reference operator*() const { return *(__current - (difference_type)1); } -- --# if !(defined __SGI_STL_NO_ARROW_OPERATOR && ! defined (__STL_MSVC50_COMPATIBILITY)) -- __STL_DEFINE_ARROW_OPERATOR --# endif -- -- _Self& operator++() { -- --__current; -- return *this; -- } -- _Self operator++(int) { -- _Self __tmp = *this; -- --__current; -- return __tmp; -- } -- _Self& operator--() { -- ++__current; -- return *this; -- } -- _Self operator--(int) { -- _Self __tmp = *this; -- ++__current; -- return __tmp; -- } -- _Self operator+(_Distance __n) const { -- return _Self(__current - __n); -- } -- _Self& operator+=(_Distance __n) { -- __current -= __n; -- return *this; -- } -- _Self operator-(_Distance __n) const { -- return _Self(__current + __n); -- } -- _Self& operator-=(_Distance __n) { -- __current += __n; -- return *this; -- } -- _Reference operator[](_Distance __n) const { return *(*this + __n); } --}; -- --# ifdef __STL_USE_OLD_HP_ITERATOR_QUERIES --template --inline random_access_iterator_tag __STL_CALL --__ITERATOR_CATEGORY(const reverse_iterator<_RandomAccessIterator, _Tp, Reference__, _Distance>&) --{ return random_access_iterator_tag(); } --template --inline _Tp* __STL_CALL __VALUE_TYPE(const reverse_iterator<_RandomAccessIterator, _Tp, Reference__, _Distance>&) --{ return (_Tp*) 0; } --template --inline _Distance* __STL_CALL --__DISTANCE_TYPE(const reverse_iterator<_RandomAccessIterator, _Tp, Reference__, _Distance>&) --{ return (_Distance*) 0; } --#endif -- --template --inline bool __STL_CALL --operator==(const reverse_iterator<_RandomAccessIterator, _Tp, -- Reference__, _Distance>& __x, -- const reverse_iterator<_RandomAccessIterator, _Tp, -- Reference__, _Distance>& __y) --{ -- return __x.base() == __y.base(); --} -- --template --inline bool __STL_CALL --operator<(const reverse_iterator<_RandomAccessIterator, _Tp, -- Reference__, _Distance>& __x, -- const reverse_iterator<_RandomAccessIterator, _Tp, -- Reference__, _Distance>& __y) --{ -- return __y.base() < __x.base(); --} -- --#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE -- --template --inline bool __STL_CALL --operator!=(const reverse_iterator<_RandomAccessIterator, _Tp, -- Reference__, _Distance>& __x, -- const reverse_iterator<_RandomAccessIterator, _Tp, -- Reference__, _Distance>& __y) { -- return !(__x == __y); --} -- --template --inline bool __STL_CALL --operator>(const reverse_iterator<_RandomAccessIterator, _Tp, -- Reference__, _Distance>& __x, -- const reverse_iterator<_RandomAccessIterator, _Tp, -- Reference__, _Distance>& __y) { -- return __y < __x; --} -- --template --inline bool __STL_CALL --operator<=(const reverse_iterator<_RandomAccessIterator, _Tp, -- Reference__, _Distance>& __x, -- const reverse_iterator<_RandomAccessIterator, _Tp, -- Reference__, _Distance>& __y) { -- return !(__y < __x); --} -- --template --inline bool __STL_CALL --operator>=(const reverse_iterator<_RandomAccessIterator, _Tp, -- Reference__, _Distance>& __x, -- const reverse_iterator<_RandomAccessIterator, _Tp, -- Reference__, _Distance>& __y) { -- return !(__x < __y); --} -- --#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ -- --template --inline _Distance __STL_CALL --operator-(const reverse_iterator<_RandomAccessIterator, _Tp, -- Reference__, _Distance>& __x, -- const reverse_iterator<_RandomAccessIterator, _Tp, -- Reference__, _Distance>& __y) --{ -- return __y.base() - __x.base(); --} -- --template --inline reverse_iterator<_RandomAccessIterator, _Tp, -- Reference__, _Distance> __STL_CALL --operator+(_Distance __n, -- const reverse_iterator<_RandomAccessIterator, _Tp, -- Reference__, _Distance>& __x) --{ -- return reverse_iterator<_RandomAccessIterator, _Tp, -- Reference__, _Distance>(__x.base() - __n); --} -- --#endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */ -- - template - class back_insert_iterator - : public iterator -@@ -484,8 +186,8 @@ - - explicit back_insert_iterator(_Container& __x) : container(&__x) {} - back_insert_iterator<_Container>& -- operator=(const typename _Container::value_type& __value) { -- container->push_back(__value); -+ operator=(const typename _Container::value_type& __val) { -+ container->push_back(__val); - return *this; - } - back_insert_iterator<_Container>& operator*() { return *this; } -@@ -493,14 +195,8 @@ - back_insert_iterator<_Container>& operator++(int) { return *this; } - }; - --# ifdef __STL_USE_OLD_HP_ITERATOR_QUERIES --template --inline output_iterator_tag __STL_CALL --__ITERATOR_CATEGORY(const back_insert_iterator<_Container>&) { return output_iterator_tag(); } --#endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */ -- - template --inline back_insert_iterator<_Container> __STL_CALL back_inserter(_Container& __x) { -+inline back_insert_iterator<_Container> _STLP_CALL back_inserter(_Container& __x) { - return back_insert_iterator<_Container>(__x); - } - -@@ -515,8 +211,8 @@ - typedef output_iterator_tag iterator_category; - explicit front_insert_iterator(_Container& __x) : container(&__x) {} - front_insert_iterator<_Container>& -- operator=(const typename _Container::value_type& __value) { -- container->push_front(__value); -+ operator=(const typename _Container::value_type& __val) { -+ container->push_front(__val); - return *this; - } - front_insert_iterator<_Container>& operator*() { return *this; } -@@ -524,15 +220,8 @@ - front_insert_iterator<_Container>& operator++(int) { return *this; } - }; - --# ifdef __STL_USE_OLD_HP_ITERATOR_QUERIES --template --inline output_iterator_tag __STL_CALL --__ITERATOR_CATEGORY(const front_insert_iterator<_Container>&) { return output_iterator_tag(); } -- --#endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */ -- - template --inline front_insert_iterator<_Container> __STL_CALL front_inserter(_Container& __x) { -+inline front_insert_iterator<_Container> _STLP_CALL front_inserter(_Container& __x) { - return front_insert_iterator<_Container>(__x); - } - -@@ -549,8 +238,8 @@ - insert_iterator(_Container& __x, typename _Container::iterator __i) - : container(&__x), iter(__i) {} - insert_iterator<_Container>& -- operator=(const typename _Container::value_type& __value) { -- iter = container->insert(iter, __value); -+ operator=(const typename _Container::value_type& __val) { -+ iter = container->insert(iter, __val); - ++iter; - return *this; - } -@@ -559,23 +248,21 @@ - insert_iterator<_Container>& operator++(int) { return *this; } - }; - --# ifdef __STL_USE_OLD_HP_ITERATOR_QUERIES --template --inline output_iterator_tag __STL_CALL --__ITERATOR_CATEGORY(const insert_iterator<_Container>&) { return output_iterator_tag(); } --# endif -- - template --inline insert_iterator<_Container> __STL_CALL -+inline insert_iterator<_Container> _STLP_CALL - inserter(_Container& __x, _Iterator __i) - { - typedef typename _Container::iterator __iter; - return insert_iterator<_Container>(__x, __iter(__i)); - } - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE -+ -+#if ! defined ( _STLP_CLASS_PARTIAL_SPECIALIZATION ) || defined (_STLP_USE_OLD_HP_ITERATOR_QUERIES) -+# include -+#endif /* __NO_PARTIAL_SPEC || ANACHRONISMS */ - --#endif /* __SGI_STL_INTERNAL_ITERATOR_H */ -+#endif /* _STLP_INTERNAL_ITERATOR_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_iterator_base.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_iterator_base.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_iterator_base.h Sat Feb 24 10:44:55 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_iterator_base.h Sun Aug 11 18:59:24 2002 -@@ -27,10 +27,10 @@ - * You should not attempt to use it directly. - */ - --#ifndef __SGI_STL_INTERNAL_ITERATOR_BASE_H --#define __SGI_STL_INTERNAL_ITERATOR_BASE_H -+#ifndef _STLP_INTERNAL_ITERATOR_BASE_H -+#define _STLP_INTERNAL_ITERATOR_BASE_H - --#ifndef __STLPORT_CSTDDEF -+#ifndef _STLP_CSTDDEF - # include - #endif - -@@ -38,26 +38,7 @@ - # include - #endif - --# if defined ( __STL_USE_ABBREVS ) --// ugliness is intentional - to reduce conflicts --# define input_iterator_tag _In__ItT --# define output_iterator_tag _Ou__ItT --# define bidirectional_iterator_tag _Bd__ItT --# define random_access_iterator_tag _Ra__ItT --# define input_iterator _In__It --# define output_iterator _Ou__It --# define bidirectional_iterator _Bd__It --# define random_access_iterator _Ra__It --# define reverse_bidirectional_iterator _rBd__It --# define reverse_iterator _r__It --# define back_insert_iterator _bI__It --# define front_insert_iterator _fI__It --# define raw_storage_iterator _rS__It --# define _Const_traits _C_Tr --# define _Nonconst_traits _N_Tr --# endif -- --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - struct input_iterator_tag {}; - struct output_iterator_tag {}; -@@ -75,10 +56,10 @@ - typedef _Pointer pointer; - typedef _Reference reference; - }; --__STL_TEMPLATE_NULL -+_STLP_TEMPLATE_NULL - struct iterator { - typedef output_iterator_tag iterator_category; --#ifdef __STL_CLASS_PARTIAL_SPECIALIZATION -+#ifdef _STLP_CLASS_PARTIAL_SPECIALIZATION - typedef void value_type; - typedef void difference_type; - typedef void pointer; -@@ -86,16 +67,24 @@ - #endif - }; - --# ifdef __STL_USE_OLD_HP_ITERATOR_QUERIES --# define __ITERATOR_CATEGORY iterator_category --# define __DISTANCE_TYPE distance_type --# define __VALUE_TYPE value_type --# define __STL_DIFFERENCE_TYPE(_Iterator) ptrdiff_t -+# ifdef _STLP_USE_OLD_HP_ITERATOR_QUERIES -+# define _STLP_ITERATOR_CATEGORY(_It, _Tp) iterator_category(_It) -+# define _STLP_DISTANCE_TYPE(_It, _Tp) distance_type(_It) -+# define _STLP_VALUE_TYPE(_It, _Tp) value_type(_It) - # else --# define __ITERATOR_CATEGORY __iterator_category --# define __DISTANCE_TYPE __distance_type --# define __VALUE_TYPE __value_type --# define __STL_DIFFERENCE_TYPE(_Iterator) typename iterator_traits<_Iterator>::difference_type -+# ifdef _STLP_CLASS_PARTIAL_SPECIALIZATION -+# define _STLP_VALUE_TYPE(_It, _Tp) (typename iterator_traits< _Tp >::value_type*)0 -+# define _STLP_DISTANCE_TYPE(_It, _Tp) (typename iterator_traits< _Tp >::difference_type*)0 -+# if defined (__BORLANDC__) || defined (__SUNPRO_CC) || ( defined (__MWERKS__) && (__MWERKS__ <= 0x2303)) || ( defined (__sgi) && defined (_COMPILER_VERSION)) -+# define _STLP_ITERATOR_CATEGORY(_It, _Tp) iterator_traits< _Tp >::iterator_category() -+# else -+# define _STLP_ITERATOR_CATEGORY(_It, _Tp) typename iterator_traits< _Tp >::iterator_category() -+# endif -+# else -+# define _STLP_ITERATOR_CATEGORY(_It, _Tp) __iterator_category(_It, _IsPtrType<_Tp>::_Ret()) -+# define _STLP_DISTANCE_TYPE(_It, _Tp) (ptrdiff_t*)0 -+# define _STLP_VALUE_TYPE(_It, _Tp) __value_type(_It, _IsPtrType<_Tp>::_Ret() ) -+# endif - # endif - - template -@@ -107,7 +96,15 @@ - typedef typename _Iterator::reference reference; - }; - --#ifdef __STL_CLASS_PARTIAL_SPECIALIZATION -+ -+# if defined (_STLP_CLASS_PARTIAL_SPECIALIZATION) && ! defined (__SUNPRO_CC) -+# define _STLP_DIFFERENCE_TYPE(_Iterator) typename iterator_traits<_Iterator>::difference_type -+# else -+# define _STLP_DIFFERENCE_TYPE(_Iterator) ptrdiff_t -+# endif -+ -+# ifdef _STLP_CLASS_PARTIAL_SPECIALIZATION -+ - // fbp : this order keeps gcc happy - template - struct iterator_traits { -@@ -127,7 +124,7 @@ - typedef _Tp& reference; - }; - --# ifdef __BORLANDC__ -+# if defined (__BORLANDC__) - template - struct iterator_traits<_Tp* const> { - typedef random_access_iterator_tag iterator_category; -@@ -136,66 +133,96 @@ - typedef const _Tp* pointer; - typedef const _Tp& reference; - }; --# endif --#endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */ -+# endif -+ -+# endif /* _STLP_CLASS_PARTIAL_SPECIALIZATION */ -+ - --# ifdef __STL_CLASS_PARTIAL_SPECIALIZATION --# define __STL_POINTERS_SPECIALIZE( _TpP ) -+# if defined (_STLP_CLASS_PARTIAL_SPECIALIZATION) \ -+ || (defined (_STLP_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS) && ! defined (_STLP_NO_ARROW_OPERATOR)) -+# define _STLP_POINTERS_SPECIALIZE( _TpP ) -+# define _STLP_DEFINE_ARROW_OPERATOR pointer operator->() const { return &(operator*()); } - # else -- __STL_END_NAMESPACE - # include -- __STL_BEGIN_NAMESPACE - # endif - --# ifndef __STL_USE_OLD_HP_ITERATOR_QUERIES -+# ifndef _STLP_USE_OLD_HP_ITERATOR_QUERIES - // The overloaded functions iterator_category, distance_type, and - // value_type are not part of the C++ standard. (They have been - // replaced by struct iterator_traits.) They are included for - // backward compatibility with the HP STL. -- - // We introduce internal names for these functions. - -+# ifdef _STLP_CLASS_PARTIAL_SPECIALIZATION -+ - template --inline typename iterator_traits<_Iter>::iterator_category --__ITERATOR_CATEGORY(const _Iter&) --{ -+inline typename iterator_traits<_Iter>::iterator_category __iterator_category(const _Iter&) { - typedef typename iterator_traits<_Iter>::iterator_category _Category; - return _Category(); - } - - template --inline typename iterator_traits<_Iter>::difference_type* --__DISTANCE_TYPE(const _Iter&) --{ -+inline typename iterator_traits<_Iter>::difference_type* __distance_type(const _Iter&) { - typedef typename iterator_traits<_Iter>::difference_type _diff_type; - return __STATIC_CAST(_diff_type*,0); - } - - template --inline typename iterator_traits<_Iter>::value_type* --__VALUE_TYPE(const _Iter&) --{ -+inline typename iterator_traits<_Iter>::value_type* __value_type(const _Iter&) { - typedef typename iterator_traits<_Iter>::value_type _value_type; - return __STATIC_CAST(_value_type*,0); - } - --#else /* old queries */ -+# else -+ -+template -+inline random_access_iterator_tag -+__iterator_category(const _Iter&, const __true_type&) { -+ return random_access_iterator_tag(); -+} -+ -+template -+inline _STLP_TYPENAME_ON_RETURN_TYPE iterator_traits<_Iter>::iterator_category -+__iterator_category(const _Iter&, const __false_type&) { -+ typedef typename iterator_traits<_Iter>::iterator_category _Category; -+ return _Category(); -+} -+ -+ -+template -+inline ptrdiff_t* _STLP_CALL __distance_type(const _Iter&) { return (ptrdiff_t*)(0); } -+ -+template -+inline _STLP_TYPENAME_ON_RETURN_TYPE iterator_traits<_Iter>::value_type* -+__value_type(const _Iter&, const __false_type&) { -+ typedef typename iterator_traits<_Iter>::value_type _value_type; -+ return __STATIC_CAST(_value_type*,0); -+} -+ -+template -+inline _Tp* -+__value_type(const _Tp*, const __true_type&) { -+ return __STATIC_CAST(_Tp*, 0); -+} - -+# endif -+ -+#else /* old queries */ - template --inline _Category __STL_CALL __ITERATOR_CATEGORY(const iterator<_Category,_Tp,_Distance,_Pointer,_Reference>&) { return _Category(); } -+inline _Category _STLP_CALL iterator_category(const iterator<_Category,_Tp,_Distance,_Pointer,_Reference>&) { return _Category(); } - template --inline _Tp* __STL_CALL __VALUE_TYPE(const iterator<_Category,_Tp,_Distance,_Pointer,_Reference>&) { return (_Tp*)(0); } -+inline _Tp* _STLP_CALL value_type(const iterator<_Category,_Tp,_Distance,_Pointer,_Reference>&) { return (_Tp*)(0); } - template --inline _Distance* __STL_CALL __DISTANCE_TYPE(const iterator<_Category,_Tp,_Distance,_Pointer,_Reference>&) { return (_Distance*)(0); } -+inline _Distance* _STLP_CALL distance_type(const iterator<_Category,_Tp,_Distance,_Pointer,_Reference>&) { return (_Distance*)(0); } - template --inline random_access_iterator_tag __STL_CALL __ITERATOR_CATEGORY(const _Tp*) { return random_access_iterator_tag(); } -+inline random_access_iterator_tag _STLP_CALL iterator_category(const _Tp*) { return random_access_iterator_tag(); } - template --inline _Tp* __STL_CALL __VALUE_TYPE(const _Tp*) { return (_Tp*)(0); } -+inline _Tp* _STLP_CALL value_type(const _Tp*) { return (_Tp*)(0); } - template --inline ptrdiff_t* __STL_CALL __DISTANCE_TYPE(const _Tp*) { return (ptrdiff_t*)(0); } --#endif /* __STL_USE_OLD_HP_ITERATOR_QUERIES */ -+inline ptrdiff_t* _STLP_CALL distance_type(const _Tp*) { return (ptrdiff_t*)(0); } -+#endif /* _STLP_USE_OLD_HP_ITERATOR_QUERIES */ - --# if ! defined (__STL_NO_ANACHRONISMS) -+# if ! defined (_STLP_NO_ANACHRONISMS) - // The base classes input_iterator, output_iterator, forward_iterator, - // bidirectional_iterator, and random_access_iterator are not part of - // the C++ standard. (They have been replaced by struct iterator.) -@@ -210,133 +237,130 @@ - template struct random_access_iterator : - public iterator {}; - --# if defined (__STL_BASE_MATCH_BUG) && defined (__STL_USE_OLD_HP_ITERATOR_QUERIES) -+# if defined (_STLP_BASE_MATCH_BUG) && defined (_STLP_USE_OLD_HP_ITERATOR_QUERIES) - template --inline input_iterator_tag __STL_CALL --__ITERATOR_CATEGORY(const input_iterator<_Tp, _Distance>&) { return input_iterator_tag(); } --inline output_iterator_tag __STL_CALL --__ITERATOR_CATEGORY(const output_iterator&) { return output_iterator_tag(); } -+inline input_iterator_tag _STLP_CALL -+iterator_category(const input_iterator<_Tp, _Distance>&) { return input_iterator_tag(); } -+inline output_iterator_tag _STLP_CALL -+iterator_category(const output_iterator&) { return output_iterator_tag(); } - template --inline forward_iterator_tag __STL_CALL --__ITERATOR_CATEGORY(const forward_iterator<_Tp, _Distance>&) { return forward_iterator_tag(); } -+inline forward_iterator_tag _STLP_CALL -+iterator_category(const forward_iterator<_Tp, _Distance>&) { return forward_iterator_tag(); } - template --inline bidirectional_iterator_tag __STL_CALL --__ITERATOR_CATEGORY(const bidirectional_iterator<_Tp, _Distance>&) { return bidirectional_iterator_tag(); } -+inline bidirectional_iterator_tag _STLP_CALL -+iterator_category(const bidirectional_iterator<_Tp, _Distance>&) { return bidirectional_iterator_tag(); } - template --inline random_access_iterator_tag __STL_CALL --__ITERATOR_CATEGORY(const random_access_iterator<_Tp, _Distance>&) { return random_access_iterator_tag(); } -+inline random_access_iterator_tag _STLP_CALL -+iterator_category(const random_access_iterator<_Tp, _Distance>&) { return random_access_iterator_tag(); } - template --inline _Tp* __STL_CALL __VALUE_TYPE(const input_iterator<_Tp, _Distance>&) { return (_Tp*)(0); } -+inline _Tp* _STLP_CALL value_type(const input_iterator<_Tp, _Distance>&) { return (_Tp*)(0); } - template --inline _Tp* __STL_CALL __VALUE_TYPE(const forward_iterator<_Tp, _Distance>&) { return (_Tp*)(0); } -+inline _Tp* _STLP_CALL value_type(const forward_iterator<_Tp, _Distance>&) { return (_Tp*)(0); } - template --inline _Tp* __STL_CALL __VALUE_TYPE(const bidirectional_iterator<_Tp, _Distance>&) { return (_Tp*)(0); } -+inline _Tp* _STLP_CALL value_type(const bidirectional_iterator<_Tp, _Distance>&) { return (_Tp*)(0); } - template --inline _Tp* __STL_CALL __VALUE_TYPE(const random_access_iterator<_Tp, _Distance>&) { return (_Tp*)(0); } -+inline _Tp* _STLP_CALL value_type(const random_access_iterator<_Tp, _Distance>&) { return (_Tp*)(0); } - template --inline _Distance* __STL_CALL __DISTANCE_TYPE(const input_iterator<_Tp, _Distance>&) { return (_Distance*)(0); } -+inline _Distance* _STLP_CALL distance_type(const input_iterator<_Tp, _Distance>&) { return (_Distance*)(0); } - template --inline _Distance* __STL_CALL __DISTANCE_TYPE(const forward_iterator<_Tp, _Distance>&) { return (_Distance*)(0); } -+inline _Distance* _STLP_CALL distance_type(const forward_iterator<_Tp, _Distance>&) { return (_Distance*)(0); } - template --inline _Distance* __STL_CALL __DISTANCE_TYPE(const bidirectional_iterator<_Tp, _Distance>&) { return (_Distance*)(0);} -+inline _Distance* _STLP_CALL distance_type(const bidirectional_iterator<_Tp, _Distance>&) { return (_Distance*)(0);} - template --inline _Distance* __STL_CALL __DISTANCE_TYPE(const random_access_iterator<_Tp, _Distance>&) { return (_Distance*)(0); } -+inline _Distance* _STLP_CALL distance_type(const random_access_iterator<_Tp, _Distance>&) { return (_Distance*)(0); } - # endif /* BASE_MATCH */ --#endif /* __STL_NO_ANACHRONISMS */ - -+#endif /* _STLP_NO_ANACHRONISMS */ - - template --inline void __STL_CALL __distance(_InputIterator __first, _InputIterator __last, -- _Distance& __n, input_iterator_tag) --{ -- while (__first != __last) { ++__first; ++__n; } -+inline void _STLP_CALL __distance(const _InputIterator& __first, const _InputIterator& __last, -+ _Distance& __n, const input_iterator_tag &) { -+ _InputIterator __it(__first); -+ while (__it != __last) { ++__it; ++__n; } - } - --# if defined (__STL_NONTEMPL_BASE_MATCH_BUG) -+# if defined (_STLP_NONTEMPL_BASE_MATCH_BUG) - template --inline void __STL_CALL __distance(_ForwardIterator __first, _ForwardIterator __last, -- _Distance& __n, forward_iterator_tag) --{ -- while (__first != __last) { ++__first; ++__n; } -+inline void _STLP_CALL __distance(const _ForwardIterator& __first, const _ForwardIterator& __last, -+ _Distance& __n, const forward_iterator_tag &) { -+ _ForwardIterator __it(__first); -+ while (__it != __last) { ++__first; ++__n; } - } - - template --__STL_INLINE_LOOP void __STL_CALL __distance(_BidirectionalIterator __first, -- _BidirectionalIterator __last, -- _Distance& __n, bidirectional_iterator_tag) { -- while (__first != __last) { ++__first; ++__n; } -+_STLP_INLINE_LOOP void _STLP_CALL __distance(const _BidirectionalIterator& __first, -+ const _BidirectionalIterator& __last, -+ _Distance& __n, const bidirectional_iterator_tag &) { -+ _BidirectionalIterator __it(__first); -+ while (__it != __last) { ++__it; ++__n; } - } - # endif - - template --inline void __STL_CALL __distance(_RandomAccessIterator __first, -- _RandomAccessIterator __last, -- _Distance& __n, random_access_iterator_tag) --{ -+inline void _STLP_CALL __distance(const _RandomAccessIterator& __first, -+ const _RandomAccessIterator& __last, -+ _Distance& __n, const random_access_iterator_tag &) { - __n += __last - __first; - } - -+#ifndef _STLP_NO_ANACHRONISMS - template --inline void __STL_CALL distance(_InputIterator __first, -- _InputIterator __last, _Distance& __n) --{ -- __distance(__first, __last, __n, __ITERATOR_CATEGORY(__first)); -+inline void _STLP_CALL distance(const _InputIterator& __first, -+ const _InputIterator& __last, _Distance& __n) { -+ __distance(__first, __last, __n, _STLP_ITERATOR_CATEGORY(__first, _InputIterator)); - } -+#endif - - template --inline __STL_DIFFERENCE_TYPE(_InputIterator) __STL_CALL --__distance(_InputIterator __first, _InputIterator __last, input_iterator_tag) --{ -- __STL_DIFFERENCE_TYPE(_InputIterator) __n = 0; -- while (__first != __last) { -- ++__first; ++__n; -+inline _STLP_DIFFERENCE_TYPE(_InputIterator) _STLP_CALL -+__distance(const _InputIterator& __first, const _InputIterator& __last, const input_iterator_tag &) { -+ _STLP_DIFFERENCE_TYPE(_InputIterator) __n = 0; -+ _InputIterator __it(__first); -+ while (__it != __last) { -+ ++__it; ++__n; - } - return __n; - } - --# if defined (__STL_NONTEMPL_BASE_MATCH_BUG) -+# if defined (_STLP_NONTEMPL_BASE_MATCH_BUG) - template --inline __STL_DIFFERENCE_TYPE(_ForwardIterator) __STL_CALL --__distance(_ForwardIterator __first, _ForwardIterator __last, -- forward_iterator_tag) --{ -- __STL_DIFFERENCE_TYPE(_ForwardIterator) __n = 0; -- while (__first != __last) { -- ++__first; ++__n; -+inline _STLP_DIFFERENCE_TYPE(_ForwardIterator) _STLP_CALL -+__distance(const _ForwardIterator& __first, const _ForwardIterator& __last, -+ const forward_iterator_tag &) -+{ -+ _STLP_DIFFERENCE_TYPE(_ForwardIterator) __n = 0; -+ _ForwardIterator __it(__first); -+ while (__it != __last) { -+ ++__it; ++__n; - } - return __n; - } - - template --__STL_INLINE_LOOP __STL_DIFFERENCE_TYPE(_BidirectionalIterator) __STL_CALL --__distance(_BidirectionalIterator __first, -- _BidirectionalIterator __last, -- bidirectional_iterator_tag) { -- __STL_DIFFERENCE_TYPE(_BidirectionalIterator) __n = 0; -- while (__first != __last) { -- ++__first; ++__n; -+_STLP_INLINE_LOOP _STLP_DIFFERENCE_TYPE(_BidirectionalIterator) _STLP_CALL -+__distance(const _BidirectionalIterator& __first, -+ const _BidirectionalIterator& __last, -+ const bidirectional_iterator_tag &) { -+ _STLP_DIFFERENCE_TYPE(_BidirectionalIterator) __n = 0; -+ _BidirectionalIterator __it(__first); -+ while (__it != __last) { -+ ++__it; ++__n; - } - return __n; - } - # endif - - template --inline __STL_DIFFERENCE_TYPE(_RandomAccessIterator) __STL_CALL --__distance(_RandomAccessIterator __first, _RandomAccessIterator __last, -- random_access_iterator_tag) { -+inline _STLP_DIFFERENCE_TYPE(_RandomAccessIterator) _STLP_CALL -+__distance(const _RandomAccessIterator& __first, const _RandomAccessIterator& __last, -+ const random_access_iterator_tag &) { - return __last - __first; - } - - template --inline __STL_DIFFERENCE_TYPE(_InputIterator) __STL_CALL --distance(_InputIterator __first, _InputIterator __last) { --# ifdef __STL_CLASS_PARTIAL_SPECIALIZATION -- typedef typename iterator_traits<_InputIterator>::iterator_category -- _Category; -- return __distance(__first, __last, _Category()); --# else -- return __distance(__first, __last, __ITERATOR_CATEGORY(__first)); --# endif -+inline _STLP_DIFFERENCE_TYPE(_InputIterator) _STLP_CALL -+distance(const _InputIterator& __first, const _InputIterator& __last) { -+ return __distance(__first, __last, _STLP_ITERATOR_CATEGORY(__first, _InputIterator)); - } - - -@@ -360,7 +384,7 @@ - typedef _Nonconst_traits<_Tp> _Non_const_traits; - }; - --# if defined (__STL_BASE_TYPEDEF_BUG) -+# if defined (_STLP_BASE_TYPEDEF_BUG) - // this workaround is needed for SunPro 4.0.1 - template - struct __cnst_traits_aux : private _Traits -@@ -372,37 +396,36 @@ - # define __TRAITS_VALUE_TYPE(_Traits) _Traits::value_type - # endif - --# if defined (__STL_MSVC) -+# if defined (_STLP_MSVC) - // MSVC specific - template --inline void __STL_CALL _Distance(_InputIterator __first, -- _InputIterator __last, _Dist& __n) --{ -- __distance(__first, __last, __n, __ITERATOR_CATEGORY(__first)); -+inline void _STLP_CALL _Distance(_InputIterator __first, -+ _InputIterator __last, _Dist& __n) { -+ __distance(__first, __last, __n, _STLP_ITERATOR_CATEGORY(__first, _InputIterator)); - } - # endif - - template --__STL_INLINE_LOOP void __STL_CALL __advance(_InputIter& __i, _Distance __n, input_iterator_tag) { -+_STLP_INLINE_LOOP void _STLP_CALL __advance(_InputIter& __i, _Distance __n, const input_iterator_tag &) { - while (__n--) ++__i; - } - - // fbp : added output iterator tag variant - template --__STL_INLINE_LOOP void __STL_CALL __advance(_InputIter& __i, _Distance __n, output_iterator_tag) { -+_STLP_INLINE_LOOP void _STLP_CALL __advance(_InputIter& __i, _Distance __n, const output_iterator_tag &) { - while (__n--) ++__i; - } - --# if defined (__STL_NONTEMPL_BASE_MATCH_BUG) -+# if defined (_STLP_NONTEMPL_BASE_MATCH_BUG) - template --__STL_INLINE_LOOP void __STL_CALL __advance(_ForwardIterator& i, _Distance n, forward_iterator_tag) { -+_STLP_INLINE_LOOP void _STLP_CALL __advance(_ForwardIterator& i, _Distance n, const forward_iterator_tag &) { - while (n--) ++i; - } - # endif - - template --__STL_INLINE_LOOP void __STL_CALL __advance(_BidirectionalIterator& __i, _Distance __n, -- bidirectional_iterator_tag) { -+_STLP_INLINE_LOOP void _STLP_CALL __advance(_BidirectionalIterator& __i, _Distance __n, -+ const bidirectional_iterator_tag &) { - if (__n > 0) - while (__n--) ++__i; - else -@@ -410,23 +433,23 @@ - } - - template --inline void __STL_CALL __advance(_RandomAccessIterator& __i, _Distance __n, -- random_access_iterator_tag) { -+inline void _STLP_CALL __advance(_RandomAccessIterator& __i, _Distance __n, -+ const random_access_iterator_tag &) { - __i += __n; - } - - template --inline void __STL_CALL advance(_InputIterator& __i, _Distance __n) { -- __advance(__i, __n, __ITERATOR_CATEGORY(__i)); -+inline void _STLP_CALL advance(_InputIterator& __i, _Distance __n) { -+ __advance(__i, __n, _STLP_ITERATOR_CATEGORY(__i, _InputIterator)); - } - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --# if defined (__STL_DEBUG) && ! defined (__STLPORT_DEBUG_H) -+# if defined (_STLP_DEBUG) && ! defined (_STLP_DEBUG_H) - # include - # endif - --#endif /* __SGI_STL_INTERNAL_ITERATOR_BASE_H */ -+#endif /* _STLP_INTERNAL_ITERATOR_BASE_H */ - - - // Local Variables: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_iterator_old.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_iterator_old.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_iterator_old.h Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_iterator_old.h Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,351 @@ -+/* -+ * -+ * Copyright (c) 1994 -+ * Hewlett-Packard Company -+ * -+ * Copyright (c) 1996-1998 -+ * Silicon Graphics Computer Systems, Inc. -+ * -+ * Copyright (c) 1997 -+ * Moscow Center for SPARC Technology -+ * -+ * Copyright (c) 1999 -+ * Boris Fomitchev -+ * -+ * This material is provided "as is", with absolutely no warranty expressed -+ * or implied. Any use is at your own risk. -+ * -+ * Permission to use or copy this software for any purpose is hereby granted -+ * without fee, provided the above notices are retained on all copies. -+ * Permission to modify the code and to distribute modified code is granted, -+ * provided the above notices are retained, and a notice that the code was -+ * modified is included with the above copyright notice. -+ * -+ */ -+ -+/* NOTE: This is an internal header file, included by other STL headers. -+ * You should not attempt to use it directly. -+ */ -+ -+#ifndef _STLP_INTERNAL_ITERATOR_OLD_H -+#define _STLP_INTERNAL_ITERATOR_OLD_H -+ -+#ifndef _STLP_INTERNAL_ITERATOR_BASE_H -+# include -+#endif -+ -+_STLP_BEGIN_NAMESPACE -+ -+# ifdef _STLP_USE_OLD_HP_ITERATOR_QUERIES -+ -+template -+inline output_iterator_tag _STLP_CALL -+iterator_category(const back_insert_iterator<_Container>&) { return output_iterator_tag(); } -+template -+inline output_iterator_tag _STLP_CALL -+iterator_category(const front_insert_iterator<_Container>&) { return output_iterator_tag(); } -+template -+inline output_iterator_tag _STLP_CALL -+iterator_category(const insert_iterator<_Container>&) { return output_iterator_tag(); } -+ -+# endif -+ -+# if defined (_STLP_MSVC50_COMPATIBILITY) -+# define __Reference _Reference, class _Pointer -+# define Reference__ _Reference, _Pointer -+template -+# else -+# define __Reference _Reference -+# define Reference__ _Reference -+template -+# endif -+class reverse_bidirectional_iterator { -+ typedef reverse_bidirectional_iterator<_BidirectionalIterator, _Tp, -+ Reference__, _Distance> _Self; -+ // friend inline bool operator== _STLP_NULL_TMPL_ARGS (const _Self& x, const _Self& y); -+protected: -+ _BidirectionalIterator current; -+public: -+ typedef bidirectional_iterator_tag iterator_category; -+ typedef _Tp value_type; -+ typedef _Distance difference_type; -+# if defined (_STLP_MSVC50_COMPATIBILITY) -+ typedef _Pointer pointer; -+# else -+ typedef _Tp* pointer; -+# endif -+ typedef _Reference reference; -+ -+ reverse_bidirectional_iterator() {} -+ explicit reverse_bidirectional_iterator(_BidirectionalIterator __x) -+ : current(__x) {} -+ _BidirectionalIterator base() const { return current; } -+ _Reference operator*() const { -+ _BidirectionalIterator __tmp = current; -+ return *--__tmp; -+ } -+# if !(defined _STLP_NO_ARROW_OPERATOR) -+ _STLP_DEFINE_ARROW_OPERATOR -+# endif -+ _Self& operator++() { -+ --current; -+ return *this; -+ } -+ _Self operator++(int) { -+ _Self __tmp = *this; -+ --current; -+ return __tmp; -+ } -+ _Self& operator--() { -+ ++current; -+ return *this; -+ } -+ _Self operator--(int) { -+ _Self __tmp = *this; -+ ++current; -+ return __tmp; -+ } -+}; -+ -+# ifdef _STLP_USE_OLD_HP_ITERATOR_QUERIES -+template -+inline bidirectional_iterator_tag _STLP_CALL -+iterator_category(const reverse_bidirectional_iterator<_BidirectionalIterator, _Tp, Reference__, _Distance>&) -+{ return bidirectional_iterator_tag(); } -+template -+inline _Tp* _STLP_CALL -+value_type(const reverse_bidirectional_iterator<_BidirectionalIterator, _Tp, Reference__, _Distance>&) -+{ return (_Tp*) 0; } -+template -+inline _Distance* _STLP_CALL -+distance_type(const reverse_bidirectional_iterator<_BidirectionalIterator, _Tp, Reference__, _Distance>&) -+{ return (_Distance*) 0; } -+#endif -+ -+template -+inline bool _STLP_CALL operator==( -+ const reverse_bidirectional_iterator<_BidirectionalIterator, _Tp, -+ Reference__, _Distance>& __x, -+ const reverse_bidirectional_iterator<_BidirectionalIterator, _Tp, -+ Reference__, _Distance>& __y) -+{ -+ return __x.base() == __y.base(); -+} -+ -+#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE -+ -+template -+inline bool _STLP_CALL operator!=( -+ const reverse_bidirectional_iterator<_BiIter, _Tp, Reference__, _Distance>& __x, -+ const reverse_bidirectional_iterator<_BiIter, _Tp, Reference__, _Distance>& __y) -+{ -+ return !(__x == __y); -+} -+ -+#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ -+ -+#if ! defined ( _STLP_CLASS_PARTIAL_SPECIALIZATION ) -+ -+// This is the old version of reverse_iterator, as found in the original -+// HP STL. It does not use partial specialization. -+ -+template = 0x2405) \ -+ || defined(__MRC__) || defined(__SC__) //*ty 03/22/2001 - give the default to the secont param under MPW. -+ // I believe giving the default will cause any harm even though the 2nd type parameter -+ // still have to be provided for T* type iterators. -+ __DFL_TMPL_PARAM(_Tp,iterator_traits<_RandomAccessIterator>::value_type), -+# else -+ class _Tp, -+#endif -+ __DFL_TMPL_PARAM(_Reference,_Tp&), -+# if defined (_STLP_MSVC50_COMPATIBILITY) -+ __DFL_TMPL_PARAM(_Pointer, _Tp*), -+# endif -+ __DFL_TYPE_PARAM(_Distance,ptrdiff_t)> -+class reverse_iterator { -+ typedef reverse_iterator<_RandomAccessIterator, _Tp, Reference__, _Distance> -+ _Self; -+protected: -+ _RandomAccessIterator __current; -+public: -+ typedef random_access_iterator_tag iterator_category; -+ typedef _Tp value_type; -+ typedef _Distance difference_type; -+# if defined (_STLP_MSVC50_COMPATIBILITY) -+ typedef _Pointer pointer; -+# else -+ typedef _Tp* pointer; -+# endif -+ typedef _Reference reference; -+ -+ reverse_iterator() {} -+ reverse_iterator(const _Self& __x) : __current(__x.base()) {} -+ explicit reverse_iterator(_RandomAccessIterator __x) : __current(__x) {} -+ _Self& operator=(const _Self& __x) {__current = __x.base(); return *this; } -+ -+ _RandomAccessIterator base() const { return __current; } -+ _Reference operator*() const { return *(__current - (difference_type)1); } -+ -+# if !(defined _STLP_NO_ARROW_OPERATOR) -+ _STLP_DEFINE_ARROW_OPERATOR -+# endif -+ -+ _Self& operator++() { -+ --__current; -+ return *this; -+ } -+ _Self operator++(int) { -+ _Self __tmp = *this; -+ --__current; -+ return __tmp; -+ } -+ _Self& operator--() { -+ ++__current; -+ return *this; -+ } -+ _Self operator--(int) { -+ _Self __tmp = *this; -+ ++__current; -+ return __tmp; -+ } -+ _Self operator+(_Distance __n) const { -+ return _Self(__current - __n); -+ } -+ _Self& operator+=(_Distance __n) { -+ __current -= __n; -+ return *this; -+ } -+ _Self operator-(_Distance __n) const { -+ return _Self(__current + __n); -+ } -+ _Self& operator-=(_Distance __n) { -+ __current += __n; -+ return *this; -+ } -+ _Reference operator[](_Distance __n) const { return *(*this + __n); } -+}; -+ -+# ifdef _STLP_USE_OLD_HP_ITERATOR_QUERIES -+template -+inline random_access_iterator_tag _STLP_CALL -+iterator_category(const reverse_iterator<_RandomAccessIterator, _Tp, Reference__, _Distance>&) -+{ return random_access_iterator_tag(); } -+template -+inline _Tp* _STLP_CALL value_type(const reverse_iterator<_RandomAccessIterator, _Tp, Reference__, _Distance>&) -+{ return (_Tp*) 0; } -+template -+inline _Distance* _STLP_CALL -+distance_type(const reverse_iterator<_RandomAccessIterator, _Tp, Reference__, _Distance>&) -+{ return (_Distance*) 0; } -+#endif -+ -+template -+inline bool _STLP_CALL -+operator==(const reverse_iterator<_RandomAccessIterator, _Tp, -+ Reference__, _Distance>& __x, -+ const reverse_iterator<_RandomAccessIterator, _Tp, -+ Reference__, _Distance>& __y) -+{ -+ return __x.base() == __y.base(); -+} -+ -+template -+inline bool _STLP_CALL -+operator<(const reverse_iterator<_RandomAccessIterator, _Tp, -+ Reference__, _Distance>& __x, -+ const reverse_iterator<_RandomAccessIterator, _Tp, -+ Reference__, _Distance>& __y) -+{ -+ return __y.base() < __x.base(); -+} -+ -+#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE -+ -+template -+inline bool _STLP_CALL -+operator!=(const reverse_iterator<_RandomAccessIterator, _Tp, -+ Reference__, _Distance>& __x, -+ const reverse_iterator<_RandomAccessIterator, _Tp, -+ Reference__, _Distance>& __y) { -+ return !(__x == __y); -+} -+ -+template -+inline bool _STLP_CALL -+operator>(const reverse_iterator<_RandomAccessIterator, _Tp, -+ Reference__, _Distance>& __x, -+ const reverse_iterator<_RandomAccessIterator, _Tp, -+ Reference__, _Distance>& __y) { -+ return __y < __x; -+} -+ -+template -+inline bool _STLP_CALL -+operator<=(const reverse_iterator<_RandomAccessIterator, _Tp, -+ Reference__, _Distance>& __x, -+ const reverse_iterator<_RandomAccessIterator, _Tp, -+ Reference__, _Distance>& __y) { -+ return !(__y < __x); -+} -+ -+template -+inline bool _STLP_CALL -+operator>=(const reverse_iterator<_RandomAccessIterator, _Tp, -+ Reference__, _Distance>& __x, -+ const reverse_iterator<_RandomAccessIterator, _Tp, -+ Reference__, _Distance>& __y) { -+ return !(__x < __y); -+} -+ -+#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ -+ -+template -+inline _Distance _STLP_CALL -+operator-(const reverse_iterator<_RandomAccessIterator, _Tp, -+ Reference__, _Distance>& __x, -+ const reverse_iterator<_RandomAccessIterator, _Tp, -+ Reference__, _Distance>& __y) -+{ -+ return __y.base() - __x.base(); -+} -+ -+template -+inline reverse_iterator<_RandomAccessIterator, _Tp, -+ Reference__, _Distance> _STLP_CALL -+operator+(_Distance __n, -+ const reverse_iterator<_RandomAccessIterator, _Tp, -+ Reference__, _Distance>& __x) -+{ -+ return reverse_iterator<_RandomAccessIterator, _Tp, -+ Reference__, _Distance>(__x.base() - __n); -+} -+ -+#endif /* ! defined ( _STLP_CLASS_PARTIAL_SPECIALIZATION ) */ -+ -+_STLP_END_NAMESPACE -+ -+#endif /* _STLP_INTERNAL_ITERATOR_H */ -+ -+// Local Variables: -+// mode:C++ -+// End: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_limits.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_limits.c ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_limits.c Sat Feb 24 10:44:56 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_limits.c Sun Aug 11 18:59:24 2002 -@@ -16,53 +16,24 @@ - * - */ - --# if !defined (__STLPORT_LIMITS_C) || !defined (__STL_LINK_TIME_INSTANTIATION) --# undef __STLPORT_LIMITS_C --# define __STLPORT_LIMITS_C -+# if !defined (_STLP_LIMITS_C) -+# define _STLP_LIMITS_C -+ -+#ifndef _STLP_INTERNAL_LIMITS_H -+# include -+#endif - - //========================================================== - // numeric_limits static members - //========================================================== - --__STL_BEGIN_NAMESPACE -- --# ifdef __STL_NO_STATIC_TEMPLATE_DATA -+_STLP_BEGIN_NAMESPACE - --// gcc 2.7.x seems to allow inline initialization, and --// it is the only compiler without static members, so leave it alone -+# if ! defined ( _STLP_STATIC_CONST_INIT_BUG) - --# define __declare_numeric_base_member(__number, __type, __mem) \ --__DECLARE_INSTANCE(const __type,_Numeric_limits_base<__number>:: __mem) -- --# define __declare_numeric_base_members(__number) \ --__declare_numeric_base_member(__number, bool, is_specialized);\ --__declare_numeric_base_member(__number, int, digits);\ --__declare_numeric_base_member(__number, int, digits10);\ --__declare_numeric_base_member(__number, bool, is_signed);\ --__declare_numeric_base_member(__number, bool, is_integer);\ --__declare_numeric_base_member(__number, bool, is_exact);\ --__declare_numeric_base_member(__number, int, radix);\ --__declare_numeric_base_member(__number, int, min_exponent);\ --__declare_numeric_base_member(__number, int, max_exponent);\ --__declare_numeric_base_member(__number, int, min_exponent10);\ --__declare_numeric_base_member(__number, int, max_exponent10);\ --__declare_numeric_base_member(__number, bool, has_infinity);\ --__declare_numeric_base_member(__number, bool, has_quiet_NaN);\ --__declare_numeric_base_member(__number, bool, has_signaling_NaN);\ --__declare_numeric_base_member(__number, float_denorm_style, has_denorm);\ --__declare_numeric_base_member(__number, bool, has_denorm_loss);\ --__declare_numeric_base_member(__number, bool, is_iec559);\ --__declare_numeric_base_member(__number, bool, is_bounded);\ --__declare_numeric_base_member(__number, bool, is_modulo);\ --__declare_numeric_base_member(__number, bool, traps);\ --__declare_numeric_base_member(__number, bool, tinyness_before);\ --__declare_numeric_base_member(__number, float_round_style, round_style); -- --# else -- --# define __declare_numeric_base_member(__type, __mem, __init) \ -+# define __declare_numeric_base_member(__type, __mem, _Init) \ - template \ -- const __type _Numeric_limits_base<__number>:: __mem __STL_OUTLINE_STATIC_INIT(__init) -+ const __type _Numeric_limits_base<__number>:: __mem - - __declare_numeric_base_member(bool, is_specialized, false); - __declare_numeric_base_member(int, digits, 0); -@@ -87,81 +58,25 @@ - __declare_numeric_base_member(bool, tinyness_before, false); - __declare_numeric_base_member(float_round_style, round_style, round_toward_zero); - --# endif -- - # undef __declare_numeric_base_member - --# if defined (__STL_NO_STATIC_TEMPLATE_DATA) --# define __HACK_ILIMITS(_Int, __imin, __imax, __idigits) _Integer_limits<_Int, __imin, __imax, __idigits> --# define __HACK_NOTHING --# define __declare_integer_limits_member(_Int, __imin, __imax, __idigits, __type, __mem) \ -- __DECLARE_INSTANCE(const __type, __HACK_ILIMITS(_Int, __imin, __imax, __idigits):: __mem,__HACK_NOTHING) -- --# define __declare_int_members(_Int, __imin, __imax, __idigits) \ --__declare_integer_limits_member(_Int, __imin, __imax, __idigits, bool, is_specialized);\ --__declare_integer_limits_member(_Int, __imin, __imax, __idigits, int, digits);\ --__declare_integer_limits_member(_Int, __imin, __imax, __idigits, int, digits10);\ --__declare_integer_limits_member(_Int, __imin, __imax, __idigits, bool, is_signed);\ --__declare_integer_limits_member(_Int, __imin, __imax, __idigits, bool, is_integer);\ --__declare_integer_limits_member(_Int, __imin, __imax, __idigits, bool, is_exact);\ --__declare_integer_limits_member(_Int, __imin, __imax, __idigits, int, radix);\ --__declare_integer_limits_member(_Int, __imin, __imax, __idigits, bool, is_bounded);\ --__declare_integer_limits_member(_Int, __imin, __imax, __idigits, bool, is_modulo); -- -- --# else --# define __declare_integer_limits_member(__type, __mem, __init) \ --template \ -- const __type _Integer_limits<_Int, __imin, __imax, __idigits, __ismod>:: __mem __STL_OUTLINE_STATIC_INIT(__init) -+# define __declare_integer_limits_member(__type, __mem, _Init) \ -+template \ -+ const __type _Integer_limits<_Int, __imin, __imax, __idigits, __ismod>:: __mem - - __declare_integer_limits_member(bool, is_specialized, true); - __declare_integer_limits_member(int, digits, (__idigits < 0) ? \ - ((int)((sizeof(_Int) * (CHAR_BIT))) - ((__imin == 0) ? 0 : 1)) \ - : (__idigits) ); --__declare_integer_limits_member(int, digits10, (digits * 301UL) / 1000); -+__declare_integer_limits_member(int, digits10, (int)(301UL * digits) /1000); - __declare_integer_limits_member(bool, is_signed, __imin != 0); - __declare_integer_limits_member(bool, is_integer, true); - __declare_integer_limits_member(bool, is_exact, true); - __declare_integer_limits_member(int, radix, 2); - __declare_integer_limits_member(bool, is_bounded, true); - __declare_integer_limits_member(bool, is_modulo, true); --# endif -- --# if defined (__STL_NO_STATIC_TEMPLATE_DATA) --# define __HACK_FLIMITS(__Num, __Dig, __Dig10,__MnX, __MxX, __MnX10, __MxX10, __IsIEEE, __Sty) \ --_Floating_limits<__Num, __Dig, __Dig10, \ -- __MnX, __MxX, __MnX10, __MxX10, \ -- __IsIEEE, __Sty> -- --# define __declare_float_limits_member(__Num, __Dig, __Dig10,__MnX, __MxX, __MnX10, __MxX10, __IsIEEE, __Sty, __type, __mem) \ -- __DECLARE_INSTANCE(const __type, __HACK_FLIMITS(__Num, __Dig, __Dig10, \ -- __MnX, __MxX, __MnX10, __MxX10, \ -- __IsIEEE, __Sty)::__mem, __HACK_NOTHING) -- --# define __declare_float_members(__Num, __Dig, __Dig10,__MnX, __MxX, __MnX10, __MxX10, __IsIEEE, __Sty) \ --__declare_float_limits_member(__Num, __Dig, __Dig10,__MnX, __MxX, __MnX10, __MxX10, __IsIEEE, __Sty, bool, is_specialized);\ --__declare_float_limits_member(__Num, __Dig, __Dig10,__MnX, __MxX, __MnX10, __MxX10, __IsIEEE, __Sty, int, digits);\ --__declare_float_limits_member(__Num, __Dig, __Dig10,__MnX, __MxX, __MnX10, __MxX10, __IsIEEE, __Sty, int, digits10);\ --__declare_float_limits_member(__Num, __Dig, __Dig10,__MnX, __MxX, __MnX10, __MxX10, __IsIEEE, __Sty, bool, is_signed);\ --__declare_float_limits_member(__Num, __Dig, __Dig10,__MnX, __MxX, __MnX10, __MxX10, __IsIEEE, __Sty, int, radix);\ --__declare_float_limits_member(__Num, __Dig, __Dig10,__MnX, __MxX, __MnX10, __MxX10, __IsIEEE, __Sty, int, min_exponent);\ --__declare_float_limits_member(__Num, __Dig, __Dig10,__MnX, __MxX, __MnX10, __MxX10, __IsIEEE, __Sty, int, max_exponent);\ --__declare_float_limits_member(__Num, __Dig, __Dig10,__MnX, __MxX, __MnX10, __MxX10, __IsIEEE, __Sty, int, min_exponent10);\ --__declare_float_limits_member(__Num, __Dig, __Dig10,__MnX, __MxX, __MnX10, __MxX10, __IsIEEE, __Sty, int, max_exponent10);\ --__declare_float_limits_member(__Num, __Dig, __Dig10,__MnX, __MxX, __MnX10, __MxX10, __IsIEEE, __Sty, bool, has_infinity);\ --__declare_float_limits_member(__Num, __Dig, __Dig10,__MnX, __MxX, __MnX10, __MxX10, __IsIEEE, __Sty, bool, has_quiet_NaN);\ --__declare_float_limits_member(__Num, __Dig, __Dig10,__MnX, __MxX, __MnX10, __MxX10, __IsIEEE, __Sty, bool, has_signaling_NaN);\ --__declare_float_limits_member(__Num, __Dig, __Dig10,__MnX, __MxX, __MnX10, __MxX10, __IsIEEE, __Sty, float_denorm_style, has_denorm);\ --__declare_float_limits_member(__Num, __Dig, __Dig10,__MnX, __MxX, __MnX10, __MxX10, __IsIEEE, __Sty, bool, has_denorm_loss);\ --__declare_float_limits_member(__Num, __Dig, __Dig10,__MnX, __MxX, __MnX10, __MxX10, __IsIEEE, __Sty, bool, is_iec559);\ --__declare_float_limits_member(__Num, __Dig, __Dig10,__MnX, __MxX, __MnX10, __MxX10, __IsIEEE, __Sty, bool, is_bounded);\ --__declare_float_limits_member(__Num, __Dig, __Dig10,__MnX, __MxX, __MnX10, __MxX10, __IsIEEE, __Sty, bool, traps);\ --__declare_float_limits_member(__Num, __Dig, __Dig10,__MnX, __MxX, __MnX10, __MxX10, __IsIEEE, __Sty, bool, tinyness_before);\ --__declare_float_limits_member(__Num, __Dig, __Dig10,__MnX, __MxX, __MnX10, __MxX10, __IsIEEE, __Sty, float_round_style, round_style); - --# else -- --# define __declare_float_limits_member(__type, __mem, __init) \ -+# define __declare_float_limits_member(__type, __mem, _Init) \ - template ::\ -- __mem __STL_OUTLINE_STATIC_INIT(__init) -+ __mem - - __declare_float_limits_member(bool, is_specialized, true); - __declare_float_limits_member(int, digits, __Digits); -@@ -193,154 +108,165 @@ - __declare_float_limits_member(bool, tinyness_before, false); - __declare_float_limits_member(float_round_style, round_style, __RoundStyle); - -+# endif /* _STLP_STATIC_CONST_INIT_BUG */ -+ -+ -+# ifdef _STLP_EXPOSE_GLOBALS_IMPLEMENTATION -+ -+# if defined(_STLP_BIG_ENDIAN) -+# if defined(__OS400__) -+# define _STLP_FLOAT_INF_REP { 0x7f80, 0 } -+# define _STLP_FLOAT_QNAN_REP { 0xffc0, 0 } -+# define _STLP_FLOAT_SNAN_REP { 0xff80, 0 } -+# define _STLP_DOUBLE_INF_REP { 0x7ff0, 0, 0, 0 } -+# define _STLP_DOUBLE_QNAN_REP { 0xfff8, 0, 0, 0 } -+# define _STLP_DOUBLE_SNAN_REP { 0xfff0, 0, 0, 0 } -+# define _STLP_LDOUBLE_INF_REP { 0x7ff0, 0, 0, 0, 0, 0, 0, 0 } -+# define _STLP_LDOUBLE_QNAN_REP { 0xfff8, 0, 0, 0, 0, 0, 0, 0 } -+# define _STLP_LDOUBLE_SNAN_REP { 0xfff0, 0, 0, 0, 0, 0, 0, 0 } -+# else -+# define _STLP_FLOAT_INF_REP { 0x7f80, 0 } -+# define _STLP_FLOAT_QNAN_REP { 0x7f81, 0 } -+# define _STLP_FLOAT_SNAN_REP { 0x7fc1, 0 } -+# define _STLP_DOUBLE_INF_REP { 0x7ff0, 0, 0, 0 } -+# define _STLP_DOUBLE_QNAN_REP { 0x7ff1, 0, 0, 0 } -+# define _STLP_DOUBLE_SNAN_REP { 0x7ff9, 0, 0, 0 } -+# define _STLP_LDOUBLE_INF_REP { 0x7ff0, 0, 0, 0, 0, 0, 0, 0 } -+# define _STLP_LDOUBLE_QNAN_REP { 0x7ff1, 0, 0, 0, 0, 0, 0, 0 } -+# define _STLP_LDOUBLE_SNAN_REP { 0x7ff9, 0, 0, 0, 0, 0, 0, 0 } - # endif - --# ifdef __STL_NO_STATIC_TEMPLATE_DATA --# ifndef __STL_NO_BOOL --__declare_int_members(bool, false, true, 0) --# endif --__declare_int_members(char, CHAR_MIN, CHAR_MAX, -1) --# ifndef __STL_NO_SIGNED_BUILTINS --__declare_int_members(signed char, SCHAR_MIN, SCHAR_MAX, -1) --# endif --__declare_int_members(unsigned char, 0, UCHAR_MAX, -1) --# if defined (__STL_HAS_WCHAR_T) && !defined ( __STL_WCHAR_T_IS_USHORT) --__declare_int_members(wchar_t, INT_MIN, INT_MAX, -1) --# endif --__declare_int_members(short, SHRT_MIN, SHRT_MAX, -1) --__declare_int_members(unsigned short, 0, USHRT_MAX, -1) --__declare_int_members(int, INT_MIN, INT_MAX, -1) --__declare_int_members(unsigned int, 0, UINT_MAX, -1) --__declare_int_members(long, LONG_MIN, LONG_MAX, -1) --__declare_int_members(unsigned long, 0, ULONG_MAX, -1) --# ifdef __STL_LONG_LONG --__declare_int_members(long long, LONGLONG_MIN, LONG_MAX, -1) --__declare_int_members(unsigned long long, 0, ULONGLONG_MAX, -1) --# endif --__declare_float_members(float, FLT_MANT_DIG,FLT_DIG, -- FLT_MIN_EXP, -- FLT_MAX_EXP, -- FLT_MIN_10_EXP, -- FLT_MAX_10_EXP, -- true, -- round_to_nearest) -- --__declare_float_members(double, -- DBL_MANT_DIG, -- DBL_DIG, -- DBL_MIN_EXP, -- DBL_MAX_EXP, -- DBL_MIN_10_EXP, -- DBL_MAX_10_EXP, -- true, -- round_to_nearest) --# if !defined (__STL_NO_LONG_DOUBLE) --__declare_float_members(long double, -- LDBL_MANT_DIG, -- LDBL_DIG, -- LDBL_MIN_EXP, -- LDBL_MAX_EXP, -- LDBL_MIN_10_EXP, -- LDBL_MAX_10_EXP, -- false, -- round_to_nearest) --# endif -+# elif defined (_STLP_LITTLE_ENDIAN) - --# endif /* STATIC */ -+# if 0 /* defined(_STLP_MSVC) || defined(__linux__) */ -+// some IA-32 platform ?? -+# define _STLP_FLOAT_INF_REP { 0, 0x7f80 } -+# define _STLP_FLOAT_QNAN_REP { 0, 0xffc0 } -+# define _STLP_FLOAT_SNAN_REP { 0, 0xff80 } -+ -+# define _STLP_DOUBLE_INF_REP { 0, 0, 0, 0x7ff0 } -+# define _STLP_DOUBLE_QNAN_REP { 0, 0, 0, 0xfff8 } -+# define _STLP_DOUBLE_SNAN_REP { 0, 0, 0, 0xfff0 } -+# define _STLP_LDOUBLE_INF_REP { 0, 0, 0, 0x7FF0, 0 } // ???? -+# define _STLP_LDOUBLE_QNAN_REP { 0, 0, 0, 0xFFF8, 0 } // ???? -+# define _STLP_LDOUBLE_SNAN_REP { 0, 0, 0, 0xFFF0, 0 } // ???? -+ -+# elif defined(__DECCXX) -+ -+# define _STLP_FLOAT_INF_REP { 0, 0x7f80 } -+# define _STLP_FLOAT_QNAN_REP { 0, 0xffc0 } -+# define _STLP_FLOAT_SNAN_REP { 0x5555, 0x7f85 } -+ -+# define _STLP_DOUBLE_INF_REP { 0, 0, 0, 0x7ff0 } -+# define _STLP_DOUBLE_QNAN_REP { 0, 0, 0, 0xfff8 } -+# define _STLP_DOUBLE_SNAN_REP { 0x5555, 0x5555, 0x5555, 0x7ff5 } -+ -+# define _STLP_LDOUBLE_INF_REP { 0, 0, 0, 0, 0, 0, 0, 0x7fff } -+# define _STLP_LDOUBLE_QNAN_REP { 0, 0, 0, 0, 0, 0, 0x8000, 0xffff } -+# define _STLP_LDOUBLE_SNAN_REP { 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x7fff} -+# else -+# define _STLP_FLOAT_INF_REP { 0, 0x7f80 } -+# define _STLP_FLOAT_QNAN_REP { 0, 0x7fa0 } -+# define _STLP_FLOAT_SNAN_REP { 0, 0x7fc0 } -+# define _STLP_DOUBLE_INF_REP { 0, 0, 0, 0x7ff0 } -+# define _STLP_DOUBLE_QNAN_REP { 0, 0, 0, 0x7ff4 } -+# define _STLP_DOUBLE_SNAN_REP { 0, 0, 0, 0x7ff8 } -+# if defined (_STLP_MSVC) || defined (__ICL) || defined (__BORLANDC__) -+# define _STLP_LDOUBLE_INF_REP { 0, 0, 0, 0x7FF0, 0 } // ???? -+# define _STLP_LDOUBLE_QNAN_REP { 0, 0, 0, 0xFFF8, 0 } // ???? -+# define _STLP_LDOUBLE_SNAN_REP { 0, 0, 0, 0xFFF8, 0 } -+# else -+# define _STLP_LDOUBLE_INF_REP { 0, 0, 0, 0x8000, 0x7fff } -+# define _STLP_LDOUBLE_QNAN_REP { 0, 0, 0, 0xa000, 0x7fff } -+# define _STLP_LDOUBLE_SNAN_REP { 0, 0, 0, 0xc000, 0x7fff } -+# endif -+# endif -+#else -+/* This is an architecture we don't know how to handle. Return some -+obviously wrong values. */ -+# define _STLP_FLOAT_INF_REP { 0, 0 } -+# define _STLP_FLOAT_QNAN_REP { 0, 0 } -+# define _STLP_FLOAT_SNAN_REP { 0, 0 } -+# define _STLP_DOUBLE_INF_REP { 0, 0 } -+# define _STLP_DOUBLE_QNAN_REP { 0, 0 } -+# define _STLP_DOUBLE_SNAN_REP { 0, 0 } -+# define _STLP_LDOUBLE_INF_REP { 0 } -+# define _STLP_LDOUBLE_QNAN_REP { 0 } -+# define _STLP_LDOUBLE_SNAN_REP { 0 } - -+#endif - --# if defined(__STL_BIG_ENDIAN) - --# define __STL_FLOAT_INF_REP { 0x7f80, 0 } --# define __STL_FLOAT_QNAN_REP { 0x7f81, 0 } --# define __STL_FLOAT_SNAN_REP { 0x7fc1, 0 } --# define __STL_DOUBLE_INF_REP { 0x7ff0, 0, 0, 0 } --# define __STL_DOUBLE_QNAN_REP { 0x7ff1, 0, 0, 0 } --# define __STL_DOUBLE_SNAN_REP { 0x7ff9, 0, 0, 0 } --# define __STL_LDOUBLE_INF_REP { 0x7ff0, 0, 0, 0, 0, 0, 0, 0 } --# define __STL_LDOUBLE_QNAN_REP { 0x7ff1, 0, 0, 0, 0, 0, 0, 0 } --# define __STL_LDOUBLE_SNAN_REP { 0x7ff9, 0, 0, 0, 0, 0, 0, 0 } -- --# elif defined (__STL_LITTTE_ENDIAN) -- --# define __STL_FLOAT_INF_REP { 0x7f80, 0 } --# define __STL_FLOAT_QNAN_REP { 0x7fa0, 0 } --# define __STL_FLOAT_SNAN_REP { 0x7fc0, 0 } --# define __STL_DOUBLE_INF_REP { 0, 0, 0x7ff0, 0 } --# define __STL_DOUBLE_QNAN_REP { 0, 0, 0x7ff4, 0 } --# define __STL_DOUBLE_SNAN_REP { 0, 0, 0x7ff8, 0 } --// note : this is IA-32 80-bit address. WOn't work for any other little-endian --// machines ! --# define __STL_LDOUBLE_INF_REP { 0, 0, 0, 0x7fff, 0x8000 } --# define __STL_LDOUBLE_QNAN_REP { 0, 0, 0, 0x7fff, 0xa000 } --# define __STL_LDOUBLE_SNAN_REP { 0, 0, 0, 0x7fff, 0xc000 } -+# if 0 -+# if defined(_STLP_BIG_ENDIAN) - -+# elif defined (_STLP_LITTLE_ENDIAN) - #else - - /* This is an architecture we don't know how to handle. Return some - obviously wrong values. */ --# define __STL_FLOAT_INF_REP { 0, 0 } --# define __STL_FLOAT_QNAN_REP { 0, 0 } --# define __STL_FLOAT_SNAN_REP { 0, 0 } --# define __STL_DOUBLE_INF_REP { 0, 0 } --# define __STL_DOUBLE_QNAN_REP { 0, 0 } --# define __STL_DOUBLE_SNAN_REP { 0, 0 } --# define __STL_LDOUBLE_INF_REP { 0 } --# define __STL_LDOUBLE_QNAN_REP { 0 } --# define __STL_LDOUBLE_SNAN_REP { 0 } -+# define _STLP_FLOAT_INF_REP { 0, 0 } -+# define _STLP_FLOAT_QNAN_REP { 0, 0 } -+# define _STLP_FLOAT_SNAN_REP { 0, 0 } -+# define _STLP_DOUBLE_INF_REP { 0, 0 } -+# define _STLP_DOUBLE_QNAN_REP { 0, 0 } -+# define _STLP_DOUBLE_SNAN_REP { 0, 0 } -+# define _STLP_LDOUBLE_INF_REP { 0 } -+# define _STLP_LDOUBLE_QNAN_REP { 0 } -+# define _STLP_LDOUBLE_SNAN_REP { 0 } - - #endif -+# endif - --# define __STL_ARRAY_STATIC_INIT(__x) = __x -- --#if __STL_STATIC_TEMPLATE_DATA > 0 -+#if ( _STLP_STATIC_TEMPLATE_DATA > 0 ) - --# ifndef __STL_NO_LONG_DOUBLE -+# ifndef _STLP_NO_LONG_DOUBLE - template --const _L_rep _LimG<__dummy>::_L_inf __STL_ARRAY_STATIC_INIT({__STL_LDOUBLE_INF_REP}); -+const _L_rep _LimG<__dummy>::_L_inf = {_STLP_LDOUBLE_INF_REP}; - template --const _L_rep _LimG<__dummy>::_L_qNaN __STL_ARRAY_STATIC_INIT({__STL_LDOUBLE_QNAN_REP}); -+const _L_rep _LimG<__dummy>::_L_qNaN = {_STLP_LDOUBLE_QNAN_REP}; - template --const _L_rep _LimG<__dummy>::_L_sNaN __STL_ARRAY_STATIC_INIT({__STL_LDOUBLE_SNAN_REP}); -+const _L_rep _LimG<__dummy>::_L_sNaN = {_STLP_LDOUBLE_SNAN_REP}; - # endif - template --const _D_rep _LimG<__dummy>::_D_inf __STL_ARRAY_STATIC_INIT({__STL_DOUBLE_INF_REP}); -+const _D_rep _LimG<__dummy>::_D_inf = {_STLP_DOUBLE_INF_REP}; - template --const _D_rep _LimG<__dummy>::_D_qNaN __STL_ARRAY_STATIC_INIT({__STL_DOUBLE_QNAN_REP}); -+const _D_rep _LimG<__dummy>::_D_qNaN = {_STLP_DOUBLE_QNAN_REP}; - template --const _D_rep _LimG<__dummy>::_D_sNaN __STL_ARRAY_STATIC_INIT({__STL_DOUBLE_SNAN_REP}); -+const _D_rep _LimG<__dummy>::_D_sNaN = {_STLP_DOUBLE_SNAN_REP}; - template --const _F_rep _LimG<__dummy>::_F_inf __STL_ARRAY_STATIC_INIT({__STL_FLOAT_INF_REP}); -+const _F_rep _LimG<__dummy>::_F_inf = {_STLP_FLOAT_INF_REP}; - template --const _F_rep _LimG<__dummy>::_F_qNaN __STL_ARRAY_STATIC_INIT({__STL_FLOAT_QNAN_REP}); -+const _F_rep _LimG<__dummy>::_F_qNaN = {_STLP_FLOAT_QNAN_REP}; - template --const _F_rep _LimG<__dummy>::_F_sNaN __STL_ARRAY_STATIC_INIT({__STL_FLOAT_SNAN_REP}); -+const _F_rep _LimG<__dummy>::_F_sNaN = {_STLP_FLOAT_SNAN_REP}; - - #else - --__DECLARE_INSTANCE(_F_rep, -- _LimG::_F_inf, __STL_ARRAY_STATIC_INIT(__STL_FLOAT_INF_REP)); --__DECLARE_INSTANCE(_F_rep, -- _LimG::_F_qNaN, __STL_ARRAY_STATIC_INIT(__STL_FLOAT_QNAN_REP)); --__DECLARE_INSTANCE(_F_rep, -- _LimG::_F_sNaN, __STL_ARRAY_STATIC_INIT(__STL_FLOAT_SNAN_REP)); --__DECLARE_INSTANCE(_D_rep, -- _LimG::_D_inf, __STL_ARRAY_STATIC_INIT(__STL_DOUBLE_INF_REP)); --__DECLARE_INSTANCE(_D_rep, -- _LimG::_D_qNaN, __STL_ARRAY_STATIC_INIT(__STL_DOUBLE_QNAN_REP)); --__DECLARE_INSTANCE(_D_rep, -- _LimG::_D_sNaN, __STL_ARRAY_STATIC_INIT(__STL_DOUBLE_SNAN_REP)); --# ifndef __STL_NO_LONG_DOUBLE --__DECLARE_INSTANCE(_L_rep, -- _LimG::_L_inf, __STL_ARRAY_STATIC_INIT(__STL_LDOUBLE_INF_REP)); --__DECLARE_INSTANCE(_D_rep, -- _LimG::_L_qNaN, __STL_ARRAY_STATIC_INIT(__STL_LDOUBLE_QNAN_REP)); --__DECLARE_INSTANCE(_L_rep, -- _LimG::_L_sNaN, __STL_ARRAY_STATIC_INIT(__STL_LDOUBLE_SNAN_REP)); -+__DECLARE_INSTANCE( const _F_rep, -+ _LimG::_F_inf, = _STLP_FLOAT_INF_REP); -+__DECLARE_INSTANCE( const _F_rep, -+ _LimG::_F_qNaN, = _STLP_FLOAT_QNAN_REP); -+__DECLARE_INSTANCE( const _F_rep, -+ _LimG::_F_sNaN, = _STLP_FLOAT_SNAN_REP); -+__DECLARE_INSTANCE( const _D_rep, -+ _LimG::_D_inf, = _STLP_DOUBLE_INF_REP); -+__DECLARE_INSTANCE( const _D_rep, -+ _LimG::_D_qNaN, = _STLP_DOUBLE_QNAN_REP); -+__DECLARE_INSTANCE( const _D_rep, -+ _LimG::_D_sNaN, = _STLP_DOUBLE_SNAN_REP); -+# ifndef _STLP_NO_LONG_DOUBLE -+__DECLARE_INSTANCE( const _L_rep, -+ _LimG::_L_inf, = _STLP_LDOUBLE_INF_REP); -+__DECLARE_INSTANCE( const _L_rep, -+ _LimG::_L_qNaN, = _STLP_LDOUBLE_QNAN_REP); -+__DECLARE_INSTANCE( const _L_rep, -+ _LimG::_L_sNaN, = _STLP_LDOUBLE_SNAN_REP); - # endif - - #endif /* STATIC_DATA */ - -+# endif /* _STLP_EXPOSE_GLOBALS_IMPLEMENTATION */ - - # undef __declare_integer_limits_member - # undef __declare_float_limits_member -@@ -348,19 +274,20 @@ - # undef __HACK_NOTHING - # undef __declare_int_members - # undef __declare_float_members --# undef __STL_LIMITS_MIN_TYPE --# undef __STL_LIMITS_MAX_TYPE -+# undef _STLP_LIMITS_MIN_TYPE -+# undef _STLP_LIMITS_MAX_TYPE -+ -+# undef _STLP_FLOAT_INF_REP -+# undef _STLP_FLOAT_QNAN_REP -+# undef _STLP_FLOAT_SNAN_REP -+# undef _STLP_DOUBLE_INF_REP -+# undef _STLP_DOUBLE_QNAN_REP -+# undef _STLP_DOUBLE_SNAN_REP -+# undef _STLP_LDOUBLE_INF_REP -+# undef _STLP_LDOUBLE_QNAN_REP -+# undef _STLP_LDOUBLE_SNAN_REP - --# undef __STL_FLOAT_INF_REP --# undef __STL_FLOAT_QNAN_REP --# undef __STL_FLOAT_SNAN_REP --# undef __STL_DOUBLE_INF_REP --# undef __STL_DOUBLE_QNAN_REP --# undef __STL_DOUBLE_SNAN_REP --# undef __STL_LDOUBLE_INF_REP --# undef __STL_LDOUBLE_QNAN_REP --# undef __STL_LDOUBLE_SNAN_REP -+_STLP_END_NAMESPACE - --__STL_END_NAMESPACE - --#endif /* __STLPORT_LIMITS_C_INCLUDED */ -+#endif /* _STLP_LIMITS_C_INCLUDED */ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_limits.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_limits.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_limits.h Sat Feb 24 10:44:56 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_limits.h Sun Aug 11 18:59:24 2002 -@@ -21,12 +21,22 @@ - * for the MIPS, SPARC, Alpha and ia32 architectures. - */ - --#ifndef __STLPORT_LIMITS_H --# define __STLPORT_LIMITS_H -+#ifndef _STLP_INTERNAL_LIMITS_H -+# define _STLP_INTERNAL_LIMITS_H - --#define __SGI_CPP_LIMITS -+#ifndef _STLP_CLIMITS -+# include -+#endif -+ -+#ifndef _STLP_CFLOAT -+# include -+#endif -+ -+#if !defined (_STLP_NO_WCHAR_T) -+# include -+#endif - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - enum float_round_style { - round_indeterminate = -1, -@@ -47,90 +57,116 @@ - template - class _Numeric_limits_base { - public: -- static const bool is_specialized __STL_INLINE_STATIC_INIT ( false ); - -- static __number __STL_CALL min() __STL_NOTHROW { return __number(); } -- static __number __STL_CALL max() __STL_NOTHROW { return __number(); } -+ static __number (_STLP_CALL min)() _STLP_NOTHROW { return __number(); } -+ static __number (_STLP_CALL max)() _STLP_NOTHROW { return __number(); } -+ -+# if defined ( _STLP_STATIC_CONST_INIT_BUG) -+ enum { -+# else -+ static const int -+# endif -+ -+ digits = 0, -+ digits10 = 0, -+ radix = 0, -+ min_exponent = 0, -+ min_exponent10 = 0, -+ max_exponent = 0, -+ max_exponent10 = 0 -+ -+# if defined ( _STLP_STATIC_CONST_INIT_BUG) -+ , -+ has_denorm = denorm_absent, -+ round_style = round_toward_zero, -+# else -+ ; -+ static const float_denorm_style has_denorm = denorm_absent; -+ static const float_round_style round_style = round_toward_zero; -+ static const bool -+# endif -+ -+ is_specialized = false, -+ is_signed = false, -+ is_integer = false, -+ is_exact = false, -+ has_infinity = false, -+ has_quiet_NaN = false, -+ has_signaling_NaN = false, -+ has_denorm_loss = false, -+ is_iec559 = false, -+ is_bounded = false, -+ is_modulo = false, -+ traps = false, -+ tinyness_before = false -+# if defined ( _STLP_STATIC_CONST_INIT_BUG) -+ } -+# endif -+ ; -+ -+ static __number _STLP_CALL epsilon() _STLP_NOTHROW { return __number(); } -+ static __number _STLP_CALL round_error() _STLP_NOTHROW { return __number(); } -+ -+ static __number _STLP_CALL infinity() _STLP_NOTHROW { return __number(); } -+ static __number _STLP_CALL quiet_NaN() _STLP_NOTHROW { return __number(); } -+ static __number _STLP_CALL signaling_NaN() _STLP_NOTHROW { return __number(); } -+ static __number _STLP_CALL denorm_min() _STLP_NOTHROW { return __number(); } - -- static const int digits __STL_INLINE_STATIC_INIT( 0 ); -- static const int digits10 __STL_INLINE_STATIC_INIT ( 0 ); - -- static const bool is_signed __STL_INLINE_STATIC_INIT ( false ); -- static const bool is_integer __STL_INLINE_STATIC_INIT ( false ); -- static const bool is_exact __STL_INLINE_STATIC_INIT ( false ); -- -- static const int radix __STL_INLINE_STATIC_INIT ( 0 ); -- -- static __number __STL_CALL epsilon() __STL_NOTHROW { return __number(); } -- static __number __STL_CALL round_error() __STL_NOTHROW { return __number(); } -- -- static const int min_exponent __STL_INLINE_STATIC_INIT ( 0 ); -- static const int min_exponent10 __STL_INLINE_STATIC_INIT ( 0 ); -- static const int max_exponent __STL_INLINE_STATIC_INIT ( 0 ); -- static const int max_exponent10 __STL_INLINE_STATIC_INIT ( 0 ); -- -- static const bool has_infinity __STL_INLINE_STATIC_INIT ( false ); -- static const bool has_quiet_NaN __STL_INLINE_STATIC_INIT ( false ); -- static const bool has_signaling_NaN __STL_INLINE_STATIC_INIT ( false ); -- static const float_denorm_style has_denorm __STL_INLINE_STATIC_INIT ( denorm_absent ); -- static const bool has_denorm_loss __STL_INLINE_STATIC_INIT ( false ); -- -- static __number __STL_CALL infinity() __STL_NOTHROW { return __number(); } -- static __number __STL_CALL quiet_NaN() __STL_NOTHROW { return __number(); } -- static __number __STL_CALL signaling_NaN() __STL_NOTHROW { return __number(); } -- static __number __STL_CALL denorm_min() __STL_NOTHROW { return __number(); } -- -- static const bool is_iec559 __STL_INLINE_STATIC_INIT( false ); -- static const bool is_bounded __STL_INLINE_STATIC_INIT( false ); -- static const bool is_modulo __STL_INLINE_STATIC_INIT( false ); -- -- static const bool traps __STL_INLINE_STATIC_INIT( false); -- static const bool tinyness_before __STL_INLINE_STATIC_INIT( false); -- static const float_round_style round_style __STL_INLINE_STATIC_INIT( round_toward_zero ); - }; - - // Base class for integers. - --# ifdef __STL_LIMITED_DEFAULT_TEMPLATES --# ifdef __STL_LONG_LONG --# define __STL_LIMITS_MIN_TYPE long long --# define __STL_LIMITS_MAX_TYPE unsigned long long -+# ifdef _STLP_LIMITED_DEFAULT_TEMPLATES -+# ifdef _STLP_LONG_LONG -+# define _STLP_LIMITS_MIN_TYPE _STLP_LONG_LONG -+# define _STLP_LIMITS_MAX_TYPE unsigned _STLP_LONG_LONG - # else --# define __STL_LIMITS_MIN_TYPE long --# define __STL_LIMITS_MAX_TYPE unsigned long -+# define _STLP_LIMITS_MIN_TYPE long -+# define _STLP_LIMITS_MAX_TYPE unsigned long - # endif - # else --# define __STL_LIMITS_MIN_TYPE _Int --# define __STL_LIMITS_MAX_TYPE _Int --# endif /* __STL_LIMITED_DEFAULT_TEMPLATES */ -+# define _STLP_LIMITS_MIN_TYPE _Int -+# define _STLP_LIMITS_MAX_TYPE _Int -+# endif /* _STLP_LIMITED_DEFAULT_TEMPLATES */ - - template - class _Integer_limits : public _Numeric_limits_base<_Int> - { - public: -- static const bool is_specialized __STL_INLINE_STATIC_INIT( true ); -- -- static _Int __STL_CALL min() __STL_NOTHROW { return (_Int)__imin; } -- static _Int __STL_CALL max() __STL_NOTHROW { return (_Int)__imax; } -- -- static const int digits __STL_INLINE_STATIC_INIT((__idigits < 0) ? \ -- ((int)((sizeof(_Int) * (CHAR_BIT))) - ((__imin == 0) ? 0 : 1)) \ -- : (__idigits)); -- -- static const int digits10 __STL_INLINE_STATIC_INIT( (digits * 301UL) / 1000 ); -- // log 2 = 0.301029995664... - -- static const bool is_signed __STL_INLINE_STATIC_INIT( __imin != 0 ); -- static const bool is_integer __STL_INLINE_STATIC_INIT( true ); -- static const bool is_exact __STL_INLINE_STATIC_INIT( true ); -- static const int radix __STL_INLINE_STATIC_INIT( 2 ); -+ static _Int (_STLP_CALL min) () _STLP_NOTHROW { return (_Int)__imin; } -+ static _Int (_STLP_CALL max) () _STLP_NOTHROW { return (_Int)__imax; } - -- -- static const bool is_bounded __STL_INLINE_STATIC_INIT( true ); -- static const bool is_modulo __STL_INLINE_STATIC_INIT( __ismod ); -+# if defined ( _STLP_STATIC_CONST_INIT_BUG) -+ enum { -+# else -+ static const int -+# endif -+ digits = (__idigits < 0) ? -+ ((int)((sizeof(_Int) * (CHAR_BIT))) - ((__imin == 0) ? 0 : 1)) -+ : (__idigits), -+ digits10 = (digits * 301UL) / 1000, -+ radix = 2 -+# if ! defined ( _STLP_STATIC_CONST_INIT_BUG) -+ ; -+ static const bool -+# else -+ , -+# endif -+ is_specialized = true, -+ is_signed = (__imin != 0), -+ is_integer = true, -+ is_exact = true, -+ is_bounded = true, -+ is_modulo = __ismod -+# if defined ( _STLP_STATIC_CONST_INIT_BUG) -+ } -+# endif -+ ; - }; - - // Base class for floating-point numbers. -@@ -143,32 +179,49 @@ - class _Floating_limits : public _Numeric_limits_base<__number> - { - public: -- static const bool is_specialized __STL_INLINE_STATIC_INIT( true ); -- -- static const int digits __STL_INLINE_STATIC_INIT( __Digits ); -- static const int digits10 __STL_INLINE_STATIC_INIT( __Digits10 ); - -- static const bool is_signed __STL_INLINE_STATIC_INIT( true ); -+# if defined ( _STLP_STATIC_CONST_INIT_BUG) -+ enum { -+# else -+ static const int -+# endif - -- static const int radix __STL_INLINE_STATIC_INIT( FLT_RADIX /* 2 */ ); -+ digits = __Digits, -+ digits10 = __Digits10, - -- static const int min_exponent __STL_INLINE_STATIC_INIT( __MinExp ); -- static const int max_exponent __STL_INLINE_STATIC_INIT( __MaxExp ); -- static const int min_exponent10 __STL_INLINE_STATIC_INIT( __MinExp10 ); -- static const int max_exponent10 __STL_INLINE_STATIC_INIT( __MaxExp10 ); -+ radix = ( FLT_RADIX /* 2 */ ), -+ min_exponent = __MinExp, -+ max_exponent = __MaxExp, -+ min_exponent10 = __MinExp10, -+ max_exponent10 = __MaxExp10 -+ -+# if defined (_STLP_STATIC_CONST_INIT_BUG) -+ , -+ has_denorm = denorm_indeterminate, -+ round_style = __RoundStyle, -+# else -+ ; -+ static const float_denorm_style has_denorm = denorm_indeterminate; -+ static const float_round_style round_style = __RoundStyle; -+ static const bool -+# endif - -- static const bool has_infinity __STL_INLINE_STATIC_INIT( true ); -- static const bool has_quiet_NaN __STL_INLINE_STATIC_INIT( true ); -- static const bool has_signaling_NaN __STL_INLINE_STATIC_INIT( true ); -- static const float_denorm_style has_denorm __STL_INLINE_STATIC_INIT( denorm_indeterminate ); -- static const bool has_denorm_loss __STL_INLINE_STATIC_INIT( false ); -+ is_specialized = true, -+ is_signed = true, -+ has_infinity = true, -+ has_quiet_NaN = true, -+ has_signaling_NaN= true, -+ has_denorm_loss = false, -+ is_iec559 = __IsIEC559, -+ is_bounded = true, -+ traps = true, -+ tinyness_before= false - -- static const bool is_iec559 __STL_INLINE_STATIC_INIT( __IsIEC559 ); -- static const bool is_bounded __STL_INLINE_STATIC_INIT( true ); -- static const bool traps __STL_INLINE_STATIC_INIT( true ); -- static const bool tinyness_before __STL_INLINE_STATIC_INIT( false ); -+# if defined ( _STLP_STATIC_CONST_INIT_BUG) -+ } -+# endif -+ ; - -- static const float_round_style round_style __STL_INLINE_STATIC_INIT( __RoundStyle ); - }; - - // Class numeric_limits -@@ -180,72 +233,86 @@ - - // Specializations for all built-in integral types. - --#ifndef __STL_NO_BOOL -+#ifndef _STLP_NO_BOOL - --__STL_TEMPLATE_NULL --class numeric_limits -- : public _Integer_limits -+_STLP_TEMPLATE_NULL -+class numeric_limits -+ : public _Integer_limits - {}; - --#endif /* __STL_NO_BOOL */ -+#endif /* _STLP_NO_BOOL */ - --__STL_TEMPLATE_NULL --class numeric_limits -+_STLP_TEMPLATE_NULL -+class numeric_limits - : public _Integer_limits - {}; - --# ifndef __STL_NO_SIGNED_BUILTINS --__STL_TEMPLATE_NULL --class numeric_limits -+# ifndef _STLP_NO_SIGNED_BUILTINS -+_STLP_TEMPLATE_NULL -+class numeric_limits - : public _Integer_limits - {}; - # endif - --__STL_TEMPLATE_NULL --class numeric_limits -+_STLP_TEMPLATE_NULL -+class numeric_limits - : public _Integer_limits - {}; - --#if !(defined ( __STL_NO_WCHAR_T ) || defined (__STL_WCHAR_T_IS_USHORT)) -+#if !(defined ( _STLP_NO_WCHAR_T ) || defined (_STLP_WCHAR_T_IS_USHORT)) - --__STL_TEMPLATE_NULL --class numeric_limits -+_STLP_TEMPLATE_NULL -+class numeric_limits - : public _Integer_limits - {}; - - #endif - --__STL_TEMPLATE_NULL --class numeric_limits -+_STLP_TEMPLATE_NULL -+class numeric_limits - : public _Integer_limits - {}; - --__STL_TEMPLATE_NULL --class numeric_limits -+_STLP_TEMPLATE_NULL -+class numeric_limits - : public _Integer_limits - {}; - --__STL_TEMPLATE_NULL --class numeric_limits -+# if defined (__xlC__) && (__xlC__ == 0x500) -+# undef INT_MIN -+# define INT_MIN -2147483648 -+# endif -+ -+ -+_STLP_TEMPLATE_NULL -+class numeric_limits - : public _Integer_limits - {}; - --__STL_TEMPLATE_NULL --class numeric_limits -+_STLP_TEMPLATE_NULL -+class numeric_limits - : public _Integer_limits - {}; - --__STL_TEMPLATE_NULL --class numeric_limits -+_STLP_TEMPLATE_NULL -+class numeric_limits - : public _Integer_limits - {}; - --__STL_TEMPLATE_NULL --class numeric_limits -+_STLP_TEMPLATE_NULL -+class numeric_limits - : public _Integer_limits - {}; - --#ifdef __STL_LONG_LONG -+#ifdef _STLP_LONG_LONG -+ -+# if defined (_STLP_MSVC) || defined (__BORLANDC__) -+ -+# define LONGLONG_MAX 0x7fffffffffffffffi64 -+# define LONGLONG_MIN (-LONGLONG_MAX-1i64) -+# define ULONGLONG_MAX 0xffffffffffffffffUi64 -+ -+# else - - # ifndef LONGLONG_MAX - # define LONGLONG_MAX 0x7fffffffffffffffLL -@@ -257,17 +324,101 @@ - # define ULONGLONG_MAX 0xffffffffffffffffULL - # endif - --__STL_TEMPLATE_NULL --class numeric_limits -- : public _Integer_limits --{}; -+# endif - --__STL_TEMPLATE_NULL --class numeric_limits -- : public _Integer_limits --{}; -+#if !defined(__GNUC__) || (__GNUC__ == 2 && __GNUC_MINOR__ <= 96) -+ -+_STLP_TEMPLATE_NULL -+class numeric_limits<_STLP_LONG_LONG> -+ : public _Integer_limits<_STLP_LONG_LONG, LONGLONG_MIN, LONGLONG_MAX, -1, true> -+{}; -+ -+_STLP_TEMPLATE_NULL -+class numeric_limits -+ : public _Integer_limits -+{}; -+#else /* gcc 2.97 (after 2000-11-01), 2.98, 3.0 */ -+/* -+ newest gcc has new mangling scheme, that has problem -+ with generating name [instantiated] of template specialization like -+ _Integer_limits<_STLP_LONG_LONG, LONGLONG_MIN, LONGLONG_MAX, -1, true> -+ ~~~~~~~~~~~~ ~~~~~~~~~~~~ -+ Below is code that solve this problem. -+ - ptr -+ */ -+_STLP_TEMPLATE_NULL -+class numeric_limits<_STLP_LONG_LONG> -+ : public _Numeric_limits_base<_STLP_LONG_LONG> -+{ -+public: - --#endif /* __STL_LONG_LONG */ -+ static _STLP_LONG_LONG (_STLP_CALL min) () _STLP_NOTHROW { return LONGLONG_MIN; } -+ static _STLP_LONG_LONG (_STLP_CALL max) () _STLP_NOTHROW { return LONGLONG_MAX; } -+ -+# if defined ( _STLP_STATIC_CONST_INIT_BUG) -+ enum { -+# else -+ static const int -+# endif -+ digits = ((int)((sizeof(_STLP_LONG_LONG) * (CHAR_BIT))) - 1), -+ digits10 = (digits * 301UL) / 1000, -+ radix = 2 -+# if ! defined ( _STLP_STATIC_CONST_INIT_BUG) -+ ; -+ static const bool -+# else -+ , -+# endif -+ is_specialized = true, -+ is_signed = true, -+ is_integer = true, -+ is_exact = true, -+ is_bounded = true, -+ is_modulo = true -+# if defined ( _STLP_STATIC_CONST_INIT_BUG) -+ } -+# endif -+ ; -+}; -+ -+_STLP_TEMPLATE_NULL -+class numeric_limits -+ : public _Numeric_limits_base -+{ -+public: -+ -+ static unsigned _STLP_LONG_LONG (_STLP_CALL min) () _STLP_NOTHROW { return 0ULL; } -+ static unsigned _STLP_LONG_LONG (_STLP_CALL max) () _STLP_NOTHROW { return ULONGLONG_MAX; } -+ -+# if defined ( _STLP_STATIC_CONST_INIT_BUG) -+ enum { -+# else -+ static const int -+# endif -+ digits = ((int)((sizeof(unsigned _STLP_LONG_LONG) * (CHAR_BIT)))), -+ digits10 = (digits * 301UL) / 1000, -+ radix = 2 -+# if ! defined ( _STLP_STATIC_CONST_INIT_BUG) -+ ; -+ static const bool -+# else -+ , -+# endif -+ is_specialized = true, -+ is_signed = false, -+ is_integer = true, -+ is_exact = true, -+ is_bounded = true, -+ is_modulo = true -+# if defined ( _STLP_STATIC_CONST_INIT_BUG) -+ } -+# endif -+ ; -+}; -+ -+# endif /* __GNUC__ > 2000-11-01 */ -+ -+#endif /* _STLP_LONG_LONG */ - - // Specializations for all built-in floating-point types. - -@@ -281,11 +432,14 @@ - unsigned short rep[4]; - double val; - }; -+ -+# ifndef _STLP_NO_LONG_DOUBLE - union _L_rep - { - unsigned short rep[8]; - long double val; - }; -+# endif - - template - class _LimG -@@ -298,14 +452,18 @@ - static const _D_rep _D_qNaN; - static const _D_rep _D_sNaN; - --# ifndef __STL_NO_LONG_DOUBLE -+# ifndef _STLP_NO_LONG_DOUBLE - static const _L_rep _L_inf; - static const _L_rep _L_qNaN; - static const _L_rep _L_sNaN; - # endif - }; - --__STL_TEMPLATE_NULL class numeric_limits -+# if defined (_STLP_USE_TEMPLATE_EXPORT) -+_STLP_EXPORT_TEMPLATE_CLASS _LimG; -+# endif -+ -+_STLP_TEMPLATE_NULL class numeric_limits - : public _Floating_limits - { - public: -- static float __STL_CALL min() __STL_NOTHROW { return FLT_MIN; } -- static float __STL_CALL denorm_min() __STL_NOTHROW { return FLT_MIN; } -- static float __STL_CALL max() __STL_NOTHROW { __STL_USING_VENDOR_CSTD return FLT_MAX; } -- static float __STL_CALL epsilon() __STL_NOTHROW { return FLT_EPSILON; } -- static float __STL_CALL round_error() __STL_NOTHROW { return 0.5f; } // Units: ulps. -- static inline float __STL_CALL infinity() { return _LimG::_F_inf.val; } -- static inline float __STL_CALL quiet_NaN() { return _LimG::_F_qNaN.val; } -- static inline float __STL_CALL signaling_NaN() { return _LimG::_F_sNaN.val; } -+ static float (_STLP_CALL min) () _STLP_NOTHROW { return FLT_MIN; } -+ static float _STLP_CALL denorm_min() _STLP_NOTHROW { return FLT_MIN; } -+ static float (_STLP_CALL max) () _STLP_NOTHROW { _STLP_USING_VENDOR_CSTD return FLT_MAX; } -+ static float _STLP_CALL epsilon() _STLP_NOTHROW { return FLT_EPSILON; } -+ static float _STLP_CALL round_error() _STLP_NOTHROW { return 0.5f; } // Units: ulps. -+ static float _STLP_CALL infinity() { return _LimG::_F_inf.val; } -+ static float _STLP_CALL quiet_NaN() { return _LimG::_F_qNaN.val; } -+ static float _STLP_CALL signaling_NaN() { return _LimG::_F_sNaN.val; } - }; - --__STL_TEMPLATE_NULL class numeric_limits -+_STLP_TEMPLATE_NULL class numeric_limits - : public _Floating_limits - { - public: -- static double __STL_CALL min() __STL_NOTHROW { return DBL_MIN; } -- static double __STL_CALL denorm_min() __STL_NOTHROW { return DBL_MIN; } -- static double __STL_CALL max() __STL_NOTHROW { __STL_USING_VENDOR_CSTD return DBL_MAX; } -- static double __STL_CALL epsilon() __STL_NOTHROW { return DBL_EPSILON; } -- static double __STL_CALL round_error() __STL_NOTHROW { return 0.5; } // Units: ulps. -- static inline double __STL_CALL infinity() { return _LimG::_D_inf.val; } -- static inline double __STL_CALL quiet_NaN(){ return _LimG::_D_qNaN.val; } -- static inline double __STL_CALL signaling_NaN() { return _LimG::_D_sNaN.val; } -+ static double (_STLP_CALL min)() _STLP_NOTHROW { return DBL_MIN; } -+ static double _STLP_CALL denorm_min() _STLP_NOTHROW { return DBL_MIN; } -+ static double (_STLP_CALL max)() _STLP_NOTHROW { _STLP_USING_VENDOR_CSTD return DBL_MAX; } -+ static double _STLP_CALL epsilon() _STLP_NOTHROW { return DBL_EPSILON; } -+ static double _STLP_CALL round_error() _STLP_NOTHROW { return 0.5; } // Units: ulps. -+ static double _STLP_CALL infinity() { return _LimG::_D_inf.val; } -+ static double _STLP_CALL quiet_NaN(){ return _LimG::_D_qNaN.val; } -+ static double _STLP_CALL signaling_NaN() { return _LimG::_D_sNaN.val; } - }; - --# ifndef __STL_NO_LONG_DOUBLE -+# ifndef _STLP_NO_LONG_DOUBLE - --__STL_TEMPLATE_NULL --class numeric_limits -+_STLP_TEMPLATE_NULL -+class numeric_limits - : public _Floating_limits - { - public: -- static long double __STL_CALL min() __STL_NOTHROW { __STL_USING_VENDOR_CSTD return LDBL_MIN; } -- static long double __STL_CALL denorm_min() __STL_NOTHROW { __STL_USING_VENDOR_CSTD return LDBL_MIN; } -- static long double __STL_CALL max() __STL_NOTHROW { __STL_USING_VENDOR_CSTD return LDBL_MAX; } -- static long double __STL_CALL epsilon() __STL_NOTHROW { return LDBL_EPSILON; } -- static long double __STL_CALL round_error() __STL_NOTHROW { return 4; } // Units: ulps. -- static inline long double __STL_CALL infinity() { return _LimG::_L_inf.val; } -- static inline long double __STL_CALL quiet_NaN() { return _LimG::_L_qNaN.val; } -- static inline long double __STL_CALL signaling_NaN() { return _LimG::_L_sNaN.val; } -+ static long double (_STLP_CALL min) () _STLP_NOTHROW { _STLP_USING_VENDOR_CSTD return LDBL_MIN; } -+ static long double _STLP_CALL denorm_min() _STLP_NOTHROW { _STLP_USING_VENDOR_CSTD return LDBL_MIN; } -+ static long double (_STLP_CALL max) () _STLP_NOTHROW { _STLP_USING_VENDOR_CSTD return LDBL_MAX; } -+ static long double _STLP_CALL epsilon() _STLP_NOTHROW { return LDBL_EPSILON; } -+ static long double _STLP_CALL round_error() _STLP_NOTHROW { return 4; } // Units: ulps. -+ static long double _STLP_CALL infinity() { return _LimG::_L_inf.val; } -+ static long double _STLP_CALL quiet_NaN() { return _LimG::_L_qNaN.val; } -+ static long double _STLP_CALL signaling_NaN() { return _LimG::_L_sNaN.val; } - }; - - # endif - - // We write special values (Inf and NaN) as bit patterns and - // cast the the appropriate floating-point types. --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --# if !defined (__STL_LINK_TIME_INSTANTIATION) -+# if !defined (_STLP_LINK_TIME_INSTANTIATION) - # include - # endif - --#endif /* __SGI_CPP_LIMITS */ -+#endif - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_list.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_list.c ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_list.c Sat Feb 24 10:44:56 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_list.c Sun Aug 11 18:59:24 2002 -@@ -23,21 +23,26 @@ - * modified is included with the above copyright notice. - * - */ --#ifndef __STL_LIST_C --#define __STL_LIST_C -+#ifndef _STLP_LIST_C -+#define _STLP_LIST_C - --#if defined(__MRC__)||defined(__SC__) --//*TY 05/25/2000 - needed for the mpw workaround in sort() -+#ifndef _STLP_INTERNAL_LIST_H -+# include -+#endif -+ -+#if defined (__WATCOMC__) - #include - #endif - - # undef list - # define list __WORKAROUND_DBG_RENAME(list) - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE -+ -+# if defined (_STLP_EXPOSE_GLOBALS_IMPLEMENTATION) - - template --void -+void _STLP_CALL - _List_global<_Dummy>::_Transfer(_List_node_base* __position, - _List_node_base* __first, _List_node_base* __last) { - if (__position != __last) { -@@ -54,150 +59,35 @@ - } - } - -+#endif /* defined (__BUILDING_STLPORT) || ! defined (_STLP_OWN_IOSTREAMS) */ -+ -+ - template - void - _List_base<_Tp,_Alloc>::clear() - { -- _List_node<_Tp>* __cur = (_List_node<_Tp>*) _M_node._M_data->_M_next; -- while (__cur != _M_node._M_data) { -+ _List_node<_Tp>* __cur = (_List_node<_Tp>*) this->_M_node._M_data->_M_next; -+ while (__cur != this->_M_node._M_data) { - _List_node<_Tp>* __tmp = __cur; - __cur = (_List_node<_Tp>*) __cur->_M_next; - _Destroy(&__tmp->_M_data); -- _M_node.deallocate(__tmp, 1); -+ this->_M_node.deallocate(__tmp, 1); - } -- _M_node._M_data->_M_next = _M_node._M_data; -- _M_node._M_data->_M_prev = _M_node._M_data; -+ this->_M_node._M_data->_M_next = this->_M_node._M_data; -+ this->_M_node._M_data->_M_prev = this->_M_node._M_data; - } - --# if defined (__STL_NESTED_TYPE_PARAM_BUG) --# define __iterator__ _List_iterator<_Tp, _Nonconst_traits<_Tp> > --# define iterator __iterator__ --# define const_iterator _List_iterator<_Tp, _Const_traits<_Tp> > -+# if defined (_STLP_NESTED_TYPE_PARAM_BUG) - # define size_type size_t --# else --# define __iterator__ __STL_TYPENAME_ON_RETURN_TYPE list<_Tp,_Alloc>::iterator - # endif - --# if defined (__STL_MEMBER_TEMPLATES) && ! defined (__STL_INLINE_MEMBER_TEMPLATES) -- --template template --void list<_Tp, _Alloc>::remove_if(_Predicate __pred) --{ -- iterator __first = begin(); -- iterator __last = end(); -- while (__first != __last) { -- iterator __next = __first; -- ++__next; -- if (__pred(*__first)) erase(__first); -- __first = __next; -- } --} -- --template template --void list<_Tp, _Alloc>::unique(_BinaryPredicate __binary_pred) { -- iterator __first = begin(); -- iterator __last = end(); -- if (__first == __last) return; -- iterator __next = __first; -- while (++__next != __last) { -- if (__binary_pred(*__first, *__next)) -- erase(__next); -- else -- __first = __next; -- __next = __first; -- } --} -- --template template --void list<_Tp, _Alloc>::merge(list<_Tp, _Alloc>& __x, -- _StrictWeakOrdering __comp) { -- iterator __first1 = begin(); -- iterator __last1 = end(); -- iterator __first2 = __x.begin(); -- iterator __last2 = __x.end(); -- while (__first1 != __last1 && __first2 != __last2) -- if (__comp(*__first2, *__first1)) { -- iterator __next = __first2; -- _List_global_inst::_Transfer(__first1._M_node, __first2._M_node, (++__next)._M_node); -- __first2 = __next; -- } -- else -- ++__first1; -- if (__first2 != __last2) _List_global_inst::_Transfer(__last1._M_node, __first2._M_node, __last2._M_node); --} -- --template template --void list<_Tp, _Alloc>::sort(_StrictWeakOrdering __comp) { -- // Do nothing if the list has length 0 or 1. -- if (_M_node._M_data->_M_next != _M_node._M_data && -- ((_Node*) (_M_node._M_data->_M_next))->_M_next != _M_node._M_data) { -- list<_Tp, _Alloc> __carry; -- list<_Tp, _Alloc> __counter[64]; -- int __fill = 0; -- while (!empty()) { -- __carry.splice(__carry.begin(), *this, begin()); -- int __i = 0; -- while(__i < __fill && !__counter[__i].empty()) { -- __counter[__i].merge(__carry, __comp); -- __carry.swap(__counter[__i++]); -- } -- __carry.swap(__counter[__i]); -- if (__i == __fill) ++__fill; -- } -- -- for (int __i = 1; __i < __fill; ++__i) -- __counter[__i].merge(__counter[__i-1], __comp); -- swap(__counter[__fill-1]); -- } --} --# endif -- --#ifndef __STL_MEMBER_TEMPLATES -- --template --void --list<_Tp, _Alloc>::insert(iterator __position, -- const _Tp* __first, const _Tp* __last) --{ -- for ( ; __first != __last; ++__first) -- insert(__position, *__first); --} -- --template --void --list<_Tp, _Alloc>::insert(iterator __position, -- const_iterator __first, const_iterator __last) --{ -- for ( ; __first != __last; ++__first) -- insert(__position, *__first); --} -- --#endif -- --template --void --list<_Tp, _Alloc>::_M_fill_insert(iterator __position, size_type __n, const _Tp& __x) --{ -- for ( ; __n > 0; --__n) -- insert(__position, __x); --} -- --template --__iterator__ list<_Tp, _Alloc>::erase(iterator __first, -- iterator __last) --{ -- while (__first != __last) -- erase(__first++); -- return __last; --} -- - template - void list<_Tp, _Alloc>::resize(size_type __new_size, const _Tp& __x) - { - iterator __i = begin(); - size_type __len = 0; -- for ( ; __i != end() && __len < __new_size; ++__i, ++__len) -- ; -+ for ( ; __i != end() && __len < __new_size; ++__i, ++__len); -+ - if (__len == __new_size) - erase(__i, end()); - else // __i == end() -@@ -233,46 +123,44 @@ - erase(__i, end()); - } - --template --void list<_Tp, _Alloc>::remove(const _Tp& __value) --{ -- iterator __first = begin(); -- iterator __last = end(); -+template -+void _S_remove_if(list<_Tp, _Alloc>& __that, _Predicate __pred) { -+ typename list<_Tp, _Alloc>::iterator __first = __that.begin(); -+ typename list<_Tp, _Alloc>::iterator __last = __that.end(); - while (__first != __last) { -- iterator __next = __first; -+ typename list<_Tp, _Alloc>::iterator __next = __first; - ++__next; -- if (*__first == __value) -- erase(__first); -+ if (__pred(*__first)) __that.erase(__first); - __first = __next; - } - } - --template --void list<_Tp, _Alloc>::unique() --{ -- iterator __first = begin(); -- iterator __last = end(); -+template -+void _S_unique(list<_Tp, _Alloc>& __that, _BinaryPredicate __binary_pred) { -+ typename list<_Tp, _Alloc>::iterator __first = __that.begin(); -+ typename list<_Tp, _Alloc>::iterator __last = __that.end(); - if (__first == __last) return; -- iterator __next = __first; -+ typename list<_Tp, _Alloc>::iterator __next = __first; - while (++__next != __last) { -- if (*__first == *__next) -- erase(__next); -+ if (__binary_pred(*__first, *__next)) -+ __that.erase(__next); - else - __first = __next; - __next = __first; - } - } - --template --void list<_Tp, _Alloc>::merge(list<_Tp, _Alloc>& __x) --{ -- iterator __first1 = begin(); -- iterator __last1 = end(); -- iterator __first2 = __x.begin(); -- iterator __last2 = __x.end(); -+template -+void _S_merge(list<_Tp, _Alloc>& __that, list<_Tp, _Alloc>& __x, -+ _StrictWeakOrdering __comp) { -+ typedef typename list<_Tp, _Alloc>::iterator _Literator; -+ _Literator __first1 = __that.begin(); -+ _Literator __last1 = __that.end(); -+ _Literator __first2 = __x.begin(); -+ _Literator __last2 = __x.end(); - while (__first1 != __last1 && __first2 != __last2) -- if (*__first2 < *__first1) { -- iterator __next = __first2; -+ if (__comp(*__first2, *__first1)) { -+ _Literator __next = __first2; - _List_global_inst::_Transfer(__first1._M_node, __first2._M_node, (++__next)._M_node); - __first2 = __next; - } -@@ -281,61 +169,41 @@ - if (__first2 != __last2) _List_global_inst::_Transfer(__last1._M_node, __first2._M_node, __last2._M_node); - } - --inline void __List_base_reverse(_List_node_base* __p) --{ -- _List_node_base* __tmp = __p; -- do { -- __STLPORT_STD::swap(__tmp->_M_next, __tmp->_M_prev); -- __tmp = __tmp->_M_prev; // Old next node is now prev. -- } while (__tmp != __p); --} -- --template --void list<_Tp, _Alloc>::reverse() --{ -- __List_base_reverse(this->_M_node._M_data); --} -- --template --void list<_Tp, _Alloc>::sort() --{ -+template -+void _S_sort(list<_Tp, _Alloc>& __that, _StrictWeakOrdering __comp) { - // Do nothing if the list has length 0 or 1. -- if (_M_node._M_data->_M_next != _M_node._M_data && -- ((_Node*) (_M_node._M_data->_M_next))->_M_next != _M_node._M_data) { -+ if (__that._M_node._M_data->_M_next != __that._M_node._M_data && -+ (__that._M_node._M_data->_M_next)->_M_next != __that._M_node._M_data) { - list<_Tp, _Alloc> __carry; --#if !(defined(__MRC__)||defined(__SC__)) //*TY 05/25/2000 - added workaround for mpw compilers -+#if !defined (__WATCOMC__) - list<_Tp, _Alloc> __counter[64]; --#else //*TY 05/25/2000 - -+#else - __vector__, _Alloc> __counter(64); -- //*TY 05/25/2000 - mpw has difficulty handling exception thrown from inside the array of object ctor - #endif //*TY 05/25/2000 - - int __fill = 0; -- while (!empty()) { -- __carry.splice(__carry.begin(), *this, begin()); -+ while (!__that.empty()) { -+ __carry.splice(__carry.begin(), __that, __that.begin()); - int __i = 0; - while(__i < __fill && !__counter[__i].empty()) { -- __counter[__i].merge(__carry); -- __carry.swap(__counter[__i++]); -+ _S_merge(__counter[__i], __carry, __comp); -+ __carry.swap(__counter[__i++]); - } - __carry.swap(__counter[__i]); - if (__i == __fill) ++__fill; - } -- -- for (int __i = 1; __i < __fill; ++__i) -- __counter[__i].merge(__counter[__i-1]); -- swap(__counter[__fill-1]); -+ -+ for (int __i = 1; __i < __fill; ++__i) -+ _S_merge(__counter[__i], __counter[__i-1], __comp); -+ __that.swap(__counter[__fill-1]); - } - } - - # undef list --# undef iterator --# undef const_iterator - # undef size_type --# undef __iterator__ - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --#endif /* __STL_LIST_C */ -+#endif /* _STLP_LIST_C */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_list.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_list.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_list.h Sat Feb 24 10:44:57 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_list.h Sun Aug 11 18:59:24 2002 -@@ -27,46 +27,50 @@ - * You should not attempt to use it directly. - */ - --#ifndef __SGI_STL_INTERNAL_LIST_H --#define __SGI_STL_INTERNAL_LIST_H -+#ifndef _STLP_INTERNAL_LIST_H -+#define _STLP_INTERNAL_LIST_H - --# ifndef __SGI_STL_INTERNAL_ALGOBASE_H -+# ifndef _STLP_INTERNAL_ALGOBASE_H - # include - # endif - --# ifndef __SGI_STL_INTERNAL_ALLOC_H -+# ifndef _STLP_INTERNAL_ALLOC_H - # include - # endif - --# ifndef __SGI_STL_INTERNAL_ITERATOR_H -+# ifndef _STLP_INTERNAL_ITERATOR_H - # include - # endif - --# ifndef __SGI_STL_INTERNAL_CONSTRUCT_H -+# ifndef _STLP_INTERNAL_CONSTRUCT_H - # include - # endif - --__STL_BEGIN_NAMESPACE -+# ifndef _STLP_INTERNAL_FUNCTION_BASE_H -+# include -+# endif -+ -+_STLP_BEGIN_NAMESPACE - - # undef list - # define list __WORKAROUND_DBG_RENAME(list) - --# if defined ( __STL_USE_ABBREVS ) --# define __list_iterator _L__It --# endif -- - struct _List_node_base { - _List_node_base* _M_next; - _List_node_base* _M_prev; - }; - - template --struct _List_global { -+class _List_global { -+public: - typedef _List_node_base _Node; -- static void __STL_CALL _Transfer(_List_node_base* __position, -+ static void _STLP_CALL _Transfer(_List_node_base* __position, - _List_node_base* __first, _List_node_base* __last); - }; - -+# if defined (_STLP_USE_TEMPLATE_EXPORT) -+_STLP_EXPORT_TEMPLATE_CLASS _List_global; -+# endif - typedef _List_global _List_global_inst; - - template -@@ -119,7 +123,7 @@ - - reference operator*() const { return ((_Node*)_M_node)->_M_data; } - -- __STL_DEFINE_ARROW_OPERATOR -+ _STLP_DEFINE_ARROW_OPERATOR - - _Self& operator++() { - this->_M_incr(); -@@ -142,11 +146,11 @@ - }; - - --#ifdef __STL_USE_OLD_HP_ITERATOR_QUERIES -+#ifdef _STLP_USE_OLD_HP_ITERATOR_QUERIES - template --inline _Tp* __VALUE_TYPE(const _List_iterator<_Tp, _Traits>&) { return 0; } --inline bidirectional_iterator_tag __ITERATOR_CATEGORY(const _List_iterator_base&) { return bidirectional_iterator_tag();} --inline ptrdiff_t* __DISTANCE_TYPE(const _List_iterator_base&) { return 0; } -+inline _Tp* value_type(const _List_iterator<_Tp, _Traits>&) { return 0; } -+inline bidirectional_iterator_tag iterator_category(const _List_iterator_base&) { return bidirectional_iterator_tag();} -+inline ptrdiff_t* distance_type(const _List_iterator_base&) { return 0; } - #endif - - -@@ -157,6 +161,7 @@ - class _List_base - { - protected: -+ _STLP_FORCE_ALLOCATORS(_Tp, _Alloc) - typedef _List_node<_Tp> _Node; - typedef typename _Alloc_traits<_Node, _Alloc>::allocator_type - _Node_allocator_type; -@@ -165,10 +170,10 @@ - allocator_type; - - allocator_type get_allocator() const { -- return __STL_CONVERT_ALLOCATOR((const _Node_allocator_type&)_M_node, _Tp); -+ return _STLP_CONVERT_ALLOCATOR((const _Node_allocator_type&)_M_node, _Tp); - } - -- _List_base(const allocator_type& __a) : _M_node(__STL_CONVERT_ALLOCATOR(__a, _Node), (_Node*)0) { -+ _List_base(const allocator_type& __a) : _M_node(_STLP_CONVERT_ALLOCATOR(__a, _Node), (_Node*)0) { - _Node* __n = _M_node.allocate(1); - __n->_M_next = __n; - __n->_M_prev = __n; -@@ -182,11 +187,28 @@ - void clear(); - - public: -- _STL_alloc_proxy<_Node*, _Node, _Node_allocator_type> _M_node; -+ _STLP_alloc_proxy<_Node*, _Node, _Node_allocator_type> _M_node; - }; - --template --class list : protected _List_base<_Tp, _Alloc> { -+template -+class list; -+ -+// helper functions to reduce code duplication -+template -+void _S_remove_if(list<_Tp, _Alloc>& __that, _Predicate __pred); -+ -+template -+void _S_unique(list<_Tp, _Alloc>& __that, _BinaryPredicate __binary_pred); -+ -+template -+void _S_merge(list<_Tp, _Alloc>& __that, list<_Tp, _Alloc>& __x, -+ _StrictWeakOrdering __comp); -+ -+template -+void _S_sort(list<_Tp, _Alloc>& __that, _StrictWeakOrdering __comp); -+ -+template -+class list : public _List_base<_Tp, _Alloc> { - typedef _List_base<_Tp, _Alloc> _Base; - typedef list<_Tp, _Alloc> _Self; - public: -@@ -198,40 +220,33 @@ - typedef _List_node<_Tp> _Node; - typedef size_t size_type; - typedef ptrdiff_t difference_type; -+ _STLP_FORCE_ALLOCATORS(_Tp, _Alloc) - typedef typename _Base::allocator_type allocator_type; - typedef bidirectional_iterator_tag _Iterator_category; - - public: - typedef _List_iterator<_Tp, _Nonconst_traits<_Tp> > iterator; - typedef _List_iterator<_Tp, _Const_traits<_Tp> > const_iterator; -- -- __STL_DECLARE_BIDIRECTIONAL_REVERSE_ITERATORS; -- --#if defined( __STL_HAS_NAMESPACES ) -- __STL_USING_BASE_MEMBER _List_base<_Tp, _Alloc>::_M_node; --#endif /* __STL_HAS_NAMESPACES */ --public: -- __STL_USING_BASE_MEMBER _List_base<_Tp, _Alloc>::get_allocator; -- __STL_USING_BASE_MEMBER _List_base<_Tp, _Alloc>::clear; -+ _STLP_DECLARE_BIDIRECTIONAL_REVERSE_ITERATORS; - - protected: - _Node* _M_create_node(const _Tp& __x) - { -- _Node* __p = _M_node.allocate(1); -- __STL_TRY { -+ _Node* __p = this->_M_node.allocate(1); -+ _STLP_TRY { - _Construct(&__p->_M_data, __x); - } -- __STL_UNWIND(_M_node.deallocate(__p, 1)); -+ _STLP_UNWIND(this->_M_node.deallocate(__p, 1)); - return __p; - } - - _Node* _M_create_node() - { -- _Node* __p = _M_node.allocate(1); -- __STL_TRY { -+ _Node* __p = this->_M_node.allocate(1); -+ _STLP_TRY { - _Construct(&__p->_M_data); - } -- __STL_UNWIND(_M_node.deallocate(__p, 1)); -+ _STLP_UNWIND(this->_M_node.deallocate(__p, 1)); - return __p; - } - -@@ -242,11 +257,11 @@ - list(const allocator_type& __a = allocator_type()) : - _List_base<_Tp, _Alloc>(__a) {} - -- iterator begin() { return iterator((_Node*)(_M_node._M_data->_M_next)); } -- const_iterator begin() const { return const_iterator((_Node*)(_M_node._M_data->_M_next)); } -+ iterator begin() { return iterator((_Node*)(this->_M_node._M_data->_M_next)); } -+ const_iterator begin() const { return const_iterator((_Node*)(this->_M_node._M_data->_M_next)); } - -- iterator end() { return _M_node._M_data; } -- const_iterator end() const { return _M_node._M_data; } -+ iterator end() { return this->_M_node._M_data; } -+ const_iterator end() const { return this->_M_node._M_data; } - - reverse_iterator rbegin() - { return reverse_iterator(end()); } -@@ -258,10 +273,9 @@ - const_reverse_iterator rend() const - { return const_reverse_iterator(begin()); } - -- bool empty() const { return _M_node._M_data->_M_next == _M_node._M_data; } -+ bool empty() const { return this->_M_node._M_data->_M_next == this->_M_node._M_data; } - size_type size() const { -- size_type __result = 0; -- distance(begin(), end(), __result); -+ size_type __result = distance(begin(), end()); - return __result; - } - size_type max_size() const { return size_type(-1); } -@@ -272,81 +286,63 @@ - const_reference back() const { return *(--end()); } - - void swap(list<_Tp, _Alloc>& __x) { -- __STLPORT_STD::swap(_M_node, __x._M_node); -+ _STLP_STD::swap(this->_M_node, __x._M_node); - } - - iterator insert(iterator __position, const _Tp& __x) { - - _Node* __tmp = _M_create_node(__x); --# if 0 -- cerr <<"before: "; -- for ( _Node* __tmp1 = (_Node*)(_M_node._M_data->_M_next);;) { -- cerr<< hex<<(long)(__tmp1->_M_prev)<<"<-"<<(long)__tmp1<<":"<<__tmp1->_M_data<<"->"<<(long)__tmp1->_M_next<<";"; -- __tmp1 = (_Node*)__tmp1->_M_next; -- if (__tmp1 == (_Node*)_M_node._M_data) { -- cerr << endl; -- break; -- } -- } --# endif - _List_node_base* __n = __position._M_node; - _List_node_base* __p = __n->_M_prev; - __tmp->_M_next = __n; - __tmp->_M_prev = __p; - __p->_M_next = __tmp; - __n->_M_prev = __tmp; --# if 0 -- cerr<<"after : "; -- for ( _Node* __tmp1 = (_Node*)(_M_node._M_data->_M_next);;) { -- cerr<_M_prev)<<"<-"<<(long)__tmp1<<":"<<__tmp1->_M_data<<"->"<<(long)__tmp1->_M_next<<";"; -- __tmp1 = (_Node*)__tmp1->_M_next; -- if (__tmp1 == (_Node*)_M_node._M_data) { -- cerr << endl; -- break; -- } -- } --# endif - return __tmp; - } - -- iterator insert(iterator __position) { return insert(__position, _Tp()); } --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES -+ template -+ void insert(iterator __pos, _InputIterator __first, _InputIterator __last) { -+ typedef typename _Is_integer<_InputIterator>::_Integral _Integral; -+ _M_insert_dispatch(__pos, __first, __last, _Integral()); -+ } - // Check whether it's an integral type. If so, it's not an iterator. -- - template - void _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __x, -- __true_type) { -+ const __true_type&) { - _M_fill_insert(__pos, (size_type) __n, (_Tp) __x); - } -- - template - void - _M_insert_dispatch(iterator __position, - _InputIter __first, _InputIter __last, -- __false_type) { -+ const __false_type&) -+#else /* _STLP_MEMBER_TEMPLATES */ -+ void insert(iterator __position, const _Tp* __first, const _Tp* __last) { - for ( ; __first != __last; ++__first) - insert(__position, *__first); - } -- -- template -- void insert(iterator __pos, _InputIterator __first, _InputIterator __last) { -- typedef typename _Is_integer<_InputIterator>::_Integral _Integral; -- _M_insert_dispatch(__pos, __first, __last, _Integral()); -+ void insert(iterator __position, const_iterator __first, const_iterator __last) -+#endif /* _STLP_MEMBER_TEMPLATES */ -+ { -+ for ( ; __first != __last; ++__first) -+ insert(__position, *__first); - } -- --#else /* __STL_MEMBER_TEMPLATES */ -- void insert(iterator __position, const _Tp* __first, const _Tp* __last); -- void insert(iterator __position, -- const_iterator __first, const_iterator __last); --#endif /* __STL_MEMBER_TEMPLATES */ -- void insert(iterator __pos, size_type __n, const _Tp& __x) -- { _M_fill_insert(__pos, __n, __x); } -- void _M_fill_insert(iterator __pos, size_type __n, const _Tp& __x); -- -+ void insert(iterator __pos, size_type __n, const _Tp& __x) { _M_fill_insert(__pos, __n, __x); } -+ -+ void _M_fill_insert(iterator __pos, size_type __n, const _Tp& __x) { -+ for ( ; __n > 0; --__n) -+ insert(__pos, __x); -+ } - void push_front(const _Tp& __x) { insert(begin(), __x); } -- void push_front() {insert(begin());} - void push_back(const _Tp& __x) { insert(end(), __x); } -+ -+# ifndef _STLP_NO_ANACHRONISMS -+ iterator insert(iterator __position) { return insert(__position, _Tp()); } -+ void push_front() {insert(begin());} - void push_back() {insert(end());} -+# endif - - iterator erase(iterator __position) { - _List_node_base* __next_node = __position._M_node->_M_next; -@@ -355,10 +351,15 @@ - __prev_node->_M_next = __next_node; - __next_node->_M_prev = __prev_node; - _Destroy(&__n->_M_data); -- _M_node.deallocate(__n, 1); -+ this->_M_node.deallocate(__n, 1); - return iterator((_Node*)__next_node); - } -- iterator erase(iterator __first, iterator __last); -+ -+ iterator erase(iterator __first, iterator __last) { -+ while (__first != __last) -+ erase(__first++); -+ return __last; -+ } - - void resize(size_type __new_size, const _Tp& __x); - void resize(size_type __new_size) { this->resize(__new_size, _Tp()); } -@@ -368,25 +369,30 @@ - iterator __tmp = end(); - erase(--__tmp); - } -- list(size_type __n, const _Tp& __value, -+ list(size_type __n, const _Tp& __val, - const allocator_type& __a = allocator_type()) - : _List_base<_Tp, _Alloc>(__a) -- { this->insert(begin(), __n, __value); } -+ { this->insert(begin(), __n, __val); } - explicit list(size_type __n) - : _List_base<_Tp, _Alloc>(allocator_type()) - { this->insert(begin(), __n, _Tp()); } - --#ifdef __STL_MEMBER_TEMPLATES -- -+#ifdef _STLP_MEMBER_TEMPLATES - // We don't need any dispatching tricks here, because insert does all of -- // that anyway. -+ // that anyway. -+# ifdef _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS -+ template -+ list(_InputIterator __first, _InputIterator __last) -+ : _List_base<_Tp, _Alloc>(allocator_type()) -+ { insert(begin(), __first, __last); } -+# endif - template - list(_InputIterator __first, _InputIterator __last, -- const allocator_type& __a = allocator_type()) -+ const allocator_type& __a _STLP_ALLOCATOR_TYPE_DFL) - : _List_base<_Tp, _Alloc>(__a) - { insert(begin(), __first, __last); } - --#else /* __STL_MEMBER_TEMPLATES */ -+#else /* _STLP_MEMBER_TEMPLATES */ - - list(const _Tp* __first, const _Tp* __last, - const allocator_type& __a = allocator_type()) -@@ -397,7 +403,7 @@ - : _List_base<_Tp, _Alloc>(__a) - { insert(begin(), __first, __last); } - --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - list(const list<_Tp, _Alloc>& __x) : _List_base<_Tp, _Alloc>(__x.get_allocator()) - { insert(begin(), __x.begin(), __x.end()); } - -@@ -415,7 +421,7 @@ - - void _M_fill_assign(size_type __n, const _Tp& __val); - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - - template - void assign(_InputIterator __first, _InputIterator __last) { -@@ -424,12 +430,12 @@ - } - - template -- void _M_assign_dispatch(_Integer __n, _Integer __val, __true_type) -+ void _M_assign_dispatch(_Integer __n, _Integer __val, const __true_type&) - { assign((size_type) __n, (_Tp) __val); } - - template - void _M_assign_dispatch(_InputIterator __first2, _InputIterator __last2, -- __false_type) { -+ const __false_type&) { - iterator __first1 = begin(); - iterator __last1 = end(); - for ( ; __first1 != __last1 && __first2 != __last2; ++__first1, ++__first2) -@@ -440,9 +446,8 @@ - insert(__last1, __first2, __last2); - } - --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - --protected: - public: - void splice(iterator __position, _Self& __x) { - if (!__x.empty()) -@@ -458,95 +463,64 @@ - if (__first != __last) - _List_global_inst::_Transfer(__position._M_node, __first._M_node, __last._M_node); - } -- void remove(const _Tp& __value); -- void unique(); -- void merge(_Self& __x); -- void reverse(); -- void sort(); -- --#ifdef __STL_MEMBER_TEMPLATES --# ifndef __STL_INLINE_MEMBER_TEMPLATES -- template void remove_if(_Predicate); -- template void unique(_BinaryPredicate); -- template void merge(list<_Tp, _Alloc>&, _StrictWeakOrdering); -- template void sort(_StrictWeakOrdering); --# else -- template -- void remove_if(_Predicate __pred) --{ -+ -+ void remove(const _Tp& __val) { - iterator __first = begin(); - iterator __last = end(); - while (__first != __last) { - iterator __next = __first; - ++__next; -- if (__pred(*__first)) erase(__first); -+ if (__val == *__first) erase(__first); - __first = __next; - } - } -+ -+ void unique() { -+ _S_unique(*this, equal_to<_Tp>()); -+ } -+ -+ void merge(_Self& __x) { -+ _S_merge(*this, __x, less<_Tp>()); -+ } -+ -+ void reverse() { -+ _List_node_base* __p = this->_M_node._M_data; -+ _List_node_base* __tmp = __p; -+ do { -+ _STLP_STD::swap(__tmp->_M_next, __tmp->_M_prev); -+ __tmp = __tmp->_M_prev; // Old next node is now prev. -+ } while (__tmp != __p); -+ } -+ -+ void sort() { -+ _S_sort(*this, less<_Tp>()); -+ } -+ -+#ifdef _STLP_MEMBER_TEMPLATES -+ template void remove_if(_Predicate __pred) { -+ _S_remove_if(*this, __pred); -+ } - template - void unique(_BinaryPredicate __binary_pred) { -- iterator __first = begin(); -- iterator __last = end(); -- if (__first == __last) return; -- iterator __next = __first; -- while (++__next != __last) { -- if (__binary_pred(*__first, *__next)) -- erase(__next); -- else -- __first = __next; -- __next = __first; -- } -+ _S_unique(*this, __binary_pred); - } - - template - void merge(list<_Tp, _Alloc>& __x, - _StrictWeakOrdering __comp) { -- iterator __first1 = begin(); -- iterator __last1 = end(); -- iterator __first2 = __x.begin(); -- iterator __last2 = __x.end(); -- while (__first1 != __last1 && __first2 != __last2) -- if (__comp(*__first2, *__first1)) { -- iterator __next = __first2; -- _List_global_inst::_Transfer(__first1._M_node, __first2._M_node, (++__next)._M_node); -- __first2 = __next; -- } -- else -- ++__first1; -- if (__first2 != __last2) _List_global_inst::_Transfer(__last1._M_node, __first2._M_node, __last2._M_node); -+ _S_merge(*this, __x, __comp); - } - - template - void sort(_StrictWeakOrdering __comp) { -- // Do nothing if the list has length 0 or 1. -- if (_M_node._M_data->_M_next != _M_node._M_data && -- (_M_node._M_data->_M_next)->_M_next != _M_node._M_data) { -- list<_Tp, _Alloc> __carry; -- list<_Tp, _Alloc> __counter[64]; -- int __fill = 0; -- while (!empty()) { -- __carry.splice(__carry.begin(), *this, begin()); -- int __i = 0; -- while(__i < __fill && !__counter[__i].empty()) { -- __counter[__i].merge(__carry, __comp); -- __carry.swap(__counter[__i++]); -- } -- __carry.swap(__counter[__i]); -- if (__i == __fill) ++__fill; -- } -- -- for (int __i = 1; __i < __fill; ++__i) -- __counter[__i].merge(__counter[__i-1], __comp); -- swap(__counter[__fill-1]); -- } -+ _S_sort(*this, __comp); - } --# endif /* __STL_INLINE_MEMBER_TEMPLATES */ --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - }; - - template --__STL_INLINE_LOOP bool __STL_CALL -+_STLP_INLINE_LOOP bool _STLP_CALL - operator==(const list<_Tp,_Alloc>& __x, const list<_Tp,_Alloc>& __y) - { - typedef typename list<_Tp,_Alloc>::const_iterator const_iterator; -@@ -563,33 +537,33 @@ - } - - template --inline bool __STL_CALL operator<(const list<_Tp,_Alloc>& __x, -+inline bool _STLP_CALL operator<(const list<_Tp,_Alloc>& __x, - const list<_Tp,_Alloc>& __y) - { - return lexicographical_compare(__x.begin(), __x.end(), - __y.begin(), __y.end()); - } - --# define __STL_TEMPLATE_CONTAINER list<_Tp, _Alloc> --# define __STL_TEMPLATE_HEADER template --__STL_RELOPS_OPERATORS(__STL_TEMPLATE_HEADER, __STL_TEMPLATE_CONTAINER) --# undef __STL_TEMPLATE_CONTAINER --# undef __STL_TEMPLATE_HEADER -+# define _STLP_TEMPLATE_CONTAINER list<_Tp, _Alloc> -+# define _STLP_TEMPLATE_HEADER template -+_STLP_RELOPS_OPERATORS(_STLP_TEMPLATE_HEADER, _STLP_TEMPLATE_CONTAINER) -+# undef _STLP_TEMPLATE_CONTAINER -+# undef _STLP_TEMPLATE_HEADER - --#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE -+#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE - - template --inline void __STL_CALL -+inline void _STLP_CALL - swap(list<_Tp, _Alloc>& __x, list<_Tp, _Alloc>& __y) - { - __x.swap(__y); - } - --#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ -+#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --# if !defined (__STL_LINK_TIME_INSTANTIATION) -+# if !defined (_STLP_LINK_TIME_INSTANTIATION) - # include - # endif - -@@ -597,15 +571,15 @@ - # undef list - # define __list__ __FULL_NAME(list) - --#if defined (__STL_DEBUG) -+#if defined (_STLP_DEBUG) - # include - #endif - --#if defined (__STL_USE_WRAPPER_FOR_ALLOC_PARAM) -+#if defined (_STLP_USE_WRAPPER_FOR_ALLOC_PARAM) - # include - #endif - --#endif /* __SGI_STL_INTERNAL_LIST_H */ -+#endif /* _STLP_INTERNAL_LIST_H */ - - // Local Variables: - // mode:C++ -Only in tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl: _locale.c -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_locale.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_locale.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_locale.h Sat Feb 24 10:44:57 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_locale.h Sun Aug 11 18:59:24 2002 -@@ -20,50 +20,76 @@ - // file directly. - - --#ifndef __SGI_STL_INTERNAL_LOCALE_H --#define __SGI_STL_INTERNAL_LOCALE_H -+#ifndef _STLP_INTERNAL_LOCALE_H -+#define _STLP_INTERNAL_LOCALE_H - --#include --#include --#include --#include -+#ifndef _STLP_CSTDLIB -+# include -+#endif - --__STL_BEGIN_NAMESPACE -+#ifndef _STLP_CWCHAR -+# include -+#endif - --class __STL_CLASS_DECLSPEC _Locale_impl; // Forward declaration of opaque type. --class __STL_CLASS_DECLSPEC locale; -+#ifndef _STLP_INTERNAL_THREADS_H -+# include -+#endif - --class __STL_CLASS_DECLSPEC locale { -- friend class _Locale_impl; -- friend class ios_base; -+#ifndef _STLP_STRING_FWD_H -+# include -+#endif -+ -+_STLP_BEGIN_NAMESPACE -+ -+class _STLP_CLASS_DECLSPEC _Locale_impl; // Forward declaration of opaque type. -+class _STLP_CLASS_DECLSPEC _Locale; // Forward declaration of opaque type. -+class _STLP_CLASS_DECLSPEC locale; -+class _STLP_CLASS_DECLSPEC ios_base; -+ -+ -+template -+bool -+__locale_do_operator_call (const locale* __that, -+ const basic_string<_CharT, char_traits<_CharT>, allocator<_CharT> >& __x, -+ const basic_string<_CharT, char_traits<_CharT>, allocator<_CharT> >& __y); -+ -+# define _BaseFacet locale::facet -+ -+class _STLP_CLASS_DECLSPEC locale { - public: - // types: - -- class __STL_DECLSPEC facet : private _Refcount_Base { -- friend class locale; -- friend class _Locale_impl; -+ class _STLP_DECLSPEC facet : private _Refcount_Base { - protected: - explicit facet(size_t __no_del = 0) : _Refcount_Base(1), _M_delete(__no_del == 0) {} - virtual ~facet(); -+ friend class locale; -+ friend class _Locale_impl; -+ friend class _Locale; - - private: // Invalidate assignment and copying. -- facet(const facet&); -+ facet(const facet& __f) : _Refcount_Base(1), _M_delete(__f._M_delete == 0) {}; - void operator=(const facet&); - - private: // Data members. - const bool _M_delete; - }; - -- class __STL_DECLSPEC id { -+#if defined(__MVS__) || defined(__OS400__) -+ struct -+#else -+ class -+#endif -+ _STLP_DECLSPEC id { - friend class locale; - friend class _Locale_impl; - public: - size_t _M_index; - static size_t _S_max; - }; -- -+ - typedef int category; --# if defined (__STL_STATIC_CONST_INIT_BUG) || defined (__STL_USE_DECLSPEC) -+# if defined (_STLP_STATIC_CONST_INIT_BUG) - enum _Category { - # else - static const category -@@ -76,107 +102,98 @@ - time = 0x200, - messages = 0x400, - all = collate | ctype | monetary | numeric | time | messages --# if defined (__STL_STATIC_CONST_INIT_BUG) || defined (__STL_USE_DECLSPEC) -+# if defined (_STLP_STATIC_CONST_INIT_BUG) - } - # endif - ; - - // construct/copy/destroy: - locale(); -- locale(const locale&) __STL_NOTHROW; -+ locale(const locale&) _STLP_NOTHROW; - explicit locale(const char *); - locale(const locale&, const char*, category); - --private: -+ // those are for internal use -+ locale(_Locale_impl*); - locale(_Locale_impl*, bool); - - public: - --# if defined ( __STL_MEMBER_TEMPLATES ) && defined (__STL_FUNCTION_TMPL_PARTIAL_ORDER) -+# if defined ( _STLP_MEMBER_TEMPLATES ) /* && defined (_STLP_FUNCTION_TMPL_PARTIAL_ORDER) */ - template - locale(const locale& __loc, _Facet* __f) : _M_impl(0) - { -- _M_impl = this->_S_copy_impl(__loc._M_impl, __f != 0); -+ // _M_impl = this->_S_copy_impl(__loc._M_impl, __f != 0); -+ new(this) locale(__loc._M_impl, __f != 0); - if (__f != 0) -- this->_M_insert(__f, _Facet::id); -+ this->_M_insert(__f, _Facet::id); - } - # endif - - locale(const locale&, const locale&, category); -- ~locale() __STL_NOTHROW; -- const locale& operator=(const locale&) __STL_NOTHROW; -+ ~locale() _STLP_NOTHROW; -+ const locale& operator=(const locale&) _STLP_NOTHROW; - --# if !(defined (__STL_NO_MEMBER_TEMPLATES) || defined (__STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS)) -- template locale combine(const locale&) --# ifndef __STL_INLINE_MEMBER_TEMPLATES -- ; --# else --{ -- locale __result(__loc._M_impl, true); -- if (facet* __f = __loc._M_get_facet(_Facet::id)) { -- __result._M_insert(__f, _Facet::id); -- __f->_M_incr(); -+# if !(defined (_STLP_NO_MEMBER_TEMPLATES) || defined (_STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS)) -+ template locale combine(const locale& __loc) { -+ locale __result(__loc._M_impl, true); -+ if (facet* __f = __loc._M_get_facet(_Facet::id)) { -+ __result._M_insert(__f, _Facet::id); -+ __f->_M_incr(); -+ } -+ else -+ _M_throw_runtime_error(); -+ return __result; - } -- else -- _M_throw_runtime_error(); -- -- return __result; --} --# endif - # endif - // locale operations: -- basic_string, allocator > name() const; -+ string name() const; - - bool operator==(const locale&) const; - bool operator!=(const locale&) const; - --# if ! defined ( __STL_MEMBER_TEMPLATES ) || defined (__STL_INLINE_MEMBER_TEMPLATES) -- bool operator()(const string& __x, -- const string& __y) const; --# ifndef __STL_NO_WCHAR_T -- bool operator()(const wstring& __x, -- const wstring& __y) const; -+# if ! defined ( _STLP_MEMBER_TEMPLATES ) || defined (_STLP_INLINE_MEMBER_TEMPLATES) || (defined(__MWERKS__) && __MWERKS__ <= 0x2301) -+ bool operator()(const string& __x, const string& __y) const; -+# ifndef _STLP_NO_WCHAR_T -+ bool operator()(const wstring& __x, const wstring& __y) const; - # endif - # else - template - bool operator()(const basic_string<_CharT, _Traits, _Alloc>& __x, -- const basic_string<_CharT, _Traits, _Alloc>& __y) const --# if !defined(__MWERKS__) || __MWERKS__ > 0x2301 -- ; --# else -- -- { -- const __STLPORT_STD::collate<_CharT>& __col = -- use_facet<__STLPORT_STD::collate<_CharT> >(*this); -- return __col.compare(__x.data(), __x.data() + __x.size(), -- __y.data(), __y.data() + __y.size()); -+ const basic_string<_CharT, _Traits, _Alloc>& __y) const { -+ return __locale_do_operator_call(this, __x, __y); - } --# endif - # endif - - // global locale objects: -- static locale __STL_CALL global(const locale&); -- static const locale& __STL_CALL classic(); -+ static locale _STLP_CALL global(const locale&); -+ static const locale& _STLP_CALL classic(); - - public: // Helper functions for locale globals. - facet* _M_get_facet(const id&) const; -- static void __STL_CALL _M_throw_runtime_error(const char* = 0); -+ // same, but throws -+ facet* _M_use_facet(const id&) const; -+ static void _STLP_CALL _M_throw_runtime_error(const char* = 0); -+ static void _STLP_CALL _S_initialize(); -+ static void _STLP_CALL _S_uninitialize(); - - private: // More helper functions. -- static void __STL_CALL _S_initialize(); -- static void __STL_CALL _S_uninitialize(); -- static _Locale_impl* __STL_CALL _S_copy_impl(_Locale_impl*, bool); -+ // static _Locale_impl* _STLP_CALL _S_copy_impl(_Locale_impl*, bool); - void _M_insert(facet* __f, id& __id); - --private: // Data members -- _Locale_impl* _M_impl; -+ // friends: -+ friend class _Locale_impl; -+ friend class _Locale; -+ friend class ios_base; - -+private: // Data members -+ _Locale_impl* _M_impl; - }; - - //---------------------------------------------------------------------- - // locale globals - --# ifdef __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS -+# ifdef _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS - template - inline const _Facet& - _Use_facet<_Facet>::operator *() const -@@ -184,40 +201,31 @@ - template inline const _Facet& use_facet(const locale& __loc) - # endif - { -- const locale::facet* __f = __loc._M_get_facet(_Facet::id); -- if (!__f) { -- __STL_THROW(bad_cast()); -- } -- const _Facet* __fc = __STATIC_CAST(const _Facet*,__f); -- return *__fc; -+ return *__STATIC_CAST(const _Facet*,__loc._M_use_facet(_Facet::id)); - } - - --# ifdef __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS -+# ifdef _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS - template - struct has_facet { - const locale& __loc; - has_facet(const locale& __p_loc) : __loc(__p_loc) {} -- operator bool() const __STL_NOTHROW -+ operator bool() const _STLP_NOTHROW - # else --template inline bool has_facet(const locale& __loc) __STL_NOTHROW -+template inline bool has_facet(const locale& __loc) _STLP_NOTHROW - # endif - { -- return __loc._M_get_facet(_Facet::id) != 0; -+ return (__loc._M_get_facet(_Facet::id) != 0); - } - --# ifdef __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS -+# ifdef _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS - // close class definition - }; - # endif - --__STL_END_NAMESPACE -- --# ifndef __STL_LINK_TIME_INSTANTIATION --# include --# endif -+_STLP_END_NAMESPACE - --#endif /* __SGI_STL_INTERNAL_LOCALE_H */ -+#endif /* _STLP_INTERNAL_LOCALE_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_map.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_map.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_map.h Sat Feb 24 10:44:57 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_map.h Sun Aug 11 18:59:24 2002 -@@ -27,16 +27,20 @@ - * You should not attempt to use it directly. - */ - --#ifndef __SGI_STL_INTERNAL_MAP_H --#define __SGI_STL_INTERNAL_MAP_H -+#ifndef _STLP_INTERNAL_MAP_H -+#define _STLP_INTERNAL_MAP_H -+ -+#ifndef _STLP_INTERNAL_TREE_H -+# include -+#endif - - #define map __WORKAROUND_RENAME(map) - #define multimap __WORKAROUND_RENAME(multimap) - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - template ), -- __STL_DEFAULT_PAIR_ALLOCATOR_SELECT(const _Key, _Tp) > -+ _STLP_DEFAULT_PAIR_ALLOCATOR_SELECT(const _Key, _Tp) > - class map { - public: - -@@ -61,7 +65,7 @@ - }; - - private: --# ifdef __STL_MULTI_CONST_TEMPLATE_ARG_BUG -+# ifdef _STLP_MULTI_CONST_TEMPLATE_ARG_BUG - typedef _Rb_tree, key_compare, _Alloc> _Rep_type; - # else -@@ -89,7 +93,7 @@ - const allocator_type& __a = allocator_type()) - : _M_t(__comp, __a) {} - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - template - map(_InputIterator __first, _InputIterator __last) - : _M_t(_Compare(), allocator_type()) -@@ -97,12 +101,15 @@ - - template - map(_InputIterator __first, _InputIterator __last, const _Compare& __comp, -- const allocator_type& __a) -+ const allocator_type& __a _STLP_ALLOCATOR_TYPE_DFL) - : _M_t(__comp, __a) { _M_t.insert_unique(__first, __last); } - -+# ifdef _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS - template - map(_InputIterator __first, _InputIterator __last, const _Compare& __comp) - : _M_t(__comp, allocator_type()) { _M_t.insert_unique(__first, __last); } -+# endif -+ - #else - map(const value_type* __first, const value_type* __last) - : _M_t(_Compare(), allocator_type()) -@@ -121,7 +128,7 @@ - const allocator_type& __a = allocator_type()) - : _M_t(__comp, __a) { _M_t.insert_unique(__first, __last); } - --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - map(const map<_Key,_Tp,_Compare,_Alloc>& __x) : _M_t(__x._M_t) {} - map<_Key,_Tp,_Compare,_Alloc>& -@@ -152,7 +159,7 @@ - iterator __i = lower_bound(__k); - // __i->first is greater than or equivalent to __k. - if (__i == end() || key_comp()(__k, (*__i).first)) -- __i = insert(__i, value_type(__k, _Tp())); -+ __i = insert(__i, value_type(__k, _STLP_DEFAULT_CONSTRUCTED(_Tp))); - return (*__i).second; - } - void swap(map<_Key,_Tp,_Compare,_Alloc>& __x) { _M_t.swap(__x._M_t); } -@@ -163,7 +170,7 @@ - { return _M_t.insert_unique(__x); } - iterator insert(iterator position, const value_type& __x) - { return _M_t.insert_unique(position, __x); } --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - template - void insert(_InputIterator __first, _InputIterator __last) { - _M_t.insert_unique(__first, __last); -@@ -175,7 +182,7 @@ - void insert(const_iterator __first, const_iterator __last) { - _M_t.insert_unique(__first, __last); - } --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - void erase(iterator __position) { _M_t.erase(__position); } - size_type erase(const key_type& __x) { return _M_t.erase(__x); } -@@ -209,7 +216,7 @@ - - - template ), -- __STL_DEFAULT_PAIR_ALLOCATOR_SELECT(const _Key, _Tp) > -+ _STLP_DEFAULT_PAIR_ALLOCATOR_SELECT(const _Key, _Tp) > - class multimap { - public: - -@@ -233,7 +240,7 @@ - }; - - private: --# ifdef __STL_MULTI_CONST_TEMPLATE_ARG_BUG -+# ifdef _STLP_MULTI_CONST_TEMPLATE_ARG_BUG - typedef _Rb_tree, key_compare, _Alloc> _Rep_type; - # else -@@ -261,21 +268,21 @@ - const allocator_type& __a = allocator_type()) - : _M_t(__comp, __a) { } - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - template - multimap(_InputIterator __first, _InputIterator __last) - : _M_t(_Compare(), allocator_type()) - { _M_t.insert_equal(__first, __last); } -- -+# ifdef _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS - template - multimap(_InputIterator __first, _InputIterator __last, - const _Compare& __comp) - : _M_t(__comp, allocator_type()) { _M_t.insert_equal(__first, __last); } -- -+# endif - template - multimap(_InputIterator __first, _InputIterator __last, - const _Compare& __comp, -- const allocator_type& __a ) -+ const allocator_type& __a _STLP_ALLOCATOR_TYPE_DFL) - : _M_t(__comp, __a) { _M_t.insert_equal(__first, __last); } - #else - multimap(const value_type* __first, const value_type* __last) -@@ -293,7 +300,7 @@ - const _Compare& __comp, - const allocator_type& __a = allocator_type()) - : _M_t(__comp, __a) { _M_t.insert_equal(__first, __last); } --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - multimap(const multimap<_Key,_Tp,_Compare,_Alloc>& __x) : _M_t(__x._M_t) { } - multimap<_Key,_Tp,_Compare,_Alloc>& -@@ -327,7 +334,7 @@ - iterator insert(iterator __position, const value_type& __x) { - return _M_t.insert_equal(__position, __x); - } --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - template - void insert(_InputIterator __first, _InputIterator __last) { - _M_t.insert_equal(__first, __last); -@@ -339,7 +346,7 @@ - void insert(const_iterator __first, const_iterator __last) { - _M_t.insert_equal(__first, __last); - } --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - void erase(iterator __position) { _M_t.erase(__position); } - size_type erase(const key_type& __x) { return _M_t.erase(__x); } - void erase(iterator __first, iterator __last) -@@ -367,23 +374,23 @@ - } - }; - --# define __STL_TEMPLATE_HEADER template -+# define _STLP_TEMPLATE_HEADER template - --# define __STL_TEMPLATE_CONTAINER map<_Key,_Tp,_Compare,_Alloc> -+# define _STLP_TEMPLATE_CONTAINER map<_Key,_Tp,_Compare,_Alloc> - - // fbp : if this template header gets protected against your will, report it ! - # include - --# undef __STL_TEMPLATE_CONTAINER --# define __STL_TEMPLATE_CONTAINER multimap<_Key,_Tp,_Compare,_Alloc> -+# undef _STLP_TEMPLATE_CONTAINER -+# define _STLP_TEMPLATE_CONTAINER multimap<_Key,_Tp,_Compare,_Alloc> - - // fbp : if this template header gets protected against your will, report it ! - # include - --# undef __STL_TEMPLATE_CONTAINER --# undef __STL_TEMPLATE_HEADER -+# undef _STLP_TEMPLATE_CONTAINER -+# undef _STLP_TEMPLATE_HEADER - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - - // do a cleanup - # undef map -@@ -392,11 +399,11 @@ - # define __map__ __FULL_NAME(map) - # define __multimap__ __FULL_NAME(multimap) - --# ifdef __STL_USE_WRAPPER_FOR_ALLOC_PARAM -+# ifdef _STLP_USE_WRAPPER_FOR_ALLOC_PARAM - # include - # endif - --#endif /* __SGI_STL_INTERNAL_MAP_H */ -+#endif /* _STLP_INTERNAL_MAP_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_messages_facets.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_messages_facets.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_messages_facets.h Sat Feb 24 10:44:58 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_messages_facets.h Sun Aug 11 18:59:24 2002 -@@ -21,13 +21,22 @@ - // file directly. - - --#ifndef __SGI_STL_INTERNAL_MESSAGES_H --#define __SGI_STL_INTERNAL_MESSAGES_H -+#ifndef _STLP_INTERNAL_MESSAGES_H -+#define _STLP_INTERNAL_MESSAGES_H - --__STL_BEGIN_NAMESPACE -+#ifndef _STLP_IOS_BASE_H -+# include -+#endif -+ -+# ifndef _STLP_C_LOCALE_H -+# include -+# endif -+ -+#ifndef _STLP_STRING_H -+# include -+#endif - --// Forward declaration of an opaque type. --struct _Catalog_locale_map; -+_STLP_BEGIN_NAMESPACE - - // messages facets - -@@ -38,33 +47,33 @@ - - template class messages {}; - --__STL_TEMPLATE_NULL --class __STL_CLASS_DECLSPEC messages : public locale::facet, public messages_base -+class _Messages; -+ -+_STLP_TEMPLATE_NULL -+class _STLP_CLASS_DECLSPEC messages : public locale::facet, public messages_base - { -- friend class _Locale_impl; --#if defined(__MRC__) || defined(__SC__) //*TY 04/29/2000 - added workaround for mpw -- typedef locale::facet _facet; //*TY 04/29/2000 - they forget to look into nested class for the ctor. --#endif //*TY 04/29/2000 - -+ friend class _Locale; - public: - typedef messages_base::catalog catalog; - typedef char char_type; - typedef string string_type; - -- - explicit messages(size_t __refs = 0); - -- inline catalog open(const string& __fn, const locale& __loc) const -+ catalog open(const string& __fn, const locale& __loc) const - { return do_open(__fn, __loc); } -- inline string_type get(catalog __c, int __set, int __msgid, -- const string_type& __dfault) const -+ string_type get(catalog __c, int __set, int __msgid, -+ const string_type& __dfault) const - { return do_get(__c, __set, __msgid, __dfault); } - inline void close(catalog __c) const - { do_close(__c); } - -- __STL_STATIC_MEMBER_DECLSPEC static locale::id id; -+ _STLP_STATIC_MEMBER_DECLSPEC static locale::id id; -+ -+ messages(_Messages*); - - protected: -- messages(size_t, _Locale_messages*); -+ messages(size_t, _Locale_messages*); - ~messages(); - - virtual catalog do_open(const string& __fn, const locale& __loc) const; -@@ -75,24 +84,22 @@ - void _M_initialize(const char* __name); - - private: -- _Locale_messages* _M_message_obj; -+ _Messages* _M_impl; - }; - --# if !defined (__STL_NO_WCHAR_T) --__STL_TEMPLATE_NULL --class __STL_CLASS_DECLSPEC messages : public locale::facet, public messages_base -+# if !defined (_STLP_NO_WCHAR_T) -+ -+_STLP_TEMPLATE_NULL -+class _STLP_CLASS_DECLSPEC messages : public locale::facet, public messages_base - { -- friend class _Locale_impl; --#if defined(__MRC__) || defined(__SC__) //*TY 04/29/2000 - added workaround for mpw -- typedef locale::facet _facet; //*TY 04/29/2000 - they forget to look into nested class for the ctor. --#endif //*TY 04/29/2000 - -+ friend class _Locale; - public: - typedef messages_base::catalog catalog; - typedef wchar_t char_type; - typedef wstring string_type; - - explicit messages(size_t __refs = 0); -- -+ - inline catalog open(const string& __fn, const locale& __loc) const - { return do_open(__fn, __loc); } - inline string_type get(catalog __c, int __set, int __msgid, -@@ -101,9 +108,12 @@ - inline void close(catalog __c) const - { do_close(__c); } - -- __STL_STATIC_MEMBER_DECLSPEC static locale::id id; -+ _STLP_STATIC_MEMBER_DECLSPEC static locale::id id; -+ -+ messages(_Messages*); - - protected: -+ - messages(size_t, _Locale_messages*); - ~messages(); - -@@ -115,16 +125,15 @@ - void _M_initialize(const char* __name); - - private: -- _Locale_messages* _M_message_obj; -- _Catalog_locale_map* _M_map; -+ _Messages* _M_impl; - }; - - # endif /* WCHAR_T */ - - template class messages_byname {}; - --__STL_TEMPLATE_NULL --class __STL_CLASS_DECLSPEC messages_byname : public messages { -+_STLP_TEMPLATE_NULL -+class _STLP_CLASS_DECLSPEC messages_byname : public messages { - public: - typedef messages_base::catalog catalog; - typedef string string_type; -@@ -135,9 +144,9 @@ - ~messages_byname(); - }; - --# ifndef __STL_NO_WCHAR_T --__STL_TEMPLATE_NULL --class __STL_CLASS_DECLSPEC messages_byname : public messages { -+# ifndef _STLP_NO_WCHAR_T -+_STLP_TEMPLATE_NULL -+class _STLP_CLASS_DECLSPEC messages_byname : public messages { - public: - typedef messages_base::catalog catalog; - typedef wstring string_type; -@@ -149,9 +158,9 @@ - }; - # endif /* WCHAR_T */ - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --#endif /* __SGI_STL_INTERNAL_MESSAGES_H */ -+#endif /* _STLP_INTERNAL_MESSAGES_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_monetary.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_monetary.c ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_monetary.c Sat Feb 24 10:44:58 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_monetary.c Sun Aug 11 18:59:24 2002 -@@ -15,10 +15,30 @@ - * modified is included with the above copyright notice. - * - */ --#ifndef __STL_MONETARY_C --#define __STL_MONETARY_C -+#ifndef _STLP_MONETARY_C -+#define _STLP_MONETARY_C - --__STL_BEGIN_NAMESPACE -+# ifndef _STLP_INTERNAL_MONETARY_H -+# include -+# endif -+ -+# if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) -+ -+#ifndef _STLP_INTERNAL_IOS_H -+# include -+#endif -+ -+#ifndef _STLP_INTERNAL_NUM_PUT_H -+# include -+#endif -+ -+#ifndef _STLP_INTERNAL_NUM_GET_H -+# include -+#endif -+ -+_STLP_BEGIN_NAMESPACE -+ -+# if ( _STLP_STATIC_TEMPLATE_DATA > 0 ) - - template - locale::id money_get<_CharT, _InputIterator>::id; -@@ -26,29 +46,36 @@ - template - locale::id money_put<_CharT, _OutputIterator>::id; - --# if defined (__STL_USE_TEMPLATE_EXPORT) --__STL_EXPORT_TEMPLATE_CLASS money_get > >; --__STL_EXPORT_TEMPLATE_CLASS money_put > >; --__STL_EXPORT_TEMPLATE_CLASS money_get; --__STL_EXPORT_TEMPLATE_CLASS money_put; --# if ! defined (__STL_NO_WCHAR_T) --__STL_EXPORT_TEMPLATE_CLASS money_get > >; --__STL_EXPORT_TEMPLATE_CLASS money_put > >; --__STL_EXPORT_TEMPLATE_CLASS money_get; --__STL_EXPORT_TEMPLATE_CLASS money_put; --# endif --# endif /* __STL_USE_TEMPLATE_EXPORT */ -- --# if defined (__STL_DESIGNATED_DLL) || ! defined (__STL_NO_CUSTOM_IO) -+# else /* ( _STLP_STATIC_TEMPLATE_DATA > 0 ) */ - --char* __write_monetary_value(long double, char* __buf, const locale&); -+typedef money_get money_get_char; -+typedef money_put money_put_char; -+typedef money_get > > money_get_char_2; -+typedef money_put > > money_put_char_2; -+ -+__DECLARE_INSTANCE(locale::id, money_get_char::id, ); -+__DECLARE_INSTANCE(locale::id, money_put_char::id, ); -+__DECLARE_INSTANCE(locale::id, money_get_char_2::id, ); -+__DECLARE_INSTANCE(locale::id, money_put_char_2::id, ); -+ -+# ifndef _STLP_NO_WCHAR_T -+ -+typedef money_get money_get_wchar_t; -+typedef money_get > > money_get_wchar_t_2; -+typedef money_put money_put_wchar_t; -+typedef money_put > > money_put_wchar_t_2; -+ -+__DECLARE_INSTANCE(locale::id, money_get_wchar_t::id, ); -+__DECLARE_INSTANCE(locale::id, money_put_wchar_t::id, ); -+__DECLARE_INSTANCE(locale::id, money_get_wchar_t_2::id, ); -+__DECLARE_INSTANCE(locale::id, money_put_wchar_t_2::id, ); - --#ifndef __STL_NO_WCHAR_T --wchar_t* __write_monetary_value(long double, wchar_t* __buf, const locale&); --#endif -+# endif -+# endif /* ( _STLP_STATIC_TEMPLATE_DATA > 0 ) */ - - // money_get facets - -+ - // helper functions for do_get - template - pair<_InIt1, bool> __get_string(_InIt1 __first, _InIt1 __last, -@@ -57,77 +84,21 @@ - return make_pair(__pr.first, __pr.second == __str_last); - } - --#if !(defined(__MRC__)||defined(__SC__)) //*TY 02/26/2000 - mpw compilers have difficulty matching complex template arguments - template --pair<_InIt, bool> __get_monetary_value(_InIt __first, _InIt __last, -- _OuIt __out, -- const ctype<_CharT>& __c_type, -- _CharT __point, -- int __frac_digits, -- bool& __syntax_ok) --#else //*TY 02/26/2000 - added workaround for MPW compilers --template //*TY 02/26/2000 - added _CType --pair<_InIt, bool> __get_monetary_value(_InIt __first, _InIt __last, -- _OuIt __out, -- const _CType& __c_type, //*TY 02/26/2000 - simplified parameter type -- _CharT __point, -- int __frac_digits, -- bool& __syntax_ok) --#endif //*TY 02/26/2000 - --{ -- if (__first == __last || !__c_type.is(ctype_base::digit, *__first)) -- return make_pair(__first, false); -- -- while (__first != __last && __c_type.is(ctype_base::digit, *__first)) -- *__out++ = *__first++; -- -- if (__first == __last || *__first != __point) { -- for (int __digits = 0; __digits != __frac_digits; ++__digits) -- *__out++ = _CharT('0'); -- return make_pair(__first, true); -- } -- -- ++__first; -- -- int __digits = 0; -- -- while (__first != __last && __c_type.is(ctype_base::digit, *__first)) { -- *__out++ = *__first++; -- ++__digits; -- } -- -- __syntax_ok = (__digits == __frac_digits); -- -- return pair<_InIt, bool>(__first, true); --} -- --#if !(defined(__MRC__)||defined(__SC__)) --//*TY 02/26/2000 - mpw compilers have difficulty matching complex template arguments --template --pair<_InIt, bool> --__get_monetary_value(_InIt __first, _InIt __last, _OuIt __out, -+bool -+__get_monetary_value(_InIt& __first, _InIt __last, _OuIt __out, - const ctype<_CharT>& _c_type, - _CharT __point, - int __frac_digits, - _CharT __sep, - const string& __grouping, -- bool& __syntax_ok) --#else //*TY 02/26/2000 - added workaround for MPW compilers --template //*TY 02/26/2000 - added _CType --pair<_InIt, bool> --__get_monetary_value(_InIt __first, _InIt __last, _OuIt __out, -- const _CType& _c_type, //*TY 02/26/2000 - simplified parameter type -- _CharT __point, -- int __frac_digits, -- _CharT __sep, -- const string& __grouping, -- bool& __syntax_ok) --#endif -+ bool& __syntax_ok) - { - if (__first == __last || !_c_type.is(ctype_base::digit, *__first)) -- return pair<_InIt, bool>(__first, false); -+ return false; - -- string __group_sizes; -+ char __group_sizes[128]; -+ char* __group_sizes_end = __grouping.size() == 0 ? 0 : __group_sizes; - char __current_group_size = 0; - - while (__first != __last) { -@@ -135,30 +106,37 @@ - ++__current_group_size; - *__out++ = *__first++; - } -- else -- if (*__first == __sep) { -- __group_sizes.push_back(__current_group_size); -- __current_group_size = 0; -- ++__first; -+ else if (__group_sizes_end) { -+ if (*__first == __sep) { -+ *__group_sizes_end++ = __current_group_size; -+ __current_group_size = 0; -+ ++__first; -+ } -+ else break; - } - else - break; - } - -- if (__group_sizes.size() != 0) -- __group_sizes.push_back(__current_group_size); -- reverse(__group_sizes.begin(), __group_sizes.end()); -- __syntax_ok = __valid_grouping(__group_sizes, __grouping); -- -- if (__first == __last || *__first != __point) { -- for (int __digits = 0; __digits != __frac_digits; ++__digits) -- *__out++ = _CharT('0'); -- return make_pair(__first, true); // OK not to have decimal point -+ if (__grouping.size() == 0) -+ __syntax_ok = true; -+ else { -+ if (__group_sizes_end != __group_sizes) -+ *__group_sizes_end++ = __current_group_size; -+ -+ __syntax_ok = __valid_grouping(__group_sizes, __group_sizes_end, -+ __grouping.data(), __grouping.data()+ __grouping.size()); -+ -+ if (__first == __last || *__first != __point) { -+ for (int __digits = 0; __digits != __frac_digits; ++__digits) -+ *__out++ = _CharT('0'); -+ return true; // OK not to have decimal point -+ } - } - - ++__first; - -- int __digits = 0; -+ size_t __digits = 0; - - while (__first != __last && _c_type.is(ctype_base::digit, *__first)) { - *__out++ = *__first++; -@@ -167,9 +145,11 @@ - - __syntax_ok = __syntax_ok && (__digits == __frac_digits); - -- return pair<_InIt, bool>(__first, true); -+ return true; - } - -+# ifndef _STLP_NO_LONG_DOUBLE -+ - //===== methods ====== - template - _InputIter -@@ -178,17 +158,19 @@ - long double& __units) const { - string_type __buf; - __s = do_get(__s, __end, __intl, __str, __err, __buf); -+ - if (__err == ios_base::goodbit || __err == ios_base::eofbit) { - __buf.push_back(0); -- //Can't use atold, since it might be wchar_t. -- __get_integer(__buf.begin(), __buf.end(), 10, -- char_type(), false, locale::classic(), -- __units); -+ typename string_type::iterator __b = __buf.begin(), __e = __buf.end(); -+ // Can't use atold, since it might be wchar_t. Don't get confused by name below : -+ // it's perfectly capable of reading long double. -+ __get_decimal_integer(__b, __e, __units); - } - if (__s == __end) - __err |= ios_base::eofbit; - return __s; - } -+# endif - - template - _InputIter -@@ -300,41 +282,33 @@ - case money_base::value: { - _CharT __point = __intl ? __punct_intl.decimal_point() - : __punct.decimal_point(); -- size_t __frac_digits = __intl ? __punct_intl.frac_digits() -+ int __frac_digits = __intl ? __punct_intl.frac_digits() - : __punct.frac_digits(); - string __grouping = __intl ? __punct_intl.grouping() - : __punct.grouping(); - bool __syntax_ok = true; -- pair<_InputIter, bool> __result; -- if (__grouping.size() == 0) { -- __result = __get_monetary_value(__s, __end, __out, __c_type, -- __point, __frac_digits, -- __syntax_ok); -- if (!__syntax_ok) -- __err |= ios_base::failbit; -- if (!__result.second) { -- __err |= ios_base::failbit; -- return __result.first; -- } -- } -- else { -- _CharT __sep = __intl ? __punct_intl.thousands_sep() -- : __punct.thousands_sep(); -- __result = __get_monetary_value(__s, __end, __out, __c_type, -- __point, __frac_digits, -- __sep, -- __grouping, __syntax_ok); -- -- if (!__syntax_ok) -- __err |= ios_base::failbit; -- if (!__result.second) { -- __err = ios_base::failbit; -- return __result.first; -- } -+ -+ bool __result; -+ -+ _CharT __sep = __grouping.size() == 0 ? _CharT() : -+ __intl ? __punct_intl.thousands_sep() : __punct.thousands_sep(); -+ -+ __result = __get_monetary_value(__s, __end, __out, __c_type, -+ __point, __frac_digits, -+ __sep, -+ __grouping, __syntax_ok); -+ -+ if (!__syntax_ok) -+ __err |= ios_base::failbit; -+ if (!__result) { -+ __err = ios_base::failbit; -+ return __s; - } -- __s = __result.first; - break; -+ - } // Close money_base::value case -+ -+ - } // Close switch statement - } // Close for loop - -@@ -358,32 +332,19 @@ - __err |= ios::failbit; - } - if (!(__err & ios::failbit)) { -- __buf.insert(__buf.begin(), -- (use_facet >(__loc)).widen('-')); -+ __buf.insert(__buf.begin(),__c_type.widen('-')); - __digits = __buf; - } - } - if (__s == __end) - __err |= ios::eofbit; -+ - return __s; - } - - // money_put facets - - template --money_put<_CharT, _OutputIter>::money_put(size_t __refs) --#if !(defined(__MRC__) || defined(__SC__) ) //*TY 04/29/2000 - added workaround for mpw -- : locale::facet(__refs) --#else //*TY 04/29/2000 - -- : _facet(__refs) //*TY 04/29/2000 - they forget to look into the nested class for the ctor --#endif //*TY 04/29/2000 - --{} -- --template --money_put<_CharT, _OutputIter>::~money_put() --{} -- --template - _OutputIter - money_put<_CharT, _OutputIter> - ::do_put(_OutputIter __s, bool __intl, ios_base& __str, -@@ -475,7 +436,13 @@ - // Determine the amount of padding required, if any. - - size_t __width = __str.width(); -+ -+#if defined(_STLP_DEBUG) && (defined(__HP_aCC) || (__HP_aCC <= 1)) -+ size_t __value_length = operator -(__digits_last, __digits_first); -+#else - size_t __value_length = __digits_last - __digits_first; -+#endif -+ - size_t __length = __value_length; - - __length += __sign.size(); -@@ -496,7 +463,7 @@ - ++__length; - } - -- int __fill_amt = __length < __width ? __width - __length : 0; -+ size_t __fill_amt = __length < __width ? __width - __length : 0; - - ios_base::fmtflags __fill_pos = __str.flags() & ios_base::adjustfield; - -@@ -550,12 +517,11 @@ - if (!(__fill_pos & (ios_base::right | ios_base::internal))) - __s = fill_n(__s, __fill_amt, __fill); - -- - return __s; - } - --# endif /* defined (__STL_NO_CUSTOM_IO) && ! defined (__STL_DESIGNATED_DLL) */ -+_STLP_END_NAMESPACE - --__STL_END_NAMESPACE -+# endif /* EXPOSE */ - --#endif /* __STL_MONETARY_C */ -+#endif /* _STLP_MONETARY_C */ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_monetary.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_monetary.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_monetary.h Sat Feb 24 10:44:59 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_monetary.h Sun Aug 11 18:59:24 2002 -@@ -20,12 +20,22 @@ - // file directly. - - --#ifndef __SGI_STL_INTERNAL_MONETARY_H --#define __SGI_STL_INTERNAL_MONETARY_H -+#ifndef _STLP_INTERNAL_MONETARY_H -+#define _STLP_INTERNAL_MONETARY_H - --# include -+#ifndef _STLP_INTERNAL_CTYPE_H -+# include -+#endif -+ -+#ifndef _STLP_INTERNAL_OSTREAMBUF_ITERATOR_H -+# include -+#endif -+ -+#ifndef _STLP_INTERNAL_ISTREAMBUF_ITERATOR_H -+# include -+#endif - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - class money_base { - public: -@@ -35,7 +45,6 @@ - }; - }; - -- - // moneypunct facets: forward declaration - template class moneypunct {}; - -@@ -44,78 +53,62 @@ - template ) > - class money_get : public locale::facet - { -- friend class _Locale_impl; --#if defined(__MRC__) || defined(__SC__) //*TY 04/29/2000 - added workaround for mpw -- typedef locale::facet _facet; //*TY 04/29/2000 - they forget to look into nested class for the ctor. --#endif //*TY 04/29/2000 - -+ friend class _Locale; - public: - typedef _CharT char_type; - typedef _InputIter iter_type; - typedef basic_string<_CharT, char_traits<_CharT>, allocator<_CharT> > string_type; - --#if !(defined(__MRC__)||defined(__SC__)) //*TY 02/26/2000 - added workaround for MPW compilers; explicit will prevent the compiler to find out the proper ctor -- explicit --#endif //*TY 02/26/2000 - -- money_get(size_t __refs = 0) --#if !(defined(__MRC__) || defined(__SC__) ) //*TY 04/29/2000 - added workaround for mpw -- : locale::facet(__refs) --#else //*TY 04/29/2000 - -- : _facet(__refs) //*TY 04/29/2000 - they forget to look into the nested class for the ctor --#endif //*TY 04/29/2000 - -- {} -- -+ money_get(size_t __refs = 0) : _BaseFacet(__refs) {} -+# ifndef _STLP_NO_LONG_DOUBLE - iter_type get(iter_type __s, iter_type __end, bool __intl, - ios_base& __str, ios_base::iostate& __err, - long double& __units) const - { return do_get(__s, __end, __intl, __str, __err, __units); } -- -+# endif - iter_type get(iter_type __s, iter_type __end, bool __intl, - ios_base& __str, ios_base::iostate& __err, - string_type& __digits) const - { return do_get(__s, __end, __intl, __str, __err, __digits); } - -- __STL_STATIC_MEMBER_DECLSPEC static locale::id id; -+ _STLP_STATIC_MEMBER_DECLSPEC static locale::id id; - - protected: - ~money_get() {} -+# ifndef _STLP_NO_LONG_DOUBLE - virtual iter_type do_get(iter_type __s, iter_type __end, bool __intl, - ios_base& __str, ios_base::iostate& __err, - long double& __units) const; -+# endif - virtual iter_type do_get(iter_type __s, iter_type __end, bool __intl, - ios_base& __str, ios_base::iostate& __err, - string_type& __digits) const; -- - }; - - -- - // moneypunct facets: definition of specializations - --__STL_TEMPLATE_NULL --class __STL_CLASS_DECLSPEC moneypunct : public locale::facet, public money_base -+_STLP_TEMPLATE_NULL -+class _STLP_CLASS_DECLSPEC moneypunct : public locale::facet, public money_base - { -- friend class _Locale_impl; --#if defined(__MRC__) || defined(__SC__) //*TY 04/29/2000 - added workaround for mpw -- typedef locale::facet _facet; //*TY 04/29/2000 - they forget to look into nested class for the ctor. --#endif //*TY 04/29/2000 - -+ - public: - typedef char char_type; - typedef string string_type; -+ explicit moneypunct _STLP_PSPEC2(char, true) (size_t __refs = 0); - -- explicit moneypunct __STL_PSPEC2(char, true) (size_t __refs = 0); -+ char decimal_point() const { return do_decimal_point(); } -+ char thousands_sep() const { return do_thousands_sep(); } -+ string grouping() const { return do_grouping(); } -+ string_type curr_symbol() const { return do_curr_symbol(); } -+ string_type positive_sign() const { return do_positive_sign(); } -+ string_type negative_sign() const { return do_negative_sign(); } -+ int frac_digits() const { return do_frac_digits(); } -+ pattern pos_format() const { return do_pos_format(); } -+ pattern neg_format() const { return do_neg_format(); } - -- inline char decimal_point() const { return do_decimal_point(); } -- inline char thousands_sep() const { return do_thousands_sep(); } -- inline string grouping() const { return do_grouping(); } -- inline string_type curr_symbol() const { return do_curr_symbol(); } -- inline string_type positive_sign() const { return do_positive_sign(); } -- inline string_type negative_sign() const { return do_negative_sign(); } -- inline int frac_digits() const { return do_frac_digits(); } -- inline pattern pos_format() const { return do_pos_format(); } -- inline pattern neg_format() const { return do_neg_format(); } -- -- __STL_STATIC_MEMBER_DECLSPEC static locale::id id; --# if defined (__STL_STATIC_CONST_INIT_BUG) || defined (__STL_USE_DECLSPEC) -+ _STLP_STATIC_MEMBER_DECLSPEC static locale::id id; -+# if defined (_STLP_STATIC_CONST_INIT_BUG) - enum _IntlVal { intl = 1 } ; - # else - static const bool intl = true; -@@ -125,46 +118,45 @@ - pattern _M_pos_format; - pattern _M_neg_format; - -- ~moneypunct __STL_PSPEC2(char, true) (); -+ ~moneypunct _STLP_PSPEC2(char, true) (); - - virtual char do_decimal_point() const; - virtual char do_thousands_sep() const; - virtual string do_grouping() const; - -- virtual string_type do_curr_symbol() const; -+ virtual string do_curr_symbol() const; - -- virtual string_type do_positive_sign() const; -- virtual string_type do_negative_sign() const; -+ virtual string do_positive_sign() const; -+ virtual string do_negative_sign() const; - virtual int do_frac_digits() const; - virtual pattern do_pos_format() const; - virtual pattern do_neg_format() const; -+ -+ friend class _Locale; -+ - }; - --__STL_TEMPLATE_NULL --class __STL_CLASS_DECLSPEC moneypunct : public locale::facet, public money_base -+_STLP_TEMPLATE_NULL -+class _STLP_CLASS_DECLSPEC moneypunct : public locale::facet, public money_base - { -- friend class _Locale_impl; --#if defined(__MRC__) || defined(__SC__) //*TY 04/29/2000 - added workaround for mpw -- typedef locale::facet _facet; //*TY 04/29/2000 - they forget to look into nested class for the ctor. --#endif //*TY 04/29/2000 - - public: - typedef char char_type; - typedef string string_type; - -- explicit moneypunct __STL_PSPEC2(char, false) (size_t __refs = 0); -+ explicit moneypunct _STLP_PSPEC2(char, false) (size_t __refs = 0); - -- inline char decimal_point() const { return do_decimal_point(); } -- inline char thousands_sep() const { return do_thousands_sep(); } -- inline string grouping() const { return do_grouping(); } -- inline string_type curr_symbol() const { return do_curr_symbol(); } -- inline string_type positive_sign() const { return do_positive_sign(); } -- inline string_type negative_sign() const { return do_negative_sign(); } -- inline int frac_digits() const { return do_frac_digits(); } -- inline pattern pos_format() const { return do_pos_format(); } -- inline pattern neg_format() const { return do_neg_format(); } -+ char decimal_point() const { return do_decimal_point(); } -+ char thousands_sep() const { return do_thousands_sep(); } -+ string grouping() const { return do_grouping(); } -+ string_type curr_symbol() const { return do_curr_symbol(); } -+ string_type positive_sign() const { return do_positive_sign(); } -+ string_type negative_sign() const { return do_negative_sign(); } -+ int frac_digits() const { return do_frac_digits(); } -+ pattern pos_format() const { return do_pos_format(); } -+ pattern neg_format() const { return do_neg_format(); } - -- __STL_STATIC_MEMBER_DECLSPEC static locale::id id; --# if defined (__STL_STATIC_CONST_INIT_BUG) || defined (__STL_USE_DECLSPEC) -+ _STLP_STATIC_MEMBER_DECLSPEC static locale::id id; -+# if defined (_STLP_STATIC_CONST_INIT_BUG) - enum _IntlVal { intl = 0 } ; - # else - static const bool intl = false; -@@ -174,49 +166,46 @@ - pattern _M_pos_format; - pattern _M_neg_format; - -- ~moneypunct __STL_PSPEC2(char, false) (); -+ ~moneypunct _STLP_PSPEC2(char, false) (); - - virtual char do_decimal_point() const; - virtual char do_thousands_sep() const; - virtual string do_grouping() const; - -- virtual string_type do_curr_symbol() const; -+ virtual string do_curr_symbol() const; - -- virtual string_type do_positive_sign() const; -- virtual string_type do_negative_sign() const; -+ virtual string do_positive_sign() const; -+ virtual string do_negative_sign() const; - virtual int do_frac_digits() const; - virtual pattern do_pos_format() const; - virtual pattern do_neg_format() const; -+ -+ friend class _Locale; - }; - - --# ifndef __STL_NO_WCHAR_T -+# ifndef _STLP_NO_WCHAR_T - --__STL_TEMPLATE_NULL --class __STL_CLASS_DECLSPEC moneypunct : public locale::facet, public money_base -+_STLP_TEMPLATE_NULL -+class _STLP_CLASS_DECLSPEC moneypunct : public locale::facet, public money_base - { -- friend class _Locale_impl; --#if defined(__MRC__) || defined(__SC__) //*TY 04/29/2000 - added workaround for mpw -- typedef locale::facet _facet; //*TY 04/29/2000 - they forget to look into nested class for the ctor. --#endif //*TY 04/29/2000 - -+ friend class _Locale; - public: - typedef wchar_t char_type; - typedef wstring string_type; -+ explicit moneypunct _STLP_PSPEC2(wchar_t, true) (size_t __refs = 0); -+ wchar_t decimal_point() const { return do_decimal_point(); } -+ wchar_t thousands_sep() const { return do_thousands_sep(); } -+ string grouping() const { return do_grouping(); } -+ string_type curr_symbol() const { return do_curr_symbol(); } -+ string_type positive_sign() const { return do_positive_sign(); } -+ string_type negative_sign() const { return do_negative_sign(); } -+ int frac_digits() const { return do_frac_digits(); } -+ pattern pos_format() const { return do_pos_format(); } -+ pattern neg_format() const { return do_neg_format(); } - -- explicit moneypunct __STL_PSPEC2(wchar_t, true) (size_t __refs = 0); -- -- inline wchar_t decimal_point() const { return do_decimal_point(); } -- inline wchar_t thousands_sep() const { return do_thousands_sep(); } -- inline string grouping() const { return do_grouping(); } -- inline string_type curr_symbol() const { return do_curr_symbol(); } -- inline string_type positive_sign() const { return do_positive_sign(); } -- inline string_type negative_sign() const { return do_negative_sign(); } -- inline int frac_digits() const { return do_frac_digits(); } -- inline pattern pos_format() const { return do_pos_format(); } -- inline pattern neg_format() const { return do_neg_format(); } -- -- __STL_STATIC_MEMBER_DECLSPEC static locale::id id; --# if defined (__STL_STATIC_CONST_INIT_BUG) || defined (__STL_USE_DECLSPEC) -+ _STLP_STATIC_MEMBER_DECLSPEC static locale::id id; -+# if defined (_STLP_STATIC_CONST_INIT_BUG) - enum _IntlVal { intl = 1 } ; - # else - static const bool intl = true; -@@ -226,7 +215,7 @@ - pattern _M_pos_format; - pattern _M_neg_format; - -- ~moneypunct __STL_PSPEC2(wchar_t, true) (); -+ ~moneypunct _STLP_PSPEC2(wchar_t, true) (); - - virtual wchar_t do_decimal_point() const; - virtual wchar_t do_thousands_sep() const; -@@ -242,31 +231,26 @@ - }; - - --__STL_TEMPLATE_NULL --class __STL_CLASS_DECLSPEC moneypunct : public locale::facet, public money_base -+_STLP_TEMPLATE_NULL -+class _STLP_CLASS_DECLSPEC moneypunct : public locale::facet, public money_base - { -- friend class _Locale_impl; --#if defined(__MRC__) || defined(__SC__) //*TY 04/29/2000 - added workaround for mpw -- typedef locale::facet _facet; //*TY 04/29/2000 - they forget to look into nested class for the ctor. --#endif //*TY 04/29/2000 - -+ friend class _Locale; - public: - typedef wchar_t char_type; - typedef wstring string_type; -+ explicit moneypunct _STLP_PSPEC2(wchar_t, false) (size_t __refs = 0); -+ wchar_t decimal_point() const { return do_decimal_point(); } -+ wchar_t thousands_sep() const { return do_thousands_sep(); } -+ string grouping() const { return do_grouping(); } -+ string_type curr_symbol() const { return do_curr_symbol(); } -+ string_type positive_sign() const { return do_positive_sign(); } -+ string_type negative_sign() const { return do_negative_sign(); } -+ int frac_digits() const { return do_frac_digits(); } -+ pattern pos_format() const { return do_pos_format(); } -+ pattern neg_format() const { return do_neg_format(); } - -- explicit moneypunct __STL_PSPEC2(wchar_t, false) (size_t __refs = 0); -- -- inline wchar_t decimal_point() const { return do_decimal_point(); } -- inline wchar_t thousands_sep() const { return do_thousands_sep(); } -- inline string grouping() const { return do_grouping(); } -- inline string_type curr_symbol() const { return do_curr_symbol(); } -- inline string_type positive_sign() const { return do_positive_sign(); } -- inline string_type negative_sign() const { return do_negative_sign(); } -- inline int frac_digits() const { return do_frac_digits(); } -- inline pattern pos_format() const { return do_pos_format(); } -- inline pattern neg_format() const { return do_neg_format(); } -- -- __STL_STATIC_MEMBER_DECLSPEC static locale::id id; --# if defined (__STL_STATIC_CONST_INIT_BUG) || defined (__STL_USE_DECLSPEC) -+ _STLP_STATIC_MEMBER_DECLSPEC static locale::id id; -+# if defined (_STLP_STATIC_CONST_INIT_BUG) - enum _IntlVal { intl = 0 } ; - # else - static const bool intl = false; -@@ -276,7 +260,7 @@ - pattern _M_pos_format; - pattern _M_neg_format; - -- ~moneypunct __STL_PSPEC2(wchar_t, false) (); -+ ~moneypunct _STLP_PSPEC2(wchar_t, false) (); - - virtual wchar_t do_decimal_point() const; - virtual wchar_t do_thousands_sep() const; -@@ -295,19 +279,19 @@ - - template class moneypunct_byname {}; - --__STL_TEMPLATE_NULL --class __STL_CLASS_DECLSPEC moneypunct_byname : public moneypunct -+_STLP_TEMPLATE_NULL -+class _STLP_CLASS_DECLSPEC moneypunct_byname : public moneypunct - { - public: - typedef money_base::pattern pattern; - typedef char char_type; - typedef string string_type; - -- explicit moneypunct_byname __STL_PSPEC2(char, true) (const char * __name, size_t __refs = 0); -+ explicit moneypunct_byname _STLP_PSPEC2(char, true) (const char * __name, size_t __refs = 0); - - protected: - _Locale_monetary* _M_monetary; -- ~moneypunct_byname __STL_PSPEC2(char, true) (); -+ ~moneypunct_byname _STLP_PSPEC2(char, true) (); - virtual char do_decimal_point() const; - virtual char do_thousands_sep() const; - virtual string do_grouping() const; -@@ -319,19 +303,19 @@ - virtual int do_frac_digits() const; - }; - --__STL_TEMPLATE_NULL --class __STL_CLASS_DECLSPEC moneypunct_byname : public moneypunct -+_STLP_TEMPLATE_NULL -+class _STLP_CLASS_DECLSPEC moneypunct_byname : public moneypunct - { - public: - typedef money_base::pattern pattern; - typedef char char_type; - typedef string string_type; - -- explicit moneypunct_byname __STL_PSPEC2(char, false) (const char * __name, size_t __refs = 0); -+ explicit moneypunct_byname _STLP_PSPEC2(char, false) (const char * __name, size_t __refs = 0); - - protected: - _Locale_monetary* _M_monetary; -- ~moneypunct_byname __STL_PSPEC2(char, false) (); -+ ~moneypunct_byname _STLP_PSPEC2(char, false) (); - virtual char do_decimal_point() const; - virtual char do_thousands_sep() const; - virtual string do_grouping() const; -@@ -343,20 +327,20 @@ - virtual int do_frac_digits() const; - }; - --# ifndef __STL_NO_WCHAR_T --__STL_TEMPLATE_NULL --class __STL_CLASS_DECLSPEC moneypunct_byname : public moneypunct -+# ifndef _STLP_NO_WCHAR_T -+_STLP_TEMPLATE_NULL -+class _STLP_CLASS_DECLSPEC moneypunct_byname : public moneypunct - { - public: - typedef money_base::pattern pattern; - typedef wchar_t char_type; - typedef wstring string_type; - -- explicit moneypunct_byname __STL_PSPEC2(wchar_t, true) (const char * __name, size_t __refs = 0); -+ explicit moneypunct_byname _STLP_PSPEC2(wchar_t, true) (const char * __name, size_t __refs = 0); - - protected: - _Locale_monetary* _M_monetary; -- ~moneypunct_byname __STL_PSPEC2(wchar_t, true) (); -+ ~moneypunct_byname _STLP_PSPEC2(wchar_t, true) (); - virtual wchar_t do_decimal_point() const; - virtual wchar_t do_thousands_sep() const; - virtual string do_grouping() const; -@@ -368,19 +352,19 @@ - virtual int do_frac_digits() const; - }; - --__STL_TEMPLATE_NULL --class __STL_CLASS_DECLSPEC moneypunct_byname : public moneypunct -+_STLP_TEMPLATE_NULL -+class _STLP_CLASS_DECLSPEC moneypunct_byname : public moneypunct - { - public: - typedef money_base::pattern pattern; - typedef wchar_t char_type; - typedef wstring string_type; - -- explicit moneypunct_byname __STL_PSPEC2(wchar_t, false) (const char * __name, size_t __refs = 0); -+ explicit moneypunct_byname _STLP_PSPEC2(wchar_t, false) (const char * __name, size_t __refs = 0); - - protected: - _Locale_monetary* _M_monetary; -- ~moneypunct_byname __STL_PSPEC2(wchar_t, false) (); -+ ~moneypunct_byname _STLP_PSPEC2(wchar_t, false) (); - virtual wchar_t do_decimal_point() const; - virtual wchar_t do_thousands_sep() const; - virtual string do_grouping() const; -@@ -400,53 +384,77 @@ - - template ) > - class money_put : public locale::facet { -- friend class _Locale_impl; --#if defined(__MRC__) || defined(__SC__) //*TY 04/29/2000 - added workaround for mpw -- typedef locale::facet _facet; //*TY 04/29/2000 - they forget to look into nested class for the ctor. --#endif //*TY 04/29/2000 - -+ friend class _Locale; -+ - public: - typedef _CharT char_type; - typedef _OutputIter iter_type; - typedef basic_string<_CharT, char_traits<_CharT>, allocator<_CharT> > string_type; - --#if !(defined(__MRC__)||defined(__SC__)) //*TY 02/26/2000 - added workaround for MPW compilers; explicit will prevent the compiler to find out the proper ctor -- explicit --#endif //*TY 02/26/2000 - -- money_put(size_t __refs = 0); -- -- inline iter_type put(iter_type __s, bool __intl, ios_base& __str, -- char_type __fill, long double __units) const -+ money_put(size_t __refs = 0) : _BaseFacet(__refs) {} -+# ifndef _STLP_NO_LONG_DOUBLE -+ iter_type put(iter_type __s, bool __intl, ios_base& __str, -+ char_type __fill, long double __units) const - { return do_put(__s, __intl, __str, __fill, __units); } -- inline iter_type put(iter_type __s, bool __intl, ios_base& __str, -- char_type __fill, -- const string_type& __digits) const -+# endif -+ iter_type put(iter_type __s, bool __intl, ios_base& __str, -+ char_type __fill, -+ const string_type& __digits) const - { return do_put(__s, __intl, __str, __fill, __digits); } - -- __STL_STATIC_MEMBER_DECLSPEC static locale::id id; -+ _STLP_STATIC_MEMBER_DECLSPEC static locale::id id; - - protected: -- ~money_put(); -+ ~money_put() {} -+# ifndef _STLP_NO_LONG_DOUBLE - virtual iter_type do_put(iter_type __s, bool __intl, ios_base& __str, - char_type __fill, long double /* __units */ ) const { - - locale __loc = __str.getloc(); - _CharT __buf[64]; -- // _CharT* __buf_end = __write_monetary_value(__units, __buf, __loc); - return do_put(__s, __intl, __str, __fill, __buf + 0); - } -- -+# endif - virtual iter_type do_put(iter_type __s, bool __intl, ios_base& __str, - char_type __fill, - const string_type& __digits) const; - }; - --__STL_END_NAMESPACE -+# if defined (_STLP_USE_TEMPLATE_EXPORT) -+_STLP_EXPORT_TEMPLATE_CLASS money_get > >; -+_STLP_EXPORT_TEMPLATE_CLASS money_put > >; -+// _STLP_EXPORT_TEMPLATE_CLASS money_get; -+// _STLP_EXPORT_TEMPLATE_CLASS money_put; -+# if ! defined (_STLP_NO_WCHAR_T) -+_STLP_EXPORT_TEMPLATE_CLASS money_get > >; -+_STLP_EXPORT_TEMPLATE_CLASS money_put > >; -+// _STLP_EXPORT_TEMPLATE_CLASS money_get; -+// _STLP_EXPORT_TEMPLATE_CLASS money_put; -+# endif -+# endif /* _STLP_USE_TEMPLATE_EXPORT */ -+ -+# if defined (__BORLANDC__) && defined (_RTLDLL) -+inline void _Stl_loc_init_monetary() { -+ money_get > >::id._M_index = 8; -+ money_get::id._M_index = 9; -+ money_put > >::id._M_index = 10; -+ money_put::id._M_index = 11; -+# ifndef _STLP_NO_WCHAR_T -+ money_get > >::id._M_index = 27; -+ money_get::id._M_index = 28; -+ money_put > >::id._M_index = 29; -+ money_put::id._M_index = 30; -+# endif -+} -+#endif -+ -+_STLP_END_NAMESPACE - --# if !defined (__STL_LINK_TIME_INSTANTIATION) -+# if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) && !defined (_STLP_LINK_TIME_INSTANTIATION) - # include - # endif - --#endif /* __SGI_STL_INTERNAL_MONETARY_H */ -+#endif /* _STLP_INTERNAL_MONETARY_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_null_stream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_null_stream.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_null_stream.h Sat Feb 24 10:44:59 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_null_stream.h Sun Aug 11 18:59:24 2002 -@@ -13,10 +13,10 @@ - * - */ - --#ifndef __STL_NULL_STREAM_H --# define __STL_NULL_STREAM_H -+#ifndef _STLP_NULL_STREAM_H -+# define _STLP_NULL_STREAM_H - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - struct __null_stream - { -@@ -37,6 +37,6 @@ - - extern __null_stream cin, cout, cerr, endl, ws, hex, dec; - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - - # endif -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_num_get.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_num_get.c ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_num_get.c Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_num_get.c Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,669 @@ -+/* -+ * Copyright (c) 1999 -+ * Silicon Graphics Computer Systems, Inc. -+ * -+ * Copyright (c) 1999 -+ * Boris Fomitchev -+ * -+ * This material is provided "as is", with absolutely no warranty expressed -+ * or implied. Any use is at your own risk. -+ * -+ * Permission to use or copy this software for any purpose is hereby granted -+ * without fee, provided the above notices are retained on all copies. -+ * Permission to modify the code and to distribute modified code is granted, -+ * provided the above notices are retained, and a notice that the code was -+ * modified is included with the above copyright notice. -+ * -+ */ -+#ifndef _STLP_NUM_GET_C -+#define _STLP_NUM_GET_C -+ -+#ifndef _STLP_INTERNAL_NUM_GET_H -+# include -+#endif -+ -+# if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) -+ -+#ifndef _STLP_LIMITS_H -+# include -+#endif -+ -+_STLP_BEGIN_NAMESPACE -+ -+extern const unsigned char __digit_val_table[]; -+ -+template < class _InputIter, class _Integer, class _CharT> -+_InputIter _STLP_CALL -+_M_do_get_integer(_InputIter&, _InputIter&, ios_base&, ios_base::iostate&, _Integer&, _CharT*); -+ -+// _M_do_get_integer and its helper functions. -+ -+inline bool _STLP_CALL __get_fdigit(char& __c, const char*) -+ { return __c >= '0' && __c <= '9'; } -+ -+inline bool _STLP_CALL __get_fdigit_or_sep(char& __c, char __sep, const char *) -+{ -+ if (__c == __sep) { -+ __c = ',' ; -+ return true ; -+ } else -+ return ( __c >= '0' && __c <= '9'); -+} -+ -+inline int _STLP_CALL -+__get_digit_from_table(unsigned __index) -+{ -+ return (__index > 127 ? 0xFF : __digit_val_table[__index]); -+} -+ -+extern const char __narrow_atoms[]; -+ -+template -+int -+_M_get_base_or_zero(_InputIter& __in, _InputIter& __end, ios_base& __str, _CharT*) -+{ -+ _CharT __atoms[5]; -+ const ctype<_CharT>& __c_type = *(const ctype<_CharT>*)__str._M_ctype_facet(); -+ -+ __c_type.widen(__narrow_atoms, __narrow_atoms + 5, __atoms); -+ -+ bool __negative = false; -+ _CharT __c = *__in; -+ -+ if (__c == __atoms[1] /* __xminus_char */ ) { -+ __negative = true; -+ ++__in; -+ } -+ else if (__c == __atoms[0] /* __xplus_char */ ) -+ ++__in; -+ -+ -+ int __base; -+ int __valid_zero = 0; -+ -+ ios_base::fmtflags __basefield = __str.flags() & ios_base::basefield; -+ -+ switch (__basefield) { -+ case ios_base::oct: -+ __base = 8; -+ break; -+ case ios_base::dec: -+ __base = 10; -+ break; -+ case ios_base::hex: -+ __base = 16; -+ if (__in != __end && *__in == __atoms[2] /* __zero_char */ ) { -+ ++__in; -+ if (__in != __end && -+ (*__in == __atoms[3] /* __x_char */ || *__in == __atoms[4] /* __X_char */ )) -+ ++__in; -+ else -+ __valid_zero = 1; // That zero is valid by itself. -+ } -+ break; -+ default: -+ if (__in != __end && *__in == __atoms[2] /* __zero_char */ ) { -+ ++__in; -+ if (__in != __end && -+ (*__in == __atoms[3] /* __x_char */ || *__in == __atoms[4] /* __X_char */ )) { -+ ++__in; -+ __base = 16; -+ } -+ else -+ { -+ __base = 8; -+ __valid_zero = 1; // That zero is still valid by itself. -+ } -+ } -+ else -+ __base = 10; -+ break; -+ } -+ return (__base << 2) | ((int)__negative << 1) | __valid_zero; -+} -+ -+ -+template -+bool _STLP_CALL -+__get_integer(_InputIter& __first, _InputIter& __last, -+ int __base, _Integer& __val, -+ int __got, bool __is_negative, char __separator, const string& __grouping, const __true_type&) -+{ -+ bool __ovflow = false; -+ _Integer __result = 0; -+ bool __is_group = !__grouping.empty(); -+ char __group_sizes[64]; -+ int __current_group_size = 0; -+ char* __group_sizes_end = __group_sizes; -+ -+ _Integer __over_base = (numeric_limits<_Integer>::min)() / __STATIC_CAST(_Integer, __base); -+ -+ for ( ; __first != __last ; ++__first) { -+ -+ const char __c = *__first; -+ -+ if (__is_group && __c == __separator) { -+ *__group_sizes_end++ = __current_group_size; -+ __current_group_size = 0; -+ continue; -+ } -+ -+ int __n = __get_digit_from_table(__c); -+ -+ if (__n >= __base) -+ break; -+ -+ ++__got; -+ ++__current_group_size; -+ -+ if (__result < __over_base) -+ __ovflow = true; // don't need to keep accumulating -+ else { -+ _Integer __next = __STATIC_CAST(_Integer, __base * __result - __n); -+ if (__result != 0) -+ __ovflow = __ovflow || __next >= __result; -+ __result = __next; -+ } -+ } -+ -+ if (__is_group && __group_sizes_end != __group_sizes) { -+ *__group_sizes_end++ = __current_group_size; -+ } -+ -+ // fbp : added to not modify value if nothing was read -+ if (__got > 0) { -+ __val = __ovflow -+ ? __is_negative ? (numeric_limits<_Integer>::min)() -+ : (numeric_limits<_Integer>::max)() -+ : (__is_negative ? __result : __STATIC_CAST(_Integer, -__result)); -+ } -+ // overflow is being treated as failure -+ return ((__got > 0) && !__ovflow) && (__is_group == 0 || __valid_grouping(__group_sizes, __group_sizes_end, -+ __grouping.data(), __grouping.data()+ __grouping.size())) ; -+} -+ -+template -+bool _STLP_CALL -+__get_integer(_InputIter& __first, _InputIter& __last, -+ int __base, _Integer& __val, -+ int __got, bool __is_negative, char __separator, const string& __grouping, const __false_type&) -+{ -+ bool __ovflow = false; -+ _Integer __result = 0; -+ bool __is_group = !__grouping.empty(); -+ char __group_sizes[64]; -+ int __current_group_size = 0; -+ char* __group_sizes_end = __group_sizes; -+ -+ _Integer __over_base = (numeric_limits<_Integer>::max)() / __STATIC_CAST(_Integer, __base); -+ -+ for ( ; __first != __last ; ++__first) { -+ -+ const char __c = *__first; -+ -+ if (__is_group && __c == __separator) { -+ *__group_sizes_end++ = __current_group_size; -+ __current_group_size = 0; -+ continue; -+ } -+ -+ int __n = __get_digit_from_table(__c); -+ -+ if (__n >= __base) -+ break; -+ -+ ++__got; -+ ++__current_group_size; -+ -+ if (__result > __over_base) -+ __ovflow = true; //don't need to keep accumulating -+ else { -+ _Integer __next = __STATIC_CAST(_Integer, __base * __result + __n); -+ if (__result != 0) -+ __ovflow = __ovflow || __next <= __result; -+ __result = __next; -+ } -+ } -+ -+ if (__is_group && __group_sizes_end != __group_sizes) { -+ *__group_sizes_end++ = __current_group_size; -+ } -+ -+ // fbp : added to not modify value if nothing was read -+ if (__got > 0) { -+ __val = __ovflow -+ ? (numeric_limits<_Integer>::max)() -+ : (__is_negative ? __STATIC_CAST(_Integer, -__result) : __result); -+ } -+ // overflow is being treated as failure -+ return ((__got > 0) && !__ovflow) && -+ (__is_group == 0 || __valid_grouping(__group_sizes, __group_sizes_end, -+ __grouping.data(), __grouping.data()+ __grouping.size())) ; -+} -+ -+ -+template -+bool _STLP_CALL -+__get_decimal_integer(_InputIter& __first, _InputIter& __last, _Integer& __val) -+{ -+ string __grp; -+ return __get_integer(__first, __last, 10, __val, 0, false, ' ', __grp, __false_type()); -+} -+ -+template -+_InputIter _STLP_CALL -+_M_do_get_integer(_InputIter& __in, _InputIter& __end, ios_base& __str, -+ ios_base::iostate& __err, _Integer& __val, _CharT* __pc) -+{ -+ -+#if defined(__HP_aCC) && (__HP_aCC == 1) -+ bool _IsSigned = !((_Integer)(-1) > 0); -+#else -+ typedef typename __bool2type::is_signed>::_Ret _IsSigned; -+#endif -+ -+ const numpunct<_CharT>& __numpunct = *(const numpunct<_CharT>*)__str._M_numpunct_facet(); -+ const string& __grouping = __str._M_grouping(); // cached copy -+ -+ const int __base_or_zero = _M_get_base_or_zero(__in, __end, __str, __pc); -+ int __got = __base_or_zero & 1; -+ -+ bool __result; -+ -+ if (__in == __end) { // We may have already read a 0. If so, -+ -+ if (__got > 0) { // the result is 0 even if we're at eof. -+ __val = 0; -+ __result = true; -+ } -+ else -+ __result = false; -+ } else { -+ -+ const bool __negative = __base_or_zero & 2; -+ const int __base = __base_or_zero >> 2; -+ -+#if defined(__HP_aCC) && (__HP_aCC == 1) -+ if (_IsSigned) -+ __result = __get_integer(__in, __end, __base, __val, __got, __negative, __numpunct.thousands_sep(), __grouping, __true_type() ); -+ else -+ __result = __get_integer(__in, __end, __base, __val, __got, __negative, __numpunct.thousands_sep(), __grouping, __false_type() ); -+#else -+ __result = __get_integer(__in, __end, __base, __val, __got, __negative, __numpunct.thousands_sep(), __grouping, _IsSigned()); -+# endif -+ } -+ -+ __err = __STATIC_CAST(ios_base::iostate, __result ? ios_base::goodbit : ios_base::failbit); -+ -+ if (__in == __end) -+ __err |= ios_base::eofbit; -+ return __in; -+} -+ -+// _M_read_float and its helper functions. -+template -+_InputIter _STLP_CALL -+__copy_sign(_InputIter __first, _InputIter __last, string& __v, -+ _CharT __xplus, _CharT __xminus) { -+ if (__first != __last) { -+ _CharT __c = *__first; -+ if (__c == __xplus) -+ ++__first; -+ else if (__c == __xminus) { -+ __v.push_back('-'); -+ ++__first; -+ } -+ } -+ return __first; -+} -+ -+ -+template -+bool _STLP_CALL -+__copy_digits(_InputIter& __first, _InputIter& __last, -+ string& __v, const _CharT* __digits) -+{ -+ bool __ok = false; -+ -+ for ( ; __first != __last; ++__first) { -+ _CharT __c = *__first; -+ if (__get_fdigit(__c, __digits)) { -+ __v.push_back((char)__c); -+ __ok = true; -+ } -+ else -+ break; -+ } -+ return __ok; -+} -+ -+template -+bool _STLP_CALL -+__copy_grouped_digits(_InputIter& __first, _InputIter& __last, -+ string& __v, const _CharT * __digits, -+ _CharT __sep, const string& __grouping, -+ bool& __grouping_ok) -+{ -+ bool __ok = false; -+ char __group_sizes[64]; -+ char*__group_sizes_end = __group_sizes; -+ char __current_group_size = 0; -+ -+ for ( ; __first != __last; ++__first) { -+ _CharT __c = *__first; -+ bool __tmp = __get_fdigit_or_sep(__c, __sep, __digits); -+ if (__tmp) { -+ if (__c == ',') { -+ *__group_sizes_end++ = __current_group_size; -+ __current_group_size = 0; -+ } -+ else { -+ __ok = true; -+ __v.push_back((char)__c); -+ ++__current_group_size; -+ } -+ } -+ else -+ break; -+ } -+ -+ if (__group_sizes_end != __group_sizes) -+ *__group_sizes_end++ = __current_group_size; -+ __grouping_ok = __valid_grouping(__group_sizes, __group_sizes_end, __grouping.data(), __grouping.data() + __grouping.size()); -+ return __ok; -+} -+ -+ -+template -+bool _STLP_CALL -+_M_read_float(string& __buf, _InputIter& __in, _InputIter& __end, ios_base& __s, _CharT*) -+{ -+ // Create a string, copying characters of the form -+ // [+-]? [0-9]* .? [0-9]* ([eE] [+-]? [0-9]+)? -+ -+ bool __digits_before_dot /* = false */; -+ bool __digits_after_dot = false; -+ bool __ok; -+ -+ bool __grouping_ok = true; -+ -+ const ctype<_CharT>& __ct = *(const ctype<_CharT>*)__s._M_ctype_facet(); -+ const numpunct<_CharT>& __numpunct = *(const numpunct<_CharT>*)__s._M_numpunct_facet(); -+ const string& __grouping = __s._M_grouping(); // cached copy -+ -+ _CharT __dot = __numpunct.decimal_point(); -+ _CharT __sep = __numpunct.thousands_sep(); -+ -+ _CharT __digits[10]; -+ _CharT __xplus; -+ _CharT __xminus; -+ -+ _CharT __pow_e; -+ _CharT __pow_E; -+ -+ _Initialize_get_float(__ct, __xplus, __xminus, __pow_e, __pow_E, __digits); -+ -+ // Get an optional sign -+ __in = __copy_sign(__in, __end, __buf, __xplus, __xminus); -+ -+ // Get an optional string of digits. -+ if (__grouping.size() != 0) -+ __digits_before_dot = __copy_grouped_digits(__in, __end, __buf, __digits, -+ __sep, __grouping, __grouping_ok); -+ else -+ __digits_before_dot = __copy_digits(__in, __end, __buf, __digits); -+ -+ // Get an optional decimal point, and an optional string of digits. -+ if (__in != __end && *__in == __dot) { -+ __buf.push_back('.'); -+ ++__in; -+ __digits_after_dot = __copy_digits(__in, __end, __buf, __digits); -+ } -+ -+ // There have to be some digits, somewhere. -+ __ok = __digits_before_dot || __digits_after_dot; -+ -+ // Get an optional exponent. -+ if (__ok && __in != __end && (*__in == __pow_e || *__in == __pow_E)) { -+ __buf.push_back('e'); -+ ++__in; -+ __in = __copy_sign(__in, __end, __buf, __xplus, __xminus); -+ __ok = __copy_digits(__in, __end, __buf, __digits); -+ // If we have an exponent then the sign -+ // is optional but the digits aren't. -+ } -+ -+ return __ok; -+} -+ -+// -+// num_get<>, num_put<> -+// -+ -+# if ( _STLP_STATIC_TEMPLATE_DATA > 0 ) -+template -+locale::id num_get<_CharT, _InputIterator>::id; -+# else -+ -+typedef num_get num_get_char; -+typedef num_get > > num_get_char_2; -+ -+__DECLARE_INSTANCE(locale::id, num_get_char::id, ); -+__DECLARE_INSTANCE(locale::id, num_get_char_2::id, ); -+ -+# ifndef _STLP_NO_WCHAR_T -+ -+typedef num_get num_get_wchar_t; -+typedef num_get > > num_get_wchar_t_2; -+ -+__DECLARE_INSTANCE(locale::id, num_get_wchar_t::id, ); -+__DECLARE_INSTANCE(locale::id, num_get_wchar_t_2::id, ); -+ -+# endif -+ -+# endif /* ( _STLP_STATIC_TEMPLATE_DATA > 0 ) */ -+ -+# ifndef _STLP_NO_BOOL -+template -+_InputIter -+num_get<_CharT, _InputIter>::do_get(_InputIter __in, _InputIter __end, -+ ios_base& __s, -+ ios_base::iostate& __err, bool& __x) const -+{ -+ if (__s.flags() & ios_base::boolalpha) { -+ locale __loc = __s.getloc(); -+ const _Numpunct& __np = *(const _Numpunct*)__s._M_numpunct_facet(); -+ // const numpunct<_CharT>& __np = use_facet >(__loc) ; -+// const ctype<_CharT>& __ct = use_facet >(__loc) ; -+ -+ const basic_string<_CharT> __truename = __np.truename(); -+ const basic_string<_CharT> __falsename = __np.falsename(); -+ bool __true_ok = true; -+ bool __false_ok = true; -+ -+ size_t __n = 0; -+ for ( ; __in != __end; ++__in) { -+ _CharT __c = *__in; -+ __true_ok = __true_ok && (__c == __truename[__n]); -+ __false_ok = __false_ok && (__c == __falsename[__n]); -+ ++__n; -+ -+ if ((!__true_ok && !__false_ok) || -+ (__true_ok && __n >= __truename.size()) || -+ (__false_ok && __n >= __falsename.size())) { -+ ++__in; -+ break; -+ } -+ } -+ if (__true_ok && __n < __truename.size()) __true_ok = false; -+ if (__false_ok && __n < __falsename.size()) __false_ok = false; -+ -+ if (__true_ok || __false_ok) { -+ __err = ios_base::goodbit; -+ __x = __true_ok; -+ } -+ else -+ __err = ios_base::failbit; -+ -+ if (__in == __end) -+ __err |= ios_base::eofbit; -+ -+ return __in; -+ } -+ -+ else { -+ long __lx; -+ _InputIter __tmp = this->do_get(__in, __end, __s, __err, __lx); -+ if (!(__err & ios_base::failbit)) { -+ if (__lx == 0) -+ __x = false; -+ else if (__lx == 1) -+ __x = true; -+ else -+ __err |= ios_base::failbit; -+ } -+ return __tmp; -+ } -+} -+ -+# endif /* _STLP_NO_BOOL */ -+ -+# ifdef _STLP_FIX_LIBRARY_ISSUES -+template -+_InputIter -+num_get<_CharT, _InputIter>::do_get(_InputIter __in, _InputIter __end, ios_base& __str, -+ ios_base::iostate& __err, short& __val) const { -+ return _M_do_get_integer(__in, __end, __str, __err, __val, (_CharT*)0 ); -+} -+ -+template -+_InputIter -+num_get<_CharT, _InputIter>::do_get(_InputIter __in, _InputIter __end, ios_base& __str, -+ ios_base::iostate& __err, int& __val) const { -+ return _M_do_get_integer(__in, __end, __str, __err, __val, (_CharT*)0 ); -+} -+ -+# endif -+ -+template -+_InputIter -+num_get<_CharT, _InputIter>::do_get(_InputIter __in, _InputIter __end, ios_base& __str, -+ ios_base::iostate& __err, long& __val) const { -+ return _M_do_get_integer(__in, __end, __str, __err, __val, (_CharT*)0 ); -+} -+ -+template -+_InputIter -+num_get<_CharT, _InputIter>::do_get(_InputIter __in, _InputIter __end, ios_base& __str, -+ ios_base::iostate& __err, -+ unsigned short& __val) const { -+ return _M_do_get_integer(__in, __end, __str, __err, __val, (_CharT*)0 ); -+} -+ -+template -+_InputIter -+num_get<_CharT, _InputIter>::do_get(_InputIter __in, _InputIter __end, ios_base& __str, -+ ios_base::iostate& __err, -+ unsigned int& __val) const { -+ return _M_do_get_integer(__in, __end, __str, __err, __val, (_CharT*)0 ); -+} -+ -+template -+_InputIter -+num_get<_CharT, _InputIter>::do_get(_InputIter __in, _InputIter __end, ios_base& __str, -+ ios_base::iostate& __err, -+ unsigned long& __val) const { -+ return _M_do_get_integer(__in, __end, __str, __err, __val, (_CharT*)0 ); -+} -+ -+ -+template -+_InputIter -+num_get<_CharT, _InputIter>::do_get(_InputIter __in, _InputIter __end, ios_base& __str, -+ ios_base::iostate& __err, -+ float& __val) const { -+ string __buf ; -+ bool __ok = _M_read_float(__buf, __in, __end, __str, (_CharT*)0 ); -+ __string_to_float(__buf, __val); -+ __err = __STATIC_CAST(ios_base::iostate, __ok ? ios_base::goodbit : ios_base::failbit); -+ if (__in == __end) -+ __err |= ios_base::eofbit; -+ return __in; -+} -+ -+template -+_InputIter -+num_get<_CharT, _InputIter>::do_get(_InputIter __in, _InputIter __end, ios_base& __str, -+ ios_base::iostate& __err, -+ double& __val) const { -+ string __buf ; -+ bool __ok = _M_read_float(__buf, __in, __end, __str, (_CharT*)0 ); -+ __string_to_float(__buf, __val); -+ __err = __STATIC_CAST(ios_base::iostate, __ok ? ios_base::goodbit : ios_base::failbit); -+ if (__in == __end) -+ __err |= ios_base::eofbit; -+ return __in; -+} -+ -+#ifndef _STLP_NO_LONG_DOUBLE -+template -+_InputIter -+num_get<_CharT, _InputIter>::do_get(_InputIter __in, _InputIter __end, ios_base& __str, -+ ios_base::iostate& __err, -+ long double& __val) const { -+ string __buf ; -+ bool __ok = _M_read_float(__buf, __in, __end, __str, (_CharT*)0 ); -+ __string_to_float(__buf, __val); -+ __err = __STATIC_CAST(ios_base::iostate, __ok ? ios_base::goodbit : ios_base::failbit); -+ if (__in == __end) -+ __err |= ios_base::eofbit; -+ return __in; -+} -+#endif /* _STLP_LONG_DOUBLE */ -+ -+template -+_InputIter -+num_get<_CharT, _InputIter>::do_get(_InputIter __in, _InputIter __end, ios_base& __str, -+ ios_base::iostate& __err, -+ void*& __p) const { -+# if defined(_STLP_LONG_LONG)&&!defined(__MRC__) //*ty 12/07/2001 - MrCpp can not cast from long long to void* -+ unsigned _STLP_LONG_LONG __val; -+# else -+ unsigned long __val; -+# endif -+ iter_type __tmp = _M_do_get_integer(__in, __end, __str, __err, __val, (_CharT*)0 ); -+ if (!(__err & ios_base::failbit)) -+ __p = __REINTERPRET_CAST(void*,__val); -+ return __tmp; -+ } -+ -+ -+#ifdef _STLP_LONG_LONG -+ -+template -+_InputIter -+num_get<_CharT, _InputIter>::do_get(_InputIter __in, _InputIter __end, ios_base& __str, -+ ios_base::iostate& __err, -+ _STLP_LONG_LONG& __val) const { -+ return _M_do_get_integer(__in, __end, __str, __err, __val, (_CharT*)0 ); -+} -+ -+template -+_InputIter -+num_get<_CharT, _InputIter>::do_get(_InputIter __in, _InputIter __end, ios_base& __str, -+ ios_base::iostate& __err, -+ unsigned _STLP_LONG_LONG& __val) const { -+ return _M_do_get_integer(__in, __end, __str, __err, __val, (_CharT*)0 ); -+} -+ -+#endif /* _STLP_LONG_LONG */ -+ -+_STLP_END_NAMESPACE -+ -+# endif /* _STLP_EXPOSE_STREAM_IMPLEMENTATION */ -+ -+#endif /* _STLP_NUMERIC_FACETS_C */ -+ -+// Local Variables: -+// mode:C++ -+// End: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_num_get.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_num_get.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_num_get.h Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_num_get.h Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,259 @@ -+/* -+ * Copyright (c) 1999 -+ * Silicon Graphics Computer Systems, Inc. -+ * -+ * Copyright (c) 1999 -+ * Boris Fomitchev -+ * -+ * This material is provided "as is", with absolutely no warranty expressed -+ * or implied. Any use is at your own risk. -+ * -+ * Permission to use or copy this software for any purpose is hereby granted -+ * without fee, provided the above notices are retained on all copies. -+ * Permission to modify the code and to distribute modified code is granted, -+ * provided the above notices are retained, and a notice that the code was -+ * modified is included with the above copyright notice. -+ * -+ */ -+// WARNING: This is an internal header file, included by other C++ -+// standard library headers. You should not attempt to use this header -+// file directly. -+ -+ -+#ifndef _STLP_INTERNAL_NUM_GET_H -+#define _STLP_INTERNAL_NUM_GET_H -+ -+#ifndef _STLP_INTERNAL_ISTREAMBUF_ITERATOR_H -+# include -+#endif -+ -+# ifndef _STLP_C_LOCALE_H -+# include -+# endif -+ -+#ifndef _STLP_INTERNAL_NUMPUNCT_H -+# include -+#endif -+#ifndef _STLP_INTERNAL_CTYPE_H -+# include -+#endif -+ -+_STLP_BEGIN_NAMESPACE -+ -+//---------------------------------------------------------------------- -+// num_get facets -+ -+# ifdef _STLP_LIMITED_DEFAULT_TEMPLATES -+template -+# else -+template > -+# endif -+class num_get: public locale::facet -+{ -+ friend class _Locale; -+public: -+ typedef _CharT char_type; -+ typedef _InputIter iter_type; -+ -+ explicit num_get(size_t __refs = 0): locale::facet(__refs) {} -+ -+# ifndef _STLP_NO_BOOL -+ _InputIter get(_InputIter __in, _InputIter __end, ios_base& __str, -+ ios_base::iostate& __err, bool& __val) const { -+ return do_get(__in, __end, __str, __err, __val); -+ } -+# endif -+ -+# ifdef _STLP_FIX_LIBRARY_ISSUES -+ _InputIter get(_InputIter __in, _InputIter __end, ios_base& __str, -+ ios_base::iostate& __err, short& __val) const { -+ return do_get(__in, __end, __str, __err, __val); -+ } -+ -+ _InputIter get(_InputIter __in, _InputIter __end, ios_base& __str, -+ ios_base::iostate& __err, int& __val) const { -+ return do_get(__in, __end, __str, __err, __val); -+ } -+# endif -+ -+ _InputIter get(_InputIter __in, _InputIter __end, ios_base& __str, -+ ios_base::iostate& __err, long& __val) const { -+ return do_get(__in, __end, __str, __err, __val); -+ } -+ -+ _InputIter get(_InputIter __in, _InputIter __end, ios_base& __str, -+ ios_base::iostate& __err, unsigned short& __val) const { -+ return do_get(__in, __end, __str, __err, __val); -+ } -+ -+ _InputIter get(_InputIter __in, _InputIter __end, ios_base& __str, -+ ios_base::iostate& __err, unsigned int& __val) const { -+ return do_get(__in, __end, __str, __err, __val); -+ } -+ -+ _InputIter get(_InputIter __in, _InputIter __end, ios_base& __str, -+ ios_base::iostate& __err, unsigned long& __val) const { -+ return do_get(__in, __end, __str, __err, __val); -+ } -+ -+#ifdef _STLP_LONG_LONG -+ -+ _InputIter get(_InputIter __in, _InputIter __end, ios_base& __str, -+ ios_base::iostate& __err, _STLP_LONG_LONG& __val) const { -+ return do_get(__in, __end, __str, __err, __val); -+ } -+ -+ _InputIter get(_InputIter __in, _InputIter __end, ios_base& __str, -+ ios_base::iostate& __err, unsigned _STLP_LONG_LONG& __val) const { -+ return do_get(__in, __end, __str, __err, __val); -+ } -+ -+#endif /* _STLP_LONG_LONG */ -+ -+ _InputIter get(_InputIter __in, _InputIter __end, ios_base& __str, -+ ios_base::iostate& __err, float& __val) const { -+ return do_get(__in, __end, __str, __err, __val); -+ } -+ -+ _InputIter get(_InputIter __in, _InputIter __end, ios_base& __str, -+ ios_base::iostate& __err, double& __val) const { -+ return do_get(__in, __end, __str, __err, __val); -+ } -+ -+# ifndef _STLP_NO_LONG_DOUBLE -+ -+ _InputIter get(_InputIter __in, _InputIter __end, ios_base& __str, -+ ios_base::iostate& __err, long double& __val) const { -+ return do_get(__in, __end, __str, __err, __val); -+ } -+# endif -+ -+ _InputIter get(_InputIter __in, _InputIter __end, ios_base& __str, -+ ios_base::iostate& __err, void*& __val) const { -+ return do_get(__in, __end, __str, __err, __val); -+ } -+ -+ _STLP_STATIC_MEMBER_DECLSPEC static locale::id id; -+ -+protected: -+ ~num_get() {} -+ -+ typedef string string_type; -+ typedef ctype<_CharT> _Ctype; -+ typedef numpunct<_CharT> _Numpunct; -+ -+# ifndef _STLP_NO_BOOL -+ virtual _InputIter do_get(_InputIter __in, _InputIter __end, -+ ios_base& __str, ios_base::iostate& __err, bool& __val) const; -+# endif -+ -+ virtual _InputIter do_get(_InputIter __in, _InputIter __end, ios_base& __str, -+ ios_base::iostate& __err, long& __val) const; -+ virtual _InputIter do_get(_InputIter __in, _InputIter __end, ios_base& __str, -+ ios_base::iostate& __err, unsigned short& __val) const; -+ virtual _InputIter do_get(_InputIter __in, _InputIter __end, ios_base& __str, -+ ios_base::iostate& __err, unsigned int& __val) const; -+ virtual _InputIter do_get(_InputIter __in, _InputIter __end, ios_base& __str, -+ ios_base::iostate& __err, unsigned long& __val) const; -+# ifdef _STLP_FIX_LIBRARY_ISSUES -+ // issue 118 : those are actually not supposed to be here -+ virtual _InputIter do_get(_InputIter __in, _InputIter __end, ios_base& __str, -+ ios_base::iostate& __err, short& __val) const; -+ virtual _InputIter do_get(_InputIter __in, _InputIter __end, ios_base& __str, -+ ios_base::iostate& __err, int& __val) const; -+# endif -+ virtual _InputIter do_get(_InputIter __in, _InputIter __end, ios_base& __str, -+ ios_base::iostate& __err, float& __val) const; -+ virtual _InputIter do_get(_InputIter __in, _InputIter __end, ios_base& __str, -+ ios_base::iostate& __err, double& __val) const; -+ virtual _InputIter do_get(_InputIter __in, _InputIter __end, ios_base& __str, -+ ios_base::iostate& __err, -+ void*& __p) const; -+ -+#ifndef _STLP_NO_LONG_DOUBLE -+ virtual _InputIter do_get(_InputIter __in, _InputIter __end, ios_base& __str, -+ ios_base::iostate& __err, long double& __val) const; -+#endif /* _STLP_LONG_DOUBLE */ -+ -+#ifdef _STLP_LONG_LONG -+ -+ virtual _InputIter do_get(_InputIter __in, _InputIter __end, ios_base& __str, -+ ios_base::iostate& __err, _STLP_LONG_LONG& __val) const; -+ virtual _InputIter do_get(_InputIter __in, _InputIter __end, ios_base& __str, -+ ios_base::iostate& __err, unsigned _STLP_LONG_LONG& __val) const; -+#endif /* _STLP_LONG_LONG */ -+ -+}; -+ -+ -+# ifdef _STLP_USE_TEMPLATE_EXPORT -+_STLP_EXPORT_TEMPLATE_CLASS num_get > >; -+// _STLP_EXPORT_TEMPLATE_CLASS num_get; -+# ifndef _STLP_NO_WCHAR_T -+_STLP_EXPORT_TEMPLATE_CLASS num_get > >; -+// _STLP_EXPORT_TEMPLATE_CLASS num_get; -+# endif /* _STLP_NO_WCHAR_T */ -+# endif -+ -+# if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) -+ -+extern bool _STLP_CALL __valid_grouping(const char*, const char*, const char*, const char*); -+ -+template -+bool _STLP_CALL -+__get_decimal_integer(_InputIter& __first, _InputIter& __last, _Integer& __val); -+ -+inline bool _STLP_CALL __get_fdigit(char& __c, const char*); -+inline bool _STLP_CALL __get_fdigit_or_sep(char& __c, char __sep, const char *); -+# ifndef _STLP_NO_WCHAR_T -+bool _STLP_CALL __get_fdigit(wchar_t&, const wchar_t*); -+bool _STLP_CALL __get_fdigit_or_sep(wchar_t&, wchar_t, const wchar_t*); -+# endif -+ -+inline void _STLP_CALL -+_Initialize_get_float(const ctype&, -+ char& Plus, char& Minus, -+ char& pow_e, char& pow_E, -+ char*) -+{ -+ Plus = '+'; -+ Minus = '-'; -+ pow_e = 'e'; -+ pow_E = 'E'; -+} -+ -+# ifndef _STLP_NO_WCHAR_T -+void _STLP_CALL _Initialize_get_float(const ctype&, -+ wchar_t&, wchar_t&, wchar_t&, wchar_t&, wchar_t*); -+# endif -+void _STLP_CALL __string_to_float(const string&, float&); -+void _STLP_CALL __string_to_float(const string&, double&); -+# ifndef _STLP_NO_LONG_DOUBLE -+void _STLP_CALL __string_to_float(const string&, long double&); -+# endif -+# endif -+ -+# if defined (__BORLANDC__) && defined (_RTLDLL) -+inline void _Stl_loc_init_num_get() { -+ num_get > >::id._M_index = 12; -+ num_get::id._M_index = 13; -+ -+# ifndef _STLP_NO_WCHAR_T -+ num_get > >::id._M_index = 31; -+ num_get::id._M_index = 32; -+# endif -+} -+# endif -+ -+_STLP_END_NAMESPACE -+ -+# if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) && ! defined (_STLP_LINK_TIME_INSTANTIATION) -+# include -+# endif -+ -+#endif /* _STLP_INTERNAL_NUM_GET_H */ -+ -+// Local Variables: -+// mode:C++ -+// End: -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_num_put.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_num_put.c ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_num_put.c Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_num_put.c Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,550 @@ -+/* -+ * Copyright (c) 1999 -+ * Silicon Graphics Computer Systems, Inc. -+ * -+ * Copyright (c) 1999 -+ * Boris Fomitchev -+ * -+ * This material is provided "as is", with absolutely no warranty expressed -+ * or implied. Any use is at your own risk. -+ * -+ * Permission to use or copy this software for any purpose is hereby granted -+ * without fee, provided the above notices are retained on all copies. -+ * Permission to modify the code and to distribute modified code is granted, -+ * provided the above notices are retained, and a notice that the code was -+ * modified is included with the above copyright notice. -+ * -+ */ -+#ifndef _STLP_NUM_PUT_C -+#define _STLP_NUM_PUT_C -+ -+#ifndef _STLP_INTERNAL_NUM_PUT_H -+# include -+#endif -+ -+# if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) -+ -+#ifndef _STLP_LIMITS_H -+# include -+#endif -+ -+_STLP_BEGIN_NAMESPACE -+ -+// _M_do_put_float and its helper functions. Strategy: write the output -+// to a buffer of char, transform the buffer to _CharT, and then copy -+// it to the output. -+ -+template -+_OutputIter _STLP_CALL -+_M_do_put_float(_OutputIter __s, ios_base& __f, _CharT __fill,_Float __x); -+ -+ -+//---------------------------------------------------------------------- -+// num_put facet -+ -+template -+_OutputIter _STLP_CALL -+__copy_float_and_fill(const _CharT* __first, const _CharT* __last, -+ _OutputIter __out, -+ ios_base::fmtflags __flags, -+ streamsize __width, _CharT __fill, -+ _CharT __xplus, _CharT __xminus) { -+ if (__width <= __last - __first) -+ return copy(__first, __last, __out); -+ else { -+ streamsize __pad = __width - (__last - __first); -+ ios_base::fmtflags __dir = __flags & ios_base::adjustfield; -+ -+ if (__dir == ios_base::left) { -+ __out = copy(__first, __last, __out); -+ return fill_n(__out, __pad, __fill); -+ } -+ else if (__dir == ios_base::internal && __first != __last && -+ (*__first == __xplus || *__first == __xminus)) { -+ *__out++ = *__first++; -+ __out = fill_n(__out, __pad, __fill); -+ return copy(__first, __last, __out); -+ } -+ else { -+ __out = fill_n(__out, __pad, __fill); -+ return copy(__first, __last, __out); -+ } -+ } -+} -+ -+#ifndef _STLP_NO_WCHAR_T -+// Helper routine for wchar_t -+template -+_OutputIter _STLP_CALL -+__put_float(char* __ibuf, char* __iend, _OutputIter __out, -+ ios_base& __f, wchar_t __fill, -+ wchar_t __decimal_point, -+ wchar_t __sep, const string& __grouping) -+{ -+ const ctype& __ct = *(ctype*)__f._M_ctype_facet() ; -+ -+ wchar_t __wbuf[128]; -+ wchar_t* __eend = __convert_float_buffer(__ibuf, __iend, __wbuf, -+ __ct, __decimal_point); -+ if (__grouping.size() != 0) { -+ // In order to do separator-insertion only to the left of the -+ // decimal point, we adjust the size of the first (right-most) -+ // group. We need to be careful if there is only one entry in -+ // grouping: in this case we need to duplicate the first entry. -+ -+ string __new_grouping = __grouping; -+ wchar_t* __decimal_pos = find(__wbuf, __eend, __decimal_point); -+ if (__grouping.size() == 1) -+ __new_grouping.push_back(__grouping[0]); -+ -+ // dwa 1/24/00 - try as I might, there doesn't seem to be a way -+ // to suppress the warning -+ __new_grouping[0] += __STATIC_CAST(char, __eend - __decimal_pos); -+ ptrdiff_t __len = __insert_grouping(__wbuf, __eend, __new_grouping, -+ __sep, -+ __ct.widen('+'), __ct.widen('-'), -+ 0); -+ __eend = __wbuf + __len; -+ } -+ -+ return __copy_float_and_fill(__wbuf, __eend, __out, -+ __f.flags(), __f.width(0), __fill, -+ __ct.widen('+'), __ct.widen('-')); -+} -+# endif /* WCHAR_T */ -+ -+// Helper routine for char -+template -+_OutputIter _STLP_CALL -+__put_float(char* __ibuf, char* __iend, _OutputIter __out, -+ ios_base& __f, char __fill, -+ char __decimal_point, -+ char __sep, const string& __grouping) -+{ -+ __adjust_float_buffer(__ibuf, __iend, __decimal_point); -+ if (__grouping.size() != 0) { -+ string __new_grouping = __grouping; -+ const char * __decimal_pos = find(__ibuf, __iend, __decimal_point); -+ if (__grouping.size() == 1) -+ __new_grouping.push_back(__grouping[0]); -+ __new_grouping[0] += __STATIC_CAST(char, (__iend - __decimal_pos)); -+ ptrdiff_t __len = __insert_grouping(__ibuf, __iend, __new_grouping, -+ __sep, '+', '-', 0); -+ __iend = __ibuf + __len; -+ } -+ -+ return __copy_float_and_fill(__ibuf, __iend, __out, -+ __f.flags(), __f.width(0), __fill, '+', '-'); -+} -+ -+template -+_OutputIter _STLP_CALL -+_M_do_put_float(_OutputIter __s, ios_base& __f, -+ _CharT __fill, _Float __x) -+{ -+ char __buf[128]; -+ char* __iend = __write_float(__buf, __f.flags(), (int)__f.precision(), __x); -+ -+ // locale __loc = __f.getloc(); -+ const numpunct<_CharT>& __np = *(const numpunct<_CharT>*)__f._M_numpunct_facet(); -+ -+ return __put_float(__buf, __iend, __s, __f, __fill, -+ __np.decimal_point(), -+ __np.thousands_sep(), __f._M_grouping()); -+} -+ -+// _M_do_put_integer and its helper functions. -+ -+template -+_OutputIter _STLP_CALL -+__copy_integer_and_fill(const _CharT* __buf, ptrdiff_t __len, -+ _OutputIter __out, -+ ios_base::fmtflags __flg, streamsize __wid, _CharT __fill, -+ _CharT __xplus, _CharT __xminus) -+{ -+ if (__len >= __wid) -+ return copy(__buf, __buf + __len, __out); -+ else { -+ ptrdiff_t __pad = __wid - __len; -+ ios_base::fmtflags __dir = __flg & ios_base::adjustfield; -+ -+ if (__dir == ios_base::left) { -+ __out = copy(__buf, __buf + __len, __out); -+ return fill_n(__out, __pad, __fill); -+ } -+ else if (__dir == ios_base::internal && __len != 0 && -+ (__buf[0] == __xplus || __buf[0] == __xminus)) { -+ *__out++ = __buf[0]; -+ __out = fill_n(__out, __pad, __fill); -+ return copy(__buf + 1, __buf + __len, __out); -+ } -+ else if (__dir == ios_base::internal && __len >= 2 && -+ (__flg & ios_base::showbase) && -+ (__flg & ios_base::basefield) == ios_base::hex) { -+ *__out++ = __buf[0]; -+ *__out++ = __buf[1]; -+ __out = fill_n(__out, __pad, __fill); -+ return copy(__buf + 2, __buf + __len, __out); -+ } -+ else { -+ __out = fill_n(__out, __pad, __fill); -+ return copy(__buf, __buf + __len, __out); -+ } -+ } -+} -+ -+#ifndef _STLP_NO_WCHAR_T -+// Helper function for wchar_t -+template -+_OutputIter _STLP_CALL -+__put_integer(char* __buf, char* __iend, _OutputIter __s, -+ ios_base& __f, -+ ios_base::fmtflags __flags, wchar_t __fill) -+{ -+ locale __loc = __f.getloc(); -+ // const ctype& __ct = use_facet >(__loc); -+ const ctype& __ct = *(const ctype*)__f._M_ctype_facet(); -+ -+ wchar_t __xplus = __ct.widen('+'); -+ wchar_t __xminus = __ct.widen('-'); -+ -+ wchar_t __wbuf[64]; -+ __ct.widen(__buf, __iend, __wbuf); -+ ptrdiff_t __len = __iend - __buf; -+ wchar_t* __eend = __wbuf + __len; -+ -+ // const numpunct& __np = use_facet >(__loc); -+ // const string& __grouping = __np.grouping(); -+ -+ const numpunct& __np = *(const numpunct*)__f._M_numpunct_facet(); -+ const string& __grouping = __f._M_grouping(); -+ -+ if (!__grouping.empty()) { -+ int __basechars; -+ if (__flags & ios_base::showbase) -+ switch (__flags & ios_base::basefield) { -+ case ios_base::hex: __basechars = 2; break; -+ case ios_base::oct: __basechars = 1; break; -+ default: __basechars = 0; -+ } -+ else -+ __basechars = 0; -+ -+ __len = __insert_grouping(__wbuf, __eend, __grouping, __np.thousands_sep(), -+ __xplus, __xminus, __basechars); -+ } -+ -+ return __copy_integer_and_fill((wchar_t*)__wbuf, __len, __s, -+ __flags, __f.width(0), __fill, __xplus, __xminus); -+} -+#endif -+ -+// Helper function for char -+template -+_OutputIter _STLP_CALL -+__put_integer(char* __buf, char* __iend, _OutputIter __s, -+ ios_base& __f, ios_base::fmtflags __flags, char __fill) -+{ -+ ptrdiff_t __len = __iend - __buf; -+ -+ // const numpunct& __np = use_facet >(__f.getloc()); -+ // const string& __grouping = __np.grouping(); -+ -+ const numpunct& __np = *(const numpunct*)__f._M_numpunct_facet(); -+ const string& __grouping = __f._M_grouping(); -+ -+ if (!__grouping.empty()) { -+ int __basechars; -+ if (__flags & ios_base::showbase) -+ switch (__flags & ios_base::basefield) { -+ case ios_base::hex: __basechars = 2; break; -+ case ios_base::oct: __basechars = 1; break; -+ default: __basechars = 0; -+ } -+ else -+ __basechars = 0; -+ -+ // make sure there is room at the end of the buffer -+ // we pass to __insert_grouping -+ char __grpbuf[64]; -+ copy(__buf, __iend, (char *) __grpbuf); -+ __buf = __grpbuf; -+ __iend = __grpbuf + __len; -+ __len = __insert_grouping(__buf, __iend, __grouping, __np.thousands_sep(), -+ '+', '-', __basechars); -+ } -+ -+ return __copy_integer_and_fill(__buf, __len, __s, __flags, __f.width(0), __fill, '+', '-'); -+} -+ -+#ifdef _STLP_LONG_LONG -+typedef _STLP_LONG_LONG __max_int_t; -+typedef unsigned _STLP_LONG_LONG __umax_int_t; -+#else -+typedef long __max_int_t; -+typedef unsigned long __umax_int_t; -+#endif -+ -+extern const char __hex_char_table_lo[]; -+extern const char __hex_char_table_hi[]; -+ -+template -+inline char* _STLP_CALL -+__write_decimal_backward(char* __ptr, _Integer __x, ios_base::fmtflags __flags, const __true_type& /* is_signed */) -+{ -+ __max_int_t __temp = __x; -+ -+ const bool __negative = __x < 0 ; -+ -+ if (__negative) __temp = -__temp; -+ -+ for (; __temp != 0; __temp /= 10) -+ *--__ptr = (int)(__temp % 10) + '0'; -+ // put sign if requested -+ if (__negative) -+ *--__ptr = '-'; -+ else if (__flags & ios_base::showpos) -+ *--__ptr = '+'; -+ return __ptr; -+} -+ -+template -+inline char* _STLP_CALL -+__write_decimal_backward(char* __ptr, _Integer __x, ios_base::fmtflags, const __false_type& /* is_signed */) -+{ -+ for (; __x != 0; __x /= 10) -+ *--__ptr = (int)(__x % 10) + '0'; -+ return __ptr; -+} -+ -+template -+char* _STLP_CALL -+__write_integer_backward(char* __buf, ios_base::fmtflags __flags, _Integer __x) -+{ -+ char* __ptr = __buf; -+ __umax_int_t __temp; -+ -+ if (__x == 0) { -+ *--__ptr = '0'; -+ if ((__flags & ios_base::showpos) && ( (__flags & (ios_base::hex | ios_base::oct)) == 0 )) -+ *--__ptr = '+'; -+ } -+ else { -+ -+ switch (__flags & ios_base::basefield) { -+ case ios_base::oct: -+ __temp = __x; -+ // if the size of integer is less than 8, clear upper part -+ if ( sizeof(__x) < 8 && sizeof(__umax_int_t) >= 8 ) -+ __temp &= 0xFFFFFFFF; -+ -+ for (; __temp != 0; __temp >>=3) -+ *--__ptr = (((unsigned)__temp)& 0x7) + '0'; -+ -+ // put leading '0' is showbase is set -+ if (__flags & ios_base::showbase) -+ *--__ptr = '0'; -+ break; -+ case ios_base::hex: -+ { -+ const char* __table_ptr = (__flags & ios_base::uppercase) ? -+ __hex_char_table_hi : __hex_char_table_lo; -+ __temp = __x; -+ // if the size of integer is less than 8, clear upper part -+ if ( sizeof(__x) < 8 && sizeof(__umax_int_t) >= 8 ) -+ __temp &= 0xFFFFFFFF; -+ -+ for (; __temp != 0; __temp >>=4) -+ *--__ptr = __table_ptr[((unsigned)__temp & 0xF)]; -+ -+ if (__flags & ios_base::showbase) { -+ *--__ptr = __table_ptr[16]; -+ *--__ptr = '0'; -+ } -+ } -+ break; -+ default: -+ { -+#if defined(__HP_aCC) && (__HP_aCC == 1) -+ bool _IsSigned = !((_Integer)-1 > 0); -+ if (_IsSigned) -+ __ptr = __write_decimal_backward(__ptr, __x, __flags, __true_type() ); -+ else -+ __ptr = __write_decimal_backward(__ptr, __x, __flags, __false_type() ); -+#else -+ typedef typename __bool2type::is_signed>::_Ret _IsSigned; -+ __ptr = __write_decimal_backward(__ptr, __x, __flags, _IsSigned()); -+# endif -+ } -+ break; -+ } -+ } -+ // return pointer to beginning of the string -+ return __ptr; -+} -+ -+// -+// num_put<> -+// -+ -+# if ( _STLP_STATIC_TEMPLATE_DATA > 0 ) -+ -+template -+locale::id num_put<_CharT, _OutputIterator>::id; -+# else /* ( _STLP_STATIC_TEMPLATE_DATA > 0 ) */ -+ -+typedef num_put num_put_char; -+typedef num_put num_put_char_2; -+typedef num_put > > num_put_char_3; -+ -+__DECLARE_INSTANCE(locale::id, num_put_char::id, ); -+__DECLARE_INSTANCE(locale::id, num_put_char_2::id, ); -+__DECLARE_INSTANCE(locale::id, num_put_char_3::id, ); -+ -+# ifndef _STLP_NO_WCHAR_T -+ -+typedef num_put num_put_wchar_t; -+typedef num_put num_put_wchar_t_2; -+typedef num_put > > num_put_wchar_t_3; -+ -+__DECLARE_INSTANCE(locale::id, num_put_wchar_t::id, ); -+__DECLARE_INSTANCE(locale::id, num_put_wchar_t_2::id, ); -+__DECLARE_INSTANCE(locale::id, num_put_wchar_t_3::id, ); -+ -+# endif -+ -+# endif /* ( _STLP_STATIC_TEMPLATE_DATA > 0 ) */ -+ -+// issue 118 -+ -+# ifndef _STLP_NO_BOOL -+ -+template -+_OutputIter -+num_put<_CharT, _OutputIter>::do_put(_OutputIter __s, ios_base& __f, -+ char_type __fill, bool __val) const { -+ if (!(__f.flags() & ios_base::boolalpha)) -+ return this->do_put(__s, __f, __fill, __STATIC_CAST(long,__val)); -+ -+ locale __loc = __f.getloc(); -+ // typedef numpunct<_CharT> _Punct; -+ // const _Punct& __np = use_facet<_Punct>(__loc); -+ -+ const numpunct<_CharT>& __np = *(const numpunct<_CharT>*)__f._M_numpunct_facet(); -+ -+ basic_string<_CharT> __str = __val ? __np.truename() : __np.falsename(); -+ -+ // Reuse __copy_integer_and_fill. Since internal padding makes no -+ // sense for bool, though, make sure we use something else instead. -+ // The last two argument to __copy_integer_and_fill are dummies. -+ ios_base::fmtflags __flags = __f.flags(); -+ if ((__flags & ios_base::adjustfield) == ios_base::internal) -+ __flags = (__flags & ~ios_base::adjustfield) | ios_base::right; -+ -+ return __copy_integer_and_fill(__str.c_str(), __str.size(), __s, -+ __flags, __f.width(0), __fill, -+ (_CharT) 0, (_CharT) 0); -+} -+ -+# endif -+ -+template -+_OutputIter -+num_put<_CharT, _OutputIter>::do_put(_OutputIter __s, ios_base& __f, _CharT __fill, -+ long __val) const { -+ -+ char __buf[64]; // Large enough for a base 8 64-bit integer, -+ // plus any necessary grouping. -+ ios_base::fmtflags __flags = __f.flags(); -+ char* __ibeg = __write_integer_backward((char*)__buf+64, __flags, __val); -+ return __put_integer(__ibeg, (char*)__buf+64, __s, __f, __flags, __fill); -+} -+ -+ -+template -+_OutputIter -+num_put<_CharT, _OutputIter>::do_put(_OutputIter __s, ios_base& __f, _CharT __fill, -+ unsigned long __val) const { -+ char __buf[64]; // Large enough for a base 8 64-bit integer, -+ // plus any necessary grouping. -+ -+ ios_base::fmtflags __flags = __f.flags(); -+ char* __ibeg = __write_integer_backward((char*)__buf+64, __flags, __val); -+ return __put_integer(__ibeg, (char*)__buf+64, __s, __f, __flags, __fill); -+} -+ -+template -+_OutputIter -+num_put<_CharT, _OutputIter>::do_put(_OutputIter __s, ios_base& __f, _CharT __fill, -+ double __val) const { -+ return _M_do_put_float(__s, __f, __fill, __val); -+} -+ -+#ifndef _STLP_NO_LONG_DOUBLE -+template -+_OutputIter -+num_put<_CharT, _OutputIter>::do_put(_OutputIter __s, ios_base& __f, _CharT __fill, -+ long double __val) const { -+ return _M_do_put_float(__s, __f, __fill, __val); -+} -+#endif -+ -+#ifdef _STLP_LONG_LONG -+template -+_OutputIter -+num_put<_CharT, _OutputIter>::do_put(_OutputIter __s, ios_base& __f, _CharT __fill, -+ _STLP_LONG_LONG __val) const { -+ char __buf[64]; // Large enough for a base 8 64-bit integer, -+ // plus any necessary grouping. -+ -+ ios_base::fmtflags __flags = __f.flags(); -+ char* __ibeg = __write_integer_backward((char*)__buf+64, __flags, __val); -+ return __put_integer(__ibeg, (char*)__buf+64, __s, __f, __flags, __fill); -+} -+ -+template -+_OutputIter -+num_put<_CharT, _OutputIter>::do_put(_OutputIter __s, ios_base& __f, _CharT __fill, -+ unsigned _STLP_LONG_LONG __val) const { -+ char __buf[64]; // Large enough for a base 8 64-bit integer, -+ // plus any necessary grouping. -+ -+ ios_base::fmtflags __flags = __f.flags(); -+ char* __ibeg = __write_integer_backward((char*)__buf+64, __flags, __val); -+ return __put_integer(__ibeg, (char*)__buf+64, __s, __f, __flags, __fill); -+} -+ -+#endif /* _STLP_LONG_LONG */ -+ -+ -+// lib.facet.num.put.virtuals "12 For conversion from void* the specifier is %p." -+template -+_OutputIter -+num_put<_CharT, _OutputIter>::do_put(_OutputIter __s, ios_base& __f, _CharT /*__fill*/, -+ const void* __val) const { -+ locale __loc = __f.getloc(); -+ const ctype<_CharT>& __c_type = *(const ctype<_CharT>*)__f._M_ctype_facet(); -+ ios_base::fmtflags __save_flags = __f.flags(); -+ -+ __f.setf(ios_base::hex, ios_base::basefield); -+ __f.setf(ios_base::showbase); -+ __f.setf(ios_base::internal, ios_base::adjustfield); -+ __f.width((sizeof(void*) * 2) + 2); // digits in pointer type plus '0x' prefix -+# if defined(_STLP_LONG_LONG) && !defined(__MRC__) //*ty 11/24/2001 - MrCpp can not cast from void* to long long -+ _OutputIter result = this->do_put(__s, __f, __c_type.widen('0'), __REINTERPRET_CAST(unsigned _STLP_LONG_LONG,__val)); -+# else -+ _OutputIter result = this->do_put(__s, __f, __c_type.widen('0'), __REINTERPRET_CAST(unsigned long,__val)); -+# endif -+ __f.flags(__save_flags); -+ return result; -+} -+ -+_STLP_END_NAMESPACE -+ -+# endif /* _STLP_EXPOSE_STREAM_IMPLEMENTATION */ -+ -+#endif /* _STLP_NUM_PUT_C */ -+ -+// Local Variables: -+// mode:C++ -+// End: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_num_put.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_num_put.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_num_put.h Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_num_put.h Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,186 @@ -+/* -+ * Copyright (c) 1999 -+ * Silicon Graphics Computer Systems, Inc. -+ * -+ * Copyright (c) 1999 -+ * Boris Fomitchev -+ * -+ * This material is provided "as is", with absolutely no warranty expressed -+ * or implied. Any use is at your own risk. -+ * -+ * Permission to use or copy this software for any purpose is hereby granted -+ * without fee, provided the above notices are retained on all copies. -+ * Permission to modify the code and to distribute modified code is granted, -+ * provided the above notices are retained, and a notice that the code was -+ * modified is included with the above copyright notice. -+ * -+ */ -+// WARNING: This is an internal header file, included by other C++ -+// standard library headers. You should not attempt to use this header -+// file directly. -+ -+ -+#ifndef _STLP_INTERNAL_NUM_PUT_H -+#define _STLP_INTERNAL_NUM_PUT_H -+ -+#ifndef _STLP_INTERNAL_NUMPUNCT_H -+# include -+#endif -+#ifndef _STLP_INTERNAL_CTYPE_H -+# include -+#endif -+#ifndef _STLP_INTERNAL_OSTREAMBUF_ITERATOR_H -+# include -+#endif -+ -+_STLP_BEGIN_NAMESPACE -+ -+//---------------------------------------------------------------------- -+// num_put facet -+ -+# ifdef _STLP_LIMITED_DEFAULT_TEMPLATES -+template -+# else -+template > > -+# endif -+class num_put: public locale::facet -+{ -+ friend class _Locale; -+public: -+ typedef _CharT char_type; -+ typedef _OutputIter iter_type; -+ -+ explicit num_put(size_t __refs = 0) : _BaseFacet(__refs) {} -+ -+# ifndef _STLP_NO_BOOL -+ iter_type put(iter_type __s, ios_base& __f, char_type __fill, -+ bool __val) const { -+ return do_put(__s, __f, __fill, __val); -+ } -+# endif -+ iter_type put(iter_type __s, ios_base& __f, char_type __fill, -+ long __val) const { -+ return do_put(__s, __f, __fill, __val); -+ } -+ -+ iter_type put(iter_type __s, ios_base& __f, char_type __fill, -+ unsigned long __val) const { -+ return do_put(__s, __f, __fill, __val); -+ } -+ -+#ifdef _STLP_LONG_LONG -+ iter_type put(iter_type __s, ios_base& __f, char_type __fill, -+ _STLP_LONG_LONG __val) const { -+ return do_put(__s, __f, __fill, __val); -+ } -+ -+ iter_type put(iter_type __s, ios_base& __f, char_type __fill, -+ unsigned _STLP_LONG_LONG __val) const { -+ return do_put(__s, __f, __fill, __val); -+ } -+#endif -+ -+ iter_type put(iter_type __s, ios_base& __f, char_type __fill, -+ double __val) const { -+ return do_put(__s, __f, __fill, (double)__val); -+ } -+ -+#ifndef _STLP_NO_LONG_DOUBLE -+ iter_type put(iter_type __s, ios_base& __f, char_type __fill, -+ long double __val) const { -+ return do_put(__s, __f, __fill, __val); -+ } -+# endif -+ -+ iter_type put(iter_type __s, ios_base& __f, char_type __fill, -+ const void * __val) const { -+ return do_put(__s, __f, __fill, __val); -+ } -+ -+ _STLP_STATIC_MEMBER_DECLSPEC static locale::id id; -+ -+protected: -+ ~num_put() {} -+# ifndef _STLP_NO_BOOL -+ virtual _OutputIter do_put(_OutputIter __s, ios_base& __f, _CharT __fill, bool __val) const; -+# endif -+ virtual _OutputIter do_put(_OutputIter __s, ios_base& __f, _CharT __fill, long __val) const; -+ virtual _OutputIter do_put(_OutputIter __s, ios_base& __f, _CharT __fill, unsigned long __val) const; -+ virtual _OutputIter do_put(_OutputIter __s, ios_base& __f, _CharT __fill, double __val) const; -+#ifndef _STLP_NO_LONG_DOUBLE -+ virtual _OutputIter do_put(_OutputIter __s, ios_base& __f, _CharT __fill, long double __val) const; -+#endif -+ -+#ifdef _STLP_LONG_LONG -+ virtual _OutputIter do_put(_OutputIter __s, ios_base& __f, _CharT __fill, _STLP_LONG_LONG __val) const; -+ virtual _OutputIter do_put(_OutputIter __s, ios_base& __f, _CharT __fill, -+ unsigned _STLP_LONG_LONG __val) const ; -+#endif /* _STLP_LONG_LONG */ -+ virtual _OutputIter do_put(_OutputIter __s, ios_base& __f, _CharT __fill, const void* __val) const; -+}; -+ -+# ifdef _STLP_USE_TEMPLATE_EXPORT -+_STLP_EXPORT_TEMPLATE_CLASS num_put > >; -+// _STLP_EXPORT_TEMPLATE_CLASS num_put; -+# ifndef _STLP_NO_WCHAR_T -+_STLP_EXPORT_TEMPLATE_CLASS num_put > >; -+// _STLP_EXPORT_TEMPLATE_CLASS num_put; -+# endif /* _STLP_NO_WCHAR_T */ -+# endif -+ -+# if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) -+ -+template -+char* _STLP_CALL -+__write_integer_backward(char* __buf, ios_base::fmtflags __flags, _Integer __x); -+ -+void _STLP_CALL __string_to_float(const string&, float&); -+void _STLP_CALL __string_to_float(const string&, double&); -+extern char* _STLP_CALL __write_float(char*, ios_base::fmtflags, int, double); -+# ifndef _STLP_NO_LONG_DOUBLE -+void _STLP_CALL __string_to_float(const string&, long double&); -+extern char* _STLP_CALL __write_float(char*, ios_base::fmtflags, int, long double); -+# endif -+ -+#ifndef _STLP_NO_WCHAR_T -+extern wchar_t* _STLP_CALL __convert_float_buffer(const char*, const char*, wchar_t*, const ctype&, wchar_t); -+#endif -+extern void _STLP_CALL __adjust_float_buffer(char*, char*, char); -+ -+extern char* _STLP_CALL -+__write_integer(char* buf, ios_base::fmtflags flags, long x); -+ -+extern ptrdiff_t _STLP_CALL __insert_grouping(char* first, char* last, const string&, char, char, char, int); -+# ifndef _STLP_NO_WCHAR_T -+extern ptrdiff_t _STLP_CALL __insert_grouping(wchar_t*, wchar_t*, const string&, wchar_t, wchar_t, wchar_t, int); -+# endif -+ -+# endif -+ -+# if defined (__BORLANDC__) && defined (_RTLDLL) -+inline void _Stl_loc_init_num_put() { -+ -+ num_put > >::id._M_index = 14; -+ num_put::id._M_index = 15; -+ -+# ifndef _STLP_NO_WCHAR_T -+ num_put > > ::id._M_index = 33; -+ num_put::id._M_index = 34; -+# endif -+ -+} -+ -+# endif -+ -+_STLP_END_NAMESPACE -+ -+# if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) && ! defined (_STLP_LINK_TIME_INSTANTIATION) -+# include -+# endif -+ -+#endif /* _STLP_INTERNAL_NUMERIC_FACETS_H */ -+ -+// Local Variables: -+// mode:C++ -+// End: -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_numeric.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_numeric.c ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_numeric.c Sat Feb 24 10:44:59 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_numeric.c Sun Aug 11 18:59:24 2002 -@@ -23,42 +23,14 @@ - * modified is included with the above copyright notice. - * - */ --#ifndef __STL_NUMERIC_C --#define __STL_NUMERIC_C -+#ifndef _STLP_NUMERIC_C -+#define _STLP_NUMERIC_C - --# ifndef __STL_INTERNAL_FUNCTION_H --# include --# endif -- --#ifndef __SGI_STL_INTERNAL_ITERATOR_BASE_H --# include -+#ifndef _STLP_INTERNAL_NUMERIC_H -+# include - #endif - --__STL_BEGIN_NAMESPACE -- --template --_OutputIterator --__partial_sum(_InputIterator __first, _InputIterator __last, -- _OutputIterator __result, _Tp*) --{ -- _Tp __value = *__first; -- while (++__first != __last) { -- __value = __value + *__first; -- *++__result = __value; -- } -- return ++__result; --} -- --template --_OutputIterator --partial_sum(_InputIterator __first, _InputIterator __last, -- _OutputIterator __result) --{ -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -- if (__first == __last) return __result; -- *__result = *__first; -- return __partial_sum(__first, __last, __result, __VALUE_TYPE(__first)); --} -+_STLP_BEGIN_NAMESPACE - - template -@@ -66,95 +38,50 @@ - __partial_sum(_InputIterator __first, _InputIterator __last, - _OutputIterator __result, _Tp*, _BinaryOperation __binary_op) - { -- _Tp __value = *__first; -- while (++__first != __last) { -- __value = __binary_op(__value, *__first); -- *++__result = __value; -- } -- return ++__result; --} -- --template --_OutputIterator --partial_sum(_InputIterator __first, _InputIterator __last, -- _OutputIterator __result, _BinaryOperation __binary_op) --{ -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) - if (__first == __last) return __result; - *__result = *__first; -- return __partial_sum(__first, __last, __result, __VALUE_TYPE(__first), -- __binary_op); --} - --template --_OutputIterator --__adjacent_difference(_InputIterator __first, _InputIterator __last, -- _OutputIterator __result, _Tp*) --{ -- _Tp __value = *__first; -+ _Tp __val = *__first; - while (++__first != __last) { -- _Tp __tmp = *__first; -- *++__result = __tmp - __value; -- __value = __tmp; -+ __val = __binary_op(__val, *__first); -+ *++__result = __val; - } - return ++__result; - } - --template --_OutputIterator --adjacent_difference(_InputIterator __first, -- _InputIterator __last, _OutputIterator __result) --{ -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -- if (__first == __last) return __result; -- *__result = *__first; -- return __adjacent_difference(__first, __last, __result, -- __VALUE_TYPE(__first)); --} -- - template - _OutputIterator - __adjacent_difference(_InputIterator __first, _InputIterator __last, - _OutputIterator __result, _Tp*, - _BinaryOperation __binary_op) { -- _Tp __value = *__first; -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) -+ if (__first == __last) return __result; -+ *__result = *__first; -+ _Tp __val = *__first; - while (++__first != __last) { - _Tp __tmp = *__first; -- *++__result = __binary_op(__tmp, __value); -- __value = __tmp; -+ *++__result = __binary_op(__tmp, __val); -+ __val = __tmp; - } - return ++__result; - } - --template --_OutputIterator --adjacent_difference(_InputIterator __first, _InputIterator __last, -- _OutputIterator __result, _BinaryOperation __binary_op) --{ -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -- if (__first == __last) return __result; -- *__result = *__first; -- return __adjacent_difference(__first, __last, __result, -- __VALUE_TYPE(__first), -- __binary_op); --} - - template - _Tp __power(_Tp __x, _Integer __n, _MonoidOperation __opr) - { -- __STL_MPWFIX_TRY //*TY 06/01/2000 - mpw forgets to call dtor on __x when exception is thrown inside this func -+ _STLP_MPWFIX_TRY - if (__n == 0) -- return identity_element(__opr); -+ return __identity_element(__opr); - else { -- // _Tp __x = __mx; - while ((__n & 1) == 0) { - __n >>= 1; - __x = __opr(__x, __x); - } -- - _Tp __result = __x; -- __STL_MPWFIX_TRY //*TY 06/01/2000 - -+ _STLP_MPWFIX_TRY - __n >>= 1; - while (__n != 0) { - __x = __opr(__x, __x); -@@ -163,26 +90,14 @@ - __n >>= 1; - } - return __result; -- __STL_MPWFIX_CATCH //*TY 06/01/2000 - -+ _STLP_MPWFIX_CATCH - } -- __STL_MPWFIX_CATCH_ACTION(__x = _Tp()) //*TY 06/01/2000 - explicitly reset __x; power() called from rope(size_t , _CharT , const allocator_type& ): --} -- --template --_Tp power(_Tp __x, _Integer __n, _MonoidOperation __opr) --{ -- return __power(__x, __n, __opr); --} -- --template --_Tp power(_Tp __x, _Integer __n) --{ -- return __power(__x, __n); -+ _STLP_MPWFIX_CATCH_ACTION(__x = _Tp()) - } - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --#endif /* __STL_NUMERIC_C */ -+#endif /* _STLP_NUMERIC_C */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_numeric.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_numeric.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_numeric.h Sat Feb 24 10:44:59 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_numeric.h Sun Aug 11 18:59:24 2002 -@@ -25,128 +25,161 @@ - */ - - --#ifndef __SGI_STL_INTERNAL_NUMERIC_H --#define __SGI_STL_INTERNAL_NUMERIC_H -+#ifndef _STLP_INTERNAL_NUMERIC_H -+#define _STLP_INTERNAL_NUMERIC_H - --#ifndef __STL_CONFIG_H --#include -+#ifndef _STLP_INTERNAL_FUNCTION_H -+# include - #endif - --# if defined (__STL_DEBUG) && ! defined (__STLPORT_DEBUG_H) --# include --# endif -+#ifndef _STLP_INTERNAL_ITERATOR_BASE_H -+# include -+#endif - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - template --__STL_INLINE_LOOP --_Tp accumulate(_InputIterator __first, _InputIterator __last, _Tp __init) -+_STLP_INLINE_LOOP -+_Tp accumulate(_InputIterator __first, _InputIterator __last, _Tp _Init) - { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) - for ( ; __first != __last; ++__first) -- __init = __init + *__first; -- return __init; -+ _Init = _Init + *__first; -+ return _Init; - } - - template --__STL_INLINE_LOOP --_Tp accumulate(_InputIterator __first, _InputIterator __last, _Tp __init, -+_STLP_INLINE_LOOP -+_Tp accumulate(_InputIterator __first, _InputIterator __last, _Tp _Init, - _BinaryOperation __binary_op) - { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) - for ( ; __first != __last; ++__first) -- __init = __binary_op(__init, *__first); -- return __init; -+ _Init = __binary_op(_Init, *__first); -+ return _Init; - } - - template --__STL_INLINE_LOOP -+_STLP_INLINE_LOOP - _Tp inner_product(_InputIterator1 __first1, _InputIterator1 __last1, -- _InputIterator2 __first2, _Tp __init) -+ _InputIterator2 __first2, _Tp _Init) - { -- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) -+ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) - for ( ; __first1 != __last1; ++__first1, ++__first2) -- __init = __init + (*__first1 * *__first2); -- return __init; -+ _Init = _Init + (*__first1 * *__first2); -+ return _Init; - } - - template --__STL_INLINE_LOOP -+_STLP_INLINE_LOOP - _Tp inner_product(_InputIterator1 __first1, _InputIterator1 __last1, -- _InputIterator2 __first2, _Tp __init, -+ _InputIterator2 __first2, _Tp _Init, - _BinaryOperation1 __binary_op1, - _BinaryOperation2 __binary_op2) - { -- __STL_DEBUG_CHECK(__check_range(__first1, __last1)) -+ _STLP_DEBUG_CHECK(__check_range(__first1, __last1)) - for ( ; __first1 != __last1; ++__first1, ++__first2) -- __init = __binary_op1(__init, __binary_op2(*__first1, *__first2)); -- return __init; -+ _Init = __binary_op1(_Init, __binary_op2(*__first1, *__first2)); -+ return _Init; - } - --template -+template - _OutputIterator --partial_sum(_InputIterator __first, _InputIterator __last, -- _OutputIterator __result); -+__partial_sum(_InputIterator __first, _InputIterator __last, -+ _OutputIterator __result, _Tp*, _BinaryOperation __binary_op); - - -+template -+inline _OutputIterator -+partial_sum(_InputIterator __first, _InputIterator __last, -+ _OutputIterator __result) { -+ return __partial_sum(__first, __last, __result, _STLP_VALUE_TYPE(__first, _InputIterator), -+ __plus(_STLP_VALUE_TYPE(__first, _InputIterator))); -+} -+ - template --_OutputIterator -+inline _OutputIterator - partial_sum(_InputIterator __first, _InputIterator __last, -- _OutputIterator __result, _BinaryOperation __binary_op); -+ _OutputIterator __result, _BinaryOperation __binary_op) { -+ return __partial_sum(__first, __last, __result, _STLP_VALUE_TYPE(__first, _InputIterator), -+ __binary_op); -+} - --template -+ -+template - _OutputIterator -+__adjacent_difference(_InputIterator __first, _InputIterator __last, -+ _OutputIterator __result, _Tp*, -+ _BinaryOperation __binary_op); -+ -+template -+inline _OutputIterator - adjacent_difference(_InputIterator __first, -- _InputIterator __last, _OutputIterator __result); -+ _InputIterator __last, _OutputIterator __result) { -+ return __adjacent_difference(__first, __last, __result, -+ _STLP_VALUE_TYPE(__first, _InputIterator), -+ __minus(_STLP_VALUE_TYPE(__first, _InputIterator))); -+} - - template - _OutputIterator - adjacent_difference(_InputIterator __first, _InputIterator __last, -- _OutputIterator __result, _BinaryOperation __binary_op); -+ _OutputIterator __result, _BinaryOperation __binary_op) { -+ return __adjacent_difference(__first, __last, __result, -+ _STLP_VALUE_TYPE(__first, _InputIterator), -+ __binary_op); -+} - -+template -+_Tp __power(_Tp __x, _Integer __n, _MonoidOperation __opr); -+ -+# ifndef _STLP_NO_EXTENSIONS - - // Returns __x ** __n, where __n >= 0. _Note that "multiplication" - // is required to be associative, but not necessarily commutative. - --template --_Tp __power(_Tp __x, _Integer __n, _MonoidOperation __opr); -- - template - inline _Tp __power(_Tp __x, _Integer __n) - { - return __power(__x, __n, multiplies<_Tp>()); - } - --# ifndef __STL_NO_EXTENSIONS - // Alias for the internal name __power. Note that power is an extension, - // not part of the C++ standard. - template --_Tp power(_Tp __x, _Integer __n, _MonoidOperation __opr); -+inline _Tp power(_Tp __x, _Integer __n, _MonoidOperation __opr) { -+ return __power(__x, __n, __opr); -+} -+ - - template --_Tp power(_Tp __x, _Integer __n); -+inline _Tp power(_Tp __x, _Integer __n) { -+ return __power(__x, __n, multiplies<_Tp>()); -+} - - // iota is not part of the C++ standard. It is an extension. - - template --__STL_INLINE_LOOP -+_STLP_INLINE_LOOP - void --iota(_ForwardIterator __first, _ForwardIterator __last, _Tp __value) -+iota(_ForwardIterator __first, _ForwardIterator __last, _Tp __val) - { -- __STL_DEBUG_CHECK(__check_range(__first, __last)) -+ _STLP_DEBUG_CHECK(__check_range(__first, __last)) - while (__first != __last) -- *__first++ = __value++; -+ *__first++ = __val++; - } - # endif - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --# if !defined (__STL_LINK_TIME_INSTANTIATION) -+# if !defined (_STLP_LINK_TIME_INSTANTIATION) - # include - # endif - --#endif /* __SGI_STL_INTERNAL_NUMERIC_H */ -+#endif /* _STLP_INTERNAL_NUMERIC_H */ - - // Local Variables: - // mode:C++ -Only in tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl: _numeric_facets.c -Only in tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl: _numeric_facets.h -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_numpunct.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_numpunct.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_numpunct.h Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_numpunct.h Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,170 @@ -+/* -+ * Copyright (c) 1999 -+ * Silicon Graphics Computer Systems, Inc. -+ * -+ * Copyright (c) 1999 -+ * Boris Fomitchev -+ * -+ * This material is provided "as is", with absolutely no warranty expressed -+ * or implied. Any use is at your own risk. -+ * -+ * Permission to use or copy this software for any purpose is hereby granted -+ * without fee, provided the above notices are retained on all copies. -+ * Permission to modify the code and to distribute modified code is granted, -+ * provided the above notices are retained, and a notice that the code was -+ * modified is included with the above copyright notice. -+ * -+ */ -+// WARNING: This is an internal header file, included by other C++ -+// standard library headers. You should not attempt to use this header -+// file directly. -+ -+ -+#ifndef _STLP_INTERNAL_NUMPUNCT_H -+#define _STLP_INTERNAL_NUMPUNCT_H -+ -+#ifndef _STLP_IOS_BASE_H -+# include -+#endif -+ -+# ifndef _STLP_C_LOCALE_H -+# include -+# endif -+ -+#ifndef _STLP_STRING_H -+# include -+#endif -+ -+_STLP_BEGIN_NAMESPACE -+ -+//---------------------------------------------------------------------- -+// numpunct facets -+ -+template class numpunct {}; -+template class numpunct_byname {}; -+template class num_get; -+ -+_STLP_TEMPLATE_NULL -+class _STLP_CLASS_DECLSPEC numpunct : public locale::facet -+{ -+ friend class _Locale; -+# ifndef _STLP_NO_FRIEND_TEMPLATES -+ template friend class num_get; -+# endif -+public: -+ typedef char char_type; -+ typedef string string_type; -+ -+ explicit numpunct(size_t __refs = 0) : _BaseFacet(__refs) {} -+ -+ char decimal_point() const { return do_decimal_point(); } -+ char thousands_sep() const { return do_thousands_sep(); } -+ string grouping() const { return do_grouping(); } -+ string truename() const { return do_truename(); } -+ string falsename() const { return do_falsename(); } -+ -+ _STLP_STATIC_MEMBER_DECLSPEC static locale::id id; -+ -+# ifndef _STLP_NO_FRIEND_TEMPLATES -+protected: -+# endif -+ ~numpunct(); -+ -+ _STLP_STATIC_MEMBER_DECLSPEC static string _M_truename; -+ _STLP_STATIC_MEMBER_DECLSPEC static string _M_falsename; -+ _STLP_STATIC_MEMBER_DECLSPEC static string _M_grouping; -+ -+ virtual char do_decimal_point() const; -+ virtual char do_thousands_sep() const; -+ virtual string do_grouping() const; -+ virtual string do_truename() const; -+ virtual string do_falsename() const; -+}; -+ -+# if ! defined (_STLP_NO_WCHAR_T) -+ -+_STLP_TEMPLATE_NULL -+class _STLP_CLASS_DECLSPEC numpunct : public locale::facet -+{ -+ friend class _Locale; -+public: -+ typedef wchar_t char_type; -+ typedef wstring string_type; -+ -+ explicit numpunct(size_t __refs = 0) : _BaseFacet(__refs) {} -+ -+ wchar_t decimal_point() const { return do_decimal_point(); } -+ wchar_t thousands_sep() const { return do_thousands_sep(); } -+ string grouping() const { return do_grouping(); } -+ wstring truename() const { return do_truename(); } -+ wstring falsename() const { return do_falsename(); } -+ -+ _STLP_STATIC_MEMBER_DECLSPEC static locale::id id; -+ -+protected: -+ _STLP_STATIC_MEMBER_DECLSPEC static wstring _M_truename; -+ _STLP_STATIC_MEMBER_DECLSPEC static wstring _M_falsename; -+ _STLP_STATIC_MEMBER_DECLSPEC static string _M_grouping; -+ -+ ~numpunct(); -+ -+ virtual wchar_t do_decimal_point() const; -+ virtual wchar_t do_thousands_sep() const; -+ virtual string do_grouping() const; -+ virtual wstring do_truename() const; -+ virtual wstring do_falsename() const; -+}; -+ -+# endif /* WCHAR_T */ -+ -+_STLP_TEMPLATE_NULL -+class _STLP_CLASS_DECLSPEC numpunct_byname : public numpunct { -+public: -+ typedef char char_type; -+ typedef string string_type; -+ -+ explicit numpunct_byname(const char* __name, size_t __refs = 0); -+ -+protected: -+ -+ ~numpunct_byname(); -+ -+ virtual char do_decimal_point() const; -+ virtual char do_thousands_sep() const; -+ virtual string do_grouping() const; -+ -+private: -+ _Locale_numeric* _M_numeric; -+}; -+ -+# ifndef _STLP_NO_WCHAR_T -+_STLP_TEMPLATE_NULL -+class _STLP_CLASS_DECLSPEC numpunct_byname: public numpunct { -+public: -+ typedef wchar_t char_type; -+ typedef wstring string_type; -+ -+ explicit numpunct_byname(const char* __name, size_t __refs = 0); -+ -+protected: -+ -+ ~numpunct_byname(); -+ -+ virtual wchar_t do_decimal_point() const; -+ virtual wchar_t do_thousands_sep() const; -+ virtual string do_grouping() const; -+ -+private: -+ _Locale_numeric* _M_numeric; -+}; -+ -+# endif /* WCHAR_T */ -+ -+_STLP_END_NAMESPACE -+ -+#endif /* _STLP_NUMPUNCT_H */ -+ -+// Local Variables: -+// mode:C++ -+// End: -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_ostream.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_ostream.c ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_ostream.c Sat Feb 24 10:45:01 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_ostream.c Sun Aug 11 18:59:24 2002 -@@ -15,12 +15,36 @@ - * modified is included with the above copyright notice. - * - */ --#ifndef __STL_OSTREAM_C --#define __STL_OSTREAM_C -+#ifndef _STLP_OSTREAM_C -+#define _STLP_OSTREAM_C - --#include // For num_put<> - --__STL_BEGIN_NAMESPACE -+#ifndef _STLP_INTERNAL_OSTREAM_H -+# include -+#endif -+ -+#if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) -+ -+#if !defined (_STLP_INTERNAL_NUM_PUT_H) -+# include // For basic_streambuf and iterators -+#endif -+ -+_STLP_BEGIN_NAMESPACE -+ -+// Helper functions for istream<>::sentry constructor. -+template -+bool -+_M_init(basic_ostream<_CharT, _Traits>& __str) { -+ if (__str.good()) { -+ // boris : check if this is needed ! -+ if (!__str.rdbuf()) -+ __str.setstate(ios_base::badbit); -+ if (__str.tie()) -+ __str.tie()->flush(); -+ return __str.good(); -+ } else -+ return false; -+} - - //---------------------------------------------------------------------- - // Definitions of non-inline member functions. -@@ -76,23 +100,23 @@ - const ptrdiff_t __avail = __from->egptr() - __from->gptr(); - - streamsize __nwritten; -- __STL_TRY { -+ _STLP_TRY { - __nwritten = __to->sputn(__from->gptr(), __avail); -- __from->gbump(__nwritten); -+ __from->gbump((int)__nwritten); - } -- __STL_CATCH_ALL { -+ _STLP_CATCH_ALL { - this->_M_handle_exception(ios_base::badbit); - return __any_inserted; - } - - if (__nwritten == __avail) { -- __STL_TRY { -+ _STLP_TRY { - if (this->_S_eof(__from->sgetc())) - return true; - else - __any_inserted = true; - } -- __STL_CATCH_ALL { -+ _STLP_CATCH_ALL { - this->_M_handle_exception(ios_base::failbit); - return false; - } -@@ -119,10 +143,10 @@ - - while (true) { - int_type __c; -- __STL_TRY { -+ _STLP_TRY { - __c = __from->sbumpc(); - } -- __STL_CATCH_ALL { -+ _STLP_CATCH_ALL { - this->_M_handle_exception(ios_base::failbit); - return __any_inserted; - } -@@ -132,19 +156,19 @@ - - else { - int_type __tmp; -- __STL_TRY { -+ _STLP_TRY { - __tmp = __to->sputc(__c); - } -- __STL_CATCH_ALL { -+ _STLP_CATCH_ALL { - this->_M_handle_exception(ios_base::badbit); - return __any_inserted; - } - - if (this->_S_eof(__tmp)) { -- __STL_TRY { -+ _STLP_TRY { - /* __tmp = */ __from->sputbackc(__c); - } -- __STL_CATCH_ALL { -+ _STLP_CATCH_ALL { - this->_M_handle_exception(ios_base::badbit); - return __any_inserted; - } -@@ -158,7 +182,7 @@ - // Helper function for numeric output. - - template --basic_ostream<_CharT, _Traits>& __STL_CALL -+basic_ostream<_CharT, _Traits>& _STLP_CALL - _M_put_num(basic_ostream<_CharT, _Traits>& __os, _Number __x) - { - typedef typename basic_ostream<_CharT, _Traits>::sentry _Sentry; -@@ -166,20 +190,14 @@ - bool __failed = true; - - if (__sentry) { -- -- __STL_TRY { -+ _STLP_TRY { - typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> > _NumPut; -- __failed = (use_facet< -- _NumPut -- >( -- __os.getloc()) -- ).put( -- ostreambuf_iterator<_CharT, _Traits>(__os), -- __os, __os.fill(), -- __x).failed(); -- -+ __failed = (use_facet<_NumPut>(__os.getloc())).put( -+ ostreambuf_iterator<_CharT, _Traits>(__os.rdbuf()), -+ __os, __os.fill(), -+ __x).failed(); - } -- __STL_CATCH_ALL { -+ _STLP_CATCH_ALL { - __os._M_handle_exception(ios_base::badbit); - } - } -@@ -188,16 +206,29 @@ - return __os; - } - -+# if defined (_STLP_USE_TEMPLATE_EXPORT) && defined (__BUILDING_STLPORT) -+_STLP_EXPORT_TEMPLATE _STLP_DECLSPEC basic_ostream >& _STLP_CALL -+_M_put_num(basic_ostream >&, unsigned long); -+_STLP_EXPORT_TEMPLATE _STLP_DECLSPEC basic_ostream >& _STLP_CALL -+_M_put_num(basic_ostream >&, long); -+# if defined (_STLP_LONG_LONG) -+_STLP_EXPORT_TEMPLATE _STLP_DECLSPEC basic_ostream >& _STLP_CALL -+_M_put_num(basic_ostream >&, unsigned _STLP_LONG_LONG); -+_STLP_EXPORT_TEMPLATE _STLP_DECLSPEC basic_ostream >& _STLP_CALL -+_M_put_num(basic_ostream >&, _STLP_LONG_LONG ); -+# endif -+# endif -+ - template - void basic_ostream<_CharT, _Traits>::_M_put_char(_CharT __c) - { - sentry __sentry(*this); - if (__sentry) { - bool __failed = true; -- __STL_TRY { -+ _STLP_TRY { - streamsize __npad = this->width() > 0 ? this->width() - 1 : 0; -- -- if (__npad <= 1) -+ // if (__npad <= 1) -+ if (__npad == 0) - __failed = this->_S_eof(this->rdbuf()->sputc(__c)); - else if ((this->flags() & ios_base::adjustfield) == ios_base::left) { - __failed = this->_S_eof(this->rdbuf()->sputc(__c)); -@@ -211,7 +242,7 @@ - - this->width(0); - } -- __STL_CATCH_ALL { -+ _STLP_CATCH_ALL { - this->_M_handle_exception(ios_base::badbit); - } - -@@ -229,7 +260,7 @@ - streamsize __n = _Traits::length(__s); - streamsize __npad = this->width() > __n ? this->width() - __n : 0; - -- __STL_TRY { -+ _STLP_TRY { - if (__npad == 0) - __failed = this->rdbuf()->sputn(__s, __n) != __n; - else if ((this->flags() & ios_base::adjustfield) == ios_base::left) { -@@ -244,7 +275,7 @@ - - this->width(0); - } -- __STL_CATCH_ALL { -+ _STLP_CATCH_ALL { - this->_M_handle_exception(ios_base::badbit); - } - -@@ -262,7 +293,7 @@ - streamsize __n = char_traits::length(__s); - streamsize __npad = this->width() > __n ? this->width() - __n : 0; - -- __STL_TRY { -+ _STLP_TRY { - if (__npad == 0) - __failed = !this->_M_put_widen_aux(__s, __n); - else if ((this->flags() & ios_base::adjustfield) == ios_base::left) { -@@ -277,7 +308,7 @@ - - this->width(0); - } -- __STL_CATCH_ALL { -+ _STLP_CATCH_ALL { - this->_M_handle_exception(ios_base::badbit); - } - -@@ -307,10 +338,10 @@ - bool __failed = true; - - if (__sentry) { -- __STL_TRY { -+ _STLP_TRY { - __failed = this->_S_eof(this->rdbuf()->sputc(__c)); - } -- __STL_CATCH_ALL { -+ _STLP_CATCH_ALL { - this->_M_handle_exception(ios_base::badbit); - } - } -@@ -330,10 +361,10 @@ - bool __failed = true; - - if (__sentry) { -- __STL_TRY { -+ _STLP_TRY { - __failed = this->rdbuf()->sputn(__s, __n) != __n; - } -- __STL_CATCH_ALL { -+ _STLP_CATCH_ALL { - this->_M_handle_exception(ios_base::badbit); - } - } -@@ -344,8 +375,8 @@ - return *this; - } - -+_STLP_END_NAMESPACE - --__STL_END_NAMESPACE -- -+#endif /* defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) */ - --#endif /* __STL_OSTREAM_C */ -+#endif /* _STLP_OSTREAM_C */ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_ostream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_ostream.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_ostream.h Sat Feb 24 10:45:01 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_ostream.h Sun Aug 11 18:59:24 2002 -@@ -17,24 +17,32 @@ - */ - - --#ifndef __SGI_STL_OSTREAM_H --#define __SGI_STL_OSTREAM_H -+#ifndef _STLP_INTERNAL_OSTREAM_H -+#define _STLP_INTERNAL_OSTREAM_H - --#include // For basic_ios<>. Includes . --#include // Needed for class numeric_limits<>. --#include // For basic_streambuf. -+#ifndef _STLP_INTERNAL_IOS_H -+# include // For basic_ios<>. Includes . -+#endif -+ -+#ifndef _STLP_INTERNAL_OSTREAMBUF_ITERATOR_H -+# include -+#endif - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - template --basic_ostream<_CharT, _Traits>& __STL_CALL -+basic_ostream<_CharT, _Traits>& _STLP_CALL - _M_put_num(basic_ostream<_CharT, _Traits>& __os, _Number __x); - --# if defined (__STL_USE_TEMPLATE_EXPORT) -+# if defined (_STLP_USE_TEMPLATE_EXPORT) - template - class _Osentry; - # endif - -+template -+bool -+_M_init(basic_ostream<_CharT, _Traits>& __str); -+ - //---------------------------------------------------------------------- - // class basic_ostream<> - -@@ -56,9 +64,9 @@ - ~basic_ostream(); - - public: // Hooks for manipulators. -- typedef basic_ios<_CharT, _Traits>& (__STL_CALL *__ios_fn)(basic_ios<_CharT, _Traits>&); -- typedef ios_base& (__STL_CALL *__ios_base_fn)(ios_base&); -- typedef _Self& (__STL_CALL *__ostream_fn)(_Self&); -+ typedef basic_ios<_CharT, _Traits>& (_STLP_CALL *__ios_fn)(basic_ios<_CharT, _Traits>&); -+ typedef ios_base& (_STLP_CALL *__ios_base_fn)(ios_base&); -+ typedef _Self& (_STLP_CALL *__ostream_fn)(_Self&); - _Self& operator<< (__ostream_fn __f) { return __f(*this); } - _Self & operator<< (__ios_base_fn __f) { __f(*this); return *this; } - _Self& operator<< (__ios_fn __ff) { __ff(*this); return *this; } -@@ -83,39 +91,31 @@ - public: // Formatted output. - // Formatted output from a streambuf. - _Self& operator<<(basic_streambuf<_CharT, _Traits>* __buf); -- -+# ifndef _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER -+ // this is needed for compiling with option char = unsigned -+ _Self& operator<<(unsigned char __x) { _M_put_char(__x); return *this; } -+# endif - _Self& operator<<(short __x) { return _M_put_num(*this, __STATIC_CAST(long,__x)); } - _Self& operator<<(unsigned short __x) { return _M_put_num(*this, __STATIC_CAST(unsigned long,__x)); } - _Self& operator<<(int __x) { return _M_put_num(*this, __STATIC_CAST(long,__x)); } - _Self& operator<<(unsigned int __x) { return _M_put_num(*this, __STATIC_CAST(unsigned long,__x)); } - _Self& operator<<(long __x) { return _M_put_num(*this, __x); } - _Self& operator<<(unsigned long __x) { return _M_put_num(*this, __x); } --#ifdef __STL_LONG_LONG -- _Self& operator<< (long long __x) { return _M_put_num(*this, __x); } -- _Self& operator<< (unsigned long long __x) { return _M_put_num(*this, __x); } -+#ifdef _STLP_LONG_LONG -+ _Self& operator<< (_STLP_LONG_LONG __x) { return _M_put_num(*this, __x); } -+ _Self& operator<< (unsigned _STLP_LONG_LONG __x) { return _M_put_num(*this, __x); } - #endif - _Self& operator<<(float __x) - { return _M_put_num(*this, __STATIC_CAST(double,__x)); } - _Self& operator<<(double __x) { return _M_put_num(*this, __x); } -+# ifndef _STLP_NO_LONG_DOUBLE - _Self& operator<<(long double __x) { return _M_put_num(*this, __x); } -+# endif - _Self& operator<<(const void* __x) { return _M_put_num(*this, __x); } --# ifndef __STL_NO_BOOL -+# ifndef _STLP_NO_BOOL - _Self& operator<<(bool __x) { return _M_put_num(*this, __x); } - # endif - --#if (defined(__MRC__)||defined(__SC__)) //*TY 03/05/2000 - added workaround for mpw compilers;they have difficulty finding appropriate operator if defined as member and non-member functions --basic_ostream<_CharT, _Traits>& --operator<<( const _CharT* __s) { -- _M_put_nowiden(__s); -- return *this; --} --basic_ostream<_CharT, _Traits>& --operator<<(_CharT __c) { -- _M_put_char(__c); -- return *this; --} --#endif //*TY 03/05/2000 - -- - public: // Buffer positioning and manipulation. - _Self& flush() { - if (this->rdbuf()) -@@ -142,7 +142,7 @@ - return *this; - } - --#if defined (__STL_USE_TEMPLATE_EXPORT) -+#if defined (_STLP_USE_TEMPLATE_EXPORT) - // If we are using DLL specs, we have not to use inner classes - // end class declaration here - typedef _Osentry<_CharT, _Traits> sentry; -@@ -157,25 +157,18 @@ - # endif - private: - basic_ostream<_CharT, _Traits>& _M_str; -- basic_streambuf<_CharT, _Traits>* _M_buf; -+ // basic_streambuf<_CharT, _Traits>* _M_buf; - bool _M_ok; - public: - explicit sentry(basic_ostream<_CharT, _Traits>& __str) -- : _M_str(__str), _M_buf(__str.rdbuf()), _M_ok(false) -+ : _M_str(__str), /* _M_buf(__str.rdbuf()), */ _M_ok(_M_init(__str)) - { -- if (_M_str.good()) { -- if (!_M_buf) -- _M_str.setstate(ios_base::badbit); -- if (_M_str.tie()) -- _M_str.tie()->flush(); -- _M_ok = _M_str.good(); -- } - } - - ~sentry() { - if (_M_str.flags() & ios_base::unitbuf) --# ifndef __STL_INCOMPLETE_EXCEPTION_HEADER -- if (!__STL_VENDOR_EXCEPT_STD::uncaught_exception()) -+# ifndef _STLP_INCOMPLETE_EXCEPTION_HEADER -+ if (!_STLP_VENDOR_EXCEPT_STD::uncaught_exception()) - # endif - _M_str.flush(); - } -@@ -185,91 +178,131 @@ - sentry(const _Self& __s) : _M_str (__s._M_str) {}; - void operator=(const _Self&) {}; - }; --# if defined (__STL_USE_TEMPLATE_EXPORT) -+# if defined (_STLP_USE_TEMPLATE_EXPORT) - # undef sentry - # else -- // close basic_istream class definition here -+ // close basic_ostream class definition here - }; - # endif - --# if defined (__STL_USE_TEMPLATE_EXPORT) --__STL_EXPORT_TEMPLATE_CLASS basic_ostream >; --__STL_EXPORT_TEMPLATE_CLASS _Osentry >; --# if !defined (__STL_NO_WCHAR_T) --__STL_EXPORT_TEMPLATE_CLASS basic_ostream >; --__STL_EXPORT_TEMPLATE_CLASS _Osentry >; -+# if defined (_STLP_USE_TEMPLATE_EXPORT) -+_STLP_EXPORT_TEMPLATE_CLASS basic_ostream >; -+_STLP_EXPORT_TEMPLATE_CLASS _Osentry >; -+# if !defined (_STLP_NO_WCHAR_T) -+_STLP_EXPORT_TEMPLATE_CLASS basic_ostream >; -+_STLP_EXPORT_TEMPLATE_CLASS _Osentry >; - # endif --# endif /* __STL_USE_TEMPLATE_EXPORT */ -+# endif /* _STLP_USE_TEMPLATE_EXPORT */ -+ -+template -+inline basic_streambuf<_CharT, _Traits>* _STLP_CALL -+_M_get_ostreambuf(basic_ostream<_CharT, _Traits>& __St) -+{ -+ return __St.rdbuf(); -+} - - // Non-member functions. --# if !(defined(__MRC__)||defined(__SC__)) //*TY 03/05/2000 - added workaround for mpw compilers;they have dif -+ - template --inline basic_ostream<_CharT, _Traits>& __STL_CALL -+inline basic_ostream<_CharT, _Traits>& _STLP_CALL - operator<<(basic_ostream<_CharT, _Traits>& __os, _CharT __c) { - __os._M_put_char(__c); - return __os; - } --# endif --# ifndef __STL_NO_FUNCTION_TMPL_PARTIAL_ORDER -+ -+template -+inline basic_ostream<_CharT, _Traits>& _STLP_CALL -+operator<<(basic_ostream<_CharT, _Traits>& __os, const _CharT* __s) { -+ __os._M_put_nowiden(__s); -+ return __os; -+} -+ -+# ifdef _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER -+// some specializations -+ -+inline basic_ostream >& _STLP_CALL -+operator<<(basic_ostream >& __os, char __c) { -+ __os._M_put_char(__c); -+ return __os; -+} -+ -+inline basic_ostream >& _STLP_CALL -+operator<<(basic_ostream >& __os, signed char __c) { -+ __os._M_put_char(__c); -+ return __os; -+} -+ -+inline basic_ostream >& _STLP_CALL -+operator<<(basic_ostream >& __os, unsigned char __c) { -+ __os._M_put_char(__c); -+ return __os; -+} -+ -+inline basic_ostream >& _STLP_CALL -+operator<<(basic_ostream >& __os, const char* __s) { -+ __os._M_put_nowiden(__s); -+ return __os; -+} -+ -+inline basic_ostream >& _STLP_CALL -+operator<<(basic_ostream >& __os, const signed char* __s) { -+ __os._M_put_nowiden(__REINTERPRET_CAST(const char*,__s)); -+ return __os; -+} -+ -+inline basic_ostream >& -+operator<<(basic_ostream >& __os, const unsigned char* __s) { -+ __os._M_put_nowiden(__REINTERPRET_CAST(const char*,__s)); -+ return __os; -+} -+ -+# else - - // also for compilers who might use that - template --inline basic_ostream<_CharT, _Traits>& __STL_CALL -+inline basic_ostream<_CharT, _Traits>& _STLP_CALL - operator<<(basic_ostream<_CharT, _Traits>& __os, char __c) { - __os._M_put_char(__os.widen(__c)); - return __os; - } - - template --inline basic_ostream& __STL_CALL -+inline basic_ostream& _STLP_CALL - operator<<(basic_ostream& __os, char __c) { - __os._M_put_char(__c); - return __os; - } - - template --inline basic_ostream& __STL_CALL -+inline basic_ostream& _STLP_CALL - operator<<(basic_ostream& __os, signed char __c) { - __os._M_put_char(__c); - return __os; - } - - template --inline basic_ostream& __STL_CALL -+inline basic_ostream& _STLP_CALL - operator<<(basic_ostream& __os, unsigned char __c) { - __os._M_put_char(__c); - return __os; - } - --# endif /* __STL_NO_FUNCTION_TMPL_PARTIAL_ORDER */ -- --#if !(defined(__MRC__)||defined(__SC__)) --template --inline basic_ostream<_CharT, _Traits>& __STL_CALL --operator<<(basic_ostream<_CharT, _Traits>& __os, const _CharT* __s) { -- __os._M_put_nowiden(__s); -- return __os; --} --#endif -- --# ifndef __STL_NO_FUNCTION_TMPL_PARTIAL_ORDER -- - template --inline basic_ostream<_CharT, _Traits>& __STL_CALL -+inline basic_ostream<_CharT, _Traits>& _STLP_CALL - operator<<(basic_ostream<_CharT, _Traits>& __os, const char* __s) { - __os._M_put_widen(__s); - return __os; - } - - template --inline basic_ostream& __STL_CALL -+inline basic_ostream& _STLP_CALL - operator<<(basic_ostream& __os, const char* __s) { - __os._M_put_nowiden(__s); - return __os; - } - - template --inline basic_ostream& __STL_CALL -+inline basic_ostream& _STLP_CALL - operator<<(basic_ostream& __os, const signed char* __s) { - __os._M_put_nowiden(__REINTERPRET_CAST(const char*,__s)); - return __os; -@@ -281,13 +314,13 @@ - __os._M_put_nowiden(__REINTERPRET_CAST(const char*,__s)); - return __os; - } --# endif /* __STL_NO_FUNCTION_TMPL_PARTIAL_ORDER */ -+# endif /* _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER */ - - //---------------------------------------------------------------------- - // basic_ostream manipulators. - - template --inline basic_ostream<_CharT, _Traits>& __STL_CALL -+inline basic_ostream<_CharT, _Traits>& _STLP_CALL - endl(basic_ostream<_CharT, _Traits>& __os) { - __os.put(__os.widen('\n')); - __os.flush(); -@@ -295,28 +328,28 @@ - } - - template --inline basic_ostream<_CharT, _Traits>& __STL_CALL -+inline basic_ostream<_CharT, _Traits>& _STLP_CALL - ends(basic_ostream<_CharT, _Traits>& __os) { -- __os.put(__STL_DEFAULT_CONSTRUCTED(_CharT)); -+ __os.put(_STLP_DEFAULT_CONSTRUCTED(_CharT)); - return __os; - } - - template --inline basic_ostream<_CharT, _Traits>& __STL_CALL -+inline basic_ostream<_CharT, _Traits>& _STLP_CALL - flush(basic_ostream<_CharT, _Traits>& __os) { - __os.flush(); - return __os; - } - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --# undef __STL_MANIP_INLINE -+# undef _STLP_MANIP_INLINE - --# if !defined (__STL_LINK_TIME_INSTANTIATION) -+#if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) && !defined (_STLP_LINK_TIME_INSTANTIATION) - # include - # endif - --#endif /* __SGI_STL_OSTREAM_H */ -+#endif /* _STLP_INTERNAL_OSTREAM_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_ostreambuf_iterator.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_ostreambuf_iterator.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_ostreambuf_iterator.h Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_ostreambuf_iterator.h Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,97 @@ -+/* -+ * Copyright (c) 1999 -+ * Silicon Graphics Computer Systems, Inc. -+ * -+ * Copyright (c) 1999 -+ * Boris Fomitchev -+ * -+ * This material is provided "as is", with absolutely no warranty expressed -+ * or implied. Any use is at your own risk. -+ * -+ * Permission to use or copy this software for any purpose is hereby granted -+ * without fee, provided the above notices are retained on all copies. -+ * Permission to modify the code and to distribute modified code is granted, -+ * provided the above notices are retained, and a notice that the code was -+ * modified is included with the above copyright notice. -+ * -+ */ -+// WARNING: This is an internal header file, included by other C++ -+// standard library headers. You should not attempt to use this header -+// file directly. -+ -+ -+#ifndef _STLP_INTERNAL_OSTREAMBUF_ITERATOR_H -+#define _STLP_INTERNAL_OSTREAMBUF_ITERATOR_H -+ -+#ifndef _STLP_INTERNAL_STREAMBUF -+# include -+#endif -+ -+_STLP_BEGIN_NAMESPACE -+ -+template -+extern basic_streambuf<_CharT, _Traits>* _STLP_CALL _M_get_ostreambuf(basic_ostream<_CharT, _Traits>& ) ; -+ -+// The default template argument is declared in iosfwd -+template -+class ostreambuf_iterator -+{ -+public: -+ typedef _CharT char_type; -+ typedef _Traits traits_type; -+ typedef typename _Traits::int_type int_type; -+ typedef basic_streambuf<_CharT, _Traits> streambuf_type; -+ typedef basic_ostream<_CharT, _Traits> ostream_type; -+ -+ typedef output_iterator_tag iterator_category; -+ typedef void value_type; -+ typedef void difference_type; -+ typedef void pointer; -+ typedef void reference; -+ -+public: -+ ostreambuf_iterator(streambuf_type* __buf) _STLP_NOTHROW : _M_buf(__buf), _M_ok(__buf!=0) {} -+ // ostreambuf_iterator(ostream_type& __o) _STLP_NOTHROW : _M_buf(_M_get_ostreambuf(__o)), _M_ok(_M_buf != 0) {} -+ inline ostreambuf_iterator(ostream_type& __o) _STLP_NOTHROW; -+ -+ ostreambuf_iterator<_CharT, _Traits>& operator=(char_type __c) { -+ _M_ok = _M_ok && !traits_type::eq_int_type(_M_buf->sputc(__c), -+ traits_type::eof()); -+ return *this; -+ } -+ -+ ostreambuf_iterator<_CharT, _Traits>& operator*() { return *this; } -+ ostreambuf_iterator<_CharT, _Traits>& operator++() { return *this; } -+ ostreambuf_iterator<_CharT, _Traits>& operator++(int) { return *this; } -+ -+ bool failed() const { return !_M_ok; } -+ -+private: -+ streambuf_type* _M_buf; -+ bool _M_ok; -+}; -+ -+template -+inline ostreambuf_iterator<_CharT, _Traits>::ostreambuf_iterator(basic_ostream<_CharT, _Traits>& __o) _STLP_NOTHROW : _M_buf(_M_get_ostreambuf(__o)), _M_ok(_M_buf != 0) {} -+ -+# if defined (_STLP_USE_TEMPLATE_EXPORT) -+_STLP_EXPORT_TEMPLATE_CLASS ostreambuf_iterator >; -+# if defined (INSTANTIATE_WIDE_STREAMS) -+_STLP_EXPORT_TEMPLATE_CLASS ostreambuf_iterator >; -+# endif -+# endif /* _STLP_USE_TEMPLATE_EXPORT */ -+ -+# ifdef _STLP_USE_OLD_HP_ITERATOR_QUERIES -+template -+inline output_iterator_tag _STLP_CALL -+iterator_category(const ostreambuf_iterator<_CharT, _Traits>&) { return output_iterator_tag(); } -+# endif -+ -+_STLP_END_NAMESPACE -+ -+#endif /* _STLP_INTERNAL_OSTREAMBUF_ITERATOR_H */ -+ -+// Local Variables: -+// mode:C++ -+// End: -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_pair.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_pair.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_pair.h Sat Feb 24 10:45:01 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_pair.h Sun Aug 11 18:59:24 2002 -@@ -28,11 +28,10 @@ - * You should not attempt to use it directly. - */ - --#ifndef __SGI_STL_INTERNAL_PAIR_H --#define __SGI_STL_INTERNAL_PAIR_H -+#ifndef _STLP_INTERNAL_PAIR_H -+#define _STLP_INTERNAL_PAIR_H - -- --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - template - struct pair { -@@ -41,14 +40,14 @@ - - _T1 first; - _T2 second; --# if defined (__STL_CONST_CONSTRUCTOR_BUG) -+# if defined (_STLP_CONST_CONSTRUCTOR_BUG) - pair() {} - # else - pair() : first(_T1()), second(_T2()) {} - # endif - pair(const _T1& __a, const _T2& __b) : first(__a), second(__b) {} - --#if defined (__STL_MEMBER_TEMPLATES) && !(defined (__STL_MSVC) && (__STL_MSVC < 1200)) -+#if defined (_STLP_MEMBER_TEMPLATES) && !(defined (_STLP_MSVC) && (_STLP_MSVC < 1200)) - template - pair(const pair<_U1, _U2>& __p) : first(__p.first), second(__p.second) {} - -@@ -58,44 +57,44 @@ - }; - - template --inline bool __STL_CALL operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) -+inline bool _STLP_CALL operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) - { - return __x.first == __y.first && __x.second == __y.second; - } - - template --inline bool __STL_CALL operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) -+inline bool _STLP_CALL operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) - { - return __x.first < __y.first || - (!(__y.first < __x.first) && __x.second < __y.second); - } - --#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE -+#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE - - template --inline bool __STL_CALL operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { -+inline bool _STLP_CALL operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { - return !(__x == __y); - } - - template --inline bool __STL_CALL operator>(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { -+inline bool _STLP_CALL operator>(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { - return __y < __x; - } - - template --inline bool __STL_CALL operator<=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { -+inline bool _STLP_CALL operator<=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { - return !(__y < __x); - } - - template --inline bool __STL_CALL operator>=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { -+inline bool _STLP_CALL operator>=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { - return !(__x < __y); - } - --#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ -+#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ - - --#if defined(__STL_FUNCTION_TMPL_PARTIAL_ORDER) && ! defined (__STL_NO_EXTENSIONS) -+#if defined(_STLP_FUNCTION_TMPL_PARTIAL_ORDER) && ! defined (_STLP_NO_EXTENSIONS) && ! defined (__BORLANDC__) - template - inline pair<_T1, _T2 const*> make_pair(_T1 const& __x, - _T2 const (&__y)[_Sz]) -@@ -120,15 +119,42 @@ - #endif - - template --inline pair<_T1, _T2> __STL_CALL make_pair(const _T1& __x, const _T2& __y) -+inline pair<_T1, _T2> _STLP_CALL make_pair(const _T1& __x, const _T2& __y) - { - return pair<_T1, _T2>(__x, __y); - } - - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE -+ -+# if defined (_STLP_USE_NAMESPACES) || ! defined (_STLP_USE_SEPARATE_RELOPS_NAMESPACE) -+_STLP_BEGIN_RELOPS_NAMESPACE -+ -+template -+inline bool _STLP_CALL operator!=(const _Tp& __x, const _Tp& __y) { -+ return !(__x == __y); -+} -+ -+template -+inline bool _STLP_CALL operator>(const _Tp& __x, const _Tp& __y) { -+ return __y < __x; -+} -+ -+template -+inline bool _STLP_CALL operator<=(const _Tp& __x, const _Tp& __y) { -+ return !(__y < __x); -+} -+ -+template -+inline bool _STLP_CALL operator>=(const _Tp& __x, const _Tp& __y) { -+ return !(__x < __y); -+} -+ -+_STLP_END_RELOPS_NAMESPACE -+ -+# endif - --#endif /* __SGI_STL_INTERNAL_PAIR_H */ -+#endif /* _STLP_INTERNAL_PAIR_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_prolog.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_prolog.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_prolog.h Sat Feb 24 10:45:01 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_prolog.h Sun Aug 11 18:59:25 2002 -@@ -6,13 +6,12 @@ - /* We undef "std" on entry , as STLport headers may include native ones. */ - # undef std - --# ifndef __STL_CONFIG_H -+# ifndef _STLP_CONFIG_H - # include - # endif - - /* If the platform provides any specific prolog actions, - * like #pragmas, do include platform-specific prolog file */ --# if defined (__STL_HAS_SPECIFIC_PROLOG_EPILOG) -+# if defined (_STLP_HAS_SPECIFIC_PROLOG_EPILOG) - # include - # endif -- -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_pthread_alloc.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_pthread_alloc.c ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_pthread_alloc.c Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_pthread_alloc.c Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,252 @@ -+/* -+ * -+ * Copyright (c) 1996,1997 -+ * Silicon Graphics Computer Systems, Inc. -+ * -+ * Copyright (c) 1997 -+ * Moscow Center for SPARC Technology -+ * -+ * Copyright (c) 1999 -+ * Boris Fomitchev -+ * -+ * This material is provided "as is", with absolutely no warranty expressed -+ * or implied. Any use is at your own risk. -+ * -+ * Permission to use or copy this software for any purpose is hereby granted -+ * without fee, provided the above notices are retained on all copies. -+ * Permission to modify the code and to distribute modified code is granted, -+ * provided the above notices are retained, and a notice that the code was -+ * modified is included with the above copyright notice. -+ * -+ */ -+#ifndef _STLP_PTHREAD_ALLOC_C -+#define _STLP_PTHREAD_ALLOC_C -+ -+#ifdef __WATCOMC__ -+#pragma warning 13 9 -+#pragma warning 367 9 -+#pragma warning 368 9 -+#endif -+ -+#ifndef _STLP_PTHREAD_ALLOC_H -+# include -+#endif -+ -+# if defined (_STLP_EXPOSE_GLOBALS_IMPLEMENTATION) -+ -+# include -+ -+_STLP_BEGIN_NAMESPACE -+ -+template -+void _Pthread_alloc<_Max_size>::_S_destructor(void * __instance) -+{ -+ _M_lock __lock_instance; // Need to acquire lock here. -+ _Pthread_alloc_per_thread_state<_Max_size>* __s = -+ (_Pthread_alloc_per_thread_state<_Max_size> *)__instance; -+ __s -> __next = _S_free_per_thread_states; -+ _S_free_per_thread_states = __s; -+} -+ -+template -+_Pthread_alloc_per_thread_state<_Max_size> * -+_Pthread_alloc<_Max_size>::_S_new_per_thread_state() -+{ -+ /* lock already held here. */ -+ if (0 != _S_free_per_thread_states) { -+ _Pthread_alloc_per_thread_state<_Max_size> *__result = -+ _S_free_per_thread_states; -+ _S_free_per_thread_states = _S_free_per_thread_states -> __next; -+ return __result; -+ } else { -+ return _STLP_NEW _Pthread_alloc_per_thread_state<_Max_size>; -+ } -+} -+ -+template -+_Pthread_alloc_per_thread_state<_Max_size> * -+_Pthread_alloc<_Max_size>::_S_get_per_thread_state() -+{ -+ -+ int __ret_code; -+ __state_type* __result; -+ -+ if (_S_key_initialized && (__result = (__state_type*) pthread_getspecific(_S_key))) -+ return __result; -+ -+ /*REFERENCED*/ -+ _M_lock __lock_instance; // Need to acquire lock here. -+ if (!_S_key_initialized) { -+ if (pthread_key_create(&_S_key, _S_destructor)) { -+ __THROW_BAD_ALLOC; // failed -+ } -+ _S_key_initialized = true; -+ } -+ -+ __result = _S_new_per_thread_state(); -+ __ret_code = pthread_setspecific(_S_key, __result); -+ if (__ret_code) { -+ if (__ret_code == ENOMEM) { -+ __THROW_BAD_ALLOC; -+ } else { -+ // EINVAL -+ _STLP_ABORT(); -+ } -+ } -+ return __result; -+} -+ -+/* We allocate memory in large chunks in order to avoid fragmenting */ -+/* the malloc heap too much. */ -+/* We assume that size is properly aligned. */ -+template -+char *_Pthread_alloc<_Max_size> -+::_S_chunk_alloc(size_t __p_size, size_t &__nobjs) -+{ -+ { -+ char * __result; -+ size_t __total_bytes; -+ size_t __bytes_left; -+ /*REFERENCED*/ -+ _M_lock __lock_instance; // Acquire lock for this routine -+ -+ __total_bytes = __p_size * __nobjs; -+ __bytes_left = _S_end_free - _S_start_free; -+ if (__bytes_left >= __total_bytes) { -+ __result = _S_start_free; -+ _S_start_free += __total_bytes; -+ return(__result); -+ } else if (__bytes_left >= __p_size) { -+ __nobjs = __bytes_left/__p_size; -+ __total_bytes = __p_size * __nobjs; -+ __result = _S_start_free; -+ _S_start_free += __total_bytes; -+ return(__result); -+ } else { -+ size_t __bytes_to_get = -+ 2 * __total_bytes + _S_round_up(_S_heap_size >> 4); -+ // Try to make use of the left-over piece. -+ if (__bytes_left > 0) { -+ _Pthread_alloc_per_thread_state<_Max_size>* __a = -+ (_Pthread_alloc_per_thread_state<_Max_size>*) -+ pthread_getspecific(_S_key); -+ __obj * volatile * __my_free_list = -+ __a->__free_list + _S_freelist_index(__bytes_left); -+ -+ ((__obj *)_S_start_free) -> __free_list_link = *__my_free_list; -+ *__my_free_list = (__obj *)_S_start_free; -+ } -+# ifdef _SGI_SOURCE -+ // Try to get memory that's aligned on something like a -+ // cache line boundary, so as to avoid parceling out -+ // parts of the same line to different threads and thus -+ // possibly different processors. -+ { -+ const int __cache_line_size = 128; // probable upper bound -+ __bytes_to_get &= ~(__cache_line_size-1); -+ _S_start_free = (char *)memalign(__cache_line_size, __bytes_to_get); -+ if (0 == _S_start_free) { -+ _S_start_free = (char *)__malloc_alloc<0>::allocate(__bytes_to_get); -+ } -+ } -+# else /* !SGI_SOURCE */ -+ _S_start_free = (char *)__malloc_alloc<0>::allocate(__bytes_to_get); -+# endif -+ _S_heap_size += __bytes_to_get; -+ _S_end_free = _S_start_free + __bytes_to_get; -+ } -+ } -+ // lock is released here -+ return(_S_chunk_alloc(__p_size, __nobjs)); -+} -+ -+ -+/* Returns an object of size n, and optionally adds to size n free list.*/ -+/* We assume that n is properly aligned. */ -+/* We hold the allocation lock. */ -+template -+void *_Pthread_alloc_per_thread_state<_Max_size> -+::_M_refill(size_t __n) -+{ -+ size_t __nobjs = 128; -+ char * __chunk = -+ _Pthread_alloc<_Max_size>::_S_chunk_alloc(__n, __nobjs); -+ __obj * volatile * __my_free_list; -+ __obj * __result; -+ __obj * __current_obj, * __next_obj; -+ int __i; -+ -+ if (1 == __nobjs) { -+ return(__chunk); -+ } -+ __my_free_list = __free_list -+ + _Pthread_alloc<_Max_size>::_S_freelist_index(__n); -+ -+ /* Build free list in chunk */ -+ __result = (__obj *)__chunk; -+ *__my_free_list = __next_obj = (__obj *)(__chunk + __n); -+ for (__i = 1; ; __i++) { -+ __current_obj = __next_obj; -+ __next_obj = (__obj *)((char *)__next_obj + __n); -+ if (__nobjs - 1 == __i) { -+ __current_obj -> __free_list_link = 0; -+ break; -+ } else { -+ __current_obj -> __free_list_link = __next_obj; -+ } -+ } -+ return(__result); -+} -+ -+template -+void *_Pthread_alloc<_Max_size> -+::reallocate(void *__p, size_t __old_sz, size_t __new_sz) -+{ -+ void * __result; -+ size_t __copy_sz; -+ -+ if (__old_sz > _Max_size -+ && __new_sz > _Max_size) { -+ return(realloc(__p, __new_sz)); -+ } -+ if (_S_round_up(__old_sz) == _S_round_up(__new_sz)) return(__p); -+ __result = allocate(__new_sz); -+ __copy_sz = __new_sz > __old_sz? __old_sz : __new_sz; -+ memcpy(__result, __p, __copy_sz); -+ deallocate(__p, __old_sz); -+ return(__result); -+} -+ -+#if defined (_STLP_STATIC_TEMPLATE_DATA) && (_STLP_STATIC_TEMPLATE_DATA > 0) -+ -+template -+_Pthread_alloc_per_thread_state<_Max_size> * _Pthread_alloc<_Max_size>::_S_free_per_thread_states = 0; -+ -+template -+pthread_key_t _Pthread_alloc<_Max_size>::_S_key =0; -+ -+template -+bool _Pthread_alloc<_Max_size>::_S_key_initialized = false; -+ -+template -+_STLP_mutex_base _Pthread_alloc<_Max_size>::_S_chunk_allocator_lock _STLP_MUTEX_INITIALIZER; -+ -+template -+char *_Pthread_alloc<_Max_size>::_S_start_free = 0; -+ -+template -+char *_Pthread_alloc<_Max_size>::_S_end_free = 0; -+ -+template -+size_t _Pthread_alloc<_Max_size>::_S_heap_size = 0; -+# endif -+ -+_STLP_END_NAMESPACE -+ -+# endif /* _STLP_EXPOSE_GLOBALS_IMPLEMENTATION */ -+ -+#endif /* _STLP_PTHREAD_ALLOC_C */ -+ -+// Local Variables: -+// mode:C++ -+// End: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_pthread_alloc.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_pthread_alloc.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_pthread_alloc.h Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_pthread_alloc.h Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,489 @@ -+/* -+ * -+ * Copyright (c) 1994 -+ * Hewlett-Packard Company -+ * -+ * Copyright (c) 1996,1997 -+ * Silicon Graphics Computer Systems, Inc. -+ * -+ * Copyright (c) 1997 -+ * Moscow Center for SPARC Technology -+ * -+ * Copyright (c) 1999 -+ * Boris Fomitchev -+ * -+ * This material is provided "as is", with absolutely no warranty expressed -+ * or implied. Any use is at your own risk. -+ * -+ * Permission to use or copy this software for any purpose is hereby granted -+ * without fee, provided the above notices are retained on all copies. -+ * Permission to modify the code and to distribute modified code is granted, -+ * provided the above notices are retained, and a notice that the code was -+ * modified is included with the above copyright notice. -+ * -+ */ -+ -+#ifndef _STLP_PTHREAD_ALLOC_H -+#define _STLP_PTHREAD_ALLOC_H -+ -+// Pthread-specific node allocator. -+// This is similar to the default allocator, except that free-list -+// information is kept separately for each thread, avoiding locking. -+// This should be reasonably fast even in the presence of threads. -+// The down side is that storage may not be well-utilized. -+// It is not an error to allocate memory in thread A and deallocate -+// it in thread B. But this effectively transfers ownership of the memory, -+// so that it can only be reallocated by thread B. Thus this can effectively -+// result in a storage leak if it's done on a regular basis. -+// It can also result in frequent sharing of -+// cache lines among processors, with potentially serious performance -+// consequences. -+ -+#include -+ -+#ifndef _STLP_INTERNAL_ALLOC_H -+#include -+#endif -+ -+#ifndef __RESTRICT -+# define __RESTRICT -+#endif -+ -+_STLP_BEGIN_NAMESPACE -+ -+#define _STLP_DATA_ALIGNMENT 8 -+ -+union _Pthread_alloc_obj { -+ union _Pthread_alloc_obj * __free_list_link; -+ char __client_data[_STLP_DATA_ALIGNMENT]; /* The client sees this. */ -+}; -+ -+// Pthread allocators don't appear to the client to have meaningful -+// instances. We do in fact need to associate some state with each -+// thread. That state is represented by -+// _Pthread_alloc_per_thread_state<_Max_size>. -+ -+template -+struct _Pthread_alloc_per_thread_state { -+ typedef _Pthread_alloc_obj __obj; -+ enum { _S_NFREELISTS = _Max_size/_STLP_DATA_ALIGNMENT }; -+ -+ // Free list link for list of available per thread structures. -+ // When one of these becomes available for reuse due to thread -+ // termination, any objects in its free list remain associated -+ // with it. The whole structure may then be used by a newly -+ // created thread. -+ _Pthread_alloc_per_thread_state() : __next(0) -+ { -+ memset((void *)__free_list, 0, (size_t)_S_NFREELISTS * sizeof(__obj *)); -+ } -+ // Returns an object of size __n, and possibly adds to size n free list. -+ void *_M_refill(size_t __n); -+ -+ _Pthread_alloc_obj* volatile __free_list[_S_NFREELISTS]; -+ _Pthread_alloc_per_thread_state<_Max_size> * __next; -+ // this data member is only to be used by per_thread_allocator, which returns memory to the originating thread. -+ _STLP_mutex _M_lock; -+ -+ }; -+ -+// Pthread-specific allocator. -+// The argument specifies the largest object size allocated from per-thread -+// free lists. Larger objects are allocated using malloc_alloc. -+// Max_size must be a power of 2. -+template < __DFL_NON_TYPE_PARAM(size_t, _Max_size, _MAX_BYTES) > -+class _Pthread_alloc { -+ -+public: // but only for internal use: -+ -+ typedef _Pthread_alloc_obj __obj; -+ typedef _Pthread_alloc_per_thread_state<_Max_size> __state_type; -+ typedef char value_type; -+ -+ // Allocates a chunk for nobjs of size size. nobjs may be reduced -+ // if it is inconvenient to allocate the requested number. -+ static char *_S_chunk_alloc(size_t __size, size_t &__nobjs); -+ -+ enum {_S_ALIGN = _STLP_DATA_ALIGNMENT}; -+ -+ static size_t _S_round_up(size_t __bytes) { -+ return (((__bytes) + (int)_S_ALIGN-1) & ~((int)_S_ALIGN - 1)); -+ } -+ static size_t _S_freelist_index(size_t __bytes) { -+ return (((__bytes) + (int)_S_ALIGN-1)/(int)_S_ALIGN - 1); -+ } -+ -+private: -+ // Chunk allocation state. And other shared state. -+ // Protected by _S_chunk_allocator_lock. -+ static _STLP_mutex_base _S_chunk_allocator_lock; -+ static char *_S_start_free; -+ static char *_S_end_free; -+ static size_t _S_heap_size; -+ static _Pthread_alloc_per_thread_state<_Max_size>* _S_free_per_thread_states; -+ static pthread_key_t _S_key; -+ static bool _S_key_initialized; -+ // Pthread key under which per thread state is stored. -+ // Allocator instances that are currently unclaimed by any thread. -+ static void _S_destructor(void *instance); -+ // Function to be called on thread exit to reclaim per thread -+ // state. -+ static _Pthread_alloc_per_thread_state<_Max_size> *_S_new_per_thread_state(); -+public: -+ // Return a recycled or new per thread state. -+ static _Pthread_alloc_per_thread_state<_Max_size> *_S_get_per_thread_state(); -+private: -+ // ensure that the current thread has an associated -+ // per thread state. -+ class _M_lock; -+ friend class _M_lock; -+ class _M_lock { -+ public: -+ _M_lock () { _S_chunk_allocator_lock._M_acquire_lock(); } -+ ~_M_lock () { _S_chunk_allocator_lock._M_release_lock(); } -+ }; -+ -+public: -+ -+ /* n must be > 0 */ -+ static void * allocate(size_t __n) -+ { -+ __obj * volatile * __my_free_list; -+ __obj * __RESTRICT __result; -+ __state_type* __a; -+ -+ if (__n > _Max_size) { -+ return(__malloc_alloc<0>::allocate(__n)); -+ } -+ -+ __a = _S_get_per_thread_state(); -+ -+ __my_free_list = __a -> __free_list + _S_freelist_index(__n); -+ __result = *__my_free_list; -+ if (__result == 0) { -+ void *__r = __a -> _M_refill(_S_round_up(__n)); -+ return __r; -+ } -+ *__my_free_list = __result -> __free_list_link; -+ return (__result); -+ }; -+ -+ /* p may not be 0 */ -+ static void deallocate(void *__p, size_t __n) -+ { -+ __obj *__q = (__obj *)__p; -+ __obj * volatile * __my_free_list; -+ __state_type* __a; -+ -+ if (__n > _Max_size) { -+ __malloc_alloc<0>::deallocate(__p, __n); -+ return; -+ } -+ -+ __a = _S_get_per_thread_state(); -+ -+ __my_free_list = __a->__free_list + _S_freelist_index(__n); -+ __q -> __free_list_link = *__my_free_list; -+ *__my_free_list = __q; -+ } -+ -+ // boris : versions for per_thread_allocator -+ /* n must be > 0 */ -+ static void * allocate(size_t __n, __state_type* __a) -+ { -+ __obj * volatile * __my_free_list; -+ __obj * __RESTRICT __result; -+ -+ if (__n > _Max_size) { -+ return(__malloc_alloc<0>::allocate(__n)); -+ } -+ -+ // boris : here, we have to lock per thread state, as we may be getting memory from -+ // different thread pool. -+ _STLP_mutex_lock __lock(__a->_M_lock); -+ -+ __my_free_list = __a -> __free_list + _S_freelist_index(__n); -+ __result = *__my_free_list; -+ if (__result == 0) { -+ void *__r = __a -> _M_refill(_S_round_up(__n)); -+ return __r; -+ } -+ *__my_free_list = __result -> __free_list_link; -+ return (__result); -+ }; -+ -+ /* p may not be 0 */ -+ static void deallocate(void *__p, size_t __n, __state_type* __a) -+ { -+ __obj *__q = (__obj *)__p; -+ __obj * volatile * __my_free_list; -+ -+ if (__n > _Max_size) { -+ __malloc_alloc<0>::deallocate(__p, __n); -+ return; -+ } -+ -+ // boris : here, we have to lock per thread state, as we may be returning memory from -+ // different thread. -+ _STLP_mutex_lock __lock(__a->_M_lock); -+ -+ __my_free_list = __a->__free_list + _S_freelist_index(__n); -+ __q -> __free_list_link = *__my_free_list; -+ *__my_free_list = __q; -+ } -+ -+ static void * reallocate(void *__p, size_t __old_sz, size_t __new_sz); -+ -+} ; -+ -+# if defined (_STLP_USE_TEMPLATE_EXPORT) -+_STLP_EXPORT_TEMPLATE_CLASS _Pthread_alloc<_MAX_BYTES>; -+# endif -+ -+typedef _Pthread_alloc<_MAX_BYTES> __pthread_alloc; -+typedef __pthread_alloc pthread_alloc; -+ -+template -+class pthread_allocator { -+ typedef pthread_alloc _S_Alloc; // The underlying allocator. -+public: -+ typedef size_t size_type; -+ typedef ptrdiff_t difference_type; -+ typedef _Tp* pointer; -+ typedef const _Tp* const_pointer; -+ typedef _Tp& reference; -+ typedef const _Tp& const_reference; -+ typedef _Tp value_type; -+ -+#ifdef _STLP_MEMBER_TEMPLATE_CLASSES -+ template struct rebind { -+ typedef pthread_allocator<_NewType> other; -+ }; -+#endif -+ -+ pthread_allocator() _STLP_NOTHROW {} -+ pthread_allocator(const pthread_allocator<_Tp>& a) _STLP_NOTHROW {} -+ -+#if defined (_STLP_MEMBER_TEMPLATES) /* && defined (_STLP_FUNCTION_PARTIAL_ORDER) */ -+ template pthread_allocator(const pthread_allocator<_OtherType>&) -+ _STLP_NOTHROW {} -+#endif -+ -+ ~pthread_allocator() _STLP_NOTHROW {} -+ -+ pointer address(reference __x) const { return &__x; } -+ const_pointer address(const_reference __x) const { return &__x; } -+ -+ // __n is permitted to be 0. The C++ standard says nothing about what -+ // the return value is when __n == 0. -+ _Tp* allocate(size_type __n, const void* = 0) { -+ return __n != 0 ? __STATIC_CAST(_Tp*,_S_Alloc::allocate(__n * sizeof(_Tp))) -+ : 0; -+ } -+ -+ // p is not permitted to be a null pointer. -+ void deallocate(pointer __p, size_type __n) -+ { _S_Alloc::deallocate(__p, __n * sizeof(_Tp)); } -+ -+ size_type max_size() const _STLP_NOTHROW -+ { return size_t(-1) / sizeof(_Tp); } -+ -+ void construct(pointer __p, const _Tp& __val) { _STLP_PLACEMENT_NEW (__p) _Tp(__val); } -+ void destroy(pointer _p) { _p->~_Tp(); } -+}; -+ -+_STLP_TEMPLATE_NULL -+class _STLP_CLASS_DECLSPEC pthread_allocator { -+public: -+ typedef size_t size_type; -+ typedef ptrdiff_t difference_type; -+ typedef void* pointer; -+ typedef const void* const_pointer; -+ typedef void value_type; -+#ifdef _STLP_MEMBER_TEMPLATE_CLASSES -+ template struct rebind { -+ typedef pthread_allocator<_NewType> other; -+ }; -+#endif -+}; -+ -+template -+inline bool operator==(const pthread_allocator<_T1>&, -+ const pthread_allocator<_T2>& a2) -+{ -+ return true; -+} -+ -+#ifdef _STLP_FUNCTION_TMPL_PARTIAL_ORDER -+template -+inline bool operator!=(const pthread_allocator<_T1>&, -+ const pthread_allocator<_T2>&) -+{ -+ return false; -+} -+#endif -+ -+ -+#ifdef _STLP_CLASS_PARTIAL_SPECIALIZATION -+ -+# ifdef _STLP_USE_RAW_SGI_ALLOCATORS -+template -+struct _Alloc_traits<_Tp, _Pthread_alloc<_Max_size> > -+{ -+ typedef __allocator<_Tp, _Pthread_alloc<_Max_size> > -+ allocator_type; -+}; -+# endif -+ -+template -+struct _Alloc_traits<_Tp, pthread_allocator<_Atype> > -+{ -+ typedef pthread_allocator<_Tp> allocator_type; -+}; -+ -+#endif -+ -+#if !defined (_STLP_MEMBER_TEMPLATE_CLASSES) -+ -+template -+inline pthread_allocator<_Tp2>& -+__stl_alloc_rebind(pthread_allocator<_Tp1>& __x, const _Tp2*) { -+ return (pthread_allocator<_Tp2>&)__x; -+} -+ -+template -+inline pthread_allocator<_Tp2> -+__stl_alloc_create(pthread_allocator<_Tp1>&, const _Tp2*) { -+ return pthread_allocator<_Tp2>(); -+} -+ -+#endif /* _STLP_MEMBER_TEMPLATE_CLASSES */ -+ -+// -+// per_thread_allocator<> : this allocator always return memory to the same thread -+// it was allocated from. -+// -+ -+template -+class per_thread_allocator { -+ typedef pthread_alloc _S_Alloc; // The underlying allocator. -+ typedef pthread_alloc::__state_type __state_type; -+public: -+ typedef size_t size_type; -+ typedef ptrdiff_t difference_type; -+ typedef _Tp* pointer; -+ typedef const _Tp* const_pointer; -+ typedef _Tp& reference; -+ typedef const _Tp& const_reference; -+ typedef _Tp value_type; -+ -+#ifdef _STLP_MEMBER_TEMPLATE_CLASSES -+ template struct rebind { -+ typedef per_thread_allocator<_NewType> other; -+ }; -+#endif -+ -+ per_thread_allocator() _STLP_NOTHROW { -+ _M_state = _S_Alloc::_S_get_per_thread_state(); -+ } -+ per_thread_allocator(const per_thread_allocator<_Tp>& __a) _STLP_NOTHROW : _M_state(__a._M_state){} -+ -+#if defined (_STLP_MEMBER_TEMPLATES) /* && defined (_STLP_FUNCTION_PARTIAL_ORDER) */ -+ template per_thread_allocator(const per_thread_allocator<_OtherType>& __a) -+ _STLP_NOTHROW : _M_state(__a._M_state) {} -+#endif -+ -+ ~per_thread_allocator() _STLP_NOTHROW {} -+ -+ pointer address(reference __x) const { return &__x; } -+ const_pointer address(const_reference __x) const { return &__x; } -+ -+ // __n is permitted to be 0. The C++ standard says nothing about what -+ // the return value is when __n == 0. -+ _Tp* allocate(size_type __n, const void* = 0) { -+ return __n != 0 ? __STATIC_CAST(_Tp*,_S_Alloc::allocate(__n * sizeof(_Tp), _M_state)): 0; -+ } -+ -+ // p is not permitted to be a null pointer. -+ void deallocate(pointer __p, size_type __n) -+ { _S_Alloc::deallocate(__p, __n * sizeof(_Tp), _M_state); } -+ -+ size_type max_size() const _STLP_NOTHROW -+ { return size_t(-1) / sizeof(_Tp); } -+ -+ void construct(pointer __p, const _Tp& __val) { _STLP_PLACEMENT_NEW (__p) _Tp(__val); } -+ void destroy(pointer _p) { _p->~_Tp(); } -+ -+ // state is being kept here -+ __state_type* _M_state; -+}; -+ -+_STLP_TEMPLATE_NULL -+class _STLP_CLASS_DECLSPEC per_thread_allocator { -+public: -+ typedef size_t size_type; -+ typedef ptrdiff_t difference_type; -+ typedef void* pointer; -+ typedef const void* const_pointer; -+ typedef void value_type; -+#ifdef _STLP_MEMBER_TEMPLATE_CLASSES -+ template struct rebind { -+ typedef per_thread_allocator<_NewType> other; -+ }; -+#endif -+}; -+ -+template -+inline bool operator==(const per_thread_allocator<_T1>& __a1, -+ const per_thread_allocator<_T2>& __a2) -+{ -+ return __a1._M_state == __a2._M_state; -+} -+ -+#ifdef _STLP_FUNCTION_TMPL_PARTIAL_ORDER -+template -+inline bool operator!=(const per_thread_allocator<_T1>& __a1, -+ const per_thread_allocator<_T2>& __a2) -+{ -+ return __a1._M_state != __a2._M_state; -+} -+#endif -+ -+ -+#ifdef _STLP_CLASS_PARTIAL_SPECIALIZATION -+ -+template -+struct _Alloc_traits<_Tp, per_thread_allocator<_Atype> > -+{ -+ typedef per_thread_allocator<_Tp> allocator_type; -+}; -+ -+#endif -+ -+#if !defined (_STLP_MEMBER_TEMPLATE_CLASSES) -+ -+template -+inline per_thread_allocator<_Tp2>& -+__stl_alloc_rebind(per_thread_allocator<_Tp1>& __x, const _Tp2*) { -+ return (per_thread_allocator<_Tp2>&)__x; -+} -+ -+template -+inline per_thread_allocator<_Tp2> -+__stl_alloc_create(per_thread_allocator<_Tp1>&, const _Tp2*) { -+ return per_thread_allocator<_Tp2>(); -+} -+ -+#endif /* _STLP_MEMBER_TEMPLATE_CLASSES */ -+ -+_STLP_END_NAMESPACE -+ -+# if defined (_STLP_EXPOSE_GLOBALS_IMPLEMENTATION) && !defined (_STLP_LINK_TIME_INSTANTIATION) -+# include -+# endif -+ -+#endif /* _STLP_PTHREAD_ALLOC */ -+ -+// Local Variables: -+// mode:C++ -+// End: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_ptrs_specialize.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_ptrs_specialize.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_ptrs_specialize.h Sat Feb 24 10:45:01 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_ptrs_specialize.h Sun Aug 11 18:59:25 2002 -@@ -1,161 +1,72 @@ --#ifndef __STL_PTRS_SPECIALIZE_H --# define __STL_PTRS_SPECIALIZE_H -- --// Important pointers specializations -- --# define __STL_TYPE_TRAITS_POD_SPECIALIZE(_Type) \ --__STL_TEMPLATE_NULL \ --struct __type_traits<_Type> { \ -- typedef __true_type has_trivial_default_constructor; \ -- typedef __true_type has_trivial_copy_constructor; \ -- typedef __true_type has_trivial_assignment_operator; \ -- typedef __true_type has_trivial_destructor; \ -- typedef __true_type is_POD_type; \ --}; -+#ifndef _STLP_PTRS_SPECIALIZE_H -+# define _STLP_PTRS_SPECIALIZE_H - - // the following is a workaround for arrow operator problems --# if defined ( __SGI_STL_NO_ARROW_OPERATOR ) -- --// Proxy -> operator workaround for compilers that produce --// type checking errors on unused ->() operators -- --template --struct __arrow_op_dispatch { -- _Ptr _M_ptr; -- __arrow_op_dispatch(_Ref __r) : _M_ptr(&__r) {} -- _Ptr operator ->() const { return _M_ptr; } --}; -- --# if defined (__STL_NO_PROXY_ARROW_OPERATOR) -- -+# if defined ( _STLP_NO_ARROW_OPERATOR ) - // User wants to disable proxy -> operators --# define __STL_DEFINE_ARROW_OPERATOR --# define __STL_ARROW_SPECIALIZE_WITH_PTRS(_Tp) -- --# else -- --struct __arrow_op_dummy { int _M_data ; }; -- --# define __STL_ARROW_SPECIALIZE(_Tp) \ --__STL_TEMPLATE_NULL struct __arrow_op_dispatch<_Tp&, _Tp*> { \ -- __arrow_op_dispatch(_Tp&) {} \ -- __arrow_op_dummy operator ->() const { return __arrow_op_dummy(); } \ --}; -- --# ifdef __SUNPRO_CC --# define __STL_ARROW_SPECIALIZE_WITH_PTRS(_Tp) \ --__STL_ARROW_SPECIALIZE(_Tp) \ --__STL_ARROW_SPECIALIZE(const _Tp) \ --__STL_ARROW_SPECIALIZE(_Tp*) \ --__STL_ARROW_SPECIALIZE(_Tp* const) \ --__STL_ARROW_SPECIALIZE(const _Tp*) \ --__STL_ARROW_SPECIALIZE(_Tp**) \ --__STL_ARROW_SPECIALIZE(const _Tp**) \ --__STL_ARROW_SPECIALIZE(_Tp* const *) \ --__STL_ARROW_SPECIALIZE(_Tp***) \ --__STL_ARROW_SPECIALIZE(const _Tp***) --# else --# define __STL_ARROW_SPECIALIZE_WITH_PTRS(_Tp) \ --__STL_ARROW_SPECIALIZE(_Tp) \ --__STL_ARROW_SPECIALIZE(const _Tp) \ --__STL_ARROW_SPECIALIZE(_Tp*) \ --__STL_ARROW_SPECIALIZE(const _Tp*) \ --__STL_ARROW_SPECIALIZE(_Tp**) \ --__STL_ARROW_SPECIALIZE(const _Tp**) \ --__STL_ARROW_SPECIALIZE(_Tp* const *) \ --__STL_ARROW_SPECIALIZE(_Tp***) \ --__STL_ARROW_SPECIALIZE(const _Tp***) --# endif -- --# define __STL_DEFINE_ARROW_OPERATOR __arrow_op_dispatch operator->() const \ -- { return __arrow_op_dispatch(this->operator*()); } -- --# endif /* __STL_NO_PROXY_ARROW_OPERATOR */ -+# define _STLP_DEFINE_ARROW_OPERATOR -+# define _STLP_ARROW_SPECIALIZE_WITH_PTRS(_Tp) - # else - // Compiler can handle generic -> operator. --# define __STL_ARROW_SPECIALIZE_WITH_PTRS(_Tp) -+# define _STLP_ARROW_SPECIALIZE_WITH_PTRS(_Tp) - # ifdef __BORLANDC__ --# define __STL_DEFINE_ARROW_OPERATOR pointer operator->() const { return &(*(*this)); } --# elif defined ( __STL_WINCE ) --# define __STL_DEFINE_ARROW_OPERATOR pointer operator->() const { reference x = operator*(); return &x; } -+# define _STLP_DEFINE_ARROW_OPERATOR pointer operator->() const { return &(*(*this)); } -+# elif defined ( _STLP_WINCE ) || defined(__WATCOMC__) -+# define _STLP_DEFINE_ARROW_OPERATOR pointer operator->() const { reference x = operator*(); return &x; } - # else --# define __STL_DEFINE_ARROW_OPERATOR pointer operator->() const { return &(operator*()); } -+# define _STLP_DEFINE_ARROW_OPERATOR pointer operator->() const { return &(operator*()); } - # endif -+# endif /* _STLP_NO_ARROW_OPERATOR */ - --# endif /* __SGI_STL_NO_ARROW_OPERATOR */ -- --# define __STL_ITERATOR_TRAITS_SPECIALIZE(_Type, _ValType) \ --__STL_TEMPLATE_NULL \ --struct iterator_traits<_Type*> { \ -- typedef random_access_iterator_tag iterator_category; \ -- typedef _ValType value_type; \ -- typedef ptrdiff_t difference_type; \ -- typedef _Type* pointer; \ -- typedef _Type& reference; \ --}; -+// Important pointers specializations - --# ifdef __STL_USE_OLD_HP_ITERATOR_QUERIES --# define __STL_ITERATOR_TRAITS_PTR_SPECIALIZE(_Type) -+# ifdef _STLP_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS -+# define _STLP_TYPE_TRAITS_POD_SPECIALIZE_V(_Type) -+# define _STLP_TYPE_TRAITS_POD_SPECIALIZE(_Type) - # else --# define __STL_ITERATOR_TRAITS_PTR_SPECIALIZE(_Type) \ --__STL_BEGIN_NAMESPACE \ --__STL_ITERATOR_TRAITS_SPECIALIZE(_Type, _Type) \ --__STL_ITERATOR_TRAITS_SPECIALIZE(const _Type, _Type) \ --__STL_ITERATOR_TRAITS_SPECIALIZE(_Type*, _Type*) \ --__STL_ITERATOR_TRAITS_SPECIALIZE(_Type* const, _Type* const) \ --__STL_ITERATOR_TRAITS_SPECIALIZE(const _Type*, _Type*) \ --__STL_ITERATOR_TRAITS_SPECIALIZE(_Type**, _Type**) \ --__STL_ITERATOR_TRAITS_SPECIALIZE(_Type** const, _Type** const) \ --__STL_END_NAMESPACE -+# define _STLP_TYPE_TRAITS_POD_SPECIALIZE(_Type) _STLP_TEMPLATE_NULL struct __type_traits<_Type> : __type_traits_aux {}; -+# define _STLP_TYPE_TRAITS_POD_SPECIALIZE_V(_Type) \ -+_STLP_TYPE_TRAITS_POD_SPECIALIZE(_Type*) \ -+_STLP_TYPE_TRAITS_POD_SPECIALIZE(const _Type*) \ -+_STLP_TYPE_TRAITS_POD_SPECIALIZE(_Type**) \ -+_STLP_TYPE_TRAITS_POD_SPECIALIZE(_Type* const *) \ -+_STLP_TYPE_TRAITS_POD_SPECIALIZE(const _Type**) \ -+_STLP_TYPE_TRAITS_POD_SPECIALIZE(_Type***) \ -+_STLP_TYPE_TRAITS_POD_SPECIALIZE(const _Type***) - # endif - --# define __STL_TYPE_TRAITS_POD_SPECIALIZE_V(_Type) \ --__STL_TYPE_TRAITS_POD_SPECIALIZE(_Type*) \ --__STL_TYPE_TRAITS_POD_SPECIALIZE(const _Type*) \ --__STL_TYPE_TRAITS_POD_SPECIALIZE(_Type**) \ --__STL_TYPE_TRAITS_POD_SPECIALIZE(_Type* const *) \ --__STL_TYPE_TRAITS_POD_SPECIALIZE(const _Type**) \ --__STL_TYPE_TRAITS_POD_SPECIALIZE(_Type***) \ --__STL_TYPE_TRAITS_POD_SPECIALIZE(const _Type***) -- --# define __STL_POINTERS_SPECIALIZE(_Type) \ --__STL_TYPE_TRAITS_POD_SPECIALIZE_V(_Type) \ --__STL_ITERATOR_TRAITS_PTR_SPECIALIZE(_Type) \ --__STL_ARROW_SPECIALIZE_WITH_PTRS(_Type) -+# define _STLP_POINTERS_SPECIALIZE(_Type) _STLP_TYPE_TRAITS_POD_SPECIALIZE_V(_Type) _STLP_ARROW_SPECIALIZE_WITH_PTRS(_Type) - --# if !defined ( __STL_NO_BOOL ) --__STL_POINTERS_SPECIALIZE( bool ) -+# if !defined ( _STLP_NO_BOOL ) -+_STLP_POINTERS_SPECIALIZE( bool ) - # endif --__STL_TYPE_TRAITS_POD_SPECIALIZE_V(void) -- __STL_ARROW_SPECIALIZE_WITH_PTRS(void*) -- __STL_ARROW_SPECIALIZE_WITH_PTRS(void* const) --# ifndef __STL_NO_SIGNED_BUILTINS -- __STL_POINTERS_SPECIALIZE( signed char ) -+_STLP_TYPE_TRAITS_POD_SPECIALIZE_V(void) -+# ifndef _STLP_NO_SIGNED_BUILTINS -+ _STLP_POINTERS_SPECIALIZE( signed char ) - # endif -- __STL_POINTERS_SPECIALIZE( char ) -- __STL_POINTERS_SPECIALIZE( unsigned char ) -- __STL_POINTERS_SPECIALIZE( short ) -- __STL_POINTERS_SPECIALIZE( unsigned short ) -- __STL_POINTERS_SPECIALIZE( int ) -- __STL_POINTERS_SPECIALIZE( unsigned int ) -- __STL_POINTERS_SPECIALIZE( long ) -- __STL_POINTERS_SPECIALIZE( unsigned long ) -- __STL_POINTERS_SPECIALIZE( float ) -- __STL_POINTERS_SPECIALIZE( double ) --# if !defined ( __STL_NO_LONG_DOUBLE ) -- __STL_POINTERS_SPECIALIZE( long double ) -+ _STLP_POINTERS_SPECIALIZE( char ) -+ _STLP_POINTERS_SPECIALIZE( unsigned char ) -+ _STLP_POINTERS_SPECIALIZE( short ) -+ _STLP_POINTERS_SPECIALIZE( unsigned short ) -+ _STLP_POINTERS_SPECIALIZE( int ) -+ _STLP_POINTERS_SPECIALIZE( unsigned int ) -+ _STLP_POINTERS_SPECIALIZE( long ) -+ _STLP_POINTERS_SPECIALIZE( unsigned long ) -+ _STLP_POINTERS_SPECIALIZE( float ) -+ _STLP_POINTERS_SPECIALIZE( double ) -+# if !defined ( _STLP_NO_LONG_DOUBLE ) -+ _STLP_POINTERS_SPECIALIZE( long double ) - # endif --# if defined ( __STL_LONG_LONG) -- __STL_POINTERS_SPECIALIZE( long long ) -+# if defined ( _STLP_LONG_LONG) -+ _STLP_POINTERS_SPECIALIZE( _STLP_LONG_LONG ) -+ _STLP_POINTERS_SPECIALIZE( unsigned _STLP_LONG_LONG ) - # endif --#if defined ( __STL_HAS_WCHAR_T ) && ! defined (__STL_WCHAR_T_IS_USHORT) -- __STL_POINTERS_SPECIALIZE( wchar_t ) -+#if defined ( _STLP_HAS_WCHAR_T ) && ! defined (_STLP_WCHAR_T_IS_USHORT) -+ _STLP_POINTERS_SPECIALIZE( wchar_t ) - # endif - --# undef __STL_ARROW_SPECIALIZE --# undef __STL_ARROW_SPECIALIZE_WITH_PTRS -- // # undef __STL_POINTERS_SPECIALIZE -- // # undef __STL_TYPE_TRAITS_POD_SPECIALIZE --# undef __STL_TYPE_TRAITS_POD_SPECIALIZE_V -+# undef _STLP_ARROW_SPECIALIZE -+# undef _STLP_ARROW_SPECIALIZE_WITH_PTRS -+# undef _STLP_TYPE_TRAITS_POD_SPECIALIZE_V - - #endif -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_queue.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_queue.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_queue.h Sat Feb 24 10:45:01 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_queue.h Sun Aug 11 18:59:25 2002 -@@ -27,38 +27,42 @@ - * You should not attempt to use it directly. - */ - --#ifndef __SGI_STL_INTERNAL_QUEUE_H --#define __SGI_STL_INTERNAL_QUEUE_H -+#ifndef _STLP_INTERNAL_QUEUE_H -+#define _STLP_INTERNAL_QUEUE_H - --#ifndef __SGI_STL_INTERNAL_DEQUE_H -+#ifndef _STLP_INTERNAL_DEQUE_H - # include - #endif - --#ifndef __SGI_STL_INTERNAL_VECTOR_H -+#ifndef _STLP_INTERNAL_VECTOR_H - # include - #endif - --#ifndef __SGI_STL_INTERNAL_HEAP_H -+#ifndef _STLP_INTERNAL_HEAP_H - # include - #endif - --#ifndef __SGI_STL_INTERNAL_FUNCTIONAL_H -+#ifndef _STLP_INTERNAL_FUNCTION_H - # include - #endif - --__STL_BEGIN_NAMESPACE -+#if defined(__SC__) //*ty 12/07/2001 - since "comp" is a built-in type and reserved under SCpp -+#define comp _Comp -+#endif -+ -+_STLP_BEGIN_NAMESPACE - --# if ! defined ( __STL_LIMITED_DEFAULT_TEMPLATES ) --template > --# elif defined ( __STL_MINIMUM_DEFAULT_TEMPLATE_PARAMS ) --# define __STL_QUEUE_ARGS _Tp -+# if ! defined ( _STLP_LIMITED_DEFAULT_TEMPLATES ) -+template > -+# elif defined ( _STLP_MINIMUM_DEFAULT_TEMPLATE_PARAMS ) -+# define _STLP_QUEUE_ARGS _Tp - template - # else - template - # endif - - class queue { --# if defined ( __STL_QUEUE_ARGS ) -+# if defined ( _STLP_QUEUE_ARGS ) - typedef deque<_Tp> _Sequence; - # endif - public: -@@ -86,39 +90,39 @@ - const _Sequence& _Get_c() const { return c; } - }; - --# ifndef __STL_QUEUE_ARGS --# define __STL_QUEUE_ARGS _Tp, _Sequence --# define __STL_QUEUE_HEADER_ARGS class _Tp, class _Sequence -+# ifndef _STLP_QUEUE_ARGS -+# define _STLP_QUEUE_ARGS _Tp, _Sequence -+# define _STLP_QUEUE_HEADER_ARGS class _Tp, class _Sequence - # else --# define __STL_QUEUE_HEADER_ARGS class _Tp -+# define _STLP_QUEUE_HEADER_ARGS class _Tp - # endif - --template < __STL_QUEUE_HEADER_ARGS > --inline bool __STL_CALL --operator==(const queue<__STL_QUEUE_ARGS >& __x, const queue<__STL_QUEUE_ARGS >& __y) -+template < _STLP_QUEUE_HEADER_ARGS > -+inline bool _STLP_CALL -+operator==(const queue<_STLP_QUEUE_ARGS >& __x, const queue<_STLP_QUEUE_ARGS >& __y) - { - return __x._Get_c() == __y._Get_c(); - } - --template < __STL_QUEUE_HEADER_ARGS > --inline bool __STL_CALL --operator<(const queue<__STL_QUEUE_ARGS >& __x, const queue<__STL_QUEUE_ARGS >& __y) -+template < _STLP_QUEUE_HEADER_ARGS > -+inline bool _STLP_CALL -+operator<(const queue<_STLP_QUEUE_ARGS >& __x, const queue<_STLP_QUEUE_ARGS >& __y) - { - return __x._Get_c() < __y._Get_c(); - } - --__STL_RELOPS_OPERATORS( template < __STL_QUEUE_HEADER_ARGS >, queue<__STL_QUEUE_ARGS > ) -+_STLP_RELOPS_OPERATORS( template < _STLP_QUEUE_HEADER_ARGS >, queue<_STLP_QUEUE_ARGS > ) - --# if !(defined ( __STL_LIMITED_DEFAULT_TEMPLATES ) || defined ( __STL_TEMPLATE_PARAM_SUBTYPE_BUG )) -+# if !(defined ( _STLP_LIMITED_DEFAULT_TEMPLATES ) || defined ( _STLP_TEMPLATE_PARAM_SUBTYPE_BUG )) - template , -- class _Compare = less<__STL_HEADER_TYPENAME _Sequence::value_type> > --# elif defined ( __STL_MINIMUM_DEFAULT_TEMPLATE_PARAMS ) -+ class _Compare = less<_STLP_HEADER_TYPENAME _Sequence::value_type> > -+# elif defined ( _STLP_MINIMUM_DEFAULT_TEMPLATE_PARAMS ) - template - # else - template - # endif - class priority_queue { --# ifdef __STL_MINIMUM_DEFAULT_TEMPLATE_PARAMS -+# ifdef _STLP_MINIMUM_DEFAULT_TEMPLATE_PARAMS - typedef vector<_Tp> _Sequence; - typedef less< typename vector<_Tp>::value_type> _Compare; - # endif -@@ -131,77 +135,77 @@ - typedef typename _Sequence::const_reference const_reference; - protected: - _Sequence c; -- _Compare _comp; //*TY 01/10/1999 - ugrified comp -+ _Compare comp; - public: - priority_queue() : c() {} -- explicit priority_queue(const _Compare& __x) : c(), _comp(__x) {} //*TY 01/10/1999 - ugrified comp -+ explicit priority_queue(const _Compare& __x) : c(), comp(__x) {} - priority_queue(const _Compare& __x, const _Sequence& __s) -- : c(__s), _comp(__x) //*TY 01/10/1999 - ugrified comp -- { make_heap(c.begin(), c.end(), _comp); } //*TY 01/10/1999 - ugrified comp -+ : c(__s), comp(__x) -+ { make_heap(c.begin(), c.end(), comp); } - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - template - priority_queue(_InputIterator __first, _InputIterator __last) -- : c(__first, __last) { make_heap(c.begin(), c.end(), _comp); } //*TY 01/10/1999 - ugrified comp -+ : c(__first, __last) { make_heap(c.begin(), c.end(), comp); } - - template - priority_queue(_InputIterator __first, - _InputIterator __last, const _Compare& __x) -- : c(__first, __last), _comp(__x) //*TY 01/10/1999 - ugrified comp -- { make_heap(c.begin(), c.end(), _comp); } //*TY 01/10/1999 - ugrified comp -+ : c(__first, __last), comp(__x) -+ { make_heap(c.begin(), c.end(), comp); } - - template - priority_queue(_InputIterator __first, _InputIterator __last, - const _Compare& __x, const _Sequence& __s) -- : c(__s), _comp(__x) //*TY 01/10/1999 - ugrified comp -+ : c(__s), comp(__x) - { - c.insert(c.end(), __first, __last); -- make_heap(c.begin(), c.end(), _comp); //*TY 01/10/1999 - ugrified comp -+ make_heap(c.begin(), c.end(), comp); - } - --#else /* __STL_MEMBER_TEMPLATES */ -+#else /* _STLP_MEMBER_TEMPLATES */ - priority_queue(const value_type* __first, const value_type* __last) -- : c(__first, __last) { make_heap(c.begin(), c.end(), _comp); } //*TY 01/10/1999 - ugrified comp -+ : c(__first, __last) { make_heap(c.begin(), c.end(), comp); } - - priority_queue(const value_type* __first, const value_type* __last, - const _Compare& __x) -- : c(__first, __last), _comp(__x) //*TY 01/10/1999 - ugrified comp -- { make_heap(c.begin(), c.end(), _comp); } //*TY 01/10/1999 - ugrified comp -+ : c(__first, __last), comp(__x) -+ { make_heap(c.begin(), c.end(), comp); } - - priority_queue(const value_type* __first, const value_type* __last, - const _Compare& __x, const _Sequence& __c) -- : c(__c), _comp(__x) //*TY 01/10/1999 - ugrified comp -+ : c(__c), comp(__x) - { - c.insert(c.end(), __first, __last); -- make_heap(c.begin(), c.end(), _comp); //*TY 01/10/1999 - ugrified comp -+ make_heap(c.begin(), c.end(), comp); - } --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - bool empty() const { return c.empty(); } - size_type size() const { return c.size(); } - const_reference top() const { return c.front(); } - void push(const value_type& __x) { -- __STL_TRY { -+ _STLP_TRY { - c.push_back(__x); -- push_heap(c.begin(), c.end(), _comp); //*TY 01/10/1999 - ugrified comp -+ push_heap(c.begin(), c.end(), comp); - } -- __STL_UNWIND(c.clear()); -+ _STLP_UNWIND(c.clear()); - } - void pop() { -- __STL_TRY { -- pop_heap(c.begin(), c.end(), _comp); //*TY 01/10/1999 - ugrified comp -+ _STLP_TRY { -+ pop_heap(c.begin(), c.end(), comp); - c.pop_back(); - } -- __STL_UNWIND(c.clear()); -+ _STLP_UNWIND(c.clear()); - } - }; - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --# undef __STL_QUEUE_ARGS --# undef __STL_QUEUE_HEADER_ARGS -+# undef _STLP_QUEUE_ARGS -+# undef _STLP_QUEUE_HEADER_ARGS - --#endif /* __SGI_STL_INTERNAL_QUEUE_H */ -+#endif /* _STLP_INTERNAL_QUEUE_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_range_errors.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_range_errors.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_range_errors.h Sat Feb 24 10:45:02 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_range_errors.h Sun Aug 11 18:59:25 2002 -@@ -12,80 +12,85 @@ - * - */ - --#ifndef __STL_RANGE_ERRORS_H --#define __STL_RANGE_ERRORS_H -+#ifndef _STLP_RANGE_ERRORS_H -+#define _STLP_RANGE_ERRORS_H - - // A few places in the STL throw range errors, using standard exception - // classes defined in . This header file provides functions - // to throw those exception objects. - --// __STL_DONT_THROW_RANGE_ERRORS is a hook so that users can disable -+// _STLP_DONT_THROW_RANGE_ERRORS is a hook so that users can disable - // this exception throwing. --#if defined(__STL_CAN_THROW_RANGE_ERRORS) && \ -- defined(__STL_USE_EXCEPTIONS) && \ -- !defined(__STL_DONT_THROW_RANGE_ERRORS) --# define __STL_THROW_RANGE_ERRORS -+#if defined(_STLP_CAN_THROW_RANGE_ERRORS) && defined(_STLP_USE_EXCEPTIONS) \ -+ && !defined(_STLP_DONT_THROW_RANGE_ERRORS) -+# define _STLP_THROW_RANGE_ERRORS - #endif - --// For the SGI 7.3 compiler, declare these functions here and define them --// elsewhere. --#if defined(__STL_THROW_RANGE_ERRORS) && defined ( __SGI_STL_OWN_IOSTREAMS ) || \ -- ( defined(__sgi) && !defined(__GNUC__) && \ -- _COMPILER_VERSION >= 730 && defined(_STANDARD_C_PLUS_PLUS)) --# define __STL_EXTERN_RANGE_ERRORS --# endif -- --#if defined (__STL_EXTERN_RANGE_ERRORS) -+// For the STLport iostreams, only declaration here, definition is in the lib - --__STL_BEGIN_NAMESPACE --void __STL_DECLSPEC __STL_CALL __stl_throw_range_error(const char* __msg); --void __STL_DECLSPEC __STL_CALL __stl_throw_out_of_range(const char* __msg); --void __STL_DECLSPEC __STL_CALL __stl_throw_length_error(const char* __msg); --__STL_END_NAMESPACE -+#if defined ( _STLP_OWN_IOSTREAMS ) && ! defined (_STLP_EXTERN_RANGE_ERRORS) -+# define _STLP_EXTERN_RANGE_ERRORS -+# endif - --// For other compilers where we're throwing range errors, include the --// stdexcept header and throw the appropriate exceptions directly. --#elif defined(__STL_THROW_RANGE_ERRORS) -+#if defined (_STLP_EXTERN_RANGE_ERRORS) -+_STLP_BEGIN_NAMESPACE -+void _STLP_DECLSPEC _STLP_CALL __stl_throw_range_error(const char* __msg); -+void _STLP_DECLSPEC _STLP_CALL __stl_throw_out_of_range(const char* __msg); -+void _STLP_DECLSPEC _STLP_CALL __stl_throw_length_error(const char* __msg); -+void _STLP_DECLSPEC _STLP_CALL __stl_throw_invalid_argument(const char* __msg); -+void _STLP_DECLSPEC _STLP_CALL __stl_throw_overflow_error(const char* __msg); -+_STLP_END_NAMESPACE -+#else - --# ifndef __SGI_STDEXCEPT -+#if defined(_STLP_THROW_RANGE_ERRORS) -+# ifndef _STLP_STDEXCEPT - # include - # endif -- --#ifndef __SGI_STL_STRING -+# ifndef _STLP_STRING - # include -+# endif -+# define _STLP_THROW_MSG(ex,msg) throw ex(string(msg)) -+#else -+# if defined (_STLP_WINCE) -+# define _STLP_THROW_MSG(ex,msg) TerminateProcess(GetCurrentProcess(), 0) -+# else -+# include -+# include -+# define _STLP_THROW_MSG(ex,msg) puts(msg),_STLP_ABORT() -+# endif - #endif - --__STL_BEGIN_NAMESPACE -+// For wrapper mode and throwing range errors, include the -+// stdexcept header and throw the appropriate exceptions directly. - --inline void __STL_DECLSPEC __STL_CALL __stl_throw_range_error(const char* __msg) { -- throw range_error(string(__msg)); -+_STLP_BEGIN_NAMESPACE -+inline void _STLP_DECLSPEC _STLP_CALL __stl_throw_range_error(const char* __msg) { -+ _STLP_THROW_MSG(range_error, __msg); - } - --inline void __STL_DECLSPEC __STL_CALL __stl_throw_out_of_range(const char* __msg) { -- throw out_of_range(string(__msg)); -+inline void _STLP_DECLSPEC _STLP_CALL __stl_throw_out_of_range(const char* __msg) { -+ _STLP_THROW_MSG(out_of_range, __msg); - } - --inline void __STL_DECLSPEC __STL_CALL __stl_throw_length_error(const char* __msg) { -- throw length_error(string(__msg)); -+inline void _STLP_DECLSPEC _STLP_CALL __stl_throw_length_error(const char* __msg) { -+ _STLP_THROW_MSG(length_error, __msg); - } - --__STL_END_NAMESPACE -- --// Otherwise, define inline functions that do nothing. --#else -+inline void _STLP_DECLSPEC _STLP_CALL __stl_throw_invalid_argument(const char* __msg) { -+ _STLP_THROW_MSG(invalid_argument, __msg); -+} - --# include -+inline void _STLP_DECLSPEC _STLP_CALL __stl_throw_overflow_error(const char* __msg) { -+ _STLP_THROW_MSG(overflow_error, __msg); -+} -+_STLP_END_NAMESPACE - --__STL_BEGIN_NAMESPACE -+# undef _STLP_THROW_MSG - --inline void __STL_DECLSPEC __STL_CALL __stl_throw_range_error(const char*) { abort(); } --inline void __STL_DECLSPEC __STL_CALL __stl_throw_length_error(const char*) { abort();} --inline void __STL_DECLSPEC __STL_CALL __stl_throw_out_of_range(const char*) { abort(); } --__STL_END_NAMESPACE -+# endif /* EXTERN_RANGE_ERRORS */ - --#endif - --#endif /* __STL_RANGE_ERRORS_H */ -+#endif /* _STLP_RANGE_ERRORS_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_raw_storage_iter.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_raw_storage_iter.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_raw_storage_iter.h Sat Feb 24 10:45:02 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_raw_storage_iter.h Sun Aug 11 18:59:25 2002 -@@ -27,14 +27,18 @@ - * You should not attempt to use it directly. - */ - --#ifndef __SGI_STL_INTERNAL_RAW_STORAGE_ITERATOR_H --#define __SGI_STL_INTERNAL_RAW_STORAGE_ITERATOR_H -+#ifndef _STLP_INTERNAL_RAW_STORAGE_ITERATOR_H -+#define _STLP_INTERNAL_RAW_STORAGE_ITERATOR_H - --__STL_BEGIN_NAMESPACE -+#ifndef _STLP_INTERNAL_ITERATOR_BASE_H -+# include -+#endif -+ -+_STLP_BEGIN_NAMESPACE - - template - class raw_storage_iterator --# ifdef __STL_HAS_VOID_SPECIALIZATION -+# ifdef _STLP_HAS_VOID_SPECIALIZATION - : public iterator { - # endif - { -@@ -42,7 +46,7 @@ - _ForwardIterator _M_iter; - public: - typedef output_iterator_tag iterator_category; --# ifdef __STL_CLASS_PARTIAL_SPECIALIZATION -+# ifdef _STLP_CLASS_PARTIAL_SPECIALIZATION - typedef void value_type; - typedef void difference_type; - typedef void pointer; -@@ -65,13 +69,13 @@ - } - }; - --# ifdef __STL_USE_OLD_HP_ITERATOR_QUERIES -+# ifdef _STLP_USE_OLD_HP_ITERATOR_QUERIES - template --inline output_iterator_tag __ITERATOR_CATEGORY(const raw_storage_iterator<_ForwardIterator, _Tp>&) { return output_iterator_tag(); } -+inline output_iterator_tag iterator_category(const raw_storage_iterator<_ForwardIterator, _Tp>&) { return output_iterator_tag(); } - #endif --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --#endif /* __SGI_STL_INTERNAL_RAW_STORAGE_ITERATOR_H */ -+#endif /* _STLP_INTERNAL_RAW_STORAGE_ITERATOR_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_relops.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_relops.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_relops.h Sat Feb 24 10:45:02 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_relops.h Sun Aug 11 18:59:25 2002 -@@ -28,37 +28,6 @@ - * You should not attempt to use it directly. - */ - --#ifndef __SGI_STL_INTERNAL_RELOPS --#define __SGI_STL_INTERNAL_RELOPS -- --# if defined (__STL_USE_NAMESPACES) || ! defined (__STL_USE_SEPARATE_RELOPS_NAMESPACE) --__STL_BEGIN_RELOPS_NAMESPACE -- --template --inline bool __STL_CALL operator!=(const _Tp& __x, const _Tp& __y) { -- return !(__x == __y); --} -- --template --inline bool __STL_CALL operator>(const _Tp& __x, const _Tp& __y) { -- return __y < __x; --} -- --template --inline bool __STL_CALL operator<=(const _Tp& __x, const _Tp& __y) { -- return !(__y < __x); --} -- --template --inline bool __STL_CALL operator>=(const _Tp& __x, const _Tp& __y) { -- return !(__x < __y); --} -- --__STL_END_RELOPS_NAMESPACE -- --# endif --#endif /* __SGI_STL_INTERNAL_RELOPS */ -- - // Local Variables: - // mode:C++ - // End: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_relops_cont.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_relops_cont.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_relops_cont.h Sat Feb 24 10:45:02 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_relops_cont.h Sun Aug 11 18:59:25 2002 -@@ -1,27 +1,27 @@ - // This is an implementation file which --// is intended to be included multiple times with different __STL_ASSOCIATIVE_CONTAINER -+// is intended to be included multiple times with different _STLP_ASSOCIATIVE_CONTAINER - // setting - --__STL_TEMPLATE_HEADER --inline bool __STL_CALL operator==(const __STL_TEMPLATE_CONTAINER& __x, -- const __STL_TEMPLATE_CONTAINER& __y) { -+_STLP_TEMPLATE_HEADER -+inline bool _STLP_CALL operator==(const _STLP_TEMPLATE_CONTAINER& __x, -+ const _STLP_TEMPLATE_CONTAINER& __y) { - return __x.size() == __y.size() && - equal(__x.begin(), __x.end(), __y.begin()); - } - --__STL_TEMPLATE_HEADER --inline bool __STL_CALL operator<(const __STL_TEMPLATE_CONTAINER& __x, -- const __STL_TEMPLATE_CONTAINER& __y) { -+_STLP_TEMPLATE_HEADER -+inline bool _STLP_CALL operator<(const _STLP_TEMPLATE_CONTAINER& __x, -+ const _STLP_TEMPLATE_CONTAINER& __y) { - return lexicographical_compare(__x.begin(), __x.end(), - __y.begin(), __y.end()); - } - --__STL_RELOPS_OPERATORS( __STL_TEMPLATE_HEADER , __STL_TEMPLATE_CONTAINER ) -+_STLP_RELOPS_OPERATORS( _STLP_TEMPLATE_HEADER , _STLP_TEMPLATE_CONTAINER ) - --#ifdef __STL_FUNCTION_TMPL_PARTIAL_ORDER --__STL_TEMPLATE_HEADER --inline void __STL_CALL swap(__STL_TEMPLATE_CONTAINER& __x, -- __STL_TEMPLATE_CONTAINER& __y) { -+#ifdef _STLP_FUNCTION_TMPL_PARTIAL_ORDER -+_STLP_TEMPLATE_HEADER -+inline void _STLP_CALL swap(_STLP_TEMPLATE_CONTAINER& __x, -+ _STLP_TEMPLATE_CONTAINER& __y) { - __x.swap(__y); - } --#endif /* __STL_FUNCTION_TMPL_PARTIAL_ORDER */ -+#endif /* _STLP_FUNCTION_TMPL_PARTIAL_ORDER */ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_rope.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_rope.c ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_rope.c Sat Feb 24 10:45:03 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_rope.c Sun Aug 11 18:59:25 2002 -@@ -24,31 +24,31 @@ - // if necessary. Assumes path_end[leaf_index] and leaf_pos are correct. - // Results in a valid buf_ptr if the iterator can be legitimately - // dereferenced. --# ifndef __SGI_STL_ROPEIMPL_H --# define __SGI_STL_ROPEIMPL_H -+# ifndef _STLP_ROPEIMPL_H -+# define _STLP_ROPEIMPL_H - --# ifndef __STLPORT_CSTDIO -+#ifndef _STLP_INTERNAL_ROPE_H -+# include -+#endif -+ -+# ifndef _STLP_CSTDIO - # include - # endif - --#ifndef __STLPORT_IOSTREAM -+#ifndef _STLP_IOSTREAM - # include - #endif - - # include - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - --# if defined ( __STL_NESTED_TYPE_PARAM_BUG ) --# define __size_type__ size_t -+# if defined ( _STLP_NESTED_TYPE_PARAM_BUG ) - # define __allocator__ _Alloc - # else - # define __allocator__ allocator_type --# define __size_type__ __STL_TYPENAME_ON_RETURN_TYPE rope<_CharT, _Alloc>::size_type - # endif - --#undef __size_type__ -- - template - _Rope_iterator<_CharT, _Alloc>::_Rope_iterator(rope<_CharT,_Alloc>* __r, size_t __pos) - : _Rope_iterator_base<_CharT,_Alloc>(__r->_M_tree_ptr._M_data, __pos), -@@ -118,7 +118,7 @@ - } - break; - default: -- __STL_ASSERT(0) -+ _STLP_ASSERT(0) - ; - } - } -@@ -136,7 +136,7 @@ - size_t __pos = __x._M_current_pos; - unsigned char __dirns = 0; // Bit vector marking right turns in the path - -- __STL_ASSERT(__pos <= __x._M_root->_M_size._M_data) -+ _STLP_ASSERT(__pos <= __x._M_root->_M_size._M_data) - if (__pos >= __x._M_root->_M_size._M_data) { - __x._M_buf_ptr = 0; - return; -@@ -154,7 +154,7 @@ - } - for(;;) { - ++__curr_depth; -- __STL_ASSERT(__curr_depth <= _RopeRep::_S_max_rope_depth) -+ _STLP_ASSERT(__curr_depth <= _RopeRep::_S_max_rope_depth) - __path[__curr_depth] = __curr_rope; - switch(__curr_rope->_M_tag) { - case _RopeRep::_S_leaf: -@@ -210,13 +210,13 @@ - unsigned char __dirns = __x._M_path_directions; - _Rope_RopeConcatenation<_CharT,_Alloc>* __c; - -- __STL_ASSERT(__x._M_current_pos <= __x._M_root->_M_size._M_data) -+ _STLP_ASSERT(__x._M_current_pos <= __x._M_root->_M_size._M_data) - if (__x._M_current_pos - __node_start_pos < __len) { - /* More stuff in this leaf, we just didn't cache it. */ - _S_setbuf(__x); - return; - } -- __STL_ASSERT(__node_start_pos + __len == __x._M_current_pos) -+ _STLP_ASSERT(__node_start_pos + __len == __x._M_current_pos) - // node_start_pos is starting position of last_node. - while (--__current_index >= 0) { - if (!(__dirns & 1) /* Path turned left */) -@@ -316,53 +316,52 @@ - switch(_M_tag) { - case _S_leaf: - { -- _Rope_RopeLeaf<_CharT,_Alloc>* __l -- = (_Rope_RopeLeaf<_CharT,_Alloc>*)this; -- __l->_Rope_RopeLeaf<_CharT,_Alloc>::~_Rope_RopeLeaf(); -- __stl_alloc_create((const allocator_type&)_M_size, -- (_Rope_RopeLeaf<_CharT,_Alloc>*)0).deallocate(__l, 1); -+ typedef _Rope_RopeLeaf<_CharT,_Alloc> _Rope_RopeLeaf_T; -+ _Rope_RopeLeaf_T* __l = (_Rope_RopeLeaf_T*)this; -+ _Destroy(__l); // ->_Rope_RopeLeaf<_CharT,_Alloc>::~_Rope_RopeLeaf(); -+ _STLP_CREATE_ALLOCATOR(allocator_type,(const allocator_type&)_M_size, _Rope_RopeLeaf_T).deallocate(__l, 1); - break; - } - case _S_concat: - { -- _Rope_RopeConcatenation<_CharT,_Alloc>* __c -- = (_Rope_RopeConcatenation<_CharT,_Alloc>*)this; -- __c->_Rope_RopeConcatenation<_CharT,_Alloc>:: -- ~_Rope_RopeConcatenation(); -- __stl_alloc_create((const allocator_type&)_M_size, -- (_Rope_RopeConcatenation<_CharT,_Alloc>*)0).deallocate(__c, 1); -+ typedef _Rope_RopeConcatenation<_CharT,_Alloc> _Rope_RopeConcatenation_T; -+ _Rope_RopeConcatenation_T* __c = (_Rope_RopeConcatenation_T*)this; -+ _Destroy(__c); -+ _STLP_CREATE_ALLOCATOR(allocator_type,(const allocator_type&)_M_size, -+ _Rope_RopeConcatenation_T).deallocate(__c, 1); - break; - } - case _S_function: - { -- _Rope_RopeFunction<_CharT,_Alloc>* __f -- = (_Rope_RopeFunction<_CharT,_Alloc>*)this; -- __f->_Rope_RopeFunction<_CharT,_Alloc>::~_Rope_RopeFunction(); -- __stl_alloc_create((const allocator_type&)_M_size, -- (_Rope_RopeFunction<_CharT,_Alloc>*)0).deallocate(__f, 1); -+ typedef _Rope_RopeFunction<_CharT,_Alloc> _Rope_RopeFunctionT; -+ _Rope_RopeFunctionT* __f = (_Rope_RopeFunctionT*)this; -+ _Destroy(__f); -+ _STLP_CREATE_ALLOCATOR(allocator_type,(const allocator_type&)_M_size, -+ _Rope_RopeFunctionT).deallocate(__f, 1); - break; - } - case _S_substringfn: - { -- _Rope_RopeSubstring<_CharT,_Alloc>* __ss = -- (_Rope_RopeSubstring<_CharT,_Alloc>*)this; -- __ss->_Rope_RopeSubstring<_CharT,_Alloc>:: -- ~_Rope_RopeSubstring(); -- __stl_alloc_create((const allocator_type&)_M_size, -- (_Rope_RopeSubstring<_CharT,_Alloc>*)0).deallocate(__ss, 1); -+ typedef _Rope_RopeSubstring<_CharT,_Alloc> _Rope_RopeSubstring_T; -+ _Rope_RopeSubstring_T* __ss = (_Rope_RopeSubstring_T*)this; -+ _Destroy(__ss); -+ _STLP_CREATE_ALLOCATOR(allocator_type,(const allocator_type&)_M_size, -+ _Rope_RopeSubstring_T).deallocate(__ss, 1); - break; - } - } - } - #endif - --# if defined ( __STL_NESTED_TYPE_PARAM_BUG ) -+# if defined ( _STLP_NESTED_TYPE_PARAM_BUG ) - # define __RopeLeaf__ _Rope_RopeLeaf<_CharT,_Alloc> - # define __RopeRep__ _Rope_RopeRep<_CharT,_Alloc> -+# define _RopeLeaf _Rope_RopeLeaf<_CharT,_Alloc> -+# define _RopeRep _Rope_RopeRep<_CharT,_Alloc> - # define size_type size_t - # else --# define __RopeLeaf__ __STL_TYPENAME_ON_RETURN_TYPE rope<_CharT,_Alloc>::_RopeLeaf --# define __RopeRep__ __STL_TYPENAME_ON_RETURN_TYPE rope<_CharT,_Alloc>::_RopeRep -+# define __RopeLeaf__ _STLP_TYPENAME_ON_RETURN_TYPE rope<_CharT,_Alloc>::_RopeLeaf -+# define __RopeRep__ _STLP_TYPENAME_ON_RETURN_TYPE rope<_CharT,_Alloc>::_RopeRep - # endif - - // Concatenate a C string onto a leaf rope by copying the rope data. -@@ -370,7 +369,7 @@ - template - __RopeLeaf__* - rope<_CharT,_Alloc>::_S_leaf_concat_char_iter -- (__RopeLeaf__* __r, const _CharT* __iter, size_t __len) -+ (_RopeLeaf* __r, const _CharT* __iter, size_t __len) - { - size_t __old_len = __r->_M_size._M_data; - _CharT* __new_data = __r->_M_size.allocate(_S_rounded_up_size(__old_len + __len)); -@@ -379,11 +378,11 @@ - uninitialized_copy_n(__r->_M_data, __old_len, __new_data); - uninitialized_copy_n(__iter, __len, __new_data + __old_len); - _S_cond_store_eos(__new_data[__old_len + __len]); -- __STL_TRY { -+ _STLP_TRY { - __result = _S_new_RopeLeaf(__new_data, __old_len + __len, - __r->get_allocator()); - } -- __STL_UNWIND(_RopeRep::_S_free_string(__new_data, __old_len + __len, -+ _STLP_UNWIND(_RopeRep::_S_free_string(__new_data, __old_len + __len, - __r->get_allocator())); - return __result; - } -@@ -393,9 +392,9 @@ - template - __RopeLeaf__* - rope<_CharT,_Alloc>::_S_destr_leaf_concat_char_iter -- (__RopeLeaf__* __r, const _CharT* __iter, size_t __len) -+ (_RopeLeaf* __r, const _CharT* __iter, size_t __len) - { -- __STL_ASSERT(__r->_M_ref_count >= 1) -+ _STLP_ASSERT(__r->_M_ref_count >= 1) - if (__r->_M_ref_count > 1) - return _S_leaf_concat_char_iter(__r, __iter, __len); - size_t __old_len = __r->_M_size._M_data; -@@ -405,18 +404,18 @@ - uninitialized_copy_n(__iter, __len, __r->_M_data + __old_len); - if (_S_is_basic_char_type((_CharT*)0)) { - _S_cond_store_eos(__r->_M_data[__old_len + __len]); -- __STL_ASSERT(__r->_M_c_string == __r->_M_data) -+ _STLP_ASSERT(__r->_M_c_string == __r->_M_data) - } else if (__r->_M_c_string != __r->_M_data && 0 != __r->_M_c_string) { - __r->_M_free_c_string(); - __r->_M_c_string = 0; - } - __r->_M_size._M_data = __old_len + __len; -- __STL_ASSERT(__r->_M_ref_count == 1) -+ _STLP_ASSERT(__r->_M_ref_count == 1) - __r->_M_ref_count = 2; - return __r; - } else { - _RopeLeaf* __result = _S_leaf_concat_char_iter(__r, __iter, __len); -- __STL_ASSERT(__result->_M_ref_count == 1) -+ _STLP_ASSERT(__result->_M_ref_count == 1) - return __result; - } - } -@@ -427,29 +426,29 @@ - // Result has ref count 1. - template - __RopeRep__* --rope<_CharT,_Alloc>::_S_tree_concat (__RopeRep__* __left, __RopeRep__* __right) -+rope<_CharT,_Alloc>::_S_tree_concat (_RopeRep* __left, _RopeRep* __right) - { - _RopeConcatenation* __result = - _S_new_RopeConcatenation(__left, __right, __left->get_allocator()); - size_t __depth = __result->_M_depth; - -- __STL_ASSERT(__left->get_allocator() == __right->get_allocator()) -+ _STLP_ASSERT(__left->get_allocator() == __right->get_allocator()) - if (__depth > 20 && (__result->_M_size._M_data < 1000 || - __depth > _RopeRep::_S_max_rope_depth)) { - _RopeRep* __balanced; - -- __STL_TRY { -+ _STLP_TRY { - __balanced = _S_balance(__result); - # ifndef __GC - if (__result != __balanced) { -- __STL_ASSERT(1 == __result->_M_ref_count -+ _STLP_ASSERT(1 == __result->_M_ref_count - && 1 == __balanced->_M_ref_count) - } - # endif - __result->_M_unref_nonnil(); - } -- __STL_UNWIND((__stl_alloc_create((allocator_type&)__left->_M_size, -- (_RopeConcatenation*)0).deallocate(__result,1))); -+ _STLP_UNWIND((_STLP_CREATE_ALLOCATOR(allocator_type,(allocator_type&)__left->_M_size, -+ _RopeConcatenation).deallocate(__result,1))); - // In case of exception, we need to deallocate - // otherwise dangling result node. But caller - // still owns its children. Thus unref is -@@ -463,7 +462,7 @@ - template - __RopeRep__* - rope<_CharT,_Alloc>::_S_concat_char_iter -- (__RopeRep__* __r, const _CharT*__s, size_t __slen) -+ (_RopeRep* __r, const _CharT*__s, size_t __slen) - { - _RopeRep* __result; - if (0 == __slen) { -@@ -471,13 +470,13 @@ - return __r; - } - if (0 == __r) -- return __STL_ROPE_FROM_UNOWNED_CHAR_PTR(__s, __slen, -+ return _STLP_ROPE_FROM_UNOWNED_CHAR_PTR(__s, __slen, - /* __r->get_allocator()*/ allocator_type() ); - if (_RopeRep::_S_leaf == __r->_M_tag && - __r->_M_size._M_data + __slen <= _S_copy_max) { - __result = _S_leaf_concat_char_iter((_RopeLeaf*)__r, __s, __slen); - # ifndef __GC -- __STL_ASSERT(1 == __result->_M_ref_count) -+ _STLP_ASSERT(1 == __result->_M_ref_count) - # endif - return __result; - } -@@ -490,25 +489,25 @@ - _RopeRep* __nright = - _S_leaf_concat_char_iter((_RopeLeaf*)__right, __s, __slen); - __left->_M_ref_nonnil(); -- __STL_TRY { -+ _STLP_TRY { - __result = _S_tree_concat(__left, __nright); - } -- __STL_UNWIND(_S_unref(__left); _S_unref(__nright)); -+ _STLP_UNWIND(_S_unref(__left); _S_unref(__nright)); - # ifndef __GC -- __STL_ASSERT(1 == __result->_M_ref_count) -+ _STLP_ASSERT(1 == __result->_M_ref_count) - # endif - return __result; - } - } - _RopeRep* __nright = -- __STL_ROPE_FROM_UNOWNED_CHAR_PTR(__s, __slen, __r->get_allocator()); -- __STL_TRY { -+ _STLP_ROPE_FROM_UNOWNED_CHAR_PTR(__s, __slen, __r->get_allocator()); -+ _STLP_TRY { - __r->_M_ref_nonnil(); - __result = _S_tree_concat(__r, __nright); - } -- __STL_UNWIND(_S_unref(__r); _S_unref(__nright)); -+ _STLP_UNWIND(_S_unref(__r); _S_unref(__nright)); - # ifndef __GC -- __STL_ASSERT(1 == __result->_M_ref_count) -+ _STLP_ASSERT(1 == __result->_M_ref_count) - # endif - return __result; - } -@@ -517,15 +516,15 @@ - template - __RopeRep__* - rope<_CharT,_Alloc>::_S_destr_concat_char_iter( -- __RopeRep__* __r, const _CharT* __s, size_t __slen) -+ _RopeRep* __r, const _CharT* __s, size_t __slen) - { - _RopeRep* __result; - if (0 == __r) -- return __STL_ROPE_FROM_UNOWNED_CHAR_PTR(__s, __slen, -+ return _STLP_ROPE_FROM_UNOWNED_CHAR_PTR(__s, __slen, - /* __r-> */allocator_type()); - size_t __count = __r->_M_ref_count; - size_t __orig_size = __r->_M_size._M_data; -- __STL_ASSERT(__count >= 1) -+ _STLP_ASSERT(__count >= 1) - if (__count > 1) return _S_concat_char_iter(__r, __s, __slen); - if (0 == __slen) { - __r->_M_ref_count = 2; // One more than before -@@ -543,13 +542,13 @@ - _RopeRep* __new_right = - _S_destr_leaf_concat_char_iter(__right, __s, __slen); - if (__right == __new_right) { -- __STL_ASSERT(__new_right->_M_ref_count == 2) -+ _STLP_ASSERT(__new_right->_M_ref_count == 2) - __new_right->_M_ref_count = 1; - } else { -- __STL_ASSERT(__new_right->_M_ref_count >= 1) -+ _STLP_ASSERT(__new_right->_M_ref_count >= 1) - __right->_M_unref_nonnil(); - } -- __STL_ASSERT(__r->_M_ref_count == 1) -+ _STLP_ASSERT(__r->_M_ref_count == 1) - __r->_M_ref_count = 2; // One more than before. - ((_RopeConcatenation*)__r)->_M_right = __new_right; - // E.Musser : moved below -@@ -563,20 +562,20 @@ - } - } - _RopeRep* __right = -- __STL_ROPE_FROM_UNOWNED_CHAR_PTR(__s, __slen, __r->get_allocator()); -+ _STLP_ROPE_FROM_UNOWNED_CHAR_PTR(__s, __slen, __r->get_allocator()); - __r->_M_ref_nonnil(); -- __STL_TRY { -+ _STLP_TRY { - __result = _S_tree_concat(__r, __right); - } -- __STL_UNWIND(_S_unref(__r); _S_unref(__right)) -- __STL_ASSERT(1 == __result->_M_ref_count) -+ _STLP_UNWIND(_S_unref(__r); _S_unref(__right)) -+ _STLP_ASSERT(1 == __result->_M_ref_count) - return __result; - } - #endif /* !__GC */ - - template - __RopeRep__* --rope<_CharT,_Alloc>::_S_concat_rep(__RopeRep__* __left, __RopeRep__* __right) -+rope<_CharT,_Alloc>::_S_concat_rep(_RopeRep* __left, _RopeRep* __right) - { - if (0 == __left) { - _S_ref(__right); -@@ -604,27 +603,27 @@ - ((_RopeLeaf*)__right)->_M_data, - __right->_M_size._M_data); - __leftleft->_M_ref_nonnil(); -- __STL_TRY { -+ _STLP_TRY { - return(_S_tree_concat(__leftleft, __rest)); - } -- __STL_UNWIND(_S_unref(__leftleft); _S_unref(__rest)) -+ _STLP_UNWIND(_S_unref(__leftleft); _S_unref(__rest)) - } - } - } - __left->_M_ref_nonnil(); - __right->_M_ref_nonnil(); -- __STL_TRY { -+ _STLP_TRY { - return(_S_tree_concat(__left, __right)); - } -- __STL_UNWIND(_S_unref(__left); _S_unref(__right)); --#ifdef __STL_THROW_RETURN_BUG -+ _STLP_UNWIND(_S_unref(__left); _S_unref(__right)); -+#ifdef _STLP_THROW_RETURN_BUG - return 0; - #endif - } - - template - __RopeRep__* --rope<_CharT,_Alloc>::_S_substring(__RopeRep__* __base, -+rope<_CharT,_Alloc>::_S_substring(_RopeRep* __base, - size_t __start, size_t __endp1) - { - if (0 == __base) return 0; -@@ -661,13 +660,13 @@ - _S_substring(__left, __start, __left_len)); - _Self_destruct_ptr __right_result( - _S_substring(__right, 0, __endp1 - __left_len)); -- __STL_MPWFIX_TRY //*TY 06/01/2000 - mpw forgets to call dtor on __left_result and __right_result without this try block -+ _STLP_MPWFIX_TRY //*TY 06/01/2000 - mpw forgets to call dtor on __left_result and __right_result without this try block - __result = _S_concat_rep(__left_result, __right_result); - # ifndef __GC -- __STL_ASSERT(1 == __result->_M_ref_count) -+ _STLP_ASSERT(1 == __result->_M_ref_count) - # endif - return __result; -- __STL_MPWFIX_CATCH //*TY 06/01/2000 - -+ _STLP_MPWFIX_CATCH //*TY 06/01/2000 - - } - case _RopeRep::_S_leaf: - { -@@ -684,7 +683,7 @@ - __result->_M_c_string = 0; // Not eos terminated. - # else - // We should sometimes create substring node instead. -- __result = __STL_ROPE_FROM_UNOWNED_CHAR_PTR( -+ __result = _STLP_ROPE_FROM_UNOWNED_CHAR_PTR( - __l->_M_data + __start, __result_len, - __base->get_allocator()); - # endif -@@ -715,10 +714,10 @@ - - if (__result_len > __lazy_threshold) goto lazy; - _CharT* __section = __base->_M_size.allocate(_S_rounded_up_size(__result_len)); -- __STL_TRY { -+ _STLP_TRY { - (*(__f->_M_fn))(__start, __result_len, __section); - } -- __STL_UNWIND(_RopeRep::_S_free_string( -+ _STLP_UNWIND(_RopeRep::_S_free_string( - __section, __result_len, __base->get_allocator())); - _S_cond_store_eos(__section[__result_len]); - return _S_new_RopeLeaf(__section, __result_len, -@@ -726,7 +725,7 @@ - } - } - /*NOTREACHED*/ -- __STL_ASSERT(false) -+ _STLP_ASSERT(false) - lazy: - { - // Create substring node. -@@ -773,8 +772,8 @@ - } - }; - --#if !defined (__STL_USE_NO_IOSTREAMS) --#if defined (__STL_USE_NEW_IOSTREAMS) -+#if !defined (_STLP_USE_NO_IOSTREAMS) -+#if defined (_STLP_USE_NEW_IOSTREAMS) - template - // Here _CharT is both the stream and rope character type. - #else -@@ -785,7 +784,7 @@ - #endif - class _Rope_insert_char_consumer : public _Rope_char_consumer<_CharT> { - private: --# if defined (__STL_USE_NEW_IOSTREAMS) -+# if defined (_STLP_USE_NEW_IOSTREAMS) - typedef basic_ostream<_CharT,_Traits> _Insert_ostream; - # else - typedef ostream _Insert_ostream; -@@ -805,7 +804,7 @@ - // Returns true to continue traversal. - }; - --# if defined ( __STL_USE_NEW_IOSTREAMS ) -+# if defined ( _STLP_USE_NEW_IOSTREAMS ) - # if defined(__MRC__)||defined(__SC__) //*TY 05/23/2000 - added support for mpw compiler's trigger function approach to generate vtable - template - _Rope_insert_char_consumer<_CharT, _Traits>:: ~_Rope_insert_char_consumer() {} -@@ -836,8 +835,8 @@ - return true; - } - --# if !defined (__STL_NO_METHOD_SPECIALIZATION) --__STL_TEMPLATE_NULL -+# if !defined (_STLP_NO_METHOD_SPECIALIZATION) -+_STLP_TEMPLATE_NULL - inline bool - _Rope_insert_char_consumer::operator() - (const char* __leaf, size_t __n) -@@ -847,14 +846,14 @@ - return true; - } - --#endif /* __STL_METHOD_SPECIALIZATION */ --#endif /* __STL_USE_NEW_IOSTREAM */ --#endif /* if !defined (__STL_USE_NO_IOSTREAMS) */ -+#endif /* _STLP_METHOD_SPECIALIZATION */ -+#endif /* _STLP_USE_NEW_IOSTREAM */ -+#endif /* if !defined (_STLP_USE_NO_IOSTREAMS) */ - - template - bool rope<_CharT, _Alloc>::_S_apply_to_pieces( - _Rope_char_consumer<_CharT>& __c, -- const __RopeRep__* __r, -+ const _RopeRep* __r, - size_t __begin, size_t __end) - { - if (0 == __r) return true; -@@ -865,13 +864,13 @@ - _RopeRep* __left = __conc->_M_left; - size_t __left_len = __left->_M_size._M_data; - if (__begin < __left_len) { -- size_t __left_end = min(__left_len, __end); -+ size_t __left_end = (min) (__left_len, __end); - if (!_S_apply_to_pieces(__c, __left, __begin, __left_end)) - return false; - } - if (__end > __left_len) { - _RopeRep* __right = __conc->_M_right; -- size_t __right_start = max(__left_len, __begin); -+ size_t __right_start = (max)(__left_len, __begin); - if (!_S_apply_to_pieces(__c, __right, - __right_start - __left_len, - __end - __left_len)) { -@@ -893,17 +892,17 @@ - bool __result; - _CharT* __buffer = - (_CharT*)__sgi_alloc::allocate(__len * sizeof(_CharT)); -- __STL_TRY { -+ _STLP_TRY { - (*(__f->_M_fn))(__begin, __len, __buffer); - __result = __c.operator()(__buffer, __len); - __sgi_alloc::deallocate(__buffer, __len * sizeof(_CharT)); - } -- __STL_UNWIND((__sgi_alloc::deallocate(__buffer, -+ _STLP_UNWIND((__sgi_alloc::deallocate(__buffer, - __len * sizeof(_CharT)))) - return __result; - } - default: -- __STL_ASSERT(false) -+ _STLP_ASSERT(false) - /*NOTREACHED*/ - return false; - } -@@ -911,12 +910,12 @@ - - template inline bool _Rope_is_simple(_CharT*) { return false; } - inline bool _Rope_is_simple(char*) { return true; } --# ifdef __STL_HAS_WCHAR_T -+# ifdef _STLP_HAS_WCHAR_T - inline bool _Rope_is_simple(wchar_t*) { return true; } - # endif - --#if !defined (__STL_USE_NO_IOSTREAMS) --#if defined (__STL_USE_NEW_IOSTREAMS) -+#if !defined (_STLP_USE_NO_IOSTREAMS) -+#if defined (_STLP_USE_NEW_IOSTREAMS) - template - inline void _Rope_fill(basic_ostream<_CharT, _Traits>& __o, size_t __n) - #else -@@ -929,7 +928,7 @@ - for (__i = 0; __i < __n; __i++) __o.put(__f); - } - --#if defined (__STL_USE_NEW_IOSTREAMS) -+#if defined (_STLP_USE_NEW_IOSTREAMS) - template - basic_ostream<_CharT, _Traits>& operator<< - (basic_ostream<_CharT, _Traits>& __o, -@@ -943,7 +942,7 @@ - bool __left = bool(__o.flags() & ios::left); - size_t __pad_len; - size_t __rope_len = __r.size(); --# if defined (__STL_USE_NEW_IOSTREAMS) -+# if defined (_STLP_USE_NEW_IOSTREAMS) - _Rope_insert_char_consumer<_CharT, _Traits> __c(__o); - # else - _Rope_insert_char_consumer<_CharT> __c(__o); -@@ -956,7 +955,7 @@ - __pad_len = 0; - } - if (!__is_simple) __o.width(__w/__rope_len); -- __STL_TRY { -+ _STLP_TRY { - if (__is_simple && !__left && __pad_len > 0) { - _Rope_fill(__o, __pad_len); - } -@@ -967,7 +966,7 @@ - if (!__is_simple) - __o.width(__w); - } -- __STL_UNWIND(if (!__is_simple) __o.width(__w)) -+ _STLP_UNWIND(if (!__is_simple) __o.width(__w)) - return __o; - } - -@@ -975,7 +974,7 @@ - - template - _CharT* --rope<_CharT,_Alloc>::_S_flatten(__RopeRep__* __r, -+rope<_CharT,_Alloc>::_S_flatten(_RopeRep* __r, - size_t __start, size_t __len, - _CharT* __buffer) - { -@@ -991,7 +990,7 @@ - _Rope_find_char_char_consumer<_CharT> __c(__pattern); - _S_apply_to_pieces(__c, _M_tree_ptr._M_data, __start, size()); - size_type __result_pos = __start + __c._M_count; --# ifndef __STL_OLD_ROPE_SEMANTICS -+# ifndef _STLP_OLD_ROPE_SEMANTICS - if (__result_pos == size()) __result_pos = npos; - # endif - return __result_pos; -@@ -1026,7 +1025,7 @@ - return __buffer + __f->_M_size._M_data; - } - default: -- __STL_ASSERT(false) -+ _STLP_ASSERT(false) - /*NOTREACHED*/ - return 0; - } -@@ -1036,11 +1035,11 @@ - // This needs work for _CharT != char - template - void --rope<_CharT,_Alloc>::_S_dump(__RopeRep__* __r, int __indent) -+rope<_CharT,_Alloc>::_S_dump(_RopeRep* __r, int __indent) - { - for (int __i = 0; __i < __indent; __i++) putchar(' '); - if (0 == __r) { -- printf("NULL\n"); return; -+ printf("NULL\n"); return; - } - if (_RopeRep::_S_concat == __r->_M_tag) { - _RopeConcatenation* __c = (_RopeConcatenation*)__r; -@@ -1111,7 +1110,7 @@ - /* 42 */701408733ul, /* 43 */1134903170ul, /* 44 */1836311903ul, \ - /* 45 */2971215073ul } - --# if ( __STL_STATIC_TEMPLATE_DATA > 0 ) -+# if ( _STLP_STATIC_TEMPLATE_DATA > 0 ) - template - const unsigned long - rope<_CharT,_Alloc>::_S_min_len[__ROPE_DEPTH_SIZE] __ROPE_TABLE_BODY ; -@@ -1119,9 +1118,11 @@ - __DECLARE_INSTANCE(const unsigned long, - crope::_S_min_len[__ROPE_DEPTH_SIZE], - __ROPE_TABLE_BODY); -+# ifndef _STLP_NO_WCHAR_T - __DECLARE_INSTANCE(const unsigned long, - wrope::_S_min_len[__ROPE_DEPTH_SIZE], - __ROPE_TABLE_BODY); -+# endif - # endif - # undef __ROPE_DEPTH_SIZE - # undef __ROPE_MAX_DEPTH -@@ -1131,7 +1132,7 @@ - - template - __RopeRep__* --rope<_CharT,_Alloc>::_S_balance(__RopeRep__* __r) -+rope<_CharT,_Alloc>::_S_balance(_RopeRep* __r) - { - _RopeRep* __forest[_RopeRep::_S_max_rope_depth + 1]; - _RopeRep* __result = 0; -@@ -1144,7 +1145,7 @@ - - for (__i = 0; __i <= _RopeRep::_S_max_rope_depth; ++__i) - __forest[__i] = 0; -- __STL_TRY { -+ _STLP_TRY { - _S_add_to_forest(__r, __forest); - for (__i = 0; __i <= _RopeRep::_S_max_rope_depth; ++__i) - if (0 != __forest[__i]) { -@@ -1153,12 +1154,12 @@ - # endif - __result = _S_concat_rep(__forest[__i], __result); - __forest[__i]->_M_unref_nonnil(); --# if !defined(__GC) && defined(__STL_USE_EXCEPTIONS) -+# if !defined(__GC) && defined(_STLP_USE_EXCEPTIONS) - __forest[__i] = 0; - # endif - } - } -- __STL_UNWIND(for(__i = 0; __i <= _RopeRep::_S_max_rope_depth; __i++) -+ _STLP_UNWIND(for(__i = 0; __i <= _RopeRep::_S_max_rope_depth; __i++) - _S_unref(__forest[__i])) - if (__result->_M_depth > _RopeRep::_S_max_rope_depth) { - __stl_throw_range_error("rope too long"); -@@ -1169,13 +1170,13 @@ - - template - void --rope<_CharT,_Alloc>::_S_add_to_forest(__RopeRep__* __r, __RopeRep__** __forest) -+rope<_CharT,_Alloc>::_S_add_to_forest(_RopeRep* __r, _RopeRep** __forest) - { - if (__r -> _M_is_balanced) { - _S_add_leaf_to_forest(__r, __forest); - return; - } -- __STL_ASSERT(__r->_M_tag == _RopeRep::_S_concat) -+ _STLP_ASSERT(__r->_M_tag == _RopeRep::_S_concat) - { - _RopeConcatenation* __c = (_RopeConcatenation*)__r; - -@@ -1187,7 +1188,7 @@ - - template - void --rope<_CharT,_Alloc>::_S_add_leaf_to_forest(__RopeRep__* __r, __RopeRep__** __forest) -+rope<_CharT,_Alloc>::_S_add_leaf_to_forest(_RopeRep* __r, _RopeRep** __forest) - { - _RopeRep* __insertee; // included in refcount - _RopeRep* __too_tiny = 0; // included in refcount -@@ -1212,8 +1213,8 @@ - } - // Too_tiny dead, and no longer included in refcount. - // Insertee is live and included. -- __STL_ASSERT(_S_is_almost_balanced(__insertee)) -- __STL_ASSERT(__insertee->_M_depth <= __r->_M_depth + 1) -+ _STLP_ASSERT(_S_is_almost_balanced(__insertee)) -+ _STLP_ASSERT(__insertee->_M_depth <= __r->_M_depth + 1) - for (;; ++__i) { - if (0 != __forest[__i]) { - # ifndef __GC -@@ -1222,10 +1223,10 @@ - __insertee = _S_concat_and_set_balanced(__forest[__i], __insertee); - __forest[__i]->_M_unref_nonnil(); - __forest[__i] = 0; -- __STL_ASSERT(_S_is_almost_balanced(__insertee)) -+ _STLP_ASSERT(_S_is_almost_balanced(__insertee)) - } -- __STL_ASSERT(_S_min_len[__i] <= __insertee->_M_size._M_data) -- __STL_ASSERT(__forest[__i] == 0) -+ _STLP_ASSERT(_S_min_len[__i] <= __insertee->_M_size._M_data) -+ _STLP_ASSERT(__forest[__i] == 0) - if (__i == _RopeRep::_S_max_rope_depth || - __insertee->_M_size._M_data < _S_min_len[__i+1]) { - __forest[__i] = __insertee; -@@ -1237,11 +1238,11 @@ - - template - _CharT --rope<_CharT,_Alloc>::_S_fetch(__RopeRep__* __r, size_type __i) -+rope<_CharT,_Alloc>::_S_fetch(_RopeRep* __r, size_type __i) - { - __GC_CONST _CharT* __cstr = __r->_M_c_string; - -- __STL_ASSERT(__i < __r->_M_size._M_data) -+ _STLP_ASSERT(__i < __r->_M_size._M_data) - if (0 != __cstr) return __cstr[__i]; - for(;;) { - switch(__r->_M_tag) { -@@ -1275,7 +1276,7 @@ - } - } - } --#if defined(__STL_NEED_UNREACHABLE_RETURN) -+#if defined(_STLP_NEED_UNREACHABLE_RETURN) - return 0; - #endif - } -@@ -1285,7 +1286,7 @@ - // position, or 0 if that's not possible. - template - _CharT* --rope<_CharT,_Alloc>::_S_fetch_ptr(__RopeRep__* __r, size_type __i) -+rope<_CharT,_Alloc>::_S_fetch_ptr(_RopeRep* __r, size_type __i) - { - _RopeRep* __clrstack[_RopeRep::_S_max_rope_depth]; - size_t __csptr = 0; -@@ -1326,7 +1327,7 @@ - return 0; - } - } --#if defined(__STL_NEED_UNREACHABLE_RETURN) -+#if defined(_STLP_NEED_UNREACHABLE_RETURN) - return 0; - #endif - -@@ -1339,8 +1340,8 @@ - // flat strings. - template - int --rope<_CharT,_Alloc>::_S_compare (const __RopeRep__* __left, -- const __RopeRep__* __right) -+rope<_CharT,_Alloc>::_S_compare (const _RopeRep* __left, -+ const _RopeRep* __right) - { - size_t __left_len; - size_t __right_len; -@@ -1403,12 +1404,12 @@ - _My_rope::_S_destr_concat_char_iter(__left, &__c, 1)); - - # ifndef __GC -- __STL_ASSERT(__left == __result_left || 1 == __result_left->_M_ref_count) -+ _STLP_ASSERT(__left == __result_left || 1 == __result_left->_M_ref_count) - # endif - _RopeRep* __result = - _My_rope::_S_concat_rep(__result_left, __right); - # ifndef __GC -- __STL_ASSERT(1 <= __result->_M_ref_count) -+ _STLP_ASSERT(1 <= __result->_M_ref_count) - _RopeRep::_S_unref(__old); - # endif - _M_root->_M_tree_ptr._M_data = __result; -@@ -1421,15 +1422,15 @@ - return _Rope_char_ptr_proxy<_CharT, _Alloc>(*this); - } - --# if ( __STL_STATIC_TEMPLATE_DATA > 0 ) -+# if ( _STLP_STATIC_TEMPLATE_DATA > 0 ) - template - _CharT rope<_CharT,_Alloc>::_S_empty_c_str[1] = { _CharT() }; - # else - __DECLARE_INSTANCE(char, crope::_S_empty_c_str[1], ={0}); --# ifdef __STL_HAS_WCHAR_T -+# ifdef _STLP_HAS_WCHAR_T - __DECLARE_INSTANCE(wchar_t, wrope::_S_empty_c_str[1], ={0}); --# endif /* __STL_HAS_WCHAR_T */ --# endif /* __STL_STATIC_TEMPLATE_DATA */ -+# endif /* _STLP_HAS_WCHAR_T */ -+# endif /* _STLP_STATIC_TEMPLATE_DATA */ - // # endif - - template -@@ -1442,20 +1443,20 @@ - __GC_CONST _CharT* __old_c_string = _M_tree_ptr._M_data->_M_c_string; - if (0 != __old_c_string) return(__old_c_string); - size_t __s = size(); -- _CharT* __result = __stl_alloc_create((const allocator_type&)_M_tree_ptr, (_CharT*)0).allocate(__s + 1); -+ _CharT* __result = _STLP_CREATE_ALLOCATOR(allocator_type,(const allocator_type&)_M_tree_ptr, _CharT).allocate(__s + 1); - _S_flatten(_M_tree_ptr._M_data, __result); - __result[__s] = _S_eos((_CharT*)0); - # ifdef __GC - _M_tree_ptr._M_data->_M_c_string = __result; - # else - if ((__old_c_string = (__GC_CONST _CharT*) -- _Atomic_swap((unsigned long *)(&(_M_tree_ptr._M_data->_M_c_string)), -- (unsigned long)__result)) != 0) { -+ _Atomic_swap((__stl_atomic_t *)(&(_M_tree_ptr._M_data->_M_c_string)), -+ (__stl_atomic_t)__result)) != 0) { - // It must have been added in the interim. Hence it had to have been - // separately allocated. Deallocate the old copy, since we just - // replaced it. - _Destroy(__old_c_string, __old_c_string + __s + 1); -- __stl_alloc_create((const allocator_type&)_M_tree_ptr, (_CharT*)0).deallocate(__old_c_string, __s + 1); -+ _STLP_CREATE_ALLOCATOR(allocator_type,(const allocator_type&)_M_tree_ptr, _CharT).deallocate(__old_c_string, __s + 1); - } - # endif - return(__result); -@@ -1482,7 +1483,7 @@ - - // Algorithm specializations. More should be added. - --#ifndef __STL_MSVC -+#ifndef _STLP_MSVC - // I couldn't get this to work with VC++ - template - void -@@ -1490,7 +1491,7 @@ - _Rope_iterator<_CharT,_Alloc> __middle, - _Rope_iterator<_CharT,_Alloc> __last) - { -- __STL_ASSERT(__first.container() == __middle.container() -+ _STLP_ASSERT(__first.container() == __middle.container() - && __middle.container() == __last.container()) - rope<_CharT,_Alloc>& __r(__first.container()); - rope<_CharT,_Alloc> __prefix = __r.substr(0, __first.index()); -@@ -1516,19 +1517,22 @@ - // for unicode strings. Unsigned short may be a better character - // type. - inline void rotate( -- _Rope_iterator __first, -- _Rope_iterator __middle, -- _Rope_iterator __last) { -+ _Rope_iterator __first, -+ _Rope_iterator __middle, -+ _Rope_iterator __last) { - _Rope_rotate(__first, __middle, __last); - } - # endif --#endif /* __STL_MSVC */ -+#endif /* _STLP_MSVC */ - - # undef __RopeLeaf__ - # undef __RopeRep__ -+# undef __RopeLeaf -+# undef __RopeRep - # undef size_type - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE -+ - # endif /* ROPEIMPL_H */ - - // Local Variables: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_rope.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_rope.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_rope.h Sat Feb 24 10:45:05 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_rope.h Sun Aug 11 18:59:25 2002 -@@ -30,58 +30,65 @@ - // valid. Thus ropes can be logically copied by just copying - // a pointer value. - --#ifndef __SGI_STL_INTERNAL_ROPE_H --# define __SGI_STL_INTERNAL_ROPE_H -+#ifndef _STLP_INTERNAL_ROPE_H -+# define _STLP_INTERNAL_ROPE_H - --# ifndef __SGI_STL_INTERNAL_ALGOBASE_H -+# ifndef _STLP_INTERNAL_ALGOBASE_H - # include - # endif - --# ifndef __STLPORT_IOSFWD -+# ifndef _STLP_IOSFWD - # include - # endif - --# ifndef __SGI_STL_INTERNAL_ALLOC_H -+# ifndef _STLP_INTERNAL_ALLOC_H - # include - # endif - --# ifndef __SGI_STL_INTERNAL_ITERATOR_H -+# ifndef _STLP_INTERNAL_ITERATOR_H - # include - # endif - --# ifndef __SGI_STL_INTERNAL_ALGO_H -+# ifndef _STLP_INTERNAL_ALGO_H - # include - # endif - --# ifndef __SGI_STL_INTERNAL_FUNCTION_H -+# ifndef _STLP_INTERNAL_FUNCTION_H - # include - # endif - --# ifndef __SGI_STL_INTERNAL_NUMERIC_H -+# ifndef _STLP_INTERNAL_NUMERIC_H - # include - # endif - --# ifndef __SGI_STL_INTERNAL_HASH_FUN_H -+# ifndef _STLP_INTERNAL_HASH_FUN_H - # include - # endif - - # ifdef __GC - # define __GC_CONST const - # else --# include -+# include - # define __GC_CONST // constant except for deallocation - # endif --# ifdef __STL_SGI_THREADS -+# ifdef _STLP_SGI_THREADS - # include - # endif - --__STL_BEGIN_NAMESPACE -+#ifdef _STLP_MEMBER_TEMPLATE_CLASSES -+# define _STLP_CREATE_ALLOCATOR(__atype,__a, _Tp) (_Alloc_traits<_Tp,__atype>::create_allocator(__a)) -+#elif defined(__MRC__)||defined(__SC__) -+# define _STLP_CREATE_ALLOCATOR(__atype,__a, _Tp) __stl_alloc_create<_Tp,__atype>(__a,(_Tp*)0) -+#else -+# define _STLP_CREATE_ALLOCATOR(__atype,__a, _Tp) __stl_alloc_create(__a,(_Tp*)0) -+#endif - -+_STLP_BEGIN_NAMESPACE - - // First a lot of forward declarations. The standard seems to require - // much stricter "declaration before use" than many of the implementations - // that preceded it. --template class rope; -+template class rope; - template struct _Rope_RopeConcatenation; - template struct _Rope_RopeRep; - template struct _Rope_RopeLeaf; -@@ -110,7 +117,7 @@ - template - inline - rope<_CharT,_Alloc> --identity_element(_Rope_Concat_fn<_CharT, _Alloc>) -+__identity_element(_Rope_Concat_fn<_CharT, _Alloc>) - { - return rope<_CharT,_Alloc>(); - } -@@ -124,9 +131,9 @@ - inline _CharT _S_eos(_CharT*) { return _CharT(); } - - // fbp : some compilers fail to zero-initialize builtins ;( --inline char _S_eos(const char*) { return 0; } --# ifdef __STL_HAS_WCHAR_T --inline wchar_t _S_eos(const wchar_t*) { return 0; } -+inline const char _S_eos(const char*) { return 0; } -+# ifdef _STLP_HAS_WCHAR_T -+inline const wchar_t _S_eos(const wchar_t*) { return 0; } - # endif - - // Test for basic character types. -@@ -138,7 +145,7 @@ - - inline bool _S_is_basic_char_type(char*) { return true; } - inline bool _S_is_one_byte_char_type(char*) { return true; } --# ifdef __STL_HAS_WCHAR_T -+# ifdef _STLP_HAS_WCHAR_T - inline bool _S_is_basic_char_type(wchar_t*) { return true; } - # endif - -@@ -148,7 +155,7 @@ - inline void _S_cond_store_eos(_CharT&) {} - - inline void _S_cond_store_eos(char& __c) { __c = 0; } --# ifdef __STL_HAS_WCHAR_T -+# ifdef _STLP_HAS_WCHAR_T - inline void _S_cond_store_eos(wchar_t& __c) { __c = 0; } - # endif - -@@ -183,29 +190,29 @@ - // little like containers. - - template - // The 3rd parameter works around a common compiler bug. --class sequence_buffer : public output_iterator { -+class sequence_buffer : public iterator { - public: - # ifndef __TYPEDEF_WORKAROUND - typedef typename _Sequence::value_type value_type; - typedef sequence_buffer<_Sequence --# if !(defined (__STL_NON_TYPE_TMPL_PARAM_BUG) || \ -- defined ( __STL_NO_DEFAULT_NON_TYPE_PARAM )) -+# if !(defined (_STLP_NON_TYPE_TMPL_PARAM_BUG) || \ -+ defined ( _STLP_NO_DEFAULT_NON_TYPE_PARAM )) - , _Buf_sz - > _Self; --# else /* __STL_NON_TYPE_TMPL_PARAM_BUG */ -+# else /* _STLP_NON_TYPE_TMPL_PARAM_BUG */ - > _Self; - enum { _Buf_sz = 100}; --# endif /* __STL_NON_TYPE_TMPL_PARAM_BUG */ -+# endif /* _STLP_NON_TYPE_TMPL_PARAM_BUG */ - // # endif - # else /* __TYPEDEF_WORKAROUND */ - typedef _V value_type; -@@ -336,7 +343,7 @@ - // instances have real state. Thus this macro is invoked repeatedly - // with different definitions of __ROPE_DEFINE_ALLOC. - --#if defined (__STL_MEMBER_TEMPLATE_CLASSES) -+#if defined (_STLP_MEMBER_TEMPLATE_CLASSES) - # define __ROPE_DEFINE_ALLOC(_Tp, __name, _M_proxy) \ - typedef typename \ - _Alloc_traits<_Tp,_Alloc>::allocator_type __name##Allocator; -@@ -379,6 +386,7 @@ - _Tag _M_tag:8; - bool _M_is_balanced:8; - -+ _STLP_FORCE_ALLOCATORS(_CharT, _Alloc) - typedef typename _Alloc_traits<_CharT,_Alloc>::allocator_type - allocator_type; - -@@ -386,9 +394,9 @@ - - unsigned char _M_depth; - __GC_CONST _CharT* _M_c_string; -- _STL_alloc_proxy _M_size; -+ _STLP_alloc_proxy _M_size; - --# ifdef __SGI_STL_NO_ARROW_OPERATOR -+# ifdef _STLP_NO_ARROW_OPERATOR - _Rope_RopeRep() : _Refcount_Base(1), _M_size(allocator_type(), 0) {} - # endif - -@@ -434,8 +442,8 @@ - _Destroy(__s, __s + __len); - } - // This has to be a static member, so this gets a bit messy --# ifdef __STL_MEMBER_TEMPLATE_CLASSES -- __a.deallocate(__s, _S_rounded_up_size(__len)); -+# ifdef _STLP_MEMBER_TEMPLATE_CLASSES -+ __a.deallocate(__s, _S_rounded_up_size(__len)); //*ty 03/24/2001 - restored not to use __stl_alloc_rebind() since it is not defined under _STLP_MEMBER_TEMPLATE_CLASSES - # else - __stl_alloc_rebind (__a, (_CharT*)0).deallocate(__s, _S_rounded_up_size(__len)); - # endif -@@ -453,7 +461,7 @@ - // Deallocate t. Assumes t is not 0. - void _M_unref_nonnil() - { -- if (0 == _M_decr()) _M_free_tree(); -+ _M_decr(); if (!_M_ref_count) _M_free_tree(); - } - void _M_ref_nonnil() - { -@@ -492,19 +500,20 @@ - /* _S_rounded_up_size(size), except */ - /* in the GC case, in which it */ - /* doesn't matter. */ -+ _STLP_FORCE_ALLOCATORS(_CharT, _Alloc) - typedef typename _Rope_RopeRep<_CharT,_Alloc>::allocator_type allocator_type; - _Rope_RopeLeaf(__GC_CONST _CharT* __d, size_t _p_size, allocator_type __a) - : _Rope_RopeRep<_CharT,_Alloc>(_Rope_RopeRep<_CharT,_Alloc>::_S_leaf, 0, true, _p_size, __a), - _M_data(__d) - { -- __STL_ASSERT(_p_size > 0) -+ _STLP_ASSERT(_p_size > 0) - if (_S_is_basic_char_type((_CharT *)0)) { - // already eos terminated. - this->_M_c_string = __d; - } - } - --# ifdef __SGI_STL_NO_ARROW_OPERATOR -+# ifdef _STLP_NO_ARROW_OPERATOR - _Rope_RopeLeaf() {} - _Rope_RopeLeaf(const _Rope_RopeLeaf<_CharT, _Alloc>& ) {} - # endif -@@ -527,16 +536,17 @@ - public: - _Rope_RopeRep<_CharT,_Alloc>* _M_left; - _Rope_RopeRep<_CharT,_Alloc>* _M_right; -+ _STLP_FORCE_ALLOCATORS(_CharT, _Alloc) - typedef typename _Rope_RopeRep<_CharT,_Alloc>::allocator_type allocator_type; - _Rope_RopeConcatenation(_Rope_RopeRep<_CharT,_Alloc>* __l, - _Rope_RopeRep<_CharT,_Alloc>* __r, - allocator_type __a) - : _Rope_RopeRep<_CharT,_Alloc>( - _Rope_RopeRep<_CharT,_Alloc>::_S_concat, -- max(__l->_M_depth, __r->_M_depth) + 1, false, -+ (max)(__l->_M_depth, __r->_M_depth) + 1, false, - __l->_M_size._M_data + __r->_M_size._M_data, __a), _M_left(__l), _M_right(__r) - {} --# ifdef __SGI_STL_NO_ARROW_OPERATOR -+# ifdef _STLP_NO_ARROW_OPERATOR - _Rope_RopeConcatenation() {} - _Rope_RopeConcatenation(const _Rope_RopeConcatenation<_CharT, _Alloc>&) {} - # endif -@@ -569,8 +579,9 @@ - delete ((_Rope_RopeFunction *)__tree) -> _M_fn; - } - # endif -+ _STLP_FORCE_ALLOCATORS(_CharT, _Alloc) - typedef typename _Rope_RopeRep<_CharT,_Alloc>::allocator_type allocator_type; --# ifdef __SGI_STL_NO_ARROW_OPERATOR -+# ifdef _STLP_NO_ARROW_OPERATOR - _Rope_RopeFunction() {} - _Rope_RopeFunction(const _Rope_RopeFunction<_CharT, _Alloc>& ) {} - # endif -@@ -584,7 +595,7 @@ - , _M_delete_when_done(__d) - # endif - { -- __STL_ASSERT(_p_size > 0) -+ _STLP_ASSERT(_p_size > 0) - # ifdef __GC - if (__d) { - GC_REGISTER_FINALIZER( -@@ -609,8 +620,13 @@ - // In all cases except repeated substring operations and - // deallocation, we treat the __result as a RopeFunction. - template -+# if ( defined (__IBMCPP__) && (__IBMCPP__ == 500) ) // JFA 10-Aug-2000 for some reason xlC cares about the order -+struct _Rope_RopeSubstring : public char_producer<_CharT> , public _Rope_RopeFunction<_CharT,_Alloc> -+# else - struct _Rope_RopeSubstring : public _Rope_RopeFunction<_CharT,_Alloc>, -- public char_producer<_CharT> { -+ public char_producer<_CharT> -+# endif -+{ - public: - // XXX this whole class should be rewritten. - typedef _Rope_RopeRep<_CharT,_Alloc> _Base; -@@ -624,8 +640,8 @@ - { - char_producer<_CharT>* __fn = - ((_Rope_RopeFunction<_CharT,_Alloc>*)_M_base)->_M_fn; -- __STL_ASSERT(__start_pos + __req_len <= this->_M_size._M_data) -- __STL_ASSERT(_M_start + this->_M_size._M_data <= _M_base->_M_size._M_data) -+ _STLP_ASSERT(__start_pos + __req_len <= this->_M_size._M_data) -+ _STLP_ASSERT(_M_start + this->_M_size._M_data <= _M_base->_M_size._M_data) - (*__fn)(__start_pos + _M_start, __req_len, __buffer); - } - break; -@@ -638,11 +654,12 @@ - } - break; - default: -- __STL_ASSERT(false) -+ _STLP_ASSERT(false) - ; - } - } - -+ _STLP_FORCE_ALLOCATORS(_CharT, _Alloc) - typedef typename _Rope_RopeRep<_CharT,_Alloc>::allocator_type allocator_type; - - _Rope_RopeSubstring(_Rope_RopeRep<_CharT,_Alloc>* __b, size_t __s, -@@ -652,8 +669,8 @@ - _M_start(__s) - - { -- __STL_ASSERT(__l > 0) -- __STL_ASSERT(__s + __l <= __b->_M_size._M_data) -+ _STLP_ASSERT(__l > 0) -+ _STLP_ASSERT(__s + __l <= __b->_M_size._M_data) - # ifndef __GC - _M_base->_M_ref_nonnil(); - # endif -@@ -682,7 +699,7 @@ - _Rope_RopeRep<_CharT,_Alloc>* _M_ptr; - ~_Rope_self_destruct_ptr() - { _Rope_RopeRep<_CharT,_Alloc>::_S_unref(_M_ptr); } --# ifdef __STL_USE_EXCEPTIONS -+# ifdef _STLP_USE_EXCEPTIONS - _Rope_self_destruct_ptr() : _M_ptr(0) {}; - # else - _Rope_self_destruct_ptr() {}; -@@ -739,7 +756,7 @@ - } - }; - --#ifdef __STL_FUNCTION_TMPL_PARTIAL_ORDER -+#ifdef _STLP_FUNCTION_TMPL_PARTIAL_ORDER - template - inline void swap(_Rope_char_ref_proxy <_CharT, __Alloc > __a, - _Rope_char_ref_proxy <_CharT, __Alloc > __b) { -@@ -762,9 +779,9 @@ - __b = __tmp; \ - } - --_ROPE_SWAP_SPECIALIZATION(char,__STL_DEFAULT_ALLOCATOR(char) ) -+_ROPE_SWAP_SPECIALIZATION(char,_STLP_DEFAULT_ALLOCATOR(char) ) - --#endif /* !__STL_FUNCTION_TMPL_PARTIAL_ORDER */ -+#endif /* !_STLP_FUNCTION_TMPL_PARTIAL_ORDER */ - - template - class _Rope_char_ptr_proxy { -@@ -781,7 +798,7 @@ - : _M_pos(__x._M_pos), _M_root(__x._M_root) {} - _Rope_char_ptr_proxy() {} - _Rope_char_ptr_proxy(_CharT* __x) : _M_pos(0), _M_root(0) { -- __STL_ASSERT(0 == __x) -+ _STLP_ASSERT(0 == __x) - } - _Self& - operator= (const _Self& __x) { -@@ -885,7 +902,7 @@ - typedef _Rope_iterator_base<_CharT,_Alloc> _Base; - // protected: - public: --# ifdef __STL_HAS_NAMESPACES -+# ifndef _STLP_HAS_NO_NAMESPACES - typedef _Rope_RopeRep<_CharT,_Alloc> _RopeRep; - // The one from the base class may not be directly visible. - # endif -@@ -1078,21 +1095,21 @@ - } - }; - --# ifdef __STL_USE_OLD_HP_ITERATOR_QUERIES -+# ifdef _STLP_USE_OLD_HP_ITERATOR_QUERIES - template - inline random_access_iterator_tag --__ITERATOR_CATEGORY(const _Rope_iterator<_CharT,_Alloc>&) { return random_access_iterator_tag();} -+iterator_category(const _Rope_iterator<_CharT,_Alloc>&) { return random_access_iterator_tag();} - template --inline _CharT* __VALUE_TYPE(const _Rope_iterator<_CharT,_Alloc>&) { return 0; } -+inline _CharT* value_type(const _Rope_iterator<_CharT,_Alloc>&) { return 0; } - template --inline ptrdiff_t* __DISTANCE_TYPE(const _Rope_iterator<_CharT,_Alloc>&) { return 0; } -+inline ptrdiff_t* distance_type(const _Rope_iterator<_CharT,_Alloc>&) { return 0; } - template - inline random_access_iterator_tag --__ITERATOR_CATEGORY(const _Rope_const_iterator<_CharT,_Alloc>&) { return random_access_iterator_tag(); } -+iterator_category(const _Rope_const_iterator<_CharT,_Alloc>&) { return random_access_iterator_tag(); } - template --inline _CharT* __VALUE_TYPE(const _Rope_const_iterator<_CharT,_Alloc>&) { return 0; } -+inline _CharT* value_type(const _Rope_const_iterator<_CharT,_Alloc>&) { return 0; } - template --inline ptrdiff_t* __DISTANCE_TYPE(const _Rope_const_iterator<_CharT,_Alloc>&) { return 0; } -+inline ptrdiff_t* distance_type(const _Rope_const_iterator<_CharT,_Alloc>&) { return 0; } - #endif - - template -@@ -1117,7 +1134,7 @@ - friend class _Rope_char_ref_proxy<_CharT,_Alloc>; - friend struct _Rope_RopeSubstring<_CharT,_Alloc>; - -- __STL_DECLARE_RANDOM_ACCESS_REVERSE_ITERATORS; -+ _STLP_DECLARE_RANDOM_ACCESS_REVERSE_ITERATORS; - - protected: - typedef __GC_CONST _CharT* _Cstrptr; -@@ -1131,11 +1148,12 @@ - - public: - typedef _Rope_RopeRep<_CharT, _Alloc> _RopeRep; -+ _STLP_FORCE_ALLOCATORS(_CharT, _Alloc) - typedef typename _Alloc_traits<_CharT,_Alloc>::allocator_type allocator_type; - allocator_type get_allocator() const { return allocator_type(_M_tree_ptr); } - public: - // The only data member of a rope: -- _STL_alloc_proxy<_RopeRep*, _CharT, allocator_type> _M_tree_ptr; -+ _STLP_alloc_proxy<_RopeRep*, _CharT, allocator_type> _M_tree_ptr; - - typedef _Rope_RopeConcatenation<_CharT,_Alloc> _RopeConcatenation; - typedef _Rope_RopeLeaf<_CharT,_Alloc> _RopeLeaf; -@@ -1236,13 +1254,12 @@ - static _RopeLeaf* _S_new_RopeLeaf(__GC_CONST _CharT *__s, - size_t _p_size, allocator_type __a) - { -- _RopeLeaf* __space = __stl_alloc_create(__a, -- (_RopeLeaf*)0).allocate(1,(const void*)0); -- __STL_TRY { -- __STL_PLACEMENT_NEW(__space) _RopeLeaf(__s, _p_size, __a); -+ _RopeLeaf* __space = _STLP_CREATE_ALLOCATOR(allocator_type,__a, _RopeLeaf).allocate(1,(const void*)0); -+ _STLP_TRY { -+ _STLP_PLACEMENT_NEW(__space) _RopeLeaf(__s, _p_size, __a); - } -- __STL_UNWIND(__stl_alloc_create(__a, -- (_RopeLeaf*)0).deallocate(__space, 1)) -+ _STLP_UNWIND(_STLP_CREATE_ALLOCATOR(allocator_type,__a, -+ _RopeLeaf).deallocate(__space, 1)) - return __space; - } - -@@ -1250,29 +1267,29 @@ - _RopeRep* __left, _RopeRep* __right, - allocator_type __a) - { -- _RopeConcatenation* __space = __stl_alloc_create(__a, -- (_RopeConcatenation*)0).allocate(1,(const void*)0); -- return __STL_PLACEMENT_NEW(__space) _RopeConcatenation(__left, __right, __a); -+ _RopeConcatenation* __space = _STLP_CREATE_ALLOCATOR(allocator_type,__a, -+ _RopeConcatenation).allocate(1,(const void*)0); -+ return _STLP_PLACEMENT_NEW(__space) _RopeConcatenation(__left, __right, __a); - } - - static _RopeFunction* _S_new_RopeFunction(char_producer<_CharT>* __f, - size_t _p_size, bool __d, allocator_type __a) - { -- _RopeFunction* __space = __stl_alloc_create(__a, -- (_RopeFunction*)0).allocate(1,(const void*)0); -- return __STL_PLACEMENT_NEW(__space) _RopeFunction(__f, _p_size, __d, __a); -+ _RopeFunction* __space = _STLP_CREATE_ALLOCATOR(allocator_type,__a, -+ _RopeFunction).allocate(1,(const void*)0); -+ return _STLP_PLACEMENT_NEW(__space) _RopeFunction(__f, _p_size, __d, __a); - } - - static _RopeSubstring* _S_new_RopeSubstring( - _Rope_RopeRep<_CharT,_Alloc>* __b, size_t __s, - size_t __l, allocator_type __a) - { -- _RopeSubstring* __space = __stl_alloc_create(__a, -- (_RopeSubstring*)0).allocate(1,(const void*)0); -- return __STL_PLACEMENT_NEW(__space) _RopeSubstring(__b, __s, __l, __a); -+ _RopeSubstring* __space = _STLP_CREATE_ALLOCATOR(allocator_type,__a, -+ _RopeSubstring).allocate(1,(const void*)0); -+ return _STLP_PLACEMENT_NEW(__space) _RopeSubstring(__b, __s, __l, __a); - } - --# define __STL_ROPE_FROM_UNOWNED_CHAR_PTR(__s, _p_size, __a) \ -+# define _STLP_ROPE_FROM_UNOWNED_CHAR_PTR(__s, _p_size, __a) \ - _S_RopeLeaf_from_unowned_char_ptr(__s, _p_size, __a) - - static -@@ -1280,20 +1297,18 @@ - size_t _p_size, allocator_type __a) - { - if (0 == _p_size) return 0; --#ifdef __STL_MEMBER_TEMPLATE_CLASSES -- _CharT* __buf = __a.allocate(_S_rounded_up_size(_p_size)); --#else -- _CharT* __buf = __stl_alloc_rebind(__a, (_CharT*)0).allocate(_S_rounded_up_size(_p_size)); --#endif -+ -+ _CharT* __buf = _STLP_CREATE_ALLOCATOR(allocator_type,__a, _CharT).allocate(_S_rounded_up_size(_p_size)); -+ - uninitialized_copy_n(__s, _p_size, __buf); - _S_cond_store_eos(__buf[_p_size]); - -- __STL_TRY { -+ _STLP_TRY { - return _S_new_RopeLeaf(__buf, _p_size, __a); - } -- __STL_UNWIND(_RopeRep::_S_free_string(__buf, _p_size, __a)) -+ _STLP_UNWIND(_RopeRep::_S_free_string(__buf, _p_size, __a)) - --# if defined (__STL_THROW_RETURN_BUG) -+# if defined (_STLP_THROW_RETURN_BUG) - return 0; - # endif - } -@@ -1406,12 +1421,12 @@ - } - - rope(const _CharT* __s, const allocator_type& __a = allocator_type()) -- : _M_tree_ptr(__a, __STL_ROPE_FROM_UNOWNED_CHAR_PTR(__s, _S_char_ptr_len(__s),__a)) -+ : _M_tree_ptr(__a, _STLP_ROPE_FROM_UNOWNED_CHAR_PTR(__s, _S_char_ptr_len(__s),__a)) - { } - - rope(const _CharT* __s, size_t __len, - const allocator_type& __a = allocator_type()) -- : _M_tree_ptr(__a, (__STL_ROPE_FROM_UNOWNED_CHAR_PTR(__s, __len, __a))) -+ : _M_tree_ptr(__a, (_STLP_ROPE_FROM_UNOWNED_CHAR_PTR(__s, __len, __a))) - { } - - // Should perhaps be templatized with respect to the iterator type -@@ -1419,7 +1434,7 @@ - // even now.) - rope(const _CharT *__s, const _CharT *__e, - const allocator_type& __a = allocator_type()) -- : _M_tree_ptr(__a, __STL_ROPE_FROM_UNOWNED_CHAR_PTR(__s, __e - __s, __a)) -+ : _M_tree_ptr(__a, _STLP_ROPE_FROM_UNOWNED_CHAR_PTR(__s, __e - __s, __a)) - { } - - rope(const const_iterator& __s, const const_iterator& __e, -@@ -1440,10 +1455,10 @@ - _CharT* __buf = _M_tree_ptr.allocate(_S_rounded_up_size(1)); - - _Construct(__buf, __c); -- __STL_TRY { -+ _STLP_TRY { - _M_tree_ptr._M_data = _S_new_RopeLeaf(__buf, 1, __a); - } -- __STL_UNWIND(_RopeRep::_S_free_string(__buf, 1, __a)) -+ _STLP_UNWIND(_RopeRep::_S_free_string(__buf, 1, __a)) - } - - rope(size_t __n, _CharT __c, -@@ -1468,10 +1483,10 @@ - _CharT* __rest_buffer = _M_tree_ptr.allocate(_S_rounded_up_size(__rest)); - uninitialized_fill_n(__rest_buffer, __rest, __c); - _S_cond_store_eos(__rest_buffer[__rest]); -- __STL_TRY { -+ _STLP_TRY { - __remainder = _S_new_RopeLeaf(__rest_buffer, __rest, __a); - } -- __STL_UNWIND(_RopeRep::_S_free_string(__rest_buffer, __rest, __a)) -+ _STLP_UNWIND(_RopeRep::_S_free_string(__rest_buffer, __rest, __a)) - } - __remainder_rope._M_tree_ptr._M_data = __remainder; - if (__exponent != 0) { -@@ -1481,17 +1496,17 @@ - rope<_CharT,_Alloc> __base_rope; - uninitialized_fill_n(__base_buffer, __exponentiate_threshold, __c); - _S_cond_store_eos(__base_buffer[__exponentiate_threshold]); -- __STL_TRY { -+ _STLP_TRY { - __base_leaf = _S_new_RopeLeaf(__base_buffer, - __exponentiate_threshold, __a); - } -- __STL_UNWIND(_RopeRep::_S_free_string(__base_buffer, -+ _STLP_UNWIND(_RopeRep::_S_free_string(__base_buffer, - __exponentiate_threshold, __a)) - __base_rope._M_tree_ptr._M_data = __base_leaf; - if (1 == __exponent) { - __result = __base_rope; - # ifndef __GC -- __STL_ASSERT(2 == __result._M_tree_ptr._M_data->_M_ref_count) -+ _STLP_ASSERT(2 == __result._M_tree_ptr._M_data->_M_ref_count) - // One each for base_rope and __result - # endif - } else { -@@ -1534,7 +1549,7 @@ - _Self& operator=(const _Self& __x) - { - _RopeRep* __old = _M_tree_ptr._M_data; -- __STL_ASSERT(get_allocator() == __x.get_allocator()) -+ _STLP_ASSERT(get_allocator() == __x.get_allocator()) - _M_tree_ptr._M_data = __x._M_tree_ptr._M_data; - _S_ref(_M_tree_ptr._M_data); - _S_unref(__old); -@@ -1569,13 +1584,13 @@ - { - _RopeRep* __old = _M_tree_ptr._M_data; - _RopeRep* __left = -- __STL_ROPE_FROM_UNOWNED_CHAR_PTR(&__x, 1, get_allocator()); -- __STL_TRY { -+ _STLP_ROPE_FROM_UNOWNED_CHAR_PTR(&__x, 1, get_allocator()); -+ _STLP_TRY { - _M_tree_ptr._M_data = _S_concat_rep(__left, _M_tree_ptr._M_data); - _S_unref(__old); - _S_unref(__left); - } -- __STL_UNWIND(_S_unref(__left)) -+ _STLP_UNWIND(_S_unref(__left)) - } - - void pop_front() -@@ -1733,8 +1748,8 @@ - } - - _Self& append(const_iterator __s, const_iterator __e) { -- __STL_ASSERT(__s._M_root == __e._M_root) -- __STL_ASSERT(get_allocator() == __s._M_root->get_allocator()) -+ _STLP_ASSERT(__s._M_root == __e._M_root) -+ _STLP_ASSERT(get_allocator() == __s._M_root->get_allocator()) - _Self_destruct_ptr __appendee(_S_substring( - __s._M_root, __s._M_current_pos, __e._M_current_pos)); - _RopeRep* __result = -@@ -1755,7 +1770,7 @@ - _Self& append() { return append(_CharT()); } // XXX why? - - _Self& append(const _Self& __y) { -- __STL_ASSERT(__y.get_allocator() == get_allocator()) -+ _STLP_ASSERT(__y.get_allocator() == get_allocator()) - _RopeRep* __result = _S_concat_rep(_M_tree_ptr._M_data, __y._M_tree_ptr._M_data); - _S_unref(_M_tree_ptr._M_data); - _M_tree_ptr._M_data = __result; -@@ -1768,7 +1783,7 @@ - } - - void swap(_Self& __b) { -- __STL_ASSERT(get_allocator() == __b.get_allocator()) -+ _STLP_ASSERT(get_allocator() == __b.get_allocator()) - _RopeRep* __tmp = _M_tree_ptr._M_data; - _M_tree_ptr._M_data = __b._M_tree_ptr._M_data; - __b._M_tree_ptr._M_data = __tmp; -@@ -1784,25 +1799,25 @@ - _S_substring(__old, 0, __pos1)); - _Self_destruct_ptr __right( - _S_substring(__old, __pos2, __old->_M_size._M_data)); -- __STL_MPWFIX_TRY //*TY 06/01/2000 - -+ _STLP_MPWFIX_TRY //*TY 06/01/2000 - - _RopeRep* __result; - - if (0 == __r) { - __result = _S_concat_rep(__left, __right); - } else { -- __STL_ASSERT(__old->get_allocator() == __r->get_allocator()) -+ _STLP_ASSERT(__old->get_allocator() == __r->get_allocator()) - _Self_destruct_ptr __left_result(_S_concat_rep(__left, __r)); - __result = _S_concat_rep(__left_result, __right); - } - return __result; -- __STL_MPWFIX_CATCH //*TY 06/01/2000 - -+ _STLP_MPWFIX_CATCH //*TY 06/01/2000 - - } - - public: - void insert(size_t __p, const _Self& __r) { - _RopeRep* __result = - replace(_M_tree_ptr._M_data, __p, __p, __r._M_tree_ptr._M_data); -- __STL_ASSERT(get_allocator() == __r.get_allocator()) -+ _STLP_ASSERT(get_allocator() == __r.get_allocator()) - _S_unref(_M_tree_ptr._M_data); - _M_tree_ptr._M_data = __result; - } -@@ -2055,7 +2070,7 @@ - const_iterator __result = search(const_begin() + (ptrdiff_t)__pos, const_end(), - __s, __s + _S_char_ptr_len(__s)); - __result_pos = __result.index(); --# ifndef __STL_OLD_ROPE_SEMANTICS -+# ifndef _STLP_OLD_ROPE_SEMANTICS - if (__result_pos == size()) __result_pos = npos; - # endif - return __result_pos; -@@ -2152,7 +2167,7 @@ - return (__x._M_current_pos < __y._M_current_pos); - } - --#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE -+#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE - - template - inline bool operator!= (const _Rope_const_iterator<_CharT,_Alloc>& __x, -@@ -2178,7 +2193,7 @@ - return !(__x < __y); - } - --#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ -+#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ - - template - inline ptrdiff_t operator-(const _Rope_const_iterator<_CharT,_Alloc>& __x, -@@ -2222,7 +2237,7 @@ - return (__x._M_current_pos < __y._M_current_pos); - } - --#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE -+#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE - - template - inline bool operator!= (const _Rope_iterator<_CharT,_Alloc>& __x, -@@ -2248,7 +2263,7 @@ - return !(__x < __y); - } - --#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ -+#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ - - template - inline ptrdiff_t operator-(const _Rope_iterator<_CharT,_Alloc>& __x, -@@ -2287,7 +2302,7 @@ - operator+ (const rope<_CharT,_Alloc>& __left, - const rope<_CharT,_Alloc>& __right) - { -- __STL_ASSERT(__left.get_allocator() == __right.get_allocator()) -+ _STLP_ASSERT(__left.get_allocator() == __right.get_allocator()) - return rope<_CharT,_Alloc>(rope<_CharT,_Alloc>::_S_concat_rep(__left._M_tree_ptr._M_data, __right._M_tree_ptr._M_data)); - // Inlining this should make it possible to keep __left and - // __right in registers. -@@ -2326,7 +2341,7 @@ - template - inline - rope<_CharT,_Alloc> --operator+ (const rope<_CharT,_Alloc>& __left, __STL_SIMPLE_TYPE(_CharT) __right) { -+operator+ (const rope<_CharT,_Alloc>& __left, _STLP_SIMPLE_TYPE(_CharT) __right) { - return rope<_CharT,_Alloc>( - rope<_CharT,_Alloc>::_S_concat_char_iter( - __left._M_tree_ptr._M_data, &__right, 1)); -@@ -2335,7 +2350,7 @@ - template - inline - rope<_CharT,_Alloc>& --operator+= (rope<_CharT,_Alloc>& __left, __STL_SIMPLE_TYPE(_CharT) __right) { -+operator+= (rope<_CharT,_Alloc>& __left, _STLP_SIMPLE_TYPE(_CharT) __right) { - __left.append(__right); - return __left; - } -@@ -2354,7 +2369,7 @@ - return __left.compare(__right) == 0; - } - --#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE -+#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE - - template - inline bool -@@ -2386,7 +2401,7 @@ - return !(__x == __y); - } - --#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ -+#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ - - template - inline bool operator== (const _Rope_char_ptr_proxy<_CharT,_Alloc>& __x, -@@ -2394,19 +2409,19 @@ - return (__x._M_pos == __y._M_pos && __x._M_root == __y._M_root); - } - --#ifdef __STL_USE_NEW_IOSTREAMS -+#ifdef _STLP_USE_NEW_IOSTREAMS - template - basic_ostream<_CharT, _Traits>& operator<< ( - basic_ostream<_CharT, _Traits>& __o, - const rope<_CharT, _Alloc>& __r); --#elif ! defined (__STL_USE_NO_IOSTREAMS) -+#elif ! defined (_STLP_USE_NO_IOSTREAMS) - template - ostream& operator<< (ostream& __o, const rope<_CharT,_Alloc>& __r); - #endif - --typedef rope crope; --# ifdef __STL_HAS_WCHAR_T --typedef rope wrope; -+typedef rope crope; -+# ifdef _STLP_HAS_WCHAR_T -+typedef rope wrope; - # endif - - inline crope::reference __mutable_reference_at(crope& __c, size_t __i) -@@ -2414,14 +2429,14 @@ - return __c.mutable_reference_at(__i); - } - --# ifdef __STL_HAS_WCHAR_T -+# ifdef _STLP_HAS_WCHAR_T - inline wrope::reference __mutable_reference_at(wrope& __c, size_t __i) - { - return __c.mutable_reference_at(__i); - } - # endif - --#ifdef __STL_FUNCTION_TMPL_PARTIAL_ORDER -+#ifdef _STLP_FUNCTION_TMPL_PARTIAL_ORDER - - template - inline void swap(rope<_CharT,_Alloc>& __x, rope<_CharT,_Alloc>& __y) { -@@ -2429,16 +2444,16 @@ - } - #else - --inline void swap(crope __x, crope __y) { __x.swap(__y); } --# ifdef __STL_HAS_WCHAR_T // dwa 8/21/97 --inline void swap(wrope __x, wrope __y) { __x.swap(__y); } -+inline void swap(crope& __x, crope& __y) { __x.swap(__y); } -+# ifdef _STLP_HAS_WCHAR_T // dwa 8/21/97 -+inline void swap(wrope& __x, wrope& __y) { __x.swap(__y); } - # endif - --#endif /* __STL_FUNCTION_TMPL_PARTIAL_ORDER */ -+#endif /* _STLP_FUNCTION_TMPL_PARTIAL_ORDER */ - - - // Hash functions should probably be revisited later: --__STL_TEMPLATE_NULL struct hash -+_STLP_TEMPLATE_NULL struct hash - { - size_t operator()(const crope& __str) const - { -@@ -2449,8 +2464,8 @@ - } - }; - --# ifdef __STL_HAS_WCHAR_T // dwa 8/21/97 --__STL_TEMPLATE_NULL struct hash -+# ifdef _STLP_HAS_WCHAR_T // dwa 8/21/97 -+_STLP_TEMPLATE_NULL struct hash - { - size_t operator()(const wrope& __str) const - { -@@ -2462,7 +2477,7 @@ - }; - #endif - --#ifndef __STL_MSVC -+#ifndef _STLP_MSVC - // I couldn't get this to work with VC++ - template - void -@@ -2472,9 +2487,9 @@ - - #if !defined(__GNUC__) - // Appears to confuse g++ --inline void rotate(_Rope_iterator __first, -- _Rope_iterator __middle, -- _Rope_iterator __last) { -+inline void rotate(_Rope_iterator __first, -+ _Rope_iterator __middle, -+ _Rope_iterator __last) { - _Rope_rotate(__first, __middle, __last); - } - #endif -@@ -2490,13 +2505,13 @@ - return _My_rope::_S_fetch(_M_root->_M_tree_ptr._M_data, _M_pos); - } - } --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --# if !defined (__STL_LINK_TIME_INSTANTIATION) -+# if !defined (_STLP_LINK_TIME_INSTANTIATION) - # include - # endif - --# endif /* __SGI_STL_INTERNAL_ROPE_H */ -+# endif /* _STLP_INTERNAL_ROPE_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_set.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_set.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_set.h Sat Feb 24 10:45:06 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_set.h Sun Aug 11 18:59:25 2002 -@@ -27,20 +27,20 @@ - * You should not attempt to use it directly. - */ - --#ifndef __SGI_STL_INTERNAL_SET_H --#define __SGI_STL_INTERNAL_SET_H -+#ifndef _STLP_INTERNAL_SET_H -+#define _STLP_INTERNAL_SET_H - --#ifndef __SGI_STL_INTERNAL_TREE_H -+#ifndef _STLP_INTERNAL_TREE_H - #include - #endif - - #define set __WORKAROUND_RENAME(set) - #define multiset __WORKAROUND_RENAME(multiset) - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - template ), -- __STL_DEFAULT_ALLOCATOR_SELECT(_Key) > -+ _STLP_DEFAULT_ALLOCATOR_SELECT(_Key) > - class set { - public: - // typedefs: -@@ -75,19 +75,20 @@ - const allocator_type& __a = allocator_type()) - : _M_t(__comp, __a) {} - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - template - set(_InputIterator __first, _InputIterator __last) - : _M_t(_Compare(), allocator_type()) - { _M_t.insert_unique(__first, __last); } - -+# ifdef _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS - template - set(_InputIterator __first, _InputIterator __last, const _Compare& __comp) - : _M_t(__comp, allocator_type()) { _M_t.insert_unique(__first, __last); } -- -+# endif - template - set(_InputIterator __first, _InputIterator __last, const _Compare& __comp, -- const allocator_type& __a) -+ const allocator_type& __a _STLP_ALLOCATOR_TYPE_DFL) - : _M_t(__comp, __a) { _M_t.insert_unique(__first, __last); } - #else - set(const value_type* __first, const value_type* __last) -@@ -106,7 +107,7 @@ - set(const_iterator __first, const_iterator __last, const _Compare& __comp, - const allocator_type& __a = allocator_type()) - : _M_t(__comp, __a) { _M_t.insert_unique(__first, __last); } --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - set(const set<_Key,_Compare,_Alloc>& __x) : _M_t(__x._M_t) {} - set<_Key,_Compare,_Alloc>& operator=(const set<_Key, _Compare, _Alloc>& __x) -@@ -140,7 +141,7 @@ - typedef typename _Rep_type::iterator _Rep_iterator; - return _M_t.insert_unique((_Rep_iterator&)__position, __x); - } --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - template - void insert(_InputIterator __first, _InputIterator __last) { - _M_t.insert_unique(__first, __last); -@@ -152,7 +153,7 @@ - void insert(const value_type* __first, const value_type* __last) { - _M_t.insert_unique(__first, __last); - } --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - void erase(iterator __position) { - typedef typename _Rep_type::iterator _Rep_iterator; - _M_t.erase((_Rep_iterator&)__position); -@@ -167,8 +168,12 @@ - void clear() { _M_t.clear(); } - - // set operations: -- -+# if defined(_STLP_MEMBER_TEMPLATES) && ! defined ( _STLP_NO_EXTENSIONS ) -+ template -+ iterator find(const _KT& __x) const { return _M_t.find(__x); } -+# else - iterator find(const key_type& __x) const { return _M_t.find(__x); } -+# endif - size_type count(const key_type& __x) const { - return _M_t.find(__x) == _M_t.end() ? 0 : 1 ; - } -@@ -184,7 +189,7 @@ - }; - - template ), -- __STL_DEFAULT_ALLOCATOR_SELECT(_Key) > -+ _STLP_DEFAULT_ALLOCATOR_SELECT(_Key) > - class multiset { - public: - // typedefs: -@@ -219,22 +224,23 @@ - const allocator_type& __a = allocator_type()) - : _M_t(__comp, __a) {} - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - - template - multiset(_InputIterator __first, _InputIterator __last) - : _M_t(_Compare(), allocator_type()) - { _M_t.insert_equal(__first, __last); } - -+# ifdef _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS - template - multiset(_InputIterator __first, _InputIterator __last, - const _Compare& __comp) - : _M_t(__comp, allocator_type()) { _M_t.insert_equal(__first, __last); } -- -+# endif - template - multiset(_InputIterator __first, _InputIterator __last, - const _Compare& __comp, -- const allocator_type& __a) -+ const allocator_type& __a _STLP_ALLOCATOR_TYPE_DFL) - : _M_t(__comp, __a) { _M_t.insert_equal(__first, __last); } - - #else -@@ -257,7 +263,7 @@ - const allocator_type& __a = allocator_type()) - : _M_t(__comp, __a) { _M_t.insert_equal(__first, __last); } - --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - multiset(const multiset<_Key,_Compare,_Alloc>& __x) : _M_t(__x._M_t) {} - multiset<_Key,_Compare,_Alloc>& -@@ -290,7 +296,7 @@ - return _M_t.insert_equal((_Rep_iterator&)__position, __x); - } - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - template - void insert(_InputIterator __first, _InputIterator __last) { - _M_t.insert_equal(__first, __last); -@@ -302,7 +308,7 @@ - void insert(const_iterator __first, const_iterator __last) { - _M_t.insert_equal(__first, __last); - } --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - void erase(iterator __position) { - typedef typename _Rep_type::iterator _Rep_iterator; - _M_t.erase((_Rep_iterator&)__position); -@@ -318,7 +324,12 @@ - - // multiset operations: - -+# if defined(_STLP_MEMBER_TEMPLATES) && ! defined ( _STLP_NO_EXTENSIONS ) -+ template -+ iterator find(const _KT& __x) const { return _M_t.find(__x); } -+# else - iterator find(const key_type& __x) const { return _M_t.find(__x); } -+# endif - size_type count(const key_type& __x) const { return _M_t.count(__x); } - iterator lower_bound(const key_type& __x) const { - return _M_t.lower_bound(__x); -@@ -331,16 +342,16 @@ - } - }; - --# define __STL_TEMPLATE_HEADER template --# define __STL_TEMPLATE_CONTAINER set<_Key,_Compare,_Alloc> -+# define _STLP_TEMPLATE_HEADER template -+# define _STLP_TEMPLATE_CONTAINER set<_Key,_Compare,_Alloc> - # include --# undef __STL_TEMPLATE_CONTAINER --# define __STL_TEMPLATE_CONTAINER multiset<_Key,_Compare,_Alloc> -+# undef _STLP_TEMPLATE_CONTAINER -+# define _STLP_TEMPLATE_CONTAINER multiset<_Key,_Compare,_Alloc> - # include --# undef __STL_TEMPLATE_CONTAINER --# undef __STL_TEMPLATE_HEADER -+# undef _STLP_TEMPLATE_CONTAINER -+# undef _STLP_TEMPLATE_HEADER - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - - // do a cleanup - # undef set -@@ -349,11 +360,11 @@ - # define __set__ __FULL_NAME(set) - # define __multiset__ __FULL_NAME(multiset) - --# ifdef __STL_USE_WRAPPER_FOR_ALLOC_PARAM -+# ifdef _STLP_USE_WRAPPER_FOR_ALLOC_PARAM - # include - # endif - --#endif /* __SGI_STL_INTERNAL_SET_H */ -+#endif /* _STLP_INTERNAL_SET_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_set_operators.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_set_operators.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_set_operators.h Sat Feb 24 10:45:06 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_set_operators.h Sun Aug 11 18:59:25 2002 -@@ -1,54 +1,54 @@ - // This is an implementation file which --// is intended to be included multiple times with different __STL_ASSOCIATIVE_CONTAINER -+// is intended to be included multiple times with different _STLP_ASSOCIATIVE_CONTAINER - // setting - - template --inline bool __STL_CALL operator==(const __STL_SET_FLAVOR<_Key,_Compare,_Alloc>& __x, -- const __STL_SET_FLAVOR<_Key,_Compare,_Alloc>& __y) { -+inline bool _STLP_CALL operator==(const _STLP_SET_FLAVOR<_Key,_Compare,_Alloc>& __x, -+ const _STLP_SET_FLAVOR<_Key,_Compare,_Alloc>& __y) { - return __x.size() == __y.size() && - equal(__x.begin(), __x.end(), __y.begin()); - } - - template --inline bool __STL_CALL operator<(const __STL_SET_FLAVOR<_Key,_Compare,_Alloc>& __x, -- const __STL_SET_FLAVOR<_Key,_Compare,_Alloc>& __y) { -+inline bool _STLP_CALL operator<(const _STLP_SET_FLAVOR<_Key,_Compare,_Alloc>& __x, -+ const _STLP_SET_FLAVOR<_Key,_Compare,_Alloc>& __y) { - return lexicographical_compare(__x.begin(), __x.end(), - __y.begin(), __y.end()); - } - --#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE -+#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE - - template --inline bool __STL_CALL operator!=(const __STL_SET_FLAVOR<_Key,_Compare,_Alloc>& __x, -- const __STL_SET_FLAVOR<_Key,_Compare,_Alloc>& __y) { -+inline bool _STLP_CALL operator!=(const _STLP_SET_FLAVOR<_Key,_Compare,_Alloc>& __x, -+ const _STLP_SET_FLAVOR<_Key,_Compare,_Alloc>& __y) { - return !(__x == __y); - } - - template --inline bool __STL_CALL operator>(const __STL_SET_FLAVOR<_Key,_Compare,_Alloc>& __x, -- const __STL_SET_FLAVOR<_Key,_Compare,_Alloc>& __y) { -+inline bool _STLP_CALL operator>(const _STLP_SET_FLAVOR<_Key,_Compare,_Alloc>& __x, -+ const _STLP_SET_FLAVOR<_Key,_Compare,_Alloc>& __y) { - return __y < __x; - } - - template --inline bool __STL_CALL operator<=(const __STL_SET_FLAVOR<_Key,_Compare,_Alloc>& __x, -- const __STL_SET_FLAVOR<_Key,_Compare,_Alloc>& __y) { -+inline bool _STLP_CALL operator<=(const _STLP_SET_FLAVOR<_Key,_Compare,_Alloc>& __x, -+ const _STLP_SET_FLAVOR<_Key,_Compare,_Alloc>& __y) { - return !(__y < __x); - } - - template --inline bool __STL_CALL operator>=(const __STL_SET_FLAVOR<_Key,_Compare,_Alloc>& __x, -- const __STL_SET_FLAVOR<_Key,_Compare,_Alloc>& __y) { -+inline bool _STLP_CALL operator>=(const _STLP_SET_FLAVOR<_Key,_Compare,_Alloc>& __x, -+ const _STLP_SET_FLAVOR<_Key,_Compare,_Alloc>& __y) { - return !(__x < __y); - } --#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ -+#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ - --#ifdef __STL_FUNCTION_TMPL_PARTIAL_ORDER -+#ifdef _STLP_FUNCTION_TMPL_PARTIAL_ORDER - - template --inline void __STL_CALL swap(__STL_SET_FLAVOR<_Key,_Compare,_Alloc>& __x, -- __STL_SET_FLAVOR<_Key,_Compare,_Alloc>& __y) { -+inline void _STLP_CALL swap(_STLP_SET_FLAVOR<_Key,_Compare,_Alloc>& __x, -+ _STLP_SET_FLAVOR<_Key,_Compare,_Alloc>& __y) { - __x.swap(__y); - } - --#endif /* __STL_FUNCTION_TMPL_PARTIAL_ORDER */ -+#endif /* _STLP_FUNCTION_TMPL_PARTIAL_ORDER */ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_site_config.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_site_config.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_site_config.h Sat Feb 24 10:45:18 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_site_config.h Sun Aug 11 18:59:25 2002 -@@ -4,101 +4,102 @@ - // - - /* -- * __STL_NO_THREADS: if defined, STLport don't use any -+ * _STLP_NO_THREADS: if defined, STLport don't use any - * multithreading support. Synonym is _NOTHREADS - */ - // #define _NOTHREADS --// #define __STL_NO_THREADS -+// #define _STLP_NO_THREADS - - /* _PTHREADS: if defined, use Posix threads for multithreading support. */ - // #define _PTHREADS - --/* -- * Consistency check : if we use SGI iostreams, we have to use consistent -- * thread model (single-threaded or multi-threaded) with the compiled library -- * -- * Default is multithreaded build. If you want to build and use single-threaded -- * STLport, please change __STL_NOTHREADS configuration setting above and rebuild the library -- * -- */ -+// compatibility section - --# if defined (__STL_NO_IOSTREAMS) || defined (__STL_NO_NEW_IOSTREAMS) --# define __STL_NO_SGI_IOSTREAMS -+# if defined (_STLP_NO_IOSTREAMS) || defined (_STLP_NO_NEW_IOSTREAMS) && ! defined ( _STLP_NO_OWN_IOSTREAMS ) -+# define _STLP_NO_OWN_IOSTREAMS - # endif - --# if !defined (__STL_NO_SGI_IOSTREAMS) && ! defined (__SGI_STL_OWN_IOSTREAMS) --# define __SGI_STL_OWN_IOSTREAMS -+# if !defined (_STLP_NO_OWN_IOSTREAMS) && ! defined (_STLP_OWN_IOSTREAMS) -+# define _STLP_OWN_IOSTREAMS - # endif - -- --# if defined (__SGI_STL_OWN_IOSTREAMS) \ -- && !defined (__STL_NO_THREADS) && ! defined (_NOTHREADS) && !defined (_REENTRANT) -- --# if defined(_MSC_VER) && !defined(__MWERKS__) && !defined (__COMO__) && !defined(_MT) --# error "Only multi-threaded runtime library may be linked with STLport!" -+# if (defined (_STLP_NOTHREADS) || defined (_STLP_NO_THREADS) || defined (NOTHREADS)) -+# if ! defined (_NOTHREADS) -+# define _NOTHREADS - # endif -- --// boris : you may change that to build non-threadsafe STLport library --# if defined (__BUILDING_STLPORT) --# define _REENTRANT 1 -+# if ! defined (_STLP_NO_THREADS) -+# define _STLP_NO_THREADS - # endif -- - # endif - - /* -- * Turn __STL_USE_DYNAMIC_LIB to enforce use of .dll version of STLport library. -+ * Turn _STLP_USE_DYNAMIC_LIB to enforce use of .dll version of STLport library. - * NOTE : please do that only if you know what you are doing ! - * Changing default will require you to change makefile in "src" accordingly - * and to rebuild STLPort library ! - * On UNIX, this has no effect. - * - */ --// # define __STL_USE_DYNAMIC_LIB -+// # define _STLP_USE_DYNAMIC_LIB - - /* -- * Turn __STL_USE_STATIC_LIB to enforce use of static version of STLport library. -+ * Turn _STLP_USE_STATIC_LIB to enforce use of static version of STLport library. - * NOTE : please do that only if you know what you are doing ! - * Changing default will require you to change makefile in "src" accordingly - * and to rebuild STLPort library ! - * On UNIX, this has no effect. - * - */ --// # define __STL_USE_STATIC_LIB -+// # define _STLP_USE_STATIC_LIB - - - /* -- * __STL_USE_OWN_NAMESPACE/__STL_NO_OWN_NAMESPACE -+ * Edit relative path below (or put full path) to get native -+ * compiler vendor's headers included. Default is "../include" -+ * Hint : never install STLport in the directory that ends with "include" -+ */ -+// # undef _STLP_NATIVE_INCLUDE_PATH -+// # define _STLP_NATIVE_INCLUDE_PATH ../include -+// same for C library headers like -+// # undef _STLP_NATIVE_CPP_C_INCLUDE_PATH -+// # define _STLP_NATIVE_CPP_C_INCLUDE_PATH ../include -+// same for C headers like -+// # undef _STLP_NATIVE_C_INCLUDE_PATH -+// # define _STLP_NATIVE_C_INCLUDE_PATH ../include -+ -+ -+/* -+ * _STLP_USE_OWN_NAMESPACE/_STLP_NO_OWN_NAMESPACE - * If defined, STLport uses _STL:: namespace, else std:: -- * The reason you have to use separate namespace is that new-style IO -+ * The reason you have to use separate namespace in wrapper mode is that new-style IO - * compiled library may have its own idea about STL stuff (string, vector, etc.), - * so redefining them in the same namespace would break ODR and may cause - * undefined behaviour. Rule of thumb is - if new-style iostreams are - * available, there WILL be a conflict. Otherwise you should be OK. -- * This flag is going to be defined by default in stl_config.h if __STL_USE_NEW_IOSTREAMS is on. -- * But you may wish to force it anyway. -- * Alternatively, you may want to disable it setting __STL_NO_OWN_NAMESPACE on. -+ * In STLport iostreams mode, there is no need for this flag other than to facilitate -+ * link with third-part libraries compiled with different standard library implementation. - */ --// # define __STL_USE_OWN_NAMESPACE 1 --// # define __STL_NO_OWN_NAMESPACE 1 -+// # define _STLP_USE_OWN_NAMESPACE 1 -+// # define _STLP_NO_OWN_NAMESPACE 1 - - - /* -- * Uncomment __STL_USE_NEWALLOC to force allocator to use plain "new" -- * instead of SGI optimized node allocator engine. -+ * Uncomment _STLP_USE_NEWALLOC to force allocator to use plain "new" -+ * instead of STLport optimized node allocator engine. - */ --// #define __STL_USE_NEWALLOC 1 -+// #define _STLP_USE_NEWALLOC 1 - - /* -- * Uncomment __STL_USE_MALLOC to force allocator to use plain "malloc" -- * instead of SGI optimized node allocator engine. -+ * Uncomment _STLP_USE_MALLOC to force allocator to use plain "malloc" -+ * instead of STLport optimized node allocator engine. - */ --// #define __STL_USE_MALLOC 1 -+// #define _STLP_USE_MALLOC 1 - - /* -- * Set __STL_DEBUG_ALLOC to use allocators that perform memory debugging, -+ * Set _STLP_DEBUG_ALLOC to use allocators that perform memory debugging, - * such as padding/checking for memory consistency - */ --// #define __STL_DEBUG_ALLOC 1 -+// #define _STLP_DEBUG_ALLOC 1 - - - /* -@@ -111,37 +112,37 @@ - * Note : If you set this macro, you must supply __stl_debug_message - * function definition somewhere. - */ --//#define __STL_DEBUG_MESSAGE 1 -+//#define _STLP_DEBUG_MESSAGE 1 - - /* - * Uncomment this to force all failed assertions to be executed through - * user-defined global function: - * void __stl_debug_terminate(void). This allows - * you to take control of assertion behaviour for debugging purposes. -- * Default routine throws unique exception if __STL_USE_EXCEPTIONS is set, -- * calls abort() otherwise. -+ * Default routine throws unique exception if _STLP_USE_EXCEPTIONS is set, -+ * calls _STLP_ABORT() otherwise. - * Note : If you set this macro, you must supply __stl_debug_terminate - * function definition somewhere. - */ --//#define __STL_DEBUG_TERMINATE 1 -+//#define _STLP_DEBUG_TERMINATE 1 - - /* - * Comment this out to enable throwing exceptions from default __stl_debug_terminate() -- * instead of calling abort(). -+ * instead of calling _STLP_ABORT(). - */ --#define __STL_NO_DEBUG_EXCEPTIONS 1 -+#define _STLP_NO_DEBUG_EXCEPTIONS 1 - - /* - * Uncomment that to disable exception handling code - */ --// #define __STL_NO_EXCEPTIONS 1 -+// #define _STLP_NO_EXCEPTIONS 1 - - /* -- * __STL_NO_NAMESPACES: if defined, don't put the library in namespace -+ * _STLP_NO_NAMESPACES: if defined, don't put the library in namespace - * stlport:: or std::, even if the compiler supports namespaces - */ - --// #define __STL_NO_NAMESPACES 1 -+// #define _STLP_NO_NAMESPACES 1 - - //========================================================== - // Compatibility section -@@ -152,23 +153,36 @@ - * This option is obsolete, but should work in this release. - * - */ --// # define __STL_USE_ABBREVS -+// # define _STLP_USE_ABBREVS - - /* -- * This definition precludes SGI reverse_iterator to be compatible with -+ * This definition precludes STLport reverse_iterator to be compatible with - * other parts of MSVC library. (With partial specialization, it just - * has no effect). - * Use it _ONLY_ if you use SGI-style reverse_iterator<> template explicitly - */ --// # define __STL_NO_MSVC50_COMPATIBILITY 1 -+// # define _STLP_NO_MSVC50_COMPATIBILITY 1 - - /* -- * __STL_USE_SGI_ALLOCATORS is a hook so that users can disable use of -+ * _STLP_USE_RAW_SGI_ALLOCATORS is a hook so that users can disable use of - * allocator as default parameter for containers, and use SGI - * raw allocators as default ones, without having to edit library headers. -- * Use of this macro is discouraged. -+ * Use of this macro is strongly discouraged. - */ --// #define __STL_USE_SGI_ALLOCATORS 1 -+// #define _STLP_USE_RAW_SGI_ALLOCATORS 1 -+ -+/* -+ * Use obsolete overloaded template functions iterator_category(), value_type(), distance_type() -+ * for querying iterator properties. Please note those names are non-standard and are not guaranteed -+ * to be used by every implementation. However, this setting is on by default when partial specialization -+ * is not implemented in the compiler and cannot be sumulated (only if _STLP_NO_ANACHRONISMS is not set). -+ * Use of those interfaces for user-defined iterators is strongly discouraged: -+ * please use public inheritance from iterator<> template to achieve desired effect. -+ * Second form is to disable old-style queries in any case. -+ */ -+// # define _STLP_USE_OLD_HP_ITERATOR_QUERIES -+// # define _STLP_NO_OLD_HP_ITERATOR_QUERIES -+ - - //========================================================================== - -@@ -176,5 +190,5 @@ - // but so few compilers would have it undefined, so that we set them here, - // with the option to be turned off later in compiler-specific file - --# define __STL_INCOMPLETE_EXCEPTION_HEADER -+# define _STLP_INCOMPLETE_EXCEPTION_HEADER - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_slist.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_slist.c ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_slist.c Sat Feb 24 10:45:06 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_slist.c Sun Aug 11 18:59:25 2002 -@@ -16,16 +16,20 @@ - * modified is included with the above copyright notice. - * - */ --#ifndef __STL_SLIST_C --#define __STL_SLIST_C -+#ifndef _STLP_SLIST_C -+#define _STLP_SLIST_C -+ -+#ifndef _STLP_INTERNAL_SLIST_H -+# include -+#endif - - # undef slist - # define slist __WORKAROUND_DBG_RENAME(slist) --# if defined (__STL_NESTED_TYPE_PARAM_BUG) -+# if defined (_STLP_NESTED_TYPE_PARAM_BUG) - # define size_type size_t - # endif - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - template - _Slist_node_base* -@@ -42,94 +46,6 @@ - return __last_node; - } - --#if defined (__STL_MEMBER_TEMPLATES) && ! defined (__STL_INLINE_MEMBER_TEMPLATES) --template template --void --slist<_Tp,_Alloc>::_M_assign_dispatch(_InputIter __first, _InputIter __last, -- __false_type) --{ -- _Node_base* __prev = &this->_M_head._M_data; -- _Node* __node = (_Node*) this->_M_head._M_data._M_next; -- while (__node != 0 && __first != __last) { -- __node->_M_data = *__first; -- __prev = __node; -- __node = (_Node*) __node->_M_next; -- ++__first; -- } -- if (__first != __last) -- _M_insert_after_range(__prev, __first, __last); -- else -- this->_M_erase_after(__prev, 0); --} -- --template template --void slist<_Tp,_Alloc>::remove_if(_Predicate __pred) { -- _Node_base* __cur = &this->_M_head._M_data; -- while (__cur->_M_next) { -- if (__pred(((_Node*) __cur->_M_next)->_M_data)) -- this->_M_erase_after(__cur); -- else -- __cur = __cur->_M_next; -- } --} -- --template template --void slist<_Tp,_Alloc>::unique(_BinaryPredicate __pred) { -- _Node* __cur = (_Node*) this->_M_head._M_data._M_next; -- if (__cur) { -- while (__cur->_M_next) { -- if (__pred(((_Node*)__cur)->_M_data, -- ((_Node*)(__cur->_M_next))->_M_data)) -- this->_M_erase_after(__cur); -- else -- __cur = (_Node*) __cur->_M_next; -- } -- } --} -- --template template --void slist<_Tp,_Alloc>::merge(slist<_Tp,_Alloc>& __x, -- _StrictWeakOrdering __comp) { -- _Node_base* __n1 = &this->_M_head._M_data; -- while (__n1->_M_next && __x._M_head._M_data._M_next) { -- if (__comp(((_Node*) __x._M_head._M_data._M_next)->_M_data, -- ((_Node*) __n1->_M_next)->_M_data)) -- _Sl_global_inst::__splice_after(__n1, &__x._M_head._M_data, __x._M_head._M_data._M_next); -- __n1 = __n1->_M_next; -- } -- if (__x._M_head._M_data._M_next) { -- __n1->_M_next = __x._M_head._M_data._M_next; -- __x._M_head._M_data._M_next = 0; -- } --} -- --template template --void slist<_Tp,_Alloc>::sort(_StrictWeakOrdering __comp) { -- if (this->_M_head._M_data._M_next && this->_M_head._M_data._M_next->_M_next) { -- slist<_Tp,_Alloc> __carry; -- slist<_Tp,_Alloc> __counter[64]; -- int __fill = 0; -- while (!empty()) { -- _Sl_global_inst::__splice_after(&__carry._M_head._M_data, &this->_M_head._M_data, this->_M_head._M_data._M_next); -- int __i = 0; -- while (__i < __fill && !__counter[__i].empty()) { -- __counter[__i].merge(__carry, __comp); -- __carry.swap(__counter[__i]); -- ++__i; -- } -- __carry.swap(__counter[__i]); -- if (__i == __fill) -- ++__fill; -- } -- -- for (int __i = 1; __i < __fill; ++__i) -- __counter[__i].merge(__counter[__i-1], __comp); -- this->swap(__counter[__fill-1]); -- } --} -- --#endif /* __STL_MEMBER_TEMPLATES */ -- - template - slist<_Tp,_Alloc>& slist<_Tp,_Alloc>::operator=(const slist<_Tp,_Alloc>& __x) - { -@@ -254,9 +170,9 @@ - # undef slist - # undef size_type - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --#endif /* __STL_SLIST_C */ -+#endif /* _STLP_SLIST_C */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_slist.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_slist.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_slist.h Sat Feb 24 10:45:07 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_slist.h Sun Aug 11 18:59:25 2002 -@@ -24,38 +24,34 @@ - * You should not attempt to use it directly. - */ - --#ifndef __SGI_STL_INTERNAL_SLIST_H --#define __SGI_STL_INTERNAL_SLIST_H -+#ifndef _STLP_INTERNAL_SLIST_H -+#define _STLP_INTERNAL_SLIST_H - - --# ifndef __SGI_STL_INTERNAL_ALGOBASE_H -+# ifndef _STLP_INTERNAL_ALGOBASE_H - # include - # endif - --# ifndef __SGI_STL_INTERNAL_ALLOC_H -+# ifndef _STLP_INTERNAL_ALLOC_H - # include - # endif - --# ifndef __SGI_STL_INTERNAL_ITERATOR_H -+# ifndef _STLP_INTERNAL_ITERATOR_H - # include - # endif - --# ifndef __SGI_STL_INTERNAL_CONSTRUCT_H -+# ifndef _STLP_INTERNAL_CONSTRUCT_H - # include - # endif - --# ifndef __SGI_STL_INTERNAL_SLIST_BASE_H -+# ifndef _STLP_INTERNAL_SLIST_BASE_H - # include - # endif - --# if defined ( __STL_USE_ABBREVS ) --# define __slist_iterator _L__It --# endif -- - # undef slist - # define slist __WORKAROUND_DBG_RENAME(slist) - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - template - struct _Slist_node : public _Slist_node_base -@@ -75,7 +71,7 @@ - _Slist_iterator_base(_Slist_node_base* __x) : _M_node(__x) {} - - void _M_incr() { --// __STL_VERBOSE_ASSERT(_M_node != 0, _StlMsg_INVALID_ADVANCE) -+// _STLP_VERBOSE_ASSERT(_M_node != 0, _StlMsg_INVALID_ADVANCE) - _M_node = _M_node->_M_next; - } - bool operator==(const _Slist_iterator_base& __y ) const { -@@ -86,9 +82,9 @@ - } - }; - --# ifdef __STL_USE_OLD_HP_ITERATOR_QUERIES --inline ptrdiff_t* __STL_CALL __DISTANCE_TYPE(const _Slist_iterator_base&) { return 0; } --inline forward_iterator_tag __STL_CALL __ITERATOR_CATEGORY(const _Slist_iterator_base&) { return forward_iterator_tag(); } -+# ifdef _STLP_USE_OLD_HP_ITERATOR_QUERIES -+inline ptrdiff_t* _STLP_CALL distance_type(const _Slist_iterator_base&) { return 0; } -+inline forward_iterator_tag _STLP_CALL iterator_category(const _Slist_iterator_base&) { return forward_iterator_tag(); } - #endif - - template -@@ -113,7 +109,7 @@ - - reference operator*() const { return ((_Node*) _M_node)->_M_data; } - -- __STL_DEFINE_ARROW_OPERATOR -+ _STLP_DEFINE_ARROW_OPERATOR - - _Self& operator++() - { -@@ -128,23 +124,21 @@ - } - }; - --#ifndef __STL_CLASS_PARTIAL_SPECIALIZATION -- -+#ifdef _STLP_USE_OLD_HP_ITERATOR_QUERIES - template --inline _Tp* __STL_CALL --__value_type(const _Slist_iterator<_Tp, _Traits>&) { return (_Tp*)0; } -- --#endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */ -+inline _Tp* _STLP_CALL value_type(const _Slist_iterator<_Tp, _Traits>&) { return (_Tp*)0; } -+#endif /* OLD_QUERIES */ - - // Base class that encapsulates details of allocators and simplifies EH - - template - struct _Slist_base { -+ _STLP_FORCE_ALLOCATORS(_Tp, _Alloc) - typedef typename _Alloc_traits<_Tp,_Alloc>::allocator_type allocator_type; - typedef _Slist_node<_Tp> _Node; - - _Slist_base(const allocator_type& __a) : -- _M_head(__STL_CONVERT_ALLOCATOR(__a, _Node), _Slist_node_base() ) { -+ _M_head(_STLP_CONVERT_ALLOCATOR(__a, _Node), _Slist_node_base() ) { - _M_head._M_data._M_next = 0; - } - ~_Slist_base() { _M_erase_after(&_M_head._M_data, 0); } -@@ -165,12 +159,12 @@ - - public: - allocator_type get_allocator() const { -- return __STL_CONVERT_ALLOCATOR((const _M_node_allocator_type&)_M_head, _Tp); -+ return _STLP_CONVERT_ALLOCATOR((const _M_node_allocator_type&)_M_head, _Tp); - } -- _STL_alloc_proxy<_Slist_node_base, _Node, _M_node_allocator_type> _M_head; -+ _STLP_alloc_proxy<_Slist_node_base, _Node, _M_node_allocator_type> _M_head; - }; - --template -+template - class slist : protected _Slist_base<_Tp,_Alloc> - { - private: -@@ -189,6 +183,7 @@ - typedef _Slist_iterator<_Tp, _Nonconst_traits<_Tp> > iterator; - typedef _Slist_iterator<_Tp, _Const_traits<_Tp> > const_iterator; - -+ _STLP_FORCE_ALLOCATORS(_Tp, _Alloc) - typedef typename _Base::allocator_type allocator_type; - - -@@ -199,21 +194,21 @@ - - _Node* _M_create_node(const value_type& __x) { - _Node* __node = this->_M_head.allocate(1); -- __STL_TRY { -+ _STLP_TRY { - _Construct(&__node->_M_data, __x); - __node->_M_next = 0; - } -- __STL_UNWIND(this->_M_head.deallocate(__node, 1)); -+ _STLP_UNWIND(this->_M_head.deallocate(__node, 1)); - return __node; - } - - _Node* _M_create_node() { - _Node* __node = this->_M_head.allocate(1); -- __STL_TRY { -+ _STLP_TRY { - _Construct(&__node->_M_data); - __node->_M_next = 0; - } -- __STL_UNWIND(this->_M_head.deallocate(__node, 1)); -+ _STLP_UNWIND(this->_M_head.deallocate(__node, 1)); - return __node; - } - -@@ -229,21 +224,22 @@ - explicit slist(size_type __n) : _Slist_base<_Tp,_Alloc>(allocator_type()) - { _M_insert_after_fill(&this->_M_head._M_data, __n, value_type()); } - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - // We don't need any dispatching tricks here, because _M_insert_after_range - // already does them. - template - slist(_InputIterator __first, _InputIterator __last, -- const allocator_type& __a) : -+ const allocator_type& __a _STLP_ALLOCATOR_TYPE_DFL) : - _Slist_base<_Tp,_Alloc>(__a) - { _M_insert_after_range(&this->_M_head._M_data, __first, __last); } -+# ifdef _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS - // VC++ needs this crazyness - template - slist(_InputIterator __first, _InputIterator __last) : - _Slist_base<_Tp,_Alloc>(allocator_type()) - { _M_insert_after_range(&this->_M_head._M_data, __first, __last); } -- --#else /* __STL_MEMBER_TEMPLATES */ -+# endif -+#else /* _STLP_MEMBER_TEMPLATES */ - slist(const_iterator __first, const_iterator __last, - const allocator_type& __a = allocator_type() ) : - _Slist_base<_Tp,_Alloc>(__a) -@@ -252,7 +248,7 @@ - const allocator_type& __a = allocator_type()) : - _Slist_base<_Tp,_Alloc>(__a) - { _M_insert_after_range(&this->_M_head._M_data, __first, __last); } --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - slist(const _Self& __x) : _Slist_base<_Tp,_Alloc>(__x.get_allocator()) - { _M_insert_after_range(&this->_M_head._M_data, __x.begin(), __x.end()); } -@@ -272,7 +268,7 @@ - - void _M_fill_assign(size_type __n, const _Tp& __val); - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - - template - void assign(_InputIterator __first, _InputIterator __last) { -@@ -281,17 +277,13 @@ - } - - template -- void _M_assign_dispatch(_Integer __n, _Integer __val, __true_type) -+ void _M_assign_dispatch(_Integer __n, _Integer __val, const __true_type&) - { _M_fill_assign((size_type) __n, (_Tp) __val); } - - template - void - _M_assign_dispatch(_InputIter __first, _InputIter __last, -- __false_type) --# ifndef __STL_INLINE_MEMBER_TEMPLATES --; --# else -- { -+ const __false_type&) { - _Node_base* __prev = &this->_M_head._M_data; - _Node* __node = (_Node*) this->_M_head._M_data._M_next; - while (__node != 0 && __first != __last) { -@@ -305,8 +297,7 @@ - else - this->_M_erase_after(__prev, 0); - } --# endif /* __STL_INLINE_MEMBER_TEMPLATES */ --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - public: - -@@ -335,7 +326,7 @@ - bool empty() const { return this->_M_head._M_data._M_next == 0; } - - void swap(_Self& __x) { -- __STLPORT_STD::swap(this->_M_head._M_data._M_next, __x._M_head._M_data._M_next); -+ _STLP_STD::swap(this->_M_head, __x._M_head); - } - - public: -@@ -345,7 +336,11 @@ - void push_front(const value_type& __x) { - __slist_make_link(&this->_M_head._M_data, _M_create_node(__x)); - } -+ -+# ifndef _STLP_NO_ANACHRONISMS - void push_front() { __slist_make_link(&this->_M_head._M_data, _M_create_node());} -+# endif -+ - void pop_front() { - _Node* __node = (_Node*) this->_M_head._M_data._M_next; - this->_M_head._M_data._M_next = __node->_M_next; -@@ -375,7 +370,7 @@ - __pos = __slist_make_link(__pos, _M_create_node(__x)); - } - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - - // Check whether it's an integral type. If so, it's not an iterator. - template -@@ -387,21 +382,21 @@ - - template - void _M_insert_after_range(_Node_base* __pos, _Integer __n, _Integer __x, -- __true_type) { -+ const __true_type&) { - _M_insert_after_fill(__pos, __n, __x); - } - - template - void _M_insert_after_range(_Node_base* __pos, - _InIter __first, _InIter __last, -- __false_type) { -+ const __false_type&) { - while (__first != __last) { - __pos = __slist_make_link(__pos, _M_create_node(*__first)); - ++__first; - } - } - --#else /* __STL_MEMBER_TEMPLATES */ -+#else /* _STLP_MEMBER_TEMPLATES */ - - void _M_insert_after_range(_Node_base* __pos, - const_iterator __first, const_iterator __last) { -@@ -419,7 +414,7 @@ - } - } - --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - public: - -@@ -435,7 +430,7 @@ - _M_insert_after_fill(__pos._M_node, __n, __x); - } - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - - // We don't need any dispatching tricks here, because _M_insert_after_range - // already does them. -@@ -444,7 +439,7 @@ - _M_insert_after_range(__pos._M_node, __first, __last); - } - --#else /* __STL_MEMBER_TEMPLATES */ -+#else /* _STLP_MEMBER_TEMPLATES */ - - void insert_after(iterator __pos, - const_iterator __first, const_iterator __last) { -@@ -455,7 +450,7 @@ - _M_insert_after_range(__pos._M_node, __first, __last); - } - --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - iterator insert(iterator __pos, const value_type& __x) { - return iterator(_M_insert_after(_Sl_global_inst::__previous(&this->_M_head._M_data, __pos._M_node), -@@ -471,7 +466,7 @@ - _M_insert_after_fill(_Sl_global_inst::__previous(&this->_M_head._M_data, __pos._M_node), __n, __x); - } - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - - // We don't need any dispatching tricks here, because _M_insert_after_range - // already does them. -@@ -481,7 +476,7 @@ - __first, __last); - } - --#else /* __STL_MEMBER_TEMPLATES */ -+#else /* _STLP_MEMBER_TEMPLATES */ - - void insert(iterator __pos, const_iterator __first, const_iterator __last) { - _M_insert_after_range(_Sl_global_inst::__previous(&this->_M_head._M_data, __pos._M_node), -@@ -493,7 +488,7 @@ - __first, __last); - } - --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - - public: -@@ -583,21 +578,7 @@ - void merge(_Self& __x); - void sort(); - --#ifdef __STL_MEMBER_TEMPLATES -- --# ifndef __STL_INLINE_MEBMER_TEMPLATES -- template -- void remove_if(_Predicate __pred); -- -- template -- void unique(_BinaryPredicate __pred); -- -- template -- void merge(slist<_Tp,_Alloc>&, _StrictWeakOrdering); -- -- template -- void sort(_StrictWeakOrdering __comp); --# else -+#ifdef _STLP_MEMBER_TEMPLATES - template - void remove_if(_Predicate __pred) { - _Node_base* __cur = &this->_M_head._M_data; -@@ -663,13 +644,12 @@ - this->swap(__counter[__fill-1]); - } - } --# endif /* __STL_INLINE_MEMBER_TEMPLATES */ --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - }; - - template --inline bool __STL_CALL -+inline bool _STLP_CALL - operator==(const slist<_Tp,_Alloc>& _SL1, const slist<_Tp,_Alloc>& _SL2) - { - typedef typename slist<_Tp,_Alloc>::const_iterator const_iterator; -@@ -686,67 +666,67 @@ - } - - template --inline bool __STL_CALL operator<(const slist<_Tp,_Alloc>& _SL1, -+inline bool _STLP_CALL operator<(const slist<_Tp,_Alloc>& _SL1, - const slist<_Tp,_Alloc>& _SL2) - { - return lexicographical_compare(_SL1.begin(), _SL1.end(), - _SL2.begin(), _SL2.end()); - } - --#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE -+#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE - - template --inline bool __STL_CALL -+inline bool _STLP_CALL - operator!=(const slist<_Tp,_Alloc>& _SL1, const slist<_Tp,_Alloc>& _SL2) { - return !(_SL1 == _SL2); - } - - template --inline bool __STL_CALL -+inline bool _STLP_CALL - operator>(const slist<_Tp,_Alloc>& _SL1, const slist<_Tp,_Alloc>& _SL2) { - return _SL2 < _SL1; - } - - template --inline bool __STL_CALL -+inline bool _STLP_CALL - operator<=(const slist<_Tp,_Alloc>& _SL1, const slist<_Tp,_Alloc>& _SL2) { - return !(_SL2 < _SL1); - } - - template --inline bool __STL_CALL -+inline bool _STLP_CALL - operator>=(const slist<_Tp,_Alloc>& _SL1, const slist<_Tp,_Alloc>& _SL2) { - return !(_SL1 < _SL2); - } --#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ -+#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ - --#ifdef __STL_FUNCTION_TMPL_PARTIAL_ORDER -+#ifdef _STLP_FUNCTION_TMPL_PARTIAL_ORDER - - template --inline void __STL_CALL swap(slist<_Tp,_Alloc>& __x, slist<_Tp,_Alloc>& __y) { -+inline void _STLP_CALL swap(slist<_Tp,_Alloc>& __x, slist<_Tp,_Alloc>& __y) { - __x.swap(__y); - } - --#endif /* __STL_FUNCTION_TMPL_PARTIAL_ORDER */ -+#endif /* _STLP_FUNCTION_TMPL_PARTIAL_ORDER */ - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --# if !defined (__STL_LINK_TIME_INSTANTIATION) -+# if !defined (_STLP_LINK_TIME_INSTANTIATION) - # include - # endif - - # undef slist - # define __slist__ __FULL_NAME(slist) - --#if defined (__STL_DEBUG) && !defined (__SGI_STL_INTERNAL_DBG_SLIST_H) -+#if defined (_STLP_DEBUG) && !defined (_STLP_INTERNAL_DBG_SLIST_H) - # include - #endif - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - // Specialization of insert_iterator so that insertions will be constant - // time rather than linear time. - --#ifdef __STL_CLASS_PARTIAL_SPECIALIZATION -+#ifdef _STLP_CLASS_PARTIAL_SPECIALIZATION - - template - class insert_iterator > { -@@ -771,8 +751,8 @@ - } - - insert_iterator<_Container>& -- operator=(const typename _Container::value_type& __value) { -- iter = container->insert_after(iter, __value); -+ operator=(const typename _Container::value_type& __val) { -+ iter = container->insert_after(iter, __val); - return *this; - } - insert_iterator<_Container>& operator*() { return *this; } -@@ -780,16 +760,16 @@ - insert_iterator<_Container>& operator++(int) { return *this; } - }; - --#endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */ -+#endif /* _STLP_CLASS_PARTIAL_SPECIALIZATION */ - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - - --# if defined ( __STL_USE_WRAPPER_FOR_ALLOC_PARAM ) -+# if defined ( _STLP_USE_WRAPPER_FOR_ALLOC_PARAM ) - # include - # endif - --#endif /* __SGI_STL_INTERNAL_SLIST_H */ -+#endif /* _STLP_INTERNAL_SLIST_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_slist_base.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_slist_base.c ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_slist_base.c Sat Feb 24 10:45:07 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_slist_base.c Sun Aug 11 18:59:25 2002 -@@ -23,13 +23,19 @@ - * modified is included with the above copyright notice. - * - */ --#ifndef __STL_SLIST_BASE_C --#define __STL_SLIST_BASE_C -+#ifndef _STLP_SLIST_BASE_C -+#define _STLP_SLIST_BASE_C - --__STL_BEGIN_NAMESPACE -+#ifndef _STLP_INTERNAL_SLIST_BASE_H -+# include -+#endif -+ -+_STLP_BEGIN_NAMESPACE -+ -+# if defined (_STLP_EXPOSE_GLOBALS_IMPLEMENTATION) - - template --_Slist_node_base* -+_Slist_node_base* _STLP_CALL - _Sl_global<_Dummy>::__previous(_Slist_node_base* __head, - const _Slist_node_base* __node) - { -@@ -39,7 +45,7 @@ - } - - template --void -+void _STLP_CALL - _Sl_global<_Dummy>::__splice_after(_Slist_node_base* __pos, _Slist_node_base* __head) - { - _Slist_node_base* __before_last = __previous(__head, 0); -@@ -52,7 +58,7 @@ - } - - template --void -+void _STLP_CALL - _Sl_global<_Dummy>::__splice_after(_Slist_node_base* __pos, - _Slist_node_base* __before_first, - _Slist_node_base* __before_last) -@@ -67,7 +73,7 @@ - } - - template --_Slist_node_base* -+_Slist_node_base* _STLP_CALL - _Sl_global<_Dummy>::__reverse(_Slist_node_base* __node) - { - _Slist_node_base* __result = __node; -@@ -82,8 +88,9 @@ - return __result; - } - --template --size_t _Sl_global<_Dummy>::size(_Slist_node_base* __node) -+template -+size_t _STLP_CALL -+_Sl_global<_Dummy>::size(_Slist_node_base* __node) - { - size_t __result = 0; - for ( ; __node != 0; __node = __node->_M_next) -@@ -91,9 +98,11 @@ - return __result; - } - --__STL_END_NAMESPACE -+#endif /* defined (__BUILDING_STLPORT) || ! defined (_STLP_OWN_IOSTREAMS) */ -+ -+_STLP_END_NAMESPACE - --#endif /* __STL_SLIST_BASE_C */ -+#endif /* _STLP_SLIST_BASE_C */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_slist_base.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_slist_base.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_slist_base.h Sat Feb 24 10:45:07 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_slist_base.h Sun Aug 11 18:59:25 2002 -@@ -24,14 +24,14 @@ - * You should not attempt to use it directly. - */ - --#ifndef __SGI_STL_INTERNAL_SLIST_BASE_H --#define __SGI_STL_INTERNAL_SLIST_BASE_H -+#ifndef _STLP_INTERNAL_SLIST_BASE_H -+#define _STLP_INTERNAL_SLIST_BASE_H - --#ifndef __STLPORT_CSTDDEF -+#ifndef _STLP_CSTDDEF - #include - #endif - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - struct _Slist_node_base - { -@@ -49,34 +49,38 @@ - - - template --struct _Sl_global { -+class _Sl_global { -+public: - // those used to be global functions - // moved here to reduce code bloat without templatizing _Slist_iterator_base -- static size_t __STL_CALL size(_Slist_node_base* __node); -- static _Slist_node_base* __STL_CALL __reverse(_Slist_node_base* __node); -- static void __STL_CALL __splice_after(_Slist_node_base* __pos, -+ static size_t _STLP_CALL size(_Slist_node_base* __node); -+ static _Slist_node_base* _STLP_CALL __reverse(_Slist_node_base* __node); -+ static void _STLP_CALL __splice_after(_Slist_node_base* __pos, - _Slist_node_base* __before_first, - _Slist_node_base* __before_last); - -- static void __STL_CALL __splice_after(_Slist_node_base* __pos, _Slist_node_base* __head); -+ static void _STLP_CALL __splice_after(_Slist_node_base* __pos, _Slist_node_base* __head); - -- static _Slist_node_base* __STL_CALL __previous(_Slist_node_base* __head, -+ static _Slist_node_base* _STLP_CALL __previous(_Slist_node_base* __head, - const _Slist_node_base* __node); -- static const _Slist_node_base* __STL_CALL __previous(const _Slist_node_base* __head, -+ static const _Slist_node_base* _STLP_CALL __previous(const _Slist_node_base* __head, - const _Slist_node_base* __node) { - return _Sl_global<_Dummy>::__previous((_Slist_node_base*)__head, __node); - } - }; - -+# if defined (_STLP_USE_TEMPLATE_EXPORT) -+_STLP_EXPORT_TEMPLATE_CLASS _Sl_global; -+# endif - typedef _Sl_global _Sl_global_inst; - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --# if !defined (__STL_LINK_TIME_INSTANTIATION) -+# if !defined (_STLP_LINK_TIME_INSTANTIATION) - # include - # endif - --#endif /* __SGI_STL_INTERNAL_SLIST_BASE_H */ -+#endif /* _STLP_INTERNAL_SLIST_BASE_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_sparc_atomic.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_sparc_atomic.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_sparc_atomic.h Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_sparc_atomic.h Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,60 @@ -+ -+// Currently, SUN CC requires object file -+ -+#if defined (__GNUC__) -+ -+/* -+** int _STLP_atomic_exchange (__stl_atomic_t *pvalue, __stl_atomic_t value) -+*/ -+ -+# ifdef __sparc_v9__ -+ -+# ifdef __arch64__ -+ -+# define _STLP_EXCH_ASM asm volatile ("casx [%3], %4, %0 ; membar #LoadLoad | #LoadStore " : \ -+ "=r" (_L_value2), "=m" (*_L_pvalue1) : \ -+ "m" (*_L_pvalue1), "r" (_L_pvalue1), "r" (_L_value1), "0" (_L_value2) ) -+ -+# else /* __arch64__ */ -+ -+# define _STLP_EXCH_ASM asm volatile ("cas [%3], %4, %0" : \ -+ "=r" (_L_value2), "=m" (*_L_pvalue1) : \ -+ "m" (*_L_pvalue1), "r" (_L_pvalue1), "r" (_L_value1), "0" (_L_value2) ) -+# endif -+ -+# else /* __sparc_v9__ */ -+ -+# define _STLP_EXCH_ASM asm volatile ("swap [%3], %0 " : \ -+ "=r" (_L_value2), "=m" (*_L_pvalue1) : \ -+ "m" (*_L_pvalue1), "r" (_L_pvalue1), "0" (_L_value2) ) -+# endif -+ -+ -+# define _STLP_ATOMIC_EXCHANGE(__pvalue1, __value2) \ -+ ({ register volatile __stl_atomic_t *_L_pvalue1 = __pvalue1; \ -+ register __stl_atomic_t _L_value1, _L_value2 = __value2 ; \ -+ do { _L_value1 = *_L_pvalue1; _STLP_EXCH_ASM; } while ( _L_value1 != _L_value2 ) ; \ -+ _L_value1; }) -+ -+# define _STLP_ATOMIC_INCREMENT(__pvalue1) \ -+ { register volatile __stl_atomic_t *_L_pvalue1 = __pvalue1; \ -+ register __stl_atomic_t _L_value1, _L_value2; \ -+ do { _L_value1 = *_L_pvalue1; _L_value2 = _L_value1+1; _STLP_EXCH_ASM; } while ( _L_value1 != _L_value2 ) ; } -+ -+# define _STLP_ATOMIC_DECREMENT(__pvalue1) \ -+ { register volatile __stl_atomic_t *_L_pvalue1 = __pvalue1; \ -+ register __stl_atomic_t _L_value1, _L_value2; \ -+ do { _L_value1 = *_L_pvalue1; _L_value2 = _L_value1-1; _STLP_EXCH_ASM; } while ( _L_value1 != _L_value2 ) ; } -+ -+# elif ! defined (_STLP_NO_EXTERN_INLINE) -+ -+extern "C" __stl_atomic_t _STLP_atomic_exchange(__stl_atomic_t * __x, __stl_atomic_t __v); -+extern "C" void _STLP_atomic_decrement(__stl_atomic_t* i); -+extern "C" void _STLP_atomic_increment(__stl_atomic_t* i); -+ -+# define _STLP_ATOMIC_INCREMENT(__x) _STLP_atomic_increment((__stl_atomic_t*)__x) -+# define _STLP_ATOMIC_DECREMENT(__x) _STLP_atomic_decrement((__stl_atomic_t*)__x) -+# define _STLP_ATOMIC_EXCHANGE(__x, __y) _STLP_atomic_exchange((__stl_atomic_t*)__x, (__stl_atomic_t)__y) -+ -+# endif -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_sstream.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_sstream.c ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_sstream.c Sat Feb 24 10:45:07 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_sstream.c Sun Aug 11 18:59:25 2002 -@@ -15,21 +15,26 @@ - * modified is included with the above copyright notice. - * - */ --#ifndef __STL_SSTREAM_C --#define __STL_SSTREAM_C - --# if defined (__STL_DESIGNATED_DLL) || ! defined (__STL_NO_CUSTOM_IO) -+#ifndef _STLP_SSTREAM_C -+#define _STLP_SSTREAM_C - --# if defined ( __STL_NESTED_TYPE_PARAM_BUG ) -+#ifndef _STLP_SSTREAM_H -+# include -+#endif -+ -+# if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) -+ -+# if defined ( _STLP_NESTED_TYPE_PARAM_BUG ) - // no wint_t is supported for this mode - # define __BSB_int_type__ int - # define __BSB_pos_type__ streampos - # else --# define __BSB_int_type__ __STL_TYPENAME_ON_RETURN_TYPE basic_stringbuf<_CharT, _Traits, _Alloc>::int_type --# define __BSB_pos_type__ __STL_TYPENAME_ON_RETURN_TYPE basic_stringbuf<_CharT, _Traits, _Alloc>::pos_type -+# define __BSB_int_type__ _STLP_TYPENAME_ON_RETURN_TYPE basic_stringbuf<_CharT, _Traits, _Alloc>::int_type -+# define __BSB_pos_type__ _STLP_TYPENAME_ON_RETURN_TYPE basic_stringbuf<_CharT, _Traits, _Alloc>::pos_type - # endif - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - //---------------------------------------------------------------------- - // Non-inline stringbuf member functions. -@@ -48,15 +53,7 @@ - ::basic_stringbuf(const basic_string<_CharT, _Traits, _Alloc>& __s, ios_base::openmode __mode) - : basic_streambuf<_CharT, _Traits>(), _M_mode(__mode), _M_str(__s) - { -- _CharT* __data_ptr = __CONST_CAST(_CharT*,_M_str.data()); -- _CharT* __data_end = __data_ptr + _M_str.size(); -- // The initial read position is the beginning of the string. -- if (_M_mode & ios_base::in) -- this->setg(__data_ptr, __data_ptr, __data_end); -- -- // The initial write position is the beginning of the string. -- if (_M_mode & ios_base::out) -- this->setp(__data_ptr, __data_end); -+ _M_set_ptrs(); - } - - template -@@ -69,19 +66,27 @@ - basic_stringbuf<_CharT, _Traits, _Alloc>::str(const basic_string<_CharT, _Traits, _Alloc>& __s) - { - _M_str = __s; -- // dwa 02/07/00 - BUG STOMPER DAVE! -+ _M_set_ptrs(); -+} -+ -+template -+void -+basic_stringbuf<_CharT, _Traits, _Alloc>::_M_set_ptrs() { - _CharT* __data_ptr = __CONST_CAST(_CharT*,_M_str.data()); - _CharT* __data_end = __data_ptr + _M_str.size(); - // The initial read position is the beginning of the string. - if (_M_mode & ios_base::in) - this->setg(__data_ptr, __data_ptr, __data_end); -- -+ - // The initial write position is the beginning of the string. -- if (_M_mode & ios_base::out) -- this->setp(__data_ptr, __data_end); -+ if (_M_mode & ios_base::out) { -+ if (_M_mode & ios_base::app) -+ this->setp(__data_end, __data_end); -+ else -+ this->setp(__data_ptr, __data_end); -+ } - } - -- - // Precondition: gptr() >= egptr(). Returns a character, if one is available. - template - __BSB_int_type__ -@@ -166,7 +171,7 @@ - - this->setg(__data_ptr, __data_ptr + __offset, __data_ptr+__data_size); - this->setp(__data_ptr, __data_ptr + __data_size); -- this->pbump(__data_size); -+ this->pbump((int)__data_size); - return __c; - } - else { -@@ -197,7 +202,7 @@ - ptrdiff_t __avail = _M_str.data() + _M_str.size() - this->pptr(); - if (__avail > __n) { - _Traits::copy(this->pptr(), __s, __n); -- this->pbump(__n); -+ this->pbump((int)__n); - return __n; - } - else { -@@ -219,7 +224,7 @@ - - this->setg(__data_ptr, __data_ptr + __get_offset, __data_ptr+__data_size); - this->setp(__data_ptr, __data_ptr + __data_size); -- this->pbump(__data_size); -+ this->pbump((int)__data_size); - } - else { - _M_append_buffer(); -@@ -246,7 +251,7 @@ - ptrdiff_t __avail = _M_str.data() + _M_str.size() - this->pptr(); - if (__avail > __n) { - _Traits::assign(this->pptr(), __n, __c); -- this->pbump(__n); -+ this->pbump((int)__n); - return __n; - } - else { -@@ -267,7 +272,7 @@ - - this->setg(__data_ptr, __data_ptr + __get_offset, __data_ptr+__data_size); - this->setp(__data_ptr, __data_ptr + __data_size); -- this->pbump(__data_size); -+ this->pbump((int)__data_size); - - } - else { -@@ -319,7 +324,7 @@ - - if (__do_put_area) { - this->setp(__data_ptr, __data_ptr+__data_size); -- this->pbump(__offp); -+ this->pbump((int)__offp); - } - } - -@@ -387,7 +392,7 @@ - return pos_type(off_type(-1)); - else { - this->setp(this->pbase(), this->pbase() + __n); -- this->pbump(__off); -+ this->pbump((int)__off); - } - } - -@@ -424,7 +429,7 @@ - size_t __data_size = _M_str.size(); - - this->setp(__data_ptr, __data_ptr+__data_size); -- this->pbump(__n); -+ this->pbump((int)__n); - } - - return __pos; -@@ -528,12 +533,11 @@ - basic_stringstream<_CharT, _Traits, _Alloc>::~basic_stringstream() - {} - --__STL_END_NAMESPACE -- -+_STLP_END_NAMESPACE - - # undef __BSB_int_type__ - # undef __BSB_pos_type__ - --# endif /* defined (__STL_DESIGNATED_DLL) || ! defined (__STL_NO_CUSTOM_IO) */ -+# endif /* EXPOSE */ - --#endif /* __STL_SSTREAM_C */ -+#endif /* _STLP_SSTREAM_C */ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_sstream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_sstream.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_sstream.h Sat Feb 24 10:45:07 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_sstream.h Sun Aug 11 18:59:25 2002 -@@ -22,13 +22,22 @@ - // represent streamsbufs and streams whose sources or destinations are - // C++ strings. - --#ifndef __SGI_STL_SSTREAM_H --#define __SGI_STL_SSTREAM_H -+#ifndef _STLP_SSTREAM_H -+#define _STLP_SSTREAM_H - --#include // Includes , , --#include -+#ifndef _STLP_INTERNAL_STREAMBUF -+# include -+#endif -+ -+#ifndef _STLP_INTERNAL_ISTREAM_H -+# include // Includes , , -+#endif -+ -+#ifndef _STLP_STRING_H -+# include -+#endif - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - //---------------------------------------------------------------------- - // This version of basic_stringbuf relies on the internal details of -@@ -88,6 +97,7 @@ - private: // Helper functions. - // Append the internal buffer to the string if necessary. - void _M_append_buffer() const; -+ void _M_set_ptrs(); - - private: - ios_base::openmode _M_mode; -@@ -97,12 +107,12 @@ - _CharT _M_Buf[ 8 /* _S_BufSiz */]; - }; - --# if defined (__STL_USE_TEMPLATE_EXPORT) --__STL_EXPORT_TEMPLATE_CLASS basic_stringbuf, allocator >; --# if !defined (__STL_NO_WCHAR_T) --__STL_EXPORT_TEMPLATE_CLASS basic_stringbuf, allocator >; -+# if defined (_STLP_USE_TEMPLATE_EXPORT) -+_STLP_EXPORT_TEMPLATE_CLASS basic_stringbuf, allocator >; -+# if !defined (_STLP_NO_WCHAR_T) -+_STLP_EXPORT_TEMPLATE_CLASS basic_stringbuf, allocator >; - # endif --# endif /* __STL_USE_TEMPLATE_EXPORT */ -+# endif /* _STLP_USE_TEMPLATE_EXPORT */ - - //---------------------------------------------------------------------- - // Class basic_istringstream, an input stream that uses a stringbuf. -@@ -218,24 +228,24 @@ - }; - - --# if defined (__STL_USE_TEMPLATE_EXPORT) --__STL_EXPORT_TEMPLATE_CLASS basic_istringstream, allocator >; --__STL_EXPORT_TEMPLATE_CLASS basic_ostringstream, allocator >; --__STL_EXPORT_TEMPLATE_CLASS basic_stringstream, allocator >; --# if !defined (__STL_NO_WCHAR_T) --__STL_EXPORT_TEMPLATE_CLASS basic_istringstream, allocator >; --__STL_EXPORT_TEMPLATE_CLASS basic_ostringstream, allocator >; --__STL_EXPORT_TEMPLATE_CLASS basic_stringstream, allocator >; -+# if defined (_STLP_USE_TEMPLATE_EXPORT) -+_STLP_EXPORT_TEMPLATE_CLASS basic_istringstream, allocator >; -+_STLP_EXPORT_TEMPLATE_CLASS basic_ostringstream, allocator >; -+_STLP_EXPORT_TEMPLATE_CLASS basic_stringstream, allocator >; -+# if !defined (_STLP_NO_WCHAR_T) -+_STLP_EXPORT_TEMPLATE_CLASS basic_istringstream, allocator >; -+_STLP_EXPORT_TEMPLATE_CLASS basic_ostringstream, allocator >; -+_STLP_EXPORT_TEMPLATE_CLASS basic_stringstream, allocator >; - # endif --# endif /* __STL_USE_TEMPLATE_EXPORT */ -+# endif /* _STLP_USE_TEMPLATE_EXPORT */ - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --# if !defined (__STL_LINK_TIME_INSTANTIATION) -+# if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) && !defined (_STLP_LINK_TIME_INSTANTIATION) - # include - # endif - --#endif /* __SGI_STL_SSTREAM_H */ -+#endif /* _STLP_SSTREAM_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_stack.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_stack.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_stack.h Sat Feb 24 10:45:07 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_stack.h Sun Aug 11 18:59:25 2002 -@@ -27,22 +27,26 @@ - * You should not attempt to use it directly. - */ - --#ifndef __SGI_STL_INTERNAL_STACK_H --#define __SGI_STL_INTERNAL_STACK_H -+#ifndef _STLP_INTERNAL_STACK_H -+#define _STLP_INTERNAL_STACK_H - --__STL_BEGIN_NAMESPACE -+#ifndef _STLP_INTERNAL_DEQUE_H -+# include -+#endif - --# if !defined ( __STL_LIMITED_DEFAULT_TEMPLATES ) -+_STLP_BEGIN_NAMESPACE -+ -+# if !defined ( _STLP_LIMITED_DEFAULT_TEMPLATES ) - template > --# elif defined ( __STL_MINIMUM_DEFAULT_TEMPLATE_PARAMS ) --# define __STL_STACK_ARGS _Tp -+# elif defined ( _STLP_MINIMUM_DEFAULT_TEMPLATE_PARAMS ) -+# define _STLP_STACK_ARGS _Tp - template - # else - template - # endif - class stack { - --# ifdef __STL_STACK_ARGS -+# ifdef _STLP_STACK_ARGS - typedef deque<_Tp> _Sequence; - # endif - -@@ -68,33 +72,33 @@ - const _Sequence& _Get_c() const { return c; } - }; - --# ifndef __STL_STACK_ARGS --# define __STL_STACK_ARGS _Tp, _Sequence --# define __STL_STACK_HEADER_ARGS class _Tp, class _Sequence -+# ifndef _STLP_STACK_ARGS -+# define _STLP_STACK_ARGS _Tp, _Sequence -+# define _STLP_STACK_HEADER_ARGS class _Tp, class _Sequence - # else --# define __STL_STACK_HEADER_ARGS class _Tp -+# define _STLP_STACK_HEADER_ARGS class _Tp - # endif - --template < __STL_STACK_HEADER_ARGS > --inline bool __STL_CALL operator==(const stack< __STL_STACK_ARGS >& __x, const stack< __STL_STACK_ARGS >& __y) -+template < _STLP_STACK_HEADER_ARGS > -+inline bool _STLP_CALL operator==(const stack< _STLP_STACK_ARGS >& __x, const stack< _STLP_STACK_ARGS >& __y) - { - return __x._Get_c() == __y._Get_c(); - } - --template < __STL_STACK_HEADER_ARGS > --inline bool __STL_CALL operator<(const stack< __STL_STACK_ARGS >& __x, const stack< __STL_STACK_ARGS >& __y) -+template < _STLP_STACK_HEADER_ARGS > -+inline bool _STLP_CALL operator<(const stack< _STLP_STACK_ARGS >& __x, const stack< _STLP_STACK_ARGS >& __y) - { - return __x._Get_c() < __y._Get_c(); - } - --__STL_RELOPS_OPERATORS(template < __STL_STACK_HEADER_ARGS >, stack< __STL_STACK_ARGS >) -+_STLP_RELOPS_OPERATORS(template < _STLP_STACK_HEADER_ARGS >, stack< _STLP_STACK_ARGS >) - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --# undef __STL_STACK_ARGS --# undef __STL_STACK_HEADER_ARGS -+# undef _STLP_STACK_ARGS -+# undef _STLP_STACK_HEADER_ARGS - --#endif /* __SGI_STL_INTERNAL_STACK_H */ -+#endif /* _STLP_INTERNAL_STACK_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_stdio_file.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_stdio_file.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_stdio_file.h Sat Feb 24 10:45:08 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_stdio_file.h Fri Feb 14 16:26:19 2003 -@@ -22,8 +22,8 @@ - // file directly. - - --#ifndef __SGI_STL_STDIO_FILE_H --#define __SGI_STL_STDIO_FILE_H -+#ifndef _STLP_STDIO_FILE_H -+#define _STLP_STDIO_FILE_H - - // This file provides a low-level interface between the internal - // representation of struct FILE, from the C stdio library, and -@@ -32,30 +32,30 @@ - // current read/write position, and the end of the buffer. - - // The interface: --// - char* _FILE_[IO]_begin(const FILE& __f); -+// - char* _FILE_[IO]_begin(const FILE *__f); - // Returns a pointer to the beginning of the buffer. --// - char* _FILE_[IO]_next(const FILE& __f); -+// - char* _FILE_[IO]_next(const FILE *__f); - // Returns the current read/write position within the buffer. --// - char* _FILE_[IO]_end(const FILE& __f); -+// - char* _FILE_[IO]_end(const FILE *__f); - // Returns a pointer immediately past the end of the buffer. --// - char* _FILE_[IO]_avail(const FILE& __f); -+// - char* _FILE_[IO]_avail(const FILE *__f); - // Returns the number of characters remaining in the buffer, i.e. - // _FILE_[IO]_end(__f) - _FILE_[IO]_next(__f). --// - char& _FILE_[IO]_preincr(FILE& __f) -+// - char& _FILE_[IO]_preincr(FILE *__f) - // Increments the current read/write position by 1, returning the - // character at the old position. --// - char& _FILE_[IO]_postincr(FILE& __f) -+// - char& _FILE_[IO]_postincr(FILE *__f) - // Increments the current read/write position by 1, returning the - // character at the old position. --// - char& _FILE_[IO]_predecr(FILE& __f) -+// - char& _FILE_[IO]_predecr(FILE *__f) - // Decrements the current read/write position by 1, returning the - // character at the old position. --// - char& _FILE_[IO]_postdecr(FILE& __f) -+// - char& _FILE_[IO]_postdecr(FILE *__f) - // Decrements the current read/write position by 1, returning the - // character at the old position. --// - void _FILE_[IO]_bump(FILE& __f, int __n) -+// - void _FILE_[IO]_bump(FILE *__f, int __n) - // Increments the current read/write position by __n. --// - void _FILE_[IO]_set(FILE& __f, char* __begin, char* __next, char* __end); -+// - void _FILE_[IO]_set(FILE *__f, char* __begin, char* __next, char* __end); - // Sets the beginning of the bufer to __begin, the current read/write - // position to __next, and the buffer's past-the-end pointer to __end. - // If any of those pointers is null, then all of them must be null. -@@ -65,195 +65,307 @@ - // implementations the two functions are identical, but in others they are - // not. - --#include -+#ifndef _STLP_CSTDIO -+# include -+#endif -+#ifndef _STLP_CSTDDEF -+# include -+#endif - - #if defined(__MSL__) - # include // get the definition of fileno - #endif - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - -+#if !defined(_STLP_WINCE) - //---------------------------------------------------------------------- - // Implementation for the IRIX C library. - // Solaris interface looks to be identical. --#if !defined(__STL_USE_GLIBC) && \ -+#if !defined(_STLP_USE_GLIBC) && \ - ( defined(__sgi) || \ -- defined(__sun) || \ -+ ( defined(__sun) && ! defined (_LP64) ) || \ - defined (__osf__) || defined(__DECCXX) || \ -- defined (__STL_MSVC) || defined (__ICL) || defined (__MINGW32__) \ -- || defined (__xlC__)) -+ defined (_STLP_MSVC) || defined (__ICL) || defined (__MINGW32__) || defined(__DJGPP) || defined (_AIX)) - --#if defined ( _MSC_VER ) || defined (__ICL) || defined (__MINGW32__) -+#if defined ( _MSC_VER ) || defined (__ICL) || defined (__MINGW32__) || defined(__DJGPP) - typedef char* _File_ptr_type; - #else - typedef unsigned char* _File_ptr_type; - #endif - --inline int _FILE_fd(const FILE& __f) { return __f._file; } --inline char* _FILE_I_begin(const FILE& __f) { return (char*) __f._base; } --inline char* _FILE_I_next(const FILE& __f) { return (char*) __f._ptr; } --inline char* _FILE_I_end(const FILE& __f) -- { return (char*) __f._ptr + __f._cnt; } -- --inline ptrdiff_t _FILE_I_avail(const FILE& __f) { return __f._cnt; } -- --inline char& _FILE_I_preincr(FILE& __f) -- { --__f._cnt; return *(char*) (++__f._ptr); } --inline char& _FILE_I_postincr(FILE& __f) -- { --__f._cnt; return *(char*) (__f._ptr++); } --inline char& _FILE_I_predecr(FILE& __f) -- { ++__f._cnt; return *(char*) (--__f._ptr); } --inline char& _FILE_I_postdecr(FILE& __f) -- { ++__f._cnt; return *(char*) (__f._ptr--); } --inline void _FILE_I_bump(FILE& __f, int __n) -- { __f._ptr += __n; __f._cnt -= __n; } -- --inline void _FILE_I_set(FILE& __f, char* __begin, char* __next, char* __end) { -- __f._base = (_File_ptr_type) __begin; -- __f._ptr = (_File_ptr_type) __next; -- __f._cnt = __end - __next; --} -- --# define __STL_FILE_I_O_IDENTICAL 1 -- --#elif defined (__CYGWIN__) || defined(__FreeBSD__) || defined(__OpenBSD__) -- --inline int _FILE_fd(const FILE& __f) { return __f._file; } --inline char* _FILE_I_begin(const FILE& __f) { return (char*) __f._bf._base; } --inline char* _FILE_I_next(const FILE& __f) { return (char*) __f._p; } --inline char* _FILE_I_end(const FILE& __f) -- { return (char*) __f._p + __f._bf._size; } -- --inline ptrdiff_t _FILE_I_avail(const FILE& __f) { return __f._bf._size; } -- --inline char& _FILE_I_preincr(FILE& __f) -- { --__f._bf._size; return *(char*) (++__f._p); } --inline char& _FILE_I_postincr(FILE& __f) -- { --__f._bf._size; return *(char*) (__f._p++); } --inline char& _FILE_I_predecr(FILE& __f) -- { ++__f._bf._size; return *(char*) (--__f._p); } --inline char& _FILE_I_postdecr(FILE& __f) -- { ++__f._bf._size; return *(char*) (__f._p--); } --inline void _FILE_I_bump(FILE& __f, int __n) -- { __f._p += __n; __f._bf._size -= __n; } -- --inline void _FILE_I_set(FILE& __f, char* __begin, char* __next, char* __end) { -- __f._bf._base = (unsigned char*) __begin; -- __f._p = (unsigned char*) __next; -- __f._bf._size = __end - __next; --} -- --# define __STL_FILE_I_O_IDENTICAL -- --#elif defined(__STL_USE_GLIBC) -- --inline int _FILE_fd(const FILE& __f) { return fileno(__CONST_CAST(FILE*,&__f)); } --inline char* _FILE_I_begin(const FILE& __f) { return __f._IO_read_base; } --inline char* _FILE_I_next(const FILE& __f) { return __f._IO_read_ptr; } --inline char* _FILE_I_end(const FILE& __f) { return __f._IO_read_end; } -- --inline ptrdiff_t _FILE_I_avail(const FILE& __f) -- { return __f._IO_read_end - __f._IO_read_ptr; } -- --inline char& _FILE_I_preincr(FILE& __f) { return *++__f._IO_read_ptr; } --inline char& _FILE_I_postincr(FILE& __f) { return *__f._IO_read_ptr++; } --inline char& _FILE_I_predecr(FILE& __f) { return *--__f._IO_read_ptr; } --inline char& _FILE_I_postdecr(FILE& __f) { return *__f._IO_read_ptr--; } --inline void _FILE_I_bump(FILE& __f, int __n) { __f._IO_read_ptr += __n; } -- --inline void _FILE_I_set(FILE& __f, char* __begin, char* __next, char* __end) { -- __f._IO_read_base = __begin; -- __f._IO_read_ptr = __next; -- __f._IO_read_end = __end; --} -- --inline char* _FILE_O_begin(const FILE& __f) { return __f._IO_write_base; } --inline char* _FILE_O_next(const FILE& __f) { return __f._IO_write_ptr; } --inline char* _FILE_O_end(const FILE& __f) { return __f._IO_write_end; } -- --inline ptrdiff_t _FILE_O_avail(const FILE& __f) -- { return __f._IO_write_end - __f._IO_write_ptr; } -- --inline char& _FILE_O_preincr(FILE& __f) { return *++__f._IO_write_ptr; } --inline char& _FILE_O_postincr(FILE& __f) { return *__f._IO_write_ptr++; } --inline char& _FILE_O_predecr(FILE& __f) { return *--__f._IO_write_ptr; } --inline char& _FILE_O_postdecr(FILE& __f) { return *__f._IO_write_ptr--; } --inline void _FILE_O_bump(FILE& __f, int __n) { __f._IO_write_ptr += __n; } -- --inline void _FILE_O_set(FILE& __f, char* __begin, char* __next, char* __end) { -- __f._IO_write_base = __begin; -- __f._IO_write_ptr = __next; -- __f._IO_write_end = __end; -+inline int _FILE_fd(const FILE *__f) { return __f->_file; } -+inline char* _FILE_I_begin(const FILE *__f) { return (char*) __f->_base; } -+inline char* _FILE_I_next(const FILE *__f) { return (char*) __f->_ptr; } -+inline char* _FILE_I_end(const FILE *__f) -+ { return (char*) __f->_ptr + __f->_cnt; } -+ -+inline ptrdiff_t _FILE_I_avail(const FILE *__f) { return __f->_cnt; } -+ -+inline char& _FILE_I_preincr(FILE *__f) -+ { --__f->_cnt; return *(char*) (++__f->_ptr); } -+inline char& _FILE_I_postincr(FILE *__f) -+ { --__f->_cnt; return *(char*) (__f->_ptr++); } -+inline char& _FILE_I_predecr(FILE *__f) -+ { ++__f->_cnt; return *(char*) (--__f->_ptr); } -+inline char& _FILE_I_postdecr(FILE *__f) -+ { ++__f->_cnt; return *(char*) (__f->_ptr--); } -+inline void _FILE_I_bump(FILE *__f, int __n) -+ { __f->_ptr += __n; __f->_cnt -= __n; } -+ -+inline void _FILE_I_set(FILE *__f, char* __begin, char* __next, char* __end) { -+ __f->_base = (_File_ptr_type) __begin; -+ __f->_ptr = (_File_ptr_type) __next; -+ __f->_cnt = __end - __next; -+} -+ -+# define _STLP_FILE_I_O_IDENTICAL 1 -+ -+# elif defined(_STLP_SCO_OPENSERVER) || defined(__NCR_SVR) -+ -+typedef unsigned char* _File_ptr_type; -+ -+inline int _FILE_fd(const FILE *__f) { return __f->__file; } -+inline char* _FILE_I_begin(const FILE *__f) { return (char*) __f->__base; } -+inline char* _FILE_I_next(const FILE *__f) { return (char*) __f->__ptr; } -+inline char* _FILE_I_end(const FILE *__f) -+ { return (char*) __f->__ptr + __f->__cnt; } -+ -+inline ptrdiff_t _FILE_I_avail(const FILE *__f) { return __f->__cnt; } -+ -+inline char& _FILE_I_preincr(FILE *__f) -+ { --__f->__cnt; return *(char*) (++__f->__ptr); } -+inline char& _FILE_I_postincr(FILE *__f) -+ { --__f->__cnt; return *(char*) (__f->__ptr++); } -+inline char& _FILE_I_predecr(FILE *__f) -+ { ++__f->__cnt; return *(char*) (--__f->__ptr); } -+inline char& _FILE_I_postdecr(FILE *__f) -+ { ++__f->__cnt; return *(char*) (__f->__ptr--); } -+inline void _FILE_I_bump(FILE *__f, int __n) -+ { __f->__ptr += __n; __f->__cnt -= __n; } -+ -+inline void _FILE_I_set(FILE *__f, char* __begin, char* __next, char* __end) { -+ __f->__base = (_File_ptr_type) __begin; -+ __f->__ptr = (_File_ptr_type) __next; -+ __f->__cnt = __end - __next; -+} -+ -+# define _STLP_FILE_I_O_IDENTICAL 1 -+ -+# elif defined(__sun) && defined( _LP64) -+ -+typedef long _File_ptr_type; -+ -+inline int _FILE_fd(const FILE *__f) { return (int) __f->__pad[2]; } -+inline char* _FILE_I_begin(const FILE *__f) { return (char*) -+__f->__pad[1]; } -+inline char* _FILE_I_next(const FILE *__f) { return (char*) -+__f->__pad[0]; } -+inline char* _FILE_I_end(const FILE *__f) -+{ return (char*) __f->__pad[0] + __f->__pad[3]; } -+ -+inline ptrdiff_t _FILE_I_avail(const FILE *__f) { return __f->__pad[3]; } -+ -+inline char& _FILE_I_preincr(FILE *__f) -+{ --__f->__pad[3]; return *(char*) (++__f->__pad[0]); } -+inline char& _FILE_I_postincr(FILE *__f) -+{ --__f->__pad[3]; return *(char*) (__f->__pad[0]++); } -+inline char& _FILE_I_predecr(FILE *__f) -+{ ++__f->__pad[3]; return *(char*) (--__f->__pad[0]); } -+inline char& _FILE_I_postdecr(FILE *__f) -+{ ++__f->__pad[3]; return *(char*) (__f->__pad[0]--); } -+inline void _FILE_I_bump(FILE *__f, long __n) -+{ __f->__pad[0] += __n; __f->__pad[3] -= __n; } -+ -+inline void _FILE_I_set(FILE *__f, char* __begin, char* __next, char* -+__end) { -+__f->__pad[1] = (_File_ptr_type) __begin; -+__f->__pad[0] = (_File_ptr_type) __next; -+__f->__pad[3] = __end - __next; -+} -+ -+# define _STLP_FILE_I_O_IDENTICAL -+ -+#elif defined (__CYGWIN__) || defined(__FreeBSD__) || defined(__NetBSD__) \ -+ || defined(__amigaos__) || defined(__OpenBSD__) || \ -+ ( defined(__GNUC__) && defined(__APPLE__) ) -+ -+inline int _FILE_fd(const FILE *__f) { return __f->_file; } -+inline char* _FILE_I_begin(const FILE *__f) { return (char*) -+ __f->_bf._base; } -+inline char* _FILE_I_next(const FILE *__f) { return (char*) __f->_p; } -+inline char* _FILE_I_end(const FILE *__f) -+{ return (char*) __f->_p + __f->_r; } -+ -+inline ptrdiff_t _FILE_I_avail(const FILE *__f) { return __f->_r; } -+ -+inline char& _FILE_I_preincr(FILE *__f) -+{ --__f->_r; --__f->_bf._size; return *(char*) (++__f->_p); } -+inline char& _FILE_I_postincr(FILE *__f) -+{ --__f->_r; --__f->_bf._size; return *(char*) (__f->_p++); } -+inline char& _FILE_I_predecr(FILE *__f) -+{ ++__f->_r; ++ __f->_bf._size; return *(char*) (--__f->_p); } -+inline char& _FILE_I_postdecr(FILE *__f) -+{ ++__f->_r; ++__f->_bf._size; return *(char*) (__f->_p--); } -+inline void _FILE_I_bump(FILE *__f, int __n) -+{ __f->_p += __n; __f->_bf._size+=__n; __f->_r -= __n; } -+ -+inline void _FILE_I_set(FILE *__f, char* __begin, char* __next, char* -+ __end) { -+ __f->_bf._base = (unsigned char*) __begin; -+ __f->_p = (unsigned char*) __next; -+ __f->_r = __f->_bf._size = __end - __next; -+} -+inline char* _FILE_O_begin(const FILE *__f) { return (char*) -+ __f->_bf._base; } -+inline char* _FILE_O_next(const FILE *__f) { return (char*) __f->_p; } -+inline char* _FILE_O_end(const FILE *__f) -+{ return (char*) __f->_p + __f->_w; } -+ -+inline ptrdiff_t _FILE_O_avail(const FILE *__f) { return __f->_w; } -+ -+inline char& _FILE_O_preincr(FILE *__f) -+{ --__f->_w; --__f->_bf._size; return *(char*) (++__f->_p); } -+inline char& _FILE_O_postincr(FILE *__f) -+{ --__f->_w; --__f->_bf._size; return *(char*) (__f->_p++); } -+inline char& _FILE_O_predecr(FILE *__f) -+{ ++__f->_w; ++__f->_bf._size; return *(char*) (--__f->_p); } -+inline char& _FILE_O_postdecr(FILE *__f) -+{ ++__f->_w; ++__f->_bf._size; return *(char*) (__f->_p--); } -+inline void _FILE_O_bump(FILE *__f, int __n) -+{ __f->_p += __n; __f->_bf._size+=__n; __f->_w -= __n; } -+ -+inline void _FILE_O_set(FILE *__f, char* __begin, char* __next, char* -+ __end) { -+ __f->_bf._base = (unsigned char*) __begin; -+ __f->_p = (unsigned char*) __next; -+ __f->_w = __f->_bf._size = __end - __next; -+} -+ -+# undef _STLP_FILE_I_O_IDENTICAL -+ -+#elif defined(_STLP_USE_GLIBC) -+ -+inline int _FILE_fd(const FILE *__f) { return __f->_fileno; } -+inline char* _FILE_I_begin(const FILE *__f) { return __f->_IO_read_base; } -+inline char* _FILE_I_next(const FILE *__f) { return __f->_IO_read_ptr; } -+inline char* _FILE_I_end(const FILE *__f) { return __f->_IO_read_end; } -+ -+inline ptrdiff_t _FILE_I_avail(const FILE *__f) -+ { return __f->_IO_read_end - __f->_IO_read_ptr; } -+ -+inline char& _FILE_I_preincr(FILE *__f) { return *++__f->_IO_read_ptr; } -+inline char& _FILE_I_postincr(FILE *__f) { return *__f->_IO_read_ptr++; } -+inline char& _FILE_I_predecr(FILE *__f) { return *--__f->_IO_read_ptr; } -+inline char& _FILE_I_postdecr(FILE *__f) { return *__f->_IO_read_ptr--; } -+inline void _FILE_I_bump(FILE *__f, int __n) { __f->_IO_read_ptr += __n; } -+ -+inline void _FILE_I_set(FILE *__f, char* __begin, char* __next, char* __end) { -+ __f->_IO_read_base = __begin; -+ __f->_IO_read_ptr = __next; -+ __f->_IO_read_end = __end; -+} -+ -+inline char* _FILE_O_begin(const FILE *__f) { return __f->_IO_write_base; } -+inline char* _FILE_O_next(const FILE *__f) { return __f->_IO_write_ptr; } -+inline char* _FILE_O_end(const FILE *__f) { return __f->_IO_write_end; } -+ -+inline ptrdiff_t _FILE_O_avail(const FILE *__f) -+ { return __f->_IO_write_end - __f->_IO_write_ptr; } -+ -+inline char& _FILE_O_preincr(FILE *__f) { return *++__f->_IO_write_ptr; } -+inline char& _FILE_O_postincr(FILE *__f) { return *__f->_IO_write_ptr++; } -+inline char& _FILE_O_predecr(FILE *__f) { return *--__f->_IO_write_ptr; } -+inline char& _FILE_O_postdecr(FILE *__f) { return *__f->_IO_write_ptr--; } -+inline void _FILE_O_bump(FILE *__f, int __n) { __f->_IO_write_ptr += __n; } -+ -+inline void _FILE_O_set(FILE *__f, char* __begin, char* __next, char* __end) { -+ __f->_IO_write_base = __begin; -+ __f->_IO_write_ptr = __next; -+ __f->_IO_write_end = __end; - - } - - #elif defined(__hpux) /* && defined(__hppa) && defined(__HP_aCC)) */ - --#if defined(__STL_HPACC_BROKEN_BUFEND) -+#ifndef _INCLUDE_HPUX_SOURCE -+extern "C" unsigned char *__bufendtab[]; -+# undef _bufend -+# define _bufend(__p) \ -+ (*(((__p)->__flag & _IOEXT) ? &(((_FILEX *)(__p))->__bufendp) \ -+ : &(__bufendtab[(__p) - __iob]))) -+ -+# define _bufsiz(__p) (_bufend(__p) - (__p)->__base) -+#endif /* _INCLUDE_HPUX_SOURCE */ -+ -+#if defined(_STLP_HPACC_BROKEN_BUFEND) - # undef _bufend - # define _bufend(__p) \ - (*(((__p)->__flag & _IOEXT) ? &((__REINTERPRET_CAST(_FILEX*,(__p)))->__bufendp) \ - : &(__bufendtab[__REINTERPRET_CAST(FILE*,(__p)) - __iob]))) - #endif - --inline int _FILE_fd(const FILE& __f) { return fileno(__CONST_CAST(FILE *,&__f)); } --inline char* _FILE_I_begin(const FILE& __f) { return (__REINTERPRET_CAST(char*, __f.__base)); } --inline char* _FILE_I_next(const FILE& __f) { return (__REINTERPRET_CAST(char*, __f.__ptr)); } --inline char* _FILE_I_end(const FILE& __f) { return (__REINTERPRET_CAST(char*, __f.__ptr +__f._cnt)); } -- --inline ptrdiff_t _FILE_I_avail(const FILE& __f) { return __f._cnt; } -- --inline char& _FILE_I_preincr(FILE& __f) { --__f.__cnt; return *__REINTERPRET_CAST(char*, ++__f.__ptr); } --inline char& _FILE_I_postincr(FILE& __f) { --__f.__cnt; return *__REINTERPRET_CAST(char*, __f.__ptr++); } --inline char& _FILE_I_predecr(FILE& __f) { ++__f.__cnt; return *__REINTERPRET_CAST(char*,--__f.__ptr); } --inline char& _FILE_I_postdecr(FILE& __f) { ++__f.__cnt; return *__REINTERPRET_CAST(char*,__f.__ptr--); } --inline void _FILE_I_bump(FILE& __f, int __n) { __f.__cnt -= __n; __f.__ptr += __n; } -+inline int _FILE_fd(const FILE *__f) { return fileno(__CONST_CAST(FILE *,__f)); } -+inline char* _FILE_I_begin(const FILE *__f) { return (__REINTERPRET_CAST(char*, __f->__base)); } -+inline char* _FILE_I_next(const FILE *__f) { return (__REINTERPRET_CAST(char*, __f->__ptr)); } -+inline char* _FILE_I_end(const FILE *__f) { return (__REINTERPRET_CAST(char*, __f->__ptr +__f->__cnt)); } -+ -+inline ptrdiff_t _FILE_I_avail(const FILE *__f) { return __f->__cnt; } -+ -+inline char& _FILE_I_preincr(FILE *__f) { --__f->__cnt; return *__REINTERPRET_CAST(char*, ++__f->__ptr); } -+inline char& _FILE_I_postincr(FILE *__f) { --__f->__cnt; return *__REINTERPRET_CAST(char*, __f->__ptr++); } -+inline char& _FILE_I_predecr(FILE *__f) { ++__f->__cnt; return *__REINTERPRET_CAST(char*,--__f->__ptr); } -+inline char& _FILE_I_postdecr(FILE *__f) { ++__f->__cnt; return *__REINTERPRET_CAST(char*,__f->__ptr--); } -+inline void _FILE_I_bump(FILE *__f, int __n) { __f->__cnt -= __n; __f->__ptr += __n; } - --inline void _FILE_I_set(FILE& __f, char* __begin, char* __next, char* __end) { -+inline void _FILE_I_set(FILE *__f, char* __begin, char* __next, char* __end) { - # if defined(__hpux) -- if( (unsigned long) (&__f - &__iob[0]) > _NFILE) -- __f.__flag |= _IOEXT; // used by stdio's _bufend macro and goodness knows what else... -+ if( (unsigned long) (__f - &__iob[0]) > _NFILE) -+ __f->__flag |= _IOEXT; // used by stdio's _bufend macro and goodness knows what else... - # endif -- __f.__cnt = __end - __next; -- __f.__base = __REINTERPRET_CAST(unsigned char*, __begin); -- __f.__ptr = __REINTERPRET_CAST(unsigned char*, __next); -- _bufend(&__f) = __REINTERPRET_CAST(unsigned char*, __end); -+ __f->__cnt = __end - __next; -+ __f->__base = __REINTERPRET_CAST(unsigned char*, __begin); -+ __f->__ptr = __REINTERPRET_CAST(unsigned char*, __next); -+ _bufend(__f) = __REINTERPRET_CAST(unsigned char*, __end); - } - - // For HPUX stdio, input and output FILE manipulation is identical. - --# define __STL_FILE_I_O_IDENTICAL -+# define _STLP_FILE_I_O_IDENTICAL - - #elif defined (__BORLANDC__) - --typedef unsigned char* _File_ptr_type; -+typedef unsigned char* _File_ptr_type; - --inline int _FILE_fd(const FILE& __f) { return __f.fd; } --inline char* _FILE_I_begin(const FILE& __f) { return (char*) __f.buffer; } --inline char* _FILE_I_next(const FILE& __f) { return (char*) __f.curp; } --inline char* _FILE_I_end(const FILE& __f) -- { return (char*) __f.curp + __f.bsize; } -- --inline ptrdiff_t _FILE_I_avail(const FILE& __f) { return __f.bsize; } -- --inline char& _FILE_I_preincr(FILE& __f) -- { --__f.bsize; return *(char*) (++__f.curp); } --inline char& _FILE_I_postincr(FILE& __f) -- { --__f.bsize; return *(char*) (__f.curp++); } --inline char& _FILE_I_predecr(FILE& __f) -- { ++__f.bsize; return *(char*) (--__f.curp); } --inline char& _FILE_I_postdecr(FILE& __f) -- { ++__f.bsize; return *(char*) (__f.curp--); } --inline void _FILE_I_bump(FILE& __f, int __n) -- { __f.curp += __n; __f.bsize -= __n; } -- --inline void _FILE_I_set(FILE& __f, char* __begin, char* __next, char* __end) { -- __f.buffer = (_File_ptr_type) __begin; -- __f.curp = (_File_ptr_type) __next; -- __f.bsize = __end - __next; -+inline int _FILE_fd(const FILE *__f) { return __f->fd; } -+inline char* _FILE_I_begin(const FILE *__f) { return (char*) __f->buffer; -+} -+inline char* _FILE_I_next(const FILE *__f) -+{ return (char*)__f->curp; } -+inline char* _FILE_I_end(const FILE *__f) -+{ return (char*) __f->curp + __f->level; } -+ -+inline ptrdiff_t _FILE_I_avail(const FILE *__f) { return __f->level; } -+ -+inline char& _FILE_I_preincr(FILE *__f) -+{ --__f->level; return *(char*) (++__f->curp); } -+inline char& _FILE_I_postincr(FILE *__f) -+{ --__f->level; return *(char*) (__f->curp++); } -+inline char& _FILE_I_predecr(FILE *__f) -+{ ++__f->level; return *(char*) (--__f->curp); } -+inline char& _FILE_I_postdecr(FILE *__f) -+{ ++__f->level; return *(char*) (__f->curp--); } -+inline void _FILE_I_bump(FILE *__f, int __n) -+{ __f->curp += __n; __f->level -= __n; } -+ -+inline void _FILE_I_set(FILE *__f, char* __begin, char* __next, char* -+ __end) { -+ __f->buffer = (_File_ptr_type) __begin; -+ __f->curp = (_File_ptr_type) __next; -+ __f->level = __end - __next; - } - --# define __STL_FILE_I_O_IDENTICAL -+# define _STLP_FILE_I_O_IDENTICAL - - #elif defined( __MWERKS__ ) - -@@ -261,95 +373,267 @@ - // dwa: I'm not sure they provide fileno for all OS's, but this should - // work for Win32 and WinCE - # if __dest_os == __mac_os --inline int _FILE_fd(const FILE& __f) { return ::fileno(__CONST_CAST(FILE*, &__f)); } -+inline int _FILE_fd(const FILE *__f) { return ::fileno(__CONST_CAST(FILE*, __f)); } - # else --inline int _FILE_fd(const FILE& __f) { return ::_fileno(__CONST_CAST(FILE*, &__f)); } -+inline int _FILE_fd(const FILE *__f) { return ::_fileno(__CONST_CAST(FILE*, __f)); } - # endif - - // Returns a pointer to the beginning of the buffer. --inline char* _FILE_I_begin(const FILE& __f) { return __REINTERPRET_CAST(char*, __f.buffer); } -+inline char* _FILE_I_begin(const FILE *__f) { return __REINTERPRET_CAST(char*, __f->buffer); } - // Returns the current read/write position within the buffer. --inline char* _FILE_I_next(const FILE& __f) { return __REINTERPRET_CAST(char*, __f.buffer_ptr); } -+inline char* _FILE_I_next(const FILE *__f) { return __REINTERPRET_CAST(char*, __f->buffer_ptr); } - - // Returns a pointer immediately past the end of the buffer. --inline char* _FILE_I_end(const FILE& __f) { return __REINTERPRET_CAST(char*, __f.buffer_ptr + __f.buffer_len); } -+inline char* _FILE_I_end(const FILE *__f) { return __REINTERPRET_CAST(char*, __f->buffer_ptr + __f->buffer_len); } - - // Returns the number of characters remaining in the buffer, i.e. - // _FILE_[IO]_end(__f) - _FILE_[IO]_next(__f). --inline ptrdiff_t _FILE_I_avail(const FILE& __f) { return __f.buffer_len; } -+inline ptrdiff_t _FILE_I_avail(const FILE *__f) { return __f->buffer_len; } - - // Increments the current read/write position by 1, returning the - // character at the old position. --inline char& _FILE_I_preincr(FILE& __f) -- { --__f.buffer_len; return *(char*) (++__f.buffer_ptr); } --inline char& _FILE_I_postincr(FILE& __f) -- { --__f.buffer_len; return *(char*) (__f.buffer_ptr++); } --inline char& _FILE_I_predecr(FILE& __f) -- { ++__f.buffer_len; return *(char*) (--__f.buffer_ptr); } --inline char& _FILE_I_postdecr(FILE& __f) -- { ++__f.buffer_len; return *(char*) (__f.buffer_ptr--); } --inline void _FILE_I_bump(FILE& __f, int __n) -- { __f.buffer_ptr += __n; __f.buffer_len -= __n; } -- --inline void _FILE_I_set(FILE& __f, char* __begin, char* __next, char* __end) { -- __f.buffer = __REINTERPRET_CAST(unsigned char*, __begin); -- __f.buffer_ptr = __REINTERPRET_CAST(unsigned char*, __next); -- __f.buffer_len = __end - __next; -- __f.buffer_size = __end - __begin; -+inline char& _FILE_I_preincr(FILE *__f) -+ { --__f->buffer_len; return *(char*) (++__f->buffer_ptr); } -+inline char& _FILE_I_postincr(FILE *__f) -+ { --__f->buffer_len; return *(char*) (__f->buffer_ptr++); } -+inline char& _FILE_I_predecr(FILE *__f) -+ { ++__f->buffer_len; return *(char*) (--__f->buffer_ptr); } -+inline char& _FILE_I_postdecr(FILE *__f) -+ { ++__f->buffer_len; return *(char*) (__f->buffer_ptr--); } -+inline void _FILE_I_bump(FILE *__f, int __n) -+ { __f->buffer_ptr += __n; __f->buffer_len -= __n; } -+ -+inline void _FILE_I_set(FILE *__f, char* __begin, char* __next, char* __end) { -+ __f->buffer = __REINTERPRET_CAST(unsigned char*, __begin); -+ __f->buffer_ptr = __REINTERPRET_CAST(unsigned char*, __next); -+ __f->buffer_len = __end - __next; -+ __f->buffer_size = __end - __begin; - } - --# define __STL_FILE_I_O_IDENTICAL -+# define _STLP_FILE_I_O_IDENTICAL - - #elif defined(__MRC__) || defined(__SC__) //*TY 02/24/2000 - added support for MPW - --inline int _FILE_fd(const FILE& __f) { return __f._file; } -+inline int _FILE_fd(const FILE *__f) { return __f->_file; } - - // Returns a pointer to the beginning of the buffer. --inline char* _FILE_I_begin(const FILE& __f) { return (char*) __f._base; } -+inline char* _FILE_I_begin(const FILE *__f) { return (char*) __f->_base; } - - // Returns the current read/write position within the buffer. --inline char* _FILE_I_next(const FILE& __f) { return (char*) __f._ptr; } -+inline char* _FILE_I_next(const FILE *__f) { return (char*) __f->_ptr; } - - // Returns a pointer immediately past the end of the buffer. --inline char* _FILE_I_end(const FILE& __f) { return (char*)__f._end; } -+inline char* _FILE_I_end(const FILE *__f) { return (char*)__f->_end; } - - // Returns the number of characters remaining in the buffer, i.e. - // _FILE_[IO]_end(__f) - _FILE_[IO]_next(__f). --inline ptrdiff_t _FILE_I_avail(const FILE& __f) { return __f._cnt; } -+inline ptrdiff_t _FILE_I_avail(const FILE *__f) { return __f->_cnt; } - - // Increments the current read/write position by 1, returning the - // character at the NEW position. --inline char& _FILE_I_preincr(FILE& __f) { --__f._cnt; return*(char*) (++__f._ptr); } -+inline char& _FILE_I_preincr(FILE *__f) { --__f->_cnt; return*(char*) (++__f->_ptr); } - - - // Increments the current read/write position by 1, returning the - // character at the old position. --inline char& _FILE_I_postincr(FILE& __f) { --__f._cnt; return*(char*) (__f._ptr++); } -+inline char& _FILE_I_postincr(FILE *__f) { --__f->_cnt; return*(char*) (__f->_ptr++); } - - // Decrements the current read/write position by 1, returning the - // character at the NEW position. --inline char& _FILE_I_predecr(FILE& __f) { ++__f._cnt; return*(char*) (--__f._ptr); } -+inline char& _FILE_I_predecr(FILE *__f) { ++__f->_cnt; return*(char*) (--__f->_ptr); } - - // Decrements the current read/write position by 1, returning the - // character at the old position. --inline char& _FILE_I_postdecr(FILE& __f) { ++__f._cnt; return*(char*) (__f._ptr--); } -+inline char& _FILE_I_postdecr(FILE *__f) { ++__f->_cnt; return*(char*) (__f->_ptr--); } - - // Increments the current read/write position by __n. --inline void _FILE_I_bump(FILE& __f, int __n) { __f._cnt -= __n; __f._ptr += __n; } -+inline void _FILE_I_bump(FILE *__f, int __n) { __f->_cnt -= __n; __f->_ptr += __n; } - - // Sets the beginning of the bufer to __begin, the current read/write - // position to __next, and the buffer's past-the-end pointer to __end. - // If any of those pointers is null, then all of them must be null. --inline void _FILE_I_set(FILE& __f, char* __begin, char* __next, char* __end) -+inline void _FILE_I_set(FILE *__f, char* __begin, char* __next, char* __end) -+{ -+ __f->_base = (unsigned char*)__begin; -+ __f->_ptr = (unsigned char*)__next; -+ __f->_end = (unsigned char*)__end; -+ __f->_cnt = __end - __next; -+ __f->_size = __end - __begin; -+} -+ -+# define _STLP_FILE_I_O_IDENTICAL -+ -+#elif defined (__MVS__) -+ -+typedef unsigned char* _File_ptr_type; -+ -+inline int _FILE_fd(const FILE *__f) { return fileno(__CONST_CAST(FILE -+ *,__f)); } -+inline char* _FILE_I_begin(const FILE *__f) { return (char*) -+ __f->__fp->__bufPtr; } -+inline char* _FILE_I_next(const FILE *__f) { return (char*) -+ __f->__fp->__bufPtr; } -+inline char* _FILE_I_end(const FILE *__f) -+{ return (char*) __f->__fp->__bufPtr + __f->__fp->__countIn; } -+ -+inline ptrdiff_t _FILE_I_avail(const FILE *__f) { return -+ __f->__fp->__countIn; } -+ -+inline char& _FILE_I_preincr(FILE *__f) -+{ --__f->__fp->__countIn; return *(char*) (++__f->__fp->__bufPtr); } -+inline char& _FILE_I_postincr(FILE *__f) -+{ --__f->__fp->__countIn; return *(char*) (__f->__fp->__bufPtr++); } -+inline char& _FILE_I_predecr(FILE *__f) -+{ ++__f->__fp->__countIn; return *(char*) (--__f->__fp->__bufPtr); } -+inline char& _FILE_I_postdecr(FILE *__f) -+{ ++__f->__fp->__countIn; return *(char*) (__f->__fp->__bufPtr--); } -+inline void _FILE_I_bump(FILE *__f, int __n) -+{ __f->__fp->__bufPtr += __n; __f->__fp->__countIn -= __n; } -+ -+inline void _FILE_I_set(FILE *__f, char* __begin, char* __next, char* -+ __end) { -+ // __f->_base = (_File_ptr_type) __begin; -+ if(__f->__fp) { -+ __f->__fp->__bufPtr = (_File_ptr_type) __next; -+ __f->__fp->__countIn = __end - __next; -+ } -+} -+ -+inline char* _FILE_O_begin(const FILE *__f) { return (char*)__f->__fp->__bufPtr;} -+inline char* _FILE_O_next(const FILE *__f) { return (char*) __f->__fp->__bufPtr;} -+inline char* _FILE_O_end(const FILE *__f) { return (char*) __f->__fp->__bufPtr + __f->__fp->__countOut; } -+inline ptrdiff_t _FILE_O_avail(const FILE *__f) { return __f->__fp->__countOut; } -+ -+inline char& _FILE_O_preincr(FILE *__f) -+{ --__f->__fp->__countOut; return *(char*) (++__f->__fp->__bufPtr); } -+inline char& _FILE_O_postincr(FILE *__f) -+{ --__f->__fp->__countOut; return *(char*) (__f->__fp->__bufPtr++); } -+inline char& _FILE_O_predecr(FILE *__f) -+{ ++__f->__fp->__countOut; return *(char*) (--__f->__fp->__bufPtr); } -+inline char& _FILE_O_postdecr(FILE *__f) -+{ ++__f->__fp->__countOut; return *(char*) (__f->__fp->__bufPtr--); } -+inline void _FILE_O_bump(FILE *__f, int __n) -+{ __f->__fp->__bufPtr += __n; __f->__fp->__countOut -= __n; } -+ -+inline void _FILE_O_set(FILE *__f, char* __begin, char* __next, char* -+ __end) { -+ // __f->_base = (_File_ptr_type) __begin; -+ if(__f->__fp) { -+ __f->__fp->__bufPtr = (_File_ptr_type) __next; -+ __f->__fp->__countOut = __end - __next; -+ } -+} -+ -+#elif defined(__QNXNTO__) -+ -+inline int _FILE_fd(const FILE *__f) { return __f->_handle; -+} -+inline char* _FILE_I_begin(const FILE *__f) { return -+ (char*) __f->_base; } -+inline char* _FILE_I_next(const FILE *__f) { return -+ (char*) __f->_ptr; } -+inline char* _FILE_I_end(const FILE *__f) -+{ return (char*) __f->_ptr + __f->_cnt; } -+ -+inline ptrdiff_t _FILE_I_avail(const FILE *__f) { return -+ __f->_cnt; } -+ -+inline char& _FILE_I_preincr(FILE *__f) -+{ --__f->_cnt; return *(char*) (++__f->_ptr); } -+inline char& _FILE_I_postincr(FILE *__f) -+{ --__f->_cnt; return *(char*) (__f->_ptr++); } -+inline char& _FILE_I_predecr(FILE *__f) -+{ ++__f->_cnt; return *(char*) (--__f->_ptr); } -+inline char& _FILE_I_postdecr(FILE *__f) -+{ ++__f->_cnt; return *(char*) (__f->_ptr--); } -+inline void _FILE_I_bump(FILE *__f, int __n) -+{ __f->_ptr += __n; __f->_cnt -= __n; } -+ -+inline void _FILE_I_set(FILE *__f, char* __begin, char* -+ __next, char* -+ __end) { -+ __f->_base = (unsigned char*) __begin; -+ __f->_ptr = (unsigned char*) __next; -+ __f->_cnt = __end - __next; -+} -+ -+# define _STLP_FILE_I_O_IDENTICAL -+ -+#elif defined(__WATCOMC__) // Nikolaev -+ -+inline int _FILE_fd (const FILE *__f) { return __f->_handle;} -+inline char* _FILE_I_begin (const FILE *__f) { return __REINTERPRET_CAST(char*, __f->_link); } -+inline char* _FILE_I_next (const FILE *__f) { return __REINTERPRET_CAST(char*, __f->_ptr); } -+inline char* _FILE_I_end (const FILE *__f) { return __REINTERPRET_CAST(char*, __f->_ptr + __f->_cnt); } -+inline ptrdiff_t _FILE_I_avail (const FILE *__f) { return __f->_cnt; } -+ -+inline char& _FILE_I_preincr(FILE *__f) -+{ -+ --__f->_cnt; -+ return *__REINTERPRET_CAST(char*, ++__f->_ptr); -+} -+ -+inline char& _FILE_I_postincr(FILE *__f) -+{ -+ --__f->_cnt; -+ return *__REINTERPRET_CAST(char*, __f->_ptr++); -+} -+ -+inline char& _FILE_I_predecr(FILE *__f) - { -- __f._base = (unsigned char*)__begin; -- __f._ptr = (unsigned char*)__next; -- __f._end = (unsigned char*)__end; -- __f._cnt = __end - __next; -- __f._size = __end - __begin; -+ ++__f->_cnt; -+ return *__REINTERPRET_CAST(char*, --__f->_ptr); - } -+ -+inline char& _FILE_I_postdecr(FILE *__f) -+{ -+ ++__f->_cnt; -+ return *__REINTERPRET_CAST(char*, __f->_ptr--); -+} -+ -+inline void _FILE_I_bump(FILE *__f, int __n) -+{ -+ __f->_ptr += __n; -+ __f->_cnt -= __n; -+} -+ -+inline void _FILE_I_set(FILE *__f, char* __begin, char* __next, char* __end) -+{ -+ __f->_link = __REINTERPRET_CAST(__stream_link*, __begin); -+ __f->_ptr = __REINTERPRET_CAST(unsigned char*, __next); -+ __f->_cnt = __end - __next; -+} -+ -+# define _STLP_FILE_I_O_IDENTICAL - --# define __STL_FILE_I_O_IDENTICAL -+#elif defined (__Lynx__) -+ -+// the prototypes are taken from LynxOS patch for STLport 4.0 -+inline int _FILE_fd(const FILE *__f) { return __f->_fd; } -+inline char* _FILE_I_begin(const FILE *__f) { return (char*) __f->_base; } -+inline char* _FILE_I_next(const FILE *__f) { return (char*) __f->_ptr; } -+inline char* _FILE_I_end(const FILE *__f) -+ { return (char*) __f->_ptr + __f->_cnt; } -+ -+inline ptrdiff_t _FILE_I_avail(const FILE *__f) { return __f->_cnt; } -+ -+inline char& _FILE_I_preincr(FILE *__f) -+ { --__f->_cnt; return *(char*) (++__f->_ptr); } -+inline char& _FILE_I_postincr(FILE *__f) -+ { --__f->_cnt; return *(char*) (__f->_ptr++); } -+inline char& _FILE_I_predecr(FILE *__f) -+ { ++__f->_cnt; return *(char*) (--__f->_ptr); } -+inline char& _FILE_I_postdecr(FILE *__f) -+ { ++__f->_cnt; return *(char*) (__f->_ptr--); } -+inline void _FILE_I_bump(FILE *__f, int __n) -+ { __f->_ptr += __n; __f->_cnt -= __n; } -+ -+inline void _FILE_I_set(FILE *__f, char* __begin, char* __next, char* __end) { -+ __f->_base = __begin; -+ __f->_ptr = __next; -+ __f->_cnt = __end - __next; -+} -+# define _STLP_FILE_I_O_IDENTICAL - - #else /* A C library that we don't have an implementation for. */ - -@@ -359,26 +643,30 @@ - - - // For most stdio's , input and output FILE manipulation is identical. --# ifdef __STL_FILE_I_O_IDENTICAL --inline char* _FILE_O_begin(const FILE& __f) { return _FILE_I_begin(__f); } --inline char* _FILE_O_next(const FILE& __f) { return _FILE_I_next(__f); } --inline char* _FILE_O_end(const FILE& __f) { return _FILE_I_end(__f); } -- --inline ptrdiff_t _FILE_O_avail(const FILE& __f) { return _FILE_I_avail(__f); } -- --inline char& _FILE_O_preincr(FILE& __f) { return _FILE_I_preincr(__f); } --inline char& _FILE_O_postincr(FILE& __f) { return _FILE_I_postincr(__f); } --inline char& _FILE_O_predecr(FILE& __f) { return _FILE_I_predecr(__f); } --inline char& _FILE_O_postdecr(FILE& __f) { return _FILE_I_postdecr(__f); } -+# ifdef _STLP_FILE_I_O_IDENTICAL -+inline char* _FILE_O_begin(const FILE *__f) { return _FILE_I_begin(__f); } -+inline char* _FILE_O_next(const FILE *__f) { return _FILE_I_next(__f); } -+inline char* _FILE_O_end(const FILE *__f) { return _FILE_I_end(__f); } -+ -+inline ptrdiff_t _FILE_O_avail(const FILE *__f) { return _FILE_I_avail(__f); } -+ -+inline char& _FILE_O_preincr(FILE *__f) { return _FILE_I_preincr(__f); } -+inline char& _FILE_O_postincr(FILE *__f) { return _FILE_I_postincr(__f); } -+inline char& _FILE_O_predecr(FILE *__f) { return _FILE_I_predecr(__f); } -+inline char& _FILE_O_postdecr(FILE *__f) { return _FILE_I_postdecr(__f); } - --inline void _FILE_O_bump(FILE& __f, int __n) { _FILE_I_bump(__f, __n); } --inline void _FILE_O_set(FILE& __f, char* __begin, char* __next, char* __end) -+inline void _FILE_O_bump(FILE *__f, int __n) { _FILE_I_bump(__f, __n); } -+inline void _FILE_O_set(FILE *__f, char* __begin, char* __next, char* __end) - { _FILE_I_set(__f, __begin, __next, __end); } - # endif - --__STL_END_NAMESPACE -+#else -+inline int _FILE_fd(const FILE *__f) { return (int)::_fileno(__CONST_CAST(FILE *, __f)); } -+#endif /* _STLP_WINCE */ -+ -+_STLP_END_NAMESPACE - --#endif /* __SGI_STL_STDIO_FILE_H */ -+#endif /* _STLP_STDIO_FILE_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_stream_iterator.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_stream_iterator.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_stream_iterator.h Sat Feb 24 10:45:09 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_stream_iterator.h Sun Aug 11 18:59:25 2002 -@@ -27,235 +27,48 @@ - * You should not attempt to use it directly. - */ - --#if !defined (__SGI_STL_INTERNAL_STREAM_ITERATOR_H) && ! defined (__STL_USE_NO_IOSTREAMS) --#define __SGI_STL_INTERNAL_STREAM_ITERATOR_H -+#if !defined (_STLP_INTERNAL_STREAM_ITERATOR_H) && ! defined (_STLP_USE_NO_IOSTREAMS) -+#define _STLP_INTERNAL_STREAM_ITERATOR_H - --#ifndef __SGI_STL_INTERNAL_ITERATOR_BASE_H -+#ifndef _STLP_INTERNAL_ITERATOR_BASE_H - # include - #endif - - // streambuf_iterators predeclarations must appear first --#ifndef __STLPORT_IOSFWD -+#ifndef _STLP_IOSFWD - # include - #endif - --// fbp : not sure this one is needed --# include -- --# if defined (__SGI_STL_OWN_IOSTREAMS) -- --# include -- --__STL_BEGIN_NAMESPACE -- --// We do not read any characters until operator* is called. The first --// time operator* is called, it calls getc. Subsequent calls to getc --// return a cached character, and calls to operator++ use snextc. Before --// operator* or operator++ has been called, _M_is_initialized is false. --template --class istreambuf_iterator --{ --public: -- typedef _CharT char_type; -- typedef _Traits traits_type; -- typedef typename _Traits::int_type int_type; -- typedef basic_streambuf<_CharT, _Traits> streambuf_type; -- typedef basic_istream<_CharT, _Traits> istream_type; -- -- typedef input_iterator_tag iterator_category; -- typedef _CharT value_type; -- typedef typename _Traits::off_type difference_type; -- typedef const _CharT* pointer; -- typedef const _CharT& reference; -- --public: -- istreambuf_iterator(streambuf_type* __p = 0) { this->_M_init(__p); } -- inline istreambuf_iterator(basic_istream<_CharT, _Traits>& __is); -- -- char_type operator*() const -- { if (!_M_is_initialized) this->_M_getc() ; return _M_c ; } -- -- istreambuf_iterator<_CharT, _Traits>& operator++() { this->_M_nextc(); return *this; } -- -- istreambuf_iterator operator++(int); -- -- bool equal(const istreambuf_iterator<_CharT, _Traits>& __i) const { -- return this->_M_is_initialized && __i._M_is_initialized -- ? this->_M_eof == __i._M_eof -- : this->_M_equal_aux(__i); -- } -- --private: -- void _M_init(streambuf_type* __p) { -- _M_buf = __p; -- _M_eof = !__p; -- _M_is_initialized = _M_eof; -- } -- -- void _M_getc() const { -- int_type __c = _M_buf->sgetc(); --# if !defined (__STL_NEED_MUTABLE) /* && ! defined (__SUNPRO_CC) */ -- _M_c = traits_type::to_char_type(__c); -- _M_eof = traits_type::eq_int_type(__c, traits_type::eof()); -- _M_is_initialized = true; --# else -- typedef istreambuf_iterator<_CharT,_Traits> _Self; -- _Self* __that = __CONST_CAST(_Self*, this); -- __that->_M_c = __STATIC_CAST(_CharT, traits_type::to_char_type(__c)); -- __that->_M_eof = traits_type::eq_int_type(__c, traits_type::eof()); -- __that->_M_is_initialized = true; --# endif -- } -- -- -- bool _M_equal_aux(const istreambuf_iterator<_CharT, _Traits>& __i) const { -- if (!this->_M_is_initialized) -- this->_M_getc(); -- if (!__i._M_is_initialized) -- __i._M_getc(); -- return this->_M_eof == __i._M_eof; -- } -- -- void _M_nextc() { -- int_type __c = _M_buf->snextc(); -- -- _M_c = traits_type::to_char_type(__c); -- _M_eof = traits_type::eq_int_type(__c, traits_type::eof()); -- _M_is_initialized = true; -- } -- --private: -- streambuf_type* _M_buf; -- mutable _CharT _M_c; --#if !defined(__SC__) //*TY 03/20/2000 - -- mutable unsigned char _M_eof; -- mutable unsigned char _M_is_initialized; --#else //*TY 03/20/2000 - added workaround for apple mpw SCpp compiler -- mutable bool _M_eof; //*TY 03/20/2000 - usage of mutable unsigned char in bool expression chokes the compiler -- mutable bool _M_is_initialized; //*TY 03/20/2000 - --#endif //*TY 03/20/2000 - --}; -- --template --inline bool __STL_CALL operator==(const istreambuf_iterator<_CharT, _Traits>& __x, -- const istreambuf_iterator<_CharT, _Traits>& __y) { -- return __x.equal(__y); --} -- --#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE -- --template --inline bool __STL_CALL operator!=(const istreambuf_iterator<_CharT, _Traits>& __x, -- const istreambuf_iterator<_CharT, _Traits>& __y) { -- return !__x.equal(__y); --} -- --#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ -- --// The default template argument is declared in iosfwd --template --class ostreambuf_iterator --{ --public: -- typedef _CharT char_type; -- typedef _Traits traits_type; -- typedef typename _Traits::int_type int_type; -- typedef basic_streambuf<_CharT, _Traits> streambuf_type; -- typedef basic_ostream<_CharT, _Traits> ostream_type; -- -- typedef output_iterator_tag iterator_category; -- typedef void value_type; -- typedef void difference_type; -- typedef void pointer; -- typedef void reference; -- --public: -- ostreambuf_iterator(streambuf_type* __buf) __STL_NOTHROW : _M_buf(__buf), _M_ok(__buf!=0) {} -- ostreambuf_iterator(ostream_type& __o) __STL_NOTHROW; -- -- ostreambuf_iterator<_CharT, _Traits>& operator=(char_type __c) { -- _M_ok = _M_ok && !traits_type::eq_int_type(_M_buf->sputc(__c), -- traits_type::eof()); -- return *this; -- } -- -- ostreambuf_iterator<_CharT, _Traits>& operator*() { return *this; } -- ostreambuf_iterator<_CharT, _Traits>& operator++() { return *this; } -- ostreambuf_iterator<_CharT, _Traits>& operator++(int) { return *this; } -- -- bool failed() const { return !_M_ok; } -- --private: -- streambuf_type* _M_buf; -- bool _M_ok; --}; -- --# if defined (__STL_USE_TEMPLATE_EXPORT) --__STL_EXPORT_TEMPLATE_CLASS istreambuf_iterator >; --__STL_EXPORT_TEMPLATE_CLASS ostreambuf_iterator >; --# if defined (INSTANTIATE_WIDE_STREAMS) --__STL_EXPORT_TEMPLATE_CLASS ostreambuf_iterator >; --__STL_EXPORT_TEMPLATE_CLASS istreambuf_iterator >; --# endif --# endif /* __STL_USE_TEMPLATE_EXPORT */ -- --# ifdef __STL_USE_OLD_HP_ITERATOR_QUERIES --template --inline input_iterator_tag __STL_CALL __ITERATOR_CATEGORY(const istreambuf_iterator<_CharT, _Traits>&) { return input_iterator_tag(); } --template --inline streamoff __STL_CALL --__DISTANCE_TYPE(const istreambuf_iterator<_CharT, _Traits>&) { typedef streamoff __off_type; return __off_type(); } --template --inline _CharT* __STL_CALL --__VALUE_TYPE(const istreambuf_iterator<_CharT, _Traits>&) { return (_CharT*)0; } --template --inline output_iterator_tag __STL_CALL --__ITERATOR_CATEGORY(const ostreambuf_iterator<_CharT, _Traits>&) { return output_iterator_tag(); } --# endif -- --__STL_END_NAMESPACE -- --# include -- --__STL_BEGIN_NAMESPACE -- --template --inline --istreambuf_iterator<_CharT, _Traits>::istreambuf_iterator(basic_istream<_CharT, _Traits>& __is) --{ -- basic_streambuf<_CharT, _Traits>* __buf = __is.rdbuf(); -- this->_M_init(__buf); --} -+#ifndef _STLP_INTERNAL_ALGOBASE_H -+#include -+#endif - --template --istreambuf_iterator<_CharT, _Traits> --istreambuf_iterator<_CharT, _Traits>::operator++(int) { -- if (!_M_is_initialized) -- this->_M_getc(); -- istreambuf_iterator<_CharT, _Traits> __tmp = *this; -- this->_M_nextc(); -- return __tmp; --} -+#if defined (_STLP_OWN_IOSTREAMS) - --template --ostreambuf_iterator<_CharT, _Traits>::ostreambuf_iterator(basic_ostream<_CharT, _Traits>& __o) __STL_NOTHROW --: _M_buf(__o.rdbuf()), _M_ok(__o.rdbuf()!=0) {} -+#ifndef _STLP_INTERNAL_OSTREAMBUF_ITERATOR_H -+# include -+#endif - --__STL_END_NAMESPACE -+#ifndef _STLP_INTERNAL_ISTREAMBUF_ITERATOR_H -+# include -+#endif - --# endif /* SGI_OWN_IOSTREAMS */ -+#ifndef _STLP_INTERNAL_ISTREAM_H -+# include -+#endif -+#endif /* _STLP_OWN_IOSTREAMS */ - - // istream_iterator and ostream_iterator look very different if we're - // using new, templatized iostreams than if we're using the old cfront - // version. - --# if defined (__STL_USE_NEW_IOSTREAMS) -+# if defined (_STLP_USE_NEW_IOSTREAMS) - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - --# ifndef __STL_LIMITED_DEFAULT_TEMPLATES -+# ifndef _STLP_LIMITED_DEFAULT_TEMPLATES - template , -+ class _CharT = _STLP_DEFAULTCHAR, class _Traits = char_traits<_CharT>, - class _Dist = ptrdiff_t> - # define __ISI_TMPL_HEADER_ARGUMENTS class _Tp, class _CharT, class _Traits, class _Dist - # define __ISI_TMPL_ARGUMENTS _Tp, _CharT, _Traits, _Dist -@@ -263,7 +76,7 @@ - const _Tp*, const _Tp& > { - # else - --# if defined (__STL_MINIMUM_DEFAULT_TEMPLATE_PARAMS) && ! defined (__STL_DEFAULT_TYPE_PARAM) -+# if defined (_STLP_MINIMUM_DEFAULT_TEMPLATE_PARAMS) && ! defined (_STLP_DEFAULT_TYPE_PARAM) - # define __ISI_TMPL_HEADER_ARGUMENTS class _Tp - # define __ISI_TMPL_ARGUMENTS _Tp - template -@@ -275,14 +88,14 @@ - template - class istream_iterator : public iterator { --# endif /* __STL_MINIMUM_DEFAULT_TEMPLATE_PARAMS */ -+# endif /* _STLP_MINIMUM_DEFAULT_TEMPLATE_PARAMS */ - --# endif /* __STL_LIMITED_DEFAULT_TEMPLATES */ -+# endif /* _STLP_LIMITED_DEFAULT_TEMPLATES */ - --# ifdef __STL_LIMITED_DEFAULT_TEMPLATES -+# ifdef _STLP_LIMITED_DEFAULT_TEMPLATES - typedef char _CharT; - typedef char_traits _Traits; --# if defined (__STL_MINIMUM_DEFAULT_TEMPLATE_PARAMS) && ! defined (__STL_DEFAULT_TYPE_PARAM) -+# if defined (_STLP_MINIMUM_DEFAULT_TEMPLATE_PARAMS) && ! defined (_STLP_DEFAULT_TYPE_PARAM) - typedef ptrdiff_t _Dist; - # endif - # endif -@@ -304,7 +117,7 @@ - - reference operator*() const { return _M_value; } - -- __STL_DEFINE_ARROW_OPERATOR -+ _STLP_DEFINE_ARROW_OPERATOR - - _Self& operator++() { - _M_read(); -@@ -333,14 +146,14 @@ - } - }; - --#ifndef __STL_LIMITED_DEFAULT_TEMPLATES -+#ifndef _STLP_LIMITED_DEFAULT_TEMPLATES - template > -+ class _CharT = _STLP_DEFAULTCHAR, class _Traits = char_traits<_CharT> > - #else - template - #endif - class ostream_iterator: public iterator { --# ifdef __STL_LIMITED_DEFAULT_TEMPLATES -+# ifdef _STLP_LIMITED_DEFAULT_TEMPLATES - typedef char _CharT; - typedef char_traits _Traits; - typedef ostream_iterator<_TpP> _Self; -@@ -353,17 +166,12 @@ - typedef basic_ostream<_CharT, _Traits> ostream_type; - - typedef output_iterator_tag iterator_category; --# if 0 -- typedef void value_type; -- typedef void difference_type; -- typedef void pointer; -- typedef void reference; --# endif -+ - ostream_iterator(ostream_type& __s) : _M_stream(&__s), _M_string(0) {} - ostream_iterator(ostream_type& __s, const _CharT* __c) - : _M_stream(&__s), _M_string(__c) {} -- _Self& operator=(const _TpP& __value) { -- *_M_stream << __value; -+ _Self& operator=(const _TpP& __val) { -+ *_M_stream << __val; - if (_M_string) *_M_stream << _M_string; - return *this; - } -@@ -375,26 +183,25 @@ - const _CharT* _M_string; - }; - --# ifdef __STL_USE_OLD_HP_ITERATOR_QUERIES --# ifdef __STL_LIMITED_DEFAULT_TEMPLATES -+# ifdef _STLP_USE_OLD_HP_ITERATOR_QUERIES -+# ifdef _STLP_LIMITED_DEFAULT_TEMPLATES - template --inline output_iterator_tag __STL_CALL --__ITERATOR_CATEGORY(const ostream_iterator<_TpP>&) { return output_iterator_tag(); } -+inline output_iterator_tag _STLP_CALL -+iterator_category(const ostream_iterator<_TpP>&) { return output_iterator_tag(); } - # else - template --inline output_iterator_tag __STL_CALL --__ITERATOR_CATEGORY(const ostream_iterator<_TpP, _CharT, _Traits>&) { return output_iterator_tag(); } -+inline output_iterator_tag _STLP_CALL -+iterator_category(const ostream_iterator<_TpP, _CharT, _Traits>&) { return output_iterator_tag(); } - # endif - # endif - --__STL_END_NAMESPACE -- -+_STLP_END_NAMESPACE - --# elif ! defined(__STL_USE_NO_IOSTREAMS) -+# elif ! defined(_STLP_USE_NO_IOSTREAMS) - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - --# if defined (__STL_MINIMUM_DEFAULT_TEMPLATE_PARAMS) && ! defined (__STL_DEFAULT_TYPE_PARAM) -+# if defined (_STLP_MINIMUM_DEFAULT_TEMPLATE_PARAMS) && ! defined (_STLP_DEFAULT_TYPE_PARAM) - # define __ISI_TMPL_HEADER_ARGUMENTS class _Tp - # define __ISI_TMPL_ARGUMENTS _Tp - template -@@ -428,7 +235,7 @@ - istream_iterator(istream& __s) : _M_stream(&__s) { _M_read(); } - reference operator*() const { return _M_value; } - -- __STL_DEFINE_ARROW_OPERATOR -+ _STLP_DEFINE_ARROW_OPERATOR - - istream_iterator< __ISI_TMPL_ARGUMENTS >& operator++() { - _M_read(); -@@ -453,7 +260,7 @@ - const char* _M_string; - public: - typedef output_iterator_tag iterator_category; --# ifdef __STL_CLASS_PARTIAL_SPECIALIZATION -+# ifdef _STLP_CLASS_PARTIAL_SPECIALIZATION - typedef void value_type; - typedef void difference_type; - typedef void pointer; -@@ -462,8 +269,8 @@ - ostream_iterator(ostream& __s) : _M_stream(&__s), _M_string(0) {} - ostream_iterator(ostream& __s, const char* __c) - : _M_stream(&__s), _M_string(__c) {} -- ostream_iterator<_Tp>& operator=(const _Tp& __value) { -- *_M_stream << __value; -+ ostream_iterator<_Tp>& operator=(const _Tp& __val) { -+ *_M_stream << __val; - if (_M_string) *_M_stream << _M_string; - return *this; - } -@@ -472,65 +279,64 @@ - ostream_iterator<_Tp>& operator++(int) { return *this; } - }; - --# ifdef __STL_USE_OLD_HP_ITERATOR_QUERIES --template --inline output_iterator_tag --__ITERATOR_CATEGORY(const ostream_iterator<_Tp>&) { return output_iterator_tag(); } -+# ifdef _STLP_USE_OLD_HP_ITERATOR_QUERIES -+template inline output_iterator_tag -+iterator_category(const ostream_iterator<_Tp>&) { return output_iterator_tag(); } - #endif - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --#endif /* __STL_USE_NEW_IOSTREAMS */ -+#endif /* _STLP_USE_NEW_IOSTREAMS */ - - // form-independent definiotion of stream iterators --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - template < __ISI_TMPL_HEADER_ARGUMENTS > --inline bool __STL_CALL -+inline bool _STLP_CALL - operator==(const istream_iterator< __ISI_TMPL_ARGUMENTS >& __x, - const istream_iterator< __ISI_TMPL_ARGUMENTS >& __y) { - return __x._M_equal(__y); - } - --# ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE -+# ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE - - template < __ISI_TMPL_HEADER_ARGUMENTS > --inline bool __STL_CALL -+inline bool _STLP_CALL - operator!=(const istream_iterator< __ISI_TMPL_ARGUMENTS >& __x, - const istream_iterator< __ISI_TMPL_ARGUMENTS >& __y) { - return !__x._M_equal(__y); - } - --# endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ -+# endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ - --# ifdef __STL_USE_OLD_HP_ITERATOR_QUERIES -+# ifdef _STLP_USE_OLD_HP_ITERATOR_QUERIES - template < __ISI_TMPL_HEADER_ARGUMENTS > --inline input_iterator_tag __STL_CALL --__ITERATOR_CATEGORY(const istream_iterator< __ISI_TMPL_ARGUMENTS >&) -+inline input_iterator_tag _STLP_CALL -+iterator_category(const istream_iterator< __ISI_TMPL_ARGUMENTS >&) - { return input_iterator_tag(); } - template < __ISI_TMPL_HEADER_ARGUMENTS > --inline _Tp* __STL_CALL --__VALUE_TYPE(const istream_iterator< __ISI_TMPL_ARGUMENTS >&) { return (_Tp*) 0; } -+inline _Tp* _STLP_CALL -+value_type(const istream_iterator< __ISI_TMPL_ARGUMENTS >&) { return (_Tp*) 0; } - --# if defined (__STL_MINIMUM_DEFAULT_TEMPLATE_PARAMS) && ! defined (__STL_DEFAULT_TYPE_PARAM) -+# if defined (_STLP_MINIMUM_DEFAULT_TEMPLATE_PARAMS) && ! defined (_STLP_DEFAULT_TYPE_PARAM) - template < __ISI_TMPL_HEADER_ARGUMENTS > --inline ptrdiff_t* __STL_CALL --__DISTANCE_TYPE(const istream_iterator< __ISI_TMPL_ARGUMENTS >&) { return (ptrdiff_t*)0; } -+inline ptrdiff_t* _STLP_CALL -+distance_type(const istream_iterator< __ISI_TMPL_ARGUMENTS >&) { return (ptrdiff_t*)0; } - # else - template < __ISI_TMPL_HEADER_ARGUMENTS > --inline _Dist* __STL_CALL --__DISTANCE_TYPE(const istream_iterator< __ISI_TMPL_ARGUMENTS >&) { return (_Dist*)0; } --# endif /* __STL_MINIMUM_DEFAULT_TEMPLATE_PARAMS */ -+inline _Dist* _STLP_CALL -+distance_type(const istream_iterator< __ISI_TMPL_ARGUMENTS >&) { return (_Dist*)0; } -+# endif /* _STLP_MINIMUM_DEFAULT_TEMPLATE_PARAMS */ - - # endif - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - - # undef __ISI_TMPL_HEADER_ARGUMENTS - # undef __ISI_TMPL_ARGUMENTS - - --#endif /* __SGI_STL_INTERNAL_STREAM_ITERATOR_H */ -+#endif /* _STLP_INTERNAL_STREAM_ITERATOR_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_streambuf.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_streambuf.c ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_streambuf.c Sat Feb 24 10:45:08 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_streambuf.c Sun Aug 11 18:59:25 2002 -@@ -15,16 +15,16 @@ - * modified is included with the above copyright notice. - * - */ --#ifndef __STL_STREAMBUF_C --#define __STL_STREAMBUF_C -+#ifndef _STLP_STREAMBUF_C -+#define _STLP_STREAMBUF_C - --#ifdef __STL_LINK_TIME_INSTANTIATION -+#ifndef _STLP_INTERNAL_STREAMBUF - # include - #endif - --# if defined (__STL_DESIGNATED_DLL) || ! defined (__STL_NO_CUSTOM_IO) -+# if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - //---------------------------------------------------------------------- - // Non-inline basic_streambuf<> member functions. - -@@ -60,7 +60,7 @@ - - while (__result < __n) { - if (_M_gnext < _M_gend) { -- size_t __chunk = min(__STATIC_CAST(size_t,_M_gend - _M_gnext), -+ size_t __chunk = (min) (__STATIC_CAST(size_t,_M_gend - _M_gnext), - __STATIC_CAST(size_t,__n - __result)); - _Traits::copy(__s, _M_gnext, __chunk); - __result += __chunk; -@@ -70,9 +70,9 @@ - else { - int_type __c = this->sbumpc(); - if (!_Traits::eq_int_type(__c, __eof)) { -- __s[__result] = __c; -+ *__s = __c; - ++__result; -- ++__s; -+ ++__s; - } - else - break; -@@ -91,7 +91,7 @@ - - while (__result < __n) { - if (_M_pnext < _M_pend) { -- size_t __chunk = min(__STATIC_CAST(size_t,_M_pend - _M_pnext), -+ size_t __chunk = (min) (__STATIC_CAST(size_t,_M_pend - _M_pnext), - __STATIC_CAST(size_t,__n - __result)); - _Traits::copy(_M_pnext, __s, __chunk); - __result += __chunk; -@@ -119,7 +119,7 @@ - - while (__result < __n) { - if (_M_pnext < _M_pend) { -- size_t __chunk = min(__STATIC_CAST(size_t,_M_pend - _M_pnext), -+ size_t __chunk = (min) (__STATIC_CAST(size_t,_M_pend - _M_pnext), - __STATIC_CAST(size_t,__n - __result)); - _Traits::assign(_M_pnext, __chunk, __c); - __result += __chunk; -@@ -136,7 +136,7 @@ - } - - template --__STL_TYPENAME_ON_RETURN_TYPE basic_streambuf<_CharT, _Traits>::int_type -+_STLP_TYPENAME_ON_RETURN_TYPE basic_streambuf<_CharT, _Traits>::int_type - basic_streambuf<_CharT, _Traits>::_M_snextc_aux() - { - int_type __eof = _Traits::eof(); -@@ -149,19 +149,19 @@ - } - - template --__STL_TYPENAME_ON_RETURN_TYPE basic_streambuf<_CharT, _Traits>::int_type -+_STLP_TYPENAME_ON_RETURN_TYPE basic_streambuf<_CharT, _Traits>::int_type - basic_streambuf<_CharT, _Traits>::pbackfail(int_type) { - return _Traits::eof(); - } - - template --__STL_TYPENAME_ON_RETURN_TYPE basic_streambuf<_CharT, _Traits>::int_type -+_STLP_TYPENAME_ON_RETURN_TYPE basic_streambuf<_CharT, _Traits>::int_type - basic_streambuf<_CharT, _Traits>::overflow(int_type) { - return _Traits::eof(); - } - - template --__STL_TYPENAME_ON_RETURN_TYPE basic_streambuf<_CharT, _Traits>::int_type -+_STLP_TYPENAME_ON_RETURN_TYPE basic_streambuf<_CharT, _Traits>::int_type - basic_streambuf<_CharT, _Traits>::uflow() { - return ( _Traits::eq_int_type(this->underflow(),_Traits::eof()) ? - _Traits::eof() : -@@ -169,7 +169,7 @@ - } - - template --__STL_TYPENAME_ON_RETURN_TYPE basic_streambuf<_CharT, _Traits>::int_type -+_STLP_TYPENAME_ON_RETURN_TYPE basic_streambuf<_CharT, _Traits>::int_type - basic_streambuf<_CharT, _Traits>::underflow() - { return _Traits::eof(); } - -@@ -187,12 +187,12 @@ - basic_streambuf<_CharT, _Traits>::sync() { return 0; } - - template --__STL_TYPENAME_ON_RETURN_TYPE basic_streambuf<_CharT, _Traits>::pos_type -+_STLP_TYPENAME_ON_RETURN_TYPE basic_streambuf<_CharT, _Traits>::pos_type - basic_streambuf<_CharT, _Traits>::seekpos(pos_type, ios_base::openmode) - { return pos_type(-1); } - - template --__STL_TYPENAME_ON_RETURN_TYPE basic_streambuf<_CharT, _Traits>::pos_type -+_STLP_TYPENAME_ON_RETURN_TYPE basic_streambuf<_CharT, _Traits>::pos_type - basic_streambuf<_CharT, _Traits>::seekoff(off_type, ios_base::seekdir, - ios_base::openmode) - { return pos_type(-1); } -@@ -203,14 +203,14 @@ - { return this; } - - --# if defined (__STL_USE_TEMPLATE_EXPORT) --# if !defined (__STL_NO_WCHAR_T) --__STL_EXPORT_TEMPLATE_CLASS basic_streambuf >; -+# if defined (_STLP_USE_TEMPLATE_EXPORT) -+# if !defined (_STLP_NO_WCHAR_T) -+_STLP_EXPORT_TEMPLATE_CLASS basic_streambuf >; - # endif --# endif /* __STL_USE_TEMPLATE_EXPORT */ -+# endif /* _STLP_USE_TEMPLATE_EXPORT */ - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --# endif /* NO_CUSTOM_IO */ -+# endif /* EXPOSE */ - - #endif -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_streambuf.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_streambuf.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_streambuf.h Sat Feb 24 10:45:09 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_streambuf.h Sun Aug 11 18:59:25 2002 -@@ -15,15 +15,20 @@ - * modified is included with the above copyright notice. - * - */ --#ifndef __SGI_STL_INTERNAL_STREAMBUF --#define __SGI_STL_INTERNAL_STREAMBUF -+#ifndef _STLP_INTERNAL_STREAMBUF -+#define _STLP_INTERNAL_STREAMBUF - -+#ifndef _STLP_IOS_BASE_H - #include // Needed for ios_base bitfield members. - // includes . -+#endif -+ -+#ifndef _STLP_STDIO_FILE_H - #include // Declaration of struct FILE, and of - // functions to manipulate it. -+#endif - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - //---------------------------------------------------------------------- - // Class basic_streambuf<>, the base class of the streambuf hierarchy. -@@ -71,7 +76,7 @@ - locale _M_locale; // The streambuf's locale object - - public: // Extension: locking, for thread safety. -- _STL_mutex _M_lock; -+ _STLP_mutex _M_lock; - - public: // Destructor. - virtual ~basic_streambuf(); -@@ -260,9 +265,20 @@ - locale pubimbue(const locale&); - locale getloc() const { return _M_locale; } - --# ifndef __STL_NO_ANACHRONISMS -+# ifndef _STLP_NO_ANACHRONISMS - void stossc() { this->sbumpc(); } - # endif -+#if defined(__MVS__) || defined(__OS400__) -+private: // Data members. -+ -+ char_type* _M_gbegin; // Beginning of get area -+ char_type* _M_gnext; // Current position within the get area -+ char_type* _M_gend; // End of get area -+ -+ char_type* _M_pbegin; // Beginning of put area -+ char_type* _M_pnext; // Current position within the put area -+ char_type* _M_pend; // End of put area -+#endif - }; - - -@@ -294,8 +310,8 @@ - // between whe FILE's internal representation and the three-pointer - // representation that basic_streambuf<> needs. - --__STL_TEMPLATE_NULL --class __STL_CLASS_DECLSPEC basic_streambuf > -+_STLP_TEMPLATE_NULL -+class _STLP_CLASS_DECLSPEC basic_streambuf > - { - friend class basic_istream >; - friend class basic_ostream >; -@@ -308,8 +324,8 @@ - - private: // Data members. - -- FILE& _M_get; // Reference to the get area -- FILE& _M_put; // Reference to the put area -+ FILE* _M_get; // Reference to the get area -+ FILE* _M_put; // Reference to the put area - - #if defined(__hpux) - _FILEX _M_default_get; // Get area, unless we're syncing with stdio. -@@ -322,18 +338,25 @@ - locale _M_locale; - - public: // Extension: locking, for thread safety. -- _STL_mutex _M_lock; -+ _STLP_mutex _M_lock; - - public: // Destructor. -- virtual ~basic_streambuf __STL_PSPEC2(char, char_traits) (); -+ virtual ~basic_streambuf _STLP_PSPEC2(char, char_traits) (); - - protected: // Constructors. - -- // The default constructor. -- basic_streambuf __STL_PSPEC2(char, char_traits) (); -- -+ // The default constructor; defined here inline as some compilers require it -+ basic_streambuf _STLP_PSPEC2(char, char_traits) () -+ : _M_get(&_M_default_get), -+ _M_put(&_M_default_put), _M_locale() -+ { -+ // _M_lock._M_initialize(); -+ _FILE_I_set(_M_get, 0, 0, 0); -+ _FILE_O_set(_M_put, 0, 0, 0); -+ } -+ - // Extension: a constructor for streambufs synchronized with C stdio files. -- basic_streambuf __STL_PSPEC2(char, char_traits) (FILE* __get, FILE* __put); -+ basic_streambuf _STLP_PSPEC2(char, char_traits) (FILE* __get, FILE* __put); - - protected: // Protected interface to the get area. - char_type* eback() const { return _FILE_I_begin(_M_get); } -@@ -473,14 +496,27 @@ - locale pubimbue(const locale&); - locale getloc() const { return _M_locale; } - --# ifndef __STL_NO_ANACHRONISMS -+# ifndef _STLP_NO_ANACHRONISMS - public: - void stossc() { this->sbumpc(); } - # endif -+ -+#if defined(__MVS__) || defined(__OS400__) -+private: // Data members. -+ -+ char_type* _M_gbegin; // Beginning of get area -+ char_type* _M_gnext; // Current position within the get area -+ char_type* _M_gend; // End of get area -+ -+ char_type* _M_pbegin; // Beginning of put area -+ char_type* _M_pnext; // Current position within the put area -+ char_type* _M_pend; // End of put area -+#endif -+ - }; --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --# if !defined (__STL_LINK_TIME_INSTANTIATION) -+# if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) && !defined (_STLP_LINK_TIME_INSTANTIATION) - # include - # endif - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_streambuf_iterator.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_streambuf_iterator.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_streambuf_iterator.h Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_streambuf_iterator.h Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,83 @@ -+/* -+ * -+ * Copyright (c) 1994 -+ * Hewlett-Packard Company -+ * -+ * Copyright (c) 1996-1998 -+ * Silicon Graphics Computer Systems, Inc. -+ * -+ * Copyright (c) 1997 -+ * Moscow Center for SPARC Technology -+ * -+ * Copyright (c) 1999 -+ * Boris Fomitchev -+ * -+ * This material is provided "as is", with absolutely no warranty expressed -+ * or implied. Any use is at your own risk. -+ * -+ * Permission to use or copy this software for any purpose is hereby granted -+ * without fee, provided the above notices are retained on all copies. -+ * Permission to modify the code and to distribute modified code is granted, -+ * provided the above notices are retained, and a notice that the code was -+ * modified is included with the above copyright notice. -+ * -+ */ -+ -+/* NOTE: This is an internal header file, included by other STL headers. -+ * You should not attempt to use it directly. -+ */ -+ -+#if !defined (_STLP_INTERNAL_STREAMBUF_ITERATOR_H) -+#define _STLP_INTERNAL_STREAMBUF_ITERATOR_H -+ -+_STLP_BEGIN_NAMESPACE -+ -+template -+basic_streambuf<_CharT, _Traits>* _STLP_CALL _M_get_ostreambuf(basic_ostream<_CharT, _Traits>& ) ; -+ -+// The default template argument is declared in iosfwd -+template -+class ostreambuf_iterator -+{ -+public: -+ typedef _CharT char_type; -+ typedef _Traits traits_type; -+ typedef typename _Traits::int_type int_type; -+ typedef basic_streambuf<_CharT, _Traits> streambuf_type; -+ typedef basic_ostream<_CharT, _Traits> ostream_type; -+ -+ typedef output_iterator_tag iterator_category; -+ typedef void value_type; -+ typedef void difference_type; -+ typedef void pointer; -+ typedef void reference; -+ -+public: -+ ostreambuf_iterator(streambuf_type* __buf) _STLP_NOTHROW : _M_buf(__buf), _M_ok(__buf!=0) {} -+ ostreambuf_iterator(ostream_type& __o) _STLP_NOTHROW : _M_buf(_M_get_ostreambuf(__o)), _M_ok(_M_buf != 0) {} -+ -+ ostreambuf_iterator<_CharT, _Traits>& operator=(char_type __c) { -+ _M_ok = _M_ok && !traits_type::eq_int_type(_M_buf->sputc(__c), -+ traits_type::eof()); -+ return *this; -+ } -+ -+ ostreambuf_iterator<_CharT, _Traits>& operator*() { return *this; } -+ ostreambuf_iterator<_CharT, _Traits>& operator++() { return *this; } -+ ostreambuf_iterator<_CharT, _Traits>& operator++(int) { return *this; } -+ -+ bool failed() const { return !_M_ok; } -+ -+private: -+ streambuf_type* _M_buf; -+ bool _M_ok; -+}; -+ -+_STLP_END_NAMESPACE -+ -+#endif /* _STLP_INTERNAL_STREAMBUF_ITERATOR_H */ -+ -+// Local Variables: -+// mode:C++ -+// End: -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_string.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_string.c ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_string.c Sat Feb 24 10:45:10 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_string.c Sun Aug 11 18:59:25 2002 -@@ -23,133 +23,28 @@ - * modified is included with the above copyright notice. - * - */ --#ifndef __STL_STRING_C --#define __STL_STRING_C -+#ifndef _STLP_STRING_C -+#define _STLP_STRING_C - --# ifdef __STL_DEBUG -+#ifndef _STLP_STRING_H -+# include -+#endif -+ -+# ifdef _STLP_DEBUG - # define basic_string _Nondebug_string - # endif - --# if defined (__STL_USE_OWN_NAMESPACE) || !defined (__STL_USE_NATIVE_STRING) -+# if defined (_STLP_USE_OWN_NAMESPACE) || !defined (_STLP_USE_NATIVE_STRING) - --# if defined (__STL_NESTED_TYPE_PARAM_BUG) -+# if defined (_STLP_NESTED_TYPE_PARAM_BUG) - # define __size_type__ size_t - # define size_type size_t --# define __iterator__ _CharT* --# define iterator __iterator__ -+# define iterator _CharT* - # else --# define __size_type__ __STL_TYPENAME_ON_RETURN_TYPE basic_string<_CharT,_Traits,_Alloc>::size_type --# define __iterator__ __STL_TYPENAME_ON_RETURN_TYPE basic_string<_CharT,_Traits,_Alloc>::iterator -+# define __size_type__ _STLP_TYPENAME_ON_RETURN_TYPE basic_string<_CharT,_Traits,_Alloc>::size_type - # endif - --__STL_BEGIN_NAMESPACE -- --#if defined (__STL_MEMBER_TEMPLATES) && ! defined (__STL_INLINE_MEMBER_TEMPLATES) --template --template --basic_string<_CharT, _Traits, _Alloc>& --basic_string<_CharT, _Traits, _Alloc>::append(_ForwardIter __first, _ForwardIter __last, -- forward_iterator_tag) --{ -- if (__first != __last) { -- const size_type __old_size = size(); -- difference_type __n = 0; -- distance(__first, __last, __n); -- if (__STATIC_CAST(size_type,__n) > max_size() || -- __old_size > max_size() - __STATIC_CAST(size_type,__n)) -- _M_throw_length_error(); -- if (__old_size + __n > capacity()) { -- const size_type __len = __old_size + -- max(__old_size, __STATIC_CAST(size_type,__n)) + 1; -- pointer __new_start = _M_end_of_storage.allocate(__len); -- pointer __new_finish = __new_start; -- __STL_TRY { -- __new_finish = uninitialized_copy(_M_start, _M_finish, __new_start); -- __new_finish = uninitialized_copy(__first, __last, __new_finish); -- _M_construct_null(__new_finish); -- } -- __STL_UNWIND((_Destroy(__new_start,__new_finish), -- _M_end_of_storage.deallocate(__new_start,__len))); -- _Destroy(_M_start, _M_finish + 1); -- _M_deallocate_block(); -- _M_start = __new_start; -- _M_finish = __new_finish; -- _M_end_of_storage._M_data = __new_start + __len; -- } -- else { -- _ForwardIter __f1 = __first; -- ++__f1; -- uninitialized_copy(__f1, __last, _M_finish + 1); -- __STL_TRY { -- _M_construct_null(_M_finish + __n); -- } -- __STL_UNWIND(_Destroy(_M_finish + 1, _M_finish + __n)); -- _Traits::assign(*_M_finish, *__first); -- _M_finish += __n; -- } -- } -- return *this; --} -- --template template --void --basic_string<_CharT, _Traits, _Alloc>::insert(iterator __position, -- _ForwardIter __first, _ForwardIter __last, -- forward_iterator_tag) { -- if (__first != __last) { -- difference_type __n = 0; -- distance(__first, __last, __n); -- if (_M_end_of_storage._M_data - _M_finish >= __n + 1) { -- const difference_type __elems_after = _M_finish - __position; -- pointer __old_finish = _M_finish; -- if (__elems_after >= __n) { -- uninitialized_copy((_M_finish - __n) + 1, _M_finish + 1, -- _M_finish + 1); -- _M_finish += __n; -- _Traits::move(__position + __n, -- __position, (__elems_after - __n) + 1); -- _M_copy(__first, __last, __position); -- } -- else { -- _ForwardIter __mid = __first; -- advance(__mid, __elems_after + 1); -- uninitialized_copy(__mid, __last, _M_finish + 1); -- _M_finish += __n - __elems_after; -- __STL_TRY { -- uninitialized_copy(__position, __old_finish + 1, _M_finish); -- _M_finish += __elems_after; -- } -- __STL_UNWIND((_Destroy(__old_finish + 1, _M_finish), -- _M_finish = __old_finish)); -- _M_copy(__first, __mid, __position); -- } -- } -- else { -- const size_type __old_size = size(); -- const size_type __len -- = __old_size + max(__old_size, __STATIC_CAST(size_type,__n)) + 1; -- pointer __new_start = _M_end_of_storage.allocate(__len); -- pointer __new_finish = __new_start; -- __STL_TRY { -- __new_finish = uninitialized_copy(_M_start, __position, __new_start); -- __new_finish = uninitialized_copy(__first, __last, __new_finish); -- __new_finish -- = uninitialized_copy(__position, _M_finish, __new_finish); -- _M_construct_null(__new_finish); -- } -- __STL_UNWIND((_Destroy(__new_start,__new_finish), -- _M_end_of_storage.deallocate(__new_start,__len))); -- _Destroy(_M_start, _M_finish + 1); -- _M_deallocate_block(); -- _M_start = __new_start; -- _M_finish = __new_finish; -- _M_end_of_storage._M_data = __new_start + __len; -- } -- } --} -- --# endif /* __STL_INLINE_MEMBER_TEMPLATES */ -- -+_STLP_BEGIN_NAMESPACE - - // ------------------------------------------------------------ - // Non-inline declarations. -@@ -159,238 +54,204 @@ - // at least __res_arg elements, plus the terminating _CharT(). Note that, - // if __res_arg < capacity(), this member function may actually decrease - // the string's capacity. --template --void basic_string<_CharT,_Traits,_Alloc>::reserve(__size_type__ __res_arg) { -+template void basic_string<_CharT,_Traits,_Alloc>::reserve(size_type __res_arg) { - if (__res_arg > max_size()) -- _M_throw_length_error(); -+ this->_M_throw_length_error(); - -- size_type __n = max(__res_arg, size()) + 1; -- pointer __new_start = _M_end_of_storage.allocate(__n); -+ size_type __n = (max)(__res_arg, size()) + 1; -+ pointer __new_start = this->_M_end_of_storage.allocate(__n); - pointer __new_finish = __new_start; - -- __STL_TRY { -- __new_finish = uninitialized_copy(_M_start, _M_finish, __new_start); -+ _STLP_TRY { -+ __new_finish = uninitialized_copy(this->_M_start, this->_M_finish, __new_start); - _M_construct_null(__new_finish); - } -- __STL_UNWIND((_Destroy(__new_start, __new_finish), -- _M_end_of_storage.deallocate(__new_start, __n))); -+ _STLP_UNWIND((_Destroy(__new_start, __new_finish), -+ this->_M_end_of_storage.deallocate(__new_start, __n))); - -- _Destroy(_M_start, _M_finish + 1); -- _M_deallocate_block(); -- _M_start = __new_start; -- _M_finish = __new_finish; -- _M_end_of_storage._M_data = __new_start + __n; -+ _Destroy(this->_M_start, this->_M_finish + 1); -+ this->_M_deallocate_block(); -+ this->_M_start = __new_start; -+ this->_M_finish = __new_finish; -+ this->_M_end_of_storage._M_data = __new_start + __n; - } - --template --basic_string<_CharT,_Traits,_Alloc>& --basic_string<_CharT,_Traits,_Alloc>::append(__size_type__ __n, _CharT __c) { -+template basic_string<_CharT,_Traits,_Alloc>& basic_string<_CharT,_Traits,_Alloc>::append(size_type __n, _CharT __c) { - if (__n > max_size() || size() > max_size() - __n) -- _M_throw_length_error(); -+ this->_M_throw_length_error(); - if (size() + __n > capacity()) -- reserve(size() + max(size(), __n)); -+ reserve(size() + (max)(size(), __n)); - if (__n > 0) { -- uninitialized_fill_n(_M_finish + 1, __n - 1, __c); -- __STL_TRY { -- _M_construct_null(_M_finish + __n); -- } -- __STL_UNWIND(_Destroy(_M_finish + 1, _M_finish + __n)); -- _Traits::assign(*_M_finish, __c); -- _M_finish += __n; -+ uninitialized_fill_n(this->_M_finish + 1, __n - 1, __c); -+ _STLP_TRY { -+ _M_construct_null(this->_M_finish + __n); -+ } -+ _STLP_UNWIND(_Destroy(this->_M_finish + 1, this->_M_finish + __n)); -+ _Traits::assign(*end(), __c); -+ this->_M_finish += __n; - } - return *this; - } - --#ifndef __STL_MEMBER_TEMPLATES -+#ifndef _STLP_MEMBER_TEMPLATES - --template --basic_string<_CharT, _Traits, _Alloc>& --basic_string<_CharT, _Traits, _Alloc>::append(const _CharT* __first, -+template basic_string<_CharT, _Traits, _Alloc>& basic_string<_CharT, _Traits, _Alloc>::append(const _CharT* __first, - const _CharT* __last) - { - if (__first != __last) { - const size_type __old_size = size(); - ptrdiff_t __n = __last - __first; - if ((size_type)__n > max_size() || __old_size > max_size() - __n) -- _M_throw_length_error(); -+ this->_M_throw_length_error(); - if (__old_size + __n > capacity()) { -- const size_type __len = __old_size + max(__old_size, (size_t) __n) + 1; -- pointer __new_start = _M_end_of_storage.allocate(__len); -+ const size_type __len = __old_size + (max)(__old_size, (size_t) __n) + 1; -+ pointer __new_start = this->_M_end_of_storage.allocate(__len); - pointer __new_finish = __new_start; -- __STL_TRY { -- __new_finish = uninitialized_copy(_M_start, _M_finish, __new_start); -+ _STLP_TRY { -+ __new_finish = uninitialized_copy(this->_M_start, this->_M_finish, __new_start); - __new_finish = uninitialized_copy(__first, __last, __new_finish); - _M_construct_null(__new_finish); - } -- __STL_UNWIND((_Destroy(__new_start,__new_finish), -- _M_end_of_storage.deallocate(__new_start,__len))); -- _Destroy(_M_start, _M_finish + 1); -- _M_deallocate_block(); -- _M_start = __new_start; -- _M_finish = __new_finish; -- _M_end_of_storage._M_data = __new_start + __len; -+ _STLP_UNWIND((_Destroy(__new_start,__new_finish), -+ this->_M_end_of_storage.deallocate(__new_start,__len))); -+ _Destroy(this->_M_start, this->_M_finish + 1); -+ this->_M_deallocate_block(); -+ this->_M_start = __new_start; -+ this->_M_finish = __new_finish; -+ this->_M_end_of_storage._M_data = __new_start + __len; - } - else { - const _CharT* __f1 = __first; - ++__f1; -- uninitialized_copy(__f1, __last, _M_finish + 1); -- __STL_TRY { -- _M_construct_null(_M_finish + __n); -- } -- __STL_UNWIND(_Destroy(_M_finish + 1, _M_finish + __n)); -- _Traits::assign(*_M_finish, *__first); -- _M_finish += __n; -+ uninitialized_copy(__f1, __last, this->_M_finish + 1); -+ _STLP_TRY { -+ _M_construct_null(this->_M_finish + __n); -+ } -+ _STLP_UNWIND(_Destroy(this->_M_finish + 1, this->_M_finish + __n)); -+ _Traits::assign(*end(), *__first); -+ this->_M_finish += __n; - } - } - return *this; - } - --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - template - basic_string<_CharT,_Traits,_Alloc>& --basic_string<_CharT,_Traits,_Alloc>::assign(__size_type__ __n, _CharT __c) { -+basic_string<_CharT,_Traits,_Alloc>::assign(size_type __n, _CharT __c) { - if (__n <= size()) { -- _Traits::assign(_M_start, __n, __c); -+ _Traits::assign(this->_M_start, __n, __c); - erase(begin() + __n, end()); - } - else { -- _Traits::assign(_M_start, size(), __c); -+ _Traits::assign(this->_M_start, size(), __c); - append(__n - size(), __c); - } - return *this; - } - -- --#if !defined(__STL_MEMBER_TEMPLATES) --// dwa 2/4/00 - specializing the member template might be a better solution, --// but I'm not sure how to write it correctly (and portably). If this is not --// a specialization but it appears alongside the member template we get an --// ambiguity error. -- --template --basic_string<_CharT,_Traits,_Alloc>& --basic_string<_CharT,_Traits,_Alloc>::assign(const _CharT* __f, -- const _CharT* __l) --{ -- ptrdiff_t __n = __l - __f; -- if (__STATIC_CAST(size_type,__n) <= size()) { -- _Traits::copy(_M_start, __f, __n); -- erase(begin() + __n, end()); -- } -- else { -- _Traits::copy(_M_start, __f, size()); -- append(__f + size(), __l); -- } -- return *this; --} --#endif -- --template --_CharT* --basic_string<_CharT,_Traits,_Alloc> -- ::_M_insert_aux(_CharT* __p, -+template _CharT* -+basic_string<_CharT,_Traits,_Alloc> ::_M_insert_aux(_CharT* __p, - _CharT __c) - { - pointer __new_pos = __p; -- if (_M_finish + 1 < _M_end_of_storage._M_data) { -- _M_construct_null(_M_finish + 1); -- _Traits::move(__p + 1, __p, _M_finish - __p); -+ if (this->_M_finish + 1 < this->_M_end_of_storage._M_data) { -+ _M_construct_null(this->_M_finish + 1); -+ _Traits::move(__p + 1, __p, this->_M_finish - __p); - _Traits::assign(*__p, __c); -- ++_M_finish; -+ ++this->_M_finish; - } - else { - const size_type __old_len = size(); - const size_type __len = __old_len + -- max(__old_len, __STATIC_CAST(size_type,1)) + 1; -- pointer __new_start = _M_end_of_storage.allocate(__len); -+ (max)(__old_len, __STATIC_CAST(size_type,1)) + 1; -+ pointer __new_start = this->_M_end_of_storage.allocate(__len); - pointer __new_finish = __new_start; -- __STL_TRY { -- __new_pos = uninitialized_copy(_M_start, __p, __new_start); -+ _STLP_TRY { -+ __new_pos = uninitialized_copy(this->_M_start, __p, __new_start); - _Construct(__new_pos, __c); - __new_finish = __new_pos + 1; -- __new_finish = uninitialized_copy(__p, _M_finish, __new_finish); -+ __new_finish = uninitialized_copy(__p, this->_M_finish, __new_finish); - _M_construct_null(__new_finish); - } -- __STL_UNWIND((_Destroy(__new_start,__new_finish), -- _M_end_of_storage.deallocate(__new_start,__len))); -- _Destroy(_M_start, _M_finish + 1); -- _M_deallocate_block(); -- _M_start = __new_start; -- _M_finish = __new_finish; -- _M_end_of_storage._M_data = __new_start + __len; -+ _STLP_UNWIND((_Destroy(__new_start,__new_finish), -+ this->_M_end_of_storage.deallocate(__new_start,__len))); -+ _Destroy(this->_M_start, this->_M_finish + 1); -+ this->_M_deallocate_block(); -+ this->_M_start = __new_start; -+ this->_M_finish = __new_finish; -+ this->_M_end_of_storage._M_data = __new_start + __len; - } - return __new_pos; - } - --template --void basic_string<_CharT,_Traits,_Alloc>::insert(__iterator__ __position, -+template void basic_string<_CharT,_Traits,_Alloc>::insert(iterator __position, - size_t __n, _CharT __c) - { - if (__n != 0) { -- if (size_type(_M_end_of_storage._M_data - _M_finish) >= __n + 1) { -- const size_type __elems_after = _M_finish - __position; -- pointer __old_finish = _M_finish; -+ if (size_type(this->_M_end_of_storage._M_data - this->_M_finish) >= __n + 1) { -+ const size_type __elems_after = this->_M_finish - __position; -+ pointer __old_finish = this->_M_finish; - if (__elems_after >= __n) { -- uninitialized_copy((_M_finish - __n) + 1, _M_finish + 1, -- _M_finish + 1); -- _M_finish += __n; -+ uninitialized_copy((this->_M_finish - __n) + 1, this->_M_finish + 1, -+ this->_M_finish + 1); -+ this->_M_finish += __n; - _Traits::move(__position + __n, - __position, (__elems_after - __n) + 1); - _Traits::assign(__position, __n, __c); - } - else { -- uninitialized_fill_n(_M_finish + 1, __n - __elems_after - 1, __c); -- _M_finish += __n - __elems_after; -- __STL_TRY { -- uninitialized_copy(__position, __old_finish + 1, _M_finish); -- _M_finish += __elems_after; -+ uninitialized_fill_n(this->_M_finish + 1, __n - __elems_after - 1, __c); -+ this->_M_finish += __n - __elems_after; -+ _STLP_TRY { -+ uninitialized_copy(__position, __old_finish + 1, this->_M_finish); -+ this->_M_finish += __elems_after; - } -- __STL_UNWIND((_Destroy(__old_finish + 1, _M_finish), -- _M_finish = __old_finish)); -+ _STLP_UNWIND((_Destroy(__old_finish + 1, this->_M_finish), -+ this->_M_finish = __old_finish)); - _Traits::assign(__position, __elems_after + 1, __c); - } - } - else { - const size_type __old_size = size(); -- const size_type __len = __old_size + max(__old_size, __n) + 1; -- pointer __new_start = _M_end_of_storage.allocate(__len); -+ const size_type __len = __old_size + (max)(__old_size, __n) + 1; -+ pointer __new_start = this->_M_end_of_storage.allocate(__len); - pointer __new_finish = __new_start; -- __STL_TRY { -- __new_finish = uninitialized_copy(_M_start, __position, __new_start); -+ _STLP_TRY { -+ __new_finish = uninitialized_copy(this->_M_start, __position, __new_start); - __new_finish = uninitialized_fill_n(__new_finish, __n, __c); -- __new_finish = uninitialized_copy(__position, _M_finish, -+ __new_finish = uninitialized_copy(__position, this->_M_finish, - __new_finish); - _M_construct_null(__new_finish); - } -- __STL_UNWIND((_Destroy(__new_start,__new_finish), -- _M_end_of_storage.deallocate(__new_start,__len))); -- _Destroy(_M_start, _M_finish + 1); -- _M_deallocate_block(); -- _M_start = __new_start; -- _M_finish = __new_finish; -- _M_end_of_storage._M_data = __new_start + __len; -+ _STLP_UNWIND((_Destroy(__new_start,__new_finish), -+ this->_M_end_of_storage.deallocate(__new_start,__len))); -+ _Destroy(this->_M_start, this->_M_finish + 1); -+ this->_M_deallocate_block(); -+ this->_M_start = __new_start; -+ this->_M_finish = __new_finish; -+ this->_M_end_of_storage._M_data = __new_start + __len; - } - } - } - --#ifndef __STL_MEMBER_TEMPLATES -+#ifndef _STLP_MEMBER_TEMPLATES - --template --void --basic_string<_CharT,_Traits,_Alloc>::insert(__iterator__ __position, -+template void -+basic_string<_CharT,_Traits,_Alloc>::insert(iterator __position, - const _CharT* __first, - const _CharT* __last) - { - if (__first != __last) { - const ptrdiff_t __n = __last - __first; -- if (_M_end_of_storage._M_data - _M_finish >= __n + 1) { -- const ptrdiff_t __elems_after = _M_finish - __position; -- pointer __old_finish = _M_finish; -+ if (this->_M_end_of_storage._M_data - this->_M_finish >= __n + 1) { -+ const ptrdiff_t __elems_after = this->_M_finish - __position; -+ pointer __old_finish = this->_M_finish; - if (__elems_after >= __n) { -- uninitialized_copy((_M_finish - __n) + 1, _M_finish + 1, -- _M_finish + 1); -- _M_finish += __n; -+ uninitialized_copy((this->_M_finish - __n) + 1, this->_M_finish + 1, -+ this->_M_finish + 1); -+ this->_M_finish += __n; - _Traits::move(__position + __n, - __position, (__elems_after - __n) + 1); - _M_copy(__first, __last, __position); -@@ -398,49 +259,47 @@ - else { - const _CharT* __mid = __first; - advance(__mid, __elems_after + 1); -- uninitialized_copy(__mid, __last, _M_finish + 1); -- _M_finish += __n - __elems_after; -- __STL_TRY { -- uninitialized_copy(__position, __old_finish + 1, _M_finish); -- _M_finish += __elems_after; -+ uninitialized_copy(__mid, __last, this->_M_finish + 1); -+ this->_M_finish += __n - __elems_after; -+ _STLP_TRY { -+ uninitialized_copy(__position, __old_finish + 1, this->_M_finish); -+ this->_M_finish += __elems_after; - } -- __STL_UNWIND((_Destroy(__old_finish + 1, _M_finish), -- _M_finish = __old_finish)); -+ _STLP_UNWIND((_Destroy(__old_finish + 1, this->_M_finish), -+ this->_M_finish = __old_finish)); - _M_copy(__first, __mid, __position); - } - } - else { - size_type __old_size = size(); - size_type __len -- = __old_size + max(__old_size, __STATIC_CAST(const size_type,__n)) + 1; -- pointer __new_start = _M_end_of_storage.allocate(__len); -+ = __old_size + (max)(__old_size, __STATIC_CAST(const size_type,__n)) + 1; -+ pointer __new_start = this->_M_end_of_storage.allocate(__len); - pointer __new_finish = __new_start; -- __STL_TRY { -- __new_finish = uninitialized_copy(_M_start, __position, __new_start); -+ _STLP_TRY { -+ __new_finish = uninitialized_copy(this->_M_start, __position, __new_start); - __new_finish = uninitialized_copy(__first, __last, __new_finish); - __new_finish -- = uninitialized_copy(__position, _M_finish, __new_finish); -+ = uninitialized_copy(__position, this->_M_finish, __new_finish); - _M_construct_null(__new_finish); - } -- __STL_UNWIND((_Destroy(__new_start,__new_finish), -- _M_end_of_storage.deallocate(__new_start,__len))); -- _Destroy(_M_start, _M_finish + 1); -- _M_deallocate_block(); -- _M_start = __new_start; -- _M_finish = __new_finish; -- _M_end_of_storage._M_data = __new_start + __len; -+ _STLP_UNWIND((_Destroy(__new_start,__new_finish), -+ this->_M_end_of_storage.deallocate(__new_start,__len))); -+ _Destroy(this->_M_start, this->_M_finish + 1); -+ this->_M_deallocate_block(); -+ this->_M_start = __new_start; -+ this->_M_finish = __new_finish; -+ this->_M_end_of_storage._M_data = __new_start + __len; - } - } - } - --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - --template --basic_string<_CharT,_Traits,_Alloc>& --basic_string<_CharT,_Traits,_Alloc> -- ::replace(iterator __first, iterator __last, __size_type__ __n, _CharT __c) -+template basic_string<_CharT,_Traits,_Alloc>& basic_string<_CharT,_Traits,_Alloc> ::replace(iterator __first, iterator __last, size_type __n, _CharT __c) - { -- const size_type __len = __STATIC_CAST(const size_type,(__last - __first)); -+ size_type __len = (size_type)(__last - __first); -+ - if (__len >= __n) { - _Traits::assign(__first, __n, __c); - erase(__first + __n, __last); -@@ -452,13 +311,10 @@ - return *this; - } - --#ifndef __STL_MEMBER_TEMPLATES -+#ifndef _STLP_MEMBER_TEMPLATES - - --template --basic_string<_CharT,_Traits,_Alloc>& --basic_string<_CharT,_Traits,_Alloc> -- ::replace(iterator __first, iterator __last, -+template basic_string<_CharT,_Traits,_Alloc>& basic_string<_CharT,_Traits,_Alloc> ::replace(iterator __first, iterator __last, - const _CharT* __f, const _CharT* __l) - { - const ptrdiff_t __n = __l - __f; -@@ -475,147 +331,129 @@ - return *this; - } - --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - --template --__size_type__ --basic_string<_CharT,_Traits,_Alloc> -- ::find(const _CharT* __s, size_type __pos, size_type __n) const -+template __size_type__ -+basic_string<_CharT,_Traits,_Alloc> ::find(const _CharT* __s, size_type __pos, size_type __n) const - { - if (__pos + __n > size()) - return npos; - else { - const const_pointer __result = -- search((const _CharT*)_M_start + __pos, (const _CharT*)_M_finish, -- __s, __s + __n, _Eq_traits<_Traits>()); -- return __result != _M_finish ? __result - _M_start : npos; -+ _STLP_STD::search((const _CharT*)this->_M_start + __pos, (const _CharT*)this->_M_finish, -+ __s, __s + __n, _Eq_traits<_Traits>()); -+ return __result != this->_M_finish ? __result - this->_M_start : npos; - } - } - --template --__size_type__ --basic_string<_CharT,_Traits,_Alloc> -- ::find(_CharT __c, size_type __pos) const -+template __size_type__ -+basic_string<_CharT,_Traits,_Alloc> ::find(_CharT __c, size_type __pos) const - { - if (__pos >= size()) - return npos; - else { - const const_pointer __result = -- find_if((const _CharT*)_M_start + __pos, (const _CharT*)_M_finish, -- bind2nd(_Eq_traits<_Traits>(), __c)); -- return __result != _M_finish ? __result - _M_start : npos; -+ _STLP_STD::find_if((const _CharT*)this->_M_start + __pos, (const _CharT*)this->_M_finish, -+ _Eq_char_bound<_Traits>(__c)); -+ return __result != this->_M_finish ? __result - this->_M_start : npos; - } - } - --template --__size_type__ --basic_string<_CharT,_Traits,_Alloc> -- ::rfind(const _CharT* __s, size_type __pos, size_type __n) const -+template __size_type__ -+basic_string<_CharT,_Traits,_Alloc> ::rfind(const _CharT* __s, size_type __pos, size_type __n) const - { - const size_t __len = size(); - - if (__n > __len) - return npos; - else if (__n == 0) -- return min(__len, __pos); -+ return (min) (__len, __pos); - else { -- const_pointer __last = _M_start + min(__len - __n, __pos) + __n; -- const_pointer __result = find_end((const_pointer)_M_start, __last, -- __s, __s + __n, -- _Eq_traits<_Traits>()); -- return __result != __last ? __result - _M_start : npos; -+ const_pointer __last = this->_M_start + (min) (__len - __n, __pos) + __n; -+ const_pointer __result = _STLP_STD::find_end((const_pointer)this->_M_start, __last, -+ __s, __s + __n, -+ _Eq_traits<_Traits>()); -+ return __result != __last ? __result - this->_M_start : npos; - } - } - --template --__size_type__ --basic_string<_CharT,_Traits,_Alloc> -- ::rfind(_CharT __c, size_type __pos) const -+template __size_type__ -+basic_string<_CharT,_Traits,_Alloc> ::rfind(_CharT __c, size_type __pos) const - { - const size_type __len = size(); - - if (__len < 1) - return npos; - else { -- const const_iterator __last = begin() + min(__len - 1, __pos) + 1; -+ const const_iterator __last = begin() + (min) (__len - 1, __pos) + 1; - const_reverse_iterator __rresult = -- find_if(const_reverse_iterator(__last), rend(), -- bind2nd(_Eq_traits<_Traits>(), __c)); -+ _STLP_STD::find_if(const_reverse_iterator(__last), rend(), -+ _Eq_char_bound<_Traits>(__c)); - return __rresult != rend() ? (__rresult.base() - 1) - begin() : npos; - } - } - --template --__size_type__ --basic_string<_CharT,_Traits,_Alloc> -- ::find_first_of(const _CharT* __s, size_type __pos, size_type __n) const -+template __size_type__ -+basic_string<_CharT,_Traits,_Alloc> ::find_first_of(const _CharT* __s, size_type __pos, size_type __n) const - { - if (__pos >= size()) - return npos; - else { -- const_iterator __result = __STLPORT_STD::find_first_of(begin() + __pos, end(), -- __s, __s + __n, -- _Eq_traits<_Traits>()); -+ const_iterator __result = __find_first_of(begin() + __pos, end(), -+ __s, __s + __n, -+ _Eq_traits<_Traits>()); - return __result != end() ? __result - begin() : npos; - } - } - - --template --__size_type__ --basic_string<_CharT,_Traits,_Alloc> -- ::find_last_of(const _CharT* __s, size_type __pos, size_type __n) const -+template __size_type__ -+basic_string<_CharT,_Traits,_Alloc> ::find_last_of(const _CharT* __s, size_type __pos, size_type __n) const - { - const size_type __len = size(); - - if (__len < 1) - return npos; - else { -- const const_iterator __last = begin() + min(__len - 1, __pos) + 1; -+ const const_iterator __last = begin() + (min) (__len - 1, __pos) + 1; - const const_reverse_iterator __rresult = -- __STLPORT_STD::find_first_of(const_reverse_iterator(__last), rend(), -- __s, __s + __n, -- _Eq_traits<_Traits>()); -+ __find_first_of(const_reverse_iterator(__last), rend(), -+ __s, __s + __n, -+ _Eq_traits<_Traits>()); - return __rresult != rend() ? (__rresult.base() - 1) - begin() : npos; - } - } - - --template --__size_type__ --basic_string<_CharT,_Traits,_Alloc> -- ::find_first_not_of(const _CharT* __s, size_type __pos, size_type __n) const -+template __size_type__ -+basic_string<_CharT,_Traits,_Alloc> ::find_first_not_of(const _CharT* __s, size_type __pos, size_type __n) const - { - typedef typename _Traits::char_type _CharType; - if (__pos > size()) - return npos; - else { -- const_pointer __result = find_if((const _CharT*)_M_start + __pos, -- (const _CharT*)_M_finish, -+ const_pointer __result = _STLP_STD::find_if((const _CharT*)this->_M_start + __pos, -+ (const _CharT*)this->_M_finish, - _Not_within_traits<_Traits>((const _CharType*)__s, - (const _CharType*)__s + __n)); -- return __result != _M_finish ? __result - _M_start : npos; -+ return __result != this->_M_finish ? __result - this->_M_start : npos; - } - } - --template --__size_type__ --basic_string<_CharT,_Traits,_Alloc> -- ::find_first_not_of(_CharT __c, size_type __pos) const -+template __size_type__ -+basic_string<_CharT,_Traits,_Alloc> ::find_first_not_of(_CharT __c, size_type __pos) const - { - if (__pos > size()) - return npos; - else { -- const_pointer __result = find_if((const _CharT*)_M_start + __pos, (const _CharT*)_M_finish, -- not1(bind2nd(_Eq_traits<_Traits>(), __c))); -- return __result != _M_finish ? __result - _M_start : npos; -+ const_pointer __result = _STLP_STD::find_if((const _CharT*)this->_M_start + __pos, (const _CharT*)this->_M_finish, -+ _Neq_char_bound<_Traits>(__c)); -+ return __result != this->_M_finish ? __result - this->_M_start : npos; - } - } - --template --__size_type__ --basic_string<_CharT,_Traits,_Alloc> -- ::find_last_not_of(const _CharT* __s, size_type __pos, size_type __n) const -+template __size_type__ -+basic_string<_CharT,_Traits,_Alloc> ::find_last_not_of(const _CharT* __s, size_type __pos, size_type __n) const - { - typedef typename _Traits::char_type _CharType; - const size_type __len = size(); -@@ -623,84 +461,115 @@ - if (__len < 1) - return npos; - else { -- const_iterator __last = begin() + min(__len - 1, __pos) + 1; -+ const_iterator __last = begin() + (min) (__len - 1, __pos) + 1; - const_reverse_iterator __rlast = const_reverse_iterator(__last); - const_reverse_iterator __rresult = -- find_if(__rlast, rend(), -- _Not_within_traits<_Traits>((const _CharType*)__s, -- (const _CharType*)__s + __n)); -+ _STLP_STD::find_if(__rlast, rend(), -+ _Not_within_traits<_Traits>((const _CharType*)__s, -+ (const _CharType*)__s + __n)); - return __rresult != rend() ? (__rresult.base() - 1) - begin() : npos; - } - } - --template --__size_type__ --basic_string<_CharT, _Traits, _Alloc> -- ::find_last_not_of(_CharT __c, size_type __pos) const -+template __size_type__ -+basic_string<_CharT, _Traits, _Alloc> ::find_last_not_of(_CharT __c, size_type __pos) const - { - const size_type __len = size(); - - if (__len < 1) - return npos; - else { -- const_iterator __last = begin() + min(__len - 1, __pos) + 1; -+ const_iterator __last = begin() + (min) (__len - 1, __pos) + 1; - const_reverse_iterator __rlast = const_reverse_iterator(__last); - const_reverse_iterator __rresult = -- find_if(__rlast, rend(), -- not1(bind2nd(_Eq_traits<_Traits>(), __c))); -+ _STLP_STD::find_if(__rlast, rend(), -+ _Neq_char_bound<_Traits>(__c)); - return __rresult != rend() ? (__rresult.base() - 1) - begin() : npos; - } - } - --template --void __STL_CALL _S_string_copy(const basic_string<_CharT,_Traits,_Alloc>& __s, -+template void _STLP_CALL _S_string_copy(const basic_string<_CharT,_Traits,_Alloc>& __s, - _CharT* __buf, - size_t __n) - { - if (__n > 0) { -- __n = min(__n - 1, __s.size()); -- copy(__s.begin(), __s.begin() + __n, __buf); -+ __n = (min) (__n - 1, __s.size()); -+ _STLP_STD::copy(__s.begin(), __s.begin() + __n, __buf); - __buf[__n] = _CharT(); - } - } --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - - // _string_fwd has to see clean basic_string - # undef basic_string - --# if !defined (__STL_LINK_TIME_INSTANTIATION) --# include -+# if !defined (_STLP_LINK_TIME_INSTANTIATION) -+# include - # endif - --# ifdef __STL_DEBUG -+# ifdef _STLP_DEBUG - # define basic_string _Nondebug_string - # endif - --# include -- --__STL_BEGIN_NAMESPACE -+# include -+_STLP_BEGIN_NAMESPACE - - // _String_base methods --template --void _String_base<_Tp,_Alloc>::_M_throw_length_error() const { -+template void _String_base<_Tp,_Alloc>::_M_throw_length_error() const { - __stl_throw_length_error("basic_string"); - } - --template --void _String_base<_Tp, _Alloc>::_M_throw_out_of_range() const { -+template void _String_base<_Tp, _Alloc>::_M_throw_out_of_range() const { - __stl_throw_out_of_range("basic_string"); - } - --__STL_END_NAMESPACE -+template void _String_base<_Tp, _Alloc>::_M_allocate_block(size_t __n) { -+ if ((__n <= (max_size()+1)) && (__n>0)){ -+ _M_start = _M_end_of_storage.allocate(__n); -+ _M_finish = _M_start; -+ _M_end_of_storage._M_data = _M_start + __n; -+ } -+ else -+ _M_throw_length_error(); -+} -+ -+template basic_string<_CharT, _Traits, _Alloc>::basic_string() -+ : _String_base<_CharT,_Alloc>(allocator_type()) { -+ this->_M_start = this->_M_end_of_storage.allocate(8); -+ this->_M_finish = this->_M_start; -+ this->_M_end_of_storage._M_data = this->_M_start + 8; -+ _M_terminate_string(); -+} -+ -+ -+template basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT* __s, -+ const allocator_type& __a) -+ : _String_base<_CharT,_Alloc>(__a) -+{ -+ _STLP_FIX_LITERAL_BUG(__s) -+ _M_range_initialize(__s, __s + traits_type::length(__s)); -+} -+ -+ -+template basic_string<_CharT, _Traits, _Alloc>::basic_string(const basic_string<_CharT, _Traits, _Alloc> & __s) -+ : _String_base<_CharT,_Alloc>(__s.get_allocator()) -+{ -+ _M_range_initialize(__s._M_start, __s._M_finish); -+} -+ -+# if defined ( __SUNPRO_CC) && ! defined(_STLP_STATIC_CONST_INIT_BUG) -+template const size_t basic_string<_CharT, _Traits, _Alloc>::npos; -+# endif -+ -+_STLP_END_NAMESPACE - - # undef basic_string - # undef __size_type__ - # undef size_type --# undef __iterator__ - # undef iterator - # endif /* NATIVE */ - --#endif /* __STL_STRING_C */ -+#endif /* _STLP_STRING_C */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_string.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_string.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_string.h Sat Feb 24 10:45:11 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_string.h Sun Aug 11 18:59:25 2002 -@@ -16,43 +16,41 @@ - * - */ - --#ifndef __SGI_STL_STRING_H --#define __SGI_STL_STRING_H -+#ifndef _STLP_STRING_H -+#define _STLP_STRING_H - --#ifndef __SGI_STL_MEMORY --# include -+#ifndef _STLP_MEMORY -+# include - #endif - --# ifndef __STLPORT_CCTYPE --# include -+# ifndef _STLP_CCTYPE -+# include - # endif - --#ifndef __SGI_STL_STRING_FWD_H --# include -+#ifndef _STLP_STRING_FWD_H -+# include - #endif - --#ifndef __SGI_STL_INTERNAL_FUNCTION_H --# include -+#ifndef _STLP_INTERNAL_FUNCTION_BASE_H -+# include - #endif - --# include -- --#ifndef __SGI_STL_INTERNAL_ALGO_H --# include -+# include -+#ifndef _STLP_INTERNAL_ALGOBASE_H -+# include - #endif - --# ifndef __STLPORT_IOSFWD --# include --# endif -- -+#ifndef _STLP_INTERNAL_ITERATOR_H -+# include -+#endif - --#if defined( __MWERKS__ ) && ! defined (__STL_USE_OWN_NAMESPACE) -+#if defined( __MWERKS__ ) && ! defined (_STLP_USE_OWN_NAMESPACE) - - // MSL implementation classes expect to see the definition of streampos - // when this header is included. We expect this to be fixed in later MSL - // implementations - # if !defined( __MSL_CPP__ ) || __MSL_CPP__ < 0x4105 --# include -+# include - # endif - - #endif // __MWERKS__ -@@ -78,18 +76,16 @@ - // a user-defined non-POD type. However, _CharT must still have a - // default constructor. - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - --# ifdef __STL_DEBUG -+# ifdef _STLP_DEBUG - # define basic_string _Nondebug_string - # endif - - // A helper class to use a char_traits as a function object. - --template --struct _Not_within_traits -- : public unary_function --{ -+template struct _Not_within_traits -+ : public unary_function { - typedef typename _Traits::char_type _CharT; - const _CharT* _M_first; - const _CharT* _M_last; -@@ -100,7 +96,7 @@ - - bool operator()(const typename _Traits::char_type& __x) const { - return find_if((_CharT*)_M_first, (_CharT*)_M_last, -- bind1st(_Eq_traits<_Traits>(), __x)) == (_CharT*)_M_last; -+ _Eq_char_bound<_Traits>(__x)) == (_CharT*)_M_last; - } - }; - -@@ -115,34 +111,22 @@ - // points to a block of memory that was allocated using _String_base's - // allocator and whose size is _M_end_of_storage._M_data - _M_start. - --// Additionally, _String_base encapsulates the difference between --// old SGI-style allocators and standard-conforming allocators. -- --template class __STL_CLASS_DECLSPEC _String_base { -+template class _String_base { - public: -+ _STLP_FORCE_ALLOCATORS(_Tp, _Alloc) - typedef typename _Alloc_traits<_Tp, _Alloc>::allocator_type allocator_type; - _Tp* _M_start; - _Tp* _M_finish; -- _STL_alloc_proxy<_Tp*, _Tp, allocator_type> _M_end_of_storage; -+ _STLP_alloc_proxy<_Tp*, _Tp, allocator_type> _M_end_of_storage; - // Precondition: 0 < __n <= max_size(). -- void _M_allocate_block(size_t __n) { -- if ((__n <= (max_size()+1)) && (__n>0)){ -- // if (__n <= max_size()) { -- _M_start = _M_end_of_storage.allocate(__n); -- _M_finish = _M_start; -- _M_end_of_storage._M_data = _M_start + __n; -- } -- else -- _M_throw_length_error(); -- } -- -+ void _M_allocate_block(size_t); - void _M_deallocate_block() - { _M_end_of_storage.deallocate(_M_start, _M_end_of_storage._M_data - _M_start); } - - size_t max_size() const { return (size_t(-1) / sizeof(_Tp)) - 1; } - - _String_base(const allocator_type& __a) -- : _M_start(0), _M_finish(0), _M_end_of_storage(__a, (_Tp*)0) { } -+ : _M_start(0), _M_finish(0), _M_end_of_storage(__a, (_Tp*)0) {} - - _String_base(const allocator_type& __a, size_t __n) - : _M_start(0), _M_finish(0), _M_end_of_storage(__a, (_Tp*)0) -@@ -154,12 +138,12 @@ - void _M_throw_out_of_range() const; - }; - --# if defined (__STL_USE_TEMPLATE_EXPORT) --__STL_EXPORT_TEMPLATE_CLASS _String_base >; --# if defined (__STL_HAS_WCHAR_T) --__STL_EXPORT_TEMPLATE_CLASS _String_base >; -+# if defined (_STLP_USE_TEMPLATE_EXPORT) -+_STLP_EXPORT_TEMPLATE_CLASS _String_base >; -+# if defined (_STLP_HAS_WCHAR_T) -+_STLP_EXPORT_TEMPLATE_CLASS _String_base >; - # endif --# endif /* __STL_USE_TEMPLATE_EXPORT */ -+# endif /* _STLP_USE_TEMPLATE_EXPORT */ - - // ------------------------------------------------------------ - // Class basic_string. -@@ -179,26 +163,14 @@ - - struct _String_reserve_t {}; - --template --class __STL_CLASS_DECLSPEC basic_string : protected _String_base<_CharT,_Alloc> { -+template class basic_string : protected _String_base<_CharT,_Alloc> { - private: // Protected members inherited from base. - typedef _String_base<_CharT,_Alloc> _Base; - typedef basic_string<_CharT, _Traits, _Alloc> _Self; - // fbp : used to optimize char/wchar_t cases, and to simplify -- // __STL_DEFAULT_CONSTRUCTOR_BUG problem workaround -+ // _STLP_DEFAULT_CONSTRUCTOR_BUG problem workaround - typedef typename _Is_integer<_CharT>::_Integral _Char_Is_Integral; - public: --#if defined( __STL_HAS_NAMESPACES ) -- __STL_USING_BASE_MEMBER _String_base<_CharT,_Alloc>::_M_allocate_block; -- __STL_USING_BASE_MEMBER _String_base<_CharT,_Alloc>::_M_deallocate_block; -- __STL_USING_BASE_MEMBER _String_base<_CharT,_Alloc>::_M_throw_length_error; -- __STL_USING_BASE_MEMBER _String_base<_CharT,_Alloc>::_M_throw_out_of_range; -- -- __STL_USING_BASE_MEMBER _String_base<_CharT,_Alloc>::_M_start; -- __STL_USING_BASE_MEMBER _String_base<_CharT,_Alloc>::_M_finish; -- __STL_USING_BASE_MEMBER _String_base<_CharT,_Alloc>::_M_end_of_storage; --#endif /* __STL_HAS_NAMESPACES */ --public: - typedef _CharT value_type; - typedef _Traits traits_type; - -@@ -213,32 +185,35 @@ - typedef const value_type* const_iterator; - typedef value_type* iterator; - -- __STL_DECLARE_RANDOM_ACCESS_REVERSE_ITERATORS; -+ _STLP_DECLARE_RANDOM_ACCESS_REVERSE_ITERATORS; - --# ifdef __STL_STATIC_CONST_INIT_BUG -+# ifdef _STLP_STATIC_CONST_INIT_BUG - enum { npos = -1 }; - # else - static const size_t npos = ~(size_t)0; - # endif - - typedef _String_reserve_t _Reserve_t; --# if defined (__STL_USE_NATIVE_STRING) && ! defined (__STL_DEBUG) -- // this typedef is being used for conversions -- typedef __STL_VENDOR_STD::basic_string<_CharT,_Traits, -- __STL_VENDOR_STD::allocator<_CharT> > __std_string; -+# if defined (_STLP_USE_NATIVE_STRING) && ! defined (_STLP_DEBUG) -+# if (defined(__IBMCPP__) && (500 <= __IBMCPP__) && (__IBMCPP__ < 600) ) -+ // this typedef is being used for conversions -+ typedef typename _STLP_VENDOR_STD::basic_string<_CharT,_Traits, -+ typename _STLP_VENDOR_STD::allocator<_CharT> > __std_string; -+# else -+ // this typedef is being used for conversions -+ typedef _STLP_VENDOR_STD::basic_string<_CharT,_Traits, -+ _STLP_VENDOR_STD::allocator<_CharT> > __std_string; -+# endif - # endif - - public: // Constructor, destructor, assignment. - typedef typename _String_base<_CharT,_Alloc>::allocator_type allocator_type; - - allocator_type get_allocator() const { -- return __STL_CONVERT_ALLOCATOR((const allocator_type&)_M_end_of_storage, _CharT); -+ return _STLP_CONVERT_ALLOCATOR((const allocator_type&)this->_M_end_of_storage, _CharT); - } - -- basic_string() -- : _String_base<_CharT,_Alloc>(allocator_type(), 8) { -- _M_terminate_string(); -- } -+ basic_string(); - - explicit basic_string(const allocator_type& __a) - : _String_base<_CharT,_Alloc>(__a, 8) { -@@ -251,76 +226,68 @@ - _M_terminate_string(); - } - -- basic_string(const _Self& __s) -- : _String_base<_CharT,_Alloc>(__s.get_allocator()) -- { -- _M_range_initialize(__s._M_start, __s._M_finish); -- } -+ basic_string(const basic_string<_CharT, _Traits, _Alloc>&); - - basic_string(const _Self& __s, size_type __pos, size_type __n = npos, - const allocator_type& __a = allocator_type()) - : _String_base<_CharT,_Alloc>(__a) { - if (__pos > __s.size()) -- _M_throw_out_of_range(); -+ this->_M_throw_out_of_range(); - else - _M_range_initialize(__s._M_start + __pos, -- __s._M_start + __pos + min(__n, __s.size() - __pos)); -+ __s._M_start + __pos + (min) (__n, __s.size() - __pos)); - } - - basic_string(const _CharT* __s, size_type __n, - const allocator_type& __a = allocator_type()) - : _String_base<_CharT,_Alloc>(__a) - { -- __STL_FIX_LITERAL_BUG(__s) -+ _STLP_FIX_LITERAL_BUG(__s) - _M_range_initialize(__s, __s + __n); - } - - basic_string(const _CharT* __s, -- const allocator_type& __a = allocator_type()) -- : _String_base<_CharT,_Alloc>(__a) -- { -- __STL_FIX_LITERAL_BUG(__s) -- _M_range_initialize(__s, __s + traits_type::length(__s)); -- } -+ const allocator_type& __a = allocator_type()); - - basic_string(size_type __n, _CharT __c, - const allocator_type& __a = allocator_type()) - : _String_base<_CharT,_Alloc>(__a, __n + 1) - { -- _M_finish = uninitialized_fill_n(_M_start, __n, __c); -+ this->_M_finish = uninitialized_fill_n(this->_M_start, __n, __c); - _M_terminate_string(); - } -+ - // Check to see if _InputIterator is an integer type. If so, then - // it can't be an iterator. --#if defined (__STL_MEMBER_TEMPLATES) -- template -- basic_string(_InputIterator __f, _InputIterator __l) -+#if defined (_STLP_MEMBER_TEMPLATES) && !(defined(__MRC__)||defined(__SC__)) //*ty 04/30/2001 - mpw compilers choke on this ctor -+# ifdef _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS -+ template basic_string(_InputIterator __f, _InputIterator __l) - : _String_base<_CharT,_Alloc>(allocator_type()) - { - typedef typename _Is_integer<_InputIterator>::_Integral _Integral; - _M_initialize_dispatch(__f, __l, _Integral()); - } -- template -- basic_string(_InputIterator __f, _InputIterator __l, -- const allocator_type & __a) -+# endif -+ template basic_string(_InputIterator __f, _InputIterator __l, -+ const allocator_type & __a _STLP_ALLOCATOR_TYPE_DFL) - : _String_base<_CharT,_Alloc>(__a) - { - typedef typename _Is_integer<_InputIterator>::_Integral _Integral; - _M_initialize_dispatch(__f, __l, _Integral()); - } --#else /* __STL_MEMBER_TEMPLATES */ -+#else /* _STLP_MEMBER_TEMPLATES */ - - basic_string(const _CharT* __f, const _CharT* __l, - const allocator_type& __a = allocator_type()) - : _String_base<_CharT,_Alloc>(__a) - { -- __STL_FIX_LITERAL_BUG(__f) __STL_FIX_LITERAL_BUG(__l) -+ _STLP_FIX_LITERAL_BUG(__f) _STLP_FIX_LITERAL_BUG(__l) - _M_range_initialize(__f, __l); - } - - #endif - --# if defined (__STL_USE_NATIVE_STRING) && ! defined (__STL_DEBUG) -+# if defined (_STLP_USE_NATIVE_STRING) && ! defined (_STLP_DEBUG) - // these conversion operations still needed for - // strstream, etc. - basic_string (const __std_string& __x): _String_base<_CharT,_Alloc>(allocator_type()) -@@ -329,10 +296,10 @@ - _M_range_initialize(__s, __s + __x.size()); - } - -- operator __std_string() const { return __std_string(this->data()); } -+ operator __std_string() const { return __std_string(this->data(), this->size()); } - # endif - -- ~basic_string() { _Destroy(_M_start, _M_finish + 1); } -+ ~basic_string() { _Destroy(this->_M_start, this->_M_finish + 1); } - - _Self& operator=(const _Self& __s) { - if (&__s != this) -@@ -341,28 +308,24 @@ - } - - _Self& operator=(const _CharT* __s) { -- __STL_FIX_LITERAL_BUG(__s) -+ _STLP_FIX_LITERAL_BUG(__s) - return assign(__s, __s + traits_type::length(__s)); - } - - _Self& operator=(_CharT __c) - { return assign(__STATIC_CAST(size_type,1), __c); } - -- static _CharT __STL_CALL _M_null() { --# ifndef __STL_DEFAULT_CONSTRUCTOR_BUG -- return _CharT(); --# else -- return (_CharT) 0; --# endif -+ static _CharT _STLP_CALL _M_null() { -+ return _STLP_DEFAULT_CONSTRUCTED(_CharT); - } - - private: // Helper functions used by constructors - // and elsewhere. - // fbp : simplify integer types (char, wchar) -- void _M_construct_null_aux(_CharT* __p, __false_type) { -+ void _M_construct_null_aux(_CharT* __p, const __false_type&) { - _Construct(__p); - } -- void _M_construct_null_aux(_CharT* __p, __true_type) { -+ void _M_construct_null_aux(_CharT* __p, const __true_type&) { - *__p = 0; - } - -@@ -374,95 +337,83 @@ - // Helper functions used by constructors. It is a severe error for - // any of them to be called anywhere except from within constructors. - -- void _M_terminate_string_aux(__false_type) { -- __STL_TRY { -- _M_construct_null(_M_finish); -+ void _M_terminate_string_aux(const __false_type&) { -+ _STLP_TRY { -+ _M_construct_null(this->_M_finish); - } -- __STL_UNWIND(_Destroy(_M_start, _M_finish)); -+ _STLP_UNWIND(_Destroy(this->_M_start, this->_M_finish)); - } - -- void _M_terminate_string_aux(__true_type) { -- *_M_finish=0; -+ void _M_terminate_string_aux(const __true_type&) { -+ *(this->_M_finish)=0; - } - - void _M_terminate_string() { - _M_terminate_string_aux(_Char_Is_Integral()); - } - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - -- template -- void _M_range_initialize(_InputIter __f, _InputIter __l, -- input_iterator_tag) { -- _M_allocate_block(8); -- _M_construct_null(_M_finish); -- __STL_TRY { -+ template void _M_range_initialize(_InputIter __f, _InputIter __l, -+ const input_iterator_tag &) { -+ this->_M_allocate_block(8); -+ _M_construct_null(this->_M_finish); -+ _STLP_TRY { - append(__f, __l); - } -- __STL_UNWIND(_Destroy(_M_start, _M_finish + 1)); -+ _STLP_UNWIND(_Destroy(this->_M_start, this->_M_finish + 1)); - } - -- template -- void _M_range_initialize(_ForwardIter __f, _ForwardIter __l, -- forward_iterator_tag) { -- difference_type __n = 0; -- distance(__f, __l, __n); -- _M_allocate_block(__n + 1); -- _M_finish = uninitialized_copy(__f, __l, _M_start); -+ template void _M_range_initialize(_ForwardIter __f, _ForwardIter __l, -+ const forward_iterator_tag &) { -+ difference_type __n = distance(__f, __l); -+ this->_M_allocate_block(__n + 1); -+ this->_M_finish = uninitialized_copy(__f, __l, this->_M_start); - _M_terminate_string(); - } - -- template -- void _M_range_initialize(_InputIter __f, _InputIter __l) { --# ifdef __STL_CLASS_PARTIAL_SPECIALIZATION -- typedef __STLPORT_STD::iterator_traits<_InputIter> _Iter_traits; -- typedef typename _Iter_traits::iterator_category _Category; -- _M_range_initialize(__f, __l, _Category()); --# else -- _M_range_initialize(__f, __l, __ITERATOR_CATEGORY(__f)); --# endif -+ template void _M_range_initialize(_InputIter __f, _InputIter __l) { -+ _M_range_initialize(__f, __l, _STLP_ITERATOR_CATEGORY(__f, _InputIter)); - } - -- template -- void _M_initialize_dispatch(_Integer __n, _Integer __x, __true_type) { -- _M_allocate_block(__n + 1); -- _M_finish = uninitialized_fill_n(_M_start, __n, __x); -+ template void _M_initialize_dispatch(_Integer __n, _Integer __x, const __true_type&) { -+ this->_M_allocate_block(__n + 1); -+ this->_M_finish = uninitialized_fill_n(this->_M_start, __n, __x); - _M_terminate_string(); - } - -- template -- void _M_initialize_dispatch(_InputIter __f, _InputIter __l, __false_type) { -+ template void _M_initialize_dispatch(_InputIter __f, _InputIter __l, const __false_type&) { - _M_range_initialize(__f, __l); - } - --#else /* __STL_MEMBER_TEMPLATES */ -+#else /* _STLP_MEMBER_TEMPLATES */ - - void _M_range_initialize(const _CharT* __f, const _CharT* __l) { - ptrdiff_t __n = __l - __f; -- _M_allocate_block(__n + 1); -- _M_finish = uninitialized_copy(__f, __l, _M_start); -+ this->_M_allocate_block(__n + 1); -+ this->_M_finish = uninitialized_copy(__f, __l, this->_M_start); - _M_terminate_string(); - } - --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - public: // Iterators. -- iterator begin() { return _M_start; } -- iterator end() { return _M_finish; } -- const_iterator begin() const { return _M_start; } -- const_iterator end() const { return _M_finish; } -+ iterator begin() { return this->_M_start; } -+ iterator end() { return this->_M_finish; } -+ const_iterator begin() const { return this->_M_start; } -+ const_iterator end() const { return this->_M_finish; } - - reverse_iterator rbegin() -- { return reverse_iterator(_M_finish); } -+ { return reverse_iterator(this->_M_finish); } - reverse_iterator rend() -- { return reverse_iterator(_M_start); } -+ { return reverse_iterator(this->_M_start); } - const_reverse_iterator rbegin() const -- { return const_reverse_iterator(_M_finish); } -+ { return const_reverse_iterator(this->_M_finish); } - const_reverse_iterator rend() const -- { return const_reverse_iterator(_M_start); } -+ { return const_reverse_iterator(this->_M_start); } - - public: // Size, capacity, etc. -- size_type size() const { return _M_finish - _M_start; } -+ size_type size() const { return this->_M_finish - this->_M_start; } - size_type length() const { return size(); } - - size_t max_size() const { return _Base::max_size(); } -@@ -478,41 +429,41 @@ - - void reserve(size_type = 0); - -- size_type capacity() const { return (_M_end_of_storage._M_data - _M_start) - 1; } -+ size_type capacity() const { return (this->_M_end_of_storage._M_data - this->_M_start) - 1; } - - void clear() { - if (!empty()) { -- _Traits::assign(*_M_start, _M_null()); -- _Destroy(_M_start+1, _M_finish+1); -- _M_finish = _M_start; -+ _Traits::assign(*(this->_M_start), _M_null()); -+ _Destroy(this->_M_start+1, this->_M_finish+1); -+ this->_M_finish = this->_M_start; - } - } - -- bool empty() const { return _M_start == _M_finish; } -+ bool empty() const { return this->_M_start == this->_M_finish; } - - public: // Element access. - - const_reference operator[](size_type __n) const -- { return *(_M_start + __n); } -+ { return *(this->_M_start + __n); } - reference operator[](size_type __n) -- { return *(_M_start + __n); } -+ { return *(this->_M_start + __n); } - - const_reference at(size_type __n) const { - if (__n >= size()) -- _M_throw_out_of_range(); -- return *(_M_start + __n); -+ this->_M_throw_out_of_range(); -+ return *(this->_M_start + __n); - } - - reference at(size_type __n) { - if (__n >= size()) -- _M_throw_out_of_range(); -- return *(_M_start + __n); -+ this->_M_throw_out_of_range(); -+ return *(this->_M_start + __n); - } - - public: // Append, operator+=, push_back. - - _Self& operator+=(const _Self& __s) { return append(__s); } -- _Self& operator+=(const _CharT* __s) { __STL_FIX_LITERAL_BUG(__s) return append(__s); } -+ _Self& operator+=(const _CharT* __s) { _STLP_FIX_LITERAL_BUG(__s) return append(__s); } - _Self& operator+=(_CharT __c) { push_back(__c); return *this; } - - _Self& append(const _Self& __s) -@@ -522,123 +473,107 @@ - size_type __pos, size_type __n) - { - if (__pos > __s.size()) -- _M_throw_out_of_range(); -+ this->_M_throw_out_of_range(); - return append(__s._M_start + __pos, -- __s._M_start + __pos + min(__n, __s.size() - __pos)); -+ __s._M_start + __pos + (min) (__n, __s.size() - __pos)); - } - - _Self& append(const _CharT* __s, size_type __n) -- { __STL_FIX_LITERAL_BUG(__s) return append(__s, __s+__n); } -+ { _STLP_FIX_LITERAL_BUG(__s) return append(__s, __s+__n); } - _Self& append(const _CharT* __s) -- { __STL_FIX_LITERAL_BUG(__s) return append(__s, __s + traits_type::length(__s)); } -+ { _STLP_FIX_LITERAL_BUG(__s) return append(__s, __s + traits_type::length(__s)); } - _Self& append(size_type __n, _CharT __c); - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - - // Check to see if _InputIterator is an integer type. If so, then - // it can't be an iterator. -- template -- _Self& append(_InputIter __first, _InputIter __last) { -+ template _Self& append(_InputIter __first, _InputIter __last) { - typedef typename _Is_integer<_InputIter>::_Integral _Integral; - return _M_append_dispatch(__first, __last, _Integral()); - } - --#else /* __STL_MEMBER_TEMPLATES */ -+#else /* _STLP_MEMBER_TEMPLATES */ - - _Self& append(const _CharT* __first, const _CharT* __last); - --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - void push_back(_CharT __c) { -- if (_M_finish + 1 == _M_end_of_storage._M_data) -- reserve(size() + max(size(), __STATIC_CAST(size_type,1))); -- _M_construct_null(_M_finish + 1); -- _Traits::assign(*_M_finish, __c); -- ++_M_finish; -+ if (this->_M_finish + 1 == this->_M_end_of_storage._M_data) -+ reserve(size() + (max)(size(), __STATIC_CAST(size_type,1))); -+ _M_construct_null(this->_M_finish + 1); -+ _Traits::assign(*(this->_M_finish), __c); -+ ++this->_M_finish; - } - - void pop_back() { -- _Traits::assign(*(_M_finish - 1), _M_null()); -- _Destroy(_M_finish); -- --_M_finish; -+ _Traits::assign(*(this->_M_finish - 1), _M_null()); -+ _Destroy(this->_M_finish); -+ --this->_M_finish; - } - - private: // Helper functions for append. - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - -- template -- _Self& append(_InputIter __first, _InputIter __last, input_iterator_tag) -+ template _Self& append(_InputIter __first, _InputIter __last, const input_iterator_tag &) - { - for ( ; __first != __last ; ++__first) - push_back(*__first); - return *this; - } - -- template -- _Self& append(_ForwardIter __first, _ForwardIter __last, -- forward_iterator_tag) --# ifndef __STL_INLINE_MEMBER_TEMPLATES --; --# else -- { -+ template _Self& append(_ForwardIter __first, _ForwardIter __last, -+ const forward_iterator_tag &) { - if (__first != __last) { - const size_type __old_size = size(); -- difference_type __n = 0; -- distance(__first, __last, __n); -+ difference_type __n = distance(__first, __last); - if (__STATIC_CAST(size_type,__n) > max_size() || __old_size > max_size() - __STATIC_CAST(size_type,__n)) -- _M_throw_length_error(); -+ this->_M_throw_length_error(); - if (__old_size + __n > capacity()) { - const size_type __len = __old_size + -- max(__old_size, __STATIC_CAST(size_type,__n)) + 1; -- pointer __new_start = _M_end_of_storage.allocate(__len); -+ (max)(__old_size, __STATIC_CAST(size_type,__n)) + 1; -+ pointer __new_start = this->_M_end_of_storage.allocate(__len); - pointer __new_finish = __new_start; -- __STL_TRY { -- __new_finish = uninitialized_copy(_M_start, _M_finish, __new_start); -+ _STLP_TRY { -+ __new_finish = uninitialized_copy(this->_M_start, this->_M_finish, __new_start); - __new_finish = uninitialized_copy(__first, __last, __new_finish); - _M_construct_null(__new_finish); - } -- __STL_UNWIND((_Destroy(__new_start,__new_finish), -- _M_end_of_storage.deallocate(__new_start,__len))); -- _Destroy(_M_start, _M_finish + 1); -- _M_deallocate_block(); -- _M_start = __new_start; -- _M_finish = __new_finish; -- _M_end_of_storage._M_data = __new_start + __len; -+ _STLP_UNWIND((_Destroy(__new_start,__new_finish), -+ this->_M_end_of_storage.deallocate(__new_start,__len))); -+ _Destroy(this->_M_start, this->_M_finish + 1); -+ this->_M_deallocate_block(); -+ this->_M_start = __new_start; -+ this->_M_finish = __new_finish; -+ this->_M_end_of_storage._M_data = __new_start + __len; - } - else { - _ForwardIter __f1 = __first; - ++__f1; -- uninitialized_copy(__f1, __last, _M_finish + 1); -- __STL_TRY { -- _M_construct_null(_M_finish + __n); -+ uninitialized_copy(__f1, __last, this->_M_finish + 1); -+ _STLP_TRY { -+ _M_construct_null(this->_M_finish + __n); - } -- __STL_UNWIND(_Destroy(_M_finish + 1, _M_finish + __n)); -- _Traits::assign(*_M_finish, *__first); -- _M_finish += __n; -+ _STLP_UNWIND(_Destroy(this->_M_finish + 1, this->_M_finish + __n)); -+ _Traits::assign(*end(), *__first); -+ this->_M_finish += __n; - } - } - return *this; - } --# endif /* __STL_INLINE_MEMBER_TEMPLATES */ - -- template -- _Self& _M_append_dispatch(_Integer __n, _Integer __x, __true_type) { -+ template _Self& _M_append_dispatch(_Integer __n, _Integer __x, const __true_type&) { - return append((size_type) __n, (_CharT) __x); - } - -- template -- _Self& _M_append_dispatch(_InputIter __f, _InputIter __l, -- __false_type) { --# if defined ( __STL_CLASS_PARTIAL_SPECIALIZATION ) -- typedef typename iterator_traits<_InputIter>::iterator_category _Category; -- return append(__f, __l, _Category()); --# else -- return append(__f, __l, __ITERATOR_CATEGORY(__f)); --# endif -+ template _Self& _M_append_dispatch(_InputIter __f, _InputIter __l, -+ const __false_type&) { -+ return append(__f, __l, _STLP_ITERATOR_CATEGORY(__f, _InputIter)); - } - --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - public: // Assign - -@@ -648,67 +583,75 @@ - _Self& assign(const _Self& __s, - size_type __pos, size_type __n) { - if (__pos > __s.size()) -- _M_throw_out_of_range(); -+ this->_M_throw_out_of_range(); - return assign(__s._M_start + __pos, -- __s._M_start + __pos + min(__n, __s.size() - __pos)); -+ __s._M_start + __pos + (min) (__n, __s.size() - __pos)); - } - - _Self& assign(const _CharT* __s, size_type __n) -- { __STL_FIX_LITERAL_BUG(__s) return assign(__s, __s + __n); } -+ { _STLP_FIX_LITERAL_BUG(__s) return assign(__s, __s + __n); } - - _Self& assign(const _CharT* __s) -- { __STL_FIX_LITERAL_BUG(__s) return assign(__s, __s + _Traits::length(__s)); } -+ { _STLP_FIX_LITERAL_BUG(__s) return assign(__s, __s + _Traits::length(__s)); } - - _Self& assign(size_type __n, _CharT __c); - --#ifdef __STL_MEMBER_TEMPLATES -- -- // Check to see if _InputIterator is an integer type. If so, then -- // it can't be an iterator. -- template -- _Self& assign(_InputIter __first, _InputIter __last) { -- typedef typename _Is_integer<_InputIter>::_Integral _Integral; -- return _M_assign_dispatch(__first, __last, _Integral()); -- } --#else -- -- _Self& assign(const _CharT* __f, const _CharT* __l); --#endif /* __STL_MEMBER_TEMPLATES */ -+#ifdef _STLP_MEMBER_TEMPLATES - - private: // Helper functions for assign. - --#ifdef __STL_MEMBER_TEMPLATES -- -- template -- _Self& _M_assign_dispatch(_Integer __n, _Integer __x, __true_type) { -+ template -+ _Self& _M_assign_dispatch(_Integer __n, _Integer __x, const __true_type&) { - return assign((size_type) __n, (_CharT) __x); - } - -- template -+ template - _Self& _M_assign_dispatch(_InputIter __f, _InputIter __l, -- __false_type) { -- pointer __cur = _M_start; -- while (__f != __l && __cur != _M_finish) { -- _Traits::assign(*__cur, *__f); -- ++__f; -- ++__cur; -- } -- if (__f == __l) -- erase(__cur, end()); -- else -- append(__f, __l); -- return *this; -- } -- --#endif /* __STL_MEMBER_TEMPLATES */ -+ const __false_type&) { -+ pointer __cur = this->_M_start; -+ while (__f != __l && __cur != this->_M_finish) { -+ _Traits::assign(*__cur, *__f); -+ ++__f; -+ ++__cur; -+ } -+ if (__f == __l) -+ erase(__cur, end()); -+ else -+ append(__f, __l); -+ return *this; -+ } -+ -+public: -+ // Check to see if _InputIterator is an integer type. If so, then -+ // it can't be an iterator. -+ template _Self& assign(_InputIter __first, _InputIter __last) { -+ typedef typename _Is_integer<_InputIter>::_Integral _Integral; -+ return _M_assign_dispatch(__first, __last, _Integral()); -+ } -+#endif /* _STLP_MEMBER_TEMPLATES */ - -+ // if member templates are on, this works as specialization -+ _Self& assign(const _CharT* __f, const _CharT* __l) -+ { -+ ptrdiff_t __n = __l - __f; -+ if (__STATIC_CAST(size_type,__n) <= size()) { -+ _Traits::copy(this->_M_start, __f, __n); -+ erase(begin() + __n, end()); -+ } -+ else { -+ _Traits::copy(this->_M_start, __f, size()); -+ append(__f + size(), __l); -+ } -+ return *this; -+ } -+ - public: // Insert - - _Self& insert(size_type __pos, const _Self& __s) { - if (__pos > size()) -- _M_throw_out_of_range(); -+ this->_M_throw_out_of_range(); - if (size() > max_size() - __s.size()) -- _M_throw_length_error(); -+ this->_M_throw_length_error(); - insert(begin() + __pos, __s._M_start, __s._M_finish); - return *this; - } -@@ -716,50 +659,50 @@ - _Self& insert(size_type __pos, const _Self& __s, - size_type __beg, size_type __n) { - if (__pos > size() || __beg > __s.size()) -- _M_throw_out_of_range(); -- size_type __len = min(__n, __s.size() - __beg); -+ this->_M_throw_out_of_range(); -+ size_type __len = (min) (__n, __s.size() - __beg); - if (size() > max_size() - __len) -- _M_throw_length_error(); -+ this->_M_throw_length_error(); - insert(begin() + __pos, - __s._M_start + __beg, __s._M_start + __beg + __len); - return *this; - } - - _Self& insert(size_type __pos, const _CharT* __s, size_type __n) { -- __STL_FIX_LITERAL_BUG(__s) -+ _STLP_FIX_LITERAL_BUG(__s) - if (__pos > size()) -- _M_throw_out_of_range(); -+ this->_M_throw_out_of_range(); - if (size() > max_size() - __n) -- _M_throw_length_error(); -+ this->_M_throw_length_error(); - insert(begin() + __pos, __s, __s + __n); - return *this; - } - - _Self& insert(size_type __pos, const _CharT* __s) { -- __STL_FIX_LITERAL_BUG(__s) -+ _STLP_FIX_LITERAL_BUG(__s) - if (__pos > size()) -- _M_throw_out_of_range(); -+ this->_M_throw_out_of_range(); - size_type __len = _Traits::length(__s); - if (size() > max_size() - __len) -- _M_throw_length_error(); -- insert(_M_start + __pos, __s, __s + __len); -+ this->_M_throw_length_error(); -+ insert(this->_M_start + __pos, __s, __s + __len); - return *this; - } - - _Self& insert(size_type __pos, size_type __n, _CharT __c) { - if (__pos > size()) -- _M_throw_out_of_range(); -+ this->_M_throw_out_of_range(); - if (size() > max_size() - __n) -- _M_throw_length_error(); -+ this->_M_throw_length_error(); - insert(begin() + __pos, __n, __c); - return *this; - } - - iterator insert(iterator __p, _CharT __c) { -- __STL_FIX_LITERAL_BUG(__p) -+ _STLP_FIX_LITERAL_BUG(__p) - if (__p == end()) { - push_back(__c); -- return _M_finish - 1; -+ return this->_M_finish - 1; - } - else - return _M_insert_aux(__p, __c); -@@ -767,29 +710,27 @@ - - void insert(iterator __p, size_t __n, _CharT __c); - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - - // Check to see if _InputIterator is an integer type. If so, then - // it can't be an iterator. -- template -- void insert(iterator __p, _InputIter __first, _InputIter __last) { -+ template void insert(iterator __p, _InputIter __first, _InputIter __last) { - typedef typename _Is_integer<_InputIter>::_Integral _Integral; - _M_insert_dispatch(__p, __first, __last, _Integral()); - } - --#else /* __STL_MEMBER_TEMPLATES */ -+#else /* _STLP_MEMBER_TEMPLATES */ - - void insert(iterator __p, const _CharT* __first, const _CharT* __last); - --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - private: // Helper functions for insert. - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - -- template -- void insert(iterator __p, _InputIter __first, _InputIter __last, -- input_iterator_tag) -+ template void insert(iterator __p, _InputIter __first, _InputIter __last, -+ const input_iterator_tag &) - { - for ( ; __first != __last; ++__first) { - __p = insert(__p, *__first); -@@ -797,23 +738,17 @@ - } - } - -- template -- void insert(iterator __position, _ForwardIter __first, _ForwardIter __last, -- forward_iterator_tag) --# ifndef __STL_INLINE_MEMBER_TEMPLATES --; --# else --{ -+ template void insert(iterator __position, _ForwardIter __first, _ForwardIter __last, -+ const forward_iterator_tag &) { - if (__first != __last) { -- difference_type __n = 0; -- distance(__first, __last, __n); -- if (_M_end_of_storage._M_data - _M_finish >= __n + 1) { -- const difference_type __elems_after = _M_finish - __position; -- pointer __old_finish = _M_finish; -+ difference_type __n = distance(__first, __last); -+ if (this->_M_end_of_storage._M_data - this->_M_finish >= __n + 1) { -+ const difference_type __elems_after = this->_M_finish - __position; -+ pointer __old_finish = this->_M_finish; - if (__elems_after >= __n) { -- uninitialized_copy((_M_finish - __n) + 1, _M_finish + 1, -- _M_finish + 1); -- _M_finish += __n; -+ uninitialized_copy((this->_M_finish - __n) + 1, this->_M_finish + 1, -+ this->_M_finish + 1); -+ this->_M_finish += __n; - _Traits::move(__position + __n, - __position, (__elems_after - __n) + 1); - _M_copy(__first, __last, __position); -@@ -821,68 +756,58 @@ - else { - _ForwardIter __mid = __first; - advance(__mid, __elems_after + 1); -- uninitialized_copy(__mid, __last, _M_finish + 1); -- _M_finish += __n - __elems_after; -- __STL_TRY { -- uninitialized_copy(__position, __old_finish + 1, _M_finish); -- _M_finish += __elems_after; -+ uninitialized_copy(__mid, __last, this->_M_finish + 1); -+ this->_M_finish += __n - __elems_after; -+ _STLP_TRY { -+ uninitialized_copy(__position, __old_finish + 1, this->_M_finish); -+ this->_M_finish += __elems_after; - } -- __STL_UNWIND((_Destroy(__old_finish + 1, _M_finish), -- _M_finish = __old_finish)); -+ _STLP_UNWIND((_Destroy(__old_finish + 1, this->_M_finish), -+ this->_M_finish = __old_finish)); - _M_copy(__first, __mid, __position); - } - } - else { - const size_type __old_size = size(); - const size_type __len -- = __old_size + max(__old_size, __STATIC_CAST(size_type,__n)) + 1; -- pointer __new_start = _M_end_of_storage.allocate(__len); -+ = __old_size + (max)(__old_size, __STATIC_CAST(size_type,__n)) + 1; -+ pointer __new_start = this->_M_end_of_storage.allocate(__len); - pointer __new_finish = __new_start; -- __STL_TRY { -- __new_finish = uninitialized_copy(_M_start, __position, __new_start); -+ _STLP_TRY { -+ __new_finish = uninitialized_copy(this->_M_start, __position, __new_start); - __new_finish = uninitialized_copy(__first, __last, __new_finish); - __new_finish -- = uninitialized_copy(__position, _M_finish, __new_finish); -+ = uninitialized_copy(__position, this->_M_finish, __new_finish); - _M_construct_null(__new_finish); - } -- __STL_UNWIND((_Destroy(__new_start,__new_finish), -- _M_end_of_storage.deallocate(__new_start,__len))); -- _Destroy(_M_start, _M_finish + 1); -- _M_deallocate_block(); -- _M_start = __new_start; -- _M_finish = __new_finish; -- _M_end_of_storage._M_data = __new_start + __len; -+ _STLP_UNWIND((_Destroy(__new_start,__new_finish), -+ this->_M_end_of_storage.deallocate(__new_start,__len))); -+ _Destroy(this->_M_start, this->_M_finish + 1); -+ this->_M_deallocate_block(); -+ this->_M_start = __new_start; -+ this->_M_finish = __new_finish; -+ this->_M_end_of_storage._M_data = __new_start + __len; - } - } - } --# endif /* __STL_INLINE_MEMBER_TEMPLATES */ -- - -- template -- void _M_insert_dispatch(iterator __p, _Integer __n, _Integer __x, -- __true_type) { -+ template void _M_insert_dispatch(iterator __p, _Integer __n, _Integer __x, -+ const __true_type&) { - insert(__p, (size_type) __n, (_CharT) __x); - } - -- template -- void _M_insert_dispatch(iterator __p, _InputIter __first, _InputIter __last, -- __false_type) { --# if defined ( __STL_CLASS_PARTIAL_SPECIALIZATION ) -- typedef typename iterator_traits<_InputIter>::iterator_category _Category; -- insert(__p, __first, __last, _Category()); --# else -- insert(__p, __first, __last, __ITERATOR_CATEGORY(__first)); --# endif -+ template void _M_insert_dispatch(iterator __p, _InputIter __first, _InputIter __last, -+ const __false_type&) { -+ insert(__p, __first, __last, _STLP_ITERATOR_CATEGORY(__first, _InputIter)); - } - -- template -- void -+ template void - _M_copy(_InputIterator __first, _InputIterator __last, pointer __result) { - for ( ; __first != __last; ++__first, ++__result) - _Traits::assign(*__result, *__first); - } - --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - pointer _M_insert_aux(pointer, _CharT); - -@@ -895,26 +820,26 @@ - - _Self& erase(size_type __pos = 0, size_type __n = npos) { - if (__pos > size()) -- _M_throw_out_of_range(); -- erase(begin() + __pos, begin() + __pos + min(__n, size() - __pos)); -+ this->_M_throw_out_of_range(); -+ erase(begin() + __pos, begin() + __pos + (min) (__n, size() - __pos)); - return *this; - } - - iterator erase(iterator __position) { - // The move includes the terminating _CharT(). -- _Traits::move(__position, __position + 1, _M_finish - __position); -- _Destroy(_M_finish); -- --_M_finish; -+ _Traits::move(__position, __position + 1, this->_M_finish - __position); -+ _Destroy(this->_M_finish); -+ --this->_M_finish; - return __position; - } - - iterator erase(iterator __first, iterator __last) { - if (__first != __last) { - // The move includes the terminating _CharT(). -- traits_type::move(__first, __last, (_M_finish - __last) + 1); -- pointer __new_finish = _M_finish - (__last - __first); -- _Destroy(__new_finish + 1, _M_finish + 1); -- _M_finish = __new_finish; -+ traits_type::move(__first, __last, (this->_M_finish - __last) + 1); -+ pointer __new_finish = this->_M_finish - (__last - __first); -+ _Destroy(__new_finish + 1, this->_M_finish + 1); -+ this->_M_finish = __new_finish; - } - return __first; - } -@@ -924,10 +849,10 @@ - _Self& replace(size_type __pos, size_type __n, - const _Self& __s) { - if (__pos > size()) -- _M_throw_out_of_range(); -- const size_type __len = min(__n, size() - __pos); -+ this->_M_throw_out_of_range(); -+ const size_type __len = (min) (__n, size() - __pos); - if (size() - __len >= max_size() - __s.size()) -- _M_throw_length_error(); -+ this->_M_throw_length_error(); - return replace(begin() + __pos, begin() + __pos + __len, - __s._M_start, __s._M_finish); - } -@@ -936,36 +861,36 @@ - const _Self& __s, - size_type __pos2, size_type __n2) { - if (__pos1 > size() || __pos2 > __s.size()) -- _M_throw_out_of_range(); -- const size_type __len1 = min(__n1, size() - __pos1); -- const size_type __len2 = min(__n2, __s.size() - __pos2); -+ this->_M_throw_out_of_range(); -+ const size_type __len1 = (min) (__n1, size() - __pos1); -+ const size_type __len2 = (min) (__n2, __s.size() - __pos2); - if (size() - __len1 >= max_size() - __len2) -- _M_throw_length_error(); -+ this->_M_throw_length_error(); - return replace(begin() + __pos1, begin() + __pos1 + __len1, - __s._M_start + __pos2, __s._M_start + __pos2 + __len2); - } - - _Self& replace(size_type __pos, size_type __n1, - const _CharT* __s, size_type __n2) { -- __STL_FIX_LITERAL_BUG(__s) -+ _STLP_FIX_LITERAL_BUG(__s) - if (__pos > size()) -- _M_throw_out_of_range(); -- const size_type __len = min(__n1, size() - __pos); -+ this->_M_throw_out_of_range(); -+ const size_type __len = (min) (__n1, size() - __pos); - if (__n2 > max_size() || size() - __len >= max_size() - __n2) -- _M_throw_length_error(); -+ this->_M_throw_length_error(); - return replace(begin() + __pos, begin() + __pos + __len, - __s, __s + __n2); - } - - _Self& replace(size_type __pos, size_type __n1, - const _CharT* __s) { -- __STL_FIX_LITERAL_BUG(__s) -+ _STLP_FIX_LITERAL_BUG(__s) - if (__pos > size()) -- _M_throw_out_of_range(); -- const size_type __len = min(__n1, size() - __pos); -+ this->_M_throw_out_of_range(); -+ const size_type __len = (min) (__n1, size() - __pos); - const size_type __n2 = _Traits::length(__s); - if (__n2 > max_size() || size() - __len >= max_size() - __n2) -- _M_throw_length_error(); -+ this->_M_throw_length_error(); - return replace(begin() + __pos, begin() + __pos + __len, - __s, __s + _Traits::length(__s)); - } -@@ -973,10 +898,10 @@ - _Self& replace(size_type __pos, size_type __n1, - size_type __n2, _CharT __c) { - if (__pos > size()) -- _M_throw_out_of_range(); -- const size_type __len = min(__n1, size() - __pos); -+ this->_M_throw_out_of_range(); -+ const size_type __len = (min) (__n1, size() - __pos); - if (__n2 > max_size() || size() - __len >= max_size() - __n2) -- _M_throw_length_error(); -+ this->_M_throw_length_error(); - return replace(begin() + __pos, begin() + __pos + __len, __n2, __c); - } - -@@ -986,11 +911,11 @@ - - _Self& replace(iterator __first, iterator __last, - const _CharT* __s, size_type __n) -- { __STL_FIX_LITERAL_BUG(__s) return replace(__first, __last, __s, __s + __n); } -+ { _STLP_FIX_LITERAL_BUG(__s) return replace(__first, __last, __s, __s + __n); } - - _Self& replace(iterator __first, iterator __last, - const _CharT* __s) { -- __STL_FIX_LITERAL_BUG(__s) -+ _STLP_FIX_LITERAL_BUG(__s) - return replace(__first, __last, __s, __s + _Traits::length(__s)); - } - -@@ -999,44 +924,35 @@ - - // Check to see if _InputIterator is an integer type. If so, then - // it can't be an iterator. --#ifdef __STL_MEMBER_TEMPLATES -- template -- _Self& replace(iterator __first, iterator __last, -+#ifdef _STLP_MEMBER_TEMPLATES -+ template _Self& replace(iterator __first, iterator __last, - _InputIter __f, _InputIter __l) { - typedef typename _Is_integer<_InputIter>::_Integral _Integral; - return _M_replace_dispatch(__first, __last, __f, __l, _Integral()); - } --#else /* __STL_MEMBER_TEMPLATES */ -+#else /* _STLP_MEMBER_TEMPLATES */ - _Self& replace(iterator __first, iterator __last, - const _CharT* __f, const _CharT* __l); --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - private: // Helper functions for replace. - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - -- template -- _Self& _M_replace_dispatch(iterator __first, iterator __last, -+ template _Self& _M_replace_dispatch(iterator __first, iterator __last, - _Integer __n, _Integer __x, -- __true_type) { -+ const __true_type&) { - return replace(__first, __last, (size_type) __n, (_CharT) __x); - } - -- template -- _Self& _M_replace_dispatch(iterator __first, iterator __last, -+ template _Self& _M_replace_dispatch(iterator __first, iterator __last, - _InputIter __f, _InputIter __l, -- __false_type) { --# ifdef __STL_CLASS_PARTIAL_SPECIALIZATION -- typedef typename iterator_traits<_InputIter>::iterator_category _Category; -- return replace(__first, __last, __f, __l, _Category()); --# else -- return replace(__first, __last, __f, __l, __ITERATOR_CATEGORY(__f)); --# endif -+ const __false_type&) { -+ return replace(__first, __last, __f, __l, _STLP_ITERATOR_CATEGORY(__f, _InputIter)); - } - -- template -- _Self& replace(iterator __first, iterator __last, -- _InputIter __f, _InputIter __l, input_iterator_tag) { -+ template _Self& replace(iterator __first, iterator __last, -+ _InputIter __f, _InputIter __l, const input_iterator_tag &) { - for ( ; __first != __last && __f != __l; ++__first, ++__f) - _Traits::assign(*__first, *__f); - -@@ -1047,12 +963,10 @@ - return *this; - } - -- template -- _Self& replace(iterator __first, iterator __last, -+ template _Self& replace(iterator __first, iterator __last, - _ForwardIter __f, _ForwardIter __l, -- forward_iterator_tag) { -- difference_type __n = 0; -- distance(__f, __l, __n); -+ const forward_iterator_tag &) { -+ difference_type __n = distance(__f, __l); - const difference_type __len = __last - __first; - if (__len >= __n) { - _M_copy(__f, __l, __first); -@@ -1067,29 +981,29 @@ - return *this; - } - --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - public: // Other modifier member functions. - - size_type copy(_CharT* __s, size_type __n, size_type __pos = 0) const { -- __STL_FIX_LITERAL_BUG(__s) -+ _STLP_FIX_LITERAL_BUG(__s) - if (__pos > size()) -- _M_throw_out_of_range(); -- const size_type __len = min(__n, size() - __pos); -- _Traits::copy(__s, _M_start + __pos, __len); -+ this->_M_throw_out_of_range(); -+ const size_type __len = (min) (__n, size() - __pos); -+ _Traits::copy(__s, this->_M_start + __pos, __len); - return __len; - } - - void swap(_Self& __s) { -- __STLPORT_STD::swap(_M_start, __s._M_start); -- __STLPORT_STD::swap(_M_finish, __s._M_finish); -- __STLPORT_STD::swap(_M_end_of_storage, __s._M_end_of_storage); -+ _STLP_STD::swap(this->_M_start, __s._M_start); -+ _STLP_STD::swap(this->_M_finish, __s._M_finish); -+ _STLP_STD::swap(this->_M_end_of_storage, __s._M_end_of_storage); - } - - public: // Conversion to C string. - -- const _CharT* c_str() const { return _M_start; } -- const _CharT* data() const { return _M_start; } -+ const _CharT* c_str() const { return this->_M_start; } -+ const _CharT* data() const { return this->_M_start; } - - public: // find. - -@@ -1097,7 +1011,7 @@ - { return find(__s._M_start, __pos, __s.size()); } - - size_type find(const _CharT* __s, size_type __pos = 0) const -- { __STL_FIX_LITERAL_BUG(__s) return find(__s, __pos, _Traits::length(__s)); } -+ { _STLP_FIX_LITERAL_BUG(__s) return find(__s, __pos, _Traits::length(__s)); } - - size_type find(const _CharT* __s, size_type __pos, size_type __n) const; - size_type find(_CharT __c, size_type __pos = 0) const; -@@ -1108,7 +1022,7 @@ - { return rfind(__s._M_start, __pos, __s.size()); } - - size_type rfind(const _CharT* __s, size_type __pos = npos) const -- { __STL_FIX_LITERAL_BUG(__s) return rfind(__s, __pos, _Traits::length(__s)); } -+ { _STLP_FIX_LITERAL_BUG(__s) return rfind(__s, __pos, _Traits::length(__s)); } - - size_type rfind(const _CharT* __s, size_type __pos, size_type __n) const; - size_type rfind(_CharT __c, size_type __pos = npos) const; -@@ -1119,7 +1033,7 @@ - { return find_first_of(__s._M_start, __pos, __s.size()); } - - size_type find_first_of(const _CharT* __s, size_type __pos = 0) const -- { __STL_FIX_LITERAL_BUG(__s) return find_first_of(__s, __pos, _Traits::length(__s)); } -+ { _STLP_FIX_LITERAL_BUG(__s) return find_first_of(__s, __pos, _Traits::length(__s)); } - - size_type find_first_of(const _CharT* __s, size_type __pos, - size_type __n) const; -@@ -1134,7 +1048,7 @@ - { return find_last_of(__s._M_start, __pos, __s.size()); } - - size_type find_last_of(const _CharT* __s, size_type __pos = npos) const -- { __STL_FIX_LITERAL_BUG(__s) return find_last_of(__s, __pos, _Traits::length(__s)); } -+ { _STLP_FIX_LITERAL_BUG(__s) return find_last_of(__s, __pos, _Traits::length(__s)); } - - size_type find_last_of(const _CharT* __s, size_type __pos, - size_type __n) const; -@@ -1150,7 +1064,7 @@ - { return find_first_not_of(__s._M_start, __pos, __s.size()); } - - size_type find_first_not_of(const _CharT* __s, size_type __pos = 0) const -- { __STL_FIX_LITERAL_BUG(__s) return find_first_not_of(__s, __pos, _Traits::length(__s)); } -+ { _STLP_FIX_LITERAL_BUG(__s) return find_first_not_of(__s, __pos, _Traits::length(__s)); } - - size_type find_first_not_of(const _CharT* __s, size_type __pos, - size_type __n) const; -@@ -1164,7 +1078,7 @@ - { return find_last_not_of(__s._M_start, __pos, __s.size()); } - - size_type find_last_not_of(const _CharT* __s, size_type __pos = npos) const -- { __STL_FIX_LITERAL_BUG(__s) return find_last_not_of(__s, __pos, _Traits::length(__s)); } -+ { _STLP_FIX_LITERAL_BUG(__s) return find_last_not_of(__s, __pos, _Traits::length(__s)); } - - size_type find_last_not_of(const _CharT* __s, size_type __pos, - size_type __n) const; -@@ -1175,22 +1089,22 @@ - - _Self substr(size_type __pos = 0, size_type __n = npos) const { - if (__pos > size()) -- _M_throw_out_of_range(); -- return _Self(_M_start + __pos, -- _M_start + __pos + min(__n, size() - __pos)); -+ this->_M_throw_out_of_range(); -+ return _Self(this->_M_start + __pos, -+ this->_M_start + __pos + (min) (__n, size() - __pos)); - } - - public: // Compare - - int compare(const _Self& __s) const -- { return _M_compare(_M_start, _M_finish, __s._M_start, __s._M_finish); } -+ { return _M_compare(this->_M_start, this->_M_finish, __s._M_start, __s._M_finish); } - - int compare(size_type __pos1, size_type __n1, - const _Self& __s) const { - if (__pos1 > size()) -- _M_throw_out_of_range(); -- return _M_compare(_M_start + __pos1, -- _M_start + __pos1 + min(__n1, size() - __pos1), -+ this->_M_throw_out_of_range(); -+ return _M_compare(this->_M_start + __pos1, -+ this->_M_start + __pos1 + (min) (__n1, size() - __pos1), - __s._M_start, __s._M_finish); - } - -@@ -1198,61 +1112,60 @@ - const _Self& __s, - size_type __pos2, size_type __n2) const { - if (__pos1 > size() || __pos2 > __s.size()) -- _M_throw_out_of_range(); -- return _M_compare(_M_start + __pos1, -- _M_start + __pos1 + min(__n1, size() - __pos1), -+ this->_M_throw_out_of_range(); -+ return _M_compare(this->_M_start + __pos1, -+ this->_M_start + __pos1 + (min) (__n1, size() - __pos1), - __s._M_start + __pos2, -- __s._M_start + __pos2 + min(__n2, size() - __pos2)); -+ __s._M_start + __pos2 + (min) (__n2, __s.size() - __pos2)); - } - - int compare(const _CharT* __s) const { -- __STL_FIX_LITERAL_BUG(__s) -- return _M_compare(_M_start, _M_finish, __s, __s + _Traits::length(__s)); -+ _STLP_FIX_LITERAL_BUG(__s) -+ return _M_compare(this->_M_start, this->_M_finish, __s, __s + _Traits::length(__s)); - } - - int compare(size_type __pos1, size_type __n1, const _CharT* __s) const { -- __STL_FIX_LITERAL_BUG(__s) -+ _STLP_FIX_LITERAL_BUG(__s) - if (__pos1 > size()) -- _M_throw_out_of_range(); -- return _M_compare(_M_start + __pos1, -- _M_start + __pos1 + min(__n1, size() - __pos1), -+ this->_M_throw_out_of_range(); -+ return _M_compare(this->_M_start + __pos1, -+ this->_M_start + __pos1 + (min) (__n1, size() - __pos1), - __s, __s + _Traits::length(__s)); - } - - int compare(size_type __pos1, size_type __n1, const _CharT* __s, - size_type __n2) const { -- __STL_FIX_LITERAL_BUG(__s) -+ _STLP_FIX_LITERAL_BUG(__s) - if (__pos1 > size()) -- _M_throw_out_of_range(); -- return _M_compare(_M_start + __pos1, -- _M_start + __pos1 + min(__n1, size() - __pos1), -+ this->_M_throw_out_of_range(); -+ return _M_compare(this->_M_start + __pos1, -+ this->_M_start + __pos1 + (min) (__n1, size() - __pos1), - __s, __s + __n2); - } - - public: // Helper functions for compare. - -- static int __STL_CALL _M_compare(const _CharT* __f1, const _CharT* __l1, -+ static int _STLP_CALL _M_compare(const _CharT* __f1, const _CharT* __l1, - const _CharT* __f2, const _CharT* __l2) { - const ptrdiff_t __n1 = __l1 - __f1; - const ptrdiff_t __n2 = __l2 - __f2; -- const int cmp = _Traits::compare(__f1, __f2, min(__n1, __n2)); -+ const int cmp = _Traits::compare(__f1, __f2, (min) (__n1, __n2)); - return cmp != 0 ? cmp : (__n1 < __n2 ? -1 : (__n1 > __n2 ? 1 : 0)); - } - }; - - --# if defined (__STL_USE_TEMPLATE_EXPORT) --__STL_EXPORT_TEMPLATE_CLASS basic_string, allocator >; --# if defined (__STL_HAS_WCHAR_T) --__STL_EXPORT_TEMPLATE_CLASS basic_string, allocator >; -+# if defined (_STLP_USE_TEMPLATE_EXPORT) -+_STLP_EXPORT_TEMPLATE_CLASS basic_string, allocator >; -+# if defined (_STLP_HAS_WCHAR_T) -+_STLP_EXPORT_TEMPLATE_CLASS basic_string, allocator >; - # endif --# endif /* __STL_USE_TEMPLATE_EXPORT */ -+# endif /* _STLP_USE_TEMPLATE_EXPORT */ - - // ------------------------------------------------------------ - // Non-member functions. - --template --inline basic_string<_CharT,_Traits,_Alloc> __STL_CALL -+template inline basic_string<_CharT,_Traits,_Alloc> _STLP_CALL - operator+(const basic_string<_CharT,_Traits,_Alloc>& __s, - const basic_string<_CharT,_Traits,_Alloc>& __y) - { -@@ -1270,18 +1183,17 @@ - } - - # if defined (__GNUC__) || defined (__MLCCPP__) --# define __STL_INIT_AMBIGUITY 1 -+# define _STLP_INIT_AMBIGUITY 1 - # endif - --template --inline basic_string<_CharT,_Traits,_Alloc> __STL_CALL -+template inline basic_string<_CharT,_Traits,_Alloc> _STLP_CALL - operator+(const _CharT* __s, - const basic_string<_CharT,_Traits,_Alloc>& __y) { -- __STL_FIX_LITERAL_BUG(__s) -+ _STLP_FIX_LITERAL_BUG(__s) - typedef basic_string<_CharT,_Traits,_Alloc> _Str; - typedef typename _Str::_Reserve_t _Reserve_t; - const size_t __n = _Traits::length(__s); --# ifdef __STL_INIT_AMBIGUITY -+# ifdef _STLP_INIT_AMBIGUITY - _Str __result = _Str(_Reserve_t(), __n + __y.size()); - # else - _Str __result(_Reserve_t(), __n + __y.size()); -@@ -1291,13 +1203,12 @@ - return __result; - } - --template --inline basic_string<_CharT,_Traits,_Alloc> __STL_CALL -+template inline basic_string<_CharT,_Traits,_Alloc> _STLP_CALL - operator+(_CharT __c, - const basic_string<_CharT,_Traits,_Alloc>& __y) { - typedef basic_string<_CharT,_Traits,_Alloc> _Str; - typedef typename _Str::_Reserve_t _Reserve_t; --# ifdef __STL_INIT_AMBIGUITY -+# ifdef _STLP_INIT_AMBIGUITY - _Str __result = _Str(_Reserve_t(), 1 + __y.size()); - # else - _Str __result(_Reserve_t(), 1 + __y.size()); -@@ -1307,15 +1218,14 @@ - return __result; - } - --template --inline basic_string<_CharT,_Traits,_Alloc> __STL_CALL -+template inline basic_string<_CharT,_Traits,_Alloc> _STLP_CALL - operator+(const basic_string<_CharT,_Traits,_Alloc>& __x, - const _CharT* __s) { -- __STL_FIX_LITERAL_BUG(__s) -+ _STLP_FIX_LITERAL_BUG(__s) - typedef basic_string<_CharT,_Traits,_Alloc> _Str; - typedef typename _Str::_Reserve_t _Reserve_t; - const size_t __n = _Traits::length(__s); --# ifdef __STL_INIT_AMBIGUITY -+# ifdef _STLP_INIT_AMBIGUITY - _Str __result = _Str(_Reserve_t(), __x.size() + __n, __x.get_allocator()); - # else - _Str __result(_Reserve_t(), __x.size() + __n, __x.get_allocator()); -@@ -1325,13 +1235,12 @@ - return __result; - } - --template --inline basic_string<_CharT,_Traits,_Alloc> __STL_CALL -+template inline basic_string<_CharT,_Traits,_Alloc> _STLP_CALL - operator+(const basic_string<_CharT,_Traits,_Alloc>& __x, - const _CharT __c) { - typedef basic_string<_CharT,_Traits,_Alloc> _Str; - typedef typename _Str::_Reserve_t _Reserve_t; --# ifdef __STL_INIT_AMBIGUITY -+# ifdef _STLP_INIT_AMBIGUITY - _Str __result = _Str(_Reserve_t(), __x.size() + 1, __x.get_allocator()); - # else - _Str __result(_Reserve_t(), __x.size() + 1, __x.get_allocator()); -@@ -1341,202 +1250,183 @@ - return __result; - } - --# undef __STL_INIT_AMBIGUITY -+# undef _STLP_INIT_AMBIGUITY - - // Operator== and operator!= - --template --inline bool __STL_CALL -+template inline bool _STLP_CALL - operator==(const basic_string<_CharT,_Traits,_Alloc>& __x, - const basic_string<_CharT,_Traits,_Alloc>& __y) { -- return __x.size() == __y.size() && -- _Traits::compare(__x.data(), __y.data(), __x.size()) == 0; -+ return __x.size() == __y.size() && _Traits::compare(__x.data(), __y.data(), __x.size()) == 0; - } - --template --inline bool __STL_CALL -+template inline bool _STLP_CALL - operator==(const _CharT* __s, - const basic_string<_CharT,_Traits,_Alloc>& __y) { -- __STL_FIX_LITERAL_BUG(__s) -+ _STLP_FIX_LITERAL_BUG(__s) - size_t __n = _Traits::length(__s); - return __n == __y.size() && _Traits::compare(__s, __y.data(), __n) == 0; - } - --template --inline bool __STL_CALL -+template inline bool _STLP_CALL - operator==(const basic_string<_CharT,_Traits,_Alloc>& __x, - const _CharT* __s) { -- __STL_FIX_LITERAL_BUG(__s) -+ _STLP_FIX_LITERAL_BUG(__s) - size_t __n = _Traits::length(__s); - return __x.size() == __n && _Traits::compare(__x.data(), __s, __n) == 0; - } - - // Operator< (and also >, <=, and >=). - --template --inline bool __STL_CALL -+template inline bool _STLP_CALL - operator<(const basic_string<_CharT,_Traits,_Alloc>& __x, - const basic_string<_CharT,_Traits,_Alloc>& __y) { -- return basic_string<_CharT,_Traits,_Alloc> -- ::_M_compare(__x.begin(), __x.end(), -+ return basic_string<_CharT,_Traits,_Alloc> ::_M_compare(__x.begin(), __x.end(), - __y.begin(), __y.end()) < 0; - } - --template --inline bool __STL_CALL -+template inline bool _STLP_CALL - operator<(const _CharT* __s, - const basic_string<_CharT,_Traits,_Alloc>& __y) { -- __STL_FIX_LITERAL_BUG(__s) -+ _STLP_FIX_LITERAL_BUG(__s) - size_t __n = _Traits::length(__s); -- return basic_string<_CharT,_Traits,_Alloc> -- ::_M_compare(__s, __s + __n, __y.begin(), __y.end()) < 0; -+ return basic_string<_CharT,_Traits,_Alloc> ::_M_compare(__s, __s + __n, __y.begin(), __y.end()) < 0; - } - --template --inline bool __STL_CALL -+template inline bool _STLP_CALL - operator<(const basic_string<_CharT,_Traits,_Alloc>& __x, - const _CharT* __s) { -- __STL_FIX_LITERAL_BUG(__s) -+ _STLP_FIX_LITERAL_BUG(__s) - size_t __n = _Traits::length(__s); -- return basic_string<_CharT,_Traits,_Alloc> -- ::_M_compare(__x.begin(), __x.end(), __s, __s + __n) < 0; -+ return basic_string<_CharT,_Traits,_Alloc> ::_M_compare(__x.begin(), __x.end(), __s, __s + __n) < 0; - } - --#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE -+#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE - --template --inline bool __STL_CALL -+template inline bool _STLP_CALL - operator!=(const basic_string<_CharT,_Traits,_Alloc>& __x, - const basic_string<_CharT,_Traits,_Alloc>& __y) { - return !(__x == __y); - } - --template --inline bool __STL_CALL -+template inline bool _STLP_CALL - operator>(const basic_string<_CharT,_Traits,_Alloc>& __x, - const basic_string<_CharT,_Traits,_Alloc>& __y) { - return __y < __x; - } - --template --inline bool __STL_CALL -+template inline bool _STLP_CALL - operator<=(const basic_string<_CharT,_Traits,_Alloc>& __x, - const basic_string<_CharT,_Traits,_Alloc>& __y) { - return !(__y < __x); - } - --template --inline bool __STL_CALL -+template inline bool _STLP_CALL - operator>=(const basic_string<_CharT,_Traits,_Alloc>& __x, - const basic_string<_CharT,_Traits,_Alloc>& __y) { - return !(__x < __y); - } - --#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ -+#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ - --template --inline bool __STL_CALL -+template inline bool _STLP_CALL - operator!=(const _CharT* __s, - const basic_string<_CharT,_Traits,_Alloc>& __y) { -- __STL_FIX_LITERAL_BUG(__s) -+ _STLP_FIX_LITERAL_BUG(__s) - return !(__s == __y); - } - --template --inline bool __STL_CALL -+template inline bool _STLP_CALL - operator!=(const basic_string<_CharT,_Traits,_Alloc>& __x, - const _CharT* __s) { -- __STL_FIX_LITERAL_BUG(__s) -+ _STLP_FIX_LITERAL_BUG(__s) - return !(__x == __s); - } - --template --inline bool __STL_CALL -+template inline bool _STLP_CALL - operator>(const _CharT* __s, - const basic_string<_CharT,_Traits,_Alloc>& __y) { -- __STL_FIX_LITERAL_BUG(__s) -+ _STLP_FIX_LITERAL_BUG(__s) - return __y < __s; - } - --template --inline bool __STL_CALL -+template inline bool _STLP_CALL - operator>(const basic_string<_CharT,_Traits,_Alloc>& __x, - const _CharT* __s) { -- __STL_FIX_LITERAL_BUG(__s) -+ _STLP_FIX_LITERAL_BUG(__s) - return __s < __x; - } - --template --inline bool __STL_CALL -+template inline bool _STLP_CALL - operator<=(const _CharT* __s, - const basic_string<_CharT,_Traits,_Alloc>& __y) { -- __STL_FIX_LITERAL_BUG(__s) -+ _STLP_FIX_LITERAL_BUG(__s) - return !(__y < __s); - } - --template --inline bool __STL_CALL -+template inline bool _STLP_CALL - operator<=(const basic_string<_CharT,_Traits,_Alloc>& __x, - const _CharT* __s) { -- __STL_FIX_LITERAL_BUG(__s) -+ _STLP_FIX_LITERAL_BUG(__s) - return !(__s < __x); - } - --template --inline bool __STL_CALL -+template inline bool _STLP_CALL - operator>=(const _CharT* __s, - const basic_string<_CharT,_Traits,_Alloc>& __y) { -- __STL_FIX_LITERAL_BUG(__s) -+ _STLP_FIX_LITERAL_BUG(__s) - return !(__s < __y); - } - --template --inline bool __STL_CALL -+template inline bool _STLP_CALL - operator>=(const basic_string<_CharT,_Traits,_Alloc>& __x, - const _CharT* __s) { -- __STL_FIX_LITERAL_BUG(__s) -+ _STLP_FIX_LITERAL_BUG(__s) - return !(__x < __s); - } - - - // Swap. - --#ifdef __STL_FUNCTION_TMPL_PARTIAL_ORDER -+#ifdef _STLP_FUNCTION_TMPL_PARTIAL_ORDER - --template --inline void __STL_CALL -+template inline void _STLP_CALL - swap(basic_string<_CharT,_Traits,_Alloc>& __x, - basic_string<_CharT,_Traits,_Alloc>& __y) { - __x.swap(__y); - } - --#endif /* __STL_FUNCTION_TMPL_PARTIAL_ORDER */ -+#endif /* _STLP_FUNCTION_TMPL_PARTIAL_ORDER */ - --template --void __STL_CALL _S_string_copy(const basic_string<_CharT,_Traits,_Alloc>& __s, -+template void _STLP_CALL _S_string_copy(const basic_string<_CharT,_Traits,_Alloc>& __s, - _CharT* __buf, - size_t __n); - - # undef basic_string - --__STL_END_NAMESPACE -+#if defined(_STLP_WINCE) -+// A couple of functions to transfer between ASCII/Unicode - --# ifdef __STL_DEBUG --# include --# endif -+wstring __ASCIIToWide(const char *ascii); -+string __WideToASCII(const wchar_t *wide); -+#endif -+ -+_STLP_END_NAMESPACE - --# if !defined (__STL_LINK_TIME_INSTANTIATION) --# include -+# ifdef _STLP_DEBUG -+# include - # endif - --# include -+# if !defined (_STLP_LINK_TIME_INSTANTIATION) -+# include -+# endif - --# include -+# include -+# include - --#endif /* __SGI_STL_STRING */ -+#endif /* _STLP_STRING */ - - - // Local Variables: - // mode:C++ - // End: -- -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_string_fwd.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_string_fwd.c ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_string_fwd.c Sat Feb 24 10:45:11 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_string_fwd.c Sun Aug 11 18:59:25 2002 -@@ -23,20 +23,25 @@ - * modified is included with the above copyright notice. - * - */ --#if !defined ( __STL_STRING_FWD_C) && ! defined (__SGI_STL_OWN_IOSTREAMS) --#define __STL_STRING_FWD_C - --__STL_BEGIN_NAMESPACE -+#ifndef _STLP_STRING_FWD_H -+# include -+#endif -+ -+#if !defined ( _STLP_STRING_FWD_C) && ! defined (_STLP_OWN_IOSTREAMS) -+#define _STLP_STRING_FWD_C -+ -+_STLP_BEGIN_NAMESPACE - - template --const char* __STL_CALL -+const char* _STLP_CALL - __get_c_string(const basic_string<_CharT,_Traits,_Alloc>& __str) { - return __str.c_str(); - } - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --#endif /* __STL_STRING_FWD_C */ -+#endif /* _STLP_STRING_FWD_C */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_string_fwd.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_string_fwd.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_string_fwd.h Sat Feb 24 10:45:11 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_string_fwd.h Sun Aug 11 18:59:25 2002 -@@ -16,14 +16,16 @@ - * - */ - --#ifndef __SGI_STL_STRING_FWD_H --#define __SGI_STL_STRING_FWD_H -+#ifndef _STLP_STRING_FWD_H -+#define _STLP_STRING_FWD_H - -+#ifndef _STLP_IOSFWD - # include -+#endif - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - --# if !defined (__STL_LIMITED_DEFAULT_TEMPLATES) -+# if !defined (_STLP_LIMITED_DEFAULT_TEMPLATES) - template , - class _Alloc = allocator<_CharT> > -@@ -33,26 +35,26 @@ - class _Traits, - class _Alloc> - class basic_string; --# endif /* __STL_LIMITED_DEFAULT_TEMPLATES */ -+# endif /* _STLP_LIMITED_DEFAULT_TEMPLATES */ - - typedef basic_string, allocator > string; - --# ifdef __STL_HAS_WCHAR_T -+# ifdef _STLP_HAS_WCHAR_T - typedef basic_string, allocator > wstring; - # endif - --# ifdef __SGI_STL_OWN_IOSTREAMS --__STL_DECLSPEC const char* __STL_CALL -+# ifdef _STLP_OWN_IOSTREAMS -+_STLP_DECLSPEC const char* _STLP_CALL - __get_c_string(const string& __str); - # else - template --const char* __STL_CALL -+const char* _STLP_CALL - __get_c_string(const basic_string<_CharT, _Traits, _Alloc>& __str); - # endif - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --#endif /* __SGI_STL_STRING_FWD_H */ -+#endif /* _STLP_STRING_FWD_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_string_hash.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_string_hash.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_string_hash.h Sat Feb 24 10:45:11 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_string_hash.h Sun Aug 11 18:59:25 2002 -@@ -16,17 +16,21 @@ - * - */ - --#ifndef __SGI_STL_STRING_HASH_H --# define __SGI_STL_STRING_HASH_H -+#ifndef _STLP_STRING_HASH_H -+# define _STLP_STRING_HASH_H - --#ifndef __SGI_STL_HASH_FUN_H -+#ifndef _STLP_HASH_FUN_H - # include - #endif - --__STL_BEGIN_NAMESPACE -+#ifndef _STLP_STRING_H -+# include -+#endif -+ -+_STLP_BEGIN_NAMESPACE - - template --__STL_INLINE_LOOP size_t -+_STLP_INLINE_LOOP size_t - __stl_string_hash(const basic_string<_CharT,_Traits,_Alloc>& __s) { - unsigned long __h = 0; - typedef typename basic_string<_CharT,_Traits,_Alloc>::const_pointer const_ptr; -@@ -37,7 +41,7 @@ - return size_t(__h); - } - --#ifdef __STL_CLASS_PARTIAL_SPECIALIZATION -+#ifdef _STLP_CLASS_PARTIAL_SPECIALIZATION - - template - struct hash > { -@@ -47,20 +51,20 @@ - - #else - --__STL_TEMPLATE_NULL struct __STL_CLASS_DECLSPEC hash { -+_STLP_TEMPLATE_NULL struct _STLP_CLASS_DECLSPEC hash { - size_t operator()(const string& __s) const - { return __stl_string_hash(__s); } - }; - --# if defined (__STL_HAS_WCHAR_T) --__STL_TEMPLATE_NULL struct __STL_CLASS_DECLSPEC hash { -+# if defined (_STLP_HAS_WCHAR_T) -+_STLP_TEMPLATE_NULL struct _STLP_CLASS_DECLSPEC hash { - size_t operator()(const wstring& __s) const - { return __stl_string_hash(__s); } - }; - # endif - --#endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */ -+#endif /* _STLP_CLASS_PARTIAL_SPECIALIZATION */ - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - - #endif -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_string_io.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_string_io.c ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_string_io.c Sat Feb 24 10:45:12 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_string_io.c Sun Aug 11 18:59:25 2002 -@@ -1,27 +1,29 @@ --#ifndef __STL_STRING_IO_C --#define __STL_STRING_IO_C -+#ifndef _STLP_STRING_IO_C -+#define _STLP_STRING_IO_C - --# ifdef __STL_DEBUG -+#ifndef _STLP_STRING_IO_H -+# include -+#endif -+ -+# ifdef _STLP_DEBUG - # define basic_string _Nondebug_string - # endif - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE -+ -+# if defined (_STLP_OWN_IOSTREAMS) -+# define _STLP_USING_IO -+# else -+# define _STLP_USING_IO _STLP_USING_VENDOR_STD -+# endif - --#if defined (__STL_USE_NEW_IOSTREAMS) -+#if defined (_STLP_USE_NEW_IOSTREAMS) - --#if !(defined(__MRC__)||defined(__SC__)) //*TY 02/27/2000 - mpw compilers can not handle complex template arguments - template --bool __STL_CALL --__sgi_string_fill(basic_ostream<_CharT, _Traits>& __os, -+bool _STLP_CALL -+__stlp_string_fill(basic_ostream<_CharT, _Traits>& __os, - basic_streambuf<_CharT, _Traits>* __buf, - size_t __n) --#else //*TY 02/27/2000 - added workaround for MPW compilers --template //*TY 02/27/2000 - added _Buf --bool __STL_CALL --__sgi_string_fill(basic_ostream<_CharT, _Traits>& __os, -- _Buf* __buf, //*TY 02/27/2000 - simplified parameter type -- size_t __n) --#endif //*TY 02/27/2000 - - { - _CharT __f = __os.fill(); - size_t __i; -@@ -31,13 +33,14 @@ - __ok = __ok && !_Traits::eq_int_type(__buf->sputc(__f), _Traits::eof()); - return __ok; - } -+ - template --basic_ostream<_CharT, _Traits>& __STL_CALL -+basic_ostream<_CharT, _Traits>& _STLP_CALL - operator<<(basic_ostream<_CharT, _Traits>& __os, - const basic_string<_CharT,_Traits,_Alloc>& __s) - { - -- __STL_USING_VENDOR_STD -+ _STLP_USING_IO - typedef basic_ostream<_CharT, _Traits> __ostream; - typename __ostream::sentry __sentry(__os); - bool __ok = false; -@@ -50,17 +53,17 @@ - const size_t __w = __os.width(0); - basic_streambuf<_CharT, _Traits>* __buf = __os.rdbuf(); - -- if (__w > 0 && __n < __w) { -+ if (__n < __w) { - __pad_len = __w - __n; - } - - if (!__left) -- __ok = __sgi_string_fill(__os, __buf, __pad_len); -+ __ok = __stlp_string_fill(__os, __buf, __pad_len); - - __ok = __ok && (__buf->sputn(__s.data(), streamsize(__n)) == streamsize(__n)); - - if (__left) -- __ok = __ok && __sgi_string_fill(__os, __buf, __pad_len); -+ __ok = __ok && __stlp_string_fill(__os, __buf, __pad_len); - } - - if (!__ok) -@@ -68,35 +71,32 @@ - - return __os; - } -- -+ - template --basic_istream<_CharT, _Traits>& __STL_CALL -+basic_istream<_CharT, _Traits>& _STLP_CALL - operator>>(basic_istream<_CharT, _Traits>& __is, - basic_string<_CharT,_Traits, _Alloc>& __s) - { --# ifndef __STL_HAS_NO_NAMESPACES --# ifdef __SGI_STL_OWN_IOSTREAMS -- using __STL_VENDOR_CSTD::size_t; --# else -- using namespace __STL_VENDOR_STD; --# endif --# endif -- -+ _STLP_USING_IO - typedef basic_istream<_CharT, _Traits> __istream; - typename __istream::sentry __sentry(__is); - - if (__sentry) { - basic_streambuf<_CharT, _Traits>* __buf = __is.rdbuf(); - typedef ctype<_CharT> _C_type; -- const locale& __loc = __is.getloc(); --#ifdef __SGI_STL_OWN_IOSTREAMS -- const _C_type& _Ctype = use_facet<_C_type>(__loc); -+ -+#ifdef _STLP_OWN_IOSTREAMS -+ // const _C_type& _Ctype = use_facet<_C_type>(__loc); -+ const _C_type& _Ctype = *(const _C_type*)__is._M_ctype_facet(); - #else --# if defined (__STL_MSVC) && (__STL_MSVC <= 1200 ) -+# if defined (_STLP_MSVC) && (_STLP_MSVC <= 1200 ) || defined (__ICL) -+ const locale& __loc = __is.getloc(); - const _C_type& _Ctype = use_facet(__loc , ( _C_type * ) 0, true); - # elif defined (__SUNPRO_CC) -+ const locale& __loc = __is.getloc(); - const _C_type& _Ctype = use_facet(__loc , ( _C_type * ) 0); - # else -+ const locale& __loc = __is.getloc(); - const _C_type& _Ctype = use_facet<_C_type>(__loc); - # endif - #endif -@@ -138,12 +138,12 @@ - } - - template --basic_istream<_CharT, _Traits>& __STL_CALL -+basic_istream<_CharT, _Traits>& _STLP_CALL - getline(basic_istream<_CharT, _Traits>& __is, - basic_string<_CharT,_Traits,_Alloc>& __s, - _CharT __delim) - { -- __STL_USING_VENDOR_STD -+ _STLP_USING_IO - typedef basic_istream<_CharT, _Traits> __istream; - size_t __nread = 0; - typename basic_istream<_CharT, _Traits>::sentry __sentry(__is, true); -@@ -173,13 +173,15 @@ - return __is; - } - --#elif ! defined ( __STL_USE_NO_IOSTREAMS ) -+#elif ! defined ( _STLP_USE_NO_IOSTREAMS ) -+ -+// (reg) For Watcom IO, _OSTREAM_DLL tells if ostream class is in .exe or in .dll - - template --ostream& __STL_CALL operator<<(ostream& __os, -+_OSTREAM_DLL& _STLP_CALL operator<<(_OSTREAM_DLL& __os, - const basic_string<_CharT,_Traits,_Alloc>& __s) - { -- __STL_USING_VENDOR_STD -+ _STLP_USING_IO - streambuf* __buf = __os.rdbuf(); - if (__buf) { - size_t __n = __s.size(); -@@ -187,18 +189,17 @@ - const bool __left = (__os.flags() & ios::left) !=0; - const size_t __w = __os.width(); - -- if (__w > 0) { -- __n = min(__w, __n); -- __pad_len = __w - __n; -- } -+ if (__n < __w) { -+ __pad_len = __w - __n; -+ } - - if (!__left) -- __sgi_string_fill(__os, __buf, __pad_len); -+ __stlp_string_fill(__os, __buf, __pad_len); - - const size_t __nwritten = __buf->sputn(__s.data(), __n); - - if (__left) -- __sgi_string_fill(__os, __buf, __pad_len); -+ __stlp_string_fill(__os, __buf, __pad_len); - - if (__nwritten != __n) - __os.clear(__os.rdstate() | ios::failbit); -@@ -212,9 +213,9 @@ - } - - template --istream& __STL_CALL operator>>(istream& __is, basic_string<_CharT,_Traits,_Alloc>& __s) -+_ISTREAM_DLL& _STLP_CALL operator>>(_ISTREAM_DLL& __is, basic_string<_CharT,_Traits,_Alloc>& __s) - { -- __STL_USING_VENDOR_STD -+ _STLP_USING_IO - if (!__is) - return __is; - -@@ -282,11 +283,11 @@ - } - - template --istream& __STL_CALL getline(istream& __is, -+_ISTREAM_DLL& _STLP_CALL getline(_ISTREAM_DLL& __is, - basic_string<_CharT,_Traits,_Alloc>& __s, - _CharT __delim) - { -- __STL_USING_VENDOR_STD -+ _STLP_USING_IO - streambuf* __buf = __is.rdbuf(); - if (__buf) { - size_t __nread = 0; -@@ -319,10 +320,11 @@ - return __is; - } - --# endif /* __STL_NEW_IOSTREAMS */ -+# endif /* _STLP_NEW_IOSTREAMS */ - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - -+// # undef _STLP_USING_IO - # undef basic_string - - #endif -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_string_io.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_string_io.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_string_io.h Sat Feb 24 10:45:12 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_string_io.h Sun Aug 11 18:59:25 2002 -@@ -16,43 +16,47 @@ - * - */ - --#ifndef __SGI_STL_STRING_IO_H --#define __SGI_STL_STRING_IO_H -+#ifndef _STLP_STRING_IO_H -+#define _STLP_STRING_IO_H - - // this is for link-time instantiation --#if !defined ( __STLPORT_STRING ) -+#if !defined ( _STLP_STRING ) - # include - # endif - --# ifdef __STL_DEBUG -+//#ifndef _STLP_LOCALE -+//# include -+//#endif -+ -+# ifdef _STLP_DEBUG - # define basic_string _Nondebug_string - # endif - - // I/O. --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - --#if defined (__STL_USE_NEW_IOSTREAMS) -+#if defined (_STLP_USE_NEW_IOSTREAMS) - - template --basic_ostream<_CharT, _Traits>& __STL_CALL -+basic_ostream<_CharT, _Traits>& _STLP_CALL - operator<<(basic_ostream<_CharT, _Traits>& __os, - const basic_string<_CharT,_Traits,_Alloc>& __s); - - template --basic_istream<_CharT, _Traits>& __STL_CALL -+basic_istream<_CharT, _Traits>& _STLP_CALL - operator>>(basic_istream<_CharT, _Traits>& __is, - basic_string<_CharT,_Traits,_Alloc>& __s); - - template --basic_istream<_CharT, _Traits>& __STL_CALL -+basic_istream<_CharT, _Traits>& _STLP_CALL - getline(basic_istream<_CharT, _Traits>& __is, - basic_string<_CharT,_Traits,_Alloc>& __s, - _CharT __delim); - --# if !(defined (__BORLANDC__) && ! defined (__STL_USE_OWN_NAMESPACE)) -+# if !(defined (__BORLANDC__) && ! defined (_STLP_USE_OWN_NAMESPACE)) - - template --inline basic_istream<_CharT, _Traits>& __STL_CALL -+inline basic_istream<_CharT, _Traits>& _STLP_CALL - getline(basic_istream<_CharT, _Traits>& __is, - basic_string<_CharT,_Traits,_Alloc>& __s) - { -@@ -60,44 +64,44 @@ - } - # endif - --#if !(defined(__MRC__)||defined(__SC__)) //*TY 02/27/2000 - mpw compilers can not handle complex template arguments - template --bool __STL_CALL --__sgi_string_fill(basic_ostream<_CharT, _Traits>& __os, -+bool _STLP_CALL -+__stlp_string_fill(basic_ostream<_CharT, _Traits>& __os, - basic_streambuf<_CharT, _Traits>* __buf, - size_t __n); --#else //*TY 02/27/2000 - added workaround for MPW compilers --template //*TY 02/27/2000 - added _Buf --bool __STL_CALL --__sgi_string_fill(basic_ostream<_CharT, _Traits>& __os, -- _Buf* __buf, //*TY 02/27/2000 - simplified parameter type -- size_t __n); --#endif //*TY 02/27/2000 - -+#elif ! defined ( _STLP_USE_NO_IOSTREAMS ) - --#elif ! defined ( __STL_USE_NO_IOSTREAMS ) -+// (reg) For Watcom IO, this tells if ostream class is in .exe or in .dll -+# ifdef _WPRTLINK -+typedef _WPRTLINK ostream _OSTREAM_DLL; -+typedef _WPRTLINK istream _ISTREAM_DLL; -+#else -+typedef ostream _OSTREAM_DLL; -+typedef istream _ISTREAM_DLL; -+#endif - - template --ostream& __STL_CALL operator<<(ostream& __os, -+_OSTREAM_DLL& _STLP_CALL operator<<(_OSTREAM_DLL& __os, - const basic_string<_CharT,_Traits,_Alloc>& __s); - - template --istream& __STL_CALL operator>>(istream& __is, basic_string<_CharT,_Traits,_Alloc>& __s); -+_ISTREAM_DLL& _STLP_CALL operator>>(_ISTREAM_DLL& __is, basic_string<_CharT,_Traits,_Alloc>& __s); - - template --istream& __STL_CALL getline(istream& __is, -+_ISTREAM_DLL& _STLP_CALL getline(_ISTREAM_DLL& __is, - basic_string<_CharT,_Traits,_Alloc>& __s, - _CharT __delim); - - - template --inline istream& __STL_CALL --getline(istream& __is, basic_string<_CharT,_Traits,_Alloc>& __s) -+inline _ISTREAM_DLL& _STLP_CALL -+getline(_ISTREAM_DLL& __is, basic_string<_CharT,_Traits,_Alloc>& __s) - { - return getline(__is, __s, '\n'); - } - --inline void __STL_CALL --__sgi_string_fill(ostream& __os, streambuf* __buf, size_t __n) -+inline void _STLP_CALL -+__stlp_string_fill(_OSTREAM_DLL& __os, streambuf* __buf, size_t __n) - { - char __f = __os.fill(); - size_t __i; -@@ -105,14 +109,14 @@ - for (__i = 0; __i < __n; ++__i) __buf->sputc(__f); - } - --#endif /* __STL_USE_NEW_IOSTREAMS */ -+#endif /* _STLP_USE_NEW_IOSTREAMS */ - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - - # undef basic_string - --# if !defined (__STL_LINK_TIME_INSTANTIATION) -+# if !defined (_STLP_LINK_TIME_INSTANTIATION) - # include - # endif - --#endif /* __SGI_STL_STRING_IO_H */ -+#endif /* _STLP_STRING_IO_H */ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_strstream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_strstream.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_strstream.h Sat Feb 24 10:45:12 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_strstream.h Sun Aug 11 18:59:25 2002 -@@ -1,18 +1,28 @@ --#if defined(__sgi) && !defined(__GNUC__) && !defined(_STANDARD_C_PLUS_PLUS) --#error This header file requires the -LANG:std option --#endif - --#include -+#ifndef _STLP_INTERNAL_STREAMBUF -+#include -+#endif -+#ifndef _STLP_ISTREAM - #include // Includes , , --#include -+#endif -+#ifndef _STLP_STRING_H -+#include -+#endif -+ -+_STLP_BEGIN_NAMESPACE - --__STL_BEGIN_NAMESPACE -+#ifndef _STLP_USE_NAMESPACES -+# define strstream _STLP_strstream -+# define ostrstream _STLP_ostrstream -+# define istrstream _STLP_istrstream -+# define strstreambuf _STLP_strstreambuf -+#endif - - //---------------------------------------------------------------------- - // Class strstreambuf, a streambuf class that manages an array of char. - // Note that this class is not a template. - --class __STL_CLASS_DECLSPEC strstreambuf : public basic_streambuf > -+class _STLP_CLASS_DECLSPEC strstreambuf : public basic_streambuf > - { - public: // Types. - typedef char_traits _Traits; -@@ -21,7 +31,7 @@ - typedef void (*__free_fn)(void*); - public: // Constructor, destructor - -- explicit strstreambuf(streamsize __initial_capacity = 0); -+ explicit strstreambuf(streamsize _Initial_capacity = 0); - - strstreambuf(__alloc_fn, __free_fn); - -@@ -69,7 +79,7 @@ - //---------------------------------------------------------------------- - // Class istrstream, an istream that manages a strstreambuf. - --class __STL_CLASS_DECLSPEC istrstream : public basic_istream > -+class _STLP_CLASS_DECLSPEC istrstream : public basic_istream > - { - public: - explicit istrstream(char*); -@@ -88,7 +98,7 @@ - //---------------------------------------------------------------------- - // Class ostrstream - --class __STL_CLASS_DECLSPEC ostrstream : public basic_ostream > -+class _STLP_CLASS_DECLSPEC ostrstream : public basic_ostream > - { - public: - ostrstream(); -@@ -107,7 +117,7 @@ - //---------------------------------------------------------------------- - // Class strstream - --class __STL_CLASS_DECLSPEC strstream : public basic_iostream > -+class _STLP_CLASS_DECLSPEC strstream : public basic_iostream > - { - public: - typedef char char_type; -@@ -128,4 +138,4 @@ - strstreambuf _M_buf; - }; - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_tempbuf.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_tempbuf.c ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_tempbuf.c Sat Feb 24 10:45:12 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_tempbuf.c Sun Aug 11 18:59:25 2002 -@@ -23,13 +23,17 @@ - * modified is included with the above copyright notice. - * - */ --#ifndef __STL_TEMPBUF_C --#define __STL_TEMPBUF_C -+#ifndef _STLP_TEMPBUF_C -+#define _STLP_TEMPBUF_C - --__STL_BEGIN_NAMESPACE -+#ifndef _STLP_INTERNAL_TEMPBUF_H -+# include -+#endif -+ -+_STLP_BEGIN_NAMESPACE - - template --pair<_Tp*, ptrdiff_t> __STL_CALL -+pair<_Tp*, ptrdiff_t> _STLP_CALL - __get_temporary_buffer(ptrdiff_t __len, _Tp*) - { - if (__len > ptrdiff_t(INT_MAX / sizeof(_Tp))) -@@ -44,9 +48,9 @@ - - return pair<_Tp*, ptrdiff_t>((_Tp*)0, 0); - } --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --#endif /* __STL_TEMPBUF_C */ -+#endif /* _STLP_TEMPBUF_C */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_tempbuf.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_tempbuf.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_tempbuf.h Sat Feb 24 10:45:12 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_tempbuf.h Sun Aug 11 18:59:25 2002 -@@ -27,50 +27,48 @@ - * You should not attempt to use it directly. - */ - --#ifndef __SGI_STL_INTERNAL_TEMPBUF_H --#define __SGI_STL_INTERNAL_TEMPBUF_H -+#ifndef _STLP_INTERNAL_TEMPBUF_H -+#define _STLP_INTERNAL_TEMPBUF_H - --# ifndef __STLPORT_CLIMITS -+# ifndef _STLP_CLIMITS - # include - # endif --# ifndef __STLPORT_CSTDLIB -+# ifndef _STLP_CSTDLIB - # include - # endif --# ifndef __SGI_STL_INTERNAL_UNINITIALIZED_H -+# ifndef _STLP_INTERNAL_UNINITIALIZED_H - # include - # endif - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - template --pair<_Tp*, ptrdiff_t> __STL_CALL -+pair<_Tp*, ptrdiff_t> _STLP_CALL - __get_temporary_buffer(ptrdiff_t __len, _Tp*); - --#ifdef __STL_EXPLICIT_FUNCTION_TMPL_ARGS -+#ifndef _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS - - template --inline pair<_Tp*, ptrdiff_t> __STL_CALL get_temporary_buffer(ptrdiff_t __len) { -+inline pair<_Tp*, ptrdiff_t> _STLP_CALL get_temporary_buffer(ptrdiff_t __len) { - return __get_temporary_buffer(__len, (_Tp*) 0); - } - --#endif /* __STL_EXPLICIT_FUNCTION_TMPL_ARGS */ -- -- --# if ! (defined(__STL_NO_EXTENSIONS) && defined (__STL_EXPLICIT_FUNCTION_TMPL_ARGS)) -+# if ! defined(_STLP_NO_EXTENSIONS) - // This overload is not required by the standard; it is an extension. - // It is supported for backward compatibility with the HP STL, and - // because not all compilers support the language feature (explicit - // function template arguments) that is required for the standard - // version of get_temporary_buffer. - template --inline pair<_Tp*, ptrdiff_t> __STL_CALL -+inline pair<_Tp*, ptrdiff_t> _STLP_CALL - get_temporary_buffer(ptrdiff_t __len, _Tp*) { - return __get_temporary_buffer(__len, (_Tp*) 0); - } - # endif -+#endif - - template --inline void __STL_CALL return_temporary_buffer(_Tp* __p) { -+inline void _STLP_CALL return_temporary_buffer(_Tp* __p) { - // SunPro brain damage - free((char*)__p); - } -@@ -97,8 +95,8 @@ - } - } - -- void _M_initialize_buffer(const _Tp&, __true_type) {} -- void _M_initialize_buffer(const _Tp& val, __false_type) { -+ void _M_initialize_buffer(const _Tp&, const __true_type&) {} -+ void _M_initialize_buffer(const _Tp& val, const __false_type&) { - uninitialized_fill_n(_M_buffer, _M_len, val); - } - -@@ -113,17 +111,15 @@ - # if defined(__sgi) && !defined(__GNUC__) && _COMPILER_VERSION < 730 - typedef typename __type_traits<_Tp>::is_POD_type _Trivial; - # else -- typedef typename __type_traits<_Tp>::has_trivial_default_constructor -- _Trivial; -+ typedef typename __type_traits<_Tp>::has_trivial_default_constructor _Trivial; - # endif -- __STL_TRY { -- _M_len = 0; -- distance(__first, __last, _M_len); -+ _STLP_TRY { -+ _M_len = distance(__first, __last); - _M_allocate_buffer(); - if (_M_len > 0) - _M_initialize_buffer(*__first, _Trivial()); - } -- __STL_UNWIND(free(_M_buffer); _M_buffer = 0; _M_len = 0); -+ _STLP_UNWIND(free(_M_buffer); _M_buffer = 0; _M_len = 0); - } - - ~_Temporary_buffer() { -@@ -137,15 +133,15 @@ - void operator=(const _Temporary_buffer<_ForwardIterator, _Tp>&) {} - }; - --# ifndef __STL_NO_EXTENSIONS -+# ifndef _STLP_NO_EXTENSIONS - - // Class temporary_buffer is not part of the standard. It is an extension. - - template ::value_type --#endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */ -+#endif /* _STLP_CLASS_PARTIAL_SPECIALIZATION */ - > - struct temporary_buffer : public _Temporary_buffer<_ForwardIterator, _Tp> - { -@@ -154,15 +150,15 @@ - ~temporary_buffer() {} - }; - --# endif /* __STL_NO_EXTENSIONS */ -+# endif /* _STLP_NO_EXTENSIONS */ - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --# ifndef __STL_LINK_TIME_INSTANTIATION -+# ifndef _STLP_LINK_TIME_INSTANTIATION - # include - # endif - --#endif /* __SGI_STL_INTERNAL_TEMPBUF_H */ -+#endif /* _STLP_INTERNAL_TEMPBUF_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_threads.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_threads.c ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_threads.c Sat Feb 24 10:45:12 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_threads.c Sun Aug 11 18:59:25 2002 -@@ -23,70 +23,88 @@ - * modified is included with the above copyright notice. - * - */ --#ifndef __STL_THREADS_C --#define __STL_THREADS_C -+#ifndef _STLP_THREADS_C -+#define _STLP_THREADS_C - --# if defined (__BUILDING_STLPORT) || ! defined (__SGI_STL_OWN_IOSTREAMS) -+#ifndef _STLP_INTERNAL_THREADS_H -+# include -+#endif -+ -+# if defined (_STLP_EXPOSE_GLOBALS_IMPLEMENTATION) -+ -+# if defined(_STLP_SGI_THREADS) -+# include -+# elif defined (_STLP_UNIX) -+# include -+# if defined (_STLP_USE_NAMESPACES) && ! defined (_STLP_VENDOR_GLOBAL_CSTD) -+using _STLP_VENDOR_CSTD::time_t; -+# endif -+# include -+# endif - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - --# if ( __STL_STATIC_TEMPLATE_DATA > 0 ) -+# if ( _STLP_STATIC_TEMPLATE_DATA > 0 ) - --# if defined (__STL_PTHREADS) || defined (__STL_UITHREADS) -+# if !defined ( _STLP_ATOMIC_EXCHANGE ) && (defined (_STLP_PTHREADS) || defined (_STLP_UITHREADS) || defined (_STLP_OS2THREADS)) - template --_STL_STATIC_MUTEX --_Swap_lock_struct<__dummy>::_S_swap_lock __STL_MUTEX_INITIALIZER; -+_STLP_STATIC_MUTEX -+_Swap_lock_struct<__dummy>::_S_swap_lock _STLP_MUTEX_INITIALIZER; - # endif - - template --unsigned _STL_mutex_spin<__inst>::__max = _STL_mutex_spin<__inst>::__low_max; -+unsigned _STLP_mutex_spin<__inst>::__max = _STLP_mutex_spin<__inst>::__low_max; - - template --unsigned _STL_mutex_spin<__inst>::__last = 0; -- --# else /* ( __STL_STATIC_TEMPLATE_DATA > 0 ) */ -+unsigned _STLP_mutex_spin<__inst>::__last = 0; - --# if defined (__STL_PTHREADS) || defined (__STL_UITHREADS) --__DECLARE_INSTANCE(_STL_STATIC_MUTEX, _Swap_lock_struct<0>::_S_swap_lock, -- __STL_MUTEX_INITIALIZER ); --# endif /* __STL_PTHREADS */ -+# else /* ( _STLP_STATIC_TEMPLATE_DATA > 0 ) */ - --__DECLARE_INSTANCE(unsigned, _STL_mutex_spin<0>::__max, =30); --__DECLARE_INSTANCE(unsigned, _STL_mutex_spin<0>::__last, =0); -- --# endif /* ( __STL_STATIC_TEMPLATE_DATA > 0 ) */ -- --#if defined(__STL_SGI_THREADS) || defined(__STL_WIN32THREADS) -+# if defined (_STLP_PTHREADS) || defined (_STLP_UITHREADS) || defined (_STLP_OS2THREADS) -+__DECLARE_INSTANCE(_STLP_STATIC_MUTEX, _Swap_lock_struct<0>::_S_swap_lock, -+ _STLP_MUTEX_INITIALIZER ); -+# endif /* _STLP_PTHREADS */ -+ -+__DECLARE_INSTANCE(unsigned, _STLP_mutex_spin<0>::__max, =30); -+__DECLARE_INSTANCE(unsigned, _STLP_mutex_spin<0>::__last, =0); -+ -+# endif /* ( _STLP_STATIC_TEMPLATE_DATA > 0 ) */ -+ -+#ifdef _STLP_SPARC_SOLARIS_THREADS -+// underground function in libc.so; we do not want dependance on librt -+extern "C" int __nanosleep(const struct timespec*, struct timespec*); -+# define _STLP_NANOSLEEP __nanosleep -+#else -+# define _STLP_NANOSLEEP nanosleep -+#endif - - template --void __STL_CALL --_STL_mutex_spin<__inst>::_S_nsec_sleep(int __log_nsec) { --# ifdef __STL_SGI_THREADS -- struct timespec __ts; -- /* Max sleep is 2**27nsec ~ 60msec */ -- __ts.tv_sec = 0; -- __ts.tv_nsec = 1 << __log_nsec; -- nanosleep(&__ts, 0); --# elif defined(__STL_WIN32THREADS) -+void _STLP_CALL -+_STLP_mutex_spin<__inst>::_S_nsec_sleep(int __log_nsec) { -+# if defined(_STLP_WIN32THREADS) - if (__log_nsec <= 20) { - Sleep(0); - } else { - Sleep(1 << (__log_nsec - 20)); - } --# else --# error unimplemented -+# elif defined (_STLP_UNIX) -+ timespec __ts; -+ /* Max sleep is 2**27nsec ~ 60msec */ -+ __ts.tv_sec = 0; -+ __ts.tv_nsec = 1 << __log_nsec; -+ _STLP_NANOSLEEP(&__ts, 0); - # endif - } - - - template --void __STL_CALL --_STL_mutex_spin<__inst>::_M_do_lock(volatile unsigned long* __lock) -+void _STLP_CALL -+_STLP_mutex_spin<__inst>::_M_do_lock(volatile __stl_atomic_t* __lock) - { --#if defined(__STL_SGI_THREADS) || defined(__STL_WIN32THREADS) -- if (_Atomic_swap((unsigned long*)__lock, 1)) { -- unsigned __my_spin_max = _STL_mutex_spin<0>::__max; -- unsigned __my_last_spins = _STL_mutex_spin<0>::__last; -+#if defined(_STLP_ATOMIC_EXCHANGE) -+ if (_Atomic_swap(__lock, 1)) { -+ unsigned __my_spin_max = _STLP_mutex_spin<0>::__max; -+ unsigned __my_last_spins = _STLP_mutex_spin<0>::__last; - volatile unsigned __junk = 17; // Value doesn't matter. - unsigned __i; - -@@ -95,26 +113,26 @@ - __junk *= __junk; __junk *= __junk; - __junk *= __junk; __junk *= __junk; - } else { -- if (!_Atomic_swap((unsigned long*)__lock, 1)) { -+ if (!_Atomic_swap(__lock, 1)) { - // got it! - // Spinning worked. Thus we're probably not being scheduled - // against the other process with which we were contending. - // Thus it makes sense to spin longer the next time. -- _STL_mutex_spin<0>::__last = __i; -- _STL_mutex_spin<0>::__max = _STL_mutex_spin<0>::__high_max; -+ _STLP_mutex_spin<0>::__last = __i; -+ _STLP_mutex_spin<0>::__max = _STLP_mutex_spin<0>::__high_max; - return; - } - } - } - - // We are probably being scheduled against the other process. Sleep. -- _STL_mutex_spin<0>::__max = _STL_mutex_spin<0>::__low_max; -+ _STLP_mutex_spin<0>::__max = _STLP_mutex_spin<0>::__low_max; - - for (__i = 0 ;; ++__i) { - int __log_nsec = __i + 6; - - if (__log_nsec > 27) __log_nsec = 27; -- if (!_Atomic_swap((unsigned long *)__lock, 1)) { -+ if (!_Atomic_swap(__lock, 1)) { - break; - } - _S_nsec_sleep(__log_nsec); -@@ -124,12 +142,10 @@ - # endif - } - --# endif /* if SGI or WIN */ -- --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - - # endif /* BUILDING_STLPORT */ --#endif /* __STL_THREADS_C */ -+#endif /* _STLP_THREADS_C */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_threads.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_threads.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_threads.h Sat Feb 24 10:45:12 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_threads.h Sun Aug 11 18:59:25 2002 -@@ -22,125 +22,200 @@ - // Stl_config.h should be included before this file. - - --#ifndef __SGI_STL_INTERNAL_THREADS_H --#define __SGI_STL_INTERNAL_THREADS_H -+#ifndef _STLP_INTERNAL_THREADS_H -+#define _STLP_INTERNAL_THREADS_H - - // Supported threading models are native SGI, pthreads, uithreads - // (similar to pthreads, but based on an earlier draft of the Posix - // threads standard), and Win32 threads. Uithread support by Jochen - // Schlick, 1999, and Solaris threads generalized to them. - --#ifndef __STL_CONFIG_H -+#ifndef _STLP_CONFIG_H - #include - #endif - --# if ! defined (__STLPORT_CSTDDEF) -+# if ! defined (_STLP_CSTDDEF) - # include - # endif - --# if ! defined (__STLPORT_CSTDLIB) -+# if ! defined (_STLP_CSTDLIB) - # include - # endif - --#if defined(__STL_SGI_THREADS) -- --#include --#include -+// On SUN and Mac OS X gcc, zero-initialization works just fine... -+# if defined (__sun) || ( defined(__GNUC__) && defined(__APPLE__) ) -+# define _STLP_MUTEX_INITIALIZER -+# endif - --#elif defined(__STL_PTHREADS) -+# if defined (_STLP_WIN32) || defined (__sgi) || defined (_STLP_SPARC_SOLARIS_THREADS) -+ typedef long __stl_atomic_t; -+# else -+# if defined (_STLP_USE_NAMESPACES) && ! defined (_STLP_VENDOR_GLOBAL_CSTD) -+using _STLP_VENDOR_CSTD::size_t; -+# endif -+ typedef size_t __stl_atomic_t; -+#endif - --#include -+# if defined(_STLP_SGI_THREADS) -+# include -+// Hack for SGI o32 compilers. -+#if !defined(__add_and_fetch) && \ -+ (__mips < 3 || !(defined (_ABIN32) || defined(_ABI64))) -+# define __add_and_fetch(__l,__v) add_then_test((unsigned long*)__l,__v) -+# define __test_and_set(__l,__v) test_and_set(__l,__v) -+#endif /* o32 */ - --# ifdef __hpux --# define __STL_PTHREAD_ATTR_DEFAULT pthread_mutexattr_default -+# if __mips < 3 || !(defined (_ABIN32) || defined(_ABI64)) -+# define _STLP_ATOMIC_EXCHANGE(__p, __q) test_and_set(__p, __q) - # else --# define __STL_PTHREAD_ATTR_DEFAULT 0 -+# define _STLP_ATOMIC_EXCHANGE(__p, __q) __test_and_set((unsigned long*)__p, (unsigned long)__q) - # endif - --#elif defined(__STL_WIN32) -- -- --# if !defined (__STLPORT_WINDOWS_H_INCLUDED) && ! defined (_WINDOWS_) && ! defined (__WINDOWS__) --# if ! (defined ( __STL_MSVC ) || defined (__BORLANDC__) || defined (__ICL) ) --# define NOMINMAX --# ifdef __STL_USE_MFC --# include --# else --# include --# endif -- --# else -- -+# define _STLP_ATOMIC_INCREMENT(__x) __add_and_fetch(__x, 1) -+# define _STLP_ATOMIC_DECREMENT(__x) __add_and_fetch(__x, (size_t) -1) -+# elif defined(_STLP_PTHREADS) -+# include -+# if defined (PTHREAD_MUTEX_INITIALIZER) && ! defined (_STLP_MUTEX_INITIALIZER) && defined (_REENTRANT) -+# define _STLP_MUTEX_INITIALIZER = { PTHREAD_MUTEX_INITIALIZER } -+# endif -+ -+//HPUX variants have (on some platforms optional) non-standard "DCE" pthreads impl -+# if defined(_DECTHREADS_) && ( defined (_PTHREAD_USE_D4) || defined (__hpux)) \ -+ && ! defined (_CMA_SUPPRESS_EXTERNALS_) -+# define _STLP_PTHREAD_ATTR_DEFAULT pthread_mutexattr_default -+# else -+# define _STLP_PTHREAD_ATTR_DEFAULT 0 -+# endif -+ -+# elif defined(_STLP_WIN32) -+# if !defined (_STLP_WINDOWS_H_INCLUDED) && ! defined (_WINDOWS_H) -+# if ! (defined ( _STLP_MSVC ) || defined (__BORLANDC__) || defined (__ICL) || defined (__WATCOMC__) || defined (__MINGW32__)) -+# ifdef _STLP_USE_MFC -+# include -+# else -+# include -+# endif -+# else - // This section serves as a replacement for windows.h header for Visual C++ -- - extern "C" { -- - # if (defined(_M_MRX000) || defined(_M_ALPHA) \ - || (defined(_M_PPC) && (_MSC_VER >= 1000))) && !defined(RC_INVOKED) - # define InterlockedIncrement _InterlockedIncrement - # define InterlockedDecrement _InterlockedDecrement - # define InterlockedExchange _InterlockedExchange --# define __STL_STDCALL -+# define _STLP_STDCALL - # else - # ifdef _MAC --# define __STL_STDCALL _cdecl -+# define _STLP_STDCALL _cdecl - # else --# define __STL_STDCALL __stdcall -+# define _STLP_STDCALL __stdcall - # endif - # endif - --__STL_IMPORT_DECLSPEC long __STL_STDCALL InterlockedIncrement(long*); --__STL_IMPORT_DECLSPEC long __STL_STDCALL InterlockedDecrement(long*); --__STL_IMPORT_DECLSPEC long __STL_STDCALL InterlockedExchange(long*, long); -- --__STL_IMPORT_DECLSPEC void __STL_STDCALL Sleep(unsigned long); --__STL_IMPORT_DECLSPEC void __STL_STDCALL OutputDebugStringA( const char* lpOutputString ); -- --# if defined (InterlockedIncrement) --# pragma intrinsic(_InterlockedIncrement) --# pragma intrinsic(_InterlockedDecrement) --# pragma intrinsic(_InterlockedExchange) --# endif -+#if (_MSC_VER >= 1300) || defined (_STLP_NEW_PLATFORM_SDK) -+_STLP_IMPORT_DECLSPEC long _STLP_STDCALL InterlockedIncrement(long volatile *); -+_STLP_IMPORT_DECLSPEC long _STLP_STDCALL InterlockedDecrement(long volatile *); -+_STLP_IMPORT_DECLSPEC long _STLP_STDCALL InterlockedExchange(long volatile *, long); -+#else -+ // boris : for the latest SDK, you may actually need the other version of the declaration (above) -+ // even for earlier VC++ versions. There is no way to tell SDK versions apart, sorry ... -+_STLP_IMPORT_DECLSPEC long _STLP_STDCALL InterlockedIncrement(long*); -+_STLP_IMPORT_DECLSPEC long _STLP_STDCALL InterlockedDecrement(long*); -+_STLP_IMPORT_DECLSPEC long _STLP_STDCALL InterlockedExchange(long*, long); -+#endif -+ -+_STLP_IMPORT_DECLSPEC void _STLP_STDCALL Sleep(unsigned long); -+_STLP_IMPORT_DECLSPEC void _STLP_STDCALL OutputDebugStringA( const char* lpOutputString ); -+ -+# if defined (InterlockedIncrement) -+# pragma intrinsic(_InterlockedIncrement) -+# pragma intrinsic(_InterlockedDecrement) -+# pragma intrinsic(_InterlockedExchange) -+# endif - } /* extern "C" */ - --# endif /* STL_MSVC */ -+# endif /* STL_MSVC */ -+ -+# define _STLP_WINDOWS_H_INCLUDED - --# undef min --# undef max --# define __STLPORT_WINDOWS_H_INCLUDED --# endif /* _WINDOWS_ */ -+# endif /* _STLP_WIN32 */ - --#elif defined (__STL_UITHREADS) -+# ifndef _STLP_ATOMIC_INCREMENT -+# define _STLP_ATOMIC_INCREMENT(__x) InterlockedIncrement((long*)__x) -+# define _STLP_ATOMIC_DECREMENT(__x) InterlockedDecrement((long*)__x) -+# define _STLP_ATOMIC_EXCHANGE(__x, __y) InterlockedExchange((long*)__x, (long)__y) -+# endif -+# elif defined(__DECC) || defined(__DECCXX) -+# include -+# define _STLP_ATOMIC_EXCHANGE __ATOMIC_EXCH_LONG -+# define _STLP_ATOMIC_INCREMENT(__x) __ATOMIC_ADD_LONG(__x, 1) -+# define _STLP_ATOMIC_DECREMENT(__x) __ATOMIC_ADD_LONG(__x, -1) -+# elif defined(_STLP_SPARC_SOLARIS_THREADS) -+# include -+# elif defined (_STLP_UITHREADS) - // this inclusion is potential hazard to bring up all sorts - // of old-style headers. Let's assume vendor already know how - // to deal with that. --#include --#include --#include --#include --#endif -- --# ifndef __STL_MUTEX_INITIALIZER --# define __STL_MUTEX_INITIALIZER -+# include -+# if defined (_STLP_USE_NAMESPACES) && ! defined (_STLP_VENDOR_GLOBAL_CSTD) -+using _STLP_VENDOR_CSTD::time_t; - # endif -+# include -+# include -+# include -+# elif defined (_STLP_BETHREADS) -+# include -+#include -+#include -+# define _STLP_MUTEX_INITIALIZER = { 0 } -+#elif defined(_STLP_OS2THREADS) -+ // This section serves to replace os2.h for VisualAge C++ -+ typedef unsigned long ULONG; -+ #ifndef __HEV__ /* INCL_SEMAPHORE may also define HEV */ -+ #define __HEV__ -+ typedef ULONG HEV; -+ typedef HEV* PHEV; -+ #endif -+ typedef ULONG APIRET; -+ typedef ULONG HMTX; -+ typedef HMTX* PHMTX; -+ typedef const char* PCSZ; -+ typedef ULONG BOOL32; -+ APIRET _System DosCreateMutexSem(PCSZ pszName, PHEV phev, ULONG -+flAttr, BOOL32 fState); -+ APIRET _System DosRequestMutexSem(HMTX hmtx, ULONG ulTimeout); -+ APIRET _System DosReleaseMutexSem(HMTX hmtx); -+ APIRET _System DosCloseMutexSem(HMTX hmtx); -+# define _STLP_MUTEX_INITIALIZER = { 0 }; - --__STL_BEGIN_NAMESPACE -+# endif - -+# ifndef _STLP_MUTEX_INITIALIZER -+# if defined(_STLP_ATOMIC_EXCHANGE) -+# define _STLP_MUTEX_INITIALIZER = { 0 } -+# elif defined(_STLP_UITHREADS) -+# define _STLP_MUTEX_INITIALIZER = { DEFAULTMUTEX } -+# else -+# define _STLP_MUTEX_INITIALIZER -+# endif -+# endif - --// Class _Refcount_Base provides a type, _RC_t, a data member, --// _M_ref_count, and member functions _M_incr and _M_decr, which perform --// atomic preincrement/predecrement. The constructor initializes --// _M_ref_count. -+_STLP_BEGIN_NAMESPACE -+// Helper struct. This is a workaround for various compilers that don't -+// handle static variables in inline functions properly. -+template -+struct _STLP_mutex_spin { -+ enum { __low_max = 30, __high_max = 1000 }; -+ // Low if we suspect uniprocessor, high for multiprocessor. -+ static unsigned __max; -+ static unsigned __last; -+ static void _STLP_CALL _M_do_lock(volatile __stl_atomic_t* __lock); -+ static void _STLP_CALL _S_nsec_sleep(int __log_nsec); -+}; - --// Hack for SGI o32 compilers. --#if defined(__STL_SGI_THREADS) && !defined(__add_and_fetch) && \ -- (__mips < 3 || !(defined (_ABIN32) || defined(_ABI64))) --# define __add_and_fetch(__l,__v) add_then_test((unsigned long*)__l,__v) --# define __test_and_set(__l,__v) test_and_set(__l,__v) --#endif /* o32 */ - - // Locking class. Note that this class *does not have a constructor*. --// It must be initialized either statically, with __STL_MUTEX_INITIALIZER, -+// It must be initialized either statically, with _STLP_MUTEX_INITIALIZER, - // or dynamically, by explicitly calling the _M_initialize member function. - // (This is similar to the ways that a pthreads mutex can be initialized.) - // There are explicit member functions for acquiring and releasing the lock. -@@ -151,75 +226,65 @@ - // constructors, no base classes, no virtual functions, and no private or - // protected members. - --// For non-static cases, clients should use _STL_mutex. -- -+// For non-static cases, clients should use _STLP_mutex. - --// Helper struct. This is a workaround for various compilers that don't --// handle static variables in inline functions properly. --template --struct _STL_mutex_spin { -- enum { __low_max = 30, __high_max = 1000 }; -- // Low if we suspect uniprocessor, high for multiprocessor. -- static unsigned __max; -- static unsigned __last; --#if defined(__STL_SGI_THREADS) || defined(__STL_WIN32THREADS) -- static void __STL_CALL _M_do_lock(volatile unsigned long* __lock); -- static void __STL_CALL _S_nsec_sleep(int __log_nsec); --# endif --}; -- -- -- --struct __STL_CLASS_DECLSPEC _STL_mutex_base -+struct _STLP_CLASS_DECLSPEC _STLP_mutex_base - { -- --#if (defined(__sgi)) || defined(__STL_WIN32) -+#if defined(_STLP_ATOMIC_EXCHANGE) || defined(_STLP_SGI_THREADS) - // It should be relatively easy to get this to work on any modern Unix. -- volatile unsigned long _M_lock; -+ volatile __stl_atomic_t _M_lock; - #endif - --#if defined(__STL_SGI_THREADS) || defined(__STL_WIN32THREADS) -+#ifdef _STLP_THREADS - -+#if defined (_STLP_ATOMIC_EXCHANGE) - inline void _M_initialize() { _M_lock=0; } - inline void _M_destroy() {} - - void _M_acquire_lock() { -- volatile unsigned long* __lock = &this->_M_lock; -- _STL_mutex_spin<0>::_M_do_lock(__lock); -+ _STLP_mutex_spin<0>::_M_do_lock(&_M_lock); - } - - inline void _M_release_lock() { -- volatile unsigned long* __lock = &_M_lock; --# if defined(__STL_SGI_THREADS) && defined(__GNUC__) && __mips >= 3 -+ volatile __stl_atomic_t* __lock = &_M_lock; -+# if defined(_STLP_SGI_THREADS) && defined(__GNUC__) && __mips >= 3 - asm("sync"); - *__lock = 0; --# elif defined(__STL_SGI_THREADS) && __mips >= 3 \ -+# elif defined(_STLP_SGI_THREADS) && __mips >= 3 \ - && (defined (_ABIN32) || defined(_ABI64)) - __lock_release(__lock); --# else -+# elif defined (_STLP_SPARC_SOLARIS_THREADS) -+# if defined (__WORD64) || defined (__arch64__) \ -+ || defined (__sparcv9) || defined (__sparcv8plus) -+ asm("membar #StoreStore ; membar #LoadStore"); -+# else -+ asm(" stbar "); -+# endif -+ *__lock = 0; -+# else - *__lock = 0; - // This is not sufficient on many multiprocessors, since - // writes to protected variables and the lock may be reordered. - # endif - } -- --#elif defined(__STL_PTHREADS) -+#elif defined(_STLP_PTHREADS) - pthread_mutex_t _M_lock; - inline void _M_initialize() { -- pthread_mutex_init(&_M_lock,__STL_PTHREAD_ATTR_DEFAULT); -+ pthread_mutex_init(&_M_lock,_STLP_PTHREAD_ATTR_DEFAULT); - } - inline void _M_destroy() { - pthread_mutex_destroy(&_M_lock); - } - inline void _M_acquire_lock() { --#ifdef __hpux -+ -+#if defined ( __hpux ) && ! defined (PTHREAD_MUTEX_INITIALIZER) - if (!_M_lock.field1) _M_initialize(); - #endif - pthread_mutex_lock(&_M_lock); - } - inline void _M_release_lock() { pthread_mutex_unlock(&_M_lock); } - --#elif defined (__STL_UITHREADS) -+#elif defined (_STLP_UITHREADS) - mutex_t _M_lock; - inline void _M_initialize() { - mutex_init(&_M_lock,0,NULL); -@@ -230,6 +295,37 @@ - inline void _M_acquire_lock() { mutex_lock(&_M_lock); } - inline void _M_release_lock() { mutex_unlock(&_M_lock); } - -+#elif defined(_STLP_OS2THREADS) -+ HMTX _M_lock; -+ inline void _M_initialize() { DosCreateMutexSem(NULL, &_M_lock, 0, -+false); } -+ inline void _M_destroy() { DosCloseMutexSem(_M_lock); } -+ inline void _M_acquire_lock() { -+ if(!_M_lock) _M_initialize(); -+ DosRequestMutexSem(_M_lock, -1); -+ } -+ inline void _M_release_lock() { DosReleaseMutexSem(_M_lock); } -+#elif defined(_STLP_BETHREADS) -+ sem_id sem; -+ inline void _M_initialize() -+ { -+ sem = create_sem(1, "STLPort"); -+ assert(sem > 0); -+ } -+ inline void _M_destroy() -+ { -+ int t = delete_sem(sem); -+ assert(t == B_NO_ERROR); -+ } -+ inline void _M_acquire_lock(); -+ inline void _M_release_lock() -+ { -+ status_t t = release_sem(sem); -+ assert(t == B_NO_ERROR); -+ } -+#else //*ty 11/24/2001 - added configuration check -+#error "Unknown thread facility configuration" -+#endif - #else /* No threads */ - inline void _M_initialize() {} - inline void _M_destroy() {} -@@ -240,17 +336,17 @@ - - // This class could be just a smart pointer, but we do want to keep - // WIN32 optimized at a maximum --#if (defined(__sgi)) || defined(__STL_WIN32) --struct __STL_CLASS_DECLSPEC _STL_mutex_indirect : _STL_mutex_base {}; -+#if defined(_STLP_ATOMIC_EXCHANGE) || defined(_STLP_BETHREADS) -+struct _STLP_CLASS_DECLSPEC _STLP_mutex_indirect : _STLP_mutex_base {}; - #else --struct __STL_CLASS_DECLSPEC _STL_mutex_indirect -+struct _STLP_CLASS_DECLSPEC _STLP_mutex_indirect - { - void* _M_lock; - --# if defined(__STL_PTHREADS) -+# if defined(_STLP_PTHREADS) - inline void _M_initialize() { -- _M_lock = (void*)calloc(1,sizeof(pthread_mutex_t)); -- pthread_mutex_init((pthread_mutex_t*)_M_lock,__STL_PTHREAD_ATTR_DEFAULT); -+ _M_lock = (void*)_STLP_VENDOR_CSTD::calloc(1,sizeof(pthread_mutex_t)); -+ pthread_mutex_init((pthread_mutex_t*)_M_lock,_STLP_PTHREAD_ATTR_DEFAULT); - } - inline void _M_destroy() { - pthread_mutex_destroy((pthread_mutex_t*)_M_lock); -@@ -261,7 +357,7 @@ - } - inline void _M_release_lock() { pthread_mutex_unlock((pthread_mutex_t*)_M_lock); } - --# elif defined (__STL_UITHREADS) -+# elif defined (_STLP_UITHREADS) - inline void _M_initialize() { - _M_lock = (void*)calloc(1,sizeof(mutex_t)); - mutex_init((mutex_t*)_M_lock,0,NULL); -@@ -273,6 +369,20 @@ - inline void _M_acquire_lock() { mutex_lock((mutex_t*)_M_lock); } - inline void _M_release_lock() { mutex_unlock((mutex_t*)_M_lock); } - -+#elif defined(_STLP_OS2THREADS) -+ inline void _M_initialize() { -+ _M_lock = (void*)calloc(1,sizeof(HMTX)); -+ DosCreateMutexSem(NULL, (HMTX*)_M_lock, 0, false); -+ } -+ inline void _M_destroy() { -+ DosCloseMutexSem(*(HMTX*)_M_lock); -+ free((char*)_M_lock); -+ } -+ inline void _M_acquire_lock() { -+ if(!_M_lock) _M_initialize(); -+ DosRequestMutexSem(*(HMTX*)_M_lock, -1); -+ } -+ inline void _M_release_lock() { DosReleaseMutexSem(*(HMTX*)_M_lock); } - # else /* No threads */ - inline void _M_initialize() {} - inline void _M_destroy() {} -@@ -285,61 +395,52 @@ - // Locking class. The constructor initializes the lock, the destructor destroys it. - // Well - behaving class, does not need static initializer - --struct __STL_CLASS_DECLSPEC _STL_mutex : public _STL_mutex_indirect { -- inline _STL_mutex () { -+struct _STLP_CLASS_DECLSPEC _STLP_mutex : public _STLP_mutex_indirect { -+ inline _STLP_mutex () { - _M_initialize(); - } -- -- inline ~_STL_mutex () { -+ inline ~_STLP_mutex () { - _M_destroy(); - } - private: -- _STL_mutex(const _STL_mutex&); -- void operator=(const _STL_mutex&); -+ _STLP_mutex(const _STLP_mutex&); -+ void operator=(const _STLP_mutex&); - }; - -- --struct __STL_CLASS_DECLSPEC _Refcount_Base -+// Class _Refcount_Base provides a type, __stl_atomic_t, a data member, -+// _M_ref_count, and member functions _M_incr and _M_decr, which perform -+// atomic preincrement/predecrement. The constructor initializes -+// _M_ref_count. -+struct _STLP_CLASS_DECLSPEC _Refcount_Base - { -- // The type _RC_t --# ifdef __STL_WIN32 -- typedef long _RC_t; --# else -- typedef size_t _RC_t; --#endif -- - // The data member _M_ref_count -- volatile _RC_t _M_ref_count; -+ volatile __stl_atomic_t _M_ref_count; - --# if !defined (__STL_WIN32) && !defined (__sgi) -- _STL_mutex _M_mutex; -+# if !defined (_STLP_ATOMIC_EXCHANGE) -+ _STLP_mutex _M_mutex; - # endif - - // Constructor -- _Refcount_Base(_RC_t __n) : _M_ref_count(__n) {} -+ _Refcount_Base(__stl_atomic_t __n) : _M_ref_count(__n) {} - - // _M_incr and _M_decr --# ifdef __STL_SGI_THREADS -- void _M_incr() { __add_and_fetch(&_M_ref_count, 1); } -- _RC_t _M_decr() { return __add_and_fetch(&_M_ref_count, (size_t) -1); } --# elif defined (__STL_WIN32THREADS) -- void _M_incr() { InterlockedIncrement((_RC_t*)&_M_ref_count); } -- _RC_t _M_decr() { return InterlockedDecrement((_RC_t*)&_M_ref_count); } --# elif defined(__STL_PTHREADS) || defined (__STL_UITHREADS) -+# if defined (_STLP_THREADS) && defined ( _STLP_ATOMIC_EXCHANGE ) -+ void _M_incr() { _STLP_ATOMIC_INCREMENT((__stl_atomic_t*)&_M_ref_count); } -+ void _M_decr() { _STLP_ATOMIC_DECREMENT((__stl_atomic_t*)&_M_ref_count); } -+# elif defined(_STLP_THREADS) - void _M_incr() { - _M_mutex._M_acquire_lock(); - ++_M_ref_count; - _M_mutex._M_release_lock(); - } -- _RC_t _M_decr() { -+ void _M_decr() { - _M_mutex._M_acquire_lock(); -- volatile _RC_t __tmp = --_M_ref_count; -+ --_M_ref_count; - _M_mutex._M_release_lock(); -- return __tmp; - } - # else /* No threads */ - void _M_incr() { ++_M_ref_count; } -- _RC_t _M_decr() { return --_M_ref_count; } -+ void _M_decr() { --_M_ref_count; } - # endif - }; - -@@ -347,71 +448,130 @@ - // This is guaranteed to behave as though it were atomic only if all - // possibly concurrent updates use _Atomic_swap. - // In some cases the operation is emulated with a lock. --# ifdef __STL_SGI_THREADS --inline unsigned long _Atomic_swap(unsigned long * __p, unsigned long __q) { --# if __mips < 3 || !(defined (_ABIN32) || defined(_ABI64)) -- return test_and_set(__p, __q); --# else -- return __test_and_set(__p, (unsigned long)__q); --# endif -+# if defined (_STLP_THREADS) && defined ( _STLP_ATOMIC_EXCHANGE ) -+inline __stl_atomic_t _Atomic_swap(volatile __stl_atomic_t * __p, __stl_atomic_t __q) { -+ return (__stl_atomic_t) _STLP_ATOMIC_EXCHANGE(__p,__q); - } --# elif defined(__STL_WIN32THREADS) --inline unsigned long _Atomic_swap(unsigned long * __p, unsigned long __q) { -- return (unsigned long) InterlockedExchange((long*)__p, (long)__q); --} --# elif defined(__STL_PTHREADS) || defined (__STL_UITHREADS) -+# elif defined(_STLP_PTHREADS) || defined (_STLP_UITHREADS) || defined (_STLP_OS2THREADS) - // We use a template here only to get a unique initialized instance. - template - struct _Swap_lock_struct { -- static _STL_STATIC_MUTEX _S_swap_lock; -+ static _STLP_STATIC_MUTEX _S_swap_lock; - }; - - - // This should be portable, but performance is expected - // to be quite awful. This really needs platform specific - // code. --inline unsigned long _Atomic_swap(unsigned long * __p, unsigned long __q) { -+inline __stl_atomic_t _Atomic_swap(volatile __stl_atomic_t * __p, __stl_atomic_t __q) { - _Swap_lock_struct<0>::_S_swap_lock._M_acquire_lock(); -- unsigned long __result = *__p; -+ __stl_atomic_t __result = *__p; - *__p = __q; - _Swap_lock_struct<0>::_S_swap_lock._M_release_lock(); - return __result; - } - # else --static inline unsigned long __STL_CALL --_Atomic_swap(unsigned long * __p, unsigned long __q) { -- unsigned long __result = *__p; -+/* no threads */ -+static inline __stl_atomic_t _STLP_CALL -+_Atomic_swap(volatile __stl_atomic_t * __p, __stl_atomic_t __q) { -+ __stl_atomic_t __result = *__p; - *__p = __q; - return __result; - } - # endif - --// A locking class that uses _STL_STATIC_MUTEX. The constructor takes --// a reference to an _STL_STATIC_MUTEX, and acquires a lock. The destructor -+// A locking class that uses _STLP_STATIC_MUTEX. The constructor takes -+// a reference to an _STLP_STATIC_MUTEX, and acquires a lock. The destructor - // releases the lock. - // It's not clear that this is exactly the right functionality. - // It will probably change in the future. - --struct __STL_CLASS_DECLSPEC _STL_auto_lock -+struct _STLP_CLASS_DECLSPEC _STLP_auto_lock - { -- _STL_STATIC_MUTEX& _M_lock; -+ _STLP_STATIC_MUTEX& _M_lock; - -- _STL_auto_lock(_STL_STATIC_MUTEX& __lock) : _M_lock(__lock) -+ _STLP_auto_lock(_STLP_STATIC_MUTEX& __lock) : _M_lock(__lock) - { _M_lock._M_acquire_lock(); } -- ~_STL_auto_lock() { _M_lock._M_release_lock(); } -+ ~_STLP_auto_lock() { _M_lock._M_release_lock(); } - - private: -- void operator=(const _STL_auto_lock&); -- _STL_auto_lock(const _STL_auto_lock&); -+ void operator=(const _STLP_auto_lock&); -+ _STLP_auto_lock(const _STLP_auto_lock&); -+}; -+ -+struct _STLP_CLASS_DECLSPEC _STLP_mutex_lock -+{ -+ _STLP_mutex_indirect& _M_lock; -+ -+ _STLP_mutex_lock(_STLP_mutex_indirect& __lock) : _M_lock(__lock) -+ { _M_lock._M_acquire_lock(); } -+ ~_STLP_mutex_lock() { _M_lock._M_release_lock(); } -+ -+private: -+ void operator=(const _STLP_mutex_lock&); -+ _STLP_mutex_lock(const _STLP_mutex_lock&); -+}; -+ -+#ifdef _STLP_BETHREADS -+ -+template -+struct _STLP_beos_static_lock_data -+{ -+ static bool is_init; -+ struct mutex_t : public _STLP_mutex -+ { -+ mutex_t() -+ { -+ _STLP_beos_static_lock_data<0>::is_init = true; -+ } -+ ~mutex_t() -+ { -+ _STLP_beos_static_lock_data<0>::is_init = false; -+ } -+ }; -+ static mutex_t mut; - }; - --__STL_END_NAMESPACE -+template -+bool _STLP_beos_static_lock_data<__inst>::is_init = false; -+template -+typename _STLP_beos_static_lock_data<__inst>::mutex_t _STLP_beos_static_lock_data<__inst>::mut; -+ -+ -+inline void _STLP_mutex_base::_M_acquire_lock() -+{ -+ if(sem == 0) -+ { -+ // we need to initialise on demand here -+ // to prevent race conditions use our global -+ // mutex if it's available: -+ if(_STLP_beos_static_lock_data<0>::is_init) -+ { -+ _STLP_auto_lock al(_STLP_beos_static_lock_data<0>::mut); -+ if(sem == 0) _M_initialize(); -+ } -+ else -+ { -+ // no lock available, we must still be -+ // in startup code, THERE MUST BE ONE THREAD -+ // ONLY active at this point. -+ _M_initialize(); -+ } -+ } -+ status_t t; -+ t = acquire_sem(sem); -+ assert(t == B_NO_ERROR); -+} -+ -+#endif -+ -+_STLP_END_NAMESPACE - --# if !defined (__STL_LINK_TIME_INSTANTIATION) -+# if !defined (_STLP_LINK_TIME_INSTANTIATION) - # include - # endif - --#endif /* __SGI_STL_INTERNAL_THREADS_H */ -+#endif /* _STLP_INTERNAL_THREADS_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_time_facets.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_time_facets.c ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_time_facets.c Sat Feb 24 10:45:13 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_time_facets.c Sun Aug 11 18:59:25 2002 -@@ -15,13 +15,28 @@ - * modified is included with the above copyright notice. - * - */ --#ifndef __STL_TIME_FACETS_C --#define __STL_TIME_FACETS_C -+#ifndef _STLP_TIME_FACETS_C -+#define _STLP_TIME_FACETS_C - --__STL_BEGIN_NAMESPACE -+#ifndef _STLP_INTERNAL_TIME_FACETS_H -+# include -+#endif -+ -+#if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) -+ -+#ifndef _STLP_INTERNAL_NUM_PUT_H -+# include -+#endif -+ -+#ifndef _STLP_INTERNAL_NUM_GET_H -+# include -+#endif -+ -+_STLP_BEGIN_NAMESPACE - - //---------------------------------------------------------------------- - // Declarations of static template members. -+# if ( _STLP_STATIC_TEMPLATE_DATA > 0 ) - - template - locale::id time_get<_CharT, _InputIterator>::id; -@@ -29,26 +44,44 @@ - template - locale::id time_put<_CharT, _OutputIterator>::id; - --# ifdef __STL_USE_TEMPLATE_EXPORT -+# else /* ( _STLP_STATIC_TEMPLATE_DATA > 0 ) */ - --__STL_EXPORT_TEMPLATE_CLASS time_get > >; --__STL_EXPORT_TEMPLATE_CLASS time_get; --__STL_EXPORT_TEMPLATE_CLASS time_put > >; --__STL_EXPORT_TEMPLATE_CLASS time_put; -- --# ifndef __STL_NO_WCHAR_T --__STL_EXPORT_TEMPLATE_CLASS time_get > >; --__STL_EXPORT_TEMPLATE_CLASS time_get; --__STL_EXPORT_TEMPLATE_CLASS time_put > >; --__STL_EXPORT_TEMPLATE_CLASS time_put; --# endif /* INSTANTIATE_WIDE_STREAMS */ -+typedef time_get time_get_char; -+typedef time_get time_get_char_2; -+typedef time_get > > time_get_char_3; -+typedef time_put time_put_char; -+typedef time_put time_put_char_2; -+typedef time_put > > time_put_char_3; -+ -+__DECLARE_INSTANCE(locale::id, time_get_char::id, ); -+__DECLARE_INSTANCE(locale::id, time_get_char_2::id, ); -+__DECLARE_INSTANCE(locale::id, time_get_char_3::id, ); -+__DECLARE_INSTANCE(locale::id, time_put_char::id, ); -+__DECLARE_INSTANCE(locale::id, time_put_char_2::id, ); -+__DECLARE_INSTANCE(locale::id, time_put_char_3::id, ); -+ -+# ifndef _STLP_NO_WCHAR_T -+ -+typedef time_get time_get_wchar_t; -+typedef time_get time_get_wchar_t_2; -+typedef time_get > > time_get_wchar_t_3; -+typedef time_put time_put_wchar_t; -+typedef time_put time_put_wchar_t_2; -+typedef time_put > > time_put_wchar_t_3; -+ -+__DECLARE_INSTANCE(locale::id, time_get_wchar_t::id, ); -+__DECLARE_INSTANCE(locale::id, time_get_wchar_t_2::id, ); -+__DECLARE_INSTANCE(locale::id, time_get_wchar_t_3::id, ); -+__DECLARE_INSTANCE(locale::id, time_put_wchar_t::id, ); -+__DECLARE_INSTANCE(locale::id, time_put_wchar_t_2::id, ); -+__DECLARE_INSTANCE(locale::id, time_put_wchar_t_3::id, ); - - # endif - --# if (defined (__STL_DESIGNATED_DLL) || ! defined (__STL_NO_CUSTOM_IO)) // && ! defined( __STL_IN_LOCALE_CPP) -+# endif /* ( _STLP_STATIC_TEMPLATE_DATA > 0 ) */ - - template --_RAIt __STL_CALL -+_RAIt _STLP_CALL - __match(_InIt& __first, _InIt& __last, _RAIt __name, _RAIt __name_end, _DiffType*) { - typedef _DiffType difference_type; - difference_type __n = __name_end - __name; -@@ -60,7 +93,7 @@ - _RAIt __matching_name[_MAX_NAME_LENGTH]; - - for (__i = 0; __i < __n; ++__i) -- __max_pos = max(__max_pos, __name[__i].size()); -+ __max_pos = (max)(__max_pos, __name[__i].size()); - - for (__i = 0; __i < _MAXNAMES; ++__i) - __do_check[__i] = true; -@@ -98,9 +131,9 @@ - } - - template --_RAIt __STL_CALL -+_RAIt _STLP_CALL - __match(_InIt& __first, _InIt& __last, _RAIt __name, _RAIt __name_end) { -- return __match((_InIt&)__first, (_InIt&)__last, __name, __name_end, __DISTANCE_TYPE(__name)); -+ return __match((_InIt&)__first, (_InIt&)__last, __name, __name_end, _STLP_DISTANCE_TYPE(__name, _InIt)); - } - - // __get_formatted_time reads input that is assumed to be formatted -@@ -126,8 +159,8 @@ - // the correct overloading for the calls to __get_integer_nogroup. - - template --_InIt2 __STL_CALL --__get_formatted_time __STL_WEAK (_InIt1 __first, _InIt1 __last, -+_InIt2 _STLP_CALL -+__get_formatted_time _STLP_WEAK (_InIt1 __first, _InIt1 __last, - _InIt2 __format, _InIt2 __format_end, - /* _Ch, */ const _Time_Info& __table, - ios_base::iostate& __err, -@@ -140,46 +173,46 @@ - case 'a': { - const string* __pr = - __match(__first, __last, -- __table._M_dayname + 0 , __table._M_dayname + 7); -- if (__pr == __table._M_dayname + 7) -+ (string*)__table._M_dayname + 0 , (string*)__table._M_dayname + 7); -+ if (__pr == (string*)__table._M_dayname + 7) - return __format; -- __t->tm_wday = __pr - __table._M_dayname; -+ __t->tm_wday = (int)(__pr - (string*)__table._M_dayname); - break; - } - - case 'A': { - const string* __pr = - __match(__first, __last, -- __table._M_dayname + 7, __table._M_dayname + 14); -- if (__pr == __table._M_dayname + 14) -+ (string*)__table._M_dayname + 7, (string*)__table._M_dayname + 14); -+ if (__pr == (string*)__table._M_dayname + 14) - return __format; -- __t->tm_wday = __pr - __table._M_dayname - 7; -+ __t->tm_wday = (int)(__pr - (string*)__table._M_dayname - 7); - break; - } - - case 'b': { - const string* __pr = - __match(__first, __last, -- __table._M_monthname + 0, __table._M_monthname + 12); -- if (__pr == __table._M_monthname + 12) -+ (string*)__table._M_monthname + 0, (string*)__table._M_monthname + 12); -+ if (__pr == (string*)__table._M_monthname + 12) - return __format; -- __t->tm_mon = __pr - __table._M_monthname; -+ __t->tm_mon = (int)(__pr - (string*)__table._M_monthname); - break; - } - - case 'B': { - const string* __pr = - __match(__first, __last, -- __table._M_monthname + 12, __table._M_monthname + 24); -- if (__pr == __table._M_monthname + 24) -+ (string*)__table._M_monthname + 12, (string*)__table._M_monthname + 24); -+ if (__pr == (string*)__table._M_monthname + 24) - return __format; -- __t->tm_mon = __pr - __table._M_monthname - 12; -+ __t->tm_mon = (int)(__pr - (string*)__table._M_monthname - 12); - break; - } - - case 'd': { - bool __pr = -- __get_integer_nogroup(__first, __last, 10, __t->tm_mday, 0, false); -+ __get_decimal_integer(__first, __last, __t->tm_mday); - if (!__pr || __t->tm_mday < 1 || __t->tm_mday > 31) { - __err |= ios_base::failbit; - return __format; -@@ -189,7 +222,7 @@ - - case 'H': case 'I': { - bool __pr = -- __get_integer_nogroup(__first, __last, 10, __t->tm_hour, 0, false); -+ __get_decimal_integer(__first, __last, __t->tm_hour); - if (!__pr) - return __format; - break; -@@ -197,7 +230,7 @@ - - case 'j': { - bool __pr = -- __get_integer_nogroup(__first, __last, 10, __t->tm_yday, 0, false); -+ __get_decimal_integer(__first, __last, __t->tm_yday); - if (!__pr) - return __format; - break; -@@ -205,7 +238,7 @@ - - case 'm': { - bool __pr = -- __get_integer_nogroup(__first, __last, 10, __t->tm_mon, 0, false); -+ __get_decimal_integer(__first, __last, __t->tm_mon); - --__t->tm_mon; - if (!__pr || __t->tm_mon < 0 || __t->tm_mon > 11) { - __err |= ios_base::failbit; -@@ -216,7 +249,7 @@ - - case 'M': { - bool __pr = -- __get_integer_nogroup(__first, __last, 10, __t->tm_min, 0, false); -+ __get_decimal_integer(__first, __last, __t->tm_min); - if (!__pr) - return __format; - break; -@@ -224,17 +257,17 @@ - - case 'p': { - const string* __pr = -- __match(__first, __last, __table._M_am_pm + 0, __table._M_am_pm + 2); -- if (__pr == __table._M_am_pm + 2) -+ __match(__first, __last, (string*)__table._M_am_pm + 0, (string*)__table._M_am_pm + 2); -+ if (__pr == (string*)__table._M_am_pm + 2) - return __format; -- if (__pr == __table._M_am_pm + 1) -+ if (__pr == (string*)__table._M_am_pm + 1) - __t->tm_hour += 12; - break; - } - - case 'S': { - bool __pr = -- __get_integer_nogroup(__first, __last, 10, __t->tm_sec, 0, false); -+ __get_decimal_integer(__first, __last, __t->tm_sec); - if (!__pr) - return __format; - break; -@@ -242,7 +275,7 @@ - - case 'y': { - bool __pr = -- __get_integer_nogroup(__first, __last, 10, __t->tm_year, 0, false); -+ __get_decimal_integer(__first, __last, __t->tm_year); - if (!__pr) - return __format; - break; -@@ -250,7 +283,7 @@ - - case 'Y': { - bool __pr = -- __get_integer_nogroup(__first, __last, 10, __t->tm_year, 0, false); -+ __get_decimal_integer(__first, __last, __t->tm_year); - __t->tm_year -= 1900; - if (!__pr) - return __format; -@@ -273,37 +306,36 @@ - } - - template --bool __STL_CALL -+bool _STLP_CALL - __get_short_or_long_dayname(_InIt& __first, _InIt& __last, - const _Time_Info& __table, tm* __t) { - const string* __pr = - __match(__first, __last, __table._M_dayname + 0, __table._M_dayname + 14); -- __t->tm_wday = (__pr - __table._M_dayname) % 7; -+ __t->tm_wday = (int)(__pr - __table._M_dayname) % 7; - return __pr != __table._M_dayname + 14; - } - - template --bool __STL_CALL -+bool _STLP_CALL - __get_short_or_long_monthname(_InIt& __first, _InIt& __last, - const _Time_Info& __table, tm* __t) { - const string* __pr = -- __match(__first, __last, __table._M_monthname + 0, __table._M_monthname + 24); -- __t->tm_mon = (__pr - __table._M_monthname) % 12; -+ __match(__first, __last, (string*)__table._M_monthname + 0, (string*)__table._M_monthname + 24); -+ __t->tm_mon = (int)(__pr - __table._M_monthname) % 12; - return __pr != __table._M_monthname + 24; - } - --# ifndef __STL_NO_WCHAR_T -+# ifndef _STLP_NO_WCHAR_T - template --_OuIt __STL_CALL -+_OuIt _STLP_CALL - __put_time(char * __first, char * __last, _OuIt __out, -- const locale& __loc, wchar_t) { -- const ctype& __ct = use_facet >(__loc); -+ const ios_base& __s, wchar_t) { -+ const ctype& __ct = *(ctype*)__s._M_ctype_facet(); - wchar_t __wbuf[64]; - __ct.widen(__first, __last, __wbuf); - ptrdiff_t __len = __last - __first; - wchar_t * __eend = __wbuf + __len; -- -- return copy(__wbuf, __eend, __out); -+ return copy((wchar_t*)__wbuf, __eend, __out); - } - # endif - -@@ -368,7 +400,7 @@ - return __s; - } - -- bool __pr = __get_integer_nogroup(__s, __end, 10, __t->tm_year, 0, false); -+ bool __pr = __get_decimal_integer(__s, __end, __t->tm_year); - __t->tm_year -= 1900; - __err = __pr ? ios_base::goodbit : ios_base::failbit; - if (__s == __end) -@@ -421,14 +453,20 @@ - const tm* __tmb, - const _Ch* __pat, const _Ch* __pat_end) const - { -- locale __loc = __f.getloc(); -- const ctype<_Ch>& _Ct = use_facet >(__loc); -+ // locale __loc = __f.getloc(); -+ // const ctype<_Ch>& _Ct = use_facet >(__loc); -+ const ctype<_Ch>& _Ct = *(ctype<_Ch>*)__f._M_ctype_facet(); - while (__pat != __pat_end) { - char __c = _Ct.narrow(*__pat, 0); - if (__c == '%') { -+ char __mod = 0; - ++__pat; - __c = _Ct.narrow(*__pat++, 0); -- __s = do_put(__s, __f, __fill, __tmb, __c, 0); -+ if(__c == '#') { // MS extension -+ __mod = __c; -+ __c = _Ct.narrow(*__pat++, 0); -+ } -+ __s = do_put(__s, __f, __fill, __tmb, __c, __mod); - } - else - *__s++ = *__pat++; -@@ -440,17 +478,20 @@ - _OutputIter - time_put<_Ch,_OutputIter>::do_put(_OutputIter __s, ios_base& __f, _Ch /* __fill */ , - const tm* __tmb, -- char __format, char /* __modifier */) const -+ char __format, char __modifier ) const - { - char __buf[64]; -- char * __iend = __write_formatted_time(__buf, __format, -+ char * __iend = __write_formatted_time(__buf, __format, __modifier, - _M_timeinfo, __tmb); -- locale __loc = __f.getloc(); -- return __put_time(__buf, __iend, __s, __loc, _Ch()); -+ // locale __loc = __f.getloc(); -+ return __put_time(__buf, __iend, __s, __f, _Ch()); - } - --# endif /* CUSTOM_IO */ -+_STLP_END_NAMESPACE - --__STL_END_NAMESPACE -+# endif /* defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) */ -+#endif /* _STLP_TIME_FACETS_C */ - --#endif /* __STL_TIME_FACETS_C */ -+// Local Variables: -+// mode:C++ -+// End: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_time_facets.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_time_facets.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_time_facets.h Sat Feb 24 10:45:13 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_time_facets.h Sun Aug 11 18:59:25 2002 -@@ -20,13 +20,17 @@ - // file directly. - - --#ifndef __SGI_STL_INTERNAL_TIME_FACETS_H --#define __SGI_STL_INTERNAL_TIME_FACETS_H -+#ifndef _STLP_INTERNAL_TIME_FACETS_H -+#define _STLP_INTERNAL_TIME_FACETS_H - --__STL_BEGIN_NAMESPACE -+#ifndef _STLP_CTIME -+# include // Needed (for struct tm) by time facets -+#endif - --_Locale_time* __STL_CALL __acquire_time(const char* __name); --void __STL_CALL __release_time(_Locale_time* __time); -+#include -+#include -+ -+_STLP_BEGIN_NAMESPACE - - // Template functions used by time_get - -@@ -65,14 +69,14 @@ - // as well as the am/pm designator. The month and weekday tables - // have the all the abbreviated names before all the full names. - // The _Time_Info tables are initialized using the non-template --// function __init_timeinfo, which has two overloadings: one -+// function _Init_timeinfo, which has two overloadings: one - // with a single reference parameter for the table to be initialized, - // and one with a second _Locale_time * parameter. The first form - // is called by the default constructor and the second by a special - // constructor invoked from the _byname subclass constructor to - // construct the base class. - --class __STL_CLASS_DECLSPEC _Time_Info { -+class _STLP_CLASS_DECLSPEC _Time_Info { - public: - string _M_dayname[14]; - string _M_monthname[24]; -@@ -80,12 +84,14 @@ - string _M_time_format; - string _M_date_format; - string _M_date_time_format; -+ string _M_long_date_format; -+ string _M_long_date_time_format; - }; - --void __STL_CALL __init_timeinfo(_Time_Info&); --void __STL_CALL __init_timeinfo(_Time_Info&, _Locale_time*); -+void _STLP_CALL _Init_timeinfo(_Time_Info&); -+void _STLP_CALL _Init_timeinfo(_Time_Info&, _Locale_time*); - --class __STL_CLASS_DECLSPEC time_base { -+class _STLP_CLASS_DECLSPEC time_base { - public: - enum dateorder {no_order, dmy, mdy, ymd, ydm}; - }; -@@ -94,22 +100,14 @@ - template ) > - class time_get : public locale::facet, public time_base - { -- friend class _Locale_impl; --#if defined(__MRC__) || defined(__SC__) //*TY 04/29/2000 - added workaround for mpw -- typedef locale::facet _facet; //*TY 04/29/2000 - they forget to look into nested class for the ctor. --#endif //*TY 04/29/2000 - -+ friend class _Locale; -+ - public: - typedef _Ch char_type; - typedef _InIt iter_type; - -- explicit time_get(size_t __refs = 0) --#if !(defined(__MRC__) || defined(__SC__) ) //*TY 04/29/2000 - added workaround for mpw -- : locale::facet(__refs) --#else //*TY 04/29/2000 - -- : _facet(__refs) //*TY 04/29/2000 - they forget to look into the nested class for the ctor --#endif //*TY 04/29/2000 - -- { -- __init_timeinfo(_M_timeinfo); -+ explicit time_get(size_t __refs = 0) : _BaseFacet(__refs) { -+ _Init_timeinfo(_M_timeinfo); - } - dateorder date_order() const { return do_date_order(); } - iter_type get_time(iter_type __s, iter_type __end, ios_base& __str, -@@ -128,18 +126,12 @@ - ios_base::iostate& __err, tm* __t) const - { return do_get_year(__s, __end, __str, __err, __t); } - -- __STL_STATIC_MEMBER_DECLSPEC static locale::id id; -+ _STLP_STATIC_MEMBER_DECLSPEC static locale::id id; - - protected: - _Time_Info _M_timeinfo; - -- time_get(_Locale_time *, size_t __refs) --#if !(defined(__MRC__) || defined(__SC__) ) //*TY 04/29/2000 - added workaround for mpw -- : locale::facet(__refs) --#else //*TY 04/29/2000 - -- : _facet(__refs) //*TY 04/29/2000 - they forget to look into the nested class for the ctor --#endif //*TY 04/29/2000 - -- {} -+ time_get(_Locale_time *, size_t __refs) : _BaseFacet(__refs) {} - - ~time_get() {} - -@@ -167,8 +159,10 @@ - tm* __t) const; - }; - --time_base::dateorder __STL_CALL -+time_base::dateorder _STLP_CALL - __get_date_order(_Locale_time*); -+_Locale_time* _STLP_CALL __acquire_time(const char* __name); -+void _STLP_CALL __release_time(_Locale_time* __time); - - template ) > - class time_get_byname : public time_get<_Ch, _InIt> -@@ -180,7 +174,7 @@ - explicit time_get_byname(const char* __name, size_t __refs = 0) - : time_get<_Ch, _InIt>((_Locale_time*) 0, __refs), - _M_time(__acquire_time(__name)) -- { __init_timeinfo(this->_M_timeinfo, this->_M_time); } -+ { _Init_timeinfo(this->_M_timeinfo, this->_M_time); } - - protected: - ~time_get_byname() { __release_time(_M_time); } -@@ -199,41 +193,32 @@ - // format. As indicated by the foregoing remark, this will never be - // 'x', 'X', or 'c'. - --char * __STL_CALL --__write_formatted_time(char * __buf, char __format, -+char * _STLP_CALL -+__write_formatted_time(char * __buf, char __format, char __modifier, - const _Time_Info& __table, const tm* __t); - - template --inline _OuIt __STL_CALL __put_time(char * __first, char * __last, _OuIt __out, -- const locale& /* __loc */, char) { -+inline _OuIt _STLP_CALL __put_time(char * __first, char * __last, _OuIt __out, -+ const ios_base& /* __loc */, char) { - return copy(__first, __last, __out); - } - --# ifndef __STL_NO_WCHAR_T -+# ifndef _STLP_NO_WCHAR_T - template --_OuIt __STL_CALL __put_time(char * __first, char * __last, _OuIt __out, -- const locale& __loc, wchar_t); -+_OuIt _STLP_CALL __put_time(char * __first, char * __last, _OuIt __out, -+ const ios_base& __s, wchar_t); - # endif - - template ) > --class time_put : public locale::facet -+class time_put : public locale::facet, public time_base - { -- friend class _Locale_impl; --#if defined(__MRC__) || defined(__SC__) //*TY 04/29/2000 - added workaround for mpw -- typedef locale::facet _facet; //*TY 04/29/2000 - they forget to look into nested class for the ctor. --#endif //*TY 04/29/2000 - -+ friend class _Locale; - public: - typedef _Ch char_type; - typedef _OutputIter iter_type; - -- explicit time_put(size_t __refs = 0) --#if !(defined(__MRC__) || defined(__SC__) ) //*TY 04/29/2000 - added workaround for mpw -- : locale::facet(__refs) --#else //*TY 04/29/2000 - -- : _facet(__refs) //*TY 04/29/2000 - they forget to look into the nested class for the ctor --#endif //*TY 04/29/2000 - -- { -- __init_timeinfo(_M_timeinfo); -+ explicit time_put(size_t __refs = 0) : _BaseFacet(__refs) { -+ _Init_timeinfo(_M_timeinfo); - } - - _OutputIter put(iter_type __s, ios_base& __f, _Ch __fill, -@@ -245,19 +230,13 @@ - return do_put(__s, __f, __fill, __tmb, __format, __modifier); - } - -- __STL_STATIC_MEMBER_DECLSPEC static locale::id id; -+ _STLP_STATIC_MEMBER_DECLSPEC static locale::id id; - - protected: - _Time_Info _M_timeinfo; - -- time_put(_Locale_time* /*__time*/, size_t __refs) //*TY 03/30/2000 - removed unused parameter id --#if !(defined(__MRC__) || defined(__SC__) ) //*TY 04/29/2000 - added workaround for mpw -- : locale::facet(__refs) --#else //*TY 04/29/2000 - -- : _facet(__refs) //*TY 04/29/2000 - they forget to look into the nested class for the ctor --#endif //*TY 04/29/2000 - -- { -- // __init_timeinfo(_M_timeinfo, __time); -+ time_put(_Locale_time* /*__time*/, size_t __refs) : _BaseFacet(__refs) { -+ // _Init_timeinfo(_M_timeinfo, __time); - } - - ~time_put() {} -@@ -269,7 +248,7 @@ - template ) > - class time_put_byname : public time_put<_Ch, _InIt> - { -- friend class _Locale_impl; -+ friend class _Locale; - public: - typedef time_base::dateorder dateorder; - typedef _InIt iter_type; -@@ -278,7 +257,7 @@ - explicit time_put_byname(const char * __name, size_t __refs = 0) - : time_put<_Ch, _InIt>((_Locale_time*) 0, __refs), - _M_time(__acquire_time(__name)) -- { __init_timeinfo(this->_M_timeinfo, this->_M_time); } -+ { _Init_timeinfo(this->_M_timeinfo, this->_M_time); } - - protected: - ~time_put_byname() { __release_time(_M_time); } -@@ -287,15 +266,50 @@ - _Locale_time* _M_time; - }; - --__STL_END_NAMESPACE -+# ifdef _STLP_USE_TEMPLATE_EXPORT -+_STLP_EXPORT_TEMPLATE_CLASS time_get > >; -+_STLP_EXPORT_TEMPLATE_CLASS time_put > >; -+// _STLP_EXPORT_TEMPLATE_CLASS time_get; -+// _STLP_EXPORT_TEMPLATE_CLASS time_put; -+# ifndef _STLP_NO_WCHAR_T -+_STLP_EXPORT_TEMPLATE_CLASS time_get > >; -+_STLP_EXPORT_TEMPLATE_CLASS time_put > >; -+// _STLP_EXPORT_TEMPLATE_CLASS time_get; -+// _STLP_EXPORT_TEMPLATE_CLASS time_put; -+# endif /* INSTANTIATE_WIDE_STREAMS */ -+ -+# endif - --# if !defined (__STL_LINK_TIME_INSTANTIATION) -+# if defined (__BORLANDC__) && defined (_RTLDLL) -+inline void _Stl_loc_init_time_facets() { -+ -+ time_get > >::id._M_index = 16; -+ time_get::id._M_index = 17; -+ time_put > >::id._M_index = 18; -+ time_put::id._M_index = 19; -+ -+# ifndef _STLP_NO_WCHAR_T -+ -+ time_get > >::id._M_index = 35; -+ time_get::id._M_index = 36; -+ time_put > >::id._M_index = 37; -+ time_put::id._M_index = 38; -+ -+# endif -+ -+} -+# endif -+ -+_STLP_END_NAMESPACE -+ -+#if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) && !defined (_STLP_LINK_TIME_INSTANTIATION) - # include - # endif - --#endif /* __SGI_STL_INTERNAL_TIME_FACETS_H */ -+#endif /* _STLP_INTERNAL_TIME_FACETS_H */ - - // Local Variables: - // mode:C++ - // End: -+ - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_tree.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_tree.c ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_tree.c Sat Feb 24 10:45:14 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_tree.c Sun Aug 11 18:59:25 2002 -@@ -22,30 +22,39 @@ - * provided the above notices are retained, and a notice that the code was - * modified is included with the above copyright notice. - * -+ * Modified CRP 7/10/00 for improved conformance / efficiency on insert_unique / -+ * insert_equal with valid hint -- efficiency is improved all around, and it is -+ * should now be standard conforming for complexity on insert point immediately -+ * after hint (amortized constant time). -+ * - */ --#ifndef __STL_TREE_C --#define __STL_TREE_C -+#ifndef _STLP_TREE_C -+#define _STLP_TREE_C -+ -+#ifndef _STLP_INTERNAL_TREE_H -+# include -+#endif - - // fbp: these defines are for outline methods definitions. - // needed for definitions to be portable. Should not be used in method bodies. --# if defined ( __STL_NESTED_TYPE_PARAM_BUG ) --# define __iterator__ _Rb_tree_iterator<_Value, _Nonconst_traits<_Value> > --# define __const_iterator__ _Rb_tree_iterator<_Value, _Const_traits<_Value> > --# define __size_type__ size_t -+# if defined ( _STLP_NESTED_TYPE_PARAM_BUG ) -+# define __iterator__ _Rb_tree_iterator<_Value, _Nonconst_traits<_Value> > # define __size_type__ size_t -+# define iterator __iterator__ - # else --# define __iterator__ __STL_TYPENAME_ON_RETURN_TYPE _Rb_tree<_Key, _Value, _KeyOfValue, _Compare, _Alloc>::iterator --# define __const_iterator__ __STL_TYPENAME_ON_RETURN_TYPE _Rb_tree<_Key, _Value, _KeyOfValue, _Compare, _Alloc>::const_iterator --# define __size_type__ __STL_TYPENAME_ON_RETURN_TYPE _Rb_tree<_Key, _Value, _KeyOfValue, _Compare, _Alloc>::size_type -+# define __iterator__ _STLP_TYPENAME_ON_RETURN_TYPE _Rb_tree<_Key, _Value, _KeyOfValue, _Compare, _Alloc>::iterator -+# define __size_type__ _STLP_TYPENAME_ON_RETURN_TYPE _Rb_tree<_Key, _Value, _KeyOfValue, _Compare, _Alloc>::size_type - # endif - --#if defined ( __STL_DEBUG) -+#if defined ( _STLP_DEBUG) - # define _Rb_tree __WORKAROUND_DBG_RENAME(Rb_tree) - #endif - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE -+ -+# if defined (_STLP_EXPOSE_GLOBALS_IMPLEMENTATION) - --inline void --_Rb_tree_rotate_left(_Rb_tree_node_base* __x, _Rb_tree_node_base*& __root) -+template void _STLP_CALL -+_Rb_global<_Dummy>::_Rotate_left(_Rb_tree_node_base* __x, _Rb_tree_node_base*& __root) - { - _Rb_tree_node_base* __y = __x->_M_right; - __x->_M_right = __y->_M_left; -@@ -63,8 +72,8 @@ - __x->_M_parent = __y; - } - --inline void --_Rb_tree_rotate_right(_Rb_tree_node_base* __x, _Rb_tree_node_base*& __root) -+template void _STLP_CALL -+_Rb_global<_Dummy>::_Rotate_right(_Rb_tree_node_base* __x, _Rb_tree_node_base*& __root) - { - _Rb_tree_node_base* __y = __x->_M_left; - __x->_M_left = __y->_M_right; -@@ -82,8 +91,7 @@ - __x->_M_parent = __y; - } - --template --void -+template void _STLP_CALL - _Rb_global<_Dummy>::_Rebalance(_Rb_tree_node_base* __x, - _Rb_tree_node_base*& __root) - { -@@ -100,11 +108,11 @@ - else { - if (__x == __x->_M_parent->_M_right) { - __x = __x->_M_parent; -- _Rb_tree_rotate_left(__x, __root); -+ _Rotate_left(__x, __root); - } - __x->_M_parent->_M_color = _S_rb_tree_black; - __x->_M_parent->_M_parent->_M_color = _S_rb_tree_red; -- _Rb_tree_rotate_right(__x->_M_parent->_M_parent, __root); -+ _Rotate_right(__x->_M_parent->_M_parent, __root); - } - } - else { -@@ -118,19 +126,18 @@ - else { - if (__x == __x->_M_parent->_M_left) { - __x = __x->_M_parent; -- _Rb_tree_rotate_right(__x, __root); -+ _Rotate_right(__x, __root); - } - __x->_M_parent->_M_color = _S_rb_tree_black; - __x->_M_parent->_M_parent->_M_color = _S_rb_tree_red; -- _Rb_tree_rotate_left(__x->_M_parent->_M_parent, __root); -+ _Rotate_left(__x->_M_parent->_M_parent, __root); - } - } - } - __root->_M_color = _S_rb_tree_black; - } - --template --_Rb_tree_node_base* -+template _Rb_tree_node_base* _STLP_CALL - _Rb_global<_Dummy>::_Rebalance_for_erase(_Rb_tree_node_base* __z, - _Rb_tree_node_base*& __root, - _Rb_tree_node_base*& __leftmost, -@@ -169,7 +176,7 @@ - else - __z->_M_parent->_M_right = __y; - __y->_M_parent = __z->_M_parent; -- __STLPORT_STD::swap(__y->_M_color, __z->_M_color); -+ _STLP_STD::swap(__y->_M_color, __z->_M_color); - __y = __z; - // __y now points to node to be actually deleted - } -@@ -203,12 +210,11 @@ - if (__w->_M_color == _S_rb_tree_red) { - __w->_M_color = _S_rb_tree_black; - __x_parent->_M_color = _S_rb_tree_red; -- _Rb_tree_rotate_left(__x_parent, __root); -+ _Rotate_left(__x_parent, __root); - __w = __x_parent->_M_right; - } - if ((__w->_M_left == 0 || -- __w->_M_left->_M_color == _S_rb_tree_black) && -- (__w->_M_right == 0 || -+ __w->_M_left->_M_color == _S_rb_tree_black) && (__w->_M_right == 0 || - __w->_M_right->_M_color == _S_rb_tree_black)) { - __w->_M_color = _S_rb_tree_red; - __x = __x_parent; -@@ -218,13 +224,13 @@ - __w->_M_right->_M_color == _S_rb_tree_black) { - if (__w->_M_left) __w->_M_left->_M_color = _S_rb_tree_black; - __w->_M_color = _S_rb_tree_red; -- _Rb_tree_rotate_right(__w, __root); -+ _Rotate_right(__w, __root); - __w = __x_parent->_M_right; - } - __w->_M_color = __x_parent->_M_color; - __x_parent->_M_color = _S_rb_tree_black; - if (__w->_M_right) __w->_M_right->_M_color = _S_rb_tree_black; -- _Rb_tree_rotate_left(__x_parent, __root); -+ _Rotate_left(__x_parent, __root); - break; - } - } else { // same as above, with _M_right <-> _M_left. -@@ -232,12 +238,11 @@ - if (__w->_M_color == _S_rb_tree_red) { - __w->_M_color = _S_rb_tree_black; - __x_parent->_M_color = _S_rb_tree_red; -- _Rb_tree_rotate_right(__x_parent, __root); -+ _Rotate_right(__x_parent, __root); - __w = __x_parent->_M_left; - } - if ((__w->_M_right == 0 || -- __w->_M_right->_M_color == _S_rb_tree_black) && -- (__w->_M_left == 0 || -+ __w->_M_right->_M_color == _S_rb_tree_black) && (__w->_M_left == 0 || - __w->_M_left->_M_color == _S_rb_tree_black)) { - __w->_M_color = _S_rb_tree_red; - __x = __x_parent; -@@ -247,13 +252,13 @@ - __w->_M_left->_M_color == _S_rb_tree_black) { - if (__w->_M_right) __w->_M_right->_M_color = _S_rb_tree_black; - __w->_M_color = _S_rb_tree_red; -- _Rb_tree_rotate_left(__w, __root); -+ _Rotate_left(__w, __root); - __w = __x_parent->_M_left; - } - __w->_M_color = __x_parent->_M_color; - __x_parent->_M_color = _S_rb_tree_black; - if (__w->_M_left) __w->_M_left->_M_color = _S_rb_tree_black; -- _Rb_tree_rotate_right(__x_parent, __root); -+ _Rotate_right(__x_parent, __root); - break; - } - } -@@ -262,13 +267,10 @@ - return __y; - } - --template --void --_Rb_global<_Dummy>::_M_decrement(_Rb_tree_base_iterator* __it) --{ -- _Base_ptr _M_node = __it->_M_node; -- if (_M_node->_M_color == _S_rb_tree_red && -- _M_node->_M_parent->_M_parent == _M_node) -+template _Rb_tree_node_base* _STLP_CALL -+_Rb_global<_Dummy>::_M_decrement(_Rb_tree_node_base* _M_node) -+{ -+ if (_M_node->_M_color == _S_rb_tree_red && _M_node->_M_parent->_M_parent == _M_node) - _M_node = _M_node->_M_right; - else if (_M_node->_M_left != 0) { - _Base_ptr __y = _M_node->_M_left; -@@ -284,14 +286,12 @@ - } - _M_node = __y; - } -- __it->_M_node = _M_node; -+ return _M_node; - } - --template --void --_Rb_global<_Dummy>::_M_increment(_Rb_tree_base_iterator* __it) -+template _Rb_tree_node_base* _STLP_CALL -+_Rb_global<_Dummy>::_M_increment(_Rb_tree_node_base* _M_node) - { -- _Base_ptr _M_node = __it->_M_node; - if (_M_node->_M_right != 0) { - _M_node = _M_node->_M_right; - while (_M_node->_M_left != 0) -@@ -306,14 +306,14 @@ - if (_M_node->_M_right != __y) - _M_node = __y; - } -- __it->_M_node = _M_node; -+ return _M_node; - } - -+#endif /* defined (__BUILDING_STLPORT) || ! defined (_STLP_OWN_IOSTREAMS) */ -+ -+ - template --_Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& --_Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc> -- ::operator=(const _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& __x) -+ class _Compare, class _Alloc> _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc> ::operator=(const _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& __x) - { - if (this != &__x) { - // Note that _Key may be a constant type. -@@ -322,11 +322,11 @@ - _M_key_compare = __x._M_key_compare; - if (__x._M_root() == 0) { - _M_root() = 0; -- _M_leftmost() = _M_header._M_data; -- _M_rightmost() = _M_header._M_data; -+ _M_leftmost() = this->_M_header._M_data; -+ _M_rightmost() = this->_M_header._M_data; - } - else { -- _M_root() = _M_copy(__x._M_root(), _M_header._M_data); -+ _M_root() = _M_copy(__x._M_root(), this->_M_header._M_data); - _M_leftmost() = _S_minimum(_M_root()); - _M_rightmost() = _S_maximum(_M_root()); - _M_node_count = __x._M_node_count; -@@ -335,22 +335,31 @@ - return *this; - } - --template --__iterator__ --_Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc> -- ::_M_insert(_Rb_tree_node_base* __x_, _Rb_tree_node_base* __y_, const _Value& __v) -+// CRP 7/10/00 inserted argument __w_, which is another hint (meant to -+// act like __x_ and ignore a portion of the if conditions -- specify -+// __w_ != 0 to bypass comparison as false or __x_ != 0 to bypass -+// comparison as true) -+template __iterator__ -+_Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc> ::_M_insert(_Rb_tree_node_base* __x_, _Rb_tree_node_base* __y_, const _Value& __v, -+ _Rb_tree_node_base* __w_) - { -+ _Link_type __w = (_Link_type) __w_; - _Link_type __x = (_Link_type) __x_; - _Link_type __y = (_Link_type) __y_; - _Link_type __z; - -- if (__y == _M_header._M_data || __x != 0 || -- _M_key_compare(_KeyOfValue()(__v), _S_key(__y))) { -+ if ( __y == this->_M_header._M_data || -+ ( __w == 0 && // If w != 0, the remainder fails to false -+ ( __x != 0 || // If x != 0, the remainder succeeds to true -+ _M_key_compare( _KeyOfValue()(__v), _S_key(__y) ) ) -+ ) -+ ) { -+ - __z = _M_create_node(__v); - _S_left(__y) = __z; // also makes _M_leftmost() = __z - // when __y == _M_header -- if (__y == _M_header._M_data) { -+ if (__y == this->_M_header._M_data) { - _M_root() = __z; - _M_rightmost() = __z; - } -@@ -366,18 +375,16 @@ - _S_parent(__z) = __y; - _S_left(__z) = 0; - _S_right(__z) = 0; -- _Rb_global_inst::_Rebalance(__z, _M_header._M_data->_M_parent); -+ _Rb_global_inst::_Rebalance(__z, this->_M_header._M_data->_M_parent); - ++_M_node_count; - return iterator(__z); - } - - template --__iterator__ --_Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc> -- ::insert_equal(const _Value& __v) -+ class _Compare, class _Alloc> __iterator__ -+_Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc> ::insert_equal(const _Value& __v) - { -- _Link_type __y = _M_header._M_data; -+ _Link_type __y = this->_M_header._M_data; - _Link_type __x = _M_root(); - while (__x != 0) { - __y = __x; -@@ -389,12 +396,9 @@ - - - template --pair< _Rb_tree_iterator<_Value, _Nonconst_traits<_Value> >, bool> --_Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc> -- ::insert_unique(const _Value& __v) -+ class _Compare, class _Alloc> pair< _Rb_tree_iterator<_Value, _Nonconst_traits<_Value> >, bool> _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc> ::insert_unique(const _Value& __v) - { -- _Link_type __y = _M_header._M_data; -+ _Link_type __y = this->_M_header._M_data; - _Link_type __x = _M_root(); - bool __comp = true; - while (__x != 0) { -@@ -413,95 +417,197 @@ - return pair(__j, false); - } - -- -+// Modifications CRP 7/10/00 as noted to improve conformance and -+// efficiency. - template --__iterator__ --_Rb_tree<_Key, _Value, _KeyOfValue, _Compare, _Alloc> -- ::insert_unique(__iterator__ __position, const _Value& __v) --{ -- if (__position._M_node == _M_header._M_data->_M_left) { // begin() -- if (size() > 0 && -- _M_key_compare(_KeyOfValue()(__v), _S_key(__position._M_node))) -+ class _Compare, class _Alloc> __iterator__ -+_Rb_tree<_Key, _Value, _KeyOfValue, _Compare, _Alloc> ::insert_unique(iterator __position, const _Value& __v) -+{ -+ if (__position._M_node == this->_M_header._M_data->_M_left) { // begin() -+ -+ // if the container is empty, fall back on insert_unique. -+ if (size() <= 0) -+ return insert_unique(__v).first; -+ -+ if ( _M_key_compare(_KeyOfValue()(__v), _S_key(__position._M_node))) - return _M_insert(__position._M_node, __position._M_node, __v); - // first argument just needs to be non-null - else -- return insert_unique(__v).first; -- } else if (__position._M_node == _M_header._M_data) { // end() -+ { -+ bool __comp_pos_v = _M_key_compare( _S_key(__position._M_node), _KeyOfValue()(__v) ); -+ -+ if (__comp_pos_v == false) // compare > and compare < both false so compare equal -+ return __position; -+ //Below __comp_pos_v == true -+ -+ // Standard-conformance - does the insertion point fall immediately AFTER -+ // the hint? -+ iterator __after = __position; -+ ++__after; -+ -+ // Check for only one member -- in that case, __position points to itself, -+ // and attempting to increment will cause an infinite loop. -+ if (__after._M_node == this->_M_header._M_data) -+ // Check guarantees exactly one member, so comparison was already -+ // performed and we know the result; skip repeating it in _M_insert -+ // by specifying a non-zero fourth argument. -+ return _M_insert(0, __position._M_node, __v, __position._M_node); -+ -+ -+ // All other cases: -+ -+ // Optimization to catch insert-equivalent -- save comparison results, -+ // and we get this for free. -+ if(_M_key_compare( _KeyOfValue()(__v), _S_key(__after._M_node) )) { -+ if (_S_right(__position._M_node) == 0) -+ return _M_insert(0, __position._M_node, __v, __position._M_node); -+ else -+ return _M_insert(__after._M_node, __after._M_node, __v); -+ } else { -+ return insert_unique(__v).first; -+ } -+ } -+ -+ } else if (__position._M_node == this->_M_header._M_data) { // end() - if (_M_key_compare(_S_key(_M_rightmost()), _KeyOfValue()(__v))) -- return _M_insert(0, _M_rightmost(), __v); -+ // pass along to _M_insert that it can skip comparing -+ // v, Key ; since compare Key, v was true, compare v, Key must be false. -+ return _M_insert(0, _M_rightmost(), __v, __position._M_node); // Last argument only needs to be non-null - else - return insert_unique(__v).first; - } else { - iterator __before = __position; - --__before; -- if (_M_key_compare(_S_key(__before._M_node), _KeyOfValue()(__v)) -- && _M_key_compare(_KeyOfValue()(__v), _S_key(__position._M_node))) { -+ -+ bool __comp_v_pos = _M_key_compare(_KeyOfValue()(__v), _S_key(__position._M_node)); -+ -+ if (__comp_v_pos -+ && _M_key_compare( _S_key(__before._M_node), _KeyOfValue()(__v) )) { -+ - if (_S_right(__before._M_node) == 0) -- return _M_insert(0, __before._M_node, __v); -+ return _M_insert(0, __before._M_node, __v, __before._M_node); // Last argument only needs to be non-null - else - return _M_insert(__position._M_node, __position._M_node, __v); - // first argument just needs to be non-null - } else -- return insert_unique(__v).first; -+ { -+ // Does the insertion point fall immediately AFTER the hint? -+ iterator __after = __position; -+ ++__after; -+ -+ // Optimization to catch equivalent cases and avoid unnecessary comparisons -+ bool __comp_pos_v = !__comp_v_pos; // Stored this result earlier -+ // If the earlier comparison was true, this comparison doesn't need to be -+ // performed because it must be false. However, if the earlier comparison -+ // was false, we need to perform this one because in the equal case, both will -+ // be false. -+ if (!__comp_v_pos) __comp_pos_v = _M_key_compare(_S_key(__position._M_node), _KeyOfValue()(__v)); -+ -+ if ( (!__comp_v_pos) // comp_v_pos true implies comp_v_pos false -+ && __comp_pos_v -+ && (__after._M_node == this->_M_header._M_data || -+ _M_key_compare( _KeyOfValue()(__v), _S_key(__after._M_node) ))) { -+ -+ if (_S_right(__position._M_node) == 0) -+ return _M_insert(0, __position._M_node, __v, __position._M_node); -+ else -+ return _M_insert(__after._M_node, __after._M_node, __v); -+ } else { -+ // Test for equivalent case -+ if (__comp_v_pos == __comp_pos_v) -+ return __position; -+ else -+ return insert_unique(__v).first; -+ } -+ } - } - } - -+ - template --__iterator__ --_Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc> -- ::insert_equal(__iterator__ __position, const _Value& __v) --{ -- if (__position._M_node == _M_header._M_data->_M_left) { // begin() -- if (size() > 0 && -- !_M_key_compare(_S_key(__position._M_node), _KeyOfValue()(__v))) -+ class _Compare, class _Alloc> __iterator__ -+_Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc> ::insert_equal(iterator __position, const _Value& __v) -+{ -+ if (__position._M_node == this->_M_header._M_data->_M_left) { // begin() -+ -+ // Check for zero members -+ if (size() <= 0) -+ return insert_equal(__v); -+ -+ if (!_M_key_compare(_S_key(__position._M_node), _KeyOfValue()(__v))) - return _M_insert(__position._M_node, __position._M_node, __v); -- // first argument just needs to be non-null -- else -- return insert_equal(__v); -- } else if (__position._M_node == _M_header._M_data) {// end() -+ else { -+ // Check for only one member -+ if (__position._M_node->_M_left == __position._M_node) -+ // Unlike insert_unique, can't avoid doing a comparison here. -+ return _M_insert(0, __position._M_node, __v); -+ -+ // All other cases: -+ // Standard-conformance - does the insertion point fall immediately AFTER -+ // the hint? -+ iterator __after = __position; -+ ++__after; -+ -+ // Already know that compare(pos, v) must be true! -+ // Therefore, we want to know if compare(after, v) is false. -+ // (i.e., we now pos < v, now we want to know if v <= after) -+ // If not, invalid hint. -+ if ( __after._M_node==this->_M_header._M_data || -+ !_M_key_compare( _S_key(__after._M_node), _KeyOfValue()(__v) ) ) { -+ if (_S_right(__position._M_node) == 0) -+ return _M_insert(0, __position._M_node, __v, __position._M_node); -+ else -+ return _M_insert(__after._M_node, __after._M_node, __v); -+ } else // Invalid hint -+ return insert_equal(__v); -+ } -+ } else if (__position._M_node == this->_M_header._M_data) {// end() - if (!_M_key_compare(_KeyOfValue()(__v), _S_key(_M_rightmost()))) -- return _M_insert(0, _M_rightmost(), __v); -+ return _M_insert(0, _M_rightmost(), __v, __position._M_node); // Last argument only needs to be non-null - else - return insert_equal(__v); - } else { - iterator __before = __position; - --__before; -- if (!_M_key_compare(_KeyOfValue()(__v), _S_key(__before._M_node)) -- && !_M_key_compare(_S_key(__position._M_node), _KeyOfValue()(__v))) { -+ // store the result of the comparison between pos and v so -+ // that we don't have to do it again later. Note that this reverses the shortcut -+ // on the if, possibly harming efficiency in comparisons; I think the harm will -+ // be negligible, and to do what I want to do (save the result of a comparison so -+ // that it can be re-used) there is no alternative. Test here is for before <= v <= pos. -+ bool __comp_pos_v = _M_key_compare(_S_key(__position._M_node), _KeyOfValue()(__v)); -+ if (!__comp_pos_v -+ && !_M_key_compare(_KeyOfValue()(__v), _S_key(__before._M_node))) { - if (_S_right(__before._M_node) == 0) -- return _M_insert(0, __before._M_node, __v); -+ return _M_insert(0, __before._M_node, __v, __before._M_node); // Last argument only needs to be non-null - else - return _M_insert(__position._M_node, __position._M_node, __v); -- // first argument just needs to be non-null -- } else -- return insert_equal(__v); -+ } else { -+ // Does the insertion point fall immediately AFTER the hint? -+ // Test for pos < v <= after -+ iterator __after = __position; -+ ++__after; -+ -+ if (__comp_pos_v -+ && ( __after._M_node==this->_M_header._M_data -+ || !_M_key_compare( _S_key(__after._M_node), _KeyOfValue()(__v) ) ) ) { -+ if (_S_right(__position._M_node) == 0) -+ return _M_insert(0, __position._M_node, __v, __position._M_node); -+ else -+ return _M_insert(__after._M_node, __after._M_node, __v); -+ } else // Invalid hint -+ return insert_equal(__v); -+ } - } - } - --template --__size_type__ --_Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>::erase(const _Key& __x) --{ -- pair __p = equal_range(__x); -- size_type __n = 0; -- distance(__p.first, __p.second, __n); -- erase(__p.first, __p.second); -- return __n; --} -- --template --_Rb_tree_node<_Value>* --_Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc> -- ::_M_copy(_Rb_tree_node<_Value>* __x, _Rb_tree_node<_Value>* __p) -+template _Rb_tree_node<_Value>* -+_Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc> ::_M_copy(_Rb_tree_node<_Value>* __x, _Rb_tree_node<_Value>* __p) - { - // structural copy. __x and __p must be non-null. - _Link_type __top = _M_clone_node(__x); - __top->_M_parent = __p; -- -- __STL_TRY { -+ -+ _STLP_TRY { - if (__x->_M_right) - __top->_M_right = _M_copy(_S_right(__x), __top); - __p = __top; -@@ -517,14 +623,14 @@ - __x = _S_left(__x); - } - } -- __STL_UNWIND(_M_erase(__top)); -+ _STLP_UNWIND(_M_erase(__top)); - - return __top; - } - -+// this has to stay out-of-line : it's recursive - template --void -+ class _Compare, class _Alloc> void - _Rb_tree<_Key,_Value,_KeyOfValue, - _Compare,_Alloc>::_M_erase(_Rb_tree_node<_Value>* __x) - { -@@ -532,152 +638,21 @@ - while (__x != 0) { - _M_erase(_S_right(__x)); - _Link_type __y = _S_left(__x); -- destroy_node(__x); -+ _Destroy(&__x->_M_value_field); -+ this->_M_header.deallocate(__x,1); - __x = __y; - } - } - - template --void _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc> -- ::erase(__iterator__ __first, __iterator__ __last) --{ -- if (__first == begin() && __last == end()) -- clear(); -- else -- while (__first != __last) erase(__first++); --} -- --template --void _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc> -- ::erase(const _Key* __first, const _Key* __last) --{ -- while (__first != __last) erase(*__first++); --} -- --template --__iterator__ --_Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>::find(const _Key& __k) --{ -- _Link_type __y = _M_header._M_data; // Last node which is not less than __k. -- _Link_type __x = _M_root(); // Current node. -- -- while (__x != 0) -- if (!_M_key_compare(_S_key(__x), __k)) -- __y = __x, __x = _S_left(__x); -- else -- __x = _S_right(__x); -- -- iterator __j = iterator(__y); -- return (__j == end() || _M_key_compare(__k, _S_key(__j._M_node))) ? -- end() : __j; --} -- --template --__const_iterator__ --_Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>::find(const _Key& __k) const --{ -- _Link_type __y = _M_header._M_data; /* Last node which is not less than __k. */ -- _Link_type __x = _M_root(); /* Current node. */ -- -- while (__x != 0) { -- if (!_M_key_compare(_S_key(__x), __k)) -- __y = __x, __x = _S_left(__x); -- else -- __x = _S_right(__x); -- } -- const_iterator __j = const_iterator(__y); -- return (__j == end() || _M_key_compare(__k, _S_key(__j._M_node))) ? -- end() : __j; --} -- --template --__size_type__ --_Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc> -- ::count(const _Key& __k) const -+ class _Compare, class _Alloc> __size_type__ -+_Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc> ::count(const _Key& __k) const - { - pair __p = equal_range(__k); -- size_type __n = 0; -- distance(__p.first, __p.second, __n); -+ size_type __n = distance(__p.first, __p.second); - return __n; - } - --template --__iterator__ --_Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc> -- ::lower_bound(const _Key& __k) --{ -- _Link_type __y = _M_header._M_data; /* Last node which is not less than __k. */ -- _Link_type __x = _M_root(); /* Current node. */ -- -- while (__x != 0) -- if (!_M_key_compare(_S_key(__x), __k)) -- __y = __x, __x = _S_left(__x); -- else -- __x = _S_right(__x); -- -- return iterator(__y); --} -- --template --__const_iterator__ --_Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc> -- ::lower_bound(const _Key& __k) const --{ -- _Link_type __y = _M_header._M_data; /* Last node which is not less than __k. */ -- _Link_type __x = _M_root(); /* Current node. */ -- -- while (__x != 0) -- if (!_M_key_compare(_S_key(__x), __k)) -- __y = __x, __x = _S_left(__x); -- else -- __x = _S_right(__x); -- -- return const_iterator(__y); --} -- --template --__iterator__ --_Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc> -- ::upper_bound(const _Key& __k) --{ -- _Link_type __y = _M_header._M_data; /* Last node which is greater than __k. */ -- _Link_type __x = _M_root(); /* Current node. */ -- -- while (__x != 0) -- if (_M_key_compare(__k, _S_key(__x))) -- __y = __x, __x = _S_left(__x); -- else -- __x = _S_right(__x); -- -- return iterator(__y); --} -- --template --__const_iterator__ --_Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc> -- ::upper_bound(const _Key& __k) const --{ -- _Link_type __y = _M_header._M_data; /* Last node which is greater than __k. */ -- _Link_type __x = _M_root(); /* Current node. */ -- -- while (__x != 0) -- if (_M_key_compare(__k, _S_key(__x))) -- __y = __x, __x = _S_left(__x); -- else -- __x = _S_right(__x); -- -- return const_iterator(__y); --} -- - inline int - __black_count(_Rb_tree_node_base* __node, _Rb_tree_node_base* __root) - { -@@ -693,12 +668,11 @@ - } - - template --bool _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>::__rb_verify() const -+ class _Compare, class _Alloc> bool _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>::__rb_verify() const - { - if (_M_node_count == 0 || begin() == end()) -- return _M_node_count == 0 && begin() == end() && -- _M_header._M_data->_M_left == _M_header._M_data && _M_header._M_data->_M_right == _M_header._M_data; -+ return _M_node_count == 0 && begin() == end() && this->_M_header._M_data->_M_left == this->_M_header._M_data -+ && this->_M_header._M_data->_M_right == this->_M_header._M_data; - - int __len = __black_count(_M_leftmost(), _M_root()); - for (const_iterator __it = begin(); __it != end(); ++__it) { -@@ -727,13 +701,13 @@ - - return true; - } --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - - # undef __iterator__ --# undef __const_iterator__ -+# undef iterator - # undef __size_type__ - --#endif /* __STL_TREE_C */ -+#endif /* _STLP_TREE_C */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_tree.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_tree.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_tree.h Sat Feb 24 10:45:14 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_tree.h Sun Aug 11 18:59:25 2002 -@@ -27,8 +27,8 @@ - * You should not attempt to use it directly. - */ - --#ifndef __SGI_STL_INTERNAL_TREE_H --#define __SGI_STL_INTERNAL_TREE_H -+#ifndef _STLP_INTERNAL_TREE_H -+#define _STLP_INTERNAL_TREE_H - - /* - -@@ -50,40 +50,31 @@ - - */ - --# ifndef __SGI_STL_INTERNAL_ALGOBASE_H --# include -+# ifndef _STLP_INTERNAL_ALGOBASE_H -+# include - # endif - --# ifndef __SGI_STL_INTERNAL_ALLOC_H --# include -+# ifndef _STLP_INTERNAL_ALLOC_H -+# include - # endif - --# ifndef __SGI_STL_INTERNAL_ITERATOR_H --# include -+# ifndef _STLP_INTERNAL_ITERATOR_H -+# include - # endif - --# ifndef __SGI_STL_INTERNAL_CONSTRUCT_H --# include -+# ifndef _STLP_INTERNAL_CONSTRUCT_H -+# include - # endif - --# ifndef __SGI_STL_INTERNAL_FUNCTION_H --# include -+# ifndef _STLP_INTERNAL_FUNCTION_H -+# include - # endif - --# if defined ( __STL_USE_ABBREVS ) --// ugliness is intentional - to reduce conflicts possibility --# define _Rb_tree_node_base _rbT__NB --# define _Rb_tree_node _rbT__N --# define _Rb_base_iterator _rbTB__It --# define _Rb_tree_base_iterator _rbT__It --# define _Rb_tree_base _rbT__B --# endif -- --#if defined ( __STL_DEBUG) -+#if defined ( _STLP_DEBUG) - # define _Rb_tree __WORKAROUND_DBG_RENAME(Rb_tree) - #endif - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - typedef bool _Rb_tree_Color_type; - //const _Rb_tree_Color_type _S_rb_tree_red = false; -@@ -102,21 +93,20 @@ - _Base_ptr _M_left; - _Base_ptr _M_right; - -- static _Base_ptr __STL_CALL _S_minimum(_Base_ptr __x) -+ static _Base_ptr _STLP_CALL _S_minimum(_Base_ptr __x) - { - while (__x->_M_left != 0) __x = __x->_M_left; - return __x; - } - -- static _Base_ptr __STL_CALL _S_maximum(_Base_ptr __x) -+ static _Base_ptr _STLP_CALL _S_maximum(_Base_ptr __x) - { - while (__x->_M_right != 0) __x = __x->_M_right; - return __x; - } - }; - --template --struct _Rb_tree_node : public _Rb_tree_node_base -+template struct _Rb_tree_node : public _Rb_tree_node_base - { - _Value _M_value_field; - __TRIVIAL_STUFF(_Rb_tree_node) -@@ -124,28 +114,34 @@ - - struct _Rb_tree_base_iterator; - --template --struct _Rb_global { -+template class _Rb_global { -+public: - typedef _Rb_tree_node_base* _Base_ptr; - // those used to be global functions -- static void __STL_CALL _Rebalance(_Rb_tree_node_base* __x, _Rb_tree_node_base*& __root); -- static _Rb_tree_node_base* __STL_CALL _Rebalance_for_erase(_Rb_tree_node_base* __z, -+ static void _STLP_CALL _Rebalance(_Rb_tree_node_base* __x, _Rb_tree_node_base*& __root); -+ static _Rb_tree_node_base* _STLP_CALL _Rebalance_for_erase(_Rb_tree_node_base* __z, - _Rb_tree_node_base*& __root, - _Rb_tree_node_base*& __leftmost, - _Rb_tree_node_base*& __rightmost); - // those are from _Rb_tree_base_iterator - moved here to reduce code bloat - // moved here to reduce code bloat without templatizing _Rb_tree_base_iterator -- static void __STL_CALL _M_increment(_Rb_tree_base_iterator*); -- static void __STL_CALL _M_decrement(_Rb_tree_base_iterator*); -+ static _Rb_tree_node_base* _STLP_CALL _M_increment(_Rb_tree_node_base*); -+ static _Rb_tree_node_base* _STLP_CALL _M_decrement(_Rb_tree_node_base*); -+ static void _STLP_CALL _Rotate_left(_Rb_tree_node_base* __x, _Rb_tree_node_base*& __root); -+ static void _STLP_CALL _Rotate_right(_Rb_tree_node_base* __x, _Rb_tree_node_base*& __root); - }; - -+# if defined (_STLP_USE_TEMPLATE_EXPORT) -+_STLP_EXPORT_TEMPLATE_CLASS _Rb_global; -+# endif -+ - typedef _Rb_global _Rb_global_inst; - - struct _Rb_tree_base_iterator - { -- typedef _Rb_tree_node_base::_Base_ptr _Base_ptr; -+ typedef _Rb_tree_node_base* _Base_ptr; - typedef bidirectional_iterator_tag iterator_category; -- typedef ptrdiff_t difference_type; -+ typedef ptrdiff_t difference_type; - _Base_ptr _M_node; - bool operator==(const _Rb_tree_base_iterator& __y) const { - return _M_node == __y._M_node; -@@ -156,15 +152,11 @@ - }; - - --template --struct _Rb_tree_iterator : public _Rb_tree_base_iterator -+template struct _Rb_tree_iterator : public _Rb_tree_base_iterator - { - typedef _Value value_type; - typedef typename _Traits::reference reference; - typedef typename _Traits::pointer pointer; -- -- // typedef _Rb_tree_iterator<_Value, _Nonconst_traits<_Value> > iterator; -- // typedef _Rb_tree_iterator<_Value, _Const_traits<_Value> > const_iterator; - typedef _Rb_tree_iterator<_Value, _Traits> _Self; - typedef _Rb_tree_node<_Value>* _Link_type; - -@@ -177,60 +169,55 @@ - return _Link_type(_M_node)->_M_value_field; - } - -- __STL_DEFINE_ARROW_OPERATOR -+ _STLP_DEFINE_ARROW_OPERATOR - -- _Self& operator++() { _Rb_global_inst::_M_increment(this); return *this; } -+ _Self& operator++() { _M_node = _Rb_global_inst::_M_increment(_M_node); return *this; } - _Self operator++(int) { - _Self __tmp = *this; -- _Rb_global_inst::_M_increment(this); -+ _M_node = _Rb_global_inst::_M_increment(_M_node); - return __tmp; - } - -- _Self& operator--() { _Rb_global_inst::_M_decrement(this); return *this; } -+ _Self& operator--() { _M_node = _Rb_global_inst::_M_decrement(_M_node); return *this; } - _Self operator--(int) { - _Self __tmp = *this; -- _Rb_global_inst::_M_decrement(this); -+ _M_node = _Rb_global_inst::_M_decrement(_M_node); - return __tmp; - } - }; - --# ifdef __STL_USE_OLD_HP_ITERATOR_QUERIES --template --inline _Value* --__VALUE_TYPE(const _Rb_tree_iterator<_Value, _Traits>&) { return (_Value*)0; } --inline bidirectional_iterator_tag --__ITERATOR_CATEGORY(const _Rb_tree_base_iterator&) { return bidirectional_iterator_tag(); } --inline ptrdiff_t* --__DISTANCE_TYPE(const _Rb_tree_base_iterator&) { return (ptrdiff_t*) 0; } --#endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */ -+# ifdef _STLP_USE_OLD_HP_ITERATOR_QUERIES -+template inline _Value* value_type(const _Rb_tree_iterator<_Value, _Traits>&) { return (_Value*)0; } -+inline bidirectional_iterator_tag iterator_category(const _Rb_tree_base_iterator&) { return bidirectional_iterator_tag(); } -+inline ptrdiff_t* distance_type(const _Rb_tree_base_iterator&) { return (ptrdiff_t*) 0; } -+#endif /* _STLP_CLASS_PARTIAL_SPECIALIZATION */ - - // Base class to help EH - --template --struct _Rb_tree_base -+template struct _Rb_tree_base - { - typedef _Rb_tree_node<_Tp> _Node; -+ _STLP_FORCE_ALLOCATORS(_Tp, _Alloc) - typedef typename _Alloc_traits<_Tp, _Alloc>::allocator_type allocator_type; - - _Rb_tree_base(const allocator_type& __a) : -- _M_header(__STL_CONVERT_ALLOCATOR(__a, _Node), (_Node*)0) { -+ _M_header(_STLP_CONVERT_ALLOCATOR(__a, _Node), (_Node*)0) { - _M_header._M_data = _M_header.allocate(1); - } - ~_Rb_tree_base() { - _M_header.deallocate(_M_header._M_data,1); - } - allocator_type get_allocator() const { -- return __STL_CONVERT_ALLOCATOR(_M_header, _Tp); -+ return _STLP_CONVERT_ALLOCATOR(_M_header, _Tp); - } - protected: - typedef typename _Alloc_traits<_Node, _Alloc>::allocator_type _M_node_allocator_type; -- _STL_alloc_proxy<_Node*, _Node, _M_node_allocator_type> _M_header; -+ _STLP_alloc_proxy<_Node*, _Node, _M_node_allocator_type> _M_header; - }; - - - template --class _Rb_tree : public _Rb_tree_base<_Value, _Alloc> { -+ _STLP_DEFAULT_ALLOCATOR_SELECT(_Value) > class _Rb_tree : public _Rb_tree_base<_Value, _Alloc> { - typedef _Rb_tree_base<_Value, _Alloc> _Base; - protected: - typedef _Rb_tree_node_base* _Base_ptr; -@@ -247,23 +234,17 @@ - typedef size_t size_type; - typedef ptrdiff_t difference_type; - typedef bidirectional_iterator_tag _Iterator_category; -- - typedef typename _Base::allocator_type allocator_type; - - protected: --#if defined( __STL_HAS_NAMESPACES ) -- __STL_USING_BASE_MEMBER _Rb_tree_base<_Value, _Alloc>::_M_header; --#endif /* __STL_USE_NAMESPACES */ -- --protected: - - _Link_type _M_create_node(const value_type& __x) - { -- _Link_type __tmp = _M_header.allocate(1); -- __STL_TRY { -+ _Link_type __tmp = this->_M_header.allocate(1); -+ _STLP_TRY { - _Construct(&__tmp->_M_value_field, __x); - } -- __STL_UNWIND(_M_header.deallocate(__tmp,1)); -+ _STLP_UNWIND(this->_M_header.deallocate(__tmp,1)); - return __tmp; - } - -@@ -276,63 +257,56 @@ - return __tmp; - } - -- void destroy_node(_Link_type __p) -- { -- _Destroy(&__p->_M_value_field); -- _M_header.deallocate(__p,1); -- } -- - protected: - size_type _M_node_count; // keeps track of size of tree - _Compare _M_key_compare; - - _Link_type& _M_root() const -- { return (_Link_type&) _M_header._M_data->_M_parent; } -+ { return (_Link_type&) this->_M_header._M_data->_M_parent; } - _Link_type& _M_leftmost() const -- { return (_Link_type&) _M_header._M_data->_M_left; } -+ { return (_Link_type&) this->_M_header._M_data->_M_left; } - _Link_type& _M_rightmost() const -- { return (_Link_type&) _M_header._M_data->_M_right; } -+ { return (_Link_type&) this->_M_header._M_data->_M_right; } - -- static _Link_type& __STL_CALL _S_left(_Link_type __x) -+ static _Link_type& _STLP_CALL _S_left(_Link_type __x) - { return (_Link_type&)(__x->_M_left); } -- static _Link_type& __STL_CALL _S_right(_Link_type __x) -+ static _Link_type& _STLP_CALL _S_right(_Link_type __x) - { return (_Link_type&)(__x->_M_right); } -- static _Link_type& __STL_CALL _S_parent(_Link_type __x) -+ static _Link_type& _STLP_CALL _S_parent(_Link_type __x) - { return (_Link_type&)(__x->_M_parent); } -- static reference __STL_CALL _S_value(_Link_type __x) -+ static reference _STLP_CALL _S_value(_Link_type __x) - { return __x->_M_value_field; } -- static const _Key& __STL_CALL _S_key(_Link_type __x) -+ static const _Key& _STLP_CALL _S_key(_Link_type __x) - { return _KeyOfValue()(_S_value(__x)); } -- static _Color_type& __STL_CALL _S_color(_Link_type __x) -+ static _Color_type& _STLP_CALL _S_color(_Link_type __x) - { return (_Color_type&)(__x->_M_color); } - -- static _Link_type& __STL_CALL _S_left(_Base_ptr __x) -+ static _Link_type& _STLP_CALL _S_left(_Base_ptr __x) - { return (_Link_type&)(__x->_M_left); } -- static _Link_type& __STL_CALL _S_right(_Base_ptr __x) -+ static _Link_type& _STLP_CALL _S_right(_Base_ptr __x) - { return (_Link_type&)(__x->_M_right); } -- static _Link_type& __STL_CALL _S_parent(_Base_ptr __x) -+ static _Link_type& _STLP_CALL _S_parent(_Base_ptr __x) - { return (_Link_type&)(__x->_M_parent); } -- static reference __STL_CALL _S_value(_Base_ptr __x) -+ static reference _STLP_CALL _S_value(_Base_ptr __x) - { return ((_Link_type)__x)->_M_value_field; } -- static const _Key& __STL_CALL _S_key(_Base_ptr __x) -+ static const _Key& _STLP_CALL _S_key(_Base_ptr __x) - { return _KeyOfValue()(_S_value(_Link_type(__x)));} -- static _Color_type& __STL_CALL _S_color(_Base_ptr __x) -+ static _Color_type& _STLP_CALL _S_color(_Base_ptr __x) - { return (_Color_type&)(_Link_type(__x)->_M_color); } - -- static _Link_type __STL_CALL _S_minimum(_Link_type __x) -+ static _Link_type _STLP_CALL _S_minimum(_Link_type __x) - { return (_Link_type) _Rb_tree_node_base::_S_minimum(__x); } - -- static _Link_type __STL_CALL _S_maximum(_Link_type __x) -+ static _Link_type _STLP_CALL _S_maximum(_Link_type __x) - { return (_Link_type) _Rb_tree_node_base::_S_maximum(__x); } - - public: - typedef _Rb_tree_iterator > iterator; - typedef _Rb_tree_iterator > const_iterator; -- -- __STL_DECLARE_BIDIRECTIONAL_REVERSE_ITERATORS; -+ _STLP_DECLARE_BIDIRECTIONAL_REVERSE_ITERATORS; - - private: -- iterator _M_insert(_Base_ptr __x, _Base_ptr __y, const value_type& __v); -+ iterator _M_insert(_Base_ptr __x, _Base_ptr __y, const value_type& __v, _Base_ptr __w = 0); - _Link_type _M_copy(_Link_type __x, _Link_type __p); - void _M_erase(_Link_type __x); - -@@ -357,24 +331,23 @@ - if (__x._M_root() == 0) - _M_empty_initialize(); - else { -- _S_color(_M_header._M_data) = _S_rb_tree_red; -- _M_root() = _M_copy(__x._M_root(), _M_header._M_data); -+ _S_color(this->_M_header._M_data) = _S_rb_tree_red; -+ _M_root() = _M_copy(__x._M_root(), this->_M_header._M_data); - _M_leftmost() = _S_minimum(_M_root()); - _M_rightmost() = _S_maximum(_M_root()); - } - _M_node_count = __x._M_node_count; - } - ~_Rb_tree() { clear(); } -- _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& -- operator=(const _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& __x); -+ _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& operator=(const _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& __x); - - private: - void _M_empty_initialize() { -- _S_color(_M_header._M_data) = _S_rb_tree_red; // used to distinguish header from -+ _S_color(this->_M_header._M_data) = _S_rb_tree_red; // used to distinguish header from - // __root, in iterator.operator++ - _M_root() = 0; -- _M_leftmost() = _M_header._M_data; -- _M_rightmost() = _M_header._M_data; -+ _M_leftmost() = this->_M_header._M_data; -+ _M_rightmost() = this->_M_header._M_data; - } - - public: -@@ -383,8 +356,8 @@ - - iterator begin() { return iterator(_M_leftmost()); } - const_iterator begin() const { return const_iterator(_M_leftmost()); } -- iterator end() { return iterator(_M_header._M_data); } -- const_iterator end() const { return const_iterator(_M_header._M_data); } -+ iterator end() { return iterator(this->_M_header._M_data); } -+ const_iterator end() const { return const_iterator(this->_M_header._M_data); } - - reverse_iterator rbegin() { return reverse_iterator(end()); } - const_reverse_iterator rbegin() const { -@@ -399,9 +372,9 @@ - size_type max_size() const { return size_type(-1); } - - void swap(_Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& __t) { -- __STLPORT_STD::swap(_M_header._M_data, __t._M_header._M_data); -- __STLPORT_STD::swap(_M_node_count, __t._M_node_count); -- __STLPORT_STD::swap(_M_key_compare, __t._M_key_compare); -+ _STLP_STD::swap(this->_M_header, __t._M_header); -+ _STLP_STD::swap(_M_node_count, __t._M_node_count); -+ _STLP_STD::swap(_M_key_compare, __t._M_key_compare); - } - - public: -@@ -412,18 +385,16 @@ - iterator insert_unique(iterator __position, const value_type& __x); - iterator insert_equal(iterator __position, const value_type& __x); - --#ifdef __STL_MEMBER_TEMPLATES -- template -- void insert_equal(_II __first, _II __last) { -+#ifdef _STLP_MEMBER_TEMPLATES -+ template void insert_equal(_II __first, _II __last) { - for ( ; __first != __last; ++__first) - insert_equal(*__first); - } -- template -- void insert_unique(_II __first, _II __last) { -+ template void insert_unique(_II __first, _II __last) { - for ( ; __first != __last; ++__first) - insert_unique(*__first); - } --#else /* __STL_MEMBER_TEMPLATES */ -+#else /* _STLP_MEMBER_TEMPLATES */ - void insert_unique(const_iterator __first, const_iterator __last) { - for ( ; __first != __last; ++__first) - insert_unique(*__first); -@@ -440,40 +411,106 @@ - for ( ; __first != __last; ++__first) - insert_equal(*__first); - } --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - void erase(iterator __position) { - _Link_type __y = - (_Link_type) _Rb_global_inst::_Rebalance_for_erase(__position._M_node, -- _M_header._M_data->_M_parent, -- _M_header._M_data->_M_left, -- _M_header._M_data->_M_right); -- destroy_node(__y); -+ this->_M_header._M_data->_M_parent, -+ this->_M_header._M_data->_M_left, -+ this->_M_header._M_data->_M_right); -+ _Destroy(&__y->_M_value_field); -+ this->_M_header.deallocate(__y,1); - --_M_node_count; - } -- size_type erase(const key_type& __x); -- void erase(iterator __first, iterator __last); -- void erase(const key_type* __first, const key_type* __last); -+ -+ size_type erase(const key_type& __x) { -+ pair __p = equal_range(__x); -+ size_type __n = distance(__p.first, __p.second); -+ erase(__p.first, __p.second); -+ return __n; -+ } -+ -+ void erase(iterator __first, iterator __last) { -+ if (__first == begin() && __last == end()) -+ clear(); -+ else -+ while (__first != __last) erase(__first++); -+ } -+ -+ void erase(const key_type* __first, const key_type* __last) { -+ while (__first != __last) erase(*__first++); -+ } - - void clear() { - if (_M_node_count != 0) { - _M_erase(_M_root()); -- _M_leftmost() = _M_header._M_data; -+ _M_leftmost() = this->_M_header._M_data; - _M_root() = 0; -- _M_rightmost() = _M_header._M_data; -+ _M_rightmost() = this->_M_header._M_data; - _M_node_count = 0; - } - } - - public: - // set operations: -- iterator find(const key_type& __x); -- const_iterator find(const key_type& __x) const; -+# if defined(_STLP_MEMBER_TEMPLATES) && ! defined ( _STLP_NO_EXTENSIONS ) && !defined(__MRC__) && !defined(__SC__) -+ template iterator find(const _KT& __x) { return iterator(_M_find(__x)); } -+ template const_iterator find(const _KT& __x) const { return const_iterator(_M_find(__x)); } -+private: -+ template _Rb_tree_node<_Value>* _M_find(const _KT& __k) const -+# else -+ iterator find(const key_type& __x) { return iterator(_M_find(__x)); } -+ const_iterator find(const key_type& __x) const { return const_iterator(_M_find(__x)); } -+private: -+ _Rb_tree_node<_Value>* _M_find(const key_type& __k) const -+# endif -+ { -+ _Link_type __y = this->_M_header._M_data; // Last node which is not less than __k. -+ _Link_type __x = _M_root(); // Current node. -+ -+ while (__x != 0) -+ if (!_M_key_compare(_S_key(__x), __k)) -+ __y = __x, __x = _S_left(__x); -+ else -+ __x = _S_right(__x); -+ if (__y == this->_M_header._M_data || _M_key_compare(__k, _S_key(__y))) -+ __y = this->_M_header._M_data; -+ return __y; -+ } -+ -+ _Link_type _M_lower_bound(const key_type& __k) const { -+ _Link_type __y = this->_M_header._M_data; /* Last node which is not less than __k. */ -+ _Link_type __x = _M_root(); /* Current node. */ -+ -+ while (__x != 0) -+ if (!_M_key_compare(_S_key(__x), __k)) -+ __y = __x, __x = _S_left(__x); -+ else -+ __x = _S_right(__x); -+ -+ return __y; -+ } -+ -+ _Link_type _M_upper_bound(const key_type& __k) const { -+ _Link_type __y = this->_M_header._M_data; /* Last node which is greater than __k. */ -+ _Link_type __x = _M_root(); /* Current node. */ -+ -+ while (__x != 0) -+ if (_M_key_compare(__k, _S_key(__x))) -+ __y = __x, __x = _S_left(__x); -+ else -+ __x = _S_right(__x); -+ -+ return __y; -+ } -+ -+public: - size_type count(const key_type& __x) const; -- iterator lower_bound(const key_type& __x); -- const_iterator lower_bound(const key_type& __x) const; -- iterator upper_bound(const key_type& __x); -- const_iterator upper_bound(const key_type& __x) const; -+ iterator lower_bound(const key_type& __x) { return iterator(_M_lower_bound(__x)); } -+ const_iterator lower_bound(const key_type& __x) const { return const_iterator(_M_lower_bound(__x)); } -+ iterator upper_bound(const key_type& __x) { return iterator(_M_upper_bound(__x)); } -+ const_iterator upper_bound(const key_type& __x) const { return const_iterator(_M_upper_bound(__x)); } - pair equal_range(const key_type& __x) { - return pair(lower_bound(__x), upper_bound(__x)); - } -@@ -488,18 +525,15 @@ - }; - - template --inline bool __STL_CALL -+ class _Compare, class _Alloc> inline bool _STLP_CALL - operator==(const _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& __x, - const _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& __y) - { -- return __x.size() == __y.size() && -- equal(__x.begin(), __x.end(), __y.begin()); -+ return __x.size() == __y.size() && equal(__x.begin(), __x.end(), __y.begin()); - } - - template --inline bool __STL_CALL -+ class _Compare, class _Alloc> inline bool _STLP_CALL - operator<(const _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& __x, - const _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& __y) - { -@@ -507,75 +541,68 @@ - __y.begin(), __y.end()); - } - --#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE -+#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE - - template --inline bool __STL_CALL -+ class _Compare, class _Alloc> inline bool _STLP_CALL - operator!=(const _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& __x, - const _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& __y) { - return !(__x == __y); - } - - template --inline bool __STL_CALL -+ class _Compare, class _Alloc> inline bool _STLP_CALL - operator>(const _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& __x, - const _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& __y) { - return __y < __x; - } - - template --inline bool __STL_CALL -+ class _Compare, class _Alloc> inline bool _STLP_CALL - operator<=(const _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& __x, - const _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& __y) { - return !(__y < __x); - } - - template --inline bool __STL_CALL -+ class _Compare, class _Alloc> inline bool _STLP_CALL - operator>=(const _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& __x, - const _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& __y) { - return !(__x < __y); - } - --#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ -+#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ - --#ifdef __STL_FUNCTION_TMPL_PARTIAL_ORDER -+#ifdef _STLP_FUNCTION_TMPL_PARTIAL_ORDER - - template --inline void __STL_CALL -+ class _Compare, class _Alloc> inline void _STLP_CALL - swap(_Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& __x, - _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& __y) - { - __x.swap(__y); - } - --#endif /* __STL_FUNCTION_TMPL_PARTIAL_ORDER */ -+#endif /* _STLP_FUNCTION_TMPL_PARTIAL_ORDER */ - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --# if !defined (__STL_LINK_TIME_INSTANTIATION) --# include -+# if !defined (_STLP_LINK_TIME_INSTANTIATION) -+# include - # endif - - # undef _Rb_tree - --#if defined (__STL_DEBUG) --# include -+#if defined (_STLP_DEBUG) -+# include - #endif - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - // Class rb_tree is not part of the C++ standard. It is provided for - // compatibility with the HP STL. - - template --struct rb_tree : public _Rb_tree<_Key, _Value, _KeyOfValue, _Compare, _Alloc> --{ -+ _STLP_DEFAULT_ALLOCATOR_SELECT(_Value) > struct rb_tree : public _Rb_tree<_Key, _Value, _KeyOfValue, _Compare, _Alloc> { - typedef _Rb_tree<_Key, _Value, _KeyOfValue, _Compare, _Alloc> _Base; - typedef typename _Base::allocator_type allocator_type; - -@@ -586,11 +613,10 @@ - : _Rb_tree<_Key, _Value, _KeyOfValue, _Compare, _Alloc>(__comp, __a) {} - ~rb_tree() {} - }; --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --#endif /* __SGI_STL_INTERNAL_TREE_H */ -+#endif /* _STLP_INTERNAL_TREE_H */ - - // Local Variables: - // mode:C++ - // End: -- -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_uninitialized.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_uninitialized.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_uninitialized.h Sat Feb 24 10:45:14 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_uninitialized.h Sun Aug 11 18:59:25 2002 -@@ -27,26 +27,22 @@ - * You should not attempt to use it directly. - */ - --#ifndef __SGI_STL_INTERNAL_UNINITIALIZED_H --#define __SGI_STL_INTERNAL_UNINITIALIZED_H -+#ifndef _STLP_INTERNAL_UNINITIALIZED_H -+#define _STLP_INTERNAL_UNINITIALIZED_H - --# ifndef __STLPORT_CSTRING -+# ifndef _STLP_CSTRING - # include - # endif - --# ifndef __SGI_STL_INTERNAL_PAIR_H --# include -+# ifndef _STLP_INTERNAL_ALGOBASE_H -+# include - # endif - --# ifndef __SGI_STL_INTERNAL_CONSTRUCT_H -+# ifndef _STLP_INTERNAL_CONSTRUCT_H - # include - # endif - --# ifndef __SGI_STL_INTERNAL_ALGOBASE_H --# include --# endif -- --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - // uninitialized_copy - -@@ -54,94 +50,75 @@ - // destructor is trivial. - template - inline _ForwardIter --__uninitialized_copy_aux(_InputIter __first, _InputIter __last, -- _ForwardIter __result, -- __true_type) --{ -- return __STLPORT_STD::copy(__first, __last, __result); -+__uninitialized_copy(_InputIter __first, _InputIter __last, _ForwardIter __result, -+ const __true_type&) { -+ return __copy_aux(__first, __last, __result, _BothPtrType< _InputIter, _ForwardIter> :: _Ret()); - } - - template --__STL_INLINE_LOOP -+_STLP_INLINE_LOOP - _ForwardIter --__uninitialized_copy_aux(_InputIter __first, _InputIter __last, -- _ForwardIter __result, -- __false_type) -+__uninitialized_copy(_InputIter __first, _InputIter __last, _ForwardIter __result, -+ const __false_type&) - { - _ForwardIter __cur = __result; -- __STL_TRY { -+ _STLP_TRY { - for ( ; __first != __last; ++__first, ++__cur) - _Construct(&*__cur, *__first); - return __cur; - } -- __STL_UNWIND(_Destroy(__result, __cur)); --# ifdef __STL_THROW_RETURN_BUG -+ _STLP_UNWIND(_Destroy(__result, __cur)); -+# ifdef _STLP_THROW_RETURN_BUG - return __cur; - # endif - } - -- --template --inline _ForwardIter --__uninitialized_copy(_InputIter __first, _InputIter __last, -- _ForwardIter __result, _Tp*) --{ -- typedef typename __type_traits<_Tp>::is_POD_type _Is_POD; -- return __uninitialized_copy_aux(__first, __last, __result, _Is_POD()); --} -- - template - inline _ForwardIter -- uninitialized_copy(_InputIter __first, _InputIter __last, -- _ForwardIter __result) --{ -- return __uninitialized_copy(__first, __last, __result, -- __VALUE_TYPE(__result)); -+uninitialized_copy(_InputIter __first, _InputIter __last, _ForwardIter __result) { -+ return __uninitialized_copy(__first, __last, __result, _IS_POD_ITER(__result, _ForwardIter)); - } - --inline char* uninitialized_copy(const char* __first, const char* __last, -- char* __result) { -- memmove(__result, __first, __last - __first); -- return __result + (__last - __first); -+inline char* -+uninitialized_copy(const char* __first, const char* __last, char* __result) { -+ return (char*)__copy_trivial (__first, __last, __result); - } - --# ifdef __STL_HAS_WCHAR_T // dwa 8/15/97 -+# ifdef _STLP_HAS_WCHAR_T // dwa 8/15/97 - inline wchar_t* --uninitialized_copy(const wchar_t* __first, const wchar_t* __last, -- wchar_t* __result) --{ -- memmove(__result, __first, sizeof(wchar_t) * (__last - __first)); -- return __result + (__last - __first); -+uninitialized_copy(const wchar_t* __first, const wchar_t* __last, wchar_t* __result) { -+ return (wchar_t*)__copy_trivial (__first, __last, __result); - } --# endif /* __STL_HAS_WCHAR_T */ -+# endif /* _STLP_HAS_WCHAR_T */ - -+# ifndef _STLP_NO_EXTENSIONS - // uninitialized_copy_n (not part of the C++ standard) - - template --__STL_INLINE_LOOP -+_STLP_INLINE_LOOP - pair<_InputIter, _ForwardIter> - __uninitialized_copy_n(_InputIter __first, _Size __count, - _ForwardIter __result, -- input_iterator_tag) -+ const input_iterator_tag &) - { - _ForwardIter __cur = __result; -- __STL_TRY { -+ _STLP_TRY { - for ( ; __count > 0 ; --__count, ++__first, ++__cur) - _Construct(&*__cur, *__first); - return pair<_InputIter, _ForwardIter>(__first, __cur); - } -- __STL_UNWIND(_Destroy(__result, __cur)); --# ifdef __STL_THROW_RETURN_BUG -+ _STLP_UNWIND(_Destroy(__result, __cur)); -+# ifdef _STLP_THROW_RETURN_BUG - return pair<_InputIter, _ForwardIter>(__first, __cur); - # endif - } - --# if defined(__STL_NONTEMPL_BASE_MATCH_BUG) -+# if defined(_STLP_NONTEMPL_BASE_MATCH_BUG) - template - inline pair<_InputIterator, _ForwardIterator> - __uninitialized_copy_n(_InputIterator __first, _Size __count, - _ForwardIterator __result, -- forward_iterator_tag) { -+ const forward_iterator_tag &) { - return __uninitialized_copy_n(__first, __count, __result, input_iterator_tag()); - } - -@@ -149,7 +126,7 @@ - inline pair<_InputIterator, _ForwardIterator> - __uninitialized_copy_n(_InputIterator __first, _Size __count, - _ForwardIterator __result, -- bidirectional_iterator_tag) { -+ const bidirectional_iterator_tag &) { - return __uninitialized_copy_n(__first, __count, __result, input_iterator_tag()); - } - # endif -@@ -157,111 +134,78 @@ - - template - inline pair<_RandomAccessIter, _ForwardIter> --__uninitialized_copy_n(_RandomAccessIter __first, _Size __count, -- _ForwardIter __result, -- random_access_iterator_tag) { -+__uninitialized_copy_n(_RandomAccessIter __first, _Size __count, _ForwardIter __result, const random_access_iterator_tag &) { - _RandomAccessIter __last = __first + __count; -- return pair<_RandomAccessIter, _ForwardIter>( -- __last, -- uninitialized_copy(__first, __last, __result)); --} -- --template --inline pair<_InputIter, _ForwardIter> --__uninitialized_copy_n(_InputIter __first, _Size __count, -- _ForwardIter __result) { -- return __uninitialized_copy_n(__first, __count, __result, -- __ITERATOR_CATEGORY(__first)); -+ return pair<_RandomAccessIter, _ForwardIter>( __last, __uninitialized_copy(__first, __last, __result, -+ _IS_POD_ITER(__result, _ForwardIter))); - } - -+// this is used internally in , which is extension itself. - template - inline pair<_InputIter, _ForwardIter> - uninitialized_copy_n(_InputIter __first, _Size __count, - _ForwardIter __result) { -- return __uninitialized_copy_n(__first, __count, __result, -- __ITERATOR_CATEGORY(__first)); -+ return __uninitialized_copy_n(__first, __count, __result, _STLP_ITERATOR_CATEGORY(__first, _InputIter)); - } -+# endif /* _STLP_NO_EXTENSIONS */ - - // Valid if copy construction is equivalent to assignment, and if the - // destructor is trivial. - template - inline void --__uninitialized_fill_aux(_ForwardIter __first, _ForwardIter __last, -- const _Tp& __x, __true_type) --{ -- fill(__first, __last, __x); -+__uninitialized_fill(_ForwardIter __first, _ForwardIter __last, -+ const _Tp& __x, const __true_type&) { -+ _STLP_STD::fill(__first, __last, __x); - } - - template --__STL_INLINE_LOOP void --__uninitialized_fill_aux(_ForwardIter __first, _ForwardIter __last, -- const _Tp& __x, __false_type) -+_STLP_INLINE_LOOP void -+__uninitialized_fill(_ForwardIter __first, _ForwardIter __last, -+ const _Tp& __x, const __false_type&) - { - _ForwardIter __cur = __first; -- __STL_TRY { -+ _STLP_TRY { - for ( ; __cur != __last; ++__cur) - _Construct(&*__cur, __x); - } -- __STL_UNWIND(_Destroy(__first, __cur)); --} -- --template --inline void __uninitialized_fill(_ForwardIter __first, -- _ForwardIter __last, const _Tp& __x, _Tp1*) --{ -- typedef typename __type_traits<_Tp1>::is_POD_type _Is_POD; -- __uninitialized_fill_aux(__first, __last, __x, _Is_POD()); -- -+ _STLP_UNWIND(_Destroy(__first, __cur)); - } - - template --inline void uninitialized_fill(_ForwardIter __first, -- _ForwardIter __last, -- const _Tp& __x) --{ -- __uninitialized_fill(__first, __last, __x, __VALUE_TYPE(__first)); -+inline void uninitialized_fill(_ForwardIter __first, _ForwardIter __last, const _Tp& __x) { -+ __uninitialized_fill(__first, __last, __x, _IS_POD_ITER(__first, _ForwardIter)); - } - - // Valid if copy construction is equivalent to assignment, and if the - // destructor is trivial. - template - inline _ForwardIter --__uninitialized_fill_n_aux(_ForwardIter __first, _Size __n, -- const _Tp& __x, __true_type) --{ -- return fill_n(__first, __n, __x); -+__uninitialized_fill_n(_ForwardIter __first, _Size __n, -+ const _Tp& __x, const __true_type&) { -+ return _STLP_STD::fill_n(__first, __n, __x); - } - - template --__STL_INLINE_LOOP _ForwardIter --__uninitialized_fill_n_aux(_ForwardIter __first, _Size __n, -- const _Tp& __x, __false_type) -+_STLP_INLINE_LOOP _ForwardIter -+__uninitialized_fill_n(_ForwardIter __first, _Size __n, -+ const _Tp& __x, const __false_type&) - { - _ForwardIter __cur = __first; -- __STL_TRY { -+ _STLP_TRY { - for ( ; __n > 0; --__n, ++__cur) - _Construct(&*__cur, __x); - return __cur; - } -- __STL_UNWIND(_Destroy(__first, __cur)); --# ifdef __STL_THROW_RETURN_BUG -+ _STLP_UNWIND(_Destroy(__first, __cur)); -+# ifdef _STLP_THROW_RETURN_BUG - return __cur; - # endif - } - --template --inline _ForwardIter --__uninitialized_fill_n(_ForwardIter __first, _Size __n, const _Tp& __x, _Tp1*) --{ -- typedef typename __type_traits<_Tp1>::is_POD_type _Is_POD; -- return __uninitialized_fill_n_aux(__first, __n, __x, _Is_POD()); --} -- - template - inline _ForwardIter --uninitialized_fill_n(_ForwardIter __first, _Size __n, const _Tp& __x) --{ -- return __uninitialized_fill_n(__first, __n, __x, __VALUE_TYPE(__first)); -+uninitialized_fill_n(_ForwardIter __first, _Size __n, const _Tp& __x) { -+ return __uninitialized_fill_n(__first, __n, __x, _IS_POD_ITER(__first, _ForwardIter)); - } - - // Extensions: __uninitialized_copy_copy, __uninitialized_copy_fill, -@@ -276,14 +220,24 @@ - inline _ForwardIter - __uninitialized_copy_copy(_InputIter1 __first1, _InputIter1 __last1, - _InputIter2 __first2, _InputIter2 __last2, -- _ForwardIter __result) -+ _ForwardIter __result, __true_type) -+{ -+ return __uninitialized_copy(__first2, __last2, -+ __uninitialized_copy(__first1, __last1, __result, __true_type()), __true_type()); -+} -+ -+template -+inline _ForwardIter -+__uninitialized_copy_copy(_InputIter1 __first1, _InputIter1 __last1, -+ _InputIter2 __first2, _InputIter2 __last2, -+ _ForwardIter __result, __false_type) - { -- _ForwardIter __mid = uninitialized_copy(__first1, __last1, __result); -- __STL_TRY { -- return uninitialized_copy(__first2, __last2, __mid); -+ _ForwardIter __mid = __uninitialized_copy(__first1, __last1, __result, _IS_POD_ITER(__result, _ForwardIter)); -+ _STLP_TRY { -+ return __uninitialized_copy(__first2, __last2, __mid , _IS_POD_ITER(__result, _ForwardIter)); - } -- __STL_UNWIND(_Destroy(__result, __mid)); --# ifdef __STL_THROW_RETURN_BUG -+ _STLP_UNWIND(_Destroy(__result, __mid)); -+# ifdef _STLP_THROW_RETURN_BUG - return __mid; - # endif - } -@@ -293,16 +247,16 @@ - // [mid, mid + (last - first)). - template - inline _ForwardIter --__uninitialized_fill_copy(_ForwardIter __result, _ForwardIter __mid, -- const _Tp& __x, -+__uninitialized_fill_copy(_ForwardIter __result, _ForwardIter __mid, const _Tp& __x, - _InputIter __first, _InputIter __last) - { -- uninitialized_fill(__result, __mid, __x); -- __STL_TRY { -- return uninitialized_copy(__first, __last, __mid); -+ typedef typename __type_traits<_Tp>::is_POD_type _I_POD; -+ __uninitialized_fill(__result, __mid, __x, _I_POD()); -+ _STLP_TRY { -+ return __uninitialized_copy(__first, __last, __mid, _I_POD()); - } -- __STL_UNWIND(_Destroy(__result, __mid)); --# ifdef __STL_THROW_RETURN_BUG -+ _STLP_UNWIND(_Destroy(__result, __mid)); -+# ifdef _STLP_THROW_RETURN_BUG - return __result; - # endif - } -@@ -316,16 +270,17 @@ - _ForwardIter __first2, _ForwardIter __last2, - const _Tp& __x) - { -- _ForwardIter __mid2 = uninitialized_copy(__first1, __last1, __first2); -- __STL_TRY { -- uninitialized_fill(__mid2, __last2, __x); -+ typedef typename __type_traits<_Tp>::is_POD_type _I_POD; -+ _ForwardIter __mid2 = __uninitialized_copy(__first1, __last1, __first2, _I_POD()); -+ _STLP_TRY { -+ __uninitialized_fill(__mid2, __last2, __x, _I_POD()); - } -- __STL_UNWIND(_Destroy(__first2, __mid2)); -+ _STLP_UNWIND(_Destroy(__first2, __mid2)); - } - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --#endif /* __SGI_STL_INTERNAL_UNINITIALIZED_H */ -+#endif /* _STLP_INTERNAL_UNINITIALIZED_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_valarray.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_valarray.c ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_valarray.c Sat Feb 24 10:45:15 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_valarray.c Sun Aug 11 18:59:25 2002 -@@ -23,10 +23,22 @@ - * modified is included with the above copyright notice. - * - */ --#ifndef __STL_VALARRAY_C --#define __STL_VALARRAY_C -+#ifndef _STLP_VALARRAY_C -+#define _STLP_VALARRAY_C - --__STL_BEGIN_NAMESPACE -+#ifndef _STLP_VALARRAY_H -+# include -+#endif -+ -+_STLP_BEGIN_NAMESPACE -+ -+template -+_Valarray_bool valarray<_Tp>:: operator!() const { -+ _Valarray_bool __tmp(this->size(), _Valarray_bool::_NoInit()); -+ for (size_t __i = 0; __i < this->size(); ++__i) -+ __tmp[__i] = !(*this)[__i]; -+ return __tmp; -+} - - // Behavior is undefined if __x and *this have different sizes - template -@@ -163,7 +175,7 @@ - // have to be careful with negative numbers, since the sign of a % b - // is unspecified when a < 0. - long __n = __m; -- if (this->size() < numeric_limits::max()) -+ if (this->size() < (numeric_limits::max)()) - __n %= long(this->size()); - if (__n < 0) - __n += this->size(); -@@ -176,9 +188,9 @@ - return __tmp; - } - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --#endif /* __STL_VALARRAY_C */ -+#endif /* _STLP_VALARRAY_C */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_valarray.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_valarray.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_valarray.h Sat Feb 24 10:45:16 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_valarray.h Sun Aug 11 18:59:25 2002 -@@ -16,39 +16,31 @@ - * - */ - --#ifndef __SGI_STL_VALARRAY_H --#define __SGI_STL_VALARRAY_H -+#ifndef _STLP_VALARRAY_H -+#define _STLP_VALARRAY_H - --#ifndef __STLPORT_CMATH -+#ifndef _STLP_CMATH - #include - #endif --#ifndef __STLPORT_CSTDDEF --#include --#endif --#ifndef __STLPORT_NEW -+#ifndef _STLP_NEW_HEADER - #include - #endif --#ifndef __SGI_STL_INTERNAL_FUNCTIONAL_H --# include --#endif --#ifndef __SGI_STL_INTERNAL_ALGO_H -+#ifndef _STLP_INTERNAL_ALGO_H - #include - #endif --#ifndef __SGI_STL_INTERNAL_NUMERIC_H -+#ifndef _STLP_INTERNAL_NUMERIC_H - #include - #endif --#ifndef __STLPORT_LIMITS_H -+#ifndef _STLP_LIMITS_H - #include - #endif - -- --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - class slice; - class gslice; - - template class valarray; --// fbp : those are for MSVC - typedef valarray _Valarray_bool; - typedef valarray _Valarray_size_t; - -@@ -78,10 +70,10 @@ - if (__n != 0) { - _M_first = __STATIC_CAST(_Tp*, (malloc(__n * sizeof(_Tp)))); - _M_size = __n; --# if !defined(__STL_NO_BAD_ALLOC) && defined(__STL_USE_EXCEPTIONS) -+# if !defined(_STLP_NO_BAD_ALLOC) && defined(_STLP_USE_EXCEPTIONS) - if (_M_first == 0) { - _M_size = 0; -- throw __STLPORT_STD::bad_alloc(); -+ throw _STLP_STD::bad_alloc(); - } - # endif - } -@@ -131,22 +123,21 @@ - // Extension: constructor that doesn't initialize valarray elements to a - // specific value. This is faster for types such as int and double. - private: -- void _M_initialize(__true_type) {} -- void _M_initialize(__false_type) -+ void _M_initialize(const __true_type&) {} -+ void _M_initialize(const __false_type&) - { uninitialized_fill_n(this->_M_first, this->_M_size, value_type()); } - - public: - struct _NoInit {}; - valarray(size_t __n, _NoInit) : _Valarray_base<_Tp>(__n) { -- typedef typename __type_traits<_Tp>::has_trivial_default_constructor -- _Is_Trivial; -+ typedef typename __type_traits<_Tp>::has_trivial_default_constructor _Is_Trivial; - _M_initialize(_Is_Trivial()); - } - - public: // Assignment - // Basic assignment. Note that 'x = y' is undefined if x.size() != y.size() - valarray<_Tp>& operator=(const valarray<_Tp>& __x) { -- __STL_ASSERT(__x.size() == this->size()) -+ _STLP_ASSERT(__x.size() == this->size()) - if (this != &__x) - copy(__x._M_first, __x._M_first + __x._M_size, this->_M_first); - return *this; -@@ -196,12 +187,7 @@ - return __tmp; - } - -- _Valarray_bool operator!() const { -- _Valarray_bool __tmp(this->size(), _Valarray_bool::_NoInit()); -- for (size_t __i = 0; __i < this->size(); ++__i) -- __tmp[__i] = !(*this)[__i]; -- return __tmp; -- } -+ _Valarray_bool operator!() const; - - public: // Scalar computed assignment. - valarray<_Tp>& operator*= (const value_type& __x) { -@@ -334,11 +320,11 @@ - } - - // The result is undefined for zero-length arrays -- value_type min() const { -+ value_type (min) () const { - return *min_element(this->_M_first + 0, this->_M_first + this->_M_size); - } - -- value_type max() const { -+ value_type (max) () const { - return *max_element(this->_M_first + 0, this->_M_first + this->_M_size); - } - -@@ -373,7 +359,7 @@ - // undefined if the two arrays do not have the same length. - - template --inline valarray<_Tp> __STL_CALL operator*(const valarray<_Tp>& __x, -+inline valarray<_Tp> _STLP_CALL operator*(const valarray<_Tp>& __x, - const valarray<_Tp>& __y) { - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); -@@ -383,7 +369,7 @@ - } - - template --inline valarray<_Tp> __STL_CALL operator/(const valarray<_Tp>& __x, -+inline valarray<_Tp> _STLP_CALL operator/(const valarray<_Tp>& __x, - const valarray<_Tp>& __y) { - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); -@@ -393,7 +379,7 @@ - } - - template --inline valarray<_Tp> __STL_CALL operator%(const valarray<_Tp>& __x, -+inline valarray<_Tp> _STLP_CALL operator%(const valarray<_Tp>& __x, - const valarray<_Tp>& __y) { - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); -@@ -403,7 +389,7 @@ - } - - template --inline valarray<_Tp> __STL_CALL operator+(const valarray<_Tp>& __x, -+inline valarray<_Tp> _STLP_CALL operator+(const valarray<_Tp>& __x, - const valarray<_Tp>& __y) { - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); -@@ -413,7 +399,7 @@ - } - - template --inline valarray<_Tp> __STL_CALL operator-(const valarray<_Tp>& __x, -+inline valarray<_Tp> _STLP_CALL operator-(const valarray<_Tp>& __x, - const valarray<_Tp>& __y) { - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); -@@ -423,7 +409,7 @@ - } - - template --inline valarray<_Tp> __STL_CALL operator^(const valarray<_Tp>& __x, -+inline valarray<_Tp> _STLP_CALL operator^(const valarray<_Tp>& __x, - const valarray<_Tp>& __y) { - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); -@@ -433,7 +419,7 @@ - } - - template --inline valarray<_Tp> __STL_CALL operator&(const valarray<_Tp>& __x, -+inline valarray<_Tp> _STLP_CALL operator&(const valarray<_Tp>& __x, - const valarray<_Tp>& __y) { - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); -@@ -443,7 +429,7 @@ - } - - template --inline valarray<_Tp> __STL_CALL operator|(const valarray<_Tp>& __x, -+inline valarray<_Tp> _STLP_CALL operator|(const valarray<_Tp>& __x, - const valarray<_Tp>& __y) { - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); -@@ -453,7 +439,7 @@ - } - - template --inline valarray<_Tp> __STL_CALL operator<<(const valarray<_Tp>& __x, -+inline valarray<_Tp> _STLP_CALL operator<<(const valarray<_Tp>& __x, - const valarray<_Tp>& __y) { - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); -@@ -463,7 +449,7 @@ - } - - template --inline valarray<_Tp> __STL_CALL operator>>(const valarray<_Tp>& __x, -+inline valarray<_Tp> _STLP_CALL operator>>(const valarray<_Tp>& __x, - const valarray<_Tp>& __y) { - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); -@@ -475,7 +461,7 @@ - // Binary arithmetic operations between an array and a scalar. - - template --inline valarray<_Tp> __STL_CALL operator*(const valarray<_Tp>& __x, const _Tp& __c) { -+inline valarray<_Tp> _STLP_CALL operator*(const valarray<_Tp>& __x, const _Tp& __c) { - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -@@ -484,7 +470,7 @@ - } - - template --inline valarray<_Tp> __STL_CALL operator*(const _Tp& __c, const valarray<_Tp>& __x) { -+inline valarray<_Tp> _STLP_CALL operator*(const _Tp& __c, const valarray<_Tp>& __x) { - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -@@ -493,7 +479,7 @@ - } - - template --inline valarray<_Tp> __STL_CALL operator/(const valarray<_Tp>& __x, const _Tp& __c) { -+inline valarray<_Tp> _STLP_CALL operator/(const valarray<_Tp>& __x, const _Tp& __c) { - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -@@ -502,7 +488,7 @@ - } - - template --inline valarray<_Tp> __STL_CALL operator/(const _Tp& __c, const valarray<_Tp>& __x) { -+inline valarray<_Tp> _STLP_CALL operator/(const _Tp& __c, const valarray<_Tp>& __x) { - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -@@ -511,7 +497,7 @@ - } - - template --inline valarray<_Tp> __STL_CALL operator%(const valarray<_Tp>& __x, const _Tp& __c) { -+inline valarray<_Tp> _STLP_CALL operator%(const valarray<_Tp>& __x, const _Tp& __c) { - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -@@ -520,7 +506,7 @@ - } - - template --inline valarray<_Tp> __STL_CALL operator%(const _Tp& __c, const valarray<_Tp>& __x) { -+inline valarray<_Tp> _STLP_CALL operator%(const _Tp& __c, const valarray<_Tp>& __x) { - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -@@ -529,7 +515,7 @@ - } - - template --inline valarray<_Tp> __STL_CALL operator+(const valarray<_Tp>& __x, const _Tp& __c) { -+inline valarray<_Tp> _STLP_CALL operator+(const valarray<_Tp>& __x, const _Tp& __c) { - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -@@ -538,7 +524,7 @@ - } - - template --inline valarray<_Tp> __STL_CALL operator+(const _Tp& __c, const valarray<_Tp>& __x) { -+inline valarray<_Tp> _STLP_CALL operator+(const _Tp& __c, const valarray<_Tp>& __x) { - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -@@ -547,7 +533,7 @@ - } - - template --inline valarray<_Tp> __STL_CALL operator-(const valarray<_Tp>& __x, const _Tp& __c) { -+inline valarray<_Tp> _STLP_CALL operator-(const valarray<_Tp>& __x, const _Tp& __c) { - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -@@ -556,7 +542,7 @@ - } - - template --inline valarray<_Tp> __STL_CALL operator-(const _Tp& __c, const valarray<_Tp>& __x) { -+inline valarray<_Tp> _STLP_CALL operator-(const _Tp& __c, const valarray<_Tp>& __x) { - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -@@ -565,7 +551,7 @@ - } - - template --inline valarray<_Tp> __STL_CALL operator^(const valarray<_Tp>& __x, const _Tp& __c) { -+inline valarray<_Tp> _STLP_CALL operator^(const valarray<_Tp>& __x, const _Tp& __c) { - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -@@ -574,7 +560,7 @@ - } - - template --inline valarray<_Tp> __STL_CALL operator^(const _Tp& __c, const valarray<_Tp>& __x) { -+inline valarray<_Tp> _STLP_CALL operator^(const _Tp& __c, const valarray<_Tp>& __x) { - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -@@ -583,7 +569,7 @@ - } - - template --inline valarray<_Tp> __STL_CALL operator&(const valarray<_Tp>& __x, const _Tp& __c) { -+inline valarray<_Tp> _STLP_CALL operator&(const valarray<_Tp>& __x, const _Tp& __c) { - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -@@ -592,7 +578,7 @@ - } - - template --inline valarray<_Tp> __STL_CALL operator&(const _Tp& __c, const valarray<_Tp>& __x) { -+inline valarray<_Tp> _STLP_CALL operator&(const _Tp& __c, const valarray<_Tp>& __x) { - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -@@ -601,7 +587,7 @@ - } - - template --inline valarray<_Tp> __STL_CALL operator|(const valarray<_Tp>& __x, const _Tp& __c) { -+inline valarray<_Tp> _STLP_CALL operator|(const valarray<_Tp>& __x, const _Tp& __c) { - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -@@ -610,7 +596,7 @@ - } - - template --inline valarray<_Tp> __STL_CALL operator|(const _Tp& __c, const valarray<_Tp>& __x) { -+inline valarray<_Tp> _STLP_CALL operator|(const _Tp& __c, const valarray<_Tp>& __x) { - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -@@ -619,7 +605,7 @@ - } - - template --inline valarray<_Tp> __STL_CALL operator<<(const valarray<_Tp>& __x, const _Tp& __c) { -+inline valarray<_Tp> _STLP_CALL operator<<(const valarray<_Tp>& __x, const _Tp& __c) { - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -@@ -628,7 +614,7 @@ - } - - template --inline valarray<_Tp> __STL_CALL operator<<(const _Tp& __c, const valarray<_Tp>& __x) { -+inline valarray<_Tp> _STLP_CALL operator<<(const _Tp& __c, const valarray<_Tp>& __x) { - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -@@ -637,7 +623,7 @@ - } - - template --inline valarray<_Tp> __STL_CALL operator>>(const valarray<_Tp>& __x, const _Tp& __c) { -+inline valarray<_Tp> _STLP_CALL operator>>(const valarray<_Tp>& __x, const _Tp& __c) { - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -@@ -646,7 +632,7 @@ - } - - template --inline valarray<_Tp> __STL_CALL operator>>(const _Tp& __c, const valarray<_Tp>& __x) { -+inline valarray<_Tp> _STLP_CALL operator>>(const _Tp& __c, const valarray<_Tp>& __x) { - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -@@ -659,7 +645,7 @@ - // not do what you might at first expect. - - template --inline _Valarray_bool __STL_CALL operator==(const valarray<_Tp>& __x, -+inline _Valarray_bool _STLP_CALL operator==(const valarray<_Tp>& __x, - const valarray<_Tp>& __y) - { - _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); -@@ -669,7 +655,7 @@ - } - - template --inline _Valarray_bool __STL_CALL operator<(const valarray<_Tp>& __x, -+inline _Valarray_bool _STLP_CALL operator<(const valarray<_Tp>& __x, - const valarray<_Tp>& __y) - { - _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); -@@ -678,10 +664,10 @@ - return __tmp; - } - --#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE -+#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE - - template --inline _Valarray_bool __STL_CALL operator!=(const valarray<_Tp>& __x, -+inline _Valarray_bool _STLP_CALL operator!=(const valarray<_Tp>& __x, - const valarray<_Tp>& __y) - { - _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); -@@ -691,7 +677,7 @@ - } - - template --inline _Valarray_bool __STL_CALL operator>(const valarray<_Tp>& __x, -+inline _Valarray_bool _STLP_CALL operator>(const valarray<_Tp>& __x, - const valarray<_Tp>& __y) - { - _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); -@@ -701,7 +687,7 @@ - } - - template --inline _Valarray_bool __STL_CALL operator<=(const valarray<_Tp>& __x, -+inline _Valarray_bool _STLP_CALL operator<=(const valarray<_Tp>& __x, - const valarray<_Tp>& __y) - { - _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); -@@ -711,7 +697,7 @@ - } - - template --inline _Valarray_bool __STL_CALL operator>=(const valarray<_Tp>& __x, -+inline _Valarray_bool _STLP_CALL operator>=(const valarray<_Tp>& __x, - const valarray<_Tp>& __y) - { - _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); -@@ -720,11 +706,11 @@ - return __tmp; - } - --#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ -+#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ - // fbp : swap ? - - template --inline _Valarray_bool __STL_CALL operator&&(const valarray<_Tp>& __x, -+inline _Valarray_bool _STLP_CALL operator&&(const valarray<_Tp>& __x, - const valarray<_Tp>& __y) - { - _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); -@@ -734,7 +720,7 @@ - } - - template --inline _Valarray_bool __STL_CALL operator||(const valarray<_Tp>& __x, -+inline _Valarray_bool _STLP_CALL operator||(const valarray<_Tp>& __x, - const valarray<_Tp>& __y) - { - _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); -@@ -746,7 +732,7 @@ - // Logical operations between an array and a scalar. - - template --inline _Valarray_bool __STL_CALL operator==(const valarray<_Tp>& __x, const _Tp& __c) -+inline _Valarray_bool _STLP_CALL operator==(const valarray<_Tp>& __x, const _Tp& __c) - { - _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -@@ -755,7 +741,7 @@ - } - - template --inline _Valarray_bool __STL_CALL operator==(const _Tp& __c, const valarray<_Tp>& __x) -+inline _Valarray_bool _STLP_CALL operator==(const _Tp& __c, const valarray<_Tp>& __x) - { - _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -@@ -764,7 +750,7 @@ - } - - template --inline _Valarray_bool __STL_CALL operator!=(const valarray<_Tp>& __x, const _Tp& __c) -+inline _Valarray_bool _STLP_CALL operator!=(const valarray<_Tp>& __x, const _Tp& __c) - { - _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -@@ -773,7 +759,7 @@ - } - - template --inline _Valarray_bool __STL_CALL operator!=(const _Tp& __c, const valarray<_Tp>& __x) -+inline _Valarray_bool _STLP_CALL operator!=(const _Tp& __c, const valarray<_Tp>& __x) - { - _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -@@ -782,7 +768,7 @@ - } - - template --inline _Valarray_bool __STL_CALL operator<(const valarray<_Tp>& __x, const _Tp& __c) -+inline _Valarray_bool _STLP_CALL operator<(const valarray<_Tp>& __x, const _Tp& __c) - { - _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -@@ -791,7 +777,7 @@ - } - - template --inline _Valarray_bool __STL_CALL operator<(const _Tp& __c, const valarray<_Tp>& __x) -+inline _Valarray_bool _STLP_CALL operator<(const _Tp& __c, const valarray<_Tp>& __x) - { - _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -@@ -800,7 +786,7 @@ - } - - template --inline _Valarray_bool __STL_CALL operator>(const valarray<_Tp>& __x, const _Tp& __c) -+inline _Valarray_bool _STLP_CALL operator>(const valarray<_Tp>& __x, const _Tp& __c) - { - _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -@@ -809,7 +795,7 @@ - } - - template --inline _Valarray_bool __STL_CALL operator>(const _Tp& __c, const valarray<_Tp>& __x) -+inline _Valarray_bool _STLP_CALL operator>(const _Tp& __c, const valarray<_Tp>& __x) - { - _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -@@ -818,7 +804,7 @@ - } - - template --inline _Valarray_bool __STL_CALL operator<=(const valarray<_Tp>& __x, const _Tp& __c) -+inline _Valarray_bool _STLP_CALL operator<=(const valarray<_Tp>& __x, const _Tp& __c) - { - _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -@@ -827,7 +813,7 @@ - } - - template --inline _Valarray_bool __STL_CALL operator<=(const _Tp& __c, const valarray<_Tp>& __x) -+inline _Valarray_bool _STLP_CALL operator<=(const _Tp& __c, const valarray<_Tp>& __x) - { - _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -@@ -836,7 +822,7 @@ - } - - template --inline _Valarray_bool __STL_CALL operator>=(const valarray<_Tp>& __x, const _Tp& __c) -+inline _Valarray_bool _STLP_CALL operator>=(const valarray<_Tp>& __x, const _Tp& __c) - { - _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -@@ -845,7 +831,7 @@ - } - - template --inline _Valarray_bool __STL_CALL operator>=(const _Tp& __c, const valarray<_Tp>& __x) -+inline _Valarray_bool _STLP_CALL operator>=(const _Tp& __c, const valarray<_Tp>& __x) - { - _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -@@ -854,7 +840,7 @@ - } - - template --inline _Valarray_bool __STL_CALL operator&&(const valarray<_Tp>& __x, const _Tp& __c) -+inline _Valarray_bool _STLP_CALL operator&&(const valarray<_Tp>& __x, const _Tp& __c) - { - _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -@@ -863,7 +849,7 @@ - } - - template --inline _Valarray_bool __STL_CALL operator&&(const _Tp& __c, const valarray<_Tp>& __x) -+inline _Valarray_bool _STLP_CALL operator&&(const _Tp& __c, const valarray<_Tp>& __x) - { - _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -@@ -872,7 +858,7 @@ - } - - template --inline _Valarray_bool __STL_CALL operator||(const valarray<_Tp>& __x, const _Tp& __c) -+inline _Valarray_bool _STLP_CALL operator||(const valarray<_Tp>& __x, const _Tp& __c) - { - _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -@@ -881,7 +867,7 @@ - } - - template --inline _Valarray_bool __STL_CALL operator||(const _Tp& __c, const valarray<_Tp>& __x) -+inline _Valarray_bool _STLP_CALL operator||(const _Tp& __c, const valarray<_Tp>& __x) - { - _Valarray_bool __tmp(__x.size(), _Valarray_bool::_NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -@@ -897,7 +883,7 @@ - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -- __tmp[__i] = __STL_DO_ABS(_Tp)(__x[__i]); -+ __tmp[__i] = _STLP_DO_ABS(_Tp)(__x[__i]); - return __tmp; - } - -@@ -906,7 +892,7 @@ - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -- __tmp[__i] = __STL_DO_ACOS(_Tp)(__x[__i]); -+ __tmp[__i] = _STLP_DO_ACOS(_Tp)(__x[__i]); - return __tmp; - } - -@@ -915,7 +901,7 @@ - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -- __tmp[__i] = __STL_DO_ASIN(_Tp)(__x[__i]); -+ __tmp[__i] = _STLP_DO_ASIN(_Tp)(__x[__i]); - return __tmp; - } - -@@ -924,7 +910,7 @@ - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -- __tmp[__i] = __STL_DO_ATAN(_Tp)(__x[__i]); -+ __tmp[__i] = _STLP_DO_ATAN(_Tp)(__x[__i]); - return __tmp; - } - -@@ -934,7 +920,7 @@ - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -- __tmp[__i] = __STL_DO_ATAN2(_Tp)(__x[__i], __y[__i]); -+ __tmp[__i] = _STLP_DO_ATAN2(_Tp)(__x[__i], __y[__i]); - return __tmp; - } - -@@ -943,7 +929,7 @@ - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -- __tmp[__i] = __STL_DO_ATAN2(_Tp)(__x[__i], __c); -+ __tmp[__i] = _STLP_DO_ATAN2(_Tp)(__x[__i], __c); - return __tmp; - } - -@@ -952,7 +938,7 @@ - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -- __tmp[__i] = __STL_DO_ATAN2(_Tp)(__c, __x[__i]); -+ __tmp[__i] = _STLP_DO_ATAN2(_Tp)(__c, __x[__i]); - return __tmp; - } - -@@ -961,7 +947,7 @@ - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -- __tmp[__i] = __STL_DO_COS(_Tp)(__x[__i]); -+ __tmp[__i] = _STLP_DO_COS(_Tp)(__x[__i]); - return __tmp; - } - -@@ -970,7 +956,7 @@ - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -- __tmp[__i] = __STL_DO_COSH(_Tp)(__x[__i]); -+ __tmp[__i] = _STLP_DO_COSH(_Tp)(__x[__i]); - return __tmp; - } - -@@ -979,7 +965,7 @@ - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -- __tmp[__i] = __STL_DO_EXP(_Tp)(__x[__i]); -+ __tmp[__i] = _STLP_DO_EXP(_Tp)(__x[__i]); - return __tmp; - } - -@@ -988,7 +974,7 @@ - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -- __tmp[__i] = __STL_DO_LOG(_Tp)(__x[__i]); -+ __tmp[__i] = _STLP_DO_LOG(_Tp)(__x[__i]); - return __tmp; - } - -@@ -997,7 +983,7 @@ - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -- __tmp[__i] = __STL_DO_LOG10(_Tp)(__x[__i]); -+ __tmp[__i] = _STLP_DO_LOG10(_Tp)(__x[__i]); - return __tmp; - } - -@@ -1007,7 +993,7 @@ - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -- __tmp[__i] = __STL_DO_POW(_Tp)(__x[__i], __y[__i]); -+ __tmp[__i] = _STLP_DO_POW(_Tp)(__x[__i], __y[__i]); - return __tmp; - } - -@@ -1016,7 +1002,7 @@ - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -- __tmp[__i] = __STL_DO_POW(_Tp)(__x[__i], __c); -+ __tmp[__i] = _STLP_DO_POW(_Tp)(__x[__i], __c); - return __tmp; - } - -@@ -1025,7 +1011,7 @@ - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -- __tmp[__i] = __STL_DO_POW(_Tp)(__c, __x[__i]); -+ __tmp[__i] = _STLP_DO_POW(_Tp)(__c, __x[__i]); - return __tmp; - } - -@@ -1034,7 +1020,7 @@ - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -- __tmp[__i] = __STL_DO_SIN(_Tp)(__x[__i]); -+ __tmp[__i] = _STLP_DO_SIN(_Tp)(__x[__i]); - return __tmp; - } - -@@ -1043,7 +1029,7 @@ - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -- __tmp[__i] = __STL_DO_SINH(_Tp)(__x[__i]); -+ __tmp[__i] = _STLP_DO_SINH(_Tp)(__x[__i]); - return __tmp; - } - -@@ -1052,7 +1038,7 @@ - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -- __tmp[__i] = __STL_DO_SQRT(_Tp)(__x[__i]); -+ __tmp[__i] = _STLP_DO_SQRT(_Tp)(__x[__i]); - return __tmp; - } - -@@ -1061,7 +1047,7 @@ - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -- __tmp[__i] = __STL_DO_TAN(_Tp)(__x[__i]); -+ __tmp[__i] = _STLP_DO_TAN(_Tp)(__x[__i]); - return __tmp; - } - -@@ -1070,7 +1056,7 @@ - typedef typename valarray<_Tp>::_NoInit _NoInit; - valarray<_Tp> __tmp(__x.size(), _NoInit()); - for (size_t __i = 0; __i < __x.size(); ++__i) -- __tmp[__i] = __STL_DO_TANH(_Tp)(__x[__i]); -+ __tmp[__i] = _STLP_DO_TANH(_Tp)(__x[__i]); - return __tmp; - } - -@@ -1264,7 +1250,10 @@ - : 0; - } - -+# ifndef __HP_aCC - private: -+# endif -+ - size_t _M_start; - _Valarray_size_t _M_lengths; - _Valarray_size_t _M_strides; -@@ -1654,13 +1643,13 @@ - return indirect_array<_Tp>(__addr, *this); - } - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --# if !defined (__STL_LINK_TIME_INSTANTIATION) -+# if !defined (_STLP_LINK_TIME_INSTANTIATION) - # include - # endif - --#endif /* __SGI_STL_VALARRAY */ -+#endif /* _STLP_VALARRAY */ - - - // Local Variables: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_vector.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_vector.c ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_vector.c Sat Feb 24 10:45:16 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_vector.c Sun Aug 11 18:59:25 2002 -@@ -23,147 +23,67 @@ - * modified is included with the above copyright notice. - * - */ --#ifndef __STL_VECTOR_C --#define __STL_VECTOR_C -+#ifndef _STLP_VECTOR_C -+#define _STLP_VECTOR_C - --# if defined ( __STL_NESTED_TYPE_PARAM_BUG ) --# define __pointer__ _Tp* --# define __const_pointer__ const _Tp* --# define __size_type__ size_t --# define __difference_type__ ptrdiff_t --# else --# define __pointer__ pointer --# define __const_pointer__ const_pointer --# define __size_type__ size_type --# define __difference_type__ difference_type -+# if !defined (_STLP_INTERNAL_VECTOR_H) -+# include - # endif - --# define __iterator__ __pointer__ --# define __const_iterator__ __const_pointer__ -+# if defined ( _STLP_NESTED_TYPE_PARAM_BUG ) -+# define iterator _Tp* -+# define size_type size_t -+# endif - - # undef vector - # define vector __WORKAROUND_DBG_RENAME(vector) - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - template - void --__vector__<_Tp, _Alloc>::reserve(__size_type__ __n) { -+__vector__<_Tp, _Alloc>::reserve(size_type __n) { - if (capacity() < __n) { - const size_type __old_size = size(); - pointer __tmp; -- if (_M_start) { -- __tmp = _M_allocate_and_copy(__n, _M_start, _M_finish); -- _Destroy(_M_start, _M_finish); -- _M_end_of_storage.deallocate(_M_start, _M_end_of_storage._M_data - _M_start); -- } else { -- __tmp = _M_end_of_storage.allocate(__n); -+ if (this->_M_start) { -+ __tmp = _M_allocate_and_copy(__n, this->_M_start, this->_M_finish); -+ _M_clear(); -+ } else { -+ __tmp = this->_M_end_of_storage.allocate(__n); - } -- _M_start = __tmp; -- _M_finish = __tmp + __old_size; -- _M_end_of_storage._M_data = _M_start + __n; -+ _M_set(__tmp, __tmp + __old_size, __tmp + __n); - } - } - --#if defined (__STL_MEMBER_TEMPLATES) && ! defined (__STL_INLINE_MEMBER_TEMPLATES) -- --template template --void --__vector__<_Tp, _Alloc>::_M_assign_aux(_ForwardIter __first, _ForwardIter __last, -- forward_iterator_tag) { -- size_type __len = 0; -- distance(__first, __last, __len); -- -- if (__len > capacity()) { -- iterator __tmp = _M_allocate_and_copy(__len, __first, __last); -- _Destroy(_M_start, _M_finish); -- _M_end_of_storage.deallocate(_M_start, _M_end_of_storage._M_data - _M_start); -- _M_start = __tmp; -- _M_end_of_storage._M_data = _M_finish = _M_start + __len; -- } -- else if (size() >= __len) { -- iterator __new_finish = copy(__first, __last, _M_start); -- _Destroy(__new_finish, _M_finish); -- _M_finish = __new_finish; -- } -- else { -- _ForwardIter __mid = __first; -- advance(__mid, size()); -- copy(__first, __mid, _M_start); -- _M_finish = uninitialized_copy(__mid, __last, _M_finish); -- } --} -- --#endif /* __STL_MEMBER_TEMPLATES */ -- -- --#if !defined ( __STL_MEMBER_TEMPLATES ) - template - void --__vector__<_Tp, _Alloc>::insert( -- __iterator__ __position, -- __const_iterator__ __first, -- __const_iterator__ __last -- ) --#elif ! defined (__STL_INLINE_MEMBER_TEMPLATES) --template template --void __vector__<_Tp, _Alloc>::_M_range_insert( -- __iterator__ __position, -- _ForwardIterator __first, -- _ForwardIterator __last, -- forward_iterator_tag) --# endif /* MEMBER_TEMPLATES */ -- --# if !( defined ( __STL_MEMBER_TEMPLATES ) && defined (__STL_INLINE_MEMBER_TEMPLATES)) --{ -- if (__first != __last) { -- size_type __n = 0; -- distance(__first, __last, __n); -- if (size_type(_M_end_of_storage._M_data - _M_finish) >= __n) { -- const size_type __elems_after = _M_finish - __position; -- pointer __old_finish = _M_finish; -+__vector__<_Tp, _Alloc>::_M_fill_insert( -+ iterator __position, -+ size_type __n, const _Tp& __x) { -+ if (__n != 0) { -+ if (size_type(this->_M_end_of_storage._M_data - this->_M_finish) >= __n) { -+ _Tp __x_copy = __x; -+ const size_type __elems_after = this->_M_finish - __position; -+ pointer __old_finish = this->_M_finish; - if (__elems_after > __n) { -- uninitialized_copy(_M_finish - __n, _M_finish, _M_finish); -- _M_finish += __n; -- copy_backward(__position, __old_finish - __n, __old_finish); -- copy(__first, __last, __position); -+ __uninitialized_copy(this->_M_finish - __n, this->_M_finish, this->_M_finish, _IsPODType()); -+ this->_M_finish += __n; -+ __copy_backward_ptrs(__position, __old_finish - __n, __old_finish, _TrivialAss()); -+ _STLP_STD::fill(__position, __position + __n, __x_copy); - } - else { --# if (defined ( __STL_MEMBER_TEMPLATES ) && ! defined (__STL_INLINE_MEMBER_TEMPLATES)) -- _ForwardIterator __mid = __first; -- advance(__mid, __elems_after); --# else -- __const_pointer__ __mid = __first + __elems_after; --# endif -- uninitialized_copy(__mid, __last, _M_finish); -- _M_finish += __n - __elems_after; -- uninitialized_copy(__position, __old_finish, _M_finish); -- _M_finish += __elems_after; -- copy(__first, __mid, __position); -+ uninitialized_fill_n(this->_M_finish, __n - __elems_after, __x_copy); -+ this->_M_finish += __n - __elems_after; -+ __uninitialized_copy(__position, __old_finish, this->_M_finish, _IsPODType()); -+ this->_M_finish += __elems_after; -+ _STLP_STD::fill(__position, __old_finish, __x_copy); - } - } -- else { -- const size_type __old_size = size(); -- const size_type __len = __old_size + max(__old_size, __n); -- pointer __new_start = _M_end_of_storage.allocate(__len); -- pointer __new_finish = __new_start; -- __STL_TRY { -- __new_finish = uninitialized_copy(_M_start, __position, __new_start); -- __new_finish = uninitialized_copy(__first, __last, __new_finish); -- __new_finish -- = uninitialized_copy(__position, _M_finish, __new_finish); -- } -- __STL_UNWIND((_Destroy(__new_start,__new_finish), -- _M_end_of_storage.deallocate(__new_start,__len))); -- _Destroy(_M_start, _M_finish); -- _M_end_of_storage.deallocate(_M_start, _M_end_of_storage._M_data - _M_start); -- _M_start = __new_start; -- _M_finish = __new_finish; -- _M_end_of_storage._M_data = __new_start + __len; -- } -+ else -+ _M_insert_overflow(__position, __x, _IsPODType(), __n); - } - } --# endif - - template - __vector__<_Tp,_Alloc>& -@@ -173,20 +93,19 @@ - const size_type __xlen = __x.size(); - if (__xlen > capacity()) { - pointer __tmp = _M_allocate_and_copy(__xlen, (const_pointer)__x._M_start+0, (const_pointer)__x._M_finish+0); -- _Destroy(_M_start, _M_finish); -- _M_end_of_storage.deallocate(_M_start, _M_end_of_storage._M_data - _M_start); -- _M_start = __tmp; -- _M_end_of_storage._M_data = _M_start + __xlen; -+ _M_clear(); -+ this->_M_start = __tmp; -+ this->_M_end_of_storage._M_data = this->_M_start + __xlen; - } - else if (size() >= __xlen) { -- pointer __i = copy((const_pointer)__x._M_start+0, (const_pointer)__x._M_finish+0, _M_start); -- _Destroy(__i, _M_finish); -+ pointer __i = __copy_ptrs((const_pointer)__x._M_start+0, (const_pointer)__x._M_finish+0, (pointer)this->_M_start, _TrivialAss()); -+ _Destroy(__i, this->_M_finish); - } - else { -- copy((const_pointer)__x._M_start, (const_pointer)__x._M_start + size(), _M_start); -- uninitialized_copy((const_pointer)__x._M_start + size(), (const_pointer)__x._M_finish+0, _M_finish); -+ __copy_ptrs((const_pointer)__x._M_start, (const_pointer)__x._M_start + size(), (pointer)this->_M_start, _TrivialAss()); -+ __uninitialized_copy((const_pointer)__x._M_start + size(), (const_pointer)__x._M_finish+0, this->_M_finish, _IsPODType()); - } -- _M_finish = _M_start + __xlen; -+ this->_M_finish = this->_M_start + __xlen; - } - return *this; - } -@@ -199,83 +118,19 @@ - } - else if (__n > size()) { - fill(begin(), end(), __val); -- _M_finish = uninitialized_fill_n(_M_finish, __n - size(), __val); -+ this->_M_finish = _STLP_STD::uninitialized_fill_n(this->_M_finish, __n - size(), __val); - } - else -- erase(fill_n(begin(), __n, __val), end()); --} -- --template --void --__vector__<_Tp, _Alloc>::_M_insert_overflow(_Tp* __position, const _Tp& __x, size_t __fill_len) --{ -- const size_type __old_size = size(); -- const size_type __len = __old_size + max(__old_size, __fill_len); -- -- pointer __new_start = _M_end_of_storage.allocate(__len); -- pointer __new_finish = __new_start; -- __STL_TRY { -- __new_finish = uninitialized_copy(_M_start, __position, __new_start); -- // handle insertion -- if (__fill_len==1) { -- _Construct(__new_finish, __x); -- ++__new_finish; -- } -- else -- __new_finish = uninitialized_fill_n(__new_finish, __fill_len, __x); -- // copy remainder -- __new_finish = uninitialized_copy(__position, _M_finish, __new_finish); -- } -- __STL_UNWIND((_Destroy(__new_start,__new_finish), -- _M_end_of_storage.deallocate(__new_start,__len))); -- _Destroy(_M_start, _M_finish); -- _M_end_of_storage.deallocate(_M_start, _M_end_of_storage._M_data - _M_start); -- _M_start = __new_start; -- _M_finish = __new_finish; -- _M_end_of_storage._M_data = __new_start + __len; --} -- --template --void --__vector__<_Tp, _Alloc>::_M_fill_insert( -- __iterator__ __position, -- __size_type__ __n, const _Tp& __x) { -- if (__n != 0) { -- if (size_type(_M_end_of_storage._M_data - _M_finish) >= __n) { -- _Tp __x_copy = __x; -- const size_type __elems_after = _M_finish - __position; -- pointer __old_finish = _M_finish; -- if (__elems_after > __n) { -- uninitialized_copy(_M_finish - __n, _M_finish, _M_finish); -- _M_finish += __n; -- copy_backward(__position, __old_finish - __n, __old_finish); -- fill(__position, __position + __n, __x_copy); -- } -- else { -- uninitialized_fill_n(_M_finish, __n - __elems_after, __x_copy); -- _M_finish += __n - __elems_after; -- uninitialized_copy(__position, __old_finish, _M_finish); -- _M_finish += __elems_after; -- fill(__position, __old_finish, __x_copy); -- } -- } -- else -- _M_insert_overflow(__position, __x, __n); -- } -+ erase(_STLP_STD::fill_n(begin(), __n, __val), end()); - } - -+_STLP_END_NAMESPACE - --__STL_END_NAMESPACE -- --# undef __pointer__ --# undef __const_pointer__ --# undef __size_type__ --# undef __difference_type__ --# undef __iterator__ --# undef __const_iterator__ -+# undef size_type -+# undef iterator - # undef vector - --#endif /* __STL_VECTOR_C */ -+#endif /* _STLP_VECTOR_C */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_vector.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_vector.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/_vector.h Sat Feb 24 10:45:17 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/_vector.h Sun Aug 11 18:59:25 2002 -@@ -27,44 +27,45 @@ - * You should not attempt to use it directly. - */ - --#ifndef __SGI_STL_INTERNAL_VECTOR_H --#define __SGI_STL_INTERNAL_VECTOR_H -+#ifndef _STLP_INTERNAL_VECTOR_H -+#define _STLP_INTERNAL_VECTOR_H - --# ifndef __SGI_STL_INTERNAL_ALGOBASE_H -+ -+ -+# ifndef _STLP_INTERNAL_ALGOBASE_H - # include - # endif - --# ifndef __SGI_STL_INTERNAL_ALLOC_H -+# ifndef _STLP_INTERNAL_ALLOC_H - # include - # endif - --# ifndef __SGI_STL_INTERNAL_ITERATOR_H -+# ifndef _STLP_INTERNAL_ITERATOR_H - # include - # endif - --# ifndef __SGI_STL_INTERNAL_UNINITIALIZED_H -+# ifndef _STLP_INTERNAL_UNINITIALIZED_H - # include - # endif - --# ifndef __STL_RANGE_ERRORS_H -+# ifndef _STLP_RANGE_ERRORS_H - # include - # endif - - # undef vector - # define vector __WORKAROUND_DBG_RENAME(vector) - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - // The vector base class serves two purposes. First, its constructor - // and destructor allocate (but don't initialize) storage. This makes --// exception safety easier. Second, the base class encapsulates all of --// the differences between SGI-style allocators and standard-conforming --// allocators. -+// exception safety easier. - - template - class _Vector_base { - public: - -+ _STLP_FORCE_ALLOCATORS(_Tp, _Alloc) - typedef typename _Alloc_traits<_Tp, _Alloc>::allocator_type allocator_type; - - _Vector_base(const _Alloc& __a) -@@ -76,18 +77,21 @@ - _M_start = _M_end_of_storage.allocate(__n); - _M_finish = _M_start; - _M_end_of_storage._M_data = _M_start + __n; -- __STL_MPWFIX_TRY __STL_MPWFIX_CATCH //*TY 06/01/2000 - to keep the exception handling support facility in sane condition. -+ _STLP_MPWFIX_TRY _STLP_MPWFIX_CATCH - } - -- ~_Vector_base() { _M_end_of_storage.deallocate(_M_start, _M_end_of_storage._M_data - _M_start); } -+ ~_Vector_base() { -+ if (_M_start !=0) -+ _M_end_of_storage.deallocate(_M_start, _M_end_of_storage._M_data - _M_start); -+ } - - protected: - _Tp* _M_start; - _Tp* _M_finish; -- _STL_alloc_proxy<_Tp*, _Tp, allocator_type> _M_end_of_storage; -+ _STLP_alloc_proxy<_Tp*, _Tp, allocator_type> _M_end_of_storage; - }; - --template -+template - class vector : public _Vector_base<_Tp, _Alloc> - { - private: -@@ -106,108 +110,138 @@ - typedef ptrdiff_t difference_type; - typedef random_access_iterator_tag _Iterator_category; - -- __STL_DECLARE_RANDOM_ACCESS_REVERSE_ITERATORS; -- -+ _STLP_DECLARE_RANDOM_ACCESS_REVERSE_ITERATORS; -+ _STLP_FORCE_ALLOCATORS(_Tp, _Alloc) - typedef typename _Vector_base<_Tp, _Alloc>::allocator_type allocator_type; - - allocator_type get_allocator() const { -- return __STL_CONVERT_ALLOCATOR((const allocator_type&)_M_end_of_storage, _Tp); -+ return _STLP_CONVERT_ALLOCATOR((const allocator_type&)this->_M_end_of_storage, _Tp); - } -- - protected: --#if defined( __STL_HAS_NAMESPACES ) -- __STL_USING_BASE_MEMBER _Vector_base<_Tp, _Alloc>::_M_start; -- __STL_USING_BASE_MEMBER _Vector_base<_Tp, _Alloc>::_M_finish; -- __STL_USING_BASE_MEMBER _Vector_base<_Tp, _Alloc>::_M_end_of_storage; --#endif /* __STL_HAS_NAMESPACES */ -+ typedef typename __type_traits<_Tp>::has_trivial_assignment_operator _TrivialAss; -+ typedef typename __type_traits<_Tp>::has_trivial_assignment_operator _IsPODType; - -+ // handles insertions on overflow -+ void _M_insert_overflow(pointer __position, const _Tp& __x, const __false_type&, -+ size_type __fill_len, bool __atend = false) { -+ const size_type __old_size = size(); -+ const size_type __len = __old_size + (max)(__old_size, __fill_len); -+ -+ pointer __new_start = this->_M_end_of_storage.allocate(__len); -+ pointer __new_finish = __new_start; -+ _STLP_TRY { -+ __new_finish = __uninitialized_copy(this->_M_start, __position, __new_start, __false_type()); -+ // handle insertion -+ if (__fill_len == 1) { -+ _Construct(__new_finish, __x); -+ ++__new_finish; -+ } else -+ __new_finish = __uninitialized_fill_n(__new_finish, __fill_len, __x, __false_type()); -+ if (!__atend) -+ // copy remainder -+ __new_finish = __uninitialized_copy(__position, this->_M_finish, __new_finish, __false_type()); -+ } -+ _STLP_UNWIND((_Destroy(__new_start,__new_finish), -+ this->_M_end_of_storage.deallocate(__new_start,__len))); -+ _M_clear(); -+ _M_set(__new_start, __new_finish, __new_start + __len); -+ } - --protected: -- // handles both single and fill insertion on overflow -- void _M_insert_overflow(pointer __position, const _Tp& __x, size_type __n = 1); -+ void _M_insert_overflow(pointer __position, const _Tp& __x, const __true_type&, -+ size_type __fill_len, bool __atend = false) { -+ const size_type __old_size = size(); -+ const size_type __len = __old_size + (max)(__old_size, __fill_len); -+ -+ pointer __new_start = this->_M_end_of_storage.allocate(__len); -+ pointer __new_finish = (pointer)__copy_trivial(this->_M_start, __position, __new_start); -+ // handle insertion -+ __new_finish = fill_n(__new_finish, __fill_len, __x); -+ if (!__atend) -+ // copy remainder -+ __new_finish = (pointer)__copy_trivial(__position, this->_M_finish, __new_finish); -+ _M_clear(); -+ _M_set(__new_start, __new_finish, __new_start + __len); -+ } -+ -+ void _M_range_check(size_type __n) const { -+ if (__n >= size_type(this->_M_finish-this->_M_start)) -+ __stl_throw_out_of_range("vector"); -+ } - - public: -- iterator begin() { return _M_start; } -- const_iterator begin() const { return _M_start; } -- iterator end() { return _M_finish; } -- const_iterator end() const { return _M_finish; } -- -- reverse_iterator rbegin() -- { return reverse_iterator(end()); } -- const_reverse_iterator rbegin() const -- { return const_reverse_iterator(end()); } -- reverse_iterator rend() -- { return reverse_iterator(begin()); } -- const_reverse_iterator rend() const -- { return const_reverse_iterator(begin()); } -- -- size_type size() const -- { return size_type(_M_finish - _M_start); } -- size_type max_size() const -- { return size_type(-1) / sizeof(_Tp); } -- size_type capacity() const -- { return size_type(_M_end_of_storage._M_data - _M_start); } -- bool empty() const -- { return _M_start == _M_finish; } -+ iterator begin() { return this->_M_start; } -+ const_iterator begin() const { return this->_M_start; } -+ iterator end() { return this->_M_finish; } -+ const_iterator end() const { return this->_M_finish; } -+ -+ reverse_iterator rbegin() { return reverse_iterator(end()); } -+ const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); } -+ reverse_iterator rend() { return reverse_iterator(begin()); } -+ const_reverse_iterator rend() const { return const_reverse_iterator(begin()); } -+ -+ size_type size() const { return size_type(this->_M_finish - this->_M_start); } -+ size_type max_size() const { return size_type(-1) / sizeof(_Tp); } -+ size_type capacity() const { return size_type(this->_M_end_of_storage._M_data - this->_M_start); } -+ bool empty() const { return this->_M_start == this->_M_finish; } - - reference operator[](size_type __n) { return *(begin() + __n); } - const_reference operator[](size_type __n) const { return *(begin() + __n); } - -- void _M_range_check(size_type __n) const { -- if (__n >= size_type(_M_finish-_M_start)) -- __stl_throw_out_of_range("vector"); -- } -+ reference front() { return *begin(); } -+ const_reference front() const { return *begin(); } -+ reference back() { return *(end() - 1); } -+ const_reference back() const { return *(end() - 1); } - -- reference at(size_type __n) -- { _M_range_check(__n); return (*this)[__n]; } -- const_reference at(size_type __n) const -- { _M_range_check(__n); return (*this)[__n]; } -+ reference at(size_type __n) { _M_range_check(__n); return (*this)[__n]; } -+ const_reference at(size_type __n) const { _M_range_check(__n); return (*this)[__n]; } - -- explicit vector(const allocator_type& __a = allocator_type()) -- : _Vector_base<_Tp, _Alloc>(__a) {} -+ explicit vector(const allocator_type& __a = allocator_type()) : -+ _Vector_base<_Tp, _Alloc>(__a) {} - -- vector(size_type __n, const _Tp& __value, -+ vector(size_type __n, const _Tp& __val, - const allocator_type& __a = allocator_type()) - : _Vector_base<_Tp, _Alloc>(__n, __a) { -- _M_finish = uninitialized_fill_n(_M_start, __n, __value); -+ this->_M_finish = uninitialized_fill_n(this->_M_start, __n, __val); - } - - explicit vector(size_type __n) - : _Vector_base<_Tp, _Alloc>(__n, allocator_type() ) { -- _M_finish = uninitialized_fill_n(_M_start, __n, _Tp()); -+ this->_M_finish = uninitialized_fill_n(this->_M_start, __n, _Tp()); - } - - vector(const vector<_Tp, _Alloc>& __x) - : _Vector_base<_Tp, _Alloc>(__x.size(), __x.get_allocator()) { -- _M_finish = uninitialized_copy((const_pointer)__x._M_start, (const_pointer)__x._M_finish, _M_start); -+ this->_M_finish = __uninitialized_copy((const_pointer)__x._M_start, -+ (const_pointer)__x._M_finish, this->_M_start, _IsPODType()); - } - --#ifdef __STL_MEMBER_TEMPLATES -+#if defined (_STLP_MEMBER_TEMPLATES) - - template -- void _M_initialize_aux(_Integer __n, _Integer __value, __true_type) { -- _M_start = _M_end_of_storage.allocate(__n); -- _M_end_of_storage._M_data = _M_start + __n; -- _M_finish = uninitialized_fill_n(_M_start, __n, __value); -+ void _M_initialize_aux(_Integer __n, _Integer __val, const __true_type&) { -+ this->_M_start = this->_M_end_of_storage.allocate(__n); -+ this->_M_end_of_storage._M_data = this->_M_start + __n; -+ this->_M_finish = uninitialized_fill_n(this->_M_start, __n, __val); - } - - template - void _M_initialize_aux(_InputIterator __first, _InputIterator __last, -- __false_type) { -- _M_range_initialize(__first, __last, __ITERATOR_CATEGORY(__first)); -+ const __false_type&) { -+ _M_range_initialize(__first, __last, _STLP_ITERATOR_CATEGORY(__first, _InputIterator)); - } - - // Check whether it's an integral type. If so, it's not an iterator. -+ # ifdef _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS - template - vector(_InputIterator __first, _InputIterator __last) : - _Vector_base<_Tp, _Alloc>(allocator_type()) { - typedef typename _Is_integer<_InputIterator>::_Integral _Integral; - _M_initialize_aux(__first, __last, _Integral()); - } -- -+ # endif - template - vector(_InputIterator __first, _InputIterator __last, -- const allocator_type& __a) : -+ const allocator_type& __a _STLP_ALLOCATOR_TYPE_DFL ) : - _Vector_base<_Tp, _Alloc>(__a) { - typedef typename _Is_integer<_InputIterator>::_Integral _Integral; - _M_initialize_aux(__first, __last, _Integral()); -@@ -217,11 +251,11 @@ - vector(const _Tp* __first, const _Tp* __last, - const allocator_type& __a = allocator_type()) - : _Vector_base<_Tp, _Alloc>(__last - __first, __a) { -- _M_finish = uninitialized_copy(__first, __last, _M_start); -+ this->_M_finish = __uninitialized_copy(__first, __last, this->_M_start, _IsPODType()); - } --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - -- ~vector() { _Destroy(_M_start, _M_finish); } -+ ~vector() { _Destroy(this->_M_start, this->_M_finish); } - - vector<_Tp, _Alloc>& operator=(const vector<_Tp, _Alloc>& __x); - -@@ -234,27 +268,42 @@ - - void assign(size_type __n, const _Tp& __val) { _M_fill_assign(__n, __val); } - void _M_fill_assign(size_type __n, const _Tp& __val); -- --#ifdef __STL_MEMBER_TEMPLATES - -- template -- void assign(_InputIterator __first, _InputIterator __last) { -- typedef typename _Is_integer<_InputIterator>::_Integral _Integral; -- _M_assign_dispatch(__first, __last, _Integral()); -+#ifdef _STLP_MEMBER_TEMPLATES -+ template -+ void _M_assign_aux(_ForwardIter __first, _ForwardIter __last, const forward_iterator_tag &) -+#else -+ void assign(const_iterator __first, const_iterator __last) -+#endif -+ { -+ size_type __len = distance(__first, __last); -+ -+ if (__len > capacity()) { -+ iterator __tmp = _M_allocate_and_copy(__len, __first, __last); -+ _M_clear(); -+ _M_set(__tmp, __tmp + __len, __tmp + __len); -+ } -+ else if (size() >= __len) { -+ iterator __new_finish = copy(__first, __last, this->_M_start); -+ _Destroy(__new_finish, this->_M_finish); -+ this->_M_finish = __new_finish; -+ } -+ else { -+# if defined ( _STLP_MEMBER_TEMPLATES ) -+ _ForwardIter __mid = __first; -+ advance(__mid, size()); -+# else -+ const_iterator __mid = __first + size() ; -+# endif -+ copy(__first, __mid, this->_M_start); -+ this->_M_finish = __uninitialized_copy(__mid, __last, this->_M_finish, _IsPODType()); -+ } - } - -- template -- void _M_assign_dispatch(_Integer __n, _Integer __val, __true_type) -- { assign((size_type) __n, (_Tp) __val); } -- -- template -- void _M_assign_dispatch(_InputIter __first, _InputIter __last, __false_type) -- { _M_assign_aux(__first, __last, __ITERATOR_CATEGORY(__first)); } -- -- -+#ifdef _STLP_MEMBER_TEMPLATES - template - void _M_assign_aux(_InputIter __first, _InputIter __last, -- input_iterator_tag) { -+ const input_iterator_tag &) { - iterator __cur = begin(); - for ( ; __first != __last && __cur != end(); ++__cur, ++__first) - *__cur = *__first; -@@ -264,119 +313,75 @@ - insert(end(), __first, __last); - } - -- template -- void _M_assign_aux(_ForwardIter __first, _ForwardIter __last, -- forward_iterator_tag) --# if ! defined (__STL_INLINE_MEMBER_TEMPLATES) --; --# else -- { -- size_type __len = 0; -- distance(__first, __last, __len); -- -- if (__len > capacity()) { -- iterator __tmp = _M_allocate_and_copy(__len, __first, __last); -- _Destroy(_M_start, _M_finish); -- _M_end_of_storage.deallocate(_M_start, _M_end_of_storage._M_data - _M_start); -- _M_start = __tmp; -- _M_end_of_storage._M_data = _M_finish = _M_start + __len; -- } -- else if (size() >= __len) { -- iterator __new_finish = copy(__first, __last, _M_start); -- _Destroy(__new_finish, _M_finish); -- _M_finish = __new_finish; -- } -- else { -- _ForwardIter __mid = __first; -- advance(__mid, size()); -- copy(__first, __mid, _M_start); -- _M_finish = uninitialized_copy(__mid, __last, _M_finish); -- } -- } --# endif /* __STL_INLINE_MEMBER_TEMPLATES */ --#endif /* __STL_MEMBER_TEMPLATES */ -+ template -+ void _M_assign_dispatch(_Integer __n, _Integer __val, const __true_type&) -+ { assign((size_type) __n, (_Tp) __val); } - -- reference front() { return *begin(); } -- const_reference front() const { return *begin(); } -- reference back() { return *(end() - 1); } -- const_reference back() const { return *(end() - 1); } -+ template -+ void _M_assign_dispatch(_InputIter __first, _InputIter __last, const __false_type&) -+ { _M_assign_aux(__first, __last, _STLP_ITERATOR_CATEGORY(__first, _InputIter)); } - -- void push_back(const _Tp& __x) { -- if (_M_finish != _M_end_of_storage._M_data) { -- _Construct(_M_finish, __x); -- ++_M_finish; -- } -- else -- _M_insert_overflow(_M_finish, __x); -+ template -+ void assign(_InputIterator __first, _InputIterator __last) { -+ typedef typename _Is_integer<_InputIterator>::_Integral _Integral; -+ _M_assign_dispatch(__first, __last, _Integral()); - } -+#endif /* _STLP_MEMBER_TEMPLATES */ - -- void push_back() { -- if (_M_finish != _M_end_of_storage._M_data) { -- _Construct(_M_finish); -- ++_M_finish; -+ void push_back(const _Tp& __x) { -+ if (this->_M_finish != this->_M_end_of_storage._M_data) { -+ _Construct(this->_M_finish, __x); -+ ++this->_M_finish; - } - else -- _M_insert_overflow(_M_finish, _Tp()); -+ _M_insert_overflow(this->_M_finish, __x, _IsPODType(), 1UL, true); - } - - void swap(vector<_Tp, _Alloc>& __x) { -- __STLPORT_STD::swap(_M_start, __x._M_start); -- __STLPORT_STD::swap(_M_finish, __x._M_finish); -- __STLPORT_STD::swap(_M_end_of_storage._M_data, __x._M_end_of_storage._M_data); -+ _STLP_STD::swap(this->_M_start, __x._M_start); -+ _STLP_STD::swap(this->_M_finish, __x._M_finish); -+ _STLP_STD::swap(this->_M_end_of_storage, __x._M_end_of_storage); - } - - iterator insert(iterator __position, const _Tp& __x) { - size_type __n = __position - begin(); -- if (_M_finish != _M_end_of_storage._M_data) { -+ if (this->_M_finish != this->_M_end_of_storage._M_data) { - if (__position == end()) { -- _Construct(_M_finish, __x); -- ++_M_finish; -+ _Construct(this->_M_finish, __x); -+ ++this->_M_finish; - } else { -- _Construct(_M_finish, *(_M_finish - 1)); -- ++_M_finish; -- _Tp __x_copy = __x; -- copy_backward(__position, _M_finish - 2, _M_finish - 1); -- *__position = __x_copy; -+ _Construct(this->_M_finish, *(this->_M_finish - 1)); -+ ++this->_M_finish; -+ _Tp __x_copy = __x; -+ __copy_backward_ptrs(__position, this->_M_finish - 2, this->_M_finish - 1, _TrivialAss()); -+ *__position = __x_copy; - } - } - else -- _M_insert_overflow(__position, __x); -+ _M_insert_overflow(__position, __x, _IsPODType(), 1UL); - return begin() + __n; - } - -- iterator insert(iterator __position) { -- size_type __n = __position - begin(); -- if (_M_finish != _M_end_of_storage._M_data) { -- if (__position == end()) { -- _Construct(_M_finish); -- ++_M_finish; -- } else { -- _Construct(_M_finish, *(_M_finish - 1)); -- ++_M_finish; -- copy_backward(__position, _M_finish - 2, _M_finish - 1); -- *__position = _Tp(); -- } -- } -- else -- _M_insert_overflow(__position, _Tp()); -- return begin() + __n; -- } -+# ifndef _STLP_NO_ANACHRONISMS -+ void push_back() { push_back(_Tp()); } -+ iterator insert(iterator __position) { return insert(__position, _Tp()); } -+# endif - - void _M_fill_insert (iterator __pos, size_type __n, const _Tp& __x); - --#if defined ( __STL_MEMBER_TEMPLATES) // && ! defined (__STL_INLINE_MEMBER_TEMPLATES) -+#if defined ( _STLP_MEMBER_TEMPLATES) - - template - void _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __val, -- __true_type) { -+ const __true_type&) { - _M_fill_insert(__pos, (size_type) __n, (_Tp) __val); - } - - template - void _M_insert_dispatch(iterator __pos, - _InputIterator __first, _InputIterator __last, -- __false_type) { -- _M_range_insert(__pos, __first, __last, __ITERATOR_CATEGORY(__first)); -+ const __false_type&) { -+ _M_range_insert(__pos, __first, __last, _STLP_ITERATOR_CATEGORY(__first, _InputIterator)); - } - - // Check whether it's an integral type. If so, it's not an iterator. -@@ -386,29 +391,89 @@ - _M_insert_dispatch(__pos, __first, __last, _Integral()); - } - --#else /* __STL_MEMBER_TEMPLATES */ -+ template -+ void _M_range_insert(iterator __pos, -+ _InputIterator __first, -+ _InputIterator __last, -+ const input_iterator_tag &) { -+ for ( ; __first != __last; ++__first) { -+ __pos = insert(__pos, *__first); -+ ++__pos; -+ } -+ } -+ -+ template -+ void _M_range_insert(iterator __position, -+ _ForwardIterator __first, -+ _ForwardIterator __last, -+ const forward_iterator_tag &) -+#else /* _STLP_MEMBER_TEMPLATES */ - void insert(iterator __position, -- const_iterator __first, const_iterator __last); --#endif /* __STL_MEMBER_TEMPLATES */ -+ const_iterator __first, const_iterator __last) -+#endif /* _STLP_MEMBER_TEMPLATES */ - -- void insert (iterator __pos, size_type __n, const _Tp& __x) -- { _M_fill_insert(__pos, __n, __x); } -+ { -+ if (__first != __last) { -+ size_type __n = distance(__first, __last); - -+ if (size_type(this->_M_end_of_storage._M_data - this->_M_finish) >= __n) { -+ const size_type __elems_after = this->_M_finish - __position; -+ pointer __old_finish = this->_M_finish; -+ if (__elems_after > __n) { -+ __uninitialized_copy(this->_M_finish - __n, this->_M_finish, this->_M_finish, _IsPODType()); -+ this->_M_finish += __n; -+ __copy_backward_ptrs(__position, __old_finish - __n, __old_finish, _TrivialAss()); -+ copy(__first, __last, __position); -+ } -+ else { -+# if defined ( _STLP_MEMBER_TEMPLATES ) -+ _ForwardIterator __mid = __first; -+ advance(__mid, __elems_after); -+# else -+ const_pointer __mid = __first + __elems_after; -+# endif -+ __uninitialized_copy(__mid, __last, this->_M_finish, _IsPODType()); -+ this->_M_finish += __n - __elems_after; -+ __uninitialized_copy(__position, __old_finish, this->_M_finish, _IsPODType()); -+ this->_M_finish += __elems_after; -+ copy(__first, __mid, __position); -+ } /* elems_after */ -+ } -+ else { -+ const size_type __old_size = size(); -+ const size_type __len = __old_size + (max)(__old_size, __n); -+ pointer __new_start = this->_M_end_of_storage.allocate(__len); -+ pointer __new_finish = __new_start; -+ _STLP_TRY { -+ __new_finish = __uninitialized_copy(this->_M_start, __position, __new_start, _IsPODType()); -+ __new_finish = __uninitialized_copy(__first, __last, __new_finish, _IsPODType()); -+ __new_finish = __uninitialized_copy(__position, this->_M_finish, __new_finish, _IsPODType()); -+ } -+ _STLP_UNWIND((_Destroy(__new_start,__new_finish), -+ this->_M_end_of_storage.deallocate(__new_start,__len))); -+ _M_clear(); -+ _M_set(__new_start, __new_finish, __new_start + __len); -+ } -+ } -+ } -+ void insert (iterator __pos, size_type __n, const _Tp& __x) -+ { _M_fill_insert(__pos, __n, __x); } -+ - void pop_back() { -- --_M_finish; -- _Destroy(_M_finish); -+ --this->_M_finish; -+ _Destroy(this->_M_finish); - } - iterator erase(iterator __position) { - if (__position + 1 != end()) -- copy(__position + 1, _M_finish, __position); -- --_M_finish; -- _Destroy(_M_finish); -+ __copy_ptrs(__position + 1, this->_M_finish, __position, _TrivialAss()); -+ --this->_M_finish; -+ _Destroy(this->_M_finish); - return __position; - } - iterator erase(iterator __first, iterator __last) { -- pointer __i = copy(__last, _M_finish, __first); -- _Destroy(__i, _M_finish); -- _M_finish = __i; -+ pointer __i = __copy_ptrs(__last, this->_M_finish, __first, _TrivialAss()); -+ _Destroy(__i, this->_M_finish); -+ this->_M_finish = __i; - return __first; - } - -@@ -425,161 +490,100 @@ - - protected: - --#ifdef __STL_MEMBER_TEMPLATES -+ void _M_clear() { -+ // if (this->_M_start) { -+ _Destroy(this->_M_start, this->_M_finish); -+ this->_M_end_of_storage.deallocate(this->_M_start, this->_M_end_of_storage._M_data - this->_M_start); -+ // } -+ } -+ -+ void _M_set(pointer __s, pointer __f, pointer __e) { -+ this->_M_start = __s; -+ this->_M_finish = __f; -+ this->_M_end_of_storage._M_data = __e; -+ } -+ -+#ifdef _STLP_MEMBER_TEMPLATES - template - pointer _M_allocate_and_copy(size_type __n, _ForwardIterator __first, -- _ForwardIterator __last) { -- pointer __result = _M_end_of_storage.allocate(__n); -- __STL_TRY { -- uninitialized_copy(__first, __last, __result); -- return __result; -- } -- __STL_UNWIND(_M_end_of_storage.deallocate(__result, __n)); --# ifdef __STL_THROW_RETURN_BUG -- return __result; --# endif -- } --#else /* __STL_MEMBER_TEMPLATES */ -+ _ForwardIterator __last) -+#else /* _STLP_MEMBER_TEMPLATES */ - pointer _M_allocate_and_copy(size_type __n, const_pointer __first, - const_pointer __last) -+#endif /* _STLP_MEMBER_TEMPLATES */ - { -- pointer __result = _M_end_of_storage.allocate(__n); -- __STL_TRY { -+ pointer __result = this->_M_end_of_storage.allocate(__n); -+ _STLP_TRY { -+#if !defined(__MRC__) //*TY 12/17/2000 - added workaround for MrCpp. it confuses on nested try/catch block -+ __uninitialized_copy(__first, __last, __result, _IsPODType()); -+#else - uninitialized_copy(__first, __last, __result); -+#endif - return __result; - } -- __STL_UNWIND(_M_end_of_storage.deallocate(__result, __n)); --# ifdef __STL_THROW_RETURN_BUG -+ _STLP_UNWIND(this->_M_end_of_storage.deallocate(__result, __n)); -+# ifdef _STLP_THROW_RETURN_BUG - return __result; - # endif - } --#endif /* __STL_MEMBER_TEMPLATES */ - --#ifdef __STL_MEMBER_TEMPLATES -+ -+#ifdef _STLP_MEMBER_TEMPLATES - template - void _M_range_initialize(_InputIterator __first, -- _InputIterator __last, input_iterator_tag) -- { -+ _InputIterator __last, const input_iterator_tag &) { - for ( ; __first != __last; ++__first) - push_back(*__first); - } -- - // This function is only called by the constructor. - template - void _M_range_initialize(_ForwardIterator __first, -- _ForwardIterator __last, forward_iterator_tag) -- { -- size_type __n = 0; -- distance(__first, __last, __n); -- _M_start = _M_end_of_storage.allocate(__n); -- _M_end_of_storage._M_data = _M_start + __n; -- _M_finish = uninitialized_copy(__first, __last, _M_start); -+ _ForwardIterator __last, const forward_iterator_tag &) { -+ size_type __n = distance(__first, __last); -+ this->_M_start = this->_M_end_of_storage.allocate(__n); -+ this->_M_end_of_storage._M_data = this->_M_start + __n; -+ this->_M_finish = __uninitialized_copy(__first, __last, this->_M_start, _IsPODType()); - } -- -- template -- void _M_range_insert(iterator __pos, -- _InputIterator __first, -- _InputIterator __last, -- input_iterator_tag) -- { -- for ( ; __first != __last; ++__first) { -- __pos = insert(__pos, *__first); -- ++__pos; -- } -- } -- -- template -- void _M_range_insert(iterator __position, -- _ForwardIterator __first, -- _ForwardIterator __last, -- forward_iterator_tag) --# ifndef __STL_INLINE_MEMBER_TEMPLATES -- ; --# else -- { -- if (__first != __last) { -- size_type __n = 0; -- distance(__first, __last, __n); -- if (size_type(_M_end_of_storage._M_data - _M_finish) >= __n) { -- const size_type __elems_after = _M_finish - __position; -- pointer __old_finish = _M_finish; -- if (__elems_after > __n) { -- uninitialized_copy(_M_finish - __n, _M_finish, _M_finish); -- _M_finish += __n; -- copy_backward(__position, __old_finish - __n, __old_finish); -- copy(__first, __last, __position); -- } -- else { -- _ForwardIterator __mid = __first; -- advance(__mid, __elems_after); -- uninitialized_copy(__mid, __last, _M_finish); -- _M_finish += __n - __elems_after; -- uninitialized_copy(__position, __old_finish, _M_finish); -- _M_finish += __elems_after; -- copy(__first, __mid, __position); -- } -- } -- else { -- const size_type __old_size = size(); -- const size_type __len = __old_size + max(__old_size, __n); -- pointer __new_start = _M_end_of_storage.allocate(__len); -- pointer __new_finish = __new_start; -- __STL_TRY { -- __new_finish = uninitialized_copy(_M_start, __position, __new_start); -- __new_finish = uninitialized_copy(__first, __last, __new_finish); -- __new_finish -- = uninitialized_copy(__position, _M_finish, __new_finish); -- } -- __STL_UNWIND((_Destroy(__new_start,__new_finish), -- _M_end_of_storage.deallocate(__new_start,__len))); -- _Destroy(_M_start, _M_finish); -- _M_end_of_storage.deallocate(_M_start, _M_end_of_storage._M_data - _M_start); -- _M_start = __new_start; -- _M_finish = __new_finish; -- _M_end_of_storage._M_data = __new_start + __len; -- } -- } -- } --# endif /* __STL_INLINE_MEMBER_TEMPLATES */ --#endif /* __STL_MEMBER_TEMPLATES */ -+ -+#endif /* _STLP_MEMBER_TEMPLATES */ - }; - --# define __STL_TEMPLATE_CONTAINER vector<_Tp, _Alloc> --# define __STL_TEMPLATE_HEADER template -+# define _STLP_TEMPLATE_CONTAINER vector<_Tp, _Alloc> -+# define _STLP_TEMPLATE_HEADER template - # include --# undef __STL_TEMPLATE_CONTAINER --# undef __STL_TEMPLATE_HEADER -+# undef _STLP_TEMPLATE_CONTAINER -+# undef _STLP_TEMPLATE_HEADER - --# if defined (__STL_USE_TEMPLATE_EXPORT) --__STL_EXPORT_TEMPLATE_CLASS allocator; --__STL_EXPORT_TEMPLATE_CLASS _STL_alloc_proxy >; --__STL_EXPORT_TEMPLATE_CLASS _Vector_base >; --__STL_EXPORT_TEMPLATE_CLASS vector >; -+# if defined (_STLP_USE_TEMPLATE_EXPORT) -+_STLP_EXPORT_TEMPLATE_CLASS allocator; -+_STLP_EXPORT_TEMPLATE_CLASS _STLP_alloc_proxy >; -+_STLP_EXPORT_TEMPLATE_CLASS _Vector_base >; -+_STLP_EXPORT_TEMPLATE_CLASS vector >; - # endif - - # undef vector - # undef __vector__ - # define __vector__ __WORKAROUND_RENAME(vector) - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --# if !defined (__STL_LINK_TIME_INSTANTIATION) -+# if !defined (_STLP_LINK_TIME_INSTANTIATION) - # include - # endif - --#ifndef __SGI_STL_INTERNAL_BVECTOR_H -+#ifndef _STLP_INTERNAL_BVECTOR_H - # include - #endif - --# if defined (__STL_DEBUG) -+# if defined (_STLP_DEBUG) - # include - # endif - --# if defined (__STL_USE_WRAPPER_FOR_ALLOC_PARAM) -+# if defined (_STLP_USE_WRAPPER_FOR_ALLOC_PARAM) - # include - # endif - --#endif /* __SGI_STL_VECTOR_H */ -+#endif /* _STLP_VECTOR_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/c_locale.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/c_locale.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/c_locale.h Sat Feb 24 10:44:36 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/c_locale.h Fri Feb 14 16:26:19 2003 -@@ -16,20 +16,9 @@ - * - */ - --/* -- * It is impossible to write the C++ locale library in terms of locales -- * as defined in the C standard. Instead, we write the C++ locale and I/O -- * library in terms of a low level C-like interface. This file defines -- * that interface. -- * -- * The low-level locale interface can't be written portably; there -- * must be a version of it for each platform that the C++ library -- * is ported to. On many systems this interface may be a thin wrapper -- * for existing functionality. -- */ - --#ifndef __STL_C_LOCALE_H --# define __STL_C_LOCALE_H -+#ifndef _STLP_C_LOCALE_H -+# define _STLP_C_LOCALE_H - - /* - * Implementation dependent definitions -@@ -39,62 +28,70 @@ - #endif - - #if defined(__sgi) -- - # if defined(ROOT_65) /* IRIX 6.5.x */ - # include - # include - # include - # include - --#else -+# else - /* IRIX pre-6.5 */ -- - # include - # include - --#if !defined(_SIZE_T) && !defined(_SIZE_T_) --#define _SIZE_T --#if (_MIPS_SZLONG == 32) -+# if !defined(_SIZE_T) && !defined(_SIZE_T_) -+# define _SIZE_T -+# if (_MIPS_SZLONG == 32) - typedef unsigned int size_t; --#endif --#if (_MIPS_SZLONG == 64) -+# endif -+# if (_MIPS_SZLONG == 64) - typedef unsigned long size_t; --#endif --#endif -+# endif -+# endif - --#ifndef _WCHAR_T --#define _WCHAR_T --#if (_MIPS_SZLONG == 32) -+# ifndef _WCHAR_T -+# define _WCHAR_T -+# if (_MIPS_SZLONG == 32) - typedef long wchar_t; --#endif --#if (_MIPS_SZLONG == 64) -+# endif -+# if (_MIPS_SZLONG == 64) - typedef __int32_t wchar_t; --#endif --#endif /* _WCHAR_T */ -+# endif -+# endif /* _WCHAR_T */ - --#ifndef _WINT_T --# define _WINT_T --#if (_MIPS_SZLONG == 32) -+# ifndef _WINT_T -+# define _WINT_T -+# if (_MIPS_SZLONG == 32) - typedef long wint_t; --#endif --#if (_MIPS_SZLONG == 64) -+# endif -+# if (_MIPS_SZLONG == 64) - typedef __int32_t wint_t; --#endif --#endif /* _WINT_T */ -+# endif -+# endif /* _WINT_T */ - --#ifndef _MBSTATE_T --# define _MBSTATE_T -+# ifndef _MBSTATE_T -+# define _MBSTATE_T -+# ifdef _MSC_VER -+ typedef int mbstate_t; -+# else - typedef char mbstate_t; --#endif /* _MBSTATE_T */ -+# endif -+# endif /* _MBSTATE_T */ - --# endif -+# endif /* ROOT65 */ - --#else -+# else /* __sgi */ - - # ifdef __cplusplus -+# ifndef _STLP_CSTDDEF - # include -+# endif -+# ifndef _STLP_CWCHAR - # include -+# endif -+# ifndef _STLP_CCTYPE - # include -+# endif - # else - # include - # include -@@ -114,112 +111,14 @@ - struct _Locale_monetary; - struct _Locale_messages; - --#ifdef __cplusplus --__STL_BEGIN_NAMESPACE --extern "C" { --#endif -- -- --#define _Locale_MAX_SIMPLE_NAME 256 -- --/* -- * A number: the maximum length of a simple locale name. -- * (i.e. a name like like en_US, as opposed to a name like -- * en_US/de_AT/de_AT/es_MX/en_US/en_US) */ --#define _Locale_MAX_COMPOSITE_NAME 6*(_Locale_MAX_SIMPLE_NAME+3) -- --/* -- * Maximum length of a composite locale. -- */ -- --void * _Locale_ctype_create(const char *); --void * _Locale_numeric_create(const char *); --void * _Locale_time_create(const char *); --void * _Locale_collate_create(const char *); --void * _Locale_monetary_create(const char *); --void * _Locale_messages_create(const char *); -- --/* -- * The char* argument is a simple locale name. -- * These functions return NULL to indicate failure. -- * The char* argument is a simple locale name, which may not -- * be "". These functions return NULL to indicate failure. -- */ -- --const char * _Locale_ctype_default(char * __buf); --const char * _Locale_numeric_default(char * __buf); --const char * _Locale_time_default(char * __buf); --const char * _Locale_collate_default(char * __buf); --const char * _Locale_monetary_default(char * __buf); --const char * _Locale_messages_default(char * __buf); -- --/* -- * Returns the name of the user's default locale in each -- * category, as a null-terminated string. A NULL value -- * means the default "C" locale. -- */ -- --char * _Locale_ctype_name(const void *, char *); --char * _Locale_numeric_name(const void *, char *); --char * _Locale_time_name(const void *, char *); --char * _Locale_collate_name(const void *, char *); --char * _Locale_monetary_name(const void *, char *); --char * _Locale_messages_name(const void *, char *); -- --/* -- * __buf points to a buffer that can hold at least _Locale_MAX_SIMPLE_NAME -- * characters. These functions store the name, as a null-terminated -- * string, in __buf. -- */ -- --void _Locale_ctype_destroy(void *); --void _Locale_numeric_destroy(void *); --void _Locale_time_destroy(void *); --void _Locale_collate_destroy(void *); --void _Locale_monetary_destroy(void *); --void _Locale_messages_destroy(void *); -- --char * _Locale_extract_ctype_name(const char *cname, char *__buf); --char * _Locale_extract_numeric_name(const char *cname, char *__buf); --char * _Locale_extract_time_name(const char *cname, char *__buf); --char * _Locale_extract_collate_name(const char *cname, char *__buf); --char * _Locale_extract_monetary_name(const char *cname, char *__buf); --char * _Locale_extract_messages_name(const char *cname, char *__buf); -- --/* -- * cname is a (possibly composite) locale name---i.e. a name that can -- * be passed to setlocale. _buf points to an array large enough to -- * store at least _Locale_MAX_SIMPLE_NAME characters, and each of these -- * functions extracts the name of a single category, stores it in buf -- * as a null-terminated string, and returns buf. -- */ -- --char * _Locale_compose_name(char *__buf, -- const char *__Ctype, const char *__Numeric, -- const char *__Time, const char *__Collate, -- const char *__Monetary, const char *__Messages); -- - /* -- * The inputs to this function are six null-terminated strings: the -- * names of a locale's six categories. __buf is a pointer to an array -- * large enough to store at least _Locale_MAX_COMPOSITE_NAME characters. -- * This function constructs a (possibly composite) name describing the -- * locale as a whole, stores that name in buf as a null-terminated -- * string, and returns buf. -- */ -- --/* -- * FUNCTIONS THAT USE CTYPE -- */ -+ Bitmask macros. -+*/ - - /* - * For narrow characters, we expose the lookup table interface. - */ - --/* -- Bitmask macros. --*/ -- - /* Internal bitmask macros, os-specific. */ - - #if defined(__sgi) /* IRIX */ -@@ -254,7 +153,32 @@ - - #endif /* IRIX */ - --#if defined(__GNUC__) -+ -+#if defined( __Lynx__ ) -+ /* azov: On Lynx isalpha defined as (_U | _L), which gives us a mask -+ * unusable in ctype_table. So we have to redefine it and use hard-coded -+ * numbers (to avoid potential clashes if system headers change). -+ * -+ * P.S. Actually, I see no reason in using platform-specific masks - -+ * having just one set of masks for all platforms should work just as -+ * well - we only use them internally and they don't have to be equal -+ * to whatever defined in local ctype.h -+ * -+ */ -+# define _Locale_CNTRL 040 /* _C, Control character */ -+# define _Locale_UPPER 01 /* _U, Upper case */ -+# define _Locale_LOWER 02 /* _L, Lower case */ -+# define _Locale_DIGIT 04 /* _N, Numeral (digit) */ -+# define _Locale_XDIGIT 0200 /* _X, heXadecimal digit */ -+# define _Locale_PUNCT 020 /* _P, Punctuation */ -+# define _Locale_SPACE 010 /* _S, Spacing */ -+# define _Locale_ALPHA 040000 /* none, Alphanumerical */ -+# define _Locale_PRINT (_Locale_PUNCT | _Locale_UPPER | _Locale_LOWER | \ -+ _Locale_DIGIT | _Locale_ALPHA | _Locale_XDIGIT |\ -+ _Locale_SPACE ) /* Printable */ -+# endif /* __Lynx__ */ -+ -+#if defined(__GNUC__) || defined (__BORLANDC__) || defined (__COMO__) - - # if defined (__CYGWIN__) - -@@ -280,8 +204,19 @@ - # define _Locale_PRINT _CTYPE_R - # define _Locale_ALPHA _CTYPE_A - -+# elif defined (__NetBSD__) || defined(__OpenBSD__) || defined (__amigaos__) -+ -+# define _Locale_CNTRL _C -+# define _Locale_UPPER _U -+# define _Locale_LOWER _L -+# define _Locale_DIGIT _N -+# define _Locale_XDIGIT (_N|_X) -+# define _Locale_PUNCT _P -+# define _Locale_SPACE _S -+# define _Locale_PRINT (_P|_U|_L|_N|_B) -+# define _Locale_ALPHA (_U|_L) - --# elif defined(__STL_USE_GLIBC) /* linux, using the gnu compiler */ -+# elif defined(_STLP_USE_GLIBC) /* linux, using the gnu compiler */ - - /* This section uses macros defined in the gnu libc ctype.h header */ - -@@ -299,15 +234,12 @@ - - #endif /* gnu */ - -- - #if ( defined(__sun) && defined (__SVR4) ) \ - || (defined (__digital__) && defined (__unix__)) \ -- || defined(__xlC__) \ -- || defined(__OpenBSD__) -+ || defined(_AIX) - /* fbp : condition from AT&T code*/ - #if !(defined(__XPG4_CHAR_CLASS__) || defined(_XPG4_2) || \ -- (defined(_XOPEN_SOURCE) && (_XOPEN_VERSION - 0 == 4))) && ! defined (_ISCNTRL) \ -- || defined(__OpenBSD__) -+ (defined(_XOPEN_SOURCE) && (_XOPEN_VERSION - 0 == 4))) && ! defined (_ISCNTRL) - /* fbp : on 2.5.1, the defines are different ;( */ - // # if ( defined (__sun) && defined (__SVR4) && ! defined (_ISCNTRL) ) - # define _ISCNTRL _C -@@ -358,8 +290,8 @@ - # define _Locale_XDIGIT _HEX - # define _Locale_PUNCT _PUNCT - # define _Locale_SPACE _SPACE --# define _Locale_PRINT (_ALPHA | _DIGIT | _SPACE | _PUNCT) -- /* was : (_BLANK|_PUNCT|_UPPER|_LOWER|_DIGIT) */ -+# define _Locale_PRINT (_ALPHA | _DIGIT | _BLANK | _PUNCT) -+// is this one has to be so complex ? - # define _Locale_ALPHA ( _ALPHA & ~ (_UPPER | _LOWER )) - #elif defined(__MRC__) || defined(__SC__) //*TY 02/24/2000 - added support for MPW - # define _Locale_CNTRL _CTL -@@ -381,7 +313,35 @@ - # define _Locale_SPACE 64 - # define _Locale_PRINT 128 - # define _Locale_ALPHA 256 -+ -+# elif defined (__GNUC__) && defined (__APPLE__) -+ -+# define _Locale_CNTRL _C -+# define _Locale_UPPER _U -+# define _Locale_LOWER _L -+# define _Locale_DIGIT _D -+# define _Locale_XDIGIT _X -+# define _Locale_PUNCT _P -+# define _Locale_SPACE _S -+# define _Locale_PRINT _R -+# define _Locale_ALPHA _A -+ - # elif defined (__hpux) || defined (__osf__) -+ -+# if defined(__HP_aCC) && !defined(_INCLUDE_HPUX_SOURCE) -+# define _ISALPHA 0x001 -+# define _ISALNUM 0x002 -+# define _ISBLANK 0x004 -+# define _ISCNTRL 0x008 -+# define _ISDIGIT 0x010 -+# define _ISGRAPH 0x020 -+# define _ISLOWER 0x040 -+# define _ISPRINT 0x080 -+# define _ISPUNCT 0x100 -+# define _ISSPACE 0x200 -+# define _ISUPPER 0x400 -+# define _ISXDIGIT 0x800 -+# endif - # define _Locale_CNTRL _ISCNTRL - # define _Locale_UPPER _ISUPPER - # define _Locale_LOWER _ISLOWER -@@ -391,269 +351,56 @@ - # define _Locale_SPACE _ISSPACE - # define _Locale_PRINT _ISPRINT - # define _Locale_ALPHA _ISALPHA -+# elif defined (__MVS__) || defined(__OS400__) -+# define _Locale_CNTRL __ISCNTRL -+# define _Locale_UPPER __ISUPPER -+# define _Locale_LOWER __ISLOWER -+# define _Locale_DIGIT __ISDIGIT -+# define _Locale_XDIGIT __ISXDIGIT -+# define _Locale_PUNCT __ISPUNCT -+# define _Locale_SPACE __ISSPACE -+# define _Locale_PRINT __ISPRINT -+# define _Locale_ALPHA __ISALPHA -+# elif defined (__QNXNTO__) || defined (__WATCOMC__) -+# define _Locale_CNTRL _CNTRL -+# define _Locale_UPPER _UPPER -+# define _Locale_LOWER _LOWER -+# define _Locale_DIGIT _DIGIT -+# define _Locale_XDIGIT _XDIGT -+# define _Locale_PUNCT _PUNCT -+# define _Locale_SPACE _SPACE -+# define _Locale_PRINT _PRINT -+# define _Locale_ALPHA (_UPPER | _LOWER) -+#elif defined (__DJGPP) -+# define _Locale_CNTRL __dj_ISCNTRL -+# define _Locale_UPPER __dj_ISUPPER -+# define _Locale_LOWER __dj_ISLOWER -+# define _Locale_DIGIT __dj_ISDIGIT -+# define _Locale_XDIGIT __dj_ISXDIGIT -+# define _Locale_PUNCT __dj_ISPUNCT -+# define _Locale_SPACE __dj_ISSPACE -+# define _Locale_PRINT __dj_ISPRINT -+# define _Locale_ALPHA __dj_ISALPHA -+#elif defined (_STLP_SCO_OPENSERVER) -+# define _Locale_CNTRL _C -+# define _Locale_UPPER _U -+# define _Locale_LOWER _L -+# define _Locale_DIGIT _N -+# define _Locale_XDIGIT _X -+# define _Locale_PUNCT _P -+# define _Locale_SPACE _S -+# define _Locale_PRINT _R -+# define _Locale_ALPHA _A -+#elif defined (__NCR_SVR) -+# define _Locale_CNTRL _C -+# define _Locale_UPPER _U -+# define _Locale_LOWER _L -+# define _Locale_DIGIT _N -+# define _Locale_XDIGIT _X -+# define _Locale_PUNCT _P -+# define _Locale_SPACE _S -+# define _Locale_PRINT (_P | _U | _L | _N | _B) -+# define _Locale_ALPHA (_U | _L) - #endif - --/* -- * Typedefs: -- */ -- --#ifdef __GNUC__ --typedef unsigned short int _Locale_mask_t; --#else --typedef unsigned int _Locale_mask_t; --#endif -- --/* -- * Narrow character functions: -- */ -- --_Locale_mask_t * _Locale_ctype_table(struct _Locale_ctype *); -- --/* -- * Returns a pointer to the beginning of the ctype table. The table is -- * at least 257 bytes long; if p is the pointer returned by this -- * function, then p[c] is valid if c is EOF or if p is any value of -- * type unsigned char. -- */ -- --int _Locale_toupper(struct _Locale_ctype *, int); --int _Locale_tolower(struct _Locale_ctype *, int); -- --/* -- * c is either EOF, or an unsigned char value. -- */ -- --# ifndef __STL_NO_WCHAR_T --/* -- * Wide character functions: -- */ --_Locale_mask_t _Locale_wchar_ctype(struct _Locale_ctype *, wint_t); --wint_t _Locale_wchar_tolower(struct _Locale_ctype *, wint_t); --wint_t _Locale_wchar_toupper(struct _Locale_ctype *, wint_t); --# endif -- --# ifndef __STL_NO_MBSTATE_T -- --/* -- * Multibyte functions: -- */ -- --int _Locale_mb_cur_max (struct _Locale_ctype *); --/* -- * Returns the number of bytes of the longest allowed multibyte -- * character in the current encoding. -- */ -- --int _Locale_mb_cur_min (struct _Locale_ctype *); --/* -- * Returns the number of bytes of the shortest allowed multibyte -- * character in the current encoding. -- */ -- --int _Locale_is_stateless (struct _Locale_ctype *); --/* -- * Returns 1 if the current multibyte encoding is stateless -- * and does not require the use of an mbstate_t value. -- */ -- --wint_t _Locale_btowc(struct _Locale_ctype *, int); --int _Locale_wctob(struct _Locale_ctype *, wint_t); -- --/* -- * Just like btowc and wctob, from 4.6.5.1 of the C standard, Normative -- * Addendum 1. (And just like widen/narrow, from clause 22 of the C++ -- * standard.) -- */ -- --size_t _Locale_mbtowc(struct _Locale_ctype *, -- wchar_t *, -- const char *, size_t, -- mbstate_t *); -- --/* -- * Almost identical to mbrtowc, from 4.6.5.3.2 of NA1. The only -- * important difference is that mbrtowc treats null wide characters -- * as special, and we don't. Specifically: examines the characters -- * in [from, from + n), extracts a single wide character, and stores -- * it in *to. Modifies shift_state if appropriate. The return value, -- * which is always positive, is the number of characters extracted from -- * the input sequence. Return value is (size_t) -1 if there was an -- * encoding error in the input sequence, and (size_t) -2 if -- * [from, from + n) is correct but not complete. None of the pointer -- * arguments may be null pointers. -- */ -- --size_t _Locale_wctomb(struct _Locale_ctype *, -- char *, size_t, -- const wchar_t, -- mbstate_t *); -- --/* -- * Again, very similar to wcrtomb. The differences are that (1) it -- * doesn't treat null characters as special; and (2) it stores at most -- * n characters. Converts c to a multibyte sequence, stores that -- * sequence in the array 'to', and returns the length of the sequence. -- * Modifies shift_state if appropriate. The return value is (size_t) -1 -- * if c is not a valid wide character, and (size_t) -2 if the length of -- * the multibyte character sequence is greater than n. -- */ -- --size_t _Locale_unshift(struct _Locale_ctype *, -- mbstate_t *, -- char *, size_t, char **); -- --/* -- * Inserts whatever characters are necessary to restore st to an -- * initial shift state. Sets *next to buf + m, where m is the number -- * of characters inserted. (0 <= m <= n.) Returns m to indicate -- * success, (size_t) -1 to indicate error, (size_t) -2 to indicate -- * partial success (more than n characters needed). For success or partial -- * success, sets *next to buf + m. -- */ -- --# endif /* __STL_NO_MBSTATE_T */ -- --/* -- * FUNCTIONS THAT USE COLLATE -- */ -- --int _Locale_strcmp(struct _Locale_collate *, -- const char *, size_t, -- const char *, size_t); --# ifndef __STL_NO_WCHAR_T --int _Locale_strwcmp(struct _Locale_collate *, -- const wchar_t *, size_t, -- const wchar_t *, size_t); --# endif --/* -- * Compares the two sequences [s1, s1 + n1) and [s2, s2 + n2). Neither -- * sequence is assumed to be null-terminated, and null characters -- * aren't special. If the two sequences are the same up through -- * min(n1, n2), then the sequence that compares less is whichever one -- * is shorter. -- */ -- --size_t _Locale_strxfrm(struct _Locale_collate *, -- char *, size_t, -- const char *, size_t); -- --# ifndef __STL_NO_WCHAR_T --size_t _Locale_strwxfrm(struct _Locale_collate *, -- wchar_t *, size_t, -- const wchar_t *, size_t); --# endif -- --/* -- * Creates a transformed version of the string [s2, s2 + n2). The -- * string may contain embedded null characters; nulls aren't special. -- * The transformed string begins at s1, and contains at most n1 -- * characters. The return value is the length of the transformed -- * string. If the return value is greater than n1 then this is an -- * error condition: it indicates that there wasn't enough space. In -- * that case, the contents of [s1, s1 + n1) is unspecified. --*/ -- --/* -- * FUNCTIONS THAT USE NUMERIC -- */ -- --char _Locale_decimal_point(struct _Locale_numeric *); --char _Locale_thousands_sep(struct _Locale_numeric *); --const char * _Locale_grouping(struct _Locale_numeric *); -- --/* -- * Equivalent to the first three fields in struct lconv. (C standard, -- * section 7.4.) -- */ -- --const char * _Locale_true(struct _Locale_numeric *); --const char * _Locale_false(struct _Locale_numeric *); -- --/* -- * Return "true" and "false" in English locales, and something -- * appropriate in non-English locales. -- */ -- --/* -- * FUNCTIONS THAT USE MONETARY -- */ -- --const char * _Locale_int_curr_symbol(struct _Locale_monetary *); --const char * _Locale_currency_symbol(struct _Locale_monetary *); --char _Locale_mon_decimal_point(struct _Locale_monetary *); --char _Locale_mon_thousands_sep(struct _Locale_monetary *); --const char * _Locale_mon_grouping(struct _Locale_monetary *); --const char * _Locale_positive_sign(struct _Locale_monetary *); --const char * _Locale_negative_sign(struct _Locale_monetary *); --char _Locale_int_frac_digits(struct _Locale_monetary *); --char _Locale_frac_digits(struct _Locale_monetary *); --int _Locale_p_cs_precedes(struct _Locale_monetary *); --int _Locale_p_sep_by_space(struct _Locale_monetary *); --int _Locale_p_sign_posn(struct _Locale_monetary *); --int _Locale_n_cs_precedes(struct _Locale_monetary *); --int _Locale_n_sep_by_space(struct _Locale_monetary *); --int _Locale_n_sign_posn(struct _Locale_monetary *); -- --/* -- * Return the obvious fields of struct lconv. -- */ -- --/* -- * FUNCTIONS THAT USE TIME -- */ -- --const char ** _Locale_full_monthname(struct _Locale_time *); --const char ** _Locale_abbrev_monthname(struct _Locale_time *); -- --/* -- * month is in the range [0, 12). -- */ -- --const char ** _Locale_full_dayofweek(struct _Locale_time *); --const char ** _Locale_abbrev_dayofweek(struct _Locale_time *); -- --/* -- * day is in the range [0, 7). Sunday is 0. -- */ -- --const char * _Locale_d_t_fmt(struct _Locale_time *); --const char * _Locale_d_fmt(struct _Locale_time *); --const char * _Locale_t_fmt(struct _Locale_time *); --const char * _Locale_am_str(struct _Locale_time *); --const char * _Locale_pm_str(struct _Locale_time *); --const char * _Locale_t_fmt_ampm(struct _Locale_time *); -- -- --/* -- * FUNCTIONS THAT USE MESSAGES -- */ -- --int _Locale_catopen(struct _Locale_messages*, const char*); -- --/* -- * Very similar to catopen, except that it uses L to determine -- * which catalog to open. -- */ -- --void _Locale_catclose(struct _Locale_messages*, int); -- --/* -- * catalog is a value that was returned by a previous call to -- * _Locale_catopen -- */ -- --const char * _Locale_catgets(struct _Locale_messages *, int, -- int, int,const char *); -- --/* -- * Returns a string, identified by a set index and a message index, -- * from an opened message catalog. Returns default if no such -- * string exists. -- */ -- --# ifdef __cplusplus --} --__STL_END_NAMESPACE --# endif -- --# endif /* __STL_C_LOCALE_H */ -+# endif /* _STLP_C_LOCALE_H */ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/char_traits.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/char_traits.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/char_traits.h Sat Feb 24 10:44:35 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/char_traits.h Sun Aug 11 18:59:25 2002 -@@ -16,23 +16,22 @@ - * - */ - --#ifndef __SGI_STL_CHAR_TRAITS_H --#define __SGI_STL_CHAR_TRAITS_H -- -+#ifndef _STLP_CHAR_TRAITS_H -+#define _STLP_CHAR_TRAITS_H - - // Define char_traits - --# if defined (__SGI_STL_OWN_IOSTREAMS) || ! defined (__STL_USE_NEW_IOSTREAMS) -+# if defined (_STLP_OWN_IOSTREAMS) || ! defined (_STLP_USE_NEW_IOSTREAMS) - --# if ! defined (__STLPORT_CSTDDEF) -+# if ! defined (_STLP_CSTDDEF) - # include - # endif - --# if defined (__STL_HAS_WCHAR_T) && !defined (__STLPORT_CWCHAR) -+# if !defined (_STLP_CWCHAR) - # include - # endif - --#if ! defined (__STLPORT_CSTRING) -+#if ! defined (_STLP_CSTRING) - # include - #endif - -@@ -40,7 +39,83 @@ - # include - #endif - --__STL_BEGIN_NAMESPACE -+#if defined (_STLP_UNIX) && defined (_STLP_HAS_NO_NEW_C_HEADERS) -+#include // For off_t -+#endif /* __unix */ -+ -+#ifdef __BORLANDC__ -+# include -+# include -+# include <_stddef.h> -+class mbstate_t; -+#endif -+ -+_STLP_BEGIN_NAMESPACE -+ -+# ifdef _STLP_OWN_IOSTREAMS -+ -+template class allocator; -+ -+#define _STLP_NULL_CHAR_INIT(_ChT) _STLP_DEFAULT_CONSTRUCTED(_ChT) -+ -+#if defined (__sgi) && defined (_STLP_HAS_NO_NEW_C_HEADERS) /* IRIX */ -+typedef off64_t streamoff; -+// #elif defined (__unix) && defined (_STLP_HAS_NO_NEW_C_HEADERS) /* Other version of UNIX */ -+// typedef off_t streamoff; -+#else /* __unix */ -+// boris : here, it's not ptrdiff_t as some Solaris systems have confusing definitions of these. -+typedef long streamoff; -+#endif /* _STLP_HAS_NO_NEW_C_HEADERS */ -+ -+typedef ptrdiff_t streamsize; -+ -+// Class fpos, which represents a position within a file. (The C++ -+// standard calls for it to be defined in . This implementation -+// moves it to , which is included by .) -+template class fpos -+{ -+public: // From table 88 of the C++ standard. -+ fpos(streamoff __pos) : _M_pos(__pos), _M_st(_STLP_NULL_CHAR_INIT(_StateT)) {} -+ fpos() : _M_pos(0), _M_st(_STLP_NULL_CHAR_INIT(_StateT)) {} -+ -+ operator streamoff() const { return _M_pos; } -+ -+ bool _STLP_CALL operator==(const fpos<_StateT>& __y) const -+ { return _M_pos == __y._M_pos; } -+ bool _STLP_CALL operator!=(const fpos<_StateT>& __y) const -+ { return _M_pos != __y._M_pos; } -+ -+ fpos<_StateT>& operator+=(streamoff __off) { -+ _M_pos += __off; -+ return *this; -+ } -+ fpos<_StateT>& operator-=(streamoff __off) { -+ _M_pos -= __off; -+ return *this; -+ } -+ -+ fpos<_StateT> operator+(streamoff __off) { -+ fpos<_StateT> __tmp(*this); -+ __tmp += __off; -+ return __tmp; -+ } -+ fpos<_StateT> operator-(streamoff __off) { -+ fpos<_StateT> __tmp(*this); -+ __tmp -= __off; -+ return __tmp; -+ } -+ -+public: // Manipulation of the state member. -+ _StateT state() const { return _M_st; } -+ void state(_StateT __st) { _M_st = __st; } -+private: -+ streamoff _M_pos; -+ _StateT _M_st; -+}; -+ -+typedef fpos streampos; -+typedef fpos wstreampos; -+# endif - - // Class __char_traits_base. - -@@ -48,38 +123,38 @@ - public: - typedef _CharT char_type; - typedef _IntT int_type; --#ifdef __STL_USE_NEW_IOSTREAMS -+#ifdef _STLP_USE_NEW_IOSTREAMS - typedef streamoff off_type; - typedef streampos pos_type; --# ifdef __STL_NO_MBSTATE_T -+# ifdef _STLP_NO_MBSTATE_T - typedef char state_type; - # else - typedef mbstate_t state_type; - # endif --#endif /* __STL_USE_NEW_IOSTREAMS */ -+#endif /* _STLP_USE_NEW_IOSTREAMS */ - -- static void __STL_CALL assign(char_type& __c1, const char_type& __c2) { __c1 = __c2; } -- static bool __STL_CALL eq(const _CharT& __c1, const _CharT& __c2) -+ static void _STLP_CALL assign(char_type& __c1, const char_type& __c2) { __c1 = __c2; } -+ static bool _STLP_CALL eq(const _CharT& __c1, const _CharT& __c2) - { return __c1 == __c2; } -- static bool __STL_CALL lt(const _CharT& __c1, const _CharT& __c2) -+ static bool _STLP_CALL lt(const _CharT& __c1, const _CharT& __c2) - { return __c1 < __c2; } - -- static int __STL_CALL compare(const _CharT* __s1, const _CharT* __s2, size_t __n) { -+ static int _STLP_CALL compare(const _CharT* __s1, const _CharT* __s2, size_t __n) { - for (size_t __i = 0; __i < __n; ++__i) - if (!eq(__s1[__i], __s2[__i])) - return __s1[__i] < __s2[__i] ? -1 : 1; - return 0; - } - -- static size_t __STL_CALL length(const _CharT* __s) { -- const _CharT _NullChar = __STL_DEFAULT_CONSTRUCTED(_CharT); -+ static size_t _STLP_CALL length(const _CharT* __s) { -+ const _CharT _NullChar = _STLP_DEFAULT_CONSTRUCTED(_CharT); - size_t __i; - for (__i = 0; !eq(__s[__i], _NullChar); ++__i) - {} - return __i; - } - -- static const _CharT* __STL_CALL find(const _CharT* __s, size_t __n, const _CharT& __c) { -+ static const _CharT* _STLP_CALL find(const _CharT* __s, size_t __n, const _CharT& __c) { - for ( ; __n > 0 ; ++__s, --__n) - if (eq(*__s, __c)) - return __s; -@@ -87,40 +162,38 @@ - } - - -- static _CharT* __STL_CALL move(_CharT* __s1, const _CharT* __s2, size_t _Sz) { -- memmove(__s1, __s2, _Sz * sizeof(_CharT)); -- return __s1; -+ static _CharT* _STLP_CALL move(_CharT* __s1, const _CharT* __s2, size_t _Sz) { -+ return (_Sz == 0 ? __s1 : (_CharT*)memmove(__s1, __s2, _Sz * sizeof(_CharT))); - } -+ -+ static _CharT* _STLP_CALL copy(_CharT* __s1, const _CharT* __s2, size_t __n) { -+ return (__n == 0 ? __s1 : -+ (_CharT*)memcpy(__s1, __s2, __n * sizeof(_CharT))); -+ } - -- -- static _CharT* __STL_CALL copy(_CharT* __s1, const _CharT* __s2, size_t __n) { -- memcpy(__s1, __s2, __n * sizeof(_CharT)); -- return __s1; -- } -- -- static _CharT* __STL_CALL assign(_CharT* __s, size_t __n, _CharT __c) { -+ static _CharT* _STLP_CALL assign(_CharT* __s, size_t __n, _CharT __c) { - for (size_t __i = 0; __i < __n; ++__i) - __s[__i] = __c; - return __s; - } - -- static int_type __STL_CALL not_eof(const int_type& __c) { -- return !eq_int_type(__c, eof()) ? __c : 0; -+ static int_type _STLP_CALL not_eof(const int_type& __c) { -+ return !eq_int_type(__c, eof()) ? __c : __STATIC_CAST(int_type, 0); - } - -- static char_type __STL_CALL to_char_type(const int_type& __c) { -+ static char_type _STLP_CALL to_char_type(const int_type& __c) { - return (char_type)__c; - } - -- static int_type __STL_CALL to_int_type(const char_type& __c) { -+ static int_type _STLP_CALL to_int_type(const char_type& __c) { - return (int_type)__c; - } - -- static bool __STL_CALL eq_int_type(const int_type& __c1, const int_type& __c2) { -+ static bool _STLP_CALL eq_int_type(const int_type& __c1, const int_type& __c2) { - return __c1 == __c2; - } - -- static int_type __STL_CALL eof() { -+ static int_type _STLP_CALL eof() { - return (int_type)-1; - // return __STATIC_CAST(int_type,-1); - } -@@ -137,47 +210,47 @@ - - // Specialization for char. - --__STL_TEMPLATE_NULL class __STL_CLASS_DECLSPEC char_traits -+_STLP_TEMPLATE_NULL class _STLP_CLASS_DECLSPEC char_traits - : public __char_traits_base - { - public: - typedef char char_type; - typedef int int_type; --#ifdef __STL_USE_NEW_IOSTREAMS -+#ifdef _STLP_USE_NEW_IOSTREAMS - typedef streamoff off_type; --# ifndef __STL_NO_MBSTATE_T -+# ifndef _STLP_NO_MBSTATE_T - typedef streampos pos_type; - typedef mbstate_t state_type; - # endif --#endif /* __STL_USE_NEW_IOSTREAMS */ -+#endif /* _STLP_USE_NEW_IOSTREAMS */ - -- static char __STL_CALL to_char_type(const int& __c) { -+ static char _STLP_CALL to_char_type(const int& __c) { - return (char)(unsigned char)__c; - } - -- static int __STL_CALL to_int_type(const char& __c) { -+ static int _STLP_CALL to_int_type(const char& __c) { - return (unsigned char)__c; - } - -- static int __STL_CALL compare(const char* __s1, const char* __s2, size_t __n) -+ static int _STLP_CALL compare(const char* __s1, const char* __s2, size_t __n) - { return memcmp(__s1, __s2, __n); } - -- static size_t __STL_CALL length(const char* __s) { return strlen(__s); } -+ static size_t _STLP_CALL length(const char* __s) { return strlen(__s); } - -- static void __STL_CALL assign(char& __c1, const char& __c2) { __c1 = __c2; } -+ static void _STLP_CALL assign(char& __c1, const char& __c2) { __c1 = __c2; } - -- static char* __STL_CALL assign(char* __s, size_t __n, char __c) -+ static char* _STLP_CALL assign(char* __s, size_t __n, char __c) - { memset(__s, __c, __n); return __s; } - }; - --# if defined (__STL_HAS_WCHAR_T) -+# if defined (_STLP_HAS_WCHAR_T) - // Specialization for wchar_t. --__STL_TEMPLATE_NULL class __STL_CLASS_DECLSPEC char_traits -+_STLP_TEMPLATE_NULL class _STLP_CLASS_DECLSPEC char_traits - : public __char_traits_base - {}; - # endif - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - - # else /* OWN_IOSTREAMS */ - -@@ -185,7 +258,7 @@ - - # endif /* OWN_IOSTREAMS */ - --#endif /* __SGI_STL_CHAR_TRAITS_H */ -+#endif /* _STLP_CHAR_TRAITS_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/concept_checks.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/concept_checks.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/concept_checks.h Sat Feb 24 10:44:35 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/concept_checks.h Sun Aug 11 18:59:25 2002 -@@ -44,33 +44,33 @@ - - */ - --#ifndef __STL_USE_CONCEPT_CHECKS -+#ifndef _STLP_USE_CONCEPT_CHECKS - - // Some compilers lack the features that are necessary for concept checks. - // On those compilers we define the concept check macros to do nothing. --#define __STL_REQUIRES(__type_var, __concept) do {} while(0) --#define __STL_CLASS_REQUIRES(__type_var, __concept) \ -+#define _STLP_REQUIRES(__type_var, __concept) do {} while(0) -+#define _STLP_CLASS_REQUIRES(__type_var, __concept) \ - static int __##__type_var##_##__concept --#define __STL_CONVERTIBLE(__type_x, __type_y) do {} while(0) --#define __STL_REQUIRES_SAME_TYPE(__type_x, __type_y) do {} while(0) --#define __STL_CLASS_REQUIRES_SAME_TYPE(__type_x, __type_y) \ -+#define _STLP_CONVERTIBLE(__type_x, __type_y) do {} while(0) -+#define _STLP_REQUIRES_SAME_TYPE(__type_x, __type_y) do {} while(0) -+#define _STLP_CLASS_REQUIRES_SAME_TYPE(__type_x, __type_y) \ - static int __##__type_x##__type_y##_require_same_type --#define __STL_GENERATOR_CHECK(__func, __ret) do {} while(0) --#define __STL_CLASS_GENERATOR_CHECK(__func, __ret) \ -+#define _STLP_GENERATOR_CHECK(__func, __ret) do {} while(0) -+#define _STLP_CLASS_GENERATOR_CHECK(__func, __ret) \ - static int __##__func##__ret##_generator_check --#define __STL_UNARY_FUNCTION_CHECK(__func, __ret, __arg) do {} while(0) --#define __STL_CLASS_UNARY_FUNCTION_CHECK(__func, __ret, __arg) \ -+#define _STLP_UNARY_FUNCTION_CHECK(__func, __ret, __arg) do {} while(0) -+#define _STLP_CLASS_UNARY_FUNCTION_CHECK(__func, __ret, __arg) \ - static int __##__func##__ret##__arg##_unary_function_check --#define __STL_BINARY_FUNCTION_CHECK(__func, __ret, __first, __second) \ -+#define _STLP_BINARY_FUNCTION_CHECK(__func, __ret, __first, __second) \ - do {} while(0) --#define __STL_CLASS_BINARY_FUNCTION_CHECK(__func, __ret, __first, __second) \ -+#define _STLP_CLASS_BINARY_FUNCTION_CHECK(__func, __ret, __first, __second) \ - static int __##__func##__ret##__first##__second##_binary_function_check --#define __STL_REQUIRES_BINARY_OP(__opname, __ret, __first, __second) \ -+#define _STLP_REQUIRES_BINARY_OP(__opname, __ret, __first, __second) \ - do {} while(0) --#define __STL_CLASS_REQUIRES_BINARY_OP(__opname, __ret, __first, __second) \ -+#define _STLP_CLASS_REQUIRES_BINARY_OP(__opname, __ret, __first, __second) \ - static int __##__opname##__ret##__first##__second##_require_binary_op - --#else /* __STL_USE_CONCEPT_CHECKS */ -+#else /* _STLP_USE_CONCEPT_CHECKS */ - - // This macro tests whether the template argument "__type_var" - // satisfies the requirements of "__concept". Here is a list of concepts -@@ -91,20 +91,20 @@ - // _Mutable_BidirectionalIterator - // _Mutable_RandomAccessIterator - --#define __STL_REQUIRES(__type_var, __concept) \ -+#define _STLP_REQUIRES(__type_var, __concept) \ - do { \ - void (*__x)( __type_var ) = __concept##_concept_specification< __type_var >\ - ::##__concept##_requirement_violation; __x = __x; } while (0) - - // Use this to check whether type X is convertible to type Y --#define __STL_CONVERTIBLE(__type_x, __type_y) \ -+#define _STLP_CONVERTIBLE(__type_x, __type_y) \ - do { \ - void (*__x)( __type_x , __type_y ) = _STL_CONVERT_ERROR< __type_x , \ - __type_y >::__type_X_is_not_convertible_to_type_Y; \ - __x = __x; } while (0) - - // Use this to test whether two template arguments are the same type --#define __STL_REQUIRES_SAME_TYPE(__type_x, __type_y) \ -+#define _STLP_REQUIRES_SAME_TYPE(__type_x, __type_y) \ - do { \ - void (*__x)( __type_x , __type_y ) = _STL_SAME_TYPE_ERROR< __type_x, \ - __type_y >::__type_X_not_same_as_type_Y; \ -@@ -112,7 +112,7 @@ - - - // function object checks --#define __STL_GENERATOR_CHECK(__func, __ret) \ -+#define _STLP_GENERATOR_CHECK(__func, __ret) \ - do { \ - __ret (*__x)( __func&) = \ - _STL_GENERATOR_ERROR< \ -@@ -120,7 +120,7 @@ - __x = __x; } while (0) - - --#define __STL_UNARY_FUNCTION_CHECK(__func, __ret, __arg) \ -+#define _STLP_UNARY_FUNCTION_CHECK(__func, __ret, __arg) \ - do { \ - __ret (*__x)( __func&, const __arg& ) = \ - _STL_UNARY_FUNCTION_ERROR< \ -@@ -128,7 +128,7 @@ - __x = __x; } while (0) - - --#define __STL_BINARY_FUNCTION_CHECK(__func, __ret, __first, __second) \ -+#define _STLP_BINARY_FUNCTION_CHECK(__func, __ret, __first, __second) \ - do { \ - __ret (*__x)( __func&, const __first&, const __second& ) = \ - _STL_BINARY_FUNCTION_ERROR< \ -@@ -136,7 +136,7 @@ - __x = __x; } while (0) - - --#define __STL_REQUIRES_BINARY_OP(__opname, __ret, __first, __second) \ -+#define _STLP_REQUIRES_BINARY_OP(__opname, __ret, __first, __second) \ - do { \ - __ret (*__x)( __first&, __second& ) = _STL_BINARY##__opname##_ERROR< \ - __ret, __first, __second>::__binary_operator_requirement_violation; \ -@@ -146,14 +146,14 @@ - __y = __y; __x = __x; } while (0) - - --#ifdef __STL_NO_FUNCTION_PTR_IN_CLASS_TEMPLATE -+#ifdef _STLP_NO_FUNCTION_PTR_IN_CLASS_TEMPLATE - --#define __STL_CLASS_REQUIRES(__type_var, __concept) --#define __STL_CLASS_REQUIRES_SAME_TYPE(__type_x, __type_y) --#define __STL_CLASS_GENERATOR_CHECK(__func, __ret) --#define __STL_CLASS_UNARY_FUNCTION_CHECK(__func, __ret, __arg) --#define __STL_CLASS_BINARY_FUNCTION_CHECK(__func, __ret, __first, __second) --#define __STL_CLASS_REQUIRES_BINARY_OP(__opname, __ret, __first, __second) -+#define _STLP_CLASS_REQUIRES(__type_var, __concept) -+#define _STLP_CLASS_REQUIRES_SAME_TYPE(__type_x, __type_y) -+#define _STLP_CLASS_GENERATOR_CHECK(__func, __ret) -+#define _STLP_CLASS_UNARY_FUNCTION_CHECK(__func, __ret, __arg) -+#define _STLP_CLASS_BINARY_FUNCTION_CHECK(__func, __ret, __first, __second) -+#define _STLP_CLASS_REQUIRES_BINARY_OP(__opname, __ret, __first, __second) - - #else - -@@ -162,7 +162,7 @@ - // Warning: do not pass pointers and such (e.g. T*) in as the __type_var, - // since the type_var is used to construct identifiers. Instead typedef - // the pointer type, then use the typedef name for the __type_var. --#define __STL_CLASS_REQUIRES(__type_var, __concept) \ -+#define _STLP_CLASS_REQUIRES(__type_var, __concept) \ - typedef void (* __func##__type_var##__concept)( __type_var ); \ - template <__func##__type_var##__concept _Tp1> \ - struct __dummy_struct_##__type_var##__concept { }; \ -@@ -172,7 +172,7 @@ - __dummy_ptr_##__type_var##__concept - - --#define __STL_CLASS_REQUIRES_SAME_TYPE(__type_x, __type_y) \ -+#define _STLP_CLASS_REQUIRES_SAME_TYPE(__type_x, __type_y) \ - typedef void (* __func_##__type_x##__type_y##same_type)( __type_x, \ - __type_y ); \ - template < __func_##__type_x##__type_y##same_type _Tp1> \ -@@ -182,7 +182,7 @@ - __dummy_ptr_##__type_x##__type_y##_same_type - - --#define __STL_CLASS_GENERATOR_CHECK(__func, __ret) \ -+#define _STLP_CLASS_GENERATOR_CHECK(__func, __ret) \ - typedef __ret (* __f_##__func##__ret##_generator)( __func& ); \ - template <__f_##__func##__ret##_generator _Tp1> \ - struct __dummy_struct_##__func##__ret##_generator { }; \ -@@ -192,7 +192,7 @@ - __dummy_ptr_##__func##__ret##_generator - - --#define __STL_CLASS_UNARY_FUNCTION_CHECK(__func, __ret, __arg) \ -+#define _STLP_CLASS_UNARY_FUNCTION_CHECK(__func, __ret, __arg) \ - typedef __ret (* __f_##__func##__ret##__arg##_unary_check)( __func&, \ - const __arg& ); \ - template <__f_##__func##__ret##__arg##_unary_check _Tp1> \ -@@ -203,7 +203,7 @@ - __dummy_ptr_##__func##__ret##__arg##_unary_check - - --#define __STL_CLASS_BINARY_FUNCTION_CHECK(__func, __ret, __first, __second) \ -+#define _STLP_CLASS_BINARY_FUNCTION_CHECK(__func, __ret, __first, __second) \ - typedef __ret (* __f_##__func##__ret##__first##__second##_binary_check)( __func&, const __first&,\ - const __second& ); \ - template <__f_##__func##__ret##__first##__second##_binary_check _Tp1> \ -@@ -214,7 +214,7 @@ - __dummy_ptr_##__func##__ret##__first##__second##_binary_check - - --#define __STL_CLASS_REQUIRES_BINARY_OP(__opname, __ret, __first, __second) \ -+#define _STLP_CLASS_REQUIRES_BINARY_OP(__opname, __ret, __first, __second) \ - typedef __ret (* __f_##__func##__ret##__first##__second##_binary_op)(const __first&, \ - const __second& ); \ - template <__f_##__func##__ret##__first##__second##_binary_op _Tp1> \ -@@ -320,7 +320,7 @@ - }; - - --#define __STL_DEFINE_BINARY_OP_CHECK(_OP, _NAME) \ -+#define _STLP_DEFINE_BINARY_OP_CHECK(_OP, _NAME) \ - template \ - struct _STL_BINARY##_NAME##_ERROR { \ - static _Ret \ -@@ -335,17 +335,17 @@ - } \ - } - --__STL_DEFINE_BINARY_OP_CHECK(==, _OP_EQUAL); --__STL_DEFINE_BINARY_OP_CHECK(!=, _OP_NOT_EQUAL); --__STL_DEFINE_BINARY_OP_CHECK(<, _OP_LESS_THAN); --__STL_DEFINE_BINARY_OP_CHECK(<=, _OP_LESS_EQUAL); --__STL_DEFINE_BINARY_OP_CHECK(>, _OP_GREATER_THAN); --__STL_DEFINE_BINARY_OP_CHECK(>=, _OP_GREATER_EQUAL); --__STL_DEFINE_BINARY_OP_CHECK(+, _OP_PLUS); --__STL_DEFINE_BINARY_OP_CHECK(*, _OP_TIMES); --__STL_DEFINE_BINARY_OP_CHECK(/, _OP_DIVIDE); --__STL_DEFINE_BINARY_OP_CHECK(-, _OP_SUBTRACT); --__STL_DEFINE_BINARY_OP_CHECK(%, _OP_MOD); -+_STLP_DEFINE_BINARY_OP_CHECK(==, _OP_EQUAL); -+_STLP_DEFINE_BINARY_OP_CHECK(!=, _OP_NOT_EQUAL); -+_STLP_DEFINE_BINARY_OP_CHECK(<, _OP_LESS_THAN); -+_STLP_DEFINE_BINARY_OP_CHECK(<=, _OP_LESS_EQUAL); -+_STLP_DEFINE_BINARY_OP_CHECK(>, _OP_GREATER_THAN); -+_STLP_DEFINE_BINARY_OP_CHECK(>=, _OP_GREATER_EQUAL); -+_STLP_DEFINE_BINARY_OP_CHECK(+, _OP_PLUS); -+_STLP_DEFINE_BINARY_OP_CHECK(*, _OP_TIMES); -+_STLP_DEFINE_BINARY_OP_CHECK(/, _OP_DIVIDE); -+_STLP_DEFINE_BINARY_OP_CHECK(-, _OP_SUBTRACT); -+_STLP_DEFINE_BINARY_OP_CHECK(%, _OP_MOD); - // ... - - // TODO, add unary operators (prefix and postfix) -@@ -490,9 +490,9 @@ - - /* Associated Type Requirements */ - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - template struct iterator_traits; --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - - template - struct __value_type_type_definition_requirement_violation { -@@ -763,19 +763,19 @@ - } - }; - --#define __STL_TYPEDEF_REQUIREMENT(__REQUIREMENT) \ -+#define _STLP_TYPEDEF_REQUIREMENT(__REQUIREMENT) \ - template \ - struct __##__REQUIREMENT##__typedef_requirement_violation { \ - typedef typename Type::__REQUIREMENT __REQUIREMENT; \ - }; - --__STL_TYPEDEF_REQUIREMENT(value_type); --__STL_TYPEDEF_REQUIREMENT(difference_type); --__STL_TYPEDEF_REQUIREMENT(size_type); --__STL_TYPEDEF_REQUIREMENT(reference); --__STL_TYPEDEF_REQUIREMENT(const_reference); --__STL_TYPEDEF_REQUIREMENT(pointer); --__STL_TYPEDEF_REQUIREMENT(const_pointer); -+_STLP_TYPEDEF_REQUIREMENT(value_type); -+_STLP_TYPEDEF_REQUIREMENT(difference_type); -+_STLP_TYPEDEF_REQUIREMENT(size_type); -+_STLP_TYPEDEF_REQUIREMENT(reference); -+_STLP_TYPEDEF_REQUIREMENT(const_reference); -+_STLP_TYPEDEF_REQUIREMENT(pointer); -+_STLP_TYPEDEF_REQUIREMENT(const_pointer); - - - template -@@ -797,11 +797,11 @@ - __pointer__typedef_requirement_violation<_Alloc>(); - __const_pointer__typedef_requirement_violation<_Alloc>(); - typedef typename _Alloc::value_type _Type; -- __STL_REQUIRES_SAME_TYPE(typename _Alloc::rebind<_Type>::other, _Alloc); -+ _STLP_REQUIRES_SAME_TYPE(typename _Alloc::rebind<_Type>::other, _Alloc); - } - }; - --#endif /* __STL_USE_CONCEPT_CHECKS */ -+#endif /* _STLP_USE_CONCEPT_CHECKS */ - - #endif /* __CONCEPT_CHECKS_H */ - -Only in tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl: container_concepts.h -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/debug/_debug.c tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/debug/_debug.c ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/debug/_debug.c Sat Feb 24 10:45:18 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/debug/_debug.c Sun Aug 11 18:59:25 2002 -@@ -17,17 +17,152 @@ - * - */ - --# ifndef __STLPORT_DEBUG_C --# define __STLPORT_DEBUG_C -+# ifndef _STLP_DEBUG_C -+# define _STLP_DEBUG_C -+ -+#if defined ( _STLP_DEBUG ) -+ -+# ifdef _STLP_THREADS -+# ifndef _STLP_NEED_MUTABLE -+# define _STLP_ACQUIRE_LOCK(_Lock) _Lock._M_acquire_lock(); -+# define _STLP_RELEASE_LOCK(_Lock) _Lock._M_release_lock(); -+# else -+# define _STLP_ACQUIRE_LOCK(_Lock) ((_STLP_mutex&)_Lock)._M_acquire_lock(); -+# define _STLP_RELEASE_LOCK(_Lock) ((_STLP_mutex&)_Lock)._M_release_lock(); -+# endif /* _STLP_NEED_MUTABLE */ -+# else -+# define _STLP_ACQUIRE_LOCK(_Lock) -+# define _STLP_RELEASE_LOCK(_Lock) -+# endif /* _STLP_THREADS */ -+ -+_STLP_BEGIN_NAMESPACE -+ -+//========================================================== -+// global non-inline functions -+//========================================================== -+ -+// [ i1, i2) -+template -+inline bool _STLP_CALL -+__in_range_aux(const _Iterator& __it, const _Iterator& __first, -+ const _Iterator& __last, const random_access_iterator_tag &) { -+ return ( __it >= __first && -+ __it < __last); -+} -+ -+template -+# if defined (_STLP_MSVC) && (_STLP_MSVC >= 1100) -+inline bool _STLP_CALL __in_range_aux(_Iterator1 __it, const _Iterator& __first, -+# else -+inline bool _STLP_CALL __in_range_aux(const _Iterator1& __it, const _Iterator& __first, -+# endif -+ const _Iterator& __last, const forward_iterator_tag &) { -+ _Iterator1 __i(__first); -+ for (; __i != __last && __i != __it; ++__i); -+ return (__i!=__last); -+} -+ -+# if defined (_STLP_NONTEMPL_BASE_MATCH_BUG) -+template -+inline bool _STLP_CALL -+__in_range_aux(const _Iterator1& __it, const _Iterator& __first, -+ const _Iterator& __last, const bidirectional_iterator_tag &) { -+ _Iterator1 __i(__first); -+ for (; __i != __last && __i != __it; ++__i); -+ return (__i !=__last); -+} -+# endif -+ -+template -+bool _STLP_CALL __check_range(const _Iterator& __first, const _Iterator& __last) { -+ _STLP_VERBOSE_RETURN(__valid_range(__first,__last), _StlMsg_INVALID_RANGE ) -+ return true; -+} -+ -+template -+bool _STLP_CALL __check_range(const _Iterator& __it, -+ const _Iterator& __start, const _Iterator& __finish) { -+ _STLP_VERBOSE_RETURN(__in_range(__it,__start, __finish), -+ _StlMsg_NOT_IN_RANGE_1) -+ return true; -+} -+ -+template -+bool _STLP_CALL __check_range(const _Iterator& __first, const _Iterator& __last, -+ const _Iterator& __start, const _Iterator& __finish) { -+ _STLP_VERBOSE_RETURN(__in_range(__first, __last, __start, __finish), -+ _StlMsg_NOT_IN_RANGE_2) -+ return true; -+} -+ -+//=============================================================== -+ -+template -+void _STLP_CALL __invalidate_range(const __owned_list* __base, -+ const _Iterator& __first, -+ const _Iterator& __last) -+{ -+ typedef _Iterator* _Safe_iterator_ptr; -+ typedef __owned_link _L_type; -+ _STLP_ACQUIRE_LOCK(__base->_M_lock) -+ _L_type* __pos; -+ _L_type* __prev; -+ -+ for (__prev = (_L_type*)&__base->_M_node, __pos= (_L_type*)__prev->_M_next; -+ __pos!=0;) { -+ if ((!(&__first == (_Iterator*)__pos || &__last == (_Iterator*)__pos)) -+ && __in_range_aux( -+ *(_Iterator*)__pos, -+ __first, -+ __last, -+ _STLP_ITERATOR_CATEGORY(__first, _Iterator))) { -+ __pos->_M_owner = 0; -+ __pos = (_L_type*) (__prev->_M_next = __pos->_M_next); -+ } -+ else { -+ __prev = __pos; -+ __pos=(_L_type*)__pos->_M_next; -+ } -+ } -+ _STLP_RELEASE_LOCK(__base->_M_lock) -+} -+ -+template -+void _STLP_CALL __invalidate_iterator(const __owned_list* __base, -+ const _Iterator& __it) -+{ -+ typedef __owned_link _L_type; -+ _L_type* __position, *__prev; -+ _STLP_ACQUIRE_LOCK(__base->_M_lock) -+ for (__prev = (_L_type*)&__base->_M_node, __position = (_L_type*)__prev->_M_next; -+ __position!= 0;) { -+ // this requires safe iterators to be derived from __owned_link -+ if ((__position != (_L_type*)&__it) && *((_Iterator*)__position)==__it) { -+ __position->_M_owner = 0; -+ __position = (_L_type*) (__prev->_M_next = __position->_M_next); -+ } -+ else { -+ __prev = __position; -+ __position=(_L_type*)__position->_M_next; -+ } -+ } -+ _STLP_RELEASE_LOCK(__base->_M_lock) -+} -+ -+_STLP_END_NAMESPACE -+ -+# endif /* _STLP_DEBUG */ -+ -+# if defined (_STLP_EXPOSE_GLOBALS_IMPLEMENTATION) - - // dwa 12/26/99 -- for abort --# if defined (__STL_USE_NEW_C_HEADERS) -+# if defined (_STLP_USE_NEW_C_HEADERS) - # include - # else - # include - # endif - --# if defined (__STL_WIN32) -+# if defined (_STLP_WIN32) - # include - # endif - -@@ -36,119 +171,119 @@ - // owned_list non-inline methods and global functions - //========================================================== - --#if defined ( __STL_ASSERTIONS ) -+#if defined ( _STLP_ASSERTIONS ) - --# ifndef __STL_ASSERT_MSG_TRAILER --# define __STL_ASSERT_MSG_TRAILER --# endif -+_STLP_BEGIN_NAMESPACE - --// dwa 12/30/98 - if __STL_DEBUG_MESSAGE is defined, the user can supply own definition. --# if !defined( __STL_DEBUG_MESSAGE ) --# define __stl_debug_message __stl_debugger::_Message --# else -- extern void __stl_debug_message(const char * format_str, ...); -+# ifndef _STLP_STRING_LITERAL -+# define _STLP_STRING_LITERAL(__x) __x - # endif - --// fbp: if __STL_DEBUG_TERMINATE is defined, the user can supply own definition. --# if !defined( __STL_DEBUG_TERMINATE ) --# define __stl_debug_terminate __stl_debugger::_Terminate -+# ifdef _STLP_WINCE -+# define _STLP_PERCENT_S "%hs" - # else -- extern void __stl_debug_terminate(void); -+# define _STLP_PERCENT_S "%s" - # endif - --__STL_BEGIN_NAMESPACE -- --# ifndef __STL_STRING_LITERAL --# define __STL_STRING_LITERAL(__x) __x --# endif -- --# define __STL_MESSAGE_TABLE_BODY = { \ --__STL_STRING_LITERAL("\n%s:%d STL error: %s\n"), \ --__STL_STRING_LITERAL("%s:%d STL assertion failure : %s\n" __STL_ASSERT_MSG_TRAILER), \ --__STL_STRING_LITERAL("\n%s:%d STL error : %s\n%s:%d STL assertion failure: %s \n" __STL_ASSERT_MSG_TRAILER), \ --__STL_STRING_LITERAL("Invalid argument to operation (see operation documentation)"), \ --__STL_STRING_LITERAL("Taking an iterator out of destroyed (or otherwise corrupted) container"), \ --__STL_STRING_LITERAL("Trying to extract an object out from empty container"),\ --__STL_STRING_LITERAL("Past-the-end iterator could not be erased"), \ --__STL_STRING_LITERAL("Index out of bounds"), \ --__STL_STRING_LITERAL("Container doesn't own the iterator"), \ --__STL_STRING_LITERAL("Uninitialized or invalidated (by mutating operation) iterator used"), \ --__STL_STRING_LITERAL("Uninitialized or invalidated (by mutating operation) lefthand iterator in expression"), \ --__STL_STRING_LITERAL("Uninitialized or invalidated (by mutating operation) righthand iterator in expression"), \ --__STL_STRING_LITERAL("Iterators used in expression are from different owners"), \ --__STL_STRING_LITERAL("Iterator could not be dereferenced (past-the-end ?)"), \ --__STL_STRING_LITERAL("Range [first,last) is invalid"), \ --__STL_STRING_LITERAL("Iterator is not in range [first,last)"), \ --__STL_STRING_LITERAL("Range [first,last) is not in range [start,finish)"), \ --__STL_STRING_LITERAL("The advance would produce invalid iterator"), \ --__STL_STRING_LITERAL("Iterator is singular (advanced beyond the bounds ?)"), \ --__STL_STRING_LITERAL("Memory block deallocated twice"), \ --__STL_STRING_LITERAL("Deallocating a block that was never allocated"), \ --__STL_STRING_LITERAL("Deallocating a memory block allocated for another type"), \ --__STL_STRING_LITERAL("Size of block passed to deallocate() doesn't match block size"), \ --__STL_STRING_LITERAL("Pointer underrun - safety margin at front of memory block overwritten"), \ --__STL_STRING_LITERAL("Pointer overrrun - safety margin at back of memory block overwritten"), \ --__STL_STRING_LITERAL("Unknown problem") \ -+# define _STLP_MESSAGE_TABLE_BODY = { \ -+_STLP_STRING_LITERAL("\n" _STLP_PERCENT_S "(%d): STL error: %s\n"), \ -+_STLP_STRING_LITERAL(_STLP_PERCENT_S "(%d): STL assertion failure : " _STLP_PERCENT_S "\n" _STLP_ASSERT_MSG_TRAILER), \ -+_STLP_STRING_LITERAL("\n" _STLP_PERCENT_S "(%d): STL error : " _STLP_PERCENT_S "\n" _STLP_PERCENT_S "(%d): STL assertion failure: " _STLP_PERCENT_S " \n" _STLP_ASSERT_MSG_TRAILER), \ -+_STLP_STRING_LITERAL("Invalid argument to operation (see operation documentation)"), \ -+_STLP_STRING_LITERAL("Taking an iterator out of destroyed (or otherwise corrupted) container"), \ -+_STLP_STRING_LITERAL("Trying to extract an object out from empty container"),\ -+_STLP_STRING_LITERAL("Past-the-end iterator could not be erased"), \ -+_STLP_STRING_LITERAL("Index out of bounds"), \ -+_STLP_STRING_LITERAL("Container doesn't own the iterator"), \ -+_STLP_STRING_LITERAL("Uninitialized or invalidated (by mutating operation) iterator used"), \ -+_STLP_STRING_LITERAL("Uninitialized or invalidated (by mutating operation) lefthand iterator in expression"), \ -+_STLP_STRING_LITERAL("Uninitialized or invalidated (by mutating operation) righthand iterator in expression"), \ -+_STLP_STRING_LITERAL("Iterators used in expression are from different owners"), \ -+_STLP_STRING_LITERAL("Iterator could not be dereferenced (past-the-end ?)"), \ -+_STLP_STRING_LITERAL("Range [first,last) is invalid"), \ -+_STLP_STRING_LITERAL("Iterator is not in range [first,last)"), \ -+_STLP_STRING_LITERAL("Range [first,last) is not in range [start,finish)"), \ -+_STLP_STRING_LITERAL("The advance would produce invalid iterator"), \ -+_STLP_STRING_LITERAL("Iterator is singular (advanced beyond the bounds ?)"), \ -+_STLP_STRING_LITERAL("Memory block deallocated twice"), \ -+_STLP_STRING_LITERAL("Deallocating a block that was never allocated"), \ -+_STLP_STRING_LITERAL("Deallocating a memory block allocated for another type"), \ -+_STLP_STRING_LITERAL("Size of block passed to deallocate() doesn't match block size"), \ -+_STLP_STRING_LITERAL("Pointer underrun - safety margin at front of memory block overwritten"), \ -+_STLP_STRING_LITERAL("Pointer overrrun - safety margin at back of memory block overwritten"), \ -+_STLP_STRING_LITERAL("Attempt to dereference null pointer returned by auto_ptr::get()"), \ -+_STLP_STRING_LITERAL("Unknown problem") \ - } - --# if ( __STL_STATIC_TEMPLATE_DATA > 0 ) -+# if ( _STLP_STATIC_TEMPLATE_DATA > 0 ) - template --const char* __stl_debug_engine<_Dummy>::_Message_table[_StlMsg_MAX] __STL_MESSAGE_TABLE_BODY; -+const char* __stl_debug_engine<_Dummy>::_Message_table[_StlMsg_MAX] _STLP_MESSAGE_TABLE_BODY; - - # else - __DECLARE_INSTANCE(const char*, __stl_debug_engine::_Message_table[_StlMsg_MAX], -- __STL_MESSAGE_TABLE_BODY); -+ _STLP_MESSAGE_TABLE_BODY); - - # endif --__STL_END_NAMESPACE -+ -+# undef _STLP_STRING_LITERAL -+# undef _STLP_PERCENT_S -+_STLP_END_NAMESPACE - - // abort() - # include - --# if !defined( __STL_DEBUG_MESSAGE ) -+# if !defined( _STLP_DEBUG_MESSAGE ) - - # include - # include - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - template --void __STL_CALL -+void _STLP_CALL - __stl_debug_engine<_Dummy>::_Message(const char * __format_str, ...) - { - STLPORT_CSTD::va_list __args; - va_start( __args, __format_str ); - --# if defined (__STL_WINCE) -+# if defined (_STLP_WINCE) - TCHAR __buffer[512]; -- wvsprintf(__buffer, __format_str, __args); -- __STL_WINCE_TRACE(__buffer); --# elif defined (__STL_WIN32) && ( defined(__STL_MSVC) || defined (__ICL) || defined (__BORLANDC__)) -+ int _convert = strlen(__format_str) + 1; -+ LPWSTR _lpw = (LPWSTR)alloca(_convert*sizeof(wchar_t)); -+ _lpw[0] = '\0'; -+ MultiByteToWideChar(GetACP(), 0, __format_str, -1, _lpw, _convert); -+ wvsprintf(__buffer, _lpw, __args); -+ // wvsprintf(__buffer, __format_str, __args); -+ _STLP_WINCE_TRACE(__buffer); -+# elif defined (_STLP_WIN32) && ( defined(_STLP_MSVC) || defined (__ICL) || defined (__BORLANDC__)) - char __buffer [4096]; - vsnprintf(__buffer, sizeof(__buffer) / sizeof(char), - __format_str, __args); - OutputDebugStringA(__buffer); -+# elif defined (__amigaos__) -+ STLPORT_CSTD::vfprintf(stderr, __format_str, (char *)__args); - # else - STLPORT_CSTD::vfprintf(stderr, __format_str, __args); - # endif /* WINCE */ - --# ifdef __STL_DEBUG_MESSAGE_POST -- __STL_DEBUG_MESSAGE_POST -+# ifdef _STLP_DEBUG_MESSAGE_POST -+ _STLP_DEBUG_MESSAGE_POST - # endif - - va_end(__args); - - } - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE -+ -+# endif /* _STLP_DEBUG_MESSAGE */ - --# endif /* __STL_DEBUG_MESSAGE */ - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - - template --void __STL_CALL -+void _STLP_CALL - __stl_debug_engine<_Dummy>::_IndexedError(int __error_ind, const char* __f, int __l) - { - __stl_debug_message(_Message_table[_StlFormat_ERROR_RETURN], -@@ -156,7 +291,7 @@ - } - - template --void __STL_CALL -+void _STLP_CALL - __stl_debug_engine<_Dummy>::_VerboseAssert(const char* __expr, int __error_ind, const char* __f, int __l) - { - __stl_debug_message(_Message_table[_StlFormat_VERBOSE_ASSERTION_FAILURE], -@@ -165,7 +300,7 @@ - } - - template --void __STL_CALL -+void _STLP_CALL - __stl_debug_engine<_Dummy>::_Assert(const char* __expr, const char* __f, int __l) - { - __stl_debug_message(_Message_table[_StlFormat_ASSERTION_FAILURE],__f, __l, __expr); -@@ -175,282 +310,179 @@ - // if exceptions are present, sends unique exception - // if not, calls abort() to terminate - template --void __STL_CALL -+void _STLP_CALL - __stl_debug_engine<_Dummy>::_Terminate() - { --# ifdef __STL_USE_NAMESPACES -- using namespace __STLPORT_STD; -+# ifdef _STLP_USE_NAMESPACES -+ using namespace _STLP_STD; - # endif --# if defined (__STL_USE_EXCEPTIONS) && ! defined (__STL_NO_DEBUG_EXCEPTIONS) -+# if defined (_STLP_USE_EXCEPTIONS) && ! defined (_STLP_NO_DEBUG_EXCEPTIONS) - throw __stl_debug_exception(); --# elif defined (__STL_WINCE) -- TerminateProcess(GetCurrentProcess(), 0); - # else -- abort(); -+ _STLP_ABORT(); - # endif - } - --__STL_END_NAMESPACE -- --# endif /* __STL_ASSERTIONS */ -+_STLP_END_NAMESPACE - --#ifdef __STL_DEBUG -+# endif /* _STLP_ASSERTIONS */ - --__STL_BEGIN_NAMESPACE -+#ifdef _STLP_DEBUG - --# ifdef __STL_THREADS --# ifndef __STL_NEED_MUTABLE --# define __STL_ACQUIRE_LOCK(_Lock) _Lock._M_acquire_lock(); --# define __STL_RELEASE_LOCK(_Lock) _Lock._M_release_lock(); --# else --# define __STL_ACQUIRE_LOCK(_Lock) ((_STL_mutex&)_Lock)._M_acquire_lock(); --# define __STL_RELEASE_LOCK(_Lock) ((_STL_mutex&)_Lock)._M_release_lock(); --# endif /* __STL_NEED_MUTABLE */ --# else --# define __STL_ACQUIRE_LOCK(_Lock) --# define __STL_RELEASE_LOCK(_Lock) --# endif /* __STL_THREADS */ -- -- -- --// [ i1, i2) --template --inline bool __STL_CALL --__in_range_aux(const _Iterator& __it, const _Iterator& __first, -- const _Iterator& __last, random_access_iterator_tag) { -- return ( __it >= __first && -- __it < __last); --} -- --template --# if defined (__STL_MSVC) && (__STL_MSVC >= 1100) --inline bool __STL_CALL __in_range_aux(_Iterator1 __it, const _Iterator& __first, --# else --inline bool __STL_CALL __in_range_aux(const _Iterator1& __it, const _Iterator& __first, --# endif -- const _Iterator& __last, forward_iterator_tag) { -- _Iterator1 __i(__first); -- for (; __i != __last && __i != __it; ++__i); -- return (__i!=__last); --} -- --# if defined (__STL_NONTEMPL_BASE_MATCH_BUG) /* OBSOLETE by inheritance */ --template --inline bool __STL_CALL --__in_range_aux(const _Iterator1& __it, const _Iterator& __first, -- const _Iterator& __last, bidirectional_iterator_tag) { -- _Iterator1 __i(__first); -- for (; __i != __last && __i != __it; ++__i); -- return (__i !=__last); --} --# endif -+_STLP_BEGIN_NAMESPACE - - //========================================================== - // owned_list non-inline methods - //========================================================== - - template --void __STL_CALL -+void _STLP_CALL - __stl_debug_engine<_Dummy>::_Invalidate_all(__owned_list* __l) { -+ _STLP_ACQUIRE_LOCK(__l->_M_lock); -+ _Stamp_all(__l, 0); -+ __l->_M_node._M_next =0; -+ _STLP_RELEASE_LOCK(__l->_M_lock); -+} -+ -+// boris : this is unasafe routine; should be used from within critical section only ! -+template -+void _STLP_CALL -+__stl_debug_engine<_Dummy>::_Stamp_all(__owned_list* __l, __owned_list* __o) { - // crucial - if (__l->_M_node._M_owner) { - for (__owned_link* __position = (__owned_link*)__l->_M_node._M_next; - __position != 0; __position= (__owned_link*)__position->_M_next) { -- __STL_ASSERT(__position->_Owner()== __l) -- __position->_M_owner=0; -+ _STLP_ASSERT(__position->_Owner()== __l) -+ __position->_M_owner=__o; - } -- __l->_M_node._M_next =0; - } - } - - template --void __STL_CALL -+void _STLP_CALL - __stl_debug_engine<_Dummy>::_Verify(const __owned_list* __l) { -+ _STLP_ACQUIRE_LOCK(__l->_M_lock); - if (__l) { -- __STL_ASSERT(__l->_M_node._Owner() != 0) -+ _STLP_ASSERT(__l->_M_node._Owner() != 0) - for (__owned_link* __position = (__owned_link*)__l->_M_node._M_next; - __position != 0; __position= (__owned_link*)__position->_M_next) { -- __STL_ASSERT(__position->_Owner()== __l) -+ _STLP_ASSERT(__position->_Owner()== __l) - } - } -+ _STLP_RELEASE_LOCK(__l->_M_lock); - } - - template --void __STL_CALL --__stl_debug_engine<_Dummy>::_Swap_owners(__owned_list& __x, __owned_list& __y, bool __swap_roots) { -- __x._Invalidate_all(); -- __y._Invalidate_all(); -- if (__swap_roots) { -- __owned_list* __tmp = __x._M_node._M_owner; -- __x._M_node._M_owner=__y._M_node._M_owner; -- __y._M_node._M_owner=__tmp; -- } -+void _STLP_CALL -+__stl_debug_engine<_Dummy>::_Swap_owners(__owned_list& __x, __owned_list& __y) { -+ -+ // according to the standard : --no swap() function invalidates any references, -+ // pointers, or iterators referring to the elements of the containers being swapped. -+ -+ __owned_link* __tmp; -+ -+ // boris : there is a deadlock potential situation here if we lock two containers sequentially. -+ // As user is supposed to provide its own synchronization around swap() ( it is unsafe to do any container/iterator access -+ // in parallel with swap()), we just do not use any locking at all -- that behaviour is closer to non-debug version -+ -+ __tmp = __x._M_node._M_next; -+ -+ _Stamp_all(&__x, &__y); -+ _Stamp_all(&__y, &__x); -+ -+ __x._M_node._M_next = __y._M_node._M_next; -+ __y._M_node._M_next = __tmp; -+ - } - - template --void __STL_CALL -+void _STLP_CALL - __stl_debug_engine<_Dummy>::_M_detach(__owned_list* __l, __owned_link* __c_node) { - if (__l != 0) { - -- __STL_VERBOSE_ASSERT(__l->_Owner()!=0, _StlMsg_INVALID_CONTAINER) -- -- __STL_ACQUIRE_LOCK(__l->_M_lock) -- -- __owned_link* __prev, *__next; -- -- for (__prev = &__l->_M_node; (__next = __prev->_M_next) != __c_node; -- __prev = __next) { -- __STL_ASSERT(__next && __next->_Owner() == __l) -- } -- -- __prev->_M_next = __c_node->_M_next; -- __c_node->_M_owner=0; -+ _STLP_VERBOSE_ASSERT(__l->_Owner()!=0, _StlMsg_INVALID_CONTAINER) - -- __STL_RELEASE_LOCK(__l->_M_lock) -+ _STLP_ACQUIRE_LOCK(__l->_M_lock) -+ // boris : re-test the condition in case someone else already deleted us -+ if(__c_node->_M_owner != 0) { -+ __owned_link* __prev, *__next; -+ -+ for (__prev = &__l->_M_node; (__next = __prev->_M_next) != __c_node; -+ __prev = __next) { -+ _STLP_ASSERT(__next && __next->_Owner() == __l) -+ } -+ -+ __prev->_M_next = __c_node->_M_next; -+ __c_node->_M_owner=0; -+ } -+ _STLP_RELEASE_LOCK(__l->_M_lock) - } - } - - template --void __STL_CALL -+void _STLP_CALL - __stl_debug_engine<_Dummy>::_M_attach(__owned_list* __l, __owned_link* __c_node) { - if (__l ==0) { - (__c_node)->_M_owner = 0; - } else { -- __STL_VERBOSE_ASSERT(__l->_Owner()!=0, _StlMsg_INVALID_CONTAINER) -- __STL_ACQUIRE_LOCK(__l->_M_lock) -+ _STLP_VERBOSE_ASSERT(__l->_Owner()!=0, _StlMsg_INVALID_CONTAINER) -+ _STLP_ACQUIRE_LOCK(__l->_M_lock) - __c_node->_M_owner = __l; - __c_node->_M_next = __l->_M_node._M_next; - __l->_M_node._M_next = __c_node; -- __STL_RELEASE_LOCK(__l->_M_lock) -+ _STLP_RELEASE_LOCK(__l->_M_lock) - } - } - - - template --void* __STL_CALL -+void* _STLP_CALL - __stl_debug_engine<_Dummy>::_Get_container_ptr(const __owned_link* __l) { - const __owned_list* __owner = __l->_Owner(); -- __STL_VERBOSE_RETURN_0(__owner != 0, _StlMsg_INVALID_ITERATOR) -- void* __ret = (void*)__owner->_Owner(); -- __STL_VERBOSE_RETURN_0(__ret !=0, _StlMsg_INVALID_CONTAINER) -+ _STLP_VERBOSE_RETURN_0(__owner != 0, _StlMsg_INVALID_ITERATOR) -+ void* __ret = __CONST_CAST(void*,__owner->_Owner()); -+ _STLP_VERBOSE_RETURN_0(__ret !=0, _StlMsg_INVALID_CONTAINER) - return __ret; - } - - template --bool __STL_CALL -+bool _STLP_CALL - __stl_debug_engine<_Dummy>::_Check_same_owner( const __owned_link& __i1, - const __owned_link& __i2) - { -- __STL_VERBOSE_RETURN(__i1._Valid(), _StlMsg_INVALID_LEFTHAND_ITERATOR) -- __STL_VERBOSE_RETURN(__i2._Valid(), _StlMsg_INVALID_RIGHTHAND_ITERATOR) -- __STL_VERBOSE_RETURN((__i1._Owner()==__i2._Owner()), _StlMsg_DIFFERENT_OWNERS) -+ _STLP_VERBOSE_RETURN(__i1._Valid(), _StlMsg_INVALID_LEFTHAND_ITERATOR) -+ _STLP_VERBOSE_RETURN(__i2._Valid(), _StlMsg_INVALID_RIGHTHAND_ITERATOR) -+ _STLP_VERBOSE_RETURN((__i1._Owner()==__i2._Owner()), _StlMsg_DIFFERENT_OWNERS) - return true; - } - - template --bool __STL_CALL -+bool _STLP_CALL - __stl_debug_engine<_Dummy>::_Check_same_owner_or_null( const __owned_link& __i1, -- const __owned_link& __i2) -+ const __owned_link& __i2) - { -- __STL_VERBOSE_RETURN(__i1._Owner()==__i2._Owner(), _StlMsg_DIFFERENT_OWNERS) -+ _STLP_VERBOSE_RETURN(__i1._Owner()==__i2._Owner(), _StlMsg_DIFFERENT_OWNERS) - return true; - } - - template --bool __STL_CALL -+bool _STLP_CALL - __stl_debug_engine<_Dummy>::_Check_if_owner( const __owned_list * __l, const __owned_link& __it) - { - const __owned_list* __owner_ptr = __it._Owner(); -- __STL_VERBOSE_RETURN(__owner_ptr!=0, _StlMsg_INVALID_ITERATOR) -- __STL_VERBOSE_RETURN(__l==__owner_ptr, _StlMsg_NOT_OWNER) -+ _STLP_VERBOSE_RETURN(__owner_ptr!=0, _StlMsg_INVALID_ITERATOR) -+ _STLP_VERBOSE_RETURN(__l==__owner_ptr, _StlMsg_NOT_OWNER) - return true; - } - --//========================================================== --// global non-inline functions --//========================================================== -- --template --bool __STL_CALL __check_range(const _Iterator& __first, const _Iterator& __last) { -- __STL_VERBOSE_RETURN(__valid_range(__first,__last), _StlMsg_INVALID_RANGE ) -- return true; --} -- --template --bool __STL_CALL __check_range(const _Iterator& __it, -- const _Iterator& __start, const _Iterator& __finish) { -- __STL_VERBOSE_RETURN(__in_range(__it,__start, __finish), -- _StlMsg_NOT_IN_RANGE_1) -- return true; --} -- --template --bool __STL_CALL __check_range(const _Iterator& __first, const _Iterator& __last, -- const _Iterator& __start, const _Iterator& __finish) { -- __STL_VERBOSE_RETURN(__in_range(__first, __last, __start, __finish), -- _StlMsg_NOT_IN_RANGE_2) -- return true; --} -- --//=============================================================== - --template --void __STL_CALL __invalidate_range(const __owned_list* __base, -- const _Iterator& __first, -- const _Iterator& __last) --{ -- typedef _Iterator* _Safe_iterator_ptr; -- typedef __owned_link _L_type; -- __STL_ACQUIRE_LOCK(__base->_M_lock) -- _L_type* __pos; -- _L_type* __prev; -- -- for (__prev = (_L_type*)&__base->_M_node, __pos= (_L_type*)__prev->_M_next; -- __pos!=0;) { -- if ((!(&__first == (_Iterator*)__pos || &__last == (_Iterator*)__pos)) -- && __in_range_aux( -- *(_Iterator*)__pos, -- __first, -- __last, -- __ITERATOR_CATEGORY(__first))) { -- __pos->_M_owner = 0; -- __pos = (_L_type*) (__prev->_M_next = __pos->_M_next); -- } -- else { -- __prev = __pos; -- __pos=(_L_type*)__pos->_M_next; -- } -- } -- __STL_RELEASE_LOCK(__base->_M_lock) --} -- --template --void __STL_CALL __invalidate_iterator(const __owned_list* __base, -- const _Iterator& __it) --{ -- typedef __owned_link _L_type; -- _L_type* __position, *__prev; -- __STL_ACQUIRE_LOCK(__base->_M_lock) -- for (__prev = (_L_type*)&__base->_M_node, __position = (_L_type*)__prev->_M_next; -- __position!= 0;) { -- // this requires safe iterators to be derived from __owned_link -- if ((__position != (_L_type*)&__it) && *((_Iterator*)__position)==__it) { -- __position->_M_owner = 0; -- __position = (_L_type*) (__prev->_M_next = __position->_M_next); -- } -- else { -- __prev = __position; -- __position=(_L_type*)__position->_M_next; -- } -- } -- __STL_RELEASE_LOCK(__base->_M_lock) --} -+_STLP_END_NAMESPACE - --__STL_END_NAMESPACE -+#endif /* _STLP_DEBUG */ - --#endif /* __STL_DEBUG */ -+#endif /* if defined (EXPOSE_GLOBALS_IMPLEMENTATION) */ - --#endif -+#endif /* header guard */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/debug/_debug.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/debug/_debug.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/debug/_debug.h Sat Feb 24 10:45:19 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/debug/_debug.h Sun Aug 11 18:59:25 2002 -@@ -17,22 +17,22 @@ - * - */ - --#ifndef __STLPORT_DEBUG_H --# define __STLPORT_DEBUG_H -+#ifndef _STLP_DEBUG_H -+# define _STLP_DEBUG_H - --# if defined (__STL_ASSERTIONS) || defined (__STL_DEBUG) -+# if defined (_STLP_ASSERTIONS) || defined (_STLP_DEBUG) - --#ifndef __STL_CONFIG_H -+#ifndef _STLP_CONFIG_H - # include - #endif - --# if !defined (__STL_EXTRA_OPERATORS_FOR_DEBUG) && \ -- ( defined (__STL_BASE_MATCH_BUG) || (defined (__STL_MSVC) && __STL_MSVC < 1100 ) ) --# define __STL_EXTRA_OPERATORS_FOR_DEBUG -+# if !defined (_STLP_EXTRA_OPERATORS_FOR_DEBUG) && \ -+ ( defined (_STLP_BASE_MATCH_BUG) || (defined (_STLP_MSVC) && _STLP_MSVC < 1100 ) ) -+# define _STLP_EXTRA_OPERATORS_FOR_DEBUG - # endif - --# if !defined(__STL_FILE__) --# define __STL_FILE__ __FILE__ -+# if !defined(_STLP_FILE__) -+# define _STLP_FILE__ __FILE__ - # endif - - enum { -@@ -62,6 +62,8 @@ - _StlMsg_DBA_SIZE_MISMATCH , - _StlMsg_DBA_UNDERRUN , - _StlMsg_DBA_OVERRUN , -+ // auto_ptr messages -+ _StlMsg_AUTO_PTR_NULL , - _StlMsg_UNKNOWN - /* _StlMsg_MAX */ - }; -@@ -69,7 +71,7 @@ - /* have to hardcode that ;() */ - # define _StlMsg_MAX 27 - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - // This class is unique (not inherited from exception), - // to disallow catch in anything but (...) -@@ -77,167 +79,172 @@ - // no members - }; - --class __STL_CLASS_DECLSPEC __owned_link; --class __STL_CLASS_DECLSPEC __owned_list; -+class _STLP_CLASS_DECLSPEC __owned_link; -+class _STLP_CLASS_DECLSPEC __owned_list; - - template - struct __stl_debug_engine { - - // Basic routine to report any debug message -- // Use __STL_DEBUG_MESSAGE to override -- static void __STL_CALL _Message(const char * format_str, ...); -+ // Use _STLP_DEBUG_MESSAGE to override -+ static void _STLP_CALL _Message(const char * format_str, ...); - - // Micsellanous function to report indexed error message -- static void __STL_CALL _IndexedError(int __ind, const char* __f, int __l); -+ static void _STLP_CALL _IndexedError(int __ind, const char* __f, int __l); - - // Basic assertion report mechanism. - // Reports failed assertion via __stl_debug_message and calls _Terminate -- // if __STL_DEBUG_TERMINATE is specified, calls __stl_debug_terminate instead -- static void __STL_CALL _Assert(const char* __expr, const char* __f, int __l); -+ // if _STLP_DEBUG_TERMINATE is specified, calls __stl_debug_terminate instead -+ static void _STLP_CALL _Assert(const char* __expr, const char* __f, int __l); - - // The same, with additional diagnostics -- static void __STL_CALL _VerboseAssert(const char* __expr, int __error_ind, const char* __f, int __l); -+ static void _STLP_CALL _VerboseAssert(const char* __expr, int __error_ind, const char* __f, int __l); - - // If exceptions are present, sends unique exception -- // If not, calls abort() to terminate -- // Use __STL_DEBUG_TERMINATE to override -- static void __STL_CALL _Terminate(); -+ // If not, calls _STLP_ABORT() to terminate -+ // Use _STLP_DEBUG_TERMINATE to override -+ static void _STLP_CALL _Terminate(); -+ -+# ifdef _STLP_DEBUG - - // owned_list/link delegate non-inline functions here - -- static bool __STL_CALL _Check_same_owner( const __owned_link& __i1, -+ static bool _STLP_CALL _Check_same_owner( const __owned_link& __i1, - const __owned_link& __i2); -- static bool __STL_CALL _Check_same_owner_or_null( const __owned_link& __i1, -+ static bool _STLP_CALL _Check_same_owner_or_null( const __owned_link& __i1, - const __owned_link& __i2); -- static bool __STL_CALL _Check_if_owner( const __owned_list*, const __owned_link&); -+ static bool _STLP_CALL _Check_if_owner( const __owned_list*, const __owned_link&); - -- static void __STL_CALL _Verify(const __owned_list*); -+ static void _STLP_CALL _Verify(const __owned_list*); - -- static void __STL_CALL _Swap_owners(__owned_list&, __owned_list& , bool __swap_roots); -+ static void _STLP_CALL _Swap_owners(__owned_list&, __owned_list& /*, bool __swap_roots */ ); - -- static void __STL_CALL _Invalidate_all(__owned_list*); -+ static void _STLP_CALL _Invalidate_all(__owned_list*); - -- static void __STL_CALL _M_detach(__owned_list*, __owned_link*); -+ static void _STLP_CALL _Stamp_all(__owned_list*, __owned_list*); -+ -+ static void _STLP_CALL _M_detach(__owned_list*, __owned_link*); - -- static void __STL_CALL _M_attach(__owned_list*, __owned_link*); -+ static void _STLP_CALL _M_attach(__owned_list*, __owned_link*); - - // accessor : check and get pointer to the container -- static void* __STL_CALL _Get_container_ptr(const __owned_link*); -+ static void* _STLP_CALL _Get_container_ptr(const __owned_link*); -+# endif /* _STLP_DEBUG */ - - // debug messages and formats -- static const char* _Message_table[_StlMsg_MAX]; -+ _STLP_STATIC_MEMBER_DECLSPEC static const char* _Message_table[_StlMsg_MAX]; - }; - - --# if defined (__STL_USE_TEMPLATE_EXPORT) --__STL_EXPORT_TEMPLATE struct __STL_CLASS_DECLSPEC __stl_debug_engine; --# endif /* __STL_USE_TEMPLATE_EXPORT */ -+# if defined (_STLP_USE_TEMPLATE_EXPORT) -+_STLP_EXPORT_TEMPLATE struct _STLP_CLASS_DECLSPEC __stl_debug_engine; -+# endif /* _STLP_USE_TEMPLATE_EXPORT */ - - typedef __stl_debug_engine __stl_debugger; - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --# ifndef __STL_ASSERT --# define __STL_ASSERT(expr) \ -- if (!(expr)) {STLPORT::__stl_debugger::_Assert( # expr, __STL_FILE__, __LINE__);} -+# ifndef _STLP_ASSERT -+# define _STLP_ASSERT(expr) \ -+ if (!(expr)) {STLPORT::__stl_debugger::_Assert( # expr, _STLP_FILE__, __LINE__);} - # endif - --# endif /* __STL_ASSERTIONS || __STL_DEBUG */ -+# endif /* _STLP_ASSERTIONS || _STLP_DEBUG */ - - --// this section is for __STL_DEBUG only --#if defined ( __STL_DEBUG ) -+// this section is for _STLP_DEBUG only -+#if defined ( _STLP_DEBUG ) - --# ifndef __STL_VERBOSE_ASSERT -+# ifndef _STLP_VERBOSE_ASSERT - // fbp : new form not requiring ";" --# define __STL_VERBOSE_ASSERT(expr,__diag_num) \ -+# define _STLP_VERBOSE_ASSERT(expr,__diag_num) \ - if (!(expr)) { STLPORT::__stl_debugger::_VerboseAssert\ -- ( # expr, __diag_num, __STL_FILE__, __LINE__ ); \ -+ ( # expr, __diag_num, _STLP_FILE__, __LINE__ ); \ - } - # endif - --# define __STL_DEBUG_CHECK(expr) __STL_ASSERT(expr) --# define __STL_DEBUG_DO(expr) expr; -+# define _STLP_DEBUG_CHECK(expr) _STLP_ASSERT(expr) -+# define _STLP_DEBUG_DO(expr) expr; - --# ifndef __STL_VERBOSE_RETURN --# define __STL_VERBOSE_RETURN(__expr,__diag_num) if (!(__expr)) { \ -+# ifndef _STLP_VERBOSE_RETURN -+# define _STLP_VERBOSE_RETURN(__expr,__diag_num) if (!(__expr)) { \ - __stl_debugger::_IndexedError(__diag_num, __FILE__ , __LINE__); \ - return false; } - # endif - --# ifndef __STL_VERBOSE_RETURN_0 --# define __STL_VERBOSE_RETURN_0(__expr,__diag_num) if (!(__expr)) { \ -+# ifndef _STLP_VERBOSE_RETURN_0 -+# define _STLP_VERBOSE_RETURN_0(__expr,__diag_num) if (!(__expr)) { \ - __stl_debugger::_IndexedError(__diag_num, __FILE__ , __LINE__); \ - return 0; } - # endif - --#if defined (__STL_THREADS) && ! defined (__SGI_STL_INTERNAL_THREADS_H) -+#if ! defined (_STLP_INTERNAL_THREADS_H) - # include - #endif - --#ifndef __SGI_STL_INTERNAL_ITERATOR_BASE_H -+#ifndef _STLP_INTERNAL_ITERATOR_BASE_H - # include - #endif - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - //============================================================= --template --inline bool __STL_CALL __valid_range(const __Iterator& __i1 ,const __Iterator& __i2, -- random_access_iterator_tag) { -- return __i1<=__i2; -+template -+inline bool _STLP_CALL __valid_range(const _Iterator& __i1 ,const _Iterator& __i2, -+ const random_access_iterator_tag&) { -+ return (__i1< __i2) || (__i1 == __i2); - } - --template --inline bool __STL_CALL __valid_range(const __Iterator& __i1 ,const __Iterator& __i2, -- bidirectional_iterator_tag) { -+template -+inline bool _STLP_CALL __valid_range(const _Iterator& __i1 ,const _Iterator& __i2, -+ const bidirectional_iterator_tag&) { - // check if comparable - bool __dummy(__i1==__i2); - return (__dummy==__dummy); - } - --template --inline bool __STL_CALL __valid_range(const __Iterator& __i1 ,const __Iterator& __i2, forward_iterator_tag) { -+template -+inline bool _STLP_CALL __valid_range(const _Iterator& __i1 ,const _Iterator& __i2, const forward_iterator_tag&) { - // check if comparable - bool __dummy(__i1==__i2); - return (__dummy==__dummy); - } - --template --inline bool __STL_CALL __valid_range(const __Iterator&,const __Iterator&, input_iterator_tag) { -+template -+inline bool _STLP_CALL __valid_range(const _Iterator&,const _Iterator&, const input_iterator_tag&) { - return true; - } - --template --inline bool __STL_CALL __valid_range(const __Iterator&,const __Iterator&, output_iterator_tag) { -+template -+inline bool _STLP_CALL __valid_range(const _Iterator&,const _Iterator&, const output_iterator_tag&) { - return true; - } - --template --inline bool __STL_CALL __valid_range(const __Iterator& __i1, const __Iterator& __i2) { -- return __valid_range(__i1,__i2,__ITERATOR_CATEGORY(__i1)); -+template -+inline bool _STLP_CALL __valid_range(const _Iterator& __i1, const _Iterator& __i2) { -+ return __valid_range(__i1,__i2,_STLP_ITERATOR_CATEGORY(__i1, _Iterator)); - } - - // Note : that means in range [i1, i2]. --template --inline bool __STL_CALL __in_range(const __Iterator& __it, const __Iterator& __i1, -- const __Iterator& __i2) { -- return __valid_range(__i1,__it,__ITERATOR_CATEGORY(__i1)) && -- __valid_range(__it,__i2,__ITERATOR_CATEGORY(__it)); -+template -+inline bool _STLP_CALL __in_range(const _Iterator& _It, const _Iterator& __i1, -+ const _Iterator& __i2) { -+ return __valid_range(__i1,_It,_STLP_ITERATOR_CATEGORY(__i1, _Iterator)) && -+ __valid_range(_It,__i2,_STLP_ITERATOR_CATEGORY(_It, _Iterator)); - } - --template --inline bool __STL_CALL __in_range(const __Iterator& __first, const __Iterator& __last, -- const __Iterator& __start, const __Iterator& __finish) { -- return __valid_range(__first,__last,__ITERATOR_CATEGORY(__first)) && -- __valid_range(__start,__first,__ITERATOR_CATEGORY(__first)) && -- __valid_range(__last,__finish,__ITERATOR_CATEGORY(__last)); -+template -+inline bool _STLP_CALL __in_range(const _Iterator& __first, const _Iterator& __last, -+ const _Iterator& __start, const _Iterator& __finish) { -+ return __valid_range(__first,__last,_STLP_ITERATOR_CATEGORY(__first, _Iterator)) && -+ __valid_range(__start,__first,_STLP_ITERATOR_CATEGORY(__first, _Iterator)) && -+ __valid_range(__last,__finish,_STLP_ITERATOR_CATEGORY(__last, _Iterator)); - } - - //========================================================== - - --class __STL_CLASS_DECLSPEC __owned_link { -+class _STLP_CLASS_DECLSPEC __owned_link { - public: - - __owned_link() : _M_owner(0) {} -@@ -286,7 +293,7 @@ - }; - - --class __STL_CLASS_DECLSPEC __owned_list { -+class _STLP_CLASS_DECLSPEC __owned_list { - public: - __owned_list(const void* __o) { - // fprintf(stderr, "__owned_list(): %p\n",(void*)this); -@@ -320,8 +327,8 @@ - __stl_debugger::_Verify(this); - } - -- void _Swap_owners(__owned_list& __y, bool __swap_roots =false) { -- __stl_debugger::_Swap_owners(*this, __y, __swap_roots); -+ void _Swap_owners(__owned_list& __y) { -+ __stl_debugger::_Swap_owners(*this, __y); - } - - void _Invalidate_all() { -@@ -329,9 +336,7 @@ - } - - mutable __owned_link _M_node; --# ifdef __STL_THREADS -- mutable _STL_mutex _M_lock; --# endif -+ mutable _STLP_mutex _M_lock; - - private: - // should never be called, should be left undefined, -@@ -349,45 +354,67 @@ - // forward declaratioins - - template --bool __STL_CALL __check_range(const _Iterator&, const _Iterator&); -+bool _STLP_CALL __check_range(const _Iterator&, const _Iterator&); - template --bool __STL_CALL __check_range(const _Iterator&, -+bool _STLP_CALL __check_range(const _Iterator&, - const _Iterator&, const _Iterator&); - template --bool __STL_CALL __check_range(const _Iterator&, const _Iterator& , -+bool _STLP_CALL __check_range(const _Iterator&, const _Iterator& , - const _Iterator&, const _Iterator& ); - - template --void __STL_CALL __invalidate_range(const __owned_list* __base, -+void _STLP_CALL __invalidate_range(const __owned_list* __base, - const _Iterator& __first, - const _Iterator& __last); - - template --void __STL_CALL __invalidate_iterator(const __owned_list* __base, -+void _STLP_CALL __invalidate_iterator(const __owned_list* __base, - const _Iterator& __it); - - //============================================================ - --inline bool __STL_CALL -+inline bool _STLP_CALL - __check_same_owner( const __owned_link& __i1, const __owned_link& __i2) { - return __stl_debugger::_Check_same_owner(__i1,__i2); - } --inline bool __STL_CALL -+inline bool _STLP_CALL - __check_same_owner_or_null( const __owned_link& __i1, const __owned_link& __i2) { - return __stl_debugger::_Check_same_owner_or_null(__i1,__i2); - } - --template --inline bool __STL_CALL __check_if_owner( const __owned_list* __owner, -- const Iterator& __it) { -+template -+inline bool _STLP_CALL __check_if_owner( const __owned_list* __owner, -+ const _Iterator& __it) { - return __stl_debugger::_Check_if_owner(__owner, (const __owned_link&)__it); - } - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE -+ -+# endif /* _STLP_DEBUG */ -+ -+#if defined ( _STLP_ASSERTIONS ) -+ -+# ifndef _STLP_ASSERT_MSG_TRAILER -+# define _STLP_ASSERT_MSG_TRAILER -+# endif -+ -+// dwa 12/30/98 - if _STLP_DEBUG_MESSAGE is defined, the user can supply own definition. -+# if !defined( _STLP_DEBUG_MESSAGE ) -+# define __stl_debug_message __stl_debugger::_Message -+# else -+ extern void __stl_debug_message(const char * format_str, ...); -+# endif - --# endif /* __STL_DEBUG */ -+// fbp: if _STLP_DEBUG_TERMINATE is defined, the user can supply own definition. -+# if !defined( _STLP_DEBUG_TERMINATE ) -+# define __stl_debug_terminate __stl_debugger::_Terminate -+# else -+ extern void __stl_debug_terminate(void); -+# endif -+ -+#endif - --# if !defined (__STL_LINK_TIME_INSTANTIATION) -+# if !defined (_STLP_LINK_TIME_INSTANTIATION) - # include - # endif - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/debug/_deque.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/debug/_deque.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/debug/_deque.h Sat Feb 24 10:45:19 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/debug/_deque.h Sun Aug 11 18:59:25 2002 -@@ -27,48 +27,48 @@ - * You should not attempt to use it directly. - */ - --#ifndef __SGI_STL_INTERNAL_DBG_DEQUE_H --#define __SGI_STL_INTERNAL_DBG_DEQUE_H -+#ifndef _STLP_INTERNAL_DBG_DEQUE_H -+#define _STLP_INTERNAL_DBG_DEQUE_H - - #include - --# if !defined (__STL_USE_WRAPPER_FOR_ALLOC_PARAM) && !defined (__STL_NO_DEFAULT_NON_TYPE_PARAM) -+# if !defined (_STLP_USE_WRAPPER_FOR_ALLOC_PARAM) && !defined (_STLP_NO_DEFAULT_NON_TYPE_PARAM) - # undef _DBG_deque - # define _DBG_deque deque - # endif - - # define _DEQUE_WRAPPER _DBG_deque<_Tp,_Alloc> - --# define __STL_DEQUE_SUPER __WORKAROUND_DBG_RENAME(deque) <_Tp,_Alloc> -+# define _STLP_DEQUE_SUPER __WORKAROUND_DBG_RENAME(deque) <_Tp,_Alloc> - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - --# ifdef __STL_DEBUG_USE_DISTINCT_VALUE_TYPE_HELPERS -+# ifdef _STLP_DEBUG_USE_DISTINCT_VALUE_TYPE_HELPERS - template --inline _Tp* __VALUE_TYPE(const _DBG_iter_base< __STL_DEQUE_SUPER >&) { -+inline _Tp* value_type(const _DBG_iter_base< _STLP_DEQUE_SUPER >&) { - return (_Tp*)0; - } - template --inline random_access_iterator_tag __ITERATOR_CATEGORY(const _DBG_iter_base< __STL_DEQUE_SUPER >&) { -+inline random_access_iterator_tag iterator_category(const _DBG_iter_base< _STLP_DEQUE_SUPER >&) { - return random_access_iterator_tag(); - } - # endif - --template --class _DBG_deque : public __STL_DEQUE_SUPER { -+template -+class _DBG_deque : public _STLP_DEQUE_SUPER { - - typedef _DBG_deque<_Tp,_Alloc> _Self; -- typedef __STL_DEQUE_SUPER _Base; -+ typedef _STLP_DEQUE_SUPER _Base; - - public: // Basic types - - __IMPORT_CONTAINER_TYPEDEFS(_Base) - - public: // Iterators -- typedef _DBG_iter< __STL_DEQUE_SUPER, _Nonconst_traits > iterator; -- typedef _DBG_iter< __STL_DEQUE_SUPER, _Const_traits > const_iterator; -+ typedef _DBG_iter< _STLP_DEQUE_SUPER, _Nonconst_traits > iterator; -+ typedef _DBG_iter< _STLP_DEQUE_SUPER, _Const_traits > const_iterator; - -- __STL_DECLARE_RANDOM_ACCESS_REVERSE_ITERATORS; -+ _STLP_DECLARE_RANDOM_ACCESS_REVERSE_ITERATORS; - - protected: - __owned_list _M_iter_list; -@@ -119,31 +119,33 @@ - const _Base* _Get_base() const { return (const _Base*)this; } - - explicit _DBG_deque(const allocator_type& __a = allocator_type()) : -- __STL_DEQUE_SUPER(__a), _M_iter_list(_Get_base()) {} -- _DBG_deque(const _Self& __x) : __STL_DEQUE_SUPER(__x), _M_iter_list(_Get_base()) {} -+ _STLP_DEQUE_SUPER(__a), _M_iter_list(_Get_base()) {} -+ _DBG_deque(const _Self& __x) : _STLP_DEQUE_SUPER(__x), _M_iter_list(_Get_base()) {} - _DBG_deque(size_type __n, const value_type& __value, - const allocator_type& __a = allocator_type()) : -- __STL_DEQUE_SUPER(__n, __value, __a), _M_iter_list(_Get_base()) {} -- explicit _DBG_deque(size_type __n) : __STL_DEQUE_SUPER(__n), _M_iter_list(_Get_base()) {} -+ _STLP_DEQUE_SUPER(__n, __value, __a), _M_iter_list(_Get_base()) {} -+ explicit _DBG_deque(size_type __n) : _STLP_DEQUE_SUPER(__n), _M_iter_list(_Get_base()) {} - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - template - _DBG_deque(_InputIterator __first, _InputIterator __last, -- const allocator_type& __a) : -- __STL_DEQUE_SUPER(__first, __last, __a) , _M_iter_list(_Get_base()) {} -+ const allocator_type& __a _STLP_ALLOCATOR_TYPE_DFL) : -+ _STLP_DEQUE_SUPER(__first, __last, __a) , _M_iter_list(_Get_base()) {} -+# ifdef _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS - template - _DBG_deque(_InputIterator __first, _InputIterator __last): -- __STL_DEQUE_SUPER(__first, __last, allocator_type()) , _M_iter_list(_Get_base()) {} --#else /* __STL_MEMBER_TEMPLATES */ -+ _STLP_DEQUE_SUPER(__first, __last, allocator_type()) , _M_iter_list(_Get_base()) {} -+# endif -+#else /* _STLP_MEMBER_TEMPLATES */ - _DBG_deque(const value_type* __first, const value_type* __last, - const allocator_type& __a = allocator_type()) -- : __STL_DEQUE_SUPER(__first, __last, __a), _M_iter_list(_Get_base()) {} -+ : _STLP_DEQUE_SUPER(__first, __last, __a), _M_iter_list(_Get_base()) {} - - _DBG_deque(const_iterator __first, const_iterator __last, - const allocator_type& __a = allocator_type()) -- : __STL_DEQUE_SUPER(__first._M_iterator, __last._M_iterator, __a), -+ : _STLP_DEQUE_SUPER(__first._M_iterator, __last._M_iterator, __a), - _M_iter_list(_Get_base()) {} --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - _Self& operator= (const _Self& __x) { - _Invalidate_all(); -@@ -161,13 +163,13 @@ - _Base::assign(__n, __val); - } - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - - template - void assign(_InputIterator __first, _InputIterator __last) { - _Base::assign(__first, __last); - } --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - public: // push_* and pop_* - -@@ -205,42 +207,42 @@ - public: // Insert - - iterator insert(iterator __position, const value_type& __x) { -- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) -+ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) - // fbp : invalidation ! - return iterator(&_M_iter_list, _Base::insert(__position._M_iterator, __x)); - } - - iterator insert(iterator __position) { -- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) -+ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) - // fbp : invalidation ! - return iterator(&_M_iter_list, _Base::insert(__position._M_iterator)); - } - - void insert(iterator __position, size_type __n, const value_type& __x) { -- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) -+ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) - // fbp : invalidation ! - _Base::insert(__position._M_iterator, __n, __x); - } - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - template - void insert(iterator __position, _InputIterator __first, _InputIterator __last) { -- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) -+ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) - // fbp : invalidation ! - _Base::insert(__position._M_iterator, __first, __last); - } --#else /* __STL_MEMBER_TEMPLATES */ -+#else /* _STLP_MEMBER_TEMPLATES */ - void insert(iterator __position, - const value_type* __first, const value_type* __last) { -- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) -+ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) - _Base::insert(__position._M_iterator, __first, __last); - } - void insert(iterator __position, - const_iterator __first, const_iterator __last) { -- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) -+ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) - _Base::insert(__position._M_iterator, __first._M_iterator, __last._M_iterator); - } --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - // void resize(size_type __new_size, const value_type& __x) { - // _Base::resize(__new_size, __x); -@@ -250,12 +252,12 @@ - - public: // Erase - iterator erase(iterator __pos) { -- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __pos) && (__pos != end())) -+ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __pos) && (__pos != end())) - return iterator (&_M_iter_list, _Base::erase(__pos._M_iterator)); - } - - iterator erase(iterator __first, iterator __last) { -- __STL_DEBUG_CHECK(__first >= begin() && __last >= end()) -+ _STLP_DEBUG_CHECK(__first >= begin() && __last <= end()) - return iterator (&_M_iter_list, _Base::erase(__first._M_iterator, __last._M_iterator)); - } - -@@ -265,22 +267,22 @@ - } - }; - --# ifdef __STL_EXTRA_OPERATORS_FOR_DEBUG -+# ifdef _STLP_EXTRA_OPERATORS_FOR_DEBUG - // Nonmember functions. - - template - inline bool operator==(const _DBG_deque<_Tp,_Alloc >& __x, const _DBG_deque<_Tp,_Alloc >& __y) - { -- return (const __STL_DEQUE_SUPER&)__x == (const __STL_DEQUE_SUPER&)__y; -+ return (const _STLP_DEQUE_SUPER&)__x == (const _STLP_DEQUE_SUPER&)__y; - } - - template - inline bool operator<(const _DBG_deque<_Tp,_Alloc >& __x, const _DBG_deque<_Tp,_Alloc >& __y) - { -- return (const __STL_DEQUE_SUPER&)__x < (const __STL_DEQUE_SUPER&)__y; -+ return (const _STLP_DEQUE_SUPER&)__x < (const _STLP_DEQUE_SUPER&)__y; - } - --#if defined(__STL_USE_SEPARATE_RELOPS_NAMESPACE) -+#if defined(_STLP_USE_SEPARATE_RELOPS_NAMESPACE) - - template - inline bool operator>(const _DBG_deque<_Tp,_Alloc >& __x, const _DBG_deque<_Tp,_Alloc >& __y) -@@ -300,11 +302,11 @@ - { - return !(__y < __x); - } --# endif /* __STL_FUNCTION_TMPL_PARTIAL_ORDER */ --#endif /* __STL_EXTRA_OPERATORS_FOR_DEBUG */ -+# endif /* _STLP_FUNCTION_TMPL_PARTIAL_ORDER */ -+#endif /* _STLP_EXTRA_OPERATORS_FOR_DEBUG */ - - --#if defined(__STL_FUNCTION_TMPL_PARTIAL_ORDER) -+#if defined(_STLP_FUNCTION_TMPL_PARTIAL_ORDER) - template - inline void - swap(_DBG_deque<_Tp,_Alloc>& __x, _DBG_deque<_Tp,_Alloc>& __y) -@@ -313,12 +315,12 @@ - } - #endif - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - - # undef _DBG_deque --# undef __STL_DEQUE_SUPER -+# undef _STLP_DEQUE_SUPER - --#endif /* __SGI_STL_INTERNAL_DEQUE_H */ -+#endif /* _STLP_INTERNAL_DEQUE_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/debug/_hashtable.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/debug/_hashtable.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/debug/_hashtable.h Sat Feb 24 10:45:19 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/debug/_hashtable.h Sun Aug 11 18:59:25 2002 -@@ -27,8 +27,8 @@ - * You should not attempt to use it directly. - */ - --#ifndef __SGI_STL_INTERNAL_DBG_HASHTABLE_H --#define __SGI_STL_INTERNAL_DBG_HASHTABLE_H -+#ifndef _STLP_INTERNAL_DBG_HASHTABLE_H -+#define _STLP_INTERNAL_DBG_HASHTABLE_H - - // Hashtable class, used to implement the hashed associative containers - // hash_set, hash_map, hash_multiset, and hash_multimap. -@@ -39,32 +39,32 @@ - # undef _DBG_hashtable - # define _DBG_hashtable hashtable - --# define __STL_DBG_HT_SUPER \ -+# define _STLP_DBG_HT_SUPER \ - __WORKAROUND_DBG_RENAME(hashtable) <_Val, _Key, _HF, _ExK, _EqK, _All> - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - --# ifdef __STL_DEBUG_USE_DISTINCT_VALUE_TYPE_HELPERS -+# ifdef _STLP_DEBUG_USE_DISTINCT_VALUE_TYPE_HELPERS - template - inline _Val* --__VALUE_TYPE(const _DBG_iter_base< __STL_DBG_HT_SUPER >&) { -+value_type(const _DBG_iter_base< _STLP_DBG_HT_SUPER >&) { - return (_Val*)0; - } - - template - inline forward_iterator_tag --__ITERATOR_CATEGORY(const _DBG_iter_base< __STL_DBG_HT_SUPER >&) { -+iterator_category(const _DBG_iter_base< _STLP_DBG_HT_SUPER >&) { - return forward_iterator_tag(); - } - # endif - - template --class _DBG_hashtable : public __STL_DBG_HT_SUPER { -+class _DBG_hashtable : public _STLP_DBG_HT_SUPER { - typedef _DBG_hashtable<_Val, _Key, _HF, _ExK, _EqK, _All> _Self; -- typedef __STL_DBG_HT_SUPER _Base; -+ typedef _STLP_DBG_HT_SUPER _Base; - public: - typedef _Key key_type; - typedef _HF hasher; -@@ -84,7 +84,7 @@ - const _EqK& __eql, - const _ExK& __ext, - const allocator_type& __a = allocator_type()): -- __STL_DBG_HT_SUPER(__n, __hf, __eql, __ext, __a), -+ _STLP_DBG_HT_SUPER(__n, __hf, __eql, __ext, __a), - _M_iter_list((_Base*)this) {} - - _DBG_hashtable(size_type __n, -@@ -92,11 +92,11 @@ - const _EqK& __eql, - const allocator_type& __a = allocator_type()): - -- __STL_DBG_HT_SUPER(__n, __hf, __eql, __a), -+ _STLP_DBG_HT_SUPER(__n, __hf, __eql, __a), - _M_iter_list((_Base*)this) {} - - _DBG_hashtable(const _Self& __ht): -- __STL_DBG_HT_SUPER(__ht), -+ _STLP_DBG_HT_SUPER(__ht), - _M_iter_list((_Base*)this) {} - - _Self& operator= (const _Self& __ht) { -@@ -107,7 +107,7 @@ - - void swap(_Self& __ht) - { -- _Swap_owners(__ht); -+ _M_iter_list._Swap_owners(__ht._M_iter_list); - _Base::swap(__ht); - } - -@@ -138,7 +138,7 @@ - return iterator(&_M_iter_list, _Base::insert_equal_noresize(__obj)); - } - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - template - void insert_unique(_InputIterator __f, _InputIterator __l) { - _Base::insert_unique(__f, __l); -@@ -149,7 +149,7 @@ - _Base::insert_equal(__f, __l); - } - --#else /* __STL_MEMBER_TEMPLATES */ -+#else /* _STLP_MEMBER_TEMPLATES */ - - void insert_unique(const value_type* __f, const value_type* __l) { - _Base::insert_unique(__f, __l); -@@ -166,7 +166,7 @@ - void insert_equal(const_iterator __f, const_iterator __l) { - _Base::insert_equal(__f._M_iterator, __l._M_iterator); - } --#endif /*__STL_MEMBER_TEMPLATES */ -+#endif /*_STLP_MEMBER_TEMPLATES */ - - iterator find(const key_type& __key) { - return iterator(&_M_iter_list, _Base::find(__key)); -@@ -186,7 +186,7 @@ - - pair - equal_range(const key_type& __key) const { -- pair < _Base_iterator, _Base_iterator > __res = -+ pair < _Base_const_iterator, _Base_const_iterator > __res = - _Base::equal_range(__key); - return pair (const_iterator(&_M_iter_list,__res.first), - const_iterator(&_M_iter_list,__res.second)); -@@ -197,11 +197,11 @@ - } - - void erase(const const_iterator& __it) { -- __STL_VERBOSE_ASSERT(__it._Owner()==&_M_iter_list, _StlMsg_NOT_OWNER) -+ _STLP_VERBOSE_ASSERT(__it._Owner()==&_M_iter_list, _StlMsg_NOT_OWNER) - _Base::erase(__it._M_iterator); - } - void erase(const_iterator __first, const_iterator __last) { -- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __first)&& -+ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __first)&& - __check_if_owner(&_M_iter_list, __last)) - _Base::erase(__first._M_iterator, __last._M_iterator); - } -@@ -219,24 +219,24 @@ - - }; - --#ifdef __STL_EXTRA_OPERATORS_FOR_DEBUG -+#ifdef _STLP_EXTRA_OPERATORS_FOR_DEBUG - template - inline bool operator==(const _DBG_hashtable<_Val,_Key,_HF,_ExK,_EqK,_All>& __ht1, - const _DBG_hashtable<_Val,_Key,_HF,_ExK,_EqK,_All>& __ht2) - { - return hashtable<_Val,_Key,_HF,_ExK,_EqK,_All>::_M_equal( __ht1, __ht2 ); - } --#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE -+#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE - template - inline bool operator!=(const _DBG_hashtable<_Val,_Key,_HF,_Ex,_Eq,_All>& __ht1, - const _DBG_hashtable<_Val,_Key,_HF,_Ex,_Eq,_All>& __ht2) { - return !(__ht1 == __ht2); - } --#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ -+#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ - --#endif /* __STL_EXTRA_OPERATORS_FOR_DEBUG */ -+#endif /* _STLP_EXTRA_OPERATORS_FOR_DEBUG */ - --#ifdef __STL_FUNCTION_TMPL_PARTIAL_ORDER -+#ifdef _STLP_FUNCTION_TMPL_PARTIAL_ORDER - template - inline void swap( _DBG_hashtable<_Val, _Key, _HF, _ExK, _EqK, _All>& __ht1, -@@ -244,10 +244,10 @@ - __ht1.swap(__ht2); - } - #endif --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - # undef hashtable - --#endif /* __SGI_STL_INTERNAL_HASHTABLE_H */ -+#endif /* _STLP_INTERNAL_HASHTABLE_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/debug/_iterator.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/debug/_iterator.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/debug/_iterator.h Sat Feb 24 10:45:19 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/debug/_iterator.h Sun Aug 11 18:59:25 2002 -@@ -17,118 +17,107 @@ - * - */ - --#ifndef __STLPORT_DBG_ITERATOR_H --# define __STLPORT_DBG_ITERATOR_H -+#ifndef _STLP_DBG_ITERATOR_H -+# define _STLP_DBG_ITERATOR_H - - # include - # include - --# define __STL_DBG_ALLOCATOR_SELECT( _Tp ) __STL_DEFAULT_ALLOCATOR_SELECT( _Tp ) -+# define _STLP_DBG_ALLOCATOR_SELECT( _Tp ) _STLP_DEFAULT_ALLOCATOR_SELECT( _Tp ) - --# if defined (__STL_MSVC) --# define __STL_DBG_IDENTITY( __base ) _STL_dbg_aux< __base >::_SameClass --# else --# define __STL_DBG_IDENTITY( __base ) --# endif -- --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - //============================================================ - - template --void _Decrement(_Iterator& __it, bidirectional_iterator_tag) { -+void _Decrement(_Iterator& __it, const bidirectional_iterator_tag &) { - --__it; - } - - template --void _Decrement(_Iterator& __it, random_access_iterator_tag) { -+void _Decrement(_Iterator& __it, const random_access_iterator_tag &) { - --__it; - } - --# ifdef __SGI_STL_NO_ARROW_OPERATOR -- - template --void _Decrement(_Iterator& __it, forward_iterator_tag) { -- __STL_ASSERT(0) -+void _Decrement(_Iterator& __it, const forward_iterator_tag &) { -+ _STLP_ASSERT(0) - } - - template --void _Advance(_Iterator&, ptrdiff_t, forward_iterator_tag) { -- __STL_ASSERT(0) -+void _Advance(_Iterator&, ptrdiff_t, const forward_iterator_tag &) { -+ _STLP_ASSERT(0) - } - - template --void _Advance(_Iterator& __it, ptrdiff_t, bidirectional_iterator_tag) { -- __STL_ASSERT(0) -+void _Advance(_Iterator& __it, ptrdiff_t, const bidirectional_iterator_tag &) { -+ _STLP_ASSERT(0) - } - --# endif -- - template --void _Advance(_Iterator& __it, ptrdiff_t __n, random_access_iterator_tag) { -+void _Advance(_Iterator& __it, ptrdiff_t __n, const random_access_iterator_tag &) { - __it += __n; - } - - template --ptrdiff_t _DBG_distance(const _Iterator& __x, const _Iterator& __y, random_access_iterator_tag) { -+ptrdiff_t _DBG_distance(const _Iterator& __x, const _Iterator& __y, const random_access_iterator_tag &) { - return __x - __y; - } - --# ifdef __SGI_STL_NO_ARROW_OPERATOR - template --ptrdiff_t _DBG_distance(const _Iterator&, const _Iterator&, forward_iterator_tag) { -- __STL_ASSERT(0) -+ptrdiff_t _DBG_distance(const _Iterator&, const _Iterator&, const forward_iterator_tag &) { -+ _STLP_ASSERT(0) - return 0; - } - - template --ptrdiff_t _DBG_distance(const _Iterator&, const _Iterator&, bidirectional_iterator_tag) { -- __STL_ASSERT(0) -+ptrdiff_t _DBG_distance(const _Iterator&, const _Iterator&, const bidirectional_iterator_tag &) { -+ _STLP_ASSERT(0) - return 0; - } - - template --bool _CompareIt(const _Iterator&, const _Iterator&, forward_iterator_tag) { -- __STL_ASSERT(0) -+bool _CompareIt(const _Iterator&, const _Iterator&, const forward_iterator_tag &) { -+ _STLP_ASSERT(0) - return false; - } - - template --bool _CompareIt(const _Iterator&, const _Iterator&, bidirectional_iterator_tag) { -- __STL_ASSERT(0) -+bool _CompareIt(const _Iterator&, const _Iterator&, const bidirectional_iterator_tag &) { -+ _STLP_ASSERT(0) - return false; - } --# endif - - template --bool _CompareIt(const _Iterator& __x, const _Iterator& __y, random_access_iterator_tag) { -+bool _CompareIt(const _Iterator& __x, const _Iterator& __y, const random_access_iterator_tag &) { - return __x < __y; - } - - - template - bool _Dereferenceable(_Iterator __it) { -- return !(__it._M_iterator == (__it._Get_container_ptr())->end()); -+ return (__it._Get_container_ptr() !=0) && !(__it._M_iterator == (__it._Get_container_ptr())->end()); - } - - - template --bool _Incrementable(const _Iterator& __it, ptrdiff_t __n, forward_iterator_tag) { -+bool _Incrementable(const _Iterator& __it, ptrdiff_t __n, const forward_iterator_tag &) { - return (__n == 1) && _Dereferenceable(__it); - } - - template --bool _Incrementable(const _Iterator& __it, ptrdiff_t __n, bidirectional_iterator_tag) { -+bool _Incrementable(const _Iterator& __it, ptrdiff_t __n, const bidirectional_iterator_tag &) { - typedef typename _Iterator::_Container_type __container_type; - __container_type* __c = __it._Get_container_ptr(); -- return (__n == 1 && __it._M_iterator != __c->end() ) || -- (__n == -1 && __it._M_iterator != __c->begin()); -+ return (__c!=0) && ((__n == 1 && __it._M_iterator != __c->end() ) || -+ (__n == -1 && __it._M_iterator != __c->begin())); - } - - template --bool _Incrementable(const _Iterator& __it, ptrdiff_t __n, random_access_iterator_tag) { -+bool _Incrementable(const _Iterator& __it, ptrdiff_t __n, const random_access_iterator_tag &) { - typedef typename _Iterator::_Container_type __container_type; - __container_type* __c = __it._Get_container_ptr(); -+ if (!__c) return false; - ptrdiff_t __new_pos = (__it._M_iterator - __c->begin()) + __n; - return (__new_pos >=0) && (__STATIC_CAST(typename __container_type::size_type,__new_pos) <=__c->size()); - } -@@ -146,12 +135,12 @@ - typedef typename _Container::const_iterator _Const_iterator; - typedef _Container _Container_type; - --# ifdef __STL_CLASS_PARTIAL_SPECIALIZATION -- typedef typename iterator_traits<_Const_iterator>::iterator_category iterator_category; -+# ifdef _STLP_CLASS_PARTIAL_SPECIALIZATION - typedef typename iterator_traits<_Const_iterator>::iterator_category _Iterator_category; - # else - typedef typename _Container::_Iterator_category _Iterator_category; - # endif -+ typedef _Iterator_category iterator_category; - - _DBG_iter_base() : __owned_link(0) {} - _DBG_iter_base(const __owned_list* __c, const _Const_iterator& __it) : -@@ -165,17 +154,17 @@ - } - - void __increment() { -- __STL_DEBUG_CHECK(_Incrementable(*this,1,_Iterator_category())) -+ _STLP_DEBUG_CHECK(_Incrementable(*this,1,_Iterator_category())) - ++_M_iterator; - } - - void __decrement() { -- __STL_DEBUG_CHECK(_Incrementable(*this,-1,_Iterator_category())) -+ _STLP_DEBUG_CHECK(_Incrementable(*this,-1,_Iterator_category())) - _Decrement(_M_iterator, _Iterator_category()); - } - - void __advance(difference_type __n) { -- __STL_DEBUG_CHECK(_Incrementable(*this,__n, _Iterator_category())) -+ _STLP_DEBUG_CHECK(_Incrementable(*this,__n, _Iterator_category())) - _Advance(_M_iterator,__n, _Iterator_category()); - } - -@@ -187,7 +176,7 @@ - ptrdiff_t operator-(const _DBG_iter_base<_Container>& __x, - const _DBG_iter_base<_Container>& __y ) { - typedef typename _DBG_iter_base<_Container>::_Iterator_category _Iterator_category; -- __STL_DEBUG_CHECK(__check_same_owner(__x, __y)) -+ _STLP_DEBUG_CHECK(__check_same_owner(__x, __y)) - return _DBG_distance(__x._M_iterator,__y._M_iterator, _Iterator_category()); - } - -@@ -215,9 +204,6 @@ - typedef typename _Base::difference_type difference_type; - typedef typename _Traits::reference reference; - typedef typename _Traits::pointer pointer; --#if defined( __STL_HAS_NAMESPACES ) -- __STL_USING_BASE_MEMBER _DBG_iter_mid<_Container, _Traits>::_M_iterator; --#endif /* __STL_HAS_NAMESPACES */ - - private: - typedef typename _Base::_Nonconst_iterator _Nonconst_iterator; -@@ -228,7 +214,7 @@ - - public: - --# ifdef __STL_CLASS_PARTIAL_SPECIALIZATION -+# ifdef _STLP_CLASS_PARTIAL_SPECIALIZATION - typedef typename _Base::iterator_category iterator_category; - # endif - typedef typename _Base::_Iterator_category _Iterator_category; -@@ -262,11 +248,11 @@ - } - - reference operator*() const { -- __STL_DEBUG_CHECK(_Dereferenceable(*this)) -- return *_M_iterator; -+ _STLP_DEBUG_CHECK(_Dereferenceable(*this)) -+ return *this->_M_iterator; - } - -- __STL_DEFINE_ARROW_OPERATOR -+ _STLP_DEFINE_ARROW_OPERATOR - - _Self& operator++() { - this->__increment(); -@@ -312,14 +298,14 @@ - template - inline bool - operator==(const _DBG_iter_base<_Container>& __x, const _DBG_iter_base<_Container>& __y) { -- __STL_DEBUG_CHECK(__check_same_owner_or_null(__x, __y)) -+ _STLP_DEBUG_CHECK(__check_same_owner_or_null(__x, __y)) - return __x._M_iterator==__y._M_iterator; - } - - template - inline bool - operator<(const _DBG_iter_base<_Container>& __x, const _DBG_iter_base<_Container>& __y) { -- __STL_DEBUG_CHECK(__check_same_owner_or_null(__x, __y)) -+ _STLP_DEBUG_CHECK(__check_same_owner_or_null(__x, __y)) - typedef typename _DBG_iter_base<_Container>::_Iterator_category _Category; - return _CompareIt(__x._M_iterator , __y._M_iterator, _Category()); - } -@@ -335,7 +321,7 @@ - template - inline bool - operator>=(const _DBG_iter_base<_Container>& __x, const _DBG_iter_base<_Container>& __y) { -- __STL_DEBUG_CHECK(__check_same_owner_or_null(__x, __y)) -+ _STLP_DEBUG_CHECK(__check_same_owner_or_null(__x, __y)) - typedef typename _DBG_iter_base<_Container>::_Iterator_category _Category; - return !_CompareIt(__x._M_iterator , __y._M_iterator, _Category()); - } -@@ -352,7 +338,7 @@ - inline bool - operator!=(const _DBG_iter_base<_Container>& __x, - const _DBG_iter_base<_Container>& __y) { -- __STL_DEBUG_CHECK(__check_same_owner_or_null(__x, __y)) -+ _STLP_DEBUG_CHECK(__check_same_owner_or_null(__x, __y)) - return __x._M_iterator != __y._M_iterator; - } - -@@ -366,49 +352,39 @@ - } - - --# ifdef __STL_USE_OLD_HP_ITERATOR_QUERIES -- --# if defined (__STL_NESTED_TYPE_PARAM_BUG) \ -- || ( defined (__SUNPRO_CC) && __SUNPRO_CC < 0x500) \ -- || ( defined (__STL_MSVC) && (__STL_MSVC < 1100) ) --# define __STL_DEBUG_USE_DISTINCT_VALUE_TYPE_HELPERS 1 -+# ifdef _STLP_USE_OLD_HP_ITERATOR_QUERIES -+# if defined (_STLP_NESTED_TYPE_PARAM_BUG) \ -+ || ( defined (__SUNPRO_CC) && __SUNPRO_CC < 0x600) \ -+ || ( defined (_STLP_MSVC) && (_STLP_MSVC < 1100) ) -+# define _STLP_DEBUG_USE_DISTINCT_VALUE_TYPE_HELPERS 1 - # endif - - template - inline ptrdiff_t* --__DISTANCE_TYPE(const _DBG_iter_base<_Container>&) { return (ptrdiff_t*) 0; } -+distance_type(const _DBG_iter_base<_Container>&) { return (ptrdiff_t*) 0; } - --# if !defined (__STL_DEBUG_USE_DISTINCT_VALUE_TYPE_HELPERS) -+# if !defined (_STLP_DEBUG_USE_DISTINCT_VALUE_TYPE_HELPERS) - template --inline __STL_TYPENAME_ON_RETURN_TYPE _DBG_iter_base<_Container>::value_type* --__VALUE_TYPE(const _DBG_iter_base<_Container>&) { -+inline _STLP_TYPENAME_ON_RETURN_TYPE _DBG_iter_base<_Container>::value_type* -+value_type(const _DBG_iter_base<_Container>&) { - typedef typename _DBG_iter_base<_Container>::value_type _Val; - return (_Val*)0; - } - - template --inline __STL_TYPENAME_ON_RETURN_TYPE _DBG_iter_base<_Container>::_Iterator_category --__ITERATOR_CATEGORY(const _DBG_iter_base<_Container>&) { -+inline _STLP_TYPENAME_ON_RETURN_TYPE _DBG_iter_base<_Container>::_Iterator_category -+iterator_category(const _DBG_iter_base<_Container>&) { - typedef typename _DBG_iter_base<_Container>::_Iterator_category _Category; - return _Category(); - } - # endif - --# endif /* __STL_USE_OLD_HP_ITERATOR_QUERIES */ -+# endif /* _STLP_USE_OLD_HP_ITERATOR_QUERIES */ - - # define _Get_iter(__x) __x - # define _Debug_iter(__x, __y) __y - --# if 0 --template --class __debug_iterator_traits --{ --public: -- typedef _Iterator __underlying_iterator_type; -- typedef pair<__underlying_iterator_type, __underlying_iterator_type> __underlying_iterator_pair; --}; --# endif --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - - #endif /* INTERNAL_H */ - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/debug/_list.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/debug/_list.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/debug/_list.h Sat Feb 24 10:45:20 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/debug/_list.h Sun Aug 11 18:59:25 2002 -@@ -27,38 +27,38 @@ - * You should not attempt to use it directly. - */ - --#ifndef __SGI_STL_INTERNAL_DBG_LIST_H --#define __SGI_STL_INTERNAL_DBG_LIST_H -+#ifndef _STLP_INTERNAL_DBG_LIST_H -+#define _STLP_INTERNAL_DBG_LIST_H - - #include - --# ifndef __STL_USE_WRAPPER_FOR_ALLOC_PARAM -+# ifndef _STLP_USE_WRAPPER_FOR_ALLOC_PARAM - # undef _DBG_list - # define _DBG_list list - # endif - --# define __STL_DBG_LIST_BASE \ -+# define _STLP_DBG_LIST_BASE \ - __WORKAROUND_DBG_RENAME(list) <_Tp, _Alloc> - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - --# ifdef __STL_DEBUG_USE_DISTINCT_VALUE_TYPE_HELPERS -+# ifdef _STLP_DEBUG_USE_DISTINCT_VALUE_TYPE_HELPERS - template - inline _Tp* --__VALUE_TYPE(const _DBG_iter_base< __STL_DBG_LIST_BASE >&) { -+value_type(const _DBG_iter_base< _STLP_DBG_LIST_BASE >&) { - return (_Tp*)0; - } - template - inline bidirectional_iterator_tag --__ITERATOR_CATEGORY(const _DBG_iter_base< __STL_DBG_LIST_BASE >&) { -+iterator_category(const _DBG_iter_base< _STLP_DBG_LIST_BASE >&) { - return bidirectional_iterator_tag(); - } - # endif - --template --class _DBG_list : public __STL_DBG_LIST_BASE { -+template -+class _DBG_list : public _STLP_DBG_LIST_BASE { - -- typedef __STL_DBG_LIST_BASE _Base; -+ typedef _STLP_DBG_LIST_BASE _Base; - typedef _DBG_list<_Tp, _Alloc> _Self; - - public: -@@ -68,7 +68,7 @@ - typedef _DBG_iter<_Base, _Nonconst_traits > iterator; - typedef _DBG_iter<_Base, _Const_traits > const_iterator; - -- __STL_DECLARE_BIDIRECTIONAL_REVERSE_ITERATORS; -+ _STLP_DECLARE_BIDIRECTIONAL_REVERSE_ITERATORS; - - protected: - mutable __owned_list _M_iter_list; -@@ -78,40 +78,40 @@ - const _Base* _Get_base() const { return (const _Base*)this; } - _Base* _Get_base() { return (_Base*)this; } - explicit _DBG_list(const allocator_type& __a = allocator_type()) : -- __STL_DBG_LIST_BASE(__a), _M_iter_list(_Get_base()) {} -+ _STLP_DBG_LIST_BASE(__a), _M_iter_list(_Get_base()) {} - _DBG_list(size_type __n, const _Tp& __value, - const allocator_type& __a = allocator_type()) -- : __STL_DBG_LIST_BASE(__n, __value, __a), _M_iter_list(_Get_base()) {} -+ : _STLP_DBG_LIST_BASE(__n, __value, __a), _M_iter_list(_Get_base()) {} - explicit _DBG_list(size_type __n) -- : __STL_DBG_LIST_BASE(__n), _M_iter_list(_Get_base()) {} -+ : _STLP_DBG_LIST_BASE(__n), _M_iter_list(_Get_base()) {} - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - - // We don't need any dispatching tricks here, because insert does all of - // that anyway. -+# ifdef _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS - template - _DBG_list(_InputIterator __first, _InputIterator __last) -- : __STL_DBG_LIST_BASE(__first, __last, allocator_type()), _M_iter_list(_Get_base()) {} -- -+ : _STLP_DBG_LIST_BASE(__first, __last, allocator_type()), _M_iter_list(_Get_base()) {} -+# endif - template - _DBG_list(_InputIterator __first, _InputIterator __last, -- const allocator_type& __a) -- : __STL_DBG_LIST_BASE(__first, __last, __a), _M_iter_list(_Get_base()) {} -- --#else /* __STL_MEMBER_TEMPLATES */ -+ const allocator_type& __a _STLP_ALLOCATOR_TYPE_DFL) -+ : _STLP_DBG_LIST_BASE(__first, __last, __a), _M_iter_list(_Get_base()) {} -+#else /* _STLP_MEMBER_TEMPLATES */ - - _DBG_list(const _Tp* __first, const _Tp* __last, - const allocator_type& __a = allocator_type()) -- : __STL_DBG_LIST_BASE(__first, __last, __a), _M_iter_list(_Get_base()) {} -+ : _STLP_DBG_LIST_BASE(__first, __last, __a), _M_iter_list(_Get_base()) {} - _DBG_list(const_iterator __first, const_iterator __last, - const allocator_type& __a = allocator_type()): -- __STL_DBG_LIST_BASE(__first._M_iterator, __last._M_iterator, __a), -+ _STLP_DBG_LIST_BASE(__first._M_iterator, __last._M_iterator, __a), - _M_iter_list(_Get_base()) {} - --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - _DBG_list(const _Self& __x) : -- __STL_DBG_LIST_BASE(__x) , _M_iter_list(_Get_base()) {} -+ _STLP_DBG_LIST_BASE(__x) , _M_iter_list(_Get_base()) {} - - _Self& operator=(const _Self& __x) { - _Invalidate_all(); -@@ -139,57 +139,97 @@ - const_reference back() const { return *(--end()); } - - void swap(_Self& __x) { -- _M_iter_list._Swap_owners(__x._M_iter_list, true); -+ _M_iter_list._Swap_owners(__x._M_iter_list); - _Base::swap(__x); - } - - iterator insert(iterator __position, const _Tp& __x) { -- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__position)) -+ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__position)) - return iterator(&_M_iter_list,_Base::insert(__position._M_iterator, __x) ); - } - -+# ifndef _STLP_NO_ANACHRONISMS - iterator insert(iterator __position) { return insert(__position, _Tp()); } -+# endif - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - - template - void insert(iterator __position, _InputIterator __first, _InputIterator __last) { -- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__position)) -+ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__position)) - _Base::insert(__position._M_iterator, __first, __last); - } - - #else - - void insert(iterator __position, const _Tp* __first, const _Tp* __last) { -- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__position)) -+ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__position)) - _Base::insert(__position._M_iterator, __first, __last); - } - - void insert(iterator __position, - const_iterator __first, const_iterator __last) { -- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__position)) -+ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__position)) - _Base::insert(__position._M_iterator, __first._M_iterator, __last._M_iterator); - } - --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - void insert(iterator __position, size_type __n, const _Tp& __x) { -- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__position)) -+ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__position)) - _Base::insert(__position._M_iterator, __n, __x); - } - -+ void pop_back() { -+ _STLP_VERBOSE_ASSERT(!this->empty(), _StlMsg_EMPTY_CONTAINER) -+ __invalidate_iterator(&_M_iter_list,end()); -+ _Base::pop_back(); -+ } -+ -+ void pop_front() { -+ _STLP_VERBOSE_ASSERT(!this->empty(), _StlMsg_EMPTY_CONTAINER) -+ __invalidate_iterator(&_M_iter_list,begin()); -+ _Base::pop_front(); -+ } -+ - iterator erase(iterator __position) { -- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__position)) -- __STL_VERBOSE_ASSERT(__position._M_iterator._M_node!=this->_M_node._M_data, -+ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__position)) -+ _STLP_VERBOSE_ASSERT(__position._M_iterator._M_node!=this->_M_node._M_data, - _StlMsg_ERASE_PAST_THE_END) - // fbp : CHECK !!! -- // __invalidate_iterator(&_M_iter_list, __position); -+ __invalidate_iterator(&_M_iter_list, __position); - return iterator(&_M_iter_list,_Base::erase(__position._M_iterator)); - } - iterator erase(iterator __first, iterator __last) { -- // fbp : do range invalidation here ! -- return iterator(&_M_iter_list,_Base::erase(__first._M_iterator, __last._M_iterator)); -+ while (__first != __last) -+ erase(__first++); -+ return __last; -+ } -+ -+ void resize(size_type __new_size, const _Tp& __x) { -+ typename _Base::iterator __i = _Base::begin(); -+ size_type __len = 0; -+ for ( ; __i != _Base::end() && __len < __new_size; ++__i, ++__len); -+ -+ if (__len == __new_size) -+ erase(iterator(&_M_iter_list,__i), end()); -+ else // __i == end() -+ _Base::insert(_Base::end(), __new_size - __len, __x); -+ } -+ -+ void resize(size_type __new_size) { this->resize(__new_size, _Tp()); } -+ -+ void remove(const _Tp& __value) { -+ typename _Base::iterator __first = _Base::begin(); -+ typename _Base::iterator __last = _Base::end(); -+ while (__first != __last) { -+ typename _Base::iterator __next = __first; -+ ++__next; -+ if (__value == *__first) erase(iterator(&_M_iter_list,__first)); -+ __first = __next; -+ } - } -+ - void clear() { - _Invalidate_all(); - _Base::clear(); -@@ -197,24 +237,24 @@ - - public: - void splice(iterator __position, _Self& __x) { -- __STL_VERBOSE_ASSERT(&__x!=this, _StlMsg_INVALID_ARGUMENT) -- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__position)) -+ _STLP_VERBOSE_ASSERT(&__x!=this, _StlMsg_INVALID_ARGUMENT) -+ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__position)) - _Base::splice(__position._M_iterator, __x); - __x._Invalidate_all(); - } - - void splice(iterator __position, _Self& __x, iterator __i) { -- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__position) && -+ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__position) && - __check_if_owner(&__x._M_iter_list ,__i)) -- __STL_DEBUG_CHECK(_Dereferenceable(__i)) -+ _STLP_DEBUG_CHECK(_Dereferenceable(__i)) - // fbp : CHECK !!! -- // __invalidate_iterator(&__x._M_iter_list, __i); -+ // __invalidate_iterator(&__x._M_iter_list, __i); - _Base::splice(__position._M_iterator, __x, __i._M_iterator); - } - - void splice(iterator __position, _Self& __x, iterator __first, iterator __last) { -- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) -- __STL_VERBOSE_ASSERT(__first._Owner()==&__x._M_iter_list && __last._Owner()==&__x._M_iter_list, -+ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) -+ _STLP_VERBOSE_ASSERT(__first._Owner()==&__x._M_iter_list && __last._Owner()==&__x._M_iter_list, - _StlMsg_NOT_OWNER) - _Base::splice(__position._M_iterator, __x, __first._M_iterator, __last._M_iterator); - } -@@ -227,48 +267,67 @@ - _Invalidate_all(); - _Base::reverse(); - } -+ void unique() { -+ _Invalidate_all(); -+ _Base::unique(); -+ } - void sort() { - _Invalidate_all(); - _Base::sort(); - } - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES -+ -+ template void remove_if(_Predicate __pred) { -+ _Base::remove_if(__pred); -+ } -+ template -+ void unique(_BinaryPredicate __binary_pred) { -+ _Base::unique(__binary_pred); -+ } -+ template -+ void merge(_Self& __x, -+ _StrictWeakOrdering __comp) { -+ __x._Invalidate_all(); -+ _Base::merge(__x, __comp); -+ } -+ - template - void sort(_StrictWeakOrdering __comp) { - _Invalidate_all(); - _Base::sort(__comp); - } --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - }; - --#ifdef __STL_EXTRA_OPERATORS_FOR_DEBUG -+#ifdef _STLP_EXTRA_OPERATORS_FOR_DEBUG - template --__STL_INLINE_LOOP bool operator==(const _DBG_list<_Tp,_Alloc>& __x, -+_STLP_INLINE_LOOP bool operator==(const _DBG_list<_Tp,_Alloc>& __x, - const _DBG_list<_Tp,_Alloc>& __y) - { -- return (const __STL_DBG_LIST_BASE&)__x == (const __STL_DBG_LIST_BASE&)__y; -+ return (const _STLP_DBG_LIST_BASE&)__x == (const _STLP_DBG_LIST_BASE&)__y; - } - template - inline bool operator<(const _DBG_list<_Tp,_Alloc>& __x, - const _DBG_list<_Tp,_Alloc>& __y) - { -- return (const __STL_DBG_LIST_BASE&)__x < (const __STL_DBG_LIST_BASE&)__y; -+ return (const _STLP_DBG_LIST_BASE&)__x < (const _STLP_DBG_LIST_BASE&)__y; - } - #endif - --#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE -+#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE - template - inline void - swap(_DBG_list<_Tp, _Alloc>& __x, _DBG_list<_Tp, _Alloc>& __y) - { - __x.swap(__y); - } --#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ -+#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --#endif /* __SGI_STL_INTERNAL_LIST_H */ -+#endif /* _STLP_INTERNAL_LIST_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/debug/_slist.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/debug/_slist.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/debug/_slist.h Sat Feb 24 10:45:20 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/debug/_slist.h Sun Aug 11 18:59:25 2002 -@@ -24,39 +24,39 @@ - * You should not attempt to use it directly. - */ - --#ifndef __SGI_STL_INTERNAL_DBG_SLIST_H --#define __SGI_STL_INTERNAL_DBG_SLIST_H -+#ifndef _STLP_INTERNAL_DBG_SLIST_H -+#define _STLP_INTERNAL_DBG_SLIST_H - - #include - --# ifndef __STL_USE_WRAPPER_FOR_ALLOC_PARAM -+# ifndef _STLP_USE_WRAPPER_FOR_ALLOC_PARAM - # undef _DBG_slist - # define _DBG_slist slist - # endif - --# define __STL_DBG_SLIST_BASE __WORKAROUND_DBG_RENAME(slist) <_Tp, _Alloc> -+# define _STLP_DBG_SLIST_BASE __WORKAROUND_DBG_RENAME(slist) <_Tp, _Alloc> - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - --# ifdef __STL_DEBUG_USE_DISTINCT_VALUE_TYPE_HELPERS -+# ifdef _STLP_DEBUG_USE_DISTINCT_VALUE_TYPE_HELPERS - template - inline _Tp* --__VALUE_TYPE(const _DBG_iter_base< __STL_DBG_SLIST_BASE >&) { -+value_type(const _DBG_iter_base< _STLP_DBG_SLIST_BASE >&) { - return (_Tp*)0; - } - - template - inline forward_iterator_tag --__ITERATOR_CATEGORY(const _DBG_iter_base< __STL_DBG_SLIST_BASE >&) { -+iterator_category(const _DBG_iter_base< _STLP_DBG_SLIST_BASE >&) { - return forward_iterator_tag(); - } - # endif - --template --class _DBG_slist : public __STL_DBG_SLIST_BASE -+template -+class _DBG_slist : public _STLP_DBG_SLIST_BASE - { - private: -- typedef __STL_DBG_SLIST_BASE _Base; -+ typedef _STLP_DBG_SLIST_BASE _Base; - typedef _DBG_slist<_Tp,_Alloc> _Self; - - public: -@@ -79,40 +79,41 @@ - public: - - explicit _DBG_slist(const allocator_type& __a = allocator_type()) : -- __STL_DBG_SLIST_BASE(__a) , _M_iter_list(_Get_base()) {} -+ _STLP_DBG_SLIST_BASE(__a) , _M_iter_list(_Get_base()) {} - - _DBG_slist(size_type __n, const value_type& __x, - const allocator_type& __a = allocator_type()) : -- __STL_DBG_SLIST_BASE(__n, __x, __a), _M_iter_list(_Get_base()) {} -+ _STLP_DBG_SLIST_BASE(__n, __x, __a), _M_iter_list(_Get_base()) {} - -- explicit _DBG_slist(size_type __n) : __STL_DBG_SLIST_BASE(__n) , _M_iter_list(_Get_base()) {} -+ explicit _DBG_slist(size_type __n) : _STLP_DBG_SLIST_BASE(__n) , _M_iter_list(_Get_base()) {} - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - // We don't need any dispatching tricks here, because _M_insert_after_range - // already does them. -+# ifdef _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS - template -- _DBG_slist(_InputIterator __first, _InputIterator __last): -- __STL_DBG_SLIST_BASE(__first, __last, allocator_type()), _M_iter_list(_Get_base()) {} -- -+ _DBG_slist(_InputIterator __first, _InputIterator __last) : -+ _STLP_DBG_SLIST_BASE(__first, __last, allocator_type()), _M_iter_list(_Get_base()) {} -+# endif - template - _DBG_slist(_InputIterator __first, _InputIterator __last, -- const allocator_type& __a) : -- __STL_DBG_SLIST_BASE(__first, __last, __a), _M_iter_list(_Get_base()) {} -+ const allocator_type& __a _STLP_ALLOCATOR_TYPE_DFL) : -+ _STLP_DBG_SLIST_BASE(__first, __last, __a), _M_iter_list(_Get_base()) {} - --#else /* __STL_MEMBER_TEMPLATES */ -+#else /* _STLP_MEMBER_TEMPLATES */ - - _DBG_slist(const_iterator __first, const_iterator __last, - const allocator_type& __a = allocator_type() ) : -- __STL_DBG_SLIST_BASE(__first._M_iterator, __last._M_iterator, __a), -+ _STLP_DBG_SLIST_BASE(__first._M_iterator, __last._M_iterator, __a), - _M_iter_list(_Get_base()) {} - - _DBG_slist(const value_type* __first, const value_type* __last, - const allocator_type& __a = allocator_type()) : -- __STL_DBG_SLIST_BASE(__first, __last, __a), _M_iter_list(_Get_base()) {} -+ _STLP_DBG_SLIST_BASE(__first, __last, __a), _M_iter_list(_Get_base()) {} - --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - -- _DBG_slist(const _Self& __x) : __STL_DBG_SLIST_BASE(__x), _M_iter_list(_Get_base()) {} -+ _DBG_slist(const _Self& __x) : _STLP_DBG_SLIST_BASE(__x), _M_iter_list(_Get_base()) {} - - _Self& operator= (const _Self& __x) { - _Invalidate_all(); -@@ -148,9 +149,16 @@ - - public: - // fbp : checks here ! -- reference front() { return _Base::front(); } -- const_reference front() const { return _Base::front(); } -+ reference front() { -+ _STLP_VERBOSE_ASSERT(!this->empty(), _StlMsg_EMPTY_CONTAINER) -+ return _Base::front(); -+ } -+ const_reference front() const { -+ _STLP_VERBOSE_ASSERT(!this->empty(), _StlMsg_EMPTY_CONTAINER) -+ return _Base::front(); -+ } - void pop_front() { -+ _STLP_VERBOSE_ASSERT(!this->empty(), _StlMsg_EMPTY_CONTAINER) - _Base::pop_front(); - } - iterator previous(const_iterator __pos) { -@@ -174,7 +182,7 @@ - _Base::insert_after(__pos._M_iterator, __n, __x); - } - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - - template - void assign(_InputIterator __first, _InputIterator __last) { -@@ -197,7 +205,7 @@ - - } - --#else /* __STL_MEMBER_TEMPLATES */ -+#else /* _STLP_MEMBER_TEMPLATES */ - - void insert_after(iterator __pos, - const_iterator __first, const_iterator __last) { -@@ -209,51 +217,51 @@ - } - - void insert(iterator __pos, const_iterator __first, const_iterator __last) { -- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__pos)) -+ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__pos)) - _Base::insert(__pos._M_iterator, __first._M_iterator, __last._M_iterator); - } - void insert(iterator __pos, const value_type* __first, - const value_type* __last) { -- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__pos)) -+ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__pos)) - _Base::insert(__pos._M_iterator, __first, __last); - } - --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - iterator insert(iterator __pos, const value_type& __x) { -- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__pos)) -+ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__pos)) - return iterator(&_M_iter_list, _Base::insert(__pos._M_iterator, __x)); - } - - iterator insert(iterator __pos) { -- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__pos)) -+ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__pos)) - return iterator(&_M_iter_list, _Base::insert(__pos._M_iterator)); - } - - void insert(iterator __pos, size_type __n, const value_type& __x) { -- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__pos)) -+ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__pos)) - _Base::insert(__pos._M_iterator, __n, __x); - } - - public: - iterator erase_after(iterator __pos) { -- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__pos)) -+ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__pos)) - return iterator(&_M_iter_list, _Base::erase_after(__pos._M_iterator)); - } - iterator erase_after(iterator __before_first, iterator __last) { -- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__before_first)) -- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__last)) -+ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__before_first)) -+ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__last)) - return iterator(&_M_iter_list, - _Base::erase_after(__before_first._M_iterator, __last._M_iterator)); - } - - iterator erase(iterator __pos) { -- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__pos)) -+ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__pos)) - return iterator(&_M_iter_list, _Base::erase(__pos._M_iterator)); - } - iterator erase(iterator __first, iterator __last) { -- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__first)) -- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__last)) -+ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__first)) -+ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__last)) - return iterator(&_M_iter_list, - _Base::erase(__first._M_iterator, __last._M_iterator)); - } -@@ -303,16 +311,16 @@ - - // Linear in distance(begin(), __pos), and linear in __x.size(). - void splice(iterator __pos, _Self& __x) { -- __STL_VERBOSE_ASSERT(!(&__x==this), _StlMsg_INVALID_ARGUMENT) -- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__pos)) -+ _STLP_VERBOSE_ASSERT(!(&__x==this), _StlMsg_INVALID_ARGUMENT) -+ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__pos)) - _Base::splice(__pos._M_iterator, (_Base&)__x); - __x._Invalidate_all(); - } - - // Linear in distance(begin(), __pos), and in distance(__x.begin(), __i). - void splice(iterator __pos, _Self& __x, iterator __i) { -- __STL_VERBOSE_ASSERT(&__x!=this, _StlMsg_INVALID_ARGUMENT) -- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__pos) && -+ _STLP_VERBOSE_ASSERT(&__x!=this, _StlMsg_INVALID_ARGUMENT) -+ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__pos) && - __check_if_owner(&__x._M_iter_list ,__i)) - _Base::splice(__pos._M_iterator, (_Base&)__x, __i._M_iterator); - __x._Invalidate_iterator(__i); -@@ -322,8 +330,8 @@ - // and in distance(__first, __last). - void splice(iterator __pos, _Self& __x, iterator __first, iterator __last) - { -- __STL_VERBOSE_ASSERT(&__x!=this, _StlMsg_INVALID_ARGUMENT) -- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__pos)) -+ _STLP_VERBOSE_ASSERT(&__x!=this, _StlMsg_INVALID_ARGUMENT) -+ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__pos)) - if (__first != __last) - _Base::splice(__pos._M_iterator, (_Base&)__x, __first._M_iterator, __last._M_iterator); - __invalidate_range(&__x._M_iter_list, __first, __last); -@@ -342,8 +350,12 @@ - _Base::merge((_Base&)__x); - __x._Invalidate_all(); - } -+ void sort() { -+ _Invalidate_all(); -+ _Base::sort(); -+ } - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - - template - void remove_if(_Predicate __pred) { -@@ -361,28 +373,33 @@ - __x._Invalidate_all(); - } - --#endif /* __STL_MEMBER_TEMPLATES */ -+ template -+ void sort(_StrictWeakOrdering __comp) { -+ _Invalidate_all(); -+ _Base::sort(__comp); -+ } -+#endif /* _STLP_MEMBER_TEMPLATES */ - - }; - --#ifdef __STL_EXTRA_OPERATORS_FOR_DEBUG -+#ifdef _STLP_EXTRA_OPERATORS_FOR_DEBUG - - template - inline bool - operator==(const _DBG_slist<_Tp,_Alloc>& _SL1, - const _DBG_slist<_Tp,_Alloc>& _SL2) - { -- return (const __STL_DBG_SLIST_BASE&)_SL1 == (const __STL_DBG_SLIST_BASE&)_SL2; -+ return (const _STLP_DBG_SLIST_BASE&)_SL1 == (const _STLP_DBG_SLIST_BASE&)_SL2; - } - - template - inline bool operator<(const _DBG_slist<_Tp,_Alloc>& _SL1, - const _DBG_slist<_Tp,_Alloc>& _SL2) - { -- return (const __STL_DBG_SLIST_BASE&)_SL1 < (const __STL_DBG_SLIST_BASE&)_SL2; -+ return (const _STLP_DBG_SLIST_BASE&)_SL1 < (const _STLP_DBG_SLIST_BASE&)_SL2; - } - --#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE -+#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE - - template - inline bool -@@ -411,20 +428,20 @@ - const _DBG_slist<_Tp,_Alloc>& _SL2) { - return !(_SL1 < _SL2); - } --#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ --#endif /* __STL_EXTRA_OPERATORS_FOR_DEBUG */ -+#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ -+#endif /* _STLP_EXTRA_OPERATORS_FOR_DEBUG */ - --#ifdef __STL_FUNCTION_TMPL_PARTIAL_ORDER -+#ifdef _STLP_FUNCTION_TMPL_PARTIAL_ORDER - template - inline void swap( _DBG_slist<_Tp,_Alloc>& __x, - _DBG_slist<_Tp,_Alloc>& __y) { - __x.swap(__y); - } --#endif /* __STL_FUNCTION_TMPL_PARTIAL_ORDER */ -+#endif /* _STLP_FUNCTION_TMPL_PARTIAL_ORDER */ - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --#endif /* __SGI_STL_INTERNAL_DBG_SLIST_H */ -+#endif /* _STLP_INTERNAL_DBG_SLIST_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/debug/_string.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/debug/_string.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/debug/_string.h Sat Feb 24 10:45:21 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/debug/_string.h Sun Aug 11 18:59:25 2002 -@@ -16,49 +16,44 @@ - * - */ - --#ifndef __SGI_STL_DBG_STRING_H --#define __SGI_STL_DBG_STRING_H -+#ifndef _STLP_DBG_STRING_H -+#define _STLP_DBG_STRING_H - - #include - --# define __STL_DBG_STRING_BASE _Nondebug_string <_CharT, _Traits, _Alloc> -+# define _STLP_DBG_STRING_BASE _Nondebug_string <_CharT, _Traits, _Alloc> - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - --# ifdef __STL_DEBUG_USE_DISTINCT_VALUE_TYPE_HELPERS -+# ifdef _STLP_DEBUG_USE_DISTINCT_VALUE_TYPE_HELPERS - template - inline _CharT* --__VALUE_TYPE(const _DBG_iter_base< __STL_DBG_STRING_BASE >&) { -+value_type(const _DBG_iter_base< _STLP_DBG_STRING_BASE >&) { - return (_CharT*)0; - } - template - inline random_access_iterator_tag --__ITERATOR_CATEGORY(const _DBG_iter_base< __STL_DBG_STRING_BASE >&) { -+iterator_category(const _DBG_iter_base< _STLP_DBG_STRING_BASE >&) { - return random_access_iterator_tag(); - } - # endif - - template --class basic_string : public __STL_DBG_STRING_BASE { -+class basic_string : public _STLP_DBG_STRING_BASE { - private: -- typedef __STL_DBG_STRING_BASE _Base; -+ typedef _STLP_DBG_STRING_BASE _Base; - typedef basic_string<_CharT, _Traits, _Alloc> _Self; - protected: - mutable __owned_list _M_iter_list; - public: --#if defined( __STL_HAS_NAMESPACES ) -- __STL_USING_BASE_MEMBER __STL_DBG_STRING_BASE::size; --#endif /* __STL_HAS_NAMESPACES */ -- --public: - __IMPORT_CONTAINER_TYPEDEFS(_Base) - typedef _DBG_iter<_Base, _Nonconst_traits > iterator; - typedef _DBG_iter<_Base, _Const_traits > const_iterator; -- __STL_DECLARE_RANDOM_ACCESS_REVERSE_ITERATORS; --# ifdef __STL_USE_NATIVE_STRING -+ _STLP_DECLARE_RANDOM_ACCESS_REVERSE_ITERATORS; -+# ifdef _STLP_USE_NATIVE_STRING - // this typedef is being used for conversions -- typedef __STL_VENDOR_STD::basic_string<_CharT,_Traits, -- __STL_VENDOR_STD::allocator<_CharT> > __std_string; -+ typedef _STLP_VENDOR_STD::basic_string<_CharT,_Traits, -+ _STLP_VENDOR_STD::allocator<_CharT> > __std_string; - # endif - public: // Constructor, destructor, assignment. - typedef typename _Base::_Reserve_t _Reserve_t; -@@ -66,66 +61,66 @@ - const _Base* _Get_base() const { return (const _Base*)this; } - _Base* _Get_base() { return (_Base*)this; } - -- basic_string() :__STL_DBG_STRING_BASE(), _M_iter_list(_Get_base()) {} -+ basic_string() :_STLP_DBG_STRING_BASE(), _M_iter_list(_Get_base()) {} - - explicit basic_string(const allocator_type& __a): -- __STL_DBG_STRING_BASE(__a), _M_iter_list(_Get_base()) {} -+ _STLP_DBG_STRING_BASE(__a), _M_iter_list(_Get_base()) {} - - basic_string(_Reserve_t __r, size_t __n, - const allocator_type& __a = allocator_type()) -- : __STL_DBG_STRING_BASE(__r, __n, __a), _M_iter_list(_Get_base()) {} -+ : _STLP_DBG_STRING_BASE(__r, __n, __a), _M_iter_list(_Get_base()) {} - - basic_string(const _Self& __s): -- __STL_DBG_STRING_BASE(__s), _M_iter_list(_Get_base()) {} -+ _STLP_DBG_STRING_BASE(__s), _M_iter_list(_Get_base()) {} - - basic_string(const _Self& __s, size_type __pos, size_type __n = _Base::npos, - const allocator_type& __a = allocator_type()): -- __STL_DBG_STRING_BASE(__s, __pos, __n, __a), _M_iter_list(_Get_base()) {} -+ _STLP_DBG_STRING_BASE(__s, __pos, __n, __a), _M_iter_list(_Get_base()) {} - - basic_string(const _CharT* __s, size_type __n, - const allocator_type& __a = allocator_type()): -- __STL_DBG_STRING_BASE(__s, __n, __a), _M_iter_list(_Get_base()) {} -+ _STLP_DBG_STRING_BASE(__s, __n, __a), _M_iter_list(_Get_base()) {} - - basic_string(const _CharT* __s, - const allocator_type& __a = allocator_type()): -- __STL_DBG_STRING_BASE(__s, __a), _M_iter_list(_Get_base()) {} -+ _STLP_DBG_STRING_BASE(__s, __a), _M_iter_list(_Get_base()) {} - - basic_string(size_type __n, _CharT __c, - const allocator_type& __a = allocator_type()): -- __STL_DBG_STRING_BASE(__n, __c, __a), _M_iter_list(_Get_base()) {} -+ _STLP_DBG_STRING_BASE(__n, __c, __a), _M_iter_list(_Get_base()) {} - --#if defined (__STL_MEMBER_TEMPLATES) -+#if defined (_STLP_MEMBER_TEMPLATES) && !(defined(__MRC__)||defined(__SC__)) -+# ifdef _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS - template - basic_string(_InputIterator __f, _InputIterator __l): -- __STL_DBG_STRING_BASE(__f, __l), _M_iter_list(_Get_base()) {} -- -+ _STLP_DBG_STRING_BASE(__f, __l), _M_iter_list(_Get_base()) {} -+# endif - template - basic_string(_InputIterator __f, _InputIterator __l, -- const allocator_type & __a): -- __STL_DBG_STRING_BASE(__f, __l, __a), _M_iter_list(_Get_base()) {} -- --#else /* __STL_MEMBER_TEMPLATES */ -+ const allocator_type & __a _STLP_ALLOCATOR_TYPE_DFL): -+ _STLP_DBG_STRING_BASE(__f, __l, __a), _M_iter_list(_Get_base()) {} -+#else /* _STLP_MEMBER_TEMPLATES */ - basic_string(const_iterator __f, const_iterator __l, - const allocator_type & __a = allocator_type()): -- __STL_DBG_STRING_BASE(__f._M_iterator, __l._M_iterator), -+ _STLP_DBG_STRING_BASE(__f._M_iterator, __l._M_iterator, __a), - _M_iter_list(_Get_base()) {} - - basic_string(const _CharT* __f, const _CharT* __l, - const allocator_type& __a = allocator_type()): -- __STL_DBG_STRING_BASE(__f, __l, __a), _M_iter_list(_Get_base()) {} -+ _STLP_DBG_STRING_BASE(__f, __l, __a), _M_iter_list(_Get_base()) {} - #endif - --# ifdef __STL_USE_NATIVE_STRING -+# ifdef _STLP_USE_NATIVE_STRING - // these conversion operations still needed for - // strstream, etc. - basic_string (const __std_string& __x) -- : __STL_DBG_STRING_BASE(__x.begin(), __x.end()), _M_iter_list(_Get_base()) {} -+ : _STLP_DBG_STRING_BASE(__x.begin(), __x.end()), _M_iter_list(_Get_base()) {} - operator __std_string() const { return __std_string(this->data()); } - # endif - - // constructor from non-debug version - basic_string (const _Base& __x) -- : __STL_DBG_STRING_BASE(__x), _M_iter_list(_Get_base()) {} -+ : _STLP_DBG_STRING_BASE(__x), _M_iter_list(_Get_base()) {} - - _Self& operator=(const _Self& __s) { - _Base::operator=(__s); -@@ -133,7 +128,7 @@ - } - - _Self& operator=(const _CharT* __s) { -- __STL_FIX_LITERAL_BUG(__s) -+ _STLP_FIX_LITERAL_BUG(__s) - _Base::operator=(__s); - return *this; - } -@@ -187,13 +182,13 @@ - { return *(begin() + __n); } - - const_reference at(size_type __n) const { -- if (__n >= size()) -+ if (__n >= this->size()) - this->_M_throw_out_of_range(); - return *(begin() + __n); - } - - reference at(size_type __n) { -- if (__n >= size()) -+ if (__n >= this->size()) - this->_M_throw_out_of_range(); - return *(begin() + __n); - } -@@ -201,7 +196,7 @@ - public: // Append, operator+=, push_back. - - _Self& operator+=(const _Self& __s) { return append(__s); } -- _Self& operator+=(const _CharT* __s) { __STL_FIX_LITERAL_BUG(__s) return append(__s); } -+ _Self& operator+=(const _CharT* __s) { _STLP_FIX_LITERAL_BUG(__s) return append(__s); } - _Self& operator+=(_CharT __c) { push_back(__c); return *this; } - - _Self& append(const _Self& __s) { return append(__s._M_start, __s._M_finish); } -@@ -214,17 +209,17 @@ - } - - _Self& append(const _CharT* __s, size_type __n) -- { __STL_FIX_LITERAL_BUG(__s) return append(__s, __s+__n); } -+ { _STLP_FIX_LITERAL_BUG(__s) return append(__s, __s+__n); } - - _Self& append(const _CharT* __s) -- { __STL_FIX_LITERAL_BUG(__s) return append(__s, __s + _Traits::length(__s)); } -+ { _STLP_FIX_LITERAL_BUG(__s) return append(__s, __s + _Traits::length(__s)); } - - _Self& append(size_type __n, _CharT __c){ - _Base::append(__n, __c); - return *this; - } - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - - // Check to see if _InputIterator is an integer type. If so, then - // it can't be an iterator. -@@ -234,14 +229,18 @@ - return *this; - } - --#else /* __STL_MEMBER_TEMPLATES */ -+#else /* _STLP_MEMBER_TEMPLATES */ - - _Self& append(const _CharT* __first, const _CharT* __last) { - _Base::append(__first, __last); - return *this; - } - --#endif /* __STL_MEMBER_TEMPLATES */ -+ _Self& append(const_iterator __first, const_iterator __last) { -+ _Base::append(__first._M_iterator, __last._M_iterator); -+ return *this; -+ } -+#endif /* _STLP_MEMBER_TEMPLATES */ - - void push_back(_CharT __c) { - _Base::push_back(__c); -@@ -267,27 +266,27 @@ - } - - _Self& assign(const _CharT* __s, size_type __n) -- { __STL_FIX_LITERAL_BUG(__s) return assign(__s, __s + __n); } -+ { _STLP_FIX_LITERAL_BUG(__s) return assign(__s, __s + __n); } - - _Self& assign(const _CharT* __s) -- { __STL_FIX_LITERAL_BUG(__s) return assign(__s, __s + _Traits::length(__s)); } -+ { _STLP_FIX_LITERAL_BUG(__s) return assign(__s, __s + _Traits::length(__s)); } - - _Self& assign(size_type __n, _CharT __c) { - _Base::assign(__n, __c); - return *this; - } - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - template - inline _Self& assign(_InputIter __first, _InputIter __last) { -- __STL_FIX_LITERAL_BUG(__f) __STL_FIX_LITERAL_BUG(__l) -- __check_range(__first, __last); -+ _STLP_FIX_LITERAL_BUG(__first) _STLP_FIX_LITERAL_BUG(__last) -+ __check_range(__first, __last); - _Base::assign(__first, __last); - return *this; - } - #else - _Self& assign(const _CharT* __f, const _CharT* __l) { -- __STL_FIX_LITERAL_BUG(__f) __STL_FIX_LITERAL_BUG(__l) -+ _STLP_FIX_LITERAL_BUG(__f) _STLP_FIX_LITERAL_BUG(__l) - __check_range(__f, __l); - _Base::assign(__f, __l); - return *this; -@@ -297,7 +296,7 @@ - _Base::assign(__f._M_iterator, __l._M_iterator); - return *this; - } --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - public: // Insert - -@@ -313,13 +312,13 @@ - } - - _Self& insert(size_type __pos, const _CharT* __s, size_type __n) { -- __STL_FIX_LITERAL_BUG(__s) -+ _STLP_FIX_LITERAL_BUG(__s) - _Base::insert(__pos, __s, __n); - return *this; - } - - _Self& insert(size_type __pos, const _CharT* __s) { -- __STL_FIX_LITERAL_BUG(__s) -+ _STLP_FIX_LITERAL_BUG(__s) - _Base::insert(__pos, __s); - return *this; - } -@@ -330,7 +329,7 @@ - } - - iterator insert(iterator __p, _CharT __c) { -- __STL_FIX_LITERAL_BUG(__p) -+ _STLP_FIX_LITERAL_BUG(__p) - __check_if_owner(&_M_iter_list,__p); - return iterator(&_M_iter_list,_Base::insert(__p._M_iterator, __c)); - } -@@ -340,16 +339,16 @@ - _Base::insert(__p._M_iterator, __n, __c); - } - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - template - void insert(iterator __p, _InputIter __first, _InputIter __last) { - __check_if_owner(&_M_iter_list,__p); - __check_range(__first,__last); - _Base::insert(__p._M_iterator, __first, __last); - } --#else /* __STL_MEMBER_TEMPLATES */ -+#else /* _STLP_MEMBER_TEMPLATES */ - void insert(iterator __p, const _CharT* __first, const _CharT* __last) { -- __STL_FIX_LITERAL_BUG(__first) __STL_FIX_LITERAL_BUG(__last) -+ _STLP_FIX_LITERAL_BUG(__first) _STLP_FIX_LITERAL_BUG(__last) - __check_if_owner(&_M_iter_list,__p); - __check_range(__first,__last); - _Base::insert(__p._M_iterator, __first, __last); -@@ -358,7 +357,7 @@ - __check_range(__first,__last); - _Base::insert(__p._M_iterator, __first._M_iterator, __last._M_iterator); - } --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - public: // Erase. - _Self& erase(size_type __pos = 0, size_type __n = _Base::npos) { -@@ -380,10 +379,11 @@ - - public: // Substring. - _Self substr(size_type __pos = 0, size_type __n = _Base::npos) const { -- if (__pos > size()) -+ if (__pos > this->size()) - this->_M_throw_out_of_range(); - return _Self(this->begin() + __pos, -- this->begin() + __pos + min(__n, size() - __pos)); -+ this->begin() + __pos + min(__n, this->size() - __pos), -+ allocator_type()); - } - public: // Replace. (Conceptually equivalent - // to erase followed by insert.) -@@ -402,14 +402,14 @@ - - _Self& replace(size_type __pos, size_type __n1, - const _CharT* __s, size_type __n2) { -- __STL_FIX_LITERAL_BUG(__s) -+ _STLP_FIX_LITERAL_BUG(__s) - _Base::replace(__pos, __n1, __s, __n2); - return *this; - } - - _Self& replace(size_type __pos, size_type __n1, - const _CharT* __s) { -- __STL_FIX_LITERAL_BUG(__s) -+ _STLP_FIX_LITERAL_BUG(__s) - _Base::replace(__pos, __n1, __s); - return *this; - } -@@ -430,7 +430,7 @@ - - _Self& replace(iterator __first, iterator __last, - const _CharT* __s, size_type __n) { -- __STL_FIX_LITERAL_BUG(__s) -+ _STLP_FIX_LITERAL_BUG(__s) - __check_if_owner(&_M_iter_list,__first); - __check_range(__first, __last); - _Base::replace(__first._M_iterator, __last._M_iterator,__s, __n); -@@ -439,7 +439,7 @@ - - _Self& replace(iterator __first, iterator __last, - const _CharT* __s) { -- __STL_FIX_LITERAL_BUG(__s) -+ _STLP_FIX_LITERAL_BUG(__s) - __check_if_owner(&_M_iter_list,__first); - __check_range(__first, __last); - _Base::replace(__first._M_iterator, __last._M_iterator,__s); -@@ -454,7 +454,7 @@ - return *this; - } - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - template - _Self& replace(iterator __first, iterator __last, - _InputIter __f, _InputIter __l) { -@@ -464,7 +464,7 @@ - _Base::replace(__first._M_iterator, __last._M_iterator, __f, __l); - return *this; - } --#else /* __STL_MEMBER_TEMPLATES */ -+#else /* _STLP_MEMBER_TEMPLATES */ - _Self& replace(iterator __first, iterator __last, - const _CharT* __f, const _CharT* __l) { - __check_if_owner(&_M_iter_list, __first); -@@ -473,7 +473,17 @@ - _Base::replace(__first._M_iterator, __last._M_iterator, __f, __l); - return *this; - } --#endif /* __STL_MEMBER_TEMPLATES */ -+ -+ _Self& replace(iterator __first, iterator __last, -+ const_iterator __f, const_iterator __l) { -+ __check_if_owner(&_M_iter_list, __first); -+ __check_range(__first, __last); -+ __check_range(__f, __l); -+ _Base::replace(__first._M_iterator, __last._M_iterator, -+ __f._M_iterator, __l._M_iterator); -+ return *this; -+ } -+#endif /* _STLP_MEMBER_TEMPLATES */ - - public: // Other modifier member functions. - -@@ -485,19 +495,19 @@ - - - // This is a hook to instantiate STLport exports in a designated DLL --# if defined (__STL_USE_TEMPLATE_EXPORT) --__STL_EXPORT template class __STL_CLASS_DECLSPEC basic_string, allocator >; --# if defined (__STL_HAS_WCHAR_T) --__STL_EXPORT template class __STL_CLASS_DECLSPEC basic_string, allocator >; -+# if defined (_STLP_USE_TEMPLATE_EXPORT) -+_STLP_EXPORT template class _STLP_CLASS_DECLSPEC basic_string, allocator >; -+# if defined (_STLP_HAS_WCHAR_T) -+_STLP_EXPORT template class _STLP_CLASS_DECLSPEC basic_string, allocator >; - # endif --# endif /* __STL_USE_TEMPLATE_EXPORT */ -+# endif /* _STLP_USE_TEMPLATE_EXPORT */ -+ - --#ifdef __STL_EXTRA_OPERATORS_FOR_DEBUG - // ------------------------------------------------------------ - // Non-member functions. - - template --inline basic_string<_CharT,_Traits,_Alloc> __STL_CALL -+inline basic_string<_CharT,_Traits,_Alloc> _STLP_CALL - operator+(const basic_string<_CharT,_Traits,_Alloc>& __s, - const basic_string<_CharT,_Traits,_Alloc>& __y) - { -@@ -505,230 +515,232 @@ - } - - template --inline basic_string<_CharT,_Traits,_Alloc> __STL_CALL -+inline basic_string<_CharT,_Traits,_Alloc> _STLP_CALL - operator+(const _CharT* __s, - const basic_string<_CharT,_Traits,_Alloc>& __y) { -- __STL_FIX_LITERAL_BUG(__s) -+ _STLP_FIX_LITERAL_BUG(__s) - return basic_string<_CharT,_Traits,_Alloc>(__s + *__y._Get_base()); - } - - template --inline basic_string<_CharT,_Traits,_Alloc> __STL_CALL -+inline basic_string<_CharT,_Traits,_Alloc> _STLP_CALL - operator+(_CharT __c, - const basic_string<_CharT,_Traits,_Alloc>& __y) { - return basic_string<_CharT,_Traits,_Alloc>(__c + *__y._Get_base()); - } - - template --inline basic_string<_CharT,_Traits,_Alloc> __STL_CALL -+inline basic_string<_CharT,_Traits,_Alloc> _STLP_CALL - operator+(const basic_string<_CharT,_Traits,_Alloc>& __x, - const _CharT* __s) { -- __STL_FIX_LITERAL_BUG(__s) -+ _STLP_FIX_LITERAL_BUG(__s) - return basic_string<_CharT,_Traits,_Alloc>(*__x._Get_base()+ __s); - } - - template --inline basic_string<_CharT,_Traits,_Alloc> __STL_CALL -+inline basic_string<_CharT,_Traits,_Alloc> _STLP_CALL - operator+(const basic_string<_CharT,_Traits,_Alloc>& __x, - const _CharT __c) { - return basic_string<_CharT,_Traits,_Alloc>(*__x._Get_base() + __c); - } - -+#ifdef _STLP_EXTRA_OPERATORS_FOR_DEBUG -+ - // Operator== and operator!= - - template --inline bool __STL_CALL -+inline bool _STLP_CALL - operator==(const basic_string<_CharT,_Traits,_Alloc>& __x, - const basic_string<_CharT,_Traits,_Alloc>& __y) { - return (*__x._Get_base() == *__y._Get_base()); - } - - template --inline bool __STL_CALL -+inline bool _STLP_CALL - operator==(const _CharT* __s, - const basic_string<_CharT,_Traits,_Alloc>& __y) { -- __STL_FIX_LITERAL_BUG(__s) -+ _STLP_FIX_LITERAL_BUG(__s) - return (__s == *__y._Get_base()); - } - - template --inline bool __STL_CALL -+inline bool _STLP_CALL - operator==(const basic_string<_CharT,_Traits,_Alloc>& __x, - const _CharT* __s) { -- __STL_FIX_LITERAL_BUG(__s) -+ _STLP_FIX_LITERAL_BUG(__s) - return (*__x._Get_base() == __s); - } - - // Operator< (and also >, <=, and >=). - - template --inline bool __STL_CALL -+inline bool _STLP_CALL - operator<(const basic_string<_CharT,_Traits,_Alloc>& __x, - const basic_string<_CharT,_Traits,_Alloc>& __y) { - return (*__x._Get_base() < *__y._Get_base()); - } - - template --inline bool __STL_CALL -+inline bool _STLP_CALL - operator<(const _CharT* __s, - const basic_string<_CharT,_Traits,_Alloc>& __y) { -- __STL_FIX_LITERAL_BUG(__s) -+ _STLP_FIX_LITERAL_BUG(__s) - return (__s < *__y._Get_base()); - } - - template --inline bool __STL_CALL -+inline bool _STLP_CALL - operator<(const basic_string<_CharT,_Traits,_Alloc>& __x, - const _CharT* __s) { -- __STL_FIX_LITERAL_BUG(__s) -+ _STLP_FIX_LITERAL_BUG(__s) - return (*__x._Get_base() < __s); - } - --#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE -+#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE - - template --inline bool __STL_CALL -+inline bool _STLP_CALL - operator!=(const basic_string<_CharT,_Traits,_Alloc>& __x, - const basic_string<_CharT,_Traits,_Alloc>& __y) { - return !(__x == __y); - } - - template --inline bool __STL_CALL -+inline bool _STLP_CALL - operator>(const basic_string<_CharT,_Traits,_Alloc>& __x, - const basic_string<_CharT,_Traits,_Alloc>& __y) { - return __y < __x; - } - - template --inline bool __STL_CALL -+inline bool _STLP_CALL - operator<=(const basic_string<_CharT,_Traits,_Alloc>& __x, - const basic_string<_CharT,_Traits,_Alloc>& __y) { - return !(__y < __x); - } - - template --inline bool __STL_CALL -+inline bool _STLP_CALL - operator>=(const basic_string<_CharT,_Traits,_Alloc>& __x, - const basic_string<_CharT,_Traits,_Alloc>& __y) { - return !(__x < __y); - } - --#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ -+#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ - - template --inline bool __STL_CALL -+inline bool _STLP_CALL - operator!=(const _CharT* __s, - const basic_string<_CharT,_Traits,_Alloc>& __y) { -- __STL_FIX_LITERAL_BUG(__s) -+ _STLP_FIX_LITERAL_BUG(__s) - return !(__s == __y); - } - - template --inline bool __STL_CALL -+inline bool _STLP_CALL - operator!=(const basic_string<_CharT,_Traits,_Alloc>& __x, - const _CharT* __s) { -- __STL_FIX_LITERAL_BUG(__s) -+ _STLP_FIX_LITERAL_BUG(__s) - return !(__x == __s); - } - - template --inline bool __STL_CALL -+inline bool _STLP_CALL - operator>(const _CharT* __s, - const basic_string<_CharT,_Traits,_Alloc>& __y) { -- __STL_FIX_LITERAL_BUG(__s) -+ _STLP_FIX_LITERAL_BUG(__s) - return __y < __s; - } - - template --inline bool __STL_CALL -+inline bool _STLP_CALL - operator>(const basic_string<_CharT,_Traits,_Alloc>& __x, - const _CharT* __s) { -- __STL_FIX_LITERAL_BUG(__s) -+ _STLP_FIX_LITERAL_BUG(__s) - return __s < __x; - } - - template --inline bool __STL_CALL -+inline bool _STLP_CALL - operator<=(const _CharT* __s, - const basic_string<_CharT,_Traits,_Alloc>& __y) { -- __STL_FIX_LITERAL_BUG(__s) -+ _STLP_FIX_LITERAL_BUG(__s) - return !(__y < __s); - } - - template --inline bool __STL_CALL -+inline bool _STLP_CALL - operator<=(const basic_string<_CharT,_Traits,_Alloc>& __x, - const _CharT* __s) { -- __STL_FIX_LITERAL_BUG(__s) -+ _STLP_FIX_LITERAL_BUG(__s) - return !(__s < __x); - } - - template --inline bool __STL_CALL -+inline bool _STLP_CALL - operator>=(const _CharT* __s, - const basic_string<_CharT,_Traits,_Alloc>& __y) { -- __STL_FIX_LITERAL_BUG(__s) -+ _STLP_FIX_LITERAL_BUG(__s) - return !(__s < __y); - } - - template --inline bool __STL_CALL -+inline bool _STLP_CALL - operator>=(const basic_string<_CharT,_Traits,_Alloc>& __x, - const _CharT* __s) { -- __STL_FIX_LITERAL_BUG(__s) -+ _STLP_FIX_LITERAL_BUG(__s) - return !(__x < __s); - } - #endif /* if 0 */ - - // Swap. --#ifdef __STL_FUNCTION_TMPL_PARTIAL_ORDER -+#ifdef _STLP_FUNCTION_TMPL_PARTIAL_ORDER - template - inline void swap(basic_string<_CharT,_Traits,_Alloc>& __x, - basic_string<_CharT,_Traits,_Alloc>& __y) { - __x.swap(__y); - } --#endif /* __STL_FUNCTION_TMPL_PARTIAL_ORDER */ -+#endif /* _STLP_FUNCTION_TMPL_PARTIAL_ORDER */ - - // I/O. - --#ifdef __STL_EXTRA_OPERATORS_FOR_DEBUG --#if defined (__STL_USE_NEW_IOSTREAMS) && ! defined (__SGI_STL_OWN_IOSTREAMS) -+#ifdef _STLP_EXTRA_OPERATORS_FOR_DEBUG -+#if defined (_STLP_USE_NEW_IOSTREAMS) && ! defined (_STLP_OWN_IOSTREAMS) - - template --basic_ostream<_CharT, _Traits>& __STL_CALL -+basic_ostream<_CharT, _Traits>& _STLP_CALL - operator<<(basic_ostream<_CharT, _Traits>& __os, - const basic_string<_CharT,_Traits,_Alloc>& __s) { - return __os << *__s._Get_base(); - } - - template --basic_istream<_CharT, _Traits>& __STL_CALL -+basic_istream<_CharT, _Traits>& _STLP_CALL - operator>>(basic_istream<_CharT, _Traits>& __is, - basic_string<_CharT,_Traits,_Alloc>& __s) { - return __is >> *__s._Get_base(); - } - --#elif ! defined ( __STL_USE_NO_IOSTREAMS ) -+#elif ! defined ( _STLP_USE_NO_IOSTREAMS ) - - template --ostream& __STL_CALL operator<<(ostream& __os, -+ostream& _STLP_CALL operator<<(ostream& __os, - const basic_string<_CharT,_Traits,_Alloc>& __s) { - return __os << *__s._Get_base(); - } - - template --istream& __STL_CALL operator>>(istream& __is, basic_string<_CharT,_Traits,_Alloc>& __s) { -+istream& _STLP_CALL operator>>(istream& __is, basic_string<_CharT,_Traits,_Alloc>& __s) { - return __is >> *__s._Get_base(); - } - --#endif /* __STL_USE_NEW_IOSTREAMS */ --#endif /* if 0 */ -+#endif /* _STLP_USE_NEW_IOSTREAMS */ -+#endif /* if _STLP_EXTRA_OPERATORS_FOR_DEBUG */ - - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --#endif /* __SGI_STL_DBG_STRING */ -+#endif /* _STLP_DBG_STRING */ - - - // Local Variables: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/debug/_tree.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/debug/_tree.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/debug/_tree.h Sat Feb 24 10:45:21 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/debug/_tree.h Sun Aug 11 18:59:25 2002 -@@ -27,8 +27,8 @@ - * You should not attempt to use it directly. - */ - --#ifndef __SGI_STL_INTERNAL_DBG_TREE_H --#define __SGI_STL_INTERNAL_DBG_TREE_H -+#ifndef _STLP_INTERNAL_DBG_TREE_H -+#define _STLP_INTERNAL_DBG_TREE_H - - #include - #include -@@ -37,27 +37,27 @@ - # undef _DBG_Rb_tree - # define _DBG_Rb_tree _Rb_tree - --# define __STL_DBG_TREE_SUPER __WORKAROUND_DBG_RENAME(Rb_tree) <_Key, _Value, _KeyOfValue, _Compare, _Alloc> -+# define _STLP_DBG_TREE_SUPER __WORKAROUND_DBG_RENAME(Rb_tree) <_Key, _Value, _KeyOfValue, _Compare, _Alloc> - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - --# ifdef __STL_DEBUG_USE_DISTINCT_VALUE_TYPE_HELPERS -+# ifdef _STLP_DEBUG_USE_DISTINCT_VALUE_TYPE_HELPERS - template - inline _Value* --__VALUE_TYPE(const _DBG_iter_base< __STL_DBG_TREE_SUPER >&) { -+value_type(const _DBG_iter_base< _STLP_DBG_TREE_SUPER >&) { - return (_Value*)0; - } - template - inline bidirectional_iterator_tag --__ITERATOR_CATEGORY(const _DBG_iter_base< __STL_DBG_TREE_SUPER >&) { -+iterator_category(const _DBG_iter_base< _STLP_DBG_TREE_SUPER >&) { - return bidirectional_iterator_tag(); - } - # endif - - template --class _DBG_Rb_tree : public __STL_DBG_TREE_SUPER { -- typedef __STL_DBG_TREE_SUPER _Base; -+ _STLP_DBG_ALLOCATOR_SELECT(_Value) > -+class _DBG_Rb_tree : public _STLP_DBG_TREE_SUPER { -+ typedef _STLP_DBG_TREE_SUPER _Base; - typedef _DBG_Rb_tree<_Key, _Value, _KeyOfValue, _Compare, _Alloc> _Self; - protected: - friend class __owned_link; -@@ -72,20 +72,20 @@ - typedef _DBG_iter<_Base, _Nonconst_traits > iterator; - typedef _DBG_iter<_Base, _Const_traits > const_iterator; - -- __STL_DECLARE_BIDIRECTIONAL_REVERSE_ITERATORS; -+ _STLP_DECLARE_BIDIRECTIONAL_REVERSE_ITERATORS; - - public: - const _Base* _Get_base() const { return (const _Base*)this; } - _Base* _Get_base() { return (_Base*)this; } - -- _DBG_Rb_tree() : __STL_DBG_TREE_SUPER(), -+ _DBG_Rb_tree() : _STLP_DBG_TREE_SUPER(), - _M_iter_list(_Get_base()) {} - _DBG_Rb_tree(const _Compare& __comp) : -- __STL_DBG_TREE_SUPER(__comp), _M_iter_list(_Get_base()) {} -+ _STLP_DBG_TREE_SUPER(__comp), _M_iter_list(_Get_base()) {} - _DBG_Rb_tree(const _Compare& __comp, const allocator_type& __a): -- __STL_DBG_TREE_SUPER(__comp, __a), _M_iter_list(_Get_base()) {} -+ _STLP_DBG_TREE_SUPER(__comp, __a), _M_iter_list(_Get_base()) {} - _DBG_Rb_tree(const _Rb_tree<_Key,_Value,_KeyOfValue,_Compare,_Alloc>& __x): -- __STL_DBG_TREE_SUPER(__x), _M_iter_list(_Get_base()) {} -+ _STLP_DBG_TREE_SUPER(__x), _M_iter_list(_Get_base()) {} - ~_DBG_Rb_tree() { _Invalidate_all(); } - - _Self& operator=(const _Self& __x) { -@@ -110,8 +110,8 @@ - return const_reverse_iterator(begin()); - } - void swap(_Self& __t) { -- _M_iter_list._Swap_owners(__t._M_iter_list, true); - _Base::swap(__t); -+ _M_iter_list._Swap_owners(__t._M_iter_list); - } - - public: -@@ -147,11 +147,11 @@ - } - - pair insert_unique(const value_type& __x) { --# ifdef __GNUC__ -- __STLPORT_STD::pair -+# ifndef _STLP_MSVC -+ _STLP_STD::pair - # else - // MSVC fails on typename here -- __STLPORT_STD::pair<_Base::iterator, bool> -+ _STLP_STD::pair<_Base::iterator, bool> - # endif - __res = _Base::insert_unique(__x); - return pair( iterator(&_M_iter_list, __res.first), __res.second ) ; -@@ -161,24 +161,24 @@ - } - - iterator insert_unique(iterator __position, const value_type& __x) { -- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__position)) -+ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__position)) - return iterator(&_M_iter_list, _Base::insert_unique(__position._M_iterator, __x)); - } - iterator insert_equal(iterator __position, const value_type& __x) { -- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__position)) -+ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__position)) - return iterator(&_M_iter_list, _Base::insert_equal(__position._M_iterator, __x)); - } - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - template - void insert_equal(_II __first, _II __last) { - _Base::insert_equal(__first, __last); - } - template - void insert_unique(_II __first, _II __last) { -- _Base::insert_equal(__first, __last); -+ _Base::insert_unique(__first, __last); - } --#else /* __STL_MEMBER_TEMPLATES */ -+#else /* _STLP_MEMBER_TEMPLATES */ - void insert_unique(const_iterator __first, const_iterator __last) { - _Base::insert_unique(__first._M_iterator, __last._M_iterator); - } -@@ -191,11 +191,11 @@ - void insert_equal(const value_type* __first, const value_type* __last) { - _Base::insert_equal(__first, __last); - } --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - void erase(iterator __position) { -- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__position)) -- __STL_DEBUG_CHECK(_Dereferenceable(__position)) -+ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list,__position)) -+ _STLP_DEBUG_CHECK(_Dereferenceable(__position)) - _Invalidate_iterator(__position); - _Base::erase(__position._M_iterator); - } -@@ -204,6 +204,8 @@ - } - - void erase(iterator __first, iterator __last) { -+ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __first)&& -+ __check_if_owner(&_M_iter_list, __last)) - _Base::erase(__first._M_iterator, __last._M_iterator); - } - void erase(const key_type* __first, const key_type* __last) { -@@ -216,7 +218,7 @@ - } - }; - --#ifdef __STL_EXTRA_OPERATORS_FOR_DEBUG -+#ifdef _STLP_EXTRA_OPERATORS_FOR_DEBUG - - template -@@ -238,7 +240,7 @@ - __y.begin(), __y.end()); - } - --#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE -+#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE - - template -@@ -272,11 +274,11 @@ - return !(__x < __y); - } - --#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ --#endif /* __STL_EXTRA_OPERATORS_FOR_DEBUG */ -+#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ -+#endif /* _STLP_EXTRA_OPERATORS_FOR_DEBUG */ - - --#ifdef __STL_FUNCTION_TMPL_PARTIAL_ORDER -+#ifdef _STLP_FUNCTION_TMPL_PARTIAL_ORDER - template - inline void -@@ -285,13 +287,13 @@ - { - __x.swap(__y); - } --#endif /* __STL_FUNCTION_TMPL_PARTIAL_ORDER */ -+#endif /* _STLP_FUNCTION_TMPL_PARTIAL_ORDER */ - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --# undef __STL_DBG_TREE_SUPER -+# undef _STLP_DBG_TREE_SUPER - --#endif /* __SGI_STL_INTERNAL_DBG_TREE_H */ -+#endif /* _STLP_INTERNAL_DBG_TREE_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/debug/_vector.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/debug/_vector.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/debug/_vector.h Sat Feb 24 10:45:21 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/debug/_vector.h Sun Aug 11 18:59:25 2002 -@@ -27,30 +27,29 @@ - * You should not attempt to use it directly. - */ - --#ifndef __SGI_STL_INTERNAL_DBG_VECTOR_H --#define __SGI_STL_INTERNAL_DBG_VECTOR_H -+#ifndef _STLP_INTERNAL_DBG_VECTOR_H -+#define _STLP_INTERNAL_DBG_VECTOR_H - - #include - --# ifndef __STL_USE_WRAPPER_FOR_ALLOC_PARAM -+# ifndef _STLP_USE_WRAPPER_FOR_ALLOC_PARAM - # undef _DBG_vector - # define _DBG_vector vector - # endif - --# define __STL_DBG_VECTOR_BASE __WORKAROUND_DBG_RENAME(vector) <_Tp, _Alloc> -+# define _STLP_DBG_VECTOR_BASE __WORKAROUND_DBG_RENAME(vector) <_Tp, _Alloc> - -+_STLP_BEGIN_NAMESPACE - --__STL_BEGIN_NAMESPACE -- --# ifdef __STL_DEBUG_USE_DISTINCT_VALUE_TYPE_HELPERS -+# ifdef _STLP_DEBUG_USE_DISTINCT_VALUE_TYPE_HELPERS - template - inline _Tp* --__VALUE_TYPE(const _DBG_iter_base< __STL_DBG_VECTOR_BASE >&) { -+value_type(const _DBG_iter_base< _STLP_DBG_VECTOR_BASE >&) { - return (_Tp*)0; - } - template - inline random_access_iterator_tag --__ITERATOR_CATEGORY(const _DBG_iter_base< __STL_DBG_VECTOR_BASE >&) { -+iterator_category(const _DBG_iter_base< _STLP_DBG_VECTOR_BASE >&) { - return random_access_iterator_tag(); - } - # endif -@@ -75,7 +74,7 @@ - typedef _Vector_nonconst_traits<_Tp, _NcIt> _Non_const_traits; - }; - --__STL_TEMPLATE_NULL -+_STLP_TEMPLATE_NULL - struct _Vector_nonconst_traits - { - typedef _Bit_iterator::value_type value_type; -@@ -84,7 +83,7 @@ - typedef _Vector_nonconst_traits _Non_const_traits; - }; - --__STL_TEMPLATE_NULL -+_STLP_TEMPLATE_NULL - struct _Vector_const_traits - { - typedef _Bit_const_iterator::value_type value_type; -@@ -93,22 +92,13 @@ - typedef _Vector_nonconst_traits _Non_const_traits; - }; - --template --class _DBG_vector : public __STL_DBG_VECTOR_BASE { -+template -+class _DBG_vector : public _STLP_DBG_VECTOR_BASE { - private: -- typedef __STL_DBG_VECTOR_BASE _Base; -+ typedef _STLP_DBG_VECTOR_BASE _Base; - typedef _DBG_vector<_Tp, _Alloc> _Self; - mutable __owned_list _M_iter_list; - --protected: --#if defined( __STL_HAS_NAMESPACES ) -- __STL_USING_BASE_MEMBER __STL_DBG_VECTOR_BASE::_M_start; -- __STL_USING_BASE_MEMBER __STL_DBG_VECTOR_BASE::_M_finish; -- __STL_USING_BASE_MEMBER __STL_DBG_VECTOR_BASE::_M_end_of_storage; --public: -- __STL_USING_BASE_MEMBER __STL_DBG_VECTOR_BASE::empty; --#endif /* __STL_HAS_NAMESPACES */ -- - public: - - __IMPORT_CONTAINER_TYPEDEFS(_Base) -@@ -119,12 +109,12 @@ - typedef _DBG_iter<_Base, - _Vector_const_traits > const_iterator; - -- __STL_DECLARE_RANDOM_ACCESS_REVERSE_ITERATORS; -+ _STLP_DECLARE_RANDOM_ACCESS_REVERSE_ITERATORS; - - iterator begin() { return iterator(&_M_iter_list, this->_M_start); } -- const_iterator begin() const { return const_iterator(&_M_iter_list, _M_start); } -- iterator end() { return iterator(&_M_iter_list, _M_finish); } -- const_iterator end() const { return const_iterator(&_M_iter_list, _M_finish); } -+ const_iterator begin() const { return const_iterator(&_M_iter_list, this->_M_start); } -+ iterator end() { return iterator(&_M_iter_list, this->_M_finish); } -+ const_iterator end() const { return const_iterator(&_M_iter_list, this->_M_finish); } - - reverse_iterator rbegin() - { return reverse_iterator(end()); } -@@ -136,12 +126,12 @@ - { return const_reverse_iterator(begin()); } - - reference operator[](size_type __n) { -- __STL_VERBOSE_ASSERT(__n < _Base::size(), _StlMsg_OUT_OF_BOUNDS) -+ _STLP_VERBOSE_ASSERT(__n < _Base::size(), _StlMsg_OUT_OF_BOUNDS) - return _Base::operator[](__n); - } - - const_reference operator[](size_type __n) const { -- __STL_VERBOSE_ASSERT(__n < _Base::size(), _StlMsg_OUT_OF_BOUNDS) -+ _STLP_VERBOSE_ASSERT(__n < _Base::size(), _StlMsg_OUT_OF_BOUNDS) - return _Base::operator[](__n); - } - -@@ -149,41 +139,42 @@ - const _Base* _Get_base() const { return (const _Base*)this; } - - explicit _DBG_vector(const allocator_type& __a = allocator_type()) -- : __STL_DBG_VECTOR_BASE(__a), _M_iter_list((const _Base*)this) {} -+ : _STLP_DBG_VECTOR_BASE(__a), _M_iter_list((const _Base*)this) {} - - _DBG_vector(size_type __n, const _Tp& __value, - const allocator_type& __a = allocator_type()) -- : __STL_DBG_VECTOR_BASE(__n, __value, __a), _M_iter_list((const _Base*)this) {} -+ : _STLP_DBG_VECTOR_BASE(__n, __value, __a), _M_iter_list((const _Base*)this) {} - - explicit _DBG_vector(size_type __n) -- : __STL_DBG_VECTOR_BASE(__n), _M_iter_list((const _Base*)this) {} -+ : _STLP_DBG_VECTOR_BASE(__n), _M_iter_list((const _Base*)this) {} - - - _DBG_vector(const _Self& __x) -- : __STL_DBG_VECTOR_BASE(__x), _M_iter_list((const _Base*)this) {} -+ : _STLP_DBG_VECTOR_BASE(__x), _M_iter_list((const _Base*)this) {} - --#ifdef __STL_MEMBER_TEMPLATES -+#if defined (_STLP_MEMBER_TEMPLATES) -+# ifdef _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS - template - _DBG_vector(_InputIterator __first, _InputIterator __last): -- __STL_DBG_VECTOR_BASE(__first, __last), _M_iter_list((const _Base*)this) {} -- -+ _STLP_DBG_VECTOR_BASE(__first, __last), _M_iter_list((const _Base*)this) {} -+# endif - template - _DBG_vector(_InputIterator __first, _InputIterator __last, -- const allocator_type& __a) : -- __STL_DBG_VECTOR_BASE(__first, __last, __a), _M_iter_list((const _Base*)this) {} -+ const allocator_type& __a _STLP_ALLOCATOR_TYPE_DFL) : -+ _STLP_DBG_VECTOR_BASE(__first, __last, __a), _M_iter_list((const _Base*)this) {} - - #else - _DBG_vector(const _Tp* __first, const _Tp* __last, - const allocator_type& __a = allocator_type()) -- : __STL_DBG_VECTOR_BASE(__first, __last, __a), _M_iter_list((const _Base*)this) {} -+ : _STLP_DBG_VECTOR_BASE(__first, __last, __a), _M_iter_list((const _Base*)this) {} - - // mysterious VC++ bug ? - _DBG_vector(const_iterator __first, const_iterator __last , - const allocator_type& __a = allocator_type()) -- : __STL_DBG_VECTOR_BASE(__first._M_iterator, __last._M_iterator, __a), -+ : _STLP_DBG_VECTOR_BASE(__first._M_iterator, __last._M_iterator, __a), - _M_iter_list((const _Base*)this) { } - --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - _Self& operator=(const _Self& __x) { - _M_iter_list._Invalidate_all(); -@@ -211,68 +202,72 @@ - } - - iterator insert(iterator __position, const _Tp& __x) { -- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) -+ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) - return iterator(&_M_iter_list, _Base::insert(__position._M_iterator, __x)); - } - - iterator insert(iterator __position) { -- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) -+ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) - return iterator(&_M_iter_list, _Base::insert(__position._M_iterator)); - } - --#ifdef __STL_MEMBER_TEMPLATES -+#ifdef _STLP_MEMBER_TEMPLATES - // Check whether it's an integral type. If so, it's not an iterator. - template - void insert(iterator __position, _InputIterator __first, _InputIterator __last) { -- __STL_DEBUG_CHECK(__check_range(__first,__last)) -- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) -+ _STLP_DEBUG_CHECK(__check_range(__first,__last)) -+ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) - _Base::insert(__position._M_iterator, __first, __last); - } --#else /* __STL_MEMBER_TEMPLATES */ -+#else /* _STLP_MEMBER_TEMPLATES */ - void insert(iterator __position, - const_iterator __first, const_iterator __last) { -- __STL_DEBUG_CHECK(__check_range(__first,__last)) -- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) -+ _STLP_DEBUG_CHECK(__check_range(__first,__last)) -+ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) - _Base::insert(__position._M_iterator, - __first._M_iterator, __last._M_iterator); - } - - void insert (iterator __position, const_pointer __first, const_pointer __last) { -- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) -- __STL_DEBUG_CHECK(__check_range(__first,__last)) -+ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) -+ _STLP_DEBUG_CHECK(__check_range(__first,__last)) - _Base::insert(__position._M_iterator, __first, __last); - } --#endif /* __STL_MEMBER_TEMPLATES */ -+#endif /* _STLP_MEMBER_TEMPLATES */ - - void insert (iterator __position, size_type __n, const _Tp& __x){ -- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) -+ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) - _Base::insert(__position._M_iterator, __n, __x); - } - - void pop_back() { -- __STL_VERBOSE_ASSERT(!empty(), _StlMsg_EMPTY_CONTAINER) -+ _STLP_VERBOSE_ASSERT(!this->empty(), _StlMsg_EMPTY_CONTAINER) - __invalidate_iterator(&_M_iter_list,end()); - _Base::pop_back(); - } - iterator erase(iterator __position) { -- __STL_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) -- __STL_VERBOSE_ASSERT(__position._M_iterator !=_M_finish,_StlMsg_ERASE_PAST_THE_END) -- __invalidate_range(&_M_iter_list, __position, end()); -+ _STLP_DEBUG_CHECK(__check_if_owner(&_M_iter_list, __position)) -+ _STLP_VERBOSE_ASSERT(__position._M_iterator !=this->_M_finish,_StlMsg_ERASE_PAST_THE_END) -+ __invalidate_range(&_M_iter_list, __position+1, end()); - return iterator(&_M_iter_list,_Base::erase(__position._M_iterator)); - } - iterator erase(iterator __first, iterator __last) { -- __STL_DEBUG_CHECK(__check_range(__first,__last,begin(), end())) -- __invalidate_range(&_M_iter_list, __first, end()); -+ _STLP_DEBUG_CHECK(__check_range(__first,__last, begin(), end())) -+ __invalidate_range(&_M_iter_list, __first._M_iterator == this->_M_finish ? -+ __first : __first+1, end()); - return iterator(&_M_iter_list, _Base::erase(__first._M_iterator, __last._M_iterator)); - } -- - void clear() { - _M_iter_list._Invalidate_all(); - _Base::clear(); - } -+ void push_back(const _Tp& __x) { -+ if (size()+1 > capacity()) _M_iter_list._Invalidate_all(); -+ _Base::push_back(__x); -+ } - }; - --#ifdef __STL_FUNCTION_TMPL_PARTIAL_ORDER -+#ifdef _STLP_FUNCTION_TMPL_PARTIAL_ORDER - - template - inline void swap(_DBG_vector<_Tp, _Alloc>& __x, _DBG_vector<_Tp, _Alloc>& __y) -@@ -280,27 +275,27 @@ - __x.swap(__y); - } - --#endif /* __STL_FUNCTION_TMPL_PARTIAL_ORDER */ -+#endif /* _STLP_FUNCTION_TMPL_PARTIAL_ORDER */ - --#ifdef __STL_EXTRA_OPERATORS_FOR_DEBUG -+#ifdef _STLP_EXTRA_OPERATORS_FOR_DEBUG - - template - inline bool - operator==(const _DBG_vector<_Tp, _Alloc>& __x, const _DBG_vector<_Tp, _Alloc>& __y) - { -- return (const __STL_DBG_VECTOR_BASE&)__x == -- (const __STL_DBG_VECTOR_BASE&)__y; -+ return (const _STLP_DBG_VECTOR_BASE&)__x == -+ (const _STLP_DBG_VECTOR_BASE&)__y; - } - - template - inline bool - operator<(const _DBG_vector<_Tp, _Alloc>& __x, const _DBG_vector<_Tp, _Alloc>& __y) - { -- return (const __STL_DBG_VECTOR_BASE&)__x < -- (const __STL_DBG_VECTOR_BASE&)__y; -+ return (const _STLP_DBG_VECTOR_BASE&)__x < -+ (const _STLP_DBG_VECTOR_BASE&)__y; - } - --#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE -+#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE - - template - inline bool -@@ -326,20 +321,20 @@ - return !(__x < __y); - } - --#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */ -+#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ - - # endif /* BASE_MATCH_BUG */ - --# if defined (__STL_USE_TEMPLATE_EXPORT) -- __STL_EXPORT_TEMPLATE_CLASS _DBG_vector >; --# endif /* __STL_USE_TEMPLATE_EXPORT */ -+# if defined (_STLP_USE_TEMPLATE_EXPORT) -+ _STLP_EXPORT_TEMPLATE_CLASS _DBG_vector >; -+# endif /* _STLP_USE_TEMPLATE_EXPORT */ - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --# undef __STL_DBG_VECTOR_BASE -+# undef _STLP_DBG_VECTOR_BASE - # undef _DBG_vector - --#endif /* __SGI_STL_DBG_VECTOR_H */ -+#endif /* _STLP_DBG_VECTOR_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/msl_string.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/msl_string.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/msl_string.h Sat Feb 24 10:44:36 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/msl_string.h Sun Aug 11 18:59:25 2002 -@@ -11,8 +11,8 @@ - * purpose. It is provided "as is" without express or implied warranty. - * - */ --#if defined( __STL_USE_MSIPL ) && !defined( __SGI_STL_MSL_STRING_H_ ) --#define __SGI_STL_MSL_STRING_H_ -+#if defined( _STLP_USE_MSIPL ) && !defined( _STLP_MSL_STRING_H_ ) -+#define _STLP_MSL_STRING_H_ - - //# define char_traits __msl_char_traits - # define basic_string __msl_basic_string -@@ -29,7 +29,7 @@ - template class basic_ostream; - } - --# include __STL_NATIVE_HEADER(string) -+# include _STLP_NATIVE_HEADER(string) - // # undef char_traits - # undef basic_string - # undef b_str_ref -Only in tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl: stdio_streambuf -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/type_traits.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/type_traits.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/type_traits.h Sat Feb 24 10:44:37 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/type_traits.h Sun Aug 11 18:59:25 2002 -@@ -20,8 +20,8 @@ - * - */ - --#ifndef __TYPE_TRAITS_H --#define __TYPE_TRAITS_H -+#ifndef _STLP_TYPE_TRAITS_H -+#define _STLP_TYPE_TRAITS_H - - /* - This header file provides a framework for allowing compile time dispatch -@@ -55,33 +55,41 @@ - } - */ - -+#ifdef __WATCOMC__ -+# include -+#endif -+ -+_STLP_BEGIN_NAMESPACE -+ -+struct __true_type {}; -+struct __false_type {}; - --struct __true_type { -+ -+template struct __bool2type { -+ typedef __false_type _Ret; - }; - --struct __false_type { -+_STLP_TEMPLATE_NULL -+struct __bool2type<1> { typedef __true_type _Ret; }; -+ -+_STLP_TEMPLATE_NULL -+struct __bool2type<0> { typedef __false_type _Ret; }; -+ -+// logical end of 3 predicated -+template -+struct _Land3 { -+ typedef __false_type _Ret; - }; - --template --struct __type_traits { -- typedef __true_type this_dummy_member_must_be_first; -- /* Do not remove this member. It informs a compiler which -- automatically specializes __type_traits that this -- __type_traits template is special. It just makes sure that -- things work if an implementation is using a template -- called __type_traits for something unrelated. */ -+_STLP_TEMPLATE_NULL -+struct _Land3<__true_type, __true_type, __true_type> { -+ typedef __true_type _Ret; -+}; - -- /* The following restrictions should be observed for the sake of -- compilers which automatically produce type specific specializations -- of this class: -- - You may reorder the members below if you wish -- - You may remove any of the members below if you wish -- - You must not rename members without making the corresponding -- name change in the compiler -- - Members you add will be treated like regular members unless -- you add the appropriate support in the compiler. */ -- - -+// Forward declarations. -+template struct __type_traits; -+template struct __type_traits_aux { - typedef __false_type has_trivial_default_constructor; - typedef __false_type has_trivial_copy_constructor; - typedef __false_type has_trivial_assignment_operator; -@@ -89,23 +97,17 @@ - typedef __false_type is_POD_type; - }; - --// Provide some specializations. This is harmless for compilers that --// have built-in __types_traits support, and essential for compilers --// that don't. -- --#ifndef __STL_NO_BOOL -- --__STL_TEMPLATE_NULL struct __type_traits { -- typedef __true_type has_trivial_default_constructor; -- typedef __true_type has_trivial_copy_constructor; -- typedef __true_type has_trivial_assignment_operator; -- typedef __true_type has_trivial_destructor; -- typedef __true_type is_POD_type; -+_STLP_TEMPLATE_NULL -+struct __type_traits_aux<0> { -+ typedef __false_type has_trivial_default_constructor; -+ typedef __false_type has_trivial_copy_constructor; -+ typedef __false_type has_trivial_assignment_operator; -+ typedef __false_type has_trivial_destructor; -+ typedef __false_type is_POD_type; - }; - --#endif /* __STL_NO_BOOL */ -- --__STL_TEMPLATE_NULL struct __type_traits { -+_STLP_TEMPLATE_NULL -+struct __type_traits_aux<1> { - typedef __true_type has_trivial_default_constructor; - typedef __true_type has_trivial_copy_constructor; - typedef __true_type has_trivial_assignment_operator; -@@ -113,143 +115,165 @@ - typedef __true_type is_POD_type; - }; - --#ifndef __STL_NO_SIGNED_BUILTINS -+# ifdef _STLP_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS - --__STL_TEMPLATE_NULL struct __type_traits { -- typedef __true_type has_trivial_default_constructor; -- typedef __true_type has_trivial_copy_constructor; -- typedef __true_type has_trivial_assignment_operator; -- typedef __true_type has_trivial_destructor; -- typedef __true_type is_POD_type; -+// Boris : simulation technique is used here according to Adobe Open Source License Version 1.0. -+// Copyright 2000 Adobe Systems Incorporated and others. All rights reserved. -+// Authors: Mat Marcus and Jesse Jones -+// The original version of this source code may be found at -+// http://opensource.adobe.com. -+ -+struct _PointerShim { -+ // Since the compiler only allows at most one non-trivial -+ // implicit conversion we can make use of a shim class to -+ // be sure that IsPtr below doesn't accept classes with -+ // implicit pointer conversion operators -+ _PointerShim(const volatile void*); // no implementation - }; - --# endif -+// These are the discriminating functions - --__STL_TEMPLATE_NULL struct __type_traits { -- typedef __true_type has_trivial_default_constructor; -- typedef __true_type has_trivial_copy_constructor; -- typedef __true_type has_trivial_assignment_operator; -- typedef __true_type has_trivial_destructor; -- typedef __true_type is_POD_type; --}; -+char _STLP_CALL _IsP(bool, _PointerShim); // no implementation is required -+char* _STLP_CALL _IsP(bool, ...); // no implementation is required - --#if defined ( __STL_HAS_WCHAR_T ) && ! defined (__STL_WCHAR_T_IS_USHORT) -+template -+char _STLP_CALL _IsSameFun(bool, _Tp*, _Tp*); // no implementation is required -+char* _STLP_CALL _IsSameFun(bool, ...); // no implementation is required - --__STL_TEMPLATE_NULL struct __type_traits { -- typedef __true_type has_trivial_default_constructor; -- typedef __true_type has_trivial_copy_constructor; -- typedef __true_type has_trivial_assignment_operator; -- typedef __true_type has_trivial_destructor; -- typedef __true_type is_POD_type; -+template -+struct _IsSame { -+ static _Tp1& __null_rep1(); -+ static _Tp2& __null_rep2(); -+ enum { _Ret = (sizeof(_IsSameFun(false,__null_rep1(),__null_rep2())) == sizeof(char)) }; - }; - --#endif /* __STL_HAS_WCHAR_T */ -+template -+struct _IsPtr { -+ -+ // This template meta function takes a type T -+ // and returns true exactly when T is a pointer. -+ // One can imagine meta-functions discriminating on -+ // other criteria. -+ static _Tp& __null_rep(); -+ enum { _Ret = (sizeof(_IsP(false,__null_rep())) == sizeof(char)) }; - --__STL_TEMPLATE_NULL struct __type_traits { -- typedef __true_type has_trivial_default_constructor; -- typedef __true_type has_trivial_copy_constructor; -- typedef __true_type has_trivial_assignment_operator; -- typedef __true_type has_trivial_destructor; -- typedef __true_type is_POD_type; - }; - --__STL_TEMPLATE_NULL struct __type_traits { -- typedef __true_type has_trivial_default_constructor; -- typedef __true_type has_trivial_copy_constructor; -- typedef __true_type has_trivial_assignment_operator; -- typedef __true_type has_trivial_destructor; -- typedef __true_type is_POD_type; -+template -+struct _IsPtrType { -+ enum { _Is = _IsPtr<_Tp>::_Ret } ; -+ typedef __bool2type< _Is > _BT; -+ typedef typename _BT::_Ret _Type; -+ static _Type _Ret() { return _Type(); } -+}; -+ -+template -+struct _BothPtrType { -+ typedef __bool2type< _IsPtr<_Tp1>::_Ret> _B1; -+ typedef __bool2type< _IsPtr<_Tp2>::_Ret> _B2; -+ typedef typename _B1::_Ret _Type1; -+ typedef typename _B2::_Ret _Type2; -+ typedef typename _Land3<_Type1, _Type2, __true_type>::_Ret _Type; -+ static _Type _Ret() { return _Type(); } - }; - --__STL_TEMPLATE_NULL struct __type_traits { -- typedef __true_type has_trivial_default_constructor; -- typedef __true_type has_trivial_copy_constructor; -- typedef __true_type has_trivial_assignment_operator; -- typedef __true_type has_trivial_destructor; -- typedef __true_type is_POD_type; --}; -+// we make general case dependant on the fact the type is actually a pointer. -+ -+template -+struct __type_traits : __type_traits_aux<_IsPtr<_Tp>::_Ret> {}; - --__STL_TEMPLATE_NULL struct __type_traits { -- typedef __true_type has_trivial_default_constructor; -- typedef __true_type has_trivial_copy_constructor; -- typedef __true_type has_trivial_assignment_operator; -- typedef __true_type has_trivial_destructor; -- typedef __true_type is_POD_type; --}; -+# else - --__STL_TEMPLATE_NULL struct __type_traits { -- typedef __true_type has_trivial_default_constructor; -- typedef __true_type has_trivial_copy_constructor; -- typedef __true_type has_trivial_assignment_operator; -- typedef __true_type has_trivial_destructor; -- typedef __true_type is_POD_type; --}; -+template -+struct __type_traits { -+ typedef __true_type this_dummy_member_must_be_first; -+ /* Do not remove this member. It informs a compiler which -+ automatically specializes __type_traits that this -+ __type_traits template is special. It just makes sure that -+ things work if an implementation is using a template -+ called __type_traits for something unrelated. */ - --__STL_TEMPLATE_NULL struct __type_traits { -- typedef __true_type has_trivial_default_constructor; -- typedef __true_type has_trivial_copy_constructor; -- typedef __true_type has_trivial_assignment_operator; -- typedef __true_type has_trivial_destructor; -- typedef __true_type is_POD_type; -+ /* The following restrictions should be observed for the sake of -+ compilers which automatically produce type specific specializations -+ of this class: -+ - You may reorder the members below if you wish -+ - You may remove any of the members below if you wish -+ - You must not rename members without making the corresponding -+ name change in the compiler -+ - Members you add will be treated like regular members unless -+ you add the appropriate support in the compiler. */ -+ typedef __false_type has_trivial_default_constructor; -+ typedef __false_type has_trivial_copy_constructor; -+ typedef __false_type has_trivial_assignment_operator; -+ typedef __false_type has_trivial_destructor; -+ typedef __false_type is_POD_type; - }; - --#ifdef __STL_LONG_LONG - --__STL_TEMPLATE_NULL struct __type_traits { -- typedef __true_type has_trivial_default_constructor; -- typedef __true_type has_trivial_copy_constructor; -- typedef __true_type has_trivial_assignment_operator; -- typedef __true_type has_trivial_destructor; -- typedef __true_type is_POD_type; -+template struct _IsPtr { enum { _Ret = 0 }; }; -+template struct _IsPtrType { -+ static __false_type _Ret() { return __false_type();} - }; -- --__STL_TEMPLATE_NULL struct __type_traits { -- typedef __true_type has_trivial_default_constructor; -- typedef __true_type has_trivial_copy_constructor; -- typedef __true_type has_trivial_assignment_operator; -- typedef __true_type has_trivial_destructor; -- typedef __true_type is_POD_type; -+template struct _BothPtrType { -+ static __false_type _Ret() { return __false_type();} - }; - --#endif /* __STL_LONG_LONG */ -+template -+struct _IsSame { enum { _Ret = 0 }; }; - --__STL_TEMPLATE_NULL struct __type_traits { -- typedef __true_type has_trivial_default_constructor; -- typedef __true_type has_trivial_copy_constructor; -- typedef __true_type has_trivial_assignment_operator; -- typedef __true_type has_trivial_destructor; -- typedef __true_type is_POD_type; --}; -+// template -+// struct _IsSameType { static __false_type _Ret() { return __false_type(); } }; - --__STL_TEMPLATE_NULL struct __type_traits { -- typedef __true_type has_trivial_default_constructor; -- typedef __true_type has_trivial_copy_constructor; -- typedef __true_type has_trivial_assignment_operator; -- typedef __true_type has_trivial_destructor; -- typedef __true_type is_POD_type; -+# ifdef _STLP_CLASS_PARTIAL_SPECIALIZATION -+template struct _IsPtr<_Tp*> { enum { _Ret = 1 }; }; -+template struct _IsPtrType<_Tp*> { -+ static __true_type _Ret() { return __true_type();} - }; -- --# if !defined ( __STL_NO_LONG_DOUBLE ) --__STL_TEMPLATE_NULL struct __type_traits { -- typedef __true_type has_trivial_default_constructor; -- typedef __true_type has_trivial_copy_constructor; -- typedef __true_type has_trivial_assignment_operator; -- typedef __true_type has_trivial_destructor; -- typedef __true_type is_POD_type; -+template struct _BothPtrType<_Tp1*, _Tp2*> { -+ static __true_type _Ret() { return __true_type();} - }; -+template -+struct _IsSame<_Tp, _Tp> { enum { _Ret = 1 }; }; -+# endif -+ -+# endif /* _STLP_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS */ -+ -+// Provide some specializations. This is harmless for compilers that -+// have built-in __types_traits support, and essential for compilers -+// that don't. -+#ifndef _STLP_NO_BOOL -+_STLP_TEMPLATE_NULL struct __type_traits : __type_traits_aux<1> {}; -+#endif /* _STLP_NO_BOOL */ -+_STLP_TEMPLATE_NULL struct __type_traits : __type_traits_aux<1> {}; -+#ifndef _STLP_NO_SIGNED_BUILTINS -+_STLP_TEMPLATE_NULL struct __type_traits : __type_traits_aux<1> {}; - # endif -+_STLP_TEMPLATE_NULL struct __type_traits : __type_traits_aux<1> {}; -+#if defined ( _STLP_HAS_WCHAR_T ) && ! defined (_STLP_WCHAR_T_IS_USHORT) -+_STLP_TEMPLATE_NULL struct __type_traits : __type_traits_aux<1> {}; -+#endif /* _STLP_HAS_WCHAR_T */ -+ -+_STLP_TEMPLATE_NULL struct __type_traits : __type_traits_aux<1> {}; -+_STLP_TEMPLATE_NULL struct __type_traits : __type_traits_aux<1> {}; -+_STLP_TEMPLATE_NULL struct __type_traits : __type_traits_aux<1> {}; -+_STLP_TEMPLATE_NULL struct __type_traits : __type_traits_aux<1> {}; -+_STLP_TEMPLATE_NULL struct __type_traits : __type_traits_aux<1> {}; -+_STLP_TEMPLATE_NULL struct __type_traits : __type_traits_aux<1> {}; -+ -+#ifdef _STLP_LONG_LONG -+_STLP_TEMPLATE_NULL struct __type_traits<_STLP_LONG_LONG> : __type_traits_aux<1> {}; -+_STLP_TEMPLATE_NULL struct __type_traits : __type_traits_aux<1> {}; -+#endif /* _STLP_LONG_LONG */ - --#ifdef __STL_CLASS_PARTIAL_SPECIALIZATION --template --struct __type_traits<_Tp*> { -- typedef __true_type has_trivial_default_constructor; -- typedef __true_type has_trivial_copy_constructor; -- typedef __true_type has_trivial_assignment_operator; -- typedef __true_type has_trivial_destructor; -- typedef __true_type is_POD_type; --}; -+_STLP_TEMPLATE_NULL struct __type_traits : __type_traits_aux<1> {}; -+_STLP_TEMPLATE_NULL struct __type_traits : __type_traits_aux<1> {}; -+ -+# if !defined ( _STLP_NO_LONG_DOUBLE ) -+_STLP_TEMPLATE_NULL struct __type_traits : __type_traits_aux<1> {}; -+# endif - --# define __STL_DEFINE_ARROW_OPERATOR pointer operator->() const { return &(operator*()); } -+#ifdef _STLP_CLASS_PARTIAL_SPECIALIZATION -+template struct __type_traits<_Tp*> : __type_traits_aux<1> {}; - #endif - - // The following could be written in terms of numeric_limits. -@@ -259,98 +283,135 @@ - typedef __false_type _Integral; - }; - --#ifndef __STL_NO_BOOL -+#ifndef _STLP_NO_BOOL - --__STL_TEMPLATE_NULL struct _Is_integer { -+_STLP_TEMPLATE_NULL struct _Is_integer { - typedef __true_type _Integral; - }; - --#endif /* __STL_NO_BOOL */ -+#endif /* _STLP_NO_BOOL */ - --__STL_TEMPLATE_NULL struct _Is_integer { -+_STLP_TEMPLATE_NULL struct _Is_integer { - typedef __true_type _Integral; - }; - --#ifndef __STL_NO_SIGNED_BUILTINS -+#ifndef _STLP_NO_SIGNED_BUILTINS - --__STL_TEMPLATE_NULL struct _Is_integer { -+_STLP_TEMPLATE_NULL struct _Is_integer { - typedef __true_type _Integral; - }; - #endif - --__STL_TEMPLATE_NULL struct _Is_integer { -+_STLP_TEMPLATE_NULL struct _Is_integer { - typedef __true_type _Integral; - }; - --#if defined ( __STL_HAS_WCHAR_T ) && ! defined (__STL_WCHAR_T_IS_USHORT) -+#if defined ( _STLP_HAS_WCHAR_T ) && ! defined (_STLP_WCHAR_T_IS_USHORT) - --__STL_TEMPLATE_NULL struct _Is_integer { -+_STLP_TEMPLATE_NULL struct _Is_integer { - typedef __true_type _Integral; - }; - --#endif /* __STL_HAS_WCHAR_T */ -+#endif /* _STLP_HAS_WCHAR_T */ - --__STL_TEMPLATE_NULL struct _Is_integer { -+_STLP_TEMPLATE_NULL struct _Is_integer { - typedef __true_type _Integral; - }; - --__STL_TEMPLATE_NULL struct _Is_integer { -+_STLP_TEMPLATE_NULL struct _Is_integer { - typedef __true_type _Integral; - }; - --__STL_TEMPLATE_NULL struct _Is_integer { -+_STLP_TEMPLATE_NULL struct _Is_integer { - typedef __true_type _Integral; - }; - --__STL_TEMPLATE_NULL struct _Is_integer { -+_STLP_TEMPLATE_NULL struct _Is_integer { - typedef __true_type _Integral; - }; - --__STL_TEMPLATE_NULL struct _Is_integer { -+_STLP_TEMPLATE_NULL struct _Is_integer { - typedef __true_type _Integral; - }; - --__STL_TEMPLATE_NULL struct _Is_integer { -+_STLP_TEMPLATE_NULL struct _Is_integer { - typedef __true_type _Integral; - }; - --#ifdef __STL_LONG_LONG -+#ifdef _STLP_LONG_LONG - --__STL_TEMPLATE_NULL struct _Is_integer { -+_STLP_TEMPLATE_NULL struct _Is_integer<_STLP_LONG_LONG> { - typedef __true_type _Integral; - }; - --__STL_TEMPLATE_NULL struct _Is_integer { -+_STLP_TEMPLATE_NULL struct _Is_integer { - typedef __true_type _Integral; - }; - --#endif /* __STL_LONG_LONG */ -+#endif /* _STLP_LONG_LONG */ -+ -+template -+struct _OKToMemCpy { -+ enum { _Same = _IsSame<_Tp1,_Tp2>::_Ret } ; -+ typedef typename __type_traits<_Tp1>::has_trivial_assignment_operator _Tr1; -+ typedef typename __type_traits<_Tp2>::has_trivial_assignment_operator _Tr2; -+ typedef typename __bool2type< _Same >::_Ret _Tr3; -+ typedef typename _Land3<_Tr1, _Tr2, _Tr3>::_Ret _Type; -+ static _Type _Ret() { return _Type(); } -+}; -+ -+template -+inline _OKToMemCpy<_Tp1, _Tp2> _IsOKToMemCpy(_Tp1*, _Tp2*) { -+ return _OKToMemCpy<_Tp1, _Tp2>(); -+} -+ -+template -+struct _IsPOD { -+ typedef typename __type_traits<_Tp>::is_POD_type _Type; -+ static _Type _Ret() { return _Type(); } -+}; -+ -+template -+inline _IsPOD<_Tp> _Is_POD (_Tp*) { return _IsPOD<_Tp>(); } -+ -+# ifdef _STLP_CLASS_PARTIAL_SPECIALIZATION -+# if defined (__BORLANDC__) || defined (__SUNPRO_CC) || ( defined (__MWERKS__) && (__MWERKS__ <= 0x2303)) || ( defined (__sgi) && defined (_COMPILER_VERSION)) -+# define _IS_POD_ITER(_It, _Tp) __type_traits< typename iterator_traits< _Tp >::value_type >::is_POD_type() -+# else -+# define _IS_POD_ITER(_It, _Tp) typename __type_traits< typename iterator_traits< _Tp >::value_type >::is_POD_type() -+# endif -+# else -+# define _IS_POD_ITER(_It, _Tp) _Is_POD( _STLP_VALUE_TYPE( _It, _Tp ) )._Ret() -+# endif - --# ifdef __STL_DEFAULT_CONSTRUCTOR_BUG -+# ifdef _STLP_DEFAULT_CONSTRUCTOR_BUG - // Those adaptors are here to fix common compiler bug regarding builtins: - // expressions like int k = int() should initialize k to 0 - template --_Tp __default_constructed_aux(_Tp*, __false_type) { -- return _Tp(); -+inline _Tp __default_constructed_aux(_Tp*, const __false_type&) { -+ return _Tp(); - } - template --_Tp __default_constructed_aux(_Tp*, __true_type) { -- return _Tp(0); -+inline _Tp __default_constructed_aux(_Tp*, const __true_type&) { -+ return _Tp(0); - } - - template --_Tp __default_constructed(_Tp* __p) { -- typedef typename _Is_integer<_Tp>::_Integral _Is_Integral; -- return __default_constructed_aux(__p, _Is_Integral()); -+inline _Tp __default_constructed(_Tp* __p) { -+ typedef typename _Is_integer<_Tp>::_Integral _Is_Integral; -+ return __default_constructed_aux(__p, _Is_Integral()); - } - --# define __STL_DEFAULT_CONSTRUCTED(_TTp) __default_constructed((_TTp*)0) -+# define _STLP_DEFAULT_CONSTRUCTED(_TTp) __default_constructed((_TTp*)0) - # else --# define __STL_DEFAULT_CONSTRUCTED(_TTp) _TTp() -+# define _STLP_DEFAULT_CONSTRUCTED(_TTp) _TTp() - # endif - -+_STLP_END_NAMESPACE -+ - #endif /* __TYPE_TRAITS_H */ - - // Local Variables: - // mode:C++ - // End: -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/wrappers/_deque.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/wrappers/_deque.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/wrappers/_deque.h Sat Feb 24 10:45:21 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/wrappers/_deque.h Sun Aug 11 18:59:25 2002 -@@ -23,19 +23,19 @@ - * - */ - --/* NOTE: This is an internal header file, included by other STL headers. -- * You should not attempt to use it directly. -- */ -+#ifndef _STLP_INTERNAL_DEQUE_H -+# include -+#endif - --# if defined (__STL_DEBUG) -+# if defined (_STLP_DEBUG) - # define _DEQUE_SUPER_NAME _DBG_deque - # else - # define _DEQUE_SUPER_NAME __deque__ - # endif - --# define _DEQUE_SUPER _DEQUE_SUPER_NAME<_Tp, __STL_DEFAULT_ALLOCATOR(_Tp) > -+# define _DEQUE_SUPER _DEQUE_SUPER_NAME<_Tp, _STLP_DEFAULT_ALLOCATOR(_Tp) > - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - - // provide a "default" deque adaptor - template -@@ -53,7 +53,7 @@ - ~deque() { } - }; - --# if defined (__STL_BASE_MATCH_BUG) -+# if defined (_STLP_BASE_MATCH_BUG) - template - inline bool - operator==(const deque<_Tp>& __x, const deque<_Tp>& __y) { -@@ -69,7 +69,7 @@ - - # undef _DEQUE_SUPER - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/wrappers/_hash_map.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/wrappers/_hash_map.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/wrappers/_hash_map.h Sat Feb 24 10:45:21 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/wrappers/_hash_map.h Sun Aug 11 18:59:25 2002 -@@ -17,22 +17,26 @@ - * You should not attempt to use it directly. - */ - --#ifndef __SGI_STL_INTERNAL_WRAP_HASH_MAP_H --#define __SGI_STL_INTERNAL_WRAP_HASH_MAP_H -+#ifndef _STLP_INTERNAL_WRAP_HASH_MAP_H -+#define _STLP_INTERNAL_WRAP_HASH_MAP_H - --# ifdef __STL_USE_NAMESPACES -+#ifndef _STLP_INTERNAL_HASH_MAP_H -+# include -+#endif -+ -+# ifdef _STLP_USE_NAMESPACES - namespace STLPORT { - # endif - - // provide a "default" hash_map adaptor --# if defined (__STL_MINIMUM_DEFAULT_TEMPLATE_PARAMS) -+# if defined (_STLP_MINIMUM_DEFAULT_TEMPLATE_PARAMS) - # define __HM_TEMPLATE_HEADER template - # define __HM_ARGUMENTS _Key, _Tp --# define __HM_BASE_ARGUMENTS _Key, _Tp, hash<_Key>, equal_to<_Key>, __STL_DEFAULT_PAIR_ALLOCATOR(const _Key, _Tp) -+# define __HM_BASE_ARGUMENTS _Key, _Tp, hash<_Key>, equal_to<_Key>, _STLP_DEFAULT_PAIR_ALLOCATOR(const _Key, _Tp) - # else - # define __HM_TEMPLATE_HEADER template - # define __HM_ARGUMENTS _Key, _Tp, _HashFcn, _EqualKey --# define __HM_BASE_ARGUMENTS _Key, _Tp, _HashFcn, _EqualKey, __STL_DEFAULT_PAIR_ALLOCATOR(const _Key, _Tp) -+# define __HM_BASE_ARGUMENTS _Key, _Tp, _HashFcn, _EqualKey, _STLP_DEFAULT_PAIR_ALLOCATOR(const _Key, _Tp) - # endif - - -@@ -66,13 +70,13 @@ - const hasher& __hf) : __HM_SUPER(__f, __l, __n, __hf) { } - hash_map(const_iterator __f, const_iterator __l, size_type __n, - const hasher& __hf, const key_equal& __eql) : __HM_SUPER(__f, __l, __n, __hf, __eql) { } --# if defined (__STL_BASE_MATCH_BUG) -- friend inline bool operator== __STL_NULL_TMPL_ARGS (const _Self& __hm1, const _Self& __hm2); -+# if defined (_STLP_BASE_MATCH_BUG) -+ friend inline bool operator== _STLP_NULL_TMPL_ARGS (const _Self& __hm1, const _Self& __hm2); - # endif - }; - - --# if defined (__STL_BASE_MATCH_BUG) -+# if defined (_STLP_BASE_MATCH_BUG) - __HM_TEMPLATE_HEADER - inline bool operator==(const hash_map< __HM_ARGUMENTS >& __hm1, - const hash_map< __HM_ARGUMENTS >& __hm2) -@@ -111,12 +115,12 @@ - const hasher& __hf) : __HMM_SUPER(__f, __l, __n, __hf) { } - hash_multimap(const_iterator __f, const_iterator __l, size_type __n, - const hasher& __hf, const key_equal& __eql) : __HMM_SUPER(__f, __l, __n, __hf, __eql) { } --# if defined (__STL_BASE_MATCH_BUG) -- friend inline bool operator== __STL_NULL_TMPL_ARGS (const _Self& __hm1, const _Self& __hm2); -+# if defined (_STLP_BASE_MATCH_BUG) -+ friend inline bool operator== _STLP_NULL_TMPL_ARGS (const _Self& __hm1, const _Self& __hm2); - # endif - }; - --# if defined (__STL_BASE_MATCH_BUG) -+# if defined (_STLP_BASE_MATCH_BUG) - __HM_TEMPLATE_HEADER - inline bool operator==(const hash_multimap< __HM_ARGUMENTS >& __hm1, - const hash_multimap< __HM_ARGUMENTS >& __hm2) -@@ -132,11 +136,11 @@ - # undef __HM_ARGUMENTS - # undef __HM_BASE_ARGUMENTS - --# ifdef __STL_USE_NAMESPACES -+# ifdef _STLP_USE_NAMESPACES - } /* namespace STLPORT */ - # endif - --#endif /* __SGI_STL_INTERNAL_HASH_SET_H */ -+#endif /* _STLP_INTERNAL_HASH_SET_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/wrappers/_hash_set.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/wrappers/_hash_set.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/wrappers/_hash_set.h Sat Feb 24 10:45:22 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/wrappers/_hash_set.h Sun Aug 11 18:59:25 2002 -@@ -17,21 +17,25 @@ - * You should not attempt to use it directly. - */ - --#ifndef __SGI_STL_INTERNAL_WRAP_HASH_SET_H --#define __SGI_STL_INTERNAL_WRAP_HASH_SET_H -+#ifndef _STLP_INTERNAL_WRAP_HASH_SET_H -+#define _STLP_INTERNAL_WRAP_HASH_SET_H - --# ifdef __STL_USE_NAMESPACES -+#ifndef _STLP_INTERNAL_HASH_SET_H -+# include -+#endif -+ -+# ifdef _STLP_USE_NAMESPACES - namespace STLPORT { - # endif - --# if defined (__STL_MINIMUM_DEFAULT_TEMPLATE_PARAMS) -+# if defined (_STLP_MINIMUM_DEFAULT_TEMPLATE_PARAMS) - # define __HS_TEMPLATE_HEADER template - # define __HS_ARGUMENTS _Value --# define __HS_BASE_ARGUMENTS _Value, hash<_Value>, equal_to<_Value>, __STL_DEFAULT_ALLOCATOR(_Value) -+# define __HS_BASE_ARGUMENTS _Value, hash<_Value>, equal_to<_Value>, _STLP_DEFAULT_ALLOCATOR(_Value) - # else - # define __HS_TEMPLATE_HEADER template - # define __HS_ARGUMENTS _Value, _HashFcn, _EqualKey --# define __HS_BASE_ARGUMENTS _Value, _HashFcn, _EqualKey, __STL_DEFAULT_ALLOCATOR(_Value) -+# define __HS_BASE_ARGUMENTS _Value, _HashFcn, _EqualKey, _STLP_DEFAULT_ALLOCATOR(_Value) - # endif - - -@@ -68,12 +72,12 @@ - const hasher& hf) : __HS_SUPER(f, l, n, hf) { } - hash_set(const_iterator f, const_iterator l, size_type n, - const hasher& hf, const key_equal& eql) : __HS_SUPER(f, l, n, hf, eql) { } --# if defined (__STL_BASE_MATCH_BUG) -- friend inline bool operator== __STL_NULL_TMPL_ARGS (const _Self& hs1, const _Self& hs2); -+# if defined (_STLP_BASE_MATCH_BUG) -+ friend inline bool operator== _STLP_NULL_TMPL_ARGS (const _Self& hs1, const _Self& hs2); - # endif - }; - --# if defined (__STL_BASE_MATCH_BUG) -+# if defined (_STLP_BASE_MATCH_BUG) - __HS_TEMPLATE_HEADER - inline bool operator==(const hash_set< __HS_ARGUMENTS >& hs1, - const hash_set< __HS_ARGUMENTS >& hs2) -@@ -113,18 +117,18 @@ - const hasher& __hf) : __HMS_SUPER(__f, __l, __n, __hf) { } - hash_multiset(const_iterator __f, const_iterator __l, size_type __n, - const hasher& __hf, const key_equal& __eql) : __HMS_SUPER(__f, __l, __n, __hf, __eql) { } --# if defined (__STL_BASE_MATCH_BUG) -- friend inline bool operator== __STL_NULL_TMPL_ARGS (const _Self& __hs1, const _Self& __hs2); -+# if defined (_STLP_BASE_MATCH_BUG) -+ friend inline bool operator== _STLP_NULL_TMPL_ARGS (const _Self& __hs1, const _Self& __hs2); - # endif - }; - --# if defined (__STL_BASE_MATCH_BUG) -+# if defined (_STLP_BASE_MATCH_BUG) - __HS_TEMPLATE_HEADER - inline bool operator==(const hash_multiset< __HS_ARGUMENTS >& __hs1, - const hash_multiset< __HS_ARGUMENTS >& __hs2) - { - typedef __HMS_SUPER __s; -- return __STLPORT_STD::operator==((const __s&)__hs1,(const __s&)__hs2); -+ return _STLP_STD::operator==((const __s&)__hs1,(const __s&)__hs2); - } - # endif - -@@ -135,11 +139,11 @@ - # undef __HS_BASE_ARGUMENTS - # undef __HS_TEMPLATE_HEADER - --# ifdef __STL_USE_NAMESPACES -+# ifdef _STLP_USE_NAMESPACES - } /* namespace STLPORT */ - # endif - --#endif /* __SGI_STL_INTERNAL_HASH_SET_H */ -+#endif /* _STLP_INTERNAL_HASH_SET_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/wrappers/_list.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/wrappers/_list.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/wrappers/_list.h Sat Feb 24 10:45:22 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/wrappers/_list.h Sun Aug 11 18:59:25 2002 -@@ -27,17 +27,21 @@ - * You should not attempt to use it directly. - */ - --#ifndef __SGI_STL_INTERNAL_WRAP_LIST_H --#define __SGI_STL_INTERNAL_WRAP_LIST_H -+#ifndef _STLP_INTERNAL_WRAP_LIST_H -+#define _STLP_INTERNAL_WRAP_LIST_H - --# ifdef __STL_USE_NAMESPACES -+#ifndef _STLP_INTERNAL_LIST_H -+# include -+#endif -+ -+# ifdef _STLP_USE_NAMESPACES - namespace STLPORT { - # endif - --# if defined (__STL_DEBUG) --# define __LIST_SUPER _DBG_list<_Tp, __STL_DEFAULT_ALLOCATOR(_Tp) > -+# if defined (_STLP_DEBUG) -+# define __LIST_SUPER _DBG_list<_Tp, _STLP_DEFAULT_ALLOCATOR(_Tp) > - # else --# define __LIST_SUPER __list__<_Tp, __STL_DEFAULT_ALLOCATOR(_Tp) > -+# define __LIST_SUPER __list__<_Tp, _STLP_DEFAULT_ALLOCATOR(_Tp) > - # endif - - -@@ -57,7 +61,7 @@ - # undef __LIST_SUPER - }; - --# if defined (__STL_BASE_MATCH_BUG) -+# if defined (_STLP_BASE_MATCH_BUG) - template - inline bool operator==(const list<_Tp>& __x, const list<_Tp>& __y) { - typedef typename list<_Tp>::_Super _Super; -@@ -71,11 +75,11 @@ - } - # endif - --# ifdef __STL_USE_NAMESPACES -+# ifdef _STLP_USE_NAMESPACES - } /* namespace STLPORT */ - # endif - --#endif /* __SGI_STL_INTERNAL_LIST_H */ -+#endif /* _STLP_INTERNAL_LIST_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/wrappers/_map.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/wrappers/_map.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/wrappers/_map.h Sat Feb 24 10:45:22 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/wrappers/_map.h Sun Aug 11 18:59:25 2002 -@@ -17,14 +17,18 @@ - * You should not attempt to use it directly. - */ - --#ifndef __SGI_STL_INTERNAL_WRAP_MAP_H --#define __SGI_STL_INTERNAL_WRAP_MAP_H -+#ifndef _STLP_INTERNAL_WRAP_MAP_H -+#define _STLP_INTERNAL_WRAP_MAP_H - --# ifdef __STL_USE_NAMESPACES -+#ifndef _STLP_INTERNAL_MAP_H -+# include -+#endif -+ -+# ifdef _STLP_USE_NAMESPACES - namespace STLPORT { - # endif - --# if defined (__STL_MINIMUM_DEFAULT_TEMPLATE_PARAMS) -+# if defined (_STLP_MINIMUM_DEFAULT_TEMPLATE_PARAMS) - # define __MAP_TEMPLATE_HEADER template - # define __MAP_ARGUMENTS _Key, _Tp - # define __MMAP_TEMPLATE_HEADER template -@@ -38,8 +42,8 @@ - # endif - - --# define __MAP_SUPER __map< _Key, _Tp, _Compare, __STL_DEFAULT_PAIR_ALLOCATOR(const _Key, _Tp) > --# define __MMAP_SUPER __multimap< _Key, _Tp, _Compare, __STL_DEFAULT_PAIR_ALLOCATOR(const _Key, _Tp) > -+# define __MAP_SUPER __map< _Key, _Tp, _Compare, _STLP_DEFAULT_PAIR_ALLOCATOR(const _Key, _Tp) > -+# define __MMAP_SUPER __multimap< _Key, _Tp, _Compare, _STLP_DEFAULT_PAIR_ALLOCATOR(const _Key, _Tp) > - - // provide a "default" map adaptor - __MAP_TEMPLATE_HEADER -@@ -66,7 +70,7 @@ - const _Compare& __comp) : __MAP_SUPER(__first, __last, __comp) { } - }; - --# if defined (__STL_BASE_MATCH_BUG) -+# if defined (_STLP_BASE_MATCH_BUG) - __MAP_TEMPLATE_HEADER - inline bool operator==(const map< __MAP_ARGUMENTS >& __x, - const map< __MAP_ARGUMENTS >& __y) { -@@ -80,7 +84,7 @@ - typedef __MAP_SUPER _Super; - return operator < ((const _Super&)__x,(const _Super&)__y); - } --# endif /* __STL_BASE_MATCH_BUG */ -+# endif /* _STLP_BASE_MATCH_BUG */ - - - // provide a "default" multimap adaptor -@@ -109,7 +113,7 @@ - const _Compare& __comp) : __MMAP_SUPER(__first, __last, __comp) { } - }; - --# if defined (__STL_BASE_MATCH_BUG) -+# if defined (_STLP_BASE_MATCH_BUG) - __MMAP_TEMPLATE_HEADER - inline bool operator==(const multimap< __MMAP_ARGUMENTS >& __x, - const multimap< __MMAP_ARGUMENTS >& __y) { -@@ -135,11 +139,11 @@ - - # undef _Compare - --# ifdef __STL_USE_NAMESPACES -+# ifdef _STLP_USE_NAMESPACES - } /* namespace STLPORT */ - # endif - --#endif /* __SGI_STL_INTERNAL_WRAP_MAP_H */ -+#endif /* _STLP_INTERNAL_WRAP_MAP_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/wrappers/_mmap.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/wrappers/_mmap.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/wrappers/_mmap.h Sat Feb 24 10:45:22 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/wrappers/_mmap.h Sun Aug 11 18:59:25 2002 -@@ -17,29 +17,29 @@ - * You should not attempt to use it directly. - */ - --#ifndef __SGI_STL_INTERNAL_WRAP_MULTIMAP_H --#define __SGI_STL_INTERNAL_WRAP_MULTIMAP_H -+#ifndef _STLP_INTERNAL_WRAP_MULTIMAP_H -+#define _STLP_INTERNAL_WRAP_MULTIMAP_H - --# ifdef __STL_USE_NAMESPACES -+# ifdef _STLP_USE_NAMESPACES - namespace STLPORT { - # endif - --# if defined (__STL_MINIMUM_DEFAULT_TEMPLATE_PARAMS) -+# if defined (_STLP_MINIMUM_DEFAULT_TEMPLATE_PARAMS) - # define _Compare less<_Key> - # else - # endif - --# if defined (__STL_DEBUG) && ! defined (__STL_USE_NAMESPACES) -+# if defined (_STLP_DEBUG) && ! defined (_STLP_USE_NAMESPACES) - # else - - # endif - - --# ifdef __STL_USE_NAMESPACES -+# ifdef _STLP_USE_NAMESPACES - } /* namespace STLPORT */ - # endif - --#endif /* __SGI_STL_INTERNAL_WRAP_MULTIMAP_H */ -+#endif /* _STLP_INTERNAL_WRAP_MULTIMAP_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/wrappers/_set.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/wrappers/_set.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/wrappers/_set.h Sat Feb 24 10:45:22 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/wrappers/_set.h Sun Aug 11 18:59:25 2002 -@@ -17,14 +17,18 @@ - * You should not attempt to use it directly. - */ - --#ifndef __SGI_STL_INTERNAL_WRAP_SET_H --#define __SGI_STL_INTERNAL_WRAP_SET_H -+#ifndef _STLP_INTERNAL_WRAP_SET_H -+#define _STLP_INTERNAL_WRAP_SET_H - --# ifdef __STL_USE_NAMESPACES -+#ifndef _STLP_INTERNAL_SET_H -+# include -+#endif -+ -+# ifdef _STLP_USE_NAMESPACES - namespace STLPORT { - # endif - --# if defined (__STL_MINIMUM_DEFAULT_TEMPLATE_PARAMS) -+# if defined (_STLP_MINIMUM_DEFAULT_TEMPLATE_PARAMS) - # define __SET_TEMPLATE_HEADER template - # define __SET_ARGUMENTS _Key - # define __MSET_TEMPLATE_HEADER template -@@ -37,8 +41,8 @@ - # define __MSET_ARGUMENTS _Key, _Compare - # endif - --# define __SET_SUPER __set< _Key, _Compare, __STL_DEFAULT_ALLOCATOR(_Key) > --# define __MSET_SUPER __multiset< _Key, _Compare, __STL_DEFAULT_ALLOCATOR(_Key) > -+# define __SET_SUPER __set< _Key, _Compare, _STLP_DEFAULT_ALLOCATOR(_Key) > -+# define __MSET_SUPER __multiset< _Key, _Compare, _STLP_DEFAULT_ALLOCATOR(_Key) > - - // provide a "default" set adaptor - __SET_TEMPLATE_HEADER -@@ -63,7 +67,7 @@ - const _Compare& __comp) : __SET_SUPER(__first, __last, __comp) { } - }; - --# if defined (__STL_BASE_MATCH_BUG) -+# if defined (_STLP_BASE_MATCH_BUG) - __SET_TEMPLATE_HEADER - inline bool operator==(const set< __SET_ARGUMENTS >& __x, - const set< __SET_ARGUMENTS >& __y) { -@@ -101,7 +105,7 @@ - const _Compare& __comp) : __MSET_SUPER(__first, __last, __comp) { } - }; - --# if defined (__STL_BASE_MATCH_BUG) -+# if defined (_STLP_BASE_MATCH_BUG) - __MSET_TEMPLATE_HEADER - inline bool operator==(const multiset< __MSET_ARGUMENTS >& __x, - const multiset< __MSET_ARGUMENTS >& __y) { -@@ -126,11 +130,11 @@ - # undef __SET_SUPER - # undef _Compare - --# ifdef __STL_USE_NAMESPACES -+# ifdef _STLP_USE_NAMESPACES - } /* namespace STLPORT */ - # endif - --#endif /* __SGI_STL_INTERNAL_WRAP_SET_H */ -+#endif /* _STLP_INTERNAL_WRAP_SET_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/wrappers/_slist.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/wrappers/_slist.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/wrappers/_slist.h Sat Feb 24 10:45:22 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/wrappers/_slist.h Sun Aug 11 18:59:25 2002 -@@ -24,17 +24,21 @@ - * You should not attempt to use it directly. - */ - --#ifndef __SGI_STL_INTERNAL_WRAP_SLIST_H --#define __SGI_STL_INTERNAL_WRAP_SLIST_H -+#ifndef _STLP_INTERNAL_WRAP_SLIST_H -+#define _STLP_INTERNAL_WRAP_SLIST_H - --# if defined (__STL_DEBUG) --# define __SL_SUPER _DBG_slist<_Tp, __STL_DEFAULT_ALLOCATOR(_Tp) > -+#ifndef _STLP_INTERNAL_SLIST_H -+# include -+#endif -+ -+# if defined (_STLP_DEBUG) -+# define __SL_SUPER _DBG_slist<_Tp, _STLP_DEFAULT_ALLOCATOR(_Tp) > - # else --# define __SL_SUPER __slist__<_Tp, __STL_DEFAULT_ALLOCATOR(_Tp) > -+# define __SL_SUPER __slist__<_Tp, _STLP_DEFAULT_ALLOCATOR(_Tp) > - # endif - - --# ifdef __STL_USE_NAMESPACES -+# ifdef _STLP_USE_NAMESPACES - namespace STLPORT { - # endif - -@@ -53,7 +57,7 @@ - slist(const_iterator __first, const_iterator __last) : __SL_SUPER(__first, __last) { } - }; - --# if defined (__STL_BASE_MATCH_BUG) -+# if defined (_STLP_BASE_MATCH_BUG) - template - inline bool operator==(const slist<_Tp>& __x, const slist<_Tp>& __y) { - typedef typename slist<_Tp>::_Super _Super; -@@ -68,11 +72,11 @@ - # endif - # undef __SL_SUPER - --# ifdef __STL_USE_NAMESPACES -+# ifdef _STLP_USE_NAMESPACES - } /* namespace STLPORT */ - # endif - --#endif /* __SGI_STL_INTERNAL_WRAP_SLIST_H */ -+#endif /* _STLP_INTERNAL_WRAP_SLIST_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/wrappers/_vector.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/wrappers/_vector.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl/wrappers/_vector.h Sat Feb 24 10:45:22 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl/wrappers/_vector.h Sun Aug 11 18:59:25 2002 -@@ -27,16 +27,20 @@ - * You should not attempt to use it directly. - */ - --#ifndef __SGI_STL_INTERNAL_WRAP_VECTOR_H --#define __SGI_STL_INTERNAL_WRAP_VECTOR_H -+#ifndef _STLP_INTERNAL_WRAP_VECTOR_H -+#define _STLP_INTERNAL_WRAP_VECTOR_H - --# if defined (__STL_DEBUG) --# define _VEC_SUPER _DBG_vector<_Tp, __STL_DEFAULT_ALLOCATOR(_Tp) > -+#ifndef _STLP_INTERNAL_VECTOR_H -+# include -+#endif -+ -+# if defined (_STLP_DEBUG) -+# define _VEC_SUPER _DBG_vector<_Tp, _STLP_DEFAULT_ALLOCATOR(_Tp) > - # else --# define _VEC_SUPER __vector__<_Tp, __STL_DEFAULT_ALLOCATOR(_Tp) > -+# define _VEC_SUPER __vector__<_Tp, _STLP_DEFAULT_ALLOCATOR(_Tp) > - # endif - --# ifdef __STL_USE_NAMESPACES -+# ifdef _STLP_USE_NAMESPACES - namespace STLPORT { - # endif - -@@ -51,14 +55,14 @@ - explicit vector(size_type __n, const _Tp& __value) : _VEC_SUPER(__n, __value) { } - explicit vector(size_type __n) : _VEC_SUPER(__n) { } - vector(const_iterator __first, const_iterator __last) : _VEC_SUPER(__first,__last) { } --# ifdef __STL_DEBUG -+# ifdef _STLP_DEBUG - // certainly, no member templates here ! - vector(const _Tp* __first, const _Tp* __last) : _VEC_SUPER(__first,__last) { } - # endif - ~vector() {} - }; - --# if defined (__STL_BASE_MATCH_BUG) -+# if defined (_STLP_BASE_MATCH_BUG) - template - inline bool operator==(const vector<_Tp>& __x, const vector<_Tp>& __y) { - return __x.size() == __y.size() && -@@ -70,15 +74,15 @@ - return lexicographical_compare(__x.begin(), __x.end(), - __y.begin(), __y.end()); - } --# endif /* __STL_BASE_MATCH_BUG */ -+# endif /* _STLP_BASE_MATCH_BUG */ - # undef _VEC_SUPER - - // close std namespace --# ifdef __STL_USE_NAMESPACES -+# ifdef _STLP_USE_NAMESPACES - } - # endif - --#endif /* __SGI_STL_WRAP_VECTOR_H */ -+#endif /* _STLP_WRAP_VECTOR_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl_user_config.h tripwire-2.3.1-2/src/STLport-4.0/stlport/stl_user_config.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/stl_user_config.h Sat Feb 24 10:44:26 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/stl_user_config.h Sun Aug 11 18:59:23 2002 -@@ -18,7 +18,7 @@ - * - * To hold user-definable portion of STLport settings which may be overridden - * on per-project basis. -- * Please note that if you use SGI iostreams (compiled STLport) then you have -+ * Please note that if you use STLport iostreams (compiled library) then you have - * to use consistent settings when you compile STLport library and your project. - * Those settings are defined in _site_config.h and have to be the same for a given - * STLport installation. -@@ -31,8 +31,8 @@ - // Features selection - //========================================================== - --/* __STL_NO_SGI_IOSTREAMS: -- * -+/* _STLP_NO_OWN_IOSTREAMS: -+ * __STL_NO_SGI_IOSTREAMS (in older versions) - * This is major configuration switch. - * Turn it on to disable use of SGI iostreams and use wrappers - * around your compiler's iostreams, like before. -@@ -42,7 +42,7 @@ - * - */ - --// # define __STL_NO_SGI_IOSTREAMS 1 -+// # define _STLP_NO_OWN_IOSTREAMS 1 - - - /* -@@ -50,96 +50,108 @@ - * - * Uncomment to suppress using new-style streams even if they are - * available. -- * Beware - __STL_USE_OWN_NAMESPACE depends on this macro, too. -+ * Beware - _STLP_USE_OWN_NAMESPACE depends on this macro, too. - * Do that only if you are absolutely sure backwards-compatible - * is not actually a wrapper with - * Hint : In VC++ 6.x, they are not. - */ - --// #define __STL_NO_NEW_IOSTREAMS 1 -+// #define _STLP_NO_NEW_IOSTREAMS 1 - - /* - * Use this switch for embedded systems where no iostreams are available -- * at all. SGI iostreams will get disabled automatically then. -+ * at all. STLport own iostreams will also get disabled automatically then. - */ --// # define __STL_NO_IOSTREAMS 1 -+// # define _STLP_NO_IOSTREAMS 1 - - /* -- * Set __STL_DEBUG to turn the "Debug Mode" on. -+ * Set _STLP_DEBUG to turn the "Debug Mode" on. - * That gets you checked iterators/ranges in the manner - * of "Safe STL". Very useful for debugging. Thread-safe. - * Please do not forget to link proper STLport library flavor -- * (e.g libstlport_gcc_stldebug.a) when you set this flag in SGI iostreams mode. -+ * (e.g libstlport_gcc_stldebug.a) when you set this flag in STLport iostreams mode. - */ --// #define __STL_DEBUG 1 -+// #define _STLP_DEBUG 1 - --/* -- * By default, STLport uses proxy technique to enable operator -> for -- * iterators even for those compilers that check the return type of -- * unused instantiations. If this causes problems for you, turn the following -- * switch on to disable proxy ->() operators. This actually should be done -- * in compiler-dependant section, not here. -- * auto_ptr implements proxy operator even if they are disabled in general, -- * as it is very unlikely that you instantiate auto_ptr<> on pointers and other builtins. -- * However, if this is the case, uncomment second line. -+ -+/* -+ * -+ * _STLP_NO_CUSTOM_IO : define this if you do not instantiate basic_xxx iostream classes with custom types (which is most likely the case). -+ * Custom means types other than char, wchar and char_traits<>, -+ * like basic_ostream > -+ * When this option is on, most non-inline template functions definitions for iostreams are not seen by the client. -+ * Default is off, just not to break compilation for those who do use those types. -+ * which saves a lot of compile time for most compilers, also object and executable size for some. -+ * That also guarantees that you still use optimized standard i/o when you compile your program without optimization. -+ * Option does not affect STLport library build; you may use the same binary library with and without this option, -+ * on per-project basis. -+ * -+ */ -+// #define _STLP_NO_CUSTOM_IO -+ -+ -+/* -+ * _STLP_NO_RELOPS_NAMESPACE: if defined, don't put the relational -+ * operator templates (>, <=. >=, !=) in namespace std::rel_ops, even -+ * if the compiler supports namespaces. -+ * Note : if the compiler do not support namespaces, those operators are not be provided by default, -+ * to simulate hiding them into rel_ops. This was proved to resolve many compiler bugs with ambiguity. - */ - --// # define __STL_NO_PROXY_ARROW_OPERATOR 1 --// # define __STL_NO_AUTO_PTR_PROXY_ARROW_OPERATOR 1 -+// #define _STLP_NO_RELOPS_NAMESPACE 1 - - - /* -- * If __STL_USE_OWN_NAMESPACE is in effect, STLport will try to rename std:: for the user -+ * If _STLP_USE_OWN_NAMESPACE is in effect, STLport will try to rename std:: for the user - * to _STL::. If you don't want this feature, or if it does not quite work for your -- * compiler, please define the following switch : -+ * setup (like you are using third-party library that has to use vendor's STL), -+ * please define the following switch : - */ --// # define __STL_DONT_REDEFINE_STD 1 -- --/* -- * Edit relative path below (or put full path) to get native -- * compiler vendor's headers included. Default is "../include" -- * Note : this cannot be set the same for different compilers, so -- * it may make sense to override in local stl_user_config.h only. -- * Hint : never install STLport in the directory that ends with "include" -- */ --// # undef __STL_NATIVE_INCLUDE_PATH --// # define __STL_NATIVE_INCLUDE_PATH ../include --// same for C library headers like --// # undef __STL_NATIVE_CPP_C_INCLUDE_PATH --// # define __STL_NATIVE_CPP_C_INCLUDE_PATH ../include --// same for C headers like --// # undef __STL_NATIVE_C_INCLUDE_PATH --// # define __STL_NATIVE_C_INCLUDE_PATH ../include -+// # define _STLP_DONT_REDEFINE_STD 1 - - --/* -- * __STL_NO_RELOPS_NAMESPACE: if defined, don't put the relational -- * operator templates (>, <=. >=, !=) in namespace std::rel_ops, even -- * if the compiler supports namespaces. -- * Note : if the compiler do not support namespaces, those operators -- * will not be provided by default in future, to simulate hiding them into rel_ops. -- * For now, to get them not defined, define __STL_USE_SEPARATE_RELOPS_NAMESPACE. -+/* -+ * _STLP_WHOLE_NATIVE_STD : only meaningful in _STLP_USE_OWN_NAMESPACE mode. -+ * Normally, STLport only imports necessary components from native std:: namespace - -+ * those not yet provided by STLport (, , etc.) -+ * and their dependencies (, ). -+ * You might want everything from std:: being available in std:: namespace when you -+ * include corresponding STLport header (like STLport provides std::map as well, etc.), -+ * if you are going to use both stlport:: and std:: components in your code. -+ * Otherwise this option is not recommended as it increases the size of your object files -+ * and slows down compilation. - */ -+// # define _STLP_WHOLE_NATIVE_STD - --// #define __STL_NO_RELOPS_NAMESPACE 1 - - /* - * Use this option to catch uninitialized members in your classes. - * When it is set, construct() and destroy() fill the class storage -- * with __STL_SHRED_BYTE (see below). -- * Note : __STL_DEBUG and __STL_DEBUG_ALLOC don't set this option automatically. -+ * with _STLP_SHRED_BYTE (see below). -+ * Note : _STLP_DEBUG and _STLP_DEBUG_ALLOC don't set this option automatically. - */ - --// # define __STL_DEBUG_UNINITIALIZED 1 -+// # define _STLP_DEBUG_UNINITIALIZED 1 - - /* - * Uncomment and provide a definition for the byte with which raw memory -- * will be filled if __STL_DEBUG_ALLOC or __STL_DEBUG_UNINITIALIZED is defined. -+ * will be filled if _STLP_DEBUG_ALLOC or _STLP_DEBUG_UNINITIALIZED is defined. - * Choose a value which is likely to cause a noticeable problem if dereferenced - * or otherwise abused. A good value may already be defined for your platform; see - * stl_config.h - */ --// #define __STL_SHRED_BYTE 0xA3 -+// #define _STLP_SHRED_BYTE 0xA3 -+ -+/* -+ * This option is for gcc users only and only affects systems where native linker -+ * does not let gcc to implement automatic instantiation of static template data members/ -+ * It is being put in this file as there is no way to check if we are using GNU ld automatically, -+ * so it becomes user's responsibility. -+ * -+ */ -+ -+// #define _STLP_GCC_USES_GNU_LD -+ - - //========================================================== - // Compatibility section -@@ -147,27 +159,16 @@ - - /* - * Define this macro to disable anachronistic constructs (like the ones used in HP STL and -- * not included in final standard -+ * not included in final standard, etc. - */ --// define __STL_NO_ANACHRONISMS 1 -+// define _STLP_NO_ANACHRONISMS 1 - - /* -- * Define this macro to disable SGI/STLport extensions (for example, to make sure your code will -+ * Define this macro to disable STLport extensions (for example, to make sure your code will - * compile with some other implementation ) - */ --// define __STL_NO_EXTENSIONS 1 -+// define _STLP_NO_EXTENSIONS 1 - --/* -- * Use obsolete overloaded template functions iterator_category(), value_type(), distance_type() -- * for querying iterator properties. Please note those names are non-standard and are not guaranteed -- * to be used by every implementation. However, this setting is on by default when partial specialization -- * is not implemented in the compiler (if __STL_NO_ANACHRONISMS is not set). -- * Use of those interfaces for user-defined iterators is strongly discouraged: -- * please use public inheritance from iterator<> template to achieve desired effect. -- * Second form is to disable old-style queries in any case. -- */ --// # define __STL_USE_OLD_HP_ITERATOR_QUERIES --// # define __STL_NO_OLD_HP_ITERATOR_QUERIES - - /* - * You should define this macro if compiling with MFC - STLport -@@ -175,52 +176,27 @@ - * - */ - --// # define __STL_USE_MFC 1 -+// # define _STLP_USE_MFC 1 -+ -+ -+// boris : this setting is here as we cannot detect precense of new Platform SDK automatically -+// If you are using new PSDK with VC++ 6.0 or lower, please define this to get correct prototypes for InterlockedXXX functions -+// # define _STLP_NEW_PLATFORM_SDK 1 - - /* - * Use minimum set of default arguments on template classes that have more - * than one - for example map<>, set<>. -- * This has effect only if __STL_LIMITED_DEFAULT_TEMPLATES is on. -- * If __STL_MINIMUM_DEFAULT_TEMPLATE_PARAMS is set, you'll be able to compile -+ * This has effect only if _STLP_LIMITED_DEFAULT_TEMPLATES is on. -+ * If _STLP_MINIMUM_DEFAULT_TEMPLATE_PARAMS is set, you'll be able to compile - * set with those compilers, but you'll have to use __set__> - * - * Affects : map<>, multimap<>, set<>, multiset<>, hash_*<>, - * queue<>, priority_queue<>, stack<>, istream_iterator<> - */ - --// # define __STL_MINIMUM_DEFAULT_TEMPLATE_PARAMS 1 -- -- --/* -- * __STL_USE_SGI_STRING : Forces use of SGI string even if -- * native is available. Unless you defined __STL_USE_OWN_NAMESPACE, -- * STLport uses native if new iostreams are being used, -- * as part of compiled runtime library depends on it. -- * You may force use of SGI string uncommenting this macro. -- * IMPORTANT: -- * DO NOT use SGI with native unless you recompile -- * standard C++ runtime library with STLport installed, or -- * (better) defined __STL_USE_OWN_NAMESPACE -- */ -- --// #define __STL_USE_SGI_STRING 1 -- --/* -- * __STL_WHOLE_NATIVE_STD : only meaningful in __STL_USE_OWN_NAMESPACE mode. -- * Normally, STLport only imports necessary components from native std:: namespace - -- * those not yet provided by STLport (, , etc.) -- * and their dependencies (, ). -- * You might want everything from std:: being available in std:: namespace when you -- * include corresponding STLport header (like STLport provides std::map as well, etc.), -- * if you are going to use both stlport:: and std:: components in your code. -- * Otherwise this option is not recommended as it increases the size of your object files -- * and slows down compilation. -- */ --// # define __STL_WHOLE_NATIVE_STD -+// # define _STLP_MINIMUM_DEFAULT_TEMPLATE_PARAMS 1 - - //========================================================== -- -- - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/streambuf tripwire-2.3.1-2/src/STLport-4.0/stlport/streambuf ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/streambuf Sat Feb 24 10:44:25 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/streambuf Sun Aug 11 18:59:23 2002 -@@ -15,30 +15,26 @@ - * modified is included with the above copyright notice. - * - */ --#ifndef __SGI_STL_STREAMBUF --#define __SGI_STL_STREAMBUF -+#ifndef _STLP_STREAMBUF -+#define _STLP_STREAMBUF - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x1066 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x1066 - # include - # endif - --#if defined(__sgi) && !defined(__GNUC__) && !defined(_STANDARD_C_PLUS_PLUS) --#error This header file requires the -LANG:std option --#endif -- --# if defined ( __SGI_STL_OWN_IOSTREAMS ) -+# if defined ( _STLP_OWN_IOSTREAMS ) - # include --# elif !defined (__STL_USE_NO_IOSTREAMS) -+# elif !defined (_STLP_USE_NO_IOSTREAMS) - # include - # endif - --# if (__STL_OUTERMOST_HEADER_ID == 0x1066) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x1066) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_STREAMBUF */ -+#endif /* _STLP_STREAMBUF */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/streambuf.h tripwire-2.3.1-2/src/STLport-4.0/stlport/streambuf.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/streambuf.h Sat Feb 24 10:44:25 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/streambuf.h Sun Aug 11 18:59:23 2002 -@@ -15,43 +15,48 @@ - * modified is included with the above copyright notice. - * - */ --#ifndef __STLPORT_STREAMBUF_H --# define __STLPORT_STREAMBUF_H -+#ifndef _STLP_STREAMBUF_H -+# define _STLP_STREAMBUF_H - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x2067 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x2067 - # include - # endif - --# if defined ( __SGI_STL_OWN_IOSTREAMS ) -+# if defined ( _STLP_OWN_IOSTREAMS ) -+ -+#ifdef __BORLANDC__ -+# include -+#else -+# include -+#endif - --# include - # include - --# ifndef __STL_HAS_NO_NAMESPACES --# ifdef __STL_BROKEN_USING_DIRECTIVE -- using namespace __STLPORT_STD; -+# ifndef _STLP_HAS_NO_NAMESPACES -+# ifdef _STLP_BROKEN_USING_DIRECTIVE -+ using namespace _STLP_STD; - # else --using __STLPORT_STD::basic_streambuf; --using __STLPORT_STD::streambuf; --# ifndef __STL_NO_WCHAR_T --using __STLPORT_STD::wstreambuf; -+using _STLP_STD::basic_streambuf; -+using _STLP_STD::streambuf; -+# ifndef _STLP_NO_WCHAR_T -+using _STLP_STD::wstreambuf; - # endif - # endif --# endif /* __STL_HAS_NO_NAMESPACES */ -+# endif /* _STLP_HAS_NO_NAMESPACES */ - --# elif !defined (__STL_USE_NO_IOSTREAMS) -+# elif !defined (_STLP_USE_NO_IOSTREAMS) - --# include __STL_NATIVE_OLD_STREAMS_HEADER(streambuf.h) -+# include _STLP_NATIVE_OLD_STREAMS_HEADER(streambuf.h) - - # endif - --# if (__STL_OUTERMOST_HEADER_ID == 0x2067) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x2067) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __STLPORT_STREAMBUF_H */ -+#endif /* _STLP_STREAMBUF_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/string tripwire-2.3.1-2/src/STLport-4.0/stlport/string ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/string Sat Feb 24 10:44:25 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/string Sun Aug 11 18:59:23 2002 -@@ -16,44 +16,42 @@ - * - */ - --#ifndef __SGI_STL_STRING --# define __SGI_STL_STRING -+#ifndef _STLP_STRING -+# define _STLP_STRING - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x68 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x68 - # include - # endif - - --#if defined (__STL_USE_NATIVE_STRING) -+#if defined (_STLP_USE_NATIVE_STRING) - - // as part of compiled runtime library depends on it. --// DO NOT use SGI with native unless you recompile --// standard C++ runtime library with STLport installed. - --# if defined (__STL_MSVC) -+# if defined (_STLP_MSVC) - # include - # include - # endif - --# include __STL_NATIVE_HEADER(string) -+# include _STLP_NATIVE_HEADER(string) - --# endif /* __STL_USE_NATIVE_STRING */ -+# endif /* _STLP_USE_NATIVE_STRING */ - --# if !defined (__STL_USE_NATIVE_STRING) || defined (__STL_USE_OWN_NAMESPACE) -+# if !defined (_STLP_USE_NATIVE_STRING) || defined (_STLP_USE_OWN_NAMESPACE) - # include - # else - # include --# endif /*__STL_USE_NATIVE_STRING */ -+# endif /*_STLP_USE_NATIVE_STRING */ - - // cleanup - --# if (__STL_OUTERMOST_HEADER_ID == 0x68) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x68) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_STRING */ -+#endif /* _STLP_STRING */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/string.h tripwire-2.3.1-2/src/STLport-4.0/stlport/string.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/string.h Sat Feb 24 10:44:25 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/string.h Sun Aug 11 18:59:23 2002 -@@ -13,20 +13,24 @@ - * - */ - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x269 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x269 - # include - # endif - --# include __STL_NATIVE_C_HEADER(string.h) -+# if defined (__BORLANDC__) -+# include _STLP_NATIVE_CPP_C_HEADER(_str.h) -+# else -+# include _STLP_NATIVE_C_HEADER(string.h) -+# endif - --# if defined (__BORLANDC__) && defined (__STL_IMPORT_VENDOR_CSTD) -+# if defined (__BORLANDC__) && defined (_STLP_IMPORT_VENDOR_CSTD) - # include - # endif /* BORLAND */ - --# if (__STL_OUTERMOST_HEADER_ID == 0x269) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x269) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - - // Local Variables: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/strstream tripwire-2.3.1-2/src/STLport-4.0/stlport/strstream ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/strstream Sat Feb 24 10:44:25 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/strstream Sun Aug 11 18:59:23 2002 -@@ -21,21 +21,21 @@ - // header instead. - - --#ifndef __SGI_STL_STRSTREAM --#define __SGI_STL_STRSTREAM -+#ifndef _STLP_STRSTREAM -+#define _STLP_STRSTREAM - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x1070 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x1070 - # include - # endif - --# if defined (__SGI_STL_OWN_IOSTREAMS) -+# if defined (_STLP_OWN_IOSTREAMS) - - # include - --# elif !defined (__STL_USE_NO_IOSTREAMS) -+# elif !defined (_STLP_USE_NO_IOSTREAMS) - --# if defined (__STL_USE_NEW_IOSTREAMS) -+# if defined (_STLP_USE_NEW_IOSTREAMS) - # include - # else - # include -@@ -43,12 +43,12 @@ - - # endif - --# if (__STL_OUTERMOST_HEADER_ID == 0x1070) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x1070) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_STRSTREAM */ -+#endif /* _STLP_STRSTREAM */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/strstream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/strstream.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/strstream.h Sat Feb 24 10:44:25 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/strstream.h Sun Aug 11 18:59:23 2002 -@@ -13,56 +13,61 @@ - * - */ - --#ifndef __STLPORT_STRSTREAM_H --# define __STLPORT_STRSTREAM_H -+#ifndef _STLP_STRSTREAM_H -+# define _STLP_STRSTREAM_H - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x2071 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x2071 - # include - # endif - --# if defined ( __STL_USE_NEW_IOSTREAMS ) -+# if defined ( _STLP_USE_NEW_IOSTREAMS ) - - // fbp - if we are going to use that consistently, let's do it --# include -+#ifdef __BORLANDC__ -+# include -+#else -+# include -+#endif -+ - # include - - --# ifndef __STL_HAS_NO_NAMESPACES -+# ifndef _STLP_HAS_NO_NAMESPACES - --# ifdef __STL_BROKEN_USING_DIRECTIVE -+# ifdef _STLP_BROKEN_USING_DIRECTIVE - --using namespace __STLPORT_STD; -+using namespace _STLP_STD; - - # else - --using __STLPORT_STD::strstreambuf; --using __STLPORT_STD::istrstream; --using __STLPORT_STD::ostrstream; --using __STLPORT_STD::strstream; -+using _STLP_STD::strstreambuf; -+using _STLP_STD::istrstream; -+using _STLP_STD::ostrstream; -+using _STLP_STD::strstream; - --# endif /* __STL_BROKEN_USING_DIRECTIVE */ -+# endif /* _STLP_BROKEN_USING_DIRECTIVE */ - --# endif /* __STL_HAS_NO_NAMESPACES */ -+# endif /* _STLP_HAS_NO_NAMESPACES */ - - # else - - - // just include old-style strstream.h --# if defined (_MSC_VER) && (_MSC_VER < 1200) --# include __STL_NATIVE_OLD_STREAMS_HEADER(strstrea.h) -+# if defined (_MSC_VER) && (_MSC_VER <= 1200) -+# include _STLP_NATIVE_OLD_STREAMS_HEADER(strstrea.h) - # else --# include __STL_NATIVE_OLD_STREAMS_HEADER(strstream.h) -+# include _STLP_NATIVE_OLD_STREAMS_HEADER(strstream.h) - # endif - - # endif - --# if (__STL_OUTERMOST_HEADER_ID == 0x2071) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x2071) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __STLPORT_STRSTREAM_H */ -+#endif /* _STLP_STRSTREAM_H */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/time.h tripwire-2.3.1-2/src/STLport-4.0/stlport/time.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/time.h Sat Feb 24 10:44:25 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/time.h Sun Aug 11 18:59:23 2002 -@@ -13,21 +13,23 @@ - * - */ - --# if !defined (__STL_OUTERMOST_HEADER_ID) --# define __STL_OUTERMOST_HEADER_ID 0x272 -+# if !defined (_STLP_OUTERMOST_HEADER_ID) -+# define _STLP_OUTERMOST_HEADER_ID 0x272 - # include --# elif (__STL_OUTERMOST_HEADER_ID == 0x272) && ! defined (__STL_DONT_POP_0x272) --# define __STL_DONT_POP_0x272 -+# elif (_STLP_OUTERMOST_HEADER_ID == 0x272) && ! defined (_STLP_DONT_POP_0x272) -+# define _STLP_DONT_POP_0x272 - # endif - --# include __STL_NATIVE_C_HEADER(time.h) -+#if !defined(_STLP_WINCE) -+# include _STLP_NATIVE_C_HEADER(time.h) -+#endif - --# if (__STL_OUTERMOST_HEADER_ID == 0x272) --# if ! defined (__STL_DONT_POP_0x272) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x272) -+# if ! defined (_STLP_DONT_POP_0x272) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif --# undef __STL_DONT_POP_0x272 -+# undef _STLP_DONT_POP_0x272 - # endif - - // Local Variables: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/typeinfo tripwire-2.3.1-2/src/STLport-4.0/stlport/typeinfo ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/typeinfo Sat Feb 24 10:44:25 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/typeinfo Sun Aug 11 18:59:23 2002 -@@ -13,57 +13,71 @@ - * - */ - --#ifndef __STLPORT_TYPEINFO --# define __STLPORT_TYPEINFO -+#ifndef _STLP_TYPEINFO -+# define _STLP_TYPEINFO - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x473 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x473 - # include - # endif - --# ifndef __STL_NO_TYPEINFO -+# ifndef _STLP_NO_TYPEINFO - --# if defined (__GNUC__) && (__GNUC_MINOR__ > 7) --# include <../include/typeinfo> --# elif defined (__STL_NO_NEW_NEW_HEADER) --# include __STL_NATIVE_HEADER(typeinfo.h) --# elif defined (__xlC__) -+# if defined (_STLP_NO_NEW_NEW_HEADER) - # include - # else --# include __STL_NATIVE_HEADER(typeinfo) -+# include _STLP_NATIVE_CPP_RUNTIME_HEADER(typeinfo) - # endif - --# if defined (__STL_USE_NAMESPACES) \ -- && ( defined (__STL_VENDOR_GLOBAL_EXCEPT_STD) || defined (__STL_USE_OWN_NAMESPACE) || defined (__STL_DEBUG)) --__STL_BEGIN_NAMESPACE -+// if already included, do not import anything -+# if defined (_STLP_USE_NAMESPACES) && ! defined (_STLP_OLDSTD_typeinfo) \ -+&& ( defined (_STLP_VENDOR_GLOBAL_EXCEPT_STD) || defined (_STLP_USE_OWN_NAMESPACE)) -+ -+# if defined(_STLP_MSVC) && (_STLP_MSVC < 1300) -+class _STLP_CLASS_DECLSPEC bad_cast : public exception { -+public : -+bad_cast() : exception("bad_cast") { } -+}; -+#endif -+ -+_STLP_BEGIN_NAMESPACE - - // VC++ 6 has only this guy in :: --# if !(defined(__STL_MSVC)&& (__STL_MSVC <= 1200)) --using __STL_VENDOR_EXCEPT_STD::type_info; --# endif -+// # if !(defined(_STLP_MSVC)&& (_STLP_MSVC <= 1200)) -+using _STLP_VENDOR_EXCEPT_STD::type_info; -+// # endif - - # if !(defined(__MRC__) || defined(__SC__)) --using __STL_VENDOR_EXCEPT_STD::bad_typeid; -+using _STLP_VENDOR_EXCEPT_STD::bad_typeid; - # endif - --using __STL_VENDOR_EXCEPT_STD::bad_cast; --__STL_END_NAMESPACE --#endif /* __STL_OWN_NAMESPACE */ -+//#if defined( __xlC__ ) && (__xlC__ < 0x500) -+//# include -+//struct bad_cast : exception {}; -+//#endif -+# if defined(_STLP_MSVC) && (_STLP_MSVC < 1300) -+using ::bad_cast; -+# else -+using _STLP_VENDOR_EXCEPT_STD::bad_cast; -+# endif -+ -+_STLP_END_NAMESPACE -+#endif /* _STLP_OWN_NAMESPACE */ - - #else - - # include --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - struct bad_cast : exception {}; --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - #endif /* NO_TYPEINFO */ - --# if (__STL_OUTERMOST_HEADER_ID == 0x473) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x473) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __STLPORT_TYPEINFO */ -+#endif /* _STLP_TYPEINFO */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/typeinfo.h tripwire-2.3.1-2/src/STLport-4.0/stlport/typeinfo.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/typeinfo.h Sat Feb 24 10:44:25 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/typeinfo.h Sun Aug 11 18:59:23 2002 -@@ -13,43 +13,50 @@ - * - */ - --#ifndef __STLPORT_OLDSTD_typeinfo --# define __STLPORT_OLDSTD_typeinfo -+#ifndef _STLP_OLDSTD_typeinfo -+# define _STLP_OLDSTD_typeinfo - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x874 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x874 - # include - # endif - --# ifndef __STL_NO_TYPEINFO -+# ifndef _STLP_NO_TYPEINFO - --# if defined (__GNUC__) && (__GNUC_MINOR__ >= 8 ) --# include <../include/typeinfo.h> --# else --# include __STL_NATIVE_HEADER(typeinfo.h) --# endif -+#if defined (__GNUC__) -+# undef _STLP_OLDSTD_typeinfo -+# include -+# define _STLP_OLDSTD_typeinfo -+#else -+# include _STLP_NATIVE_CPP_RUNTIME_HEADER(typeinfo.h) -+#endif -+ -+// if already included, do not import anything - --# if defined (__STL_USE_OWN_NAMESPACE) -+# if defined (_STLP_USE_OWN_NAMESPACE) && ! (defined (_STLP_TYPEINFO) && !defined(_STLP_NO_NEW_NEW_HEADER)) - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - --using /* __STL_VENDOR_EXCEPT_STD */ ::type_info; --using /* __STL_VENDOR_EXCEPT_STD */ ::bad_typeid; --using /* __STL_VENDOR_EXCEPT_STD */ ::bad_cast; -+using /*_STLP_VENDOR_EXCEPT_STD */ :: type_info; -+# if !(defined(__MRC__) || defined(__SC__)) -+using /* _STLP_VENDOR_EXCEPT_STD */ :: bad_typeid; -+# endif -+using /* _STLP_VENDOR_EXCEPT_STD */ :: bad_cast; - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - --#endif /* __STL_OWN_NAMESPACE */ -+#endif /* _STLP_OWN_NAMESPACE */ - --# endif /* __STL_NO_TYPEINFO */ -+# endif /* _STLP_NO_TYPEINFO */ - --# if (__STL_OUTERMOST_HEADER_ID == 0x874) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x874) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __STLPORT_OLDSTD_typeinfo */ -+#endif /* _STLP_OLDSTD_typeinfo */ - - // Local Variables: - // mode:C++ - // End: -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/cstring tripwire-2.3.1-2/src/STLport-4.0/stlport/using/cstring ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/cstring Sat Feb 24 10:45:22 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/using/cstring Sun Aug 11 18:59:25 2002 -@@ -1,54 +1,54 @@ --using __STL_VENDOR_CSTD::size_t; -+using _STLP_VENDOR_CSTD::size_t; - --# ifndef __STL_NO_CSTD_FUNCTION_IMPORTS -+# ifndef _STLP_NO_CSTD_FUNCTION_IMPORTS - # if defined(__MSL__) && __MC68K__ && !_No_BlockMove && __dest_os == __mac_os - # undef memcpy - # undef memmove - inline void* memcpy(void* dst, const void* src, size_t len) - { -- return __STL_VENDOR_CSTD::__memcpy(dst, src, len); -+ return _STLP_VENDOR_CSTD::__memcpy(dst, src, len); - } - inline void* memmove(void* dst, const void* src, size_t len) - { -- return __STL_VENDOR_CSTD::__memmove(dst, src, len); -+ return _STLP_VENDOR_CSTD::__memmove(dst, src, len); - } - # else - -- using __STL_VENDOR_CSTD::memmove; -- using __STL_VENDOR_CSTD::memcpy; -+ using _STLP_VENDOR_CSTD::memmove; -+ using _STLP_VENDOR_CSTD::memcpy; - - # endif - - # if ! defined (__BORLANDC__) --using __STL_VENDOR_CSTD::memchr; --using __STL_VENDOR_CSTD::strchr; --using __STL_VENDOR_CSTD::strpbrk; --using __STL_VENDOR_CSTD::strrchr; --using __STL_VENDOR_CSTD::strstr; -+using _STLP_VENDOR_CSTD::memchr; -+using _STLP_VENDOR_CSTD::strchr; -+using _STLP_VENDOR_CSTD::strpbrk; -+using _STLP_VENDOR_CSTD::strrchr; -+using _STLP_VENDOR_CSTD::strstr; - # endif - --using __STL_VENDOR_CSTD::memcmp; --using __STL_VENDOR_CSTD::memset; -+using _STLP_VENDOR_CSTD::memcmp; -+using _STLP_VENDOR_CSTD::memset; - --using __STL_VENDOR_CSTD::strcat; -+using _STLP_VENDOR_CSTD::strcat; - - # if !defined (strcmp) --using __STL_VENDOR_CSTD::strcmp; -+using _STLP_VENDOR_CSTD::strcmp; - # endif - --using __STL_VENDOR_CSTD::strcoll; -+using _STLP_VENDOR_CSTD::strcoll; - # if !defined (strcpy) --using __STL_VENDOR_CSTD::strcpy; -+using _STLP_VENDOR_CSTD::strcpy; - # endif --using __STL_VENDOR_CSTD::strcspn; --using __STL_VENDOR_CSTD::strerror; --using __STL_VENDOR_CSTD::strlen; --using __STL_VENDOR_CSTD::strncat; --using __STL_VENDOR_CSTD::strncmp; -- --using __STL_VENDOR_CSTD::strncpy; --using __STL_VENDOR_CSTD::strspn; -- --using __STL_VENDOR_CSTD::strtok; --using __STL_VENDOR_CSTD::strxfrm; --# endif /* __STL_NO_CSTD_FUNCTION_IMPORTS */ -+using _STLP_VENDOR_CSTD::strcspn; -+using _STLP_VENDOR_CSTD::strerror; -+using _STLP_VENDOR_CSTD::strlen; -+using _STLP_VENDOR_CSTD::strncat; -+using _STLP_VENDOR_CSTD::strncmp; -+ -+using _STLP_VENDOR_CSTD::strncpy; -+using _STLP_VENDOR_CSTD::strspn; -+ -+using _STLP_VENDOR_CSTD::strtok; -+using _STLP_VENDOR_CSTD::strxfrm; -+# endif /* _STLP_NO_CSTD_FUNCTION_IMPORTS */ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/export tripwire-2.3.1-2/src/STLport-4.0/stlport/using/export ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/export Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/using/export Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,12 @@ -+cstring -+fstream -+iomanip -+ios -+iosfwd -+iostream -+istream -+locale -+ostream -+sstream -+streambuf -+strstream -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/fstream tripwire-2.3.1-2/src/STLport-4.0/stlport/using/fstream ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/fstream Sat Feb 24 10:45:22 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/using/fstream Sun Aug 11 18:59:25 2002 -@@ -1,19 +1,19 @@ --#ifdef __STL_BROKEN_USING_DIRECTIVE --using namespace __STLPORT_STD; -+#ifdef _STLP_BROKEN_USING_DIRECTIVE -+using namespace _STLP_STD; - #else --using __STL_NEW_IO_NAMESPACE::basic_filebuf; --using __STL_NEW_IO_NAMESPACE::filebuf; --using __STL_NEW_IO_NAMESPACE::basic_ifstream; --using __STL_NEW_IO_NAMESPACE::basic_ofstream; --using __STL_NEW_IO_NAMESPACE::ifstream; --using __STL_NEW_IO_NAMESPACE::ofstream; --using __STL_NEW_IO_NAMESPACE::basic_fstream; --using __STL_NEW_IO_NAMESPACE::fstream; -+using _STLP_NEW_IO_NAMESPACE::basic_filebuf; -+using _STLP_NEW_IO_NAMESPACE::filebuf; -+using _STLP_NEW_IO_NAMESPACE::basic_ifstream; -+using _STLP_NEW_IO_NAMESPACE::basic_ofstream; -+using _STLP_NEW_IO_NAMESPACE::ifstream; -+using _STLP_NEW_IO_NAMESPACE::ofstream; -+using _STLP_NEW_IO_NAMESPACE::basic_fstream; -+using _STLP_NEW_IO_NAMESPACE::fstream; - --# ifndef __STL_NO_WIDE_STREAMS --using __STL_NEW_IO_NAMESPACE::wofstream; --using __STL_NEW_IO_NAMESPACE::wfilebuf; --using __STL_NEW_IO_NAMESPACE::wifstream; --using __STL_NEW_IO_NAMESPACE::wfstream; -+# ifndef _STLP_NO_WIDE_STREAMS -+using _STLP_NEW_IO_NAMESPACE::wofstream; -+using _STLP_NEW_IO_NAMESPACE::wfilebuf; -+using _STLP_NEW_IO_NAMESPACE::wifstream; -+using _STLP_NEW_IO_NAMESPACE::wfstream; - # endif - #endif -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/h/iostream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/using/h/iostream.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/h/iostream.h Sat Feb 24 10:45:22 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/using/h/iostream.h Sun Aug 11 18:59:25 2002 -@@ -1,13 +1,24 @@ --using __STL_OLD_IO_NAMESPACE::istream; --using __STL_OLD_IO_NAMESPACE::ostream; --using __STL_OLD_IO_NAMESPACE::cin; --using __STL_OLD_IO_NAMESPACE::cout; --using __STL_OLD_IO_NAMESPACE::cerr; --using __STL_OLD_IO_NAMESPACE::clog; --using __STL_OLD_IO_NAMESPACE::endl; --using __STL_OLD_IO_NAMESPACE::ends; -+using _STLP_OLD_IO_NAMESPACE::istream; -+using _STLP_OLD_IO_NAMESPACE::ostream; - --using __STL_OLD_IO_NAMESPACE::ios; --using __STL_OLD_IO_NAMESPACE::flush; -+/* HP aCC include files re-define these when THREAD_SAFE */ -+#if !defined(cin) -+using _STLP_OLD_IO_NAMESPACE::cin; -+#endif -+#if !defined(cout) -+using _STLP_OLD_IO_NAMESPACE::cout; -+#endif -+#if !defined(cerr) -+using _STLP_OLD_IO_NAMESPACE::cerr; -+#endif -+#if !defined(clog) -+using _STLP_OLD_IO_NAMESPACE::clog; -+#endif - --// using __STL_OLD_IO_NAMESPACE::ws; -+using _STLP_OLD_IO_NAMESPACE::endl; -+using _STLP_OLD_IO_NAMESPACE::ends; -+ -+using _STLP_OLD_IO_NAMESPACE::ios; -+using _STLP_OLD_IO_NAMESPACE::flush; -+ -+// using _STLP_OLD_IO_NAMESPACE::ws; -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/h/ostream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/using/h/ostream.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/h/ostream.h Sat Feb 24 10:45:22 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/using/h/ostream.h Sun Aug 11 18:59:25 2002 -@@ -1,6 +1,6 @@ --using __STL_OLD_IO_NAMESPACE::ostream; --using __STL_OLD_IO_NAMESPACE::endl; --using __STL_OLD_IO_NAMESPACE::ends; --using __STL_OLD_IO_NAMESPACE::flush; -+using _STLP_OLD_IO_NAMESPACE::ostream; -+using _STLP_OLD_IO_NAMESPACE::endl; -+using _STLP_OLD_IO_NAMESPACE::ends; -+using _STLP_OLD_IO_NAMESPACE::flush; - --// using __STL_OLD_IO_NAMESPACE::ws; -+// using _STLP_OLD_IO_NAMESPACE::ws; -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/h/streambuf.h tripwire-2.3.1-2/src/STLport-4.0/stlport/using/h/streambuf.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/h/streambuf.h Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/using/h/streambuf.h Sun Aug 11 19:12:59 2002 -@@ -0,0 +1 @@ -+using ::streambuf; -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/h/strstream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/using/h/strstream.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/h/strstream.h Sat Feb 24 10:45:22 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/using/h/strstream.h Sun Aug 11 18:59:25 2002 -@@ -1,4 +1,4 @@ --using __STL_OLD_IO_NAMESPACE::strstreambuf; --using __STL_OLD_IO_NAMESPACE::istrstream; --using __STL_OLD_IO_NAMESPACE::ostrstream; --using __STL_OLD_IO_NAMESPACE::strstream; -+using _STLP_OLD_IO_NAMESPACE::strstreambuf; -+using _STLP_OLD_IO_NAMESPACE::istrstream; -+using _STLP_OLD_IO_NAMESPACE::ostrstream; -+using _STLP_OLD_IO_NAMESPACE::strstream; -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/iomanip tripwire-2.3.1-2/src/STLport-4.0/stlport/using/iomanip ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/iomanip Sat Feb 24 10:45:22 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/using/iomanip Sun Aug 11 18:59:25 2002 -@@ -1,6 +1,6 @@ --using __STL_NEW_IO_NAMESPACE::setiosflags; --using __STL_NEW_IO_NAMESPACE::resetiosflags; --using __STL_NEW_IO_NAMESPACE::setbase; --using __STL_NEW_IO_NAMESPACE::setfill; --using __STL_NEW_IO_NAMESPACE::setprecision; --using __STL_NEW_IO_NAMESPACE::setw; -+using _STLP_NEW_IO_NAMESPACE::setiosflags; -+using _STLP_NEW_IO_NAMESPACE::resetiosflags; -+using _STLP_NEW_IO_NAMESPACE::setbase; -+using _STLP_NEW_IO_NAMESPACE::setfill; -+using _STLP_NEW_IO_NAMESPACE::setprecision; -+using _STLP_NEW_IO_NAMESPACE::setw; -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/ios tripwire-2.3.1-2/src/STLport-4.0/stlport/using/ios ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/ios Sat Feb 24 10:45:22 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/using/ios Sun Aug 11 18:59:25 2002 -@@ -1,41 +1,41 @@ --# ifdef __STL_BROKEN_USING_DIRECTIVE --using namespace __STL_NEW_IO_NAMESPACE; -+# ifdef _STLP_BROKEN_USING_DIRECTIVE -+using namespace _STLP_NEW_IO_NAMESPACE; - # else - --using __STL_NEW_IO_NAMESPACE::ios; --using __STL_NEW_IO_NAMESPACE::streamoff; --using __STL_NEW_IO_NAMESPACE::streamsize; -+using _STLP_NEW_IO_NAMESPACE::ios; -+using _STLP_NEW_IO_NAMESPACE::streamoff; -+using _STLP_NEW_IO_NAMESPACE::streamsize; - --using __STL_NEW_IO_NAMESPACE::ios_base; --using __STL_NEW_IO_NAMESPACE::basic_ios; -+using _STLP_NEW_IO_NAMESPACE::ios_base; -+using _STLP_NEW_IO_NAMESPACE::basic_ios; - - // _lib.std.ios.manip_, manipulators: --using __STL_NEW_IO_NAMESPACE::boolalpha; --using __STL_NEW_IO_NAMESPACE::noboolalpha; --using __STL_NEW_IO_NAMESPACE::showbase; --using __STL_NEW_IO_NAMESPACE::noshowbase; --using __STL_NEW_IO_NAMESPACE::showpoint; --using __STL_NEW_IO_NAMESPACE::noshowpoint; --using __STL_NEW_IO_NAMESPACE::showpos; --using __STL_NEW_IO_NAMESPACE::noshowpos; --using __STL_NEW_IO_NAMESPACE::skipws; --using __STL_NEW_IO_NAMESPACE::noskipws; --using __STL_NEW_IO_NAMESPACE::uppercase; --using __STL_NEW_IO_NAMESPACE::nouppercase; -+using _STLP_NEW_IO_NAMESPACE::boolalpha; -+using _STLP_NEW_IO_NAMESPACE::noboolalpha; -+using _STLP_NEW_IO_NAMESPACE::showbase; -+using _STLP_NEW_IO_NAMESPACE::noshowbase; -+using _STLP_NEW_IO_NAMESPACE::showpoint; -+using _STLP_NEW_IO_NAMESPACE::noshowpoint; -+using _STLP_NEW_IO_NAMESPACE::showpos; -+using _STLP_NEW_IO_NAMESPACE::noshowpos; -+using _STLP_NEW_IO_NAMESPACE::skipws; -+using _STLP_NEW_IO_NAMESPACE::noskipws; -+using _STLP_NEW_IO_NAMESPACE::uppercase; -+using _STLP_NEW_IO_NAMESPACE::nouppercase; - - // _lib.adjustfield.manip_ adjustfield: --using __STL_NEW_IO_NAMESPACE::internal; --using __STL_NEW_IO_NAMESPACE::left; --using __STL_NEW_IO_NAMESPACE::right; -+using _STLP_NEW_IO_NAMESPACE::internal; -+using _STLP_NEW_IO_NAMESPACE::left; -+using _STLP_NEW_IO_NAMESPACE::right; - - // _lib.basefield.manip_ basefield: --using __STL_NEW_IO_NAMESPACE::dec; --using __STL_NEW_IO_NAMESPACE::hex; --using __STL_NEW_IO_NAMESPACE::oct; -+using _STLP_NEW_IO_NAMESPACE::dec; -+using _STLP_NEW_IO_NAMESPACE::hex; -+using _STLP_NEW_IO_NAMESPACE::oct; - - // _lib.floatfield.manip_ floatfield: --using __STL_NEW_IO_NAMESPACE::fixed; --using __STL_NEW_IO_NAMESPACE::scientific; -+using _STLP_NEW_IO_NAMESPACE::fixed; -+using _STLP_NEW_IO_NAMESPACE::scientific; - --# endif /* __STL_BROKEN_USING_DIRECTIVE */ -+# endif /* _STLP_BROKEN_USING_DIRECTIVE */ - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/iosfwd tripwire-2.3.1-2/src/STLport-4.0/stlport/using/iosfwd ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/iosfwd Sat Feb 24 10:45:22 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/using/iosfwd Sun Aug 11 18:59:25 2002 -@@ -1,54 +1,54 @@ --# if defined (__STL_USE_NEW_IOSTREAMS) --using __STL_NEW_IO_NAMESPACE::char_traits; --using __STL_NEW_IO_NAMESPACE::basic_ios; --using __STL_NEW_IO_NAMESPACE::basic_streambuf; --using __STL_NEW_IO_NAMESPACE::basic_istream; --using __STL_NEW_IO_NAMESPACE::basic_ostream; --using __STL_NEW_IO_NAMESPACE::basic_iostream; --using __STL_NEW_IO_NAMESPACE::basic_stringbuf; --using __STL_NEW_IO_NAMESPACE::basic_istringstream; --using __STL_NEW_IO_NAMESPACE::basic_ostringstream; --using __STL_NEW_IO_NAMESPACE::basic_stringstream; --using __STL_NEW_IO_NAMESPACE::basic_filebuf; --using __STL_NEW_IO_NAMESPACE::basic_ifstream; --using __STL_NEW_IO_NAMESPACE::basic_ofstream; --using __STL_NEW_IO_NAMESPACE::basic_fstream; --using __STL_NEW_IO_NAMESPACE::fpos; --using __STL_NEW_IO_NAMESPACE::istreambuf_iterator; --using __STL_NEW_IO_NAMESPACE::ostreambuf_iterator; --using __STL_NEW_IO_NAMESPACE::stringbuf; --using __STL_NEW_IO_NAMESPACE::istringstream; --using __STL_NEW_IO_NAMESPACE::ostringstream; --using __STL_NEW_IO_NAMESPACE::stringstream; -+# if defined (_STLP_USE_NEW_IOSTREAMS) -+using _STLP_NEW_IO_NAMESPACE::char_traits; -+using _STLP_NEW_IO_NAMESPACE::basic_ios; -+using _STLP_NEW_IO_NAMESPACE::basic_streambuf; -+using _STLP_NEW_IO_NAMESPACE::basic_istream; -+using _STLP_NEW_IO_NAMESPACE::basic_ostream; -+using _STLP_NEW_IO_NAMESPACE::basic_iostream; -+using _STLP_NEW_IO_NAMESPACE::basic_stringbuf; -+using _STLP_NEW_IO_NAMESPACE::basic_istringstream; -+using _STLP_NEW_IO_NAMESPACE::basic_ostringstream; -+using _STLP_NEW_IO_NAMESPACE::basic_stringstream; -+using _STLP_NEW_IO_NAMESPACE::basic_filebuf; -+using _STLP_NEW_IO_NAMESPACE::basic_ifstream; -+using _STLP_NEW_IO_NAMESPACE::basic_ofstream; -+using _STLP_NEW_IO_NAMESPACE::basic_fstream; -+using _STLP_NEW_IO_NAMESPACE::fpos; -+using _STLP_NEW_IO_NAMESPACE::istreambuf_iterator; -+using _STLP_NEW_IO_NAMESPACE::ostreambuf_iterator; -+using _STLP_NEW_IO_NAMESPACE::stringbuf; -+using _STLP_NEW_IO_NAMESPACE::istringstream; -+using _STLP_NEW_IO_NAMESPACE::ostringstream; -+using _STLP_NEW_IO_NAMESPACE::stringstream; - # endif - --using __STL_NEW_IO_NAMESPACE::ios; --using __STL_NEW_IO_NAMESPACE::streambuf; --using __STL_NEW_IO_NAMESPACE::istream; --using __STL_NEW_IO_NAMESPACE::ostream; --using __STL_NEW_IO_NAMESPACE::iostream; -+using _STLP_NEW_IO_NAMESPACE::ios; -+using _STLP_NEW_IO_NAMESPACE::streambuf; -+using _STLP_NEW_IO_NAMESPACE::istream; -+using _STLP_NEW_IO_NAMESPACE::ostream; -+using _STLP_NEW_IO_NAMESPACE::iostream; - --using __STL_NEW_IO_NAMESPACE::filebuf; --using __STL_NEW_IO_NAMESPACE::ifstream; --using __STL_NEW_IO_NAMESPACE::ofstream; --using __STL_NEW_IO_NAMESPACE::fstream; -+using _STLP_NEW_IO_NAMESPACE::filebuf; -+using _STLP_NEW_IO_NAMESPACE::ifstream; -+using _STLP_NEW_IO_NAMESPACE::ofstream; -+using _STLP_NEW_IO_NAMESPACE::fstream; - --using __STL_NEW_IO_NAMESPACE::streampos; --using __STL_NEW_IO_NAMESPACE::streamoff; -+using _STLP_NEW_IO_NAMESPACE::streampos; -+using _STLP_NEW_IO_NAMESPACE::streamoff; - --# if !defined (__STL_NO_WIDE_STREAMS) --using __STL_NEW_IO_NAMESPACE::wios; --using __STL_NEW_IO_NAMESPACE::wstreambuf; --using __STL_NEW_IO_NAMESPACE::wistream; --using __STL_NEW_IO_NAMESPACE::wostream; --using __STL_NEW_IO_NAMESPACE::wiostream; --using __STL_NEW_IO_NAMESPACE::wstringbuf; --using __STL_NEW_IO_NAMESPACE::wistringstream; --using __STL_NEW_IO_NAMESPACE::wostringstream; --using __STL_NEW_IO_NAMESPACE::wstringstream; --using __STL_NEW_IO_NAMESPACE::wfilebuf; --using __STL_NEW_IO_NAMESPACE::wifstream; --using __STL_NEW_IO_NAMESPACE::wofstream; --using __STL_NEW_IO_NAMESPACE::wfstream; --using __STL_NEW_IO_NAMESPACE::wstreampos; -+# if !defined (_STLP_NO_WIDE_STREAMS) -+using _STLP_NEW_IO_NAMESPACE::wios; -+using _STLP_NEW_IO_NAMESPACE::wstreambuf; -+using _STLP_NEW_IO_NAMESPACE::wistream; -+using _STLP_NEW_IO_NAMESPACE::wostream; -+using _STLP_NEW_IO_NAMESPACE::wiostream; -+using _STLP_NEW_IO_NAMESPACE::wstringbuf; -+using _STLP_NEW_IO_NAMESPACE::wistringstream; -+using _STLP_NEW_IO_NAMESPACE::wostringstream; -+using _STLP_NEW_IO_NAMESPACE::wstringstream; -+using _STLP_NEW_IO_NAMESPACE::wfilebuf; -+using _STLP_NEW_IO_NAMESPACE::wifstream; -+using _STLP_NEW_IO_NAMESPACE::wofstream; -+using _STLP_NEW_IO_NAMESPACE::wfstream; -+using _STLP_NEW_IO_NAMESPACE::wstreampos; - # endif -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/iostream tripwire-2.3.1-2/src/STLport-4.0/stlport/using/iostream ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/iostream Sat Feb 24 10:45:22 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/using/iostream Sun Aug 11 18:59:25 2002 -@@ -1,11 +1,14 @@ --using __STL_VENDOR_STD::cin; --using __STL_VENDOR_STD::cout; --using __STL_VENDOR_STD::cerr; --using __STL_VENDOR_STD::clog; - --# if ! defined (__STL_NO_WIDE_STREAMS) --using __STL_VENDOR_STD::wcin; --using __STL_VENDOR_STD::wcout; --using __STL_VENDOR_STD::wcerr; --using __STL_VENDOR_STD::wclog; -+# include -+ -+using _STLP_VENDOR_STD::cin; -+using _STLP_VENDOR_STD::cout; -+using _STLP_VENDOR_STD::cerr; -+using _STLP_VENDOR_STD::clog; -+ -+# if ! defined (_STLP_NO_WIDE_STREAMS) -+using _STLP_VENDOR_STD::wcin; -+using _STLP_VENDOR_STD::wcout; -+using _STLP_VENDOR_STD::wcerr; -+using _STLP_VENDOR_STD::wclog; - # endif -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/istream tripwire-2.3.1-2/src/STLport-4.0/stlport/using/istream ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/istream Sat Feb 24 10:45:22 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/using/istream Sun Aug 11 18:59:25 2002 -@@ -1,15 +1,16 @@ -+# include - --using __STL_NEW_IO_NAMESPACE::basic_istream; --using __STL_NEW_IO_NAMESPACE::basic_iostream; -+using _STLP_NEW_IO_NAMESPACE::basic_istream; -+using _STLP_NEW_IO_NAMESPACE::basic_iostream; - --using __STL_NEW_IO_NAMESPACE::istream; --using __STL_NEW_IO_NAMESPACE::iostream; -+using _STLP_NEW_IO_NAMESPACE::istream; -+using _STLP_NEW_IO_NAMESPACE::iostream; - --# if !defined (__STL_NO_NATIVE_WIDE_STREAMS) --using __STL_NEW_IO_NAMESPACE::wistream; --using __STL_NEW_IO_NAMESPACE::wiostream; -+# if !defined (_STLP_NO_NATIVE_WIDE_STREAMS) -+using _STLP_NEW_IO_NAMESPACE::wistream; -+using _STLP_NEW_IO_NAMESPACE::wiostream; - # endif - --#if !(defined (__STL_MSVC) && (__STL_MSVC < 1200)) --using __STL_NEW_IO_NAMESPACE::ws; -+#if !(defined (_STLP_MSVC) && (_STLP_MSVC < 1200)) -+using _STLP_NEW_IO_NAMESPACE::ws; - #endif -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/locale tripwire-2.3.1-2/src/STLport-4.0/stlport/using/locale ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/locale Sat Feb 24 10:45:22 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/using/locale Sun Aug 11 18:59:25 2002 -@@ -1,62 +1,65 @@ -+#if !defined(_STLP_NO_IMPORT_LOCALE) -+ - // from --#if !defined (__STL_NO_MBSTATE_T) --using __STL_VENDOR_MB_NAMESPACE::mbstate_t; -+#if !defined (_STLP_NO_MBSTATE_T) -+using _STLP_VENDOR_MB_NAMESPACE::mbstate_t; - #endif - - // _lib.locale_, locale: --using __STL_NEW_IO_NAMESPACE::locale; --using __STL_NEW_IO_NAMESPACE::use_facet; --using __STL_NEW_IO_NAMESPACE::has_facet; -+using _STLP_NEW_IO_NAMESPACE::locale; -+using _STLP_NEW_IO_NAMESPACE::use_facet; -+using _STLP_NEW_IO_NAMESPACE::has_facet; - - // _lib.locale.convenience_, convenience interfaces: --using __STL_NEW_IO_NAMESPACE::isspace; --using __STL_NEW_IO_NAMESPACE::isprint; --using __STL_NEW_IO_NAMESPACE::iscntrl; --using __STL_NEW_IO_NAMESPACE::isupper; --using __STL_NEW_IO_NAMESPACE::islower; --using __STL_NEW_IO_NAMESPACE::isalpha; --using __STL_NEW_IO_NAMESPACE::isdigit; --using __STL_NEW_IO_NAMESPACE::ispunct; --using __STL_NEW_IO_NAMESPACE::isxdigit; --using __STL_NEW_IO_NAMESPACE::isalnum; --using __STL_NEW_IO_NAMESPACE::isgraph; --using __STL_NEW_IO_NAMESPACE::toupper; --using __STL_NEW_IO_NAMESPACE::tolower; -+using _STLP_NEW_IO_NAMESPACE::isspace; -+using _STLP_NEW_IO_NAMESPACE::isprint; -+using _STLP_NEW_IO_NAMESPACE::iscntrl; -+using _STLP_NEW_IO_NAMESPACE::isupper; -+using _STLP_NEW_IO_NAMESPACE::islower; -+using _STLP_NEW_IO_NAMESPACE::isalpha; -+using _STLP_NEW_IO_NAMESPACE::isdigit; -+using _STLP_NEW_IO_NAMESPACE::ispunct; -+using _STLP_NEW_IO_NAMESPACE::isxdigit; -+using _STLP_NEW_IO_NAMESPACE::isalnum; -+using _STLP_NEW_IO_NAMESPACE::isgraph; -+using _STLP_NEW_IO_NAMESPACE::toupper; -+using _STLP_NEW_IO_NAMESPACE::tolower; - - // _lib.category.ctype_ and _lib.facet.ctype.special_, ctype: --using __STL_NEW_IO_NAMESPACE::ctype_base; --using __STL_NEW_IO_NAMESPACE::ctype; --using __STL_NEW_IO_NAMESPACE::ctype_byname; --using __STL_NEW_IO_NAMESPACE::codecvt_base; --using __STL_NEW_IO_NAMESPACE::codecvt; --using __STL_NEW_IO_NAMESPACE::codecvt_byname; -+using _STLP_NEW_IO_NAMESPACE::ctype_base; -+using _STLP_NEW_IO_NAMESPACE::ctype; -+using _STLP_NEW_IO_NAMESPACE::ctype_byname; -+using _STLP_NEW_IO_NAMESPACE::codecvt_base; -+using _STLP_NEW_IO_NAMESPACE::codecvt; -+using _STLP_NEW_IO_NAMESPACE::codecvt_byname; - - // _lib.category.numeric_ and _lib.facet.numpunct_, numeric: --using __STL_NEW_IO_NAMESPACE::num_get; --using __STL_NEW_IO_NAMESPACE::num_put; --using __STL_NEW_IO_NAMESPACE::numpunct; --using __STL_NEW_IO_NAMESPACE::numpunct_byname; -+using _STLP_NEW_IO_NAMESPACE::num_get; -+using _STLP_NEW_IO_NAMESPACE::num_put; -+using _STLP_NEW_IO_NAMESPACE::numpunct; -+using _STLP_NEW_IO_NAMESPACE::numpunct_byname; - - // _lib.category.collate_, collation: --using __STL_NEW_IO_NAMESPACE::collate; --using __STL_NEW_IO_NAMESPACE::collate_byname; -+using _STLP_NEW_IO_NAMESPACE::collate; -+using _STLP_NEW_IO_NAMESPACE::collate_byname; - - // _lib.category.time_, date and time: --using __STL_NEW_IO_NAMESPACE::time_base; --using __STL_NEW_IO_NAMESPACE::time_get; --using __STL_NEW_IO_NAMESPACE::time_get_byname; --using __STL_NEW_IO_NAMESPACE::time_put; --using __STL_NEW_IO_NAMESPACE::time_put_byname; -+using _STLP_NEW_IO_NAMESPACE::time_base; -+using _STLP_NEW_IO_NAMESPACE::time_get; -+using _STLP_NEW_IO_NAMESPACE::time_get_byname; -+using _STLP_NEW_IO_NAMESPACE::time_put; -+using _STLP_NEW_IO_NAMESPACE::time_put_byname; - - // _lib.category.monetary_, money: --using __STL_NEW_IO_NAMESPACE::money_base; --using __STL_NEW_IO_NAMESPACE::money_get; --using __STL_NEW_IO_NAMESPACE::money_put; --using __STL_NEW_IO_NAMESPACE::moneypunct; --using __STL_NEW_IO_NAMESPACE::moneypunct_byname; -- --#if !defined (__SGI_STL_OWN_IOSTREAMS) && !defined (__STL_NO_NATIVE_MESSAGE_FACET) --using __STL_NEW_IO_NAMESPACE::messages_base; --using __STL_NEW_IO_NAMESPACE::messages; --using __STL_NEW_IO_NAMESPACE::messages_byname; -+using _STLP_NEW_IO_NAMESPACE::money_base; -+using _STLP_NEW_IO_NAMESPACE::money_get; -+using _STLP_NEW_IO_NAMESPACE::money_put; -+using _STLP_NEW_IO_NAMESPACE::moneypunct; -+using _STLP_NEW_IO_NAMESPACE::moneypunct_byname; -+ -+#if !defined (_STLP_OWN_IOSTREAMS) && !defined (_STLP_NO_NATIVE_MESSAGE_FACET) -+using _STLP_NEW_IO_NAMESPACE::messages_base; -+using _STLP_NEW_IO_NAMESPACE::messages; -+using _STLP_NEW_IO_NAMESPACE::messages_byname; - #endif // _MSL_NO_MESSAGE_FACET -+#endif /* !defined(_STLP_NO_IMPORT_LOCALE) */ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/ostream tripwire-2.3.1-2/src/STLport-4.0/stlport/using/ostream ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/ostream Sat Feb 24 10:45:22 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/using/ostream Sun Aug 11 18:59:25 2002 -@@ -1,10 +1,10 @@ --using __STL_NEW_IO_NAMESPACE::basic_ostream; --using __STL_NEW_IO_NAMESPACE::ostream; -+using _STLP_NEW_IO_NAMESPACE::basic_ostream; -+using _STLP_NEW_IO_NAMESPACE::ostream; - --# ifndef __STL_NO_WIDE_STREAMS --using __STL_NEW_IO_NAMESPACE::wostream; -+# ifndef _STLP_NO_WIDE_STREAMS -+using _STLP_NEW_IO_NAMESPACE::wostream; - # endif - --using __STL_NEW_IO_NAMESPACE::endl; --using __STL_NEW_IO_NAMESPACE::ends; --using __STL_NEW_IO_NAMESPACE::flush; -+using _STLP_NEW_IO_NAMESPACE::endl; -+using _STLP_NEW_IO_NAMESPACE::ends; -+using _STLP_NEW_IO_NAMESPACE::flush; -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/sstream tripwire-2.3.1-2/src/STLport-4.0/stlport/using/sstream ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/sstream Sat Feb 24 10:45:22 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/using/sstream Sun Aug 11 18:59:25 2002 -@@ -1,16 +1,16 @@ --using __STL_NEW_IO_NAMESPACE::basic_stringbuf; --using __STL_NEW_IO_NAMESPACE::stringbuf; -+using _STLP_NEW_IO_NAMESPACE::basic_stringbuf; -+using _STLP_NEW_IO_NAMESPACE::stringbuf; - --using __STL_NEW_IO_NAMESPACE::basic_istringstream; --using __STL_NEW_IO_NAMESPACE::basic_ostringstream; --using __STL_NEW_IO_NAMESPACE::basic_stringstream; --using __STL_NEW_IO_NAMESPACE::istringstream; --using __STL_NEW_IO_NAMESPACE::ostringstream; --using __STL_NEW_IO_NAMESPACE::stringstream; -+using _STLP_NEW_IO_NAMESPACE::basic_istringstream; -+using _STLP_NEW_IO_NAMESPACE::basic_ostringstream; -+using _STLP_NEW_IO_NAMESPACE::basic_stringstream; -+using _STLP_NEW_IO_NAMESPACE::istringstream; -+using _STLP_NEW_IO_NAMESPACE::ostringstream; -+using _STLP_NEW_IO_NAMESPACE::stringstream; - --#ifndef __STL_NO_WIDE_STREAMS --using __STL_NEW_IO_NAMESPACE::wstringbuf; --using __STL_NEW_IO_NAMESPACE::wistringstream; --using __STL_NEW_IO_NAMESPACE::wostringstream; --using __STL_NEW_IO_NAMESPACE::wstringstream; -+#ifndef _STLP_NO_WIDE_STREAMS -+using _STLP_NEW_IO_NAMESPACE::wstringbuf; -+using _STLP_NEW_IO_NAMESPACE::wistringstream; -+using _STLP_NEW_IO_NAMESPACE::wostringstream; -+using _STLP_NEW_IO_NAMESPACE::wstringstream; - #endif -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/streambuf tripwire-2.3.1-2/src/STLport-4.0/stlport/using/streambuf ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/streambuf Sat Feb 24 10:45:22 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/using/streambuf Sun Aug 11 18:59:25 2002 -@@ -1,5 +1,5 @@ --using __STL_NEW_IO_NAMESPACE::basic_streambuf; --using __STL_NEW_IO_NAMESPACE::streambuf; --#ifndef __STL_NO_WIDE_STREAMS --using __STL_NEW_IO_NAMESPACE::wstreambuf; -+using _STLP_NEW_IO_NAMESPACE::basic_streambuf; -+using _STLP_NEW_IO_NAMESPACE::streambuf; -+#ifndef _STLP_NO_WIDE_STREAMS -+using _STLP_NEW_IO_NAMESPACE::wstreambuf; - # endif -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/strstream tripwire-2.3.1-2/src/STLport-4.0/stlport/using/strstream ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/using/strstream Sat Feb 24 10:45:22 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/using/strstream Sun Aug 11 18:59:25 2002 -@@ -1,4 +1,4 @@ --using __STL_NEW_IO_NAMESPACE::strstreambuf; --using __STL_NEW_IO_NAMESPACE::istrstream; --using __STL_NEW_IO_NAMESPACE::ostrstream; --using __STL_NEW_IO_NAMESPACE::strstream; -+using _STLP_NEW_IO_NAMESPACE::strstreambuf; -+using _STLP_NEW_IO_NAMESPACE::istrstream; -+using _STLP_NEW_IO_NAMESPACE::ostrstream; -+using _STLP_NEW_IO_NAMESPACE::strstream; -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/utility tripwire-2.3.1-2/src/STLport-4.0/stlport/utility ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/utility Sat Feb 24 10:44:25 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/utility Sun Aug 11 18:59:23 2002 -@@ -20,46 +20,40 @@ - * - */ - --#ifndef __SGI_STL_UTILITY --#define __SGI_STL_UTILITY -+#ifndef _STLP_UTILITY -+#define _STLP_UTILITY - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x75 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x75 - # include - # endif - --// this is not really needed by contents, --// but it is convenient place to put this stuff in --#if !defined (__STLPORT_DEBUG_H) && (defined (__STL_DEBUG) || defined (__STL_ASSERTIONS)) --# include --#endif -- --# ifndef __SGI_STL_INTERNAL_RELOPS --# include --# endif -- - # ifndef __TYPE_TRAITS_H - # include - # endif - --# ifndef __SGI_STL_INTERNAL_PAIR_H -+# if !defined (_STLP_DEBUG_H) && (defined (_STLP_DEBUG) || defined (_STLP_ASSERTIONS)) -+# include -+# endif -+ -+# ifndef _STLP_INTERNAL_PAIR_H - # include - # endif - --# if defined (__STL_IMPORT_VENDOR_STD) --# include __STL_NATIVE_HEADER(utility) -+# if defined (_STLP_IMPORT_VENDOR_STD) -+# include _STLP_NATIVE_HEADER(utility) - # else --# if defined (__STL_MSVC) && ! defined (__SGI_STL_INTERNAL_ITERATOR_H) -+# if defined (_STLP_MSVC) && ! defined (_STLP_INTERNAL_ITERATOR_H) - # include - # endif - # endif - --# if (__STL_OUTERMOST_HEADER_ID == 0x75) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x75) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_UTILITY */ -+#endif /* _STLP_UTILITY */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/valarray tripwire-2.3.1-2/src/STLport-4.0/stlport/valarray ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/valarray Sat Feb 24 10:44:25 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/valarray Sun Aug 11 18:59:23 2002 -@@ -16,26 +16,26 @@ - * - */ - --#ifndef __SGI_STL_VALARRAY --#define __SGI_STL_VALARRAY -+#ifndef _STLP_VALARRAY -+#define _STLP_VALARRAY - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x76 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x76 - # include - # endif - - #include - --# ifdef __STL_WHOLE_NATIVE_STD --# include __STL_NATIVE_HEADER(valarray) --# endif -+#if defined (_STLP_WHOLE_VENDOR_STD) -+# include _STLP_NATIVE_HEADER(valarray) -+#endif - --# if (__STL_OUTERMOST_HEADER_ID == 0x76) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x76) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_VALARRAY */ -+#endif /* _STLP_VALARRAY */ - - - // Local Variables: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/vector tripwire-2.3.1-2/src/STLport-4.0/stlport/vector ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/vector Sat Feb 24 10:44:25 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/vector Sun Aug 11 18:59:23 2002 -@@ -20,32 +20,32 @@ - * - */ - --#ifndef __SGI_STL_VECTOR --#define __SGI_STL_VECTOR -+#ifndef _STLP_VECTOR -+#define _STLP_VECTOR - --# ifndef __STL_OUTERMOST_HEADER_ID --# define __STL_OUTERMOST_HEADER_ID 0x77 -+# ifndef _STLP_OUTERMOST_HEADER_ID -+# define _STLP_OUTERMOST_HEADER_ID 0x77 - # include - # endif - --# ifndef __SGI_STL_INTERNAL_ALGOBASE_H -+# ifndef _STLP_INTERNAL_ALGOBASE_H - # include - # endif - --#ifndef __SGI_STL_INTERNAL_VECTOR_H -+#ifndef _STLP_INTERNAL_VECTOR_H - # include - #endif - --#if defined (__STL_IMPORT_VENDOR_STD) --# include __STL_NATIVE_HEADER(vector) -+#if defined (_STLP_IMPORT_VENDOR_STD) && ! defined (_STLP_MINIMUM_IMPORT_STD) -+# include _STLP_NATIVE_HEADER(vector) - #endif - --# if (__STL_OUTERMOST_HEADER_ID == 0x77) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x77) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif - --#endif /* __SGI_STL_VECTOR */ -+#endif /* _STLP_VECTOR */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wchar.h tripwire-2.3.1-2/src/STLport-4.0/stlport/wchar.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wchar.h Sat Feb 24 10:44:25 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/wchar.h Sun Aug 11 18:59:23 2002 -@@ -13,30 +13,36 @@ - * - */ - --# if !defined (__STL_OUTERMOST_HEADER_ID) --# define __STL_OUTERMOST_HEADER_ID 0x278 -+# if !defined (_STLP_OUTERMOST_HEADER_ID) -+# define _STLP_OUTERMOST_HEADER_ID 0x278 - # include --# elif (__STL_OUTERMOST_HEADER_ID == 0x278) && ! defined (__STL_DONT_POP_0x278) --# define __STL_DONT_POP_0x278 -+# elif (_STLP_OUTERMOST_HEADER_ID == 0x278) && ! defined (_STLP_DONT_POP_0x278) -+# define _STLP_DONT_POP_0x278 - # endif - --# if ! defined (__STL_WINCE) -+# if ! defined (_STLP_WINCE) && ! defined (_STLP_NO_WCHAR_T) - - # if defined ( __BORLANDC__ ) && (__BORLANDC__) >= 0x530 --# include --using __STL_VENDOR_CSTD::strlen; --using __STL_VENDOR_CSTD::strspn; -+// # include -+# include _STLP_NATIVE_CPP_C_HEADER(_str.h) -+using _STLP_VENDOR_CSTD::strlen; -+using _STLP_VENDOR_CSTD::strspn; -+# endif -+ -+# if defined (__GNUC__) && defined (__APPLE__) -+# include _STLP_NATIVE_C_HEADER(stddef.h) -+# else -+# include _STLP_NATIVE_C_HEADER(wchar.h) - # endif --# include __STL_NATIVE_C_HEADER(wchar.h) - - # endif /* WINCE */ - --# if (__STL_OUTERMOST_HEADER_ID == 0x278) --# if ! defined (__STL_DONT_POP_0x278) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x278) -+# if ! defined (_STLP_DONT_POP_0x278) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif --# undef __STL_DONT_POP_0x278 -+# undef _STLP_DONT_POP_0x278 - # endif - - // Local Variables: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wctype.h tripwire-2.3.1-2/src/STLport-4.0/stlport/wctype.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wctype.h Sat Feb 24 10:44:25 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/wctype.h Sun Aug 11 18:59:23 2002 -@@ -13,21 +13,21 @@ - * - */ - --# if !defined (__STL_OUTERMOST_HEADER_ID) --# define __STL_OUTERMOST_HEADER_ID 0x279 -+# if !defined (_STLP_OUTERMOST_HEADER_ID) -+# define _STLP_OUTERMOST_HEADER_ID 0x279 - # include --# elif (__STL_OUTERMOST_HEADER_ID == 0x279) && ! defined (__STL_DONT_POP_0x279) --# define __STL_DONT_POP_0x279 -+# elif (_STLP_OUTERMOST_HEADER_ID == 0x279) && ! defined (_STLP_DONT_POP_0x279) -+# define _STLP_DONT_POP_0x279 - # endif - --# include __STL_NATIVE_C_HEADER(wctype.h) -+# include _STLP_NATIVE_C_HEADER(wctype.h) - --# if (__STL_OUTERMOST_HEADER_ID == 0x279) --# if ! defined (__STL_DONT_POP_0x279) -+# if (_STLP_OUTERMOST_HEADER_ID == 0x279) -+# if ! defined (_STLP_DONT_POP_0x279) - # include --# undef __STL_OUTERMOST_HEADER_ID -+# undef _STLP_OUTERMOST_HEADER_ID - # endif --# undef __STL_DONT_POP_0x279 -+# undef _STLP_DONT_POP_0x279 - # endif - - // Local Variables: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/complex tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/complex ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/complex Sat Feb 24 10:45:22 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/complex Sun Aug 11 18:59:25 2002 -@@ -13,35 +13,35 @@ - * - */ - --# include __STL_NATIVE_HEADER(complex) -+# include _STLP_NATIVE_HEADER(complex) - --# if defined (__STL_USE_OWN_NAMESPACE) --__STL_BEGIN_NAMESPACE -+# if defined (_STLP_USE_OWN_NAMESPACE) -+_STLP_BEGIN_NAMESPACE - --using __STL_COMPLEX_NAMESPACE::complex; -+using _STLP_COMPLEX_NAMESPACE::complex; - --using __STL_COMPLEX_NAMESPACE::real; --using __STL_COMPLEX_NAMESPACE::imag; --using __STL_COMPLEX_NAMESPACE::abs; --using __STL_COMPLEX_NAMESPACE::arg; --using __STL_COMPLEX_NAMESPACE::norm; -- --using __STL_COMPLEX_NAMESPACE::conj; --using __STL_COMPLEX_NAMESPACE::polar; -- --using __STL_COMPLEX_NAMESPACE::cos; --using __STL_COMPLEX_NAMESPACE::cosh; --using __STL_COMPLEX_NAMESPACE::exp; --using __STL_COMPLEX_NAMESPACE::log; --using __STL_COMPLEX_NAMESPACE::log10; --using __STL_COMPLEX_NAMESPACE::pow; --using __STL_COMPLEX_NAMESPACE::sin; --using __STL_COMPLEX_NAMESPACE::sinh; --using __STL_COMPLEX_NAMESPACE::sqrt; --using __STL_COMPLEX_NAMESPACE::tan; --using __STL_COMPLEX_NAMESPACE::tanh; -+using _STLP_COMPLEX_NAMESPACE::real; -+using _STLP_COMPLEX_NAMESPACE::imag; -+using _STLP_COMPLEX_NAMESPACE::abs; -+using _STLP_COMPLEX_NAMESPACE::arg; -+using _STLP_COMPLEX_NAMESPACE::norm; -+ -+using _STLP_COMPLEX_NAMESPACE::conj; -+using _STLP_COMPLEX_NAMESPACE::polar; -+ -+using _STLP_COMPLEX_NAMESPACE::cos; -+using _STLP_COMPLEX_NAMESPACE::cosh; -+using _STLP_COMPLEX_NAMESPACE::exp; -+using _STLP_COMPLEX_NAMESPACE::log; -+using _STLP_COMPLEX_NAMESPACE::log10; -+using _STLP_COMPLEX_NAMESPACE::pow; -+using _STLP_COMPLEX_NAMESPACE::sin; -+using _STLP_COMPLEX_NAMESPACE::sinh; -+using _STLP_COMPLEX_NAMESPACE::sqrt; -+using _STLP_COMPLEX_NAMESPACE::tan; -+using _STLP_COMPLEX_NAMESPACE::tanh; - --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - # endif /* USE_OWN_NAMESPACE */ - - // Local Variables: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/export tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/export ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/export Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/export Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,13 @@ -+./complex -+./export -+./fstream -+./iomanip -+./ios -+./iosfwd -+./iostream -+./istream -+./locale -+./ostream -+./sstream -+./streambuf -+./strstream -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/fstream tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/fstream ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/fstream Sat Feb 24 10:45:22 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/fstream Sun Aug 11 18:59:25 2002 -@@ -13,13 +13,13 @@ - * - */ - --# if defined (__STL_USE_NEW_IOSTREAMS) --# include __STL_NATIVE_HEADER(fstream) --# if defined (__STL_USE_OWN_NAMESPACE) --__STL_BEGIN_NAMESPACE -+# if defined (_STLP_USE_NEW_IOSTREAMS) -+# include _STLP_NATIVE_HEADER(fstream) -+# if defined (_STLP_USE_OWN_NAMESPACE) -+_STLP_BEGIN_NAMESPACE - # include --__STL_END_NAMESPACE --# endif /* __STL_OWN_NAMESPACE */ -+_STLP_END_NAMESPACE -+# endif /* _STLP_OWN_NAMESPACE */ - # else - # include --# endif /* __STL_USE_NEW_IOSTREAMS */ -+# endif /* _STLP_USE_NEW_IOSTREAMS */ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/h/fstream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/h/fstream.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/h/fstream.h Sat Feb 24 10:45:23 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/h/fstream.h Sun Aug 11 18:59:25 2002 -@@ -1,7 +1,7 @@ --# include __STL_NATIVE_OLD_STREAMS_HEADER(fstream.h) --# if defined (__STL_USE_NAMESPACES) && ! defined (__STL_BROKEN_USING_DIRECTIVE) --__STL_BEGIN_NAMESPACE -+# include _STLP_NATIVE_OLD_STREAMS_HEADER(fstream.h) -+# if defined (_STLP_USE_NAMESPACES) && ! defined (_STLP_BROKEN_USING_DIRECTIVE) -+_STLP_BEGIN_NAMESPACE - # include --__STL_END_NAMESPACE --# endif /* __STL_OWN_NAMESPACE */ -+_STLP_END_NAMESPACE -+# endif /* _STLP_OWN_NAMESPACE */ - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/h/iostream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/h/iostream.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/h/iostream.h Sat Feb 24 10:45:23 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/h/iostream.h Sun Aug 11 18:59:25 2002 -@@ -1,7 +1,11 @@ --# include __STL_NATIVE_OLD_STREAMS_HEADER(iostream.h) -+// # ifndef _STLP_NO_WCHAR_T -+// # include -+// # endif - --# if defined (__STL_USE_OWN_NAMESPACE) --__STL_BEGIN_NAMESPACE -+# include _STLP_NATIVE_OLD_STREAMS_HEADER(iostream.h) -+ -+# if defined (_STLP_USE_OWN_NAMESPACE) -+_STLP_BEGIN_NAMESPACE - # include --__STL_END_NAMESPACE --# endif /* __STL_USE_OWN_NAMESPACE */ -+_STLP_END_NAMESPACE -+# endif /* _STLP_USE_OWN_NAMESPACE */ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/h/streambuf.h tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/h/streambuf.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/h/streambuf.h Sat Feb 24 10:45:23 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/h/streambuf.h Sun Aug 11 18:59:25 2002 -@@ -1,9 +1,9 @@ - //*TY 02/11/2000 - added missing header file - --# include __STL_NATIVE_OLD_STREAMS_HEADER(iostream.h) -+# include _STLP_NATIVE_OLD_STREAMS_HEADER(iostream.h) - --# if defined (__STL_USE_OWN_NAMESPACE) --__STL_BEGIN_NAMESPACE -+# if defined (_STLP_USE_OWN_NAMESPACE) -+_STLP_BEGIN_NAMESPACE - # include --__STL_END_NAMESPACE --# endif /* __STL_USE_OWN_NAMESPACE */ -+_STLP_END_NAMESPACE -+# endif /* _STLP_USE_OWN_NAMESPACE */ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/h/strstream.h tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/h/strstream.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/h/strstream.h Sat Feb 24 10:45:23 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/h/strstream.h Sun Aug 11 18:59:25 2002 -@@ -13,17 +13,17 @@ - * - */ - --# if defined (_MSC_VER) && (_MSC_VER < 1200) --# include __STL_NATIVE_OLD_STREAMS_HEADER(strstrea.h) -+# if defined (_MSC_VER) && (_MSC_VER <= 1200) -+# include _STLP_NATIVE_OLD_STREAMS_HEADER(strstrea.h) - # else --# include __STL_NATIVE_OLD_STREAMS_HEADER(strstream.h) -+# include _STLP_NATIVE_OLD_STREAMS_HEADER(strstream.h) - # endif - --# ifdef __STL_USE_OWN_NAMESPACE --__STL_BEGIN_NAMESPACE -+# ifdef _STLP_USE_OWN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - # include --__STL_END_NAMESPACE --#endif /* __STL_OWN_NAMESPACE */ -+_STLP_END_NAMESPACE -+#endif /* _STLP_OWN_NAMESPACE */ - - - // Local Variables: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/iomanip tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/iomanip ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/iomanip Sat Feb 24 10:45:23 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/iomanip Sun Aug 11 18:59:25 2002 -@@ -13,27 +13,27 @@ - * - */ - --# if defined (__STL_USE_NEW_IOSTREAMS) -+# if defined (_STLP_USE_NEW_IOSTREAMS) - --# include __STL_NATIVE_HEADER(iomanip) -+# include _STLP_NATIVE_HEADER(iomanip) - --# ifdef __STL_USE_OWN_NAMESPACE --__STL_BEGIN_NAMESPACE -+# ifdef _STLP_USE_OWN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - # include --__STL_END_NAMESPACE --# endif /* __STL_OWN_NAMESPACE */ -+_STLP_END_NAMESPACE -+# endif /* _STLP_OWN_NAMESPACE */ - - # else - --# include __STL_NATIVE_HEADER(iomanip.h) -+# include _STLP_NATIVE_OLD_STREAMS_HEADER(iomanip.h) - --# if defined (__STL_USE_NAMESPACES) && ! defined (__STL_BROKEN_USING_DIRECTIVE) --__STL_BEGIN_NAMESPACE -+# if defined (_STLP_USE_NAMESPACES) && ! defined (_STLP_BROKEN_USING_DIRECTIVE) -+_STLP_BEGIN_NAMESPACE - # include --__STL_END_NAMESPACE --# endif /* __STL_USE_OWN_NAMESPACE */ -+_STLP_END_NAMESPACE -+# endif /* _STLP_USE_OWN_NAMESPACE */ - --# endif /* __STL_USE_NEW_IOSTREAMS */ -+# endif /* _STLP_USE_NEW_IOSTREAMS */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/ios tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/ios ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/ios Sat Feb 24 10:45:23 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/ios Sun Aug 11 18:59:25 2002 -@@ -13,13 +13,13 @@ - * - */ - --# if defined (__STL_USE_NEW_IOSTREAMS) --# include __STL_NATIVE_HEADER(ios) --# ifdef __STL_USE_OWN_NAMESPACE --__STL_BEGIN_NAMESPACE -+# if defined (_STLP_USE_NEW_IOSTREAMS) -+# include _STLP_NATIVE_HEADER(ios) -+# ifdef _STLP_USE_OWN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - # include --__STL_END_NAMESPACE --#endif /* __STL_OWN_NAMESPACE */ -+_STLP_END_NAMESPACE -+#endif /* _STLP_OWN_NAMESPACE */ - # else - # include - # endif /* USE_NEW_IOSTREAMS */ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/iosfwd tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/iosfwd ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/iosfwd Sat Feb 24 10:45:23 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/iosfwd Sun Aug 11 18:59:25 2002 -@@ -13,17 +13,17 @@ - * - */ - --# ifndef __STLPORT_CSTDDEF -+# ifndef _STLP_CSTDDEF - # include /* wchar_t */ - # endif - --# ifndef __STLPORT_CSTRING -+# ifndef _STLP_CSTRING - # include - # endif - --# if defined (__STL_USE_NEW_IOSTREAMS) -+# if defined (_STLP_USE_NEW_IOSTREAMS) - --# include __STL_NATIVE_HEADER(iosfwd) -+# include _STLP_NATIVE_HEADER(iosfwd) - - # if defined ( __MWERKS__ ) || defined (__KCC) - // MSL leaves a few important things out of . -@@ -43,7 +43,7 @@ - class ostreambuf_iterator; - # endif /* __MWERKS__ */ - --# if defined (__STL_NO_NATIVE_WIDE_STREAMS) -+# if defined (_STLP_NO_NATIVE_WIDE_STREAMS) - class streampos; - # endif - -@@ -56,30 +56,30 @@ - - # else - --__STL_BEGIN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - template class allocator; --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - - // use old-style iostreams - # include - # include - --#ifndef __SGI_STL_CHAR_TRAITS_H -+#ifndef _STLP_CHAR_TRAITS_H - // that defines char_traits or imports std::char_traits - # include - #endif - --# endif /* __STL_USE_NEW_IOSTREAMS */ -+# endif /* _STLP_USE_NEW_IOSTREAMS */ - --# ifdef __STL_USE_ABBREVS -+# ifdef _STLP_USE_ABBREVS - # define istream_iterator _iS__It - # define ostream_iterator _oS__It - # endif - --# if defined (__STL_USE_OWN_NAMESPACE) --__STL_BEGIN_NAMESPACE -+# if defined (_STLP_USE_OWN_NAMESPACE) -+_STLP_BEGIN_NAMESPACE - # include --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - # endif - - // Local Variables: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/iostream tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/iostream ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/iostream Sat Feb 24 10:45:23 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/iostream Sun Aug 11 18:59:25 2002 -@@ -13,22 +13,22 @@ - * - */ - --# if defined (__STL_MSVC) && (__STL_MSVC < 1200) -+# if defined (_STLP_MSVC) && (_STLP_MSVC < 1200) - # include - // lower ifdef level - # include - # endif - --# if defined (__STL_USE_NEW_IOSTREAMS) --# include __STL_NATIVE_HEADER(iostream) --# if defined (__STL_USE_OWN_NAMESPACE) --__STL_BEGIN_NAMESPACE -+# if defined (_STLP_USE_NEW_IOSTREAMS) -+# include _STLP_NATIVE_HEADER(iostream) -+# if defined (_STLP_USE_OWN_NAMESPACE) -+_STLP_BEGIN_NAMESPACE - # include --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - # endif - # else - # include --# endif /* __STL_USE_NEW_STYLE_IOSTREAMS */ -+# endif /* _STLP_USE_NEW_STYLE_IOSTREAMS */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/istream tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/istream ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/istream Sat Feb 24 10:45:23 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/istream Sun Aug 11 18:59:25 2002 -@@ -13,33 +13,33 @@ - * - */ - --# if defined (__STL_MSVC) && (__STL_MSVC < 1200) -+# if defined (_STLP_MSVC) && (_STLP_MSVC < 1200) - // # include - // lower ifdef level - # include - # endif - --# if defined (__STL_USE_NEW_IOSTREAMS) -+# if defined (_STLP_USE_NEW_IOSTREAMS) - --# include __STL_NATIVE_HEADER(istream) -+# include _STLP_NATIVE_HEADER(istream) - --# if defined (__STL_USE_OWN_NAMESPACE) --__STL_BEGIN_NAMESPACE -+# if defined (_STLP_USE_OWN_NAMESPACE) -+_STLP_BEGIN_NAMESPACE - # include --__STL_END_NAMESPACE --# endif /* __STL_OWN_NAMESPACE */ -+_STLP_END_NAMESPACE -+# endif /* _STLP_OWN_NAMESPACE */ - - # else - --# include __STL_NATIVE_OLD_STREAMS_HEADER(iostream.h) --# if defined (__STL_USE_NAMESPACES) --__STL_BEGIN_NAMESPACE -+# include _STLP_NATIVE_OLD_STREAMS_HEADER(iostream.h) -+# if defined (_STLP_USE_NAMESPACES) -+_STLP_BEGIN_NAMESPACE - using ::istream; - // using ::ws; --__STL_END_NAMESPACE -+_STLP_END_NAMESPACE - # endif /* NAMESPACES */ - --# endif /* if defined (__STL_USE_NEW_IOSTREAMS) */ -+# endif /* if defined (_STLP_USE_NEW_IOSTREAMS) */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/locale tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/locale ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/locale Sat Feb 24 10:45:23 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/locale Sun Aug 11 18:59:25 2002 -@@ -13,17 +13,17 @@ - * - */ - --# ifndef __STLPORT_CSTDLIB -+# ifndef _STLP_CSTDLIB - # include - # endif - --# include __STL_NATIVE_HEADER(locale) -+# include _STLP_NATIVE_HEADER(locale) - --# ifdef __STL_USE_OWN_NAMESPACE --__STL_BEGIN_NAMESPACE -+# ifdef _STLP_USE_OWN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - # include --__STL_END_NAMESPACE --#endif /* __STL_OWN_NAMESPACE */ -+_STLP_END_NAMESPACE -+#endif /* _STLP_OWN_NAMESPACE */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/ostream tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/ostream ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/ostream Sat Feb 24 10:45:23 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/ostream Sun Aug 11 18:59:25 2002 -@@ -13,32 +13,32 @@ - * - */ - --# if defined (__STL_MSVC) && (__STL_MSVC < 1200) -+# if defined (_STLP_MSVC) && (_STLP_MSVC < 1200) - // # include - // lower ifdef level - # include - # endif - --# if defined (__STL_USE_NEW_IOSTREAMS) || defined (__IN_STLPORT_OSTREAM) -+# if defined (_STLP_USE_NEW_IOSTREAMS) || defined (__IN_STLPORT_OSTREAM) - --# include __STL_NATIVE_HEADER(ostream) -+# include _STLP_NATIVE_HEADER(ostream) - --# if defined (__STL_USE_OWN_NAMESPACE) --__STL_BEGIN_NAMESPACE -+# if defined (_STLP_USE_OWN_NAMESPACE) -+_STLP_BEGIN_NAMESPACE - # include --__STL_END_NAMESPACE --# endif /* __STL_OWN_NAMESPACE */ -+_STLP_END_NAMESPACE -+# endif /* _STLP_OWN_NAMESPACE */ - - # else - --# include __STL_NATIVE_OLD_STREAMS_HEADER(iostream.h) -+# include _STLP_NATIVE_OLD_STREAMS_HEADER(iostream.h) - --# if defined (__STL_USE_NAMESPACES) && ! defined (__STL_BROKEN_USING_DIRECTIVE) --__STL_BEGIN_NAMESPACE -+# if defined (_STLP_USE_NAMESPACES) && ! defined (_STLP_BROKEN_USING_DIRECTIVE) -+_STLP_BEGIN_NAMESPACE - # include --__STL_END_NAMESPACE --# endif /* __STL_NAMESPACE */ --# endif /* if defined (__STL_USE_NEW_IOSTREAMS) */ -+_STLP_END_NAMESPACE -+# endif /* _STLP_NAMESPACE */ -+# endif /* if defined (_STLP_USE_NEW_IOSTREAMS) */ - // Local Variables: - // mode:C++ - // End: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/sstream tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/sstream ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/sstream Sat Feb 24 10:45:23 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/sstream Sun Aug 11 18:59:25 2002 -@@ -13,12 +13,12 @@ - * - */ - --# include __STL_NATIVE_HEADER(sstream) --# ifdef __STL_USE_OWN_NAMESPACE --__STL_BEGIN_NAMESPACE -+# include _STLP_NATIVE_HEADER(sstream) -+# ifdef _STLP_USE_OWN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - # include --__STL_END_NAMESPACE --#endif /* __STL_OWN_NAMESPACE */ -+_STLP_END_NAMESPACE -+#endif /* _STLP_OWN_NAMESPACE */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/streambuf tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/streambuf ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/streambuf Sat Feb 24 10:45:23 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/streambuf Sun Aug 11 18:59:25 2002 -@@ -13,17 +13,17 @@ - * - */ - --# if defined (__STL_USE_NEW_IOSTREAMS) --# include __STL_NATIVE_HEADER(streambuf) -+# if defined (_STLP_USE_NEW_IOSTREAMS) -+# include _STLP_NATIVE_HEADER(streambuf) - # else - # include - # endif - --# if defined (__STL_USE_OWN_NAMESPACE) && defined (__STL_USE_NEW_IOSTREAMS) --__STL_BEGIN_NAMESPACE -+# if defined (_STLP_USE_OWN_NAMESPACE) && defined (_STLP_USE_NEW_IOSTREAMS) -+_STLP_BEGIN_NAMESPACE - # include --__STL_END_NAMESPACE --# endif /* __STL_OWN_NAMESPACE */ -+_STLP_END_NAMESPACE -+# endif /* _STLP_OWN_NAMESPACE */ - - // Local Variables: - // mode:C++ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/strstream tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/strstream ---- tripwire-2.3.1-2.old/src/STLport-4.0/stlport/wrap_std/strstream Sat Feb 24 10:45:23 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/stlport/wrap_std/strstream Sun Aug 11 18:59:25 2002 -@@ -13,13 +13,13 @@ - * - */ - --# include __STL_NATIVE_HEADER(strstream) -+# include _STLP_NATIVE_HEADER(strstream) - --# ifdef __STL_USE_OWN_NAMESPACE --__STL_BEGIN_NAMESPACE -+# ifdef _STLP_USE_OWN_NAMESPACE -+_STLP_BEGIN_NAMESPACE - # include --__STL_END_NAMESPACE --#endif /* __STL_OWN_NAMESPACE */ -+_STLP_END_NAMESPACE -+#endif /* _STLP_OWN_NAMESPACE */ - - - // Local Variables: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/Prefix.h tripwire-2.3.1-2/src/STLport-4.0/test/eh/Prefix.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/Prefix.h Sat Feb 24 10:45:25 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/Prefix.h Sun Aug 11 18:59:25 2002 -@@ -23,14 +23,19 @@ - // considerably if your malloc is slow. - #define TESTCLASS_DEEP_DATA 1 - -+# ifndef NO_FAST_ALLOCATOR -+// # define NO_FAST_ALLOCATOR -+# endif -+ - // Define this to use the SGI STL. Undefine it to test a different installation - #ifndef EH_NO_SGI_STL - # define EH_USE_SGI_STL 1 - #endif - -+ - #if EH_USE_SGI_STL - --#define EH_ASSERT __STL_ASSERT -+#define EH_ASSERT _STLP_ASSERT - - //========================================================================= - // SGI STL-specific #defines -@@ -38,36 +43,44 @@ - // STL. They have no effect when testing other STL implementations. - //========================================================================= - -+// # define _STLP_USE_RAW_SGI_ALLOCATORS -+# ifndef _STLP_USE_NEWALLOC -+# define _STLP_USE_NEWALLOC -+# endif -+# if !defined (_STLP_NO_CUSTOM_IO) && ! defined (__BORLANDC__) -+# define _STLP_NO_CUSTOM_IO -+# endif -+ - // Just include something to get whatever configuration header we're using. - # include - --# ifndef __STL_CALL --# define __STL_CALL -+# ifndef _STLP_CALL -+# define _STLP_CALL - # endif - --# if defined(__STL_USE_NAMESPACES) --# define EH_USE_NAMESPACES __STL_USE_NAMESPACES -+# if defined(_STLP_USE_NAMESPACES) -+# define EH_USE_NAMESPACES _STLP_USE_NAMESPACES - # endif - --# define EH_BEGIN_NAMESPACE __STL_BEGIN_NAMESPACE --# define EH_END_NAMESPACE __STL_END_NAMESPACE -+# define EH_BEGIN_NAMESPACE _STLP_BEGIN_NAMESPACE -+# define EH_END_NAMESPACE _STLP_END_NAMESPACE - - # define EH_NEW_HEADERS 1 - --# if defined (__STL_USE_NEW_IOSTREAMS) -+# if defined (_STLP_USE_NEW_IOSTREAMS) - # define EH_NEW_IOSTREAMS 1 - # endif - --# if !defined (__STL_USE_EXCEPTIONS) -+# if !defined (_STLP_USE_EXCEPTIONS) - # define EH_NO_EXCEPTIONS - # endif - --# if defined (__STL_TEMPLATE_PARAM_SUBTYPE_BUG) --# define EH_TEMPLATE_PARAM_SUBTYPE_BUG __STL_TEMPLATE_PARAM_SUBTYPE_BUG -+# if defined (_STLP_TEMPLATE_PARAM_SUBTYPE_BUG) -+# define EH_TEMPLATE_PARAM_SUBTYPE_BUG _STLP_TEMPLATE_PARAM_SUBTYPE_BUG - # endif - --# if defined(__STL_MULTI_CONST_TEMPLATE_ARG_BUG) --# define EH_MULTI_CONST_TEMPLATE_ARG_BUG __STL_MULTI_CONST_TEMPLATE_ARG_BUG -+# if defined(_STLP_MULTI_CONST_TEMPLATE_ARG_BUG) -+# define EH_MULTI_CONST_TEMPLATE_ARG_BUG _STLP_MULTI_CONST_TEMPLATE_ARG_BUG - # endif - - # if defined (STLPORT) -@@ -92,7 +105,7 @@ - # define EH_SLIST_IMPLEMENTED 1 - # define EH_SELECT1ST_HINT __select1st_hint - // fbp : DEC cxx is unable to compile it for some reason --# if !( defined (__DECCXX) || (defined (__GNUC__) && (__GNUC_MINOR__ < 8))) -+# if !( defined (__DECCXX) || defined (__amigaos__) || (defined (__GNUC__) && (__GNUC_MINOR__ < 8))) - # define EH_ROPE_IMPLEMENTED 1 - # endif - # define EH_STRING_IMPLEMENTED 1 -@@ -100,17 +113,74 @@ - //# define EH_VALARRAY_IMPLEMENTED 1 - we have no tests yet for valarray - - # define stl_destroy EH_STD::destroy -- - # include - --# define eh_allocator(T) EH_STD::__allocator > -+template -+class _STLP_CLASS_DECLSPEC EH_allocator; -+ -+template -+class _STLP_CLASS_DECLSPEC EH_allocator { -+public: -+ -+ typedef _Tp value_type; -+ typedef value_type * pointer; -+ typedef const _Tp* const_pointer; -+ typedef _Tp& reference; -+ typedef const _Tp& const_reference; -+ typedef size_t size_type; -+ typedef ptrdiff_t difference_type; -+# if defined (_STLP_MEMBER_TEMPLATE_CLASSES) -+ template struct rebind { -+ typedef EH_allocator<_Tp1> other; -+ }; -+# endif -+ EH_allocator() _STLP_NOTHROW {} -+ # if defined (_STLP_MEMBER_TEMPLATES) -+ template EH_allocator(const EH_allocator<_Tp1>&) _STLP_NOTHROW {} -+ # endif -+ EH_allocator(const EH_allocator<_Tp>&) _STLP_NOTHROW {} -+ ~EH_allocator() _STLP_NOTHROW {} -+ pointer address(reference __x) { return &__x; } -+ const_pointer address(const_reference __x) const { return &__x; } -+ // __n is permitted to be 0. The C++ standard says nothing about what the return value is when __n == 0. -+ _Tp* allocate(size_type __n, const void* = 0) const { -+ return __n != 0 ? __REINTERPRET_CAST(value_type*,EH_STD::__new_alloc::allocate(__n * sizeof(value_type))) : 0; -+ } -+ // __p is permitted to be a null pointer, only if n==0. -+ void deallocate(pointer __p, size_type __n) const { -+ _STLP_ASSERT( (__p == 0) == (__n == 0) ) -+ if (__p != 0) EH_STD::__new_alloc::deallocate((void*)__p, __n * sizeof(value_type)); -+ } -+ // backwards compatibility -+ void deallocate(pointer __p) const { if (__p != 0) EH_STD::__new_alloc::deallocate((void*)__p, sizeof(value_type)); } -+ size_type max_size() const _STLP_NOTHROW { return size_t(-1) / sizeof(value_type); } -+ void construct(pointer __p, const _Tp& __val) const { _STLP_STD::construct(__p, __val); } -+ void destroy(pointer __p) const { _STLP_STD::destroy(__p); } -+ -+}; -+ -+template inline bool _STLP_CALL operator==(const EH_allocator<_T1>&, const EH_allocator<_T1>&) { return true; } -+template inline bool _STLP_CALL operator!=(const EH_allocator<_T1>&, const EH_allocator<_T1>&) { return false; } -+ -+_STLP_BEGIN_NAMESPACE -+// If custom allocators are being used without member template classes support : -+// user (on purpose) is forced to define rebind/get operations !!! -+template -+inline EH_allocator<_Tp2>& _STLP_CALL -+__stl_alloc_rebind(EH_allocator<_Tp1>& __a, const _Tp2*) { return (EH_allocator<_Tp2>&)(__a); } -+template -+inline EH_allocator<_Tp2> _STLP_CALL -+__stl_alloc_create(const EH_allocator<_Tp1>&, const _Tp2*) { return EH_allocator<_Tp2>(); } -+_STLP_END_NAMESPACE -+ -+# define eh_allocator(T) ::EH_allocator - - # define EH_BIT_VECTOR_IMPLEMENTED - --# if defined(__STL_CLASS_PARTIAL_SPECIALIZATION) && !defined(__STL_NO_BOOL) -+# if defined(_STLP_CLASS_PARTIAL_SPECIALIZATION) && !defined(_STLP_NO_BOOL) - # define EH_BIT_VECTOR EH_STD::vector - # else --# ifdef __STL_NO_BOOL -+# ifdef _STLP_NO_BOOL - # undef EH_BIT_VECTOR_IMPLEMENTED - # else - # define EH_BIT_VECTOR EH_STD::__vector__ -@@ -236,7 +306,7 @@ - # define EH_USE_STD - #endif - --#if defined (EH_USE_NAMESPACES) && !defined(__STL_VENDOR_GLOBAL_CSTD) -+#if defined (EH_USE_NAMESPACES) && !defined(_STLP_VENDOR_GLOBAL_CSTD) - # define USING_CSTD_NAME(name) using EH_STD :: name; - #else - # define USING_CSTD_NAME(name) -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/TestClass.h tripwire-2.3.1-2/src/STLport-4.0/test/eh/TestClass.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/TestClass.h Sat Feb 24 10:45:25 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/TestClass.h Sun Aug 11 18:59:25 2002 -@@ -49,10 +49,14 @@ - - inline TestClass operator!() const; - -- inline bool operator==( const TestClass& rhs ) const -- { -- return value() == rhs.value(); -- } -+ bool operator==( const TestClass& rhs ) const -+ { -+ return value() == rhs.value(); -+ } -+ -+ bool operator<( const TestClass& rhs ) const { -+ return value() < rhs.value(); -+ } - - protected: - static inline unsigned int get_random(unsigned range = UINT_MAX); -@@ -138,10 +142,6 @@ - return TestClass( value()+1 ); - } - --inline bool operator<( const TestClass& lhs, const TestClass& rhs ) { -- return lhs.value() < rhs.value(); --} -- - inline bool operator>( const TestClass& lhs, const TestClass& rhs ) { - return rhs < lhs; - } -@@ -153,13 +153,6 @@ - inline bool operator<=( const TestClass& lhs, const TestClass& rhs ) { - return !(rhs < lhs); - } -- --# if 0 --inline bool operator==( const TestClass& lhs, const TestClass& rhs ) --{ -- return lhs.value() == rhs.value(); --} --# endif - - inline bool operator != ( const TestClass& lhs, const TestClass& rhs ) { - return lhs.value() != rhs.value(); -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/bcb.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/bcb.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/bcb.mak Sat Feb 24 10:45:23 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/bcb.mak Sun Aug 11 18:59:25 2002 -@@ -41,22 +41,23 @@ - PATHASM = .; - PATHRC = .; - --# USERDEFINES = __STL_NO_SGI_IOSTREAMS -+# USERDEFINES = _STLP_NO_OWN_IOSTREAMS - - USERDEFINES = _DEBUG - - SYSDEFINES = _RTLDLL;NO_STRICT;USEPACKAGES --SYSDEFINES = NO_STRICT;USEPACKAGES -+# SYSDEFINES = NO_STRICT;USEPACKAGES - # --------------------------------------------------------------------------- - CFLAG1 = -w- -jb -j1 -I.;..\..\stlport;$(BCB)\include; -Od -v -N -x -xp -tWC -D$(SYSDEFINES);$(USERDEFINES) - --LDFLAGS = -L..\..\lib -+LDFLAGS = -L..\..\lib;$(BCB)\..\lib cw32i.lib stlp.4.5.lib - - .autodepend - # --------------------------------------------------------------------------- - - all : $(PROJECT) -- eh_test.exe -s 100 -+ cd ..\..\lib -+ ..\test\eh\eh_test.exe -s 100 - - $(PROJECT) : $(OBJFILES) - $(BCC32) -e$(PROJECT) $(CFLAG1) $(LDFLAGS) $(OBJFILES) -@@ -66,8 +67,12 @@ - - # --------------------------------------------------------------------------- - .cpp.obj: -- $(BCB)\BIN\$(BCC32) $(CFLAG1) -n$(@D) -c $< -+ $(BCC32) $(CFLAG1) -n$(@D) -c $< -+ -+.cpp.exe: -+ $(BCC32) $(CFLAG1) $(LDFLAGS) -n$(@D) $< - - .cpp.i: -- $(BCB)\BIN\$(CPP32) $(CFLAG1) -n. -Sr -Ss -Sd {$< } -+ $(CPP32) $(CFLAG1) -n. -Sr -Ss -Sd {$< } - # --------------------------------------------------------------------------- -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/bug.cpp tripwire-2.3.1-2/src/STLport-4.0/test/eh/bug.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/bug.cpp Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/bug.cpp Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,39 @@ -+#include -+#include -+#include -+#include -+#include -+ -+struct compare -+{ -+ bool operator()(int* x, int* y) -+ { return *x < *y; } -+ -+}; -+ -+int main(int argc, char const* const argv[]) -+{ -+ std::size_t niters = argc < 2 ? 1000 : boost::lexical_cast(argv[1]); -+ -+ boost::timer t; -+ -+ std::vector v; -+ for (int n = 0; n < niters; ++n) -+ { -+ v.insert(v.begin() + v.size()/2, n); -+ } -+ -+ std::cout << "vector fill: " << t.elapsed() << std::endl; -+ -+ std::multiset m; -+ for (int n = 0; n < niters; ++n) -+ { -+ m.insert(&v[n]); -+ } -+ std::cout << "map fill 1: " << t.elapsed() << std::endl; -+ for (int n = 0; n < niters; ++n) -+ { -+ m.insert(&v[n]); -+ } -+ std::cout << "map fill 2: " << t.elapsed() << std::endl; -+} -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/como.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/como.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/como.mak Sat Feb 24 10:45:23 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/como.mak Sun Aug 11 18:59:25 2002 -@@ -29,7 +29,7 @@ - CXX = $(CC) - - # __COMO__ appears not to be defined automatically ;( --CXXFLAGS = -D__COMO__ -D_MSC_VER=1200 --exceptions --microsoft -D__STL_DEBUG -I${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -+CXXFLAGS = -D__COMO__ -D_MSC_VER=1200 --exceptions --microsoft -D_STLP_DEBUG -I${STL_INCL} -I. ${CXX_EXTRA_FLAGS} - - LIBS = -lm - LIBSTDCXX = -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/cygwin.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/cygwin.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/cygwin.mak Sat Feb 24 10:45:23 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/cygwin.mak Sun Aug 11 18:59:25 2002 -@@ -40,13 +40,13 @@ - # also, test_slist won't compile with -O3/-O2 when targeting PPC. It fails - # in the assembler with 'invalid relocation type' - CXXFLAGS = -Wall -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW --D_CXXFLAGS = -Wall -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -D__STL_DEBUG -D__STL_USE_STATIC_LIB --NOSGI_CXXFLAGS = -Wall -g -O2 ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -D__STL_NO_SGI_IOSTREAMS -D__STL_DEBUG_UNINITIALIZED -DEH_VECTOR_OPERATOR_NEW -+D_CXXFLAGS = -Wall -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -D_STLP_DEBUG -D_STLP_USE_STATIC_LIB -+NOSGI_CXXFLAGS = -Wall -g -O2 ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -D_STLP_NO_OWN_IOSTREAMS -D_STLP_DEBUG_UNINITIALIZED -DEH_VECTOR_OPERATOR_NEW - - check: $(TEST) - - LIBS = -lm --D_LIBSTLPORT = -L../../lib -lstlport_cygwin_debug -+D_LIBSTLPORT = -L../../lib -lstlport_cygwin_stldebug - LIBSTLPORT = -L../../lib -lstlport_cygwin - - all: $(TEST_EXE) $(D_TEST_EXE) $(NOSGI_TEST_EXE) -@@ -54,14 +54,24 @@ - check_nosgi: $(NOSGI_TEST) - check_d: $(D_TEST) - -+OBJDIR=obj -+D_OBJDIR=d_obj -+NOSGI_OBJDIR=nosgi_obj -+ -+$(OBJDIR): -+ mkdir obj -+$(D_OBJDIR): -+ mkdir d_obj -+$(NOSGI_OBJDIR): -+ mkdir nosgi_obj - --$(TEST_EXE) : $(OBJECTS) -+$(TEST_EXE) : $(OBJDIR) $(OBJECTS) - $(CXX) $(CXXFLAGS) $(OBJECTS) $(LIBSTLPORT) $(LIBS) -o $(TEST_EXE) - --$(D_TEST_EXE) : $(D_OBJECTS) -+$(D_TEST_EXE) : $(D_OBJDIR) $(D_OBJECTS) - $(CXX) $(D_CXXFLAGS) $(D_OBJECTS) $(D_LIBSTLPORT) $(LIBS) -o $(D_TEST_EXE) - --$(NOSGI_TEST_EXE) : $(NOSGI_OBJECTS) -+$(NOSGI_TEST_EXE) : $(NOSGI_OBJDIR) $(NOSGI_OBJECTS) - $(CXX) $(NOSGI_CXXFLAGS) $(NOSGI_OBJECTS) $(LIBS) -o $(NOSGI_TEST_EXE) - - -@@ -98,8 +108,8 @@ - $(CXX) $(CXXFLAGS) $< -E -H > $@ - - %.out: %.cpp -- $(CXX) $(CXXFLAGS) $< -c -USINGLE -DMAIN -g -o $*.o -- $(CXX) $(CXXFLAGS) $*.o $(LIBS) -o $* -+ $(CXX) $(CXXFLAGS) $< -c -USINGLE -DMAIN -g -D_STLP_DEBUG -D_REENTRANT -o $*.o -+ $(CXX) $(CXXFLAGS) $*.o $(D_LIBSTLPORT) $(LIBS) -o $* - ./$* > $@ - -rm -f $* - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/deccxx.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/deccxx.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/deccxx.mak Sat Feb 24 10:45:23 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/deccxx.mak Sun Aug 11 18:59:25 2002 -@@ -2,7 +2,8 @@ - # Generated automatically from Makefile.in by configure. - # This requires GNU make. - --# SHELL=/bin/sh -+SHELL=/bin/sh -+ - # srcdir = . - # VPATH = . - -@@ -39,10 +40,10 @@ - # CXXFLAGS = ${STL_INCL} -std strict_ansi_errors -DEH_VECTOR_OPERATOR_NEW -DEH_DELETE_HAS_THROW_SPEC - - # This is to test with native STL --# CXXFLAGS = +w2 -xildoff -D__STL_USE_NEWALLOC -DEH_NO_SGI_STL -DEH_NEW_HEADERS -DEH_VECTOR_OPERATOR_NEW -DEH_DELETE_HAS_THROW_SPEC -+# CXXFLAGS = +w2 -xildoff -D_STLP_USE_NEWALLOC -DEH_NO_SGI_STL -DEH_NEW_HEADERS -DEH_VECTOR_OPERATOR_NEW -DEH_DELETE_HAS_THROW_SPEC - - --LIBS = -lm -+LIBS = -L../../lib -lstlport_dec -lm - LIBSTDCXX = - - .SUFFIXES: .cpp .i .o .out .res -@@ -51,7 +52,7 @@ - - $(TEST) : $(OBJECTS) - $(CXX) $(CXXFLAGS) $(OBJECTS) $(LIBS) -o $(TEST_EXE) -- $(TEST_EXE) -+ LD_LIBRARY_PATH="../../lib:$(LD_LIBRARY_PATH)" ./$(TEST_EXE) -s 100 - - .cpp.o: - $(CXX) $(CXXFLAGS) $< -c -o $@ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/djgpp.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/djgpp.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/djgpp.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/djgpp.mak Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,121 @@ -+# ;;; -*- Mode:makefile;-*- -+# Generated automatically from Makefile.in by configure. -+# This requires GNU make. -+ -+srcdir = . -+VPATH = . -+ -+# point this to proper location -+STL_INCL=-I../../stlport -+ -+AUX_LIST=TestClass.cpp main.cpp nc_alloc.cpp random_number.cpp -+ -+TEST_LIST=test_algo.cpp \ -+test_algobase.cpp test_list.cpp test_slist.cpp \ -+test_bit_vector.cpp test_vector.cpp \ -+test_deque.cpp test_set.cpp test_map.cpp \ -+test_hash_map.cpp test_hash_set.cpp test_rope.cpp \ -+test_string.cpp test_bitset.cpp test_valarray.cpp -+ -+LIST=${AUX_LIST} ${TEST_LIST} -+ -+OBJECTS = $(LIST:%.cpp=obj/%.o) $(STAT_MODULE) -+D_OBJECTS = $(LIST:%.cpp=d_obj/%.o) $(STAT_MODULE) -+NOSGI_OBJECTS = $(LIST:%.cpp=nosgi_obj/%.o) $(STAT_MODULE) -+ -+EXECS = $(LIST:%.cpp=%) -+TESTS = $(LIST:%.cpp=%.out) -+TEST_EXE = ./eh_test -+D_TEST_EXE = ./eh_test_d -+NOSGI_TEST_EXE = ./eh_test_nosgi -+ -+TEST = ./eh_test.out -+D_TEST = ./eh_test_d.out -+NOSGI_TEST = ./eh_test_nosgi.out -+ -+CC = gcc -+CXX = $(CC) -+ -+# dwa 12/22/99 -- had to turn off -ansi flag so we could use SGI IOSTREAMS -+# also, test_slist won't compile with -O3/-O2 when targeting PPC. It fails -+# in the assembler with 'invalid relocation type' -+CXXFLAGS = -Wall -ftemplate-depth-32 -mbnu210 -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -D_STLP_NO_SGI_IOSTREAMS -+D_CXXFLAGS = -Wall -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -D_STLP_DEBUG -D_STLP_USE_STATIC_LIB -+NOSGI_CXXFLAGS = -Wall -g -O2 ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -D_STLP_NO_SGI_IOSTREAMS -D_STLP_DEBUG_UNINITIALIZED -DEH_VECTOR_OPERATOR_NEW -+ -+check: $(TEST) -+ -+LIBS = -lstdcxx -lm -+D_LIBSTLPORT = ../../lib/libstlport_djgpp_debug_static.a -+LIBSTLPORT = ../../lib/libstlport_djgpp_stldebug_static.a -+ -+all: $(TEST_EXE) $(D_TEST_EXE) $(NOSGI_TEST_EXE) -+ -+check_nosgi: $(NOSGI_TEST) -+check_d: $(D_TEST) -+ -+ -+OBJDIR=obj -+D_OBJDIR=d_obj -+NOSGI_OBJDIR=nosgi_obj -+ -+$(OBJDIR): -+ mkdir obj -+$(D_OBJDIR): -+ mkdir d_obj -+$(NOSGI_OBJDIR): -+ mkdir nosgi_obj -+ -+$(TEST_EXE) : $(OBJDIR) $(OBJECTS) -+ $(CXX) $(CXXFLAGS) $(OBJECTS) $(LIBSTLPORT) $(LIBS) -o $(TEST_EXE) -+ -+$(D_TEST_EXE) : $(D_OBJDIR) $(D_OBJECTS) -+ $(CXX) $(D_CXXFLAGS) $(D_OBJECTS) $(D_LIBSTLPORT) $(LIBS) -o $(D_TEST_EXE) -+ -+$(NOSGI_TEST_EXE) : $(NOSGI_OBJDIR) $(NOSGI_OBJECTS) -+ $(CXX) $(NOSGI_CXXFLAGS) $(NOSGI_OBJECTS) $(LIBS) -o $(NOSGI_TEST_EXE) -+ -+ -+$(TEST) : $(TEST_EXE) -+ $(TEST_EXE) -+ -+$(D_TEST) : $(D_TEST_EXE) -+ $(D_TEST_EXE) -+ -+$(NOSGI_TEST) : $(NOSGI_TEST_EXE) -+ $(NOSGI_TEST_EXE) -+ -+SUFFIXES: .cpp.o.exe.out.res -+ -+nosgi_obj/%.o : %.cpp -+ $(CXX) $(NOSGI_CXXFLAGS) $< -c -o $@ -+ -+d_obj/%.o : %.cpp -+ $(CXX) $(D_CXXFLAGS) $< -c -o $@ -+ -+obj/%.o : %.cpp -+ $(CXX) $(CXXFLAGS) $< -c -o $@ -+ -+nosgi_obj/%.i : %.cpp -+ $(CXX) $(NOSGI_CXXFLAGS) $< -E -H > $@ -+ -+d_obj/%.i : %.cpp -+ $(CXX) $(D_CXXFLAGS) $< -E -H > $@ -+ -+obj/%.i : %.cpp -+ $(CXX) $(CXXFLAGS) $< -E -H > $@ -+ -+%.out: %.cpp -+ $(CXX) $(CXXFLAGS) $< -c -USINGLE -DMAIN -g -o $*.o -+ $(CXX) $(CXXFLAGS) $*.o $(LIBS) -o $* -+ ./$* > $@ -+ -rm -f $* -+ -+%.s: %.cpp -+ $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ -+ -+%.E: %.cpp -+ $(CXX) $(CXXFLAGS) -E $< -o $@ -+ -+clean: -+ -rm -fr ${TEST_EXE} *.o */*.o *.rpo *.obj *.out core *~ Templates.DB -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/egcs.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/egcs.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/egcs.mak Sat Feb 24 10:45:23 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/egcs.mak Sun Aug 11 18:59:25 2002 -@@ -31,12 +31,12 @@ - # for egcs - REPO_FLAGS = - --# CXXFLAGS = -g -Wall -I${STL_INCL} -I. -D__STL_USE_NEWALLOC -D__STL_DEBUG_ALLOC ${REPO_FLAGS} -DEH_NEW_HEADERS -+# CXXFLAGS = -g -Wall -I${STL_INCL} -I. -D_STLP_USE_NEWALLOC -D_STLP_DEBUG_ALLOC ${REPO_FLAGS} -DEH_NEW_HEADERS - --# CXXFLAGS = -Wall -ansi -I${STL_INCL} -I. -D__STL_DEBUG ${REPO_FLAGS} ${CXX_EXTRA_FLAGS} --CXXFLAGS = -Wall -g -D__STL_USE_NEWALLOC -DNO_FAST_ALLOCATOR -ansi -I${STL_INCL} -I. ${REPO_FLAGS} ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -D__STL_DEBUG -D__STL_NO_DEBUG_EXCEPTIONS -+# CXXFLAGS = -Wall -ansi -I${STL_INCL} -I. -D_STLP_DEBUG ${REPO_FLAGS} ${CXX_EXTRA_FLAGS} -+CXXFLAGS = -Wall -g -D_STLP_USE_NEWALLOC -DNO_FAST_ALLOCATOR -ansi -I${STL_INCL} -I. ${REPO_FLAGS} ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -D_STLP_DEBUG -D_STLP_NO_DEBUG_EXCEPTIONS - --# CXXFLAGS = -Wall -I${STL_INCL} -I. -D__STL_USE_NEWALLOC ${REPO_FLAGS} ${CXX_EXTRA_FLAGS} -+# CXXFLAGS = -Wall -I${STL_INCL} -I. -D_STLP_USE_NEWALLOC ${REPO_FLAGS} ${CXX_EXTRA_FLAGS} - - - LIBS = -lm -@@ -72,4 +72,4 @@ - $(CXX) $(CXXFLAGS) -E $< -o $@ - - clean: -- -rm -fr ${TEST_EXE} *.o *.rpo *.obj *.out core *~ Templates.DB -+ -rm -fr ${TEST_EXE} $(OBJDIR) $(D_OBJDIR) $(NOSGI_OBJDIR) *.o *.rpo *.obj *.out core *~ Templates.DB -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/gcc-99r1.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/gcc-99r1.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/gcc-99r1.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/gcc-99r1.mak Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,109 @@ -+# ;;; -*- Mode:makefile;-*- -+# Generated automatically from Makefile.in by configure. -+# This requires GNU make. -+ -+srcdir = . -+VPATH = . -+ -+# point this to proper location -+STL_INCL=-I../../stlport -+ -+AUX_LIST=TestClass.cpp main.cpp nc_alloc.cpp random_number.cpp -+ -+TEST_LIST=test_algo.cpp \ -+test_algobase.cpp test_list.cpp test_slist.cpp \ -+test_bit_vector.cpp test_vector.cpp \ -+test_deque.cpp test_set.cpp test_map.cpp \ -+test_hash_map.cpp test_hash_set.cpp test_rope.cpp \ -+test_string.cpp test_bitset.cpp test_valarray.cpp -+ -+LIST=${AUX_LIST} ${TEST_LIST} -+ -+OBJECTS = $(LIST:%.cpp=obj/%.o) $(STAT_MODULE) -+D_OBJECTS = $(LIST:%.cpp=d_obj/%.o) $(STAT_MODULE) -+NOSGI_OBJECTS = $(LIST:%.cpp=nosgi_obj/%.o) $(STAT_MODULE) -+ -+EXECS = $(LIST:%.cpp=%) -+TESTS = $(LIST:%.cpp=%.out) -+TEST_EXE = ./eh_test -+D_TEST_EXE = ./eh_test_d -+NOSGI_TEST_EXE = ./eh_test_nosgi -+ -+TEST = ./eh_test.out -+D_TEST = ./eh_test_d.out -+NOSGI_TEST = ./eh_test_nosgi.out -+ -+CC =c++ -+CXX = $(CC) -+ -+# dwa 12/22/99 -- had to turn off -ansi flag so we could use SGI IOSTREAMS -+# also, test_slist won't compile with -O3/-O2 when targeting PPC. It fails -+# in the assembler with 'invalid relocation type' -+CXXFLAGS = -Wall -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -g -D_STLP_HAS_NO_NAMESPACES -+D_CXXFLAGS = -Wall -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -D_STLP_DEBUG -+NOSGI_CXXFLAGS = -Wall -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -D_STLP_NO_OWN_IOSTREAMS -DEH_VECTOR_OPERATOR_NEW -+ -+check: $(TEST) -+ -+LIBS = -lm -+D_LIBSTLPORT = -L../../lib -lstlport_gcc_stldebug -+LIBSTLPORT = -L../../lib -lstlport_gcc -+ -+all: $(TEST_EXE) $(D_TEST_EXE) $(NOSGI_TEST_EXE) -+ -+check_nosgi: $(NOSGI_TEST) -+check_d: $(D_TEST) -+ -+ -+$(TEST_EXE) : $(OBJECTS) -+ $(CXX) $(CXXFLAGS) $(OBJECTS) $(LIBSTLPORT) $(LIBS) -o $(TEST_EXE) -+ -+$(D_TEST_EXE) : $(D_OBJECTS) -+ $(CXX) $(D_CXXFLAGS) $(D_OBJECTS) $(D_LIBSTLPORT) $(LIBS) -o $(D_TEST_EXE) -+ -+$(NOSGI_TEST_EXE) : $(NOSGI_OBJECTS) -+ $(CXX) $(NOSGI_CXXFLAGS) $(NOSGI_OBJECTS) $(LIBS) -o $(NOSGI_TEST_EXE) -+ -+ -+$(TEST) : $(TEST_EXE) -+ LD_LIBRARY_PATH="../../lib:$(LD_LIBRARY_PATH)" time ./$(TEST_EXE) -s 100 -+ -+$(D_TEST) : $(D_TEST_EXE) -+ $(D_TEST_EXE) -+ -+$(NOSGI_TEST) : $(NOSGI_TEST_EXE) -+ $(NOSGI_TEST_EXE) -+ -+SUFFIXES: .cpp.o.exe.out.res -+ -+nosgi_obj/%.o : %.cpp -+ $(CXX) $(NOSGI_CXXFLAGS) $< -c -o $@ -+ -+d_obj/%.o : %.cpp -+ $(CXX) $(D_CXXFLAGS) $< -c -o $@ -+ -+obj/%.o : %.cpp -+ $(CXX) $(CXXFLAGS) $< -c -o $@ -+ -+nosgi_obj/%.i : %.cpp -+ $(CXX) $(NOSGI_CXXFLAGS) $< -E -H > $@ -+ -+d_obj/%.i : %.cpp -+ $(CXX) $(D_CXXFLAGS) $< -E -H > $@ -+ -+obj/%.i : %.cpp -+ $(CXX) $(CXXFLAGS) $< -E -H > $@ -+ -+%.out: %.cpp -+ $(CXX) $(CXXFLAGS) $< -c -USINGLE -DMAIN -O2 -o $*.o -+ $(CXX) $(CXXFLAGS) $*.o $(LIBSTLPORT) $(LIBS) -o $* -+ ./$* > $@ -+ -+%.s: %.cpp -+ $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ -+ -+%.E: %.cpp -+ $(CXX) $(CXXFLAGS) -E $< -o $@ -+ -+clean: -+ -rm -fr ${TEST_EXE} $(D_TEST_EXE) *.o */*.o *.rpo *.obj *.out core *~ Templates.DB -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/gcc-amigaos-m68k.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/gcc-amigaos-m68k.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/gcc-amigaos-m68k.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/gcc-amigaos-m68k.mak Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,119 @@ -+# -+# This requires GNU make. -+# -+ -+srcdir = . -+VPATH = . -+SHELL = /bin/sh -+ -+# point this to proper location -+STL_INCL = -I../../stlport -+ -+AUX_LIST = TestClass.cpp main.cpp nc_alloc.cpp random_number.cpp -+ -+TEST_LIST = test_algo.cpp \ -+ test_algobase.cpp test_list.cpp test_slist.cpp \ -+ test_bit_vector.cpp test_vector.cpp \ -+ test_deque.cpp test_set.cpp test_map.cpp \ -+ test_hash_map.cpp test_hash_set.cpp test_rope.cpp \ -+ test_string.cpp test_bitset.cpp test_valarray.cpp -+ -+LIST = ${AUX_LIST} ${TEST_LIST} -+ -+OBJECTS = $(LIST:%.cpp=obj/%.o) $(STAT_MODULE) -+D_OBJECTS = $(LIST:%.cpp=d_obj/%.o) $(STAT_MODULE) -+NOSGI_OBJECTS = $(LIST:%.cpp=nosgi_obj/%.o) $(STAT_MODULE) -+ -+EXECS = $(LIST:%.cpp=%) -+TESTS = $(LIST:%.cpp=%.out) -+TEST_EXE = ./eh_test -+D_TEST_EXE = ./eh_test_d -+NOSGI_TEST_EXE = ./eh_test_nosgi -+ -+TEST = ./eh_test.out -+D_TEST = ./eh_test_d.out -+NOSGI_TEST = ./eh_test_nosgi.out -+ -+CC = gcc -+CXX = g++ -+ -+CXXFLAGS = -s -noixemul -m68020 -Wall -O2 ${STL_INCL} -I. -DEH_VECTOR_OPERATOR_NEW -+D_CXXFLAGS = -Wall -g -O ${STL_INCL} -I. -DEH_VECTOR_OPERATOR_NEW -D_STLP_DEBUG -D_STLP_USE_STATIC_LIB -+NOSGI_CXXFLAGS = -Wall -g -O2 ${STL_INCL} -I. -D_STLP_NO_OWN_IOSTREAMS -D_STLP_DEBUG_UNINITIALIZED -DEH_VECTOR_OPERATOR_NEW -+ -+check: $(TEST) -+ -+LIBS = -lm -+D_LIBSTLPORT = -L../../lib -lstlport_gcc_stldebug -+LIBSTLPORT = -L../../lib -lstlport_gcc -+ -+all: $(TEST_EXE) -+ -+check_nosgi: $(NOSGI_TEST) -+check_d: $(D_TEST) -+ -+ -+OBJDIR=obj -+D_OBJDIR=d_obj -+NOSGI_OBJDIR=nosgi_obj -+ -+$(OBJDIR): -+ mkdir obj -+$(D_OBJDIR): -+ mkdir d_obj -+$(NOSGI_OBJDIR): -+ mkdir nosgi_obj -+ -+$(TEST_EXE) : $(OBJDIR) $(OBJECTS) -+ $(CXX) $(CXXFLAGS) $(OBJECTS) $(LIBSTLPORT) $(LIBS) -o $(TEST_EXE) -+ -+$(D_TEST_EXE) : $(D_OBJDIR) $(D_OBJECTS) -+ $(CXX) $(D_CXXFLAGS) $(D_OBJECTS) $(D_LIBSTLPORT) $(LIBS) -o $(D_TEST_EXE) -+ -+$(NOSGI_TEST_EXE) : $(NOSGI_OBJDIR) $(NOSGI_OBJECTS) -+ $(CXX) $(NOSGI_CXXFLAGS) $(NOSGI_OBJECTS) $(LIBS) -o $(NOSGI_TEST_EXE) -+ -+$(TEST) : $(TEST_EXE) -+ $(TEST_EXE) -s 100 -+ -+$(D_TEST) : $(D_TEST_EXE) -+ LD_LIBRARY_PATH="../../lib:$(LD_LIBRARY_PATH)" ./$(D_TEST_EXE) -s 100 -+ -+ -+$(NOSGI_TEST) : $(NOSGI_TEST_EXE) -+ $(NOSGI_TEST_EXE) -+ -+SUFFIXES: .cpp.o.exe.out.res -+ -+nosgi_obj/%.o : %.cpp -+ $(CXX) $(NOSGI_CXXFLAGS) $< -c -o $@ -+ -+d_obj/%.o : %.cpp -+ $(CXX) $(D_CXXFLAGS) $< -c -o $@ -+ -+obj/%.o : %.cpp -+ $(CXX) $(CXXFLAGS) $< -c -o $@ -+ -+nosgi_obj/%.i : %.cpp -+ $(CXX) $(NOSGI_CXXFLAGS) $< -E -H > $@ -+ -+d_obj/%.i : %.cpp -+ $(CXX) $(D_CXXFLAGS) $< -E -H > $@ -+ -+obj/%.i : %.cpp -+ $(CXX) $(CXXFLAGS) $< -E -H > $@ -+ -+%.out: %.cpp -+ $(CXX) $(CXXFLAGS) $< -c -USINGLE -DMAIN -g -o $*.o -+ $(CXX) $(CXXFLAGS) $*.o $(LIBS) -o $* -+ ./$* > $@ -+ -rm -f $* -+ -+%.s: %.cpp -+ $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ -+ -+%.E: %.cpp -+ $(CXX) $(CXXFLAGS) -E $< -o $@ -+ -+clean: -+ -rm -fr ${TEST_EXE} *.o */*.o *.rpo *.obj *.out core *~ Templates.DB -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/gcc-apple-macosx.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/gcc-apple-macosx.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/gcc-apple-macosx.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/gcc-apple-macosx.mak Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,123 @@ -+# ;;; -*- Mode:makefile;-*- -+# Generated automatically from Makefile.in by configure. -+# This requires GNU make. -+ -+srcdir = . -+VPATH = . -+DYLD_LIBRARY_PATH = ../../lib -+ -+# point this to proper location -+STL_INCL=-I../../stlport -+ -+AUX_LIST=TestClass.cpp main.cpp nc_alloc.cpp random_number.cpp -+ -+TEST_LIST=test_algo.cpp \ -+test_algobase.cpp test_list.cpp test_slist.cpp \ -+test_bit_vector.cpp test_vector.cpp \ -+test_deque.cpp test_set.cpp test_map.cpp \ -+test_hash_map.cpp test_hash_set.cpp test_rope.cpp \ -+test_string.cpp test_bitset.cpp test_valarray.cpp -+ -+LIST=${AUX_LIST} ${TEST_LIST} -+ -+OBJECTS = $(LIST:%.cpp=obj/%.o) $(STAT_MODULE) -+D_OBJECTS = $(LIST:%.cpp=d_obj/%.o) $(STAT_MODULE) -+NOSGI_OBJECTS = $(LIST:%.cpp=nosgi_obj/%.o) $(STAT_MODULE) -+ -+EXECS = $(LIST:%.cpp=%) -+TESTS = $(LIST:%.cpp=%.out) -+TEST_EXE = ./eh_test -+D_TEST_EXE = ./eh_test_d -+NOSGI_TEST_EXE = ./eh_test_nosgi -+ -+TEST = ./eh_test.out -+D_TEST = ./eh_test_d.out -+NOSGI_TEST = ./eh_test_nosgi.out -+ -+CC = cc -+CXX = $(CC) -+ -+# dwa 12/22/99 -- had to turn off -ansi flag so we could use SGI IOSTREAMS -+CXX_EXTRA_FLAGS = -W -Wno-sign-compare -Wno-unused -Wno-uninitialized -+CXXFLAGS = -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -no-cpp-precomp -fno-coalesce -+D_CXXFLAGS = -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -D_STLP_DEBUG -D_STLP_USE_STATIC_LIB -no-cpp-precomp -fno-coalesce -+NOSGI_CXXFLAGS = -Wall -g -O2 ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -D_STLP_NO_OWN_IOSTREAMS -D_STLP_DEBUG_UNINITIALIZED -DEH_VECTOR_OPERATOR_NEW -+ -+check: $(TEST) -+ -+LIBS = -framework System -+D_LIBSTLPORT = -L../../lib -lstlport_gcc_debug -+LIBSTLPORT = -L../../lib -lstlport_gcc -+ -+all: $(TEST_EXE) $(D_TEST_EXE) $(NOSGI_TEST_EXE) -+ -+check_nosgi: $(NOSGI_TEST) -+check_d: $(D_TEST) -+ -+ -+OBJDIR=obj -+D_OBJDIR=d_obj -+NOSGI_OBJDIR=nosgi_obj -+ -+$(OBJDIR): -+ mkdir obj -+$(D_OBJDIR): -+ mkdir d_obj -+$(NOSGI_OBJDIR): -+ mkdir nosgi_obj -+ -+$(TEST_EXE) : $(OBJDIR) $(OBJECTS) -+ $(CXX) $(CXXFLAGS) $(OBJECTS) $(LIBSTLPORT) $(LIBS) -o $(TEST_EXE) -+ ln -sf ../../lib/libstlport_gcc.dylib -+ -+$(D_TEST_EXE) : $(D_OBJDIR) $(D_OBJECTS) -+ $(CXX) $(D_CXXFLAGS) $(D_OBJECTS) $(D_LIBSTLPORT) $(LIBS) -o $(D_TEST_EXE) -+ ln -sf ../../lib/libstlport_gcc_debug.dylib -+ -+$(NOSGI_TEST_EXE) : $(NOSGI_OBJDIR) $(NOSGI_OBJECTS) -+ $(CXX) $(NOSGI_CXXFLAGS) $(NOSGI_OBJECTS) $(LIBS) -o $(NOSGI_TEST_EXE) -+ -+ -+$(TEST) : $(TEST_EXE) -+ $(TEST_EXE) -+ -+$(D_TEST) : $(D_TEST_EXE) -+ $(D_TEST_EXE) -+ -+$(NOSGI_TEST) : $(NOSGI_TEST_EXE) -+ $(NOSGI_TEST_EXE) -+ -+SUFFIXES: .cpp.o.exe.out.res -+ -+nosgi_obj/%.o : %.cpp -+ $(CXX) $(NOSGI_CXXFLAGS) $< -c -o $@ -+ -+d_obj/%.o : %.cpp -+ $(CXX) $(D_CXXFLAGS) $< -c -o $@ -+ -+obj/%.o : %.cpp -+ $(CXX) $(CXXFLAGS) $< -c -o $@ -+ -+nosgi_obj/%.i : %.cpp -+ $(CXX) $(NOSGI_CXXFLAGS) $< -E -H > $@ -+ -+d_obj/%.i : %.cpp -+ $(CXX) $(D_CXXFLAGS) $< -E -H > $@ -+ -+obj/%.i : %.cpp -+ $(CXX) $(CXXFLAGS) $< -E -H > $@ -+ -+%.out: %.cpp -+ $(CXX) $(CXXFLAGS) $< -c -USINGLE -DMAIN -g -o $*.o -+ $(CXX) $(CXXFLAGS) $*.o $(LIBS) -o $* -+ ./$* > $@ -+ -rm -f $* -+ -+%.s: %.cpp -+ $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ -+ -+%.E: %.cpp -+ $(CXX) $(CXXFLAGS) -E $< -o $@ -+ -+clean: -+ -rm -fR ${TEST_EXE} *.o */*.o *.rpo *.obj *.out core *~ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/gcc-freebsd.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/gcc-freebsd.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/gcc-freebsd.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/gcc-freebsd.mak Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,123 @@ -+# ;;; -*- Mode:makefile;-*- -+# Generated automatically from Makefile.in by configure. -+# This requires GNU make. -+ -+srcdir = . -+VPATH = . -+SHELL=/bin/sh -+ -+# point this to proper location -+STL_INCL=-I../../stlport -+ -+AUX_LIST=TestClass.cpp main.cpp nc_alloc.cpp random_number.cpp -+ -+TEST_LIST=test_algo.cpp \ -+test_algobase.cpp test_list.cpp test_slist.cpp \ -+test_bit_vector.cpp test_vector.cpp \ -+test_deque.cpp test_set.cpp test_map.cpp \ -+test_hash_map.cpp test_hash_set.cpp test_rope.cpp \ -+test_string.cpp test_bitset.cpp test_valarray.cpp -+ -+LIST=${AUX_LIST} ${TEST_LIST} -+ -+OBJECTS = $(LIST:%.cpp=obj/%.o) $(STAT_MODULE) -+D_OBJECTS = $(LIST:%.cpp=d_obj/%.o) $(STAT_MODULE) -+NOSGI_OBJECTS = $(LIST:%.cpp=nosgi_obj/%.o) $(STAT_MODULE) -+ -+EXECS = $(LIST:%.cpp=%) -+TESTS = $(LIST:%.cpp=%.out) -+TEST_EXE = ./eh_test -+D_TEST_EXE = ./eh_test_d -+NOSGI_TEST_EXE = ./eh_test_nosgi -+ -+TEST = ./eh_test.out -+D_TEST = ./eh_test_d.out -+NOSGI_TEST = ./eh_test_nosgi.out -+ -+CC = c++ -pthread -+CXX = $(CC) -+ -+# dwa 12/22/99 -- had to turn off -ansi flag so we could use SGI IOSTREAMS -+# also, test_slist won't compile with -O3/-O2 when targeting PPC. It fails -+# in the assembler with 'invalid relocation type' -+CXXFLAGS = -Wall -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -+ -+D_CXXFLAGS = -Wall -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -D_STLP_DEBUG -D_STLP_USE_STATIC_LIB -+NOSGI_CXXFLAGS = -Wall -g -O2 ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -D_STLP_NO_OWN_IOSTREAMS -D_STLP_DEBUG_UNINITIALIZED -DEH_VECTOR_OPERATOR_NEW -+ -+check: $(TEST) -+ -+LIBS = -lm -+D_LIBSTLPORT = -L../../lib -lstlport_gcc_stldebug -+LIBSTLPORT = -L../../lib -lstlport_gcc -+ -+all: $(TEST_EXE) $(D_TEST_EXE) $(NOSGI_TEST_EXE) -+ -+check_nosgi: $(NOSGI_TEST) -+check_d: $(D_TEST) -+ -+OBJDIR=obj -+D_OBJDIR=d_obj -+NOSGI_OBJDIR=nosgi_obj -+ -+$(OBJDIR): -+ mkdir obj -+$(D_OBJDIR): -+ mkdir d_obj -+$(NOSGI_OBJDIR): -+ mkdir nosgi_obj -+ -+ -+$(TEST_EXE) : $(OBJDIR) $(OBJECTS) -+ $(CXX) $(CXXFLAGS) $(OBJECTS) $(LIBSTLPORT) $(LIBS) -o $(TEST_EXE) -+ -+$(D_TEST_EXE) : $(D_OBJDIR) $(D_OBJECTS) -+ $(CXX) $(D_CXXFLAGS) $(D_OBJECTS) $(D_LIBSTLPORT) $(LIBS) -o $(D_TEST_EXE) -+ -+$(NOSGI_TEST_EXE) : $(NOSGI_OBJDIR) $(NOSGI_OBJECTS) -+ $(CXX) $(NOSGI_CXXFLAGS) $(NOSGI_OBJECTS) $(LIBS) -o $(NOSGI_TEST_EXE) -+ -+ -+$(TEST) : $(TEST_EXE) -+ LD_LIBRARY_PATH="../../lib:$(LD_LIBRARY_PATH)" ./$(TEST_EXE) -s 100 -+ -+$(D_TEST) : $(D_TEST_EXE) -+ LD_LIBRARY_PATH="../../lib:$(LD_LIBRARY_PATH)" ./$(D_TEST_EXE) -s 100 -+ -+$(NOSGI_TEST) : $(NOSGI_TEST_EXE) -+ $(NOSGI_TEST_EXE) -+ -+SUFFIXES: .cpp.o.exe.out.res -+ -+nosgi_obj/%.o : %.cpp -+ $(CXX) $(NOSGI_CXXFLAGS) $< -c -o $@ -+ -+d_obj/%.o : %.cpp -+ $(CXX) $(D_CXXFLAGS) $< -c -o $@ -+ -+obj/%.o : %.cpp -+ $(CXX) $(CXXFLAGS) $< -c -o $@ -+ -+nosgi_obj/%.i : %.cpp -+ $(CXX) $(NOSGI_CXXFLAGS) $< -E -H > $@ -+ -+d_obj/%.i : %.cpp -+ $(CXX) $(D_CXXFLAGS) $< -E -H > $@ -+ -+obj/%.i : %.cpp -+ $(CXX) $(CXXFLAGS) $< -E -H > $@ -+ -+%.out: %.cpp -+ $(CXX) $(CXXFLAGS) $< -c -USINGLE -DMAIN -g -o $*.o -+ $(CXX) $(CXXFLAGS) $*.o $(LIBS) -o $* -+ ./$* > $@ -+ -rm -f $* -+ -+%.s: %.cpp -+ $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ -+ -+%.E: %.cpp -+ $(CXX) $(CXXFLAGS) -E $< -o $@ -+ -+clean: -+ -rm -fr ${TEST_EXE} *.o */*.o *.rpo *.obj *.out core *~ Templates.DB -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/gcc-hp11.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/gcc-hp11.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/gcc-hp11.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/gcc-hp11.mak Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,123 @@ -+# ;;; -*- Mode:makefile;-*- -+# Generated automatically from Makefile.in by configure. -+# This requires GNU make. -+ -+srcdir = . -+VPATH = . -+SHELL=/bin/sh -+ -+# point this to proper location -+STL_INCL=-I../../stlport -+ -+AUX_LIST=TestClass.cpp main.cpp nc_alloc.cpp random_number.cpp -+ -+TEST_LIST=test_algo.cpp \ -+test_algobase.cpp test_list.cpp test_slist.cpp \ -+test_bit_vector.cpp test_vector.cpp \ -+test_deque.cpp test_set.cpp test_map.cpp \ -+test_hash_map.cpp test_hash_set.cpp test_rope.cpp \ -+test_string.cpp test_bitset.cpp test_valarray.cpp -+ -+LIST=${AUX_LIST} ${TEST_LIST} -+ -+OBJECTS = $(LIST:%.cpp=obj/%.o) $(STAT_MODULE) -+D_OBJECTS = $(LIST:%.cpp=d_obj/%.o) $(STAT_MODULE) -+NOSGI_OBJECTS = $(LIST:%.cpp=nosgi_obj/%.o) $(STAT_MODULE) -+ -+EXECS = $(LIST:%.cpp=%) -+TESTS = $(LIST:%.cpp=%.out) -+TEST_EXE = ./eh_test -+D_TEST_EXE = ./eh_test_d -+NOSGI_TEST_EXE = ./eh_test_nosgi -+ -+TEST = ./eh_test.out -+D_TEST = ./eh_test_d.out -+NOSGI_TEST = ./eh_test_nosgi.out -+ -+# CC = g++ -pthreads -+CC = g++ -D_REENTRANT -D_POSIX_C_SOURCE=199506L -D__EXTENSIONS__ -+CXX = $(CC) -+ -+# dwa 12/22/99 -- had to turn off -ansi flag so we could use SGI IOSTREAMS -+# also, test_slist won't compile with -O3/-O2 when targeting PPC. It fails -+# in the assembler with 'invalid relocation type' -+CXXFLAGS = -Wall -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -+D_CXXFLAGS = -Wall -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -D_STLP_DEBUG -D_STLP_USE_STATIC_LIB -+NOSGI_CXXFLAGS = -Wall -g -O2 ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -D_STLP_NO_OWN_IOSTREAMS -D_STLP_DEBUG_UNINITIALIZED -DEH_VECTOR_OPERATOR_NEW -+ -+check: $(TEST) -+ -+LIBS = -lpthread -lm -+D_LIBSTLPORT = -L../../lib -lstlport_gcc_debug -+LIBSTLPORT = -L../../lib -lstlport_gcc -+ -+all: $(TEST_EXE) $(D_TEST_EXE) $(NOSGI_TEST_EXE) -+ -+check_nosgi: $(NOSGI_TEST) -+check_d: $(D_TEST) -+ -+OBJDIR=obj -+D_OBJDIR=d_obj -+NOSGI_OBJDIR=nosgi_obj -+ -+$(OBJDIR): -+ mkdir obj -+$(D_OBJDIR): -+ mkdir d_obj -+$(NOSGI_OBJDIR): -+ mkdir nosgi_obj -+ -+$(TEST_EXE) : $(OBJDIR) $(OBJECTS) -+ $(CXX) $(CXXFLAGS) $(OBJECTS) $(LIBSTLPORT) $(LIBS) -o $(TEST_EXE) -+ -+$(D_TEST_EXE) : $(D_OBJDIR) $(D_OBJECTS) -+ $(CXX) $(D_CXXFLAGS) $(D_OBJECTS) $(D_LIBSTLPORT) $(LIBS) -o $(D_TEST_EXE) -+ -+$(NOSGI_TEST_EXE) : $(NOSGI_OBJDIR) $(NOSGI_OBJECTS) -+ $(CXX) $(NOSGI_CXXFLAGS) $(NOSGI_OBJECTS) $(LIBS) -o $(NOSGI_TEST_EXE) -+ -+ -+$(TEST) : $(TEST_EXE) -+ LD_LIBRARY_PATH="../../lib:$(LD_LIBRARY_PATH)" time ./$(TEST_EXE) -s 100 -+ -+$(D_TEST) : $(D_TEST_EXE) -+ LD_LIBRARY_PATH="../../lib:$(LD_LIBRARY_PATH)" ./$(D_TEST_EXE) -s 100 -+ -+ -+$(NOSGI_TEST) : $(NOSGI_TEST_EXE) -+ $(NOSGI_TEST_EXE) -+ -+SUFFIXES: .cpp.o.exe.out.res -+ -+nosgi_obj/%.o : %.cpp -+ $(CXX) $(NOSGI_CXXFLAGS) $< -c -o $@ -+ -+d_obj/%.o : %.cpp -+ $(CXX) $(D_CXXFLAGS) $< -c -o $@ -+ -+obj/%.o : %.cpp -+ $(CXX) $(CXXFLAGS) $< -c -o $@ -+ -+nosgi_obj/%.i : %.cpp -+ $(CXX) $(NOSGI_CXXFLAGS) $< -E -H > $@ -+ -+d_obj/%.i : %.cpp -+ $(CXX) $(D_CXXFLAGS) $< -E -H > $@ -+ -+obj/%.i : %.cpp -+ $(CXX) $(CXXFLAGS) $< -E -H > $@ -+ -+%.out: %.cpp -+ $(CXX) $(CXXFLAGS) $< -c -USINGLE -DMAIN -D_STLP_DEBUG -D_STLP_NO_OWN_IOSTREAMS -g -o $*.o -+ $(CXX) $(CXXFLAGS) $*.o $(LIBSTLPORT) $(LIBS) -o $* -+ ./$* > $@ -+# -rm -f $* -+ -+%.s: %.cpp -+ $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ -+ -+%.E: %.cpp -+ $(CXX) $(CXXFLAGS) -E $< -o $@ -+ -+clean: -+ -rm -fr ${TEST_EXE} *.o */*.o *.rpo *.obj *.out core *~ Templates.DB -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/gcc-irix.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/gcc-irix.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/gcc-irix.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/gcc-irix.mak Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,122 @@ -+# ;;; -*- Mode:makefile;-*- -+# Generated automatically from Makefile.in by configure. -+# This requires GNU make. -+ -+srcdir = . -+VPATH = . -+SHELL=/bin/sh -+ -+# point this to proper location -+STL_INCL=-I../../stlport -+ -+AUX_LIST=TestClass.cpp main.cpp nc_alloc.cpp random_number.cpp -+ -+TEST_LIST=test_algo.cpp \ -+test_algobase.cpp test_list.cpp test_slist.cpp \ -+test_bit_vector.cpp test_vector.cpp \ -+test_deque.cpp test_set.cpp test_map.cpp \ -+test_hash_map.cpp test_hash_set.cpp test_rope.cpp \ -+test_string.cpp test_bitset.cpp test_valarray.cpp -+ -+LIST=${AUX_LIST} ${TEST_LIST} -+ -+OBJECTS = $(LIST:%.cpp=obj/%.o) $(STAT_MODULE) -+D_OBJECTS = $(LIST:%.cpp=d_obj/%.o) $(STAT_MODULE) -+NOSGI_OBJECTS = $(LIST:%.cpp=nosgi_obj/%.o) $(STAT_MODULE) -+ -+EXECS = $(LIST:%.cpp=%) -+TESTS = $(LIST:%.cpp=%.out) -+TEST_EXE = ./eh_test -+D_TEST_EXE = ./eh_test_d -+NOSGI_TEST_EXE = ./eh_test_nosgi -+ -+TEST = ./eh_test.out -+D_TEST = ./eh_test_d.out -+NOSGI_TEST = ./eh_test_nosgi.out -+ -+CC = g++ -+CXX = $(CC) -+ -+# dwa 12/22/99 -- had to turn off -ansi flag so we could use SGI IOSTREAMS -+# also, test_slist won't compile with -O3/-O2 when targeting PPC. It fails -+# in the assembler with 'invalid relocation type' -+CXXFLAGS = -Wall -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -+D_CXXFLAGS = -Wall -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -D_STLP_DEBUG -D_STLP_USE_STATIC_LIB -+NOSGI_CXXFLAGS = -Wall -g -O2 ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -D_STLP_NO_OWN_IOSTREAMS -D_STLP_DEBUG_UNINITIALIZED -DEH_VECTOR_OPERATOR_NEW -+ -+check: $(TEST) -+ -+LIBS = -lm -+D_LIBSTLPORT = -L../../lib -lstlport_gcc_debug -+LIBSTLPORT = -L../../lib -lstlport_gcc -+ -+all: $(TEST_EXE) $(D_TEST_EXE) $(NOSGI_TEST_EXE) -+ -+check_nosgi: $(NOSGI_TEST) -+check_d: $(D_TEST) -+ -+ -+OBJDIR=obj -+D_OBJDIR=d_obj -+NOSGI_OBJDIR=nosgi_obj -+ -+$(OBJDIR): -+ mkdir obj -+$(D_OBJDIR): -+ mkdir obj -+$(NOSGI_OBJDIR): -+ mkdir obj -+ -+$(TEST_EXE) : $(OBJDIR) $(OBJECTS) -+ $(CXX) $(CXXFLAGS) $(OBJECTS) $(LIBSTLPORT) $(LIBS) -o $(TEST_EXE) -+ -+$(D_TEST_EXE) : $(D_OBJDIR) $(D_OBJECTS) -+ $(CXX) $(D_CXXFLAGS) $(D_OBJECTS) $(D_LIBSTLPORT) $(LIBS) -o $(D_TEST_EXE) -+ -+$(NOSGI_TEST_EXE) : $(NOSGI_OBJDIR) $(NOSGI_OBJECTS) -+ $(CXX) $(NOSGI_CXXFLAGS) $(NOSGI_OBJECTS) $(LIBS) -o $(NOSGI_TEST_EXE) -+ -+$(TEST) : $(TEST_EXE) -+ LD_LIBRARY_PATH="../../lib:$(LD_LIBRARY_PATH)" time ./$(TEST_EXE) -s 100 -+ -+$(D_TEST) : $(D_TEST_EXE) -+ LD_LIBRARY_PATH="../../lib:$(LD_LIBRARY_PATH)" ./$(D_TEST_EXE) -s 100 -+ -+ -+$(NOSGI_TEST) : $(NOSGI_TEST_EXE) -+ $(NOSGI_TEST_EXE) -+ -+SUFFIXES: .cpp.o.exe.out.res -+ -+nosgi_obj/%.o : %.cpp -+ $(CXX) $(NOSGI_CXXFLAGS) $< -c -o $@ -+ -+d_obj/%.o : %.cpp -+ $(CXX) $(D_CXXFLAGS) $< -c -o $@ -+ -+obj/%.o : %.cpp -+ $(CXX) $(CXXFLAGS) $< -c -o $@ -+ -+nosgi_obj/%.i : %.cpp -+ $(CXX) $(NOSGI_CXXFLAGS) $< -E -H > $@ -+ -+d_obj/%.i : %.cpp -+ $(CXX) $(D_CXXFLAGS) $< -E -H > $@ -+ -+obj/%.i : %.cpp -+ $(CXX) $(CXXFLAGS) $< -E -H > $@ -+ -+%.out: %.cpp -+ $(CXX) $(CXXFLAGS) $< -c -USINGLE -DMAIN -D_STLP_DEBUG -D_STLP_NO_OWN_IOSTREAMS -g -o $*.o -+ $(CXX) $(CXXFLAGS) $*.o $(LIBSTLPORT) $(LIBS) -o $* -+ ./$* > $@ -+# -rm -f $* -+ -+%.s: %.cpp -+ $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ -+ -+%.E: %.cpp -+ $(CXX) $(CXXFLAGS) -E $< -o $@ -+ -+clean: -+ -rm -fr ${TEST_EXE} *.o */*.o *.rpo *.obj *.out core *~ Templates.DB -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/gcc-linux.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/gcc-linux.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/gcc-linux.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/gcc-linux.mak Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,120 @@ -+# ;;; -*- Mode:makefile;-*- -+# Generated automatically from Makefile.in by configure. -+# This requires GNU make. -+SHELL=/bin/sh -+ -+srcdir = . -+VPATH = . -+ -+# point this to proper location -+STL_INCL=-I../../stlport -+ -+AUX_LIST=TestClass.cpp main.cpp nc_alloc.cpp random_number.cpp -+ -+TEST_LIST=test_algo.cpp \ -+test_algobase.cpp test_list.cpp test_slist.cpp \ -+test_bit_vector.cpp test_vector.cpp \ -+test_deque.cpp test_set.cpp test_map.cpp \ -+test_hash_map.cpp test_hash_set.cpp test_rope.cpp \ -+test_string.cpp test_bitset.cpp test_valarray.cpp -+ -+LIST=${AUX_LIST} ${TEST_LIST} -+ -+OBJECTS = $(LIST:%.cpp=obj/%.o) $(STAT_MODULE) -+D_OBJECTS = $(LIST:%.cpp=d_obj/%.o) $(STAT_MODULE) -+NOSGI_OBJECTS = $(LIST:%.cpp=nosgi_obj/%.o) $(STAT_MODULE) -+ -+EXECS = $(LIST:%.cpp=%) -+TESTS = $(LIST:%.cpp=%.out) -+TEST_EXE = ./eh_test -+D_TEST_EXE = ./eh_test_d -+NOSGI_TEST_EXE = ./eh_test_nosgi -+ -+TEST = ./eh_test.out -+D_TEST = ./eh_test_d.out -+NOSGI_TEST = ./eh_test_nosgi.out -+ -+CC = c++ -pthread -+CXX = $(CC) -+ -+# dwa 12/22/99 -- had to turn off -ansi flag so we could use SGI IOSTREAMS -+# also, test_slist won't compile with -O3/-O2 when targeting PPC. It fails -+# in the assembler with 'invalid relocation type' -+CXXFLAGS = -Wall ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -+D_CXXFLAGS = -Wall -g ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -D_STLP_DEBUG -D_STLP_USE_STATIC_LIB -+NOSGI_CXXFLAGS = -Wall -g -O2 ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -D_STLP_NO_OWN_IOSTREAMS -D_STLP_DEBUG_UNINITIALIZED -DEH_VECTOR_OPERATOR_NEW -+ -+check: $(TEST) -+ -+LIBS = -lm -+D_LIBSTLPORT = -L../../lib -lstlport_gcc_stldebug -+LIBSTLPORT = -L../../lib -lstlport_gcc -+ -+all: $(TEST_EXE) $(D_TEST_EXE) $(NOSGI_TEST_EXE) -+ -+check_nosgi: $(NOSGI_TEST) -+check_d: $(D_TEST) -+ -+OBJDIR=obj -+D_OBJDIR=d_obj -+NOSGI_OBJDIR=nosgi_obj -+ -+$(OBJDIR): -+ mkdir obj -+$(D_OBJDIR): -+ mkdir d_obj -+$(NOSGI_OBJDIR): -+ mkdir nosgi_obj -+ -+$(TEST_EXE) : $(OBJDIR) $(OBJECTS) -+ $(CXX) $(CXXFLAGS) $(OBJECTS) $(LIBSTLPORT) $(LIBS) -o $(TEST_EXE) -+ -+$(D_TEST_EXE) : $(D_OBJDIR) $(D_OBJECTS) -+ $(CXX) $(D_CXXFLAGS) $(D_OBJECTS) $(D_LIBSTLPORT) $(LIBS) -o $(D_TEST_EXE) -+ -+$(NOSGI_TEST_EXE) : $(NOSGI_OBJDIR) $(NOSGI_OBJECTS) -+ $(CXX) $(NOSGI_CXXFLAGS) $(NOSGI_OBJECTS) $(LIBS) -o $(NOSGI_TEST_EXE) -+ -+$(TEST) : $(TEST_EXE) -+ LD_LIBRARY_PATH="../../lib:$(LD_LIBRARY_PATH)" ./$(TEST_EXE) -s 100 -+ -+$(D_TEST) : $(D_TEST_EXE) -+ LD_LIBRARY_PATH="../../lib:$(LD_LIBRARY_PATH)" ./$(D_TEST_EXE) -s 100 -+ -+$(NOSGI_TEST) : $(NOSGI_TEST_EXE) -+ $(NOSGI_TEST_EXE) -+ -+SUFFIXES: .cpp.o.exe.out.res -+ -+nosgi_obj/%.o : %.cpp -+ $(CXX) $(NOSGI_CXXFLAGS) $< -c -o $@ -+ -+d_obj/%.o : %.cpp -+ $(CXX) $(D_CXXFLAGS) $< -c -o $@ -+ -+obj/%.o : %.cpp -+ $(CXX) $(CXXFLAGS) $< -c -o $@ -+ -+nosgi_obj/%.i : %.cpp -+ $(CXX) $(NOSGI_CXXFLAGS) $< -E -H > $@ -+ -+d_obj/%.i : %.cpp -+ $(CXX) $(D_CXXFLAGS) $< -E -H > $@ -+ -+obj/%.i : %.cpp -+ $(CXX) $(CXXFLAGS) $< -E -H > $@ -+ -+%.out: %.cpp -+ $(CXX) $(D_CXXFLAGS) $< -c -USINGLE -DMAIN -o $*.o -+ $(CXX) $(D_CXXFLAGS) $*.o $(LIBS) $(D_LIBSTLPORT) -o $* -+ ./$* > $@ -+# -rm -f $* -+ -+%.s: %.cpp -+ $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ -+ -+%.E: %.cpp -+ $(CXX) $(CXXFLAGS) -E $< -o $@ -+ -+clean: -+ -rm -fr ${TEST_EXE} *.o */*.o *.rpo *.obj *.out core *~ Templates.DB -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/gcc-netbsd.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/gcc-netbsd.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/gcc-netbsd.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/gcc-netbsd.mak Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,122 @@ -+# ;;; -*- Mode:makefile;-*- -+# Generated automatically from Makefile.in by configure. -+# This requires GNU make. -+ -+srcdir = . -+VPATH = . -+SHELL=/bin/sh -+ -+# point this to proper location -+STL_INCL=-I../../stlport -+ -+AUX_LIST=TestClass.cpp main.cpp nc_alloc.cpp random_number.cpp -+ -+TEST_LIST=test_algo.cpp \ -+test_algobase.cpp test_list.cpp test_slist.cpp \ -+test_bit_vector.cpp test_vector.cpp \ -+test_deque.cpp test_set.cpp test_map.cpp \ -+test_hash_map.cpp test_hash_set.cpp test_rope.cpp \ -+test_string.cpp test_bitset.cpp test_valarray.cpp -+ -+LIST=${AUX_LIST} ${TEST_LIST} -+ -+OBJECTS = $(LIST:%.cpp=obj/%.o) $(STAT_MODULE) -+D_OBJECTS = $(LIST:%.cpp=d_obj/%.o) $(STAT_MODULE) -+NOSGI_OBJECTS = $(LIST:%.cpp=nosgi_obj/%.o) $(STAT_MODULE) -+ -+EXECS = $(LIST:%.cpp=%) -+TESTS = $(LIST:%.cpp=%.out) -+TEST_EXE = ./eh_test -+D_TEST_EXE = ./eh_test_d -+NOSGI_TEST_EXE = ./eh_test_nosgi -+ -+TEST = ./eh_test.out -+D_TEST = ./eh_test_d.out -+NOSGI_TEST = ./eh_test_nosgi.out -+ -+CC = c++ -+CXX = $(CC) -+ -+# dwa 12/22/99 -- had to turn off -ansi flag so we could use SGI IOSTREAMS -+# also, test_slist won't compile with -O3/-O2 when targeting PPC. It fails -+# in the assembler with 'invalid relocation type' -+CXXFLAGS = -Wall -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -+D_CXXFLAGS = -Wall -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -D_STLP_DEBUG -D_STLP_USE_STATIC_LIB -+NOSGI_CXXFLAGS = -Wall -g -O2 ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -D_STLP_NO_OWN_IOSTREAMS -D_STLP_DEBUG_UNINITIALIZED -DEH_VECTOR_OPERATOR_NEW -+ -+check: $(TEST) -+ -+LIBS = -lm -lpthread -+D_LIBSTLPORT = -L../../lib -R../../lib -lstlport_gcc_stldebug -+LIBSTLPORT = -L../../lib -R../../lib -lstlport_gcc -+ -+all: $(TEST_EXE) $(D_TEST_EXE) $(NOSGI_TEST_EXE) -+ -+check_nosgi: $(NOSGI_TEST) -+check_d: $(D_TEST) -+ -+OBJDIR=obj -+D_OBJDIR=d_obj -+NOSGI_OBJDIR=nosgi_obj -+ -+$(OBJDIR): -+ mkdir obj -+$(D_OBJDIR): -+ mkdir d_obj -+$(NOSGI_OBJDIR): -+ mkdir nosgi_obj -+ -+$(TEST_EXE) : $(OBJDIR) $(OBJECTS) -+ $(CXX) $(CXXFLAGS) $(OBJECTS) $(LIBSTLPORT) $(LIBS) -o $(TEST_EXE) -+ -+$(D_TEST_EXE) : $(D_OBJDIR) $(D_OBJECTS) -+ $(CXX) $(D_CXXFLAGS) $(D_OBJECTS) $(D_LIBSTLPORT) $(LIBS) -o $(D_TEST_EXE) -+ -+$(NOSGI_TEST_EXE) : $(NOSGI_OBJDIR) $(NOSGI_OBJECTS) -+ $(CXX) $(NOSGI_CXXFLAGS) $(NOSGI_OBJECTS) $(LIBS) -o $(NOSGI_TEST_EXE) -+ -+ -+$(TEST) : $(TEST_EXE) -+ LD_LIBRARY_PATH="../../lib:$(LD_LIBRARY_PATH)" ./$(TEST_EXE) -s 100 -+ -+$(D_TEST) : $(D_TEST_EXE) -+ LD_LIBRARY_PATH="../../lib:$(LD_LIBRARY_PATH)" ./$(D_TEST_EXE) -s 100 -+ -+ -+$(NOSGI_TEST) : $(NOSGI_TEST_EXE) -+ $(NOSGI_TEST_EXE) -+ -+SUFFIXES: .cpp.o.exe.out.res -+ -+nosgi_obj/%.o : %.cpp -+ $(CXX) $(NOSGI_CXXFLAGS) $< -c -o $@ -+ -+d_obj/%.o : %.cpp -+ $(CXX) $(D_CXXFLAGS) $< -c -o $@ -+ -+obj/%.o : %.cpp -+ $(CXX) $(CXXFLAGS) $< -c -o $@ -+ -+nosgi_obj/%.i : %.cpp -+ $(CXX) $(NOSGI_CXXFLAGS) $< -E -H > $@ -+ -+d_obj/%.i : %.cpp -+ $(CXX) $(D_CXXFLAGS) $< -E -H > $@ -+ -+obj/%.i : %.cpp -+ $(CXX) $(CXXFLAGS) $< -E -H > $@ -+ -+%.out: %.cpp -+ $(CXX) $(CXXFLAGS) $< -c -USINGLE -DMAIN -g -o $*.o -+ $(CXX) $(CXXFLAGS) $*.o $(LIBS) -o $* -+ ./$* > $@ -+ -rm -f $* -+ -+%.s: %.cpp -+ $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ -+ -+%.E: %.cpp -+ $(CXX) $(CXXFLAGS) -E $< -o $@ -+ -+clean: -+ -rm -fr ${TEST_EXE} *.o */*.o *.rpo *.obj *.out core *~ Templates.DB -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/gcc.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/gcc.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/gcc.mak Sat Feb 24 10:45:23 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/gcc.mak Sun Aug 11 18:59:25 2002 -@@ -4,6 +4,7 @@ - - srcdir = . - VPATH = . -+SHELL=/bin/sh - - # point this to proper location - STL_INCL=-I../../stlport -@@ -33,15 +34,15 @@ - D_TEST = ./eh_test_d.out - NOSGI_TEST = ./eh_test_nosgi.out - --CC = c++ -+CC = g++ -pthread - CXX = $(CC) - - # dwa 12/22/99 -- had to turn off -ansi flag so we could use SGI IOSTREAMS - # also, test_slist won't compile with -O3/-O2 when targeting PPC. It fails - # in the assembler with 'invalid relocation type' --CXXFLAGS = -Wall -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW --D_CXXFLAGS = -Wall -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -D__STL_DEBUG -D__STL_USE_STATIC_LIB --NOSGI_CXXFLAGS = -Wall -g -O2 ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -D__STL_NO_SGI_IOSTREAMS -D__STL_DEBUG_UNINITIALIZED -DEH_VECTOR_OPERATOR_NEW -+CXXFLAGS = -Wall -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -+D_CXXFLAGS = -Wall -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -D_STLP_DEBUG -D_STLP_USE_STATIC_LIB -+NOSGI_CXXFLAGS = -Wall -g -O2 ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -D_STLP_NO_OWN_IOSTREAMS -D_STLP_DEBUG_UNINITIALIZED -DEH_VECTOR_OPERATOR_NEW - - check: $(TEST) - -@@ -55,21 +56,32 @@ - check_d: $(D_TEST) - - --$(TEST_EXE) : $(OBJECTS) -+OBJDIR=obj -+D_OBJDIR=d_obj -+NOSGI_OBJDIR=nosgi_obj -+ -+$(OBJDIR): -+ mkdir obj -+$(D_OBJDIR): -+ mkdir d_obj -+$(NOSGI_OBJDIR): -+ mkdir nosgi_obj -+ -+$(TEST_EXE) : $(OBJDIR) $(OBJECTS) - $(CXX) $(CXXFLAGS) $(OBJECTS) $(LIBSTLPORT) $(LIBS) -o $(TEST_EXE) - --$(D_TEST_EXE) : $(D_OBJECTS) -+$(D_TEST_EXE) : $(D_OBJDIR) $(D_OBJECTS) - $(CXX) $(D_CXXFLAGS) $(D_OBJECTS) $(D_LIBSTLPORT) $(LIBS) -o $(D_TEST_EXE) - --$(NOSGI_TEST_EXE) : $(NOSGI_OBJECTS) -+$(NOSGI_TEST_EXE) : $(NOSGI_OBJDIR) $(NOSGI_OBJECTS) - $(CXX) $(NOSGI_CXXFLAGS) $(NOSGI_OBJECTS) $(LIBS) -o $(NOSGI_TEST_EXE) - -- - $(TEST) : $(TEST_EXE) -- $(TEST_EXE) -+ LD_LIBRARY_PATH="../../lib:$(LD_LIBRARY_PATH)" time ./$(TEST_EXE) -s 100 - - $(D_TEST) : $(D_TEST_EXE) -- $(D_TEST_EXE) -+ LD_LIBRARY_PATH="../../lib:$(LD_LIBRARY_PATH)" ./$(D_TEST_EXE) -s 100 -+ - - $(NOSGI_TEST) : $(NOSGI_TEST_EXE) - $(NOSGI_TEST_EXE) -@@ -96,9 +108,9 @@ - - %.out: %.cpp - $(CXX) $(CXXFLAGS) $< -c -USINGLE -DMAIN -g -o $*.o -- $(CXX) $(CXXFLAGS) $*.o $(LIBS) -o $* -+ $(CXX) $(CXXFLAGS) $*.o $(LIBSTLPORT) $(LIBS) -o $* - ./$* > $@ -- -rm -f $* -+# -rm -f $* - - %.s: %.cpp - $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/gcc7.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/gcc7.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/gcc7.mak Sat Feb 24 10:45:23 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/gcc7.mak Sun Aug 11 18:59:25 2002 -@@ -36,7 +36,7 @@ - CC = c++ - CXX = $(CC) - --CXXFLAGS = -Wall -fhandle-exceptions -g ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -D__STL_NO_SGI_IOSTREAMS -D__STL_DEBUG_UNINITIALIZED -+CXXFLAGS = -Wall -fhandle-exceptions -g ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -D_STLP_NO_OWN_IOSTREAMS -D_STLP_DEBUG_UNINITIALIZED - - check: $(TEST) - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/hp.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/hp.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/hp.mak Sat Feb 24 10:45:23 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/hp.mak Sun Aug 11 18:59:25 2002 -@@ -37,7 +37,7 @@ - CC = CC - CXX = $(CC) - --CXXFLAGS = -w ${STL_INCL} -D__STL_NO_CUSTOM_IO -D__SGI_STL_OWN_IOSTREAMS -+CXXFLAGS = -w ${STL_INCL} -D_STLP_NO_CUSTOM_IO - - LIBS = -lm - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/hpacc.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/hpacc.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/hpacc.mak Sat Feb 24 10:45:23 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/hpacc.mak Sun Aug 11 18:59:25 2002 -@@ -36,17 +36,24 @@ - CC = aCC - CXX = $(CC) - --CXX_EXTRA_FLAGS = -Aa -DEH_DELETE_HAS_THROW_SPEC -+CXX_EXTRA_FLAGS = -AA -DEH_DELETE_HAS_THROW_SPEC - # dwa 12/22/99 -- had to turn off -ansi flag so we could use SGI IOSTREAMS - # also, test_slist won't compile with -O3/-O2 when targeting PPC. It fails - # in the assembler with 'invalid relocation type' - CXXFLAGS = -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW --D_CXXFLAGS = -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -D__STL_DEBUG -D__STL_USE_STATIC_LIB --NOSGI_CXXFLAGS = -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -D__STL_NO_SGI_IOSTREAMS -D__STL_DEBUG_UNINITIALIZED -DEH_VECTOR_OPERATOR_NEW -+D_CXXFLAGS = -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -D_STLP_DEBUG -D_STLP_USE_STATIC_LIB -+NOSGI_CXXFLAGS = -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -D_STLP_NO_OWN_IOSTREAMS -D_STLP_DEBUG_UNINITIALIZED -DEH_VECTOR_OPERATOR_NEW - - check: $(TEST) - --LIBS = -lm -lcma -+HP_VERSION=$(shell uname -r) -+ifeq (${HP_VERSION},B.10.20) -+PTHREAD_LIB=-lcma -+else -+PTHREAD_LIB=-lpthread -+endif -+ -+LIBS = $(PTHREAD_LIB) -lm - - D_LIBSTLPORT = -L../../lib -lstlport_aCC_debug - LIBSTLPORT = -L../../lib -lstlport_aCC -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/intel.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/intel.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/intel.mak Sat Feb 24 10:45:23 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/intel.mak Sun Aug 11 18:59:25 2002 -@@ -51,7 +51,7 @@ - $< > $@ - - .cpp.exe: -- $(CPP) $(CPP_PROJ) -DMAIN $< -+ $(CPP) $(CPP_PROJ) -DMAIN $< $(CPP_LIBS) - - .c.obj: - $(CPP) $(CPP_PROJ) /c $< -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/intel45.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/intel45.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/intel45.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/intel45.mak Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,109 @@ -+# Microsoft Developer Studio Generated NMAKE File, Format Version 4.10 -+# ** DO NOT EDIT ** -+ -+# TARGTYPE "Win32 (x86) Console Application" 0x0103 -+ -+ -+!IF "$(OS)" == "Windows_NT" -+NULL= -+!ELSE -+NULL=nul -+!ENDIF -+################################################################################ -+# Begin Project -+RSC=rc.exe -+CPP=icl.exe -+LINK32=xilink.exe -+ -+OUTDIR=. -+INTDIR=. -+ -+# set this directories -+STL_PATH=..\.. -+ -+Dep_stl = TestClass.obj main.obj nc_alloc.obj \ -+random_number.obj test_algo.obj test_algobase.obj test_bit_vector.obj test_deque.obj \ -+test_hash_map.obj test_hash_set.obj test_list.obj test_map.obj test_rope.obj test_set.obj \ -+test_slist.obj test_vector.obj test_string.obj test_bitset.obj test_valarray.obj -+ -+CPP_LIBS = /link /incremental:no /LIBPATH:$(STL_PATH)\lib -+ -+#disable warnings complaining about debug ...info exceeded.... -+CPP_PRJ_EXTRA = /Qwd985 -+CPP_PRJ_CMN = /nologo /W3 /GR /GX /DWIN32 /D_WINDOWS /D_CONSOLE /I$(STL_PATH)\stlport /I. -+ -+# -+LIBTYPE = STATIC -+# LIBTYPE = DYNAMIC -+# -+#DEBUG = STL -+DEBUG = ON -+#DEBUG = -+# -+IOS = SGI -+#IOS = NOSGI -+#IOS = NONE -+ -+!IF "$(IOS)" == "NOSGI" -+CPP_PRJ_IOS = /D_STLP_NO_OWN_IOSTREAMS -+!ELSEIF "$(IOS)" == "NONE" -+CPP_PRJ_IOS = /D_STLP_NO_IOSTREAM -+!ELSE -+CPP_PRJ_IOS = -+!ENDIF -+ -+#MT/MD etc should be LAST in CPP_PRJ_LIBTYP string!!! -+#Library selection should be BEFORE debug processing!!! -+!IF "$(LIBTYPE)" == "STATIC" -+CPP_PRJ_LIBTYP = /MT -+!ELSE -+CPP_PRJ_LIBTYP = /MD -+!ENDIF -+ -+!IF "$(DEBUG)" == "" -+CPP_PRJ_DBG = /DNDEBUG /O2 /Qsox- -+!ELSE -+CPP_PRJ_LIBTYP = $(CPP_PRJ_LIBTYP)d -+CPP_PRJ_DBG = /D_DEBUG /Od -+!IF "$(DEBUG)" == "STL" -+CPP_PRJ_DBG = $(CPP_PRJ_DBG) /D_STLP_DEBUG -+!ENDIF -+CPP_PRJ_CMN = $(CPP_PRJ_CMN) /Zi /Gm -+!ENDIF -+ -+CPP_PROJ = $(CPP_PRJ_CMN) $(CPP_PRJ_EXTRA) $(CPP_PRJ_IOS) $(CPP_PRJ_LIBTYP) $(CPP_PRJ_DBG) -+ -+check: eh_test.out -+ -+eh_test.out : $(Dep_stl) -+ $(CPP) $(CPP_PROJ) $(Dep_stl) /Feeh_test.exe $(CPP_LIBS) -+ cd ..\..\lib -+ ..\test\eh\eh_test.exe -s 100 -+ echo done -+ -+clean : -+ -@erase "$(INTDIR)\*.obj" -+ -@erase "$(OUTDIR)\*.exe" -+ -@erase "$(OUTDIR)\*.obj" -+ -+ -+.exe.out: -+ $< > $@ -+ -+.cpp.exe: -+ $(CPP) $(CPP_PROJ) -DMAIN $< -+ -+.c.obj: -+ $(CPP) $(CPP_PROJ) /c $< -+ -+.cpp.obj: -+ $(CPP) $(CPP_PROJ) /c $< -+ -+.cxx.obj: -+ $(CPP) $(CPP_PROJ) /c $< -+ -+.cpp.E: -+ $(CPP) $(CPP_PROJ) -E $< >$*.E -+ -+.cpp.sbr: -+ $(CPP) $(CPP_PROJ) $< -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/intel50.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/intel50.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/intel50.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/intel50.mak Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,115 @@ -+# Microsoft Developer Studio Generated NMAKE File, Format Version 4.10 -+# ** DO NOT EDIT ** -+ -+# TARGTYPE "Win32 (x86) Console Application" 0x0103 -+ -+ -+!IF "$(OS)" == "Windows_NT" -+NULL= -+!ELSE -+NULL=nul -+!ENDIF -+################################################################################ -+# Begin Project -+RSC=rc.exe -+CPP=icl.exe -+LINK32=xilink.exe -+ -+OUTDIR=. -+INTDIR=. -+ -+# set this directories -+STL_PATH=..\.. -+ -+Dep_stl = TestClass.obj main.obj nc_alloc.obj \ -+random_number.obj test_algo.obj test_algobase.obj test_bit_vector.obj test_deque.obj \ -+test_hash_map.obj test_hash_set.obj test_list.obj test_map.obj test_rope.obj test_set.obj \ -+test_slist.obj test_vector.obj test_string.obj test_bitset.obj test_valarray.obj -+ -+# linker finds proper STLport lib automatically, only path to the library is needed -+CPP_PRJ_LINK = /link /incremental:no /LIBPATH:$(STL_PATH)\lib -+ -+#disable warnings complaining about debug ...info exceeded.... -+CPP_PRJ_EXTRA = /Qwd985 -+CPP_PRJ_CMN = /nologo /W3 /GR /GX /DWIN32 /D_WINDOWS /D_CONSOLE /I$(STL_PATH)\stlport /I. -+ -+# -+LIBTYPE = STATIC -+# LIBTYPE = DYNAMIC -+# -+#DEBUG = STL -+DEBUG = ON -+#DEBUG = -+# -+IOS = SGI -+#IOS = NOSGI -+#IOS = NONE -+ -+!IF "$(IOS)" == "NOSGI" -+CPP_PRJ_IOS = /D_STLP_NO_SGI_IOSTREAMS -+!ELSEIF "$(IOS)" == "NONE" -+CPP_PRJ_IOS = /D_STLP_NO_IOSTREAM -+!ELSE -+CPP_PRJ_IOS = -+!ENDIF -+ -+#MT/MD etc should be LAST in CPP_PRJ_LIBTYP string!!! -+#Library selection should be BEFORE debug processing!!! -+!IF "$(LIBTYPE)" == "STATIC" -+CPP_PRJ_LIBTYP = /D_STLP_USE_STATIC_LIB /MT -+!ELSE -+CPP_PRJ_LIBTYP = /D_STLP_USE_DYNAMIC_LIB /MD -+!ENDIF -+ -+!IF "$(DEBUG)" == "" -+CPP_PRJ_DBG = /DNDEBUG /O2 /Qsox- -+!ELSE -+CPP_PRJ_LIBTYP = $(CPP_PRJ_LIBTYP)d -+CPP_PRJ_DBG = /D_DEBUG /Od -+!IF "$(DEBUG)" == "STL" -+CPP_PRJ_DBG = $(CPP_PRJ_DBG) /D_STLP_DEBUG -+!ENDIF -+CPP_PRJ_CMN = $(CPP_PRJ_CMN) /Zi /Gm -+!ENDIF -+ -+CPP_IGNORE_LIB = LIBCMT -+#CPP_PRJ_LINK = $(CPP_PRJ_LINK) /NODEFAULTLIB:$(CPP_IGNORE_LIB) -+CPP_PRJ_LINK = $(CPP_PRJ_LINK) /VERBOSE:LIB -+ -+CPP_PROJ = $(CPP_PRJ_CMN) $(CPP_PRJ_EXTRA) $(CPP_PRJ_IOS) $(CPP_PRJ_LIBTYP) $(CPP_PRJ_DBG) -+ -+check: eh_test.out -+ -+eh_test.out : $(Dep_stl) -+ $(CPP) $(CPP_PROJ) $(Dep_stl) /Feeh_test.exe $(CPP_PRJ_LINK) -+# fbp : this is to locate DLL -+ cd ..\..\lib -+ ..\test\eh\eh_test.exe -s 100 -+ echo done -+ -+clean : -+ -@erase "$(INTDIR)\*.obj" -+ -@erase "$(OUTDIR)\*.exe" -+ -@erase "$(OUTDIR)\*.obj" -+ -+ -+.exe.out: -+ $< > $@ -+ -+.cpp.exe: -+ $(CPP) $(CPP_PROJ) -DMAIN $< $(CPP_PRJ_LINK) -+ -+.c.obj: -+ $(CPP) $(CPP_PROJ) /c $< -+ -+.cpp.obj: -+ $(CPP) $(CPP_PROJ) /c $< -+ -+.cxx.obj: -+ $(CPP) $(CPP_PROJ) /c $< -+ -+.cpp.E: -+ $(CPP) $(CPP_PROJ) -E $< >$*.E -+ -+.cpp.sbr: -+ $(CPP) $(CPP_PROJ) $< -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/kai.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/kai.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/kai.mak Sat Feb 24 10:45:23 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/kai.mak Sun Aug 11 18:59:25 2002 -@@ -28,13 +28,13 @@ - CC = KCC - CXX = $(CC) - --CXXFLAGS = -w -mt --one_per ${STL_INCL} -D__STL_USE_NEWALLOC -DEH_VECTOR_OPERATOR_NEW -DEH_DELETE_HAS_THROW_SPEC -+CXXFLAGS = -w -mt --one_per ${STL_INCL} -D_STLP_USE_NEWALLOC -DEH_VECTOR_OPERATOR_NEW -DEH_DELETE_HAS_THROW_SPEC - - # This is to test with native STL --# CXXFLAGS = -w -mt --one_per -D__STL_USE_NEWALLOC -DEH_NO_SGI_STL -DEH_NEW_HEADERS -DEH_VECTOR_OPERATOR_NEW -DEH_DELETE_HAS_THROW_SPEC -+# CXXFLAGS = -w -mt --one_per -D_STLP_USE_NEWALLOC -DEH_NO_SGI_STL -DEH_NEW_HEADERS -DEH_VECTOR_OPERATOR_NEW -DEH_DELETE_HAS_THROW_SPEC - - # This is to test with STLport iostreams --LIBS = -L../../libstlport -lstlport -lm -+LIBS = -L../../lib -lstlport_kcc -lm - - LIBSTDCXX = - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/locale.cpp tripwire-2.3.1-2/src/STLport-4.0/test/eh/locale.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/locale.cpp Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/locale.cpp Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,60 @@ -+#include -+#include -+#include -+#include -+ -+using namespace std; -+ -+void main() -+{ -+ try -+ { -+ locale c_loc; -+ //locale sys(c_loc, "LC_TIME=UKR_UKR.OCP;LC_NUMERIC=RUS_RUS.OCP;LC_CTYPE=ukr_ukr.ocp;", locale::numeric | locale::time | locale::ctype); -+ locale sys(".ocp"); -+ locale::global(sys); -+ cin.imbue(sys); -+ cout.imbue(sys); -+ -+ cout<<"Locale name is: "<>value; -+ cout<& num_punct=use_facet >(cout.getloc()); -+ cout << num_punct.decimal_point() << '\n'; -+ const time_put > >& time_fac= -+ use_facet > > >(cout.getloc()); -+ time_fac.put(cout, cout, NULL, cur_time, 'x'); cout<<'\n'; -+ time_fac.put(cout, cout, NULL, cur_time, 'x', '#'); cout<<'\n'; -+ time_fac.put(cout, cout, NULL, cur_time, 'X'); cout<<'\n'; -+ time_fac.put(cout, cout, NULL, cur_time, 'c'); cout<<'\n'; -+ time_fac.put(cout, cout, NULL, cur_time, 'c', '#'); cout<<'\n'; -+ time_fac.put(cout, cout, NULL, cur_time, 'I'); cout<<'\n'; -+ -+ const ctype& char_type=use_facet >(cout.getloc()); -+ if(char_type.is(ctype_base::upper, '')) puts("Upper"); -+ if(char_type.is(ctype_base::lower, '¯')) puts("Lower"); -+ puts("Next"); -+ if(isupper('', cout.getloc())) puts("Upper"); -+ if(islower('¯', cout.getloc())) puts("Lower"); -+ /*for(int ch=128; ch<256; ch++) -+ printf("Character %c (%d) - upper %c, lower %c\n",(char)ch, ch,toupper((char)ch, cout.getloc()), tolower((char)ch, cout.getloc()));*/ -+ } -+ catch(exception &e) -+ { -+ cout<<"Exception fired:\n"< - #endif - --#if defined(macintosh) || defined (_MAC) && defined(__MWERKS__) -+#if defined(macintosh)&&(!defined(__MRC__) && !defined(__SC__)) || defined (_MAC) && defined(__MWERKS__) - - # include - # include -@@ -143,7 +143,7 @@ - # include - # endif - --int __STL_CALL main(int argc, char** argv) -+int _STLP_CALL main(int argc, char** argv) - { - #if defined( __MWERKS__ ) && defined( macintosh ) // Get command line. - argc = ccommand(&argv); -@@ -171,6 +171,9 @@ - - int cur_argv; - char *p, *p1; -+#if defined (EH_NEW_IOSTREAMS) -+ std::ios_base::sync_with_stdio(false); -+#endif - - cerr << argv[0]<<" : Exception handling testsuite.\n"; - cerr.flush(); -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/mingw32.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/mingw32.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/mingw32.mak Sat Feb 24 10:45:25 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/mingw32.mak Sun Aug 11 18:59:26 2002 -@@ -40,14 +40,15 @@ - # also, test_slist won't compile with -O3/-O2 when targeting PPC. It fails - # in the assembler with 'invalid relocation type' - CXXFLAGS = -Wall -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW --D_CXXFLAGS = -Wall -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -D__STL_DEBUG -D__STL_USE_STATIC_LIB --NOSGI_CXXFLAGS = -Wall -g -O2 ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -D__STL_NO_SGI_IOSTREAMS -D__STL_DEBUG_UNINITIALIZED -DEH_VECTOR_OPERATOR_NEW -+D_CXXFLAGS = -Wall -g -O ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -D_STLP_DEBUG -D_STLP_USE_STATIC_LIB -+NOSGI_CXXFLAGS = -Wall -g -O2 ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -D_STLP_NO_OWN_IOSTREAMS -D_STLP_DEBUG_UNINITIALIZED -DEH_VECTOR_OPERATOR_NEW - - check: $(TEST) - - LIBS = -lm --D_LIBSTLPORT = -L../../lib -lstlport_mingw32_debug --LIBSTLPORT = -L../../lib -lstlport_mingw32 -+ -+D_LIBSTLPORT = -L../../lib -lstlport_mingw32_debug_static -+LIBSTLPORT = -L../../lib -lstlport_mingw32_static - - all: $(TEST_EXE) $(D_TEST_EXE) $(NOSGI_TEST_EXE) - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/mwerks_debug_prefix.h tripwire-2.3.1-2/src/STLport-4.0/test/eh/mwerks_debug_prefix.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/mwerks_debug_prefix.h Sat Feb 24 10:45:25 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/mwerks_debug_prefix.h Sun Aug 11 18:59:26 2002 -@@ -1,5 +1,4 @@ - //mwerks_debug_prefix.h --#define __SGI_STL_OWN_IOSTREAMS 1 --#define __STL_NO_FORCE_INSTANTIATE 1// for debugging -+#define _STLP_NO_FORCE_INSTANTIATE 1// for debugging - #define EH_VECTOR_OPERATOR_NEW 1 --#define __STL_DEBUG 1 // enable the use of allocation debugging -+#define _STLP_DEBUG 1 // enable the use of allocation debugging -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/mwerks_nosgi_debug_prefix.h tripwire-2.3.1-2/src/STLport-4.0/test/eh/mwerks_nosgi_debug_prefix.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/mwerks_nosgi_debug_prefix.h Sat Feb 24 10:45:25 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/mwerks_nosgi_debug_prefix.h Sun Aug 11 18:59:26 2002 -@@ -1,5 +1,5 @@ - //mwerks_nosgi_debug_prefix.h --#define __STL_NO_SGI_IOSTREAMS 1 --#define __STL_NO_FORCE_INSTANTIATE 1 // for debugging --#define __STL_DEBUG_UNINITIALIZED 1 // enable the use of allocation debugging -+#define _STLP_NO_SGI_IOSTREAMS 1 -+#define _STLP_NO_FORCE_INSTANTIATE 1 // for debugging -+#define _STLP_DEBUG_UNINITIALIZED 1 // enable the use of allocation debugging - #define EH_VECTOR_OPERATOR_NEW 1 -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/mwerks_nosgi_prefix.h tripwire-2.3.1-2/src/STLport-4.0/test/eh/mwerks_nosgi_prefix.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/mwerks_nosgi_prefix.h Sat Feb 24 10:45:25 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/mwerks_nosgi_prefix.h Sun Aug 11 18:59:26 2002 -@@ -1,5 +1,5 @@ - //mwerks_nosgi_prefix.h --#define __STL_NO_SGI_IOSTREAMS 1 --#define __STL_NO_FORCE_INSTANTIATE 1 // for debugging -+#define _STLP_NO_SGI_IOSTREAMS 1 -+#define _STLP_NO_FORCE_INSTANTIATE 1 // for debugging - #define EH_VECTOR_OPERATOR_NEW 1 - #define NDEBUG 1 -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/mwerks_prefix.h tripwire-2.3.1-2/src/STLport-4.0/test/eh/mwerks_prefix.h ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/mwerks_prefix.h Sat Feb 24 10:45:25 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/mwerks_prefix.h Sun Aug 11 18:59:26 2002 -@@ -1,5 +1,4 @@ - //mwerks_prefix.h --#define __SGI_STL_OWN_IOSTREAMS 1 --#define __STL_NO_FORCE_INSTANTIATE 1// for debugging -+#define _STLP_NO_FORCE_INSTANTIATE 1// for debugging - #define EH_VECTOR_OPERATOR_NEW 1 - #define NDEBUG 1 -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/nc_alloc.cpp tripwire-2.3.1-2/src/STLport-4.0/test/eh/nc_alloc.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/nc_alloc.cpp Sat Feb 24 10:45:25 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/nc_alloc.cpp Sun Aug 11 18:59:26 2002 -@@ -222,7 +222,7 @@ - return p; - } - --void* __STL_CALL operator new(size_t s) -+void* _STLP_CALL operator new(size_t s) - #ifdef EH_DELETE_HAS_THROW_SPEC - throw(EH_STD::bad_alloc) - #endif -@@ -231,7 +231,7 @@ - } - - #ifdef EH_USE_NOTHROW --void* __STL_CALL operator new(size_t size, const EH_STD::nothrow_t&) throw() -+void* _STLP_CALL operator new(size_t size, const EH_STD::nothrow_t&) throw() - { - try - { -@@ -245,13 +245,13 @@ - #endif - - # if defined (EH_VECTOR_OPERATOR_NEW) --void* __STL_CALL operator new[](size_t size ) throw(EH_STD::bad_alloc) -+void* _STLP_CALL operator new[](size_t size ) throw(EH_STD::bad_alloc) - { - return OperatorNew( size ); - } - - #ifdef EH_USE_NOTHROW --void* __STL_CALL operator new[](size_t size, const EH_STD::nothrow_t&) throw() -+void* _STLP_CALL operator new[](size_t size, const EH_STD::nothrow_t&) throw() - { - try - { -@@ -264,16 +264,16 @@ - } - #endif - --void __STL_CALL operator delete[](void* ptr) throw() -+void _STLP_CALL operator delete[](void* ptr) throw() - { - operator delete( ptr ); - } - # endif - - # if defined (EH_DELETE_HAS_THROW_SPEC) --void __STL_CALL operator delete(void* s) throw() -+void _STLP_CALL operator delete(void* s) throw() - # else --void __STL_CALL operator delete(void* s) -+void _STLP_CALL operator delete(void* s) - # endif - { - if ( s != 0 ) -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/sgi_mipspro.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/sgi_mipspro.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/sgi_mipspro.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/sgi_mipspro.mak Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,62 @@ -+# ;;; -*- Mode:makefile;-*- -+# Generated automatically from Makefile.in by configure. -+# This requires GNU make. -+ -+SHELL=/bin/sh -+ -+# srcdir = . -+# VPATH = . -+ -+ -+STL_INCL=-I${PWD}/../../stlport/ -+ -+# STL_INCL= -DEH_NO_SGI_STL -+ -+AUX_LIST=TestClass.o main.o nc_alloc.o random_number.o -+ -+TEST_LIST=test_algo.o \ -+test_algobase.o test_list.o test_slist.o \ -+test_bit_vector.o test_vector.o \ -+test_deque.o test_set.o test_map.o \ -+test_hash_map.o test_hash_set.o test_rope.o \ -+test_string.o test_bitset.o test_valarray.o -+ -+LIST=${AUX_LIST} ${TEST_LIST} -+ -+OBJECTS = $(LIST) -+EXECS = $(LIST:%.o=%) -+TESTS = $(LIST:%.o=%.out) -+TEST_EXE = eh_test -+TEST = eh_test.out -+ -+CC = CC -+CXX = $(CC) -+ -+# CXXFLAGS = -J 4 -ansi -LANG:std -I. ${STL_INCL} ${DEBUG_FLAGS} -I. -D_STLP_NO_OWN_IOSTREAMS -D_STLP_NO_NEW_IOSTREAMS -+CXXFLAGS = -J 4 -ansi -LANG:std -I. ${STL_INCL} ${DEBUG_FLAGS} -I. -+ -+LIBS = -L../../lib -lstlport_mipspro -lm -+LIBSTDCXX = -+ -+.SUFFIXES: .cpp .i .o .out .res -+ -+check: $(TEST) -+ -+$(TEST) : $(OBJECTS) -+ $(CXX) $(CXXFLAGS) $(OBJECTS) $(LIBS) -o $(TEST_EXE) -+ LD_LIBRARY_PATH="../../lib:$(LD_LIBRARY_PATH)" ./$(TEST_EXE) -s 100 -+ -+.cpp.o: -+ $(CXX) $(CXXFLAGS) $< -c -o $@ -+ -+.cpp.i: -+ $(CXX) $(CXXFLAGS) $< -E > $@ -+ -+%.out: %.cpp -+ $(CXX) $(CXXFLAGS) $*.cpp -c -USINGLE -DMAIN -g -o $*.o -+ $(CXX) $(CXXFLAGS) $*.o $(LIBS) -o $* -+ ./$* -q -+ -rm -f $* -+ -+clean: -+ -rm -fr ${TEST_EXE} *.o *.rpo *.obj *.out core *~ Templates.DB SunWS_cache cxx_repository -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/sunpro-64.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/sunpro-64.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/sunpro-64.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/sunpro-64.mak Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,69 @@ -+# ;;; -*- Mode:makefile;-*- -+# Generated automatically from Makefile.in by configure. -+# This requires GNU make. -+ -+ -+SHELL=/bin/sh -+ -+# point this to proper location -+STL_INCL= -I${PWD}/../../stlport -+ -+# STL_INCL= -DEH_NO_SGI_STL -+ -+AUX_LIST=TestClass.cpp main.cpp nc_alloc.cpp random_number.cpp -+ -+TEST_LIST=test_algo.cpp \ -+test_algobase.cpp test_list.cpp test_slist.cpp \ -+test_bit_vector.cpp test_vector.cpp \ -+test_deque.cpp test_set.cpp test_map.cpp \ -+test_hash_map.cpp test_hash_set.cpp test_rope.cpp \ -+test_string.cpp test_bitset.cpp test_valarray.cpp -+ -+LIST=${AUX_LIST} ${TEST_LIST} -+ -+OBJECTS = $(LIST:%.cpp=%.o) $(STAT_MODULE) -+EXECS = $(LIST:%.cpp=%) -+TESTS = $(LIST:%.cpp=%.out) -+TEST_EXE = eh_test -+TEST = eh_test.out -+ -+CC = CC -+CXX = $(CC) -+ -+CXXFLAGS = ${STL_INCL} -xarch=v9 -library=no%Cstd -features=rtti -DEH_VECTOR_OPERATOR_NEW -DEH_DELETE_HAS_THROW_SPEC -xildoff -g -D_REENTRANT -DNO_FAST_ALLOCATOR -+ -+# This is to test with native STL -+# CXXFLAGS = +w2 -xildoff -D_STLP_USE_NEWALLOC -DEH_NO_SGI_STL -DEH_NEW_HEADERS -DEH_VECTOR_OPERATOR_NEW -DEH_DELETE_HAS_THROW_SPEC -+ -+ -+LIBS = -lm -+LIBSTDCXX = -+ -+LIBSTLPORT = -library=no%Cstd -L../../lib -lstlport_sunpro64 -+ -+ -+check: $(TEST) -+ -+$(TEST) : $(OBJECTS) -+ $(CXX) $(CXXFLAGS) $(OBJECTS) ${LIBSTLPORT} $(LIBS) -o $(TEST_EXE) -+ LD_LIBRARY_PATH="../../lib;${LD_LIBRARY_PATH}" ./$(TEST_EXE) -s 100 -+ -+SUFFIXES: .cpp.o.out.res -+ -+%.o : %.cpp -+ $(CXX) $(CXXFLAGS) $< -c -o $@ -+ -+%.i : %.cpp -+ $(CXX) $(CXXFLAGS) $< -E -H > $@ -+ -+%.out: %.cpp -+ $(CXX) $(CXXFLAGS) $< -c -USINGLE -DMAIN -g -o $*.o -+ $(CXX) $(CXXFLAGS) $*.o $(LIBS) -o $* -+ ./$* -q -+ -rm -f $* -+ -+%.s: %.cpp -+ $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ -+ -+clean: -+ -rm -fr ${TEST_EXE} *.o *.rpo *.obj *.out core *~ Templates.DB SunWS_cache -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/sunpro.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/sunpro.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/sunpro.mak Sat Feb 24 10:45:25 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/sunpro.mak Sun Aug 11 18:59:26 2002 -@@ -2,14 +2,11 @@ - # Generated automatically from Makefile.in by configure. - # This requires GNU make. - --# SHELL=/bin/sh --# srcdir = . --# VPATH = . - - SHELL=/bin/sh - - # point this to proper location --STL_INCL= -I../../stlport/SC5 -+STL_INCL= -I${PWD}/../../stlport - - # STL_INCL= -DEH_NO_SGI_STL - -@@ -33,21 +30,25 @@ - CC = CC - CXX = $(CC) - --CXXFLAGS = +w2 -mt -features=rtti ${STL_INCL} --# CXXFLAGS = +w2 ${STL_INCL} -+# CXXFLAGS = ${STL_INCL} -library=no%Cstd -qoption ccfe -instlib=../../lib/libstlport_sunpro.so -features=rtti -DEH_VECTOR_OPERATOR_NEW -DEH_DELETE_HAS_THROW_SPEC - -+CXXFLAGS = ${STL_INCL} -library=no%Cstd -features=rtti -DEH_VECTOR_OPERATOR_NEW -DEH_DELETE_HAS_THROW_SPEC -+ -+# This is to test with native STL -+# CXXFLAGS = +w2 -xildoff -D_STLP_USE_NEWALLOC -DEH_NO_SGI_STL -DEH_NEW_HEADERS -DEH_VECTOR_OPERATOR_NEW -DEH_DELETE_HAS_THROW_SPEC - - - LIBS = -lm -+LIBSTDCXX = -+ -+LIBSTLPORT = -library=no%Cstd -L../../lib -lstlport_sunpro - --LIBSTLPORT = -L../../lib -lstlport_sunpro - - check: $(TEST) - - $(TEST) : $(OBJECTS) -- echo 'Info: For CC 4.x, warnings from ld in the form "symbol `XXX' has differing sizes" are normal.' - $(CXX) $(CXXFLAGS) $(OBJECTS) ${LIBSTLPORT} $(LIBS) -o $(TEST_EXE) -- LD_LIBRARY_PATH="../../lib:$(LD_LIBRARY_PATH)" $(TEST_EXE) -s 100 -+ LD_LIBRARY_PATH="../../lib;${LD_LIBRARY_PATH}" ./$(TEST_EXE) -s 100 - - SUFFIXES: .cpp.o.out.res - -@@ -59,18 +60,12 @@ - - %.out: %.cpp - $(CXX) $(CXXFLAGS) $< -c -USINGLE -DMAIN -g -o $*.o -- $(CXX) $(CXXFLAGS) $*.o $(LIBS) -o $* -- ./$* -q -- -rm -f $* -+ $(CXX) $(CXXFLAGS) $*.o $(LIBS) ${LIBSTLPORT} -o $* -+ LD_LIBRARY_PATH="../../lib;${LD_LIBRARY_PATH}" ./$* -+ - - %.s: %.cpp - $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ - - clean: - -rm -fr ${TEST_EXE} *.o *.rpo *.obj *.out core *~ Templates.DB SunWS_cache -- -- -- -- -- -- -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/sunpro42.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/sunpro42.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/sunpro42.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/sunpro42.mak Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,76 @@ -+# ;;; -*- Mode:makefile;-*- -+# Generated automatically from Makefile.in by configure. -+# This requires GNU make. -+ -+# SHELL=/bin/sh -+# srcdir = . -+# VPATH = . -+ -+SHELL=/bin/sh -+ -+# point this to proper location -+STL_INCL= -I../../stlport -+ -+# STL_INCL= -DEH_NO_SGI_STL -+ -+AUX_LIST=TestClass.cpp main.cpp nc_alloc.cpp random_number.cpp -+ -+TEST_LIST=test_algo.cpp \ -+test_algobase.cpp test_list.cpp test_slist.cpp \ -+test_bit_vector.cpp test_vector.cpp \ -+test_deque.cpp test_set.cpp test_map.cpp \ -+test_hash_map.cpp test_hash_set.cpp test_rope.cpp \ -+test_string.cpp test_bitset.cpp test_valarray.cpp -+ -+LIST=${AUX_LIST} ${TEST_LIST} -+ -+OBJECTS = $(LIST:%.cpp=%.o) $(STAT_MODULE) -+EXECS = $(LIST:%.cpp=%) -+TESTS = $(LIST:%.cpp=%.out) -+TEST_EXE = eh_test -+TEST = eh_test.out -+ -+CC = CC -+CXX = $(CC) -+ -+CXXFLAGS = $(ARCHF) +w2 -mt -features=rtti ${STL_INCL} -+# CXXFLAGS = +w2 ${STL_INCL} -+ -+ -+ -+LIBS = -lm -+ -+LIBSTLPORT = -L../../lib -lstlport_sunpro42 -+ -+check: $(TEST) -+ -+$(TEST) : $(OBJECTS) -+ echo 'Info: For CC 4.x, warnings from ld in the form "symbol `XXX' has differing sizes" are normal.' -+ $(CXX) $(CXXFLAGS) $(OBJECTS) ${LIBSTLPORT} $(LIBS) -o $(TEST_EXE) -+ LD_LIBRARY_PATH="../../lib:$(LD_LIBRARY_PATH)" ./$(TEST_EXE) -s 100 -+ -+SUFFIXES: .cpp.o.out.res -+ -+%.o : %.cpp -+ $(CXX) $(CXXFLAGS) $< -c -o $@ -+ -+%.i : %.cpp -+ $(CXX) $(CXXFLAGS) $< -E -H > $@ -+ -+%.out: %.cpp -+ $(CXX) $(CXXFLAGS) $< -c -USINGLE -DMAIN -g -o $*.o -+ $(CXX) $(CXXFLAGS) $*.o $(LIBSTLPORT) $(LIBS) -o $* -+ ./$* -q -+ -rm -f $* -+ -+%.s: %.cpp -+ $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ -+ -+clean: -+ -rm -fr ${TEST_EXE} *.o *.rpo *.obj *.out core *~ Templates.DB SunWS_cache -+ -+ -+ -+ -+ -+ -Only in tripwire-2.3.1-2.old/src/STLport-4.0/test/eh: sunpro5.mak -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/test.cpp tripwire-2.3.1-2/src/STLport-4.0/test/eh/test.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/test.cpp Sat Feb 24 10:45:25 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/test.cpp Sun Aug 11 18:59:26 2002 -@@ -1,2 +1,42 @@ --#include -+ #include -+ #include -+ #include - -+ template -+ inline void printElements(const T& coll, const char* msg = "") -+ { -+ typename T::const_iterator it; -+ std::cout << msg; -+ for(it = coll.begin(); it != coll.end(); ++it) { -+ std::cout << *it << ' '; -+ } -+ std::cout << std:: endl; -+ } -+ -+ int main(int /* argc */, char** /* argv */) -+ { -+ std::set set1, set2; -+ std::vector aVector; -+ -+ aVector.push_back(1); -+ aVector.push_back(1); -+ -+ set1.insert(aVector.begin(), aVector.end()); -+ -+ set2.insert(1); -+ set2.insert(1); -+ -+ printElements(aVector, "vector: "); -+ printElements(set1, "set1 : "); -+ printElements(set2, "set2 : "); -+ -+ return 0; -+ } -+# if 0 -+# include -+main() -+{ -+ // std::stringstream tstr; -+ std::cout<<"hello world\n"; -+} -+# endif -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/test_algobase.cpp tripwire-2.3.1-2/src/STLport-4.0/test/eh/test_algobase.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/test_algobase.cpp Sat Feb 24 10:45:26 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/test_algobase.cpp Sun Aug 11 18:59:26 2002 -@@ -89,9 +89,10 @@ - - void test_algobase() - { -- char arr[ sizeof(TestClass) * kBufferSize ]; -- TestClass* c = (TestClass*)arr; -- WeakCheck( c, test_uninitialized_copy() ); -- WeakCheck( c, test_uninitialized_fill() ); -- WeakCheck( c, test_uninitialized_fill_n() ); -+ // force alignment -+ double arr[ sizeof(TestClass) * kBufferSize ]; -+ TestClass* c = (TestClass*)arr; -+ WeakCheck( c, test_uninitialized_copy() ); -+ WeakCheck( c, test_uninitialized_fill() ); -+ WeakCheck( c, test_uninitialized_fill_n() ); - } -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/test_bit_vector.cpp tripwire-2.3.1-2/src/STLport-4.0/test/eh/test_bit_vector.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/test_bit_vector.cpp Sat Feb 24 10:45:26 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/test_bit_vector.cpp Sun Aug 11 18:59:26 2002 -@@ -25,6 +25,7 @@ - # else - #include - # endif -+ - #include "LeakCheck.h" - #include "test_construct.h" - #include "test_assign_op.h" -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/test_deque.cpp tripwire-2.3.1-2/src/STLport-4.0/test/eh/test_deque.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/test_deque.cpp Sat Feb 24 10:45:26 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/test_deque.cpp Sun Aug 11 18:59:26 2002 -@@ -36,7 +36,7 @@ - - typedef TestClass DQTestClass; - --typedef EH_STD::__deque__ TestDeque; //*TY 04/30/2000 - removed third template parameter which is sgi extension -+typedef EH_STD::__deque__ TestDeque; - - inline sequence_container_tag - container_category(const TestDeque&) -@@ -59,11 +59,11 @@ - ConstCheck( testDeque, test_copy_construct() ); - WeakCheck( testDeque, test_insert_one(testDeque) ); - StrongCheck( testDeque, test_insert_one(testDeque,0) ); -- StrongCheck( testDeque, test_insert_one(testDeque, (int)testDeque.size()) ); -+ StrongCheck( testDeque, test_insert_one(testDeque, testDeque.size()) ); - - WeakCheck( testDeque, test_insert_n(testDeque, random_number(random_base) ) ); - StrongCheck( testDeque, test_insert_n(testDeque, random_number(random_base), 0 ) ); -- StrongCheck( testDeque, test_insert_n(testDeque, random_number(random_base), (int)testDeque.size() ) ); -+ StrongCheck( testDeque, test_insert_n(testDeque, random_number(random_base), testDeque.size() ) ); - - EH_STD::size_t insCnt = random_number(random_base); - DQTestClass *insFirst = new TestDeque::value_type[insCnt+1]; -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/test_rope.cpp tripwire-2.3.1-2/src/STLport-4.0/test/eh/test_rope.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/test_rope.cpp Sat Feb 24 10:45:27 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/test_rope.cpp Sun Aug 11 18:59:26 2002 -@@ -13,6 +13,11 @@ - * purpose. It is provided "as is" without express or implied warranty. - - ***********************************************************************************/ -+ -+# ifdef __SUNPRO_CC -+# define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1 -+# endif -+ - #include "Prefix.h" - #include "Tests.h" - #include "TestClass.h" -@@ -32,8 +37,26 @@ - #include - #endif - --// typedef rope TestRope; --typedef __STLPORT_STD::rope TestRope; -+ -+typedef STLPORT::rope TestRope; -+ -+# if ( _STLP_STATIC_TEMPLATE_DATA < 1 ) -+ -+// Instantiate TestRope static data members -+const unsigned long TestRope::_S_min_len[46] = { \ -+/* 0 */1, /* 1 */2, /* 2 */3, /* 3 */5, /* 4 */8, /* 5 */13, /* 6 */21, \ -+/* 7 */34, /* 8 */55, /* 9 */89, /* 10 */144, /* 11 */233, /* 12 */377, \ -+/* 13 */610, /* 14 */987, /* 15 */1597, /* 16 */2584, /* 17 */4181, \ -+/* 18 */6765ul, /* 19 */10946ul, /* 20 */17711ul, /* 21 */28657ul, /* 22 */46368ul, \ -+/* 23 */75025ul, /* 24 */121393ul, /* 25 */196418ul, /* 26 */317811ul, \ -+/* 27 */514229ul, /* 28 */832040ul, /* 29 */1346269ul, /* 30 */2178309ul, \ -+/* 31 */3524578ul, /* 32 */5702887ul, /* 33 */9227465ul, /* 34 */14930352ul, \ -+/* 35 */24157817ul, /* 36 */39088169ul, /* 37 */63245986ul, /* 38 */102334155ul, \ -+/* 39 */165580141ul, /* 40 */267914296ul, /* 41 */433494437ul, \ -+/* 42 */701408733ul, /* 43 */1134903170ul, /* 44 */1836311903ul, \ -+/* 45 */2971215073ul }; -+ -+# endif /* ( _STLP_STATIC_TEMPLATE_DATA < 1 ) */ - - inline sequence_container_tag - container_category(const TestRope&) -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/vc-static.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/vc-static.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/vc-static.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/vc-static.mak Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,74 @@ -+# Microsoft Developer Studio Generated NMAKE File, Format Version 4.10 -+# ** DO NOT EDIT ** -+ -+# TARGTYPE "Win32 (x86) Console Application" 0x0103 -+ -+ -+!IF "$(OS)" == "Windows_NT" -+NULL= -+!ELSE -+NULL=nul -+!ENDIF -+################################################################################ -+# Begin Project -+RSC=rc.exe -+CPP=cl.exe -+F90=fl32.exe -+ -+OUTDIR=. -+INTDIR=. -+ -+# set this directories -+STL_INCL=../../stlport -+VC_INCL=. -+# d:/vc41/msdev/include -+ -+Dep_stl = TestClass.obj main.obj nc_alloc.obj \ -+random_number.obj test_algo.obj test_algobase.obj test_bit_vector.obj test_deque.obj \ -+test_hash_map.obj test_hash_set.obj test_list.obj test_map.obj test_rope.obj test_set.obj \ -+test_slist.obj test_vector.obj test_string.obj test_bitset.obj test_valarray.obj -+ -+LINK32=link.exe -+ -+# CPP_PROJ=/nologo /Gr /MDd /W3 /GX /GR /D "WIN32" /D "_CONSOLE" /I$(STL_INCL) /I. /D "_STLP_DEBUG" -+CPP_PROJ=/nologo /MT /W3 /GX /GR /D "WIN32" /D "_CONSOLE" /I$(STL_INCL) /I. -+ -+# linker finds proper STLport lib automatically, only path to the -+# library is needed -+CPP_LIBS = /link /libpath:"..\..\lib" -+ -+check: eh_test.exe -+# fbp : this is to locate DLL -+ cd ..\..\lib -+ ..\test\eh\eh_test.exe -s 100 -+ echo done -+ -+eh_test.exe : $(Dep_stl) -+ $(CC) $(CPP_PROJ) $(Dep_stl) -o eh_test.exe $(CPP_LIBS) -+ -+clean : -+ -@erase "$(INTDIR)\*.obj" -+ -@erase "$(OUTDIR)\*.exe" -+ -@erase "$(OUTDIR)\*.obj" -+ -+ -+.exe.out: -+ $< > $@ -+ -+.cpp.exe: -+ $(CPP) $(CPP_PROJ) -DMAIN $< $(CPP_LIBS) -+ -+.c.obj: -+ $(CPP) $(CPP_PROJ) /c $< -+ -+.cpp.obj: -+ $(CPP) $(CPP_PROJ) /c $< -+ -+.cxx.obj: -+ $(CPP) $(CPP_PROJ) /c $< -+ -+.cpp.E: -+ $(CPP) $(CPP_PROJ) -E $< >$*.E -+ -+.cpp.sbr: -+ $(CPP) $(CPP_PROJ) $< -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/vc.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/vc.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/vc.mak Sat Feb 24 10:45:28 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/vc.mak Sun Aug 11 18:59:26 2002 -@@ -30,8 +30,8 @@ - - LINK32=link.exe - --CPP_PROJ=/nologo /Gr /MDd /W3 /GX /GR /D "WIN32" /D "_CONSOLE" /I$(STL_INCL) /I. /D "__STL_DEBUG" --# CPP_PROJ=/nologo /MTd /W3 /GX /GR /D "WIN32" /D "_CONSOLE" /I$(STL_INCL) /I. -+# CPP_PROJ=/nologo /Gr /MDd /W3 /GX /GR /D "WIN32" /D "_CONSOLE" /I$(STL_INCL) /I. /D "_STLP_DEBUG" /D "_STLP_NO_CUSTOM_IO" -+CPP_PROJ=/nologo /MD /W3 /GX /GR /D "WIN32" /D "_CONSOLE" /I$(STL_INCL) /I. - - # linker finds proper STLport lib automatically, only path to the - # library is needed -@@ -56,7 +56,7 @@ - $< > $@ - - .cpp.exe: -- $(CPP) $(CPP_PROJ) -DMAIN $< -+ $(CPP) $(CPP_PROJ) -DMAIN $< $(CPP_LIBS) - - .c.obj: - $(CPP) $(CPP_PROJ) /c $< -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/vc5.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/vc5.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/vc5.mak Sat Feb 24 10:45:28 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/vc5.mak Sun Aug 11 18:59:26 2002 -@@ -30,7 +30,7 @@ - - LINK32=link.exe - --CPP_PROJ=/nologo /Gr /MTd /W3 /GX /GR /D "WIN32" /D "_CONSOLE" /I$(STL_INCL) /I. /D "__STL_DEBUG" -+CPP_PROJ=/nologo /Gr /MTd /W3 /GX /GR /D "WIN32" /D "_CONSOLE" /I$(STL_INCL) /I. /D "_STLP_DEBUG" - # CPP_PROJ=/nologo /MDd /W3 /GX /GR /D "WIN32" /D "_CONSOLE" /I$(STL_INCL) /I. - - # linker finds proper STLport lib automatically, only path to the -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/vc6.mak tripwire-2.3.1-2/src/STLport-4.0/test/eh/vc6.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/eh/vc6.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/eh/vc6.mak Sun Aug 11 19:12:59 2002 -@@ -0,0 +1,116 @@ -+# Microsoft Developer Studio Generated NMAKE File, Format Version 4.10 -+# ** DO NOT EDIT ** -+ -+# TARGTYPE "Win32 (x86) Console Application" 0x0103 -+ -+ -+!IF "$(OS)" == "Windows_NT" -+NULL= -+!ELSE -+NULL=nul -+!ENDIF -+################################################################################ -+# Begin Project -+RSC=rc.exe -+CPP=cl.exe -+F90=fl32.exe -+LINK32=link.exe -+ -+OUTDIR=. -+INTDIR=. -+ -+# set this directories -+STL_PATH=..\.. -+ -+Dep_stl = TestClass.obj main.obj nc_alloc.obj \ -+random_number.obj test_algo.obj test_algobase.obj test_bit_vector.obj test_deque.obj \ -+test_hash_map.obj test_hash_set.obj test_list.obj test_map.obj test_rope.obj test_set.obj \ -+test_slist.obj test_vector.obj test_string.obj test_bitset.obj test_valarray.obj -+ -+# linker finds proper STLport lib automatically, only path to the library is needed -+CPP_PRJ_LINK = /link /incremental:no /LIBPATH:$(STL_PATH)\lib -+ -+#disable warnings complaining about debug ...info exceeded.... -+CPP_PRJ_EXTRA = -+CPP_PRJ_CMN = /nologo /W3 /GR /GX /DWIN32 /D_WINDOWS /D_CONSOLE /I$(STL_PATH)\stlport /I. -+ -+# -+LIBTYPE = STATIC -+# LIBTYPE = DYNAMIC -+# -+#DEBUG = STL -+DEBUG = ON -+#DEBUG = -+# -+IOS = SGI -+#IOS = NOSGI -+#IOS = NONE -+ -+!IF "$(IOS)" == "NOSGI" -+CPP_PRJ_IOS = /D_STLP_NO_OWN_IOSTREAMS -+!ELSEIF "$(IOS)" == "NONE" -+CPP_PRJ_IOS = /D_STLP_NO_IOSTREAM -+!ELSE -+CPP_PRJ_IOS = -+!ENDIF -+ -+#MT/MD etc should be LAST in CPP_PRJ_LIBTYP string!!! -+#Library selection should be BEFORE debug processing!!! -+!IF "$(LIBTYPE)" == "STATIC" -+CPP_PRJ_LIBTYP = /D_STLP_USE_STATIC_LIB /MT -+!ELSE -+CPP_PRJ_LIBTYP = /D_STLP_USE_DYNAMIC_LIB /MD -+!ENDIF -+ -+!IF "$(DEBUG)" == "" -+CPP_PRJ_DBG = /DNDEBUG /O2 /Qsox- -+!ELSE -+CPP_PRJ_LIBTYP = $(CPP_PRJ_LIBTYP)d -+CPP_PRJ_DBG = /D_DEBUG /Od -+!IF "$(DEBUG)" == "STL" -+CPP_PRJ_DBG = $(CPP_PRJ_DBG) /D_STLP_DEBUG -+!ENDIF -+CPP_PRJ_CMN = $(CPP_PRJ_CMN) /Zi /Gm -+!ENDIF -+ -+CPP_IGNORE_LIB = LIBCMT -+#CPP_PRJ_LINK = $(CPP_PRJ_LINK) /NODEFAULTLIB:$(CPP_IGNORE_LIB) -+CPP_PRJ_LINK = $(CPP_PRJ_LINK) /VERBOSE:LIB -+ -+CPP_PROJ = $(CPP_PRJ_CMN) $(CPP_PRJ_EXTRA) $(CPP_PRJ_IOS) $(CPP_PRJ_LIBTYP) $(CPP_PRJ_DBG) -+ -+check: eh_test.out -+ -+eh_test.out : $(Dep_stl) -+ $(CPP) $(CPP_PROJ) $(Dep_stl) /Feeh_test.exe $(CPP_PRJ_LINK) -+# fbp : this is to locate DLL -+ cd ..\..\lib -+ ..\test\eh\eh_test.exe -s 100 -+ echo done -+ -+clean : -+ -@erase "$(INTDIR)\*.obj" -+ -@erase "$(OUTDIR)\*.exe" -+ -@erase "$(OUTDIR)\*.obj" -+ -+ -+.exe.out: -+ $< > $@ -+ -+.cpp.exe: -+ $(CPP) $(CPP_PROJ) -DMAIN $< $(CPP_PRJ_LINK) -+ -+.c.obj: -+ $(CPP) $(CPP_PROJ) /c $< -+ -+.cpp.obj: -+ $(CPP) $(CPP_PROJ) /c $< -+ -+.cxx.obj: -+ $(CPP) $(CPP_PROJ) /c $< -+ -+.cpp.E: -+ $(CPP) $(CPP_PROJ) -E $< >$*.E -+ -+.cpp.sbr: -+ $(CPP) $(CPP_PROJ) $< -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/MrCpp.mak tripwire-2.3.1-2/src/STLport-4.0/test/regression/MrCpp.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/MrCpp.mak Sat Feb 24 10:45:42 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/MrCpp.mak Sun Aug 11 18:59:26 2002 -@@ -7,7 +7,7 @@ - # "{PPCLibraries}MrCIOStreams.o" ¶ - "{STL}:lib:STLportLib{config_}.o" ¶ - "{SharedLibraries}InterfaceLib" ¶ -- "{SharedLibraries}StdCLib_3.5" ¶ -+ "{SharedLibraries}StdCLib_3.7" ¶ - "{SharedLibraries}MathLib" ¶ - "{PPCLibraries}StdCRuntime.o" ¶ - "{PPCLibraries}PPCCRuntime.o" ¶ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/ReadMe.MPW tripwire-2.3.1-2/src/STLport-4.0/test/regression/ReadMe.MPW ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/ReadMe.MPW Sat Feb 24 10:45:43 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/ReadMe.MPW Sun Aug 11 18:59:26 2002 -@@ -4,6 +4,7 @@ - # #*TY 05/23/1999 - updated for STLport-3.2 - # #*TY 08/03/1999 - updated for STLport-3.2.1 - # #*TY 05/21/2000 - updated for STLport-4.0 -+# #*TY 05/13/2001 - updated for STLport-4.1 - # - # this document describes the detailed instructions for building and running the STL testsuite (regression and eh) - # as the mpw tools, as well as building STLportLib which provides the standard conforming iostream. -@@ -32,6 +33,7 @@ - # under "{ShellDirectory}Startup Items:" directory. - # - #(# INSTALL (1) -+begin - unset STL # to unconditionally re-setup STL variable - if !"{STL}" - Set exit 0 -@@ -59,16 +61,19 @@ - else - alert "the path to ¶"¶{STL¶}¶" has been set up as: ¶n'{STL}' .¶nMake sure this is up to date." - end -+end ·· "{worksheet}" - #)# - - # =============================================================================================================== - # (2) make alias for the CIncludes folder at the same level as 'stlport' folder. - # - #(# INSTALL (2) -+begin - SendAE -e "FNDRsali" -t "Finder" -----alis "{CIncludes}:CIncludes" ·dev:null # create the alias - set alias_ `exists -a "{CIncludes}:"ÅCIncludesÅ` # get the exact name for the alias - duplicate -y "{alias_}" "{STL}:CIncludes" # copy it into the destination - delete -ay "{alias_}" # clean up -+end ·· "{worksheet}" - #)# - - -@@ -78,7 +83,10 @@ - # WARNING: THIS STEP IS QUITE TIME CONSUMING - # - #(# INSTALL (3) OPTIONAL -+begin - set -e exit 0 -+ if !"{Font}";set -e Font "Monaco";end -+ if !"{FontSize}";set -e FontSize 9;end - set self_ "{active}" - for f_ in `exists -f ¶ - "{stl}"[Â.]+ "{stl}"Å.[hc]Å ¶ -@@ -95,25 +103,29 @@ - "{stl}:test:regression:"Å.[hc]Å ¶ - "{stl}:test:eh:"Å.[hc]Å ¶ - ` -- SetFile -c 'MPS ' -label 3 "{f_}" -+ SetFile -a l "{f_}" - Open -h -r "{f_}" -- Format -l 'C/C++/Objective-C' -f "{Font}" -s "{FontSize}" "{f_}" -+ Format -l 'C/C++/Objective-C' -f "{Font}" -s "{FontSize}" "{f_}" - Close "{f_}" -+ SetFile -c 'MPS ' -label 3 -a L "{f_}" - end - for f_ in `exists -f ¶ - "{stl}:src:"Å.mak ¶ - "{stl}:test:regression:"Å.mak ¶ - "{stl}:test:eh:"Å.mak ¶ - ` -- SetFile -c 'MPS ' -label 4 "{f_}" # blue color -+ SetFile -a l "{f_}" - Open -h -r "{f_}" - Format -l 'MPW Shell Script' -f "{Font}" -s "{FontSize}" "{f_}" - Close "{f_}" -+ SetFile -c 'MPS ' -label 4 -a L "{f_}" # blue color - end - open "{self_}" -- SetFile -c 'MPS ' -label 6 "{self_}" # sky color -+ SetFile -a l "{self_}" - Format -l 'MPW Shell Script' -f "{Font}" -s "{FontSize}" "{self_}" -+ SetFile -c 'MPS ' -label 6 "{self_}" # sky color - set -e exit 1 -+end ·· "{worksheet}" - #)# - - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/accum1.cpp tripwire-2.3.1-2/src/STLport-4.0/test/regression/accum1.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/accum1.cpp Sat Feb 24 10:45:35 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/accum1.cpp Sun Aug 11 18:59:26 2002 -@@ -9,7 +9,7 @@ - #define accum1_test main - #endif - --#if !defined (STLPORT) || defined(__STL_USE_NAMESPACES) -+#if !defined (STLPORT) || defined(_STLP_USE_NAMESPACES) - using namespace std; - #endif - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/adjdiff1.cpp tripwire-2.3.1-2/src/STLport-4.0/test/regression/adjdiff1.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/adjdiff1.cpp Sat Feb 24 10:45:35 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/adjdiff1.cpp Sun Aug 11 18:59:26 2002 -@@ -22,6 +22,7 @@ - vector result(v.size()); - adjacent_difference(v.begin(), v.end(), result.begin()); - ostream_iterator iter(cout, " "); -+ // vector::iterator iter; - copy(v.begin(), v.end(), iter); - cout << endl; - copy(result.begin(), result.end(), iter); -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/bc.mak tripwire-2.3.1-2/src/STLport-4.0/test/regression/bc.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/bc.mak Sat Feb 24 10:45:36 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/bc.mak Sun Aug 11 18:59:26 2002 -@@ -26,7 +26,7 @@ - LinkerLocalOptsAtC32_osdexe = -Tpe -ap -c - ResLocalOptsAtC32_osdexe = - BLocalOptsAtC32_osdexe = --CompInheritOptsAt_osdexe = -I.;${STLINCL};${BCROOT}\INCLUDE -D_RTLDLL -D__STL_NO_SGI_IOSTREAMS; -+CompInheritOptsAt_osdexe = -I.;${STLINCL};${BCROOT}\INCLUDE -D_RTLDLL -D_STLP_NO_OWN_IOSTREAMS; - LinkerInheritOptsAt_osdexe = -x - LinkerOptsAt_osdexe = $(LinkerLocalOptsAtC32_osdexe) - ResOptsAt_osdexe = $(ResLocalOptsAtC32_osdexe) -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/bc502.mak tripwire-2.3.1-2/src/STLport-4.0/test/regression/bc502.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/bc502.mak Sat Feb 24 10:45:36 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/bc502.mak Sun Aug 11 18:59:26 2002 -@@ -248,7 +248,7 @@ - PATHASM = .; - PATHRC = .; - --# USERDEFINES = __STL_NO_SGI_IOSTREAMS -+# USERDEFINES = _STLP_NO_OWN_IOSTREAMS - SYSDEFINES = _RTLDLL;NO_STRICT;USEPACKAGES;_DEBUG - - # --------------------------------------------------------------------------- -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/bcb.mak tripwire-2.3.1-2/src/STLport-4.0/test/regression/bcb.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/bcb.mak Sat Feb 24 10:45:36 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/bcb.mak Sun Aug 11 18:59:26 2002 -@@ -248,12 +248,17 @@ - PATHASM = .; - PATHRC = .; - --# USERDEFINES = __STL_NO_SGI_IOSTREAMS --SYSDEFINES = _RTLDLL;NO_STRICT;USEPACKAGES;_DEBUG -+USERDEFINES = _DEBUG -+SYSDEFINES = NO_STRICT;USEPACKAGES - - # --------------------------------------------------------------------------- --CFLAG1 = -w- -jb -j1 -I.;..\..\stlport;$(BCB)\include; -Od -v -N -x -xp -tWCR -D$(SYSDEFINES);$(USERDEFINES) -L..\..\lib --# CFLAG1 = -w- -jb -j1 -I.;..\..\stlport;$(BCB)\include; -tWCR -D$(SYSDEFINES);$(USERDEFINES) -L..\..\lib -+# CFLAG1 = -w- -jb -j1 -I.;..\..\stlport;$(BCB)\include; -Od -v -N -x -xp -tWCR -D$(SYSDEFINES);$(USERDEFINES) -L..\..\lib -+ -+# CFLAG1 = -w- -jb -j1 -I.;..\..\stlport;$(BCB)\include; -tWCR -w-par -w-inl -w-stl -D$(SYSDEFINES);$(USERDEFINES) -+ -+CFLAG1 = -w- -jb -j1 -I.;..\..\stlport;$(BCB)\include; -Od -v -N -x -xp -tWC -D$(SYSDEFINES);$(USERDEFINES) -L..\..\lib -+ -+LDFLAGS = -L..\..\lib;$(BCB)\..\lib stlpst.lib - - .autodepend - # --------------------------------------------------------------------------- -@@ -261,18 +266,18 @@ - all : $(PROJECT) - - $(PROJECT) : $(OBJFILES) -- $(BCB)\BIN\$(BCC32) -e$(PROJECT) $(CFLAG1) $(OBJFILES) -+ $(BCB)\BIN\$(BCC32) -e$(PROJECT) $(CFLAG1) $(LDFLAGS) $(OBJFILES) - - clean: - del *.obj *.exe *.core *.tds - - # --------------------------------------------------------------------------- - .cpp.obj: -- $(BCB)\BIN\$(BCC32) $(CFLAG1) -n$(@D) -c $< -+ $(BCC32) $(CFLAG1) -n$(@D) -c $< - - .cpp.exe: -- $(BCB)\BIN\$(BCC32) $(CFLAG1) -DMAIN -n$(@D) $< -+ $(BCC32) $(CFLAG1) -DMAIN -n$(@D) $< - - .cpp.i: -- $(BCB)\BIN\$(CPP32) $(CFLAG1) -n. -Sr -Ss -Sd {$< } -+ $(CPP32) $(CFLAG1) -n. -Sr -Ss -Sd {$< } - # --------------------------------------------------------------------------- -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/binsrch2.cpp tripwire-2.3.1-2/src/STLport-4.0/test/regression/binsrch2.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/binsrch2.cpp Sat Feb 24 10:45:36 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/binsrch2.cpp Sun Aug 11 18:59:26 2002 -@@ -14,7 +14,7 @@ - #endif - static bool str_compare(const char* a_, const char* b_) - { -- return ::strcmp(a_, b_) < 0 ? 1 : 0; -+ return strcmp(a_, b_) < 0 ? 1 : 0; - } - int binsrch2_test(int, char**) - { -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/bitset1.cpp tripwire-2.3.1-2/src/STLport-4.0/test/regression/bitset1.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/bitset1.cpp Sat Feb 24 10:45:36 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/bitset1.cpp Sun Aug 11 18:59:26 2002 -@@ -1,46 +1,58 @@ - // STLport regression testsuite component. - // To compile as a separate example, please #define MAIN. - -+ - #include - #include - #include - #include - --#ifdef __STL_MSVC --#define __STL_NON_TYPE_TMPL_PARAM_BUG -+#if defined (_STLP_MSVC) && (_MSC_VER < 1300) -+# define _STLP_NON_TYPE_TMPL_PARAM_BUG -+# define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS - #endif - -+# ifdef _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS -+# define CHART -+# else -+# define CHART , allocator > -+# endif -+ - #ifdef MAIN - #define bitset1_test main - #endif - --#if !defined (STLPORT) || defined(__STL_USE_NAMESPACES) -+#if !defined (STLPORT) || defined(_STLP_USE_NAMESPACES) - using namespace std; - #endif - - int bitset1_test(int, char**) - { - cout<<"Results of bitset1_test:"< b1(0xFFFF); - bitset<13U> b2(0x1111); -+ // Boris : MSVC just cannot take it right - cout << "b1 size = " << b1.size() << endl; --# if !defined (__STL_NON_TYPE_TMPL_PARAM_BUG) -+# if !defined (_STLP_NON_TYPE_TMPL_PARAM_BUG) - cout << "b1 = "< stl_test.out < stdin - echo done - -@@ -156,7 +157,7 @@ - $< > $@ - - .cpp.exe: -- $(CPP) $(CPP_PROJ) -DMAIN $< -+ $(CPP) $(CPP_PROJ) -DMAIN $< $(CPP_LIBS) - - .c.obj: - $(CPP) $(CPP_PROJ) /c $< -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/intel45.mak tripwire-2.3.1-2/src/STLport-4.0/test/regression/intel45.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/intel45.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/intel45.mak Sun Aug 11 19:13:00 2002 -@@ -0,0 +1,210 @@ -+# Microsoft Developer Studio Generated NMAKE File, Format Version 4.10 -+# ** DO NOT EDIT ** -+ -+# TARGTYPE "Win32 (x86) Console Application" 0x0103 -+ -+ -+!IF "$(OS)" == "Windows_NT" -+NULL= -+!ELSE -+NULL=nul -+!ENDIF -+################################################################################ -+# Begin Project -+RSC=rc.exe -+CPP=icl.exe -+LINK32=xilink.exe -+ -+OUTDIR=. -+INTDIR=. -+ -+# set this directories -+STL_PATH=..\.. -+ -+Dep_stl = stl_test.obj accum1.obj accum2.obj \ -+ adjdiff0.obj adjdiff1.obj adjdiff2.obj \ -+ adjfind0.obj adjfind1.obj adjfind2.obj \ -+ advance.obj \ -+ alg1.obj alg2.obj alg3.obj alg4.obj alg5.obj \ -+ bcompos1.obj bcompos2.obj \ -+ bind1st1.obj bind1st2.obj \ -+ bind2nd1.obj bind2nd2.obj \ -+ binsert1.obj binsert2.obj \ -+ binsrch1.obj binsrch2.obj \ -+ bnegate1.obj bnegate2.obj bvec1.obj \ -+ copy1.obj copy2.obj copy3.obj copy4.obj \ -+ copyb.obj copyb0.obj \ -+ count0.obj count1.obj \ -+ countif1.obj \ -+ deque1.obj \ -+ divides.obj \ -+ eqlrnge0.obj eqlrnge1.obj eqlrnge2.obj \ -+ equal0.obj equal1.obj equal2.obj \ -+ equalto.obj \ -+ fill1.obj filln1.obj \ -+ find0.obj find1.obj \ -+ findif0.obj findif1.obj \ -+ finsert1.obj finsert2.obj \ -+ foreach0.obj foreach1.obj \ -+ func1.obj func2.obj func3.obj \ -+ gener1.obj gener2.obj \ -+ genern1.obj genern2.obj \ -+ greateq.obj greater.obj \ -+ incl0.obj incl1.obj incl2.obj \ -+ inplmrg1.obj inplmrg2.obj \ -+ inrprod0.obj inrprod1.obj inrprod2.obj \ -+ insert1.obj insert2.obj \ -+ iota1.obj \ -+ istmit1.obj \ -+ iter1.obj iter2.obj iter3.obj iter4.obj \ -+ iterswp0.obj iterswp1.obj \ -+ less.obj \ -+ lesseq.obj \ -+ lexcmp1.obj lexcmp2.obj \ -+ list1.obj list2.obj list3.obj list4.obj \ -+ logicand.obj logicnot.obj \ -+ logicor.obj \ -+ lwrbnd1.obj lwrbnd2.obj \ -+ map1.obj \ -+ max1.obj max2.obj \ -+ maxelem1.obj maxelem2.obj \ -+ merge0.obj merge1.obj merge2.obj \ -+ min1.obj min2.obj \ -+ minelem1.obj minelem2.obj \ -+ minus.obj \ -+ mismtch0.obj mismtch1.obj mismtch2.obj \ -+ mkheap0.obj mkheap1.obj \ -+ mmap1.obj mmap2.obj \ -+ modulus.obj \ -+ mset1.obj mset3.obj mset4.obj mset5.obj \ -+ negate.obj nequal.obj \ -+ nextprm0.obj nextprm1.obj nextprm2.obj \ -+ nthelem0.obj nthelem1.obj nthelem2.obj \ -+ ostmit.obj \ -+ pair0.obj pair1.obj pair2.obj \ -+ parsrt0.obj parsrt1.obj parsrt2.obj \ -+ parsrtc0.obj parsrtc1.obj parsrtc2.obj \ -+ partsrt0.obj \ -+ partsum0.obj partsum1.obj partsum2.obj \ -+ pheap1.obj pheap2.obj \ -+ plus.obj \ -+ pqueue1.obj \ -+ prevprm0.obj prevprm1.obj prevprm2.obj \ -+ ptition0.obj ptition1.obj \ -+ ptrbinf1.obj ptrbinf2.obj \ -+ ptrunf1.obj ptrunf2.obj \ -+ queue1.obj \ -+ rawiter.obj \ -+ remcopy1.obj \ -+ remcpif1.obj \ -+ remif1.obj \ -+ remove1.obj \ -+ repcpif1.obj \ -+ replace0.obj replace1.obj replcpy1.obj replif1.obj \ -+ revbit1.obj revbit2.obj \ -+ revcopy1.obj reverse1.obj reviter1.obj reviter2.obj \ -+ rndshuf0.obj rndshuf1.obj rndshuf2.obj \ -+ rotate0.obj rotate1.obj rotcopy0.obj rotcopy1.obj \ -+ search0.obj search1.obj search2.obj \ -+ set1.obj set2.obj \ -+ setdiff0.obj setdiff1.obj setdiff2.obj \ -+ setintr0.obj setintr1.obj setintr2.obj \ -+ setsymd0.obj setsymd1.obj setsymd2.obj \ -+ setunon0.obj setunon1.obj setunon2.obj \ -+ sort1.obj sort2.obj \ -+ stack1.obj stack2.obj \ -+ stblptn0.obj stblptn1.obj \ -+ stblsrt1.obj stblsrt2.obj \ -+ swap1.obj \ -+ swprnge1.obj \ -+ times.obj \ -+ trnsfrm1.obj trnsfrm2.obj \ -+ ucompos1.obj ucompos2.obj \ -+ unegate1.obj unegate2.obj \ -+ uniqcpy1.obj uniqcpy2.obj \ -+ unique1.obj unique2.obj \ -+ uprbnd1.obj uprbnd2.obj \ -+ vec1.obj vec2.obj vec3.obj vec4.obj vec5.obj vec6.obj vec7.obj vec8.obj \ -+ hmap1.obj hmmap1.obj hset2.obj hmset1.obj slist1.obj string1.obj bitset1.obj -+ -+CPP_PRJ_LINK = /link /incremental:no /LIBPATH:$(STL_PATH)\lib -+ -+CPP_PRJ_CMN = /nologo /W3 /GR /GX /DWIN32 /D_WINDOWS /D_CONSOLE /I$(STL_PATH)\stlport /I. -+ -+# -+#LIBTYPE = STATIC -+LIBTYPE = DYNAMIC -+# -+#DEBUG = STL -+#DEBUG = ON -+DEBUG = -+# -+IOS = SGI -+#IOS = NOSGI -+#IOS = NONE -+ -+!IF "$(IOS)" == "NOSGI" -+CPP_PRJ_IOS = /D_STLP_NO_OWN_IOSTREAMS -+!ELSEIF "$(IOS)" == "NONE" -+CPP_PRJ_IOS = /D_STLP_NO_IOSTREAM -+!ELSE -+CPP_PRJ_IOS = -+!ENDIF -+ -+#MT/MD etc should be LAST in CPP_PRJ_LIBTYP string!!! -+#Library selection should be BEFORE debug processing!!! -+!IF "$(LIBTYPE)" == "STATIC" -+CPP_PRJ_LIBTYP = /D_STLP_USE_STATIC_LIB /MT -+!ELSE -+CPP_PRJ_LIBTYP = /D_STLP_USE_DYNAMIC_LIB /MD -+!ENDIF -+ -+!IF "$(DEBUG)" == "" -+CPP_PRJ_DBG = /DNDEBUG /O2 /Qsox- -+!ELSE -+CPP_PRJ_LIBTYP = $(CPP_PRJ_LIBTYP)d -+CPP_PRJ_DBG = /D_DEBUG /Od -+!IF "$(DEBUG)" == "STL" -+CPP_PRJ_DBG = $(CPP_PRJ_DBG) /D_STLP_DEBUG -+!ENDIF -+CPP_PRJ_CMN = $(CPP_PRJ_CMN) /Zi -+!ENDIF -+ -+CPP_PROJ = $(CPP_PRJ_CMN) $(CPP_PRJ_IOS) $(CPP_PRJ_LIBTYP) $(CPP_PRJ_DBG) -+ -+check: stl_test.out -+ -+stl_test.out : $(Dep_stl) -+ $(CPP) $(CPP_PROJ) $(Dep_stl) $(CPP_PRJ_LINK) -+ stl_test > stl_test.out < stdin -+ echo done -+ -+clean : -+ -@erase "$(INTDIR)\*.obj" -+ -@erase "$(OUTDIR)\*.exe" -+ -@erase "$(OUTDIR)\*.obj" -+ -+ -+.exe.out: -+ $< > $@ -+ -+.cpp.exe: -+ $(CPP) $(CPP_PROJ) -DMAIN $< $(CPP_PRJ_LINK) -+ -+.c.obj: -+ $(CPP) $(CPP_PROJ) /c $< -+ -+.cpp.obj: -+ $(CPP) $(CPP_PROJ) /c $< -+ -+.cxx.obj: -+ $(CPP) $(CPP_PROJ) /c $< -+ -+.c.sbr: -+ $(CPP) $(CPP_PROJ) $< -+ -+.cpp.E: -+ $(CPP) $(CPP_PROJ) -E $< >$*.E -+ -+.cpp.sbr: -+ $(CPP) $(CPP_PROJ) $< -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/intel50.mak tripwire-2.3.1-2/src/STLport-4.0/test/regression/intel50.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/intel50.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/intel50.mak Sun Aug 11 19:13:00 2002 -@@ -0,0 +1,210 @@ -+# Microsoft Developer Studio Generated NMAKE File, Format Version 4.10 -+# ** DO NOT EDIT ** -+ -+# TARGTYPE "Win32 (x86) Console Application" 0x0103 -+ -+ -+!IF "$(OS)" == "Windows_NT" -+NULL= -+!ELSE -+NULL=nul -+!ENDIF -+################################################################################ -+# Begin Project -+RSC=rc.exe -+CPP=icl.exe -+LINK32=xilink.exe -+ -+OUTDIR=. -+INTDIR=. -+ -+# set this directories -+STL_PATH=..\.. -+ -+Dep_stl = stl_test.obj accum1.obj accum2.obj \ -+ adjdiff0.obj adjdiff1.obj adjdiff2.obj \ -+ adjfind0.obj adjfind1.obj adjfind2.obj \ -+ advance.obj \ -+ alg1.obj alg2.obj alg3.obj alg4.obj alg5.obj \ -+ bcompos1.obj bcompos2.obj \ -+ bind1st1.obj bind1st2.obj \ -+ bind2nd1.obj bind2nd2.obj \ -+ binsert1.obj binsert2.obj \ -+ binsrch1.obj binsrch2.obj \ -+ bnegate1.obj bnegate2.obj bvec1.obj \ -+ copy1.obj copy2.obj copy3.obj copy4.obj \ -+ copyb.obj copyb0.obj \ -+ count0.obj count1.obj \ -+ countif1.obj \ -+ deque1.obj \ -+ divides.obj \ -+ eqlrnge0.obj eqlrnge1.obj eqlrnge2.obj \ -+ equal0.obj equal1.obj equal2.obj \ -+ equalto.obj \ -+ fill1.obj filln1.obj \ -+ find0.obj find1.obj \ -+ findif0.obj findif1.obj \ -+ finsert1.obj finsert2.obj \ -+ foreach0.obj foreach1.obj \ -+ func1.obj func2.obj func3.obj \ -+ gener1.obj gener2.obj \ -+ genern1.obj genern2.obj \ -+ greateq.obj greater.obj \ -+ incl0.obj incl1.obj incl2.obj \ -+ inplmrg1.obj inplmrg2.obj \ -+ inrprod0.obj inrprod1.obj inrprod2.obj \ -+ insert1.obj insert2.obj \ -+ iota1.obj \ -+ istmit1.obj \ -+ iter1.obj iter2.obj iter3.obj iter4.obj \ -+ iterswp0.obj iterswp1.obj \ -+ less.obj \ -+ lesseq.obj \ -+ lexcmp1.obj lexcmp2.obj \ -+ list1.obj list2.obj list3.obj list4.obj \ -+ logicand.obj logicnot.obj \ -+ logicor.obj \ -+ lwrbnd1.obj lwrbnd2.obj \ -+ map1.obj \ -+ max1.obj max2.obj \ -+ maxelem1.obj maxelem2.obj \ -+ merge0.obj merge1.obj merge2.obj \ -+ min1.obj min2.obj \ -+ minelem1.obj minelem2.obj \ -+ minus.obj \ -+ mismtch0.obj mismtch1.obj mismtch2.obj \ -+ mkheap0.obj mkheap1.obj \ -+ mmap1.obj mmap2.obj \ -+ modulus.obj \ -+ mset1.obj mset3.obj mset4.obj mset5.obj \ -+ negate.obj nequal.obj \ -+ nextprm0.obj nextprm1.obj nextprm2.obj \ -+ nthelem0.obj nthelem1.obj nthelem2.obj \ -+ ostmit.obj \ -+ pair0.obj pair1.obj pair2.obj \ -+ parsrt0.obj parsrt1.obj parsrt2.obj \ -+ parsrtc0.obj parsrtc1.obj parsrtc2.obj \ -+ partsrt0.obj \ -+ partsum0.obj partsum1.obj partsum2.obj \ -+ pheap1.obj pheap2.obj \ -+ plus.obj \ -+ pqueue1.obj \ -+ prevprm0.obj prevprm1.obj prevprm2.obj \ -+ ptition0.obj ptition1.obj \ -+ ptrbinf1.obj ptrbinf2.obj \ -+ ptrunf1.obj ptrunf2.obj \ -+ queue1.obj \ -+ rawiter.obj \ -+ remcopy1.obj \ -+ remcpif1.obj \ -+ remif1.obj \ -+ remove1.obj \ -+ repcpif1.obj \ -+ replace0.obj replace1.obj replcpy1.obj replif1.obj \ -+ revbit1.obj revbit2.obj \ -+ revcopy1.obj reverse1.obj reviter1.obj reviter2.obj \ -+ rndshuf0.obj rndshuf1.obj rndshuf2.obj \ -+ rotate0.obj rotate1.obj rotcopy0.obj rotcopy1.obj \ -+ search0.obj search1.obj search2.obj \ -+ set1.obj set2.obj \ -+ setdiff0.obj setdiff1.obj setdiff2.obj \ -+ setintr0.obj setintr1.obj setintr2.obj \ -+ setsymd0.obj setsymd1.obj setsymd2.obj \ -+ setunon0.obj setunon1.obj setunon2.obj \ -+ sort1.obj sort2.obj \ -+ stack1.obj stack2.obj \ -+ stblptn0.obj stblptn1.obj \ -+ stblsrt1.obj stblsrt2.obj \ -+ swap1.obj \ -+ swprnge1.obj \ -+ times.obj \ -+ trnsfrm1.obj trnsfrm2.obj \ -+ ucompos1.obj ucompos2.obj \ -+ unegate1.obj unegate2.obj \ -+ uniqcpy1.obj uniqcpy2.obj \ -+ unique1.obj unique2.obj \ -+ uprbnd1.obj uprbnd2.obj \ -+ vec1.obj vec2.obj vec3.obj vec4.obj vec5.obj vec6.obj vec7.obj vec8.obj \ -+ hmap1.obj hmmap1.obj hset2.obj hmset1.obj slist1.obj string1.obj bitset1.obj -+ -+CPP_PRJ_LINK = /link /incremental:no /LIBPATH:$(STL_PATH)\lib -+ -+CPP_PRJ_CMN = /nologo /W3 /GR /GX /DWIN32 /D_WINDOWS /D_CONSOLE /I$(STL_PATH)\stlport /I. -+ -+# -+#LIBTYPE = STATIC -+LIBTYPE = DYNAMIC -+# -+#DEBUG = STL -+#DEBUG = ON -+DEBUG = -+# -+IOS = SGI -+#IOS = NOSGI -+#IOS = NONE -+ -+!IF "$(IOS)" == "NOSGI" -+CPP_PRJ_IOS = /D_STLP_NO_OWN_IOSTREAMS -+!ELSEIF "$(IOS)" == "NONE" -+CPP_PRJ_IOS = /D_STLP_NO_IOSTREAM -+!ELSE -+CPP_PRJ_IOS = -+!ENDIF -+ -+#MT/MD etc should be LAST in CPP_PRJ_LIBTYP string!!! -+#Library selection should be BEFORE debug processing!!! -+!IF "$(LIBTYPE)" == "STATIC" -+CPP_PRJ_LIBTYP = /D_STLP_USE_STATIC_LIB /MT -+!ELSE -+CPP_PRJ_LIBTYP = /D_STLP_USE_DYNAMIC_LIB /MD -+!ENDIF -+ -+!IF "$(DEBUG)" == "" -+CPP_PRJ_DBG = /DNDEBUG /O2 /Qsox- -+!ELSE -+CPP_PRJ_LIBTYP = $(CPP_PRJ_LIBTYP)d -+CPP_PRJ_DBG = /D_DEBUG /Od -+!IF "$(DEBUG)" == "STL" -+CPP_PRJ_DBG = $(CPP_PRJ_DBG) /D_STLP_DEBUG -+!ENDIF -+CPP_PRJ_CMN = $(CPP_PRJ_CMN) /Zi -+!ENDIF -+ -+CPP_PROJ = $(CPP_PRJ_CMN) $(CPP_PRJ_IOS) $(CPP_PRJ_LIBTYP) $(CPP_PRJ_DBG) -+ -+check: stl_test.out -+ -+stl_test.out : $(Dep_stl) -+ $(CPP) $(CPP_PROJ) $(Dep_stl) $(CPP_PRJ_LINK) -+ stl_test > stl_test.out < stdin -+ echo done -+ -+clean : -+ -@erase "$(INTDIR)\*.obj" -+ -@erase "$(OUTDIR)\*.exe" -+ -@erase "$(OUTDIR)\*.obj" -+ -+ -+.exe.out: -+ $< > $@ -+ -+.cpp.exe: -+ $(CPP) $(CPP_PROJ) -DMAIN $< $(CPP_PRJ_LINK) -+ -+.c.obj: -+ $(CPP) $(CPP_PROJ) /c $< -+ -+.cpp.obj: -+ $(CPP) $(CPP_PROJ) /c $< -+ -+.cxx.obj: -+ $(CPP) $(CPP_PROJ) /c $< -+ -+.c.sbr: -+ $(CPP) $(CPP_PROJ) $< -+ -+.cpp.E: -+ $(CPP) $(CPP_PROJ) -E $< >$*.E -+ -+.cpp.sbr: -+ $(CPP) $(CPP_PROJ) $< -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/istmit1.cpp tripwire-2.3.1-2/src/STLport-4.0/test/regression/istmit1.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/istmit1.cpp Sat Feb 24 10:45:39 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/istmit1.cpp Sun Aug 11 18:59:26 2002 -@@ -3,6 +3,7 @@ - - #include - #include -+#include - #include - - #ifdef MAIN -@@ -19,7 +20,7 @@ - int i = 0; - cin.unsetf(ios::skipws); // Disable white-space skipping. - cout << "Please enter a string: "; --#ifndef __STL_LIMITED_DEFAULT_TEMPLATES -+#ifndef _STLP_LIMITED_DEFAULT_TEMPLATES - istream_iterator s(cin),meos; //*TY 01/10/1999 - added eos() - #else - istream_iterator s(cin),meos; //*TY 01/10/1999 - added eos() -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/kai.mak tripwire-2.3.1-2/src/STLport-4.0/test/regression/kai.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/kai.mak Sat Feb 24 10:45:41 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/kai.mak Sun Aug 11 18:59:26 2002 -@@ -127,7 +127,7 @@ - # DEBUG_FLAGS=-g - DEBUG_FLAGS=-O - # DEBUG_FLAGS=-O4 --DEBUG_FLAGS=-D__STL_DEBUG -+DEBUG_FLAGS=-D_STLP_DEBUG - DEBUG_FLAGS= - - -@@ -165,11 +165,11 @@ - $(CXX) $(CXXFLAGS) -c $< -o $@ - - %.s: %.cpp -- $(CXX) $(CXXFLAGS) -O5 -D__STL_USE_MALLOC -S -pto $< -o $@ -+ $(CXX) $(CXXFLAGS) -O5 -D_STLP_USE_MALLOC -S -pto $< -o $@ - --# $(CXX) $(CXXFLAGS) -O5 -D__STL_USE_MALLOC -noex -D__STL_NO_EXCEPTIONS -S -pto $< -o $@ -+# $(CXX) $(CXXFLAGS) -O5 -D_STLP_USE_MALLOC -noex -D_STLP_NO_EXCEPTIONS -S -pto $< -o $@ - --# $(CXX) $(CXXFLAGS) -O4 -noex -D__STL_NO_EXCEPTIONS -D__STL_NO_EXCEPTIONS -S -pta $< -o $@ -+# $(CXX) $(CXXFLAGS) -O4 -noex -D_STLP_NO_EXCEPTIONS -D_STLP_NO_EXCEPTIONS -S -pta $< -o $@ - - clean: - -rm -fr *.exe *.o *.rpo *.obj *.out Templates.DB SunWS_cache ti_files -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/kcc-new.mak tripwire-2.3.1-2/src/STLport-4.0/test/regression/kcc-new.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/kcc-new.mak Sat Feb 24 10:45:41 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/kcc-new.mak Sun Aug 11 18:59:26 2002 -@@ -128,7 +128,7 @@ - # DEBUG_FLAGS=-g - DEBUG_FLAGS=-O - # DEBUG_FLAGS=-O4 --DEBUG_FLAGS=-D__STL_DEBUG -+DEBUG_FLAGS=-D_STLP_DEBUG - DEBUG_FLAGS= - - -@@ -166,11 +166,11 @@ - $(CXX) $(CXXFLAGS) -c $< -o $@ - - %.s: %.cpp -- $(CXX) $(CXXFLAGS) -O5 -D__STL_USE_MALLOC -S -pto $< -o $@ -+ $(CXX) $(CXXFLAGS) -O5 -D_STLP_USE_MALLOC -S -pto $< -o $@ - --# $(CXX) $(CXXFLAGS) -O5 -D__STL_USE_MALLOC -noex -D__STL_NO_EXCEPTIONS -S -pto $< -o $@ -+# $(CXX) $(CXXFLAGS) -O5 -D_STLP_USE_MALLOC -noex -D_STLP_NO_EXCEPTIONS -S -pto $< -o $@ - --# $(CXX) $(CXXFLAGS) -O4 -noex -D__STL_NO_EXCEPTIONS -D__STL_NO_EXCEPTIONS -S -pta $< -o $@ -+# $(CXX) $(CXXFLAGS) -O4 -noex -D_STLP_NO_EXCEPTIONS -D_STLP_NO_EXCEPTIONS -S -pta $< -o $@ - - clean: - -rm -fr *.exe *.o *.rpo *.obj *.out Templates.DB SunWS_cache ti_files -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/kcc.mak tripwire-2.3.1-2/src/STLport-4.0/test/regression/kcc.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/kcc.mak Sat Feb 24 10:45:41 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/kcc.mak Sun Aug 11 18:59:26 2002 -@@ -131,7 +131,7 @@ - DEBUG_FLAGS= - - --CXXFLAGS = -D__STL_NO_SGI_IOSTREAMS ${STL_INCL} ${DEBUG_FLAGS} -I. -+CXXFLAGS = -D_STLP_NO_OWN_IOSTREAMS ${STL_INCL} ${DEBUG_FLAGS} -I. - - LIBS = -lm - LIBSTDCXX = -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/lwrbnd2.cpp tripwire-2.3.1-2/src/STLport-4.0/test/regression/lwrbnd2.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/lwrbnd2.cpp Sat Feb 24 10:45:41 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/lwrbnd2.cpp Sun Aug 11 18:59:26 2002 -@@ -14,7 +14,7 @@ - #endif - static bool char_str_less(const char* a_, const char* b_) - { -- return ::strcmp(a_, b_) < 0 ? 1 : 0; -+ return strcmp(a_, b_) < 0 ? 1 : 0; - } - - int lwrbnd2_test(int, char**) -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/max2.cpp tripwire-2.3.1-2/src/STLport-4.0/test/regression/max2.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/max2.cpp Sat Feb 24 10:45:41 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/max2.cpp Sun Aug 11 18:59:26 2002 -@@ -14,7 +14,7 @@ - #endif - static bool str_compare(const char* a_, const char* b_) - { -- return ::strcmp(a_, b_) < 0 ? 1 : 0; -+ return strcmp(a_, b_) < 0 ? 1 : 0; - } - - int max2_test(int, char**) -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/maxelem2.cpp tripwire-2.3.1-2/src/STLport-4.0/test/regression/maxelem2.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/maxelem2.cpp Sat Feb 24 10:45:42 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/maxelem2.cpp Sun Aug 11 18:59:26 2002 -@@ -8,14 +8,16 @@ - #ifdef MAIN - #define maxelem2_test main - #endif --static bool str_compare(const char* a_, const char* b_) --{ -- return ::strcmp(a_, b_) < 0 ? 1 : 0; --} - - #if !defined (STLPORT) || defined(__STL_USE_NAMESPACES) - using namespace std; - #endif -+ -+static bool str_compare(const char* a_, const char* b_) -+{ -+ return strcmp(a_, b_) < 0 ? 1 : 0; -+} -+ - int maxelem2_test(int, char**) - { - cout<<"Results of maxelem2_test:"< -+ -+#if !defined (STLPORT) || defined(__STL_USE_NAMESPACES) -+using namespace std; -+#endif -+ - class MyRandomGenerator - { - public: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/rawiter.cpp tripwire-2.3.1-2/src/STLport-4.0/test/regression/rawiter.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/rawiter.cpp Sat Feb 24 10:45:43 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/rawiter.cpp Sun Aug 11 18:59:26 2002 -@@ -31,7 +31,7 @@ - *r++ = X(i); - for(i = 0; i < 5; i++) - cout << *p++ << endl; --# ifdef __SGI_STL_PORT -+# ifdef __STLPORT_VERSION - a.deallocate(save_p,5); - # else - a.deallocate(save_p); -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/search2.cpp tripwire-2.3.1-2/src/STLport-4.0/test/regression/search2.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/search2.cpp Sat Feb 24 10:45:44 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/search2.cpp Sun Aug 11 18:59:26 2002 -@@ -7,17 +7,18 @@ - #include - #include - -+#if !defined (STLPORT) || defined(__STL_USE_NAMESPACES) -+using namespace std; -+#endif -+ - #ifdef MAIN - #define search2_test main - #endif - static bool str_equal(const char* a_, const char* b_) - { -- return ::strcmp(a_, b_) == 0 ? 1 : 0; -+ return strcmp(a_, b_) == 0 ? 1 : 0; - } - --#if !defined (STLPORT) || defined(__STL_USE_NAMESPACES) --using namespace std; --#endif - int search2_test(int, char**) - { - cout<<"Results of search2_test:"< $(TEST) -+ -+.SUFFIXES: .cpp .o .exe .out .res -+ -+.cpp.o: -+ $(CXX) $(CXXFLAGS) $< -c -o $@ -+ -+.cpp.out: -+ $(CXX) $(CXXFLAGS) $< -c -USINGLE -DMAIN -o $*.o -+ $(CXX) $(CXXFLAGS) $*.o $(LIBS) -g -o $*.exe -+ ./$*.exe > $@ -+ -rm -f $*.exe -+ -+istmit1.out: istmit1.cpp -+ $(CXX) $(CXXFLAGS) $< $(STAT_MODULE) $(LIBSTDCXX) -lstdc++ $(LIBS) -o istmit1 -+ echo 'a string' | ./istmit1 > istmit1.out -+ -rm -f ./istmit1 -+ -+.cpp.s: -+ $(CXX) $(CXXFLAGS) -O5 -D_STLP_USE_MALLOC -S -pto $< -o $@ -+ -+# $(CXX) $(CXXFLAGS) -O5 -D_STLP_USE_MALLOC -noex -D_STLP_NO_EXCEPTIONS -S -pto $< -o $@ -+ -+# $(CXX) $(CXXFLAGS) -O4 -noex -D_STLP_NO_EXCEPTIONS -D_STLP_NO_EXCEPTIONS -S -pta $< -o $@ -+ -+clean: -+ -rm -fr *.exe *.o *.rpo *.obj *.out Templates.DB SunWS_cache -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/slist1.cpp tripwire-2.3.1-2/src/STLport-4.0/test/regression/slist1.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/slist1.cpp Sat Feb 24 10:45:45 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/slist1.cpp Sun Aug 11 18:59:26 2002 -@@ -18,7 +18,7 @@ - cout<<"Results of slist1_test:"< o(cout,""); -- slist str(array, array + 6); -+ slist str(array+0, array + 6); - std::slist::iterator i; - cout << "original: "; - copy(str.begin(), str.end(),o); -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/stblsrt2.cpp tripwire-2.3.1-2/src/STLport-4.0/test/regression/stblsrt2.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/stblsrt2.cpp Sat Feb 24 10:45:45 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/stblsrt2.cpp Sun Aug 11 18:59:26 2002 -@@ -8,14 +8,16 @@ - #ifdef MAIN - #define stblsrt2_test main - #endif --static bool string_less(const char* a_, const char* b_) --{ -- return ::strcmp(a_, b_) < 0 ? 1 : 0; --} - - #if !defined (STLPORT) || defined(__STL_USE_NAMESPACES) - using namespace std; - #endif -+ -+static bool string_less(const char* a_, const char* b_) -+{ -+ return strcmp(a_, b_) < 0 ? 1 : 0; -+} -+ - int stblsrt2_test(int, char**) - { - cout<<"Results of stblsrt2_test:"< - #include - #include -+#ifndef __WATCOMC__ - #include -- -+#endif - #ifdef TEST_PTHREAD - #include - #endif -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/stl_test.djgpp.exp tripwire-2.3.1-2/src/STLport-4.0/test/regression/stl_test.djgpp.exp ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/stl_test.djgpp.exp Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/stl_test.djgpp.exp Sun Aug 11 19:13:00 2002 -@@ -0,0 +1,870 @@ -+Results of accum1_test: -+sum = 15 -+Results of accum2_test: -+prod = 120 -+Results of adjdiff0_test: -+1 2 4 8 16 -+1 1 2 4 8 -+Results of adjdiff1_test: -+0 1 4 9 16 25 36 49 64 81 -+0 1 3 5 7 9 11 13 15 17 -+Results of adjdiff2_test: -+1 2 3 4 5 6 7 8 9 10 -+1 2 6 12 20 30 42 56 72 90 -+Results of adjfind0_test: -+No adjacent pairs -+Found adjacent pair of: 1 at offset 3 -+Results of adjfind1_test: -+No adjacent pairs -+Found adjacent pair of: 7 -+Results of adjfind2_test: -+Found two adjacent strings of equal length: Jack -and- Mike -+Results of advance_test: -+At Beginning: 0 -+At Beginning + 5: 5 -+Results of alg1_test: -+min(4, 7) = 4 -+max('a', 'z') = z -+Results of alg2_test: -+Count of 2s = 3 -+Results of alg3_test: -+Count of 2s = 3 -+Results of alg4_test: -+1962 -+1992 -+1999 -+2001 -+Results of alg5_test: -+1962 -+1992 -+2001 -+1999 -+Results of bcompos1_test: -+1 is odd and positive -+Results of bcompos2_test: -+1 is odd and positive -+Results of bind1st1_test: -+1 -+2 -+Results of bind1st2_test: -+1 -+2 -+Results of bind2nd1_test: -+1 -+2 -+4 -+Results of bind2nd2_test: -+1 -+2 -+4 -+Results of binsert1_test: -+laurie -+jennifer -+leisa -+Results of binsert2_test: -+laurie -+jennifer -+leisa -+Results of binsrch1_test: -+found 42 -+Results of binsrch2_test: -+ff is in labels. -+Results of bnegate1_test: -+1 -+4 -+7 -+9 -+Results of bnegate2_test: -+1 -+4 -+7 -+9 -+Results of bvec1_test: -+000 -+101 -+10101 -+Results of copy1_test: -+ Src: A string to be copied. -+Dest: A string to be copied. -+Results of copy2_test: -+0 1 2 3 4 5 6 7 8 9 -+Results of copy3_test: -+0 1 2 3 4 5 6 7 8 9 -+Results of copy4_test: -+0 1 2 3 4 5 6 7 8 9 -+Results of copyb_test: -+0 1 2 3 4 5 6 7 8 9 -+Results of copyb0_test: -+1 2 3 4 5 -+1 2 3 4 5 -+Results of count0_test: -+Found 4 1's. -+Results of count1_test: -+Found 33 2's. -+Results of countif1_test: -+Found 33 odd elements. -+Results of deque1_test: -+d[0] = 1 -+d[1] = 4 -+d[2] = 9 -+d[3] = 16 -+ -+d[0] = 4 -+d[1] = 9 -+d[2] = 25 -+Results of divides_test: -+result = 2 -+Results of eqlrnge0_test: -+2 can be inserted from before index 4 to before index 8 -+Results of eqlrnge1_test: -+Within the collection: -+ 0 0 0 1 1 1 2 2 2 3 -+2 can be inserted from before index 6 to before index 9 -+Results of eqlrnge2_test: -+Within the collection: -+ aabbccddggghhklllmqqqqssyyzz -+q can be inserted from before index 18 to before index 22 -+Results of equal0_test: -+numbers1 is not equal to numbers2 -+numbers3 is equal to numbers1 -+Results of equal1_test: -+v1 is not equal to v2 -+v1 is equal to v2 -+Results of equal2_test: -+v2[i] == v1[i] * v1[i] -+Results of equalto_test: -+1 -+0 -+1 -+0 -+Results of fill1_test: -+42 42 42 42 42 42 42 42 42 42 -+Results of filln1_test: -+42 42 42 42 42 42 42 42 42 42 -+Results of find0_test: -+Found 25 at offset 5 -+Results of find1_test: -+Found 1972 at offset 3 -+Results of findif0_test: -+Value 15 at offset 3 is odd -+Results of findif1_test: -+Value 9 at offset 2 is divisible by 3 -+Results of finsert1_test: -+leisa -+jennifer -+laurie -+Results of finsert2_test: -+leisa -+jennifer -+laurie -+Results of foreach0_test: -+1 1 2 3 5 8 13 21 34 55 -+Results of foreach1_test: -+0 1 4 9 16 25 36 49 64 81 -+Results of func1_test: -+Number greater than 3 = 2 -+Results of func2_test: -+5 -+4 -+1 -+Results of func3_test: -+5 -+4 -+1 -+Results of gener1_test: -+262236772 208042609 800207362 428428949 47718728 1793958355 1543227091 1255063701 1245922717 448084510 -+Results of gener2_test: -+1 1 2 3 5 8 13 21 34 55 -+Results of genern1_test: -+1841298076 1050803247 489249763 634882132 437249775 192858938 1769723075 2017244079 451954759 998335072 -+Results of genern2_test: -+1 1 2 3 5 8 13 21 34 55 -+Results of greateq_test: -+4 -+3 -+2 -+1 -+Results of greater_test: -+4 -+3 -+2 -+1 -+Results of incl0_test: -+numbers1 does not include numbers3 -+numbers2 includes numbers3 -+Results of incl1_test: -+v1 does not include v2 -+v1 includes v2 -+Results of incl2_test: -+v1 does not include v2 -+v1 includes v2 -+Results of inplmrg1_test: -+1 10 42 3 16 32 -+1 3 10 16 32 42 -+Results of inplmrg2_test: -+4 3 2 1 0 4 3 2 1 0 -+4 4 3 3 2 2 1 1 0 0 -+Results of inrprod0_test: -+Inner product = 55 -+Results of inrprod1_test: -+Inner product(sum of products) of: -+ 1 2 3 -+ 3 2 1 -+is: 10 -+Results of inrprod2_test: -+Inner product(product of sums): -+ 1 2 3 -+ 3 2 1 -+is: 64 -+Results of insert1_test: -+laurie -+jennifer -+amanda -+saskia -+carrie -+leisa -+Results of insert2_test: -+laurie -+jennifer -+amanda -+saskia -+carrie -+leisa -+Results of iota1_test: -+42 43 44 45 46 47 48 49 50 51 -+Results of istmit1_test: -+Please enter a string: read a string -+ -+Results of iter1_test: -+zippy -+motorboy -+Results of iter2_test: -+zippy -+motorboy -+Results of iter3_test: -+motorboy -+zippy -+Results of iter4_test: -+last element is 3 -+first element is 1 -+Results of iterswp0_test: -+3 1 2 0 4 5 -+Results of iterswp1_test: -+3 1 2 0 4 5 -+Results of less_test: -+1 -+2 -+3 -+4 -+Results of lesseq_test: -+1 -+2 -+3 -+4 -+Results of lexcmp1_test: -+shine is before shoe -+Results of lexcmp2_test: -+shoe is after shine -+Results of list1_test: -+1 -+4 -+9 -+16 -+36 -+Results of list2_test: -+1 -+4 -+9 -+16 -+Results of list3_test: -+original: xlxtss -+reversed: sstxlx -+removed: sstl -+uniqued: stl -+sorted: lst -+Results of list4_test: -+123467 -+Results of logicand_test: -+0 -+1 -+0 -+0 -+Results of logicnot_test: -+count = 2 -+Results of logicor_test: -+1 -+1 -+0 -+1 -+Results of lwrbnd1_test: -+0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 -+3 can be inserted at index: 12 -+Results of lwrbnd2_test: -+d can be inserted at index: 4 -+Results of map1_test: -+m['x'] = 20 -+m['x'] = 10 -+m['z'] = 0 -+m.count('z') = 1 -+First insertion successful -+Existing pair c -> 100 -+Results of max1_test: -+100 -+Results of max2_test: -+shoe -+Results of maxelem1_test: -+56 -+Results of maxelem2_test: -+Todd -+Results of merge0_test: -+-5 1 6 13 25 26 36 46 99 101 -+Results of merge1_test: -+0 1 2 3 4 -+3 4 5 6 7 -+0 1 2 3 3 4 4 5 6 7 -+Results of merge2_test: -+10 9 8 7 6 -+7 6 5 4 3 -+10 9 8 7 7 6 6 5 4 3 -+Results of min1_test: -+42 -+Results of min2_test: -+shine -+Results of minelem1_test: -+-242 -+Results of minelem2_test: -+Brett -+Results of minus_test: -+0 -+1 -+-1 -+5 -+Results of mismtch0_test: -+n1 and n2 are the same -+Mismatch at offset: 3 -+Results of mismtch1_test: -+v1 and v2 are the same -+mismatch at index: 5 -+Results of mismtch2_test: -+n1 and n2 are the same -+mismatch at index: 2 -+Results of mkheap0_test: -+19 -+13 -+11 -+10 -+5 -+4 -+Results of mkheap1_test: -+4 -+5 -+10 -+11 -+13 -+19 -+Results of mmap1_test: -+count('X') = 0 -+count('X') = 1 -+count('X') = 2 -+X -> 10 -+X -> 20 -+Y -> 32 -+Erased 2 items -+Results of mmap2_test: -+lower bound: -+3 -> c -+upper bound: -+6 -> f -+Results of modulus_test: -+2 -+0 -+10 -+2 -+Results of mset1_test: -+count(42) = 0 -+count(42) = 1 -+count(42) = 2 -+40 Not found -+Found 42 -+Erased 2 instances -+Results of mset3_test: -+lower bound = 3 -+upper bound = 6 -+Results of mset4_test: -+lower bound = 3 -+upper bound = 6 -+Results of mset5_test: -+Using less_than: -+1 -+3 -+6 -+9 -+Using greater_than: -+9 -+6 -+3 -+1 -+Results of negate_test: -+-1 -+-2 -+-3 -+Results of nequal_test: -+0 -+1 -+0 -+1 -+Results of nextprm0_test: -+0 2 1 -+Results of nextprm1_test: -+0 1 2 -+0 2 1 -+1 0 2 -+1 2 0 -+2 0 1 -+2 1 0 -+0 1 2 -+0 2 1 -+1 0 2 -+1 2 0 -+Results of nextprm2_test: -+ABC -+ACB -+BAC -+BCA -+CAB -+CBA -+ABC -+ACB -+BAC -+BCA -+Results of nthelem0_test: -+1 0 2 3 4 5 -+Results of nthelem1_test: -+2 0 0 2 6 3 6 3 3 0 -+0 0 0 2 2 3 3 6 3 6 -+Results of nthelem2_test: -+4 8 3 2 7 4 0 6 8 9 -+9 8 8 6 7 4 0 2 3 4 -+Results of ostmit_test: -+hello -+1524 -+Results of pair0_test: -+p.first = 1, p.second = 10 -+Results of pair1_test: -+p.first = 1, p.second = 10 -+Results of pair2_test: -+p.first = 1 -+p.second = 10 -+Results of parsrt0_test: -+1 2 3 5 4 6 -+Results of parsrt1_test: -+4 1 9 1 2 6 8 5 7 7 -+1 1 2 4 5 9 8 6 7 7 -+Results of parsrt2_test: -+aa ff dd ee cc bb -+aa bb cc ff ee dd -+Results of parsrtc0_test: -+1 2 3 -+Results of parsrtc1_test: -+9 6 0 8 8 0 9 1 1 3 -+0 0 1 1 3 -+Results of parsrtc2_test: -+aa ff dd ee cc bb -+aa ff dd ee cc bb -+Results of partsrt0_test: -+1 2 3 5 4 6 -+Results of partsum0_test: -+1 3 6 10 15 21 -+Results of partsum1_test: -+0 1 2 3 4 5 6 7 8 9 -+0 1 3 6 10 15 21 28 36 45 -+Results of partsum2_test: -+1 2 3 4 5 -+1 2 6 24 120 -+Results of pheap1_test: -+1 4 7 20 -+Results of pheap2_test: -+20 7 4 1 -+Results of plus_test: -+total = 77 -+Results of pqueue1_test: -+101 -+69 -+42 -+Results of prevprm0_test: -+2 1 0 -+Results of prevprm1_test: -+0 1 2 -+2 1 0 -+2 0 1 -+1 2 0 -+1 0 2 -+0 2 1 -+0 1 2 -+2 1 0 -+2 0 1 -+1 2 0 -+Results of prevprm2_test: -+0 1 2 -+0 2 1 -+1 0 2 -+1 2 0 -+2 0 1 -+2 1 0 -+0 1 2 -+0 2 1 -+1 0 2 -+1 2 0 -+Results of ptition0_test: -+6 1 3 10 12 20 -+Results of ptition1_test: -+16 19 14 5 11 8 1 14 18 1 -+1 1 8 5 11 14 19 14 18 16 -+Results of ptrbinf1_test: -+8 -+7 -+8 -+13 -+Results of ptrbinf2_test: -+8 -+7 -+8 -+13 -+Results of ptrunf1_test: -+2 is even -+Results of ptrunf2_test: -+2 is even -+Results of queue1_test: -+42 -+101 -+69 -+Results of rawiter_test: -+0 -+1 -+2 -+3 -+4 -+Results of remcopy1_test: -+1 3 1 3 0 0 -+Results of remcpif1_test: -+2 2 0 0 0 0 -+Results of remif1_test: -+0 0 2 2 2 2 -+Results of remove1_test: -+2 3 2 3 2 3 -+Results of repcpif1_test: -+0 1 2 3 4 0 1 2 3 4 -+0 1 2 3 4 0 1 2 3 4 -+0 42 2 42 4 0 42 2 42 4 -+Results of replace0_test: -+0 1 42 0 1 42 -+Results of replace1_test: -+0 1 2 3 4 0 1 2 3 4 -+0 1 42 3 4 0 1 42 3 4 -+Results of replcpy1_test: -+0 1 42 0 1 42 -+Results of replif1_test: -+0 1 2 3 4 0 1 2 3 4 -+0 42 2 42 4 0 42 2 42 4 -+Results of revbit1_test: -+3 -+2 -+5 -+1 -+Results of revbit2_test: -+3 -+2 -+5 -+1 -+Results of revcopy1_test: -+0 1 2 3 4 5 -+5 4 3 2 1 0 -+Results of reverse1_test: -+5 4 3 2 1 0 -+Results of reviter1_test: -+Results of reviter2_test: -+3 -+2 -+5 -+1 -+Results of rndshuf0_test: -+5 6 3 2 4 1 -+Results of rndshuf1_test: -+0 1 2 3 4 5 6 7 8 9 -+6 9 4 5 8 7 3 1 2 0 -+6 9 8 1 7 2 5 4 0 3 -+7 3 8 1 4 9 5 2 0 6 -+Results of rndshuf2_test: -+0 1 2 3 4 5 6 7 8 9 -+5 2 9 0 6 8 4 7 1 3 -+1 3 6 0 4 8 5 2 7 9 -+2 9 3 5 1 4 8 0 7 6 -+Results of rotate0_test: -+3 4 5 0 1 2 -+Results of rotate1_test: -+0 1 2 3 4 5 6 7 8 9 -+0 1 2 3 4 5 6 7 8 9 -+1 2 3 4 5 6 7 8 9 0 -+3 4 5 6 7 8 9 0 1 2 -+6 7 8 9 0 1 2 3 4 5 -+0 1 2 3 4 5 6 7 8 9 -+5 6 7 8 9 0 1 2 3 4 -+1 2 3 4 5 6 7 8 9 0 -+8 9 0 1 2 3 4 5 6 7 -+6 7 8 9 0 1 2 3 4 5 -+5 6 7 8 9 0 1 2 3 4 -+ -+Results of rotcopy0_test: -+3 4 5 0 1 2 -+Results of rotcopy1_test: -+0 1 2 3 4 5 6 7 8 9 -+0 1 2 3 4 5 6 7 8 9 -+1 2 3 4 5 6 7 8 9 0 -+2 3 4 5 6 7 8 9 0 1 -+3 4 5 6 7 8 9 0 1 2 -+4 5 6 7 8 9 0 1 2 3 -+5 6 7 8 9 0 1 2 3 4 -+6 7 8 9 0 1 2 3 4 5 -+7 8 9 0 1 2 3 4 5 6 -+8 9 0 1 2 3 4 5 6 7 -+9 0 1 2 3 4 5 6 7 8 -+ -+Results of search0_test: -+v3 not contained in v1 -+Found v3 in v2 at offset: 3 -+Results of search1_test: -+v1: 0 1 2 3 4 5 6 7 8 9 -+v2: 50 51 52 -+v2 not contained in v1 -+v1: 0 1 2 3 4 5 6 7 8 9 -+v2: 4 5 6 -+Found v2 in v1 at offset: 4 -+Results of search2_test: -+grades: A B C D F -+letters:Q E D -+letters not found in grades -+grades: A B C D F -+letters:B C D -+letters found in grades at offset: 1 -+Results of set1_test: -+count(42) = 0 -+count(42) = 1 -+count(42) = 1 -+1 elements erased -+Results of set2_test: -+Inserted new element 42 -+Existing element = 42 -+Results of setdiff0_test: -+18 0 0 0 -+10 17 23 0 -+Results of setdiff1_test: -+v1: 0 1 2 3 4 5 6 7 8 9 -+v2: 7 8 9 10 11 12 13 14 15 16 -+0 1 2 3 4 5 6 -+Results of setdiff2_test: -+word1: A B C D E F G H I J K L M N O -+word2: L M N O P Q R S T U V W X Y Z -+A B C D E F G H I J K -+Results of setintr0_test: -+13 23 0 0 -+Results of setintr1_test: -+v1: 0 1 2 3 4 5 6 7 8 9 -+v2: 7 8 9 10 11 12 13 14 15 16 -+7 8 9 -+Results of setintr2_test: -+word1: A B C D E F G H I J K L M N O -+word2: L M N O P Q R S T U V W X Y Z -+L M N O -+Results of setsymd0_test: -+10 17 18 0 -+Results of setsymd1_test: -+v1: 0 1 2 3 4 5 6 7 8 9 -+v2: 7 8 9 10 11 12 13 14 15 16 -+0 1 2 3 4 5 6 10 11 12 13 14 15 16 -+Results of setsymd2_test: -+word1: A B C D E F G H I J K L M N O -+word2: L M N O P Q R S T U V W X Y Z -+A B C D E F G H I J K P Q R S T U V W X Y Z -+Results of setunon0_test: -+10 13 17 18 23 0 0 -+Results of setunon1_test: -+v1: 0 1 2 3 4 5 6 7 8 9 -+v2: 7 8 9 10 11 12 13 14 15 16 -+0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 -+Results of setunon2_test: -+word1: A B C D E F G H I J K L M N O -+word2: L M N O P Q R S T U V W X Y Z -+A B C D E F G H I J K L M N O P Q R S T U V W X Y Z -+Results of sort1_test: -+-10 1 11 19 42 50 -+Results of sort2_test: -+before: 1 50 -10 11 42 19 -+after: 50 42 19 11 1 -10 -+Results of stack1_test: -+69 -+101 -+42 -+Results of stack2_test: -+69 -+101 -+42 -+Results of stblptn0_test: -+5 6 -2 10 11 20 -+Results of stblptn1_test: -+1 3 14 12 2 15 7 14 6 16 -+1 3 2 7 6 14 12 15 14 16 -+Results of stblsrt1_test: -+-10 1 11 19 42 50 -+Results of stblsrt2_test: -+aa bb cc dd ll qq -+Results of swap1_test: -+a = 42 b = 19 -+a = 19 b = 42 -+Results of swprnge1_test: -+World Hello -+Hello World -+Results of times_test: -+total = 70 -+Results of trnsfrm1_test: -+5 1 0 -1 -6 -11 -+Results of trnsfrm2_test: -+Hello World! -+Results of ucompos1_test: -+1 -+2 -+4 -+Results of ucompos2_test: -+1 -+2 -+4 -+Results of unegate1_test: -+2 -+Results of unegate2_test: -+2 -+Results of uniqcpy1_test: -+0 1 2 3 4 0 0 0 -+Results of uniqcpy2_test: -+QQWWEERTTYY -+QQWWEERTTYY -+QWERTY -+Results of unique1_test: -+0 1 2 3 4 2 3 4 -+Results of unique2_test: -+QQWWEERTTYY -+QWERTYRTTYY -+Results of uprbnd1_test: -+0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 -+3 can be inserted at index: 16 -+Results of uprbnd2_test: -+d can be inserted at index: 4 -+Results of vec1_test: -+empty = 1 -+size = 0 -+max_size = 1073741823 -+size = 1 -+v1[0] = 42 -+Results of vec2_test: -+v1 = 32.1 40.5 -+v2 = 3.56 -+v1 = 3.56 -+v2 = 32.1 40.5 -+v2 = 3.56 -+Results of vec3_test: -+v1 = hi -+v2 = ho -+(v1 == v2) = 0 -+(v1 < v2) = 1 -+Results of vec4_test: -+front = 1 -+back = 16, size = 4 -+back = 25, size = 5 -+back = 16, size = 4 -+Results of vec5_test: -+v[0] = 1 -+v[1] = 4 -+v[2] = 9 -+v[3] = 16 -+Results of vec6_test: -+v[0] = 1 -+v[1] = 4 -+v[2] = 9 -+v[3] = 16 -+v[4] = 25 -+v[5] = 36 -+ -+v[0] = 4 -+v[1] = 9 -+v[2] = 16 -+v[3] = 25 -+v[4] = 36 -+ -+v[0] = 4 -+v[1] = 9 -+v[2] = 16 -+v[3] = 25 -+ -+v[0] = 4 -+v[1] = 25 -+ -+Results of vec7_test: -+v[0] = 0 -+v[1] = 1 -+v[2] = 4 -+v[3] = 25 -+v[4] = 36 -+ -+v[0] = 0 -+v[1] = 1 -+v[2] = 4 -+v[3] = 9 -+v[4] = 16 -+v[5] = 25 -+v[6] = 36 -+ -+Results of vec8_test: -+capacity = 0 -+capacity = 1 -+capacity = 5000 -+Results of hmap1_test: -+m['x'] = 20 -+m['x'] = 10 -+m['z'] = -+m.count('z') = 1 -+First insertion successful -+Existing pair c -> 100 -+Results of hmmap1_test: -+count('X') = 0 -+count('X') = 1 -+count('X') = 2 -+X -> 10 -+X -> 20 -+Y -> 32 -+Erased 2 items -+Results of hset2_test: -+Inserted new element 42 -+Existing element = 42 -+Results of hmset1_test: -+count(42) = 0 -+count(42) = 1 -+count(42) = 2 -+40 Not found -+Found * -+Erased 2 instances -+Results of slist1_test: -+original: xlxtss -+reversed: sstxlx -+removed: sstl -+uniqued: stl -+sorted: lst -+Results of string1_test: -+Hello, World! -+v[0] = H -+v[1] = ! -+ -+Hello, World! -+Results of bitset1_test: -+b1 size = 13 -+b1 = 1111111111111 -+b2 size = 13 -+b2 = 1000100010001 -+b1 = 1101110111011 -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/stl_test.freebsd.exp tripwire-2.3.1-2/src/STLport-4.0/test/regression/stl_test.freebsd.exp ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/stl_test.freebsd.exp Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/stl_test.freebsd.exp Sun Aug 11 19:13:00 2002 -@@ -0,0 +1,869 @@ -+Results of accum1_test: -+sum = 15 -+Results of accum2_test: -+prod = 120 -+Results of adjdiff0_test: -+1 2 4 8 16 -+1 1 2 4 8 -+Results of adjdiff1_test: -+0 1 4 9 16 25 36 49 64 81 -+0 1 3 5 7 9 11 13 15 17 -+Results of adjdiff2_test: -+1 2 3 4 5 6 7 8 9 10 -+1 2 6 12 20 30 42 56 72 90 -+Results of adjfind0_test: -+No adjacent pairs -+Found adjacent pair of: 1 at offset 3 -+Results of adjfind1_test: -+No adjacent pairs -+Found adjacent pair of: 7 -+Results of adjfind2_test: -+Found two adjacent strings of equal length: Jack -and- Mike -+Results of advance_test: -+At Beginning: 0 -+At Beginning + 5: 5 -+Results of alg1_test: -+min(4, 7) = 4 -+max('a', 'z') = z -+Results of alg2_test: -+Count of 2s = 3 -+Results of alg3_test: -+Count of 2s = 3 -+Results of alg4_test: -+1962 -+1992 -+1999 -+2001 -+Results of alg5_test: -+1962 -+1992 -+2001 -+1999 -+Results of bcompos1_test: -+1 is odd and positive -+Results of bcompos2_test: -+1 is odd and positive -+Results of bind1st1_test: -+1 -+2 -+Results of bind1st2_test: -+1 -+2 -+Results of bind2nd1_test: -+1 -+2 -+4 -+Results of bind2nd2_test: -+1 -+2 -+4 -+Results of binsert1_test: -+laurie -+jennifer -+leisa -+Results of binsert2_test: -+laurie -+jennifer -+leisa -+Results of binsrch1_test: -+found 42 -+Results of binsrch2_test: -+ff is in labels. -+Results of bnegate1_test: -+1 -+4 -+7 -+9 -+Results of bnegate2_test: -+1 -+4 -+7 -+9 -+Results of bvec1_test: -+000 -+101 -+10101 -+Results of copy1_test: -+ Src: A string to be copied. -+Dest: A string to be copied. -+Results of copy2_test: -+0 1 2 3 4 5 6 7 8 9 -+Results of copy3_test: -+0 1 2 3 4 5 6 7 8 9 -+Results of copy4_test: -+0 1 2 3 4 5 6 7 8 9 -+Results of copyb_test: -+0 1 2 3 4 5 6 7 8 9 -+Results of copyb0_test: -+1 2 3 4 5 -+1 2 3 4 5 -+Results of count0_test: -+Found 4 1's. -+Results of count1_test: -+Found 33 2's. -+Results of countif1_test: -+Found 33 odd elements. -+Results of deque1_test: -+d[0] = 1 -+d[1] = 4 -+d[2] = 9 -+d[3] = 16 -+ -+d[0] = 4 -+d[1] = 9 -+d[2] = 25 -+Results of divides_test: -+result = 2 -+Results of eqlrnge0_test: -+2 can be inserted from before index 4 to before index 8 -+Results of eqlrnge1_test: -+Within the collection: -+ 0 0 0 1 1 1 2 2 2 3 -+2 can be inserted from before index 6 to before index 9 -+Results of eqlrnge2_test: -+Within the collection: -+ aabbccddggghhklllmqqqqssyyzz -+q can be inserted from before index 18 to before index 22 -+Results of equal0_test: -+numbers1 is not equal to numbers2 -+numbers3 is equal to numbers1 -+Results of equal1_test: -+v1 is not equal to v2 -+v1 is equal to v2 -+Results of equal2_test: -+v2[i] == v1[i] * v1[i] -+Results of equalto_test: -+1 -+0 -+1 -+0 -+Results of fill1_test: -+42 42 42 42 42 42 42 42 42 42 -+Results of filln1_test: -+42 42 42 42 42 42 42 42 42 42 -+Results of find0_test: -+Found 25 at offset 5 -+Results of find1_test: -+Found 1972 at offset 3 -+Results of findif0_test: -+Value 15 at offset 3 is odd -+Results of findif1_test: -+Value 9 at offset 2 is divisible by 3 -+Results of finsert1_test: -+leisa -+jennifer -+laurie -+Results of finsert2_test: -+leisa -+jennifer -+laurie -+Results of foreach0_test: -+1 1 2 3 5 8 13 21 34 55 -+Results of foreach1_test: -+0 1 4 9 16 25 36 49 64 81 -+Results of func1_test: -+Number greater than 3 = 2 -+Results of func2_test: -+5 -+4 -+1 -+Results of func3_test: -+5 -+4 -+1 -+Results of gener1_test: -+1103527590 377401575 662824084 1147902781 2035015474 368800899 1508029952 486256185 1062517886 267834847 -+Results of gener2_test: -+1 1 2 3 5 8 13 21 34 55 -+Results of genern1_test: -+180171308 836760821 595337866 790425851 2111915288 1149758321 1644289366 1388290519 1647418052 1675546029 -+Results of genern2_test: -+1 1 2 3 5 8 13 21 34 55 -+Results of greateq_test: -+4 -+3 -+2 -+1 -+Results of greater_test: -+4 -+3 -+2 -+1 -+Results of incl0_test: -+numbers1 does not include numbers3 -+numbers2 includes numbers3 -+Results of incl1_test: -+v1 does not include v2 -+v1 includes v2 -+Results of incl2_test: -+v1 does not include v2 -+v1 includes v2 -+Results of inplmrg1_test: -+1 10 42 3 16 32 -+1 3 10 16 32 42 -+Results of inplmrg2_test: -+4 3 2 1 0 4 3 2 1 0 -+4 4 3 3 2 2 1 1 0 0 -+Results of inrprod0_test: -+Inner product = 55 -+Results of inrprod1_test: -+Inner product(sum of products) of: -+ 1 2 3 -+ 3 2 1 -+is: 10 -+Results of inrprod2_test: -+Inner product(product of sums): -+ 1 2 3 -+ 3 2 1 -+is: 64 -+Results of insert1_test: -+laurie -+jennifer -+amanda -+saskia -+carrie -+leisa -+Results of insert2_test: -+laurie -+jennifer -+amanda -+saskia -+carrie -+leisa -+Results of iota1_test: -+42 43 44 45 46 47 48 49 50 51 -+Results of istmit1_test: -+Please enter a string: read a string -+Results of iter1_test: -+zippy -+motorboy -+Results of iter2_test: -+zippy -+motorboy -+Results of iter3_test: -+motorboy -+zippy -+Results of iter4_test: -+last element is 3 -+first element is 1 -+Results of iterswp0_test: -+3 1 2 0 4 5 -+Results of iterswp1_test: -+3 1 2 0 4 5 -+Results of less_test: -+1 -+2 -+3 -+4 -+Results of lesseq_test: -+1 -+2 -+3 -+4 -+Results of lexcmp1_test: -+shine is before shoe -+Results of lexcmp2_test: -+shoe is after shine -+Results of list1_test: -+1 -+4 -+9 -+16 -+36 -+Results of list2_test: -+1 -+4 -+9 -+16 -+Results of list3_test: -+original: xlxtss -+reversed: sstxlx -+removed: sstl -+uniqued: stl -+sorted: lst -+Results of list4_test: -+123467 -+Results of logicand_test: -+0 -+1 -+0 -+0 -+Results of logicnot_test: -+count = 2 -+Results of logicor_test: -+1 -+1 -+0 -+1 -+Results of lwrbnd1_test: -+0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 -+3 can be inserted at index: 12 -+Results of lwrbnd2_test: -+d can be inserted at index: 4 -+Results of map1_test: -+m['x'] = 20 -+m['x'] = 10 -+m['z'] = 0 -+m.count('z') = 1 -+First insertion successful -+Existing pair c -> 100 -+Results of max1_test: -+100 -+Results of max2_test: -+shoe -+Results of maxelem1_test: -+56 -+Results of maxelem2_test: -+Todd -+Results of merge0_test: -+-5 1 6 13 25 26 36 46 99 101 -+Results of merge1_test: -+0 1 2 3 4 -+3 4 5 6 7 -+0 1 2 3 3 4 4 5 6 7 -+Results of merge2_test: -+10 9 8 7 6 -+7 6 5 4 3 -+10 9 8 7 7 6 6 5 4 3 -+Results of min1_test: -+42 -+Results of min2_test: -+shine -+Results of minelem1_test: -+-242 -+Results of minelem2_test: -+Brett -+Results of minus_test: -+0 -+1 -+-1 -+5 -+Results of mismtch0_test: -+n1 and n2 are the same -+Mismatch at offset: 3 -+Results of mismtch1_test: -+v1 and v2 are the same -+mismatch at index: 5 -+Results of mismtch2_test: -+n1 and n2 are the same -+mismatch at index: 2 -+Results of mkheap0_test: -+19 -+13 -+11 -+10 -+5 -+4 -+Results of mkheap1_test: -+4 -+5 -+10 -+11 -+13 -+19 -+Results of mmap1_test: -+count('X') = 0 -+count('X') = 1 -+count('X') = 2 -+X -> 10 -+X -> 20 -+Y -> 32 -+Erased 2 items -+Results of mmap2_test: -+lower bound: -+3 -> c -+upper bound: -+6 -> f -+Results of modulus_test: -+2 -+0 -+10 -+2 -+Results of mset1_test: -+count(42) = 0 -+count(42) = 1 -+count(42) = 2 -+40 Not found -+Found 42 -+Erased 2 instances -+Results of mset3_test: -+lower bound = 3 -+upper bound = 6 -+Results of mset4_test: -+lower bound = 3 -+upper bound = 6 -+Results of mset5_test: -+Using less_than: -+1 -+3 -+6 -+9 -+Using greater_than: -+9 -+6 -+3 -+1 -+Results of negate_test: -+-1 -+-2 -+-3 -+Results of nequal_test: -+0 -+1 -+0 -+1 -+Results of nextprm0_test: -+0 2 1 -+Results of nextprm1_test: -+0 1 2 -+0 2 1 -+1 0 2 -+1 2 0 -+2 0 1 -+2 1 0 -+0 1 2 -+0 2 1 -+1 0 2 -+1 2 0 -+Results of nextprm2_test: -+ABC -+ACB -+BAC -+BCA -+CAB -+CBA -+ABC -+ACB -+BAC -+BCA -+Results of nthelem0_test: -+1 0 2 3 4 5 -+Results of nthelem1_test: -+2 5 2 1 8 5 4 1 6 5 -+1 1 2 2 4 5 5 8 6 5 -+Results of nthelem2_test: -+2 1 2 5 0 5 2 9 4 5 -+5 9 5 5 4 2 2 1 2 0 -+Results of ostmit_test: -+hello -+1524 -+Results of pair0_test: -+p.first = 1, p.second = 10 -+Results of pair1_test: -+p.first = 1, p.second = 10 -+Results of pair2_test: -+p.first = 1 -+p.second = 10 -+Results of parsrt0_test: -+1 2 3 5 4 6 -+Results of parsrt1_test: -+6 9 4 3 4 1 2 5 4 7 -+1 2 3 4 4 9 6 5 4 7 -+Results of parsrt2_test: -+aa ff dd ee cc bb -+aa bb cc ff ee dd -+Results of parsrtc0_test: -+1 2 3 -+Results of parsrtc1_test: -+2 7 6 7 8 5 2 3 0 5 -+0 2 2 3 5 -+Results of parsrtc2_test: -+aa ff dd ee cc bb -+aa ff dd ee cc bb -+Results of partsrt0_test: -+1 2 3 5 4 6 -+Results of partsum0_test: -+1 3 6 10 15 21 -+Results of partsum1_test: -+0 1 2 3 4 5 6 7 8 9 -+0 1 3 6 10 15 21 28 36 45 -+Results of partsum2_test: -+1 2 3 4 5 -+1 2 6 24 120 -+Results of pheap1_test: -+1 4 7 20 -+Results of pheap2_test: -+20 7 4 1 -+Results of plus_test: -+total = 77 -+Results of pqueue1_test: -+101 -+69 -+42 -+Results of prevprm0_test: -+2 1 0 -+Results of prevprm1_test: -+0 1 2 -+2 1 0 -+2 0 1 -+1 2 0 -+1 0 2 -+0 2 1 -+0 1 2 -+2 1 0 -+2 0 1 -+1 2 0 -+Results of prevprm2_test: -+0 1 2 -+0 2 1 -+1 0 2 -+1 2 0 -+2 0 1 -+2 1 0 -+0 1 2 -+0 2 1 -+1 0 2 -+1 2 0 -+Results of ptition0_test: -+6 1 3 10 12 20 -+Results of ptition1_test: -+14 15 16 13 2 19 16 1 14 3 -+3 1 2 13 16 19 16 15 14 14 -+Results of ptrbinf1_test: -+8 -+7 -+8 -+13 -+Results of ptrbinf2_test: -+8 -+7 -+8 -+13 -+Results of ptrunf1_test: -+2 is even -+Results of ptrunf2_test: -+2 is even -+Results of queue1_test: -+42 -+101 -+69 -+Results of rawiter_test: -+0 -+1 -+2 -+3 -+4 -+Results of remcopy1_test: -+1 3 1 3 0 0 -+Results of remcpif1_test: -+2 2 0 0 0 0 -+Results of remif1_test: -+0 0 2 2 2 2 -+Results of remove1_test: -+2 3 2 3 2 3 -+Results of repcpif1_test: -+0 1 2 3 4 0 1 2 3 4 -+0 1 2 3 4 0 1 2 3 4 -+0 42 2 42 4 0 42 2 42 4 -+Results of replace0_test: -+0 1 42 0 1 42 -+Results of replace1_test: -+0 1 2 3 4 0 1 2 3 4 -+0 1 42 3 4 0 1 42 3 4 -+Results of replcpy1_test: -+0 1 42 0 1 42 -+Results of replif1_test: -+0 1 2 3 4 0 1 2 3 4 -+0 42 2 42 4 0 42 2 42 4 -+Results of revbit1_test: -+3 -+2 -+5 -+1 -+Results of revbit2_test: -+3 -+2 -+5 -+1 -+Results of revcopy1_test: -+0 1 2 3 4 5 -+5 4 3 2 1 0 -+Results of reverse1_test: -+5 4 3 2 1 0 -+Results of reviter1_test: -+Results of reviter2_test: -+3 -+2 -+5 -+1 -+Results of rndshuf0_test: -+6 1 4 3 5 2 -+Results of rndshuf1_test: -+0 1 2 3 4 5 6 7 8 9 -+2 9 0 4 8 5 6 7 3 1 -+5 2 9 0 3 8 6 4 1 7 -+5 6 9 3 2 7 8 0 4 1 -+Results of rndshuf2_test: -+0 1 2 3 4 5 6 7 8 9 -+2 4 9 1 5 8 0 3 6 7 -+5 8 9 3 2 6 1 0 4 7 -+7 9 6 8 5 2 1 3 0 4 -+Results of rotate0_test: -+3 4 5 0 1 2 -+Results of rotate1_test: -+0 1 2 3 4 5 6 7 8 9 -+0 1 2 3 4 5 6 7 8 9 -+1 2 3 4 5 6 7 8 9 0 -+3 4 5 6 7 8 9 0 1 2 -+6 7 8 9 0 1 2 3 4 5 -+0 1 2 3 4 5 6 7 8 9 -+5 6 7 8 9 0 1 2 3 4 -+1 2 3 4 5 6 7 8 9 0 -+8 9 0 1 2 3 4 5 6 7 -+6 7 8 9 0 1 2 3 4 5 -+5 6 7 8 9 0 1 2 3 4 -+ -+Results of rotcopy0_test: -+3 4 5 0 1 2 -+Results of rotcopy1_test: -+0 1 2 3 4 5 6 7 8 9 -+0 1 2 3 4 5 6 7 8 9 -+1 2 3 4 5 6 7 8 9 0 -+2 3 4 5 6 7 8 9 0 1 -+3 4 5 6 7 8 9 0 1 2 -+4 5 6 7 8 9 0 1 2 3 -+5 6 7 8 9 0 1 2 3 4 -+6 7 8 9 0 1 2 3 4 5 -+7 8 9 0 1 2 3 4 5 6 -+8 9 0 1 2 3 4 5 6 7 -+9 0 1 2 3 4 5 6 7 8 -+ -+Results of search0_test: -+v3 not contained in v1 -+Found v3 in v2 at offset: 3 -+Results of search1_test: -+v1: 0 1 2 3 4 5 6 7 8 9 -+v2: 50 51 52 -+v2 not contained in v1 -+v1: 0 1 2 3 4 5 6 7 8 9 -+v2: 4 5 6 -+Found v2 in v1 at offset: 4 -+Results of search2_test: -+grades: A B C D F -+letters:Q E D -+letters not found in grades -+grades: A B C D F -+letters:B C D -+letters found in grades at offset: 1 -+Results of set1_test: -+count(42) = 0 -+count(42) = 1 -+count(42) = 1 -+1 elements erased -+Results of set2_test: -+Inserted new element 42 -+Existing element = 42 -+Results of setdiff0_test: -+18 0 0 0 -+10 17 23 0 -+Results of setdiff1_test: -+v1: 0 1 2 3 4 5 6 7 8 9 -+v2: 7 8 9 10 11 12 13 14 15 16 -+0 1 2 3 4 5 6 -+Results of setdiff2_test: -+word1: A B C D E F G H I J K L M N O -+word2: L M N O P Q R S T U V W X Y Z -+A B C D E F G H I J K -+Results of setintr0_test: -+13 23 0 0 -+Results of setintr1_test: -+v1: 0 1 2 3 4 5 6 7 8 9 -+v2: 7 8 9 10 11 12 13 14 15 16 -+7 8 9 -+Results of setintr2_test: -+word1: A B C D E F G H I J K L M N O -+word2: L M N O P Q R S T U V W X Y Z -+L M N O -+Results of setsymd0_test: -+10 17 18 0 -+Results of setsymd1_test: -+v1: 0 1 2 3 4 5 6 7 8 9 -+v2: 7 8 9 10 11 12 13 14 15 16 -+0 1 2 3 4 5 6 10 11 12 13 14 15 16 -+Results of setsymd2_test: -+word1: A B C D E F G H I J K L M N O -+word2: L M N O P Q R S T U V W X Y Z -+A B C D E F G H I J K P Q R S T U V W X Y Z -+Results of setunon0_test: -+10 13 17 18 23 0 0 -+Results of setunon1_test: -+v1: 0 1 2 3 4 5 6 7 8 9 -+v2: 7 8 9 10 11 12 13 14 15 16 -+0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 -+Results of setunon2_test: -+word1: A B C D E F G H I J K L M N O -+word2: L M N O P Q R S T U V W X Y Z -+A B C D E F G H I J K L M N O P Q R S T U V W X Y Z -+Results of sort1_test: -+-10 1 11 19 42 50 -+Results of sort2_test: -+before: 1 50 -10 11 42 19 -+after: 50 42 19 11 1 -10 -+Results of stack1_test: -+69 -+101 -+42 -+Results of stack2_test: -+69 -+101 -+42 -+Results of stblptn0_test: -+5 6 -2 10 11 20 -+Results of stblptn1_test: -+15 12 1 10 7 12 17 18 11 0 -+1 10 7 0 15 12 12 17 18 11 -+Results of stblsrt1_test: -+-10 1 11 19 42 50 -+Results of stblsrt2_test: -+aa bb cc dd ll qq -+Results of swap1_test: -+a = 42 b = 19 -+a = 19 b = 42 -+Results of swprnge1_test: -+World Hello -+Hello World -+Results of times_test: -+total = 70 -+Results of trnsfrm1_test: -+5 1 0 -1 -6 -11 -+Results of trnsfrm2_test: -+Hello World! -+Results of ucompos1_test: -+1 -+2 -+4 -+Results of ucompos2_test: -+1 -+2 -+4 -+Results of unegate1_test: -+2 -+Results of unegate2_test: -+2 -+Results of uniqcpy1_test: -+0 1 2 3 4 0 0 0 -+Results of uniqcpy2_test: -+QQWWEERTTYY -+QQWWEERTTYY -+QWERTY -+Results of unique1_test: -+0 1 2 3 4 2 3 4 -+Results of unique2_test: -+QQWWEERTTYY -+QWERTYRTTYY -+Results of uprbnd1_test: -+0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 -+3 can be inserted at index: 16 -+Results of uprbnd2_test: -+d can be inserted at index: 4 -+Results of vec1_test: -+empty = 1 -+size = 0 -+max_size = 1073741823 -+size = 1 -+v1[0] = 42 -+Results of vec2_test: -+v1 = 32.1 40.5 -+v2 = 3.56 -+v1 = 3.56 -+v2 = 32.1 40.5 -+v2 = 3.56 -+Results of vec3_test: -+v1 = hi -+v2 = ho -+(v1 == v2) = 0 -+(v1 < v2) = 1 -+Results of vec4_test: -+front = 1 -+back = 16, size = 4 -+back = 25, size = 5 -+back = 16, size = 4 -+Results of vec5_test: -+v[0] = 1 -+v[1] = 4 -+v[2] = 9 -+v[3] = 16 -+Results of vec6_test: -+v[0] = 1 -+v[1] = 4 -+v[2] = 9 -+v[3] = 16 -+v[4] = 25 -+v[5] = 36 -+ -+v[0] = 4 -+v[1] = 9 -+v[2] = 16 -+v[3] = 25 -+v[4] = 36 -+ -+v[0] = 4 -+v[1] = 9 -+v[2] = 16 -+v[3] = 25 -+ -+v[0] = 4 -+v[1] = 25 -+ -+Results of vec7_test: -+v[0] = 0 -+v[1] = 1 -+v[2] = 4 -+v[3] = 25 -+v[4] = 36 -+ -+v[0] = 0 -+v[1] = 1 -+v[2] = 4 -+v[3] = 9 -+v[4] = 16 -+v[5] = 25 -+v[6] = 36 -+ -+Results of vec8_test: -+capacity = 0 -+capacity = 1 -+capacity = 5000 -+Results of hmap1_test: -+m['x'] = 20 -+m['x'] = 10 -+m['z'] = -+m.count('z') = 1 -+First insertion successful -+Existing pair c -> 100 -+Results of hmmap1_test: -+count('X') = 0 -+count('X') = 1 -+count('X') = 2 -+X -> 10 -+X -> 20 -+Y -> 32 -+Erased 2 items -+Results of hset2_test: -+Inserted new element 42 -+Existing element = 42 -+Results of hmset1_test: -+count(42) = 0 -+count(42) = 1 -+count(42) = 2 -+40 Not found -+Found * -+Erased 2 instances -+Results of slist1_test: -+original: xlxtss -+reversed: sstxlx -+removed: sstl -+uniqued: stl -+sorted: lst -+Results of string1_test: -+Hello, World! -+v[0] = H -+v[1] = ! -+ -+Hello, World! -+Results of bitset1_test: -+b1 size = 13 -+b1 = 1111111111111 -+b2 size = 13 -+b2 = 1000100010001 -+b1 = 1101110111011 -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/sunpro-64.mak tripwire-2.3.1-2/src/STLport-4.0/test/regression/sunpro-64.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/sunpro-64.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/sunpro-64.mak Sun Aug 11 19:13:00 2002 -@@ -0,0 +1,182 @@ -+# ;;; -*- Mode:makefile;-*- -+# Generated automatically from Makefile.in by configure. -+# This requires GNU make. -+ -+srcdir = . -+VPATH = . -+ -+# point this to proper location -+ -+ -+# PWD is here because SC5 wants absolute path ;( -+STL_INCL=-I${PWD}/../../stlport -+ -+LIST = stl_test.cpp accum1.cpp accum2.cpp \ -+ adjdiff0.cpp adjdiff1.cpp adjdiff2.cpp \ -+ adjfind0.cpp adjfind1.cpp adjfind2.cpp \ -+ advance.cpp \ -+ alg1.cpp alg2.cpp alg3.cpp alg4.cpp alg5.cpp \ -+ bcompos1.cpp bcompos2.cpp \ -+ bind1st1.cpp bind1st2.cpp \ -+ bind2nd1.cpp bind2nd2.cpp \ -+ binsert1.cpp binsert2.cpp \ -+ binsrch1.cpp binsrch2.cpp \ -+ bnegate1.cpp bnegate2.cpp bvec1.cpp \ -+ copy1.cpp copy2.cpp copy3.cpp copy4.cpp \ -+ copyb.cpp copyb0.cpp \ -+ count0.cpp count1.cpp \ -+ countif1.cpp \ -+ deque1.cpp \ -+ divides.cpp \ -+ eqlrnge0.cpp eqlrnge1.cpp eqlrnge2.cpp \ -+ equal0.cpp equal1.cpp equal2.cpp \ -+ equalto.cpp \ -+ fill1.cpp filln1.cpp \ -+ find0.cpp find1.cpp \ -+ findif0.cpp findif1.cpp \ -+ finsert1.cpp finsert2.cpp \ -+ foreach0.cpp foreach1.cpp \ -+ func1.cpp func2.cpp func3.cpp \ -+ gener1.cpp gener2.cpp \ -+ genern1.cpp genern2.cpp \ -+ greateq.cpp greater.cpp \ -+ incl0.cpp incl1.cpp incl2.cpp \ -+ inplmrg1.cpp inplmrg2.cpp \ -+ inrprod0.cpp inrprod1.cpp inrprod2.cpp \ -+ insert1.cpp insert2.cpp \ -+ iota1.cpp \ -+ istmit1.cpp \ -+ iter1.cpp iter2.cpp iter3.cpp iter4.cpp \ -+ iterswp0.cpp iterswp1.cpp \ -+ less.cpp \ -+ lesseq.cpp \ -+ lexcmp1.cpp lexcmp2.cpp \ -+ list1.cpp list2.cpp list3.cpp list4.cpp \ -+ logicand.cpp logicnot.cpp \ -+ logicor.cpp \ -+ lwrbnd1.cpp lwrbnd2.cpp \ -+ map1.cpp \ -+ max1.cpp max2.cpp \ -+ maxelem1.cpp maxelem2.cpp \ -+ merge0.cpp merge1.cpp merge2.cpp \ -+ min1.cpp min2.cpp \ -+ minelem1.cpp minelem2.cpp \ -+ minus.cpp \ -+ mismtch0.cpp mismtch1.cpp mismtch2.cpp \ -+ mkheap0.cpp mkheap1.cpp \ -+ mmap1.cpp mmap2.cpp \ -+ modulus.cpp \ -+ mset1.cpp mset3.cpp mset4.cpp mset5.cpp \ -+ negate.cpp nequal.cpp \ -+ nextprm0.cpp nextprm1.cpp nextprm2.cpp \ -+ nthelem0.cpp nthelem1.cpp nthelem2.cpp \ -+ ostmit.cpp \ -+ pair0.cpp pair1.cpp pair2.cpp \ -+ parsrt0.cpp parsrt1.cpp parsrt2.cpp \ -+ parsrtc0.cpp parsrtc1.cpp parsrtc2.cpp \ -+ partsrt0.cpp \ -+ partsum0.cpp partsum1.cpp partsum2.cpp \ -+ pheap1.cpp pheap2.cpp \ -+ plus.cpp \ -+ pqueue1.cpp \ -+ prevprm0.cpp prevprm1.cpp prevprm2.cpp \ -+ ptition0.cpp ptition1.cpp \ -+ ptrbinf1.cpp ptrbinf2.cpp \ -+ ptrunf1.cpp ptrunf2.cpp \ -+ queue1.cpp \ -+ rawiter.cpp \ -+ remcopy1.cpp \ -+ remcpif1.cpp \ -+ remif1.cpp \ -+ remove1.cpp \ -+ repcpif1.cpp \ -+ replace0.cpp replace1.cpp replcpy1.cpp replif1.cpp \ -+ revbit1.cpp revbit2.cpp \ -+ revcopy1.cpp reverse1.cpp reviter1.cpp reviter2.cpp \ -+ rndshuf0.cpp rndshuf1.cpp rndshuf2.cpp \ -+ rotate0.cpp rotate1.cpp rotcopy0.cpp rotcopy1.cpp \ -+ search0.cpp search1.cpp search2.cpp \ -+ set1.cpp set2.cpp \ -+ setdiff0.cpp setdiff1.cpp setdiff2.cpp \ -+ setintr0.cpp setintr1.cpp setintr2.cpp \ -+ setsymd0.cpp setsymd1.cpp setsymd2.cpp \ -+ setunon0.cpp setunon1.cpp setunon2.cpp \ -+ sort1.cpp sort2.cpp \ -+ stack1.cpp stack2.cpp \ -+ stblptn0.cpp stblptn1.cpp \ -+ stblsrt1.cpp stblsrt2.cpp \ -+ swap1.cpp \ -+ swprnge1.cpp \ -+ times.cpp \ -+ trnsfrm1.cpp trnsfrm2.cpp \ -+ ucompos1.cpp ucompos2.cpp \ -+ unegate1.cpp unegate2.cpp \ -+ uniqcpy1.cpp uniqcpy2.cpp \ -+ unique1.cpp unique2.cpp \ -+ uprbnd1.cpp uprbnd2.cpp \ -+ vec1.cpp vec2.cpp vec3.cpp vec4.cpp vec5.cpp vec6.cpp vec7.cpp vec8.cpp \ -+ hmap1.cpp hmmap1.cpp hset2.cpp hmset1.cpp slist1.cpp string1.cpp bitset1.cpp -+ -+# STAT_MODULE=stat.o -+OBJECTS = $(LIST:%.cpp=%.o) $(STAT_MODULE) -+EXECS = $(LIST:%.cpp=%.exe) -+TESTS = $(LIST:%.cpp=%.out) -+TEST_EXE = stl_test.exe -+TEST = stl_test.out -+ -+CC = CC -+CXX = $(CC) -+# DEBUG_FLAGS=-g -+# DEBUG_FLAGS=-O -+ -+# DEBUG_FLAGS=-D_STLP_DEBUG -+ -+# DEBUG_FLAGS=-compat=4 -+ -+ -+# CXXFLAGS = -xarch=v9 +w2 ${STL_INCL} ${DEBUG_FLAGS} -I. -D_STLP_NO_OWN_IOSTREAMS -D_STLP_HAS_NO_NEW_IOSTREAMS -+CXXFLAGS = -xarch=v9 +w2 ${STL_INCL} ${DEBUG_FLAGS} -I. -library=no%Cstd -I. -qoption ccfe -expand=1000 -qoption ccfe -instlib=../../lib/libstlport_sunpro64.so -+ -+ -+ -+# LIBS = -lm -liostream -+LIBS = -L../../lib -lstlport_sunpro64 -lm -+LIBSTDCXX = -+ -+check: $(TEST) -+ -+$(TEST) : $(OBJECTS) -+ $(CXX) $(CXXFLAGS) $(DEBUG_FLAGS) $(OBJECTS) $(LIBS) -o $(TEST_EXE) -+ LD_LIBRARY_PATH=../../lib:${LD_LIBRARY_PATH} ./$(TEST_EXE) < stdin > $(TEST) -+ -+SUFFIXES: .cpp.o.exe.out.res -+ -+%.o : %.cpp -+ $(CXX) $(CXXFLAGS) $< -c -o $@ -+ -+%.i : %.cpp -+ $(CXX) $(CXXFLAGS) $< -E -H > $@ -+ -+%.out: %.cpp -+ $(CXX) $(CXXFLAGS) $< -c -USINGLE -DMAIN -D_REENTRANT -o $*.o -+ $(CXX) $(CXXFLAGS) $*.o $(LIBS) -lpthread -g -o $*.exe -+ LD_LIBRARY_PATH=../../lib:${LD_LIBRARY_PATH} ./$*.exe < stdin > $@ -+ -rm -f $*.exe -+ -+istmit1.out: istmit1.cpp -+ $(CXX) $(CXXFLAGS) $< $(STAT_MODULE) $(LIBSTDCXX) -lstdc++ $(LIBS) -o istmit1 -+ echo 'a string' | ./istmit1 > istmit1.out -+ -rm -f ./istmit1 -+ -+$(STAT_MODULE): stat.cpp -+ $(CXX) $(CXXFLAGS) -c $< -o $@ -+ -+%.s: %.cpp -+ $(CXX) $(CXXFLAGS) -O5 -D_STLP_USE_MALLOC -S -pto $< -o $@ -+ -+# $(CXX) $(CXXFLAGS) -O5 -D_STLP_USE_MALLOC -noex -D_STLP_NO_EXCEPTIONS -S -pto $< -o $@ -+ -+# $(CXX) $(CXXFLAGS) -O4 -noex -D_STLP_NO_EXCEPTIONS -D_STLP_NO_EXCEPTIONS -S -pta $< -o $@ -+ -+clean: -+ -rm -fr *.exe *.o *.rpo *.obj *.out Templates.DB SunWS_cache -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/sunpro.mak tripwire-2.3.1-2/src/STLport-4.0/test/regression/sunpro.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/sunpro.mak Sat Feb 24 10:45:48 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/sunpro.mak Sun Aug 11 18:59:26 2002 -@@ -9,7 +9,7 @@ - - - # PWD is here because SC5 wants absolute path ;( --STL_INCL=-I${PWD}/../../stlport/SC5 -+STL_INCL=-I${PWD}/../../stlport - - LIST = stl_test.cpp accum1.cpp accum2.cpp \ - adjdiff0.cpp adjdiff1.cpp adjdiff2.cpp \ -@@ -129,22 +129,21 @@ - # DEBUG_FLAGS=-g - # DEBUG_FLAGS=-O - --# DEBUG_FLAGS=-D__STL_DEBUG -+# DEBUG_FLAGS=-D_STLP_DEBUG - - # DEBUG_FLAGS=-compat=4 - - --CXXFLAGS = +w2 -pta ${STL_INCL} ${DEBUG_FLAGS} -I. -D__STL_NO_SGI_IOSTREAMS -+CXXFLAGS = +w2 ${STL_INCL} ${DEBUG_FLAGS} -library=no%Cstd -I. -qoption ccfe -expand=1000 -qoption ccfe -instlib=../../lib/libstlport_sunpro.so - -- --LIBS = -lm -+LIBS = -L../../lib -lstlport_sunpro -lm - LIBSTDCXX = - - check: $(TEST) - - $(TEST) : $(OBJECTS) - $(CXX) $(CXXFLAGS) $(DEBUG_FLAGS) $(OBJECTS) $(LIBS) -o $(TEST_EXE) -- echo 'a string' | $(TEST_EXE) > $(TEST) -+ LD_LIBRARY_PATH="../../lib;${LD_LIBRARY_PATH}" ./$(TEST_EXE) < stdin > $(TEST) - - SUFFIXES: .cpp.o.exe.out.res - -@@ -155,10 +154,10 @@ - $(CXX) $(CXXFLAGS) $< -E -H > $@ - - %.out: %.cpp -- $(CXX) $(CXXFLAGS) $< -c -USINGLE -DMAIN -o $*.o -- $(CXX) $(CXXFLAGS) $*.o $(LIBS) -g -o $*.exe -- ./$*.exe > $@ -- -rm -f $*.exe -+ $(CXX) $(CXXFLAGS) $< -c -USINGLE -DMAIN -D_REENTRANT -o $*.o -+ $(CXX) $(CXXFLAGS) $*.o -L../../lib -lstlport_sunpro -lpthread -xildoff -lm -g -o $*.exe -+ env LD_LIBRARY_PATH=../../lib ./$*.exe > $@ -+# -rm -f $*.exe - - istmit1.out: istmit1.cpp - $(CXX) $(CXXFLAGS) $< $(STAT_MODULE) $(LIBSTDCXX) -lstdc++ $(LIBS) -o istmit1 -@@ -169,11 +168,11 @@ - $(CXX) $(CXXFLAGS) -c $< -o $@ - - %.s: %.cpp -- $(CXX) $(CXXFLAGS) -O5 -D__STL_USE_MALLOC -S -pto $< -o $@ -+ $(CXX) $(CXXFLAGS) -O5 -D_STLP_USE_MALLOC -S -pto $< -o $@ - --# $(CXX) $(CXXFLAGS) -O5 -D__STL_USE_MALLOC -noex -D__STL_NO_EXCEPTIONS -S -pto $< -o $@ -+# $(CXX) $(CXXFLAGS) -O5 -D_STLP_USE_MALLOC -noex -D_STLP_NO_EXCEPTIONS -S -pto $< -o $@ - --# $(CXX) $(CXXFLAGS) -O4 -noex -D__STL_NO_EXCEPTIONS -D__STL_NO_EXCEPTIONS -S -pta $< -o $@ -+# $(CXX) $(CXXFLAGS) -O4 -noex -D_STLP_NO_EXCEPTIONS -D_STLP_NO_EXCEPTIONS -S -pta $< -o $@ - - clean: - -rm -fr *.exe *.o *.rpo *.obj *.out Templates.DB SunWS_cache -Only in tripwire-2.3.1-2.old/src/STLport-4.0/test/regression: tst.cpp -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/uniqcpy2.cpp tripwire-2.3.1-2/src/STLport-4.0/test/regression/uniqcpy2.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/uniqcpy2.cpp Sat Feb 24 10:45:48 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/uniqcpy2.cpp Sun Aug 11 18:59:26 2002 -@@ -8,17 +8,18 @@ - #include - #include - -+#if !defined (STLPORT) || defined(__STL_USE_NAMESPACES) -+using namespace std; -+#endif -+ - #ifdef MAIN - #define uniqcpy2_test main - #endif - static bool str_equal(const char* a_, const char* b_) - { -- return ::strcmp(a_, b_) == 0 ? 1 : 0; -+ return strcmp(a_, b_) == 0 ? 1 : 0; - } - --#if !defined (STLPORT) || defined(__STL_USE_NAMESPACES) --using namespace std; --#endif - int uniqcpy2_test(int, char**) - { - cout<<"Results of uniqcpy2_test:"< - #include - -+#if !defined (STLPORT) || defined(__STL_USE_NAMESPACES) -+using namespace std; -+#endif -+ - #ifdef MAIN - #define unique2_test main - #endif - static bool str_equal(const char* a_, const char* b_) - { -- return ::strcmp(a_, b_) == 0 ? 1 : 0; -+ return strcmp(a_, b_) == 0 ? 1 : 0; - } - --#if !defined (STLPORT) || defined(__STL_USE_NAMESPACES) --using namespace std; --#endif - int unique2_test(int, char**) - { - cout<<"Results of unique2_test:"< $(TEST) - - %$(OBJ): %.cpp -- $(CXX) $(CXXFLAGS) $(DEBUG_FLAGS) $(REPO_FLAGS) $(.IMPSRC) -c $< -+ $(CXX) $(CXXFLAGS) $(DEBUG_FLAGS) $(REPO_FLAGS) -c $< - - %.out: %.cpp - $(CXX) $(CXXFLAGS) ${DEBUG_FLAGS} -USINGLE -DMAIN $< -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/vc.mak tripwire-2.3.1-2/src/STLport-4.0/test/regression/vc.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/vc.mak Sat Feb 24 10:45:49 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/vc.mak Sun Aug 11 18:59:26 2002 -@@ -32,7 +32,7 @@ - bcompos1.obj bcompos2.obj \ - bind1st1.obj bind1st2.obj \ - bind2nd1.obj bind2nd2.obj \ -- binsert1.obj binsert2.cpp \ -+ binsert1.obj binsert2.obj \ - binsrch1.obj binsrch2.obj \ - bnegate1.obj bnegate2.obj bvec1.obj \ - copy1.obj copy2.obj copy3.obj copy4.obj \ -@@ -132,11 +132,11 @@ - - LINK32=link.exe - --CPP_PROJ=/nologo /W3 /MDd /GX /Zd /D "WIN32" /D "_CONSOLE" $(STL_INCL) /I$(VC_INCL) /I. -+# CPP_PROJ=/nologo /W3 /MDd /GX /Zd /D "WIN32" /D "_CONSOLE" $(STL_INCL) /I$(VC_INCL) /I. - - # Use this flags to test non-SGI iostreams --CPP_PROJ=/nologo /W3 /MD /GX /Zd /Zi /D "WIN32" /D "_CONSOLE" $(STL_INCL) /I$(VC_INCL) /I. /D__STL_NO_NEW_IOSTREAMS -- -+CPP_PROJ=/nologo /W3 /MD /GX /Zi /D "WIN32" /D "_CONSOLE" $(STL_INCL) /I$(VC_INCL) /I. /D_STLP_NO_OWN_IOSTREAMS -+# CPP_PROJ=/nologo /W3 /MD /GX /Zd /Zi /D "WIN32" /D "_CONSOLE" $(STL_INCL) /I$(VC_INCL) /I. - # linker finds proper STLport lib automatically, only path to the - # library is needed - CPP_LIBS = /link /libpath:"..\..\lib" -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/vc6.mak tripwire-2.3.1-2/src/STLport-4.0/test/regression/vc6.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/vc6.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/vc6.mak Sun Aug 11 19:13:00 2002 -@@ -0,0 +1,225 @@ -+# Microsoft Developer Studio Generated NMAKE File, Format Version 4.10 -+# ** DO NOT EDIT ** -+ -+# TARGTYPE "Win32 (x86) Console Application" 0x0103 -+ -+ -+!IF "$(OS)" == "Windows_NT" -+NULL= -+!ELSE -+NULL=nul -+!ENDIF -+################################################################################ -+# Begin Project -+RSC=rc.exe -+CPP=cl.exe -+LINK32=link.exe -+F90=fl32.exe -+ -+OUTDIR=. -+INTDIR=. -+ -+# set this directories -+STL_PATH=..\.. -+ -+ -+Dep_stl = stl_test.obj accum1.obj accum2.obj \ -+ adjdiff0.obj adjdiff1.obj adjdiff2.obj \ -+ adjfind0.obj adjfind1.obj adjfind2.obj \ -+ advance.obj \ -+ alg1.obj alg2.obj alg3.obj alg4.obj alg5.obj \ -+ bcompos1.obj bcompos2.obj \ -+ bind1st1.obj bind1st2.obj \ -+ bind2nd1.obj bind2nd2.obj \ -+ binsert1.obj binsert2.obj \ -+ binsrch1.obj binsrch2.obj \ -+ bnegate1.obj bnegate2.obj bvec1.obj \ -+ copy1.obj copy2.obj copy3.obj copy4.obj \ -+ copyb.obj copyb0.obj \ -+ count0.obj count1.obj \ -+ countif1.obj \ -+ deque1.obj \ -+ divides.obj \ -+ eqlrnge0.obj eqlrnge1.obj eqlrnge2.obj \ -+ equal0.obj equal1.obj equal2.obj \ -+ equalto.obj \ -+ fill1.obj filln1.obj \ -+ find0.obj find1.obj \ -+ findif0.obj findif1.obj \ -+ finsert1.obj finsert2.obj \ -+ foreach0.obj foreach1.obj \ -+ func1.obj func2.obj func3.obj \ -+ gener1.obj gener2.obj \ -+ genern1.obj genern2.obj \ -+ greateq.obj greater.obj \ -+ incl0.obj incl1.obj incl2.obj \ -+ inplmrg1.obj inplmrg2.obj \ -+ inrprod0.obj inrprod1.obj inrprod2.obj \ -+ insert1.obj insert2.obj \ -+ iota1.obj \ -+ istmit1.obj \ -+ iter1.obj iter2.obj iter3.obj iter4.obj \ -+ iterswp0.obj iterswp1.obj \ -+ less.obj \ -+ lesseq.obj \ -+ lexcmp1.obj lexcmp2.obj \ -+ list1.obj list2.obj list3.obj list4.obj \ -+ logicand.obj logicnot.obj \ -+ logicor.obj \ -+ lwrbnd1.obj lwrbnd2.obj \ -+ map1.obj \ -+ max1.obj max2.obj \ -+ maxelem1.obj maxelem2.obj \ -+ merge0.obj merge1.obj merge2.obj \ -+ min1.obj min2.obj \ -+ minelem1.obj minelem2.obj \ -+ minus.obj \ -+ mismtch0.obj mismtch1.obj mismtch2.obj \ -+ mkheap0.obj mkheap1.obj \ -+ mmap1.obj mmap2.obj \ -+ modulus.obj \ -+ mset1.obj mset3.obj mset4.obj mset5.obj \ -+ negate.obj nequal.obj \ -+ nextprm0.obj nextprm1.obj nextprm2.obj \ -+ nthelem0.obj nthelem1.obj nthelem2.obj \ -+ ostmit.obj \ -+ pair0.obj pair1.obj pair2.obj \ -+ parsrt0.obj parsrt1.obj parsrt2.obj \ -+ parsrtc0.obj parsrtc1.obj parsrtc2.obj \ -+ partsrt0.obj \ -+ partsum0.obj partsum1.obj partsum2.obj \ -+ pheap1.obj pheap2.obj \ -+ plus.obj \ -+ pqueue1.obj \ -+ prevprm0.obj prevprm1.obj prevprm2.obj \ -+ ptition0.obj ptition1.obj \ -+ ptrbinf1.obj ptrbinf2.obj \ -+ ptrunf1.obj ptrunf2.obj \ -+ queue1.obj \ -+ rawiter.obj \ -+ remcopy1.obj \ -+ remcpif1.obj \ -+ remif1.obj \ -+ remove1.obj \ -+ repcpif1.obj \ -+ replace0.obj replace1.obj replcpy1.obj replif1.obj \ -+ revbit1.obj revbit2.obj \ -+ revcopy1.obj reverse1.obj reviter1.obj reviter2.obj \ -+ rndshuf0.obj rndshuf1.obj rndshuf2.obj \ -+ rotate0.obj rotate1.obj rotcopy0.obj rotcopy1.obj \ -+ search0.obj search1.obj search2.obj \ -+ set1.obj set2.obj \ -+ setdiff0.obj setdiff1.obj setdiff2.obj \ -+ setintr0.obj setintr1.obj setintr2.obj \ -+ setsymd0.obj setsymd1.obj setsymd2.obj \ -+ setunon0.obj setunon1.obj setunon2.obj \ -+ sort1.obj sort2.obj \ -+ stack1.obj stack2.obj \ -+ stblptn0.obj stblptn1.obj \ -+ stblsrt1.obj stblsrt2.obj \ -+ swap1.obj \ -+ swprnge1.obj \ -+ times.obj \ -+ trnsfrm1.obj trnsfrm2.obj \ -+ ucompos1.obj ucompos2.obj \ -+ unegate1.obj unegate2.obj \ -+ uniqcpy1.obj uniqcpy2.obj \ -+ unique1.obj unique2.obj \ -+ uprbnd1.obj uprbnd2.obj \ -+ vec1.obj vec2.obj vec3.obj vec4.obj vec5.obj vec6.obj vec7.obj vec8.obj \ -+ hmap1.obj hmmap1.obj hset2.obj hmset1.obj slist1.obj string1.obj bitset1.obj -+ -+CPP_PRJ_LINK = /link /incremental:no /LIBPATH:$(STL_PATH)\lib -+ -+CPP_PRJ_CMN = /nologo /W3 /GR /GX /DWIN32 /D_WINDOWS /D_CONSOLE /I$(STL_PATH)\stlport /I. -+ -+# # CPP_PROJ=/nologo /W3 /MDd /GX /Zd /D "WIN32" /D "_CONSOLE" $(STL_INCL) /I$(VC_INCL) /I. -+ -+# -+#LIBTYPE = STATIC -+LIBTYPE = DYNAMIC -+# -+#DEBUG = STL -+#DEBUG = ON -+DEBUG = -+# -+IOS = SGI -+#IOS = NOSGI -+#IOS = NONE -+ -+!IF "$(IOS)" == "NOSGI" -+CPP_PRJ_IOS = /D_STLP_NO_OWN_IOSTREAMS -+!ELSEIF "$(IOS)" == "NONE" -+CPP_PRJ_IOS = /D_STLP_NO_IOSTREAM -+!ELSE -+CPP_PRJ_IOS = -+!ENDIF -+ -+#MT/MD etc should be LAST in CPP_PRJ_LIBTYP string!!! -+#Library selection should be BEFORE debug processing!!! -+!IF "$(LIBTYPE)" == "STATIC" -+CPP_PRJ_LIBTYP = /D_STLP_USE_STATIC_LIB /MT -+!ELSE -+CPP_PRJ_LIBTYP = /D_STLP_USE_DYNAMIC_LIB /MD -+!ENDIF -+ -+!IF "$(DEBUG)" == "" -+CPP_PRJ_DBG = /DNDEBUG /O2 -+!ELSE -+CPP_PRJ_LIBTYP = $(CPP_PRJ_LIBTYP)d -+CPP_PRJ_DBG = /D_DEBUG /Od -+!IF "$(DEBUG)" == "STL" -+CPP_PRJ_DBG = $(CPP_PRJ_DBG) /D_STLP_DEBUG -+!ENDIF -+CPP_PRJ_CMN = $(CPP_PRJ_CMN) /Zi -+!ENDIF -+ -+# # Use this flags to test non-SGI iostreams -+# CPP_PROJ=/nologo /W3 /MD /GX /Zd /Zi /D "WIN32" /D "_CONSOLE" $(STL_INCL) /I$(VC_INCL) /I. /D_STLP_NO_NEW_IOSTREAMS -+# CPP_PROJ=/nologo /W3 /MD /GX /Zd /Zi /D "WIN32" /D "_CONSOLE" $(STL_INCL) /I$(VC_INCL) /I. -+# # linker finds proper STLport lib automatically, only path to the -+# # library is needed -+# CPP_LIBS = /link /libpath:"..\..\lib" -+ -+CPP_PROJ = $(CPP_PRJ_CMN) $(CPP_PRJ_IOS) $(CPP_PRJ_LIBTYP) $(CPP_PRJ_DBG) -+ -+check: stl_test.out -+ -+stl_test.out : $(Dep_stl) -+# $(CPP) $(CPP_PROJ) $(Dep_stl) $(CPP_LIBS) -+# stl_test < stdin -+ $(CPP) $(CPP_PROJ) $(Dep_stl) $(CPP_PRJ_LINK) -+ stl_test > stl_test.out < stdin -+ echo done -+ -+clean : -+ -@erase "$(INTDIR)\*.obj" -+ -@erase "$(OUTDIR)\*.exe" -+ -@erase "$(OUTDIR)\*.obj" -+ -@erase "$(OUTDIR)\*.ilk" -+ -@erase "$(OUTDIR)\*.pdb" -+ -+ -+.exe.out: -+ $< > $@ -+ -+.cpp.exe: -+ $(CPP) $(CPP_PROJ) -DMAIN $< $(CPP_PRJ_LINK) -+ -+.c.obj: -+ $(CPP) $(CPP_PROJ) /c $< -+ -+.cpp.obj: -+ $(CPP) $(CPP_PROJ) /c $< -+ -+.cxx.obj: -+ $(CPP) $(CPP_PROJ) /c $< -+ -+.c.sbr: -+ $(CPP) $(CPP_PROJ) $< -+ -+.cpp.E: -+ $(CPP) $(CPP_PROJ) -E $< >$*.E -+ -+.cpp.sbr: -+ $(CPP) $(CPP_PROJ) $< -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/vec1.cpp tripwire-2.3.1-2/src/STLport-4.0/test/regression/vec1.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/vec1.cpp Sat Feb 24 10:45:48 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/vec1.cpp Sun Aug 11 18:59:26 2002 -@@ -1,6 +1,6 @@ - // STLport regression testsuite component. - // To compile as a separate example, please #define MAIN. -- -+#include - #include - #include - #include -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/vec3.cpp tripwire-2.3.1-2/src/STLport-4.0/test/regression/vec3.cpp ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/vec3.cpp Sat Feb 24 10:45:48 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/vec3.cpp Sun Aug 11 18:59:26 2002 -@@ -14,7 +14,7 @@ - int vec3_test(int, char**) - { - cout<<"Results of vec3_test:"< > vec_type; - # else - typedef vector vec_type; -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/visualage.mak tripwire-2.3.1-2/src/STLport-4.0/test/regression/visualage.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/visualage.mak Sat Feb 24 10:45:48 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/visualage.mak Sun Aug 11 18:59:26 2002 -@@ -115,7 +115,7 @@ - TEST = stl_test.out - - CC = icc.exe --CXX = $(CC) -D__STL_NO_SGI_IOSTREAMS -+CXX = $(CC) -D_STLP_NO_OWN_IOSTREAMS - DEBUG_FLAGS= - # Use this for a Debug version - #DEBUG_FLAGS=-O- -Ti+ -@@ -166,11 +166,11 @@ - # $(CXX) $(CXXFLAGS) -c $< -o $@ - # - #%.s: %.cpp --# $(CXX) $(CXXFLAGS) -O5 -D__STL_USE_MALLOC -S -pto $< -o $@ -+# $(CXX) $(CXXFLAGS) -O5 -D_STLP_USE_MALLOC -S -pto $< -o $@ - --# $(CXX) $(CXXFLAGS) -O5 -D__STL_USE_MALLOC -noex -D__STL_NO_EXCEPTIONS -S -pto $< -o $@ -+# $(CXX) $(CXXFLAGS) -O5 -D_STLP_USE_MALLOC -noex -D_STLP_NO_EXCEPTIONS -S -pto $< -o $@ - --# $(CXX) $(CXXFLAGS) -O4 -noex -D__STL_NO_EXCEPTIONS -D__STL_NO_EXCEPTIONS -S -pta $< -o $@ -+# $(CXX) $(CXXFLAGS) -O4 -noex -D_STLP_NO_EXCEPTIONS -D_STLP_NO_EXCEPTIONS -S -pta $< -o $@ - - clean: - del *.exe -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/watcom-qnx.mak tripwire-2.3.1-2/src/STLport-4.0/test/regression/watcom-qnx.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/watcom-qnx.mak Sat Feb 24 10:45:49 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/watcom-qnx.mak Sun Aug 11 18:59:26 2002 -@@ -125,9 +125,9 @@ - CC = cc - CXX = $(CC) - --# DEBUG_FLAGS= -D__STL_DEBUG -g -+# DEBUG_FLAGS= -D_STLP_DEBUG -g - --CXXFLAGS = -D__STL_NO_SGI_IOSTREAMS ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} ${STL_VERSION_FLAGS} -+CXXFLAGS = -D_STLP_NO_OWN_IOSTREAMS ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} ${STL_VERSION_FLAGS} - - LIBS = -lm - LIBSTDCXX = -@@ -140,7 +140,7 @@ - - - .cc.o .cxx.o .C.o .cpp.o: -- ${CXX} ${CXXFLAGS} ${DEBUG_FLAGS} ${REPO_FLAGS} ${.IMPSRC} -c -o $*.o $< -+ ${CXX} ${CXXFLAGS} ${DEBUG_FLAGS} ${REPO_FLAGS} -c -o $*.o $< - - %.out: %.cpp - $(CXX) $(CXXFLAGS) ${DEBUG_FLAGS} -USINGLE -DMAIN=1 $< -c -o $*.o -@@ -157,7 +157,7 @@ - $(CXX) $(CXXFLAGS) ${DEBUG_FLAGS} ${REPO_FLAGS} -c $< -o $@ - - %.s: %.cpp -- $(CXX) $(CXXFLAGS) -O3 -fno-exceptions -D__STL_NO_EXCEPTIONS -S $< -o $*.s -+ $(CXX) $(CXXFLAGS) -O3 -fno-exceptions -D_STLP_NO_EXCEPTIONS -S $< -o $*.s - - %.i: %.cpp - $(CXX) $(CXXFLAGS) -E $< > $@ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/xlC.mak tripwire-2.3.1-2/src/STLport-4.0/test/regression/xlC.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/xlC.mak Sat Feb 24 10:45:49 2001 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/xlC.mak Sun Aug 11 18:59:26 2002 -@@ -130,7 +130,7 @@ - # DEBUG_FLAGS=-O - # DEBUG_FLAGS=-O4 - --CXXFLAGS = -D__STL_NO_SGI_IOSTREAMS ${STL_INCL} ${DEBUG_FLAGS} -I. -+CXXFLAGS = -D_STLP_NO_OWN_IOSTREAMS ${STL_INCL} ${DEBUG_FLAGS} -I. - - LIBS = -lm - LIBSTDCXX = -@@ -161,11 +161,11 @@ - $(CXX) $(CXXFLAGS) -c $< -o $@ - - %.s: %.cpp -- $(CXX) $(CXXFLAGS) -O5 -D__STL_USE_MALLOC -S -pto $< -o $@ -+ $(CXX) $(CXXFLAGS) -O5 -D_STLP_USE_MALLOC -S -pto $< -o $@ - --# $(CXX) $(CXXFLAGS) -O5 -D__STL_USE_MALLOC -noex -D__STL_NO_EXCEPTIONS -S -pto $< -o $@ -+# $(CXX) $(CXXFLAGS) -O5 -D_STLP_USE_MALLOC -noex -D_STLP_NO_EXCEPTIONS -S -pto $< -o $@ - --# $(CXX) $(CXXFLAGS) -O4 -noex -D__STL_NO_EXCEPTIONS -D__STL_NO_EXCEPTIONS -S -pta $< -o $@ -+# $(CXX) $(CXXFLAGS) -O4 -noex -D_STLP_NO_EXCEPTIONS -D_STLP_NO_EXCEPTIONS -S -pta $< -o $@ - - clean: - -rm -fr *.exe *.o *.rpo *.obj *.out tempinc -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/xlC50.mak tripwire-2.3.1-2/src/STLport-4.0/test/regression/xlC50.mak ---- tripwire-2.3.1-2.old/src/STLport-4.0/test/regression/xlC50.mak Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/STLport-4.0/test/regression/xlC50.mak Sun Aug 11 19:13:00 2002 -@@ -0,0 +1,174 @@ -+# ;;; -*- Mode:makefile;-*- -+# Generated automatically from Makefile.in by configure. -+# This requires GNU make. -+ -+# Modified version of sunpro.mak -+ -+srcdir = . -+VPATH = . -+ -+# point this to proper location -+ -+STL_INCL=-I../../stlport -+ -+LIST = stl_test.cpp accum1.cpp accum2.cpp \ -+ adjdiff0.cpp adjdiff1.cpp adjdiff2.cpp \ -+ adjfind0.cpp adjfind1.cpp adjfind2.cpp \ -+ advance.cpp \ -+ alg1.cpp alg2.cpp alg3.cpp alg4.cpp alg5.cpp \ -+ bcompos1.cpp bcompos2.cpp \ -+ bind1st1.cpp bind1st2.cpp \ -+ bind2nd1.cpp bind2nd2.cpp \ -+ binsert1.cpp binsert2.cpp \ -+ binsrch1.cpp binsrch2.cpp \ -+ bnegate1.cpp bnegate2.cpp bvec1.cpp \ -+ copy1.cpp copy2.cpp copy3.cpp copy4.cpp \ -+ copyb.cpp copyb0.cpp \ -+ count0.cpp count1.cpp \ -+ countif1.cpp \ -+ deque1.cpp \ -+ divides.cpp \ -+ eqlrnge0.cpp eqlrnge1.cpp eqlrnge2.cpp \ -+ equal0.cpp equal1.cpp equal2.cpp \ -+ equalto.cpp \ -+ fill1.cpp filln1.cpp \ -+ find0.cpp find1.cpp \ -+ findif0.cpp findif1.cpp \ -+ finsert1.cpp finsert2.cpp \ -+ foreach0.cpp foreach1.cpp \ -+ func1.cpp func2.cpp func3.cpp \ -+ gener1.cpp gener2.cpp \ -+ genern1.cpp genern2.cpp \ -+ greateq.cpp greater.cpp \ -+ incl0.cpp incl1.cpp incl2.cpp \ -+ inplmrg1.cpp inplmrg2.cpp \ -+ inrprod0.cpp inrprod1.cpp inrprod2.cpp \ -+ insert1.cpp insert2.cpp \ -+ iota1.cpp \ -+ istmit1.cpp \ -+ iter1.cpp iter2.cpp iter3.cpp iter4.cpp \ -+ iterswp0.cpp iterswp1.cpp \ -+ less.cpp \ -+ lesseq.cpp \ -+ lexcmp1.cpp lexcmp2.cpp \ -+ list1.cpp list2.cpp list3.cpp list4.cpp \ -+ logicand.cpp logicnot.cpp \ -+ logicor.cpp \ -+ lwrbnd1.cpp lwrbnd2.cpp \ -+ map1.cpp \ -+ max1.cpp max2.cpp \ -+ maxelem1.cpp maxelem2.cpp \ -+ merge0.cpp merge1.cpp merge2.cpp \ -+ min1.cpp min2.cpp \ -+ minelem1.cpp minelem2.cpp \ -+ minus.cpp \ -+ mismtch0.cpp mismtch1.cpp mismtch2.cpp \ -+ mkheap0.cpp mkheap1.cpp \ -+ mmap1.cpp mmap2.cpp \ -+ modulus.cpp \ -+ mset1.cpp mset3.cpp mset4.cpp mset5.cpp \ -+ negate.cpp nequal.cpp \ -+ nextprm0.cpp nextprm1.cpp nextprm2.cpp \ -+ nthelem0.cpp nthelem1.cpp nthelem2.cpp \ -+ ostmit.cpp \ -+ pair0.cpp pair1.cpp pair2.cpp \ -+ parsrt0.cpp parsrt1.cpp parsrt2.cpp \ -+ parsrtc0.cpp parsrtc1.cpp parsrtc2.cpp \ -+ partsrt0.cpp \ -+ partsum0.cpp partsum1.cpp partsum2.cpp \ -+ pheap1.cpp pheap2.cpp \ -+ plus.cpp \ -+ pqueue1.cpp \ -+ prevprm0.cpp prevprm1.cpp prevprm2.cpp \ -+ ptition0.cpp ptition1.cpp \ -+ ptrbinf1.cpp ptrbinf2.cpp \ -+ ptrunf1.cpp ptrunf2.cpp \ -+ queue1.cpp \ -+ rawiter.cpp \ -+ remcopy1.cpp \ -+ remcpif1.cpp \ -+ remif1.cpp \ -+ remove1.cpp \ -+ repcpif1.cpp \ -+ replace0.cpp replace1.cpp replcpy1.cpp replif1.cpp \ -+ revbit1.cpp revbit2.cpp \ -+ revcopy1.cpp reverse1.cpp reviter1.cpp reviter2.cpp \ -+ rndshuf0.cpp rndshuf1.cpp rndshuf2.cpp \ -+ rotate0.cpp rotate1.cpp rotcopy0.cpp rotcopy1.cpp \ -+ search0.cpp search1.cpp search2.cpp \ -+ set1.cpp set2.cpp \ -+ setdiff0.cpp setdiff1.cpp setdiff2.cpp \ -+ setintr0.cpp setintr1.cpp setintr2.cpp \ -+ setsymd0.cpp setsymd1.cpp setsymd2.cpp \ -+ setunon0.cpp setunon1.cpp setunon2.cpp \ -+ sort1.cpp sort2.cpp \ -+ stack1.cpp stack2.cpp \ -+ stblptn0.cpp stblptn1.cpp \ -+ stblsrt1.cpp stblsrt2.cpp \ -+ swap1.cpp \ -+ swprnge1.cpp \ -+ times.cpp \ -+ trnsfrm1.cpp trnsfrm2.cpp \ -+ ucompos1.cpp ucompos2.cpp \ -+ unegate1.cpp unegate2.cpp \ -+ uniqcpy1.cpp uniqcpy2.cpp \ -+ unique1.cpp unique2.cpp \ -+ uprbnd1.cpp uprbnd2.cpp \ -+ vec1.cpp vec2.cpp vec3.cpp vec4.cpp vec5.cpp vec6.cpp vec7.cpp vec8.cpp \ -+ hmap1.cpp hmmap1.cpp hset2.cpp hmset1.cpp slist1.cpp string1.cpp bitset1.cpp -+ -+# STAT_MODULE=stat.o -+OBJECTS = $(LIST:%.cpp=%.o) $(STAT_MODULE) -+EXECS = $(LIST:%.cpp=%.exe) -+TESTS = $(LIST:%.cpp=%.out) -+TEST_EXE = stl_test.exe -+TEST = stl_test.out -+ -+CC = xlC -+CXX = $(CC) -+DEBUG_FLAGS= -+# DEBUG_FLAGS = -g -+DEBUG_FLAGS= -O3 -+ -+# CXXFLAGS = -D_STLP_NO_OWN_IOSTREAMS ${STL_INCL} ${DEBUG_FLAGS} -I. -+# CXXFLAGS = -qnotempinc ${STL_INCL} ${DEBUG_FLAGS} -I. -+CXXFLAGS = ${STL_INCL} ${DEBUG_FLAGS} -I. -+ -+LIBS = -L../../lib -lstlport_xlC50 -lm -+LIBSTDCXX = -+ -+check: $(TEST) -+ -+$(TEST) : $(OBJECTS) -+ $(CXX) $(CXXFLAGS) $(OBJECTS) $(LIBS) -o $(TEST_EXE) -+ echo 'a string' | $(TEST_EXE) > $(TEST) -+ -+SUFFIXES: .cpp.o.exe.out.res -+ -+%.o : %.cpp -+ $(CXX) $(CXXFLAGS) $< -c -o $@ -+ -+%.out: %.cpp -+ $(CXX) $(CXXFLAGS)-g $< -c -USINGLE -DMAIN -o $*.o -+ $(CXX) $(CXXFLAGS) $*.o $(LIBS) -o $*.exe -+ ./$*.exe > $@ -+ -rm -f $*.exe -+ -+istmit1.out: istmit1.cpp -+ $(CXX) $(CXXFLAGS) $< $(STAT_MODULE) $(LIBSTDCXX) -lstdc++ $(LIBS) -o istmit1 -+ echo 'a string' | ./istmit1 > istmit1.out -+ -rm -f ./istmit1 -+ -+$(STAT_MODULE): stat.cpp -+ $(CXX) $(CXXFLAGS) -c $< -o $@ -+ -+%.s: %.cpp -+ $(CXX) $(CXXFLAGS) -O5 -D_STLP_USE_MALLOC -S -pto $< -o $@ -+ -+# $(CXX) $(CXXFLAGS) -O5 -D_STLP_USE_MALLOC -noex -D_STLP_NO_EXCEPTIONS -S -pto $< -o $@ -+ -+# $(CXX) $(CXXFLAGS) -O4 -noex -D_STLP_NO_EXCEPTIONS -D_STLP_NO_EXCEPTIONS -S -pta $< -o $@ -+ -+clean: -+ -rm -fr *.exe *.o *.rpo *.obj *.out tempinc -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/Makefile.am tripwire-2.3.1-2/src/core/Makefile.am ---- tripwire-2.3.1-2.old/src/core/Makefile.am Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/core/Makefile.am Sun Mar 16 11:50:05 2003 -@@ -0,0 +1,27 @@ -+AUTOMAKE_OPTIONS = foreign no-dependencies -+ -+INCLUDES = -I.. @STLPORT_INCLUDE@ -+ -+noinst_LIBRARIES = libcore.a -+libcore_a_SOURCES = \ -+ file_unix.cpp unixfsservices.cpp \ -+ charutil_t.cpp displayencoder_t.cpp archive.cpp charutil.cpp \ -+ cmdlineparser.cpp codeconvert.cpp core.cpp coreerrors.cpp \ -+ corestrings.cpp crc32.cpp debug.cpp displayencoder.cpp \ -+ displayutil.cpp error.cpp errorbucketimpl.cpp errortable.cpp \ -+ errorutil.cpp fileerror.cpp fileheader.cpp fsservices.cpp \ -+ growheap.cpp hashtable.cpp haval.cpp msystem.cpp ntmbs.cpp \ -+ objectpool.cpp refcountobj.cpp serializable.cpp serializer.cpp \ -+ serializerimpl.cpp serializerutil.cpp serstring.cpp \ -+ srefcountobj.cpp srefcounttbl.cpp stdcore.cpp stringutil.cpp \ -+ timebomb.cpp timeconvert.cpp tw_signal.cpp twlimits.cpp twlocale.cpp \ -+ unixexcept.cpp usernotify.cpp usernotifystdout.cpp utf8.cpp \ -+ wchar16.cpp -+ -+libcore_a_LIBADD = @CORE_CRYPT_O@ -+libcore_a_DEPENDENCIES = @CORE_CRYPT_O@ -+ -+DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit -+ -+all: $(noinst_LIBRARIES) -+ $(AR) ru ../../lib/libtripwire.a $(libcore_a_OBJECTS) $(libcore_a_LIBADD) -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/Makefile.in tripwire-2.3.1-2/src/core/Makefile.in ---- tripwire-2.3.1-2.old/src/core/Makefile.in Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/core/Makefile.in Mon Sep 22 09:40:55 2003 -@@ -0,0 +1,319 @@ -+# Makefile.in generated automatically by automake 1.5 from Makefile.am. -+ -+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -+# Free Software Foundation, Inc. -+# This Makefile.in is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -+# PARTICULAR PURPOSE. -+ -+@SET_MAKE@ -+ -+SHELL = @SHELL@ -+ -+srcdir = @srcdir@ -+top_srcdir = @top_srcdir@ -+VPATH = @srcdir@ -+prefix = @prefix@ -+exec_prefix = @exec_prefix@ -+ -+bindir = @bindir@ -+sbindir = @sbindir@ -+libexecdir = @libexecdir@ -+datadir = @datadir@ -+sysconfdir = @sysconfdir@ -+sharedstatedir = @sharedstatedir@ -+localstatedir = @localstatedir@ -+libdir = @libdir@ -+infodir = @infodir@ -+mandir = @mandir@ -+includedir = @includedir@ -+oldincludedir = /usr/include -+pkgdatadir = $(datadir)/@PACKAGE@ -+pkglibdir = $(libdir)/@PACKAGE@ -+pkgincludedir = $(includedir)/@PACKAGE@ -+top_builddir = ../.. -+ -+ACLOCAL = @ACLOCAL@ -+AUTOCONF = @AUTOCONF@ -+AUTOMAKE = @AUTOMAKE@ -+AUTOHEADER = @AUTOHEADER@ -+ -+INSTALL = @INSTALL@ -+INSTALL_PROGRAM = @INSTALL_PROGRAM@ -+INSTALL_DATA = @INSTALL_DATA@ -+INSTALL_SCRIPT = @INSTALL_SCRIPT@ -+INSTALL_HEADER = $(INSTALL_DATA) -+transform = @program_transform_name@ -+NORMAL_INSTALL = : -+PRE_INSTALL = : -+POST_INSTALL = : -+NORMAL_UNINSTALL = : -+PRE_UNINSTALL = : -+POST_UNINSTALL = : -+AMTAR = @AMTAR@ -+AWK = @AWK@ -+CC = @CC@ -+CORE_CRYPT_O = @CORE_CRYPT_O@ -+CXX = @CXX@ -+DEPDIR = @DEPDIR@ -+EXEEXT = @EXEEXT@ -+GMAKE = @GMAKE@ -+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -+OBJEXT = @OBJEXT@ -+PACKAGE = @PACKAGE@ -+RANLIB = @RANLIB@ -+STLPORT_INCLUDE = @STLPORT_INCLUDE@ -+STLPORT_LD = @STLPORT_LD@ -+STLPORT_LIBRARY = @STLPORT_LIBRARY@ -+STLPORT_MAKEFILE = @STLPORT_MAKEFILE@ -+STLPORT_SUBDIR = @STLPORT_SUBDIR@ -+SYSPRE = @SYSPRE@ -+VERSION = @VERSION@ -+YACC = @YACC@ -+am__include = @am__include@ -+am__quote = @am__quote@ -+install_sh = @install_sh@ -+path_to_sendmail = @path_to_sendmail@ -+path_to_vi = @path_to_vi@ -+ -+AUTOMAKE_OPTIONS = foreign no-dependencies -+ -+INCLUDES = -I.. @STLPORT_INCLUDE@ -+ -+noinst_LIBRARIES = libcore.a -+libcore_a_SOURCES = \ -+ file_unix.cpp unixfsservices.cpp \ -+ charutil_t.cpp displayencoder_t.cpp archive.cpp charutil.cpp \ -+ cmdlineparser.cpp codeconvert.cpp core.cpp coreerrors.cpp \ -+ corestrings.cpp crc32.cpp debug.cpp displayencoder.cpp \ -+ displayutil.cpp error.cpp errorbucketimpl.cpp errortable.cpp \ -+ errorutil.cpp fileerror.cpp fileheader.cpp fsservices.cpp \ -+ growheap.cpp hashtable.cpp haval.cpp msystem.cpp ntmbs.cpp \ -+ objectpool.cpp refcountobj.cpp serializable.cpp serializer.cpp \ -+ serializerimpl.cpp serializerutil.cpp serstring.cpp \ -+ srefcountobj.cpp srefcounttbl.cpp stdcore.cpp stringutil.cpp \ -+ timebomb.cpp timeconvert.cpp tw_signal.cpp twlimits.cpp twlocale.cpp \ -+ unixexcept.cpp usernotify.cpp usernotifystdout.cpp utf8.cpp \ -+ wchar16.cpp -+ -+ -+libcore_a_LIBADD = @CORE_CRYPT_O@ -+libcore_a_DEPENDENCIES = @CORE_CRYPT_O@ -+ -+DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit -+subdir = src/core -+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -+CONFIG_HEADER = $(top_builddir)/config.h -+CONFIG_CLEAN_FILES = -+LIBRARIES = $(noinst_LIBRARIES) -+ -+libcore_a_AR = $(AR) cru -+am_libcore_a_OBJECTS = file_unix.$(OBJEXT) unixfsservices.$(OBJEXT) \ -+ charutil_t.$(OBJEXT) displayencoder_t.$(OBJEXT) \ -+ archive.$(OBJEXT) charutil.$(OBJEXT) cmdlineparser.$(OBJEXT) \ -+ codeconvert.$(OBJEXT) core.$(OBJEXT) coreerrors.$(OBJEXT) \ -+ corestrings.$(OBJEXT) crc32.$(OBJEXT) debug.$(OBJEXT) \ -+ displayencoder.$(OBJEXT) displayutil.$(OBJEXT) error.$(OBJEXT) \ -+ errorbucketimpl.$(OBJEXT) errortable.$(OBJEXT) \ -+ errorutil.$(OBJEXT) fileerror.$(OBJEXT) fileheader.$(OBJEXT) \ -+ fsservices.$(OBJEXT) growheap.$(OBJEXT) hashtable.$(OBJEXT) \ -+ haval.$(OBJEXT) msystem.$(OBJEXT) ntmbs.$(OBJEXT) \ -+ objectpool.$(OBJEXT) refcountobj.$(OBJEXT) \ -+ serializable.$(OBJEXT) serializer.$(OBJEXT) \ -+ serializerimpl.$(OBJEXT) serializerutil.$(OBJEXT) \ -+ serstring.$(OBJEXT) srefcountobj.$(OBJEXT) \ -+ srefcounttbl.$(OBJEXT) stdcore.$(OBJEXT) stringutil.$(OBJEXT) \ -+ timebomb.$(OBJEXT) timeconvert.$(OBJEXT) tw_signal.$(OBJEXT) \ -+ twlimits.$(OBJEXT) twlocale.$(OBJEXT) unixexcept.$(OBJEXT) \ -+ usernotify.$(OBJEXT) usernotifystdout.$(OBJEXT) utf8.$(OBJEXT) \ -+ wchar16.$(OBJEXT) -+libcore_a_OBJECTS = $(am_libcore_a_OBJECTS) -+DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -+CPPFLAGS = @CPPFLAGS@ -+LDFLAGS = @LDFLAGS@ -+LIBS = @LIBS@ -+depcomp = -+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -+CXXLD = $(CXX) -+CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -+ -o $@ -+CXXFLAGS = @CXXFLAGS@ -+DIST_SOURCES = $(libcore_a_SOURCES) -+DIST_COMMON = Makefile.am Makefile.in -+SOURCES = $(libcore_a_SOURCES) -+ -+all: all-am -+ -+.SUFFIXES: -+.SUFFIXES: .cpp .o .obj -+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) -+ cd $(top_srcdir) && \ -+ $(AUTOMAKE) --foreign src/core/Makefile -+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status -+ cd $(top_builddir) && \ -+ CONFIG_HEADERS= CONFIG_LINKS= \ -+ CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -+ -+AR = ar -+ -+clean-noinstLIBRARIES: -+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) -+libcore.a: $(libcore_a_OBJECTS) $(libcore_a_DEPENDENCIES) -+ -rm -f libcore.a -+ $(libcore_a_AR) libcore.a $(libcore_a_OBJECTS) $(libcore_a_LIBADD) -+ $(RANLIB) libcore.a -+ -+mostlyclean-compile: -+ -rm -f *.$(OBJEXT) core *.core -+ -+distclean-compile: -+ -rm -f *.tab.c -+ -+.cpp.o: -+ $(CXXCOMPILE) -c -o $@ $< -+ -+.cpp.obj: -+ $(CXXCOMPILE) -c -o $@ `cygpath -w $<` -+uninstall-info-am: -+ -+tags: TAGS -+ -+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) -+ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ -+ unique=`for i in $$list; do \ -+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+ done | \ -+ $(AWK) ' { files[$$0] = 1; } \ -+ END { for (i in files) print i; }'`; \ -+ mkid -fID $$unique $(LISP) -+ -+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ -+ $(TAGS_FILES) $(LISP) -+ tags=; \ -+ here=`pwd`; \ -+ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ -+ unique=`for i in $$list; do \ -+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+ done | \ -+ $(AWK) ' { files[$$0] = 1; } \ -+ END { for (i in files) print i; }'`; \ -+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ -+ || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -+ -+GTAGS: -+ here=`CDPATH=: && cd $(top_builddir) && pwd` \ -+ && cd $(top_srcdir) \ -+ && gtags -i $(GTAGS_ARGS) $$here -+ -+distclean-tags: -+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH -+ -+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -+ -+top_distdir = ../.. -+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) -+ -+distdir: $(DISTFILES) -+ @for file in $(DISTFILES); do \ -+ if test -f $$file; then d=.; else d=$(srcdir); fi; \ -+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ -+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ -+ $(mkinstalldirs) "$(distdir)/$$dir"; \ -+ fi; \ -+ if test -d $$d/$$file; then \ -+ cp -pR $$d/$$file $(distdir) \ -+ || exit 1; \ -+ else \ -+ test -f $(distdir)/$$file \ -+ || cp -p $$d/$$file $(distdir)/$$file \ -+ || exit 1; \ -+ fi; \ -+ done -+check-am: all-am -+check: check-am -+all-am: Makefile $(LIBRARIES) -+ -+installdirs: -+ -+install: install-am -+install-exec: install-exec-am -+install-data: install-data-am -+uninstall: uninstall-am -+ -+install-am: all-am -+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -+ -+installcheck: installcheck-am -+install-strip: -+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ -+ `test -z '$(STRIP)' || \ -+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -+mostlyclean-generic: -+ -+clean-generic: -+ -+distclean-generic: -+ -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* -+ -+maintainer-clean-generic: -+ @echo "This command is intended for maintainers to use" -+ @echo "it deletes files that may require special tools to rebuild." -+clean: clean-am -+ -+clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am -+ -+distclean: distclean-am -+ -+distclean-am: clean-am distclean-compile distclean-generic \ -+ distclean-tags -+ -+dvi: dvi-am -+ -+dvi-am: -+ -+info: info-am -+ -+info-am: -+ -+install-data-am: -+ -+install-exec-am: -+ -+install-info: install-info-am -+ -+install-man: -+ -+installcheck-am: -+ -+maintainer-clean: maintainer-clean-am -+ -+maintainer-clean-am: distclean-am maintainer-clean-generic -+ -+mostlyclean: mostlyclean-am -+ -+mostlyclean-am: mostlyclean-compile mostlyclean-generic -+ -+uninstall-am: uninstall-info-am -+ -+.PHONY: GTAGS all all-am check check-am clean clean-generic \ -+ clean-noinstLIBRARIES distclean distclean-compile \ -+ distclean-generic distclean-tags distdir dvi dvi-am info \ -+ info-am install install-am install-data install-data-am \ -+ install-exec install-exec-am install-info install-info-am \ -+ install-man install-strip installcheck installcheck-am \ -+ installdirs maintainer-clean maintainer-clean-generic \ -+ mostlyclean mostlyclean-compile mostlyclean-generic tags \ -+ uninstall uninstall-am uninstall-info-am -+ -+ -+all: $(noinst_LIBRARIES) -+ $(AR) ru ../../lib/libtripwire.a $(libcore_a_OBJECTS) $(libcore_a_LIBADD) -+# Tell versions [3.59,3.63) of GNU make to not export all variables. -+# Otherwise a system limit (for SysV at least) may be exceeded. -+.NOEXPORT: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/archive.cpp tripwire-2.3.1-2/src/core/archive.cpp ---- tripwire-2.3.1-2.old/src/core/archive.cpp Sat Feb 24 11:02:12 2001 -+++ tripwire-2.3.1-2/src/core/archive.cpp Tue Aug 13 14:17:14 2002 -@@ -45,7 +45,7 @@ - #include - #include - #include --#include -+#include - #include "file.h" - #include "stringutil.h" - -@@ -896,7 +896,7 @@ - // create file - - // set up flags -- uint32 flags = cFile::OPEN_WRITE | cFile::OPEN_LOCKED_TEMP | cFile::OPEN_CREATE; -+ uint32 flags = cFile::OPEN_WRITE | cFile::OPEN_LOCKED_TEMP | cFile::OPEN_CREATE | cFile::OPEN_EXCLUSIVE; - if ( openFlags & FA_OPEN_TRUNCATE ) - flags |= cFile::OPEN_TRUNCATE; - if ( openFlags & FA_OPEN_TEXT ) -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/charutil.cpp tripwire-2.3.1-2/src/core/charutil.cpp ---- tripwire-2.3.1-2.old/src/core/charutil.cpp Sat Oct 28 12:22:55 2000 -+++ tripwire-2.3.1-2/src/core/charutil.cpp Wed Aug 14 14:07:01 2002 -@@ -105,7 +105,8 @@ - } - - first = cur; -- last = tss::strinc( cur ); -+// last = tss::strinc( cur ); -+ last = *cur ? cur + 1 : cur; - return true; - } - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/codeconvert.cpp tripwire-2.3.1-2/src/core/codeconvert.cpp ---- tripwire-2.3.1-2.old/src/core/codeconvert.cpp Sat Feb 24 11:02:12 2001 -+++ tripwire-2.3.1-2/src/core/codeconvert.cpp Sun Mar 11 05:10:46 2001 -@@ -48,7 +48,7 @@ - #include "errno.h" - - --#ifndef NDEBUG -+#ifdef DEBUG - #define TSS_CCONV_VERBOSE // Uncomment for verbose tracing! - #endif - -@@ -57,10 +57,18 @@ - // DEFINES - //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --#define TSS_USE_ICONV_CCONV16 HAS_ICONV --#define TSS_USE_UCS2_CCONV16 (!(HAS_ICONV) && WCHAR_REP_IS_UCS2 && WCHAR_IS_16_BITS) --#define TSS_USE_UCS2_CCONV32 (!(HAS_ICONV) && WCHAR_REP_IS_UCS2 && WCHAR_IS_32_BITS) -- -+/* -+ * ICONV conversion seems to be broken under Linux, so until -+ * this is fixed, we'll wing it ourselves - 20010310 PH -+ */ -+#if 0 -+#define TSS_USE_ICONV_CCONV16 HAVE_ICONV_H -+#define TSS_USE_UCS2_CCONV16 (!(HAVE_ICONV_H) && WCHAR_REP_IS_UCS2 && WCHAR_IS_16_BITS) -+#define TSS_USE_UCS2_CCONV32 (!(HAVE_ICONV_H) && WCHAR_REP_IS_UCS2 && WCHAR_IS_32_BITS) -+#else -+#define TSS_USE_UCS2_CCONV16 (WCHAR_REP_IS_UCS2 && WCHAR_IS_16_BITS) -+#define TSS_USE_UCS2_CCONV32 (WCHAR_REP_IS_UCS2 && WCHAR_IS_32_BITS) -+#endif - - #define ICONV_SOURCE_TYPE const char - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/codeconvert.h tripwire-2.3.1-2/src/core/codeconvert.h ---- tripwire-2.3.1-2.old/src/core/codeconvert.h Sat Oct 28 12:22:55 2000 -+++ tripwire-2.3.1-2/src/core/codeconvert.h Sat Mar 10 13:17:03 2001 -@@ -135,10 +135,15 @@ - // cIconvConverter -- Concrete Converter - //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --#if HAS_ICONV -- -+#ifdef HAVE_ICONV_H - #include - -+#ifdef HAVE_LANGINFO_H -+#ifndef __USE_XOPEN -+#define __USE_XOPEN 1 -+#endif -+#include -+#endif - - class cIconvUtil - { -@@ -197,7 +202,7 @@ - iconv_t icUTF8ToMb; - }; - --#endif // HAS_ICONV -+#endif // HAVE_ICONV_H - - - /// QUESTION:RAD -- Why not just have one platform-specific of the below -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/codeconvert_t.cpp tripwire-2.3.1-2/src/core/codeconvert_t.cpp ---- tripwire-2.3.1-2.old/src/core/codeconvert_t.cpp Sat Oct 28 12:22:55 2000 -+++ tripwire-2.3.1-2/src/core/codeconvert_t.cpp Sat Mar 10 12:52:55 2001 -@@ -52,7 +52,7 @@ - { - cDebug d("TestCodeConverter()"); - --#if ( !(HAS_ICONV) && WCHAR_REP_IS_UCS2 ) -+#if ( !(HAVE_ICONV_H) && WCHAR_REP_IS_UCS2 ) - - // - // check that rep is really UCS2 -Only in tripwire-2.3.1-2.old/src/core: core.mak -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/crc32.cpp tripwire-2.3.1-2/src/core/crc32.cpp ---- tripwire-2.3.1-2.old/src/core/crc32.cpp Fri Oct 27 18:15:19 2000 -+++ tripwire-2.3.1-2/src/core/crc32.cpp Sun Mar 18 06:48:45 2001 -@@ -145,13 +145,8 @@ - * locations to store the crc and the number of bytes read. It returns 0 on - * success and 1 on failure. Errno is set on failure. - */ --#if IS_ALPHA - #define COMPUTE(var, ch) (var) = ((var) << 8) ^ \ - crctab[0xff & (unsigned)((var) >> 24 ^ (ch))] --#else --#define COMPUTE(var, ch) (var) = (var) << 8 ^ \ -- crctab[(var) >> 24 ^ (ch)] --#endif - - void crcInit( CRC_INFO& crcInfo ) - { -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/debug.cpp tripwire-2.3.1-2/src/core/debug.cpp ---- tripwire-2.3.1-2.old/src/core/debug.cpp Fri Oct 27 18:15:19 2000 -+++ tripwire-2.3.1-2/src/core/debug.cpp Fri Jun 6 20:09:53 2003 -@@ -35,9 +35,11 @@ - #include "errorutil.h" - - --#ifndef NDEBUG -+#ifdef DEBUG - -+#ifndef va_start - #include -+#endif - #include - #include - #include -@@ -160,7 +162,6 @@ - vswprintf(out, format, args); - - ASSERT(guard1 == 0xBABABABA && guard2 == 0xBABABABA); // string was too long -- ASSERT(wcslen(out) < 1024); - char nout[1024]; - if (wcstombs(nout, out, 1024) == -1) - strcpy(nout, "XXX Unconvertable wide char detected in cDebug::DoTrace()\n"); -@@ -195,7 +196,7 @@ - #endif // IS_UNIX - } - --#ifndef NDEBUG -+#ifdef DEBUG - - // - // wrappers around Trace() that requires less typing -@@ -358,7 +359,7 @@ - DoTrace( format, args ); - } - --#endif // NDEBUG -+#endif // DEBUG - - /////////////////////////////////////////////////////////////////////////////// - // AddOutTarget -- Attempts to add a new target for trace/debug output. -@@ -421,7 +422,7 @@ - if (!logfile) - logfile.open(filename, std::ios_base::out | std::ios_base::ate | std::ios_base::app); - else -- logfile.setf(std::ios_base::ate, std::ios_base::app); -+ logfile.setf(std::ios_base::hex, std::ios_base::basefield); - //make sure info. will not be clobbered. - - //Should be open now- if not, abort. -@@ -479,8 +480,8 @@ - #if IS_UNIX - char mbformatbuf[1024]; - char buf[1024]; -- if (wcstombs(mbformatbuf, lpOutputString, wcslen(lpOutputString)) == -1) -- strcpy(mbformatbuf, "XXX Unconvertable wide char detected in cDebug::DebugOut()\n"); -+// if (wcstombs(mbformatbuf, lpOutputString, wcslen(lpOutputString)) == -1) -+// strcpy(mbformatbuf, "XXX Unconvertable wide char detected in cDebug::DebugOut()\n"); - - vsprintf(buf, mbformatbuf, args); - #else -@@ -519,7 +520,7 @@ - TCOUT.flush(); - } - --#endif // NDEBUG -+#endif // DEBUG - - ////////////////////////////////////////////////////////////////////////////////// - // ASSERT macro support function -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/debug.h tripwire-2.3.1-2/src/core/debug.h ---- tripwire-2.3.1-2.old/src/core/debug.h Fri Oct 27 18:15:19 2000 -+++ tripwire-2.3.1-2/src/core/debug.h Sun Mar 18 02:30:48 2001 -@@ -43,7 +43,17 @@ - - - #include --#include -+/* Do it in this order, because autoconf checks for -+ * first i.e. if HAVE_VARARGS_H is defined, it is only because -+ * couldn't be found. -+ */ -+#ifdef HAVE_VARARGS_H -+# include -+#else -+# ifdef HAVE_STDARG_H -+# include -+# endif -+#endif - #include "types.h" - - // -@@ -141,7 +151,7 @@ - // note: there is an internal buffer size of 1024; traces larger - // than that will have unpredictable and probably bad results - private: --#ifndef NDEBUG -+#ifdef DEBUG - enum { MAX_LABEL = 128 }; - - static int mDebugLevel; -@@ -166,7 +176,19 @@ - ////////////////////////////////////////////////////////////////////////////////// - // Hopefully this class should do nothing in release mode - --#ifdef NDEBUG -+#ifdef DEBUG -+ -+inline void cDebug::SetDebugLevel(int level) -+{ -+ mDebugLevel = level; -+} -+ -+inline int cDebug::GetDebugLevel() -+{ -+ return mDebugLevel; -+} -+ -+#else // DEBUG - - inline cDebug::cDebug (const char *pLabel) {} - inline cDebug::~cDebug () {} -@@ -196,19 +218,7 @@ - inline void cDebug::DebugOut ( const char* lpOutputString, ... ) {} - inline void cDebug::DebugOut ( const wchar_t* lpOutputString, ... ) {} - --#else // NDEBUG -- --inline void cDebug::SetDebugLevel(int level) --{ -- mDebugLevel = level; --} -- --inline int cDebug::GetDebugLevel() --{ -- return mDebugLevel; --} -- --#endif // NDEBUG -+#endif // DEBUG - - - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/displayencoder.cpp tripwire-2.3.1-2/src/core/displayencoder.cpp ---- tripwire-2.3.1-2.old/src/core/displayencoder.cpp Fri Oct 27 18:15:20 2000 -+++ tripwire-2.3.1-2/src/core/displayencoder.cpp Sun Mar 16 17:22:14 2003 -@@ -526,7 +526,7 @@ - - bool cCharEncoderUtil::IsPrintable( TCHAR ch ) - { --#if USE_CLIB_LOCALE -+#if USE_CLIB_LOCALE && !defined(__APPLE__) - - return( ! isprint( ch ) ); // kludge for KAI - -@@ -828,7 +828,8 @@ - ach[0] = ch; - for( sack_type::const_iterator atE = m_encodings.begin(); atE != m_encodings.end(); atE++ ) - { -- if( (*atE)->NeedsEncoding( &ach[0], &ach[1] ) ) -+ TSTRING::const_iterator first(&ach[0]), last(&ach[1]); -+ if( (*atE)->NeedsEncoding( first, last ) ) - { - if( fFailedATest ) - return false; // each char can only fail one test -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/displayutil.cpp tripwire-2.3.1-2/src/core/displayutil.cpp ---- tripwire-2.3.1-2.old/src/core/displayutil.cpp Sat Oct 28 12:22:55 2000 -+++ tripwire-2.3.1-2/src/core/displayutil.cpp Wed Aug 14 14:27:11 2002 -@@ -45,7 +45,7 @@ - TOSTRINGSTREAM sstr; - TSTRING strT; - bool fFirstLine = true; -- for( TSTRING::const_iterator i = str.begin(); i != str.end(); i = tss::strinc( i ) ) -+ for( TSTRING::const_iterator i = str.begin(); i != str.end(); i = *i ? i + 1 : i ) - { - // return found -- add line to output string - if( _T('\n') == *i ) -@@ -74,7 +74,7 @@ - else - { - // add char to string -- strT.append( i, (TSTRING::const_iterator)tss::strinc( i ) ); -+ strT.append( i, (TSTRING::const_iterator)(*i ? i + 1 : i) ); - } - } - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/error.h tripwire-2.3.1-2/src/core/error.h ---- tripwire-2.3.1-2.old/src/core/error.h Fri Oct 27 18:15:20 2000 -+++ tripwire-2.3.1-2/src/core/error.h Sun Mar 11 02:40:48 2001 -@@ -128,10 +128,10 @@ - // to be added to the exception class. - /////////////////////////////////////////////////////////////////////////////// - --#if !IS_GCC --#define TSS_BEGIN_EXCEPTION_EXPLICIT explicit --#else -+#if HAVE_GCC - #define TSS_BEGIN_EXCEPTION_EXPLICIT -+#else -+#define TSS_BEGIN_EXCEPTION_EXPLICIT explicit - #endif - - #define TSS_BEGIN_EXCEPTION( except, base ) \ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/errorbucketimpl.cpp tripwire-2.3.1-2/src/core/errorbucketimpl.cpp ---- tripwire-2.3.1-2.old/src/core/errorbucketimpl.cpp Sat Feb 24 11:02:12 2001 -+++ tripwire-2.3.1-2/src/core/errorbucketimpl.cpp Thu Jun 5 14:58:51 2003 -@@ -92,7 +92,7 @@ - // "First Part" error string - TSTRING prependToSecond; - --#pragma message("errorbucketimpl.cpp needs a little help in the mb arena, with the findfirst/last and such") -+// #pragma message("errorbucketimpl.cpp needs a little help in the mb arena, with the findfirst/last and such") - - errStr = cErrorTable::GetInstance()->Get( error.GetID() ); - if(! errStr.empty()) -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/file.h tripwire-2.3.1-2/src/core/file.h ---- tripwire-2.3.1-2.old/src/core/file.h Fri Oct 27 18:15:20 2000 -+++ tripwire-2.3.1-2/src/core/file.h Thu Jun 19 14:06:23 2003 -@@ -96,7 +96,8 @@ - OPEN_LOCKED_TEMP = 0x00000004, // the file should not be readable by other processes and should be removed when closed - OPEN_TRUNCATE = 0x00000008, // opens an empty file. creates it if it doesn't exist. Doesn't make much sense without OF_WRITE - OPEN_CREATE = 0x00000010, // create the file if it doesn't exist; this is implicit if OF_TRUNCATE is set -- OPEN_TEXT = 0x00000020 -+ OPEN_TEXT = 0x00000020, -+ OPEN_EXCLUSIVE = 0x00000040 // Use O_CREAT | O_EXCL - }; - - //Ctor, Dtor, CpyCtor, Operator=: -@@ -128,14 +129,15 @@ - // Returns the size of the current file in bytes. Returns -1 if no file is defined. - void Truncate ( File_t offset ); // throw(eFile) - -- bool isWritable; -- - private: - cFile ( const cFile& rhs ); //not impl. - cFile& operator= ( const cFile& rhs); //not impl. - - //Pointer to the insulated implementation - cFile_i* mpData; -+ -+public: -+ bool isWritable; - }; - - #endif //__FILE_H -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/file_unix.cpp tripwire-2.3.1-2/src/core/file_unix.cpp ---- tripwire-2.3.1-2.old/src/core/file_unix.cpp Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/core/file_unix.cpp Tue Oct 2 12:46:55 2001 -@@ -0,0 +1,371 @@ -+// -+// The developer of the original code and/or files is Tripwire, Inc. -+// Portions created by Tripwire, Inc. are copyright (C) 2000 Tripwire, -+// Inc. Tripwire is a registered trademark of Tripwire, Inc. All rights -+// reserved. -+// -+// This program is free software. The contents of this file are subject -+// to the terms of the GNU General Public License as published by the -+// Free Software Foundation; either version 2 of the License, or (at your -+// option) any later version. You may redistribute it and/or modify it -+// only in compliance with the GNU General Public License. -+// -+// This program is distributed in the hope that it will be useful. -+// However, this program is distributed AS-IS WITHOUT ANY -+// WARRANTY; INCLUDING THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS -+// FOR A PARTICULAR PURPOSE. Please see the GNU General Public License -+// for more details. -+// -+// You should have received a copy of the GNU General Public License -+// along with this program; if not, write to the Free Software -+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, -+// USA. -+// -+// Nothing in the GNU General Public License or any other license to use -+// the code or files shall permit you to use Tripwire's trademarks, -+// service marks, or other intellectual property without Tripwire's -+// prior written consent. -+// -+// If you have any questions, please contact Tripwire, Inc. at either -+// info@tripwire.org or www.tripwire.org. -+// -+// file_unix.cpp : Specific implementation of file operations for Unix. -+ -+#include "core/stdcore.h" -+ -+#if !IS_UNIX -+#error Need to be unix to use unixfsservices -+#endif -+ -+#include "core/file.h" -+ -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include "core/debug.h" -+#include "core/corestrings.h" -+#include "core/fsservices.h" -+#include "core/errorutil.h" -+ -+/////////////////////////////////////////////////////////////////////////////// -+// util_GetErrnoString -- return the result of strerror(errno) as a tstring -+/////////////////////////////////////////////////////////////////////////////// -+static TSTRING util_GetErrnoString() -+{ -+ TSTRING ret; -+ char* pErrorStr = strerror(errno); -+#ifdef _UNICODE -+#error We dont currently support unicode on unix -+#else -+ ret = pErrorStr; -+#endif -+ return ret; -+} -+ -+/////////////////////////////////////////////////////////////////////////// -+/////////////////////////////////////////////////////////////////////////// -+// cFile_i : Insulated implementation for cFile objects. -+/////////////////////////////////////////////////////////////////////////// -+/////////////////////////////////////////////////////////////////////////// -+struct cFile_i -+{ -+ cFile_i(); -+ ~cFile_i(); -+ -+ FILE* mpCurrStream; //currently defined file stream -+ TSTRING mFileName; //the name of the file we are currently referencing. -+}; -+ -+//Ctor -+cFile_i::cFile_i() : -+ mpCurrStream(NULL) -+{} -+ -+//Dtor -+cFile_i::~cFile_i() -+{ -+ if (mpCurrStream != NULL) -+ fclose( mpCurrStream ); -+ mpCurrStream = NULL; -+ -+ mFileName.empty(); -+} -+ -+/////////////////////////////////////////////////////////////////////////// -+/////////////////////////////////////////////////////////////////////////// -+// cFile () -- Implements file operations -+/////////////////////////////////////////////////////////////////////////// -+/////////////////////////////////////////////////////////////////////////// -+ -+cFile::cFile() : -+ mpData(NULL), isWritable(false) -+{ -+ mpData = new cFile_i; -+} -+ -+cFile::~cFile() -+{ -+ if( mpData != NULL) -+ { -+ delete mpData; -+ mpData = NULL; -+ } -+} -+ -+/////////////////////////////////////////////////////////////////////////////// -+// Open -+/////////////////////////////////////////////////////////////////////////////// -+void cFile::Open( const TSTRING& sFileName, uint32 flags ) -+{ -+ mode_t openmode = 0664; -+ if ( mpData->mpCurrStream != NULL ) -+ Close(); -+ -+ // -+ // set up the sopen permissions -+ // -+ int perm = 0; -+ -+ TSTRING mode; -+ -+ if( flags & OPEN_WRITE ) -+ { -+ perm |= O_RDWR; -+ isWritable = true; -+ mode = _T("rb"); -+ if( flags & OPEN_TRUNCATE ) -+ { -+ perm |= O_TRUNC; -+ perm |= O_CREAT; -+ mode = _T("w+b"); -+ } -+ else -+ mode = _T("r+b"); -+ } -+ else -+ { -+ perm |= O_RDONLY; -+ isWritable = false; -+ mode = _T("rb"); -+ } -+ -+ if ( flags & OPEN_EXCLUSIVE ) { -+ perm |= O_CREAT | O_EXCL; -+ openmode = (mode_t) 0600; // Make sure only root can read the file -+ } -+ -+ if ( flags & OPEN_CREATE ) -+ perm |= O_CREAT; -+ -+ // -+ // actually open the file -+ // -+ int fh = _topen( sFileName.c_str(), perm, openmode ); -+ if( fh == -1 ) -+ { -+ throw( eFileOpen( sFileName, iFSServices::GetInstance()->GetErrString() ) ); -+ } -+ if( flags & OPEN_LOCKED_TEMP ) -+ { -+ // unlink this file -+ if( 0 != unlink( sFileName.c_str() ) ) -+ { -+ // we weren't able to unlink file, so close handle and fail -+ close( fh ); -+ throw( eFileOpen( sFileName, iFSServices::GetInstance()->GetErrString() ) ); -+ } -+ } -+ -+ // -+ // turn the file handle into a FILE* -+ // -+ mpData->mpCurrStream = _tfdopen(fh, mode.c_str()); -+ -+ mpData->mFileName = sFileName; //Set mFileName to the newly opened file. -+ -+ cFile::Rewind(); -+} -+ -+ -+/////////////////////////////////////////////////////////////////////////// -+// Close -- Closes mpCurrStream and sets the pointer to NULL -+/////////////////////////////////////////////////////////////////////////// -+void cFile::Close() //throw(eFile) -+{ -+ if(mpData->mpCurrStream != NULL) -+ { -+ fclose( mpData->mpCurrStream ); -+ mpData->mpCurrStream = NULL; -+ } -+ mpData->mFileName.empty(); -+} -+ -+bool cFile::IsOpen( void ) const -+{ -+ return( mpData->mpCurrStream != NULL ); -+} -+ -+/////////////////////////////////////////////////////////////////////////// -+// Seek -- Positions the read/write offset in mpCurrStream. Returns the -+// current offset upon completion. Returns 0 if no stream is defined. -+/////////////////////////////////////////////////////////////////////////// -+cFile::File_t cFile::Seek( File_t offset, SeekFrom From) const //throw(eFile) -+{ -+ //Check to see if a file as been opened yet... -+ ASSERT( mpData->mpCurrStream != 0); -+ -+ int apiFrom; -+ -+ switch( From ) -+ { -+ case cFile::SEEK_BEGIN: -+ apiFrom = SEEK_SET; -+ break; -+ case cFile::SEEK_CURRENT: -+ apiFrom = SEEK_CUR; -+ break; -+ case cFile::SEEK_EOF: -+ apiFrom = SEEK_END; -+ break; -+ default: -+ //An invalid SeekFrom parameter was passed. -+ throw( eInternal( _T("file_unix") ) ); -+ } -+ -+ // this is a hack to simulate running out of disk space -+ #if 0 -+ static int blowupCount = 1; -+ if (++blowupCount == 1075) -+ { -+ fputs("***** faking seek failure!\n", stderr); -+ //throw eFileSeek(); -+ throw std::bad_alloc(); -+ } -+ fprintf(stderr, "%d\n", blowupCount); -+ #endif -+ -+ if (fseek( mpData->mpCurrStream, offset, apiFrom ) != 0) -+ { -+ #ifdef _DEBUG -+ cDebug d("cFile::Seek"); -+ d.TraceDebug("Seek failed!\n"); -+ #endif -+ throw eFileSeek(); -+ } -+ -+ return ftell( mpData->mpCurrStream ); -+} -+ -+/////////////////////////////////////////////////////////////////////////// -+// Read -- Returns the actual bytes read from mpCurrStream. Returns 0 if -+// mpCurrStream is undefined. -+/////////////////////////////////////////////////////////////////////////// -+cFile::File_t cFile::Read( void* buffer, File_t nBytes ) const //throw(eFile) -+{ -+ File_t iBytesRead; -+ -+ // Has a file been opened? -+ ASSERT( mpData->mpCurrStream != NULL ); -+ -+ // Is the nBytes parameter 0? If so, return without touching buffer: -+ if( nBytes == 0 ) -+ return 0; -+ -+ iBytesRead = fread( buffer, sizeof(byte), nBytes, mpData->mpCurrStream ); -+ -+ if( ferror( mpData->mpCurrStream ) != 0 ) -+ throw eFileRead( mpData->mFileName, iFSServices::GetInstance()->GetErrString() ) ; -+ else -+ return iBytesRead; -+} -+ -+/////////////////////////////////////////////////////////////////////////// -+// Write -- Returns the actual number of bytes written to mpCurrStream -+// Returns 0 if no file has been opened. -+/////////////////////////////////////////////////////////////////////////// -+cFile::File_t cFile::Write( const void* buffer, File_t nBytes ) //throw(eFile) -+{ -+ File_t actual_count = 0; -+ -+ // Has a file been opened? Is it writable? -+ ASSERT( mpData->mpCurrStream != NULL ); -+ ASSERT( isWritable ); -+ -+ if( ( actual_count = fwrite( buffer, sizeof(byte), nBytes, mpData->mpCurrStream ) ) < nBytes ) -+ throw eFileWrite( mpData->mFileName, iFSServices::GetInstance()->GetErrString() ); -+ else -+ return actual_count; -+} -+ -+/////////////////////////////////////////////////////////////////////////// -+// Tell -- Returns the current file offset. Returns 0 if no file has been -+// opened. -+/////////////////////////////////////////////////////////////////////////// -+cFile::File_t cFile::Tell() const -+{ -+ ASSERT( mpData->mpCurrStream != 0); -+ -+ return ftell( mpData->mpCurrStream ); -+} -+ -+/////////////////////////////////////////////////////////////////////////// -+// Flush -- Flushes the current stream. -+/////////////////////////////////////////////////////////////////////////// -+bool cFile::Flush() //throw(eFile) -+{ -+ if ( mpData->mpCurrStream == NULL ) -+ throw eFileFlush( mpData->mFileName, iFSServices::GetInstance()->GetErrString() ); -+ -+ return ( fflush( mpData->mpCurrStream) == 0 ); -+} -+/////////////////////////////////////////////////////////////////////////// -+// Rewind -- Sets the offset to the beginning of the file. If mpCurrStream -+// is NULL, this method returns false. If the rewind operation fails, -+// an exception is thrown. -+/////////////////////////////////////////////////////////////////////////// -+void cFile::Rewind() const //throw(eFile) -+{ -+ ASSERT( mpData->mpCurrStream != 0); -+ -+ rewind( mpData->mpCurrStream ); -+ if( ftell( mpData->mpCurrStream ) != 0 ) -+ throw( eFileRewind( mpData->mFileName, iFSServices::GetInstance()->GetErrString() ) ); -+} -+ -+/////////////////////////////////////////////////////////////////////////// -+// GetSize -- Returns the size of the current stream, if one has been -+// opened. If no stream has been opened, returns -1. -+/////////////////////////////////////////////////////////////////////////// -+cFile::File_t cFile::GetSize() const -+{ -+ File_t vCurrentOffset = Tell(); //for saving the current offset -+ File_t ret; -+ -+ //Has a file been opened? If not, return -1 -+ if( mpData->mpCurrStream == NULL ) -+ return -1; -+ -+ ret = Seek( 0, cFile::SEEK_EOF ); -+ Seek( vCurrentOffset, cFile::SEEK_BEGIN ); -+ //return the offset to it's position prior to GetSize call. -+ -+ return ret; -+} -+ -+///////////////////////////////////////////////////////////////////////// -+// Truncate -+///////////////////////////////////////////////////////////////////////// -+void cFile::Truncate( File_t offset ) // throw(eFile) -+{ -+ ASSERT( mpData->mpCurrStream != 0); -+ ASSERT( isWritable ); -+ -+ ftruncate( fileno(mpData->mpCurrStream), offset ); -+ if( GetSize() != offset ) -+ throw( eFileTrunc( mpData->mFileName, iFSServices::GetInstance()->GetErrString() ) ); -+} -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/fsservices.h tripwire-2.3.1-2/src/core/fsservices.h ---- tripwire-2.3.1-2.old/src/core/fsservices.h Sat Feb 24 11:02:12 2001 -+++ tripwire-2.3.1-2/src/core/fsservices.h Sun Mar 18 12:48:21 2001 -@@ -79,12 +79,12 @@ - #define major(x) ((int)((x) >> 8) & 0xff) - #define minor(x) ((int)((x) & 0xff)) - #else --#if IS_LITTLE_ENDIAN --#define major(x) (int)(((char*)&(x))[1]) --#define minor(x) (int)(((char*)&(x))[0]) --#else -+#ifdef WORDS_BIGENDIAN - #define major(x) (int)(((char*)&(x))[2]) - #define minor(x) (int)(((char*)&(x))[3]) -+#else -+#define major(x) (int)(((char*)&(x))[1]) -+#define minor(x) (int)(((char*)&(x))[0]) - #endif - #endif - #endif /* !major */ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/growheap.cpp tripwire-2.3.1-2/src/core/growheap.cpp ---- tripwire-2.3.1-2.old/src/core/growheap.cpp Fri Oct 27 18:15:20 2000 -+++ tripwire-2.3.1-2/src/core/growheap.cpp Thu Jun 19 14:06:24 2003 -@@ -44,8 +44,8 @@ - class cHeap - { - public: -- int8* mpData; - size_t mSize; -+ int8* mpData; - - cHeap( size_t size ) : mSize( size ), mpData( new int8[size] ) { ASSERT(mpData != 0); } - // Note: The above ASSERT should never occur! If the new failed we should have thrown a bad_alloc(). -@@ -55,8 +55,8 @@ - size_t mInitialSize; - size_t mGrowBy; - HeapList mHeaps; -- size_t mCurOff; - TSTRING mName; -+ size_t mCurOff; - - cGrowHeap_i( size_t initialSize, size_t growBy, const TCHAR* name ); - ~cGrowHeap_i() { Clear(); } -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/hashtable.h tripwire-2.3.1-2/src/core/hashtable.h ---- tripwire-2.3.1-2.old/src/core/hashtable.h Fri Oct 27 18:15:20 2000 -+++ tripwire-2.3.1-2/src/core/hashtable.h Wed Aug 14 14:07:01 2002 -@@ -206,7 +206,7 @@ - - private: - mutable int mCurIndex; -- mutable cHashTable::node* mpCurNode; -+ mutable typename cHashTable::node* mpCurNode; - const cHashTable& mHashTable; - - // helper function -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/haval.cpp tripwire-2.3.1-2/src/core/haval.cpp ---- tripwire-2.3.1-2.old/src/core/haval.cpp Fri Oct 27 18:15:20 2000 -+++ tripwire-2.3.1-2/src/core/haval.cpp Sun Mar 11 02:40:48 2001 -@@ -82,7 +82,7 @@ - #include "haval.h" - #include "debug.h" - --#define VERSION 1 /* current version number */ -+#define HAVAL_VERSION 1 /* current version number */ - - /* Do not remove this line. Protyping depends on it! */ - #if defined(__STDC__) || defined(__cplusplus) -@@ -410,7 +410,7 @@ - */ - tail[0] = (uint8)(((FPTLEN & 0x3) << 6) | - ((PASS & 0x7) << 3) | -- (VERSION & 0x7)); -+ (HAVAL_VERSION & 0x7)); - tail[1] = (uint8)((FPTLEN >> 2) & 0xFF); - uint2ch (state->count, &tail[2], 2); - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/md5.h tripwire-2.3.1-2/src/core/md5.h ---- tripwire-2.3.1-2.old/src/core/md5.h Fri Oct 27 18:15:20 2000 -+++ tripwire-2.3.1-2/src/core/md5.h Thu Jun 19 19:31:03 2003 -@@ -37,7 +37,7 @@ - ** Revised (for MD5): RLR 4/27/91 ** - **********************************************************************/ - --/* $Id: md5.h,v 1.1 2000/10/28 01:15:20 itripn Exp $ */ -+/* $Tripwire: md5.h,v 1.1 2000/10/28 01:15:20 itripn Exp $ */ - - #ifndef __MD5_H - #define __MD5_H -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/msystem.cpp tripwire-2.3.1-2/src/core/msystem.cpp ---- tripwire-2.3.1-2.old/src/core/msystem.cpp Fri Oct 27 18:15:20 2000 -+++ tripwire-2.3.1-2/src/core/msystem.cpp Fri May 30 20:31:58 2003 -@@ -77,7 +77,9 @@ - #include - #include - #include -+#if defined(HAVE_MALLOC_H) - #include -+#endif - #include - //#include - #include "tw_signal.h" -@@ -951,8 +953,8 @@ - * ignore any signals until child dies - */ - for(i = 0; i < MAX_SIGNAL; i++) --#ifdef SIGCLD -- if (i != SIGCLD) -+#ifdef SIGCHLD -+ if (i != SIGCHLD) - #endif - savesig[i] = tw_sigign(i); - /* -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/objectpool.h tripwire-2.3.1-2/src/core/objectpool.h ---- tripwire-2.3.1-2.old/src/core/objectpool.h Fri Oct 27 18:15:20 2000 -+++ tripwire-2.3.1-2/src/core/objectpool.h Thu Jun 19 14:06:24 2003 -@@ -77,10 +77,10 @@ - cLink* mpNext; - }; - -- cLink* mpNextFree; // the next free object - cBlockList mBlockList; - const int mObjectSize; // how big are the objects? - const int mChunkSize; // how big are the chunks we are allocating? -+ cLink* mpNextFree; // the next free object - //int mInstanceCount; // number of objects that are currently allocated but not freed. - }; - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/platform.h tripwire-2.3.1-2/src/core/platform.h ---- tripwire-2.3.1-2.old/src/core/platform.h Sat Feb 24 11:02:12 2001 -+++ tripwire-2.3.1-2/src/core/platform.h Fri Jun 20 09:34:48 2003 -@@ -33,6 +33,10 @@ - // platform.h - // - -+#ifdef HAVE_CONFIG_H -+# include -+#endif -+ - #ifndef __PLATFORM_H - #define __PLATFORM_H - -@@ -44,23 +48,10 @@ - - #define OS_UNKNOWN 0 - #define OS_WIN32 0x0101 --#define OS_REDHAT5 0x0201 --#define OS_REDHAT6 0x0202 --#define OS_SLACKWARE 0x0203 --#define OS_SOLARIS 0x0301 - #define OS_AIX 0x0401 - #define OS_HPUX 0x0501 - #define OS_IRIX 0x0601 - #define OS_OSF1 0x0701 --#define OS_BSD 0x0801 -- --#define ARCH_UNKNOWN 0 --#define ARCH_IX86 0x0101 --#define ARCH_SPARC 0x0201 --#define ARCH_ALPHA 0x0301 --#define ARCH_RS6000 0x0401 --#define ARCH_PARISC 0x0501 --#define ARCH_MIPS 0x0601 - - #define COMP_UNKNOWN 0 - #define COMP_MSVC 0x0101 -@@ -72,7 +63,6 @@ - #define COMP_KAI_IRIX 0x0206 - #define COMP_KAI_OSF1ALPHA 0x0207 - #define COMP_SUNPRO 0x0301 --#define COMP_GCC 0x0401 - - //============================================================================= - // Platform detection -@@ -84,7 +74,6 @@ - // - // OS The OS - // COMP The compiler --// ARCH The cpu type - // - // PLEASE NOTE: Do not set any preprocessor variable other than the above three in this - // section. Use the following sections for anything that does not fall into -@@ -95,86 +84,44 @@ - - #if defined(_MSC_VER) - #define COMP COMP_MSVC -- #if defined(_M_IX86) -- #define ARCH ARCH_IX86 -- #elif defined(_M_ALPHA) -- #define ARCH ARCH_ALPHA -- #else -- #error Unknown Win32 Architechture -- #endif - #else - #error _MSC_VER not defined. MSVC is currently the only supported compiler - #endif - --#elif defined(_REDHAT) -- #define OS OS_REDHAT6 // TODO:dmb perhaps this should be just OS_REDHAT??? -- #define COMP COMP_GCC -- #if defined(_IX86) -- #define ARCH ARCH_IX86 -- #else -- #error Unknown Redhat Architechture -- #endif -- - #elif defined(_IRIX) - #define OS OS_IRIX - #define COMP COMP_KAI_IRIX -- #define ARCH ARCH_IRIX - - #elif defined(_ALPHA) - #define OS OS_OSF1 - #define COMP COMP_KAI_OSF1ALPHA -- #define ARCH ARCH_ALPHA -- --#elif defined(_SOLARIS) -- #define OS OS_SOLARIS -- #if defined(_IX86) -- #define COMP COMP_SUNPRO -- #define ARCH ARCH_IX86 -- #else -- #define COMP COMP_KAI_SUNPRO -- #define ARCH ARCH_SPARC -- #endif -- --#elif defined(_AIX) -- #define OS OS_AIX -- #define COMP COMP_KAI_VISUALAGE -- #define ARCH ARCH_RS6000 - - #elif defined (_HPUX) - #define OS OS_HPUX - #define COMP COMP_KAI_HPANSIC -- #define ARCH ARCH_PARISC - --#elif defined(__FreeBSD__) -- #define OS OS_BSD -- #define COMP COMP_GCC -- #if defined(_IX86) -- #define ARCH ARCH_IX86 -- #else -- #define ARCH ARCH_ALPHA // is it really the #else? -- #endif -- --#elif defined(__OpenBSD__) -- #define OS OS_BSD -- #define COMP COMP_GCC -- #if defined(_IX86) -- #define ARCH ARCH_IX86 -- #else -- // Wrong! Somebody with OpenBSD fix this! -- #error "Architecture not known. Please edit i386-unknown-openbsd.mak and platform.h" -- /* Other stuff that needs to be said */ -- #endif /* defined(_IX86) */ - #else -- #error Unknown OS -+// OK for OS not to resolve, it's being phased out. -+// #error Unknown OS - #endif - - #if !defined(OS) -- #error OS definition did not resolve. Check "platform.h". -+// OK for OS not to resolve, it's being phased out. -+// #error OS definition did not resolve. Check "platform.h". - #endif --#if !defined(ARCH) -- #error ARCH definition did not resolve. Check "platform.h". --#endif --#if !defined(COMP) -+ /* XXX: COMP may now not resolve, because autoconf may -+ * detect GCC. This is done in the hopes that all -+ * COMP detections, and indeed both OS & COMP detechtions -+ * will eventualy be done automatically. -+ * -+ * This means, the former "#if !defined(COMP)" will -+ * temporarily have to also check the HAVE_[compiler] -+ * #defines until all compilers are checked by autoconf, -+ * at which point this can be removed completely. -+ * -+ * PH - 20010311 -+ */ -+#if !defined(COMP) && !defined(HAVE_GCC) - #error COMP definition did not resolve. Check "platform.h". - #endif - -@@ -184,8 +131,8 @@ - // These macros are the "worker bees" of platform.h. Programmers should use - // these macros rather than comparing PLATFORM to the unique IDs by hand. - // --// NB: Programmers are STRONGLY ENCOURAGED not to use the OS detection macros or --// the Architecture detection marcros directly. Instead they should create -+// NB: Programmers are STRONGLY ENCOURAGED not to use the OS detection macros -+// or compiler detection marcros directly. Instead they should create - // macros specific to the task at hand. For example Win32 and Solaris support - // extended permissions for their files. Rather than check IS_WIN32 || IS_SOLARIS, - // create a new macro called "HAS_EXTENDED_FILE_PERMISSIONS" and use that. -@@ -195,10 +142,10 @@ - // - // Example usage: - // --// #if IS_LITTLE_ENDIAN // note this is not an "#ifdef" --// int network_order = swap(machine_order); --// #else -+// #ifdef WORDS_BIGENDIAN - // int network_order = machine_order; -+// #else -+// int network_order = swap(machine_order); - // #endif - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@@ -206,44 +153,18 @@ - // OS detection - // Note: Avoid using these if possible (see above) - #define IS_WIN32 (OS == OS_WIN32) --#define IS_SOLARIS (OS == OS_SOLARIS) --#define IS_LINUX (OS == OS_REDHAT5 || OS == OS_REDHAT6 || OS == OS_SLACKWARE) --#define IS_UNIX (OS == OS_REDHAT5 || OS == OS_REDHAT6 || OS == OS_SLACKWARE || OS == OS_SOLARIS || OS == OS_AIX || OS == OS_HPUX || OS == OS_IRIX || OS == OS_OSF1 || OS == OS_BSD) - #define IS_AIX (OS == OS_AIX) - #define IS_HPUX (OS == OS_HPUX) - #define IS_IRIX (OS == OS_IRIX) - #define IS_OSF1 (OS == OS_OSF1) --#define IS_BSD (OS == OS_BSD) -- --// Architecture detection --// Note: Avoid using these if possible (see above) --#define IS_IX86 (ARCH == ARCH_IX86) --#define IS_SPARC (ARCH == ARCH_SPARC) --#define IS_ALPHA (ARCH == ARCH_ALPHA) --#define IS_RS6000 (ARCH == ARCH_RS6000) --#define IS_PARISC (ARCH == ARCH_PARISC) --#define IS_ALPHA (ARCH == ARCH_ALPHA) - - // complier detection - #define IS_KAI (COMP == COMP_KAI_GCC || COMP == COMP_KAI_SUNPRO || COMP == COMP_KAI_GLIBC || COMP == COMP_KAI_VISUALAGE || COMP == COMP_KAI_HPANSIC || COMP == COMP_KAI_IRIX || COMP == COMP_KAI_OSF1ALPHA) - #define IS_MSVC (COMP == COMP_MSVC) - #define IS_SUNPRO (COMP == COMP_SUNPRO) --#define IS_GCC (COMP == COMP_GCC) - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --// Integer representation --#define USES_1S_COMPLEMENT 0 --#define USES_2S_COMPLEMENT 1 // all of our current platforms use 2's complement --#define USES_SIGNED_MAGNITUDE 0 -- --// Byte allignment --#define IS_BYTE_ALLIGNED 1 // true if byte allignment is 8 bits (true for all current platforms) -- --// Endian detection --#define IS_LITTLE_ENDIAN (IS_IX86 || IS_ALPHA) --#define IS_BIG_ENDIAN (!IS_LITTLE_ENDIAN) -- - // Unicode - #define SUPPORTS_UNICODE IS_WIN32 // The OS supports Unicode - -@@ -252,7 +173,7 @@ - - // Used in twlocale - #define USE_STD_CPP_LOCALE_WORKAROUND (IS_SUNPRO || (IS_KAI && !IS_KAI_3_4)) // TODO:BAM -- name this something more general. --#define USE_CLIB_LOCALE IS_KAI || IS_GCC -+#define USE_CLIB_LOCALE IS_KAI || HAVE_GCC - #define USES_CLIB_DATE_FUNCTION ( USE_CLIB_LOCALE || IS_SUNPRO || IS_MSVC ) // if we use clib, can't use C++ time_put, and SUNPRO and MSVC add characters - //#define USE_CLIB_LOCALE (IS_ALPHA || IS_IRIX || (IS_KAI && !IS_KAI_3_4)) - -@@ -270,37 +191,21 @@ - #define WCHAR_REP_IS_UCS2 IS_WIN32 - #define USES_MPOPEN IS_UNIX - #define USES_WINSOCK IS_WIN32 --#define USES_BIN_DATE IS_UNIX - #define SUPPORTS_WCHART IS_WIN32 // TODO: Remove after getting new ver of KAI --#define USES_GLIBC ((COMP == COMP_KAI_GLIBC) || IS_GCC) --#define SUPPORTS_SYSLOG IS_UNIX -+#define USES_GLIBC ((COMP == COMP_KAI_GLIBC) || HAVE_GCC) - #define SUPPORTS_EVENTLOG IS_WIN32 --#define HAS_ICONV IS_UNIX && ( ! IS_LINUX && ! IS_BSD) - #define SUPPORTS_MEMBER_TEMPLATES ( ! IS_SUNPRO ) - #define SUPPORTS_EXPLICIT_TEMPLATE_FUNC_INST ( ! IS_SUNPRO ) - - //============================================================================= --// FHS -- Filesystem Hierarchy Standard Support --// --// If this is defined, then tripwire is being installed using the FHS. The only --// behavioral change that results from this is the default location that --// Tripwire looks for its config file. --// --// (*) If following FHS: default config file location is /etc/tripwire/tw.cfg --// (*) If not: default is /tw.cfg --// where is the directory the tripwire executable is located in. --//============================================================================= --#define USES_FHS IS_LINUX -- --//============================================================================= - // Miscellaneous - // - // Put all items that are not an "IS_" macro here. - --#if IS_BYTE_ALLIGNED -+#if IS_BYTE_ALIGNED - #define BYTE_ALIGN 8 - #else -- #error Unknown Byte allignment -+ #error Unknown Byte alignment - #endif - - // A scalar that matches the sizeof a pointer -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/refcountobj.cpp tripwire-2.3.1-2/src/core/refcountobj.cpp ---- tripwire-2.3.1-2.old/src/core/refcountobj.cpp Fri Oct 27 18:15:20 2000 -+++ tripwire-2.3.1-2/src/core/refcountobj.cpp Thu May 22 21:31:12 2003 -@@ -45,6 +45,7 @@ - int cRefCountObj::objectCounter = 0; - int cRefCountObj::referenceCounter = 0; - -+#include - // ok, this is getting serious! - #include - typedef std::set RefSet; // collection of addresses of all reference counted objects -@@ -79,9 +80,8 @@ - ++objectCounter; - ++referenceCounter; - -- const type_info& ti = typeid(*this); - cDebug d("cRefCountObj::cRefCountObj"); -- d.TraceNever("Object Created[%p] %s\n", this, ti.name()); -+ d.TraceNever("Object Created[%p] %s\n", this, typeid(*this).name()); - - if(! gpRefCountObj_Objects) - gpRefCountObj_Objects = new RefSet; -@@ -98,8 +98,7 @@ - #ifdef _DEBUG - --objectCounter; - cDebug d("cRefCountObj::~cRefCountObj"); -- const type_info& ti = typeid(*this); -- d.TraceNever("Object Destroyed[%p] %s Objects Left = %d\n", this, ti.name(), objectCounter); -+ d.TraceNever("Object Destroyed[%p] %s Objects Left = %d\n", this, typeid(*this).name(), objectCounter); - if(objectCounter == 0) - { - d.TraceDebug("****** All Reference Counted Objects Destroyed! ******\n") ; -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/resources.h tripwire-2.3.1-2/src/core/resources.h ---- tripwire-2.3.1-2.old/src/core/resources.h Sat Oct 28 12:22:55 2000 -+++ tripwire-2.3.1-2/src/core/resources.h Sat Sep 6 10:44:30 2003 -@@ -98,7 +98,7 @@ - typedef Value& ValueRef; - typedef const Value& ConstValueRef; - -- typedef Table::value_type Pair; -+ typedef typename Table::value_type Pair; - - - -@@ -234,10 +234,10 @@ - } - - Resource_Template --Resource_Class::ConstValueRef -+typename Resource_Class::ConstValueRef - Resource_Class::Get( ConstKeyRef id ) const - { -- Table::const_iterator at = m_table.find( id ); -+ typename Table::const_iterator at = m_table.find( id ); - - if ( at == m_table.end() ) - { -@@ -259,7 +259,7 @@ - } - - Resource_Template --Resource_Class::ConstValueRef -+typename Resource_Class::ConstValueRef - Resource_Class::DefaultValueRef() - { - static Value _default; -@@ -284,12 +284,12 @@ - - Message_Template - inline --Message_Class::String -+typename Message_Class::String - Message_Class::Get( ConstKeyRef id ) const - { -- Value msg = Resources::Get( id ); -+ typename Message_Class::Value msg = Resources::Get( id ); - return -- ( msg == DefaultValueRef() ) -+ ( msg == this->DefaultValueRef() ) - ? String() - : String( msg ); - } -@@ -369,9 +369,9 @@ - std::string - Message_Class::GetAnsi( ConstKeyRef id ) const - { -- Value msg = Resources::Get( id ); -+ typename Message_Class::Value msg = Resources::Get( id ); - -- if ( msg == DefaultValueRef() ) -+ if ( msg == this->DefaultValueRef() ) - { - return std::string(); - } -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/serializer.h tripwire-2.3.1-2/src/core/serializer.h ---- tripwire-2.3.1-2.old/src/core/serializer.h Fri Oct 27 18:15:20 2000 -+++ tripwire-2.3.1-2/src/core/serializer.h Thu Jun 19 14:06:24 2003 -@@ -58,9 +58,9 @@ - }; - - eSerializer( const TSTRING& msg, const TSTRING& dataSource = _T(""), DataSourceType paramType = TY_UNDEFINED ) -- : mDataSource( dataSource ), -- mSourceType( paramType ), -- eError( msg ) -+ : eError( msg ), -+ mDataSource( dataSource ), -+ mSourceType( paramType ) - {} - - virtual TSTRING GetMsg() const; -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/serializerimpl.h tripwire-2.3.1-2/src/core/serializerimpl.h ---- tripwire-2.3.1-2.old/src/core/serializerimpl.h Fri Oct 27 18:15:20 2000 -+++ tripwire-2.3.1-2/src/core/serializerimpl.h Thu Jun 19 14:06:24 2003 -@@ -110,9 +110,9 @@ - virtual TSTRING GetFileName() const; - - private: -+ cArchive* mpArchive; // the archive we are serializing to - Mode mMode; // are we writing or reading? - bool mbInit; // has init been called? -- cArchive* mpArchive; // the archive we are serializing to - cSerRefCountTable mRefCtObjTbl; // keeps track of all ref counted objects that - // have been read or written during serialization - TSTRING mFileName; -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/serstring.h tripwire-2.3.1-2/src/core/serstring.h ---- tripwire-2.3.1-2.old/src/core/serstring.h Fri Oct 27 18:15:20 2000 -+++ tripwire-2.3.1-2/src/core/serstring.h Thu Jun 19 21:50:16 2003 -@@ -56,6 +56,7 @@ - public: - std::string mString; - -+ virtual ~cSerializableNString() {}; - virtual void Read (iSerializer* pSerializer, int32 version = 0); // throw (eSerializer, eArchive) - virtual void Write(iSerializer* pSerializer) const; // throw (eSerializer, eArchive) - -@@ -70,6 +71,7 @@ - public: - std::string mString; - -+ virtual ~cSerializableWString() {}; - virtual void Read (iSerializer* pSerializer, int32 version = 0); // throw (eSerializer, eArchive) - virtual void Write(iSerializer* pSerializer) const; // throw (eSerializer, eArchive) - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/sha.cpp tripwire-2.3.1-2/src/core/sha.cpp ---- tripwire-2.3.1-2.old/src/core/sha.cpp Fri Oct 27 18:15:20 2000 -+++ tripwire-2.3.1-2/src/core/sha.cpp Thu Jun 19 19:31:03 2003 -@@ -30,7 +30,7 @@ - // info@tripwire.org or www.tripwire.org. - // - //#ifndef lint --/*static char rcsid[] = "$Id: sha.cpp,v 1.1 2000/10/28 01:15:20 itripn Exp $";*/ -+/*static char rcsid[] = "$Tripwire: sha.cpp,v 1.1 2000/10/28 01:15:20 itripn Exp $";*/ - //#endif - - /* -@@ -229,7 +229,7 @@ - shsInfo->digest[ 4 ] += E; - } - --#if IS_LITTLE_ENDIAN -+#ifndef WORDS_BIGENDIAN - - /* When run on a little-endian CPU we need to perform byte reversal on an - array of longwords. It is possible to make the code endianness- -@@ -249,7 +249,7 @@ - buffer[ count ] = ( ( value & 0xFF00FF00L ) >> 8 ) | ( ( value & 0x00FF00FFL ) << 8 ); - } - } --#endif /* #if IS_LITTLE_ENDIAN */ -+#endif /* #ifndef WORDS_BIGENDIAN */ - - /* Update SHS for a block of data. This code assumes that the buffer size - is a multiple of SHS_BLOCKSIZE bytes long, which makes the code a lot -@@ -268,9 +268,9 @@ - while( count >= SHS_BLOCKSIZE ) - { - memcpy( (char *) shsInfo->data, (char *) buffer, SHS_BLOCKSIZE ); --#if IS_LITTLE_ENDIAN -+#ifndef WORDS_BIGENDIAN - byteReverse( shsInfo->data, SHS_BLOCKSIZE ); --#endif /* #if IS_LITTLE_ENDIAN */ -+#endif /* #ifndef WORDS_BIGENDIAN */ - shsTransform( shsInfo ); - buffer += SHS_BLOCKSIZE; - count -= SHS_BLOCKSIZE; -@@ -298,9 +298,9 @@ - { - /* Two lots of padding: Pad the first block to 64 bytes */ - memset( ( char * ) shsInfo->data + count, 0, 64 - count ); --#if IS_LITTLE_ENDIAN -+#ifndef WORDS_BIGENDIAN - byteReverse( shsInfo->data, SHS_BLOCKSIZE ); --#endif /* #if IS_LITTLE_ENDIAN */ -+#endif /* #ifndef WORDS_BIGENDIAN */ - shsTransform( shsInfo ); - - /* Now fill the next block with 56 bytes */ -@@ -309,18 +309,18 @@ - else - /* Pad block to 56 bytes */ - memset( ( char * ) shsInfo->data + count, 0, 56 - count ); --#if IS_LITTLE_ENDIAN -+#ifndef WORDS_BIGENDIAN - byteReverse( shsInfo->data, SHS_BLOCKSIZE ); --#endif /* #if IS_LITTLE_ENDIAN */ -+#endif /* #ifndef WORDS_BIGENDIAN */ - - /* Append length in bits and transform */ - shsInfo->data[ 14 ] = highBitcount; - shsInfo->data[ 15 ] = lowBitcount; - - shsTransform( shsInfo ); --#if IS_LITTLE_ENDIAN -- byteReverse( shsInfo->data, SHS_DIGESTSIZE ); --#endif /* #if IS_LITTLE_ENDIAN */ -+#ifndef WORDS_BIGENDIAN -+ byteReverse( shsInfo->data, SHS_BLOCKSIZE ); -+#endif /* #ifndef WORDS_BIGENDIAN */ - } - - #ifdef TEST -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/stdcore.h tripwire-2.3.1-2/src/core/stdcore.h ---- tripwire-2.3.1-2.old/src/core/stdcore.h Sat Feb 24 11:02:12 2001 -+++ tripwire-2.3.1-2/src/core/stdcore.h Sun Mar 11 03:14:28 2001 -@@ -45,15 +45,6 @@ - - #include "platform.h" - --//--Where the configuration file is to be found --#if IS_BSD --# define CONFIG_FILE_ROOT "/usr/local/etc/tripwire" --#elif defined(USE_FHS) --# define CONFIG_FILE_ROOT "/etc/tripwire" --#else --# undef CONFIG_FILE_ROOT // Nowhere, just try current directoy --#endif -- - //--Disable some level 4 warnings - - #if IS_MSVC -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/stringutil.h tripwire-2.3.1-2/src/core/stringutil.h ---- tripwire-2.3.1-2.old/src/core/stringutil.h Sat Feb 3 21:38:27 2001 -+++ tripwire-2.3.1-2/src/core/stringutil.h Wed Jun 18 22:39:58 2003 -@@ -60,7 +60,7 @@ - /// Handle Like-Types (xstring to xstring) - - inline -- std::string::const_iterator -+ const char * - Convert( std::string& lhs, const std::string& rhs ) - { - lhs = rhs; -@@ -169,7 +169,7 @@ - //- - - - - - - - - - - - - - - - - - - - - - - - - - - // required typedef ( to be a container it must have this... ) - //- - - - - - - - - - - - - - - - - - - - - - - - - - -- typedef _ParentT::value_type value_type; -+ typedef typename _ParentT::value_type value_type; - - //- - - - - - - - - - - - - - - - - - - - - - - - - - - // required constructors and assignment operators... -@@ -186,14 +186,14 @@ - - _MyT& operator=( const _MyT& rhs ) - { -- _ParentT::operator=( rhs ); -+ return _ParentT::operator=( rhs ); - } - - //- - - - - - - - - - - - - - - - - - - - - - - - - - - // this is it! - // makes the string look like a container to a back_insert_iterator.... - //- - - - - - - - - - - - - - - - - - - - - - - - - - -- _MyT& push_back( const _ParentT::value_type& v ) -+ _MyT& push_back( const typename _ParentT::value_type& v ) - { - *this += v; return( *this ); - } -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/tchar.h tripwire-2.3.1-2/src/core/tchar.h ---- tripwire-2.3.1-2.old/src/core/tchar.h Fri Oct 27 18:15:20 2000 -+++ tripwire-2.3.1-2/src/core/tchar.h Sun Mar 16 17:22:14 2003 -@@ -117,6 +117,11 @@ - #define TUNLINK unlink - - // string representation -+#if defined(_T) -+ // run it right over with a bulldozer, tripwire doesn't seem -+ // to use ctype.h's _T -PH -+#undef _T -+#endif - #define _T(x) x - - // misc... -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/timeconvert.cpp tripwire-2.3.1-2/src/core/timeconvert.cpp ---- tripwire-2.3.1-2.old/src/core/timeconvert.cpp Fri Oct 27 18:15:20 2000 -+++ tripwire-2.3.1-2/src/core/timeconvert.cpp Thu Jun 5 14:58:51 2003 -@@ -52,7 +52,7 @@ - // METHOD CODE - //========================================================================= - --static int64 TIME_MAX = 2147483647; // largest signed 32 bit number -+#define TIME_MAX 2147483647L // largest signed 32 bit number - - struct tm* cTimeUtil::TimeToDateGMT( const int64& seconds ) - { -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/tw_signal.h tripwire-2.3.1-2/src/core/tw_signal.h ---- tripwire-2.3.1-2.old/src/core/tw_signal.h Sat Feb 24 11:02:12 2001 -+++ tripwire-2.3.1-2/src/core/tw_signal.h Sat Mar 17 13:49:51 2001 -@@ -38,13 +38,12 @@ - - #include - --#if IS_LINUX && !IS_BSD // IS_BSD is a hack, a better way should be found --#if USES_GLIBC --#include --#else -+#ifdef HAVE_SIGNUM_H - #include // the signal number constants - #endif --#endif IS_LINUX -+#ifdef HAVE_BITS_SIGNUM_H -+#include -+#endif - - extern "C" { - typedef void (*tw_sighandler_t)(int); -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/twlimits.cpp tripwire-2.3.1-2/src/core/twlimits.cpp ---- tripwire-2.3.1-2.old/src/core/twlimits.cpp Fri Oct 27 18:15:20 2000 -+++ tripwire-2.3.1-2/src/core/twlimits.cpp Sun Mar 16 17:22:14 2003 -@@ -69,7 +69,7 @@ - // - if( fFormatOK ) - { -- if( ! ( _T('-') == str[0] || _istdigit( str[0] ) ) ) -+ if( ! ( _T('-') == str[0] || std::isdigit( str[0], std::locale() ) ) ) - fFormatOK = false; - } - -@@ -79,7 +79,7 @@ - // TODO:BAM -- check this... - for( TSTRING::size_type j = 1; fFormatOK && j < str.length(); j++ ) - { -- if( ! _istdigit( str[j] ) ) -+ if( ! std::isdigit( str[j], std::locale() ) ) - fFormatOK = false; - } - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/twlocale.cpp tripwire-2.3.1-2/src/core/twlocale.cpp ---- tripwire-2.3.1-2.old/src/core/twlocale.cpp Fri Oct 27 18:15:20 2000 -+++ tripwire-2.3.1-2/src/core/twlocale.cpp Sun Mar 11 02:40:48 2001 -@@ -44,9 +44,9 @@ - // How is this being included for other platforms (I can't find - // references to locale.h anywhere in the code!) - // --#if IS_GCC -+#if HAVE_GCC - #include --#endif //IS_GCC -+#endif //HAVE_GCC - - - //========================================================================= -@@ -305,6 +305,7 @@ - - TCHAR achTimeBuf[256]; - -+ /* XXX: This should check (#ifdef) for strftime - PH */ - size_t nbWritten = _tcsftime( achTimeBuf, countof( achTimeBuf ), - - #if IS_MSVC // MSVC uses proprietary '#' -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/types.h tripwire-2.3.1-2/src/core/types.h ---- tripwire-2.3.1-2.old/src/core/types.h Fri Oct 27 18:15:20 2000 -+++ tripwire-2.3.1-2/src/core/types.h Sun Mar 18 12:48:22 2001 -@@ -40,42 +40,39 @@ - // standard TSS types - //----------------------------------------------------------------------------- - --typedef unsigned char byte ; // platform-independent -+typedef unsigned char byte ; // platform-independent - --#if IS_ALPHA --typedef signed char int8 ; --typedef short int16 ; --typedef int int32 ; --typedef long int64 ; --typedef unsigned char uint8 ; --typedef unsigned short uint16 ; --typedef unsigned int uint32 ; --typedef unsigned long uint64 ; --typedef float float32 ; --typedef double float64 ; -+typedef signed char int8 ; -+typedef short int16 ; -+typedef float float32 ; -+typedef double float64 ; -+typedef unsigned char uint8 ; -+typedef unsigned short uint16 ; - --// other Win32 definitions --//typedef uint16 UINT; --//typedef uint32 DWORD; -+#if SIZEOF_INT == 4 -+typedef int int32 ; -+typedef unsigned int uint32 ; -+#elif SIZEOF_LONG == 4 -+typedef long int32 ; -+typedef unsigned long uint32 ; - #else -+# error "I don't seem to have a 32-bit integer type on this system." -+#endif - --typedef signed char int8 ; --typedef short int16 ; --typedef long int32 ; -+#if SIZEOF_LONG == 8 -+typedef long int64 ; -+typedef unsigned long uint64 ; -+#elif SIZEOF_LONG_LONG == 8 - typedef long long int64 ; --typedef unsigned char uint8 ; --typedef unsigned short uint16 ; --typedef unsigned long uint32 ; --typedef unsigned long long uint64 ; --typedef float float32 ; --typedef double float64 ; -+typedef unsigned long long uint64 ; -+#else -+# error "I don't seem to have a 64-bit integer type on this system." -+#endif - - // other Win32 definitions - //typedef uint16 UINT; - //typedef uint32 DWORD; - --#endif -- - //----------------------------------------------------------------------------- - // Limits -- should be platform independent, right? ( assumes 2's complement numbers ) - //----------------------------------------------------------------------------- -@@ -170,16 +167,7 @@ - } - - --#if IS_LITTLE_ENDIAN -- --#define tw_htonl(x) SWAPBYTES32((x)) --#define tw_ntohl(x) SWAPBYTES32((x)) --#define tw_htons(x) SWAPBYTES16((x)) --#define tw_ntohs(x) SWAPBYTES16((x)) --#define tw_htonll(x) SWAPBYTES64((x)) // int64 versions --#define tw_ntohll(x) SWAPBYTES64((x)) -- --#else //!IS_LITTLE_ENDIAN -+#ifdef WORDS_BIGENDIAN - - #define tw_htonl(x) (x) - #define tw_ntohl(x) (x) -@@ -188,7 +176,16 @@ - #define tw_htonll(x) (x) // int64 versions - #define tw_ntohll(x) (x) - --#endif //IS_LITTLE_ENDIAN -+#else //!WORDS_BIGENDIAN -+ -+#define tw_htonl(x) SWAPBYTES32((x)) -+#define tw_ntohl(x) SWAPBYTES32((x)) -+#define tw_htons(x) SWAPBYTES16((x)) -+#define tw_ntohs(x) SWAPBYTES16((x)) -+#define tw_htonll(x) SWAPBYTES64((x)) // int64 versions -+#define tw_ntohll(x) SWAPBYTES64((x)) -+ -+#endif //WORDS_BIGENDIAN - - #endif // __TYPES_H - -Only in tripwire-2.3.1-2.old/src/core/unix: file_unix.cpp -Only in tripwire-2.3.1-2.old/src/core/unix: unixfsservices.cpp -Only in tripwire-2.3.1-2.old/src/core/unix: unixfsservices.h -Only in tripwire-2.3.1-2.old/src/core/unix: unixfsservices_t.cpp -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/unixfsservices.cpp tripwire-2.3.1-2/src/core/unixfsservices.cpp ---- tripwire-2.3.1-2.old/src/core/unixfsservices.cpp Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/core/unixfsservices.cpp Tue Aug 20 13:29:35 2002 -@@ -0,0 +1,1163 @@ -+// -+// The developer of the original code and/or files is Tripwire, Inc. -+// Portions created by Tripwire, Inc. are copyright (C) 2000 Tripwire, -+// Inc. Tripwire is a registered trademark of Tripwire, Inc. All rights -+// reserved. -+// -+// This program is free software. The contents of this file are subject -+// to the terms of the GNU General Public License as published by the -+// Free Software Foundation; either version 2 of the License, or (at your -+// option) any later version. You may redistribute it and/or modify it -+// only in compliance with the GNU General Public License. -+// -+// This program is distributed in the hope that it will be useful. -+// However, this program is distributed AS-IS WITHOUT ANY -+// WARRANTY; INCLUDING THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS -+// FOR A PARTICULAR PURPOSE. Please see the GNU General Public License -+// for more details. -+// -+// You should have received a copy of the GNU General Public License -+// along with this program; if not, write to the Free Software -+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, -+// USA. -+// -+// Nothing in the GNU General Public License or any other license to use -+// the code or files shall permit you to use Tripwire's trademarks, -+// service marks, or other intellectual property without Tripwire's -+// prior written consent. -+// -+// If you have any questions, please contact Tripwire, Inc. at either -+// info@tripwire.org or www.tripwire.org. -+// -+////////////////////////////////////////////////////////////////// -+// unixfsservices.cpp -+// -+// Implements cUnixFSServices class in unixfsservices.h -+// -+ -+#include "core/stdcore.h" -+#include "core/corestrings.h" -+ -+#if !IS_UNIX //encase this all in an ifdef so it won't cause compile errors -+#error Must be unix for unixfsservices -+#endif -+ -+//========================================================================= -+// STANDARD LIBRARY INCLUDES -+//========================================================================= -+ -+#include -+#include -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#ifdef HAVE_SYS_MOUNT_H -+# include -+#endif -+#ifdef HAVE_SYS_USTAT_H -+# include -+#endif -+#ifdef HAVE_WCHAR_H -+# include -+#endif -+#ifdef HAVE_SYS_SYSMACROS_H -+# include -+#endif -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+//========================================================================= -+// INCLUDES -+//========================================================================= -+ -+#include "unixfsservices.h" -+ -+// commented out definition of _TWNBITSMAJOR because we should use the -+// makedev macro in sys/sysmacros.h for portability. -+// except linux has the body of sysmacros.h commented out. why? -+// -jeb 7/26/99 -+// reduced to sys/statfs.h. Linux is OK and doesn't deserve -+// special treatment. 20010317-PH -+#ifdef HAVE_SYS_STATFS_H -+# include -+#endif //HAVE_SYS_STATFS_H -+ -+ -+ -+//========================================================================= -+// DEFINES AND MACROS -+//========================================================================= -+ -+#define TW_SLASH _T('/') -+ -+//========================================================================= -+// OTHER DIRECTIVES -+//========================================================================= -+ -+using namespace std; -+ -+//========================================================================= -+// GLOBALS -+//========================================================================= -+ -+//========================================================================= -+// UTIL FUNCTION PROTOTYES -+//========================================================================= -+ -+static bool util_FileIsExecutable( const TSTRING& ); -+static bool util_PathFind( TSTRING& strFullPath, const TSTRING& strFilename ); -+static void util_RemoveLastPathElement( TSTRING& strPath, TSTRING& strElem ); -+static bool util_GetNextPathElement( const TSTRING& strPathC, TSTRING& strElem, int index ); -+static void util_RemoveDuplicateSeps( TSTRING& strPath ); -+static bool util_TrailingSep( TSTRING& str, bool fLeaveSep ); -+static void util_RemoveTrailingSeps( TSTRING& str ); -+template< typename T > static inline void util_ZeroMemory( T& obj ); -+ -+//========================================================================= -+// PUBLIC METHOD CODE -+//========================================================================= -+ -+cUnixFSServices::cUnixFSServices() -+{} -+ -+cUnixFSServices::~cUnixFSServices() -+{} -+ -+//========================================================================= -+// *** VIRTUAL FUNCTION CODE *** -+//========================================================================= -+ -+/////////////////////////////////////////////////////////////////////////////// -+// GetErrString -+/////////////////////////////////////////////////////////////////////////////// -+TSTRING cUnixFSServices::GetErrString() const -+{ -+ TSTRING ret; -+ char* pErrorStr = strerror(errno); -+#ifdef _UNICODE -+ wchar_t pBuf[1024]; -+ mbstowcs(pBuf, pErrorStr, 1024); -+ ret = pBuf; -+#else -+ ret = pErrorStr; -+#endif -+ return ret; -+} -+ -+ -+/////////////////////////////////////////////////////////////////////////////// -+// GetHostID -+/////////////////////////////////////////////////////////////////////////////// -+void cUnixFSServices::GetHostID( TSTRING& name ) const -+{ -+ TOSTRINGSTREAM ret; -+ -+ ret.setf(ios_base::hex, ios_base::basefield); -+#ifdef HAVE_GETHOSTID -+ ret << gethostid(); -+#else -+ ret << 999999; -+#endif -+ -+} -+ -+// returns "/" for unix and "\\" for win32 -+TCHAR cUnixFSServices::GetPathSeperator() const -+{ -+ return '/'; -+} -+ -+ -+void cUnixFSServices::ReadDir(const TSTRING& strFilename, std::vector &v, bool bFullPaths) const throw(eFSServices) -+{ -+ //Get all the filenames -+ DIR* dp; -+ dp = opendir( strFilename.c_str() ); -+ -+ if (dp == NULL) -+ { -+ throw eFSServicesGeneric( strFilename, iFSServices::GetInstance()->GetErrString() ); -+ return; -+ } -+ -+ struct dirent* d; -+ -+ while ((d = readdir(dp)) != NULL) -+ { -+ if ((strcmp(d->d_name, _T(".")) != 0) && (strcmp(d->d_name, _T("..")) != 0)) -+ { -+ if( bFullPaths ) -+ { -+ //Create the full pathname -+ TSTRING strNewName = strFilename; -+ -+ // get full path of dir entry -+ util_TrailingSep( strNewName, true ); -+ strNewName += d->d_name; -+ -+ // save full path name -+ v.push_back( strNewName ); -+ } -+ else -+ v.push_back( d->d_name ); -+ } -+ } -+ -+ //Close the directory -+ closedir( dp ); -+} -+ -+/* needs to and with S_IFMT, check EQUALITY with S_*, and return more types -+cFSStatArgs::FileType cUnixFSServices::GetFileType(const cFCOName &filename) throw(eFSServices) -+{ -+ cFSStatArgs stat; -+ Stat(filename, stat); -+ return stat.mFileType; -+} -+*/ -+ -+void cUnixFSServices::GetCurrentDir( TSTRING& strCurDir ) const throw(eFSServices) -+{ -+ TCHAR pathname[MAXPATHLEN]; -+ pathname[0] = '\0'; -+ TCHAR* ret = getcwd(pathname, sizeof(TCHAR)*MAXPATHLEN); -+ -+ if (ret == NULL) -+ throw eFSServicesGeneric( strCurDir, iFSServices::GetInstance()->GetErrString() ); -+ -+ strCurDir = pathname; -+} -+ -+void cUnixFSServices::ChangeDir( const TSTRING& strDir ) const throw(eFSServices) -+{ -+ if( chdir( strDir.c_str() ) < 0 ) -+ throw eFSServicesGeneric( strDir, iFSServices::GetInstance()->GetErrString() ); -+} -+ -+ -+TSTRING& cUnixFSServices::MakeTempFilename( TSTRING& strName ) const throw(eFSServices) -+{ -+ char* pchTempFileName; -+ char szTemplate[MAXPATHLEN]; -+ int fd; -+ -+#ifdef _UNICODE -+ // convert template from wide character to multi-byte string -+ char mbBuf[MAXPATHLEN]; -+ wcstombs( mbBuf, strName.c_str(), strName.length() + 1 ); -+ strcpy( szTemplate, mbBuf ); -+#else -+ strcpy( szTemplate, strName.c_str() ); -+#endif -+ -+#ifdef HAVE_MKSTEMP -+ // create temp filename and check to see if mkstemp failed -+ if ((fd = mkstemp( szTemplate )) == -1) { -+ throw eFSServicesGeneric( strName ); -+ } else { -+ close(fd); -+ } -+ pchTempFileName = szTemplate; -+#else -+ fd = 0; -+ // create temp filename -+ pchTempFileName = mktemp( szTemplate ); -+ -+ //check to see if mktemp failed -+ if ( pchTempFileName == NULL || strlen(pchTempFileName) == 0) { -+ throw eFSServicesGeneric( strName ); -+ } -+#endif -+ -+ // change name so that it has the XXXXXX part filled in -+#ifdef _UNICODE -+ // convert name from multi-byte to wide character string -+ wchar_t wcsbuf[1024]; -+ mbstowcs( wcsbuf, pchTempFileName, strlen( pchTempFileName ) + 1 )); -+ strName = wcsbuf; -+#else -+ strName = pchTempFileName; -+#endif -+ -+ -+ // Linux creates the file!! Doh! -+ // So I'll always attempt to delete it -bam -+ FileDelete( strName ); -+ -+ return( strName ); -+} -+ -+void cUnixFSServices::Mkdir( const TSTRING& strName ) const throw ( eFSServices ) -+{ -+ if( 0 != _tmkdir( strName.c_str(), 0777 ) ) -+ { -+ // if mkdir failed because the dir existed, that's OK -+ if( errno != EEXIST ) -+ throw eFSServicesGeneric( strName, iFSServices::GetInstance()->GetErrString() ); -+ } -+} -+ -+bool cUnixFSServices::Rmdir( const TSTRING& strName ) const -+{ -+ if( 0 == rmdir( strName.c_str() ) ) -+ return true; -+ -+ return false; -+} -+ -+void cUnixFSServices::GetTempDirName( TSTRING& strName ) const throw(eFSServices) -+{ -+ strName = mTempPath; -+} -+ -+void cUnixFSServices::SetTempDirName(TSTRING& tmpPath) { -+ -+ mTempPath = tmpPath; -+} -+ -+ -+void cUnixFSServices::Stat( const TSTRING& strName, cFSStatArgs &stat ) const throw(eFSServices) -+{ -+ //local variable for obtaining info on file. -+ struct stat statbuf; -+ -+ int ret; -+ ret = lstat( strName.c_str(), &statbuf ); -+ -+ cDebug d( "cUnixFSServices::Stat" ); -+ d.TraceDetail( "Executing on file %s (result=%d)\n", strName.c_str(), ret ); -+ -+ if( ret < 0 ) -+ throw eFSServicesGeneric( strName, iFSServices::GetInstance()->GetErrString() ); -+ -+ // new stuff 7/17/99 - BAM -+ // if the file is not a device set rdev to zero by hand (most OSs will -+ // do this for us, but some don't) -+ if( ! S_ISBLK( statbuf.st_mode ) && ! S_ISCHR( statbuf.st_mode ) ) -+ { -+ // must zero memory instead of '= 0' since we don't know the -+ // actual type of the object -- could be a struct (requiring '= {0}' ) -+ util_ZeroMemory( statbuf.st_rdev ); -+ } -+ -+ //copy information returned by lstat call into the structure passed in -+ stat.gid = statbuf.st_gid; -+ stat.atime = statbuf.st_atime; -+ stat.ctime = statbuf.st_ctime; -+ stat.mtime = statbuf.st_mtime; -+ stat.dev = statbuf.st_dev; -+ stat.rdev = statbuf.st_rdev; -+ stat.ino = statbuf.st_ino; -+ stat.mode = statbuf.st_mode; -+ stat.nlink = statbuf.st_nlink; -+ stat.size = statbuf.st_size; -+ stat.uid = statbuf.st_uid; -+ stat.blksize = statbuf.st_blksize; -+ stat.blocks = statbuf.st_blocks; -+ -+ // set the file type -+ if(S_ISREG(statbuf.st_mode)) stat.mFileType = cFSStatArgs::TY_FILE; -+ else if(S_ISDIR(statbuf.st_mode)) stat.mFileType = cFSStatArgs::TY_DIR; -+ else if(S_ISLNK(statbuf.st_mode)) stat.mFileType = cFSStatArgs::TY_SYMLINK; -+ else if(S_ISBLK(statbuf.st_mode)) stat.mFileType = cFSStatArgs::TY_BLOCKDEV; -+ else if(S_ISCHR(statbuf.st_mode)) stat.mFileType = cFSStatArgs::TY_CHARDEV; -+ else if(S_ISFIFO(statbuf.st_mode)) stat.mFileType = cFSStatArgs::TY_FIFO; -+ else if(S_ISSOCK(statbuf.st_mode)) stat.mFileType = cFSStatArgs::TY_SOCK; -+ else stat.mFileType = cFSStatArgs::TY_INVALID; -+} -+ -+void cUnixFSServices::GetMachineName( TSTRING& strName ) const throw( eFSServices ) -+{ -+ struct utsname namebuf; -+ if( uname( &namebuf ) == -1 ) -+ throw eFSServicesGeneric( strName ); -+ else -+ strName = namebuf.nodename; -+} -+ -+void cUnixFSServices::GetMachineNameFullyQualified( TSTRING& strName ) const -+{ -+ char buf[256]; -+ if (gethostname(buf, 256) != 0) -+ { -+#ifdef SOLARIS_NO_GETHOSTBYNAME -+ strName = buf; -+ return; -+#else -+ struct hostent* ret; -+ ret = gethostbyname(buf); -+ -+ if (ret != NULL) -+ { -+ strName = ret->h_name; -+ return; -+ } -+#endif -+ } -+ -+ try -+ { -+ cUnixFSServices::GetMachineName(strName); -+ } -+ catch(eFSServices&) -+ { -+ strName = TSS_GetString(cCore, core::STR_UNKNOWN); -+ } -+} -+ -+bool cUnixFSServices::FileDelete( const TSTRING& strName ) const -+{ -+ return( 0 == remove( strName.c_str() ) ); -+} -+ -+bool cUnixFSServices::GetCurrentUserName( TSTRING& strName ) const -+{ -+ bool fSuccess = false; -+ -+ uid_t uid = getuid(); -+ struct passwd* pp = getpwuid( uid ); -+ -+ if( pp ) -+ { -+ strName = pp->pw_name; -+ fSuccess = true; -+ } -+ else -+ strName = _T(""); -+ -+ return( fSuccess ); -+} -+ -+ -+// returns IP address in network byte order -+bool cUnixFSServices::GetIPAddress( uint32& uiIPAddress ) -+{ -+ bool fGotAddress = false; -+ cDebug d( _T("cUnixFSServices::GetIPAddress") ); -+ -+ struct utsname utsnameBuf; -+ if( EFAULT != uname( &utsnameBuf) ) -+ { -+ d.TraceDetail( "uname returned nodename: %s\n", utsnameBuf.nodename ); -+ -+ struct hostent* phostent = gethostbyname( utsnameBuf.nodename ); -+ -+ if( phostent ) -+ { -+ ASSERT( AF_INET == phostent->h_addrtype ); -+ ASSERT( sizeof(int32) == phostent->h_length ); -+ -+ if( phostent->h_length ) -+ { -+ if( phostent->h_addr_list[0] ) -+ { -+ int32* pAddress = reinterpret_cast( phostent->h_addr_list[0] ); -+ uiIPAddress = *pAddress; -+ fGotAddress = true; -+ } -+ else -+ d.TraceError( _T("phostent->h_addr_list[0] was zero") ); -+ } -+ else -+ d.TraceError( _T("phostent->h_length was zero") ); -+ } -+ else -+ d.TraceError( _T("gethostbyname failed") ); -+ } -+ else -+ d.TraceError( _T("uname failed") ); -+ -+ return( fGotAddress ); -+} -+ -+bool cUnixFSServices::IsCaseSensitive() const -+{ -+ return true; -+} -+ -+ -+bool cUnixFSServices::GetOwnerForFile( const TSTRING& tstrFilename, TSTRING& tstrUser ) const -+{ -+ bool fSuccess = true; -+ struct stat statbuf; -+ -+ int ret = lstat(tstrFilename.c_str(), &statbuf); -+ if(ret < 0) -+ { -+ fSuccess = false; -+ } -+ -+ if( fSuccess ) -+ { -+ struct passwd* pp = getpwuid( statbuf.st_uid ); -+ //ASSERT( pp ); -+ // We shouldn't assert this, because it might be the case that a file -+ // is associated with some old user that no longer exists... we should -+ // not fail this case. Instead, the method will just return false per -+ // the test below. -+ if( pp == NULL ) -+ { -+ fSuccess = false; -+ } -+ else -+ tstrUser = pp->pw_name; -+ } -+ -+ return( fSuccess ); -+ -+} -+ -+ -+bool cUnixFSServices::GetGroupForFile( const TSTRING& tstrFilename, TSTRING& tstrGroup ) const -+{ -+ bool fSuccess = true; -+ struct stat statbuf; -+ -+ int ret = lstat(tstrFilename.c_str(), &statbuf); -+ if(ret < 0) -+ { -+ fSuccess = false; -+ } -+ -+ if( fSuccess ) -+ { -+ struct group* pg = getgrgid( statbuf.st_gid ); -+ //ASSERT( pg ); this assert stops everything in debug mode if we can't lookup a groupid -+ -+ if( pg == NULL ) -+ { -+ fSuccess = false; -+ tstrGroup = TSS_GetString(cCore, core::STR_UNKNOWN); -+ } -+ else -+ tstrGroup = pg->gr_name; -+ } -+ -+ return( fSuccess ); -+} -+ -+//////////////////////////////////////////////////////////////////////// -+// Function name : cUnixFSServices::ConvertModeToString -+// Description : takes a TSTRING and fills it with an "ls -l" representation -+// of the object's permission bits ( e.g. "drwxr-x--x" ). -+// -+// Returns : void -- no errors are reported -+// -+// Argument : uint64 perm -- st_mode from "stat" -+// Argument : TSTRING& tstrPerm -- converted permissions, ls -l style -+// -+void cUnixFSServices::ConvertModeToString( uint64 perm, TSTRING& tstrPerm ) const -+{ -+ TCHAR szPerm[11]; //10 permission bits plus the NULL -+ _tcscpy( szPerm, _T("----------") ); -+ -+ ASSERT( sizeof(unsigned short) <= sizeof(uint32) ); -+ // We do this in case an "unsigned short" is ever larger than the -+ // value we are switching on, since the size of the mode parameter -+ // will be unsigned short (whatever that means, for the given platform...) -+ -+ // check file type -+ switch ((uint32)perm & S_IFMT) //some versions of Unix don't like to switch on -+ //64 bit values. -+ { -+ case S_IFDIR: -+ szPerm[0] = _T('d'); -+ break; -+ case S_IFCHR: -+ szPerm[0] = _T('c'); -+ break; -+ case S_IFBLK: -+ szPerm[0] = _T('b'); -+ break; -+ case S_IFIFO: -+ szPerm[0] = _T('p'); -+ break; -+ case S_IFLNK: -+ szPerm[0] = _T('l'); -+ break; -+ } -+ -+ // check owner read and write -+ if (perm & S_IREAD) -+ szPerm[1] = _T('r'); -+ if (perm & S_IWRITE) -+ szPerm[2] = _T('w'); -+ -+ // check owner execute -+ if (perm & S_ISUID && perm & S_IEXEC) -+ szPerm[3] = _T('s'); -+ else if (perm & S_IEXEC) -+ szPerm[3] = _T('x'); -+ else if (perm & S_ISUID) -+ szPerm[3] = _T('S'); -+ -+ // check group read and write -+ if (perm & S_IRGRP) -+ szPerm[4] = _T('r'); -+ if (perm & S_IWGRP) -+ szPerm[5] = _T('w'); -+ -+ // check group execute -+ if (perm & S_ISGID && perm & S_IXGRP) -+ szPerm[6] = _T('s'); -+ else if (perm & S_IXGRP) -+ szPerm[6] = _T('x'); -+ else if (perm & S_ISGID) -+ szPerm[6] = _T('l'); -+ -+ // check other read and write -+ if (perm & S_IROTH) -+ szPerm[7] = _T('r'); -+ if (perm & S_IWOTH) -+ szPerm[8] = _T('w'); -+ -+ // check other execute -+ if (perm & S_ISVTX && perm & S_IXOTH) -+ szPerm[9] = _T('t'); -+ else if (perm & S_IXOTH) -+ szPerm[9] = _T('x'); -+ else if (perm & S_ISVTX) -+ szPerm[9] = _T('T'); -+ -+ tstrPerm = szPerm; -+ -+ return; -+} -+ -+//////////////////////////////////////////////////////////////////////// -+// Function name : cUnixFSServices::Rename -+// Description : Rename a file. Overwrites newname if it exists.and overwrite is true -+// -+// Returns : false if failure, true on success -+bool cUnixFSServices::Rename(const TSTRING& strOldName, const TSTRING& strNewName, bool overwrite) const -+{ -+#ifdef _UNICODE -+#error UNICODE Rename not implemented -+#endif -+ -+ // delete new file if overwriting -+ if ( overwrite ) -+ if ( access( strNewName.c_str(), F_OK ) == 0 && remove( strNewName.c_str() ) != 0 ) -+ return false; -+ -+ if ( rename( strOldName.c_str(), strNewName.c_str() ) == 0 ) -+ return true; -+ -+ // Note: errno will be set -+ return false; -+} -+ -+ -+bool cUnixFSServices::GetExecutableFilename( TSTRING& strFullPath, const TSTRING& strFilename ) const -+{ -+ bool fGotName = false; -+ -+ if( strFilename.empty() ) -+ return false; -+ -+ // if there is a slash in the filename, it's absolute or relative to cwd -+ if( TSTRING::npos != strFilename.find( _T('/') ) ) -+ { -+ // if absolute path -+ if( strFilename[0] == _T('/') ) -+ { -+ strFullPath = strFilename; -+ fGotName = true; -+ } -+ else // is relative path; find path from cwd -+ { -+ fGotName = FullPath( strFullPath, strFilename ); -+ } -+ } -+ else // it's just a filename: should be found in path -+ { -+ fGotName = util_PathFind( strFullPath, strFilename ); -+ -+ TSTRING strFP; -+ if( fGotName && FullPath( strFP, strFullPath ) ) -+ strFullPath = strFP; -+ } -+ -+ return( fGotName ); -+} -+ -+ -+/////////////////////////////////////////////////////////////////////////////// -+// Function name : cUnixFSServices::FullPath -+// Description : -+// -+// Return type : bool -+// Argument : TSTRING& strFullPath -+// Argument : const TSTRING& strRelPathC -+// Argument : const TSTRING& pathRelFromC -+// -+// TODO -- is throwing an exception the more appropriate alternative to returning -+// a bool? I think it is ... mdb -+/////////////////////////////////////////////////////////////////////////////// -+bool cUnixFSServices::FullPath( TSTRING& strFullPath, const TSTRING& strRelPathC, const TSTRING& pathRelFromC ) const -+{ -+ // don't do anything with an empty path -+ if( strRelPathC.empty() ) -+ return false; -+ -+ TSTRING strRelPath = strRelPathC; // make non-const temp var -+ -+ // -+ // get base name (where strRelPath will be relative to), which will either be; -+ // 1. the root directory if strRelPath is an absolute path -+ // 2. pathRelFrom if it's not empty -+ // 3. otherwise ( not abs path AND no rel path ) the current working directory -+ // -+ -+ if( strRelPath[0] == TW_SLASH ) // if is absolute path -+ { -+ if( IsRoot( strRelPath ) ) // if it's root, don't monkey with it, just return it. -+ { -+ strFullPath = strRelPath; -+ return true; -+ } -+ else -+ { -+ strFullPath = _T(""); // push root, then add path elements from strRelPathC -+ // one by one (in while loop below) -+ } -+ } -+ else // is a relative path, so check pathRelFromC -+ { -+ if( pathRelFromC.empty() ) // if we're relative to CWD... -+ { -+ // -+ // get the current working directory -+ // -+ try -+ { -+ GetCurrentDir( strFullPath ); -+ util_TrailingSep( strFullPath, false ); -+ } -+ catch( eFSServices& ) -+ { -+ return false; -+ } -+ } -+ else // we're relative to a given dir -+ { -+ strFullPath = pathRelFromC; -+ util_RemoveDuplicateSeps( strFullPath ); -+ util_TrailingSep( strFullPath, false ); -+ } -+ } -+ -+ // -+ // start adding path elements from strRelPath to the base name -+ // ( which already has an absolute starting point. see above. ) -+ // -+ -+ TSTRING strElem; -+ int index = 0; -+ while( util_GetNextPathElement( strRelPath, strElem, index++ ) ) -+ { -+ if( 0 == strElem.compare( _T(".") ) ) -+ { -+ // ignore it -+ } -+ else if( 0 == strElem.compare( _T("..") ) ) -+ { -+ // go up a dir ( the function takes care of root dir case ) -+ TSTRING strDummy; -+ util_RemoveLastPathElement( strFullPath, strDummy ); -+ } -+ else // just a regular old path element -+ { -+ strFullPath += TW_SLASH; -+ strFullPath += strElem; -+ } -+ } -+ -+ return true; -+} -+ -+/////////////////////////////////////////////////////////////////////////////// -+// GetStandardBackupExtension() -+// -+// Returns normal string to append to backup files for this os. -+// (e.g. "~" for unix and ".bak" for winos) -+/////////////////////////////////////////////////////////////////////////////// -+TCHAR* cUnixFSServices::GetStandardBackupExtension() const -+{ -+ return _T(".bak"); -+} -+ -+ -+ // TODO: remove this function -+ // Matt theorized that this is no longer used - dmb Aug 23 1999 -+/* -+int cUnixFSServices::CreateLockedTemporaryFile( const TCHAR* szFilename, int perm ) const -+{ -+ // make sure perm is AT LEAST one of: O_RDWR, O_WRONLY -+ ASSERT( 0 != ( perm & ( O_RDWR | O_WRONLY ) ) ); -+ // make sure perm is ONLY composed of: O_RDWR, O_WRONLY -+ ASSERT( 0 == ( perm & ~( O_RDWR | O_WRONLY ) ) ); -+ // get rid of any unsupported bits caller may have supplied -+ perm &= ( O_RDWR | O_WRONLY ); -+ -+ // set flags -+ int oflags = perm | -+ O_CREAT | O_EXCL; // only create a new file -- error if it exists already -+ -+ // create file -+ int fh = _topen( szFilename, oflags, 0666 ); -+ if( fh >= 0 ) -+ { -+ // file was created. Now unlink it -+ if( 0 != unlink( szFilename ) ) -+ { -+ // we weren't able to unlink file, so close handle and fail -+ close( fh ); -+ fh = -1; -+ } -+ } -+ -+ return( fh ); -+} -+*/ -+ -+void cUnixFSServices::Sleep( int nSeconds ) const -+{ -+ sleep( nSeconds ); -+} -+ -+ -+//////////////////////////////////////////////////////////////////////////////// -+// Function name : IsRoot -+// Description : A root path is all '/'s -+// -+// Return type : bool -+// Argument : const TSTRING& strPath -+/////////////////////////////////////////////////////////////////////////////// -+bool cUnixFSServices::IsRoot( const TSTRING& strPath ) const -+{ -+ // and empty path is NOT the root path -+ if( strPath.empty() ) -+ return false; -+ -+ // check to see if all characters are a slash -+ for( TSTRING::const_iterator iter = strPath.begin(); iter != strPath.end(); iter++ ) -+ { -+ // if we've found a char that's not '/', then it's not the root path -+ if( *iter != TW_SLASH ) -+ return false; -+ } -+ -+ return true; -+} -+ -+//************************************************************************* -+//************************************************************************* -+// UTIL FUNCTION CODE -+//************************************************************************* -+//************************************************************************* -+ -+ -+/////////////////////////////////////////////////////////////////////////////// -+// Function name : util_PathFind -+// Description : -+// takes single-element executible filename and looks in path env var for it -+// assumes path is colon-delimited string of directories. -+// -+// Return type : bool -+// Argument : TSTRING& strFullPath -+// Argument : const TSTRING& strFilename -+/////////////////////////////////////////////////////////////////////////////// -+bool util_PathFind( TSTRING& strFullPath, const TSTRING& strFilename ) -+{ -+ bool fFoundFile = false; -+ -+ if( strFilename.empty() ) -+ return false; -+ -+ // -+ // get the path environment variable -+ // -+ TCHAR* pszPathVar = _tgetenv("PATH"); -+ if( pszPathVar != NULL ) -+ { -+ // -+ // cycle over characters in path looking for the ':' -+ // -+ TSTRING strCurPath; -+ TCHAR* pchTemp = pszPathVar; -+ bool fMorePaths = true; -+ do // while still more paths and haven't found file -+ { -+ // -+ // are we at the ':'? -+ // -+ if( *pchTemp && *pchTemp != _T(':') ) // if we're not at the end of the path -+ { -+ strCurPath += *pchTemp; -+ } -+ else // we have found the ':' -+ { -+ // -+ // expand current path into a fully qualified path -+ // if it's empty, use current directory -+ // -+ TSTRING strFP; -+ if( strCurPath.empty() ) -+ strCurPath = _T("."); -+ if( iFSServices::GetInstance()->FullPath( strFP, strCurPath ) ) -+ strCurPath = strFP; -+ -+ // -+ // put the file together with the path dir -+ // -+ TSTRING strFullName = strCurPath; -+ util_TrailingSep( strFullName, true ); -+ strFullName += strFilename; -+ -+ // -+ // the file must exist and be executable -+ // -+ if( util_FileIsExecutable( strFullName ) ) -+ { -+ strFullPath = strFullName; -+ fFoundFile = true; -+ } -+ else -+ strCurPath.erase(); // start over -+ } -+ -+ // -+ // keep searching if we're not at the end of the path string -+ // -+ -+ if( *pchTemp ) -+ pchTemp++; -+ else -+ fMorePaths = false; -+ } -+ while( !fFoundFile && fMorePaths ); -+ } -+ -+ return( fFoundFile ); -+} -+ -+ -+/////////////////////////////////////////////////////////////////////////////// -+// Function name : util_FileIsExecutable -+// Description : file ( or file a link points to ) must be a regular -+// file and executable by someone -+// -+// Return type : bool -+// Argument : const TSTRING& strFile -+/////////////////////////////////////////////////////////////////////////////// -+bool util_FileIsExecutable( const TSTRING& strFile ) -+{ -+ if( strFile.empty() ) -+ return false; -+ -+ struct stat s; -+ if( stat( strFile.c_str(), &s ) < 0 ) // this call handles links -+ return false; -+ -+ return( S_ISREG( s.st_mode ) && ( s.st_mode & ( S_IXUSR | S_IXGRP | S_IXOTH ) ) ); // can someone execute it? -+} -+ -+ -+//////////////////////////////////////////////////////////////////////////////// -+// Function name : util_RemoveDuplicateSeps -+// Description : -+// takes all adjacent slashes and replaces them with a single slash -+// ///root//foo -> /root/foo -+// rel//foo/// -> rel/foo/ -+// -+// Return type : void -+// Argument : TSTRING& strPath -+/////////////////////////////////////////////////////////////////////////////// -+void util_RemoveDuplicateSeps( TSTRING& strPath ) -+{ -+ bool fLastCharWasSep = false; -+ TSTRING::iterator iter = strPath.begin(); -+ while( iter != strPath.end() ) -+ { -+ bool fErasedChar = false; -+ // if we've found a char that's not '/', then it's not the root -+ if( *iter == TW_SLASH ) -+ { -+ // if this char is a duplicate sep, erase it -+ if( fLastCharWasSep ) -+ { -+ iter = strPath.erase( iter ); -+ fErasedChar = true; -+ } -+ -+ fLastCharWasSep = true; -+ } -+ else -+ { -+ fLastCharWasSep = false; -+ } -+ -+ // don't go past end of string (could happen with erase) -+ if( ! fErasedChar ) -+ iter++; -+ } -+} -+ -+ -+////////////////////////////////////////////////////////////////////////////////// -+// Function name : util_RemoveLastPathElement -+// Description : -+// effectively pops off a path element from the end, except for the root dir, where it does nothing -+// it removes any slashes before and after the element -+// ///root//foo/ -> leaves "///root" ("foo" is strElem) -+// ///root -> leaves "" ("root" is strElem) -+// // -> leaves "" ("" is strElem) -+// -+// Return type : void -+// Argument : TSTRING& strPath -+// Argument : TSTRING& strElem -+///////////////////////////////////////////////////////////////////////////////// -+void util_RemoveLastPathElement( TSTRING& strPath, TSTRING& strElem ) -+{ -+ -+ // remove all trailing separators -+ util_RemoveTrailingSeps( strPath ); -+ -+ // find the last separator -+ TSTRING::size_type lastSep = strPath.rfind( TW_SLASH ); -+ -+ // if separator was found, take all chars after it -+ if( lastSep != TSTRING::npos ) -+ { -+ strElem = strPath.substr( lastSep + 1 ); -+ strPath.resize( lastSep + 1 ); -+ } -+ else // no seps in name, take whole string -+ { -+ // last element -+ strElem = strPath; -+ strPath.erase(); -+ } -+ -+ // remove all trailing separators -+ util_RemoveTrailingSeps( strPath ); -+} -+ -+ -+//////////////////////////////////////////////////////////////////////////////////// -+// Function name : util_GetNextPathElement -+// Description : -+// starting from the left side of the path string, returns the index'th path element -+// returns true if the element exists, false if there aren't many elements -+// -+// index is ZERO BASED -+// -+// 2rd element of ABC/DEF/GH -> GH -+// 1st element of //ABC/DEF/GH -> DEF -+// -+// Return type : bool : got path element? ( i.e. was there index path elements? ) -+// Argument : const TSTRING& strPathC -+// Argument : TSTRING& strElem -+// Argument : int index -+///////////////////////////////////////////////////////////////////////////////// -+bool util_GetNextPathElement( const TSTRING& strPathC, TSTRING& strElem, int index ) -+{ -+ -+ // don't do anything if root or empty -+ if( strPathC.empty() || iFSServices::GetInstance()->IsRoot( strPathC ) ) -+ return false; -+ -+ TSTRING strPath = strPathC; // writable local version -+ -+ bool fMoreSeps = true; -+ TSTRING::size_type firstSep, nextSep, nextNonSep; -+ firstSep = nextSep = nextNonSep = (TSTRING::size_type)-1; -+ for( int i = 0; i <= index && fMoreSeps; i++ ) -+ { -+ // go past leading separators -+ nextNonSep = strPath.find_first_not_of( TW_SLASH, nextSep + 1 ); -+ -+ if( nextNonSep != TSTRING::npos ) -+ { -+ // find index'th slash (start of index'th element) -+ nextSep = strPath.find( TW_SLASH, nextNonSep ); -+ -+ // if we're at the end and we haven't found the index'th element -+ // left, then tell the caller that there aren't that many elemnts -+ if( nextSep == TSTRING::npos && i < index ) -+ fMoreSeps = false; -+ -+ } -+ else -+ fMoreSeps = false; -+ } -+ -+ // get the element and remove it from the path -+ if( fMoreSeps ) -+ strElem = strPath.substr( nextNonSep, nextSep - nextNonSep ); -+ -+ return( fMoreSeps ); -+} -+ -+///////////////////////////////////////////////////////////////////////// -+// Function name : util_TrailingSep -+// Description : ensure that a path ( fLeaveSep ? "has" : "does not have" ) a trailing slash -+// -+// Return type : bool : was there a trailing slash? -+// Argument : TSTRING& str -+// Argument : bool fLeaveSep -+///////////////////////////////////////////////////////////////////////////////// -+bool util_TrailingSep( TSTRING& str, bool fLeaveSep ) -+{ -+ bool fWasSep = false; -+ -+ // if there's a trailing sep -+ if( -+ ! str.empty() -+ && -+ str[ str.size() - 1 ] == TW_SLASH -+ ) -+ { -+ if( ! fLeaveSep ) -+ str.resize( str.size() - 1 ); -+ fWasSep = true; -+ } -+ else // else no trailing sep -+ { -+ if( fLeaveSep ) -+ str += TW_SLASH; -+ fWasSep = false; -+ } -+ -+ return( fWasSep ); -+} -+ -+///////////////////////////////////////////////////////////////////////// -+// Function name : util_RemoveTrailingSeps -+// Description : removes all trailing separators -+// -+// Return type : void -+// Argument : TSTRING& str -+///////////////////////////////////////////////////////////////////////////////// -+void util_RemoveTrailingSeps( TSTRING& str ) -+{ -+ while( util_TrailingSep( str, false ) ) -+ {} -+} -+ -+template< typename T > static inline void util_ZeroMemory( T& obj ) -+{ -+ memset( &obj, 0, sizeof( obj ) ); -+} -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/unixfsservices.h tripwire-2.3.1-2/src/core/unixfsservices.h ---- tripwire-2.3.1-2.old/src/core/unixfsservices.h Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/core/unixfsservices.h Sun Mar 18 06:13:49 2001 -@@ -0,0 +1,206 @@ -+// -+// The developer of the original code and/or files is Tripwire, Inc. -+// Portions created by Tripwire, Inc. are copyright (C) 2000 Tripwire, -+// Inc. Tripwire is a registered trademark of Tripwire, Inc. All rights -+// reserved. -+// -+// This program is free software. The contents of this file are subject -+// to the terms of the GNU General Public License as published by the -+// Free Software Foundation; either version 2 of the License, or (at your -+// option) any later version. You may redistribute it and/or modify it -+// only in compliance with the GNU General Public License. -+// -+// This program is distributed in the hope that it will be useful. -+// However, this program is distributed AS-IS WITHOUT ANY -+// WARRANTY; INCLUDING THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS -+// FOR A PARTICULAR PURPOSE. Please see the GNU General Public License -+// for more details. -+// -+// You should have received a copy of the GNU General Public License -+// along with this program; if not, write to the Free Software -+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, -+// USA. -+// -+// Nothing in the GNU General Public License or any other license to use -+// the code or files shall permit you to use Tripwire's trademarks, -+// service marks, or other intellectual property without Tripwire's -+// prior written consent. -+// -+// If you have any questions, please contact Tripwire, Inc. at either -+// info@tripwire.org or www.tripwire.org. -+// -+//////////////////////////////////////////////////////////////////////// -+// unixfsservices.h -+// -+// cUnixFSServices implements iFSServices, which abstacts out all -+// system dependent filesystem calls. -+ -+#ifndef __UNIXFSSERVICES_H -+#define __UNIXFSSERVICES_H -+ -+#if !IS_UNIX -+#error unixfsservices.h should only be included for instantiating cUnixFSServices objects. If you just want to use iFSServices methods, include fsservices.h. Same goes for cWin32FSServices. -+#endif -+ -+//========================================================================= -+// INCLUDES -+//========================================================================= -+ -+#ifndef __FSSERVICES_H -+#include "core/fsservices.h" -+#endif -+ -+//========================================================================= -+// DECLARATION OF CLASSES -+//========================================================================= -+ -+//Set up in constructor. Stores pertinent information about the filesystem -+//serviced by each instantiation. -+ -+struct UnixSysInfo -+{ -+ uint32 maxcomplen; -+ //max name length of a file on filesystem -+ uint32 fsflags; -+ //bitmask of flags -+ TSTRING fsname; -+ //The filesystem basename -+ uint32 fsid; -+ //unique indentifier for the filesystem -+}; -+ -+class cUnixFSServices : public iFSServices -+{ -+ /////////////////////////////////////////////////////////////// -+ // ENUMS -+ /////////////////////////////////////////////////////////////// -+ -+ //////////////////////////////////////// -+ // file system types -+ //////////////////////////////////////// -+ enum FSType -+ { -+ FS_UFS = 0, -+ FS_NFS, -+ FS_HSFS, -+ FS_PCFS -+ }; -+ -+ /////////////////////////////////////////////////////////////// -+ // MEMBER FUNCTIONS -+ /////////////////////////////////////////////////////////////// -+ public: -+ cUnixFSServices(); -+ virtual ~cUnixFSServices(); -+ -+ -+ //////////////////////////////////////// -+ // platform specific functions -+ //////////////////////////////////////// -+ virtual bool IsCaseSensitive() const; -+ // returns true if the file system is case sensitive -+ virtual TCHAR* GetStandardBackupExtension() const; -+ // returns normal string to append to backup files for this os. -+ // (e.g. "~" for unix and ".bak" for winos) -+ virtual TCHAR GetPathSeperator() const; -+ -+ //////////////////////////////////////// -+ // process functions -+ //////////////////////////////////////// -+ virtual void Sleep( int nSeconds ) const; -+ // makes the current process sleep for the specified number of seconds -+ -+ //////////////////////////////////////// -+ // major filesystem functions -+ //////////////////////////////////////// -+ virtual void Stat( const TSTRING& strFileName, cFSStatArgs& pStat ) const throw( eFSServices ); -+ // fills out the cFSStatArgs structure with the stat info for the named file -+ -+ virtual void GetTempDirName( TSTRING& strName ) const throw( eFSServices ); -+ // makes directory if it doesn't exist already. Dirname will end with a delimiter ( '/' ) -+ -+ virtual void SetTempDirName(TSTRING& tmpName); -+ // set the default dir name which GetTempDirName will use... -+ -+ virtual TSTRING& MakeTempFilename( TSTRING& strName ) const throw( eFSServices ); -+ // create temporary file -+ // strName must have the form ("baseXXXXXX"), where the X's are replaced with -+ // characters to make it a unique file. There must be at least 6 Xs. -+ -+ // TODO: remove this function -+ // Matt theorized that this is no longer used - dmb Aug 23 1999 -+ //virtual int CreateLockedTemporaryFile( const TCHAR* szFilename, int perm ) const; -+ -+ -+ //////////////////////////////////////// -+ // minor filesystem functions -+ //////////////////////////////////////// -+ virtual void GetHostID( TSTRING& name ) const; -+ -+ virtual void GetMachineName( TSTRING& name) const throw(eFSServices); -+ -+ virtual void GetMachineNameFullyQualified( TSTRING& name ) const; -+ -+ virtual bool GetCurrentUserName( TSTRING& tstrName ) const; -+ -+ virtual bool GetIPAddress( uint32& uiIPAddress ); -+ -+ -+ //////////////////////////////////////// -+ // directory specific functions -+ //////////////////////////////////////// -+ virtual void ReadDir( const TSTRING& strName, std::vector &vDirContents, bool bFullPaths = true ) const throw( eFSServices ); -+ // puts the contents of the specified directory, except for . and .., into the supplied vector. -+ virtual void GetCurrentDir( TSTRING& strCurDir ) const throw( eFSServices ); -+ // returns the current working directory -+ virtual void ChangeDir( const TSTRING& strName ) const throw( eFSServices ); -+ // sets the current working directory -+ virtual void Mkdir( const TSTRING& strName ) const throw( eFSServices ); -+ -+ virtual bool Rmdir( const TSTRING& strName ) const; -+ -+ -+ //////////////////////////////////////// -+ // file specific functions -+ //////////////////////////////////////// -+ virtual bool FileDelete( const TSTRING& name ) const; -+ -+ -+ //////////////////////////////////////// -+ // directory and file functions -+ //////////////////////////////////////// -+ virtual bool Rename( const TSTRING& strOldName, const TSTRING& strNewName, bool fOverWrite = true ) const; -+ // rename a file -+ virtual bool GetOwnerForFile( const TSTRING& tstrFilename, TSTRING& tstrUser ) const; -+ -+ virtual bool GetGroupForFile( const TSTRING& tstrFilename, TSTRING& tstrGroup ) const; -+ -+ -+ //////////////////////////////////////// -+ // miscellaneous utility functions -+ //////////////////////////////////////// -+ virtual void ConvertModeToString( uint64 perm, TSTRING& tstrPerm ) const; -+ // takes a int64 permission (from stat) and changes it to look like UNIX's 'ls -l' (e.g. drwxrwxrwx) -+ virtual bool FullPath( TSTRING& fullPath, const TSTRING& relPath, const TSTRING& pathRelFrom = _T("") ) const; -+ // converts relPath into a fully qualified path, storing it in FullPath. If this -+ // fails, false is returned. if the path to which relPath is relative is not CWD, put it in pathRelFrom. -+ virtual bool GetExecutableFilename( TSTRING& strFullPath, const TSTRING& strFilename ) const; -+ // get the path to the current executable file -+ virtual bool IsRoot( const TSTRING& strPath ) const; -+ // returns true if strPath is all '/'s -+ -+ //////////////////////////////////////// -+ // error functions -+ //////////////////////////////////////// -+ virtual TSTRING GetErrString() const; -+ -+ private: -+ UnixSysInfo info; -+ //struct stores pertinent system info. to be used by member functions -+ -+ TSTRING mTempPath; -+ -+}; -+ -+#endif //__UNIXFSSERVICES_H -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/unixfsservices_t.cpp tripwire-2.3.1-2/src/core/unixfsservices_t.cpp ---- tripwire-2.3.1-2.old/src/core/unixfsservices_t.cpp Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/core/unixfsservices_t.cpp Mon Feb 19 16:20:24 2001 -@@ -0,0 +1,208 @@ -+// -+// The developer of the original code and/or files is Tripwire, Inc. -+// Portions created by Tripwire, Inc. are copyright (C) 2000 Tripwire, -+// Inc. Tripwire is a registered trademark of Tripwire, Inc. All rights -+// reserved. -+// -+// This program is free software. The contents of this file are subject -+// to the terms of the GNU General Public License as published by the -+// Free Software Foundation; either version 2 of the License, or (at your -+// option) any later version. You may redistribute it and/or modify it -+// only in compliance with the GNU General Public License. -+// -+// This program is distributed in the hope that it will be useful. -+// However, this program is distributed AS-IS WITHOUT ANY -+// WARRANTY; INCLUDING THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS -+// FOR A PARTICULAR PURPOSE. Please see the GNU General Public License -+// for more details. -+// -+// You should have received a copy of the GNU General Public License -+// along with this program; if not, write to the Free Software -+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, -+// USA. -+// -+// Nothing in the GNU General Public License or any other license to use -+// the code or files shall permit you to use Tripwire's trademarks, -+// service marks, or other intellectual property without Tripwire's -+// prior written consent. -+// -+// If you have any questions, please contact Tripwire, Inc. at either -+// info@tripwire.org or www.tripwire.org. -+// -+// unixfsservices_t.cpp: Tests cUnixFSServices -+ -+//#include -+#include "core/stdcore.h" -+#include "unixfsservices.h" -+#include -+#include "core/archive.h" -+#include "fco/fconame.h" -+ -+#if IS_UNIX -+ -+#ifndef __TEST_H -+#include "test/test.h" -+#endif -+ -+using namespace std; -+ -+//Tests the functions that are currently implemented in win32fsservices. -+void TestUnixFSServices() -+{ -+ cDebug d("TestUnixFSServices"); -+ // d.RemoveOutTarget(cDebug::OUT_STDOUT); -+ -+ try -+ { -+ iFSServices* pFSServices = iFSServices::GetInstance(); -+ -+ // working primarily with the temp dir. -+ cFCOName name(_T("/tmp")); // dies here -+ -+ // Check to make sure /tmp is a dir -+ //TEST(pFSServices->GetFileType(name) == cFSStatArgs::TY_DIR); -+ -+ // get directory contents (test readdir) -+ std::vector v; -+ pFSServices->ReadDir(name.AsString(), v); -+ -+ { -+ d.TraceDebug("name: %d entries\n", v.size()); -+ -+ std::vector ::iterator p; -+ int n = 0; -+ for (p = v.begin(); p != v.end(); p++) { -+ d.TraceDetail(" %s\n", p->c_str()); -+ n++; -+ } -+ -+ TEST(n == v.size()); -+ } -+ -+ //Test the Stat method -+ cFSStatArgs stat; -+ -+ //TO DO: use archive to create this file -+ TSTRING testfile = "/tmp/tmp.tmp"; -+ cFileArchive filearch; -+ filearch.OpenReadWrite(testfile.c_str()); -+ filearch.Seek(0, cBidirArchive::BEGINNING); -+ filearch.WriteString(_T("This is a test")); -+ filearch.Close(); -+ -+ pFSServices->Stat(testfile, stat); -+ -+ //print out the information returned by Stat -+ d.TraceDetail("Information returned by Stat: \n"); -+ d.TraceDetail("Group ID : %-5d \n", stat.gid); -+ //d.TraceDetail("Last access time: %d \n", stat.atime); -+ d.TraceDetail("Last inode change: %d \n", stat.ctime); -+ d.TraceDetail("Last modified: %d \n", stat.mtime); -+ d.TraceDetail("Major/minor device nums: %d \n", stat.dev); -+ d.TraceDetail("Inode # of file : %d \n", stat.ino); -+ d.TraceDetail("Mode bits: %d \n", stat.mode); -+ d.TraceDetail("Num links: %d \n", stat.nlink); -+ d.TraceDetail("Major/minor dev if special: %d \n", stat.rdev); -+ d.TraceDetail("File size: %d \n", stat.size); -+ d.TraceDetail("User ID: %d \n", stat.uid); -+ -+ //Test GetCurrentDir: -+ TSTRING currpath; -+ pFSServices->GetCurrentDir(currpath); -+ d.TraceDetail("GetCurrentDir returned %s\n", currpath.c_str()); -+ //TEST(currpath == _T("~")); -+ //they should both be ~!! -+ -+ //Test MakeTempFilename -+ TSTRING _template(_T("twtempXXXXXX")); -+ pFSServices->MakeTempFilename(_template); -+ d.TraceDetail("Testing MakeTempFilename: \n"); -+ d.TraceDetail("%s \n", _template.c_str() ); -+ -+ //Test ChangeDir -+ d.TraceDetail("Testing ChangeDir: (should be /usr)\n"); -+ TSTRING newdir(_T("/usr")); -+ pFSServices->ChangeDir(newdir); -+ pFSServices->GetCurrentDir(currpath); -+ d.TraceDetail("%s \n", currpath.c_str() ); -+ //Did we get there?? -+ -+ //Test Mkdir: -+ d.TraceDetail("Testing Mkdir: \n"); -+ TSTRING makedir(_T("/tmp/tw_mkdir")); -+ pFSServices->Mkdir(makedir); // throws on error -+ -+ //Test Rmdir -+ d.TraceDetail("Testing Rmdir:\n"); -+ TEST( pFSServices->Rmdir(makedir) ); -+ -+ // Test GetMachineName -+ d.TraceDetail("Testing GetMachineName:\n"); -+ TSTRING uname; -+ pFSServices->GetMachineName(uname); -+ d.TraceDetail("GetMachineName returned: %s\n", uname.c_str()); -+ -+ // Test GetHostID -+ d.TraceDetail("Testing GetHostID:\n"); -+ TSTRING hostid; -+ pFSServices->GetHostID(hostid); -+ d.TraceDetail("GetHostID returned: %s\n", hostid.c_str()); -+ -+ // Test GetCurrentUserName -+ d.TraceDetail("Testing GetCurrentUserName:\n"); -+ TSTRING username; -+ TEST( pFSServices->GetCurrentUserName(username) ); -+ d.TraceDetail("GetCurrentUserName returned: %s\n", username.c_str()); -+ -+ // Test GetIPAddress -+ d.TraceDetail("Testing GetIPAddress:\n"); -+ uint32 *ipaddr; -+ TEST( pFSServices->GetIPAddress( *ipaddr ) ); -+ d.TraceDetail("GetIPAddress returned: %d\n", ipaddr); -+ -+ // test GetExecutableFilename -+ d.TraceDetail("Testing GetExecutableFilename: \n"); -+ TSTRING filename = _T("sh"); -+ TSTRING fullpath = _T("/bin/"); -+ TEST(pFSServices->GetExecutableFilename(fullpath, filename)); -+ filename = _T("/bin/sh"); -+ TEST(pFSServices->GetExecutableFilename(fullpath, filename)); -+ -+ // test Rename -+ d.TraceDetail("Testing Rename:\n"); -+ TSTRING newtestfile = _T("/tmp/new.tmp"); -+ TEST( pFSServices->Rename( testfile, newtestfile ) ); -+ -+ // test GetOwnerForFile -+ d.TraceDetail("Testing GetOwnerForFile:\n"); -+ TSTRING ownername; -+ TEST( pFSServices->GetOwnerForFile( newtestfile, ownername ) ); -+ d.TraceDetail("GetOwnerForFile returned owner %s.\n", ownername.c_str()); -+ -+ // test GetGroupForFile -+ d.TraceDetail("Testing GetGroupForFile:\n"); -+ TSTRING groupname; -+ TEST( pFSServices->GetGroupForFile( newtestfile, groupname ) ); -+ d.TraceDetail("GetGroupForFile returned group %s.\n", groupname.c_str()); -+ -+ // test FileDelete -+ d.TraceDetail("Testing FileDelete:\n"); -+ TEST( pFSServices->FileDelete( newtestfile ) ); -+ -+ -+ -+ }//end try block -+ catch (eError& e) -+ { -+ d.TraceError("Exception caught: %s\n", e.GetMsg()); -+ } -+ -+} -+#endif // IS_UNIX -+ -+ -+ -+ -+ -+ -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/usernotify.h tripwire-2.3.1-2/src/core/usernotify.h ---- tripwire-2.3.1-2.old/src/core/usernotify.h Fri Oct 27 18:15:20 2000 -+++ tripwire-2.3.1-2/src/core/usernotify.h Sun Mar 18 01:40:49 2001 -@@ -39,7 +39,9 @@ - #ifndef __DEBUG_H - #include "debug.h" - #endif -+#ifndef va_start - #include -+#endif - - class iUserNotify - { -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/usernotifystdout.h tripwire-2.3.1-2/src/core/usernotifystdout.h ---- tripwire-2.3.1-2.old/src/core/usernotifystdout.h Fri Oct 27 18:15:20 2000 -+++ tripwire-2.3.1-2/src/core/usernotifystdout.h Wed Aug 14 14:27:11 2002 -@@ -49,5 +49,5 @@ - // at or above iUserNotify::V_VERBOSE go to stderr instead of stdout - }; - --#endif __USERNOTIFYSTDOUT_H -+#endif /* __USERNOTIFYSTDOUT_H */ - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/core/wchar16.cpp tripwire-2.3.1-2/src/core/wchar16.cpp ---- tripwire-2.3.1-2.old/src/core/wchar16.cpp Fri Oct 27 18:15:20 2000 -+++ tripwire-2.3.1-2/src/core/wchar16.cpp Sun Mar 18 04:16:36 2001 -@@ -75,8 +75,8 @@ - void CopyString(const wc16_string_impl& rhs); - // note: does not alter this->referenceCount, and ASSERTs that refcount == 1 - --private: - ~wc16_string_impl(); // call Release() to delete -+private: - void operator = (const wc16_string_impl& rhs) { return; } // don't call - }; - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/cryptlib/Makefile.am tripwire-2.3.1-2/src/cryptlib/Makefile.am ---- tripwire-2.3.1-2.old/src/cryptlib/Makefile.am Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/cryptlib/Makefile.am Sat Jun 7 00:01:26 2003 -@@ -0,0 +1,25 @@ -+AUTOMAKE_OPTIONS = foreign no-dependencies -+ -+INCLUDES = -I.. -I../.. @STLPORT_INCLUDE@ -+ -+# we need this, because we do not want -I. on systems that have -+# a real iosfwd & iostream -+if OSHASIOSTREAM -+D_INCLUDES = -+else -+D_INCLUDES = -I. -+endif -+DEFAULT_INCLUDES = $(D_INCLUDES) -+ -+noinst_LIBRARIES = libcryptlib.a -+libcryptlib_a_SOURCES = \ -+ algebra.cpp asn.cpp cryptlib.cpp des.cpp dessp.cpp elgamal.cpp \ -+ eprecomp.cpp filters.cpp forkjoin.cpp integer.cpp iterhash.cpp misc.cpp \ -+ nbtheory.cpp pch.cpp queue.cpp rng.cpp sha.cpp zbits.cpp zdeflate.cpp \ -+ zinflate.cpp ztrees.cpp -+ -+DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit -+CLEANFILES = ../../lib/libcryptlib.a -+ -+all: $(noinst_LIBRARIES) -+ ln -f $(noinst_LIBRARIES) ../../lib/libcryptlib.a -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/cryptlib/Makefile.in tripwire-2.3.1-2/src/cryptlib/Makefile.in ---- tripwire-2.3.1-2.old/src/cryptlib/Makefile.in Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/cryptlib/Makefile.in Mon Sep 22 09:40:55 2003 -@@ -0,0 +1,303 @@ -+# Makefile.in generated automatically by automake 1.5 from Makefile.am. -+ -+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -+# Free Software Foundation, Inc. -+# This Makefile.in is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -+# PARTICULAR PURPOSE. -+ -+@SET_MAKE@ -+ -+SHELL = @SHELL@ -+ -+srcdir = @srcdir@ -+top_srcdir = @top_srcdir@ -+VPATH = @srcdir@ -+prefix = @prefix@ -+exec_prefix = @exec_prefix@ -+ -+bindir = @bindir@ -+sbindir = @sbindir@ -+libexecdir = @libexecdir@ -+datadir = @datadir@ -+sysconfdir = @sysconfdir@ -+sharedstatedir = @sharedstatedir@ -+localstatedir = @localstatedir@ -+libdir = @libdir@ -+infodir = @infodir@ -+mandir = @mandir@ -+includedir = @includedir@ -+oldincludedir = /usr/include -+pkgdatadir = $(datadir)/@PACKAGE@ -+pkglibdir = $(libdir)/@PACKAGE@ -+pkgincludedir = $(includedir)/@PACKAGE@ -+top_builddir = ../.. -+ -+ACLOCAL = @ACLOCAL@ -+AUTOCONF = @AUTOCONF@ -+AUTOMAKE = @AUTOMAKE@ -+AUTOHEADER = @AUTOHEADER@ -+ -+INSTALL = @INSTALL@ -+INSTALL_PROGRAM = @INSTALL_PROGRAM@ -+INSTALL_DATA = @INSTALL_DATA@ -+INSTALL_SCRIPT = @INSTALL_SCRIPT@ -+INSTALL_HEADER = $(INSTALL_DATA) -+transform = @program_transform_name@ -+NORMAL_INSTALL = : -+PRE_INSTALL = : -+POST_INSTALL = : -+NORMAL_UNINSTALL = : -+PRE_UNINSTALL = : -+POST_UNINSTALL = : -+AMTAR = @AMTAR@ -+AWK = @AWK@ -+CC = @CC@ -+CORE_CRYPT_O = @CORE_CRYPT_O@ -+CXX = @CXX@ -+DEPDIR = @DEPDIR@ -+EXEEXT = @EXEEXT@ -+GMAKE = @GMAKE@ -+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -+OBJEXT = @OBJEXT@ -+PACKAGE = @PACKAGE@ -+RANLIB = @RANLIB@ -+STLPORT_INCLUDE = @STLPORT_INCLUDE@ -+STLPORT_LD = @STLPORT_LD@ -+STLPORT_LIBRARY = @STLPORT_LIBRARY@ -+STLPORT_MAKEFILE = @STLPORT_MAKEFILE@ -+STLPORT_SUBDIR = @STLPORT_SUBDIR@ -+SYSPRE = @SYSPRE@ -+VERSION = @VERSION@ -+YACC = @YACC@ -+am__include = @am__include@ -+am__quote = @am__quote@ -+install_sh = @install_sh@ -+path_to_sendmail = @path_to_sendmail@ -+path_to_vi = @path_to_vi@ -+ -+AUTOMAKE_OPTIONS = foreign no-dependencies -+ -+INCLUDES = -I.. -I../.. @STLPORT_INCLUDE@ -+ -+# we need this, because we do not want -I. on systems that have -+# a real iosfwd & iostream -+@OSHASIOSTREAM_TRUE@D_INCLUDES = -+@OSHASIOSTREAM_FALSE@D_INCLUDES = -I. -+DEFAULT_INCLUDES = $(D_INCLUDES) -+ -+noinst_LIBRARIES = libcryptlib.a -+libcryptlib_a_SOURCES = \ -+ algebra.cpp asn.cpp cryptlib.cpp des.cpp dessp.cpp elgamal.cpp \ -+ eprecomp.cpp filters.cpp forkjoin.cpp integer.cpp iterhash.cpp misc.cpp \ -+ nbtheory.cpp pch.cpp queue.cpp rng.cpp sha.cpp zbits.cpp zdeflate.cpp \ -+ zinflate.cpp ztrees.cpp -+ -+ -+DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit -+CLEANFILES = ../../lib/libcryptlib.a -+subdir = src/cryptlib -+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -+CONFIG_HEADER = $(top_builddir)/config.h -+CONFIG_CLEAN_FILES = -+LIBRARIES = $(noinst_LIBRARIES) -+ -+libcryptlib_a_AR = $(AR) cru -+libcryptlib_a_LIBADD = -+am_libcryptlib_a_OBJECTS = algebra.$(OBJEXT) asn.$(OBJEXT) \ -+ cryptlib.$(OBJEXT) des.$(OBJEXT) dessp.$(OBJEXT) \ -+ elgamal.$(OBJEXT) eprecomp.$(OBJEXT) filters.$(OBJEXT) \ -+ forkjoin.$(OBJEXT) integer.$(OBJEXT) iterhash.$(OBJEXT) \ -+ misc.$(OBJEXT) nbtheory.$(OBJEXT) pch.$(OBJEXT) queue.$(OBJEXT) \ -+ rng.$(OBJEXT) sha.$(OBJEXT) zbits.$(OBJEXT) zdeflate.$(OBJEXT) \ -+ zinflate.$(OBJEXT) ztrees.$(OBJEXT) -+libcryptlib_a_OBJECTS = $(am_libcryptlib_a_OBJECTS) -+CPPFLAGS = @CPPFLAGS@ -+LDFLAGS = @LDFLAGS@ -+LIBS = @LIBS@ -+depcomp = -+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -+CXXLD = $(CXX) -+CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -+ -o $@ -+CXXFLAGS = @CXXFLAGS@ -+DIST_SOURCES = $(libcryptlib_a_SOURCES) -+DIST_COMMON = Makefile.am Makefile.in -+SOURCES = $(libcryptlib_a_SOURCES) -+ -+all: all-am -+ -+.SUFFIXES: -+.SUFFIXES: .cpp .o .obj -+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) -+ cd $(top_srcdir) && \ -+ $(AUTOMAKE) --foreign src/cryptlib/Makefile -+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status -+ cd $(top_builddir) && \ -+ CONFIG_HEADERS= CONFIG_LINKS= \ -+ CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -+ -+AR = ar -+ -+clean-noinstLIBRARIES: -+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) -+libcryptlib.a: $(libcryptlib_a_OBJECTS) $(libcryptlib_a_DEPENDENCIES) -+ -rm -f libcryptlib.a -+ $(libcryptlib_a_AR) libcryptlib.a $(libcryptlib_a_OBJECTS) $(libcryptlib_a_LIBADD) -+ $(RANLIB) libcryptlib.a -+ -+mostlyclean-compile: -+ -rm -f *.$(OBJEXT) core *.core -+ -+distclean-compile: -+ -rm -f *.tab.c -+ -+.cpp.o: -+ $(CXXCOMPILE) -c -o $@ $< -+ -+.cpp.obj: -+ $(CXXCOMPILE) -c -o $@ `cygpath -w $<` -+uninstall-info-am: -+ -+tags: TAGS -+ -+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) -+ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ -+ unique=`for i in $$list; do \ -+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+ done | \ -+ $(AWK) ' { files[$$0] = 1; } \ -+ END { for (i in files) print i; }'`; \ -+ mkid -fID $$unique $(LISP) -+ -+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ -+ $(TAGS_FILES) $(LISP) -+ tags=; \ -+ here=`pwd`; \ -+ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ -+ unique=`for i in $$list; do \ -+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+ done | \ -+ $(AWK) ' { files[$$0] = 1; } \ -+ END { for (i in files) print i; }'`; \ -+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ -+ || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -+ -+GTAGS: -+ here=`CDPATH=: && cd $(top_builddir) && pwd` \ -+ && cd $(top_srcdir) \ -+ && gtags -i $(GTAGS_ARGS) $$here -+ -+distclean-tags: -+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH -+ -+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -+ -+top_distdir = ../.. -+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) -+ -+distdir: $(DISTFILES) -+ @for file in $(DISTFILES); do \ -+ if test -f $$file; then d=.; else d=$(srcdir); fi; \ -+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ -+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ -+ $(mkinstalldirs) "$(distdir)/$$dir"; \ -+ fi; \ -+ if test -d $$d/$$file; then \ -+ cp -pR $$d/$$file $(distdir) \ -+ || exit 1; \ -+ else \ -+ test -f $(distdir)/$$file \ -+ || cp -p $$d/$$file $(distdir)/$$file \ -+ || exit 1; \ -+ fi; \ -+ done -+check-am: all-am -+check: check-am -+all-am: Makefile $(LIBRARIES) -+ -+installdirs: -+ -+install: install-am -+install-exec: install-exec-am -+install-data: install-data-am -+uninstall: uninstall-am -+ -+install-am: all-am -+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -+ -+installcheck: installcheck-am -+install-strip: -+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ -+ `test -z '$(STRIP)' || \ -+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -+mostlyclean-generic: -+ -+clean-generic: -+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) -+ -+distclean-generic: -+ -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* -+ -+maintainer-clean-generic: -+ @echo "This command is intended for maintainers to use" -+ @echo "it deletes files that may require special tools to rebuild." -+clean: clean-am -+ -+clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am -+ -+distclean: distclean-am -+ -+distclean-am: clean-am distclean-compile distclean-generic \ -+ distclean-tags -+ -+dvi: dvi-am -+ -+dvi-am: -+ -+info: info-am -+ -+info-am: -+ -+install-data-am: -+ -+install-exec-am: -+ -+install-info: install-info-am -+ -+install-man: -+ -+installcheck-am: -+ -+maintainer-clean: maintainer-clean-am -+ -+maintainer-clean-am: distclean-am maintainer-clean-generic -+ -+mostlyclean: mostlyclean-am -+ -+mostlyclean-am: mostlyclean-compile mostlyclean-generic -+ -+uninstall-am: uninstall-info-am -+ -+.PHONY: GTAGS all all-am check check-am clean clean-generic \ -+ clean-noinstLIBRARIES distclean distclean-compile \ -+ distclean-generic distclean-tags distdir dvi dvi-am info \ -+ info-am install install-am install-data install-data-am \ -+ install-exec install-exec-am install-info install-info-am \ -+ install-man install-strip installcheck installcheck-am \ -+ installdirs maintainer-clean maintainer-clean-generic \ -+ mostlyclean mostlyclean-compile mostlyclean-generic tags \ -+ uninstall uninstall-am uninstall-info-am -+ -+ -+all: $(noinst_LIBRARIES) -+ ln -f $(noinst_LIBRARIES) ../../lib/libcryptlib.a -+# Tell versions [3.59,3.63) of GNU make to not export all variables. -+# Otherwise a system limit (for SysV at least) may be exceeded. -+.NOEXPORT: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/cryptlib/algebra.cpp tripwire-2.3.1-2/src/cryptlib/algebra.cpp ---- tripwire-2.3.1-2.old/src/cryptlib/algebra.cpp Fri Oct 27 17:26:20 2000 -+++ tripwire-2.3.1-2/src/cryptlib/algebra.cpp Wed Jun 18 22:29:39 2003 -@@ -1,6 +1,6 @@ - // algebra.cpp - written and placed in the public domain by Wei Dai - - #include "pch.h" --#include "algebra.h" - #include "integer.h" -+#include "algebra.h" - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/cryptlib/algebra.h tripwire-2.3.1-2/src/cryptlib/algebra.h ---- tripwire-2.3.1-2.old/src/cryptlib/algebra.h Fri Oct 27 17:26:20 2000 -+++ tripwire-2.3.1-2/src/cryptlib/algebra.h Sat Sep 6 10:44:25 2003 -@@ -45,15 +45,17 @@ - - // VC50 workaround: no member template support yet - template Element GeneralCascadeMultiplication(const AbstractGroup &group, Iterator begin, Iterator end); -+#if defined(BREAK_GCC34) - template Element GeneralCascadeExponentiation(const AbstractRing &ring, Iterator begin, Iterator end); -+#endif /* BREAK_GCC34 */ - - // ******************************************************** - - template class AbstractField : public AbstractRing - { - public: -- bool IsUnit(const Element &a) const -- {return !Equal(a, Zero());} -+ bool IsUnit(const typename T::Element &a) const -+ {return !Equal(a, this->Zero());} - }; - - template class AbstractEuclideanDomain : public AbstractRing -@@ -80,28 +82,28 @@ - const Ring & GetRing() const - {return m_ring;} - -- bool Equal(const Element &a, const Element &b) const -+ bool Equal(const typename T::Element &a, const typename T::Element &b) const - {return m_ring.Equal(a, b);} - -- Element Zero() const -+ typename T::Element Zero() const - {return m_ring.One();} - -- Element Add(const Element &a, const Element &b) const -+ typename T::Element Add(const typename T::Element &a, const typename T::Element &b) const - {return m_ring.Multiply(a, b);} - -- Element& Accumulate(Element &a, const Element &b) const -+ typename T::Element& Accumulate(typename T::Element &a, const typename T::Element &b) const - {return a = m_ring.Multiply(a, b);} - -- Element Inverse(const Element &a) const -+ typename T::Element Inverse(const typename T::Element &a) const - {return m_ring.MultiplicativeInverse(a);} - -- Element Subtract(const Element &a, const Element &b) const -+ typename T::Element Subtract(const typename T::Element &a, const typename T::Element &b) const - {return m_ring.Divide(a, b);} - -- Element& Reduce(Element &a, const Element &b) const -+ typename T::Element& Reduce(typename T::Element &a, const typename T::Element &b) const - {return a = m_ring.Divide(a, b);} - -- Element Double(const Element &a) const -+ typename T::Element Double(const typename T::Element &a) const - {return m_ring.Square(a);} - - protected: -@@ -111,6 +113,8 @@ - template class EuclideanDomainOf : public AbstractEuclideanDomain - { - public: -+ typedef T Element; -+ - EuclideanDomainOf() {} - - bool Equal(const Element &a, const Element &b) const -@@ -167,56 +171,56 @@ - public: - typedef T EuclideanDomain; - -- QuotientRing(const EuclideanDomain &domain, const Element &modulus) -+ QuotientRing(const EuclideanDomain &domain, const typename T::Element &modulus) - : m_domain(domain), m_modulus(modulus) {} - - const EuclideanDomain & GetDomain() const - {return m_domain;} - -- const Element & GetModulus() const -+ const typename T::Element & GetModulus() const - {return m_modulus;} - -- bool Equal(const Element &a, const Element &b) const -+ bool Equal(const typename T::Element &a, const typename T::Element &b) const - {return m_domain.Equal(m_domain.Mod(m_domain.Subtract(a, b), m_modulus), m_domain.Zero());} - -- Element Zero() const -+ typename T::Element Zero() const - {return m_domain.Zero();} - -- Element Add(const Element &a, const Element &b) const -+ typename T::Element Add(const typename T::Element &a, const typename T::Element &b) const - {return m_domain.Add(a, b);} - -- Element& Accumulate(Element &a, const Element &b) const -+ typename T::Element& Accumulate(typename T::Element &a, const typename T::Element &b) const - {return m_domain.Accumulate(a, b);} - -- Element Inverse(const Element &a) const -+ typename T::Element Inverse(const typename T::Element &a) const - {return m_domain.Inverse(a);} - -- Element Subtract(const Element &a, const Element &b) const -+ typename T::Element Subtract(const typename T::Element &a, const typename T::Element &b) const - {return m_domain.Subtract(a, b);} - -- Element& Reduce(Element &a, const Element &b) const -+ typename T::Element& Reduce(typename T::Element &a, const typename T::Element &b) const - {return m_domain.Reduce(a, b);} - -- Element Double(const Element &a) const -+ typename T::Element Double(const typename T::Element &a) const - {return m_domain.Double(a);} - -- bool IsUnit(const Element &a) const -+ bool IsUnit(const typename T::Element &a) const - {return m_domain.IsUnit(m_domain.Gcd(a, m_modulus));} - -- Element One() const -+ typename T::Element One() const - {return m_domain.One();} - -- Element Multiply(const Element &a, const Element &b) const -+ typename T::Element Multiply(const typename T::Element &a, const typename T::Element &b) const - {return m_domain.Mod(m_domain.Multiply(a, b), m_modulus);} - -- Element Square(const Element &a) const -+ typename T::Element Square(const typename T::Element &a) const - {return m_domain.Mod(m_domain.Square(a), m_modulus);} - -- Element MultiplicativeInverse(const Element &a) const; -+ typename QuotientRing::Element MultiplicativeInverse(const typename T::Element &a) const; - - protected: - const EuclideanDomain &m_domain; -- Element m_modulus; -+ typename T::Element m_modulus; - }; - - /////////////////////////////////////////////////////////////////////////////// -@@ -269,7 +273,7 @@ - Element g[3]={b, a}; - unsigned int i0=0, i1=1, i2=2; - -- while (!Equal(g[i1], Zero())) -+ while (!Equal(g[i1], this->Zero())) - { - g[i2] = Mod(g[i0], g[i1]); - unsigned int t = i0; i0 = i1; i1 = i2; i2 = t; -@@ -278,11 +282,11 @@ - return g[i0]; - } - --template QuotientRing::Element QuotientRing::MultiplicativeInverse(const Element &a) const -+template typename QuotientRing::Element QuotientRing::MultiplicativeInverse(const typename T::Element &a) const - { -- Element g[3]={m_modulus, a}; -- Element v[3]={m_domain.Zero(), m_domain.One()}; -- Element y; -+ typename T::Element g[3]={m_modulus, a}; -+ typename T::Element v[3]={m_domain.Zero(), m_domain.One()}; -+ typename T::Element y; - unsigned int i0=0, i1=1, i2=2; - - while (!Equal(g[i1], Zero())) -@@ -300,7 +304,7 @@ - - template T AbstractGroup::IntMultiply(const Element &base, const Integer &exponent) const - { -- unsigned expLen = exponent.BitCount(); -+ unsigned int expLen = exponent.BitCount(); - if (expLen==0) - return Zero(); - -@@ -474,10 +478,12 @@ - return MultiplicativeGroup >(*this).CascadeIntMultiply(x, e1, y, e2); - } - -+#if defined(BREAK_GCC34) - template Element GeneralCascadeExponentiation(const AbstractRing &ring, Iterator begin, Iterator end) - { - MultiplicativeGroup > mg(field); - return GeneralCascadeMultiplication(mg, begin, end); - } -+#endif /* BREAK_GCC34 */ - - #endif -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/cryptlib/config.h tripwire-2.3.1-2/src/cryptlib/config.h ---- tripwire-2.3.1-2.old/src/cryptlib/config.h Fri Oct 27 17:26:20 2000 -+++ tripwire-2.3.1-2/src/cryptlib/config.h Wed Sep 10 11:44:43 2003 -@@ -1,10 +1,8 @@ - #ifndef CONFIG_H - #define CONFIG_H - --// define this if running on a little-endian CPU -- --#ifdef _LITTLE_ENDIAN --#define CRYPTOPP_IS_LITTLE_ENDIAN -+#ifdef HAVE_CONFIG_H -+#include - #endif - - // define this if you want the library to throw exceptions when things go wrong -@@ -86,10 +84,12 @@ - - typedef unsigned char byte; - typedef unsigned short word16; --#if defined(_ALPHA) || (defined(__alpha) && !defined(_MSC_VER)) --typedef unsigned int word32; --#else --typedef unsigned long word32; -+#if SIZEOF_INT == 4 -+ typedef unsigned int word32; -+ #elif SIZEOF_LONG == 4 -+ typedef unsigned long word32; -+ #else -+ #error "I don't seem to have a 32-bit integer type on this system." - #endif - - // word should have the same size as your CPU registers -@@ -141,12 +141,15 @@ - - #elif defined(__GNUC__) - --typedef unsigned long word; --typedef unsigned long long dword; --#define WORD64_AVAILABLE --typedef unsigned long long word64; --#define W64LIT(x) x##LL -- -+typedef word32 word; -+#if SIZEOF_LONG_LONG == 8 -+ typedef unsigned long long dword; -+ #define WORD64_AVAILABLE -+ typedef unsigned long long word64; -+ #define W64LIT(x) x##LL -+ #else -+ #error "I don't seem to have a 64-bit integer type on this system." -+#endif - #else - - typedef unsigned int word; -@@ -166,10 +169,10 @@ - #define LOW_WORD(x) (word)(x) - #endif - --#ifdef CRYPTOPP_IS_LITTLE_ENDIAN --#define HIGH_WORD(x) (*(((word *)&(x))+1)) --#else -+#ifdef WORDS_BIGENDIAN - #define HIGH_WORD(x) (*((word *)&(x))) -+#else -+#define HIGH_WORD(x) (*(((word *)&(x))+1)) - #endif - - // if the above HIGH_WORD macro doesn't work (if you are not sure, compile it -Only in tripwire-2.3.1-2.old/src/cryptlib: cryptlib.mak -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/cryptlib/des.cpp tripwire-2.3.1-2/src/cryptlib/des.cpp ---- tripwire-2.3.1-2.old/src/cryptlib/des.cpp Fri Oct 27 17:26:20 2000 -+++ tripwire-2.3.1-2/src/cryptlib/des.cpp Mon Aug 12 19:07:57 2002 -@@ -170,7 +170,7 @@ - byte *const pc1m=buffer; /* place to modify pc1 into */ - byte *const pcr=pc1m+56; /* place to rotate pc1 into */ - byte *const ks=pcr+56; -- register int i,j,l; -+ register unsigned int i,j,l; - int m; - - for (j=0; j<56; j++) { /* convert pc1 to bits of key */ -@@ -315,12 +315,12 @@ - { - word32 l,r,work; - --#ifdef CRYPTOPP_IS_LITTLE_ENDIAN -- l = byteReverse(*(word32 *)inBlock); -- r = byteReverse(*(word32 *)(inBlock+4)); --#else -+#ifdef WORDS_BIGENDIAN - l = *(word32 *)inBlock; - r = *(word32 *)(inBlock+4); -+#else -+ l = byteReverse(*(word32 *)inBlock); -+ r = byteReverse(*(word32 *)(inBlock+4)); - #endif - - IPERM(l,r); -@@ -354,12 +354,12 @@ - - FPERM(l,r); - --#ifdef CRYPTOPP_IS_LITTLE_ENDIAN -- *(word32 *)outBlock = byteReverse(r); -- *(word32 *)(outBlock+4) = byteReverse(l); --#else -+#ifdef WORDS_BIGENDIAN - *(word32 *)outBlock = r; - *(word32 *)(outBlock+4) = l; -+#else -+ *(word32 *)outBlock = byteReverse(r); -+ *(word32 *)(outBlock+4) = byteReverse(l); - #endif - } - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/cryptlib/eprecomp.cpp tripwire-2.3.1-2/src/cryptlib/eprecomp.cpp ---- tripwire-2.3.1-2.old/src/cryptlib/eprecomp.cpp Fri Oct 27 17:26:20 2000 -+++ tripwire-2.3.1-2/src/cryptlib/eprecomp.cpp Tue Aug 13 14:08:24 2002 -@@ -15,7 +15,7 @@ - g[i] = group.IntMultiply(g[i-1], exponentBase); - } - --template ExponentiationPrecomputation::Element ExponentiationPrecomputation::Exponentiate(const Integer &exponent) const -+template typename ExponentiationPrecomputation::Element ExponentiationPrecomputation::Exponentiate(const Integer &exponent) const - { - vector > eb(storage); // array of segments of the exponent and precalculated bases - Integer temp, e = exponent; -@@ -33,7 +33,7 @@ - return GeneralCascadeMultiplication(group, eb.begin(), eb.end()); - } - --template ExponentiationPrecomputation::Element -+template typename ExponentiationPrecomputation::Element - ExponentiationPrecomputation::CascadeExponentiate(const Integer &exponent, - const ExponentiationPrecomputation &pc2, const Integer &exponent2) const - { -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/cryptlib/filters.cpp tripwire-2.3.1-2/src/cryptlib/filters.cpp ---- tripwire-2.3.1-2.old/src/cryptlib/filters.cpp Fri Oct 27 17:26:21 2000 -+++ tripwire-2.3.1-2/src/cryptlib/filters.cpp Thu Jun 19 14:06:25 2003 -@@ -33,7 +33,7 @@ - - BlockFilterBase::BlockFilterBase(BlockTransformation &c, - BufferedTransformation *outQ) -- : cipher(c), S(cipher.BlockSize()), inBuf(S), Filter(outQ) -+ : Filter(outQ), cipher(c), S(cipher.BlockSize()), inBuf(S) - { - inBufSize=0; - } -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/cryptlib/filters.h tripwire-2.3.1-2/src/cryptlib/filters.h ---- tripwire-2.3.1-2.old/src/cryptlib/filters.h Fri Oct 27 17:26:20 2000 -+++ tripwire-2.3.1-2/src/cryptlib/filters.h Thu Jun 19 14:06:25 2003 -@@ -87,7 +87,7 @@ - public: - StreamCipherFilter(StreamCipher &c, - BufferedTransformation *outQueue = NULL) -- : cipher(c), Filter(outQueue) {} -+ : Filter(outQueue), cipher(c) {} - - void Put(byte inByte) - {outQueue->Put(cipher.ProcessByte(inByte));} -@@ -102,7 +102,7 @@ - { - public: - HashFilter(HashModule &hm, BufferedTransformation *outQueue = NULL) -- : hash(hm), Filter(outQueue) {} -+ : Filter(outQueue), hash(hm) {} - - void InputFinished(); - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/cryptlib/forkjoin.cpp tripwire-2.3.1-2/src/cryptlib/forkjoin.cpp ---- tripwire-2.3.1-2.old/src/cryptlib/forkjoin.cpp Fri Oct 27 17:26:20 2000 -+++ tripwire-2.3.1-2/src/cryptlib/forkjoin.cpp Thu Jun 5 12:44:27 2003 -@@ -10,7 +10,7 @@ - { - currentPort = 0; - -- for (int i=0; iClose(); - } - - void Fork::Put(byte inByte) - { -- for (int i=0; iPut(inByte); - } - - void Fork::Put(const byte *inString, unsigned int length) - { -- for (int i=0; iPut(inString, length); - } - -@@ -64,7 +64,7 @@ - interfacesOpen(n), - interfaces(n) - { -- for (int i=0; iWORD_SIZE ? word(value>>WORD_BITS) : 0; -+ reg[(unsigned int)1] = sizeof(value)>WORD_SIZE ? word(value>>WORD_BITS) : 0; - #endif - } - - long Integer::ConvertToLong() const - { -- unsigned long value = reg[0]; -+ unsigned long value = reg[(unsigned int)0]; - #ifndef __GNUC__ - value += sizeof(value)>WORD_SIZE ? ((unsigned long)reg[1]<> (BitPrecision(divisor)-1); -- return dividend.reg[0] & (divisor-1); -+ return dividend.reg[(unsigned int)0] & (divisor-1); - } - - unsigned int i = dividend.WordCount(); -@@ -1967,7 +1967,7 @@ - word remainder; - - if ((divisor & (divisor-1)) == 0) // divisor is a power of 2 -- remainder = dividend.reg[0] & (divisor-1); -+ remainder = dividend.reg[(unsigned int)0] & (divisor-1); - else - { - unsigned int i = dividend.WordCount(); -@@ -2050,7 +2050,7 @@ - - bool Integer::IsUnit() const - { -- return (WordCount() == 1) && (reg[0] == 1); -+ return (WordCount() == 1) && (reg[(unsigned int)0] == 1); - } - - Integer Integer::MultiplicativeInverse() const -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/cryptlib/misc.cpp tripwire-2.3.1-2/src/cryptlib/misc.cpp ---- tripwire-2.3.1-2.old/src/cryptlib/misc.cpp Fri Oct 27 17:26:20 2000 -+++ tripwire-2.3.1-2/src/cryptlib/misc.cpp Thu Jun 5 12:44:27 2003 -@@ -64,7 +64,7 @@ - - unsigned long Crop(unsigned long value, int size) - { -- if (size < 8*sizeof(value)) -+ if (size < 8*(int)sizeof(value)) - return (value & ((1L << size) - 1)); - else - return value; -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/cryptlib/misc.h tripwire-2.3.1-2/src/cryptlib/misc.h ---- tripwire-2.3.1-2.old/src/cryptlib/misc.h Fri Oct 27 17:26:21 2000 -+++ tripwire-2.3.1-2/src/cryptlib/misc.h Sat Jun 7 12:58:47 2003 -@@ -103,10 +103,10 @@ - } - - #ifdef _MSC_VER -- #ifdef CRYPTOPP_IS_LITTLE_ENDIAN -- #define GETBYTE(x, y) (((byte *)&(x))[y]) -- #else -+ #ifdef WORDS_BIGENDIAN - #error MSVC big endian GETBYTE not implemented -+ #else -+ #define GETBYTE(x, y) (((byte *)&(x))[y]) - #endif - #else - #define GETBYTE(x, y) (unsigned int)(((x)>>(8*(y)))&255) -@@ -154,6 +154,10 @@ - T *operator +(unsigned int offset) - {return ptr+offset;} - const T *operator +(unsigned int offset) const -+ {return ptr+offset;} -+ T *operator +(long offset) -+ {return ptr+offset;} -+ const T *operator +(long offset) const - {return ptr+offset;} - T& operator[](unsigned int index) - {assert(indexProcessBlock(randseed, randbuf); - - // compute new seed vector -- for (int i=0; iProcessBlock(randseed); - - randbuf_counter=S; - } -- return(randbuf[--randbuf_counter]); -+ return(randbuf[(unsigned int)--randbuf_counter]); - } - - MaurerRandomnessTest::MaurerRandomnessTest() -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/cryptlib/sha.cpp tripwire-2.3.1-2/src/cryptlib/sha.cpp ---- tripwire-2.3.1-2.old/src/cryptlib/sha.cpp Fri Oct 27 17:26:19 2000 -+++ tripwire-2.3.1-2/src/cryptlib/sha.cpp Mon Aug 12 19:07:57 2002 -@@ -14,20 +14,20 @@ - { - countLo = countHi = 0; - -- digest[0] = 0x67452301L; -- digest[1] = 0xEFCDAB89L; -- digest[2] = 0x98BADCFEL; -- digest[3] = 0x10325476L; -- digest[4] = 0xC3D2E1F0L; -+ digest[(unsigned int)0] = 0x67452301L; -+ digest[(unsigned int)1] = 0xEFCDAB89L; -+ digest[(unsigned int)2] = 0x98BADCFEL; -+ digest[(unsigned int)3] = 0x10325476L; -+ digest[(unsigned int)4] = 0xC3D2E1F0L; - } - - void SHA::HashBlock(const word32 *input) - { --#ifndef CRYPTOPP_IS_LITTLE_ENDIAN -- Transform(digest, input); --#else -+#ifndef WORDS_BIGENDIAN - byteReverse(data.ptr, input, (unsigned int)DATASIZE); - Transform(digest, data); -+#else -+ Transform(digest, input); - #endif - } - -@@ -36,8 +36,8 @@ - PadLastBlock(56); - CorrectEndianess(data, data, 56); - -- data[14] = countHi; -- data[15] = countLo; -+ data[(unsigned int)14] = countHi; -+ data[(unsigned int)15] = countLo; - - Transform(digest, data); - CorrectEndianess(digest, digest, DIGESTSIZE); -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/cryptlib/sha.h tripwire-2.3.1-2/src/cryptlib/sha.h ---- tripwire-2.3.1-2.old/src/cryptlib/sha.h Fri Oct 27 17:26:20 2000 -+++ tripwire-2.3.1-2/src/cryptlib/sha.h Wed Mar 7 14:23:39 2001 -@@ -12,11 +12,11 @@ - - static void CorrectEndianess(word32 *out, const word32 *in, unsigned int byteCount) - { --#ifdef CRYPTOPP_IS_LITTLE_ENDIAN -- byteReverse(out, in, byteCount); --#else -+#ifdef WORDS_BIGENDIAN - if (in!=out) - memcpy(out, in, byteCount); -+#else -+ byteReverse(out, in, byteCount); - #endif - } - -Only in tripwire-2.3.1-2.old/src/cryptlib: sparc-linux.mak -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/cryptlib/zbits.cpp tripwire-2.3.1-2/src/cryptlib/zbits.cpp ---- tripwire-2.3.1-2.old/src/cryptlib/zbits.cpp Fri Oct 27 17:26:20 2000 -+++ tripwire-2.3.1-2/src/cryptlib/zbits.cpp Fri Jun 6 11:46:52 2003 -@@ -12,7 +12,7 @@ - #include - - #ifdef DEBUG --ulg bits_sent; /* bit length of the compressed data */ -+unsigned long bits_sent; /* bit length of the compressed data */ - #endif - - // #define putbyte(b) outQ.Put(b) -@@ -30,10 +30,9 @@ - void BitOutput::send_bits(unsigned int value, int length) /* Send a value on a given number of bits. */ - { - #ifdef DEBUG -- Tracevv((stderr," l %2d v %4x ", length, value)); -- Assert(length > 0 && length <= 15, "invalid length"); -- Assert(boffset < 8, "bad offset"); -- bits_sent += (ulg)length; -+ assert(length > 0 && length <= 15); -+ assert(boffset < 8); -+ bits_sent += (unsigned long)length; - #endif - bitbuff |= value << boffset; - if ((boffset += length) >= 8) { -@@ -84,6 +83,6 @@ - } - outQ.Put(buf, len); - #ifdef DEBUG -- bits_sent += (ulg)len<<3; -+ bits_sent += (unsigned long)len<<3; - #endif - } -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/cryptlib/zdeflate.cpp tripwire-2.3.1-2/src/cryptlib/zdeflate.cpp ---- tripwire-2.3.1-2.old/src/cryptlib/zdeflate.cpp Fri Oct 27 17:26:21 2000 -+++ tripwire-2.3.1-2/src/cryptlib/zdeflate.cpp Fri Jun 6 11:46:52 2003 -@@ -325,7 +325,7 @@ - } - #endif /* ASMV */ - --#ifdef DEBUG -+#if defined(DEBUG) && 0 - /* Check that the match at match_start is indeed a match. */ - static void check_match(start, match, length) - IPos start, match; -@@ -363,7 +363,7 @@ - * move the upper half to the lower one to make room in the upper half. - */ - if (strstart >= (unsigned)WSIZE+MAX_DIST) { -- memcpy(window, window+WSIZE, WSIZE); -+ memcpy(window, window+(unsigned int)WSIZE, WSIZE); - match_start -= WSIZE; - strstart -= WSIZE; /* we now have strstart >= MAX_DIST: */ - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/cryptlib/ztrees.cpp tripwire-2.3.1-2/src/cryptlib/ztrees.cpp ---- tripwire-2.3.1-2.old/src/cryptlib/ztrees.cpp Fri Oct 27 17:26:20 2000 -+++ tripwire-2.3.1-2/src/cryptlib/ztrees.cpp Thu Jun 5 12:44:27 2003 -@@ -81,11 +81,11 @@ - * probability, to avoid transmitting the lengths for unused bit length codes. - */ - --#define send_code(c, tree) send_bits(tree[c].Code, tree[c].Len) -+#define send_code(c, tree) send_bits(tree[(unsigned int)c].Code, tree[(unsigned int)c].Len) - /* Send a code of the given tree. c and tree must not have side effects */ - - #define d_code(dist) \ -- ((dist) < 256 ? dist_code[dist] : dist_code[256+((dist)>>7)]) -+ ((dist) < 256 ? dist_code[(unsigned int)dist] : dist_code[(unsigned int)(256+((dist)>>7))]) - /* Mapping from a distance to a distance code. dist is the distance - 1 and - * must not have side effects. dist_code[256] and dist_code[257] are never - * used. -@@ -124,10 +124,10 @@ - { - - unsigned int n; /* iterates over tree elements */ -- int bits; /* bit counter */ -- int length; /* length value */ -- register int code; /* code value */ -- int dist; /* distance index */ -+ unsigned int bits; /* bit counter */ -+ unsigned int length; /* length value */ -+ register unsigned int code; /* code value */ -+ unsigned int dist; /* distance index */ - - compressed_len = input_len = 0L; - -@@ -135,7 +135,7 @@ - length = 0; - for (code=0; code < LENGTH_CODES-1; code++) { - base_length[code] = length; -- for (n=0; n < (1<>= 7; /* from now on, all distances are divided by 128 */ - for (; code < D_CODES; code++) { - base_dist[code] = dist << 7; -- for (n=0; n < (1<<(extra_dbits[code]-7)); n++) { -+ for (n=0; n < (1U<<(extra_dbits[code]-7)); n++) { - dist_code[256 + dist++] = (byte)code; - } - } -@@ -168,10 +168,10 @@ - /* Construct the codes of the static literal tree */ - for (bits=0; bits <= MAX_BITS; bits++) bl_count[bits] = 0; - n = 0; -- while (n <= 143) static_ltree[n++].Len = 8, bl_count[8]++; -- while (n <= 255) static_ltree[n++].Len = 9, bl_count[9]++; -- while (n <= 279) static_ltree[n++].Len = 7, bl_count[7]++; -- while (n <= 287) static_ltree[n++].Len = 8, bl_count[8]++; -+ while (n <= 143) static_ltree[n++].Len = 8, bl_count[(unsigned int)8]++; -+ while (n <= 255) static_ltree[n++].Len = 9, bl_count[(unsigned int)9]++; -+ while (n <= 279) static_ltree[n++].Len = 7, bl_count[(unsigned int)7]++; -+ while (n <= 287) static_ltree[n++].Len = 8, bl_count[(unsigned int)8]++; - /* Codes 286 and 287 do not exist, but we must include them in the tree - construction to get a canonical Huffman tree (longest code all ones) */ - gen_codes(static_ltree, L_CODES+1); -@@ -191,14 +191,14 @@ - /* Initialize a new block. */ - void CodeTree::init_block() - { -- register int n; /* iterates over tree elements */ -+ register unsigned int n; /* iterates over tree elements */ - - /* Initialize the trees. */ - for (n=0; n < L_CODES; n++) dyn_ltree[n].Freq = 0; - for (n=0; n < D_CODES; n++) dyn_dtree[n].Freq = 0; - for (n=0; n < BL_CODES; n++) bl_tree[n].Freq = 0; - -- dyn_ltree[END_BLOCK].Freq = 1; -+ dyn_ltree[(unsigned int)END_BLOCK].Freq = 1; - opt_len = static_len = 0L; - last_lit = last_dist = last_flags = 0; - flags = 0; flag_bit = 1; -@@ -213,8 +213,8 @@ - */ - #define pqremove(tree, top) \ - {\ -- top = heap[SMALLEST]; \ -- heap[SMALLEST] = heap[heap_len--]; \ -+ top = heap[(unsigned int)SMALLEST]; \ -+ heap[(unsigned int)SMALLEST] = heap[(unsigned int)heap_len--]; \ - pqdownheap(tree, SMALLEST); \ - } - -@@ -223,8 +223,8 @@ - * the subtrees have equal frequency. This minimizes the worst case length. - */ - #define smaller(tree, n, m) \ -- (tree[n].Freq < tree[m].Freq || \ -- (tree[n].Freq == tree[m].Freq && depth[n] <= depth[m])) -+ (tree[(unsigned int)n].Freq < tree[(unsigned int)m].Freq || \ -+ (tree[(unsigned int)n].Freq == tree[(unsigned int)m].Freq && depth[(unsigned int)n] <= depth[(unsigned int)m])) - - /* - * Restore the heap property by moving down the tree starting at node k, -@@ -234,26 +234,27 @@ - */ - void CodeTree::pqdownheap(ct_data *tree, int k) - { -- int v = heap[k]; -- int j = k << 1; /* left son of k */ -+ unsigned int kk = (unsigned int) k; -+ int v = heap[kk]; -+ unsigned int j = kk << 1; /* left son of k */ - int htemp; /* required because of bug in SASC compiler */ - -- while (j <= heap_len) { -+ while (j <= (unsigned int)heap_len) { - /* Set j to the smallest of the two sons: */ -- if (j < heap_len && smaller(tree, heap[j+1], heap[j])) j++; -+ if (j < (unsigned int)heap_len && smaller(tree, heap[(unsigned int)(j+1)], heap[(unsigned int)j])) j++; - - /* Exit if v is smaller than both sons */ - htemp = heap[j]; - if (smaller(tree, v, htemp)) break; - - /* Exchange v with the smallest son */ -- heap[k] = htemp; -+ heap[(unsigned int)k] = htemp; - k = j; - - /* And continue down the tree, setting j to the left son of k */ - j <<= 1; - } -- heap[k] = v; -+ heap[(unsigned int)k] = v; - } - - /* -@@ -274,9 +275,9 @@ - int max_code = desc->max_code; - int max_length = desc->max_length; - const ct_data *stree = desc->static_tree; -- int h; /* heap index */ -+ unsigned int h; /* heap index */ - int n, m; /* iterate over the tree elements */ -- int bits; /* bit length */ -+ unsigned int bits; /* bit length */ - int xbits; /* extra bits */ - word16 f; /* frequency */ - int overflow = 0; /* number of elements with bit length too large */ -@@ -286,12 +287,12 @@ - /* In a first pass, compute the optimal bit lengths (which may - * overflow in the case of the bit length tree). - */ -- tree[heap[heap_max]].Len = 0; /* root of the heap */ -+ tree[heap[(unsigned int)heap_max]].Len = 0; /* root of the heap */ - - for (h = heap_max+1; h < HEAP_SIZE; h++) { - n = heap[h]; - bits = tree[tree[n].Dad].Len + 1; -- if (bits > max_length) bits = max_length, overflow++; -+ if (bits > (unsigned int)max_length) bits = max_length, overflow++; - tree[n].Len = bits; - /* We overwrite tree[n].Dad which is no longer needed */ - -@@ -315,7 +316,7 @@ - while (bl_count[bits] == 0) bits--; - bl_count[bits]--; /* move one leaf down the tree */ - bl_count[bits+1] += 2; /* move one overflow item as its brother */ -- bl_count[max_length]--; -+ bl_count[(unsigned int)max_length]--; - /* The brother of the overflow item also moves one step up, - * but this does not affect bl_count[max_length] - */ -@@ -354,7 +355,7 @@ - { - word16 next_code[MAX_BITS+1]; /* next code value for each bit length */ - word16 code = 0; /* running code value */ -- int bits; /* bit index */ -+ unsigned int bits; /* bit index */ - int n; /* code index */ - - /* The distribution counts are first used to generate the code values -@@ -405,8 +406,8 @@ - - for (n = 0; n < elems; n++) { - if (tree[n].Freq != 0) { -- heap[++heap_len] = max_code = n; -- depth[n] = 0; -+ heap[(unsigned int)++heap_len] = max_code = n; -+ depth[(unsigned int)n] = 0; - } else { - tree[n].Len = 0; - } -@@ -418,9 +419,9 @@ - * two codes of non zero frequency. - */ - while (heap_len < 2) { -- int _new = heap[++heap_len] = (max_code < 2 ? ++max_code : 0); -+ int _new = heap[(unsigned int)++heap_len] = (max_code < 2 ? ++max_code : 0); - tree[_new].Freq = 1; -- depth[_new] = 0; -+ depth[(unsigned int)_new] = 0; - opt_len--; if (stree) static_len -= stree[_new].Len; - /* new is 0 or 1 so it does not have extra bits */ - } -@@ -436,14 +437,14 @@ - */ - do { - pqremove(tree, n); /* n = node of least frequency */ -- m = heap[SMALLEST]; /* m = node of next least frequency */ -+ m = heap[(unsigned int)SMALLEST]; /* m = node of next least frequency */ - -- heap[--heap_max] = n; /* keep the nodes sorted by frequency */ -- heap[--heap_max] = m; -+ heap[(unsigned int)--heap_max] = n; /* keep the nodes sorted by frequency */ -+ heap[(unsigned int)--heap_max] = m; - - /* Create a new node father of n and m */ - tree[node].Freq = tree[n].Freq + tree[m].Freq; -- depth[node] = (byte) (MAX(depth[n], depth[m]) + 1); -+ depth[(unsigned int)node] = (byte) (MAX(depth[(unsigned int)n], depth[(unsigned int)m]) + 1); - tree[n].Dad = tree[m].Dad = node; - #ifdef DUMP_BL_TREE - if (tree == bl_tree) { -@@ -452,12 +453,12 @@ - } - #endif - /* and insert the new node in the heap */ -- heap[SMALLEST] = node++; -+ heap[(unsigned int)SMALLEST] = node++; - pqdownheap(tree, SMALLEST); - - } while (heap_len >= 2); - -- heap[--heap_max] = heap[SMALLEST]; -+ heap[(unsigned int)--heap_max] = heap[(unsigned int)SMALLEST]; - - /* At this point, the fields freq and dad are set. We can now - * generate the bit lengths. -@@ -492,14 +493,14 @@ - if (++count < max_count && curlen == nextlen) { - continue; - } else if (count < min_count) { -- bl_tree[curlen].Freq += count; -+ bl_tree[(unsigned int)curlen].Freq += count; - } else if (curlen != 0) { -- if (curlen != prevlen) bl_tree[curlen].Freq++; -- bl_tree[REP_3_6].Freq++; -+ if (curlen != prevlen) bl_tree[(unsigned int)curlen].Freq++; -+ bl_tree[(unsigned int)REP_3_6].Freq++; - } else if (count <= 10) { -- bl_tree[REPZ_3_10].Freq++; -+ bl_tree[(unsigned int)REPZ_3_10].Freq++; - } else { -- bl_tree[REPZ_11_138].Freq++; -+ bl_tree[(unsigned int)REPZ_11_138].Freq++; - } - count = 0; prevlen = curlen; - if (nextlen == 0) { -@@ -582,7 +583,7 @@ - * 3 but the actual value used is 4.) - */ - for (max_blindex = BL_CODES-1; max_blindex >= 3; max_blindex--) { -- if (bl_tree[bl_order[max_blindex]].Len != 0) break; -+ if (bl_tree[(unsigned int)bl_order[max_blindex]].Len != 0) break; - } - /* Update opt_len to include the bit length tree and counts */ - opt_len += 3*(max_blindex+1) + 5+5+4; -@@ -608,7 +609,7 @@ - send_bits(blcodes-4, 4); - for (rank = 0; rank < blcodes; rank++) { - // Tracev((stderr, "\nbl code %2d ", bl_order[rank])); -- send_bits(bl_tree[bl_order[rank]].Len, 3); -+ send_bits(bl_tree[(unsigned int)bl_order[rank]].Len, 3); - } - // Tracev((stderr, "\nbl tree: sent %ld", bits_sent)); - -@@ -714,7 +715,7 @@ - l_buf[last_lit++] = (byte)lc; - if (dist == 0) { - /* lc is the unmatched char */ -- dyn_ltree[lc].Freq++; -+ dyn_ltree[(unsigned int)lc].Freq++; - } else { - /* Here, lc is the match length - MIN_MATCH */ - dist--; /* dist = match distance - 1 */ -@@ -722,8 +723,8 @@ - (word16)lc <= (word16)(MAX_MATCH-MIN_MATCH) && - (word16)d_code(dist) < (word16)D_CODES); - -- dyn_ltree[length_code[lc]+LITERALS+1].Freq++; -- dyn_dtree[d_code(dist)].Freq++; -+ dyn_ltree[(unsigned int)length_code[(unsigned int)lc]+LITERALS+1].Freq++; -+ dyn_dtree[(unsigned int)d_code(dist)].Freq++; - - d_buf[last_dist++] = dist; - flags |= flag_bit; -@@ -740,7 +741,7 @@ - /* Compute an upper bound for the compressed length */ - word32 out_length = (word32)last_lit*8L; - word32 in_length = (word32)strstart-block_start; -- int dcode; -+ unsigned int dcode; - for (dcode = 0; dcode < D_CODES; dcode++) { - out_length += (word32)dyn_dtree[dcode].Freq*(5L+extra_dbits[dcode]); - } -@@ -778,7 +779,7 @@ - // Tracecv(isgraph(lc), (stderr," '%c' ", lc)); - } else { - /* Here, lc is the match length - MIN_MATCH */ -- code = length_code[lc]; -+ code = length_code[(unsigned int)lc]; - /* send the length code */ - send_code(code+LITERALS+1, ltree); - if ((extra = extra_lbits[code]) != 0) { -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/db/Makefile.am tripwire-2.3.1-2/src/db/Makefile.am ---- tripwire-2.3.1-2.old/src/db/Makefile.am Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/db/Makefile.am Sun Mar 16 11:50:05 2003 -@@ -0,0 +1,13 @@ -+AUTOMAKE_OPTIONS = foreign no-dependencies -+ -+INCLUDES = -I.. @STLPORT_INCLUDE@ -+ -+noinst_LIBRARIES = libdb.a -+libdb_a_SOURCES = \ -+ blockfile.cpp blockrecordarray.cpp blockrecordfile.cpp \ -+ db.cpp hierdatabase.cpp hierdbpath.cpp stddb.cpp -+ -+DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit -+ -+all: $(noinst_LIBRARIES) -+ $(AR) ru ../../lib/libtripwire.a $(libdb_a_OBJECTS) -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/db/Makefile.in tripwire-2.3.1-2/src/db/Makefile.in ---- tripwire-2.3.1-2.old/src/db/Makefile.in Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/db/Makefile.in Mon Sep 22 09:40:55 2003 -@@ -0,0 +1,290 @@ -+# Makefile.in generated automatically by automake 1.5 from Makefile.am. -+ -+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -+# Free Software Foundation, Inc. -+# This Makefile.in is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -+# PARTICULAR PURPOSE. -+ -+@SET_MAKE@ -+ -+SHELL = @SHELL@ -+ -+srcdir = @srcdir@ -+top_srcdir = @top_srcdir@ -+VPATH = @srcdir@ -+prefix = @prefix@ -+exec_prefix = @exec_prefix@ -+ -+bindir = @bindir@ -+sbindir = @sbindir@ -+libexecdir = @libexecdir@ -+datadir = @datadir@ -+sysconfdir = @sysconfdir@ -+sharedstatedir = @sharedstatedir@ -+localstatedir = @localstatedir@ -+libdir = @libdir@ -+infodir = @infodir@ -+mandir = @mandir@ -+includedir = @includedir@ -+oldincludedir = /usr/include -+pkgdatadir = $(datadir)/@PACKAGE@ -+pkglibdir = $(libdir)/@PACKAGE@ -+pkgincludedir = $(includedir)/@PACKAGE@ -+top_builddir = ../.. -+ -+ACLOCAL = @ACLOCAL@ -+AUTOCONF = @AUTOCONF@ -+AUTOMAKE = @AUTOMAKE@ -+AUTOHEADER = @AUTOHEADER@ -+ -+INSTALL = @INSTALL@ -+INSTALL_PROGRAM = @INSTALL_PROGRAM@ -+INSTALL_DATA = @INSTALL_DATA@ -+INSTALL_SCRIPT = @INSTALL_SCRIPT@ -+INSTALL_HEADER = $(INSTALL_DATA) -+transform = @program_transform_name@ -+NORMAL_INSTALL = : -+PRE_INSTALL = : -+POST_INSTALL = : -+NORMAL_UNINSTALL = : -+PRE_UNINSTALL = : -+POST_UNINSTALL = : -+AMTAR = @AMTAR@ -+AWK = @AWK@ -+CC = @CC@ -+CORE_CRYPT_O = @CORE_CRYPT_O@ -+CXX = @CXX@ -+DEPDIR = @DEPDIR@ -+EXEEXT = @EXEEXT@ -+GMAKE = @GMAKE@ -+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -+OBJEXT = @OBJEXT@ -+PACKAGE = @PACKAGE@ -+RANLIB = @RANLIB@ -+STLPORT_INCLUDE = @STLPORT_INCLUDE@ -+STLPORT_LD = @STLPORT_LD@ -+STLPORT_LIBRARY = @STLPORT_LIBRARY@ -+STLPORT_MAKEFILE = @STLPORT_MAKEFILE@ -+STLPORT_SUBDIR = @STLPORT_SUBDIR@ -+SYSPRE = @SYSPRE@ -+VERSION = @VERSION@ -+YACC = @YACC@ -+am__include = @am__include@ -+am__quote = @am__quote@ -+install_sh = @install_sh@ -+path_to_sendmail = @path_to_sendmail@ -+path_to_vi = @path_to_vi@ -+ -+AUTOMAKE_OPTIONS = foreign no-dependencies -+ -+INCLUDES = -I.. @STLPORT_INCLUDE@ -+ -+noinst_LIBRARIES = libdb.a -+libdb_a_SOURCES = \ -+ blockfile.cpp blockrecordarray.cpp blockrecordfile.cpp \ -+ db.cpp hierdatabase.cpp hierdbpath.cpp stddb.cpp -+ -+ -+DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit -+subdir = src/db -+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -+CONFIG_HEADER = $(top_builddir)/config.h -+CONFIG_CLEAN_FILES = -+LIBRARIES = $(noinst_LIBRARIES) -+ -+libdb_a_AR = $(AR) cru -+libdb_a_LIBADD = -+am_libdb_a_OBJECTS = blockfile.$(OBJEXT) blockrecordarray.$(OBJEXT) \ -+ blockrecordfile.$(OBJEXT) db.$(OBJEXT) hierdatabase.$(OBJEXT) \ -+ hierdbpath.$(OBJEXT) stddb.$(OBJEXT) -+libdb_a_OBJECTS = $(am_libdb_a_OBJECTS) -+DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -+CPPFLAGS = @CPPFLAGS@ -+LDFLAGS = @LDFLAGS@ -+LIBS = @LIBS@ -+depcomp = -+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -+CXXLD = $(CXX) -+CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -+ -o $@ -+CXXFLAGS = @CXXFLAGS@ -+DIST_SOURCES = $(libdb_a_SOURCES) -+DIST_COMMON = Makefile.am Makefile.in -+SOURCES = $(libdb_a_SOURCES) -+ -+all: all-am -+ -+.SUFFIXES: -+.SUFFIXES: .cpp .o .obj -+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) -+ cd $(top_srcdir) && \ -+ $(AUTOMAKE) --foreign src/db/Makefile -+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status -+ cd $(top_builddir) && \ -+ CONFIG_HEADERS= CONFIG_LINKS= \ -+ CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -+ -+AR = ar -+ -+clean-noinstLIBRARIES: -+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) -+libdb.a: $(libdb_a_OBJECTS) $(libdb_a_DEPENDENCIES) -+ -rm -f libdb.a -+ $(libdb_a_AR) libdb.a $(libdb_a_OBJECTS) $(libdb_a_LIBADD) -+ $(RANLIB) libdb.a -+ -+mostlyclean-compile: -+ -rm -f *.$(OBJEXT) core *.core -+ -+distclean-compile: -+ -rm -f *.tab.c -+ -+.cpp.o: -+ $(CXXCOMPILE) -c -o $@ $< -+ -+.cpp.obj: -+ $(CXXCOMPILE) -c -o $@ `cygpath -w $<` -+uninstall-info-am: -+ -+tags: TAGS -+ -+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) -+ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ -+ unique=`for i in $$list; do \ -+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+ done | \ -+ $(AWK) ' { files[$$0] = 1; } \ -+ END { for (i in files) print i; }'`; \ -+ mkid -fID $$unique $(LISP) -+ -+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ -+ $(TAGS_FILES) $(LISP) -+ tags=; \ -+ here=`pwd`; \ -+ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ -+ unique=`for i in $$list; do \ -+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+ done | \ -+ $(AWK) ' { files[$$0] = 1; } \ -+ END { for (i in files) print i; }'`; \ -+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ -+ || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -+ -+GTAGS: -+ here=`CDPATH=: && cd $(top_builddir) && pwd` \ -+ && cd $(top_srcdir) \ -+ && gtags -i $(GTAGS_ARGS) $$here -+ -+distclean-tags: -+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH -+ -+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -+ -+top_distdir = ../.. -+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) -+ -+distdir: $(DISTFILES) -+ @for file in $(DISTFILES); do \ -+ if test -f $$file; then d=.; else d=$(srcdir); fi; \ -+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ -+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ -+ $(mkinstalldirs) "$(distdir)/$$dir"; \ -+ fi; \ -+ if test -d $$d/$$file; then \ -+ cp -pR $$d/$$file $(distdir) \ -+ || exit 1; \ -+ else \ -+ test -f $(distdir)/$$file \ -+ || cp -p $$d/$$file $(distdir)/$$file \ -+ || exit 1; \ -+ fi; \ -+ done -+check-am: all-am -+check: check-am -+all-am: Makefile $(LIBRARIES) -+ -+installdirs: -+ -+install: install-am -+install-exec: install-exec-am -+install-data: install-data-am -+uninstall: uninstall-am -+ -+install-am: all-am -+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -+ -+installcheck: installcheck-am -+install-strip: -+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ -+ `test -z '$(STRIP)' || \ -+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -+mostlyclean-generic: -+ -+clean-generic: -+ -+distclean-generic: -+ -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* -+ -+maintainer-clean-generic: -+ @echo "This command is intended for maintainers to use" -+ @echo "it deletes files that may require special tools to rebuild." -+clean: clean-am -+ -+clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am -+ -+distclean: distclean-am -+ -+distclean-am: clean-am distclean-compile distclean-generic \ -+ distclean-tags -+ -+dvi: dvi-am -+ -+dvi-am: -+ -+info: info-am -+ -+info-am: -+ -+install-data-am: -+ -+install-exec-am: -+ -+install-info: install-info-am -+ -+install-man: -+ -+installcheck-am: -+ -+maintainer-clean: maintainer-clean-am -+ -+maintainer-clean-am: distclean-am maintainer-clean-generic -+ -+mostlyclean: mostlyclean-am -+ -+mostlyclean-am: mostlyclean-compile mostlyclean-generic -+ -+uninstall-am: uninstall-info-am -+ -+.PHONY: GTAGS all all-am check check-am clean clean-generic \ -+ clean-noinstLIBRARIES distclean distclean-compile \ -+ distclean-generic distclean-tags distdir dvi dvi-am info \ -+ info-am install install-am install-data install-data-am \ -+ install-exec install-exec-am install-info install-info-am \ -+ install-man install-strip installcheck installcheck-am \ -+ installdirs maintainer-clean maintainer-clean-generic \ -+ mostlyclean mostlyclean-compile mostlyclean-generic tags \ -+ uninstall uninstall-am uninstall-info-am -+ -+ -+all: $(noinst_LIBRARIES) -+ $(AR) ru ../../lib/libtripwire.a $(libdb_a_OBJECTS) -+# Tell versions [3.59,3.63) of GNU make to not export all variables. -+# Otherwise a system limit (for SysV at least) may be exceeded. -+.NOEXPORT: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/db/block.h tripwire-2.3.1-2/src/db/block.h ---- tripwire-2.3.1-2.old/src/db/block.h Fri Oct 27 17:25:35 2000 -+++ tripwire-2.3.1-2/src/db/block.h Thu Jun 19 00:48:38 2003 -@@ -142,7 +142,7 @@ - - cBlockImpl(); - -- void SetBlockNum ( int blockNum ) { mBlockNum = blockNum; } -+ void SetBlockNum ( int blockNum ) { cBlock::mBlockNum = blockNum; } - void SetTimestamp( uint32 timestamp ) { mTimestamp = timestamp; } - uint32 GetTimestamp() const { return mTimestamp; } - -@@ -172,10 +172,10 @@ - ASSERT( mbDirty ); - ASSERT( (mBlockNum >= 0) && (((mBlockNum + 1) * SIZE) <= arch.Length()) ); - -- arch.Seek ( (mBlockNum * SIZE), cBidirArchive::BEGINNING ); -- arch.WriteBlob ( mpData, SIZE ); -+ arch.Seek ( (cBlock::mBlockNum * SIZE), cBidirArchive::BEGINNING ); -+ arch.WriteBlob ( cBlock::mpData, SIZE ); - -- mbDirty = false; -+ cBlock::mbDirty = false; - } - - /////////////////////////////////////////////////////////////////////////////// -@@ -185,16 +185,16 @@ - inline void cBlockImpl::Read( cBidirArchive& arch, int blockNum ) //throw( eArchive ) - { - if( blockNum != INVALID_NUM ) -- mBlockNum = blockNum; -+ cBlock::mBlockNum = blockNum; - - ASSERT( (mBlockNum >= 0) && (((mBlockNum + 1) * SIZE) <= arch.Length()) ); - - // std::cout << "cBlockImpl::Read() mBlockNum = " << mBlockNum << " arch.Length() = " << arch.Length() << std::endl; - -- arch.Seek ( (mBlockNum * SIZE), cBidirArchive::BEGINNING ); -- arch.ReadBlob ( mpData, SIZE ); -+ arch.Seek ( (cBlock::mBlockNum * SIZE), cBidirArchive::BEGINNING ); -+ arch.ReadBlob ( cBlock::mpData, SIZE ); - -- mbDirty = false; -+ cBlock::mbDirty = false; - } - - #endif -Only in tripwire-2.3.1-2.old/src/db: db.mak -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/db/hierdatabase.cpp tripwire-2.3.1-2/src/db/hierdatabase.cpp ---- tripwire-2.3.1-2.old/src/db/hierdatabase.cpp Sat Feb 24 21:41:13 2001 -+++ tripwire-2.3.1-2/src/db/hierdatabase.cpp Thu Aug 15 22:28:34 2002 -@@ -255,8 +255,10 @@ - } - else - { -- int offset = rhs.mIter - rhs.mEntries.begin(); -- mIter = mEntries.begin() + offset; -+ EntryArray::const_iterator p1, p2; -+ p1 = rhs.mIter; -+ p2 = rhs.mEntries.begin(); -+ mIter = mEntries.begin() + (p1 - p2); - } - - return (*this); -Only in tripwire-2.3.1-2.old/src/db: hierdatabase.cpp~ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/db/hierdbpath.cpp tripwire-2.3.1-2/src/db/hierdbpath.cpp ---- tripwire-2.3.1-2.old/src/db/hierdbpath.cpp Fri Oct 27 17:25:35 2000 -+++ tripwire-2.3.1-2/src/db/hierdbpath.cpp Thu Jun 19 14:06:25 2003 -@@ -46,7 +46,7 @@ - } - - cHierDbPath::cHierDbPath( TCHAR cDelChar, bool bCaseSensitive ) : -- mDelimitingChar( cDelChar ), mbCaseSensitive( bCaseSensitive ) -+ mbCaseSensitive( bCaseSensitive ), mDelimitingChar( cDelChar ) - { - ASSERT( mCurrPath.empty() ); - } -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/fco/Makefile.am tripwire-2.3.1-2/src/fco/Makefile.am ---- tripwire-2.3.1-2.old/src/fco/Makefile.am Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/fco/Makefile.am Sun Mar 16 11:50:05 2003 -@@ -0,0 +1,18 @@ -+AUTOMAKE_OPTIONS = foreign no-dependencies -+ -+INCLUDES = -I.. @STLPORT_INCLUDE@ -+ -+noinst_LIBRARIES = libfco.a -+libfco_a_SOURCES = \ -+ fco.cpp fcocompare.cpp fcodatasourceiter.cpp \ -+ fcodatasourceiterimpl.cpp fcoerrors.cpp fconame.cpp \ -+ fconametbl.cpp fcopropimpl.cpp fcopropvector.cpp \ -+ fcosetimpl.cpp fcospec.cpp fcospecattr.cpp fcospechelper.cpp \ -+ fcospecimpl.cpp fcospeclist.cpp fcospecutil.cpp fcostrings.cpp \ -+ fcoundefprop.cpp genreinfo.cpp genrespeclist.cpp \ -+ genreswitcher.cpp signature.cpp stdfco.cpp twfactory.cpp -+ -+DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit -+ -+all: $(noinst_LIBRARIES) -+ $(AR) ru ../../lib/libtripwire.a $(libfco_a_OBJECTS) -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/fco/Makefile.in tripwire-2.3.1-2/src/fco/Makefile.in ---- tripwire-2.3.1-2.old/src/fco/Makefile.in Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/fco/Makefile.in Mon Sep 22 09:40:55 2003 -@@ -0,0 +1,302 @@ -+# Makefile.in generated automatically by automake 1.5 from Makefile.am. -+ -+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -+# Free Software Foundation, Inc. -+# This Makefile.in is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -+# PARTICULAR PURPOSE. -+ -+@SET_MAKE@ -+ -+SHELL = @SHELL@ -+ -+srcdir = @srcdir@ -+top_srcdir = @top_srcdir@ -+VPATH = @srcdir@ -+prefix = @prefix@ -+exec_prefix = @exec_prefix@ -+ -+bindir = @bindir@ -+sbindir = @sbindir@ -+libexecdir = @libexecdir@ -+datadir = @datadir@ -+sysconfdir = @sysconfdir@ -+sharedstatedir = @sharedstatedir@ -+localstatedir = @localstatedir@ -+libdir = @libdir@ -+infodir = @infodir@ -+mandir = @mandir@ -+includedir = @includedir@ -+oldincludedir = /usr/include -+pkgdatadir = $(datadir)/@PACKAGE@ -+pkglibdir = $(libdir)/@PACKAGE@ -+pkgincludedir = $(includedir)/@PACKAGE@ -+top_builddir = ../.. -+ -+ACLOCAL = @ACLOCAL@ -+AUTOCONF = @AUTOCONF@ -+AUTOMAKE = @AUTOMAKE@ -+AUTOHEADER = @AUTOHEADER@ -+ -+INSTALL = @INSTALL@ -+INSTALL_PROGRAM = @INSTALL_PROGRAM@ -+INSTALL_DATA = @INSTALL_DATA@ -+INSTALL_SCRIPT = @INSTALL_SCRIPT@ -+INSTALL_HEADER = $(INSTALL_DATA) -+transform = @program_transform_name@ -+NORMAL_INSTALL = : -+PRE_INSTALL = : -+POST_INSTALL = : -+NORMAL_UNINSTALL = : -+PRE_UNINSTALL = : -+POST_UNINSTALL = : -+AMTAR = @AMTAR@ -+AWK = @AWK@ -+CC = @CC@ -+CORE_CRYPT_O = @CORE_CRYPT_O@ -+CXX = @CXX@ -+DEPDIR = @DEPDIR@ -+EXEEXT = @EXEEXT@ -+GMAKE = @GMAKE@ -+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -+OBJEXT = @OBJEXT@ -+PACKAGE = @PACKAGE@ -+RANLIB = @RANLIB@ -+STLPORT_INCLUDE = @STLPORT_INCLUDE@ -+STLPORT_LD = @STLPORT_LD@ -+STLPORT_LIBRARY = @STLPORT_LIBRARY@ -+STLPORT_MAKEFILE = @STLPORT_MAKEFILE@ -+STLPORT_SUBDIR = @STLPORT_SUBDIR@ -+SYSPRE = @SYSPRE@ -+VERSION = @VERSION@ -+YACC = @YACC@ -+am__include = @am__include@ -+am__quote = @am__quote@ -+install_sh = @install_sh@ -+path_to_sendmail = @path_to_sendmail@ -+path_to_vi = @path_to_vi@ -+ -+AUTOMAKE_OPTIONS = foreign no-dependencies -+ -+INCLUDES = -I.. @STLPORT_INCLUDE@ -+ -+noinst_LIBRARIES = libfco.a -+libfco_a_SOURCES = \ -+ fco.cpp fcocompare.cpp fcodatasourceiter.cpp \ -+ fcodatasourceiterimpl.cpp fcoerrors.cpp fconame.cpp \ -+ fconametbl.cpp fcopropimpl.cpp fcopropvector.cpp \ -+ fcosetimpl.cpp fcospec.cpp fcospecattr.cpp fcospechelper.cpp \ -+ fcospecimpl.cpp fcospeclist.cpp fcospecutil.cpp fcostrings.cpp \ -+ fcoundefprop.cpp genreinfo.cpp genrespeclist.cpp \ -+ genreswitcher.cpp signature.cpp stdfco.cpp twfactory.cpp -+ -+ -+DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit -+subdir = src/fco -+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -+CONFIG_HEADER = $(top_builddir)/config.h -+CONFIG_CLEAN_FILES = -+LIBRARIES = $(noinst_LIBRARIES) -+ -+libfco_a_AR = $(AR) cru -+libfco_a_LIBADD = -+am_libfco_a_OBJECTS = fco.$(OBJEXT) fcocompare.$(OBJEXT) \ -+ fcodatasourceiter.$(OBJEXT) fcodatasourceiterimpl.$(OBJEXT) \ -+ fcoerrors.$(OBJEXT) fconame.$(OBJEXT) fconametbl.$(OBJEXT) \ -+ fcopropimpl.$(OBJEXT) fcopropvector.$(OBJEXT) \ -+ fcosetimpl.$(OBJEXT) fcospec.$(OBJEXT) fcospecattr.$(OBJEXT) \ -+ fcospechelper.$(OBJEXT) fcospecimpl.$(OBJEXT) \ -+ fcospeclist.$(OBJEXT) fcospecutil.$(OBJEXT) \ -+ fcostrings.$(OBJEXT) fcoundefprop.$(OBJEXT) genreinfo.$(OBJEXT) \ -+ genrespeclist.$(OBJEXT) genreswitcher.$(OBJEXT) \ -+ signature.$(OBJEXT) stdfco.$(OBJEXT) twfactory.$(OBJEXT) -+libfco_a_OBJECTS = $(am_libfco_a_OBJECTS) -+DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -+CPPFLAGS = @CPPFLAGS@ -+LDFLAGS = @LDFLAGS@ -+LIBS = @LIBS@ -+depcomp = -+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -+CXXLD = $(CXX) -+CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -+ -o $@ -+CXXFLAGS = @CXXFLAGS@ -+DIST_SOURCES = $(libfco_a_SOURCES) -+DIST_COMMON = Makefile.am Makefile.in -+SOURCES = $(libfco_a_SOURCES) -+ -+all: all-am -+ -+.SUFFIXES: -+.SUFFIXES: .cpp .o .obj -+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) -+ cd $(top_srcdir) && \ -+ $(AUTOMAKE) --foreign src/fco/Makefile -+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status -+ cd $(top_builddir) && \ -+ CONFIG_HEADERS= CONFIG_LINKS= \ -+ CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -+ -+AR = ar -+ -+clean-noinstLIBRARIES: -+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) -+libfco.a: $(libfco_a_OBJECTS) $(libfco_a_DEPENDENCIES) -+ -rm -f libfco.a -+ $(libfco_a_AR) libfco.a $(libfco_a_OBJECTS) $(libfco_a_LIBADD) -+ $(RANLIB) libfco.a -+ -+mostlyclean-compile: -+ -rm -f *.$(OBJEXT) core *.core -+ -+distclean-compile: -+ -rm -f *.tab.c -+ -+.cpp.o: -+ $(CXXCOMPILE) -c -o $@ $< -+ -+.cpp.obj: -+ $(CXXCOMPILE) -c -o $@ `cygpath -w $<` -+uninstall-info-am: -+ -+tags: TAGS -+ -+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) -+ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ -+ unique=`for i in $$list; do \ -+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+ done | \ -+ $(AWK) ' { files[$$0] = 1; } \ -+ END { for (i in files) print i; }'`; \ -+ mkid -fID $$unique $(LISP) -+ -+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ -+ $(TAGS_FILES) $(LISP) -+ tags=; \ -+ here=`pwd`; \ -+ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ -+ unique=`for i in $$list; do \ -+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+ done | \ -+ $(AWK) ' { files[$$0] = 1; } \ -+ END { for (i in files) print i; }'`; \ -+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ -+ || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -+ -+GTAGS: -+ here=`CDPATH=: && cd $(top_builddir) && pwd` \ -+ && cd $(top_srcdir) \ -+ && gtags -i $(GTAGS_ARGS) $$here -+ -+distclean-tags: -+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH -+ -+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -+ -+top_distdir = ../.. -+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) -+ -+distdir: $(DISTFILES) -+ @for file in $(DISTFILES); do \ -+ if test -f $$file; then d=.; else d=$(srcdir); fi; \ -+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ -+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ -+ $(mkinstalldirs) "$(distdir)/$$dir"; \ -+ fi; \ -+ if test -d $$d/$$file; then \ -+ cp -pR $$d/$$file $(distdir) \ -+ || exit 1; \ -+ else \ -+ test -f $(distdir)/$$file \ -+ || cp -p $$d/$$file $(distdir)/$$file \ -+ || exit 1; \ -+ fi; \ -+ done -+check-am: all-am -+check: check-am -+all-am: Makefile $(LIBRARIES) -+ -+installdirs: -+ -+install: install-am -+install-exec: install-exec-am -+install-data: install-data-am -+uninstall: uninstall-am -+ -+install-am: all-am -+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -+ -+installcheck: installcheck-am -+install-strip: -+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ -+ `test -z '$(STRIP)' || \ -+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -+mostlyclean-generic: -+ -+clean-generic: -+ -+distclean-generic: -+ -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* -+ -+maintainer-clean-generic: -+ @echo "This command is intended for maintainers to use" -+ @echo "it deletes files that may require special tools to rebuild." -+clean: clean-am -+ -+clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am -+ -+distclean: distclean-am -+ -+distclean-am: clean-am distclean-compile distclean-generic \ -+ distclean-tags -+ -+dvi: dvi-am -+ -+dvi-am: -+ -+info: info-am -+ -+info-am: -+ -+install-data-am: -+ -+install-exec-am: -+ -+install-info: install-info-am -+ -+install-man: -+ -+installcheck-am: -+ -+maintainer-clean: maintainer-clean-am -+ -+maintainer-clean-am: distclean-am maintainer-clean-generic -+ -+mostlyclean: mostlyclean-am -+ -+mostlyclean-am: mostlyclean-compile mostlyclean-generic -+ -+uninstall-am: uninstall-info-am -+ -+.PHONY: GTAGS all all-am check check-am clean clean-generic \ -+ clean-noinstLIBRARIES distclean distclean-compile \ -+ distclean-generic distclean-tags distdir dvi dvi-am info \ -+ info-am install install-am install-data install-data-am \ -+ install-exec install-exec-am install-info install-info-am \ -+ install-man install-strip installcheck installcheck-am \ -+ installdirs maintainer-clean maintainer-clean-generic \ -+ mostlyclean mostlyclean-compile mostlyclean-generic tags \ -+ uninstall uninstall-am uninstall-info-am -+ -+ -+all: $(noinst_LIBRARIES) -+ $(AR) ru ../../lib/libtripwire.a $(libfco_a_OBJECTS) -+# Tell versions [3.59,3.63) of GNU make to not export all variables. -+# Otherwise a system limit (for SysV at least) may be exceeded. -+.NOEXPORT: -Only in tripwire-2.3.1-2.old/src/fco: fco.mak -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/fco/fcogenre.h tripwire-2.3.1-2/src/fco/fcogenre.h ---- tripwire-2.3.1-2.old/src/fco/fcogenre.h Fri Oct 27 17:25:40 2000 -+++ tripwire-2.3.1-2/src/fco/fcogenre.h Sun Mar 18 03:16:15 2001 -@@ -86,8 +86,6 @@ - GENRE_INVALID = 0x00000000 - }; - --private: -- - //---------------------------------------- - // don't let C++ create default functions - //---------------------------------------- -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/fco/fconame.cpp tripwire-2.3.1-2/src/fco/fconame.cpp ---- tripwire-2.3.1-2.old/src/fco/fconame.cpp Fri Oct 27 17:25:41 2000 -+++ tripwire-2.3.1-2/src/fco/fconame.cpp Thu Aug 15 15:11:38 2002 -@@ -269,7 +269,8 @@ - - mpPathName->ClearList(); - -- TSTRING::const_iterator at = ( pszin + 0 ); -+ TSTRING ats = const_cast(pszin + 0); -+ TSTRING::const_iterator at = ats.begin(); - TSTRING::const_iterator end = at; - while ( *end ) ++end; // NOTE: Find end - -@@ -277,9 +278,9 @@ - while ( at < end ) - { - while ( !(*at == mDelimiter) && at < end ) -- at = tss::strinc( at ); -+ at = *at ? at + 1 : at; - -- if ( at == beg && tss::strinc(at) >= end && at != pszin ) -+ if ( at == beg && (*at ? at + 1 : at) >= end && at != ats.begin() ) - break; - - cFCONameTblNode* pNode = -@@ -287,7 +288,7 @@ - - mpPathName->mNames.push_back( pNode ); - -- beg = ( at = tss::strinc( at ) ); -+ beg = ( at = (*at ? at + 1 : at) ); - } - } - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/fco/fconame.h tripwire-2.3.1-2/src/fco/fconame.h ---- tripwire-2.3.1-2.old/src/fco/fconame.h Fri Oct 27 17:25:40 2000 -+++ tripwire-2.3.1-2/src/fco/fconame.h Thu Jun 19 21:50:18 2003 -@@ -64,7 +64,7 @@ - explicit cFCOName(const TCHAR* rhs, iFCONameInfo* iNI = NULL); - // these ctors are explicit because it is expensive to create these things, so we don't want to - // do it unexpectedly -- ~cFCOName(); -+ virtual ~cFCOName(); - - void operator = (const cFCOName& rhs); - void operator = (const TSTRING& rhs); -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/fco/fcopropvector.h tripwire-2.3.1-2/src/fco/fcopropvector.h ---- tripwire-2.3.1-2.old/src/fco/fcopropvector.h Fri Oct 27 17:25:40 2000 -+++ tripwire-2.3.1-2/src/fco/fcopropvector.h Thu Jun 19 21:50:18 2003 -@@ -51,7 +51,7 @@ - public: - cFCOPropVector (int size = 32); - cFCOPropVector (const cFCOPropVector& rhs); -- ~cFCOPropVector (void); -+ virtual ~cFCOPropVector (void); - bool operator== (const cFCOPropVector& rhs) const; - bool operator!= (const cFCOPropVector& rhs) const; - cFCOPropVector& operator= (const cFCOPropVector& rhs); -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/fco/fcospecattr.h tripwire-2.3.1-2/src/fco/fcospecattr.h ---- tripwire-2.3.1-2.old/src/fco/fcospecattr.h Fri Oct 27 17:25:41 2000 -+++ tripwire-2.3.1-2/src/fco/fcospecattr.h Thu Jun 19 14:06:25 2003 -@@ -81,9 +81,9 @@ - cFCOSpecAttr (const cFCOSpecAttr& rhs); // not impl - void operator= (const cFCOSpecAttr& rhs); // not impl - -- int32 mSeverity; // the severity level - std::list mEmailAddrs; // the email addresses of people to be notified - TSTRING mName; // the name of the spec -+ int32 mSeverity; // the severity level - - friend class cFCOSpecAttrEmailIter; - }; -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/fco/fcospecimpl.h tripwire-2.3.1-2/src/fco/fcospecimpl.h ---- tripwire-2.3.1-2.old/src/fco/fcospecimpl.h Fri Oct 27 17:25:39 2000 -+++ tripwire-2.3.1-2/src/fco/fcospecimpl.h Sun Mar 18 04:19:01 2001 -@@ -94,11 +94,11 @@ - virtual void Read (iSerializer* pSerializer, int32 version = 0); // throw (eSerializer, eArchive) - virtual void Write(iSerializer* pSerializer) const; // throw (eSerializer, eArchive) - --private: -- -+ - virtual ~cFCOSpecImpl(); - // only destroy with Release(). Don't create on the stack. -- -+private: -+ - TSTRING mName; - cFCOPropVector mPropVector; - iFCOSpecHelper* mpHelper; -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/fco/fcospeclist.h tripwire-2.3.1-2/src/fco/fcospeclist.h ---- tripwire-2.3.1-2.old/src/fco/fcospeclist.h Fri Oct 27 17:25:40 2000 -+++ tripwire-2.3.1-2/src/fco/fcospeclist.h Thu Jun 19 21:50:18 2003 -@@ -66,7 +66,7 @@ - public: - cFCOSpecList(); - cFCOSpecList(const cFCOSpecList& rhs); -- ~cFCOSpecList(); -+ virtual ~cFCOSpecList(); - - const cFCOSpecList& operator = (const cFCOSpecList& rhs); - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/fco/genreswitcher.h tripwire-2.3.1-2/src/fco/genreswitcher.h ---- tripwire-2.3.1-2.old/src/fco/genreswitcher.h Fri Oct 27 17:25:40 2000 -+++ tripwire-2.3.1-2/src/fco/genreswitcher.h Thu Jun 19 14:06:25 2003 -@@ -152,9 +152,9 @@ - //------------------------------------------------------------- - // Private Data Members - //------------------------------------------------------------- -+ const cGenreInfo* m_pDefaultGenre; // points to the default registered genre - cGenreInfoVec m_vGenres; // stores all registered genre information - cGenre::Genre m_curGenre; // points to the current genre -- const cGenreInfo* m_pDefaultGenre; // points to the default registered genre - }; - - #endif //__GENRESWITCHER_H -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/fco/signature.cpp tripwire-2.3.1-2/src/fco/signature.cpp ---- tripwire-2.3.1-2.old/src/fco/signature.cpp Fri Oct 27 17:25:39 2000 -+++ tripwire-2.3.1-2/src/fco/signature.cpp Thu Jun 5 14:58:53 2003 -@@ -36,15 +36,16 @@ - #include "stdfco.h" - #include "signature.h" - #include "core/errorgeneral.h" --#include "core/md5.h" --#include "core/crc32.h" - #include "core/serializer.h" --#include "core/sha.h" --#include "core/haval.h" - #include - #include - #include "fcoundefprop.h" - #include "core/archive.h" -+#ifndef HAVE_OPENSSL_MD5_H -+# ifdef HAVE_STRINGS_H -+# include /* for bcopy(), this is only needed for Solaris */ -+# endif -+#endif - - using namespace std; - -@@ -464,6 +465,7 @@ - cMD5Signature::cMD5Signature() - { - memset( mMD5Info.digest, 0, sizeof( mMD5Info.digest ) ); -+ memset( md5_digest, 0, MD5_DIGEST_LENGTH ); - } - - cMD5Signature::~cMD5Signature() -@@ -472,17 +474,30 @@ - - void cMD5Signature::Init() - { -+#ifdef HAVE_OPENSSL_MD5_H -+ MD5_Init( &mMD5Info ); -+#else - MD5Init( &mMD5Info ); -+#endif - } - - void cMD5Signature::Update( const byte* pbData, int cbDataLen ) - { -+#ifdef HAVE_OPENSSL_MD5_H -+ MD5_Update( &mMD5Info, (uint8*)pbData, cbDataLen ); -+#else - MD5Update( &mMD5Info, (uint8*)pbData, cbDataLen ); -+#endif - } - - void cMD5Signature::Finit() - { -+#ifdef HAVE_OPENSSL_MD5_H -+ MD5_Final( md5_digest, &mMD5Info ); -+#else - MD5Final( &mMD5Info ); -+ bcopy(mMD5Info.digest, md5_digest, MD5_DIGEST_LENGTH); -+#endif - } - - //////////////////////////////////////////////////////////////////////////////// -@@ -491,11 +506,12 @@ - { - TSTRING ret; - char buf[24]; -+ int length; - - ASSERT( sizeof( uint8 ) == sizeof( byte ) ); /* everything breaks otherwise */ -- btob64((byte*)mMD5Info.digest, buf, 128); -+ btob64((byte*)md5_digest, buf, SIG_BYTE_SIZE*8); - //converting to base64 representation. -- int length = strlen(buf); -+ length = strlen(buf); - - #ifdef _UNICODE //making it TSTRING sensitive - ret.resize(length); -@@ -515,10 +531,11 @@ - TCHAR stringBuffer[128]; - TCHAR sigStringOut[128]; - sigStringOut[0] = '\0'; -+ uint8 *dbuf = (uint8 *)md5_digest; - - for(int i = 0; i < SIG_BYTE_SIZE; ++i) - { -- _stprintf(stringBuffer, _T("%02lx"), mMD5Info.digest[i]); -+ _stprintf(stringBuffer, _T("%02lx"), dbuf[i]); - _tcscat(sigStringOut, stringBuffer); - } - ret.append(sigStringOut); -@@ -531,7 +548,7 @@ - if (this == &rhs) - return true; - else { -- return (memcmp(mMD5Info.digest, ((cMD5Signature&)rhs).mMD5Info.digest, SIG_BYTE_SIZE) == 0); -+ return (memcmp(md5_digest, ((cMD5Signature&)rhs).md5_digest, SIG_BYTE_SIZE) == 0); - } - } - -@@ -540,12 +557,12 @@ - if (version > Version()) - ThrowAndAssert(eSerializerVersionMismatch(_T("MD5 Read"))); - -- pSerializer->ReadBlob(mMD5Info.digest, SIG_BYTE_SIZE); -+ pSerializer->ReadBlob(md5_digest, SIG_BYTE_SIZE); - } - - void cMD5Signature::Write(iSerializer* pSerializer) const - { -- pSerializer->WriteBlob(mMD5Info.digest, SIG_BYTE_SIZE); -+ pSerializer->WriteBlob(md5_digest, SIG_BYTE_SIZE); - } - - /////////////////////////////////////////////////////////////////////////////// -@@ -554,7 +571,7 @@ - void cMD5Signature::Copy(const iFCOProp* rhs) - { - ASSERT(GetType() == rhs->GetType()); -- memcpy(&mMD5Info.digest, &(static_cast(rhs)->mMD5Info.digest), SIG_BYTE_SIZE); -+ memcpy(md5_digest, &(static_cast(rhs)->md5_digest), SIG_BYTE_SIZE); - } - - /////////////////////////////////////////////////////////////////////////////// -@@ -565,7 +582,8 @@ - - cSHASignature::cSHASignature() - { -- memset( mSHAInfo.digest, 0, sizeof( mSHAInfo.digest ) ); -+ memset( &mSHAInfo, 0, sizeof( mSHAInfo ) ); -+ memset( sha_digest, 0, SHA_DIGEST_LENGTH ); - } - - cSHASignature::~cSHASignature() -@@ -573,18 +591,47 @@ - - void cSHASignature::Init() - { -+#ifdef HAVE_OPENSSL_SHA_H -+ SHA1_Init( &mSHAInfo ); -+#else - shsInit( &mSHAInfo ); -+#endif - } - - void cSHASignature::Update( const byte* pbData, int cbDataLen ) - { - ASSERT( sizeof( byte ) == sizeof( uint8 ) ); -+#ifdef HAVE_OPENSSL_SHA_H -+ SHA1_Update( &mSHAInfo, (uint8*)pbData, cbDataLen ); -+#else - shsUpdate( &mSHAInfo, (uint8*)pbData, cbDataLen ); -+#endif - } - - void cSHASignature::Finit() - { -+#ifdef HAVE_OPENSSL_SHA_H -+ SHA1_Final( (unsigned char *)sha_digest, &mSHAInfo ); -+ memset( &mSHAInfo, 0, sizeof( mSHAInfo ) ); -+#else - shsFinal( &mSHAInfo ); -+ bcopy(&mSHAInfo.digest, sha_digest, SHA_DIGEST_LENGTH); -+ { -+ /* sha_digest is a byte array, so can't be in -+ * host order. -+ */ -+ int i; -+ uint32 *j = (uint32 *)sha_digest; -+ uint32 *k = (uint32 *)&mSHAInfo.digest; -+ for(int i=0; i> 8) & 0xff00 ) | ( (k[i] >> 24) & 0x00ff ); -+# endif //WORDS_BIGENDIAN -+ } -+#endif - } - - //////////////////////////////////////////////////////////////////////////////// -@@ -594,10 +641,11 @@ - TSTRING ret; - char* ps_signature; - char buf[100]; -+ int length; - -- ps_signature = pltob64((uint32*)mSHAInfo.digest, buf, SIG_UINT32_SIZE); -+ ps_signature = btob64((uint8*)sha_digest, buf, SIG_UINT32_SIZE*sizeof(uint32)*8); - //converting to base64 representation. -- int length = strlen(ps_signature); -+ length = strlen(ps_signature); - - #ifdef _UNICODE //making it TSTRING sensitive - ret.resize(length); -@@ -616,10 +664,11 @@ - TCHAR stringBuffer[128]; - TCHAR sigStringOut[128]; - sigStringOut[0] = '\0'; -+ uint8 *dbuf = (uint8 *)sha_digest; - -- for (int i=0; i < SIG_UINT32_SIZE; ++i) -+ for (int i=0; i < SIG_UINT32_SIZE*(int)sizeof(uint32); ++i) - { -- _stprintf(stringBuffer, _T("%08x"), mSHAInfo.digest[i]); -+ _stprintf(stringBuffer, _T("%02x"), dbuf[i]); - _tcscat(sigStringOut, stringBuffer); - } - ret.append(sigStringOut); -@@ -700,10 +749,11 @@ - { - TSTRING ret; - char buf[24]; -+ int length; - - btob64((byte*)mSignature, buf, 128); - //converting to base64 representation. -- int length = strlen(buf); -+ length = strlen(buf); - - #ifdef _UNICODE //making it TSTRING sensitive - ret.resize(length); -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/fco/signature.h tripwire-2.3.1-2/src/fco/signature.h ---- tripwire-2.3.1-2.old/src/fco/signature.h Fri Oct 27 17:25:41 2000 -+++ tripwire-2.3.1-2/src/fco/signature.h Sun Mar 18 12:48:22 2001 -@@ -50,8 +50,27 @@ - - #include - #include "core/crc32.h" --#include "core/sha.h" --#include "core/md5.h" -+ -+#ifdef HAVE_OPENSSL_MD5_H -+# include -+# define digest data -+#else -+# include "core/md5.h" -+# ifndef MD5_DIGEST_LENGTH -+# define MD5_DIGEST_LENGTH 16 -+# endif -+#endif -+ -+#ifdef HAVE_OPENSSL_SHA_H -+# include -+#else -+# include "core/sha.h" -+# define SHA_CTX SHS_INFO -+# ifndef SHA_DIGEST_LENGTH -+# define SHA_DIGEST_LENGTH 20 -+# endif -+#endif -+ - #include "core/haval.h" - // TODO: figure out a way to do this without including these headers. - // pool of objects? -@@ -243,10 +262,11 @@ - virtual void Write(iSerializer* pSerializer) const; // throw (eSerializer, eArchive) - - protected: -- enum { SIG_BYTE_SIZE = 16 }; -+ enum { SIG_BYTE_SIZE = MD5_DIGEST_LENGTH }; - - virtual bool IsEqual(const iSignature& rhs) const; -- MD5_CTX mMD5Info; -+ MD5_CTX mMD5Info; -+ uint8 md5_digest[MD5_DIGEST_LENGTH]; - }; - - /////////////////////////////////////////////////////////////////////////////// -@@ -271,11 +291,12 @@ - virtual void Write(iSerializer* pSerializer) const; - - protected: -- enum { SIG_UINT32_SIZE = 5 }; -+ enum { SIG_UINT32_SIZE = SHA_DIGEST_LENGTH/4 }; - -- SHS_INFO mSHAInfo; -+ SHA_CTX mSHAInfo; - -- virtual bool IsEqual(const iSignature& rhs) const; -+ virtual bool IsEqual(const iSignature& rhs) const; -+ uint32 sha_digest[SHA_DIGEST_LENGTH/4]; - }; - - /////////////////////////////////////////////////////////////////////////////// -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/fs/Makefile.am tripwire-2.3.1-2/src/fs/Makefile.am ---- tripwire-2.3.1-2.old/src/fs/Makefile.am Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/fs/Makefile.am Sun Mar 16 11:50:05 2003 -@@ -0,0 +1,15 @@ -+AUTOMAKE_OPTIONS = foreign no-dependencies -+ -+INCLUDES = -I.. @STLPORT_INCLUDE@ -+ -+noinst_LIBRARIES = libfs.a -+libfs_a_SOURCES = \ -+ fs.cpp fsdatasourceiter.cpp fserrors.cpp fsfactory.cpp \ -+ fsnametranslator.cpp fsobject.cpp fsparserutil.cpp \ -+ fspropcalc.cpp fspropdisplayer.cpp fspropset.cpp \ -+ fsstrings.cpp fsvisitor.cpp stdfs.cpp -+ -+DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit -+ -+all: $(noinst_LIBRARIES) -+ $(AR) ru ../../lib/libtripwire.a $(libfs_a_OBJECTS) -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/fs/Makefile.in tripwire-2.3.1-2/src/fs/Makefile.in ---- tripwire-2.3.1-2.old/src/fs/Makefile.in Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/fs/Makefile.in Mon Sep 22 09:40:56 2003 -@@ -0,0 +1,295 @@ -+# Makefile.in generated automatically by automake 1.5 from Makefile.am. -+ -+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -+# Free Software Foundation, Inc. -+# This Makefile.in is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -+# PARTICULAR PURPOSE. -+ -+@SET_MAKE@ -+ -+SHELL = @SHELL@ -+ -+srcdir = @srcdir@ -+top_srcdir = @top_srcdir@ -+VPATH = @srcdir@ -+prefix = @prefix@ -+exec_prefix = @exec_prefix@ -+ -+bindir = @bindir@ -+sbindir = @sbindir@ -+libexecdir = @libexecdir@ -+datadir = @datadir@ -+sysconfdir = @sysconfdir@ -+sharedstatedir = @sharedstatedir@ -+localstatedir = @localstatedir@ -+libdir = @libdir@ -+infodir = @infodir@ -+mandir = @mandir@ -+includedir = @includedir@ -+oldincludedir = /usr/include -+pkgdatadir = $(datadir)/@PACKAGE@ -+pkglibdir = $(libdir)/@PACKAGE@ -+pkgincludedir = $(includedir)/@PACKAGE@ -+top_builddir = ../.. -+ -+ACLOCAL = @ACLOCAL@ -+AUTOCONF = @AUTOCONF@ -+AUTOMAKE = @AUTOMAKE@ -+AUTOHEADER = @AUTOHEADER@ -+ -+INSTALL = @INSTALL@ -+INSTALL_PROGRAM = @INSTALL_PROGRAM@ -+INSTALL_DATA = @INSTALL_DATA@ -+INSTALL_SCRIPT = @INSTALL_SCRIPT@ -+INSTALL_HEADER = $(INSTALL_DATA) -+transform = @program_transform_name@ -+NORMAL_INSTALL = : -+PRE_INSTALL = : -+POST_INSTALL = : -+NORMAL_UNINSTALL = : -+PRE_UNINSTALL = : -+POST_UNINSTALL = : -+AMTAR = @AMTAR@ -+AWK = @AWK@ -+CC = @CC@ -+CORE_CRYPT_O = @CORE_CRYPT_O@ -+CXX = @CXX@ -+DEPDIR = @DEPDIR@ -+EXEEXT = @EXEEXT@ -+GMAKE = @GMAKE@ -+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -+OBJEXT = @OBJEXT@ -+PACKAGE = @PACKAGE@ -+RANLIB = @RANLIB@ -+STLPORT_INCLUDE = @STLPORT_INCLUDE@ -+STLPORT_LD = @STLPORT_LD@ -+STLPORT_LIBRARY = @STLPORT_LIBRARY@ -+STLPORT_MAKEFILE = @STLPORT_MAKEFILE@ -+STLPORT_SUBDIR = @STLPORT_SUBDIR@ -+SYSPRE = @SYSPRE@ -+VERSION = @VERSION@ -+YACC = @YACC@ -+am__include = @am__include@ -+am__quote = @am__quote@ -+install_sh = @install_sh@ -+path_to_sendmail = @path_to_sendmail@ -+path_to_vi = @path_to_vi@ -+ -+AUTOMAKE_OPTIONS = foreign no-dependencies -+ -+INCLUDES = -I.. @STLPORT_INCLUDE@ -+ -+noinst_LIBRARIES = libfs.a -+libfs_a_SOURCES = \ -+ fs.cpp fsdatasourceiter.cpp fserrors.cpp fsfactory.cpp \ -+ fsnametranslator.cpp fsobject.cpp fsparserutil.cpp \ -+ fspropcalc.cpp fspropdisplayer.cpp fspropset.cpp \ -+ fsstrings.cpp fsvisitor.cpp stdfs.cpp -+ -+ -+DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit -+subdir = src/fs -+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -+CONFIG_HEADER = $(top_builddir)/config.h -+CONFIG_CLEAN_FILES = -+LIBRARIES = $(noinst_LIBRARIES) -+ -+libfs_a_AR = $(AR) cru -+libfs_a_LIBADD = -+am_libfs_a_OBJECTS = fs.$(OBJEXT) fsdatasourceiter.$(OBJEXT) \ -+ fserrors.$(OBJEXT) fsfactory.$(OBJEXT) \ -+ fsnametranslator.$(OBJEXT) fsobject.$(OBJEXT) \ -+ fsparserutil.$(OBJEXT) fspropcalc.$(OBJEXT) \ -+ fspropdisplayer.$(OBJEXT) fspropset.$(OBJEXT) \ -+ fsstrings.$(OBJEXT) fsvisitor.$(OBJEXT) stdfs.$(OBJEXT) -+libfs_a_OBJECTS = $(am_libfs_a_OBJECTS) -+DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -+CPPFLAGS = @CPPFLAGS@ -+LDFLAGS = @LDFLAGS@ -+LIBS = @LIBS@ -+depcomp = -+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -+CXXLD = $(CXX) -+CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -+ -o $@ -+CXXFLAGS = @CXXFLAGS@ -+DIST_SOURCES = $(libfs_a_SOURCES) -+DIST_COMMON = Makefile.am Makefile.in -+SOURCES = $(libfs_a_SOURCES) -+ -+all: all-am -+ -+.SUFFIXES: -+.SUFFIXES: .cpp .o .obj -+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) -+ cd $(top_srcdir) && \ -+ $(AUTOMAKE) --foreign src/fs/Makefile -+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status -+ cd $(top_builddir) && \ -+ CONFIG_HEADERS= CONFIG_LINKS= \ -+ CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -+ -+AR = ar -+ -+clean-noinstLIBRARIES: -+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) -+libfs.a: $(libfs_a_OBJECTS) $(libfs_a_DEPENDENCIES) -+ -rm -f libfs.a -+ $(libfs_a_AR) libfs.a $(libfs_a_OBJECTS) $(libfs_a_LIBADD) -+ $(RANLIB) libfs.a -+ -+mostlyclean-compile: -+ -rm -f *.$(OBJEXT) core *.core -+ -+distclean-compile: -+ -rm -f *.tab.c -+ -+.cpp.o: -+ $(CXXCOMPILE) -c -o $@ $< -+ -+.cpp.obj: -+ $(CXXCOMPILE) -c -o $@ `cygpath -w $<` -+uninstall-info-am: -+ -+tags: TAGS -+ -+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) -+ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ -+ unique=`for i in $$list; do \ -+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+ done | \ -+ $(AWK) ' { files[$$0] = 1; } \ -+ END { for (i in files) print i; }'`; \ -+ mkid -fID $$unique $(LISP) -+ -+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ -+ $(TAGS_FILES) $(LISP) -+ tags=; \ -+ here=`pwd`; \ -+ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ -+ unique=`for i in $$list; do \ -+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+ done | \ -+ $(AWK) ' { files[$$0] = 1; } \ -+ END { for (i in files) print i; }'`; \ -+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ -+ || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -+ -+GTAGS: -+ here=`CDPATH=: && cd $(top_builddir) && pwd` \ -+ && cd $(top_srcdir) \ -+ && gtags -i $(GTAGS_ARGS) $$here -+ -+distclean-tags: -+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH -+ -+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -+ -+top_distdir = ../.. -+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) -+ -+distdir: $(DISTFILES) -+ @for file in $(DISTFILES); do \ -+ if test -f $$file; then d=.; else d=$(srcdir); fi; \ -+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ -+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ -+ $(mkinstalldirs) "$(distdir)/$$dir"; \ -+ fi; \ -+ if test -d $$d/$$file; then \ -+ cp -pR $$d/$$file $(distdir) \ -+ || exit 1; \ -+ else \ -+ test -f $(distdir)/$$file \ -+ || cp -p $$d/$$file $(distdir)/$$file \ -+ || exit 1; \ -+ fi; \ -+ done -+check-am: all-am -+check: check-am -+all-am: Makefile $(LIBRARIES) -+ -+installdirs: -+ -+install: install-am -+install-exec: install-exec-am -+install-data: install-data-am -+uninstall: uninstall-am -+ -+install-am: all-am -+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -+ -+installcheck: installcheck-am -+install-strip: -+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ -+ `test -z '$(STRIP)' || \ -+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -+mostlyclean-generic: -+ -+clean-generic: -+ -+distclean-generic: -+ -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* -+ -+maintainer-clean-generic: -+ @echo "This command is intended for maintainers to use" -+ @echo "it deletes files that may require special tools to rebuild." -+clean: clean-am -+ -+clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am -+ -+distclean: distclean-am -+ -+distclean-am: clean-am distclean-compile distclean-generic \ -+ distclean-tags -+ -+dvi: dvi-am -+ -+dvi-am: -+ -+info: info-am -+ -+info-am: -+ -+install-data-am: -+ -+install-exec-am: -+ -+install-info: install-info-am -+ -+install-man: -+ -+installcheck-am: -+ -+maintainer-clean: maintainer-clean-am -+ -+maintainer-clean-am: distclean-am maintainer-clean-generic -+ -+mostlyclean: mostlyclean-am -+ -+mostlyclean-am: mostlyclean-compile mostlyclean-generic -+ -+uninstall-am: uninstall-info-am -+ -+.PHONY: GTAGS all all-am check check-am clean clean-generic \ -+ clean-noinstLIBRARIES distclean distclean-compile \ -+ distclean-generic distclean-tags distdir dvi dvi-am info \ -+ info-am install install-am install-data install-data-am \ -+ install-exec install-exec-am install-info install-info-am \ -+ install-man install-strip installcheck installcheck-am \ -+ installdirs maintainer-clean maintainer-clean-generic \ -+ mostlyclean mostlyclean-compile mostlyclean-generic tags \ -+ uninstall uninstall-am uninstall-info-am -+ -+ -+all: $(noinst_LIBRARIES) -+ $(AR) ru ../../lib/libtripwire.a $(libfs_a_OBJECTS) -+# Tell versions [3.59,3.63) of GNU make to not export all variables. -+# Otherwise a system limit (for SysV at least) may be exceeded. -+.NOEXPORT: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/fs/fs.h tripwire-2.3.1-2/src/fs/fs.h ---- tripwire-2.3.1-2.old/src/fs/fs.h Sat Oct 28 12:22:55 2000 -+++ tripwire-2.3.1-2/src/fs/fs.h Thu Jun 19 14:06:25 2003 -@@ -59,8 +59,8 @@ - private: - enum { GENRE_ID = 0x00020001 }; - -- cGenreInfo fsGenre; - cFSFactory fsFactory; -+ cGenreInfo fsGenre; - - TSS_EndPackage( cFS ) - -Only in tripwire-2.3.1-2.old/src/fs: fs.mak -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/fs/fsobject.h tripwire-2.3.1-2/src/fs/fsobject.h ---- tripwire-2.3.1-2.old/src/fs/fsobject.h Fri Oct 27 17:25:35 2000 -+++ tripwire-2.3.1-2/src/fs/fsobject.h Sun Mar 18 03:16:28 2001 -@@ -88,12 +88,12 @@ - // concerns. - #endif - --private: - cFSObject(); - virtual ~cFSObject(); - // only destroy by calling Release(); Also prevents creation on the - // stack. - -+private: - cFSPropSet mPropSet; - cFCOName mName; - }; -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/fs/fspropcalc.cpp tripwire-2.3.1-2/src/fs/fspropcalc.cpp ---- tripwire-2.3.1-2.old/src/fs/fspropcalc.cpp Fri Oct 27 17:25:36 2000 -+++ tripwire-2.3.1-2/src/fs/fspropcalc.cpp Thu Jun 5 14:58:53 2003 -@@ -47,7 +47,6 @@ - - #if IS_UNIX - #include --static void util_SetFileTime( const TSTRING& strFile, time_t atime, time_t mtime, cErrorBucket* pErrorBucket ); - #endif - - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/fs/fspropcalc.h tripwire-2.3.1-2/src/fs/fspropcalc.h ---- tripwire-2.3.1-2.old/src/fs/fspropcalc.h Fri Oct 27 17:25:35 2000 -+++ tripwire-2.3.1-2/src/fs/fspropcalc.h Thu Jun 19 14:06:25 2003 -@@ -78,9 +78,9 @@ - void operator =( const cFSPropCalc& ); - - cFCOPropVector mPropVector; -- cErrorBucket* mpErrorBucket; - iFCOPropCalc::CollisionAction mCollAction; - int mCalcFlags; -+ cErrorBucket* mpErrorBucket; - }; - - inline int cFSPropCalc::GetCalcFlags() const -Only in tripwire-2.3.1-2.old/src/make_include: common_rules.mak -Only in tripwire-2.3.1-2.old/src/make_include: i386-unknown-freebsd.inc -Only in tripwire-2.3.1-2.old/src/make_include: i386-unknown-openbsd.inc -Only in tripwire-2.3.1-2.old/src/make_include: i686-pc-linux.inc -Only in tripwire-2.3.1-2.old/src/make_include: sparc-linux.inc -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/parser/tokens.l tripwire-2.3.1-2/src/parser/tokens.l ---- tripwire-2.3.1-2.old/src/parser/tokens.l Fri Oct 27 17:26:22 2000 -+++ tripwire-2.3.1-2/src/parser/tokens.l Thu Aug 15 15:11:38 2002 -@@ -47,7 +47,9 @@ - //#endif - - #include -+#ifdef HAVE_MALLOC_H - #include -+#endif - #include - - #include "core/debug.h" -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/siggen/Makefile.am tripwire-2.3.1-2/src/siggen/Makefile.am ---- tripwire-2.3.1-2.old/src/siggen/Makefile.am Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/siggen/Makefile.am Sat Jun 7 00:01:26 2003 -@@ -0,0 +1,17 @@ -+AUTOMAKE_OPTIONS = foreign no-dependencies -+AM_INSTALL_PROGRAM_FLAGS = -m 755 -+ -+INCLUDES = -I.. @STLPORT_INCLUDE@ -+LIBS = -ltripwire -lcryptlib @STLPORT_LD@ @LIBS@ -+LDFLAGS = @LDFLAGS@ -L../../lib -+ -+sbin_PROGRAMS = siggen -+siggen_SOURCES = \ -+ siggen.cpp siggencmdline.cpp siggenmain.cpp \ -+ siggenstrings.cpp stdsiggen.cpp -+ -+DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit -+CLEANFILES = ../../bin/siggen -+ -+all: $(sbin_PROGRAMS) -+ @test -d ../../bin && ln -f $(sbin_PROGRAMS) ../../bin -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/siggen/Makefile.in tripwire-2.3.1-2/src/siggen/Makefile.in ---- tripwire-2.3.1-2.old/src/siggen/Makefile.in Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/siggen/Makefile.in Mon Sep 22 09:40:56 2003 -@@ -0,0 +1,314 @@ -+# Makefile.in generated automatically by automake 1.5 from Makefile.am. -+ -+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -+# Free Software Foundation, Inc. -+# This Makefile.in is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -+# PARTICULAR PURPOSE. -+ -+@SET_MAKE@ -+ -+SHELL = @SHELL@ -+ -+srcdir = @srcdir@ -+top_srcdir = @top_srcdir@ -+VPATH = @srcdir@ -+prefix = @prefix@ -+exec_prefix = @exec_prefix@ -+ -+bindir = @bindir@ -+sbindir = @sbindir@ -+libexecdir = @libexecdir@ -+datadir = @datadir@ -+sysconfdir = @sysconfdir@ -+sharedstatedir = @sharedstatedir@ -+localstatedir = @localstatedir@ -+libdir = @libdir@ -+infodir = @infodir@ -+mandir = @mandir@ -+includedir = @includedir@ -+oldincludedir = /usr/include -+pkgdatadir = $(datadir)/@PACKAGE@ -+pkglibdir = $(libdir)/@PACKAGE@ -+pkgincludedir = $(includedir)/@PACKAGE@ -+top_builddir = ../.. -+ -+ACLOCAL = @ACLOCAL@ -+AUTOCONF = @AUTOCONF@ -+AUTOMAKE = @AUTOMAKE@ -+AUTOHEADER = @AUTOHEADER@ -+ -+INSTALL = @INSTALL@ -+INSTALL_PROGRAM = @INSTALL_PROGRAM@ -+INSTALL_DATA = @INSTALL_DATA@ -+INSTALL_SCRIPT = @INSTALL_SCRIPT@ -+INSTALL_HEADER = $(INSTALL_DATA) -+transform = @program_transform_name@ -+NORMAL_INSTALL = : -+PRE_INSTALL = : -+POST_INSTALL = : -+NORMAL_UNINSTALL = : -+PRE_UNINSTALL = : -+POST_UNINSTALL = : -+AMTAR = @AMTAR@ -+AWK = @AWK@ -+CC = @CC@ -+CORE_CRYPT_O = @CORE_CRYPT_O@ -+CXX = @CXX@ -+DEPDIR = @DEPDIR@ -+EXEEXT = @EXEEXT@ -+GMAKE = @GMAKE@ -+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -+OBJEXT = @OBJEXT@ -+PACKAGE = @PACKAGE@ -+RANLIB = @RANLIB@ -+STLPORT_INCLUDE = @STLPORT_INCLUDE@ -+STLPORT_LD = @STLPORT_LD@ -+STLPORT_LIBRARY = @STLPORT_LIBRARY@ -+STLPORT_MAKEFILE = @STLPORT_MAKEFILE@ -+STLPORT_SUBDIR = @STLPORT_SUBDIR@ -+SYSPRE = @SYSPRE@ -+VERSION = @VERSION@ -+YACC = @YACC@ -+am__include = @am__include@ -+am__quote = @am__quote@ -+install_sh = @install_sh@ -+path_to_sendmail = @path_to_sendmail@ -+path_to_vi = @path_to_vi@ -+ -+AUTOMAKE_OPTIONS = foreign no-dependencies -+AM_INSTALL_PROGRAM_FLAGS = -m 755 -+ -+INCLUDES = -I.. @STLPORT_INCLUDE@ -+LIBS = -ltripwire -lcryptlib @STLPORT_LD@ @LIBS@ -+LDFLAGS = @LDFLAGS@ -L../../lib -+ -+sbin_PROGRAMS = siggen -+siggen_SOURCES = \ -+ siggen.cpp siggencmdline.cpp siggenmain.cpp \ -+ siggenstrings.cpp stdsiggen.cpp -+ -+ -+DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit -+CLEANFILES = ../../bin/siggen -+subdir = src/siggen -+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -+CONFIG_HEADER = $(top_builddir)/config.h -+CONFIG_CLEAN_FILES = -+sbin_PROGRAMS = siggen$(EXEEXT) -+PROGRAMS = $(sbin_PROGRAMS) -+ -+am_siggen_OBJECTS = siggen.$(OBJEXT) siggencmdline.$(OBJEXT) \ -+ siggenmain.$(OBJEXT) siggenstrings.$(OBJEXT) \ -+ stdsiggen.$(OBJEXT) -+siggen_OBJECTS = $(am_siggen_OBJECTS) -+siggen_LDADD = $(LDADD) -+siggen_DEPENDENCIES = -+siggen_LDFLAGS = -+DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -+CPPFLAGS = @CPPFLAGS@ -+depcomp = -+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -+CXXLD = $(CXX) -+CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -+ -o $@ -+CXXFLAGS = @CXXFLAGS@ -+DIST_SOURCES = $(siggen_SOURCES) -+DIST_COMMON = Makefile.am Makefile.in -+SOURCES = $(siggen_SOURCES) -+ -+all: all-am -+ -+.SUFFIXES: -+.SUFFIXES: .cpp .o .obj -+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) -+ cd $(top_srcdir) && \ -+ $(AUTOMAKE) --foreign src/siggen/Makefile -+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status -+ cd $(top_builddir) && \ -+ CONFIG_HEADERS= CONFIG_LINKS= \ -+ CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -+install-sbinPROGRAMS: $(sbin_PROGRAMS) -+ @$(NORMAL_INSTALL) -+ $(mkinstalldirs) $(DESTDIR)$(sbindir) -+ @list='$(sbin_PROGRAMS)'; for p in $$list; do \ -+ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ -+ if test -f $$p \ -+ ; then \ -+ f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \ -+ echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(sbindir)/$$f"; \ -+ $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(sbindir)/$$f; \ -+ else :; fi; \ -+ done -+ -+uninstall-sbinPROGRAMS: -+ @$(NORMAL_UNINSTALL) -+ @list='$(sbin_PROGRAMS)'; for p in $$list; do \ -+ f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ -+ echo " rm -f $(DESTDIR)$(sbindir)/$$f"; \ -+ rm -f $(DESTDIR)$(sbindir)/$$f; \ -+ done -+ -+clean-sbinPROGRAMS: -+ -test -z "$(sbin_PROGRAMS)" || rm -f $(sbin_PROGRAMS) -+siggen$(EXEEXT): $(siggen_OBJECTS) $(siggen_DEPENDENCIES) -+ @rm -f siggen$(EXEEXT) -+ $(CXXLINK) $(siggen_LDFLAGS) $(siggen_OBJECTS) $(siggen_LDADD) $(LIBS) -+ -+mostlyclean-compile: -+ -rm -f *.$(OBJEXT) core *.core -+ -+distclean-compile: -+ -rm -f *.tab.c -+ -+.cpp.o: -+ $(CXXCOMPILE) -c -o $@ $< -+ -+.cpp.obj: -+ $(CXXCOMPILE) -c -o $@ `cygpath -w $<` -+uninstall-info-am: -+ -+tags: TAGS -+ -+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) -+ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ -+ unique=`for i in $$list; do \ -+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+ done | \ -+ $(AWK) ' { files[$$0] = 1; } \ -+ END { for (i in files) print i; }'`; \ -+ mkid -fID $$unique $(LISP) -+ -+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ -+ $(TAGS_FILES) $(LISP) -+ tags=; \ -+ here=`pwd`; \ -+ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ -+ unique=`for i in $$list; do \ -+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+ done | \ -+ $(AWK) ' { files[$$0] = 1; } \ -+ END { for (i in files) print i; }'`; \ -+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ -+ || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -+ -+GTAGS: -+ here=`CDPATH=: && cd $(top_builddir) && pwd` \ -+ && cd $(top_srcdir) \ -+ && gtags -i $(GTAGS_ARGS) $$here -+ -+distclean-tags: -+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH -+ -+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -+ -+top_distdir = ../.. -+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) -+ -+distdir: $(DISTFILES) -+ @for file in $(DISTFILES); do \ -+ if test -f $$file; then d=.; else d=$(srcdir); fi; \ -+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ -+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ -+ $(mkinstalldirs) "$(distdir)/$$dir"; \ -+ fi; \ -+ if test -d $$d/$$file; then \ -+ cp -pR $$d/$$file $(distdir) \ -+ || exit 1; \ -+ else \ -+ test -f $(distdir)/$$file \ -+ || cp -p $$d/$$file $(distdir)/$$file \ -+ || exit 1; \ -+ fi; \ -+ done -+check-am: all-am -+check: check-am -+all-am: Makefile $(PROGRAMS) -+ -+installdirs: -+ $(mkinstalldirs) $(DESTDIR)$(sbindir) -+ -+install: install-am -+install-exec: install-exec-am -+install-data: install-data-am -+uninstall: uninstall-am -+ -+install-am: all-am -+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -+ -+installcheck: installcheck-am -+install-strip: -+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ -+ `test -z '$(STRIP)' || \ -+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -+mostlyclean-generic: -+ -+clean-generic: -+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) -+ -+distclean-generic: -+ -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* -+ -+maintainer-clean-generic: -+ @echo "This command is intended for maintainers to use" -+ @echo "it deletes files that may require special tools to rebuild." -+clean: clean-am -+ -+clean-am: clean-generic clean-sbinPROGRAMS mostlyclean-am -+ -+distclean: distclean-am -+ -+distclean-am: clean-am distclean-compile distclean-generic \ -+ distclean-tags -+ -+dvi: dvi-am -+ -+dvi-am: -+ -+info: info-am -+ -+info-am: -+ -+install-data-am: -+ -+install-exec-am: install-sbinPROGRAMS -+ -+install-info: install-info-am -+ -+install-man: -+ -+installcheck-am: -+ -+maintainer-clean: maintainer-clean-am -+ -+maintainer-clean-am: distclean-am maintainer-clean-generic -+ -+mostlyclean: mostlyclean-am -+ -+mostlyclean-am: mostlyclean-compile mostlyclean-generic -+ -+uninstall-am: uninstall-info-am uninstall-sbinPROGRAMS -+ -+.PHONY: GTAGS all all-am check check-am clean clean-generic \ -+ clean-sbinPROGRAMS distclean distclean-compile \ -+ distclean-generic distclean-tags distdir dvi dvi-am info \ -+ info-am install install-am install-data install-data-am \ -+ install-exec install-exec-am install-info install-info-am \ -+ install-man install-sbinPROGRAMS install-strip installcheck \ -+ installcheck-am installdirs maintainer-clean \ -+ maintainer-clean-generic mostlyclean mostlyclean-compile \ -+ mostlyclean-generic tags uninstall uninstall-am \ -+ uninstall-info-am uninstall-sbinPROGRAMS -+ -+ -+all: $(sbin_PROGRAMS) -+ @test -d ../../bin && ln -f $(sbin_PROGRAMS) ../../bin -+# Tell versions [3.59,3.63) of GNU make to not export all variables. -+# Otherwise a system limit (for SysV at least) may be exceeded. -+.NOEXPORT: -Only in tripwire-2.3.1-2.old/src/siggen: siggen.mak -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/siggen/siggenmain.cpp tripwire-2.3.1-2/src/siggen/siggenmain.cpp ---- tripwire-2.3.1-2.old/src/siggen/siggenmain.cpp Fri Oct 27 17:26:25 2000 -+++ tripwire-2.3.1-2/src/siggen/siggenmain.cpp Mon Aug 12 20:49:35 2002 -@@ -56,7 +56,7 @@ - #include - - #if IS_UNIX --#include "core/unix/unixfsservices.h" -+#include "core/unixfsservices.h" - #include - #endif - -@@ -118,11 +118,6 @@ - // set unexpected and terminate handlers - // Note: we do this before Init() in case it attempts to call these handlers - // TODO: move this into the Init() routine --#if IS_GCC -- #define EXCEPTION_NAMESPACE -- #else -- #define EXCEPTION_NAMESPACE std:: -- #endif - EXCEPTION_NAMESPACE set_terminate(tw_terminate_handler); - EXCEPTION_NAMESPACE set_unexpected(tw_unexpected_handler); - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/test/test.cpp tripwire-2.3.1-2/src/test/test.cpp ---- tripwire-2.3.1-2.old/src/test/test.cpp Fri Oct 27 17:26:21 2000 -+++ tripwire-2.3.1-2/src/test/test.cpp Mon Aug 12 20:49:35 2002 -@@ -287,11 +287,6 @@ - std::cout << "Test: argc - " << argc << std::endl; - std::cout << "Test: *argv - " << argv[0] << std::endl; - --#if IS_GCC -- #define EXCEPTION_NAMESPACE -- #else -- #define EXCEPTION_NAMESPACE std:: -- #endif - EXCEPTION_NAMESPACE set_terminate(tw_terminate_handler); - EXCEPTION_NAMESPACE set_unexpected(tw_unexpected_handler); - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/test-harness/twtools.pm tripwire-2.3.1-2/src/test-harness/twtools.pm ---- tripwire-2.3.1-2.old/src/test-harness/twtools.pm Fri Oct 27 17:26:25 2000 -+++ tripwire-2.3.1-2/src/test-harness/twtools.pm Sun Mar 4 08:36:09 2001 -@@ -21,7 +21,7 @@ - $twsitepass = "testing"; - $twlocalpass = "testing"; - -- $twbinaries = "../../../../bin/i686-pc-linux_r"; -+ $twbinaries = "../../../../bin"; - - $twfailedtests = 0; - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/tripwire/Makefile.am tripwire-2.3.1-2/src/tripwire/Makefile.am ---- tripwire-2.3.1-2.old/src/tripwire/Makefile.am Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/tripwire/Makefile.am Sat Jun 7 00:01:26 2003 -@@ -0,0 +1,19 @@ -+AUTOMAKE_OPTIONS = foreign no-dependencies -+AM_INSTALL_PROGRAM_FLAGS = -m 755 -+ -+INCLUDES = -I.. @STLPORT_INCLUDE@ -+LIBS = -ltripwire -lcryptlib @STLPORT_LD@ @LIBS@ -+LDFLAGS = @LDFLAGS@ -L../../lib -+ -+sbin_PROGRAMS = tripwire -+tripwire_SOURCES = \ -+ generatedb.cpp integritycheck.cpp mailmessage.cpp pipedmailmessage.cpp \ -+ policyupdate.cpp smtpmailmessage.cpp stdtripwire.cpp syslog_trip.cpp \ -+ tripwire.cpp tripwireerrors.cpp tripwiremain.cpp tripwirestrings.cpp \ -+ tripwireutil.cpp twcmdline.cpp twcmdlineutil.cpp updatedb.cpp -+ -+DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit -+CLEANFILES = ../../bin/tripwire ../../lib/libtripwire.a -+ -+all: $(sbin_PROGRAMS) -+ @test -d ../../bin && ln -f $(sbin_PROGRAMS) ../../bin -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/tripwire/Makefile.in tripwire-2.3.1-2/src/tripwire/Makefile.in ---- tripwire-2.3.1-2.old/src/tripwire/Makefile.in Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/tripwire/Makefile.in Mon Sep 22 09:40:56 2003 -@@ -0,0 +1,320 @@ -+# Makefile.in generated automatically by automake 1.5 from Makefile.am. -+ -+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -+# Free Software Foundation, Inc. -+# This Makefile.in is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -+# PARTICULAR PURPOSE. -+ -+@SET_MAKE@ -+ -+SHELL = @SHELL@ -+ -+srcdir = @srcdir@ -+top_srcdir = @top_srcdir@ -+VPATH = @srcdir@ -+prefix = @prefix@ -+exec_prefix = @exec_prefix@ -+ -+bindir = @bindir@ -+sbindir = @sbindir@ -+libexecdir = @libexecdir@ -+datadir = @datadir@ -+sysconfdir = @sysconfdir@ -+sharedstatedir = @sharedstatedir@ -+localstatedir = @localstatedir@ -+libdir = @libdir@ -+infodir = @infodir@ -+mandir = @mandir@ -+includedir = @includedir@ -+oldincludedir = /usr/include -+pkgdatadir = $(datadir)/@PACKAGE@ -+pkglibdir = $(libdir)/@PACKAGE@ -+pkgincludedir = $(includedir)/@PACKAGE@ -+top_builddir = ../.. -+ -+ACLOCAL = @ACLOCAL@ -+AUTOCONF = @AUTOCONF@ -+AUTOMAKE = @AUTOMAKE@ -+AUTOHEADER = @AUTOHEADER@ -+ -+INSTALL = @INSTALL@ -+INSTALL_PROGRAM = @INSTALL_PROGRAM@ -+INSTALL_DATA = @INSTALL_DATA@ -+INSTALL_SCRIPT = @INSTALL_SCRIPT@ -+INSTALL_HEADER = $(INSTALL_DATA) -+transform = @program_transform_name@ -+NORMAL_INSTALL = : -+PRE_INSTALL = : -+POST_INSTALL = : -+NORMAL_UNINSTALL = : -+PRE_UNINSTALL = : -+POST_UNINSTALL = : -+AMTAR = @AMTAR@ -+AWK = @AWK@ -+CC = @CC@ -+CORE_CRYPT_O = @CORE_CRYPT_O@ -+CXX = @CXX@ -+DEPDIR = @DEPDIR@ -+EXEEXT = @EXEEXT@ -+GMAKE = @GMAKE@ -+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -+OBJEXT = @OBJEXT@ -+PACKAGE = @PACKAGE@ -+RANLIB = @RANLIB@ -+STLPORT_INCLUDE = @STLPORT_INCLUDE@ -+STLPORT_LD = @STLPORT_LD@ -+STLPORT_LIBRARY = @STLPORT_LIBRARY@ -+STLPORT_MAKEFILE = @STLPORT_MAKEFILE@ -+STLPORT_SUBDIR = @STLPORT_SUBDIR@ -+SYSPRE = @SYSPRE@ -+VERSION = @VERSION@ -+YACC = @YACC@ -+am__include = @am__include@ -+am__quote = @am__quote@ -+install_sh = @install_sh@ -+path_to_sendmail = @path_to_sendmail@ -+path_to_vi = @path_to_vi@ -+ -+AUTOMAKE_OPTIONS = foreign no-dependencies -+AM_INSTALL_PROGRAM_FLAGS = -m 755 -+ -+INCLUDES = -I.. @STLPORT_INCLUDE@ -+LIBS = -ltripwire -lcryptlib @STLPORT_LD@ @LIBS@ -+LDFLAGS = @LDFLAGS@ -L../../lib -+ -+sbin_PROGRAMS = tripwire -+tripwire_SOURCES = \ -+ generatedb.cpp integritycheck.cpp mailmessage.cpp pipedmailmessage.cpp \ -+ policyupdate.cpp smtpmailmessage.cpp stdtripwire.cpp syslog_trip.cpp \ -+ tripwire.cpp tripwireerrors.cpp tripwiremain.cpp tripwirestrings.cpp \ -+ tripwireutil.cpp twcmdline.cpp twcmdlineutil.cpp updatedb.cpp -+ -+ -+DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit -+CLEANFILES = ../../bin/tripwire ../../lib/libtripwire.a -+subdir = src/tripwire -+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -+CONFIG_HEADER = $(top_builddir)/config.h -+CONFIG_CLEAN_FILES = -+sbin_PROGRAMS = tripwire$(EXEEXT) -+PROGRAMS = $(sbin_PROGRAMS) -+ -+am_tripwire_OBJECTS = generatedb.$(OBJEXT) integritycheck.$(OBJEXT) \ -+ mailmessage.$(OBJEXT) pipedmailmessage.$(OBJEXT) \ -+ policyupdate.$(OBJEXT) smtpmailmessage.$(OBJEXT) \ -+ stdtripwire.$(OBJEXT) syslog_trip.$(OBJEXT) tripwire.$(OBJEXT) \ -+ tripwireerrors.$(OBJEXT) tripwiremain.$(OBJEXT) \ -+ tripwirestrings.$(OBJEXT) tripwireutil.$(OBJEXT) \ -+ twcmdline.$(OBJEXT) twcmdlineutil.$(OBJEXT) updatedb.$(OBJEXT) -+tripwire_OBJECTS = $(am_tripwire_OBJECTS) -+tripwire_LDADD = $(LDADD) -+tripwire_DEPENDENCIES = -+tripwire_LDFLAGS = -+DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -+CPPFLAGS = @CPPFLAGS@ -+depcomp = -+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -+CXXLD = $(CXX) -+CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -+ -o $@ -+CXXFLAGS = @CXXFLAGS@ -+DIST_SOURCES = $(tripwire_SOURCES) -+DIST_COMMON = Makefile.am Makefile.in -+SOURCES = $(tripwire_SOURCES) -+ -+all: all-am -+ -+.SUFFIXES: -+.SUFFIXES: .cpp .o .obj -+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) -+ cd $(top_srcdir) && \ -+ $(AUTOMAKE) --foreign src/tripwire/Makefile -+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status -+ cd $(top_builddir) && \ -+ CONFIG_HEADERS= CONFIG_LINKS= \ -+ CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -+install-sbinPROGRAMS: $(sbin_PROGRAMS) -+ @$(NORMAL_INSTALL) -+ $(mkinstalldirs) $(DESTDIR)$(sbindir) -+ @list='$(sbin_PROGRAMS)'; for p in $$list; do \ -+ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ -+ if test -f $$p \ -+ ; then \ -+ f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \ -+ echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(sbindir)/$$f"; \ -+ $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(sbindir)/$$f; \ -+ else :; fi; \ -+ done -+ -+uninstall-sbinPROGRAMS: -+ @$(NORMAL_UNINSTALL) -+ @list='$(sbin_PROGRAMS)'; for p in $$list; do \ -+ f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ -+ echo " rm -f $(DESTDIR)$(sbindir)/$$f"; \ -+ rm -f $(DESTDIR)$(sbindir)/$$f; \ -+ done -+ -+clean-sbinPROGRAMS: -+ -test -z "$(sbin_PROGRAMS)" || rm -f $(sbin_PROGRAMS) -+tripwire$(EXEEXT): $(tripwire_OBJECTS) $(tripwire_DEPENDENCIES) -+ @rm -f tripwire$(EXEEXT) -+ $(CXXLINK) $(tripwire_LDFLAGS) $(tripwire_OBJECTS) $(tripwire_LDADD) $(LIBS) -+ -+mostlyclean-compile: -+ -rm -f *.$(OBJEXT) core *.core -+ -+distclean-compile: -+ -rm -f *.tab.c -+ -+.cpp.o: -+ $(CXXCOMPILE) -c -o $@ $< -+ -+.cpp.obj: -+ $(CXXCOMPILE) -c -o $@ `cygpath -w $<` -+uninstall-info-am: -+ -+tags: TAGS -+ -+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) -+ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ -+ unique=`for i in $$list; do \ -+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+ done | \ -+ $(AWK) ' { files[$$0] = 1; } \ -+ END { for (i in files) print i; }'`; \ -+ mkid -fID $$unique $(LISP) -+ -+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ -+ $(TAGS_FILES) $(LISP) -+ tags=; \ -+ here=`pwd`; \ -+ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ -+ unique=`for i in $$list; do \ -+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+ done | \ -+ $(AWK) ' { files[$$0] = 1; } \ -+ END { for (i in files) print i; }'`; \ -+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ -+ || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -+ -+GTAGS: -+ here=`CDPATH=: && cd $(top_builddir) && pwd` \ -+ && cd $(top_srcdir) \ -+ && gtags -i $(GTAGS_ARGS) $$here -+ -+distclean-tags: -+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH -+ -+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -+ -+top_distdir = ../.. -+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) -+ -+distdir: $(DISTFILES) -+ @for file in $(DISTFILES); do \ -+ if test -f $$file; then d=.; else d=$(srcdir); fi; \ -+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ -+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ -+ $(mkinstalldirs) "$(distdir)/$$dir"; \ -+ fi; \ -+ if test -d $$d/$$file; then \ -+ cp -pR $$d/$$file $(distdir) \ -+ || exit 1; \ -+ else \ -+ test -f $(distdir)/$$file \ -+ || cp -p $$d/$$file $(distdir)/$$file \ -+ || exit 1; \ -+ fi; \ -+ done -+check-am: all-am -+check: check-am -+all-am: Makefile $(PROGRAMS) -+ -+installdirs: -+ $(mkinstalldirs) $(DESTDIR)$(sbindir) -+ -+install: install-am -+install-exec: install-exec-am -+install-data: install-data-am -+uninstall: uninstall-am -+ -+install-am: all-am -+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -+ -+installcheck: installcheck-am -+install-strip: -+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ -+ `test -z '$(STRIP)' || \ -+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -+mostlyclean-generic: -+ -+clean-generic: -+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) -+ -+distclean-generic: -+ -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* -+ -+maintainer-clean-generic: -+ @echo "This command is intended for maintainers to use" -+ @echo "it deletes files that may require special tools to rebuild." -+clean: clean-am -+ -+clean-am: clean-generic clean-sbinPROGRAMS mostlyclean-am -+ -+distclean: distclean-am -+ -+distclean-am: clean-am distclean-compile distclean-generic \ -+ distclean-tags -+ -+dvi: dvi-am -+ -+dvi-am: -+ -+info: info-am -+ -+info-am: -+ -+install-data-am: -+ -+install-exec-am: install-sbinPROGRAMS -+ -+install-info: install-info-am -+ -+install-man: -+ -+installcheck-am: -+ -+maintainer-clean: maintainer-clean-am -+ -+maintainer-clean-am: distclean-am maintainer-clean-generic -+ -+mostlyclean: mostlyclean-am -+ -+mostlyclean-am: mostlyclean-compile mostlyclean-generic -+ -+uninstall-am: uninstall-info-am uninstall-sbinPROGRAMS -+ -+.PHONY: GTAGS all all-am check check-am clean clean-generic \ -+ clean-sbinPROGRAMS distclean distclean-compile \ -+ distclean-generic distclean-tags distdir dvi dvi-am info \ -+ info-am install install-am install-data install-data-am \ -+ install-exec install-exec-am install-info install-info-am \ -+ install-man install-sbinPROGRAMS install-strip installcheck \ -+ installcheck-am installdirs maintainer-clean \ -+ maintainer-clean-generic mostlyclean mostlyclean-compile \ -+ mostlyclean-generic tags uninstall uninstall-am \ -+ uninstall-info-am uninstall-sbinPROGRAMS -+ -+ -+all: $(sbin_PROGRAMS) -+ @test -d ../../bin && ln -f $(sbin_PROGRAMS) ../../bin -+# Tell versions [3.59,3.63) of GNU make to not export all variables. -+# Otherwise a system limit (for SysV at least) may be exceeded. -+.NOEXPORT: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/tripwire/integritycheck.h tripwire-2.3.1-2/src/tripwire/integritycheck.h ---- tripwire-2.3.1-2.old/src/tripwire/integritycheck.h Fri Oct 27 17:26:17 2000 -+++ tripwire-2.3.1-2/src/tripwire/integritycheck.h Thu Jun 19 14:06:25 2003 -@@ -116,6 +116,7 @@ - }; - - private: -+ cGenre::Genre mGenre; - const cFCOSpecList& mSpecList; - cHierDatabase& mDb; - cFCOReport& mReport; -@@ -123,7 +124,6 @@ - iFCOPropCalc* mpPropCalc; - iFCOSpec* mpCurSpec; // the spec we are currently operating on - cFCOReportSpecIter mReportIter; // the current iterator into the report -- cGenre::Genre mGenre; - cFCOPropVector mLooseDirProps; // properties that should be ignored in loose directories - uint32 mFlags; // flags passed in to execute() - int mnObjectsScanned; // number of objects scanned in system ( scanning includes -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/tripwire/mailmessage.cpp tripwire-2.3.1-2/src/tripwire/mailmessage.cpp ---- tripwire-2.3.1-2.old/src/tripwire/mailmessage.cpp Fri Oct 27 17:26:18 2000 -+++ tripwire-2.3.1-2/src/tripwire/mailmessage.cpp Thu Aug 15 15:11:38 2002 -@@ -228,13 +228,8 @@ - { - bool fGotDate = false; - --#if !USES_BIN_DATE -+#if HAVE_STRFTIME - -- int64 now = cSystemInfo::GetExeStartTime(); -- strDateBuf = cTimeUtil::GetRFC822Date(cTimeUtil::TimeToDateGMT(now)); -- fGotDate = true; -- --#else - TCHAR szDate[1024]; - struct tm *tm = NULL; - -@@ -250,9 +245,14 @@ - strDateBuf = szDate; - fGotDate = true; - } -- -- --#endif // !USES_BIN_DATE -+ -+#else -+ -+ int64 now = cSystemInfo::GetExeStartTime(); -+ strDateBuf = cTimeUtil::GetRFC822Date(cTimeUtil::TimeToDateGMT(now)); -+ fGotDate = true; -+ -+#endif // HAVE_STRFTIME - - return fGotDate; - } -@@ -509,9 +509,9 @@ - std::string::size_type stringSize = 0; - std::string::const_iterator at; - std::string::difference_type charSize; -- for( at = sIn.begin(), charSize = ( tss::strinc( at ) - at ); -+ for( at = sIn.begin(), charSize = ( (*at ? at+1 : at) - at ); - at != sIn.end(); -- at += charSize, charSize = ( tss::strinc( at ) - at ) ) -+ at += charSize, charSize = ( (*at ? at+1 : at) - at ) ) - { - ASSERT( charSize > 0 ); - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/tripwire/mailmessage.h tripwire-2.3.1-2/src/tripwire/mailmessage.h ---- tripwire-2.3.1-2.old/src/tripwire/mailmessage.h Fri Oct 27 17:26:17 2000 -+++ tripwire-2.3.1-2/src/tripwire/mailmessage.h Sun Mar 11 04:11:18 2001 -@@ -333,7 +333,7 @@ - #endif - - --//#ifdef _UNIX -+//#ifdef IS_UNIX - - /////////////////////////////////////////////////////////////////////////////// - // -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/tripwire/smtpmailmessage.cpp tripwire-2.3.1-2/src/tripwire/smtpmailmessage.cpp ---- tripwire-2.3.1-2.old/src/tripwire/smtpmailmessage.cpp Sat Feb 24 11:02:12 2001 -+++ tripwire-2.3.1-2/src/tripwire/smtpmailmessage.cpp Sun Mar 18 01:40:49 2001 -@@ -54,7 +54,11 @@ - #include - #include - --#if IS_SOLARIS || IS_AIX -+/* Some systems like Solaris and AIX don't define -+ * INADDR_NONE, but it's pretty standard. If not, -+ * then the OS _should_ define it for us. -+ */ -+#ifndef INADDR_NONE - #define INADDR_NONE 0xffffffff - #endif - -@@ -62,7 +66,7 @@ - - #define INVALID_SOCKET -1 - --#if !(IS_SOLARIS && IS_IX86) /* solaris/x86 has gethostname */ -+#ifndef HAVE_GETHOSTNAME - static int gethostname( char* name, int namelen ) - { - name[0] = '\0'; -Only in tripwire-2.3.1-2.old/src/tripwire: syslog.cpp -Only in tripwire-2.3.1-2.old/src/tripwire: syslog.h -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/tripwire/syslog_trip.cpp tripwire-2.3.1-2/src/tripwire/syslog_trip.cpp ---- tripwire-2.3.1-2.old/src/tripwire/syslog_trip.cpp Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/tripwire/syslog_trip.cpp Tue Aug 20 22:12:40 2002 -@@ -0,0 +1,248 @@ -+// -+// The developer of the original code and/or files is Tripwire, Inc. -+// Portions created by Tripwire, Inc. are copyright (C) 2000 Tripwire, -+// Inc. Tripwire is a registered trademark of Tripwire, Inc. All rights -+// reserved. -+// -+// This program is free software. The contents of this file are subject -+// to the terms of the GNU General Public License as published by the -+// Free Software Foundation; either version 2 of the License, or (at your -+// option) any later version. You may redistribute it and/or modify it -+// only in compliance with the GNU General Public License. -+// -+// This program is distributed in the hope that it will be useful. -+// However, this program is distributed AS-IS WITHOUT ANY -+// WARRANTY; INCLUDING THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS -+// FOR A PARTICULAR PURPOSE. Please see the GNU General Public License -+// for more details. -+// -+// You should have received a copy of the GNU General Public License -+// along with this program; if not, write to the Free Software -+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, -+// USA. -+// -+// Nothing in the GNU General Public License or any other license to use -+// the code or files shall permit you to use Tripwire's trademarks, -+// service marks, or other intellectual property without Tripwire's -+// prior written consent. -+// -+// If you have any questions, please contact Tripwire, Inc. at either -+// info@tripwire.org or www.tripwire.org. -+// -+/////////////////////////////////////////////////////////////////////////////// -+// syslog.cpp -+// -+ -+#include "stdtripwire.h" -+#include "syslog_trip.h" -+ -+#if HAVE_SYSLOG_H -+#include -+#endif -+ -+#if HAVE_SYS_SYSLOG_H -+#include -+#endif -+ -+#if SUPPORTS_EVENTLOG -+#include "tripwiremsg.h" -+#include "tw/systeminfo.h" -+#endif -+ -+// next three includes are for error reporting -+#include "tw/twutil.h" -+#include "tw/twerrors.h" -+#include "tw/twstrings.h" -+ -+/////////////////////////////////////////////////////////////////////////////// -+// Syslog -+/////////////////////////////////////////////////////////////////////////////// -+ -+#if SUPPORTS_EVENTLOG -+static void InitEventLog(); -+#endif -+ -+void cSyslog::Log(const TCHAR* programName, cSyslog::LogType logType, const TCHAR* message) -+{ -+#if HAVE_SYSLOG_H -+ -+ (void)logType; // logType is not used for Unix syslog -+ -+#ifdef _UNICODE -+ std::basic_string identString; -+ std::basic_string msgString; -+ int count; -+ -+ count = sizeof(char) * MB_CUR_MAX * _tcslen(programName); // note we use sizeof(char) * 2 because mb chars can be two bytes long -+ identString.resize(count); -+ count = wcstombs((char*)identString.data(), programName, count); -+ identString.resize(count); // count will be set to number of bytes written -+ -+ count = sizeof(char) * MB_CUR_MAX * _tcslen(message); -+ msgString.resize(count); -+ count = wcstombs((char*)msgString.data(), message, count); -+ msgString.resize(count); -+ -+ const char* ident = programName.data(); -+ const char* msg = message.data(); -+#else -+ ASSERT(sizeof(TCHAR) == sizeof(char)); -+ const char* ident = programName; -+ const char* msg = message; -+#endif -+ -+ openlog(ident, LOG_PID, LOG_USER); -+ syslog(LOG_NOTICE, "%s", msg); -+ closelog(); -+ -+#elif SUPPORTS_EVENTLOG -+ -+ static bool eventLogInitialized = false; -+ if (!eventLogInitialized) -+ { -+ InitEventLog(); -+ eventLogInitialized = true; -+ } -+ -+ HANDLE h = RegisterEventSource(NULL, _T("Tripwire")); -+ if (h != NULL) -+ { -+ LPCTSTR stringArray[1]; -+ stringArray[0] = message; -+ -+ WORD type; -+ DWORD id; -+ -+ switch (logType) -+ { -+ default: -+ ASSERT(false); -+ case LOG_SUCCESS: -+ type = EVENTLOG_INFORMATION_TYPE; -+ id = MSG_TRIPWIRE_GENERIC_SUCCESS; -+ break; -+ case LOG_INFORMATION: -+ type = EVENTLOG_INFORMATION_TYPE; -+ id = MSG_TRIPWIRE_GENERIC_INFO; -+ break; -+ case LOG_WARNING: -+ type = EVENTLOG_WARNING_TYPE; -+ id = MSG_TRIPWIRE_GENERIC_WARNING; -+ break; -+ case LOG_ERROR: -+ type = EVENTLOG_ERROR_TYPE; -+ id = MSG_TRIPWIRE_GENERIC_ERROR; -+ break; -+ } -+ -+ BOOL ret = ReportEvent( -+ h, -+ type, // event type -+ 0, // catagory -+ id, // event id -+ 0, // user sid -+ 1, // num strings -+ 0, // raw binary data size -+ stringArray, // array of strings -+ 0 // raw binrary data -+ ); -+ -+ if (!ret) -+ { -+ eTWSyslog e( TSS_GetString(cTW, tw::STR_REPORTEVENT_FAILED).c_str(), eError::NON_FATAL ); -+ cTWUtil::PrintErrorMsg(e); -+ } -+ -+ DeregisterEventSource(h); -+ } -+ -+#else -+ // No support for syslog like functionality -+ //ASSERT(false); -+#endif -+} -+ -+ -+#if SUPPORTS_EVENTLOG -+static void InitEventLog() -+{ -+ // To initialize the event log, we need to verify that Tripwire -+ // is a valid event source. -+ // To do this we look up the value for the Tripwire event source. If it -+ // exists, the the dest is a file called "tripwire.exe" (or this executable) and the -+ // file exists, then we assume that the event source is set correctly. -+ -+ HKEY hKey; -+ DWORD disposition; -+ -+ if (RegCreateKeyEx(HKEY_LOCAL_MACHINE, _T("SYSTEM\\CurrentControlSet\\Services\\EventLog\\Application\\Tripwire"), 0, _T(""), REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hKey, &disposition) == ERROR_SUCCESS && -+ disposition == REG_OPENED_EXISTING_KEY) -+ { -+ DWORD type, count; -+ -+ // We need to insure we have back slashes in our exepath -+ TSTRING exepath = cSystemInfo::GetExePath(); -+ TSTRING::iterator i; -+ for (i = exepath.begin(); i != exepath.end(); ++i) -+ if (*i == _T('/')) -+ *i = _T('\\'); -+ -+ if (RegQueryValueEx(hKey, _T("TypesSupported"), 0, &type, 0, &count) == ERROR_SUCCESS && -+ type == REG_DWORD && -+ RegQueryValueEx(hKey, _T("EventMessageFile"), 0, &type, 0, &count) == ERROR_SUCCESS && -+ type == REG_EXPAND_SZ) -+ { -+ TSTRING data; -+ data.resize(count); -+ if (RegQueryValueEx(hKey, _T("EventMessageFile"), 0, &type, (LPBYTE)data.data(), &count) == ERROR_SUCCESS && -+ type == REG_EXPAND_SZ) -+ { -+ TSTRING::size_type lastDelimitor; -+ lastDelimitor = data.find_last_of(_T('\\')); -+ if (lastDelimitor == TSTRING::npos) -+ lastDelimitor = (TSTRING::size_type)-1; -+ -+ if (_tcscmp(exepath.c_str(), data.c_str()) == 0) -+ { -+ RegCloseKey(hKey); -+ return; -+ } -+ -+ if (_tcsicmp(_T("tripwire.exe"), data.substr(lastDelimitor + 1).c_str()) == 0) -+ { -+ HINSTANCE hInst = LoadLibraryEx(data.c_str(), NULL, DONT_RESOLVE_DLL_REFERENCES|LOAD_LIBRARY_AS_DATAFILE); -+ if (hInst != NULL) -+ { -+ FreeLibrary(hInst); -+ RegCloseKey(hKey); -+ return; -+ } -+ } -+ } -+ } -+ -+ // If we got here then the event source is not set up correctly -+ -+ // Add the name to the EventMessageFile subkey. -+ RegSetValueEx(hKey, // subkey handle -+ _T("EventMessageFile"), // value name -+ 0, // must be zero -+ REG_EXPAND_SZ, // value type -+ (LPBYTE) exepath.c_str(), // pointer to value data -+ sizeof(TCHAR)*(exepath.length() + 1)); // length of value data -+ -+ // Set the supported event types in the TypesSupported subkey. -+ DWORD dwData = EVENTLOG_ERROR_TYPE | EVENTLOG_WARNING_TYPE | EVENTLOG_INFORMATION_TYPE; -+ -+ RegSetValueEx(hKey, // subkey handle -+ _T("TypesSupported"), // value name -+ 0, // must be zero -+ REG_DWORD, // value type -+ (LPBYTE) &dwData, // pointer to value data -+ sizeof(DWORD)); // length of value data -+ -+ RegCloseKey(hKey); -+ } -+} -+#endif -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/tripwire/syslog_trip.h tripwire-2.3.1-2/src/tripwire/syslog_trip.h ---- tripwire-2.3.1-2.old/src/tripwire/syslog_trip.h Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/tripwire/syslog_trip.h Tue Aug 20 22:12:40 2002 -@@ -0,0 +1,60 @@ -+// -+// The developer of the original code and/or files is Tripwire, Inc. -+// Portions created by Tripwire, Inc. are copyright (C) 2000 Tripwire, -+// Inc. Tripwire is a registered trademark of Tripwire, Inc. All rights -+// reserved. -+// -+// This program is free software. The contents of this file are subject -+// to the terms of the GNU General Public License as published by the -+// Free Software Foundation; either version 2 of the License, or (at your -+// option) any later version. You may redistribute it and/or modify it -+// only in compliance with the GNU General Public License. -+// -+// This program is distributed in the hope that it will be useful. -+// However, this program is distributed AS-IS WITHOUT ANY -+// WARRANTY; INCLUDING THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS -+// FOR A PARTICULAR PURPOSE. Please see the GNU General Public License -+// for more details. -+// -+// You should have received a copy of the GNU General Public License -+// along with this program; if not, write to the Free Software -+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, -+// USA. -+// -+// Nothing in the GNU General Public License or any other license to use -+// the code or files shall permit you to use Tripwire's trademarks, -+// service marks, or other intellectual property without Tripwire's -+// prior written consent. -+// -+// If you have any questions, please contact Tripwire, Inc. at either -+// info@tripwire.org or www.tripwire.org. -+// -+/////////////////////////////////////////////////////////////////////////////// -+// syslog.h -+// -+// cSyslog class. Abstracts logging to Unix syslog or NT Event Log -+// -+ -+#ifndef __SYSLOG_H -+#define __SYSLOG_H -+ -+class cSyslog -+{ -+public: -+ enum LogType -+ { -+ LOG_SUCCESS, -+ LOG_INFORMATION, -+ LOG_WARNING, -+ LOG_ERROR -+ }; -+ -+ static void Log(const TCHAR* programName, cSyslog::LogType logType, const TCHAR* message); -+ // logs message the syslog mechanism on Unix. -+ // currently a NOOP on Windows (but asserts in debug mode) -+ // TODO: Should this be a fsservices function? -+}; -+ -+ -+#endif -+ -Only in tripwire-2.3.1-2.old/src/tripwire: tripwire.mak -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/tripwire/tripwiremain.cpp tripwire-2.3.1-2/src/tripwire/tripwiremain.cpp ---- tripwire-2.3.1-2.old/src/tripwire/tripwiremain.cpp Sat Feb 24 11:02:12 2001 -+++ tripwire-2.3.1-2/src/tripwire/tripwiremain.cpp Thu Jun 19 22:05:48 2003 -@@ -56,7 +56,7 @@ - #include "fco/genreswitcher.h" - - #if IS_UNIX --#include "core/unix/unixfsservices.h" -+#include "core/unixfsservices.h" - #include - #else - #error Who the hell am I? -@@ -69,7 +69,9 @@ - /////////////////////////////////////////////////////////////////////////////// - /* - #ifdef _DEBUG -+#if defined(HAVE_MALLOC_H) - #include -+#endif - static int32 gCurAlloc=0, - gMaxAlloc=0; - void* operator new(size_t size) -@@ -122,11 +124,6 @@ - // set unexpected and terminate handlers - // Note: we do this before Init() in case it attempts to call these handlers - // TODO: move this into the Init() routine --#if IS_GCC -- #define EXCEPTION_NAMESPACE -- #else -- #define EXCEPTION_NAMESPACE std:: -- #endif - EXCEPTION_NAMESPACE set_terminate(tw_terminate_handler); - EXCEPTION_NAMESPACE set_unexpected(tw_unexpected_handler); - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/tripwire/twcmdline.cpp tripwire-2.3.1-2/src/tripwire/twcmdline.cpp ---- tripwire-2.3.1-2.old/src/tripwire/twcmdline.cpp Sun Feb 25 12:07:17 2001 -+++ tripwire-2.3.1-2/src/tripwire/twcmdline.cpp Thu Jun 19 14:06:25 2003 -@@ -62,7 +62,7 @@ - #include "core/stringutil.h" - #include "util/fileutil.h" - #include "tw/twstrings.h" --#include "syslog.h" -+#include "syslog_trip.h" - #include - #include "fco/parsergenreutil.h" // this is needed to figure out if a path is fully qualified for the current genre. - #include "tw/fcodatabasefile.h" -@@ -1523,8 +1523,8 @@ - // if they are non-null when Execute() is called, they should be used as the db and report. - bool mbEncryptDb; - cFCOReport* mpReport; -- cFCOReportHeader* mpReportHeader; - cFCODatabaseFile* mpDbFile; -+ cFCOReportHeader* mpReportHeader; - - // ctor can set up some default values - cTWModeDbUpdate_i() : cTWModeCommon(), mbInteractive(true), mbAnal(true), /*mSiteProvided(false),*/ mpReport(0), mpDbFile(0), mpReportHeader(0) {} -Only in tripwire-2.3.1-2.old/src/tripwire: twcmdline.cpp~ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/tripwire/twcmdline.h tripwire-2.3.1-2/src/tripwire/twcmdline.h ---- tripwire-2.3.1-2.old/src/tripwire/twcmdline.h Sat Feb 3 21:38:27 2001 -+++ tripwire-2.3.1-2/src/tripwire/twcmdline.h Thu Jun 19 21:50:18 2003 -@@ -217,6 +217,8 @@ - // return the MODE_* enumeration for a given mode. - void SetCmdLine( const TSTRING& str ) { mstrCmdLine = str; }; - void SetConfigFile( const TSTRING& str ) { mstrConfigFile = str; }; -+ -+ virtual ~iTWMode() {}; - protected: - TSTRING mstrCmdLine; - TSTRING mstrConfigFile; -@@ -230,7 +232,7 @@ - { - public: - cTWModeDbInit(); -- ~cTWModeDbInit(); -+ virtual ~cTWModeDbInit(); - - virtual void InitCmdLineParser(cCmdLineParser& cmdLine); - virtual bool Init (const cConfigFile& cf, const cCmdLineParser& cmdLine); -@@ -253,7 +255,7 @@ - }; - - cTWModeIC(); -- ~cTWModeIC(); -+ virtual ~cTWModeIC(); - - virtual void InitCmdLineParser(cCmdLineParser& cmdLine); - virtual bool Init (const cConfigFile& cf, const cCmdLineParser& cmdLine); -@@ -273,7 +275,7 @@ - { - public: - cTWModeDbUpdate(); -- ~cTWModeDbUpdate(); -+ virtual ~cTWModeDbUpdate(); - - virtual void InitCmdLineParser(cCmdLineParser& cmdLine); - virtual bool Init (const cConfigFile& cf, const cCmdLineParser& cmdLine); -@@ -302,7 +304,7 @@ - { - public: - cTWModePolUpdate(); -- ~cTWModePolUpdate(); -+ virtual ~cTWModePolUpdate(); - - virtual void InitCmdLineParser(cCmdLineParser& cmdLine); - virtual bool Init (const cConfigFile& cf, const cCmdLineParser& cmdLine); -@@ -322,7 +324,7 @@ - { - public: - cTWModeTest(); -- ~cTWModeTest(); -+ virtual ~cTWModeTest(); - - virtual void InitCmdLineParser(cCmdLineParser& cmdLine); - virtual bool Init (const cConfigFile& cf, const cCmdLineParser& cmdLine); -@@ -343,7 +345,7 @@ - { - public: - cTWModeHelp(); -- ~cTWModeHelp(); -+ virtual ~cTWModeHelp(); - - virtual void InitCmdLineParser(cCmdLineParser& cmdLine); - virtual bool Init (const cConfigFile& cf, const cCmdLineParser& cmdLine); -@@ -366,7 +368,7 @@ - { - public: - cTWModeExploreDb(); -- ~cTWModeExploreDb(); -+ virtual ~cTWModeExploreDb(); - - virtual void InitCmdLineParser(cCmdLineParser& cmdLine); - virtual bool Init (const cConfigFile& cf, const cCmdLineParser& cmdLine); -@@ -386,7 +388,7 @@ - { - public: - cTWModeDebugDb(); -- ~cTWModeDebugDb(); -+ virtual ~cTWModeDebugDb(); - - virtual void InitCmdLineParser(cCmdLineParser& cmdLine); - virtual bool Init (const cConfigFile& cf, const cCmdLineParser& cmdLine); -@@ -407,7 +409,7 @@ - { - public: - cTWModeVersion() {} -- ~cTWModeVersion() {} -+ virtual ~cTWModeVersion() {} - - virtual void InitCmdLineParser(cCmdLineParser& cmdLine) { ASSERT(false); } - virtual bool Init (const cConfigFile& cf, const cCmdLineParser& cmdLine) { ASSERT(false); return true; } -Only in tripwire-2.3.1-2.old/src/tripwire: twcmdlineutil.cpp.old -Only in tripwire-2.3.1-2.old/src/tripwire: twcmdlineutil.cpp~ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/tw/Makefile.am tripwire-2.3.1-2/src/tw/Makefile.am ---- tripwire-2.3.1-2.old/src/tw/Makefile.am Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/tw/Makefile.am Sun Mar 16 11:50:05 2003 -@@ -0,0 +1,17 @@ -+AUTOMAKE_OPTIONS = foreign no-dependencies -+ -+INCLUDES = -I.. @STLPORT_INCLUDE@ -+ -+noinst_LIBRARIES = libtw.a -+libtw_a_SOURCES = \ -+ configfile.cpp dbdatasource.cpp dbdebug.cpp dbexplore.cpp \ -+ fcodatabasefile.cpp fcodatabaseutil.cpp fcoreport.cpp \ -+ fcoreportutil.cpp filemanipulator.cpp headerinfo.cpp \ -+ policyfile.cpp stdtw.cpp systeminfo.cpp textdbviewer.cpp \ -+ textreportviewer.cpp tw.cpp twerrors.cpp twinit.cpp \ -+ twstrings.cpp twutil.cpp -+ -+DEFS = @DEFS@ -DCONFIG_DIR=\"$(sysconfdir)\" -+ -+all: $(noinst_LIBRARIES) -+ $(AR) ru ../../lib/libtripwire.a $(libtw_a_OBJECTS) -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/tw/Makefile.in tripwire-2.3.1-2/src/tw/Makefile.in ---- tripwire-2.3.1-2.old/src/tw/Makefile.in Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/tw/Makefile.in Mon Sep 22 09:40:56 2003 -@@ -0,0 +1,299 @@ -+# Makefile.in generated automatically by automake 1.5 from Makefile.am. -+ -+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -+# Free Software Foundation, Inc. -+# This Makefile.in is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -+# PARTICULAR PURPOSE. -+ -+@SET_MAKE@ -+ -+SHELL = @SHELL@ -+ -+srcdir = @srcdir@ -+top_srcdir = @top_srcdir@ -+VPATH = @srcdir@ -+prefix = @prefix@ -+exec_prefix = @exec_prefix@ -+ -+bindir = @bindir@ -+sbindir = @sbindir@ -+libexecdir = @libexecdir@ -+datadir = @datadir@ -+sysconfdir = @sysconfdir@ -+sharedstatedir = @sharedstatedir@ -+localstatedir = @localstatedir@ -+libdir = @libdir@ -+infodir = @infodir@ -+mandir = @mandir@ -+includedir = @includedir@ -+oldincludedir = /usr/include -+pkgdatadir = $(datadir)/@PACKAGE@ -+pkglibdir = $(libdir)/@PACKAGE@ -+pkgincludedir = $(includedir)/@PACKAGE@ -+top_builddir = ../.. -+ -+ACLOCAL = @ACLOCAL@ -+AUTOCONF = @AUTOCONF@ -+AUTOMAKE = @AUTOMAKE@ -+AUTOHEADER = @AUTOHEADER@ -+ -+INSTALL = @INSTALL@ -+INSTALL_PROGRAM = @INSTALL_PROGRAM@ -+INSTALL_DATA = @INSTALL_DATA@ -+INSTALL_SCRIPT = @INSTALL_SCRIPT@ -+INSTALL_HEADER = $(INSTALL_DATA) -+transform = @program_transform_name@ -+NORMAL_INSTALL = : -+PRE_INSTALL = : -+POST_INSTALL = : -+NORMAL_UNINSTALL = : -+PRE_UNINSTALL = : -+POST_UNINSTALL = : -+AMTAR = @AMTAR@ -+AWK = @AWK@ -+CC = @CC@ -+CORE_CRYPT_O = @CORE_CRYPT_O@ -+CXX = @CXX@ -+DEPDIR = @DEPDIR@ -+EXEEXT = @EXEEXT@ -+GMAKE = @GMAKE@ -+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -+OBJEXT = @OBJEXT@ -+PACKAGE = @PACKAGE@ -+RANLIB = @RANLIB@ -+STLPORT_INCLUDE = @STLPORT_INCLUDE@ -+STLPORT_LD = @STLPORT_LD@ -+STLPORT_LIBRARY = @STLPORT_LIBRARY@ -+STLPORT_MAKEFILE = @STLPORT_MAKEFILE@ -+STLPORT_SUBDIR = @STLPORT_SUBDIR@ -+SYSPRE = @SYSPRE@ -+VERSION = @VERSION@ -+YACC = @YACC@ -+am__include = @am__include@ -+am__quote = @am__quote@ -+install_sh = @install_sh@ -+path_to_sendmail = @path_to_sendmail@ -+path_to_vi = @path_to_vi@ -+ -+AUTOMAKE_OPTIONS = foreign no-dependencies -+ -+INCLUDES = -I.. @STLPORT_INCLUDE@ -+ -+noinst_LIBRARIES = libtw.a -+libtw_a_SOURCES = \ -+ configfile.cpp dbdatasource.cpp dbdebug.cpp dbexplore.cpp \ -+ fcodatabasefile.cpp fcodatabaseutil.cpp fcoreport.cpp \ -+ fcoreportutil.cpp filemanipulator.cpp headerinfo.cpp \ -+ policyfile.cpp stdtw.cpp systeminfo.cpp textdbviewer.cpp \ -+ textreportviewer.cpp tw.cpp twerrors.cpp twinit.cpp \ -+ twstrings.cpp twutil.cpp -+ -+ -+DEFS = @DEFS@ -DCONFIG_DIR=\"$(sysconfdir)\" -+subdir = src/tw -+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -+CONFIG_HEADER = $(top_builddir)/config.h -+CONFIG_CLEAN_FILES = -+LIBRARIES = $(noinst_LIBRARIES) -+ -+libtw_a_AR = $(AR) cru -+libtw_a_LIBADD = -+am_libtw_a_OBJECTS = configfile.$(OBJEXT) dbdatasource.$(OBJEXT) \ -+ dbdebug.$(OBJEXT) dbexplore.$(OBJEXT) fcodatabasefile.$(OBJEXT) \ -+ fcodatabaseutil.$(OBJEXT) fcoreport.$(OBJEXT) \ -+ fcoreportutil.$(OBJEXT) filemanipulator.$(OBJEXT) \ -+ headerinfo.$(OBJEXT) policyfile.$(OBJEXT) stdtw.$(OBJEXT) \ -+ systeminfo.$(OBJEXT) textdbviewer.$(OBJEXT) \ -+ textreportviewer.$(OBJEXT) tw.$(OBJEXT) twerrors.$(OBJEXT) \ -+ twinit.$(OBJEXT) twstrings.$(OBJEXT) twutil.$(OBJEXT) -+libtw_a_OBJECTS = $(am_libtw_a_OBJECTS) -+DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -+CPPFLAGS = @CPPFLAGS@ -+LDFLAGS = @LDFLAGS@ -+LIBS = @LIBS@ -+depcomp = -+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -+CXXLD = $(CXX) -+CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -+ -o $@ -+CXXFLAGS = @CXXFLAGS@ -+DIST_SOURCES = $(libtw_a_SOURCES) -+DIST_COMMON = Makefile.am Makefile.in -+SOURCES = $(libtw_a_SOURCES) -+ -+all: all-am -+ -+.SUFFIXES: -+.SUFFIXES: .cpp .o .obj -+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) -+ cd $(top_srcdir) && \ -+ $(AUTOMAKE) --foreign src/tw/Makefile -+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status -+ cd $(top_builddir) && \ -+ CONFIG_HEADERS= CONFIG_LINKS= \ -+ CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -+ -+AR = ar -+ -+clean-noinstLIBRARIES: -+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) -+libtw.a: $(libtw_a_OBJECTS) $(libtw_a_DEPENDENCIES) -+ -rm -f libtw.a -+ $(libtw_a_AR) libtw.a $(libtw_a_OBJECTS) $(libtw_a_LIBADD) -+ $(RANLIB) libtw.a -+ -+mostlyclean-compile: -+ -rm -f *.$(OBJEXT) core *.core -+ -+distclean-compile: -+ -rm -f *.tab.c -+ -+.cpp.o: -+ $(CXXCOMPILE) -c -o $@ $< -+ -+.cpp.obj: -+ $(CXXCOMPILE) -c -o $@ `cygpath -w $<` -+uninstall-info-am: -+ -+tags: TAGS -+ -+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) -+ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ -+ unique=`for i in $$list; do \ -+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+ done | \ -+ $(AWK) ' { files[$$0] = 1; } \ -+ END { for (i in files) print i; }'`; \ -+ mkid -fID $$unique $(LISP) -+ -+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ -+ $(TAGS_FILES) $(LISP) -+ tags=; \ -+ here=`pwd`; \ -+ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ -+ unique=`for i in $$list; do \ -+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+ done | \ -+ $(AWK) ' { files[$$0] = 1; } \ -+ END { for (i in files) print i; }'`; \ -+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ -+ || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -+ -+GTAGS: -+ here=`CDPATH=: && cd $(top_builddir) && pwd` \ -+ && cd $(top_srcdir) \ -+ && gtags -i $(GTAGS_ARGS) $$here -+ -+distclean-tags: -+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH -+ -+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -+ -+top_distdir = ../.. -+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) -+ -+distdir: $(DISTFILES) -+ @for file in $(DISTFILES); do \ -+ if test -f $$file; then d=.; else d=$(srcdir); fi; \ -+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ -+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ -+ $(mkinstalldirs) "$(distdir)/$$dir"; \ -+ fi; \ -+ if test -d $$d/$$file; then \ -+ cp -pR $$d/$$file $(distdir) \ -+ || exit 1; \ -+ else \ -+ test -f $(distdir)/$$file \ -+ || cp -p $$d/$$file $(distdir)/$$file \ -+ || exit 1; \ -+ fi; \ -+ done -+check-am: all-am -+check: check-am -+all-am: Makefile $(LIBRARIES) -+ -+installdirs: -+ -+install: install-am -+install-exec: install-exec-am -+install-data: install-data-am -+uninstall: uninstall-am -+ -+install-am: all-am -+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -+ -+installcheck: installcheck-am -+install-strip: -+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ -+ `test -z '$(STRIP)' || \ -+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -+mostlyclean-generic: -+ -+clean-generic: -+ -+distclean-generic: -+ -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* -+ -+maintainer-clean-generic: -+ @echo "This command is intended for maintainers to use" -+ @echo "it deletes files that may require special tools to rebuild." -+clean: clean-am -+ -+clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am -+ -+distclean: distclean-am -+ -+distclean-am: clean-am distclean-compile distclean-generic \ -+ distclean-tags -+ -+dvi: dvi-am -+ -+dvi-am: -+ -+info: info-am -+ -+info-am: -+ -+install-data-am: -+ -+install-exec-am: -+ -+install-info: install-info-am -+ -+install-man: -+ -+installcheck-am: -+ -+maintainer-clean: maintainer-clean-am -+ -+maintainer-clean-am: distclean-am maintainer-clean-generic -+ -+mostlyclean: mostlyclean-am -+ -+mostlyclean-am: mostlyclean-compile mostlyclean-generic -+ -+uninstall-am: uninstall-info-am -+ -+.PHONY: GTAGS all all-am check check-am clean clean-generic \ -+ clean-noinstLIBRARIES distclean distclean-compile \ -+ distclean-generic distclean-tags distdir dvi dvi-am info \ -+ info-am install install-am install-data install-data-am \ -+ install-exec install-exec-am install-info install-info-am \ -+ install-man install-strip installcheck installcheck-am \ -+ installdirs maintainer-clean maintainer-clean-generic \ -+ mostlyclean mostlyclean-compile mostlyclean-generic tags \ -+ uninstall uninstall-am uninstall-info-am -+ -+ -+all: $(noinst_LIBRARIES) -+ $(AR) ru ../../lib/libtripwire.a $(libtw_a_OBJECTS) -+# Tell versions [3.59,3.63) of GNU make to not export all variables. -+# Otherwise a system limit (for SysV at least) may be exceeded. -+.NOEXPORT: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/tw/fcodatabasefile.h tripwire-2.3.1-2/src/tw/fcodatabasefile.h ---- tripwire-2.3.1-2.old/src/tw/fcodatabasefile.h Fri Oct 27 17:25:39 2000 -+++ tripwire-2.3.1-2/src/tw/fcodatabasefile.h Thu Jun 19 14:06:25 2003 -@@ -120,10 +120,10 @@ - - } - -- cGenre::Genre mGenre; // the genre this is associated with - cHierDatabase mDb; // the database; - cFCODbGenreHeader mGenreHeader; - cFCOSpecList mSpecList; // the spec used to create the database -+ cGenre::Genre mGenre; // the genre this is associated with - }; - - private: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/tw/fcoreport.cpp tripwire-2.3.1-2/src/tw/fcoreport.cpp ---- tripwire-2.3.1-2.old/src/tw/fcoreport.cpp Fri Oct 27 17:25:37 2000 -+++ tripwire-2.3.1-2/src/tw/fcoreport.cpp Thu Jun 19 14:06:25 2003 -@@ -100,9 +100,9 @@ - { - cGenreNode() {}; - cGenreNode( const cGenreNode& rhs ); -+ cFCOReportGenreHeader mGenreHeader; - cGenre::Genre mGenre; - SpecList mSpecList; -- cFCOReportGenreHeader mGenreHeader; - }; - - typedef std::list GenreSpecList; -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/tw/fcoreport.h tripwire-2.3.1-2/src/tw/fcoreport.h ---- tripwire-2.3.1-2.old/src/tw/fcoreport.h Fri Oct 27 17:25:36 2000 -+++ tripwire-2.3.1-2/src/tw/fcoreport.h Thu Jun 19 21:50:18 2003 -@@ -94,7 +94,7 @@ - friend class cFCOReportGenreIter; - public: - cFCOReport(); -- ~cFCOReport(); -+ virtual ~cFCOReport(); - - void ClearReport(); - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/tw/headerinfo.h tripwire-2.3.1-2/src/tw/headerinfo.h ---- tripwire-2.3.1-2.old/src/tw/headerinfo.h Fri Oct 27 17:25:36 2000 -+++ tripwire-2.3.1-2/src/tw/headerinfo.h Thu Jun 19 21:50:18 2003 -@@ -111,7 +111,7 @@ - public: - cGenreHeaderInfo(); - cGenreHeaderInfo( const cGenreHeaderInfo& ); -- ~cGenreHeaderInfo(); -+ virtual ~cGenreHeaderInfo(); - - void Clear(); - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/tw/textreportviewer.cpp tripwire-2.3.1-2/src/tw/textreportviewer.cpp ---- tripwire-2.3.1-2.old/src/tw/textreportviewer.cpp Wed Feb 28 13:50:18 2001 -+++ tripwire-2.3.1-2/src/tw/textreportviewer.cpp Thu May 29 00:31:06 2003 -@@ -85,12 +85,11 @@ - #include - #include - #include --#if !IS_BSD -+#ifdef HAVE_WCHAR_H - # include - #endif -- --#if IS_UNIX -- #include -+#ifdef HAVE_UNISTD_H -+# include - #endif - - //========================================================================= -@@ -1675,7 +1674,7 @@ - // we explicitly create the file so that we control the - // permissions on the new file. - unlink(narrowFilename.c_str()); -- int fd = open(narrowFilename.c_str(), O_CREAT|O_TRUNC|O_EXCL, 00600); -+ int fd = open(narrowFilename.c_str(), O_RDWR|O_CREAT|O_TRUNC|O_EXCL, 00600); - if (fd == -1 || close(fd) != 0) { - throw eTextReportViewerFileOpen( strFile ); - } -Only in tripwire-2.3.1-2.old/src/tw: textreportviewer.cpp~ -Only in tripwire-2.3.1-2.old/src/tw: textreportviewer.h~ -Only in tripwire-2.3.1-2.old/src/tw: tw.mak -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/tw/twinit.cpp tripwire-2.3.1-2/src/tw/twinit.cpp ---- tripwire-2.3.1-2.old/src/tw/twinit.cpp Fri Oct 27 17:25:37 2000 -+++ tripwire-2.3.1-2/src/tw/twinit.cpp Sat Mar 17 13:49:52 2001 -@@ -75,7 +75,7 @@ - - #include "fs/fs.h" // object initialization - #if IS_UNIX --#include "core/unix/unixfsservices.h" -+#include "core/unixfsservices.h" - #include "core/tw_signal.h" // to ignore SIGPIPE - #endif - -@@ -290,8 +290,10 @@ - #endif - tw_HandleSignal( SIGABRT ); // Supposedly we can only get this signal by calling abort() - // ourselves, but to be on the safe side... --#if !IS_LINUX -+#ifdef SIGEMT - tw_HandleSignal( SIGEMT ); // Emulator trap. -+#endif -+#ifdef SIGSYS - tw_HandleSignal( SIGSYS ); // Bad system call. - #endif - tw_HandleSignal( SIGFPE ); // Floating point exception. -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/tw/twstrings.cpp tripwire-2.3.1-2/src/tw/twstrings.cpp ---- tripwire-2.3.1-2.old/src/tw/twstrings.cpp Sat Mar 3 16:14:08 2001 -+++ tripwire-2.3.1-2/src/tw/twstrings.cpp Sat Mar 17 13:49:52 2001 -@@ -107,13 +107,12 @@ - TSS_StringEntry( tw::STR_ERR_WRONG_PASSPHRASE_SITE, _T("Incorrect site passphrase.") ), - TSS_StringEntry( tw::STR_ERR_WRONG_PASSPHRASE_LOCAL, _T("Incorrect local passphrase.") ), - --#if defined(CONFIG_FILE_ROOT) -+#if defined(CONFIG_DIR) - // NOTE:mdb if we are following the FHS, then the config file lives in /etc/tripwire and not in - // the current working directory -- TSS_StringEntry( tw::STR_DEF_CFG_FILENAME, _T(CONFIG_FILE_ROOT"/tw.cfg")), -- -+ TSS_StringEntry( tw::STR_DEF_CFG_FILENAME, _T(CONFIG_DIR"/tw.cfg")), - #else -- TSS_StringEntry( tw::STR_DEF_CFG_FILENAME, _T("tw.cfg")), -+ TSS_StringEntry( tw::STR_DEF_CFG_FILENAME, _T("/etc/tw.cfg")), - #endif - - TSS_StringEntry( tw::STR_WIN_NT_ONLY, _T("Tripwire(R) runs only on Windows NT.")), -@@ -252,15 +251,9 @@ - // - TSS_StringEntry( tw::STR_COPYRIGHT, TSS_COPYRIGHT_NOTICE ), - TSS_StringEntry( tw::STR_TSS_PRODUCT_NAME, TSS_PRODUCT_NAME BUILD_NUM UNICODE_STR DEBUG_STR ), --#if IS_LINUX -- TSS_StringEntry( tw::STR_VERSION, TSS_PRODUCT_NAME BUILD_NUM UNICODE_STR DEBUG_STR _T(" for Linux\n\n") TSS_COPYRIGHT_NOTICE ), -- TSS_StringEntry( tw::STR_VERSION_LONG, TSS_PRODUCT_NAME BUILD_NUM UNICODE_STR DEBUG_STR _T(" for Linux\n\n") TSS_COPYRIGHT_NOTICE_LONG ), --#elif IS_BSD -- TSS_StringEntry( tw::STR_VERSION, TSS_PRODUCT_NAME BUILD_NUM UNICODE_STR DEBUG_STR _T(" for BSD\n\n") TSS_COPYRIGHT_NOTICE ), -- TSS_StringEntry( tw::STR_VERSION_LONG, TSS_PRODUCT_NAME BUILD_NUM UNICODE_STR DEBUG_STR _T(" for BSD\n\n") TSS_COPYRIGHT_NOTICE_LONG ), --#else --# error Who the hell am I? --#endif -+ -+ TSS_StringEntry( tw::STR_VERSION, TSS_PRODUCT_NAME BUILD_NUM UNICODE_STR DEBUG_STR _T(" built for "TARGET_OS"\n\n") TSS_COPYRIGHT_NOTICE ), -+ TSS_StringEntry( tw::STR_VERSION_LONG, TSS_PRODUCT_NAME BUILD_NUM UNICODE_STR DEBUG_STR _T(" built for "TARGET_OS"\n\n") TSS_COPYRIGHT_NOTICE_LONG ), - - TSS_EndStringtable( cTW ) - -Only in tripwire-2.3.1-2.old/src/tw: twstrings.cpp~ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/tw/twutil.cpp tripwire-2.3.1-2/src/tw/twutil.cpp ---- tripwire-2.3.1-2.old/src/tw/twutil.cpp Fri Oct 27 17:25:38 2000 -+++ tripwire-2.3.1-2/src/tw/twutil.cpp Sun Mar 16 17:22:16 2003 -@@ -672,7 +672,9 @@ - throw eSerializerInputStreamFmt(_T(""), filename, eSerializer::TY_FILE); - } - -+#if 0 // XXX: This is broken, what the h*ll are they trying to write here? -PH - d.TraceDebug("Found a file header of type %d.\n", fileHeader.GetID()); -+#endif - - // check for a mismatched header - if (fileHeader.GetID() != cConfigFile::GetFileHeaderID()) -@@ -775,7 +777,9 @@ - throw eSerializerInputStreamFmt(_T(""), filename.c_str(), eSerializer::TY_FILE); - } - -+#if 0 // XXX: This is broken, how can you convert a class to an int??? -PH - d.TraceDebug("Found a file header of type %d.\n", fileHeader.GetID()); -+#endif - - // check for a mismatched header - if (fileHeader.GetID() != cConfigFile::GetFileHeaderID()) -@@ -971,7 +975,7 @@ - - passphrase = usePassphrase; - -- #if IS_LITTLE_ENDIAN -+ #ifndef WORDS_BIGENDIAN - passphrase.swapbytes(); - #endif - -@@ -1012,7 +1016,7 @@ - // sleep to hinder brute force (dictionary, etc.) attacks - iFSServices::GetInstance()->Sleep( nSecs ); - -- #if IS_LITTLE_ENDIAN -+ #ifndef WORDS_BIGENDIAN - passphrase.swapbytes(); - #endif - -@@ -1048,7 +1052,7 @@ - - passphrase = usePassphrase; - -- #if IS_LITTLE_ENDIAN -+ #ifndef WORDS_BIGENDIAN - passphrase.swapbytes(); - #endif - -@@ -1087,7 +1091,7 @@ - // sleep to hinder brute force (dictionary, etc.) attacks - iFSServices::GetInstance()->Sleep( nSecs ); - -- #if IS_LITTLE_ENDIAN -+ #ifndef WORDS_BIGENDIAN - passphrase.swapbytes(); - #endif - -@@ -1406,7 +1410,7 @@ - for (x = 0; s[x] && iswctype(s[x], wctype("space") ); x++) - ; - #else -- for (x = 0; s[x] && isspace(s[x]); x++) -+ for (x = 0; s[x] && std::isspace( s[x], std::locale() ); x++) - ; - #endif - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/tw/twutil.h tripwire-2.3.1-2/src/tw/twutil.h ---- tripwire-2.3.1-2.old/src/tw/twutil.h Fri Oct 27 17:25:37 2000 -+++ tripwire-2.3.1-2/src/tw/twutil.h Sun Mar 16 16:49:14 2003 -@@ -133,7 +133,7 @@ - // Higher level manipulation of Tripwire file objects - //------------------------------------------------------------------------- - -- static TSTRING cTWUtil::GetCfgFilePath(const cCmdLineParser& cmdLine, int cfgFileID); -+ static TSTRING GetCfgFilePath(const cCmdLineParser& cmdLine, int cfgFileID); - // Get's the path of the config file, either from the commandline, or from - // the default location. - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/twadmin/Makefile.am tripwire-2.3.1-2/src/twadmin/Makefile.am ---- tripwire-2.3.1-2.old/src/twadmin/Makefile.am Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/twadmin/Makefile.am Sat Jun 7 00:01:26 2003 -@@ -0,0 +1,17 @@ -+AUTOMAKE_OPTIONS = foreign no-dependencies -+AM_INSTALL_PROGRAM_FLAGS = -m 755 -+ -+INCLUDES = -I.. @STLPORT_INCLUDE@ -+LIBS = -ltripwire -lcryptlib @STLPORT_LD@ @LIBS@ -+LDFLAGS = @LDFLAGS@ -L../../lib -+ -+sbin_PROGRAMS = twadmin -+twadmin_SOURCES = \ -+ keygeneration.cpp stdtwadmin.cpp twadmin.cpp twadmincl.cpp \ -+ twadminerrors.cpp twadminmain.cpp twadminstrings.cpp -+ -+DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit -+CLEANFILES = ../../bin/twadmin -+ -+all: $(sbin_PROGRAMS) -+ @test -d ../../bin && ln -f $(sbin_PROGRAMS) ../../bin -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/twadmin/Makefile.in tripwire-2.3.1-2/src/twadmin/Makefile.in ---- tripwire-2.3.1-2.old/src/twadmin/Makefile.in Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/twadmin/Makefile.in Mon Sep 22 09:40:56 2003 -@@ -0,0 +1,314 @@ -+# Makefile.in generated automatically by automake 1.5 from Makefile.am. -+ -+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -+# Free Software Foundation, Inc. -+# This Makefile.in is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -+# PARTICULAR PURPOSE. -+ -+@SET_MAKE@ -+ -+SHELL = @SHELL@ -+ -+srcdir = @srcdir@ -+top_srcdir = @top_srcdir@ -+VPATH = @srcdir@ -+prefix = @prefix@ -+exec_prefix = @exec_prefix@ -+ -+bindir = @bindir@ -+sbindir = @sbindir@ -+libexecdir = @libexecdir@ -+datadir = @datadir@ -+sysconfdir = @sysconfdir@ -+sharedstatedir = @sharedstatedir@ -+localstatedir = @localstatedir@ -+libdir = @libdir@ -+infodir = @infodir@ -+mandir = @mandir@ -+includedir = @includedir@ -+oldincludedir = /usr/include -+pkgdatadir = $(datadir)/@PACKAGE@ -+pkglibdir = $(libdir)/@PACKAGE@ -+pkgincludedir = $(includedir)/@PACKAGE@ -+top_builddir = ../.. -+ -+ACLOCAL = @ACLOCAL@ -+AUTOCONF = @AUTOCONF@ -+AUTOMAKE = @AUTOMAKE@ -+AUTOHEADER = @AUTOHEADER@ -+ -+INSTALL = @INSTALL@ -+INSTALL_PROGRAM = @INSTALL_PROGRAM@ -+INSTALL_DATA = @INSTALL_DATA@ -+INSTALL_SCRIPT = @INSTALL_SCRIPT@ -+INSTALL_HEADER = $(INSTALL_DATA) -+transform = @program_transform_name@ -+NORMAL_INSTALL = : -+PRE_INSTALL = : -+POST_INSTALL = : -+NORMAL_UNINSTALL = : -+PRE_UNINSTALL = : -+POST_UNINSTALL = : -+AMTAR = @AMTAR@ -+AWK = @AWK@ -+CC = @CC@ -+CORE_CRYPT_O = @CORE_CRYPT_O@ -+CXX = @CXX@ -+DEPDIR = @DEPDIR@ -+EXEEXT = @EXEEXT@ -+GMAKE = @GMAKE@ -+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -+OBJEXT = @OBJEXT@ -+PACKAGE = @PACKAGE@ -+RANLIB = @RANLIB@ -+STLPORT_INCLUDE = @STLPORT_INCLUDE@ -+STLPORT_LD = @STLPORT_LD@ -+STLPORT_LIBRARY = @STLPORT_LIBRARY@ -+STLPORT_MAKEFILE = @STLPORT_MAKEFILE@ -+STLPORT_SUBDIR = @STLPORT_SUBDIR@ -+SYSPRE = @SYSPRE@ -+VERSION = @VERSION@ -+YACC = @YACC@ -+am__include = @am__include@ -+am__quote = @am__quote@ -+install_sh = @install_sh@ -+path_to_sendmail = @path_to_sendmail@ -+path_to_vi = @path_to_vi@ -+ -+AUTOMAKE_OPTIONS = foreign no-dependencies -+AM_INSTALL_PROGRAM_FLAGS = -m 755 -+ -+INCLUDES = -I.. @STLPORT_INCLUDE@ -+LIBS = -ltripwire -lcryptlib @STLPORT_LD@ @LIBS@ -+LDFLAGS = @LDFLAGS@ -L../../lib -+ -+sbin_PROGRAMS = twadmin -+twadmin_SOURCES = \ -+ keygeneration.cpp stdtwadmin.cpp twadmin.cpp twadmincl.cpp \ -+ twadminerrors.cpp twadminmain.cpp twadminstrings.cpp -+ -+ -+DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit -+CLEANFILES = ../../bin/twadmin -+subdir = src/twadmin -+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -+CONFIG_HEADER = $(top_builddir)/config.h -+CONFIG_CLEAN_FILES = -+sbin_PROGRAMS = twadmin$(EXEEXT) -+PROGRAMS = $(sbin_PROGRAMS) -+ -+am_twadmin_OBJECTS = keygeneration.$(OBJEXT) stdtwadmin.$(OBJEXT) \ -+ twadmin.$(OBJEXT) twadmincl.$(OBJEXT) twadminerrors.$(OBJEXT) \ -+ twadminmain.$(OBJEXT) twadminstrings.$(OBJEXT) -+twadmin_OBJECTS = $(am_twadmin_OBJECTS) -+twadmin_LDADD = $(LDADD) -+twadmin_DEPENDENCIES = -+twadmin_LDFLAGS = -+DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -+CPPFLAGS = @CPPFLAGS@ -+depcomp = -+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -+CXXLD = $(CXX) -+CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -+ -o $@ -+CXXFLAGS = @CXXFLAGS@ -+DIST_SOURCES = $(twadmin_SOURCES) -+DIST_COMMON = Makefile.am Makefile.in -+SOURCES = $(twadmin_SOURCES) -+ -+all: all-am -+ -+.SUFFIXES: -+.SUFFIXES: .cpp .o .obj -+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) -+ cd $(top_srcdir) && \ -+ $(AUTOMAKE) --foreign src/twadmin/Makefile -+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status -+ cd $(top_builddir) && \ -+ CONFIG_HEADERS= CONFIG_LINKS= \ -+ CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -+install-sbinPROGRAMS: $(sbin_PROGRAMS) -+ @$(NORMAL_INSTALL) -+ $(mkinstalldirs) $(DESTDIR)$(sbindir) -+ @list='$(sbin_PROGRAMS)'; for p in $$list; do \ -+ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ -+ if test -f $$p \ -+ ; then \ -+ f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \ -+ echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(sbindir)/$$f"; \ -+ $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(sbindir)/$$f; \ -+ else :; fi; \ -+ done -+ -+uninstall-sbinPROGRAMS: -+ @$(NORMAL_UNINSTALL) -+ @list='$(sbin_PROGRAMS)'; for p in $$list; do \ -+ f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ -+ echo " rm -f $(DESTDIR)$(sbindir)/$$f"; \ -+ rm -f $(DESTDIR)$(sbindir)/$$f; \ -+ done -+ -+clean-sbinPROGRAMS: -+ -test -z "$(sbin_PROGRAMS)" || rm -f $(sbin_PROGRAMS) -+twadmin$(EXEEXT): $(twadmin_OBJECTS) $(twadmin_DEPENDENCIES) -+ @rm -f twadmin$(EXEEXT) -+ $(CXXLINK) $(twadmin_LDFLAGS) $(twadmin_OBJECTS) $(twadmin_LDADD) $(LIBS) -+ -+mostlyclean-compile: -+ -rm -f *.$(OBJEXT) core *.core -+ -+distclean-compile: -+ -rm -f *.tab.c -+ -+.cpp.o: -+ $(CXXCOMPILE) -c -o $@ $< -+ -+.cpp.obj: -+ $(CXXCOMPILE) -c -o $@ `cygpath -w $<` -+uninstall-info-am: -+ -+tags: TAGS -+ -+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) -+ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ -+ unique=`for i in $$list; do \ -+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+ done | \ -+ $(AWK) ' { files[$$0] = 1; } \ -+ END { for (i in files) print i; }'`; \ -+ mkid -fID $$unique $(LISP) -+ -+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ -+ $(TAGS_FILES) $(LISP) -+ tags=; \ -+ here=`pwd`; \ -+ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ -+ unique=`for i in $$list; do \ -+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+ done | \ -+ $(AWK) ' { files[$$0] = 1; } \ -+ END { for (i in files) print i; }'`; \ -+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ -+ || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -+ -+GTAGS: -+ here=`CDPATH=: && cd $(top_builddir) && pwd` \ -+ && cd $(top_srcdir) \ -+ && gtags -i $(GTAGS_ARGS) $$here -+ -+distclean-tags: -+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH -+ -+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -+ -+top_distdir = ../.. -+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) -+ -+distdir: $(DISTFILES) -+ @for file in $(DISTFILES); do \ -+ if test -f $$file; then d=.; else d=$(srcdir); fi; \ -+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ -+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ -+ $(mkinstalldirs) "$(distdir)/$$dir"; \ -+ fi; \ -+ if test -d $$d/$$file; then \ -+ cp -pR $$d/$$file $(distdir) \ -+ || exit 1; \ -+ else \ -+ test -f $(distdir)/$$file \ -+ || cp -p $$d/$$file $(distdir)/$$file \ -+ || exit 1; \ -+ fi; \ -+ done -+check-am: all-am -+check: check-am -+all-am: Makefile $(PROGRAMS) -+ -+installdirs: -+ $(mkinstalldirs) $(DESTDIR)$(sbindir) -+ -+install: install-am -+install-exec: install-exec-am -+install-data: install-data-am -+uninstall: uninstall-am -+ -+install-am: all-am -+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -+ -+installcheck: installcheck-am -+install-strip: -+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ -+ `test -z '$(STRIP)' || \ -+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -+mostlyclean-generic: -+ -+clean-generic: -+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) -+ -+distclean-generic: -+ -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* -+ -+maintainer-clean-generic: -+ @echo "This command is intended for maintainers to use" -+ @echo "it deletes files that may require special tools to rebuild." -+clean: clean-am -+ -+clean-am: clean-generic clean-sbinPROGRAMS mostlyclean-am -+ -+distclean: distclean-am -+ -+distclean-am: clean-am distclean-compile distclean-generic \ -+ distclean-tags -+ -+dvi: dvi-am -+ -+dvi-am: -+ -+info: info-am -+ -+info-am: -+ -+install-data-am: -+ -+install-exec-am: install-sbinPROGRAMS -+ -+install-info: install-info-am -+ -+install-man: -+ -+installcheck-am: -+ -+maintainer-clean: maintainer-clean-am -+ -+maintainer-clean-am: distclean-am maintainer-clean-generic -+ -+mostlyclean: mostlyclean-am -+ -+mostlyclean-am: mostlyclean-compile mostlyclean-generic -+ -+uninstall-am: uninstall-info-am uninstall-sbinPROGRAMS -+ -+.PHONY: GTAGS all all-am check check-am clean clean-generic \ -+ clean-sbinPROGRAMS distclean distclean-compile \ -+ distclean-generic distclean-tags distdir dvi dvi-am info \ -+ info-am install install-am install-data install-data-am \ -+ install-exec install-exec-am install-info install-info-am \ -+ install-man install-sbinPROGRAMS install-strip installcheck \ -+ installcheck-am installdirs maintainer-clean \ -+ maintainer-clean-generic mostlyclean mostlyclean-compile \ -+ mostlyclean-generic tags uninstall uninstall-am \ -+ uninstall-info-am uninstall-sbinPROGRAMS -+ -+ -+all: $(sbin_PROGRAMS) -+ @test -d ../../bin && ln -f $(sbin_PROGRAMS) ../../bin -+# Tell versions [3.59,3.63) of GNU make to not export all variables. -+# Otherwise a system limit (for SysV at least) may be exceeded. -+.NOEXPORT: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/twadmin/keygeneration.cpp tripwire-2.3.1-2/src/twadmin/keygeneration.cpp ---- tripwire-2.3.1-2.old/src/twadmin/keygeneration.cpp Fri Oct 27 17:26:22 2000 -+++ tripwire-2.3.1-2/src/twadmin/keygeneration.cpp Sun Mar 18 12:48:23 2001 -@@ -138,7 +138,7 @@ - - bool GenerateKey(const TCHAR* keyPath, wc16_string passphrase) - { --#if IS_LITTLE_ENDIAN -+#ifndef WORDS_BIGENDIAN - passphrase.swapbytes(); - #endif - -Only in tripwire-2.3.1-2.old/src/twadmin: twadmin.mak -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/twadmin/twadmincl.cpp tripwire-2.3.1-2/src/twadmin/twadmincl.cpp ---- tripwire-2.3.1-2.old/src/twadmin/twadmincl.cpp Fri Oct 27 17:26:22 2000 -+++ tripwire-2.3.1-2/src/twadmin/twadmincl.cpp Thu Jun 19 21:50:18 2003 -@@ -225,7 +225,7 @@ - { - public: - cTWAModeCreateCfg(); -- ~cTWAModeCreateCfg(); -+ virtual ~cTWAModeCreateCfg(); - - virtual void InitCmdLineParser(cCmdLineParser& parser); - virtual bool Init (const cConfigFile* cf, const cCmdLineParser& parser); -@@ -446,7 +446,7 @@ - { - public: - cTWAModeCreatePol(); -- ~cTWAModeCreatePol(); -+ virtual ~cTWAModeCreatePol(); - - virtual void InitCmdLineParser(cCmdLineParser& parser); - virtual bool Init (const cConfigFile* cf, const cCmdLineParser& parser); -@@ -637,7 +637,7 @@ - { - public: - cTWAModePrintCfg(); -- ~cTWAModePrintCfg(); -+ virtual ~cTWAModePrintCfg(); - - virtual void InitCmdLineParser(cCmdLineParser& parser); - virtual bool Init (const cConfigFile* cf, const cCmdLineParser& parser); -@@ -720,7 +720,7 @@ - { - public: - cTWAModePrintPol(); -- ~cTWAModePrintPol(); -+ virtual ~cTWAModePrintPol(); - - virtual void InitCmdLineParser(cCmdLineParser& parser); - virtual bool Init (const cConfigFile* cf, const cCmdLineParser& parser); -@@ -813,7 +813,7 @@ - { - public: - cTWAModeRemoveEncryption(); -- ~cTWAModeRemoveEncryption(); -+ virtual ~cTWAModeRemoveEncryption(); - - virtual void InitCmdLineParser(cCmdLineParser& parser); - virtual bool Init (const cConfigFile* cf, const cCmdLineParser& parser); -@@ -1115,7 +1115,7 @@ - { - public: - cTWAModeEncrypt(); -- ~cTWAModeEncrypt(); -+ virtual ~cTWAModeEncrypt(); - - virtual void InitCmdLineParser(cCmdLineParser& parser); - virtual bool Init (const cConfigFile* cf, const cCmdLineParser& parser); -@@ -1389,7 +1389,7 @@ - { - public: - cTWAModeExamine(); -- ~cTWAModeExamine(); -+ virtual ~cTWAModeExamine(); - - virtual void InitCmdLineParser(cCmdLineParser& parser); - virtual bool Init (const cConfigFile* cf, const cCmdLineParser& parser); -@@ -1591,7 +1591,7 @@ - { - public: - cTWAModeGenerateKeys(); -- ~cTWAModeGenerateKeys(); -+ virtual ~cTWAModeGenerateKeys(); - - virtual void InitCmdLineParser(cCmdLineParser& parser); - virtual bool Init (const cConfigFile* cf, const cCmdLineParser& parser); -@@ -1852,7 +1852,7 @@ - { - public: - cTWAModeHelp() {} -- ~cTWAModeHelp() {} -+ virtual ~cTWAModeHelp() {} - - virtual void InitCmdLineParser(cCmdLineParser& cmdLine); - virtual bool Init (const cConfigFile* cf, const cCmdLineParser& cmdLine); -@@ -2090,7 +2090,7 @@ - { - public: - cTWAModeVersion() {} -- ~cTWAModeVersion() {} -+ virtual ~cTWAModeVersion() {} - - virtual void InitCmdLineParser(cCmdLineParser& cmdLine) { ASSERT(false); } - virtual bool Init (const cConfigFile* cf, const cCmdLineParser& cmdLine) { ASSERT(false); return true; } -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/twadmin/twadmincl.h tripwire-2.3.1-2/src/twadmin/twadmincl.h ---- tripwire-2.3.1-2.old/src/twadmin/twadmincl.h Fri Oct 27 17:26:22 2000 -+++ tripwire-2.3.1-2/src/twadmin/twadmincl.h Thu Jun 19 21:50:18 2003 -@@ -155,6 +155,7 @@ - void SetCfgFilePath( const TSTRING& path ) { mCfgFilePath = path; } - // if the config file is opened in main(), this should be called so the modes know what the path - // to the config file is. -+ virtual ~iTWAMode() {}; - protected: - TSTRING mCfgFilePath; - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/twadmin/twadminmain.cpp tripwire-2.3.1-2/src/twadmin/twadminmain.cpp ---- tripwire-2.3.1-2.old/src/twadmin/twadminmain.cpp Fri Oct 27 17:26:22 2000 -+++ tripwire-2.3.1-2/src/twadmin/twadminmain.cpp Mon Aug 12 20:49:35 2002 -@@ -86,11 +86,6 @@ - // set unexpected and terminate handlers - // Note: we do this before Init() in case it attempts to call these handlers - // TODO: move this into the Init() routine --#if IS_GCC -- #define EXCEPTION_NAMESPACE -- #else -- #define EXCEPTION_NAMESPACE std:: -- #endif - EXCEPTION_NAMESPACE set_terminate(tw_terminate_handler); - EXCEPTION_NAMESPACE set_unexpected(tw_unexpected_handler); - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/twcrypto/Makefile.am tripwire-2.3.1-2/src/twcrypto/Makefile.am ---- tripwire-2.3.1-2.old/src/twcrypto/Makefile.am Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/twcrypto/Makefile.am Sun Mar 16 11:50:05 2003 -@@ -0,0 +1,13 @@ -+AUTOMAKE_OPTIONS = foreign no-dependencies -+ -+INCLUDES = -I.. @STLPORT_INCLUDE@ -+ -+noinst_LIBRARIES = libtwcrypto.a -+libtwcrypto_a_SOURCES = \ -+ bytequeue.cpp crypto.cpp cryptoarchive.cpp keyfile.cpp \ -+ stdtwcrypto.cpp twcrypto.cpp twcryptoerrors.cpp -+ -+DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit -+ -+all: $(noinst_LIBRARIES) -+ $(AR) ru ../../lib/libtripwire.a $(libtwcrypto_a_OBJECTS) -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/twcrypto/Makefile.in tripwire-2.3.1-2/src/twcrypto/Makefile.in ---- tripwire-2.3.1-2.old/src/twcrypto/Makefile.in Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/twcrypto/Makefile.in Mon Sep 22 09:40:56 2003 -@@ -0,0 +1,290 @@ -+# Makefile.in generated automatically by automake 1.5 from Makefile.am. -+ -+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -+# Free Software Foundation, Inc. -+# This Makefile.in is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -+# PARTICULAR PURPOSE. -+ -+@SET_MAKE@ -+ -+SHELL = @SHELL@ -+ -+srcdir = @srcdir@ -+top_srcdir = @top_srcdir@ -+VPATH = @srcdir@ -+prefix = @prefix@ -+exec_prefix = @exec_prefix@ -+ -+bindir = @bindir@ -+sbindir = @sbindir@ -+libexecdir = @libexecdir@ -+datadir = @datadir@ -+sysconfdir = @sysconfdir@ -+sharedstatedir = @sharedstatedir@ -+localstatedir = @localstatedir@ -+libdir = @libdir@ -+infodir = @infodir@ -+mandir = @mandir@ -+includedir = @includedir@ -+oldincludedir = /usr/include -+pkgdatadir = $(datadir)/@PACKAGE@ -+pkglibdir = $(libdir)/@PACKAGE@ -+pkgincludedir = $(includedir)/@PACKAGE@ -+top_builddir = ../.. -+ -+ACLOCAL = @ACLOCAL@ -+AUTOCONF = @AUTOCONF@ -+AUTOMAKE = @AUTOMAKE@ -+AUTOHEADER = @AUTOHEADER@ -+ -+INSTALL = @INSTALL@ -+INSTALL_PROGRAM = @INSTALL_PROGRAM@ -+INSTALL_DATA = @INSTALL_DATA@ -+INSTALL_SCRIPT = @INSTALL_SCRIPT@ -+INSTALL_HEADER = $(INSTALL_DATA) -+transform = @program_transform_name@ -+NORMAL_INSTALL = : -+PRE_INSTALL = : -+POST_INSTALL = : -+NORMAL_UNINSTALL = : -+PRE_UNINSTALL = : -+POST_UNINSTALL = : -+AMTAR = @AMTAR@ -+AWK = @AWK@ -+CC = @CC@ -+CORE_CRYPT_O = @CORE_CRYPT_O@ -+CXX = @CXX@ -+DEPDIR = @DEPDIR@ -+EXEEXT = @EXEEXT@ -+GMAKE = @GMAKE@ -+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -+OBJEXT = @OBJEXT@ -+PACKAGE = @PACKAGE@ -+RANLIB = @RANLIB@ -+STLPORT_INCLUDE = @STLPORT_INCLUDE@ -+STLPORT_LD = @STLPORT_LD@ -+STLPORT_LIBRARY = @STLPORT_LIBRARY@ -+STLPORT_MAKEFILE = @STLPORT_MAKEFILE@ -+STLPORT_SUBDIR = @STLPORT_SUBDIR@ -+SYSPRE = @SYSPRE@ -+VERSION = @VERSION@ -+YACC = @YACC@ -+am__include = @am__include@ -+am__quote = @am__quote@ -+install_sh = @install_sh@ -+path_to_sendmail = @path_to_sendmail@ -+path_to_vi = @path_to_vi@ -+ -+AUTOMAKE_OPTIONS = foreign no-dependencies -+ -+INCLUDES = -I.. @STLPORT_INCLUDE@ -+ -+noinst_LIBRARIES = libtwcrypto.a -+libtwcrypto_a_SOURCES = \ -+ bytequeue.cpp crypto.cpp cryptoarchive.cpp keyfile.cpp \ -+ stdtwcrypto.cpp twcrypto.cpp twcryptoerrors.cpp -+ -+ -+DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit -+subdir = src/twcrypto -+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -+CONFIG_HEADER = $(top_builddir)/config.h -+CONFIG_CLEAN_FILES = -+LIBRARIES = $(noinst_LIBRARIES) -+ -+libtwcrypto_a_AR = $(AR) cru -+libtwcrypto_a_LIBADD = -+am_libtwcrypto_a_OBJECTS = bytequeue.$(OBJEXT) crypto.$(OBJEXT) \ -+ cryptoarchive.$(OBJEXT) keyfile.$(OBJEXT) stdtwcrypto.$(OBJEXT) \ -+ twcrypto.$(OBJEXT) twcryptoerrors.$(OBJEXT) -+libtwcrypto_a_OBJECTS = $(am_libtwcrypto_a_OBJECTS) -+DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -+CPPFLAGS = @CPPFLAGS@ -+LDFLAGS = @LDFLAGS@ -+LIBS = @LIBS@ -+depcomp = -+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -+CXXLD = $(CXX) -+CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -+ -o $@ -+CXXFLAGS = @CXXFLAGS@ -+DIST_SOURCES = $(libtwcrypto_a_SOURCES) -+DIST_COMMON = Makefile.am Makefile.in -+SOURCES = $(libtwcrypto_a_SOURCES) -+ -+all: all-am -+ -+.SUFFIXES: -+.SUFFIXES: .cpp .o .obj -+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) -+ cd $(top_srcdir) && \ -+ $(AUTOMAKE) --foreign src/twcrypto/Makefile -+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status -+ cd $(top_builddir) && \ -+ CONFIG_HEADERS= CONFIG_LINKS= \ -+ CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -+ -+AR = ar -+ -+clean-noinstLIBRARIES: -+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) -+libtwcrypto.a: $(libtwcrypto_a_OBJECTS) $(libtwcrypto_a_DEPENDENCIES) -+ -rm -f libtwcrypto.a -+ $(libtwcrypto_a_AR) libtwcrypto.a $(libtwcrypto_a_OBJECTS) $(libtwcrypto_a_LIBADD) -+ $(RANLIB) libtwcrypto.a -+ -+mostlyclean-compile: -+ -rm -f *.$(OBJEXT) core *.core -+ -+distclean-compile: -+ -rm -f *.tab.c -+ -+.cpp.o: -+ $(CXXCOMPILE) -c -o $@ $< -+ -+.cpp.obj: -+ $(CXXCOMPILE) -c -o $@ `cygpath -w $<` -+uninstall-info-am: -+ -+tags: TAGS -+ -+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) -+ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ -+ unique=`for i in $$list; do \ -+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+ done | \ -+ $(AWK) ' { files[$$0] = 1; } \ -+ END { for (i in files) print i; }'`; \ -+ mkid -fID $$unique $(LISP) -+ -+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ -+ $(TAGS_FILES) $(LISP) -+ tags=; \ -+ here=`pwd`; \ -+ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ -+ unique=`for i in $$list; do \ -+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+ done | \ -+ $(AWK) ' { files[$$0] = 1; } \ -+ END { for (i in files) print i; }'`; \ -+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ -+ || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -+ -+GTAGS: -+ here=`CDPATH=: && cd $(top_builddir) && pwd` \ -+ && cd $(top_srcdir) \ -+ && gtags -i $(GTAGS_ARGS) $$here -+ -+distclean-tags: -+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH -+ -+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -+ -+top_distdir = ../.. -+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) -+ -+distdir: $(DISTFILES) -+ @for file in $(DISTFILES); do \ -+ if test -f $$file; then d=.; else d=$(srcdir); fi; \ -+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ -+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ -+ $(mkinstalldirs) "$(distdir)/$$dir"; \ -+ fi; \ -+ if test -d $$d/$$file; then \ -+ cp -pR $$d/$$file $(distdir) \ -+ || exit 1; \ -+ else \ -+ test -f $(distdir)/$$file \ -+ || cp -p $$d/$$file $(distdir)/$$file \ -+ || exit 1; \ -+ fi; \ -+ done -+check-am: all-am -+check: check-am -+all-am: Makefile $(LIBRARIES) -+ -+installdirs: -+ -+install: install-am -+install-exec: install-exec-am -+install-data: install-data-am -+uninstall: uninstall-am -+ -+install-am: all-am -+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -+ -+installcheck: installcheck-am -+install-strip: -+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ -+ `test -z '$(STRIP)' || \ -+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -+mostlyclean-generic: -+ -+clean-generic: -+ -+distclean-generic: -+ -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* -+ -+maintainer-clean-generic: -+ @echo "This command is intended for maintainers to use" -+ @echo "it deletes files that may require special tools to rebuild." -+clean: clean-am -+ -+clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am -+ -+distclean: distclean-am -+ -+distclean-am: clean-am distclean-compile distclean-generic \ -+ distclean-tags -+ -+dvi: dvi-am -+ -+dvi-am: -+ -+info: info-am -+ -+info-am: -+ -+install-data-am: -+ -+install-exec-am: -+ -+install-info: install-info-am -+ -+install-man: -+ -+installcheck-am: -+ -+maintainer-clean: maintainer-clean-am -+ -+maintainer-clean-am: distclean-am maintainer-clean-generic -+ -+mostlyclean: mostlyclean-am -+ -+mostlyclean-am: mostlyclean-compile mostlyclean-generic -+ -+uninstall-am: uninstall-info-am -+ -+.PHONY: GTAGS all all-am check check-am clean clean-generic \ -+ clean-noinstLIBRARIES distclean distclean-compile \ -+ distclean-generic distclean-tags distdir dvi dvi-am info \ -+ info-am install install-am install-data install-data-am \ -+ install-exec install-exec-am install-info install-info-am \ -+ install-man install-strip installcheck installcheck-am \ -+ installdirs maintainer-clean maintainer-clean-generic \ -+ mostlyclean mostlyclean-compile mostlyclean-generic tags \ -+ uninstall uninstall-am uninstall-info-am -+ -+ -+all: $(noinst_LIBRARIES) -+ $(AR) ru ../../lib/libtripwire.a $(libtwcrypto_a_OBJECTS) -+# Tell versions [3.59,3.63) of GNU make to not export all variables. -+# Otherwise a system limit (for SysV at least) may be exceeded. -+.NOEXPORT: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/twcrypto/cryptoarchive.h tripwire-2.3.1-2/src/twcrypto/cryptoarchive.h ---- tripwire-2.3.1-2.old/src/twcrypto/cryptoarchive.h Fri Oct 27 17:26:25 2000 -+++ tripwire-2.3.1-2/src/twcrypto/cryptoarchive.h Thu Jun 19 21:50:18 2003 -@@ -72,7 +72,7 @@ - { - public: - cCryptoArchive(); -- ~cCryptoArchive(); -+ virtual ~cCryptoArchive(); - - // TODO: Start and Finish should be virtual so derived classes can override them - // (and in the case of RSA and ElGamal archives, throw an exception or something). -@@ -122,7 +122,7 @@ - { - public: - cNullCryptoArchive(); -- ~cNullCryptoArchive(); -+ virtual ~cNullCryptoArchive(); - - void Start(cArchive* pArchive); - void Finish(); -@@ -187,7 +187,7 @@ - { - public: - cElGamalSigArchive(); -- ~cElGamalSigArchive(); -+ virtual ~cElGamalSigArchive(); - - void SetWrite(cArchive* pDestArchive, const cElGamalSigPrivateKey* pPrivateKey); - -Only in tripwire-2.3.1-2.old/src/twcrypto: twcrypto.mak -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/twparser/Makefile.am tripwire-2.3.1-2/src/twparser/Makefile.am ---- tripwire-2.3.1-2.old/src/twparser/Makefile.am Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/twparser/Makefile.am Sun Mar 16 11:50:05 2003 -@@ -0,0 +1,14 @@ -+AUTOMAKE_OPTIONS = foreign no-dependencies -+ -+INCLUDES = -I.. @STLPORT_INCLUDE@ -+ -+noinst_LIBRARIES = libtwparser.a -+libtwparser_a_SOURCES = \ -+ genreparseinfo.cpp parserhelper.cpp parserobjects.cpp \ -+ policyparser.cpp stdtwparser.cpp twparser.cpp twparsererrors.cpp \ -+ twparserstrings.cpp yylex.cpp yyparse.cpp -+ -+DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit -+ -+all: $(noinst_LIBRARIES) -+ $(AR) ru ../../lib/libtripwire.a $(libtwparser_a_OBJECTS) -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/twparser/Makefile.in tripwire-2.3.1-2/src/twparser/Makefile.in ---- tripwire-2.3.1-2.old/src/twparser/Makefile.in Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/twparser/Makefile.in Mon Sep 22 09:40:56 2003 -@@ -0,0 +1,293 @@ -+# Makefile.in generated automatically by automake 1.5 from Makefile.am. -+ -+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -+# Free Software Foundation, Inc. -+# This Makefile.in is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -+# PARTICULAR PURPOSE. -+ -+@SET_MAKE@ -+ -+SHELL = @SHELL@ -+ -+srcdir = @srcdir@ -+top_srcdir = @top_srcdir@ -+VPATH = @srcdir@ -+prefix = @prefix@ -+exec_prefix = @exec_prefix@ -+ -+bindir = @bindir@ -+sbindir = @sbindir@ -+libexecdir = @libexecdir@ -+datadir = @datadir@ -+sysconfdir = @sysconfdir@ -+sharedstatedir = @sharedstatedir@ -+localstatedir = @localstatedir@ -+libdir = @libdir@ -+infodir = @infodir@ -+mandir = @mandir@ -+includedir = @includedir@ -+oldincludedir = /usr/include -+pkgdatadir = $(datadir)/@PACKAGE@ -+pkglibdir = $(libdir)/@PACKAGE@ -+pkgincludedir = $(includedir)/@PACKAGE@ -+top_builddir = ../.. -+ -+ACLOCAL = @ACLOCAL@ -+AUTOCONF = @AUTOCONF@ -+AUTOMAKE = @AUTOMAKE@ -+AUTOHEADER = @AUTOHEADER@ -+ -+INSTALL = @INSTALL@ -+INSTALL_PROGRAM = @INSTALL_PROGRAM@ -+INSTALL_DATA = @INSTALL_DATA@ -+INSTALL_SCRIPT = @INSTALL_SCRIPT@ -+INSTALL_HEADER = $(INSTALL_DATA) -+transform = @program_transform_name@ -+NORMAL_INSTALL = : -+PRE_INSTALL = : -+POST_INSTALL = : -+NORMAL_UNINSTALL = : -+PRE_UNINSTALL = : -+POST_UNINSTALL = : -+AMTAR = @AMTAR@ -+AWK = @AWK@ -+CC = @CC@ -+CORE_CRYPT_O = @CORE_CRYPT_O@ -+CXX = @CXX@ -+DEPDIR = @DEPDIR@ -+EXEEXT = @EXEEXT@ -+GMAKE = @GMAKE@ -+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -+OBJEXT = @OBJEXT@ -+PACKAGE = @PACKAGE@ -+RANLIB = @RANLIB@ -+STLPORT_INCLUDE = @STLPORT_INCLUDE@ -+STLPORT_LD = @STLPORT_LD@ -+STLPORT_LIBRARY = @STLPORT_LIBRARY@ -+STLPORT_MAKEFILE = @STLPORT_MAKEFILE@ -+STLPORT_SUBDIR = @STLPORT_SUBDIR@ -+SYSPRE = @SYSPRE@ -+VERSION = @VERSION@ -+YACC = @YACC@ -+am__include = @am__include@ -+am__quote = @am__quote@ -+install_sh = @install_sh@ -+path_to_sendmail = @path_to_sendmail@ -+path_to_vi = @path_to_vi@ -+ -+AUTOMAKE_OPTIONS = foreign no-dependencies -+ -+INCLUDES = -I.. @STLPORT_INCLUDE@ -+ -+noinst_LIBRARIES = libtwparser.a -+libtwparser_a_SOURCES = \ -+ genreparseinfo.cpp parserhelper.cpp parserobjects.cpp \ -+ policyparser.cpp stdtwparser.cpp twparser.cpp twparsererrors.cpp \ -+ twparserstrings.cpp yylex.cpp yyparse.cpp -+ -+ -+DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit -+subdir = src/twparser -+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -+CONFIG_HEADER = $(top_builddir)/config.h -+CONFIG_CLEAN_FILES = -+LIBRARIES = $(noinst_LIBRARIES) -+ -+libtwparser_a_AR = $(AR) cru -+libtwparser_a_LIBADD = -+am_libtwparser_a_OBJECTS = genreparseinfo.$(OBJEXT) \ -+ parserhelper.$(OBJEXT) parserobjects.$(OBJEXT) \ -+ policyparser.$(OBJEXT) stdtwparser.$(OBJEXT) twparser.$(OBJEXT) \ -+ twparsererrors.$(OBJEXT) twparserstrings.$(OBJEXT) \ -+ yylex.$(OBJEXT) yyparse.$(OBJEXT) -+libtwparser_a_OBJECTS = $(am_libtwparser_a_OBJECTS) -+DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -+CPPFLAGS = @CPPFLAGS@ -+LDFLAGS = @LDFLAGS@ -+LIBS = @LIBS@ -+depcomp = -+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -+CXXLD = $(CXX) -+CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -+ -o $@ -+CXXFLAGS = @CXXFLAGS@ -+DIST_SOURCES = $(libtwparser_a_SOURCES) -+DIST_COMMON = Makefile.am Makefile.in -+SOURCES = $(libtwparser_a_SOURCES) -+ -+all: all-am -+ -+.SUFFIXES: -+.SUFFIXES: .cpp .o .obj -+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) -+ cd $(top_srcdir) && \ -+ $(AUTOMAKE) --foreign src/twparser/Makefile -+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status -+ cd $(top_builddir) && \ -+ CONFIG_HEADERS= CONFIG_LINKS= \ -+ CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -+ -+AR = ar -+ -+clean-noinstLIBRARIES: -+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) -+libtwparser.a: $(libtwparser_a_OBJECTS) $(libtwparser_a_DEPENDENCIES) -+ -rm -f libtwparser.a -+ $(libtwparser_a_AR) libtwparser.a $(libtwparser_a_OBJECTS) $(libtwparser_a_LIBADD) -+ $(RANLIB) libtwparser.a -+ -+mostlyclean-compile: -+ -rm -f *.$(OBJEXT) core *.core -+ -+distclean-compile: -+ -rm -f *.tab.c -+ -+.cpp.o: -+ $(CXXCOMPILE) -c -o $@ $< -+ -+.cpp.obj: -+ $(CXXCOMPILE) -c -o $@ `cygpath -w $<` -+uninstall-info-am: -+ -+tags: TAGS -+ -+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) -+ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ -+ unique=`for i in $$list; do \ -+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+ done | \ -+ $(AWK) ' { files[$$0] = 1; } \ -+ END { for (i in files) print i; }'`; \ -+ mkid -fID $$unique $(LISP) -+ -+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ -+ $(TAGS_FILES) $(LISP) -+ tags=; \ -+ here=`pwd`; \ -+ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ -+ unique=`for i in $$list; do \ -+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+ done | \ -+ $(AWK) ' { files[$$0] = 1; } \ -+ END { for (i in files) print i; }'`; \ -+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ -+ || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -+ -+GTAGS: -+ here=`CDPATH=: && cd $(top_builddir) && pwd` \ -+ && cd $(top_srcdir) \ -+ && gtags -i $(GTAGS_ARGS) $$here -+ -+distclean-tags: -+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH -+ -+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -+ -+top_distdir = ../.. -+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) -+ -+distdir: $(DISTFILES) -+ @for file in $(DISTFILES); do \ -+ if test -f $$file; then d=.; else d=$(srcdir); fi; \ -+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ -+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ -+ $(mkinstalldirs) "$(distdir)/$$dir"; \ -+ fi; \ -+ if test -d $$d/$$file; then \ -+ cp -pR $$d/$$file $(distdir) \ -+ || exit 1; \ -+ else \ -+ test -f $(distdir)/$$file \ -+ || cp -p $$d/$$file $(distdir)/$$file \ -+ || exit 1; \ -+ fi; \ -+ done -+check-am: all-am -+check: check-am -+all-am: Makefile $(LIBRARIES) -+ -+installdirs: -+ -+install: install-am -+install-exec: install-exec-am -+install-data: install-data-am -+uninstall: uninstall-am -+ -+install-am: all-am -+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -+ -+installcheck: installcheck-am -+install-strip: -+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ -+ `test -z '$(STRIP)' || \ -+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -+mostlyclean-generic: -+ -+clean-generic: -+ -+distclean-generic: -+ -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* -+ -+maintainer-clean-generic: -+ @echo "This command is intended for maintainers to use" -+ @echo "it deletes files that may require special tools to rebuild." -+clean: clean-am -+ -+clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am -+ -+distclean: distclean-am -+ -+distclean-am: clean-am distclean-compile distclean-generic \ -+ distclean-tags -+ -+dvi: dvi-am -+ -+dvi-am: -+ -+info: info-am -+ -+info-am: -+ -+install-data-am: -+ -+install-exec-am: -+ -+install-info: install-info-am -+ -+install-man: -+ -+installcheck-am: -+ -+maintainer-clean: maintainer-clean-am -+ -+maintainer-clean-am: distclean-am maintainer-clean-generic -+ -+mostlyclean: mostlyclean-am -+ -+mostlyclean-am: mostlyclean-compile mostlyclean-generic -+ -+uninstall-am: uninstall-info-am -+ -+.PHONY: GTAGS all all-am check check-am clean clean-generic \ -+ clean-noinstLIBRARIES distclean distclean-compile \ -+ distclean-generic distclean-tags distdir dvi dvi-am info \ -+ info-am install install-am install-data install-data-am \ -+ install-exec install-exec-am install-info install-info-am \ -+ install-man install-strip installcheck installcheck-am \ -+ installdirs maintainer-clean maintainer-clean-generic \ -+ mostlyclean mostlyclean-compile mostlyclean-generic tags \ -+ uninstall uninstall-am uninstall-info-am -+ -+ -+all: $(noinst_LIBRARIES) -+ $(AR) ru ../../lib/libtripwire.a $(libtwparser_a_OBJECTS) -+# Tell versions [3.59,3.63) of GNU make to not export all variables. -+# Otherwise a system limit (for SysV at least) may be exceeded. -+.NOEXPORT: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/twparser/parserhelper.cpp tripwire-2.3.1-2/src/twparser/parserhelper.cpp ---- tripwire-2.3.1-2.old/src/twparser/parserhelper.cpp Fri Oct 27 17:26:24 2000 -+++ tripwire-2.3.1-2/src/twparser/parserhelper.cpp Sun Mar 16 17:22:16 2003 -@@ -472,7 +472,7 @@ - - pchCur++; // go to char past '\' - -- if (*pchCur == 'x' && isxdigit( *( pchCur + 1 ) ) ) // deal with \xXXXX where 'x' is the character 'x', and 'X' is a hex number -+ if (*pchCur == 'x' && std::isxdigit(*(pchCur+1), std::locale() ) ) // deal with \xXXXX where 'x' is the character 'x', and 'X' is a hex number - { - pchCur++; // go to char past 'x' - char cEscapedChar = static_cast( util_ConvertHex( pchCur, &nCharsRead ) ); -@@ -954,26 +954,26 @@ - ASSERT( util_AsciiCharsActLikeTheyShould() ); - ASSERT( cpsz && pnCharsRead ); - -- if (*cpsz == 0 || !isxdigit( *cpsz )) -+ if (*cpsz == 0 || !std::isxdigit( *cpsz, std::locale() )) - throw eParserBadHex( cStringUtil::StrToTstr( cpsz ) ); - - int iValue; - const char* psz = cpsz; - for( - *pnCharsRead = 0, iValue = 0; -- *psz && isxdigit( *psz ) && (*pnCharsRead < 2); -+ *psz && std::isxdigit( *psz, std::locale() ) && (*pnCharsRead < 2); - psz++, (*pnCharsRead)++ - ) - { - iValue *= 0x10; - -- if( isdigit( *psz ) ) -+ if( std::isdigit( *psz, std::locale() ) ) - { - iValue += ( *psz - '0' ); - } - else - { -- if( islower( *psz ) ) -+ if( std::islower( *psz, std::locale() ) ) - iValue += ( *psz - 'a' + 10 ); // so that A=10, B=11, ..., F=15 - else // is uppercase - iValue += ( *psz - 'A' + 10 ); // so that a=10, a=11, ..., f=15 -@@ -988,7 +988,7 @@ - ASSERT( util_AsciiCharsActLikeTheyShould() ); - ASSERT( cpsz && pnCharsRead ); - -- if (*cpsz == 0 || !isxdigit( *cpsz )) -+ if (*cpsz == 0 || !std::isxdigit( *cpsz, std::locale() )) - throw eParserBadHex( cStringUtil::StrToTstr( cpsz ) ); - - int iValue; -@@ -1000,18 +1000,18 @@ - ) - { - // we require 4 chars for unicode escapes -- if (*psz == 0 || !isxdigit( *psz )) -+ if (*psz == 0 || !std::isxdigit( *psz, std::locale() )) - throw eParserBadHex( cStringUtil::StrToTstr( cpsz ) ); - - iValue *= 0x10; - -- if( isdigit( *psz ) ) -+ if( std::isdigit( *psz, std::locale() ) ) - { - iValue += ( *psz - '0' ); - } - else - { -- if( islower( *psz ) ) -+ if( std::islower( *psz, std::locale() ) ) - iValue += ( *psz - 'a' + 10 ); // so that A=10, B=11, ..., F=15 - else // is uppercase - iValue += ( *psz - 'A' + 10 ); // so that a=10, a=11, ..., f=15 -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/twparser/parserobjects.h tripwire-2.3.1-2/src/twparser/parserobjects.h ---- tripwire-2.3.1-2.old/src/twparser/parserobjects.h Fri Oct 27 17:26:23 2000 -+++ tripwire-2.3.1-2/src/twparser/parserobjects.h Thu Jun 19 14:06:25 2003 -@@ -265,10 +265,10 @@ - // - // debugging functions - // -- cFCOName mName; // name of fcospec -- cParseSpecMaskList* mpSpecMaskList; // list of specifiers - cParseSpecMask mDefSpecMask; // default specifier - cParseNamedAttrList* mpAttrList; // list of named attributes -+ cParseSpecMaskList* mpSpecMaskList; // list of specifiers -+ cFCOName mName; // name of fcospec - }; - - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/twparser/policyparser.cpp tripwire-2.3.1-2/src/twparser/policyparser.cpp ---- tripwire-2.3.1-2.old/src/twparser/policyparser.cpp Sat Feb 24 11:02:12 2001 -+++ tripwire-2.3.1-2/src/twparser/policyparser.cpp Thu Aug 15 15:11:38 2002 -@@ -47,7 +47,7 @@ - //========================================================================= - - #include --#if !IS_BSD -+#ifdef HAVE_WCHAR_H - # include - #endif - -@@ -228,7 +228,7 @@ - // at gets incremented when used.... - ) - { -- int nBytes = ::mblen( (char*)at, MB_CUR_MAX ); -+ int nBytes = ::mblen( (char*)&at[0], MB_CUR_MAX ); - if ( nBytes == -1 ) - { - d.TraceDebug( "Unrecognized Character: %c\n", *at ); -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/twparser/policyparser.h tripwire-2.3.1-2/src/twparser/policyparser.h ---- tripwire-2.3.1-2.old/src/twparser/policyparser.h Fri Oct 27 17:26:23 2000 -+++ tripwire-2.3.1-2/src/twparser/policyparser.h Thu Jun 19 14:06:25 2003 -@@ -76,7 +76,7 @@ - { - enum { MAX_TOKEN_LENGTH = 1024 }; - public: -- tw_yy_scan( std::istream& i ) : mIn(i), yy_scan( MAX_TOKEN_LENGTH ){}; // need to increase token length over mks default -+ tw_yy_scan( std::istream& i ) : yy_scan( MAX_TOKEN_LENGTH ), mIn(i) {}; // need to increase token length over mks default - - virtual int yygetc() { return mIn.get(); }; - -@@ -136,8 +136,8 @@ - // turns all mb chars > 1 byte or unrecognizable chars - // into escaped hex (\xXX) - -- std::istream& mIn; - tw_yy_parse mParser; -+ std::istream& mIn; - }; - - -Only in tripwire-2.3.1-2.old/src/twparser: twparser.mak -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/twparser/yylex.cpp tripwire-2.3.1-2/src/twparser/yylex.cpp ---- tripwire-2.3.1-2.old/src/twparser/yylex.cpp Sat Feb 24 11:02:12 2001 -+++ tripwire-2.3.1-2/src/twparser/yylex.cpp Thu Jun 5 14:58:53 2003 -@@ -355,9 +355,9 @@ - 108, 109, 110, 33, 111, 89, 113, 114, 115, 116, 117, 120, 30, 124, 123, 63, - 30, 142, 123, 140, 146, 147, 148, 140, 149, 145, 151, 152, 153, 32, 154, 64, - 155, 32, 158, 30, 159, 123, 160, 161, 32, 157, 140, 32, 163, 164, 165, 63, -- 166, 167, 170, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, 64, -- ~0U, ~0U, ~0U, 30, ~0U, ~0U, ~0U, ~0U, 33, ~0U, 140, ~0U, 33, ~0U, ~0U, ~0U, -- ~0U, ~0U, ~0U, 33, ~0U, ~0U, 33, 122, 122, 122, 122, 122, 122, 122, 122, 122, -+ 166, 167, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, -+ 0, 0, 0, 30, 0, 0, 0, 0, 33, 0, 140, 0, 33, 0, 0, 0, -+ 0, 0, 0, 33, 0, 0, 33, 122, 122, 122, 122, 122, 122, 122, 122, 122, - 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, - 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, - 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, -@@ -374,7 +374,7 @@ - 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, - 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, - 122, 122, 122, 122, 122, 122, 122, 127, 127, 127, 127, 127, 127, 127, 127, 127, -- 127, ~0U, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, -+ 127, 0, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, - 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, - 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, - 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, -@@ -390,7 +390,7 @@ - 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, - 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, - 127, 127, 127, 127, 127, 127, 127, 133, 133, 133, 133, 133, 133, 133, 133, 133, -- 133, ~0U, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, -+ 133, 0, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, - 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, - 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, - 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, -@@ -406,14 +406,14 @@ - 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, - 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, - 133, 133, 133, 133, 133, 133, 133, 126, 126, 126, 126, 126, 126, 126, 126, 126, -- ~0U, ~0U, 126, 126, ~0U, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, -- 126, 126, 126, 126, 126, 126, 126, ~0U, ~0U, ~0U, ~0U, ~0U, 126, 126, 126, ~0U, -- ~0U, 126, 126, ~0U, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, -- 126, 126, ~0U, 126, ~0U, ~0U, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, -+ 0, 0, 126, 126, 0, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, -+ 126, 126, 126, 126, 126, 126, 126, 0, 0, 0, 0, 0, 126, 126, 126, 0, -+ 0, 126, 126, 0, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, -+ 126, 126, 0, 126, 0, 0, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, -- 126, 126, ~0U, ~0U, ~0U, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, -+ 126, 126, 0, 0, 0, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, -@@ -422,7 +422,7 @@ - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, - 126, 126, 126, 126, 126, 126, 126, 125, 125, 125, 125, 125, 125, 125, 125, 125, -- 125, ~0U, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, -+ 125, 0, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, - 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, - 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, - 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, -@@ -437,14 +437,14 @@ - 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, - 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, - 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, -- 125, 125, 125, 125, 125, 125, 125, 143, 144, 141, ~0U, 143, 144, 141, ~0U, ~0U, -- ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, 143, 144, -- 141, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, -- ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, -- 141, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, -- ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, -- ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, 143, 144, -- ~0U, 143, 144, 0 -+ 125, 125, 125, 125, 125, 125, 125, 143, 144, 141, 0, 143, 144, 141, 0, 0, -+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, 144, -+ 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -+ 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, 144, -+ 0, 143, 144, 0 - }; - - static yy_state_t yy_default[] = { -@@ -513,7 +513,9 @@ - //#endif - - #include -+#ifdef HAVE_MALLOC_H - #include -+#endif - #include - - #include "core/debug.h" -@@ -563,7 +565,7 @@ - - - // Constructor for yy_scan. Set up tables --#pragma argsused -+//#pragma argsused - yy_scan::yy_scan(int sz, char* buf, char* sv, yy_state_t* states) - { - mustfree = 0; -@@ -820,18 +822,18 @@ - /* look up next state */ - while ((yybase = yy_base[yyst]+(unsigned char)c) > yy_nxtmax - || yy_check[yybase] != (yy_state_t) yyst) { -- if (yyst == yy_endst) -+ if (yyst == (unsigned int)yy_endst) - goto yy_jammed; - yyst = yy_default[yyst]; - } - yyst = yy_next[yybase]; - yy_jammed: ; - state[++i] = (yy_state_t) yyst; -- } while (!(yyst == yy_endst || YY_INTERACTIVE && -+ } while (!(yyst == (unsigned int)yy_endst || YY_INTERACTIVE && - yy_base[yyst] > yy_nxtmax && yy_default[yyst] == yy_endst)); - - YY_DEBUG("\n", yyst, i); -- if (yyst != yy_endst) -+ if (yyst != (unsigned int)yy_endst) - ++i; - - yy_search: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/twparser/yylex.h tripwire-2.3.1-2/src/twparser/yylex.h ---- tripwire-2.3.1-2.old/src/twparser/yylex.h Fri Oct 27 17:26:23 2000 -+++ tripwire-2.3.1-2/src/twparser/yylex.h Thu Jun 19 21:50:18 2003 -@@ -48,7 +48,9 @@ - // This is quite a bit slower, though, so the default is without - - #include // uses printf(), et cetera -+#ifdef HAVE_STDARG_H - #include // uses va_list -+#endif - #include // uses exit() - #include // uses memmove() - -@@ -118,7 +120,7 @@ - yy_scan(int, char*, char*, yy_state_t*); - // constructor when tables are given - -- ~yy_scan(); // destructor -+ virtual ~yy_scan(); // destructor - - int yylex(); // begin a scan - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/twparser/yyparse.cpp tripwire-2.3.1-2/src/twparser/yyparse.cpp ---- tripwire-2.3.1-2.old/src/twparser/yyparse.cpp Fri Oct 27 17:26:23 2000 -+++ tripwire-2.3.1-2/src/twparser/yyparse.cpp Thu Jun 5 14:58:53 2003 -@@ -597,7 +597,7 @@ - #ifdef YACC_WINDOWS - if (yystate >= Sizeof_yypact) /* simple state */ - #else /* YACC_WINDOWS */ -- if (yystate >= sizeof yypact/sizeof yypact[0]) /* simple state */ -+ if (yystate >= (int)sizeof yypact/(int)sizeof yypact[0]) /* simple state */ - #endif /* YACC_WINDOWS */ - yyi = yystate - YYDELTA; /* reduce in any case */ - else { -@@ -643,7 +643,7 @@ - #ifdef YACC_WINDOWS - if (yystate >= Sizeof_yydef) /* simple state */ - #else /* YACC_WINDOWS */ -- if (yystate >= sizeof yydef /sizeof yydef[0]) -+ if (yystate >= (int)sizeof yydef /(int)sizeof yydef[0]) - #endif /* YACC_WINDOWS */ - goto yyError; - if ((yyi = yydef[yystate]) < 0) { /* default == reduce? */ -@@ -1268,7 +1268,7 @@ - #ifdef YACC_WINDOWS - if (*yyps >= Sizeof_yypact) /* simple state */ - #else /* YACC_WINDOWS */ -- if (*yyps >= sizeof yypact/sizeof yypact[0]) -+ if (*yyps >= (int)sizeof yypact/(int)sizeof yypact[0]) - #endif /* YACC_WINDOWS */ - continue; - yyp = &yyact[yypact[*yyps]]; -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/twprint/Makefile.am tripwire-2.3.1-2/src/twprint/Makefile.am ---- tripwire-2.3.1-2.old/src/twprint/Makefile.am Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/twprint/Makefile.am Sat Jun 7 00:01:26 2003 -@@ -0,0 +1,18 @@ -+AUTOMAKE_OPTIONS = foreign no-dependencies -+AM_INSTALL_PROGRAM_FLAGS = -m 755 -+ -+INCLUDES = -I.. @STLPORT_INCLUDE@ -+LIBS = -ltripwire -lcryptlib @STLPORT_LD@ @LIBS@ -+LDFLAGS = @LDFLAGS@ -L../../lib -+ -+sbin_PROGRAMS = twprint -+twprint_SOURCES = \ -+ stdtwprint.cpp twprint.cpp twprintcmdline.cpp twprinterrors.cpp \ -+ twprintmain.cpp twprintstrings.cpp -+ -+DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit -+CLEANFILES = ../../bin/twprint -+ -+all: $(sbin_PROGRAMS) -+ @test -d ../../bin && ln -f $(sbin_PROGRAMS) ../../bin -+ -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/twprint/Makefile.in tripwire-2.3.1-2/src/twprint/Makefile.in ---- tripwire-2.3.1-2.old/src/twprint/Makefile.in Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/twprint/Makefile.in Mon Sep 22 09:40:56 2003 -@@ -0,0 +1,314 @@ -+# Makefile.in generated automatically by automake 1.5 from Makefile.am. -+ -+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -+# Free Software Foundation, Inc. -+# This Makefile.in is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -+# PARTICULAR PURPOSE. -+ -+@SET_MAKE@ -+ -+SHELL = @SHELL@ -+ -+srcdir = @srcdir@ -+top_srcdir = @top_srcdir@ -+VPATH = @srcdir@ -+prefix = @prefix@ -+exec_prefix = @exec_prefix@ -+ -+bindir = @bindir@ -+sbindir = @sbindir@ -+libexecdir = @libexecdir@ -+datadir = @datadir@ -+sysconfdir = @sysconfdir@ -+sharedstatedir = @sharedstatedir@ -+localstatedir = @localstatedir@ -+libdir = @libdir@ -+infodir = @infodir@ -+mandir = @mandir@ -+includedir = @includedir@ -+oldincludedir = /usr/include -+pkgdatadir = $(datadir)/@PACKAGE@ -+pkglibdir = $(libdir)/@PACKAGE@ -+pkgincludedir = $(includedir)/@PACKAGE@ -+top_builddir = ../.. -+ -+ACLOCAL = @ACLOCAL@ -+AUTOCONF = @AUTOCONF@ -+AUTOMAKE = @AUTOMAKE@ -+AUTOHEADER = @AUTOHEADER@ -+ -+INSTALL = @INSTALL@ -+INSTALL_PROGRAM = @INSTALL_PROGRAM@ -+INSTALL_DATA = @INSTALL_DATA@ -+INSTALL_SCRIPT = @INSTALL_SCRIPT@ -+INSTALL_HEADER = $(INSTALL_DATA) -+transform = @program_transform_name@ -+NORMAL_INSTALL = : -+PRE_INSTALL = : -+POST_INSTALL = : -+NORMAL_UNINSTALL = : -+PRE_UNINSTALL = : -+POST_UNINSTALL = : -+AMTAR = @AMTAR@ -+AWK = @AWK@ -+CC = @CC@ -+CORE_CRYPT_O = @CORE_CRYPT_O@ -+CXX = @CXX@ -+DEPDIR = @DEPDIR@ -+EXEEXT = @EXEEXT@ -+GMAKE = @GMAKE@ -+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -+OBJEXT = @OBJEXT@ -+PACKAGE = @PACKAGE@ -+RANLIB = @RANLIB@ -+STLPORT_INCLUDE = @STLPORT_INCLUDE@ -+STLPORT_LD = @STLPORT_LD@ -+STLPORT_LIBRARY = @STLPORT_LIBRARY@ -+STLPORT_MAKEFILE = @STLPORT_MAKEFILE@ -+STLPORT_SUBDIR = @STLPORT_SUBDIR@ -+SYSPRE = @SYSPRE@ -+VERSION = @VERSION@ -+YACC = @YACC@ -+am__include = @am__include@ -+am__quote = @am__quote@ -+install_sh = @install_sh@ -+path_to_sendmail = @path_to_sendmail@ -+path_to_vi = @path_to_vi@ -+ -+AUTOMAKE_OPTIONS = foreign no-dependencies -+AM_INSTALL_PROGRAM_FLAGS = -m 755 -+ -+INCLUDES = -I.. @STLPORT_INCLUDE@ -+LIBS = -ltripwire -lcryptlib @STLPORT_LD@ @LIBS@ -+LDFLAGS = @LDFLAGS@ -L../../lib -+ -+sbin_PROGRAMS = twprint -+twprint_SOURCES = \ -+ stdtwprint.cpp twprint.cpp twprintcmdline.cpp twprinterrors.cpp \ -+ twprintmain.cpp twprintstrings.cpp -+ -+ -+DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit -+CLEANFILES = ../../bin/twprint -+subdir = src/twprint -+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -+CONFIG_HEADER = $(top_builddir)/config.h -+CONFIG_CLEAN_FILES = -+sbin_PROGRAMS = twprint$(EXEEXT) -+PROGRAMS = $(sbin_PROGRAMS) -+ -+am_twprint_OBJECTS = stdtwprint.$(OBJEXT) twprint.$(OBJEXT) \ -+ twprintcmdline.$(OBJEXT) twprinterrors.$(OBJEXT) \ -+ twprintmain.$(OBJEXT) twprintstrings.$(OBJEXT) -+twprint_OBJECTS = $(am_twprint_OBJECTS) -+twprint_LDADD = $(LDADD) -+twprint_DEPENDENCIES = -+twprint_LDFLAGS = -+DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -+CPPFLAGS = @CPPFLAGS@ -+depcomp = -+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -+CXXLD = $(CXX) -+CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -+ -o $@ -+CXXFLAGS = @CXXFLAGS@ -+DIST_SOURCES = $(twprint_SOURCES) -+DIST_COMMON = Makefile.am Makefile.in -+SOURCES = $(twprint_SOURCES) -+ -+all: all-am -+ -+.SUFFIXES: -+.SUFFIXES: .cpp .o .obj -+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) -+ cd $(top_srcdir) && \ -+ $(AUTOMAKE) --foreign src/twprint/Makefile -+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status -+ cd $(top_builddir) && \ -+ CONFIG_HEADERS= CONFIG_LINKS= \ -+ CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -+install-sbinPROGRAMS: $(sbin_PROGRAMS) -+ @$(NORMAL_INSTALL) -+ $(mkinstalldirs) $(DESTDIR)$(sbindir) -+ @list='$(sbin_PROGRAMS)'; for p in $$list; do \ -+ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ -+ if test -f $$p \ -+ ; then \ -+ f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \ -+ echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(sbindir)/$$f"; \ -+ $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(sbindir)/$$f; \ -+ else :; fi; \ -+ done -+ -+uninstall-sbinPROGRAMS: -+ @$(NORMAL_UNINSTALL) -+ @list='$(sbin_PROGRAMS)'; for p in $$list; do \ -+ f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ -+ echo " rm -f $(DESTDIR)$(sbindir)/$$f"; \ -+ rm -f $(DESTDIR)$(sbindir)/$$f; \ -+ done -+ -+clean-sbinPROGRAMS: -+ -test -z "$(sbin_PROGRAMS)" || rm -f $(sbin_PROGRAMS) -+twprint$(EXEEXT): $(twprint_OBJECTS) $(twprint_DEPENDENCIES) -+ @rm -f twprint$(EXEEXT) -+ $(CXXLINK) $(twprint_LDFLAGS) $(twprint_OBJECTS) $(twprint_LDADD) $(LIBS) -+ -+mostlyclean-compile: -+ -rm -f *.$(OBJEXT) core *.core -+ -+distclean-compile: -+ -rm -f *.tab.c -+ -+.cpp.o: -+ $(CXXCOMPILE) -c -o $@ $< -+ -+.cpp.obj: -+ $(CXXCOMPILE) -c -o $@ `cygpath -w $<` -+uninstall-info-am: -+ -+tags: TAGS -+ -+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) -+ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ -+ unique=`for i in $$list; do \ -+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+ done | \ -+ $(AWK) ' { files[$$0] = 1; } \ -+ END { for (i in files) print i; }'`; \ -+ mkid -fID $$unique $(LISP) -+ -+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ -+ $(TAGS_FILES) $(LISP) -+ tags=; \ -+ here=`pwd`; \ -+ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ -+ unique=`for i in $$list; do \ -+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+ done | \ -+ $(AWK) ' { files[$$0] = 1; } \ -+ END { for (i in files) print i; }'`; \ -+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ -+ || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -+ -+GTAGS: -+ here=`CDPATH=: && cd $(top_builddir) && pwd` \ -+ && cd $(top_srcdir) \ -+ && gtags -i $(GTAGS_ARGS) $$here -+ -+distclean-tags: -+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH -+ -+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -+ -+top_distdir = ../.. -+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) -+ -+distdir: $(DISTFILES) -+ @for file in $(DISTFILES); do \ -+ if test -f $$file; then d=.; else d=$(srcdir); fi; \ -+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ -+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ -+ $(mkinstalldirs) "$(distdir)/$$dir"; \ -+ fi; \ -+ if test -d $$d/$$file; then \ -+ cp -pR $$d/$$file $(distdir) \ -+ || exit 1; \ -+ else \ -+ test -f $(distdir)/$$file \ -+ || cp -p $$d/$$file $(distdir)/$$file \ -+ || exit 1; \ -+ fi; \ -+ done -+check-am: all-am -+check: check-am -+all-am: Makefile $(PROGRAMS) -+ -+installdirs: -+ $(mkinstalldirs) $(DESTDIR)$(sbindir) -+ -+install: install-am -+install-exec: install-exec-am -+install-data: install-data-am -+uninstall: uninstall-am -+ -+install-am: all-am -+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -+ -+installcheck: installcheck-am -+install-strip: -+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ -+ `test -z '$(STRIP)' || \ -+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -+mostlyclean-generic: -+ -+clean-generic: -+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) -+ -+distclean-generic: -+ -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* -+ -+maintainer-clean-generic: -+ @echo "This command is intended for maintainers to use" -+ @echo "it deletes files that may require special tools to rebuild." -+clean: clean-am -+ -+clean-am: clean-generic clean-sbinPROGRAMS mostlyclean-am -+ -+distclean: distclean-am -+ -+distclean-am: clean-am distclean-compile distclean-generic \ -+ distclean-tags -+ -+dvi: dvi-am -+ -+dvi-am: -+ -+info: info-am -+ -+info-am: -+ -+install-data-am: -+ -+install-exec-am: install-sbinPROGRAMS -+ -+install-info: install-info-am -+ -+install-man: -+ -+installcheck-am: -+ -+maintainer-clean: maintainer-clean-am -+ -+maintainer-clean-am: distclean-am maintainer-clean-generic -+ -+mostlyclean: mostlyclean-am -+ -+mostlyclean-am: mostlyclean-compile mostlyclean-generic -+ -+uninstall-am: uninstall-info-am uninstall-sbinPROGRAMS -+ -+.PHONY: GTAGS all all-am check check-am clean clean-generic \ -+ clean-sbinPROGRAMS distclean distclean-compile \ -+ distclean-generic distclean-tags distdir dvi dvi-am info \ -+ info-am install install-am install-data install-data-am \ -+ install-exec install-exec-am install-info install-info-am \ -+ install-man install-sbinPROGRAMS install-strip installcheck \ -+ installcheck-am installdirs maintainer-clean \ -+ maintainer-clean-generic mostlyclean mostlyclean-compile \ -+ mostlyclean-generic tags uninstall uninstall-am \ -+ uninstall-info-am uninstall-sbinPROGRAMS -+ -+ -+all: $(sbin_PROGRAMS) -+ @test -d ../../bin && ln -f $(sbin_PROGRAMS) ../../bin -+# Tell versions [3.59,3.63) of GNU make to not export all variables. -+# Otherwise a system limit (for SysV at least) may be exceeded. -+.NOEXPORT: -Only in tripwire-2.3.1-2.old/src/twprint: twprint.mak -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/twprint/twprintcmdline.h tripwire-2.3.1-2/src/twprint/twprintcmdline.h ---- tripwire-2.3.1-2.old/src/twprint/twprintcmdline.h Fri Oct 27 17:26:19 2000 -+++ tripwire-2.3.1-2/src/twprint/twprintcmdline.h Thu Jun 19 21:50:18 2003 -@@ -130,7 +130,7 @@ - { - public: - cTWPrintReportMode(); -- ~cTWPrintReportMode(); -+ virtual ~cTWPrintReportMode(); - - - void FillOutReportModeConfigInfo(cTWPrintReportMode_i* pModeInfo, const cConfigFile& cf); -@@ -153,7 +153,7 @@ - { - public: - cTWPrintDBMode(); -- ~cTWPrintDBMode(); -+ virtual ~cTWPrintDBMode(); - - void FillOutDBModeConfigInfo(cTWPrintDBMode_i* pModeInfo, const cConfigFile& cf); - -@@ -175,7 +175,7 @@ - { - public: - cTWPrintHelpMode(); -- ~cTWPrintHelpMode(); -+ virtual ~cTWPrintHelpMode(); - - virtual void InitCmdLineParser(cCmdLineParser& cmdLine); - virtual bool Init (const cConfigFile& cf, const cCmdLineParser& cmdLine); -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/twprint/twprintmain.cpp tripwire-2.3.1-2/src/twprint/twprintmain.cpp ---- tripwire-2.3.1-2.old/src/twprint/twprintmain.cpp Fri Oct 27 17:26:19 2000 -+++ tripwire-2.3.1-2/src/twprint/twprintmain.cpp Mon Aug 12 20:49:35 2002 -@@ -54,7 +54,7 @@ - #include "twprint.h" // package initialization - - #if IS_UNIX --#include "core/unix/unixfsservices.h" -+#include "core/unixfsservices.h" - #include - #endif - -@@ -94,12 +94,6 @@ - // Note: we do this before Init() in case it attempts to call these handlers - // TODO: move this into the Init() routine - -- --#if IS_GCC -- #define EXCEPTION_NAMESPACE -- #else -- #define EXCEPTION_NAMESPACE std:: -- #endif - EXCEPTION_NAMESPACE set_terminate(tw_terminate_handler); - EXCEPTION_NAMESPACE set_unexpected(tw_unexpected_handler); - -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/util/Makefile.am tripwire-2.3.1-2/src/util/Makefile.am ---- tripwire-2.3.1-2.old/src/util/Makefile.am Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/util/Makefile.am Sun Mar 16 11:50:05 2003 -@@ -0,0 +1,14 @@ -+AUTOMAKE_OPTIONS = foreign no-dependencies -+ -+INCLUDES = -I.. @STLPORT_INCLUDE@ -+ -+noinst_LIBRARIES = libutil.a -+libutil_a_SOURCES = \ -+ fileutil.cpp stdutil.cpp stringencoder.cpp \ -+ util.cpp utilerrors.cpp utilstrings.cpp -+ -+DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit -+ -+all: $(noinst_LIBRARIES) -+ $(AR) ru ../../lib/libtripwire.a $(libutil_a_OBJECTS) -+ $(RANLIB) ../../lib/libtripwire.a -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/util/Makefile.in tripwire-2.3.1-2/src/util/Makefile.in ---- tripwire-2.3.1-2.old/src/util/Makefile.in Wed Dec 31 16:00:00 1969 -+++ tripwire-2.3.1-2/src/util/Makefile.in Mon Sep 22 09:40:56 2003 -@@ -0,0 +1,291 @@ -+# Makefile.in generated automatically by automake 1.5 from Makefile.am. -+ -+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -+# Free Software Foundation, Inc. -+# This Makefile.in is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -+# PARTICULAR PURPOSE. -+ -+@SET_MAKE@ -+ -+SHELL = @SHELL@ -+ -+srcdir = @srcdir@ -+top_srcdir = @top_srcdir@ -+VPATH = @srcdir@ -+prefix = @prefix@ -+exec_prefix = @exec_prefix@ -+ -+bindir = @bindir@ -+sbindir = @sbindir@ -+libexecdir = @libexecdir@ -+datadir = @datadir@ -+sysconfdir = @sysconfdir@ -+sharedstatedir = @sharedstatedir@ -+localstatedir = @localstatedir@ -+libdir = @libdir@ -+infodir = @infodir@ -+mandir = @mandir@ -+includedir = @includedir@ -+oldincludedir = /usr/include -+pkgdatadir = $(datadir)/@PACKAGE@ -+pkglibdir = $(libdir)/@PACKAGE@ -+pkgincludedir = $(includedir)/@PACKAGE@ -+top_builddir = ../.. -+ -+ACLOCAL = @ACLOCAL@ -+AUTOCONF = @AUTOCONF@ -+AUTOMAKE = @AUTOMAKE@ -+AUTOHEADER = @AUTOHEADER@ -+ -+INSTALL = @INSTALL@ -+INSTALL_PROGRAM = @INSTALL_PROGRAM@ -+INSTALL_DATA = @INSTALL_DATA@ -+INSTALL_SCRIPT = @INSTALL_SCRIPT@ -+INSTALL_HEADER = $(INSTALL_DATA) -+transform = @program_transform_name@ -+NORMAL_INSTALL = : -+PRE_INSTALL = : -+POST_INSTALL = : -+NORMAL_UNINSTALL = : -+PRE_UNINSTALL = : -+POST_UNINSTALL = : -+AMTAR = @AMTAR@ -+AWK = @AWK@ -+CC = @CC@ -+CORE_CRYPT_O = @CORE_CRYPT_O@ -+CXX = @CXX@ -+DEPDIR = @DEPDIR@ -+EXEEXT = @EXEEXT@ -+GMAKE = @GMAKE@ -+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -+OBJEXT = @OBJEXT@ -+PACKAGE = @PACKAGE@ -+RANLIB = @RANLIB@ -+STLPORT_INCLUDE = @STLPORT_INCLUDE@ -+STLPORT_LD = @STLPORT_LD@ -+STLPORT_LIBRARY = @STLPORT_LIBRARY@ -+STLPORT_MAKEFILE = @STLPORT_MAKEFILE@ -+STLPORT_SUBDIR = @STLPORT_SUBDIR@ -+SYSPRE = @SYSPRE@ -+VERSION = @VERSION@ -+YACC = @YACC@ -+am__include = @am__include@ -+am__quote = @am__quote@ -+install_sh = @install_sh@ -+path_to_sendmail = @path_to_sendmail@ -+path_to_vi = @path_to_vi@ -+ -+AUTOMAKE_OPTIONS = foreign no-dependencies -+ -+INCLUDES = -I.. @STLPORT_INCLUDE@ -+ -+noinst_LIBRARIES = libutil.a -+libutil_a_SOURCES = \ -+ fileutil.cpp stdutil.cpp stringencoder.cpp \ -+ util.cpp utilerrors.cpp utilstrings.cpp -+ -+ -+DEFS = @DEFS@ # This gets rid of the -I. so INCLUDES must be more explicit -+subdir = src/util -+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -+CONFIG_HEADER = $(top_builddir)/config.h -+CONFIG_CLEAN_FILES = -+LIBRARIES = $(noinst_LIBRARIES) -+ -+libutil_a_AR = $(AR) cru -+libutil_a_LIBADD = -+am_libutil_a_OBJECTS = fileutil.$(OBJEXT) stdutil.$(OBJEXT) \ -+ stringencoder.$(OBJEXT) util.$(OBJEXT) utilerrors.$(OBJEXT) \ -+ utilstrings.$(OBJEXT) -+libutil_a_OBJECTS = $(am_libutil_a_OBJECTS) -+DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -+CPPFLAGS = @CPPFLAGS@ -+LDFLAGS = @LDFLAGS@ -+LIBS = @LIBS@ -+depcomp = -+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -+CXXLD = $(CXX) -+CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -+ -o $@ -+CXXFLAGS = @CXXFLAGS@ -+DIST_SOURCES = $(libutil_a_SOURCES) -+DIST_COMMON = Makefile.am Makefile.in -+SOURCES = $(libutil_a_SOURCES) -+ -+all: all-am -+ -+.SUFFIXES: -+.SUFFIXES: .cpp .o .obj -+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) -+ cd $(top_srcdir) && \ -+ $(AUTOMAKE) --foreign src/util/Makefile -+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status -+ cd $(top_builddir) && \ -+ CONFIG_HEADERS= CONFIG_LINKS= \ -+ CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -+ -+AR = ar -+ -+clean-noinstLIBRARIES: -+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) -+libutil.a: $(libutil_a_OBJECTS) $(libutil_a_DEPENDENCIES) -+ -rm -f libutil.a -+ $(libutil_a_AR) libutil.a $(libutil_a_OBJECTS) $(libutil_a_LIBADD) -+ $(RANLIB) libutil.a -+ -+mostlyclean-compile: -+ -rm -f *.$(OBJEXT) core *.core -+ -+distclean-compile: -+ -rm -f *.tab.c -+ -+.cpp.o: -+ $(CXXCOMPILE) -c -o $@ $< -+ -+.cpp.obj: -+ $(CXXCOMPILE) -c -o $@ `cygpath -w $<` -+uninstall-info-am: -+ -+tags: TAGS -+ -+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) -+ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ -+ unique=`for i in $$list; do \ -+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+ done | \ -+ $(AWK) ' { files[$$0] = 1; } \ -+ END { for (i in files) print i; }'`; \ -+ mkid -fID $$unique $(LISP) -+ -+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ -+ $(TAGS_FILES) $(LISP) -+ tags=; \ -+ here=`pwd`; \ -+ list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ -+ unique=`for i in $$list; do \ -+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+ done | \ -+ $(AWK) ' { files[$$0] = 1; } \ -+ END { for (i in files) print i; }'`; \ -+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ -+ || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -+ -+GTAGS: -+ here=`CDPATH=: && cd $(top_builddir) && pwd` \ -+ && cd $(top_srcdir) \ -+ && gtags -i $(GTAGS_ARGS) $$here -+ -+distclean-tags: -+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH -+ -+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -+ -+top_distdir = ../.. -+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) -+ -+distdir: $(DISTFILES) -+ @for file in $(DISTFILES); do \ -+ if test -f $$file; then d=.; else d=$(srcdir); fi; \ -+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ -+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ -+ $(mkinstalldirs) "$(distdir)/$$dir"; \ -+ fi; \ -+ if test -d $$d/$$file; then \ -+ cp -pR $$d/$$file $(distdir) \ -+ || exit 1; \ -+ else \ -+ test -f $(distdir)/$$file \ -+ || cp -p $$d/$$file $(distdir)/$$file \ -+ || exit 1; \ -+ fi; \ -+ done -+check-am: all-am -+check: check-am -+all-am: Makefile $(LIBRARIES) -+ -+installdirs: -+ -+install: install-am -+install-exec: install-exec-am -+install-data: install-data-am -+uninstall: uninstall-am -+ -+install-am: all-am -+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -+ -+installcheck: installcheck-am -+install-strip: -+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ -+ `test -z '$(STRIP)' || \ -+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -+mostlyclean-generic: -+ -+clean-generic: -+ -+distclean-generic: -+ -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* -+ -+maintainer-clean-generic: -+ @echo "This command is intended for maintainers to use" -+ @echo "it deletes files that may require special tools to rebuild." -+clean: clean-am -+ -+clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am -+ -+distclean: distclean-am -+ -+distclean-am: clean-am distclean-compile distclean-generic \ -+ distclean-tags -+ -+dvi: dvi-am -+ -+dvi-am: -+ -+info: info-am -+ -+info-am: -+ -+install-data-am: -+ -+install-exec-am: -+ -+install-info: install-info-am -+ -+install-man: -+ -+installcheck-am: -+ -+maintainer-clean: maintainer-clean-am -+ -+maintainer-clean-am: distclean-am maintainer-clean-generic -+ -+mostlyclean: mostlyclean-am -+ -+mostlyclean-am: mostlyclean-compile mostlyclean-generic -+ -+uninstall-am: uninstall-info-am -+ -+.PHONY: GTAGS all all-am check check-am clean clean-generic \ -+ clean-noinstLIBRARIES distclean distclean-compile \ -+ distclean-generic distclean-tags distdir dvi dvi-am info \ -+ info-am install install-am install-data install-data-am \ -+ install-exec install-exec-am install-info install-info-am \ -+ install-man install-strip installcheck installcheck-am \ -+ installdirs maintainer-clean maintainer-clean-generic \ -+ mostlyclean mostlyclean-compile mostlyclean-generic tags \ -+ uninstall uninstall-am uninstall-info-am -+ -+ -+all: $(noinst_LIBRARIES) -+ $(AR) ru ../../lib/libtripwire.a $(libutil_a_OBJECTS) -+ $(RANLIB) ../../lib/libtripwire.a -+# Tell versions [3.59,3.63) of GNU make to not export all variables. -+# Otherwise a system limit (for SysV at least) may be exceeded. -+.NOEXPORT: -diff -r -P -u -x *CVS* tripwire-2.3.1-2.old/src/util/fileutil.cpp tripwire-2.3.1-2/src/util/fileutil.cpp ---- tripwire-2.3.1-2.old/src/util/fileutil.cpp Fri Oct 27 17:26:22 2000 -+++ tripwire-2.3.1-2/src/util/fileutil.cpp Thu Jun 5 14:58:53 2003 -@@ -240,7 +240,6 @@ - - enum { BUF_SIZE = 4096 }; - int8 buf[BUF_SIZE]; -- int count; - int nBytesRead; - - cFile srcFile, destFile; -Only in tripwire-2.3.1-2.old/src/util: util.mak diff --git a/twcfg.txt.in b/twcfg.txt.in deleted file mode 100644 index db1dc5c..0000000 --- a/twcfg.txt.in +++ /dev/null @@ -1,15 +0,0 @@ -ROOT =@sbindir@ -POLFILE =@sysconfdir@/tripwire/tw.pol -DBFILE =@vardir@/lib/tripwire/$(HOSTNAME).twd -REPORTFILE =@vardir@/lib/tripwire/report/$(HOSTNAME)-$(DATE).twr -SITEKEYFILE =@sysconfdir@/tripwire/site.key -LOCALKEYFILE =@sysconfdir@/tripwire/$(HOSTNAME)-local.key -EDITOR =@path_to_vi@ -LATEPROMPTING =false -LOOSEDIRECTORYCHECKING =false -MAILNOVIOLATIONS =true -EMAILREPORTLEVEL =3 -REPORTLEVEL =3 -MAILMETHOD =SENDMAIL -SYSLOGREPORTING =false -MAILPROGRAM =@path_to_sendmail@ -oi -t diff --git a/twpol.txt.in b/twpol.txt.in deleted file mode 100644 index c7bcf60..0000000 --- a/twpol.txt.in +++ /dev/null @@ -1,1036 +0,0 @@ -# identifier: tripwire IDS policy input file -# host: Fedora Core release 1 (Yarrow) -# version: 2.3.1-19.fdr.1 -# maintainer: Keith G. Robertson-Turner -# validator: unvalidated -# date: Tue Jun 15 17:09:21 BST 2004 - -# description: -# This is an example Tripwire Policy input file. It is intended as the -# starting point to creating your own custom Tripwire Policy. Referring -# to it, as well as the Tripwire Policy Guide, should give you enough -# information to make a good custom Tripwire Policy that better fits -# your configuration and security needs. This text version will be used -# by tripwire as input to create a proprietary type of file called a -# Tripwire Policy file, which will then be signed for further security. -# It is recommended that once you complete the creation of the Policy -# file, you move this plaintext version to a secure location (possibly -# on removable media) or encrypt the file using a tool such as GPG. You -# should also do this for the Tripwire plaintext configuration file -# (twcfg.txt) once you have finished setting up the Policy. -# -# Note that this file is tuned to an "everything" install of Fedora -# Linux. If run unmodified, this file should create no errors on -# database creation, or violations on a subsequent integrity check. -# However, it is impossible for there to be one policy file for all -# machines, so this existing one errs on the side of security. Your -# Linux configuration will most likely differ from the one our policy -# file was tuned to, and will therefore require some editing of the -# default Tripwire Policy file. The example policy file is best run -# with "Loose Directory Checking" enabled. -# -# Set LOOSEDIRECTORYCHECKING=TRUE in the Tripwire Configuration file. -# -# Note - legacy entries (which are commented out) are included for -# historical reasons only, and are overdue for removal. They will -# likely disappear from future releases. -# -# The following info is only really useful for non-RPM distributions: -# -# Email support is not included and must be added to this file. Add the -# "emailto=" to the rule directive section of each rule (add a comma -# after the "severity=" line and add an "emailto=" and include the -# email addresses you want the violation reports to go to). Addresses -# are semi-colon delimited. -# -# If you installed from the Fedora RPM, a cron job has already been set -# up for you. Tripwire will perform an integrity check once every day, -# and the generated report will be emailed to root. In this case, you -# do not need to perform the steps in the previous paragraph. - -# policy: - - -# Global Variable Definitions - -@@section GLOBAL -TWROOT=@sbindir@; -TWBIN=@sbindir@; -TWPOL="@sysconfdir@/tripwire"; -TWDB="@vardir@/lib/tripwire"; -TWSKEY="@sysconfdir@/tripwire"; -TWLKEY="@sysconfdir@/tripwire"; -TWREPORT="@vardir@/lib/tripwire/report"; -HOSTNAME=localhost; - -@@section FS -SEC_CRIT = $(IgnoreNone)-SHa ; # Critical files that cannot change -SEC_SUID = $(IgnoreNone)-SHa ; # Binaries with the SUID or SGID flags set -SEC_BIN = $(ReadOnly) ; # Binaries that should not change -SEC_CONFIG = $(Dynamic) ; # Config files that are changed infrequently but accessed often -SEC_LOG = $(Growing) ; # Files that grow, but that should never change ownership -SEC_INVARIANT = +tpug ; # Directories that should never change permission or ownership -SIG_LOW = 33 ; # Non-critical files that are of minimal security impact -SIG_MED = 66 ; # Non-critical files that are of significant security impact -SIG_HI = 100 ; # Critical files that are significant points of vulnerability - - -# Tripwire Binaries - -( - rulename = "Tripwire Binaries", - severity = $(SIG_HI) -) -{ - $(TWBIN)/siggen -> $(SEC_BIN) ; - $(TWBIN)/tripwire -> $(SEC_BIN) ; - $(TWBIN)/twadmin -> $(SEC_BIN) ; - $(TWBIN)/twprint -> $(SEC_BIN) ; -} - - -# Tripwire Data Files - Configuration Files, Policy Files, Keys, Reports, Databases - -( - rulename = "Tripwire Data Files", - severity = $(SIG_HI) -) -{ - # NOTE: We remove the inode attribute because when Tripwire creates a backup, - # it does so by renaming the old file and creating a new one (which will - # have a new inode number). Inode is left turned on for keys, which shouldn't - # ever change. - - # NOTE: The first integrity check triggers this rule and each integrity check - # afterward triggers this rule until a database update is run, since the - # database file does not exist before that point. - - $(TWDB) -> $(SEC_CONFIG) -i ; - $(TWPOL)/tw.pol -> $(SEC_BIN) -i ; - $(TWPOL)/tw.cfg -> $(SEC_BIN) -i ; - $(TWLKEY)/$(HOSTNAME)-local.key -> $(SEC_BIN) ; - $(TWSKEY)/site.key -> $(SEC_BIN) ; - - #don't scan the individual reports - $(TWREPORT) -> $(SEC_CONFIG) (recurse=0) ; -} - - -# Tripwire HQ Connector Binaries -# -# This commercial product has been phased out and is no longer -# supported. This section will disappear from future releases. -# -#( -# rulename = "Tripwire HQ Connector Binaries", -# severity = $(SIG_HI) -#) -#{ -# $(TWBIN)/hqagent -> $(SEC_BIN) ; -#} -# -# Tripwire HQ Connector - Configuration Files, Keys, and Logs - -# Note: File locations here are different than in a stock HQ Connector -# installation. This is because Tripwire 2.3 uses a different path -# structure than Tripwire 2.2.1. -# -# You may need to update your HQ Agent configuation file (or this -# policy file) to correct the paths. We have attempted to support the -# FHS standard here by placing the HQ Agent files similarly to the way -# Tripwire 2.3 places them. - -#( -# rulename = "Tripwire HQ Connector Data Files", -# severity = $(SIG_HI) -#) -#{ - # NOTE: Removing the inode attribute because when Tripwire creates a - # backup it does so by renaming the old file and creating a new one - # (which will have a new inode number). Leaving inode turned on for - # keys, which shouldn't ever change. -# -# $(TWBIN)/agent.cfg -> $(SEC_BIN) -i ; # legacy -# $(TWLKEY)/authentication.key -> $(SEC_BIN) ; # legacy -# $(TWDB)/tasks.dat -> $(SEC_CONFIG) ; # legacy -# $(TWDB)/schedule.dat -> $(SEC_CONFIG) ; # legacy -# - # Uncomment if you have agent logging enabled. - #/var/log/tripwire/agent.log -> $(SEC_LOG) ; # legacy -#} - - -# Commonly accessed directories that should remain static with regards -# to owner and group. - -( - rulename = "Invariant Directories", - severity = $(SIG_MED) -) -{ - / -> $(SEC_INVARIANT) (recurse = 0) ; - /home -> $(SEC_INVARIANT) (recurse = 0) ; - /etc -> $(SEC_INVARIANT) (recurse = 0) ; -} - - -# File System and Disk Administration Programs. - -( - rulename = "File System and Disk Administraton Programs", - severity = $(SIG_HI) -) -{ - /sbin/accton -> $(SEC_CRIT) ; - /sbin/badblocks -> $(SEC_CRIT) ; - /sbin/busybox -> $(SEC_CRIT) ; - /sbin/busybox.anaconda -> $(SEC_CRIT) ; - /sbin/convertquota -> $(SEC_CRIT) ; - /sbin/dosfsck -> $(SEC_CRIT) ; - /sbin/debugfs -> $(SEC_CRIT) ; - /sbin/debugreiserfs -> $(SEC_CRIT) ; - /sbin/dumpe2fs -> $(SEC_CRIT) ; - /sbin/dump -> $(SEC_CRIT) ; - /sbin/dump.static -> $(SEC_CRIT) ; - #/sbin/e2fsadm -> $(SEC_CRIT) ; tune2fs? # legacy - /sbin/e2fsck -> $(SEC_CRIT) ; - /sbin/e2label -> $(SEC_CRIT) ; - /sbin/fdisk -> $(SEC_CRIT) ; - /sbin/fsck -> $(SEC_CRIT) ; - /sbin/fsck.ext2 -> $(SEC_CRIT) ; - /sbin/fsck.ext3 -> $(SEC_CRIT) ; - #/sbin/fsck.minix -> $(SEC_CRIT) ; - /sbin/fsck.msdos -> $(SEC_CRIT) ; - /sbin/fsck.vfat -> $(SEC_CRIT) ; - /sbin/ftl_check -> $(SEC_CRIT) ; - /sbin/ftl_format -> $(SEC_CRIT) ; - /sbin/hdparm -> $(SEC_CRIT) ; - #/sbin/lvchange -> $(SEC_CRIT) ; - #/sbin/lvcreate -> $(SEC_CRIT) ; - #/sbin/lvdisplay -> $(SEC_CRIT) ; - #/sbin/lvextend -> $(SEC_CRIT) ; - #/sbin/lvmchange -> $(SEC_CRIT) ; - #/sbin/lvmcreate_initrd -> $(SEC_CRIT) ; - #/sbin/lvmdiskscan -> $(SEC_CRIT) ; - #/sbin/lvmsadc -> $(SEC_CRIT) ; - #/sbin/lvmsar -> $(SEC_CRIT) ; - #/sbin/lvreduce -> $(SEC_CRIT) ; - #/sbin/lvremove -> $(SEC_CRIT) ; - #/sbin/lvrename -> $(SEC_CRIT) ; - #/sbin/lvscan -> $(SEC_CRIT) ; - /sbin/mkbootdisk -> $(SEC_CRIT) ; - /sbin/mkdosfs -> $(SEC_CRIT) ; - /sbin/mke2fs -> $(SEC_CRIT) ; - /sbin/mkfs -> $(SEC_CRIT) ; - #/sbin/mkfs.bfs -> $(SEC_CRIT) ; - /sbin/mkfs.ext2 -> $(SEC_CRIT) ; - #/sbin/mkfs.minix -> $(SEC_CRIT) ; - /sbin/mkfs.msdos -> $(SEC_CRIT) ; - /sbin/mkfs.vfat -> $(SEC_CRIT) ; - /sbin/mkinitrd -> $(SEC_CRIT) ; - #/sbin/mkpv -> $(SEC_CRIT) ; - /sbin/mkraid -> $(SEC_CRIT) ; - /sbin/mkreiserfs -> $(SEC_CRIT) ; - /sbin/mkswap -> $(SEC_CRIT) ; - #/sbin/mtx -> $(SEC_CRIT) ; - /sbin/pam_console_apply -> $(SEC_CRIT) ; - /sbin/parted -> $(SEC_CRIT) ; - /sbin/pcinitrd -> $(SEC_CRIT) ; - #/sbin/pvchange -> $(SEC_CRIT) ; - #/sbin/pvcreate -> $(SEC_CRIT) ; - #/sbin/pvdata -> $(SEC_CRIT) ; - #/sbin/pvdisplay -> $(SEC_CRIT) ; - #/sbin/pvmove -> $(SEC_CRIT) ; - #/sbin/pvscan -> $(SEC_CRIT) ; - /sbin/quotacheck -> $(SEC_CRIT) ; - /sbin/quotaon -> $(SEC_CRIT) ; - /sbin/raidstart -> $(SEC_CRIT) ; - /sbin/reiserfsck -> $(SEC_CRIT) ; - /sbin/resize2fs -> $(SEC_CRIT) ; - /sbin/resize_reiserfs -> $(SEC_CRIT) ; - /sbin/restore -> $(SEC_CRIT) ; - /sbin/restore.static -> $(SEC_CRIT) ; - /sbin/scsi_info -> $(SEC_CRIT) ; - /sbin/sfdisk -> $(SEC_CRIT) ; - /sbin/stinit -> $(SEC_CRIT) ; - #/sbin/tapeinfo -> $(SEC_CRIT) ; # legacy - /sbin/tune2fs -> $(SEC_CRIT) ; - /sbin/unpack -> $(SEC_CRIT) ; - #/sbin/update -> $(SEC_CRIT) ; - #/sbin/vgcfgbackup -> $(SEC_CRIT) ; - #/sbin/vgcfgrestore -> $(SEC_CRIT) ; - #/sbin/vgchange -> $(SEC_CRIT) ; - #/sbin/vgck -> $(SEC_CRIT) ; - #/sbin/vgcreate -> $(SEC_CRIT) ; - #/sbin/vgdisplay -> $(SEC_CRIT) ; - #/sbin/vgexport -> $(SEC_CRIT) ; - #/sbin/vgextend -> $(SEC_CRIT) ; - #/sbin/vgimport -> $(SEC_CRIT) ; - #/sbin/vgmerge -> $(SEC_CRIT) ; - #/sbin/vgmknodes -> $(SEC_CRIT) ; - #/sbin/vgreduce -> $(SEC_CRIT) ; - #/sbin/vgremove -> $(SEC_CRIT) ; - #/sbin/vgrename -> $(SEC_CRIT) ; - #/sbin/vgscan -> $(SEC_CRIT) ; - #/sbin/vgsplit -> $(SEC_CRIT) ; - /bin/chgrp -> $(SEC_CRIT) ; - /bin/chmod -> $(SEC_CRIT) ; - /bin/chown -> $(SEC_CRIT) ; - /bin/cp -> $(SEC_CRIT) ; - /bin/cpio -> $(SEC_CRIT) ; - /bin/mount -> $(SEC_CRIT) ; - /bin/umount -> $(SEC_CRIT) ; - /bin/mkdir -> $(SEC_CRIT) ; - /bin/mknod -> $(SEC_CRIT) ; - /bin/mktemp -> $(SEC_CRIT) ; - /bin/rm -> $(SEC_CRIT) ; - /bin/rmdir -> $(SEC_CRIT) ; - /bin/touch -> $(SEC_CRIT) ; -} - - -# Kernel Administration Programs. - -( - rulename = "Kernel Administration Programs", - severity = $(SIG_HI) -) -{ - /sbin/adjtimex -> $(SEC_CRIT) ; - /sbin/ctrlaltdel -> $(SEC_CRIT) ; - /sbin/depmod -> $(SEC_CRIT) ; - /sbin/insmod -> $(SEC_CRIT) ; - /sbin/insmod.static -> $(SEC_CRIT) ; - /sbin/insmod_ksymoops_clean -> $(SEC_CRIT) ; - /sbin/klogd -> $(SEC_CRIT) ; - /sbin/ldconfig -> $(SEC_CRIT) ; - /sbin/minilogd -> $(SEC_CRIT) ; - /sbin/modinfo -> $(SEC_CRIT) ; - #/sbin/nuactlun -> $(SEC_CRIT) ; - #/sbin/nuscsitcpd -> $(SEC_CRIT) ; - /sbin/pivot_root -> $(SEC_CRIT) ; - /sbin/sndconfig -> $(SEC_CRIT) ; - /sbin/sysctl -> $(SEC_CRIT) ; -} - - -# Networking Programs. - -( - rulename = "Networking Programs", - severity = $(SIG_HI) -) -{ - /etc/sysconfig/network-scripts/ifdown -> $(SEC_CRIT) ; - /etc/sysconfig/network-scripts/ifdown-cipcb -> $(SEC_CRIT) ; - /etc/sysconfig/network-scripts/ifdown-ippp -> $(SEC_CRIT) ; - /etc/sysconfig/network-scripts/ifdown-ipv6 -> $(SEC_CRIT) ; - /etc/sysconfig/network-scripts/ifdown-isdn -> $(SEC_CRIT) ; - /etc/sysconfig/network-scripts/ifdown-post -> $(SEC_CRIT) ; - /etc/sysconfig/network-scripts/ifdown-ppp -> $(SEC_CRIT) ; - /etc/sysconfig/network-scripts/ifdown-sit -> $(SEC_CRIT) ; - /etc/sysconfig/network-scripts/ifdown-sl -> $(SEC_CRIT) ; - /etc/sysconfig/network-scripts/ifup -> $(SEC_CRIT) ; - /etc/sysconfig/network-scripts/ifup-aliases -> $(SEC_CRIT) ; - /etc/sysconfig/network-scripts/ifup-cipcb -> $(SEC_CRIT) ; - /etc/sysconfig/network-scripts/ifup-ippp -> $(SEC_CRIT) ; - /etc/sysconfig/network-scripts/ifup-ipv6 -> $(SEC_CRIT) ; - /etc/sysconfig/network-scripts/ifup-isdn -> $(SEC_CRIT) ; - /etc/sysconfig/network-scripts/ifup-plip -> $(SEC_CRIT) ; - /etc/sysconfig/network-scripts/ifup-plusb -> $(SEC_CRIT) ; - /etc/sysconfig/network-scripts/ifup-post -> $(SEC_CRIT) ; - /etc/sysconfig/network-scripts/ifup-ppp -> $(SEC_CRIT) ; - /etc/sysconfig/network-scripts/ifup-routes -> $(SEC_CRIT) ; - /etc/sysconfig/network-scripts/ifup-sit -> $(SEC_CRIT) ; - /etc/sysconfig/network-scripts/ifup-sl -> $(SEC_CRIT) ; - /etc/sysconfig/network-scripts/ifup-wireless -> $(SEC_CRIT) ; - /etc/sysconfig/network-scripts/network-functions -> $(SEC_CRIT) ; - /etc/sysconfig/network-scripts/network-functions-ipv6 -> $(SEC_CRIT) ; - /bin/ping -> $(SEC_CRIT) ; - /sbin/agetty -> $(SEC_CRIT) ; - /sbin/arp -> $(SEC_CRIT) ; - /sbin/arping -> $(SEC_CRIT) ; - /sbin/dhclient -> $(SEC_CRIT) ; - /sbin/ether-wake -> $(SEC_CRIT) ; - #/sbin/getty -> $(SEC_CRIT) ; - /sbin/ifcfg -> $(SEC_CRIT) ; - /sbin/ifconfig -> $(SEC_CRIT) ; - /sbin/ifdown -> $(SEC_CRIT) ; - /sbin/ifenslave -> $(SEC_CRIT) ; - /sbin/ifport -> $(SEC_CRIT) ; - /sbin/ifup -> $(SEC_CRIT) ; - /sbin/ifuser -> $(SEC_CRIT) ; - /sbin/ip -> $(SEC_CRIT) ; - /sbin/ip6tables -> $(SEC_CRIT) ; - #/sbin/ipchains -> $(SEC_CRIT) ; # legacy - #/sbin/ipchains-restore -> $(SEC_CRIT) ; # legacy - #/sbin/ipchains-save -> $(SEC_CRIT) ; # legacy - #/sbin/ipfwadm -> $(SEC_CRIT) ; - /sbin/ipmaddr -> $(SEC_CRIT) ; - /sbin/iptables -> $(SEC_CRIT) ; - /sbin/iptables-restore -> $(SEC_CRIT) ; - /sbin/iptables-save -> $(SEC_CRIT) ; - /sbin/iptunnel -> $(SEC_CRIT) ; - #/sbin/ipvsadm -> $(SEC_CRIT) ; - #/sbin/ipvsadm-restore -> $(SEC_CRIT) ; - #/sbin/ipvsadm-save -> $(SEC_CRIT) ; - /sbin/ipx_configure -> $(SEC_CRIT) ; - /sbin/ipx_interface -> $(SEC_CRIT) ; - /sbin/ipx_internal_net -> $(SEC_CRIT) ; - /sbin/iwconfig -> $(SEC_CRIT) ; - /sbin/iwgetid -> $(SEC_CRIT) ; - /sbin/iwlist -> $(SEC_CRIT) ; - /sbin/iwpriv -> $(SEC_CRIT) ; - /sbin/iwspy -> $(SEC_CRIT) ; - /sbin/mgetty -> $(SEC_CRIT) ; - /sbin/mingetty -> $(SEC_CRIT) ; - /sbin/nameif -> $(SEC_CRIT) ; - /sbin/netreport -> $(SEC_CRIT) ; - /sbin/plipconfig -> $(SEC_CRIT) ; - /sbin/portmap -> $(SEC_CRIT) ; - /sbin/ppp-watch -> $(SEC_CRIT) ; - #/sbin/rarp -> $(SEC_CRIT) ; - /sbin/route -> $(SEC_CRIT) ; - /sbin/slattach -> $(SEC_CRIT) ; - /sbin/tc -> $(SEC_CRIT) ; - #/sbin/uugetty -> $(SEC_CRIT) ; - /sbin/vgetty -> $(SEC_CRIT) ; - /sbin/ypbind -> $(SEC_CRIT) ; -} - - -# System Administration Programs. - -( - rulename = "System Administration Programs", - severity = $(SIG_HI) -) -{ - /sbin/chkconfig -> $(SEC_CRIT) ; - /sbin/fuser -> $(SEC_CRIT) ; - /sbin/halt -> $(SEC_CRIT) ; - /sbin/init -> $(SEC_CRIT) ; - /sbin/initlog -> $(SEC_CRIT) ; - /sbin/install-info -> $(SEC_CRIT) ; - /sbin/killall5 -> $(SEC_CRIT) ; - #/sbin/linuxconf -> $(SEC_CRIT) ; # legacy - #/sbin/linuxconf-auth -> $(SEC_CRIT) ; # legacy - /sbin/pam_tally -> $(SEC_CRIT) ; - /sbin/pwdb_chkpwd -> $(SEC_CRIT) ; - #/sbin/remadmin -> $(SEC_CRIT) ; - /sbin/rescuept -> $(SEC_CRIT) ; - /sbin/rmt -> $(SEC_CRIT) ; - /sbin/rpc.lockd -> $(SEC_CRIT) ; - /sbin/rpc.statd -> $(SEC_CRIT) ; - /sbin/rpcdebug -> $(SEC_CRIT) ; - /sbin/service -> $(SEC_CRIT) ; - /sbin/setsysfont -> $(SEC_CRIT) ; - /sbin/shutdown -> $(SEC_CRIT) ; - /sbin/sulogin -> $(SEC_CRIT) ; - /sbin/swapon -> $(SEC_CRIT) ; - /sbin/syslogd -> $(SEC_CRIT) ; - /sbin/unix_chkpwd -> $(SEC_CRIT) ; - /bin/pwd -> $(SEC_CRIT) ; - /bin/uname -> $(SEC_CRIT) ; -} - - -# Hardware and Device Control Programs. - -( - rulename = "Hardware and Device Control Programs", - severity = $(SIG_HI) -) -{ - /bin/setserial -> $(SEC_CRIT) ; - /bin/sfxload -> $(SEC_CRIT) ; - /sbin/blockdev -> $(SEC_CRIT) ; - /sbin/cardctl -> $(SEC_CRIT) ; - /sbin/cardmgr -> $(SEC_CRIT) ; - /sbin/cbq -> $(SEC_CRIT) ; - /sbin/dump_cis -> $(SEC_CRIT) ; - /sbin/elvtune -> $(SEC_CRIT) ; - /sbin/hotplug -> $(SEC_CRIT) ; - /sbin/hwclock -> $(SEC_CRIT) ; - /sbin/ide_info -> $(SEC_CRIT) ; - #/sbin/isapnp -> $(SEC_CRIT) ; - #/sbin/kbdrate -> $(SEC_CRIT) ; - /sbin/losetup -> $(SEC_CRIT) ; - /sbin/lspci -> $(SEC_CRIT) ; - /sbin/lspnp -> $(SEC_CRIT) ; - /sbin/mii-tool -> $(SEC_CRIT) ; - /sbin/pack_cis -> $(SEC_CRIT) ; - #/sbin/pnpdump -> $(SEC_CRIT) ; - /sbin/probe -> $(SEC_CRIT) ; - #/sbin/pump -> $(SEC_CRIT) ; - /sbin/setpci -> $(SEC_CRIT) ; - /sbin/shapecfg -> $(SEC_CRIT) ; -} - - -# System Information Programs. - -( - rulename = "System Information Programs", - severity = $(SIG_HI) -) -{ - /sbin/consoletype -> $(SEC_CRIT) ; - /sbin/kernelversion -> $(SEC_CRIT) ; - /sbin/runlevel -> $(SEC_CRIT) ; -} - - -# Application Information Programs. - -( - rulename = "Application Information Programs", - severity = $(SIG_HI) -) -{ - /sbin/genksyms -> $(SEC_CRIT) ; - #/sbin/genksyms.old -> $(SEC_CRIT) ; - /sbin/rtmon -> $(SEC_CRIT) ; -} - - -# Shell Related Programs. - -( - rulename = "Shell Related Programs", - severity = $(SIG_HI) -) -{ - /sbin/getkey -> $(SEC_CRIT) ; - /sbin/nash -> $(SEC_CRIT) ; - /sbin/sash -> $(SEC_CRIT) ; -} - - -# OS Utilities. - -( - rulename = "Operating System Utilities", - severity = $(SIG_HI) -) -{ - /bin/arch -> $(SEC_CRIT) ; - /bin/ash -> $(SEC_CRIT) ; - /bin/ash.static -> $(SEC_CRIT) ; - /bin/aumix-minimal -> $(SEC_CRIT) ; - /bin/basename -> $(SEC_CRIT) ; - /bin/cat -> $(SEC_CRIT) ; - #/bin/consolechars -> $(SEC_CRIT) ; - /bin/cut -> $(SEC_CRIT) ; - /bin/date -> $(SEC_CRIT) ; - /bin/dd -> $(SEC_CRIT) ; - /bin/df -> $(SEC_CRIT) ; - /bin/dmesg -> $(SEC_CRIT) ; - /bin/doexec -> $(SEC_CRIT) ; - /bin/echo -> $(SEC_CRIT) ; - /bin/ed -> $(SEC_CRIT) ; - /bin/egrep -> $(SEC_CRIT) ; - /bin/false -> $(SEC_CRIT) ; - /bin/fgrep -> $(SEC_CRIT) ; - /bin/gawk -> $(SEC_CRIT) ; - #/bin/gawk-3.1.0 -> $(SEC_CRIT) ; # legacy - /bin/gettext -> $(SEC_CRIT) ; - /bin/grep -> $(SEC_CRIT) ; - /bin/gunzip -> $(SEC_CRIT) ; - /bin/gzip -> $(SEC_CRIT) ; - /bin/hostname -> $(SEC_CRIT) ; - /bin/igawk -> $(SEC_CRIT) ; - /bin/ipcalc -> $(SEC_CRIT) ; - /bin/kill -> $(SEC_CRIT) ; - /bin/ln -> $(SEC_CRIT) ; - /bin/loadkeys -> $(SEC_CRIT) ; - /bin/login -> $(SEC_CRIT) ; - /bin/ls -> $(SEC_CRIT) ; - /bin/mail -> $(SEC_CRIT) ; - /bin/more -> $(SEC_CRIT) ; - /bin/mt -> $(SEC_CRIT) ; - /bin/mv -> $(SEC_CRIT) ; - /bin/netstat -> $(SEC_CRIT) ; - /bin/nice -> $(SEC_CRIT) ; - /bin/pgawk -> $(SEC_CRIT) ; - /bin/ps -> $(SEC_CRIT) ; - /bin/rpm -> $(SEC_CRIT) ; - /bin/sed -> $(SEC_CRIT) ; - /bin/sleep -> $(SEC_CRIT) ; - /bin/sort -> $(SEC_CRIT) ; - /bin/stty -> $(SEC_CRIT) ; - /bin/su -> $(SEC_CRIT) ; - /bin/sync -> $(SEC_CRIT) ; - /bin/tar -> $(SEC_CRIT) ; - /bin/true -> $(SEC_CRIT) ; - /bin/usleep -> $(SEC_CRIT) ; - /bin/vi -> $(SEC_CRIT) ; - /bin/zcat -> $(SEC_CRIT) ; - /bin/zsh -> $(SEC_CRIT) ; - #/bin/zsh-4.0.2 -> $(SEC_CRIT) ; # legacy - /sbin/sln -> $(SEC_CRIT) ; - /usr/bin/vimtutor -> $(SEC_CRIT) ; -} - - -# Critical Utility Sym-Links. - -( - rulename = "Critical Utility Sym-Links", - severity = $(SIG_HI) -) -{ - #/sbin/askrunlevel -> $(SEC_CRIT) ; - /sbin/clock -> $(SEC_CRIT) ; - #/sbin/fixperm -> $(SEC_CRIT) ; - /sbin/fsck.reiserfs -> $(SEC_CRIT) ; - #/sbin/fsconf -> $(SEC_CRIT) ; - #/sbin/ipfwadm-wrapper -> $(SEC_CRIT) ; - /sbin/kallsyms -> $(SEC_CRIT) ; - /sbin/ksyms -> $(SEC_CRIT) ; - /sbin/lsmod -> $(SEC_CRIT) ; - #/sbin/mailconf -> $(SEC_CRIT) ; - /sbin/mkfs.reiserfs -> $(SEC_CRIT) ; - #/sbin/modemconf -> $(SEC_CRIT) ; # legacy - /sbin/modprobe -> $(SEC_CRIT) ; - /sbin/mount.ncp -> $(SEC_CRIT) ; - /sbin/mount.ncpfs -> $(SEC_CRIT) ; - /sbin/mount.smb -> $(SEC_CRIT) ; - /sbin/mount.smbfs -> $(SEC_CRIT) ; - #/sbin/netconf -> $(SEC_CRIT) ; - /sbin/pidof -> $(SEC_CRIT) ; - /sbin/poweroff -> $(SEC_CRIT) ; - /sbin/quotaoff -> $(SEC_CRIT) ; - /sbin/raid0run -> $(SEC_CRIT) ; - /sbin/raidhotadd -> $(SEC_CRIT) ; - #/sbin/raidhotgenerateerror -> $(SEC_CRIT) ; - /sbin/raidhotremove -> $(SEC_CRIT) ; - /sbin/raidstop -> $(SEC_CRIT) ; - /sbin/rdump -> $(SEC_CRIT) ; - /sbin/rdump.static -> $(SEC_CRIT) ; - /sbin/reboot -> $(SEC_CRIT) ; - /sbin/rmmod -> $(SEC_CRIT) ; - /sbin/rrestore -> $(SEC_CRIT) ; - /sbin/rrestore.static -> $(SEC_CRIT) ; - /sbin/swapoff -> $(SEC_CRIT) ; - /sbin/telinit -> $(SEC_CRIT) ; - #/sbin/userconf -> $(SEC_CRIT) ; - #/sbin/uucpconf -> $(SEC_CRIT) ; - #/sbin/vregistry -> $(SEC_CRIT) ; - /bin/awk -> $(SEC_CRIT) ; - /bin/bash2 -> $(SEC_CRIT) ; - /bin/bsh -> $(SEC_CRIT) ; - /bin/csh -> $(SEC_CRIT) ; - /bin/dnsdomainname -> $(SEC_CRIT) ; - /bin/domainname -> $(SEC_CRIT) ; - /bin/ex -> $(SEC_CRIT) ; - /bin/gtar -> $(SEC_CRIT) ; - /bin/nisdomainname -> $(SEC_CRIT) ; - /bin/red -> $(SEC_CRIT) ; - /bin/rvi -> $(SEC_CRIT) ; - /bin/rview -> $(SEC_CRIT) ; - /bin/view -> $(SEC_CRIT) ; - /bin/ypdomainname -> $(SEC_CRIT) ; -} - - -# Temporary directories. - -( - rulename = "Temporary directories", - recurse = false, - severity = $(SIG_LOW) -) -{ - /usr/tmp -> $(SEC_INVARIANT) ; - /var/tmp -> $(SEC_INVARIANT) ; - /tmp -> $(SEC_INVARIANT) ; -} - - -# Local files. - -( - rulename = "User binaries", - severity = $(SIG_MED) -) -{ - /sbin -> $(SEC_BIN) (recurse = 1) ; - /usr/bin -> $(SEC_BIN) (recurse = 1) ; - /usr/sbin -> $(SEC_BIN) (recurse = 1) ; - /usr/local/bin -> $(SEC_BIN) (recurse = 1) ; -} - -( - rulename = "Shell Binaries", - severity = $(SIG_HI) -) -{ - /bin/bash -> $(SEC_BIN) ; - /bin/ksh -> $(SEC_BIN) ; - #/bin/psh -> $(SEC_BIN) ; # legacy - #/bin/Rsh -> $(SEC_BIN) ; # legacy - /bin/sh -> $(SEC_BIN) ; - #/bin/shell -> $(SEC_SUID) ; # legacy - #/bin/tsh -> $(SEC_BIN) ; # legacy - /bin/tcsh -> $(SEC_BIN) ; - /sbin/nologin -> $(SEC_BIN) ; -} - -( - rulename = "Security Control", - severity = $(SIG_HI) -) -{ - /etc/group -> $(SEC_CRIT) ; - /etc/security -> $(SEC_CRIT) ; - #/var/spool/cron/crontabs -> $(SEC_CRIT) ; # Uncomment when this file exists -} - -#( -# rulename = "Boot Scripts", -# severity = $(SIG_HI) -#) -#{ -# /etc/rc -> $(SEC_CONFIG) ; -# /etc/rc.bsdnet -> $(SEC_CONFIG) ; -# /etc/rc.dt -> $(SEC_CONFIG) ; -# /etc/rc.net -> $(SEC_CONFIG) ; -# /etc/rc.net.serial -> $(SEC_CONFIG) ; -# /etc/rc.nfs -> $(SEC_CONFIG) ; -# /etc/rc.powerfail -> $(SEC_CONFIG) ; -# /etc/rc.tcpip -> $(SEC_CONFIG) ; -# /etc/trcfmt.Z -> $(SEC_CONFIG) ; -#} - -( - rulename = "Login Scripts", - severity = $(SIG_HI) -) -{ - /etc/bashrc -> $(SEC_CONFIG) ; - /etc/csh.cshrc -> $(SEC_CONFIG) ; - /etc/csh.login -> $(SEC_CONFIG) ; - /etc/inputrc -> $(SEC_CONFIG) ; - #/etc/tsh_profile -> $(SEC_CONFIG) ; #Uncomment when this file exists - /etc/profile -> $(SEC_CONFIG) ; -} - - -# Libraries -( - rulename = "Libraries", - severity = $(SIG_MED) -) -{ - /usr/lib -> $(SEC_BIN) ; - /usr/local/lib -> $(SEC_BIN) ; -} - - -# Critical System Boot Files. -# These files are critical to a correct system boot. - -( - rulename = "Critical system boot files", - severity = $(SIG_HI) -) -{ - /boot -> $(SEC_CRIT) ; - #/sbin/devfsd -> $(SEC_CRIT) ; - /sbin/grub -> $(SEC_CRIT) ; - /sbin/grub-install -> $(SEC_CRIT) ; - /sbin/grub-md5-crypt -> $(SEC_CRIT) ; - /sbin/installkernel -> $(SEC_CRIT) ; - /sbin/lilo -> $(SEC_CRIT) ; - /sbin/mkkerneldoth -> $(SEC_CRIT) ; - !/boot/System.map ; - !/boot/module-info ; - /usr/share/grub/i386-redhat/e2fs_stage1_5 -> $(SEC_CRIT) ; - /usr/share/grub/i386-redhat/fat_stage1_5 -> $(SEC_CRIT) ; - /usr/share/grub/i386-redhat/ffs_stage1_5 -> $(SEC_CRIT) ; - /usr/share/grub/i386-redhat/minix_stage1_5 -> $(SEC_CRIT) ; - /usr/share/grub/i386-redhat/reiserfs_stage1_5 -> $(SEC_CRIT) ; - /usr/share/grub/i386-redhat/stage1 -> $(SEC_CRIT) ; - /usr/share/grub/i386-redhat/stage2 -> $(SEC_CRIT) ; - /usr/share/grub/i386-redhat/vstafs_stage1_5 -> $(SEC_CRIT) ; - # other boot files may exist. Look for: - #/ufsboot -> $(SEC_CRIT) ; -} - - # These files change every time the system boots. - -( - rulename = "System boot changes", - severity = $(SIG_HI) -) -{ - !/var/run/ftp.pids-all ; # Comes and goes on reboot. - !/root/.enlightenment ; - /dev/log -> $(SEC_CONFIG) ; - /dev/cua0 -> $(SEC_CONFIG) ; - #/dev/printer -> $(SEC_CONFIG) ; # legacy - /dev/console -> $(SEC_CONFIG) -u ; # User ID may change on console login/logout. - /dev/tty1 -> $(SEC_CONFIG) ; # tty devices - /dev/tty2 -> $(SEC_CONFIG) ; # tty devices - /dev/tty3 -> $(SEC_CONFIG) ; # are extremely - /dev/tty4 -> $(SEC_CONFIG) ; # variable - /dev/tty5 -> $(SEC_CONFIG) ; - /dev/tty6 -> $(SEC_CONFIG) ; - /dev/urandom -> $(SEC_CONFIG) ; - /dev/initctl -> $(SEC_CONFIG) ; - /var/lock/subsys -> $(SEC_CONFIG) ; - #/var/lock/subsys/amd -> $(SEC_CONFIG) ; - #/var/lock/subsys/anacron -> $(SEC_CONFIG) ; - /var/lock/subsys/apmd -> $(SEC_CONFIG) ; - #/var/lock/subsys/arpwatch -> $(SEC_CONFIG) ; - /var/lock/subsys/atd -> $(SEC_CONFIG) ; - #/var/lock/subsys/autofs -> $(SEC_CONFIG) ; - #/var/lock/subsys/bcm5820 -> $(SEC_CONFIG) ; - #/var/lock/subsys/bgpd -> $(SEC_CONFIG) ; - #/var/lock/subsys/bootparamd -> $(SEC_CONFIG) ; - /var/lock/subsys/canna -> $(SEC_CONFIG) ; - /var/lock/subsys/crond -> $(SEC_CONFIG) ; - #/var/lock/subsys/cWnn -> $(SEC_CONFIG) ; - #/var/lock/subsys/dhcpd -> $(SEC_CONFIG) ; - #/var/lock/subsys/firewall -> $(SEC_CONFIG) ; - #/var/lock/subsys/freeWnn -> $(SEC_CONFIG) ; - #/var/lock/subsys/gated -> $(SEC_CONFIG) ; - /var/lock/subsys/gpm -> $(SEC_CONFIG) ; - #/var/lock/subsys/httpd -> $(SEC_CONFIG) ; - #/var/lock/subsys/identd -> $(SEC_CONFIG) ; - #/var/lock/subsys/innd -> $(SEC_CONFIG) ; - #/var/lock/subsys/ipchains -> $(SEC_CONFIG) ; # legacy - /var/lock/subsys/iptables -> $(SEC_CONFIG) ; - #/var/lock/subsys/ipvsadm -> $(SEC_CONFIG) ; - #/var/lock/subsys/irda -> $(SEC_CONFIG) ; - #/var/lock/subsys/iscsi -> $(SEC_CONFIG) ; - #/var/lock/subsys/isdn -> $(SEC_CONFIG) ; - #/var/lock/subsys/junkbuster -> $(SEC_CONFIG) ; # legacy - #/var/lock/subsys/kadmin -> $(SEC_CONFIG) ; - #/var/lock/subsys/keytable -> $(SEC_CONFIG) ; - #/var/lock/subsys/kprop -> $(SEC_CONFIG) ; - #/var/lock/subsys/krb524 -> $(SEC_CONFIG) ; - #/var/lock/subsys/krb5kdc -> $(SEC_CONFIG) ; - /var/lock/subsys/kudzu -> $(SEC_CONFIG) ; - #/var/lock/subsys/kWnn -> $(SEC_CONFIG) ; - #/var/lock/subsys/ldap -> $(SEC_CONFIG) ; - #/var/lock/subsys/linuxconf -> $(SEC_CONFIG) ; # legacy - #/var/lock/subsys/lpd -> $(SEC_CONFIG) ; - #/var/lock/subsys/mars_nwe -> $(SEC_CONFIG) ; - #/var/lock/subsys/mcserv -> $(SEC_CONFIG) ; - #/var/lock/subsys/mysqld -> $(SEC_CONFIG) ; - #/var/lock/subsys/named -> $(SEC_CONFIG) ; - /var/lock/subsys/netfs -> $(SEC_CONFIG) ; - /var/lock/subsys/network -> $(SEC_CONFIG) ; - #/var/lock/subsys/nfs -> $(SEC_CONFIG) ; - /var/lock/subsys/nfslock -> $(SEC_CONFIG) ; - #/var/lock/subsys/nscd -> $(SEC_CONFIG) ; - /var/lock/subsys/ntpd -> $(SEC_CONFIG) ; - #/var/lock/subsys/ospf6d -> $(SEC_CONFIG) ; - #/var/lock/subsys/ospfd -> $(SEC_CONFIG) ; - #/var/lock/subsys/pcmcia -> $(SEC_CONFIG) ; - /var/lock/subsys/portmap -> $(SEC_CONFIG) ; - #/var/lock/subsys/postgresql -> $(SEC_CONFIG) ; - #/var/lock/subsys/pxe -> $(SEC_CONFIG) ; - #/var/lock/subsys/radvd -> $(SEC_CONFIG) ; - /var/lock/subsys/random -> $(SEC_CONFIG) ; - #/var/lock/subsys/rarpd -> $(SEC_CONFIG) ; - #/var/lock/subsys/reconfig -> $(SEC_CONFIG) ; - #/var/lock/subsys/rhnsd -> $(SEC_CONFIG) ; - #/var/lock/subsys/ripd -> $(SEC_CONFIG) ; - #/var/lock/subsys/ripngd -> $(SEC_CONFIG) ; - #/var/lock/subsys/routed -> $(SEC_CONFIG) ; - #/var/lock/subsys/rstatd -> $(SEC_CONFIG) ; - #/var/lock/subsys/rusersd -> $(SEC_CONFIG) ; - #/var/lock/subsys/rwalld -> $(SEC_CONFIG) ; - #/var/lock/subsys/rwhod -> $(SEC_CONFIG) ; - /var/lock/subsys/sendmail -> $(SEC_CONFIG) ; - #/var/lock/subsys/smb -> $(SEC_CONFIG) ; - #/var/lock/subsys/snmpd -> $(SEC_CONFIG) ; - #/var/lock/subsys/squid -> $(SEC_CONFIG) ; - /var/lock/subsys/sshd -> $(SEC_CONFIG) ; - /var/lock/subsys/syslog -> $(SEC_CONFIG) ; - #/var/lock/subsys/tux -> $(SEC_CONFIG) ; - #/var/lock/subsys/tWnn -> $(SEC_CONFIG) ; - #/var/lock/subsys/ups -> $(SEC_CONFIG) ; - #/var/lock/subsys/vncserver -> $(SEC_CONFIG) ; - #/var/lock/subsys/wine -> $(SEC_CONFIG) ; - /var/lock/subsys/xfs -> $(SEC_CONFIG) ; - /var/lock/subsys/xinetd -> $(SEC_CONFIG) ; - #/var/lock/subsys/ypbind -> $(SEC_CONFIG) ; - #/var/lock/subsys/yppasswdd -> $(SEC_CONFIG) ; - #/var/lock/subsys/ypserv -> $(SEC_CONFIG) ; - #/var/lock/subsys/ypxfrd -> $(SEC_CONFIG) ; - #/var/lock/subsys/zebra -> $(SEC_CONFIG) ; - /var/run -> $(SEC_CONFIG) ; - /var/log -> $(SEC_CONFIG) ; - #/etc/ioctl.save -> $(SEC_CONFIG) ; - /etc/issue.net -> $(SEC_CONFIG) -i ; # Inode number changes - /etc/issue -> $(SEC_CONFIG) ; - /etc/mtab -> $(SEC_CONFIG) -i ; # Inode number changes on any mount/unmount - /lib/modules -> $(SEC_CONFIG) ; - /etc/.pwd.lock -> $(SEC_CONFIG) ; - #/lib/modules/preferred -> $(SEC_CONFIG) ; #Uncomment when this file exists -} - -# These files change the behavior of the root account -( - rulename = "Root config files", - severity = 100 -) -{ - /root -> $(SEC_CRIT) ; # Catch all additions to /root - /root/.Xresources -> $(SEC_CONFIG) ; - /root/.bashrc -> $(SEC_CONFIG) ; - /root/.bash_profile -> $(SEC_CONFIG) ; - /root/.bash_logout -> $(SEC_CONFIG) ; - /root/.cshrc -> $(SEC_CONFIG) ; - /root/.tcshrc -> $(SEC_CONFIG) ; - #/root/Mail -> $(SEC_CONFIG) ; - #/root/mail -> $(SEC_CONFIG) ; - #/root/.amandahosts -> $(SEC_CONFIG) ; - #/root/.addressbook.lu -> $(SEC_CONFIG) ; - #/root/.addressbook -> $(SEC_CONFIG) ; - /root/.bash_history -> $(SEC_CONFIG) ; - #/root/.elm -> $(SEC_CONFIG) ; - /root/.esd_auth -> $(SEC_CONFIG) ; - #/root/.gnome_private -> $(SEC_CONFIG) ; - #/root/.gnome-desktop -> $(SEC_CONFIG) ; - /root/.gnome -> $(SEC_CONFIG) ; - /root/.ICEauthority -> $(SEC_CONFIG) ; - #/root/.mc -> $(SEC_CONFIG) ; - #/root/.pinerc -> $(SEC_CONFIG) ; - #/root/.sawfish -> $(SEC_CONFIG) ; - /root/.Xauthority -> $(SEC_CONFIG) -i ; # Changes Inode number on login - #/root/.xauth -> $(SEC_CONFIG) ; - #/root/.xsession-errors -> $(SEC_CONFIG) ; -} - -# Critical configuration files. - -( - rulename = "Critical configuration files", - severity = $(SIG_HI) -) -{ - #/etc/conf.linuxconf -> $(SEC_BIN) ; # legacy - /etc/crontab -> $(SEC_BIN) ; - /etc/cron.hourly -> $(SEC_BIN) ; - /etc/cron.daily -> $(SEC_BIN) ; - /etc/cron.weekly -> $(SEC_BIN) ; - /etc/cron.monthly -> $(SEC_BIN) ; - /etc/default -> $(SEC_BIN) ; - /etc/fstab -> $(SEC_BIN) ; - /etc/exports -> $(SEC_BIN) ; - /etc/group- -> $(SEC_BIN) ; # changes should be infrequent - /etc/host.conf -> $(SEC_BIN) ; - /etc/hosts.allow -> $(SEC_BIN) ; - /etc/hosts.deny -> $(SEC_BIN) ; - /etc/httpd/conf -> $(SEC_BIN) ; # changes should be infrequent - /etc/protocols -> $(SEC_BIN) ; - /etc/services -> $(SEC_BIN) ; - /etc/rc.d/init.d -> $(SEC_BIN) ; - /etc/rc.d -> $(SEC_BIN) ; - /etc/mail.rc -> $(SEC_BIN) ; - /etc/modules.conf -> $(SEC_BIN) ; # post 2.6 legacy - #/etc/modprobe.conf -> $(SEC_BIN) ; # include this for 2.6 kernels - /etc/motd -> $(SEC_BIN) ; - /etc/named.conf -> $(SEC_BIN) ; - /etc/passwd -> $(SEC_CONFIG) ; - /etc/passwd- -> $(SEC_CONFIG) ; - /etc/profile.d -> $(SEC_BIN) ; - /var/lib/nfs/rmtab -> $(SEC_BIN) ; - /usr/sbin/fixrmtab -> $(SEC_BIN) ; - /etc/rpc -> $(SEC_BIN) ; - /etc/sysconfig -> $(SEC_BIN) ; - /etc/samba/smb.conf -> $(SEC_CONFIG) ; - #/etc/gettydefs -> $(SEC_BIN) ; - /etc/nsswitch.conf -> $(SEC_BIN) ; - /etc/yp.conf -> $(SEC_BIN) ; - /etc/hosts -> $(SEC_CONFIG) ; - /etc/xinetd.conf -> $(SEC_CONFIG) ; - /etc/inittab -> $(SEC_CONFIG) ; - /etc/resolv.conf -> $(SEC_CONFIG) ; - /etc/syslog.conf -> $(SEC_CONFIG) ; -} - -# Critical devices. - -( - rulename = "Critical devices", - severity = $(SIG_HI), - recurse = false -) -{ - /dev/kmem -> $(Device) ; - /dev/mem -> $(Device) ; - /dev/null -> $(Device) ; - /dev/zero -> $(Device) ; - /proc/devices -> $(Device) ; - /proc/net -> $(Device) ; - /proc/sys -> $(Device) ; - /proc/cpuinfo -> $(Device) ; - /proc/modules -> $(Device) ; - /proc/mounts -> $(Device) ; - /proc/dma -> $(Device) ; - /proc/filesystems -> $(Device) ; - /proc/pci -> $(Device) ; - /proc/interrupts -> $(Device) ; - /proc/driver/rtc -> $(Device) ; - /proc/ioports -> $(Device) ; - /proc/scsi -> $(Device) ; - /proc/kcore -> $(Device) ; - /proc/self -> $(Device) ; - /proc/kmsg -> $(Device) ; - /proc/stat -> $(Device) ; - /proc/ksyms -> $(Device) ; - /proc/loadavg -> $(Device) ; - /proc/uptime -> $(Device) ; - /proc/locks -> $(Device) ; - /proc/version -> $(Device) ; - /proc/mdstat -> $(Device) ; - /proc/meminfo -> $(Device) ; - /proc/cmdline -> $(Device) ; - /proc/misc -> $(Device) ; -} - -# Rest of critical system binaries -( - rulename = "OS executables and libraries", - severity = $(SIG_HI) -) -{ - /bin -> $(SEC_BIN) ; - /lib -> $(SEC_BIN) ; -} - -# disabled-entries: 184 - -# license: -#============================================================================= -# -# Copyright 2000 Tripwire, Inc. Tripwire is a registered trademark of Tripwire, -# Inc. in the United States and other countries. All rights reserved. -# -# Linux is a registered trademark of Linus Torvalds. -# -# UNIX is a registered trademark of The Open Group. -# -#============================================================================= -# -# Permission is granted to make and distribute verbatim copies of this document -# provided the copyright notice and this permission notice are preserved on all -# copies. -# -# Permission is granted to copy and distribute modified versions of this -# document under the conditions for verbatim copying, provided that the entire -# resulting derived work is distributed under the terms of a permission notice -# identical to this one. -# -# Permission is granted to copy and distribute translations of this document -# into another language, under the above conditions for modified versions, -# except that this permission notice may be stated in a translation approved by -# Tripwire, Inc. -# -# DCM From bcfaf443705f29aedab5e70fcce8b5cff0c7909d Mon Sep 17 00:00:00 2001 From: Brandon Holbrook Date: Fri, 22 Dec 2006 04:10:00 +0000 Subject: [PATCH 09/81] Not dead anymore! --- dead.package | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 dead.package diff --git a/dead.package b/dead.package deleted file mode 100644 index e69de29..0000000 From d83fb706eaf919a47bb34a7971e516a61d08237d Mon Sep 17 00:00:00 2001 From: Brandon Holbrook Date: Fri, 22 Dec 2006 04:35:13 +0000 Subject: [PATCH 10/81] New .spec file --- tripwire.spec | 321 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 321 insertions(+) create mode 100644 tripwire.spec diff --git a/tripwire.spec b/tripwire.spec new file mode 100644 index 0000000..4be5fc2 --- /dev/null +++ b/tripwire.spec @@ -0,0 +1,321 @@ +%define path_to_vi /bin/vi +%define path_to_sendmail /usr/sbin/sendmail + +Name: tripwire +Version: 2.4.0.1 +Release: 4%{?dist} +Summary: IDS (Intrusion Detection System) + +License: GPL +Group: Applications/System +Source0: http://download.sourceforge.net/tripwire/tripwire-%{version}-src.tar.bz2 +Source1: tripwire.cron.in +Source2: tripwire.txt +Source3: tripwire.gif +Source4: twcfg.txt.in +Source5: tripwire-setup-keyfiles.in +Source6: twpol.txt.in +Source7: README.Fedora.in +Source9: License-Issues +URL: http://www.tripwire.org/ +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: openssl-devel +Requires(post): sed + +Patch0: tripwire-2.4.0.1-gcc4.patch +Patch1: tripwire-siggen-man8.patch + +%description +Tripwire is a very valuable security tool for Linux systems, if it is +installed to a clean system. Tripwire should be installed right after +the OS installation, and before you have connected your system to a +network (i.e., before any possibility exists that someone could alter +files on your system). + +When Tripwire is initially set up, it creates a database that records +certain file information. Then when it is run, it compares a designated +set of files and directories to the information stored in the database. +Added or deleted files are flagged and reported, as are any files that +have changed from their previously recorded state in the database. When +Tripwire is run against system files on a regular basis, any file +changes will be spotted when Tripwire is run. Tripwire will report the +changes, which will give system administrators a clue that they need to +enact damage control measures immediately if certain files have been +altered. + +%prep +%setup -q +%{__cp} -p %{SOURCE2} quickstart.txt +%{__cp} -p %{SOURCE3} quickstart.gif + +%patch0 -p1 -b .gcc4 +%patch1 -p1 -b .siggen.manpage + +%build +%{__chmod} 755 configure +# RPM_OPT_FLAGS break the code (deadlock). +export CXXFLAGS="-O -Wall -pipe -g" +./configure -q \ + path_to_vi=%{path_to_vi} \ + path_to_sendmail=%{path_to_sendmail} \ + --prefix=/ \ + --sysconfdir=%{_sysconfdir}/tripwire \ + --sbindir=%{_sbindir} \ + --libdir=%{_var}/lib \ + --mandir=%{_mandir} + +%{__make} %{?_smp_mflags} + +%install +%{__rm} -fr ${RPM_BUILD_ROOT} + +# Install the binaries. +%{__mkdir_p} ${RPM_BUILD_ROOT}%{_sbindir} +%{__install} -p -m755 bin/siggen ${RPM_BUILD_ROOT}%{_sbindir} +%{__install} -p -m755 bin/tripwire ${RPM_BUILD_ROOT}%{_sbindir} +%{__install} -p -m755 bin/twadmin ${RPM_BUILD_ROOT}%{_sbindir} +%{__install} -p -m755 bin/twprint ${RPM_BUILD_ROOT}%{_sbindir} + +# Install the man pages. +%{__mkdir_p} ${RPM_BUILD_ROOT}%{_mandir}/{man4,man5,man8} +%{__install} -p -m644 man/man4/*.4 ${RPM_BUILD_ROOT}%{_mandir}/man4/ +%{__install} -p -m644 man/man5/*.5 ${RPM_BUILD_ROOT}%{_mandir}/man5/ +%{__install} -p -m644 man/man8/*.8 ${RPM_BUILD_ROOT}%{_mandir}/man8/ + +# Create configuration files from templates. +%{__rm} -fr _tmpcfg +%{__mkdir} _tmpcfg +for infile in %{SOURCE1} %{SOURCE4} %{SOURCE5} %{SOURCE6} %{SOURCE7} ; do + outfile=${infile##/*/} + outfile=${outfile%.*n} + cat ${infile} |\ + %{__sed} -e 's|@path_to_vi@|%{path_to_vi}|g' |\ + %{__sed} -e 's|@path_to_sendmail@|%{path_to_sendmail}|g' |\ + %{__sed} -e 's|@sysconfdir@|%{_sysconfdir}|g' |\ + %{__sed} -e 's|@sbindir@|%{_sbindir}|g' |\ + %{__sed} -e 's|@vardir@|%{_var}|g' >\ + _tmpcfg/${outfile} +done +%{__mv} _tmpcfg/{tripwire-setup-keyfiles,README.Fedora} . + +# Create the reports directory. +%{__install} -d -m700 ${RPM_BUILD_ROOT}%{_var}/lib/tripwire/report + +# Install the cron job. +%{__install} -d -m755 ${RPM_BUILD_ROOT}%{_sysconfdir}/cron.daily +%{__install} -p -m755 _tmpcfg/tripwire.cron \ + ${RPM_BUILD_ROOT}%{_sysconfdir}/cron.daily/tripwire-check +%{__rm} _tmpcfg/tripwire.cron + +# Install configuration files. +%{__mkdir_p} ${RPM_BUILD_ROOT}%{_sysconfdir}/tripwire +for file in _tmpcfg/* ; do + %{__install} -p -m644 ${file} ${RPM_BUILD_ROOT}%{_sysconfdir}/tripwire +done + +# Install the keyfile setup script +%{__install} -p -m755 tripwire-setup-keyfiles ${RPM_BUILD_ROOT}%{_sbindir} + +# Fix permissions on documentation files. +%{__cp} -p %{SOURCE9} . +%{__chmod} 644 \ + ChangeLog COMMERCIAL COPYING TRADEMARK quickstart.gif \ + quickstart.txt README.Fedora policy/policyguide.txt License-Issues + + +%clean +%{__rm} -rf ${RPM_BUILD_ROOT} + + +%post +# Set the real hostname in twpol.txt +%{__sed} -i -e "s|localhost|$HOSTNAME|g" %{_sysconfdir}/tripwire/twpol.txt + + +%files +%defattr(0644,root,root,0755) +%doc ChangeLog COMMERCIAL COPYING TRADEMARK quickstart.gif +%doc quickstart.txt README.Fedora policy/policyguide.txt License-Issues +%attr(0700,root,root) %dir %{_sysconfdir}/tripwire +%config(noreplace) %{_sysconfdir}/tripwire/twcfg.txt +%config(noreplace) %{_sysconfdir}/tripwire/twpol.txt +%attr(0755,root,root) %{_sysconfdir}/cron.daily/tripwire-check +%attr(0700,root,root) %dir %{_var}/lib/tripwire +%attr(0700,root,root) %dir %{_var}/lib/tripwire/report +%{_mandir}/*/* +%attr(0755,root,root) %{_sbindir}/* + + +%changelog +* Thu Dec 21 2006 Brandon Holbrook 2.4.0.1-4 +- Don't print anything at install time + +* Tue Dec 19 2006 Brandon Holbrook 2.4.0.1-3 +- Changed defattr to 644,755 +- removed BR: autoconf +- Inform users about README.Fedora instead of spamming the install + with catting the whole file + +* Wed Nov 15 2006 Brandon Holbrook 2.4.0.1-2 +- chmod'ed /etc/tripwire to 0700 +- Added sed to Requires(post) + +* Tue Aug 22 2006 Brandon Holbrook 2.4.0.1-1.4 +- Include COMMERCIAL file from upstream +- Print README.RPM on initial install +- Added _smp_mflags to make +- Removed ExclusiveArch: ix86 +- Replaced 2.3 with 2.4 in tripwire.txt + +* Tue Aug 22 2006 Brandon Holbrook 2.4.0.1-1.2 +- Updated to 2.4.0.1 + +* Fri Apr 7 2005 Michael Schwendt +- rebuilt + +* Tue Jun 15 2004 Keith G. Robertson-Turner 0:2.3.1-20.fdr.1 +- Revision bump to supersede Fedora Legacy +- Fixed a bogus entry in twpol.txt.in (modeprobe.conf -> modprobe.conf) + +* Thu Jun 10 2004 Keith G. Robertson-Turner 0:2.3.1-18.fdr.9 +- Applied Paul Herman's patch to fix a format string vulnerability in + pipedmailmessage.cpp + +* Sun Feb 29 2004 Keith G. Robertson-Turner 0:2.3.1-18.fdr.8 +- Default policy overhaul +- Spec cleanup + +* Sun Feb 22 2004 Keith G. Robertson-Turner 0:2.3.1-18.fdr.7 +- Moved documentation data out of package description + +* Sat Feb 21 2004 Keith G. Robertson-Turner 0:2.3.1-18.fdr.6 +- Removed explicit Buildrequires gcc-c++ + +* Fri Feb 20 2004 Keith G. Robertson-Turner 0:2.3.1-18.fdr.5 +- Finally moved twinstall.sh from the sysconfdir to the sbindir, since + it is not a configuration file. Fixes Red Hat bug #61855 +- Renamed twinstall.sh to tripwire-setup-keyfiles, since the name is + misleading. It is setting up keyfiles, not installing an application +- Minor correction to twinstall.sh (now tripwire-setup-keyfiles), which + made an incorrect reference to the site key rather than the local key +- Long overdue default policy update +- Added explicit Buildrequires gcc-c++, to satisfy mach + +* Thu Feb 19 2004 Keith G. Robertson-Turner 0:2.3.1-18.fdr.4 +- Fixed siggen.8 man page, broken command synopsis syntax. Submitted by + doclifter +- Set real hostname in post, so Tripwire works first time, without + editing twpol.txt +- More accurate package summary +- Spec cleanup + +* Fri Nov 28 2003 Keith G. Robertson-Turner 0:2.3.1-18.fdr.3 +- Thanks to Michael Schwendt for really cleaning up the Spec file +- The remaining parts of the original tripwire-2.3.1-gcc3.patch have + now been implemented +- Debuginfo fully builds now + +* Thu Nov 27 2003 Keith G. Robertson-Turner 0:2.3.1-18.fdr.2 +- Removed version specific grep dependency, since grep >= 2.3 is common +- Added openssl-devel and autoconf to build dependencies +- The tripwire-jbj.patch is now confirmed merged with tw-20030919.patch +- Added RPM optimisation flags option, disabled by default since it + breaks the code +- Fixed file permissions of packaged files + +* Wed Nov 26 2003 Keith G. Robertson-Turner 0:2.3.1-18.fdr.1 +- Implemented Paul Herman's tw-20030919.patch +- Removed the fhs gcc3 and jbj patches, which are now broken/obsoleted + by the above +- Both the mkstemp and rfc822 patches are still implemented +- Build uses autoconf for now +- Spec file given complete overhaul for stricter compliance. More to do + +* Wed Jan 22 2003 Tim Powers +- rebuilt + +* Sat Nov 16 2002 Jeff Johnson 2.3.1-16 +- rebuild from cvs. +- comment out debug messages to achieve compilation. +- include policyguide.txt (#72259). +- use mkstemp, not mktemp. + +* Fri Aug 02 2002 Mike A. Harris 2.3.1-14 +- Modified default sample twpol file to remove bogus warnings (#70502) + +* Fri Jun 21 2002 Tim Powers 2.3.1-13 +- automated rebuild + +* Sun May 26 2002 Tim Powers 2.3.1-12 +- automated rebuild + +* Wed May 22 2002 Mike A. Harris 2.3.1-11 +- Rebuilt in new build environment with gcc 3.1 + +* Tue Feb 26 2002 Mike A. Harris 2.3.1-9 +- Conditionalized gcc3 patch +- Added back the ExclusiveArch that is required but disappeared somewhere along + the line. +- Rebuild in new build environment + +* Thu Jan 31 2002 Mike A. Harris 2.3.1-7 +- Bump release and rebuild in new environment. +- (Elliot Lee) Add patch to make it build with gcc3. + +* Thu Aug 9 2001 Nalin Dahyabhai 2.3.1-5 +- define USE_FHS when USES_FHS is defined, so that the database winds up + in the right directory (#51332) +- update default twpol file to include files recently-added to the full + installation tree + +* Tue Jul 17 2001 Mike A. Harris 2.3.1-4 +- Applied bugfix for (#47276) to make tripwire email RFC822 compliant, using + patch in bugreport from Michael Schwendt + +* Tue Jul 10 2001 Mike A. Harris 2.3.1-3 +- Made package own dir /var/lib/tripwire + +* Mon Jun 25 2001 Nalin Dahyabhai +- update to 2.3.1-2 + +* Thu Mar 1 2001 Bill Nottingham +- rebuild, fix defattr. Weird. + +* Tue Feb 27 2001 Nalin Dahyabhai +- refresh from upstream +- modify the default policy to match the current tree more closely (#28744) +- make the text files 0644, not 0755 +- defattr for the sake of the docs + +* Wed Sep 20 2000 Nalin Dahyabhai +- change exclusivearch: i386 to exclusivearch: %%{ix86} (#17759) + +* Wed Aug 23 2000 Than Ngo +- remove copyleft information in specfile (Bug #16765) + +* Tue Aug 22 2000 Nalin Dahyabhai +- remove duplicate source files +- sync up description with specspo + +* Fri Aug 4 2000 Than Ngo +- remove Vendor and Distribution from specfile (Bug #15246) + +* Fri Aug 4 2000 Than Ngo +- starts tripwire --check if it was configured before. (Bug #15384) + +* Fri Aug 4 2000 Nalin Dahyabhai +- fix sense of checking for the database's existence in the cron job +- actually include twinstall.sh, twcfg.txt, twpol.txt + +* Thu Aug 3 2000 Than Ngo +- permission fix (bug #15246) + +* Mon Jul 31 2000 Nalin Dahyabhai +- add quickstart docs (Ed) +- tweak description text (Ed) + +* Thu Jul 20 2000 Nalin Dahyabhai +- update .spec file to follow RPM conventions +- add tripwire --check to cron.daily + From a1a3182f5d4ce4903c99fbc72769c7a37580f728 Mon Sep 17 00:00:00 2001 From: Brandon Holbrook Date: Fri, 22 Dec 2006 04:39:18 +0000 Subject: [PATCH 11/81] New Makefile --- Makefile | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 Makefile diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..98ff4d1 --- /dev/null +++ b/Makefile @@ -0,0 +1,21 @@ +# Makefile for source rpm: tripwire +# $Id$ +NAME := tripwire +SPECFILE = $(firstword $(wildcard *.spec)) + +define find-makefile-common +for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done +endef + +MAKEFILE_COMMON := $(shell $(find-makefile-common)) + +ifeq ($(MAKEFILE_COMMON),) +# attept a checkout +define checkout-makefile-common +test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 +endef + +MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) +endif + +include $(MAKEFILE_COMMON) From 861c105ca4a359ab021b73363f9a713409090e1e Mon Sep 17 00:00:00 2001 From: Brandon Holbrook Date: Fri, 22 Dec 2006 04:44:31 +0000 Subject: [PATCH 12/81] Setup of module tripwire --- .cvsignore | 0 import.log | 0 sources | 0 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 .cvsignore create mode 100644 import.log create mode 100644 sources diff --git a/.cvsignore b/.cvsignore new file mode 100644 index 0000000..e69de29 diff --git a/import.log b/import.log new file mode 100644 index 0000000..e69de29 diff --git a/sources b/sources new file mode 100644 index 0000000..e69de29 From 848f8ba79bee78bc6ce7957f86e3885b60d7023c Mon Sep 17 00:00:00 2001 From: Brandon Holbrook Date: Fri, 22 Dec 2006 04:47:55 +0000 Subject: [PATCH 13/81] auto-import tripwire-2.4.0.1-4 on branch devel from tripwire-2.4.0.1-4.src.rpm --- .cvsignore | 1 + License-Issues | 66 +++ README.Fedora.in | 9 + import.log | 0 sources | 1 + tripwire-2.4.0.1-gcc4.patch | 31 ++ tripwire-setup-keyfiles.in | 329 +++++++++++ tripwire-siggen-man8.patch | 47 ++ tripwire.cron.in | 8 + tripwire.gif | Bin 0 -> 4679 bytes tripwire.txt | 82 +++ twcfg.txt.in | 15 + twpol.txt.in | 1036 +++++++++++++++++++++++++++++++++++ 13 files changed, 1625 insertions(+) create mode 100644 License-Issues create mode 100644 README.Fedora.in delete mode 100644 import.log create mode 100644 tripwire-2.4.0.1-gcc4.patch create mode 100644 tripwire-setup-keyfiles.in create mode 100644 tripwire-siggen-man8.patch create mode 100644 tripwire.cron.in create mode 100644 tripwire.gif create mode 100644 tripwire.txt create mode 100644 twcfg.txt.in create mode 100644 twpol.txt.in diff --git a/.cvsignore b/.cvsignore index e69de29..4b608ce 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1 @@ +tripwire-2.4.0.1-src.tar.bz2 diff --git a/License-Issues b/License-Issues new file mode 100644 index 0000000..6b892e1 --- /dev/null +++ b/License-Issues @@ -0,0 +1,66 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + +Update 19 Feb 2004: + +The following issues are soon to disappear, since: + + 1) There are now cleaner upstream sources to work with (Debian) + 2) I'm working towards ditching Crypto++ altogether + +###### + +There seems to be some speculation as to the legal status of this +software. + +The problem seems to stem from patents, copyrights and licenses in the +Crypto++ distribution, by Wei Dei. + +For more information on the exact issues, please refer to the following +URL: + +http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=153007 + +The situation with the Fedora release is not as complex however, since +many of the questionable components are not included, specifically: + +The following are not in the archive, so there is no issue: +src/cryptlib/idea.cpp +src/cryptlib/haval.cpp +src/cryptlib/mars.cpp +src/cryptlib/serpent.cpp +src/cryptlib/md5.cpp +src/cryptlib/md5mac.cpp +src/cryptlib/cast.cpp + +The following are copyrighted, but have no license: +src/cryptlib/zbits.cpp +src/cryptlib/ztrees.cpp +src/cryptlib/zdeflate.cpp +src/cryptlib/sha.cpp ? + +With regards to those last four files, Stephen Zander is apparently going to approach Wei Dei with regards clearing up +the "no license" issues. However, I don't think this is a "fatal" +problem at this stage. Hopefully this will include clearing up the +implications of section 2 of src/cryptlib/license.txt, which reads: + +"2. Users of the software included in this compilation agree to use +their best efforts to provide Wei Dai with any modifications containing +improvements or extensions and hereby grant Wei Dai a perpetual, +royalty-free license to use and distribute such modifications under the +terms of this license." + +I'm no GPL/OSS expert, but there are some who believe this is +incompatible with the GPL. Discussions are ongoing, and I will continue +to update this file in future releases with any news. + +Keith G. Robertson-Turner + +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.2.3 (GNU/Linux) + +iD8DBQFANEDN2XoLj+pGfn8RArdFAJ0edxT3u8DmWJEOpQ7eSFcFd17cXACfVH5I +PKV00HlQoZBBfbrq8//6pd8= +=HlLR +-----END PGP SIGNATURE----- diff --git a/README.Fedora.in b/README.Fedora.in new file mode 100644 index 0000000..ab53114 --- /dev/null +++ b/README.Fedora.in @@ -0,0 +1,9 @@ + +After installing this package, you should run: + + @sbindir@/tripwire-setup-keyfiles + +to generate cryptographic keys, and "tripwire --init" to initialize the +database Tripwire uses. This must be done manually because the key used +to sign the database should be different for each system. + diff --git a/import.log b/import.log deleted file mode 100644 index e69de29..0000000 diff --git a/sources b/sources index e69de29..c617def 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +b371f79ac23cacc9ad40b1da76b4a0c4 tripwire-2.4.0.1-src.tar.bz2 diff --git a/tripwire-2.4.0.1-gcc4.patch b/tripwire-2.4.0.1-gcc4.patch new file mode 100644 index 0000000..568c621 --- /dev/null +++ b/tripwire-2.4.0.1-gcc4.patch @@ -0,0 +1,31 @@ +--- ./src/fco/fcosetimpl.h.orig 2005-12-14 06:18:01.000000000 -0600 ++++ ./src/fco/fcosetimpl.h 2005-12-14 06:18:01.000000000 -0600 +@@ -46,6 +46,8 @@ + #include "fconame.h" + #endif + ++class cFCOIterImpl; ++ + class cFCOSetImpl : public iFCOSet + { + friend class cFCOIterImpl; +--- ./src/fco/fconame.h.orig 2005-12-14 06:18:01.000000000 -0600 ++++ ./src/fco/fconame.h 2005-12-14 06:18:01.000000000 -0600 +@@ -49,6 +49,7 @@ + /////////////////////////////////////////////////////////////////////////////// + class cFCONameTblNode; + class cFCONameIter; ++class cFCOName_i; + + class cFCOName : public iTypedSerializable + { +--- ./src/tw/fcoreport.h.orig 2005-12-14 06:18:01.000000000 -0600 ++++ ./src/tw/fcoreport.h 2005-12-14 06:21:41.000000000 -0600 +@@ -85,6 +85,7 @@ + class cFileHeaderID; + class cErrorQueue; + class cFCOReportGenreHeader; ++class cFCOReportSpecIter; + + class cFCOReport : public iTypedSerializable + { diff --git a/tripwire-setup-keyfiles.in b/tripwire-setup-keyfiles.in new file mode 100644 index 0000000..66ee0fa --- /dev/null +++ b/tripwire-setup-keyfiles.in @@ -0,0 +1,329 @@ +#!/bin/sh + +######################################################################## +######################################################################## +## +## Tripwire(R) 2.3 for LINUX(R) Post-RPM installation script +## +## Copyleft information contained in footer +## +######################################################################## +######################################################################## + +##======================================================= +## Setup +##======================================================= + +# We can assume all the correct tools are in place because the +# RPM installed, didn't it? + +##------------------------------------------------------- +## Set HOST_NAME variable +##------------------------------------------------------- +HOST_NAME='localhost' +if uname -n > /dev/null 2> /dev/null ; then + HOST_NAME=`uname -n` +fi + +##------------------------------------------------------- +## Program variables - edited by RPM during initial install +##------------------------------------------------------- + +# Site Passphrase variable +TW_SITE_PASS="" + +# Complete path to site key +SITE_KEY="@sysconfdir@/tripwire/site.key" + +# Local Passphrase variable +TW_LOCAL_PASS="" + +# Complete path to local key +LOCAL_KEY="@sysconfdir@/tripwire/${HOST_NAME}-local.key" + +# If clobber==true, overwrite files; if false, do not overwrite files. +CLOBBER="false" + +# If prompt==true, ask for confirmation before continuing with install. +PROMPT="true" + +# Name of twadmin executeable +TWADMIN="twadmin" + +# Path to twadmin executeable +TWADMPATH=@sbindir@ + +# Path to configuration directory +CONF_PATH="@sysconfdir@/tripwire" + +# Name of clear text policy file +TXT_POL=$CONF_PATH/twpol.txt + +# Name of clear text configuration file +TXT_CFG=$CONF_PATH/twcfg.txt + +# Name of encrypted configuration file +CONFIG_FILE=$CONF_PATH/tw.cfg + +# Path of the final Tripwire policy file (signed) +SIGNED_POL=`grep POLFILE $TXT_CFG | sed -e 's/^.*=\(.*\)/\1/'` + + +##======================================================= +## Create Key Files +##======================================================= + +##------------------------------------------------------- +## If user has to enter a passphrase, give some +## advice about what is appropriate. +##------------------------------------------------------- + +if [ -z "$TW_SITE_PASS" ] || [ -z "$TW_LOCAL_PASS" ]; then +cat << END_OF_TEXT + +---------------------------------------------- +The Tripwire site and local passphrases are used to sign a variety of +files, such as the configuration, policy, and database files. + +Passphrases should be at least 8 characters in length and contain both +letters and numbers. + +See the Tripwire manual for more information. +END_OF_TEXT +fi + +##======================================================= +## Generate keys. +##======================================================= + +echo +echo "----------------------------------------------" +echo "Creating key files..." + +##------------------------------------------------------- +## Site key file. +##------------------------------------------------------- + +# If clobber is true, and prompting is off (unattended operation) +# and the key file already exists, remove it. Otherwise twadmin +# will prompt with an "are you sure?" message. + +if [ "$CLOBBER" = "true" ] && [ "$PROMPT" = "false" ] && [ -f "$SITE_KEY" ] ; then + rm -f "$SITE_KEY" +fi + +if [ -f "$SITE_KEY" ] && [ "$CLOBBER" = "false" ] ; then + echo "The site key file \"$SITE_KEY\"" + echo 'exists and will not be overwritten.' +else + cmdargs="--generate-keys --site-keyfile \"$SITE_KEY\"" + if [ -n "$TW_SITE_PASS" ] ; then + cmdargs="$cmdargs --site-passphrase \"$TW_SITE_PASS\"" + fi + eval "\"$TWADMPATH/$TWADMIN\" $cmdargs" + if [ $? -ne 0 ] ; then + echo "Error: site key generation failed" + exit 1 + else chmod 640 "$SITE_KEY" + fi +fi + +##------------------------------------------------------- +## Local key file. +##------------------------------------------------------- + +# If clobber is true, and prompting is off (unattended operation) +# and the key file already exists, remove it. Otherwise twadmin +# will prompt with an "are you sure?" message. + +if [ "$CLOBBER" = "true" ] && [ "$PROMPT" = "false" ] && [ -f "$LOCAL_KEY" ] ; then + rm -f "$LOCAL_KEY" +fi + +if [ -f "$LOCAL_KEY" ] && [ "$CLOBBER" = "false" ] ; then + echo "The local key file \"$LOCAL_KEY\"" + echo 'exists and will not be overwritten.' +else + cmdargs="--generate-keys --local-keyfile \"$LOCAL_KEY\"" + if [ -n "$TW_LOCAL_PASS" ] ; then + cmdargs="$cmdargs --local-passphrase \"$TW_LOCAL_PASS\"" + fi + eval "\"$TWADMPATH/$TWADMIN\" $cmdargs" + if [ $? -ne 0 ] ; then + echo "Error: local key generation failed" + exit 1 + else chmod 640 "$LOCAL_KEY" + fi +fi + +##======================================================= +## Sign the Configuration File +##======================================================= + +echo +echo "----------------------------------------------" +echo "Signing configuration file..." + +##------------------------------------------------------- +## If noclobber, then backup any existing config file. +##------------------------------------------------------- + +if [ "$CLOBBER" = "false" ] && [ -s "$CONFIG_FILE" ] ; then + backup="${CONFIG_FILE}.$$.bak" + echo "Backing up $CONFIG_FILE" + echo " to $backup" + `mv "$CONFIG_FILE" "$backup"` + if [ $? -ne 0 ] ; then + echo "Error: backup of configuration file failed." + exit 1 + fi +fi + +##------------------------------------------------------- +## Build command line. +##------------------------------------------------------- + +cmdargs="--create-cfgfile" +cmdargs="$cmdargs --cfgfile \"$CONFIG_FILE\"" +cmdargs="$cmdargs --site-keyfile \"$SITE_KEY\"" +if [ -n "$TW_SITE_PASS" ] ; then + cmdargs="$cmdargs --site-passphrase \"$TW_SITE_PASS\"" +fi + +##------------------------------------------------------- +## Sign the file. +##------------------------------------------------------- + +eval "\"$TWADMPATH/$TWADMIN\" $cmdargs \"$TXT_CFG\"" +if [ $? -ne 0 ] ; then + echo "Error: signing of configuration file failed." + exit 1 +fi + +# Set the rights properly +chmod 640 "$CONFIG_FILE" + +##------------------------------------------------------- +## We keep the cleartext version around. +##------------------------------------------------------- + +cat << END_OF_TEXT + +A clear-text version of the Tripwire configuration file: +$TXT_CFG +has been preserved for your inspection. It is recommended that you +move this file to a secure location and/or encrypt it in place (using a +tool such as GPG, for example) after you have examined it. + +END_OF_TEXT + +##======================================================= +## Sign tripwire policy file. +##======================================================= + +echo +echo "----------------------------------------------" +echo "Signing policy file..." + +##------------------------------------------------------- +## If noclobber, then backup any existing policy file. +##------------------------------------------------------- + +if [ "$CLOBBER" = "false" ] && [ -s "$POLICY_FILE" ] ; then + backup="${POLICY_FILE}.$$.bak" + echo "Backing up $POLICY_FILE" + echo " to $backup" + mv "$POLICY_FILE" "$backup" + if [ $? -ne 0 ] ; then + echo "Error: backup of policy file failed." + exit 1 + fi +fi + +##------------------------------------------------------- +## Build command line. +##------------------------------------------------------- + +cmdargs="--create-polfile" +cmdargs="$cmdargs --cfgfile \"$CONFIG_FILE\"" +cmdargs="$cmdargs --site-keyfile \"$SITE_KEY\"" +if [ -n "$TW_SITE_PASS" ] ; then + cmdargs="$cmdargs --site-passphrase \"$TW_SITE_PASS\"" +fi + +##------------------------------------------------------- +## Sign the file. +##------------------------------------------------------- + +eval "\"$TWADMPATH/$TWADMIN\" $cmdargs \"$TXT_POL\"" +if [ $? -ne 0 ] ; then + echo "Error: signing of policy file failed." + exit 1 +fi + +# Set the proper rights on the newly signed policy file. +chmod 0640 "$SIGNED_POL" + +##------------------------------------------------------- +## We keep the cleartext version around. +##------------------------------------------------------- + +cat << END_OF_TEXT + +A clear-text version of the Tripwire policy file: +$TXT_POL +has been preserved for your inspection. This implements a minimal +policy, intended only to test essential Tripwire functionality. You +should edit the policy file to describe your system, and then use +twadmin to generate a new signed copy of the Tripwire policy. + +Once you have a satisfactory Tripwire policy file, you should move the +clear-text version to a secure location and/or encrypt it in place +(using a tool such as GPG, for example). + +Now run "tripwire --init" to enter Database Initialization Mode. This +reads the policy file, generates a database based on its contents, and +then cryptographically signs the resulting database. Options can be +entered on the command line to specify which policy, configuration, and +key files are used to create the database. The filename for the +database can be specified as well. If no options are specified, the +default values from the current configuration file are used. + +END_OF_TEXT + +exit 0 + +######################################################################## +######################################################################## +# +# TRIPWIRE GPL NOTICES +# +# The developer of the original code and/or files is Tripwire, Inc. +# Portions created by Tripwire, Inc. are copyright 2000 Tripwire, Inc. +# Tripwire is a registered trademark of Tripwire, Inc. All rights reserved. +# +# This program is free software. The contents of this file are subject to +# the terms of the GNU General Public License as published by the Free +# Software Foundation; either version 2 of the License, or (at your option) +# any later version. You may redistribute it and/or modify it only in +# compliance with the GNU General Public License. +# +# This program is distributed in the hope that it will be useful. However, +# this program is distributed "AS-IS" WITHOUT ANY WARRANTY; INCLUDING THE +# IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +# Please see the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# Nothing in the GNU General Public License or any other license to use the +# code or files shall permit you to use Tripwire's trademarks, +# service marks, or other intellectual property without Tripwire's +# prior written consent. +# +# If you have any questions, please contact Tripwire, Inc. at either +# info@tripwire.org or www.tripwire.org. +# +######################################################################## +######################################################################## diff --git a/tripwire-siggen-man8.patch b/tripwire-siggen-man8.patch new file mode 100644 index 0000000..a67a430 --- /dev/null +++ b/tripwire-siggen-man8.patch @@ -0,0 +1,47 @@ +diff -Nur tripwire-2.3.1-2/man/man8/siggen.8 tripwire-2.3.1-2.new/man/man8/siggen.8 +--- tripwire-2.3.1-2/man/man8/siggen.8 2001-03-04 00:30:29.000000000 +0000 ++++ tripwire-2.3.1-2.new/man/man8/siggen.8 2004-02-19 01:18:43.000000000 +0000 +@@ -2,28 +2,25 @@ + .\" Do not move or remove previous line. + .\" Used by some man commands to know that tbl should be used. + .nh +-.TH SIGGEN 8 "1 July 2000" ++.TH SIGGEN 8 "19 Feb 2004" + .SH NAME + siggen \- signature gathering routine for Tripwire + .SH SYNOPSIS + .B siggen +-.RI "[ " "options..." " ]" +-.IR file1 " [ " "file2..." " ] " +- +-.I Options: +-.RS +0.5i +-.TS +-; +-lbw(0.8i) lb. +--t --terse +--h --hexadecimal +--a --all +--C --CRC32 +--M --MD5 +--S --SHA +--H --HAVAL +-.TE +-.RE ++[ ++.BR -t | --terse ++] [ ++.BR -h | --hexadecimal ++] [ ++.BR -a | --all ++] [ ++.BR -C | --CRC32 ++] [ ++.BR -S | --SHA ++] [ ++.BR -h | --HAVAL ++] ++.IR file1 ,,, + .SH DESCRIPTION + .PP + \fBsiggen\fP is a utility that displays the hash function values diff --git a/tripwire.cron.in b/tripwire.cron.in new file mode 100644 index 0000000..d951ec1 --- /dev/null +++ b/tripwire.cron.in @@ -0,0 +1,8 @@ +#!/bin/sh +HOST_NAME=`uname -n` +if [ ! -e @vardir@/lib/tripwire/${HOST_NAME}.twd ] ; then + echo "**** Error: Tripwire database for ${HOST_NAME} not found. ****" + echo "**** Run "@sysconfdir@/tripwire/twinstall.sh" and/or "tripwire --init". ****" +else + test -f @sysconfdir@/tripwire/tw.cfg && @sbindir@/tripwire --check +fi diff --git a/tripwire.gif b/tripwire.gif new file mode 100644 index 0000000000000000000000000000000000000000..ac9d5eb05b55a69eadc9b4aa2c2f6088e22059a1 GIT binary patch literal 4679 zcmV-N61eS0Nk%v~VNwBN0`LF;1Ox>C|Nkri0000|0b&9G0{)DTsmtvTqnxzbi?iOm z`wxcVNS5Y_rs`S(?hD8AOxN}uv--~WJ_Pt}g2JNlh|Ca^lO^*BjsBcc2DOUKYB^U= zH}u_#$K*s<<3gRw>~?g03BtMVx?MVttMB}NF>e8=T_DEN|wsgx(bW+sxupF%T#-KyW8oO%M0wP5GjX{V*r=; z8_cY7wboT^*3w*E_8jnXAd{^vZH(-lmQ7wPzOZbq{y0taO%DE!JYPO6jR3lNG-RQYH<`JqufDVu*Wk}R# zL3`k~dM#P?s#r8F@xgOS^`W$i`A%9H3s=%xoNPgfylXOo)wtHOz9T8_X-^1jOVi1+n5*Rp^+;y9W&W7EShH}49uiCGH1{b<%UiS$gRh=0YQCa?fEq0)LbnR zo(NX2Y}8F^-=h+;VnW@!`O*f9uy)tav5Ut|4Y;md+=iPwAA8(1yX#`J8~w?>`{M9d zGkYOlemwf1=3TBAiX*=K`Sjbr&uIVt_5Aw&i}UX<+kXItCg6aU6=j;pL_p^v2ishE(Y5SgKoo8&^{B}#Hq%M$4z`J{W)Tv_ELQ}UE0CCjixWtR|& z0H&CZ{PI$mW@`6AO=_+=VVlD-31=^Dyjdr4kL5`So?Y?Dho7YZdWWEw5xOUvopD4N zqNV`FVWd_%s-96Nfh5pxQDI;xrH5K599?Fu1*xa3=n-mL$z@uqsbUbbRb3K&YMrZ? zp~}^3m=+cethSzd=dZvfD(n`WcIy7=vBka`NQ}vBx2!Cj{t>Mfm>9;ZZRdS5AWP}Bw`r^DxZO&-h^*lj_3gUewrdYyUo{!0ybZO<0=bU9vX{SzDyuIPiYRkb z!3HZDO~MNA>)A)#fD~25ROS0HwawWDTtv!wTx-S}6IY#-uc?|AzD0^`#Brpm1#Ud? zvMhukfsMrKrGag8Jxf(MUU^^wN6->-0=KPEGX;Q5Pcc)l6%R zAJ<)b-6Ggwi@i_QWIK7bI%cQcDBI1f?e?T`0|WQmWZ6wO-g)c2OWk~v_VrzH< zob=GI&Rb&yE9iaGa7~ZI_u-#k`fT8%V>tV&kv<{$BX{4r%}lqSbsWcRYmz${d&BHf!h zs6UjHOoW877hC=(I|Ek1gY)AO@+^l#`T-AisN>uOWtasN{!oHF{G4&%<%xrZtTROP z;d3(Bx+SVEhO}Z={tjnIz${uV9ugBwuQKJ0?OE(%!nMIyd7Mrj&2p~4DeYwkFCKF=C1m-cF$w^~E6PdkK<}-t+#cXbnn$5)J+tjwqjexT+ z;rt*u&w0xv&`?o(OK17U=^=OiC>Um}rZ<_fP61YtmfgHXK0l$BFsbREp_9z4s5DS` z_6;EL;^#H~{Yg)T?o*u7TxdJJ*iUBS6GRC`r-nLO4T4J1nj~%KH|-hCkScVV6vZbL zEh^r1S<>1N7V!-#s6r7}IKN>Qp&$>7YW6-}v0nF!OSCe;=V z6KYI@icGxK(m+4Qp4AL=%GU zw4`fo+mhlsw7TA~uU9>5CDh6(8t#>wcG_Vh7VFT)K8>(a73*UmgIHMd^`3rshVZag zD8LFsvaNxtUpp&WqxGq(JoBGwHuc3}zzwpTtwR{#$gw?!M0bHoEiF(>#ef!)Rhay$ z_-g(e*~geNj>BcG6$D0Gr*^U`Wz^#(cc!P~N_VrB9l}K6r&-1(*H~^!MP|3lQ_B)l zjoQrOdewUkbIFCKvegVor<+|%Rnljbxi5aH>&1?k42~mJUw5$?x(nu}xcUrGVY#~; z-Da|&4nA;q+sIsY+V{a~Tv>ET1;b>BbgJWhR9m^@U*L{5JSpxhW=C9N^!7;??`bjC zQUGHJ!}m;I%CU~`dRWl1n8Vt|oPKP~W0&}ts8|j1-4cXkFL7%?QAS)QmTcFS>XgDZ zBJzyE+hq$cPOB8E@{pn^Av2$uk!kkwWf@!{HP5p{axN>K-Aq{w)p^bF6!VcdivH)v z0@}}l{b-;mw`bNRI(3U~ESA5_{FwA z5bXAxl5dUc6ngh}roHxHyB!mEZ%5sygf>3}KD&bd8rvb7cf1I`yMHfSdlMITsr~J6 zC6uYZ8ISR@$+U5OKbhLbr9;SvIC6&Do8FGq;m1jCy9S-yz!;CTk?&n^{w}+G-)Fh) zmEXr--o9JN$KH9m_shbdzkKLJrxV9{c)iyaW=>V57zrmiN232Ye^7s;0=@1)yex86 z7ngXm*^_VyPZHD=jMYJb9&weEDD4@ppiC|pE~wIu+1T-`&IX(_Nk+IFE>sTOwO;J; zp?l^x@3=9vP1Y$>yypF`c!7(q^uUT-@-|;NZv{N{)x7qt*|Yq2E8m;lO3LxA4WP{2 zzF?hC9`kH=E~K8N@ZbWzji4vD;w^u(oBfaKp1!_Bo}WyT6~isz`)5PGiwF8@A1>IbgL>@#!+dO%7k(GBWpzwP zxckVbedp(HdRr$sE`obW^K{84fNzB$Utn%6mvRQTdafmU2jO~{Hb$6aJpI>q0hoA8 zhZb^lP@)nucDH)p=YQ$-fMSO({!<#5l3{3Obewl~?1W+O5_TY?U<`O5tVd!PH$sIs zDn7A$(cu)f7lU*KaQPK^Jm-5Gh=3i)gqatG&c}66=y6jBf$M;9^Cxt27jQ#?Zv>Qn z{GxhRScM&?ewZVFM~DkKXINgKD;L9o&&OVZG7H>ic20;z-v(q>Vh(($gtPYs8Tfx? z!5loe69QFa-?0{M7;|j6V_w)~2ULiYID-vWiEkKh@R9z6n#hG^(}}(IiCP$n)s}{5 zn1F2Fgu&9fFRg6%$Wzl$r(DW_n=8GzZdXeZ=@-tiYm~7d&k0z#%?Wj~_){J1djud8)5CvwN zmV3L?kkLcWFyj#I7c*|j6eWp`Er~!s zIDUZ%m<`5r=CwbanL&8zex*5nO=6ke*p!T@k{c~^ zPKTeK=nFb{ejtX2+qYlP$#g3=ZR=T5i`k#zGI)>3lcj`F%QrD;8AA|CQc`yp6o`Qr zNMNcNowGSAui2qUIR&?=21qiWuC;%Lr=oPpqHlPXrKm`C_kJ_up}E<3CMsJ|`C*a7 zp{Mhs*79OhnTOexq&HfECV7!Q^Q2HZpvq~HRZ3nhph=XbrCEq9|9GSXI+JrKrTp}z zn2}d6iJ|RDeA`)E5x%+lAlVa7P+UJ zXh&)4V)&SlL@&iV;PRCDy_{oBegnA@TqIfs$z2KY~IS1ovCcqs%YX$Hqjb5 z@|vpec&5LKj@5~*_Uf*}TCU1krpyYk_-d^BDvp`!!wXh5eujQ7nTX~NY zd!b`BtO?r*S=p`T>ZR9et2oB1S6X8c8=fU6Z|WLW47y<|YhfU(u_B9BK?)!Z`;070 za{~*goq8WOJBV6I9zOnSun}V*LVK|?IAkuHZ4tR2CfhGi#IcdNR3)pl)Y4FBSz1)< zu|MmVzHt$*fe<*0c2zrB0mM_S-sJMsCgOz%zBV>^r8Vqn3d7{g>yTc zDYJW73#sfFv{7q6JR83Z>z$EDz?jIuOliRE2ys2zZc|!e<*2yeRIG6)D0mtefr1!YFIPE{v)-jKi`TuCf-jDa@}Ki?Bhw!^tYdM_j~2+`|Pc z!%E!5NW8=X3&lxH!$aIV_qoL9E4e4qP)Gf?Djj zSA48+Ot*sQ#Xua!WK6|*jK?heuqf=q73{xd2FQaOXKt*sSb?j~L&$Wz#l`x)*=oU$ z9LKgh{=K6}irY)L^e4%WJGPD6$ji#ebBwXS=c=8&$!)s9n7n=-+=Rhf$*l{zubjT0 zOM0_R%CH>Ew;aloYq)fH%HFq=H(|&p+{(P{%DQ}QQ4+|uoXH25yoan5&n&vmtjg02 ziq+h6HoSy;iOjORKVNki*^AAb=wV?=n4zX>YBkJ5kjU-q&IRaxUuQ^Px6QEw&yz`- zfYd_RDaXl~m^><*Ujf6#qZcH4ek{dG?%OZiitrdd3^gXeoVlugB6fwaz-6At9uvzlpZo%+Uon zEz+kuydymaHC@JmXw+DE(I*YTz?(Z0-Oo-f(L+hlDG54I{m@d4(p3FwSl!c>>^AQV JIgC*N06V>yOq>7! literal 0 HcmV?d00001 diff --git a/tripwire.txt b/tripwire.txt new file mode 100644 index 0000000..0756495 --- /dev/null +++ b/tripwire.txt @@ -0,0 +1,82 @@ +Introduction +Tripwire v2.4 software ensures the integrity of critical system files and directories by identifying all changes made to specified system files and directories. Configure Tripwire software to monitor your system in the way that is best for you. + +Tripwire software works by comparing files and directories against a baseline. It generates the baseline by taking a "snapshot" of specified files and directories in a known secure state. Tripwire software then compares the current system against the baseline and reports any modifications, additions, or deletions. Use Tripwire software for system security, intrusion detection, damage assessment, and recovery forensics. + +To install Tripwire v2.4 +1. Locate the RPM directory on the CD. +2. Locate the Tripwire RPM. +3. Type rpm -i "name" +4. After installing the Tripwire binary RPM, follow these Post-Installation instructions. +5. We recommend you read the Release Notes and README file. + +Post-Installation Instructions +The Tripwire binary RPM installs the basic program files needed to run the software. However, this installation does not complete custom configurations that Tripwire 2.4 needs to perform correctly. After you unpack the RPM, you must: +1. Run the configuration script: /etc/tripwire/twinstall.sh to sign these files. This script walks you through the processes of setting passphrases and signing the Tripwire policy and configuration files. +Note: Once encoded and signed, the configuration file should not be renamed or moved. +2. Initialize the Tripwire database file. (/usr/sbin/tripwire--init) +3. Run the first integrity check. (/usr/sbin/tripwire--check) +4. Edit the configuration file (twcfg.txt) with a text editor, if desired. +5. Edit the policy file (twpol.txt) with a text editor, if desired. + +Note: If you plan to modify the policy file, we recommend you do so before running the configuration script. If you modify the policy file after running the configuration script, you must re-run the configuration file before initializing the database file. + +Modifying the Policy File +You can specify how Tripwire software checks your system in the Tripwire policy file (twpol.txt). A default policy file is included in the Tripwire software installation. We recommend you tailor this policy file to fit your particular system. Tailoring the policy file greatly increases Tripwire software's ability to ensure the integrity of your system. + +Locate the default policy file at /etc/tripwire/twpol.txt. An example policy file (located at /usr/doc/tripwire-VER#-REL#/policyguide.txt) is included to help you learn the policy language. Read the sample policy file and the comments in the sample policy file to learn the policy language. + +After you modify the policy file, follow the Post-Installation Instructions (run the configuration script). This script signs the modified policy file and renames it to tw.pol. This is the active policy file that runs as part of the Tripwire software. + +Selecting Passphrases +Tripwire files are signed or encrypted using site or local keys. These keys are protected by passphrases. When selecting passphrases, the following recommendations apply: +Use at least eight alphanumeric and symbolic characters for each passphrase. The maximum length of a passphrase is 1023 characters. Quotes should not be used as passphrase characters. + +Assign a unique passphrase for the site key. The site key passphrase protects the site key, which is used to sign Tripwire software configuration and policy files. Assign a unique passphrase for the local key. The local key signs Tripwire database files. The local key may sign the Tripwire report files also. + +Store the passphrases in a secure location. There is no way to remove encryption from a signed file if you forget your passphrase. If you forget the passphrases, the files are unusable. In that case you must reinitialize the baseline database. + +Initializing the Database +In Database Initialization mode, Tripwire software builds a database of filesystem objects based on the rules in the policy file. This database serves as the baseline for integrity checks. The syntax for Database Initialization mode is: +tripwire --init + +Running an Integrity Check +The Integrity Check mode compares the current file system objects with their properties recorded in the Tripwire database. Violations are printed to stdout. The report file is saved and can later be accessed by twprint. An email option enables you to send email. The syntax for Integrity Check mode is: +tripwire --check + +Printing Reports - twprint Print Report Mode +The twprint --print-report mode prints the contents of a Tripwire report. If you do not specify a report with the --twrfile or -r command-line argument, the default report file specified by the configuration file REPORTFILE variable is used. +Example: On a machine named LIGHTHOUSE, the command would be: +./twprint -m r --twrfile LIGHTHOUSE-19990622-021212.twr + +Updating the Database after an Integrity Check +Database Update mode enables you to update the Tripwire database after an integrity check if you determine that the violations discovered are valid. This update process saves time by enabling you to update the database without having to re-initialize it. It also enables selective updating, which cannot be done through re-initialization. The syntax for Database Update mode is: +tripwire --update + +Updating the Policy File +Change the way that Tripwire software scans the system by changing the rules in the policy file. You can then update the database without a complete re-initialization. This saves a significant amount of time and preserves security by keeping the policy file synchronized with the database it uses. The syntax for Policy Update mode is: +tripwire --update-policy + +Testing email functions +Test mode tests the software's email notification system, using the settings currently specified in the configuration file. The syntax for Email Test Reporting mode is: +tripwire --test + +Tripwire Components +The policy file begins as a text file containing comments, rules, directives, and variables. These dictate the way Tripwire software checks your system. Each rule in the policy file specifies a system object to be monitored. Rules also describe which changes to the object to report, and which to ignore. + +System objects are the files and directories you wish to monitor. Each object is identified by an object name. A property refers to a single characteristic of an object that Tripwire software can monitor. Directives control conditional processing of sets of rules in a policy file. During installation, the text policy file is encrypted and renamed, and becomes the active policy file. + +The database file is an important component of Tripwire software. When first installed, Tripwire software uses the policy file rules to create the database file. The database file is a baseline "snapshot" of the system in a known secure state. Tripwire software compares this baseline against the current system to determine what changes have occurred. This is an integrity check. + +When you perform an integrity check, Tripwire software produces report files. Report files summarize any changes that violated the policy file rules during the integrity check. You can view the report file in a variety of formats, at varying levels of detail. + +The Tripwire configuration file stores system-specific information, such as the location of Tripwire data files. Tripwire software generates some of the configuration file information during installation. The system administrator can change parameters in the configuration file at any time. The configuration file variables POLFILE, DBFILE, REPORTFILE, SITEKEYFILE, and LOCALKEYFILE specify where the policy file, database file, report files, and site and local key files reside. These variables must be defined or the configuration file is invalid. If any of these variables are undefined, an error occurs on execution of Tripwire software and the program exits. + +Tripwire Help +All Tripwire commands support the help arguments. Example: To get help with Create Configuration File mode, type: ./twadmin --help --create-cfgfile + +-? Display usage and version information +--help Display all command modes +--help all Display help for all command modes +--help [mode] Display help for current command mode +--version Display version information diff --git a/twcfg.txt.in b/twcfg.txt.in new file mode 100644 index 0000000..db1dc5c --- /dev/null +++ b/twcfg.txt.in @@ -0,0 +1,15 @@ +ROOT =@sbindir@ +POLFILE =@sysconfdir@/tripwire/tw.pol +DBFILE =@vardir@/lib/tripwire/$(HOSTNAME).twd +REPORTFILE =@vardir@/lib/tripwire/report/$(HOSTNAME)-$(DATE).twr +SITEKEYFILE =@sysconfdir@/tripwire/site.key +LOCALKEYFILE =@sysconfdir@/tripwire/$(HOSTNAME)-local.key +EDITOR =@path_to_vi@ +LATEPROMPTING =false +LOOSEDIRECTORYCHECKING =false +MAILNOVIOLATIONS =true +EMAILREPORTLEVEL =3 +REPORTLEVEL =3 +MAILMETHOD =SENDMAIL +SYSLOGREPORTING =false +MAILPROGRAM =@path_to_sendmail@ -oi -t diff --git a/twpol.txt.in b/twpol.txt.in new file mode 100644 index 0000000..c7bcf60 --- /dev/null +++ b/twpol.txt.in @@ -0,0 +1,1036 @@ +# identifier: tripwire IDS policy input file +# host: Fedora Core release 1 (Yarrow) +# version: 2.3.1-19.fdr.1 +# maintainer: Keith G. Robertson-Turner +# validator: unvalidated +# date: Tue Jun 15 17:09:21 BST 2004 + +# description: +# This is an example Tripwire Policy input file. It is intended as the +# starting point to creating your own custom Tripwire Policy. Referring +# to it, as well as the Tripwire Policy Guide, should give you enough +# information to make a good custom Tripwire Policy that better fits +# your configuration and security needs. This text version will be used +# by tripwire as input to create a proprietary type of file called a +# Tripwire Policy file, which will then be signed for further security. +# It is recommended that once you complete the creation of the Policy +# file, you move this plaintext version to a secure location (possibly +# on removable media) or encrypt the file using a tool such as GPG. You +# should also do this for the Tripwire plaintext configuration file +# (twcfg.txt) once you have finished setting up the Policy. +# +# Note that this file is tuned to an "everything" install of Fedora +# Linux. If run unmodified, this file should create no errors on +# database creation, or violations on a subsequent integrity check. +# However, it is impossible for there to be one policy file for all +# machines, so this existing one errs on the side of security. Your +# Linux configuration will most likely differ from the one our policy +# file was tuned to, and will therefore require some editing of the +# default Tripwire Policy file. The example policy file is best run +# with "Loose Directory Checking" enabled. +# +# Set LOOSEDIRECTORYCHECKING=TRUE in the Tripwire Configuration file. +# +# Note - legacy entries (which are commented out) are included for +# historical reasons only, and are overdue for removal. They will +# likely disappear from future releases. +# +# The following info is only really useful for non-RPM distributions: +# +# Email support is not included and must be added to this file. Add the +# "emailto=" to the rule directive section of each rule (add a comma +# after the "severity=" line and add an "emailto=" and include the +# email addresses you want the violation reports to go to). Addresses +# are semi-colon delimited. +# +# If you installed from the Fedora RPM, a cron job has already been set +# up for you. Tripwire will perform an integrity check once every day, +# and the generated report will be emailed to root. In this case, you +# do not need to perform the steps in the previous paragraph. + +# policy: + + +# Global Variable Definitions + +@@section GLOBAL +TWROOT=@sbindir@; +TWBIN=@sbindir@; +TWPOL="@sysconfdir@/tripwire"; +TWDB="@vardir@/lib/tripwire"; +TWSKEY="@sysconfdir@/tripwire"; +TWLKEY="@sysconfdir@/tripwire"; +TWREPORT="@vardir@/lib/tripwire/report"; +HOSTNAME=localhost; + +@@section FS +SEC_CRIT = $(IgnoreNone)-SHa ; # Critical files that cannot change +SEC_SUID = $(IgnoreNone)-SHa ; # Binaries with the SUID or SGID flags set +SEC_BIN = $(ReadOnly) ; # Binaries that should not change +SEC_CONFIG = $(Dynamic) ; # Config files that are changed infrequently but accessed often +SEC_LOG = $(Growing) ; # Files that grow, but that should never change ownership +SEC_INVARIANT = +tpug ; # Directories that should never change permission or ownership +SIG_LOW = 33 ; # Non-critical files that are of minimal security impact +SIG_MED = 66 ; # Non-critical files that are of significant security impact +SIG_HI = 100 ; # Critical files that are significant points of vulnerability + + +# Tripwire Binaries + +( + rulename = "Tripwire Binaries", + severity = $(SIG_HI) +) +{ + $(TWBIN)/siggen -> $(SEC_BIN) ; + $(TWBIN)/tripwire -> $(SEC_BIN) ; + $(TWBIN)/twadmin -> $(SEC_BIN) ; + $(TWBIN)/twprint -> $(SEC_BIN) ; +} + + +# Tripwire Data Files - Configuration Files, Policy Files, Keys, Reports, Databases + +( + rulename = "Tripwire Data Files", + severity = $(SIG_HI) +) +{ + # NOTE: We remove the inode attribute because when Tripwire creates a backup, + # it does so by renaming the old file and creating a new one (which will + # have a new inode number). Inode is left turned on for keys, which shouldn't + # ever change. + + # NOTE: The first integrity check triggers this rule and each integrity check + # afterward triggers this rule until a database update is run, since the + # database file does not exist before that point. + + $(TWDB) -> $(SEC_CONFIG) -i ; + $(TWPOL)/tw.pol -> $(SEC_BIN) -i ; + $(TWPOL)/tw.cfg -> $(SEC_BIN) -i ; + $(TWLKEY)/$(HOSTNAME)-local.key -> $(SEC_BIN) ; + $(TWSKEY)/site.key -> $(SEC_BIN) ; + + #don't scan the individual reports + $(TWREPORT) -> $(SEC_CONFIG) (recurse=0) ; +} + + +# Tripwire HQ Connector Binaries +# +# This commercial product has been phased out and is no longer +# supported. This section will disappear from future releases. +# +#( +# rulename = "Tripwire HQ Connector Binaries", +# severity = $(SIG_HI) +#) +#{ +# $(TWBIN)/hqagent -> $(SEC_BIN) ; +#} +# +# Tripwire HQ Connector - Configuration Files, Keys, and Logs + +# Note: File locations here are different than in a stock HQ Connector +# installation. This is because Tripwire 2.3 uses a different path +# structure than Tripwire 2.2.1. +# +# You may need to update your HQ Agent configuation file (or this +# policy file) to correct the paths. We have attempted to support the +# FHS standard here by placing the HQ Agent files similarly to the way +# Tripwire 2.3 places them. + +#( +# rulename = "Tripwire HQ Connector Data Files", +# severity = $(SIG_HI) +#) +#{ + # NOTE: Removing the inode attribute because when Tripwire creates a + # backup it does so by renaming the old file and creating a new one + # (which will have a new inode number). Leaving inode turned on for + # keys, which shouldn't ever change. +# +# $(TWBIN)/agent.cfg -> $(SEC_BIN) -i ; # legacy +# $(TWLKEY)/authentication.key -> $(SEC_BIN) ; # legacy +# $(TWDB)/tasks.dat -> $(SEC_CONFIG) ; # legacy +# $(TWDB)/schedule.dat -> $(SEC_CONFIG) ; # legacy +# + # Uncomment if you have agent logging enabled. + #/var/log/tripwire/agent.log -> $(SEC_LOG) ; # legacy +#} + + +# Commonly accessed directories that should remain static with regards +# to owner and group. + +( + rulename = "Invariant Directories", + severity = $(SIG_MED) +) +{ + / -> $(SEC_INVARIANT) (recurse = 0) ; + /home -> $(SEC_INVARIANT) (recurse = 0) ; + /etc -> $(SEC_INVARIANT) (recurse = 0) ; +} + + +# File System and Disk Administration Programs. + +( + rulename = "File System and Disk Administraton Programs", + severity = $(SIG_HI) +) +{ + /sbin/accton -> $(SEC_CRIT) ; + /sbin/badblocks -> $(SEC_CRIT) ; + /sbin/busybox -> $(SEC_CRIT) ; + /sbin/busybox.anaconda -> $(SEC_CRIT) ; + /sbin/convertquota -> $(SEC_CRIT) ; + /sbin/dosfsck -> $(SEC_CRIT) ; + /sbin/debugfs -> $(SEC_CRIT) ; + /sbin/debugreiserfs -> $(SEC_CRIT) ; + /sbin/dumpe2fs -> $(SEC_CRIT) ; + /sbin/dump -> $(SEC_CRIT) ; + /sbin/dump.static -> $(SEC_CRIT) ; + #/sbin/e2fsadm -> $(SEC_CRIT) ; tune2fs? # legacy + /sbin/e2fsck -> $(SEC_CRIT) ; + /sbin/e2label -> $(SEC_CRIT) ; + /sbin/fdisk -> $(SEC_CRIT) ; + /sbin/fsck -> $(SEC_CRIT) ; + /sbin/fsck.ext2 -> $(SEC_CRIT) ; + /sbin/fsck.ext3 -> $(SEC_CRIT) ; + #/sbin/fsck.minix -> $(SEC_CRIT) ; + /sbin/fsck.msdos -> $(SEC_CRIT) ; + /sbin/fsck.vfat -> $(SEC_CRIT) ; + /sbin/ftl_check -> $(SEC_CRIT) ; + /sbin/ftl_format -> $(SEC_CRIT) ; + /sbin/hdparm -> $(SEC_CRIT) ; + #/sbin/lvchange -> $(SEC_CRIT) ; + #/sbin/lvcreate -> $(SEC_CRIT) ; + #/sbin/lvdisplay -> $(SEC_CRIT) ; + #/sbin/lvextend -> $(SEC_CRIT) ; + #/sbin/lvmchange -> $(SEC_CRIT) ; + #/sbin/lvmcreate_initrd -> $(SEC_CRIT) ; + #/sbin/lvmdiskscan -> $(SEC_CRIT) ; + #/sbin/lvmsadc -> $(SEC_CRIT) ; + #/sbin/lvmsar -> $(SEC_CRIT) ; + #/sbin/lvreduce -> $(SEC_CRIT) ; + #/sbin/lvremove -> $(SEC_CRIT) ; + #/sbin/lvrename -> $(SEC_CRIT) ; + #/sbin/lvscan -> $(SEC_CRIT) ; + /sbin/mkbootdisk -> $(SEC_CRIT) ; + /sbin/mkdosfs -> $(SEC_CRIT) ; + /sbin/mke2fs -> $(SEC_CRIT) ; + /sbin/mkfs -> $(SEC_CRIT) ; + #/sbin/mkfs.bfs -> $(SEC_CRIT) ; + /sbin/mkfs.ext2 -> $(SEC_CRIT) ; + #/sbin/mkfs.minix -> $(SEC_CRIT) ; + /sbin/mkfs.msdos -> $(SEC_CRIT) ; + /sbin/mkfs.vfat -> $(SEC_CRIT) ; + /sbin/mkinitrd -> $(SEC_CRIT) ; + #/sbin/mkpv -> $(SEC_CRIT) ; + /sbin/mkraid -> $(SEC_CRIT) ; + /sbin/mkreiserfs -> $(SEC_CRIT) ; + /sbin/mkswap -> $(SEC_CRIT) ; + #/sbin/mtx -> $(SEC_CRIT) ; + /sbin/pam_console_apply -> $(SEC_CRIT) ; + /sbin/parted -> $(SEC_CRIT) ; + /sbin/pcinitrd -> $(SEC_CRIT) ; + #/sbin/pvchange -> $(SEC_CRIT) ; + #/sbin/pvcreate -> $(SEC_CRIT) ; + #/sbin/pvdata -> $(SEC_CRIT) ; + #/sbin/pvdisplay -> $(SEC_CRIT) ; + #/sbin/pvmove -> $(SEC_CRIT) ; + #/sbin/pvscan -> $(SEC_CRIT) ; + /sbin/quotacheck -> $(SEC_CRIT) ; + /sbin/quotaon -> $(SEC_CRIT) ; + /sbin/raidstart -> $(SEC_CRIT) ; + /sbin/reiserfsck -> $(SEC_CRIT) ; + /sbin/resize2fs -> $(SEC_CRIT) ; + /sbin/resize_reiserfs -> $(SEC_CRIT) ; + /sbin/restore -> $(SEC_CRIT) ; + /sbin/restore.static -> $(SEC_CRIT) ; + /sbin/scsi_info -> $(SEC_CRIT) ; + /sbin/sfdisk -> $(SEC_CRIT) ; + /sbin/stinit -> $(SEC_CRIT) ; + #/sbin/tapeinfo -> $(SEC_CRIT) ; # legacy + /sbin/tune2fs -> $(SEC_CRIT) ; + /sbin/unpack -> $(SEC_CRIT) ; + #/sbin/update -> $(SEC_CRIT) ; + #/sbin/vgcfgbackup -> $(SEC_CRIT) ; + #/sbin/vgcfgrestore -> $(SEC_CRIT) ; + #/sbin/vgchange -> $(SEC_CRIT) ; + #/sbin/vgck -> $(SEC_CRIT) ; + #/sbin/vgcreate -> $(SEC_CRIT) ; + #/sbin/vgdisplay -> $(SEC_CRIT) ; + #/sbin/vgexport -> $(SEC_CRIT) ; + #/sbin/vgextend -> $(SEC_CRIT) ; + #/sbin/vgimport -> $(SEC_CRIT) ; + #/sbin/vgmerge -> $(SEC_CRIT) ; + #/sbin/vgmknodes -> $(SEC_CRIT) ; + #/sbin/vgreduce -> $(SEC_CRIT) ; + #/sbin/vgremove -> $(SEC_CRIT) ; + #/sbin/vgrename -> $(SEC_CRIT) ; + #/sbin/vgscan -> $(SEC_CRIT) ; + #/sbin/vgsplit -> $(SEC_CRIT) ; + /bin/chgrp -> $(SEC_CRIT) ; + /bin/chmod -> $(SEC_CRIT) ; + /bin/chown -> $(SEC_CRIT) ; + /bin/cp -> $(SEC_CRIT) ; + /bin/cpio -> $(SEC_CRIT) ; + /bin/mount -> $(SEC_CRIT) ; + /bin/umount -> $(SEC_CRIT) ; + /bin/mkdir -> $(SEC_CRIT) ; + /bin/mknod -> $(SEC_CRIT) ; + /bin/mktemp -> $(SEC_CRIT) ; + /bin/rm -> $(SEC_CRIT) ; + /bin/rmdir -> $(SEC_CRIT) ; + /bin/touch -> $(SEC_CRIT) ; +} + + +# Kernel Administration Programs. + +( + rulename = "Kernel Administration Programs", + severity = $(SIG_HI) +) +{ + /sbin/adjtimex -> $(SEC_CRIT) ; + /sbin/ctrlaltdel -> $(SEC_CRIT) ; + /sbin/depmod -> $(SEC_CRIT) ; + /sbin/insmod -> $(SEC_CRIT) ; + /sbin/insmod.static -> $(SEC_CRIT) ; + /sbin/insmod_ksymoops_clean -> $(SEC_CRIT) ; + /sbin/klogd -> $(SEC_CRIT) ; + /sbin/ldconfig -> $(SEC_CRIT) ; + /sbin/minilogd -> $(SEC_CRIT) ; + /sbin/modinfo -> $(SEC_CRIT) ; + #/sbin/nuactlun -> $(SEC_CRIT) ; + #/sbin/nuscsitcpd -> $(SEC_CRIT) ; + /sbin/pivot_root -> $(SEC_CRIT) ; + /sbin/sndconfig -> $(SEC_CRIT) ; + /sbin/sysctl -> $(SEC_CRIT) ; +} + + +# Networking Programs. + +( + rulename = "Networking Programs", + severity = $(SIG_HI) +) +{ + /etc/sysconfig/network-scripts/ifdown -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/ifdown-cipcb -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/ifdown-ippp -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/ifdown-ipv6 -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/ifdown-isdn -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/ifdown-post -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/ifdown-ppp -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/ifdown-sit -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/ifdown-sl -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/ifup -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/ifup-aliases -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/ifup-cipcb -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/ifup-ippp -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/ifup-ipv6 -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/ifup-isdn -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/ifup-plip -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/ifup-plusb -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/ifup-post -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/ifup-ppp -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/ifup-routes -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/ifup-sit -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/ifup-sl -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/ifup-wireless -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/network-functions -> $(SEC_CRIT) ; + /etc/sysconfig/network-scripts/network-functions-ipv6 -> $(SEC_CRIT) ; + /bin/ping -> $(SEC_CRIT) ; + /sbin/agetty -> $(SEC_CRIT) ; + /sbin/arp -> $(SEC_CRIT) ; + /sbin/arping -> $(SEC_CRIT) ; + /sbin/dhclient -> $(SEC_CRIT) ; + /sbin/ether-wake -> $(SEC_CRIT) ; + #/sbin/getty -> $(SEC_CRIT) ; + /sbin/ifcfg -> $(SEC_CRIT) ; + /sbin/ifconfig -> $(SEC_CRIT) ; + /sbin/ifdown -> $(SEC_CRIT) ; + /sbin/ifenslave -> $(SEC_CRIT) ; + /sbin/ifport -> $(SEC_CRIT) ; + /sbin/ifup -> $(SEC_CRIT) ; + /sbin/ifuser -> $(SEC_CRIT) ; + /sbin/ip -> $(SEC_CRIT) ; + /sbin/ip6tables -> $(SEC_CRIT) ; + #/sbin/ipchains -> $(SEC_CRIT) ; # legacy + #/sbin/ipchains-restore -> $(SEC_CRIT) ; # legacy + #/sbin/ipchains-save -> $(SEC_CRIT) ; # legacy + #/sbin/ipfwadm -> $(SEC_CRIT) ; + /sbin/ipmaddr -> $(SEC_CRIT) ; + /sbin/iptables -> $(SEC_CRIT) ; + /sbin/iptables-restore -> $(SEC_CRIT) ; + /sbin/iptables-save -> $(SEC_CRIT) ; + /sbin/iptunnel -> $(SEC_CRIT) ; + #/sbin/ipvsadm -> $(SEC_CRIT) ; + #/sbin/ipvsadm-restore -> $(SEC_CRIT) ; + #/sbin/ipvsadm-save -> $(SEC_CRIT) ; + /sbin/ipx_configure -> $(SEC_CRIT) ; + /sbin/ipx_interface -> $(SEC_CRIT) ; + /sbin/ipx_internal_net -> $(SEC_CRIT) ; + /sbin/iwconfig -> $(SEC_CRIT) ; + /sbin/iwgetid -> $(SEC_CRIT) ; + /sbin/iwlist -> $(SEC_CRIT) ; + /sbin/iwpriv -> $(SEC_CRIT) ; + /sbin/iwspy -> $(SEC_CRIT) ; + /sbin/mgetty -> $(SEC_CRIT) ; + /sbin/mingetty -> $(SEC_CRIT) ; + /sbin/nameif -> $(SEC_CRIT) ; + /sbin/netreport -> $(SEC_CRIT) ; + /sbin/plipconfig -> $(SEC_CRIT) ; + /sbin/portmap -> $(SEC_CRIT) ; + /sbin/ppp-watch -> $(SEC_CRIT) ; + #/sbin/rarp -> $(SEC_CRIT) ; + /sbin/route -> $(SEC_CRIT) ; + /sbin/slattach -> $(SEC_CRIT) ; + /sbin/tc -> $(SEC_CRIT) ; + #/sbin/uugetty -> $(SEC_CRIT) ; + /sbin/vgetty -> $(SEC_CRIT) ; + /sbin/ypbind -> $(SEC_CRIT) ; +} + + +# System Administration Programs. + +( + rulename = "System Administration Programs", + severity = $(SIG_HI) +) +{ + /sbin/chkconfig -> $(SEC_CRIT) ; + /sbin/fuser -> $(SEC_CRIT) ; + /sbin/halt -> $(SEC_CRIT) ; + /sbin/init -> $(SEC_CRIT) ; + /sbin/initlog -> $(SEC_CRIT) ; + /sbin/install-info -> $(SEC_CRIT) ; + /sbin/killall5 -> $(SEC_CRIT) ; + #/sbin/linuxconf -> $(SEC_CRIT) ; # legacy + #/sbin/linuxconf-auth -> $(SEC_CRIT) ; # legacy + /sbin/pam_tally -> $(SEC_CRIT) ; + /sbin/pwdb_chkpwd -> $(SEC_CRIT) ; + #/sbin/remadmin -> $(SEC_CRIT) ; + /sbin/rescuept -> $(SEC_CRIT) ; + /sbin/rmt -> $(SEC_CRIT) ; + /sbin/rpc.lockd -> $(SEC_CRIT) ; + /sbin/rpc.statd -> $(SEC_CRIT) ; + /sbin/rpcdebug -> $(SEC_CRIT) ; + /sbin/service -> $(SEC_CRIT) ; + /sbin/setsysfont -> $(SEC_CRIT) ; + /sbin/shutdown -> $(SEC_CRIT) ; + /sbin/sulogin -> $(SEC_CRIT) ; + /sbin/swapon -> $(SEC_CRIT) ; + /sbin/syslogd -> $(SEC_CRIT) ; + /sbin/unix_chkpwd -> $(SEC_CRIT) ; + /bin/pwd -> $(SEC_CRIT) ; + /bin/uname -> $(SEC_CRIT) ; +} + + +# Hardware and Device Control Programs. + +( + rulename = "Hardware and Device Control Programs", + severity = $(SIG_HI) +) +{ + /bin/setserial -> $(SEC_CRIT) ; + /bin/sfxload -> $(SEC_CRIT) ; + /sbin/blockdev -> $(SEC_CRIT) ; + /sbin/cardctl -> $(SEC_CRIT) ; + /sbin/cardmgr -> $(SEC_CRIT) ; + /sbin/cbq -> $(SEC_CRIT) ; + /sbin/dump_cis -> $(SEC_CRIT) ; + /sbin/elvtune -> $(SEC_CRIT) ; + /sbin/hotplug -> $(SEC_CRIT) ; + /sbin/hwclock -> $(SEC_CRIT) ; + /sbin/ide_info -> $(SEC_CRIT) ; + #/sbin/isapnp -> $(SEC_CRIT) ; + #/sbin/kbdrate -> $(SEC_CRIT) ; + /sbin/losetup -> $(SEC_CRIT) ; + /sbin/lspci -> $(SEC_CRIT) ; + /sbin/lspnp -> $(SEC_CRIT) ; + /sbin/mii-tool -> $(SEC_CRIT) ; + /sbin/pack_cis -> $(SEC_CRIT) ; + #/sbin/pnpdump -> $(SEC_CRIT) ; + /sbin/probe -> $(SEC_CRIT) ; + #/sbin/pump -> $(SEC_CRIT) ; + /sbin/setpci -> $(SEC_CRIT) ; + /sbin/shapecfg -> $(SEC_CRIT) ; +} + + +# System Information Programs. + +( + rulename = "System Information Programs", + severity = $(SIG_HI) +) +{ + /sbin/consoletype -> $(SEC_CRIT) ; + /sbin/kernelversion -> $(SEC_CRIT) ; + /sbin/runlevel -> $(SEC_CRIT) ; +} + + +# Application Information Programs. + +( + rulename = "Application Information Programs", + severity = $(SIG_HI) +) +{ + /sbin/genksyms -> $(SEC_CRIT) ; + #/sbin/genksyms.old -> $(SEC_CRIT) ; + /sbin/rtmon -> $(SEC_CRIT) ; +} + + +# Shell Related Programs. + +( + rulename = "Shell Related Programs", + severity = $(SIG_HI) +) +{ + /sbin/getkey -> $(SEC_CRIT) ; + /sbin/nash -> $(SEC_CRIT) ; + /sbin/sash -> $(SEC_CRIT) ; +} + + +# OS Utilities. + +( + rulename = "Operating System Utilities", + severity = $(SIG_HI) +) +{ + /bin/arch -> $(SEC_CRIT) ; + /bin/ash -> $(SEC_CRIT) ; + /bin/ash.static -> $(SEC_CRIT) ; + /bin/aumix-minimal -> $(SEC_CRIT) ; + /bin/basename -> $(SEC_CRIT) ; + /bin/cat -> $(SEC_CRIT) ; + #/bin/consolechars -> $(SEC_CRIT) ; + /bin/cut -> $(SEC_CRIT) ; + /bin/date -> $(SEC_CRIT) ; + /bin/dd -> $(SEC_CRIT) ; + /bin/df -> $(SEC_CRIT) ; + /bin/dmesg -> $(SEC_CRIT) ; + /bin/doexec -> $(SEC_CRIT) ; + /bin/echo -> $(SEC_CRIT) ; + /bin/ed -> $(SEC_CRIT) ; + /bin/egrep -> $(SEC_CRIT) ; + /bin/false -> $(SEC_CRIT) ; + /bin/fgrep -> $(SEC_CRIT) ; + /bin/gawk -> $(SEC_CRIT) ; + #/bin/gawk-3.1.0 -> $(SEC_CRIT) ; # legacy + /bin/gettext -> $(SEC_CRIT) ; + /bin/grep -> $(SEC_CRIT) ; + /bin/gunzip -> $(SEC_CRIT) ; + /bin/gzip -> $(SEC_CRIT) ; + /bin/hostname -> $(SEC_CRIT) ; + /bin/igawk -> $(SEC_CRIT) ; + /bin/ipcalc -> $(SEC_CRIT) ; + /bin/kill -> $(SEC_CRIT) ; + /bin/ln -> $(SEC_CRIT) ; + /bin/loadkeys -> $(SEC_CRIT) ; + /bin/login -> $(SEC_CRIT) ; + /bin/ls -> $(SEC_CRIT) ; + /bin/mail -> $(SEC_CRIT) ; + /bin/more -> $(SEC_CRIT) ; + /bin/mt -> $(SEC_CRIT) ; + /bin/mv -> $(SEC_CRIT) ; + /bin/netstat -> $(SEC_CRIT) ; + /bin/nice -> $(SEC_CRIT) ; + /bin/pgawk -> $(SEC_CRIT) ; + /bin/ps -> $(SEC_CRIT) ; + /bin/rpm -> $(SEC_CRIT) ; + /bin/sed -> $(SEC_CRIT) ; + /bin/sleep -> $(SEC_CRIT) ; + /bin/sort -> $(SEC_CRIT) ; + /bin/stty -> $(SEC_CRIT) ; + /bin/su -> $(SEC_CRIT) ; + /bin/sync -> $(SEC_CRIT) ; + /bin/tar -> $(SEC_CRIT) ; + /bin/true -> $(SEC_CRIT) ; + /bin/usleep -> $(SEC_CRIT) ; + /bin/vi -> $(SEC_CRIT) ; + /bin/zcat -> $(SEC_CRIT) ; + /bin/zsh -> $(SEC_CRIT) ; + #/bin/zsh-4.0.2 -> $(SEC_CRIT) ; # legacy + /sbin/sln -> $(SEC_CRIT) ; + /usr/bin/vimtutor -> $(SEC_CRIT) ; +} + + +# Critical Utility Sym-Links. + +( + rulename = "Critical Utility Sym-Links", + severity = $(SIG_HI) +) +{ + #/sbin/askrunlevel -> $(SEC_CRIT) ; + /sbin/clock -> $(SEC_CRIT) ; + #/sbin/fixperm -> $(SEC_CRIT) ; + /sbin/fsck.reiserfs -> $(SEC_CRIT) ; + #/sbin/fsconf -> $(SEC_CRIT) ; + #/sbin/ipfwadm-wrapper -> $(SEC_CRIT) ; + /sbin/kallsyms -> $(SEC_CRIT) ; + /sbin/ksyms -> $(SEC_CRIT) ; + /sbin/lsmod -> $(SEC_CRIT) ; + #/sbin/mailconf -> $(SEC_CRIT) ; + /sbin/mkfs.reiserfs -> $(SEC_CRIT) ; + #/sbin/modemconf -> $(SEC_CRIT) ; # legacy + /sbin/modprobe -> $(SEC_CRIT) ; + /sbin/mount.ncp -> $(SEC_CRIT) ; + /sbin/mount.ncpfs -> $(SEC_CRIT) ; + /sbin/mount.smb -> $(SEC_CRIT) ; + /sbin/mount.smbfs -> $(SEC_CRIT) ; + #/sbin/netconf -> $(SEC_CRIT) ; + /sbin/pidof -> $(SEC_CRIT) ; + /sbin/poweroff -> $(SEC_CRIT) ; + /sbin/quotaoff -> $(SEC_CRIT) ; + /sbin/raid0run -> $(SEC_CRIT) ; + /sbin/raidhotadd -> $(SEC_CRIT) ; + #/sbin/raidhotgenerateerror -> $(SEC_CRIT) ; + /sbin/raidhotremove -> $(SEC_CRIT) ; + /sbin/raidstop -> $(SEC_CRIT) ; + /sbin/rdump -> $(SEC_CRIT) ; + /sbin/rdump.static -> $(SEC_CRIT) ; + /sbin/reboot -> $(SEC_CRIT) ; + /sbin/rmmod -> $(SEC_CRIT) ; + /sbin/rrestore -> $(SEC_CRIT) ; + /sbin/rrestore.static -> $(SEC_CRIT) ; + /sbin/swapoff -> $(SEC_CRIT) ; + /sbin/telinit -> $(SEC_CRIT) ; + #/sbin/userconf -> $(SEC_CRIT) ; + #/sbin/uucpconf -> $(SEC_CRIT) ; + #/sbin/vregistry -> $(SEC_CRIT) ; + /bin/awk -> $(SEC_CRIT) ; + /bin/bash2 -> $(SEC_CRIT) ; + /bin/bsh -> $(SEC_CRIT) ; + /bin/csh -> $(SEC_CRIT) ; + /bin/dnsdomainname -> $(SEC_CRIT) ; + /bin/domainname -> $(SEC_CRIT) ; + /bin/ex -> $(SEC_CRIT) ; + /bin/gtar -> $(SEC_CRIT) ; + /bin/nisdomainname -> $(SEC_CRIT) ; + /bin/red -> $(SEC_CRIT) ; + /bin/rvi -> $(SEC_CRIT) ; + /bin/rview -> $(SEC_CRIT) ; + /bin/view -> $(SEC_CRIT) ; + /bin/ypdomainname -> $(SEC_CRIT) ; +} + + +# Temporary directories. + +( + rulename = "Temporary directories", + recurse = false, + severity = $(SIG_LOW) +) +{ + /usr/tmp -> $(SEC_INVARIANT) ; + /var/tmp -> $(SEC_INVARIANT) ; + /tmp -> $(SEC_INVARIANT) ; +} + + +# Local files. + +( + rulename = "User binaries", + severity = $(SIG_MED) +) +{ + /sbin -> $(SEC_BIN) (recurse = 1) ; + /usr/bin -> $(SEC_BIN) (recurse = 1) ; + /usr/sbin -> $(SEC_BIN) (recurse = 1) ; + /usr/local/bin -> $(SEC_BIN) (recurse = 1) ; +} + +( + rulename = "Shell Binaries", + severity = $(SIG_HI) +) +{ + /bin/bash -> $(SEC_BIN) ; + /bin/ksh -> $(SEC_BIN) ; + #/bin/psh -> $(SEC_BIN) ; # legacy + #/bin/Rsh -> $(SEC_BIN) ; # legacy + /bin/sh -> $(SEC_BIN) ; + #/bin/shell -> $(SEC_SUID) ; # legacy + #/bin/tsh -> $(SEC_BIN) ; # legacy + /bin/tcsh -> $(SEC_BIN) ; + /sbin/nologin -> $(SEC_BIN) ; +} + +( + rulename = "Security Control", + severity = $(SIG_HI) +) +{ + /etc/group -> $(SEC_CRIT) ; + /etc/security -> $(SEC_CRIT) ; + #/var/spool/cron/crontabs -> $(SEC_CRIT) ; # Uncomment when this file exists +} + +#( +# rulename = "Boot Scripts", +# severity = $(SIG_HI) +#) +#{ +# /etc/rc -> $(SEC_CONFIG) ; +# /etc/rc.bsdnet -> $(SEC_CONFIG) ; +# /etc/rc.dt -> $(SEC_CONFIG) ; +# /etc/rc.net -> $(SEC_CONFIG) ; +# /etc/rc.net.serial -> $(SEC_CONFIG) ; +# /etc/rc.nfs -> $(SEC_CONFIG) ; +# /etc/rc.powerfail -> $(SEC_CONFIG) ; +# /etc/rc.tcpip -> $(SEC_CONFIG) ; +# /etc/trcfmt.Z -> $(SEC_CONFIG) ; +#} + +( + rulename = "Login Scripts", + severity = $(SIG_HI) +) +{ + /etc/bashrc -> $(SEC_CONFIG) ; + /etc/csh.cshrc -> $(SEC_CONFIG) ; + /etc/csh.login -> $(SEC_CONFIG) ; + /etc/inputrc -> $(SEC_CONFIG) ; + #/etc/tsh_profile -> $(SEC_CONFIG) ; #Uncomment when this file exists + /etc/profile -> $(SEC_CONFIG) ; +} + + +# Libraries +( + rulename = "Libraries", + severity = $(SIG_MED) +) +{ + /usr/lib -> $(SEC_BIN) ; + /usr/local/lib -> $(SEC_BIN) ; +} + + +# Critical System Boot Files. +# These files are critical to a correct system boot. + +( + rulename = "Critical system boot files", + severity = $(SIG_HI) +) +{ + /boot -> $(SEC_CRIT) ; + #/sbin/devfsd -> $(SEC_CRIT) ; + /sbin/grub -> $(SEC_CRIT) ; + /sbin/grub-install -> $(SEC_CRIT) ; + /sbin/grub-md5-crypt -> $(SEC_CRIT) ; + /sbin/installkernel -> $(SEC_CRIT) ; + /sbin/lilo -> $(SEC_CRIT) ; + /sbin/mkkerneldoth -> $(SEC_CRIT) ; + !/boot/System.map ; + !/boot/module-info ; + /usr/share/grub/i386-redhat/e2fs_stage1_5 -> $(SEC_CRIT) ; + /usr/share/grub/i386-redhat/fat_stage1_5 -> $(SEC_CRIT) ; + /usr/share/grub/i386-redhat/ffs_stage1_5 -> $(SEC_CRIT) ; + /usr/share/grub/i386-redhat/minix_stage1_5 -> $(SEC_CRIT) ; + /usr/share/grub/i386-redhat/reiserfs_stage1_5 -> $(SEC_CRIT) ; + /usr/share/grub/i386-redhat/stage1 -> $(SEC_CRIT) ; + /usr/share/grub/i386-redhat/stage2 -> $(SEC_CRIT) ; + /usr/share/grub/i386-redhat/vstafs_stage1_5 -> $(SEC_CRIT) ; + # other boot files may exist. Look for: + #/ufsboot -> $(SEC_CRIT) ; +} + + # These files change every time the system boots. + +( + rulename = "System boot changes", + severity = $(SIG_HI) +) +{ + !/var/run/ftp.pids-all ; # Comes and goes on reboot. + !/root/.enlightenment ; + /dev/log -> $(SEC_CONFIG) ; + /dev/cua0 -> $(SEC_CONFIG) ; + #/dev/printer -> $(SEC_CONFIG) ; # legacy + /dev/console -> $(SEC_CONFIG) -u ; # User ID may change on console login/logout. + /dev/tty1 -> $(SEC_CONFIG) ; # tty devices + /dev/tty2 -> $(SEC_CONFIG) ; # tty devices + /dev/tty3 -> $(SEC_CONFIG) ; # are extremely + /dev/tty4 -> $(SEC_CONFIG) ; # variable + /dev/tty5 -> $(SEC_CONFIG) ; + /dev/tty6 -> $(SEC_CONFIG) ; + /dev/urandom -> $(SEC_CONFIG) ; + /dev/initctl -> $(SEC_CONFIG) ; + /var/lock/subsys -> $(SEC_CONFIG) ; + #/var/lock/subsys/amd -> $(SEC_CONFIG) ; + #/var/lock/subsys/anacron -> $(SEC_CONFIG) ; + /var/lock/subsys/apmd -> $(SEC_CONFIG) ; + #/var/lock/subsys/arpwatch -> $(SEC_CONFIG) ; + /var/lock/subsys/atd -> $(SEC_CONFIG) ; + #/var/lock/subsys/autofs -> $(SEC_CONFIG) ; + #/var/lock/subsys/bcm5820 -> $(SEC_CONFIG) ; + #/var/lock/subsys/bgpd -> $(SEC_CONFIG) ; + #/var/lock/subsys/bootparamd -> $(SEC_CONFIG) ; + /var/lock/subsys/canna -> $(SEC_CONFIG) ; + /var/lock/subsys/crond -> $(SEC_CONFIG) ; + #/var/lock/subsys/cWnn -> $(SEC_CONFIG) ; + #/var/lock/subsys/dhcpd -> $(SEC_CONFIG) ; + #/var/lock/subsys/firewall -> $(SEC_CONFIG) ; + #/var/lock/subsys/freeWnn -> $(SEC_CONFIG) ; + #/var/lock/subsys/gated -> $(SEC_CONFIG) ; + /var/lock/subsys/gpm -> $(SEC_CONFIG) ; + #/var/lock/subsys/httpd -> $(SEC_CONFIG) ; + #/var/lock/subsys/identd -> $(SEC_CONFIG) ; + #/var/lock/subsys/innd -> $(SEC_CONFIG) ; + #/var/lock/subsys/ipchains -> $(SEC_CONFIG) ; # legacy + /var/lock/subsys/iptables -> $(SEC_CONFIG) ; + #/var/lock/subsys/ipvsadm -> $(SEC_CONFIG) ; + #/var/lock/subsys/irda -> $(SEC_CONFIG) ; + #/var/lock/subsys/iscsi -> $(SEC_CONFIG) ; + #/var/lock/subsys/isdn -> $(SEC_CONFIG) ; + #/var/lock/subsys/junkbuster -> $(SEC_CONFIG) ; # legacy + #/var/lock/subsys/kadmin -> $(SEC_CONFIG) ; + #/var/lock/subsys/keytable -> $(SEC_CONFIG) ; + #/var/lock/subsys/kprop -> $(SEC_CONFIG) ; + #/var/lock/subsys/krb524 -> $(SEC_CONFIG) ; + #/var/lock/subsys/krb5kdc -> $(SEC_CONFIG) ; + /var/lock/subsys/kudzu -> $(SEC_CONFIG) ; + #/var/lock/subsys/kWnn -> $(SEC_CONFIG) ; + #/var/lock/subsys/ldap -> $(SEC_CONFIG) ; + #/var/lock/subsys/linuxconf -> $(SEC_CONFIG) ; # legacy + #/var/lock/subsys/lpd -> $(SEC_CONFIG) ; + #/var/lock/subsys/mars_nwe -> $(SEC_CONFIG) ; + #/var/lock/subsys/mcserv -> $(SEC_CONFIG) ; + #/var/lock/subsys/mysqld -> $(SEC_CONFIG) ; + #/var/lock/subsys/named -> $(SEC_CONFIG) ; + /var/lock/subsys/netfs -> $(SEC_CONFIG) ; + /var/lock/subsys/network -> $(SEC_CONFIG) ; + #/var/lock/subsys/nfs -> $(SEC_CONFIG) ; + /var/lock/subsys/nfslock -> $(SEC_CONFIG) ; + #/var/lock/subsys/nscd -> $(SEC_CONFIG) ; + /var/lock/subsys/ntpd -> $(SEC_CONFIG) ; + #/var/lock/subsys/ospf6d -> $(SEC_CONFIG) ; + #/var/lock/subsys/ospfd -> $(SEC_CONFIG) ; + #/var/lock/subsys/pcmcia -> $(SEC_CONFIG) ; + /var/lock/subsys/portmap -> $(SEC_CONFIG) ; + #/var/lock/subsys/postgresql -> $(SEC_CONFIG) ; + #/var/lock/subsys/pxe -> $(SEC_CONFIG) ; + #/var/lock/subsys/radvd -> $(SEC_CONFIG) ; + /var/lock/subsys/random -> $(SEC_CONFIG) ; + #/var/lock/subsys/rarpd -> $(SEC_CONFIG) ; + #/var/lock/subsys/reconfig -> $(SEC_CONFIG) ; + #/var/lock/subsys/rhnsd -> $(SEC_CONFIG) ; + #/var/lock/subsys/ripd -> $(SEC_CONFIG) ; + #/var/lock/subsys/ripngd -> $(SEC_CONFIG) ; + #/var/lock/subsys/routed -> $(SEC_CONFIG) ; + #/var/lock/subsys/rstatd -> $(SEC_CONFIG) ; + #/var/lock/subsys/rusersd -> $(SEC_CONFIG) ; + #/var/lock/subsys/rwalld -> $(SEC_CONFIG) ; + #/var/lock/subsys/rwhod -> $(SEC_CONFIG) ; + /var/lock/subsys/sendmail -> $(SEC_CONFIG) ; + #/var/lock/subsys/smb -> $(SEC_CONFIG) ; + #/var/lock/subsys/snmpd -> $(SEC_CONFIG) ; + #/var/lock/subsys/squid -> $(SEC_CONFIG) ; + /var/lock/subsys/sshd -> $(SEC_CONFIG) ; + /var/lock/subsys/syslog -> $(SEC_CONFIG) ; + #/var/lock/subsys/tux -> $(SEC_CONFIG) ; + #/var/lock/subsys/tWnn -> $(SEC_CONFIG) ; + #/var/lock/subsys/ups -> $(SEC_CONFIG) ; + #/var/lock/subsys/vncserver -> $(SEC_CONFIG) ; + #/var/lock/subsys/wine -> $(SEC_CONFIG) ; + /var/lock/subsys/xfs -> $(SEC_CONFIG) ; + /var/lock/subsys/xinetd -> $(SEC_CONFIG) ; + #/var/lock/subsys/ypbind -> $(SEC_CONFIG) ; + #/var/lock/subsys/yppasswdd -> $(SEC_CONFIG) ; + #/var/lock/subsys/ypserv -> $(SEC_CONFIG) ; + #/var/lock/subsys/ypxfrd -> $(SEC_CONFIG) ; + #/var/lock/subsys/zebra -> $(SEC_CONFIG) ; + /var/run -> $(SEC_CONFIG) ; + /var/log -> $(SEC_CONFIG) ; + #/etc/ioctl.save -> $(SEC_CONFIG) ; + /etc/issue.net -> $(SEC_CONFIG) -i ; # Inode number changes + /etc/issue -> $(SEC_CONFIG) ; + /etc/mtab -> $(SEC_CONFIG) -i ; # Inode number changes on any mount/unmount + /lib/modules -> $(SEC_CONFIG) ; + /etc/.pwd.lock -> $(SEC_CONFIG) ; + #/lib/modules/preferred -> $(SEC_CONFIG) ; #Uncomment when this file exists +} + +# These files change the behavior of the root account +( + rulename = "Root config files", + severity = 100 +) +{ + /root -> $(SEC_CRIT) ; # Catch all additions to /root + /root/.Xresources -> $(SEC_CONFIG) ; + /root/.bashrc -> $(SEC_CONFIG) ; + /root/.bash_profile -> $(SEC_CONFIG) ; + /root/.bash_logout -> $(SEC_CONFIG) ; + /root/.cshrc -> $(SEC_CONFIG) ; + /root/.tcshrc -> $(SEC_CONFIG) ; + #/root/Mail -> $(SEC_CONFIG) ; + #/root/mail -> $(SEC_CONFIG) ; + #/root/.amandahosts -> $(SEC_CONFIG) ; + #/root/.addressbook.lu -> $(SEC_CONFIG) ; + #/root/.addressbook -> $(SEC_CONFIG) ; + /root/.bash_history -> $(SEC_CONFIG) ; + #/root/.elm -> $(SEC_CONFIG) ; + /root/.esd_auth -> $(SEC_CONFIG) ; + #/root/.gnome_private -> $(SEC_CONFIG) ; + #/root/.gnome-desktop -> $(SEC_CONFIG) ; + /root/.gnome -> $(SEC_CONFIG) ; + /root/.ICEauthority -> $(SEC_CONFIG) ; + #/root/.mc -> $(SEC_CONFIG) ; + #/root/.pinerc -> $(SEC_CONFIG) ; + #/root/.sawfish -> $(SEC_CONFIG) ; + /root/.Xauthority -> $(SEC_CONFIG) -i ; # Changes Inode number on login + #/root/.xauth -> $(SEC_CONFIG) ; + #/root/.xsession-errors -> $(SEC_CONFIG) ; +} + +# Critical configuration files. + +( + rulename = "Critical configuration files", + severity = $(SIG_HI) +) +{ + #/etc/conf.linuxconf -> $(SEC_BIN) ; # legacy + /etc/crontab -> $(SEC_BIN) ; + /etc/cron.hourly -> $(SEC_BIN) ; + /etc/cron.daily -> $(SEC_BIN) ; + /etc/cron.weekly -> $(SEC_BIN) ; + /etc/cron.monthly -> $(SEC_BIN) ; + /etc/default -> $(SEC_BIN) ; + /etc/fstab -> $(SEC_BIN) ; + /etc/exports -> $(SEC_BIN) ; + /etc/group- -> $(SEC_BIN) ; # changes should be infrequent + /etc/host.conf -> $(SEC_BIN) ; + /etc/hosts.allow -> $(SEC_BIN) ; + /etc/hosts.deny -> $(SEC_BIN) ; + /etc/httpd/conf -> $(SEC_BIN) ; # changes should be infrequent + /etc/protocols -> $(SEC_BIN) ; + /etc/services -> $(SEC_BIN) ; + /etc/rc.d/init.d -> $(SEC_BIN) ; + /etc/rc.d -> $(SEC_BIN) ; + /etc/mail.rc -> $(SEC_BIN) ; + /etc/modules.conf -> $(SEC_BIN) ; # post 2.6 legacy + #/etc/modprobe.conf -> $(SEC_BIN) ; # include this for 2.6 kernels + /etc/motd -> $(SEC_BIN) ; + /etc/named.conf -> $(SEC_BIN) ; + /etc/passwd -> $(SEC_CONFIG) ; + /etc/passwd- -> $(SEC_CONFIG) ; + /etc/profile.d -> $(SEC_BIN) ; + /var/lib/nfs/rmtab -> $(SEC_BIN) ; + /usr/sbin/fixrmtab -> $(SEC_BIN) ; + /etc/rpc -> $(SEC_BIN) ; + /etc/sysconfig -> $(SEC_BIN) ; + /etc/samba/smb.conf -> $(SEC_CONFIG) ; + #/etc/gettydefs -> $(SEC_BIN) ; + /etc/nsswitch.conf -> $(SEC_BIN) ; + /etc/yp.conf -> $(SEC_BIN) ; + /etc/hosts -> $(SEC_CONFIG) ; + /etc/xinetd.conf -> $(SEC_CONFIG) ; + /etc/inittab -> $(SEC_CONFIG) ; + /etc/resolv.conf -> $(SEC_CONFIG) ; + /etc/syslog.conf -> $(SEC_CONFIG) ; +} + +# Critical devices. + +( + rulename = "Critical devices", + severity = $(SIG_HI), + recurse = false +) +{ + /dev/kmem -> $(Device) ; + /dev/mem -> $(Device) ; + /dev/null -> $(Device) ; + /dev/zero -> $(Device) ; + /proc/devices -> $(Device) ; + /proc/net -> $(Device) ; + /proc/sys -> $(Device) ; + /proc/cpuinfo -> $(Device) ; + /proc/modules -> $(Device) ; + /proc/mounts -> $(Device) ; + /proc/dma -> $(Device) ; + /proc/filesystems -> $(Device) ; + /proc/pci -> $(Device) ; + /proc/interrupts -> $(Device) ; + /proc/driver/rtc -> $(Device) ; + /proc/ioports -> $(Device) ; + /proc/scsi -> $(Device) ; + /proc/kcore -> $(Device) ; + /proc/self -> $(Device) ; + /proc/kmsg -> $(Device) ; + /proc/stat -> $(Device) ; + /proc/ksyms -> $(Device) ; + /proc/loadavg -> $(Device) ; + /proc/uptime -> $(Device) ; + /proc/locks -> $(Device) ; + /proc/version -> $(Device) ; + /proc/mdstat -> $(Device) ; + /proc/meminfo -> $(Device) ; + /proc/cmdline -> $(Device) ; + /proc/misc -> $(Device) ; +} + +# Rest of critical system binaries +( + rulename = "OS executables and libraries", + severity = $(SIG_HI) +) +{ + /bin -> $(SEC_BIN) ; + /lib -> $(SEC_BIN) ; +} + +# disabled-entries: 184 + +# license: +#============================================================================= +# +# Copyright 2000 Tripwire, Inc. Tripwire is a registered trademark of Tripwire, +# Inc. in the United States and other countries. All rights reserved. +# +# Linux is a registered trademark of Linus Torvalds. +# +# UNIX is a registered trademark of The Open Group. +# +#============================================================================= +# +# Permission is granted to make and distribute verbatim copies of this document +# provided the copyright notice and this permission notice are preserved on all +# copies. +# +# Permission is granted to copy and distribute modified versions of this +# document under the conditions for verbatim copying, provided that the entire +# resulting derived work is distributed under the terms of a permission notice +# identical to this one. +# +# Permission is granted to copy and distribute translations of this document +# into another language, under the above conditions for modified versions, +# except that this permission notice may be stated in a translation approved by +# Tripwire, Inc. +# +# DCM From 97c36c656931899894b68183507e6a84d0d8a778 Mon Sep 17 00:00:00 2001 From: Brandon Holbrook Date: Thu, 1 Mar 2007 06:07:40 +0000 Subject: [PATCH 14/81] Upgrade to upstream 2.4.1.1 --- .cvsignore | 2 +- README.Fedora.in | 71 +++++++++++++++++++++++++++++--- sources | 2 +- tripwire-2.4.0.1-gcc4.patch | 31 -------------- tripwire.spec | 22 +++++----- tripwire.txt | 82 ------------------------------------- 6 files changed, 79 insertions(+), 131 deletions(-) delete mode 100644 tripwire-2.4.0.1-gcc4.patch delete mode 100644 tripwire.txt diff --git a/.cvsignore b/.cvsignore index 4b608ce..c4644c4 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -tripwire-2.4.0.1-src.tar.bz2 +tripwire-2.4.1.1-src.tar.bz2 diff --git a/README.Fedora.in b/README.Fedora.in index ab53114..38ac424 100644 --- a/README.Fedora.in +++ b/README.Fedora.in @@ -1,9 +1,70 @@ +Post-Installation Instructions -After installing this package, you should run: +The Tripwire RPM installs the basic program files needed to run the software. However, this installation does not complete custom configurations that Tripwire 2.4 needs to perform correctly. After you unpack the RPM, you must: +1. Generate the system-specific cryptographic key files ( @sbindir@/tripwire-setup-keyfiles ) +2. Initialize the Tripwire database file. ( @sbindir@/tripwire --init ) +3. Run the first integrity check. ( @sbindir@/tripwire --check ) +4. Edit the configuration file ( twcfg.txt ) with a text editor, if desired. +5. Edit the policy file ( twpol.txt ) with a text editor, if desired. - @sbindir@/tripwire-setup-keyfiles +Note: If you plan to modify the policy file, we recommend you do so before running the configuration script. If you modify the policy file after running the configuration script, you must re-run the configuration file before initializing the database file. -to generate cryptographic keys, and "tripwire --init" to initialize the -database Tripwire uses. This must be done manually because the key used -to sign the database should be different for each system. +Modifying the Policy File +You can specify how Tripwire software checks your system in the Tripwire policy file (twpol.txt). A default policy file is included in the Tripwire software installation. We recommend you tailor this policy file to fit your particular system. Tailoring the policy file greatly increases Tripwire software's ability to ensure the integrity of your system. +Locate the default policy file at /etc/tripwire/twpol.txt. An example policy file (located at /usr/share/doc/tripwire-VER#-REL#/policyguide.txt) is included to help you learn the policy language. Read the sample policy file and the comments in the sample policy file to learn the policy language. + +After you modify the policy file, follow the Post-Installation Instructions (run the configuration script). This script signs the modified policy file and renames it to tw.pol. This is the active policy file that runs as part of the Tripwire software. + +Selecting Passphrases +Tripwire files are signed or encrypted using site or local keys. These keys are protected by passphrases. When selecting passphrases, the following recommendations apply: +Use at least eight alphanumeric and symbolic characters for each passphrase. The maximum length of a passphrase is 1023 characters. Quotes should not be used as passphrase characters. + +Assign a unique passphrase for the site key. The site key passphrase protects the site key, which is used to sign Tripwire software configuration and policy files. Assign a unique passphrase for the local key. The local key signs Tripwire database files. The local key may sign the Tripwire report files also. + +Store the passphrases in a secure location. There is no way to remove encryption from a signed file if you forget your passphrase. If you forget the passphrases, the files are unusable. In that case you must reinitialize the baseline database. + +Initializing the Database +In Database Initialization mode, Tripwire software builds a database of filesystem objects based on the rules in the policy file. This database serves as the baseline for integrity checks. The syntax for Database Initialization mode is: +tripwire --init + +Running an Integrity Check +The Integrity Check mode compares the current file system objects with their properties recorded in the Tripwire database. Violations are printed to stdout. The report file is saved and can later be accessed by twprint. An email option enables you to send email. The syntax for Integrity Check mode is: +tripwire --check + +Printing Reports - twprint Print Report Mode +The twprint --print-report mode prints the contents of a Tripwire report. If you do not specify a report with the --twrfile or -r command-line argument, the default report file specified by the configuration file REPORTFILE variable is used. +Example: On a machine named LIGHTHOUSE, the command would be: +./twprint -m r --twrfile LIGHTHOUSE-19990622-021212.twr + +Updating the Database after an Integrity Check +Database Update mode enables you to update the Tripwire database after an integrity check if you determine that the violations discovered are valid. This update process saves time by enabling you to update the database without having to re-initialize it. It also enables selective updating, which cannot be done through re-initialization. The syntax for Database Update mode is: +tripwire --update + +Updating the Policy File +Change the way that Tripwire software scans the system by changing the rules in the policy file. You can then update the database without a complete re-initialization. This saves a significant amount of time and preserves security by keeping the policy file synchronized with the database it uses. The syntax for Policy Update mode is: +tripwire --update-policy + +Testing email functions +Test mode tests the software's email notification system, using the settings currently specified in the configuration file. The syntax for Email Test Reporting mode is: +tripwire --test + +Tripwire Components +The policy file begins as a text file containing comments, rules, directives, and variables. These dictate the way Tripwire software checks your system. Each rule in the policy file specifies a system object to be monitored. Rules also describe which changes to the object to report, and which to ignore. + +System objects are the files and directories you wish to monitor. Each object is identified by an object name. A property refers to a single characteristic of an object that Tripwire software can monitor. Directives control conditional processing of sets of rules in a policy file. During installation, the text policy file is encrypted and renamed, and becomes the active policy file. + +The database file is an important component of Tripwire software. When first installed, Tripwire software uses the policy file rules to create the database file. The database file is a baseline "snapshot" of the system in a known secure state. Tripwire software compares this baseline against the current system to determine what changes have occurred. This is an integrity check. + +When you perform an integrity check, Tripwire software produces report files. Report files summarize any changes that violated the policy file rules during the integrity check. You can view the report file in a variety of formats, at varying levels of detail. + +The Tripwire configuration file stores system-specific information, such as the location of Tripwire data files. Tripwire software generates some of the configuration file information during installation. The system administrator can change parameters in the configuration file at any time. The configuration file variables POLFILE, DBFILE, REPORTFILE, SITEKEYFILE, and LOCALKEYFILE specify where the policy file, database file, report files, and site and local key files reside. These variables must be defined or the configuration file is invalid. If any of these variables are undefined, an error occurs on execution of Tripwire software and the program exits. + +Tripwire Help +All Tripwire commands support the help arguments. Example: To get help with Create Configuration File mode, type: ./twadmin --help --create-cfgfile + +-? Display usage and version information +--help Display all command modes +--help all Display help for all command modes +--help [mode] Display help for current command mode +--version Display version information diff --git a/sources b/sources index c617def..57e18e5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -b371f79ac23cacc9ad40b1da76b4a0c4 tripwire-2.4.0.1-src.tar.bz2 +472af7b2acd40f2497d68ac6da38abf7 tripwire-2.4.1.1-src.tar.bz2 diff --git a/tripwire-2.4.0.1-gcc4.patch b/tripwire-2.4.0.1-gcc4.patch deleted file mode 100644 index 568c621..0000000 --- a/tripwire-2.4.0.1-gcc4.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- ./src/fco/fcosetimpl.h.orig 2005-12-14 06:18:01.000000000 -0600 -+++ ./src/fco/fcosetimpl.h 2005-12-14 06:18:01.000000000 -0600 -@@ -46,6 +46,8 @@ - #include "fconame.h" - #endif - -+class cFCOIterImpl; -+ - class cFCOSetImpl : public iFCOSet - { - friend class cFCOIterImpl; ---- ./src/fco/fconame.h.orig 2005-12-14 06:18:01.000000000 -0600 -+++ ./src/fco/fconame.h 2005-12-14 06:18:01.000000000 -0600 -@@ -49,6 +49,7 @@ - /////////////////////////////////////////////////////////////////////////////// - class cFCONameTblNode; - class cFCONameIter; -+class cFCOName_i; - - class cFCOName : public iTypedSerializable - { ---- ./src/tw/fcoreport.h.orig 2005-12-14 06:18:01.000000000 -0600 -+++ ./src/tw/fcoreport.h 2005-12-14 06:21:41.000000000 -0600 -@@ -85,6 +85,7 @@ - class cFileHeaderID; - class cErrorQueue; - class cFCOReportGenreHeader; -+class cFCOReportSpecIter; - - class cFCOReport : public iTypedSerializable - { diff --git a/tripwire.spec b/tripwire.spec index 4be5fc2..935e2c3 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -2,15 +2,14 @@ %define path_to_sendmail /usr/sbin/sendmail Name: tripwire -Version: 2.4.0.1 -Release: 4%{?dist} +Version: 2.4.1.1 +Release: 1%{?dist} Summary: IDS (Intrusion Detection System) License: GPL Group: Applications/System Source0: http://download.sourceforge.net/tripwire/tripwire-%{version}-src.tar.bz2 Source1: tripwire.cron.in -Source2: tripwire.txt Source3: tripwire.gif Source4: twcfg.txt.in Source5: tripwire-setup-keyfiles.in @@ -23,7 +22,6 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: openssl-devel Requires(post): sed -Patch0: tripwire-2.4.0.1-gcc4.patch Patch1: tripwire-siggen-man8.patch %description @@ -46,10 +44,8 @@ altered. %prep %setup -q -%{__cp} -p %{SOURCE2} quickstart.txt -%{__cp} -p %{SOURCE3} quickstart.gif +%{__cp} -p %{SOURCE3} . -%patch0 -p1 -b .gcc4 %patch1 -p1 -b .siggen.manpage %build @@ -120,8 +116,8 @@ done # Fix permissions on documentation files. %{__cp} -p %{SOURCE9} . %{__chmod} 644 \ - ChangeLog COMMERCIAL COPYING TRADEMARK quickstart.gif \ - quickstart.txt README.Fedora policy/policyguide.txt License-Issues + ChangeLog COMMERCIAL COPYING TRADEMARK tripwire.gif \ + README.Fedora policy/policyguide.txt License-Issues %clean @@ -135,8 +131,8 @@ done %files %defattr(0644,root,root,0755) -%doc ChangeLog COMMERCIAL COPYING TRADEMARK quickstart.gif -%doc quickstart.txt README.Fedora policy/policyguide.txt License-Issues +%doc ChangeLog COMMERCIAL COPYING TRADEMARK tripwire.gif +%doc README.Fedora policy/policyguide.txt License-Issues %attr(0700,root,root) %dir %{_sysconfdir}/tripwire %config(noreplace) %{_sysconfdir}/tripwire/twcfg.txt %config(noreplace) %{_sysconfdir}/tripwire/twpol.txt @@ -148,6 +144,10 @@ done %changelog +* Wed Feb 28 2007 Brandon Holbrook 2.4.1.1-1 +- Upgrade to upstream 2.4.1.1 (obsoletes gcc4 patch) +- Merge quickstart.txt into README.Fedora and fix doc bug (#161764) + * Thu Dec 21 2006 Brandon Holbrook 2.4.0.1-4 - Don't print anything at install time diff --git a/tripwire.txt b/tripwire.txt deleted file mode 100644 index 0756495..0000000 --- a/tripwire.txt +++ /dev/null @@ -1,82 +0,0 @@ -Introduction -Tripwire v2.4 software ensures the integrity of critical system files and directories by identifying all changes made to specified system files and directories. Configure Tripwire software to monitor your system in the way that is best for you. - -Tripwire software works by comparing files and directories against a baseline. It generates the baseline by taking a "snapshot" of specified files and directories in a known secure state. Tripwire software then compares the current system against the baseline and reports any modifications, additions, or deletions. Use Tripwire software for system security, intrusion detection, damage assessment, and recovery forensics. - -To install Tripwire v2.4 -1. Locate the RPM directory on the CD. -2. Locate the Tripwire RPM. -3. Type rpm -i "name" -4. After installing the Tripwire binary RPM, follow these Post-Installation instructions. -5. We recommend you read the Release Notes and README file. - -Post-Installation Instructions -The Tripwire binary RPM installs the basic program files needed to run the software. However, this installation does not complete custom configurations that Tripwire 2.4 needs to perform correctly. After you unpack the RPM, you must: -1. Run the configuration script: /etc/tripwire/twinstall.sh to sign these files. This script walks you through the processes of setting passphrases and signing the Tripwire policy and configuration files. -Note: Once encoded and signed, the configuration file should not be renamed or moved. -2. Initialize the Tripwire database file. (/usr/sbin/tripwire--init) -3. Run the first integrity check. (/usr/sbin/tripwire--check) -4. Edit the configuration file (twcfg.txt) with a text editor, if desired. -5. Edit the policy file (twpol.txt) with a text editor, if desired. - -Note: If you plan to modify the policy file, we recommend you do so before running the configuration script. If you modify the policy file after running the configuration script, you must re-run the configuration file before initializing the database file. - -Modifying the Policy File -You can specify how Tripwire software checks your system in the Tripwire policy file (twpol.txt). A default policy file is included in the Tripwire software installation. We recommend you tailor this policy file to fit your particular system. Tailoring the policy file greatly increases Tripwire software's ability to ensure the integrity of your system. - -Locate the default policy file at /etc/tripwire/twpol.txt. An example policy file (located at /usr/doc/tripwire-VER#-REL#/policyguide.txt) is included to help you learn the policy language. Read the sample policy file and the comments in the sample policy file to learn the policy language. - -After you modify the policy file, follow the Post-Installation Instructions (run the configuration script). This script signs the modified policy file and renames it to tw.pol. This is the active policy file that runs as part of the Tripwire software. - -Selecting Passphrases -Tripwire files are signed or encrypted using site or local keys. These keys are protected by passphrases. When selecting passphrases, the following recommendations apply: -Use at least eight alphanumeric and symbolic characters for each passphrase. The maximum length of a passphrase is 1023 characters. Quotes should not be used as passphrase characters. - -Assign a unique passphrase for the site key. The site key passphrase protects the site key, which is used to sign Tripwire software configuration and policy files. Assign a unique passphrase for the local key. The local key signs Tripwire database files. The local key may sign the Tripwire report files also. - -Store the passphrases in a secure location. There is no way to remove encryption from a signed file if you forget your passphrase. If you forget the passphrases, the files are unusable. In that case you must reinitialize the baseline database. - -Initializing the Database -In Database Initialization mode, Tripwire software builds a database of filesystem objects based on the rules in the policy file. This database serves as the baseline for integrity checks. The syntax for Database Initialization mode is: -tripwire --init - -Running an Integrity Check -The Integrity Check mode compares the current file system objects with their properties recorded in the Tripwire database. Violations are printed to stdout. The report file is saved and can later be accessed by twprint. An email option enables you to send email. The syntax for Integrity Check mode is: -tripwire --check - -Printing Reports - twprint Print Report Mode -The twprint --print-report mode prints the contents of a Tripwire report. If you do not specify a report with the --twrfile or -r command-line argument, the default report file specified by the configuration file REPORTFILE variable is used. -Example: On a machine named LIGHTHOUSE, the command would be: -./twprint -m r --twrfile LIGHTHOUSE-19990622-021212.twr - -Updating the Database after an Integrity Check -Database Update mode enables you to update the Tripwire database after an integrity check if you determine that the violations discovered are valid. This update process saves time by enabling you to update the database without having to re-initialize it. It also enables selective updating, which cannot be done through re-initialization. The syntax for Database Update mode is: -tripwire --update - -Updating the Policy File -Change the way that Tripwire software scans the system by changing the rules in the policy file. You can then update the database without a complete re-initialization. This saves a significant amount of time and preserves security by keeping the policy file synchronized with the database it uses. The syntax for Policy Update mode is: -tripwire --update-policy - -Testing email functions -Test mode tests the software's email notification system, using the settings currently specified in the configuration file. The syntax for Email Test Reporting mode is: -tripwire --test - -Tripwire Components -The policy file begins as a text file containing comments, rules, directives, and variables. These dictate the way Tripwire software checks your system. Each rule in the policy file specifies a system object to be monitored. Rules also describe which changes to the object to report, and which to ignore. - -System objects are the files and directories you wish to monitor. Each object is identified by an object name. A property refers to a single characteristic of an object that Tripwire software can monitor. Directives control conditional processing of sets of rules in a policy file. During installation, the text policy file is encrypted and renamed, and becomes the active policy file. - -The database file is an important component of Tripwire software. When first installed, Tripwire software uses the policy file rules to create the database file. The database file is a baseline "snapshot" of the system in a known secure state. Tripwire software compares this baseline against the current system to determine what changes have occurred. This is an integrity check. - -When you perform an integrity check, Tripwire software produces report files. Report files summarize any changes that violated the policy file rules during the integrity check. You can view the report file in a variety of formats, at varying levels of detail. - -The Tripwire configuration file stores system-specific information, such as the location of Tripwire data files. Tripwire software generates some of the configuration file information during installation. The system administrator can change parameters in the configuration file at any time. The configuration file variables POLFILE, DBFILE, REPORTFILE, SITEKEYFILE, and LOCALKEYFILE specify where the policy file, database file, report files, and site and local key files reside. These variables must be defined or the configuration file is invalid. If any of these variables are undefined, an error occurs on execution of Tripwire software and the program exits. - -Tripwire Help -All Tripwire commands support the help arguments. Example: To get help with Create Configuration File mode, type: ./twadmin --help --create-cfgfile - --? Display usage and version information ---help Display all command modes ---help all Display help for all command modes ---help [mode] Display help for current command mode ---version Display version information From 020c9e33798c57cb4c612a6bba118846754e6b58 Mon Sep 17 00:00:00 2001 From: Brandon Holbrook Date: Sat, 16 Jun 2007 05:07:45 +0000 Subject: [PATCH 15/81] Update to 2.4.1.2 --- .cvsignore | 2 +- sources | 2 +- tripwire.spec | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.cvsignore b/.cvsignore index c4644c4..3b8502d 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -tripwire-2.4.1.1-src.tar.bz2 +tripwire-2.4.1.2-src.tar.bz2 diff --git a/sources b/sources index 57e18e5..ba5d079 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -472af7b2acd40f2497d68ac6da38abf7 tripwire-2.4.1.1-src.tar.bz2 +8a1147c278b528ed593023912c4b649a tripwire-2.4.1.2-src.tar.bz2 diff --git a/tripwire.spec b/tripwire.spec index 935e2c3..a3651c9 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -2,13 +2,13 @@ %define path_to_sendmail /usr/sbin/sendmail Name: tripwire -Version: 2.4.1.1 +Version: 2.4.1.2 Release: 1%{?dist} Summary: IDS (Intrusion Detection System) License: GPL Group: Applications/System -Source0: http://download.sourceforge.net/tripwire/tripwire-%{version}-src.tar.bz2 +Source0: http://download.sourceforge.net/tripwire/%{name}-%{version}-src.tar.bz2 Source1: tripwire.cron.in Source3: tripwire.gif Source4: twcfg.txt.in @@ -43,7 +43,7 @@ enact damage control measures immediately if certain files have been altered. %prep -%setup -q +%setup -q -n %{name}-%{version}-src %{__cp} -p %{SOURCE3} . %patch1 -p1 -b .siggen.manpage From de9b179359afd102dd86c6b12f8c2e05c9e2976d Mon Sep 17 00:00:00 2001 From: Brandon Holbrook Date: Wed, 29 Aug 2007 05:25:33 +0000 Subject: [PATCH 16/81] Upgraded to 2.4.1.2 --- tripwire.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index a3651c9..417aba8 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,7 +3,7 @@ Name: tripwire Version: 2.4.1.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: IDS (Intrusion Detection System) License: GPL @@ -144,6 +144,9 @@ done %changelog +* Wed Aug 29 2007 Brandon Holbrook 2.4.1.2-2 +- Upgrade to 2.4.1.2 + * Wed Feb 28 2007 Brandon Holbrook 2.4.1.1-1 - Upgrade to upstream 2.4.1.1 (obsoletes gcc4 patch) - Merge quickstart.txt into README.Fedora and fix doc bug (#161764) From dbf1133cb9ed9dfeaa501e4226e145983470e4fd Mon Sep 17 00:00:00 2001 From: Brandon Holbrook Date: Wed, 29 Aug 2007 05:45:32 +0000 Subject: [PATCH 17/81] Added a new config.guess to properly detect ppc64 --- config.guess | 1516 +++++++++++++++++++++++++++++++++++++++++++++++++ tripwire.spec | 7 +- 2 files changed, 1522 insertions(+), 1 deletion(-) create mode 100644 config.guess diff --git a/config.guess b/config.guess new file mode 100644 index 0000000..278f9e9 --- /dev/null +++ b/config.guess @@ -0,0 +1,1516 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, +# Inc. + +timestamp='2007-07-22' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + + +# Originally written by Per Bothner . +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# This script attempts to guess a canonical system name similar to +# config.sub. If it succeeds, it prints the system name on stdout, and +# exits with 0. Otherwise, it exits with 1. +# +# The plan is that this can be called by configure scripts if you +# don't specify an explicit build system type. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +trap 'exit 1' 1 2 15 + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# Portable tmp directory creation inspired by the Autoconf team. + +set_cc_for_build=' +trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; +: ${TMPDIR=/tmp} ; + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; +dummy=$tmp/dummy ; +tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; +case $CC_FOR_BUILD,$HOST_CC,$CC in + ,,) echo "int x;" > $dummy.c ; + for c in cc gcc c89 c99 ; do + if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then + CC_FOR_BUILD="$c"; break ; + fi ; + done ; + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found ; + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; +esac ; set_cc_for_build= ;' + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if (test -f /.attbin/uname) >/dev/null 2>&1 ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +# Note: order is significant - the case branches are not exclusive. + +case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + sysctl="sysctl -n hw.machine_arch" + UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || echo unknown)` + case "${UNAME_MACHINE_ARCH}" in + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + sh5el) machine=sh5le-unknown ;; + *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently, or will in the future. + case "${UNAME_MACHINE_ARCH}" in + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + eval $set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep __ELF__ >/dev/null + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "${UNAME_VERSION}" in + Debian*) + release='-gnu' + ;; + *) + release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "${machine}-${os}${release}" + exit ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} + exit ;; + *:ekkoBSD:*:*) + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + exit ;; + *:SolidBSD:*:*) + echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} + exit ;; + macppc:MirBSD:*:*) + echo powerpc-unknown-mirbsd${UNAME_RELEASE} + exit ;; + *:MirBSD:*:*) + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + exit ;; + alpha:OSF1:*:*) + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE="alpha" ;; + "EV4.5 (21064)") + UNAME_MACHINE="alpha" ;; + "LCA4 (21066/21068)") + UNAME_MACHINE="alpha" ;; + "EV5 (21164)") + UNAME_MACHINE="alphaev5" ;; + "EV5.6 (21164A)") + UNAME_MACHINE="alphaev56" ;; + "EV5.6 (21164PC)") + UNAME_MACHINE="alphapca56" ;; + "EV5.7 (21164PC)") + UNAME_MACHINE="alphapca57" ;; + "EV6 (21264)") + UNAME_MACHINE="alphaev6" ;; + "EV6.7 (21264A)") + UNAME_MACHINE="alphaev67" ;; + "EV6.8CB (21264C)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8AL (21264B)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8CX (21264D)") + UNAME_MACHINE="alphaev68" ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE="alphaev69" ;; + "EV7 (21364)") + UNAME_MACHINE="alphaev7" ;; + "EV7.9 (21364A)") + UNAME_MACHINE="alphaev79" ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + exit ;; + Alpha\ *:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # Should we change UNAME_MACHINE based on the output of uname instead + # of the specific Alpha model? + echo alpha-pc-interix + exit ;; + 21064:Windows_NT:50:3) + echo alpha-dec-winnt3.5 + exit ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-unknown-sysv4 + exit ;; + *:[Aa]miga[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-amigaos + exit ;; + *:[Mm]orph[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-morphos + exit ;; + *:OS/390:*:*) + echo i370-ibm-openedition + exit ;; + *:z/VM:*:*) + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit ;; + arm:riscos:*:*|arm:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + echo hppa1.1-hitachi-hiuxmpp + exit ;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + if test "`(/bin/universe) 2>/dev/null`" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit ;; + NILE*:*:*:dcosx) + echo pyramid-pyramid-svr4 + exit ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) echo sparc-icl-nx7; exit ;; + esac ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) + echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:*:*) + case "`/usr/bin/arch -k`" in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + exit ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos${UNAME_RELEASE} + exit ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 + case "`/bin/arch`" in + sun3) + echo m68k-sun-sunos${UNAME_RELEASE} + ;; + sun4) + echo sparc-sun-sunos${UNAME_RELEASE} + ;; + esac + exit ;; + aushp:SunOS:*:*) + echo sparc-auspex-sunos${UNAME_RELEASE} + exit ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint${UNAME_RELEASE} + exit ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint${UNAME_RELEASE} + exit ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint${UNAME_RELEASE} + exit ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit ;; + powerpc:machten:*:*) + echo powerpc-apple-machten${UNAME_RELEASE} + exit ;; + RISC*:Mach:*:*) + echo mips-dec-mach_bsd4.3 + exit ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix${UNAME_RELEASE} + exit ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix${UNAME_RELEASE} + exit ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + echo clipper-intergraph-clix${UNAME_RELEASE} + exit ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && + dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`$dummy $dummyarg` && + { echo "$SYSTEM_NAME"; exit; } + echo mips-mips-riscos${UNAME_RELEASE} + exit ;; + Motorola:PowerMAX_OS:*:*) + echo powerpc-motorola-powermax + exit ;; + Motorola:*:4.3:PL8-*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:Power_UNIX:*:*) + echo powerpc-harris-powerunix + exit ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ + [ ${TARGET_BINARY_INTERFACE}x = x ] + then + echo m88k-dg-dgux${UNAME_RELEASE} + else + echo m88k-dg-dguxbcs${UNAME_RELEASE} + fi + else + echo i586-dg-dgux${UNAME_RELEASE} + fi + exit ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit ;; + *:IRIX*:*:*) + echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + exit ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i*86:AIX:*:*) + echo i386-ibm-aix + exit ;; + ia64:AIX:*:*) + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} + exit ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` + then + echo "$SYSTEM_NAME" + else + echo rs6000-ibm-aix3.2.5 + fi + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit ;; + *:AIX:*:[45]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${IBM_ARCH}-ibm-aix${IBM_REV} + exit ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit ;; + ibmrt:4.4BSD:*|romp-ibm:BSD:*) + echo romp-ibm-bsd4.4 + exit ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + exit ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + case "${UNAME_MACHINE}" in + 9000/31? ) HP_ARCH=m68000 ;; + 9000/[34]?? ) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in + 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 + 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "${sc_kernel_bits}" in + 32) HP_ARCH="hppa2.0n" ;; + 64) HP_ARCH="hppa2.0w" ;; + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 + esac ;; + esac + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + + #define _HPUX_SOURCE + #include + #include + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac + if [ ${HP_ARCH} = "hppa2.0w" ] + then + eval $set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | + grep __LP64__ >/dev/null + then + HP_ARCH="hppa2.0w" + else + HP_ARCH="hppa64" + fi + fi + echo ${HP_ARCH}-hp-hpux${HPUX_REV} + exit ;; + ia64:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux${HPUX_REV} + exit ;; + 3050*:HI-UX:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + echo unknown-hitachi-hiuxwe2 + exit ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + echo hppa1.1-hp-bsd + exit ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + echo hppa1.1-hp-osf + exit ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit ;; + i*86:OSF1:*:*) + if [ -x /usr/sbin/sysversion ] ; then + echo ${UNAME_MACHINE}-unknown-osf1mk + else + echo ${UNAME_MACHINE}-unknown-osf1 + fi + exit ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*[A-Z]90:*:*:*) + echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*TS:*:*:*) + echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*T3E:*:*:*) + echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*SV1:*:*:*) + echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + *:UNICOS/mp:*:*) + echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} + exit ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:BSD/OS:*:*) + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:FreeBSD:*:*) + case ${UNAME_MACHINE} in + pc98) + echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + amd64) + echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + *) + echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + esac + exit ;; + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit ;; + *:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit ;; + i*:windows32*:*) + # uname -m includes "-pc" on this system. + echo ${UNAME_MACHINE}-mingw32 + exit ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit ;; + *:Interix*:[3456]*) + case ${UNAME_MACHINE} in + x86) + echo i586-pc-interix${UNAME_RELEASE} + exit ;; + EM64T | authenticamd) + echo x86_64-unknown-interix${UNAME_RELEASE} + exit ;; + esac ;; + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) + echo i${UNAME_MACHINE}-pc-mks + exit ;; + i*:Windows_NT*:* | Pentium*:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we + # UNAME_MACHINE based on the output of uname instead of i386? + echo i586-pc-interix + exit ;; + i*:UWIN*:*) + echo ${UNAME_MACHINE}-pc-uwin + exit ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + echo x86_64-unknown-cygwin + exit ;; + p*:CYGWIN*:*) + echo powerpcle-unknown-cygwin + exit ;; + prep*:SunOS:5.*:*) + echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + *:GNU:*:*) + # the GNU system + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + exit ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + exit ;; + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit ;; + arm*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + avr32*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + cris:Linux:*:*) + echo cris-axis-linux-gnu + exit ;; + crisv32:Linux:*:*) + echo crisv32-axis-linux-gnu + exit ;; + frv:Linux:*:*) + echo frv-unknown-linux-gnu + exit ;; + ia64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m32r*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m68*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + mips:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips + #undef mipsel + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mipsel + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips + #else + CPU= + #endif + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips64 + #undef mips64el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mips64el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips64 + #else + CPU= + #endif + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + or32:Linux:*:*) + echo or32-unknown-linux-gnu + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu + exit ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + exit ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) echo hppa1.1-unknown-linux-gnu ;; + PA8*) echo hppa2.0-unknown-linux-gnu ;; + *) echo hppa-unknown-linux-gnu ;; + esac + exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu + exit ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo ${UNAME_MACHINE}-ibm-linux + exit ;; + sh64*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sh*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + vax:Linux:*:*) + echo ${UNAME_MACHINE}-dec-linux-gnu + exit ;; + x86_64:Linux:*:*) + echo x86_64-unknown-linux-gnu + exit ;; + xtensa:Linux:*:*) + echo xtensa-unknown-linux-gnu + exit ;; + i*86:Linux:*:*) + # The BFD linker knows what the default object file format is, so + # first see if it will tell us. cd to the root directory to prevent + # problems with other programs or directories called `ld' in the path. + # Set LC_ALL=C to ensure ld outputs messages in English. + ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ + | sed -ne '/supported targets:/!d + s/[ ][ ]*/ /g + s/.*supported targets: *// + s/ .*// + p'` + case "$ld_supported_targets" in + elf32-i386) + TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" + ;; + a.out-i386-linux) + echo "${UNAME_MACHINE}-pc-linux-gnuaout" + exit ;; + coff-i386) + echo "${UNAME_MACHINE}-pc-linux-gnucoff" + exit ;; + "") + # Either a pre-BFD a.out linker (linux-gnuoldld) or + # one that does not give us useful --help. + echo "${UNAME_MACHINE}-pc-linux-gnuoldld" + exit ;; + esac + # Determine whether the default compiler is a.out or elf + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + #ifdef __ELF__ + # ifdef __GLIBC__ + # if __GLIBC__ >= 2 + LIBC=gnu + # else + LIBC=gnulibc1 + # endif + # else + LIBC=gnulibc1 + # endif + #else + #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) + LIBC=gnu + #else + LIBC=gnuaout + #endif + #endif + #ifdef __dietlibc__ + LIBC=dietlibc + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^LIBC/{ + s: ::g + p + }'`" + test x"${LIBC}" != x && { + echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit + } + test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } + ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + echo i386-sequent-sysv4 + exit ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + exit ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo ${UNAME_MACHINE}-pc-os2-emx + exit ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit ;; + i*86:syllable:*:*) + echo ${UNAME_MACHINE}-pc-syllable + exit ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit ;; + i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) + UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} + else + echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} + fi + exit ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + exit ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + else + echo ${UNAME_MACHINE}-pc-sysv32 + fi + exit ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i386. + echo i386-pc-msdosdjgpp + exit ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + fi + exit ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit ;; + mc68k:UNIX:SYSTEM5:3.51m) + echo m68k-convergent-sysv + exit ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos${UNAME_RELEASE} + exit ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit ;; + TSUNAMI:LynxOS:2.*:*) + echo sparc-unknown-lynxos${UNAME_RELEASE} + exit ;; + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos${UNAME_RELEASE} + exit ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) + echo powerpc-unknown-lynxos${UNAME_RELEASE} + exit ;; + SM[BE]S:UNIX_SV:*:*) + echo mips-dde-sysv${UNAME_RELEASE} + exit ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + echo ${UNAME_MACHINE}-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + echo hppa1.1-stratus-sysv4 + exit ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + echo i860-stratus-sysv4 + exit ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + echo ${UNAME_MACHINE}-stratus-vos + exit ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + echo hppa1.1-stratus-vos + exit ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux${UNAME_RELEASE} + exit ;; + news*:NEWS-OS:6*:*) + echo mips-sony-newsos6 + exit ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if [ -d /usr/nec ]; then + echo mips-nec-sysv${UNAME_RELEASE} + else + echo mips-unknown-sysv${UNAME_RELEASE} + fi + exit ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + echo powerpc-apple-beos + exit ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux${UNAME_RELEASE} + exit ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux${UNAME_RELEASE} + exit ;; + SX-7:SUPER-UX:*:*) + echo sx7-nec-superux${UNAME_RELEASE} + exit ;; + SX-8:SUPER-UX:*:*) + echo sx8-nec-superux${UNAME_RELEASE} + exit ;; + SX-8R:SUPER-UX:*:*) + echo sx8r-nec-superux${UNAME_RELEASE} + exit ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Rhapsody:*:*) + echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Darwin:*:*) + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown + case $UNAME_PROCESSOR in + unknown) UNAME_PROCESSOR=powerpc ;; + esac + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} + exit ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = "x86"; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} + exit ;; + *:QNX:*:4*) + echo i386-pc-qnx + exit ;; + NSE-?:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk${UNAME_RELEASE} + exit ;; + NSR-?:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk${UNAME_RELEASE} + exit ;; + *:NonStop-UX:*:*) + echo mips-compaq-nonstopux + exit ;; + BS2000:POSIX*:*:*) + echo bs2000-siemens-sysv + exit ;; + DS/*:UNIX_System_V:*:*) + echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} + exit ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + if test "$cputype" = "386"; then + UNAME_MACHINE=i386 + else + UNAME_MACHINE="$cputype" + fi + echo ${UNAME_MACHINE}-unknown-plan9 + exit ;; + *:TOPS-10:*:*) + echo pdp10-unknown-tops10 + exit ;; + *:TENEX:*:*) + echo pdp10-unknown-tenex + exit ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + echo pdp10-dec-tops20 + exit ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + echo pdp10-xkl-tops20 + exit ;; + *:TOPS-20:*:*) + echo pdp10-unknown-tops20 + exit ;; + *:ITS:*:*) + echo pdp10-unknown-its + exit ;; + SEI:*:*:SEIUX) + echo mips-sei-seiux${UNAME_RELEASE} + exit ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; + V*) echo vax-dec-vms ; exit ;; + esac ;; + *:XENIX:*:SysV) + echo i386-pc-xenix + exit ;; + i*86:skyos:*:*) + echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' + exit ;; + i*86:rdos:*:*) + echo ${UNAME_MACHINE}-pc-rdos + exit ;; +esac + +#echo '(No uname command or uname output not recognized.)' 1>&2 +#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 + +eval $set_cc_for_build +cat >$dummy.c < +# include +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (__arm) && defined (__acorn) && defined (__unix) + printf ("arm-acorn-riscix\n"); exit (0); +#endif + +#if defined (hp300) && !defined (hpux) + printf ("m68k-hp-bsd\n"); exit (0); +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); + +#endif + +#if defined (vax) +# if !defined (ultrix) +# include +# if defined (BSD) +# if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +# else +# if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# endif +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# else + printf ("vax-dec-ultrix\n"); exit (0); +# endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + +# Apollos put the system type in the environment. + +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } + +# Convex versions that predate uname can use getsysinfo(1) + +if [ -x /usr/convex/getsysinfo ] +then + case `getsysinfo -f cpu_type` in + c1*) + echo c1-convex-bsd + exit ;; + c2*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + c34*) + echo c34-convex-bsd + exit ;; + c38*) + echo c38-convex-bsd + exit ;; + c4*) + echo c4-convex-bsd + exit ;; + esac +fi + +cat >&2 < in order to provide the needed +information to handle your system. + +config.guess timestamp = $timestamp + +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` + +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +UNAME_MACHINE = ${UNAME_MACHINE} +UNAME_RELEASE = ${UNAME_RELEASE} +UNAME_SYSTEM = ${UNAME_SYSTEM} +UNAME_VERSION = ${UNAME_VERSION} +EOF + +exit 1 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/tripwire.spec b/tripwire.spec index 417aba8..3c8c51a 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,13 +3,14 @@ Name: tripwire Version: 2.4.1.2 -Release: 2%{?dist} +Release: 3%{?dist} Summary: IDS (Intrusion Detection System) License: GPL Group: Applications/System Source0: http://download.sourceforge.net/tripwire/%{name}-%{version}-src.tar.bz2 Source1: tripwire.cron.in +Source2: config.guess Source3: tripwire.gif Source4: twcfg.txt.in Source5: tripwire-setup-keyfiles.in @@ -44,6 +45,7 @@ altered. %prep %setup -q -n %{name}-%{version}-src +%{__cp} -p %{SOURCE2} . %{__cp} -p %{SOURCE3} . %patch1 -p1 -b .siggen.manpage @@ -144,6 +146,9 @@ done %changelog +* Wed Aug 29 2007 Brandon Holbrook 2.4.1.2-2 +- Pull in a new config.guess to properly detect ppc64 archs + * Wed Aug 29 2007 Brandon Holbrook 2.4.1.2-2 - Upgrade to 2.4.1.2 From d7ab993125606a444d229c654759fd6ebcd82e75 Mon Sep 17 00:00:00 2001 From: Brandon Holbrook Date: Fri, 7 Dec 2007 05:05:47 +0000 Subject: [PATCH 18/81] Trivial typo fix in changelog --- tripwire.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index 3c8c51a..a49dc96 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -146,7 +146,7 @@ done %changelog -* Wed Aug 29 2007 Brandon Holbrook 2.4.1.2-2 +* Wed Aug 29 2007 Brandon Holbrook 2.4.1.2-3 - Pull in a new config.guess to properly detect ppc64 archs * Wed Aug 29 2007 Brandon Holbrook 2.4.1.2-2 From 38af89a2a87e47121c1fab3dab8ac3e0d5942bc1 Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Fri, 7 Dec 2007 21:41:33 +0000 Subject: [PATCH 19/81] - Rebuild for deps --- tripwire.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index a49dc96..c5c71e7 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,7 +3,7 @@ Name: tripwire Version: 2.4.1.2 -Release: 3%{?dist} +Release: 4%{?dist} Summary: IDS (Intrusion Detection System) License: GPL @@ -146,6 +146,9 @@ done %changelog +* Fri Dec 07 2007 Release Engineering - 2.4.1.2-4 +- Rebuild for deps + * Wed Aug 29 2007 Brandon Holbrook 2.4.1.2-3 - Pull in a new config.guess to properly detect ppc64 archs From b520fc0342cffb0555d20fd519ad3cdbecdb9223 Mon Sep 17 00:00:00 2001 From: Brandon Holbrook Date: Tue, 12 Feb 2008 05:56:44 +0000 Subject: [PATCH 20/81] Rebuild for gcc-4.3 --- tripwire.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index c5c71e7..496194a 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,7 +3,7 @@ Name: tripwire Version: 2.4.1.2 -Release: 4%{?dist} +Release: 5%{?dist} Summary: IDS (Intrusion Detection System) License: GPL @@ -146,6 +146,9 @@ done %changelog +* Mon Feb 11 2008 Brandon Holbrook 2.4.1.2-5 +- Rebuild for gcc-4.3 + * Fri Dec 07 2007 Release Engineering - 2.4.1.2-4 - Rebuild for deps From 1b359dfc6c9b041326b2c86f9375de337e3d5cf2 Mon Sep 17 00:00:00 2001 From: Tom Callaway Date: Mon, 8 Sep 2008 21:49:08 +0000 Subject: [PATCH 21/81] fix license tag --- tripwire.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tripwire.spec b/tripwire.spec index 496194a..483e2ab 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,10 +3,10 @@ Name: tripwire Version: 2.4.1.2 -Release: 5%{?dist} +Release: 6%{?dist} Summary: IDS (Intrusion Detection System) -License: GPL +License: GPLv2+ Group: Applications/System Source0: http://download.sourceforge.net/tripwire/%{name}-%{version}-src.tar.bz2 Source1: tripwire.cron.in @@ -146,6 +146,9 @@ done %changelog +* Mon Sep 8 2008 Tom "spot" Callaway - 2.4.1.2-6 +- fix license tag + * Mon Feb 11 2008 Brandon Holbrook 2.4.1.2-5 - Rebuild for gcc-4.3 From 84a57380c793c972d237e41cb7bb942a8a56dc83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Mr=C3=A1z?= Date: Sun, 18 Jan 2009 14:17:39 +0000 Subject: [PATCH 22/81] - rebuild with new openssl --- tripwire.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index 483e2ab..6dba6c8 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,7 +3,7 @@ Name: tripwire Version: 2.4.1.2 -Release: 6%{?dist} +Release: 7%{?dist} Summary: IDS (Intrusion Detection System) License: GPLv2+ @@ -146,6 +146,9 @@ done %changelog +* Sun Jan 18 2009 Tomas Mraz - 2.4.1.2-7 +- rebuild with new openssl + * Mon Sep 8 2008 Tom "spot" Callaway - 2.4.1.2-6 - fix license tag From 5dc8065d7b61caf3dad4b6a9a7d4de6727932e5b Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Wed, 25 Feb 2009 21:54:42 +0000 Subject: [PATCH 23/81] - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild --- tripwire.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index 6dba6c8..ebafa73 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,7 +3,7 @@ Name: tripwire Version: 2.4.1.2 -Release: 7%{?dist} +Release: 8%{?dist} Summary: IDS (Intrusion Detection System) License: GPLv2+ @@ -146,6 +146,9 @@ done %changelog +* Wed Feb 25 2009 Fedora Release Engineering - 2.4.1.2-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + * Sun Jan 18 2009 Tomas Mraz - 2.4.1.2-7 - rebuild with new openssl From c12004ad4537eef73a82afc166e4778b1fe875a6 Mon Sep 17 00:00:00 2001 From: "Steven M. Parrish" Date: Tue, 7 Apr 2009 18:56:05 +0000 Subject: [PATCH 24/81] Added support for /usr/lib64 & /usr/local/lib64 --- tripwire.spec | 5 ++++- twpol.txt.in | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index ebafa73..1d236fe 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,7 +3,7 @@ Name: tripwire Version: 2.4.1.2 -Release: 8%{?dist} +Release: 9%{?dist} Summary: IDS (Intrusion Detection System) License: GPLv2+ @@ -146,6 +146,9 @@ done %changelog +* Tue Apr 7 2009 Steven M. Parrish - 2.4.1.2-9 +- Added support for /usr/lib64 & /usr/local/lib64 + * Wed Feb 25 2009 Fedora Release Engineering - 2.4.1.2-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild diff --git a/twpol.txt.in b/twpol.txt.in index c7bcf60..9d8e151 100644 --- a/twpol.txt.in +++ b/twpol.txt.in @@ -725,6 +725,8 @@ SIG_HI = 100 ; # Critical files that are significant point { /usr/lib -> $(SEC_BIN) ; /usr/local/lib -> $(SEC_BIN) ; + /usr/lib64 -> $(SEC_BIN) ; + /usr/local/lib64 -> $(SEC_BIN) ; } From 213a79be48f555d9f53f79dccd49797f281a84ab Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Mon, 27 Jul 2009 06:17:26 +0000 Subject: [PATCH 25/81] - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild --- tripwire.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index 1d236fe..ca8dc72 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,7 +3,7 @@ Name: tripwire Version: 2.4.1.2 -Release: 9%{?dist} +Release: 10%{?dist} Summary: IDS (Intrusion Detection System) License: GPLv2+ @@ -146,6 +146,9 @@ done %changelog +* Sun Jul 26 2009 Fedora Release Engineering - 2.4.1.2-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + * Tue Apr 7 2009 Steven M. Parrish - 2.4.1.2-9 - Added support for /usr/lib64 & /usr/local/lib64 From 9bf793483484a965d0d6d23bcf6d031f423873b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Mr=C3=A1z?= Date: Fri, 21 Aug 2009 16:16:04 +0000 Subject: [PATCH 26/81] - rebuilt with new openssl --- tripwire.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index ca8dc72..4314d41 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,7 +3,7 @@ Name: tripwire Version: 2.4.1.2 -Release: 10%{?dist} +Release: 11%{?dist} Summary: IDS (Intrusion Detection System) License: GPLv2+ @@ -146,6 +146,9 @@ done %changelog +* Fri Aug 21 2009 Tomas Mraz - 2.4.1.2-11 +- rebuilt with new openssl + * Sun Jul 26 2009 Fedora Release Engineering - 2.4.1.2-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild From ed79d7bea0996e4c77a4edc0c2712d6d3d9830db Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Wed, 25 Nov 2009 22:52:26 +0000 Subject: [PATCH 27/81] Fix typo that causes a failure to update the common directory. (releng #2781) --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 98ff4d1..5ef11ec 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ NAME := tripwire SPECFILE = $(firstword $(wildcard *.spec)) define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done +for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done endef MAKEFILE_COMMON := $(shell $(find-makefile-common)) From 520fb161cb284e67cf5804004a3f58efe6465538 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 29 Jul 2010 14:30:12 +0000 Subject: [PATCH 28/81] dist-git conversion --- .cvsignore => .gitignore | 0 Makefile | 21 --------------------- 2 files changed, 21 deletions(-) rename .cvsignore => .gitignore (100%) delete mode 100644 Makefile diff --git a/.cvsignore b/.gitignore similarity index 100% rename from .cvsignore rename to .gitignore diff --git a/Makefile b/Makefile deleted file mode 100644 index 5ef11ec..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: tripwire -# $Id$ -NAME := tripwire -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) From c8053983cd503e5e771301f9b8e02225bca76983 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Wed, 9 Feb 2011 14:58:48 -0600 Subject: [PATCH 29/81] - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild --- tripwire.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index 4314d41..3108725 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,7 +3,7 @@ Name: tripwire Version: 2.4.1.2 -Release: 11%{?dist} +Release: 12%{?dist} Summary: IDS (Intrusion Detection System) License: GPLv2+ @@ -146,6 +146,9 @@ done %changelog +* Wed Feb 09 2011 Fedora Release Engineering - 2.4.1.2-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + * Fri Aug 21 2009 Tomas Mraz - 2.4.1.2-11 - rebuilt with new openssl From 08a0e1b451839e95e3bdb702b502f8ffa03800fc Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Sat, 14 Jan 2012 01:06:44 -0600 Subject: [PATCH 30/81] - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild --- tripwire.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index 3108725..cf1e893 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,7 +3,7 @@ Name: tripwire Version: 2.4.1.2 -Release: 12%{?dist} +Release: 13%{?dist} Summary: IDS (Intrusion Detection System) License: GPLv2+ @@ -146,6 +146,9 @@ done %changelog +* Sat Jan 14 2012 Fedora Release Engineering - 2.4.1.2-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + * Wed Feb 09 2011 Fedora Release Engineering - 2.4.1.2-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild From d25461ffdb198930f3712312ff2e02b2bdb9926f Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Tue, 28 Feb 2012 14:24:41 -0600 Subject: [PATCH 31/81] - Rebuilt for c++ ABI breakage --- tripwire.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index cf1e893..22d49b9 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,7 +3,7 @@ Name: tripwire Version: 2.4.1.2 -Release: 13%{?dist} +Release: 14%{?dist} Summary: IDS (Intrusion Detection System) License: GPLv2+ @@ -146,6 +146,9 @@ done %changelog +* Tue Feb 28 2012 Fedora Release Engineering - 2.4.1.2-14 +- Rebuilt for c++ ABI breakage + * Sat Jan 14 2012 Fedora Release Engineering - 2.4.1.2-13 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild From 9122326da1c6757abe7835c92eff953e7ff87257 Mon Sep 17 00:00:00 2001 From: Tom Callaway Date: Mon, 5 Mar 2012 15:31:59 -0500 Subject: [PATCH 32/81] 2.4.2.2, fix ftbfs --- .gitignore | 1 + sources | 2 +- tripwire-2.4.2.2-gcc47.patch | 24 ++++++++++++++++++++++++ tripwire.spec | 26 ++++++++++++++++++-------- 4 files changed, 44 insertions(+), 9 deletions(-) create mode 100644 tripwire-2.4.2.2-gcc47.patch diff --git a/.gitignore b/.gitignore index 3b8502d..eaae35c 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ tripwire-2.4.1.2-src.tar.bz2 +/tripwire-2.4.2.2-src.tar.bz2 diff --git a/sources b/sources index ba5d079..701ab99 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -8a1147c278b528ed593023912c4b649a tripwire-2.4.1.2-src.tar.bz2 +2462ea16fb0b5ae810471011ad2f2dd6 tripwire-2.4.2.2-src.tar.bz2 diff --git a/tripwire-2.4.2.2-gcc47.patch b/tripwire-2.4.2.2-gcc47.patch new file mode 100644 index 0000000..6b25def --- /dev/null +++ b/tripwire-2.4.2.2-gcc47.patch @@ -0,0 +1,24 @@ +diff -up tripwire-2.4.2.2-src/src/cryptlib/algebra.h.gcc47 tripwire-2.4.2.2-src/src/cryptlib/algebra.h +--- tripwire-2.4.2.2-src/src/cryptlib/algebra.h.gcc47 2011-11-21 11:06:56.000000000 -0500 ++++ tripwire-2.4.2.2-src/src/cryptlib/algebra.h 2012-03-05 15:17:32.733038609 -0500 +@@ -273,7 +273,7 @@ template T AbstractEuclideanDo + Element g[3]={b, a}; + unsigned int i0=0, i1=1, i2=2; + +- while (!Equal(g[i1], this->Zero())) ++ while (!this->Equal(g[i1], this->Zero())) + { + g[i2] = Mod(g[i0], g[i1]); + unsigned int t = i0; i0 = i1; i1 = i2; i2 = t; +diff -up tripwire-2.4.2.2-src/src/twadmin/twadmincl.cpp.gcc47 tripwire-2.4.2.2-src/src/twadmin/twadmincl.cpp +--- tripwire-2.4.2.2-src/src/twadmin/twadmincl.cpp.gcc47 2012-03-05 15:21:21.811528228 -0500 ++++ tripwire-2.4.2.2-src/src/twadmin/twadmincl.cpp 2012-03-05 15:21:29.140447912 -0500 +@@ -35,6 +35,8 @@ + + #include "stdtwadmin.h" + ++#include ++ + #include "twadmincl.h" + #include "twadminstrings.h" + #include "keygeneration.h" diff --git a/tripwire.spec b/tripwire.spec index 22d49b9..d8d97e9 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -2,8 +2,8 @@ %define path_to_sendmail /usr/sbin/sendmail Name: tripwire -Version: 2.4.1.2 -Release: 14%{?dist} +Version: 2.4.2.2 +Release: 1%{?dist} Summary: IDS (Intrusion Detection System) License: GPLv2+ @@ -24,6 +24,7 @@ BuildRequires: openssl-devel Requires(post): sed Patch1: tripwire-siggen-man8.patch +Patch2: tripwire-2.4.2.2-gcc47.patch %description Tripwire is a very valuable security tool for Linux systems, if it is @@ -49,19 +50,25 @@ altered. %{__cp} -p %{SOURCE3} . %patch1 -p1 -b .siggen.manpage +%patch2 -p1 -b .gcc47 %build %{__chmod} 755 configure # RPM_OPT_FLAGS break the code (deadlock). -export CXXFLAGS="-O -Wall -pipe -g" -./configure -q \ +# export CXXFLAGS="-O -Wall -pipe -g" +%configure \ path_to_vi=%{path_to_vi} \ path_to_sendmail=%{path_to_sendmail} \ - --prefix=/ \ --sysconfdir=%{_sysconfdir}/tripwire \ - --sbindir=%{_sbindir} \ - --libdir=%{_var}/lib \ - --mandir=%{_mandir} + +# ./configure -q \ +# path_to_vi=%{path_to_vi} \ +# path_to_sendmail=%{path_to_sendmail} \ +# --prefix=/ \ +# --sysconfdir=%{_sysconfdir}/tripwire \ +# --sbindir=%{_sbindir} \ +# --libdir=%{_var}/lib \ +# --mandir=%{_mandir} %{__make} %{?_smp_mflags} @@ -146,6 +153,9 @@ done %changelog +* Mon Mar 5 2012 Tom Callaway - 2.4.2.2-1 +- update to 2.4.2.2 + * Tue Feb 28 2012 Fedora Release Engineering - 2.4.1.2-14 - Rebuilt for c++ ABI breakage From 4bab2f6afd0b155e2624d5a49237e2aff833a8c8 Mon Sep 17 00:00:00 2001 From: Tom Callaway Date: Mon, 5 Mar 2012 17:06:03 -0500 Subject: [PATCH 33/81] cleanups --- config.guess | 547 ++++++++++++++++++++++++++------------------------ tripwire.spec | 5 +- 2 files changed, 282 insertions(+), 270 deletions(-) diff --git a/config.guess b/config.guess index 278f9e9..76081ea 100644 --- a/config.guess +++ b/config.guess @@ -1,10 +1,10 @@ #! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, -# Inc. +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, +# 2011, 2012 Free Software Foundation, Inc. -timestamp='2007-07-22' +timestamp='2012-02-10' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -17,9 +17,7 @@ timestamp='2007-07-22' # General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. +# along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -27,16 +25,16 @@ timestamp='2007-07-22' # the same distribution terms that you use for the rest of that program. -# Originally written by Per Bothner . -# Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. +# Originally written by Per Bothner. Please send patches (context +# diff format) to and include a ChangeLog +# entry. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and # exits with 0. Otherwise, it exits with 1. # -# The plan is that this can be called by configure scripts if you -# don't specify an explicit build system type. +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD me=`echo "$0" | sed -e 's,.*/,,'` @@ -56,7 +54,8 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO @@ -144,7 +143,7 @@ UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, + # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward @@ -170,7 +169,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep __ELF__ >/dev/null + | grep -q __ELF__ then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? @@ -180,7 +179,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in fi ;; *) - os=netbsd + os=netbsd ;; esac # The OS release @@ -223,7 +222,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on @@ -269,7 +268,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - exit ;; + # Reset EXIT trap before exiting to avoid spurious non-zero exit code. + exitcode=$? + trap '' 0 + exit $exitcode ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead @@ -295,7 +297,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in echo s390-ibm-zvmoe exit ;; *:OS400:*:*) - echo powerpc-ibm-os400 + echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} @@ -324,14 +326,33 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; + s390x:SunOS:*:*) + echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; + i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) + echo i386-pc-auroraux${UNAME_RELEASE} + exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + eval $set_cc_for_build + SUN_ARCH="i386" + # If there is a compiler, see if it is configured for 64-bit objects. + # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. + # This test works for both compilers. + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + SUN_ARCH="x86_64" + fi + fi + echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize @@ -375,23 +396,23 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} + echo m68k-atari-mint${UNAME_RELEASE} exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} - exit ;; + exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} + echo m68k-atari-mint${UNAME_RELEASE} exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} - exit ;; + echo m68k-milan-mint${UNAME_RELEASE} + exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} - exit ;; + echo m68k-hades-mint${UNAME_RELEASE} + exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} - exit ;; + echo m68k-unknown-mint${UNAME_RELEASE} + exit ;; m68k:machten:*:*) echo m68k-apple-machten${UNAME_RELEASE} exit ;; @@ -461,8 +482,8 @@ EOF echo m88k-motorola-sysv3 exit ;; AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ @@ -475,7 +496,7 @@ EOF else echo i586-dg-dgux${UNAME_RELEASE} fi - exit ;; + exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; @@ -532,7 +553,7 @@ EOF echo rs6000-ibm-aix3.2 fi exit ;; - *:AIX:*:[45]) + *:AIX:*:[4567]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 @@ -575,52 +596,52 @@ EOF 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` - sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "${sc_cpu_version}" in - 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 - 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 - 532) # CPU_PA_RISC2_0 - case "${sc_kernel_bits}" in - 32) HP_ARCH="hppa2.0n" ;; - 64) HP_ARCH="hppa2.0w" ;; + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in + 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 + 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "${sc_kernel_bits}" in + 32) HP_ARCH="hppa2.0n" ;; + 64) HP_ARCH="hppa2.0w" ;; '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 - esac ;; - esac + esac ;; + esac fi if [ "${HP_ARCH}" = "" ]; then eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + sed 's/^ //' << EOF >$dummy.c - #define _HPUX_SOURCE - #include - #include + #define _HPUX_SOURCE + #include + #include - int main () - { - #if defined(_SC_KERNEL_BITS) - long bits = sysconf(_SC_KERNEL_BITS); - #endif - long cpu = sysconf (_SC_CPU_VERSION); + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1"); break; - case CPU_PA_RISC2_0: - #if defined(_SC_KERNEL_BITS) - switch (bits) - { - case 64: puts ("hppa2.0w"); break; - case 32: puts ("hppa2.0n"); break; - default: puts ("hppa2.0"); break; - } break; - #else /* !defined(_SC_KERNEL_BITS) */ - puts ("hppa2.0"); break; - #endif - default: puts ("hppa1.0"); break; - } - exit (0); - } + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } EOF (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa @@ -640,7 +661,7 @@ EOF # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | - grep __LP64__ >/dev/null + grep -q __LP64__ then HP_ARCH="hppa2.0w" else @@ -711,22 +732,22 @@ EOF exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd - exit ;; + exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi - exit ;; + exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd - exit ;; + exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd - exit ;; + exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd - exit ;; + exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; @@ -750,14 +771,14 @@ EOF exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` - echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` - echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} @@ -769,13 +790,12 @@ EOF echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) - case ${UNAME_MACHINE} in - pc98) - echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + UNAME_PROCESSOR=`/usr/bin/uname -p` + case ${UNAME_PROCESSOR} in amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) @@ -784,25 +804,34 @@ EOF *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; + i*:MSYS*:*) + echo ${UNAME_MACHINE}-pc-msys + exit ;; i*:windows32*:*) - # uname -m includes "-pc" on this system. - echo ${UNAME_MACHINE}-mingw32 + # uname -m includes "-pc" on this system. + echo ${UNAME_MACHINE}-mingw32 exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; - *:Interix*:[3456]*) - case ${UNAME_MACHINE} in + *:Interix*:*) + case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; - EM64T | authenticamd) + authenticamd | genuineintel | EM64T) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; + IA64) + echo ia64-unknown-interix${UNAME_RELEASE} + exit ;; esac ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; + 8664:Windows_NT:*) + echo x86_64-pc-mks + exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we @@ -832,85 +861,13 @@ EOF i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; - arm*:Linux:*:*) + aarch64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; - avr32*:Linux:*:*) + aarch64_be:Linux:*:*) + UNAME_MACHINE=aarch64_be echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; - cris:Linux:*:*) - echo cris-axis-linux-gnu - exit ;; - crisv32:Linux:*:*) - echo crisv32-axis-linux-gnu - exit ;; - frv:Linux:*:*) - echo frv-unknown-linux-gnu - exit ;; - ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - mips:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef mips - #undef mipsel - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mipsel - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips - #else - CPU= - #endif - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^CPU/{ - s: ::g - p - }'`" - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } - ;; - mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef mips64 - #undef mips64el - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mips64el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips64 - #else - CPU= - #endif - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^CPU/{ - s: ::g - p - }'`" - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } - ;; - or32:Linux:*:*) - echo or32-unknown-linux-gnu - exit ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-gnu - exit ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-gnu - exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; @@ -920,11 +877,90 @@ EOF EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null + esac + objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} exit ;; + arm*:Linux:*:*) + eval $set_cc_for_build + if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_EABI__ + then + echo ${UNAME_MACHINE}-unknown-linux-gnu + else + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + echo ${UNAME_MACHINE}-unknown-linux-gnueabi + else + echo ${UNAME_MACHINE}-unknown-linux-gnueabihf + fi + fi + exit ;; + avr32*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + cris:Linux:*:*) + echo ${UNAME_MACHINE}-axis-linux-gnu + exit ;; + crisv32:Linux:*:*) + echo ${UNAME_MACHINE}-axis-linux-gnu + exit ;; + frv:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + hexagon:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + i*86:Linux:*:*) + LIBC=gnu + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #ifdef __dietlibc__ + LIBC=dietlibc + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` + echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit ;; + ia64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m32r*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m68*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + mips:Linux:*:* | mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef ${UNAME_MACHINE} + #undef ${UNAME_MACHINE}el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=${UNAME_MACHINE}el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=${UNAME_MACHINE} + #else + CPU= + #endif + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + or32:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + padre:Linux:*:*) + echo sparc-unknown-linux-gnu + exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu + exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in @@ -933,14 +969,17 @@ EOF *) echo hppa-unknown-linux-gnu ;; esac exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-gnu + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux exit ;; sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu @@ -948,78 +987,18 @@ EOF sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; + tile*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-gnu exit ;; x86_64:Linux:*:*) - echo x86_64-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; - xtensa:Linux:*:*) - echo xtensa-unknown-linux-gnu + xtensa*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; - i*86:Linux:*:*) - # The BFD linker knows what the default object file format is, so - # first see if it will tell us. cd to the root directory to prevent - # problems with other programs or directories called `ld' in the path. - # Set LC_ALL=C to ensure ld outputs messages in English. - ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ - | sed -ne '/supported targets:/!d - s/[ ][ ]*/ /g - s/.*supported targets: *// - s/ .*// - p'` - case "$ld_supported_targets" in - elf32-i386) - TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" - ;; - a.out-i386-linux) - echo "${UNAME_MACHINE}-pc-linux-gnuaout" - exit ;; - coff-i386) - echo "${UNAME_MACHINE}-pc-linux-gnucoff" - exit ;; - "") - # Either a pre-BFD a.out linker (linux-gnuoldld) or - # one that does not give us useful --help. - echo "${UNAME_MACHINE}-pc-linux-gnuoldld" - exit ;; - esac - # Determine whether the default compiler is a.out or elf - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - #ifdef __ELF__ - # ifdef __GLIBC__ - # if __GLIBC__ >= 2 - LIBC=gnu - # else - LIBC=gnulibc1 - # endif - # else - LIBC=gnulibc1 - # endif - #else - #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) - LIBC=gnu - #else - LIBC=gnuaout - #endif - #endif - #ifdef __dietlibc__ - LIBC=dietlibc - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^LIBC/{ - s: ::g - p - }'`" - test x"${LIBC}" != x && { - echo "${UNAME_MACHINE}-pc-linux-${LIBC}" - exit - } - test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } - ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both @@ -1027,11 +1006,11 @@ EOF echo i386-sequent-sysv4 exit ;; i*86:UNIX_SV:4.2MP:2.*) - # Unixware is an offshoot of SVR4, but it has its own version - # number series starting with 2... - # I am not positive that other SVR4 systems won't match this, + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. - # Use sysv4.2uw... so that sysv4* matches it. + # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit ;; i*86:OS/2:*:*) @@ -1048,7 +1027,7 @@ EOF i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) @@ -1063,7 +1042,7 @@ EOF fi exit ;; i*86:*:5:[678]*) - # UnixWare 7.x, OpenUNIX and OpenServer 6. + # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; @@ -1091,10 +1070,13 @@ EOF exit ;; pc:*:*:*) # Left here for compatibility: - # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i386. - echo i386-pc-msdosdjgpp - exit ;; + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i586. + # Note: whatever this is, it MUST be the same as what config.sub + # prints for the "djgpp" host, or else GDB configury will decide that + # this is a cross-build. + echo i586-pc-msdosdjgpp + exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit ;; @@ -1129,8 +1111,18 @@ EOF /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4; exit; } ;; + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; + NCR*:*:4.2:* | MPRAS*:*:4.2:*) + OS_REL='.3' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit ;; @@ -1143,7 +1135,7 @@ EOF rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) @@ -1163,10 +1155,10 @@ EOF echo ns32k-sni-sysv fi exit ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says - echo i586-unisys-sysv4 - exit ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm @@ -1192,11 +1184,11 @@ EOF exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then - echo mips-nec-sysv${UNAME_RELEASE} + echo mips-nec-sysv${UNAME_RELEASE} else - echo mips-unknown-sysv${UNAME_RELEASE} + echo mips-unknown-sysv${UNAME_RELEASE} fi - exit ;; + exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit ;; @@ -1206,6 +1198,9 @@ EOF BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; + BePC:Haiku:*:*) # Haiku running on Intel PC compatible. + echo i586-pc-haiku + exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; @@ -1233,6 +1228,16 @@ EOF *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown case $UNAME_PROCESSOR in + i386) + eval $set_cc_for_build + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + UNAME_PROCESSOR="x86_64" + fi + fi ;; unknown) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} @@ -1248,6 +1253,9 @@ EOF *:QNX:*:4*) echo i386-pc-qnx exit ;; + NEO-?:NONSTOP_KERNEL:*:*) + echo neo-tandem-nsk${UNAME_RELEASE} + exit ;; NSE-?:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; @@ -1293,13 +1301,13 @@ EOF echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) - echo mips-sei-seiux${UNAME_RELEASE} + echo mips-sei-seiux${UNAME_RELEASE} exit ;; *:DragonFly:*:*) echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; *:*VMS:*:*) - UNAME_MACHINE=`(uname -p) 2>/dev/null` + UNAME_MACHINE=`(uname -p) 2>/dev/null` case "${UNAME_MACHINE}" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; @@ -1314,6 +1322,12 @@ EOF i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos exit ;; + i*86:AROS:*:*) + echo ${UNAME_MACHINE}-pc-aros + exit ;; + x86_64:VMkernel:*:*) + echo ${UNAME_MACHINE}-unknown-esx + exit ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 @@ -1336,11 +1350,11 @@ main () #include printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 - "4" + "4" #else - "" + "" #endif - ); exit (0); + ); exit (0); #endif #endif @@ -1474,9 +1488,9 @@ This script, last modified $timestamp, has failed to recognize the operating system you are using. It is advised that you download the most up to date version of the config scripts from - http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess + http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD and - http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub + http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD If the version you run ($0) is already up to date, please send the following data and any information you think might be @@ -1514,3 +1528,4 @@ exit 1 # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: + diff --git a/tripwire.spec b/tripwire.spec index d8d97e9..fd9bd55 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -56,10 +56,7 @@ altered. %{__chmod} 755 configure # RPM_OPT_FLAGS break the code (deadlock). # export CXXFLAGS="-O -Wall -pipe -g" -%configure \ - path_to_vi=%{path_to_vi} \ - path_to_sendmail=%{path_to_sendmail} \ - --sysconfdir=%{_sysconfdir}/tripwire \ +%configure --sysconfdir=%{_sysconfdir}/tripwire path_to_vi=%{path_to_vi} path_to_sendmail=%{path_to_sendmail} # ./configure -q \ # path_to_vi=%{path_to_vi} \ From 74ca0350f9680daf9b89ca8410e6fd99a4a65536 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Sat, 21 Jul 2012 19:23:05 -0500 Subject: [PATCH 34/81] - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild --- tripwire.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index fd9bd55..de604e4 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,7 +3,7 @@ Name: tripwire Version: 2.4.2.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: IDS (Intrusion Detection System) License: GPLv2+ @@ -150,6 +150,9 @@ done %changelog +* Sun Jul 22 2012 Fedora Release Engineering - 2.4.2.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + * Mon Mar 5 2012 Tom Callaway - 2.4.2.2-1 - update to 2.4.2.2 From 28f4c75b3cf14d5d5f65dfe6bbdcb99ed3189b89 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Thu, 14 Feb 2013 20:01:52 -0600 Subject: [PATCH 35/81] - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild --- tripwire.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index de604e4..e3f3e42 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,7 +3,7 @@ Name: tripwire Version: 2.4.2.2 -Release: 2%{?dist} +Release: 3%{?dist} Summary: IDS (Intrusion Detection System) License: GPLv2+ @@ -150,6 +150,9 @@ done %changelog +* Fri Feb 15 2013 Fedora Release Engineering - 2.4.2.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + * Sun Jul 22 2012 Fedora Release Engineering - 2.4.2.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild From e2392d96e4b585eed14059f914df2ec505f97942 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Sat, 3 Aug 2013 23:46:42 -0500 Subject: [PATCH 36/81] - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild --- tripwire.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index e3f3e42..6e8da2c 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,7 +3,7 @@ Name: tripwire Version: 2.4.2.2 -Release: 3%{?dist} +Release: 4%{?dist} Summary: IDS (Intrusion Detection System) License: GPLv2+ @@ -150,6 +150,9 @@ done %changelog +* Sun Aug 04 2013 Fedora Release Engineering - 2.4.2.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + * Fri Feb 15 2013 Fedora Release Engineering - 2.4.2.2-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild From 3dbae475bb19c94354e5134a8aa48f54492d953c Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Sun, 8 Jun 2014 04:01:01 -0500 Subject: [PATCH 37/81] - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild --- tripwire.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index 6e8da2c..2d635b3 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,7 +3,7 @@ Name: tripwire Version: 2.4.2.2 -Release: 4%{?dist} +Release: 5%{?dist} Summary: IDS (Intrusion Detection System) License: GPLv2+ @@ -150,6 +150,9 @@ done %changelog +* Sun Jun 08 2014 Fedora Release Engineering - 2.4.2.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + * Sun Aug 04 2013 Fedora Release Engineering - 2.4.2.2-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild From 6cae777109df55a6c10db5ee0923a54df4f330cb Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Mon, 18 Aug 2014 06:22:33 +0000 Subject: [PATCH 38/81] - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild --- tripwire.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index 2d635b3..0eb60dc 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,7 +3,7 @@ Name: tripwire Version: 2.4.2.2 -Release: 5%{?dist} +Release: 6%{?dist} Summary: IDS (Intrusion Detection System) License: GPLv2+ @@ -150,6 +150,9 @@ done %changelog +* Mon Aug 18 2014 Fedora Release Engineering - 2.4.2.2-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + * Sun Jun 08 2014 Fedora Release Engineering - 2.4.2.2-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild From 107f956898d439b7d602438369d09fffe96547bf Mon Sep 17 00:00:00 2001 From: Moez Roy Date: Thu, 16 Oct 2014 09:08:16 -0700 Subject: [PATCH 39/81] F21 build patch as suggested by Michael Schwendt on devel mailing list --- tripwire-F21-build.patch | 12 ++++++++++++ tripwire.spec | 8 +++++++- 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 tripwire-F21-build.patch diff --git a/tripwire-F21-build.patch b/tripwire-F21-build.patch new file mode 100644 index 0000000..144ead4 --- /dev/null +++ b/tripwire-F21-build.patch @@ -0,0 +1,12 @@ +diff -up tripwire-2.4.2.2-src/src/core/archive.cpp.orig tripwire-2.4.2.2-src/src/core/archive.cpp +--- tripwire-2.4.2.2-src/src/core/archive.cpp.orig 2011-11-21 08:06:56.000000000 -0800 ++++ tripwire-2.4.2.2-src/src/core/archive.cpp 2014-10-16 07:39:44.249052618 -0700 +@@ -883,7 +883,7 @@ void cLockedTemporaryFileArchive::OpenRe + strTempFile += _T("twtempXXXXXX"); + iFSServices::GetInstance()->MakeTempFilename( strTempFile ); + } +- catch( eFSServices& e) ++ catch( eFSServices& es) + { + TSTRING errStr = TSS_GetString( cCore, core::STR_BAD_TEMPDIRECTORY ); + eArchiveOpen e(strTempFile, errStr); diff --git a/tripwire.spec b/tripwire.spec index 0eb60dc..8a50a26 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,7 +3,7 @@ Name: tripwire Version: 2.4.2.2 -Release: 6%{?dist} +Release: 7%{?dist} Summary: IDS (Intrusion Detection System) License: GPLv2+ @@ -25,6 +25,7 @@ Requires(post): sed Patch1: tripwire-siggen-man8.patch Patch2: tripwire-2.4.2.2-gcc47.patch +Patch3: tripwire-F21-build.patch %description Tripwire is a very valuable security tool for Linux systems, if it is @@ -51,6 +52,7 @@ altered. %patch1 -p1 -b .siggen.manpage %patch2 -p1 -b .gcc47 +%patch3 -p1 -b .build.patch %build %{__chmod} 755 configure @@ -150,6 +152,10 @@ done %changelog +* Tue Sep 16 2014 Moez Roy - 2.4.2.2-7 +- F21 build patch as suggested by Michael Schwendt on devel mailing list + + * Mon Aug 18 2014 Fedora Release Engineering - 2.4.2.2-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild From 7bb751d0ea9fece7f06f4803b703d75248308701 Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Sat, 2 May 2015 18:16:05 +0200 Subject: [PATCH 40/81] Rebuilt for GCC 5 C++11 ABI change --- tripwire.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index 8a50a26..c367030 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,7 +3,7 @@ Name: tripwire Version: 2.4.2.2 -Release: 7%{?dist} +Release: 8%{?dist} Summary: IDS (Intrusion Detection System) License: GPLv2+ @@ -152,6 +152,9 @@ done %changelog +* Sat May 02 2015 Kalev Lember - 2.4.2.2-8 +- Rebuilt for GCC 5 C++11 ABI change + * Tue Sep 16 2014 Moez Roy - 2.4.2.2-7 - F21 build patch as suggested by Michael Schwendt on devel mailing list From 33fda38f7c3c9f97bc4ffcd736f7c695fa6edac5 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Fri, 19 Jun 2015 03:21:19 +0000 Subject: [PATCH 41/81] - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild --- tripwire.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index c367030..2eb27e7 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,7 +3,7 @@ Name: tripwire Version: 2.4.2.2 -Release: 8%{?dist} +Release: 9%{?dist} Summary: IDS (Intrusion Detection System) License: GPLv2+ @@ -152,6 +152,9 @@ done %changelog +* Fri Jun 19 2015 Fedora Release Engineering - 2.4.2.2-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + * Sat May 02 2015 Kalev Lember - 2.4.2.2-8 - Rebuilt for GCC 5 C++11 ABI change From 81768945f01a631d48f2e9b3bcef300c63946488 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 5 Feb 2016 01:58:24 +0000 Subject: [PATCH 42/81] - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild --- tripwire.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index 2eb27e7..0a8ddcf 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,7 +3,7 @@ Name: tripwire Version: 2.4.2.2 -Release: 9%{?dist} +Release: 10%{?dist} Summary: IDS (Intrusion Detection System) License: GPLv2+ @@ -152,6 +152,9 @@ done %changelog +* Fri Feb 05 2016 Fedora Release Engineering - 2.4.2.2-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + * Fri Jun 19 2015 Fedora Release Engineering - 2.4.2.2-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild From 1523760617fb9ed15331d5975315299b150acdb1 Mon Sep 17 00:00:00 2001 From: Didier Fabert Date: Sat, 23 Apr 2016 12:18:59 +0200 Subject: [PATCH 43/81] Update from upstream. Add patch to avoid narrowing error on f24+ --- .gitignore | 1 + sources | 2 +- tripwire-narrowing.patch | 65 ++++++++++++++++++++++++++++++++++++++++ tripwire.spec | 19 ++++++------ 4 files changed, 77 insertions(+), 10 deletions(-) create mode 100644 tripwire-narrowing.patch diff --git a/.gitignore b/.gitignore index eaae35c..45c8a8f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ tripwire-2.4.1.2-src.tar.bz2 /tripwire-2.4.2.2-src.tar.bz2 +/2.4.3.0.tar.gz diff --git a/sources b/sources index 701ab99..4d1d7f9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -2462ea16fb0b5ae810471011ad2f2dd6 tripwire-2.4.2.2-src.tar.bz2 +c826349cf592ac9d582b0618f4dd57b0 2.4.3.0.tar.gz diff --git a/tripwire-narrowing.patch b/tripwire-narrowing.patch new file mode 100644 index 0000000..92800e7 --- /dev/null +++ b/tripwire-narrowing.patch @@ -0,0 +1,65 @@ +diff -rup a/tripwire-open-source-2.4.3.0/src/twparser/yyparse.cpp b/tripwire-open-source-2.4.3.0/src/twparser/yyparse.cpp +--- a/tripwire-open-source-2.4.3.0/src/twparser/yyparse.cpp 2016-04-12 20:18:49.000000000 +0200 ++++ b/tripwire-open-source-2.4.3.0/src/twparser/yyparse.cpp 2016-04-23 11:57:38.548102229 +0200 +@@ -176,25 +176,25 @@ yyNamedType yyTokenTypes[] = { + #endif + static short yydef[] = { + +- 65535, 65531, 9, 53, 65527, 3, 65523, 10, 7, 65519, +- 5, 4, 65515, 50, 65509, 8, 65505, -35 ++ (short) 65535, (short) 65531, 9, 53, (short) 65527, 3, (short) 65523, 10, 7, (short) 65519, ++ 5, 4, (short) 65515, 50, (short) 65509, 8, (short) 65505, -35 + }; + static short yyex[] = { + +- 0, 52, 65535, 1, 288, 18, 65535, 13, 0, 0, +- 65535, 1, 259, 49, 65535, 1, 262, 6, 65535, 1, +- 275, 52, 276, 52, 65535, 1, 276, 51, 65535, 1, +- 264, 52, 65535, 1, 276, 52, 65535, 1 ++ 0, 52, (short) 65535, 1, 288, 18, (short) 65535, 13, 0, 0, ++ (short) 65535, 1, 259, 49, (short) 65535, 1, 262, 6, (short) 65535, 1, ++ 275, 52, 276, 52, (short) 65535, 1, 276, 51, (short) 65535, 1, ++ 264, 52, (short) 65535, 1, 276, 52, (short) 65535, 1 + }; + static short yyact[] = { + +- 65499, 65534, 65455, 65490, 65491, 65497, 65498, 65495, 65496, 65489, ++ (short) 65499, (short) 65534, (short) 65455, (short) 65490, (short) 65491, (short) 65497, (short) 65498, (short) 65495, (short) 65496, (short) 65489, + 289, 278, 277, 274, 273, 268, 267, 262, 261, 258, +- 65487, 65503, 65490, 267, 266, 261, 65504, 258, 65487, 65490, +- 267, 261, 65505, 272, 65506, 288, 65507, 288, 65461, 262, +- 65460, 262, 65459, 262, 65482, 261, 65489, 289, 65511, 284, +- 65512, 288, 65522, 257, 65513, 259, 65479, 259, 65514, 258, +- 65462, 263, 65470, 275, 65474, 259, 65464, 276, 65463, 264, -1 ++ (short) 65487, (short) 65503, (short) 65490, 267, 266, 261, (short) 65504, 258, (short) 65487, (short) 65490, ++ 267, 261, (short) 65505, 272, (short) 65506, 288, (short) 65507, 288, (short) 65461, 262, ++ (short) 65460, 262, (short) 65459, 262, (short) 65482, 261, (short) 65489, 289, (short) 65511, 284, ++ (short) 65512, 288, (short) 65522, 257, (short) 65513, 259, (short) 65479, 259, (short) 65514, 258, ++ (short) 65462, 263, (short) 65470, 275, (short) 65474, 259, (short) 65464, 276, (short) 65463, 264, -1 + }; + static short yypact[] = { + +@@ -206,15 +206,15 @@ static short yypact[] = { + }; + static short yygo[] = { + +- 65471, 65476, 65477, 13, 65529, 65515, 65509, 21, 65473, 65472, +- 65492, 44, 65508, 65478, 65483, 65483, 65483, 65483, 65480, 65483, +- 65480, 65481, 65480, 65481, 65465, 65466, 65467, 65484, 40, 39, ++ (short) 65471, (short) 65476, (short) 65477, 13, (short) 65529, (short) 65515, (short) 65509, 21, (short) 65473, (short) 65472, ++ (short) 65492, 44, (short) 65508, (short) 65478, (short) 65483, (short) 65483, (short) 65483, (short) 65483, (short) 65480, (short) 65483, ++ (short) 65480, (short) 65481, (short) 65480, (short) 65481, (short) 65465, (short) 65466, (short) 65467, (short) 65484, 40, 39, + 38, 37, 36, 24, 21, 15, 13, 11, 8, 7, +- 2, 65520, 65524, 65527, 65528, 65533, 32, 30, 28, 23, +- 65525, 65488, 65510, 65494, 31, 65485, 65486, 65493, 29, 10, +- 65468, 65469, 24, 65530, 65526, 65531, 65521, 65517, 65452, 65458, +- 17, 16, 12, 65532, 65457, 65456, 3, 65502, 65501, 65500, +- 65454, 65453, 65519, 65523, 65516, 65518, 65475, -1 ++ 2, (short) 65520, (short) 65524, (short) 65527, (short) 65528, (short) 65533, 32, 30, 28, 23, ++ (short) 65525, (short) 65488, (short) 65510, (short) 65494, 31, (short) 65485, (short) 65486, (short) 65493, 29, 10, ++ (short) 65468, (short) 65469, 24, (short) 65530, (short) 65526, (short) 65531, (short) 65521, (short) 65517, (short) 65452, (short) 65458, ++ 17, 16, 12, (short) 65532, (short) 65457, (short) 65456, 3, (short) 65502, (short) 65501, (short) 65500, ++ (short) 65454, (short) 65453, (short) 65519, (short) 65523, (short) 65516, (short) 65518, (short) 65475, -1 + }; + static short yypgo[] = { + diff --git a/tripwire.spec b/tripwire.spec index 0a8ddcf..160563f 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -2,13 +2,13 @@ %define path_to_sendmail /usr/sbin/sendmail Name: tripwire -Version: 2.4.2.2 +Version: 2.4.3.0 Release: 10%{?dist} Summary: IDS (Intrusion Detection System) License: GPLv2+ Group: Applications/System -Source0: http://download.sourceforge.net/tripwire/%{name}-%{version}-src.tar.bz2 +Source0: https://github.com/Tripwire/%{name}-open-source/archive/%{version}.tar.gz Source1: tripwire.cron.in Source2: config.guess Source3: tripwire.gif @@ -23,9 +23,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: openssl-devel Requires(post): sed -Patch1: tripwire-siggen-man8.patch -Patch2: tripwire-2.4.2.2-gcc47.patch -Patch3: tripwire-F21-build.patch +Patch0: tripwire-narrowing.patch %description Tripwire is a very valuable security tool for Linux systems, if it is @@ -46,13 +44,11 @@ enact damage control measures immediately if certain files have been altered. %prep -%setup -q -n %{name}-%{version}-src +%setup -q -n %{name}-open-source-%{version} %{__cp} -p %{SOURCE2} . %{__cp} -p %{SOURCE3} . -%patch1 -p1 -b .siggen.manpage -%patch2 -p1 -b .gcc47 -%patch3 -p1 -b .build.patch +%patch0 -p2 -b .narrowing %build %{__chmod} 755 configure @@ -152,6 +148,11 @@ done %changelog +* Sat Apr 16 2016 Didier Fabert - 2.4.3.0 +- update to 2.4.3.0 +- switch upstream from sourceforge to github (official sources) +- Patch to avoid narrowing errors + * Fri Feb 05 2016 Fedora Release Engineering - 2.4.2.2-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild From 36e15acc7f63c5b1ff35e42b0312bddceecac091 Mon Sep 17 00:00:00 2001 From: Didier Fabert Date: Wed, 27 Apr 2016 15:01:08 +0200 Subject: [PATCH 44/81] New upstream version. Remove deprecated comments on spec file and avoid bogus date (2005, 04 07). --- tripwire.spec | 23 +++++++---------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/tripwire.spec b/tripwire.spec index 160563f..9e53884 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -2,7 +2,7 @@ %define path_to_sendmail /usr/sbin/sendmail Name: tripwire -Version: 2.4.3.0 +Version: 2.4.3.1 Release: 10%{?dist} Summary: IDS (Intrusion Detection System) @@ -17,13 +17,12 @@ Source5: tripwire-setup-keyfiles.in Source6: twpol.txt.in Source7: README.Fedora.in Source9: License-Issues -URL: http://www.tripwire.org/ +URL: https://github.com/Tripwire/%{name}-open-source/ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: openssl-devel Requires(post): sed -Patch0: tripwire-narrowing.patch %description Tripwire is a very valuable security tool for Linux systems, if it is @@ -48,23 +47,12 @@ altered. %{__cp} -p %{SOURCE2} . %{__cp} -p %{SOURCE3} . -%patch0 -p2 -b .narrowing - %build %{__chmod} 755 configure # RPM_OPT_FLAGS break the code (deadlock). # export CXXFLAGS="-O -Wall -pipe -g" %configure --sysconfdir=%{_sysconfdir}/tripwire path_to_vi=%{path_to_vi} path_to_sendmail=%{path_to_sendmail} -# ./configure -q \ -# path_to_vi=%{path_to_vi} \ -# path_to_sendmail=%{path_to_sendmail} \ -# --prefix=/ \ -# --sysconfdir=%{_sysconfdir}/tripwire \ -# --sbindir=%{_sbindir} \ -# --libdir=%{_var}/lib \ -# --mandir=%{_mandir} - %{__make} %{?_smp_mflags} %install @@ -148,7 +136,10 @@ done %changelog -* Sat Apr 16 2016 Didier Fabert - 2.4.3.0 +* Sat Apr 23 2016 Didier Fabert - 2.4.3.1-1 +- update to 2.4.3.1 + +* Sat Apr 16 2016 Didier Fabert - 2.4.3.0-1 - update to 2.4.3.0 - switch upstream from sourceforge to github (official sources) - Patch to avoid narrowing errors @@ -250,7 +241,7 @@ done * Tue Aug 22 2006 Brandon Holbrook 2.4.0.1-1.2 - Updated to 2.4.0.1 -* Fri Apr 7 2005 Michael Schwendt +* Thu Apr 7 2005 Michael Schwendt - rebuilt * Tue Jun 15 2004 Keith G. Robertson-Turner 0:2.3.1-20.fdr.1 From 38c783ea574efc1374a2433adcf31d26a0119f29 Mon Sep 17 00:00:00 2001 From: Didier Fabert Date: Wed, 27 Apr 2016 15:02:46 +0200 Subject: [PATCH 45/81] New upstream version --- .gitignore | 1 + sources | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 45c8a8f..a89e3c1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ tripwire-2.4.1.2-src.tar.bz2 /tripwire-2.4.2.2-src.tar.bz2 /2.4.3.0.tar.gz +/2.4.3.1.tar.gz diff --git a/sources b/sources index 4d1d7f9..3df1f10 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -c826349cf592ac9d582b0618f4dd57b0 2.4.3.0.tar.gz +36c7f1beb5431db870506d5604c0d060 2.4.3.1.tar.gz From b395444f887a0787a1795b8b08a87968259c299f Mon Sep 17 00:00:00 2001 From: Didier Fabert Date: Thu, 2 Feb 2017 19:51:28 +0100 Subject: [PATCH 46/81] Update to 2.4.3.2. Fix #830999 --- .gitignore | 1 + sources | 2 +- tripwire.cron.in | 11 ++++++++--- tripwire.spec | 11 +++++++---- 4 files changed, 17 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index a89e3c1..04401d7 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ tripwire-2.4.1.2-src.tar.bz2 /tripwire-2.4.2.2-src.tar.bz2 /2.4.3.0.tar.gz /2.4.3.1.tar.gz +/2.4.3.2.tar.gz diff --git a/sources b/sources index 3df1f10..42a0f04 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -36c7f1beb5431db870506d5604c0d060 2.4.3.1.tar.gz +SHA512 (2.4.3.2.tar.gz) = f3a3d5f12178d0766356d6280b3d993c29c1091357402661f0a4bb7676c640a147b74050c64e910c1210adef11903bde463813446e2c0ee9a34038876928bdfd diff --git a/tripwire.cron.in b/tripwire.cron.in index d951ec1..93ab779 100644 --- a/tripwire.cron.in +++ b/tripwire.cron.in @@ -2,7 +2,12 @@ HOST_NAME=`uname -n` if [ ! -e @vardir@/lib/tripwire/${HOST_NAME}.twd ] ; then echo "**** Error: Tripwire database for ${HOST_NAME} not found. ****" - echo "**** Run "@sysconfdir@/tripwire/twinstall.sh" and/or "tripwire --init". ****" -else - test -f @sysconfdir@/tripwire/tw.cfg && @sbindir@/tripwire --check + echo "**** Run \"@sysconfdir@/tripwire/twinstall.sh\" and/or \"tripwire --init\". ****" +elif [ -f @sysconfdir@/tripwire/tw.cfg ]; then + # if GLOBALEMAIL is configured, use it rather than cron mail + if [ -n "`@sbindir@/twadmin -m f | sed -n 's/^GLOBALEMAIL *=//p'`" ]; then + @sbindir@/tripwire --check --email-report --silent --no-tty-output + else + @sbindir@/tripwire --check + fi fi diff --git a/tripwire.spec b/tripwire.spec index 9e53884..f095232 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -2,15 +2,14 @@ %define path_to_sendmail /usr/sbin/sendmail Name: tripwire -Version: 2.4.3.1 -Release: 10%{?dist} +Version: 2.4.3.2 +Release: 1%{?dist} Summary: IDS (Intrusion Detection System) License: GPLv2+ Group: Applications/System Source0: https://github.com/Tripwire/%{name}-open-source/archive/%{version}.tar.gz Source1: tripwire.cron.in -Source2: config.guess Source3: tripwire.gif Source4: twcfg.txt.in Source5: tripwire-setup-keyfiles.in @@ -44,7 +43,6 @@ altered. %prep %setup -q -n %{name}-open-source-%{version} -%{__cp} -p %{SOURCE2} . %{__cp} -p %{SOURCE3} . %build @@ -136,6 +134,11 @@ done %changelog +* Thu Feb 02 2017 Didier Fabert - 2.4.3.2-1 +- update to 2.4.3.2 +- Remove personal config.guess +- Fix https://bugzilla.redhat.com/show_bug.cgi?id=830999 + * Sat Apr 23 2016 Didier Fabert - 2.4.3.1-1 - update to 2.4.3.1 From 159d9ec371b23a92bcdef663f907ac4f298871d7 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 11 Feb 2017 16:20:42 +0000 Subject: [PATCH 47/81] - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild --- tripwire.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index f095232..55173e0 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,7 +3,7 @@ Name: tripwire Version: 2.4.3.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: IDS (Intrusion Detection System) License: GPLv2+ @@ -134,6 +134,9 @@ done %changelog +* Sat Feb 11 2017 Fedora Release Engineering - 2.4.3.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + * Thu Feb 02 2017 Didier Fabert - 2.4.3.2-1 - update to 2.4.3.2 - Remove personal config.guess From 5cd0e8cac8f0c147f2a24880a4a2cfe7c23a2219 Mon Sep 17 00:00:00 2001 From: Didier Fabert Date: Wed, 15 Feb 2017 10:00:20 +0100 Subject: [PATCH 48/81] Fix #1421468 and remove executable perm on cpp files --- tripwire.spec | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tripwire.spec b/tripwire.spec index 55173e0..53bcec4 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,7 +3,7 @@ Name: tripwire Version: 2.4.3.2 -Release: 2%{?dist} +Release: 3%{?dist} Summary: IDS (Intrusion Detection System) License: GPLv2+ @@ -44,6 +44,7 @@ altered. %prep %setup -q -n %{name}-open-source-%{version} %{__cp} -p %{SOURCE3} . +chmod -x src/db/hierdatabase.cpp src/core/codeconvert.cpp %build %{__chmod} 755 configure @@ -120,7 +121,6 @@ done %files -%defattr(0644,root,root,0755) %doc ChangeLog COMMERCIAL COPYING TRADEMARK tripwire.gif %doc README.Fedora policy/policyguide.txt License-Issues %attr(0700,root,root) %dir %{_sysconfdir}/tripwire @@ -134,6 +134,10 @@ done %changelog +* Tue Feb 14 2017 Didier Fabert - 2.4.3.2-3 +- Fix #1421468 by removing defattr macro in files section +- Remove executable permission on 2 cpp files. + * Sat Feb 11 2017 Fedora Release Engineering - 2.4.3.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild From 1718aeabcb063677e263554ccd9277643a6ed6eb Mon Sep 17 00:00:00 2001 From: Didier Fabert Date: Sat, 4 Mar 2017 14:38:24 +0100 Subject: [PATCH 49/81] update to 2.4.3.3 --- .gitignore | 1 + sources | 2 +- tripwire.spec | 50 +++++++++++++++++++++++++------------------------- 3 files changed, 27 insertions(+), 26 deletions(-) diff --git a/.gitignore b/.gitignore index 04401d7..f0b5e0b 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ tripwire-2.4.1.2-src.tar.bz2 /2.4.3.0.tar.gz /2.4.3.1.tar.gz /2.4.3.2.tar.gz +/2.4.3.3.tar.gz diff --git a/sources b/sources index 42a0f04..0af3010 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (2.4.3.2.tar.gz) = f3a3d5f12178d0766356d6280b3d993c29c1091357402661f0a4bb7676c640a147b74050c64e910c1210adef11903bde463813446e2c0ee9a34038876928bdfd +SHA512 (2.4.3.3.tar.gz) = 977895aa169a13e786f3428386a094a56d52bf0fdc4853ac8664f0d6110774f0ff2ce4db9d5f76c52299744faa680dc03201567a458c033b2cd01df1191b96cb diff --git a/tripwire.spec b/tripwire.spec index 53bcec4..79a431b 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -2,8 +2,8 @@ %define path_to_sendmail /usr/sbin/sendmail Name: tripwire -Version: 2.4.3.2 -Release: 3%{?dist} +Version: 2.4.3.3 +Release: 1%{?dist} Summary: IDS (Intrusion Detection System) License: GPLv2+ @@ -44,31 +44,29 @@ altered. %prep %setup -q -n %{name}-open-source-%{version} %{__cp} -p %{SOURCE3} . -chmod -x src/db/hierdatabase.cpp src/core/codeconvert.cpp %build -%{__chmod} 755 configure -# RPM_OPT_FLAGS break the code (deadlock). -# export CXXFLAGS="-O -Wall -pipe -g" -%configure --sysconfdir=%{_sysconfdir}/tripwire path_to_vi=%{path_to_vi} path_to_sendmail=%{path_to_sendmail} +%configure --sysconfdir=%{_sysconfdir}/tripwire \ + path_to_vi=%{path_to_vi} \ + path_to_sendmail=%{path_to_sendmail} %{__make} %{?_smp_mflags} %install -%{__rm} -fr ${RPM_BUILD_ROOT} +%{__rm} -fr %{buildroot} # Install the binaries. -%{__mkdir_p} ${RPM_BUILD_ROOT}%{_sbindir} -%{__install} -p -m755 bin/siggen ${RPM_BUILD_ROOT}%{_sbindir} -%{__install} -p -m755 bin/tripwire ${RPM_BUILD_ROOT}%{_sbindir} -%{__install} -p -m755 bin/twadmin ${RPM_BUILD_ROOT}%{_sbindir} -%{__install} -p -m755 bin/twprint ${RPM_BUILD_ROOT}%{_sbindir} +%{__mkdir_p} %{buildroot}%{_sbindir} +%{__install} -p -m755 bin/siggen %{buildroot}%{_sbindir} +%{__install} -p -m755 bin/tripwire %{buildroot}%{_sbindir} +%{__install} -p -m755 bin/twadmin %{buildroot}%{_sbindir} +%{__install} -p -m755 bin/twprint %{buildroot}%{_sbindir} # Install the man pages. -%{__mkdir_p} ${RPM_BUILD_ROOT}%{_mandir}/{man4,man5,man8} -%{__install} -p -m644 man/man4/*.4 ${RPM_BUILD_ROOT}%{_mandir}/man4/ -%{__install} -p -m644 man/man5/*.5 ${RPM_BUILD_ROOT}%{_mandir}/man5/ -%{__install} -p -m644 man/man8/*.8 ${RPM_BUILD_ROOT}%{_mandir}/man8/ +%{__mkdir_p} %{buildroot}%{_mandir}/{man4,man5,man8} +%{__install} -p -m644 man/man4/*.4 %{buildroot}%{_mandir}/man4/ +%{__install} -p -m644 man/man5/*.5 %{buildroot}%{_mandir}/man5/ +%{__install} -p -m644 man/man8/*.8 %{buildroot}%{_mandir}/man8/ # Create configuration files from templates. %{__rm} -fr _tmpcfg @@ -87,22 +85,22 @@ done %{__mv} _tmpcfg/{tripwire-setup-keyfiles,README.Fedora} . # Create the reports directory. -%{__install} -d -m700 ${RPM_BUILD_ROOT}%{_var}/lib/tripwire/report +%{__install} -d -m700 %{buildroot}%{_var}/lib/tripwire/report # Install the cron job. -%{__install} -d -m755 ${RPM_BUILD_ROOT}%{_sysconfdir}/cron.daily +%{__install} -d -m755 %{buildroot}%{_sysconfdir}/cron.daily %{__install} -p -m755 _tmpcfg/tripwire.cron \ - ${RPM_BUILD_ROOT}%{_sysconfdir}/cron.daily/tripwire-check + %{buildroot}%{_sysconfdir}/cron.daily/tripwire-check %{__rm} _tmpcfg/tripwire.cron # Install configuration files. -%{__mkdir_p} ${RPM_BUILD_ROOT}%{_sysconfdir}/tripwire +%{__mkdir_p} %{buildroot}%{_sysconfdir}/tripwire for file in _tmpcfg/* ; do - %{__install} -p -m644 ${file} ${RPM_BUILD_ROOT}%{_sysconfdir}/tripwire + %{__install} -p -m644 ${file} %{buildroot}%{_sysconfdir}/tripwire done # Install the keyfile setup script -%{__install} -p -m755 tripwire-setup-keyfiles ${RPM_BUILD_ROOT}%{_sbindir} +%{__install} -p -m755 tripwire-setup-keyfiles %{buildroot}%{_sbindir} # Fix permissions on documentation files. %{__cp} -p %{SOURCE9} . @@ -110,9 +108,8 @@ done ChangeLog COMMERCIAL COPYING TRADEMARK tripwire.gif \ README.Fedora policy/policyguide.txt License-Issues - %clean -%{__rm} -rf ${RPM_BUILD_ROOT} +%{__rm} -rf %{buildroot} %post @@ -134,6 +131,9 @@ done %changelog +* Sat Mar 04 2017 Didier Fabert - 2.4.3.3-1 +- update to 2.4.3.3 + * Tue Feb 14 2017 Didier Fabert - 2.4.3.2-3 - Fix #1421468 by removing defattr macro in files section - Remove executable permission on 2 cpp files. From 1aaea8fb76716491d4025143d807e2bd1c6cd3d6 Mon Sep 17 00:00:00 2001 From: Didier Fabert Date: Fri, 10 Mar 2017 14:51:58 +0100 Subject: [PATCH 50/81] Update to 2.4.3.4. Fix #1429542 --- .gitignore | 1 + sources | 2 +- tripwire.cron.in | 2 +- tripwire.spec | 8 ++++++-- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index f0b5e0b..22458e7 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ tripwire-2.4.1.2-src.tar.bz2 /2.4.3.1.tar.gz /2.4.3.2.tar.gz /2.4.3.3.tar.gz +/tripwire-open-source-2.4.3.4.tar.gz diff --git a/sources b/sources index 0af3010..1337f15 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (2.4.3.3.tar.gz) = 977895aa169a13e786f3428386a094a56d52bf0fdc4853ac8664f0d6110774f0ff2ce4db9d5f76c52299744faa680dc03201567a458c033b2cd01df1191b96cb +SHA512 (tripwire-open-source-2.4.3.4.tar.gz) = ff47443c1c0c0248808e51df65f07aa2cbcc1d0901cc1a65830db78a1e7c4aa62c82e45827cadb1ab70281a2d4194ee3c4007050652efef9e328a98bc36f2995 diff --git a/tripwire.cron.in b/tripwire.cron.in index 93ab779..b8c1c8f 100644 --- a/tripwire.cron.in +++ b/tripwire.cron.in @@ -5,7 +5,7 @@ if [ ! -e @vardir@/lib/tripwire/${HOST_NAME}.twd ] ; then echo "**** Run \"@sysconfdir@/tripwire/twinstall.sh\" and/or \"tripwire --init\". ****" elif [ -f @sysconfdir@/tripwire/tw.cfg ]; then # if GLOBALEMAIL is configured, use it rather than cron mail - if [ -n "`@sbindir@/twadmin -m f | sed -n 's/^GLOBALEMAIL *=//p'`" ]; then + if [ -n "`@sbindir@/twadmin -m f | sed -n 's/^GLOBALEMAIL\W*=//p'`" ]; then @sbindir@/tripwire --check --email-report --silent --no-tty-output else @sbindir@/tripwire --check diff --git a/tripwire.spec b/tripwire.spec index 79a431b..a51ac4a 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -2,13 +2,13 @@ %define path_to_sendmail /usr/sbin/sendmail Name: tripwire -Version: 2.4.3.3 +Version: 2.4.3.4 Release: 1%{?dist} Summary: IDS (Intrusion Detection System) License: GPLv2+ Group: Applications/System -Source0: https://github.com/Tripwire/%{name}-open-source/archive/%{version}.tar.gz +Source0: https://github.com/Tripwire/%{name}-open-source/archive/%{name}-open-source-%{version}.tar.gz Source1: tripwire.cron.in Source3: tripwire.gif Source4: twcfg.txt.in @@ -131,6 +131,10 @@ done %changelog +* Fri Mar 10 2017 Didier Fabert - 2.4.3.4-1 +- update to 2.4.3.4 +- Fix https://bugzilla.redhat.com/show_bug.cgi?id=1429542 + * Sat Mar 04 2017 Didier Fabert - 2.4.3.3-1 - update to 2.4.3.3 From e26478d33e9b464ce1ba6d1a47ed75e44a5fbdf1 Mon Sep 17 00:00:00 2001 From: Didier Fabert Date: Thu, 6 Apr 2017 12:34:21 +0200 Subject: [PATCH 51/81] update to 2.4.3.5 --- .gitignore | 1 + sources | 2 +- tripwire.spec | 8 ++++++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 22458e7..ff83f62 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ tripwire-2.4.1.2-src.tar.bz2 /2.4.3.2.tar.gz /2.4.3.3.tar.gz /tripwire-open-source-2.4.3.4.tar.gz +/tripwire-open-source-2.4.3.5.tar.gz diff --git a/sources b/sources index 1337f15..03f63fa 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (tripwire-open-source-2.4.3.4.tar.gz) = ff47443c1c0c0248808e51df65f07aa2cbcc1d0901cc1a65830db78a1e7c4aa62c82e45827cadb1ab70281a2d4194ee3c4007050652efef9e328a98bc36f2995 +SHA512 (tripwire-open-source-2.4.3.5.tar.gz) = 7aef0e7d38f4b6966a806a4e556636c7b2477f4ea5451e89f1749c1535a489c2f490ea13898edff5d7786acf572f77d04430115b8ddd4c6a03c38382feb45269 diff --git a/tripwire.spec b/tripwire.spec index a51ac4a..e5b446b 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -2,13 +2,13 @@ %define path_to_sendmail /usr/sbin/sendmail Name: tripwire -Version: 2.4.3.4 +Version: 2.4.3.5 Release: 1%{?dist} Summary: IDS (Intrusion Detection System) License: GPLv2+ Group: Applications/System -Source0: https://github.com/Tripwire/%{name}-open-source/archive/%{name}-open-source-%{version}.tar.gz +Source0: https://github.com/Tripwire/%{name}-open-source/releases/download/%{version}/%{name}-open-source-%{version}.tar.gz Source1: tripwire.cron.in Source3: tripwire.gif Source4: twcfg.txt.in @@ -131,9 +131,13 @@ done %changelog +* Thu Apr 06 2017 Didier Fabert - 2.4.3.5-1 +- update to 2.4.3.5 + * Fri Mar 10 2017 Didier Fabert - 2.4.3.4-1 - update to 2.4.3.4 - Fix https://bugzilla.redhat.com/show_bug.cgi?id=1429542 +- Fix https://bugzilla.redhat.com/show_bug.cgi?id=1435181 * Sat Mar 04 2017 Didier Fabert - 2.4.3.3-1 - update to 2.4.3.3 From fa0785c585bbb2b40e80286754ca858b458b9bb3 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 27 Jul 2017 20:37:34 +0000 Subject: [PATCH 52/81] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild --- tripwire.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index e5b446b..4d5afa7 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,7 +3,7 @@ Name: tripwire Version: 2.4.3.5 -Release: 1%{?dist} +Release: 2%{?dist} Summary: IDS (Intrusion Detection System) License: GPLv2+ @@ -131,6 +131,9 @@ done %changelog +* Thu Jul 27 2017 Fedora Release Engineering - 2.4.3.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + * Thu Apr 06 2017 Didier Fabert - 2.4.3.5-1 - update to 2.4.3.5 From d308404fe3bb6b5089a7675358af5c5c0d7147e2 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 3 Aug 2017 09:36:33 +0000 Subject: [PATCH 53/81] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild --- tripwire.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index 4d5afa7..ac21dfa 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,7 +3,7 @@ Name: tripwire Version: 2.4.3.5 -Release: 2%{?dist} +Release: 3%{?dist} Summary: IDS (Intrusion Detection System) License: GPLv2+ @@ -131,6 +131,9 @@ done %changelog +* Thu Aug 03 2017 Fedora Release Engineering - 2.4.3.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + * Thu Jul 27 2017 Fedora Release Engineering - 2.4.3.5-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild From 883f716d6782b20d1a442f163b59e1b6b2597a24 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 9 Feb 2018 19:28:43 +0000 Subject: [PATCH 54/81] - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- tripwire.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index ac21dfa..6c5da65 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,7 +3,7 @@ Name: tripwire Version: 2.4.3.5 -Release: 3%{?dist} +Release: 4%{?dist} Summary: IDS (Intrusion Detection System) License: GPLv2+ @@ -131,6 +131,9 @@ done %changelog +* Fri Feb 09 2018 Fedora Release Engineering - 2.4.3.5-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + * Thu Aug 03 2017 Fedora Release Engineering - 2.4.3.5-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild From 546c3fcd8009d90049820a16d5462527984e6637 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Wed, 14 Feb 2018 00:45:24 +0100 Subject: [PATCH 55/81] Remove BuildRoot definition None of currently supported distributions need that. It was needed last for EL5 which is EOL now Signed-off-by: Igor Gnatenko --- tripwire.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index 6c5da65..361a2e6 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -17,7 +17,6 @@ Source6: twpol.txt.in Source7: README.Fedora.in Source9: License-Issues URL: https://github.com/Tripwire/%{name}-open-source/ -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: openssl-devel Requires(post): sed From 049966724f646ad13effb9e0b29857812df47af5 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Wed, 14 Feb 2018 09:13:41 +0100 Subject: [PATCH 56/81] Remove %clean section None of currently supported distributions need that. Last one was EL5 which is EOL for a while. Signed-off-by: Igor Gnatenko --- tripwire.spec | 3 --- 1 file changed, 3 deletions(-) diff --git a/tripwire.spec b/tripwire.spec index 361a2e6..da9c616 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -107,9 +107,6 @@ done ChangeLog COMMERCIAL COPYING TRADEMARK tripwire.gif \ README.Fedora policy/policyguide.txt License-Issues -%clean -%{__rm} -rf %{buildroot} - %post # Set the real hostname in twpol.txt From 80f8c2c34d27919c68219d9ea6407a5c56cca6a0 Mon Sep 17 00:00:00 2001 From: Didier Fabert Date: Fri, 20 Apr 2018 16:25:58 +0200 Subject: [PATCH 57/81] Update to 2.4.3.7 --- .gitignore | 1 + sources | 2 +- tripwire.spec | 10 ++++++++-- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index ff83f62..8fa6276 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ tripwire-2.4.1.2-src.tar.bz2 /2.4.3.3.tar.gz /tripwire-open-source-2.4.3.4.tar.gz /tripwire-open-source-2.4.3.5.tar.gz +/tripwire-open-source-2.4.3.7.tar.gz diff --git a/sources b/sources index 03f63fa..c3dbb47 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (tripwire-open-source-2.4.3.5.tar.gz) = 7aef0e7d38f4b6966a806a4e556636c7b2477f4ea5451e89f1749c1535a489c2f490ea13898edff5d7786acf572f77d04430115b8ddd4c6a03c38382feb45269 +SHA512 (tripwire-open-source-2.4.3.7.tar.gz) = 541138f4a4c3a4227f31de6607503d305f0d893bdd5d24928d619d3a25bb8fe7061a45c041992ace957b976b834b5f4212b5c727eee1cbc76ddb2e2c52aeafbd diff --git a/tripwire.spec b/tripwire.spec index da9c616..7e0f266 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -2,8 +2,8 @@ %define path_to_sendmail /usr/sbin/sendmail Name: tripwire -Version: 2.4.3.5 -Release: 4%{?dist} +Version: 2.4.3.7 +Release: 1%{?dist} Summary: IDS (Intrusion Detection System) License: GPLv2+ @@ -127,9 +127,15 @@ done %changelog +* Thu Apr 19 2018 Didier Fabert - 2.4.3.7-1 +- update to 2.4.3.7 + * Fri Feb 09 2018 Fedora Release Engineering - 2.4.3.5-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild +* Wed Oct 04 2017 Didier Fabert - 2.4.3.6-1 +- update to 2.4.3.6 + * Thu Aug 03 2017 Fedora Release Engineering - 2.4.3.5-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild From 5419019e98229e4d9d3bb57409cae3ac2db51fb1 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Mon, 9 Jul 2018 19:06:52 +0200 Subject: [PATCH 58/81] add BuildRequires: gcc Reference: https://fedoraproject.org/wiki/Changes/Remove_GCC_from_BuildRoot --- tripwire.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/tripwire.spec b/tripwire.spec index 7e0f266..ff62dd4 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -18,6 +18,7 @@ Source7: README.Fedora.in Source9: License-Issues URL: https://github.com/Tripwire/%{name}-open-source/ +BuildRequires: gcc BuildRequires: openssl-devel Requires(post): sed From 7c2c6f734bf299d852bf3c35b567f6e5c2b9609a Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 14 Jul 2018 07:53:50 +0000 Subject: [PATCH 59/81] - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- tripwire.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index ff62dd4..b935833 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,7 +3,7 @@ Name: tripwire Version: 2.4.3.7 -Release: 1%{?dist} +Release: 2%{?dist} Summary: IDS (Intrusion Detection System) License: GPLv2+ @@ -128,6 +128,9 @@ done %changelog +* Sat Jul 14 2018 Fedora Release Engineering - 2.4.3.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + * Thu Apr 19 2018 Didier Fabert - 2.4.3.7-1 - update to 2.4.3.7 From 6075ad53bdbc1ba66514b7eab451fffe82d78e4e Mon Sep 17 00:00:00 2001 From: Didier Fabert Date: Sat, 21 Jul 2018 12:16:45 +0200 Subject: [PATCH 60/81] Fix BZ #1606572 --- tripwire.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index b935833..850bf80 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,7 +3,7 @@ Name: tripwire Version: 2.4.3.7 -Release: 2%{?dist} +Release: 3%{?dist} Summary: IDS (Intrusion Detection System) License: GPLv2+ @@ -19,6 +19,7 @@ Source9: License-Issues URL: https://github.com/Tripwire/%{name}-open-source/ BuildRequires: gcc +BuildRequires: gcc-c++ BuildRequires: openssl-devel Requires(post): sed @@ -128,6 +129,9 @@ done %changelog +* Thu Jul 21 2018 Didier Fabert - 2.4.3.7-3 +- Fix https://bugzilla.redhat.com/show_bug.cgi?id=1606572 + * Sat Jul 14 2018 Fedora Release Engineering - 2.4.3.7-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild From 52a4874401112f834f414868d3ca49cb9ed3370b Mon Sep 17 00:00:00 2001 From: Didier Fabert Date: Sat, 21 Jul 2018 14:47:11 +0200 Subject: [PATCH 61/81] Fix date changelog only --- tripwire.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index 850bf80..5914dd1 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -129,7 +129,7 @@ done %changelog -* Thu Jul 21 2018 Didier Fabert - 2.4.3.7-3 +* Sat Jul 21 2018 Didier Fabert - 2.4.3.7-3 - Fix https://bugzilla.redhat.com/show_bug.cgi?id=1606572 * Sat Jul 14 2018 Fedora Release Engineering - 2.4.3.7-2 From 32ce44cf3b1d06915b011775f74fbbe914c394f1 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Mon, 28 Jan 2019 20:18:28 +0100 Subject: [PATCH 62/81] Remove obsolete Group tag References: https://fedoraproject.org/wiki/Changes/Remove_Group_Tag --- tripwire.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index 5914dd1..d73ef6e 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -7,7 +7,6 @@ Release: 3%{?dist} Summary: IDS (Intrusion Detection System) License: GPLv2+ -Group: Applications/System Source0: https://github.com/Tripwire/%{name}-open-source/releases/download/%{version}/%{name}-open-source-%{version}.tar.gz Source1: tripwire.cron.in Source3: tripwire.gif From 8667e1ddc55fff49846ef03217c5df7006a0bdbc Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sun, 3 Feb 2019 10:19:14 +0000 Subject: [PATCH 63/81] - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- tripwire.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index d73ef6e..a259253 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,7 +3,7 @@ Name: tripwire Version: 2.4.3.7 -Release: 3%{?dist} +Release: 4%{?dist} Summary: IDS (Intrusion Detection System) License: GPLv2+ @@ -128,6 +128,9 @@ done %changelog +* Sun Feb 03 2019 Fedora Release Engineering - 2.4.3.7-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + * Sat Jul 21 2018 Didier Fabert - 2.4.3.7-3 - Fix https://bugzilla.redhat.com/show_bug.cgi?id=1606572 From 47a9d6b6c617c48421b7dfdcd327a5c25af21185 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 27 Jul 2019 01:56:46 +0000 Subject: [PATCH 64/81] - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- tripwire.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index a259253..a8d3b51 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,7 +3,7 @@ Name: tripwire Version: 2.4.3.7 -Release: 4%{?dist} +Release: 5%{?dist} Summary: IDS (Intrusion Detection System) License: GPLv2+ @@ -128,6 +128,9 @@ done %changelog +* Sat Jul 27 2019 Fedora Release Engineering - 2.4.3.7-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + * Sun Feb 03 2019 Fedora Release Engineering - 2.4.3.7-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild From b808e77902e2200ed6f807fdbbb25e00cb414ef0 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 31 Jan 2020 02:04:12 +0000 Subject: [PATCH 65/81] - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- tripwire.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index a8d3b51..0c77203 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,7 +3,7 @@ Name: tripwire Version: 2.4.3.7 -Release: 5%{?dist} +Release: 6%{?dist} Summary: IDS (Intrusion Detection System) License: GPLv2+ @@ -128,6 +128,9 @@ done %changelog +* Fri Jan 31 2020 Fedora Release Engineering - 2.4.3.7-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + * Sat Jul 27 2019 Fedora Release Engineering - 2.4.3.7-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild From fcf13c82e33ab3a019fef7e9b70d7a943383714a Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 29 Jul 2020 12:52:59 +0000 Subject: [PATCH 66/81] - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- tripwire.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index 0c77203..80b031e 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,7 +3,7 @@ Name: tripwire Version: 2.4.3.7 -Release: 6%{?dist} +Release: 7%{?dist} Summary: IDS (Intrusion Detection System) License: GPLv2+ @@ -128,6 +128,9 @@ done %changelog +* Wed Jul 29 2020 Fedora Release Engineering - 2.4.3.7-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + * Fri Jan 31 2020 Fedora Release Engineering - 2.4.3.7-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild From 6ad91ff730566fabab479306584781036e57c266 Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Tue, 18 Aug 2020 14:25:16 -0600 Subject: [PATCH 67/81] Force C++14 as this code is not C++17 ready --- tripwire.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index 80b031e..a0f5d31 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,7 +3,7 @@ Name: tripwire Version: 2.4.3.7 -Release: 7%{?dist} +Release: 8%{?dist} Summary: IDS (Intrusion Detection System) License: GPLv2+ @@ -46,6 +46,7 @@ altered. %{__cp} -p %{SOURCE3} . %build +export CXXFLAGS="-std=c++14 $RPM_OPT_FLAGS" %configure --sysconfdir=%{_sysconfdir}/tripwire \ path_to_vi=%{path_to_vi} \ path_to_sendmail=%{path_to_sendmail} @@ -128,6 +129,9 @@ done %changelog +* Tue Aug 18 2020 Jeff Law - 2.4.3.7-8 +- Force C++14 as this code is not C++17 ready + * Wed Jul 29 2020 Fedora Release Engineering - 2.4.3.7-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild From c9138d1c713d3ef30931b7027925a8d26ec17c49 Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Fri, 8 Jan 2021 22:49:20 +0000 Subject: [PATCH 68/81] Add BuildRequires: make https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot --- tripwire.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/tripwire.spec b/tripwire.spec index a0f5d31..aaf467b 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -17,6 +17,7 @@ Source7: README.Fedora.in Source9: License-Issues URL: https://github.com/Tripwire/%{name}-open-source/ +BuildRequires: make BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: openssl-devel From bd1557a3d98051a8fe3fe6c23ce58b3ffa24e993 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 27 Jan 2021 22:17:57 +0000 Subject: [PATCH 69/81] - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- tripwire.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index aaf467b..c680f18 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,7 +3,7 @@ Name: tripwire Version: 2.4.3.7 -Release: 8%{?dist} +Release: 9%{?dist} Summary: IDS (Intrusion Detection System) License: GPLv2+ @@ -130,6 +130,9 @@ done %changelog +* Wed Jan 27 2021 Fedora Release Engineering - 2.4.3.7-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + * Tue Aug 18 2020 Jeff Law - 2.4.3.7-8 - Force C++14 as this code is not C++17 ready From 980cda43618ed46de65c7d2ebc2cc90e527fc59d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 23 Jul 2021 19:38:14 +0000 Subject: [PATCH 70/81] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- tripwire.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index c680f18..20b715e 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,7 +3,7 @@ Name: tripwire Version: 2.4.3.7 -Release: 9%{?dist} +Release: 10%{?dist} Summary: IDS (Intrusion Detection System) License: GPLv2+ @@ -130,6 +130,9 @@ done %changelog +* Fri Jul 23 2021 Fedora Release Engineering - 2.4.3.7-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + * Wed Jan 27 2021 Fedora Release Engineering - 2.4.3.7-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild From e0baf69ab5cb144edcd3e9212861e48a3c296a2b Mon Sep 17 00:00:00 2001 From: Sahana Prasad Date: Tue, 14 Sep 2021 19:17:03 +0200 Subject: [PATCH 71/81] Rebuilt with OpenSSL 3.0.0 --- tripwire.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index 20b715e..7c0b704 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,7 +3,7 @@ Name: tripwire Version: 2.4.3.7 -Release: 10%{?dist} +Release: 11%{?dist} Summary: IDS (Intrusion Detection System) License: GPLv2+ @@ -130,6 +130,9 @@ done %changelog +* Tue Sep 14 2021 Sahana Prasad - 2.4.3.7-11 +- Rebuilt with OpenSSL 3.0.0 + * Fri Jul 23 2021 Fedora Release Engineering - 2.4.3.7-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild From cc03da5ec4dcf9f67c287f46b5a31029026358f7 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 22 Jan 2022 03:05:49 +0000 Subject: [PATCH 72/81] - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- tripwire.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index 7c0b704..099d4d9 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,7 +3,7 @@ Name: tripwire Version: 2.4.3.7 -Release: 11%{?dist} +Release: 12%{?dist} Summary: IDS (Intrusion Detection System) License: GPLv2+ @@ -130,6 +130,9 @@ done %changelog +* Sat Jan 22 2022 Fedora Release Engineering - 2.4.3.7-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + * Tue Sep 14 2021 Sahana Prasad - 2.4.3.7-11 - Rebuilt with OpenSSL 3.0.0 From 2b106026cf16d17b974ffffbfc76ca8f8ccc9c3e Mon Sep 17 00:00:00 2001 From: Troy Dawson Date: Mon, 31 Jan 2022 17:43:55 -0800 Subject: [PATCH 73/81] epel8-playground decommissioned : https://pagure.io/epel/issue/136 --- .cvsignore | 0 Makefile | 21 --------------------- dead.package | 1 + sources | 0 4 files changed, 1 insertion(+), 21 deletions(-) delete mode 100644 .cvsignore delete mode 100644 Makefile create mode 100644 dead.package delete mode 100644 sources diff --git a/.cvsignore b/.cvsignore deleted file mode 100644 index e69de29..0000000 diff --git a/Makefile b/Makefile deleted file mode 100644 index 0b147ad..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: tripwire -# $Id$ -NAME := tripwire -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Rootx && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/dead.package b/dead.package new file mode 100644 index 0000000..a72aec0 --- /dev/null +++ b/dead.package @@ -0,0 +1 @@ +epel8-playground decommissioned : https://pagure.io/epel/issue/136 diff --git a/sources b/sources deleted file mode 100644 index e69de29..0000000 From d64668ba9dc4b61a20d56238d82aa2a5d57fca90 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 23 Jul 2022 10:53:35 +0000 Subject: [PATCH 74/81] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- tripwire.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index 099d4d9..58a9ee0 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,7 +3,7 @@ Name: tripwire Version: 2.4.3.7 -Release: 12%{?dist} +Release: 13%{?dist} Summary: IDS (Intrusion Detection System) License: GPLv2+ @@ -130,6 +130,9 @@ done %changelog +* Sat Jul 23 2022 Fedora Release Engineering - 2.4.3.7-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Sat Jan 22 2022 Fedora Release Engineering - 2.4.3.7-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild From dab1bfc998ba6fcb84fc61e91a46ac6fe8c4d980 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 21 Jan 2023 05:27:17 +0000 Subject: [PATCH 75/81] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- tripwire.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index 58a9ee0..1c7bcd4 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,7 +3,7 @@ Name: tripwire Version: 2.4.3.7 -Release: 13%{?dist} +Release: 14%{?dist} Summary: IDS (Intrusion Detection System) License: GPLv2+ @@ -130,6 +130,9 @@ done %changelog +* Sat Jan 21 2023 Fedora Release Engineering - 2.4.3.7-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Sat Jul 23 2022 Fedora Release Engineering - 2.4.3.7-13 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild From 98f6a24bf1c4cca150b3692f9c08f921faa5dc7e Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 22 Jul 2023 16:45:48 +0000 Subject: [PATCH 76/81] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- tripwire.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index 1c7bcd4..a154185 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,7 +3,7 @@ Name: tripwire Version: 2.4.3.7 -Release: 14%{?dist} +Release: 15%{?dist} Summary: IDS (Intrusion Detection System) License: GPLv2+ @@ -130,6 +130,9 @@ done %changelog +* Sat Jul 22 2023 Fedora Release Engineering - 2.4.3.7-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Sat Jan 21 2023 Fedora Release Engineering - 2.4.3.7-14 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild From 21a20aee545f4b9ab9322c687baeacb5193d83f9 Mon Sep 17 00:00:00 2001 From: Didier Fabert Date: Sat, 4 Nov 2023 19:42:11 +0100 Subject: [PATCH 77/81] Migrated to SPDX license --- tripwire.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tripwire.spec b/tripwire.spec index a154185..e7d4378 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,10 +3,10 @@ Name: tripwire Version: 2.4.3.7 -Release: 15%{?dist} +Release: 16%{?dist} Summary: IDS (Intrusion Detection System) -License: GPLv2+ +License: GPL-2.0-or-later Source0: https://github.com/Tripwire/%{name}-open-source/releases/download/%{version}/%{name}-open-source-%{version}.tar.gz Source1: tripwire.cron.in Source3: tripwire.gif @@ -130,6 +130,9 @@ done %changelog +* Sat Nov 04 2023 Didier Fabert - 2.4.3.7-16 +- migrated to SPDX license + * Sat Jul 22 2023 Fedora Release Engineering - 2.4.3.7-15 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild From e20ed093630d9e12bff4d8c7ca51f09ad75fba8f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 27 Jan 2024 06:44:06 +0000 Subject: [PATCH 78/81] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- tripwire.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index e7d4378..99aca41 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,7 +3,7 @@ Name: tripwire Version: 2.4.3.7 -Release: 16%{?dist} +Release: 17%{?dist} Summary: IDS (Intrusion Detection System) License: GPL-2.0-or-later @@ -130,6 +130,9 @@ done %changelog +* Sat Jan 27 2024 Fedora Release Engineering - 2.4.3.7-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Sat Nov 04 2023 Didier Fabert - 2.4.3.7-16 - migrated to SPDX license From 6607b840e0cc8e01722ab80de27f7f5bdc568e32 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 20 Jul 2024 07:53:43 +0000 Subject: [PATCH 79/81] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- tripwire.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index 99aca41..eb1a5cf 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,7 +3,7 @@ Name: tripwire Version: 2.4.3.7 -Release: 17%{?dist} +Release: 18%{?dist} Summary: IDS (Intrusion Detection System) License: GPL-2.0-or-later @@ -130,6 +130,9 @@ done %changelog +* Sat Jul 20 2024 Fedora Release Engineering - 2.4.3.7-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Sat Jan 27 2024 Fedora Release Engineering - 2.4.3.7-17 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From f18e06e85e164217accfb1972a0331f200845035 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sun, 19 Jan 2025 13:19:50 +0000 Subject: [PATCH 80/81] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- tripwire.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index eb1a5cf..378f729 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,7 +3,7 @@ Name: tripwire Version: 2.4.3.7 -Release: 18%{?dist} +Release: 19%{?dist} Summary: IDS (Intrusion Detection System) License: GPL-2.0-or-later @@ -130,6 +130,9 @@ done %changelog +* Sun Jan 19 2025 Fedora Release Engineering - 2.4.3.7-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + * Sat Jul 20 2024 Fedora Release Engineering - 2.4.3.7-18 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From c4e91971b99e7b527809adb3fe2a005e6fea96cd Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 25 Jul 2025 19:34:47 +0000 Subject: [PATCH 81/81] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild --- tripwire.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tripwire.spec b/tripwire.spec index 378f729..9e928c9 100644 --- a/tripwire.spec +++ b/tripwire.spec @@ -3,7 +3,7 @@ Name: tripwire Version: 2.4.3.7 -Release: 19%{?dist} +Release: 20%{?dist} Summary: IDS (Intrusion Detection System) License: GPL-2.0-or-later @@ -130,6 +130,9 @@ done %changelog +* Fri Jul 25 2025 Fedora Release Engineering - 2.4.3.7-20 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + * Sun Jan 19 2025 Fedora Release Engineering - 2.4.3.7-19 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild